Thread:User talk:CodeCat/Transliteration/reply

I think instead of "needs transliteration" it makes more sense to say "doesn't need". Any term that is written in a non-Latin script needs a transliteration, except for a few exceptions. So it's not-needing that is really the exception, and needing is the default. We may even be able to get away with another rule that says "if Latn is one of the language's scripts, it doesn't need a transliteration", but that assumption may be going too far, so it's just an idea we might consider sometime. For now, I think we can add support for the following two settings in Module:languages:


 * auto_translit_module = (name of the module that contains the tr function needed for generating transliterations in this language)
 * no_translit = true/false

There is one thing we haven't considered though. Languages that use more than one script will need separate transliteration functions and/or modules. Transliteration really works as a combination of language and script, so both need to be known in order to do it. How do we handle this in Module:languages? One possibility is to make auto_translit_module optionally a table (by default it's just a string), which would then map scripts to modules. So for Old Church Slavonic:


 * auto_translit_module = {["Cyrs"] = "Cyrs_translit", ["Glag"] = "Glag_translit"}