Difference between revisions of "Table of locales"

Jump to: navigation, search
m (Updated nn_utf8 locale after mails with tormod)
Line 404: Line 404:
* More languages and codepages: http://code.cside.com/3rdpage/windows/
* More languages and codepages: http://code.cside.com/3rdpage/windows/
* Languages and locales: http://www.livio.net/main/charset.asp
* Languages and locales: http://www.livio.net/main/charset.asp
* Table of language identifiers: http://msdn.microsoft.com/library/default.asp?url=/library/en-us/intl/nls_238z.asp

Revision as of 06:15, 23 April 2006


Definition: (from Wikipedia) Locale is a set of parameters that defines the user's language, country and any special variant preferences that the user wants to see in their user interface. Usually a locale identifier consists of at least a language identifier and a region identifier.

Currently such locales are named differently under Unix-based and Win32-based platforms so we need to have them defined separately to allow Moodle to use them as necessary. For each lang package' available for Moodle, we must specify the locale value (Unix locale) and the localewin value (Win32 locale). Both those strings should be (no mandatory) defined inside each Moodle 1.6 and upwards langpack to be able to display locale strings properly.

The general syntax for locales is:


(with information under brackets being optional)

While the .charset part seems to work properly under Unix, it seems that is not working under Win32 (at least from PHP), and strings returned from some PHP functions aren't in the charset specified but in some sort of default charset. Let's call it localewincharset. This forces us to convert from this charset to the current_charset() being used by the user.


So, for each 1.6 Moodle language pack, we'll describe below this columns:

  • package_name: name of the language pack as showed in http://download.moodle.org/lang16/.
  • lang_name: name of the language as showed in http://download.moodle.org/lang16/.
  • locale: locale string to be used under Unix platforms. This will be stored in each language langconfig.php file.
  • localewin: locale string to be used under Win32 platforms. This will be stored in each language langconfig.php file.
  • localewincharset: charset in which PHP is retrieving information from locale-dependent functions (strftime...). This will allow us to convert such strings to the final charset properly. This will be stored in each language langconfig.php file.

