[Libreoffice-commits] core.git: 2 commits - i18nlangtag/qa i18nlangtag/README i18nlangtag/source i18npool/Library_localedata_euro.mk i18npool/source instsetoo_native/util l10ntools/source setup_native/source solenv/inc

Eike Rathke erack at redhat.com
Tue Sep 10 14:23:23 PDT 2013


 i18nlangtag/README                                      |   66 ++++
 i18nlangtag/qa/cppunit/test_languagetag.cxx             |   34 +-
 i18nlangtag/source/isolang/isolang.cxx                  |   23 -
 i18nlangtag/source/languagetag/languagetag.cxx          |   22 +
 i18npool/Library_localedata_euro.mk                     |    6 
 i18npool/source/localedata/data/sh_ME.xml               |   58 ---
 i18npool/source/localedata/data/sh_RS.xml               |  256 ---------------
 i18npool/source/localedata/data/sh_YU.xml               |   58 ---
 i18npool/source/localedata/data/sr_Latn_ME.xml          |   59 +++
 i18npool/source/localedata/data/sr_Latn_RS.xml          |  257 ++++++++++++++++
 i18npool/source/localedata/data/sr_Latn_YU.xml          |   59 +++
 i18npool/source/localedata/localedata.cxx               |    6 
 instsetoo_native/util/pack.lst                          |    6 
 l10ntools/source/ulfconv/msi-encodinglist.txt           |    2 
 setup_native/source/packinfo/spellchecker_selection.txt |    4 
 solenv/inc/langlist.mk                                  |    2 
 16 files changed, 514 insertions(+), 404 deletions(-)

New commits:
commit e759a9864677d10b936f8e50dc87dd3a214435c5
Author: Eike Rathke <erack at redhat.com>
Date:   Tue Sep 10 23:16:16 2013 +0200

    added description of tag change process
    
    Change-Id: Ib539961099561d3b8d437f8f21dbe363f17b0ded

diff --git a/i18nlangtag/README b/i18nlangtag/README
index 88ca43b..edb8dc8 100644
--- a/i18nlangtag/README
+++ b/i18nlangtag/README
@@ -1,3 +1,67 @@
 Code for language tags, LanguageTag wrapper for liblangtag and converter between BCP47 language tags, Locale(Language,Country,Variant) and MS-LangIDs.
 
