Add locale renames for Hebrew and Indonesian on Windows

Windows does not fully respect ISO 639-1 like other systems,
so we have to override its locale values for those languages.

Also added comments to document the locale provenance.

(cherry picked from commit 0c7bed45c4)
This commit is contained in:
Rémi Verschelde 2018-02-14 18:49:27 +01:00 committed by Hein-Pieter van Braam
parent 2f87e7ffe9
commit 57f707f951
1 changed files with 18 additions and 1 deletions

View File

@ -34,6 +34,14 @@
#include "os/os.h" #include "os/os.h"
#include "project_settings.h" #include "project_settings.h"
// ISO 639-1 language codes, with the addition of glibc locales with their
// regional identifiers. This list must match the language names (in English)
// of locale_names.
//
// References:
// - https://en.wikipedia.org/wiki/List_of_ISO_639-1_codes
// - https://lh.2xlibre.net/locales/
static const char *locale_list[] = { static const char *locale_list[] = {
"aa", // Afar "aa", // Afar
"aa_DJ", // Afar (Djibouti) "aa_DJ", // Afar (Djibouti)
@ -756,8 +764,17 @@ static const char *locale_names[] = {
0 0
}; };
// Windows has some weird locale identifiers which do not honor the ISO 639-1
// standardized nomenclature. Whenever those don't conflict with existing ISO
// identifiers, we override them.
//
// Reference:
// - https://msdn.microsoft.com/en-us/library/windows/desktop/ms693062(v=vs.85).aspx
static const char *locale_renames[][2] = { static const char *locale_renames[][2] = {
{ "no", "nb" }, { "in", "id" }, // Indonesian
{ "iw", "he" }, // Hebrew
{ "no", "nb" }, // Norwegian Bokmål
{ NULL, NULL } { NULL, NULL }
}; };