View Issue Details

IDProjectCategoryView StatusLast Update
0001124Main CAcert Websitemy accountpublic2013-09-04 20:59
ReporterWerner Dworak Assigned To 
Status closedResolutionfixed 
Product Version2012 Q4 
Target Version2013 Q2Fixed in Version2013 Q2 
Summary0001124: Selection of additional languages, sorting is somewhat strange
DescriptionWhen at with "Secondary languages:" I open the list of languages, the sorting scheme is somewhat perplexing. The entries are in the form "Country - Language" but are sorted for the language. It would be better to have the entries in the form "Language - Country" and sorted for language. Additionally inside the language, the countries seem to be sorted for the country code. It would be better to sort for the country name.

For example for "Deutsch" I find the series Österreich, Schweiz, Deutschland, Liechtenstein, Luxemburg with the codes AT, CH, DE, LI, LU.

Can we do that? How big is the effort?
TagsNo tags attached.
Reviewed byNEOatNHNG, BenBE
Test Instructions


related to 0001093 closed Language settings are wrong coded and show therefor sometimes blank information 



2012-12-15 08:47

updater   ~0003434

pushed fix to


2012-12-18 23:06

updater   ~0003467

The secondary language is listed in the order language - country in English alphabetical order.
=> ok

Werner Dworak

2012-12-21 15:22

updater   ~0003541

No, Marcus, I have to dissent. It is _NOT_ the English alphabetical order but the country code order. For English you have

Australia, Canada, United Kingdom, Ireland, New Zealand, United states, South Africa

which is clearly _NOT_ the alphabetical order of the (English) country names, but probably the country codes

AU, CD, GB, IR, NZ, US, ZA?.

More obvious it is for Deutsch. There you have

Österreich, Schweiz, Deutschland, Liechtenstein, Luxemburg,

which corresponds to AT, CH, DE, LI, LU while the English names

Austria, Swiss, Germany, Liechtenstein, Luxembourg for sure are not in the alphabetical order.

So the problem is only half solved. Ok, I could live with it, at least for English and Deutsch. But for Español the list is much longer and less well to overview. But at least it is better than before.


2013-02-19 22:11

administrator   ~0003758

Second review OK. Needs some more testing.


2013-02-19 22:47

updater   ~0003761

Last edited: 2013-02-19 23:01

login to testaccount

My Details
 + Default Language

my preferred language shows current setting: English

list displays
Chinese or Japanese
Portugues Brasileiro
Chinese? Japanese?
Chinese? Japanese?
(wrong section ...)

Logged out
list as above
(wrong section ...)


displaytext -> ISO-code (language) ?

once again, now correct section:

My Details
 | Default Language
 + Additional Language Preferences <=====

Deutsch - Österreich
Deutsch - Schweiz
Deutsch - Deutschland
Deutsch - Lichtenstein
Deutsch - Luxemburg

other sections same problem - unordered
order by local is invisible
-> order by language, country instead of local


2013-03-12 21:25

updater   ~0003808

Last edited: 2013-03-12 21:26

from Software-Assessment project telco 2013-02-19
   * proposed: language, country
   * 2013-02-19 needs new patch
problem still persists


2013-03-12 21:30

updater   ~0003809

[de-AT] German (Austria)

ordered by locale.


2013-03-12 21:31

updater   ~0003810

login with test account

sort is now by locale

<option value='ca_ES'>català - Espanya</option>
<option value='cs_CZ'>čeština - Česká republika</option>
<option value='da_DK'>dansk - Danmark</option>
<option value='de_AT'>Deutsch - Österreich</option>


2013-03-13 08:06

updater   ~0003816

Updated format string and small code change to make the code more readable. Proposal included now available on testserver for testing.

Werner Dworak

2013-03-13 11:12

updater   ~0003817

Last edited: 2013-03-13 12:33

The last patch did a lot badly worse.

In the life system, Umlauts and the like are ok and Greek, Cyrillic, Arabian and other alphabets are correctly displayed.

But on the test system the contents breaks the window, so I cannot see the down arrow to open the window.

Foreign alphabets are displayed like [ru_RU] & # 1088 ; & # 1091 ; & # 1089; ...

