Date: prev next · Thread: first prev next last
2011 Archives by date, by thread · List index



* In locale data replaceTo must not be empty if replaceFrom isn't.
+ Also added check to locale data compiler to prevent this in future.
* Fixed a currency format's group separator.
* Marked LANGUAGE_USER_KABYLE (0x0659) obsolete as LANGUAGE_TAMAZIGHT_LATIN
  (0x085F) is used instead, actually commit
  909c9aa4550a068513300bc3e899c0466d9287b4 crossed
  b51eaf4c5083ec35366d18c522a7dd50f9c9b3c0
- Removed the corresponding duplicated entry from langtab.src

Stumbled upon this when in an --enable-dbgutil build initializing the number
formats when opening a new spreadsheet gave

LocaleDataWrapper::getCurrFormatsImpl: CurrPositiveFormat?
kab_DZ requested
kab_DZ loaded

LocaleDataWrapper::getCurrFormatsImpl: CurrNegativeFormat?
kab_DZ requested
kab_DZ loaded

and choosing Kabyle Latin in the number formatter dialog gave a few

SvNumberFormatter::ImpInsertFormat: no [$...] on currency format code, index 12:
#.##0;-#.##0
kab_DZ requested
kab_DZ loaded

and so on.

The result were generated formats in the form
#.##0,00[$DA-85F];[RED]-#.##0,00[$DA-85F]
instead of
[$DA-85F]#.##0,00;[RED]-[$DA-85F]#,##0,00
---
 i18npool/inc/i18npool/lang.h               |    3 ++-
 i18npool/source/isolang/isolang.cxx        |    2 +-
 i18npool/source/isolang/mslangid.cxx       |    3 +++
 i18npool/source/localedata/LocaleNode.cxx  |    5 ++++-
 i18npool/source/localedata/data/kab_DZ.xml |    4 ++--
 svtools/source/misc/langtab.src            |    1 -
 6 files changed, 12 insertions(+), 6 deletions(-)

diff --git a/i18npool/inc/i18npool/lang.h b/i18npool/inc/i18npool/lang.h
index ab195d6..e34b019 100644
--- a/i18npool/inc/i18npool/lang.h
+++ b/i18npool/inc/i18npool/lang.h
@@ -520,7 +520,8 @@ typedef unsigned short LanguageType;
 #define LANGUAGE_USER_YIDDISH_US            0x083D  /* makeLangID( 0x20, getPrimaryLanguage( 
LANGUAGE_YIDDISH)) */
 #define LANGUAGE_USER_LIMBU                 0x0657
 #define LANGUAGE_USER_LOJBAN                0x0658  /* no locale */
-#define LANGUAGE_USER_KABYLE                0x0659
+#define LANGUAGE_OBSOLETE_USER_KABYLE       0x0659
+#define LANGUAGE_USER_KABYLE                LANGUAGE_TAMAZIGHT_LATIN
 #define LANGUAGE_USER_HAITIAN               0x065A
 #define LANGUAGE_USER_BEEMBE                0x065B
 #define LANGUAGE_USER_BEKWEL                0x065C
diff --git a/i18npool/source/isolang/isolang.cxx b/i18npool/source/isolang/isolang.cxx
index 3dac780..c777c74 100644
--- a/i18npool/source/isolang/isolang.cxx
+++ b/i18npool/source/isolang/isolang.cxx
@@ -386,6 +386,7 @@ static MsLangId::IsoLangEntry const aImplIsoLangEntries[] =
 //  { LANGUAGE_IBIBIO_NIGERIA,             "nic", "NG" },   // ISO "nic" is only a collective 
language code
     { LANGUAGE_YI,                          "ii", "CN" },
     { LANGUAGE_TAMAZIGHT_LATIN,            "kab", "DZ" },   // In practice Kabyle is the language 
used for this
+    { LANGUAGE_OBSOLETE_USER_KABYLE,       "kab", "DZ" },
     { LANGUAGE_TAMAZIGHT_LATIN,            "ber", "DZ" },   // In practice Algeria has 
standardized on Kabyle as the member of the "ber" collective which gets used there.
     { LANGUAGE_TAMAZIGHT_TIFINAGH,         "ber", "MA" },   // Morocco is officially using 
Tifinagh for its Berber languages so store it to distinguish explicitly from 
LANGUAGE_TAMAZIGHT_LATIN, even though as a collective language its not of much use
 //  { LANGUAGE_TAMAZIGHT_ARABIC,           "ber", ""   },   // ISO "ber" only collective!
@@ -467,7 +468,6 @@ static MsLangId::IsoLangEntry const aImplIsoLangEntries[] =
     { LANGUAGE_USER_RUSYN_SLOVAKIA,        "rue", "SK" },
     { LANGUAGE_USER_LIMBU,                 "lif", "NP" },
     { LANGUAGE_USER_LOJBAN,                "jbo", ""   },
-    { LANGUAGE_USER_KABYLE,                "kab", "DZ" },
     { LANGUAGE_USER_HAITIAN,                "ht", "HT" },
     { LANGUAGE_FRENCH_HAITI,                "fr", "HT" },
     { LANGUAGE_USER_BEEMBE,                "beq", "CG" },
