i18nlangtag/qa/cppunit/test_languagetag.cxx | 10 ++-- i18nlangtag/source/isolang/isolang.cxx | 54 +++++++++++++------------ i18nlangtag/source/isolang/mslangid.cxx | 4 + i18nlangtag/source/languagetag/languagetag.cxx | 2 include/i18nlangtag/lang.h | 22 +++++----- svtools/inc/langtab.hrc | 2 6 files changed, 52 insertions(+), 42 deletions(-)
New commits: commit 46131c5f8238bc3dca9a8d4eb097ad07f2d46fe0 Author: Eike Rathke <er...@redhat.com> AuthorDate: Fri Aug 6 21:29:48 2021 +0200 Commit: Eike Rathke <er...@redhat.com> CommitDate: Fri Aug 6 23:44:49 2021 +0200 Adapt LCIDs and language tags to [MS-LCID] rev.15 See https://docs.microsoft.com/en-us/openspecs/windows_protocols/ms-lcid/70feba9f-294e-491e-b6eb-56532684c37f https://winprotocoldoc.blob.core.windows.net/productionwindowsarchives/MS-LCID/%5bMS-LCID%5d-210625.pdf and commit 402dab839b2e451dec81bfb83dadbe0d5a231db2 CommitDate: Wed Aug 4 21:21:51 2021 +0200 update list of [MS-LCID] from 6/25/2021 15.0 rev. Change-Id: I44db2bfaf894ead119c7014e3770fc44be537148 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/120128 Reviewed-by: Eike Rathke <er...@redhat.com> Tested-by: Jenkins diff --git a/i18nlangtag/qa/cppunit/test_languagetag.cxx b/i18nlangtag/qa/cppunit/test_languagetag.cxx index 4fcc05785f2e..c3dfb151e14e 100644 --- a/i18nlangtag/qa/cppunit/test_languagetag.cxx +++ b/i18nlangtag/qa/cppunit/test_languagetag.cxx @@ -683,7 +683,8 @@ void TestLanguageTag::testAllTags() bool checkMapping( std::u16string_view rStr1, std::u16string_view rStr2 ) { - if (rStr1 == u"la-Latn" ) return rStr2 == u"la"; + if (rStr1 == u"la" ) return rStr2 == u"la-VA"; + if (rStr1 == u"la-Latn" ) return rStr2 == u"la-VA"; if (rStr1 == u"tzm-Latn-DZ" ) return rStr2 == u"kab-DZ"; if (rStr1 == u"bs-Latn-BA" ) return rStr2 == u"bs-BA"; if (rStr1 == u"bs-Latn" ) return rStr2 == u"bs"; @@ -705,7 +706,8 @@ bool checkMapping( std::u16string_view rStr1, std::u16string_view rStr2 ) if (rStr1 == u"ven-ZA" ) return rStr2 == u"ve-ZA"; if (rStr1 == u"qu-EC" ) return rStr2 == u"quz-EC"; if (rStr1 == u"qu-PE" ) return rStr2 == u"quz-PE"; - if (rStr1 == u"ff-NG" ) return rStr2 == u"fuv-NG"; + if (rStr1 == u"ff-Latn-NG" ) return rStr2 == u"ff-NG"; + if (rStr1 == u"fuv-NG" ) return rStr2 == u"ff-NG"; if (rStr1 == u"ji-IL" ) return rStr2 == u"yi-IL"; if (rStr1 == u"iu-CA" ) return rStr2 == u"iu-Latn-CA"; if (rStr1 == u"iu" ) return rStr2 == u"iu-Latn"; @@ -716,6 +718,7 @@ bool checkMapping( std::u16string_view rStr1, std::u16string_view rStr2 ) if (rStr1 == u"mg-MG" ) return rStr2 == u"plt-MG"; if (rStr1 == u"pli" ) return rStr2 == u"pi-Latn"; if (rStr1 == u"ks" ) return rStr2 == u"ks-Arab"; + if (rStr1 == u"ks-IN" ) return rStr2 == u"ks-Deva-IN"; if (rStr1 == u"chr-US" ) return rStr2 == u"chr-Cher-US"; if (rStr1 == u"sd-PK" ) return rStr2 == u"sd-Arab-PK"; if (rStr1 == u"sr-Cyrl-RS" ) return rStr2 == u"sr-RS"; @@ -760,8 +763,7 @@ void TestLanguageTag::testAllIsoLangEntries() LanguageTag aTagID( elem.mnLang); if (!checkMapping( elem.maBcp47, aTagString.getBcp47())) { - OString aMessage( OUStringToOString( elem.maBcp47, RTL_TEXTENCODING_ASCII_US) + " -> " + OUStringToOString( aTagString.getBcp47(), RTL_TEXTENCODING_ASCII_US) ); - CPPUNIT_ASSERT_EQUAL_MESSAGE( aMessage.getStr(), aTagString.getBcp47(), elem.maBcp47 ); + CPPUNIT_ASSERT_EQUAL_MESSAGE( "defined elem to tag", elem.maBcp47, aTagString.getBcp47() ); } if (elem.maBcp47 != aTagID.getBcp47()) { diff --git a/i18nlangtag/source/isolang/isolang.cxx b/i18nlangtag/source/isolang/isolang.cxx index 941a73b25766..cb1d5956d6ea 100644 --- a/i18nlangtag/source/isolang/isolang.cxx +++ b/i18nlangtag/source/isolang/isolang.cxx @@ -251,7 +251,7 @@ IsoLanguageCountryEntry const aImplIsoLangEntries[] = { LANGUAGE_ENGLISH_BELIZE, "en", "BZ", k0 }, { LANGUAGE_ENGLISH_TRINIDAD, "en", "TT", k0 }, { LANGUAGE_ENGLISH_ZIMBABWE, "en", "ZW", k0 }, - { LANGUAGE_ENGLISH_INDONESIA, "en", "ID", k0 }, + { LANGUAGE_ENGLISH_INDONESIA, "en", "ID", k0 }, // MS reserved { LANGUAGE_ESTONIAN, "et", "EE", k0 }, { LANGUAGE_FAEROESE, "fo", "FO", k0 }, { LANGUAGE_FARSI, "fa", "IR", k0 }, @@ -344,10 +344,10 @@ IsoLanguageCountryEntry const aImplIsoLangEntries[] = { LANGUAGE_GUJARATI, "gu", "IN", k0 }, { LANGUAGE_KANNADA, "kn", "IN", k0 }, { LANGUAGE_ASSAMESE, "as", "IN", k0 }, - { LANGUAGE_KASHMIRI_INDIA, "ks", "IN", k0 }, + { LANGUAGE_KASHMIRI_INDIA, "ks", "IN", kSAME }, { LANGUAGE_KASHMIRI, "ks", "" , kSAME }, // Kashmiri in "Jammu and Kashmir" ... no ISO3166 code for that { LANGUAGE_MALAYALAM, "ml", "IN", k0 }, - { LANGUAGE_MANIPURI, "mni", "IN", k0 }, + { LANGUAGE_MANIPURI, "mni", "IN", k0 }, // MS reserved { LANGUAGE_MARATHI, "mr", "IN", k0 }, { LANGUAGE_KONKANI, "kok", "IN", k0 }, { LANGUAGE_NEPALI, "ne", "NP", k0 }, @@ -378,8 +378,6 @@ IsoLanguageCountryEntry const aImplIsoLangEntries[] = { LANGUAGE_FRENCH_MOROCCO, "fr", "MA", k0 }, { LANGUAGE_FRENCH_REUNION, "fr", "RE", k0 }, { LANGUAGE_FRENCH, "fr", "" , k0 }, // needed as a catcher before other "fr" entries! - { LANGUAGE_FRENCH_NORTH_AFRICA, "fr", "" , k0 }, // MS reserved, "fr-015" - { LANGUAGE_FRENCH_WEST_INDIES, "fr", "" , k0 }, // no ISO country code; MS "Neither defined nor reserved" { LANGUAGE_FRISIAN_NETHERLANDS, "fy", "NL", k0 }, { LANGUAGE_GAELIC_IRELAND, "ga", "IE", k0 }, { LANGUAGE_GAELIC_SCOTLAND, "gd", "GB", k0 }, @@ -433,14 +431,14 @@ IsoLanguageCountryEntry const aImplIsoLangEntries[] = { LANGUAGE_AMHARIC_ETHIOPIA, "am", "ET", k0 }, { LANGUAGE_GUARANI_PARAGUAY, "gug", "PY", k0 }, { LANGUAGE_HAWAIIAN_UNITED_STATES, "haw", "US", k0 }, - { LANGUAGE_EDO, "bin", "NG", k0 }, - { LANGUAGE_FULFULDE_NIGERIA, "fuv", "NG", k0 }, - { LANGUAGE_FULFULDE_NIGERIA, "ff", "NG", kSAME }, // macrolanguage code + { LANGUAGE_EDO, "bin", "NG", k0 }, // MS reserved + { LANGUAGE_FULFULDE_NIGERIA, "ff", "NG", k0 }, // macrolanguage code; MS since rev.15 + { LANGUAGE_FULFULDE_NIGERIA, "fuv", "NG", kSAME }, // MS reserved until rev.15, since rev.15 "ff-NG" and "ff-Latn-NG" { LANGUAGE_FULFULDE_SENEGAL, "ff", "SN", k0 }, // macrolanguage code { LANGUAGE_HAUSA_NIGERIA, "ha", "NG", kSAME }, { LANGUAGE_USER_HAUSA_GHANA, "ha", "GH", kSAME }, { LANGUAGE_IGBO_NIGERIA, "ig", "NG", k0 }, - { LANGUAGE_KANURI_NIGERIA, "kr", "NG", k0 }, + { LANGUAGE_KANURI_NIGERIA, "kr", "NG", k0 }, // macrolanguage code; MS reserved until rev.15 { LANGUAGE_YORUBA, "yo", "NG", k0 }, { LANGUAGE_SOMALI, "so", "SO", k0 }, { LANGUAGE_PAPIAMENTU, "pap", "AN", k0 }, @@ -449,8 +447,8 @@ IsoLanguageCountryEntry const aImplIsoLangEntries[] = { LANGUAGE_USER_PAPIAMENTU_BONAIRE, "pap", "BQ", k0 }, { LANGUAGE_ENGLISH_SINGAPORE, "en", "SG", k0 }, { LANGUAGE_USER_YIDDISH_US, "yi", "US", k0 }, - { LANGUAGE_YIDDISH, "yi", "IL", k0 }, // new: old was "ji" - { LANGUAGE_YIDDISH, "ji", "IL", kSAME }, // old: new is "yi" + { LANGUAGE_USER_YIDDISH_ISRAEL, "yi", "IL", k0 }, // new: old was "ji" + { LANGUAGE_USER_YIDDISH_ISRAEL, "ji", "IL", kSAME }, // old: new is "yi" { LANGUAGE_SYRIAC, "syr", "TR", k0 }, // "TR" according to http://www.ethnologue.com/show_language.asp?code=SYC { LANGUAGE_SINHALESE_SRI_LANKA, "si", "LK", k0 }, { LANGUAGE_CHEROKEE_UNITED_STATES, "chr", "US", kSAME }, @@ -476,14 +474,14 @@ IsoLanguageCountryEntry const aImplIsoLangEntries[] = { LANGUAGE_YAKUT_RUSSIA, "sah", "RU", k0 }, { LANGUAGE_MOHAWK_CANADA, "moh", "CA", k0 }, { LANGUAGE_BASHKIR_RUSSIA, "ba", "RU", k0 }, - { LANGUAGE_KICHE_GUATEMALA, "qut", "GT", k0 }, + { LANGUAGE_KICHE_GUATEMALA, "qut", "GT", k0 }, // MS reserved since rev.15 { LANGUAGE_DARI_AFGHANISTAN, "prs", "AF", k0 }, { LANGUAGE_DARI_AFGHANISTAN, "gbz", "AF", kSAME }, // was an error { LANGUAGE_WOLOF_SENEGAL, "wo", "SN", k0 }, { LANGUAGE_FILIPINO, "fil", "PH", k0 }, { LANGUAGE_USER_TAGALOG, "tl", "PH", k0 }, { LANGUAGE_ENGLISH_PHILIPPINES, "en", "PH", k0 }, - { LANGUAGE_IBIBIO_NIGERIA, "ibb", "NG", k0 }, + { LANGUAGE_IBIBIO_NIGERIA, "ibb", "NG", k0 }, // MS reserved { LANGUAGE_YI, "ii", "CN", k0 }, { LANGUAGE_ENGLISH_ARAB_EMIRATES, "en", "AE", k0 }, { LANGUAGE_ENGLISH_BAHRAIN, "en", "BH", k0 }, // MS reserved @@ -498,9 +496,10 @@ IsoLanguageCountryEntry const aImplIsoLangEntries[] = { LANGUAGE_TAMAZIGHT_TIFINAGH_MOROCCO, "tmz", "MA", kSAME }, { LANGUAGE_TAMAZIGHT_MOROCCO, "tmz", "MA", k0 }, // MS reserved { LANGUAGE_TAMAZIGHT_TIFINAGH_MOROCCO, "ber", "MA", kSAME }, // Morocco is officially using Tifinagh for its Berber languages, old kludge to distinguish from LANGUAGE_TAMAZIGHT_LATIN_ALGERIA - { LANGUAGE_USER_LATIN_VATICAN, "la", "VA", k0 }, - { LANGUAGE_OBSOLETE_USER_LATIN, "la", "VA", k0 }, - { LANGUAGE_LATIN_LSO, "la", "" , k0 }, + { LANGUAGE_LATIN, "la", "VA", k0 }, + { LANGUAGE_OBSOLETE_USER_LATIN_VATICAN, "la", "VA", LANGUAGE_LATIN }, + { LANGUAGE_OBSOLETE_USER_LATIN, "la", "VA", LANGUAGE_LATIN }, + { LANGUAGE_LATIN, "la", "" , kSAME }, { LANGUAGE_USER_ESPERANTO, "eo", "" , k0 }, { LANGUAGE_USER_INTERLINGUA, "ia", "" , k0 }, { LANGUAGE_USER_INTERLINGUE, "ie", "" , k0 }, @@ -583,7 +582,7 @@ IsoLanguageCountryEntry const aImplIsoLangEntries[] = { LANGUAGE_USER_MAORE, "swb", "YT", k0 }, { LANGUAGE_USER_BUSHI, "buc", "YT", k0 }, { LANGUAGE_USER_TAHITIAN, "ty", "PF", k0 }, - { LANGUAGE_MALAGASY_PLATEAU, "plt", "MG", k0 }, + { LANGUAGE_MALAGASY_PLATEAU, "plt", "MG", k0 }, // MS reserved { LANGUAGE_MALAGASY_PLATEAU, "mg", "MG", kSAME }, { LANGUAGE_OBSOLETE_USER_MALAGASY_PLATEAU, "plt", "MG", k0 }, { LANGUAGE_USER_BAFIA, "ksf", "CM", k0 }, @@ -719,14 +718,14 @@ IsoLanguageScriptCountryEntry const aImplIsoLangScriptEntries[] = { LANGUAGE_SERBIAN_CYRILLIC_LSO, "sr-Cyrl", "" , kSAME }, // MS { LANGUAGE_BOSNIAN_CYRILLIC_BOSNIA_HERZEGOVINA, "bs-Cyrl", "BA", k0 }, { LANGUAGE_BOSNIAN_CYRILLIC_LSO, "bs-Cyrl", "" , k0 }, - { LANGUAGE_AZERI_CYRILLIC, "az-Cyrl", "AZ", k0 }, // macrolanguage code + { LANGUAGE_AZERI_CYRILLIC, "az-Cyrl", "AZ", k0 }, // macrolanguage code; MS reserved since rev.15 { LANGUAGE_AZERI_CYRILLIC_LSO, "az-Cyrl", "" , k0 }, // macrolanguage code - { LANGUAGE_UZBEK_CYRILLIC, "uz-Cyrl", "UZ", k0 }, // macrolanguage code + { LANGUAGE_UZBEK_CYRILLIC, "uz-Cyrl", "UZ", k0 }, // macrolanguage code; MS reserved since rev.15 { LANGUAGE_UZBEK_CYRILLIC_LSO, "uz-Cyrl", "" , k0 }, // macrolanguage code { LANGUAGE_MONGOLIAN_CYRILLIC_MONGOLIA, "mn-Cyrl", "MN", k0 }, // macrolanguage code; should be khk-MN or khk-Cyrl-MN { LANGUAGE_MONGOLIAN_CYRILLIC_LSO, "mn-Cyrl", "" , k0 }, // macrolanguage code; MS, should be khk or khk-Cyrl { LANGUAGE_MONGOLIAN_MONGOLIAN_MONGOLIA, "mn-Mong", "MN", k0 }, // macrolanguage code; MS, should be khk-Mong-MN - { LANGUAGE_MONGOLIAN_MONGOLIAN_CHINA, "mn-Mong", "CN", k0 }, // macrolanguage code; MS, should actually be mvf-CN + { LANGUAGE_MONGOLIAN_MONGOLIAN_CHINA, "mn-Mong", "CN", k0 }, // macrolanguage code; MS reserved since rev.15; should actually be mvf-CN { LANGUAGE_MONGOLIAN_MONGOLIAN_LSO, "mn-Mong", "" , k0 }, // macrolanguage code { LANGUAGE_USER_PALI_LATIN, "pi-Latn", "" , k0 }, { LANGUAGE_USER_PALI_THAI, "pi-Thai", "" , k0 }, @@ -736,10 +735,10 @@ IsoLanguageScriptCountryEntry const aImplIsoLangScriptEntries[] = { LANGUAGE_AZERI_LATIN, "az-Latn", "AZ", k0 }, // macrolanguage code; MS { LANGUAGE_AZERI_LATIN_LSO, "az-Latn", "" , k0 }, // macrolanguage code; MS { LANGUAGE_USER_YIDDISH_US, "yi-Hebr", "US", kSAME }, // macrolanguage code; MS, Hebr is suppress-script - { LANGUAGE_YIDDISH, "yi-Hebr", "IL", kSAME }, // macrolanguage code; MS, Hebr is suppress-script + { LANGUAGE_USER_YIDDISH_ISRAEL, "yi-Hebr", "IL", kSAME }, // macrolanguage code; MS, Hebr is suppress-script { LANGUAGE_UZBEK_LATIN, "uz-Latn", "UZ", k0 }, // macrolanguage code { LANGUAGE_UZBEK_LATIN_LSO, "uz-Latn", "" , k0 }, - { LANGUAGE_SINDHI, "sd-Deva", "IN", k0 }, // MS + { LANGUAGE_SINDHI, "sd-Deva", "IN", k0 }, // MS reserved { LANGUAGE_SINDHI_PAKISTAN, "sd-Arab", "PK", k0 }, // MS { LANGUAGE_SINDHI_ARABIC_LSO, "sd-Arab", "" , k0 }, { LANGUAGE_CHEROKEE_UNITED_STATES, "chr-Cher", "US", k0 }, // MS @@ -750,12 +749,12 @@ IsoLanguageScriptCountryEntry const aImplIsoLangScriptEntries[] = { LANGUAGE_INUKTITUT_LATIN_LSO, "iu-Latn", "" , k0 }, // macrolanguage code, MS { LANGUAGE_TAMAZIGHT_TIFINAGH_MOROCCO, "tzm-Tfng", "MA", k0 }, { LANGUAGE_TAMAZIGHT_TIFINAGH_LSO, "tzm-Tfng", "" , k0 }, - { LANGUAGE_KASHMIRI_INDIA, "ks-Deva", "IN", k0 }, // MS + { LANGUAGE_KASHMIRI_INDIA, "ks-Deva", "IN", k0 }, // MS since rev.15, earlier was "ks-Deva" reserved { LANGUAGE_KASHMIRI, "ks-Arab", "" , k0 }, // MS, Kashmiri in "Jammu and Kashmir" ... no ISO3166 code for that { LANGUAGE_HAUSA_NIGERIA, "ha-Latn", "NG", k0 }, // MS { LANGUAGE_USER_HAUSA_GHANA, "ha-Latn", "GH", k0 }, { LANGUAGE_HAUSA_LATIN_LSO, "ha-Latn", "" , k0 }, - { LANGUAGE_LATIN_LSO, "la-Latn", "" , kSAME }, // MS, though Latn is suppress-script + { LANGUAGE_LATIN, "la-Latn", "" , kSAME }, // MS reserved until rev.15, though Latn is suppress-script, "la-VA" since rev.15 { LANGUAGE_TAI_NUA_CHINA, "tdd-Tale", "CN", k0 }, // MS reserved { LANGUAGE_LU_CHINA, "khb-Talu", "CN", k0 }, // MS reserved { LANGUAGE_KURDISH_ARABIC_IRAQ, "ku-Arab", "IQ", kSAME }, // macrolanguage code, MS @@ -768,6 +767,7 @@ IsoLanguageScriptCountryEntry const aImplIsoLangScriptEntries[] = { LANGUAGE_PUNJABI_ARABIC_LSO, "pa-Arab", "" , k0 }, // MS, incorrect { LANGUAGE_TAMAZIGHT_LATIN_ALGERIA, "tzm-Latn", "DZ", kSAME }, // MS { LANGUAGE_TAMAZIGHT_LATIN_LSO, "tzm-Latn", "" , k0 }, // MS + { LANGUAGE_FULFULDE_NIGERIA, "ff-Latn", "NG", kSAME }, // macrolanguage code; MS since rev.15 { LANGUAGE_FULFULDE_SENEGAL, "ff-Latn", "SN", k0 }, // macrolanguage code, MS { LANGUAGE_FULFULDE_LATIN_LSO, "ff-Latn", "" , k0 }, // macrolanguage code { LANGUAGE_BOSNIAN_LATIN_BOSNIA_HERZEGOVINA, "bs-Latn", "BA", kSAME }, // MS, though Latn is suppress-script @@ -781,9 +781,11 @@ IsoLanguageScriptCountryEntry const aImplIsoLangScriptEntries[] = { LANGUAGE_USER_HUNGARIAN_ROVAS, "hu-Hung", "HU", k0 }, { LANGUAGE_USER_MALAY_ARABIC_MALAYSIA, "ms-Arab", "MY", k0 }, { LANGUAGE_USER_MALAY_ARABIC_BRUNEI, "ms-Arab", "BN", k0 }, - { LANGUAGE_KAZAKH_LATIN, "kk-Latn", "KZ", k0 }, // MS reserved + { LANGUAGE_KAZAKH_LATIN, "kk-Latn", "KZ", k0 }, { LANGUAGE_KAZAKH_LATIN_LSO, "kk-Latn", "" , k0 }, // MS reserved { LANGUAGE_KAZAKH_CYRILLIC_LSO, "kk-Cyrl", "" , k0 }, // MS reserved + { LANGUAGE_KANURI_NIGERIA, "kr-Latn", "NG", k0 }, // macrolanguage code; MS since rev.15 + { LANGUAGE_TAMAZIGHT_ARABIC_MOROCCO, "tzm-Arab", "MA", k0 }, // MS since rev.15, was reserved { LANGUAGE_DONTKNOW, "", "" , k0 } // marks end of table }; @@ -797,6 +799,8 @@ Bcp47CountryEntry const aImplBcp47CountryEntries[] = { LANGUAGE_SPANISH_DATED, "es-ES-u-co-trad", "ES", "es-u-co-trad", k0 }, // RFC6067/CLDR { LANGUAGE_SPANISH_DATED, "es-ES_tradnl", "ES", "", kSAME }, // MS malformed // { LANGUAGE_YUE_CHINESE_HONGKONG, "zh-yue-HK", "HK", "", 0 }, // MS reserved, prefer yue-HK; do not add unless LanguageTag::simpleExtract() can handle it to not call liblangtag for rsc! + { LANGUAGE_YIDDISH, "yi-001", "", "", k0 }, // MS since rev.15, was "yi-Hebr" reserved, "001"="World" + { LANGUAGE_FRENCH_WEST_INDIES, "fr-029", "", "", k0 }, // MS since rev.15, was "Neither defined nor reserved", "029"="Caribbean" { LANGUAGE_DONTKNOW, "", "", "", k0 } // marks end of table }; diff --git a/i18nlangtag/source/isolang/mslangid.cxx b/i18nlangtag/source/isolang/mslangid.cxx index ae6cd6291672..9e6f2a7532ad 100644 --- a/i18nlangtag/source/isolang/mslangid.cxx +++ b/i18nlangtag/source/isolang/mslangid.cxx @@ -490,7 +490,9 @@ bool MsLangId::isLegacy( LanguageType nLang ) LanguageType MsLangId::getReplacementForObsoleteLanguage( LanguageType nLang ) { if (nLang == LANGUAGE_OBSOLETE_USER_LATIN) - nLang = LANGUAGE_USER_LATIN_VATICAN; + nLang = LANGUAGE_LATIN; + else if (nLang == LANGUAGE_OBSOLETE_USER_LATIN_VATICAN) + nLang = LANGUAGE_LATIN; else if (nLang == LANGUAGE_OBSOLETE_USER_MAORI) nLang = LANGUAGE_MAORI_NEW_ZEALAND; else if (nLang == LANGUAGE_OBSOLETE_USER_KINYARWANDA) diff --git a/i18nlangtag/source/languagetag/languagetag.cxx b/i18nlangtag/source/languagetag/languagetag.cxx index 41f23973020f..6175820bb546 100644 --- a/i18nlangtag/source/languagetag/languagetag.cxx +++ b/i18nlangtag/source/languagetag/languagetag.cxx @@ -3173,7 +3173,7 @@ LanguageTag makeLanguageTagFromAppleLanguageId(AppleLanguageId nLanguage) nLang = LANGUAGE_CATALAN; break; case AppleLanguageId::LATIN: - nLang = LANGUAGE_USER_LATIN; + nLang = LANGUAGE_LATIN; break; case AppleLanguageId::QUENCHUA: nLang = LANGUAGE_QUECHUA_BOLIVIA; //maybe diff --git a/include/i18nlangtag/lang.h b/include/i18nlangtag/lang.h index c319b068b215..4b28d9dc3ac6 100644 --- a/include/i18nlangtag/lang.h +++ b/include/i18nlangtag/lang.h @@ -193,7 +193,7 @@ namespace o3tl #define LANGUAGE_ENGLISH_BAHRAIN LanguageType(0x5009) #define LANGUAGE_ENGLISH_BELIZE LanguageType(0x2809) #define LANGUAGE_ENGLISH_CAN LanguageType(0x1009) -#define LANGUAGE_ENGLISH_CARIBBEAN LanguageType(0x2409) +#define LANGUAGE_ENGLISH_CARIBBEAN LanguageType(0x2409) /* MS reserved since rev.15, "en-029" */ #define LANGUAGE_ENGLISH_EGYPT LanguageType(0x5409) #define LANGUAGE_ENGLISH_EIRE LanguageType(0x1809) #define LANGUAGE_ENGLISH_HONG_KONG_SAR LanguageType(0x3C09) @@ -229,11 +229,11 @@ namespace o3tl #define LANGUAGE_FRENCH_MALI LanguageType(0x340C) #define LANGUAGE_FRENCH_MONACO LanguageType(0x180C) #define LANGUAGE_FRENCH_MOROCCO LanguageType(0x380C) -#define LANGUAGE_FRENCH_NORTH_AFRICA LanguageType(0xE40C) +#define LANGUAGE_FRENCH_NORTH_AFRICA LanguageType(0xE40C) /* MS reserved, "fr-015", "015"="Northern Africa" */ #define LANGUAGE_FRENCH_REUNION LanguageType(0x200C) #define LANGUAGE_FRENCH_SENEGAL LanguageType(0x280C) #define LANGUAGE_FRENCH_SWISS LanguageType(0x100C) -#define LANGUAGE_FRENCH_WEST_INDIES LanguageType(0x1C0C) /* MS in its MS-LCID.pdf now says "Neither defined nor reserved" */ +#define LANGUAGE_FRENCH_WEST_INDIES LanguageType(0x1C0C) /* MS-LCID.pdf in between said "Neither defined nor reserved" but since rev.15 it's "fr-029" */ #define LANGUAGE_FRENCH_ZAIRE LanguageType(0x240C) #define LANGUAGE_FRISIAN_NETHERLANDS LanguageType(0x0462) #define LANGUAGE_FULFULDE_LATIN_LSO LanguageType(0x7C67) @@ -279,7 +279,7 @@ namespace o3tl #define LANGUAGE_KAZAKH_CYRILLIC_LSO LanguageType(0x783F) #define LANGUAGE_KAZAKH_LATIN_LSO LanguageType(0x7C3F) #define LANGUAGE_KHMER LanguageType(0x0453) -#define LANGUAGE_KICHE_GUATEMALA LanguageType(0x0486) /* AKA K'iche', West Central Quiche, */ +#define LANGUAGE_KICHE_GUATEMALA LanguageType(0x0486) /* AKA K'iche', West Central Quiche */ #define LANGUAGE_KINYARWANDA_RWANDA LanguageType(0x0487) /* obsoletes LANGUAGE_USER_KINYARWANDA 0x0621 */ #define LANGUAGE_KIRGHIZ LanguageType(0x0440) /* AKA Kyrgyz */ #define LANGUAGE_KONKANI LanguageType(0x0457) @@ -288,7 +288,7 @@ namespace o3tl #define LANGUAGE_KURDISH_ARABIC_IRAQ LanguageType(0x0492) /* obsoletes LANGUAGE_USER_KURDISH_IRAQ 0x0E26 */ #define LANGUAGE_KURDISH_ARABIC_LSO LanguageType(0x7C92) #define LANGUAGE_LAO LanguageType(0x0454) -#define LANGUAGE_LATIN_LSO LanguageType(0x0476) /* obsoletes LANGUAGE_USER_LATIN 0x0610 */ +#define LANGUAGE_LATIN LanguageType(0x0476) /* obsoletes LANGUAGE_USER_LATIN 0x0610 and LANGUAGE_USER_LATIN_VATICAN 0x8076 */ #define LANGUAGE_LATVIAN LanguageType(0x0426) #define LANGUAGE_LITHUANIAN LanguageType(0x0427) #define LANGUAGE_LITHUANIAN_CLASSIC LanguageType(0x0827) /* MS in its MS-LCID.pdf now says "Neither defined nor reserved" */ @@ -455,9 +455,9 @@ namespace o3tl #define LANGUAGE_ar_Ploc_SA_reserved LanguageType(0x4401) /* 'ar-Ploc-SA', 'Ploc'?? */ #define LANGUAGE_ja_Ploc_JP_reserved LanguageType(0x0811) /* 'ja-Ploc-JP', 'Ploc'?? */ -#define LANGUAGE_pap_029_reserved LanguageType(0x0479) /* 'pap-029' */ -#define LANGUAGE_ar_145_reserved LanguageType(0x4801) /* 'ar-145' */ -#define LANGUAGE_es_419 LanguageType(0x580A) /* 'es-419', not reserved, used? */ +#define LANGUAGE_pap_029_reserved LanguageType(0x0479) /* "pap-029", "029"="Caribbean" */ +#define LANGUAGE_ar_145_reserved LanguageType(0x4801) /* "ar-145", "145"="Western Asia" */ +#define LANGUAGE_es_419_reserved LanguageType(0x580A) /* MS reserved since rev.15, "es-419", "419"="Latin America and the Caribbean" */ /* Seems these values were used or reserved at one point of time ... */ #define LANGUAGE_Neither_defined_nor_reserved_0x007B LanguageType(0x007B) @@ -533,8 +533,9 @@ namespace o3tl * mapping ISO back to LANGID will return the new value. */ #define LANGUAGE_OBSOLETE_USER_LATIN LanguageType(0x0610) -#define LANGUAGE_USER_LATIN LANGUAGE_LATIN_LSO -#define LANGUAGE_USER_LATIN_VATICAN LanguageType(0x8076) /* makeLangID( 0x20, getPrimaryLanguage( LANGUAGE_LATIN_LSO)) */ +#define LANGUAGE_USER_LATIN LANGUAGE_LATIN +#define LANGUAGE_OBSOLETE_USER_LATIN_VATICAN LanguageType(0x8076) /* makeLangID( 0x20, getPrimaryLanguage( LANGUAGE_LATIN)) */ +#define LANGUAGE_USER_LATIN_VATICAN LANGUAGE_LATIN #define LANGUAGE_USER_ESPERANTO LanguageType(0x0611) /* no locale possible */ #define LANGUAGE_USER_INTERLINGUA LanguageType(0x0612) /* no locale, but conventions */ #define LANGUAGE_OBSOLETE_USER_MAORI LanguageType(0x0620) @@ -767,6 +768,7 @@ namespace o3tl #define LANGUAGE_USER_BRIBRI LanguageType(0x06AB) #define LANGUAGE_USER_ENGLISH_DENMARK LanguageType(0xB009) /* makeLangID( 0x2C, getPrimaryLanguage( LANGUAGE_ENGLISH_UK)) */ #define LANGUAGE_USER_SESOTHO_LESOTHO LanguageType(0x8030) /* makeLangID( 0x20, getPrimaryLanguage( LANGUAGE_SESOTHO)) */ +#define LANGUAGE_USER_YIDDISH_ISRAEL LanguageType(0x843D) /* makeLangID( 0x21, getPrimaryLanguage( LANGUAGE_YIDDISH)) */ /* XXX Add new user defined LCIDs ^^^ there. diff --git a/svtools/inc/langtab.hrc b/svtools/inc/langtab.hrc index d44b38294f5a..155be7b45358 100644 --- a/svtools/inc/langtab.hrc +++ b/svtools/inc/langtab.hrc @@ -293,7 +293,7 @@ const std::pair<TranslateId, LanguageType> STR_ARR_SVT_LANGUAGE_TABLE[] = { NC_("STR_ARR_SVT_LANGUAGE_TABLE", "Shuswap") , LANGUAGE_USER_SHUSWAP }, { NC_("STR_ARR_SVT_LANGUAGE_TABLE", "Oromo") , LANGUAGE_OROMO }, { NC_("STR_ARR_SVT_LANGUAGE_TABLE", "Greek, Ancient") , LANGUAGE_USER_ANCIENT_GREEK }, - { NC_("STR_ARR_SVT_LANGUAGE_TABLE", "Yiddish (Israel)") , LANGUAGE_YIDDISH }, + { NC_("STR_ARR_SVT_LANGUAGE_TABLE", "Yiddish (Israel)") , LANGUAGE_USER_YIDDISH_ISRAEL }, { NC_("STR_ARR_SVT_LANGUAGE_TABLE", "Quechua (Ecuador)") , LANGUAGE_QUECHUA_ECUADOR }, { NC_("STR_ARR_SVT_LANGUAGE_TABLE", "Uyghur") , LANGUAGE_UIGHUR_CHINA }, { NC_("STR_ARR_SVT_LANGUAGE_TABLE", "Asturian") , LANGUAGE_USER_ASTURIAN },