[Libreoffice-commits] core.git: 2 commits - i18nlangtag/qa i18nlangtag/source include/i18nlangtag instsetoo_native/util l10ntools/source setup_native/source solenv/inc svtools/source

Eike Rathke erack at redhat.com
Wed Sep 4 03:30:04 PDT 2013


 i18nlangtag/qa/cppunit/test_languagetag.cxx             |   17 -----
 i18nlangtag/source/isolang/isolang.cxx                  |   50 ++++++++++++++--
 i18nlangtag/source/isolang/mslangid.cxx                 |   12 +--
 include/i18nlangtag/lang.h                              |    4 -
 instsetoo_native/util/pack.lst                          |    6 -
 l10ntools/source/ulfconv/msi-encodinglist.txt           |    2 
 setup_native/source/packinfo/spellchecker_selection.txt |    2 
 solenv/inc/langlist.mk                                  |    2 
 svtools/source/misc/langtab.src                         |    2 
 9 files changed, 59 insertions(+), 38 deletions(-)

New commits:
commit 8d4cd0751516631bcd5c6fabf1eb07d64bb72f17
Author: Eike Rathke <erack at redhat.com>
Date:   Wed Sep 4 12:15:33 2013 +0200

    renamed ca-XV to ca-valencia and activated ca-ES-valencia, fdo#59867 related
    
    Build Catalan-Valencian as ca-valencia instead of ca-XV private-use.
    
    Introduced LANGUAGE_CATALAN_VALENCIAN 0x0803 mapping to ca-ES-valencia,
    preserving old ca-XV and qcv-ES mappings to now
    LANGUAGE_CATALAN_VALENCIAN and LANGUAGE_OBSOLETE_USER_CATALAN_VALENCIAN
    0x8003 to ca-ES-valencia.
    
    Removed special !bUserInterfaceSelection treatment from
    MsLangId::getReplacementForObsoleteLanguage() and added the usual
    obsolete replacement instead.
    
    Change-Id: I2fdd8b0bac55d4b4ae2cbf3c3645f09fefec9b6e

diff --git a/i18nlangtag/qa/cppunit/test_languagetag.cxx b/i18nlangtag/qa/cppunit/test_languagetag.cxx
index 915d5cb..d0145cf 100644
--- a/i18nlangtag/qa/cppunit/test_languagetag.cxx
+++ b/i18nlangtag/qa/cppunit/test_languagetag.cxx
@@ -153,12 +153,7 @@ void TestLanguageTag::testAllTags()
         CPPUNIT_ASSERT( aLocale.Language == "qlt" );
         CPPUNIT_ASSERT( aLocale.Country == "ES" );
         CPPUNIT_ASSERT( aLocale.Variant == s_ca_ES_valencia );
-        /* TODO: conversion doesn't know this yet, once it does activate test. */
-#if 0
-        CPPUNIT_ASSERT( ca_ES_valencia.getLanguageType() == LANGUAGE_USER_CATALAN_VALENCIAN );
-#else
-        CPPUNIT_ASSERT( ca_ES_valencia.getLanguageType() == LANGUAGE_SYSTEM );
-#endif
+        CPPUNIT_ASSERT( ca_ES_valencia.getLanguageType() == LANGUAGE_CATALAN_VALENCIAN );
         CPPUNIT_ASSERT( ca_ES_valencia.isValidBcp47() == true );
         CPPUNIT_ASSERT( ca_ES_valencia.isIsoLocale() == false );
         CPPUNIT_ASSERT( ca_ES_valencia.isIsoODF() == false );
@@ -172,12 +167,7 @@ void TestLanguageTag::testAllTags()
         CPPUNIT_ASSERT( ca_ES_valencia_Fallbacks[1] == "ca-valencia");
         CPPUNIT_ASSERT( ca_ES_valencia_Fallbacks[2] == "ca-ES");
         CPPUNIT_ASSERT( ca_ES_valencia_Fallbacks[3] == "ca");
-        /* TODO: conversion doesn't know this yet, once it does activate test. */
-#if 0
         CPPUNIT_ASSERT( ca_ES_valencia.makeFallback().getBcp47() == "ca-ES-valencia");
