diff options
Diffstat (limited to 'i18npool/source')
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(¤t, 1)); + aSymbol.append( + OUString::Concat(rText.subView(postSymbolIndex, nextCharIndex - postSymbolIndex - 2)) + + OUString(¤t, 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(¤t, 1)); + aSymbol.append( + rText.subView(postSymbolIndex, nextCharIndex - postSymbolIndex - 2) + + OUString(¤t, 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> </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 一,二,三... --> - <NumberingLevel Prefix="(" NumType="15" Suffix=")" /> <!-- Chinese 一,二,三..., 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 }; } } |