summaryrefslogtreecommitdiff
path: root/i18npool/source
diff options
context:
space:
mode:
Diffstat (limited to 'i18npool/source')
-rw-r--r--i18npool/source/breakiterator/breakiteratorImpl.cxx33
-rw-r--r--i18npool/source/breakiterator/breakiterator_cjk.cxx31
-rw-r--r--i18npool/source/breakiterator/breakiterator_th.cxx233
-rw-r--r--i18npool/source/breakiterator/breakiterator_unicode.cxx64
-rw-r--r--i18npool/source/breakiterator/data/README612
-rw-r--r--i18npool/source/breakiterator/data/ja.dic1
-rw-r--r--i18npool/source/breakiterator/data/line.txt2
-rw-r--r--i18npool/source/breakiterator/gendict.cxx4
-rw-r--r--i18npool/source/breakiterator/xdictionary.cxx36
-rw-r--r--i18npool/source/calendar/calendarImpl.cxx4
-rw-r--r--i18npool/source/calendar/calendar_gregorian.cxx58
-rw-r--r--i18npool/source/calendar/calendar_hijri.cxx52
-rw-r--r--i18npool/source/calendar/calendar_jewish.cxx13
-rw-r--r--i18npool/source/characterclassification/cclass_unicode.cxx34
-rw-r--r--i18npool/source/characterclassification/cclass_unicode_parser.cxx36
-rw-r--r--i18npool/source/characterclassification/characterclassificationImpl.cxx7
-rw-r--r--i18npool/source/characterclassification/unoscripttypedetector.cxx18
-rw-r--r--i18npool/source/collator/chaptercollator.cxx4
-rw-r--r--i18npool/source/collator/collatorImpl.cxx4
-rw-r--r--i18npool/source/collator/collator_unicode.cxx26
-rw-r--r--i18npool/source/collator/gencoll_rule.cxx9
-rw-r--r--i18npool/source/defaultnumberingprovider/defaultnumberingprovider.cxx79
-rw-r--r--i18npool/source/indexentry/indexentrysupplier.cxx6
-rw-r--r--i18npool/source/indexentry/indexentrysupplier_asian.cxx72
-rw-r--r--i18npool/source/indexentry/indexentrysupplier_ja_phonetic.cxx6
-rw-r--r--i18npool/source/inputchecker/inputsequencechecker.cxx2
-rw-r--r--i18npool/source/inputchecker/inputsequencechecker_hi.cxx2
-rw-r--r--i18npool/source/inputchecker/inputsequencechecker_th.cxx10
-rw-r--r--i18npool/source/localedata/LocaleNode.cxx436
-rw-r--r--i18npool/source/localedata/LocaleNode.hxx47
-rw-r--r--i18npool/source/localedata/data/ak_GH.xml11
-rw-r--r--i18npool/source/localedata/data/an_ES.xml15
-rw-r--r--i18npool/source/localedata/data/ast_ES.xml11
-rw-r--r--i18npool/source/localedata/data/bg_BG.xml43
-rw-r--r--i18npool/source/localedata/data/bm_ML.xml11
-rw-r--r--i18npool/source/localedata/data/bn_IN.xml6
-rw-r--r--i18npool/source/localedata/data/bo_IN.xml212
-rw-r--r--i18npool/source/localedata/data/bs_BA.xml11
-rw-r--r--i18npool/source/localedata/data/ca_ES.xml29
-rw-r--r--i18npool/source/localedata/data/cs_CZ.xml21
-rw-r--r--i18npool/source/localedata/data/da_DK.xml21
-rw-r--r--i18npool/source/localedata/data/de_AT.xml21
-rw-r--r--i18npool/source/localedata/data/de_CH.xml21
-rw-r--r--i18npool/source/localedata/data/de_DE.xml21
-rw-r--r--i18npool/source/localedata/data/de_LI.xml21
-rw-r--r--i18npool/source/localedata/data/de_LU.xml21
-rw-r--r--i18npool/source/localedata/data/dsb_DE.xml22
-rw-r--r--i18npool/source/localedata/data/dv_MV.xml533
-rw-r--r--i18npool/source/localedata/data/ee_GH.xml11
-rw-r--r--i18npool/source/localedata/data/el_GR.xml21
-rw-r--r--i18npool/source/localedata/data/en_AU.xml24
-rw-r--r--i18npool/source/localedata/data/en_CA.xml24
-rw-r--r--i18npool/source/localedata/data/en_DK.xml24
-rw-r--r--i18npool/source/localedata/data/en_GB.xml24
-rw-r--r--i18npool/source/localedata/data/en_GH.xml35
-rw-r--r--i18npool/source/localedata/data/en_IE.xml15
-rw-r--r--i18npool/source/localedata/data/en_JM.xml24
-rw-r--r--i18npool/source/localedata/data/en_MU.xml41
-rw-r--r--i18npool/source/localedata/data/en_NA.xml24
-rw-r--r--i18npool/source/localedata/data/en_US.xml84
-rw-r--r--i18npool/source/localedata/data/en_ZA.xml66
-rw-r--r--i18npool/source/localedata/data/eo.xml27
-rw-r--r--i18npool/source/localedata/data/es_AR.xml25
-rw-r--r--i18npool/source/localedata/data/es_BO.xml25
-rw-r--r--i18npool/source/localedata/data/es_CL.xml25
-rw-r--r--i18npool/source/localedata/data/es_CO.xml25
-rw-r--r--i18npool/source/localedata/data/es_CR.xml25
-rw-r--r--i18npool/source/localedata/data/es_DO.xml25
-rw-r--r--i18npool/source/localedata/data/es_EC.xml25
-rw-r--r--i18npool/source/localedata/data/es_ES.xml25
-rw-r--r--i18npool/source/localedata/data/es_GT.xml25
-rw-r--r--i18npool/source/localedata/data/es_PE.xml25
-rw-r--r--i18npool/source/localedata/data/es_SV.xml21
-rw-r--r--i18npool/source/localedata/data/et_EE.xml21
-rw-r--r--i18npool/source/localedata/data/fa_IR.xml3
-rw-r--r--i18npool/source/localedata/data/fi_FI.xml21
-rw-r--r--i18npool/source/localedata/data/fr_BE.xml21
-rw-r--r--i18npool/source/localedata/data/fr_BF.xml32
-rw-r--r--i18npool/source/localedata/data/fr_CA.xml21
-rw-r--r--i18npool/source/localedata/data/fr_CH.xml21
-rw-r--r--i18npool/source/localedata/data/fr_FR.xml21
-rw-r--r--i18npool/source/localedata/data/fr_LU.xml21
-rw-r--r--i18npool/source/localedata/data/fr_TG.xml21
-rw-r--r--i18npool/source/localedata/data/fur_IT.xml11
-rw-r--r--i18npool/source/localedata/data/fy_NL.xml11
-rw-r--r--i18npool/source/localedata/data/gd_GB.xml11
-rw-r--r--i18npool/source/localedata/data/gl_ES.xml21
-rw-r--r--i18npool/source/localedata/data/gsc_FR.xml11
-rw-r--r--i18npool/source/localedata/data/gug_PY.xml11
-rw-r--r--i18npool/source/localedata/data/ha_Latn_GH.xml11
-rw-r--r--i18npool/source/localedata/data/haw_US.xml11
-rw-r--r--i18npool/source/localedata/data/he_IL.xml21
-rw-r--r--i18npool/source/localedata/data/hi_IN.xml172
-rw-r--r--i18npool/source/localedata/data/hil_PH.xml11
-rw-r--r--i18npool/source/localedata/data/hr_HR.xml41
-rw-r--r--i18npool/source/localedata/data/hsb_DE.xml22
-rw-r--r--i18npool/source/localedata/data/ht_HT.xml11
-rw-r--r--i18npool/source/localedata/data/hu_HU.xml21
-rw-r--r--i18npool/source/localedata/data/id_ID.xml21
-rw-r--r--i18npool/source/localedata/data/is_IS.xml62
-rw-r--r--i18npool/source/localedata/data/it_CH.xml21
-rw-r--r--i18npool/source/localedata/data/it_IT.xml21
-rw-r--r--i18npool/source/localedata/data/jbo.xml11
-rw-r--r--i18npool/source/localedata/data/kab_DZ.xml11
-rw-r--r--i18npool/source/localedata/data/kk_KZ.xml11
-rw-r--r--i18npool/source/localedata/data/kmr_Latn_TR.xml70
-rw-r--r--i18npool/source/localedata/data/lb_LU.xml21
-rw-r--r--i18npool/source/localedata/data/lg_UG.xml32
-rw-r--r--i18npool/source/localedata/data/lgr_SB.xml11
-rwxr-xr-x[-rw-r--r--]i18npool/source/localedata/data/list-dateacceptancepattern.awk2
-rwxr-xr-x[-rw-r--r--]i18npool/source/localedata/data/list-locales.awk10
-rw-r--r--i18npool/source/localedata/data/lld_IT.xml11
-rw-r--r--i18npool/source/localedata/data/ln_CD.xml11
-rw-r--r--i18npool/source/localedata/data/locale.dtd29
-rw-r--r--i18npool/source/localedata/data/lt_LT.xml80
-rw-r--r--i18npool/source/localedata/data/lv_LV.xml21
-rw-r--r--i18npool/source/localedata/data/mfe_MU.xml375
-rw-r--r--i18npool/source/localedata/data/mk_MK.xml70
-rw-r--r--i18npool/source/localedata/data/ml_IN.xml192
-rw-r--r--i18npool/source/localedata/data/mos_BF.xml11
-rw-r--r--i18npool/source/localedata/data/mt_MT.xml20
-rw-r--r--i18npool/source/localedata/data/myv_RU.xml11
-rw-r--r--i18npool/source/localedata/data/nl_BE.xml21
-rw-r--r--i18npool/source/localedata/data/nl_NL.xml21
-rw-r--r--i18npool/source/localedata/data/no_NO.xml21
-rw-r--r--i18npool/source/localedata/data/ny_MW.xml11
-rw-r--r--i18npool/source/localedata/data/oc_ES_aranes.xml366
-rw-r--r--i18npool/source/localedata/data/oc_FR_lengadoc.xml (renamed from i18npool/source/localedata/data/oc_FR.xml)20
-rw-r--r--i18npool/source/localedata/data/om_ET.xml11
-rw-r--r--i18npool/source/localedata/data/pap_CW.xml11
-rw-r--r--i18npool/source/localedata/data/pdc_US.xml189
-rw-r--r--i18npool/source/localedata/data/pl_PL.xml21
-rw-r--r--i18npool/source/localedata/data/plt_MG.xml11
-rw-r--r--i18npool/source/localedata/data/pt_AO.xml61
-rw-r--r--i18npool/source/localedata/data/pt_BR.xml21
-rw-r--r--i18npool/source/localedata/data/pt_MZ.xml282
-rw-r--r--i18npool/source/localedata/data/pt_PT.xml21
-rw-r--r--i18npool/source/localedata/data/ro_RO.xml21
-rw-r--r--i18npool/source/localedata/data/ru_RU.xml21
-rw-r--r--i18npool/source/localedata/data/rue_SK.xml11
-rw-r--r--i18npool/source/localedata/data/sat_IN.xml180
-rw-r--r--i18npool/source/localedata/data/sc_IT.xml11
-rw-r--r--i18npool/source/localedata/data/sg_CF.xml11
-rw-r--r--i18npool/source/localedata/data/shs_CA.xml70
-rw-r--r--i18npool/source/localedata/data/sid_ET.xml11
-rw-r--r--i18npool/source/localedata/data/sl_SI.xml80
-rw-r--r--i18npool/source/localedata/data/so_SO.xml11
-rw-r--r--i18npool/source/localedata/data/sr_RS.xml9
-rw-r--r--i18npool/source/localedata/data/sv_FI.xml21
-rw-r--r--i18npool/source/localedata/data/sv_SE.xml21
-rw-r--r--i18npool/source/localedata/data/ti_ET.xml11
-rw-r--r--i18npool/source/localedata/data/tk_TM.xml11
-rw-r--r--i18npool/source/localedata/data/tpi_PG.xml11
-rw-r--r--i18npool/source/localedata/data/tr_TR.xml21
-rw-r--r--i18npool/source/localedata/data/ug_CN.xml11
-rw-r--r--i18npool/source/localedata/data/uk_UA.xml29
-rw-r--r--i18npool/source/localedata/data/ur_PK.xml11
-rw-r--r--i18npool/source/localedata/data/vi_VN.xml79
-rw-r--r--i18npool/source/localedata/data/zh_CN.xml146
-rw-r--r--i18npool/source/localedata/filewriter.cxx126
-rw-r--r--i18npool/source/localedata/localedata.cxx1048
-rw-r--r--i18npool/source/localedata/saxparser.cxx4
-rw-r--r--i18npool/source/nativenumber/data/numberchar.h2
-rw-r--r--i18npool/source/nativenumber/nativenumbersupplier.cxx117
-rw-r--r--i18npool/source/numberformatcode/numberformatcode.cxx4
-rw-r--r--i18npool/source/ordinalsuffix/ordinalsuffix.cxx2
-rw-r--r--i18npool/source/registerservices/registerservices.cxx412
-rw-r--r--i18npool/source/search/levdis.hxx5
-rw-r--r--i18npool/source/search/textsearch.cxx185
-rw-r--r--i18npool/source/search/textsearch.hxx32
-rw-r--r--i18npool/source/textconversion/textconversion.cxx36
-rw-r--r--i18npool/source/textconversion/textconversionImpl.cxx4
-rw-r--r--i18npool/source/textconversion/textconversion_ko.cxx31
-rw-r--r--i18npool/source/textconversion/textconversion_zh.cxx67
-rw-r--r--i18npool/source/transliteration/chartonum.cxx2
-rw-r--r--i18npool/source/transliteration/fullwidthToHalfwidth.cxx3
-rw-r--r--i18npool/source/transliteration/halfwidthToFullwidth.cxx1
-rw-r--r--i18npool/source/transliteration/hiraganaToKatakana.cxx3
-rw-r--r--i18npool/source/transliteration/ignoreBaFa_ja_JP.cxx2
-rw-r--r--i18npool/source/transliteration/ignoreHyuByu_ja_JP.cxx3
-rw-r--r--i18npool/source/transliteration/ignoreIandEfollowedByYa_ja_JP.cxx1
-rw-r--r--i18npool/source/transliteration/ignoreIterationMark_ja_JP.cxx1
-rw-r--r--i18npool/source/transliteration/ignoreKana.cxx1
-rw-r--r--i18npool/source/transliteration/ignoreKiKuFollowedBySa_ja_JP.cxx1
-rw-r--r--i18npool/source/transliteration/ignoreProlongedSoundMark_ja_JP.cxx1
-rw-r--r--i18npool/source/transliteration/ignoreSeZe_ja_JP.cxx3
-rw-r--r--i18npool/source/transliteration/ignoreSize_ja_JP.cxx1
-rw-r--r--i18npool/source/transliteration/ignoreTiJi_ja_JP.cxx3
-rw-r--r--i18npool/source/transliteration/ignoreWidth.cxx1
-rw-r--r--i18npool/source/transliteration/largeToSmall_ja_JP.cxx3
-rw-r--r--i18npool/source/transliteration/smallToLarge_ja_JP.cxx3
-rw-r--r--i18npool/source/transliteration/textToPronounce_zh.cxx64
-rw-r--r--i18npool/source/transliteration/texttonum.cxx2
-rw-r--r--i18npool/source/transliteration/transliterationImpl.cxx101
-rw-r--r--i18npool/source/transliteration/transliteration_Numeric.cxx23
-rw-r--r--i18npool/source/transliteration/transliteration_body.cxx55
-rw-r--r--i18npool/source/transliteration/transliteration_caseignore.cxx2
-rw-r--r--i18npool/source/transliteration/transliteration_commonclass.cxx2
198 files changed, 5639 insertions, 4056 deletions
diff --git a/i18npool/source/breakiterator/breakiteratorImpl.cxx b/i18npool/source/breakiterator/breakiteratorImpl.cxx
index a449be4d17fe..51f191326e5f 100644
--- a/i18npool/source/breakiterator/breakiteratorImpl.cxx
+++ b/i18npool/source/breakiterator/breakiteratorImpl.cxx
@@ -16,12 +16,14 @@
* except in compliance with the License. You may obtain a copy of
* the License at http://www.apache.org/licenses/LICENSE-2.0 .
*/
+
#include <config_locales.h>
#include <breakiteratorImpl.hxx>
#include <cppuhelper/supportsservice.hxx>
#include <unicode/uchar.h>
#include <i18nutil/unicode.hxx>
+#include <o3tl/string_view.hxx>
#include <com/sun/star/i18n/CharType.hpp>
#include <com/sun/star/i18n/ScriptType.hpp>
@@ -71,7 +73,7 @@ sal_Int32 SAL_CALL BreakIteratorImpl::previousCharacters( const OUString& Text,
#define isZWSP(c) (ch == 0x200B)
-static sal_Int32 skipSpace(const OUString& Text, sal_Int32 nPos, sal_Int32 len, sal_Int16 rWordType, bool bDirection)
+static sal_Int32 skipSpace(std::u16string_view Text, sal_Int32 nPos, sal_Int32 len, sal_Int16 rWordType, bool bDirection)
{
sal_uInt32 ch=0;
sal_Int32 pos=nPos;
@@ -80,16 +82,16 @@ static sal_Int32 skipSpace(const OUString& Text, sal_Int32 nPos, sal_Int32 len,
if (bDirection)
while (nPos < len)
{
- ch = Text.iterateCodePoints(&pos);
- if (!u_isWhitespace(ch) && !isZWSP(ch))
+ ch = o3tl::iterateCodePoints(Text, &pos);
+ if (!u_isUWhiteSpace(ch) && !isZWSP(ch))
break;
nPos = pos;
}
else
while (nPos > 0)
{
- ch = Text.iterateCodePoints(&pos, -1);
- if (!u_isWhitespace(ch) && !isZWSP(ch))
+ ch = o3tl::iterateCodePoints(Text, &pos, -1);
+ if (!u_isUWhiteSpace(ch) && !isZWSP(ch))
break;
nPos = pos;
}
@@ -98,7 +100,7 @@ static sal_Int32 skipSpace(const OUString& Text, sal_Int32 nPos, sal_Int32 len,
if (bDirection)
while (nPos < len)
{
- ch = Text.iterateCodePoints(&pos);
+ ch = o3tl::iterateCodePoints(Text, &pos);
if (!u_isWhitespace(ch) && !isZWSP(ch) && (ch == 0x002E || u_isalnum(ch)))
break;
nPos = pos;
@@ -106,7 +108,7 @@ static sal_Int32 skipSpace(const OUString& Text, sal_Int32 nPos, sal_Int32 len,
else
while (nPos > 0)
{
- ch = Text.iterateCodePoints(&pos, -1);
+ ch = o3tl::iterateCodePoints(Text, &pos, -1);
if (!u_isWhitespace(ch) && !isZWSP(ch) && (ch == 0x002E || u_isalnum(ch)))
break;
nPos = pos;
@@ -116,7 +118,7 @@ static sal_Int32 skipSpace(const OUString& Text, sal_Int32 nPos, sal_Int32 len,
if (bDirection)
while (nPos < len)
{
- ch = Text.iterateCodePoints(&pos);
+ ch = o3tl::iterateCodePoints(Text, &pos);
if (!u_isUWhiteSpace(ch) && !isZWSP(ch))
break;
nPos = pos;
@@ -124,7 +126,7 @@ static sal_Int32 skipSpace(const OUString& Text, sal_Int32 nPos, sal_Int32 len,
else
while (nPos > 0)
{
- ch = Text.iterateCodePoints(&pos, -1);
+ ch = o3tl::iterateCodePoints(Text, &pos, -1);
if (!u_isUWhiteSpace(ch) && !isZWSP(ch))
break;
nPos = pos;
@@ -524,6 +526,9 @@ bool getCompatibilityScriptClassByBlock(sal_uInt32 currentChar, sal_Int16 &rScri
// Few Spacing Modifier Letters that can be Bopomofo tonal marks.
else if ( 0x2CA == currentChar || 0x2CB == currentChar || 0x2C7 == currentChar || 0x2D9 == currentChar )
rScriptType = ScriptType::WEAK;
+ // tdf#52577 superscript numbers should be we weak.
+ else if ( 0xB2 == currentChar || 0xB3 == currentChar || 0xB9 == currentChar )
+ rScriptType = ScriptType::WEAK;
// workaround for Coptic
else if ( 0x2C80 <= currentChar && 0x2CE3 >= currentChar)
rScriptType = ScriptType::LATIN;
@@ -587,10 +592,6 @@ bool BreakIteratorImpl::createLocaleSpecificBreakIterator(const OUString& aLocal
if (aLocaleName == "ko")
return false;
#endif
-#if !WITH_LOCALE_ALL && !WITH_LOCALE_th
- if (aLocaleName == "th")
- return false;
-#endif
Reference < uno::XInterface > xI = m_xContext->getServiceManager()->createInstanceWithContext(
"com.sun.star.i18n.BreakIterator_" + aLocaleName, m_xContext);
@@ -621,7 +622,7 @@ BreakIteratorImpl::getLocaleSpecificBreakIterator(const Locale& rLocale)
}
}
- OUStringLiteral under(u"_");
+ static constexpr OUString under(u"_"_ustr);
sal_Int32 l = rLocale.Language.getLength();
sal_Int32 c = rLocale.Country.getLength();
@@ -656,7 +657,7 @@ BreakIteratorImpl::getLocaleSpecificBreakIterator(const Locale& rLocale)
OUString SAL_CALL
BreakIteratorImpl::getImplementationName()
{
- return "com.sun.star.i18n.BreakIterator";
+ return u"com.sun.star.i18n.BreakIterator"_ustr;
}
sal_Bool SAL_CALL
@@ -668,7 +669,7 @@ BreakIteratorImpl::supportsService(const OUString& rServiceName)
Sequence< OUString > SAL_CALL
BreakIteratorImpl::getSupportedServiceNames()
{
- return { "com.sun.star.i18n.BreakIterator" };
+ return { u"com.sun.star.i18n.BreakIterator"_ustr };
}
}
diff --git a/i18npool/source/breakiterator/breakiterator_cjk.cxx b/i18npool/source/breakiterator/breakiterator_cjk.cxx
index baf302e6ef0c..22ac459a72a4 100644
--- a/i18npool/source/breakiterator/breakiterator_cjk.cxx
+++ b/i18npool/source/breakiterator/breakiterator_cjk.cxx
@@ -23,7 +23,6 @@
#include <com/sun/star/i18n/BreakType.hpp>
#include <com/sun/star/i18n/ScriptType.hpp>
-using namespace ::com::sun::star::uno;
using namespace ::com::sun::star::i18n;
using namespace ::com::sun::star::lang;
@@ -35,15 +34,15 @@ namespace i18npool {
BreakIterator_CJK::BreakIterator_CJK()
{
- cBreakIterator = "com.sun.star.i18n.BreakIterator_CJK";
+ cBreakIterator = u"com.sun.star.i18n.BreakIterator_CJK"_ustr;
}
Boundary SAL_CALL
BreakIterator_CJK::previousWord(const OUString& text, sal_Int32 anyPos,
const css::lang::Locale& nLocale, sal_Int16 wordType)
{
- if (m_xDict) {
- result = m_xDict->previousWord(text, anyPos, wordType);
+ if (m_oDict) {
+ result = m_oDict->previousWord(text, anyPos, wordType);
// #109813# for non-CJK, single character word, fallback to ICU breakiterator.
if (result.endPos - result.startPos != 1 ||
getScriptType(text, result.startPos) == ScriptType::ASIAN)
@@ -59,8 +58,8 @@ Boundary SAL_CALL
BreakIterator_CJK::nextWord(const OUString& text, sal_Int32 anyPos,
const css::lang::Locale& nLocale, sal_Int16 wordType)
{
- if (m_xDict) {
- result = m_xDict->nextWord(text, anyPos, wordType);
+ if (m_oDict) {
+ result = m_oDict->nextWord(text, anyPos, wordType);
// #109813# for non-CJK, single character word, fallback to ICU breakiterator.
if (result.endPos - result.startPos != 1 ||
getScriptType(text, result.startPos) == ScriptType::ASIAN)
@@ -76,8 +75,8 @@ Boundary SAL_CALL
BreakIterator_CJK::getWordBoundary( const OUString& text, sal_Int32 anyPos,
const css::lang::Locale& nLocale, sal_Int16 wordType, sal_Bool bDirection )
{
- if (m_xDict) {
- result = m_xDict->getWordBoundary(text, anyPos, wordType, bDirection);
+ if (m_oDict) {
+ result = m_oDict->getWordBoundary(text, anyPos, wordType, bDirection);
// #109813# for non-CJK, single character word, fallback to ICU breakiterator.
if (result.endPos - result.startPos != 1 ||
getScriptType(text, result.startPos) == ScriptType::ASIAN)
@@ -144,10 +143,10 @@ LineBreakResults SAL_CALL BreakIterator_CJK::getLineBreak(
// ----------------------------------------------------;
BreakIterator_zh::BreakIterator_zh()
{
- m_xDict = std::make_unique<xdictionary>("zh");
+ m_oDict.emplace("zh");
assert(hangingCharacters.pData);
hangingCharacters = LocaleDataImpl::get()->getHangingCharacters(LOCALE("zh", "CN"));
- cBreakIterator = "com.sun.star.i18n.BreakIterator_zh";
+ cBreakIterator = u"com.sun.star.i18n.BreakIterator_zh"_ustr;
}
// ----------------------------------------------------
@@ -155,10 +154,10 @@ BreakIterator_zh::BreakIterator_zh()
// ----------------------------------------------------;
BreakIterator_zh_TW::BreakIterator_zh_TW()
{
- m_xDict = std::make_unique<xdictionary>("zh");
+ m_oDict.emplace("zh");
assert(hangingCharacters.pData);
hangingCharacters = LocaleDataImpl::get()->getHangingCharacters(LOCALE("zh", "TW"));
- cBreakIterator = "com.sun.star.i18n.BreakIterator_zh_TW";
+ cBreakIterator = u"com.sun.star.i18n.BreakIterator_zh_TW"_ustr;
}
// ----------------------------------------------------
@@ -166,11 +165,11 @@ BreakIterator_zh_TW::BreakIterator_zh_TW()
// ----------------------------------------------------;
BreakIterator_ja::BreakIterator_ja()
{
- m_xDict = std::make_unique<xdictionary>("ja");
- m_xDict->setJapaneseWordBreak();
+ m_oDict.emplace("ja");
+ m_oDict->setJapaneseWordBreak();
assert(hangingCharacters.pData);
hangingCharacters = LocaleDataImpl::get()->getHangingCharacters(LOCALE("ja", "JP"));
- cBreakIterator = "com.sun.star.i18n.BreakIterator_ja";
+ cBreakIterator = u"com.sun.star.i18n.BreakIterator_ja"_ustr;
}
// ----------------------------------------------------
@@ -180,7 +179,7 @@ BreakIterator_ko::BreakIterator_ko()
{
assert(hangingCharacters.pData);
hangingCharacters = LocaleDataImpl::get()->getHangingCharacters(LOCALE("ko", "KR"));
- cBreakIterator = "com.sun.star.i18n.BreakIterator_ko";
+ cBreakIterator = u"com.sun.star.i18n.BreakIterator_ko"_ustr;
}
}
diff --git a/i18npool/source/breakiterator/breakiterator_th.cxx b/i18npool/source/breakiterator/breakiterator_th.cxx
deleted file mode 100644
index d7accc160f7d..000000000000
--- a/i18npool/source/breakiterator/breakiterator_th.cxx
+++ /dev/null
@@ -1,233 +0,0 @@
-/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
-/*
- * This file is part of the LibreOffice project.
- *
- * This Source Code Form is subject to the terms of the Mozilla Public
- * License, v. 2.0. If a copy of the MPL was not distributed with this
- * file, You can obtain one at http://mozilla.org/MPL/2.0/.
- *
- * This file incorporates work covered by the following license notice:
- *
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed
- * with this work for additional information regarding copyright
- * ownership. The ASF licenses this file to you under the Apache
- * License, Version 2.0 (the "License"); you may not use this file
- * except in compliance with the License. You may obtain a copy of
- * the License at http://www.apache.org/licenses/LICENSE-2.0 .
- */
-
-
-#include <com/sun/star/i18n/CharacterIteratorMode.hpp>
-#include <o3tl/safeint.hxx>
-#include <breakiterator_th.hxx>
-#include <wtt.h>
-
-using namespace ::com::sun::star;
-using namespace ::com::sun::star::uno;
-using namespace ::com::sun::star::i18n;
-using namespace ::com::sun::star::lang;
-
-namespace i18npool {
-
-/**
- * Constructor.
- */
-BreakIterator_th::BreakIterator_th()
-{
- cBreakIterator = "com.sun.star.i18n.BreakIterator_th";
- // to improve performance, alloc big enough memory in construct.
- m_aNextCellIndex.assign(512, 0);
- m_aPreviousCellIndex.assign(512, 0);
- lineRule=nullptr;
-}
-
-/**
- * Deconstructor.
- */
-BreakIterator_th::~BreakIterator_th()
-{
-}
-
-sal_Int32 SAL_CALL BreakIterator_th::previousCharacters( const OUString& Text,
- sal_Int32 nStartPos, const lang::Locale& rLocale,
- sal_Int16 nCharacterIteratorMode, sal_Int32 nCount, sal_Int32& nDone )
-{
- if (nCharacterIteratorMode == CharacterIteratorMode::SKIPCELL ) {
- nDone = 0;
- if (nStartPos > 0) { // for others to skip cell.
- makeIndex(Text, nStartPos);
-
- if (m_aNextCellIndex[nStartPos-1] == 0) // not a CTL character
- return BreakIterator_Unicode::previousCharacters(Text, nStartPos, rLocale,
- nCharacterIteratorMode, nCount, nDone);
- else
- {
- while (nCount > 0 && m_aNextCellIndex[nStartPos - 1] > 0)
- {
- nCount--; nDone++;
- nStartPos = m_aPreviousCellIndex[nStartPos - 1];
- }
- }
- } else
- nStartPos = 0;
- } else { // for BS to delete one char.
- for (nDone = 0; nDone < nCount && nStartPos > 0; nDone++)
- Text.iterateCodePoints(&nStartPos, -1);
- }
-
- return nStartPos;
-}
-
-sal_Int32 SAL_CALL BreakIterator_th::nextCharacters(const OUString& Text,
- sal_Int32 nStartPos, const lang::Locale& rLocale,
- sal_Int16 nCharacterIteratorMode, sal_Int32 nCount, sal_Int32& nDone)
-{
- sal_Int32 len = Text.getLength();
- if (nCharacterIteratorMode == CharacterIteratorMode::SKIPCELL ) {
- nDone = 0;
- if (nStartPos < len) {
- makeIndex(Text, nStartPos);
-
- if (m_aNextCellIndex[nStartPos] == 0) // not a CTL character
- return BreakIterator_Unicode::nextCharacters(Text, nStartPos, rLocale,
- nCharacterIteratorMode, nCount, nDone);
- else
- {
- while (nCount > 0 && m_aNextCellIndex[nStartPos] > 0)
- {
- nCount--; nDone++;
- nStartPos = m_aNextCellIndex[nStartPos];
- }
- }
- } else
- nStartPos = len;
- } else {
- for (nDone = 0; nDone < nCount && nStartPos < Text.getLength(); nDone++)
- Text.iterateCodePoints(&nStartPos);
- }
-
- return nStartPos;
-}
-
-// Make sure line is broken on cell boundary if we implement cell iterator.
-LineBreakResults SAL_CALL BreakIterator_th::getLineBreak(
- const OUString& Text, sal_Int32 nStartPos,
- const lang::Locale& rLocale, sal_Int32 nMinBreakPos,
- const LineBreakHyphenationOptions& hOptions,
- const LineBreakUserOptions& bOptions )
-{
- LineBreakResults lbr = BreakIterator_Unicode::getLineBreak(Text, nStartPos,
- rLocale, nMinBreakPos, hOptions, bOptions );
- if (lbr.breakIndex < Text.getLength()) {
- makeIndex(Text, lbr.breakIndex);
- lbr.breakIndex = m_aPreviousCellIndex[ lbr.breakIndex ];
- }
- return lbr;
-}
-
-#define SARA_AM 0x0E33
-
-/*
- * cell composition states
- */
-
-#define ST_COM 1 // Compose the following character with leading char and display in the same cell
-#define ST_NXT 2 // display the following character in the next cell
-#define ST_NDP 3 // non-display
-
-const sal_Int16 thaiCompRel[MAX_CT][MAX_CT] = {
- // C N C L F F F B B B T A A A A A A
- // T O O V V V V V V D O D D D V V V
- // R N N 1 2 3 1 2 N 1 2 3 1 2 3
- // L S E
- // 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
- { ST_NDP, ST_NXT, ST_NXT, ST_NXT, ST_NXT, ST_NXT, ST_NXT, ST_NXT, ST_NXT, ST_NXT, ST_NXT, ST_NXT, ST_NXT, ST_NXT, ST_NXT, ST_NXT, ST_NXT }, // CTRL 0
- { ST_NDP, ST_NXT, ST_NXT, ST_NXT, ST_NXT, ST_NXT, ST_NXT, ST_NXT, ST_NXT, ST_NXT, ST_NXT, ST_NXT, ST_NXT, ST_NXT, ST_NXT, ST_NXT, ST_NXT }, // NON 1
- { ST_NDP, ST_NXT, ST_NXT, ST_NXT, ST_NXT, ST_NXT, ST_NXT, ST_COM, ST_COM, ST_COM, ST_COM, ST_COM, ST_COM, ST_COM, ST_COM, ST_COM, ST_COM }, // CONS 2
- { ST_NDP, ST_NXT, ST_NXT, ST_NXT, ST_NXT, ST_NXT, ST_NXT, ST_NXT, ST_NXT, ST_NXT, ST_NXT, ST_NXT, ST_NXT, ST_NXT, ST_NXT, ST_NXT, ST_NXT }, // LV 3
- { ST_NDP, ST_NXT, ST_NXT, ST_NXT, ST_NXT, ST_NXT, ST_NXT, ST_NXT, ST_NXT, ST_NXT, ST_NXT, ST_NXT, ST_NXT, ST_NXT, ST_NXT, ST_NXT, ST_NXT }, // FV1 4
- { ST_NDP, ST_NXT, ST_NXT, ST_NXT, ST_NXT, ST_NXT, ST_NXT, ST_NXT, ST_NXT, ST_NXT, ST_NXT, ST_NXT, ST_NXT, ST_NXT, ST_NXT, ST_NXT, ST_NXT }, // FV2 5
- { ST_NDP, ST_NXT, ST_NXT, ST_NXT, ST_NXT, ST_NXT, ST_NXT, ST_NXT, ST_NXT, ST_NXT, ST_NXT, ST_NXT, ST_NXT, ST_NXT, ST_NXT, ST_NXT, ST_NXT }, // FV3 6
- { ST_NDP, ST_NXT, ST_NXT, ST_NXT, ST_NXT, ST_NXT, ST_NXT, ST_NXT, ST_NXT, ST_NXT, ST_COM, ST_COM, ST_NXT, ST_NXT, ST_NXT, ST_NXT, ST_NXT }, // BV1 7
- { ST_NDP, ST_NXT, ST_NXT, ST_NXT, ST_NXT, ST_NXT, ST_NXT, ST_NXT, ST_NXT, ST_NXT, ST_COM, ST_NXT, ST_NXT, ST_NXT, ST_NXT, ST_NXT, ST_NXT }, // BV2 8
- { ST_NDP, ST_NXT, ST_NXT, ST_NXT, ST_NXT, ST_NXT, ST_NXT, ST_NXT, ST_NXT, ST_NXT, ST_NXT, ST_NXT, ST_NXT, ST_NXT, ST_NXT, ST_NXT, ST_NXT }, // BD 9
- { ST_NDP, ST_NXT, ST_NXT, ST_NXT, ST_NXT, ST_NXT, ST_NXT, ST_NXT, ST_NXT, ST_NXT, ST_NXT, ST_NXT, ST_NXT, ST_NXT, ST_NXT, ST_NXT, ST_NXT }, // TONE 10
- { ST_NDP, ST_NXT, ST_NXT, ST_NXT, ST_NXT, ST_NXT, ST_NXT, ST_NXT, ST_NXT, ST_NXT, ST_NXT, ST_NXT, ST_NXT, ST_NXT, ST_NXT, ST_NXT, ST_NXT }, // AD1 11
- { ST_NDP, ST_NXT, ST_NXT, ST_NXT, ST_NXT, ST_NXT, ST_NXT, ST_NXT, ST_NXT, ST_NXT, ST_NXT, ST_NXT, ST_NXT, ST_NXT, ST_NXT, ST_NXT, ST_NXT }, // AD2 12
- { ST_NDP, ST_NXT, ST_NXT, ST_NXT, ST_NXT, ST_NXT, ST_NXT, ST_NXT, ST_NXT, ST_NXT, ST_NXT, ST_NXT, ST_NXT, ST_NXT, ST_NXT, ST_NXT, ST_NXT }, // AD3 13
- { ST_NDP, ST_NXT, ST_NXT, ST_NXT, ST_NXT, ST_NXT, ST_NXT, ST_NXT, ST_NXT, ST_NXT, ST_COM, ST_COM, ST_NXT, ST_NXT, ST_NXT, ST_NXT, ST_NXT }, // AV1 14
- { ST_NDP, ST_NXT, ST_NXT, ST_NXT, ST_NXT, ST_NXT, ST_NXT, ST_NXT, ST_NXT, ST_NXT, ST_COM, ST_NXT, ST_NXT, ST_NXT, ST_NXT, ST_NXT, ST_NXT }, // AV2 15
- { ST_NDP, ST_NXT, ST_NXT, ST_NXT, ST_NXT, ST_NXT, ST_NXT, ST_NXT, ST_NXT, ST_NXT, ST_COM, ST_NXT, ST_COM, ST_NXT, ST_NXT, ST_NXT, ST_NXT } // AV3 16
-
-};
-
-const sal_uInt32 is_ST_COM = (1<<CT_CTRL)|(1<<CT_NON)|(1<<CT_CONS)|(1<<CT_TONE);
-
-static sal_uInt16 getCombState(const sal_Unicode *text, sal_Int32 pos)
-{
- sal_uInt16 ch1 = getCharType(text[pos]);
- sal_uInt16 ch2 = getCharType(text[pos+1]);
-
- if (text[pos+1] == SARA_AM) {
- if ((1 << ch1) & is_ST_COM)
- return ST_COM;
- else
- ch2 = CT_AD1;
- }
-
- return thaiCompRel[ch1][ch2];
-}
-
-
-static sal_Int32 getACell(const sal_Unicode *text, sal_Int32 pos, sal_Int32 len)
-{
- sal_uInt32 curr = 1;
- for (; pos + 1 < len && getCombState(text, pos) == ST_COM; curr++, pos++) {}
- return curr;
-}
-
-#define is_Thai(c) (0x0e00 <= c && c <= 0x0e7f) // Unicode definition for Thai
-
-void BreakIterator_th::makeIndex(const OUString& Text, sal_Int32 const nStartPos)
-{
- if (Text != cachedText) {
- cachedText = Text;
- if (m_aNextCellIndex.size() < o3tl::make_unsigned(cachedText.getLength())) {
- m_aNextCellIndex.resize(cachedText.getLength());
- m_aPreviousCellIndex.resize(cachedText.getLength());
- }
- // reset nextCell for new Text
- m_aNextCellIndex.assign(cachedText.getLength(), 0);
- }
- else if (nStartPos >= Text.getLength() || m_aNextCellIndex[nStartPos] > 0
- || !is_Thai(Text[nStartPos]))
- return;
-
- const sal_Unicode* str = cachedText.getStr();
- sal_Int32 const len = cachedText.getLength();
-
- sal_Int32 startPos = nStartPos;
- while (startPos > 0 && is_Thai(str[startPos-1])) startPos--;
- sal_Int32 endPos = nStartPos;
- while (endPos < len && is_Thai(str[endPos])) endPos++;
-
- sal_Int32 start, end, pos;
- pos = start = end = startPos;
-
- assert(endPos >= 0 && o3tl::make_unsigned(endPos) <= m_aNextCellIndex.size());
- while (pos < endPos) {
- end += getACell(str, start, endPos);
- assert(end >= 0 && o3tl::make_unsigned(end) <= m_aNextCellIndex.size());
- while (pos < end) {
- m_aNextCellIndex[pos] = end;
- m_aPreviousCellIndex[pos] = start;
- pos++;
- }
- start = end;
- }
-}
-
-}
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/i18npool/source/breakiterator/breakiterator_unicode.cxx b/i18npool/source/breakiterator/breakiterator_unicode.cxx
index a4a00c46a1ad..0caca6ab31ce 100644
--- a/i18npool/source/breakiterator/breakiterator_unicode.cxx
+++ b/i18npool/source/breakiterator/breakiterator_unicode.cxx
@@ -48,7 +48,7 @@ namespace i18npool {
thread_local static BreakIterator_Unicode::BIMap theBIMap;
BreakIterator_Unicode::BreakIterator_Unicode()
- : cBreakIterator( "com.sun.star.i18n.BreakIterator_Unicode" ) // implementation name
+ : cBreakIterator( u"com.sun.star.i18n.BreakIterator_Unicode"_ustr ) // implementation name
, lineRule( "line" )
, icuBI( nullptr )
{
@@ -67,13 +67,6 @@ namespace {
class OOoRuleBasedBreakIterator : public icu::RuleBasedBreakIterator
{
public:
-#if (U_ICU_VERSION_MAJOR_NUM < 58)
- // icu::RuleBasedBreakIterator::setBreakType() is private as of ICU 58.
- void publicSetBreakType(int32_t type)
- {
- setBreakType(type);
- };
-#endif
OOoRuleBasedBreakIterator(UDataMemory* image,
UErrorCode &status)
: icu::RuleBasedBreakIterator(image, status)
@@ -127,11 +120,12 @@ void BreakIterator_Unicode::loadICUBreakIterator(const css::lang::Locale& rLocal
assert( 0 <= breakType && breakType <= 9 && 0 <= rBreakType && rBreakType <= 9 && 0 <= nWordType && nWordType <= 9);
const OString aLangtagStr( LanguageTag::convertToBcp47( rLocale).toUtf8());
OStringBuffer aKeyBuf(64);
- aKeyBuf.append( aLangtagStr).append(';');
+ aKeyBuf.append( aLangtagStr + ";" );
if (rule)
aKeyBuf.append(rule);
- aKeyBuf.append(';').append( static_cast<char>('0'+breakType)).append(';').
- append( static_cast<char>('0'+rBreakType)).append(';').append( static_cast<char>('0'+nWordType));
+ aKeyBuf.append(";" + OStringChar(static_cast<char>('0'+breakType)) + ";"
+ + OStringChar(static_cast<char>('0'+rBreakType)) + ";"
+ + OStringChar( static_cast<char>('0'+nWordType)));
// langtag;rule;breakType;rBreakType;nWordType
const OString aBIMapGlobalKey( aKeyBuf.makeStringAndClear());
@@ -152,7 +146,8 @@ void BreakIterator_Unicode::loadICUBreakIterator(const css::lang::Locale& rLocal
status = U_ZERO_ERROR;
udata_setAppData("OpenOffice", OpenOffice_dat, &status);
- if ( !U_SUCCESS(status) ) throw uno::RuntimeException();
+ if ( !U_SUCCESS(status) )
+ throw uno::RuntimeException("udata_setAppData returned error " + OUString::createFromAscii(u_errorName(status)));
std::shared_ptr<OOoRuleBasedBreakIterator> rbi;
@@ -243,23 +238,6 @@ void BreakIterator_Unicode::loadICUBreakIterator(const css::lang::Locale& rLocal
}
}
}
- if (rbi) {
- #if (U_ICU_VERSION_MAJOR_NUM < 58)
- // ICU 58 made RuleBasedBreakIterator::setBreakType() private
- // instead of protected, so the old workaround of
- // https://ssl.icu-project.org/trac/ticket/5498
- // doesn't work anymore. However, they also claim to have fixed
- // the cause that an initial fBreakType==-1 would lead to an
- // endless loop under some circumstances.
- // Let's see ...
- switch (rBreakType) {
- case LOAD_CHARACTER_BREAKITERATOR: rbi->publicSetBreakType(UBRK_CHARACTER); break;
- case LOAD_WORD_BREAKITERATOR: rbi->publicSetBreakType(UBRK_WORD); break;
- case LOAD_SENTENCE_BREAKITERATOR: rbi->publicSetBreakType(UBRK_SENTENCE); break;
- case LOAD_LINE_BREAKITERATOR: rbi->publicSetBreakType(UBRK_LINE); break;
- }
- #endif
- }
} while (false);
if (!icuBI->mpValue || !icuBI->mpValue->mpBreakIterator)
@@ -296,14 +274,14 @@ void BreakIterator_Unicode::loadICUBreakIterator(const css::lang::Locale& rLocal
break;
}
if ( !U_SUCCESS(status) || !pBI ) {
- throw uno::RuntimeException();
+ throw uno::RuntimeException("Failed to create ICU BreakIterator: error " + OUString::createFromAscii(u_errorName(status)));
}
icuBI->mpValue = std::make_shared<BI_ValueData>();
icuBI->mpValue->mpBreakIterator = pBI;
theBIMap.insert( std::make_pair( aBIMapLocaleTypeKey, icuBI->mpValue));
} while (false);
if (!icuBI->mpValue || !icuBI->mpValue->mpBreakIterator) {
- throw uno::RuntimeException();
+ throw uno::RuntimeException("ICU BreakIterator is not properly initialized");
}
icuBI->maBIMapKey = aBIMapGlobalKey;
if (!bInMap)
@@ -320,12 +298,12 @@ void BreakIterator_Unicode::loadICUBreakIterator(const css::lang::Locale& rLocal
icuBI->mpValue->mpUt = utext_openUChars(icuBI->mpValue->mpUt, pText, rText.getLength(), &status);
if (!U_SUCCESS(status))
- throw uno::RuntimeException();
+ throw uno::RuntimeException("utext_openUChars returned error " + OUString::createFromAscii(u_errorName(status)));
icuBI->mpValue->mpBreakIterator->setText(icuBI->mpValue->mpUt, status);
if (!U_SUCCESS(status))
- throw uno::RuntimeException();
+ throw uno::RuntimeException("Failed to set text for ICU BreakIterator: error " + OUString::createFromAscii(u_errorName(status)));
icuBI->mpValue->maICUText = rText;
}
@@ -379,9 +357,10 @@ Boundary SAL_CALL BreakIterator_Unicode::nextWord( const OUString& Text, sal_Int
if( rv.startPos >= Text.getLength() || rv.startPos == icu::BreakIterator::DONE )
rv.endPos = result.startPos;
else {
- if ( (rWordType == WordType::ANYWORD_IGNOREWHITESPACES ||
- rWordType == WordType::DICTIONARY_WORD ) &&
- u_isWhitespace(Text.iterateCodePoints(&rv.startPos, 0)) )
+ if ((rWordType == WordType::ANYWORD_IGNOREWHITESPACES
+ && u_isUWhiteSpace(Text.iterateCodePoints(&rv.startPos, 0)))
+ || (rWordType == WordType::DICTIONARY_WORD
+ && u_isWhitespace(Text.iterateCodePoints(&rv.startPos, 0))))
rv.startPos = icuBI->mpValue->mpBreakIterator->following(rv.startPos);
rv.endPos = icuBI->mpValue->mpBreakIterator->following(rv.startPos);
@@ -402,9 +381,11 @@ Boundary SAL_CALL BreakIterator_Unicode::previousWord(const OUString& Text, sal_
if( rv.startPos < 0)
rv.endPos = rv.startPos;
else {
- if ( (rWordType == WordType::ANYWORD_IGNOREWHITESPACES ||
- rWordType == WordType::DICTIONARY_WORD) &&
- u_isWhitespace(Text.iterateCodePoints(&rv.startPos, 0)) )
+
+ if ((rWordType == WordType::ANYWORD_IGNOREWHITESPACES
+ && u_isUWhiteSpace(Text.iterateCodePoints(&rv.startPos, 0)))
+ || (rWordType == WordType::DICTIONARY_WORD
+ && u_isWhitespace(Text.iterateCodePoints(&rv.startPos, 0))))
rv.startPos = icuBI->mpValue->mpBreakIterator->preceding(rv.startPos);
rv.endPos = icuBI->mpValue->mpBreakIterator->following(rv.startPos);
@@ -598,7 +579,7 @@ LineBreakResults SAL_CALL BreakIterator_Unicode::getLineBreak(
OUString SAL_CALL
BreakIterator_Unicode::getImplementationName()
{
- return OUString::createFromAscii(cBreakIterator);
+ return cBreakIterator;
}
sal_Bool SAL_CALL
@@ -610,8 +591,7 @@ BreakIterator_Unicode::supportsService(const OUString& rServiceName)
uno::Sequence< OUString > SAL_CALL
BreakIterator_Unicode::getSupportedServiceNames()
{
- uno::Sequence< OUString > aRet { OUString::createFromAscii(cBreakIterator) };
- return aRet;
+ return{ cBreakIterator };
}
}
diff --git a/i18npool/source/breakiterator/data/README b/i18npool/source/breakiterator/data/README
index 6246b80ae77f..76e3e37c3faf 100644
--- a/i18npool/source/breakiterator/data/README
+++ b/i18npool/source/breakiterator/data/README
@@ -9,411 +9,108 @@ At various stages these copies have been customized and are now horribly out of
sync. It unclear which diffs from the base versions are deliberate and which
are now accidental :-(
-We need to review the various issues referenced in the commits that caused
-customizations and see if they're still relevant or not, write regression tests
-for them, if any are still relevant then apply the changes back on top of the
-latest versions.
+The various issues and customizations have been reviewed, with tests written for
+customizations that are still relevant. However, these files are still extremely
+out-of-date and need to be refreshed. Relevant customizations should be reapplied
+on top of a current version.
-to-review, later are ok:
-
-commit e1ad946ef5db3f7c0a540207d0f0fd85799e3b66
-Author: Release Engineers <releng@openoffice.org>
-Date: Thu Aug 6 18:13:57 2009 +0000
-
- CWS-TOOLING: integrate CWS tl73
- 2009-07-31 15:29:33 +0200 tl r274535 : #i64400# dash/hyphen should not break words
-
-commit 9964a76ef58786bba47d409970512d7ded6c8889
-Author: Rüdiger Timm <rt@openoffice.org>
-Date: Wed Jul 2 07:53:05 2008 +0000
-
- INTEGRATION: CWS i18n41 (1.1.2); FILE ADDED
- 2008/04/25 17:06:26 khong 1.1.2.3: i55063, make period a sentence delimiter
- 2008/04/25 06:40:50 khong 1.1.2.2: i55063, make space as Thai sentence delimiter
- 2008/04/24 03:19:10 khong 1.1.2.1: i55063, set Thai letters as sentence delimiter for Thai and English mixed text
-
-commit e4a6e4284dae1ca6fbfa7d1e43690dbf87d796cd
-Author: Rüdiger Timm <rt@openoffice.org>
-Date: Wed Jul 2 07:52:44 2008 +0000
-
- INTEGRATION: CWS i18n41 (1.9.12); FILE MERGED
- 2008/06/17 20:22:30 khong 1.9.12.2: i83229 fix the problem of leading hyphen for numbers
- 2008/04/23 06:20:16 khong 1.9.12.1: i72868, i80891, i83229, fix Chinese punctuations and hyphen for line breakiterator
-
-commit 55dff22611659a1567c968fbf9e512a2765ab62e
-Author: Rüdiger Timm <rt@openoffice.org>
-Date: Wed Jul 2 07:52:07 2008 +0000
-
- INTEGRATION: CWS i18n41 (1.33.36); FILE MERGED
- 2008/06/05 22:18:29 khong 1.33.36.2: RESYNC: (1.33-1.35); FILE MERGED
- 2008/04/23 06:11:55 khong 1.33.36.1: i55063, enable language specific sentence breakiterator
-
-commit 1c2b8095631a3c2d2f396bf50a8f0c62f49be65c
-Author: Rüdiger Timm <rt@openoffice.org>
-Date: Wed Jul 2 07:51:12 2008 +0000
-
- INTEGRATION: CWS i18n41 (1.12.140); FILE MERGED
- 2008/06/05 22:18:26 khong 1.12.140.2: RESYNC: (1.12-1.13); FILE MERGED
- 2008/04/23 06:04:53 khong 1.12.140.1: i87530 avoid breaking line before un-completed cell
-
-commit 9bbdb52df370c69c0f7eba387a2068ee80bd7994
-Author: Rüdiger Timm <rt@openoffice.org>
-Date: Wed Jul 2 07:50:43 2008 +0000
-
- INTEGRATION: CWS i18n41 (1.25.2); FILE MERGED
- 2008/06/05 22:18:23 khong 1.25.2.2: RESYNC: (1.25-1.26); FILE MERGED
- 2008/04/23 06:09:02 khong 1.25.2.1: i88041: avoid startPos goes back to nStartPos when switching between Latin and CJK scripts
-
-commit 8dcdd3ca268f78295731b86797c2b8cd447ba667
-Author: Kurt Zenker <kz@openoffice.org>
-Date: Tue May 20 13:36:01 2008 +0000
-
- INTEGRATION: CWS i18n43_DEV300 (1.33.38); FILE MERGED
- 2008/04/29 21:51:51 khong 1.33.38.1: #i88411# apply the patch from Coleman Kane to fix icu setBreakType issue
-
-commit bedef98c24ef9ada6aaffe9bc5284d9759a31a9a
-Author: Kurt Zenker <kz@openoffice.org>
-Date: Wed Apr 2 08:49:09 2008 +0000
-
- INTEGRATION: CWS i18n40 (1.2.314); FILE MERGED
- 2008/03/19 06:30:23 khong 1.2.314.2: #i80815# count dash like MS Word
- 2008/03/15 07:32:44 khong 1.2.314.1: #i80815# count punctuation as word
-
-commit 59144104b3f91a2e6ed816f0bde0fdb91ea218d7
-Author: Kurt Zenker <kz@openoffice.org>
-Date: Wed Apr 2 08:48:53 2008 +0000
-
- INTEGRATION: CWS i18n40 (1.24.44); FILE MERGED
- 2008/03/19 18:56:42 khong 1.24.44.2: i80815 make word count feature like MS Word
- 2008/03/15 07:31:38 khong 1.24.44.1: #i80815# count punctuation as word
-
-commit 3f0b51776602c45e8aca991450fcbb30f2484ae5
-Author: Vladimir Glazounov <vg@openoffice.org>
-Date: Mon Jan 28 14:33:46 2008 +0000
-
- INTEGRATION: CWS i18n39 (1.8.4); FILE MERGED
- 2007/12/12 17:45:45 khong 1.8.4.3: b6634800# fix line break problem of dot after letter and before number
- 2007/12/08 01:05:52 khong 1.8.4.2: #i83649# fixed the problem of line break between quotation mark and open bracket
- 2007/12/07 23:44:30 khong 1.8.4.1: #i83464# fix the problem of line break between letter and 1326
-
-commit 5d8ef209b1f63d1c8ea5014bdbef96660b355423
-Author: Vladimir Glazounov <vg@openoffice.org>
-Date: Tue Oct 23 08:09:00 2007 +0000
-
- INTEGRATION: CWS i18n38 (1.7.4); FILE MERGED
- 2007/09/19 00:08:04 khong 1.7.4.3: i81448 fixed dot line break issue
- 2007/09/10 23:57:12 khong 1.7.4.2: i81440 fix the problem of line break on punctuations
- 2007/09/10 22:55:46 khong 1.7.4.1: i81448 fix problem of line break on symbols
-
-commit a2f3b48cacfcef338ca5e37acde34c83876e082e
-Author: Vladimir Glazounov <vg@openoffice.org>
-Date: Tue Oct 23 08:08:47 2007 +0000
-
- INTEGRATION: CWS i18n38 (1.32.10); FILE MERGED
- 2007/09/18 20:32:39 khong 1.32.10.1: i81519 set break type icu breakiterator
-
-commit 1967d8fb182b3101dee4f715e78be384400bc1e8
-Author: Kurt Zenker <kz@openoffice.org>
-Date: Wed Sep 5 16:37:28 2007 +0000
-
- INTEGRATION: CWS i18n37 (1.22.6); FILE MERGED
- 2007/09/03 18:27:39 khong 1.22.6.2: i8132 fixed a problem in skipping space for word breakiterator
- 2007/08/31 21:30:30 khong 1.22.6.1: i81158 fix skipping space problem
-
-commit d2c2baf1a31d281d20e8b4d4c806dda027b2d5a3
-Author: Vladimir Glazounov <vg@openoffice.org>
-Date: Tue Aug 28 11:46:45 2007 +0000
-
- INTEGRATION: CWS i18n36_SRC680 (1.5.20.1.2); FILE MERGED
- 2007/08/22 17:12:36 khong 1.5.20.1.2.1: i80841 fix hyphen line break problem
-
-commit d56bedfb425cf77f176f143455e4a9fb6ce65540
-Author: Vladimir Glazounov <vg@openoffice.org>
-Date: Tue Aug 28 11:46:34 2007 +0000
-
- INTEGRATION: CWS i18n36_SRC680 (1.21.2.1.2); FILE MERGED
- 2007/08/22 20:02:28 khong 1.21.2.1.2.2: i80923 fix infinite loop problem
- 2007/08/22 17:11:44 khong 1.21.2.1.2.1: i80923 fix a infinite loop
-
-commit 8a36b196925a5561eabde0a0ef293c73fcb5add3
-Author: Ivo Hinkelmann <ihi@openoffice.org>
-Date: Fri Aug 17 13:58:48 2007 +0000
-
- INTEGRATION: CWS i18n34 (1.5.22); FILE MERGED
- 2007/08/13 22:26:12 khong 1.5.22.1: i80548 i80645 fix dash and backslash issues in line breakiterator
-
-commit c00b2b49bad765144f90552139e63d87d520d1cf
-Author: Ivo Hinkelmann <ihi@openoffice.org>
-Date: Fri Aug 17 13:58:36 2007 +0000
-
- INTEGRATION: CWS i18n34 (1.15.4); FILE MERGED
- 2007/08/13 22:33:38 khong 1.15.4.1: i86439 fix surrogate characters handling issues
-
-commit 3fc5fbc71d4c244d7c8002aa530481741e585bd4
-Author: Ivo Hinkelmann <ihi@openoffice.org>
-Date: Fri Aug 17 13:58:23 2007 +0000
-
- INTEGRATION: CWS i18n34 (1.31.4); FILE MERGED
- 2007/08/13 22:33:37 khong 1.31.4.1: i86439 fix surrogate characters handling issues
-
-commit ee44b43881e7c82c379931f111c452a477b73341
-Author: Ivo Hinkelmann <ihi@openoffice.org>
-Date: Fri Aug 17 13:58:11 2007 +0000
-
- INTEGRATION: CWS i18n34 (1.21.4); FILE MERGED
- 2007/08/14 08:38:53 khong 1.21.4.2: i86439 fix surrogate characters handling issues
- 2007/08/13 22:33:37 khong 1.21.4.1: i86439 fix surrogate characters handling issues
-
-commit f47369dbbc385f8968ad43e43cba293a29a4c2df
-Author: Jens-Heiner Rechtien <hr@openoffice.org>
-Date: Tue Jul 31 16:09:13 2007 +0000
-
- INTEGRATION: CWS i18n32 (1.29.14); FILE MERGED
- 2007/07/24 20:39:44 khong 1.29.14.1: #i79148# fix a local word breakiterator rules loading issue
-
-commit 2791553b4e3fc5e04b96d0b2fd119d9fba1946bc
-Author: Rüdiger Timm <rt@openoffice.org>
-Date: Thu Jul 26 08:08:51 2007 +0000
-
- INTEGRATION: CWS i18n31 (1.14.60); FILE MERGED
- 2007/07/16 22:18:44 khong 1.14.60.4: i75631 i75632 i75633 i75412 handle surrogate pair characters
- 2007/07/13 20:37:32 khong 1.14.60.3: #i75632# use ICU characters properties
- 2007/07/04 01:17:22 khong 1.14.60.2: i75631 i75632 i75633 i75412 handle surrogate pair characters
- 2007/06/27 04:33:11 khong 1.14.60.1: i75631 i75632 i75633 i75412 handle surrogate pair characters
-
-commit 1c79a2bf1e89ac4eb409922ab7eb8ad3cacc688a
-Author: Rüdiger Timm <rt@openoffice.org>
-Date: Thu Jul 26 08:08:39 2007 +0000
-
- INTEGRATION: CWS i18n31 (1.8.60); FILE MERGED
- 2007/06/27 04:33:11 khong 1.8.60.1: i75631 i75632 i75633 i75412 handle surrogate pair characters
-
-commit 517bbaddbaf81a5a6bb00979944cad13a1575d50
-Author: Rüdiger Timm <rt@openoffice.org>
-Date: Thu Jul 26 08:08:27 2007 +0000
-
- INTEGRATION: CWS i18n31 (1.28.14); FILE MERGED
- 2007/07/13 20:37:32 khong 1.28.14.5: #i75632# use ICU characters properties
- 2007/07/04 01:17:22 khong 1.28.14.4: i75631 i75632 i75633 i75412 handle surrogate pair characters
- 2007/06/27 23:25:58 khong 1.28.14.3: i75412 handle surrogate pair characters
- 2007/06/27 05:33:20 khong 1.28.14.2: RESYNC: (1.28-1.29); FILE MERGED
- 2007/06/27 04:33:11 khong 1.28.14.1: i75631 i75632 i75633 i75412 handle surrogate pair characters
-
-commit 0154e3492f2527535c0d648274e7ff674674318b
-Author: Rüdiger Timm <rt@openoffice.org>
-Date: Thu Jul 26 08:08:14 2007 +0000
-
- INTEGRATION: CWS i18n31 (1.14.42); FILE MERGED
- 2007/06/27 05:33:03 khong 1.14.42.2: RESYNC: (1.14-1.15); FILE MERGED
- 2007/06/27 04:33:11 khong 1.14.42.1: i75631 i75632 i75633 i75412 handle surrogate pair characters
-
-commit e2a5a2532ee187669980adb7bfa747c7803c330a
-Author: Rüdiger Timm <rt@openoffice.org>
-Date: Thu Jul 26 08:08:02 2007 +0000
-
- INTEGRATION: CWS i18n31 (1.19.60); FILE MERGED
- 2007/07/13 20:37:32 khong 1.19.60.4: #i75632# use ICU characters properties
- 2007/07/04 01:17:22 khong 1.19.60.3: i75631 i75632 i75633 i75412 handle surrogate pair characters
- 2007/06/27 05:00:48 khong 1.19.60.2: i75231 handle surrogate pair characters
- 2007/06/27 04:33:11 khong 1.19.60.1: i75631 i75632 i75633 i75412 handle surrogate pair characters
-
-commit 80a26a7d4720b5b8cfa0acc624b28014c96d9948
-Author: Jens-Heiner Rechtien <hr@openoffice.org>
-Date: Tue Jun 26 16:41:02 2007 +0000
-
- INTEGRATION: CWS ause081 (1.2.332); FILE MERGED
- 2007/06/21 10:53:19 hjs 1.2.332.1: #i78393# remove component_getDescriptionFunc from exports
-
-commit c2801db6b04bf6f0dbb07727c91b2c66e7e027b8
-Author: Ivo Hinkelmann <ihi@openoffice.org>
-Date: Wed Jun 6 11:17:38 2007 +0000
-
- INTEGRATION: CWS i18n30 (1.4.24); FILE MERGED
- 2007/05/08 21:32:18 khong 1.4.24.1: #i73903# update line breakiterator rule to icu3.6 style
-
-commit ea290668f78475c3b277c9e44bf5622ccb4dcec8
-Author: Ivo Hinkelmann <ihi@openoffice.org>
-Date: Wed Jun 6 11:17:25 2007 +0000
-
- INTEGRATION: CWS i18n30 (1.28.4); FILE MERGED
- 2007/05/08 21:47:00 khong 1.28.4.3: #i75412# remove fix from cws i18n30, move it to other cws to fix with other Japanese surrogate issues
- 2007/03/20 18:39:58 khong 1.28.4.2: #i72589# fixed BS problem for surrogate characters
- 2007/03/13 19:11:44 khong 1.28.4.1: #i75319# fixed ANY_WORD rule loading problem
-
-commit b6308a6e322fd4eaa7845793beb70900624f351c
-Author: Ivo Hinkelmann <ihi@openoffice.org>
-Date: Wed Jun 6 11:17:12 2007 +0000
-
- INTEGRATION: CWS i18n30 (1.14.32); FILE MERGED
- 2007/05/08 21:44:15 khong 1.14.32.1: #i76706# fix infinite loop for CJK word breakiterator for text mixed with Latin and CJK characters
-
-commit e068e0e9aa9405ea4016ad19e9a963129adfed79
-Author: Rüdiger Timm <rt@openoffice.org>
-Date: Thu Jan 25 08:35:42 2007 +0000
-
- INTEGRATION: CWS i18n28 (1.1.2); FILE ADDED
- 2006/12/06 05:52:39 khong 1.1.2.1: #i64400# add an optional breakiterator entry in localedata
-
-commit 8d6f35a46085bb420e8896505504b376d17b842a
-Author: Rüdiger Timm <rt@openoffice.org>
-Date: Thu Jan 25 08:35:31 2007 +0000
-
- INTEGRATION: CWS i18n28 (1.24.36); FILE MERGED
- 2006/12/19 17:27:58 khong 1.24.36.2: RESYNC: (1.24-1.25); FILE MERGED
- 2006/12/06 05:52:38 khong 1.24.36.1: #i64400# add an optional breakiterator entry in localedata
-
-commit 633d34fa33330339ab6795ce3703477216e0062e
-Author: Kurt Zenker <kz@openoffice.org>
-Date: Tue Dec 12 15:14:36 2006 +0000
-
- INTEGRATION: CWS icuupgrade (1.9.24); FILE MERGED
- 2006/10/11 06:11:11 khong 1.9.24.4: RESYNC: (1.10-1.11); FILE MERGED
- 2006/07/07 10:57:40 hdu 1.9.24.3: RESYNC: (1.9-1.10); FILE MERGED
- 2006/06/30 01:31:40 khong 1.9.24.2: #i53388# upgrade icu to 3.4.1
- 2006/06/15 19:16:55 khong 1.9.24.1: #i60645# upgrade icu to 3.4.1
-
-commit 5d46dabe95271c846601a2575d3304fd5b4b24f1
-Author: Kurt Zenker <kz@openoffice.org>
-Date: Tue Dec 12 15:14:05 2006 +0000
-
- INTEGRATION: CWS icuupgrade (1.22.20); FILE MERGED
- 2006/11/11 07:12:47 khong 1.22.20.6: #142664# fix breakiterator crash problem
- 2006/10/11 06:10:51 khong 1.22.20.5: RESYNC: (1.23-1.24); FILE MERGED
- 2006/09/06 01:00:31 khong 1.22.20.4: #i60645# upgrade to icu 3.6
- 2006/07/07 10:57:32 hdu 1.22.20.3: RESYNC: (1.22-1.23); FILE MERGED
- 2006/06/30 01:31:40 khong 1.22.20.2: #i53388# upgrade icu to 3.4.1
- 2006/06/20 14:27:26 hdu 1.22.20.1: #i60645# fix crash when udata_open failed
-
-commit 7431d816cdfc47b08978c0afd1f6503644bb11b8
-Author: Kurt Zenker <kz@openoffice.org>
-Date: Mon Nov 6 13:40:05 2006 +0000
-
- INTEGRATION: CWS i18n27 (1.3.142); FILE MERGED
- 2006/10/10 21:10:57 khong 1.3.142.1: #i65267# fix line break rule
-
-commit d7471e1462ffd9baeb3449eb86ccbb649e32b233
-Author: Kurt Zenker <kz@openoffice.org>
-Date: Mon Nov 6 13:39:52 2006 +0000
-
- INTEGRATION: CWS i18n27 (1.1.2); FILE ADDED
- 2006/10/10 21:08:55 khong 1.1.2.1: #i56348# add Hungarian word break rule for edit mode
-
-commit 1b65b0b886e2cb16382bc11770230fb6a140f33b
-Author: Jens-Heiner Rechtien <hr@openoffice.org>
-Date: Tue Oct 24 12:53:13 2006 +0000
-
- INTEGRATION: CWS tl29 (1.12.24); FILE MERGED
- 2006/09/20 01:24:53 khong 1.12.24.1: #i69482# fixed mismatch of nextWord and getWordBoundary
-
-commit 97d89862a2285071202cc8010d888ffcbf96279a
-Author: Jens-Heiner Rechtien <hr@openoffice.org>
-Date: Thu Nov 17 19:30:35 2005 +0000
-
- INTEGRATION: CWS i18n23 (1.20.22); FILE MERGED
- 2005/11/17 20:00:37 khong 1.20.22.3: RESYNC: (1.20-1.21); FILE MERGED
- 2005/11/17 19:45:05 khong 1.20.22.2: #i57866# merge cws i18n23 and thaiissues
- 2005/11/15 21:10:24 khong 1.20.22.1: #i57866# fix line breakiterator problem
-
-commit 05fadde6f025bcaafca4f3093e88be3cc1bb6836
-Author: Oliver Bolte <obo@openoffice.org>
-Date: Wed Nov 16 09:18:37 2005 +0000
-
- INTEGRATION: CWS thaiissues (1.20.6); FILE MERGED
- 2005/10/26 20:42:40 khong 1.20.6.2: use icu thai linke break algorithm for thai breakiterator
- 2005/10/26 13:36:24 fme 1.20.6.1: #i55716# Handling of WORDJOINER
-
-commit a10b0e70c641d7438c557ef718c6942b3abffaec
-Author: Oliver Bolte <obo@openoffice.org>
-Date: Wed Nov 16 09:18:25 2005 +0000
-
- INTEGRATION: CWS thaiissues (1.8.6); FILE MERGED
- 2005/10/26 20:42:39 khong 1.8.6.1: use icu thai linke break algorithm for thai breakiterator
-
-commit 4a1f1586173839d532f90507c72306bc9e2aec56
-Author: Oliver Bolte <obo@openoffice.org>
-Date: Wed Nov 16 09:18:11 2005 +0000
-
- INTEGRATION: CWS thaiissues (1.9.4); FILE MERGED
- 2005/10/28 17:54:39 khong 1.9.4.1: Fix a bug in ctl line break when there is word joiner character
-
-commit beb2a536738ba761a92f8266570f1859c85f94ae
-Author: Rüdiger Timm <rt@openoffice.org>
-Date: Tue Nov 8 15:59:16 2005 +0000
-
- INTEGRATION: CWS siloch (1.3.50); FILE MERGED
- 2005/10/26 10:55:05 er 1.3.50.1: #i56347# apply patch to recognize suffixes of numbers in Hungarian spellchecking; contributed by Nemeth Laszlo <nemeth@ooo>
-
-commit 939e7c2bc93c13b6740051beeb08c5883b65ffce
-Author: Kurt Zenker <kz@openoffice.org>
-Date: Fri Nov 4 14:33:30 2005 +0000
-
- INTEGRATION: CWS i18n21 (1.3.46); FILE MERGED
- 2005/10/21 00:35:09 khong 1.3.46.1: #i55778 reverse back last change, treat letter and number combination as one word.
-
-commit 51594ef552a872b9868e5c7a025a68665488a016
-Author: Kurt Zenker <kz@openoffice.org>
-Date: Fri Nov 4 14:33:16 2005 +0000
-
- INTEGRATION: CWS i18n21 (1.2.2); FILE MERGED
- 2005/10/21 00:35:08 khong 1.2.2.1: #i55778 reverse back last change, treat letter and number combination as one word.
-
-commit f4fe39909c7ed645a8b387cf66de249572226ad6
-Author: Kurt Zenker <kz@openoffice.org>
-Date: Fri Nov 4 14:33:03 2005 +0000
-
- INTEGRATION: CWS i18n21 (1.3.46); FILE MERGED
- 2005/10/21 00:35:08 khong 1.3.46.1: #i55778 reverse back last change, treat letter and number combination as one word.
-
-commit 7f8af14611e66655ea7354083eafd71afc9703e3
-Author: Kurt Zenker <kz@openoffice.org>
-Date: Fri Nov 4 14:32:41 2005 +0000
-
- INTEGRATION: CWS i18n21 (1.4.46); FILE MERGED
- 2005/10/21 00:35:07 khong 1.4.46.1: #i55778 reverse back last change, treat letter and number combination as one word.
-
-commit 924e158b9d871fbf7500e9215540e26aa95b3b20
-Author: Rüdiger Timm <rt@openoffice.org>
-Date: Mon Oct 17 14:43:17 2005 +0000
-
- INTEGRATION: CWS i18n20 (1.1.2); FILE ADDED
- 2005/09/22 23:47:49 khong 1.1.2.1: #i51661# add quotation mark as middle letter for Hebrew in word breakiterator rule.
-
-commit a428a8927006a10ccfe7182e6fe5a8b677281eca
-Author: Rüdiger Timm <rt@openoffice.org>
-Date: Mon Oct 17 14:42:30 2005 +0000
-
- INTEGRATION: CWS i18n20 (1.18.32); FILE MERGED
- 2005/09/23 15:59:13 khong 1.18.32.6: #i51661# add quotation mark as middle letter for Hebrew in word breakiterator rule.
- 2005/09/23 08:09:54 khong 1.18.32.5: #i51661# add quotation mark as middle letter for Hebrew in word breakiterator rule.
- 2005/09/23 07:38:03 khong 1.18.32.4: #i51661# add quotation mark as middle letter for Hebrew in word breakiterator rule
- 2005/09/22 23:47:48 khong 1.18.32.3: #i51661# add quotation mark as middle letter for Hebrew in word breakiterator rule.
- 2005/08/26 23:34:37 khong 1.18.32.2: #i50172# add cell breakiterator rule for Tamil
- 2005/08/26 23:31:59 khong 1.18.32.1: #i50172# add cell breakiterator rule for Tamil
-
-commit f518f78557931b81e06fd7b31bb22c6639e5e553
-Author: Rüdiger Timm <rt@openoffice.org>
-Date: Mon Oct 17 14:42:14 2005 +0000
-
- INTEGRATION: CWS i18n20 (1.6.32); FILE MERGED
- 2005/09/23 15:59:13 khong 1.6.32.3: #i51661# add quotation mark as middle letter for Hebrew in word breakiterator rule.
- 2005/09/23 07:38:02 khong 1.6.32.2: #i51661# add quotation mark as middle letter for Hebrew in word breakiterator rule
- 2005/09/22 23:47:48 khong 1.6.32.1: #i51661# add quotation mark as middle letter for Hebrew in word breakiterator rule.
-
-commit 9b870055ecd043d1d4fadeacd351f8739e1979a0
-Author: Vladimir Glazounov <vg@openoffice.org>
-Date: Fri Feb 25 09:08:13 2005 +0000
-
- INTEGRATION: CWS i18n16 (1.16.22); FILE MERGED
- 2005/02/04 19:05:45 khong 1.16.22.3: #i41671# use ICU rules for Thai breakiterator
- 2005/01/24 21:56:34 khong 1.16.22.2: #i35285# merge cws i18n16 with top version 1.17
- 2005/01/12 01:12:41 khong 1.16.22.1: #i35285# remove uprv_malloc, use udata_open for loading icu rule breakiterator
-
-commit 29b9e86f5dac388d7aaced24d3826ac9331b03e3
-Author: Vladimir Glazounov <vg@openoffice.org>
-Date: Fri Feb 25 09:07:59 2005 +0000
+done, regression tests added:
- INTEGRATION: CWS i18n16 (1.5.22); FILE MERGED
- 2005/02/04 19:05:45 khong 1.5.22.1: #i41671# use ICU rules for Thai breakiterator
+#112623# update Japanese word breakiterator dictionary
+#i50172# add cell breakiterator rule for Tamil
+#i80412# indic cursoring
+#i107843# em-dash/en-dash breakiterator fix for spell checking
+#i103552# Japanese word for 'shutdown' added to ja.dic
+#i113785# ligatures for spell checking will no longer break words
+An opening quote should not be counted as a word by word count tool (regression test in writer)
+fdo#31271 wrong line break with (
+#i89042# word count fix (regression test is in writer)
+#i58513# add break iterator rules for Finish
+#i19716# fix wrong line break on bracket characters
+#i21290# extend Greek script type
+#i21907# fix isBeginWord and isEndWord problem
+#i85411# Apply patch for ZWSP
+#i17155# fix line breakiterator rule to make slash and hyphen as part of word when doing line break
+#i13451# add '-' as midLetter for Catalan dictionary word breakiterator
+#i13494# fix word breakiterator rule to handle punctuations and signs correctly
+#i29548# Fix Thai word breakiterator problem
+#i11993# #i14904# fix word breakiterator issues
+#i64400# dash/hyphen should not break words (de/nds/nl/sv)
+#i22602# make dot stick on beginning of a word when doing line break
+#i24098# skip preceding space for beginOfSentence
+#i24098# fix beginOfSentence, which did not work correctly when cursor is on the beginning of the sentence
+#i51661# add quotation mark as middle letter for Hebrew in word breakiterator rule.
+#i50172# add cell breakiterator rule for Tamil
+#i55778# reverse back last change, treat letter and number combination as one word.
+#i56347# apply patch to recognize suffixes of numbers in Hungarian spellchecking
+#i56348# add Hungarian word break rule for edit mode
+#i65267# fix line break rule
+#i86439# many changes to implement, tweak, debug UTF-16 surrogate pair handling
+#i75631# "
+#i75632# "
+#i75633# "
+#i75412# "
+#i80645# fix backslash issues in line breakiterator
+#i80841# fix hyphen line break problem
+#i81448# fixed dot line break issue
+#i81448# fix the problem of line break on punctuations (commit message says i81440)
+#i81448# fix problem of line break on symbols
+#i83649# fixed the problem of line break between quotation mark and open bracket
+#i83464# fix the problem of line break between letter and 1326
+b6634800# fix line break problem of dot after letter and before number
+#i83229# fix the problem of leading hyphen for numbers
+#i80815# count words like MS Word
+
+likely superseded:
+
+#i21392# Obscure line break behavior mismatch in string of symbols between MSO and LO.
+#i80548# "fix dash issues in line breakiterator" - fix no longer works
+#i72868# "fix Chinese punctuation for line breakiterator" - fix no longer works
+#i80891# "fix Chinese punctuation for line breakiterator" - fix no longer works
+
+#i27711# Adding/tweaking/removing languages later added to ICU.
+#i33756# "
+#i41671# "
+#i41671# "
+#i55063# "
+#i24850# ICU upgrades, internal bug fixes, or other work-arounds.
+#i24098# "
+#112772# "
+#i35285# "
+4a1f1586173839d532f90507c72306bc9e2aec56 "
+a10b0e70c641d7438c557ef718c6942b3abffaec "
+05fadde6f025bcaafca4f3093e88be3cc1bb6836 "
+#i57866# "
+#i57866# "
+#i69482# "
+#142664# "
+#i60645# "
+#i53388# "
+#i60645# "
+#i78393# "
+#i73903# "
+#i75412# "
+#i72589# "
+#i75319# "
+#i76706# "
+#i64400# "
+#i64400# "
+#i79148# "
+#i55063# "
+#i87530# "
+#i88041# "
+#i88411# "
+#i80923# "
+#i80923# "
+#i81519# "
+
+
+suspect:
+
+
+- The intentions behind the following commits are unclear, as the referenced bugs were in the
+StarOffice internal bug tracker. These changes are contemporaneous with TR14 Revision 17, and seem
+to be part of an effort to backport upstream rule changes across multiple language customizations.
commit 746ea3d8c29b27b23af3433446f66db0ad3096d6
Author: Oliver Bolte <obo@openoffice.org>
@@ -436,108 +133,17 @@ Date: Tue Jan 11 10:18:51 2005 +0000
INTEGRATION: CWS i18n15 (1.3.36); FILE MERGED
2004/09/04 02:03:53 khong 1.3.36.1: #117685# make dictionary word contain only letter or only number, dot can be in middle or end of a word, but only one.
-commit e5a62ce85bebcc9fb2bf0e5b9aced5fc7748055b
-Author: Oliver Bolte <obo@openoffice.org>
-Date: Tue Jan 11 10:18:37 2005 +0000
-
- INTEGRATION: CWS i18n15 (1.16.4); FILE MERGED
- 2004/10/07 18:19:11 khong 1.16.4.1: #i33756# update Hungarian breakiterator
-
-commit d2a6a31e6981800c2a920f8c6ff901c341a0466e
-Author: Kurt Zenker <kz@openoffice.org>
-Date: Fri Jul 30 13:38:57 2004 +0000
-
- INTEGRATION: CWS i18n13 (1.8.92); FILE MERGED
- 2004/06/14 23:24:16 khong 1.8.92.2: #112772# Japanese word breakiterator is not correct
- 2004/06/11 19:23:04 khong 1.8.92.1: #112772# Japanese word breakiterator is not correct
-commit d6b8dabc3dc4811e1152d411a8428ccb334d16ab
-Author: Kurt Zenker <kz@openoffice.org>
-Date: Fri Jul 30 13:38:17 2004 +0000
-
- INTEGRATION: CWS i18n13 (1.7.162); FILE MERGED
- 2004/06/11 19:23:04 khong 1.7.162.1: #112772# Japanese word breakiterator is not correct
-
-commit 9ea4c16a699ac7cf5e255a19653651ac993f022b
-Author: Kurt Zenker <kz@openoffice.org>
-Date: Fri Jul 30 13:38:05 2004 +0000
-
- INTEGRATION: CWS i18n13 (1.9.92); FILE MERGED
- 2004/06/11 19:23:04 khong 1.9.92.1: #112772# Japanese word breakiterator is not correct
+- The intention behind the following commit is unclear, as the bug references are incorrect and no
+good candidates were immediately apparent. Based on the text of the commit, however, it appears to
+be a simple bug fix for skipSpace(). This function has also had a great deal of churn since this
+commit, further suggesting it is no longer pertinent.
-commit 2887ecb5554eee699e1dce4ffbc2dfcf71a54a41
+commit 1967d8fb182b3101dee4f715e78be384400bc1e8
Author: Kurt Zenker <kz@openoffice.org>
-Date: Fri Jul 30 13:37:54 2004 +0000
-
- INTEGRATION: CWS i18n13 (1.15.18); FILE MERGED
- 2004/06/17 20:29:38 khong 1.15.18.2: #
- 2004/06/02 04:54:24 khong 1.15.18.1: #i11993# fix getWordBoundary problem when position is on the end of the word.
-
-commit 606556eed208d1218f950df2200510a7e19af1d9
-Author: Oliver Bolte <obo@openoffice.org>
-Date: Fri May 28 15:33:28 2004 +0000
-
- INTEGRATION: CWS i18n12 (1.1.2); FILE ADDED
- 2004/04/30 14:37:52 er 1.1.2.1: #i27711# Hungarian breakiterator (provided by Timar Andras)
-
-commit 9710ca90166c18c0a92f7f0246a7c2f7dae87ebc
-Author: Oliver Bolte <obo@openoffice.org>
-Date: Fri May 28 15:33:17 2004 +0000
-
- INTEGRATION: CWS i18n12 (1.4.22); FILE MERGED
- 2004/04/13 11:55:32 er 1.4.22.1: #i27711# Hungarian breakiterator
-
-commit b138663ef4f4ade38fb42f8a2f567527cf15949b
-Author: Oliver Bolte <obo@openoffice.org>
-Date: Fri May 28 15:33:02 2004 +0000
-
- INTEGRATION: CWS i18n12 (1.13.22); FILE MERGED
- 2004/04/30 11:25:47 er 1.13.22.2: RESYNC: (1.13-1.14); FILE MERGED
- 2004/04/13 11:55:32 er 1.13.22.1: #i27711# Hungarian breakiterator
-
-commit f5bc5f04e4de8fa502d498a99f4ef6a340d796c0
-Author: Oliver Bolte <obo@openoffice.org>
-Date: Wed Mar 17 08:02:14 2004 +0000
-
- INTEGRATION: CWS i18n11 (1.13.14); FILE MERGED
- 2004/02/04 02:09:04 khong 1.13.14.2: #i24098# skip preceding space for beginOfSentence
- 2004/01/06 19:41:49 khong 1.13.14.1: #i24098# fix beginOfSentence, which did not work correctly when cursor is on the beginning of the sentence
-
-commit 16401a5b865b5da8a2dd70057e8b048e9b797d5a
-Author: Oliver Bolte <obo@openoffice.org>
-Date: Wed Mar 17 08:02:01 2004 +0000
-
- INTEGRATION: CWS i18n11 (1.12.14); FILE MERGED
- 2004/02/10 14:21:13 er 1.12.14.3: RESYNC: (1.12-1.13); FILE MERGED
- 2004/02/05 16:45:30 khong 1.12.14.2: #i24850# fix the problem in previousCharBlock, when target char block is in position 1
- 2004/02/04 02:13:48 khong 1.12.14.1: #i24098# check boundary condition for Sentence, Script, CharBlock breakiterator
-
-commit 4da98b648497af30de0fcf1a16e649ce18b0564f
-Author: Jens-Heiner Rechtien <hr@openoffice.org>
-Date: Mon Mar 8 16:17:05 2004 +0000
-
- INTEGRATION: CWS i18n09 (1.2.2); FILE MERGED
- 2003/12/04 23:45:37 khong 1.2.2.3: #i22602# make dot stick on beginning of a word when doing line break
- 2003/12/04 23:12:37 khong 1.2.2.2: #i21392# change line break rule to match with MS office
+Date: Wed Sep 5 16:37:28 2007 +0000
-done, regression tests added:
+ INTEGRATION: CWS i18n37 (1.22.6); FILE MERGED
+ 2007/09/03 18:27:39 khong 1.22.6.2: i8132 fixed a problem in skipping space for word breakiterator
+ 2007/08/31 21:30:30 khong 1.22.6.1: i81158 fix skipping space problem
-#112623# update Japanese word breakiterator dictionary
-#i50172# add cell breakiterator rule for Tamil
-#i80412# indic cursoring
-#i107843# em-dash/en-dash breakiterator fix for spell checking
-#i103552# Japanese word for 'shutdown' added to ja.dic
-#i113785# ligatures for spell checking will no longer break words
-An opening quote should not be counted as a word by word count tool (regression test in writer)
-fdo#31271 wrong line break with (
-#i89042# word count fix (regression test is in writer)
-#i58513# add break iterator rules for Finish
-#i19716# fix wrong line break on bracket characters
-#i21290# extend Greek script type
-#i21907# fix isBeginWord and isEndWord problem
-#i85411# Apply patch for ZWSP
-#i17155# fix line breakiterator rule to make slash and hyphen as part of word when doing line break
-#i13451# add '-' as midLetter for Catalan dictionary word breakiterator
-#i13494# fix word breakiterator rule to handle punctuations and signs correctly
-#i29548# Fix Thai word breakiterator problem
-#i11993# #i14904# fix word breakiterator issues
diff --git a/i18npool/source/breakiterator/data/ja.dic b/i18npool/source/breakiterator/data/ja.dic
index d2923833e57d..955adc935a53 100644
--- a/i18npool/source/breakiterator/data/ja.dic
+++ b/i18npool/source/breakiterator/data/ja.dic
@@ -34359,6 +34359,7 @@
令兄
令名
+令和
令嗣
令夫人
令妹
diff --git a/i18npool/source/breakiterator/data/line.txt b/i18npool/source/breakiterator/data/line.txt
index 9521c833fe74..ff3f3eafc42e 100644
--- a/i18npool/source/breakiterator/data/line.txt
+++ b/i18npool/source/breakiterator/data/line.txt
@@ -62,7 +62,7 @@ $BK = [:LineBreak = Mandatory_Break:];
$B2 = [:LineBreak = Break_Both:];
$CB = [:LineBreak = Contingent_Break:];
$CJ = [:LineBreak = Conditional_Japanese_Starter:];
-$CL = [:LineBreak = Close_Punctuation:] ;
+$CL = [[:LineBreak = Close_Punctuation:] [:LineBreak = Close_Parenthesis:]]; # tdf#31271
$CM = [:LineBreak = Combining_Mark:];
$CR = [:LineBreak = Carriage_Return:];
$EX = [:LineBreak = Exclamation:];
diff --git a/i18npool/source/breakiterator/gendict.cxx b/i18npool/source/breakiterator/gendict.cxx
index 5380e20fdc01..6d431ce1dce7 100644
--- a/i18npool/source/breakiterator/gendict.cxx
+++ b/i18npool/source/breakiterator/gendict.cxx
@@ -59,8 +59,8 @@ static sal_Int64 existMarkOffset = 0;
All dictionary searching and loading is performed in the xdictionary class.
The only thing you need to do is to derive your class from BreakIterator_CJK
and create an instance of the xdictionary with the language name and
- pass it to the parent class." (from http://wiki.openoffice.org/wiki/
- /Documentation/DevGuide/OfficeDev/Implementing_a_New_Locale - 27/01/2011)
+ pass it to the parent class." (from https://wiki.documentfoundation.org/
+ Documentation/DevGuide/Office_Development#Implementing_a_New_Locale - 27/01/2011)
*/
// C-standard guarantees that static variables are automatically initialized to 0
diff --git a/i18npool/source/breakiterator/xdictionary.cxx b/i18npool/source/breakiterator/xdictionary.cxx
index 9134fbc4be13..6c326f69e48f 100644
--- a/i18npool/source/breakiterator/xdictionary.cxx
+++ b/i18npool/source/breakiterator/xdictionary.cxx
@@ -62,6 +62,11 @@ sal_Unicode* getDataArea_zh();
xdictionary::xdictionary(const char *lang) :
japaneseWordBreak( false )
+#ifdef DICT_JA_ZH_IN_DATAFILE
+ , m_aFileHandle(nullptr),
+ m_nFileSize(-1),
+ m_pMapping(nullptr)
+#endif
{
#ifdef DICT_JA_ZH_IN_DATAFILE
@@ -76,21 +81,18 @@ xdictionary::xdictionary(const char *lang) :
else if( strcmp( lang, "zh" ) == 0 )
sUrl += "zh.data";
- oslFileHandle aFileHandle;
- sal_uInt64 nFileSize;
- char *pMapping;
- if( osl_openFile( sUrl.pData, &aFileHandle, osl_File_OpenFlag_Read ) == osl_File_E_None &&
- osl_getFileSize( aFileHandle, &nFileSize) == osl_File_E_None &&
- osl_mapFile( aFileHandle, (void **) &pMapping, nFileSize, 0, osl_File_MapFlag_RandomAccess ) == osl_File_E_None )
+ if( osl_openFile( sUrl.pData, &m_aFileHandle, osl_File_OpenFlag_Read ) == osl_File_E_None &&
+ osl_getFileSize( m_aFileHandle, &m_nFileSize) == osl_File_E_None &&
+ osl_mapFile( m_aFileHandle, (void **) &m_pMapping, m_nFileSize, 0, osl_File_MapFlag_RandomAccess ) == osl_File_E_None )
{
// We have the offsets to the parts of the file at its end, see gendict.cxx
- sal_Int64 *pEOF = (sal_Int64*)(pMapping + nFileSize);
+ sal_Int64 *pEOF = (sal_Int64*)(m_pMapping + m_nFileSize);
- data.existMark = (sal_uInt8*) (pMapping + pEOF[-1]);
- data.index2 = (sal_Int32*) (pMapping + pEOF[-2]);
- data.index1 = (sal_Int16*) (pMapping + pEOF[-3]);
- data.lenArray = (sal_Int32*) (pMapping + pEOF[-4]);
- data.dataArea = (sal_Unicode*) (pMapping + pEOF[-5]);
+ data.existMark = (sal_uInt8*) (m_pMapping + pEOF[-1]);
+ data.index2 = (sal_Int32*) (m_pMapping + pEOF[-2]);
+ data.index1 = (sal_Int16*) (m_pMapping + pEOF[-3]);
+ data.lenArray = (sal_Int32*) (m_pMapping + pEOF[-4]);
+ data.dataArea = (sal_Unicode*) (m_pMapping + pEOF[-5]);
}
}
@@ -131,6 +133,14 @@ xdictionary::~xdictionary()
delete [] i.wordboundary;
}
}
+#ifdef DICT_JA_ZH_IN_DATAFILE
+ if (m_aFileHandle) {
+ if (m_pMapping) {
+ osl_unmapMappedFile(m_aFileHandle, m_pMapping, m_nFileSize);
+ }
+ osl_closeFile(m_aFileHandle);
+ }
+#endif
}
namespace {
@@ -151,7 +161,7 @@ void xdictionary::initDictionaryData(const char *pLang)
osl::MutexGuard aGuard( osl::Mutex::getGlobalMutex() );
for(const datacache & i : aLoadedCache)
{
- if( i.maLang != pLang )
+ if( i.maLang == pLang )
{
data = i.maData;
return;
diff --git a/i18npool/source/calendar/calendarImpl.cxx b/i18npool/source/calendar/calendarImpl.cxx
index 4e364696cf20..1dde59ef2b55 100644
--- a/i18npool/source/calendar/calendarImpl.cxx
+++ b/i18npool/source/calendar/calendarImpl.cxx
@@ -350,7 +350,7 @@ CalendarImpl::getDisplayString( sal_Int32 nCalendarDisplayCode, sal_Int16 nNativ
OUString SAL_CALL
CalendarImpl::getImplementationName()
{
- return "com.sun.star.i18n.CalendarImpl";
+ return u"com.sun.star.i18n.CalendarImpl"_ustr;
}
sal_Bool SAL_CALL
@@ -362,7 +362,7 @@ CalendarImpl::supportsService(const OUString& rServiceName)
Sequence< OUString > SAL_CALL
CalendarImpl::getSupportedServiceNames()
{
- return { "com.sun.star.i18n.LocaleCalendar", "com.sun.star.i18n.LocaleCalendar2" };
+ return { u"com.sun.star.i18n.LocaleCalendar"_ustr, u"com.sun.star.i18n.LocaleCalendar2"_ustr };
}
}
diff --git a/i18npool/source/calendar/calendar_gregorian.cxx b/i18npool/source/calendar/calendar_gregorian.cxx
index 53fe9b1c70bd..72ac63e30fdb 100644
--- a/i18npool/source/calendar/calendar_gregorian.cxx
+++ b/i18npool/source/calendar/calendar_gregorian.cxx
@@ -27,6 +27,7 @@
#include <com/sun/star/i18n/NativeNumberMode.hpp>
#include <com/sun/star/i18n/reservedWords.hpp>
#include <cppuhelper/supportsservice.hxx>
+#include <o3tl/sprintf.hxx>
#include <rtl/math.hxx>
#include <sal/log.hxx>
@@ -156,7 +157,7 @@ Calendar_gregorian::Calendar_gregorian(const Era *_earArray)
void
Calendar_gregorian::init(const Era *_eraArray)
{
- cCalendar = "com.sun.star.i18n.Calendar_gregorian";
+ cCalendar = u"com.sun.star.i18n.Calendar_gregorian"_ustr;
fieldSet = 0;
@@ -198,7 +199,7 @@ Calendar_gregorian::~Calendar_gregorian()
Calendar_hanja::Calendar_hanja()
{
- cCalendar = "com.sun.star.i18n.Calendar_hanja";
+ cCalendar = u"com.sun.star.i18n.Calendar_hanja"_ustr;
}
OUString SAL_CALL
@@ -218,7 +219,7 @@ Calendar_hanja::getDisplayName( sal_Int16 displayIndex, sal_Int16 idx, sal_Int16
Calendar_hanja_yoil::Calendar_hanja_yoil()
{
- cCalendar = "com.sun.star.i18n.Calendar_Calendar_hanja_yoil";
+ cCalendar = u"com.sun.star.i18n.Calendar_hanja_yoil"_ustr;
}
OUString SAL_CALL
@@ -246,7 +247,7 @@ const Era gengou_eraArray[] = {
};
Calendar_gengou::Calendar_gengou() : Calendar_gregorian(gengou_eraArray)
{
- cCalendar = "com.sun.star.i18n.Calendar_gengou";
+ cCalendar = u"com.sun.star.i18n.Calendar_gengou"_ustr;
}
const Era ROC_eraArray[] = {
@@ -255,7 +256,7 @@ const Era ROC_eraArray[] = {
};
Calendar_ROC::Calendar_ROC() : Calendar_gregorian(ROC_eraArray)
{
- cCalendar = "com.sun.star.i18n.Calendar_ROC";
+ cCalendar = u"com.sun.star.i18n.Calendar_ROC"_ustr;
}
/**
@@ -268,7 +269,7 @@ const Era dangi_eraArray[] = {
};
Calendar_dangi::Calendar_dangi() : Calendar_gregorian(dangi_eraArray)
{
- cCalendar = "com.sun.star.i18n.Calendar_dangi";
+ cCalendar = u"com.sun.star.i18n.Calendar_dangi"_ustr;
}
const Era buddhist_eraArray[] = {
@@ -277,7 +278,7 @@ const Era buddhist_eraArray[] = {
};
Calendar_buddhist::Calendar_buddhist() : Calendar_gregorian(buddhist_eraArray)
{
- cCalendar = "com.sun.star.i18n.Calendar_buddhist";
+ cCalendar = u"com.sun.star.i18n.Calendar_buddhist"_ustr;
}
void SAL_CALL
@@ -926,24 +927,31 @@ Calendar_gregorian::getDisplayStringImpl( sal_Int32 nCalendarDisplayCode, sal_In
// The "#100211# - checked" comments serve for detection of "use of
// sprintf is safe here" conditions. An sprintf encountered without
// having that comment triggers alarm ;-)
- char aStr[12]; // "-2147483648" and \0
switch( nCalendarDisplayCode ) {
case CalendarDisplayCode::SHORT_MONTH:
value += 1; // month is zero based
[[fallthrough]];
case CalendarDisplayCode::SHORT_DAY:
- sprintf(aStr, "%" SAL_PRIdINT32, value); // #100211# - checked
+ aOUStr = OUString::number(value);
break;
case CalendarDisplayCode::LONG_YEAR:
if ( aCalendar.Name == "gengou" )
- sprintf(aStr, "%02" SAL_PRIdINT32, value); // #100211# - checked
+ {
+ char aStr[12]; // "-2147483648" and \0
+ o3tl::sprintf(aStr, "%02" SAL_PRIdINT32, value); // #100211# - checked
+ aOUStr = OUString::createFromAscii(aStr);
+ }
else
- sprintf(aStr, "%" SAL_PRIdINT32, value); // #100211# - checked
+ aOUStr = OUString::number(value);
break;
case CalendarDisplayCode::LONG_MONTH:
- value += 1; // month is zero based
- sprintf(aStr, "%02" SAL_PRIdINT32, value); // #100211# - checked
- break;
+ {
+ value += 1; // month is zero based
+ char aStr[12]; // "-2147483648" and \0
+ o3tl::sprintf(aStr, "%02" SAL_PRIdINT32, value); // #100211# - checked
+ aOUStr = OUString::createFromAscii(aStr);
+ break;
+ }
case CalendarDisplayCode::SHORT_YEAR:
// Take last 2 digits, or only one if value<10, for example,
// in case of the Gengou calendar. For combined era+year always
@@ -957,13 +965,21 @@ Calendar_gregorian::getDisplayStringImpl( sal_Int32 nCalendarDisplayCode, sal_In
// the only calendar using this.
// See i#116701 and fdo#60915
if (value < 100 || bEraMode || (eraArray && (eraArray[0].flags & kDisplayEraForcedLongYear)))
- sprintf(aStr, "%" SAL_PRIdINT32, value); // #100211# - checked
+ aOUStr = OUString::number(value);
else
- sprintf(aStr, "%02" SAL_PRIdINT32, value % 100); // #100211# - checked
+ {
+ char aStr[12]; // "-2147483648" and \0
+ o3tl::sprintf(aStr, "%02" SAL_PRIdINT32, value % 100); // #100211# - checked
+ aOUStr = OUString::createFromAscii(aStr);
+ }
break;
case CalendarDisplayCode::LONG_DAY:
- sprintf(aStr, "%02" SAL_PRIdINT32, value); // #100211# - checked
- break;
+ {
+ char aStr[12]; // "-2147483648" and \0
+ o3tl::sprintf(aStr, "%02" SAL_PRIdINT32, value); // #100211# - checked
+ aOUStr = OUString::createFromAscii(aStr);
+ break;
+ }
case CalendarDisplayCode::SHORT_DAY_NAME:
return getDisplayName(CalendarDisplayIndex::DAY, value, 0);
@@ -1005,7 +1021,6 @@ Calendar_gregorian::getDisplayStringImpl( sal_Int32 nCalendarDisplayCode, sal_In
default:
throw RuntimeException();
}
- aOUStr = OUString::createFromAscii(aStr);
}
// NatNum12 used only for selected parts
if (nNativeNumberMode > 0 && nNativeNumberMode != 12) {
@@ -1046,7 +1061,7 @@ Calendar_buddhist::getDisplayString( sal_Int32 nCalendarDisplayCode, sal_Int16 n
OUString SAL_CALL
Calendar_gregorian::getImplementationName()
{
- return OUString::createFromAscii(cCalendar);
+ return cCalendar;
}
sal_Bool SAL_CALL
@@ -1058,8 +1073,7 @@ Calendar_gregorian::supportsService(const OUString& rServiceName)
Sequence< OUString > SAL_CALL
Calendar_gregorian::getSupportedServiceNames()
{
- Sequence< OUString > aRet { OUString::createFromAscii(cCalendar) };
- return aRet;
+ return { cCalendar };
}
}
diff --git a/i18npool/source/calendar/calendar_hijri.cxx b/i18npool/source/calendar/calendar_hijri.cxx
index 75a155104cbb..0e9396d4a2ce 100644
--- a/i18npool/source/calendar/calendar_hijri.cxx
+++ b/i18npool/source/calendar/calendar_hijri.cxx
@@ -18,50 +18,31 @@
*/
#include <sal/config.h>
-
+#include <i18nutil/calendar.hxx>
#include <cmath>
#include <stdlib.h>
#include <calendar_hijri.hxx>
#include <tools/long.hxx>
+#include <basegfx/numeric/ftools.hxx>
-using namespace ::com::sun::star::uno;
-using namespace ::com::sun::star::lang;
using namespace ::com::sun::star::i18n;
-#define GREGORIAN_CROSSOVER 2299161
-
namespace i18npool {
-// not used
-//static UErrorCode status; // status is shared in all calls to Calendar, it has to be reset for each call.
-
-// radians per degree (pi/180)
-const double Calendar_hijri::RadPerDeg = 0.01745329251994329577;
-
// Synodic Period (mean time between 2 successive new moon: 29d, 12 hr, 44min, 3sec
-const double Calendar_hijri::SynPeriod = 29.53058868;
-const double Calendar_hijri::SynMonth = 365.25/29.53058868; // Solar days in a year/SynPeriod
+constexpr double SynPeriod = 29.53058868;
// Julian day on Jan 1, 1900
-const double Calendar_hijri::jd1900 = 2415020.75933;
+constexpr double jd1900 = 2415020.75933;
// Reference point: March 26, 2001 == 1422 Hijri == 1252 Synodial month from 1900
-const sal_Int32 Calendar_hijri::SynRef = 1252;
-const sal_Int32 Calendar_hijri::GregRef = 1422;
-
-// Local time specific to Saudi Arabia
-const double Calendar_hijri::SA_TimeZone = 3.0;
-
-const double Calendar_hijri::EveningPeriod = 6.0;
-
-const sal_Int32 Calendar_hijri::LeapYear[] = {
- 2, 5, 7, 10, 13, 16, 18, 21, 24, 26, 29
-};
+constexpr sal_Int32 SynRef = 1252;
+constexpr sal_Int32 GregRef = 1422;
Calendar_hijri::Calendar_hijri()
{
- cCalendar = "com.sun.star.i18n.Calendar_hijri";
+ cCalendar = u"com.sun.star.i18n.Calendar_hijri"_ustr;
}
#define FIELDS ((1 << CalendarFieldIndex::ERA) | (1 << CalendarFieldIndex::YEAR) | (1 << CalendarFieldIndex::MONTH) | (1 << CalendarFieldIndex::DAY_OF_MONTH))
@@ -128,22 +109,22 @@ Calendar_hijri::NewMoon(sal_Int32 n)
+ SynPeriod * k
- 0.0001178 * t2
- 0.000000155 * t3
- + 0.00033 * sin(RadPerDeg * (166.56 + 132.87 * t - 0.009173 * t2));
+ + 0.00033 * sin(basegfx::deg2rad(166.56 + 132.87 * t - 0.009173 * t2));
// Sun's mean anomaly in radian
- sa = RadPerDeg * (359.2242
+ sa = basegfx::deg2rad(359.2242
+ 29.10535608 * k
- 0.0000333 * t2
- 0.00000347 * t3);
// Moon's mean anomaly
- ma = RadPerDeg * (306.0253
+ ma = basegfx::deg2rad(306.0253
+ 385.81691806 * k
+ 0.0107306 * t2
+ 0.00001236 * t3);
// Moon's argument of latitude
- tf = RadPerDeg * 2.0 * (21.2964
+ tf = 2.0 * basegfx::deg2rad(21.2964
+ 390.67050646 * k
- 0.0016528 * t2
- 0.00000239 * t3);
@@ -175,7 +156,6 @@ void
Calendar_hijri::getHijri(sal_Int32 *day, sal_Int32 *month, sal_Int32 *year)
{
double prevday;
-// double dayfraction;
sal_Int32 syndiff;
sal_Int32 newsyn;
double newjd;
@@ -223,9 +203,7 @@ void
Calendar_hijri::ToGregorian(sal_Int32 *day, sal_Int32 *month, sal_Int32 *year)
{
sal_Int32 nmonth;
-// double dayfraction;
double jday;
-// sal_Int32 dayint;
if ( *year < 0 ) (*year)++;
@@ -260,6 +238,8 @@ Calendar_hijri::getGregorianDay(sal_Int32 lJulianDay, sal_Int32 *pnDay, sal_Int3
/* working variables */
tools::Long lFactorA, lFactorB, lFactorC, lFactorD, lFactorE;
+ constexpr sal_Int32 GREGORIAN_CROSSOVER = 2299161;
+
/* test whether to adjust for the Gregorian calendar crossover */
if (lJulianDay >= GREGORIAN_CROSSOVER) {
/* calculate a small adjustment */
@@ -275,10 +255,10 @@ Calendar_hijri::getGregorianDay(sal_Int32 lJulianDay, sal_Int32 *pnDay, sal_Int3
lFactorB = lFactorA + 1524;
lFactorC = static_cast<tools::Long>(6680.0 + (static_cast<float>(lFactorB - 2439870) - 122.1) / 365.25);
lFactorD = static_cast<tools::Long>(365 * lFactorC + (0.25 * lFactorC));
- lFactorE = static_cast<tools::Long>((lFactorB - lFactorD) / 30.6001);
+ lFactorE = static_cast<tools::Long>((lFactorB - lFactorD) / i18nutil::monthDaysWithoutJanFeb);
/* now, pull out the day number */
- *pnDay = lFactorB - lFactorD - static_cast<tools::Long>(30.6001 * lFactorE);
+ *pnDay = lFactorB - lFactorD - static_cast<tools::Long>(i18nutil::monthDaysWithoutJanFeb * lFactorE);
/* ...and the month, adjusting it if necessary */
*pnMonth = lFactorE - 1;
@@ -316,7 +296,7 @@ Calendar_hijri::getJulianDay(sal_Int32 day, sal_Int32 month, sal_Int32 year)
jm = month + 13;
}
- sal_Int32 intgr = static_cast<sal_Int32>(static_cast<sal_Int32>(365.25 * jy) + static_cast<sal_Int32>(30.6001 * jm) + day + 1720995 );
+ sal_Int32 intgr = static_cast<sal_Int32>(static_cast<sal_Int32>(365.25 * jy) + static_cast<sal_Int32>(i18nutil::monthDaysWithoutJanFeb * jm) + day + 1720995 );
//check for switch to Gregorian calendar
double const gregcal = 15 + 31 * ( 10 + 12 * 1582 );
diff --git a/i18npool/source/calendar/calendar_jewish.cxx b/i18npool/source/calendar/calendar_jewish.cxx
index ab5a32a221d8..17645b8d903f 100644
--- a/i18npool/source/calendar/calendar_jewish.cxx
+++ b/i18npool/source/calendar/calendar_jewish.cxx
@@ -24,9 +24,7 @@
#include <com/sun/star/i18n/CalendarDisplayCode.hpp>
#include <com/sun/star/i18n/NativeNumberMode.hpp>
-using namespace ::com::sun::star::uno;
using namespace ::com::sun::star::i18n;
-using namespace ::com::sun::star::lang;
namespace i18npool {
@@ -35,7 +33,7 @@ namespace i18npool {
Calendar_jewish::Calendar_jewish()
{
- cCalendar = "com.sun.star.i18n.Calendar_jewish";
+ cCalendar = u"com.sun.star.i18n.Calendar_jewish"_ustr;
}
// The following C++ code is translated from the Lisp code in
@@ -140,6 +138,15 @@ public:
HebrewDate(sal_Int32 m, sal_Int32 d, sal_Int32 y) : year(y), month(m), day(d) { }
explicit HebrewDate(sal_Int32 d) { // Computes the Hebrew date from the absolute date.
+
+ if (d == 730119) // 1999-12-31 : a very common date used in calc
+ {
+ year = 5760;
+ month = 10;
+ day = 22;
+ return;
+ }
+
year = (d + HebrewEpoch) / 366; // Approximation from below.
// Search forward for year from the approximation.
while (d >= HebrewDate(7,1,year + 1).GetAbsoluteDate())
diff --git a/i18npool/source/characterclassification/cclass_unicode.cxx b/i18npool/source/characterclassification/cclass_unicode.cxx
index 2eb3fdf5f27d..2884cfb62adc 100644
--- a/i18npool/source/characterclassification/cclass_unicode.cxx
+++ b/i18npool/source/characterclassification/cclass_unicode.cxx
@@ -27,6 +27,8 @@
#include <breakiteratorImpl.hxx>
#include <transliteration_body.hxx>
#include <rtl/ref.hxx>
+#include <o3tl/string_view.hxx>
+#include <utility>
using namespace ::com::sun::star;
using namespace ::com::sun::star::uno;
@@ -38,16 +40,20 @@ namespace i18npool {
// class cclass_Unicode
// ----------------------------------------------------;
-cclass_Unicode::cclass_Unicode( const uno::Reference < XComponentContext >& rxContext ) :
- trans( new Transliteration_casemapping() ),
- m_xContext( rxContext ),
+cclass_Unicode::cclass_Unicode( uno::Reference < XComponentContext > xContext ) :
+ transToUpper( new Transliteration_casemapping() ),
+ transToLower( new Transliteration_casemapping() ),
+ transToTitle( new Transliteration_casemapping() ),
+ m_xContext(std::move( xContext )),
nStartTypes( 0 ),
nContTypes( 0 ),
- eState( ssGetChar ),
cGroupSep( ',' ),
cDecimalSep( '.' ),
cDecimalSepAlt( 0 )
{
+ transToUpper->setMappingType(MappingType::ToUpper);
+ transToLower->setMappingType(MappingType::ToLower);
+ transToTitle->setMappingType(MappingType::ToTitle);
}
cclass_Unicode::~cclass_Unicode() {
@@ -63,8 +69,8 @@ cclass_Unicode::toUpper( const OUString& Text, sal_Int32 nPos, sal_Int32 nCount,
if (nCount + nPos > len)
nCount = len - nPos;
- trans->setMappingType(MappingType::ToUpper, rLocale);
- return trans->transliterateString2String(Text, nPos, nCount);
+ transToUpper->setLocale(rLocale);
+ return transToUpper->transliterateString2String(Text, nPos, nCount);
}
OUString SAL_CALL
@@ -75,8 +81,8 @@ cclass_Unicode::toLower( const OUString& Text, sal_Int32 nPos, sal_Int32 nCount,
if (nCount + nPos > len)
nCount = len - nPos;
- trans->setMappingType(MappingType::ToLower, rLocale);
- return trans->transliterateString2String(Text, nPos, nCount);
+ transToLower->setLocale(rLocale);
+ return transToLower->transliterateString2String(Text, nPos, nCount);
}
OUString SAL_CALL
@@ -89,7 +95,7 @@ cclass_Unicode::toTitle( const OUString& Text, sal_Int32 nPos, sal_Int32 nCount,
if (nCount + nPos > len)
nCount = len - nPos;
- trans->setMappingType(MappingType::ToTitle, rLocale);
+ transToTitle->setLocale(rLocale);
rtl_uString* pStr = rtl_uString_alloc(nCount);
sal_Unicode* out = pStr->buffer;
rtl::Reference< BreakIteratorImpl > xBrk(new BreakIteratorImpl(m_xContext));
@@ -100,7 +106,7 @@ cclass_Unicode::toTitle( const OUString& Text, sal_Int32 nPos, sal_Int32 nCount,
bdy = xBrk->nextWord(Text, bdy.endPos, rLocale,
WordType::ANYWORD_IGNOREWHITESPACES);
*out = (i == bdy.startPos) ?
- trans->transliterateChar2Char(Text[i]) : Text[i];
+ transToTitle->transliterateChar2Char(Text[i]) : Text[i];
}
*out = 0;
return OUString( pStr, SAL_NO_ACQUIRE );
@@ -142,10 +148,10 @@ cclass_Unicode::getScript( const OUString& Text, sal_Int32 nPos ) {
sal_Int32
-cclass_Unicode::getCharType( const OUString& Text, sal_Int32* nPos, sal_Int32 increment) {
+cclass_Unicode::getCharType( std::u16string_view Text, sal_Int32* nPos, sal_Int32 increment) {
using namespace ::com::sun::star::i18n::KCharacterType;
- sal_uInt32 ch = Text.iterateCodePoints(nPos, increment);
+ sal_uInt32 ch = o3tl::iterateCodePoints(Text, nPos, increment);
switch ( u_charType(ch) ) {
// Upper
case U_UPPERCASE_LETTER :
@@ -276,7 +282,7 @@ ParseResult SAL_CALL cclass_Unicode::parsePredefinedToken(
OUString SAL_CALL cclass_Unicode::getImplementationName()
{
- return "com.sun.star.i18n.CharacterClassification_Unicode";
+ return u"com.sun.star.i18n.CharacterClassification_Unicode"_ustr;
}
sal_Bool SAL_CALL cclass_Unicode::supportsService(const OUString& rServiceName)
@@ -286,7 +292,7 @@ sal_Bool SAL_CALL cclass_Unicode::supportsService(const OUString& rServiceName)
Sequence< OUString > SAL_CALL cclass_Unicode::getSupportedServiceNames()
{
- return { "com.sun.star.i18n.CharacterClassification_Unicode" };
+ return { u"com.sun.star.i18n.CharacterClassification_Unicode"_ustr };
}
}
diff --git a/i18npool/source/characterclassification/cclass_unicode_parser.cxx b/i18npool/source/characterclassification/cclass_unicode_parser.cxx
index c5637e8ae876..9ed95e2f907a 100644
--- a/i18npool/source/characterclassification/cclass_unicode_parser.cxx
+++ b/i18npool/source/characterclassification/cclass_unicode_parser.cxx
@@ -557,13 +557,13 @@ void cclass_Unicode::destroyParserTable()
}
-ParserFlags cclass_Unicode::getFlags(sal_uInt32 const c)
+ParserFlags cclass_Unicode::getFlags(sal_uInt32 const c, const cclass_Unicode::ScanState eState)
{
ParserFlags nMask;
if ( c < nDefCnt )
nMask = pTable[ sal_uInt8(c) ];
else
- nMask = getFlagsExtended(c);
+ nMask = getFlagsExtended(c, eState);
switch ( eState )
{
case ssGetChar :
@@ -593,7 +593,7 @@ ParserFlags cclass_Unicode::getFlags(sal_uInt32 const c)
}
-ParserFlags cclass_Unicode::getFlagsExtended(sal_uInt32 const c) const
+ParserFlags cclass_Unicode::getFlagsExtended(sal_uInt32 const c, const cclass_Unicode::ScanState eState) const
{
if ( c == cGroupSep )
return ParserFlags::VALUE;
@@ -702,7 +702,7 @@ ParserFlags cclass_Unicode::getContCharsFlags( sal_Unicode c )
void cclass_Unicode::parseText( ParseResult& r, const OUString& rText, sal_Int32 nPos, sal_Int32 nTokenType )
{
assert(r.LeadingWhiteSpace == 0);
- eState = ssGetChar;
+ ScanState eState = ssGetChar;
//! All the variables below (plus ParseResult) have to be reset on ssRewindFromValue!
OUStringBuffer aSymbol;
@@ -723,7 +723,7 @@ void cclass_Unicode::parseText( ParseResult& r, const OUString& rText, sal_Int32
while ((current != 0) && (eState != ssStop))
{
++nCodePoints;
- ParserFlags nMask = getFlags(current);
+ ParserFlags nMask = getFlags(current, eState);
if ( nMask & ParserFlags::EXCLUDED )
eState = ssBounce;
if ( bMightBeWord )
@@ -827,8 +827,16 @@ void cclass_Unicode::parseText( ParseResult& r, const OUString& rText, sal_Int32
{
if (current == cGroupSep)
{
- if (getFlags(nextChar) & ParserFlags::VALUE_DIGIT)
+ // accept only if it is followed by 3 digits
+ sal_Int32 tempIndex(index);
+ sal_uInt32 const nextChar2((tempIndex < rText.getLength()) ? rText.iterateCodePoints(&tempIndex) : 0);
+ sal_uInt32 const nextChar3((tempIndex < rText.getLength()) ? rText.iterateCodePoints(&tempIndex) : 0);
+ if (getFlags(nextChar, eState) & ParserFlags::VALUE_DIGIT
+ && getFlags(nextChar2, eState) & ParserFlags::VALUE_DIGIT
+ && getFlags(nextChar3, eState) & ParserFlags::VALUE_DIGIT)
+ {
nParseTokensType |= KParseTokens::GROUP_SEPARATOR_IN_NUMBER;
+ }
else
{
// Trailing group separator character is not a
@@ -850,7 +858,7 @@ void cclass_Unicode::parseText( ParseResult& r, const OUString& rText, sal_Int32
}
else if (current == 'E' || current == 'e')
{
- ParserFlags nNext = getFlags(nextChar);
+ ParserFlags nNext = getFlags(nextChar, eState);
if ( nNext & ParserFlags::VALUE_EXP )
; // keep it going
else if (bMightBeWord && ((nNext & ParserFlags::WORD) || !nextChar))
@@ -865,7 +873,7 @@ void cclass_Unicode::parseText( ParseResult& r, const OUString& rText, sal_Int32
{
if ( (cLast == 'E') || (cLast == 'e') )
{
- ParserFlags nNext = getFlags(nextChar);
+ ParserFlags nNext = getFlags(nextChar, eState);
if ( nNext & ParserFlags::VALUE_EXP_VALUE )
; // keep it going
else if (bMightBeWord && ((nNext & ParserFlags::WORD) || !nextChar))
@@ -906,8 +914,9 @@ void cclass_Unicode::parseText( ParseResult& r, const OUString& rText, sal_Int32
{
if ( cLast == '\\' )
{ // escaped
- aSymbol.append(rText.subView(postSymbolIndex, nextCharIndex - postSymbolIndex - 2));
- aSymbol.append(OUString(&current, 1));
+ aSymbol.append(
+ OUString::Concat(rText.subView(postSymbolIndex, nextCharIndex - postSymbolIndex - 2))
+ + OUString(&current, 1));
}
else
{
@@ -931,8 +940,9 @@ void cclass_Unicode::parseText( ParseResult& r, const OUString& rText, sal_Int32
{
if ( cLast == '\\' )
{ // escaped
- aSymbol.append(rText.subView(postSymbolIndex, nextCharIndex - postSymbolIndex - 2));
- aSymbol.append(OUString(&current, 1));
+ aSymbol.append(
+ rText.subView(postSymbolIndex, nextCharIndex - postSymbolIndex - 2)
+ + OUString(&current, 1));
}
else if (current == nextChar &&
!(nContTypes & KParseTokens::TWO_DOUBLE_QUOTES_BREAK_STRING) )
@@ -1057,7 +1067,7 @@ void cclass_Unicode::parseText( ParseResult& r, const OUString& rText, sal_Int32
aSymbol.append(rText.subView(postSymbolIndex, nextCharIndex - postSymbolIndex - 1));
r.TokenType |= KParseType::MISSING_QUOTE;
}
- r.DequotedNameOrString = aSymbol.toString();
+ r.DequotedNameOrString = aSymbol.makeStringAndClear();
}
}
diff --git a/i18npool/source/characterclassification/characterclassificationImpl.cxx b/i18npool/source/characterclassification/characterclassificationImpl.cxx
index 8146612a87fc..e317638d4650 100644
--- a/i18npool/source/characterclassification/characterclassificationImpl.cxx
+++ b/i18npool/source/characterclassification/characterclassificationImpl.cxx
@@ -32,7 +32,8 @@ namespace i18npool {
CharacterClassificationImpl::CharacterClassificationImpl(
const Reference < XComponentContext >& rxContext ) : m_xContext( rxContext )
{
- if (createLocaleSpecificCharacterClassification("Unicode", Locale()))
+ static constexpr OUStringLiteral sUnicode = u"Unicode";
+ if (createLocaleSpecificCharacterClassification(sUnicode, Locale()))
xUCI = cachedItem->xCI;
}
@@ -190,7 +191,7 @@ CharacterClassificationImpl::getLocaleSpecificCharacterClassification(const Loca
OUString SAL_CALL
CharacterClassificationImpl::getImplementationName()
{
- return "com.sun.star.i18n.CharacterClassification";
+ return u"com.sun.star.i18n.CharacterClassification"_ustr;
}
sal_Bool SAL_CALL
@@ -202,7 +203,7 @@ CharacterClassificationImpl::supportsService(const OUString& rServiceName)
Sequence< OUString > SAL_CALL
CharacterClassificationImpl::getSupportedServiceNames()
{
- return { "com.sun.star.i18n.CharacterClassification" };
+ return { u"com.sun.star.i18n.CharacterClassification"_ustr };
}
}
diff --git a/i18npool/source/characterclassification/unoscripttypedetector.cxx b/i18npool/source/characterclassification/unoscripttypedetector.cxx
index afcd2708ce90..aef7497613ca 100644
--- a/i18npool/source/characterclassification/unoscripttypedetector.cxx
+++ b/i18npool/source/characterclassification/unoscripttypedetector.cxx
@@ -43,29 +43,27 @@ UnoScriptTypeDetector::endOfScriptDirection( const OUString& Text, sal_Int32 nPo
}
sal_Int16 SAL_CALL
-UnoScriptTypeDetector::getCTLScriptType( const OUString& Text, sal_Int32 nPos )
+UnoScriptTypeDetector::getCTLScriptType( const OUString&, sal_Int32 )
{
- return ScriptTypeDetector::getCTLScriptType(Text, nPos);
+ throw css::uno::RuntimeException("not implemented");
}
-// Begin of Script Type is inclusive.
sal_Int32 SAL_CALL
-UnoScriptTypeDetector::beginOfCTLScriptType( const OUString& Text, sal_Int32 nPos )
+UnoScriptTypeDetector::beginOfCTLScriptType( const OUString&, sal_Int32 )
{
- return ScriptTypeDetector::beginOfCTLScriptType(Text, nPos);
+ throw css::uno::RuntimeException("not implemented");
}
-// End of the Script Type is exclusive, the return value pointing to the begin of next script type
sal_Int32 SAL_CALL
-UnoScriptTypeDetector::endOfCTLScriptType( const OUString& Text, sal_Int32 nPos )
+UnoScriptTypeDetector::endOfCTLScriptType( const OUString&, sal_Int32 )
{
- return ScriptTypeDetector::endOfCTLScriptType(Text, nPos);
+ throw css::uno::RuntimeException("not implemented");
}
OUString SAL_CALL
UnoScriptTypeDetector::getImplementationName()
{
- return "com.sun.star.i18n.ScriptTypeDetector";
+ return u"com.sun.star.i18n.ScriptTypeDetector"_ustr;
}
sal_Bool SAL_CALL
@@ -77,7 +75,7 @@ UnoScriptTypeDetector::supportsService(const OUString& ServiceName)
css::uno::Sequence< OUString > SAL_CALL
UnoScriptTypeDetector::getSupportedServiceNames()
{
- return { "com.sun.star.i18n.ScriptTypeDetector" };
+ return { u"com.sun.star.i18n.ScriptTypeDetector"_ustr };
}
extern "C" SAL_DLLPUBLIC_EXPORT css::uno::XInterface *
diff --git a/i18npool/source/collator/chaptercollator.cxx b/i18npool/source/collator/chaptercollator.cxx
index 729045ac59e0..b79ad5b52493 100644
--- a/i18npool/source/collator/chaptercollator.cxx
+++ b/i18npool/source/collator/chaptercollator.cxx
@@ -61,7 +61,7 @@ ChapterCollator::compareSubstring( const OUString& str1, sal_Int32 off1, sal_Int
if( ans != 0 )
return ans;
- static const OUStringLiteral aAddAllowed(u"?");
+ static constexpr OUString aAddAllowed(u"?"_ustr);
ParseResult res1, res2;
// since parseAnyToken does not take length as parameter, we have to copy
// it to a temp. string.
@@ -72,7 +72,7 @@ ChapterCollator::compareSubstring( const OUString& str1, sal_Int32 off1, sal_Int
return res1.Value == res2.Value ? 0 : res1.Value > res2.Value ? 1 : -1;
}
-constexpr OUStringLiteral cChapCollator = u"com.sun.star.i18n.ChapterCollator";
+constexpr OUString cChapCollator = u"com.sun.star.i18n.ChapterCollator"_ustr;
OUString SAL_CALL
ChapterCollator::getImplementationName()
diff --git a/i18npool/source/collator/collatorImpl.cxx b/i18npool/source/collator/collatorImpl.cxx
index fff944d6ff7e..5e5510587d19 100644
--- a/i18npool/source/collator/collatorImpl.cxx
+++ b/i18npool/source/collator/collatorImpl.cxx
@@ -207,7 +207,7 @@ CollatorImpl::loadCachedCollator(const lang::Locale& rLocale, const OUString& rS
OUString SAL_CALL CollatorImpl::getImplementationName()
{
- return "com.sun.star.i18n.Collator";
+ return u"com.sun.star.i18n.Collator"_ustr;
}
sal_Bool SAL_CALL CollatorImpl::supportsService(const OUString& rServiceName)
@@ -218,7 +218,7 @@ sal_Bool SAL_CALL CollatorImpl::supportsService(const OUString& rServiceName)
Sequence< OUString > SAL_CALL
CollatorImpl::getSupportedServiceNames()
{
- return { "com.sun.star.i18n.Collator" };
+ return { u"com.sun.star.i18n.Collator"_ustr };
}
}
diff --git a/i18npool/source/collator/collator_unicode.cxx b/i18npool/source/collator/collator_unicode.cxx
index fc99879759e8..589c8ad6e6e9 100644
--- a/i18npool/source/collator/collator_unicode.cxx
+++ b/i18npool/source/collator/collator_unicode.cxx
@@ -20,10 +20,10 @@
#include <config_locales.h>
#include <sal/log.hxx>
+#include <rtl/ustrbuf.hxx>
#include <lrl_include.hxx>
-#include <rtl/ustrbuf.hxx>
#include <i18nlangtag/languagetag.hxx>
#include <i18nlangtag/languagetagicu.hxx>
#include <collator_unicode.hxx>
@@ -38,7 +38,7 @@ using namespace ::com::sun::star::uno;
namespace i18npool {
-constexpr OUStringLiteral implementationName = u"com.sun.star.i18n.Collator_Unicode";
+constexpr OUString implementationName = u"com.sun.star.i18n.Collator_Unicode"_ustr;
Collator_Unicode::Collator_Unicode()
{
@@ -156,14 +156,10 @@ Collator_Unicode::loadCollatorAlgorithm(const OUString& rAlgorithm, const lang::
size_t (*funclen)() = nullptr;
#ifndef DISABLE_DYNLOADING
- OUStringBuffer aBuf;
-#ifdef SAL_DLLPREFIX
- aBuf.append(SAL_DLLPREFIX);
-#endif
- aBuf.append( "collator_data" SAL_DLLEXTENSION );
- hModule = osl_loadModuleRelative( &thisModule, aBuf.makeStringAndClear().pData, SAL_LOADMODULE_DEFAULT );
+ constexpr OUString sModuleName( u"" SAL_MODULENAME( "i18npool" ) ""_ustr );
+ hModule = osl_loadModuleRelative( &thisModule, sModuleName.pData, SAL_LOADMODULE_DEFAULT );
if (hModule) {
- aBuf.append("get_" + rLocale.Language + "_");
+ OUStringBuffer aBuf("get_collator_data_" + rLocale.Language + "_");
if ( rLocale.Language == "zh" ) {
OUString func_base = aBuf.makeStringAndClear();
if (OUString("TW HK MO").indexOf(rLocale.Country) >= 0)
@@ -252,16 +248,6 @@ Collator_Unicode::loadCollatorAlgorithm(const OUString& rAlgorithm, const lang::
funclen = get_collator_data_ja_phonetic_alphanumeric_last_length;
}
#endif
-#if WITH_LOCALE_ALL || WITH_LOCALE_ko
-#if (U_ICU_VERSION_MAJOR_NUM < 53)
- } else if ( rLocale.Language == "ko" ) {
- if ( rAlgorithm == "charset" )
- {
- func = get_collator_data_ko_charset;
- funclen = get_collator_data_ko_charset_length;
- }
-#endif
-#endif
#if WITH_LOCALE_ALL || WITH_LOCALE_ku
} else if ( rLocale.Language == "ku" ) {
if ( rAlgorithm == "alphanumeric" )
@@ -442,7 +428,7 @@ Collator_Unicode::supportsService(const OUString& rServiceName)
Sequence< OUString > SAL_CALL
Collator_Unicode::getSupportedServiceNames()
{
- Sequence< OUString > aRet { OUString(implementationName) };
+ Sequence< OUString > aRet { implementationName };
return aRet;
}
diff --git a/i18npool/source/collator/gencoll_rule.cxx b/i18npool/source/collator/gencoll_rule.cxx
index 2d55e0c8917d..76f8987e36d1 100644
--- a/i18npool/source/collator/gencoll_rule.cxx
+++ b/i18npool/source/collator/gencoll_rule.cxx
@@ -62,13 +62,8 @@ static void data_write(char* file, char* name, sal_uInt8 *data, sal_Int32 len)
}
fprintf(fp, "\n};\n\n");
- fprintf(fp, "#ifndef DISABLE_DYNLOADING\n");
- fprintf(fp, "SAL_DLLPUBLIC_EXPORT const sal_uInt8* get_%s() { return %s; }\n", name, name);
- fprintf(fp, "SAL_DLLPUBLIC_EXPORT size_t get_%s_length() { return sizeof(%s); }\n", name, name);
- fprintf(fp, "#else\n");
- fprintf(fp, "SAL_DLLPUBLIC_EXPORT const sal_uInt8* get_collator_data_%s() { return %s; }\n", name, name);
- fprintf(fp, "SAL_DLLPUBLIC_EXPORT size_t get_collator_data_%s_length() { return sizeof(%s); }\n", name, name);
- fprintf(fp, "#endif\n");
+ fprintf(fp, "const sal_uInt8* get_collator_data_%s() { return %s; }\n", name, name);
+ fprintf(fp, "size_t get_collator_data_%s_length() { return sizeof(%s); }\n", name, name);
fprintf(fp, "\n");
fprintf (fp, "}\n");
diff --git a/i18npool/source/defaultnumberingprovider/defaultnumberingprovider.cxx b/i18npool/source/defaultnumberingprovider/defaultnumberingprovider.cxx
index e5d631e3e1e5..1caca1b3d054 100644
--- a/i18npool/source/defaultnumberingprovider/defaultnumberingprovider.cxx
+++ b/i18npool/source/defaultnumberingprovider/defaultnumberingprovider.cxx
@@ -63,9 +63,9 @@
#define S_FA_THREE "\xDB\xB3"
// Indic Devanagari
-#define S_HI_ONE "\xDB\xB1"
-#define S_HI_TWO "\xDB\xB2"
-#define S_HI_THREE "\xDB\xB3"
+#define S_HI_ONE "\xE0\xA5\xA7"
+#define S_HI_TWO "\xE0\xA5\xA8"
+#define S_HI_THREE "\xE0\xA5\xA9"
// Chicago footnote symbols
#define S_DAGGER "\xE2\x80\xA0"
@@ -200,6 +200,24 @@ const sal_Unicode table_CyrillicLowerLetter_sr[] = {
0x0444, 0x0445, 0x0446, 0x0447, 0x045F, 0x0448
};
+// Ukrainian Cyrillic upper letters
+const sal_Unicode table_CyrillicUpperLetter_uk[] = {
+ 0x0410, 0x0411, 0x0412, 0x0413, 0x0490, 0x0414, 0x0415, 0x0404,
+ 0x0416, 0x0417, 0x0418, 0x0406, 0x0407, 0x0419, 0x041A, 0x041B,
+ 0x041C, 0x041D, 0x041E, 0x041F, 0x0420, 0x0421, 0x0422, 0x0423,
+ 0x0424, 0x0425, 0x0426, 0x0427, 0x0428, 0x0429, 0x042C, 0x042E,
+ 0x042F
+};
+
+// Ukrainian cyrillic lower letters
+const sal_Unicode table_CyrillicLowerLetter_uk[] = {
+ 0x0430, 0x0431, 0x0432, 0x0433, 0x0491, 0x0434, 0x0435, 0x0454,
+ 0x0436, 0x0437, 0x0438, 0x0456, 0x0457, 0x0439, 0x043A, 0x043B,
+ 0x043C, 0x043D, 0x043E, 0x043F, 0x0440, 0x0441, 0x0442, 0x0443,
+ 0x0444, 0x0445, 0x0446, 0x0447, 0x0448, 0x0449, 0x044C, 0x044E,
+ 0x044F
+};
+
const sal_Unicode table_GreekUpperLetter[] = {
0x0391, 0x0392, 0x0393, 0x0394, 0x0395, 0x03DB, 0x0396, 0x0397, 0x0398,
0x0399, 0x039A, 0x039B, 0x039C, 0x039D, 0x039E, 0x039F, 0x03A0, 0x03DF,
@@ -366,7 +384,7 @@ static OUString toRoman( sal_Int32 n )
case 3: sTmp.append(*cRomanStr); [[fallthrough]];
case 2: sTmp.append(*cRomanStr); [[fallthrough]];
case 1: sTmp.append(*cRomanStr); break;
- case 4: sTmp.append(*cRomanStr).append(*(cRomanStr-nDiff)); break;
+ case 4: sTmp.append(OUStringChar(*cRomanStr) + OUStringChar(*(cRomanStr-nDiff))); break;
case 5: sTmp.append(*(cRomanStr-nDiff)); break;
}
@@ -452,7 +470,7 @@ void lcl_formatPersianWord( sal_Int32 nNumber, OUString& rsResult )
{
if (nSection > SAL_N_ELEMENTS( table_PersianWord_decadeX))
throw IllegalArgumentException(); // does not happen with sal_Int32
- aTemp.insert( 0, asPersianWord_conjunction).insert( 0, table_PersianWord_decadeX[nSection-1]);
+ aTemp.insert( 0, table_PersianWord_decadeX[nSection-1] + asPersianWord_conjunction );
}
unsigned int nDigit;
@@ -499,7 +517,7 @@ static void lcl_formatKoreanLegalWord(sal_Int32 nNumber, OUString& rsResult) {
aTemp.insert(0, (table_KoreanLegalWord_decade1[digit1 - 1]));
if (digit2 > 0)
aTemp.insert(0, (table_KoreanLegalWord_decade2[digit2 - 1]));
- rsResult += aTemp.makeStringAndClear();
+ rsResult += aTemp;
}
// Greek Letter Numbering
@@ -752,15 +770,15 @@ DefaultNumberingProvider::makeNumberingString( const Sequence<beans::PropertyVal
locale = aLocale;
break;
case NUMBER_LOWER_ZH:
- natNum = NativeNumberMode::NATNUM7;
+ natNum = NativeNumberMode::NATNUM12;
locale.Language = "zh";
break;
case NUMBER_UPPER_ZH:
- natNum = NativeNumberMode::NATNUM8;
+ natNum = NativeNumberMode::NATNUM5;
locale.Language = "zh";
break;
case NUMBER_UPPER_ZH_TW:
- natNum = NativeNumberMode::NATNUM8;
+ natNum = NativeNumberMode::NATNUM5;
locale.Language = "zh";
locale.Country = "TW";
break;
@@ -958,6 +976,29 @@ DefaultNumberingProvider::makeNumberingString( const Sequence<beans::PropertyVal
result); // 1=>a, 2=>b, ..., 27=>z, 28=>aa, 29=>bb, ...
break;
+ case CHARS_CYRILLIC_UPPER_LETTER_UK:
+ lcl_formatChars2( table_CyrillicUpperLetter_uk,
+ table_CyrillicLowerLetter_uk,
+ SAL_N_ELEMENTS(table_CyrillicLowerLetter_uk), number-1,
+ result);
+ break;
+ case CHARS_CYRILLIC_LOWER_LETTER_UK:
+ lcl_formatChars( table_CyrillicLowerLetter_uk,
+ SAL_N_ELEMENTS(table_CyrillicLowerLetter_uk), number-1,
+ result);
+ break;
+ case CHARS_CYRILLIC_UPPER_LETTER_N_UK:
+ lcl_formatChars3( table_CyrillicUpperLetter_uk,
+ table_CyrillicLowerLetter_uk,
+ SAL_N_ELEMENTS(table_CyrillicLowerLetter_uk), number-1,
+ result);
+ break;
+ case CHARS_CYRILLIC_LOWER_LETTER_N_UK:
+ lcl_formatChars1( table_CyrillicLowerLetter_uk,
+ SAL_N_ELEMENTS(table_CyrillicLowerLetter_uk), number-1,
+ result);
+ break;
+
case CHARS_GREEK_LOWER_LETTER:
lcl_formatCharsGR( table_GreekLowerLetter, number, result);
break;
@@ -1054,7 +1095,9 @@ const Supported_NumberingType aSupportedTypes[] =
{style::NumberingType::NATIVE_NUMBERING, "Native Numbering", LANG_CJK|LANG_CTL},
{style::NumberingType::FULLWIDTH_ARABIC, nullptr, LANG_CJK},
{style::NumberingType::CIRCLE_NUMBER, nullptr, LANG_CJK},
- {style::NumberingType::NUMBER_LOWER_ZH, nullptr, LANG_CJK},
+ // The cSymbol is defined here for compatibility with files created by old releases.
+ // Otherwise if nullptr, these 3 digits may change as NATNUM12 depends on 3rd-party lib.
+ {style::NumberingType::NUMBER_LOWER_ZH, "一, 二, 三, ...", LANG_CJK},
{style::NumberingType::NUMBER_UPPER_ZH, nullptr, LANG_CJK},
{style::NumberingType::NUMBER_UPPER_ZH_TW, nullptr, LANG_CJK},
{style::NumberingType::TIAN_GAN_ZH, nullptr, LANG_CJK},
@@ -1098,6 +1141,10 @@ const Supported_NumberingType aSupportedTypes[] =
{style::NumberingType::CHARS_CYRILLIC_LOWER_LETTER_SR, S_CYR_A ", " S_CYR_B ", .., " S_CYR_A S_CYR_A ", " S_CYR_A S_CYR_B ", ... (sr)", LANG_ALL},
{style::NumberingType::CHARS_CYRILLIC_UPPER_LETTER_N_SR, C_CYR_A ", " C_CYR_B ", .., " C_CYR_A S_CYR_A ", " C_CYR_B S_CYR_B ", ... (sr)", LANG_ALL},
{style::NumberingType::CHARS_CYRILLIC_LOWER_LETTER_N_SR, S_CYR_A ", " S_CYR_B ", .., " S_CYR_A S_CYR_A ", " S_CYR_B S_CYR_B ", ... (sr)", LANG_ALL},
+ {style::NumberingType::CHARS_CYRILLIC_UPPER_LETTER_UK, C_CYR_A ", " C_CYR_B ", .., " C_CYR_A S_CYR_A ", " C_CYR_A S_CYR_B ", ... (uk)", LANG_ALL},
+ {style::NumberingType::CHARS_CYRILLIC_LOWER_LETTER_UK, S_CYR_A ", " S_CYR_B ", .., " S_CYR_A S_CYR_A ", " S_CYR_A S_CYR_B ", ... (uk)", LANG_ALL},
+ {style::NumberingType::CHARS_CYRILLIC_UPPER_LETTER_N_UK, C_CYR_A ", " C_CYR_B ", .., " C_CYR_A S_CYR_A ", " C_CYR_B S_CYR_B ", ... (uk)", LANG_ALL},
+ {style::NumberingType::CHARS_CYRILLIC_LOWER_LETTER_N_UK, S_CYR_A ", " S_CYR_B ", .., " S_CYR_A S_CYR_A ", " S_CYR_B S_CYR_B ", ... (uk)", LANG_ALL},
{style::NumberingType::CHARS_PERSIAN, nullptr, LANG_CTL},
{style::NumberingType::CHARS_PERSIAN_WORD, nullptr, LANG_CTL},
{style::NumberingType::SZEKELY_ROVAS, nullptr, LANG_CTL},
@@ -1121,13 +1168,13 @@ OUString DefaultNumberingProvider::makeNumberingIdentifier(sal_Int16 index)
OUStringBuffer result;
Locale aLocale("en", OUString(), OUString());
Sequence<beans::PropertyValue> aProperties(2);
- aProperties[0].Name = "NumberingType";
- aProperties[0].Value <<= aSupportedTypes[index].nType;
- aProperties[1].Name = "Value";
+ auto aPropertiesRange = asNonConstRange(aProperties);
+ aPropertiesRange[0].Name = "NumberingType";
+ aPropertiesRange[0].Value <<= aSupportedTypes[index].nType;
+ aPropertiesRange[1].Name = "Value";
for (sal_Int32 j = 1; j <= 3; j++) {
- aProperties[1].Value <<= j;
- result.append( makeNumberingString( aProperties, aLocale ) );
- result.append(", ");
+ aPropertiesRange[1].Value <<= j;
+ result.append( makeNumberingString( aProperties, aLocale ) + ", " );
}
result.append("...");
// Make known duplicate generated identifiers unique.
diff --git a/i18npool/source/indexentry/indexentrysupplier.cxx b/i18npool/source/indexentry/indexentrysupplier.cxx
index bbaa2cc21c37..ad92f605ecdf 100644
--- a/i18npool/source/indexentry/indexentrysupplier.cxx
+++ b/i18npool/source/indexentry/indexentrysupplier.cxx
@@ -129,7 +129,7 @@ IndexEntrySupplier::getLocaleSpecificIndexEntrySupplier(const Locale& rLocale, c
// Load service with name <base>_<lang>_<country>_<algorithm>
// or <base>_<bcp47>_<algorithm> and fallbacks.
bLoaded = createLocaleSpecificIndexEntrySupplier(
- OUStringConcatenation(
+ Concat2View(
LocaleDataImpl::getFirstLocaleServiceName( rLocale) + "_"
+ aSortAlgorithm));
if (!bLoaded)
@@ -137,7 +137,7 @@ IndexEntrySupplier::getLocaleSpecificIndexEntrySupplier(const Locale& rLocale, c
::std::vector< OUString > aFallbacks( LocaleDataImpl::getFallbackLocaleServiceNames( rLocale));
for (auto const& fallback : aFallbacks)
{
- bLoaded = createLocaleSpecificIndexEntrySupplier(OUStringConcatenation(fallback + "_" + aSortAlgorithm));
+ bLoaded = createLocaleSpecificIndexEntrySupplier(Concat2View(fallback + "_" + aSortAlgorithm));
if (bLoaded)
break;
}
@@ -171,7 +171,7 @@ OUString SAL_CALL IndexEntrySupplier::getIndexFollowPageWord( sal_Bool bMorePage
aFollowPageWords[0] : OUString());
}
-#define implementationName "com.sun.star.i18n.IndexEntrySupplier"
+constexpr OUString implementationName = u"com.sun.star.i18n.IndexEntrySupplier"_ustr;
OUString SAL_CALL
IndexEntrySupplier::getImplementationName()
diff --git a/i18npool/source/indexentry/indexentrysupplier_asian.cxx b/i18npool/source/indexentry/indexentrysupplier_asian.cxx
index abe6c490e5b2..97bae784b669 100644
--- a/i18npool/source/indexentry/indexentrysupplier_asian.cxx
+++ b/i18npool/source/indexentry/indexentrysupplier_asian.cxx
@@ -30,70 +30,23 @@ using namespace ::com::sun::star::lang;
namespace i18npool {
-#ifndef DISABLE_DYNLOADING
-
-extern "C" { static void thisModule() {} }
-
-#endif
-
IndexEntrySupplier_asian::IndexEntrySupplier_asian(
const Reference < XComponentContext >& rxContext ) : IndexEntrySupplier_Common(rxContext)
{
implementationName = "com.sun.star.i18n.IndexEntrySupplier_asian";
-#ifndef DISABLE_DYNLOADING
-#ifdef SAL_DLLPREFIX
- OUString lib(SAL_DLLPREFIX"index_data" SAL_DLLEXTENSION);
-#else
- OUString lib("index_data" SAL_DLLEXTENSION);
-#endif
- hModule = osl_loadModuleRelative(
- &thisModule, lib.pData, SAL_LOADMODULE_DEFAULT );
-#endif
}
IndexEntrySupplier_asian::~IndexEntrySupplier_asian()
{
-#ifndef DISABLE_DYNLOADING
- if (hModule) osl_unloadModule(hModule);
-#endif
-}
-
-#ifdef DISABLE_DYNLOADING
-
-extern "C" {
-
-sal_uInt16** get_indexdata_ko_dict(sal_Int16*);
-sal_uInt16** get_indexdata_zh_TW_radical(sal_Int16*);
-sal_uInt16** get_indexdata_zh_TW_stroke(sal_Int16*);
-sal_uInt16** get_indexdata_zh_pinyin(sal_Int16*);
-sal_uInt16** get_indexdata_zh_radical(sal_Int16*);
-sal_uInt16** get_indexdata_zh_stroke(sal_Int16*);
-sal_uInt16** get_indexdata_zh_zhuyin(sal_Int16*);
-
-sal_uInt16** get_ko_phonetic(sal_Int16*);
-sal_uInt16** get_zh_pinyin(sal_Int16*);
-sal_uInt16** get_zh_zhuyin(sal_Int16*);
-
}
-#endif
-
OUString SAL_CALL
IndexEntrySupplier_asian::getIndexCharacter( const OUString& rIndexEntry,
const Locale& rLocale, const OUString& rAlgorithm )
{
sal_uInt32 ch = rIndexEntry.iterateCodePoints(&o3tl::temporary(sal_Int32(0)), 0);
- sal_uInt16** (*func)(sal_Int16*)=nullptr;
-#ifndef DISABLE_DYNLOADING
- if (hModule) {
- OUString get("get_indexdata_");
- if ( rLocale.Language == "zh" && OUString( "TW HK MO" ).indexOf(rLocale.Country) >= 0 )
- func=reinterpret_cast<sal_uInt16** (*)(sal_Int16*)>(osl_getFunctionSymbol(hModule, OUString(get+rLocale.Language+"_TW_"+rAlgorithm).pData));
- if (!func)
- func=reinterpret_cast<sal_uInt16** (*)(sal_Int16*)>(osl_getFunctionSymbol(hModule, OUString(get+rLocale.Language+"_"+rAlgorithm).pData));
- }
-#else
+ const sal_uInt16** (*func)(sal_Int16&)=nullptr;
if ( rLocale.Language == "zh" && OUString( "TW HK MO" ).indexOf(rLocale.Country) >= 0 ) {
if ( rAlgorithm == "radical" )
func = get_indexdata_zh_TW_radical;
@@ -115,17 +68,16 @@ IndexEntrySupplier_asian::getIndexCharacter( const OUString& rIndexEntry,
func = get_indexdata_zh_zhuyin;
}
}
-#endif
if (func) {
sal_Int16 max_index;
- sal_uInt16** idx=func(&max_index);
+ const sal_uInt16** idx=func(max_index);
if (static_cast<sal_Int16>(ch >> 8) <= max_index) {
sal_uInt16 address=idx[0][ch >> 8];
if (address != 0xFFFF) {
address=idx[1][address+(ch & 0xFF)];
return idx[2]
? OUString(
- reinterpret_cast<sal_Unicode *>(&idx[2][address]))
+ reinterpret_cast<const sal_Unicode *>(&idx[2][address]))
: OUString(sal_Unicode(address));
}
}
@@ -163,28 +115,16 @@ OUString SAL_CALL
IndexEntrySupplier_asian::getPhoneticCandidate( const OUString& rIndexEntry,
const Locale& rLocale )
{
- sal_uInt16 **(*func)(sal_Int16*)=nullptr;
-#ifndef DISABLE_DYNLOADING
- if (hModule) {
- const char *func_name=nullptr;
- if ( rLocale.Language == "zh" )
- func_name=(OUString("TW HK MO").indexOf(rLocale.Country) >= 0) ? "get_zh_zhuyin" : "get_zh_pinyin";
- else if ( rLocale.Language == "ko" )
- func_name="get_ko_phonetic";
- if (func_name)
- func=reinterpret_cast<sal_uInt16 **(*)(sal_Int16*)>(osl_getFunctionSymbol(hModule, OUString::createFromAscii(func_name).pData));
- }
-#else
+ sal_uInt16 const **(*func)(sal_Int16&)=nullptr;
if ( rLocale.Language == "zh" )
func = (OUString("TW HK MO").indexOf(rLocale.Country) >= 0) ? get_zh_zhuyin : get_zh_pinyin;
else if ( rLocale.Language == "ko" )
func = get_ko_phonetic;
-#endif
if (func) {
OUStringBuffer candidate;
sal_Int16 max_index;
- sal_uInt16** idx=func(&max_index);
+ sal_uInt16 const ** idx=func(max_index);
for (sal_Int32 i=0,j=0; i < rIndexEntry.getLength(); i=j) {
sal_uInt32 ch = rIndexEntry.iterateCodePoints(&j);
if (static_cast<sal_Int16>(ch>>8) <= max_index) {
@@ -195,7 +135,7 @@ IndexEntrySupplier_asian::getPhoneticCandidate( const OUString& rIndexEntry,
candidate.append(" ");
if (idx[2])
candidate.append(
- reinterpret_cast<sal_Unicode *>(&idx[2][address]));
+ reinterpret_cast<const sal_Unicode *>(&idx[2][address]));
else
candidate.append(sal_Unicode(address));
} else
diff --git a/i18npool/source/indexentry/indexentrysupplier_ja_phonetic.cxx b/i18npool/source/indexentry/indexentrysupplier_ja_phonetic.cxx
index 2045f45f9050..53b25d8ed28f 100644
--- a/i18npool/source/indexentry/indexentrysupplier_ja_phonetic.cxx
+++ b/i18npool/source/indexentry/indexentrysupplier_ja_phonetic.cxx
@@ -24,8 +24,6 @@
#include "data/indexdata_ja_phonetic.h"
#include <string.h>
-using namespace ::com::sun::star::i18n;
-
namespace i18npool {
OUString SAL_CALL IndexEntrySupplier_ja_phonetic::getIndexCharacter( const OUString& rIndexEntry,
@@ -63,7 +61,7 @@ sal_Int16 SAL_CALL IndexEntrySupplier_ja_phonetic::compareIndexEntry(
return result;
}
-constexpr OUStringLiteral first = u"phonetic (alphanumeric first)";
+constexpr OUString first = u"phonetic (alphanumeric first)"_ustr;
sal_Bool SAL_CALL IndexEntrySupplier_ja_phonetic_alphanumeric_first_by_syllable::loadAlgorithm(
const css::lang::Locale& rLocale, const OUString& /*SortAlgorithm*/,
sal_Int32 collatorOptions )
@@ -77,7 +75,7 @@ sal_Bool SAL_CALL IndexEntrySupplier_ja_phonetic_alphanumeric_first_by_consonant
return collator->loadCollatorAlgorithm(first, rLocale, collatorOptions) == 0;
}
-constexpr OUStringLiteral last = u"phonetic (alphanumeric last)";
+constexpr OUString last = u"phonetic (alphanumeric last)"_ustr;
sal_Bool SAL_CALL IndexEntrySupplier_ja_phonetic_alphanumeric_last_by_syllable::loadAlgorithm(
const css::lang::Locale& rLocale, const OUString& /*SortAlgorithm*/,
sal_Int32 collatorOptions )
diff --git a/i18npool/source/inputchecker/inputsequencechecker.cxx b/i18npool/source/inputchecker/inputsequencechecker.cxx
index 4820c10ca153..ff1ea652f980 100644
--- a/i18npool/source/inputchecker/inputsequencechecker.cxx
+++ b/i18npool/source/inputchecker/inputsequencechecker.cxx
@@ -68,7 +68,7 @@ InputSequenceCheckerImpl::correctInputSequence(OUString& Text, sal_Int32 nStartP
if (language)
return getInputSequenceChecker(language)->correctInputSequence(Text, nStartPos, inputChar, inputCheckMode);
}
- Text = Text.replaceAt(++nStartPos, 0, OUString(inputChar));
+ Text = Text.replaceAt(++nStartPos, 0, rtl::OUStringChar(inputChar));
return nStartPos;
}
diff --git a/i18npool/source/inputchecker/inputsequencechecker_hi.cxx b/i18npool/source/inputchecker/inputsequencechecker_hi.cxx
index c857f286650a..b1f9e99f6987 100644
--- a/i18npool/source/inputchecker/inputsequencechecker_hi.cxx
+++ b/i18npool/source/inputchecker/inputsequencechecker_hi.cxx
@@ -126,7 +126,7 @@ InputSequenceChecker_hi::correctInputSequence(OUString& Text,
sal_Int16 inputCheckMode)
{
if (checkInputSequence(Text, nStartPos, inputChar, inputCheckMode))
- Text = Text.replaceAt(++nStartPos, 0, OUString(inputChar));
+ Text = Text.replaceAt(++nStartPos, 0, rtl::OUStringChar(inputChar));
else
nStartPos=Text.getLength();
return nStartPos;
diff --git a/i18npool/source/inputchecker/inputsequencechecker_th.cxx b/i18npool/source/inputchecker/inputsequencechecker_th.cxx
index cf686be78633..c6d6f349d26d 100644
--- a/i18npool/source/inputchecker/inputsequencechecker_th.cxx
+++ b/i18npool/source/inputchecker/inputsequencechecker_th.cxx
@@ -111,26 +111,26 @@ https://bz.apache.org/ooo/show_bug.cgi?id=42661
#define CT_ABV1(t) (t==CT_AV1 || t==CT_BV1)
if (check(Text[nStartPos], inputChar, inputCheckMode))
- Text = Text.replaceAt(++nStartPos, 0, OUString(inputChar));
+ Text = Text.replaceAt(++nStartPos, 0, rtl::OUStringChar(inputChar));
else if (nStartPos > 0 && getCharType(Text[nStartPos-1]) == CT_CONS) {
sal_uInt16 t1=getCharType(Text[nStartPos]), t2=getCharType(inputChar);
if ( (CT_ABV(t1) && CT_ABV(t2)) || // 1.
(t1==CT_TONE && t2==CT_TONE) )// 2.
- Text = Text.replaceAt(nStartPos, 1, OUString(inputChar));
+ Text = Text.replaceAt(nStartPos, 1, rtl::OUStringChar(inputChar));
else if ( (t1==CT_TONE && CT_ABV(t2)) || // 5.
(t1==CT_FV1 && t2==CT_TONE) || // 6.
(Text[nStartPos]==0x0E4C && CT_ABV1(t2)) ) // 8.
- Text = Text.replaceAt(nStartPos++, 0, OUString(inputChar));
+ Text = Text.replaceAt(nStartPos++, 0, rtl::OUStringChar(inputChar));
else
nStartPos=Text.getLength();
} else if (nStartPos > 1 && getCharType(Text[nStartPos-2]) == CT_CONS) {
sal_uInt16 t1=getCharType(Text[nStartPos-1]), t2=getCharType(Text[nStartPos]), t3=getCharType(inputChar);
if (CT_ABV(t1) && t2==CT_TONE && t3==CT_TONE) // 3.
- Text = Text.replaceAt(nStartPos, 1, OUString(inputChar));
+ Text = Text.replaceAt(nStartPos, 1, rtl::OUStringChar(inputChar));
else if ( (CT_ABV(t1) && t2==CT_TONE && CT_ABV(t3)) || // 4.
(t1==CT_TONE && t2==CT_FV1 && t3==CT_TONE) || // 7.
(CT_ABV1(t1) && Text[nStartPos]==0x0E4C && CT_ABV1(t3)) ) // 9.
- Text = Text.replaceAt(nStartPos-1, 1, OUString(inputChar));
+ Text = Text.replaceAt(nStartPos-1, 1, rtl::OUStringChar(inputChar));
else
nStartPos=Text.getLength();
} else
diff --git a/i18npool/source/localedata/LocaleNode.cxx b/i18npool/source/localedata/LocaleNode.cxx
index 86fc96495bd4..809129ab5d50 100644
--- a/i18npool/source/localedata/LocaleNode.cxx
+++ b/i18npool/source/localedata/LocaleNode.cxx
@@ -21,6 +21,7 @@
#include <string.h>
#include <algorithm>
#include <memory>
+#include <utility>
#include <vector>
#include <map>
#include <o3tl/sorted_vector.hxx>
@@ -42,8 +43,8 @@ typedef ::o3tl::sorted_vector< sal_Int16 > ValueSet;
namespace cssi = ::com::sun::star::i18n;
-LocaleNode::LocaleNode (const OUString& name, const Reference< XAttributeList > & attr)
- : aName(name)
+LocaleNode::LocaleNode (OUString name, const Reference< XAttributeList > & attr)
+ : aName(std::move(name))
, aAttribs(attr)
, parent(nullptr)
, nError(0)
@@ -140,7 +141,7 @@ void LocaleNode::generateCode (const OFileWriter &of) const
}
-OUString LocaleNode::writeParameterCheckLen( const OFileWriter &of,
+OUString LocaleNode::writeOUStringLiteralParameterCheckLen( const OFileWriter &of,
const char* pParameterName, const LocaleNode* pNode,
sal_Int32 nMinLen, sal_Int32 nMaxLen ) const
{
@@ -154,7 +155,7 @@ OUString LocaleNode::writeParameterCheckLen( const OFileWriter &of,
pParameterName);
}
// write empty data if error
- of.writeParameter( pParameterName, aVal);
+ of.writeOUStringLiteralParameter( pParameterName, aVal);
sal_Int32 nLen = aVal.getLength();
if (nLen < nMinLen)
{
@@ -178,21 +179,20 @@ OUString LocaleNode::writeParameterCheckLen( const OFileWriter &of,
return aVal;
}
-
-OUString LocaleNode::writeParameterCheckLen( const OFileWriter &of,
+OUString LocaleNode::writeOUStringLiteralParameterCheckLen( const OFileWriter &of,
const char* pNodeName, const char* pParameterName,
sal_Int32 nMinLen, sal_Int32 nMaxLen ) const
{
OUString aVal;
const LocaleNode * pNode = findNode( pNodeName);
if (pNode || nMinLen < 0)
- aVal = writeParameterCheckLen( of, pParameterName, pNode, nMinLen, nMaxLen);
+ aVal = writeOUStringLiteralParameterCheckLen( of, pParameterName, pNode, nMinLen, nMaxLen);
else
{
++nError;
fprintf( stderr, "Error: node %s not found.\n", pNodeName);
// write empty data if error
- of.writeParameter( pParameterName, aVal);
+ of.writeOUStringLiteralParameter( pParameterName, aVal);
}
return aVal;
}
@@ -240,8 +240,8 @@ void LCInfoNode::generateCode (const OFileWriter &of) const
aLanguage = languageNode->getChildAt(0)->getValue();
if (aLanguage.getLength() != 2 && aLanguage.getLength() != 3)
incErrorStr( "Error: langID '%s' not 2-3 characters\n", aLanguage);
- of.writeParameter("langID", aLanguage);
- of.writeParameter("langDefaultName", languageNode->getChildAt(1)->getValue());
+ of.writeOUStringLiteralParameter("langID", aLanguage);
+ of.writeOUStringLiteralParameter("langDefaultName", languageNode->getChildAt(1)->getValue());
}
else
incError( "No Language node.");
@@ -250,8 +250,8 @@ void LCInfoNode::generateCode (const OFileWriter &of) const
OUString aCountry( countryNode->getChildAt(0)->getValue());
if (!(aCountry.isEmpty() || aCountry.getLength() == 2))
incErrorStr( "Error: countryID '%s' not empty or more than 2 characters\n", aCountry);
- of.writeParameter("countryID", aCountry);
- of.writeParameter("countryDefaultName", countryNode->getChildAt(1)->getValue());
+ of.writeOUStringLiteralParameter("countryID", aCountry);
+ of.writeOUStringLiteralParameter("countryDefaultName", countryNode->getChildAt(1)->getValue());
}
else
incError( "No Country node.");
@@ -263,18 +263,18 @@ void LCInfoNode::generateCode (const OFileWriter &of) const
incErrorStr( "Error: invalid Variant '%s'\n", aVariant);
if (!(aVariant.isEmpty() || aLanguage == "qlt"))
incErrorStrStr( "Error: Variant '%s' given but Language '%s' is not 'qlt'\n", aVariant, aLanguage);
- of.writeParameter("Variant", aVariant);
+ of.writeOUStringLiteralParameter("Variant", aVariant);
}
else
- of.writeParameter("Variant", OUString());
- of.writeAsciiString("\nstatic const sal_Unicode* LCInfoArray[] = {\n");
+ of.writeOUStringLiteralParameter("Variant", std::u16string_view());
+ of.writeAsciiString("\nstatic constexpr OUString LCInfoArray[] = {\n");
of.writeAsciiString("\tlangID,\n");
of.writeAsciiString("\tlangDefaultName,\n");
of.writeAsciiString("\tcountryID,\n");
of.writeAsciiString("\tcountryDefaultName,\n");
of.writeAsciiString("\tVariant\n");
of.writeAsciiString("};\n\n");
- of.writeFunction("getLCInfo_", "SAL_N_ELEMENTS(LCInfoArray)", "LCInfoArray");
+ of.writeOUStringFunction("getLCInfo_", "SAL_N_ELEMENTS(LCInfoArray)", "LCInfoArray");
}
@@ -287,54 +287,54 @@ void LCCTYPENode::generateCode (const OFileWriter &of) const
OUString useLocale = getAttr().getValueByName("ref");
if (!useLocale.isEmpty()) {
useLocale = useLocale.replace( '-', '_');
- of.writeRefFunction("getLocaleItem_", useLocale);
+ of.writeOUStringRefFunction("getLocaleItem_", useLocale);
return;
}
OUString str = getAttr().getValueByName("unoid");
of.writeAsciiString("\n\n");
- of.writeParameter("LC_CTYPE_Unoid", str);
+ of.writeOUStringLiteralParameter("LC_CTYPE_Unoid", str);
aDateSep =
- writeParameterCheckLen( of, "DateSeparator", "dateSeparator", 1, 1);
+ writeOUStringLiteralParameterCheckLen( of, "DateSeparator", "dateSeparator", 1, 1);
OUString aThoSep =
- writeParameterCheckLen( of, "ThousandSeparator", "thousandSeparator", 1, 1);
+ writeOUStringLiteralParameterCheckLen( of, "ThousandSeparator", "thousandSeparator", 1, 1);
aDecSep =
- writeParameterCheckLen( of, "DecimalSeparator", "decimalSeparator", 1, 1);
+ writeOUStringLiteralParameterCheckLen( of, "DecimalSeparator", "decimalSeparator", 1, 1);
OUString aDecSepAlt =
- writeParameterCheckLen( of, "DecimalSeparatorAlternative", "decimalSeparatorAlternative", -1, 1);
+ writeOUStringLiteralParameterCheckLen( of, "DecimalSeparatorAlternative", "decimalSeparatorAlternative", -1, 1);
OUString aTimeSep =
- writeParameterCheckLen( of, "TimeSeparator", "timeSeparator", 1, 1);
+ writeOUStringLiteralParameterCheckLen( of, "TimeSeparator", "timeSeparator", 1, 1);
OUString aTime100Sep =
- writeParameterCheckLen( of, "Time100SecSeparator", "time100SecSeparator", 1, 1);
+ writeOUStringLiteralParameterCheckLen( of, "Time100SecSeparator", "time100SecSeparator", 1, 1);
OUString aListSep =
- writeParameterCheckLen( of, "ListSeparator", "listSeparator", 1, 1);
+ writeOUStringLiteralParameterCheckLen( of, "ListSeparator", "listSeparator", 1, 1);
OUString aLDS;
sepNode = findNode("LongDateDayOfWeekSeparator");
aLDS = sepNode->getValue();
- of.writeParameter("LongDateDayOfWeekSeparator", aLDS);
+ of.writeOUStringLiteralParameter("LongDateDayOfWeekSeparator", aLDS);
if (aLDS == ",")
fprintf( stderr, "Warning: %s\n",
"LongDateDayOfWeekSeparator is only a comma not followed by a space. Usually this is not the case and may lead to concatenated display names like \"Wednesday,May 9, 2007\".");
sepNode = findNode("LongDateDaySeparator");
aLDS = sepNode->getValue();
- of.writeParameter("LongDateDaySeparator", aLDS);
+ of.writeOUStringLiteralParameter("LongDateDaySeparator", aLDS);
if (aLDS == "," || aLDS == ".")
fprintf( stderr, "Warning: %s\n",
"LongDateDaySeparator is only a comma or dot not followed by a space. Usually this is not the case and may lead to concatenated display names like \"Wednesday, May 9,2007\".");
sepNode = findNode("LongDateMonthSeparator");
aLDS = sepNode->getValue();
- of.writeParameter("LongDateMonthSeparator", aLDS);
+ of.writeOUStringLiteralParameter("LongDateMonthSeparator", aLDS);
if (aLDS.isEmpty())
fprintf( stderr, "Warning: %s\n",
"LongDateMonthSeparator is empty. Usually this is not the case and may lead to concatenated display names like \"Wednesday, May9, 2007\".");
sepNode = findNode("LongDateYearSeparator");
aLDS = sepNode->getValue();
- of.writeParameter("LongDateYearSeparator", aLDS);
+ of.writeOUStringLiteralParameter("LongDateYearSeparator", aLDS);
if (aLDS.isEmpty())
fprintf( stderr, "Warning: %s\n",
"LongDateYearSeparator is empty. Usually this is not the case and may lead to concatenated display names like \"Wednesday, 2007May 9\".");
@@ -379,13 +379,13 @@ void LCCTYPENode::generateCode (const OFileWriter &of) const
"Don't forget to adapt corresponding FormatCode elements when changing separators.");
OUString aQuoteStart =
- writeParameterCheckLen( of, "QuotationStart", "quotationStart", 1, 1);
+ writeOUStringLiteralParameterCheckLen( of, "QuotationStart", "quotationStart", 1, 1);
OUString aQuoteEnd =
- writeParameterCheckLen( of, "QuotationEnd", "quotationEnd", 1, 1);
+ writeOUStringLiteralParameterCheckLen( of, "QuotationEnd", "quotationEnd", 1, 1);
OUString aDoubleQuoteStart =
- writeParameterCheckLen( of, "DoubleQuotationStart", "doubleQuotationStart", 1, 1);
+ writeOUStringLiteralParameterCheckLen( of, "DoubleQuotationStart", "doubleQuotationStart", 1, 1);
OUString aDoubleQuoteEnd =
- writeParameterCheckLen( of, "DoubleQuotationEnd", "doubleQuotationEnd", 1, 1);
+ writeOUStringLiteralParameterCheckLen( of, "DoubleQuotationEnd", "doubleQuotationEnd", 1, 1);
if (aQuoteStart.toChar() <= 127 && aQuoteEnd.toChar() > 127)
fprintf( stderr, "Warning: %s\n",
@@ -477,12 +477,12 @@ void LCCTYPENode::generateCode (const OFileWriter &of) const
"DoubleQuotationEnd may be wrong:", ic, OSTR( aDoubleQuoteEnd));
}
- writeParameterCheckLen( of, "TimeAM", "timeAM", 1, -1);
- writeParameterCheckLen( of, "TimePM", "timePM", 1, -1);
+ writeOUStringLiteralParameterCheckLen( of, "TimeAM", "timeAM", 1, -1);
+ writeOUStringLiteralParameterCheckLen( of, "TimePM", "timePM", 1, -1);
sepNode = findNode("MeasurementSystem");
- of.writeParameter("measurementSystem", sepNode->getValue());
+ of.writeOUStringLiteralParameter("measurementSystem", sepNode->getValue());
- of.writeAsciiString("\nstatic const sal_Unicode* LCType[] = {\n");
+ of.writeAsciiString("\nstatic constexpr OUString LCType[] = {\n");
of.writeAsciiString("\tLC_CTYPE_Unoid,\n");
of.writeAsciiString("\tdateSeparator,\n");
of.writeAsciiString("\tthousandSeparator,\n");
@@ -503,7 +503,7 @@ void LCCTYPENode::generateCode (const OFileWriter &of) const
of.writeAsciiString("\tLongDateYearSeparator,\n");
of.writeAsciiString("\tdecimalSeparatorAlternative\n");
of.writeAsciiString("};\n\n");
- of.writeFunction("getLocaleItem_", "SAL_N_ELEMENTS(LCType)", "LCType");
+ of.writeOUStringFunction("getLocaleItem_", "SAL_N_ELEMENTS(LCType)", "LCType");
}
@@ -561,11 +561,11 @@ void LCFormatNode::generateCode (const OFileWriter &of) const
switch (mnSection)
{
case 0:
- of.writeRefFunction("getAllFormats0_", useLocale, "replaceTo0");
- of.writeRefFunction("getDateAcceptancePatterns_", useLocale);
+ of.writeOUStringRefFunction("getAllFormats0_", useLocale, "replaceTo0");
+ of.writeOUStringRefFunction("getDateAcceptancePatterns_", useLocale);
break;
case 1:
- of.writeRefFunction("getAllFormats1_", useLocale, "replaceTo1");
+ of.writeOUStringRefFunction("getAllFormats1_", useLocale, "replaceTo1");
break;
}
++mnSection;
@@ -609,17 +609,17 @@ void LCFormatNode::generateCode (const OFileWriter &of) const
str = currNodeAttr.getValueByName("msgid");
if (!aMsgIdSet.insert( str).second)
incErrorStr( "Error: Duplicated msgid=\"%s\" in FormatElement.\n", str);
- of.writeParameter("FormatKey", str, formatCount);
+ of.writeOUStringLiteralParameter("FormatKey", str, formatCount);
str = currNodeAttr.getValueByName("default");
bool bDefault = str == "true";
- of.writeDefaultParameter("FormatElement", str, formatCount);
+ of.writeOUStringLiteralDefaultParameter("FormatElement", str, formatCount);
aType = currNodeAttr.getValueByName("type");
- of.writeParameter("FormatType", aType, formatCount);
+ of.writeOUStringLiteralParameter("FormatType", aType, formatCount);
aUsage = currNodeAttr.getValueByName("usage");
- of.writeParameter("FormatUsage", aUsage, formatCount);
+ of.writeOUStringLiteralParameter("FormatUsage", aUsage, formatCount);
aFormatIndex = currNodeAttr.getValueByName("formatindex");
sal_Int16 formatindex = static_cast<sal_Int16>(aFormatIndex.toInt32());
@@ -635,7 +635,7 @@ void LCFormatNode::generateCode (const OFileWriter &of) const
incErrorInt( "Error: Duplicated formatindex=\"%d\" in FormatElement.\n", formatindex);
bShowNextFreeFormatIndex = true;
}
- of.writeIntParameter("Formatindex", formatCount, formatindex);
+ of.writeOUStringLiteralIntParameter("Formatindex", formatCount, formatindex);
// Ensure only one default per usage and type.
if (bDefault)
@@ -651,7 +651,7 @@ void LCFormatNode::generateCode (const OFileWriter &of) const
const LocaleNode * n = currNode -> findNode("FormatCode");
if (n)
{
- of.writeParameter("FormatCode", n->getValue(), formatCount);
+ of.writeOUStringLiteralParameter("FormatCode", n->getValue(), formatCount);
// Check separator usage for some FormatCode elements.
const LocaleNode* pCtype = nullptr;
switch (formatindex)
@@ -798,7 +798,7 @@ void LCFormatNode::generateCode (const OFileWriter &of) const
if (n100s < 0)
incErrorInt( "Error: Time100SecSeparator not present in FormatCode formatindex=\"%d\".\n",
formatindex);
- n100s = aCode.indexOf( OUStringConcatenation(pSep->getValue() + "00"));
+ n100s = aCode.indexOf( Concat2View(pSep->getValue() + "00"));
if (n100s < 0)
incErrorInt( "Error: Time100SecSeparator+00 not present in FormatCode formatindex=\"%d\".\n",
formatindex);
@@ -820,9 +820,9 @@ void LCFormatNode::generateCode (const OFileWriter &of) const
incError( "No FormatCode in FormatElement.");
n = currNode -> findNode("DefaultName");
if (n)
- of.writeParameter("FormatDefaultName", n->getValue(), formatCount);
+ of.writeOUStringLiteralParameter("FormatDefaultName", n->getValue(), formatCount);
else
- of.writeParameter("FormatDefaultName", OUString(), formatCount);
+ of.writeOUStringLiteralParameter("FormatDefaultName", std::u16string_view(), formatCount);
}
@@ -917,7 +917,7 @@ void LCFormatNode::generateCode (const OFileWriter &of) const
of.writeAsciiString(" = ");
of.writeInt( formatCount - mnFormats);
of.writeAsciiString(";\n");
- of.writeAsciiString("static const sal_Unicode* ");
+ of.writeAsciiString("static constexpr OUString ");
of.writeAsciiString("FormatElementsArray");
of.writeInt(mnSection);
of.writeAsciiString("[] = {\n");
@@ -963,10 +963,10 @@ void LCFormatNode::generateCode (const OFileWriter &of) const
switch (mnSection)
{
case 0:
- of.writeFunction("getAllFormats0_", "FormatElementsCount0", "FormatElementsArray0", "replaceFrom0", "replaceTo0");
+ of.writeOUStringFunction("getAllFormats0_", "FormatElementsCount0", "FormatElementsArray0", "replaceFrom0", "replaceTo0");
break;
case 1:
- of.writeFunction("getAllFormats1_", "FormatElementsCount1", "FormatElementsArray1", "replaceFrom1", "replaceTo1");
+ of.writeOUStringFunction("getAllFormats1_", "FormatElementsCount1", "FormatElementsArray1", "replaceFrom1", "replaceTo1");
break;
}
@@ -1232,14 +1232,14 @@ void LCFormatNode::generateCode (const OFileWriter &of) const
for (sal_Int16 i = 0; i < nbOfDateAcceptancePatterns; ++i)
{
- of.writeParameter("DateAcceptancePattern", theDateAcceptancePatterns[i], i);
+ of.writeOUStringLiteralParameter("DateAcceptancePattern", theDateAcceptancePatterns[i], i);
}
of.writeAsciiString("static const sal_Int16 DateAcceptancePatternsCount = ");
of.writeInt( nbOfDateAcceptancePatterns);
of.writeAsciiString(";\n");
- of.writeAsciiString("static const sal_Unicode* DateAcceptancePatternsArray[] = {\n");
+ of.writeAsciiString("static constexpr OUString DateAcceptancePatternsArray[] = {\n");
for (sal_Int16 i = 0; i < nbOfDateAcceptancePatterns; ++i)
{
of.writeAsciiString("\t");
@@ -1249,7 +1249,7 @@ void LCFormatNode::generateCode (const OFileWriter &of) const
}
of.writeAsciiString("};\n\n");
- of.writeFunction("getDateAcceptancePatterns_", "DateAcceptancePatternsCount", "DateAcceptancePatternsArray");
+ of.writeOUStringFunction("getDateAcceptancePatterns_", "DateAcceptancePatternsCount", "DateAcceptancePatternsArray");
}
++mnSection;
@@ -1260,8 +1260,8 @@ void LCCollationNode::generateCode (const OFileWriter &of) const
OUString useLocale = getAttr().getValueByName("ref");
if (!useLocale.isEmpty()) {
useLocale = useLocale.replace( '-', '_');
- of.writeRefFunction("getCollatorImplementation_", useLocale);
- of.writeRefFunction("getCollationOptions_", useLocale);
+ of.writeOUStringRefFunction("getCollatorImplementation_", useLocale);
+ of.writeOUStringRefFunction("getCollationOptions_", useLocale);
return;
}
sal_Int16 nbOfCollations = 0;
@@ -1273,11 +1273,11 @@ void LCCollationNode::generateCode (const OFileWriter &of) const
{
OUString str;
str = currNode->getAttr().getValueByName("unoid");
- of.writeParameter("CollatorID", str, j);
+ of.writeOUStringLiteralParameter("CollatorID", str, j);
str = currNode->getValue();
- of.writeParameter("CollatorRule", str, j);
+ of.writeOUStringLiteralParameter("CollatorRule", str, j);
str = currNode -> getAttr().getValueByName("default");
- of.writeDefaultParameter("Collator", str, j);
+ of.writeOUStringLiteralDefaultParameter("Collator", str, j);
of.writeAsciiString("\n");
nbOfCollations++;
@@ -1288,7 +1288,7 @@ void LCCollationNode::generateCode (const OFileWriter &of) const
nbOfCollationOptions = sal::static_int_cast<sal_Int16>( pCollationOptions->getNumberOfChildren() );
for( sal_Int16 i=0; i<nbOfCollationOptions; i++ )
{
- of.writeParameter("collationOption", pCollationOptions->getChildAt( i )->getValue(), i );
+ of.writeOUStringLiteralParameter("collationOption", pCollationOptions->getChildAt( i )->getValue(), i );
}
of.writeAsciiString("static const sal_Int16 nbOfCollationOptions = ");
@@ -1300,7 +1300,7 @@ void LCCollationNode::generateCode (const OFileWriter &of) const
of.writeInt(nbOfCollations);
of.writeAsciiString(";\n\n");
- of.writeAsciiString("\nstatic const sal_Unicode* LCCollatorArray[] = {\n");
+ of.writeAsciiString("\nstatic constexpr OUString LCCollatorArray[] = {\n");
for(sal_Int16 j = 0; j < nbOfCollations; j++) {
of.writeAsciiString("\tCollatorID");
of.writeInt(j);
@@ -1316,16 +1316,17 @@ void LCCollationNode::generateCode (const OFileWriter &of) const
}
of.writeAsciiString("};\n\n");
- of.writeAsciiString("static const sal_Unicode* collationOptions[] = {");
+ of.writeAsciiString("static constexpr OUString collationOptions[] = {");
for( sal_Int16 j=0; j<nbOfCollationOptions; j++ )
{
+ if (j)
+ of.writeAsciiString( ", " );
of.writeAsciiString( "collationOption" );
of.writeInt( j );
- of.writeAsciiString( ", " );
}
- of.writeAsciiString("NULL };\n");
- of.writeFunction("getCollatorImplementation_", "nbOfCollations", "LCCollatorArray");
- of.writeFunction("getCollationOptions_", "nbOfCollationOptions", "collationOptions");
+ of.writeAsciiString("};\n");
+ of.writeOUStringFunction("getCollatorImplementation_", "nbOfCollations", "LCCollatorArray");
+ of.writeOUStringFunction("getCollationOptions_", "nbOfCollationOptions", "collationOptions");
}
void LCSearchNode::generateCode (const OFileWriter &of) const
@@ -1333,7 +1334,7 @@ void LCSearchNode::generateCode (const OFileWriter &of) const
OUString useLocale = getAttr().getValueByName("ref");
if (!useLocale.isEmpty()) {
useLocale = useLocale.replace( '-', '_');
- of.writeRefFunction("getSearchOptions_", useLocale);
+ of.writeOUStringRefFunction("getSearchOptions_", useLocale);
return;
}
@@ -1349,22 +1350,23 @@ void LCSearchNode::generateCode (const OFileWriter &of) const
sal_Int32 nSearchOptions = pSearchOptions->getNumberOfChildren();
for( i=0; i<nSearchOptions; i++ )
{
- of.writeParameter("searchOption", pSearchOptions->getChildAt( i )->getValue(), sal::static_int_cast<sal_Int16>(i) );
+ of.writeOUStringLiteralParameter("searchOption", pSearchOptions->getChildAt( i )->getValue(), sal::static_int_cast<sal_Int16>(i) );
}
of.writeAsciiString("static const sal_Int16 nbOfSearchOptions = ");
of.writeInt( sal::static_int_cast<sal_Int16>( nSearchOptions ) );
of.writeAsciiString(";\n\n");
- of.writeAsciiString("static const sal_Unicode* searchOptions[] = {");
+ of.writeAsciiString("static constexpr OUString searchOptions[] = {");
for( i=0; i<nSearchOptions; i++ )
{
+ if (i)
+ of.writeAsciiString( ", " );
of.writeAsciiString( "searchOption" );
of.writeInt( sal::static_int_cast<sal_Int16>(i) );
- of.writeAsciiString( ", " );
}
- of.writeAsciiString("NULL };\n");
- of.writeFunction("getSearchOptions_", "nbOfSearchOptions", "searchOptions");
+ of.writeAsciiString(" };\n");
+ of.writeOUStringFunction("getSearchOptions_", "nbOfSearchOptions", "searchOptions");
}
void LCIndexNode::generateCode (const OFileWriter &of) const
@@ -1372,9 +1374,9 @@ void LCIndexNode::generateCode (const OFileWriter &of) const
OUString useLocale = getAttr().getValueByName("ref");
if (!useLocale.isEmpty()) {
useLocale = useLocale.replace( '-', '_');
- of.writeRefFunction("getIndexAlgorithm_", useLocale);
- of.writeRefFunction("getUnicodeScripts_", useLocale);
- of.writeRefFunction("getFollowPageWords_", useLocale);
+ of.writeOUStringRefFunction("getIndexAlgorithm_", useLocale);
+ of.writeOUStringRefFunction("getUnicodeScripts_", useLocale);
+ of.writeOUStringRefFunction("getFollowPageWords_", useLocale);
return;
}
sal_Int16 nbOfIndexs = 0;
@@ -1386,28 +1388,28 @@ void LCIndexNode::generateCode (const OFileWriter &of) const
{
OUString str;
str = currNode->getAttr().getValueByName("unoid");
- of.writeParameter("IndexID", str, nbOfIndexs);
+ of.writeOUStringLiteralParameter("IndexID", str, nbOfIndexs);
str = currNode->getAttr().getValueByName("module");
- of.writeParameter("IndexModule", str, nbOfIndexs);
+ of.writeOUStringLiteralParameter("IndexModule", str, nbOfIndexs);
str = currNode->getValue();
- of.writeParameter("IndexKey", str, nbOfIndexs);
+ of.writeOUStringLiteralParameter("IndexKey", str, nbOfIndexs);
str = currNode -> getAttr().getValueByName("default");
- of.writeDefaultParameter("Index", str, nbOfIndexs);
+ of.writeOUStringLiteralDefaultParameter("Index", str, nbOfIndexs);
str = currNode -> getAttr().getValueByName("phonetic");
- of.writeDefaultParameter("Phonetic", str, nbOfIndexs);
+ of.writeOUStringLiteralDefaultParameter("Phonetic", str, nbOfIndexs);
of.writeAsciiString("\n");
nbOfIndexs++;
}
if( currNode->getName() == "UnicodeScript" )
{
- of.writeParameter("unicodeScript", currNode->getValue(), nbOfUnicodeScripts );
+ of.writeOUStringLiteralParameter("unicodeScript", currNode->getValue(), nbOfUnicodeScripts );
nbOfUnicodeScripts++;
}
if( currNode->getName() == "FollowPageWord" )
{
- of.writeParameter("followPageWord", currNode->getValue(), nbOfPageWords);
+ of.writeOUStringLiteralParameter("followPageWord", currNode->getValue(), nbOfPageWords);
nbOfPageWords++;
}
}
@@ -1415,7 +1417,7 @@ void LCIndexNode::generateCode (const OFileWriter &of) const
of.writeInt(nbOfIndexs);
of.writeAsciiString(";\n\n");
- of.writeAsciiString("\nstatic const sal_Unicode* IndexArray[] = {\n");
+ of.writeAsciiString("\nstatic constexpr OUString IndexArray[] = {\n");
for(sal_Int16 i = 0; i < nbOfIndexs; i++) {
of.writeAsciiString("\tIndexID");
of.writeInt(i);
@@ -1443,30 +1445,41 @@ void LCIndexNode::generateCode (const OFileWriter &of) const
of.writeInt( nbOfUnicodeScripts );
of.writeAsciiString(";\n\n");
- of.writeAsciiString("static const sal_Unicode* UnicodeScriptArray[] = {");
+ of.writeAsciiString("static constexpr OUString UnicodeScriptArray[] = {");
for( sal_Int16 i=0; i<nbOfUnicodeScripts; i++ )
{
+ if (i)
+ of.writeAsciiString( ", " );
of.writeAsciiString( "unicodeScript" );
of.writeInt( i );
- of.writeAsciiString( ", " );
}
- of.writeAsciiString("NULL };\n\n");
+ of.writeAsciiString(" };\n\n");
of.writeAsciiString("static const sal_Int16 nbOfPageWords = ");
of.writeInt(nbOfPageWords);
of.writeAsciiString(";\n\n");
- of.writeAsciiString("static const sal_Unicode* FollowPageWordArray[] = {\n");
- for(sal_Int16 i = 0; i < nbOfPageWords; i++) {
- of.writeAsciiString("\tfollowPageWord");
- of.writeInt(i);
- of.writeAsciiString(",\n");
+ // MSVC doesn't like zero sized arrays
+ if (nbOfPageWords == 0)
+ {
+ // generate dummy array, reuse unicodeScript0 for dummy entry
+ of.writeAsciiString("//dummy array, we have zero entries\n");
+ of.writeAsciiString("static constexpr OUString FollowPageWordArray[] = { unicodeScript0 };\n\n");
}
- of.writeAsciiString("\tNULL\n};\n\n");
-
- of.writeFunction("getIndexAlgorithm_", "nbOfIndexs", "IndexArray");
- of.writeFunction("getUnicodeScripts_", "nbOfUnicodeScripts", "UnicodeScriptArray");
- of.writeFunction("getFollowPageWords_", "nbOfPageWords", "FollowPageWordArray");
+ else
+ {
+ of.writeAsciiString("static constexpr OUString FollowPageWordArray[] = {\n");
+ for(sal_Int16 i = 0; i < nbOfPageWords; i++) {
+ if (i)
+ of.writeAsciiString(",\n");
+ of.writeAsciiString("\tfollowPageWord");
+ of.writeInt(i);
+ }
+ of.writeAsciiString("\t\n};\n\n");
+ }
+ of.writeOUStringFunction("getIndexAlgorithm_", "nbOfIndexs", "IndexArray");
+ of.writeOUStringFunction("getUnicodeScripts_", "nbOfUnicodeScripts", "UnicodeScriptArray");
+ of.writeOUStringFunction("getFollowPageWords_", "nbOfPageWords", "FollowPageWordArray");
}
@@ -1484,9 +1497,9 @@ static void lcl_writeAbbrFullNarrNames( const OFileWriter & of, const LocaleNode
sal_uInt32 nChar = aFullName.iterateCodePoints( &o3tl::temporary(sal_Int32(0)));
aNarrName = OUString( &nChar, 1);
}
- of.writeParameter( elementTag, "DefaultAbbrvName", aAbbrName, i, j);
- of.writeParameter( elementTag, "DefaultFullName", aFullName, i, j);
- of.writeParameter( elementTag, "DefaultNarrowName", aNarrName, i, j);
+ of.writeOUStringLiteralParameter( elementTag, "DefaultAbbrvName", aAbbrName, i, j);
+ of.writeOUStringLiteralParameter( elementTag, "DefaultFullName", aFullName, i, j);
+ of.writeOUStringLiteralParameter( elementTag, "DefaultNarrowName", aNarrName, i, j);
}
static void lcl_writeTabTagString( const OFileWriter & of, const char* pTag, const char* pStr )
@@ -1549,7 +1562,7 @@ void LCCalendarNode::generateCode (const OFileWriter &of) const
OUString useLocale = getAttr().getValueByName("ref");
if (!useLocale.isEmpty()) {
useLocale = useLocale.replace( '-', '_');
- of.writeRefFunction("getAllCalendars_", useLocale);
+ of.writeOUStringRefFunction("getAllCalendars_", useLocale);
return;
}
sal_Int16 nbOfCalendars = sal::static_int_cast<sal_Int16>( getNumberOfChildren() );
@@ -1584,7 +1597,7 @@ void LCCalendarNode::generateCode (const OFileWriter &of) const
for ( i = 0; i < nbOfCalendars; i++) {
LocaleNode * calNode = getChildAt (i);
OUString calendarID = calNode -> getAttr().getValueByName("unoid");
- of.writeParameter( "calendarID", calendarID, i);
+ of.writeOUStringLiteralParameter( "calendarID", calendarID, i);
bool bGregorian = calendarID == "gregorian";
if (!bHasGregorian)
bHasGregorian = bGregorian;
@@ -1596,7 +1609,7 @@ void LCCalendarNode::generateCode (const OFileWriter &of) const
else
calIt->second = true;
str = calNode -> getAttr().getValueByName("default");
- of.writeDefaultParameter("Calendar", str, i);
+ of.writeOUStringLiteralDefaultParameter("Calendar", str, i);
sal_Int16 nChild = 0;
@@ -1613,8 +1626,8 @@ void LCCalendarNode::generateCode (const OFileWriter &of) const
}
}
if (!ref_name.isEmpty() && daysNode == nullptr) {
- of.writeParameter("dayRef", "ref", i);
- of.writeParameter("dayRefName", ref_name, i);
+ of.writeOUStringLiteralParameter("dayRef", u"ref", i);
+ of.writeOUStringLiteralParameter("dayRefName", ref_name, i);
nbOfDays[i] = 0;
} else {
if (daysNode == nullptr)
@@ -1626,7 +1639,7 @@ void LCCalendarNode::generateCode (const OFileWriter &of) const
for (j = 0; j < nbOfDays[i]; j++) {
LocaleNode *currNode = daysNode -> getChildAt(j);
OUString dayID( currNode->getChildAt(0)->getValue());
- of.writeParameter("dayID", dayID, i, j);
+ of.writeOUStringLiteralParameter("dayID", dayID, i, j);
if ( j == 0 && bGregorian && dayID != "sun" )
incError( "First day of a week of a Gregorian calendar must be <DayID>sun</DayID>");
lcl_writeAbbrFullNarrNames( of, currNode, elementTag, i, j);
@@ -1646,8 +1659,8 @@ void LCCalendarNode::generateCode (const OFileWriter &of) const
}
}
if (!ref_name.isEmpty() && monthsNode == nullptr) {
- of.writeParameter("monthRef", "ref", i);
- of.writeParameter("monthRefName", ref_name, i);
+ of.writeOUStringLiteralParameter("monthRef", u"ref", i);
+ of.writeOUStringLiteralParameter("monthRefName", ref_name, i);
nbOfMonths[i] = 0;
} else {
if (monthsNode == nullptr)
@@ -1659,7 +1672,7 @@ void LCCalendarNode::generateCode (const OFileWriter &of) const
for (j = 0; j < nbOfMonths[i]; j++) {
LocaleNode *currNode = monthsNode -> getChildAt(j);
OUString monthID( currNode->getChildAt(0)->getValue());
- of.writeParameter("monthID", monthID, i, j);
+ of.writeOUStringLiteralParameter("monthID", monthID, i, j);
if ( j == 0 && bGregorian && monthID != "jan" )
incError( "First month of a year of a Gregorian calendar must be <MonthID>jan</MonthID>");
lcl_writeAbbrFullNarrNames( of, currNode, elementTag, i, j);
@@ -1682,8 +1695,8 @@ void LCCalendarNode::generateCode (const OFileWriter &of) const
}
}
if (!ref_name.isEmpty() && genitiveMonthsNode == nullptr) {
- of.writeParameter("genitiveMonthRef", "ref", i);
- of.writeParameter("genitiveMonthRefName", ref_name, i);
+ of.writeOUStringLiteralParameter("genitiveMonthRef", u"ref", i);
+ of.writeOUStringLiteralParameter("genitiveMonthRefName", ref_name, i);
nbOfGenitiveMonths[i] = 0;
} else {
if (genitiveMonthsNode == nullptr)
@@ -1695,7 +1708,7 @@ void LCCalendarNode::generateCode (const OFileWriter &of) const
for (j = 0; j < nbOfGenitiveMonths[i]; j++) {
LocaleNode *currNode = genitiveMonthsNode -> getChildAt(j);
OUString genitiveMonthID( currNode->getChildAt(0)->getValue());
- of.writeParameter("genitiveMonthID", genitiveMonthID, i, j);
+ of.writeOUStringLiteralParameter("genitiveMonthID", genitiveMonthID, i, j);
if ( j == 0 && bGregorian && genitiveMonthID != "jan" )
incError( "First genitive month of a year of a Gregorian calendar must be <MonthID>jan</MonthID>");
lcl_writeAbbrFullNarrNames( of, currNode, elementTag, i, j);
@@ -1719,8 +1732,8 @@ void LCCalendarNode::generateCode (const OFileWriter &of) const
}
}
if (!ref_name.isEmpty() && partitiveMonthsNode == nullptr) {
- of.writeParameter("partitiveMonthRef", "ref", i);
- of.writeParameter("partitiveMonthRefName", ref_name, i);
+ of.writeOUStringLiteralParameter("partitiveMonthRef", u"ref", i);
+ of.writeOUStringLiteralParameter("partitiveMonthRefName", ref_name, i);
nbOfPartitiveMonths[i] = 0;
} else {
if (partitiveMonthsNode == nullptr)
@@ -1732,7 +1745,7 @@ void LCCalendarNode::generateCode (const OFileWriter &of) const
for (j = 0; j < nbOfPartitiveMonths[i]; j++) {
LocaleNode *currNode = partitiveMonthsNode -> getChildAt(j);
OUString partitiveMonthID( currNode->getChildAt(0)->getValue());
- of.writeParameter("partitiveMonthID", partitiveMonthID, i, j);
+ of.writeOUStringLiteralParameter("partitiveMonthID", partitiveMonthID, i, j);
if ( j == 0 && bGregorian && partitiveMonthID != "jan" )
incError( "First partitive month of a year of a Gregorian calendar must be <MonthID>jan</MonthID>");
lcl_writeAbbrFullNarrNames( of, currNode, elementTag, i, j);
@@ -1752,8 +1765,8 @@ void LCCalendarNode::generateCode (const OFileWriter &of) const
}
}
if (!ref_name.isEmpty() && erasNode == nullptr) {
- of.writeParameter("eraRef", "ref", i);
- of.writeParameter("eraRefName", ref_name, i);
+ of.writeOUStringLiteralParameter("eraRef", u"ref", i);
+ of.writeOUStringLiteralParameter("eraRefName", ref_name, i);
nbOfEras[i] = 0;
} else {
if (erasNode == nullptr)
@@ -1775,14 +1788,14 @@ void LCCalendarNode::generateCode (const OFileWriter &of) const
continue; // for
}
OUString eraID( currNode->getChildAt(0)->getValue());
- of.writeParameter("eraID", eraID, i, j);
+ of.writeOUStringLiteralParameter("eraID", eraID, i, j);
if ( j == 0 && bGregorian && eraID != "bc" )
incError( "First era of a Gregorian calendar must be <EraID>bc</EraID>");
if ( j == 1 && bGregorian && eraID != "ad" )
incError( "Second era of a Gregorian calendar must be <EraID>ad</EraID>");
of.writeAsciiString("\n");
- of.writeParameter(elementTag, "DefaultAbbrvName",currNode->getChildAt(1)->getValue() ,i, j);
- of.writeParameter(elementTag, "DefaultFullName",currNode->getChildAt(2)->getValue() , i, j);
+ of.writeOUStringLiteralParameter(elementTag, "DefaultAbbrvName",currNode->getChildAt(1)->getValue() ,i, j);
+ of.writeOUStringLiteralParameter(elementTag, "DefaultFullName",currNode->getChildAt(2)->getValue() , i, j);
}
}
}
@@ -1803,7 +1816,7 @@ void LCCalendarNode::generateCode (const OFileWriter &of) const
if (j >= nbOfDays[i])
incErrorStr( "Error: <StartDayOfWeek> <DayID> must be one of the <DaysOfWeek>, but is: %s\n", str);
}
- of.writeParameter("startDayOfWeek", str, i);
+ of.writeOUStringLiteralParameter("startDayOfWeek", str, i);
++nChild;
}
@@ -1814,7 +1827,7 @@ void LCCalendarNode::generateCode (const OFileWriter &of) const
if (nDays < 1 || (0 < nbOfDays[i] && nbOfDays[i] < nDays))
incErrorInt( "Error: Bad value of MinimalDaysInFirstWeek: %d, must be 1 <= value <= days_in_week\n",
nDays);
- of.writeIntParameter("minimalDaysInFirstWeek", i, nDays);
+ of.writeOUStringLiteralIntParameter("minimalDaysInFirstWeek", i, nDays);
}
}
if (!bHasGregorian)
@@ -1824,48 +1837,43 @@ void LCCalendarNode::generateCode (const OFileWriter &of) const
of.writeInt(nbOfCalendars);
of.writeAsciiString(";\n\n");
- of.writeAsciiString("static const sal_Unicode nbOfDays[] = {");
- for(i = 0; i < nbOfCalendars - 1; i++) {
- of.writeInt(nbOfDays[i]);
- of.writeAsciiString(", ");
+ of.writeAsciiString("static constexpr OUStringLiteral nbOfDays = u\"");
+ for(i = 0; i < nbOfCalendars; i++) {
+ of.writeAsciiString("\\x");
+ of.writeHexInt(nbOfDays[i]);
}
- of.writeInt(nbOfDays[i]);
- of.writeAsciiString("};\n");
+ of.writeAsciiString("\";\n");
- of.writeAsciiString("static const sal_Unicode nbOfMonths[] = {");
- for(i = 0; i < nbOfCalendars - 1; i++) {
- of.writeInt(nbOfMonths[i]);
- of.writeAsciiString(", ");
+ of.writeAsciiString("static constexpr OUStringLiteral nbOfMonths = u\"");
+ for(i = 0; i < nbOfCalendars; i++) {
+ of.writeAsciiString("\\x");
+ of.writeHexInt(nbOfMonths[i]);
}
- of.writeInt(nbOfMonths[i]);
- of.writeAsciiString("};\n");
+ of.writeAsciiString("\";\n");
- of.writeAsciiString("static const sal_Unicode nbOfGenitiveMonths[] = {");
- for(i = 0; i < nbOfCalendars - 1; i++) {
- of.writeInt(nbOfGenitiveMonths[i]);
- of.writeAsciiString(", ");
+ of.writeAsciiString("static constexpr OUStringLiteral nbOfGenitiveMonths = u\"");
+ for(i = 0; i < nbOfCalendars; i++) {
+ of.writeAsciiString("\\x");
+ of.writeHexInt(nbOfGenitiveMonths[i]);
}
- of.writeInt(nbOfGenitiveMonths[i]);
- of.writeAsciiString("};\n");
+ of.writeAsciiString("\";\n");
- of.writeAsciiString("static const sal_Unicode nbOfPartitiveMonths[] = {");
- for(i = 0; i < nbOfCalendars - 1; i++) {
- of.writeInt(nbOfPartitiveMonths[i]);
- of.writeAsciiString(", ");
+ of.writeAsciiString("static constexpr OUStringLiteral nbOfPartitiveMonths = u\"");
+ for(i = 0; i < nbOfCalendars; i++) {
+ of.writeAsciiString("\\x");
+ of.writeHexInt(nbOfPartitiveMonths[i]);
}
- of.writeInt(nbOfPartitiveMonths[i]);
- of.writeAsciiString("};\n");
+ of.writeAsciiString("\";\n");
- of.writeAsciiString("static const sal_Unicode nbOfEras[] = {");
- for(i = 0; i < nbOfCalendars - 1; i++) {
- of.writeInt(nbOfEras[i]);
- of.writeAsciiString(", ");
+ of.writeAsciiString("static constexpr OUStringLiteral nbOfEras = u\"");
+ for(i = 0; i < nbOfCalendars; i++) {
+ of.writeAsciiString("\\x");
+ of.writeHexInt(nbOfEras[i]);
}
- of.writeInt(nbOfEras[i]);
- of.writeAsciiString("};\n");
+ of.writeAsciiString("\";\n");
- of.writeAsciiString("static const sal_Unicode* calendars[] = {\n");
+ of.writeAsciiString("static constexpr OUString calendars[] = {\n");
of.writeAsciiString("\tnbOfDays,\n");
of.writeAsciiString("\tnbOfMonths,\n");
of.writeAsciiString("\tnbOfGenitiveMonths,\n");
@@ -1888,7 +1896,7 @@ void LCCalendarNode::generateCode (const OFileWriter &of) const
}
of.writeAsciiString("};\n\n");
- of.writeFunction("getAllCalendars_", "calendarsCount", "calendars");
+ of.writeOUStringFunction("getAllCalendars_", "calendarsCount", "calendars");
}
static bool isIso4217( const OUString& rStr )
@@ -1906,7 +1914,7 @@ void LCCurrencyNode::generateCode (const OFileWriter &of) const
OUString useLocale = getAttr().getValueByName("ref");
if (!useLocale.isEmpty()) {
useLocale = useLocale.replace( '-', '_');
- of.writeRefFunction("getAllCurrencies_", useLocale);
+ of.writeOUStringRefFunction("getAllCurrencies_", useLocale);
return;
}
sal_Int16 nbOfCurrencies = 0;
@@ -1917,11 +1925,11 @@ void LCCurrencyNode::generateCode (const OFileWriter &of) const
for ( sal_Int32 i = 0; i < getNumberOfChildren(); i++,nbOfCurrencies++) {
LocaleNode * currencyNode = getChildAt (i);
str = currencyNode->getAttr().getValueByName("default");
- bool bDefault = of.writeDefaultParameter("Currency", str, nbOfCurrencies);
+ bool bDefault = of.writeOUStringLiteralDefaultParameter("Currency", str, nbOfCurrencies);
str = currencyNode->getAttr().getValueByName("usedInCompatibleFormatCodes");
- bool bCompatible = of.writeDefaultParameter("CurrencyUsedInCompatibleFormatCodes", str, nbOfCurrencies);
+ bool bCompatible = of.writeOUStringLiteralDefaultParameter("CurrencyUsedInCompatibleFormatCodes", str, nbOfCurrencies);
str = currencyNode->getAttr().getValueByName("legacyOnly");
- bool bLegacy = of.writeDefaultParameter("CurrencyLegacyOnly", str, nbOfCurrencies);
+ bool bLegacy = of.writeOUStringLiteralDefaultParameter("CurrencyLegacyOnly", str, nbOfCurrencies);
if (bLegacy && (bDefault || bCompatible))
incError( "Currency: if legacyOnly==true, both 'default' and 'usedInCompatibleFormatCodes' must be false.");
if (bDefault)
@@ -1937,12 +1945,12 @@ void LCCurrencyNode::generateCode (const OFileWriter &of) const
bTheCompatible = true;
}
str = currencyNode -> findNode ("CurrencyID") -> getValue();
- of.writeParameter("currencyID", str, nbOfCurrencies);
+ of.writeOUStringLiteralParameter("currencyID", str, nbOfCurrencies);
// CurrencyID MUST be ISO 4217.
if (!bLegacy && !isIso4217(str))
incError( "CurrencyID is not ISO 4217");
str = currencyNode -> findNode ("CurrencySymbol") -> getValue();
- of.writeParameter("currencySymbol", str, nbOfCurrencies);
+ of.writeOUStringLiteralParameter("currencySymbol", str, nbOfCurrencies);
// Check if this currency really is the one used in number format
// codes. In case of ref=... mechanisms it may be that TheCurrency
// couldn't had been determined from the current locale (i.e. is
@@ -1950,16 +1958,16 @@ void LCCurrencyNode::generateCode (const OFileWriter &of) const
if (bCompatible && !sTheCompatibleCurrency.isEmpty() && sTheCompatibleCurrency != str)
incErrorStrStr( "Error: CurrencySymbol \"%s\" flagged as usedInCompatibleFormatCodes doesn't match \"%s\" determined from format codes.\n", str, sTheCompatibleCurrency);
str = currencyNode -> findNode ("BankSymbol") -> getValue();
- of.writeParameter("bankSymbol", str, nbOfCurrencies);
+ of.writeOUStringLiteralParameter("bankSymbol", str, nbOfCurrencies);
// BankSymbol currently must be ISO 4217. May change later if
// application always uses CurrencyID instead of BankSymbol.
if (!bLegacy && !isIso4217(str))
incError( "BankSymbol is not ISO 4217");
str = currencyNode -> findNode ("CurrencyName") -> getValue();
- of.writeParameter("currencyName", str, nbOfCurrencies);
+ of.writeOUStringLiteralParameter("currencyName", str, nbOfCurrencies);
str = currencyNode -> findNode ("DecimalPlaces") -> getValue();
sal_Int16 nDecimalPlaces = static_cast<sal_Int16>(str.toInt32());
- of.writeIntParameter("currencyDecimalPlaces", nbOfCurrencies, nDecimalPlaces);
+ of.writeOUStringLiteralIntParameter("currencyDecimalPlaces", nbOfCurrencies, nDecimalPlaces);
of.writeAsciiString("\n");
};
@@ -1971,7 +1979,7 @@ void LCCurrencyNode::generateCode (const OFileWriter &of) const
of.writeAsciiString("static const sal_Int16 currencyCount = ");
of.writeInt(nbOfCurrencies);
of.writeAsciiString(";\n\n");
- of.writeAsciiString("static const sal_Unicode* currencies[] = {\n");
+ of.writeAsciiString("static constexpr OUString currencies[] = {\n");
for(sal_Int16 i = 0; i < nbOfCurrencies; i++) {
of.writeAsciiString("\tcurrencyID");
of.writeInt(i);
@@ -1999,7 +2007,7 @@ void LCCurrencyNode::generateCode (const OFileWriter &of) const
of.writeAsciiString(",\n");
}
of.writeAsciiString("};\n\n");
- of.writeFunction("getAllCurrencies_", "currencyCount", "currencies");
+ of.writeOUStringFunction("getAllCurrencies_", "currencyCount", "currencies");
}
void LCTransliterationNode::generateCode (const OFileWriter &of) const
@@ -2007,7 +2015,7 @@ void LCTransliterationNode::generateCode (const OFileWriter &of) const
OUString useLocale = getAttr().getValueByName("ref");
if (!useLocale.isEmpty()) {
useLocale = useLocale.replace( '-', '_');
- of.writeRefFunction("getTransliterations_", useLocale);
+ of.writeOUStringRefFunction("getTransliterations_", useLocale);
return;
}
sal_Int16 nbOfModules = 0;
@@ -2016,20 +2024,20 @@ void LCTransliterationNode::generateCode (const OFileWriter &of) const
for ( sal_Int32 i = 0; i < getNumberOfChildren(); i++,nbOfModules++) {
LocaleNode * transNode = getChildAt (i);
str = transNode->getAttr().getValueByIndex(0);
- of.writeParameter("Transliteration", str, nbOfModules);
+ of.writeOUStringLiteralParameter("Transliteration", str, nbOfModules);
}
of.writeAsciiString("static const sal_Int16 nbOfTransliterations = ");
of.writeInt(nbOfModules);
of.writeAsciiString(";\n\n");
- of.writeAsciiString("\nstatic const sal_Unicode* LCTransliterationsArray[] = {\n");
+ of.writeAsciiString("\nstatic constexpr OUString LCTransliterationsArray[] = {\n");
for( sal_Int16 i = 0; i < nbOfModules; i++) {
of.writeAsciiString("\tTransliteration");
of.writeInt(i);
of.writeAsciiString(",\n");
}
of.writeAsciiString("};\n\n");
- of.writeFunction("getTransliterations_", "nbOfTransliterations", "LCTransliterationsArray");
+ of.writeOUStringFunction("getTransliterations_", "nbOfTransliterations", "LCTransliterationsArray");
}
namespace {
@@ -2061,9 +2069,9 @@ void LCMiscNode::generateCode (const OFileWriter &of) const
OUString useLocale = getAttr().getValueByName("ref");
if (!useLocale.isEmpty()) {
useLocale = useLocale.replace( '-', '_');
- of.writeRefFunction("getForbiddenCharacters_", useLocale);
- of.writeRefFunction("getBreakIteratorRules_", useLocale);
- of.writeRefFunction("getReservedWords_", useLocale);
+ of.writeOUStringRefFunction("getForbiddenCharacters_", useLocale);
+ of.writeOUStringRefFunction("getBreakIteratorRules_", useLocale);
+ of.writeOUStringRefFunction("getReservedWords_", useLocale);
return;
}
const LocaleNode * reserveNode = findNode("ReservedWords");
@@ -2091,7 +2099,7 @@ void LCMiscNode::generateCode (const OFileWriter &of) const
++nError;
fprintf( stderr, "Error: No content for ReservedWords %s.\n", ReserveWord[i].name);
}
- of.writeParameter("ReservedWord", str, nbOfWords);
+ of.writeOUStringLiteralParameter("ReservedWord", str, nbOfWords);
// "true", ..., "below" trigger untranslated warning.
if (!bEnglishLocale && curNode && i <= 7 &&
str.equalsIgnoreAsciiCaseAscii( ReserveWord[i].value))
@@ -2104,52 +2112,52 @@ void LCMiscNode::generateCode (const OFileWriter &of) const
of.writeAsciiString("static const sal_Int16 nbOfReservedWords = ");
of.writeInt(nbOfWords);
of.writeAsciiString(";\n\n");
- of.writeAsciiString("\nstatic const sal_Unicode* LCReservedWordsArray[] = {\n");
+ of.writeAsciiString("\nstatic constexpr OUString LCReservedWordsArray[] = {\n");
for( i = 0; i < nbOfWords; i++) {
of.writeAsciiString("\tReservedWord");
of.writeInt(i);
of.writeAsciiString(",\n");
}
of.writeAsciiString("};\n\n");
- of.writeFunction("getReservedWords_", "nbOfReservedWords", "LCReservedWordsArray");
+ of.writeOUStringFunction("getReservedWords_", "nbOfReservedWords", "LCReservedWordsArray");
if (forbidNode) {
- of.writeParameter( "forbiddenBegin", forbidNode -> getChildAt(0)->getValue());
- of.writeParameter( "forbiddenEnd", forbidNode -> getChildAt(1)->getValue());
- of.writeParameter( "hangingChars", forbidNode -> getChildAt(2)->getValue());
+ of.writeOUStringLiteralParameter( "forbiddenBegin", forbidNode -> getChildAt(0)->getValue());
+ of.writeOUStringLiteralParameter( "forbiddenEnd", forbidNode -> getChildAt(1)->getValue());
+ of.writeOUStringLiteralParameter( "hangingChars", forbidNode -> getChildAt(2)->getValue());
} else {
- of.writeParameter( "forbiddenBegin", OUString());
- of.writeParameter( "forbiddenEnd", OUString());
- of.writeParameter( "hangingChars", OUString());
+ of.writeOUStringLiteralParameter( "forbiddenBegin", std::u16string_view());
+ of.writeOUStringLiteralParameter( "forbiddenEnd", std::u16string_view());
+ of.writeOUStringLiteralParameter( "hangingChars", std::u16string_view());
}
- of.writeAsciiString("\nstatic const sal_Unicode* LCForbiddenCharactersArray[] = {\n");
+ of.writeAsciiString("\nstatic constexpr OUString LCForbiddenCharactersArray[] = {\n");
of.writeAsciiString("\tforbiddenBegin,\n");
of.writeAsciiString("\tforbiddenEnd,\n");
of.writeAsciiString("\thangingChars\n");
of.writeAsciiString("};\n\n");
- of.writeFunction("getForbiddenCharacters_", "3", "LCForbiddenCharactersArray");
+ of.writeOUStringFunction("getForbiddenCharacters_", "3", "LCForbiddenCharactersArray");
if (breakNode) {
- of.writeParameter( "EditMode", breakNode -> getChildAt(0)->getValue());
- of.writeParameter( "DictionaryMode", breakNode -> getChildAt(1)->getValue());
- of.writeParameter( "WordCountMode", breakNode -> getChildAt(2)->getValue());
- of.writeParameter( "CharacterMode", breakNode -> getChildAt(3)->getValue());
- of.writeParameter( "LineMode", breakNode -> getChildAt(4)->getValue());
+ of.writeOUStringLiteralParameter( "EditMode", breakNode -> getChildAt(0)->getValue());
+ of.writeOUStringLiteralParameter( "DictionaryMode", breakNode -> getChildAt(1)->getValue());
+ of.writeOUStringLiteralParameter( "WordCountMode", breakNode -> getChildAt(2)->getValue());
+ of.writeOUStringLiteralParameter( "CharacterMode", breakNode -> getChildAt(3)->getValue());
+ of.writeOUStringLiteralParameter( "LineMode", breakNode -> getChildAt(4)->getValue());
} else {
- of.writeParameter( "EditMode", OUString());
- of.writeParameter( "DictionaryMode", OUString());
- of.writeParameter( "WordCountMode", OUString());
- of.writeParameter( "CharacterMode", OUString());
- of.writeParameter( "LineMode", OUString());
+ of.writeOUStringLiteralParameter( "EditMode", std::u16string_view());
+ of.writeOUStringLiteralParameter( "DictionaryMode", std::u16string_view());
+ of.writeOUStringLiteralParameter( "WordCountMode", std::u16string_view());
+ of.writeOUStringLiteralParameter( "CharacterMode", std::u16string_view());
+ of.writeOUStringLiteralParameter( "LineMode", std::u16string_view());
}
- of.writeAsciiString("\nstatic const sal_Unicode* LCBreakIteratorRulesArray[] = {\n");
+ of.writeAsciiString("\nstatic constexpr OUString LCBreakIteratorRulesArray[] = {\n");
of.writeAsciiString("\tEditMode,\n");
of.writeAsciiString("\tDictionaryMode,\n");
of.writeAsciiString("\tWordCountMode,\n");
of.writeAsciiString("\tCharacterMode,\n");
of.writeAsciiString("\tLineMode\n");
of.writeAsciiString("};\n\n");
- of.writeFunction("getBreakIteratorRules_", "5", "LCBreakIteratorRulesArray");
+ of.writeOUStringFunction("getBreakIteratorRules_", "5", "LCBreakIteratorRulesArray");
}
@@ -2159,7 +2167,7 @@ void LCNumberingLevelNode::generateCode (const OFileWriter &of) const
OUString useLocale = getAttr().getValueByName("ref");
if (!useLocale.isEmpty()) {
useLocale = useLocale.replace( '-', '_');
- of.writeRefFunction2("getContinuousNumberingLevels_", useLocale);
+ of.writeOUStringRefFunction2("getContinuousNumberingLevels_", useLocale);
return;
}
@@ -2179,7 +2187,7 @@ void LCNumberingLevelNode::generateCode (const OFileWriter &of) const
{
const char* name = attr[j];
OUString value = q.getValueByName( name );
- of.writeParameter("continuous", name, value, sal::static_int_cast<sal_Int16>(i) );
+ of.writeOUStringLiteralParameter("continuous", name, value, sal::static_int_cast<sal_Int16>(i) );
}
}
@@ -2194,7 +2202,7 @@ void LCNumberingLevelNode::generateCode (const OFileWriter &of) const
// generate code. (intermediate arrays)
for( i=0; i<nStyles; i++ )
{
- of.writeAsciiString("\nstatic const sal_Unicode* continuousStyle" );
+ of.writeAsciiString("\nstatic constexpr OUString continuousStyle" );
of.writeInt( sal::static_int_cast<sal_Int16>(i) );
of.writeAsciiString("[] = {\n");
for( sal_Int32 j=0; j<nAttributes; j++)
@@ -2205,12 +2213,12 @@ void LCNumberingLevelNode::generateCode (const OFileWriter &of) const
of.writeInt(sal::static_int_cast<sal_Int16>(i));
of.writeAsciiString(",\n");
}
- of.writeAsciiString("\t0\n};\n\n");
+ of.writeAsciiString("\t\n};\n\n");
}
// generate code. (top-level array)
of.writeAsciiString("\n");
- of.writeAsciiString("static const sal_Unicode** LCContinuousNumberingLevelsArray[] = {\n" );
+ of.writeAsciiString("static const OUString* LCContinuousNumberingLevelsArray[] = {\n" );
for( i=0; i<nStyles; i++ )
{
of.writeAsciiString( "\t" );
@@ -2219,7 +2227,7 @@ void LCNumberingLevelNode::generateCode (const OFileWriter &of) const
of.writeAsciiString( ",\n");
}
of.writeAsciiString("\t0\n};\n\n");
- of.writeFunction2("getContinuousNumberingLevels_", "continuousNbOfStyles",
+ of.writeOUStringFunction2("getContinuousNumberingLevels_", "continuousNbOfStyles",
"continuousNbOfAttributesPerStyle", "LCContinuousNumberingLevelsArray");
}
@@ -2230,12 +2238,12 @@ void LCOutlineNumberingLevelNode::generateCode (const OFileWriter &of) const
OUString useLocale = getAttr().getValueByName("ref");
if (!useLocale.isEmpty()) {
useLocale = useLocale.replace( '-', '_');
- of.writeRefFunction3("getOutlineNumberingLevels_", useLocale);
+ of.writeOUStringRefFunction3("getOutlineNumberingLevels_", useLocale);
return;
}
// hardcode number of attributes per level
- const int nAttributes = 11;
+ const int nAttributes = 12;
const char* attr[ nAttributes ] =
{
"Prefix",
@@ -2247,6 +2255,7 @@ void LCOutlineNumberingLevelNode::generateCode (const OFileWriter &of) const
"LeftMargin",
"SymbolTextDistance",
"FirstLineOffset",
+ "Adjust",
"Transliteration",
"NatNum",
};
@@ -2266,7 +2275,7 @@ void LCOutlineNumberingLevelNode::generateCode (const OFileWriter &of) const
{
const char* name = attr[k];
OUString value = q.getValueByName( name );
- of.writeParameter("outline", name, value,
+ of.writeOUStringLiteralParameter("outline", name, value,
sal::static_int_cast<sal_Int16>(i),
sal::static_int_cast<sal_Int16>(j) );
}
@@ -2307,7 +2316,7 @@ void LCOutlineNumberingLevelNode::generateCode (const OFileWriter &of) const
{
for( sal_Int32 j=0; j<nLevels.back(); j++ )
{
- of.writeAsciiString("static const sal_Unicode* outline");
+ of.writeAsciiString("static constexpr OUString outline");
of.writeAsciiString("Style");
of.writeInt( sal::static_int_cast<sal_Int16>(i) );
of.writeAsciiString("Level");
@@ -2322,7 +2331,7 @@ void LCOutlineNumberingLevelNode::generateCode (const OFileWriter &of) const
of.writeInt( sal::static_int_cast<sal_Int16>(j) );
of.writeAsciiString(", ");
}
- of.writeAsciiString("NULL };\n");
+ of.writeAsciiString(" };\n");
}
}
@@ -2331,8 +2340,7 @@ void LCOutlineNumberingLevelNode::generateCode (const OFileWriter &of) const
for( sal_Int32 i=0; i<nStyles; i++ )
{
- of.writeAsciiString("static const sal_Unicode** outline");
- of.writeAsciiString( "Style" );
+ of.writeAsciiString("static constexpr OUString const * outlineStyle" );
of.writeInt( sal::static_int_cast<sal_Int16>(i) );
of.writeAsciiString("[] = { ");
@@ -2348,7 +2356,7 @@ void LCOutlineNumberingLevelNode::generateCode (const OFileWriter &of) const
}
of.writeAsciiString("\n");
- of.writeAsciiString("static const sal_Unicode*** LCOutlineNumberingLevelsArray[] = {\n" );
+ of.writeAsciiString("static constexpr OUString const * const * LCOutlineNumberingLevelsArray[] = {\n" );
for( sal_Int32 i=0; i<nStyles; i++ )
{
of.writeAsciiString( "\t" );
@@ -2357,17 +2365,19 @@ void LCOutlineNumberingLevelNode::generateCode (const OFileWriter &of) const
of.writeAsciiString(",\n");
}
of.writeAsciiString("\tNULL\n};\n\n");
- of.writeFunction3("getOutlineNumberingLevels_", "outlineNbOfStyles", "outlineNbOfLevelsPerStyle",
+ of.writeOUStringFunction3("getOutlineNumberingLevels_", "outlineNbOfStyles", "outlineNbOfLevelsPerStyle",
"outlineNbOfAttributesPerLevel", "LCOutlineNumberingLevelsArray");
}
Attr::Attr (const Reference< XAttributeList > & attr) {
sal_Int16 len = attr->getLength();
name.realloc (len);
+ auto pName = name.getArray();
value.realloc (len);
+ auto pValue = value.getArray();
for (sal_Int16 i =0; i< len;i++) {
- name[i] = attr->getNameByIndex(i);
- value[i] = attr -> getValueByIndex(i);
+ pName[i] = attr->getNameByIndex(i);
+ pValue[i] = attr -> getValueByIndex(i);
}
}
diff --git a/i18npool/source/localedata/LocaleNode.hxx b/i18npool/source/localedata/LocaleNode.hxx
index bdd3eb62762e..9bb3bee2a5f4 100644
--- a/i18npool/source/localedata/LocaleNode.hxx
+++ b/i18npool/source/localedata/LocaleNode.hxx
@@ -16,8 +16,7 @@
* except in compliance with the License. You may obtain a copy of
* the License at http://www.apache.org/licenses/LICENSE-2.0 .
*/
-#ifndef INCLUDED_I18NPOOL_SOURCE_LOCALEDATA_LOCALENODE_HXX
-#define INCLUDED_I18NPOOL_SOURCE_LOCALEDATA_LOCALENODE_HXX
+#pragma once
#include <string>
#include <string_view>
@@ -28,7 +27,6 @@
namespace com::sun::star::xml::sax { class XAttributeList; }
-using namespace ::cppu;
using namespace ::com::sun::star::uno;
using namespace ::com::sun::star::xml::sax;
@@ -37,24 +35,27 @@ class OFileWriter
public:
OFileWriter(const char *pcFile, const char *locale );
~OFileWriter();
- void writeStringCharacters(const OUString& str) const;
+ void writeStringCharacters(std::u16string_view str) const;
+ void writeOUStringLiteralCharacters(std::u16string_view str) const;
void writeAsciiString(const char *str)const ;
void writeInt(sal_Int16 nb) const;
- void writeFunction(const char *func, const char *count, const char *array) const;
- void writeRefFunction(const char *func, std::u16string_view useLocale) const;
- void writeFunction(const char *func, const char *count, const char *array, const char *from, const char *to) const;
- void writeRefFunction(const char *func, std::u16string_view useLocale, const char *to) const;
- void writeFunction2(const char *func, const char *style, const char* attr, const char *array) const;
- void writeRefFunction2(const char *func, std::u16string_view useLocale) const;
- void writeFunction3(const char *func, const char *style, const char* levels, const char* attr, const char *array) const;
- void writeRefFunction3(const char *func, std::u16string_view useLocale) const;
- void writeIntParameter(const char* pAsciiStr, const sal_Int16 count, sal_Int16 val) const;
- bool writeDefaultParameter(const char* pAsciiStr, std::u16string_view str, sal_Int16 count) const;
- void writeParameter(const char* pAsciiStr, const OUString& aChars) const;
- void writeParameter(const char* pAsciiStr, const OUString& aChars, sal_Int16 count) const;
- void writeParameter(const char* pAsciiStr, const OUString& aChars, sal_Int16 count0, sal_Int16 count1) const;
- void writeParameter(const char* pTagStr, const char* pAsciiStr, const OUString& aChars, const sal_Int16 count) const;
- void writeParameter(const char* pTagStr, const char* pAsciiStr, const OUString& aChars, sal_Int16 count0, sal_Int16 count1) const;
+ void writeHexInt(sal_Int16 nb) const;
+ void writeOUStringRefFunction(const char *func, std::u16string_view useLocale) const;
+ void writeOUStringRefFunction(const char *func, std::u16string_view useLocale, const char *to) const;
+ void writeOUStringFunction(const char *func, const char *count, const char *array) const;
+ void writeOUStringFunction(const char *func, const char *count, const char *array, const char *from, const char *to) const;
+ void writeOUStringFunction2(const char *func, const char *style, const char* attr, const char *array) const;
+ void writeOUStringRefFunction2(const char *func, std::u16string_view useLocale) const;
+ void writeOUStringFunction3(const char *func, const char *style, const char* levels, const char* attr, const char *array) const;
+ void writeOUStringRefFunction3(const char *func, std::u16string_view useLocale) const;
+ void writeOUStringLiteralIntParameter(const char* pAsciiStr, const sal_Int16 count, sal_Int16 val) const;
+ bool writeOUStringLiteralDefaultParameter(const char* pAsciiStr, std::u16string_view str, sal_Int16 count) const;
+ void writeOUStringLiteralParameter(const char* pAsciiStr, std::u16string_view aChars) const;
+ void writeParameter(const char* pAsciiStr, std::u16string_view aChars, sal_Int16 count) const;
+ void writeOUStringLiteralParameter(const char* pAsciiStr, std::u16string_view aChars, sal_Int16 count) const;
+ void writeOUStringLiteralParameter(const char* pAsciiStr, std::u16string_view aChars, sal_Int16 count0, sal_Int16 count1) const;
+ void writeOUStringLiteralParameter(const char* pTagStr, const char* pAsciiStr, std::u16string_view aChars, const sal_Int16 count) const;
+ void writeOUStringLiteralParameter(const char* pTagStr, const char* pAsciiStr, std::u16string_view aChars, sal_Int16 count0, sal_Int16 count1) const;
void closeOutput() const;
/// Return the locale string, something like en_US or de_DE
const char * getLocale() const { return theLocale.c_str(); }
@@ -85,7 +86,7 @@ protected:
mutable int nError;
public:
- LocaleNode (const OUString& name, const Reference< XAttributeList > & attr);
+ LocaleNode (OUString name, const Reference< XAttributeList > & attr);
void setValue(std::u16string_view oValue) { aValue += oValue; };
const OUString& getName() const { return aName; };
const OUString& getValue() const { return aValue; };
@@ -104,8 +105,8 @@ public:
// SHOULD NOT > nMaxLen
// nMaxLen < 0 : any length
// nMaxLen >= 0 : warning if more than nMaxLen characters
- OUString writeParameterCheckLen( const OFileWriter &of, const char* pParameterName, const LocaleNode* pNode, sal_Int32 nMinLen, sal_Int32 nMaxLen ) const;
- OUString writeParameterCheckLen( const OFileWriter &of, const char* pNodeName, const char* pParameterName, sal_Int32 nMinLen, sal_Int32 nMaxLen ) const;
+ OUString writeOUStringLiteralParameterCheckLen( const OFileWriter &of, const char* pParameterName, const LocaleNode* pNode, sal_Int32 nMinLen, sal_Int32 nMaxLen ) const;
+ OUString writeOUStringLiteralParameterCheckLen( const OFileWriter &of, const char* pNodeName, const char* pParameterName, sal_Int32 nMinLen, sal_Int32 nMaxLen ) const;
// ++nError with output to stderr
void incError( const char* pStr ) const;
// ++nError with output to stderr
@@ -221,6 +222,4 @@ public:
virtual void generateCode (const OFileWriter &of) const override;
};
-#endif
-
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/i18npool/source/localedata/data/ak_GH.xml b/i18npool/source/localedata/data/ak_GH.xml
index 8a380241adf3..2c42a3d9f37b 100644
--- a/i18npool/source/localedata/data/ak_GH.xml
+++ b/i18npool/source/localedata/data/ak_GH.xml
@@ -383,15 +383,6 @@
<quarter4Abbreviation>A4</quarter4Abbreviation>
</ReservedWords>
</LC_MISC>
- <LC_NumberingLevel>
- <NumberingLevel NumType="4" Prefix=" " Suffix=")"/>
- <NumberingLevel NumType="4" Prefix=" " Suffix="."/>
- <NumberingLevel NumType="4" Prefix="(" Suffix=")"/>
- <NumberingLevel NumType="2" Prefix=" " Suffix="."/>
- <NumberingLevel NumType="0" Prefix=" " Suffix=")"/>
- <NumberingLevel NumType="1" Prefix=" " Suffix=")"/>
- <NumberingLevel NumType="1" Prefix="(" Suffix=")"/>
- <NumberingLevel NumType="3" Prefix=" " Suffix="."/>
- </LC_NumberingLevel>
+ <LC_NumberingLevel ref="en_US"/>
<LC_OutLineNumberingLevel ref="en_US"/>
</Locale>
diff --git a/i18npool/source/localedata/data/an_ES.xml b/i18npool/source/localedata/data/an_ES.xml
index f6063c06e206..c384d3106cd5 100644
--- a/i18npool/source/localedata/data/an_ES.xml
+++ b/i18npool/source/localedata/data/an_ES.xml
@@ -47,8 +47,8 @@
<DoubleQuotationStart>“</DoubleQuotationStart>
<DoubleQuotationEnd>”</DoubleQuotationEnd>
</Markers>
- <TimeAM>a. m.</TimeAM>
- <TimePM>p. m.</TimePM>
+ <TimeAM>a. m.</TimeAM>
+ <TimePM>p. m.</TimePM>
<MeasurementSystem>metric</MeasurementSystem>
</LC_CTYPE>
<LC_FORMAT replaceFrom="[CURRENCY]" replaceTo="[$€-665]">
@@ -427,16 +427,7 @@
<quarter4Abbreviation>4T</quarter4Abbreviation>
</ReservedWords>
</LC_MISC>
- <LC_NumberingLevel>
- <NumberingLevel NumType="4" Prefix=" " Suffix=")"/>
- <NumberingLevel NumType="4" Prefix=" " Suffix="."/>
- <NumberingLevel NumType="4" Prefix="(" Suffix=")"/>
- <NumberingLevel NumType="2" Prefix=" " Suffix="."/>
- <NumberingLevel NumType="0" Prefix=" " Suffix=")"/>
- <NumberingLevel NumType="1" Prefix=" " Suffix=")"/>
- <NumberingLevel NumType="1" Prefix="(" Suffix=")"/>
- <NumberingLevel NumType="3" Prefix=" " Suffix="."/>
- </LC_NumberingLevel>
+ <LC_NumberingLevel ref="en_US"/>
<LC_OutLineNumberingLevel ref="en_US"/>
</Locale>
<!--Version 1.0 -->
diff --git a/i18npool/source/localedata/data/ast_ES.xml b/i18npool/source/localedata/data/ast_ES.xml
index 2cfaf1594ea8..cab7d0778132 100644
--- a/i18npool/source/localedata/data/ast_ES.xml
+++ b/i18npool/source/localedata/data/ast_ES.xml
@@ -429,16 +429,7 @@
<quarter4Abbreviation>T4</quarter4Abbreviation>
</ReservedWords>
</LC_MISC>
- <LC_NumberingLevel>
- <NumberingLevel NumType="4" Prefix=" " Suffix=")"/>
- <NumberingLevel NumType="4" Prefix=" " Suffix="."/>
- <NumberingLevel NumType="4" Prefix="(" Suffix=")"/>
- <NumberingLevel NumType="2" Prefix=" " Suffix="."/>
- <NumberingLevel NumType="0" Prefix=" " Suffix=")"/>
- <NumberingLevel NumType="1" Prefix=" " Suffix=")"/>
- <NumberingLevel NumType="1" Prefix="(" Suffix=")"/>
- <NumberingLevel NumType="3" Prefix=" " Suffix="."/>
- </LC_NumberingLevel>
+ <LC_NumberingLevel ref="en_US"/>
<LC_OutLineNumberingLevel ref="en_US"/>
</Locale>
<!--Version 1.0 -->
diff --git a/i18npool/source/localedata/data/bg_BG.xml b/i18npool/source/localedata/data/bg_BG.xml
index 78dc17cc22b1..55c63049089f 100644
--- a/i18npool/source/localedata/data/bg_BG.xml
+++ b/i18npool/source/localedata/data/bg_BG.xml
@@ -67,13 +67,22 @@
<FormatCode>0,00</FormatCode>
</FormatElement>
<FormatElement msgid="FixedFormatskey4" default="false" type="short" usage="FIXED_NUMBER" formatindex="3">
- <FormatCode> ##0</FormatCode>
+ <FormatCode># ##0</FormatCode>
</FormatElement>
<FormatElement msgid="FixedFormatskey5" default="false" type="medium" usage="FIXED_NUMBER" formatindex="4">
- <FormatCode> ##0,00</FormatCode>
+ <FormatCode># ##0,00</FormatCode>
</FormatElement>
<FormatElement msgid="FixedFormatskey6" default="false" type="medium" usage="FIXED_NUMBER" formatindex="5">
- <FormatCode> ###,00</FormatCode>
+ <FormatCode># ###,00</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="FixedFormatskey9" default="false" type="medium" usage="FIXED_NUMBER" formatindex="101">
+ <FormatCode>[NatNum12 cardinal]0</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="FixedFormatskey10" default="false" type="medium" usage="FIXED_NUMBER" formatindex="102">
+ <FormatCode>[NatNum12 capitalize cardinal]0</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="FixedFormatskey12" default="false" type="medium" usage="FIXED_NUMBER" formatindex="104">
+ <FormatCode>[NatNum12 upper cardinal]0</FormatCode>
</FormatElement>
<FormatElement msgid="ScientificFormatskey1" default="false" type="medium" usage="SCIENTIFIC_NUMBER" formatindex="6">
<FormatCode>0,00E+000</FormatCode>
@@ -91,22 +100,34 @@
<FormatCode>0,00%</FormatCode>
</FormatElement>
<FormatElement msgid="CurrencyFormatskey1" default="true" type="short" usage="CURRENCY" formatindex="12">
- <FormatCode> ##0 [CURRENCY];- ##0 [CURRENCY]</FormatCode>
+ <FormatCode># ##0 [CURRENCY];-# ##0 [CURRENCY]</FormatCode>
</FormatElement>
<FormatElement msgid="CurrencyFormatskey2" default="false" type="medium" usage="CURRENCY" formatindex="13">
- <FormatCode> ##0,00 [CURRENCY];- ##0,00 [CURRENCY]</FormatCode>
+ <FormatCode># ##0,00 [CURRENCY];-# ##0,00 [CURRENCY]</FormatCode>
</FormatElement>
<FormatElement msgid="CurrencyFormatskey3" default="false" type="medium" usage="CURRENCY" formatindex="14">
- <FormatCode> ##0 [CURRENCY];[RED]- ##0 [CURRENCY]</FormatCode>
+ <FormatCode># ##0 [CURRENCY];[RED]-# ##0 [CURRENCY]</FormatCode>
</FormatElement>
<FormatElement msgid="CurrencyFormatskey4" default="true" type="medium" usage="CURRENCY" formatindex="15">
- <FormatCode> ##0,00 [CURRENCY];[RED]- ##0,00 [CURRENCY]</FormatCode>
+ <FormatCode># ##0,00 [CURRENCY];[RED]-# ##0,00 [CURRENCY]</FormatCode>
</FormatElement>
<FormatElement msgid="CurrencyFormatskey5" default="false" type="medium" usage="CURRENCY" formatindex="16">
- <FormatCode> ##0,00 CCC</FormatCode>
+ <FormatCode># ##0,00 CCC</FormatCode>
</FormatElement>
<FormatElement msgid="CurrencyFormatskey6" default="false" type="medium" usage="CURRENCY" formatindex="17">
- <FormatCode> ##0,-- [CURRENCY];[RED]- ##0,-- [CURRENCY]</FormatCode>
+ <FormatCode># ##0,-- [CURRENCY];[RED]-# ##0,-- [CURRENCY]</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="CurrencyFormatskey9" default="false" type="medium" usage="CURRENCY" formatindex="105">
+ <FormatCode>[NatNum12 CURRENCY]0</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="CurrencyFormatskey10" default="false" type="medium" usage="CURRENCY" formatindex="106">
+ <FormatCode>[NatNum12 CURRENCY]0,00</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="CurrencyFormatskey11" default="false" type="medium" usage="CURRENCY" formatindex="107">
+ <FormatCode>[NatNum12 upper CURRENCY]0</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="CurrencyFormatskey12" default="false" type="medium" usage="CURRENCY" formatindex="108">
+ <FormatCode>[NatNum12 upper CURRENCY]0,00</FormatCode>
</FormatElement>
<FormatElement msgid="DateFormatskey1" default="true" type="short" usage="DATE" formatindex="18">
<FormatCode>D.M.YY</FormatCode>
@@ -355,8 +376,8 @@
<quarter2Word>2-ро тримесечие</quarter2Word>
<quarter3Word>3-то тримесечие</quarter3Word>
<quarter4Word>4-то тримесечие</quarter4Word>
- <aboveWord>над</aboveWord>
- <belowWord>под</belowWord>
+ <aboveWord>по-горе</aboveWord>
+ <belowWord>по-долу</belowWord>
<quarter1Abbreviation>1. трим.</quarter1Abbreviation>
<quarter2Abbreviation>2. трим.</quarter2Abbreviation>
<quarter3Abbreviation>3. трим.</quarter3Abbreviation>
diff --git a/i18npool/source/localedata/data/bm_ML.xml b/i18npool/source/localedata/data/bm_ML.xml
index 63e68f2dd6a2..68998aa303fa 100644
--- a/i18npool/source/localedata/data/bm_ML.xml
+++ b/i18npool/source/localedata/data/bm_ML.xml
@@ -358,16 +358,7 @@
<quarter4Abbreviation>KS4</quarter4Abbreviation>
</ReservedWords>
</LC_MISC>
- <LC_NumberingLevel>
- <NumberingLevel NumType="4" Prefix=" " Suffix=")"/>
- <NumberingLevel NumType="4" Prefix=" " Suffix="."/>
- <NumberingLevel NumType="4" Prefix="(" Suffix=")"/>
- <NumberingLevel NumType="2" Prefix=" " Suffix="."/>
- <NumberingLevel NumType="0" Prefix=" " Suffix=")"/>
- <NumberingLevel NumType="1" Prefix=" " Suffix=")"/>
- <NumberingLevel NumType="1" Prefix="(" Suffix=")"/>
- <NumberingLevel NumType="3" Prefix=" " Suffix="."/>
- </LC_NumberingLevel>
+ <LC_NumberingLevel ref="en_US"/>
<LC_OutLineNumberingLevel ref="en_US"/>
</Locale>
<!--Version 1.0 -->
diff --git a/i18npool/source/localedata/data/bn_IN.xml b/i18npool/source/localedata/data/bn_IN.xml
index 7064336deb0a..7de868c0145e 100644
--- a/i18npool/source/localedata/data/bn_IN.xml
+++ b/i18npool/source/localedata/data/bn_IN.xml
@@ -192,13 +192,13 @@
<FormatCode>[HH]:MM:SS.00</FormatCode>
</FormatElement>
<FormatElement msgid="DateTimeFormatskey1" default="true" type="medium" usage="DATE_TIME" formatindex="46">
- <FormatCode>MM-DD-YY HH:MM AM/PM</FormatCode>
+ <FormatCode>DD-MM-YY HH:MM AM/PM</FormatCode>
</FormatElement>
<FormatElement msgid="DateTimeFormatskey2" default="false" type="medium" usage="DATE_TIME" formatindex="47">
- <FormatCode>MM-DD-YYYY HH:MM:SS</FormatCode>
+ <FormatCode>DD-MM-YYYY HH:MM:SS</FormatCode>
</FormatElement>
<FormatElement msgid="DateTimeFormatskey3" default="false" type="medium" usage="DATE_TIME" formatindex="50">
- <FormatCode>MM-DD-YYYY HH:MM</FormatCode>
+ <FormatCode>DD-MM-YYYY HH:MM</FormatCode>
</FormatElement>
</LC_FORMAT>
<LC_COLLATION ref="en_US" />
diff --git a/i18npool/source/localedata/data/bo_IN.xml b/i18npool/source/localedata/data/bo_IN.xml
index 8d9133ae988d..bb364c53468b 100644
--- a/i18npool/source/localedata/data/bo_IN.xml
+++ b/i18npool/source/localedata/data/bo_IN.xml
@@ -53,55 +53,119 @@
</LC_CTYPE>
<LC_FORMAT replaceFrom="[CURRENCY]" replaceTo="[$₹-8051]">
<DateAcceptancePattern>M-D</DateAcceptancePattern>
- <FormatElement msgid="DateFormatskey1" default="true" type="short" usage="DATE" formatindex="18">
- <FormatCode>[NatNum1]YY-MM-DD</FormatCode>
+ <FormatElement msgid="FixedFormatskey1" default="true" type="medium" usage="FIXED_NUMBER" formatindex="0">
+ <FormatCode>General</FormatCode>
</FormatElement>
- <FormatElement msgid="DateFormatskey2" default="false" type="medium" usage="DATE" formatindex="28">
- <FormatCode>[NatNum1]NN YY-MMM DD</FormatCode>
+ <FormatElement msgid="FixedFormatskey2" default="true" type="short" usage="FIXED_NUMBER" formatindex="1">
+ <FormatCode>[NatNum1]0</FormatCode>
</FormatElement>
- <FormatElement msgid="DateFormatskey3" default="false" type="medium" usage="DATE" formatindex="34">
- <FormatCode>[NatNum1]YY-MM</FormatCode>
+ <FormatElement msgid="FixedFormatskey3" default="false" type="medium" usage="FIXED_NUMBER" formatindex="2">
+ <FormatCode>[NatNum1]0.00</FormatCode>
</FormatElement>
- <FormatElement msgid="DateFormatskey4" default="false" type="medium" usage="DATE" formatindex="35">
- <FormatCode>[NatNum1]MMM-DD</FormatCode>
+ <FormatElement msgid="FixedFormatskey4" default="false" type="short" usage="FIXED_NUMBER" formatindex="3">
+ <FormatCode>[NatNum1]#,##0</FormatCode>
</FormatElement>
- <FormatElement msgid="DateFormatskey5" default="false" type="medium" usage="DATE" formatindex="36">
- <FormatCode>MMMM</FormatCode>
+ <FormatElement msgid="FixedFormatskey5" default="false" type="medium" usage="FIXED_NUMBER" formatindex="4">
+ <FormatCode>[NatNum1]#,##0.00</FormatCode>
</FormatElement>
- <FormatElement msgid="DateFormatskey6" default="false" type="medium" usage="DATE" formatindex="37">
- <FormatCode>[NatNum1]QQ YY</FormatCode>
+ <FormatElement msgid="FixedFormatskey6" default="false" type="medium" usage="FIXED_NUMBER" formatindex="5">
+ <FormatCode>[NatNum1]#,###.00</FormatCode>
</FormatElement>
- <FormatElement msgid="DateFormatskey7" default="false" type="medium" usage="DATE" formatindex="21">
- <FormatCode>[NatNum1]YYYY-MM-DD</FormatCode>
+ <FormatElement msgid="FixedFormatskey7" default="false" type="short" usage="FIXED_NUMBER" formatindex="69">
+ <FormatCode>0</FormatCode>
</FormatElement>
- <FormatElement msgid="DateFormatskey8" default="true" type="medium" usage="DATE" formatindex="20">
+ <FormatElement msgid="FixedFormatskey8" default="false" type="medium" usage="FIXED_NUMBER" formatindex="70">
+ <FormatCode>0.00</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="FixedFormatskey9" default="false" type="short" usage="FIXED_NUMBER" formatindex="71">
+ <FormatCode>#,##0</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="FixedFormatskey10" default="false" type="medium" usage="FIXED_NUMBER" formatindex="72">
+ <FormatCode>#,##0.00</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="FixedFormatskey11" default="false" type="medium" usage="FIXED_NUMBER" formatindex="73">
+ <FormatCode>#,###.00</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="ScientificFormatskey1" default="false" type="medium" usage="SCIENTIFIC_NUMBER" formatindex="6">
+ <FormatCode>0.00E+000</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="ScientificFormatskey2" default="true" type="medium" usage="SCIENTIFIC_NUMBER" formatindex="7">
+ <FormatCode>0.00E+00</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="ScientificFormatskey3" default="false" type="medium" usage="SCIENTIFIC_NUMBER" formatindex="68">
+ <FormatCode>[NatNum1]0.00E+00</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="ScientificFormatskey4" default="false" type="medium" usage="SCIENTIFIC_NUMBER" formatindex="78">
+ <FormatCode>##0.00E+00</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="PercentFormatskey1" default="true" type="short" usage="PERCENT_NUMBER" formatindex="8">
+ <!-- Percentage formats other than % sign are not possible in 2.0 0 "བརྒྱ་ཆ་་" is replaced by % -->
+ <FormatCode>[NatNum1]0%</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="PercentFormatskey2" default="true" type="long" usage="PERCENT_NUMBER" formatindex="9">
+ <FormatCode>[NatNum1]0.00%</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="PercentFormatskey3" default="false" type="short" usage="PERCENT_NUMBER" formatindex="66">
+ <FormatCode>0%</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="PercentFormatskey4" default="false" type="long" usage="PERCENT_NUMBER" formatindex="67">
+ <FormatCode>0.00%</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="CurrencyFormatskey1" default="true" type="short" usage="CURRENCY" formatindex="12">
+ <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>
+ </FormatElement>
+ <FormatElement msgid="CurrencyFormatskey3" default="false" type="medium" usage="CURRENCY" formatindex="14">
+ <FormatCode>[CURRENCY]#,##0;[RED]-[CURRENCY]#,##0</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="CurrencyFormatskey4" default="true" type="medium" usage="CURRENCY" formatindex="15">
+ <FormatCode>[CURRENCY]#,##0.00;[RED]-[CURRENCY]#,##0.00</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="CurrencyFormatskey5" default="false" type="medium" usage="CURRENCY" formatindex="16">
+ <FormatCode>#,##0.00 CCC</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="CurrencyFormatskey6" default="false" type="medium" usage="CURRENCY" formatindex="17">
+ <FormatCode>[CURRENCY]#,##0.--;[RED]-[CURRENCY]#,##0.--</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="DateFormatskey1" default="true" type="short" usage="DATE" formatindex="18">
<FormatCode>[NatNum1]YY-MM-DD</FormatCode>
</FormatElement>
<FormatElement msgid="DateFormatskey9" default="true" type="long" usage="DATE" formatindex="19">
<FormatCode>[NatNum1]"སྤྱི་ལོ" YYYY "ཟླ་" M "ཚེས་" DD</FormatCode>
</FormatElement>
+ <FormatElement msgid="DateFormatskey8" default="true" type="medium" usage="DATE" formatindex="20">
+ <FormatCode>[NatNum1]YY-MM-DD</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="DateFormatskey7" default="false" type="medium" usage="DATE" formatindex="21">
+ <FormatCode>[NatNum1]YYYY-MM-DD</FormatCode>
+ </FormatElement>
<FormatElement msgid="DateFormatskey10" default="false" type="long" usage="DATE" formatindex="22">
<FormatCode>[NatNum1]"སྤྱི་ལོ" YYYY "ཟླ་" M "ཚེས་" DD</FormatCode>
</FormatElement>
<FormatElement msgid="DateFormatskey11" default="false" type="long" usage="DATE" formatindex="23">
<FormatCode>[NatNum1]"སྤྱི་ལོ" YYYY "ཟླ་" M "ཚེས་" DD</FormatCode>
</FormatElement>
- <FormatElement msgid="DateFormatskey12" default="false" type="long" usage="DATE" formatindex="25">
+ <FormatElement msgid="DateFormatskey16" default="false" type="long" usage="DATE" formatindex="24">
<FormatCode>[NatNum1]"སྤྱི་ལོ" YYYY "ཟླ་" M "ཚེས་" DD</FormatCode>
</FormatElement>
- <FormatElement msgid="DateFormatskey13" default="false" type="long" usage="DATE" formatindex="27">
+ <FormatElement msgid="DateFormatskey12" default="false" type="long" usage="DATE" formatindex="25">
<FormatCode>[NatNum1]"སྤྱི་ལོ" YYYY "ཟླ་" M "ཚེས་" DD</FormatCode>
</FormatElement>
- <FormatElement msgid="DateFormatskey14" default="false" type="long" usage="DATE" formatindex="29">
+ <FormatElement msgid="DateFormatskey17" default="false" type="long" usage="DATE" formatindex="26">
<FormatCode>[NatNum1]"སྤྱི་ལོ" YYYY "ཟླ་" M "ཚེས་" DD</FormatCode>
</FormatElement>
- <FormatElement msgid="DateFormatskey15" default="false" type="long" usage="DATE" formatindex="30">
+ <FormatElement msgid="DateFormatskey13" default="false" type="long" usage="DATE" formatindex="27">
<FormatCode>[NatNum1]"སྤྱི་ལོ" YYYY "ཟླ་" M "ཚེས་" DD</FormatCode>
</FormatElement>
- <FormatElement msgid="DateFormatskey16" default="false" type="long" usage="DATE" formatindex="24">
+ <FormatElement msgid="DateFormatskey2" default="false" type="medium" usage="DATE" formatindex="28">
+ <FormatCode>[NatNum1]NN YY-MMM DD</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="DateFormatskey14" default="false" type="long" usage="DATE" formatindex="29">
<FormatCode>[NatNum1]"སྤྱི་ལོ" YYYY "ཟླ་" M "ཚེས་" DD</FormatCode>
</FormatElement>
- <FormatElement msgid="DateFormatskey17" default="false" type="long" usage="DATE" formatindex="26">
+ <FormatElement msgid="DateFormatskey15" default="false" type="long" usage="DATE" formatindex="30">
<FormatCode>[NatNum1]"སྤྱི་ལོ" YYYY "ཟླ་" M "ཚེས་" DD</FormatCode>
</FormatElement>
<FormatElement msgid="DateFormatskey18" default="false" type="short" usage="DATE" formatindex="31">
@@ -114,117 +178,53 @@
<FormatCode>YYYY-MM-DD</FormatCode>
<DefaultName>ISO 8601</DefaultName>
</FormatElement>
+ <FormatElement msgid="DateFormatskey3" default="false" type="medium" usage="DATE" formatindex="34">
+ <FormatCode>[NatNum1]YY-MM</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="DateFormatskey4" default="false" type="medium" usage="DATE" formatindex="35">
+ <FormatCode>[NatNum1]MMM-DD</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="DateFormatskey5" default="false" type="medium" usage="DATE" formatindex="36">
+ <FormatCode>MMMM</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="DateFormatskey6" default="false" type="medium" usage="DATE" formatindex="37">
+ <FormatCode>[NatNum1]QQ YY</FormatCode>
+ </FormatElement>
<FormatElement msgid="DateFormatskey21" default="false" type="medium" usage="DATE" formatindex="38">
<FormatCode>[NatNum1]"སྤྱི་ལོ" YYYY "ཟླ་" M "ཚེས་" DD</FormatCode>
</FormatElement>
<!-- Time format was originally "ཆུ་ཚོད་" HH "སྐར་མ་" MM "སྐར་ཆ་་" SS -->
<!-- Replaced with HH:MM:SS until more information is available -->
- <FormatElement msgid="TimeFormatskey1" default="false" type="short" usage="TIME" formatindex="39">
+ <FormatElement msgid="TimeFormatskey1" default="false" type="short" usage="TIME" formatindex="39">
<FormatCode>HH:MM</FormatCode>
</FormatElement>
- <FormatElement msgid="TimeFormatskey2" default="false" type="medium" usage="TIME" formatindex="40">
+ <FormatElement msgid="TimeFormatskey2" default="false" type="medium" usage="TIME" formatindex="40">
<FormatCode>HH:MM:SS</FormatCode>
</FormatElement>
- <FormatElement msgid="TimeFormatskey3" default="true" type="short" usage="TIME" formatindex="41">
+ <FormatElement msgid="TimeFormatskey3" default="true" type="short" usage="TIME" formatindex="41">
<FormatCode>[NatNum1]HH:MM AM/PM</FormatCode>
</FormatElement>
- <FormatElement msgid="TimeFormatskey4" default="true" type="medium" usage="TIME" formatindex="42">
+ <FormatElement msgid="TimeFormatskey4" default="true" type="medium" usage="TIME" formatindex="42">
<FormatCode>[NatNum1]HH:MM:SS AM/PM</FormatCode>
</FormatElement>
- <FormatElement msgid="TimeFormatskey5" default="false" type="medium" usage="TIME" formatindex="43">
+ <FormatElement msgid="TimeFormatskey5" default="false" type="medium" usage="TIME" formatindex="43">
<FormatCode>[HH]:MM:SS</FormatCode>
</FormatElement>
- <FormatElement msgid="TimeFormatskey6" default="false" type="short" usage="TIME" formatindex="44">
+ <FormatElement msgid="TimeFormatskey6" default="false" type="short" usage="TIME" formatindex="44">
<FormatCode>[NatNum1]HH:MM:SS.00</FormatCode>
</FormatElement>
- <FormatElement msgid="TimeFormatskey7" default="false" type="medium" usage="TIME" formatindex="45">
+ <FormatElement msgid="TimeFormatskey7" default="false" type="medium" usage="TIME" formatindex="45">
<FormatCode>[HH]:MM:SS.00</FormatCode>
</FormatElement>
- <FormatElement msgid="DateTimeFormatskey1" default="false" type="medium" usage="DATE_TIME" formatindex="46">
+ <FormatElement msgid="DateTimeFormatskey1" default="false" type="medium" usage="DATE_TIME" formatindex="46">
<FormatCode>[NatNum1]"སྤྱི་ལོ" YY "ཟླ་" M "ཚེས་" DD HH:MM AM/PM</FormatCode>
</FormatElement>
<FormatElement msgid="DateTimeFormatskey2" default="false" type="medium" usage="DATE_TIME" formatindex="47">
<FormatCode>[NatNum1]DD-MM-YYYY HH:MM:SS</FormatCode>
</FormatElement>
- <FormatElement msgid="DateTimeFormatskey3" default="true" type="medium" usage="DATE_TIME" formatindex="50">
+ <FormatElement msgid="DateTimeFormatskey3" default="true" type="medium" usage="DATE_TIME" formatindex="50">
<FormatCode>[NatNum1]"སྤྱི་ལོ" YYYY "ཟླ་" M "ཚེས་" DD HH:MM AM/PM</FormatCode>
</FormatElement>
- <FormatElement msgid="FixedFormatskey1" default="true" type="medium" usage="FIXED_NUMBER" formatindex="0">
- <FormatCode>General</FormatCode>
- </FormatElement>
- <FormatElement msgid="FixedFormatskey2" default="true" type="short" usage="FIXED_NUMBER" formatindex="1">
- <FormatCode>[NatNum1]0</FormatCode>
- </FormatElement>
- <FormatElement msgid="FixedFormatskey3" default="false" type="medium" usage="FIXED_NUMBER" formatindex="2">
- <FormatCode>[NatNum1]0.00</FormatCode>
- </FormatElement>
- <FormatElement msgid="FixedFormatskey4" default="false" type="short" usage="FIXED_NUMBER" formatindex="3">
- <FormatCode>[NatNum1]#,##0</FormatCode>
- </FormatElement>
- <FormatElement msgid="FixedFormatskey5" default="false" type="medium" usage="FIXED_NUMBER" formatindex="4">
- <FormatCode>[NatNum1]#,##0.00</FormatCode>
- </FormatElement>
- <FormatElement msgid="FixedFormatskey6" default="false" type="medium" usage="FIXED_NUMBER" formatindex="5">
- <FormatCode>[NatNum1]#,###.00</FormatCode>
- </FormatElement>
- <FormatElement msgid="FixedFormatskey7" default="false" type="short" usage="FIXED_NUMBER" formatindex="69">
- <FormatCode>0</FormatCode>
- </FormatElement>
- <FormatElement msgid="FixedFormatskey8" default="false" type="medium" usage="FIXED_NUMBER" formatindex="70">
- <FormatCode>0.00</FormatCode>
- </FormatElement>
- <FormatElement msgid="FixedFormatskey9" default="false" type="short" usage="FIXED_NUMBER" formatindex="71">
- <FormatCode>#,##0</FormatCode>
- </FormatElement>
- <FormatElement msgid="FixedFormatskey10" default="false" type="medium" usage="FIXED_NUMBER" formatindex="72">
- <FormatCode>#,##0.00</FormatCode>
- </FormatElement>
- <FormatElement msgid="FixedFormatskey11" default="false" type="medium" usage="FIXED_NUMBER" formatindex="73">
- <FormatCode>#,###.00</FormatCode>
- </FormatElement>
- <FormatElement msgid="CurrencyFormatskey1" default="true" type="short" usage="CURRENCY" formatindex="12">
- <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>
- </FormatElement>
- <FormatElement msgid="CurrencyFormatskey3" default="false" type="medium" usage="CURRENCY" formatindex="14">
- <FormatCode>[CURRENCY]#,##0;[RED]-[CURRENCY]#,##0</FormatCode>
- </FormatElement>
- <FormatElement msgid="CurrencyFormatskey4" default="true" type="medium" usage="CURRENCY" formatindex="15">
- <FormatCode>[CURRENCY]#,##0.00;[RED]-[CURRENCY]#,##0.00</FormatCode>
- </FormatElement>
- <FormatElement msgid="CurrencyFormatskey5" default="false" type="medium" usage="CURRENCY" formatindex="16">
- <FormatCode>#,##0.00 CCC</FormatCode>
- </FormatElement>
- <FormatElement msgid="CurrencyFormatskey6" default="false" type="medium" usage="CURRENCY" formatindex="17">
- <FormatCode>[CURRENCY]#,##0.--;[RED]-[CURRENCY]#,##0.--</FormatCode>
- </FormatElement>
- <FormatElement msgid="PercentFormatskey1" default="true" type="short" usage="PERCENT_NUMBER" formatindex="8">
- <!-- Percentage formats other than % sign are not possible in 2.0 0 "བརྒྱ་ཆ་་" is replaced by % -->
- <FormatCode>[NatNum1]0%</FormatCode>
- </FormatElement>
- <FormatElement msgid="PercentFormatskey2" default="true" type="long" usage="PERCENT_NUMBER" formatindex="9">
- <FormatCode>[NatNum1]0.00%</FormatCode>
- </FormatElement>
- <FormatElement msgid="PercentFormatskey3" default="false" type="short" usage="PERCENT_NUMBER" formatindex="66">
- <FormatCode>0%</FormatCode>
- </FormatElement>
- <FormatElement msgid="PercentFormatskey4" default="false" type="long" usage="PERCENT_NUMBER" formatindex="67">
- <FormatCode>0.00%</FormatCode>
- </FormatElement>
- <FormatElement msgid="ScientificFormatskey1" default="false" type="medium" usage="SCIENTIFIC_NUMBER" formatindex="6">
- <FormatCode>0.00E+000</FormatCode>
- </FormatElement>
- <FormatElement msgid="ScientificFormatskey2" default="true" type="medium" usage="SCIENTIFIC_NUMBER" formatindex="7">
- <FormatCode>0.00E+00</FormatCode>
- </FormatElement>
- <FormatElement msgid="ScientificFormatskey3" default="false" type="medium" usage="SCIENTIFIC_NUMBER" formatindex="68">
- <FormatCode>[NatNum1]0.00E+00</FormatCode>
- </FormatElement>
- <FormatElement msgid="ScientificFormatskey4" default="false" type="medium" usage="SCIENTIFIC_NUMBER" formatindex="78">
- <FormatCode>##0.00E+00</FormatCode>
- </FormatElement>
</LC_FORMAT>
<LC_COLLATION>
<Collator unoid="charset" default="true"/>
diff --git a/i18npool/source/localedata/data/bs_BA.xml b/i18npool/source/localedata/data/bs_BA.xml
index fd80e6a21d80..67b2100eb0d9 100644
--- a/i18npool/source/localedata/data/bs_BA.xml
+++ b/i18npool/source/localedata/data/bs_BA.xml
@@ -368,16 +368,7 @@
<quarter4Abbreviation>K4</quarter4Abbreviation>
</ReservedWords>
</LC_MISC>
- <LC_NumberingLevel>
- <NumberingLevel Prefix=" " NumType="4" Suffix=")" />
- <NumberingLevel Prefix=" " NumType="4" Suffix="." />
- <NumberingLevel Prefix="(" NumType="4" Suffix=")" />
- <NumberingLevel Prefix=" " NumType="2" Suffix="." />
- <NumberingLevel Prefix=" " NumType="0" Suffix=")" />
- <NumberingLevel Prefix=" " NumType="1" Suffix=")" />
- <NumberingLevel Prefix="(" NumType="1" Suffix=")" />
- <NumberingLevel Prefix=" " NumType="3" Suffix="." />
- </LC_NumberingLevel>
+ <LC_NumberingLevel ref="en_US"/>
<LC_OutLineNumberingLevel>
<OutlineStyle>
<OutLineNumberingLevel Prefix=" " NumType="4" Suffix="." BulletChar="0020" BulletFontName="" ParentNumbering="0" LeftMargin="0" SymbolTextDistance="50" FirstLineOffset="0" />
diff --git a/i18npool/source/localedata/data/ca_ES.xml b/i18npool/source/localedata/data/ca_ES.xml
index 41ba34851c30..ea817eb4c056 100644
--- a/i18npool/source/localedata/data/ca_ES.xml
+++ b/i18npool/source/localedata/data/ca_ES.xml
@@ -71,6 +71,15 @@
<FormatElement msgid="FixedFormatskey6" default="false" type="medium" usage="FIXED_NUMBER" formatindex="5">
<FormatCode>#.###,00</FormatCode>
</FormatElement>
+ <FormatElement msgid="FixedFormatskey9" default="false" type="medium" usage="FIXED_NUMBER" formatindex="101">
+ <FormatCode>[NatNum12 cardinal]0</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="FixedFormatskey10" default="false" type="medium" usage="FIXED_NUMBER" formatindex="102">
+ <FormatCode>[NatNum12 capitalize cardinal]0</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="FixedFormatskey12" default="false" type="medium" usage="FIXED_NUMBER" formatindex="104">
+ <FormatCode>[NatNum12 upper cardinal]0</FormatCode>
+ </FormatElement>
<FormatElement msgid="ScientificFormatskey1" default="false" type="medium" usage="SCIENTIFIC_NUMBER" formatindex="6">
<FormatCode>0,00E+000</FormatCode>
</FormatElement>
@@ -104,6 +113,18 @@
<FormatElement msgid="CurrencyFormatskey6" default="false" type="medium" usage="CURRENCY" formatindex="17">
<FormatCode>#.##0 [CURRENCY];[RED]-#.##0 [CURRENCY]</FormatCode>
</FormatElement>
+ <FormatElement msgid="CurrencyFormatskey9" default="false" type="medium" usage="CURRENCY" formatindex="105">
+ <FormatCode>[NatNum12 CURRENCY]0</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="CurrencyFormatskey10" default="false" type="medium" usage="CURRENCY" formatindex="106">
+ <FormatCode>[NatNum12 CURRENCY]0,00</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="CurrencyFormatskey11" default="false" type="medium" usage="CURRENCY" formatindex="107">
+ <FormatCode>[NatNum12 upper CURRENCY]0</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="CurrencyFormatskey12" default="false" type="medium" usage="CURRENCY" formatindex="108">
+ <FormatCode>[NatNum12 upper CURRENCY]0,00</FormatCode>
+ </FormatElement>
<FormatElement msgid="DateFormatskey1" default="true" type="short" usage="DATE" formatindex="18">
<FormatCode>D/MM/YY</FormatCode>
</FormatElement>
@@ -206,7 +227,13 @@
</CollationOptions>
</LC_COLLATION>
<LC_SEARCH ref="en_US"/>
- <LC_INDEX ref="en_US"/>
+ <LC_INDEX>
+ <IndexKey phonetic="false" default="true" unoid="alphanumeric">A-Z</IndexKey>
+ <UnicodeScript>0</UnicodeScript>
+ <UnicodeScript>1</UnicodeScript>
+ <FollowPageWord> i seg.</FollowPageWord>
+ <FollowPageWord> i seg.</FollowPageWord>
+ </LC_INDEX>
<LC_CALENDAR>
<Calendar unoid="gregorian" default="true">
<DaysOfWeek>
diff --git a/i18npool/source/localedata/data/cs_CZ.xml b/i18npool/source/localedata/data/cs_CZ.xml
index 52d98cb4f10e..d346355bfa02 100644
--- a/i18npool/source/localedata/data/cs_CZ.xml
+++ b/i18npool/source/localedata/data/cs_CZ.xml
@@ -57,6 +57,18 @@
<DateAcceptancePattern>D. M. Y</DateAcceptancePattern>
<DateAcceptancePattern>D. M.</DateAcceptancePattern>
<DateAcceptancePattern>D. M. Y</DateAcceptancePattern>
+ <FormatElement msgid="CurrencyFormatskey9" default="false" type="medium" usage="CURRENCY" formatindex="105">
+ <FormatCode>[NatNum12 CURRENCY]0</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="CurrencyFormatskey10" default="false" type="medium" usage="CURRENCY" formatindex="106">
+ <FormatCode>[NatNum12 CURRENCY]0,00</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="CurrencyFormatskey11" default="false" type="medium" usage="CURRENCY" formatindex="107">
+ <FormatCode>[NatNum12 upper CURRENCY]0</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="CurrencyFormatskey12" default="false" type="medium" usage="CURRENCY" formatindex="108">
+ <FormatCode>[NatNum12 upper CURRENCY]0,00</FormatCode>
+ </FormatElement>
<FormatElement msgid="DateFormatskey0" default="true" type="short" usage="DATE" formatindex="18">
<FormatCode>D. M. YYYY</FormatCode>
</FormatElement>
@@ -193,6 +205,15 @@
<FormatElement msgid="PercentFormatskey2" default="true" type="long" usage="PERCENT_NUMBER" formatindex="9">
<FormatCode>0,00" "%</FormatCode>
</FormatElement>
+ <FormatElement msgid="FixedFormatskey9" default="false" type="medium" usage="FIXED_NUMBER" formatindex="101">
+ <FormatCode>[NatNum12 cardinal]0</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="FixedFormatskey10" default="false" type="medium" usage="FIXED_NUMBER" formatindex="102">
+ <FormatCode>[NatNum12 capitalize cardinal]0</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="FixedFormatskey12" default="false" type="medium" usage="FIXED_NUMBER" formatindex="104">
+ <FormatCode>[NatNum12 upper cardinal]0</FormatCode>
+ </FormatElement>
<FormatElement msgid="ScientificFormatskey1" default="false" type="medium" usage="SCIENTIFIC_NUMBER" formatindex="6">
<FormatCode>0,00E+000</FormatCode>
</FormatElement>
diff --git a/i18npool/source/localedata/data/da_DK.xml b/i18npool/source/localedata/data/da_DK.xml
index 6b659a0381e9..4202e86ec847 100644
--- a/i18npool/source/localedata/data/da_DK.xml
+++ b/i18npool/source/localedata/data/da_DK.xml
@@ -71,6 +71,15 @@
<FormatElement msgid="FixedFormatskey6" default="false" type="medium" usage="FIXED_NUMBER" formatindex="5">
<FormatCode>#.###,00</FormatCode>
</FormatElement>
+ <FormatElement msgid="FixedFormatskey9" default="false" type="medium" usage="FIXED_NUMBER" formatindex="101">
+ <FormatCode>[NatNum12 cardinal]0</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="FixedFormatskey10" default="false" type="medium" usage="FIXED_NUMBER" formatindex="102">
+ <FormatCode>[NatNum12 capitalize cardinal]0</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="FixedFormatskey12" default="false" type="medium" usage="FIXED_NUMBER" formatindex="104">
+ <FormatCode>[NatNum12 upper cardinal]0</FormatCode>
+ </FormatElement>
<FormatElement msgid="ScientificFormatskey1" default="false" type="medium" usage="SCIENTIFIC_NUMBER" formatindex="6">
<FormatCode>0,00E+000</FormatCode>
</FormatElement>
@@ -104,6 +113,18 @@
<FormatElement msgid="CurrencyFormatskey6" default="false" type="medium" usage="CURRENCY" formatindex="17">
<FormatCode>[$kr.-406] #.##0,--;[RED][$kr.-406] -#.##0,--</FormatCode>
</FormatElement>
+ <FormatElement msgid="CurrencyFormatskey9" default="false" type="medium" usage="CURRENCY" formatindex="105">
+ <FormatCode>[NatNum12 CURRENCY]0</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="CurrencyFormatskey10" default="false" type="medium" usage="CURRENCY" formatindex="106">
+ <FormatCode>[NatNum12 CURRENCY]0,00</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="CurrencyFormatskey11" default="false" type="medium" usage="CURRENCY" formatindex="107">
+ <FormatCode>[NatNum12 upper CURRENCY]0</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="CurrencyFormatskey12" default="false" type="medium" usage="CURRENCY" formatindex="108">
+ <FormatCode>[NatNum12 upper CURRENCY]0,00</FormatCode>
+ </FormatElement>
<FormatElement msgid="DateFormatskey1" default="true" type="short" usage="DATE" formatindex="18">
<FormatCode>DD-MM-YY</FormatCode>
</FormatElement>
diff --git a/i18npool/source/localedata/data/de_AT.xml b/i18npool/source/localedata/data/de_AT.xml
index ebb90a77781a..b37af238c47c 100644
--- a/i18npool/source/localedata/data/de_AT.xml
+++ b/i18npool/source/localedata/data/de_AT.xml
@@ -71,6 +71,15 @@
<FormatElement msgid="FixedFormatskey6" default="false" type="medium" usage="FIXED_NUMBER" formatindex="5">
<FormatCode>#.###,00</FormatCode>
</FormatElement>
+ <FormatElement msgid="FixedFormatskey9" default="false" type="medium" usage="FIXED_NUMBER" formatindex="101">
+ <FormatCode>[NatNum12 cardinal]0</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="FixedFormatskey10" default="false" type="medium" usage="FIXED_NUMBER" formatindex="102">
+ <FormatCode>[NatNum12 capitalize cardinal]0</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="FixedFormatskey12" default="false" type="medium" usage="FIXED_NUMBER" formatindex="104">
+ <FormatCode>[NatNum12 upper cardinal]0</FormatCode>
+ </FormatElement>
<FormatElement msgid="ScientificFormatskey1" default="false" type="medium" usage="SCIENTIFIC_NUMBER" formatindex="6">
<FormatCode>0,00E+000</FormatCode>
</FormatElement>
@@ -104,6 +113,18 @@
<FormatElement msgid="CurrencyFormatskey6" default="false" type="medium" usage="CURRENCY" formatindex="17">
<FormatCode>[$öS-C07] #.##0,--;[ROT]-[$öS-C07] #.##0,--</FormatCode>
</FormatElement>
+ <FormatElement msgid="CurrencyFormatskey9" default="false" type="medium" usage="CURRENCY" formatindex="105">
+ <FormatCode>[NatNum12 CURRENCY]0</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="CurrencyFormatskey10" default="false" type="medium" usage="CURRENCY" formatindex="106">
+ <FormatCode>[NatNum12 CURRENCY]0,00</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="CurrencyFormatskey11" default="false" type="medium" usage="CURRENCY" formatindex="107">
+ <FormatCode>[NatNum12 upper CURRENCY]0</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="CurrencyFormatskey12" default="false" type="medium" usage="CURRENCY" formatindex="108">
+ <FormatCode>[NatNum12 upper CURRENCY]0,00</FormatCode>
+ </FormatElement>
<FormatElement msgid="DateFormatskey1" default="true" type="short" usage="DATE" formatindex="18">
<FormatCode>TT.MM.JJJJ</FormatCode>
</FormatElement>
diff --git a/i18npool/source/localedata/data/de_CH.xml b/i18npool/source/localedata/data/de_CH.xml
index 7be0d6c3a1c1..e93f882b7c02 100644
--- a/i18npool/source/localedata/data/de_CH.xml
+++ b/i18npool/source/localedata/data/de_CH.xml
@@ -71,6 +71,15 @@
<FormatElement msgid="FixedFormatskey6" default="false" type="medium" usage="FIXED_NUMBER" formatindex="5">
<FormatCode>#'###.00</FormatCode>
</FormatElement>
+ <FormatElement msgid="FixedFormatskey9" default="false" type="medium" usage="FIXED_NUMBER" formatindex="101">
+ <FormatCode>[NatNum12 cardinal]0</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="FixedFormatskey10" default="false" type="medium" usage="FIXED_NUMBER" formatindex="102">
+ <FormatCode>[NatNum12 capitalize cardinal]0</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="FixedFormatskey12" default="false" type="medium" usage="FIXED_NUMBER" formatindex="104">
+ <FormatCode>[NatNum12 upper cardinal]0</FormatCode>
+ </FormatElement>
<FormatElement msgid="ScientificFormatskey1" default="false" type="medium" usage="SCIENTIFIC_NUMBER" formatindex="6">
<FormatCode>0.00E+000</FormatCode>
</FormatElement>
@@ -104,6 +113,18 @@
<FormatElement msgid="CurrencyFormatskey6" default="false" type="medium" usage="CURRENCY" formatindex="17">
<FormatCode>[$CHF-807] #'##0.--;[RED][$CHF-807] -#'##0.--</FormatCode>
</FormatElement>
+ <FormatElement msgid="CurrencyFormatskey9" default="false" type="medium" usage="CURRENCY" formatindex="105">
+ <FormatCode>[NatNum12 CURRENCY]0</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="CurrencyFormatskey10" default="false" type="medium" usage="CURRENCY" formatindex="106">
+ <FormatCode>[NatNum12 CURRENCY]0.00</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="CurrencyFormatskey11" default="false" type="medium" usage="CURRENCY" formatindex="107">
+ <FormatCode>[NatNum12 upper CURRENCY]0</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="CurrencyFormatskey12" default="false" type="medium" usage="CURRENCY" formatindex="108">
+ <FormatCode>[NatNum12 upper CURRENCY]0.00</FormatCode>
+ </FormatElement>
<FormatElement msgid="DateFormatskey1" default="true" type="short" usage="DATE" formatindex="18">
<FormatCode>T.MM.JJ</FormatCode>
</FormatElement>
diff --git a/i18npool/source/localedata/data/de_DE.xml b/i18npool/source/localedata/data/de_DE.xml
index 95f07a1e14ed..808bc5092ff8 100644
--- a/i18npool/source/localedata/data/de_DE.xml
+++ b/i18npool/source/localedata/data/de_DE.xml
@@ -71,6 +71,15 @@
<FormatElement msgid="FixedFormatskey6" default="false" type="medium" usage="FIXED_NUMBER" formatindex="5">
<FormatCode>#.###,00</FormatCode>
</FormatElement>
+ <FormatElement msgid="FixedFormatskey9" default="false" type="medium" usage="FIXED_NUMBER" formatindex="101">
+ <FormatCode>[NatNum12 cardinal]0</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="FixedFormatskey10" default="false" type="medium" usage="FIXED_NUMBER" formatindex="102">
+ <FormatCode>[NatNum12 capitalize cardinal]0</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="FixedFormatskey12" default="false" type="medium" usage="FIXED_NUMBER" formatindex="104">
+ <FormatCode>[NatNum12 upper cardinal]0</FormatCode>
+ </FormatElement>
<FormatElement msgid="ScientificFormatskey1" default="false" type="medium" usage="SCIENTIFIC_NUMBER" formatindex="6">
<FormatCode>0,00E+000</FormatCode>
</FormatElement>
@@ -104,6 +113,18 @@
<FormatElement msgid="CurrencyFormatskey6" default="false" type="medium" usage="CURRENCY" formatindex="17">
<FormatCode>#.##0,-- [$DM-407];[ROT]-#.##0,-- [$DM-407]</FormatCode>
</FormatElement>
+ <FormatElement msgid="CurrencyFormatskey9" default="false" type="medium" usage="CURRENCY" formatindex="105">
+ <FormatCode>[NatNum12 CURRENCY]0</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="CurrencyFormatskey10" default="false" type="medium" usage="CURRENCY" formatindex="106">
+ <FormatCode>[NatNum12 CURRENCY]0,00</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="CurrencyFormatskey11" default="false" type="medium" usage="CURRENCY" formatindex="107">
+ <FormatCode>[NatNum12 upper CURRENCY]0</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="CurrencyFormatskey12" default="false" type="medium" usage="CURRENCY" formatindex="108">
+ <FormatCode>[NatNum12 upper CURRENCY]0,00</FormatCode>
+ </FormatElement>
<FormatElement msgid="DateFormatskey1" default="true" type="short" usage="DATE" formatindex="18">
<FormatCode>TT.MM.JJ</FormatCode>
</FormatElement>
diff --git a/i18npool/source/localedata/data/de_LI.xml b/i18npool/source/localedata/data/de_LI.xml
index 7274462cea1a..b7a98e8e1e91 100644
--- a/i18npool/source/localedata/data/de_LI.xml
+++ b/i18npool/source/localedata/data/de_LI.xml
@@ -71,6 +71,15 @@
<FormatElement msgid="FixedFormatskey6" default="false" type="medium" usage="FIXED_NUMBER" formatindex="5">
<FormatCode>#'###.00</FormatCode>
</FormatElement>
+ <FormatElement msgid="FixedFormatskey9" default="false" type="medium" usage="FIXED_NUMBER" formatindex="101">
+ <FormatCode>[NatNum12 cardinal]0</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="FixedFormatskey10" default="false" type="medium" usage="FIXED_NUMBER" formatindex="102">
+ <FormatCode>[NatNum12 capitalize cardinal]0</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="FixedFormatskey12" default="false" type="medium" usage="FIXED_NUMBER" formatindex="104">
+ <FormatCode>[NatNum12 upper cardinal]0</FormatCode>
+ </FormatElement>
<FormatElement msgid="ScientificFormatskey1" default="false" type="medium" usage="SCIENTIFIC_NUMBER" formatindex="6">
<FormatCode>0.00E+000</FormatCode>
</FormatElement>
@@ -104,6 +113,18 @@
<FormatElement msgid="CurrencyFormatskey6" default="false" type="medium" usage="CURRENCY" formatindex="17">
<FormatCode>[$CHF-1407] #'##0.--;[ROT][$CHF-1407]-#'##0.--</FormatCode>
</FormatElement>
+ <FormatElement msgid="CurrencyFormatskey9" default="false" type="medium" usage="CURRENCY" formatindex="105">
+ <FormatCode>[NatNum12 CURRENCY]0</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="CurrencyFormatskey10" default="false" type="medium" usage="CURRENCY" formatindex="106">
+ <FormatCode>[NatNum12 CURRENCY]0.00</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="CurrencyFormatskey11" default="false" type="medium" usage="CURRENCY" formatindex="107">
+ <FormatCode>[NatNum12 upper CURRENCY]0</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="CurrencyFormatskey12" default="false" type="medium" usage="CURRENCY" formatindex="108">
+ <FormatCode>[NatNum12 upper CURRENCY]0.00</FormatCode>
+ </FormatElement>
<FormatElement msgid="DateFormatskey1" default="true" type="short" usage="DATE" formatindex="18">
<FormatCode>TT.MM.JJ</FormatCode>
</FormatElement>
diff --git a/i18npool/source/localedata/data/de_LU.xml b/i18npool/source/localedata/data/de_LU.xml
index 00e5a7980e3d..d0efe8d59203 100644
--- a/i18npool/source/localedata/data/de_LU.xml
+++ b/i18npool/source/localedata/data/de_LU.xml
@@ -71,6 +71,15 @@
<FormatElement msgid="FixedFormatskey6" default="false" type="medium" usage="FIXED_NUMBER" formatindex="5">
<FormatCode>#.###,00</FormatCode>
</FormatElement>
+ <FormatElement msgid="FixedFormatskey9" default="false" type="medium" usage="FIXED_NUMBER" formatindex="101">
+ <FormatCode>[NatNum12 cardinal]0</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="FixedFormatskey10" default="false" type="medium" usage="FIXED_NUMBER" formatindex="102">
+ <FormatCode>[NatNum12 capitalize cardinal]0</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="FixedFormatskey12" default="false" type="medium" usage="FIXED_NUMBER" formatindex="104">
+ <FormatCode>[NatNum12 upper cardinal]0</FormatCode>
+ </FormatElement>
<FormatElement msgid="ScientificFormatskey1" default="false" type="medium" usage="SCIENTIFIC_NUMBER" formatindex="6">
<FormatCode>0,00E+000</FormatCode>
</FormatElement>
@@ -104,6 +113,18 @@
<FormatElement msgid="CurrencyFormatskey6" default="false" type="medium" usage="CURRENCY" formatindex="17">
<FormatCode>#.##0,-- [$F-1007];[ROT]-#.##0,-- [$F-1007]</FormatCode>
</FormatElement>
+ <FormatElement msgid="CurrencyFormatskey9" default="false" type="medium" usage="CURRENCY" formatindex="105">
+ <FormatCode>[NatNum12 CURRENCY]0</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="CurrencyFormatskey10" default="false" type="medium" usage="CURRENCY" formatindex="106">
+ <FormatCode>[NatNum12 CURRENCY]0,00</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="CurrencyFormatskey11" default="false" type="medium" usage="CURRENCY" formatindex="107">
+ <FormatCode>[NatNum12 upper CURRENCY]0</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="CurrencyFormatskey12" default="false" type="medium" usage="CURRENCY" formatindex="108">
+ <FormatCode>[NatNum12 upper CURRENCY]0,00</FormatCode>
+ </FormatElement>
<FormatElement msgid="DateFormatskey1" default="true" type="short" usage="DATE" formatindex="18">
<FormatCode>TT.MM.JJ</FormatCode>
</FormatElement>
diff --git a/i18npool/source/localedata/data/dsb_DE.xml b/i18npool/source/localedata/data/dsb_DE.xml
index bd96a17d8ab5..83fb021505ed 100644
--- a/i18npool/source/localedata/data/dsb_DE.xml
+++ b/i18npool/source/localedata/data/dsb_DE.xml
@@ -31,7 +31,7 @@
<LC_CTYPE unoid="generic">
<Separators>
<DateSeparator>.</DateSeparator>
- <ThousandSeparator>&#160;</ThousandSeparator><!-- a non-breaking space (U+00A0) as a thousand separator; alternatively, there could be no separator at all -->
+ <ThousandSeparator>.</ThousandSeparator>
<DecimalSeparator>,</DecimalSeparator>
<TimeSeparator>:</TimeSeparator>
<Time100SecSeparator>,</Time100SecSeparator>
@@ -63,13 +63,13 @@
<FormatCode>0,00</FormatCode>
</FormatElement>
<FormatElement msgid="FixedFormatskey4" default="false" type="short" usage="FIXED_NUMBER" formatindex="3">
- <FormatCode># ##0</FormatCode><!-- a non-breaking space (U+00A0) as a thousand separator -->
+ <FormatCode>#.##0</FormatCode>
</FormatElement>
<FormatElement msgid="FixedFormatskey5" default="false" type="medium" usage="FIXED_NUMBER" formatindex="4">
- <FormatCode># ##0,00</FormatCode><!-- a non-breaking space (U+00A0) as a thousand separator -->
+ <FormatCode>#.##0,00</FormatCode>
</FormatElement>
<FormatElement msgid="FixedFormatskey6" default="false" type="medium" usage="FIXED_NUMBER" formatindex="5">
- <FormatCode># ###,00</FormatCode><!-- a non-breaking space (U+00A0) as a thousand separator -->
+ <FormatCode>#.###,00</FormatCode>
</FormatElement>
<FormatElement msgid="ScientificFormatskey1" default="false" type="medium" usage="SCIENTIFIC_NUMBER" formatindex="6">
<FormatCode>0,00E+000</FormatCode>
@@ -87,22 +87,22 @@
<FormatCode>0,00" "%</FormatCode>
</FormatElement>
<FormatElement msgid="CurrencyFormatskey1" default="true" type="short" usage="CURRENCY" formatindex="12">
- <FormatCode># ##0 [CURRENCY];-# ##0 [CURRENCY]</FormatCode><!-- a non-breaking space (U+00A0) as a thousand separator -->
+ <FormatCode>#.##0 [CURRENCY];-#.##0 [CURRENCY]</FormatCode>
</FormatElement>
<FormatElement msgid="CurrencyFormatskey2" default="false" type="medium" usage="CURRENCY" formatindex="13">
- <FormatCode># ##0,00 [CURRENCY];-# ##0,00 [CURRENCY]</FormatCode><!-- a non-breaking space (U+00A0) as a thousand separator -->
+ <FormatCode>#.##0,00 [CURRENCY];-#.##0,00 [CURRENCY]</FormatCode>
</FormatElement>
<FormatElement msgid="CurrencyFormatskey3" default="false" type="medium" usage="CURRENCY" formatindex="14">
- <FormatCode># ##0 [CURRENCY];[RED]-# ##0 [CURRENCY]</FormatCode><!-- a non-breaking space (U+00A0) as a thousand separator -->
+ <FormatCode>#.##0 [CURRENCY];[RED]-#.##0 [CURRENCY]</FormatCode>
</FormatElement>
<FormatElement msgid="CurrencyFormatskey4" default="true" type="medium" usage="CURRENCY" formatindex="15">
- <FormatCode># ##0,00 [CURRENCY];[RED]-# ##0,00 [CURRENCY]</FormatCode><!-- a non-breaking space (U+00A0) as a thousand separator -->
+ <FormatCode>#.##0,00 [CURRENCY];[RED]-#.##0,00 [CURRENCY]</FormatCode>
</FormatElement>
<FormatElement msgid="CurrencyFormatskey5" default="false" type="medium" usage="CURRENCY" formatindex="16">
- <FormatCode>CCC# ##0,00</FormatCode><!-- a non-breaking space (U+00A0) as a thousand separator -->
+ <FormatCode>#.##0,00 CCC</FormatCode>
</FormatElement>
<FormatElement msgid="CurrencyFormatskey6" default="false" type="medium" usage="CURRENCY" formatindex="17">
- <FormatCode># ##0,-- [CURRENCY];[RED]-# ##0,-- [CURRENCY]</FormatCode><!-- a non-breaking space (U+00A0) as a thousand separator -->
+ <FormatCode>#.##0,-- [CURRENCY];[RED]-#.##0,-- [CURRENCY]</FormatCode>
</FormatElement>
<FormatElement msgid="DateFormatskey11" default="true" type="short" usage="DATE" formatindex="18">
<FormatCode>D.MM.YY</FormatCode>
@@ -178,7 +178,7 @@
<FormatCode>H:MM AM/PM</FormatCode>
</FormatElement>
<FormatElement msgid="TimeFormatskey4" default="false" type="medium" usage="TIME" formatindex="42">
- <FormatCode>H:MM:SS AM/PM</FormatCode><!-- with commonly used 24-hour time, the AM/PM indicator is not needed -->
+ <FormatCode>H:MM:SS AM/PM</FormatCode>
</FormatElement>
<FormatElement msgid="TimeFormatskey5" default="false" type="medium" usage="TIME" formatindex="43">
<FormatCode>[H]:MM:SS</FormatCode>
diff --git a/i18npool/source/localedata/data/dv_MV.xml b/i18npool/source/localedata/data/dv_MV.xml
new file mode 100644
index 000000000000..f15b7ac0d1e9
--- /dev/null
+++ b/i18npool/source/localedata/data/dv_MV.xml
@@ -0,0 +1,533 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE Locale SYSTEM 'locale.dtd'>
+<!--
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ -->
+<Locale versionDTD="2.0.3" allowUpdateFromCLDR="yes" version="1.2">
+ <LC_INFO>
+ <Language>
+ <LangID>dv</LangID>
+ <DefaultName>Dhivehi</DefaultName>
+ </Language>
+ <Country>
+ <CountryID>MV</CountryID>
+ <DefaultName>Maldives</DefaultName>
+ </Country>
+ </LC_INFO>
+ <LC_CTYPE>
+ <Separators>
+ <DateSeparator>/</DateSeparator>
+ <ThousandSeparator>٬</ThousandSeparator>
+ <DecimalSeparator>.</DecimalSeparator>
+ <TimeSeparator>:</TimeSeparator>
+ <Time100SecSeparator>.</Time100SecSeparator>
+ <ListSeparator>;</ListSeparator>
+ <LongDateDayOfWeekSeparator> ،</LongDateDayOfWeekSeparator>
+ <LongDateDaySeparator> ،</LongDateDaySeparator>
+ <LongDateMonthSeparator> </LongDateMonthSeparator>
+ <LongDateYearSeparator> </LongDateYearSeparator>
+ </Separators>
+ <Markers>
+ <QuotationStart>’</QuotationStart>
+ <QuotationEnd>‘</QuotationEnd>
+ <DoubleQuotationStart>”</DoubleQuotationStart>
+ <DoubleQuotationEnd>“</DoubleQuotationEnd>
+ </Markers>
+ <TimeAM>މކ</TimeAM>
+ <TimePM>މފ</TimePM>
+ <MeasurementSystem>US</MeasurementSystem>
+ </LC_CTYPE>
+ <LC_FORMAT replaceFrom="[CURRENCY]" replaceTo="[$ރ.‏-465]">
+ <DateAcceptancePattern>D/M</DateAcceptancePattern>
+ <FormatElement msgid="FixedFormatskey1" default="true" type="medium" usage="FIXED_NUMBER" formatindex="0">
+ <FormatCode>General</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="FixedFormatskey2" default="true" type="short" usage="FIXED_NUMBER" formatindex="1">
+ <FormatCode>0</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="FixedFormatskey3" default="false" type="medium" usage="FIXED_NUMBER" formatindex="2">
+ <FormatCode>0.00</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="FixedFormatskey4" default="false" type="short" usage="FIXED_NUMBER" formatindex="3">
+ <FormatCode>#٬##0</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="FixedFormatskey5" default="false" type="medium" usage="FIXED_NUMBER" formatindex="4">
+ <FormatCode>#٬##0.00</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="FixedFormatskey6" default="false" type="medium" usage="FIXED_NUMBER" formatindex="5">
+ <FormatCode>#٬###.00</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="FixedFormatskey7" default="false" type="short" usage="FIXED_NUMBER" formatindex="80">
+ <FormatCode>#٬##0_);(#٬##0)</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="FixedFormatskey8" default="false" type="medium" usage="FIXED_NUMBER" formatindex="81">
+ <FormatCode>#٬##0.00_);(#٬##0.00)</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="ScientificFormatskey1" default="false" type="medium" usage="SCIENTIFIC_NUMBER" formatindex="6">
+ <FormatCode>0.00E+000</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="ScientificFormatskey2" default="true" type="medium" usage="SCIENTIFIC_NUMBER" formatindex="7">
+ <FormatCode>0.00E+00</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="ScientificFormatskey3" default="false" type="medium" usage="SCIENTIFIC_NUMBER" formatindex="78">
+ <FormatCode>##0.00E+00</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="PercentFormatskey1" default="true" type="short" usage="PERCENT_NUMBER" formatindex="8">
+ <FormatCode>0%</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="PercentFormatskey2" default="true" type="long" usage="PERCENT_NUMBER" formatindex="9">
+ <FormatCode>0.00%</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="CurrencyFormatskey1" default="true" type="short" usage="CURRENCY" formatindex="12">
+ <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>
+ </FormatElement>
+ <FormatElement msgid="CurrencyFormatskey3" default="false" type="medium" usage="CURRENCY" formatindex="14">
+ <FormatCode>[CURRENCY]#٬##0;[RED]-[CURRENCY]#٬##0</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="CurrencyFormatskey4" default="true" type="medium" usage="CURRENCY" formatindex="15">
+ <FormatCode>[CURRENCY]#٬##0.00;[RED]-[CURRENCY]#٬##0.00</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="CurrencyFormatskey5" default="false" type="medium" usage="CURRENCY" formatindex="16">
+ <FormatCode>#٬##0.00 CCC</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="CurrencyFormatskey6" default="false" type="medium" usage="CURRENCY" formatindex="17">
+ <FormatCode>[CURRENCY]#٬##0.--;[RED]-[CURRENCY]#٬##0.--</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="CurrencyFormatskey7" default="false" type="short" usage="CURRENCY" formatindex="82">
+ <FormatCode>[CURRENCY]* #٬##0;-[CURRENCY]* #٬##0</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="CurrencyFormatskey8" default="false" type="medium" usage="CURRENCY" formatindex="83">
+ <FormatCode>[CURRENCY]* #٬##0.00;-[CURRENCY]* #٬##0.00</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="DateFormatskey1" default="true" type="short" usage="DATE" formatindex="18">
+ <FormatCode>D/M/YY</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="DateFormatskey9" default="true" type="long" usage="DATE" formatindex="19">
+ <FormatCode>NNNNYYYY ،MMMM D </FormatCode>
+ </FormatElement>
+ <FormatElement msgid="DateFormatskey8" default="true" type="medium" usage="DATE" formatindex="20">
+ <FormatCode>DD/MM/YY</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="DateFormatskey7" default="false" type="medium" usage="DATE" formatindex="21">
+ <FormatCode>DD/MM/YYYY</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="DateFormatskey10" default="false" type="long" usage="DATE" formatindex="22">
+ <FormatCode>YY ،MMM D</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="DateFormatskey11" default="false" type="long" usage="DATE" formatindex="23">
+ <FormatCode>YYYY ،MMM D</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="DateFormatskey16" default="false" type="long" usage="DATE" formatindex="24">
+ <FormatCode>YYYY .MMM D</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="DateFormatskey12" default="false" type="long" usage="DATE" formatindex="25">
+ <FormatCode>YYYY ،MMMM D</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="DateFormatskey17" default="false" type="long" usage="DATE" formatindex="26">
+ <FormatCode>YYYY .MMMM D</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="DateFormatskey13" default="false" type="long" usage="DATE" formatindex="27">
+ <FormatCode>NN, YY ،MMM D</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="DateFormatskey2" default="false" type="medium" usage="DATE" formatindex="28">
+ <FormatCode>NN YY MMM/DD</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="DateFormatskey14" default="false" type="long" usage="DATE" formatindex="29">
+ <FormatCode>NN, YYYY ،MMMM D</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="DateFormatskey15" default="false" type="long" usage="DATE" formatindex="30">
+ <FormatCode>NNNNYYYY ،MMMM D</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="DateFormatskey18" default="false" type="short" usage="DATE" formatindex="31">
+ <FormatCode>MM-DD</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="DateFormatskey19" default="false" type="medium" usage="DATE" formatindex="32">
+ <FormatCode>YY-MM-DD</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="DateFormatskey20" default="false" type="medium" usage="DATE" formatindex="33">
+ <FormatCode>YYYY-MM-DD</FormatCode>
+ <DefaultName>ISO 8601</DefaultName>
+ </FormatElement>
+ <FormatElement msgid="DateFormatskey3" default="false" type="medium" usage="DATE" formatindex="34">
+ <FormatCode>MM/YY</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="DateFormatskey4" default="false" type="medium" usage="DATE" formatindex="35">
+ <FormatCode>MMM DD</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="DateFormatskey5" default="false" type="medium" usage="DATE" formatindex="36">
+ <FormatCode>MMMM</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="DateFormatskey6" default="false" type="medium" usage="DATE" formatindex="37">
+ <FormatCode>QQ YY</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="DateFormatskey21" default="false" type="medium" usage="DATE" formatindex="38">
+ <FormatCode>WW</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="TimeFormatskey1" default="false" type="short" usage="TIME" formatindex="39">
+ <FormatCode>HH:MM</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="TimeFormatskey2" default="false" type="medium" usage="TIME" formatindex="40">
+ <FormatCode>HH:MM:SS</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="TimeFormatskey3" default="true" type="short" usage="TIME" formatindex="41">
+ <FormatCode>HH:MM މކ/މފ</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="TimeFormatskey4" default="true" type="medium" usage="TIME" formatindex="42">
+ <FormatCode>HH:MM:SS މކ/މފ</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="TimeFormatskey5" default="false" type="medium" usage="TIME" formatindex="43">
+ <FormatCode>[HH]:MM:SS</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="TimeFormatskey6" default="false" type="short" usage="TIME" formatindex="44">
+ <FormatCode>MM:SS.00</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="TimeFormatskey7" default="false" type="medium" usage="TIME" formatindex="45">
+ <FormatCode>[HH]:MM:SS.00</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="DateTimeFormatskey1" default="true" type="medium" usage="DATE_TIME" formatindex="46">
+ <FormatCode>MM/DD/YY HH:MM މކ/މފ</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="DateTimeFormatskey2" default="false" type="medium" usage="DATE_TIME" formatindex="47">
+ <FormatCode>MM/DD/YYYY HH:MM:SS</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="DateTimeFormatskey3" default="false" type="medium" usage="DATE_TIME" formatindex="50">
+ <FormatCode>MM/DD/YYYY HH:MM މކ/މފ</FormatCode>
+ </FormatElement>
+ </LC_FORMAT>
+ <LC_FORMAT_1>
+ <FormatElement msgid="DateFormatskey22" default="false" type="medium" usage="DATE" formatindex="66">
+ <FormatCode>[~hijri]NNNNYYYY MMMM D</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="DateFormatskey23" default="false" type="long" usage="DATE" formatindex="67">
+ <FormatCode>[~hijri]NNNND MMMM YYYY</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="DateFormatskey24" default="false" type="long" usage="DATE" formatindex="68">
+ <FormatCode>[~hijri]NN YYYY MMMM D</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="DateFormatskey25" default="false" type="long" usage="DATE" formatindex="69">
+ <FormatCode>[~hijri]NN D MMMM YYYY</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="DateFormatskey26" default="false" type="long" usage="DATE" formatindex="70">
+ <FormatCode>[~hijri]YYYY MMMM D</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="DateFormatskey27" default="false" type="long" usage="DATE" formatindex="71">
+ <FormatCode>[~hijri]D MMMM YYYY</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="DateFormatskey28" default="false" type="medium" usage="DATE" formatindex="72">
+ <FormatCode>[~hijri]MMMM D</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="DateFormatskey29" default="false" type="medium" usage="DATE" formatindex="73">
+ <FormatCode>[~hijri]D MMMM</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="DateFormatskey30" default="false" type="medium" usage="DATE" formatindex="74">
+ <FormatCode>[~hijri]MMMM YYYY</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="DateFormatskey31" default="false" type="medium" usage="DATE" formatindex="75">
+ <FormatCode>[~hijri]MMMM</FormatCode>
+ </FormatElement>
+ </LC_FORMAT_1>
+ <LC_COLLATION>
+ <Collator default="true" unoid="alphanumeric" />
+ <CollationOptions>
+ <TransliterationModules>IGNORE_CASE</TransliterationModules>
+ </CollationOptions>
+ </LC_COLLATION>
+ <LC_SEARCH>
+ <SearchOptions>
+ <TransliterationModules>IGNORE_CASE</TransliterationModules>
+ </SearchOptions>
+ </LC_SEARCH>
+ <LC_INDEX>
+ <IndexKey phonetic="false" default="true" unoid="alphanumeric">A-Z</IndexKey>
+ <UnicodeScript>0</UnicodeScript>
+ <UnicodeScript>1</UnicodeScript>
+ <FollowPageWord> f.</FollowPageWord>
+ <FollowPageWord> ff.</FollowPageWord>
+ </LC_INDEX>
+ <LC_CALENDAR>
+ <Calendar unoid="gregorian" default="true">
+ <DaysOfWeek>
+ <Day>
+ <DayID>sun</DayID>
+ <DefaultAbbrvName>އދތ</DefaultAbbrvName>
+ <DefaultFullName>އާދީއްތަ</DefaultFullName>
+ </Day>
+ <Day>
+ <DayID>mon</DayID>
+ <DefaultAbbrvName>ހމ</DefaultAbbrvName>
+ <DefaultFullName>ހޯމަ</DefaultFullName>
+ </Day>
+ <Day>
+ <DayID>tue</DayID>
+ <DefaultAbbrvName>އނގ</DefaultAbbrvName>
+ <DefaultFullName>އަންގާރަ</DefaultFullName>
+ </Day>
+ <Day>
+ <DayID>wed</DayID>
+ <DefaultAbbrvName>ބދ</DefaultAbbrvName>
+ <DefaultFullName>ބުދަ</DefaultFullName>
+ </Day>
+ <Day>
+ <DayID>thu</DayID>
+ <DefaultAbbrvName>ބރފ</DefaultAbbrvName>
+ <DefaultFullName>ބުރާސްފަތި</DefaultFullName>
+ </Day>
+ <Day>
+ <DayID>fri</DayID>
+ <DefaultAbbrvName>ހކރ</DefaultAbbrvName>
+ <DefaultFullName>ހުކުރު</DefaultFullName>
+ </Day>
+ <Day>
+ <DayID>sat</DayID>
+ <DefaultAbbrvName>ހނހ</DefaultAbbrvName>
+ <DefaultFullName>ހޮނިހިރު</DefaultFullName>
+ </Day>
+ </DaysOfWeek>
+ <MonthsOfYear>
+ <Month>
+ <MonthID>jan</MonthID>
+ <DefaultAbbrvName>ޖނއ</DefaultAbbrvName>
+ <DefaultFullName>ޖެނުއަރީ</DefaultFullName>
+ </Month>
+ <Month>
+ <MonthID>feb</MonthID>
+ <DefaultAbbrvName>ފބރ</DefaultAbbrvName>
+ <DefaultFullName>ފެބިއުއަރީ</DefaultFullName>
+ </Month>
+ <Month>
+ <MonthID>mar</MonthID>
+ <DefaultAbbrvName>މރޗ</DefaultAbbrvName>
+ <DefaultFullName>މާރޗް</DefaultFullName>
+ </Month>
+ <Month>
+ <MonthID>apr</MonthID>
+ <DefaultAbbrvName>އޕރ</DefaultAbbrvName>
+ <DefaultFullName>އޭޕްރީލް</DefaultFullName>
+ </Month>
+ <Month>
+ <MonthID>may</MonthID>
+ <DefaultAbbrvName>މއ</DefaultAbbrvName>
+ <DefaultFullName>މޭއި</DefaultFullName>
+ </Month>
+ <Month>
+ <MonthID>jun</MonthID>
+ <DefaultAbbrvName>ޖނ</DefaultAbbrvName>
+ <DefaultFullName>ޖޫން</DefaultFullName>
+ </Month>
+ <Month>
+ <MonthID>jul</MonthID>
+ <DefaultAbbrvName>ޖލއ</DefaultAbbrvName>
+ <DefaultFullName>ޖުލާއި</DefaultFullName>
+ </Month>
+ <Month>
+ <MonthID>aug</MonthID>
+ <DefaultAbbrvName>އގޓ</DefaultAbbrvName>
+ <DefaultFullName>އޮގަސްޓް</DefaultFullName>
+ </Month>
+ <Month>
+ <MonthID>sep</MonthID>
+ <DefaultAbbrvName>ސޕޓ</DefaultAbbrvName>
+ <DefaultFullName>ސެޕްޓެމްބަރ</DefaultFullName>
+ </Month>
+ <Month>
+ <MonthID>oct</MonthID>
+ <DefaultAbbrvName>އކޓ</DefaultAbbrvName>
+ <DefaultFullName>އޮކްޓޯބަރ</DefaultFullName>
+ </Month>
+ <Month>
+ <MonthID>nov</MonthID>
+ <DefaultAbbrvName>ނވބ</DefaultAbbrvName>
+ <DefaultFullName>ނޮވިމްބަރ</DefaultFullName>
+ </Month>
+ <Month>
+ <MonthID>dec</MonthID>
+ <DefaultAbbrvName>ޑސބ</DefaultAbbrvName>
+ <DefaultFullName>ޑިސެމްބަރ</DefaultFullName>
+ </Month>
+ </MonthsOfYear>
+ <Eras>
+ <Era>
+ <EraID>bc</EraID>
+ <DefaultAbbrvName>ޢކ</DefaultAbbrvName>
+ <DefaultFullName>ޢކ</DefaultFullName>
+ </Era>
+ <Era>
+ <EraID>ad</EraID>
+ <DefaultAbbrvName>ކއ</DefaultAbbrvName>
+ <DefaultFullName>ޖކއ</DefaultFullName>
+ </Era>
+ </Eras>
+ <StartDayOfWeek>
+ <DayID>sun</DayID>
+ </StartDayOfWeek>
+ <MinimalDaysInFirstWeek>1</MinimalDaysInFirstWeek>
+ </Calendar>
+ <Calendar unoid="hijri" default="false">
+ <DaysOfWeek>
+ <Day>
+ <DayID>sun</DayID>
+ <DefaultAbbrvName>އދތ</DefaultAbbrvName>
+ <DefaultFullName>އާދީއްތަ</DefaultFullName>
+ </Day>
+ <Day>
+ <DayID>mon</DayID>
+ <DefaultAbbrvName>ހމ</DefaultAbbrvName>
+ <DefaultFullName>ހޯމަ</DefaultFullName>
+ </Day>
+ <Day>
+ <DayID>tue</DayID>
+ <DefaultAbbrvName>އނގ</DefaultAbbrvName>
+ <DefaultFullName>އަންގާރަ</DefaultFullName>
+ </Day>
+ <Day>
+ <DayID>wed</DayID>
+ <DefaultAbbrvName>ބދ</DefaultAbbrvName>
+ <DefaultFullName>ބުދަ</DefaultFullName>
+ </Day>
+ <Day>
+ <DayID>thu</DayID>
+ <DefaultAbbrvName>ބރފ</DefaultAbbrvName>
+ <DefaultFullName>ބުރާސްފަތި</DefaultFullName>
+ </Day>
+ <Day>
+ <DayID>fri</DayID>
+ <DefaultAbbrvName>ހކރ</DefaultAbbrvName>
+ <DefaultFullName>ހުކުރު</DefaultFullName>
+ </Day>
+ <Day>
+ <DayID>sat</DayID>
+ <DefaultAbbrvName>ހނހ</DefaultAbbrvName>
+ <DefaultFullName>ހޮނިހިރު</DefaultFullName>
+ </Day>
+ </DaysOfWeek>
+ <MonthsOfYear>
+ <Month>
+ <MonthID>Muharram</MonthID>
+ <DefaultAbbrvName>މޙރ</DefaultAbbrvName>
+ <DefaultFullName>މުޙައްރަމް</DefaultFullName>
+ </Month>
+ <Month>
+ <MonthID>Safar</MonthID>
+ <DefaultAbbrvName>ޞފރ</DefaultAbbrvName>
+ <DefaultFullName>ޞަފަރް</DefaultFullName>
+ </Month>
+ <Month>
+ <MonthID>Rabi al-Awwal</MonthID>
+ <DefaultAbbrvName>ރބޢއ</DefaultAbbrvName>
+ <DefaultFullName>ރަބީޢުލް އައްވަލް</DefaultFullName>
+ </Month>
+ <Month>
+ <MonthID>Rabi al-Thani</MonthID>
+ <DefaultAbbrvName>ރބޢޘ</DefaultAbbrvName>
+ <DefaultFullName>ރަބީޢުލް ޘާނީޔް</DefaultFullName>
+ </Month>
+ <Month>
+ <MonthID>Jumada al-Awwal</MonthID>
+ <DefaultAbbrvName>ޖމދއ</DefaultAbbrvName>
+ <DefaultFullName>ޖުމާދަލް އައްވަލް</DefaultFullName>
+ </Month>
+ <Month>
+ <MonthID>Jumada al-Thani</MonthID>
+ <DefaultAbbrvName>ޖމދޘ</DefaultAbbrvName>
+ <DefaultFullName>ޖުމާދަލް ޘާނީޔް</DefaultFullName>
+ </Month>
+ <Month>
+ <MonthID>Rajab</MonthID>
+ <DefaultAbbrvName>ރޖބ</DefaultAbbrvName>
+ <DefaultFullName>ރަޖަބް</DefaultFullName>
+ </Month>
+ <Month>
+ <MonthID>Shaban</MonthID>
+ <DefaultAbbrvName>ޝޢބ</DefaultAbbrvName>
+ <DefaultFullName>ޝަޢްބާން</DefaultFullName>
+ </Month>
+ <Month>
+ <MonthID>Ramadan</MonthID>
+ <DefaultAbbrvName>ރމޟ</DefaultAbbrvName>
+ <DefaultFullName>ރަމަޟާން</DefaultFullName>
+ </Month>
+ <Month>
+ <MonthID>Shawwal</MonthID>
+ <DefaultAbbrvName>ޝވލ</DefaultAbbrvName>
+ <DefaultFullName>ޝައްވާލް</DefaultFullName>
+ </Month>
+ <Month>
+ <MonthID>Dhu al-Qadah</MonthID>
+ <DefaultAbbrvName>ޛޤޢ</DefaultAbbrvName>
+ <DefaultFullName>ޛުޥލް ޤަޢިދާ</DefaultFullName>
+ </Month>
+ <Month>
+ <MonthID>Dhu al-Hijjah</MonthID>
+ <DefaultAbbrvName>ޛުޥލް ޙައްޖު</DefaultAbbrvName>
+ <DefaultFullName>Adar</DefaultFullName>
+ </Month>
+ </MonthsOfYear>
+ <Eras>
+ <Era>
+ <EraID>before</EraID>
+ <DefaultAbbrvName>ގެ ކުރިންCE</DefaultAbbrvName>
+ <DefaultFullName>ގެ ކުރިންCE</DefaultFullName>
+ </Era>
+ <Era>
+ <EraID>after</EraID>
+ <DefaultAbbrvName>ގެ ފަހުންCE</DefaultAbbrvName>
+ <DefaultFullName>ގެ ފަހުންCE</DefaultFullName>
+ </Era>
+ </Eras>
+ <StartDayOfWeek><DayID>sun</DayID></StartDayOfWeek>
+ <MinimalDaysInFirstWeek>1</MinimalDaysInFirstWeek>
+ </Calendar>
+ </LC_CALENDAR>
+ <LC_CURRENCY>
+ <Currency default="true" usedInCompatibleFormatCodes="true">
+ <CurrencyID>MVR</CurrencyID>
+ <BankSymbol>MVR</BankSymbol>
+ <CurrencySymbol>ރ.‏</CurrencySymbol>
+ <CurrencyName>MV Rufiyaa</CurrencyName>
+ <DecimalPlaces>2</DecimalPlaces>
+ </Currency>
+ </LC_CURRENCY>
+ <LC_TRANSLITERATION>
+ <Transliteration unoid="SENTENCE_CASE"/>
+ <Transliteration unoid="LOWERCASE_UPPERCASE"/>
+ <Transliteration unoid="UPPERCASE_LOWERCASE"/>
+ <Transliteration unoid="TITLE_CASE"/>
+ <Transliteration unoid="TOGGLE_CASE"/>
+ <Transliteration unoid="IGNORE_CASE"/>
+ </LC_TRANSLITERATION>
+ <LC_MISC>
+ <ReservedWords>
+ <trueWord>true</trueWord>
+ <falseWord>false</falseWord>
+ <quarter1Word>1st quarter</quarter1Word>
+ <quarter2Word>2nd quarter</quarter2Word>
+ <quarter3Word>3rd quarter</quarter3Word>
+ <quarter4Word>4th quarter</quarter4Word>
+ <aboveWord>above</aboveWord>
+ <belowWord>below</belowWord>
+ <quarter1Abbreviation>Q1</quarter1Abbreviation>
+ <quarter2Abbreviation>Q2</quarter2Abbreviation>
+ <quarter3Abbreviation>Q3</quarter3Abbreviation>
+ <quarter4Abbreviation>Q4</quarter4Abbreviation>
+ </ReservedWords>
+ </LC_MISC>
+ <LC_NumberingLevel ref="en_US"/>
+ <LC_OutLineNumberingLevel ref="en_US"/>
+</Locale>
diff --git a/i18npool/source/localedata/data/ee_GH.xml b/i18npool/source/localedata/data/ee_GH.xml
index 26ecfedf322c..ea28c2648359 100644
--- a/i18npool/source/localedata/data/ee_GH.xml
+++ b/i18npool/source/localedata/data/ee_GH.xml
@@ -377,15 +377,6 @@
<quarter4Abbreviation>MN</quarter4Abbreviation>
</ReservedWords>
</LC_MISC>
- <LC_NumberingLevel>
- <NumberingLevel NumType="4" Prefix=" " Suffix=")"/>
- <NumberingLevel NumType="4" Prefix=" " Suffix="."/>
- <NumberingLevel NumType="4" Prefix="(" Suffix=")"/>
- <NumberingLevel NumType="2" Prefix=" " Suffix="."/>
- <NumberingLevel NumType="0" Prefix=" " Suffix=")"/>
- <NumberingLevel NumType="1" Prefix=" " Suffix=")"/>
- <NumberingLevel NumType="1" Prefix="(" Suffix=")"/>
- <NumberingLevel NumType="3" Prefix=" " Suffix="."/>
- </LC_NumberingLevel>
+ <LC_NumberingLevel ref="en_US"/>
<LC_OutLineNumberingLevel ref="en_US"/>
</Locale>
diff --git a/i18npool/source/localedata/data/el_GR.xml b/i18npool/source/localedata/data/el_GR.xml
index 2316e67c8593..f4c4121b8bba 100644
--- a/i18npool/source/localedata/data/el_GR.xml
+++ b/i18npool/source/localedata/data/el_GR.xml
@@ -71,6 +71,15 @@
<FormatElement msgid="FixedFormatskey6" default="false" type="medium" usage="FIXED_NUMBER" formatindex="5">
<FormatCode>#.###,00</FormatCode>
</FormatElement>
+ <FormatElement msgid="FixedFormatskey9" default="false" type="medium" usage="FIXED_NUMBER" formatindex="101">
+ <FormatCode>[NatNum12 cardinal]0</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="FixedFormatskey10" default="false" type="medium" usage="FIXED_NUMBER" formatindex="102">
+ <FormatCode>[NatNum12 capitalize cardinal]0</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="FixedFormatskey12" default="false" type="medium" usage="FIXED_NUMBER" formatindex="104">
+ <FormatCode>[NatNum12 upper cardinal]0</FormatCode>
+ </FormatElement>
<FormatElement msgid="ScientificFormatskey1" default="false" type="medium" usage="SCIENTIFIC_NUMBER" formatindex="6">
<FormatCode>0,00E+000</FormatCode>
</FormatElement>
@@ -104,6 +113,18 @@
<FormatElement msgid="CurrencyFormatskey6" default="false" type="medium" usage="CURRENCY" formatindex="17">
<FormatCode>#.##0,-- [$Δρχ-408];[RED]-#.##0,-- [$Δρχ-408]</FormatCode>
</FormatElement>
+ <FormatElement msgid="CurrencyFormatskey9" default="false" type="medium" usage="CURRENCY" formatindex="105">
+ <FormatCode>[NatNum12 CURRENCY]0</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="CurrencyFormatskey10" default="false" type="medium" usage="CURRENCY" formatindex="106">
+ <FormatCode>[NatNum12 CURRENCY]0,00</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="CurrencyFormatskey11" default="false" type="medium" usage="CURRENCY" formatindex="107">
+ <FormatCode>[NatNum12 upper CURRENCY]0</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="CurrencyFormatskey12" default="false" type="medium" usage="CURRENCY" formatindex="108">
+ <FormatCode>[NatNum12 upper CURRENCY]0,00</FormatCode>
+ </FormatElement>
<FormatElement msgid="DateFormatskey1" default="true" type="short" usage="DATE" formatindex="18">
<FormatCode>D/M/YYYY</FormatCode>
</FormatElement>
diff --git a/i18npool/source/localedata/data/en_AU.xml b/i18npool/source/localedata/data/en_AU.xml
index e0122b128dda..1244786fd349 100644
--- a/i18npool/source/localedata/data/en_AU.xml
+++ b/i18npool/source/localedata/data/en_AU.xml
@@ -77,6 +77,18 @@
<FormatElement msgid="FixedFormatskey8" default="false" type="medium" usage="FIXED_NUMBER" formatindex="71">
<FormatCode>#,##0.00_);(#,##0.00)</FormatCode>
</FormatElement>
+ <FormatElement msgid="FixedFormatskey9" default="false" type="medium" usage="FIXED_NUMBER" formatindex="101">
+ <FormatCode>[NatNum12 cardinal]0</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="FixedFormatskey10" default="false" type="medium" usage="FIXED_NUMBER" formatindex="102">
+ <FormatCode>[NatNum12 capitalize cardinal]0</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="FixedFormatskey11" default="false" type="medium" usage="FIXED_NUMBER" formatindex="103">
+ <FormatCode>[NatNum12 title cardinal]0</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="FixedFormatskey12" default="false" type="medium" usage="FIXED_NUMBER" formatindex="104">
+ <FormatCode>[NatNum12 upper cardinal]0</FormatCode>
+ </FormatElement>
<FormatElement msgid="ScientificFormatskey1" default="false" type="medium" usage="SCIENTIFIC_NUMBER" formatindex="6">
<FormatCode>0.00E+000</FormatCode>
</FormatElement>
@@ -110,6 +122,18 @@
<FormatElement msgid="CurrencyFormatskey6" default="false" type="medium" usage="CURRENCY" formatindex="17">
<FormatCode>[CURRENCY]#,##0.--;[RED]-[CURRENCY]#,##0.--</FormatCode>
</FormatElement>
+ <FormatElement msgid="CurrencyFormatskey9" default="false" type="medium" usage="CURRENCY" formatindex="105">
+ <FormatCode>[NatNum12 title CURRENCY]0</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="CurrencyFormatskey10" default="false" type="medium" usage="CURRENCY" formatindex="106">
+ <FormatCode>[NatNum12 title CURRENCY]0.00</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="CurrencyFormatskey11" default="false" type="medium" usage="CURRENCY" formatindex="107">
+ <FormatCode>[NatNum12 upper CURRENCY]0</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="CurrencyFormatskey12" default="false" type="medium" usage="CURRENCY" formatindex="108">
+ <FormatCode>[NatNum12 upper CURRENCY]0.00</FormatCode>
+ </FormatElement>
<FormatElement msgid="DateFormatskey1" default="true" type="short" usage="DATE" formatindex="18">
<FormatCode>D/MM/YY</FormatCode>
</FormatElement>
diff --git a/i18npool/source/localedata/data/en_CA.xml b/i18npool/source/localedata/data/en_CA.xml
index d3eb8804bd02..c75ed33650ab 100644
--- a/i18npool/source/localedata/data/en_CA.xml
+++ b/i18npool/source/localedata/data/en_CA.xml
@@ -79,6 +79,18 @@
<FormatElement msgid="FixedFormatskey8" default="false" type="medium" usage="FIXED_NUMBER" formatindex="71">
<FormatCode>#,##0.00_);(#,##0.00)</FormatCode>
</FormatElement>
+ <FormatElement msgid="FixedFormatskey9" default="false" type="medium" usage="FIXED_NUMBER" formatindex="101">
+ <FormatCode>[NatNum12 cardinal]0</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="FixedFormatskey10" default="false" type="medium" usage="FIXED_NUMBER" formatindex="102">
+ <FormatCode>[NatNum12 capitalize cardinal]0</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="FixedFormatskey11" default="false" type="medium" usage="FIXED_NUMBER" formatindex="103">
+ <FormatCode>[NatNum12 title cardinal]0</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="FixedFormatskey12" default="false" type="medium" usage="FIXED_NUMBER" formatindex="104">
+ <FormatCode>[NatNum12 upper cardinal]0</FormatCode>
+ </FormatElement>
<FormatElement msgid="ScientificFormatskey1" default="false" type="medium" usage="SCIENTIFIC_NUMBER" formatindex="6">
<FormatCode>0.00E+000</FormatCode>
</FormatElement>
@@ -112,6 +124,18 @@
<FormatElement msgid="CurrencyFormatskey6" default="false" type="medium" usage="CURRENCY" formatindex="17">
<FormatCode>[$$-1009]#,##0.--;[RED]-[$$-1009]#,##0.--</FormatCode>
</FormatElement>
+ <FormatElement msgid="CurrencyFormatskey9" default="false" type="medium" usage="CURRENCY" formatindex="105">
+ <FormatCode>[NatNum12 title CURRENCY]0</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="CurrencyFormatskey10" default="false" type="medium" usage="CURRENCY" formatindex="106">
+ <FormatCode>[NatNum12 title CURRENCY]0.00</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="CurrencyFormatskey11" default="false" type="medium" usage="CURRENCY" formatindex="107">
+ <FormatCode>[NatNum12 upper CURRENCY]0</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="CurrencyFormatskey12" default="false" type="medium" usage="CURRENCY" formatindex="108">
+ <FormatCode>[NatNum12 upper CURRENCY]0.00</FormatCode>
+ </FormatElement>
<FormatElement msgid="DateFormatskey1" default="true" type="short" usage="DATE" formatindex="18">
<FormatCode>YY-M-D</FormatCode>
</FormatElement>
diff --git a/i18npool/source/localedata/data/en_DK.xml b/i18npool/source/localedata/data/en_DK.xml
index 041ce09a73ae..459003815ba6 100644
--- a/i18npool/source/localedata/data/en_DK.xml
+++ b/i18npool/source/localedata/data/en_DK.xml
@@ -77,6 +77,18 @@
<FormatElement msgid="FixedFormatskey8" default="false" type="medium" usage="FIXED_NUMBER" formatindex="71">
<FormatCode>#.##0,00_);(#.##0,00)</FormatCode>
</FormatElement>
+ <FormatElement msgid="FixedFormatskey9" default="false" type="medium" usage="FIXED_NUMBER" formatindex="101">
+ <FormatCode>[NatNum12 cardinal]0</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="FixedFormatskey10" default="false" type="medium" usage="FIXED_NUMBER" formatindex="102">
+ <FormatCode>[NatNum12 capitalize cardinal]0</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="FixedFormatskey11" default="false" type="medium" usage="FIXED_NUMBER" formatindex="103">
+ <FormatCode>[NatNum12 title cardinal]0</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="FixedFormatskey12" default="false" type="medium" usage="FIXED_NUMBER" formatindex="104">
+ <FormatCode>[NatNum12 upper cardinal]0</FormatCode>
+ </FormatElement>
<FormatElement msgid="ScientificFormatskey1" default="false" type="medium" usage="SCIENTIFIC_NUMBER" formatindex="6">
<FormatCode>0,00E+000</FormatCode>
</FormatElement>
@@ -116,6 +128,18 @@
<FormatElement msgid="CurrencyFormatskey8" default="false" type="medium" usage="CURRENCY" formatindex="73">
<FormatCode>[CURRENCY]* #.##0,00;-[CURRENCY]* #.##0,00</FormatCode>
</FormatElement>
+ <FormatElement msgid="CurrencyFormatskey9" default="false" type="medium" usage="CURRENCY" formatindex="105">
+ <FormatCode>[NatNum12 title CURRENCY]0</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="CurrencyFormatskey10" default="false" type="medium" usage="CURRENCY" formatindex="106">
+ <FormatCode>[NatNum12 title CURRENCY]0,00</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="CurrencyFormatskey11" default="false" type="medium" usage="CURRENCY" formatindex="107">
+ <FormatCode>[NatNum12 upper CURRENCY]0</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="CurrencyFormatskey12" default="false" type="medium" usage="CURRENCY" formatindex="108">
+ <FormatCode>[NatNum12 upper CURRENCY]0,00</FormatCode>
+ </FormatElement>
<FormatElement msgid="DateFormatskey1" default="true" type="short" usage="DATE" formatindex="18">
<FormatCode>YY-MM-DD</FormatCode>
</FormatElement>
diff --git a/i18npool/source/localedata/data/en_GB.xml b/i18npool/source/localedata/data/en_GB.xml
index ac82153508fa..a87869c77338 100644
--- a/i18npool/source/localedata/data/en_GB.xml
+++ b/i18npool/source/localedata/data/en_GB.xml
@@ -54,6 +54,18 @@
<LC_FORMAT replaceFrom="[CURRENCY]" replaceTo="[$£-809]">
<DateAcceptancePattern>D/M</DateAcceptancePattern>
<DateAcceptancePattern>D-M</DateAcceptancePattern>
+ <FormatElement msgid="CurrencyFormatskey9" default="false" type="medium" usage="CURRENCY" formatindex="105">
+ <FormatCode>[NatNum12 title CURRENCY]0</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="CurrencyFormatskey10" default="false" type="medium" usage="CURRENCY" formatindex="106">
+ <FormatCode>[NatNum12 title CURRENCY]0.00</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="CurrencyFormatskey11" default="false" type="medium" usage="CURRENCY" formatindex="107">
+ <FormatCode>[NatNum12 upper CURRENCY]0</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="CurrencyFormatskey12" default="false" type="medium" usage="CURRENCY" formatindex="108">
+ <FormatCode>[NatNum12 upper CURRENCY]0.00</FormatCode>
+ </FormatElement>
<FormatElement msgid="DateFormatskey1" default="true" type="short" usage="DATE" formatindex="18">
<FormatCode>DD/MM/YY</FormatCode>
</FormatElement>
@@ -202,6 +214,18 @@
<FormatElement msgid="PercentFormatskey2" default="true" type="long" usage="PERCENT_NUMBER" formatindex="9">
<FormatCode>0.00%</FormatCode>
</FormatElement>
+ <FormatElement msgid="FixedFormatskey9" default="false" type="medium" usage="FIXED_NUMBER" formatindex="101">
+ <FormatCode>[NatNum12 cardinal]0</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="FixedFormatskey10" default="false" type="medium" usage="FIXED_NUMBER" formatindex="102">
+ <FormatCode>[NatNum12 capitalize cardinal]0</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="FixedFormatskey11" default="false" type="medium" usage="FIXED_NUMBER" formatindex="103">
+ <FormatCode>[NatNum12 title cardinal]0</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="FixedFormatskey12" default="false" type="medium" usage="FIXED_NUMBER" formatindex="104">
+ <FormatCode>[NatNum12 upper cardinal]0</FormatCode>
+ </FormatElement>
<FormatElement msgid="ScientificFormatskey1" default="false" type="medium" usage="SCIENTIFIC_NUMBER" formatindex="6">
<FormatCode>0.00E+000</FormatCode>
</FormatElement>
diff --git a/i18npool/source/localedata/data/en_GH.xml b/i18npool/source/localedata/data/en_GH.xml
index 0a6ea83eec08..967e19eb6e80 100644
--- a/i18npool/source/localedata/data/en_GH.xml
+++ b/i18npool/source/localedata/data/en_GH.xml
@@ -77,6 +77,18 @@
<FormatElement msgid="FixedFormatskey8" default="false" type="medium" usage="FIXED_NUMBER" formatindex="71">
<FormatCode>#,##0.00_);(#,##0.00)</FormatCode>
</FormatElement>
+ <FormatElement msgid="FixedFormatskey9" default="false" type="medium" usage="FIXED_NUMBER" formatindex="101">
+ <FormatCode>[NatNum12 cardinal]0</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="FixedFormatskey10" default="false" type="medium" usage="FIXED_NUMBER" formatindex="102">
+ <FormatCode>[NatNum12 capitalize cardinal]0</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="FixedFormatskey11" default="false" type="medium" usage="FIXED_NUMBER" formatindex="103">
+ <FormatCode>[NatNum12 title cardinal]0</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="FixedFormatskey12" default="false" type="medium" usage="FIXED_NUMBER" formatindex="104">
+ <FormatCode>[NatNum12 upper cardinal]0</FormatCode>
+ </FormatElement>
<FormatElement msgid="ScientificFormatskey1" default="false" type="medium" usage="SCIENTIFIC_NUMBER" formatindex="6">
<FormatCode>0.00E+000</FormatCode>
</FormatElement>
@@ -110,6 +122,18 @@
<FormatElement msgid="CurrencyFormatskey6" default="false" type="medium" usage="CURRENCY" formatindex="17">
<FormatCode>[CURRENCY]#,##0.--;[RED]-[CURRENCY]#,##0.--</FormatCode>
</FormatElement>
+ <FormatElement msgid="CurrencyFormatskey9" default="false" type="medium" usage="CURRENCY" formatindex="105">
+ <FormatCode>[NatNum12 title CURRENCY]0</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="CurrencyFormatskey10" default="false" type="medium" usage="CURRENCY" formatindex="106">
+ <FormatCode>[NatNum12 title CURRENCY]0.00</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="CurrencyFormatskey11" default="false" type="medium" usage="CURRENCY" formatindex="107">
+ <FormatCode>[NatNum12 upper CURRENCY]0</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="CurrencyFormatskey12" default="false" type="medium" usage="CURRENCY" formatindex="108">
+ <FormatCode>[NatNum12 upper CURRENCY]0.00</FormatCode>
+ </FormatElement>
<FormatElement msgid="DateFormatskey1" default="true" type="short" usage="DATE" formatindex="18">
<FormatCode>YY/MM/DD</FormatCode>
</FormatElement>
@@ -375,16 +399,7 @@
<quarter4Abbreviation>Q4</quarter4Abbreviation>
</ReservedWords>
</LC_MISC>
- <LC_NumberingLevel>
- <NumberingLevel NumType="4" Prefix="" Suffix=")" />
- <NumberingLevel NumType="4" Prefix="" Suffix="." />
- <NumberingLevel NumType="4" Prefix="(" Suffix=")" />
- <NumberingLevel NumType="2" Prefix="" Suffix="." />
- <NumberingLevel NumType="0" Prefix="" Suffix=")" />
- <NumberingLevel NumType="1" Prefix="" Suffix=")" />
- <NumberingLevel NumType="1" Prefix="(" Suffix=")" />
- <NumberingLevel NumType="3" Prefix="" Suffix="." />
- </LC_NumberingLevel>
+ <LC_NumberingLevel ref="en_US"/>
<LC_OutLineNumberingLevel ref="en_US" />
</Locale>
<!--Version 1.0 -->
diff --git a/i18npool/source/localedata/data/en_IE.xml b/i18npool/source/localedata/data/en_IE.xml
index d9cd5c86b244..ba12968843a6 100644
--- a/i18npool/source/localedata/data/en_IE.xml
+++ b/i18npool/source/localedata/data/en_IE.xml
@@ -51,7 +51,20 @@
<TimePM>p.m.</TimePM>
<MeasurementSystem>metric</MeasurementSystem>
</LC_CTYPE>
- <LC_FORMAT ref="en_GB" replaceTo="[$IR£-1809]"/>
+ <LC_FORMAT ref="en_GB" replaceTo="[$IR£-1809]">
+ <FormatElement msgid="CurrencyFormatskey9" default="false" type="medium" usage="CURRENCY" formatindex="105">
+ <FormatCode>[NatNum12 title CURRENCY]0</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="CurrencyFormatskey10" default="false" type="medium" usage="CURRENCY" formatindex="106">
+ <FormatCode>[NatNum12 title CURRENCY]0.00</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="CurrencyFormatskey11" default="false" type="medium" usage="CURRENCY" formatindex="107">
+ <FormatCode>[NatNum12 upper CURRENCY]0</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="CurrencyFormatskey12" default="false" type="medium" usage="CURRENCY" formatindex="108">
+ <FormatCode>[NatNum12 upper CURRENCY]0.00</FormatCode>
+ </FormatElement>
+ </LC_FORMAT>
<LC_COLLATION ref="en_US"/>
<LC_SEARCH ref="en_US"/>
<LC_INDEX ref="en_US"/>
diff --git a/i18npool/source/localedata/data/en_JM.xml b/i18npool/source/localedata/data/en_JM.xml
index 51dc9fb80f5c..6f6ea64b1702 100644
--- a/i18npool/source/localedata/data/en_JM.xml
+++ b/i18npool/source/localedata/data/en_JM.xml
@@ -77,6 +77,18 @@
<FormatElement msgid="FixedFormatskey8" default="false" type="medium" usage="FIXED_NUMBER" formatindex="71">
<FormatCode>#,##0.00_);(#,##0.00)</FormatCode>
</FormatElement>
+ <FormatElement msgid="FixedFormatskey9" default="false" type="medium" usage="FIXED_NUMBER" formatindex="101">
+ <FormatCode>[NatNum12 cardinal]0</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="FixedFormatskey10" default="false" type="medium" usage="FIXED_NUMBER" formatindex="102">
+ <FormatCode>[NatNum12 capitalize cardinal]0</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="FixedFormatskey11" default="false" type="medium" usage="FIXED_NUMBER" formatindex="103">
+ <FormatCode>[NatNum12 title cardinal]0</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="FixedFormatskey12" default="false" type="medium" usage="FIXED_NUMBER" formatindex="104">
+ <FormatCode>[NatNum12 upper cardinal]0</FormatCode>
+ </FormatElement>
<FormatElement msgid="ScientificFormatskey1" default="false" type="medium" usage="SCIENTIFIC_NUMBER" formatindex="6">
<FormatCode>0.00E+000</FormatCode>
</FormatElement>
@@ -110,6 +122,18 @@
<FormatElement msgid="CurrencyFormatskey6" default="false" type="medium" usage="CURRENCY" formatindex="17">
<FormatCode>[$J$-2009]#,##0.--;[RED]-[$J$-2009]#,##0.--</FormatCode>
</FormatElement>
+ <FormatElement msgid="CurrencyFormatskey9" default="false" type="medium" usage="CURRENCY" formatindex="105">
+ <FormatCode>[NatNum12 title CURRENCY]0</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="CurrencyFormatskey10" default="false" type="medium" usage="CURRENCY" formatindex="106">
+ <FormatCode>[NatNum12 title CURRENCY]0.00</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="CurrencyFormatskey11" default="false" type="medium" usage="CURRENCY" formatindex="107">
+ <FormatCode>[NatNum12 upper CURRENCY]0</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="CurrencyFormatskey12" default="false" type="medium" usage="CURRENCY" formatindex="108">
+ <FormatCode>[NatNum12 upper CURRENCY]0.00</FormatCode>
+ </FormatElement>
<FormatElement msgid="DateFormatskey1" default="true" type="short" usage="DATE" formatindex="18">
<FormatCode>DD/MM/YYYY</FormatCode>
</FormatElement>
diff --git a/i18npool/source/localedata/data/en_MU.xml b/i18npool/source/localedata/data/en_MU.xml
new file mode 100644
index 000000000000..0e7596286033
--- /dev/null
+++ b/i18npool/source/localedata/data/en_MU.xml
@@ -0,0 +1,41 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE Locale SYSTEM 'locale.dtd'>
+<!--
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ -->
+<Locale versionDTD="2.0.3" allowUpdateFromCLDR="no" version="1.2">
+ <LC_INFO>
+ <Language>
+ <LangID>en</LangID>
+ <DefaultName>English</DefaultName>
+ </Language>
+ <Country>
+ <CountryID>MU</CountryID>
+ <DefaultName>Mauritius</DefaultName>
+ </Country>
+ </LC_INFO>
+ <LC_CTYPE ref="en_GB"/>
+ <LC_FORMAT ref="en_GB" replaceFrom="[CURRENCY]" replaceTo="[$₨-9C09]"/>
+ <LC_COLLATION ref="en_GB"/>
+ <LC_SEARCH ref="en_GB"/>
+ <LC_INDEX ref="en_GB"/>
+ <LC_CALENDAR ref="en_GB"/>
+ <LC_CURRENCY>
+ <Currency default="true" usedInCompatibleFormatCodes="true">
+ <CurrencyID>MUR</CurrencyID>
+ <CurrencySymbol>₨</CurrencySymbol>
+ <BankSymbol>MUR</BankSymbol>
+ <CurrencyName>Mauritian rupee</CurrencyName>
+ <DecimalPlaces>2</DecimalPlaces>
+ </Currency>
+ </LC_CURRENCY>
+ <LC_TRANSLITERATION ref="en_GB"/>
+ <LC_MISC ref="en_GB"/>
+ <LC_NumberingLevel ref="en_GB"/>
+ <LC_OutLineNumberingLevel ref="en_GB"/>
+</Locale>
diff --git a/i18npool/source/localedata/data/en_NA.xml b/i18npool/source/localedata/data/en_NA.xml
index 09d481e413d7..dd361f7e2e22 100644
--- a/i18npool/source/localedata/data/en_NA.xml
+++ b/i18npool/source/localedata/data/en_NA.xml
@@ -77,6 +77,18 @@
<FormatElement msgid="FixedFormatskey8" default="false" type="medium" usage="FIXED_NUMBER" formatindex="71">
<FormatCode>#,##0.00_);(#,##0.00)</FormatCode>
</FormatElement>
+ <FormatElement msgid="FixedFormatskey9" default="false" type="medium" usage="FIXED_NUMBER" formatindex="101">
+ <FormatCode>[NatNum12 cardinal]0</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="FixedFormatskey10" default="false" type="medium" usage="FIXED_NUMBER" formatindex="102">
+ <FormatCode>[NatNum12 capitalize cardinal]0</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="FixedFormatskey11" default="false" type="medium" usage="FIXED_NUMBER" formatindex="103">
+ <FormatCode>[NatNum12 title cardinal]0</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="FixedFormatskey12" default="false" type="medium" usage="FIXED_NUMBER" formatindex="104">
+ <FormatCode>[NatNum12 upper cardinal]0</FormatCode>
+ </FormatElement>
<FormatElement msgid="ScientificFormatskey1" default="false" type="medium" usage="SCIENTIFIC_NUMBER" formatindex="6">
<FormatCode>0.00E+000</FormatCode>
</FormatElement>
@@ -110,6 +122,18 @@
<FormatElement msgid="CurrencyFormatskey6" default="false" type="medium" usage="CURRENCY" formatindex="17">
<FormatCode>[CURRENCY] #,##0.--;[RED][CURRENCY]-#,##0.--</FormatCode>
</FormatElement>
+ <FormatElement msgid="CurrencyFormatskey9" default="false" type="medium" usage="CURRENCY" formatindex="105">
+ <FormatCode>[NatNum12 title CURRENCY]0</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="CurrencyFormatskey10" default="false" type="medium" usage="CURRENCY" formatindex="106">
+ <FormatCode>[NatNum12 title CURRENCY]0.00</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="CurrencyFormatskey11" default="false" type="medium" usage="CURRENCY" formatindex="107">
+ <FormatCode>[NatNum12 upper CURRENCY]0</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="CurrencyFormatskey12" default="false" type="medium" usage="CURRENCY" formatindex="108">
+ <FormatCode>[NatNum12 upper CURRENCY]0.00</FormatCode>
+ </FormatElement>
<FormatElement msgid="DateFormatskey1" default="true" type="short" usage="DATE" formatindex="18">
<FormatCode>YY/MM/DD</FormatCode>
</FormatElement>
diff --git a/i18npool/source/localedata/data/en_US.xml b/i18npool/source/localedata/data/en_US.xml
index 9e852f743125..fed41b84d33b 100644
--- a/i18npool/source/localedata/data/en_US.xml
+++ b/i18npool/source/localedata/data/en_US.xml
@@ -77,6 +77,18 @@
<FormatElement msgid="FixedFormatskey8" default="false" type="medium" usage="FIXED_NUMBER" formatindex="81">
<FormatCode>#,##0.00_);(#,##0.00)</FormatCode>
</FormatElement>
+ <FormatElement msgid="FixedFormatskey9" default="false" type="medium" usage="FIXED_NUMBER" formatindex="101">
+ <FormatCode>[NatNum12 cardinal]0</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="FixedFormatskey10" default="false" type="medium" usage="FIXED_NUMBER" formatindex="102">
+ <FormatCode>[NatNum12 capitalize cardinal]0</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="FixedFormatskey11" default="false" type="medium" usage="FIXED_NUMBER" formatindex="103">
+ <FormatCode>[NatNum12 title cardinal]0</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="FixedFormatskey12" default="false" type="medium" usage="FIXED_NUMBER" formatindex="104">
+ <FormatCode>[NatNum12 upper cardinal]0</FormatCode>
+ </FormatElement>
<FormatElement msgid="ScientificFormatskey1" default="false" type="medium" usage="SCIENTIFIC_NUMBER" formatindex="6">
<FormatCode>0.00E+000</FormatCode>
</FormatElement>
@@ -116,6 +128,18 @@
<FormatElement msgid="CurrencyFormatskey8" default="false" type="medium" usage="CURRENCY" formatindex="83">
<FormatCode>[CURRENCY]* #,##0.00;-[CURRENCY]* #,##0.00</FormatCode>
</FormatElement>
+ <FormatElement msgid="CurrencyFormatskey9" default="false" type="medium" usage="CURRENCY" formatindex="105">
+ <FormatCode>[NatNum12 title CURRENCY]0</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="CurrencyFormatskey10" default="false" type="medium" usage="CURRENCY" formatindex="106">
+ <FormatCode>[NatNum12 title CURRENCY]0.00</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="CurrencyFormatskey11" default="false" type="medium" usage="CURRENCY" formatindex="107">
+ <FormatCode>[NatNum12 upper CURRENCY]0</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="CurrencyFormatskey12" default="false" type="medium" usage="CURRENCY" formatindex="108">
+ <FormatCode>[NatNum12 upper CURRENCY]0.00</FormatCode>
+ </FormatElement>
<FormatElement msgid="DateFormatskey1" default="true" type="short" usage="DATE" formatindex="18">
<FormatCode>M/D/YY</FormatCode>
</FormatElement>
@@ -544,26 +568,21 @@
<NumberingLevel NumType="3" Prefix=" " Suffix="."/>
</LC_NumberingLevel>
<LC_OutLineNumberingLevel>
- <OutlineStyle>
- <OutLineNumberingLevel Prefix=" " NumType="4" Suffix="." BulletChar="0020" BulletFontName="" ParentNumbering="0" LeftMargin="0" SymbolTextDistance="50" FirstLineOffset="0"/>
- <OutLineNumberingLevel Prefix=" " NumType="4" Suffix="." BulletChar="0020" BulletFontName="" ParentNumbering="1" LeftMargin="50" SymbolTextDistance="50" FirstLineOffset="0"/>
- <OutLineNumberingLevel Prefix=" " NumType="1" Suffix=")" BulletChar="0020" BulletFontName="" ParentNumbering="0" LeftMargin="100" SymbolTextDistance="50" FirstLineOffset="0"/>
- <OutLineNumberingLevel Prefix=" " NumType="6" Suffix=" " BulletChar="2022" BulletFontName="StarSymbol" ParentNumbering="0" LeftMargin="150" SymbolTextDistance="50" FirstLineOffset="0"/>
- <OutLineNumberingLevel Prefix=" " NumType="6" Suffix=" " BulletChar="2022" BulletFontName="StarSymbol" ParentNumbering="0" LeftMargin="200" SymbolTextDistance="50" FirstLineOffset="0"/>
- </OutlineStyle>
- <OutlineStyle>
- <OutLineNumberingLevel Prefix=" " NumType="4" Suffix="." BulletChar="0020" BulletFontName="" ParentNumbering="0" LeftMargin="0" SymbolTextDistance="50" FirstLineOffset="0"/>
- <OutLineNumberingLevel Prefix=" " NumType="1" Suffix=")" BulletChar="0020" BulletFontName="" ParentNumbering="0" LeftMargin="50" SymbolTextDistance="50" FirstLineOffset="0"/>
- <OutLineNumberingLevel Prefix=" " NumType="6" Suffix=" " BulletChar="2022" BulletFontName="StarSymbol" ParentNumbering="0" LeftMargin="100" SymbolTextDistance="50" FirstLineOffset="0"/>
- <OutLineNumberingLevel Prefix=" " NumType="6" Suffix=" " BulletChar="2022" BulletFontName="StarSymbol" ParentNumbering="0" LeftMargin="150" SymbolTextDistance="50" FirstLineOffset="0"/>
- <OutLineNumberingLevel Prefix=" " NumType="6" Suffix=" " BulletChar="2022" BulletFontName="StarSymbol" ParentNumbering="0" LeftMargin="200" SymbolTextDistance="50" FirstLineOffset="0"/>
+ <OutlineStyle> <!-- I.A.1.a.i. based on MLA Handbook; also similar to Chicago Mode of Style-->
+ <OutLineNumberingLevel Prefix=" " NumType="2" Suffix="." BulletChar="0020" BulletFontName="" ParentNumbering="0" LeftMargin="0" SymbolTextDistance="50" FirstLineOffset="0" Adjust="1"/>
+ <OutLineNumberingLevel Prefix=" " NumType="0" Suffix="." BulletChar="0020" BulletFontName="" ParentNumbering="0" LeftMargin="50" SymbolTextDistance="50" FirstLineOffset="0"/>
+ <OutLineNumberingLevel Prefix=" " NumType="4" Suffix="." BulletChar="0020" BulletFontName="" ParentNumbering="0" LeftMargin="100" SymbolTextDistance="50" FirstLineOffset="0"/>
+ <OutLineNumberingLevel Prefix=" " NumType="1" Suffix="." BulletChar="0020" BulletFontName="" ParentNumbering="0" LeftMargin="150" SymbolTextDistance="50" FirstLineOffset="0"/>
+ <OutLineNumberingLevel Prefix=" " NumType="3" Suffix="." BulletChar="0020" BulletFontName="" ParentNumbering="0" LeftMargin="200" SymbolTextDistance="50" FirstLineOffset="0" Adjust="1"/>
+ <OutLineNumberingLevel Prefix=" " NumType="6" Suffix=" " BulletChar="2022" BulletFontName="StarSymbol" ParentNumbering="0" LeftMargin="250" SymbolTextDistance="50" FirstLineOffset="0"/>
</OutlineStyle>
- <OutlineStyle>
- <OutLineNumberingLevel Prefix=" " NumType="4" Suffix="." BulletChar="0020" BulletFontName="" ParentNumbering="0" LeftMargin="0" SymbolTextDistance="50" FirstLineOffset="0"/>
- <OutLineNumberingLevel Prefix="(" NumType="1" Suffix=")" BulletChar="0020" BulletFontName="" ParentNumbering="0" LeftMargin="50" SymbolTextDistance="50" FirstLineOffset="0"/>
- <OutLineNumberingLevel Prefix=" " NumType="3" Suffix="." BulletChar="0020" BulletFontName="" ParentNumbering="0" LeftMargin="100" SymbolTextDistance="50" FirstLineOffset="0"/>
- <OutLineNumberingLevel Prefix=" " NumType="0" Suffix="." BulletChar="0020" BulletFontName="" ParentNumbering="0" LeftMargin="150" SymbolTextDistance="50" FirstLineOffset="0"/>
+ <OutlineStyle> <!-- A.1.a.1. -->
+ <OutLineNumberingLevel Prefix=" " NumType="0" Suffix="." BulletChar="0020" BulletFontName="" ParentNumbering="0" LeftMargin="0" SymbolTextDistance="50" FirstLineOffset="0"/>
+ <OutLineNumberingLevel Prefix=" " NumType="4" Suffix="." BulletChar="0020" BulletFontName="" ParentNumbering="0" LeftMargin="50" SymbolTextDistance="50" FirstLineOffset="0"/>
+ <OutLineNumberingLevel Prefix=" " NumType="1" Suffix="." BulletChar="0020" BulletFontName="" ParentNumbering="0" LeftMargin="100" SymbolTextDistance="50" FirstLineOffset="0"/>
+ <OutLineNumberingLevel Prefix=" " NumType="4" Suffix="." BulletChar="0020" BulletFontName="" ParentNumbering="0" LeftMargin="150" SymbolTextDistance="50" FirstLineOffset="0"/>
<OutLineNumberingLevel Prefix=" " NumType="6" Suffix="." BulletChar="2022" BulletFontName="StarSymbol" ParentNumbering="0" LeftMargin="200" SymbolTextDistance="50" FirstLineOffset="0"/>
+ <OutLineNumberingLevel Prefix=" " NumType="6" Suffix=" " BulletChar="2022" BulletFontName="StarSymbol" ParentNumbering="0" LeftMargin="250" SymbolTextDistance="50" FirstLineOffset="0"/>
</OutlineStyle>
<OutlineStyle>
<OutLineNumberingLevel Prefix=" " NumType="4" Suffix="." BulletChar="0020" BulletFontName="" ParentNumbering="0" LeftMargin="0" SymbolTextDistance="50" FirstLineOffset="0"/>
@@ -571,27 +590,39 @@
<OutLineNumberingLevel Prefix=" " NumType="4" Suffix="." BulletChar="0020" BulletFontName="" ParentNumbering="0" LeftMargin="100" SymbolTextDistance="50" FirstLineOffset="0"/>
<OutLineNumberingLevel Prefix=" " NumType="4" Suffix="." BulletChar="0020" BulletFontName="" ParentNumbering="0" LeftMargin="150" SymbolTextDistance="50" FirstLineOffset="0"/>
<OutLineNumberingLevel Prefix=" " NumType="4" Suffix="." BulletChar="0020" BulletFontName="" ParentNumbering="0" LeftMargin="200" SymbolTextDistance="50" FirstLineOffset="0"/>
+ <OutLineNumberingLevel Prefix=" " NumType="4" Suffix=" " BulletChar="0020" BulletFontName="" ParentNumbering="0" LeftMargin="250" SymbolTextDistance="50" FirstLineOffset="0"/>
</OutlineStyle>
<OutlineStyle>
- <OutLineNumberingLevel Prefix=" " NumType="2" Suffix="." BulletChar="0020" BulletFontName="" ParentNumbering="0" LeftMargin="0" SymbolTextDistance="50" FirstLineOffset="0"/>
- <OutLineNumberingLevel Prefix=" " NumType="0" Suffix="." BulletChar="0020" BulletFontName="" ParentNumbering="0" LeftMargin="50" SymbolTextDistance="50" FirstLineOffset="0"/>
- <OutLineNumberingLevel Prefix=" " NumType="3" Suffix="." BulletChar="0020" BulletFontName="" ParentNumbering="0" LeftMargin="100" SymbolTextDistance="50" FirstLineOffset="0"/>
- <OutLineNumberingLevel Prefix=" " NumType="1" Suffix=")" BulletChar="0020" BulletFontName="" ParentNumbering="0" LeftMargin="150" SymbolTextDistance="50" FirstLineOffset="0"/>
+ <OutLineNumberingLevel Prefix=" " NumType="4" Suffix="." BulletChar="0020" BulletFontName="" ParentNumbering="0" LeftMargin="0" SymbolTextDistance="50" FirstLineOffset="0"/>
+ <OutLineNumberingLevel Prefix=" " NumType="4" Suffix="." BulletChar="0020" BulletFontName="" ParentNumbering="1" LeftMargin="50" SymbolTextDistance="50" FirstLineOffset="0"/>
+ <OutLineNumberingLevel Prefix=" " NumType="1" Suffix=")" BulletChar="0020" BulletFontName="" ParentNumbering="0" LeftMargin="100" SymbolTextDistance="50" FirstLineOffset="0"/>
+ <OutLineNumberingLevel Prefix=" " NumType="6" Suffix=" " BulletChar="2022" BulletFontName="StarSymbol" ParentNumbering="0" LeftMargin="150" SymbolTextDistance="50" FirstLineOffset="0"/>
<OutLineNumberingLevel Prefix=" " NumType="6" Suffix=" " BulletChar="2022" BulletFontName="StarSymbol" ParentNumbering="0" LeftMargin="200" SymbolTextDistance="50" FirstLineOffset="0"/>
+ <OutLineNumberingLevel Prefix=" " NumType="6" Suffix=" " BulletChar="2022" BulletFontName="StarSymbol" ParentNumbering="0" LeftMargin="250" SymbolTextDistance="50" FirstLineOffset="0"/>
</OutlineStyle>
- <OutlineStyle>
+ <OutlineStyle> <!-- A.I.a.i. -->
<OutLineNumberingLevel Prefix=" " NumType="0" Suffix="." BulletChar="0020" BulletFontName="" ParentNumbering="0" LeftMargin="0" SymbolTextDistance="50" FirstLineOffset="0"/>
- <OutLineNumberingLevel Prefix=" " NumType="2" Suffix="." BulletChar="0020" BulletFontName="" ParentNumbering="0" LeftMargin="50" SymbolTextDistance="50" FirstLineOffset="0"/>
+ <OutLineNumberingLevel Prefix=" " NumType="2" Suffix="." BulletChar="0020" BulletFontName="" ParentNumbering="0" LeftMargin="50" SymbolTextDistance="50" FirstLineOffset="0" Adjust="1"/>
<OutLineNumberingLevel Prefix=" " NumType="1" Suffix="." BulletChar="0020" BulletFontName="" ParentNumbering="0" LeftMargin="100" SymbolTextDistance="50" FirstLineOffset="0"/>
- <OutLineNumberingLevel Prefix=" " NumType="3" Suffix="." BulletChar="0020" BulletFontName="" ParentNumbering="0" LeftMargin="150" SymbolTextDistance="50" FirstLineOffset="0"/>
+ <OutLineNumberingLevel Prefix=" " NumType="3" Suffix="." BulletChar="0020" BulletFontName="" ParentNumbering="0" LeftMargin="150" SymbolTextDistance="50" FirstLineOffset="0" Adjust="1"/>
<OutLineNumberingLevel Prefix=" " NumType="6" Suffix=" " BulletChar="2022" BulletFontName="StarSymbol" ParentNumbering="0" LeftMargin="200" SymbolTextDistance="50" FirstLineOffset="0"/>
+ <OutLineNumberingLevel Prefix=" " NumType="6" Suffix=" " BulletChar="2022" BulletFontName="StarSymbol" ParentNumbering="0" LeftMargin="250" SymbolTextDistance="50" FirstLineOffset="0"/>
</OutlineStyle>
- <OutlineStyle>
+ <OutlineStyle> <!-- 1) a) 1) A) -->
+ <OutLineNumberingLevel Prefix=" " NumType="4" Suffix=")" BulletChar="0020" BulletFontName="" ParentNumbering="0" LeftMargin="0" SymbolTextDistance="50" FirstLineOffset="0"/>
+ <OutLineNumberingLevel Prefix=" " NumType="1" Suffix=")" BulletChar="0020" BulletFontName="" ParentNumbering="0" LeftMargin="50" SymbolTextDistance="50" FirstLineOffset="0"/>
+ <OutLineNumberingLevel Prefix=" " NumType="4" Suffix=")" BulletChar="0020" BulletFontName="" ParentNumbering="0" LeftMargin="100" SymbolTextDistance="50" FirstLineOffset="0"/>
+ <OutLineNumberingLevel Prefix=" " NumType="0" Suffix=")" BulletChar="0020" BulletFontName="" ParentNumbering="0" LeftMargin="150" SymbolTextDistance="50" FirstLineOffset="0"/>
+ <OutLineNumberingLevel Prefix=" " NumType="6" Suffix=" " BulletChar="2022" BulletFontName="StarSymbol" ParentNumbering="0" LeftMargin="200" SymbolTextDistance="50" FirstLineOffset="0"/>
+ <OutLineNumberingLevel Prefix=" " NumType="6" Suffix=" " BulletChar="2022" BulletFontName="StarSymbol" ParentNumbering="0" LeftMargin="250" SymbolTextDistance="50" FirstLineOffset="0"/>
+ </OutlineStyle>
+ <OutlineStyle> <!-- ISO 2145 compliant decimal outline-->
<OutLineNumberingLevel Prefix=" " NumType="4" Suffix=" " BulletChar="0020" BulletFontName="" ParentNumbering="0" LeftMargin="0" SymbolTextDistance="50" FirstLineOffset="0"/>
<OutLineNumberingLevel Prefix=" " NumType="4" Suffix=" " BulletChar="0020" BulletFontName="" ParentNumbering="1" LeftMargin="50" SymbolTextDistance="50" FirstLineOffset="0"/>
<OutLineNumberingLevel Prefix=" " NumType="4" Suffix=" " BulletChar="0020" BulletFontName="" ParentNumbering="2" LeftMargin="100" SymbolTextDistance="50" FirstLineOffset="0"/>
<OutLineNumberingLevel Prefix=" " NumType="4" Suffix=" " BulletChar="0020" BulletFontName="" ParentNumbering="3" LeftMargin="150" SymbolTextDistance="50" FirstLineOffset="0"/>
<OutLineNumberingLevel Prefix=" " NumType="4" Suffix=" " BulletChar="0020" BulletFontName="" ParentNumbering="4" LeftMargin="200" SymbolTextDistance="50" FirstLineOffset="0"/>
+ <OutLineNumberingLevel Prefix=" " NumType="4" Suffix=" " BulletChar="0020" BulletFontName="" ParentNumbering="5" LeftMargin="250" SymbolTextDistance="50" FirstLineOffset="0"/>
</OutlineStyle>
<OutlineStyle>
<OutLineNumberingLevel Prefix=" " NumType="6" Suffix=" " BulletChar="27A2" BulletFontName="StarSymbol" ParentNumbering="0" LeftMargin="0" SymbolTextDistance="50" FirstLineOffset="0"/>
@@ -599,6 +630,7 @@
<OutLineNumberingLevel Prefix=" " NumType="6" Suffix=")" BulletChar="E004" BulletFontName="StarSymbol" ParentNumbering="0" LeftMargin="100" SymbolTextDistance="50" FirstLineOffset="0"/>
<OutLineNumberingLevel Prefix=" " NumType="6" Suffix=" " BulletChar="2022" BulletFontName="StarSymbol" ParentNumbering="0" LeftMargin="150" SymbolTextDistance="50" FirstLineOffset="0"/>
<OutLineNumberingLevel Prefix=" " NumType="6" Suffix=" " BulletChar="2022" BulletFontName="StarSymbol" ParentNumbering="0" LeftMargin="200" SymbolTextDistance="50" FirstLineOffset="0"/>
+ <OutLineNumberingLevel Prefix=" " NumType="6" Suffix=" " BulletChar="2022" BulletFontName="StarSymbol" ParentNumbering="0" LeftMargin="250" SymbolTextDistance="50" FirstLineOffset="0"/>
</OutlineStyle>
</LC_OutLineNumberingLevel>
</Locale>
diff --git a/i18npool/source/localedata/data/en_ZA.xml b/i18npool/source/localedata/data/en_ZA.xml
index 574f1da3407b..dd61e98a2349 100644
--- a/i18npool/source/localedata/data/en_ZA.xml
+++ b/i18npool/source/localedata/data/en_ZA.xml
@@ -31,10 +31,10 @@
<LC_CTYPE>
<Separators>
<DateSeparator>/</DateSeparator>
- <ThousandSeparator> </ThousandSeparator>
- <DecimalSeparator>,</DecimalSeparator>
+ <ThousandSeparator>,</ThousandSeparator>
+ <DecimalSeparator>.</DecimalSeparator>
<TimeSeparator>:</TimeSeparator>
- <Time100SecSeparator>,</Time100SecSeparator>
+ <Time100SecSeparator>.</Time100SecSeparator>
<ListSeparator>;</ListSeparator>
<LongDateDayOfWeekSeparator> </LongDateDayOfWeekSeparator>
<LongDateDaySeparator> </LongDateDaySeparator>
@@ -62,55 +62,79 @@
<FormatCode>0</FormatCode>
</FormatElement>
<FormatElement msgid="FixedFormatskey3" default="false" type="medium" usage="FIXED_NUMBER" formatindex="2">
- <FormatCode>0,00</FormatCode>
+ <FormatCode>0.00</FormatCode>
</FormatElement>
<FormatElement msgid="FixedFormatskey4" default="false" type="short" usage="FIXED_NUMBER" formatindex="3">
- <FormatCode># ##0</FormatCode>
+ <FormatCode>#,##0</FormatCode>
</FormatElement>
<FormatElement msgid="FixedFormatskey5" default="false" type="medium" usage="FIXED_NUMBER" formatindex="4">
- <FormatCode># ##0,00</FormatCode>
+ <FormatCode>#,##0.00</FormatCode>
</FormatElement>
<FormatElement msgid="FixedFormatskey6" default="false" type="medium" usage="FIXED_NUMBER" formatindex="5">
- <FormatCode># ###,00</FormatCode>
+ <FormatCode>#,###.00</FormatCode>
</FormatElement>
<FormatElement msgid="FixedFormatskey7" default="false" type="short" usage="FIXED_NUMBER" formatindex="70">
- <FormatCode># ##0_);(# ##0)</FormatCode>
+ <FormatCode>#,##0_);(#,##0)</FormatCode>
</FormatElement>
<FormatElement msgid="FixedFormatskey8" default="false" type="medium" usage="FIXED_NUMBER" formatindex="71">
- <FormatCode># ##0,00_);(# ##0,00)</FormatCode>
+ <FormatCode>#,##0.00_);(#,##0.00)</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="FixedFormatskey9" default="false" type="medium" usage="FIXED_NUMBER" formatindex="101">
+ <FormatCode>[NatNum12 cardinal]0</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="FixedFormatskey10" default="false" type="medium" usage="FIXED_NUMBER" formatindex="102">
+ <FormatCode>[NatNum12 capitalize cardinal]0</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="FixedFormatskey11" default="false" type="medium" usage="FIXED_NUMBER" formatindex="103">
+ <FormatCode>[NatNum12 title cardinal]0</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="FixedFormatskey12" default="false" type="medium" usage="FIXED_NUMBER" formatindex="104">
+ <FormatCode>[NatNum12 upper cardinal]0</FormatCode>
</FormatElement>
<FormatElement msgid="ScientificFormatskey1" default="false" type="medium" usage="SCIENTIFIC_NUMBER" formatindex="6">
- <FormatCode>0,00E+000</FormatCode>
+ <FormatCode>0.00E+000</FormatCode>
</FormatElement>
<FormatElement msgid="ScientificFormatskey2" default="true" type="medium" usage="SCIENTIFIC_NUMBER" formatindex="7">
- <FormatCode>0,00E+00</FormatCode>
+ <FormatCode>0.00E+00</FormatCode>
</FormatElement>
<FormatElement msgid="ScientificFormatskey3" default="false" type="medium" usage="SCIENTIFIC_NUMBER" formatindex="78">
- <FormatCode>##0,00E+00</FormatCode>
+ <FormatCode>##0.00E+00</FormatCode>
</FormatElement>
<FormatElement msgid="PercentFormatskey1" default="true" type="short" usage="PERCENT_NUMBER" formatindex="8">
<FormatCode>0%</FormatCode>
</FormatElement>
<FormatElement msgid="PercentFormatskey2" default="true" type="long" usage="PERCENT_NUMBER" formatindex="9">
- <FormatCode>0,00%</FormatCode>
+ <FormatCode>0.00%</FormatCode>
</FormatElement>
<FormatElement msgid="CurrencyFormatskey1" default="true" type="short" usage="CURRENCY" formatindex="12">
- <FormatCode>[CURRENCY] # ##0;[CURRENCY]-# ##0</FormatCode>
+ <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>
+ <FormatCode>[CURRENCY] #,##0;[RED][CURRENCY]-#,##0</FormatCode>
</FormatElement>
<FormatElement msgid="CurrencyFormatskey4" default="true" type="medium" usage="CURRENCY" formatindex="15">
- <FormatCode>[CURRENCY] # ##0,00;[RED][CURRENCY]-# ##0,00</FormatCode>
+ <FormatCode>[CURRENCY] #,##0.00;[RED][CURRENCY]-#,##0.00</FormatCode>
</FormatElement>
<FormatElement msgid="CurrencyFormatskey5" default="false" type="medium" usage="CURRENCY" formatindex="16">
- <FormatCode># ##0,00 CCC</FormatCode>
+ <FormatCode>#,##0.00 CCC</FormatCode>
</FormatElement>
<FormatElement msgid="CurrencyFormatskey6" default="false" type="medium" usage="CURRENCY" formatindex="17">
- <FormatCode>[CURRENCY] # ##0,--;[RED][CURRENCY]-# ##0,--</FormatCode>
+ <FormatCode>[CURRENCY] #,##0,--;[RED][CURRENCY]-#,##0,--</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="CurrencyFormatskey9" default="false" type="medium" usage="CURRENCY" formatindex="105">
+ <FormatCode>[NatNum12 title CURRENCY]0</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="CurrencyFormatskey10" default="false" type="medium" usage="CURRENCY" formatindex="106">
+ <FormatCode>[NatNum12 title CURRENCY]0.00</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="CurrencyFormatskey11" default="false" type="medium" usage="CURRENCY" formatindex="107">
+ <FormatCode>[NatNum12 upper CURRENCY]0</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="CurrencyFormatskey12" default="false" type="medium" usage="CURRENCY" formatindex="108">
+ <FormatCode>[NatNum12 upper CURRENCY]0.00</FormatCode>
</FormatElement>
<FormatElement msgid="DateFormatskey1" default="true" type="short" usage="DATE" formatindex="18">
<FormatCode>YY-MM-DD</FormatCode>
@@ -198,10 +222,10 @@
<FormatCode>[HH]:MM:SS</FormatCode>
</FormatElement>
<FormatElement msgid="TimeFormatskey6" default="false" type="short" usage="TIME" formatindex="44">
- <FormatCode>MM:SS,00</FormatCode>
+ <FormatCode>MM:SS.00</FormatCode>
</FormatElement>
<FormatElement msgid="TimeFormatskey7" default="false" type="medium" usage="TIME" formatindex="45">
- <FormatCode>[HH]:MM:SS,00</FormatCode>
+ <FormatCode>[HH]:MM:SS.00</FormatCode>
</FormatElement>
<FormatElement msgid="DateTimeFormatskey1" default="false" type="medium" usage="DATE_TIME" formatindex="46">
<FormatCode>YY-MM-DD HH:MM</FormatCode>
diff --git a/i18npool/source/localedata/data/eo.xml b/i18npool/source/localedata/data/eo.xml
index 4d012531505a..ba718f92f4a1 100644
--- a/i18npool/source/localedata/data/eo.xml
+++ b/i18npool/source/localedata/data/eo.xml
@@ -157,31 +157,31 @@
<FormatCode>0,00</FormatCode>
</FormatElement>
<FormatElement msgid="FixedFormatskey4" default="false" type="short" usage="FIXED_NUMBER" formatindex="3">
- <FormatCode># #0</FormatCode>
+ <FormatCode># ##0</FormatCode>
</FormatElement>
<FormatElement msgid="FixedFormatskey5" default="false" type="medium" usage="FIXED_NUMBER" formatindex="4">
- <FormatCode># #0,00</FormatCode>
+ <FormatCode># ##0,00</FormatCode>
</FormatElement>
<FormatElement msgid="FixedFormatskey6" default="false" type="medium" usage="FIXED_NUMBER" formatindex="5">
- <FormatCode># ##,00</FormatCode>
+ <FormatCode># ###,00</FormatCode>
</FormatElement>
<FormatElement msgid="CurrencyFormatskey1" default="true" type="short" usage="CURRENCY" formatindex="12">
- <FormatCode># #0 [CURRENCY];-# #0 [CURRENCY]</FormatCode>
+ <FormatCode># ##0 [CURRENCY];-# ##0 [CURRENCY]</FormatCode>
</FormatElement>
<FormatElement msgid="CurrencyFormatskey2" default="false" type="medium" usage="CURRENCY" formatindex="13">
- <FormatCode># #0,00 [CURRENCY];-# #0,00 [CURRENCY]</FormatCode>
+ <FormatCode># ##0,00 [CURRENCY];-# ##0,00 [CURRENCY]</FormatCode>
</FormatElement>
<FormatElement msgid="CurrencyFormatskey3" default="false" type="medium" usage="CURRENCY" formatindex="14">
- <FormatCode># #0 [CURRENCY];[RED]-# #0 [CURRENCY]</FormatCode>
+ <FormatCode># ##0 [CURRENCY];[RED]-# ##0 [CURRENCY]</FormatCode>
</FormatElement>
<FormatElement msgid="CurrencyFormatskey4" default="true" type="medium" usage="CURRENCY" formatindex="15">
- <FormatCode># #0,00 [CURRENCY];[RED]-# #0,00 [CURRENCY]</FormatCode>
+ <FormatCode># ##0,00 [CURRENCY];[RED]-# ##0,00 [CURRENCY]</FormatCode>
</FormatElement>
<FormatElement msgid="CurrencyFormatskey5" default="false" type="medium" usage="CURRENCY" formatindex="16">
- <FormatCode># #0,00 CCC</FormatCode>
+ <FormatCode># ##0,00 CCC</FormatCode>
</FormatElement>
<FormatElement msgid="CurrencyFormatskey6" default="false" type="medium" usage="CURRENCY" formatindex="17">
- <FormatCode># #0,-- [CURRENCY];[RED]-# #0,-- [CURRENCY]</FormatCode>
+ <FormatCode># ##0,-- [CURRENCY];[RED]-# ##0,-- [CURRENCY]</FormatCode>
</FormatElement>
<FormatElement msgid="PercentFormatskey1" default="true" type="short" usage="PERCENT_NUMBER" formatindex="8">
<FormatCode>0%</FormatCode>
@@ -189,6 +189,15 @@
<FormatElement msgid="PercentFormatskey2" default="true" type="long" usage="PERCENT_NUMBER" formatindex="9">
<FormatCode>0,00%</FormatCode>
</FormatElement>
+ <FormatElement msgid="FixedFormatskey9" default="false" type="medium" usage="FIXED_NUMBER" formatindex="101">
+ <FormatCode>[NatNum12 cardinal]0</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="FixedFormatskey10" default="false" type="medium" usage="FIXED_NUMBER" formatindex="102">
+ <FormatCode>[NatNum12 capitalize cardinal]0</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="FixedFormatskey12" default="false" type="medium" usage="FIXED_NUMBER" formatindex="104">
+ <FormatCode>[NatNum12 upper cardinal]0</FormatCode>
+ </FormatElement>
<FormatElement msgid="ScientificFormatskey1" default="false" type="medium" usage="SCIENTIFIC_NUMBER" formatindex="6">
<FormatCode>0,00E+000</FormatCode>
</FormatElement>
diff --git a/i18npool/source/localedata/data/es_AR.xml b/i18npool/source/localedata/data/es_AR.xml
index 84cc34e3bb70..bff0c069e9be 100644
--- a/i18npool/source/localedata/data/es_AR.xml
+++ b/i18npool/source/localedata/data/es_AR.xml
@@ -47,8 +47,8 @@
<DoubleQuotationStart>“</DoubleQuotationStart>
<DoubleQuotationEnd>”</DoubleQuotationEnd>
</Markers>
- <TimeAM>AM</TimeAM>
- <TimePM>PM</TimePM>
+ <TimeAM>a. m.</TimeAM>
+ <TimePM>p. m.</TimePM>
<MeasurementSystem>metric</MeasurementSystem>
</LC_CTYPE>
<LC_FORMAT replaceFrom="[CURRENCY]" replaceTo="[$$-2C0A]">
@@ -71,6 +71,15 @@
<FormatElement msgid="FixedFormatskey6" default="false" type="medium" usage="FIXED_NUMBER" formatindex="5">
<FormatCode>#.###,00</FormatCode>
</FormatElement>
+ <FormatElement msgid="FixedFormatskey9" default="false" type="medium" usage="FIXED_NUMBER" formatindex="101">
+ <FormatCode>[NatNum12 cardinal]0</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="FixedFormatskey10" default="false" type="medium" usage="FIXED_NUMBER" formatindex="102">
+ <FormatCode>[NatNum12 capitalize cardinal]0</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="FixedFormatskey12" default="false" type="medium" usage="FIXED_NUMBER" formatindex="104">
+ <FormatCode>[NatNum12 upper cardinal]0</FormatCode>
+ </FormatElement>
<FormatElement msgid="ScientificFormatskey1" default="false" type="medium" usage="SCIENTIFIC_NUMBER" formatindex="6">
<FormatCode>0,00E+000</FormatCode>
</FormatElement>
@@ -104,6 +113,18 @@
<FormatElement msgid="CurrencyFormatskey6" default="false" type="medium" usage="CURRENCY" formatindex="17">
<FormatCode>[CURRENCY]#.##0,--;[RED]([CURRENCY]#.##0,--)</FormatCode>
</FormatElement>
+ <FormatElement msgid="CurrencyFormatskey9" default="false" type="medium" usage="CURRENCY" formatindex="105">
+ <FormatCode>[NatNum12 CURRENCY]0</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="CurrencyFormatskey10" default="false" type="medium" usage="CURRENCY" formatindex="106">
+ <FormatCode>[NatNum12 CURRENCY]0,00</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="CurrencyFormatskey11" default="false" type="medium" usage="CURRENCY" formatindex="107">
+ <FormatCode>[NatNum12 upper CURRENCY]0</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="CurrencyFormatskey12" default="false" type="medium" usage="CURRENCY" formatindex="108">
+ <FormatCode>[NatNum12 upper CURRENCY]0,00</FormatCode>
+ </FormatElement>
<FormatElement msgid="DateFormatskey1" default="true" type="short" usage="DATE" formatindex="18">
<FormatCode>D/MM/AA</FormatCode>
</FormatElement>
diff --git a/i18npool/source/localedata/data/es_BO.xml b/i18npool/source/localedata/data/es_BO.xml
index 317ab9406abc..68a43f161bd6 100644
--- a/i18npool/source/localedata/data/es_BO.xml
+++ b/i18npool/source/localedata/data/es_BO.xml
@@ -47,8 +47,8 @@
<DoubleQuotationStart>“</DoubleQuotationStart>
<DoubleQuotationEnd>”</DoubleQuotationEnd>
</Markers>
- <TimeAM>AM</TimeAM>
- <TimePM>PM</TimePM>
+ <TimeAM>a. m.</TimeAM>
+ <TimePM>p. m.</TimePM>
<MeasurementSystem>metric</MeasurementSystem>
</LC_CTYPE>
<LC_FORMAT replaceFrom="[CURRENCY]" replaceTo="[$Bs-400A]">
@@ -71,6 +71,15 @@
<FormatElement msgid="FixedFormatskey6" default="false" type="medium" usage="FIXED_NUMBER" formatindex="5">
<FormatCode>#.###,00</FormatCode>
</FormatElement>
+ <FormatElement msgid="FixedFormatskey9" default="false" type="medium" usage="FIXED_NUMBER" formatindex="101">
+ <FormatCode>[NatNum12 cardinal]0</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="FixedFormatskey10" default="false" type="medium" usage="FIXED_NUMBER" formatindex="102">
+ <FormatCode>[NatNum12 capitalize cardinal]0</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="FixedFormatskey12" default="false" type="medium" usage="FIXED_NUMBER" formatindex="104">
+ <FormatCode>[NatNum12 upper cardinal]0</FormatCode>
+ </FormatElement>
<FormatElement msgid="ScientificFormatskey1" default="false" type="medium" usage="SCIENTIFIC_NUMBER" formatindex="6">
<FormatCode>0,00E+000</FormatCode>
</FormatElement>
@@ -104,6 +113,18 @@
<FormatElement msgid="CurrencyFormatskey6" default="false" type="medium" usage="CURRENCY" formatindex="17">
<FormatCode>[CURRENCY] #.##0,--;[RED]-[CURRENCY] #.##0,--</FormatCode>
</FormatElement>
+ <FormatElement msgid="CurrencyFormatskey9" default="false" type="medium" usage="CURRENCY" formatindex="105">
+ <FormatCode>[NatNum12 CURRENCY]0</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="CurrencyFormatskey10" default="false" type="medium" usage="CURRENCY" formatindex="106">
+ <FormatCode>[NatNum12 CURRENCY]0,00</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="CurrencyFormatskey11" default="false" type="medium" usage="CURRENCY" formatindex="107">
+ <FormatCode>[NatNum12 upper CURRENCY]0</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="CurrencyFormatskey12" default="false" type="medium" usage="CURRENCY" formatindex="108">
+ <FormatCode>[NatNum12 upper CURRENCY]0,00</FormatCode>
+ </FormatElement>
<FormatElement msgid="DateFormatskey1" default="true" type="short" usage="DATE" formatindex="18">
<FormatCode>D/MM/AA</FormatCode>
</FormatElement>
diff --git a/i18npool/source/localedata/data/es_CL.xml b/i18npool/source/localedata/data/es_CL.xml
index 3b1605b98ed3..eeba1b385dca 100644
--- a/i18npool/source/localedata/data/es_CL.xml
+++ b/i18npool/source/localedata/data/es_CL.xml
@@ -47,8 +47,8 @@
<DoubleQuotationStart>“</DoubleQuotationStart>
<DoubleQuotationEnd>”</DoubleQuotationEnd>
</Markers>
- <TimeAM>AM</TimeAM>
- <TimePM>PM</TimePM>
+ <TimeAM>a. m.</TimeAM>
+ <TimePM>p. m.</TimePM>
<MeasurementSystem>metric</MeasurementSystem>
</LC_CTYPE>
<LC_FORMAT>
@@ -71,6 +71,15 @@
<FormatElement msgid="FixedFormatskey6" default="false" type="medium" usage="FIXED_NUMBER" formatindex="5">
<FormatCode>#.###,00</FormatCode>
</FormatElement>
+ <FormatElement msgid="FixedFormatskey9" default="false" type="medium" usage="FIXED_NUMBER" formatindex="101">
+ <FormatCode>[NatNum12 cardinal]0</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="FixedFormatskey10" default="false" type="medium" usage="FIXED_NUMBER" formatindex="102">
+ <FormatCode>[NatNum12 capitalize cardinal]0</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="FixedFormatskey12" default="false" type="medium" usage="FIXED_NUMBER" formatindex="104">
+ <FormatCode>[NatNum12 upper cardinal]0</FormatCode>
+ </FormatElement>
<FormatElement msgid="ScientificFormatskey1" default="false" type="medium" usage="SCIENTIFIC_NUMBER" formatindex="6">
<FormatCode>0,00E+000</FormatCode>
</FormatElement>
@@ -104,6 +113,18 @@
<FormatElement msgid="CurrencyFormatskey6" default="false" type="medium" usage="CURRENCY" formatindex="17">
<FormatCode>[$$-340A]#.##0;[RED][$$-340A] -#.##0</FormatCode>
</FormatElement>
+ <FormatElement msgid="CurrencyFormatskey9" default="false" type="medium" usage="CURRENCY" formatindex="105">
+ <FormatCode>[NatNum12 CURRENCY]0</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="CurrencyFormatskey10" default="false" type="medium" usage="CURRENCY" formatindex="106">
+ <FormatCode>[NatNum12 CURRENCY]0,00</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="CurrencyFormatskey11" default="false" type="medium" usage="CURRENCY" formatindex="107">
+ <FormatCode>[NatNum12 upper CURRENCY]0</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="CurrencyFormatskey12" default="false" type="medium" usage="CURRENCY" formatindex="108">
+ <FormatCode>[NatNum12 upper CURRENCY]0,00</FormatCode>
+ </FormatElement>
<FormatElement msgid="DateFormatskey1" default="true" type="short" usage="DATE" formatindex="18">
<FormatCode>D-MM-AA</FormatCode>
</FormatElement>
diff --git a/i18npool/source/localedata/data/es_CO.xml b/i18npool/source/localedata/data/es_CO.xml
index f7962ec6f169..3dc001d848dd 100644
--- a/i18npool/source/localedata/data/es_CO.xml
+++ b/i18npool/source/localedata/data/es_CO.xml
@@ -47,8 +47,8 @@
<DoubleQuotationStart>“</DoubleQuotationStart>
<DoubleQuotationEnd>”</DoubleQuotationEnd>
</Markers>
- <TimeAM>AM</TimeAM>
- <TimePM>PM</TimePM>
+ <TimeAM>a. m.</TimeAM>
+ <TimePM>p. m.</TimePM>
<MeasurementSystem>metric</MeasurementSystem>
</LC_CTYPE>
<LC_FORMAT>
@@ -71,6 +71,15 @@
<FormatElement msgid="FixedFormatskey6" default="false" type="medium" usage="FIXED_NUMBER" formatindex="5">
<FormatCode>#.###,00</FormatCode>
</FormatElement>
+ <FormatElement msgid="FixedFormatskey9" default="false" type="medium" usage="FIXED_NUMBER" formatindex="101">
+ <FormatCode>[NatNum12 cardinal]0</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="FixedFormatskey10" default="false" type="medium" usage="FIXED_NUMBER" formatindex="102">
+ <FormatCode>[NatNum12 capitalize cardinal]0</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="FixedFormatskey12" default="false" type="medium" usage="FIXED_NUMBER" formatindex="104">
+ <FormatCode>[NatNum12 upper cardinal]0</FormatCode>
+ </FormatElement>
<FormatElement msgid="ScientificFormatskey1" default="false" type="medium" usage="SCIENTIFIC_NUMBER" formatindex="6">
<FormatCode>0,00E+000</FormatCode>
</FormatElement>
@@ -104,6 +113,18 @@
<FormatElement msgid="CurrencyFormatskey6" default="false" type="medium" usage="CURRENCY" formatindex="17">
<FormatCode>[$$-240A]#.##0.--;[RED]([$$-240A]#.##0.--)</FormatCode>
</FormatElement>
+ <FormatElement msgid="CurrencyFormatskey9" default="false" type="medium" usage="CURRENCY" formatindex="105">
+ <FormatCode>[NatNum12 CURRENCY]0</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="CurrencyFormatskey10" default="false" type="medium" usage="CURRENCY" formatindex="106">
+ <FormatCode>[NatNum12 CURRENCY]0,00</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="CurrencyFormatskey11" default="false" type="medium" usage="CURRENCY" formatindex="107">
+ <FormatCode>[NatNum12 upper CURRENCY]0</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="CurrencyFormatskey12" default="false" type="medium" usage="CURRENCY" formatindex="108">
+ <FormatCode>[NatNum12 upper CURRENCY]0,00</FormatCode>
+ </FormatElement>
<FormatElement msgid="DateFormatskey1" default="true" type="short" usage="DATE" formatindex="18">
<FormatCode>D/MM/AA</FormatCode>
</FormatElement>
diff --git a/i18npool/source/localedata/data/es_CR.xml b/i18npool/source/localedata/data/es_CR.xml
index 23c204fac6c8..95a6ea673a08 100644
--- a/i18npool/source/localedata/data/es_CR.xml
+++ b/i18npool/source/localedata/data/es_CR.xml
@@ -47,12 +47,24 @@
<DoubleQuotationStart>“</DoubleQuotationStart>
<DoubleQuotationEnd>”</DoubleQuotationEnd>
</Markers>
- <TimeAM>AM</TimeAM>
- <TimePM>PM</TimePM>
+ <TimeAM>a. m.</TimeAM>
+ <TimePM>p. m.</TimePM>
<MeasurementSystem>metric</MeasurementSystem>
</LC_CTYPE>
<LC_FORMAT>
<DateAcceptancePattern>D/M</DateAcceptancePattern>
+ <FormatElement msgid="CurrencyFormatskey9" default="false" type="medium" usage="CURRENCY" formatindex="105">
+ <FormatCode>[NatNum12 CURRENCY]0</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="CurrencyFormatskey10" default="false" type="medium" usage="CURRENCY" formatindex="106">
+ <FormatCode>[NatNum12 CURRENCY]0,00</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="CurrencyFormatskey11" default="false" type="medium" usage="CURRENCY" formatindex="107">
+ <FormatCode>[NatNum12 upper CURRENCY]0</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="CurrencyFormatskey12" default="false" type="medium" usage="CURRENCY" formatindex="108">
+ <FormatCode>[NatNum12 upper CURRENCY]0,00</FormatCode>
+ </FormatElement>
<FormatElement msgid="DateFormatskey1" default="true" type="short" usage="DATE" formatindex="18">
<FormatCode>D/MM/AA</FormatCode>
</FormatElement>
@@ -191,6 +203,15 @@
<FormatElement msgid="PercentFormatskey2" default="true" type="long" usage="PERCENT_NUMBER" formatindex="9">
<FormatCode>0,00" "%</FormatCode>
</FormatElement>
+ <FormatElement msgid="FixedFormatskey9" default="false" type="medium" usage="FIXED_NUMBER" formatindex="101">
+ <FormatCode>[NatNum12 cardinal]0</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="FixedFormatskey10" default="false" type="medium" usage="FIXED_NUMBER" formatindex="102">
+ <FormatCode>[NatNum12 capitalize cardinal]0</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="FixedFormatskey12" default="false" type="medium" usage="FIXED_NUMBER" formatindex="104">
+ <FormatCode>[NatNum12 upper cardinal]0</FormatCode>
+ </FormatElement>
<FormatElement msgid="ScientificFormatskey1" default="false" type="medium" usage="SCIENTIFIC_NUMBER" formatindex="6">
<FormatCode>0,00E+000</FormatCode>
</FormatElement>
diff --git a/i18npool/source/localedata/data/es_DO.xml b/i18npool/source/localedata/data/es_DO.xml
index 446219719b8a..0169415ca7d8 100644
--- a/i18npool/source/localedata/data/es_DO.xml
+++ b/i18npool/source/localedata/data/es_DO.xml
@@ -47,12 +47,24 @@
<DoubleQuotationStart>“</DoubleQuotationStart>
<DoubleQuotationEnd>”</DoubleQuotationEnd>
</Markers>
- <TimeAM>a.m.</TimeAM>
- <TimePM>p.m.</TimePM>
+ <TimeAM>a. m.</TimeAM>
+ <TimePM>p. m.</TimePM>
<MeasurementSystem>Metric</MeasurementSystem>
</LC_CTYPE>
<LC_FORMAT replaceFrom="[CURRENCY]" replaceTo="[$RD$-1C0A] ">
<DateAcceptancePattern>D/M</DateAcceptancePattern>
+ <FormatElement msgid="CurrencyFormatskey9" default="false" type="medium" usage="CURRENCY" formatindex="105">
+ <FormatCode>[NatNum12 CURRENCY]0</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="CurrencyFormatskey10" default="false" type="medium" usage="CURRENCY" formatindex="106">
+ <FormatCode>[NatNum12 CURRENCY]0.00</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="CurrencyFormatskey11" default="false" type="medium" usage="CURRENCY" formatindex="107">
+ <FormatCode>[NatNum12 upper CURRENCY]0</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="CurrencyFormatskey12" default="false" type="medium" usage="CURRENCY" formatindex="108">
+ <FormatCode>[NatNum12 upper CURRENCY]0.00</FormatCode>
+ </FormatElement>
<FormatElement msgid="DateFormatskey1" default="true" type="short" usage="DATE" formatindex="18">
<FormatCode>D/MM/AA</FormatCode>
</FormatElement>
@@ -189,6 +201,15 @@
<FormatElement msgid="PercentFormatskey2" default="true" type="long" usage="PERCENT_NUMBER" formatindex="9">
<FormatCode>0.00%</FormatCode>
</FormatElement>
+ <FormatElement msgid="FixedFormatskey9" default="false" type="medium" usage="FIXED_NUMBER" formatindex="101">
+ <FormatCode>[NatNum12 cardinal]0</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="FixedFormatskey10" default="false" type="medium" usage="FIXED_NUMBER" formatindex="102">
+ <FormatCode>[NatNum12 capitalize cardinal]0</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="FixedFormatskey12" default="false" type="medium" usage="FIXED_NUMBER" formatindex="104">
+ <FormatCode>[NatNum12 upper cardinal]0</FormatCode>
+ </FormatElement>
<FormatElement msgid="ScientificFormatskey1" default="false" type="medium" usage="SCIENTIFIC_NUMBER" formatindex="6">
<FormatCode>0.00E+000</FormatCode>
</FormatElement>
diff --git a/i18npool/source/localedata/data/es_EC.xml b/i18npool/source/localedata/data/es_EC.xml
index eea5b1b73173..a9f1375f7494 100644
--- a/i18npool/source/localedata/data/es_EC.xml
+++ b/i18npool/source/localedata/data/es_EC.xml
@@ -47,8 +47,8 @@
<DoubleQuotationStart>“</DoubleQuotationStart>
<DoubleQuotationEnd>”</DoubleQuotationEnd>
</Markers>
- <TimeAM>AM</TimeAM>
- <TimePM>PM</TimePM>
+ <TimeAM>a. m.</TimeAM>
+ <TimePM>p. m.</TimePM>
<MeasurementSystem>metric</MeasurementSystem>
</LC_CTYPE>
<LC_FORMAT>
@@ -71,6 +71,15 @@
<FormatElement msgid="FixedFormatskey6" default="false" type="medium" usage="FIXED_NUMBER" formatindex="5">
<FormatCode>#,###.00</FormatCode>
</FormatElement>
+ <FormatElement msgid="FixedFormatskey9" default="false" type="medium" usage="FIXED_NUMBER" formatindex="101">
+ <FormatCode>[NatNum12 cardinal]0</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="FixedFormatskey10" default="false" type="medium" usage="FIXED_NUMBER" formatindex="102">
+ <FormatCode>[NatNum12 capitalize cardinal]0</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="FixedFormatskey12" default="false" type="medium" usage="FIXED_NUMBER" formatindex="104">
+ <FormatCode>[NatNum12 upper cardinal]0</FormatCode>
+ </FormatElement>
<FormatElement msgid="ScientificFormatskey1" default="false" type="medium" usage="SCIENTIFIC_NUMBER" formatindex="6">
<FormatCode>0.00E+000</FormatCode>
</FormatElement>
@@ -104,6 +113,18 @@
<FormatElement msgid="CurrencyFormatskey6" default="false" type="medium" usage="CURRENCY" formatindex="17">
<FormatCode>[$S/-300A]#,##0.--;[RED][$S/-300A]-#,##0.--</FormatCode>
</FormatElement>
+ <FormatElement msgid="CurrencyFormatskey9" default="false" type="medium" usage="CURRENCY" formatindex="105">
+ <FormatCode>[NatNum12 CURRENCY]0</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="CurrencyFormatskey10" default="false" type="medium" usage="CURRENCY" formatindex="106">
+ <FormatCode>[NatNum12 CURRENCY]0.00</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="CurrencyFormatskey11" default="false" type="medium" usage="CURRENCY" formatindex="107">
+ <FormatCode>[NatNum12 upper CURRENCY]0</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="CurrencyFormatskey12" default="false" type="medium" usage="CURRENCY" formatindex="108">
+ <FormatCode>[NatNum12 upper CURRENCY]0.00</FormatCode>
+ </FormatElement>
<FormatElement msgid="DateFormatskey1" default="true" type="short" usage="DATE" formatindex="18">
<FormatCode>D/MM/AA</FormatCode>
</FormatElement>
diff --git a/i18npool/source/localedata/data/es_ES.xml b/i18npool/source/localedata/data/es_ES.xml
index 15b25d937aab..a04ca1e41ebf 100644
--- a/i18npool/source/localedata/data/es_ES.xml
+++ b/i18npool/source/localedata/data/es_ES.xml
@@ -47,8 +47,8 @@
<DoubleQuotationStart>“</DoubleQuotationStart>
<DoubleQuotationEnd>”</DoubleQuotationEnd>
</Markers>
- <TimeAM>AM</TimeAM>
- <TimePM>PM</TimePM>
+ <TimeAM>a. m.</TimeAM>
+ <TimePM>p. m.</TimePM>
<MeasurementSystem>metric</MeasurementSystem>
</LC_CTYPE>
<LC_FORMAT replaceFrom="[CURRENCY]" replaceTo="[$₧-40A]">
@@ -71,6 +71,15 @@
<FormatElement msgid="FixedFormatskey6" default="false" type="medium" usage="FIXED_NUMBER" formatindex="5">
<FormatCode>#.###,00</FormatCode>
</FormatElement>
+ <FormatElement msgid="FixedFormatskey9" default="false" type="medium" usage="FIXED_NUMBER" formatindex="101">
+ <FormatCode>[NatNum12 cardinal]0</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="FixedFormatskey10" default="false" type="medium" usage="FIXED_NUMBER" formatindex="102">
+ <FormatCode>[NatNum12 capitalize cardinal]0</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="FixedFormatskey12" default="false" type="medium" usage="FIXED_NUMBER" formatindex="104">
+ <FormatCode>[NatNum12 upper cardinal]0</FormatCode>
+ </FormatElement>
<FormatElement msgid="ScientificFormatskey1" default="false" type="medium" usage="SCIENTIFIC_NUMBER" formatindex="6">
<FormatCode>0,00E+000</FormatCode>
</FormatElement>
@@ -104,6 +113,18 @@
<FormatElement msgid="CurrencyFormatskey6" default="false" type="medium" usage="CURRENCY" formatindex="17">
<FormatCode>#.##0 [CURRENCY];[RED]-#.##0 [CURRENCY]</FormatCode>
</FormatElement>
+ <FormatElement msgid="CurrencyFormatskey9" default="false" type="medium" usage="CURRENCY" formatindex="105">
+ <FormatCode>[NatNum12 CURRENCY]0</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="CurrencyFormatskey10" default="false" type="medium" usage="CURRENCY" formatindex="106">
+ <FormatCode>[NatNum12 CURRENCY]0,00</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="CurrencyFormatskey11" default="false" type="medium" usage="CURRENCY" formatindex="107">
+ <FormatCode>[NatNum12 upper CURRENCY]0</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="CurrencyFormatskey12" default="false" type="medium" usage="CURRENCY" formatindex="108">
+ <FormatCode>[NatNum12 upper CURRENCY]0,00</FormatCode>
+ </FormatElement>
<FormatElement msgid="DateFormatskey1" default="true" type="short" usage="DATE" formatindex="18">
<FormatCode>D/MM/AA</FormatCode>
</FormatElement>
diff --git a/i18npool/source/localedata/data/es_GT.xml b/i18npool/source/localedata/data/es_GT.xml
index 5ef3985d0d30..7f14fb9844a0 100644
--- a/i18npool/source/localedata/data/es_GT.xml
+++ b/i18npool/source/localedata/data/es_GT.xml
@@ -47,12 +47,24 @@
<DoubleQuotationStart>“</DoubleQuotationStart>
<DoubleQuotationEnd>”</DoubleQuotationEnd>
</Markers>
- <TimeAM>a.m.</TimeAM>
- <TimePM>p.m.</TimePM>
+ <TimeAM>a. m.</TimeAM>
+ <TimePM>p. m.</TimePM>
<MeasurementSystem>Metric</MeasurementSystem>
</LC_CTYPE>
<LC_FORMAT replaceFrom="[CURRENCY]" replaceTo="[$Q-100A]">
<DateAcceptancePattern>D/M</DateAcceptancePattern>
+ <FormatElement msgid="CurrencyFormatskey9" default="false" type="medium" usage="CURRENCY" formatindex="105">
+ <FormatCode>[NatNum12 CURRENCY]0</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="CurrencyFormatskey10" default="false" type="medium" usage="CURRENCY" formatindex="106">
+ <FormatCode>[NatNum12 CURRENCY]0.00</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="CurrencyFormatskey11" default="false" type="medium" usage="CURRENCY" formatindex="107">
+ <FormatCode>[NatNum12 upper CURRENCY]0</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="CurrencyFormatskey12" default="false" type="medium" usage="CURRENCY" formatindex="108">
+ <FormatCode>[NatNum12 upper CURRENCY]0.00</FormatCode>
+ </FormatElement>
<FormatElement msgid="DateFormatskey1" default="true" type="short" usage="DATE" formatindex="18">
<FormatCode>D/MM/AA</FormatCode>
</FormatElement>
@@ -189,6 +201,15 @@
<FormatElement msgid="PercentFormatskey2" default="true" type="long" usage="PERCENT_NUMBER" formatindex="9">
<FormatCode>0.00" "%</FormatCode>
</FormatElement>
+ <FormatElement msgid="FixedFormatskey9" default="false" type="medium" usage="FIXED_NUMBER" formatindex="101">
+ <FormatCode>[NatNum12 cardinal]0</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="FixedFormatskey10" default="false" type="medium" usage="FIXED_NUMBER" formatindex="102">
+ <FormatCode>[NatNum12 capitalize cardinal]0</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="FixedFormatskey12" default="false" type="medium" usage="FIXED_NUMBER" formatindex="104">
+ <FormatCode>[NatNum12 upper cardinal]0</FormatCode>
+ </FormatElement>
<FormatElement msgid="ScientificFormatskey1" default="false" type="medium" usage="SCIENTIFIC_NUMBER" formatindex="6">
<FormatCode>0.00E+000</FormatCode>
</FormatElement>
diff --git a/i18npool/source/localedata/data/es_PE.xml b/i18npool/source/localedata/data/es_PE.xml
index cf50595b913f..97fa78910162 100644
--- a/i18npool/source/localedata/data/es_PE.xml
+++ b/i18npool/source/localedata/data/es_PE.xml
@@ -47,12 +47,24 @@
<DoubleQuotationStart>“</DoubleQuotationStart>
<DoubleQuotationEnd>”</DoubleQuotationEnd>
</Markers>
- <TimeAM>a.m.</TimeAM>
- <TimePM>p.m.</TimePM>
+ <TimeAM>a. m.</TimeAM>
+ <TimePM>p. m.</TimePM>
<MeasurementSystem>Metric</MeasurementSystem>
</LC_CTYPE>
<LC_FORMAT replaceFrom="[CURRENCY]" replaceTo="[$S/-280A]">
<DateAcceptancePattern>D/M</DateAcceptancePattern>
+ <FormatElement msgid="CurrencyFormatskey9" default="false" type="medium" usage="CURRENCY" formatindex="105">
+ <FormatCode>[NatNum12 CURRENCY]0</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="CurrencyFormatskey10" default="false" type="medium" usage="CURRENCY" formatindex="106">
+ <FormatCode>[NatNum12 CURRENCY]0.00</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="CurrencyFormatskey11" default="false" type="medium" usage="CURRENCY" formatindex="107">
+ <FormatCode>[NatNum12 upper CURRENCY]0</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="CurrencyFormatskey12" default="false" type="medium" usage="CURRENCY" formatindex="108">
+ <FormatCode>[NatNum12 upper CURRENCY]0.00</FormatCode>
+ </FormatElement>
<FormatElement msgid="DateFormatskey1" default="true" type="short" usage="DATE" formatindex="18">
<FormatCode>D/MM/AA</FormatCode>
</FormatElement>
@@ -189,6 +201,15 @@
<FormatElement msgid="PercentFormatskey2" default="true" type="long" usage="PERCENT_NUMBER" formatindex="9">
<FormatCode>0.00" "%</FormatCode>
</FormatElement>
+ <FormatElement msgid="FixedFormatskey9" default="false" type="medium" usage="FIXED_NUMBER" formatindex="101">
+ <FormatCode>[NatNum12 cardinal]0</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="FixedFormatskey10" default="false" type="medium" usage="FIXED_NUMBER" formatindex="102">
+ <FormatCode>[NatNum12 capitalize cardinal]0</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="FixedFormatskey12" default="false" type="medium" usage="FIXED_NUMBER" formatindex="104">
+ <FormatCode>[NatNum12 upper cardinal]0</FormatCode>
+ </FormatElement>
<FormatElement msgid="ScientificFormatskey1" default="false" type="medium" usage="SCIENTIFIC_NUMBER" formatindex="6">
<FormatCode>0.00E+000</FormatCode>
</FormatElement>
diff --git a/i18npool/source/localedata/data/es_SV.xml b/i18npool/source/localedata/data/es_SV.xml
index af6a52c96e22..e1ce764577fe 100644
--- a/i18npool/source/localedata/data/es_SV.xml
+++ b/i18npool/source/localedata/data/es_SV.xml
@@ -71,6 +71,15 @@
<FormatElement msgid="FixedFormatskey6" default="false" type="medium" usage="FIXED_NUMBER" formatindex="5">
<FormatCode>#,###.00</FormatCode>
</FormatElement>
+ <FormatElement msgid="FixedFormatskey9" default="false" type="medium" usage="FIXED_NUMBER" formatindex="101">
+ <FormatCode>[NatNum12 cardinal]0</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="FixedFormatskey10" default="false" type="medium" usage="FIXED_NUMBER" formatindex="102">
+ <FormatCode>[NatNum12 capitalize cardinal]0</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="FixedFormatskey12" default="false" type="medium" usage="FIXED_NUMBER" formatindex="104">
+ <FormatCode>[NatNum12 upper cardinal]0</FormatCode>
+ </FormatElement>
<FormatElement msgid="ScientificFormatskey1" default="false" type="medium" usage="SCIENTIFIC_NUMBER" formatindex="6">
<FormatCode>0.00E+000</FormatCode>
</FormatElement>
@@ -104,6 +113,18 @@
<FormatElement msgid="CurrencyFormatskey6" default="false" type="medium" usage="CURRENCY" formatindex="17">
<FormatCode>[CURRENCY] #,##0.--;[RED]-[CURRENCY] #,##0.--</FormatCode>
</FormatElement>
+ <FormatElement msgid="CurrencyFormatskey9" default="false" type="medium" usage="CURRENCY" formatindex="105">
+ <FormatCode>[NatNum12 CURRENCY]0</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="CurrencyFormatskey10" default="false" type="medium" usage="CURRENCY" formatindex="106">
+ <FormatCode>[NatNum12 CURRENCY]0.00</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="CurrencyFormatskey11" default="false" type="medium" usage="CURRENCY" formatindex="107">
+ <FormatCode>[NatNum12 upper CURRENCY]0</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="CurrencyFormatskey12" default="false" type="medium" usage="CURRENCY" formatindex="108">
+ <FormatCode>[NatNum12 upper CURRENCY]0.00</FormatCode>
+ </FormatElement>
<FormatElement msgid="DateFormatskey1" default="true" type="short" usage="DATE" formatindex="18">
<FormatCode>D/MM/AA</FormatCode>
</FormatElement>
diff --git a/i18npool/source/localedata/data/et_EE.xml b/i18npool/source/localedata/data/et_EE.xml
index bdc06c16f5fe..81d0e0f0fabf 100644
--- a/i18npool/source/localedata/data/et_EE.xml
+++ b/i18npool/source/localedata/data/et_EE.xml
@@ -74,6 +74,15 @@
<FormatElement msgid="FixedFormatskey6" default="false" type="medium" usage="FIXED_NUMBER" formatindex="5">
<FormatCode># ###,00</FormatCode>
</FormatElement>
+ <FormatElement msgid="FixedFormatskey9" default="false" type="medium" usage="FIXED_NUMBER" formatindex="101">
+ <FormatCode>[NatNum12 cardinal]0</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="FixedFormatskey10" default="false" type="medium" usage="FIXED_NUMBER" formatindex="102">
+ <FormatCode>[NatNum12 capitalize cardinal]0</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="FixedFormatskey12" default="false" type="medium" usage="FIXED_NUMBER" formatindex="104">
+ <FormatCode>[NatNum12 upper cardinal]0</FormatCode>
+ </FormatElement>
<FormatElement msgid="ScientificFormatskey1" default="false" type="medium" usage="SCIENTIFIC_NUMBER" formatindex="6">
<FormatCode>0,00E+000</FormatCode>
</FormatElement>
@@ -107,6 +116,18 @@
<FormatElement msgid="CurrencyFormatskey6" default="false" type="medium" usage="CURRENCY" formatindex="17">
<FormatCode># ##0,-- [$kr-425];[RED]-# ##0,-- [$kr-425]</FormatCode>
</FormatElement>
+ <FormatElement msgid="CurrencyFormatskey9" default="false" type="medium" usage="CURRENCY" formatindex="105">
+ <FormatCode>[NatNum12 CURRENCY]0</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="CurrencyFormatskey10" default="false" type="medium" usage="CURRENCY" formatindex="106">
+ <FormatCode>[NatNum12 CURRENCY]0,00</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="CurrencyFormatskey11" default="false" type="medium" usage="CURRENCY" formatindex="107">
+ <FormatCode>[NatNum12 upper CURRENCY]0</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="CurrencyFormatskey12" default="false" type="medium" usage="CURRENCY" formatindex="108">
+ <FormatCode>[NatNum12 upper CURRENCY]0,00</FormatCode>
+ </FormatElement>
<FormatElement msgid="DateFormatskey1" default="true" type="short" usage="DATE" formatindex="18">
<FormatCode>DD.MM.YY</FormatCode>
</FormatElement>
diff --git a/i18npool/source/localedata/data/fa_IR.xml b/i18npool/source/localedata/data/fa_IR.xml
index 5199c1efdaf3..0b45e5b33a5f 100644
--- a/i18npool/source/localedata/data/fa_IR.xml
+++ b/i18npool/source/localedata/data/fa_IR.xml
@@ -72,6 +72,9 @@
<FormatElement msgid="FixedFormatskey6" default="false" type="medium" usage="FIXED_NUMBER" formatindex="5">
<FormatCode>[NatNum1]#٬###٫00</FormatCode>
</FormatElement>
+ <FormatElement msgid="FixedFormatskey9" default="false" type="medium" usage="FIXED_NUMBER" formatindex="101">
+ <FormatCode>[NatNum12 cardinal]0</FormatCode>
+ </FormatElement>
<FormatElement msgid="ScientificFormatskey1" default="false" type="medium" usage="SCIENTIFIC_NUMBER" formatindex="6">
<FormatCode>[NatNum1]0٫00E+000</FormatCode>
</FormatElement>
diff --git a/i18npool/source/localedata/data/fi_FI.xml b/i18npool/source/localedata/data/fi_FI.xml
index c800db1aea2f..b58659e8c770 100644
--- a/i18npool/source/localedata/data/fi_FI.xml
+++ b/i18npool/source/localedata/data/fi_FI.xml
@@ -71,6 +71,15 @@
<FormatElement msgid="FixedFormatskey6" default="false" type="medium" usage="FIXED_NUMBER" formatindex="5">
<FormatCode># ###,00</FormatCode>
</FormatElement>
+ <FormatElement msgid="FixedFormatskey9" default="false" type="medium" usage="FIXED_NUMBER" formatindex="101">
+ <FormatCode>[NatNum12 cardinal]0</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="FixedFormatskey10" default="false" type="medium" usage="FIXED_NUMBER" formatindex="102">
+ <FormatCode>[NatNum12 capitalize cardinal]0</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="FixedFormatskey12" default="false" type="medium" usage="FIXED_NUMBER" formatindex="104">
+ <FormatCode>[NatNum12 upper cardinal]0</FormatCode>
+ </FormatElement>
<FormatElement msgid="ScientificFormatskey1" default="false" type="medium" usage="SCIENTIFIC_NUMBER" formatindex="6">
<FormatCode>0,00E+000</FormatCode>
</FormatElement>
@@ -104,6 +113,18 @@
<FormatElement msgid="CurrencyFormatskey6" default="false" type="medium" usage="CURRENCY" formatindex="17">
<FormatCode># ##0,-- [$mk-40B];[RED]-# ##0,-- [$mk-40B]</FormatCode>
</FormatElement>
+ <FormatElement msgid="CurrencyFormatskey9" default="false" type="medium" usage="CURRENCY" formatindex="105">
+ <FormatCode>[NatNum12 CURRENCY]0</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="CurrencyFormatskey10" default="false" type="medium" usage="CURRENCY" formatindex="106">
+ <FormatCode>[NatNum12 CURRENCY]0,00</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="CurrencyFormatskey11" default="false" type="medium" usage="CURRENCY" formatindex="107">
+ <FormatCode>[NatNum12 upper CURRENCY]0</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="CurrencyFormatskey12" default="false" type="medium" usage="CURRENCY" formatindex="108">
+ <FormatCode>[NatNum12 upper CURRENCY]0,00</FormatCode>
+ </FormatElement>
<FormatElement msgid="DateFormatskey1" default="true" type="short" usage="DATE" formatindex="18">
<FormatCode>P.K.VVVV</FormatCode>
</FormatElement>
diff --git a/i18npool/source/localedata/data/fr_BE.xml b/i18npool/source/localedata/data/fr_BE.xml
index d71c2410e3c9..fea6c387efa7 100644
--- a/i18npool/source/localedata/data/fr_BE.xml
+++ b/i18npool/source/localedata/data/fr_BE.xml
@@ -71,6 +71,15 @@
<FormatElement msgid="FixedFormatskey6" default="false" type="medium" usage="FIXED_NUMBER" formatindex="5">
<FormatCode>#.###,00</FormatCode>
</FormatElement>
+ <FormatElement msgid="FixedFormatskey9" default="false" type="medium" usage="FIXED_NUMBER" formatindex="101">
+ <FormatCode>[NatNum12 cardinal]0</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="FixedFormatskey10" default="false" type="medium" usage="FIXED_NUMBER" formatindex="102">
+ <FormatCode>[NatNum12 capitalize cardinal]0</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="FixedFormatskey12" default="false" type="medium" usage="FIXED_NUMBER" formatindex="104">
+ <FormatCode>[NatNum12 upper cardinal]0</FormatCode>
+ </FormatElement>
<FormatElement msgid="ScientificFormatskey1" default="false" type="medium" usage="SCIENTIFIC_NUMBER" formatindex="6">
<FormatCode>0,00E+000</FormatCode>
</FormatElement>
@@ -104,6 +113,18 @@
<FormatElement msgid="CurrencyFormatskey6" default="false" type="medium" usage="CURRENCY" formatindex="17">
<FormatCode>#.##0,-- [$FB-80C];[RED]-#.##0,-- [$FB-80C]</FormatCode>
</FormatElement>
+ <FormatElement msgid="CurrencyFormatskey9" default="false" type="medium" usage="CURRENCY" formatindex="105">
+ <FormatCode>[NatNum12 CURRENCY]0</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="CurrencyFormatskey10" default="false" type="medium" usage="CURRENCY" formatindex="106">
+ <FormatCode>[NatNum12 CURRENCY]0,00</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="CurrencyFormatskey11" default="false" type="medium" usage="CURRENCY" formatindex="107">
+ <FormatCode>[NatNum12 upper CURRENCY]0</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="CurrencyFormatskey12" default="false" type="medium" usage="CURRENCY" formatindex="108">
+ <FormatCode>[NatNum12 upper CURRENCY]0,00</FormatCode>
+ </FormatElement>
<FormatElement msgid="DateFormatskey1" default="true" type="short" usage="DATE" formatindex="18">
<FormatCode>J/MM/AA</FormatCode>
</FormatElement>
diff --git a/i18npool/source/localedata/data/fr_BF.xml b/i18npool/source/localedata/data/fr_BF.xml
index 7f4661b8edb4..ace80258821f 100644
--- a/i18npool/source/localedata/data/fr_BF.xml
+++ b/i18npool/source/localedata/data/fr_BF.xml
@@ -64,6 +64,15 @@
<FormatElement msgid="FixedFormatskey6" default="false" type="medium" usage="FIXED_NUMBER" formatindex="5">
<FormatCode># ###,00</FormatCode>
</FormatElement>
+ <FormatElement msgid="FixedFormatskey9" default="false" type="medium" usage="FIXED_NUMBER" formatindex="101">
+ <FormatCode>[NatNum12 cardinal]0</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="FixedFormatskey10" default="false" type="medium" usage="FIXED_NUMBER" formatindex="102">
+ <FormatCode>[NatNum12 capitalize cardinal]0</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="FixedFormatskey12" default="false" type="medium" usage="FIXED_NUMBER" formatindex="104">
+ <FormatCode>[NatNum12 upper cardinal]0</FormatCode>
+ </FormatElement>
<FormatElement msgid="ScientificFormatskey1" default="false" type="medium" usage="SCIENTIFIC_NUMBER" formatindex="6">
<FormatCode>0,00E+000</FormatCode>
</FormatElement>
@@ -97,6 +106,18 @@
<FormatElement msgid="CurrencyFormatskey6" default="false" type="medium" usage="CURRENCY" formatindex="17">
<FormatCode># ##0,-- [CURRENCY];[RED]-# ##0,-- [CURRENCY]</FormatCode>
</FormatElement>
+ <FormatElement msgid="CurrencyFormatskey9" default="false" type="medium" usage="CURRENCY" formatindex="105">
+ <FormatCode>[NatNum12 CURRENCY]0</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="CurrencyFormatskey10" default="false" type="medium" usage="CURRENCY" formatindex="106">
+ <FormatCode>[NatNum12 CURRENCY]0,00</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="CurrencyFormatskey11" default="false" type="medium" usage="CURRENCY" formatindex="107">
+ <FormatCode>[NatNum12 upper CURRENCY]0</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="CurrencyFormatskey12" default="false" type="medium" usage="CURRENCY" formatindex="108">
+ <FormatCode>[NatNum12 upper CURRENCY]0,00</FormatCode>
+ </FormatElement>
<FormatElement msgid="DateFormatskey11" default="true" type="short" usage="DATE" formatindex="18">
<FormatCode>D/MM/YY</FormatCode>
</FormatElement>
@@ -361,16 +382,7 @@
<quarter4Abbreviation>T4</quarter4Abbreviation>
</ReservedWords>
</LC_MISC>
- <LC_NumberingLevel>
- <NumberingLevel NumType="4" Prefix=" " Suffix=")"/>
- <NumberingLevel NumType="4" Prefix=" " Suffix="."/>
- <NumberingLevel NumType="4" Prefix="(" Suffix=")"/>
- <NumberingLevel NumType="2" Prefix=" " Suffix="."/>
- <NumberingLevel NumType="0" Prefix=" " Suffix=")"/>
- <NumberingLevel NumType="1" Prefix=" " Suffix=")"/>
- <NumberingLevel NumType="1" Prefix="(" Suffix=")"/>
- <NumberingLevel NumType="3" Prefix=" " Suffix="."/>
- </LC_NumberingLevel>
+ <LC_NumberingLevel ref="en_US"/>
<LC_OutLineNumberingLevel ref="en_US"/>
</Locale>
<!--Version 1.0 -->
diff --git a/i18npool/source/localedata/data/fr_CA.xml b/i18npool/source/localedata/data/fr_CA.xml
index fd8bd9c7fcb9..4f61c58aeda9 100644
--- a/i18npool/source/localedata/data/fr_CA.xml
+++ b/i18npool/source/localedata/data/fr_CA.xml
@@ -73,6 +73,15 @@
<FormatElement msgid="FixedFormatskey6" default="false" type="medium" usage="FIXED_NUMBER" formatindex="5">
<FormatCode># ###,00</FormatCode>
</FormatElement>
+ <FormatElement msgid="FixedFormatskey9" default="false" type="medium" usage="FIXED_NUMBER" formatindex="101">
+ <FormatCode>[NatNum12 cardinal]0</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="FixedFormatskey10" default="false" type="medium" usage="FIXED_NUMBER" formatindex="102">
+ <FormatCode>[NatNum12 capitalize cardinal]0</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="FixedFormatskey12" default="false" type="medium" usage="FIXED_NUMBER" formatindex="104">
+ <FormatCode>[NatNum12 upper cardinal]0</FormatCode>
+ </FormatElement>
<FormatElement msgid="ScientificFormatskey1" default="false" type="medium" usage="SCIENTIFIC_NUMBER" formatindex="6">
<FormatCode>0,00E+000</FormatCode>
</FormatElement>
@@ -106,6 +115,18 @@
<FormatElement msgid="CurrencyFormatskey6" default="false" type="medium" usage="CURRENCY" formatindex="17">
<FormatCode># ##0,-- [$$-C0C];[RED]-# ##0,-- [$$-C0C]</FormatCode>
</FormatElement>
+ <FormatElement msgid="CurrencyFormatskey9" default="false" type="medium" usage="CURRENCY" formatindex="105">
+ <FormatCode>[NatNum12 CURRENCY]0</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="CurrencyFormatskey10" default="false" type="medium" usage="CURRENCY" formatindex="106">
+ <FormatCode>[NatNum12 CURRENCY]0,00</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="CurrencyFormatskey11" default="false" type="medium" usage="CURRENCY" formatindex="107">
+ <FormatCode>[NatNum12 upper CURRENCY]0</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="CurrencyFormatskey12" default="false" type="medium" usage="CURRENCY" formatindex="108">
+ <FormatCode>[NatNum12 upper CURRENCY]0,00</FormatCode>
+ </FormatElement>
<FormatElement msgid="DateFormatskey1" default="true" type="short" usage="DATE" formatindex="18">
<FormatCode>AA-M-J</FormatCode>
</FormatElement>
diff --git a/i18npool/source/localedata/data/fr_CH.xml b/i18npool/source/localedata/data/fr_CH.xml
index 563e9a2aebd7..c8286a2b4877 100644
--- a/i18npool/source/localedata/data/fr_CH.xml
+++ b/i18npool/source/localedata/data/fr_CH.xml
@@ -72,6 +72,15 @@
<FormatElement msgid="FixedFormatskey6" default="false" type="medium" usage="FIXED_NUMBER" formatindex="5">
<FormatCode>#'###.00</FormatCode>
</FormatElement>
+ <FormatElement msgid="FixedFormatskey9" default="false" type="medium" usage="FIXED_NUMBER" formatindex="101">
+ <FormatCode>[NatNum12 cardinal]0</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="FixedFormatskey10" default="false" type="medium" usage="FIXED_NUMBER" formatindex="102">
+ <FormatCode>[NatNum12 capitalize cardinal]0</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="FixedFormatskey12" default="false" type="medium" usage="FIXED_NUMBER" formatindex="104">
+ <FormatCode>[NatNum12 upper cardinal]0</FormatCode>
+ </FormatElement>
<FormatElement msgid="ScientificFormatskey1" default="false" type="medium" usage="SCIENTIFIC_NUMBER" formatindex="6">
<FormatCode>0.00E+000</FormatCode>
</FormatElement>
@@ -105,6 +114,18 @@
<FormatElement msgid="CurrencyFormatskey6" default="false" type="medium" usage="CURRENCY" formatindex="17">
<FormatCode>[$CHF-100C] #'##0.--;[RED][$CHF-100C] -#'##0.--</FormatCode>
</FormatElement>
+ <FormatElement msgid="CurrencyFormatskey9" default="false" type="medium" usage="CURRENCY" formatindex="105">
+ <FormatCode>[NatNum12 CURRENCY]0</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="CurrencyFormatskey10" default="false" type="medium" usage="CURRENCY" formatindex="106">
+ <FormatCode>[NatNum12 CURRENCY]0.00</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="CurrencyFormatskey11" default="false" type="medium" usage="CURRENCY" formatindex="107">
+ <FormatCode>[NatNum12 upper CURRENCY]0</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="CurrencyFormatskey12" default="false" type="medium" usage="CURRENCY" formatindex="108">
+ <FormatCode>[NatNum12 upper CURRENCY]0.00</FormatCode>
+ </FormatElement>
<FormatElement msgid="DateFormatskey1" default="true" type="short" usage="DATE" formatindex="18">
<FormatCode>J.MM.AA</FormatCode>
</FormatElement>
diff --git a/i18npool/source/localedata/data/fr_FR.xml b/i18npool/source/localedata/data/fr_FR.xml
index b2b3abb329bb..6e705fb2d68d 100644
--- a/i18npool/source/localedata/data/fr_FR.xml
+++ b/i18npool/source/localedata/data/fr_FR.xml
@@ -73,6 +73,15 @@
<FormatElement msgid="FixedFormatskey6" default="false" type="medium" usage="FIXED_NUMBER" formatindex="5">
<FormatCode># ###,00</FormatCode>
</FormatElement>
+ <FormatElement msgid="FixedFormatskey9" default="false" type="medium" usage="FIXED_NUMBER" formatindex="101">
+ <FormatCode>[NatNum12 cardinal]0</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="FixedFormatskey10" default="false" type="medium" usage="FIXED_NUMBER" formatindex="102">
+ <FormatCode>[NatNum12 capitalize cardinal]0</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="FixedFormatskey12" default="false" type="medium" usage="FIXED_NUMBER" formatindex="104">
+ <FormatCode>[NatNum12 upper cardinal]0</FormatCode>
+ </FormatElement>
<FormatElement msgid="ScientificFormatskey1" default="false" type="medium" usage="SCIENTIFIC_NUMBER" formatindex="6">
<FormatCode>0,00E+000</FormatCode>
</FormatElement>
@@ -106,6 +115,18 @@
<FormatElement msgid="CurrencyFormatskey6" default="false" type="medium" usage="CURRENCY" formatindex="17">
<FormatCode># ##0,-- [CURRENCY];[RED]-# ##0,-- [CURRENCY]</FormatCode>
</FormatElement>
+ <FormatElement msgid="CurrencyFormatskey9" default="false" type="medium" usage="CURRENCY" formatindex="105">
+ <FormatCode>[NatNum12 CURRENCY]0</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="CurrencyFormatskey10" default="false" type="medium" usage="CURRENCY" formatindex="106">
+ <FormatCode>[NatNum12 CURRENCY]0,00</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="CurrencyFormatskey11" default="false" type="medium" usage="CURRENCY" formatindex="107">
+ <FormatCode>[NatNum12 upper CURRENCY]0</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="CurrencyFormatskey12" default="false" type="medium" usage="CURRENCY" formatindex="108">
+ <FormatCode>[NatNum12 upper CURRENCY]0,00</FormatCode>
+ </FormatElement>
<FormatElement msgid="DateFormatskey1" default="true" type="short" usage="DATE" formatindex="18">
<FormatCode>JJ/MM/AAAA</FormatCode>
</FormatElement>
diff --git a/i18npool/source/localedata/data/fr_LU.xml b/i18npool/source/localedata/data/fr_LU.xml
index d470fc64a930..0c65bbb93cfd 100644
--- a/i18npool/source/localedata/data/fr_LU.xml
+++ b/i18npool/source/localedata/data/fr_LU.xml
@@ -71,6 +71,15 @@
<FormatElement msgid="FixedFormatskey6" default="false" type="medium" usage="FIXED_NUMBER" formatindex="5">
<FormatCode># ###,00</FormatCode>
</FormatElement>
+ <FormatElement msgid="FixedFormatskey9" default="false" type="medium" usage="FIXED_NUMBER" formatindex="101">
+ <FormatCode>[NatNum12 cardinal]0</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="FixedFormatskey10" default="false" type="medium" usage="FIXED_NUMBER" formatindex="102">
+ <FormatCode>[NatNum12 capitalize cardinal]0</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="FixedFormatskey12" default="false" type="medium" usage="FIXED_NUMBER" formatindex="104">
+ <FormatCode>[NatNum12 upper cardinal]0</FormatCode>
+ </FormatElement>
<FormatElement msgid="ScientificFormatskey1" default="false" type="medium" usage="SCIENTIFIC_NUMBER" formatindex="6">
<FormatCode>0,00E+000</FormatCode>
</FormatElement>
@@ -104,6 +113,18 @@
<FormatElement msgid="CurrencyFormatskey6" default="false" type="medium" usage="CURRENCY" formatindex="17">
<FormatCode># ##0,-- [CURRENCY];[RED]-# ##0,-- [CURRENCY]</FormatCode>
</FormatElement>
+ <FormatElement msgid="CurrencyFormatskey9" default="false" type="medium" usage="CURRENCY" formatindex="105">
+ <FormatCode>[NatNum12 CURRENCY]0</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="CurrencyFormatskey10" default="false" type="medium" usage="CURRENCY" formatindex="106">
+ <FormatCode>[NatNum12 CURRENCY]0,00</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="CurrencyFormatskey11" default="false" type="medium" usage="CURRENCY" formatindex="107">
+ <FormatCode>[NatNum12 upper CURRENCY]0</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="CurrencyFormatskey12" default="false" type="medium" usage="CURRENCY" formatindex="108">
+ <FormatCode>[NatNum12 upper CURRENCY]0,00</FormatCode>
+ </FormatElement>
<FormatElement msgid="DateFormatskey1" default="true" type="short" usage="DATE" formatindex="18">
<FormatCode>JJ/MM/AAAA</FormatCode>
</FormatElement>
diff --git a/i18npool/source/localedata/data/fr_TG.xml b/i18npool/source/localedata/data/fr_TG.xml
index 4f369c538e10..414b2cdd855d 100644
--- a/i18npool/source/localedata/data/fr_TG.xml
+++ b/i18npool/source/localedata/data/fr_TG.xml
@@ -42,6 +42,15 @@
<FormatElement msgid="FixedFormatskey6" default="false" type="medium" usage="FIXED_NUMBER" formatindex="5">
<FormatCode># ###,00</FormatCode>
</FormatElement>
+ <FormatElement msgid="FixedFormatskey9" default="false" type="medium" usage="FIXED_NUMBER" formatindex="101">
+ <FormatCode>[NatNum12 cardinal]0</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="FixedFormatskey10" default="false" type="medium" usage="FIXED_NUMBER" formatindex="102">
+ <FormatCode>[NatNum12 capitalize cardinal]0</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="FixedFormatskey12" default="false" type="medium" usage="FIXED_NUMBER" formatindex="104">
+ <FormatCode>[NatNum12 upper cardinal]0</FormatCode>
+ </FormatElement>
<FormatElement msgid="ScientificFormatskey1" default="false" type="medium" usage="SCIENTIFIC_NUMBER" formatindex="6">
<FormatCode>0,00E+000</FormatCode>
</FormatElement>
@@ -75,6 +84,18 @@
<FormatElement msgid="CurrencyFormatskey6" default="false" type="medium" usage="CURRENCY" formatindex="17">
<FormatCode># ##0,-- [CURRENCY];[RED]-# ##0,-- [CURRENCY]</FormatCode>
</FormatElement>
+ <FormatElement msgid="CurrencyFormatskey9" default="false" type="medium" usage="CURRENCY" formatindex="105">
+ <FormatCode>[NatNum12 CURRENCY]0</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="CurrencyFormatskey10" default="false" type="medium" usage="CURRENCY" formatindex="106">
+ <FormatCode>[NatNum12 CURRENCY]0,00</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="CurrencyFormatskey11" default="false" type="medium" usage="CURRENCY" formatindex="107">
+ <FormatCode>[NatNum12 upper CURRENCY]0</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="CurrencyFormatskey12" default="false" type="medium" usage="CURRENCY" formatindex="108">
+ <FormatCode>[NatNum12 upper CURRENCY]0,00</FormatCode>
+ </FormatElement>
<FormatElement msgid="DateFormatskey11" default="true" type="short" usage="DATE" formatindex="18">
<FormatCode>D/MM/YY</FormatCode>
</FormatElement>
diff --git a/i18npool/source/localedata/data/fur_IT.xml b/i18npool/source/localedata/data/fur_IT.xml
index 24d92f5d1f87..91c4eff89637 100644
--- a/i18npool/source/localedata/data/fur_IT.xml
+++ b/i18npool/source/localedata/data/fur_IT.xml
@@ -369,16 +369,7 @@
<quarter4Abbreviation>4T</quarter4Abbreviation>
</ReservedWords>
</LC_MISC>
- <LC_NumberingLevel>
- <NumberingLevel NumType="4" Prefix=" " Suffix=")"/>
- <NumberingLevel NumType="4" Prefix=" " Suffix="."/>
- <NumberingLevel NumType="4" Prefix="(" Suffix=")"/>
- <NumberingLevel NumType="2" Prefix=" " Suffix="."/>
- <NumberingLevel NumType="0" Prefix=" " Suffix=")"/>
- <NumberingLevel NumType="1" Prefix=" " Suffix=")"/>
- <NumberingLevel NumType="1" Prefix="(" Suffix=")"/>
- <NumberingLevel NumType="3" Prefix=" " Suffix="."/>
- </LC_NumberingLevel>
+ <LC_NumberingLevel ref="en_US"/>
<LC_OutLineNumberingLevel ref="en_US"/>
</Locale>
<!--Version 1.0 -->
diff --git a/i18npool/source/localedata/data/fy_NL.xml b/i18npool/source/localedata/data/fy_NL.xml
index 8e144eb4f9ae..dc83599ec85e 100644
--- a/i18npool/source/localedata/data/fy_NL.xml
+++ b/i18npool/source/localedata/data/fy_NL.xml
@@ -369,15 +369,6 @@
<quarter4Abbreviation>4e fj</quarter4Abbreviation>
</ReservedWords>
</LC_MISC>
- <LC_NumberingLevel>
- <NumberingLevel NumType="4" Prefix=" " Suffix=")"/>
- <NumberingLevel NumType="4" Prefix=" " Suffix="."/>
- <NumberingLevel NumType="4" Prefix="(" Suffix=")"/>
- <NumberingLevel NumType="2" Prefix=" " Suffix="."/>
- <NumberingLevel NumType="0" Prefix=" " Suffix=")"/>
- <NumberingLevel NumType="1" Prefix=" " Suffix=")"/>
- <NumberingLevel NumType="1" Prefix="(" Suffix=")"/>
- <NumberingLevel NumType="3" Prefix=" " Suffix="."/>
- </LC_NumberingLevel>
+ <LC_NumberingLevel ref="en_US"/>
<LC_OutLineNumberingLevel ref="en_US"/>
</Locale>
diff --git a/i18npool/source/localedata/data/gd_GB.xml b/i18npool/source/localedata/data/gd_GB.xml
index 476b7dc10a26..f31de0d5e6e7 100644
--- a/i18npool/source/localedata/data/gd_GB.xml
+++ b/i18npool/source/localedata/data/gd_GB.xml
@@ -436,15 +436,6 @@
<quarter4Abbreviation>R 4</quarter4Abbreviation>
</ReservedWords>
</LC_MISC>
- <LC_NumberingLevel>
- <NumberingLevel NumType="4" Prefix=" " Suffix=")"/>
- <NumberingLevel NumType="4" Prefix=" " Suffix="."/>
- <NumberingLevel NumType="4" Prefix="(" Suffix=")"/>
- <NumberingLevel NumType="2" Prefix=" " Suffix="."/>
- <NumberingLevel NumType="0" Prefix=" " Suffix=")"/>
- <NumberingLevel NumType="1" Prefix=" " Suffix=")"/>
- <NumberingLevel NumType="1" Prefix="(" Suffix=")"/>
- <NumberingLevel NumType="3" Prefix=" " Suffix="."/>
- </LC_NumberingLevel>
+ <LC_NumberingLevel ref="en_US"/>
<LC_OutLineNumberingLevel ref="en_US"/>
</Locale>
diff --git a/i18npool/source/localedata/data/gl_ES.xml b/i18npool/source/localedata/data/gl_ES.xml
index 8693ae6e36ce..999075294bea 100644
--- a/i18npool/source/localedata/data/gl_ES.xml
+++ b/i18npool/source/localedata/data/gl_ES.xml
@@ -71,6 +71,15 @@
<FormatElement msgid="FixedFormatskey6" default="false" type="medium" usage="FIXED_NUMBER" formatindex="5">
<FormatCode>#.###,00</FormatCode>
</FormatElement>
+ <FormatElement msgid="FixedFormatskey9" default="false" type="medium" usage="FIXED_NUMBER" formatindex="101">
+ <FormatCode>[NatNum12 cardinal]0</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="FixedFormatskey10" default="false" type="medium" usage="FIXED_NUMBER" formatindex="102">
+ <FormatCode>[NatNum12 capitalize cardinal]0</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="FixedFormatskey12" default="false" type="medium" usage="FIXED_NUMBER" formatindex="104">
+ <FormatCode>[NatNum12 upper cardinal]0</FormatCode>
+ </FormatElement>
<FormatElement msgid="ScientificFormatskey1" default="false" type="medium" usage="SCIENTIFIC_NUMBER" formatindex="6">
<FormatCode>0,00E+000</FormatCode>
</FormatElement>
@@ -104,6 +113,18 @@
<FormatElement msgid="CurrencyFormatskey6" default="false" type="medium" usage="CURRENCY" formatindex="17">
<FormatCode>#.##0 [CURRENCY];[RED]-#.##0 [CURRENCY]</FormatCode>
</FormatElement>
+ <FormatElement msgid="CurrencyFormatskey9" default="false" type="medium" usage="CURRENCY" formatindex="105">
+ <FormatCode>[NatNum12 CURRENCY]0</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="CurrencyFormatskey10" default="false" type="medium" usage="CURRENCY" formatindex="106">
+ <FormatCode>[NatNum12 CURRENCY]0,00</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="CurrencyFormatskey11" default="false" type="medium" usage="CURRENCY" formatindex="107">
+ <FormatCode>[NatNum12 upper CURRENCY]0</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="CurrencyFormatskey12" default="false" type="medium" usage="CURRENCY" formatindex="108">
+ <FormatCode>[NatNum12 upper CURRENCY]0,00</FormatCode>
+ </FormatElement>
<FormatElement msgid="DateFormatskey1" default="true" type="short" usage="DATE" formatindex="18">
<FormatCode>D/MM/YY</FormatCode>
</FormatElement>
diff --git a/i18npool/source/localedata/data/gsc_FR.xml b/i18npool/source/localedata/data/gsc_FR.xml
index 795a1bba4df4..e8d2ad6318d3 100644
--- a/i18npool/source/localedata/data/gsc_FR.xml
+++ b/i18npool/source/localedata/data/gsc_FR.xml
@@ -371,16 +371,7 @@
<quarter4Abbreviation>4au trim.</quarter4Abbreviation>
</ReservedWords>
</LC_MISC>
- <LC_NumberingLevel>
- <NumberingLevel NumType="4" Prefix=" " Suffix=")"/>
- <NumberingLevel NumType="4" Prefix=" " Suffix="."/>
- <NumberingLevel NumType="4" Prefix="(" Suffix=")"/>
- <NumberingLevel NumType="2" Prefix=" " Suffix="."/>
- <NumberingLevel NumType="0" Prefix=" " Suffix=")"/>
- <NumberingLevel NumType="1" Prefix=" " Suffix=")"/>
- <NumberingLevel NumType="1" Prefix="(" Suffix=")"/>
- <NumberingLevel NumType="3" Prefix=" " Suffix="."/>
- </LC_NumberingLevel>
+ <LC_NumberingLevel ref="en_US"/>
<LC_OutLineNumberingLevel ref="en_US"/>
</Locale>
<!--Version 1.0 -->
diff --git a/i18npool/source/localedata/data/gug_PY.xml b/i18npool/source/localedata/data/gug_PY.xml
index 4734ac522a47..6f5369c7ab55 100644
--- a/i18npool/source/localedata/data/gug_PY.xml
+++ b/i18npool/source/localedata/data/gug_PY.xml
@@ -383,16 +383,7 @@
<quarter4Abbreviation>Arapoty</quarter4Abbreviation>
</ReservedWords>
</LC_MISC>
- <LC_NumberingLevel>
- <NumberingLevel NumType="4" Prefix=" " Suffix=")"/>
- <NumberingLevel NumType="4" Prefix=" " Suffix="."/>
- <NumberingLevel NumType="4" Prefix="(" Suffix=")"/>
- <NumberingLevel NumType="2" Prefix=" " Suffix="."/>
- <NumberingLevel NumType="0" Prefix=" " Suffix=")"/>
- <NumberingLevel NumType="1" Prefix=" " Suffix=")"/>
- <NumberingLevel NumType="1" Prefix="(" Suffix=")"/>
- <NumberingLevel NumType="3" Prefix=" " Suffix="."/>
- </LC_NumberingLevel>
+ <LC_NumberingLevel ref="en_US"/>
<LC_OutLineNumberingLevel ref="en_US"/>
</Locale>
<!--Version 1.0 -->
diff --git a/i18npool/source/localedata/data/ha_Latn_GH.xml b/i18npool/source/localedata/data/ha_Latn_GH.xml
index 3cbffc23b017..1e9e482ec375 100644
--- a/i18npool/source/localedata/data/ha_Latn_GH.xml
+++ b/i18npool/source/localedata/data/ha_Latn_GH.xml
@@ -381,15 +381,6 @@
<quarter4Abbreviation>R4</quarter4Abbreviation>
</ReservedWords>
</LC_MISC>
- <LC_NumberingLevel>
- <NumberingLevel NumType="4" Prefix=" " Suffix=")"/>
- <NumberingLevel NumType="4" Prefix=" " Suffix="."/>
- <NumberingLevel NumType="4" Prefix="(" Suffix=")"/>
- <NumberingLevel NumType="2" Prefix=" " Suffix="."/>
- <NumberingLevel NumType="0" Prefix=" " Suffix=")"/>
- <NumberingLevel NumType="1" Prefix=" " Suffix=")"/>
- <NumberingLevel NumType="1" Prefix="(" Suffix=")"/>
- <NumberingLevel NumType="3" Prefix=" " Suffix="."/>
- </LC_NumberingLevel>
+ <LC_NumberingLevel ref="en_US"/>
<LC_OutLineNumberingLevel ref="en_US"/>
</Locale>
diff --git a/i18npool/source/localedata/data/haw_US.xml b/i18npool/source/localedata/data/haw_US.xml
index 2fb5d01c0ed0..df45c3b98055 100644
--- a/i18npool/source/localedata/data/haw_US.xml
+++ b/i18npool/source/localedata/data/haw_US.xml
@@ -366,16 +366,7 @@
<quarter4Abbreviation>KH4</quarter4Abbreviation>
</ReservedWords>
</LC_MISC>
- <LC_NumberingLevel>
- <NumberingLevel NumType="4" Prefix=" " Suffix=")"/>
- <NumberingLevel NumType="4" Prefix=" " Suffix="."/>
- <NumberingLevel NumType="4" Prefix="(" Suffix=")"/>
- <NumberingLevel NumType="2" Prefix=" " Suffix="."/>
- <NumberingLevel NumType="0" Prefix=" " Suffix=")"/>
- <NumberingLevel NumType="1" Prefix=" " Suffix=")"/>
- <NumberingLevel NumType="1" Prefix="(" Suffix=")"/>
- <NumberingLevel NumType="3" Prefix=" " Suffix="."/>
- </LC_NumberingLevel>
+ <LC_NumberingLevel ref="en_US"/>
<LC_OutLineNumberingLevel ref="en_US"/>
</Locale>
<!--Version 1.0 -->
diff --git a/i18npool/source/localedata/data/he_IL.xml b/i18npool/source/localedata/data/he_IL.xml
index 171a8851b5fb..1ee0d0a04b0f 100644
--- a/i18npool/source/localedata/data/he_IL.xml
+++ b/i18npool/source/localedata/data/he_IL.xml
@@ -71,6 +71,15 @@
<FormatElement msgid="FixedFormatskey6" default="false" type="medium" usage="FIXED_NUMBER" formatindex="5">
<FormatCode>#,###.00</FormatCode>
</FormatElement>
+ <FormatElement msgid="FixedFormatskey9" default="false" type="medium" usage="FIXED_NUMBER" formatindex="101">
+ <FormatCode>[NatNum12 cardinal]0</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="FixedFormatskey10" default="false" type="medium" usage="FIXED_NUMBER" formatindex="102">
+ <FormatCode>[NatNum12 capitalize cardinal]0</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="FixedFormatskey12" default="false" type="medium" usage="FIXED_NUMBER" formatindex="104">
+ <FormatCode>[NatNum12 upper cardinal]0</FormatCode>
+ </FormatElement>
<FormatElement msgid="ScientificFormatskey1" default="false" type="medium" usage="SCIENTIFIC_NUMBER" formatindex="6">
<FormatCode>0.00E+000</FormatCode>
</FormatElement>
@@ -104,6 +113,18 @@
<FormatElement msgid="CurrencyFormatskey6" default="false" type="medium" usage="CURRENCY" formatindex="17">
<FormatCode>[CURRENCY] #,##0.--;[RED][CURRENCY] -#,##0.--</FormatCode>
</FormatElement>
+ <FormatElement msgid="CurrencyFormatskey9" default="false" type="medium" usage="CURRENCY" formatindex="105">
+ <FormatCode>[NatNum12 CURRENCY]0</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="CurrencyFormatskey10" default="false" type="medium" usage="CURRENCY" formatindex="106">
+ <FormatCode>[NatNum12 CURRENCY]0.00</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="CurrencyFormatskey11" default="false" type="medium" usage="CURRENCY" formatindex="107">
+ <FormatCode>[NatNum12 upper CURRENCY]0</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="CurrencyFormatskey12" default="false" type="medium" usage="CURRENCY" formatindex="108">
+ <FormatCode>[NatNum12 upper CURRENCY]0.00</FormatCode>
+ </FormatElement>
<FormatElement msgid="DateFormatskey1" default="true" type="short" usage="DATE" formatindex="18">
<FormatCode>D/M/YY</FormatCode>
</FormatElement>
diff --git a/i18npool/source/localedata/data/hi_IN.xml b/i18npool/source/localedata/data/hi_IN.xml
index b5607a94171b..150dbce6e729 100644
--- a/i18npool/source/localedata/data/hi_IN.xml
+++ b/i18npool/source/localedata/data/hi_IN.xml
@@ -53,57 +53,96 @@
</LC_CTYPE>
<LC_FORMAT replaceFrom="[CURRENCY]" replaceTo="[$₹-439]">
<DateAcceptancePattern>D-M</DateAcceptancePattern>
- <FormatElement msgid="DateFormatskey1" default="true" type="short" usage="DATE" formatindex="18">
- <FormatCode>D-M-YY</FormatCode>
+ <FormatElement msgid="FixedFormatskey1" default="true" type="medium" usage="FIXED_NUMBER" formatindex="0">
+ <FormatCode>Standard</FormatCode>
</FormatElement>
- <FormatElement msgid="DateFormatskey2" default="false" type="medium" usage="DATE" formatindex="28">
- <FormatCode>NN DD-MMM YY</FormatCode>
+ <FormatElement msgid="FixedFormatskey2" default="true" type="short" usage="FIXED_NUMBER" formatindex="1">
+ <FormatCode>0</FormatCode>
</FormatElement>
- <FormatElement msgid="DateFormatskey3" default="false" type="medium" usage="DATE" formatindex="34">
- <FormatCode>MM-YY</FormatCode>
+ <FormatElement msgid="FixedFormatskey3" default="false" type="medium" usage="FIXED_NUMBER" formatindex="2">
+ <FormatCode>0.00</FormatCode>
</FormatElement>
- <FormatElement msgid="DateFormatskey4" default="false" type="medium" usage="DATE" formatindex="35">
- <FormatCode>MMM DD</FormatCode>
+ <FormatElement msgid="FixedFormatskey4" default="false" type="short" usage="FIXED_NUMBER" formatindex="3">
+ <FormatCode>#,##0</FormatCode>
</FormatElement>
- <FormatElement msgid="DateFormatskey5" default="false" type="medium" usage="DATE" formatindex="36">
- <FormatCode>MMMM</FormatCode>
+ <FormatElement msgid="FixedFormatskey5" default="false" type="medium" usage="FIXED_NUMBER" formatindex="4">
+ <FormatCode>#,##0.00</FormatCode>
</FormatElement>
- <FormatElement msgid="DateFormatskey6" default="false" type="medium" usage="DATE" formatindex="37">
- <FormatCode>QQ YY</FormatCode>
+ <FormatElement msgid="FixedFormatskey6" default="false" type="medium" usage="FIXED_NUMBER" formatindex="5">
+ <FormatCode>#,###.00</FormatCode>
</FormatElement>
- <FormatElement msgid="DateFormatskey7" default="true" type="medium" usage="DATE" formatindex="21">
- <FormatCode>DD-MM-YYYY</FormatCode>
+ <FormatElement msgid="ScientificFormatskey1" default="false" type="medium" usage="SCIENTIFIC_NUMBER" formatindex="6">
+ <FormatCode>0.00E+000</FormatCode>
</FormatElement>
- <FormatElement msgid="DateFormatskey8" default="false" type="medium" usage="DATE" formatindex="20">
- <FormatCode>DD-MM-YY</FormatCode>
+ <FormatElement msgid="ScientificFormatskey2" default="true" type="medium" usage="SCIENTIFIC_NUMBER" formatindex="7">
+ <FormatCode>0.00E+00</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="ScientificFormatskey3" default="false" type="medium" usage="SCIENTIFIC_NUMBER" formatindex="78">
+ <FormatCode>##0.00E+00</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="PercentFormatskey1" default="true" type="short" usage="PERCENT_NUMBER" formatindex="8">
+ <FormatCode>0%</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="PercentFormatskey2" default="true" type="long" usage="PERCENT_NUMBER" formatindex="9">
+ <FormatCode>0.00%</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="CurrencyFormatskey1" default="true" type="short" usage="CURRENCY" formatindex="12">
+ <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>
+ </FormatElement>
+ <FormatElement msgid="CurrencyFormatskey3" default="false" type="medium" usage="CURRENCY" formatindex="14">
+ <FormatCode>[CURRENCY]#,##0;[RED]-[CURRENCY]#,##0</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="CurrencyFormatskey4" default="true" type="medium" usage="CURRENCY" formatindex="15">
+ <FormatCode>[CURRENCY]#,##0.00;[RED]-[CURRENCY]#,##0.00</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="CurrencyFormatskey5" default="false" type="medium" usage="CURRENCY" formatindex="16">
+ <FormatCode>#,##0.00 CCC</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="CurrencyFormatskey6" default="false" type="medium" usage="CURRENCY" formatindex="17">
+ <FormatCode>[CURRENCY]#,##0.--;[RED]-[CURRENCY]#,##0.--</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="DateFormatskey1" default="true" type="short" usage="DATE" formatindex="18">
+ <FormatCode>D-M-YY</FormatCode>
</FormatElement>
<FormatElement msgid="DateFormatskey9" default="false" type="medium" usage="DATE" formatindex="19">
<FormatCode>NNNNDD MMMM GGGE</FormatCode>
</FormatElement>
+ <FormatElement msgid="DateFormatskey8" default="false" type="medium" usage="DATE" formatindex="20">
+ <FormatCode>DD-MM-YY</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="DateFormatskey7" default="true" type="medium" usage="DATE" formatindex="21">
+ <FormatCode>DD-MM-YYYY</FormatCode>
+ </FormatElement>
<FormatElement msgid="DateFormatskey10" default="false" type="long" usage="DATE" formatindex="22">
<FormatCode>MMM D, YY</FormatCode>
</FormatElement>
<FormatElement msgid="DateFormatskey11" default="false" type="long" usage="DATE" formatindex="23">
<FormatCode>MMM, D YYYY</FormatCode>
</FormatElement>
+ <FormatElement msgid="DateFormatskey16" default="false" type="long" usage="DATE" formatindex="24">
+ <FormatCode>D. MMM. YYYY</FormatCode>
+ </FormatElement>
<FormatElement msgid="DateFormatskey12" default="false" type="long" usage="DATE" formatindex="25">
<FormatCode>MMMM D, YYYY</FormatCode>
</FormatElement>
+ <FormatElement msgid="DateFormatskey17" default="false" type="long" usage="DATE" formatindex="26">
+ <FormatCode>D. MMMM YYYY</FormatCode>
+ </FormatElement>
<FormatElement msgid="DateFormatskey13" default="false" type="long" usage="DATE" formatindex="27">
<FormatCode>NN, MMM D, YY</FormatCode>
</FormatElement>
+ <FormatElement msgid="DateFormatskey2" default="false" type="medium" usage="DATE" formatindex="28">
+ <FormatCode>NN DD-MMM YY</FormatCode>
+ </FormatElement>
<FormatElement msgid="DateFormatskey14" default="false" type="long" usage="DATE" formatindex="29">
<FormatCode>NN, MMMM D, YYYY</FormatCode>
</FormatElement>
<FormatElement msgid="DateFormatskey15" default="true" type="long" usage="DATE" formatindex="30">
<FormatCode>NNNNMMMM D, YYYY</FormatCode>
</FormatElement>
- <FormatElement msgid="DateFormatskey16" default="false" type="long" usage="DATE" formatindex="24">
- <FormatCode>D. MMM. YYYY</FormatCode>
- </FormatElement>
- <FormatElement msgid="DateFormatskey17" default="false" type="long" usage="DATE" formatindex="26">
- <FormatCode>D. MMMM YYYY</FormatCode>
- </FormatElement>
<FormatElement msgid="DateFormatskey18" default="false" type="short" usage="DATE" formatindex="31">
<FormatCode>MM-DD</FormatCode>
</FormatElement>
@@ -114,89 +153,50 @@
<FormatCode>YYYY-MM-DD</FormatCode>
<DefaultName>ISO 8601</DefaultName>
</FormatElement>
+ <FormatElement msgid="DateFormatskey3" default="false" type="medium" usage="DATE" formatindex="34">
+ <FormatCode>MM-YY</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="DateFormatskey4" default="false" type="medium" usage="DATE" formatindex="35">
+ <FormatCode>MMM DD</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="DateFormatskey5" default="false" type="medium" usage="DATE" formatindex="36">
+ <FormatCode>MMMM</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="DateFormatskey6" default="false" type="medium" usage="DATE" formatindex="37">
+ <FormatCode>QQ YY</FormatCode>
+ </FormatElement>
<FormatElement msgid="DateFormatskey21" default="false" type="medium" usage="DATE" formatindex="38">
<FormatCode>WW</FormatCode>
</FormatElement>
- <FormatElement msgid="TimeFormatskey1" default="true" type="short" usage="TIME" formatindex="39">
+ <FormatElement msgid="TimeFormatskey1" default="true" type="short" usage="TIME" formatindex="39">
<FormatCode>HH:MM</FormatCode>
</FormatElement>
- <FormatElement msgid="TimeFormatskey2" default="true" type="medium" usage="TIME" formatindex="40">
+ <FormatElement msgid="TimeFormatskey2" default="true" type="medium" usage="TIME" formatindex="40">
<FormatCode>HH:MM:SS</FormatCode>
</FormatElement>
- <FormatElement msgid="TimeFormatskey3" default="false" type="short" usage="TIME" formatindex="41">
+ <FormatElement msgid="TimeFormatskey3" default="false" type="short" usage="TIME" formatindex="41">
<FormatCode>HH:MM AM/PM</FormatCode>
</FormatElement>
- <FormatElement msgid="TimeFormatskey4" default="false" type="medium" usage="TIME" formatindex="42">
+ <FormatElement msgid="TimeFormatskey4" default="false" type="medium" usage="TIME" formatindex="42">
<FormatCode>HH:MM:SS AM/PM</FormatCode>
</FormatElement>
- <FormatElement msgid="TimeFormatskey5" default="false" type="medium" usage="TIME" formatindex="43">
+ <FormatElement msgid="TimeFormatskey5" default="false" type="medium" usage="TIME" formatindex="43">
<FormatCode>[HH]:MM:SS</FormatCode>
</FormatElement>
- <FormatElement msgid="TimeFormatskey6" default="false" type="short" usage="TIME" formatindex="44">
+ <FormatElement msgid="TimeFormatskey6" default="false" type="short" usage="TIME" formatindex="44">
<FormatCode>MM:SS.00</FormatCode>
</FormatElement>
- <FormatElement msgid="TimeFormatskey7" default="false" type="medium" usage="TIME" formatindex="45">
+ <FormatElement msgid="TimeFormatskey7" default="false" type="medium" usage="TIME" formatindex="45">
<FormatCode>[HH]:MM:SS.00</FormatCode>
</FormatElement>
- <FormatElement msgid="DateTimeFormatskey1" default="true" type="medium" usage="DATE_TIME" formatindex="46">
- <FormatCode>MM-DD-YY HH:MM</FormatCode>
+ <FormatElement msgid="DateTimeFormatskey1" default="true" type="medium" usage="DATE_TIME" formatindex="46">
+ <FormatCode>DD-MM-YY HH:MM</FormatCode>
</FormatElement>
- <FormatElement msgid="DateTimeFormatskey2" default="false" type="medium" usage="DATE_TIME" formatindex="47">
- <FormatCode>MM-DD-YYYY HH:MM:SS</FormatCode>
- </FormatElement>
- <FormatElement msgid="DateTimeFormatskey3" default="false" type="medium" usage="DATE_TIME" formatindex="50">
- <FormatCode>MM-DD-YYYY HH:MM</FormatCode>
- </FormatElement>
- <FormatElement msgid="FixedFormatskey1" default="true" type="medium" usage="FIXED_NUMBER" formatindex="0">
- <FormatCode>Standard</FormatCode>
- </FormatElement>
- <FormatElement msgid="FixedFormatskey2" default="true" type="short" usage="FIXED_NUMBER" formatindex="1">
- <FormatCode>0</FormatCode>
- </FormatElement>
- <FormatElement msgid="FixedFormatskey3" default="false" type="medium" usage="FIXED_NUMBER" formatindex="2">
- <FormatCode>0.00</FormatCode>
+ <FormatElement msgid="DateTimeFormatskey2" default="false" type="medium" usage="DATE_TIME" formatindex="47">
+ <FormatCode>DD-MM-YYYY HH:MM:SS</FormatCode>
</FormatElement>
- <FormatElement msgid="FixedFormatskey4" default="false" type="short" usage="FIXED_NUMBER" formatindex="3">
- <FormatCode>#,##0</FormatCode>
- </FormatElement>
- <FormatElement msgid="FixedFormatskey5" default="false" type="medium" usage="FIXED_NUMBER" formatindex="4">
- <FormatCode>#,##0.00</FormatCode>
- </FormatElement>
- <FormatElement msgid="FixedFormatskey6" default="false" type="medium" usage="FIXED_NUMBER" formatindex="5">
- <FormatCode>#,###.00</FormatCode>
- </FormatElement>
- <FormatElement msgid="CurrencyFormatskey1" default="true" type="short" usage="CURRENCY" formatindex="12">
- <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>
- </FormatElement>
- <FormatElement msgid="CurrencyFormatskey3" default="false" type="medium" usage="CURRENCY" formatindex="14">
- <FormatCode>[CURRENCY]#,##0;[RED]-[CURRENCY]#,##0</FormatCode>
- </FormatElement>
- <FormatElement msgid="CurrencyFormatskey4" default="true" type="medium" usage="CURRENCY" formatindex="15">
- <FormatCode>[CURRENCY]#,##0.00;[RED]-[CURRENCY]#,##0.00</FormatCode>
- </FormatElement>
- <FormatElement msgid="CurrencyFormatskey5" default="false" type="medium" usage="CURRENCY" formatindex="16">
- <FormatCode>#,##0.00 CCC</FormatCode>
- </FormatElement>
- <FormatElement msgid="CurrencyFormatskey6" default="false" type="medium" usage="CURRENCY" formatindex="17">
- <FormatCode>[CURRENCY]#,##0.--;[RED]-[CURRENCY]#,##0.--</FormatCode>
- </FormatElement>
- <FormatElement msgid="PercentFormatskey1" default="true" type="short" usage="PERCENT_NUMBER" formatindex="8">
- <FormatCode>0%</FormatCode>
- </FormatElement>
- <FormatElement msgid="PercentFormatskey2" default="true" type="long" usage="PERCENT_NUMBER" formatindex="9">
- <FormatCode>0.00%</FormatCode>
- </FormatElement>
- <FormatElement msgid="ScientificFormatskey1" default="false" type="medium" usage="SCIENTIFIC_NUMBER" formatindex="6">
- <FormatCode>0.00E+000</FormatCode>
- </FormatElement>
- <FormatElement msgid="ScientificFormatskey2" default="true" type="medium" usage="SCIENTIFIC_NUMBER" formatindex="7">
- <FormatCode>0.00E+00</FormatCode>
- </FormatElement>
- <FormatElement msgid="ScientificFormatskey3" default="false" type="medium" usage="SCIENTIFIC_NUMBER" formatindex="78">
- <FormatCode>##0.00E+00</FormatCode>
+ <FormatElement msgid="DateTimeFormatskey3" default="false" type="medium" usage="DATE_TIME" formatindex="50">
+ <FormatCode>DD-MM-YYYY HH:MM</FormatCode>
</FormatElement>
</LC_FORMAT>
<LC_COLLATION ref="en_US"/>
diff --git a/i18npool/source/localedata/data/hil_PH.xml b/i18npool/source/localedata/data/hil_PH.xml
index acd73bc1aea8..57e922049afb 100644
--- a/i18npool/source/localedata/data/hil_PH.xml
+++ b/i18npool/source/localedata/data/hil_PH.xml
@@ -370,16 +370,7 @@
<quarter4Abbreviation>Q4</quarter4Abbreviation>
</ReservedWords>
</LC_MISC>
- <LC_NumberingLevel>
- <NumberingLevel NumType="4" Prefix=" " Suffix=")"/>
- <NumberingLevel NumType="4" Prefix=" " Suffix="."/>
- <NumberingLevel NumType="4" Prefix="(" Suffix=")"/>
- <NumberingLevel NumType="2" Prefix=" " Suffix="."/>
- <NumberingLevel NumType="0" Prefix=" " Suffix=")"/>
- <NumberingLevel NumType="1" Prefix=" " Suffix=")"/>
- <NumberingLevel NumType="1" Prefix="(" Suffix=")"/>
- <NumberingLevel NumType="3" Prefix=" " Suffix="."/>
- </LC_NumberingLevel>
+ <LC_NumberingLevel ref="en_US"/>
<LC_OutLineNumberingLevel ref="en_US"/>
</Locale>
<!--Version 1.0 -->
diff --git a/i18npool/source/localedata/data/hr_HR.xml b/i18npool/source/localedata/data/hr_HR.xml
index 0c493131e16b..4dccf8c2a92d 100644
--- a/i18npool/source/localedata/data/hr_HR.xml
+++ b/i18npool/source/localedata/data/hr_HR.xml
@@ -74,6 +74,15 @@
<FormatElement msgid="FixedFormatskey6" default="false" type="medium" usage="FIXED_NUMBER" formatindex="5">
<FormatCode>#.###,00</FormatCode>
</FormatElement>
+ <FormatElement msgid="FixedFormatskey9" default="false" type="medium" usage="FIXED_NUMBER" formatindex="101">
+ <FormatCode>[NatNum12 cardinal]0</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="FixedFormatskey10" default="false" type="medium" usage="FIXED_NUMBER" formatindex="102">
+ <FormatCode>[NatNum12 capitalize cardinal]0</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="FixedFormatskey12" default="false" type="medium" usage="FIXED_NUMBER" formatindex="104">
+ <FormatCode>[NatNum12 upper cardinal]0</FormatCode>
+ </FormatElement>
<FormatElement msgid="ScientificFormatskey1" default="false" type="medium" usage="SCIENTIFIC_NUMBER" formatindex="6">
<FormatCode>0,00E+000</FormatCode>
</FormatElement>
@@ -107,6 +116,18 @@
<FormatElement msgid="CurrencyFormatskey6" default="false" type="medium" usage="CURRENCY" formatindex="17">
<FormatCode>#.##0,-- [CURRENCY];[RED]-#.##0,-- [CURRENCY]</FormatCode>
</FormatElement>
+ <FormatElement msgid="CurrencyFormatskey9" default="false" type="medium" usage="CURRENCY" formatindex="105">
+ <FormatCode>[NatNum12 CURRENCY]0</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="CurrencyFormatskey10" default="false" type="medium" usage="CURRENCY" formatindex="106">
+ <FormatCode>[NatNum12 CURRENCY]0,00</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="CurrencyFormatskey11" default="false" type="medium" usage="CURRENCY" formatindex="107">
+ <FormatCode>[NatNum12 upper CURRENCY]0</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="CurrencyFormatskey12" default="false" type="medium" usage="CURRENCY" formatindex="108">
+ <FormatCode>[NatNum12 upper CURRENCY]0,00</FormatCode>
+ </FormatElement>
<FormatElement msgid="DateFormatskey11" default="true" type="short" usage="DATE" formatindex="18">
<FormatCode>D.MM.YY</FormatCode>
</FormatElement>
@@ -414,13 +435,20 @@
</Calendar>
</LC_CALENDAR>
<LC_CURRENCY>
- <Currency default="true" usedInCompatibleFormatCodes="true">
+ <Currency default="false" usedInCompatibleFormatCodes="true">
<CurrencyID>HRK</CurrencyID>
<CurrencySymbol>kn</CurrencySymbol>
<BankSymbol>HRK</BankSymbol>
<CurrencyName>Hrvatska Kuna</CurrencyName>
<DecimalPlaces>2</DecimalPlaces>
</Currency>
+ <Currency default="true" usedInCompatibleFormatCodes="false">
+ <CurrencyID>EUR</CurrencyID>
+ <CurrencySymbol>€</CurrencySymbol>
+ <BankSymbol>EUR</BankSymbol>
+ <CurrencyName>Euro</CurrencyName>
+ <DecimalPlaces>2</DecimalPlaces>
+ </Currency>
</LC_CURRENCY>
<LC_TRANSLITERATION>
<Transliteration unoid="SENTENCE_CASE"/>
@@ -446,16 +474,7 @@
<quarter4Abbreviation>K4</quarter4Abbreviation>
</ReservedWords>
</LC_MISC>
- <LC_NumberingLevel>
- <NumberingLevel Prefix=" " NumType="4" Suffix=")" />
- <NumberingLevel Prefix=" " NumType="4" Suffix="." />
- <NumberingLevel Prefix="(" NumType="4" Suffix=")" />
- <NumberingLevel Prefix=" " NumType="2" Suffix="." />
- <NumberingLevel Prefix=" " NumType="0" Suffix=")" />
- <NumberingLevel Prefix=" " NumType="1" Suffix=")" />
- <NumberingLevel Prefix="(" NumType="1" Suffix=")" />
- <NumberingLevel Prefix=" " NumType="3" Suffix="." />
- </LC_NumberingLevel>
+ <LC_NumberingLevel ref="en_US"/>
<LC_OutLineNumberingLevel>
<OutlineStyle>
<OutLineNumberingLevel Prefix=" " NumType="4" Suffix="." BulletChar="0020" BulletFontName="" ParentNumbering="0"
diff --git a/i18npool/source/localedata/data/hsb_DE.xml b/i18npool/source/localedata/data/hsb_DE.xml
index 3e150e96096a..a82107a7a7f1 100644
--- a/i18npool/source/localedata/data/hsb_DE.xml
+++ b/i18npool/source/localedata/data/hsb_DE.xml
@@ -87,22 +87,22 @@
<FormatCode>0,00" "%</FormatCode>
</FormatElement>
<FormatElement msgid="CurrencyFormatskey1" default="true" type="short" usage="CURRENCY" formatindex="12">
- <FormatCode>[CURRENCY]#.##0;-[CURRENCY]#.##0</FormatCode>
+ <FormatCode>#.##0 [CURRENCY];-#.##0 [CURRENCY]</FormatCode>
</FormatElement>
<FormatElement msgid="CurrencyFormatskey2" default="false" type="medium" usage="CURRENCY" formatindex="13">
- <FormatCode>[CURRENCY]#.##0,00;-[CURRENCY]#.##0,00</FormatCode>
+ <FormatCode>#.##0,00 [CURRENCY];-#.##0,00 [CURRENCY]</FormatCode>
</FormatElement>
<FormatElement msgid="CurrencyFormatskey3" default="false" type="medium" usage="CURRENCY" formatindex="14">
- <FormatCode>[CURRENCY]#.##0;[RED]-[CURRENCY]#.##0</FormatCode>
+ <FormatCode>#.##0 [CURRENCY];[RED]-#.##0 [CURRENCY]</FormatCode>
</FormatElement>
<FormatElement msgid="CurrencyFormatskey4" default="true" type="medium" usage="CURRENCY" formatindex="15">
- <FormatCode>[CURRENCY]#.##0,00;[RED]-[CURRENCY]#.##0,00</FormatCode>
+ <FormatCode>#.##0,00 [CURRENCY];[RED]-#.##0,00 [CURRENCY]</FormatCode>
</FormatElement>
<FormatElement msgid="CurrencyFormatskey5" default="false" type="medium" usage="CURRENCY" formatindex="16">
- <FormatCode>CCC#.##0,00</FormatCode>
+ <FormatCode>#.##0,00 CCC</FormatCode>
</FormatElement>
<FormatElement msgid="CurrencyFormatskey6" default="false" type="medium" usage="CURRENCY" formatindex="17">
- <FormatCode>[CURRENCY]#.##0,--;[RED]-[CURRENCY]#.##0,--</FormatCode>
+ <FormatCode>#.##0,-- [CURRENCY];[RED]-#.##0,-- [CURRENCY]</FormatCode>
</FormatElement>
<FormatElement msgid="DateFormatskey11" default="true" type="short" usage="DATE" formatindex="18">
<FormatCode>D.MM.YY</FormatCode>
@@ -168,16 +168,16 @@
<FormatElement msgid="DateFormatskey9" default="false" type="medium" usage="DATE" formatindex="38">
<FormatCode>WW</FormatCode>
</FormatElement>
- <FormatElement msgid="TimeFormatskey1" default="false" type="short" usage="TIME" formatindex="39">
+ <FormatElement msgid="TimeFormatskey1" default="true" type="short" usage="TIME" formatindex="39">
<FormatCode>HH:MM</FormatCode>
</FormatElement>
- <FormatElement msgid="TimeFormatskey2" default="false" type="medium" usage="TIME" formatindex="40">
+ <FormatElement msgid="TimeFormatskey2" default="true" type="medium" usage="TIME" formatindex="40">
<FormatCode>HH:MM:SS</FormatCode>
</FormatElement>
- <FormatElement msgid="TimeFormatskey3" default="true" type="short" usage="TIME" formatindex="41">
+ <FormatElement msgid="TimeFormatskey3" default="false" type="short" usage="TIME" formatindex="41">
<FormatCode>HH:MM AM/PM</FormatCode>
</FormatElement>
- <FormatElement msgid="TimeFormatskey4" default="true" type="medium" usage="TIME" formatindex="42">
+ <FormatElement msgid="TimeFormatskey4" default="false" type="medium" usage="TIME" formatindex="42">
<FormatCode>HH:MM:SS AM/PM</FormatCode>
</FormatElement>
<FormatElement msgid="TimeFormatskey5" default="false" type="medium" usage="TIME" formatindex="43">
@@ -193,7 +193,7 @@
<FormatCode>DD.MM.YY HH:MM</FormatCode>
</FormatElement>
<FormatElement msgid="DateTimeFormatskey2" default="false" type="medium" usage="DATE_TIME" formatindex="47">
- <FormatCode>DD.MM.YYYY HH:MM:SS AM/PM</FormatCode>
+ <FormatCode>DD.MM.YYYY HH:MM:SS</FormatCode>
</FormatElement>
<FormatElement msgid="DateTimeFormatskey3" default="false" type="medium" usage="DATE_TIME" formatindex="50">
<FormatCode>DD.MM.YYYY HH:MM</FormatCode>
diff --git a/i18npool/source/localedata/data/ht_HT.xml b/i18npool/source/localedata/data/ht_HT.xml
index 5a5e1464c4bf..4ce96304b2be 100644
--- a/i18npool/source/localedata/data/ht_HT.xml
+++ b/i18npool/source/localedata/data/ht_HT.xml
@@ -366,16 +366,7 @@
<quarter4Abbreviation>Trimès 4</quarter4Abbreviation>
</ReservedWords>
</LC_MISC>
- <LC_NumberingLevel>
- <NumberingLevel NumType="4" Prefix=" " Suffix=")"/>
- <NumberingLevel NumType="4" Prefix=" " Suffix="."/>
- <NumberingLevel NumType="4" Prefix="(" Suffix=")"/>
- <NumberingLevel NumType="2" Prefix=" " Suffix="."/>
- <NumberingLevel NumType="0" Prefix=" " Suffix=")"/>
- <NumberingLevel NumType="1" Prefix=" " Suffix=")"/>
- <NumberingLevel NumType="1" Prefix="(" Suffix=")"/>
- <NumberingLevel NumType="3" Prefix=" " Suffix="."/>
- </LC_NumberingLevel>
+ <LC_NumberingLevel ref="en_US"/>
<LC_OutLineNumberingLevel ref="en_US"/>
</Locale>
<!--Version 1.0 -->
diff --git a/i18npool/source/localedata/data/hu_HU.xml b/i18npool/source/localedata/data/hu_HU.xml
index 4c9445afa469..9fede539ce1d 100644
--- a/i18npool/source/localedata/data/hu_HU.xml
+++ b/i18npool/source/localedata/data/hu_HU.xml
@@ -77,6 +77,15 @@
<FormatElement msgid="FixedFormatskey6" default="false" type="medium" usage="FIXED_NUMBER" formatindex="5">
<FormatCode># ###,00</FormatCode>
</FormatElement>
+ <FormatElement msgid="FixedFormatskey9" default="false" type="medium" usage="FIXED_NUMBER" formatindex="101">
+ <FormatCode>[NatNum12 cardinal]0</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="FixedFormatskey10" default="false" type="medium" usage="FIXED_NUMBER" formatindex="102">
+ <FormatCode>[NatNum12 capitalize cardinal]0</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="FixedFormatskey12" default="false" type="medium" usage="FIXED_NUMBER" formatindex="104">
+ <FormatCode>[NatNum12 upper cardinal]0</FormatCode>
+ </FormatElement>
<FormatElement msgid="ScientificFormatskey1" default="false" type="medium" usage="SCIENTIFIC_NUMBER" formatindex="6">
<FormatCode>0,00E+000</FormatCode>
</FormatElement>
@@ -110,6 +119,18 @@
<FormatElement msgid="CurrencyFormatskey6" default="false" type="medium" usage="CURRENCY" formatindex="17">
<FormatCode># ##0,-- [$Ft-40E];[RED]-# ##0,-- [$Ft-40E]</FormatCode>
</FormatElement>
+ <FormatElement msgid="CurrencyFormatskey9" default="false" type="medium" usage="CURRENCY" formatindex="105">
+ <FormatCode>[NatNum12 CURRENCY]0</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="CurrencyFormatskey10" default="false" type="medium" usage="CURRENCY" formatindex="106">
+ <FormatCode>[NatNum12 CURRENCY]0,00</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="CurrencyFormatskey11" default="false" type="medium" usage="CURRENCY" formatindex="107">
+ <FormatCode>[NatNum12 upper CURRENCY]0</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="CurrencyFormatskey12" default="false" type="medium" usage="CURRENCY" formatindex="108">
+ <FormatCode>[NatNum12 upper CURRENCY]0,00</FormatCode>
+ </FormatElement>
<FormatElement msgid="DateFormatskey1" default="true" type="short" usage="DATE" formatindex="18">
<FormatCode>YYYY". "MM". "DD.</FormatCode>
</FormatElement>
diff --git a/i18npool/source/localedata/data/id_ID.xml b/i18npool/source/localedata/data/id_ID.xml
index 45cc97e59417..2740d501c7c8 100644
--- a/i18npool/source/localedata/data/id_ID.xml
+++ b/i18npool/source/localedata/data/id_ID.xml
@@ -71,6 +71,15 @@
<FormatElement msgid="FixedFormatskey6" default="false" type="medium" usage="FIXED_NUMBER" formatindex="5">
<FormatCode>#.###,00</FormatCode>
</FormatElement>
+ <FormatElement msgid="FixedFormatskey9" default="false" type="medium" usage="FIXED_NUMBER" formatindex="101">
+ <FormatCode>[NatNum12 cardinal]0</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="FixedFormatskey10" default="false" type="medium" usage="FIXED_NUMBER" formatindex="102">
+ <FormatCode>[NatNum12 capitalize cardinal]0</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="FixedFormatskey12" default="false" type="medium" usage="FIXED_NUMBER" formatindex="104">
+ <FormatCode>[NatNum12 upper cardinal]0</FormatCode>
+ </FormatElement>
<FormatElement msgid="ScientificFormatskey1" default="false" type="medium" usage="SCIENTIFIC_NUMBER" formatindex="6">
<FormatCode>0,00E+000</FormatCode>
</FormatElement>
@@ -104,6 +113,18 @@
<FormatElement msgid="CurrencyFormatskey6" default="false" type="medium" usage="CURRENCY" formatindex="17">
<FormatCode>[CURRENCY]#.##0;[RED]([CURRENCY]#.##0)</FormatCode>
</FormatElement>
+ <FormatElement msgid="CurrencyFormatskey9" default="false" type="medium" usage="CURRENCY" formatindex="105">
+ <FormatCode>[NatNum12 CURRENCY]0</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="CurrencyFormatskey10" default="false" type="medium" usage="CURRENCY" formatindex="106">
+ <FormatCode>[NatNum12 CURRENCY]0,00</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="CurrencyFormatskey11" default="false" type="medium" usage="CURRENCY" formatindex="107">
+ <FormatCode>[NatNum12 upper CURRENCY]0</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="CurrencyFormatskey12" default="false" type="medium" usage="CURRENCY" formatindex="108">
+ <FormatCode>[NatNum12 upper CURRENCY]0,00</FormatCode>
+ </FormatElement>
<FormatElement msgid="DateFormatskey1" default="true" type="short" usage="DATE" formatindex="18">
<FormatCode>DD/MM/YY</FormatCode>
</FormatElement>
diff --git a/i18npool/source/localedata/data/is_IS.xml b/i18npool/source/localedata/data/is_IS.xml
index c294114cb0c9..26a534877105 100644
--- a/i18npool/source/localedata/data/is_IS.xml
+++ b/i18npool/source/localedata/data/is_IS.xml
@@ -57,6 +57,9 @@
<FormatElement msgid="FixedFormatskey6" default="false" type="medium" usage="FIXED_NUMBER" formatindex="5">
<FormatCode>#.###,00</FormatCode>
</FormatElement>
+ <FormatElement msgid="FixedFormatskey9" default="false" type="medium" usage="FIXED_NUMBER" formatindex="101">
+ <FormatCode>[NatNum12 cardinal]0</FormatCode>
+ </FormatElement>
<FormatElement msgid="ScientificFormatskey1" default="false" type="medium" usage="SCIENTIFIC_NUMBER" formatindex="6">
<FormatCode>0,00E+000</FormatCode>
</FormatElement>
@@ -356,62 +359,5 @@
<NumberingLevel NumType="1" Prefix="(" Suffix=")"/>
<NumberingLevel NumType="3" Prefix=" " Suffix="."/>
</LC_NumberingLevel>
- <LC_OutLineNumberingLevel>
- <OutlineStyle>
- <OutLineNumberingLevel Prefix=" " NumType="4" Suffix="." BulletChar="0020" BulletFontName="" ParentNumbering="0" LeftMargin="0" SymbolTextDistance="50" FirstLineOffset="0"/>
- <OutLineNumberingLevel Prefix=" " NumType="4" Suffix="." BulletChar="0020" BulletFontName="" ParentNumbering="1" LeftMargin="50" SymbolTextDistance="50" FirstLineOffset="0"/>
- <OutLineNumberingLevel Prefix=" " NumType="1" Suffix=")" BulletChar="0020" BulletFontName="" ParentNumbering="0" LeftMargin="100" SymbolTextDistance="50" FirstLineOffset="0"/>
- <OutLineNumberingLevel Prefix=" " NumType="6" Suffix=" " BulletChar="2022" BulletFontName="StarSymbol" ParentNumbering="0" LeftMargin="150" SymbolTextDistance="50" FirstLineOffset="0"/>
- <OutLineNumberingLevel Prefix=" " NumType="6" Suffix=" " BulletChar="2022" BulletFontName="StarSymbol" ParentNumbering="0" LeftMargin="200" SymbolTextDistance="50" FirstLineOffset="0"/>
- </OutlineStyle>
- <OutlineStyle>
- <OutLineNumberingLevel Prefix=" " NumType="4" Suffix="." BulletChar="0020" BulletFontName="" ParentNumbering="0" LeftMargin="0" SymbolTextDistance="50" FirstLineOffset="0"/>
- <OutLineNumberingLevel Prefix=" " NumType="1" Suffix=")" BulletChar="0020" BulletFontName="" ParentNumbering="0" LeftMargin="50" SymbolTextDistance="50" FirstLineOffset="0"/>
- <OutLineNumberingLevel Prefix=" " NumType="6" Suffix=" " BulletChar="2022" BulletFontName="StarSymbol" ParentNumbering="0" LeftMargin="100" SymbolTextDistance="50" FirstLineOffset="0"/>
- <OutLineNumberingLevel Prefix=" " NumType="6" Suffix=" " BulletChar="2022" BulletFontName="StarSymbol" ParentNumbering="0" LeftMargin="150" SymbolTextDistance="50" FirstLineOffset="0"/>
- <OutLineNumberingLevel Prefix=" " NumType="6" Suffix=" " BulletChar="2022" BulletFontName="StarSymbol" ParentNumbering="0" LeftMargin="200" SymbolTextDistance="50" FirstLineOffset="0"/>
- </OutlineStyle>
- <OutlineStyle>
- <OutLineNumberingLevel Prefix=" " NumType="4" Suffix="." BulletChar="0020" BulletFontName="" ParentNumbering="0" LeftMargin="0" SymbolTextDistance="50" FirstLineOffset="0"/>
- <OutLineNumberingLevel Prefix="(" NumType="1" Suffix=")" BulletChar="0020" BulletFontName="" ParentNumbering="0" LeftMargin="50" SymbolTextDistance="50" FirstLineOffset="0"/>
- <OutLineNumberingLevel Prefix=" " NumType="3" Suffix="." BulletChar="0020" BulletFontName="" ParentNumbering="0" LeftMargin="100" SymbolTextDistance="50" FirstLineOffset="0"/>
- <OutLineNumberingLevel Prefix=" " NumType="0" Suffix="." BulletChar="0020" BulletFontName="" ParentNumbering="0" LeftMargin="150" SymbolTextDistance="50" FirstLineOffset="0"/>
- <OutLineNumberingLevel Prefix=" " NumType="6" Suffix="." BulletChar="2022" BulletFontName="StarSymbol" ParentNumbering="0" LeftMargin="200" SymbolTextDistance="50" FirstLineOffset="0"/>
- </OutlineStyle>
- <OutlineStyle>
- <OutLineNumberingLevel Prefix=" " NumType="4" Suffix="." BulletChar="0020" BulletFontName="" ParentNumbering="0" LeftMargin="0" SymbolTextDistance="50" FirstLineOffset="0"/>
- <OutLineNumberingLevel Prefix=" " NumType="4" Suffix="." BulletChar="0020" BulletFontName="" ParentNumbering="0" LeftMargin="50" SymbolTextDistance="50" FirstLineOffset="0"/>
- <OutLineNumberingLevel Prefix=" " NumType="4" Suffix="." BulletChar="0020" BulletFontName="" ParentNumbering="0" LeftMargin="100" SymbolTextDistance="50" FirstLineOffset="0"/>
- <OutLineNumberingLevel Prefix=" " NumType="4" Suffix="." BulletChar="0020" BulletFontName="" ParentNumbering="0" LeftMargin="150" SymbolTextDistance="50" FirstLineOffset="0"/>
- <OutLineNumberingLevel Prefix=" " NumType="4" Suffix="." BulletChar="0020" BulletFontName="" ParentNumbering="0" LeftMargin="200" SymbolTextDistance="50" FirstLineOffset="0"/>
- </OutlineStyle>
- <OutlineStyle>
- <OutLineNumberingLevel Prefix=" " NumType="2" Suffix="." BulletChar="0020" BulletFontName="" ParentNumbering="0" LeftMargin="0" SymbolTextDistance="50" FirstLineOffset="0"/>
- <OutLineNumberingLevel Prefix=" " NumType="0" Suffix="." BulletChar="0020" BulletFontName="" ParentNumbering="0" LeftMargin="50" SymbolTextDistance="50" FirstLineOffset="0"/>
- <OutLineNumberingLevel Prefix=" " NumType="3" Suffix="." BulletChar="0020" BulletFontName="" ParentNumbering="0" LeftMargin="100" SymbolTextDistance="50" FirstLineOffset="0"/>
- <OutLineNumberingLevel Prefix=" " NumType="1" Suffix=")" BulletChar="0020" BulletFontName="" ParentNumbering="0" LeftMargin="150" SymbolTextDistance="50" FirstLineOffset="0"/>
- <OutLineNumberingLevel Prefix=" " NumType="6" Suffix=" " BulletChar="2022" BulletFontName="StarSymbol" ParentNumbering="0" LeftMargin="200" SymbolTextDistance="50" FirstLineOffset="0"/>
- </OutlineStyle>
- <OutlineStyle>
- <OutLineNumberingLevel Prefix=" " NumType="0" Suffix="." BulletChar="0020" BulletFontName="" ParentNumbering="0" LeftMargin="0" SymbolTextDistance="50" FirstLineOffset="0"/>
- <OutLineNumberingLevel Prefix=" " NumType="2" Suffix="." BulletChar="0020" BulletFontName="" ParentNumbering="0" LeftMargin="50" SymbolTextDistance="50" FirstLineOffset="0"/>
- <OutLineNumberingLevel Prefix=" " NumType="1" Suffix="." BulletChar="0020" BulletFontName="" ParentNumbering="0" LeftMargin="100" SymbolTextDistance="50" FirstLineOffset="0"/>
- <OutLineNumberingLevel Prefix=" " NumType="3" Suffix="." BulletChar="0020" BulletFontName="" ParentNumbering="0" LeftMargin="150" SymbolTextDistance="50" FirstLineOffset="0"/>
- <OutLineNumberingLevel Prefix=" " NumType="6" Suffix=" " BulletChar="2022" BulletFontName="StarSymbol" ParentNumbering="0" LeftMargin="200" SymbolTextDistance="50" FirstLineOffset="0"/>
- </OutlineStyle>
- <OutlineStyle>
- <OutLineNumberingLevel Prefix=" " NumType="4" Suffix=" " BulletChar="0020" BulletFontName="" ParentNumbering="0" LeftMargin="0" SymbolTextDistance="50" FirstLineOffset="0"/>
- <OutLineNumberingLevel Prefix=" " NumType="4" Suffix=" " BulletChar="0020" BulletFontName="" ParentNumbering="1" LeftMargin="50" SymbolTextDistance="50" FirstLineOffset="0"/>
- <OutLineNumberingLevel Prefix=" " NumType="4" Suffix=" " BulletChar="0020" BulletFontName="" ParentNumbering="2" LeftMargin="100" SymbolTextDistance="50" FirstLineOffset="0"/>
- <OutLineNumberingLevel Prefix=" " NumType="4" Suffix=" " BulletChar="0020" BulletFontName="" ParentNumbering="3" LeftMargin="150" SymbolTextDistance="50" FirstLineOffset="0"/>
- <OutLineNumberingLevel Prefix=" " NumType="4" Suffix=" " BulletChar="0020" BulletFontName="" ParentNumbering="4" LeftMargin="200" SymbolTextDistance="50" FirstLineOffset="0"/>
- </OutlineStyle>
- <OutlineStyle>
- <OutLineNumberingLevel Prefix=" " NumType="6" Suffix=" " BulletChar="27A2" BulletFontName="StarSymbol" ParentNumbering="0" LeftMargin="0" SymbolTextDistance="50" FirstLineOffset="0"/>
- <OutLineNumberingLevel Prefix=" " NumType="6" Suffix=" " BulletChar="E006" BulletFontName="StarSymbol" ParentNumbering="0" LeftMargin="50" SymbolTextDistance="50" FirstLineOffset="0"/>
- <OutLineNumberingLevel Prefix=" " NumType="6" Suffix=")" BulletChar="E004" BulletFontName="StarSymbol" ParentNumbering="0" LeftMargin="100" SymbolTextDistance="50" FirstLineOffset="0"/>
- <OutLineNumberingLevel Prefix=" " NumType="6" Suffix=" " BulletChar="2022" BulletFontName="StarSymbol" ParentNumbering="0" LeftMargin="150" SymbolTextDistance="50" FirstLineOffset="0"/>
- <OutLineNumberingLevel Prefix=" " NumType="6" Suffix=" " BulletChar="2022" BulletFontName="StarSymbol" ParentNumbering="0" LeftMargin="200" SymbolTextDistance="50" FirstLineOffset="0"/>
- </OutlineStyle>
- </LC_OutLineNumberingLevel>
+ <LC_OutLineNumberingLevel ref="en_US"/>
</Locale>
diff --git a/i18npool/source/localedata/data/it_CH.xml b/i18npool/source/localedata/data/it_CH.xml
index 84dc7c09a7c2..bc83eac647a5 100644
--- a/i18npool/source/localedata/data/it_CH.xml
+++ b/i18npool/source/localedata/data/it_CH.xml
@@ -71,6 +71,15 @@
<FormatElement msgid="FixedFormatskey6" default="false" type="medium" usage="FIXED_NUMBER" formatindex="5">
<FormatCode>#'###.00</FormatCode>
</FormatElement>
+ <FormatElement msgid="FixedFormatskey9" default="false" type="medium" usage="FIXED_NUMBER" formatindex="101">
+ <FormatCode>[NatNum12 cardinal]0</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="FixedFormatskey10" default="false" type="medium" usage="FIXED_NUMBER" formatindex="102">
+ <FormatCode>[NatNum12 capitalize cardinal]0</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="FixedFormatskey12" default="false" type="medium" usage="FIXED_NUMBER" formatindex="104">
+ <FormatCode>[NatNum12 upper cardinal]0</FormatCode>
+ </FormatElement>
<FormatElement msgid="ScientificFormatskey1" default="false" type="medium" usage="SCIENTIFIC_NUMBER" formatindex="6">
<FormatCode>0.00E+000</FormatCode>
</FormatElement>
@@ -104,6 +113,18 @@
<FormatElement msgid="CurrencyFormatskey6" default="false" type="medium" usage="CURRENCY" formatindex="17">
<FormatCode>[$CHF-810] #'##0.--;[RED][$CHF-810] -#'##0.--</FormatCode>
</FormatElement>
+ <FormatElement msgid="CurrencyFormatskey9" default="false" type="medium" usage="CURRENCY" formatindex="105">
+ <FormatCode>[NatNum12 CURRENCY]0</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="CurrencyFormatskey10" default="false" type="medium" usage="CURRENCY" formatindex="106">
+ <FormatCode>[NatNum12 CURRENCY]0.00</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="CurrencyFormatskey11" default="false" type="medium" usage="CURRENCY" formatindex="107">
+ <FormatCode>[NatNum12 upper CURRENCY]0</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="CurrencyFormatskey12" default="false" type="medium" usage="CURRENCY" formatindex="108">
+ <FormatCode>[NatNum12 upper CURRENCY]0.00</FormatCode>
+ </FormatElement>
<FormatElement msgid="DateFormatskey1" default="true" type="short" usage="DATE" formatindex="18">
<FormatCode>G.MM.AA</FormatCode>
</FormatElement>
diff --git a/i18npool/source/localedata/data/it_IT.xml b/i18npool/source/localedata/data/it_IT.xml
index ab6822db85c5..8477e3e65d2b 100644
--- a/i18npool/source/localedata/data/it_IT.xml
+++ b/i18npool/source/localedata/data/it_IT.xml
@@ -71,6 +71,15 @@
<FormatElement msgid="FixedFormatskey6" default="false" type="medium" usage="FIXED_NUMBER" formatindex="5">
<FormatCode>#.###,00</FormatCode>
</FormatElement>
+ <FormatElement msgid="FixedFormatskey9" default="false" type="medium" usage="FIXED_NUMBER" formatindex="101">
+ <FormatCode>[NatNum12 cardinal]0</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="FixedFormatskey10" default="false" type="medium" usage="FIXED_NUMBER" formatindex="102">
+ <FormatCode>[NatNum12 capitalize cardinal]0</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="FixedFormatskey12" default="false" type="medium" usage="FIXED_NUMBER" formatindex="104">
+ <FormatCode>[NatNum12 upper cardinal]0</FormatCode>
+ </FormatElement>
<FormatElement msgid="ScientificFormatskey1" default="false" type="medium" usage="SCIENTIFIC_NUMBER" formatindex="6">
<FormatCode>0,00E+000</FormatCode>
</FormatElement>
@@ -104,6 +113,18 @@
<FormatElement msgid="CurrencyFormatskey6" default="false" type="medium" usage="CURRENCY" formatindex="17">
<FormatCode>[$₤-410] #.##0;[RED]-[$₤-410] #.##0</FormatCode>
</FormatElement>
+ <FormatElement msgid="CurrencyFormatskey9" default="false" type="medium" usage="CURRENCY" formatindex="105">
+ <FormatCode>[NatNum12 CURRENCY]0</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="CurrencyFormatskey10" default="false" type="medium" usage="CURRENCY" formatindex="106">
+ <FormatCode>[NatNum12 CURRENCY]0,00</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="CurrencyFormatskey11" default="false" type="medium" usage="CURRENCY" formatindex="107">
+ <FormatCode>[NatNum12 upper CURRENCY]0</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="CurrencyFormatskey12" default="false" type="medium" usage="CURRENCY" formatindex="108">
+ <FormatCode>[NatNum12 upper CURRENCY]0,00</FormatCode>
+ </FormatElement>
<FormatElement msgid="DateFormatskey1" default="true" type="short" usage="DATE" formatindex="18">
<FormatCode>GG/MM/AA</FormatCode>
</FormatElement>
diff --git a/i18npool/source/localedata/data/jbo.xml b/i18npool/source/localedata/data/jbo.xml
index c95304eb7381..a05147b31480 100644
--- a/i18npool/source/localedata/data/jbo.xml
+++ b/i18npool/source/localedata/data/jbo.xml
@@ -366,16 +366,7 @@
<quarter4Abbreviation>4MVS</quarter4Abbreviation>
</ReservedWords>
</LC_MISC>
- <LC_NumberingLevel>
- <NumberingLevel NumType="4" Prefix=" " Suffix=")"/>
- <NumberingLevel NumType="4" Prefix=" " Suffix="."/>
- <NumberingLevel NumType="4" Prefix="(" Suffix=")"/>
- <NumberingLevel NumType="2" Prefix=" " Suffix="."/>
- <NumberingLevel NumType="0" Prefix=" " Suffix=")"/>
- <NumberingLevel NumType="1" Prefix=" " Suffix=")"/>
- <NumberingLevel NumType="1" Prefix="(" Suffix=")"/>
- <NumberingLevel NumType="3" Prefix=" " Suffix="."/>
- </LC_NumberingLevel>
+ <LC_NumberingLevel ref="en_US"/>
<LC_OutLineNumberingLevel ref="en_US"/>
</Locale>
<!--Version 1.0 -->
diff --git a/i18npool/source/localedata/data/kab_DZ.xml b/i18npool/source/localedata/data/kab_DZ.xml
index 2c9f6b45bfdd..d1d02edc94c5 100644
--- a/i18npool/source/localedata/data/kab_DZ.xml
+++ b/i18npool/source/localedata/data/kab_DZ.xml
@@ -366,16 +366,7 @@
<quarter4Abbreviation>Kḍg4</quarter4Abbreviation>
</ReservedWords>
</LC_MISC>
- <LC_NumberingLevel>
- <NumberingLevel NumType="4" Prefix=" " Suffix=")"/>
- <NumberingLevel NumType="4" Prefix=" " Suffix="."/>
- <NumberingLevel NumType="4" Prefix="(" Suffix=")"/>
- <NumberingLevel NumType="2" Prefix=" " Suffix="."/>
- <NumberingLevel NumType="0" Prefix=" " Suffix=")"/>
- <NumberingLevel NumType="1" Prefix=" " Suffix=")"/>
- <NumberingLevel NumType="1" Prefix="(" Suffix=")"/>
- <NumberingLevel NumType="3" Prefix=" " Suffix="."/>
- </LC_NumberingLevel>
+ <LC_NumberingLevel ref="en_US"/>
<LC_OutLineNumberingLevel ref="en_US"/>
</Locale>
<!--Version 1.0 -->
diff --git a/i18npool/source/localedata/data/kk_KZ.xml b/i18npool/source/localedata/data/kk_KZ.xml
index e2c913c5fea0..cb36aaaabefe 100644
--- a/i18npool/source/localedata/data/kk_KZ.xml
+++ b/i18npool/source/localedata/data/kk_KZ.xml
@@ -375,16 +375,7 @@
<quarter4Abbreviation>4 тоқс.</quarter4Abbreviation>
</ReservedWords>
</LC_MISC>
- <LC_NumberingLevel>
- <NumberingLevel NumType="4" Prefix=" " Suffix=")"/>
- <NumberingLevel NumType="4" Prefix=" " Suffix="."/>
- <NumberingLevel NumType="4" Prefix="(" Suffix=")"/>
- <NumberingLevel NumType="2" Prefix=" " Suffix="."/>
- <NumberingLevel NumType="0" Prefix=" " Suffix=")"/>
- <NumberingLevel NumType="1" Prefix=" " Suffix=")"/>
- <NumberingLevel NumType="1" Prefix="(" Suffix=")"/>
- <NumberingLevel NumType="3" Prefix=" " Suffix="."/>
- </LC_NumberingLevel>
+ <LC_NumberingLevel ref="en_US"/>
<LC_OutLineNumberingLevel ref="en_US"/>
</Locale>
<!--Version 1.0 -->
diff --git a/i18npool/source/localedata/data/kmr_Latn_TR.xml b/i18npool/source/localedata/data/kmr_Latn_TR.xml
index 6ac8d1e84d5a..f60e4732f653 100644
--- a/i18npool/source/localedata/data/kmr_Latn_TR.xml
+++ b/i18npool/source/localedata/data/kmr_Latn_TR.xml
@@ -384,72 +384,6 @@
<quarter4Abbreviation>Ç4</quarter4Abbreviation>
</ReservedWords>
</LC_MISC>
- <LC_NumberingLevel>
- <NumberingLevel NumType="4" Prefix=" " Suffix=")"/>
- <NumberingLevel NumType="4" Prefix=" " Suffix="."/>
- <NumberingLevel NumType="4" Prefix="(" Suffix=")"/>
- <NumberingLevel NumType="2" Prefix=" " Suffix="."/>
- <NumberingLevel NumType="0" Prefix=" " Suffix=")"/>
- <NumberingLevel NumType="1" Prefix=" " Suffix=")"/>
- <NumberingLevel NumType="1" Prefix="(" Suffix=")"/>
- <NumberingLevel NumType="3" Prefix=" " Suffix="."/>
- </LC_NumberingLevel>
- <LC_OutLineNumberingLevel>
- <OutlineStyle>
- <OutLineNumberingLevel Prefix=" " NumType="4" Suffix="." BulletChar="0020" BulletFontName="" ParentNumbering="0" LeftMargin="0" SymbolTextDistance="50" FirstLineOffset="0"/>
- <OutLineNumberingLevel Prefix=" " NumType="4" Suffix="." BulletChar="0020" BulletFontName="" ParentNumbering="1" LeftMargin="50" SymbolTextDistance="50" FirstLineOffset="0"/>
- <OutLineNumberingLevel Prefix=" " NumType="1" Suffix=")" BulletChar="0020" BulletFontName="" ParentNumbering="0" LeftMargin="100" SymbolTextDistance="50" FirstLineOffset="0"/>
- <OutLineNumberingLevel Prefix=" " NumType="6" Suffix=" " BulletChar="2022" BulletFontName="StarSymbol" ParentNumbering="0" LeftMargin="150" SymbolTextDistance="50" FirstLineOffset="0"/>
- <OutLineNumberingLevel Prefix=" " NumType="6" Suffix=" " BulletChar="2022" BulletFontName="StarSymbol" ParentNumbering="0" LeftMargin="200" SymbolTextDistance="50" FirstLineOffset="0"/>
- </OutlineStyle>
- <OutlineStyle>
- <OutLineNumberingLevel Prefix=" " NumType="4" Suffix="." BulletChar="0020" BulletFontName="" ParentNumbering="0" LeftMargin="0" SymbolTextDistance="50" FirstLineOffset="0"/>
- <OutLineNumberingLevel Prefix=" " NumType="1" Suffix=")" BulletChar="0020" BulletFontName="" ParentNumbering="0" LeftMargin="50" SymbolTextDistance="50" FirstLineOffset="0"/>
- <OutLineNumberingLevel Prefix=" " NumType="6" Suffix=" " BulletChar="2022" BulletFontName="StarSymbol" ParentNumbering="0" LeftMargin="100" SymbolTextDistance="50" FirstLineOffset="0"/>
- <OutLineNumberingLevel Prefix=" " NumType="6" Suffix=" " BulletChar="2022" BulletFontName="StarSymbol" ParentNumbering="0" LeftMargin="150" SymbolTextDistance="50" FirstLineOffset="0"/>
- <OutLineNumberingLevel Prefix=" " NumType="6" Suffix=" " BulletChar="2022" BulletFontName="StarSymbol" ParentNumbering="0" LeftMargin="200" SymbolTextDistance="50" FirstLineOffset="0"/>
- </OutlineStyle>
- <OutlineStyle>
- <OutLineNumberingLevel Prefix=" " NumType="4" Suffix="." BulletChar="0020" BulletFontName="" ParentNumbering="0" LeftMargin="0" SymbolTextDistance="50" FirstLineOffset="0"/>
- <OutLineNumberingLevel Prefix="(" NumType="1" Suffix=")" BulletChar="0020" BulletFontName="" ParentNumbering="0" LeftMargin="50" SymbolTextDistance="50" FirstLineOffset="0"/>
- <OutLineNumberingLevel Prefix=" " NumType="3" Suffix="." BulletChar="0020" BulletFontName="" ParentNumbering="0" LeftMargin="100" SymbolTextDistance="50" FirstLineOffset="0"/>
- <OutLineNumberingLevel Prefix=" " NumType="0" Suffix="." BulletChar="0020" BulletFontName="" ParentNumbering="0" LeftMargin="150" SymbolTextDistance="50" FirstLineOffset="0"/>
- <OutLineNumberingLevel Prefix=" " NumType="6" Suffix="." BulletChar="2022" BulletFontName="StarSymbol" ParentNumbering="0" LeftMargin="200" SymbolTextDistance="50" FirstLineOffset="0"/>
- </OutlineStyle>
- <OutlineStyle>
- <OutLineNumberingLevel Prefix=" " NumType="4" Suffix="." BulletChar="0020" BulletFontName="" ParentNumbering="0" LeftMargin="0" SymbolTextDistance="50" FirstLineOffset="0"/>
- <OutLineNumberingLevel Prefix=" " NumType="4" Suffix="." BulletChar="0020" BulletFontName="" ParentNumbering="0" LeftMargin="50" SymbolTextDistance="50" FirstLineOffset="0"/>
- <OutLineNumberingLevel Prefix=" " NumType="4" Suffix="." BulletChar="0020" BulletFontName="" ParentNumbering="0" LeftMargin="100" SymbolTextDistance="50" FirstLineOffset="0"/>
- <OutLineNumberingLevel Prefix=" " NumType="4" Suffix="." BulletChar="0020" BulletFontName="" ParentNumbering="0" LeftMargin="150" SymbolTextDistance="50" FirstLineOffset="0"/>
- <OutLineNumberingLevel Prefix=" " NumType="4" Suffix="." BulletChar="0020" BulletFontName="" ParentNumbering="0" LeftMargin="200" SymbolTextDistance="50" FirstLineOffset="0"/>
- </OutlineStyle>
- <OutlineStyle>
- <OutLineNumberingLevel Prefix=" " NumType="2" Suffix="." BulletChar="0020" BulletFontName="" ParentNumbering="0" LeftMargin="0" SymbolTextDistance="50" FirstLineOffset="0"/>
- <OutLineNumberingLevel Prefix=" " NumType="0" Suffix="." BulletChar="0020" BulletFontName="" ParentNumbering="0" LeftMargin="50" SymbolTextDistance="50" FirstLineOffset="0"/>
- <OutLineNumberingLevel Prefix=" " NumType="3" Suffix="." BulletChar="0020" BulletFontName="" ParentNumbering="0" LeftMargin="100" SymbolTextDistance="50" FirstLineOffset="0"/>
- <OutLineNumberingLevel Prefix=" " NumType="1" Suffix=")" BulletChar="0020" BulletFontName="" ParentNumbering="0" LeftMargin="150" SymbolTextDistance="50" FirstLineOffset="0"/>
- <OutLineNumberingLevel Prefix=" " NumType="6" Suffix=" " BulletChar="2022" BulletFontName="StarSymbol" ParentNumbering="0" LeftMargin="200" SymbolTextDistance="50" FirstLineOffset="0"/>
- </OutlineStyle>
- <OutlineStyle>
- <OutLineNumberingLevel Prefix=" " NumType="0" Suffix="." BulletChar="0020" BulletFontName="" ParentNumbering="0" LeftMargin="0" SymbolTextDistance="50" FirstLineOffset="0"/>
- <OutLineNumberingLevel Prefix=" " NumType="2" Suffix="." BulletChar="0020" BulletFontName="" ParentNumbering="0" LeftMargin="50" SymbolTextDistance="50" FirstLineOffset="0"/>
- <OutLineNumberingLevel Prefix=" " NumType="1" Suffix="." BulletChar="0020" BulletFontName="" ParentNumbering="0" LeftMargin="100" SymbolTextDistance="50" FirstLineOffset="0"/>
- <OutLineNumberingLevel Prefix=" " NumType="3" Suffix="." BulletChar="0020" BulletFontName="" ParentNumbering="0" LeftMargin="150" SymbolTextDistance="50" FirstLineOffset="0"/>
- <OutLineNumberingLevel Prefix=" " NumType="6" Suffix=" " BulletChar="2022" BulletFontName="StarSymbol" ParentNumbering="0" LeftMargin="200" SymbolTextDistance="50" FirstLineOffset="0"/>
- </OutlineStyle>
- <OutlineStyle>
- <OutLineNumberingLevel Prefix=" " NumType="4" Suffix=" " BulletChar="0020" BulletFontName="" ParentNumbering="0" LeftMargin="0" SymbolTextDistance="50" FirstLineOffset="0"/>
- <OutLineNumberingLevel Prefix=" " NumType="4" Suffix=" " BulletChar="0020" BulletFontName="" ParentNumbering="1" LeftMargin="50" SymbolTextDistance="50" FirstLineOffset="0"/>
- <OutLineNumberingLevel Prefix=" " NumType="4" Suffix=" " BulletChar="0020" BulletFontName="" ParentNumbering="2" LeftMargin="100" SymbolTextDistance="50" FirstLineOffset="0"/>
- <OutLineNumberingLevel Prefix=" " NumType="4" Suffix=" " BulletChar="0020" BulletFontName="" ParentNumbering="3" LeftMargin="150" SymbolTextDistance="50" FirstLineOffset="0"/>
- <OutLineNumberingLevel Prefix=" " NumType="4" Suffix=" " BulletChar="0020" BulletFontName="" ParentNumbering="4" LeftMargin="200" SymbolTextDistance="50" FirstLineOffset="0"/>
- </OutlineStyle>
- <OutlineStyle>
- <OutLineNumberingLevel Prefix=" " NumType="6" Suffix=" " BulletChar="27A2" BulletFontName="StarSymbol" ParentNumbering="0" LeftMargin="0" SymbolTextDistance="50" FirstLineOffset="0"/>
- <OutLineNumberingLevel Prefix=" " NumType="6" Suffix=" " BulletChar="E006" BulletFontName="StarSymbol" ParentNumbering="0" LeftMargin="50" SymbolTextDistance="50" FirstLineOffset="0"/>
- <OutLineNumberingLevel Prefix=" " NumType="6" Suffix=")" BulletChar="E004" BulletFontName="StarSymbol" ParentNumbering="0" LeftMargin="100" SymbolTextDistance="50" FirstLineOffset="0"/>
- <OutLineNumberingLevel Prefix=" " NumType="6" Suffix=" " BulletChar="2022" BulletFontName="StarSymbol" ParentNumbering="0" LeftMargin="150" SymbolTextDistance="50" FirstLineOffset="0"/>
- <OutLineNumberingLevel Prefix=" " NumType="6" Suffix=" " BulletChar="2022" BulletFontName="StarSymbol" ParentNumbering="0" LeftMargin="200" SymbolTextDistance="50" FirstLineOffset="0"/>
- </OutlineStyle>
- </LC_OutLineNumberingLevel>
+ <LC_NumberingLevel ref="en_US"/>
+ <LC_OutLineNumberingLevel ref="en_US"/>
</Locale>
diff --git a/i18npool/source/localedata/data/lb_LU.xml b/i18npool/source/localedata/data/lb_LU.xml
index 7f44bad128d7..99db2f585c8b 100644
--- a/i18npool/source/localedata/data/lb_LU.xml
+++ b/i18npool/source/localedata/data/lb_LU.xml
@@ -71,6 +71,15 @@
<FormatElement msgid="FixedFormatskey6" default="false" type="medium" usage="FIXED_NUMBER" formatindex="5">
<FormatCode>#.###,00</FormatCode>
</FormatElement>
+ <FormatElement msgid="FixedFormatskey9" default="false" type="medium" usage="FIXED_NUMBER" formatindex="101">
+ <FormatCode>[NatNum12 cardinal]0</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="FixedFormatskey10" default="false" type="medium" usage="FIXED_NUMBER" formatindex="102">
+ <FormatCode>[NatNum12 capitalize cardinal]0</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="FixedFormatskey12" default="false" type="medium" usage="FIXED_NUMBER" formatindex="104">
+ <FormatCode>[NatNum12 upper cardinal]0</FormatCode>
+ </FormatElement>
<FormatElement msgid="ScientificFormatskey1" default="false" type="medium" usage="SCIENTIFIC_NUMBER" formatindex="6">
<FormatCode>0,00E+000</FormatCode>
</FormatElement>
@@ -104,6 +113,18 @@
<FormatElement msgid="CurrencyFormatskey6" default="false" type="medium" usage="CURRENCY" formatindex="17">
<FormatCode>#.##0,-- [CURRENCY];[RED]-#.##0,-- [CURRENCY]</FormatCode>
</FormatElement>
+ <FormatElement msgid="CurrencyFormatskey9" default="false" type="medium" usage="CURRENCY" formatindex="105">
+ <FormatCode>[NatNum12 CURRENCY]0</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="CurrencyFormatskey10" default="false" type="medium" usage="CURRENCY" formatindex="106">
+ <FormatCode>[NatNum12 CURRENCY]0,00</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="CurrencyFormatskey11" default="false" type="medium" usage="CURRENCY" formatindex="107">
+ <FormatCode>[NatNum12 upper CURRENCY]0</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="CurrencyFormatskey12" default="false" type="medium" usage="CURRENCY" formatindex="108">
+ <FormatCode>[NatNum12 upper CURRENCY]0,00</FormatCode>
+ </FormatElement>
<FormatElement msgid="DateFormatskey1" default="true" type="short" usage="DATE" formatindex="18">
<FormatCode>DD.MM.YY</FormatCode>
</FormatElement>
diff --git a/i18npool/source/localedata/data/lg_UG.xml b/i18npool/source/localedata/data/lg_UG.xml
index 5c12eb85c8ee..ba0a07edb8b6 100644
--- a/i18npool/source/localedata/data/lg_UG.xml
+++ b/i18npool/source/localedata/data/lg_UG.xml
@@ -71,6 +71,15 @@
<FormatElement msgid="FixedFormatskey6" default="false" type="medium" usage="FIXED_NUMBER" formatindex="5">
<FormatCode>#,###.00</FormatCode>
</FormatElement>
+ <FormatElement msgid="FixedFormatskey9" default="false" type="medium" usage="FIXED_NUMBER" formatindex="101">
+ <FormatCode>[NatNum12 cardinal]0</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="FixedFormatskey10" default="false" type="medium" usage="FIXED_NUMBER" formatindex="102">
+ <FormatCode>[NatNum12 capitalize cardinal]0</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="FixedFormatskey12" default="false" type="medium" usage="FIXED_NUMBER" formatindex="104">
+ <FormatCode>[NatNum12 upper cardinal]0</FormatCode>
+ </FormatElement>
<FormatElement msgid="ScientificFormatskey1" default="false" type="medium" usage="SCIENTIFIC_NUMBER" formatindex="6">
<FormatCode>0.00E+000</FormatCode>
</FormatElement>
@@ -104,6 +113,18 @@
<FormatElement msgid="CurrencyFormatskey6" default="false" type="medium" usage="CURRENCY" formatindex="17">
<FormatCode>#,##0.-- [CURRENCY];[RED]-#,##0.-- [CURRENCY]</FormatCode>
</FormatElement>
+ <FormatElement msgid="CurrencyFormatskey9" default="false" type="medium" usage="CURRENCY" formatindex="105">
+ <FormatCode>[NatNum12 CURRENCY]0</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="CurrencyFormatskey10" default="false" type="medium" usage="CURRENCY" formatindex="106">
+ <FormatCode>[NatNum12 CURRENCY]0.00</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="CurrencyFormatskey11" default="false" type="medium" usage="CURRENCY" formatindex="107">
+ <FormatCode>[NatNum12 upper CURRENCY]0</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="CurrencyFormatskey12" default="false" type="medium" usage="CURRENCY" formatindex="108">
+ <FormatCode>[NatNum12 upper CURRENCY]0.00</FormatCode>
+ </FormatElement>
<FormatElement msgid="DateFormatskey1" default="true" type="short" usage="DATE" formatindex="18">
<FormatCode>YY/MM/DD</FormatCode>
</FormatElement>
@@ -369,16 +390,7 @@
<quarter4Abbreviation>Kna4</quarter4Abbreviation>
</ReservedWords>
</LC_MISC>
- <LC_NumberingLevel>
- <NumberingLevel NumType="4" Prefix="" Suffix=")" />
- <NumberingLevel NumType="4" Prefix="" Suffix="." />
- <NumberingLevel NumType="4" Prefix="(" Suffix=")" />
- <NumberingLevel NumType="2" Prefix="" Suffix="." />
- <NumberingLevel NumType="0" Prefix="" Suffix=")" />
- <NumberingLevel NumType="1" Prefix="" Suffix=")" />
- <NumberingLevel NumType="1" Prefix="(" Suffix=")" />
- <NumberingLevel NumType="3" Prefix="" Suffix="." />
- </LC_NumberingLevel>
+ <LC_NumberingLevel ref="en_US"/>
<LC_OutLineNumberingLevel ref="en_US" />
</Locale>
<!--Version 1.0 -->
diff --git a/i18npool/source/localedata/data/lgr_SB.xml b/i18npool/source/localedata/data/lgr_SB.xml
index 30696798d362..14002bfd0a96 100644
--- a/i18npool/source/localedata/data/lgr_SB.xml
+++ b/i18npool/source/localedata/data/lgr_SB.xml
@@ -350,16 +350,7 @@
<quarter4Abbreviation>Q4</quarter4Abbreviation>
</ReservedWords>
</LC_MISC>
- <LC_NumberingLevel>
- <NumberingLevel NumType="4" Prefix=" " Suffix=")"/>
- <NumberingLevel NumType="4" Prefix=" " Suffix="."/>
- <NumberingLevel NumType="4" Prefix="(" Suffix=")"/>
- <NumberingLevel NumType="2" Prefix=" " Suffix="."/>
- <NumberingLevel NumType="0" Prefix=" " Suffix=")"/>
- <NumberingLevel NumType="1" Prefix=" " Suffix=")"/>
- <NumberingLevel NumType="1" Prefix="(" Suffix=")"/>
- <NumberingLevel NumType="3" Prefix=" " Suffix="."/>
- </LC_NumberingLevel>
+ <LC_NumberingLevel ref="en_US"/>
<LC_OutLineNumberingLevel ref="en_US"/>
</Locale>
<!--Version 1.0 -->
diff --git a/i18npool/source/localedata/data/list-dateacceptancepattern.awk b/i18npool/source/localedata/data/list-dateacceptancepattern.awk
index 3c86923e2b84..e47f101d4af0 100644..100755
--- a/i18npool/source/localedata/data/list-dateacceptancepattern.awk
+++ b/i18npool/source/localedata/data/list-dateacceptancepattern.awk
@@ -67,7 +67,7 @@ file != FILENAME {
{
formatelement = 0
split( $0, a, /<|>/ )
- split( a[3], b, /[0-9A-Za-z\[\~\]]+/ )
+ split( a[3], b, /[0-9A-Za-z\[~\]]+/ )
datesep = b[2]
dateformat = a[3]
}
diff --git a/i18npool/source/localedata/data/list-locales.awk b/i18npool/source/localedata/data/list-locales.awk
index b8a7f73f14de..52f02ba64986 100644..100755
--- a/i18npool/source/localedata/data/list-locales.awk
+++ b/i18npool/source/localedata/data/list-locales.awk
@@ -83,8 +83,14 @@ function printEntry() {
tmp = file
gsub( /.*\//, "", tmp )
gsub( /\.xml/, "", tmp )
- split( tmp, iso, /_/ )
- if ( iso[2] )
+ n = split( tmp, iso, /_/ )
+ if ( n > 2 )
+ {
+ if (length(iso[1]) == 2)
+ printf(" ")
+ printf( "%s: %s - %s\n", tmp, language, country )
+ }
+ else if ( n == 2 )
printf( "%3s_%2s: %s - %s\n", iso[1], iso[2], language, country )
else
printf( "%3s %2s: %s %s\n", iso[1], iso[2], language, country )
diff --git a/i18npool/source/localedata/data/lld_IT.xml b/i18npool/source/localedata/data/lld_IT.xml
index 361d72367425..13b22c69fc74 100644
--- a/i18npool/source/localedata/data/lld_IT.xml
+++ b/i18npool/source/localedata/data/lld_IT.xml
@@ -367,16 +367,7 @@
<quarter4Abbreviation>tr 4</quarter4Abbreviation>
</ReservedWords>
</LC_MISC>
- <LC_NumberingLevel>
- <NumberingLevel NumType="4" Prefix=" " Suffix=")"/>
- <NumberingLevel NumType="4" Prefix=" " Suffix="."/>
- <NumberingLevel NumType="4" Prefix="(" Suffix=")"/>
- <NumberingLevel NumType="2" Prefix=" " Suffix="."/>
- <NumberingLevel NumType="0" Prefix=" " Suffix=")"/>
- <NumberingLevel NumType="1" Prefix=" " Suffix=")"/>
- <NumberingLevel NumType="1" Prefix="(" Suffix=")"/>
- <NumberingLevel NumType="3" Prefix=" " Suffix="."/>
- </LC_NumberingLevel>
+ <LC_NumberingLevel ref="en_US"/>
<LC_OutLineNumberingLevel ref="en_US"/>
</Locale>
<!--Version 1.0 -->
diff --git a/i18npool/source/localedata/data/ln_CD.xml b/i18npool/source/localedata/data/ln_CD.xml
index 375d781a61af..adbfbc889b8a 100644
--- a/i18npool/source/localedata/data/ln_CD.xml
+++ b/i18npool/source/localedata/data/ln_CD.xml
@@ -373,16 +373,7 @@
<quarter4Abbreviation>SM4</quarter4Abbreviation>
</ReservedWords>
</LC_MISC>
- <LC_NumberingLevel>
- <NumberingLevel NumType="4" Prefix=" " Suffix=")"/>
- <NumberingLevel NumType="4" Prefix=" " Suffix="."/>
- <NumberingLevel NumType="4" Prefix="(" Suffix=")"/>
- <NumberingLevel NumType="2" Prefix=" " Suffix="."/>
- <NumberingLevel NumType="0" Prefix=" " Suffix=")"/>
- <NumberingLevel NumType="1" Prefix=" " Suffix=")"/>
- <NumberingLevel NumType="1" Prefix="(" Suffix=")"/>
- <NumberingLevel NumType="3" Prefix=" " Suffix="."/>
- </LC_NumberingLevel>
+ <LC_NumberingLevel ref="en_US"/>
<LC_OutLineNumberingLevel ref="en_US"/>
</Locale>
<!--Version 1.0 -->
diff --git a/i18npool/source/localedata/data/locale.dtd b/i18npool/source/localedata/data/locale.dtd
index 60006d87f439..81a8bdfbb35d 100644
--- a/i18npool/source/localedata/data/locale.dtd
+++ b/i18npool/source/localedata/data/locale.dtd
@@ -31,7 +31,13 @@
current locale.dtd file at hand, you can download the locale.dtd file from
https://cgit.freedesktop.org/libreoffice/core/plain/i18npool/source/localedata/data/locale.dtd
- xmllint --dtdvalid locale.dtd --noout your_data.xml
+ xmllint -dtdvalid locale.dtd -noout your_data.xml
+
+ (Note that instead of one - hyphen minus two consecutive hyphen minus
+ characters should be given to start an option, but a double hyphen in a XML
+ comment technically ends a comment (though parsers look for a matching
+ closing one with > as well) and let xmllint complain already about the .dtd
+ itself. Some versions of xmllint also accept a single hyphen minus).
Second, using a validating parser. A validating parser, for example, may be found at
@@ -515,7 +521,7 @@
Optional ICU tailoring.
See Collation Customization in ICU User Guide for syntax,
- http://www.icu-project.org/userguide/Collate_Customization.html
+ https://unicode-org.github.io/icu/userguide/collation/customization/
There are two ways to add language specific tailoring in LibreOffice.
For small tailoring, you can directly add it in locale data here. For
@@ -554,9 +560,9 @@
The initial data was setup according to the ICU collation chart at
http://oss.software.ibm.com/icu/charts/collation/
- Note: ICU site was moved to http://www.icu-project.org/ and as ICU per
+ Note: ICU site was moved to https://icu.unicode.org/ and as ICU per
default uses CLDR, collation charts are available at
- http://unicode.org/cldr/comparison_charts.html#Collation
+ https://www.unicode.org/cldr/charts/latest/
Possible notations in the syntax of the IndexKey element are:
@@ -628,18 +634,24 @@
<!ELEMENT ReservedWords (trueWord, falseWord, quarter1Word, quarter2Word, quarter3Word, quarter4Word, aboveWord, belowWord, quarter1Abbreviation, quarter2Abbreviation, quarter3Abbreviation, quarter4Abbreviation)>
<!-- order is significant! -->
+<!-- trueWord and falseWord are displayed (uppercased) for the BOOLEAN number
+ format keyword. "true", "false" -->
<!ELEMENT trueWord (#PCDATA)>
<!ELEMENT falseWord (#PCDATA)>
+<!-- quarter1Word,... are displayed for the QQ number format keyword.
+ "1st quarter", "2nd quarter", ...; "1er trimestre", "2e trimestre", ... -->
<!ELEMENT quarter1Word (#PCDATA)>
<!ELEMENT quarter2Word (#PCDATA)>
<!ELEMENT quarter3Word (#PCDATA)>
<!ELEMENT quarter4Word (#PCDATA)>
-<!ELEMENT aboveWord (#PCDATA)>
-<!ELEMENT belowWord (#PCDATA)>
<!-- aboveWord and belowWord are used as reference field content in Writer, it
is a "physical" object relative position, not "numerical" relative.
--->
-<!ELEMENT quarter1Abbreviation (#PCDATA)> <!-- "Q1" (quarter), "T1" (trimestre), ... -->
+ Like section "above" and section "below". -->
+<!ELEMENT aboveWord (#PCDATA)>
+<!ELEMENT belowWord (#PCDATA)>
+<!-- quarter1Abbreviation,... are displayed for the Q number format keyword.
+ "Q1" (quarter), "T1" (trimestre), ... -->
+<!ELEMENT quarter1Abbreviation (#PCDATA)>
<!ELEMENT quarter2Abbreviation (#PCDATA)>
<!ELEMENT quarter3Abbreviation (#PCDATA)>
<!ELEMENT quarter4Abbreviation (#PCDATA)>
@@ -675,5 +687,6 @@
<!ATTLIST OutLineNumberingLevel LeftMargin CDATA #REQUIRED>
<!ATTLIST OutLineNumberingLevel SymbolTextDistance CDATA #REQUIRED >
<!ATTLIST OutLineNumberingLevel FirstLineOffset CDATA #REQUIRED >
+<!ATTLIST OutLineNumberingLevel Adjust CDATA #IMPLIED >
<!ATTLIST OutLineNumberingLevel Transliteration CDATA #IMPLIED >
<!ATTLIST OutLineNumberingLevel NatNum CDATA #IMPLIED>
diff --git a/i18npool/source/localedata/data/lt_LT.xml b/i18npool/source/localedata/data/lt_LT.xml
index 87446545ec12..2c5b94bc4a7e 100644
--- a/i18npool/source/localedata/data/lt_LT.xml
+++ b/i18npool/source/localedata/data/lt_LT.xml
@@ -71,6 +71,15 @@
<FormatElement msgid="FixedFormatskey6" default="false" type="medium" usage="FIXED_NUMBER" formatindex="5">
<FormatCode>#.###,00</FormatCode>
</FormatElement>
+ <FormatElement msgid="FixedFormatskey9" default="false" type="medium" usage="FIXED_NUMBER" formatindex="101">
+ <FormatCode>[NatNum12 cardinal]0</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="FixedFormatskey10" default="false" type="medium" usage="FIXED_NUMBER" formatindex="102">
+ <FormatCode>[NatNum12 capitalize cardinal]0</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="FixedFormatskey12" default="false" type="medium" usage="FIXED_NUMBER" formatindex="104">
+ <FormatCode>[NatNum12 upper cardinal]0</FormatCode>
+ </FormatElement>
<FormatElement msgid="ScientificFormatskey1" default="false" type="medium" usage="SCIENTIFIC_NUMBER" formatindex="6">
<FormatCode>0,00E+000</FormatCode>
</FormatElement>
@@ -104,6 +113,18 @@
<FormatElement msgid="CurrencyFormatskey6" default="false" type="medium" usage="CURRENCY" formatindex="17">
<FormatCode>#.##0,-- [$Lt-427];[RED]-#.##0,-- [$Lt-427]</FormatCode>
</FormatElement>
+ <FormatElement msgid="CurrencyFormatskey9" default="false" type="medium" usage="CURRENCY" formatindex="105">
+ <FormatCode>[NatNum12 CURRENCY]0</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="CurrencyFormatskey10" default="false" type="medium" usage="CURRENCY" formatindex="106">
+ <FormatCode>[NatNum12 CURRENCY]0,00</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="CurrencyFormatskey11" default="false" type="medium" usage="CURRENCY" formatindex="107">
+ <FormatCode>[NatNum12 upper CURRENCY]0</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="CurrencyFormatskey12" default="false" type="medium" usage="CURRENCY" formatindex="108">
+ <FormatCode>[NatNum12 upper CURRENCY]0,00</FormatCode>
+ </FormatElement>
<FormatElement msgid="DateFormatskey0" default="true" type="medium" usage="DATE" formatindex="18">
<FormatCode>YYYY-MM-DD</FormatCode>
<DefaultName>ISO 8601</DefaultName>
@@ -468,62 +489,5 @@
<NumberingLevel NumType="1" Prefix="(" Suffix=")"/>
<NumberingLevel NumType="3" Prefix=" " Suffix="."/>
</LC_NumberingLevel>
- <LC_OutLineNumberingLevel>
- <OutlineStyle>
- <OutLineNumberingLevel Prefix=" " NumType="4" Suffix="." BulletChar="0020" BulletFontName="" ParentNumbering="0" LeftMargin="0" SymbolTextDistance="50" FirstLineOffset="0"/>
- <OutLineNumberingLevel Prefix=" " NumType="4" Suffix="." BulletChar="0020" BulletFontName="" ParentNumbering="1" LeftMargin="50" SymbolTextDistance="50" FirstLineOffset="0"/>
- <OutLineNumberingLevel Prefix=" " NumType="1" Suffix=")" BulletChar="0020" BulletFontName="" ParentNumbering="0" LeftMargin="100" SymbolTextDistance="50" FirstLineOffset="0"/>
- <OutLineNumberingLevel Prefix=" " NumType="6" Suffix=" " BulletChar="2022" BulletFontName="StarSymbol" ParentNumbering="0" LeftMargin="150" SymbolTextDistance="50" FirstLineOffset="0"/>
- <OutLineNumberingLevel Prefix=" " NumType="6" Suffix=" " BulletChar="2022" BulletFontName="StarSymbol" ParentNumbering="0" LeftMargin="200" SymbolTextDistance="50" FirstLineOffset="0"/>
- </OutlineStyle>
- <OutlineStyle>
- <OutLineNumberingLevel Prefix=" " NumType="4" Suffix="." BulletChar="0020" BulletFontName="" ParentNumbering="0" LeftMargin="0" SymbolTextDistance="50" FirstLineOffset="0"/>
- <OutLineNumberingLevel Prefix=" " NumType="1" Suffix=")" BulletChar="0020" BulletFontName="" ParentNumbering="0" LeftMargin="50" SymbolTextDistance="50" FirstLineOffset="0"/>
- <OutLineNumberingLevel Prefix=" " NumType="6" Suffix=" " BulletChar="2022" BulletFontName="StarSymbol" ParentNumbering="0" LeftMargin="100" SymbolTextDistance="50" FirstLineOffset="0"/>
- <OutLineNumberingLevel Prefix=" " NumType="6" Suffix=" " BulletChar="2022" BulletFontName="StarSymbol" ParentNumbering="0" LeftMargin="150" SymbolTextDistance="50" FirstLineOffset="0"/>
- <OutLineNumberingLevel Prefix=" " NumType="6" Suffix=" " BulletChar="2022" BulletFontName="StarSymbol" ParentNumbering="0" LeftMargin="200" SymbolTextDistance="50" FirstLineOffset="0"/>
- </OutlineStyle>
- <OutlineStyle>
- <OutLineNumberingLevel Prefix=" " NumType="4" Suffix="." BulletChar="0020" BulletFontName="" ParentNumbering="0" LeftMargin="0" SymbolTextDistance="50" FirstLineOffset="0"/>
- <OutLineNumberingLevel Prefix="(" NumType="1" Suffix=")" BulletChar="0020" BulletFontName="" ParentNumbering="0" LeftMargin="50" SymbolTextDistance="50" FirstLineOffset="0"/>
- <OutLineNumberingLevel Prefix=" " NumType="3" Suffix="." BulletChar="0020" BulletFontName="" ParentNumbering="0" LeftMargin="100" SymbolTextDistance="50" FirstLineOffset="0"/>
- <OutLineNumberingLevel Prefix=" " NumType="0" Suffix="." BulletChar="0020" BulletFontName="" ParentNumbering="0" LeftMargin="150" SymbolTextDistance="50" FirstLineOffset="0"/>
- <OutLineNumberingLevel Prefix=" " NumType="6" Suffix="." BulletChar="2022" BulletFontName="StarSymbol" ParentNumbering="0" LeftMargin="200" SymbolTextDistance="50" FirstLineOffset="0"/>
- </OutlineStyle>
- <OutlineStyle>
- <OutLineNumberingLevel Prefix=" " NumType="4" Suffix="." BulletChar="0020" BulletFontName="" ParentNumbering="0" LeftMargin="0" SymbolTextDistance="50" FirstLineOffset="0"/>
- <OutLineNumberingLevel Prefix=" " NumType="4" Suffix="." BulletChar="0020" BulletFontName="" ParentNumbering="0" LeftMargin="50" SymbolTextDistance="50" FirstLineOffset="0"/>
- <OutLineNumberingLevel Prefix=" " NumType="4" Suffix="." BulletChar="0020" BulletFontName="" ParentNumbering="0" LeftMargin="100" SymbolTextDistance="50" FirstLineOffset="0"/>
- <OutLineNumberingLevel Prefix=" " NumType="4" Suffix="." BulletChar="0020" BulletFontName="" ParentNumbering="0" LeftMargin="150" SymbolTextDistance="50" FirstLineOffset="0"/>
- <OutLineNumberingLevel Prefix=" " NumType="4" Suffix="." BulletChar="0020" BulletFontName="" ParentNumbering="0" LeftMargin="200" SymbolTextDistance="50" FirstLineOffset="0"/>
- </OutlineStyle>
- <OutlineStyle>
- <OutLineNumberingLevel Prefix=" " NumType="2" Suffix="." BulletChar="0020" BulletFontName="" ParentNumbering="0" LeftMargin="0" SymbolTextDistance="50" FirstLineOffset="0"/>
- <OutLineNumberingLevel Prefix=" " NumType="0" Suffix="." BulletChar="0020" BulletFontName="" ParentNumbering="0" LeftMargin="50" SymbolTextDistance="50" FirstLineOffset="0"/>
- <OutLineNumberingLevel Prefix=" " NumType="3" Suffix="." BulletChar="0020" BulletFontName="" ParentNumbering="0" LeftMargin="100" SymbolTextDistance="50" FirstLineOffset="0"/>
- <OutLineNumberingLevel Prefix=" " NumType="1" Suffix=")" BulletChar="0020" BulletFontName="" ParentNumbering="0" LeftMargin="150" SymbolTextDistance="50" FirstLineOffset="0"/>
- <OutLineNumberingLevel Prefix=" " NumType="6" Suffix=" " BulletChar="2022" BulletFontName="StarSymbol" ParentNumbering="0" LeftMargin="200" SymbolTextDistance="50" FirstLineOffset="0"/>
- </OutlineStyle>
- <OutlineStyle>
- <OutLineNumberingLevel Prefix=" " NumType="0" Suffix="." BulletChar="0020" BulletFontName="" ParentNumbering="0" LeftMargin="0" SymbolTextDistance="50" FirstLineOffset="0"/>
- <OutLineNumberingLevel Prefix=" " NumType="2" Suffix="." BulletChar="0020" BulletFontName="" ParentNumbering="0" LeftMargin="50" SymbolTextDistance="50" FirstLineOffset="0"/>
- <OutLineNumberingLevel Prefix=" " NumType="1" Suffix="." BulletChar="0020" BulletFontName="" ParentNumbering="0" LeftMargin="100" SymbolTextDistance="50" FirstLineOffset="0"/>
- <OutLineNumberingLevel Prefix=" " NumType="3" Suffix="." BulletChar="0020" BulletFontName="" ParentNumbering="0" LeftMargin="150" SymbolTextDistance="50" FirstLineOffset="0"/>
- <OutLineNumberingLevel Prefix=" " NumType="6" Suffix=" " BulletChar="2022" BulletFontName="StarSymbol" ParentNumbering="0" LeftMargin="200" SymbolTextDistance="50" FirstLineOffset="0"/>
- </OutlineStyle>
- <OutlineStyle>
- <OutLineNumberingLevel Prefix=" " NumType="4" Suffix=" " BulletChar="0020" BulletFontName="" ParentNumbering="0" LeftMargin="0" SymbolTextDistance="50" FirstLineOffset="0"/>
- <OutLineNumberingLevel Prefix=" " NumType="4" Suffix=" " BulletChar="0020" BulletFontName="" ParentNumbering="1" LeftMargin="50" SymbolTextDistance="50" FirstLineOffset="0"/>
- <OutLineNumberingLevel Prefix=" " NumType="4" Suffix=" " BulletChar="0020" BulletFontName="" ParentNumbering="2" LeftMargin="100" SymbolTextDistance="50" FirstLineOffset="0"/>
- <OutLineNumberingLevel Prefix=" " NumType="4" Suffix=" " BulletChar="0020" BulletFontName="" ParentNumbering="3" LeftMargin="150" SymbolTextDistance="50" FirstLineOffset="0"/>
- <OutLineNumberingLevel Prefix=" " NumType="4" Suffix=" " BulletChar="0020" BulletFontName="" ParentNumbering="4" LeftMargin="200" SymbolTextDistance="50" FirstLineOffset="0"/>
- </OutlineStyle>
- <OutlineStyle>
- <OutLineNumberingLevel Prefix=" " NumType="6" Suffix=" " BulletChar="27A2" BulletFontName="StarSymbol" ParentNumbering="0" LeftMargin="0" SymbolTextDistance="50" FirstLineOffset="0"/>
- <OutLineNumberingLevel Prefix=" " NumType="6" Suffix=" " BulletChar="E006" BulletFontName="StarSymbol" ParentNumbering="0" LeftMargin="50" SymbolTextDistance="50" FirstLineOffset="0"/>
- <OutLineNumberingLevel Prefix=" " NumType="6" Suffix=")" BulletChar="E004" BulletFontName="StarSymbol" ParentNumbering="0" LeftMargin="100" SymbolTextDistance="50" FirstLineOffset="0"/>
- <OutLineNumberingLevel Prefix=" " NumType="6" Suffix=" " BulletChar="2022" BulletFontName="StarSymbol" ParentNumbering="0" LeftMargin="150" SymbolTextDistance="50" FirstLineOffset="0"/>
- <OutLineNumberingLevel Prefix=" " NumType="6" Suffix=" " BulletChar="2022" BulletFontName="StarSymbol" ParentNumbering="0" LeftMargin="200" SymbolTextDistance="50" FirstLineOffset="0"/>
- </OutlineStyle>
- </LC_OutLineNumberingLevel>
+ <LC_OutLineNumberingLevel ref="en_US"/>
</Locale>
diff --git a/i18npool/source/localedata/data/lv_LV.xml b/i18npool/source/localedata/data/lv_LV.xml
index 80ca4b8c3d18..c71195c65210 100644
--- a/i18npool/source/localedata/data/lv_LV.xml
+++ b/i18npool/source/localedata/data/lv_LV.xml
@@ -71,6 +71,15 @@
<FormatElement msgid="FixedFormatskey6" default="false" type="medium" usage="FIXED_NUMBER" formatindex="5">
<FormatCode># ###,00</FormatCode>
</FormatElement>
+ <FormatElement msgid="FixedFormatskey9" default="false" type="medium" usage="FIXED_NUMBER" formatindex="101">
+ <FormatCode>[NatNum12 cardinal]0</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="FixedFormatskey10" default="false" type="medium" usage="FIXED_NUMBER" formatindex="102">
+ <FormatCode>[NatNum12 capitalize cardinal]0</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="FixedFormatskey12" default="false" type="medium" usage="FIXED_NUMBER" formatindex="104">
+ <FormatCode>[NatNum12 upper cardinal]0</FormatCode>
+ </FormatElement>
<FormatElement msgid="ScientificFormatskey1" default="false" type="medium" usage="SCIENTIFIC_NUMBER" formatindex="6">
<FormatCode>0,00E+000</FormatCode>
</FormatElement>
@@ -104,6 +113,18 @@
<FormatElement msgid="CurrencyFormatskey6" default="false" type="medium" usage="CURRENCY" formatindex="17">
<FormatCode>[$Ls-426] # ##0,--;[RED][$Ls-426] -# ##0,--</FormatCode>
</FormatElement>
+ <FormatElement msgid="CurrencyFormatskey9" default="false" type="medium" usage="CURRENCY" formatindex="105">
+ <FormatCode>[NatNum12 CURRENCY]0</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="CurrencyFormatskey10" default="false" type="medium" usage="CURRENCY" formatindex="106">
+ <FormatCode>[NatNum12 CURRENCY]0,00</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="CurrencyFormatskey11" default="false" type="medium" usage="CURRENCY" formatindex="107">
+ <FormatCode>[NatNum12 upper CURRENCY]0</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="CurrencyFormatskey12" default="false" type="medium" usage="CURRENCY" formatindex="108">
+ <FormatCode>[NatNum12 upper CURRENCY]0,00</FormatCode>
+ </FormatElement>
<FormatElement msgid="DateFormatskey1" default="true" type="short" usage="DATE" formatindex="18">
<FormatCode>D.M.YY</FormatCode>
</FormatElement>
diff --git a/i18npool/source/localedata/data/mfe_MU.xml b/i18npool/source/localedata/data/mfe_MU.xml
new file mode 100644
index 000000000000..cf92e699ef7d
--- /dev/null
+++ b/i18npool/source/localedata/data/mfe_MU.xml
@@ -0,0 +1,375 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE Locale SYSTEM 'locale.dtd'>
+<!--
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ -->
+<Locale versionDTD="2.0.3" allowUpdateFromCLDR="no" version="1.0">
+ <LC_INFO>
+ <Language>
+ <LangID>mfe</LangID>
+ <DefaultName>Kreol Repiblik Moris</DefaultName>
+ </Language>
+ <Country>
+ <CountryID>MU</CountryID>
+ <DefaultName>Republic of Mauritius</DefaultName>
+ </Country>
+ </LC_INFO>
+ <LC_CTYPE unoid="generic">
+ <Separators>
+ <DateSeparator>/</DateSeparator>
+ <ThousandSeparator>,</ThousandSeparator>
+ <DecimalSeparator>.</DecimalSeparator>
+ <TimeSeparator>:</TimeSeparator>
+ <Time100SecSeparator>.</Time100SecSeparator>
+ <ListSeparator>;</ListSeparator>
+ <LongDateDayOfWeekSeparator>, </LongDateDayOfWeekSeparator>
+ <LongDateDaySeparator>, </LongDateDaySeparator>
+ <LongDateMonthSeparator> </LongDateMonthSeparator>
+ <LongDateYearSeparator> </LongDateYearSeparator>
+ </Separators>
+ <Markers>
+ <QuotationStart>‘</QuotationStart>
+ <QuotationEnd>’</QuotationEnd>
+ <DoubleQuotationStart>“</DoubleQuotationStart>
+ <DoubleQuotationEnd>”</DoubleQuotationEnd>
+ </Markers>
+ <TimeAM>AM</TimeAM>
+ <TimePM>PM</TimePM>
+ <MeasurementSystem>metric</MeasurementSystem>
+ </LC_CTYPE>
+ <LC_FORMAT replaceFrom="[CURRENCY]" replaceTo="[$₨-6B2]">
+ <DateAcceptancePattern>D/M</DateAcceptancePattern>
+ <FormatElement msgid="FixedFormatskey1" default="true" type="medium" usage="FIXED_NUMBER" formatindex="0">
+ <FormatCode>General</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="FixedFormatskey2" default="true" type="short" usage="FIXED_NUMBER" formatindex="1">
+ <FormatCode>0</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="FixedFormatskey3" default="false" type="medium" usage="FIXED_NUMBER" formatindex="2">
+ <FormatCode>0.00</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="FixedFormatskey4" default="false" type="short" usage="FIXED_NUMBER" formatindex="3">
+ <FormatCode>#,##0</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="FixedFormatskey5" default="false" type="medium" usage="FIXED_NUMBER" formatindex="4">
+ <FormatCode>#,##0.00</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="FixedFormatskey6" default="false" type="medium" usage="FIXED_NUMBER" formatindex="5">
+ <FormatCode>#,###.00</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="ScientificFormatskey1" default="false" type="medium" usage="SCIENTIFIC_NUMBER" formatindex="6">
+ <FormatCode>0.00E+000</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="ScientificFormatskey2" default="true" type="medium" usage="SCIENTIFIC_NUMBER" formatindex="7">
+ <FormatCode>0.00E+00</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="ScientificFormatskey3" default="false" type="medium" usage="SCIENTIFIC_NUMBER" formatindex="78">
+ <FormatCode>##0.00E+00</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="PercentFormatskey1" default="true" type="short" usage="PERCENT_NUMBER" formatindex="8">
+ <FormatCode>0%</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="PercentFormatskey2" default="true" type="long" usage="PERCENT_NUMBER" formatindex="9">
+ <FormatCode>0.00%</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="CurrencyFormatskey1" default="true" type="short" usage="CURRENCY" formatindex="12">
+ <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>
+ </FormatElement>
+ <FormatElement msgid="CurrencyFormatskey3" default="false" type="medium" usage="CURRENCY" formatindex="14">
+ <FormatCode>[CURRENCY]#,##0;[RED]-[CURRENCY]#,##0</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="CurrencyFormatskey4" default="true" type="medium" usage="CURRENCY" formatindex="15">
+ <FormatCode>[CURRENCY]#,##0.00;[RED]-[CURRENCY]#,##0.00</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="CurrencyFormatskey5" default="false" type="medium" usage="CURRENCY" formatindex="16">
+ <FormatCode>CCC#,##0.00</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="CurrencyFormatskey6" default="false" type="medium" usage="CURRENCY" formatindex="17">
+ <FormatCode>[CURRENCY]#,##0.--;[RED]-[CURRENCY]#,##0.--</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="DateFormatskey11" default="true" type="short" usage="DATE" formatindex="18">
+ <FormatCode>D/MM/YY</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="DateFormatskey14" default="true" type="long" usage="DATE" formatindex="19">
+ <FormatCode>NNNNDD, MMMM YYYY</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="DateFormatskey6" default="true" type="medium" usage="DATE" formatindex="20">
+ <FormatCode>DD/MM/YY</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="DateFormatskey5" default="false" type="medium" usage="DATE" formatindex="21">
+ <FormatCode>DD/MM/YYYY</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="DateFormatskey15" default="false" type="long" usage="DATE" formatindex="22">
+ <FormatCode>D, MMM YY</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="DateFormatskey16" default="false" type="long" usage="DATE" formatindex="23">
+ <FormatCode>D, MMM YYYY</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="DateFormatskey21" default="false" type="long" usage="DATE" formatindex="24">
+ <FormatCode>D, MMM YYYY</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="DateFormatskey17" default="false" type="long" usage="DATE" formatindex="25">
+ <FormatCode>D, MMMM YYYY</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="DateFormatskey22" default="false" type="long" usage="DATE" formatindex="26">
+ <FormatCode>D, MMMM YY</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="DateFormatskey10" default="false" type="medium" usage="DATE" formatindex="27">
+ <FormatCode>NN, DD/MMM/YY</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="DateFormatskey18" default="false" type="long" usage="DATE" formatindex="28">
+ <FormatCode>NN, D, MMM YY</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="DateFormatskey19" default="false" type="long" usage="DATE" formatindex="29">
+ <FormatCode>NN, D, MMMM YYYY</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="DateFormatskey20" default="false" type="long" usage="DATE" formatindex="30">
+ <FormatCode>NNNND, MMMM YYYY</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="DateFormatskey12" default="false" type="short" usage="DATE" formatindex="31">
+ <FormatCode>MM-DD</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="DateFormatskey7" default="false" type="medium" usage="DATE" formatindex="32">
+ <FormatCode>YY-MM-DD</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="DateFormatskey8" default="false" type="medium" usage="DATE" formatindex="33">
+ <FormatCode>YYYY-MM-DD</FormatCode>
+ <DefaultName>ISO 8601</DefaultName>
+ </FormatElement>
+ <FormatElement msgid="DateFormatskey1" default="false" type="medium" usage="DATE" formatindex="34">
+ <FormatCode>MM/YY</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="DateFormatskey2" default="false" type="medium" usage="DATE" formatindex="35">
+ <FormatCode>MMM/DD</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="DateFormatskey3" default="false" type="medium" usage="DATE" formatindex="36">
+ <FormatCode>MMMM</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="DateFormatskey4" default="false" type="medium" usage="DATE" formatindex="37">
+ <FormatCode>QQ YY</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="DateFormatskey9" default="false" type="medium" usage="DATE" formatindex="38">
+ <FormatCode>WW</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="TimeFormatskey1" default="false" type="short" usage="TIME" formatindex="39">
+ <FormatCode>HH:MM</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="TimeFormatskey2" default="false" type="medium" usage="TIME" formatindex="40">
+ <FormatCode>HH:MM:SS</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="TimeFormatskey3" default="true" type="short" usage="TIME" formatindex="41">
+ <FormatCode>HH:MM AM/PM</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="TimeFormatskey4" default="true" type="medium" usage="TIME" formatindex="42">
+ <FormatCode>HH:MM:SS AM/PM</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="TimeFormatskey5" default="false" type="medium" usage="TIME" formatindex="43">
+ <FormatCode>[HH]:MM:SS</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="TimeFormatskey6" default="false" type="short" usage="TIME" formatindex="44">
+ <FormatCode>MM:SS.00</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="TimeFormatskey7" default="false" type="medium" usage="TIME" formatindex="45">
+ <FormatCode>[HH]:MM:SS.00</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="DateTimeFormatskey1" default="true" type="medium" usage="DATE_TIME" formatindex="46">
+ <FormatCode>DD/MM/YY HH:MM</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="DateTimeFormatskey2" default="false" type="medium" usage="DATE_TIME" formatindex="47">
+ <FormatCode>DD/MM/YYYY HH:MM:SS AM/PM</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="DateTimeFormatskey3" default="false" type="medium" usage="DATE_TIME" formatindex="50">
+ <FormatCode>DD/MM/YYYY HH:MM</FormatCode>
+ </FormatElement>
+ </LC_FORMAT>
+ <LC_COLLATION>
+ <Collator default="true" unoid="alphanumeric"/>
+ <CollationOptions>
+ <TransliterationModules>IGNORE_CASE</TransliterationModules>
+ </CollationOptions>
+ </LC_COLLATION>
+ <LC_SEARCH>
+ <SearchOptions>
+ <TransliterationModules>IGNORE_CASE</TransliterationModules>
+ </SearchOptions>
+ </LC_SEARCH>
+ <LC_INDEX>
+ <IndexKey phonetic="false" default="true" unoid="alphanumeric">A-Z</IndexKey>
+ <UnicodeScript>0</UnicodeScript>
+ <UnicodeScript>1</UnicodeScript>
+ <FollowPageWord>s</FollowPageWord>
+ <FollowPageWord>pl</FollowPageWord>
+ </LC_INDEX>
+ <LC_CALENDAR>
+ <Calendar unoid="gregorian" default="true">
+ <DaysOfWeek>
+ <Day>
+ <DayID>sun</DayID>
+ <DefaultAbbrvName>Dim</DefaultAbbrvName>
+ <DefaultFullName>Dimans</DefaultFullName>
+ </Day>
+ <Day>
+ <DayID>mon</DayID>
+ <DefaultAbbrvName>Lin</DefaultAbbrvName>
+ <DefaultFullName>Lindi</DefaultFullName>
+ </Day>
+ <Day>
+ <DayID>tue</DayID>
+ <DefaultAbbrvName>Mar</DefaultAbbrvName>
+ <DefaultFullName>Mardi</DefaultFullName>
+ </Day>
+ <Day>
+ <DayID>wed</DayID>
+ <DefaultAbbrvName>Mer</DefaultAbbrvName>
+ <DefaultFullName>Merkredi</DefaultFullName>
+ </Day>
+ <Day>
+ <DayID>thu</DayID>
+ <DefaultAbbrvName>Zed</DefaultAbbrvName>
+ <DefaultFullName>Zedi</DefaultFullName>
+ </Day>
+ <Day>
+ <DayID>fri</DayID>
+ <DefaultAbbrvName>Van</DefaultAbbrvName>
+ <DefaultFullName>Vandredi</DefaultFullName>
+ </Day>
+ <Day>
+ <DayID>sat</DayID>
+ <DefaultAbbrvName>Sam</DefaultAbbrvName>
+ <DefaultFullName>Samdi</DefaultFullName>
+ </Day>
+ </DaysOfWeek>
+ <MonthsOfYear>
+ <Month>
+ <MonthID>jan</MonthID>
+ <DefaultAbbrvName>Zan</DefaultAbbrvName>
+ <DefaultFullName>Zanvye</DefaultFullName>
+ </Month>
+ <Month>
+ <MonthID>feb</MonthID>
+ <DefaultAbbrvName>Fev</DefaultAbbrvName>
+ <DefaultFullName>Fevriye</DefaultFullName>
+ </Month>
+ <Month>
+ <MonthID>mar</MonthID>
+ <DefaultAbbrvName>Mar</DefaultAbbrvName>
+ <DefaultFullName>Mars</DefaultFullName>
+ </Month>
+ <Month>
+ <MonthID>apr</MonthID>
+ <DefaultAbbrvName>Avr</DefaultAbbrvName>
+ <DefaultFullName>Avril</DefaultFullName>
+ </Month>
+ <Month>
+ <MonthID>may</MonthID>
+ <DefaultAbbrvName>Me</DefaultAbbrvName>
+ <DefaultFullName>Me</DefaultFullName>
+ </Month>
+ <Month>
+ <MonthID>jun</MonthID>
+ <DefaultAbbrvName>Zin</DefaultAbbrvName>
+ <DefaultFullName>Zin</DefaultFullName>
+ </Month>
+ <Month>
+ <MonthID>jul</MonthID>
+ <DefaultAbbrvName>Ziy</DefaultAbbrvName>
+ <DefaultFullName>Ziyet</DefaultFullName>
+ </Month>
+ <Month>
+ <MonthID>aug</MonthID>
+ <DefaultAbbrvName>Ut</DefaultAbbrvName>
+ <DefaultFullName>Ut</DefaultFullName>
+ </Month>
+ <Month>
+ <MonthID>sep</MonthID>
+ <DefaultAbbrvName>Sep</DefaultAbbrvName>
+ <DefaultFullName>Septanm</DefaultFullName>
+ </Month>
+ <Month>
+ <MonthID>oct</MonthID>
+ <DefaultAbbrvName>Okt</DefaultAbbrvName>
+ <DefaultFullName>Oktob</DefaultFullName>
+ </Month>
+ <Month>
+ <MonthID>nov</MonthID>
+ <DefaultAbbrvName>Nov</DefaultAbbrvName>
+ <DefaultFullName>Novam</DefaultFullName>
+ </Month>
+ <Month>
+ <MonthID>dec</MonthID>
+ <DefaultAbbrvName>Des</DefaultAbbrvName>
+ <DefaultFullName>Desam</DefaultFullName>
+ </Month>
+ </MonthsOfYear>
+ <Eras>
+ <Era>
+ <EraID>bc</EraID>
+ <DefaultAbbrvName>BCE</DefaultAbbrvName>
+ <DefaultFullName>Before Common Era</DefaultFullName>
+ </Era>
+ <Era>
+ <EraID>ad</EraID>
+ <DefaultAbbrvName>CE</DefaultAbbrvName>
+ <DefaultFullName>Common Era</DefaultFullName>
+ </Era>
+ </Eras>
+ <StartDayOfWeek>
+ <DayID>mon</DayID>
+ </StartDayOfWeek>
+ <MinimalDaysInFirstWeek>1</MinimalDaysInFirstWeek>
+ </Calendar>
+ </LC_CALENDAR>
+ <LC_CURRENCY>
+ <Currency default="true" usedInCompatibleFormatCodes="true">
+ <CurrencyID>MUR</CurrencyID>
+ <CurrencySymbol>₨</CurrencySymbol>
+ <BankSymbol>MUR</BankSymbol>
+ <CurrencyName>Rupi</CurrencyName>
+ <DecimalPlaces>2</DecimalPlaces>
+ </Currency>
+ </LC_CURRENCY>
+ <LC_TRANSLITERATION>
+ <Transliteration unoid="SENTENCE_CASE"/>
+ <Transliteration unoid="LOWERCASE_UPPERCASE"/>
+ <Transliteration unoid="UPPERCASE_LOWERCASE"/>
+ <Transliteration unoid="TITLE_CASE"/>
+ <Transliteration unoid="TOGGLE_CASE"/>
+ <Transliteration unoid="IGNORE_CASE"/>
+ </LC_TRANSLITERATION>
+ <LC_MISC>
+ <ReservedWords>
+ <trueWord>true</trueWord>
+ <falseWord>false</falseWord>
+ <quarter1Word>1st quarter</quarter1Word>
+ <quarter2Word>2nd quarter</quarter2Word>
+ <quarter3Word>3rd quarter</quarter3Word>
+ <quarter4Word>4th quarter</quarter4Word>
+ <aboveWord>above</aboveWord>
+ <belowWord>below</belowWord>
+ <quarter1Abbreviation>Q1</quarter1Abbreviation>
+ <quarter2Abbreviation>Q2</quarter2Abbreviation>
+ <quarter3Abbreviation>Q3</quarter3Abbreviation>
+ <quarter4Abbreviation>Q4</quarter4Abbreviation>
+ </ReservedWords>
+ </LC_MISC>
+ <LC_NumberingLevel ref="en_US"/>
+ <LC_OutLineNumberingLevel ref="en_US"/>
+</Locale>
+<!--Version 1.0 -->
diff --git a/i18npool/source/localedata/data/mk_MK.xml b/i18npool/source/localedata/data/mk_MK.xml
index 0361499d925b..a3221e646b26 100644
--- a/i18npool/source/localedata/data/mk_MK.xml
+++ b/i18npool/source/localedata/data/mk_MK.xml
@@ -368,72 +368,6 @@
<quarter4Abbreviation>К4</quarter4Abbreviation>
</ReservedWords>
</LC_MISC>
- <LC_NumberingLevel>
- <NumberingLevel NumType="4" Prefix=" " Suffix=")"/>
- <NumberingLevel NumType="4" Prefix=" " Suffix="."/>
- <NumberingLevel NumType="4" Prefix="(" Suffix=")"/>
- <NumberingLevel NumType="2" Prefix=" " Suffix="."/>
- <NumberingLevel NumType="0" Prefix=" " Suffix=")"/>
- <NumberingLevel NumType="1" Prefix=" " Suffix=")"/>
- <NumberingLevel NumType="1" Prefix="(" Suffix=")"/>
- <NumberingLevel NumType="3" Prefix=" " Suffix="."/>
- </LC_NumberingLevel>
- <LC_OutLineNumberingLevel>
- <OutlineStyle>
- <OutLineNumberingLevel Prefix=" " NumType="4" Suffix="." BulletChar="0020" BulletFontName="" ParentNumbering="0" LeftMargin="0" SymbolTextDistance="50" FirstLineOffset="0"/>
- <OutLineNumberingLevel Prefix=" " NumType="4" Suffix="." BulletChar="0020" BulletFontName="" ParentNumbering="1" LeftMargin="50" SymbolTextDistance="50" FirstLineOffset="0"/>
- <OutLineNumberingLevel Prefix=" " NumType="1" Suffix=")" BulletChar="0020" BulletFontName="" ParentNumbering="0" LeftMargin="100" SymbolTextDistance="50" FirstLineOffset="0"/>
- <OutLineNumberingLevel Prefix=" " NumType="6" Suffix=" " BulletChar="2022" BulletFontName="StarSymbol" ParentNumbering="0" LeftMargin="150" SymbolTextDistance="50" FirstLineOffset="0"/>
- <OutLineNumberingLevel Prefix=" " NumType="6" Suffix=" " BulletChar="2022" BulletFontName="StarSymbol" ParentNumbering="0" LeftMargin="200" SymbolTextDistance="50" FirstLineOffset="0"/>
- </OutlineStyle>
- <OutlineStyle>
- <OutLineNumberingLevel Prefix=" " NumType="4" Suffix="." BulletChar="0020" BulletFontName="" ParentNumbering="0" LeftMargin="0" SymbolTextDistance="50" FirstLineOffset="0"/>
- <OutLineNumberingLevel Prefix=" " NumType="1" Suffix=")" BulletChar="0020" BulletFontName="" ParentNumbering="0" LeftMargin="50" SymbolTextDistance="50" FirstLineOffset="0"/>
- <OutLineNumberingLevel Prefix=" " NumType="6" Suffix=" " BulletChar="2022" BulletFontName="StarSymbol" ParentNumbering="0" LeftMargin="100" SymbolTextDistance="50" FirstLineOffset="0"/>
- <OutLineNumberingLevel Prefix=" " NumType="6" Suffix=" " BulletChar="2022" BulletFontName="StarSymbol" ParentNumbering="0" LeftMargin="150" SymbolTextDistance="50" FirstLineOffset="0"/>
- <OutLineNumberingLevel Prefix=" " NumType="6" Suffix=" " BulletChar="2022" BulletFontName="StarSymbol" ParentNumbering="0" LeftMargin="200" SymbolTextDistance="50" FirstLineOffset="0"/>
- </OutlineStyle>
- <OutlineStyle>
- <OutLineNumberingLevel Prefix=" " NumType="4" Suffix="." BulletChar="0020" BulletFontName="" ParentNumbering="0" LeftMargin="0" SymbolTextDistance="50" FirstLineOffset="0"/>
- <OutLineNumberingLevel Prefix="(" NumType="1" Suffix=")" BulletChar="0020" BulletFontName="" ParentNumbering="0" LeftMargin="50" SymbolTextDistance="50" FirstLineOffset="0"/>
- <OutLineNumberingLevel Prefix=" " NumType="3" Suffix="." BulletChar="0020" BulletFontName="" ParentNumbering="0" LeftMargin="100" SymbolTextDistance="50" FirstLineOffset="0"/>
- <OutLineNumberingLevel Prefix=" " NumType="0" Suffix="." BulletChar="0020" BulletFontName="" ParentNumbering="0" LeftMargin="150" SymbolTextDistance="50" FirstLineOffset="0"/>
- <OutLineNumberingLevel Prefix=" " NumType="6" Suffix="." BulletChar="2022" BulletFontName="StarSymbol" ParentNumbering="0" LeftMargin="200" SymbolTextDistance="50" FirstLineOffset="0"/>
- </OutlineStyle>
- <OutlineStyle>
- <OutLineNumberingLevel Prefix=" " NumType="4" Suffix="." BulletChar="0020" BulletFontName="" ParentNumbering="0" LeftMargin="0" SymbolTextDistance="50" FirstLineOffset="0"/>
- <OutLineNumberingLevel Prefix=" " NumType="4" Suffix="." BulletChar="0020" BulletFontName="" ParentNumbering="0" LeftMargin="50" SymbolTextDistance="50" FirstLineOffset="0"/>
- <OutLineNumberingLevel Prefix=" " NumType="4" Suffix="." BulletChar="0020" BulletFontName="" ParentNumbering="0" LeftMargin="100" SymbolTextDistance="50" FirstLineOffset="0"/>
- <OutLineNumberingLevel Prefix=" " NumType="4" Suffix="." BulletChar="0020" BulletFontName="" ParentNumbering="0" LeftMargin="150" SymbolTextDistance="50" FirstLineOffset="0"/>
- <OutLineNumberingLevel Prefix=" " NumType="4" Suffix="." BulletChar="0020" BulletFontName="" ParentNumbering="0" LeftMargin="200" SymbolTextDistance="50" FirstLineOffset="0"/>
- </OutlineStyle>
- <OutlineStyle>
- <OutLineNumberingLevel Prefix=" " NumType="2" Suffix="." BulletChar="0020" BulletFontName="" ParentNumbering="0" LeftMargin="0" SymbolTextDistance="50" FirstLineOffset="0"/>
- <OutLineNumberingLevel Prefix=" " NumType="0" Suffix="." BulletChar="0020" BulletFontName="" ParentNumbering="0" LeftMargin="50" SymbolTextDistance="50" FirstLineOffset="0"/>
- <OutLineNumberingLevel Prefix=" " NumType="3" Suffix="." BulletChar="0020" BulletFontName="" ParentNumbering="0" LeftMargin="100" SymbolTextDistance="50" FirstLineOffset="0"/>
- <OutLineNumberingLevel Prefix=" " NumType="1" Suffix=")" BulletChar="0020" BulletFontName="" ParentNumbering="0" LeftMargin="150" SymbolTextDistance="50" FirstLineOffset="0"/>
- <OutLineNumberingLevel Prefix=" " NumType="6" Suffix=" " BulletChar="2022" BulletFontName="StarSymbol" ParentNumbering="0" LeftMargin="200" SymbolTextDistance="50" FirstLineOffset="0"/>
- </OutlineStyle>
- <OutlineStyle>
- <OutLineNumberingLevel Prefix=" " NumType="0" Suffix="." BulletChar="0020" BulletFontName="" ParentNumbering="0" LeftMargin="0" SymbolTextDistance="50" FirstLineOffset="0"/>
- <OutLineNumberingLevel Prefix=" " NumType="2" Suffix="." BulletChar="0020" BulletFontName="" ParentNumbering="0" LeftMargin="50" SymbolTextDistance="50" FirstLineOffset="0"/>
- <OutLineNumberingLevel Prefix=" " NumType="1" Suffix="." BulletChar="0020" BulletFontName="" ParentNumbering="0" LeftMargin="100" SymbolTextDistance="50" FirstLineOffset="0"/>
- <OutLineNumberingLevel Prefix=" " NumType="3" Suffix="." BulletChar="0020" BulletFontName="" ParentNumbering="0" LeftMargin="150" SymbolTextDistance="50" FirstLineOffset="0"/>
- <OutLineNumberingLevel Prefix=" " NumType="6" Suffix=" " BulletChar="2022" BulletFontName="StarSymbol" ParentNumbering="0" LeftMargin="200" SymbolTextDistance="50" FirstLineOffset="0"/>
- </OutlineStyle>
- <OutlineStyle>
- <OutLineNumberingLevel Prefix=" " NumType="4" Suffix=" " BulletChar="0020" BulletFontName="" ParentNumbering="0" LeftMargin="0" SymbolTextDistance="50" FirstLineOffset="0"/>
- <OutLineNumberingLevel Prefix=" " NumType="4" Suffix=" " BulletChar="0020" BulletFontName="" ParentNumbering="1" LeftMargin="50" SymbolTextDistance="50" FirstLineOffset="0"/>
- <OutLineNumberingLevel Prefix=" " NumType="4" Suffix=" " BulletChar="0020" BulletFontName="" ParentNumbering="2" LeftMargin="100" SymbolTextDistance="50" FirstLineOffset="0"/>
- <OutLineNumberingLevel Prefix=" " NumType="4" Suffix=" " BulletChar="0020" BulletFontName="" ParentNumbering="3" LeftMargin="150" SymbolTextDistance="50" FirstLineOffset="0"/>
- <OutLineNumberingLevel Prefix=" " NumType="4" Suffix=" " BulletChar="0020" BulletFontName="" ParentNumbering="4" LeftMargin="200" SymbolTextDistance="50" FirstLineOffset="0"/>
- </OutlineStyle>
- <OutlineStyle>
- <OutLineNumberingLevel Prefix=" " NumType="6" Suffix=" " BulletChar="27A2" BulletFontName="StarSymbol" ParentNumbering="0" LeftMargin="0" SymbolTextDistance="50" FirstLineOffset="0"/>
- <OutLineNumberingLevel Prefix=" " NumType="6" Suffix=" " BulletChar="E006" BulletFontName="StarSymbol" ParentNumbering="0" LeftMargin="50" SymbolTextDistance="50" FirstLineOffset="0"/>
- <OutLineNumberingLevel Prefix=" " NumType="6" Suffix=")" BulletChar="E004" BulletFontName="StarSymbol" ParentNumbering="0" LeftMargin="100" SymbolTextDistance="50" FirstLineOffset="0"/>
- <OutLineNumberingLevel Prefix=" " NumType="6" Suffix=" " BulletChar="2022" BulletFontName="StarSymbol" ParentNumbering="0" LeftMargin="150" SymbolTextDistance="50" FirstLineOffset="0"/>
- <OutLineNumberingLevel Prefix=" " NumType="6" Suffix=" " BulletChar="2022" BulletFontName="StarSymbol" ParentNumbering="0" LeftMargin="200" SymbolTextDistance="50" FirstLineOffset="0"/>
- </OutlineStyle>
- </LC_OutLineNumberingLevel>
+ <LC_NumberingLevel ref="en_US"/>
+ <LC_OutLineNumberingLevel ref="en_US"/>
</Locale>
diff --git a/i18npool/source/localedata/data/ml_IN.xml b/i18npool/source/localedata/data/ml_IN.xml
index 1fb10fef3559..e07dde467088 100644
--- a/i18npool/source/localedata/data/ml_IN.xml
+++ b/i18npool/source/localedata/data/ml_IN.xml
@@ -28,179 +28,10 @@
<DefaultName>India</DefaultName>
</Country>
</LC_INFO>
- <LC_CTYPE>
- <Separators>
- <DateSeparator>-</DateSeparator>
- <ThousandSeparator>,</ThousandSeparator>
- <DecimalSeparator>.</DecimalSeparator>
- <TimeSeparator>:</TimeSeparator>
- <Time100SecSeparator>.</Time100SecSeparator>
- <ListSeparator>;</ListSeparator>
- <LongDateDayOfWeekSeparator> </LongDateDayOfWeekSeparator>
- <LongDateDaySeparator> </LongDateDaySeparator>
- <LongDateMonthSeparator> </LongDateMonthSeparator>
- <LongDateYearSeparator> </LongDateYearSeparator>
- </Separators>
- <Markers>
- <QuotationStart>'</QuotationStart>
- <QuotationEnd>'</QuotationEnd>
- <DoubleQuotationStart>"</DoubleQuotationStart>
- <DoubleQuotationEnd>"</DoubleQuotationEnd>
- </Markers>
- <TimeAM>AM</TimeAM>
- <TimePM>PM</TimePM>
- <MeasurementSystem>metric</MeasurementSystem>
- </LC_CTYPE>
- <LC_FORMAT replaceFrom="[CURRENCY]" replaceTo="[$₹-44C]">
- <DateAcceptancePattern>D-M</DateAcceptancePattern>
- <FormatElement msgid="FixedFormatskey1" default="true" type="medium" usage="FIXED_NUMBER" formatindex="0">
- <FormatCode>Standard</FormatCode>
- </FormatElement>
- <FormatElement msgid="FixedFormatskey2" default="true" type="short" usage="FIXED_NUMBER" formatindex="1">
- <FormatCode>0</FormatCode>
- </FormatElement>
- <FormatElement msgid="FixedFormatskey3" default="false" type="medium" usage="FIXED_NUMBER" formatindex="2">
- <FormatCode>0.00</FormatCode>
- </FormatElement>
- <FormatElement msgid="FixedFormatskey4" default="false" type="short" usage="FIXED_NUMBER" formatindex="3">
- <FormatCode>#,##0</FormatCode>
- </FormatElement>
- <FormatElement msgid="FixedFormatskey5" default="false" type="medium" usage="FIXED_NUMBER" formatindex="4">
- <FormatCode>#,##0.00</FormatCode>
- </FormatElement>
- <FormatElement msgid="FixedFormatskey6" default="false" type="medium" usage="FIXED_NUMBER" formatindex="5">
- <FormatCode>#,###.00</FormatCode>
- </FormatElement>
- <FormatElement msgid="ScientificFormatskey1" default="false" type="medium" usage="SCIENTIFIC_NUMBER" formatindex="6">
- <FormatCode>0.00E+000</FormatCode>
- </FormatElement>
- <FormatElement msgid="ScientificFormatskey2" default="true" type="medium" usage="SCIENTIFIC_NUMBER" formatindex="7">
- <FormatCode>0.00E+00</FormatCode>
- </FormatElement>
- <FormatElement msgid="ScientificFormatskey3" default="false" type="medium" usage="SCIENTIFIC_NUMBER" formatindex="78">
- <FormatCode>##0.00E+00</FormatCode>
- </FormatElement>
- <FormatElement msgid="PercentFormatskey1" default="true" type="short" usage="PERCENT_NUMBER" formatindex="8">
- <FormatCode>0%</FormatCode>
- </FormatElement>
- <FormatElement msgid="PercentFormatskey2" default="true" type="long" usage="PERCENT_NUMBER" formatindex="9">
- <FormatCode>0.00%</FormatCode>
- </FormatElement>
- <FormatElement msgid="CurrencyFormatskey1" default="true" type="short" usage="CURRENCY" formatindex="12">
- <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>
- </FormatElement>
- <FormatElement msgid="CurrencyFormatskey3" default="false" type="medium" usage="CURRENCY" formatindex="14">
- <FormatCode>[CURRENCY]#,##0;[RED]-[CURRENCY]#,##0</FormatCode>
- </FormatElement>
- <FormatElement msgid="CurrencyFormatskey4" default="true" type="medium" usage="CURRENCY" formatindex="15">
- <FormatCode>[CURRENCY]#,##0.00;[RED]-[CURRENCY]#,##0.00</FormatCode>
- </FormatElement>
- <FormatElement msgid="CurrencyFormatskey5" default="false" type="medium" usage="CURRENCY" formatindex="16">
- <FormatCode>#,##0.00 CCC</FormatCode>
- </FormatElement>
- <FormatElement msgid="CurrencyFormatskey6" default="false" type="medium" usage="CURRENCY" formatindex="17">
- <FormatCode>[CURRENCY]#,##0.--;[RED]-[CURRENCY]#,##0.--</FormatCode>
- </FormatElement>
- <FormatElement msgid="DateFormatskey1" default="true" type="short" usage="DATE" formatindex="18">
- <FormatCode>D-M-YY</FormatCode>
- </FormatElement>
- <FormatElement msgid="DateFormatskey9" default="false" type="medium" usage="DATE" formatindex="19">
- <FormatCode>NNNNDD MMMM GGGE</FormatCode>
- </FormatElement>
- <FormatElement msgid="DateFormatskey8" default="false" type="medium" usage="DATE" formatindex="20">
- <FormatCode>DD-MM-YY</FormatCode>
- </FormatElement>
- <FormatElement msgid="DateFormatskey7" default="true" type="medium" usage="DATE" formatindex="21">
- <FormatCode>DD-MM-YYYY</FormatCode>
- </FormatElement>
- <FormatElement msgid="DateFormatskey10" default="false" type="long" usage="DATE" formatindex="22">
- <FormatCode>MMM D, YY</FormatCode>
- </FormatElement>
- <FormatElement msgid="DateFormatskey11" default="false" type="long" usage="DATE" formatindex="23">
- <FormatCode>MMM, D YYYY</FormatCode>
- </FormatElement>
- <FormatElement msgid="DateFormatskey16" default="false" type="long" usage="DATE" formatindex="24">
- <FormatCode>D. MMM. YYYY</FormatCode>
- </FormatElement>
- <FormatElement msgid="DateFormatskey12" default="false" type="long" usage="DATE" formatindex="25">
- <FormatCode>MMMM D, YYYY</FormatCode>
- </FormatElement>
- <FormatElement msgid="DateFormatskey17" default="false" type="long" usage="DATE" formatindex="26">
- <FormatCode>D. MMMM YYYY</FormatCode>
- </FormatElement>
- <FormatElement msgid="DateFormatskey13" default="false" type="long" usage="DATE" formatindex="27">
- <FormatCode>NN, MMM D, YY</FormatCode>
- </FormatElement>
- <FormatElement msgid="DateFormatskey2" default="false" type="medium" usage="DATE" formatindex="28">
- <FormatCode>NN DD-MMM YY</FormatCode>
- </FormatElement>
- <FormatElement msgid="DateFormatskey14" default="false" type="long" usage="DATE" formatindex="29">
- <FormatCode>NN, MMMM D, YYYY</FormatCode>
- </FormatElement>
- <FormatElement msgid="DateFormatskey15" default="true" type="long" usage="DATE" formatindex="30">
- <FormatCode>NNNNMMMM D, YYYY</FormatCode>
- </FormatElement>
- <FormatElement msgid="DateFormatskey18" default="false" type="short" usage="DATE" formatindex="31">
- <FormatCode>MM-DD</FormatCode>
- </FormatElement>
- <FormatElement msgid="DateFormatskey19" default="false" type="medium" usage="DATE" formatindex="32">
- <FormatCode>YY-MM-DD</FormatCode>
- </FormatElement>
- <FormatElement msgid="DateFormatskey20" default="false" type="medium" usage="DATE" formatindex="33">
- <FormatCode>YYYY-MM-DD</FormatCode>
- <DefaultName>ISO 8601</DefaultName>
- </FormatElement>
- <FormatElement msgid="DateFormatskey3" default="false" type="medium" usage="DATE" formatindex="34">
- <FormatCode>MM-YY</FormatCode>
- </FormatElement>
- <FormatElement msgid="DateFormatskey4" default="false" type="medium" usage="DATE" formatindex="35">
- <FormatCode>MMM DD</FormatCode>
- </FormatElement>
- <FormatElement msgid="DateFormatskey5" default="false" type="medium" usage="DATE" formatindex="36">
- <FormatCode>MMMM</FormatCode>
- </FormatElement>
- <FormatElement msgid="DateFormatskey6" default="false" type="medium" usage="DATE" formatindex="37">
- <FormatCode>QQ YY</FormatCode>
- </FormatElement>
- <FormatElement msgid="DateFormatskey21" default="false" type="medium" usage="DATE" formatindex="38">
- <FormatCode>WW</FormatCode>
- </FormatElement>
- <FormatElement msgid="TimeFormatskey1" default="true" type="short" usage="TIME" formatindex="39">
- <FormatCode>HH:MM</FormatCode>
- </FormatElement>
- <FormatElement msgid="TimeFormatskey2" default="true" type="medium" usage="TIME" formatindex="40">
- <FormatCode>HH:MM:SS</FormatCode>
- </FormatElement>
- <FormatElement msgid="TimeFormatskey3" default="false" type="short" usage="TIME" formatindex="41">
- <FormatCode>HH:MM AM/PM</FormatCode>
- </FormatElement>
- <FormatElement msgid="TimeFormatskey4" default="false" type="medium" usage="TIME" formatindex="42">
- <FormatCode>HH:MM:SS AM/PM</FormatCode>
- </FormatElement>
- <FormatElement msgid="TimeFormatskey5" default="false" type="medium" usage="TIME" formatindex="43">
- <FormatCode>[HH]:MM:SS</FormatCode>
- </FormatElement>
- <FormatElement msgid="TimeFormatskey6" default="false" type="short" usage="TIME" formatindex="44">
- <FormatCode>MM:SS.00</FormatCode>
- </FormatElement>
- <FormatElement msgid="TimeFormatskey7" default="false" type="medium" usage="TIME" formatindex="45">
- <FormatCode>[HH]:MM:SS.00</FormatCode>
- </FormatElement>
- <FormatElement msgid="DateTimeFormatskey1" default="true" type="medium" usage="DATE_TIME" formatindex="46">
- <FormatCode>MM-DD-YY HH:MM</FormatCode>
- </FormatElement>
- <FormatElement msgid="DateTimeFormatskey2" default="false" type="medium" usage="DATE_TIME" formatindex="47">
- <FormatCode>MM-DD-YYYY HH:MM:SS</FormatCode>
- </FormatElement>
- <FormatElement msgid="DateTimeFormatskey3" default="false" type="medium" usage="DATE_TIME" formatindex="50">
- <FormatCode>MM-DD-YYYY HH:MM</FormatCode>
- </FormatElement>
- </LC_FORMAT>
- <LC_COLLATION ref="en_US" />
- <LC_SEARCH ref="en_US"/>
+ <LC_CTYPE ref="hi_IN"/>
+ <LC_FORMAT ref="hi_IN" replaceFrom="[CURRENCY]" replaceTo="[$₹-44C]"/>
+ <LC_COLLATION ref="hi_IN" />
+ <LC_SEARCH ref="hi_IN"/>
<LC_INDEX>
<IndexKey phonetic="false" default="true" unoid="alphanumeric">ംഃഅആഇഈഉഊഋഌഎഏഐഒഓഔകഖഗഘങചഛജഝഞടഠഡഢണതഥദധനപഫബഭമയരറലളഴവശഷസഹാിീുൂൃെേൈൊോൌ്ൗ</IndexKey>
<UnicodeScript>14</UnicodeScript>
@@ -342,7 +173,7 @@
<DecimalPlaces>2</DecimalPlaces>
</Currency>
</LC_CURRENCY>
- <LC_TRANSLITERATION ref="en_US"/>
+ <LC_TRANSLITERATION ref="hi_IN"/>
<LC_MISC>
<ReservedWords>
<trueWord>അതെ</trueWord>
@@ -359,15 +190,6 @@
<quarter4Abbreviation>Q4</quarter4Abbreviation>
</ReservedWords>
</LC_MISC>
- <LC_NumberingLevel>
- <NumberingLevel NumType="12" Prefix=" " Suffix=")"/>
- <NumberingLevel NumType="12" Prefix=" " Suffix="."/>
- <NumberingLevel NumType="12" Prefix="(" Suffix=")"/>
- <NumberingLevel NumType="2" Prefix=" " Suffix="."/>
- <NumberingLevel NumType="0" Prefix=" " Suffix=")"/>
- <NumberingLevel NumType="1" Prefix=" " Suffix=")"/>
- <NumberingLevel NumType="1" Prefix="(" Suffix=")"/>
- <NumberingLevel NumType="3" Prefix=" " Suffix="."/>
- </LC_NumberingLevel>
- <LC_OutLineNumberingLevel ref="en_US"/>
+ <LC_NumberingLevel href="hi_IN"/>
+ <LC_OutLineNumberingLevel ref="hi_IN"/>
</Locale>
diff --git a/i18npool/source/localedata/data/mos_BF.xml b/i18npool/source/localedata/data/mos_BF.xml
index 633d309b0984..889d4b4b222c 100644
--- a/i18npool/source/localedata/data/mos_BF.xml
+++ b/i18npool/source/localedata/data/mos_BF.xml
@@ -361,16 +361,7 @@
<quarter4Abbreviation>Kis a tãab 4</quarter4Abbreviation>
</ReservedWords>
</LC_MISC>
- <LC_NumberingLevel>
- <NumberingLevel NumType="4" Prefix=" " Suffix=")"/>
- <NumberingLevel NumType="4" Prefix=" " Suffix="."/>
- <NumberingLevel NumType="4" Prefix="(" Suffix=")"/>
- <NumberingLevel NumType="2" Prefix=" " Suffix="."/>
- <NumberingLevel NumType="0" Prefix=" " Suffix=")"/>
- <NumberingLevel NumType="1" Prefix=" " Suffix=")"/>
- <NumberingLevel NumType="1" Prefix="(" Suffix=")"/>
- <NumberingLevel NumType="3" Prefix=" " Suffix="."/>
- </LC_NumberingLevel>
+ <LC_NumberingLevel ref="en_US"/>
<LC_OutLineNumberingLevel ref="en_US"/>
</Locale>
<!--Version 1.0 -->
diff --git a/i18npool/source/localedata/data/mt_MT.xml b/i18npool/source/localedata/data/mt_MT.xml
index e75950d7b37a..b73f724f91b4 100644
--- a/i18npool/source/localedata/data/mt_MT.xml
+++ b/i18npool/source/localedata/data/mt_MT.xml
@@ -71,6 +71,15 @@
<FormatElement msgid="FixedFormatskey6" default="false" type="medium" usage="FIXED_NUMBER" formatindex="5">
<FormatCode>#,###.00</FormatCode>
</FormatElement>
+ <FormatElement msgid="FixedFormatskey9" default="false" type="medium" usage="FIXED_NUMBER" formatindex="101">
+ <FormatCode>[NatNum12 cardinal]0</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="FixedFormatskey10" default="false" type="medium" usage="FIXED_NUMBER" formatindex="102">
+ <FormatCode>[NatNum12 capitalize cardinal]0</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="FixedFormatskey12" default="false" type="medium" usage="FIXED_NUMBER" formatindex="104">
+ <FormatCode>[NatNum12 upper cardinal]0</FormatCode>
+ </FormatElement>
<FormatElement msgid="ScientificFormatskey1" default="false" type="medium" usage="SCIENTIFIC_NUMBER" formatindex="6">
<FormatCode>0.00E+000</FormatCode>
</FormatElement>
@@ -370,16 +379,7 @@
<quarter4Abbreviation>K4</quarter4Abbreviation>
</ReservedWords>
</LC_MISC>
- <LC_NumberingLevel>
- <NumberingLevel NumType="4" Prefix=" " Suffix=")"/>
- <NumberingLevel NumType="4" Prefix=" " Suffix="."/>
- <NumberingLevel NumType="4" Prefix="(" Suffix=")"/>
- <NumberingLevel NumType="2" Prefix=" " Suffix="."/>
- <NumberingLevel NumType="0" Prefix=" " Suffix=")"/>
- <NumberingLevel NumType="1" Prefix=" " Suffix=")"/>
- <NumberingLevel NumType="1" Prefix="(" Suffix=")"/>
- <NumberingLevel NumType="3" Prefix=" " Suffix="."/>
- </LC_NumberingLevel>
+ <LC_NumberingLevel ref="en_US"/>
<LC_OutLineNumberingLevel ref="en_US"/>
</Locale>
<!--Version 1.0 -->
diff --git a/i18npool/source/localedata/data/myv_RU.xml b/i18npool/source/localedata/data/myv_RU.xml
index 45ed4d618f48..a89bf6920e25 100644
--- a/i18npool/source/localedata/data/myv_RU.xml
+++ b/i18npool/source/localedata/data/myv_RU.xml
@@ -373,16 +373,7 @@
<quarter4Abbreviation>4кк</quarter4Abbreviation>
</ReservedWords>
</LC_MISC>
- <LC_NumberingLevel>
- <NumberingLevel NumType="4" Prefix=" " Suffix=")"/>
- <NumberingLevel NumType="4" Prefix=" " Suffix="."/>
- <NumberingLevel NumType="4" Prefix="(" Suffix=")"/>
- <NumberingLevel NumType="2" Prefix=" " Suffix="."/>
- <NumberingLevel NumType="0" Prefix=" " Suffix=")"/>
- <NumberingLevel NumType="1" Prefix=" " Suffix=")"/>
- <NumberingLevel NumType="1" Prefix="(" Suffix=")"/>
- <NumberingLevel NumType="3" Prefix=" " Suffix="."/>
- </LC_NumberingLevel>
+ <LC_NumberingLevel ref="en_US"/>
<LC_OutLineNumberingLevel ref="en_US"/>
</Locale>
<!--Version 1.0 -->
diff --git a/i18npool/source/localedata/data/nl_BE.xml b/i18npool/source/localedata/data/nl_BE.xml
index efbca5745019..4f4cdab49f4d 100644
--- a/i18npool/source/localedata/data/nl_BE.xml
+++ b/i18npool/source/localedata/data/nl_BE.xml
@@ -71,6 +71,15 @@
<FormatElement msgid="FixedFormatskey6" default="false" type="medium" usage="FIXED_NUMBER" formatindex="5">
<FormatCode>#.###,00</FormatCode>
</FormatElement>
+ <FormatElement msgid="FixedFormatskey9" default="false" type="medium" usage="FIXED_NUMBER" formatindex="101">
+ <FormatCode>[NatNum12 cardinal]0</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="FixedFormatskey10" default="false" type="medium" usage="FIXED_NUMBER" formatindex="102">
+ <FormatCode>[NatNum12 capitalize cardinal]0</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="FixedFormatskey12" default="false" type="medium" usage="FIXED_NUMBER" formatindex="104">
+ <FormatCode>[NatNum12 upper cardinal]0</FormatCode>
+ </FormatElement>
<FormatElement msgid="ScientificFormatskey1" default="false" type="medium" usage="SCIENTIFIC_NUMBER" formatindex="6">
<FormatCode>0,00E+000</FormatCode>
</FormatElement>
@@ -104,6 +113,18 @@
<FormatElement msgid="CurrencyFormatskey6" default="false" type="medium" usage="CURRENCY" formatindex="17">
<FormatCode>[$BF-813] #.##0,--;[RED][$BF-813] -#.##0,--</FormatCode>
</FormatElement>
+ <FormatElement msgid="CurrencyFormatskey9" default="false" type="medium" usage="CURRENCY" formatindex="105">
+ <FormatCode>[NatNum12 CURRENCY]0</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="CurrencyFormatskey10" default="false" type="medium" usage="CURRENCY" formatindex="106">
+ <FormatCode>[NatNum12 CURRENCY]0,00</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="CurrencyFormatskey11" default="false" type="medium" usage="CURRENCY" formatindex="107">
+ <FormatCode>[NatNum12 upper CURRENCY]0</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="CurrencyFormatskey12" default="false" type="medium" usage="CURRENCY" formatindex="108">
+ <FormatCode>[NatNum12 upper CURRENCY]0,00</FormatCode>
+ </FormatElement>
<FormatElement msgid="DateFormatskey1" default="true" type="short" usage="DATE" formatindex="18">
<FormatCode>D/MM/JJ</FormatCode>
</FormatElement>
diff --git a/i18npool/source/localedata/data/nl_NL.xml b/i18npool/source/localedata/data/nl_NL.xml
index 303cff5cdf19..c78bef8bcee5 100644
--- a/i18npool/source/localedata/data/nl_NL.xml
+++ b/i18npool/source/localedata/data/nl_NL.xml
@@ -53,6 +53,18 @@
</LC_CTYPE>
<LC_FORMAT>
<DateAcceptancePattern>D-M</DateAcceptancePattern>
+ <FormatElement msgid="CurrencyFormatskey9" default="false" type="medium" usage="CURRENCY" formatindex="105">
+ <FormatCode>[NatNum12 CURRENCY]0</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="CurrencyFormatskey10" default="false" type="medium" usage="CURRENCY" formatindex="106">
+ <FormatCode>[NatNum12 CURRENCY]0,00</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="CurrencyFormatskey11" default="false" type="medium" usage="CURRENCY" formatindex="107">
+ <FormatCode>[NatNum12 upper CURRENCY]0</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="CurrencyFormatskey12" default="false" type="medium" usage="CURRENCY" formatindex="108">
+ <FormatCode>[NatNum12 upper CURRENCY]0,00</FormatCode>
+ </FormatElement>
<FormatElement msgid="DateFormatskey1" default="true" type="short" usage="DATE" formatindex="18">
<FormatCode>D-MM-JJ</FormatCode>
</FormatElement>
@@ -189,6 +201,15 @@
<FormatElement msgid="PercentFormatskey2" default="true" type="long" usage="PERCENT_NUMBER" formatindex="9">
<FormatCode>0,00%</FormatCode>
</FormatElement>
+ <FormatElement msgid="FixedFormatskey9" default="false" type="medium" usage="FIXED_NUMBER" formatindex="101">
+ <FormatCode>[NatNum12 cardinal]0</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="FixedFormatskey10" default="false" type="medium" usage="FIXED_NUMBER" formatindex="102">
+ <FormatCode>[NatNum12 capitalize cardinal]0</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="FixedFormatskey12" default="false" type="medium" usage="FIXED_NUMBER" formatindex="104">
+ <FormatCode>[NatNum12 upper cardinal]0</FormatCode>
+ </FormatElement>
<FormatElement msgid="ScientificFormatskey1" default="false" type="medium" usage="SCIENTIFIC_NUMBER" formatindex="6">
<FormatCode>0,00E+000</FormatCode>
</FormatElement>
diff --git a/i18npool/source/localedata/data/no_NO.xml b/i18npool/source/localedata/data/no_NO.xml
index 0ad1f4b430cc..1d7477ba2ea6 100644
--- a/i18npool/source/localedata/data/no_NO.xml
+++ b/i18npool/source/localedata/data/no_NO.xml
@@ -56,6 +56,18 @@
<DateAcceptancePattern>D/M/Y</DateAcceptancePattern>
<DateAcceptancePattern>D/M</DateAcceptancePattern>
<DateAcceptancePattern>D/M Y</DateAcceptancePattern>
+ <FormatElement msgid="CurrencyFormatskey9" default="false" type="medium" usage="CURRENCY" formatindex="105">
+ <FormatCode>[NatNum12 CURRENCY]0</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="CurrencyFormatskey10" default="false" type="medium" usage="CURRENCY" formatindex="106">
+ <FormatCode>[NatNum12 CURRENCY]0,00</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="CurrencyFormatskey11" default="false" type="medium" usage="CURRENCY" formatindex="107">
+ <FormatCode>[NatNum12 upper CURRENCY]0</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="CurrencyFormatskey12" default="false" type="medium" usage="CURRENCY" formatindex="108">
+ <FormatCode>[NatNum12 upper CURRENCY]0,00</FormatCode>
+ </FormatElement>
<FormatElement msgid="DateFormatskey1" default="true" type="short" usage="DATE" formatindex="18">
<FormatCode>DD.MM.YY</FormatCode>
</FormatElement>
@@ -192,6 +204,15 @@
<FormatElement msgid="PercentFormatskey2" default="true" type="long" usage="PERCENT_NUMBER" formatindex="9">
<FormatCode>0,00%</FormatCode>
</FormatElement>
+ <FormatElement msgid="FixedFormatskey9" default="false" type="medium" usage="FIXED_NUMBER" formatindex="101">
+ <FormatCode>[NatNum12 cardinal]0</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="FixedFormatskey10" default="false" type="medium" usage="FIXED_NUMBER" formatindex="102">
+ <FormatCode>[NatNum12 capitalize cardinal]0</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="FixedFormatskey12" default="false" type="medium" usage="FIXED_NUMBER" formatindex="104">
+ <FormatCode>[NatNum12 upper cardinal]0</FormatCode>
+ </FormatElement>
<FormatElement msgid="ScientificFormatskey1" default="false" type="medium" usage="SCIENTIFIC_NUMBER" formatindex="6">
<FormatCode>0,00E+000</FormatCode>
</FormatElement>
diff --git a/i18npool/source/localedata/data/ny_MW.xml b/i18npool/source/localedata/data/ny_MW.xml
index b98d372b3065..2c082699a3fc 100644
--- a/i18npool/source/localedata/data/ny_MW.xml
+++ b/i18npool/source/localedata/data/ny_MW.xml
@@ -350,16 +350,7 @@
<quarter4Abbreviation>Q4</quarter4Abbreviation>
</ReservedWords>
</LC_MISC>
- <LC_NumberingLevel>
- <NumberingLevel NumType="4" Prefix=" " Suffix=")"/>
- <NumberingLevel NumType="4" Prefix=" " Suffix="."/>
- <NumberingLevel NumType="4" Prefix="(" Suffix=")"/>
- <NumberingLevel NumType="2" Prefix=" " Suffix="."/>
- <NumberingLevel NumType="0" Prefix=" " Suffix=")"/>
- <NumberingLevel NumType="1" Prefix=" " Suffix=")"/>
- <NumberingLevel NumType="1" Prefix="(" Suffix=")"/>
- <NumberingLevel NumType="3" Prefix=" " Suffix="."/>
- </LC_NumberingLevel>
+ <LC_NumberingLevel ref="en_US"/>
<LC_OutLineNumberingLevel ref="en_US"/>
</Locale>
<!--Version 1.1 -->
diff --git a/i18npool/source/localedata/data/oc_ES_aranes.xml b/i18npool/source/localedata/data/oc_ES_aranes.xml
new file mode 100644
index 000000000000..72f2914ece2e
--- /dev/null
+++ b/i18npool/source/localedata/data/oc_ES_aranes.xml
@@ -0,0 +1,366 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE Locale SYSTEM 'locale.dtd'>
+<!--
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ -->
+<Locale versionDTD="2.0.3" allowUpdateFromCLDR="no" version="1.2">
+ <LC_INFO>
+ <Language>
+ <LangID>qlt</LangID>
+ <DefaultName>Occitan (Aranese)</DefaultName>
+ </Language>
+ <Country>
+ <CountryID>ES</CountryID>
+ <DefaultName>Spain</DefaultName>
+ </Country>
+ <Variant>oc-ES-aranes</Variant>
+ </LC_INFO>
+ <LC_CTYPE>
+ <Separators>
+ <DateSeparator>/</DateSeparator>
+ <ThousandSeparator>.</ThousandSeparator>
+ <DecimalSeparator>,</DecimalSeparator>
+ <TimeSeparator>:</TimeSeparator>
+ <Time100SecSeparator>,</Time100SecSeparator>
+ <ListSeparator>;</ListSeparator>
+ <LongDateDayOfWeekSeparator>, </LongDateDayOfWeekSeparator>
+ <LongDateDaySeparator> de </LongDateDaySeparator>
+ <LongDateMonthSeparator> de </LongDateMonthSeparator>
+ <LongDateYearSeparator> </LongDateYearSeparator>
+ </Separators>
+ <Markers>
+ <QuotationStart>‘</QuotationStart>
+ <QuotationEnd>’</QuotationEnd>
+ <DoubleQuotationStart>«</DoubleQuotationStart>
+ <DoubleQuotationEnd>»</DoubleQuotationEnd>
+ </Markers>
+ <TimeAM>AM</TimeAM>
+ <TimePM>PM</TimePM>
+ <MeasurementSystem>metric</MeasurementSystem>
+ </LC_CTYPE>
+ <LC_FORMAT replaceFrom="[CURRENCY]" replaceTo="[$€-8082]">
+ <DateAcceptancePattern>D/M</DateAcceptancePattern>
+ <FormatElement msgid="FixedFormatskey1" default="true" type="medium" usage="FIXED_NUMBER" formatindex="0">
+ <FormatCode>Standard</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="FixedFormatskey2" default="true" type="short" usage="FIXED_NUMBER" formatindex="1">
+ <FormatCode>0</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="FixedFormatskey3" default="false" type="medium" usage="FIXED_NUMBER" formatindex="2">
+ <FormatCode>0,00</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="FixedFormatskey4" default="false" type="short" usage="FIXED_NUMBER" formatindex="3">
+ <FormatCode>#.##0</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="FixedFormatskey5" default="false" type="medium" usage="FIXED_NUMBER" formatindex="4">
+ <FormatCode>#.##0,00</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="FixedFormatskey6" default="false" type="medium" usage="FIXED_NUMBER" formatindex="5">
+ <FormatCode>#.###,00</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="ScientificFormatskey1" default="false" type="medium" usage="SCIENTIFIC_NUMBER" formatindex="6">
+ <FormatCode>0,00E+000</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="ScientificFormatskey2" default="true" type="medium" usage="SCIENTIFIC_NUMBER" formatindex="7">
+ <FormatCode>0,00E+00</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="ScientificFormatskey3" default="false" type="medium" usage="SCIENTIFIC_NUMBER" formatindex="78">
+ <FormatCode>##0,00E+00</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="PercentFormatskey1" default="true" type="short" usage="PERCENT_NUMBER" formatindex="8">
+ <FormatCode>0%</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="PercentFormatskey2" default="true" type="long" usage="PERCENT_NUMBER" formatindex="9">
+ <FormatCode>0,00%</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="CurrencyFormatskey1" default="true" type="short" usage="CURRENCY" formatindex="12">
+ <FormatCode>#.##0 [CURRENCY];-#.##0 [CURRENCY]</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="CurrencyFormatskey2" default="false" type="medium" usage="CURRENCY" formatindex="13">
+ <FormatCode>#.##0 [CURRENCY];-#.##0 [CURRENCY]</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="CurrencyFormatskey3" default="true" type="medium" usage="CURRENCY" formatindex="14">
+ <FormatCode>#.##0 [CURRENCY];[RED]-#.##0 [CURRENCY]</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="CurrencyFormatskey4" default="false" type="medium" usage="CURRENCY" formatindex="15">
+ <FormatCode>#.##0 [CURRENCY];[RED]-#.##0 [CURRENCY]</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="CurrencyFormatskey5" default="false" type="medium" usage="CURRENCY" formatindex="16">
+ <FormatCode>#.##0 CCC</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="CurrencyFormatskey6" default="false" type="medium" usage="CURRENCY" formatindex="17">
+ <FormatCode>#.##0 [CURRENCY];[RED]-#.##0 [CURRENCY]</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="DateFormatskey1" default="true" type="short" usage="DATE" formatindex="18">
+ <FormatCode>D/MM/YY</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="DateFormatskey9" default="true" type="long" usage="DATE" formatindex="19">
+ <FormatCode>NNNND "de" MMMM "de" YYYY</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="DateFormatskey8" default="true" type="medium" usage="DATE" formatindex="20">
+ <FormatCode>DD/MM/YY</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="DateFormatskey7" default="false" type="medium" usage="DATE" formatindex="21">
+ <FormatCode>DD/MM/YYYY</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="DateFormatskey10" default="false" type="long" usage="DATE" formatindex="22">
+ <FormatCode>D "de" MMM "de" YY</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="DateFormatskey11" default="false" type="long" usage="DATE" formatindex="23">
+ <FormatCode>D "de" MMM "de" YYYY</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="DateFormatskey16" default="false" type="long" usage="DATE" formatindex="24">
+ <FormatCode>D. MMM. YYYY</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="DateFormatskey12" default="false" type="long" usage="DATE" formatindex="25">
+ <FormatCode>D "de" MMMM "de" YYYY</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="DateFormatskey17" default="false" type="long" usage="DATE" formatindex="26">
+ <FormatCode>D. MMMM YYYY</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="DateFormatskey13" default="false" type="long" usage="DATE" formatindex="27">
+ <FormatCode>NN D "de" MMM "de" YY</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="DateFormatskey2" default="false" type="medium" usage="DATE" formatindex="28">
+ <FormatCode>NN DD/MMM YY</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="DateFormatskey14" default="false" type="long" usage="DATE" formatindex="29">
+ <FormatCode>NN D "de" MMMM "de" YYYY</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="DateFormatskey15" default="false" type="long" usage="DATE" formatindex="30">
+ <FormatCode>NNNND "de" MMMM "de" YYYY</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="DateFormatskey18" default="false" type="short" usage="DATE" formatindex="31">
+ <FormatCode>MM-DD</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="DateFormatskey19" default="false" type="medium" usage="DATE" formatindex="32">
+ <FormatCode>YY-MM-DD</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="DateFormatskey20" default="false" type="medium" usage="DATE" formatindex="33">
+ <FormatCode>YYYY-MM-DD</FormatCode>
+ <DefaultName>ISO 8601</DefaultName>
+ </FormatElement>
+ <FormatElement msgid="DateFormatskey3" default="false" type="medium" usage="DATE" formatindex="34">
+ <FormatCode>MM/YY</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="DateFormatskey4" default="false" type="medium" usage="DATE" formatindex="35">
+ <FormatCode>DD/MMM</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="DateFormatskey5" default="false" type="medium" usage="DATE" formatindex="36">
+ <FormatCode>MMMM</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="DateFormatskey6" default="false" type="medium" usage="DATE" formatindex="37">
+ <FormatCode>QQ YY</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="DateFormatskey21" default="false" type="medium" usage="DATE" formatindex="38">
+ <FormatCode>WW</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="TimeFormatskey1" default="true" type="short" usage="TIME" formatindex="39">
+ <FormatCode>HH:MM</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="TimeFormatskey2" default="true" type="medium" usage="TIME" formatindex="40">
+ <FormatCode>HH:MM:SS</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="TimeFormatskey3" default="false" type="short" usage="TIME" formatindex="41">
+ <FormatCode>HH:MM AM/PM</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="TimeFormatskey4" default="false" type="medium" usage="TIME" formatindex="42">
+ <FormatCode>HH:MM:SS AM/PM</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="TimeFormatskey5" default="false" type="medium" usage="TIME" formatindex="43">
+ <FormatCode>[HH]:MM:SS</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="TimeFormatskey6" default="false" type="short" usage="TIME" formatindex="44">
+ <FormatCode>MM:SS,00</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="TimeFormatskey7" default="false" type="medium" usage="TIME" formatindex="45">
+ <FormatCode>[HH]:MM:SS,00</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="DateTimeFormatskey1" default="true" type="medium" usage="DATE_TIME" formatindex="46">
+ <FormatCode>DD/MM/YY HH:MM</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="DateTimeFormatskey2" default="false" type="medium" usage="DATE_TIME" formatindex="47">
+ <FormatCode>DD/MM/YYYY HH:MM:SS</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="DateTimeFormatskey3" default="false" type="medium" usage="DATE_TIME" formatindex="50">
+ <FormatCode>DD/MM/YYYY HH:MM</FormatCode>
+ </FormatElement>
+ </LC_FORMAT>
+ <LC_COLLATION ref="es_ES"/>
+ <LC_SEARCH ref="es_ES"/>
+ <LC_INDEX>
+ <IndexKey phonetic="false" default="true" unoid="alphanumeric">A-Z</IndexKey>
+ <UnicodeScript>0</UnicodeScript>
+ <UnicodeScript>1</UnicodeScript>
+ <FollowPageWord>p.sg.</FollowPageWord>
+ <FollowPageWord>p.sgs.</FollowPageWord>
+ </LC_INDEX>
+ <LC_CALENDAR>
+ <Calendar unoid="gregorian" default="true">
+ <DaysOfWeek>
+ <Day>
+ <DayID>sun</DayID>
+ <DefaultAbbrvName>dg.</DefaultAbbrvName>
+ <DefaultFullName>dimenge</DefaultFullName>
+ </Day>
+ <Day>
+ <DayID>mon</DayID>
+ <DefaultAbbrvName>dl.</DefaultAbbrvName>
+ <DefaultFullName>deluns</DefaultFullName>
+ </Day>
+ <Day>
+ <DayID>tue</DayID>
+ <DefaultAbbrvName>dt.</DefaultAbbrvName>
+ <DefaultFullName>dimars</DefaultFullName>
+ </Day>
+ <Day>
+ <DayID>wed</DayID>
+ <DefaultAbbrvName>dc.</DefaultAbbrvName>
+ <DefaultFullName>dimèrcles</DefaultFullName>
+ </Day>
+ <Day>
+ <DayID>thu</DayID>
+ <DefaultAbbrvName>dj.</DefaultAbbrvName>
+ <DefaultFullName>dijaus</DefaultFullName>
+ </Day>
+ <Day>
+ <DayID>fri</DayID>
+ <DefaultAbbrvName>dv.</DefaultAbbrvName>
+ <DefaultFullName>diuendres</DefaultFullName>
+ </Day>
+ <Day>
+ <DayID>sat</DayID>
+ <DefaultAbbrvName>ds.</DefaultAbbrvName>
+ <DefaultFullName>dissabte</DefaultFullName>
+ </Day>
+ </DaysOfWeek>
+ <MonthsOfYear>
+ <Month>
+ <MonthID>jan</MonthID>
+ <DefaultAbbrvName>gèr</DefaultAbbrvName>
+ <DefaultFullName>gèr</DefaultFullName>
+ </Month>
+ <Month>
+ <MonthID>feb</MonthID>
+ <DefaultAbbrvName>her.</DefaultAbbrvName>
+ <DefaultFullName>hereuèr</DefaultFullName>
+ </Month>
+ <Month>
+ <MonthID>mar</MonthID>
+ <DefaultAbbrvName>març</DefaultAbbrvName>
+ <DefaultFullName>març</DefaultFullName>
+ </Month>
+ <Month>
+ <MonthID>apr</MonthID>
+ <DefaultAbbrvName>abr.</DefaultAbbrvName>
+ <DefaultFullName>abriu</DefaultFullName>
+ </Month>
+ <Month>
+ <MonthID>may</MonthID>
+ <DefaultAbbrvName>mai</DefaultAbbrvName>
+ <DefaultFullName>mai</DefaultFullName>
+ </Month>
+ <Month>
+ <MonthID>jun</MonthID>
+ <DefaultAbbrvName>junh</DefaultAbbrvName>
+ <DefaultFullName>junh</DefaultFullName>
+ </Month>
+ <Month>
+ <MonthID>jul</MonthID>
+ <DefaultAbbrvName>jse.</DefaultAbbrvName>
+ <DefaultFullName>junhsèga</DefaultFullName>
+ </Month>
+ <Month>
+ <MonthID>aug</MonthID>
+ <DefaultAbbrvName>ag.</DefaultAbbrvName>
+ <DefaultFullName>agost</DefaultFullName>
+ </Month>
+ <Month>
+ <MonthID>sep</MonthID>
+ <DefaultAbbrvName>set.</DefaultAbbrvName>
+ <DefaultFullName>seteme</DefaultFullName>
+ </Month>
+ <Month>
+ <MonthID>oct</MonthID>
+ <DefaultAbbrvName>oct.</DefaultAbbrvName>
+ <DefaultFullName>octobre</DefaultFullName>
+ </Month>
+ <Month>
+ <MonthID>nov</MonthID>
+ <DefaultAbbrvName>nov.</DefaultAbbrvName>
+ <DefaultFullName>noveme</DefaultFullName>
+ </Month>
+ <Month>
+ <MonthID>dec</MonthID>
+ <DefaultAbbrvName>des.</DefaultAbbrvName>
+ <DefaultFullName>deseme</DefaultFullName>
+ </Month>
+ </MonthsOfYear>
+ <Eras>
+ <Era>
+ <EraID>bc</EraID>
+ <DefaultAbbrvName>aC</DefaultAbbrvName>
+ <DefaultFullName>A.C.</DefaultFullName>
+ </Era>
+ <Era>
+ <EraID>ad</EraID>
+ <DefaultAbbrvName>dC</DefaultAbbrvName>
+ <DefaultFullName>D.C.</DefaultFullName>
+ </Era>
+ </Eras>
+ <StartDayOfWeek>
+ <DayID>mon</DayID>
+ </StartDayOfWeek>
+ <MinimalDaysInFirstWeek>1</MinimalDaysInFirstWeek>
+ </Calendar>
+ </LC_CALENDAR>
+ <LC_CURRENCY>
+ <Currency default="true" usedInCompatibleFormatCodes="true">
+ <CurrencyID>EUR</CurrencyID>
+ <CurrencySymbol>€</CurrencySymbol>
+ <BankSymbol>EUR</BankSymbol>
+ <CurrencyName>Euro</CurrencyName>
+ <DecimalPlaces>2</DecimalPlaces>
+ </Currency>
+ <Currency default="false" usedInCompatibleFormatCodes="false">
+ <CurrencyID>ESP</CurrencyID>
+ <CurrencySymbol>₧</CurrencySymbol>
+ <BankSymbol>ESP</BankSymbol>
+ <CurrencyName>ESP</CurrencyName>
+ <DecimalPlaces>0</DecimalPlaces>
+ </Currency>
+ </LC_CURRENCY>
+ <LC_TRANSLITERATION ref="es_ES"/>
+ <LC_MISC>
+ <ReservedWords>
+ <trueWord>vertat</trueWord>
+ <falseWord>faus</falseWord>
+ <quarter1Word>1r trimèstre</quarter1Word>
+ <quarter2Word>2n trimèstre</quarter2Word>
+ <quarter3Word>3r trimèstre</quarter3Word>
+ <quarter4Word>4t trimèstre</quarter4Word>
+ <aboveWord>dessús</aboveWord>
+ <belowWord>dejós</belowWord>
+ <quarter1Abbreviation>1T</quarter1Abbreviation>
+ <quarter2Abbreviation>2T</quarter2Abbreviation>
+ <quarter3Abbreviation>3T</quarter3Abbreviation>
+ <quarter4Abbreviation>4T</quarter4Abbreviation>
+ </ReservedWords>
+ </LC_MISC>
+ <LC_NumberingLevel ref="es_ES"/>
+ <LC_OutLineNumberingLevel ref="es_ES"/>
+</Locale>
diff --git a/i18npool/source/localedata/data/oc_FR.xml b/i18npool/source/localedata/data/oc_FR_lengadoc.xml
index c90d6b8f7753..531b86d4b397 100644
--- a/i18npool/source/localedata/data/oc_FR.xml
+++ b/i18npool/source/localedata/data/oc_FR_lengadoc.xml
@@ -20,13 +20,14 @@
<Locale versionDTD="2.0.3" allowUpdateFromCLDR="no" version="1.9">
<LC_INFO>
<Language>
- <LangID>oc</LangID>
- <DefaultName>Languedocien</DefaultName>
+ <LangID>qlt</LangID>
+ <DefaultName>Occitan (Languedocien)</DefaultName>
</Language>
<Country>
<CountryID>FR</CountryID>
<DefaultName>France</DefaultName>
</Country>
+ <Variant>oc-FR-lengadoc</Variant>
</LC_INFO>
<LC_CTYPE unoid="generic">
<Separators>
@@ -254,8 +255,8 @@
</Day>
<Day>
<DayID>sat</DayID>
- <DefaultAbbrvName>disabte</DefaultAbbrvName>
- <DefaultFullName>disabte</DefaultFullName>
+ <DefaultAbbrvName>dissabte</DefaultAbbrvName>
+ <DefaultFullName>dissabte</DefaultFullName>
</Day>
</DaysOfWeek>
<MonthsOfYear>
@@ -371,15 +372,6 @@
<quarter4Abbreviation>T4</quarter4Abbreviation>
</ReservedWords>
</LC_MISC>
- <LC_NumberingLevel>
- <NumberingLevel NumType="4" Prefix=" " Suffix=")"/>
- <NumberingLevel NumType="4" Prefix=" " Suffix="."/>
- <NumberingLevel NumType="4" Prefix="(" Suffix=")"/>
- <NumberingLevel NumType="2" Prefix=" " Suffix="."/>
- <NumberingLevel NumType="0" Prefix=" " Suffix=")"/>
- <NumberingLevel NumType="1" Prefix=" " Suffix=")"/>
- <NumberingLevel NumType="1" Prefix="(" Suffix=")"/>
- <NumberingLevel NumType="3" Prefix=" " Suffix="."/>
- </LC_NumberingLevel>
+ <LC_NumberingLevel ref="en_US"/>
<LC_OutLineNumberingLevel ref="en_US"/>
</Locale>
diff --git a/i18npool/source/localedata/data/om_ET.xml b/i18npool/source/localedata/data/om_ET.xml
index e4ec0be5e32c..ae3973cd26ca 100644
--- a/i18npool/source/localedata/data/om_ET.xml
+++ b/i18npool/source/localedata/data/om_ET.xml
@@ -366,16 +366,7 @@
<quarter4Abbreviation>Br</quarter4Abbreviation>
</ReservedWords>
</LC_MISC>
- <LC_NumberingLevel>
- <NumberingLevel NumType="4" Prefix=" " Suffix=")"/>
- <NumberingLevel NumType="4" Prefix=" " Suffix="."/>
- <NumberingLevel NumType="4" Prefix="(" Suffix=")"/>
- <NumberingLevel NumType="2" Prefix=" " Suffix="."/>
- <NumberingLevel NumType="0" Prefix=" " Suffix=")"/>
- <NumberingLevel NumType="1" Prefix=" " Suffix=")"/>
- <NumberingLevel NumType="1" Prefix="(" Suffix=")"/>
- <NumberingLevel NumType="3" Prefix=" " Suffix="."/>
- </LC_NumberingLevel>
+ <LC_NumberingLevel ref="en_US"/>
<LC_OutLineNumberingLevel ref="en_US"/>
</Locale>
<!--Version 1.0 -->
diff --git a/i18npool/source/localedata/data/pap_CW.xml b/i18npool/source/localedata/data/pap_CW.xml
index bdba3aeab9bd..75d0b59cb6b4 100644
--- a/i18npool/source/localedata/data/pap_CW.xml
+++ b/i18npool/source/localedata/data/pap_CW.xml
@@ -367,16 +367,7 @@
<quarter4Abbreviation>K4</quarter4Abbreviation>
</ReservedWords>
</LC_MISC>
- <LC_NumberingLevel>
- <NumberingLevel NumType="4" Prefix=" " Suffix=")"/>
- <NumberingLevel NumType="4" Prefix=" " Suffix="."/>
- <NumberingLevel NumType="4" Prefix="(" Suffix=")"/>
- <NumberingLevel NumType="2" Prefix=" " Suffix="."/>
- <NumberingLevel NumType="0" Prefix=" " Suffix=")"/>
- <NumberingLevel NumType="1" Prefix=" " Suffix=")"/>
- <NumberingLevel NumType="1" Prefix="(" Suffix=")"/>
- <NumberingLevel NumType="3" Prefix=" " Suffix="."/>
- </LC_NumberingLevel>
+ <LC_NumberingLevel ref="en_US"/>
<LC_OutLineNumberingLevel ref="en_US"/>
</Locale>
<!--Version 1.0 -->
diff --git a/i18npool/source/localedata/data/pdc_US.xml b/i18npool/source/localedata/data/pdc_US.xml
new file mode 100644
index 000000000000..a2d03cf49c98
--- /dev/null
+++ b/i18npool/source/localedata/data/pdc_US.xml
@@ -0,0 +1,189 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE Locale SYSTEM 'locale.dtd'>
+<!--
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ -->
+<Locale versionDTD="2.0.3" allowUpdateFromCLDR="no" version="1.0">
+ <LC_INFO>
+ <Language>
+ <LangID>pdc</LangID>
+ <DefaultName>Pennsylvania Dutch</DefaultName>
+ </Language>
+ <Country>
+ <CountryID>US</CountryID>
+ <DefaultName>United States</DefaultName>
+ </Country>
+ </LC_INFO>
+ <LC_CTYPE ref="en_US"/>
+ <LC_FORMAT ref="en_US" replaceFrom="[CURRENCY]" replaceTo="[$$-6AF]"/>
+ <LC_COLLATION ref="en_US"/>
+ <LC_SEARCH ref="en_US"/>
+ <LC_INDEX>
+ <IndexKey phonetic="false" default="true" unoid="alphanumeric">A-Z</IndexKey>
+ <UnicodeScript>0</UnicodeScript>
+ <UnicodeScript>1</UnicodeScript>
+ <FollowPageWord> f.</FollowPageWord>
+ <FollowPageWord> ff.</FollowPageWord>
+ </LC_INDEX>
+ <LC_CALENDAR>
+ <Calendar unoid="gregorian" default="true">
+ <DaysOfWeek>
+ <Day>
+ <DayID>sun</DayID>
+ <DefaultAbbrvName>Sunn</DefaultAbbrvName>
+ <DefaultFullName>Sunndaag</DefaultFullName>
+ </Day>
+ <Day>
+ <DayID>mon</DayID>
+ <DefaultAbbrvName>Muun</DefaultAbbrvName>
+ <DefaultFullName>Muundaag</DefaultFullName>
+ </Day>
+ <Day>
+ <DayID>tue</DayID>
+ <DefaultAbbrvName>Din</DefaultAbbrvName>
+ <DefaultFullName>Dinschdaag</DefaultFullName>
+ </Day>
+ <Day>
+ <DayID>wed</DayID>
+ <DefaultAbbrvName>Mitt</DefaultAbbrvName>
+ <DefaultFullName>Mittwoch</DefaultFullName>
+ </Day>
+ <Day>
+ <DayID>thu</DayID>
+ <DefaultAbbrvName>Dunn</DefaultAbbrvName>
+ <DefaultFullName>Dunnerschdaag</DefaultFullName>
+ </Day>
+ <Day>
+ <DayID>fri</DayID>
+ <DefaultAbbrvName>Frei</DefaultAbbrvName>
+ <DefaultFullName>Freidaag</DefaultFullName>
+ </Day>
+ <Day>
+ <DayID>sat</DayID>
+ <DefaultAbbrvName>Sam</DefaultAbbrvName>
+ <DefaultFullName>Samschdaag</DefaultFullName>
+ </Day>
+ </DaysOfWeek>
+ <MonthsOfYear>
+ <Month>
+ <MonthID>jan</MonthID>
+ <DefaultAbbrvName>Yenn</DefaultAbbrvName>
+ <DefaultFullName>Yenner</DefaultFullName>
+ </Month>
+ <Month>
+ <MonthID>feb</MonthID>
+ <DefaultAbbrvName>Hann</DefaultAbbrvName>
+ <DefaultFullName>Hanning</DefaultFullName>
+ </Month>
+ <Month>
+ <MonthID>mar</MonthID>
+ <DefaultAbbrvName>Mat</DefaultAbbrvName>
+ <DefaultFullName>Matz</DefaultFullName>
+ </Month>
+ <Month>
+ <MonthID>apr</MonthID>
+ <DefaultAbbrvName>Apr</DefaultAbbrvName>
+ <DefaultFullName>Aprill</DefaultFullName>
+ </Month>
+ <Month>
+ <MonthID>may</MonthID>
+ <DefaultAbbrvName>Moi</DefaultAbbrvName>
+ <DefaultFullName>Moi</DefaultFullName>
+ </Month>
+ <Month>
+ <MonthID>jun</MonthID>
+ <DefaultAbbrvName>Yun</DefaultAbbrvName>
+ <DefaultFullName>Yuni</DefaultFullName>
+ </Month>
+ <Month>
+ <MonthID>jul</MonthID>
+ <DefaultAbbrvName>Yul</DefaultAbbrvName>
+ <DefaultFullName>Yuli</DefaultFullName>
+ </Month>
+ <Month>
+ <MonthID>aug</MonthID>
+ <DefaultAbbrvName>Aag</DefaultAbbrvName>
+ <DefaultFullName>Aaguscht</DefaultFullName>
+ </Month>
+ <Month>
+ <MonthID>sep</MonthID>
+ <DefaultAbbrvName>Sept</DefaultAbbrvName>
+ <DefaultFullName>September</DefaultFullName>
+ </Month>
+ <Month>
+ <MonthID>oct</MonthID>
+ <DefaultAbbrvName>Okt</DefaultAbbrvName>
+ <DefaultFullName>Oktower</DefaultFullName>
+ </Month>
+ <Month>
+ <MonthID>nov</MonthID>
+ <DefaultAbbrvName>Now</DefaultAbbrvName>
+ <DefaultFullName>Nowember</DefaultFullName>
+ </Month>
+ <Month>
+ <MonthID>dec</MonthID>
+ <DefaultAbbrvName>Dies</DefaultAbbrvName>
+ <DefaultFullName>Diesember</DefaultFullName>
+ </Month>
+ </MonthsOfYear>
+ <Eras>
+ <Era>
+ <EraID>bc</EraID>
+ <DefaultAbbrvName>BC</DefaultAbbrvName>
+ <DefaultFullName>BC</DefaultFullName>
+ </Era>
+ <Era>
+ <EraID>ad</EraID>
+ <DefaultAbbrvName>AD</DefaultAbbrvName>
+ <DefaultFullName>AD</DefaultFullName>
+ </Era>
+ </Eras>
+ <StartDayOfWeek>
+ <DayID>sun</DayID>
+ </StartDayOfWeek>
+ <MinimalDaysInFirstWeek>1</MinimalDaysInFirstWeek>
+ </Calendar>
+ </LC_CALENDAR>
+ <LC_CURRENCY>
+ <Currency default="true" usedInCompatibleFormatCodes="true">
+ <CurrencyID>USD</CurrencyID>
+ <CurrencySymbol>$</CurrencySymbol>
+ <BankSymbol>USD</BankSymbol>
+ <CurrencyName>US Daaler</CurrencyName>
+ <DecimalPlaces>2</DecimalPlaces>
+ </Currency>
+ </LC_CURRENCY>
+ <LC_TRANSLITERATION ref="en_US"/>
+ <LC_MISC>
+ <ReservedWords>
+ <trueWord>waahr</trueWord>
+ <falseWord>falsch</falseWord>
+ <quarter1Word>1scht Vaddel</quarter1Word>
+ <quarter2Word>2tt Vaddel</quarter2Word>
+ <quarter3Word>3tt Vaddel</quarter3Word>
+ <quarter4Word>4rt Vaddel</quarter4Word>
+ <aboveWord>drowwe</aboveWord>
+ <belowWord>drunne</belowWord>
+ <quarter1Abbreviation>V1</quarter1Abbreviation>
+ <quarter2Abbreviation>V2</quarter2Abbreviation>
+ <quarter3Abbreviation>V3</quarter3Abbreviation>
+ <quarter4Abbreviation>V4</quarter4Abbreviation>
+ </ReservedWords>
+ </LC_MISC>
+ <LC_NumberingLevel ref="en_US"/>
+ <LC_OutLineNumberingLevel ref="en_US"/>
+</Locale>
diff --git a/i18npool/source/localedata/data/pl_PL.xml b/i18npool/source/localedata/data/pl_PL.xml
index 0249bab37616..f3f7ddca1b1b 100644
--- a/i18npool/source/localedata/data/pl_PL.xml
+++ b/i18npool/source/localedata/data/pl_PL.xml
@@ -71,6 +71,15 @@
<FormatElement msgid="FixedFormatskey6" default="false" type="medium" usage="FIXED_NUMBER" formatindex="5">
<FormatCode># ###,00</FormatCode>
</FormatElement>
+ <FormatElement msgid="FixedFormatskey9" default="false" type="medium" usage="FIXED_NUMBER" formatindex="101">
+ <FormatCode>[NatNum12 cardinal]0</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="FixedFormatskey10" default="false" type="medium" usage="FIXED_NUMBER" formatindex="102">
+ <FormatCode>[NatNum12 capitalize cardinal]0</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="FixedFormatskey12" default="false" type="medium" usage="FIXED_NUMBER" formatindex="104">
+ <FormatCode>[NatNum12 upper cardinal]0</FormatCode>
+ </FormatElement>
<FormatElement msgid="ScientificFormatskey1" default="false" type="medium" usage="SCIENTIFIC_NUMBER" formatindex="6">
<FormatCode>0,00E+000</FormatCode>
</FormatElement>
@@ -104,6 +113,18 @@
<FormatElement msgid="CurrencyFormatskey6" default="false" type="medium" usage="CURRENCY" formatindex="17">
<FormatCode># ##0,-- [CURRENCY];[RED]-# ##0,-- [CURRENCY]</FormatCode>
</FormatElement>
+ <FormatElement msgid="CurrencyFormatskey9" default="false" type="medium" usage="CURRENCY" formatindex="105">
+ <FormatCode>[NatNum12 CURRENCY]0</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="CurrencyFormatskey10" default="false" type="medium" usage="CURRENCY" formatindex="106">
+ <FormatCode>[NatNum12 CURRENCY]0,00</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="CurrencyFormatskey11" default="false" type="medium" usage="CURRENCY" formatindex="107">
+ <FormatCode>[NatNum12 upper CURRENCY]0</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="CurrencyFormatskey12" default="false" type="medium" usage="CURRENCY" formatindex="108">
+ <FormatCode>[NatNum12 upper CURRENCY]0,00</FormatCode>
+ </FormatElement>
<FormatElement msgid="DateFormatskey1" default="true" type="short" usage="DATE" formatindex="18">
<FormatCode>YY-M-D</FormatCode>
</FormatElement>
diff --git a/i18npool/source/localedata/data/plt_MG.xml b/i18npool/source/localedata/data/plt_MG.xml
index 36b8245e6f47..13b28c1cf759 100644
--- a/i18npool/source/localedata/data/plt_MG.xml
+++ b/i18npool/source/localedata/data/plt_MG.xml
@@ -366,16 +366,7 @@
<quarter4Abbreviation>Q4</quarter4Abbreviation>
</ReservedWords>
</LC_MISC>
- <LC_NumberingLevel>
- <NumberingLevel NumType="4" Prefix=" " Suffix=")"/>
- <NumberingLevel NumType="4" Prefix=" " Suffix="."/>
- <NumberingLevel NumType="4" Prefix="(" Suffix=")"/>
- <NumberingLevel NumType="2" Prefix=" " Suffix="."/>
- <NumberingLevel NumType="0" Prefix=" " Suffix=")"/>
- <NumberingLevel NumType="1" Prefix=" " Suffix=")"/>
- <NumberingLevel NumType="1" Prefix="(" Suffix=")"/>
- <NumberingLevel NumType="3" Prefix=" " Suffix="."/>
- </LC_NumberingLevel>
+ <LC_NumberingLevel ref="en_US"/>
<LC_OutLineNumberingLevel ref="en_US"/>
</Locale>
<!--Version 1.0 -->
diff --git a/i18npool/source/localedata/data/pt_AO.xml b/i18npool/source/localedata/data/pt_AO.xml
index 24d7bf2c1685..2ad917a1d622 100644
--- a/i18npool/source/localedata/data/pt_AO.xml
+++ b/i18npool/source/localedata/data/pt_AO.xml
@@ -53,14 +53,26 @@
</LC_CTYPE>
<LC_FORMAT>
<DateAcceptancePattern>D-M</DateAcceptancePattern>
+ <FormatElement msgid="CurrencyFormatskey9" default="false" type="medium" usage="CURRENCY" formatindex="105">
+ <FormatCode>[NatNum12 CURRENCY]0</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="CurrencyFormatskey10" default="false" type="medium" usage="CURRENCY" formatindex="106">
+ <FormatCode>[NatNum12 CURRENCY]0,00</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="CurrencyFormatskey11" default="false" type="medium" usage="CURRENCY" formatindex="107">
+ <FormatCode>[NatNum12 upper CURRENCY]0</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="CurrencyFormatskey12" default="false" type="medium" usage="CURRENCY" formatindex="108">
+ <FormatCode>[NatNum12 upper CURRENCY]0,00</FormatCode>
+ </FormatElement>
<FormatElement msgid="DateFormatskey1" default="true" type="short" usage="DATE" formatindex="18">
- <FormatCode>DD-MM-AAAA</FormatCode>
+ <FormatCode>DD-MM-YYYY</FormatCode>
</FormatElement>
<FormatElement msgid="DateFormatskey2" default="false" type="medium" usage="DATE" formatindex="28">
- <FormatCode>NN DD-MMM AA</FormatCode>
+ <FormatCode>NN DD-MMM YY</FormatCode>
</FormatElement>
<FormatElement msgid="DateFormatskey3" default="false" type="medium" usage="DATE" formatindex="34">
- <FormatCode>MM-AA</FormatCode>
+ <FormatCode>MM-YY</FormatCode>
</FormatElement>
<FormatElement msgid="DateFormatskey4" default="false" type="medium" usage="DATE" formatindex="35">
<FormatCode>DD-MMM</FormatCode>
@@ -69,49 +81,49 @@
<FormatCode>MMMM</FormatCode>
</FormatElement>
<FormatElement msgid="DateFormatskey6" default="false" type="medium" usage="DATE" formatindex="37">
- <FormatCode>QQ AA</FormatCode>
+ <FormatCode>QQ YY</FormatCode>
</FormatElement>
<FormatElement msgid="DateFormatskey7" default="false" type="medium" usage="DATE" formatindex="21">
- <FormatCode>DD-MM-AAAA</FormatCode>
+ <FormatCode>DD-MM-YYYY</FormatCode>
</FormatElement>
<FormatElement msgid="DateFormatskey8" default="true" type="medium" usage="DATE" formatindex="20">
- <FormatCode>DD-MM-AA</FormatCode>
+ <FormatCode>DD-MM-YY</FormatCode>
</FormatElement>
<FormatElement msgid="DateFormatskey9" default="true" type="long" usage="DATE" formatindex="19">
- <FormatCode>NNNND "de" MMMM "de" AAAA</FormatCode>
+ <FormatCode>NNNND "de" MMMM "de" YYYY</FormatCode>
</FormatElement>
<FormatElement msgid="DateFormatskey10" default="false" type="long" usage="DATE" formatindex="22">
- <FormatCode>D "de" MMM "de" AA</FormatCode>
+ <FormatCode>D "de" MMM "de" YY</FormatCode>
</FormatElement>
<FormatElement msgid="DateFormatskey11" default="false" type="long" usage="DATE" formatindex="23">
- <FormatCode>D "de" MMM "de" AAAA</FormatCode>
+ <FormatCode>D "de" MMM "de" YYYY</FormatCode>
</FormatElement>
<FormatElement msgid="DateFormatskey12" default="false" type="long" usage="DATE" formatindex="25">
- <FormatCode>D "de" MMMM "de" AAAA</FormatCode>
+ <FormatCode>D "de" MMMM "de" YYYY</FormatCode>
</FormatElement>
<FormatElement msgid="DateFormatskey13" default="false" type="long" usage="DATE" formatindex="27">
- <FormatCode>NN, D "de" MMM "de" AA</FormatCode>
+ <FormatCode>NN, D "de" MMM "de" YY</FormatCode>
</FormatElement>
<FormatElement msgid="DateFormatskey14" default="false" type="long" usage="DATE" formatindex="29">
- <FormatCode>NN, D "de" MMMM "de" AAAA</FormatCode>
+ <FormatCode>NN, D "de" MMMM "de" YYYY</FormatCode>
</FormatElement>
<FormatElement msgid="DateFormatskey15" default="false" type="long" usage="DATE" formatindex="30">
- <FormatCode>NNNND "de" MMMM "de" AAAA</FormatCode>
+ <FormatCode>NNNND "de" MMMM "de" YYYY</FormatCode>
</FormatElement>
<FormatElement msgid="DateFormatskey16" default="false" type="long" usage="DATE" formatindex="24">
- <FormatCode>D. MMM. AAAA</FormatCode>
+ <FormatCode>D. MMM. YYYY</FormatCode>
</FormatElement>
<FormatElement msgid="DateFormatskey17" default="false" type="long" usage="DATE" formatindex="26">
- <FormatCode>D. MMMM AAAA</FormatCode>
+ <FormatCode>D. MMMM YYYY</FormatCode>
</FormatElement>
<FormatElement msgid="DateFormatskey18" default="false" type="short" usage="DATE" formatindex="31">
<FormatCode>MM-DD</FormatCode>
</FormatElement>
<FormatElement msgid="DateFormatskey19" default="false" type="medium" usage="DATE" formatindex="32">
- <FormatCode>AA-MM-DD</FormatCode>
+ <FormatCode>YY-MM-DD</FormatCode>
</FormatElement>
<FormatElement msgid="DateFormatskey20" default="false" type="medium" usage="DATE" formatindex="33">
- <FormatCode>AAAA-MM-DD</FormatCode>
+ <FormatCode>YYYY-MM-DD</FormatCode>
<DefaultName>ISO 8601 (EN 28601)</DefaultName>
</FormatElement>
<FormatElement msgid="DateFormatskey21" default="false" type="medium" usage="DATE" formatindex="38">
@@ -139,13 +151,13 @@
<FormatCode>[HH]:MM:SS,00</FormatCode>
</FormatElement>
<FormatElement msgid="DateTimeFormatskey1" default="true" type="medium" usage="DATE_TIME" formatindex="46">
- <FormatCode>DD-MM-AA HH:MM</FormatCode>
+ <FormatCode>DD-MM-YY HH:MM</FormatCode>
</FormatElement>
<FormatElement msgid="DateTimeFormatskey2" default="false" type="medium" usage="DATE_TIME" formatindex="47">
- <FormatCode>DD-MM-AAAA HH:MM:SS</FormatCode>
+ <FormatCode>DD-MM-YYYY HH:MM:SS</FormatCode>
</FormatElement>
<FormatElement msgid="DateTimeFormatskey3" default="false" type="medium" usage="DATE_TIME" formatindex="50">
- <FormatCode>DD-MM-AAAA HH:MM</FormatCode>
+ <FormatCode>DD-MM-YYYY HH:MM</FormatCode>
</FormatElement>
<FormatElement msgid="FixedFormatskey1" default="true" type="medium" usage="FIXED_NUMBER" formatindex="0">
<FormatCode>Geral</FormatCode>
@@ -189,6 +201,15 @@
<FormatElement msgid="PercentFormatskey2" default="true" type="long" usage="PERCENT_NUMBER" formatindex="9">
<FormatCode>0,00%</FormatCode>
</FormatElement>
+ <FormatElement msgid="FixedFormatskey9" default="false" type="medium" usage="FIXED_NUMBER" formatindex="101">
+ <FormatCode>[NatNum12 cardinal]0</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="FixedFormatskey10" default="false" type="medium" usage="FIXED_NUMBER" formatindex="102">
+ <FormatCode>[NatNum12 capitalize cardinal]0</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="FixedFormatskey12" default="false" type="medium" usage="FIXED_NUMBER" formatindex="104">
+ <FormatCode>[NatNum12 upper cardinal]0</FormatCode>
+ </FormatElement>
<FormatElement msgid="ScientificFormatskey1" default="false" type="medium" usage="SCIENTIFIC_NUMBER" formatindex="6">
<FormatCode>0,00E+000</FormatCode>
</FormatElement>
diff --git a/i18npool/source/localedata/data/pt_BR.xml b/i18npool/source/localedata/data/pt_BR.xml
index 344c2cef4913..bb31d34bc15b 100644
--- a/i18npool/source/localedata/data/pt_BR.xml
+++ b/i18npool/source/localedata/data/pt_BR.xml
@@ -53,6 +53,18 @@
</LC_CTYPE>
<LC_FORMAT>
<DateAcceptancePattern>D/M</DateAcceptancePattern>
+ <FormatElement msgid="CurrencyFormatskey9" default="false" type="medium" usage="CURRENCY" formatindex="105">
+ <FormatCode>[NatNum12 CURRENCY]0</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="CurrencyFormatskey10" default="false" type="medium" usage="CURRENCY" formatindex="106">
+ <FormatCode>[NatNum12 CURRENCY]0,00</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="CurrencyFormatskey11" default="false" type="medium" usage="CURRENCY" formatindex="107">
+ <FormatCode>[NatNum12 upper CURRENCY]0</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="CurrencyFormatskey12" default="false" type="medium" usage="CURRENCY" formatindex="108">
+ <FormatCode>[NatNum12 upper CURRENCY]0,00</FormatCode>
+ </FormatElement>
<FormatElement msgid="DateFormatskey1" default="true" type="short" usage="DATE" formatindex="18">
<FormatCode>DD/MM/AA</FormatCode>
</FormatElement>
@@ -189,6 +201,15 @@
<FormatElement msgid="PercentFormatskey2" default="true" type="long" usage="PERCENT_NUMBER" formatindex="9">
<FormatCode>0,00%</FormatCode>
</FormatElement>
+ <FormatElement msgid="FixedFormatskey9" default="false" type="medium" usage="FIXED_NUMBER" formatindex="101">
+ <FormatCode>[NatNum12 cardinal]0</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="FixedFormatskey10" default="false" type="medium" usage="FIXED_NUMBER" formatindex="102">
+ <FormatCode>[NatNum12 capitalize cardinal]0</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="FixedFormatskey12" default="false" type="medium" usage="FIXED_NUMBER" formatindex="104">
+ <FormatCode>[NatNum12 upper cardinal]0</FormatCode>
+ </FormatElement>
<FormatElement msgid="ScientificFormatskey1" default="false" type="medium" usage="SCIENTIFIC_NUMBER" formatindex="6">
<FormatCode>0,00E+000</FormatCode>
</FormatElement>
diff --git a/i18npool/source/localedata/data/pt_MZ.xml b/i18npool/source/localedata/data/pt_MZ.xml
new file mode 100644
index 000000000000..db4ef6896ece
--- /dev/null
+++ b/i18npool/source/localedata/data/pt_MZ.xml
@@ -0,0 +1,282 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE Locale SYSTEM 'locale.dtd'>
+<!--
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+-->
+<Locale versionDTD="2.0.3" allowUpdateFromCLDR="no" version="1.2">
+ <LC_INFO>
+ <Language>
+ <LangID>pt</LangID>
+ <DefaultName>Portuguese</DefaultName>
+ </Language>
+ <Country>
+ <CountryID>MZ</CountryID>
+ <DefaultName>Mozambique</DefaultName>
+ </Country>
+ </LC_INFO>
+ <LC_CTYPE unoid="generic">
+ <Separators>
+ <DateSeparator>-</DateSeparator>
+ <ThousandSeparator> </ThousandSeparator>
+ <DecimalSeparator>,</DecimalSeparator>
+ <TimeSeparator>:</TimeSeparator>
+ <Time100SecSeparator>,</Time100SecSeparator>
+ <ListSeparator>;</ListSeparator>
+ <LongDateDayOfWeekSeparator>, </LongDateDayOfWeekSeparator>
+ <LongDateDaySeparator> de </LongDateDaySeparator>
+ <LongDateMonthSeparator> de </LongDateMonthSeparator>
+ <LongDateYearSeparator> </LongDateYearSeparator>
+ </Separators>
+ <Markers>
+ <QuotationStart>‘</QuotationStart>
+ <QuotationEnd>’</QuotationEnd>
+ <DoubleQuotationStart>“</DoubleQuotationStart>
+ <DoubleQuotationEnd>”</DoubleQuotationEnd>
+ </Markers>
+ <TimeAM>AM</TimeAM>
+ <TimePM>PM</TimePM>
+ <MeasurementSystem>Metric</MeasurementSystem>
+ </LC_CTYPE>
+ <LC_FORMAT replaceFrom="[CURRENCY]" replaceTo="[$MTn-8416]">
+ <DateAcceptancePattern>D-M</DateAcceptancePattern>
+ <FormatElement msgid="FixedFormatskey1" default="true" type="medium" usage="FIXED_NUMBER" formatindex="0">
+ <FormatCode>Geral</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="FixedFormatskey2" default="true" type="short" usage="FIXED_NUMBER" formatindex="1">
+ <FormatCode>0</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="FixedFormatskey3" default="false" type="medium" usage="FIXED_NUMBER" formatindex="2">
+ <FormatCode>0,00</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="FixedFormatskey4" default="false" type="short" usage="FIXED_NUMBER" formatindex="3">
+ <FormatCode># ##0</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="FixedFormatskey5" default="false" type="medium" usage="FIXED_NUMBER" formatindex="4">
+ <FormatCode># ##0,00</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="FixedFormatskey6" default="false" type="medium" usage="FIXED_NUMBER" formatindex="5">
+ <FormatCode># ###,00</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="FixedFormatskey9" default="false" type="medium" usage="FIXED_NUMBER" formatindex="101">
+ <FormatCode>[NatNum12 cardinal]0</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="FixedFormatskey10" default="false" type="medium" usage="FIXED_NUMBER" formatindex="102">
+ <FormatCode>[NatNum12 capitalize cardinal]0</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="FixedFormatskey12" default="false" type="medium" usage="FIXED_NUMBER" formatindex="104">
+ <FormatCode>[NatNum12 upper cardinal]0</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="ScientificFormatskey1" default="false" type="medium" usage="SCIENTIFIC_NUMBER" formatindex="6">
+ <FormatCode>0,00E+000</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="ScientificFormatskey2" default="true" type="medium" usage="SCIENTIFIC_NUMBER" formatindex="7">
+ <FormatCode>0,00E+00</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="ScientificFormatskey3" default="false" type="medium" usage="SCIENTIFIC_NUMBER" formatindex="84">
+ <FormatCode>##0,00E+00</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="PercentFormatskey1" default="true" type="short" usage="PERCENT_NUMBER" formatindex="8">
+ <FormatCode>0%</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="PercentFormatskey2" default="true" type="long" usage="PERCENT_NUMBER" formatindex="9">
+ <FormatCode>0,00%</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="CurrencyFormatskey1" default="true" type="short" usage="CURRENCY" formatindex="12">
+ <FormatCode># ##0 [CURRENCY];-# ##0 [CURRENCY]</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="CurrencyFormatskey2" default="false" type="medium" usage="CURRENCY" formatindex="13">
+ <FormatCode># ##0,00 [CURRENCY];-# ##0,00 [CURRENCY]</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="CurrencyFormatskey3" default="false" type="medium" usage="CURRENCY" formatindex="14">
+ <FormatCode># ##0 [CURRENCY];[RED]-# ##0 [CURRENCY]</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="CurrencyFormatskey4" default="true" type="medium" usage="CURRENCY" formatindex="15">
+ <FormatCode># ##0,00 [CURRENCY];[RED]-# ##0,00 [CURRENCY]</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="CurrencyFormatskey5" default="false" type="medium" usage="CURRENCY" formatindex="16">
+ <FormatCode># ##0,00 CCC</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="CurrencyFormatskey6" default="false" type="medium" usage="CURRENCY" formatindex="17">
+ <FormatCode># ##0,-- [CURRENCY];[RED]-# ##0,-- [CURRENCY]</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="CurrencyFormatskey9" default="false" type="medium" usage="CURRENCY" formatindex="105">
+ <FormatCode>[NatNum12 CURRENCY]0</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="CurrencyFormatskey10" default="false" type="medium" usage="CURRENCY" formatindex="106">
+ <FormatCode>[NatNum12 CURRENCY]0,00</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="CurrencyFormatskey11" default="false" type="medium" usage="CURRENCY" formatindex="107">
+ <FormatCode>[NatNum12 upper CURRENCY]0</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="CurrencyFormatskey12" default="false" type="medium" usage="CURRENCY" formatindex="108">
+ <FormatCode>[NatNum12 upper CURRENCY]0,00</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="DateFormatskey1" default="true" type="short" usage="DATE" formatindex="18">
+ <FormatCode>DD-MM-YYYY</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="DateFormatskey9" default="true" type="long" usage="DATE" formatindex="19">
+ <FormatCode>NNNND "de" MMMM "de" YYYY</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="DateFormatskey8" default="false" type="medium" usage="DATE" formatindex="20">
+ <FormatCode>DD-MM-YY</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="DateFormatskey7" default="true" type="medium" usage="DATE" formatindex="21">
+ <FormatCode>DD-MM-YYYY</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="DateFormatskey10" default="false" type="long" usage="DATE" formatindex="22">
+ <FormatCode>D "de" MMM "de" YY</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="DateFormatskey11" default="false" type="long" usage="DATE" formatindex="23">
+ <FormatCode>D "de" MMM "de" YYYY</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="DateFormatskey16" default="false" type="long" usage="DATE" formatindex="24">
+ <FormatCode>D. MMM "de" YYYY</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="DateFormatskey12" default="false" type="long" usage="DATE" formatindex="25">
+ <FormatCode>D "de" MMMM "de" YYYY</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="DateFormatskey17" default="false" type="long" usage="DATE" formatindex="26">
+ <FormatCode>D. MMMM "de" YYYY</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="DateFormatskey13" default="false" type="long" usage="DATE" formatindex="27">
+ <FormatCode>NN, D "de" MMM "de" YY</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="DateFormatskey2" default="false" type="medium" usage="DATE" formatindex="28">
+ <FormatCode>NN, DD-MMM-YY</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="DateFormatskey14" default="false" type="long" usage="DATE" formatindex="29">
+ <FormatCode>NN, D "de" MMMM "de" YYYY</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="DateFormatskey15" default="false" type="long" usage="DATE" formatindex="30">
+ <FormatCode>NNNND "de" MMMM "de" YYYY</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="DateFormatskey18" default="false" type="short" usage="DATE" formatindex="31">
+ <FormatCode>MM-DD</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="DateFormatskey19" default="false" type="medium" usage="DATE" formatindex="32">
+ <FormatCode>YY-MM-DD</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="DateFormatskey20" default="false" type="medium" usage="DATE" formatindex="33">
+ <FormatCode>YYYY-MM-DD</FormatCode>
+ <DefaultName>ISO 8601 (EN 28601)</DefaultName>
+ </FormatElement>
+ <FormatElement msgid="DateFormatskey3" default="false" type="medium" usage="DATE" formatindex="34">
+ <FormatCode>MM-YY</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="DateFormatskey4" default="false" type="medium" usage="DATE" formatindex="35">
+ <FormatCode>DD-MMM</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="DateFormatskey5" default="false" type="medium" usage="DATE" formatindex="36">
+ <FormatCode>MMMM</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="DateFormatskey6" default="false" type="medium" usage="DATE" formatindex="37">
+ <FormatCode>QQ "de" YY</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="DateFormatskey21" default="false" type="medium" usage="DATE" formatindex="38">
+ <FormatCode>WW</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="DateFormatskey22" default="false" type="medium" usage="DATE" formatindex="66">
+ <FormatCode>QQ "de" YYYY</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="DateFormatskey23" default="false" type="medium" usage="DATE" formatindex="67">
+ <FormatCode>Q "de" YY</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="DateFormatskey24" default="false" type="medium" usage="DATE" formatindex="68">
+ <FormatCode>Q "de" YYYY</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="DateFormatskey25" default="false" type="medium" usage="DATE" formatindex="69">
+ <FormatCode>DD-MMM-YY</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="DateFormatskey26" default="false" type="medium" usage="DATE" formatindex="70">
+ <FormatCode>DD-MMM-YYYY</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="DateFormatskey27" default="false" type="medium" usage="DATE" formatindex="72">
+ <FormatCode>MMMM-YYYY</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="DateFormatskey28" default="false" type="medium" usage="DATE" formatindex="73">
+ <FormatCode>MMM-YYYY</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="DateFormatskey29" default="false" type="medium" usage="DATE" formatindex="74">
+ <FormatCode>MMMM-YY</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="DateFormatskey30" default="false" type="medium" usage="DATE" formatindex="75">
+ <FormatCode>MMM-YY</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="DateFormatskey31" default="false" type="medium" usage="DATE" formatindex="76">
+ <FormatCode>D-MMMM-YYYY</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="DateFormatskey32" default="false" type="medium" usage="DATE" formatindex="77">
+ <FormatCode>D-MMMM-YY</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="DateFormatskey33" default="false" type="long" usage="DATE" formatindex="78">
+ <FormatCode>MMMM "de" YYYY</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="DateFormatskey34" default="false" type="long" usage="DATE" formatindex="79">
+ <FormatCode>MMM "de" YYYY</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="TimeFormatskey1" default="true" type="short" usage="TIME" formatindex="39">
+ <FormatCode>HH:MM</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="TimeFormatskey2" default="true" type="medium" usage="TIME" formatindex="40">
+ <FormatCode>HH:MM:SS</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="TimeFormatskey3" default="false" type="short" usage="TIME" formatindex="41">
+ <FormatCode>HH:MM AM/PM</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="TimeFormatskey4" default="false" type="medium" usage="TIME" formatindex="42">
+ <FormatCode>HH:MM:SS AM/PM</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="TimeFormatskey5" default="false" type="medium" usage="TIME" formatindex="43">
+ <FormatCode>[HH]:MM:SS</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="TimeFormatskey6" default="false" type="short" usage="TIME" formatindex="44">
+ <FormatCode>MM:SS,00</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="TimeFormatskey7" default="false" type="medium" usage="TIME" formatindex="45">
+ <FormatCode>[HH]:MM:SS,00</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="DateTimeFormatskey1" default="true" type="medium" usage="DATE_TIME" formatindex="46">
+ <FormatCode>DD-MM-YY HH:MM</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="DateTimeFormatskey2" default="false" type="medium" usage="DATE_TIME" formatindex="47">
+ <FormatCode>DD-MM-YYYY HH:MM:SS</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="DateTimeFormatskey3" default="false" type="medium" usage="DATE_TIME" formatindex="50">
+ <FormatCode>DD-MM-YYYY HH:MM</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="DateTimeFormatskey4" default="false" type="medium" usage="DATE_TIME" formatindex="71">
+ <FormatCode>YYYY-MM-DD HH:MM</FormatCode>
+ </FormatElement>
+ </LC_FORMAT>
+ <LC_COLLATION ref="pt_PT"/>
+ <LC_SEARCH ref="pt_PT"/>
+ <LC_INDEX ref="pt_PT"/>
+ <LC_CALENDAR ref="pt_PT"/>
+ <LC_CURRENCY>
+ <Currency default="true" usedInCompatibleFormatCodes="true">
+ <CurrencyID>MZN</CurrencyID>
+ <CurrencySymbol>MTn</CurrencySymbol>
+ <BankSymbol>MZN</BankSymbol>
+ <CurrencyName>metical moçambicano</CurrencyName>
+ <DecimalPlaces>2</DecimalPlaces>
+ </Currency>
+ </LC_CURRENCY>
+ <LC_TRANSLITERATION ref="pt_PT"/>
+ <LC_MISC ref="pt_PT"/>
+ <LC_NumberingLevel ref="pt_PT"/>
+ <LC_OutLineNumberingLevel ref="pt_PT"/>
+</Locale>
diff --git a/i18npool/source/localedata/data/pt_PT.xml b/i18npool/source/localedata/data/pt_PT.xml
index 1aab8a2dee7b..3d6d1a8c7662 100644
--- a/i18npool/source/localedata/data/pt_PT.xml
+++ b/i18npool/source/localedata/data/pt_PT.xml
@@ -53,6 +53,18 @@
</LC_CTYPE>
<LC_FORMAT replaceFrom="[CURRENCY]" replaceTo="[$$-816]">
<DateAcceptancePattern>D-M</DateAcceptancePattern>
+ <FormatElement msgid="CurrencyFormatskey9" default="false" type="medium" usage="CURRENCY" formatindex="105">
+ <FormatCode>[NatNum12 CURRENCY]0</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="CurrencyFormatskey10" default="false" type="medium" usage="CURRENCY" formatindex="106">
+ <FormatCode>[NatNum12 CURRENCY]0,00</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="CurrencyFormatskey11" default="false" type="medium" usage="CURRENCY" formatindex="107">
+ <FormatCode>[NatNum12 upper CURRENCY]0</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="CurrencyFormatskey12" default="false" type="medium" usage="CURRENCY" formatindex="108">
+ <FormatCode>[NatNum12 upper CURRENCY]0,00</FormatCode>
+ </FormatElement>
<FormatElement msgid="DateFormatskey1" default="true" type="short" usage="DATE" formatindex="18">
<FormatCode>DD-MM-AAAA</FormatCode>
</FormatElement>
@@ -231,6 +243,15 @@
<FormatElement msgid="PercentFormatskey2" default="true" type="long" usage="PERCENT_NUMBER" formatindex="9">
<FormatCode>0,00%</FormatCode>
</FormatElement>
+ <FormatElement msgid="FixedFormatskey9" default="false" type="medium" usage="FIXED_NUMBER" formatindex="101">
+ <FormatCode>[NatNum12 cardinal]0</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="FixedFormatskey10" default="false" type="medium" usage="FIXED_NUMBER" formatindex="102">
+ <FormatCode>[NatNum12 capitalize cardinal]0</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="FixedFormatskey12" default="false" type="medium" usage="FIXED_NUMBER" formatindex="104">
+ <FormatCode>[NatNum12 upper cardinal]0</FormatCode>
+ </FormatElement>
<FormatElement msgid="ScientificFormatskey1" default="false" type="medium" usage="SCIENTIFIC_NUMBER" formatindex="6">
<FormatCode>0,00E+000</FormatCode>
</FormatElement>
diff --git a/i18npool/source/localedata/data/ro_RO.xml b/i18npool/source/localedata/data/ro_RO.xml
index 928f4cd59daa..b1559e312152 100644
--- a/i18npool/source/localedata/data/ro_RO.xml
+++ b/i18npool/source/localedata/data/ro_RO.xml
@@ -53,6 +53,18 @@
</LC_CTYPE>
<LC_FORMAT>
<DateAcceptancePattern>D.M</DateAcceptancePattern>
+ <FormatElement msgid="CurrencyFormatskey9" default="false" type="medium" usage="CURRENCY" formatindex="105">
+ <FormatCode>[NatNum12 CURRENCY]0</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="CurrencyFormatskey10" default="false" type="medium" usage="CURRENCY" formatindex="106">
+ <FormatCode>[NatNum12 CURRENCY]0.00</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="CurrencyFormatskey11" default="false" type="medium" usage="CURRENCY" formatindex="107">
+ <FormatCode>[NatNum12 upper CURRENCY]0</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="CurrencyFormatskey12" default="false" type="medium" usage="CURRENCY" formatindex="108">
+ <FormatCode>[NatNum12 upper CURRENCY]0.00</FormatCode>
+ </FormatElement>
<FormatElement msgid="DateFormatskey1" default="true" type="short" usage="DATE" formatindex="18">
<FormatCode>DD.MM.YYYY</FormatCode>
</FormatElement>
@@ -189,6 +201,15 @@
<FormatElement msgid="PercentFormatskey2" default="true" type="long" usage="PERCENT_NUMBER" formatindex="9">
<FormatCode>0,00" "%</FormatCode>
</FormatElement>
+ <FormatElement msgid="FixedFormatskey9" default="false" type="medium" usage="FIXED_NUMBER" formatindex="101">
+ <FormatCode>[NatNum12 cardinal]0</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="FixedFormatskey10" default="false" type="medium" usage="FIXED_NUMBER" formatindex="102">
+ <FormatCode>[NatNum12 capitalize cardinal]0</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="FixedFormatskey12" default="false" type="medium" usage="FIXED_NUMBER" formatindex="104">
+ <FormatCode>[NatNum12 upper cardinal]0</FormatCode>
+ </FormatElement>
<FormatElement msgid="ScientificFormatskey1" default="false" type="medium" usage="SCIENTIFIC_NUMBER" formatindex="6">
<FormatCode>0,00E+000</FormatCode>
</FormatElement>
diff --git a/i18npool/source/localedata/data/ru_RU.xml b/i18npool/source/localedata/data/ru_RU.xml
index 594731af3e1f..991a50d1df94 100644
--- a/i18npool/source/localedata/data/ru_RU.xml
+++ b/i18npool/source/localedata/data/ru_RU.xml
@@ -72,6 +72,15 @@
<FormatElement msgid="FixedFormatskey6" default="false" type="medium" usage="FIXED_NUMBER" formatindex="5">
<FormatCode># ###,00</FormatCode>
</FormatElement>
+ <FormatElement msgid="FixedFormatskey9" default="false" type="medium" usage="FIXED_NUMBER" formatindex="101">
+ <FormatCode>[NatNum12 cardinal]0</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="FixedFormatskey10" default="false" type="medium" usage="FIXED_NUMBER" formatindex="102">
+ <FormatCode>[NatNum12 capitalize cardinal]0</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="FixedFormatskey12" default="false" type="medium" usage="FIXED_NUMBER" formatindex="104">
+ <FormatCode>[NatNum12 upper cardinal]0</FormatCode>
+ </FormatElement>
<FormatElement msgid="ScientificFormatskey1" default="false" type="medium" usage="SCIENTIFIC_NUMBER" formatindex="6">
<FormatCode>0,00E+000</FormatCode>
</FormatElement>
@@ -105,6 +114,18 @@
<FormatElement msgid="CurrencyFormatskey6" default="false" type="medium" usage="CURRENCY" formatindex="17">
<FormatCode># ##0,-- [CURRENCY];[RED]-# ##0,-- [CURRENCY]</FormatCode>
</FormatElement>
+ <FormatElement msgid="CurrencyFormatskey9" default="false" type="medium" usage="CURRENCY" formatindex="105">
+ <FormatCode>[NatNum12 CURRENCY]0</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="CurrencyFormatskey10" default="false" type="medium" usage="CURRENCY" formatindex="106">
+ <FormatCode>[NatNum12 CURRENCY]0,00</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="CurrencyFormatskey11" default="false" type="medium" usage="CURRENCY" formatindex="107">
+ <FormatCode>[NatNum12 upper CURRENCY]0</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="CurrencyFormatskey12" default="false" type="medium" usage="CURRENCY" formatindex="108">
+ <FormatCode>[NatNum12 upper CURRENCY]0,00</FormatCode>
+ </FormatElement>
<FormatElement msgid="DateFormatskey1" default="true" type="short" usage="DATE" formatindex="18">
<FormatCode>D.M.YY</FormatCode>
</FormatElement>
diff --git a/i18npool/source/localedata/data/rue_SK.xml b/i18npool/source/localedata/data/rue_SK.xml
index 004ab4c7168a..6ac11970a167 100644
--- a/i18npool/source/localedata/data/rue_SK.xml
+++ b/i18npool/source/localedata/data/rue_SK.xml
@@ -367,16 +367,7 @@
<quarter4Abbreviation>4.чет.</quarter4Abbreviation>
</ReservedWords>
</LC_MISC>
- <LC_NumberingLevel>
- <NumberingLevel NumType="4" Prefix=" " Suffix=")"/>
- <NumberingLevel NumType="4" Prefix=" " Suffix="."/>
- <NumberingLevel NumType="4" Prefix="(" Suffix=")"/>
- <NumberingLevel NumType="2" Prefix=" " Suffix="."/>
- <NumberingLevel NumType="0" Prefix=" " Suffix=")"/>
- <NumberingLevel NumType="1" Prefix=" " Suffix=")"/>
- <NumberingLevel NumType="1" Prefix="(" Suffix=")"/>
- <NumberingLevel NumType="3" Prefix=" " Suffix="."/>
- </LC_NumberingLevel>
+ <LC_NumberingLevel ref="en_US"/>
<LC_OutLineNumberingLevel ref="en_US"/>
</Locale>
<!--Version 1.0 -->
diff --git a/i18npool/source/localedata/data/sat_IN.xml b/i18npool/source/localedata/data/sat_IN.xml
new file mode 100644
index 000000000000..8291dbfd534f
--- /dev/null
+++ b/i18npool/source/localedata/data/sat_IN.xml
@@ -0,0 +1,180 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE Locale SYSTEM 'locale.dtd'>
+<!--
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ -->
+<Locale versionDTD="2.0.3" allowUpdateFromCLDR="no" version="1.2">
+ <LC_INFO>
+ <Language>
+ <LangID>sat</LangID>
+ <DefaultName>Santali</DefaultName>
+ </Language>
+ <Country>
+ <CountryID>IN</CountryID>
+ <DefaultName>India</DefaultName>
+ </Country>
+ </LC_INFO>
+ <LC_CTYPE ref="hi_IN"/>
+ <LC_FORMAT ref="hi_IN" replaceFrom="[CURRENCY]" replaceTo="[$₹-646]"/>
+ <LC_COLLATION ref="hi_IN"/>
+ <LC_SEARCH ref="hi_IN"/>
+ <LC_INDEX>
+ <IndexKey unoid="alphanumeric" default="true" phonetic="false">ᱚ-ᱷ</IndexKey>
+ <UnicodeScript>14</UnicodeScript> <!-- Wrong Devanagari; but published enum UnicodeScript does not have Ol Chiki -->
+ <FollowPageWord>p.</FollowPageWord>
+ <FollowPageWord>pp.</FollowPageWord>
+ </LC_INDEX>
+ <LC_CALENDAR>
+ <Calendar unoid="gregorian" default="true">
+ <DaysOfWeek>
+ <Day>
+ <DayID>sun</DayID>
+ <DefaultAbbrvName>ᱥᱤᱸ</DefaultAbbrvName>
+ <DefaultFullName>ᱥᱤᱸᱜᱮ</DefaultFullName>
+ </Day>
+ <Day>
+ <DayID>mon</DayID>
+ <DefaultAbbrvName>ᱚᱛ</DefaultAbbrvName>
+ <DefaultFullName>ᱚᱛᱮ</DefaultFullName>
+ </Day>
+ <Day>
+ <DayID>tue</DayID>
+ <DefaultAbbrvName>ᱵᱟ</DefaultAbbrvName>
+ <DefaultFullName>ᱵᱟᱞᱮ</DefaultFullName>
+ </Day>
+ <Day>
+ <DayID>wed</DayID>
+ <DefaultAbbrvName>ᱥᱟᱹᱜ</DefaultAbbrvName>
+ <DefaultFullName>ᱥᱟᱹᱜᱩᱱ</DefaultFullName>
+ </Day>
+ <Day>
+ <DayID>thu</DayID>
+ <DefaultAbbrvName>ᱥᱟᱹᱨ</DefaultAbbrvName>
+ <DefaultFullName>ᱥᱟᱹᱨᱫᱤ</DefaultFullName>
+ </Day>
+ <Day>
+ <DayID>fri</DayID>
+ <DefaultAbbrvName>ᱡᱟᱹᱨ</DefaultAbbrvName>
+ <DefaultFullName>ᱡᱟᱹᱨᱩᱢ</DefaultFullName>
+ </Day>
+ <Day>
+ <DayID>sat</DayID>
+ <DefaultAbbrvName>ᱧᱩᱦ</DefaultAbbrvName>
+ <DefaultFullName>ᱧᱩᱦᱩᱢ</DefaultFullName>
+ </Day>
+ </DaysOfWeek>
+ <MonthsOfYear>
+ <Month>
+ <MonthID>jan</MonthID>
+ <DefaultAbbrvName>ᱢᱟᱜᱽ</DefaultAbbrvName>
+ <DefaultFullName>ᱢᱟᱜᱽ</DefaultFullName>
+ </Month>
+ <Month>
+ <MonthID>feb</MonthID>
+ <DefaultAbbrvName>ᱯᱷᱟ.ᱜᱩᱱ</DefaultAbbrvName>
+ <DefaultFullName>ᱯᱷᱟ.ᱜᱩᱱ</DefaultFullName>
+ </Month>
+ <Month>
+ <MonthID>mar</MonthID>
+ <DefaultAbbrvName>ᱪᱟ.ᱛ</DefaultAbbrvName>
+ <DefaultFullName>ᱪᱟ.ᱛ</DefaultFullName>
+ </Month>
+ <Month>
+ <MonthID>apr</MonthID>
+ <DefaultAbbrvName>ᱵᱟ.ᱭᱥᱟ.ᱠ</DefaultAbbrvName>
+ <DefaultFullName>ᱵᱟ.ᱭᱥᱟ.ᱠ</DefaultFullName>
+ </Month>
+ <Month>
+ <MonthID>may</MonthID>
+ <DefaultAbbrvName>ᱡᱷᱮᱸᱴ</DefaultAbbrvName>
+ <DefaultFullName>ᱡᱷᱮᱸᱴ</DefaultFullName>
+ </Month>
+ <Month>
+ <MonthID>jun</MonthID>
+ <DefaultAbbrvName>ᱟᱥᱟᱲ</DefaultAbbrvName>
+ <DefaultFullName>ᱟᱥᱟᱲ</DefaultFullName>
+ </Month>
+ <Month>
+ <MonthID>jul</MonthID>
+ <DefaultAbbrvName>ᱥᱟᱱ</DefaultAbbrvName>
+ <DefaultFullName>ᱥᱟᱱ</DefaultFullName>
+ </Month>
+ <Month>
+ <MonthID>aug</MonthID>
+ <DefaultAbbrvName>ᱵᱷᱟᱫᱚᱨ</DefaultAbbrvName>
+ <DefaultFullName>ᱵᱷᱟᱫᱚᱨ</DefaultFullName>
+ </Month>
+ <Month>
+ <MonthID>sep</MonthID>
+ <DefaultAbbrvName>ᱫᱟᱥᱟᱸᱭ</DefaultAbbrvName>
+ <DefaultFullName>ᱫᱟᱥᱟᱸᱭ</DefaultFullName>
+ </Month>
+ <Month>
+ <MonthID>oct</MonthID>
+ <DefaultAbbrvName>ᱥᱚᱦᱨᱟᱭ</DefaultAbbrvName>
+ <DefaultFullName>ᱥᱚᱦᱨᱟᱭ</DefaultFullName>
+ </Month>
+ <Month>
+ <MonthID>nov</MonthID>
+ <DefaultAbbrvName>ᱟᱜᱷᱟᱬ</DefaultAbbrvName>
+ <DefaultFullName>ᱟᱜᱷᱟᱬ</DefaultFullName>
+ </Month>
+ <Month>
+ <MonthID>dec</MonthID>
+ <DefaultAbbrvName>ᱯᱩᱥ</DefaultAbbrvName>
+ <DefaultFullName>ᱯᱩᱥ</DefaultFullName>
+ </Month>
+ </MonthsOfYear>
+ <Eras>
+ <Era>
+ <EraID>bc</EraID>
+ <DefaultAbbrvName>ᱡᱤ ᱢᱟ</DefaultAbbrvName>
+ <DefaultFullName>ᱡᱤᱥᱩ ᱢᱟᱲᱟᱝ</DefaultFullName>
+ </Era>
+ <Era>
+ <EraID>ad</EraID>
+ <DefaultAbbrvName>ᱥᱚᱱ</DefaultAbbrvName>
+ <DefaultFullName>ᱥᱚᱱ</DefaultFullName>
+ </Era>
+ </Eras>
+ <StartDayOfWeek>
+ <DayID>sun</DayID>
+ </StartDayOfWeek>
+ <MinimalDaysInFirstWeek>1</MinimalDaysInFirstWeek>
+ </Calendar>
+ </LC_CALENDAR>
+ <LC_CURRENCY ref="hi_IN"/>
+ <LC_TRANSLITERATION ref="hi_IN"/>
+ <LC_MISC>
+ <ReservedWords>
+ <trueWord>ᱥᱟᱹᱨᱤ</trueWord>
+ <falseWord>ᱵᱷᱩᱞ</falseWord>
+ <quarter1Word>ᱯᱩᱭᱞᱩ ᱯᱮ ᱪᱟᱸᱫᱚ</quarter1Word>
+ <quarter2Word>ᱫᱚᱥᱟᱨ ᱯᱮ ᱪᱟᱸᱫᱚ</quarter2Word>
+ <quarter3Word>ᱛᱮᱥᱟᱨ ᱯᱮ ᱪᱟᱸᱫᱚ</quarter3Word>
+ <quarter4Word>ᱯᱩᱱᱟᱹᱜ ᱯᱮ ᱪᱟᱸᱫᱚ</quarter4Word>
+ <aboveWord>ᱪᱮᱛᱟᱱ</aboveWord>
+ <belowWord>ᱞᱟᱛᱟᱨ</belowWord>
+ <quarter1Abbreviation>Q1</quarter1Abbreviation>
+ <quarter2Abbreviation>Q2</quarter2Abbreviation>
+ <quarter3Abbreviation>Q3</quarter3Abbreviation>
+ <quarter4Abbreviation>Q4</quarter4Abbreviation>
+ </ReservedWords>
+ </LC_MISC>
+ <LC_NumberingLevel ref="hi_IN"/>
+ <LC_OutLineNumberingLevel ref="hi_IN"/>
+</Locale>
diff --git a/i18npool/source/localedata/data/sc_IT.xml b/i18npool/source/localedata/data/sc_IT.xml
index 94f3892f4f26..1b920f5d87c9 100644
--- a/i18npool/source/localedata/data/sc_IT.xml
+++ b/i18npool/source/localedata/data/sc_IT.xml
@@ -366,16 +366,7 @@
<quarter4Abbreviation>C.tu 4</quarter4Abbreviation>
</ReservedWords>
</LC_MISC>
- <LC_NumberingLevel>
- <NumberingLevel NumType="4" Prefix=" " Suffix=")"/>
- <NumberingLevel NumType="4" Prefix=" " Suffix="."/>
- <NumberingLevel NumType="4" Prefix="(" Suffix=")"/>
- <NumberingLevel NumType="2" Prefix=" " Suffix="."/>
- <NumberingLevel NumType="0" Prefix=" " Suffix=")"/>
- <NumberingLevel NumType="1" Prefix=" " Suffix=")"/>
- <NumberingLevel NumType="1" Prefix="(" Suffix=")"/>
- <NumberingLevel NumType="3" Prefix=" " Suffix="."/>
- </LC_NumberingLevel>
+ <LC_NumberingLevel ref="en_US"/>
<LC_OutLineNumberingLevel ref="en_US"/>
</Locale>
<!--Version 1.0 -->
diff --git a/i18npool/source/localedata/data/sg_CF.xml b/i18npool/source/localedata/data/sg_CF.xml
index c9fb686e93a7..5604ea48611f 100644
--- a/i18npool/source/localedata/data/sg_CF.xml
+++ b/i18npool/source/localedata/data/sg_CF.xml
@@ -369,16 +369,7 @@
<quarter4Abbreviation>4-Nzetâ</quarter4Abbreviation>
</ReservedWords>
</LC_MISC>
- <LC_NumberingLevel>
- <NumberingLevel NumType="4" Prefix=" " Suffix=")"/>
- <NumberingLevel NumType="4" Prefix=" " Suffix="."/>
- <NumberingLevel NumType="4" Prefix="(" Suffix=")"/>
- <NumberingLevel NumType="2" Prefix=" " Suffix="."/>
- <NumberingLevel NumType="0" Prefix=" " Suffix=")"/>
- <NumberingLevel NumType="1" Prefix=" " Suffix=")"/>
- <NumberingLevel NumType="1" Prefix="(" Suffix=")"/>
- <NumberingLevel NumType="3" Prefix=" " Suffix="."/>
- </LC_NumberingLevel>
+ <LC_NumberingLevel ref="en_US"/>
<LC_OutLineNumberingLevel ref="en_US"/>
</Locale>
<!--Version 1.0 -->
diff --git a/i18npool/source/localedata/data/shs_CA.xml b/i18npool/source/localedata/data/shs_CA.xml
index b98f19b44366..fffbcf99b1a3 100644
--- a/i18npool/source/localedata/data/shs_CA.xml
+++ b/i18npool/source/localedata/data/shs_CA.xml
@@ -371,72 +371,6 @@
<quarter4Abbreviation>Q4</quarter4Abbreviation>
</ReservedWords>
</LC_MISC>
- <LC_NumberingLevel>
- <NumberingLevel NumType="4" Prefix=" " Suffix=")"/>
- <NumberingLevel NumType="4" Prefix=" " Suffix="."/>
- <NumberingLevel NumType="4" Prefix="(" Suffix=")"/>
- <NumberingLevel NumType="2" Prefix=" " Suffix="."/>
- <NumberingLevel NumType="0" Prefix=" " Suffix=")"/>
- <NumberingLevel NumType="1" Prefix=" " Suffix=")"/>
- <NumberingLevel NumType="1" Prefix="(" Suffix=")"/>
- <NumberingLevel NumType="3" Prefix=" " Suffix="."/>
- </LC_NumberingLevel>
- <LC_OutLineNumberingLevel>
- <OutlineStyle>
- <OutLineNumberingLevel Prefix=" " NumType="4" Suffix="." BulletChar="0020" BulletFontName="" ParentNumbering="0" LeftMargin="0" SymbolTextDistance="50" FirstLineOffset="0"/>
- <OutLineNumberingLevel Prefix=" " NumType="4" Suffix="." BulletChar="0020" BulletFontName="" ParentNumbering="1" LeftMargin="50" SymbolTextDistance="50" FirstLineOffset="0"/>
- <OutLineNumberingLevel Prefix=" " NumType="1" Suffix=")" BulletChar="0020" BulletFontName="" ParentNumbering="0" LeftMargin="100" SymbolTextDistance="50" FirstLineOffset="0"/>
- <OutLineNumberingLevel Prefix=" " NumType="6" Suffix=" " BulletChar="2022" BulletFontName="StarSymbol" ParentNumbering="0" LeftMargin="150" SymbolTextDistance="50" FirstLineOffset="0"/>
- <OutLineNumberingLevel Prefix=" " NumType="6" Suffix=" " BulletChar="2022" BulletFontName="StarSymbol" ParentNumbering="0" LeftMargin="200" SymbolTextDistance="50" FirstLineOffset="0"/>
- </OutlineStyle>
- <OutlineStyle>
- <OutLineNumberingLevel Prefix=" " NumType="4" Suffix="." BulletChar="0020" BulletFontName="" ParentNumbering="0" LeftMargin="0" SymbolTextDistance="50" FirstLineOffset="0"/>
- <OutLineNumberingLevel Prefix=" " NumType="1" Suffix=")" BulletChar="0020" BulletFontName="" ParentNumbering="0" LeftMargin="50" SymbolTextDistance="50" FirstLineOffset="0"/>
- <OutLineNumberingLevel Prefix=" " NumType="6" Suffix=" " BulletChar="2022" BulletFontName="StarSymbol" ParentNumbering="0" LeftMargin="100" SymbolTextDistance="50" FirstLineOffset="0"/>
- <OutLineNumberingLevel Prefix=" " NumType="6" Suffix=" " BulletChar="2022" BulletFontName="StarSymbol" ParentNumbering="0" LeftMargin="150" SymbolTextDistance="50" FirstLineOffset="0"/>
- <OutLineNumberingLevel Prefix=" " NumType="6" Suffix=" " BulletChar="2022" BulletFontName="StarSymbol" ParentNumbering="0" LeftMargin="200" SymbolTextDistance="50" FirstLineOffset="0"/>
- </OutlineStyle>
- <OutlineStyle>
- <OutLineNumberingLevel Prefix=" " NumType="4" Suffix="." BulletChar="0020" BulletFontName="" ParentNumbering="0" LeftMargin="0" SymbolTextDistance="50" FirstLineOffset="0"/>
- <OutLineNumberingLevel Prefix="(" NumType="1" Suffix=")" BulletChar="0020" BulletFontName="" ParentNumbering="0" LeftMargin="50" SymbolTextDistance="50" FirstLineOffset="0"/>
- <OutLineNumberingLevel Prefix=" " NumType="3" Suffix="." BulletChar="0020" BulletFontName="" ParentNumbering="0" LeftMargin="100" SymbolTextDistance="50" FirstLineOffset="0"/>
- <OutLineNumberingLevel Prefix=" " NumType="0" Suffix="." BulletChar="0020" BulletFontName="" ParentNumbering="0" LeftMargin="150" SymbolTextDistance="50" FirstLineOffset="0"/>
- <OutLineNumberingLevel Prefix=" " NumType="6" Suffix="." BulletChar="2022" BulletFontName="StarSymbol" ParentNumbering="0" LeftMargin="200" SymbolTextDistance="50" FirstLineOffset="0"/>
- </OutlineStyle>
- <OutlineStyle>
- <OutLineNumberingLevel Prefix=" " NumType="4" Suffix="." BulletChar="0020" BulletFontName="" ParentNumbering="0" LeftMargin="0" SymbolTextDistance="50" FirstLineOffset="0"/>
- <OutLineNumberingLevel Prefix=" " NumType="4" Suffix="." BulletChar="0020" BulletFontName="" ParentNumbering="0" LeftMargin="50" SymbolTextDistance="50" FirstLineOffset="0"/>
- <OutLineNumberingLevel Prefix=" " NumType="4" Suffix="." BulletChar="0020" BulletFontName="" ParentNumbering="0" LeftMargin="100" SymbolTextDistance="50" FirstLineOffset="0"/>
- <OutLineNumberingLevel Prefix=" " NumType="4" Suffix="." BulletChar="0020" BulletFontName="" ParentNumbering="0" LeftMargin="150" SymbolTextDistance="50" FirstLineOffset="0"/>
- <OutLineNumberingLevel Prefix=" " NumType="4" Suffix="." BulletChar="0020" BulletFontName="" ParentNumbering="0" LeftMargin="200" SymbolTextDistance="50" FirstLineOffset="0"/>
- </OutlineStyle>
- <OutlineStyle>
- <OutLineNumberingLevel Prefix=" " NumType="2" Suffix="." BulletChar="0020" BulletFontName="" ParentNumbering="0" LeftMargin="0" SymbolTextDistance="50" FirstLineOffset="0"/>
- <OutLineNumberingLevel Prefix=" " NumType="0" Suffix="." BulletChar="0020" BulletFontName="" ParentNumbering="0" LeftMargin="50" SymbolTextDistance="50" FirstLineOffset="0"/>
- <OutLineNumberingLevel Prefix=" " NumType="3" Suffix="." BulletChar="0020" BulletFontName="" ParentNumbering="0" LeftMargin="100" SymbolTextDistance="50" FirstLineOffset="0"/>
- <OutLineNumberingLevel Prefix=" " NumType="1" Suffix=")" BulletChar="0020" BulletFontName="" ParentNumbering="0" LeftMargin="150" SymbolTextDistance="50" FirstLineOffset="0"/>
- <OutLineNumberingLevel Prefix=" " NumType="6" Suffix=" " BulletChar="2022" BulletFontName="StarSymbol" ParentNumbering="0" LeftMargin="200" SymbolTextDistance="50" FirstLineOffset="0"/>
- </OutlineStyle>
- <OutlineStyle>
- <OutLineNumberingLevel Prefix=" " NumType="0" Suffix="." BulletChar="0020" BulletFontName="" ParentNumbering="0" LeftMargin="0" SymbolTextDistance="50" FirstLineOffset="0"/>
- <OutLineNumberingLevel Prefix=" " NumType="2" Suffix="." BulletChar="0020" BulletFontName="" ParentNumbering="0" LeftMargin="50" SymbolTextDistance="50" FirstLineOffset="0"/>
- <OutLineNumberingLevel Prefix=" " NumType="1" Suffix="." BulletChar="0020" BulletFontName="" ParentNumbering="0" LeftMargin="100" SymbolTextDistance="50" FirstLineOffset="0"/>
- <OutLineNumberingLevel Prefix=" " NumType="3" Suffix="." BulletChar="0020" BulletFontName="" ParentNumbering="0" LeftMargin="150" SymbolTextDistance="50" FirstLineOffset="0"/>
- <OutLineNumberingLevel Prefix=" " NumType="6" Suffix=" " BulletChar="2022" BulletFontName="StarSymbol" ParentNumbering="0" LeftMargin="200" SymbolTextDistance="50" FirstLineOffset="0"/>
- </OutlineStyle>
- <OutlineStyle>
- <OutLineNumberingLevel Prefix=" " NumType="4" Suffix=" " BulletChar="0020" BulletFontName="" ParentNumbering="0" LeftMargin="0" SymbolTextDistance="50" FirstLineOffset="0"/>
- <OutLineNumberingLevel Prefix=" " NumType="4" Suffix=" " BulletChar="0020" BulletFontName="" ParentNumbering="1" LeftMargin="50" SymbolTextDistance="50" FirstLineOffset="0"/>
- <OutLineNumberingLevel Prefix=" " NumType="4" Suffix=" " BulletChar="0020" BulletFontName="" ParentNumbering="2" LeftMargin="100" SymbolTextDistance="50" FirstLineOffset="0"/>
- <OutLineNumberingLevel Prefix=" " NumType="4" Suffix=" " BulletChar="0020" BulletFontName="" ParentNumbering="3" LeftMargin="150" SymbolTextDistance="50" FirstLineOffset="0"/>
- <OutLineNumberingLevel Prefix=" " NumType="4" Suffix=" " BulletChar="0020" BulletFontName="" ParentNumbering="4" LeftMargin="200" SymbolTextDistance="50" FirstLineOffset="0"/>
- </OutlineStyle>
- <OutlineStyle>
- <OutLineNumberingLevel Prefix=" " NumType="6" Suffix=" " BulletChar="27A2" BulletFontName="StarSymbol" ParentNumbering="0" LeftMargin="0" SymbolTextDistance="50" FirstLineOffset="0"/>
- <OutLineNumberingLevel Prefix=" " NumType="6" Suffix=" " BulletChar="E006" BulletFontName="StarSymbol" ParentNumbering="0" LeftMargin="50" SymbolTextDistance="50" FirstLineOffset="0"/>
- <OutLineNumberingLevel Prefix=" " NumType="6" Suffix=")" BulletChar="E004" BulletFontName="StarSymbol" ParentNumbering="0" LeftMargin="100" SymbolTextDistance="50" FirstLineOffset="0"/>
- <OutLineNumberingLevel Prefix=" " NumType="6" Suffix=" " BulletChar="2022" BulletFontName="StarSymbol" ParentNumbering="0" LeftMargin="150" SymbolTextDistance="50" FirstLineOffset="0"/>
- <OutLineNumberingLevel Prefix=" " NumType="6" Suffix=" " BulletChar="2022" BulletFontName="StarSymbol" ParentNumbering="0" LeftMargin="200" SymbolTextDistance="50" FirstLineOffset="0"/>
- </OutlineStyle>
- </LC_OutLineNumberingLevel>
+ <LC_NumberingLevel ref="en_US"/>
+ <LC_OutLineNumberingLevel ref="en_US"/>
</Locale>
diff --git a/i18npool/source/localedata/data/sid_ET.xml b/i18npool/source/localedata/data/sid_ET.xml
index 082570767b0c..12502d15366b 100644
--- a/i18npool/source/localedata/data/sid_ET.xml
+++ b/i18npool/source/localedata/data/sid_ET.xml
@@ -350,16 +350,7 @@
<quarter4Abbreviation>boc 4</quarter4Abbreviation>
</ReservedWords>
</LC_MISC>
- <LC_NumberingLevel>
- <NumberingLevel NumType="4" Prefix=" " Suffix=")"/>
- <NumberingLevel NumType="4" Prefix=" " Suffix="."/>
- <NumberingLevel NumType="4" Prefix="(" Suffix=")"/>
- <NumberingLevel NumType="2" Prefix=" " Suffix="."/>
- <NumberingLevel NumType="0" Prefix=" " Suffix=")"/>
- <NumberingLevel NumType="1" Prefix=" " Suffix=")"/>
- <NumberingLevel NumType="1" Prefix="(" Suffix=")"/>
- <NumberingLevel NumType="3" Prefix=" " Suffix="."/>
- </LC_NumberingLevel>
+ <LC_NumberingLevel ref="en_US"/>
<LC_OutLineNumberingLevel ref="en_US"/>
</Locale>
<!--Version 1.0 -->
diff --git a/i18npool/source/localedata/data/sl_SI.xml b/i18npool/source/localedata/data/sl_SI.xml
index 0e1299d23201..cb0c8c5dcdb9 100644
--- a/i18npool/source/localedata/data/sl_SI.xml
+++ b/i18npool/source/localedata/data/sl_SI.xml
@@ -73,6 +73,15 @@
<FormatElement msgid="FixedFormatskey6" default="false" type="medium" usage="FIXED_NUMBER" formatindex="5">
<FormatCode>#.###,00</FormatCode>
</FormatElement>
+ <FormatElement msgid="FixedFormatskey9" default="false" type="medium" usage="FIXED_NUMBER" formatindex="101">
+ <FormatCode>[NatNum12 cardinal]0</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="FixedFormatskey10" default="false" type="medium" usage="FIXED_NUMBER" formatindex="102">
+ <FormatCode>[NatNum12 capitalize cardinal]0</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="FixedFormatskey12" default="false" type="medium" usage="FIXED_NUMBER" formatindex="104">
+ <FormatCode>[NatNum12 upper cardinal]0</FormatCode>
+ </FormatElement>
<FormatElement msgid="ScientificFormatskey1" default="false" type="medium" usage="SCIENTIFIC_NUMBER" formatindex="6">
<FormatCode>0,00E+000</FormatCode>
</FormatElement>
@@ -106,6 +115,18 @@
<FormatElement msgid="CurrencyFormatskey6" default="false" type="medium" usage="CURRENCY" formatindex="17">
<FormatCode>#.##0,-- [CURRENCY];[RED]-#.##0,-- [CURRENCY]</FormatCode>
</FormatElement>
+ <FormatElement msgid="CurrencyFormatskey9" default="false" type="medium" usage="CURRENCY" formatindex="105">
+ <FormatCode>[NatNum12 CURRENCY]0</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="CurrencyFormatskey10" default="false" type="medium" usage="CURRENCY" formatindex="106">
+ <FormatCode>[NatNum12 CURRENCY]0,00</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="CurrencyFormatskey11" default="false" type="medium" usage="CURRENCY" formatindex="107">
+ <FormatCode>[NatNum12 upper CURRENCY]0</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="CurrencyFormatskey12" default="false" type="medium" usage="CURRENCY" formatindex="108">
+ <FormatCode>[NatNum12 upper CURRENCY]0,00</FormatCode>
+ </FormatElement>
<FormatElement msgid="DateFormatskey1" default="true" type="short" usage="DATE" formatindex="18">
<FormatCode>D.M.YY</FormatCode>
</FormatElement>
@@ -389,62 +410,5 @@
<NumberingLevel NumType="1" Prefix="(" Suffix=")"/>
<NumberingLevel NumType="3" Prefix=" " Suffix="."/>
</LC_NumberingLevel>
- <LC_OutLineNumberingLevel>
- <OutlineStyle>
- <OutLineNumberingLevel Prefix=" " NumType="4" Suffix="." BulletChar="0020" BulletFontName="" ParentNumbering="0" LeftMargin="0" SymbolTextDistance="50" FirstLineOffset="0"/>
- <OutLineNumberingLevel Prefix=" " NumType="4" Suffix="." BulletChar="0020" BulletFontName="" ParentNumbering="1" LeftMargin="50" SymbolTextDistance="50" FirstLineOffset="0"/>
- <OutLineNumberingLevel Prefix=" " NumType="1" Suffix=")" BulletChar="0020" BulletFontName="" ParentNumbering="0" LeftMargin="100" SymbolTextDistance="50" FirstLineOffset="0"/>
- <OutLineNumberingLevel Prefix=" " NumType="6" Suffix=" " BulletChar="2022" BulletFontName="StarSymbol" ParentNumbering="0" LeftMargin="150" SymbolTextDistance="50" FirstLineOffset="0"/>
- <OutLineNumberingLevel Prefix=" " NumType="6" Suffix=" " BulletChar="2022" BulletFontName="StarSymbol" ParentNumbering="0" LeftMargin="200" SymbolTextDistance="50" FirstLineOffset="0"/>
- </OutlineStyle>
- <OutlineStyle>
- <OutLineNumberingLevel Prefix=" " NumType="4" Suffix="." BulletChar="0020" BulletFontName="" ParentNumbering="0" LeftMargin="0" SymbolTextDistance="50" FirstLineOffset="0"/>
- <OutLineNumberingLevel Prefix=" " NumType="1" Suffix=")" BulletChar="0020" BulletFontName="" ParentNumbering="0" LeftMargin="50" SymbolTextDistance="50" FirstLineOffset="0"/>
- <OutLineNumberingLevel Prefix=" " NumType="6" Suffix=" " BulletChar="2022" BulletFontName="StarSymbol" ParentNumbering="0" LeftMargin="100" SymbolTextDistance="50" FirstLineOffset="0"/>
- <OutLineNumberingLevel Prefix=" " NumType="6" Suffix=" " BulletChar="2022" BulletFontName="StarSymbol" ParentNumbering="0" LeftMargin="150" SymbolTextDistance="50" FirstLineOffset="0"/>
- <OutLineNumberingLevel Prefix=" " NumType="6" Suffix=" " BulletChar="2022" BulletFontName="StarSymbol" ParentNumbering="0" LeftMargin="200" SymbolTextDistance="50" FirstLineOffset="0"/>
- </OutlineStyle>
- <OutlineStyle>
- <OutLineNumberingLevel Prefix=" " NumType="4" Suffix="." BulletChar="0020" BulletFontName="" ParentNumbering="0" LeftMargin="0" SymbolTextDistance="50" FirstLineOffset="0"/>
- <OutLineNumberingLevel Prefix="(" NumType="1" Suffix=")" BulletChar="0020" BulletFontName="" ParentNumbering="0" LeftMargin="50" SymbolTextDistance="50" FirstLineOffset="0"/>
- <OutLineNumberingLevel Prefix=" " NumType="3" Suffix="." BulletChar="0020" BulletFontName="" ParentNumbering="0" LeftMargin="100" SymbolTextDistance="50" FirstLineOffset="0"/>
- <OutLineNumberingLevel Prefix=" " NumType="0" Suffix="." BulletChar="0020" BulletFontName="" ParentNumbering="0" LeftMargin="150" SymbolTextDistance="50" FirstLineOffset="0"/>
- <OutLineNumberingLevel Prefix=" " NumType="6" Suffix="." BulletChar="2022" BulletFontName="StarSymbol" ParentNumbering="0" LeftMargin="200" SymbolTextDistance="50" FirstLineOffset="0"/>
- </OutlineStyle>
- <OutlineStyle>
- <OutLineNumberingLevel Prefix=" " NumType="4" Suffix="." BulletChar="0020" BulletFontName="" ParentNumbering="0" LeftMargin="0" SymbolTextDistance="50" FirstLineOffset="0"/>
- <OutLineNumberingLevel Prefix=" " NumType="4" Suffix="." BulletChar="0020" BulletFontName="" ParentNumbering="0" LeftMargin="50" SymbolTextDistance="50" FirstLineOffset="0"/>
- <OutLineNumberingLevel Prefix=" " NumType="4" Suffix="." BulletChar="0020" BulletFontName="" ParentNumbering="0" LeftMargin="100" SymbolTextDistance="50" FirstLineOffset="0"/>
- <OutLineNumberingLevel Prefix=" " NumType="4" Suffix="." BulletChar="0020" BulletFontName="" ParentNumbering="0" LeftMargin="150" SymbolTextDistance="50" FirstLineOffset="0"/>
- <OutLineNumberingLevel Prefix=" " NumType="4" Suffix="." BulletChar="0020" BulletFontName="" ParentNumbering="0" LeftMargin="200" SymbolTextDistance="50" FirstLineOffset="0"/>
- </OutlineStyle>
- <OutlineStyle>
- <OutLineNumberingLevel Prefix=" " NumType="2" Suffix="." BulletChar="0020" BulletFontName="" ParentNumbering="0" LeftMargin="0" SymbolTextDistance="50" FirstLineOffset="0"/>
- <OutLineNumberingLevel Prefix=" " NumType="0" Suffix="." BulletChar="0020" BulletFontName="" ParentNumbering="0" LeftMargin="50" SymbolTextDistance="50" FirstLineOffset="0"/>
- <OutLineNumberingLevel Prefix=" " NumType="3" Suffix="." BulletChar="0020" BulletFontName="" ParentNumbering="0" LeftMargin="100" SymbolTextDistance="50" FirstLineOffset="0"/>
- <OutLineNumberingLevel Prefix=" " NumType="1" Suffix=")" BulletChar="0020" BulletFontName="" ParentNumbering="0" LeftMargin="150" SymbolTextDistance="50" FirstLineOffset="0"/>
- <OutLineNumberingLevel Prefix=" " NumType="6" Suffix=" " BulletChar="2022" BulletFontName="StarSymbol" ParentNumbering="0" LeftMargin="200" SymbolTextDistance="50" FirstLineOffset="0"/>
- </OutlineStyle>
- <OutlineStyle>
- <OutLineNumberingLevel Prefix=" " NumType="0" Suffix="." BulletChar="0020" BulletFontName="" ParentNumbering="0" LeftMargin="0" SymbolTextDistance="50" FirstLineOffset="0"/>
- <OutLineNumberingLevel Prefix=" " NumType="2" Suffix="." BulletChar="0020" BulletFontName="" ParentNumbering="0" LeftMargin="50" SymbolTextDistance="50" FirstLineOffset="0"/>
- <OutLineNumberingLevel Prefix=" " NumType="1" Suffix="." BulletChar="0020" BulletFontName="" ParentNumbering="0" LeftMargin="100" SymbolTextDistance="50" FirstLineOffset="0"/>
- <OutLineNumberingLevel Prefix=" " NumType="3" Suffix="." BulletChar="0020" BulletFontName="" ParentNumbering="0" LeftMargin="150" SymbolTextDistance="50" FirstLineOffset="0"/>
- <OutLineNumberingLevel Prefix=" " NumType="6" Suffix=" " BulletChar="2022" BulletFontName="StarSymbol" ParentNumbering="0" LeftMargin="200" SymbolTextDistance="50" FirstLineOffset="0"/>
- </OutlineStyle>
- <OutlineStyle>
- <OutLineNumberingLevel Prefix=" " NumType="4" Suffix=" " BulletChar="0020" BulletFontName="" ParentNumbering="0" LeftMargin="0" SymbolTextDistance="50" FirstLineOffset="0"/>
- <OutLineNumberingLevel Prefix=" " NumType="4" Suffix=" " BulletChar="0020" BulletFontName="" ParentNumbering="1" LeftMargin="50" SymbolTextDistance="50" FirstLineOffset="0"/>
- <OutLineNumberingLevel Prefix=" " NumType="4" Suffix=" " BulletChar="0020" BulletFontName="" ParentNumbering="2" LeftMargin="100" SymbolTextDistance="50" FirstLineOffset="0"/>
- <OutLineNumberingLevel Prefix=" " NumType="4" Suffix=" " BulletChar="0020" BulletFontName="" ParentNumbering="3" LeftMargin="150" SymbolTextDistance="50" FirstLineOffset="0"/>
- <OutLineNumberingLevel Prefix=" " NumType="4" Suffix=" " BulletChar="0020" BulletFontName="" ParentNumbering="4" LeftMargin="200" SymbolTextDistance="50" FirstLineOffset="0"/>
- </OutlineStyle>
- <OutlineStyle>
- <OutLineNumberingLevel Prefix=" " NumType="6" Suffix=" " BulletChar="27A2" BulletFontName="StarSymbol" ParentNumbering="0" LeftMargin="0" SymbolTextDistance="50" FirstLineOffset="0"/>
- <OutLineNumberingLevel Prefix=" " NumType="6" Suffix=" " BulletChar="E006" BulletFontName="StarSymbol" ParentNumbering="0" LeftMargin="50" SymbolTextDistance="50" FirstLineOffset="0"/>
- <OutLineNumberingLevel Prefix=" " NumType="6" Suffix=")" BulletChar="E004" BulletFontName="StarSymbol" ParentNumbering="0" LeftMargin="100" SymbolTextDistance="50" FirstLineOffset="0"/>
- <OutLineNumberingLevel Prefix=" " NumType="6" Suffix=" " BulletChar="2022" BulletFontName="StarSymbol" ParentNumbering="0" LeftMargin="150" SymbolTextDistance="50" FirstLineOffset="0"/>
- <OutLineNumberingLevel Prefix=" " NumType="6" Suffix=" " BulletChar="2022" BulletFontName="StarSymbol" ParentNumbering="0" LeftMargin="200" SymbolTextDistance="50" FirstLineOffset="0"/>
- </OutlineStyle>
- </LC_OutLineNumberingLevel>
+ <LC_OutLineNumberingLevel ref="en_US"/>
</Locale>
diff --git a/i18npool/source/localedata/data/so_SO.xml b/i18npool/source/localedata/data/so_SO.xml
index d58f389edab5..a6b2e07ca883 100644
--- a/i18npool/source/localedata/data/so_SO.xml
+++ b/i18npool/source/localedata/data/so_SO.xml
@@ -376,16 +376,7 @@
<quarter4Abbreviation>AM4</quarter4Abbreviation>
</ReservedWords>
</LC_MISC>
- <LC_NumberingLevel>
- <NumberingLevel NumType="4" Prefix=" " Suffix=")"/>
- <NumberingLevel NumType="4" Prefix=" " Suffix="."/>
- <NumberingLevel NumType="4" Prefix="(" Suffix=")"/>
- <NumberingLevel NumType="2" Prefix=" " Suffix="."/>
- <NumberingLevel NumType="0" Prefix=" " Suffix=")"/>
- <NumberingLevel NumType="1" Prefix=" " Suffix=")"/>
- <NumberingLevel NumType="1" Prefix="(" Suffix=")"/>
- <NumberingLevel NumType="3" Prefix=" " Suffix="."/>
- </LC_NumberingLevel>
+ <LC_NumberingLevel ref="en_US"/>
<LC_OutLineNumberingLevel ref="en_US"/>
</Locale>
<!--Version 1.0 -->
diff --git a/i18npool/source/localedata/data/sr_RS.xml b/i18npool/source/localedata/data/sr_RS.xml
index fe8c503de3ea..f90f247774d6 100644
--- a/i18npool/source/localedata/data/sr_RS.xml
+++ b/i18npool/source/localedata/data/sr_RS.xml
@@ -71,6 +71,15 @@
<FormatElement msgid="FixedFormatskey6" default="false" type="medium" usage="FIXED_NUMBER" formatindex="5">
<FormatCode>#.###,00</FormatCode>
</FormatElement>
+ <FormatElement msgid="FixedFormatskey9" default="false" type="medium" usage="FIXED_NUMBER" formatindex="101">
+ <FormatCode>[NatNum12 cardinal]0</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="FixedFormatskey10" default="false" type="medium" usage="FIXED_NUMBER" formatindex="102">
+ <FormatCode>[NatNum12 capitalize cardinal]0</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="FixedFormatskey12" default="false" type="medium" usage="FIXED_NUMBER" formatindex="104">
+ <FormatCode>[NatNum12 upper cardinal]0</FormatCode>
+ </FormatElement>
<FormatElement msgid="ScientificFormatskey1" default="false" type="medium" usage="SCIENTIFIC_NUMBER" formatindex="6">
<FormatCode>0,00E+000</FormatCode>
</FormatElement>
diff --git a/i18npool/source/localedata/data/sv_FI.xml b/i18npool/source/localedata/data/sv_FI.xml
index 894df6a28b1a..6c6d4ad72122 100644
--- a/i18npool/source/localedata/data/sv_FI.xml
+++ b/i18npool/source/localedata/data/sv_FI.xml
@@ -71,6 +71,15 @@
<FormatElement msgid="FixedFormatskey6" default="false" type="medium" usage="FIXED_NUMBER" formatindex="5">
<FormatCode># ###,00</FormatCode>
</FormatElement>
+ <FormatElement msgid="FixedFormatskey9" default="false" type="medium" usage="FIXED_NUMBER" formatindex="101">
+ <FormatCode>[NatNum12 cardinal]0</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="FixedFormatskey10" default="false" type="medium" usage="FIXED_NUMBER" formatindex="102">
+ <FormatCode>[NatNum12 capitalize cardinal]0</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="FixedFormatskey12" default="false" type="medium" usage="FIXED_NUMBER" formatindex="104">
+ <FormatCode>[NatNum12 upper cardinal]0</FormatCode>
+ </FormatElement>
<FormatElement msgid="ScientificFormatskey1" default="false" type="medium" usage="SCIENTIFIC_NUMBER" formatindex="6">
<FormatCode>0,00E+000</FormatCode>
</FormatElement>
@@ -104,6 +113,18 @@
<FormatElement msgid="CurrencyFormatskey6" default="false" type="medium" usage="CURRENCY" formatindex="17">
<FormatCode># ##0,-- [$mk-81D];[RED]-# ##0,-- [$mk-81D]</FormatCode>
</FormatElement>
+ <FormatElement msgid="CurrencyFormatskey9" default="false" type="medium" usage="CURRENCY" formatindex="105">
+ <FormatCode>[NatNum12 CURRENCY]0</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="CurrencyFormatskey10" default="false" type="medium" usage="CURRENCY" formatindex="106">
+ <FormatCode>[NatNum12 CURRENCY]0,00</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="CurrencyFormatskey11" default="false" type="medium" usage="CURRENCY" formatindex="107">
+ <FormatCode>[NatNum12 upper CURRENCY]0</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="CurrencyFormatskey12" default="false" type="medium" usage="CURRENCY" formatindex="108">
+ <FormatCode>[NatNum12 upper CURRENCY]0,00</FormatCode>
+ </FormatElement>
<FormatElement msgid="DateFormatskey1" default="true" type="short" usage="DATE" formatindex="18">
<FormatCode>D.M.YYYY</FormatCode>
</FormatElement>
diff --git a/i18npool/source/localedata/data/sv_SE.xml b/i18npool/source/localedata/data/sv_SE.xml
index 4a85f9d13f04..06b80c20451f 100644
--- a/i18npool/source/localedata/data/sv_SE.xml
+++ b/i18npool/source/localedata/data/sv_SE.xml
@@ -72,6 +72,15 @@
<FormatElement msgid="FixedFormatskey6" default="false" type="medium" usage="FIXED_NUMBER" formatindex="5">
<FormatCode># ###,00</FormatCode>
</FormatElement>
+ <FormatElement msgid="FixedFormatskey9" default="false" type="medium" usage="FIXED_NUMBER" formatindex="101">
+ <FormatCode>[NatNum12 cardinal]0</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="FixedFormatskey10" default="false" type="medium" usage="FIXED_NUMBER" formatindex="102">
+ <FormatCode>[NatNum12 capitalize cardinal]0</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="FixedFormatskey12" default="false" type="medium" usage="FIXED_NUMBER" formatindex="104">
+ <FormatCode>[NatNum12 upper cardinal]0</FormatCode>
+ </FormatElement>
<FormatElement msgid="ScientificFormatskey1" default="false" type="medium" usage="SCIENTIFIC_NUMBER" formatindex="6">
<FormatCode>0,00E+000</FormatCode>
</FormatElement>
@@ -105,6 +114,18 @@
<FormatElement msgid="CurrencyFormatskey6" default="false" type="medium" usage="CURRENCY" formatindex="17">
<FormatCode># ##0,-- [CURRENCY];[RED]-# ##0,-- [CURRENCY]</FormatCode>
</FormatElement>
+ <FormatElement msgid="CurrencyFormatskey9" default="false" type="medium" usage="CURRENCY" formatindex="105">
+ <FormatCode>[NatNum12 CURRENCY]0</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="CurrencyFormatskey10" default="false" type="medium" usage="CURRENCY" formatindex="106">
+ <FormatCode>[NatNum12 CURRENCY]0,00</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="CurrencyFormatskey11" default="false" type="medium" usage="CURRENCY" formatindex="107">
+ <FormatCode>[NatNum12 upper CURRENCY]0</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="CurrencyFormatskey12" default="false" type="medium" usage="CURRENCY" formatindex="108">
+ <FormatCode>[NatNum12 upper CURRENCY]0,00</FormatCode>
+ </FormatElement>
<FormatElement msgid="DateFormatskey1" default="true" type="medium" usage="DATE" formatindex="18">
<FormatCode>YYYY-MM-DD</FormatCode>
</FormatElement>
diff --git a/i18npool/source/localedata/data/ti_ET.xml b/i18npool/source/localedata/data/ti_ET.xml
index ad26ee39a1e8..62329e9d6823 100644
--- a/i18npool/source/localedata/data/ti_ET.xml
+++ b/i18npool/source/localedata/data/ti_ET.xml
@@ -349,16 +349,7 @@
<quarter4Abbreviation>4 ርብዒ</quarter4Abbreviation>
</ReservedWords>
</LC_MISC>
- <LC_NumberingLevel>
- <NumberingLevel NumType="4" Prefix=" " Suffix=")"/>
- <NumberingLevel NumType="4" Prefix=" " Suffix="."/>
- <NumberingLevel NumType="4" Prefix="(" Suffix=")"/>
- <NumberingLevel NumType="2" Prefix=" " Suffix="."/>
- <NumberingLevel NumType="0" Prefix=" " Suffix=")"/>
- <NumberingLevel NumType="1" Prefix=" " Suffix=")"/>
- <NumberingLevel NumType="1" Prefix="(" Suffix=")"/>
- <NumberingLevel NumType="3" Prefix=" " Suffix="."/>
- </LC_NumberingLevel>
+ <LC_NumberingLevel ref="en_US"/>
<LC_OutLineNumberingLevel ref="en_US"/>
</Locale>
<!--Version 1.0 -->
diff --git a/i18npool/source/localedata/data/tk_TM.xml b/i18npool/source/localedata/data/tk_TM.xml
index 5bb975c7cf3f..9c15923996ef 100644
--- a/i18npool/source/localedata/data/tk_TM.xml
+++ b/i18npool/source/localedata/data/tk_TM.xml
@@ -369,16 +369,7 @@
<quarter4Abbreviation>Çärýek 4</quarter4Abbreviation>
</ReservedWords>
</LC_MISC>
- <LC_NumberingLevel>
- <NumberingLevel NumType="4" Prefix=" " Suffix=")"/>
- <NumberingLevel NumType="4" Prefix=" " Suffix="."/>
- <NumberingLevel NumType="4" Prefix="(" Suffix=")"/>
- <NumberingLevel NumType="2" Prefix=" " Suffix="."/>
- <NumberingLevel NumType="0" Prefix=" " Suffix=")"/>
- <NumberingLevel NumType="1" Prefix=" " Suffix=")"/>
- <NumberingLevel NumType="1" Prefix="(" Suffix=")"/>
- <NumberingLevel NumType="3" Prefix=" " Suffix="."/>
- </LC_NumberingLevel>
+ <LC_NumberingLevel ref="en_US"/>
<LC_OutLineNumberingLevel ref="en_US"/>
</Locale>
<!--Version 1.0 -->
diff --git a/i18npool/source/localedata/data/tpi_PG.xml b/i18npool/source/localedata/data/tpi_PG.xml
index 54968d179ef5..7af445d1e9c7 100644
--- a/i18npool/source/localedata/data/tpi_PG.xml
+++ b/i18npool/source/localedata/data/tpi_PG.xml
@@ -369,16 +369,7 @@
<quarter4Abbreviation>K4</quarter4Abbreviation>
</ReservedWords>
</LC_MISC>
- <LC_NumberingLevel>
- <NumberingLevel NumType="4" Prefix=" " Suffix=")"/>
- <NumberingLevel NumType="4" Prefix=" " Suffix="."/>
- <NumberingLevel NumType="4" Prefix="(" Suffix=")"/>
- <NumberingLevel NumType="2" Prefix=" " Suffix="."/>
- <NumberingLevel NumType="0" Prefix=" " Suffix=")"/>
- <NumberingLevel NumType="1" Prefix=" " Suffix=")"/>
- <NumberingLevel NumType="1" Prefix="(" Suffix=")"/>
- <NumberingLevel NumType="3" Prefix=" " Suffix="."/>
- </LC_NumberingLevel>
+ <LC_NumberingLevel ref="en_US"/>
<LC_OutLineNumberingLevel ref="en_US"/>
</Locale>
<!--Version 1.0 -->
diff --git a/i18npool/source/localedata/data/tr_TR.xml b/i18npool/source/localedata/data/tr_TR.xml
index 85e02854082a..2108eaf9b131 100644
--- a/i18npool/source/localedata/data/tr_TR.xml
+++ b/i18npool/source/localedata/data/tr_TR.xml
@@ -75,6 +75,15 @@
<FormatElement msgid="FixedFormatskey6" default="false" type="medium" usage="FIXED_NUMBER" formatindex="5">
<FormatCode>#.###,00</FormatCode>
</FormatElement>
+ <FormatElement msgid="FixedFormatskey9" default="false" type="medium" usage="FIXED_NUMBER" formatindex="101">
+ <FormatCode>[NatNum12 cardinal]0</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="FixedFormatskey10" default="false" type="medium" usage="FIXED_NUMBER" formatindex="102">
+ <FormatCode>[NatNum12 capitalize cardinal]0</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="FixedFormatskey12" default="false" type="medium" usage="FIXED_NUMBER" formatindex="104">
+ <FormatCode>[NatNum12 upper cardinal]0</FormatCode>
+ </FormatElement>
<FormatElement msgid="ScientificFormatskey1" default="false" type="medium" usage="SCIENTIFIC_NUMBER" formatindex="6">
<FormatCode>0,00E+000</FormatCode>
</FormatElement>
@@ -108,6 +117,18 @@
<FormatElement msgid="CurrencyFormatskey6" default="false" type="medium" usage="CURRENCY" formatindex="17">
<FormatCode>[$₺-41F]#.##0,--;[RED]-[$₺-41F]#.##0,--</FormatCode>
</FormatElement>
+ <FormatElement msgid="CurrencyFormatskey9" default="false" type="medium" usage="CURRENCY" formatindex="105">
+ <FormatCode>[NatNum12 CURRENCY]0</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="CurrencyFormatskey10" default="false" type="medium" usage="CURRENCY" formatindex="106">
+ <FormatCode>[NatNum12 CURRENCY]0,00</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="CurrencyFormatskey11" default="false" type="medium" usage="CURRENCY" formatindex="107">
+ <FormatCode>[NatNum12 upper CURRENCY]0</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="CurrencyFormatskey12" default="false" type="medium" usage="CURRENCY" formatindex="108">
+ <FormatCode>[NatNum12 upper CURRENCY]0,00</FormatCode>
+ </FormatElement>
<FormatElement msgid="DateFormatskey1" default="true" type="short" usage="DATE" formatindex="18">
<FormatCode>DD.MM.YY</FormatCode>
</FormatElement>
diff --git a/i18npool/source/localedata/data/ug_CN.xml b/i18npool/source/localedata/data/ug_CN.xml
index 24d989af4906..ccc567f582ef 100644
--- a/i18npool/source/localedata/data/ug_CN.xml
+++ b/i18npool/source/localedata/data/ug_CN.xml
@@ -372,16 +372,7 @@
<quarter4Abbreviation>4 چارەك</quarter4Abbreviation>
</ReservedWords>
</LC_MISC>
- <LC_NumberingLevel>
- <NumberingLevel NumType="4" Prefix=" " Suffix=")"/>
- <NumberingLevel NumType="4" Prefix=" " Suffix="."/>
- <NumberingLevel NumType="4" Prefix="(" Suffix=")"/>
- <NumberingLevel NumType="2" Prefix=" " Suffix="."/>
- <NumberingLevel NumType="0" Prefix=" " Suffix=")"/>
- <NumberingLevel NumType="1" Prefix=" " Suffix=")"/>
- <NumberingLevel NumType="1" Prefix="(" Suffix=")"/>
- <NumberingLevel NumType="3" Prefix=" " Suffix="."/>
- </LC_NumberingLevel>
+ <LC_NumberingLevel ref="en_US"/>
<LC_OutLineNumberingLevel ref="en_US"/>
</Locale>
<!--Version 1.0 -->
diff --git a/i18npool/source/localedata/data/uk_UA.xml b/i18npool/source/localedata/data/uk_UA.xml
index daa025407b81..5912691c9501 100644
--- a/i18npool/source/localedata/data/uk_UA.xml
+++ b/i18npool/source/localedata/data/uk_UA.xml
@@ -42,10 +42,10 @@
<LongDateYearSeparator> р.</LongDateYearSeparator>
</Separators>
<Markers>
- <QuotationStart>‘</QuotationStart>
- <QuotationEnd>’</QuotationEnd>
- <DoubleQuotationStart>“</DoubleQuotationStart>
- <DoubleQuotationEnd>”</DoubleQuotationEnd>
+ <QuotationStart>„</QuotationStart>
+ <QuotationEnd>“</QuotationEnd>
+ <DoubleQuotationStart>«</DoubleQuotationStart>
+ <DoubleQuotationEnd>»</DoubleQuotationEnd>
</Markers>
<TimeAM>AM</TimeAM>
<TimePM>PM</TimePM>
@@ -53,6 +53,18 @@
</LC_CTYPE>
<LC_FORMAT>
<DateAcceptancePattern>D.M</DateAcceptancePattern>
+ <FormatElement msgid="CurrencyFormatskey9" default="false" type="medium" usage="CURRENCY" formatindex="105">
+ <FormatCode>[NatNum12 CURRENCY]0</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="CurrencyFormatskey10" default="false" type="medium" usage="CURRENCY" formatindex="106">
+ <FormatCode>[NatNum12 CURRENCY]0,00</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="CurrencyFormatskey11" default="false" type="medium" usage="CURRENCY" formatindex="107">
+ <FormatCode>[NatNum12 upper CURRENCY]0</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="CurrencyFormatskey12" default="false" type="medium" usage="CURRENCY" formatindex="108">
+ <FormatCode>[NatNum12 upper CURRENCY]0,00</FormatCode>
+ </FormatElement>
<FormatElement msgid="DateFormatskey1" default="true" type="short" usage="DATE" formatindex="18">
<FormatCode>D.M.YY</FormatCode>
</FormatElement>
@@ -189,6 +201,15 @@
<FormatElement msgid="PercentFormatskey2" default="true" type="long" usage="PERCENT_NUMBER" formatindex="9">
<FormatCode>0,00%</FormatCode>
</FormatElement>
+ <FormatElement msgid="FixedFormatskey9" default="false" type="medium" usage="FIXED_NUMBER" formatindex="101">
+ <FormatCode>[NatNum12 cardinal]0</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="FixedFormatskey10" default="false" type="medium" usage="FIXED_NUMBER" formatindex="102">
+ <FormatCode>[NatNum12 capitalize cardinal]0</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="FixedFormatskey12" default="false" type="medium" usage="FIXED_NUMBER" formatindex="104">
+ <FormatCode>[NatNum12 upper cardinal]0</FormatCode>
+ </FormatElement>
<FormatElement msgid="ScientificFormatskey1" default="false" type="medium" usage="SCIENTIFIC_NUMBER" formatindex="6">
<FormatCode>0,00E+000</FormatCode>
</FormatElement>
diff --git a/i18npool/source/localedata/data/ur_PK.xml b/i18npool/source/localedata/data/ur_PK.xml
index 2b7097a63591..2907387ffdf5 100644
--- a/i18npool/source/localedata/data/ur_PK.xml
+++ b/i18npool/source/localedata/data/ur_PK.xml
@@ -366,16 +366,7 @@
<quarter4Abbreviation>چوتھائی 4</quarter4Abbreviation>
</ReservedWords>
</LC_MISC>
- <LC_NumberingLevel>
- <NumberingLevel NumType="4" Prefix=" " Suffix=")"/>
- <NumberingLevel NumType="4" Prefix=" " Suffix="."/>
- <NumberingLevel NumType="4" Prefix="(" Suffix=")"/>
- <NumberingLevel NumType="2" Prefix=" " Suffix="."/>
- <NumberingLevel NumType="0" Prefix=" " Suffix=")"/>
- <NumberingLevel NumType="1" Prefix=" " Suffix=")"/>
- <NumberingLevel NumType="1" Prefix="(" Suffix=")"/>
- <NumberingLevel NumType="3" Prefix=" " Suffix="."/>
- </LC_NumberingLevel>
+ <LC_NumberingLevel ref="en_US"/>
<LC_OutLineNumberingLevel ref="en_US"/>
</Locale>
<!--Version 1.0 -->
diff --git a/i18npool/source/localedata/data/vi_VN.xml b/i18npool/source/localedata/data/vi_VN.xml
index 2203461443b5..b3b434e81278 100644
--- a/i18npool/source/localedata/data/vi_VN.xml
+++ b/i18npool/source/localedata/data/vi_VN.xml
@@ -71,6 +71,15 @@
<FormatElement msgid="FixedFormatskey6" default="false" type="medium" usage="FIXED_NUMBER" formatindex="5">
<FormatCode>#.###,00</FormatCode>
</FormatElement>
+ <FormatElement msgid="FixedFormatskey9" default="false" type="medium" usage="FIXED_NUMBER" formatindex="101">
+ <FormatCode>[NatNum12 cardinal]0</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="FixedFormatskey10" default="false" type="medium" usage="FIXED_NUMBER" formatindex="102">
+ <FormatCode>[NatNum12 capitalize cardinal]0</FormatCode>
+ </FormatElement>
+ <FormatElement msgid="FixedFormatskey12" default="false" type="medium" usage="FIXED_NUMBER" formatindex="104">
+ <FormatCode>[NatNum12 upper cardinal]0</FormatCode>
+ </FormatElement>
<FormatElement msgid="ScientificFormatskey1" default="false" type="medium" usage="SCIENTIFIC_NUMBER" formatindex="6">
<FormatCode>0,00E+000</FormatCode>
</FormatElement>
@@ -369,72 +378,6 @@
<quarter4Abbreviation>Q4</quarter4Abbreviation>
</ReservedWords>
</LC_MISC>
- <LC_NumberingLevel>
- <NumberingLevel NumType="4" Prefix=" " Suffix=")"/>
- <NumberingLevel NumType="4" Prefix=" " Suffix="."/>
- <NumberingLevel NumType="4" Prefix="(" Suffix=")"/>
- <NumberingLevel NumType="2" Prefix=" " Suffix="."/>
- <NumberingLevel NumType="0" Prefix=" " Suffix=")"/>
- <NumberingLevel NumType="1" Prefix=" " Suffix=")"/>
- <NumberingLevel NumType="1" Prefix="(" Suffix=")"/>
- <NumberingLevel NumType="3" Prefix=" " Suffix="."/>
- </LC_NumberingLevel>
- <LC_OutLineNumberingLevel>
- <OutlineStyle>
- <OutLineNumberingLevel Prefix=" " NumType="4" Suffix="." BulletChar="0020" BulletFontName="" ParentNumbering="0" LeftMargin="0" SymbolTextDistance="50" FirstLineOffset="0"/>
- <OutLineNumberingLevel Prefix=" " NumType="4" Suffix="." BulletChar="0020" BulletFontName="" ParentNumbering="1" LeftMargin="50" SymbolTextDistance="50" FirstLineOffset="0"/>
- <OutLineNumberingLevel Prefix=" " NumType="1" Suffix=")" BulletChar="0020" BulletFontName="" ParentNumbering="0" LeftMargin="100" SymbolTextDistance="50" FirstLineOffset="0"/>
- <OutLineNumberingLevel Prefix=" " NumType="6" Suffix=" " BulletChar="2022" BulletFontName="StarSymbol" ParentNumbering="0" LeftMargin="150" SymbolTextDistance="50" FirstLineOffset="0"/>
- <OutLineNumberingLevel Prefix=" " NumType="6" Suffix=" " BulletChar="2022" BulletFontName="StarSymbol" ParentNumbering="0" LeftMargin="200" SymbolTextDistance="50" FirstLineOffset="0"/>
- </OutlineStyle>
- <OutlineStyle>
- <OutLineNumberingLevel Prefix=" " NumType="4" Suffix="." BulletChar="0020" BulletFontName="" ParentNumbering="0" LeftMargin="0" SymbolTextDistance="50" FirstLineOffset="0"/>
- <OutLineNumberingLevel Prefix=" " NumType="1" Suffix=")" BulletChar="0020" BulletFontName="" ParentNumbering="0" LeftMargin="50" SymbolTextDistance="50" FirstLineOffset="0"/>
- <OutLineNumberingLevel Prefix=" " NumType="6" Suffix=" " BulletChar="2022" BulletFontName="StarSymbol" ParentNumbering="0" LeftMargin="100" SymbolTextDistance="50" FirstLineOffset="0"/>
- <OutLineNumberingLevel Prefix=" " NumType="6" Suffix=" " BulletChar="2022" BulletFontName="StarSymbol" ParentNumbering="0" LeftMargin="150" SymbolTextDistance="50" FirstLineOffset="0"/>
- <OutLineNumberingLevel Prefix=" " NumType="6" Suffix=" " BulletChar="2022" BulletFontName="StarSymbol" ParentNumbering="0" LeftMargin="200" SymbolTextDistance="50" FirstLineOffset="0"/>
- </OutlineStyle>
- <OutlineStyle>
- <OutLineNumberingLevel Prefix=" " NumType="4" Suffix="." BulletChar="0020" BulletFontName="" ParentNumbering="0" LeftMargin="0" SymbolTextDistance="50" FirstLineOffset="0"/>
- <OutLineNumberingLevel Prefix="(" NumType="1" Suffix=")" BulletChar="0020" BulletFontName="" ParentNumbering="0" LeftMargin="50" SymbolTextDistance="50" FirstLineOffset="0"/>
- <OutLineNumberingLevel Prefix=" " NumType="3" Suffix="." BulletChar="0020" BulletFontName="" ParentNumbering="0" LeftMargin="100" SymbolTextDistance="50" FirstLineOffset="0"/>
- <OutLineNumberingLevel Prefix=" " NumType="0" Suffix="." BulletChar="0020" BulletFontName="" ParentNumbering="0" LeftMargin="150" SymbolTextDistance="50" FirstLineOffset="0"/>
- <OutLineNumberingLevel Prefix=" " NumType="6" Suffix="." BulletChar="2022" BulletFontName="StarSymbol" ParentNumbering="0" LeftMargin="200" SymbolTextDistance="50" FirstLineOffset="0"/>
- </OutlineStyle>
- <OutlineStyle>
- <OutLineNumberingLevel Prefix=" " NumType="4" Suffix="." BulletChar="0020" BulletFontName="" ParentNumbering="0" LeftMargin="0" SymbolTextDistance="50" FirstLineOffset="0"/>
- <OutLineNumberingLevel Prefix=" " NumType="4" Suffix="." BulletChar="0020" BulletFontName="" ParentNumbering="0" LeftMargin="50" SymbolTextDistance="50" FirstLineOffset="0"/>
- <OutLineNumberingLevel Prefix=" " NumType="4" Suffix="." BulletChar="0020" BulletFontName="" ParentNumbering="0" LeftMargin="100" SymbolTextDistance="50" FirstLineOffset="0"/>
- <OutLineNumberingLevel Prefix=" " NumType="4" Suffix="." BulletChar="0020" BulletFontName="" ParentNumbering="0" LeftMargin="150" SymbolTextDistance="50" FirstLineOffset="0"/>
- <OutLineNumberingLevel Prefix=" " NumType="4" Suffix="." BulletChar="0020" BulletFontName="" ParentNumbering="0" LeftMargin="200" SymbolTextDistance="50" FirstLineOffset="0"/>
- </OutlineStyle>
- <OutlineStyle>
- <OutLineNumberingLevel Prefix=" " NumType="2" Suffix="." BulletChar="0020" BulletFontName="" ParentNumbering="0" LeftMargin="0" SymbolTextDistance="50" FirstLineOffset="0"/>
- <OutLineNumberingLevel Prefix=" " NumType="0" Suffix="." BulletChar="0020" BulletFontName="" ParentNumbering="0" LeftMargin="50" SymbolTextDistance="50" FirstLineOffset="0"/>
- <OutLineNumberingLevel Prefix=" " NumType="3" Suffix="." BulletChar="0020" BulletFontName="" ParentNumbering="0" LeftMargin="100" SymbolTextDistance="50" FirstLineOffset="0"/>
- <OutLineNumberingLevel Prefix=" " NumType="1" Suffix=")" BulletChar="0020" BulletFontName="" ParentNumbering="0" LeftMargin="150" SymbolTextDistance="50" FirstLineOffset="0"/>
- <OutLineNumberingLevel Prefix=" " NumType="6" Suffix=" " BulletChar="2022" BulletFontName="StarSymbol" ParentNumbering="0" LeftMargin="200" SymbolTextDistance="50" FirstLineOffset="0"/>
- </OutlineStyle>
- <OutlineStyle>
- <OutLineNumberingLevel Prefix=" " NumType="0" Suffix="." BulletChar="0020" BulletFontName="" ParentNumbering="0" LeftMargin="0" SymbolTextDistance="50" FirstLineOffset="0"/>
- <OutLineNumberingLevel Prefix=" " NumType="2" Suffix="." BulletChar="0020" BulletFontName="" ParentNumbering="0" LeftMargin="50" SymbolTextDistance="50" FirstLineOffset="0"/>
- <OutLineNumberingLevel Prefix=" " NumType="1" Suffix="." BulletChar="0020" BulletFontName="" ParentNumbering="0" LeftMargin="100" SymbolTextDistance="50" FirstLineOffset="0"/>
- <OutLineNumberingLevel Prefix=" " NumType="3" Suffix="." BulletChar="0020" BulletFontName="" ParentNumbering="0" LeftMargin="150" SymbolTextDistance="50" FirstLineOffset="0"/>
- <OutLineNumberingLevel Prefix=" " NumType="6" Suffix=" " BulletChar="2022" BulletFontName="StarSymbol" ParentNumbering="0" LeftMargin="200" SymbolTextDistance="50" FirstLineOffset="0"/>
- </OutlineStyle>
- <OutlineStyle>
- <OutLineNumberingLevel Prefix=" " NumType="4" Suffix=" " BulletChar="0020" BulletFontName="" ParentNumbering="0" LeftMargin="0" SymbolTextDistance="50" FirstLineOffset="0"/>
- <OutLineNumberingLevel Prefix=" " NumType="4" Suffix=" " BulletChar="0020" BulletFontName="" ParentNumbering="1" LeftMargin="50" SymbolTextDistance="50" FirstLineOffset="0"/>
- <OutLineNumberingLevel Prefix=" " NumType="4" Suffix=" " BulletChar="0020" BulletFontName="" ParentNumbering="2" LeftMargin="100" SymbolTextDistance="50" FirstLineOffset="0"/>
- <OutLineNumberingLevel Prefix=" " NumType="4" Suffix=" " BulletChar="0020" BulletFontName="" ParentNumbering="3" LeftMargin="150" SymbolTextDistance="50" FirstLineOffset="0"/>
- <OutLineNumberingLevel Prefix=" " NumType="4" Suffix=" " BulletChar="0020" BulletFontName="" ParentNumbering="4" LeftMargin="200" SymbolTextDistance="50" FirstLineOffset="0"/>
- </OutlineStyle>
- <OutlineStyle>
- <OutLineNumberingLevel Prefix=" " NumType="6" Suffix=" " BulletChar="27A2" BulletFontName="StarSymbol" ParentNumbering="0" LeftMargin="0" SymbolTextDistance="50" FirstLineOffset="0"/>
- <OutLineNumberingLevel Prefix=" " NumType="6" Suffix=" " BulletChar="E006" BulletFontName="StarSymbol" ParentNumbering="0" LeftMargin="50" SymbolTextDistance="50" FirstLineOffset="0"/>
- <OutLineNumberingLevel Prefix=" " NumType="6" Suffix=")" BulletChar="E004" BulletFontName="StarSymbol" ParentNumbering="0" LeftMargin="100" SymbolTextDistance="50" FirstLineOffset="0"/>
- <OutLineNumberingLevel Prefix=" " NumType="6" Suffix=" " BulletChar="2022" BulletFontName="StarSymbol" ParentNumbering="0" LeftMargin="150" SymbolTextDistance="50" FirstLineOffset="0"/>
- <OutLineNumberingLevel Prefix=" " NumType="6" Suffix=" " BulletChar="2022" BulletFontName="StarSymbol" ParentNumbering="0" LeftMargin="200" SymbolTextDistance="50" FirstLineOffset="0"/>
- </OutlineStyle>
- </LC_OutLineNumberingLevel>
+ <LC_NumberingLevel ref="en_US"/>
+ <LC_OutLineNumberingLevel ref="en_US"/>
</Locale>
diff --git a/i18npool/source/localedata/data/zh_CN.xml b/i18npool/source/localedata/data/zh_CN.xml
index 814c6db9ba48..ff943c3d091e 100644
--- a/i18npool/source/localedata/data/zh_CN.xml
+++ b/i18npool/source/localedata/data/zh_CN.xml
@@ -418,8 +418,8 @@
<quarter2Word>第2季度</quarter2Word>
<quarter3Word>第3季度</quarter3Word>
<quarter4Word>第4季度</quarter4Word>
- <aboveWord>上面</aboveWord>
- <belowWord>下面</belowWord>
+ <aboveWord>上方</aboveWord>
+ <belowWord>下方</belowWord>
<quarter1Abbreviation>Q1</quarter1Abbreviation>
<quarter2Abbreviation>Q2</quarter2Abbreviation>
<quarter3Abbreviation>Q3</quarter3Abbreviation>
@@ -427,78 +427,96 @@
</ReservedWords>
</LC_MISC>
<LC_NumberingLevel>
- <NumberingLevel Prefix=" " NumType="4" Suffix="." /> <!-- 1. 2. 3. -->
- <NumberingLevel Prefix=" " NumType="4" Suffix="、" /> <!-- 1、2、3、 -->
- <NumberingLevel Prefix="(" NumType="4" Suffix=")" /> <!-- (1) (2) (3) -->
- <NumberingLevel Prefix=" " NumType="4" Suffix=")" /> <!-- 1) 2) 3) -->
- <NumberingLevel Prefix=" " NumType="0" Suffix="." /> <!-- A. B. C. -->
- <NumberingLevel Prefix=" " NumType="0" Suffix=")" /> <!-- A) B) C) -->
- <NumberingLevel Prefix=" " NumType="1" Suffix="." /> <!-- a. b. c. -->
- <NumberingLevel Prefix=" " NumType="1" Suffix=")" /> <!-- a) b) c) -->
- <NumberingLevel Prefix=" " NumType="2" Suffix="." /> <!-- I. II. III. -->
- <NumberingLevel Prefix=" " NumType="3" Suffix="." /> <!-- i. ii. iii. -->
- <NumberingLevel Prefix=" " NumType="15" Suffix="、" /> <!-- Chinese &#19968;,&#20108;,&#19977;... -->
- <NumberingLevel Prefix="(" NumType="15" Suffix=")" /> <!-- Chinese &#19968;,&#20108;,&#19977;..., with full-width parentheses -->
- <NumberingLevel Prefix=" " NumType="18" Suffix="、" /> <!-- Chinese Tian Gan -->
- <NumberingLevel Prefix=" " NumType="19" Suffix="、" /> <!-- Chinese Di Zhi -->
- <NumberingLevel Prefix=" " NumType="16" Suffix="、" /> <!-- Chinese UPPER CASE -->
+ <NumberingLevel NumType="4" Prefix=" " Suffix=")" /> <!-- 1) 2) 3) -->
+ <NumberingLevel NumType="4" Prefix=" " Suffix="." /> <!-- 1. 2. 3. -->
+ <NumberingLevel NumType="4" Prefix="(" Suffix=")" /> <!-- (1) (2) (3) -->
+ <NumberingLevel NumType="2" Prefix=" " Suffix="." /> <!-- I. II. III. -->
+ <NumberingLevel NumType="0" Prefix=" " Suffix=")" /> <!-- A) B) C) -->
+ <NumberingLevel NumType="1" Prefix=" " Suffix=")" /> <!-- a) b) c) -->
+ <NumberingLevel NumType="1" Prefix="(" Suffix=")" /> <!-- (a) (b) (c) -->
+ <NumberingLevel NumType="3" Prefix=" " Suffix="." /> <!-- i. ii. iii. -->
+ <NumberingLevel NumType="4" Prefix=" " Suffix="、" /> <!-- 1、2、3、 -->
+ <NumberingLevel NumType="4" Prefix="[" Suffix="]" /> <!-- [1] [2] [3] -->
+ <NumberingLevel NumType="0" Prefix=" " Suffix="." /> <!-- A. B. C. -->
+ <NumberingLevel NumType="1" Prefix=" " Suffix="." /> <!-- a. b. c. -->
+ <NumberingLevel NumType="15" Prefix=" " Suffix="、" /> <!-- Chinese 一、二、三、 -->
+ <NumberingLevel Prefix="(" NumType="15" Suffix=")" /> <!-- Chinese (一)(二)(三), with full-width parentheses -->
+ <NumberingLevel Prefix=" " NumType="16" Suffix="、" /> <!-- Chinese 壹贰叁 -->
+ <NumberingLevel Prefix=" " NumType="18" Suffix="、" /> <!-- Chinese Tian Gan 甲乙丙-->
+ <NumberingLevel Prefix=" " NumType="19" Suffix="、" /> <!-- Chinese Di Zhi 子丑寅-->
</LC_NumberingLevel>
<LC_OutLineNumberingLevel>
- <OutlineStyle>
- <OutLineNumberingLevel Prefix=" " NumType="4" Suffix=" " BulletChar="" BulletFontName="" ParentNumbering="0" LeftMargin="0" SymbolTextDistance="50" FirstLineOffset="0"/>
- <OutLineNumberingLevel Prefix=" " NumType="4" Suffix=" " BulletChar="" BulletFontName="" ParentNumbering="1" LeftMargin="50" SymbolTextDistance="50" FirstLineOffset="0"/>
- <OutLineNumberingLevel Prefix=" " NumType="4" Suffix=" " BulletChar="" BulletFontName="" ParentNumbering="2" LeftMargin="100" SymbolTextDistance="50" FirstLineOffset="0"/>
- <OutLineNumberingLevel Prefix=" " NumType="4" Suffix=" " BulletChar="" BulletFontName="" ParentNumbering="3" LeftMargin="150" SymbolTextDistance="50" FirstLineOffset="0"/>
- <OutLineNumberingLevel Prefix=" " NumType="4" Suffix=" " BulletChar="" BulletFontName="" ParentNumbering="4" LeftMargin="200" SymbolTextDistance="50" FirstLineOffset="0"/>
+ <OutlineStyle> <!-- I.A.1.a.i. based on MLA Handbook; also similar to Chicago Mode of Style-->
+ <OutLineNumberingLevel Prefix=" " NumType="2" Suffix="." BulletChar="0020" BulletFontName="" ParentNumbering="0" LeftMargin="0" SymbolTextDistance="50" FirstLineOffset="0" Adjust="1"/>
+ <OutLineNumberingLevel Prefix=" " NumType="0" Suffix="." BulletChar="0020" BulletFontName="" ParentNumbering="0" LeftMargin="50" SymbolTextDistance="50" FirstLineOffset="0"/>
+ <OutLineNumberingLevel Prefix=" " NumType="4" Suffix="." BulletChar="0020" BulletFontName="" ParentNumbering="0" LeftMargin="100" SymbolTextDistance="50" FirstLineOffset="0"/>
+ <OutLineNumberingLevel Prefix=" " NumType="1" Suffix="." BulletChar="0020" BulletFontName="" ParentNumbering="0" LeftMargin="150" SymbolTextDistance="50" FirstLineOffset="0"/>
+ <OutLineNumberingLevel Prefix=" " NumType="3" Suffix="." BulletChar="0020" BulletFontName="" ParentNumbering="0" LeftMargin="200" SymbolTextDistance="50" FirstLineOffset="0" Adjust="1"/>
+ <OutLineNumberingLevel Prefix=" " NumType="6" Suffix=" " BulletChar="2022" BulletFontName="StarSymbol" ParentNumbering="0" LeftMargin="250" SymbolTextDistance="50" FirstLineOffset="0"/>
</OutlineStyle>
- <OutlineStyle>
- <OutLineNumberingLevel Prefix=" " NumType="4" Suffix="." BulletChar="" BulletFontName="" ParentNumbering="0" LeftMargin="0" SymbolTextDistance="50" FirstLineOffset="0"/>
- <OutLineNumberingLevel Prefix=" " NumType="4" Suffix="." BulletChar="" BulletFontName="" ParentNumbering="1" LeftMargin="0" SymbolTextDistance="50" FirstLineOffset="0"/>
- <OutLineNumberingLevel Prefix=" " NumType="4" Suffix="." BulletChar="" BulletFontName="" ParentNumbering="2" LeftMargin="0" SymbolTextDistance="50" FirstLineOffset="0"/>
- <OutLineNumberingLevel Prefix=" " NumType="4" Suffix="." BulletChar="" BulletFontName="" ParentNumbering="3" LeftMargin="0" SymbolTextDistance="50" FirstLineOffset="0"/>
- <OutLineNumberingLevel Prefix=" " NumType="4" Suffix="." BulletChar="" BulletFontName="" ParentNumbering="4" LeftMargin="0" SymbolTextDistance="50" FirstLineOffset="0"/>
+ <OutlineStyle> <!-- A.1.a.1. -->
+ <OutLineNumberingLevel Prefix=" " NumType="0" Suffix="." BulletChar="0020" BulletFontName="" ParentNumbering="0" LeftMargin="0" SymbolTextDistance="50" FirstLineOffset="0"/>
+ <OutLineNumberingLevel Prefix=" " NumType="4" Suffix="." BulletChar="0020" BulletFontName="" ParentNumbering="0" LeftMargin="50" SymbolTextDistance="50" FirstLineOffset="0"/>
+ <OutLineNumberingLevel Prefix=" " NumType="1" Suffix="." BulletChar="0020" BulletFontName="" ParentNumbering="0" LeftMargin="100" SymbolTextDistance="50" FirstLineOffset="0"/>
+ <OutLineNumberingLevel Prefix=" " NumType="4" Suffix="." BulletChar="0020" BulletFontName="" ParentNumbering="0" LeftMargin="150" SymbolTextDistance="50" FirstLineOffset="0"/>
+ <OutLineNumberingLevel Prefix=" " NumType="6" Suffix="." BulletChar="2022" BulletFontName="StarSymbol" ParentNumbering="0" LeftMargin="200" SymbolTextDistance="50" FirstLineOffset="0"/>
+ <OutLineNumberingLevel Prefix=" " NumType="6" Suffix=" " BulletChar="2022" BulletFontName="StarSymbol" ParentNumbering="0" LeftMargin="250" SymbolTextDistance="50" FirstLineOffset="0"/>
</OutlineStyle>
- <OutlineStyle>
- <OutLineNumberingLevel Prefix="第" NumType="4" Suffix="条" BulletChar="" BulletFontName="" ParentNumbering="0" LeftMargin="0" SymbolTextDistance="50" FirstLineOffset="0" />
- <OutLineNumberingLevel Prefix="节" NumType="4" Suffix="." BulletChar="" BulletFontName="" ParentNumbering="1" LeftMargin="50" SymbolTextDistance="50" FirstLineOffset="0" />
- <OutLineNumberingLevel Prefix="(" NumType="1" Suffix=")" BulletChar="" BulletFontName="" ParentNumbering="0" LeftMargin="100" SymbolTextDistance="50" FirstLineOffset="0" />
- <OutLineNumberingLevel Prefix=" " NumType="14" Suffix=" " BulletChar="" BulletFontName="" ParentNumbering="0" LeftMargin="150" SymbolTextDistance="50" FirstLineOffset="0" />
- <OutLineNumberingLevel Prefix=" " NumType="3" Suffix="." BulletChar="" BulletFontName="" ParentNumbering="0" LeftMargin="200" SymbolTextDistance="50" FirstLineOffset="0" />
+ <OutlineStyle> <!-- 1.1.1.1. -->
+ <OutLineNumberingLevel Prefix=" " NumType="4" Suffix="." BulletChar="0020" BulletFontName="" ParentNumbering="0" LeftMargin="0" SymbolTextDistance="50" FirstLineOffset="0"/>
+ <OutLineNumberingLevel Prefix=" " NumType="4" Suffix="." BulletChar="0020" BulletFontName="" ParentNumbering="0" LeftMargin="50" SymbolTextDistance="50" FirstLineOffset="0"/>
+ <OutLineNumberingLevel Prefix=" " NumType="4" Suffix="." BulletChar="0020" BulletFontName="" ParentNumbering="0" LeftMargin="100" SymbolTextDistance="50" FirstLineOffset="0"/>
+ <OutLineNumberingLevel Prefix=" " NumType="4" Suffix="." BulletChar="0020" BulletFontName="" ParentNumbering="0" LeftMargin="150" SymbolTextDistance="50" FirstLineOffset="0"/>
+ <OutLineNumberingLevel Prefix=" " NumType="4" Suffix="." BulletChar="0020" BulletFontName="" ParentNumbering="0" LeftMargin="200" SymbolTextDistance="50" FirstLineOffset="0"/>
+ <OutLineNumberingLevel Prefix=" " NumType="4" Suffix=" " BulletChar="0020" BulletFontName="" ParentNumbering="0" LeftMargin="250" SymbolTextDistance="50" FirstLineOffset="0"/>
</OutlineStyle>
- <OutlineStyle>
- <OutLineNumberingLevel Prefix=" " NumType="18" Suffix="、" BulletChar="" BulletFontName="" ParentNumbering="0" LeftMargin="0" SymbolTextDistance="50" FirstLineOffset="0" />
- <OutLineNumberingLevel Prefix=" " NumType="19" Suffix="、" BulletChar="" BulletFontName="" ParentNumbering="0" LeftMargin="50" SymbolTextDistance="50" FirstLineOffset="0" />
- <OutLineNumberingLevel Prefix=" " NumType="15" Suffix="、" BulletChar="" BulletFontName="" ParentNumbering="0" LeftMargin="100" SymbolTextDistance="50" FirstLineOffset="0" />
- <OutLineNumberingLevel Prefix=" " NumType="16" Suffix="、" BulletChar="" BulletFontName="" ParentNumbering="0" LeftMargin="150" SymbolTextDistance="50" FirstLineOffset="0" />
- <OutLineNumberingLevel Prefix=" " NumType="4" Suffix="." BulletChar="" BulletFontName="" ParentNumbering="0" LeftMargin="200" SymbolTextDistance="50" FirstLineOffset="0" />
+ <OutlineStyle> <!-- 1. 1.1 a. circle -->
+ <OutLineNumberingLevel Prefix=" " NumType="4" Suffix="." BulletChar="0020" BulletFontName="" ParentNumbering="0" LeftMargin="0" SymbolTextDistance="50" FirstLineOffset="0"/>
+ <OutLineNumberingLevel Prefix=" " NumType="4" Suffix="." BulletChar="0020" BulletFontName="" ParentNumbering="1" LeftMargin="50" SymbolTextDistance="50" FirstLineOffset="0"/>
+ <OutLineNumberingLevel Prefix=" " NumType="1" Suffix=")" BulletChar="0020" BulletFontName="" ParentNumbering="0" LeftMargin="100" SymbolTextDistance="50" FirstLineOffset="0"/>
+ <OutLineNumberingLevel Prefix=" " NumType="6" Suffix=" " BulletChar="2022" BulletFontName="StarSymbol" ParentNumbering="0" LeftMargin="150" SymbolTextDistance="50" FirstLineOffset="0"/>
+ <OutLineNumberingLevel Prefix=" " NumType="6" Suffix=" " BulletChar="2022" BulletFontName="StarSymbol" ParentNumbering="0" LeftMargin="200" SymbolTextDistance="50" FirstLineOffset="0"/>
+ <OutLineNumberingLevel Prefix=" " NumType="6" Suffix=" " BulletChar="2022" BulletFontName="StarSymbol" ParentNumbering="0" LeftMargin="250" SymbolTextDistance="50" FirstLineOffset="0"/>
</OutlineStyle>
- <OutlineStyle>
- <OutLineNumberingLevel Prefix="第" NumType="4" Suffix="章" BulletChar="" BulletFontName="" ParentNumbering="0" LeftMargin="0" SymbolTextDistance="50" FirstLineOffset="0"/>
- <OutLineNumberingLevel Prefix="第" NumType="4" Suffix="节" BulletChar="" BulletFontName="" ParentNumbering="0" LeftMargin="50" SymbolTextDistance="50" FirstLineOffset="0"/>
- <OutLineNumberingLevel Prefix="第" NumType="4" Suffix="项" BulletChar="" BulletFontName="" ParentNumbering="0" LeftMargin="100" SymbolTextDistance="50" FirstLineOffset="0"/>
- <OutLineNumberingLevel Prefix="第" NumType="4" Suffix="条" BulletChar="" BulletFontName="" ParentNumbering="0" LeftMargin="150" SymbolTextDistance="50" FirstLineOffset="0"/>
- <OutLineNumberingLevel Prefix=" " NumType="4" Suffix="." BulletChar="" BulletFontName="" ParentNumbering="0" LeftMargin="200" SymbolTextDistance="50" FirstLineOffset="0"/>
+ <OutlineStyle> <!-- A.I.a.i. -->
+ <OutLineNumberingLevel Prefix=" " NumType="0" Suffix="." BulletChar="0020" BulletFontName="" ParentNumbering="0" LeftMargin="0" SymbolTextDistance="50" FirstLineOffset="0"/>
+ <OutLineNumberingLevel Prefix=" " NumType="2" Suffix="." BulletChar="0020" BulletFontName="" ParentNumbering="0" LeftMargin="50" SymbolTextDistance="50" FirstLineOffset="0" Adjust="1"/>
+ <OutLineNumberingLevel Prefix=" " NumType="1" Suffix="." BulletChar="0020" BulletFontName="" ParentNumbering="0" LeftMargin="100" SymbolTextDistance="50" FirstLineOffset="0"/>
+ <OutLineNumberingLevel Prefix=" " NumType="3" Suffix="." BulletChar="0020" BulletFontName="" ParentNumbering="0" LeftMargin="150" SymbolTextDistance="50" FirstLineOffset="0" Adjust="1"/>
+ <OutLineNumberingLevel Prefix=" " NumType="6" Suffix=" " BulletChar="2022" BulletFontName="StarSymbol" ParentNumbering="0" LeftMargin="200" SymbolTextDistance="50" FirstLineOffset="0"/>
+ <OutLineNumberingLevel Prefix=" " NumType="6" Suffix=" " BulletChar="2022" BulletFontName="StarSymbol" ParentNumbering="0" LeftMargin="250" SymbolTextDistance="50" FirstLineOffset="0"/>
</OutlineStyle>
- <OutlineStyle>
- <OutLineNumberingLevel Prefix="第" NumType="15" Suffix="章" BulletChar="" BulletFontName="" ParentNumbering="0" LeftMargin="0" SymbolTextDistance="50" FirstLineOffset="0"/>
- <OutLineNumberingLevel Prefix="第" NumType="15" Suffix="节" BulletChar="" BulletFontName="" ParentNumbering="0" LeftMargin="50" SymbolTextDistance="50" FirstLineOffset="0"/>
- <OutLineNumberingLevel Prefix="第" NumType="15" Suffix="项" BulletChar="" BulletFontName="" ParentNumbering="0" LeftMargin="100" SymbolTextDistance="50" FirstLineOffset="0"/>
- <OutLineNumberingLevel Prefix="第" NumType="15" Suffix="条" BulletChar="" BulletFontName="" ParentNumbering="0" LeftMargin="150" SymbolTextDistance="50" FirstLineOffset="0"/>
- <OutLineNumberingLevel Prefix=" " NumType="15" Suffix="、" BulletChar="" BulletFontName="" ParentNumbering="0" LeftMargin="200" SymbolTextDistance="50" FirstLineOffset="0"/>
+ <OutlineStyle> <!-- 1) a) 1) A) -->
+ <OutLineNumberingLevel Prefix=" " NumType="4" Suffix=")" BulletChar="0020" BulletFontName="" ParentNumbering="0" LeftMargin="0" SymbolTextDistance="50" FirstLineOffset="0"/>
+ <OutLineNumberingLevel Prefix=" " NumType="1" Suffix=")" BulletChar="0020" BulletFontName="" ParentNumbering="0" LeftMargin="50" SymbolTextDistance="50" FirstLineOffset="0"/>
+ <OutLineNumberingLevel Prefix=" " NumType="4" Suffix=")" BulletChar="0020" BulletFontName="" ParentNumbering="0" LeftMargin="100" SymbolTextDistance="50" FirstLineOffset="0"/>
+ <OutLineNumberingLevel Prefix=" " NumType="0" Suffix=")" BulletChar="0020" BulletFontName="" ParentNumbering="0" LeftMargin="150" SymbolTextDistance="50" FirstLineOffset="0"/>
+ <OutLineNumberingLevel Prefix=" " NumType="6" Suffix=" " BulletChar="2022" BulletFontName="StarSymbol" ParentNumbering="0" LeftMargin="200" SymbolTextDistance="50" FirstLineOffset="0"/>
+ <OutLineNumberingLevel Prefix=" " NumType="6" Suffix=" " BulletChar="2022" BulletFontName="StarSymbol" ParentNumbering="0" LeftMargin="250" SymbolTextDistance="50" FirstLineOffset="0"/>
</OutlineStyle>
- <OutlineStyle>
- <OutLineNumberingLevel Prefix="第" NumType="16" Suffix="章" BulletChar="" BulletFontName="" ParentNumbering="0" LeftMargin="0" SymbolTextDistance="50" FirstLineOffset="0"/>
- <OutLineNumberingLevel Prefix="第" NumType="16" Suffix="节" BulletChar="" BulletFontName="" ParentNumbering="0" LeftMargin="50" SymbolTextDistance="50" FirstLineOffset="0"/>
- <OutLineNumberingLevel Prefix="第" NumType="16" Suffix="项" BulletChar="" BulletFontName="" ParentNumbering="0" LeftMargin="100" SymbolTextDistance="50" FirstLineOffset="0"/>
- <OutLineNumberingLevel Prefix="第" NumType="16" Suffix="条" BulletChar="" BulletFontName="" ParentNumbering="0" LeftMargin="150" SymbolTextDistance="50" FirstLineOffset="0"/>
- <OutLineNumberingLevel Prefix=" " NumType="16" Suffix="、" BulletChar="" BulletFontName="" ParentNumbering="0" LeftMargin="200" SymbolTextDistance="50" FirstLineOffset="0"/>
+ <OutlineStyle> <!-- ISO 2145 compliant decimal outline-->
+ <OutLineNumberingLevel Prefix=" " NumType="4" Suffix=" " BulletChar="0020" BulletFontName="" ParentNumbering="0" LeftMargin="0" SymbolTextDistance="50" FirstLineOffset="0"/>
+ <OutLineNumberingLevel Prefix=" " NumType="4" Suffix=" " BulletChar="0020" BulletFontName="" ParentNumbering="1" LeftMargin="50" SymbolTextDistance="50" FirstLineOffset="0"/>
+ <OutLineNumberingLevel Prefix=" " NumType="4" Suffix=" " BulletChar="0020" BulletFontName="" ParentNumbering="2" LeftMargin="100" SymbolTextDistance="50" FirstLineOffset="0"/>
+ <OutLineNumberingLevel Prefix=" " NumType="4" Suffix=" " BulletChar="0020" BulletFontName="" ParentNumbering="3" LeftMargin="150" SymbolTextDistance="50" FirstLineOffset="0"/>
+ <OutLineNumberingLevel Prefix=" " NumType="4" Suffix=" " BulletChar="0020" BulletFontName="" ParentNumbering="4" LeftMargin="200" SymbolTextDistance="50" FirstLineOffset="0"/>
+ <OutLineNumberingLevel Prefix=" " NumType="4" Suffix=" " BulletChar="0020" BulletFontName="" ParentNumbering="5" LeftMargin="250" SymbolTextDistance="50" FirstLineOffset="0"/>
</OutlineStyle>
<OutlineStyle>
- <OutLineNumberingLevel Prefix=" " NumType="2" Suffix="." BulletChar="" BulletFontName="" ParentNumbering="0" LeftMargin="0" SymbolTextDistance="50" FirstLineOffset="0" />
- <OutLineNumberingLevel Prefix=" " NumType="0" Suffix="." BulletChar="" BulletFontName="" ParentNumbering="0" LeftMargin="50" SymbolTextDistance="50" FirstLineOffset="0" />
- <OutLineNumberingLevel Prefix=" " NumType="4" Suffix="." BulletChar="" BulletFontName="" ParentNumbering="0" LeftMargin="100" SymbolTextDistance="50" FirstLineOffset="0" />
- <OutLineNumberingLevel Prefix=" " NumType="3" Suffix="." BulletChar="" BulletFontName="" ParentNumbering="0" LeftMargin="150" SymbolTextDistance="50" FirstLineOffset="0" />
- <OutLineNumberingLevel Prefix=" " NumType="1" Suffix="." BulletChar="" BulletFontName="" ParentNumbering="0" LeftMargin="200" SymbolTextDistance="50" FirstLineOffset="0" />
+ <OutLineNumberingLevel Prefix=" " NumType="6" Suffix=" " BulletChar="27A2" BulletFontName="StarSymbol" ParentNumbering="0" LeftMargin="0" SymbolTextDistance="50" FirstLineOffset="0"/>
+ <OutLineNumberingLevel Prefix=" " NumType="6" Suffix=" " BulletChar="E006" BulletFontName="StarSymbol" ParentNumbering="0" LeftMargin="50" SymbolTextDistance="50" FirstLineOffset="0"/>
+ <OutLineNumberingLevel Prefix=" " NumType="6" Suffix=")" BulletChar="E004" BulletFontName="StarSymbol" ParentNumbering="0" LeftMargin="100" SymbolTextDistance="50" FirstLineOffset="0"/>
+ <OutLineNumberingLevel Prefix=" " NumType="6" Suffix=" " BulletChar="2022" BulletFontName="StarSymbol" ParentNumbering="0" LeftMargin="150" SymbolTextDistance="50" FirstLineOffset="0"/>
+ <OutLineNumberingLevel Prefix=" " NumType="6" Suffix=" " BulletChar="2022" BulletFontName="StarSymbol" ParentNumbering="0" LeftMargin="200" SymbolTextDistance="50" FirstLineOffset="0"/>
+ <OutLineNumberingLevel Prefix=" " NumType="6" Suffix=" " BulletChar="2022" BulletFontName="StarSymbol" ParentNumbering="0" LeftMargin="250" SymbolTextDistance="50" FirstLineOffset="0"/>
+ </OutlineStyle>
+ <OutlineStyle> <!-- Chinese outline style for official documents -->
+ <OutLineNumberingLevel Prefix="" NumType="15" Suffix="、" BulletChar="" BulletFontName="" ParentNumbering="0" LeftMargin="0" SymbolTextDistance="50" FirstLineOffset="0"/>
+ <OutLineNumberingLevel Prefix="(" NumType="15" Suffix=")" BulletChar="" BulletFontName="" ParentNumbering="0" LeftMargin="50" SymbolTextDistance="50" FirstLineOffset="0"/>
+ <OutLineNumberingLevel Prefix="" NumType="4" Suffix="." BulletChar="" BulletFontName="" ParentNumbering="0" LeftMargin="100" SymbolTextDistance="50" FirstLineOffset="0"/>
+ <OutLineNumberingLevel Prefix="(" NumType="4" Suffix=")" BulletChar="" BulletFontName="" ParentNumbering="0" LeftMargin="150" SymbolTextDistance="50" FirstLineOffset="0"/>
+ <OutLineNumberingLevel Prefix="" NumType="14" Suffix="" BulletChar="" BulletFontName="" ParentNumbering="0" LeftMargin="200" SymbolTextDistance="50" FirstLineOffset="0"/>
+ <OutLineNumberingLevel Prefix="" NumType="1" Suffix="." BulletChar="" BulletFontName="" ParentNumbering="0" LeftMargin="250" SymbolTextDistance="50" FirstLineOffset="0"/>
</OutlineStyle>
</LC_OutLineNumberingLevel>
</Locale>
diff --git a/i18npool/source/localedata/filewriter.cxx b/i18npool/source/localedata/filewriter.cxx
index 4c095b14bc84..e6bafdee5e7c 100644
--- a/i18npool/source/localedata/filewriter.cxx
+++ b/i18npool/source/localedata/filewriter.cxx
@@ -39,133 +39,151 @@ void OFileWriter::writeInt(sal_Int16 nb) const
fprintf(m_f, "%d", nb);
}
+void OFileWriter::writeHexInt(sal_Int16 nb) const
+{
+ fprintf(m_f, "%x", nb);
+}
+
void OFileWriter::writeAsciiString(const char* str) const
{
fprintf(m_f, "%s", str);
}
-void OFileWriter::writeStringCharacters(const OUString& str) const
+void OFileWriter::writeStringCharacters(std::u16string_view str) const
{
- for(int i = 0; i < str.getLength(); i++)
+ for(size_t i = 0; i < str.size(); i++)
fprintf(m_f, "0x%x, ", str[i]);
}
-void OFileWriter::writeFunction(const char *func, const char *count, const char *array) const
+void OFileWriter::writeOUStringLiteralCharacters(std::u16string_view str) const
{
- fprintf(m_f, "sal_Unicode ** SAL_CALL %s%s(sal_Int16& count)\n{\n", func, theLocale.c_str());
- fprintf(m_f, "\tcount = %s;\n", count);
- fprintf(m_f, "\treturn (sal_Unicode**)%s;\n}\n", array);
+ for(size_t i = 0; i < str.size(); i++)
+ fprintf(m_f, "\\x%04x", str[i]);
}
-void OFileWriter::writeRefFunction(const char *func, std::u16string_view useLocale) const
+void OFileWriter::writeOUStringRefFunction(const char *func, std::u16string_view useLocale) const
{
OString aRefLocale( OUStringToOString(useLocale, RTL_TEXTENCODING_ASCII_US) );
const char* locale = aRefLocale.getStr();
- fprintf(m_f, "extern sal_Unicode ** SAL_CALL %s%s(sal_Int16& count);\n", func, locale);
- fprintf(m_f, "sal_Unicode ** SAL_CALL %s%s(sal_Int16& count)\n{\n", func, theLocale.c_str());
+ fprintf(m_f, "extern const OUString * %s%s(sal_Int16& count);\n", func, locale);
+ fprintf(m_f, "SAL_DLLPUBLIC_EXPORT const OUString * %s%s(sal_Int16& count)\n{\n", func, theLocale.c_str());
fprintf(m_f, "\treturn %s%s(count);\n}\n", func, locale);
}
-void OFileWriter::writeFunction(const char *func, const char *count, const char *array, const char *from, const char *to) const
-{
- fprintf(m_f, "sal_Unicode const * const * SAL_CALL %s%s(sal_Int16& count, const sal_Unicode*& from, const sal_Unicode*& to)\n{\n", func, theLocale.c_str());
- fprintf(m_f, "\tcount = %s;\n", count);
- fprintf(m_f, "\tfrom = %s;\n", from);
- fprintf(m_f, "\tto = %s;\n", to);
- fprintf(m_f, "\treturn (sal_Unicode**)%s;\n}\n", array);
-}
-
-void OFileWriter::writeRefFunction(const char *func, std::u16string_view useLocale, const char *to) const
+void OFileWriter::writeOUStringRefFunction(const char *func, std::u16string_view useLocale, const char *to) const
{
OString aRefLocale( OUStringToOString(useLocale, RTL_TEXTENCODING_ASCII_US) );
const char* locale = aRefLocale.getStr();
- fprintf(m_f, "extern sal_Unicode const * const * SAL_CALL %s%s(sal_Int16& count, const sal_Unicode*& from, const sal_Unicode*& to);\n", func, locale);
- fprintf(m_f, "sal_Unicode const * const * SAL_CALL %s%s(sal_Int16& count, const sal_Unicode*& from, const sal_Unicode*& to)\n{\n", func, theLocale.c_str());
+ fprintf(m_f, "extern OUString const * %s%s(sal_Int16& count, const sal_Unicode*& from, const sal_Unicode*& to);\n", func, locale);
+ fprintf(m_f, "SAL_DLLPUBLIC_EXPORT OUString const * %s%s(sal_Int16& count, const sal_Unicode*& from, const sal_Unicode*& to)\n{\n", func, theLocale.c_str());
fprintf(m_f, "\tto = %s;\n", to);
fprintf(m_f, "\tconst sal_Unicode* tmp;\n");
fprintf(m_f, "\treturn %s%s(count, from, tmp);\n}\n", func, locale);
}
-void OFileWriter::writeFunction2(const char *func, const char *style, const char* attr, const char *array) const
+void OFileWriter::writeOUStringFunction(const char *func, const char *count, const char *array) const
+{
+ fprintf(m_f, "SAL_DLLPUBLIC_EXPORT OUString const * %s%s(sal_Int16& count)\n{\n", func, theLocale.c_str());
+ fprintf(m_f, "\tcount = %s;\n", count);
+ fprintf(m_f, "\treturn (OUString const *)%s;\n}\n", array);
+}
+
+void OFileWriter::writeOUStringFunction(const char *func, const char *count, const char *array, const char *from, const char *to) const
{
- fprintf(m_f, "const sal_Unicode *** SAL_CALL %s%s( sal_Int16& nStyles, sal_Int16& nAttributes )\n{\n", func, theLocale.c_str());
+ fprintf(m_f, "SAL_DLLPUBLIC_EXPORT OUString const * %s%s(sal_Int16& count, const sal_Unicode*& from, const sal_Unicode*& to)\n{\n", func, theLocale.c_str());
+ fprintf(m_f, "\tcount = %s;\n", count);
+ fprintf(m_f, "\tfrom = %s;\n", from);
+ fprintf(m_f, "\tto = %s;\n", to);
+ fprintf(m_f, "\treturn (const OUString *)%s;\n}\n", array);
+}
+
+void OFileWriter::writeOUStringFunction2(const char *func, const char *style, const char* attr, const char *array) const
+{
+ fprintf(m_f, "SAL_DLLPUBLIC_EXPORT const OUString ** %s%s( sal_Int16& nStyles, sal_Int16& nAttributes )\n{\n", func, theLocale.c_str());
fprintf(m_f, "\tnStyles = %s;\n", style);
fprintf(m_f, "\tnAttributes = %s;\n", attr);
- fprintf(m_f, "\treturn %s;\n}\n", array);
+ fprintf(m_f, "\treturn (const OUString **)%s;\n}\n", array);
}
-void OFileWriter::writeRefFunction2(const char *func, std::u16string_view useLocale) const
+void OFileWriter::writeOUStringRefFunction2(const char *func, std::u16string_view useLocale) const
{
OString aRefLocale( OUStringToOString(useLocale, RTL_TEXTENCODING_ASCII_US) );
const char* locale = aRefLocale.getStr();
- fprintf(m_f, "extern const sal_Unicode *** SAL_CALL %s%s(sal_Int16& nStyles, sal_Int16& nAttributes);\n", func, locale);
- fprintf(m_f, "const sal_Unicode *** SAL_CALL %s%s(sal_Int16& nStyles, sal_Int16& nAttributes)\n{\n", func, theLocale.c_str());
+ fprintf(m_f, "extern const OUString ** %s%s(sal_Int16& nStyles, sal_Int16& nAttributes);\n", func, locale);
+ fprintf(m_f, "SAL_DLLPUBLIC_EXPORT const OUString ** %s%s(sal_Int16& nStyles, sal_Int16& nAttributes)\n{\n", func, theLocale.c_str());
fprintf(m_f, "\treturn %s%s(nStyles, nAttributes);\n}\n", func, locale);
}
-void OFileWriter::writeFunction3(const char *func, const char *style, const char* levels, const char* attr, const char *array) const
+void OFileWriter::writeOUStringFunction3(const char *func, const char *style, const char* levels, const char* attr, const char *array) const
{
- fprintf(m_f, "const sal_Unicode **** SAL_CALL %s%s( sal_Int16& nStyles, sal_Int16& nLevels, sal_Int16& nAttributes )\n{\n", func, theLocale.c_str());
+ fprintf(m_f, "SAL_DLLPUBLIC_EXPORT const OUString *** %s%s( sal_Int16& nStyles, sal_Int16& nLevels, sal_Int16& nAttributes )\n{\n", func, theLocale.c_str());
fprintf(m_f, "\tnStyles = %s;\n", style);
fprintf(m_f, "\tnLevels = %s;\n", levels);
fprintf(m_f, "\tnAttributes = %s;\n", attr);
- fprintf(m_f, "\treturn %s;\n}\n", array);
+ fprintf(m_f, "\treturn (const OUString ***) %s;\n}\n", array);
}
-void OFileWriter::writeRefFunction3(const char *func, std::u16string_view useLocale) const
+void OFileWriter::writeOUStringRefFunction3(const char *func, std::u16string_view useLocale) const
{
OString aRefLocale( OUStringToOString(useLocale, RTL_TEXTENCODING_ASCII_US) );
const char* locale = aRefLocale.getStr();
- fprintf(m_f, "extern const sal_Unicode **** SAL_CALL %s%s(sal_Int16& nStyles, sal_Int16& nLevels, sal_Int16& nAttributes);\n", func, locale);
- fprintf(m_f, "const sal_Unicode **** SAL_CALL %s%s(sal_Int16& nStyles, sal_Int16& nLevels, sal_Int16& nAttributes)\n{\n", func, theLocale.c_str());
+ fprintf(m_f, "extern const OUString *** %s%s(sal_Int16& nStyles, sal_Int16& nLevels, sal_Int16& nAttributes);\n", func, locale);
+ fprintf(m_f, "SAL_DLLPUBLIC_EXPORT const OUString *** %s%s(sal_Int16& nStyles, sal_Int16& nLevels, sal_Int16& nAttributes)\n{\n", func, theLocale.c_str());
fprintf(m_f, "\treturn %s%s(nStyles, nLevels, nAttributes);\n}\n", func, locale);
}
-void OFileWriter::writeIntParameter(const char* pAsciiStr, const sal_Int16 count, sal_Int16 val) const
+void OFileWriter::writeOUStringLiteralIntParameter(const char* pAsciiStr, const sal_Int16 count, sal_Int16 val) const
{
- fprintf(m_f, "static const sal_Unicode %s%d[] = {%d};\n", pAsciiStr, count, val);
+ fprintf(m_f, "static constexpr OUStringLiteral %s%d = u\"\\x%x\";\n", pAsciiStr, count, val);
}
-bool OFileWriter::writeDefaultParameter(const char* pAsciiStr, std::u16string_view str, sal_Int16 count) const
+bool OFileWriter::writeOUStringLiteralDefaultParameter(const char* pAsciiStr, std::u16string_view str, sal_Int16 count) const
{
bool bBool = str == u"true";
- fprintf(m_f,"static const sal_Unicode default%s%d[] = {%d};\n", pAsciiStr, count, bBool);
+ fprintf(m_f,"static constexpr OUStringLiteral default%s%d = u\"\\x%x\";\n", pAsciiStr, count, bBool);
return bBool;
}
-void OFileWriter::writeParameter(const char* pAsciiStr, const OUString& aChars) const
+void OFileWriter::writeOUStringLiteralParameter(const char* pAsciiStr, std::u16string_view aChars) const
{
- fprintf(m_f, "static const sal_Unicode %s[] = {", pAsciiStr);
- writeStringCharacters(aChars);
- fprintf(m_f, "0x0};\n");
+ fprintf(m_f, "static constexpr OUStringLiteral %s = u\"", pAsciiStr);
+ writeOUStringLiteralCharacters(aChars);
+ fprintf(m_f, "\";\n");
}
-void OFileWriter::writeParameter(const char* pAsciiStr, const OUString& aChars, sal_Int16 count) const
+void OFileWriter::writeParameter(const char* pAsciiStr, std::u16string_view aChars, sal_Int16 count) const
{
fprintf(m_f, "static const sal_Unicode %s%d[] = {", pAsciiStr, count);
writeStringCharacters(aChars);
fprintf(m_f, "0x0};\n");
}
-void OFileWriter::writeParameter(const char* pAsciiStr, const OUString& aChars, sal_Int16 count0, sal_Int16 count1) const
+void OFileWriter::writeOUStringLiteralParameter(const char* pAsciiStr, std::u16string_view aChars, sal_Int16 count) const
{
- fprintf(m_f, "static const sal_Unicode %s%d%d[] = {", pAsciiStr, count0, count1);
- writeStringCharacters(aChars);
- fprintf(m_f, "0x0};\n");
+ fprintf(m_f, "static constexpr OUStringLiteral %s%d = u\"", pAsciiStr, count);
+ writeOUStringLiteralCharacters(aChars);
+ fprintf(m_f, "\";\n");
}
-void OFileWriter::writeParameter(const char* pTagStr, const char* pAsciiStr, const OUString& aChars, const sal_Int16 count) const
+void OFileWriter::writeOUStringLiteralParameter(const char* pAsciiStr, std::u16string_view aChars, sal_Int16 count0, sal_Int16 count1) const
{
- fprintf(m_f, "static const sal_Unicode %s%s%d[] = {", pTagStr, pAsciiStr, count);
- writeStringCharacters(aChars);
- fprintf(m_f, "0x0};\n");
+ fprintf(m_f, "static constexpr OUStringLiteral %s%d%d = u\"", pAsciiStr, count0, count1);
+ writeOUStringLiteralCharacters(aChars);
+ fprintf(m_f, "\";\n");
}
-void OFileWriter::writeParameter(const char* pTagStr, const char* pAsciiStr, const OUString& aChars, sal_Int16 count0, sal_Int16 count1) const
+void OFileWriter::writeOUStringLiteralParameter(const char* pTagStr, const char* pAsciiStr, std::u16string_view aChars, const sal_Int16 count) const
{
- fprintf(m_f, "static const sal_Unicode %s%s%d%d[] = {", pTagStr, pAsciiStr, count0, count1);
- writeStringCharacters(aChars);
- fprintf(m_f, "0x0};\n");
+ fprintf(m_f, "static constexpr OUStringLiteral %s%s%d = u\"", pTagStr, pAsciiStr, count);
+ writeOUStringLiteralCharacters(aChars);
+ fprintf(m_f, "\";\n");
+}
+
+void OFileWriter::writeOUStringLiteralParameter(const char* pTagStr, const char* pAsciiStr, std::u16string_view aChars, sal_Int16 count0, sal_Int16 count1) const
+{
+ fprintf(m_f, "static constexpr OUStringLiteral %s%s%d%d = u\"", pTagStr, pAsciiStr, count0, count1);
+ writeOUStringLiteralCharacters(aChars);
+ fprintf(m_f, "\";\n");
}
void OFileWriter::closeOutput() const
diff --git a/i18npool/source/localedata/localedata.cxx b/i18npool/source/localedata/localedata.cxx
index 5aecfa32a7fd..7f59dabda5fb 100644
--- a/i18npool/source/localedata/localedata.cxx
+++ b/i18npool/source/localedata/localedata.cxx
@@ -18,21 +18,22 @@
*/
#include <memory>
+#include <mutex>
#include <string_view>
#include <com/sun/star/beans/PropertyValue.hpp>
#include <com/sun/star/container/XIndexAccess.hpp>
#include <com/sun/star/lang/IndexOutOfBoundsException.hpp>
-#include <com/sun/star/text/HoriOrientation.hpp>
#include <comphelper/sequence.hxx>
#include <cppuhelper/implbase.hxx>
#include <cppuhelper/supportsservice.hxx>
+#include <editeng/svxenum.hxx>
#include <localedata.hxx>
#include <i18nlangtag/mslangid.hxx>
#include <i18nlangtag/languagetag.hxx>
#include <sal/log.hxx>
#include <osl/diagnose.h>
-#include <rtl/instance.hxx>
#include <sal/macros.h>
+#include <o3tl/string_view.hxx>
namespace com::sun::star::uno { class XComponentContext; }
@@ -40,301 +41,328 @@ using namespace com::sun::star::i18n;
using namespace com::sun::star::uno;
using namespace com::sun::star::lang;
using namespace com::sun::star;
+using i18npool::DataLocaleLibrary;
-typedef sal_Unicode** (* MyFunc_Type)( sal_Int16&);
-typedef sal_Unicode const *** (* MyFunc_Type2)( sal_Int16&, sal_Int16& );
-typedef sal_Unicode const **** (* MyFunc_Type3)( sal_Int16&, sal_Int16&, sal_Int16& );
-typedef sal_Unicode const * const * (* MyFunc_FormatCode)( sal_Int16&, sal_Unicode const *&, sal_Unicode const *& );
+typedef OUString const * (* MyFuncOUString_Type)( sal_Int16&);
+typedef OUString const ** (* MyFunc_Type2)( sal_Int16&, sal_Int16& );
+typedef OUString const *** (* MyFunc_Type3)( sal_Int16&, sal_Int16&, sal_Int16& );
+typedef OUString const * (* MyFunc_FormatCode)( sal_Int16&, sal_Unicode const *&, sal_Unicode const *& );
#ifndef DISABLE_DYNLOADING
-static const char *lcl_DATA_EN = "localedata_en";
-static const char *lcl_DATA_ES = "localedata_es";
-static const char *lcl_DATA_EURO = "localedata_euro";
-static const char *lcl_DATA_OTHERS = "localedata_others";
-
+#ifdef SAL_DLLPREFIX
+// mostly "lib*.so"
+constexpr const char* lcl_DATA_EN = SAL_DLLPREFIX "localedata_en" SAL_DLLEXTENSION;
+constexpr const char* lcl_DATA_ES = SAL_DLLPREFIX "localedata_es" SAL_DLLEXTENSION;
+constexpr const char* lcl_DATA_EURO = SAL_DLLPREFIX "localedata_euro" SAL_DLLEXTENSION;
+constexpr const char* lcl_DATA_OTHERS = SAL_DLLPREFIX "localedata_others" SAL_DLLEXTENSION;
+#else
+// mostly "*.dll"
+constexpr const char* lcl_DATA_EN = "localedata_en" SAL_DLLEXTENSION;
+constexpr const char* lcl_DATA_ES = "localedata_es" SAL_DLLEXTENSION;
+constexpr const char* lcl_DATA_EURO = "localedata_euro" SAL_DLLEXTENSION;
+constexpr const char* lcl_DATA_OTHERS = "localedata_others" SAL_DLLEXTENSION;
#endif
-#ifndef DISABLE_DYNLOADING
+static const char* getLibraryName(DataLocaleLibrary aLib) {
+ switch(aLib) {
+ case DataLocaleLibrary::EN:
+ return lcl_DATA_EN;
+ case DataLocaleLibrary::ES:
+ return lcl_DATA_ES;
+ case DataLocaleLibrary::EURO:
+ return lcl_DATA_EURO;
+ case DataLocaleLibrary::OTHERS:
+ return lcl_DATA_OTHERS;
+ }
+ return nullptr;
+}
-const struct {
+constexpr struct {
const char* pLocale;
- const char* pLib;
+ i18npool::DataLocaleLibrary pLib;
} aLibTable[] = {
- { "en_US", lcl_DATA_EN },
- { "en_AU", lcl_DATA_EN },
- { "en_BZ", lcl_DATA_EN },
- { "en_CA", lcl_DATA_EN },
- { "en_GB", lcl_DATA_EN },
- { "en_IE", lcl_DATA_EN },
- { "en_JM", lcl_DATA_EN },
- { "en_NZ", lcl_DATA_EN },
- { "en_PH", lcl_DATA_EN },
- { "en_TT", lcl_DATA_EN },
- { "en_ZA", lcl_DATA_EN },
- { "en_ZW", lcl_DATA_EN },
- { "en_NA", lcl_DATA_EN },
- { "en_GH", lcl_DATA_EN },
- { "en_MW", lcl_DATA_EN },
- { "en_GM", lcl_DATA_EN },
- { "en_BW", lcl_DATA_EN },
- { "en_ZM", lcl_DATA_EN },
- { "en_LK", lcl_DATA_EN },
- { "en_NG", lcl_DATA_EN },
- { "en_KE", lcl_DATA_EN },
- { "en_DK", lcl_DATA_EN },
-
- { "es_ES", lcl_DATA_ES },
- { "es_AR", lcl_DATA_ES },
- { "es_BO", lcl_DATA_ES },
- { "es_CL", lcl_DATA_ES },
- { "es_CO", lcl_DATA_ES },
- { "es_CR", lcl_DATA_ES },
- { "es_DO", lcl_DATA_ES },
- { "es_EC", lcl_DATA_ES },
- { "es_GT", lcl_DATA_ES },
- { "es_HN", lcl_DATA_ES },
- { "es_MX", lcl_DATA_ES },
- { "es_NI", lcl_DATA_ES },
- { "es_PA", lcl_DATA_ES },
- { "es_PE", lcl_DATA_ES },
- { "es_PR", lcl_DATA_ES },
- { "es_PY", lcl_DATA_ES },
- { "es_SV", lcl_DATA_ES },
- { "es_UY", lcl_DATA_ES },
- { "es_VE", lcl_DATA_ES },
- { "gl_ES", lcl_DATA_ES },
-
- { "de_DE", lcl_DATA_EURO },
- { "de_AT", lcl_DATA_EURO },
- { "de_CH", lcl_DATA_EURO },
- { "de_LI", lcl_DATA_EURO },
- { "de_LU", lcl_DATA_EURO },
- { "fr_FR", lcl_DATA_EURO },
- { "fr_BE", lcl_DATA_EURO },
- { "fr_CA", lcl_DATA_EURO },
- { "fr_CH", lcl_DATA_EURO },
- { "fr_LU", lcl_DATA_EURO },
- { "fr_MC", lcl_DATA_EURO },
- { "fr_BF", lcl_DATA_EURO },
- { "fr_CI", lcl_DATA_EURO },
- { "fr_ML", lcl_DATA_EURO },
- { "fr_SN", lcl_DATA_EURO },
- { "fr_BJ", lcl_DATA_EURO },
- { "fr_NE", lcl_DATA_EURO },
- { "fr_TG", lcl_DATA_EURO },
- { "it_IT", lcl_DATA_EURO },
- { "it_CH", lcl_DATA_EURO },
- { "sl_SI", lcl_DATA_EURO },
- { "sv_SE", lcl_DATA_EURO },
- { "sv_FI", lcl_DATA_EURO },
- { "ca_ES", lcl_DATA_EURO },
- { "ca_ES_valencia", lcl_DATA_EURO },
- { "cs_CZ", lcl_DATA_EURO },
- { "sk_SK", lcl_DATA_EURO },
- { "da_DK", lcl_DATA_EURO },
- { "el_GR", lcl_DATA_EURO },
- { "fi_FI", lcl_DATA_EURO },
- { "is_IS", lcl_DATA_EURO },
- { "nl_BE", lcl_DATA_EURO },
- { "nl_NL", lcl_DATA_EURO },
- { "no_NO", lcl_DATA_EURO },
- { "nn_NO", lcl_DATA_EURO },
- { "nb_NO", lcl_DATA_EURO },
- { "nds_DE", lcl_DATA_EURO },
- { "pl_PL", lcl_DATA_EURO },
- { "pt_BR", lcl_DATA_EURO },
- { "pt_PT", lcl_DATA_EURO },
- { "ru_RU", lcl_DATA_EURO },
- { "tr_TR", lcl_DATA_EURO },
- { "tt_RU", lcl_DATA_EURO },
- { "et_EE", lcl_DATA_EURO },
- { "vro_EE", lcl_DATA_EURO },
- { "lb_LU", lcl_DATA_EURO },
- { "lt_LT", lcl_DATA_EURO },
- { "lv_LV", lcl_DATA_EURO },
- { "uk_UA", lcl_DATA_EURO },
- { "ro_RO", lcl_DATA_EURO },
- { "cy_GB", lcl_DATA_EURO },
- { "bg_BG", lcl_DATA_EURO },
- { "sr_Latn_ME", lcl_DATA_EURO },
- { "sr_Latn_RS", lcl_DATA_EURO },
- { "sr_Latn_CS", lcl_DATA_EURO },
- { "sr_ME", lcl_DATA_EURO },
- { "sr_RS", lcl_DATA_EURO },
- { "sr_CS", lcl_DATA_EURO },
- { "hr_HR", lcl_DATA_EURO },
- { "bs_BA", lcl_DATA_EURO },
- { "eu_ES", lcl_DATA_EURO },
- { "fo_FO", lcl_DATA_EURO },
- { "ga_IE", lcl_DATA_EURO },
- { "gd_GB", lcl_DATA_EURO },
- { "ka_GE", lcl_DATA_EURO },
- { "be_BY", lcl_DATA_EURO },
- { "kl_GL", lcl_DATA_EURO },
- { "mk_MK", lcl_DATA_EURO },
- { "br_FR", lcl_DATA_EURO },
- { "la_VA", lcl_DATA_EURO },
- { "cv_RU", lcl_DATA_EURO },
- { "wa_BE", lcl_DATA_EURO },
- { "fur_IT", lcl_DATA_EURO },
- { "gsc_FR", lcl_DATA_EURO },
- { "fy_NL", lcl_DATA_EURO },
- { "oc_FR", lcl_DATA_EURO },
- { "mt_MT", lcl_DATA_EURO },
- { "sc_IT", lcl_DATA_EURO },
- { "ast_ES", lcl_DATA_EURO },
- { "ltg_LV", lcl_DATA_EURO },
- { "hsb_DE", lcl_DATA_EURO },
- { "dsb_DE", lcl_DATA_EURO },
- { "rue_SK", lcl_DATA_EURO },
- { "an_ES", lcl_DATA_EURO },
- { "myv_RU", lcl_DATA_EURO },
- { "lld_IT", lcl_DATA_EURO },
- { "cu_RU", lcl_DATA_EURO },
- { "vec_IT", lcl_DATA_EURO },
- { "szl_PL", lcl_DATA_EURO },
- { "lij_IT", lcl_DATA_EURO },
-
- { "ja_JP", lcl_DATA_OTHERS },
- { "ko_KR", lcl_DATA_OTHERS },
- { "zh_CN", lcl_DATA_OTHERS },
- { "zh_HK", lcl_DATA_OTHERS },
- { "zh_SG", lcl_DATA_OTHERS },
- { "zh_TW", lcl_DATA_OTHERS },
- { "zh_MO", lcl_DATA_OTHERS },
- { "en_HK", lcl_DATA_OTHERS }, // needs to be in OTHERS instead of EN because currency inherited from zh_HK
-
- { "ar_EG", lcl_DATA_OTHERS },
- { "ar_DZ", lcl_DATA_OTHERS },
- { "ar_LB", lcl_DATA_OTHERS },
- { "ar_SA", lcl_DATA_OTHERS },
- { "ar_TN", lcl_DATA_OTHERS },
- { "he_IL", lcl_DATA_OTHERS },
- { "hi_IN", lcl_DATA_OTHERS },
- { "kn_IN", lcl_DATA_OTHERS },
- { "ta_IN", lcl_DATA_OTHERS },
- { "te_IN", lcl_DATA_OTHERS },
- { "gu_IN", lcl_DATA_OTHERS },
- { "mr_IN", lcl_DATA_OTHERS },
- { "pa_IN", lcl_DATA_OTHERS },
- { "bn_IN", lcl_DATA_OTHERS },
- { "or_IN", lcl_DATA_OTHERS },
- { "en_IN", lcl_DATA_OTHERS }, // keep in OTHERS for IN
- { "ml_IN", lcl_DATA_OTHERS },
- { "bn_BD", lcl_DATA_OTHERS },
- { "th_TH", lcl_DATA_OTHERS },
-
- { "af_ZA", lcl_DATA_OTHERS },
- { "hu_HU", lcl_DATA_OTHERS },
- { "id_ID", lcl_DATA_OTHERS },
- { "ms_MY", lcl_DATA_OTHERS },
- { "en_MY", lcl_DATA_OTHERS }, // needs to be in OTHERS instead of EN because currency inherited from ms_MY
- { "ia", lcl_DATA_OTHERS },
- { "mn_Cyrl_MN", lcl_DATA_OTHERS },
- { "az_AZ", lcl_DATA_OTHERS },
- { "sw_TZ", lcl_DATA_OTHERS },
- { "km_KH", lcl_DATA_OTHERS },
- { "lo_LA", lcl_DATA_OTHERS },
- { "rw_RW", lcl_DATA_OTHERS },
- { "eo", lcl_DATA_OTHERS },
- { "dz_BT", lcl_DATA_OTHERS },
- { "ne_NP", lcl_DATA_OTHERS },
- { "zu_ZA", lcl_DATA_OTHERS },
- { "nso_ZA", lcl_DATA_OTHERS },
- { "vi_VN", lcl_DATA_OTHERS },
- { "tn_ZA", lcl_DATA_OTHERS },
- { "xh_ZA", lcl_DATA_OTHERS },
- { "st_ZA", lcl_DATA_OTHERS },
- { "ss_ZA", lcl_DATA_OTHERS },
- { "ve_ZA", lcl_DATA_OTHERS },
- { "nr_ZA", lcl_DATA_OTHERS },
- { "ts_ZA", lcl_DATA_OTHERS },
- { "kmr_Latn_TR", lcl_DATA_OTHERS },
- { "ak_GH", lcl_DATA_OTHERS },
- { "af_NA", lcl_DATA_OTHERS },
- { "am_ET", lcl_DATA_OTHERS },
- { "ti_ER", lcl_DATA_OTHERS },
- { "tg_TJ", lcl_DATA_OTHERS },
- { "ky_KG", lcl_DATA_OTHERS },
- { "kk_KZ", lcl_DATA_OTHERS },
- { "fa_IR", lcl_DATA_OTHERS },
- { "ha_Latn_GH", lcl_DATA_OTHERS },
- { "ee_GH", lcl_DATA_OTHERS },
- { "sg_CF", lcl_DATA_OTHERS },
- { "lg_UG", lcl_DATA_OTHERS },
- { "uz_UZ", lcl_DATA_OTHERS },
- { "ln_CD", lcl_DATA_OTHERS },
- { "hy_AM", lcl_DATA_OTHERS },
- { "hil_PH", lcl_DATA_OTHERS },
- { "so_SO", lcl_DATA_OTHERS },
- { "gug_PY", lcl_DATA_OTHERS },
- { "tk_TM", lcl_DATA_OTHERS },
- { "my_MM", lcl_DATA_OTHERS },
- { "shs_CA", lcl_DATA_OTHERS },
- { "tpi_PG", lcl_DATA_OTHERS },
- { "ar_OM", lcl_DATA_OTHERS },
- { "ug_CN", lcl_DATA_OTHERS },
- { "om_ET", lcl_DATA_OTHERS },
- { "plt_MG", lcl_DATA_OTHERS },
- { "mai_IN", lcl_DATA_OTHERS },
- { "yi_US", lcl_DATA_OTHERS },
- { "haw_US", lcl_DATA_OTHERS },
- { "lif_NP", lcl_DATA_OTHERS },
- { "ur_PK", lcl_DATA_OTHERS },
- { "ht_HT", lcl_DATA_OTHERS },
- { "jbo", lcl_DATA_OTHERS },
- { "kab_DZ", lcl_DATA_OTHERS },
- { "pt_AO", lcl_DATA_OTHERS },
- { "pjt_AU", lcl_DATA_OTHERS },
- { "pap_BQ", lcl_DATA_OTHERS },
- { "pap_CW", lcl_DATA_OTHERS },
- { "ebo_CG", lcl_DATA_OTHERS },
- { "tyx_CG", lcl_DATA_OTHERS },
- { "axk_CG", lcl_DATA_OTHERS },
- { "beq_CG", lcl_DATA_OTHERS },
- { "bkw_CG", lcl_DATA_OTHERS },
- { "bvx_CG", lcl_DATA_OTHERS },
- { "dde_CG", lcl_DATA_OTHERS },
- { "iyx_CG", lcl_DATA_OTHERS },
- { "kkw_CG", lcl_DATA_OTHERS },
- { "kng_CG", lcl_DATA_OTHERS },
- { "ldi_CG", lcl_DATA_OTHERS },
- { "mdw_CG", lcl_DATA_OTHERS },
- { "mkw_CG", lcl_DATA_OTHERS },
- { "njx_CG", lcl_DATA_OTHERS },
- { "ngz_CG", lcl_DATA_OTHERS },
- { "njy_CG", lcl_DATA_OTHERS },
- { "puu_CG", lcl_DATA_OTHERS },
- { "sdj_CG", lcl_DATA_OTHERS },
- { "tek_CG", lcl_DATA_OTHERS },
- { "tsa_CG", lcl_DATA_OTHERS },
- { "vif_CG", lcl_DATA_OTHERS },
- { "xku_CG", lcl_DATA_OTHERS },
- { "yom_CG", lcl_DATA_OTHERS },
- { "sid_ET", lcl_DATA_OTHERS },
- { "bo_CN", lcl_DATA_OTHERS },
- { "bo_IN", lcl_DATA_OTHERS },
- { "ar_AE", lcl_DATA_OTHERS },
- { "ar_KW", lcl_DATA_OTHERS },
- { "bm_ML", lcl_DATA_OTHERS },
- { "pui_CO", lcl_DATA_OTHERS },
- { "lgr_SB", lcl_DATA_OTHERS },
- { "mos_BF", lcl_DATA_OTHERS },
- { "ny_MW", lcl_DATA_OTHERS },
- { "ar_BH", lcl_DATA_OTHERS },
- { "ar_IQ", lcl_DATA_OTHERS },
- { "ar_JO", lcl_DATA_OTHERS },
- { "ar_LY", lcl_DATA_OTHERS },
- { "ar_MA", lcl_DATA_OTHERS },
- { "ar_QA", lcl_DATA_OTHERS },
- { "ar_SY", lcl_DATA_OTHERS },
- { "ar_YE", lcl_DATA_OTHERS },
- { "ilo_PH", lcl_DATA_OTHERS },
- { "ha_Latn_NG", lcl_DATA_OTHERS },
- { "min_ID", lcl_DATA_OTHERS },
- { "sun_ID", lcl_DATA_OTHERS },
- { "en_IL", lcl_DATA_OTHERS } // needs to be in OTHERS instead of EN because inherits from he_IL
+ { "en_US", DataLocaleLibrary::EN },
+ { "en_AU", DataLocaleLibrary::EN },
+ { "en_BZ", DataLocaleLibrary::EN },
+ { "en_CA", DataLocaleLibrary::EN },
+ { "en_GB", DataLocaleLibrary::EN },
+ { "en_IE", DataLocaleLibrary::EN },
+ { "en_JM", DataLocaleLibrary::EN },
+ { "en_NZ", DataLocaleLibrary::EN },
+ { "en_PH", DataLocaleLibrary::EN },
+ { "en_TT", DataLocaleLibrary::EN },
+ { "en_ZA", DataLocaleLibrary::EN },
+ { "en_ZW", DataLocaleLibrary::EN },
+ { "en_NA", DataLocaleLibrary::EN },
+ { "en_GH", DataLocaleLibrary::EN },
+ { "en_MW", DataLocaleLibrary::EN },
+ { "en_GM", DataLocaleLibrary::EN },
+ { "en_BW", DataLocaleLibrary::EN },
+ { "en_ZM", DataLocaleLibrary::EN },
+ { "en_LK", DataLocaleLibrary::EN },
+ { "en_NG", DataLocaleLibrary::EN },
+ { "en_KE", DataLocaleLibrary::EN },
+ { "en_DK", DataLocaleLibrary::EN },
+ { "en_MU", DataLocaleLibrary::EN },
+
+ { "es_ES", DataLocaleLibrary::ES },
+ { "es_AR", DataLocaleLibrary::ES },
+ { "es_BO", DataLocaleLibrary::ES },
+ { "es_CL", DataLocaleLibrary::ES },
+ { "es_CO", DataLocaleLibrary::ES },
+ { "es_CR", DataLocaleLibrary::ES },
+ { "es_DO", DataLocaleLibrary::ES },
+ { "es_EC", DataLocaleLibrary::ES },
+ { "es_GT", DataLocaleLibrary::ES },
+ { "es_HN", DataLocaleLibrary::ES },
+ { "es_MX", DataLocaleLibrary::ES },
+ { "es_NI", DataLocaleLibrary::ES },
+ { "es_PA", DataLocaleLibrary::ES },
+ { "es_PE", DataLocaleLibrary::ES },
+ { "es_PR", DataLocaleLibrary::ES },
+ { "es_PY", DataLocaleLibrary::ES },
+ { "es_SV", DataLocaleLibrary::ES },
+ { "es_UY", DataLocaleLibrary::ES },
+ { "es_VE", DataLocaleLibrary::ES },
+ { "gl_ES", DataLocaleLibrary::ES },
+ { "oc_ES_aranes", DataLocaleLibrary::ES },
+
+ { "de_DE", DataLocaleLibrary::EURO },
+ { "de_AT", DataLocaleLibrary::EURO },
+ { "de_CH", DataLocaleLibrary::EURO },
+ { "de_LI", DataLocaleLibrary::EURO },
+ { "de_LU", DataLocaleLibrary::EURO },
+ { "fr_FR", DataLocaleLibrary::EURO },
+ { "fr_BE", DataLocaleLibrary::EURO },
+ { "fr_CA", DataLocaleLibrary::EURO },
+ { "fr_CH", DataLocaleLibrary::EURO },
+ { "fr_LU", DataLocaleLibrary::EURO },
+ { "fr_MC", DataLocaleLibrary::EURO },
+ { "fr_BF", DataLocaleLibrary::EURO },
+ { "fr_CI", DataLocaleLibrary::EURO },
+ { "fr_ML", DataLocaleLibrary::EURO },
+ { "fr_SN", DataLocaleLibrary::EURO },
+ { "fr_BJ", DataLocaleLibrary::EURO },
+ { "fr_NE", DataLocaleLibrary::EURO },
+ { "fr_TG", DataLocaleLibrary::EURO },
+ { "it_IT", DataLocaleLibrary::EURO },
+ { "it_CH", DataLocaleLibrary::EURO },
+ { "sl_SI", DataLocaleLibrary::EURO },
+ { "sv_SE", DataLocaleLibrary::EURO },
+ { "sv_FI", DataLocaleLibrary::EURO },
+ { "ca_ES", DataLocaleLibrary::EURO },
+ { "ca_ES_valencia", DataLocaleLibrary::EURO },
+ { "cs_CZ", DataLocaleLibrary::EURO },
+ { "sk_SK", DataLocaleLibrary::EURO },
+ { "da_DK", DataLocaleLibrary::EURO },
+ { "el_GR", DataLocaleLibrary::EURO },
+ { "fi_FI", DataLocaleLibrary::EURO },
+ { "is_IS", DataLocaleLibrary::EURO },
+ { "nl_BE", DataLocaleLibrary::EURO },
+ { "nl_NL", DataLocaleLibrary::EURO },
+ { "no_NO", DataLocaleLibrary::EURO },
+ { "nn_NO", DataLocaleLibrary::EURO },
+ { "nb_NO", DataLocaleLibrary::EURO },
+ { "nds_DE", DataLocaleLibrary::EURO },
+ { "pl_PL", DataLocaleLibrary::EURO },
+ { "pt_PT", DataLocaleLibrary::EURO },
+ { "pt_BR", DataLocaleLibrary::EURO }, // needs to be in EURO because inherits from pt_PT
+ { "pt_MZ", DataLocaleLibrary::EURO }, // needs to be in EURO because inherits from pt_PT
+ { "ru_RU", DataLocaleLibrary::EURO },
+ { "tr_TR", DataLocaleLibrary::EURO },
+ { "tt_RU", DataLocaleLibrary::EURO },
+ { "et_EE", DataLocaleLibrary::EURO },
+ { "vro_EE", DataLocaleLibrary::EURO },
+ { "lb_LU", DataLocaleLibrary::EURO },
+ { "lt_LT", DataLocaleLibrary::EURO },
+ { "lv_LV", DataLocaleLibrary::EURO },
+ { "uk_UA", DataLocaleLibrary::EURO },
+ { "ro_RO", DataLocaleLibrary::EURO },
+ { "cy_GB", DataLocaleLibrary::EURO },
+ { "bg_BG", DataLocaleLibrary::EURO },
+ { "sr_Latn_ME", DataLocaleLibrary::EURO },
+ { "sr_Latn_RS", DataLocaleLibrary::EURO },
+ { "sr_Latn_CS", DataLocaleLibrary::EURO },
+ { "sr_ME", DataLocaleLibrary::EURO },
+ { "sr_RS", DataLocaleLibrary::EURO },
+ { "sr_CS", DataLocaleLibrary::EURO },
+ { "hr_HR", DataLocaleLibrary::EURO },
+ { "bs_BA", DataLocaleLibrary::EURO },
+ { "eu_ES", DataLocaleLibrary::EURO },
+ { "fo_FO", DataLocaleLibrary::EURO },
+ { "ga_IE", DataLocaleLibrary::EURO },
+ { "gd_GB", DataLocaleLibrary::EURO },
+ { "ka_GE", DataLocaleLibrary::EURO },
+ { "be_BY", DataLocaleLibrary::EURO },
+ { "kl_GL", DataLocaleLibrary::EURO },
+ { "mk_MK", DataLocaleLibrary::EURO },
+ { "br_FR", DataLocaleLibrary::EURO },
+ { "la_VA", DataLocaleLibrary::EURO },
+ { "cv_RU", DataLocaleLibrary::EURO },
+ { "wa_BE", DataLocaleLibrary::EURO },
+ { "fur_IT", DataLocaleLibrary::EURO },
+ { "gsc_FR", DataLocaleLibrary::EURO },
+ { "fy_NL", DataLocaleLibrary::EURO },
+ { "oc_FR_lengadoc", DataLocaleLibrary::EURO },
+ { "mt_MT", DataLocaleLibrary::EURO },
+ { "sc_IT", DataLocaleLibrary::EURO },
+ { "ast_ES", DataLocaleLibrary::EURO },
+ { "ltg_LV", DataLocaleLibrary::EURO },
+ { "hsb_DE", DataLocaleLibrary::EURO },
+ { "dsb_DE", DataLocaleLibrary::EURO },
+ { "rue_SK", DataLocaleLibrary::EURO },
+ { "an_ES", DataLocaleLibrary::EURO },
+ { "myv_RU", DataLocaleLibrary::EURO },
+ { "lld_IT", DataLocaleLibrary::EURO },
+ { "cu_RU", DataLocaleLibrary::EURO },
+ { "vec_IT", DataLocaleLibrary::EURO },
+ { "szl_PL", DataLocaleLibrary::EURO },
+ { "lij_IT", DataLocaleLibrary::EURO },
+
+ { "ja_JP", DataLocaleLibrary::OTHERS },
+ { "ko_KR", DataLocaleLibrary::OTHERS },
+ { "zh_CN", DataLocaleLibrary::OTHERS },
+ { "zh_HK", DataLocaleLibrary::OTHERS },
+ { "zh_SG", DataLocaleLibrary::OTHERS },
+ { "zh_TW", DataLocaleLibrary::OTHERS },
+ { "zh_MO", DataLocaleLibrary::OTHERS },
+ { "en_HK", DataLocaleLibrary::OTHERS }, // needs to be in OTHERS instead of EN because currency inherited from zh_HK
+
+ { "ar_EG", DataLocaleLibrary::OTHERS },
+ { "ar_DZ", DataLocaleLibrary::OTHERS },
+ { "ar_LB", DataLocaleLibrary::OTHERS },
+ { "ar_SA", DataLocaleLibrary::OTHERS },
+ { "ar_TN", DataLocaleLibrary::OTHERS },
+ { "he_IL", DataLocaleLibrary::OTHERS },
+ { "hi_IN", DataLocaleLibrary::OTHERS },
+ { "kn_IN", DataLocaleLibrary::OTHERS },
+ { "ta_IN", DataLocaleLibrary::OTHERS },
+ { "te_IN", DataLocaleLibrary::OTHERS },
+ { "gu_IN", DataLocaleLibrary::OTHERS },
+ { "mr_IN", DataLocaleLibrary::OTHERS },
+ { "pa_IN", DataLocaleLibrary::OTHERS },
+ { "bn_IN", DataLocaleLibrary::OTHERS },
+ { "or_IN", DataLocaleLibrary::OTHERS },
+ { "en_IN", DataLocaleLibrary::OTHERS }, // keep in OTHERS for IN
+ { "ml_IN", DataLocaleLibrary::OTHERS },
+ { "bn_BD", DataLocaleLibrary::OTHERS },
+ { "th_TH", DataLocaleLibrary::OTHERS },
+
+ { "af_ZA", DataLocaleLibrary::OTHERS },
+ { "hu_HU", DataLocaleLibrary::OTHERS },
+ { "id_ID", DataLocaleLibrary::OTHERS },
+ { "ms_MY", DataLocaleLibrary::OTHERS },
+ { "en_MY", DataLocaleLibrary::OTHERS }, // needs to be in OTHERS instead of EN because currency inherited from ms_MY
+ { "ia", DataLocaleLibrary::OTHERS },
+ { "mn_Cyrl_MN", DataLocaleLibrary::OTHERS },
+ { "az_AZ", DataLocaleLibrary::OTHERS },
+ { "sw_TZ", DataLocaleLibrary::OTHERS },
+ { "km_KH", DataLocaleLibrary::OTHERS },
+ { "lo_LA", DataLocaleLibrary::OTHERS },
+ { "rw_RW", DataLocaleLibrary::OTHERS },
+ { "eo", DataLocaleLibrary::OTHERS },
+ { "dz_BT", DataLocaleLibrary::OTHERS },
+ { "ne_NP", DataLocaleLibrary::OTHERS },
+ { "zu_ZA", DataLocaleLibrary::OTHERS },
+ { "nso_ZA", DataLocaleLibrary::OTHERS },
+ { "vi_VN", DataLocaleLibrary::OTHERS },
+ { "tn_ZA", DataLocaleLibrary::OTHERS },
+ { "xh_ZA", DataLocaleLibrary::OTHERS },
+ { "st_ZA", DataLocaleLibrary::OTHERS },
+ { "ss_ZA", DataLocaleLibrary::OTHERS },
+ { "ve_ZA", DataLocaleLibrary::OTHERS },
+ { "nr_ZA", DataLocaleLibrary::OTHERS },
+ { "ts_ZA", DataLocaleLibrary::OTHERS },
+ { "kmr_Latn_TR", DataLocaleLibrary::OTHERS },
+ { "ak_GH", DataLocaleLibrary::OTHERS },
+ { "af_NA", DataLocaleLibrary::OTHERS },
+ { "am_ET", DataLocaleLibrary::OTHERS },
+ { "ti_ER", DataLocaleLibrary::OTHERS },
+ { "tg_TJ", DataLocaleLibrary::OTHERS },
+ { "ky_KG", DataLocaleLibrary::OTHERS },
+ { "kk_KZ", DataLocaleLibrary::OTHERS },
+ { "fa_IR", DataLocaleLibrary::OTHERS },
+ { "ha_Latn_GH", DataLocaleLibrary::OTHERS },
+ { "ee_GH", DataLocaleLibrary::OTHERS },
+ { "sg_CF", DataLocaleLibrary::OTHERS },
+ { "lg_UG", DataLocaleLibrary::OTHERS },
+ { "uz_UZ", DataLocaleLibrary::OTHERS },
+ { "ln_CD", DataLocaleLibrary::OTHERS },
+ { "hy_AM", DataLocaleLibrary::OTHERS },
+ { "hil_PH", DataLocaleLibrary::OTHERS },
+ { "so_SO", DataLocaleLibrary::OTHERS },
+ { "gug_PY", DataLocaleLibrary::OTHERS },
+ { "tk_TM", DataLocaleLibrary::OTHERS },
+ { "my_MM", DataLocaleLibrary::OTHERS },
+ { "shs_CA", DataLocaleLibrary::OTHERS },
+ { "tpi_PG", DataLocaleLibrary::OTHERS },
+ { "ar_OM", DataLocaleLibrary::OTHERS },
+ { "ug_CN", DataLocaleLibrary::OTHERS },
+ { "om_ET", DataLocaleLibrary::OTHERS },
+ { "plt_MG", DataLocaleLibrary::OTHERS },
+ { "mai_IN", DataLocaleLibrary::OTHERS },
+ { "yi_US", DataLocaleLibrary::OTHERS },
+ { "haw_US", DataLocaleLibrary::OTHERS },
+ { "lif_NP", DataLocaleLibrary::OTHERS },
+ { "ur_PK", DataLocaleLibrary::OTHERS },
+ { "ht_HT", DataLocaleLibrary::OTHERS },
+ { "jbo", DataLocaleLibrary::OTHERS },
+ { "kab_DZ", DataLocaleLibrary::OTHERS },
+ { "pt_AO", DataLocaleLibrary::OTHERS },
+ { "pjt_AU", DataLocaleLibrary::OTHERS },
+ { "pap_BQ", DataLocaleLibrary::OTHERS },
+ { "pap_CW", DataLocaleLibrary::OTHERS },
+ { "ebo_CG", DataLocaleLibrary::OTHERS },
+ { "tyx_CG", DataLocaleLibrary::OTHERS },
+ { "axk_CG", DataLocaleLibrary::OTHERS },
+ { "beq_CG", DataLocaleLibrary::OTHERS },
+ { "bkw_CG", DataLocaleLibrary::OTHERS },
+ { "bvx_CG", DataLocaleLibrary::OTHERS },
+ { "dde_CG", DataLocaleLibrary::OTHERS },
+ { "iyx_CG", DataLocaleLibrary::OTHERS },
+ { "kkw_CG", DataLocaleLibrary::OTHERS },
+ { "kng_CG", DataLocaleLibrary::OTHERS },
+ { "ldi_CG", DataLocaleLibrary::OTHERS },
+ { "mdw_CG", DataLocaleLibrary::OTHERS },
+ { "mkw_CG", DataLocaleLibrary::OTHERS },
+ { "njx_CG", DataLocaleLibrary::OTHERS },
+ { "ngz_CG", DataLocaleLibrary::OTHERS },
+ { "njy_CG", DataLocaleLibrary::OTHERS },
+ { "puu_CG", DataLocaleLibrary::OTHERS },
+ { "sdj_CG", DataLocaleLibrary::OTHERS },
+ { "tek_CG", DataLocaleLibrary::OTHERS },
+ { "tsa_CG", DataLocaleLibrary::OTHERS },
+ { "vif_CG", DataLocaleLibrary::OTHERS },
+ { "xku_CG", DataLocaleLibrary::OTHERS },
+ { "yom_CG", DataLocaleLibrary::OTHERS },
+ { "sid_ET", DataLocaleLibrary::OTHERS },
+ { "bo_CN", DataLocaleLibrary::OTHERS },
+ { "bo_IN", DataLocaleLibrary::OTHERS },
+ { "ar_AE", DataLocaleLibrary::OTHERS },
+ { "ar_KW", DataLocaleLibrary::OTHERS },
+ { "bm_ML", DataLocaleLibrary::OTHERS },
+ { "pui_CO", DataLocaleLibrary::OTHERS },
+ { "lgr_SB", DataLocaleLibrary::OTHERS },
+ { "mos_BF", DataLocaleLibrary::OTHERS },
+ { "ny_MW", DataLocaleLibrary::OTHERS },
+ { "ar_BH", DataLocaleLibrary::OTHERS },
+ { "ar_IQ", DataLocaleLibrary::OTHERS },
+ { "ar_JO", DataLocaleLibrary::OTHERS },
+ { "ar_LY", DataLocaleLibrary::OTHERS },
+ { "ar_MA", DataLocaleLibrary::OTHERS },
+ { "ar_QA", DataLocaleLibrary::OTHERS },
+ { "ar_SY", DataLocaleLibrary::OTHERS },
+ { "ar_YE", DataLocaleLibrary::OTHERS },
+ { "ilo_PH", DataLocaleLibrary::OTHERS },
+ { "ha_Latn_NG", DataLocaleLibrary::OTHERS },
+ { "min_ID", DataLocaleLibrary::OTHERS },
+ { "sun_ID", DataLocaleLibrary::OTHERS },
+ { "en_IL", DataLocaleLibrary::OTHERS }, // needs to be in OTHERS instead of EN because inherits from he_IL
+ { "pdc_US", DataLocaleLibrary::OTHERS },
+ { "dv_MV", DataLocaleLibrary::OTHERS },
+ { "mfe_MU", DataLocaleLibrary::OTHERS },
+ { "sat_IN", DataLocaleLibrary::OTHERS }
};
#else
@@ -348,22 +376,6 @@ const sal_Unicode cHyphen = '-';
const sal_Int16 nbOfLocales = SAL_N_ELEMENTS(aLibTable);
-struct LocaleDataLookupTableItem
-{
- const char* dllName;
- osl::Module *module;
- const char* localeName;
- css::lang::Locale aLocale;
-
- LocaleDataLookupTableItem(const char *name, osl::Module* m, const char* lname) : dllName(name), module(m), localeName(lname)
- {
- }
- bool equals(const css::lang::Locale& rLocale) const
- {
- return (rLocale == aLocale);
- }
-};
-
namespace i18npool {
// static
@@ -400,31 +412,31 @@ LocaleDataImpl::~LocaleDataImpl()
LocaleDataItem SAL_CALL
LocaleDataImpl::getLocaleItem( const Locale& rLocale )
{
- MyFunc_Type func = reinterpret_cast<MyFunc_Type>(getFunctionSymbol( rLocale, "getLocaleItem" ));
+ MyFuncOUString_Type func = reinterpret_cast<MyFuncOUString_Type>(getFunctionSymbol( rLocale, "getLocaleItem" ));
if ( func ) {
sal_Int16 dataItemCount = 0;
- sal_Unicode **dataItem = func(dataItemCount);
+ OUString const *dataItem = func(dataItemCount);
LocaleDataItem item{
- OUString(dataItem[0]),
- OUString(dataItem[1]),
- OUString(dataItem[2]),
- OUString(dataItem[3]),
- OUString(dataItem[4]),
- OUString(dataItem[5]),
- OUString(dataItem[6]),
- OUString(dataItem[7]),
- OUString(dataItem[8]),
- OUString(dataItem[9]),
- OUString(dataItem[10]),
- OUString(dataItem[11]),
- OUString(dataItem[12]),
- OUString(dataItem[13]),
- OUString(dataItem[14]),
- OUString(dataItem[15]),
- OUString(dataItem[16]),
- OUString(dataItem[17])
+ dataItem[0],
+ dataItem[1],
+ dataItem[2],
+ dataItem[3],
+ dataItem[4],
+ dataItem[5],
+ dataItem[6],
+ dataItem[7],
+ dataItem[8],
+ dataItem[9],
+ dataItem[10],
+ dataItem[11],
+ dataItem[12],
+ dataItem[13],
+ dataItem[14],
+ dataItem[15],
+ dataItem[16],
+ dataItem[17]
};
return item;
}
@@ -438,34 +450,34 @@ LocaleDataImpl::getLocaleItem( const Locale& rLocale )
LocaleDataItem2 SAL_CALL
LocaleDataImpl::getLocaleItem2( const Locale& rLocale )
{
- MyFunc_Type func = reinterpret_cast<MyFunc_Type>(getFunctionSymbol( rLocale, "getLocaleItem" ));
+ MyFuncOUString_Type func = reinterpret_cast<MyFuncOUString_Type>(getFunctionSymbol( rLocale, "getLocaleItem" ));
if ( func ) {
sal_Int16 dataItemCount = 0;
- sal_Unicode **dataItem = func(dataItemCount);
+ OUString const *dataItem = func(dataItemCount);
assert(dataItemCount >= 18);
LocaleDataItem2 item{
- OUString(dataItem[0]),
- OUString(dataItem[1]),
- OUString(dataItem[2]),
- OUString(dataItem[3]),
- OUString(dataItem[4]),
- OUString(dataItem[5]),
- OUString(dataItem[6]),
- OUString(dataItem[7]),
- OUString(dataItem[8]),
- OUString(dataItem[9]),
- OUString(dataItem[10]),
- OUString(dataItem[11]),
- OUString(dataItem[12]),
- OUString(dataItem[13]),
- OUString(dataItem[14]),
- OUString(dataItem[15]),
- OUString(dataItem[16]),
- OUString(dataItem[17]),
- dataItemCount >= 19 ? OUString(dataItem[18]) : OUString()
+ dataItem[0],
+ dataItem[1],
+ dataItem[2],
+ dataItem[3],
+ dataItem[4],
+ dataItem[5],
+ dataItem[6],
+ dataItem[7],
+ dataItem[8],
+ dataItem[9],
+ dataItem[10],
+ dataItem[11],
+ dataItem[12],
+ dataItem[13],
+ dataItem[14],
+ dataItem[15],
+ dataItem[16],
+ dataItem[17],
+ dataItemCount >= 19 ? dataItem[18] : OUString()
};
return item;
}
@@ -493,10 +505,10 @@ public:
oslGenericFunction getFunctionSymbolByName(
const OUString& localeName, const char* pFunction,
- std::unique_ptr<LocaleDataLookupTableItem>* pOutCachedItem );
+ std::optional<LocaleDataLookupTableItem>& rOutCachedItem );
private:
- ::osl::Mutex maMutex;
+ std::mutex maMutex;
::std::vector< LocaleDataLookupTableItem > maLookupTable;
};
@@ -505,8 +517,11 @@ private:
// locking pattern correctly.
// usage: lcl_LookupTableHelper & rLookupTable = lcl_LookupTableStatic::get();
// retrieves the singleton lookup table instance
-struct lcl_LookupTableStatic : public ::rtl::Static< lcl_LookupTableHelper, lcl_LookupTableStatic >
-{};
+lcl_LookupTableHelper& lcl_LookupTableStatic()
+{
+ static lcl_LookupTableHelper SINGLETON;
+ return SINGLETON;
+}
lcl_LookupTableHelper::lcl_LookupTableHelper()
{
@@ -521,7 +536,7 @@ lcl_LookupTableHelper::~lcl_LookupTableHelper()
oslGenericFunction lcl_LookupTableHelper::getFunctionSymbolByName(
const OUString& localeName, const char* pFunction,
- std::unique_ptr<LocaleDataLookupTableItem>* pOutCachedItem )
+ std::optional<LocaleDataLookupTableItem>& rOutCachedItem )
{
OUString aFallback;
bool bFallback = (localeName.indexOf( cUnder) < 0);
@@ -543,54 +558,35 @@ oslGenericFunction lcl_LookupTableHelper::getFunctionSymbolByName(
{
#ifndef DISABLE_DYNLOADING
{
- ::osl::MutexGuard aGuard( maMutex );
+ std::unique_lock aGuard( maMutex );
for (LocaleDataLookupTableItem & rCurrent : maLookupTable)
{
if (rCurrent.dllName == i.pLib)
{
- OSL_ASSERT( pOutCachedItem );
- if( pOutCachedItem )
- {
- (*pOutCachedItem).reset(new LocaleDataLookupTableItem( rCurrent ));
- (*pOutCachedItem)->localeName = i.pLocale;
- OString sSymbolName = OString::Concat(pFunction) + "_" +
- (*pOutCachedItem)->localeName;
- return (*pOutCachedItem)->module->getFunctionSymbol(
- sSymbolName.getStr());
- }
- else
- return nullptr;
+ rOutCachedItem.emplace( rCurrent );
+ rOutCachedItem->localeName = i.pLocale;
+ OString sSymbolName = OString::Concat(pFunction) + "_" +
+ rOutCachedItem->localeName;
+ return rOutCachedItem->module->getFunctionSymbol(
+ sSymbolName.getStr());
}
}
}
// Library not loaded, load it and add it to the list.
-#ifdef SAL_DLLPREFIX
- OString sModuleName = // mostly "lib*.so"
- OString::Concat(SAL_DLLPREFIX) + i.pLib + SAL_DLLEXTENSION;
-#else
- OString sModuleName = // mostly "*.dll"
- OString::Concat(i.pLib) + SAL_DLLEXTENSION;
-#endif
std::unique_ptr<osl::Module> module(new osl::Module());
- if ( module->loadRelative(&thisModule, sModuleName.getStr()) )
+ if ( module->loadRelative(&thisModule, getLibraryName(i.pLib)) )
{
- ::osl::MutexGuard aGuard( maMutex );
+ std::unique_lock aGuard( maMutex );
auto pTmpModule = module.get();
maLookupTable.emplace_back(i.pLib, module.release(), i.pLocale);
- OSL_ASSERT( pOutCachedItem );
- if( pOutCachedItem )
- {
- pOutCachedItem->reset(new LocaleDataLookupTableItem( maLookupTable.back() ));
- OString sSymbolName = OString::Concat(pFunction) + "_" + (*pOutCachedItem)->localeName;
- return pTmpModule->getFunctionSymbol(sSymbolName.getStr());
- }
- else
- return nullptr;
+ rOutCachedItem.emplace( maLookupTable.back() );
+ OString sSymbolName = OString::Concat(pFunction) + "_" + rOutCachedItem->localeName;
+ return pTmpModule->getFunctionSymbol(sSymbolName.getStr());
}
else
module.reset();
#else
- (void) pOutCachedItem;
+ (void) rOutCachedItem;
if( strcmp(pFunction, "getAllCalendars") == 0 )
return i.getAllCalendars;
@@ -700,14 +696,14 @@ Sequence< CalendarItem2 > &LocaleDataImpl::getCalendarItemByName(const OUString&
}
Sequence< CalendarItem2 > LocaleDataImpl::getCalendarItems(
- sal_Unicode const * const * const allCalendars, sal_Int16 & rnOffset,
+ OUString const * allCalendars, sal_Int16 & rnOffset,
const sal_Int16 nWhichItem, const sal_Int16 nCalendar,
const Locale & rLocale, const Sequence< Calendar2 > & calendarsSeq )
{
Sequence< CalendarItem2 > aItems;
if ( allCalendars[rnOffset] == std::u16string_view(u"ref") )
{
- aItems = getCalendarItemByName( OUString( allCalendars[rnOffset+1]), rLocale, calendarsSeq, nWhichItem);
+ aItems = getCalendarItemByName( allCalendars[rnOffset+1], rLocale, calendarsSeq, nWhichItem);
rnOffset += 2;
}
else
@@ -722,9 +718,9 @@ Sequence< CalendarItem2 > LocaleDataImpl::getCalendarItems(
case REF_PMONTHS:
for (CalendarItem2& rItem : asNonConstRange(aItems))
{
- rItem = CalendarItem2{ OUString(allCalendars[rnOffset]),
- OUString(allCalendars[rnOffset+1]),
- OUString(allCalendars[rnOffset+2]), OUString(allCalendars[rnOffset+3])};
+ rItem = CalendarItem2{ allCalendars[rnOffset],
+ allCalendars[rnOffset+1],
+ allCalendars[rnOffset+2], allCalendars[rnOffset+3]};
rnOffset += 4;
}
break;
@@ -732,9 +728,9 @@ Sequence< CalendarItem2 > LocaleDataImpl::getCalendarItems(
// Absent narrow name.
for (CalendarItem2& rItem : asNonConstRange(aItems))
{
- rItem = CalendarItem2{ OUString(allCalendars[rnOffset]),
- OUString(allCalendars[rnOffset+1]),
- OUString(allCalendars[rnOffset+2]), OUString()};
+ rItem = CalendarItem2{ allCalendars[rnOffset],
+ allCalendars[rnOffset+1],
+ allCalendars[rnOffset+2], OUString()};
rnOffset += 3;
}
break;
@@ -749,15 +745,16 @@ Sequence< Calendar2 > SAL_CALL
LocaleDataImpl::getAllCalendars2( const Locale& rLocale )
{
- sal_Unicode const * const * allCalendars = nullptr;
+ OUString const * allCalendars = nullptr;
- MyFunc_Type func = reinterpret_cast<MyFunc_Type>(getFunctionSymbol( rLocale, "getAllCalendars" ));
+ MyFuncOUString_Type func = reinterpret_cast<MyFuncOUString_Type>(getFunctionSymbol( rLocale, "getAllCalendars" ));
if ( func ) {
sal_Int16 calendarsCount = 0;
allCalendars = func(calendarsCount);
Sequence< Calendar2 > calendarsSeq(calendarsCount);
+ auto calendarsSeqRange = asNonConstRange(calendarsSeq);
sal_Int16 offset = REF_OFFSET_COUNT;
for(sal_Int16 i = 0; i < calendarsCount; i++) {
OUString calendarID(allCalendars[offset]);
@@ -778,9 +775,8 @@ LocaleDataImpl::getAllCalendars2( const Locale& rLocale )
offset++;
sal_Int16 minimalDaysInFirstWeek = allCalendars[offset][0];
offset++;
- Calendar2 aCalendar(days, months, gmonths, pmonths, eras, startOfWeekDay,
+ calendarsSeqRange[i] = Calendar2(days, months, gmonths, pmonths, eras, startOfWeekDay,
minimalDaysInFirstWeek, defaultCalendar, calendarID);
- calendarsSeq[i] = aCalendar;
}
return calendarsSeq;
}
@@ -805,25 +801,25 @@ LocaleDataImpl::getAllCalendars( const Locale& rLocale )
Sequence< Currency2 > SAL_CALL
LocaleDataImpl::getAllCurrencies2( const Locale& rLocale )
{
- MyFunc_Type func = reinterpret_cast<MyFunc_Type>(getFunctionSymbol( rLocale, "getAllCurrencies" ));
+ MyFuncOUString_Type func = reinterpret_cast<MyFuncOUString_Type>(getFunctionSymbol( rLocale, "getAllCurrencies" ));
if ( func ) {
sal_Int16 currencyCount = 0;
- sal_Unicode **allCurrencies = func(currencyCount);
+ OUString const *allCurrencies = func(currencyCount);
Sequence< Currency2 > seq(currencyCount);
+ auto seqRange = asNonConstRange(seq);
for(int i = 0, nOff = 0; i < currencyCount; i++, nOff += 8 ) {
- Currency2 cur(
- OUString(allCurrencies[nOff]), // string ID
- OUString(allCurrencies[nOff+1]), // string Symbol
- OUString(allCurrencies[nOff+2]), // string BankSymbol
- OUString(allCurrencies[nOff+3]), // string Name
+ seqRange[i] = Currency2(
+ allCurrencies[nOff], // string ID
+ allCurrencies[nOff+1], // string Symbol
+ allCurrencies[nOff+2], // string BankSymbol
+ allCurrencies[nOff+3], // string Name
allCurrencies[nOff+4][0] != 0, // boolean Default
allCurrencies[nOff+5][0] != 0, // boolean UsedInCompatibleFormatCodes
allCurrencies[nOff+6][0], // short DecimalPlaces
allCurrencies[nOff+7][0] != 0 // boolean LegacyOnly
);
- seq[i] = cur;
}
return seq;
}
@@ -849,7 +845,7 @@ LocaleDataImpl::getAllFormats( const Locale& rLocale )
MyFunc_FormatCode func;
sal_Unicode const *from;
sal_Unicode const *to;
- sal_Unicode const *const *formatArray;
+ OUString const *formatArray;
sal_Int16 formatCount;
FormatSection() : func(nullptr), from(nullptr), to(nullptr), formatArray(nullptr), formatCount(0) {}
@@ -867,23 +863,23 @@ LocaleDataImpl::getAllFormats( const Locale& rLocale )
formatCount += section[1].getFunc( *this, rLocale, "getAllFormats1");
Sequence< FormatElement > seq(formatCount);
+ auto seqRange = asNonConstRange(seq);
sal_Int32 f = 0;
for (const FormatSection & s : section)
{
- sal_Unicode const * const * const formatArray = s.formatArray;
+ OUString const * const formatArray = s.formatArray;
if ( formatArray )
{
for (int i = 0, nOff = 0; i < s.formatCount; ++i, nOff += 7, ++f)
{
- FormatElement elem(
- OUString(formatArray[nOff]).replaceAll(s.from, s.to),
- OUString(formatArray[nOff + 1]),
- OUString(formatArray[nOff + 2]),
- OUString(formatArray[nOff + 3]),
- OUString(formatArray[nOff + 4]),
+ seqRange[f] = FormatElement(
+ formatArray[nOff].replaceAll(s.from, s.to),
+ formatArray[nOff + 1],
+ formatArray[nOff + 2],
+ formatArray[nOff + 3],
+ formatArray[nOff + 4],
formatArray[nOff + 5][0],
formatArray[nOff + 6][0] != 0);
- seq[f] = elem;
}
}
}
@@ -894,16 +890,17 @@ LocaleDataImpl::getAllFormats( const Locale& rLocale )
Sequence< OUString > SAL_CALL
LocaleDataImpl::getDateAcceptancePatterns( const Locale& rLocale )
{
- MyFunc_Type func = reinterpret_cast<MyFunc_Type>(getFunctionSymbol( rLocale, "getDateAcceptancePatterns" ));
+ MyFuncOUString_Type func = reinterpret_cast<MyFuncOUString_Type>(getFunctionSymbol( rLocale, "getDateAcceptancePatterns" ));
if (func)
{
sal_Int16 patternsCount = 0;
- sal_Unicode **patternsArray = func( patternsCount );
+ OUString const *patternsArray = func( patternsCount );
Sequence< OUString > seq( patternsCount );
+ auto seqRange = asNonConstRange(seq);
for (sal_Int16 i = 0; i < patternsCount; ++i)
{
- seq[i] = OUString( patternsArray[i] );
+ seqRange[i] = patternsArray[i];
}
return seq;
}
@@ -922,13 +919,13 @@ LocaleDataImpl::getDateAcceptancePatterns( const Locale& rLocale )
OUString
LocaleDataImpl::getCollatorRuleByAlgorithm( const Locale& rLocale, std::u16string_view algorithm )
{
- MyFunc_Type func = reinterpret_cast<MyFunc_Type>(getFunctionSymbol( rLocale, "getCollatorImplementation" ));
+ MyFuncOUString_Type func = reinterpret_cast<MyFuncOUString_Type>(getFunctionSymbol( rLocale, "getCollatorImplementation" ));
if ( func ) {
sal_Int16 collatorCount = 0;
- sal_Unicode **collatorArray = func(collatorCount);
+ OUString const *collatorArray = func(collatorCount);
for(sal_Int16 i = 0; i < collatorCount; i++)
if (algorithm == collatorArray[i * COLLATOR_ELEMENTS + COLLATOR_OFFSET_ALGO])
- return OUString(collatorArray[i * COLLATOR_ELEMENTS + COLLATOR_OFFSET_RULE]);
+ return collatorArray[i * COLLATOR_ELEMENTS + COLLATOR_OFFSET_RULE];
}
return OUString();
}
@@ -937,17 +934,17 @@ LocaleDataImpl::getCollatorRuleByAlgorithm( const Locale& rLocale, std::u16strin
Sequence< Implementation > SAL_CALL
LocaleDataImpl::getCollatorImplementations( const Locale& rLocale )
{
- MyFunc_Type func = reinterpret_cast<MyFunc_Type>(getFunctionSymbol( rLocale, "getCollatorImplementation" ));
+ MyFuncOUString_Type func = reinterpret_cast<MyFuncOUString_Type>(getFunctionSymbol( rLocale, "getCollatorImplementation" ));
if ( func ) {
sal_Int16 collatorCount = 0;
- sal_Unicode **collatorArray = func(collatorCount);
+ OUString const *collatorArray = func(collatorCount);
Sequence< Implementation > seq(collatorCount);
+ auto seqRange = asNonConstRange(seq);
for(sal_Int16 i = 0; i < collatorCount; i++) {
- Implementation impl(
- OUString(collatorArray[i * COLLATOR_ELEMENTS + COLLATOR_OFFSET_ALGO]),
+ seqRange[i] = Implementation(
+ collatorArray[i * COLLATOR_ELEMENTS + COLLATOR_OFFSET_ALGO],
collatorArray[i * COLLATOR_ELEMENTS + COLLATOR_OFFSET_DEFAULT][0] != 0);
- seq[i] = impl;
}
return seq;
}
@@ -959,14 +956,15 @@ LocaleDataImpl::getCollatorImplementations( const Locale& rLocale )
Sequence< OUString > SAL_CALL
LocaleDataImpl::getCollationOptions( const Locale& rLocale )
{
- MyFunc_Type func = reinterpret_cast<MyFunc_Type>(getFunctionSymbol( rLocale, "getCollationOptions" ));
+ MyFuncOUString_Type func = reinterpret_cast<MyFuncOUString_Type>(getFunctionSymbol( rLocale, "getCollationOptions" ));
if ( func ) {
sal_Int16 optionsCount = 0;
- sal_Unicode **optionsArray = func(optionsCount);
+ OUString const *optionsArray = func(optionsCount);
Sequence< OUString > seq(optionsCount);
+ auto seqRange = asNonConstRange(seq);
for(sal_Int16 i = 0; i < optionsCount; i++) {
- seq[i] = OUString( optionsArray[i] );
+ seqRange[i] = optionsArray[i];
}
return seq;
}
@@ -978,26 +976,22 @@ LocaleDataImpl::getCollationOptions( const Locale& rLocale )
Sequence< OUString > SAL_CALL
LocaleDataImpl::getSearchOptions( const Locale& rLocale )
{
- MyFunc_Type func = reinterpret_cast<MyFunc_Type>(getFunctionSymbol( rLocale, "getSearchOptions" ));
+ MyFuncOUString_Type func = reinterpret_cast<MyFuncOUString_Type>(getFunctionSymbol( rLocale, "getSearchOptions" ));
if ( func ) {
sal_Int16 optionsCount = 0;
- sal_Unicode **optionsArray = func(optionsCount);
- Sequence< OUString > seq(optionsCount);
- for(sal_Int16 i = 0; i < optionsCount; i++) {
- seq[i] = OUString( optionsArray[i] );
- }
- return seq;
+ OUString const *optionsArray = func(optionsCount);
+ return Sequence< OUString >(optionsArray, optionsCount);
}
else {
return {};
}
}
-sal_Unicode **
+OUString const *
LocaleDataImpl::getIndexArray(const Locale& rLocale, sal_Int16& indexCount)
{
- MyFunc_Type func = reinterpret_cast<MyFunc_Type>(getFunctionSymbol( rLocale, "getIndexAlgorithm" ));
+ MyFuncOUString_Type func = reinterpret_cast<MyFuncOUString_Type>(getFunctionSymbol( rLocale, "getIndexAlgorithm" ));
if (func)
return func(indexCount);
@@ -1008,12 +1002,13 @@ Sequence< OUString >
LocaleDataImpl::getIndexAlgorithm( const Locale& rLocale )
{
sal_Int16 indexCount = 0;
- sal_Unicode **indexArray = getIndexArray(rLocale, indexCount);
+ OUString const *indexArray = getIndexArray(rLocale, indexCount);
if ( indexArray ) {
Sequence< OUString > seq(indexCount);
+ auto seqRange = asNonConstRange(seq);
for(sal_Int16 i = 0; i < indexCount; i++) {
- seq[i] = indexArray[i*5];
+ seqRange[i] = indexArray[i*5];
}
return seq;
}
@@ -1026,12 +1021,12 @@ OUString
LocaleDataImpl::getDefaultIndexAlgorithm( const Locale& rLocale )
{
sal_Int16 indexCount = 0;
- sal_Unicode **indexArray = getIndexArray(rLocale, indexCount);
+ OUString const *indexArray = getIndexArray(rLocale, indexCount);
if ( indexArray ) {
for(sal_Int16 i = 0; i < indexCount; i++) {
if (indexArray[i*5 + 3][0])
- return OUString(indexArray[i*5]);
+ return indexArray[i*5];
}
}
return OUString();
@@ -1041,7 +1036,7 @@ bool
LocaleDataImpl::hasPhonetic( const Locale& rLocale )
{
sal_Int16 indexCount = 0;
- sal_Unicode **indexArray = getIndexArray(rLocale, indexCount);
+ OUString const *indexArray = getIndexArray(rLocale, indexCount);
if ( indexArray ) {
for(sal_Int16 i = 0; i < indexCount; i++) {
@@ -1052,11 +1047,11 @@ LocaleDataImpl::hasPhonetic( const Locale& rLocale )
return false;
}
-sal_Unicode **
+OUString const *
LocaleDataImpl::getIndexArrayForAlgorithm(const Locale& rLocale, std::u16string_view algorithm)
{
sal_Int16 indexCount = 0;
- sal_Unicode **indexArray = getIndexArray(rLocale, indexCount);
+ OUString const *indexArray = getIndexArray(rLocale, indexCount);
if ( indexArray ) {
for(sal_Int16 i = 0; i < indexCount; i++) {
if (algorithm == indexArray[i*5])
@@ -1069,35 +1064,36 @@ LocaleDataImpl::getIndexArrayForAlgorithm(const Locale& rLocale, std::u16string_
bool
LocaleDataImpl::isPhonetic( const Locale& rLocale, std::u16string_view algorithm )
{
- sal_Unicode **indexArray = getIndexArrayForAlgorithm(rLocale, algorithm);
+ OUString const *indexArray = getIndexArrayForAlgorithm(rLocale, algorithm);
return indexArray && indexArray[4][0];
}
OUString
LocaleDataImpl::getIndexKeysByAlgorithm( const Locale& rLocale, std::u16string_view algorithm )
{
- sal_Unicode **indexArray = getIndexArrayForAlgorithm(rLocale, algorithm);
+ OUString const *indexArray = getIndexArrayForAlgorithm(rLocale, algorithm);
return indexArray ? (OUString::Concat(u"0-9") + indexArray[2]) : OUString();
}
OUString
LocaleDataImpl::getIndexModuleByAlgorithm( const Locale& rLocale, std::u16string_view algorithm )
{
- sal_Unicode **indexArray = getIndexArrayForAlgorithm(rLocale, algorithm);
- return indexArray ? OUString(indexArray[1]) : OUString();
+ OUString const *indexArray = getIndexArrayForAlgorithm(rLocale, algorithm);
+ return indexArray ? indexArray[1] : OUString();
}
Sequence< UnicodeScript >
LocaleDataImpl::getUnicodeScripts( const Locale& rLocale )
{
- MyFunc_Type func = reinterpret_cast<MyFunc_Type>(getFunctionSymbol( rLocale, "getUnicodeScripts" ));
+ MyFuncOUString_Type func = reinterpret_cast<MyFuncOUString_Type>(getFunctionSymbol( rLocale, "getUnicodeScripts" ));
if ( func ) {
sal_Int16 scriptCount = 0;
- sal_Unicode **scriptArray = func(scriptCount);
+ OUString const *scriptArray = func(scriptCount);
Sequence< UnicodeScript > seq(scriptCount);
+ auto seqRange = asNonConstRange(seq);
for(sal_Int16 i = 0; i < scriptCount; i++) {
- seq[i] = UnicodeScript( OUString(scriptArray[i]).toInt32() );
+ seqRange[i] = UnicodeScript( o3tl::toInt32(scriptArray[i].subView(0, 1)) );
}
return seq;
}
@@ -1109,16 +1105,12 @@ LocaleDataImpl::getUnicodeScripts( const Locale& rLocale )
Sequence< OUString >
LocaleDataImpl::getFollowPageWords( const Locale& rLocale )
{
- MyFunc_Type func = reinterpret_cast<MyFunc_Type>(getFunctionSymbol( rLocale, "getFollowPageWords" ));
+ MyFuncOUString_Type func = reinterpret_cast<MyFuncOUString_Type>(getFunctionSymbol( rLocale, "getFollowPageWords" ));
if ( func ) {
sal_Int16 wordCount = 0;
- sal_Unicode **wordArray = func(wordCount);
- Sequence< OUString > seq(wordCount);
- for(sal_Int16 i = 0; i < wordCount; i++) {
- seq[i] = OUString(wordArray[i]);
- }
- return seq;
+ OUString const *wordArray = func(wordCount);
+ return Sequence< OUString >(wordArray, wordCount);
}
else {
return {};
@@ -1128,18 +1120,12 @@ LocaleDataImpl::getFollowPageWords( const Locale& rLocale )
Sequence< OUString > SAL_CALL
LocaleDataImpl::getTransliterations( const Locale& rLocale )
{
- MyFunc_Type func = reinterpret_cast<MyFunc_Type>(getFunctionSymbol( rLocale, "getTransliterations" ));
+ MyFuncOUString_Type func = reinterpret_cast<MyFuncOUString_Type>(getFunctionSymbol( rLocale, "getTransliterations" ));
if ( func ) {
sal_Int16 transliterationsCount = 0;
- sal_Unicode **transliterationsArray = func(transliterationsCount);
-
- Sequence< OUString > seq(transliterationsCount);
- for(int i = 0; i < transliterationsCount; i++) {
- OUString elem(transliterationsArray[i]);
- seq[i] = elem;
- }
- return seq;
+ const OUString *transliterationsArray = func(transliterationsCount);
+ return Sequence< OUString >(transliterationsArray, transliterationsCount);
}
else {
return {};
@@ -1152,16 +1138,16 @@ LocaleDataImpl::getTransliterations( const Locale& rLocale )
LanguageCountryInfo SAL_CALL
LocaleDataImpl::getLanguageCountryInfo( const Locale& rLocale )
{
- MyFunc_Type func = reinterpret_cast<MyFunc_Type>(getFunctionSymbol( rLocale, "getLCInfo" ));
+ MyFuncOUString_Type func = reinterpret_cast<MyFuncOUString_Type>(getFunctionSymbol( rLocale, "getLCInfo" ));
if ( func ) {
sal_Int16 LCInfoCount = 0;
- sal_Unicode **LCInfoArray = func(LCInfoCount);
- LanguageCountryInfo info{OUString(LCInfoArray[0]),
- OUString(LCInfoArray[1]),
- OUString(LCInfoArray[2]),
- OUString(LCInfoArray[3]),
- OUString(LCInfoArray[4])};
+ OUString const *LCInfoArray = func(LCInfoCount);
+ LanguageCountryInfo info{LCInfoArray[0],
+ LCInfoArray[1],
+ LCInfoArray[2],
+ LCInfoArray[3],
+ LCInfoArray[4]};
return info;
}
else {
@@ -1175,13 +1161,14 @@ LocaleDataImpl::getLanguageCountryInfo( const Locale& rLocale )
ForbiddenCharacters SAL_CALL
LocaleDataImpl::getForbiddenCharacters( const Locale& rLocale )
{
- MyFunc_Type func = reinterpret_cast<MyFunc_Type>(getFunctionSymbol( rLocale, "getForbiddenCharacters" ));
+ MyFuncOUString_Type func = reinterpret_cast<MyFuncOUString_Type>(getFunctionSymbol( rLocale, "getForbiddenCharacters" ));
if ( func ) {
sal_Int16 LCForbiddenCharactersCount = 0;
- sal_Unicode **LCForbiddenCharactersArray = func(LCForbiddenCharactersCount);
+ OUString const *LCForbiddenCharactersArray = func(LCForbiddenCharactersCount);
+ assert(LCForbiddenCharactersCount == 3);
ForbiddenCharacters chars{
- OUString(LCForbiddenCharactersArray[0]), OUString(LCForbiddenCharactersArray[1])};
+ LCForbiddenCharactersArray[0], LCForbiddenCharactersArray[1]};
return chars;
}
else {
@@ -1193,12 +1180,13 @@ LocaleDataImpl::getForbiddenCharacters( const Locale& rLocale )
OUString
LocaleDataImpl::getHangingCharacters( const Locale& rLocale )
{
- MyFunc_Type func = reinterpret_cast<MyFunc_Type>(getFunctionSymbol( rLocale, "getForbiddenCharacters" ));
+ MyFuncOUString_Type func = reinterpret_cast<MyFuncOUString_Type>(getFunctionSymbol( rLocale, "getForbiddenCharacters" ));
if ( func ) {
sal_Int16 LCForbiddenCharactersCount = 0;
- sal_Unicode **LCForbiddenCharactersArray = func(LCForbiddenCharactersCount);
- return OUString(LCForbiddenCharactersArray[2]);
+ const OUString *LCForbiddenCharactersArray = func(LCForbiddenCharactersCount);
+ assert(LCForbiddenCharactersCount == 3);
+ return LCForbiddenCharactersArray[2];
}
return OUString();
@@ -1207,17 +1195,12 @@ LocaleDataImpl::getHangingCharacters( const Locale& rLocale )
Sequence< OUString >
LocaleDataImpl::getBreakIteratorRules( const Locale& rLocale )
{
- MyFunc_Type func = reinterpret_cast<MyFunc_Type>(getFunctionSymbol( rLocale, "getBreakIteratorRules" ));
+ MyFuncOUString_Type func = reinterpret_cast<MyFuncOUString_Type>(getFunctionSymbol( rLocale, "getBreakIteratorRules" ));
if ( func ) {
sal_Int16 LCBreakIteratorRuleCount = 0;
- sal_Unicode **LCBreakIteratorRulesArray = func(LCBreakIteratorRuleCount);
- Sequence< OUString > seq(LCBreakIteratorRuleCount);
- for(int i = 0; i < LCBreakIteratorRuleCount; i++) {
- OUString elem(LCBreakIteratorRulesArray[i]);
- seq[i] = elem;
- }
- return seq;
+ OUString const *LCBreakIteratorRulesArray = func(LCBreakIteratorRuleCount);
+ return Sequence< OUString >(LCBreakIteratorRulesArray, LCBreakIteratorRuleCount);
}
else {
return {};
@@ -1228,17 +1211,12 @@ LocaleDataImpl::getBreakIteratorRules( const Locale& rLocale )
Sequence< OUString > SAL_CALL
LocaleDataImpl::getReservedWord( const Locale& rLocale )
{
- MyFunc_Type func = reinterpret_cast<MyFunc_Type>(getFunctionSymbol( rLocale, "getReservedWords" ));
+ MyFuncOUString_Type func = reinterpret_cast<MyFuncOUString_Type>(getFunctionSymbol( rLocale, "getReservedWords" ));
if ( func ) {
sal_Int16 LCReservedWordsCount = 0;
- sal_Unicode **LCReservedWordsArray = func(LCReservedWordsCount);
- Sequence< OUString > seq(LCReservedWordsCount);
- for(int i = 0; i < LCReservedWordsCount; i++) {
- OUString elem(LCReservedWordsArray[i]);
- seq[i] = elem;
- }
- return seq;
+ OUString const *LCReservedWordsArray = func(LCReservedWordsCount);
+ return Sequence< OUString >(LCReservedWordsArray, LCReservedWordsCount);
}
else {
return {};
@@ -1257,27 +1235,27 @@ LocaleDataImpl::getContinuousNumberingLevels( const lang::Locale& rLocale )
// invoke function
sal_Int16 nStyles;
sal_Int16 nAttributes;
- sal_Unicode const *** p0 = func( nStyles, nAttributes );
+ OUString const ** p0 = func( nStyles, nAttributes );
// allocate memory for nAttributes attributes for each of the nStyles styles.
Sequence< Sequence<beans::PropertyValue> > pv( nStyles );
- for( auto& i : asNonConstRange(pv) ) {
+ auto pvRange = asNonConstRange(pv);
+ for( auto& i : pvRange ) {
i = Sequence<beans::PropertyValue>( nAttributes );
}
- sal_Unicode const *** pStyle = p0;
+ OUString const ** pStyle = p0;
for( int i=0; i<nStyles; i++ ) {
- sal_Unicode const ** pAttribute = pStyle[i];
+ OUString const * pAttribute = pStyle[i];
+ auto pvElementRange = asNonConstRange(pvRange[i]);
for( int j=0; j<nAttributes; j++ ) { // prefix, numberingtype, ...
- sal_Unicode const * pString = pAttribute[j];
- beans::PropertyValue& rVal = pv[i][j];
+ OUString const & pString = pAttribute[j];
+ beans::PropertyValue& rVal = pvElementRange[j];
OUString sVal;
- if( pString ) {
- if( 0 != j && 2 != j )
- sVal = pString;
- else if( *pString )
- sVal = OUString( pString, 1 );
- }
+ if( 0 != j && 2 != j )
+ sVal = pString;
+ else if( !pString.isEmpty() )
+ sVal = pString.copy( 0, 1 );
switch( j )
{
@@ -1327,6 +1305,7 @@ struct OutlineNumberingLevel_Impl
sal_Int32 nLeftMargin;
sal_Int32 nSymbolTextDistance;
sal_Int32 nFirstLineOffset;
+ sal_Int16 nAdjust;
OUString sTransliteration;
sal_Int32 nNatNum;
};
@@ -1364,20 +1343,20 @@ LocaleDataImpl::getOutlineNumberingLevels( const lang::Locale& rLocale )
sal_Int16 nStyles;
sal_Int16 nLevels;
sal_Int16 nAttributes;
- sal_Unicode const **** p0 = func( nStyles, nLevels, nAttributes );
+ OUString const *** p0 = func( nStyles, nLevels, nAttributes );
Sequence< Reference<container::XIndexAccess> > aRet( nStyles );
-
- sal_Unicode const **** pStyle = p0;
+ auto aRetRange = asNonConstRange(aRet);
+ OUString const *** pStyle = p0;
for( i=0; i<nStyles; i++ )
{
int j;
std::unique_ptr<OutlineNumberingLevel_Impl[]> level(new OutlineNumberingLevel_Impl[ nLevels+1 ]);
- sal_Unicode const *** pLevel = pStyle[i];
+ OUString const ** pLevel = pStyle[i];
for( j = 0; j < nLevels; j++ )
{
- sal_Unicode const ** pAttribute = pLevel[j];
+ OUString const * pAttribute = pLevel[j];
for( int k=0; k<nAttributes; k++ )
{
OUString tmp( pAttribute[k] );
@@ -1392,7 +1371,7 @@ LocaleDataImpl::getOutlineNumberingLevels( const lang::Locale& rLocale )
case 6: level[j].nLeftMargin = tmp.toInt32(); break;
case 7: level[j].nSymbolTextDistance = tmp.toInt32(); break;
case 8: level[j].nFirstLineOffset = tmp.toInt32(); break;
- case 9: break;
+ case 9: level[j].nAdjust = sal::static_int_cast<sal_Int16>(tmp.toInt32()); break;
case 10: level[j].sTransliteration = tmp; break;
case 11: level[j].nNatNum = tmp.toInt32(); break;
default:
@@ -1403,6 +1382,7 @@ LocaleDataImpl::getOutlineNumberingLevels( const lang::Locale& rLocale )
level[j].sPrefix.clear();
level[j].nNumType = 0;
level[j].sSuffix.clear();
+ level[j].nAdjust = 0;
level[j].cBulletChar = 0;
level[j].sBulletFontName.clear();
level[j].nParentNumbering = 0;
@@ -1411,7 +1391,7 @@ LocaleDataImpl::getOutlineNumberingLevels( const lang::Locale& rLocale )
level[j].nFirstLineOffset = 0;
level[j].sTransliteration.clear();
level[j].nNatNum = 0;
- aRet[i] = new OutlineNumbering( std::move(level), nLevels );
+ aRetRange[i] = new OutlineNumbering( std::move(level), nLevels );
}
return aRet;
}
@@ -1424,28 +1404,28 @@ LocaleDataImpl::getOutlineNumberingLevels( const lang::Locale& rLocale )
oslGenericFunction LocaleDataImpl::getFunctionSymbol( const Locale& rLocale, const char* pFunction )
{
- lcl_LookupTableHelper & rLookupTable = lcl_LookupTableStatic::get();
+ lcl_LookupTableHelper & rLookupTable = lcl_LookupTableStatic();
- if (cachedItem && cachedItem->equals(rLocale))
+ if (moCachedItem && moCachedItem->equals(rLocale))
{
OString sSymbolName = OString::Concat(pFunction) + "_" +
- cachedItem->localeName;
- return cachedItem->module->getFunctionSymbol(sSymbolName.getStr());
+ moCachedItem->localeName;
+ return moCachedItem->module->getFunctionSymbol(sSymbolName.getStr());
}
oslGenericFunction pSymbol = nullptr;
- std::unique_ptr<LocaleDataLookupTableItem> pCachedItem;
+ std::optional<LocaleDataLookupTableItem> oCachedItem;
// Load function with name <func>_<lang>_<country> or <func>_<bcp47> and
// fallbacks.
pSymbol = rLookupTable.getFunctionSymbolByName( LocaleDataImpl::getFirstLocaleServiceName( rLocale),
- pFunction, &pCachedItem);
+ pFunction, oCachedItem);
if (!pSymbol)
{
::std::vector< OUString > aFallbacks( LocaleDataImpl::getFallbackLocaleServiceNames( rLocale));
for (const auto& rFallback : aFallbacks)
{
- pSymbol = rLookupTable.getFunctionSymbolByName(rFallback, pFunction, &pCachedItem);
+ pSymbol = rLookupTable.getFunctionSymbolByName(rFallback, pFunction, oCachedItem);
if (pSymbol)
break;
}
@@ -1453,17 +1433,17 @@ oslGenericFunction LocaleDataImpl::getFunctionSymbol( const Locale& rLocale, con
if (!pSymbol)
{
// load default function with name <func>_en_US
- pSymbol = rLookupTable.getFunctionSymbolByName("en_US", pFunction, &pCachedItem);
+ pSymbol = rLookupTable.getFunctionSymbolByName("en_US", pFunction, oCachedItem);
}
if (!pSymbol)
// Appropriate symbol could not be found. Give up.
throw RuntimeException();
- if (pCachedItem)
- cachedItem = std::move(pCachedItem);
- if (cachedItem)
- cachedItem->aLocale = rLocale;
+ if (oCachedItem)
+ moCachedItem = std::move(oCachedItem);
+ if (moCachedItem)
+ moCachedItem->aLocale = rLocale;
return pSymbol;
}
@@ -1472,6 +1452,7 @@ Sequence< Locale > SAL_CALL
LocaleDataImpl::getAllInstalledLocaleNames()
{
Sequence< lang::Locale > seq( nbOfLocales );
+ auto seqRange = asNonConstRange(seq);
sal_Int16 nInstalled = 0;
for(const auto & i : aLibTable) {
@@ -1479,11 +1460,11 @@ LocaleDataImpl::getAllInstalledLocaleNames()
// Check if the locale is really available and not just in the table,
// don't allow fall backs.
- std::unique_ptr<LocaleDataLookupTableItem> pCachedItem;
- if (lcl_LookupTableStatic::get().getFunctionSymbolByName( name, "getLocaleItem", &pCachedItem )) {
- if( pCachedItem )
- cachedItem = std::move( pCachedItem );
- seq[nInstalled++] = LanguageTag::convertToLocale( name.replace( cUnder, cHyphen), false);
+ std::optional<LocaleDataLookupTableItem> oCachedItem;
+ if (lcl_LookupTableStatic().getFunctionSymbolByName( name, "getLocaleItem", oCachedItem )) {
+ if( oCachedItem )
+ moCachedItem = std::move( oCachedItem );
+ seqRange[nInstalled++] = LanguageTag::convertToLocale( name.replace( cUnder, cHyphen), false);
}
}
if ( nInstalled < nbOfLocales )
@@ -1494,7 +1475,6 @@ LocaleDataImpl::getAllInstalledLocaleNames()
using namespace ::com::sun::star::container;
using namespace ::com::sun::star::beans;
-using namespace ::com::sun::star::text;
OutlineNumbering::OutlineNumbering(std::unique_ptr<const OutlineNumberingLevel_Impl[]> pOutlnLevels, int nLevels) :
m_pOutlineLevels(std::move(pOutlnLevels)),
@@ -1536,7 +1516,7 @@ Any OutlineNumbering::getByIndex( sal_Int32 nIndex )
pValues[8].Name = "FirstLineOffset";
pValues[8].Value <<= pTemp->nFirstLineOffset;
pValues[9].Name = "Adjust";
- pValues[9].Value <<= sal_Int16(HoriOrientation::LEFT);
+ pValues[9].Value <<= pTemp->nAdjust;
pValues[10].Name = "Transliteration";
pValues[10].Value <<= pTemp->sTransliteration;
pValues[11].Name = "NatNum";
@@ -1558,7 +1538,7 @@ sal_Bool OutlineNumbering::hasElements( )
OUString SAL_CALL
LocaleDataImpl::getImplementationName()
{
- return "com.sun.star.i18n.LocaleDataImpl";
+ return u"com.sun.star.i18n.LocaleDataImpl"_ustr;
}
sal_Bool SAL_CALL LocaleDataImpl::supportsService(const OUString& rServiceName)
@@ -1570,8 +1550,8 @@ Sequence< OUString > SAL_CALL
LocaleDataImpl::getSupportedServiceNames()
{
Sequence< OUString > aRet {
- "com.sun.star.i18n.LocaleData",
- "com.sun.star.i18n.LocaleData2"
+ u"com.sun.star.i18n.LocaleData"_ustr,
+ u"com.sun.star.i18n.LocaleData2"_ustr
};
return aRet;
}
diff --git a/i18npool/source/localedata/saxparser.cxx b/i18npool/source/localedata/saxparser.cxx
index d13e99bb7345..603d91450b06 100644
--- a/i18npool/source/localedata/saxparser.cxx
+++ b/i18npool/source/localedata/saxparser.cxx
@@ -40,7 +40,6 @@
#include "LocaleNode.hxx"
-using namespace ::std;
using namespace ::cppu;
using namespace ::com::sun::star::uno;
using namespace ::com::sun::star::lang;
@@ -183,13 +182,14 @@ public: // Error handler
public: // ExtendedDocumentHandler
- stack<LocaleNode *> currentNode ;
+ std::stack<LocaleNode *> currentNode ;
LocaleNode * rootNode;
virtual void SAL_CALL startDocument() override
{
printf( "parsing document %s started\n", theLocale.c_str());
of.writeAsciiString("#include <sal/types.h>\n\n\n");
+ of.writeAsciiString("#include <rtl/ustring.hxx>\n\n\n");
of.writeAsciiString("#include <stdio.h>\n\n");
of.writeAsciiString("extern \"C\" {\n\n");
}
diff --git a/i18npool/source/nativenumber/data/numberchar.h b/i18npool/source/nativenumber/data/numberchar.h
index 8753d73d784d..a711e960724f 100644
--- a/i18npool/source/nativenumber/data/numberchar.h
+++ b/i18npool/source/nativenumber/data/numberchar.h
@@ -20,6 +20,8 @@
#ifndef INCLUDED_I18NPOOL_SOURCE_NATIVENUMBER_DATA_NUMBERCHAR_H
#define INCLUDED_I18NPOOL_SOURCE_NATIVENUMBER_DATA_NUMBERCHAR_H
+#include <sal/types.h>
+
namespace i18npool {
const sal_Int16 NumberChar_HalfWidth = 0;
diff --git a/i18npool/source/nativenumber/nativenumbersupplier.cxx b/i18npool/source/nativenumber/nativenumbersupplier.cxx
index 13d6698ae203..57e2355e15c0 100644
--- a/i18npool/source/nativenumber/nativenumbersupplier.cxx
+++ b/i18npool/source/nativenumber/nativenumbersupplier.cxx
@@ -26,6 +26,8 @@
#include "data/numberchar.h"
#include <comphelper/processfactory.hxx>
#include <cppuhelper/supportsservice.hxx>
+#include <o3tl/string_view.hxx>
+#include <cstddef>
#include <map>
#include <mutex>
#include <memory>
@@ -87,6 +89,7 @@ static OUString AsciiToNativeChar( const OUString& inStr, sal_Int32 nCount,
rtl_uString *newStr = rtl_uString_alloc(nCount);
if (pOffset)
pOffset->realloc(nCount);
+ auto ppOffset = pOffset ? pOffset->getArray() : nullptr;
for (sal_Int32 i = 0; i < nCount; i++)
{
@@ -102,8 +105,8 @@ static OUString AsciiToNativeChar( const OUString& inStr, sal_Int32 nCount,
}
else
newStr->buffer[i] = ch;
- if (pOffset)
- (*pOffset)[i] = i;
+ if (ppOffset)
+ ppOffset[i] = i;
}
return OUString(newStr, SAL_NO_ACQUIRE); // take ownership
}
@@ -113,42 +116,43 @@ static bool AsciiToNative_numberMaker(const sal_Unicode *str, sal_Int32 begin, s
const Number *number, const sal_Unicode* numberChar)
{
sal_Unicode multiChar = (multiChar_index == -1 ? 0 : number->multiplierChar[multiChar_index]);
+ auto ppOffset = pOffset ? pOffset->getArray() : nullptr;
if ( len <= number->multiplierExponent[number->exponentCount-1] ) {
if (number->multiplierExponent[number->exponentCount-1] > 1) {
bool bNotZero = false;
for (const sal_Int32 end = begin+len; begin < end; begin++) {
if (bNotZero || str[begin] != NUMBER_ZERO) {
dst[count] = numberChar[str[begin] - NUMBER_ZERO];
- if (pOffset)
- (*pOffset)[count] = begin + startPos;
+ if (ppOffset)
+ ppOffset[count] = begin + startPos;
count++;
bNotZero = true;
}
}
if (bNotZero && multiChar > 0) {
dst[count] = multiChar;
- if (pOffset)
- (*pOffset)[count] = begin + startPos;
+ if (ppOffset)
+ ppOffset[count] = begin + startPos;
count++;
}
return bNotZero;
} else if (str[begin] != NUMBER_ZERO) {
if (!(number->numberFlag & (multiChar_index < 0 ? 0 : NUMBER_OMIT_ONE_CHECK(multiChar_index))) || str[begin] != NUMBER_ONE) {
dst[count] = numberChar[str[begin] - NUMBER_ZERO];
- if (pOffset)
- (*pOffset)[count] = begin + startPos;
+ if (ppOffset)
+ ppOffset[count] = begin + startPos;
count++;
}
if (multiChar > 0) {
dst[count] = multiChar;
- if (pOffset)
- (*pOffset)[count] = begin + startPos;
+ if (ppOffset)
+ ppOffset[count] = begin + startPos;
count++;
}
} else if (!(number->numberFlag & NUMBER_OMIT_ZERO) && count > 0 && dst[count-1] != numberChar[0]) {
dst[count] = numberChar[0];
- if (pOffset)
- (*pOffset)[count] = begin + startPos;
+ if (ppOffset)
+ ppOffset[count] = begin + startPos;
count++;
}
return str[begin] != NUMBER_ZERO;
@@ -170,8 +174,8 @@ static bool AsciiToNative_numberMaker(const sal_Unicode *str, sal_Int32 begin, s
count--;
if (multiChar > 0) {
dst[count] = multiChar;
- if (pOffset)
- (*pOffset)[count] = begin + startPos;
+ if (ppOffset)
+ ppOffset[count] = begin + startPos;
count++;
}
}
@@ -200,6 +204,7 @@ static OUString AsciiToNative( const OUString& inStr, sal_Int32 nCount,
if (pOffset)
pOffset->realloc( nCount * 2 );
+ auto ppOffset = pOffset ? pOffset->getArray() : nullptr;
bool bDoDecimal = false;
for (i = 0; i <= nCount; i++)
@@ -207,8 +212,8 @@ static OUString AsciiToNative( const OUString& inStr, sal_Int32 nCount,
if (i < nCount && isNumber(str[i])) {
if (bDoDecimal) {
newStr[count] = numberChar[str[i] - NUMBER_ZERO];
- if (pOffset)
- (*pOffset)[count] = i;
+ if (ppOffset)
+ ppOffset[count] = i;
count++;
}
else
@@ -229,15 +234,15 @@ static OUString AsciiToNative( const OUString& inStr, sal_Int32 nCount,
count--;
if (bNotZero && _count == count && end != len) {
newStr[count] = number->multiplierChar[0];
- if (pOffset)
- (*pOffset)[count] = i - len;
+ if (ppOffset)
+ ppOffset[count] = i - len;
count++;
}
}
if (! bNotZero && ! (number->numberFlag & NUMBER_OMIT_ONLY_ZERO)) {
newStr[count] = numberChar[0];
- if (pOffset)
- (*pOffset)[count] = i - len;
+ if (ppOffset)
+ ppOffset[count] = i - len;
count++;
}
len = 0;
@@ -252,8 +257,8 @@ static OUString AsciiToNative( const OUString& inStr, sal_Int32 nCount,
newStr[count] = (SeparatorChar[number->number] ? SeparatorChar[number->number] : str[i]);
else
newStr[count] = str[i];
- if (pOffset)
- (*pOffset)[count] = i;
+ if (ppOffset)
+ ppOffset[count] = i;
count++;
}
}
@@ -272,6 +277,7 @@ void NativeToAscii_numberMaker(sal_Int16 max, sal_Int16 prev, const sal_Unicode
sal_Int32& i, sal_Int32 nCount, sal_Unicode *dst, sal_Int32& count, Sequence< sal_Int32 >* pOffset,
OUString& numberChar, OUString& multiplierChar)
{
+ auto ppOffset = pOffset ? pOffset->getArray() : nullptr;
sal_Int16 curr = 0, num = 0, end = 0, shift = 0;
while (++i < nCount) {
if ((curr = sal::static_int_cast<sal_Int16>( numberChar.indexOf(str[i]) )) >= 0) {
@@ -290,16 +296,16 @@ void NativeToAscii_numberMaker(sal_Int16 max, sal_Int16 prev, const sal_Unicode
end = curr;
while (end++ < prev) {
dst[count] = NUMBER_ZERO + (end == prev ? num : 0);
- if (pOffset)
- (*pOffset)[count] = i;
+ if (ppOffset)
+ ppOffset[count] = i;
count++;
}
if (shift) {
count -= max;
for (const sal_Int32 countEnd = count+shift; count < countEnd; count++) {
dst[count] = dst[count + curr];
- if (pOffset)
- (*pOffset)[count] = (*pOffset)[count + curr];
+ if (ppOffset)
+ ppOffset[count] = ppOffset[count + curr];
}
max = curr;
}
@@ -311,8 +317,8 @@ void NativeToAscii_numberMaker(sal_Int16 max, sal_Int16 prev, const sal_Unicode
}
while (end++ < prev) {
dst[count] = NUMBER_ZERO + (end == prev ? num : 0);
- if (pOffset)
- (*pOffset)[count] = i - 1;
+ if (ppOffset)
+ ppOffset[count] = i - 1;
count++;
}
}
@@ -333,6 +339,7 @@ OUString NativeToAscii(const OUString& inStr,
std::unique_ptr<sal_Unicode[]> newStr(new sal_Unicode[nCount * MultiplierExponent_7_CJK[0] + 2]);
if (pOffset)
pOffset->realloc( nCount * MultiplierExponent_7_CJK[0] + 1 );
+ auto ppOffset = pOffset ? pOffset->getArray() : nullptr;
sal_Int32 count = 0, index;
sal_Int32 i;
@@ -348,8 +355,8 @@ OUString NativeToAscii(const OUString& inStr,
if ((index = multiplierChar.indexOf(str[i])) >= 0) {
if (count == 0 || !isNumber(newStr[count-1])) { // add 1 in front of multiplier
newStr[count] = NUMBER_ONE;
- if (pOffset)
- (*pOffset)[count] = i;
+ if (ppOffset)
+ ppOffset[count] = i;
count++;
}
index = MultiplierExponent_7_CJK[index % ExponentCount_7_CJK];
@@ -378,8 +385,8 @@ OUString NativeToAscii(const OUString& inStr,
newStr[count] = MinusChar[NumberChar_HalfWidth];
else
newStr[count] = str[i];
- if (pOffset)
- (*pOffset)[count] = i;
+ if (ppOffset)
+ ppOffset[count] = i;
count++;
}
}
@@ -579,15 +586,11 @@ OUString getNumberText(const Locale& rLocale, const OUString& rNumberString,
for (i = 0; i < len; i++)
{
sal_Unicode ch = src[i];
- if (isNumber(ch))
+ if (isNumber(ch) || ch == aSeparators.DecimalSeparator)
{
++count;
sBuf.append(ch);
}
- else if (ch == aSeparators.DecimalSeparator)
- // Convert any decimal separator to point - in case libnumbertext has a different one
- // for this locale (it seems that point is supported for all locales in libnumbertext)
- sBuf.append('.');
else if (ch == aSeparators.ThousandSeparator && count > 0)
continue;
else if (isMinus(ch) && count == 0)
@@ -632,7 +635,7 @@ OUString getNumberText(const Locale& rLocale, const OUString& rNumberString,
OUString NativeNumberSupplierService::getNativeNumberString(const OUString& aNumberString, const Locale& rLocale,
sal_Int16 nNativeNumberMode,
Sequence<sal_Int32>* pOffset,
- const OUString& rNativeNumberParams)
+ std::u16string_view rNativeNumberParams)
{
if (!isValidNatNumImpl(rLocale, nNativeNumberMode))
return aNumberString;
@@ -663,21 +666,21 @@ OUString NativeNumberSupplierService::getNativeNumberString(const OUString& aNum
{ std::u16string_view(u"title"), TITLE }
};
- sal_Int32 nStripCase = 0;
+ std::size_t nStripCase = 0;
size_t nCasing;
- for (nCasing = 0; nCasing < SAL_N_ELEMENTS(Casings); ++nCasing)
+ for (nCasing = 0; nCasing < std::size(Casings); ++nCasing)
{
- if (rNativeNumberParams.startsWith( Casings[nCasing].aLiteral))
+ if (o3tl::starts_with(rNativeNumberParams, Casings[nCasing].aLiteral))
{
nStripCase = Casings[nCasing].aLiteral.size();
break;
}
}
- if (nStripCase > 0 && (rNativeNumberParams.getLength() == nStripCase ||
+ if (nStripCase > 0 && (rNativeNumberParams.size() == nStripCase ||
rNativeNumberParams[nStripCase++] == ' '))
{
- OUString aStr = getNumberText(rLocale, aNumberString, rNativeNumberParams.subView(nStripCase));
+ OUString aStr = getNumberText(rLocale, aNumberString, rNativeNumberParams.substr(nStripCase));
if (!xCharClass.is())
xCharClass = CharacterClassification::create(comphelper::getProcessComponentContext());
@@ -686,13 +689,29 @@ OUString NativeNumberSupplierService::getNativeNumberString(const OUString& aNum
{
case CAPITALIZE:
return xCharClass->toTitle(aStr, 0, 1, aLocale) +
- (aStr.getLength() > 1 ? aStr.copy(1) : OUString());
+ (aStr.getLength() > 1 ? aStr.subView(1) : u"");
case UPPER:
return xCharClass->toUpper(aStr, 0, aStr.getLength(), aLocale);
case LOWER:
return xCharClass->toLower(aStr, 0, aStr.getLength(), aLocale);
case TITLE:
- return xCharClass->toTitle(aStr, 0, aStr.getLength(), aLocale);
+ {
+ if ( rLocale.Language == "en" )
+ {
+ // title case is common in English, so fix bugs of toTitle():
+ // not "One Dollar *And* *Twenty-two* Cents", but
+ // "One Dollar *and* *Twenty-Two* Cents".
+
+ // Add spaces after hyphens to separate the elements of the
+ // hyphenated compound words temporarily, allowing their
+ // capitalization by toTitle()
+ aStr = aStr.replaceAll("-", "- ");
+ aStr = xCharClass->toTitle(aStr, 0, aStr.getLength(), aLocale);
+ return aStr.replaceAll("- ", "-").replaceAll(" And ", " and ");
+ }
+ else
+ return xCharClass->toTitle(aStr, 0, aStr.getLength(), aLocale);
+ }
}
}
else
@@ -1045,7 +1064,7 @@ static void makeHebrewNumber(sal_Int64 value, OUStringBuffer& output, bool isLas
output.append(value == 1000 ? thousand : isLast ? thousands_last : thousands);
} else {
sal_Int16 nbOfChar = 0;
- for (sal_Int32 j = 0; num > 0 && j < sal_Int32(SAL_N_ELEMENTS(HebrewNumberCharArray)); j++) {
+ for (sal_Int32 j = 0; num > 0 && j < sal_Int32(std::size(HebrewNumberCharArray)); j++) {
if (num - HebrewNumberCharArray[j].value >= 0) {
nbOfChar++;
// https://en.wikipedia.org/wiki/Hebrew_numerals#Key_exceptions
@@ -1158,7 +1177,7 @@ static void makeCyrillicNumber(sal_Int64 value, OUStringBuffer& output, bool add
addTitlo = false;
}
- for (sal_Int32 j = 0; num > 0 && j < sal_Int32(SAL_N_ELEMENTS(CyrillicNumberCharArray)); j++) {
+ for (sal_Int32 j = 0; num > 0 && j < sal_Int32(std::size(CyrillicNumberCharArray)); j++) {
if (num < 20 && num > 10) {
num -= 10;
makeCyrillicNumber(num, output, false);
@@ -1224,7 +1243,7 @@ OUString getCyrillicNativeNumberString(const OUString& aNumberString)
return aNumberString;
}
-constexpr OUStringLiteral implementationName = u"com.sun.star.i18n.NativeNumberSupplier";
+constexpr OUString implementationName = u"com.sun.star.i18n.NativeNumberSupplier"_ustr;
OUString SAL_CALL NativeNumberSupplierService::getImplementationName()
{
@@ -1240,7 +1259,7 @@ NativeNumberSupplierService::supportsService(const OUString& rServiceName)
Sequence< OUString > SAL_CALL
NativeNumberSupplierService::getSupportedServiceNames()
{
- return {implementationName, "com.sun.star.i18n.NativeNumberSupplier2"};
+ return {implementationName, u"com.sun.star.i18n.NativeNumberSupplier2"_ustr};
}
}
diff --git a/i18npool/source/numberformatcode/numberformatcode.cxx b/i18npool/source/numberformatcode/numberformatcode.cxx
index c20ed5b20edc..5562c301a300 100644
--- a/i18npool/source/numberformatcode/numberformatcode.cxx
+++ b/i18npool/source/numberformatcode/numberformatcode.cxx
@@ -240,7 +240,7 @@ NumberFormatCodeMapper::mapElementUsageStringToShort(std::u16string_view formatU
OUString SAL_CALL
NumberFormatCodeMapper::getImplementationName()
{
- return "com.sun.star.i18n.NumberFormatCodeMapper";
+ return u"com.sun.star.i18n.NumberFormatCodeMapper"_ustr;
}
sal_Bool SAL_CALL NumberFormatCodeMapper::supportsService(const OUString& rServiceName)
@@ -251,7 +251,7 @@ sal_Bool SAL_CALL NumberFormatCodeMapper::supportsService(const OUString& rServi
css::uno::Sequence< OUString > SAL_CALL
NumberFormatCodeMapper::getSupportedServiceNames()
{
- return { "com.sun.star.i18n.NumberFormatMapper" };
+ return { u"com.sun.star.i18n.NumberFormatMapper"_ustr };
}
extern "C" SAL_DLLPUBLIC_EXPORT css::uno::XInterface *
diff --git a/i18npool/source/ordinalsuffix/ordinalsuffix.cxx b/i18npool/source/ordinalsuffix/ordinalsuffix.cxx
index 76dd0440f76f..68a8781a1f75 100644
--- a/i18npool/source/ordinalsuffix/ordinalsuffix.cxx
+++ b/i18npool/source/ordinalsuffix/ordinalsuffix.cxx
@@ -134,7 +134,7 @@ uno::Sequence< OUString > SAL_CALL OrdinalSuffixService::getOrdinalSuffix( sal_I
return comphelper::containerToSequence(retVec);
}
-constexpr OUStringLiteral cOrdinalSuffix = u"com.sun.star.i18n.OrdinalSuffix";
+constexpr OUString cOrdinalSuffix = u"com.sun.star.i18n.OrdinalSuffix"_ustr;
OUString SAL_CALL OrdinalSuffixService::getImplementationName()
{
diff --git a/i18npool/source/registerservices/registerservices.cxx b/i18npool/source/registerservices/registerservices.cxx
index 878fc3c3de50..b3289c2d2a53 100644
--- a/i18npool/source/registerservices/registerservices.cxx
+++ b/i18npool/source/registerservices/registerservices.cxx
@@ -41,7 +41,6 @@
#include <calendar_jewish.hxx>
#include <breakiterator_cjk.hxx>
-#include <breakiterator_th.hxx>
#include <indexentrysupplier.hxx>
#include <indexentrysupplier_asian.hxx>
@@ -57,7 +56,6 @@
#include <textconversion.hxx>
using namespace ::com::sun::star;
-using namespace ::com::sun::star::i18n;
using namespace i18npool;
#define IMPL_CREATEINSTANCE( ImplName ) \
@@ -104,187 +102,153 @@ i18npool_##ImplName##_get_implementation( \
// -Wl,--gc_sections. It's mainly for iOS and Android that the
// --with-locales option is intended anyway.
-IMPL_UNO_CONSTRUCTOR_CTX( IndexEntrySupplier )
-IMPL_UNO_CONSTRUCTOR_CTX( IndexEntrySupplier_asian )
-#if WITH_LOCALE_ALL || WITH_LOCALE_ja
-IMPL_UNO_CONSTRUCTOR_CTX( IndexEntrySupplier_ja_phonetic_alphanumeric_first_by_syllable )
-IMPL_UNO_CONSTRUCTOR_CTX( IndexEntrySupplier_ja_phonetic_alphanumeric_first_by_consonant )
-IMPL_UNO_CONSTRUCTOR_CTX( IndexEntrySupplier_ja_phonetic_alphanumeric_last_by_syllable )
-IMPL_UNO_CONSTRUCTOR_CTX( IndexEntrySupplier_ja_phonetic_alphanumeric_last_by_consonant )
-#endif
-IMPL_UNO_CONSTRUCTOR_CTX( IndexEntrySupplier_Unicode )
-IMPL_UNO_CONSTRUCTOR_CTX( CalendarImpl )
+IMPL_CREATEINSTANCE( ignoreDiacritics_CTL )
+IMPL_CREATEINSTANCE( ignoreKashida_CTL )
+IMPL_CREATEINSTANCE( NumToCharIndic_ar )
+IMPL_CREATEINSTANCE( NumToTextCircledNumber )
+IMPL_CREATEINSTANCE( Transliteration_l2u )
+IMPL_CREATEINSTANCE( Transliteration_sentencecase )
+IMPL_CREATEINSTANCE( Transliteration_titlecase )
+IMPL_CREATEINSTANCE( Transliteration_togglecase )
+IMPL_CREATEINSTANCE( Transliteration_u2l )
+IMPL_UNO_CONSTRUCTOR( Calendar_buddhist )
+IMPL_UNO_CONSTRUCTOR( Calendar_dangi )
+IMPL_UNO_CONSTRUCTOR( Calendar_gengou )
IMPL_UNO_CONSTRUCTOR( Calendar_gregorian )
IMPL_UNO_CONSTRUCTOR( Calendar_hanja )
IMPL_UNO_CONSTRUCTOR( Calendar_hanja_yoil )
-IMPL_UNO_CONSTRUCTOR( Calendar_gengou )
-IMPL_UNO_CONSTRUCTOR( Calendar_ROC )
-IMPL_UNO_CONSTRUCTOR( Calendar_dangi )
IMPL_UNO_CONSTRUCTOR( Calendar_hijri )
IMPL_UNO_CONSTRUCTOR( Calendar_jewish )
-IMPL_UNO_CONSTRUCTOR( Calendar_buddhist )
-#if WITH_LOCALE_ALL || WITH_LOCALE_ja
- IMPL_UNO_CONSTRUCTOR( BreakIterator_ja )
-#endif
-#if WITH_LOCALE_ALL || WITH_LOCALE_zh
-IMPL_UNO_CONSTRUCTOR( BreakIterator_zh )
-IMPL_UNO_CONSTRUCTOR( BreakIterator_zh_TW )
-#endif
-#if WITH_LOCALE_ALL || WITH_LOCALE_ko
-IMPL_UNO_CONSTRUCTOR( BreakIterator_ko )
-#endif
-#if WITH_LOCALE_ALL || WITH_LOCALE_th
-IMPL_UNO_CONSTRUCTOR( BreakIterator_th )
-#endif
-IMPL_UNO_CONSTRUCTOR_CTX( ChapterCollator )
+IMPL_UNO_CONSTRUCTOR( Calendar_ROC )
+IMPL_UNO_CONSTRUCTOR( CharToNumEastIndic_ar )
+IMPL_UNO_CONSTRUCTOR( CharToNumIndic_ar )
IMPL_UNO_CONSTRUCTOR( Collator_Unicode )
+IMPL_UNO_CONSTRUCTOR_CTX( CalendarImpl )
+IMPL_UNO_CONSTRUCTOR_CTX( ChapterCollator )
+IMPL_UNO_CONSTRUCTOR_CTX( IndexEntrySupplier )
+IMPL_UNO_CONSTRUCTOR_CTX( IndexEntrySupplier_asian )
+IMPL_UNO_CONSTRUCTOR_CTX( IndexEntrySupplier_Unicode )
+IMPL_UNO_CONSTRUCTOR( NumToCharEastIndic_ar )
-#if WITH_LOCALE_ALL || WITH_LOCALE_th
-IMPL_UNO_CONSTRUCTOR( InputSequenceChecker_th )
-#endif
#if WITH_LOCALE_ALL || WITH_LOCALE_hi
+IMPL_CREATEINSTANCE( NumToCharIndic_hi )
+IMPL_UNO_CONSTRUCTOR( CharToNumIndic_hi )
IMPL_UNO_CONSTRUCTOR( InputSequenceChecker_hi )
#endif
-#if WITH_LOCALE_ALL || WITH_LOCALE_ko
-IMPL_UNO_CONSTRUCTOR_CTX( TextConversion_ko )
-#endif
-#if WITH_LOCALE_ALL || WITH_LOCALE_zh
-IMPL_UNO_CONSTRUCTOR_CTX( TextConversion_zh )
-#endif
-IMPL_CREATEINSTANCE( Transliteration_u2l )
-IMPL_CREATEINSTANCE( Transliteration_l2u )
-IMPL_CREATEINSTANCE( Transliteration_sentencecase )
-IMPL_CREATEINSTANCE( Transliteration_titlecase )
-IMPL_CREATEINSTANCE( Transliteration_togglecase )
-IMPL_CREATEINSTANCE( hiraganaToKatakana )
-IMPL_CREATEINSTANCE( katakanaToHiragana )
+#if WITH_LOCALE_ALL || WITH_LOCALE_ja
IMPL_CREATEINSTANCE( fullwidthToHalfwidth )
IMPL_CREATEINSTANCE( halfwidthToFullwidth )
-
-IMPL_CREATEINSTANCE( smallToLarge_ja_JP)
-IMPL_CREATEINSTANCE( largeToSmall_ja_JP)
-IMPL_CREATEINSTANCE( ignoreTraditionalKanji_ja_JP)
-IMPL_CREATEINSTANCE( ignoreTraditionalKana_ja_JP)
-IMPL_CREATEINSTANCE( ignoreMinusSign_ja_JP)
-IMPL_CREATEINSTANCE( ignoreIterationMark_ja_JP)
-IMPL_CREATEINSTANCE( ignoreSeparator_ja_JP)
-IMPL_CREATEINSTANCE( ignoreZiZu_ja_JP)
-IMPL_CREATEINSTANCE( ignoreBaFa_ja_JP)
-IMPL_CREATEINSTANCE( ignoreTiJi_ja_JP)
-IMPL_CREATEINSTANCE( ignoreHyuByu_ja_JP)
-IMPL_CREATEINSTANCE( ignoreSeZe_ja_JP)
-IMPL_CREATEINSTANCE( ignoreIandEfollowedByYa_ja_JP)
-IMPL_CREATEINSTANCE( ignoreKiKuFollowedBySa_ja_JP)
-IMPL_CREATEINSTANCE( ignoreSize_ja_JP)
-IMPL_CREATEINSTANCE( ignoreProlongedSoundMark_ja_JP)
-IMPL_CREATEINSTANCE( ignoreMiddleDot_ja_JP)
-IMPL_CREATEINSTANCE( ignoreSpace_ja_JP)
-IMPL_CREATEINSTANCE( ignoreDiacritics_CTL)
-IMPL_CREATEINSTANCE( ignoreKashida_CTL)
-
-IMPL_CREATEINSTANCE( TextToChuyin_zh_TW )
-IMPL_CREATEINSTANCE( TextToPinyin_zh_CN )
-
-IMPL_CREATEINSTANCE( NumToCharLower_zh_CN )
-IMPL_CREATEINSTANCE( NumToCharUpper_zh_CN )
-IMPL_CREATEINSTANCE( NumToCharLower_zh_TW )
-IMPL_CREATEINSTANCE( NumToCharUpper_zh_TW )
-IMPL_CREATEINSTANCE( NumToCharHalfwidth )
+IMPL_CREATEINSTANCE( hiraganaToKatakana )
+IMPL_CREATEINSTANCE( ignoreBaFa_ja_JP )
+IMPL_CREATEINSTANCE( ignoreHyuByu_ja_JP )
+IMPL_CREATEINSTANCE( ignoreIandEfollowedByYa_ja_JP )
+IMPL_CREATEINSTANCE( ignoreIterationMark_ja_JP )
+IMPL_CREATEINSTANCE( ignoreKiKuFollowedBySa_ja_JP )
+IMPL_CREATEINSTANCE( ignoreMiddleDot_ja_JP )
+IMPL_CREATEINSTANCE( ignoreMinusSign_ja_JP )
+IMPL_CREATEINSTANCE( ignoreProlongedSoundMark_ja_JP )
+IMPL_CREATEINSTANCE( ignoreSeparator_ja_JP )
+IMPL_CREATEINSTANCE( ignoreSeZe_ja_JP )
+IMPL_CREATEINSTANCE( ignoreSize_ja_JP )
+IMPL_CREATEINSTANCE( ignoreSpace_ja_JP )
+IMPL_CREATEINSTANCE( ignoreTiJi_ja_JP )
+IMPL_CREATEINSTANCE( ignoreTraditionalKana_ja_JP )
+IMPL_CREATEINSTANCE( ignoreTraditionalKanji_ja_JP )
+IMPL_CREATEINSTANCE( ignoreZiZu_ja_JP )
+IMPL_CREATEINSTANCE( katakanaToHiragana )
+IMPL_CREATEINSTANCE( largeToSmall_ja_JP )
IMPL_CREATEINSTANCE( NumToCharFullwidth )
+IMPL_CREATEINSTANCE( NumToCharHalfwidth )
IMPL_CREATEINSTANCE( NumToCharKanjiShort_ja_JP )
IMPL_CREATEINSTANCE( NumToCharKanjiTraditional_ja_JP )
-IMPL_CREATEINSTANCE( NumToCharHangul_ko )
-IMPL_CREATEINSTANCE( NumToCharLower_ko )
-IMPL_CREATEINSTANCE( NumToCharUpper_ko )
-IMPL_CREATEINSTANCE( NumToCharIndic_ar )
-IMPL_UNO_CONSTRUCTOR( NumToCharEastIndic_ar )
-IMPL_CREATEINSTANCE( NumToCharIndic_hi )
-IMPL_CREATEINSTANCE( NumToChar_th )
-
-#if WITH_LOCALE_ALL || WITH_LOCALE_zh
-IMPL_UNO_CONSTRUCTOR (CharToNumUpper_zh_CN)
-IMPL_UNO_CONSTRUCTOR (CharToNumLower_zh_CN)
-IMPL_UNO_CONSTRUCTOR (CharToNumUpper_zh_TW)
-IMPL_UNO_CONSTRUCTOR (CharToNumLower_zh_TW)
-#endif
-#if WITH_LOCALE_ALL || WITH_LOCALE_ja
+IMPL_CREATEINSTANCE( NumToTextFullwidth_ja_JP )
+IMPL_CREATEINSTANCE( NumToTextKanjiLongModern_ja_JP )
+IMPL_CREATEINSTANCE( NumToTextKanjiLongTraditional_ja_JP )
+IMPL_CREATEINSTANCE( NumToTextKanjiShortModern_ja_JP )
+IMPL_CREATEINSTANCE( NumToTextKanjiShortTraditional_ja_JP )
+IMPL_CREATEINSTANCE( smallToLarge_ja_JP )
+IMPL_CREATEINSTANCE( TextToNumKanjiLongModern_ja_JP )
+IMPL_CREATEINSTANCE( TextToNumKanjiLongTraditional_ja_JP )
+IMPL_UNO_CONSTRUCTOR( BreakIterator_ja )
IMPL_UNO_CONSTRUCTOR( CharToNumFullwidth )
IMPL_UNO_CONSTRUCTOR( CharToNumKanjiShort_ja_JP )
IMPL_UNO_CONSTRUCTOR( CharToNumKanjiTraditional_ja_JP )
+IMPL_UNO_CONSTRUCTOR_CTX( IndexEntrySupplier_ja_phonetic_alphanumeric_first_by_consonant )
+IMPL_UNO_CONSTRUCTOR_CTX( IndexEntrySupplier_ja_phonetic_alphanumeric_first_by_syllable )
+IMPL_UNO_CONSTRUCTOR_CTX( IndexEntrySupplier_ja_phonetic_alphanumeric_last_by_consonant )
+IMPL_UNO_CONSTRUCTOR_CTX( IndexEntrySupplier_ja_phonetic_alphanumeric_last_by_syllable )
+IMPL_UNO_CONSTRUCTOR( FULLWIDTH_HALFWIDTH_LIKE_ASC )
+IMPL_UNO_CONSTRUCTOR( FULLWIDTHKATAKANA_HALFWIDTHKATAKANA )
+IMPL_UNO_CONSTRUCTOR( HALFWIDTH_FULLWIDTH_LIKE_JIS )
+IMPL_UNO_CONSTRUCTOR( HALFWIDTHKATAKANA_FULLWIDTHKATAKANA )
+IMPL_UNO_CONSTRUCTOR( NumToTextAIUFullWidth_ja_JP )
+IMPL_UNO_CONSTRUCTOR( NumToTextAIUHalfWidth_ja_JP )
+IMPL_UNO_CONSTRUCTOR( NumToTextIROHAFullWidth_ja_JP )
+IMPL_UNO_CONSTRUCTOR( NumToTextIROHAHalfWidth_ja_JP )
#endif
+
#if WITH_LOCALE_ALL || WITH_LOCALE_ko
+IMPL_CREATEINSTANCE( NumToCharHangul_ko )
+IMPL_CREATEINSTANCE( NumToCharLower_ko )
+IMPL_CREATEINSTANCE( NumToCharUpper_ko )
+IMPL_CREATEINSTANCE( NumToTextFullwidth_ko )
+IMPL_CREATEINSTANCE( TextToNumFormalHangul_ko )
+IMPL_CREATEINSTANCE( TextToNumFormalLower_ko )
+IMPL_CREATEINSTANCE( TextToNumFormalUpper_ko )
+IMPL_CREATEINSTANCE( TextToNumInformalHangul_ko )
+IMPL_CREATEINSTANCE( TextToNumInformalLower_ko )
+IMPL_CREATEINSTANCE( TextToNumInformalUpper_ko )
+IMPL_UNO_CONSTRUCTOR( BreakIterator_ko )
IMPL_UNO_CONSTRUCTOR( CharToNumHangul_ko )
IMPL_UNO_CONSTRUCTOR( CharToNumLower_ko )
IMPL_UNO_CONSTRUCTOR( CharToNumUpper_ko )
+IMPL_UNO_CONSTRUCTOR_CTX( TextConversion_ko )
+IMPL_UNO_CONSTRUCTOR( NumToTextFormalHangul_ko )
+IMPL_UNO_CONSTRUCTOR( NumToTextFormalLower_ko )
+IMPL_UNO_CONSTRUCTOR( NumToTextFormalUpper_ko )
+IMPL_UNO_CONSTRUCTOR( NumToTextHangulCircledJamo_ko )
+IMPL_UNO_CONSTRUCTOR( NumToTextHangulCircledSyllable_ko )
+IMPL_UNO_CONSTRUCTOR( NumToTextHangulJamo_ko )
+IMPL_UNO_CONSTRUCTOR( NumToTextHangulSyllable_ko )
+IMPL_UNO_CONSTRUCTOR( NumToTextInformalHangul_ko )
+IMPL_UNO_CONSTRUCTOR( NumToTextInformalLower_ko )
+IMPL_UNO_CONSTRUCTOR( NumToTextInformalUpper_ko )
#endif
-IMPL_UNO_CONSTRUCTOR( CharToNumIndic_ar )
-IMPL_UNO_CONSTRUCTOR( CharToNumEastIndic_ar )
-#if WITH_LOCALE_ALL || WITH_LOCALE_hi
-IMPL_UNO_CONSTRUCTOR( CharToNumIndic_hi )
-#endif
+
#if WITH_LOCALE_ALL || WITH_LOCALE_th
+IMPL_CREATEINSTANCE( NumToChar_th )
IMPL_UNO_CONSTRUCTOR( CharToNum_th )
+IMPL_UNO_CONSTRUCTOR( InputSequenceChecker_th )
#endif
#if WITH_LOCALE_ALL || WITH_LOCALE_zh
-IMPL_UNO_CONSTRUCTOR( NumToTextLower_zh_CN )
-IMPL_UNO_CONSTRUCTOR( NumToTextUpper_zh_CN )
-IMPL_UNO_CONSTRUCTOR( NumToTextLower_zh_TW )
-IMPL_UNO_CONSTRUCTOR( NumToTextUpper_zh_TW )
-IMPL_UNO_CONSTRUCTOR( NumToTextFullwidth_zh_CN )
-IMPL_UNO_CONSTRUCTOR( NumToTextFullwidth_zh_TW )
-#endif
-IMPL_CREATEINSTANCE( NumToTextFullwidth_ja_JP )
-IMPL_CREATEINSTANCE( NumToTextFullwidth_ko )
-IMPL_CREATEINSTANCE( NumToTextKanjiLongModern_ja_JP )
-IMPL_CREATEINSTANCE( NumToTextKanjiLongTraditional_ja_JP )
-IMPL_CREATEINSTANCE( NumToTextKanjiShortModern_ja_JP )
-IMPL_CREATEINSTANCE( NumToTextKanjiShortTraditional_ja_JP )
-#if WITH_LOCALE_ALL || WITH_LOCALE_ko
-IMPL_UNO_CONSTRUCTOR (NumToTextInformalHangul_ko)
-IMPL_UNO_CONSTRUCTOR (NumToTextInformalLower_ko)
-IMPL_UNO_CONSTRUCTOR (NumToTextInformalUpper_ko)
-IMPL_UNO_CONSTRUCTOR (NumToTextFormalHangul_ko)
-IMPL_UNO_CONSTRUCTOR (NumToTextFormalLower_ko)
-IMPL_UNO_CONSTRUCTOR (NumToTextFormalUpper_ko)
-#endif
-
+IMPL_CREATEINSTANCE( NumToCharLower_zh_CN )
+IMPL_CREATEINSTANCE( NumToCharLower_zh_TW )
+IMPL_CREATEINSTANCE( NumToCharUpper_zh_CN )
+IMPL_CREATEINSTANCE( NumToCharUpper_zh_TW )
+IMPL_CREATEINSTANCE( NumToTextDate_zh )
+IMPL_CREATEINSTANCE( NumToTextDiZi_zh )
+IMPL_CREATEINSTANCE( NumToTextTianGan_zh )
+IMPL_CREATEINSTANCE( TextToChuyin_zh_TW )
IMPL_CREATEINSTANCE( TextToNumLower_zh_CN )
-IMPL_CREATEINSTANCE( TextToNumUpper_zh_CN )
IMPL_CREATEINSTANCE( TextToNumLower_zh_TW )
+IMPL_CREATEINSTANCE( TextToNumUpper_zh_CN )
IMPL_CREATEINSTANCE( TextToNumUpper_zh_TW )
-IMPL_CREATEINSTANCE( TextToNumKanjiLongModern_ja_JP )
-IMPL_CREATEINSTANCE( TextToNumKanjiLongTraditional_ja_JP )
-IMPL_CREATEINSTANCE( TextToNumFormalHangul_ko )
-IMPL_CREATEINSTANCE( TextToNumFormalLower_ko )
-IMPL_CREATEINSTANCE( TextToNumFormalUpper_ko )
-IMPL_CREATEINSTANCE( TextToNumInformalHangul_ko )
-IMPL_CREATEINSTANCE( TextToNumInformalUpper_ko )
-IMPL_CREATEINSTANCE( TextToNumInformalLower_ko )
-
-IMPL_CREATEINSTANCE( NumToTextDate_zh )
-#if WITH_LOCALE_ALL || WITH_LOCALE_ja
-IMPL_UNO_CONSTRUCTOR (NumToTextAIUFullWidth_ja_JP)
-IMPL_UNO_CONSTRUCTOR (NumToTextAIUHalfWidth_ja_JP)
-IMPL_UNO_CONSTRUCTOR (NumToTextIROHAFullWidth_ja_JP)
-IMPL_UNO_CONSTRUCTOR (NumToTextIROHAHalfWidth_ja_JP)
-#endif
-IMPL_CREATEINSTANCE( NumToTextCircledNumber )
-#if WITH_LOCALE_ALL || WITH_LOCALE_ko
-IMPL_UNO_CONSTRUCTOR (NumToTextHangulJamo_ko)
-IMPL_UNO_CONSTRUCTOR (NumToTextHangulSyllable_ko)
-IMPL_UNO_CONSTRUCTOR (NumToTextHangulCircledJamo_ko)
-IMPL_UNO_CONSTRUCTOR (NumToTextHangulCircledSyllable_ko)
-#endif
-IMPL_CREATEINSTANCE( NumToTextTianGan_zh )
-IMPL_CREATEINSTANCE( NumToTextDiZi_zh )
-
-#if WITH_LOCALE_ALL || WITH_LOCALE_ja
-IMPL_UNO_CONSTRUCTOR (FULLWIDTHKATAKANA_HALFWIDTHKATAKANA)
-IMPL_UNO_CONSTRUCTOR (HALFWIDTHKATAKANA_FULLWIDTHKATAKANA)
-IMPL_UNO_CONSTRUCTOR (FULLWIDTH_HALFWIDTH_LIKE_ASC)
-IMPL_UNO_CONSTRUCTOR (HALFWIDTH_FULLWIDTH_LIKE_JIS)
+IMPL_CREATEINSTANCE( TextToPinyin_zh_CN )
+IMPL_UNO_CONSTRUCTOR( BreakIterator_zh )
+IMPL_UNO_CONSTRUCTOR( BreakIterator_zh_TW )
+IMPL_UNO_CONSTRUCTOR( CharToNumLower_zh_CN )
+IMPL_UNO_CONSTRUCTOR( CharToNumLower_zh_TW )
+IMPL_UNO_CONSTRUCTOR( CharToNumUpper_zh_CN )
+IMPL_UNO_CONSTRUCTOR( CharToNumUpper_zh_TW )
+IMPL_UNO_CONSTRUCTOR_CTX( TextConversion_zh )
+IMPL_UNO_CONSTRUCTOR( NumToTextFullwidth_zh_CN )
+IMPL_UNO_CONSTRUCTOR( NumToTextFullwidth_zh_TW )
+IMPL_UNO_CONSTRUCTOR( NumToTextLower_zh_CN )
+IMPL_UNO_CONSTRUCTOR( NumToTextLower_zh_TW )
+IMPL_UNO_CONSTRUCTOR( NumToTextUpper_zh_CN )
+IMPL_UNO_CONSTRUCTOR( NumToTextUpper_zh_TW )
#endif
namespace {
@@ -316,6 +280,16 @@ const InstancesArray aInstances[] = {
{ TRLT_SERVICELNAME_L10N,
TRLT_IMPLNAME_PREFIX "TOGGLE_CASE",
&Transliteration_togglecase_CreateInstance },
+
+ IMPL_TRANSLITERATION_ITEM( NumToCharIndic_ar ),
+ IMPL_TRANSLITERATION_ITEM( ignoreDiacritics_CTL ),
+ IMPL_TRANSLITERATION_ITEM( ignoreKashida_CTL ),
+ IMPL_TRANSLITERATION_ITEM( NumToTextCircledNumber ),
+
+#if WITH_LOCALE_ALL || WITH_LOCALE_hi
+ IMPL_TRANSLITERATION_ITEM( NumToCharIndic_hi ),
+#endif
+
#if WITH_LOCALE_ALL || WITH_LOCALE_ja
{ TRLT_SERVICELNAME_L10N,
TRLT_IMPLNAME_PREFIX "HIRAGANA_KATAKANA",
@@ -329,101 +303,71 @@ const InstancesArray aInstances[] = {
{ TRLT_SERVICELNAME_L10N,
TRLT_IMPLNAME_PREFIX "HALFWIDTH_FULLWIDTH",
&halfwidthToFullwidth_CreateInstance },
-#endif
-#if WITH_LOCALE_ALL || WITH_LOCALE_ja
- IMPL_TRANSLITERATION_ITEM (smallToLarge_ja_JP),
- IMPL_TRANSLITERATION_ITEM (largeToSmall_ja_JP),
- IMPL_TRANSLITERATION_ITEM (ignoreTraditionalKanji_ja_JP),
- IMPL_TRANSLITERATION_ITEM (ignoreTraditionalKana_ja_JP),
- IMPL_TRANSLITERATION_ITEM (ignoreMinusSign_ja_JP),
- IMPL_TRANSLITERATION_ITEM (ignoreIterationMark_ja_JP),
- IMPL_TRANSLITERATION_ITEM (ignoreSeparator_ja_JP),
- IMPL_TRANSLITERATION_ITEM (ignoreZiZu_ja_JP),
- IMPL_TRANSLITERATION_ITEM (ignoreBaFa_ja_JP),
- IMPL_TRANSLITERATION_ITEM (ignoreTiJi_ja_JP),
- IMPL_TRANSLITERATION_ITEM (ignoreHyuByu_ja_JP),
- IMPL_TRANSLITERATION_ITEM (ignoreSeZe_ja_JP),
- IMPL_TRANSLITERATION_ITEM (ignoreIandEfollowedByYa_ja_JP),
- IMPL_TRANSLITERATION_ITEM (ignoreKiKuFollowedBySa_ja_JP),
- IMPL_TRANSLITERATION_ITEM (ignoreSize_ja_JP),
- IMPL_TRANSLITERATION_ITEM (ignoreProlongedSoundMark_ja_JP),
- IMPL_TRANSLITERATION_ITEM (ignoreMiddleDot_ja_JP),
- IMPL_TRANSLITERATION_ITEM (ignoreSpace_ja_JP),
-#endif
-#if WITH_LOCALE_ALL || WITH_LOCALE_zh
- IMPL_TRANSLITERATION_ITEM (TextToPinyin_zh_CN),
- IMPL_TRANSLITERATION_ITEM (TextToChuyin_zh_TW),
-#endif
- IMPL_TRANSLITERATION_ITEM( ignoreDiacritics_CTL),
- IMPL_TRANSLITERATION_ITEM (ignoreKashida_CTL),
-#if WITH_LOCALE_ALL || WITH_LOCALE_zh
- IMPL_TRANSLITERATION_ITEM (NumToCharUpper_zh_CN),
- IMPL_TRANSLITERATION_ITEM (NumToCharLower_zh_CN),
- IMPL_TRANSLITERATION_ITEM (NumToCharUpper_zh_TW),
- IMPL_TRANSLITERATION_ITEM (NumToCharLower_zh_TW),
-#endif
-#if WITH_LOCALE_ALL || WITH_LOCALE_ja
- IMPL_TRANSLITERATION_ITEM (NumToCharHalfwidth),
- IMPL_TRANSLITERATION_ITEM (NumToCharFullwidth),
- IMPL_TRANSLITERATION_ITEM (NumToCharKanjiShort_ja_JP),
- IMPL_TRANSLITERATION_ITEM (NumToCharKanjiTraditional_ja_JP),
-#endif
-#if WITH_LOCALE_ALL || WITH_LOCALE_ko
- IMPL_TRANSLITERATION_ITEM (NumToCharLower_ko),
- IMPL_TRANSLITERATION_ITEM (NumToCharUpper_ko),
- IMPL_TRANSLITERATION_ITEM (NumToCharHangul_ko),
-#endif
- IMPL_TRANSLITERATION_ITEM (NumToCharIndic_ar),
-#if WITH_LOCALE_ALL || WITH_LOCALE_hi
- IMPL_TRANSLITERATION_ITEM (NumToCharIndic_hi),
-#endif
-#if WITH_LOCALE_ALL || WITH_LOCALE_th
- IMPL_TRANSLITERATION_ITEM (NumToChar_th),
+ IMPL_TRANSLITERATION_ITEM( ignoreBaFa_ja_JP ),
+ IMPL_TRANSLITERATION_ITEM( ignoreHyuByu_ja_JP ),
+ IMPL_TRANSLITERATION_ITEM( ignoreIandEfollowedByYa_ja_JP ),
+ IMPL_TRANSLITERATION_ITEM( ignoreIterationMark_ja_JP ),
+ IMPL_TRANSLITERATION_ITEM( ignoreKiKuFollowedBySa_ja_JP ),
+ IMPL_TRANSLITERATION_ITEM( ignoreMiddleDot_ja_JP ),
+ IMPL_TRANSLITERATION_ITEM( ignoreMinusSign_ja_JP ),
+ IMPL_TRANSLITERATION_ITEM( ignoreProlongedSoundMark_ja_JP ),
+ IMPL_TRANSLITERATION_ITEM( ignoreSeparator_ja_JP ),
+ IMPL_TRANSLITERATION_ITEM( ignoreSeZe_ja_JP ),
+ IMPL_TRANSLITERATION_ITEM( ignoreSize_ja_JP ),
+ IMPL_TRANSLITERATION_ITEM( ignoreSpace_ja_JP ),
+ IMPL_TRANSLITERATION_ITEM( ignoreTiJi_ja_JP ),
+ IMPL_TRANSLITERATION_ITEM( ignoreTraditionalKana_ja_JP ),
+ IMPL_TRANSLITERATION_ITEM( ignoreTraditionalKanji_ja_JP ),
+ IMPL_TRANSLITERATION_ITEM( ignoreZiZu_ja_JP ),
+ IMPL_TRANSLITERATION_ITEM( largeToSmall_ja_JP ),
+ IMPL_TRANSLITERATION_ITEM( NumToCharFullwidth ),
+ IMPL_TRANSLITERATION_ITEM( NumToCharHalfwidth ),
+ IMPL_TRANSLITERATION_ITEM( NumToCharKanjiShort_ja_JP ),
+ IMPL_TRANSLITERATION_ITEM( NumToCharKanjiTraditional_ja_JP ),
+ IMPL_TRANSLITERATION_ITEM( NumToTextFullwidth_ja_JP ),
+ IMPL_TRANSLITERATION_ITEM( NumToTextKanjiLongModern_ja_JP ),
+ IMPL_TRANSLITERATION_ITEM( NumToTextKanjiLongTraditional_ja_JP ),
+ IMPL_TRANSLITERATION_ITEM( NumToTextKanjiShortModern_ja_JP ),
+ IMPL_TRANSLITERATION_ITEM( NumToTextKanjiShortTraditional_ja_JP ),
+ IMPL_TRANSLITERATION_ITEM( smallToLarge_ja_JP ),
+ IMPL_TRANSLITERATION_ITEM( TextToNumKanjiLongModern_ja_JP ),
+ IMPL_TRANSLITERATION_ITEM( TextToNumKanjiLongTraditional_ja_JP ),
#endif
-#if WITH_LOCALE_ALL || WITH_LOCALE_ja
- IMPL_TRANSLITERATION_ITEM (NumToTextFullwidth_ja_JP),
-#endif
#if WITH_LOCALE_ALL || WITH_LOCALE_ko
- IMPL_TRANSLITERATION_ITEM (NumToTextFullwidth_ko),
-#endif
-#if WITH_LOCALE_ALL || WITH_LOCALE_ja
- IMPL_TRANSLITERATION_ITEM (NumToTextKanjiLongModern_ja_JP),
- IMPL_TRANSLITERATION_ITEM (NumToTextKanjiLongTraditional_ja_JP),
- IMPL_TRANSLITERATION_ITEM (NumToTextKanjiShortModern_ja_JP),
- IMPL_TRANSLITERATION_ITEM (NumToTextKanjiShortTraditional_ja_JP),
+ IMPL_TRANSLITERATION_ITEM( NumToCharHangul_ko ),
+ IMPL_TRANSLITERATION_ITEM( NumToCharLower_ko ),
+ IMPL_TRANSLITERATION_ITEM( NumToCharUpper_ko ),
+ IMPL_TRANSLITERATION_ITEM( NumToTextFullwidth_ko ),
+ IMPL_TRANSLITERATION_ITEM( TextToNumFormalHangul_ko ),
+ IMPL_TRANSLITERATION_ITEM( TextToNumFormalLower_ko ),
+ IMPL_TRANSLITERATION_ITEM( TextToNumFormalUpper_ko ),
+ IMPL_TRANSLITERATION_ITEM( TextToNumInformalHangul_ko ),
+ IMPL_TRANSLITERATION_ITEM( TextToNumInformalLower_ko ),
+ IMPL_TRANSLITERATION_ITEM( TextToNumInformalUpper_ko ),
#endif
-#if WITH_LOCALE_ALL || WITH_LOCALE_zh
- IMPL_TRANSLITERATION_ITEM (TextToNumUpper_zh_CN),
- IMPL_TRANSLITERATION_ITEM (TextToNumLower_zh_CN),
- IMPL_TRANSLITERATION_ITEM (TextToNumUpper_zh_TW),
- IMPL_TRANSLITERATION_ITEM (TextToNumLower_zh_TW),
-#endif
-#if WITH_LOCALE_ALL || WITH_LOCALE_ja
- IMPL_TRANSLITERATION_ITEM (TextToNumKanjiLongModern_ja_JP),
- IMPL_TRANSLITERATION_ITEM (TextToNumKanjiLongTraditional_ja_JP),
-#endif
-#if WITH_LOCALE_ALL || WITH_LOCALE_ko
- IMPL_TRANSLITERATION_ITEM (TextToNumInformalHangul_ko),
- IMPL_TRANSLITERATION_ITEM (TextToNumInformalLower_ko),
- IMPL_TRANSLITERATION_ITEM (TextToNumInformalUpper_ko),
- IMPL_TRANSLITERATION_ITEM (TextToNumFormalHangul_ko),
- IMPL_TRANSLITERATION_ITEM (TextToNumFormalLower_ko),
- IMPL_TRANSLITERATION_ITEM (TextToNumFormalUpper_ko),
+#if WITH_LOCALE_ALL || WITH_LOCALE_th
+ IMPL_TRANSLITERATION_ITEM( NumToChar_th ),
#endif
#if WITH_LOCALE_ALL || WITH_LOCALE_zh
- IMPL_TRANSLITERATION_ITEM (NumToTextDate_zh),
-#endif
- IMPL_TRANSLITERATION_ITEM (NumToTextCircledNumber),
-#if WITH_LOCALE_ALL || WITH_LOCALE_zh
- IMPL_TRANSLITERATION_ITEM (NumToTextTianGan_zh),
- IMPL_TRANSLITERATION_ITEM (NumToTextDiZi_zh),
+ IMPL_TRANSLITERATION_ITEM( NumToCharLower_zh_CN ),
+ IMPL_TRANSLITERATION_ITEM( NumToCharLower_zh_TW ),
+ IMPL_TRANSLITERATION_ITEM( NumToCharUpper_zh_CN ),
+ IMPL_TRANSLITERATION_ITEM( NumToCharUpper_zh_TW ),
+ IMPL_TRANSLITERATION_ITEM( NumToTextDate_zh ),
+ IMPL_TRANSLITERATION_ITEM( NumToTextDiZi_zh ),
+ IMPL_TRANSLITERATION_ITEM( NumToTextTianGan_zh ),
+ IMPL_TRANSLITERATION_ITEM( TextToChuyin_zh_TW ),
+ IMPL_TRANSLITERATION_ITEM( TextToNumLower_zh_CN ),
+ IMPL_TRANSLITERATION_ITEM( TextToNumLower_zh_TW ),
+ IMPL_TRANSLITERATION_ITEM( TextToNumUpper_zh_CN ),
+ IMPL_TRANSLITERATION_ITEM( TextToNumUpper_zh_TW ),
+ IMPL_TRANSLITERATION_ITEM( TextToPinyin_zh_CN ),
#endif
-// add here new services !!
{ nullptr, nullptr, nullptr }
};
diff --git a/i18npool/source/search/levdis.hxx b/i18npool/source/search/levdis.hxx
index c58fba842ef0..b378c03cff4e 100644
--- a/i18npool/source/search/levdis.hxx
+++ b/i18npool/source/search/levdis.hxx
@@ -17,8 +17,7 @@
* the License at http://www.apache.org/licenses/LICENSE-2.0 .
*/
-#ifndef INCLUDED_I18NPOOL_SOURCE_SEARCH_LEVDIS_HXX
-#define INCLUDED_I18NPOOL_SOURCE_SEARCH_LEVDIS_HXX
+#pragma once
#include <sal/types.h>
#include <memory>
@@ -209,6 +208,4 @@ public:
};
-#endif
-
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/i18npool/source/search/textsearch.cxx b/i18npool/source/search/textsearch.cxx
index dcb31762e6c2..816e162c1e6e 100644
--- a/i18npool/source/search/textsearch.cxx
+++ b/i18npool/source/search/textsearch.cxx
@@ -116,7 +116,7 @@ TextSearch::~TextSearch()
void TextSearch::setOptions2( const SearchOptions2& rOptions )
{
- osl::MutexGuard g(m_aMutex);
+ std::unique_lock g(m_aMutex);
aSrchPara = rOptions;
@@ -214,13 +214,6 @@ void TextSearch::setOptions2( const SearchOptions2& rOptions )
aSrchPara.searchString, 0, aSrchPara.searchString.getLength());
}
- // When start or end of search string is a complex script type, we need to
- // make sure the result boundary is not located in the middle of cell.
- checkCTLStart = (xBreak.is() && (xBreak->getScriptType(sSrchStr, 0) ==
- ScriptType::COMPLEX));
- checkCTLEnd = (xBreak.is() && (xBreak->getScriptType(sSrchStr,
- sSrchStr.getLength()-1) == ScriptType::COMPLEX));
-
if ( bReplaceApostrophe )
sSrchStr = sSrchStr.replace(u'\u2019', '\'');
@@ -264,8 +257,6 @@ void TextSearch::setOptions2( const SearchOptions2& rOptions )
void TextSearch::setOptions( const SearchOptions& rOptions )
{
- osl::MutexGuard g(m_aMutex);
-
sal_Int16 nAlgorithmType2;
switch (rOptions.algorithmType)
{
@@ -307,16 +298,9 @@ static sal_Int32 FindPosInSeq_Impl( const Sequence <sal_Int32>& rOff, sal_Int32
return static_cast<sal_Int32>(std::distance(rOff.begin(), pOff));
}
-bool TextSearch::isCellStart(const OUString& searchStr, sal_Int32 nPos)
-{
- sal_Int32 nDone;
- return nPos == xBreak->previousCharacters(searchStr, nPos+1,
- aSrchPara.Locale, CharacterIteratorMode::SKIPCELL, 1, nDone);
-}
-
SearchResult TextSearch::searchForward( const OUString& searchStr, sal_Int32 startPos, sal_Int32 endPos )
{
- osl::MutexGuard g(m_aMutex);
+ std::unique_lock g(m_aMutex);
SearchResult sres;
@@ -372,6 +356,8 @@ SearchResult TextSearch::searchForward( const OUString& searchStr, sal_Int32 sta
const sal_Int32 nOffsets = offset.getLength();
if (nOffsets)
{
+ auto sres_startOffsetRange = asNonConstRange(sres.startOffset);
+ auto sres_endOffsetRange = asNonConstRange(sres.endOffset);
// For regex nGroups is the number of groups+1 with group 0 being
// the entire match.
const sal_Int32 nGroups = sres.startOffset.getLength();
@@ -381,7 +367,7 @@ SearchResult TextSearch::searchForward( const OUString& searchStr, sal_Int32 sta
// Result offsets are negative (-1) if a group expression was
// not matched.
if (nStart >= 0)
- sres.startOffset[k] = (nStart < nOffsets ? offset[nStart] : (offset[nOffsets - 1] + 1));
+ sres_startOffsetRange[k] = (nStart < nOffsets ? offset[nStart] : (offset[nOffsets - 1] + 1));
// JP 20.6.2001: end is ever exclusive and then don't return
// the position of the next character - return the
// next position behind the last found character!
@@ -390,9 +376,9 @@ SearchResult TextSearch::searchForward( const OUString& searchStr, sal_Int32 sta
if (nStop >= 0)
{
if (nStop > 0)
- sres.endOffset[k] = offset[(nStop <= nOffsets ? nStop : nOffsets) - 1] + 1;
+ sres_endOffsetRange[k] = offset[(nStop <= nOffsets ? nStop : nOffsets) - 1] + 1;
else
- sres.endOffset[k] = offset[0];
+ sres_endOffsetRange[k] = offset[0];
}
}
}
@@ -424,13 +410,15 @@ SearchResult TextSearch::searchForward( const OUString& searchStr, sal_Int32 sta
bUsePrimarySrchStr = false;
sres2 = (this->*fnForward)( in_str, startPos, endPos );
+ auto sres2_startOffsetRange = asNonConstRange(sres2.startOffset);
+ auto sres2_endOffsetRange = asNonConstRange(sres2.endOffset);
for ( int k = 0; k < sres2.startOffset.getLength(); k++ )
{
if (sres2.startOffset[k])
- sres2.startOffset[k] = offset[sres2.startOffset[k]-1] + 1;
+ sres2_startOffsetRange[k] = offset[sres2.startOffset[k]-1] + 1;
if (sres2.endOffset[k])
- sres2.endOffset[k] = offset[sres2.endOffset[k]-1] + 1;
+ sres2_endOffsetRange[k] = offset[sres2.endOffset[k]-1] + 1;
}
// pick first and long one
@@ -451,7 +439,7 @@ SearchResult TextSearch::searchForward( const OUString& searchStr, sal_Int32 sta
SearchResult TextSearch::searchBackward( const OUString& searchStr, sal_Int32 startPos, sal_Int32 endPos )
{
- osl::MutexGuard g(m_aMutex);
+ std::unique_lock g(m_aMutex);
SearchResult sres;
@@ -490,6 +478,8 @@ SearchResult TextSearch::searchBackward( const OUString& searchStr, sal_Int32 st
const sal_Int32 nOffsets = offset.getLength();
if (nOffsets)
{
+ auto sres_startOffsetRange = asNonConstRange(sres.startOffset);
+ auto sres_endOffsetRange = asNonConstRange(sres.endOffset);
// For regex nGroups is the number of groups+1 with group 0 being
// the entire match.
const sal_Int32 nGroups = sres.startOffset.getLength();
@@ -501,9 +491,9 @@ SearchResult TextSearch::searchBackward( const OUString& searchStr, sal_Int32 st
if (nStart >= 0)
{
if (nStart > 0)
- sres.startOffset[k] = offset[(nStart <= nOffsets ? nStart : nOffsets) - 1] + 1;
+ sres_startOffsetRange[k] = offset[(nStart <= nOffsets ? nStart : nOffsets) - 1] + 1;
else
- sres.startOffset[k] = offset[0];
+ sres_startOffsetRange[k] = offset[0];
}
// JP 20.6.2001: end is ever exclusive and then don't return
// the position of the next character - return the
@@ -511,7 +501,7 @@ SearchResult TextSearch::searchBackward( const OUString& searchStr, sal_Int32 st
// "a b c" find "b" must return 2,3 and not 2,4!!!
const sal_Int32 nStop = sres.endOffset[k];
if (nStop >= 0)
- sres.endOffset[k] = (nStop < nOffsets ? offset[nStop] : (offset[nOffsets - 1] + 1));
+ sres_endOffsetRange[k] = (nStop < nOffsets ? offset[nStop] : (offset[nOffsets - 1] + 1));
}
}
}
@@ -542,13 +532,15 @@ SearchResult TextSearch::searchBackward( const OUString& searchStr, sal_Int32 st
bUsePrimarySrchStr = false;
sres2 = (this->*fnBackward)( in_str, startPos, endPos );
+ auto sres2_startOffsetRange = asNonConstRange(sres2.startOffset);
+ auto sres2_endOffsetRange = asNonConstRange(sres2.endOffset);
for( int k = 0; k < sres2.startOffset.getLength(); k++ )
{
if (sres2.startOffset[k])
- sres2.startOffset[k] = offset[sres2.startOffset[k]-1]+1;
+ sres2_startOffsetRange[k] = offset[sres2.startOffset[k]-1]+1;
if (sres2.endOffset[k])
- sres2.endOffset[k] = offset[sres2.endOffset[k]-1]+1;
+ sres2_endOffsetRange[k] = offset[sres2.endOffset[k]-1]+1;
}
// pick last and long one
@@ -731,11 +723,6 @@ SearchResult TextSearch::NSrchFrwrd( const OUString& searchStr, sal_Int32 startP
nCmpIdx <= nEnd;
nCmpIdx += GetDiff( searchStr[nCmpIdx + sSearchKey.getLength()-1]))
{
- // if the match would be the completed cells, skip it.
- if ( (checkCTLStart && !isCellStart( searchStr, nCmpIdx )) || (checkCTLEnd
- && !isCellStart( searchStr, nCmpIdx + sSearchKey.getLength())) )
- continue;
-
nSuchIdx = sSearchKey.getLength() - 1;
while( nSuchIdx >= 0 && sSearchKey[nSuchIdx] == searchStr[nCmpIdx + nSuchIdx])
{
@@ -760,10 +747,8 @@ SearchResult TextSearch::NSrchFrwrd( const OUString& searchStr, sal_Int32 startP
}
aRet.subRegExpressions = 1;
- aRet.startOffset.realloc( 1 );
- aRet.startOffset[ 0 ] = nCmpIdx;
- aRet.endOffset.realloc( 1 );
- aRet.endOffset[ 0 ] = nCmpIdx + sSearchKey.getLength();
+ aRet.startOffset = { nCmpIdx };
+ aRet.endOffset = { nCmpIdx + sSearchKey.getLength() };
return aRet;
}
@@ -800,52 +785,42 @@ SearchResult TextSearch::NSrchBkwrd( const OUString& searchStr, sal_Int32 startP
while (nCmpIdx >= nEnd)
{
- // if the match would be the completed cells, skip it.
- if ( (!checkCTLStart || isCellStart( searchStr, nCmpIdx -
- sSearchKey.getLength() )) && (!checkCTLEnd ||
- isCellStart( searchStr, nCmpIdx)))
+ nSuchIdx = 0;
+ while( nSuchIdx < sSearchKey.getLength() && sSearchKey[nSuchIdx] ==
+ searchStr[nCmpIdx + nSuchIdx - sSearchKey.getLength()] )
+ nSuchIdx++;
+ if( nSuchIdx >= sSearchKey.getLength() )
{
- nSuchIdx = 0;
- while( nSuchIdx < sSearchKey.getLength() && sSearchKey[nSuchIdx] ==
- searchStr[nCmpIdx + nSuchIdx - sSearchKey.getLength()] )
- nSuchIdx++;
- if( nSuchIdx >= sSearchKey.getLength() )
+ if( SearchFlags::NORM_WORD_ONLY & aSrchPara.searchFlag )
{
- if( SearchFlags::NORM_WORD_ONLY & aSrchPara.searchFlag )
- {
- sal_Int32 nFndStt = nCmpIdx - sSearchKey.getLength();
- bool bAtStart = !nFndStt;
- bool bAtEnd = nCmpIdx == startPos;
- bool bDelimBehind = bAtEnd || IsDelimiter( searchStr, nCmpIdx );
- bool bDelimBefore = bAtStart || // begin of paragraph
- IsDelimiter( searchStr, nFndStt-1 );
- // * 1 -> only one word in the paragraph
- // * 2 -> at begin of paragraph
- // * 3 -> at end of paragraph
- // * 4 -> inside the paragraph
- if( ( bAtStart && bAtEnd ) || // 1
- ( bAtStart && bDelimBehind ) || // 2
- ( bAtEnd && bDelimBefore ) || // 3
- ( bDelimBefore && bDelimBehind )) // 4
- {
- aRet.subRegExpressions = 1;
- aRet.startOffset.realloc( 1 );
- aRet.startOffset[ 0 ] = nCmpIdx;
- aRet.endOffset.realloc( 1 );
- aRet.endOffset[ 0 ] = nCmpIdx - sSearchKey.getLength();
- return aRet;
- }
- }
- else
+ sal_Int32 nFndStt = nCmpIdx - sSearchKey.getLength();
+ bool bAtStart = !nFndStt;
+ bool bAtEnd = nCmpIdx == startPos;
+ bool bDelimBehind = bAtEnd || IsDelimiter( searchStr, nCmpIdx );
+ bool bDelimBefore = bAtStart || // begin of paragraph
+ IsDelimiter( searchStr, nFndStt-1 );
+ // * 1 -> only one word in the paragraph
+ // * 2 -> at begin of paragraph
+ // * 3 -> at end of paragraph
+ // * 4 -> inside the paragraph
+ if( ( bAtStart && bAtEnd ) || // 1
+ ( bAtStart && bDelimBehind ) || // 2
+ ( bAtEnd && bDelimBefore ) || // 3
+ ( bDelimBefore && bDelimBehind )) // 4
{
aRet.subRegExpressions = 1;
- aRet.startOffset.realloc( 1 );
- aRet.startOffset[ 0 ] = nCmpIdx;
- aRet.endOffset.realloc( 1 );
- aRet.endOffset[ 0 ] = nCmpIdx - sSearchKey.getLength();
+ aRet.startOffset = { nCmpIdx };
+ aRet.endOffset = { nCmpIdx - sSearchKey.getLength() };
return aRet;
}
}
+ else
+ {
+ aRet.subRegExpressions = 1;
+ aRet.startOffset = { nCmpIdx };
+ aRet.endOffset = { nCmpIdx - sSearchKey.getLength() };
+ return aRet;
+ }
}
nSuchIdx = GetDiff( searchStr[nCmpIdx - sSearchKey.getLength()] );
if( nCmpIdx < nSuchIdx )
@@ -877,19 +852,19 @@ void TextSearch::RESrchPrepare( const css::util::SearchOptions2& rOptions)
nIcuSearchFlags |= UREGEX_CASE_INSENSITIVE;
UErrorCode nIcuErr = U_ZERO_ERROR;
// assumption: transliteration didn't mangle regexp control chars
- IcuUniString aIcuSearchPatStr( reinterpret_cast<const UChar*>(rPatternStr.getStr()), rPatternStr.getLength());
+ icu::UnicodeString aIcuSearchPatStr( reinterpret_cast<const UChar*>(rPatternStr.getStr()), rPatternStr.getLength());
#ifndef DISABLE_WORDBOUND_EMULATION
// for convenience specific syntax elements of the old regex engine are emulated
// - by replacing \< with "word-break followed by a look-ahead word-char"
- static const IcuUniString aChevronPatternB( "\\\\<", -1, IcuUniString::kInvariant);
- static const IcuUniString aChevronReplaceB( "\\\\b(?=\\\\w)", -1, IcuUniString::kInvariant);
+ static const icu::UnicodeString aChevronPatternB( "\\\\<", -1, icu::UnicodeString::kInvariant);
+ static const icu::UnicodeString aChevronReplaceB( "\\\\b(?=\\\\w)", -1, icu::UnicodeString::kInvariant);
static icu::RegexMatcher aChevronMatcherB( aChevronPatternB, 0, nIcuErr);
aChevronMatcherB.reset( aIcuSearchPatStr);
aIcuSearchPatStr = aChevronMatcherB.replaceAll( aChevronReplaceB, nIcuErr);
aChevronMatcherB.reset();
// - by replacing \> with "look-behind word-char followed by a word-break"
- static const IcuUniString aChevronPatternE( "\\\\>", -1, IcuUniString::kInvariant);
- static const IcuUniString aChevronReplaceE( "(?<=\\\\w)\\\\b", -1, IcuUniString::kInvariant);
+ static const icu::UnicodeString aChevronPatternE( "\\\\>", -1, icu::UnicodeString::kInvariant);
+ static const icu::UnicodeString aChevronReplaceE( "(?<=\\\\w)\\\\b", -1, icu::UnicodeString::kInvariant);
static icu::RegexMatcher aChevronMatcherE( aChevronPatternE, 0, nIcuErr);
aChevronMatcherE.reset( aIcuSearchPatStr);
aIcuSearchPatStr = aChevronMatcherE.replaceAll( aChevronReplaceE, nIcuErr);
@@ -957,7 +932,7 @@ SearchResult TextSearch::RESrchFrwrd( const OUString& searchStr,
// use the ICU RegexMatcher to find the matches
UErrorCode nIcuErr = U_ZERO_ERROR;
- const IcuUniString aSearchTargetStr(false, reinterpret_cast<const UChar*>(searchStr.getStr()),
+ const icu::UnicodeString aSearchTargetStr(false, reinterpret_cast<const UChar*>(searchStr.getStr()),
searchStr.getLength());
pRegexMatcher->reset( aSearchTargetStr);
// search until there is a valid match
@@ -985,12 +960,14 @@ SearchResult TextSearch::RESrchFrwrd( const OUString& searchStr,
const int nGroupCount = pRegexMatcher->groupCount();
aRet.subRegExpressions = nGroupCount + 1;
aRet.startOffset.realloc( aRet.subRegExpressions);
+ auto pstartOffset = aRet.startOffset.getArray();
aRet.endOffset.realloc( aRet.subRegExpressions);
- aRet.startOffset[0] = pRegexMatcher->start( nIcuErr);
- aRet.endOffset[0] = pRegexMatcher->end( nIcuErr);
+ auto pendOffset = aRet.endOffset.getArray();
+ pstartOffset[0] = pRegexMatcher->start( nIcuErr);
+ pendOffset[0] = pRegexMatcher->end( nIcuErr);
for( int i = 1; i <= nGroupCount; ++i) {
- aRet.startOffset[i] = pRegexMatcher->start( i, nIcuErr);
- aRet.endOffset[i] = pRegexMatcher->end( i, nIcuErr);
+ pstartOffset[i] = pRegexMatcher->start( i, nIcuErr);
+ pendOffset[i] = pRegexMatcher->end( i, nIcuErr);
}
return aRet;
@@ -1012,7 +989,7 @@ SearchResult TextSearch::RESrchBkwrd( const OUString& searchStr,
// TODO: use ICU's backward searching once it becomes available
// as its replacement using forward search is not as good as the real thing
UErrorCode nIcuErr = U_ZERO_ERROR;
- const IcuUniString aSearchTargetStr(false, reinterpret_cast<const UChar*>(searchStr.getStr()),
+ const icu::UnicodeString aSearchTargetStr(false, reinterpret_cast<const UChar*>(searchStr.getStr()),
searchStr.getLength());
pRegexMatcher->reset( aSearchTargetStr);
if (!lcl_findRegex( pRegexMatcher, endPos, startPos, nIcuErr))
@@ -1055,13 +1032,15 @@ SearchResult TextSearch::RESrchBkwrd( const OUString& searchStr,
const int nGroupCount = pRegexMatcher->groupCount();
aRet.subRegExpressions = nGroupCount + 1;
aRet.startOffset.realloc( aRet.subRegExpressions);
+ auto pstartOffset = aRet.startOffset.getArray();
aRet.endOffset.realloc( aRet.subRegExpressions);
+ auto pendOffset = aRet.endOffset.getArray();
// NOTE: existing users of backward search seem to expect startOfs/endOfs being inverted!
- aRet.startOffset[0] = pRegexMatcher->end( nIcuErr);
- aRet.endOffset[0] = pRegexMatcher->start( nIcuErr);
+ pstartOffset[0] = pRegexMatcher->end( nIcuErr);
+ pendOffset[0] = pRegexMatcher->start( nIcuErr);
for( int i = 1; i <= nGroupCount; ++i) {
- aRet.startOffset[i] = pRegexMatcher->end( i, nIcuErr);
- aRet.endOffset[i] = pRegexMatcher->start( i, nIcuErr);
+ pstartOffset[i] = pRegexMatcher->end( i, nIcuErr);
+ pendOffset[i] = pRegexMatcher->start( i, nIcuErr);
}
return aRet;
@@ -1095,10 +1074,8 @@ SearchResult TextSearch::ApproxSrchFrwrd( const OUString& searchStr,
pWLD->WLD( searchStr.getStr() + nStt, nEnd - nStt ) <= nLimit )
{
aRet.subRegExpressions = 1;
- aRet.startOffset.realloc( 1 );
- aRet.startOffset[ 0 ] = nStt;
- aRet.endOffset.realloc( 1 );
- aRet.endOffset[ 0 ] = nEnd;
+ aRet.startOffset = { nStt };
+ aRet.endOffset = { nEnd };
break;
}
@@ -1139,10 +1116,8 @@ SearchResult TextSearch::ApproxSrchBkwrd( const OUString& searchStr,
pWLD->WLD( searchStr.getStr() + nStt, nEnd - nStt ) <= nLimit )
{
aRet.subRegExpressions = 1;
- aRet.startOffset.realloc( 1 );
- aRet.startOffset[ 0 ] = nEnd;
- aRet.endOffset.realloc( 1 );
- aRet.endOffset[ 0 ] = nStt;
+ aRet.startOffset = { nEnd };
+ aRet.endOffset = { nStt };
break;
}
if( !nStt )
@@ -1159,10 +1134,8 @@ namespace {
void setWildcardMatch( css::util::SearchResult& rRes, sal_Int32 nStartOffset, sal_Int32 nEndOffset )
{
rRes.subRegExpressions = 1;
- rRes.startOffset.realloc(1);
- rRes.endOffset.realloc(1);
- rRes.startOffset[0] = nStartOffset;
- rRes.endOffset[0] = nEndOffset;
+ rRes.startOffset = { nStartOffset };
+ rRes.endOffset = { nEndOffset };
}
}
@@ -1570,7 +1543,7 @@ SearchResult TextSearch::WildcardSrchBkwrd( const OUString& searchStr, sal_Int32
OUString SAL_CALL
TextSearch::getImplementationName()
{
- return "com.sun.star.util.TextSearch_i18n";
+ return u"com.sun.star.util.TextSearch_i18n"_ustr;
}
sal_Bool SAL_CALL TextSearch::supportsService(const OUString& rServiceName)
@@ -1581,7 +1554,7 @@ sal_Bool SAL_CALL TextSearch::supportsService(const OUString& rServiceName)
Sequence< OUString > SAL_CALL
TextSearch::getSupportedServiceNames()
{
- return { "com.sun.star.util.TextSearch", "com.sun.star.util.TextSearch2" };
+ return { u"com.sun.star.util.TextSearch"_ustr, u"com.sun.star.util.TextSearch2"_ustr };
}
extern "C" SAL_DLLPUBLIC_EXPORT css::uno::XInterface*
diff --git a/i18npool/source/search/textsearch.hxx b/i18npool/source/search/textsearch.hxx
index 5b3dcd05179e..9fda11751d83 100644
--- a/i18npool/source/search/textsearch.hxx
+++ b/i18npool/source/search/textsearch.hxx
@@ -17,8 +17,7 @@
* the License at http://www.apache.org/licenses/LICENSE-2.0 .
*/
-#ifndef INCLUDED_I18NPOOL_SOURCE_SEARCH_TEXTSEARCH_HXX
-#define INCLUDED_I18NPOOL_SOURCE_SEARCH_TEXTSEARCH_HXX
+#pragma once
#include <cppuhelper/implbase.hxx>
#include <com/sun/star/util/XTextSearch2.hpp>
@@ -26,6 +25,7 @@
#include <map>
#include <memory>
+#include <mutex>
#include <unicode/regex.h>
#include <unicode/unistr.h>
@@ -37,8 +37,6 @@ namespace com::sun::star::i18n { class XExtendedTransliteration; }
namespace com::sun::star::uno { class XComponentContext; }
-typedef U_ICU_NAMESPACE::UnicodeString IcuUniString;
-
class WLevDistance;
typedef ::std::map< sal_Unicode, sal_Int32 > TextSearchJumpTable;
@@ -48,7 +46,7 @@ class TextSearch: public cppu::WeakImplHelper
css::lang::XServiceInfo
>
{
- osl::Mutex m_aMutex;
+ std::mutex m_aMutex;
css::uno::Reference < css::uno::XComponentContext > m_xContext;
css::util::SearchOptions2 aSrchPara;
@@ -62,7 +60,7 @@ class TextSearch: public cppu::WeakImplHelper
// define a function pointer for the different search methods
typedef css::util::SearchResult
- (SAL_CALL TextSearch::*FnSrch)( const OUString& searchStr,
+ (TextSearch::*FnSrch)( const OUString& searchStr,
sal_Int32 startPos, sal_Int32 endPos );
FnSrch fnForward;
@@ -82,22 +80,22 @@ class TextSearch: public cppu::WeakImplHelper
void MakeBackwardTab2();
sal_Int32 GetDiff( const sal_Unicode ) const;
/// @throws css::uno::RuntimeException
- css::util::SearchResult SAL_CALL
+ css::util::SearchResult
NSrchFrwrd( const OUString& searchStr,
sal_Int32 startPos, sal_Int32 endPos );
/// @throws css::uno::RuntimeException
- css::util::SearchResult SAL_CALL
+ css::util::SearchResult
NSrchBkwrd( const OUString& searchStr,
sal_Int32 startPos, sal_Int32 endPos );
// Members and methods for the regular expression search
std::unique_ptr<icu::RegexMatcher> pRegexMatcher;
/// @throws css::uno::RuntimeException
- css::util::SearchResult SAL_CALL
+ css::util::SearchResult
RESrchFrwrd( const OUString& searchStr,
sal_Int32 startPos, sal_Int32 endPos );
/// @throws css::uno::RuntimeException
- css::util::SearchResult SAL_CALL
+ css::util::SearchResult
RESrchBkwrd( const OUString& searchStr,
sal_Int32 startPos, sal_Int32 endPos );
void RESrchPrepare( const css::util::SearchOptions2&);
@@ -107,11 +105,11 @@ class TextSearch: public cppu::WeakImplHelper
std::unique_ptr<WLevDistance> pWLD;
css::uno::Reference < css::i18n::XBreakIterator > xBreak;
/// @throws css::uno::RuntimeException
- css::util::SearchResult SAL_CALL
+ css::util::SearchResult
ApproxSrchFrwrd( const OUString& searchStr,
sal_Int32 startPos, sal_Int32 endPos );
/// @throws css::uno::RuntimeException
- css::util::SearchResult SAL_CALL
+ css::util::SearchResult
ApproxSrchBkwrd( const OUString& searchStr,
sal_Int32 startPos, sal_Int32 endPos );
@@ -121,20 +119,16 @@ class TextSearch: public cppu::WeakImplHelper
sal_uInt32 mcWildcardEscapeChar;
bool mbWildcardAllowSubstring;
/// @throws css::uno::RuntimeException
- css::util::SearchResult SAL_CALL
+ css::util::SearchResult
WildcardSrchFrwrd( const OUString& searchStr,
sal_Int32 startPos, sal_Int32 endPos );
/// @throws css::uno::RuntimeException
- css::util::SearchResult SAL_CALL
+ css::util::SearchResult
WildcardSrchBkwrd( const OUString& searchStr,
sal_Int32 startPos, sal_Int32 endPos );
bool IsDelimiter( const OUString& rStr, sal_Int32 nPos ) const;
- bool checkCTLStart, checkCTLEnd;
- /// @throws css::uno::RuntimeException
- bool isCellStart(const OUString& searchStr, sal_Int32 nPos);
-
public:
explicit TextSearch(
const css::uno::Reference < css::uno::XComponentContext >& rxContext );
@@ -161,6 +155,4 @@ public:
virtual css::uno::Sequence< OUString > SAL_CALL getSupportedServiceNames() override;
};
-#endif
-
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/i18npool/source/textconversion/textconversion.cxx b/i18npool/source/textconversion/textconversion.cxx
index a64f4072cc06..59a6143d18f7 100644
--- a/i18npool/source/textconversion/textconversion.cxx
+++ b/i18npool/source/textconversion/textconversion.cxx
@@ -24,51 +24,15 @@ using namespace com::sun::star::uno;
namespace i18npool {
-#ifndef DISABLE_DYNLOADING
-
-extern "C" { static void thisModule() {} }
-
-#endif
-
TextConversionService::TextConversionService(const char *pImplName)
: implementationName(pImplName)
{
-#ifndef DISABLE_DYNLOADING
-#ifdef SAL_DLLPREFIX
- OUString lib(SAL_DLLPREFIX"textconv_dict" SAL_DLLEXTENSION);
-#else
- OUString lib("textconv_dict" SAL_DLLEXTENSION);
-#endif
- hModule = osl_loadModuleRelative(
- &thisModule, lib.pData, SAL_LOADMODULE_DEFAULT );
-#endif
}
TextConversionService::~TextConversionService()
{
-#ifndef DISABLE_DYNLOADING
- if (hModule) osl_unloadModule(hModule);
-#endif
}
-#ifndef DISABLE_DYNLOADING
-
-static void* nullFunc()
-{
- return nullptr;
-}
-
-oslGenericFunction
-TextConversionService::getFunctionBySymbol(const char* func)
-{
- if (hModule)
- return osl_getFunctionSymbol(hModule, OUString::createFromAscii(func).pData);
- else
- return reinterpret_cast< oslGenericFunction >(nullFunc);
-}
-
-#endif
-
OUString SAL_CALL
TextConversionService::getImplementationName()
{
diff --git a/i18npool/source/textconversion/textconversionImpl.cxx b/i18npool/source/textconversion/textconversionImpl.cxx
index fbdbc1501e8c..af5bb288fe45 100644
--- a/i18npool/source/textconversion/textconversionImpl.cxx
+++ b/i18npool/source/textconversion/textconversionImpl.cxx
@@ -104,7 +104,7 @@ TextConversionImpl::getLocaleSpecificTextConversion(const Locale& rLocale)
OUString SAL_CALL
TextConversionImpl::getImplementationName()
{
- return "com.sun.star.i18n.TextConversion";
+ return u"com.sun.star.i18n.TextConversion"_ustr;
}
sal_Bool SAL_CALL
@@ -116,7 +116,7 @@ TextConversionImpl::supportsService(const OUString& rServiceName)
Sequence< OUString > SAL_CALL
TextConversionImpl::getSupportedServiceNames()
{
- return { "com.sun.star.i18n.TextConversion" };
+ return { u"com.sun.star.i18n.TextConversion"_ustr };
}
}
diff --git a/i18npool/source/textconversion/textconversion_ko.cxx b/i18npool/source/textconversion/textconversion_ko.cxx
index e03286b772d7..c68c66a38cd4 100644
--- a/i18npool/source/textconversion/textconversion_ko.cxx
+++ b/i18npool/source/textconversion/textconversion_ko.cxx
@@ -105,33 +105,14 @@ static sal_Int16 checkScriptType(sal_Unicode c)
}
#ifdef DISABLE_DYNLOADING
-extern "C" {
-
-const sal_Unicode* getHangul2HanjaData();
-const Hangul_Index* getHangul2HanjaIndex();
-sal_Int16 getHangul2HanjaIndexCount();
-const sal_uInt16* getHanja2HangulIndex();
-const sal_Unicode* getHanja2HangulData();
-
-}
#endif
Sequence< OUString >
-TextConversion_ko::getCharConversions(const OUString& aText, sal_Int32 nStartPos, sal_Int32 nLength, bool toHanja)
+TextConversion_ko::getCharConversions(std::u16string_view aText, sal_Int32 nStartPos, sal_Int32 nLength, bool toHanja)
{
sal_Unicode ch;
Sequence< OUString > output;
-#ifndef DISABLE_DYNLOADING
- const sal_Unicode* (*getHangul2HanjaData)() = reinterpret_cast<const sal_Unicode* (*)()>(getFunctionBySymbol("getHangul2HanjaData"));
- const Hangul_Index* (*getHangul2HanjaIndex)() = reinterpret_cast<const Hangul_Index* (*)()>(getFunctionBySymbol("getHangul2HanjaIndex"));
- sal_Int16 (*getHangul2HanjaIndexCount)() = reinterpret_cast<sal_Int16 (*)()>(getFunctionBySymbol("getHangul2HanjaIndexCount"));
- const sal_uInt16* (*getHanja2HangulIndex)() = reinterpret_cast<const sal_uInt16* (*)()>(getFunctionBySymbol("getHanja2HangulIndex"));
- const sal_Unicode* (*getHanja2HangulData)() = reinterpret_cast<const sal_Unicode* (*)()>(getFunctionBySymbol("getHanja2HangulData"));
-
- if (toHanja && getHangul2HanjaIndex && getHangul2HanjaIndexCount && getHangul2HanjaData)
-#else
if (toHanja)
-#endif
{
ch = aText[nStartPos];
const Hangul_Index *Hangul_ko = getHangul2HanjaIndex();
@@ -150,17 +131,14 @@ TextConversion_ko::getCharConversions(const OUString& aText, sal_Int32 nStartPos
const sal_Unicode *ptr = getHangul2HanjaData() + Hangul_ko[current].address;
sal_Int16 count = Hangul_ko[current].count;
output.realloc(count);
+ auto poutput = output.getArray();
for (sal_Int16 i = 0; i < count; i++)
- output[i] = OUString(ptr + i, 1);
+ poutput[i] = OUString(ptr + i, 1);
break;
}
}
}
-#ifndef DISABLE_DYNLOADING
- else if (!toHanja && getHanja2HangulIndex && getHanja2HangulData)
-#else
else if (!toHanja)
-#endif
{
std::unique_ptr<sal_Unicode[]> newStr(new sal_Unicode[nLength+1]);
sal_Int32 count = 0;
@@ -178,8 +156,7 @@ TextConversion_ko::getCharConversions(const OUString& aText, sal_Int32 nStartPos
}
if (count > 0)
{
- output.realloc(1);
- output[0] = OUString(newStr.get(), count);
+ output = { OUString(newStr.get(), count) };
}
}
return output;
diff --git a/i18npool/source/textconversion/textconversion_zh.cxx b/i18npool/source/textconversion/textconversion_zh.cxx
index 23689c0b568e..a2c4429eb4cc 100644
--- a/i18npool/source/textconversion/textconversion_zh.cxx
+++ b/i18npool/source/textconversion/textconversion_zh.cxx
@@ -57,42 +57,17 @@ static sal_Unicode getOneCharConversion(sal_Unicode ch, const sal_Unicode* Data,
extern "C" {
-const sal_Unicode* getSTC_CharData_T2S();
-const sal_uInt16* getSTC_CharIndex_T2S();
-const sal_Unicode* getSTC_CharData_S2V();
-const sal_uInt16* getSTC_CharIndex_S2V();
-const sal_Unicode* getSTC_CharData_S2T();
-const sal_uInt16* getSTC_CharIndex_S2T();
-
-const sal_Unicode *getSTC_WordData(sal_Int32&);
-
-const sal_uInt16 *getSTC_WordIndex_T2S(sal_Int32&);
-const sal_uInt16 *getSTC_WordEntry_T2S();
-const sal_uInt16 *getSTC_WordIndex_S2T(sal_Int32&);
-const sal_uInt16 *getSTC_WordEntry_S2T();
}
#endif
OUString
-TextConversion_zh::getCharConversion(const OUString& aText, sal_Int32 nStartPos, sal_Int32 nLength, bool toSChinese, sal_Int32 nConversionOptions)
+TextConversion_zh::getCharConversion(std::u16string_view aText, sal_Int32 nStartPos, sal_Int32 nLength, bool toSChinese, sal_Int32 nConversionOptions)
{
const sal_Unicode *Data;
const sal_uInt16 *Index;
-#ifndef DISABLE_DYNLOADING
- if (toSChinese) {
- Data = reinterpret_cast<const sal_Unicode* (*)()>(getFunctionBySymbol("getSTC_CharData_T2S"))();
- Index = reinterpret_cast<const sal_uInt16* (*)()>(getFunctionBySymbol("getSTC_CharIndex_T2S"))();
- } else if (nConversionOptions & TextConversionOption::USE_CHARACTER_VARIANTS) {
- Data = reinterpret_cast<const sal_Unicode* (*)()>(getFunctionBySymbol("getSTC_CharData_S2V"))();
- Index = reinterpret_cast<const sal_uInt16* (*)()>(getFunctionBySymbol("getSTC_CharIndex_S2V"))();
- } else {
- Data = reinterpret_cast<const sal_Unicode* (*)()>(getFunctionBySymbol("getSTC_CharData_S2T"))();
- Index = reinterpret_cast<const sal_uInt16* (*)()>(getFunctionBySymbol("getSTC_CharIndex_S2T"))();
- }
-#else
if (toSChinese) {
Data = getSTC_CharData_T2S();
Index = getSTC_CharIndex_T2S();
@@ -103,7 +78,6 @@ TextConversion_zh::getCharConversion(const OUString& aText, sal_Int32 nStartPos,
Data = getSTC_CharData_S2T();
Index = getSTC_CharIndex_S2T();
}
-#endif
rtl_uString * newStr = rtl_uString_alloc(nLength);
for (sal_Int32 i = 0; i < nLength; i++)
@@ -113,7 +87,7 @@ TextConversion_zh::getCharConversion(const OUString& aText, sal_Int32 nStartPos,
}
OUString
-TextConversion_zh::getWordConversion(const OUString& aText, sal_Int32 nStartPos, sal_Int32 nLength, bool toSChinese, sal_Int32 nConversionOptions, Sequence<sal_Int32>& offset)
+TextConversion_zh::getWordConversion(std::u16string_view aText, sal_Int32 nStartPos, sal_Int32 nLength, bool toSChinese, sal_Int32 nConversionOptions, Sequence<sal_Int32>& offset)
{
sal_Int32 dictLen = 0;
sal_Int32 maxLen = 0;
@@ -123,25 +97,6 @@ TextConversion_zh::getWordConversion(const OUString& aText, sal_Int32 nStartPos,
const sal_uInt16 *charIndex;
bool one2one=true;
-#ifndef DISABLE_DYNLOADING
- const sal_Unicode *wordData = reinterpret_cast<const sal_Unicode* (*)(sal_Int32&)>(getFunctionBySymbol("getSTC_WordData"))(dictLen);
- if (toSChinese) {
- index = reinterpret_cast<const sal_uInt16* (*)(sal_Int32&)>(getFunctionBySymbol("getSTC_WordIndex_T2S"))(maxLen);
- entry = reinterpret_cast<const sal_uInt16* (*)()>(getFunctionBySymbol("getSTC_WordEntry_T2S"))();
- charData = reinterpret_cast<const sal_Unicode* (*)()>(getFunctionBySymbol("getSTC_CharData_T2S"))();
- charIndex = reinterpret_cast<const sal_uInt16* (*)()>(getFunctionBySymbol("getSTC_CharIndex_T2S"))();
- } else {
- index = reinterpret_cast<const sal_uInt16* (*)(sal_Int32&)>(getFunctionBySymbol("getSTC_WordIndex_S2T"))(maxLen);
- entry = reinterpret_cast<const sal_uInt16* (*)()>(getFunctionBySymbol("getSTC_WordEntry_S2T"))();
- if (nConversionOptions & TextConversionOption::USE_CHARACTER_VARIANTS) {
- charData = reinterpret_cast<const sal_Unicode* (*)()>(getFunctionBySymbol("getSTC_CharData_S2V"))();
- charIndex = reinterpret_cast<const sal_uInt16* (*)()>(getFunctionBySymbol("getSTC_CharIndex_S2V"))();
- } else {
- charData = reinterpret_cast<const sal_Unicode* (*)()>(getFunctionBySymbol("getSTC_CharData_S2T"))();
- charIndex = reinterpret_cast<const sal_uInt16* (*)()>(getFunctionBySymbol("getSTC_CharIndex_S2T"))();
- }
- }
-#else
const sal_Unicode *wordData = getSTC_WordData(dictLen);
if (toSChinese) {
index = getSTC_WordIndex_T2S(maxLen);
@@ -159,20 +114,20 @@ TextConversion_zh::getWordConversion(const OUString& aText, sal_Int32 nStartPos,
charIndex = getSTC_CharIndex_S2T();
}
}
-#endif
if ((!wordData || !index || !entry) && !xCDL.is()) // no word mapping defined, do char2char conversion.
return getCharConversion(aText, nStartPos, nLength, toSChinese, nConversionOptions);
std::unique_ptr<sal_Unicode[]> newStr(new sal_Unicode[nLength * 2 + 1]);
sal_Int32 currPos = 0, count = 0;
+ auto offsetRange = asNonConstRange(offset);
while (currPos < nLength) {
sal_Int32 len = nLength - currPos;
bool found = false;
if (len > maxLen)
len = maxLen;
for (; len > 0 && ! found; len--) {
- OUString word = aText.copy(nStartPos + currPos, len);
+ OUString word( aText.substr(nStartPos + currPos, len) );
sal_Int32 current = 0;
// user dictionary
if (xCDL.is()) {
@@ -198,7 +153,7 @@ TextConversion_zh::getWordConversion(const OUString& aText, sal_Int32 nStartPos,
if (word.getLength() != conversions[0].getLength())
one2one=false;
while (current < conversions[0].getLength()) {
- offset[count] = nStartPos + currPos + (current *
+ offsetRange[count] = nStartPos + currPos + (current *
word.getLength() / conversions[0].getLength());
newStr[count++] = conversions[0][current++];
}
@@ -231,11 +186,11 @@ TextConversion_zh::getWordConversion(const OUString& aText, sal_Int32 nStartPos,
current = entry[current] + word.getLength() + 1;
sal_Int32 start=current;
if (offset.hasElements()) {
- if (word.getLength() != OUString(&wordData[current]).getLength())
+ if (word.getLength() != static_cast<sal_Int32>(std::u16string_view(&wordData[current]).size()))
one2one=false;
- sal_Int32 convertedLength=OUString(&wordData[current]).getLength();
+ sal_Int32 convertedLength=std::u16string_view(&wordData[current]).size();
while (wordData[current]) {
- offset[count]=nStartPos + currPos + ((current-start) *
+ offsetRange[count]=nStartPos + currPos + ((current-start) *
word.getLength() / convertedLength);
newStr[count++] = wordData[current++];
}
@@ -252,7 +207,7 @@ TextConversion_zh::getWordConversion(const OUString& aText, sal_Int32 nStartPos,
}
if (!found) {
if (offset.hasElements())
- offset[count]=nStartPos+currPos;
+ offsetRange[count]=nStartPos+currPos;
newStr[count++] =
getOneCharConversion(aText[nStartPos+currPos], charData, charIndex);
currPos++;
@@ -270,8 +225,8 @@ TextConversion_zh::getConversions( const OUString& aText, sal_Int32 nStartPos, s
{
TextConversionResult result;
- result.Candidates.realloc(1);
- result.Candidates[0] = getConversion( aText, nStartPos, nLength, rLocale, nConversionType, nConversionOptions);
+ result.Candidates =
+ { getConversion( aText, nStartPos, nLength, rLocale, nConversionType, nConversionOptions) };
result.Boundary.startPos = nStartPos;
result.Boundary.endPos = nStartPos + nLength;
diff --git a/i18npool/source/transliteration/chartonum.cxx b/i18npool/source/transliteration/chartonum.cxx
index 41a6549b67ef..899ba9212ab7 100644
--- a/i18npool/source/transliteration/chartonum.cxx
+++ b/i18npool/source/transliteration/chartonum.cxx
@@ -19,8 +19,6 @@
#include <chartonum.hxx>
-using namespace com::sun::star::uno;
-
namespace i18npool {
#define TRANSLITERATION_CHARTONUM( name ) \
diff --git a/i18npool/source/transliteration/fullwidthToHalfwidth.cxx b/i18npool/source/transliteration/fullwidthToHalfwidth.cxx
index 6a90a957f038..558177128618 100644
--- a/i18npool/source/transliteration/fullwidthToHalfwidth.cxx
+++ b/i18npool/source/transliteration/fullwidthToHalfwidth.cxx
@@ -26,7 +26,6 @@
using namespace com::sun::star::uno;
using namespace com::sun::star::i18n;
-using namespace com::sun::star::lang;
namespace i18npool {
@@ -50,7 +49,7 @@ fullwidthToHalfwidth::transliterateImpl( const OUString& inStr, sal_Int32 startP
const OUString& newStr = i18nutil::widthfolding::decompose_ja_voiced_sound_marks (inStr, startPos, nCount, pOffset);
// One to One mapping
- return transliteration_OneToOne::transliterateImpl( newStr, 0, newStr.getLength(), pOffset);
+ return transliteration_OneToOne::transliterateImpl( newStr, 0, newStr.getLength(), nullptr);
}
sal_Unicode SAL_CALL
diff --git a/i18npool/source/transliteration/halfwidthToFullwidth.cxx b/i18npool/source/transliteration/halfwidthToFullwidth.cxx
index 8351291031f7..528aa0d87523 100644
--- a/i18npool/source/transliteration/halfwidthToFullwidth.cxx
+++ b/i18npool/source/transliteration/halfwidthToFullwidth.cxx
@@ -22,7 +22,6 @@
#include <transliteration_OneToOne.hxx>
using namespace com::sun::star::uno;
-using namespace com::sun::star::lang;
namespace i18npool {
diff --git a/i18npool/source/transliteration/hiraganaToKatakana.cxx b/i18npool/source/transliteration/hiraganaToKatakana.cxx
index 80b6f14d82f8..4cefa0d79e61 100644
--- a/i18npool/source/transliteration/hiraganaToKatakana.cxx
+++ b/i18npool/source/transliteration/hiraganaToKatakana.cxx
@@ -19,9 +19,6 @@
#include <transliteration_OneToOne.hxx>
-using namespace com::sun::star::uno;
-using namespace com::sun::star::lang;
-
namespace i18npool
{
// see http://charts.unicode.org/Web/U3040.html Hiragana (U+3040..U+309F)
diff --git a/i18npool/source/transliteration/ignoreBaFa_ja_JP.cxx b/i18npool/source/transliteration/ignoreBaFa_ja_JP.cxx
index 042e09c1df9f..34b4a465e40c 100644
--- a/i18npool/source/transliteration/ignoreBaFa_ja_JP.cxx
+++ b/i18npool/source/transliteration/ignoreBaFa_ja_JP.cxx
@@ -19,8 +19,6 @@
#include <transliteration_Ignore.hxx>
-using namespace com::sun::star::uno;
-
namespace i18npool {
const transliteration_Ignore::Mapping BaFa[] = {
diff --git a/i18npool/source/transliteration/ignoreHyuByu_ja_JP.cxx b/i18npool/source/transliteration/ignoreHyuByu_ja_JP.cxx
index be66ddfc9381..b564ab0930af 100644
--- a/i18npool/source/transliteration/ignoreHyuByu_ja_JP.cxx
+++ b/i18npool/source/transliteration/ignoreHyuByu_ja_JP.cxx
@@ -19,9 +19,6 @@
#include <transliteration_Ignore.hxx>
-using namespace com::sun::star::uno;
-using namespace com::sun::star::lang;
-
namespace i18npool {
const transliteration_Ignore::Mapping HyuByu[] = {
diff --git a/i18npool/source/transliteration/ignoreIandEfollowedByYa_ja_JP.cxx b/i18npool/source/transliteration/ignoreIandEfollowedByYa_ja_JP.cxx
index 5e8659027992..84fffc560358 100644
--- a/i18npool/source/transliteration/ignoreIandEfollowedByYa_ja_JP.cxx
+++ b/i18npool/source/transliteration/ignoreIandEfollowedByYa_ja_JP.cxx
@@ -24,7 +24,6 @@
#include <numeric>
using namespace com::sun::star::uno;
-using namespace com::sun::star::lang;
namespace i18npool {
diff --git a/i18npool/source/transliteration/ignoreIterationMark_ja_JP.cxx b/i18npool/source/transliteration/ignoreIterationMark_ja_JP.cxx
index c5a3cb04565c..a1f64d163bd6 100644
--- a/i18npool/source/transliteration/ignoreIterationMark_ja_JP.cxx
+++ b/i18npool/source/transliteration/ignoreIterationMark_ja_JP.cxx
@@ -24,7 +24,6 @@
#include <numeric>
using namespace com::sun::star::uno;
-using namespace com::sun::star::lang;
namespace i18npool {
diff --git a/i18npool/source/transliteration/ignoreKana.cxx b/i18npool/source/transliteration/ignoreKana.cxx
index 86a484e1a67b..36c1b528c4aa 100644
--- a/i18npool/source/transliteration/ignoreKana.cxx
+++ b/i18npool/source/transliteration/ignoreKana.cxx
@@ -25,7 +25,6 @@
namespace com::sun::star::uno { class XComponentContext; }
using namespace com::sun::star::uno;
-using namespace com::sun::star::lang;
namespace i18npool {
diff --git a/i18npool/source/transliteration/ignoreKiKuFollowedBySa_ja_JP.cxx b/i18npool/source/transliteration/ignoreKiKuFollowedBySa_ja_JP.cxx
index 113c80f9aeeb..293ff03b2bb8 100644
--- a/i18npool/source/transliteration/ignoreKiKuFollowedBySa_ja_JP.cxx
+++ b/i18npool/source/transliteration/ignoreKiKuFollowedBySa_ja_JP.cxx
@@ -22,7 +22,6 @@
#include <numeric>
using namespace com::sun::star::uno;
-using namespace com::sun::star::lang;
namespace i18npool {
diff --git a/i18npool/source/transliteration/ignoreProlongedSoundMark_ja_JP.cxx b/i18npool/source/transliteration/ignoreProlongedSoundMark_ja_JP.cxx
index 3291afa9ba7d..dba1165d5162 100644
--- a/i18npool/source/transliteration/ignoreProlongedSoundMark_ja_JP.cxx
+++ b/i18npool/source/transliteration/ignoreProlongedSoundMark_ja_JP.cxx
@@ -22,7 +22,6 @@
#include <numeric>
using namespace com::sun::star::uno;
-using namespace com::sun::star::lang;
namespace i18npool {
diff --git a/i18npool/source/transliteration/ignoreSeZe_ja_JP.cxx b/i18npool/source/transliteration/ignoreSeZe_ja_JP.cxx
index 1851a2791bb2..83ef32dad35f 100644
--- a/i18npool/source/transliteration/ignoreSeZe_ja_JP.cxx
+++ b/i18npool/source/transliteration/ignoreSeZe_ja_JP.cxx
@@ -19,9 +19,6 @@
#include <transliteration_Ignore.hxx>
-using namespace com::sun::star::uno;
-using namespace com::sun::star::lang;
-
namespace i18npool
{
const transliteration_Ignore::Mapping SeZe[] = {
diff --git a/i18npool/source/transliteration/ignoreSize_ja_JP.cxx b/i18npool/source/transliteration/ignoreSize_ja_JP.cxx
index 01f3f20da43f..24279439ca97 100644
--- a/i18npool/source/transliteration/ignoreSize_ja_JP.cxx
+++ b/i18npool/source/transliteration/ignoreSize_ja_JP.cxx
@@ -22,7 +22,6 @@
#include <rtl/ref.hxx>
using namespace com::sun::star::uno;
-using namespace com::sun::star::lang;
namespace i18npool {
diff --git a/i18npool/source/transliteration/ignoreTiJi_ja_JP.cxx b/i18npool/source/transliteration/ignoreTiJi_ja_JP.cxx
index a3e6116a9b62..40b216a00007 100644
--- a/i18npool/source/transliteration/ignoreTiJi_ja_JP.cxx
+++ b/i18npool/source/transliteration/ignoreTiJi_ja_JP.cxx
@@ -19,9 +19,6 @@
#include <transliteration_Ignore.hxx>
-using namespace com::sun::star::uno;
-using namespace com::sun::star::lang;
-
namespace i18npool
{
const transliteration_Ignore::Mapping TiJi[] = {
diff --git a/i18npool/source/transliteration/ignoreWidth.cxx b/i18npool/source/transliteration/ignoreWidth.cxx
index 1b9f15fde159..80d285ccfed8 100644
--- a/i18npool/source/transliteration/ignoreWidth.cxx
+++ b/i18npool/source/transliteration/ignoreWidth.cxx
@@ -25,7 +25,6 @@
namespace com::sun::star::uno { class XComponentContext; }
using namespace com::sun::star::uno;
-using namespace com::sun::star::lang;
namespace i18npool {
diff --git a/i18npool/source/transliteration/largeToSmall_ja_JP.cxx b/i18npool/source/transliteration/largeToSmall_ja_JP.cxx
index f6771fb6d4ac..089cd6e53e7a 100644
--- a/i18npool/source/transliteration/largeToSmall_ja_JP.cxx
+++ b/i18npool/source/transliteration/largeToSmall_ja_JP.cxx
@@ -21,9 +21,6 @@
#include <transliteration_OneToOne.hxx>
-using namespace com::sun::star::uno;
-using namespace com::sun::star::lang;
-
namespace i18npool
{
// ftp://ftp.unicode.org/Public/3.0-Update/UnicodeData-3.0.0.txt
diff --git a/i18npool/source/transliteration/smallToLarge_ja_JP.cxx b/i18npool/source/transliteration/smallToLarge_ja_JP.cxx
index 47ddba1a96d3..c71706bfbffb 100644
--- a/i18npool/source/transliteration/smallToLarge_ja_JP.cxx
+++ b/i18npool/source/transliteration/smallToLarge_ja_JP.cxx
@@ -21,9 +21,6 @@
#include <transliteration_OneToOne.hxx>
-using namespace com::sun::star::uno;
-using namespace com::sun::star::lang;
-
namespace i18npool
{
// ftp://ftp.unicode.org/Public/3.0-Update/UnicodeData-3.0.0.txt
diff --git a/i18npool/source/transliteration/textToPronounce_zh.cxx b/i18npool/source/transliteration/textToPronounce_zh.cxx
index 29e274c452e8..2057f8c43e28 100644
--- a/i18npool/source/transliteration/textToPronounce_zh.cxx
+++ b/i18npool/source/transliteration/textToPronounce_zh.cxx
@@ -21,10 +21,12 @@
#include <com/sun/star/i18n/MultipleCharsOutputException.hpp>
#include <com/sun/star/i18n/TransliterationType.hpp>
+#include <o3tl/temporary.hxx>
#include <rtl/ustring.hxx>
#include <rtl/ustrbuf.hxx>
#include <textToPronounce_zh.hxx>
+#include <indexentrysupplier_asian.hxx>
using namespace com::sun::star::i18n;
using namespace com::sun::star::uno;
@@ -43,7 +45,7 @@ TextToPronounce_zh::getPronounce(const sal_Unicode ch)
if (idx) {
sal_uInt16 address = idx[0][ch>>8];
if (address != 0xFFFF)
- return reinterpret_cast<sal_Unicode *>(
+ return reinterpret_cast<sal_Unicode const *>(
&idx[2][idx[1][address + (ch & 0xFF)]]);
}
return emptyString;
@@ -62,14 +64,15 @@ TextToPronounce_zh::foldingImpl(const OUString & inStr, sal_Int32 startPos,
if (startPos + nCount > inStr.getLength())
nCount = inStr.getLength() - startPos;
- if (pOffset)
- (*pOffset)[0] = 0;
+ auto ppOffset = pOffset ? pOffset->getArray() : nullptr;
+ if (ppOffset)
+ ppOffset[0] = 0;
for (sal_Int32 i = 0; i < nCount; i++) {
OUString pron(getPronounce(chArr[i]));
sb.append(pron);
- if (pOffset)
- (*pOffset)[i + 1] = (*pOffset)[i] + pron.getLength();
+ if (ppOffset)
+ ppOffset[i + 1] = (*pOffset)[i] + pron.getLength();
}
return sb.makeStringAndClear();
}
@@ -121,74 +124,27 @@ TextToPronounce_zh::equals( const OUString & str1, sal_Int32 pos1, sal_Int32 nCo
return (nCount1 == nCount2);
}
-#ifdef DISABLE_DYNLOADING
-
-extern "C" {
-
-sal_uInt16** get_zh_zhuyin();
-sal_uInt16** get_zh_pinyin();
-
-}
-
-#endif
-
TextToPinyin_zh_CN::TextToPinyin_zh_CN() :
-#ifndef DISABLE_DYNLOADING
- TextToPronounce_zh("get_zh_pinyin")
-#else
TextToPronounce_zh(get_zh_pinyin)
-#endif
{
transliterationName = "ChineseCharacterToPinyin";
implementationName = "com.sun.star.i18n.Transliteration.TextToPinyin_zh_CN";
}
TextToChuyin_zh_TW::TextToChuyin_zh_TW() :
-#ifndef DISABLE_DYNLOADING
- TextToPronounce_zh("get_zh_zhuyin")
-#else
TextToPronounce_zh(get_zh_zhuyin)
-#endif
{
transliterationName = "ChineseCharacterToChuyin";
implementationName = "com.sun.star.i18n.Transliteration.TextToChuyin_zh_TW";
}
-#ifndef DISABLE_DYNLOADING
-
-extern "C" { static void thisModule() {} }
-
-TextToPronounce_zh::TextToPronounce_zh(const char* func_name)
-{
-#ifdef SAL_DLLPREFIX
- OUString lib(SAL_DLLPREFIX"index_data" SAL_DLLEXTENSION);
-#else
- OUString lib("index_data" SAL_DLLEXTENSION);
-#endif
- hModule = osl_loadModuleRelative(
- &thisModule, lib.pData, SAL_LOADMODULE_DEFAULT );
- idx=nullptr;
- if (hModule) {
- sal_uInt16** (*function)() = reinterpret_cast<sal_uInt16** (*)()>(osl_getFunctionSymbol(hModule, OUString::createFromAscii(func_name).pData));
- if (function)
- idx=function();
- }
-}
-
-#else
-
-TextToPronounce_zh::TextToPronounce_zh(sal_uInt16 ** (*function)())
+TextToPronounce_zh::TextToPronounce_zh(sal_uInt16 const ** (*function)(sal_Int16 &))
{
- idx = function();
+ idx = function(o3tl::temporary(sal_Int16()));
}
-#endif
-
TextToPronounce_zh::~TextToPronounce_zh()
{
-#ifndef DISABLE_DYNLOADING
- if (hModule) osl_unloadModule(hModule);
-#endif
}
}
diff --git a/i18npool/source/transliteration/texttonum.cxx b/i18npool/source/transliteration/texttonum.cxx
index 5fd0e898de96..4517471d3a68 100644
--- a/i18npool/source/transliteration/texttonum.cxx
+++ b/i18npool/source/transliteration/texttonum.cxx
@@ -19,8 +19,6 @@
#include <texttonum.hxx>
-using namespace com::sun::star::uno;
-
namespace i18npool {
#define TRANSLITERATION_TEXTTONUM( name ) \
diff --git a/i18npool/source/transliteration/transliterationImpl.cxx b/i18npool/source/transliteration/transliterationImpl.cxx
index 55236ec3dfa9..c5b6d9cf5cce 100644
--- a/i18npool/source/transliteration/transliterationImpl.cxx
+++ b/i18npool/source/transliteration/transliterationImpl.cxx
@@ -27,10 +27,11 @@
#include <comphelper/sequence.hxx>
#include <cppuhelper/supportsservice.hxx>
-#include <rtl/instance.hxx>
+#include <o3tl/string_view.hxx>
#include <rtl/ustring.hxx>
#include <algorithm>
+#include <mutex>
#include <numeric>
using namespace com::sun::star::uno;
@@ -64,22 +65,44 @@ TMList const TMlist[] = { // Modules ModulesNew
// No enum define for this trans. application has to use impl name to load it
// TmItem1 (IGNORE_CASE_SIMPLE), // (1<<11 1024) (66)
- TmItem1 (IgnoreTraditionalKanji_ja_JP), // 3. (1<<12 4096) (10)
- TmItem1 (IgnoreTraditionalKana_ja_JP), // 4. (1<<13 8192) (11)
- TmItem1 (IgnoreMinusSign_ja_JP), // 5. (1<<13 16384) (12)
- TmItem1 (IgnoreIterationMark_ja_JP), // 6. (1<<14 32768) (13)
- TmItem1 (IgnoreSeparator_ja_JP), // 7. (1<<15 65536) (14)
- TmItem1 (IgnoreSize_ja_JP), // 15. (1<<23 16777216) (22)
- TmItem1 (IgnoreMiddleDot_ja_JP), // 17. (1<<25 67108864) (24)
- TmItem1 (IgnoreSpace_ja_JP), // 18. (1<<26 134217728) (25)
- TmItem1 (IgnoreZiZu_ja_JP), // 8. (1<<16 131072) (15)
- TmItem1 (IgnoreBaFa_ja_JP), // 9. (1<<17 262144) (16)
- TmItem1 (IgnoreTiJi_ja_JP), // 10. (1<<18 524288) (17)
- TmItem1 (IgnoreHyuByu_ja_JP), // 11. (1<<19 1048576) (18)
- TmItem1 (IgnoreSeZe_ja_JP), // 12. (1<<20 2097152) (19)
- TmItem1 (IgnoreIandEfollowedByYa_ja_JP), // 13. (1<<21 4194304) (20)
- TmItem1 (IgnoreKiKuFollowedBySa_ja_JP), // 14. (1<<22 8388608) (21)
- TmItem1 (IgnoreProlongedSoundMark_ja_JP), // 16. (1<<24 33554432) (23)
+ {TransliterationModules_IgnoreTraditionalKanji_ja_JP,
+ TransliterationModulesNew_IgnoreTraditionalKanji_ja_JP, "ignoreTraditionalKanji_ja_JP"},
+ // 3. (1<<12 4096) (10)
+ {TransliterationModules_IgnoreTraditionalKana_ja_JP,
+ TransliterationModulesNew_IgnoreTraditionalKana_ja_JP, "ignoreTraditionalKana_ja_JP"},
+ // 4. (1<<13 8192) (11)
+ {TransliterationModules_IgnoreMinusSign_ja_JP, TransliterationModulesNew_IgnoreMinusSign_ja_JP,
+ "ignoreMinusSign_ja_JP"}, // 5. (1<<13 16384) (12)
+ {TransliterationModules_IgnoreIterationMark_ja_JP,
+ TransliterationModulesNew_IgnoreIterationMark_ja_JP, "ignoreIterationMark_ja_JP"},
+ // 6. (1<<14 32768) (13)
+ {TransliterationModules_IgnoreSeparator_ja_JP, TransliterationModulesNew_IgnoreSeparator_ja_JP,
+ "ignoreSeparator_ja_JP"}, // 7. (1<<15 65536) (14)
+ {TransliterationModules_IgnoreSize_ja_JP, TransliterationModulesNew_IgnoreSize_ja_JP,
+ "ignoreSize_ja_JP"}, // 15. (1<<23 16777216) (22)
+ {TransliterationModules_IgnoreMiddleDot_ja_JP, TransliterationModulesNew_IgnoreMiddleDot_ja_JP,
+ "ignoreMiddleDot_ja_JP"}, // 17. (1<<25 67108864) (24)
+ {TransliterationModules_IgnoreSpace_ja_JP, TransliterationModulesNew_IgnoreSpace_ja_JP,
+ "ignoreSpace_ja_JP"}, // 18. (1<<26 134217728) (25)
+ {TransliterationModules_IgnoreZiZu_ja_JP, TransliterationModulesNew_IgnoreZiZu_ja_JP,
+ "ignoreZiZu_ja_JP"}, // 8. (1<<16 131072) (15)
+ {TransliterationModules_IgnoreBaFa_ja_JP, TransliterationModulesNew_IgnoreBaFa_ja_JP,
+ "ignoreBaFa_ja_JP"}, // 9. (1<<17 262144) (16)
+ {TransliterationModules_IgnoreTiJi_ja_JP, TransliterationModulesNew_IgnoreTiJi_ja_JP,
+ "ignoreTiJi_ja_JP"}, // 10. (1<<18 524288) (17)
+ {TransliterationModules_IgnoreHyuByu_ja_JP, TransliterationModulesNew_IgnoreHyuByu_ja_JP,
+ "ignoreHyuByu_ja_JP"}, // 11. (1<<19 1048576) (18)
+ {TransliterationModules_IgnoreSeZe_ja_JP, TransliterationModulesNew_IgnoreSeZe_ja_JP,
+ "ignoreSeZe_ja_JP"}, // 12. (1<<20 2097152) (19)
+ {TransliterationModules_IgnoreIandEfollowedByYa_ja_JP,
+ TransliterationModulesNew_IgnoreIandEfollowedByYa_ja_JP, "ignoreIandEfollowedByYa_ja_JP"},
+ // 13. (1<<21 4194304) (20)
+ {TransliterationModules_IgnoreKiKuFollowedBySa_ja_JP,
+ TransliterationModulesNew_IgnoreKiKuFollowedBySa_ja_JP, "ignoreKiKuFollowedBySa_ja_JP"},
+ // 14. (1<<22 8388608) (21)
+ {TransliterationModules_IgnoreProlongedSoundMark_ja_JP,
+ TransliterationModulesNew_IgnoreProlongedSoundMark_ja_JP, "ignoreProlongedSoundMark_ja_JP"},
+ // 16. (1<<24 33554432) (23)
TmItem1 (UPPERCASE_LOWERCASE), // 19. (1) (1)
TmItem1 (LOWERCASE_UPPERCASE), // 20. (2) (2)
@@ -88,8 +111,10 @@ TMList const TMlist[] = { // Modules ModulesNew
TmItem1 (KATAKANA_HIRAGANA), // 23. (5) (5)
TmItem1 (HIRAGANA_KATAKANA), // 24. (6) (6)
- TmItem1 (SmallToLarge_ja_JP), // 25. (1<<27 268435456) (26)
- TmItem1 (LargeToSmall_ja_JP), // 26. (1<<28 536870912) (27)
+ {TransliterationModules_SmallToLarge_ja_JP, TransliterationModulesNew_SmallToLarge_ja_JP,
+ "smallToLarge_ja_JP"}, // 25. (1<<27 268435456) (26)
+ {TransliterationModules_LargeToSmall_ja_JP, TransliterationModulesNew_LargeToSmall_ja_JP,
+ "largeToSmall_ja_JP"}, // 26. (1<<28 536870912) (27)
TmItem2 (NumToTextLower_zh_CN), // 27. () (28)
TmItem2 (NumToTextUpper_zh_CN), // 28. () (29)
TmItem2 (NumToTextLower_zh_TW), // 29. () (30)
@@ -203,11 +228,11 @@ TransliterationImpl::loadModule( TransliterationModules modType, const Locale& r
// additional transliterations from TransliterationModulesExtra (we cannot extend TransliterationModules)
if (bool(modType & TransliterationModules(TransliterationModulesExtra::IGNORE_DIACRITICS_CTL)))
{
- if (loadModuleByName("ignoreDiacritics_CTL", bodyCascade[numCascade], rLocale))
+ if (loadModuleByName(u"ignoreDiacritics_CTL", bodyCascade[numCascade], rLocale))
numCascade++;
}
if (bool(modType & TransliterationModules(TransliterationModulesExtra::IGNORE_KASHIDA_CTL)))
- if (loadModuleByName("ignoreKashida_CTL", bodyCascade[numCascade], rLocale))
+ if (loadModuleByName(u"ignoreKashida_CTL", bodyCascade[numCascade], rLocale))
numCascade++;
} else if (bool(modType & TransliterationModules_NON_IGNORE_MASK)) {
@@ -294,8 +319,6 @@ TransliterationImpl::transliterate( const OUString& inStr, sal_Int32 startPos, s
if (numCascade == 0)
return inStr;
- if (offset.getLength() != nCount)
- offset.realloc(nCount);
if (numCascade == 1)
{
if ( startPos == 0 && nCount == inStr.getLength() )
@@ -329,7 +352,7 @@ TransliterationImpl::transliterate( const OUString& inStr, sal_Int32 startPos, s
assert(from.getLength() == nCount);
from.swap(to);
for (sal_Int32& ix : asNonConstRange(to))
- ix = std::as_const(from)[ix];
+ ix = from[ix];
}
offset = to;
return tmpStr;
@@ -369,20 +392,20 @@ TransliterationImpl::folding( const OUString& inStr, sal_Int32 startPos, sal_Int
auto [begin, end] = asNonConstRange(offset);
std::iota(begin, end, startPos);
- sal_Int16 from = 0, to = 1;
- Sequence<sal_Int32> off[2];
+ Sequence<sal_Int32> from;
+ Sequence<sal_Int32> to = offset;
- off[to] = offset;
for (sal_Int32 i = 0; i < numCascade; i++) {
- tmpStr = bodyCascade[i]->folding(tmpStr, 0, nCount, off[from]);
+ tmpStr = bodyCascade[i]->folding(tmpStr, 0, nCount, from);
nCount = tmpStr.getLength();
- std::swap(from, to);
- for (sal_Int32 j = 0; j < nCount; j++)
- off[to][j] = off[from][off[to][j]];
+ assert(from.getLength() == nCount);
+ from.swap(to);
+ for (sal_Int32& ix : asNonConstRange(to))
+ ix = from[ix];
}
- offset = off[to];
+ offset = to;
return tmpStr;
}
}
@@ -582,13 +605,13 @@ namespace
OUString Name;
css::uno::Reference< css::i18n::XExtendedTransliteration > Body;
};
- class theTransBodyMutex : public rtl::Static<osl::Mutex, theTransBodyMutex> {};
}
void TransliterationImpl::loadBody( OUString const &implName, Reference<XExtendedTransliteration>& body )
{
assert(!implName.isEmpty());
- ::osl::MutexGuard guard(theTransBodyMutex::get());
+ static std::mutex transBodyMutex;
+ std::unique_lock guard(transBodyMutex);
static TransBody lastTransBody;
if (implName != lastTransBody.Name)
{
@@ -600,17 +623,17 @@ void TransliterationImpl::loadBody( OUString const &implName, Reference<XExtende
}
bool
-TransliterationImpl::loadModuleByName( const OUString& implName,
+TransliterationImpl::loadModuleByName( std::u16string_view implName,
Reference<XExtendedTransliteration>& body, const Locale& rLocale)
{
- OUString cname = TRLT_IMPLNAME_PREFIX + implName;
+ OUString cname = OUString::Concat(TRLT_IMPLNAME_PREFIX) + implName;
loadBody(cname, body);
if (body.is()) {
body->loadModule(TransliterationModules(0), rLocale); // toUpper/toLoad need rLocale
// if the module is ignore case/kana/width, load caseignore for equals/compareString mothed
for (sal_Int16 i = 0; i < 3; i++) {
- if (implName.equalsAscii(TMlist[i].implName)) {
+ if (o3tl::equalsAscii(implName, TMlist[i].implName)) {
if (i == 0) // current module is caseignore
body->loadModule(TMlist[0].tm, rLocale); // caseignore need to setup module name
if (! caseignore.is()) {
@@ -631,7 +654,7 @@ TransliterationImpl::loadModuleByName( const OUString& implName,
OUString SAL_CALL
TransliterationImpl::getImplementationName()
{
- return "com.sun.star.i18n.Transliteration";
+ return u"com.sun.star.i18n.Transliteration"_ustr;
}
sal_Bool SAL_CALL
@@ -643,7 +666,7 @@ TransliterationImpl::supportsService(const OUString& rServiceName)
Sequence< OUString > SAL_CALL
TransliterationImpl::getSupportedServiceNames()
{
- return { "com.sun.star.i18n.Transliteration" };
+ return { u"com.sun.star.i18n.Transliteration"_ustr };
}
}
diff --git a/i18npool/source/transliteration/transliteration_Numeric.cxx b/i18npool/source/transliteration/transliteration_Numeric.cxx
index 22b3769068f5..e0717379ed4c 100644
--- a/i18npool/source/transliteration/transliteration_Numeric.cxx
+++ b/i18npool/source/transliteration/transliteration_Numeric.cxx
@@ -58,19 +58,20 @@ Sequence< OUString > SAL_CALL
#define NUMBER_ZERO 0x30
OUString
-transliteration_Numeric::transliterateBullet( const OUString& inStr, sal_Int32 startPos, sal_Int32 nCount,
+transliteration_Numeric::transliterateBullet( std::u16string_view inStr, sal_Int32 startPos, sal_Int32 nCount,
Sequence< sal_Int32 >* pOffset ) const
{
sal_Int32 number = -1, j = 0, endPos = startPos + nCount;
- if (endPos > inStr.getLength())
- endPos = inStr.getLength();
+ if (endPos > static_cast<sal_Int32>(inStr.size()))
+ endPos = inStr.size();
rtl_uString* pStr = rtl_uString_alloc(nCount);
sal_Unicode* out = pStr->buffer;
if (pOffset)
pOffset->realloc(nCount);
+ auto ppOffset = pOffset ? pOffset->getArray() : nullptr;
for (sal_Int32 i = startPos; i < endPos; i++) {
if (isNumber(inStr[i]))
@@ -83,22 +84,22 @@ transliteration_Numeric::transliterateBullet( const OUString& inStr, sal_Int32 s
}
} else {
if (number == 0) {
- if (pOffset)
- (*pOffset)[j] = startPos;
+ if (ppOffset)
+ ppOffset[j] = startPos;
out[j++] = NUMBER_ZERO;
} else if (number > tableSize && !recycleSymbol) {
for (sal_Int32 k = startPos; k < i; k++) {
- if (pOffset)
- (*pOffset)[j] = k;
+ if (ppOffset)
+ ppOffset[j] = k;
out[j++] = inStr[k];
}
} else if (number > 0) {
- if (pOffset)
- (*pOffset)[j] = startPos;
+ if (ppOffset)
+ ppOffset[j] = startPos;
out[j++] = table[--number % tableSize];
} else if (i < endPos) {
- if (pOffset)
- (*pOffset)[j] = i;
+ if (ppOffset)
+ ppOffset[j] = i;
out[j++] = inStr[i];
}
number = -1;
diff --git a/i18npool/source/transliteration/transliteration_body.cxx b/i18npool/source/transliteration/transliteration_body.cxx
index a64c8050bb79..36c5ccc72f46 100644
--- a/i18npool/source/transliteration/transliteration_body.cxx
+++ b/i18npool/source/transliteration/transliteration_body.cxx
@@ -16,6 +16,10 @@
* except in compliance with the License. You may obtain a copy of
* the License at http://www.apache.org/licenses/LICENSE-2.0 .
*/
+// Silence spurious Werror=maybe-uninitialized in transliterateImpl emitted at least by GCC 11.2.0
+#if defined __GNUC__ && !defined __clang__
+#pragma GCC diagnostic ignored "-Wmaybe-uninitialized"
+#endif
#include <rtl/ref.hxx>
#include <i18nutil/casefolding.hxx>
@@ -117,8 +121,17 @@ Transliteration_body::transliterateImpl(
// Yes, on massive use even such small things do count.
if ( pOffset )
{
- std::vector<sal_Int32> aVec;
- aVec.reserve(std::max<sal_Int32>(nLocalBuf, nCount) * NMAPPINGMAX);
+ sal_Int32* offsetData;
+ std::unique_ptr<sal_Int32[]> pOffsetHeapBuf;
+ sal_Int32 nOffsetCount = std::max<sal_Int32>(nLocalBuf, nCount);
+ if (nOffsetCount <= nLocalBuf)
+ offsetData = static_cast<sal_Int32*>(alloca(nOffsetCount * NMAPPINGMAX * sizeof(sal_Int32)));
+ else
+ {
+ pOffsetHeapBuf.reset(new sal_Int32[ nOffsetCount * NMAPPINGMAX ]);
+ offsetData = pOffsetHeapBuf.get();
+ }
+ sal_Int32* offsetDataEnd = offsetData;
for (sal_Int32 i = 0; i < nCount; i++)
{
@@ -126,12 +139,13 @@ Transliteration_body::transliterateImpl(
MappingType nTmpMappingType = lcl_getMappingTypeForToggleCase( nMappingType, in[i] );
const i18nutil::Mapping &map = i18nutil::casefolding::getValue( in, i, nCount, aLocale, nTmpMappingType );
- std::fill_n(std::back_inserter(aVec), map.nmap, i + startPos);
+ std::fill_n(offsetDataEnd, map.nmap, i + startPos);
+ offsetDataEnd += map.nmap;
std::copy_n(map.map, map.nmap, out + j);
j += map.nmap;
}
- *pOffset = comphelper::containerToSequence(aVec);
+ *pOffset = css::uno::Sequence< sal_Int32 >(offsetData, offsetDataEnd - offsetData);
}
else
{
@@ -187,26 +201,18 @@ Transliteration_casemapping::Transliteration_casemapping()
implementationName = "com.sun.star.i18n.Transliteration.Transliteration_casemapping";
}
-void
-Transliteration_casemapping::setMappingType( const MappingType rMappingType, const Locale& rLocale )
-{
- nMappingType = rMappingType;
- if (aLocale != rLocale)
- aLocale = rLocale;
-}
-
Transliteration_u2l::Transliteration_u2l()
{
nMappingType = MappingType::UpperToLower;
transliterationName = "upper_to_lower(generic)";
- implementationName = "com.sun.star.i18n.Transliteration.Transliteration_u2l";
+ implementationName = "com.sun.star.i18n.Transliteration.UPPERCASE_LOWERCASE";
}
Transliteration_l2u::Transliteration_l2u()
{
nMappingType = MappingType::LowerToUpper;
transliterationName = "lower_to_upper(generic)";
- implementationName = "com.sun.star.i18n.Transliteration.Transliteration_l2u";
+ implementationName = "com.sun.star.i18n.Transliteration.LOWERCASE_UPPERCASE";
}
Transliteration_togglecase::Transliteration_togglecase()
@@ -217,23 +223,23 @@ Transliteration_togglecase::Transliteration_togglecase()
// a per character basis.
nMappingType = MappingType::LowerToUpper | MappingType::UpperToLower;
transliterationName = "toggle(generic)";
- implementationName = "com.sun.star.i18n.Transliteration.Transliteration_togglecase";
+ implementationName = "com.sun.star.i18n.Transliteration.TOGGLE_CASE";
}
Transliteration_titlecase::Transliteration_titlecase()
{
nMappingType = MappingType::ToTitle;
transliterationName = "title(generic)";
- implementationName = "com.sun.star.i18n.Transliteration.Transliteration_titlecase";
+ implementationName = "com.sun.star.i18n.Transliteration.TITLE_CASE";
}
/// @throws RuntimeException
static OUString transliterate_titlecase_Impl(
- const OUString& inStr, sal_Int32 startPos, sal_Int32 nCount,
+ std::u16string_view inStr, sal_Int32 startPos, sal_Int32 nCount,
const Locale &rLocale,
Sequence< sal_Int32 >* pOffset )
{
- const OUString aText( inStr.copy( startPos, nCount ) );
+ const OUString aText( inStr.substr( startPos, nCount ) );
OUString aRes;
if (!aText.isEmpty())
@@ -258,11 +264,14 @@ static OUString transliterate_titlecase_Impl(
// The rest of the text should just become lowercase.
aRes = xCharClassImpl->toTitle( aResolvedLigature, 0, nResolvedLen, rLocale ) +
xCharClassImpl->toLower( aText, 1, aText.getLength() - 1, rLocale );
- pOffset->realloc( aRes.getLength() );
+ if (pOffset)
+ {
+ pOffset->realloc( aRes.getLength() );
- auto [begin, end] = asNonConstRange(*pOffset);
- sal_Int32* pOffsetInt = std::fill_n(begin, nResolvedLen, 0);
- std::iota(pOffsetInt, end, 1);
+ auto [begin, end] = asNonConstRange(*pOffset);
+ sal_Int32* pOffsetInt = std::fill_n(begin, nResolvedLen, 0);
+ std::iota(pOffsetInt, end, 1);
+ }
}
return aRes;
}
@@ -280,7 +289,7 @@ Transliteration_sentencecase::Transliteration_sentencecase()
{
nMappingType = MappingType::ToTitle; // though only to be applied to the first word...
transliterationName = "sentence(generic)";
- implementationName = "com.sun.star.i18n.Transliteration.Transliteration_sentencecase";
+ implementationName = "com.sun.star.i18n.Transliteration.SENTENCE_CASE";
}
// this function expects to be called on a sentence-by-sentence basis,
diff --git a/i18npool/source/transliteration/transliteration_caseignore.cxx b/i18npool/source/transliteration/transliteration_caseignore.cxx
index dcd7b3b94be7..b5c8c24d10c8 100644
--- a/i18npool/source/transliteration/transliteration_caseignore.cxx
+++ b/i18npool/source/transliteration/transliteration_caseignore.cxx
@@ -38,7 +38,7 @@ Transliteration_caseignore::Transliteration_caseignore()
nMappingType = MappingType::FullFolding;
moduleLoaded = TransliterationFlags::NONE;
transliterationName = "case ignore (generic)";
- implementationName = "com.sun.star.i18n.Transliteration.Transliteration_caseignore";
+ implementationName = "com.sun.star.i18n.Transliteration.IGNORE_CASE";
}
void SAL_CALL
diff --git a/i18npool/source/transliteration/transliteration_commonclass.cxx b/i18npool/source/transliteration/transliteration_commonclass.cxx
index 054ae60e220c..625a8a9177ab 100644
--- a/i18npool/source/transliteration/transliteration_commonclass.cxx
+++ b/i18npool/source/transliteration/transliteration_commonclass.cxx
@@ -127,7 +127,7 @@ sal_Bool SAL_CALL transliteration_commonclass::supportsService(const OUString& r
Sequence< OUString > SAL_CALL transliteration_commonclass::getSupportedServiceNames()
{
- return { "com.sun.star.i18n.Transliteration.l10n" };
+ return { u"com.sun.star.i18n.Transliteration.l10n"_ustr };
}
}