diff --git a/i18npool/source/isolang/mslangid.cxx b/i18npool/source/isolang/mslangid.cxx
index 74838ba..ec4f99c 100644
--- a/i18npool/source/isolang/mslangid.cxx
+++ b/i18npool/source/isolang/mslangid.cxx
@@ -414,6 +414,9 @@ LanguageType MsLangId::getReplacementForObsoleteLanguage( LanguageType nLang )
         case LANGUAGE_OBSOLETE_USER_LUXEMBOURGISH:
             nLang = LANGUAGE_LUXEMBOURGISH_LUXEMBOURG;
             break;
+        case LANGUAGE_OBSOLETE_USER_KABYLE:
+            nLang = LANGUAGE_TAMAZIGHT_LATIN;
+            break;
 
         // The following are not strictly obsolete but should be mapped to a 
         // replacement locale when encountered.
diff --git a/i18npool/source/localedata/LocaleNode.cxx b/i18npool/source/localedata/LocaleNode.cxx
index 72f4464..5cae6a0 100644
--- a/i18npool/source/localedata/LocaleNode.cxx
+++ b/i18npool/source/localedata/LocaleNode.cxx
@@ -598,8 +598,11 @@ void LCFormatNode::generateCode (const OFileWriter &of) const
     OUString str;
     if (mnSection >= 2)
         incError("more than 2 LC_FORMAT sections");
-    of.writeParameter("replaceFrom", getAttr().getValueByName("replaceFrom"), mnSection);
+    OUString strFrom( getAttr().getValueByName("replaceFrom"));
+    of.writeParameter("replaceFrom", strFrom, mnSection);
     str = getAttr().getValueByName("replaceTo");
+    if (strFrom.getLength() && !str.getLength())
+        incErrorStr("replaceFrom=\"%s\" replaceTo=\"\" is empty replacement.", strFrom);
     // Locale data generator inserts FFFF for LangID, we need to adapt that.
     if (str.endsWithIgnoreAsciiCaseAsciiL( "-FFFF]", 6))
         incErrorStr("replaceTo=\"%s\" needs FFFF to be adapted to the real LangID value.", str);
diff --git a/i18npool/source/localedata/data/kab_DZ.xml b/i18npool/source/localedata/data/kab_DZ.xml
index 41e3ab2..0e3ac54 100644
--- a/i18npool/source/localedata/data/kab_DZ.xml
+++ b/i18npool/source/localedata/data/kab_DZ.xml
@@ -34,7 +34,7 @@
 <TimePM>n tmeddit</TimePM>
 <MeasurementSystem>metric</MeasurementSystem>
 </LC_CTYPE>
-<LC_FORMAT replaceFrom="[CURRENCY]" replaceTo="">
+<LC_FORMAT replaceFrom="[CURRENCY]" replaceTo="[$DA-85F]">
 <FormatElement msgid="FixedFormatskey1" default="true" type="medium" usage="FIXED_NUMBER" 
formatindex="0">
 <FormatCode>General</FormatCode>
 </FormatElement>
@@ -69,7 +69,7 @@
 <FormatCode>[CURRENCY]#.##0;-[CURRENCY]#.##0</FormatCode>
 </FormatElement>
 <FormatElement msgid="CurrencyFormatskey2" default="false" type="medium" usage="CURRENCY" 
formatindex="13">
-<FormatCode>[CURRENCY]#.##0,00;-[CURRENCY]#,##0,00</FormatCode>
+<FormatCode>[CURRENCY]#.##0,00;-[CURRENCY]#.##0,00</FormatCode>
 </FormatElement>
 <FormatElement msgid="CurrencyFormatskey3" default="false" type="medium" usage="CURRENCY" 
formatindex="14">
 <FormatCode>[CURRENCY]#.##0;[RED]-[CURRENCY]#.##0</FormatCode>
diff --git a/svtools/source/misc/langtab.src b/svtools/source/misc/langtab.src
index 81d4f96..4a625bc 100644
--- a/svtools/source/misc/langtab.src
+++ b/svtools/source/misc/langtab.src
@@ -329,7 +329,6 @@ StringArray STR_ARR_SVT_LANGUAGE_TABLE
         < "Hawaiian" ; LANGUAGE_HAWAIIAN_UNITED_STATES ; > ;
         < "Limbu" ; LANGUAGE_USER_LIMBU ; > ;
         < "Lojban" ; LANGUAGE_USER_LOJBAN ; > ;
-        < "Kabyle" ; LANGUAGE_USER_KABYLE ; > ;
         < "Haitian" ; LANGUAGE_USER_HAITIAN ; > ;
         < "Beembe" ; LANGUAGE_USER_BEEMBE ; > ;
         < "Bekwel" ; LANGUAGE_USER_BEKWEL ; > ;

Context


Privacy Policy | Impressum (Legal Info) | Copyright information: Unless otherwise specified, all text and images on this website are licensed under the Creative Commons Attribution-Share Alike 3.0 License. This does not include the source code of LibreOffice, which is licensed under the Mozilla Public License (MPLv2). "LibreOffice" and "The Document Foundation" are registered trademarks of their corresponding registered owners or are in actual use as trademarks in one or more countries. Their respective logos and icons are also subject to international copyright laws. Use thereof is explained in our trademark policy.