-Basic functionality used by almost every other module including comphelper, so even don't use that string helpers in this code to not create circular dependencies. Stick with sal!
+Basic functionality used by almost every other module including comphelper, so even don't use that string helpers in this code to not create circular dependencies. Stick with sal and rtl!
+
+
+
+If Microsoft introduced a new LCID for a locale that we previously defined as LANGUAGE_USER_..., for example LANGUAGE_CATALAN_VALENCIAN that we had as LANGUAGE_USER_CATALAN_VALENCIAN:
+
+* include/i18nlangtag/lang.h
+** add the new LANGUAGE_... value as defined by MS, here LANGUAGE_CATALAN_VALENCIAN
+** rename the LANGUAGE_USER_... definition to LANGUAGE_OBSOLETE_USER_..., here LANGUAGE_USER_CATALAN_VALENCIAN to LANGUAGE_OBSOLETE_USER_CATALAN_VALENCIAN
+** add a  #define LANGUAGE_USER_CATALAN_VALENCIAN LANGUAGE_CATALAN_VALENCIAN
+*** so svtools/source/misc/langtab.src (where the defined name is an identifier) and other places using LANGUAGE_USER_CATALAN_VALENCIAN do not need to be changed
+
+* i18nlangtag/source/isolang/isolang.cxx
+** insert a mapping with LANGUAGE_CATALAN_VALENCIAN before (!) the existing LANGUAGE_USER_CATALAN_VALENCIAN
+** rename the LANGUAGE_USER_CATALAN_VALENCIAN to LANGUAGE_OBSOLETE_USER_CATALAN_VALENCIAN
+*** so converting the tag maps to the new LANGUAGE_CATALAN_VALENCIAN and converting the old LANGUAGE_OBSOLETE_USER_CATALAN_VALENCIAN still maps to the tag.
+
+* i18nlangtag/source/isolang/mslangid.cxx
+** add an entry to MsLangId::getReplacementForObsoleteLanguage() to convert LANGUAGE_OBSOLETE_USER_CATALAN_VALENCIAN to LANGUAGE_CATALAN_VALENCIAN
+
+
+
+When changing a (translation's) language tag (for example, 'ca-XV' to 'ca-valencia' or 'sh' to 'sr-Latn'):
+
+* solenv/inc/langlist.mk
+** replace the tag and sort alphabetically
+
+* in translations/source do  git mv old-tag new-tag
+** note that translations is a git submodule so https://wiki.documentfoundation.org/Development/Submodules applies
+
+* i18nlangtag/source/isolang/isolang.cxx
+** maintain the old tag's mapping entry in aImplIsoLangEntries to be able to read existing documents using that code
+** add the new tag's mapping to aImplBcp47CountryEntries or aImplIsoLangScriptEntries
+** change mbOverrideExists from false to true in aImplIsoLangScriptEntries
+
+* i18nlangtag/source/languagetag/languagetag.cxx
+** add the new tag's fallback strings to the fallback of the old tag in LanguageTag::getFallbackStrings()
+
+* i18nlangtag/qa/cppunit/test_languagetag.cxx
+** add a unit test for the new tag and old tag
+
+* instsetoo_native/util/pack.lst
+** replace the tag in List_of_languages and sort alphabetically
+
+* l10ntools/source/ulfconv/msi-encodinglist.txt
+** replace the tag and sort alphabetically
+
+* setup_native/source/packinfo/spellchecker_selection.txt
+** replace the tag
+
+If locale data exists:
+
+* i18npool/source/localedata/data/*.xml     for example i18npool/source/localedata/data/sh_RS.xml 
+** in the <LC_INFO> element
+*** change <LangID> to 'qlt'
+*** after the <Country> element add a <Variant> element with the new full BCP 47 tag, for example 'sr-Latn-RS'
+**** note that <Variant> has no <VariantID> or <DefaultName> child elements
+** if any of the other *.xml files reference the locale in a ref="..." attribute, change those too; note that these references use '_' underscore instead of '-' hyphen just like the file names do
+** rename sh_RS.xml to sr_Latn_RS.xml,  git mv sh_RS.xml sr_Latn_RS.xml
+
+* i18npool/source/localedata/localedata.cxx
+** in aLibTable change the entry from old "sh_RS" to new "sr_Latn_RS", do not sort the table
+
+* i18npool/Library_localedata_*.mk      for example i18npool/Library_localedata_euro.mk
+** change the entry for the changed .xml file, for example CustomTarget/i18npool/localedata/localedata_sh_RS to CustomTarget/i18npool/localedata/localedata_sr_Latn_RS, sort the list alphabetically
commit b6cd9d8d5042fb24deb58bd762d8266867d1d0f4
Author: Eike Rathke <erack at redhat.com>
Date:   Tue Sep 10 23:13:06 2013 +0200

    changed all 'sh' language to 'sr-Latn'
    
    Change-Id: Iafadaea87501bc3675eaf2856b5050a7e3ecaa37

diff --git a/i18nlangtag/qa/cppunit/test_languagetag.cxx b/i18nlangtag/qa/cppunit/test_languagetag.cxx
index aace20a..72297cc 100644
--- a/i18nlangtag/qa/cppunit/test_languagetag.cxx
+++ b/i18nlangtag/qa/cppunit/test_languagetag.cxx
@@ -130,12 +130,7 @@ void TestLanguageTag::testAllTags()
         CPPUNIT_ASSERT( aLocale.Language == "qlt" );
         CPPUNIT_ASSERT( aLocale.Country == "RS" );
         CPPUNIT_ASSERT( aLocale.Variant == s_sr_Latn_RS );
-        /* TODO: conversion doesn't know this yet, once it does activate test. */
-#if 0
         CPPUNIT_ASSERT( sr_RS.getLanguageType() == LANGUAGE_USER_SERBIAN_LATIN_SERBIA );
-#else
-        CPPUNIT_ASSERT( sr_RS.getLanguageType() == LANGUAGE_SYSTEM );
-#endif
         CPPUNIT_ASSERT( sr_RS.isValidBcp47() == true );
         CPPUNIT_ASSERT( sr_RS.isIsoLocale() == false );
         CPPUNIT_ASSERT( sr_RS.isIsoODF() == true );
@@ -146,6 +141,35 @@ void TestLanguageTag::testAllTags()
     }
 
     {
+        OUString s_sh_RS( "sh-RS" );
+        LanguageTag sh_RS( s_sh_RS, true );
+        lang::Locale aLocale = sh_RS.getLocale();
+        CPPUNIT_ASSERT( sh_RS.getBcp47() == s_sh_RS );
+        CPPUNIT_ASSERT( aLocale.Language == "sh" );
+        CPPUNIT_ASSERT( aLocale.Country == "RS" );
+        CPPUNIT_ASSERT( aLocale.Variant == "" );
+        CPPUNIT_ASSERT( sh_RS.getLanguageType() == LANGUAGE_USER_SERBIAN_LATIN_SERBIA );
+        CPPUNIT_ASSERT( sh_RS.isValidBcp47() == true );
+        CPPUNIT_ASSERT( sh_RS.isIsoLocale() == true );
+        CPPUNIT_ASSERT( sh_RS.isIsoODF() == true );
+        CPPUNIT_ASSERT( sh_RS.getLanguage() == "sh" );
+        CPPUNIT_ASSERT( sh_RS.getCountry() == "RS" );
+        CPPUNIT_ASSERT( sh_RS.getScript() == "" );
+        CPPUNIT_ASSERT( sh_RS.getLanguageAndScript() == "sh" );
+        ::std::vector< OUString > sh_RS_Fallbacks( sh_RS.getFallbackStrings( true));
+        CPPUNIT_ASSERT( sh_RS_Fallbacks.size() == 6);
+        CPPUNIT_ASSERT( sh_RS_Fallbacks[0] == "sh-RS");
+        CPPUNIT_ASSERT( sh_RS_Fallbacks[1] == "sr-Latn-RS");
+        CPPUNIT_ASSERT( sh_RS_Fallbacks[2] == "sr-Latn");
+        CPPUNIT_ASSERT( sh_RS_Fallbacks[3] == "sr-RS");
+        CPPUNIT_ASSERT( sh_RS_Fallbacks[4] == "sr");
+        CPPUNIT_ASSERT( sh_RS_Fallbacks[5] == "sh");
+        CPPUNIT_ASSERT( sh_RS.makeFallback().getBcp47() == "sr-Latn-RS");
+        CPPUNIT_ASSERT( sh_RS.getBcp47() == "sr-Latn-RS");
+        CPPUNIT_ASSERT( sh_RS.getLanguageType() == LANGUAGE_USER_SERBIAN_LATIN_SERBIA );
+    }
+
+    {
         OUString s_ca_ES_valencia( "ca-ES-valencia" );
         LanguageTag ca_ES_valencia( s_ca_ES_valencia, true );
         lang::Locale aLocale = ca_ES_valencia.getLocale();
diff --git a/i18nlangtag/source/isolang/isolang.cxx b/i18nlangtag/source/isolang/isolang.cxx
index 74eb737..76ad252 100644
--- a/i18nlangtag/source/isolang/isolang.cxx
+++ b/i18nlangtag/source/isolang/isolang.cxx
@@ -283,12 +283,12 @@ static IsoLanguageCountryEntry const aImplIsoLangEntries[] =
     { LANGUAGE_SERBIAN_CYRILLIC,                    "sr", "CS", false },   // alias to be able to integrate localizations, rsc needs it
     { LANGUAGE_USER_SERBIAN_CYRILLIC_MONTENEGRO,    "sr", "ME", false },
     { LANGUAGE_SERBIAN_CYRILLIC_BOSNIA_HERZEGOVINA, "sr", "BA", false },
-    { LANGUAGE_USER_SERBIAN_LATIN_SERBIA,           "sh", "RS", false },   // Serbian Latin in Serbia; kludge, needed to be sr_Latn_RS instead, script codes not supported yet
-    { LANGUAGE_SERBIAN_LATIN,                       "sh", "YU", false },   // legacy Serbian Latin in Serbia and Montenegro (former Yugoslavia); kludge, needed to be sr_Latn_CS instead, script codes not supported yet
-    { LANGUAGE_SERBIAN_LATIN,                       "sh", "CS", false },   // Serbian Latin in Serbia and Montenegro; kludge, needed to be sr_Latn_CS instead, script codes not supported yet
-    { LANGUAGE_USER_SERBIAN_LATIN_MONTENEGRO,       "sh", "ME", false },   // Serbian Latin in Montenegro; kludge, needed to be sr_Latn_ME instead, script codes not supported yet
-    { LANGUAGE_SERBIAN_LATIN_BOSNIA_HERZEGOVINA,    "sh", "BA", false },
-    { LANGUAGE_SERBIAN_LATIN_NEUTRAL,               "sh", ""  , false },   // kludge, needed to be sr_Latn instead, script codes not supported yet
+    { LANGUAGE_USER_SERBIAN_LATIN_SERBIA,           "sh", "RS", true  },   // legacy kludge, is sr-Latn-RS now
+    { LANGUAGE_SERBIAN_LATIN,                       "sh", "YU", true  },   // legacy kludge, is sr-Latn-YU now
+    { LANGUAGE_SERBIAN_LATIN,                       "sh", "CS", true  },   // legacy kludge, is sr-Latn-CS now
+    { LANGUAGE_USER_SERBIAN_LATIN_MONTENEGRO,       "sh", "ME", true  },   // legacy kludge, is sr-Latn-ME now
+    { LANGUAGE_SERBIAN_LATIN_BOSNIA_HERZEGOVINA,    "sh", "BA", true  },   // legacy kludge, is sr-Latn-BA now
+    { LANGUAGE_SERBIAN_LATIN_NEUTRAL,               "sh", ""  , true  },   // legacy kludge, is sr-Latn now
     { LANGUAGE_ARMENIAN,                    "hy", "AM", false },
     { LANGUAGE_AZERI_LATIN,                 "az", "AZ", false },
 //  { LANGUAGE_AZERI_CYRILLIC,              "az", "AZ", false },   // script codes not supported yet
@@ -575,9 +575,14 @@ static IsoLanguageCountryEntry const aImplIsoLangEntries[] =
 
 static IsoLanguageScriptCountryEntry const aImplIsoLangScriptEntries[] =
 {
-    // MS-LangID                      ISO639-ISO15924, ISO3166
-//  { LANGUAGE_USER_SERBIAN_LATIN_SERBIA,   "sr-Latn", "RS" },  // for example, once we support it in l10n; TODO: adapt unit test in this case
-    { LANGUAGE_DONTKNOW,                    "",        ""   }   // marks end of table
+    // MS-LangID                          ISO639-ISO15924, ISO3166
+    { LANGUAGE_USER_SERBIAN_LATIN_SERBIA,       "sr-Latn", "RS" },
+    { LANGUAGE_SERBIAN_LATIN,                   "sr-Latn", "CS" },  // Serbian Latin in Serbia and Montenegro; note that not all applications may know about the 'CS' reusage mess, see https://en.wikipedia.org/wiki/ISO_3166-2:CS
+    { LANGUAGE_SERBIAN_LATIN,                   "sr-Latn", "YU" },  // legacy Serbian Latin in Yugoslavia
+    { LANGUAGE_USER_SERBIAN_LATIN_MONTENEGRO,   "sr-Latn", "ME" },
+    { LANGUAGE_SERBIAN_LATIN_BOSNIA_HERZEGOVINA,"sr-Latn", "BA" },
+    { LANGUAGE_SERBIAN_LATIN_NEUTRAL,           "sr-Latn", ""   },
+    { LANGUAGE_DONTKNOW,                        "",        ""   }   // marks end of table
 };
 
 static Bcp47CountryEntry const aImplBcp47CountryEntries[] =
diff --git a/i18nlangtag/source/languagetag/languagetag.cxx b/i18nlangtag/source/languagetag/languagetag.cxx
index 3e1b331..7e3a7d7 100644
--- a/i18nlangtag/source/languagetag/languagetag.cxx
+++ b/i18nlangtag/source/languagetag/languagetag.cxx
@@ -1239,17 +1239,31 @@ LanguageTag & LanguageTag::makeFallback()
                     aVec.push_back( aLanguage + "-CN");
                 aVec.push_back( aLanguage);
             }
