Voting starts in March for the Drupal Association Board election.
Langauge configuration is one of the strangest beasts in Drupal. We tell everybody you should not use t() on dynamic data, but the language system freely uses t($language->name) as it wishes. Woah! To make that kind of work, it specifically asks for the English name of the language, to mimic how t()-ed strings work. (The basis for using t() is that *most* languages will use a predefined name so they in some way come from code after all even though they are user configurable). Also, even worse is that languages ask for a native name too, which is basically a "cache" of t($language->name, array(), array('langcode' => $language->language). So we ask for the language name in two specific languages on one form!
You see this pattern nowhere else in Drupal. If you go to edit a contact form or a view, the title for the contact form/view will be asked in *your* admin language (and then translated from there by i18n_string). There is absolutely no reason for the language list to be exceptional here. People are repeatedly puzzled about why we ask for the English name and a native name for a language. Many sites who use this functionality don't even have any English support on the site, but they need to specify the language in English anyway. Scandal!
To clean this up, we should stop pretending we have a configuration translation system. We don't have one. We should lead by example and stop t()-ing user editable data (language name), ask for the language name simply in the configuration language and stop asking the user about the native name, which is to be retrieved from the translation system itself anyway.
We have a couple of patches ongoing that I'd prefer to not break, so marking this postponed on them:
|#21||kill-fake-locale-config-translation-21.patch||26.85 KB||Gábor Hojtsy|
PASSED: [[SimpleTest]]: [MySQL] 33,639 pass(es). View
|#18||kill-fake-locale-config-translation-18.patch||26.93 KB||Gábor Hojtsy|
PASSED: [[SimpleTest]]: [MySQL] 33,634 pass(es). View
|#16||kill-fake-locale-config-translation-16.patch||26.34 KB||Gábor Hojtsy|
PASSED: [[SimpleTest]]: [MySQL] 33,632 pass(es). View
|#13||kill-fake-locale-config-translation-13.patch||26.12 KB||Gábor Hojtsy|
PASSED: [[SimpleTest]]: [MySQL] 33,648 pass(es). View
|#11||kill-fake-locale-config-translation-11.patch||26.12 KB||Gábor Hojtsy|
PASSED: [[SimpleTest]]: [MySQL] 33,619 pass(es). View