package_name lang_name locale localewin localewincharset
af_utf8 Afrikaans en.UTF-8 Afrikaans.1252 WINDOWS-1252
sq_utf8 Albanian al.UTF-8 Albanian_Albania.1250 WINDOWS-1250
ar_utf8 Arabic en.UTF-8 Arabic.1256 WINDOWS-1256
eu_utf8 Basque eu.UTF-8 Basque_Spain.1252 WINDOWS-1252
be_utf8 Belarusian en.UTF-8 Belarusian_Belarus.1251 WINDOWS-1251
bs_utf8 Bosnian bs.UTF-8 Serbian (Latin) WINDOWS-1250
bg_utf8 Bulgarian en.UTF-8 Bulgarian_Bulgaria.1251 WINDOWS-1251
ca_utf8 Catalan ca_ES.UTF-8 Catalan_Spain.1252 WINDOWS-1252
zh_cn_utf8 Chinese (Simplified) zh_CN.UTF-8 Chinese_China.936 CP936
zh_tw_utf8 Chinese (Traditional zh_TW.UTF-8 Chinese_Taiwan.950 CP950
cs_utf8 Czech cs_CZ.UTF-8 Czech_Czech Republic.1250 WINDOWS-1250
da_utf8 Danish da_DK.UTF-8 Danish_Denmark.1252 WINDOWS-1252
nl_utf8 Dutch nl_NL.UTF-8 Dutch_Netherlands.1252 WINDOWS-1252
en_utf8 English en.UTF-8 English_Australia.1252 -empty string-
en_us_utf8 English (US) -parent en_utf8 used- -parent en_utf8 used- -parent en_utf8 used-
et_utf8 Estonian et_EE.UTF-8 Estonian_Estonia.1257 WINDOWS-1257
fa_utf8 Farsi en.UTF-8 Farsi_Iran.1256 WINDOWS-1256
fil_utf8 Filipino fil.UTF-8 Filipino_Philippines.1252 WINDOWS-1252
fi_utf8 Finnish fi_FI.UTF-8 Finnish_Finland.1252 WINDOWS-1252
fr_utf8 French fr_FR.UTF-8 French_France.1252 WINDOWS-1252
fr_ca_utf8 French (Canada) fr_CA.UTF-8 -parent fr_utf8 used- -parent fr_utf8 used-
ga_utf8 Gaelic ga.UTF-8 Gaelic; Scottish Gaelic WINDOWS-1252
gl_utf8 Gallego es_ES.UTF-8 Galician_Spain.1252 WINDOWS-1252
ka_utf8 Georgian ka_GE Georgian_Georgia.65001 -empty string-
de_utf8 German en.UTF-8 German_Germany.1252 WINDOWS-1252
de_du_utf8 German (Personal) de_DE.UTF-8 -parent de_utf8 used- -parent de_utf8 used-
el_utf8 Greek el.UTF-8 Greek_Greece.1253 WINDOWS-1253
he_utf8 Hebrew en.UTF-8 Hebrew_Israel.1255 WINDOWS-1255
hi_utf8 Hindi empty! Hindi.65001 -empty string-
hu_utf8 Hungarian hu.UTF-8 Hungarian_Hungary.1250 WINDOWS-1250
id_utf8 Indonesian id_ID.UTF-8 Indonesian_indonesia.1252 WINDOWS-1252
it_utf8 Italian it_IT.UTF-8 Italian_Italy.1252 WINDOWS-1252
ja_utf8 Japanese ja_JP.UTF-8 Japanese_Japan.932 CP932
kn_utf8 Kannada ಕನ್ನಡ Kannada.65001 -empty string-
km_utf8 Khmer អង់គ្លេស Khmer.65001 -empty string-
ko_utf8 Korean ko_KR.UTF-8 Korean_Korea.949 EUC-KR
lt_utf8 Lithuanian lt_LT.UTF-8 Lithuanian_Lithuania.1257 WINDOWS-1257
lv_utf8 Latvian lat.UTF-8 Latvian_Latvia.1257 WINDOWS-1257
ms_utf8 Malaysian id_ID.UTF-8 Indonesian_indonesia.1252 WINDOWS-1252
mi_tn_utf8 Maori (Ngai Tahu) en Maori.1252 WINDOWS-1252
no_utf8 Norwegian no_NO.UTF-8 Norwegian_Norway.1252 WINDOWS-1252
undefined Norwegian (Primary) no_NO.UTF-8 -parent no_utf8 used- -parent no_utf8 used-
nn_utf8 Nynorsk nn_NO.UTF-8 Norwegian-Nynorsk_Norway.1252 WINDOWS-1252
pl_utf8 Polish pl.UTF-8 Polish_Poland.1250 WINDOWS-1250
pt_utf8 Portuguese pt_PT.UTF-8 Portuguese_Portugal.1252 WINDOWS-1252
pt_br_utf8 Portuguese (Brazil) pt_BR.UTF-8 Portuguese_Brazil.1252 WINDOWS-1252
ro_utf8 Romanian ro_RO.UTF-8 Romanian_Romania.1250 WINDOWS-1250
ru_utf8 Russian ru_RU.UTF-8 Russian_Russia.1251 WINDOWS-1251
sr_utf8 Serbian sr Serbian (Cyrillic)_Serbia and Montenegro.1251 WINDOWS-1251
sk_utf8 Slovak sk_SK.UTF-8 Slovak_Slovakia.1250 WINDOWS-1250
sl_utf8 Slovenian en.UTF-8 Slovenian_Slovenia.1250 WINDOWS-1250
so_utf8 Somali en.UTF-8 not found! not found!
es_utf8 Spanish (International) es_ES.UTF-8 Spanish_Spain.1252 WINDOWS-1252
es_es_utf8 Spanish (Spain) es_ES.UTF-8 -parent es_utf8 used- -parent es_utf8 used-
sv_utf8 Swedish sv_SE.UTF-8 Swedish_Sweden.1252 WINDOWS-1252
tl_utf8 Tagalog tl.UTF-8 not found! not found!
th_utf8 Thai th Thai_Thailand.874 WINDOWS-874
tr_utf8 Turkish tr_TR.UTF-8 Turkish_Turkey.1254 WINDOWS-1254
uk_utf8 Ukrainian uk_UA.UTF-8 Ukrainian_Ukraine.1251 WINDOWS-1251
vi_utf8 Vietnamese en Vietnamese_Viet Nam.1258 WINDOWS-1258

Note: Some locales for windows in red could be incorrect (technically or geographically but they are the only way I've found to show dates properly in my XP box). Also some other coloured cells must be revised because they are not working.

Some references



Other Info