+            else if (aLanguage == "sh")
+            {
+                ::std::vector< OUString > aRep( LanguageTag( "sr-Latn-" + aCountry).getFallbackStrings( true));
+                aVec.insert( aVec.end(), aRep.begin(), aRep.end());
+                aVec.push_back( aLanguage);     // 'sh' after all 'sr...'?
+            }
             else if (aLanguage == "ca" && aCountry == "XV")
             {
-                ::std::vector< OUString > aCav( LanguageTag( "ca-ES-valencia").getFallbackStrings( true));
-                aVec.insert( aVec.end(), aCav.begin(), aCav.end());
+                ::std::vector< OUString > aRep( LanguageTag( "ca-ES-valencia").getFallbackStrings( true));
+                aVec.insert( aVec.end(), aRep.begin(), aRep.end());
                 // Already includes 'ca' language fallback.
             }
             else
                 aVec.push_back( aLanguage);
         }
-        else if (bIncludeFullBcp47)
-            aVec.push_back( aLanguage);
+        else
+        {
+            if (bIncludeFullBcp47)
+                aVec.push_back( aLanguage);
+            if (aLanguage == "sh")
+            {
+                ::std::vector< OUString > aRep( LanguageTag( "sr-Latn").getFallbackStrings( true));
+                aVec.insert( aVec.end(), aRep.begin(), aRep.end());
+            }
+        }
         return aVec;
     }
 