and non-ASCII letter are diplayed like
[de_AT] Deutsch (& Ouml ; sterreich)
[hr_SP] rom & acirc ; n & # 259 ; (Srbija)

Besides that I cannot see any alphabetical order. The locales come in the series [be_BY], [bg_BG], [ru_RU], [sr_SP], [uk_UA], [he_IL], [iw_IL], [zh_CN], [zh_TW], [zh_SG], [zh_HK], [ja_JP], [cs_CZ], [th_TH], [ko_KR], [ar_SY], ... [ar_BH], [fa_IR], [el_GR], [is_IS], [in_ID], [no_NO], [ca_ES], [da_DK], [de_AT], [de_DE], [de_LI], [de_LU], [de_CH], [et_EE], [en_AU], [en_CA], [en_IE], [en_NZ], [en_ZA], [en_GB], [en_US], [es_LA], [es_AR], [es_BO] ...

All in all very strange.


2013-03-13 15:30

updater   ~0003818

I suspected as much and already expectted things breaking like this. The order should be language/country due to the fact I forget to revert one patch (otherwise it should be much more visible as locale). Regarding the Umlauts and other non-ASCII: I hate when people put non-RAW data into the database. Simply stripping the extra sanatizeHTML on the output side should fix this - will include this in my patch.


2013-03-13 17:38

updater   ~0003819

Should be better now. Issue as expected was duplicate escaping. Ordering now by locale. Please retest.


2013-03-13 17:50

updater   ~0003820

despite the fact, the sort order isn't intuitive, the addtl. [xx-XX] makes them ordered .... :)

<option value="el_GR">[el_GR] ελληνικά (Ελλάδα)</option>

makes no sense in my language, but with [el_GR] in front of the table
its visible and understandable the new sort order :)

