Update CLDR to v27

+ A bunch of fixes in the locale data
+ New scripts from Unicode 7.0
+ New locales
- Some locales disappeared (aa_DJ, aa_ER, st_LS, ss_SZ, swc_CD, tn_BW)
- Some locales lost their contents (i.e. en_Dsrt_US)

[ChangeLog][QtCore] QLocale data updated to CLDR v.27

Change-Id: Iba8c7884f8087e577cbb25a8fc106dd7bd3ebb5d
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
This commit is contained in:
Konstantin Ritt 2015-03-23 14:00:07 +04:00
parent 7946b83ace
commit d8a0b97f60
7 changed files with 5077 additions and 4582 deletions

View File

@ -2376,15 +2376,21 @@ Qt::LayoutDirection QLocale::textDirection() const
case QLocale::KharoshthiScript:
case QLocale::LydianScript:
case QLocale::MandaeanScript:
case QLocale::ManichaeanScript:
case QLocale::MendeKikakuiScript:
case QLocale::MeroiticCursiveScript:
case QLocale::MeroiticScript:
case QLocale::NabataeanScript:
case QLocale::NkoScript:
case QLocale::OldNorthArabianScript:
case QLocale::OldSouthArabianScript:
case QLocale::OrkhonScript:
case QLocale::PalmyreneScript:
case QLocale::PhoenicianScript:
case QLocale::PsalterPahlaviScript:
case QLocale::SamaritanScript:
case QLocale::SyriacScript:
case QLocale::ThaanaScript:
case QLocale::NkoScript:
case QLocale::OldSouthArabianScript:
case QLocale::OrkhonScript:
case QLocale::PhoenicianScript:
return Qt::RightToLeft;
default:
break;

View File

