Table of locales

From MoodleDocs

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 undefined undefined
undefined Bulgarian undefined undefined undefined
undefined Catalan undefined undefined undefined
undefined Chinese (Simplified) undefined undefined undefined
undefined Chinese (Traditional undefined undefined undefined
undefined Czech undefined undefined undefined
undefined Danish undefined undefined undefined
undefined Dutch undefined undefined undefined
undefined English undefined undefined undefined
undefined English (US) undefined undefined undefined
undefined Estonian undefined undefined undefined
undefined Farsi undefined undefined undefined
undefined Filipino undefined undefined undefined
undefined Finnish undefined undefined undefined
undefined French undefined undefined undefined
undefined French (Canada) undefined undefined undefined
undefined Gaelic undefined undefined undefined
undefined Gallego undefined undefined undefined
undefined Georgian undefined undefined undefined
undefined German undefined undefined undefined
undefined German (Personal) undefined undefined undefined
undefined Greek undefined undefined undefined
undefined Hebrew undefined undefined undefined
undefined Hindi undefined undefined undefined
undefined Hungarian undefined undefined undefined
undefined Indonesian undefined undefined undefined
undefined Italian undefined undefined undefined
undefined Japanese undefined undefined undefined
undefined Kannada undefined undefined undefined
undefined Khmer undefined undefined undefined
undefined Korean undefined undefined undefined
undefined Lithuanian undefined undefined undefined
undefined Latvian undefined undefined undefined
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