diff --git a/i18npool/Library_localedata_euro.mk b/i18npool/Library_localedata_euro.mk
index c6d33dd..8b533ed 100644
--- a/i18npool/Library_localedata_euro.mk
+++ b/i18npool/Library_localedata_euro.mk
@@ -76,11 +76,11 @@ $(eval $(call gb_Library_add_generated_exception_objects,localedata_euro,\
 	CustomTarget/i18npool/localedata/localedata_rue_SK \
 	CustomTarget/i18npool/localedata/localedata_ru_RU \
 	CustomTarget/i18npool/localedata/localedata_sc_IT \
-	CustomTarget/i18npool/localedata/localedata_sh_ME \
-	CustomTarget/i18npool/localedata/localedata_sh_RS \
-	CustomTarget/i18npool/localedata/localedata_sh_YU \
 	CustomTarget/i18npool/localedata/localedata_sk_SK \
 	CustomTarget/i18npool/localedata/localedata_sl_SI \
+	CustomTarget/i18npool/localedata/localedata_sr_Latn_ME \
+	CustomTarget/i18npool/localedata/localedata_sr_Latn_RS \
+	CustomTarget/i18npool/localedata/localedata_sr_Latn_YU \
 	CustomTarget/i18npool/localedata/localedata_sr_ME \
 	CustomTarget/i18npool/localedata/localedata_sr_RS \
 	CustomTarget/i18npool/localedata/localedata_sr_YU \
diff --git a/i18npool/source/localedata/data/sh_ME.xml b/i18npool/source/localedata/data/sr_Latn_ME.xml
similarity index 80%
rename from i18npool/source/localedata/data/sh_ME.xml
rename to i18npool/source/localedata/data/sr_Latn_ME.xml
index b039f01..86aee0b 100644
--- a/i18npool/source/localedata/data/sh_ME.xml
+++ b/i18npool/source/localedata/data/sr_Latn_ME.xml
@@ -20,20 +20,21 @@
 <Locale versionDTD="2.0.3" allowUpdateFromCLDR="yes" version="1.2">
   <LC_INFO>
     <Language>
-      <LangID>sh</LangID>
+      <LangID>qlt</LangID>
       <DefaultName>Serbian Latin</DefaultName>
     </Language>
     <Country>
       <CountryID>ME</CountryID>
       <DefaultName>Serbia</DefaultName>
     </Country>
+    <Variant>sr-Latn-ME</Variant>
   </LC_INFO>
-  <LC_CTYPE ref="sh_RS"/>
-  <LC_FORMAT ref="sh_RS" replaceTo="[$€-C81A]"/>
-  <LC_COLLATION ref="sh_RS"/>
-  <LC_SEARCH ref="sh_RS"/>
-  <LC_INDEX ref="sh_RS"/>
-  <LC_CALENDAR ref="sh_RS"/>
+  <LC_CTYPE ref="sr_Latn_RS"/>
+  <LC_FORMAT ref="sr_Latn_RS" replaceTo="[$€-C81A]"/>
+  <LC_COLLATION ref="sr_Latn_RS"/>
+  <LC_SEARCH ref="sr_Latn_RS"/>
+  <LC_INDEX ref="sr_Latn_RS"/>
+  <LC_CALENDAR ref="sr_Latn_RS"/>
   <LC_CURRENCY>
     <Currency default="true" usedInCompatibleFormatCodes="true">
       <CurrencyID>EUR</CurrencyID>
@@ -50,9 +51,9 @@
       <DecimalPlaces>2</DecimalPlaces>
     </Currency>
   </LC_CURRENCY>
-  <LC_TRANSLITERATION ref="sh_RS"/>
-  <LC_MISC ref="sh_RS"/>
-  <LC_NumberingLevel ref="sh_RS"/>
-  <LC_OutLineNumberingLevel ref="sh_RS"/>
+  <LC_TRANSLITERATION ref="sr_Latn_RS"/>
+  <LC_MISC ref="sr_Latn_RS"/>
+  <LC_NumberingLevel ref="sr_Latn_RS"/>
+  <LC_OutLineNumberingLevel ref="sr_Latn_RS"/>
 </Locale>
 
diff --git a/i18npool/source/localedata/data/sh_RS.xml b/i18npool/source/localedata/data/sr_Latn_RS.xml
similarity index 99%
rename from i18npool/source/localedata/data/sh_RS.xml
rename to i18npool/source/localedata/data/sr_Latn_RS.xml
index 7c4e622c..c1373b7 100644
--- a/i18npool/source/localedata/data/sh_RS.xml
+++ b/i18npool/source/localedata/data/sr_Latn_RS.xml
@@ -20,13 +20,14 @@
 <Locale versionDTD="2.0.3" allowUpdateFromCLDR="no" version="1.0">
   <LC_INFO>
     <Language>
-      <LangID>sh</LangID>
+      <LangID>qlt</LangID>
       <DefaultName>Serbian Latin</DefaultName>
     </Language>
     <Country>
       <CountryID>RS</CountryID>
       <DefaultName>Serbia</DefaultName>
     </Country>
+    <Variant>sr-Latn-RS</Variant>
   </LC_INFO>
   <LC_CTYPE>
     <Separators>
diff --git a/i18npool/source/localedata/data/sh_YU.xml b/i18npool/source/localedata/data/sr_Latn_YU.xml
similarity index 80%
rename from i18npool/source/localedata/data/sh_YU.xml
rename to i18npool/source/localedata/data/sr_Latn_YU.xml
index f46c96d..7197448 100644
--- a/i18npool/source/localedata/data/sh_YU.xml
+++ b/i18npool/source/localedata/data/sr_Latn_YU.xml
@@ -20,20 +20,21 @@
 <Locale versionDTD="2.0.3" allowUpdateFromCLDR="yes" version="1.2">
   <LC_INFO>
     <Language>
-      <LangID>sh</LangID>
+      <LangID>qlt</LangID>
       <DefaultName>Serbian Latin</DefaultName>
     </Language>
     <Country>
       <CountryID>YU</CountryID>
       <DefaultName>Serbia and Montenegro</DefaultName>
     </Country>
+    <Variant>sr-Latn-YU</Variant>
   </LC_INFO>
-  <LC_CTYPE ref="sh_RS"/>
-  <LC_FORMAT ref="sh_RS" replaceTo="[$Din-81A]"/>
-  <LC_COLLATION ref="sh_RS"/>
-  <LC_SEARCH ref="sh_RS"/>
-  <LC_INDEX ref="sh_RS"/>
-  <LC_CALENDAR ref="sh_RS"/>
+  <LC_CTYPE ref="sr_Latn_RS"/>
+  <LC_FORMAT ref="sr_Latn_RS" replaceTo="[$Din-81A]"/>
+  <LC_COLLATION ref="sr_Latn_RS"/>
+  <LC_SEARCH ref="sr_Latn_RS"/>
+  <LC_INDEX ref="sr_Latn_RS"/>
+  <LC_CALENDAR ref="sr_Latn_RS"/>
   <LC_CURRENCY>
     <Currency default="true" usedInCompatibleFormatCodes="true">
       <CurrencyID>CSD</CurrencyID>
@@ -50,9 +51,9 @@
       <DecimalPlaces>2</DecimalPlaces>
     </Currency>
   </LC_CURRENCY>
-  <LC_TRANSLITERATION ref="sh_RS"/>
-  <LC_MISC ref="sh_RS"/>
-  <LC_NumberingLevel ref="sh_RS"/>
-  <LC_OutLineNumberingLevel ref="sh_RS"/>
+  <LC_TRANSLITERATION ref="sr_Latn_RS"/>
+  <LC_MISC ref="sr_Latn_RS"/>
+  <LC_NumberingLevel ref="sr_Latn_RS"/>
+  <LC_OutLineNumberingLevel ref="sr_Latn_RS"/>
 </Locale>
 
diff --git a/i18npool/source/localedata/localedata.cxx b/i18npool/source/localedata/localedata.cxx
index 9c9d991..f99e355 100644
--- a/i18npool/source/localedata/localedata.cxx
+++ b/i18npool/source/localedata/localedata.cxx
@@ -133,9 +133,9 @@ static const struct {
     { "ro_RO",  lcl_DATA_EURO },
     { "cy_GB",  lcl_DATA_EURO },
     { "bg_BG",  lcl_DATA_EURO },
-    { "sh_ME",  lcl_DATA_EURO },
-    { "sh_RS",  lcl_DATA_EURO },
-    { "sh_YU",  lcl_DATA_EURO },
+    { "sr_Latn_ME",  lcl_DATA_EURO },
+    { "sr_Latn_RS",  lcl_DATA_EURO },
+    { "sr_Latn_YU",  lcl_DATA_EURO },
     { "sr_ME",  lcl_DATA_EURO },
     { "sr_RS",  lcl_DATA_EURO },
     { "sr_YU",  lcl_DATA_EURO },
diff --git a/instsetoo_native/util/pack.lst b/instsetoo_native/util/pack.lst
index 1de49d1..7f6c914 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-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.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|sl|sr|sr-Latn|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-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.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|si|sk|sl|sr|sr-Latn|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-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
+#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|si|sk|sl|sr|sr-Latn|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 529fabd..efa66c0 100644
--- a/l10ntools/source/ulfconv/msi-encodinglist.txt
+++ b/l10ntools/source/ulfconv/msi-encodinglist.txt
@@ -132,13 +132,13 @@ sat      0  1606   # Santali
 sb       0  1070   # Sorbian
 sc       0  3047
 sd       0  1113   # Sindhi
-sh       0  2074   # Serbian Latin
 si       0  2133
 sid      0  1669   # Sidama, fake LCID
 sk       0  1051   # Slovak
 sl       0  1060   # Slovenian
 sq       0  1052   # Albanian
 sr       0  3098   # Serbian Cyrillic
+sr-Latn  0  2074   # Serbian Latin
 sr-SP    0  3098   # Serbian Cyrillic
 ss       0  1579   # Swazi
 st       0  1072   # Southern Sotho, Sutu
diff --git a/setup_native/source/packinfo/spellchecker_selection.txt b/setup_native/source/packinfo/spellchecker_selection.txt
index 909c166..6799ba5 100644
--- a/setup_native/source/packinfo/spellchecker_selection.txt
+++ b/setup_native/source/packinfo/spellchecker_selection.txt
@@ -74,8 +74,8 @@ sk = "sk"
 sl = "sl"
 sv = "sv,de"
 sr = "sr"
-# ! Note the package 'sr' also holds the dictionaries for 'sh' !
-sh = "sr"
+# ! Note the package 'sr' also holds the dictionaries for 'sr-Latn' (formerly 'sh') !
+sr-Latn = "sr"
 sw = "sw"
 te = "te"
 th = "th"
diff --git a/solenv/inc/langlist.mk b/solenv/inc/langlist.mk
index 5656037..57234e3 100644
--- a/solenv/inc/langlist.mk
+++ b/solenv/inc/langlist.mk
@@ -99,7 +99,7 @@ rw \
 sa-IN \
 sat \
 sd \
-sh \
+sr-Latn \
 si \
 sid \
 sk \


More information about the Libreoffice-commits mailing list