Many languages use small gap as thousands separator.
Thousands separator should not be a plain space, but a narrow space.
And additionally, it is not allowed to wrap line in the middle of the
number.
Locale data were created in a deep age of 8-bit encodings, so most of
them use space (incorrect: it allows wrapping the line in the middle
of the number), or NBSP (better, but typographically incorrect: space
between groups is too wide).
Now UNICODE is widely supported, so we should leave legacy characters
in favor of correct UNICODE character.
UNICODE has a dedicated character for this purpose:
NNBSP
U+202F NARROW NO-BREAK SPACE: a narrow form of a no-break space,
typically the width of a thin space or a mid space
The NNBSP exists since Unicode 3.0.
Use of NNBSP will prevent line wrapping in the midle of number and
improve readability of numbers.
[BZ #20756]
* locales/aa_DJ (LC_MONETARY): Replace space by NNBSP as thousands separator.
* locales/az_AZ (LC_MONETARY): Likewise.
* locales/be_BY (LC_MONETARY): Likewise.
* locales/be_BY@latin (LC_MONETARY): Likewise.
* locales/bg_BG (LC_MONETARY): Likewise.
* locales/bs_BA (LC_MONETARY): Likewise.
* locales/ce_RU (LC_MONETARY): Likewise.
* locales/crh_UA (LC_MONETARY): Likewise.
* locales/cs_CZ (LC_MONETARY): Likewise.
* locales/cs_CZ (LC_NUMERIC): Likewise.
* locales/cv_RU (LC_MONETARY): Likewise.
* locales/de_AT (LC_MONETARY): Likewise.
* locales/eo (LC_MONETARY): Likewise.
* locales/es_CR (LC_MONETARY): Likewise.
* locales/es_CR (LC_NUMERIC): Likewise.
* locales/es_CU (LC_MONETARY): Likewise.
* locales/et_EE (LC_MONETARY): Likewise.
* locales/et_EE (LC_NUMERIC): Likewise.
* locales/fi_FI (LC_MONETARY): Likewise.
* locales/fi_FI (LC_NUMERIC): Likewise.
* locales/fr_CA (LC_MONETARY): Likewise.
* locales/fr_FR (LC_MONETARY): Likewise.
* locales/fr_FR (LC_NUMERIC): Likewise.
* locales/fr_LU (LC_MONETARY): Likewise.
* locales/fr_LU (LC_NUMERIC): Likewise.
* locales/hr_HR (LC_MONETARY): Likewise.
* locales/ht_HT (LC_NUMERIC): Likewise.
* locales/kk_KZ (LC_MONETARY): Likewise.
* locales/kk_KZ (LC_NUMERIC): Likewise.
* locales/ky_KG (LC_MONETARY): Likewise.
* locales/ky_KG (LC_NUMERIC): Likewise.
* locales/lv_LV (LC_MONETARY): Likewise.
* locales/lv_LV (LC_NUMERIC): Likewise.
* locales/mg_MG (LC_MONETARY): Likewise.
* locales/mhr_RU (LC_MONETARY): Likewise.
* locales/mk_MK (LC_MONETARY): Likewise.
* locales/mk_MK (LC_NUMERIC): Likewise.
* locales/mn_MN (LC_MONETARY): Likewise.
* locales/nb_NO (LC_MONETARY): Likewise.
* locales/nb_NO (LC_NUMERIC): Likewise.
* locales/nl_AW (LC_MONETARY): Likewise.
* locales/nl_NL (LC_MONETARY): Likewise.
* locales/nn_NO (LC_MONETARY): Likewise.
* locales/os_RU (LC_MONETARY): Likewise.
* locales/pap_AW (LC_MONETARY): Likewise.
* locales/pap_CW (LC_MONETARY): Likewise.
* locales/ru_RU (LC_MONETARY): Likewise.
* locales/ru_RU (LC_NUMERIC): Likewise.
* locales/ru_UA (LC_MONETARY): Likewise.
* locales/sk_SK (LC_MONETARY): Likewise.
* locales/sk_SK (LC_NUMERIC): Likewise.
* locales/sl_SI (LC_MONETARY): Likewise.
* locales/sl_SI (LC_NUMERIC): Likewise.
* locales/sq_MK (LC_MONETARY): Likewise.
* locales/sv_SE (LC_MONETARY): Likewise.
* locales/sv_SE (LC_NUMERIC): Likewise.
* locales/tg_TJ (LC_MONETARY): Likewise.
* locales/tt_RU (LC_MONETARY): Likewise.
* locales/tt_RU@iqtelif (LC_MONETARY): Likewise.
* locales/uk_UA (LC_MONETARY): Likewise.
* locales/uk_UA (LC_NUMERIC): Likewise.
* locales/unm_US (LC_MONETARY): Likewise.
* locales/unm_US (LC_NUMERIC): Likewise.
* locales/wo_SN (LC_MONETARY): Likewise.
The ISO 30112 standard defines the valid values for the category
keyword as only a few options:
posix:1993
i18n:2004
i18n:2012
The vast majority of locales had changed the "i18n" string to the
name of its own locale (e.g. "ak_GH:2013") as well as tweaking the
date (presumably thinking it should be the date of submission).
Convert all of them to "i18n:2012" for consistency. A follow up
change will update localedef to actually check/validate the field.
This updates a bunch of locales based on CLDR v29 data:
bg_BG: changing Bulgaria to България
bo_CN: changing ཀྲུང་ཧྭ་མི་དམངས་སྤྱི་མཐུན་རྒྱལ་ཁབ། to རྒྱ་ནག
bo_IN: changing རྒྱ་གར to རྒྱ་གར་
cy_GB: changing Cymru to Y Deyrnas Unedig
dz_BT: changing འབྲུག། to འབྲུག
en_US: changing USA to United States
es_US: changing USA to Estados Unidos
gd_GB: changing Breatainn Mhòr to An Rìoghachd Aonaichte
ha_NG: changing Nigeria to Najeriya
mk_MK: changing Macedonia to Македонија
mn_MN: changing Mongolia to Монгол
sq_MK: changing Macedonia to Maqedoni
sr_RS@latin: changing Srbija i Crna Gora to Srbija
tr_CY: changing Northern Cyprus to Kıbrıs
tr_TR: changing Turkey to Türkiye
ug_CN: changing 中华人民共和国 to جۇڭگو
uz_UZ: changing O'zbekistan to Oʻzbekiston
vi_VN: changing Việt nam to Việt Nam
wae_CH: changing Switzerland to Schwiz
yi_US: changing די פֿאראײניקטע שטאַטן to פֿאַראייניגטע שטאַטן
yo_NG: changing Nigeria to Orílẹ́ède Nàìjíríà
yue_HK: changing 香港 to 中華人民共和國香港特別行政區
zu_ZA: changing Mzansi Afrika to i-South Africa
These all look largely straightforward. Many had English translations
instead of native, and a few have been updated. I can't verify some of
them as I'm not personally familiar, but the CLDR data matches.
The USA->United States seems a little odd, but that is also what the
CLDR database uses everywhere (rather than "United States of America").
We can also fill in a country name where there wasn't one before.
Many look correct to me (mostly the English ones), but there's also
many that I have no idea. But it can't be worse than leaving it
blank ? :)
ar_AE: changing to الإمارات العربية المتحدة
ar_BH: changing to البحرين
ar_DZ: changing to الجزائر
ar_EG: changing to مصر
ar_IN: changing to الهند
ar_IQ: changing to العراق
ar_JO: changing to الأردن
ar_KW: changing to الكويت
ar_LB: changing to لبنان
ar_LY: changing to ليبيا
ar_MA: changing to المغرب
ar_OM: changing to عُمان
ar_QA: changing to قطر
ar_SA: changing to المملكة العربية السعودية
ar_SD: changing to السودان
ar_SS: changing to جنوب السودان
ar_SY: changing to سوريا
ar_TN: changing to تونس
ar_YE: changing to اليمن
as_IN: changing to ভাৰত
ast_ES: changing to España
az_AZ: changing to Azərbaycan
be_BY: changing to Беларусь
bn_IN: changing to ভারত
br_FR: changing to Frañs
brx_IN: changing to भारत
bs_BA: changing to Bosna i Hercegovina
ca_AD: changing to Andorra
ca_ES: changing to Espanya
ca_FR: changing to França
ca_IT: changing to Itàlia
ce_RU: changing to Росси
da_DK: changing to Danmark
de_AT: changing to Österreich
de_BE: changing to Belgien
de_CH: changing to Schweiz
de_LU: changing to Luxemburg
el_CY: changing to Κύπρος
el_GR: changing to Ελλάδα
en_AG: changing to Antigua & Barbuda
en_AU: changing to Australia
en_BW: changing to Botswana
en_CA: changing to Canada
en_DK: changing to Denmark
en_GB: changing to United Kingdom
en_HK: changing to Hong Kong SAR China
en_IE: changing to Ireland
en_IN: changing to India
en_NZ: changing to New Zealand
en_PH: changing to Philippines
en_SG: changing to Singapore
en_ZW: changing to Zimbabwe
es_AR: changing to Argentina
es_BO: changing to Bolivia
es_CL: changing to Chile
es_CO: changing to Colombia
es_CU: changing to Cuba
es_DO: changing to República Dominicana
es_EC: changing to Ecuador
es_ES: changing to España
es_GT: changing to Guatemala
es_HN: changing to Honduras
es_MX: changing to México
es_NI: changing to Nicaragua
es_PA: changing to Panamá
es_PE: changing to Perú
es_PR: changing to Puerto Rico
es_PY: changing to Paraguay
es_SV: changing to El Salvador
es_UY: changing to Uruguay
es_VE: changing to Venezuela
eu_ES: changing to Espainia
fil_PH: changing to Pilipinas
fo_FO: changing to Føroyar
fr_BE: changing to Belgique
fr_CA: changing to Canada
fr_CH: changing to Suisse
fr_FR: changing to France
fr_LU: changing to Luxembourg
fur_IT: changing to Italie
fy_DE: changing to Dútslân
fy_NL: changing to Nederlân
ga_IE: changing to Éire
gl_ES: changing to España
gu_IN: changing to ભારત
gv_GB: changing to Rywvaneth Unys
he_IL: changing to ישראל
hi_IN: changing to भारत
hr_HR: changing to Hrvatska
hu_HU: changing to Magyarország
id_ID: changing to Indonesia
is_IS: changing to Ísland
it_CH: changing to Svizzera
it_IT: changing to Italia
ja_JP: changing to 日本
ka_GE: changing to საქართველო
kk_KZ: changing to Қазақстан
kl_GL: changing to Kalaallit Nunaat
kn_IN: changing to ಭಾರತ
kok_IN: changing to भारत
ko_KR: changing to 대한민국
ks_IN: changing to ہِنٛدوستان
ks_IN@devanagari: changing to भारत
kw_GB: changing to Rywvaneth Unys
ky_KG: changing to Кыргызстан
lt_LT: changing to Lietuva
lv_LV: changing to Latvija
mg_MG: changing to Madagasikara
ml_IN: changing to ഇന്ത്യ
mr_IN: changing to भारत
ms_MY: changing to Malaysia
mt_MT: changing to Malta
nb_NO: changing to Norge
ne_NP: changing to नेपाल
nl_AW: changing to Aruba
nl_BE: changing to België
nl_NL: changing to Nederland
nn_NO: changing to Noreg
or_IN: changing to ଭାରତ
os_RU: changing to Уӕрӕсе
pa_IN: changing to ਭਾਰਤ
pa_PK: changing to ਪਾਕਿਸਤਾਨ
pl_PL: changing to Polska
pt_BR: changing to Brasil
pt_PT: changing to Portugal
ru_RU: changing to Россия
ru_UA: changing to Украина
sd_IN@devanagari: changing to भारत
se_NO: changing to Norga
si_LK: changing to ශ්රී ලංකාව
sk_SK: changing to Slovensko
sl_SI: changing to Slovenija
sq_AL: changing to Shqipëri
sv_SE: changing to Sverige
ta_IN: changing to இந்தியா
ta_LK: changing to இலங்கை
ur_IN: changing to بھارت
ur_PK: changing to پاکستان
There are only two measurement systems that locales use: US and metric.
For the former, move to copying the en_US locale, while for the latter,
move to copying the i18n locale. This lets us clean up all the stray
comments like FIXME.
There should be no functional differences here.