From c9af632056fedcf9327ba23aafbe4b0300b1abae Mon Sep 17 00:00:00 2001 From: Aleksandr Andreev Date: Mon, 20 Apr 2015 18:45:28 +0300 Subject: [PATCH] tdf#90802 add Church Slavic [cu-RU] locale Change-Id: Id8322661f79f4d500fd59c19fc04b13e82c7126d Reviewed-on: https://gerrit.libreoffice.org/15540 Reviewed-by: Eike Rathke Tested-by: Eike Rathke --- i18nlangtag/source/isolang/isolang.cxx | 1 + i18npool/CustomTarget_collator.mk | 1 + i18npool/Library_localedata_others.mk | 1 + i18npool/source/collator/collator_unicode.cxx | 10 + i18npool/source/collator/data/cu_charset.txt | 37 ++ i18npool/source/localedata/data/cu_RU.xml | 429 ++++++++++++++++++ i18npool/source/localedata/localedata.cxx | 3 +- include/i18nlangtag/lang.h | 1 + svtools/source/misc/langtab.src | 1 + 9 files changed, 483 insertions(+), 1 deletion(-) create mode 100644 i18npool/source/collator/data/cu_charset.txt create mode 100644 i18npool/source/localedata/data/cu_RU.xml diff --git a/i18nlangtag/source/isolang/isolang.cxx b/i18nlangtag/source/isolang/isolang.cxx index 6b0dedf7e83f..d4cbef0169a3 100644 --- a/i18nlangtag/source/isolang/isolang.cxx +++ b/i18nlangtag/source/isolang/isolang.cxx @@ -648,6 +648,7 @@ static IsoLanguageCountryEntry const aImplIsoLangEntries[] = { LANGUAGE_USER_FRENCH_NIGER, "fr", "NE", 0 }, { LANGUAGE_USER_FRENCH_TOGO, "fr", "TG", 0 }, { LANGUAGE_USER_KVEN_FINNISH, "fkv", "NO", 0 }, + { LANGUAGE_USER_CHURCH_SLAVIC, "cu", "RU", 0 }, { LANGUAGE_MULTIPLE, "mul", "" , 0 }, // multiple languages, many languages are used { LANGUAGE_UNDETERMINED, "und", "" , 0 }, // undetermined language, language cannot be identified { LANGUAGE_NONE, "zxx", "" , 0 }, // added to ISO 639-2 on 2006-01-11: Used to declare the absence of linguistic information diff --git a/i18npool/CustomTarget_collator.mk b/i18npool/CustomTarget_collator.mk index c620730495b4..ccecfabb28f8 100644 --- a/i18npool/CustomTarget_collator.mk +++ b/i18npool/CustomTarget_collator.mk @@ -11,6 +11,7 @@ $(eval $(call gb_CustomTarget_CustomTarget,i18npool/collator)) i18npool_CODIR := $(call gb_CustomTarget_get_workdir,i18npool/collator) i18npool_COTXTS := \ + cu_charset.txt \ $(call gb_Helper_optional_locale,ca, \ ca_charset.txt) \ $(call gb_Helper_optional_locale,dz, \ diff --git a/i18npool/Library_localedata_others.mk b/i18npool/Library_localedata_others.mk index ea706b88fad7..fe4f15246f89 100644 --- a/i18npool/Library_localedata_others.mk +++ b/i18npool/Library_localedata_others.mk @@ -37,6 +37,7 @@ $(eval $(call gb_Library_add_generated_exception_objects,localedata_others,\ CustomTarget/i18npool/localedata/localedata_bo_CN \ CustomTarget/i18npool/localedata/localedata_bo_IN \ CustomTarget/i18npool/localedata/localedata_bvx_CG \ + CustomTarget/i18npool/localedata/localedata_cu_RU \ CustomTarget/i18npool/localedata/localedata_dde_CG \ CustomTarget/i18npool/localedata/localedata_dz_BT \ CustomTarget/i18npool/localedata/localedata_ebo_CG \ diff --git a/i18npool/source/collator/collator_unicode.cxx b/i18npool/source/collator/collator_unicode.cxx index a2b110c157fe..9bf335508add 100644 --- a/i18npool/source/collator/collator_unicode.cxx +++ b/i18npool/source/collator/collator_unicode.cxx @@ -64,6 +64,7 @@ extern "C" { // get_zh_pinyin for instance. const sal_uInt8* get_collator_data_ca_charset(); +const sal_uInt8* get_collator_data_cu_charset(); const sal_uInt8* get_collator_data_dz_charset(); const sal_uInt8* get_collator_data_hu_charset(); const sal_uInt8* get_collator_data_ja_charset(); @@ -85,6 +86,7 @@ const sal_uInt8* get_collator_data_zh_stroke(); const sal_uInt8* get_collator_data_zh_zhuyin(); size_t get_collator_data_ca_charset_length(); +size_t get_collator_data_cu_charset_length(); size_t get_collator_data_dz_charset_length(); size_t get_collator_data_hu_charset_length(); size_t get_collator_data_ja_charset_length(); @@ -198,6 +200,14 @@ Collator_Unicode::loadCollatorAlgorithm(const OUString& rAlgorithm, const lang:: funclen = get_collator_data_ca_charset_length; } #endif +#if WITH_LOCALE_ALL || WITH_LOCALE_cu + } else if ( rLocale.language == "cu" ) { + if ( rAlgorithm == "charset" ) + { + func = get_collator_data_cu_charset; + funclen = get_collator_data_cu_charset_length; + } +#endif #if WITH_LOCALE_ALL || WITH_LOCALE_dz } else if ( rLocale.Language == "dz" || rLocale.Language == "bo" ) { // 'bo' Tibetan uses the same collation rules as 'dz' Dzongkha diff --git a/i18npool/source/collator/data/cu_charset.txt b/i18npool/source/collator/data/cu_charset.txt new file mode 100644 index 000000000000..73c1b4217d71 --- /dev/null +++ b/i18npool/source/collator/data/cu_charset.txt @@ -0,0 +1,37 @@ +# +# 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/. +# + +# +# Collation of Church Slavic letters +# +[caseLevel on] +[caseFirst upper] +[backwards 2] +& [first primary ignorable] = \; = \: = \\ = \. = \- = \, = \* = – = — = \_ = ꙳ = ҂ = ⃝ = ҈ = ҉= ꙰= ꙱= ꙲ = ✠ +& [first secondary ignorable] = ҇ = ꙼ = ꙾ << ҅ << ҆ << ́ << ̀ << ̑ << ҃ << ̆ << ̈ = ̏ << ⷶ << ⷠ << ⷡ << ⷢ << ⷣ << ⷷ << ꙴ << ⷤ << ⷥ << ꙵ << ꙶ << ⷦ << ⷧ << ⷨ << ⷩ << ⷪ << ꙻ << ⷫ << ⷬ << ⷭ << ⷮ << ⷹ << ꙷ << ꚞ << ⷯ << ⷰ << ⷱ << ⷲ << ⷳ << ̾ = ꙸ = ⸯ << ꙹ << ꙿ = ꙽ = ꙺ << ⷺ << ⷻ << ⷾ << ⷼ << ⷽ << ⷴ +& ⷭⷮ = ⷵ +& д = ᲁ +& е <<< Е <<< є <<< Є +& ж <<< Ж < ѕ <<< Ѕ < з = ꙁ <<< З = Ꙁ +& и <<< И < і <<< І +& и = й / ̆ +& И = Й / ̆ +& і = ї / ̈ +& І = Ї / ̈ +& н <<< Н < ѻ <<< Ѻ <<< о = ᲂ <<< О <<< ѡ <<< Ѡ <<< ꙍ <<< Ꙍ +& Ꙍ҆̑ = Ѽ +& ꙍ҆̑ = ѽ +& Ѡт = Ѿ +& ѡт = ѿ +& т <<< Т < ѹ = оу = ᲂу <<< Ѹ = Оу = ОУ <<< ꙋ <<< Ꙋ <<< у <<< У +& э <<< Э < ѣ <<< Ѣ +& ю <<< Ю < ѫ <<< Ѫ < я <<< Я < ꙗ <<< Ꙗ <<< ѧ <<< Ѧ < ѯ <<< Ѯ < ѱ <<< Ѱ < ѳ <<< Ѳ < ѵ <<< Ѵ +& ѵ = ѷ / ̏ +& Ѵ = Ѷ / ̏ +& 🕀 < 🕁 < 🕂 < 🕃 < 🕄 + diff --git a/i18npool/source/localedata/data/cu_RU.xml b/i18npool/source/localedata/data/cu_RU.xml new file mode 100644 index 000000000000..5d4f1d602840 --- /dev/null +++ b/i18npool/source/localedata/data/cu_RU.xml @@ -0,0 +1,429 @@ + + + + + + + cu + Church Slavic + + + RU + Russia + + + + + . +   + , + : + , + ; + , + , + + л. + + + + + « + » + + до по́лꙋд. + по по́лꙋд. + metric + + + D.M. + D/M/ + + Standard + + + 0 + + + 0,00 + + + # ##0 + + + # ##0,00 + + + # ###,00 + + + 0,00E+000 + + + 0,00E+00 + + + ##0,00E+00 + + + 0% + + + 0,00% + + + # ##0 [$р.-694];-# ##0 [$р.-694] + + + # ##0,00 [$р.-694];-# ##0,00 [$р.-694] + + + # ##0 [$р.-694];[RED]-# ##0 [$р.-694] + + + # ##0,00 [$р.-694];[RED]-# ##0,00 [$р.-694] + + + # ##0,00 CCC + + + # ##0,-- [$р.-694];[RED]-# ##0,-- [$р.-694] + + + D.M.YY + + + NNNNDD MMMM, YYYY + + + DD.MM.YY + + + DD.MM.YYYY + + + D MMM, YY + + + D MMM, YYYY + + + D. MMM. YYYY + + + D MMMM, YYYY + + + D. MMMM YYYY + + + NN, D MMM, YY + + + NN DD.MMM YY + + + NN, D MMMM, YYYY + + + NNNND MMMM, YYYY + + + MM-DD + + + YY-MM-DD + + + YYYY-MM-DD + ISO 8601 + + + MM.YY + + + DD.MMM + + + MMMM + + + QQ YY + + + WW + + + HH:MM + + + HH:MM:SS + + + HH:MM AM/PM + + + HH:MM:SS AM/PM + + + [HH]:MM:SS + + + MM:SS,00 + + + [HH]:MM:SS,00 + + + DD.MM.YY HH:MM + + + DD.MM.YYYY HH:MM:SS + + + + + + IGNORE_CASE + + + + + А-Д Є Ж Ѕ З И І К-Т Ꙋ Ф Х Ѿ Ц-Ь Ѣ Ю Ꙗ Ѧ Ѯ Ѱ Ѳ Ѵ + 8 + ли́стъ + листы̀ + + + + + + sun + нд + недѣ́лѧ + + + mon + пн + понедѣ́льникъ + + + tue + вт + вто́рникъ + + + wed + ср + среда̀ + + + thu + чт + четверто́къ + + + fri + пт + пѧто́къ + + + sat + сб + сꙋббѡ́та + + + + + jan + і҆ан. + і҆аннꙋа́рїй + + + feb + февр. + феврꙋа́рїй + + + mar + ма́ртъ + ма́ртъ + + + apr + а҆пр. + а҆прі́лїй + + + may + ма́їй + ма́їй + + + jun + і҆ꙋ́нїй + і҆ꙋ́нїй + + + jul + і҆ꙋ́лїй + і҆ꙋ́лїй + + + aug + а҆́ѵг. + а҆́ѵгꙋстъ + + + sep + септ. + септе́мврїй + + + oct + ѻ҆кт. + ѻ҆ктѡ́врїй + + + nov + ное́м. + ное́мврїй + + + dec + дек. + деке́мврїй + + + + + jan + і҆ан. + і҆аннꙋа́рїа + + + feb + февр. + феврꙋа́рїа + + + mar + ма́рта + ма́рта + + + apr + а҆пр. + а҆прі́лїа + + + may + ма́їа + ма́їа + + + jun + і҆ꙋ́нїа + і҆ꙋ́нїа + + + jul + і҆ꙋ́лїа + і҆ꙋ́лїа + + + aug + а҆́ѵг. + а҆́ѵгꙋста + + + sep + септ. + септе́мврїа + + + oct + ѻ҆кт. + ѻ҆ктѡ́врїа + + + nov + ное́м. + ное́мврїа + + + dec + дек. + деке́мврїа + + + + + bc + п. Р.Х. + пред̾ ржⷭ҇тво́мъ хрⷭ҇то́вымъ + + + ad + ѿ Р.Х. + ѿ ржⷭ҇тва̀ хрⷭ҇то́ва + + + + sun + + 1 + + + + + RUB + рꙋб. + RUB + рꙋ́бль рѡссі́йскїй + 2 + + + RUR + р. + RUR + рꙋ́бль рѡссі́йскїй (҂ацч҃а-҂ацч҃и) + 2 + + + + + + вѣ́рнѡ + ло́жнѡ + пе́рваѧ че́тверть + втора́ѧ че́тверть + тре́тїѧ че́тверть + четве́ртаѧ че́тверть + вы́ше + ни́же + чт. а҃ + чт. в҃ + чт. г҃ + чт. д҃ + + + + + diff --git a/i18npool/source/localedata/localedata.cxx b/i18npool/source/localedata/localedata.cxx index ecef8a34ca92..7fe719c1c4ef 100644 --- a/i18npool/source/localedata/localedata.cxx +++ b/i18npool/source/localedata/localedata.cxx @@ -299,7 +299,8 @@ static const struct { { "bm_ML", lcl_DATA_OTHERS }, { "pui_CO", lcl_DATA_OTHERS }, { "lgr_SB", lcl_DATA_OTHERS }, - { "mos_BF", lcl_DATA_OTHERS } + { "mos_BF", lcl_DATA_OTHERS }, + { "cu_RU", lcl_DATA_OTHERS } }; #else diff --git a/include/i18nlangtag/lang.h b/include/i18nlangtag/lang.h index 8bd857224183..21318f8ff9da 100644 --- a/include/i18nlangtag/lang.h +++ b/include/i18nlangtag/lang.h @@ -702,6 +702,7 @@ typedef unsigned short LanguageType; #define LANGUAGE_USER_FRENCH_NIGER 0x880C /* makeLangID( 0x22, getPrimaryLanguage( LANGUAGE_FRENCH)) */ #define LANGUAGE_USER_FRENCH_TOGO 0x8C0C /* makeLangID( 0x23, getPrimaryLanguage( LANGUAGE_FRENCH)) */ #define LANGUAGE_USER_KVEN_FINNISH 0x0693 +#define LANGUAGE_USER_CHURCH_SLAVIC 0x0694 /* Primary language ID range for on-the-fly assignment. */ diff --git a/svtools/source/misc/langtab.src b/svtools/source/misc/langtab.src index f3a4ae9eb014..771c38656403 100644 --- a/svtools/source/misc/langtab.src +++ b/svtools/source/misc/langtab.src @@ -76,6 +76,7 @@ StringArray STR_ARR_SVT_LANGUAGE_TABLE < "Chinese (Hong Kong)" ; LANGUAGE_CHINESE_HONGKONG ; > ; < "Chinese (Singapore)" ; LANGUAGE_CHINESE_SINGAPORE ; > ; < "Chinese (Macau)" ; LANGUAGE_CHINESE_MACAU ; > ; + < "Church Slavic" ; LANGUAGE_USER_CHURCH_SLAVIC ; > ; < "Croatian" ; LANGUAGE_CROATIAN ; > ; < "Czech" ; LANGUAGE_CZECH ; > ; < "Danish" ; LANGUAGE_DANISH ; > ;