<option value="ar_AA">[ar_AA] ﺔﻴﺐﺮﻌﻠﺍ (ﺔﻴﺐﺮﻌﻠﺍ)</option>
<option value="ar_BH">[ar_BH] ﺔﻴﺐﺮﻌﻠﺍ (ﻦﻴﺮﺤﺐﻠﺍ)</option>
<option value="ar_DZ">[ar_DZ] ﺔﻴﺐﺮﻌﻠﺍ (ﺮﺌﺎﺰﺠﻠﺍ)</option>
<option value="ar_EG">[ar_EG] ﺔﻴﺐﺮﻌﻠﺍ (ﺮﺼﻣ)</option>
<option value="ar_JO">[ar_JO] ﺔﻴﺐﺮﻌﻠﺍ (ﻦﺪﺮﺄﻠﺍ)</option>
<option value="ar_KW">[ar_KW] ﺔﻴﺐﺮﻌﻠﺍ (ﺖﻴﻮﻜﻠﺍ)</option>
<option value="ar_LB">[ar_LB] ﺔﻴﺐﺮﻌﻠﺍ (ﻦﺎﻨﺐﻟ)</option>
<option value="ar_MA">[ar_MA] ﺔﻴﺐﺮﻌﻠﺍ (ﺔﻴﺐﺮﻐﻤﻠﺍ ﺔﻜﻠﻤﻤﻠﺍ)</option>
<option value="ar_OM">[ar_OM] ﺔﻴﺐﺮﻌﻠﺍ (ﻦﺎﻤﻋ)</option>
<option value="ar_QA">[ar_QA] ﺔﻴﺐﺮﻌﻠﺍ (ﺮﻄﻗ)</option>
<option value="ar_SA">[ar_SA] ﺔﻴﺐﺮﻌﻠﺍ (ﺔﻴﺪﻮﻌﺴﻠﺍ ﺔﻴﺐﺮﻌﻠﺍ ﺔﻜﻠﻤﻤﻠﺍ)</option>
<option value="ar_SY">[ar_SY] ﺔﻴﺐﺮﻌﻠﺍ (ﺎﻴﺮﻮﺳ)</option>
<option value="ar_TN">[ar_TN] ﺔﻴﺐﺮﻌﻠﺍ (ﺲﻨﻮﺗ)</option>
<option value="ar_UA">[ar_UA] ﺔﻴﺐﺮﻌﻠﺍ (ﺔﺪﺤﺘﻤﻠﺍ ﺔﻴﺐﺮﻌﻠﺍ ﺖﺎﺮﺎﻤﺈﻠﺍ)</option>
<option value="ar_YE">[ar_YE] ﺔﻴﺐﺮﻌﻠﺍ (ﻦﻤﻴﻠﺍ)</option>
<option value="be_BY">[be_BY] беларуски (Беларусь)</option>
<option value="bg_BG">[bg_BG] български (България)</option>
<option value="ca_ES">[ca_ES] català (Espanya)</option>
<option value="cs_CZ">[cs_CZ] čeština (Česká republika)</option>
<option value="da_DK">[da_DK] dansk (Danmark)</option>
<option value="de_AT">[de_AT] Deutsch (Österreich)</option>
<option value="de_CH">[de_CH] Deutsch (Schweiz)</option>
<option value="de_DE">[de_DE] Deutsch (Deutschland)</option>
<option value="de_LI">[de_LI] Deutsch (Liechtenstein)</option>
<option value="de_LU">[de_LU] Deutsch (Luxemburg)</option>
<option value="el_GR">[el_GR] ελληνικά (Ελλάδα)</option>
<option value="en_AU">[en_AU] English (Australia)</option>
<option value="en_CA">[en_CA] English (Canada)</option>
<option value="en_GB">[en_GB] English (United Kingdom)</option>
<option value="en_IE">[en_IE] English (Ireland)</option>
<option value="en_NZ">[en_NZ] English (New Zealand)</option>
<option value="en_US">[en_US] English (United States)</option>
<option value="en_ZA">[en_ZA] English (South Africa)</option>
<option value="es_AR">[es_AR] Español (Argentina)</option>
<option value="es_BO">[es_BO] Español (Bolivia)</option>
<option value="es_CL">[es_CL] Español (Chile)</option>
<option value="es_CO">[es_CO] Español (Colombia)</option>
<option value="es_CR">[es_CR] Español (Costa Rica)</option>
<option value="es_DO">[es_DO] Español (República Dominicana)</option>
<option value="es_EC">[es_EC] Español (Ecuador)</option>
<option value="es_ES">[es_ES] Español (España)</option>
<option value="es_GT">[es_GT] Español (Guatemala)</option>
<option value="es_HN">[es_HN] Español (Honduras)</option>
<option value="es_LA">[es_LA] Español (América latina)</option>
<option value="es_MX">[es_MX] Español (México)</option>
<option value="es_NI">[es_NI] Español (Nicarágua)</option>
<option value="es_PA">[es_PA] Español (Panamá)</option>
<option value="es_PE">[es_PE] Español (Perú)</option>
<option value="es_PY">[es_PY] Español (Paraguay)</option>
<option value="es_SV">[es_SV] Español (El Salvador)</option>
<option value="es_US">[es_US] Español (Estados Unidos)</option>
<option value="es_UY">[es_UY] Español (Uruguay)</option>
<option value="es_VE">[es_VE] Español (Venezuela)</option>
<option value="et_EE">[et_EE] eesti (Eesti)</option>
<option value="eu_ES">[eu_ES] Euskara (Espainia)</option>
<option value="fa_IR">[fa_IR] ﻰﺴﺮﺎﻓ (Iran)</option>
<option value="fi_FI">[fi_FI] suomi (Suomi)</option>
<option value="fr_BE">[fr_BE] français (Belgique)</option>
<option value="fr_CA">[fr_CA] français (Canada)</option>
<option value="fr_CH">[fr_CH] français (Suisse)</option>
<option value="fr_FR">[fr_FR] français (France)</option>
<option value="fr_LU">[fr_LU] français (Luxembourg)</option>
<option value="he_IL">[he_IL] תירבע (לארשי)</option>
<option value="hr_HR">[hr_HR] hrvatski (Hrvatska)</option>
<option value="hr_SP">[hr_SP] română (Srbija)</option>
<option value="hu_HU">[hu_HU] magyar (Magyarország)</option>
<option value="in_ID">[in_ID] Bahasa Indonesia (Indonesia)</option>
<option value="is_IS">[is_IS] íslenska (Ísland)</option>
<option value="it_CH">[it_CH] italiano (Svizzera)</option>
<option value="it_IT">[it_IT] italiano (Italia)</option>
<option value="iw_IL">[iw_IL] תירבע (לארשי)</option>
<option value="ja_JP">[ja_JP] 日本語 (日本)</option>
<option value="ko_KR">[ko_KR] 한국어 (대한민국)</option>
<option value="lt_LT">[lt_LT] lietuvių (Lietuva)</option>
<option value="lv_LV">[lv_LV] latviešu (Latvija)</option>
<option value="mk_MK">[mk_MK] Macedonian (FYR Macedonia)</option>
<option value="nl_BE">[nl_BE] Nederlands (België)</option>
<option value="nl_NL">[nl_NL] Nederlands (Nederland)</option>
<option value="no_NO">[no_NO] bokmål (Norge)</option>
<option value="pl_PL">[pl_PL] polski (Polska)</option>
<option value="pt_BR">[pt_BR] Português (Brasil)</option>
<option value="pt_PT">[pt_PT] português (Portugal)</option>
<option value="ro_RO">[ro_RO] română (România)</option>
<option value="ru_RU">[ru_RU] русский (Россия)</option>
<option value="sh_BA">[sh_BA] Serbo-Croatian (Bosnia Herzogovina)</option>
<option value="sk_SK">[sk_SK] slovenčina (Slovenská republika)</option>
<option value="sl_SI">[sl_SI] slovenski (Slovenija)</option>
<option value="sq_AL">[sq_AL] shqipe (Shqipëria)</option>
<option value="sr_SP">[sr_SP] српски (Југославија)</option>
<option value="sv_FI">[sv_FI] svenska (Finland)</option>
<option value="sv_SE">[sv_SE] svenska (Sverige)</option>
<option value="th_TH">[th_TH] ไทย (ไทย)</option>
<option value="tr_TR">[tr_TR] Türkçe (Türkiye)</option>
<option value="uk_UA">[uk_UA] україньска (Україна)</option>
<option value="vi_VN">[vi_VN] Tiểng Việt (Việt Nam)</option>
<option value="zh_CN">[zh_CN] 中文 (中华人民共和国)</option>
<option value="zh_HK">[zh_HK] 中文 (香港)</option>
<option value="zh_SG">[zh_SG] 中文 (新加坡)</option>
<option value="zh_TW">[zh_TW] 中文 (中華民國)</option>