@ -382,6 +382,31 @@ public:
Akoose = 312,
Lakota = 313,
StandardMoroccanTamazight = 314,
Mapuche = 315,
CentralKurdish = 316,
LowerSorbian = 317,
UpperSorbian = 318,
Kenyang = 319,
Mohawk = 320,
Nko = 321,
Prussian = 322,
Kiche = 323,
SouthernSami = 324,
LuleSami = 325,
InariSami = 326,
SkoltSami = 327,
Warlpiri = 328,
ManichaeanMiddlePersian = 329,
Mende = 330,
AncientNorthArabian = 331,
LinearA = 332,
HmongNjua = 333,
Ho = 334,
Lezghian = 335,
Bassa = 336,
Mono = 337,
TedimChin = 338,
Maithili = 339,
Norwegian = NorwegianBokmal,
Moldavian = Romanian,
SerboCroatian = Serbian,
@ -396,7 +421,7 @@ public:
Chewa = Nyanja,
Frisian = WesternFrisian,
Uigur = Uighur,
LastLanguage = StandardMoroccanTamazight
LastLanguage = Maithili
};
enum Script {
@ -505,9 +530,32 @@ public:
UgariticScript = 102,
BrailleScript = 103,
HiraganaScript = 104,
CaucasianAlbanianScript = 105,
BassaVahScript = 106,
DuployanScript = 107,
ElbasanScript = 108,
GranthaScript = 109,
PahawhHmongScript = 110,
KhojkiScript = 111,
LinearAScript = 112,
MahajaniScript = 113,
ManichaeanScript = 114,
MendeKikakuiScript = 115,
ModiScript = 116,
MroScript = 117,
OldNorthArabianScript = 118,
NabataeanScript = 119,
PalmyreneScript = 120,
PauCinHauScript = 121,
OldPermicScript = 122,
PsalterPahlaviScript = 123,
SiddhamScript = 124,
KhudawadiScript = 125,
TirhutaScript = 126,
VarangKshitiScript = 127,
SimplifiedChineseScript = SimplifiedHanScript,
TraditionalChineseScript = TraditionalHanScript,
LastScript = HiraganaScript
LastScript = VarangKshitiScript
};
enum Country {
AnyCountry = 0,

View File

@ -92,7 +92,7 @@
\note For the current keyboard input locale take a look at
QInputMethod::locale().
QLocale's data is based on Common Locale Data Repository v24.
QLocale's data is based on Common Locale Data Repository v27.
The double-to-string and string-to-double conversion functions are
covered by the following licenses:
@ -456,6 +456,33 @@
\value TaiDam
\value TaiNua
\value Ugaritic
\value Mapuche Since Qt 5.5
\value CentralKurdish Since Qt 5.5
\value LowerSorbian Since Qt 5.5
\value UpperSorbian Since Qt 5.5
\value Kenyang Since Qt 5.5
\value Mohawk Since Qt 5.5
\value Nko Since Qt 5.5
\value Prussian Since Qt 5.5
\value Kiche Since Qt 5.5
\value SouthernSami Since Qt 5.5
\value LuleSami Since Qt 5.5
\value InariSami Since Qt 5.5
\value SkoltSami Since Qt 5.5
\value Warlpiri Since Qt 5.5
\value ManichaeanMiddlePersian Since Qt 5.5
\value Mende Since Qt 5.5
\value AncientNorthArabian Since Qt 5.5
\value LinearA Since Qt 5.5
\value HmongNjua Since Qt 5.5
\value Ho Since Qt 5.5
\value Lezghian Since Qt 5.5
\value Bassa Since Qt 5.5
\value Mono Since Qt 5.5
\value TedimChin Since Qt 5.5
\value Maithili Since Qt 5.5
\value LowerSorbian Since Qt 5.5
\value UpperSorbian Since Qt 5.5
\omitvalue LastLanguage
\sa language(), languageToString()
@ -746,6 +773,7 @@
\value AvestanScript
\value BalineseScript
\value BamumScript
\value BassaVahScript Since Qt 5.5
\value BatakScript
\value BengaliScript
\value BopomofoScript
@ -755,6 +783,7 @@
\value BuhidScript
\value CanadianAboriginalScript
\value CarianScript
\value CaucasianAlbanianScript Since Qt 5.5
\value ChakmaScript
\value ChamScript
\value CherokeeScript
@ -763,12 +792,15 @@
\value CyrillicScript
\value DeseretScript
\value DevanagariScript
\value DuployanScript Since Qt 5.5
\value EgyptianHieroglyphsScript
\value ElbasanScript Since Qt 5.5
\value EthiopicScript
\value FraserScript
\value GeorgianScript
\value GlagoliticScript
\value GothicScript
\value GranthaScript Since Qt 5.5
\value GreekScript
\value GujaratiScript
\value GurmukhiScript
@ -788,41 +820,57 @@
\value KayahLiScript
\value KharoshthiScript
\value KhmerScript
\value KhojkiScript Since Qt 5.5
\value KhudawadiScript Since Qt 5.5
\value KoreanScript
\value LannaScript
\value LaoScript
\value LatinScript
\value LepchaScript
\value LimbuScript
\value LinearAScript Since Qt 5.5
\value LinearBScript
\value LycianScript
\value LydianScript
\value MahajaniScript Since Qt 5.5
\value MalayalamScript
\value MandaeanScript
\value ManichaeanScript Since Qt 5.5
\value MeiteiMayekScript
\value MendeKikakuiScript Since Qt 5.5
\value MeroiticScript
\value MeroiticCursiveScript
\value ModiScript Since Qt 5.5
\value MongolianScript
\value MroScript Since Qt 5.5
\value MyanmarScript
\value NabataeanScript Since Qt 5.5
\value NkoScript
\value NewTaiLueScript
\value OghamScript
\value OlChikiScript
\value OldItalicScript
\value OldNorthArabianScript Since Qt 5.5
\value OldPermicScript Since Qt 5.5
\value OldPersianScript
\value OldSouthArabianScript
\value OriyaScript
\value OrkhonScript
\value OsmanyaScript
\value PahawhHmongScript Since Qt 5.5
\value PalmyreneScript Since Qt 5.5
\value PauCinHauScript Since Qt 5.5
\value PhagsPaScript
\value PhoenicianScript
\value PollardPhoneticScript
\value PsalterPahlaviScript Since Qt 5.5
\value RejangScript
\value RunicScript
\value SamaritanScript
\value SaurashtraScript
\value SharadaScript
\value ShavianScript
\value SiddhamScript Since Qt 5.5
\value SimplifiedHanScript same as SimplifiedChineseScript
\value SimplifiedChineseScript same as SimplifiedHanScript
\value SinhalaScript
@ -842,10 +890,12 @@
\value ThaiScript
\value TibetanScript
\value TifinaghScript
\value TirhutaScript Since Qt 5.5
\value TraditionalHanScript same as TraditionalChineseScript
\value TraditionalChineseScript same as TraditionalHanScript
\value UgariticScript
\value VaiScript
\value VarangKshitiScript Since Qt 5.5
\value YiScript
\omitvalue LastScript

File diff suppressed because it is too large Load Diff

View File

@ -1889,8 +1889,8 @@ void tst_QLocale::ampm()
QCOMPARE(sv.pmText(), QLatin1String("em"));
QLocale nn("nl_NL");
QCOMPARE(nn.amText(), QLatin1String("AM"));
QCOMPARE(nn.pmText(), QLatin1String("PM"));
QCOMPARE(nn.amText(), QLatin1String("a.m."));
QCOMPARE(nn.pmText(), QLatin1String("p.m."));
QLocale ua("uk_UA");
QCOMPARE(ua.amText(), QString::fromUtf8("\320\264\320\277"));
@ -1916,12 +1916,12 @@ void tst_QLocale::dateFormat()
QCOMPARE(c.dateFormat(QLocale::NarrowFormat), c.dateFormat(QLocale::ShortFormat));
const QLocale no("no_NO");
QCOMPARE(no.dateFormat(QLocale::NarrowFormat), QLatin1String("dd.MM.yy"));
QCOMPARE(no.dateFormat(QLocale::ShortFormat), QLatin1String("dd.MM.yy"));
QCOMPARE(no.dateFormat(QLocale::NarrowFormat), QLatin1String("dd.MM.yyyy"));
QCOMPARE(no.dateFormat(QLocale::ShortFormat), QLatin1String("dd.MM.yyyy"));
QCOMPARE(no.dateFormat(QLocale::LongFormat), QLatin1String("dddd d. MMMM yyyy"));
const QLocale ca("en_CA");
QCOMPARE(ca.dateFormat(QLocale::ShortFormat), QLatin1String("M/d/yy"));
QCOMPARE(ca.dateFormat(QLocale::ShortFormat), QLatin1String("yyyy-MM-dd"));
QCOMPARE(ca.dateFormat(QLocale::LongFormat), QLatin1String("dddd, MMMM d, yyyy"));
const QLocale ja("ja_JP");
@ -1947,8 +1947,8 @@ void tst_QLocale::timeFormat()
QCOMPARE(id.timeFormat(QLocale::LongFormat), QLatin1String("HH.mm.ss t"));
const QLocale cat("ca_ES");
QCOMPARE(cat.timeFormat(QLocale::ShortFormat), QLatin1String("H.mm"));
QCOMPARE(cat.timeFormat(QLocale::LongFormat), QLatin1String("H.mm.ss t"));
QCOMPARE(cat.timeFormat(QLocale::ShortFormat), QLatin1String("H:mm"));
QCOMPARE(cat.timeFormat(QLocale::LongFormat), QLatin1String("H:mm:ss t"));
const QLocale bra("pt_BR");
QCOMPARE(bra.timeFormat(QLocale::ShortFormat), QLatin1String("HH:mm"));
@ -1962,8 +1962,8 @@ void tst_QLocale::dateTimeFormat()
QCOMPARE(c.dateTimeFormat(QLocale::NarrowFormat), c.dateTimeFormat(QLocale::ShortFormat));
const QLocale no("no_NO");
QCOMPARE(no.dateTimeFormat(QLocale::NarrowFormat), QLatin1String("dd.MM.yy HH.mm"));
QCOMPARE(no.dateTimeFormat(QLocale::ShortFormat), QLatin1String("dd.MM.yy HH.mm"));
QCOMPARE(no.dateTimeFormat(QLocale::NarrowFormat), QLatin1String("dd.MM.yyyy HH.mm"));
QCOMPARE(no.dateTimeFormat(QLocale::ShortFormat), QLatin1String("dd.MM.yyyy HH.mm"));
QCOMPARE(no.dateTimeFormat(QLocale::LongFormat), QLatin1String("dddd d. MMMM yyyy HH.mm.ss t"));
}
@ -1992,10 +1992,6 @@ void tst_QLocale::monthName()
QCOMPARE(ru.monthName(1, QLocale::ShortFormat), QString::fromUtf8("\321\217\320\275\320\262\56"));
QCOMPARE(ru.monthName(1, QLocale::NarrowFormat), QString::fromUtf8("\320\257"));
// check that our CLDR scripts handle surrogate pairs correctly
QLocale dsrt("en-Dsrt-US");
QCOMPARE(dsrt.monthName(1, QLocale::LongFormat), QString::fromUtf8("\xf0\x90\x90\x96\xf0\x90\x90\xb0\xf0\x90\x91\x8c\xf0\x90\x90\xb7\xf0\x90\x90\xad\xf0\x90\x90\xaf\xf0\x90\x91\x89\xf0\x90\x90\xa8"));
QLocale ir("ga_IE");
QCOMPARE(ir.monthName(1, QLocale::ShortFormat), QLatin1String("Ean"));
QCOMPARE(ir.monthName(12, QLocale::ShortFormat), QLatin1String("Noll"));
@ -2027,9 +2023,9 @@ void tst_QLocale::standaloneMonthName()
QCOMPARE(de.standaloneMonthName(12, QLocale::NarrowFormat), QLatin1String("D"));
QLocale ru("ru_RU");
QCOMPARE(ru.standaloneMonthName(1, QLocale::LongFormat), QString::fromUtf8("\320\257\320\275\320\262\320\260\321\200\321\214"));
QCOMPARE(ru.standaloneMonthName(1, QLocale::ShortFormat), QString::fromUtf8("\320\257\320\275\320\262\56"));
QCOMPARE(ru.standaloneMonthName(1, QLocale::NarrowFormat), QString::fromUtf8("\320\257"));
QCOMPARE(ru.standaloneMonthName(1, QLocale::LongFormat), QString::fromUtf8("\xd1\x8f\xd0\xbd\xd0\xb2\xd0\xb0\xd1\x80\xd1\x8c"));
QCOMPARE(ru.standaloneMonthName(1, QLocale::ShortFormat), QString::fromUtf8("\xd1\x8f\xd0\xbd\xd0\xb2."));
QCOMPARE(ru.standaloneMonthName(1, QLocale::NarrowFormat), QString::fromUtf8("\xd0\xaf"));
}
void tst_QLocale::currency()
@ -2073,8 +2069,8 @@ void tst_QLocale::quoteString()
QCOMPARE(c.quoteString(someText, QLocale::AlternateQuotation), QString::fromUtf8("\x27" "text" "\x27"));
const QLocale de_CH("de_CH");
QCOMPARE(de_CH.quoteString(someText), QString::fromUtf8("\xc2\xab" "text" "\xc2\xbb"));
QCOMPARE(de_CH.quoteString(someText, QLocale::AlternateQuotation), QString::fromUtf8("\xe2\x80\xb9" "text" "\xe2\x80\xba"));
QCOMPARE(de_CH.quoteString(someText), QString::fromUtf8("\xe2\x80\x9e" "text" "\xe2\x80\x9c"));
QCOMPARE(de_CH.quoteString(someText, QLocale::AlternateQuotation), QString::fromUtf8("\xe2\x80\x9a" "text" "\xe2\x80\x98"));
}
@ -2201,15 +2197,36 @@ void tst_QLocale::textDirection_data()
for (int language = QLocale::C; language <= QLocale::LastLanguage; ++language) {
bool rightToLeft = false;
switch (language) {
// based on likelySubtags for RTL scripts
case QLocale::AncientGreek:
case QLocale::AncientNorthArabian:
case QLocale::Arabic:
case QLocale::Aramaic:
case QLocale::Avestan:
case QLocale::CentralKurdish:
case QLocale::ClassicalMandaic:
case QLocale::Divehi:
case QLocale::Hebrew:
case QLocale::Kashmiri:
case QLocale::Persian:
case QLocale::Lydian:
case QLocale::Mandingo:
case QLocale::ManichaeanMiddlePersian:
case QLocale::Mende:
case QLocale::Meroitic:
case QLocale::Nko:
case QLocale::OldTurkish:
case QLocale::Pahlavi:
case QLocale::Parthian:
case QLocale::Pashto:
case QLocale::Persian:
case QLocale::Phoenician:
case QLocale::PrakritLanguage:
case QLocale::Sabaean:
case QLocale::Samaritan:
case QLocale::Sindhi:
case QLocale::Syriac:
case QLocale::Uighur:
case QLocale::Urdu:
case QLocale::Syriac:
case QLocale::Divehi:
rightToLeft = QLocale(QLocale::Language(language)).language() == QLocale::Language(language); // false if there is no locale data for language
break;
default:

View File

@ -803,42 +803,42 @@ for key in locale_keys:
print " <minus>" + fixOrdStrMinus(l['minus']) + "</minus>"
print " <plus>" + fixOrdStrPlus(l['plus']) + "</plus>"
print " <exp>" + fixOrdStrExp(l['exp']) + "</exp>"
print " <quotationStart>" + l['quotationStart'].encode('utf-8') + "</quotationStart>"
print " <quotationEnd>" + l['quotationEnd'].encode('utf-8') + "</quotationEnd>"
print " <alternateQuotationStart>" + l['alternateQuotationStart'].encode('utf-8') + "</alternateQuotationStart>"
print " <alternateQuotationEnd>" + l['alternateQuotationEnd'].encode('utf-8') + "</alternateQuotationEnd>"
print " <listPatternPartStart>" + l['listPatternPartStart'].encode('utf-8') + "</listPatternPartStart>"
print " <listPatternPartMiddle>" + l['listPatternPartMiddle'].encode('utf-8') + "</listPatternPartMiddle>"
print " <listPatternPartEnd>" + l['listPatternPartEnd'].encode('utf-8') + "</listPatternPartEnd>"
print " <listPatternPartTwo>" + l['listPatternPartTwo'].encode('utf-8') + "</listPatternPartTwo>"
print " <am>" + l['am'].encode('utf-8') + "</am>"
print " <pm>" + l['pm'].encode('utf-8') + "</pm>"
print " <firstDayOfWeek>" + l['firstDayOfWeek'].encode('utf-8') + "</firstDayOfWeek>"
print " <weekendStart>" + l['weekendStart'].encode('utf-8') + "</weekendStart>"
print " <weekendEnd>" + l['weekendEnd'].encode('utf-8') + "</weekendEnd>"
print " <longDateFormat>" + l['longDateFormat'].encode('utf-8') + "</longDateFormat>"
print " <shortDateFormat>" + l['shortDateFormat'].encode('utf-8') + "</shortDateFormat>"
print " <longTimeFormat>" + l['longTimeFormat'].encode('utf-8') + "</longTimeFormat>"
print " <shortTimeFormat>" + l['shortTimeFormat'].encode('utf-8') + "</shortTimeFormat>"
print " <standaloneLongMonths>" + l['standaloneLongMonths'].encode('utf-8') + "</standaloneLongMonths>"
print " <standaloneShortMonths>"+ l['standaloneShortMonths'].encode('utf-8') + "</standaloneShortMonths>"
print " <standaloneNarrowMonths>"+ l['standaloneNarrowMonths'].encode('utf-8') + "</standaloneNarrowMonths>"
print " <longMonths>" + l['longMonths'].encode('utf-8') + "</longMonths>"
print " <shortMonths>" + l['shortMonths'].encode('utf-8') + "</shortMonths>"
print " <narrowMonths>" + l['narrowMonths'].encode('utf-8') + "</narrowMonths>"
print " <longDays>" + l['longDays'].encode('utf-8') + "</longDays>"
print " <shortDays>" + l['shortDays'].encode('utf-8') + "</shortDays>"
print " <narrowDays>" + l['narrowDays'].encode('utf-8') + "</narrowDays>"
print " <standaloneLongDays>" + l['standaloneLongDays'].encode('utf-8') + "</standaloneLongDays>"
print " <standaloneShortDays>" + l['standaloneShortDays'].encode('utf-8') + "</standaloneShortDays>"
print " <standaloneNarrowDays>" + l['standaloneNarrowDays'].encode('utf-8') + "</standaloneNarrowDays>"
print " <currencyIsoCode>" + l['currencyIsoCode'].encode('utf-8') + "</currencyIsoCode>"
print " <currencySymbol>" + l['currencySymbol'].encode('utf-8') + "</currencySymbol>"
print " <currencyDisplayName>" + l['currencyDisplayName'].encode('utf-8') + "</currencyDisplayName>"
print " <quotationStart>" + escape(l['quotationStart']).encode('utf-8') + "</quotationStart>"
print " <quotationEnd>" + escape(l['quotationEnd']).encode('utf-8') + "</quotationEnd>"
print " <alternateQuotationStart>" + escape(l['alternateQuotationStart']).encode('utf-8') + "</alternateQuotationStart>"
print " <alternateQuotationEnd>" + escape(l['alternateQuotationEnd']).encode('utf-8') + "</alternateQuotationEnd>"
print " <listPatternPartStart>" + escape(l['listPatternPartStart']).encode('utf-8') + "</listPatternPartStart>"
print " <listPatternPartMiddle>" + escape(l['listPatternPartMiddle']).encode('utf-8') + "</listPatternPartMiddle>"
print " <listPatternPartEnd>" + escape(l['listPatternPartEnd']).encode('utf-8') + "</listPatternPartEnd>"
print " <listPatternPartTwo>" + escape(l['listPatternPartTwo']).encode('utf-8') + "</listPatternPartTwo>"
print " <am>" + escape(l['am']).encode('utf-8') + "</am>"
print " <pm>" + escape(l['pm']).encode('utf-8') + "</pm>"
print " <firstDayOfWeek>" + escape(l['firstDayOfWeek']).encode('utf-8') + "</firstDayOfWeek>"
print " <weekendStart>" + escape(l['weekendStart']).encode('utf-8') + "</weekendStart>"
print " <weekendEnd>" + escape(l['weekendEnd']).encode('utf-8') + "</weekendEnd>"
print " <longDateFormat>" + escape(l['longDateFormat']).encode('utf-8') + "</longDateFormat>"
print " <shortDateFormat>" + escape(l['shortDateFormat']).encode('utf-8') + "</shortDateFormat>"
print " <longTimeFormat>" + escape(l['longTimeFormat']).encode('utf-8') + "</longTimeFormat>"
print " <shortTimeFormat>" + escape(l['shortTimeFormat']).encode('utf-8') + "</shortTimeFormat>"
print " <standaloneLongMonths>" + escape(l['standaloneLongMonths']).encode('utf-8') + "</standaloneLongMonths>"
print " <standaloneShortMonths>"+ escape(l['standaloneShortMonths']).encode('utf-8') + "</standaloneShortMonths>"
print " <standaloneNarrowMonths>"+ escape(l['standaloneNarrowMonths']).encode('utf-8') + "</standaloneNarrowMonths>"
print " <longMonths>" + escape(l['longMonths']).encode('utf-8') + "</longMonths>"
print " <shortMonths>" + escape(l['shortMonths']).encode('utf-8') + "</shortMonths>"
print " <narrowMonths>" + escape(l['narrowMonths']).encode('utf-8') + "</narrowMonths>"
print " <longDays>" + escape(l['longDays']).encode('utf-8') + "</longDays>"
print " <shortDays>" + escape(l['shortDays']).encode('utf-8') + "</shortDays>"
print " <narrowDays>" + escape(l['narrowDays']).encode('utf-8') + "</narrowDays>"
print " <standaloneLongDays>" + escape(l['standaloneLongDays']).encode('utf-8') + "</standaloneLongDays>"
print " <standaloneShortDays>" + escape(l['standaloneShortDays']).encode('utf-8') + "</standaloneShortDays>"
print " <standaloneNarrowDays>" + escape(l['standaloneNarrowDays']).encode('utf-8') + "</standaloneNarrowDays>"
print " <currencyIsoCode>" + escape(l['currencyIsoCode']).encode('utf-8') + "</currencyIsoCode>"
print " <currencySymbol>" + escape(l['currencySymbol']).encode('utf-8') + "</currencySymbol>"
print " <currencyDisplayName>" + escape(l['currencyDisplayName']).encode('utf-8') + "</currencyDisplayName>"
print " <currencyDigits>" + str(l['currencyDigits']) + "</currencyDigits>"
print " <currencyRounding>" + str(l['currencyRounding']) + "</currencyRounding>"
print " <currencyFormat>" + l['currencyFormat'].encode('utf-8') + "</currencyFormat>"
print " <currencyNegativeFormat>" + l['currencyNegativeFormat'].encode('utf-8') + "</currencyNegativeFormat>"
print " <currencyFormat>" + escape(l['currencyFormat']).encode('utf-8') + "</currencyFormat>"
print " <currencyNegativeFormat>" + escape(l['currencyNegativeFormat']).encode('utf-8') + "</currencyNegativeFormat>"
print " </locale>"
print " </localeList>"
print "</localeDatabase>"

View File

@ -351,7 +351,32 @@ language_list = {
311 : [ "Ugaritic", "uga" ],
312 : [ "Akoose", "bss" ],
313 : [ "Lakota", "lkt" ],
314 : [ "Standard Moroccan Tamazight", "zgh" ]
314 : [ "Standard Moroccan Tamazight", "zgh" ],
315 : [ "Mapuche", "arn" ],
316 : [ "Central Kurdish", "ckb" ],
317 : [ "LowerSorbian", "dsb" ],
318 : [ "UpperSorbian", "hsb" ],
319 : [ "Kenyang", "ken" ],
320 : [ "Mohawk", "moh" ],
321 : [ "Nko", "nqo" ],
322 : [ "Prussian", "prg" ],
323 : [ "Kiche", "quc" ],
324 : [ "Southern Sami", "sma" ],
325 : [ "Lule Sami", "smj" ],
326 : [ "Inari Sami", "smn" ],
327 : [ "Skolt Sami", "sms" ],
328 : [ "Warlpiri", "wbp" ],
329 : [ "Manichaean Middle Persian", "xmn" ],
330 : [ "Mende", "men" ],
331 : [ "Ancient North Arabian", "xna" ],
332 : [ "Linear A", "lab" ],
333 : [ "Hmong Njua", "hnj" ],
334 : [ "Ho", "hoc" ],
335 : [ "Lezghian", "lez" ],
336 : [ "Bassa", "bsq" ],
337 : [ "Mono", "mru" ],
338 : [ "Tedim Chin", "ctd" ],
339 : [ "Maithili", "mai" ]
}
country_list = {
@ -720,13 +745,33 @@ script_list = {
101 : [ "Takri", "Takr" ],
102 : [ "Ugaritic", "Ugar" ],
103 : [ "Braille", "Brai" ],
104 : [ "Hiragana", "Hira" ]
104 : [ "Hiragana", "Hira" ],
105 : [ "Caucasian Albanian", "Aghb" ],
106 : [ "Bassa Vah", "Bass" ],
107 : [ "Duployan", "Dupl" ],
108 : [ "Elbasan", "Elba" ],
109 : [ "Grantha", "Gran" ],
110 : [ "Pahawh Hmong", "Hmng" ],
111 : [ "Khojki", "Khoj" ],
112 : [ "Linear A", "Lina" ],
113 : [ "Mahajani", "Mahj" ],
114 : [ "Manichaean", "Mani" ],
115 : [ "Mende Kikakui", "Mend" ],
116 : [ "Modi", "Modi" ],
117 : [ "Mro", "Mroo" ],
118 : [ "Old North Arabian", "Narb" ],
119 : [ "Nabataean", "Nbat" ],
120 : [ "Palmyrene", "Palm" ],
121 : [ "Pau Cin Hau", "Pauc" ],
122 : [ "Old Permic", "Perm" ],
123 : [ "Psalter Pahlavi", "Phlp" ],
124 : [ "Siddham", "Sidd" ],
125 : [ "Khudawadi", "Sind" ],
126 : [ "Tirhuta", "Tirh" ],
127 : [ "Varang Kshiti", "Wara" ]
# ### : [ "Blissymbols", "Blis" ],
# ### : [ "Linear A", "Lina" ],
# ### : [ "Naxi Geba", "Nkgb" ],
# ### : [ "Pahawh Hmong", "Hmng" ],
# ### : [ "Varang Kshiti", "Wara" ],
}
def countryCodeToId(code):