Table of locales

Revision as of 10:48, 25 March 2006 by Eloy Lafuente (stronk7) (talk | contribs) (and more, and more....)

Jump to: navigation, search

Note: This page is a work-in-progress. Feedback and suggested improvements are welcome. Please join the discussion on moodle.org or use the page comments.



Introduction

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:

   language[_country][.charset]

(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.

Table

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
undefined Malaysian undefined undefined undefined
undefined Maori (Ngai Tahu) undefined undefined undefined
undefined Norwegian undefined undefined undefined
undefined Norwegian (Primary) undefined undefined undefined
undefined Nynorsk undefined undefined undefined
undefined Polish undefined undefined undefined
undefined Portuguese undefined undefined undefined
undefined Portuguese (Brazil) undefined undefined undefined
undefined Romanian undefined undefined undefined
undefined Russian undefined undefined undefined
undefined Serbian undefined undefined undefined
undefined Slovak undefined undefined undefined
undefined Slovenian undefined undefined undefined
undefined Somali undefined undefined undefined
undefined Spanish (International) undefined undefined undefined
undefined Spanish (Spain) undefined undefined undefined
undefined undefined undefined undefined undefined
undefined Swedish undefined undefined undefined
undefined Tagalog undefined undefined undefined
undefined Thai undefined undefined undefined
undefined Turkish undefined undefined undefined
undefined Ukrainian undefined undefined undefined
undefined Vietnamese undefined undefined undefined

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 (in other columns should be revised).

Some references

Windows

Unix

Other Info