I did quite a bit of thinking on what you posted here, and some of it
quite fabulous. I still have a few questions:
- If you had to rename every message in MediaWiki, would you have
enforced a definite naming convention? Namespaced them?
Grammatical transformations for agglutinative
languages came a bit earlier.
I implemented them for Finnish, when I was told that it was absolutely
necessary if we wished to make our language files site-independent, i.e. to
remove the Wikipedia references. In Finnish, "about Wikipedia" becomes
"Tietoja Wikipediasta" and "you can upload it to Wikipedia" becomes
"Voit
tallentaa tiedoston Wikipediaan". Suffixes are added depending on how the
word is used, plus minor modifications to the base. There is a long list of
exceptions, but since we only needed to translate a few words, such as the
site name, we didn't need to include it.
We now have grammatical transformation functions for 18 languages. Some of
these are just dictionaries for Wikimedia site names, but many have proper
algorithms.
If they're just dictionaries, I wonder whether or not you couldn't have
had wfMsg("sitename-$form"), just like the nominative/genitive
distinction for month names? The current setup makes it difficult to add
your own name to the dictionaries without editing PHP files (not that, I
imagine, anyone would care).
There's also the MessageCache class, which handles
input of text via the
MediaWiki namespace.
The MediaWiki namespace is quite an innovation on your part, and
extremely convenient. However, that's out of the scope for my purposes.
Once again, thanks!