i18nlangtag/source/isolang/isolang.cxx | 1 i18npool/Library_localedata_es.mk | 1 i18npool/source/localedata/data/ext_ES.xml | 379 +++++++++++++++++++++++++++++ i18npool/source/localedata/localedata.cxx | 1 include/i18nlangtag/lang.h | 1 5 files changed, 383 insertions(+)
New commits: commit d7a749e3a6c7846c61a7bc17b1b852e0787fd18b Author: Eike Rathke <[email protected]> AuthorDate: Mon Nov 3 15:46:14 2025 +0100 Commit: Xisco Fauli <[email protected]> CommitDate: Tue Nov 4 09:35:52 2025 +0100 tdf#168665: Add Extremaduran (Spain) {ext-ES} [0x06B6] locale data Co-authored-by: Xisco Fauli <[email protected]> Language list entry will follow in a separate commit to not taint the translations when backporting. Change-Id: Iedf3a6d27083592fecdfb3523ccdb522da784d10 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/192801 Tested-by: Jenkins Reviewed-by: Eike Rathke <[email protected]> (cherry picked from commit 38a6aa74b6a917bbc4e511cae8bffbcba28c9fac) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/193373 Reviewed-by: Xisco Fauli <[email protected]> diff --git a/i18nlangtag/source/isolang/isolang.cxx b/i18nlangtag/source/isolang/isolang.cxx index 629a85b48ace..3c61b435b394 100644 --- a/i18nlangtag/source/isolang/isolang.cxx +++ b/i18nlangtag/source/isolang/isolang.cxx @@ -686,6 +686,7 @@ IsoLanguageCountryEntry const aImplIsoLangEntries[] = { LANGUAGE_USER_ABKHAZ, "ab", "" , k0 }, { LANGUAGE_USER_ENGLISH_GUYANA, "en", "GY", k0 }, { LANGUAGE_USER_GRONINGS, "gos", "NL", k0 }, + { LANGUAGE_USER_EXTREMADURAN, "ext", "ES", k0 }, // Add new languages ^^^ there. { LANGUAGE_MULTIPLE, "mul", "" , k0 }, // multiple languages, many languages are used { LANGUAGE_UNDETERMINED, "und", "" , k0 }, // undetermined language, language cannot be identified diff --git a/i18npool/Library_localedata_es.mk b/i18npool/Library_localedata_es.mk index 136368fa16da..1b4765b103bc 100644 --- a/i18npool/Library_localedata_es.mk +++ b/i18npool/Library_localedata_es.mk @@ -36,6 +36,7 @@ $(eval $(call gb_Library_add_generated_exception_objects,localedata_es,\ CustomTarget/i18npool/localedata/localedata_es_SV \ CustomTarget/i18npool/localedata/localedata_es_UY \ CustomTarget/i18npool/localedata/localedata_es_VE \ + CustomTarget/i18npool/localedata/localedata_ext_ES \ CustomTarget/i18npool/localedata/localedata_gl_ES \ CustomTarget/i18npool/localedata/localedata_oc_ES_aranes \ )) diff --git a/i18npool/source/localedata/data/ext_ES.xml b/i18npool/source/localedata/data/ext_ES.xml new file mode 100644 index 000000000000..b9cfa2e0d3bb --- /dev/null +++ b/i18npool/source/localedata/data/ext_ES.xml @@ -0,0 +1,379 @@ +<?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>ext</LangID> + <DefaultName>Extremaduran</DefaultName> + </Language> + <Country> + <CountryID>ES</CountryID> + <DefaultName>Spain</DefaultName> + </Country> + </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>a. m.</TimeAM> + <TimePM>p. m.</TimePM> + <MeasurementSystem>metric</MeasurementSystem> + </LC_CTYPE> + <LC_FORMAT replaceFrom="[CURRENCY]" replaceTo="[$€-6B6]"> + <DateAcceptancePattern>D/M</DateAcceptancePattern> + <FormatElement msgid="FixedFormatskey1" default="true" type="medium" usage="FIXED_NUMBER" formatindex="0"> + <FormatCode>Estandar</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="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="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> + <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 (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 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="en_US" /> + <LC_SEARCH ref="en_US"/> + <LC_INDEX> + <IndexKey phonetic="false" default="true" unoid="alphanumeric">A-N Ñ O Ó P-Z</IndexKey> + <UnicodeScript>0</UnicodeScript> + <UnicodeScript>1</UnicodeScript> + <FollowPageWord> s.</FollowPageWord> + <FollowPageWord> ss.</FollowPageWord> + </LC_INDEX> + <LC_CALENDAR> + <Calendar unoid="gregorian" default="true"> + <DaysOfWeek> + <Day> + <DayID>sun</DayID> + <DefaultAbbrvName>dom</DefaultAbbrvName> + <DefaultFullName>domingo</DefaultFullName> + </Day> + <Day> + <DayID>mon</DayID> + <DefaultAbbrvName>lun</DefaultAbbrvName> + <DefaultFullName>lunes</DefaultFullName> + </Day> + <Day> + <DayID>tue</DayID> + <DefaultAbbrvName>mar</DefaultAbbrvName> + <DefaultFullName>martes</DefaultFullName> + </Day> + <Day> + <DayID>wed</DayID> + <DefaultAbbrvName>mié</DefaultAbbrvName> + <DefaultFullName>miércoles</DefaultFullName> + </Day> + <Day> + <DayID>thu</DayID> + <DefaultAbbrvName>jue</DefaultAbbrvName> + <DefaultFullName>jueves</DefaultFullName> + </Day> + <Day> + <DayID>fri</DayID> + <DefaultAbbrvName>vie</DefaultAbbrvName> + <DefaultFullName>viernes</DefaultFullName> + </Day> + <Day> + <DayID>sat</DayID> + <DefaultAbbrvName>sáb</DefaultAbbrvName> + <DefaultFullName>sábado</DefaultFullName> + </Day> + </DaysOfWeek> + <MonthsOfYear> + <Month> + <MonthID>jan</MonthID> + <DefaultAbbrvName>ene</DefaultAbbrvName> + <DefaultFullName>enero</DefaultFullName> + </Month> + <Month> + <MonthID>feb</MonthID> + <DefaultAbbrvName>feb</DefaultAbbrvName> + <DefaultFullName>febrero</DefaultFullName> + </Month> + <Month> + <MonthID>mar</MonthID> + <DefaultAbbrvName>mar</DefaultAbbrvName> + <DefaultFullName>marzo</DefaultFullName> + </Month> + <Month> + <MonthID>apr</MonthID> + <DefaultAbbrvName>abr</DefaultAbbrvName> + <DefaultFullName>abril</DefaultFullName> + </Month> + <Month> + <MonthID>may</MonthID> + <DefaultAbbrvName>may</DefaultAbbrvName> + <DefaultFullName>mayo</DefaultFullName> + </Month> + <Month> + <MonthID>jun</MonthID> + <DefaultAbbrvName>jun</DefaultAbbrvName> + <DefaultFullName>junio</DefaultFullName> + </Month> + <Month> + <MonthID>jul</MonthID> + <DefaultAbbrvName>jul</DefaultAbbrvName> + <DefaultFullName>julio</DefaultFullName> + </Month> + <Month> + <MonthID>aug</MonthID> + <DefaultAbbrvName>ago</DefaultAbbrvName> + <DefaultFullName>agosto</DefaultFullName> + </Month> + <Month> + <MonthID>sep</MonthID> + <DefaultAbbrvName>sep</DefaultAbbrvName> + <DefaultFullName>septiembre</DefaultFullName> + </Month> + <Month> + <MonthID>oct</MonthID> + <DefaultAbbrvName>oct</DefaultAbbrvName> + <DefaultFullName>octubre</DefaultFullName> + </Month> + <Month> + <MonthID>nov</MonthID> + <DefaultAbbrvName>nov</DefaultAbbrvName> + <DefaultFullName>noviembre</DefaultFullName> + </Month> + <Month> + <MonthID>dec</MonthID> + <DefaultAbbrvName>dic</DefaultAbbrvName> + <DefaultFullName>diciembre</DefaultFullName> + </Month> + </MonthsOfYear> + <Eras> + <Era> + <EraID>bc</EraID> + <DefaultAbbrvName>a.C.</DefaultAbbrvName> + <DefaultFullName>a.C.</DefaultFullName> + </Era> + <Era> + <EraID>ad</EraID> + <DefaultAbbrvName>d.C.</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> + </LC_CURRENCY> + <LC_TRANSLITERATION ref="es_ES"/> + <LC_MISC> + <ReservedWords> + <trueWord>verdadero</trueWord> + <falseWord>falso</falseWord> + <quarter1Word>1er trimestre</quarter1Word> + <quarter2Word>2º trimestre</quarter2Word> + <quarter3Word>3er trimestre</quarter3Word> + <quarter4Word>4º trimestre</quarter4Word> + <aboveWord>arriba</aboveWord> + <belowWord>abajo</belowWord> + <quarter1Abbreviation>T1</quarter1Abbreviation> + <quarter2Abbreviation>T2</quarter2Abbreviation> + <quarter3Abbreviation>T3</quarter3Abbreviation> + <quarter4Abbreviation>T4</quarter4Abbreviation> + </ReservedWords> + </LC_MISC> + <LC_NumberingLevel ref="es_ES"/> + <LC_OutLineNumberingLevel ref="es_ES"/> +</Locale> diff --git a/i18npool/source/localedata/localedata.cxx b/i18npool/source/localedata/localedata.cxx index f4b66802c906..b17dec7c6463 100644 --- a/i18npool/source/localedata/localedata.cxx +++ b/i18npool/source/localedata/localedata.cxx @@ -128,6 +128,7 @@ constexpr struct { { "es_VE", DataLocaleLibrary::ES }, { "gl_ES", DataLocaleLibrary::ES }, { "oc_ES_aranes", DataLocaleLibrary::ES }, + { "ext_ES", DataLocaleLibrary::ES }, { "de_DE", DataLocaleLibrary::EURO }, { "de_AT", DataLocaleLibrary::EURO }, diff --git a/include/i18nlangtag/lang.h b/include/i18nlangtag/lang.h index fdb56ed3a34c..7672cf85582f 100644 --- a/include/i18nlangtag/lang.h +++ b/include/i18nlangtag/lang.h @@ -796,6 +796,7 @@ namespace o3tl #define LANGUAGE_USER_ABKHAZ LanguageType(0x06B4) #define LANGUAGE_USER_ENGLISH_GUYANA LanguageType(0xBC09) /* makeLangID( 0x2F, getPrimaryLanguage( LANGUAGE_ENGLISH_UK)) */ #define LANGUAGE_USER_GRONINGS LanguageType(0x06B5) +#define LANGUAGE_USER_EXTREMADURAN LanguageType(0x06B6) /* XXX Add new user defined LCIDs ^^^ there.
