Last modified: 2013-01-30 12:38:16 UTC
Split from bug 31490. Our Turkish language class lacks proper implementation of lc() and uc() for that language. It uses a dotted i and a dotless i, which mean that I and i are actually different letter in that language! An implementation was deployed on wmf wiki for 1.18 but it was reverted by r99289 & r99290. The reason is that it broke magic words and related parser functions (i.e. {{#lcfirst}}) on the turkish wikis. The MediaWiki code handling magic words normalize then to lower case using the content language (look for lc() calls in MagicWord class). Hence a magic word such as lcfirst is treated just like a turkish word and end up upper cased with a dotted i. Two possibilities: - magic words could optionally be made an array referencing the language. Then we could use that language thus using the proper lc / uc implementations - for turkish language, forge magic words aliases having dotted or dot less i. i.e. 'ucfirst' (with dot) could have an alias UCFIRST (without dot). Both would then be valid. Optionally, parser functions could use a parameter to change the language being used. This would let Turkish project to use the English lc / uc function, for example to upper case iPhone to IPhone (dotless i).
*** Bug 33299 has been marked as a duplicate of this bug. ***
*** Bug 32707 has been marked as a duplicate of this bug. ***
*** Bug 40012 has been marked as a duplicate of this bug. ***
This is still an ongoing issue though I am not working in it myself.
The issue about the system messages at TR projects is quite annoying (see Bug 40012), so it'd be fantastic if it could be worked out.