=> ok

one thing, that makes it "uncomfortable" is the "foreign" languages conversation. Whenever I've seen a language selection its displayed in raw text format english names for countries, or a subselection for eg european countries (dependend on the source country, that presents the website, eg french if its a french website, english if its an english website)

Werner Dworak

2013-03-14 16:30

updater   ~0003822

For me everything looks correct and sensible now. By the prefix like [de_AT] the sort order is understandable.

@Uli: In ancient Greek the Ε of Ελλάς has an accent, so it is spoken Hellas and not Ellas, but it seems that in modern Greek this accent is missing. So you find Greek at [el_GR]. Look at


2013-03-16 14:52

updater   ~0003823

If we follow the suggestion from Uli we need to change the database, adjust the database entries as well as do changes on pages/wot/9.php and pages/account/41.php


2013-03-16 14:54

updater   ~0003824

The test of the secondary language dropdown show the desired display e.g.
[be_BY] беларуски (Беларусь)
=> ok


2013-05-07 23:12

administrator   ~0003984

Second review OK.


2013-05-13 19:23

updater   ~0003990

Transferred to critical.


2013-05-14 09:43

developer   ~0003998

The patch has been installed on the production server on May 14, 2013. See also:

Issue History

Date Modified Username Field Change
2012-12-14 14:31 Werner Dworak New Issue
2012-12-15 08:47 INOPIAE Note Added: 0003434
2012-12-15 08:47 INOPIAE Assigned To => BenBE
2012-12-15 08:47 INOPIAE Status new => fix available
2012-12-15 14:22 INOPIAE Relationship added related to 0001093
2012-12-18 22:38 BenBE Reviewed by => BenBE
2012-12-18 22:38 BenBE Assigned To BenBE => NEOatNHNG
2012-12-18 22:38 BenBE Status fix available => needs review & testing
2012-12-18 23:06 INOPIAE Note Added: 0003467
2012-12-21 15:22 Werner Dworak Note Added: 0003541
2013-01-15 23:17 BenBE Source_changeset_attached => cacert-devel testserver-stable dd38005b
2013-01-15 23:17 INOPIAE Source_changeset_attached => cacert-devel testserver-stable da058f16
2013-02-19 22:11 NEOatNHNG Reviewed by BenBE => NEOatNHNG, BenBE
2013-02-19 22:11 NEOatNHNG Note Added: 0003758
2013-02-19 22:11 NEOatNHNG Status needs review & testing => needs testing
2013-02-19 22:47 Uli60 Note Added: 0003761
2013-02-19 22:51 Uli60 Note Edited: 0003761
2013-02-19 22:59 Uli60 Note Edited: 0003761
2013-02-19 23:01 Uli60 Note Edited: 0003761
2013-03-12 21:25 Uli60 Note Added: 0003808
2013-03-12 21:26 Uli60 Note Edited: 0003808
2013-03-12 21:30 BenBE Note Added: 0003809
2013-03-12 21:30 BenBE Status needs testing => needs work
2013-03-12 21:30 BenBE Reviewed by NEOatNHNG, BenBE =>
2013-03-12 21:31 MartinGummi Note Added: 0003810
2013-03-13 08:05 BenBE Source_changeset_attached => cacert-devel testserver-stable 7c5a5b63
2013-03-13 08:05 BenBE Source_changeset_attached => cacert-devel testserver-stable e876e93e
2013-03-13 08:05 INOPIAE Source_changeset_attached => cacert-devel testserver-stable 47f72a7c
2013-03-13 08:05 INOPIAE Source_changeset_attached => cacert-devel testserver-stable 1b2ceade
2013-03-13 08:06 BenBE Note Added: 0003816
2013-03-13 08:06 BenBE Reviewed by => BenBE
2013-03-13 08:06 BenBE Status needs work => needs review & testing
2013-03-13 08:06 BenBE Product Version => 2012 Q4
2013-03-13 11:12 Werner Dworak Note Added: 0003817
2013-03-13 12:33 Werner Dworak Note Edited: 0003817
2013-03-13 15:30 BenBE Note Added: 0003818
2013-03-13 17:35 BenBE Source_changeset_attached => cacert-devel testserver-stable a61b7098
2013-03-13 17:35 BenBE Source_changeset_attached => cacert-devel testserver-stable 3c4d3fa9
2013-03-13 17:38 BenBE Note Added: 0003819
2013-03-13 17:50 Uli60 Note Added: 0003820
2013-03-14 16:30 Werner Dworak Note Added: 0003822
2013-03-16 14:52 INOPIAE Note Added: 0003823
2013-03-16 14:54 INOPIAE Note Added: 0003824
2013-04-15 16:36 BenBE Status needs review & testing => needs review
2013-05-07 23:12 NEOatNHNG Reviewed by BenBE => NEOatNHNG, BenBE
2013-05-07 23:12 NEOatNHNG Note Added: 0003984
2013-05-07 23:12 NEOatNHNG Status needs review => ready to deploy
2013-05-13 19:23 BenBE Note Added: 0003990
2013-05-13 19:23 BenBE Target Version => 2013 Q2
2013-05-13 20:00 BenBE Source_changeset_attached => cacert-devel release c7e62bb5
2013-05-14 09:43 wytze Note Added: 0003998
2013-05-14 09:43 wytze Status ready to deploy => solved?
2013-05-14 09:43 wytze Fixed in Version => 2013 Q2
2013-05-14 09:43 wytze Resolution open => fixed
2013-09-04 20:59 INOPIAE Status solved? => closed
2013-09-04 20:59 INOPIAE Assigned To NEOatNHNG =>