-#else
-        CPPUNIT_ASSERT( ca_ES_valencia.makeFallback().getBcp47() == "ca-ES");
-#endif
     }
 
     {
@@ -200,12 +190,7 @@ void TestLanguageTag::testAllTags()
         CPPUNIT_ASSERT( ca_valencia_Fallbacks.size() == 2);
         CPPUNIT_ASSERT( ca_valencia_Fallbacks[0] == "ca-valencia");
         CPPUNIT_ASSERT( ca_valencia_Fallbacks[1] == "ca");
-        /* TODO: conversion doesn't know this yet, once it does activate test. */
-#if 0
         CPPUNIT_ASSERT( ca_valencia.makeFallback().getBcp47() == "ca-ES-valencia");
-#else
-        CPPUNIT_ASSERT( ca_valencia.makeFallback().getBcp47() == "ca-ES");
-#endif
     }
 
     {
diff --git a/i18nlangtag/source/isolang/isolang.cxx b/i18nlangtag/source/isolang/isolang.cxx
index 1b6e3c4..53e6126 100644
--- a/i18nlangtag/source/isolang/isolang.cxx
+++ b/i18nlangtag/source/isolang/isolang.cxx
@@ -66,6 +66,7 @@ struct Bcp47CountryEntry
     LanguageType    mnLang;
     const sal_Char* mpBcp47;
     sal_Char        maCountry[3];
+    const sal_Char* mpFallback;
 
     /** Obtain a language tag string with '-' separator. */
     OUString getTagString() const;
@@ -322,9 +323,8 @@ static IsoLanguageCountryEntry const aImplIsoLangEntries[] =
     { LANGUAGE_BELARUSIAN,                  "be", "BY" },
     { LANGUAGE_CATALAN,                     "ca", "ES" },   // Spain (default)
     { LANGUAGE_CATALAN,                     "ca", "AD" },   // Andorra
-    { LANGUAGE_USER_CATALAN_VALENCIAN,                     "ca", "XV" },   // XV: ISO 3166 user-assigned; workaround for UI localization only, do not use in document content!
-    { LANGUAGE_CATALAN,                    "qcv", "ES" },   // qcv: ISO 639-3 reserved-for-local-use; UI localization quirk only, do not use in document content!
-//    { LANGUAGE_USER_CATALAN_VALENCIAN,      "ca", "ES" },   // In case MS format files escaped into the wild, map them back.
+    { LANGUAGE_CATALAN_VALENCIAN,           "ca", "XV" },   // XV: ISO 3166 user-assigned; old workaround for UI localization only, in case it escaped to document content
+    { LANGUAGE_CATALAN_VALENCIAN,          "qcv", "ES" },   // qcv: ISO 639-3 reserved-for-local-use; old UI localization quirk only, in case it escaped to document content
     { LANGUAGE_FRENCH_CAMEROON,             "fr", "CM" },
     { LANGUAGE_FRENCH_COTE_D_IVOIRE,        "fr", "CI" },
     { LANGUAGE_FRENCH_MALI,                 "fr", "ML" },
@@ -579,9 +579,10 @@ static IsoLanguageScriptCountryEntry const aImplIsoLangScriptEntries[] =
 
 static Bcp47CountryEntry const aImplBcp47CountryEntries[] =
 {
-    // MS-LangID                            full BCP47, ISO3166
-//  { LANGUAGE_USER_CATALAN_VALENCIAN,      "ca-ES-valencia", "ES" },   // for example, once we support it in l10n; TODO: add to unit test
-    { LANGUAGE_DONTKNOW,                    "", ""   }   // marks end of table
+    // MS-LangID                              full BCP47, ISO3166, ISO639-Variant or other fallback
+    { LANGUAGE_CATALAN_VALENCIAN,       "ca-ES-valencia", "ES", "ca-valencia" },
+    { LANGUAGE_OBSOLETE_USER_CATALAN_VALENCIAN, "ca-ES-valencia", "ES", "" },   // In case MS format files using the old value escaped into the wild, map them back.
+    { LANGUAGE_DONTKNOW,                    "", "", "" }    // marks end of table
 };
 
 static IsoLanguageCountryEntry aLastResortFallbackEntry =
@@ -822,12 +823,13 @@ void MsLangId::Conversion::convertLanguageToLocaleImpl( LanguageType nLang,
 
     if (rLocale.Language == I18NLANGTAG_QLT)
     {
-        // Search in BCP47, only full match, only LanguageTag can decide the
-        // proper fallback.
+        // Search in BCP47, only full match and one fallback, for other
+        // fallbacks only LanguageTag can decide.
         for (const Bcp47CountryEntry* pBcp47Entry = aImplBcp47CountryEntries;
                 pBcp47Entry->mnLang != LANGUAGE_DONTKNOW; ++pBcp47Entry)
         {
-            if (rLocale.Variant.equalsIgnoreAsciiCase( pBcp47Entry->getTagString()))
+            if (    rLocale.Variant.equalsIgnoreAsciiCase( pBcp47Entry->getTagString()) ||
+                    rLocale.Variant.equalsIgnoreAsciiCaseAscii( pBcp47Entry->mpFallback))
                 return pBcp47Entry->getLocale();
         }
 
diff --git a/i18nlangtag/source/isolang/mslangid.cxx b/i18nlangtag/source/isolang/mslangid.cxx
index 1a0c68e..0b0253f 100644
--- a/i18nlangtag/source/isolang/mslangid.cxx
+++ b/i18nlangtag/source/isolang/mslangid.cxx
@@ -409,7 +409,7 @@ sal_Int16 MsLangId::getScriptType( LanguageType nLang )
 
 
 // static
-LanguageType MsLangId::getReplacementForObsoleteLanguage( LanguageType nLang, bool bUserInterfaceSelection )
+LanguageType MsLangId::getReplacementForObsoleteLanguage( LanguageType nLang, bool /*bUserInterfaceSelection*/ )
 {
     switch (nLang)
     {
@@ -445,6 +445,9 @@ LanguageType MsLangId::getReplacementForObsoleteLanguage( LanguageType nLang, bo
         case LANGUAGE_OBSOLETE_USER_KABYLE:
             nLang = LANGUAGE_TAMAZIGHT_LATIN;
             break;
+        case LANGUAGE_OBSOLETE_USER_CATALAN_VALENCIAN:
+            nLang = LANGUAGE_CATALAN_VALENCIAN;
+            break;
 
         // The following are not strictly obsolete but should be mapped to a
         // replacement locale when encountered.
@@ -459,13 +462,6 @@ LanguageType MsLangId::getReplacementForObsoleteLanguage( LanguageType nLang, bo
         case LANGUAGE_SPANISH_DATED:
             nLang = LANGUAGE_SPANISH_MODERN;
             break;
-
-         // Do not use ca-XV for document content.
-         /* TODO: remove in case we implement BCP47 language tags. */
-        case LANGUAGE_USER_CATALAN_VALENCIAN:
-            if (!bUserInterfaceSelection)
-                nLang = LANGUAGE_CATALAN;
-            break;
     }
     return nLang;
 }
diff --git a/include/i18nlangtag/lang.h b/include/i18nlangtag/lang.h
index 3f80aaf..555e508 100644
--- a/include/i18nlangtag/lang.h
+++ b/include/i18nlangtag/lang.h
@@ -140,6 +140,7 @@ typedef unsigned short LanguageType;
 #define LANGUAGE_BULGARIAN                  0x0402
 #define LANGUAGE_BURMESE                    0x0455
 #define LANGUAGE_CATALAN                    0x0403
+#define LANGUAGE_CATALAN_VALENCIAN          0x0803
 #define LANGUAGE_CHEROKEE_UNITED_STATES     0x045C
 #define LANGUAGE_CHINESE_HONGKONG           0x0C04
 #define LANGUAGE_CHINESE_MACAU              0x1404
@@ -440,7 +441,8 @@ typedef unsigned short LanguageType;
 #define LANGUAGE_USER_CHUVASH               0x0635
 #define LANGUAGE_USER_GASCON                0x0636  /* Gascon France */
 #define LANGUAGE_USER_GERMAN_BELGIUM        0x8007  /* makeLangID( 0x20, getPrimaryLanguage( LANGUAGE_GERMAN)) */
-#define LANGUAGE_USER_CATALAN_VALENCIAN     0x8003  /* makeLangID( 0x20, getPrimaryLanguage( LANGUAGE_CATALAN)) */
+#define LANGUAGE_OBSOLETE_USER_CATALAN_VALENCIAN    0x8003  /* makeLangID( 0x20, getPrimaryLanguage( LANGUAGE_CATALAN)) */
+#define LANGUAGE_USER_CATALAN_VALENCIAN     LANGUAGE_CATALAN_VALENCIAN
 #define LANGUAGE_USER_HAUSA_GHANA           0x8068  /* makeLangID( 0x20, getPrimaryLanguage( LANGUAGE_HAUSA_NIGERIA)) */
 #define LANGUAGE_USER_EWE_GHANA             0x0637
 #define LANGUAGE_USER_ENGLISH_GHANA         0x8409  /* makeLangID( 0x21, getPrimaryLanguage( LANGUAGE_ENGLISH_US)) */
diff --git a/instsetoo_native/util/pack.lst b/instsetoo_native/util/pack.lst
index 381f306..1de49d1 100644
--- a/instsetoo_native/util/pack.lst
+++ b/instsetoo_native/util/pack.lst
@@ -7,13 +7,13 @@
 
 # Product       List_of_platforms                                                   List_of_languages   Target
 
-LibreOffice             unxlngi6.pro,unxmacxi.pro,unxsoli4.pro,unxsols4.pro,wntmsci12.pro,unxlngx6.pro en-US|ar|bg|bn|ca|ca-XV|cs|da|de|el|en-GB|es|et|eu|fi|fr|ga|gl|he|hu|it|ja|km|ko|lt|mk|nb|nl|om|pl|pt|pt-BR|ru|sh|sl|sr|sv|tr|vi|zh-CN|zh-TW openoffice
+LibreOffice             unxlngi6.pro,unxmacxi.pro,unxsoli4.pro,unxsols4.pro,wntmsci12.pro,unxlngx6.pro en-US|ar|bg|bn|ca|ca-valencia|cs|da|de|el|en-GB|es|et|eu|fi|fr|ga|gl|he|hu|it|ja|km|ko|lt|mk|nb|nl|om|pl|pt|pt-BR|ru|sh|sl|sr|sv|tr|vi|zh-CN|zh-TW openoffice
 #LibreOffice      unxlngi6,unxmacxi,unxsoli4,unxsols4,wntmsci12                                  en-US   openoffice
 #LibreOffice_Dev  unxlngi6.pro,unxsoli4.pro,unxsols4.pro,wntmsci12.pro,unxmacxi.pro,unxlngx6.pro    en-US   openofficedev
 LibreOffice_SDK         unxlngi6.pro,unxmacxi.pro,unxsoli4.pro,unxsols4.pro,wntmsci12.pro,unxlngx6.pro  en-US   sdkoo
 #LibreOffice_Dev_SDK  unxlngi6.pro,unxmacxi.pro,unxsoli4.pro,unxsols4.pro,wntmsci12.pro,unxlngx6.pro  en-US   sdkoodev
 LibreOffice_Test         unxlngi6.pro,unxmacxi.pro,unxsoli4.pro,unxsols4.pro,wntmsci12.pro,unxlngx6.pro  en-US   test
-LibreOfficeLanguagepack unxlngi6.pro,unxmacxi.pro,unxsoli4.pro,unxsols4.pro,wntmsci12.pro,unxlngx6.pro en-US|ar|as|ast|be|bg|bn|ca|ca-XV|cs|da|de|dz|el|en-GB|eo|es|et|eu|fi|fr|ga|gl|gu|he|hi|hu|id|is|it|ja|ka|km|kn|ko|ku|lt|lv|mk|ml|mr|my|nb|nl|nn|oc|om|or|pa-IN|pl|pt|pt-BR|ro|ru|sh|si|sk|sl|sr|sv|ta|te|th|tr|ug|uk|uz|vi|zh-CN|zh-TW ooolanguagepack
+LibreOfficeLanguagepack unxlngi6.pro,unxmacxi.pro,unxsoli4.pro,unxsols4.pro,wntmsci12.pro,unxlngx6.pro en-US|ar|as|ast|be|bg|bn|ca|ca-valencia|cs|da|de|dz|el|en-GB|eo|es|et|eu|fi|fr|ga|gl|gu|he|hi|hu|id|is|it|ja|ka|km|kn|ko|ku|lt|lv|mk|ml|mr|my|nb|nl|nn|oc|om|or|pa-IN|pl|pt|pt-BR|ro|ru|sh|si|sk|sl|sr|sv|ta|te|th|tr|ug|uk|uz|vi|zh-CN|zh-TW ooolanguagepack
 #LibreOfficeLanguagepack   unxlngi6,unxsoli4,unxsols4,wntmsci12,unxmacxi                                     de      ooolanguagepack
-#LibreOfficeDevLanguagepack   unxlngi6.pro,unxsoli4.pro,unxsols4.pro,wntmsci12.pro,unxlngx6.pro,unxmacxi.pro     ar|as|ast|bg|bn|ca|ca-XV|cs|da|de|dz|el|en-GB|es|et|eu|fi|fr|ga|gl|gu|he|hi|hu|id|is|it|ja|km|kn|ko|lt|lv|mk|ml|mr|my|nb|nl|nn|oc|om|or|pa-IN|pl|pt|pt-BR|ru|sh|si|sk|sl|sr|sv|ta|te|th|tr|ug|uk|vi|zh-CN|zh-TW   ooodevlanguagepack
+#LibreOfficeDevLanguagepack   unxlngi6.pro,unxsoli4.pro,unxsols4.pro,wntmsci12.pro,unxlngx6.pro,unxmacxi.pro     ar|as|ast|bg|bn|ca|ca-valencia|cs|da|de|dz|el|en-GB|es|et|eu|fi|fr|ga|gl|gu|he|hi|hu|id|is|it|ja|km|kn|ko|lt|lv|mk|ml|mr|my|nb|nl|nn|oc|om|or|pa-IN|pl|pt|pt-BR|ru|sh|si|sk|sl|sr|sv|ta|te|th|tr|ug|uk|vi|zh-CN|zh-TW   ooodevlanguagepack
 
diff --git a/l10ntools/source/ulfconv/msi-encodinglist.txt b/l10ntools/source/ulfconv/msi-encodinglist.txt
index dd51279..529fabd 100644
--- a/l10ntools/source/ulfconv/msi-encodinglist.txt
+++ b/l10ntools/source/ulfconv/msi-encodinglist.txt
@@ -38,7 +38,7 @@ br       0  1150   # Breton
 brx      0  1603   # Bodo (India)
 bs       0  5146   # bosnian
 ca       0  1027   # Catalan
-ca-XV    0  2051   # Catalan Valencian
+ca-valencia     0  2051   # Catalan Valencian
 cs       0  1029   # Czech
 cy       0  1106   # Welsh
 da       0  1030
diff --git a/setup_native/source/packinfo/spellchecker_selection.txt b/setup_native/source/packinfo/spellchecker_selection.txt
index 1bfa4a2..909c166 100644
--- a/setup_native/source/packinfo/spellchecker_selection.txt
+++ b/setup_native/source/packinfo/spellchecker_selection.txt
@@ -34,7 +34,7 @@ bn = "bn"
 br = "br,fr"
 bs = "bs"
 ca = "ca,an,es,fr,it,oc"
-ca-XV = "ca,an,es,fr,it,oc"
+ca-valencia = "ca,an,es,fr,it,oc"
 cs = "cs"
 da = "da,de"
 de = "de,fr,it"
diff --git a/solenv/inc/langlist.mk b/solenv/inc/langlist.mk
index 541cff5..5656037 100644
--- a/solenv/inc/langlist.mk
+++ b/solenv/inc/langlist.mk
@@ -31,7 +31,7 @@ br \
 brx \
 bs \
 ca \
-ca-XV \
+ca-valencia \
 cs \
 cy \
 da \
diff --git a/svtools/source/misc/langtab.src b/svtools/source/misc/langtab.src
index db2ef94..ec8efe7 100644
--- a/svtools/source/misc/langtab.src
+++ b/svtools/source/misc/langtab.src
@@ -71,7 +71,7 @@ StringArray STR_ARR_SVT_LANGUAGE_TABLE
         < "Bulgarian" ; LANGUAGE_BULGARIAN ; > ;
         < "Belarusian" ; LANGUAGE_BELARUSIAN ; > ;
         < "Catalan" ; LANGUAGE_CATALAN ; > ;
-        < "Catalan (Valencian)" ; LANGUAGE_USER_CATALAN_VALENCIAN ; > ;     // UI only!
+        < "Catalan (Valencian)" ; LANGUAGE_USER_CATALAN_VALENCIAN ; > ;
         < "Chinese (traditional)" ; LANGUAGE_CHINESE_TRADITIONAL ; > ;
         < "Chinese (simplified)" ; LANGUAGE_CHINESE_SIMPLIFIED ; > ;
         < "Chinese (Hong Kong)" ; LANGUAGE_CHINESE_HONGKONG ; > ;
commit e68074d62b3245f590948ecec8d2f1786708f381
Author: Eike Rathke <erack at redhat.com>
Date:   Wed Aug 28 13:11:30 2013 +0200

    use Bcp47CountryEntry
    
    Change-Id: I604e4be0ff126153e163322aa7dc14acabd29138

diff --git a/i18nlangtag/source/isolang/isolang.cxx b/i18nlangtag/source/isolang/isolang.cxx
index 68f5735..1b6e3c4 100644
--- a/i18nlangtag/source/isolang/isolang.cxx
+++ b/i18nlangtag/source/isolang/isolang.cxx
@@ -753,6 +753,19 @@ static IsoLangOtherEntry const aImplPrivateUseEntries[] =
 void MsLangId::Conversion::convertLanguageToLocaleImpl( LanguageType nLang,
         ::com::sun::star::lang::Locale & rLocale )
 {
+    // Search for LangID in BCP47
+    for (const Bcp47CountryEntry* pBcp47Entry = aImplBcp47CountryEntries;
+            pBcp47Entry->mnLang != LANGUAGE_DONTKNOW; ++pBcp47Entry)
+    {
+        if ( pBcp47Entry->mnLang == nLang )
+        {
+            rLocale.Language = I18NLANGTAG_QLT;
+            rLocale.Country  = OUString::createFromAscii( pBcp47Entry->maCountry);
+            rLocale.Variant  = pBcp47Entry->getTagString();
+            return;
+        }
+    }
+
     // Search for LangID in ISO lll-Ssss-CC
     for (const IsoLanguageScriptCountryEntry* pScriptEntry = aImplIsoLangScriptEntries;
             pScriptEntry->mnLang != LANGUAGE_DONTKNOW; ++pScriptEntry)
@@ -809,6 +822,15 @@ void MsLangId::Conversion::convertLanguageToLocaleImpl( LanguageType nLang,
 
     if (rLocale.Language == I18NLANGTAG_QLT)
     {
+        // Search in BCP47, only full match, only LanguageTag can decide the
+        // proper fallback.
+        for (const Bcp47CountryEntry* pBcp47Entry = aImplBcp47CountryEntries;
+                pBcp47Entry->mnLang != LANGUAGE_DONTKNOW; ++pBcp47Entry)
+        {
+            if (rLocale.Variant.equalsIgnoreAsciiCase( pBcp47Entry->getTagString()))
+                return pBcp47Entry->getLocale();
+        }
+
         // Search in ISO lll-Ssss-CC
         const IsoLanguageScriptCountryEntry* pFirstScript = NULL;
         for (const IsoLanguageScriptCountryEntry* pScriptEntry = aImplIsoLangScriptEntries;
@@ -840,6 +862,7 @@ void MsLangId::Conversion::convertLanguageToLocaleImpl( LanguageType nLang,
             }
             return pFirstScript->getLocale();
         }
+
         // Extract language from tag string, country is used as present in
         // Locale because in the tables that follow we have only ISO 3166
         // countries and if that is in the tag string we also have it in the
@@ -928,6 +951,14 @@ LanguageType MsLangId::Conversion::convertLocaleToLanguageImpl(
         if (rLocale.Variant.startsWithIgnoreAsciiCase( "x-") || (rLocale.Variant == "*"))
             return convertPrivateUseToLanguage( rLocale.Variant);
 
+        // Search in BCP47
+        for (const Bcp47CountryEntry* pBcp47Entry = aImplBcp47CountryEntries;
+                pBcp47Entry->mnLang != LANGUAGE_DONTKNOW; ++pBcp47Entry)
+        {
+            if (rLocale.Variant.equalsIgnoreAsciiCase( pBcp47Entry->getTagString()))
+                return pBcp47Entry->mnLang;
+        }
+
         // Search in ISO lll-Ssss-CC
         for (const IsoLanguageScriptCountryEntry* pScriptEntry = aImplIsoLangScriptEntries;
                 pScriptEntry->mnLang != LANGUAGE_DONTKNOW; ++pScriptEntry)
@@ -1149,6 +1180,11 @@ LanguageType MsLangId::convertUnxByteStringToLanguage(
 ::std::vector< MsLangId::LanguagetagMapping > MsLangId::getDefinedLanguagetags()
 {
     ::std::vector< LanguagetagMapping > aVec;
+    for (const Bcp47CountryEntry* pEntry = aImplBcp47CountryEntries;
+            pEntry->mnLang != LANGUAGE_DONTKNOW; ++pEntry)
+    {
+        aVec.push_back( LanguagetagMapping( pEntry->getTagString(), pEntry->mnLang));
+    }
     for (const IsoLanguageScriptCountryEntry* pEntry = aImplIsoLangScriptEntries;
             pEntry->mnLang != LANGUAGE_DONTKNOW; ++pEntry)
     {


More information about the Libreoffice-commits mailing list