Swapped some "$var type" to "type $var" or added missing types
before the $var. Changed some other types to match the more common
spelling. Makes beginning of some text in captial.
Change-Id: I7a4dec6a8de96ee21ef34e52bb755f723aa3b0e6
* Fixed inappropriate use of empty(), see style guide
* Made uc() and lc() respect the $first parameter. Not doing this completely broke the Turkish wikipedia, sending links like [[İngilizce]] to [[İngİlİzce]].
* Use str_replace() instead of preg_replace(). It's not necessary to use a unicode-aware replacement algorithm to do UTF-8 string replacements, due to details of the UTF-8 encoding format. I'm not sure how Hashar concluded that strtr() will produce garbage.
Methods were introduced in r84057 which, unfortunatly was tested with
PHP errors disabled :\
Additionally add tests for the full Turkish alphabet based on an article
from Wikipedia http://en.wikipedia.org/wiki/Turkish_alphabet
As mentioned by Bawolff on code review, r83970 only handled case change
of the first character lacking full strings support.
This patch override the uc and lc methods for the Turkish language (tr)
using preg_replace() which know about unicode. Other possible choices
would have been:
- strtr() => outputs garbage
- mbstring => can not know we handle turkish and transform i to I!
I have amended the RELEASE-NOTES to reflect this patch.
Some new tests are added as well to cover the regular functions as
well as the specific Turkish overriding. Result in testdox:
LanguageTr
[x] Change case of first char being dotted and dotless i
[x] Language tr lower casing override
[x] Language tr upper casing override
[x] Upper casing of a string with dotted and dot less i
[x] Lower casing of a string with dotted and dot less i
Turkish has two different i, one with a dot and another without a dot. They
are totally different letters in this language, so we have to override the
ucfirst and lcfirst methods.
See http://en.wikipedia.org/wiki/Dotted_and_dotless_I
Credits to #wikipedia-tr users berm, []LuCkY[] and Emperyan
Doxygen documentation update:
* Changed alls @addtogroup to @ingroup. @addtogroup adds the comment to the group description, but doesn't add the file, class, function, ... to the group like @ingroup does. See for example http://svn.wikimedia.org/doc/group__SpecialPage.html where it's impossible to see related files, classes, ... that should belong to that group.
* Added @file to file description, it seems that it should be explicitely decalred for file descriptions, otherwise doxygen will think that the comment document the first class, variabled, function, ... that is in that file.
* Removed some empty comments
* Removed some ?>
Added following groups:
* ExternalStorage
* JobQueue
* MaintenanceLanguage
One more thing: there are still a lot of warnings when generating the doc.