Merge pull request #55 from amire80/langdb_aliases_cleanup
Add basic support for redirects
This commit is contained in:
136
data/langdb.yaml
136
data/langdb.yaml
@@ -2,11 +2,10 @@ languages:
|
||||
aa: [Latn, [AF], Qafár af]
|
||||
ab: [Cyrl, [EU], Аҧсшәа]
|
||||
ace: [Latn, [AS, PA], Acèh]
|
||||
ady-cyrl: [Cyrl, [EU], Адыгэбзэ]
|
||||
ady-latn: [Latn, [EU], Adygabze]
|
||||
# XXX multiple script
|
||||
# ady: [[Cyrl, Latn], [EU], [Адыгэбзэ, Adygabze]]
|
||||
ady: [Cyrl, [EU], Адыгэбзэ]
|
||||
# FIXME: alias
|
||||
ady: [Cyrl, [EU, ME], Адыгэбзэ]
|
||||
ady-cyrl: [Cyrl, [EU, ME], Адыгэбзэ]
|
||||
ady-latn: [Latn, [EU, ME], Adygabze]
|
||||
aeb: [Arab, [AF], زَوُن]
|
||||
af: [Latn, [AF], Afrikaans]
|
||||
ahr: [Deva, [AS], अहिराणी]
|
||||
@@ -30,8 +29,12 @@ languages:
|
||||
av: [Cyrl, [EU], авар]
|
||||
avk: [Latn, [WW], Kotava]
|
||||
ay: [Latn, [AM], Aymar aru]
|
||||
# also Arab, and in the past - Cyrl
|
||||
# Latin is the default in Azerbaijani Wikipedia
|
||||
# FIXME: alias
|
||||
az: [Latn, [EU, ME], azərbaycanca]
|
||||
az-latn: [Latn, [EU, ME], azərbaycanca]
|
||||
az-arab: [Arab, [EU, ME], آذربايجانجا]
|
||||
az-cyrl: [Latn, [EU, ME], азәрбајҹанҹа]
|
||||
ba: [Cyrl, [EU], башҡортса]
|
||||
bar: [Latn, [EU], Boarisch]
|
||||
bbc-latn: [Latn, [AS], Batak Toba]
|
||||
@@ -39,13 +42,14 @@ languages:
|
||||
bbc: [Batk, [AS], Batak Toba/Batak autonym unknown]
|
||||
bcc: [Arab, [AS, ME], بلوچی مکرانی]
|
||||
bcl: [Latn, [AS], Bikol Central]
|
||||
# FIXME: which is the correct code?
|
||||
# FIXME: alias
|
||||
be-tarask: [Cyrl, [EU], беларуская (тарашкевіца)]
|
||||
be-x-old: [Cyrl, [EU], беларуская (тарашкевіца)]
|
||||
be: [Cyrl, [EU], беларуская]
|
||||
bew: [Latn, [AS], Bahasa Betawi]
|
||||
bfq: [Taml, [AS], படகா]
|
||||
bg: [Cyrl, [EU], български]
|
||||
# FIXME - currently says Bhojpuri, but it's a macrolanguage.
|
||||
bh: [Deva, [AS], भोजपुरी]
|
||||
bho: [Deva, [AS], भोजपुरी]
|
||||
bi: [Latn, [PA], Bislama]
|
||||
@@ -73,17 +77,14 @@ languages:
|
||||
ckb: [Arab, [ME], کوردی]
|
||||
co: [Latn, [EU], corsu]
|
||||
cps: [Latn, [AS], Capiceño]
|
||||
# FIXME: alias
|
||||
cr: [Cans, [AM], ᓀᐦᐃᔭᐍᐏᐣ]
|
||||
cr-cans: [Cans, [AM], ᓀᐦᐃᔭᐍᐏᐣ]
|
||||
cr-latn: [Latn, [AM], Nēhiyawēwin]
|
||||
# XXX multiple script
|
||||
# cr: [[Latn, Cans], [AM], [Nēhiyawēwin, ᓀᐦᐃᔭᐍᐏᐣ]]
|
||||
cr: [Cans, [AM], Nēhiyawēwin / ᓀᐦᐃᔭᐍᐏᐣ]
|
||||
crh-cyrl: [Cyrl, [EU], къырымтатарджа (Кирилл)]
|
||||
crh-latn: [Latn, [EU], qırımtatarca (Latin)]
|
||||
# XXX multiple script
|
||||
# Latn is default in Wikipedia, Cyrl is common IRL
|
||||
# crh: [[Cyrl, Latn], [EU], [къырымтатарджа, qırımtatarca]]
|
||||
crh: [Latn, [EU], къырымтатарджа / qırımtatarca]
|
||||
# FIXME: alias
|
||||
crh: [Latn, [EU], qırımtatarca]
|
||||
crh-cyrl: [Cyrl, [EU], къырымтатарджа]
|
||||
crh-latn: [Latn, [EU], qırımtatarca]
|
||||
cs: [Latn, [EU], česky]
|
||||
csb: [Latn, [EU], kaszëbsczi]
|
||||
# FIXME: what script?
|
||||
@@ -106,7 +107,6 @@ languages:
|
||||
eml: [Latn, [EU], emiliàn e rumagnòl]
|
||||
en-ca: [Latn, [AM], Canadian English]
|
||||
en-gb: [Latn, [EU, AS, PA], British English]
|
||||
# world?
|
||||
en: [Latn, [EU, AM, AF, ME, AS, PA, WW], English]
|
||||
eo: [Latn, [WW], Esperanto]
|
||||
es-419: [Latn, [AM], español de America Latina]
|
||||
@@ -133,6 +133,7 @@ languages:
|
||||
ga: [Latn, [EU], Gaeilge]
|
||||
gag: [Latn, [EU], Gagauz]
|
||||
gah: [Latn, [AS], Alekano]
|
||||
# FIXME: alias
|
||||
gan-hans: [Hans, [AS], 赣语(简体)]
|
||||
gan-hant: [Hant, [AS], 贛語(繁體)]
|
||||
gan: [Hant, [AS], 贛語]
|
||||
@@ -142,12 +143,10 @@ languages:
|
||||
gl: [Latn, [EU], galego]
|
||||
glk: [Arab, [ME], گیلکی]
|
||||
gn: [Latn, [AM], "Avañe'ẽ"]
|
||||
# FIXME: alias
|
||||
gom: [Deva, [AS], कोंकणी]
|
||||
gom-deva: [Deva, [AS], कोंकणी]
|
||||
gom-latn: [Latn, [AS], Konknni]
|
||||
# XXX multiple script
|
||||
# gom: [[Deva, Latn], [AS], [कोंकणी, Konknni]]
|
||||
gom: [Deva, [AS], कोंकणी / Konknni]
|
||||
# hmph?..
|
||||
got: [Goth, [EU], 𐌲𐌿𐍄𐌹𐍃𐌺]
|
||||
grc: [Grek, [EU], Ἀρχαία ἑλληνικὴ]
|
||||
gsw: [Latn, [EU], Alemannisch]
|
||||
@@ -155,19 +154,18 @@ languages:
|
||||
guc: [Latn, [AM], Wayúu]
|
||||
gur: [Latn, [AF], Gurenɛ]
|
||||
gv: [Latn, [EU], Gaelg]
|
||||
# FIXME: alias
|
||||
ha-arab: [Arab, [AF], هَوُسَ]
|
||||
ha-latn: [Latn, [AF], Hausa]
|
||||
ha: [Latn, [AF], Hausa]
|
||||
hak: [Latn, [AS], Hak-kâ-fa]
|
||||
haw: [Latn, [AM, PA], Hawai`i]
|
||||
he: [Hebr, [ME], עברית]
|
||||
# Or maybe world?
|
||||
hi: [Deva, [AS], हिन्दी]
|
||||
# FIXME: alias
|
||||
hif: [Latn, [PA, AS], Fiji Hindi]
|
||||
hif-deva: [Deva, [AS], फ़ीजी हिन्दी]
|
||||
hif-latn: [Latn, [PA, AS], Fiji Hindi]
|
||||
# XXX multiple script
|
||||
# hif: [[Deva, Latn], [PA, AS], [फ़ीजी हिन्दी, Fiji Hindi]]
|
||||
hif: [Latn, [PA, AS], फ़ीजी हिन्दी / Fiji Hindi]
|
||||
hil: [Latn, [AS], Ilonggo]
|
||||
hne: [Deva, [AS], छत्तीसगढ़ी]
|
||||
ho: [Latn, [PA], Hiri Motu]
|
||||
@@ -194,13 +192,14 @@ languages:
|
||||
is: [Latn, [EU], íslenska]
|
||||
it: [Latn, [EU], italiano]
|
||||
# For variants ike-* is used
|
||||
iu: [Cans, [AM], ᐃᓄᒃᑎᑐᑦ/inuktitut]
|
||||
iu: [Cans, [AM], ᐃᓄᒃᑎᑐᑦ]
|
||||
ja: [Jpan, [AS], 日本語]
|
||||
jam: [Latn, [AM], Patois]
|
||||
jbo: [Latn, [WW], Lojban]
|
||||
jut: [Latn, [EU], jysk]
|
||||
# also in the Javanese script (Java), but the Wikipedia is in Latn
|
||||
jv: [Latn, [AS, PA], Basa Jawa]
|
||||
# For support in webfonts.
|
||||
jv-java: [Java, [AS, PA], ꦧꦱꦗꦮ]
|
||||
ka: [Geor, [EU], ქართული]
|
||||
kaa: [Latn, [AS], Qaraqalpaqsha]
|
||||
# Can also be Tfng, but the Wikipedia is mostly Latn
|
||||
@@ -215,15 +214,14 @@ languages:
|
||||
ki: [Latn, [AF], Gĩkũyũ]
|
||||
kiu: [Latn, [EU, ME], Kırmancki]
|
||||
kj: [Latn, [AF], Kwanyama]
|
||||
# FIXME: alias
|
||||
kk: [Cyrl, [EU, AS], қазақша]
|
||||
kk-arab: [Arab, [EU, AS], قازاقشا (تٴوتە)]
|
||||
kk-cn: [Arab, [EU, AS, ME], قازاقشا (جۇنگو)]
|
||||
kk-cyrl: [Cyrl, [EU, AS], қазақша (кирил)]
|
||||
kk-cyrl: [Cyrl, [EU, AS], қазақша]
|
||||
kk-kz: [Cyrl, [EU, AS], қазақша (Қазақстан)]
|
||||
kk-latn: [Latn, [EU, AS, ME], qazaqşa (latın)]
|
||||
kk-latn: [Latn, [EU, AS, ME], qazaqşa]
|
||||
kk-tr: [Latn, [EU, AS, ME], qazaqşa (Türkïya)]
|
||||
# XXX multiple script
|
||||
# kk: [[Arab, Cyrl, Latn] [EU, AS], [قازاقشا, қазақша, qazaqşa]]
|
||||
kk: [Cyrl, [EU, AS], қазақша / قازاقشا / qazaqşa]
|
||||
kl: [Latn, [AM, EU], kalaallisut]
|
||||
km: [Khmr, [AS], ភាសាខ្មែរ]
|
||||
kn: [Knda, [AS], ಕನ್ನಡ]
|
||||
@@ -239,25 +237,22 @@ languages:
|
||||
krl: [Latn, [EU], Karjala]
|
||||
ks-arab: [Arab, [AS], کٲشُر]
|
||||
ks-deva: [Deva, [AS], कॉशुर]
|
||||
# XXX multiple script
|
||||
# Arab is first here just because it's the current default in the Wikipedia. Deva may be needed, too.
|
||||
# ks: [[Deva, Arab], [AS], [कॉशुर, کٲشُر]]
|
||||
ks: [Arab, [AS], कॉशुर / کٲشُر]
|
||||
# FIXME: alias
|
||||
ks: [Arab, [AS], کٲشُر]
|
||||
ksf: [Latn, [AF], Bafia]
|
||||
ksh: [Latn, [EU], Ripoarisch]
|
||||
ku-arab: [Arab, [EU, ME], كوردي (عەرەبی)]
|
||||
ku-latn: [Latn, [EU, ME], Kurdî (latînî)]
|
||||
# XXX multiple script
|
||||
# ku: [[Arab, Latn], [EU, ME], [كوردي , Kurdî]]
|
||||
ku: [Latn, [EU, ME], كوردي / Kurdî]
|
||||
# FIXME: alias
|
||||
ku: [Latn, [EU, ME], Kurdî]
|
||||
ku-arab: [Arab, [EU, ME], كوردي]
|
||||
ku-latn: [Latn, [EU, ME], Kurdî]
|
||||
kv: [Cyrl, [EU], коми]
|
||||
kw: [Latn, [EU], kernowek]
|
||||
ky: [Cyrl, [AS], Кыргызча]
|
||||
la: [Latn, [EU], Latina]
|
||||
# Most identified with Turkey, Bulgaria, Greece, Spain and Israel,
|
||||
# but also spoken in Latin America and elsewhere.
|
||||
# Wikipedia is mostly in Latn, but also in Hebr. (Comparable to az.)
|
||||
# FIXME: alias
|
||||
lad: [Latn, [ME, EU, AM], Ladino]
|
||||
lad-latn: [Latn, [ME, EU, AM], Ladino]
|
||||
lad-hebr: [Hebr, [ME, EU, AM], לאדינו]
|
||||
lb: [Latn, [EU], Lëtzebuergesch]
|
||||
lbe: [Cyrl, [EU], лакку]
|
||||
lez: [Cyrl, [EU], лезги]
|
||||
@@ -333,7 +328,8 @@ languages:
|
||||
om: [Latn, [AF], Oromoo]
|
||||
or: [Orya, [AS], ଓଡ଼ିଆ]
|
||||
os: [Cyrl, [EU], Ирон]
|
||||
pa: [Guru, [AS], ਪੰਜਾਬੀ]
|
||||
pa: [pa-guru]
|
||||
pa-guru: [Guru, [AS], ਪੰਜਾਬੀ]
|
||||
pag: [Latn, [AS], Pangasinan]
|
||||
pam: [Latn, [AS], Kapampangan]
|
||||
pap: [Latn, [AM], Papiamentu]
|
||||
@@ -354,7 +350,6 @@ languages:
|
||||
pru: [Latn, [EU], Prūsiskan]
|
||||
ps: [Arab, [AS, ME], پښتو]
|
||||
pt-br: [Latn, [AM], português do Brasil]
|
||||
# world?
|
||||
pt: [Latn, [EU, AM, AS, PA, AF, WW], português]
|
||||
qu: [Latn, [AM], Runa Simi]
|
||||
qug: [Latn, [AM], Runa shimi]
|
||||
@@ -397,13 +392,11 @@ languages:
|
||||
sgs: [Latn, [EU], žemaitėška]
|
||||
sh-cyrl: [Cyrl, [EU], српскохрватски]
|
||||
sh-latn: [Latn, [EU], srpskohrvatski]
|
||||
# XXX multiple script
|
||||
# sh: [[Latn, Cyrl], [EU], [srpskohrvatski, српскохрватски]]
|
||||
sh: [Latn, [EU], srpskohrvatski / српскохрватски]
|
||||
# FIXME: alias
|
||||
sh: [Latn, [EU], srpskohrvatski]
|
||||
shi-latn: [Latn, [AF], Tašlḥiyt]
|
||||
shi-tfng: [Tfng, [AF], ⵜⴰⵛⵍⵃⵉⵜ]
|
||||
# XXX multiple script
|
||||
# shi: [[Latn, Tfng], [AF], [Tašlḥiyt, ⵜⴰⵛⵍⵃⵉⵜ]]
|
||||
# FIXME: which one to pick and alias?
|
||||
shi: [Latn, [AF], Tašlḥiyt / ⵜⴰⵛⵍⵃⵉⵜ]
|
||||
shn: [Mymr, [AS], လိၵ်ႈတႆး]
|
||||
si: [Sinh, [AS], සිංහල]
|
||||
@@ -421,11 +414,12 @@ languages:
|
||||
sn: [Latn, [AF], chiShona]
|
||||
so: [Latn, [AF], Soomaaliga]
|
||||
sq: [Latn, [EU], shqip]
|
||||
sr-ec: [Cyrl, [EU], српски (ћирилица)]
|
||||
sr-el: [Latn, [EU], srpski (latinica)]
|
||||
# XXX multiple script
|
||||
# sr: [[Cyrl, Latn], [EU], [српски, srpski]]
|
||||
sr: [Cyrl, [EU], српски / srpski]
|
||||
# FIXME: do we need the double name here?
|
||||
sr: [Cyrl, [EU], српски]
|
||||
sr-ec: [sr-cyrl]
|
||||
sr-cyrl: [Cyrl, [EU], српски]
|
||||
sr-el: [sr-latn]
|
||||
sr-latn: [Latn, [EU], srpski]
|
||||
srn: [Latn, [AM, EU], Sranantongo]
|
||||
ss: [Latn, [AF], SiSwati]
|
||||
st: [Latn, [AF], Sesotho]
|
||||
@@ -461,9 +455,10 @@ languages:
|
||||
tsd: [Grek, [EU], Τσακωνικά]
|
||||
tt-cyrl: [Cyrl, [EU], татарча]
|
||||
tt-latn: [Latn, [EU], tatarça]
|
||||
# XXX multiple script
|
||||
# tt: [[Cyrl, Latn] [EU], [татарча, tatarça]]
|
||||
tt: [Cyrl, [EU], татарча / tatarça]
|
||||
# FIXME: alias
|
||||
tt: [Cyrl, [EU], татарча]
|
||||
tt-cyrl: [Cyrl, [EU], татарча]
|
||||
tt-latn: [Latn, [EU], tatarça]
|
||||
ttt: [Cyrl, [AS], Tati]
|
||||
tum: [Latn, [AF], chiTumbuka]
|
||||
tw: [Latn, [AF], Twi]
|
||||
@@ -472,11 +467,10 @@ languages:
|
||||
tyv: [Cyrl, [AS], тыва дыл]
|
||||
tzm: [Tfng, [AF], ⵜⴰⵎⴰⵣⵉⵖⵜ]
|
||||
udm: [Cyrl, [EU], удмурт]
|
||||
ug-arab: [Arab, [AS], ئۇيغۇرچە]
|
||||
ug-latn: [Latn, [AS], Uyghurche]
|
||||
# XXX multiple script
|
||||
# ug: [[Arab, Latn], [AS], [ئۇيغۇرچە, Uyghurche]]
|
||||
ug: [Arab, [AS], ئۇيغۇرچە / Uyghurche ]
|
||||
# FIXME: alias
|
||||
ug: [Arab, [AS], ئۇيغۇرچە ]
|
||||
ug-arab: [Arab, [AS], ئۇيغۇرچە ]
|
||||
ug-latn: [Latn, [AS], Uyghurche ]
|
||||
uk: [Cyrl, [EU], українська]
|
||||
ur: [Arab, [AS, ME], اردو]
|
||||
uz: [Latn, [AS], oʻzbekcha]
|
||||
@@ -507,6 +501,8 @@ languages:
|
||||
yue: [Hant, [AS], 粵語]
|
||||
za: [Latn, [AS], Vahcuengh]
|
||||
zea: [Latn, [EU], Zeêuws]
|
||||
# world? (may apply to many varieties of Chinese)
|
||||
zh: [Hans, [AS], 中文]
|
||||
zh-classical: [Hant, [AS], 文言]
|
||||
zh-cn: [Hans, [AS], 中文(中国大陆)]
|
||||
zh-hans: [Hans, [AS], 中文(简体)]
|
||||
@@ -518,17 +514,21 @@ languages:
|
||||
zh-sg: [Hans, [AS], 中文(新加坡)]
|
||||
zh-tw: [Hant, [AS], 中文(台灣)]
|
||||
zh-yue: [Hans, [AS], 粵語]
|
||||
zh: [Hans, [AS], 中文]
|
||||
zu: [Latn, [AF], isiZulu]
|
||||
|
||||
# All the supported scripts, grouped logically.
|
||||
#
|
||||
# The codes are taken from http://unicode.org/iso15924/iso15924-codes.html .
|
||||
#
|
||||
# The classification is roughly based on http://www.unicode.org/charts/
|
||||
# with some practical corrections.
|
||||
# The order of the groups affects display. It was suggested by Pau to distance
|
||||
# the largest groups from one another to improve discoverability.
|
||||
scriptgroups:
|
||||
#
|
||||
# The order of the groups affects display. Pau Giner suggested the order;
|
||||
# the rationale of the order is to distance the largest groups from
|
||||
# one another to improve discoverability.
|
||||
#
|
||||
# The group name "Other" is reserved.
|
||||
scriptgroups:
|
||||
# It's hard to find a better place for Goth except the Latin group.
|
||||
Latin: [Latn, Goth]
|
||||
# Greek is probalby different enough from Latin and Cyrillic, but user testing
|
||||
|
||||
File diff suppressed because one or more lines are too long
@@ -18,28 +18,44 @@
|
||||
*/
|
||||
|
||||
( function ( $ ) {
|
||||
"use strict";
|
||||
'use strict';
|
||||
|
||||
/**
|
||||
* Log deprecated functions
|
||||
*/
|
||||
function deprecated( oldFunc, newFunc ) {
|
||||
if ( window.console && window.console.log ) {
|
||||
window.console.log( oldFunc + " is deprecated. Please use " + newFunc );
|
||||
window.console.log( oldFunc + ' is deprecated. Please use ' + newFunc );
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Is this language a redirect to another language?
|
||||
* @param string language code
|
||||
* @return Target language code if it's a redirect or false if it's not
|
||||
*/
|
||||
$.uls.data.isRedirect = function( language ) {
|
||||
return ( $.uls.data.languages[language] !== undefined &&
|
||||
$.uls.data.languages[language].length === 1 ) ? $.uls.data.languages[language][0] : false;
|
||||
};
|
||||
|
||||
/**
|
||||
* Returns the script of the language.
|
||||
* @param string language code
|
||||
* @return string
|
||||
*/
|
||||
$.uls.data.getScript = function( language ) {
|
||||
var target = $.uls.data.isRedirect( language );
|
||||
|
||||
if ( target ) {
|
||||
return $.uls.data.getScript( target );
|
||||
}
|
||||
|
||||
return $.uls.data.languages[language][0];
|
||||
};
|
||||
|
||||
$.uls.data.script = function( language ) { // deprecated
|
||||
deprecated( "script", "getScript" );
|
||||
deprecated( 'script', 'getScript' );
|
||||
return $.uls.data.getScript( language );
|
||||
};
|
||||
|
||||
@@ -49,11 +65,17 @@
|
||||
* @return array|string 'UNKNOWN'
|
||||
*/
|
||||
$.uls.data.getRegions = function( language ) {
|
||||
var target = $.uls.data.isRedirect( language );
|
||||
|
||||
if ( target ) {
|
||||
return $.uls.data.getRegions( target );
|
||||
}
|
||||
|
||||
return ( $.uls.data.languages[language] && $.uls.data.languages[language][1] ) || 'UNKNOWN';
|
||||
};
|
||||
|
||||
$.uls.data.regions = function( language ) { // deprecated
|
||||
deprecated( "regions", "getRegions" );
|
||||
deprecated( 'regions', 'getRegions' );
|
||||
return $.uls.data.getRegions( language );
|
||||
};
|
||||
|
||||
@@ -63,11 +85,17 @@
|
||||
* @return string
|
||||
*/
|
||||
$.uls.data.getAutonym = function( language ) {
|
||||
var target = $.uls.data.isRedirect( language );
|
||||
|
||||
if ( target ) {
|
||||
return $.uls.data.getAutonym( target );
|
||||
}
|
||||
|
||||
return ( $.uls.data.languages[language] && $.uls.data.languages[language][2] ) || language;
|
||||
};
|
||||
|
||||
$.uls.data.autonym = function( language ) { // deprecated
|
||||
deprecated( "autonym", "getAutonym" );
|
||||
deprecated( 'autonym', 'getAutonym' );
|
||||
return $.uls.data.getAutonym( language );
|
||||
};
|
||||
|
||||
@@ -79,6 +107,10 @@
|
||||
var autonymsByCode = {};
|
||||
|
||||
for ( var language in $.uls.data.languages ) {
|
||||
if ( $.uls.data.isRedirect( language ) ) {
|
||||
continue;
|
||||
}
|
||||
|
||||
autonymsByCode[language] = $.uls.data.getAutonym( language );
|
||||
}
|
||||
|
||||
@@ -86,7 +118,7 @@
|
||||
};
|
||||
|
||||
$.uls.data.autonyms = function() { // deprecated
|
||||
deprecated( "autonyms", "getAutonyms" );
|
||||
deprecated( 'autonyms', 'getAutonyms' );
|
||||
return $.uls.data.getAutonyms();
|
||||
};
|
||||
|
||||
@@ -105,7 +137,7 @@
|
||||
};
|
||||
|
||||
$.uls.data.allRegions = function() { // deprecated
|
||||
deprecated( "allRegions", "getAllRegions" );
|
||||
deprecated( 'allRegions', 'getAllRegions' );
|
||||
return $.uls.data.getAllRegions();
|
||||
};
|
||||
|
||||
@@ -119,7 +151,7 @@
|
||||
};
|
||||
|
||||
$.uls.data.languagesInScript = function( script ) { // deprecated
|
||||
deprecated( "languagesInScript", "getLanguagesInScript" );
|
||||
deprecated( 'languagesInScript', 'getLanguagesInScript' );
|
||||
return $.uls.data.getLanguagesInScript( script );
|
||||
};
|
||||
|
||||
@@ -132,6 +164,10 @@
|
||||
var languagesInScripts = [];
|
||||
|
||||
for ( var language in $.uls.data.languages ) {
|
||||
if ( $.uls.data.isRedirect( language ) ) {
|
||||
continue;
|
||||
}
|
||||
|
||||
for ( var i = 0; i < scripts.length; i++ ) {
|
||||
if ( scripts[i] === $.uls.data.getScript( language ) ) {
|
||||
languagesInScripts.push( language );
|
||||
@@ -144,7 +180,7 @@
|
||||
};
|
||||
|
||||
$.uls.data.languagesInScripts = function( scripts ) { // deprecated
|
||||
deprecated( "languagesInScripts", "getLanguagesInScripts" );
|
||||
deprecated( 'languagesInScripts', 'getLanguagesInScripts' );
|
||||
return $.uls.data.getLanguagesInScripts( scripts );
|
||||
};
|
||||
|
||||
@@ -158,7 +194,7 @@
|
||||
};
|
||||
|
||||
$.uls.data.languagesInRegion = function( region ) { // deprecated
|
||||
deprecated( "languagesInRegion", "getLanguagesInRegion" );
|
||||
deprecated( 'languagesInRegion', 'getLanguagesInRegion' );
|
||||
return $.uls.data.getLanguagesInRegion( region );
|
||||
};
|
||||
|
||||
@@ -171,6 +207,10 @@
|
||||
var languagesInRegions = [];
|
||||
|
||||
for ( var language in $.uls.data.languages ) {
|
||||
if ( $.uls.data.isRedirect( language ) ) {
|
||||
continue;
|
||||
}
|
||||
|
||||
for ( var i = 0; i < regions.length; i++ ) {
|
||||
if ( $.inArray( regions[i], $.uls.data.getRegions( language ) ) !== -1 ) {
|
||||
languagesInRegions.push( language );
|
||||
@@ -183,7 +223,7 @@
|
||||
};
|
||||
|
||||
$.uls.data.languagesInRegions = function( regions ) { // deprecated
|
||||
deprecated( "languagesInRegions", "getLanguagesInRegions" );
|
||||
deprecated( 'languagesInRegions', 'getLanguagesInRegions' );
|
||||
return $.uls.data.getLanguagesInRegions( regions );
|
||||
};
|
||||
|
||||
@@ -197,7 +237,7 @@
|
||||
};
|
||||
|
||||
$.uls.data.languagesInRegionGroup = function( groupNum ) { // deprecated
|
||||
deprecated( "languagesInRegionGroup", "getLanguagesInRegionGroup" );
|
||||
deprecated( 'languagesInRegionGroup', 'getLanguagesInRegionGroup' );
|
||||
return $.uls.data.getLanguagesInRegionGroup( groupNum );
|
||||
};
|
||||
|
||||
@@ -211,6 +251,10 @@
|
||||
var languagesByScriptInRegion = {};
|
||||
|
||||
for ( var language in $.uls.data.languages ) {
|
||||
if ( $.uls.data.isRedirect( language ) ) {
|
||||
continue;
|
||||
}
|
||||
|
||||
if ( $.inArray( region, $.uls.data.getRegions( language ) ) !== -1 ) {
|
||||
var script = $.uls.data.getScript( language );
|
||||
if ( languagesByScriptInRegion[script] === undefined ) {
|
||||
@@ -224,7 +268,7 @@
|
||||
};
|
||||
|
||||
$.uls.data.languagesByScriptInRegion = function( region ) { // deprecated
|
||||
deprecated( "languagesByScriptInRegion", "getLanguagesByScriptInRegion" );
|
||||
deprecated( 'languagesByScriptInRegion', 'getLanguagesByScriptInRegion' );
|
||||
return $.uls.data.getLanguagesByScriptInRegion( region );
|
||||
};
|
||||
|
||||
@@ -239,7 +283,7 @@
|
||||
};
|
||||
|
||||
$.uls.data.languagesByScriptGroupInRegion = function( region ) { // deprecated
|
||||
deprecated( "languagesByScriptGroupInRegion", "getLanguagesByScriptGroupInRegion" );
|
||||
deprecated( 'languagesByScriptGroupInRegion', 'getLanguagesByScriptGroupInRegion' );
|
||||
return $.uls.data.getLanguagesByScriptGroupInRegion( region );
|
||||
};
|
||||
|
||||
@@ -253,7 +297,7 @@
|
||||
};
|
||||
|
||||
$.uls.data.allLanguagesByScriptGroup = function() { // deprecated
|
||||
deprecated( "allLanguagesByScriptGroup", "getAllLanguagesByScriptGroup" );
|
||||
deprecated( 'allLanguagesByScriptGroup', 'getAllLanguagesByScriptGroup' );
|
||||
return $.uls.data.getAllLanguagesByScriptGroup();
|
||||
};
|
||||
|
||||
@@ -285,7 +329,7 @@
|
||||
};
|
||||
|
||||
$.uls.data.languagesByScriptGroup = function( languages ) { // deprecated
|
||||
deprecated( "languagesByScriptGroup", "getLanguagesByScriptGroup" );
|
||||
deprecated( 'languagesByScriptGroup', 'getLanguagesByScriptGroup' );
|
||||
return $.uls.data.getLanguagesByScriptGroup( languages );
|
||||
};
|
||||
|
||||
@@ -299,12 +343,18 @@
|
||||
var languagesByScriptGroupInRegions = {};
|
||||
|
||||
for ( var language in $.uls.data.languages ) {
|
||||
if ( $.uls.data.isRedirect( language ) ) {
|
||||
continue;
|
||||
}
|
||||
|
||||
for ( var i = 0; i < regions.length; i++ ) {
|
||||
if ( $.inArray( regions[i], $.uls.data.getRegions( language ) ) !== -1 ) {
|
||||
var scriptGroup = $.uls.data.getScriptGroupOfLanguage( language );
|
||||
|
||||
if ( languagesByScriptGroupInRegions[scriptGroup] === undefined ) {
|
||||
languagesByScriptGroupInRegions[scriptGroup] = [];
|
||||
}
|
||||
|
||||
languagesByScriptGroupInRegions[scriptGroup].push( language );
|
||||
break;
|
||||
}
|
||||
@@ -315,7 +365,7 @@
|
||||
};
|
||||
|
||||
$.uls.data.languagesByScriptGroupInRegions = function( regions ) { // deprecated
|
||||
deprecated( "languagesByScriptGroupInRegions", "getLanguagesByScriptGroupInRegions" );
|
||||
deprecated( 'languagesByScriptGroupInRegions', 'getLanguagesByScriptGroupInRegions' );
|
||||
return $.uls.data.getLanguagesByScriptGroupInRegions( regions );
|
||||
};
|
||||
|
||||
@@ -331,13 +381,19 @@
|
||||
|
||||
for ( region in $.uls.data.regiongroups ) {
|
||||
regionGroup = $.uls.data.regiongroups[region];
|
||||
|
||||
if ( allLanguagesByRegionAndScript[regionGroup] === undefined ) {
|
||||
allLanguagesByRegionAndScript[regionGroup] = {};
|
||||
}
|
||||
|
||||
allLanguagesByRegionAndScript[regionGroup][region] = {};
|
||||
}
|
||||
|
||||
for ( var language in $.uls.data.languages ) {
|
||||
if ( $.uls.data.isRedirect( language ) ) {
|
||||
continue;
|
||||
}
|
||||
|
||||
var script = $.uls.data.getScript( language );
|
||||
var scriptGroup = $.uls.data.getGroupOfScript( script );
|
||||
var regions = $.uls.data.getRegions( language );
|
||||
@@ -362,7 +418,7 @@
|
||||
};
|
||||
|
||||
$.uls.data.allLanguagesByRegionAndScript = function() { // deprecated
|
||||
deprecated( "allLanguagesByRegionAndScript", "getAllLanguagesByRegionAndScript" );
|
||||
deprecated( 'allLanguagesByRegionAndScript', 'getAllLanguagesByRegionAndScript' );
|
||||
return $.uls.data.getAllLanguagesByRegionAndScript();
|
||||
};
|
||||
|
||||
@@ -384,7 +440,7 @@
|
||||
};
|
||||
|
||||
$.uls.data.regionsInGroup = function( groupNum ) { // deprecated
|
||||
deprecated( "regionsInGroup", "getRegionsInGroup" );
|
||||
deprecated( 'regionsInGroup', 'getRegionsInGroup' );
|
||||
return $.uls.data.getRegionsInGroup( groupNum );
|
||||
};
|
||||
|
||||
@@ -405,7 +461,7 @@
|
||||
};
|
||||
|
||||
$.uls.data.groupOfScript = function( script ) { // deprecated
|
||||
deprecated( "groupOfScript", "getGroupOfScript" );
|
||||
deprecated( 'groupOfScript', 'getGroupOfScript' );
|
||||
return $.uls.data.getGroupOfScript( script );
|
||||
};
|
||||
|
||||
@@ -419,7 +475,7 @@
|
||||
};
|
||||
|
||||
$.uls.data.scriptGroupOfLanguage = function( language ) { // deprecated
|
||||
deprecated( "scriptGroupOfLanguage", "getScriptGroupOfLanguage" );
|
||||
deprecated( 'scriptGroupOfLanguage', 'getScriptGroupOfLanguage' );
|
||||
return $.uls.data.getScriptGroupOfLanguage( language );
|
||||
};
|
||||
|
||||
@@ -462,7 +518,7 @@
|
||||
};
|
||||
|
||||
$.uls.data.languagesInTerritory = function( territory ) { // deprecated
|
||||
deprecated( "languagesInTerritory", "getLanguagesInTerritory" );
|
||||
deprecated( 'languagesInTerritory', 'getLanguagesInTerritory' );
|
||||
return $.uls.data.getLanguagesInTerritory( territory );
|
||||
};
|
||||
} ( jQuery ) );
|
||||
|
||||
@@ -34,6 +34,23 @@
|
||||
return result;
|
||||
};
|
||||
|
||||
/*
|
||||
* Runs over all languages and checks that all redirects have a valid target.
|
||||
*/
|
||||
var badRedirects = function () {
|
||||
var result = [];
|
||||
|
||||
for ( var language in $.uls.data.languages ) {
|
||||
var target = $.uls.data.isRedirect( language );
|
||||
|
||||
if ( target && !$.uls.data.languages[target] ) {
|
||||
result.push( language );
|
||||
}
|
||||
}
|
||||
|
||||
return result;
|
||||
};
|
||||
|
||||
/*
|
||||
* Runs over all script codes mentioned in langdb and checks whether
|
||||
* they have something that looks like an autonym.
|
||||
@@ -54,13 +71,18 @@
|
||||
assert.ok( $.fn.uls, "$.fn.uls is defined" );
|
||||
} );
|
||||
|
||||
test( "-- $.uls.data testing", 27, function ( assert ) {
|
||||
test( "-- $.uls.data testing", 40, function ( assert ) {
|
||||
|
||||
assert.strictEqual( $.uls.data.getAutonyms()['he'], 'עברית', 'Correct autonym is returned for Hebrew using getAutonyms().' );
|
||||
assert.strictEqual( $.uls.data.isRedirect( 'sr-ec' ), 'sr-cyrl', "'sr-ec' is a redirect to 'sr-cyrl'" );
|
||||
var autonyms = $.uls.data.getAutonyms();
|
||||
assert.strictEqual( autonyms['he'], 'עברית', 'Correct autonym is returned for Hebrew using getAutonyms().' );
|
||||
assert.strictEqual( autonyms['pa'], undefined, "Language 'pa' is not listed in autonyms, because it's a redirect" );
|
||||
assert.strictEqual( autonyms['pa-guru'], 'ਪੰਜਾਬੀ', "Language 'pa-guru' has the correct autonym" );
|
||||
|
||||
// This test assumes that we don't want any scripts to be in the 'Other'
|
||||
// group. Actually, this may become wrong some day.
|
||||
assert.deepEqual( orphanScripts(), [], 'All scripts belong to script groups.' );
|
||||
assert.deepEqual( badRedirects(), [], 'All redirects have valid targets.' );
|
||||
assert.deepEqual( languagesWithoutAutonym(), [], 'All languages have autonyms.' );
|
||||
|
||||
assert.strictEqual(
|
||||
@@ -84,20 +106,27 @@
|
||||
assert.deepEqual( allLanguagesByRegionAndScript['4']['AS']['SouthEastAsian']['Bugi'], [
|
||||
'bug'
|
||||
], 'All languages in the Buginese script in Asia were selected' );
|
||||
assert.deepEqual( allLanguagesByRegionAndScript['4']['AS']['SouthAsian']['Guru'], [
|
||||
'pa-guru'
|
||||
], 'Only language pa-guru appears as a language in script Guru in SouthAsian languages in Asia' );
|
||||
|
||||
var languagesInEU = $.uls.data.getLanguagesInRegion( 'EU' );
|
||||
assert.strictEqual( $.inArray( 'sr-ec', languagesInEU ), -1, "Language 'sr-ec' doesn't appear in languages of region EU, because it's a redirect" );
|
||||
assert.ok( $.inArray( 'sr-cyrl', languagesInEU ) > -1, "Language 'sr-cyrl' appears in languages of region EU, because it's not a redirect" );
|
||||
|
||||
assert.deepEqual( $.uls.data.getLanguagesInRegion( "PA" ),
|
||||
[
|
||||
"ace", "bi", "ch", "en-gb", "en", "fj", "haw", "hif-latn", "hif", "ho", "jv",
|
||||
"ace", "bi", "ch", "en-gb", "en", "fj", "haw", "hif", "hif-latn", "ho", "jv", "jv-java",
|
||||
"mh", "mi", "na", "niu", "pih", "pis", "pt", "rtm", "sm", "tet",
|
||||
"to", "tpi", "ty", "wls"
|
||||
],
|
||||
"languages of region PA are selected correctly" );
|
||||
assert.deepEqual( $.uls.data.getLanguagesInRegions( ["AM", "WW"] ),
|
||||
[
|
||||
"akz", "arn", "aro", "ase", "avk", "ay", "cho", "chr", "chy", "cr-cans", "cr-latn",
|
||||
"cr", "en-ca", "en", "eo", "es-419", "es-formal", "es", "esu", "fr", "gcf", "gn",
|
||||
"akz", "arn", "aro", "ase", "avk", "ay", "cho", "chr", "chy", "cr", "cr-cans", "cr-latn",
|
||||
"en-ca", "en", "eo", "es-419", "es-formal", "es", "esu", "fr", "gcf", "gn",
|
||||
"guc", "haw", "ht", "ia", "ie", "ik", "ike-cans", "ike-latn", "io", "iu", "jam",
|
||||
"jbo", "kgp", "kl", "lad", "lfn", "mfe", "mic", "mus", "nah", "nl-informal", "nl",
|
||||
"jbo", "kgp", "kl", "lad", "lad-latn", "lad-hebr", "lfn", "mfe", "mic", "mus", "nah", "nl-informal", "nl",
|
||||
"nov", "nv", "pap", "pdc", "pdt", "ppl", "pt-br", "pt", "qu", "qug", "rap", "sei",
|
||||
"simple", "srn", "tokipona", "vo", "yi", "yrl", "yua"
|
||||
],
|
||||
@@ -107,6 +136,10 @@
|
||||
assert.deepEqual( $.uls.data.getLanguagesInScript( 'Knda' ), [
|
||||
"kn", "tcy"
|
||||
], "languages in script Knda are selected correctly" );
|
||||
assert.deepEqual( $.uls.data.getLanguagesInScript( 'Guru' ),
|
||||
["pa-guru"],
|
||||
"'pa-guru' is written in script Guru, and 'pa' is skipped as a redirect"
|
||||
);
|
||||
assert.deepEqual( $.uls.data.getLanguagesInScripts( ['Geor', 'Armn'] ),
|
||||
["hy", "ka", "xmf"],
|
||||
"languages in scripts Geor and Armn are selected correctly"
|
||||
@@ -124,15 +157,26 @@
|
||||
|
||||
var languagesByScriptInAM = $.uls.data.getLanguagesByScriptInRegion( "AM" );
|
||||
assert.deepEqual( languagesByScriptInAM['Cans'], [
|
||||
"cr-cans", "cr", "ike-cans", "iu"
|
||||
"cr", "cr-cans", "ike-cans", "iu"
|
||||
], "correct languages in Cans in AM selected" );
|
||||
|
||||
assert.strictEqual( $.uls.data.getAutonym( 'pa' ), 'ਪੰਜਾਬੀ', 'Correct autonym of the Punjabi language was selected' );
|
||||
var languagesByScriptInEU = $.uls.data.getLanguagesByScriptInRegion( "EU" );
|
||||
assert.strictEqual( $.inArray( 'sr-el', languagesByScriptInEU['Latn'] ), -1,
|
||||
"Language 'sr-el' doesn't appear as a Latin-script language in EU, because it's a redirect" );
|
||||
assert.ok( $.inArray( 'sr-latn', languagesByScriptInEU['Latn'] ) > -1,
|
||||
"Language 'sr-latn' appears as a Latin-script language in EU, because it's not a redirect" );
|
||||
|
||||
assert.strictEqual( $.uls.data.getAutonym( 'pa' ), 'ਪੰਜਾਬੀ', 'Correct autonym of the Punjabi language was selected using code pa.' );
|
||||
assert.strictEqual( $.uls.data.getAutonym( 'pa-guru' ), 'ਪੰਜਾਬੀ', 'Correct autonym of the Punjabi language was selected using code pa.' );
|
||||
|
||||
var languagesByScriptGroupInEMEA = $.uls.data.getLanguagesByScriptGroupInRegions( $.uls.data.getRegionsInGroup( 3 ) );
|
||||
assert.deepEqual( languagesByScriptGroupInEMEA['WestCaucasian'], [
|
||||
'hy', 'ka', 'xmf'
|
||||
], 'Correct languages in WestCaucasian script group in EMEA selected' );
|
||||
assert.strictEqual( $.inArray( 'sr-ec', languagesByScriptGroupInEMEA['Cyrillic'] ), -1,
|
||||
"Language 'sr-ec' doesn't appear as a Cyrillic-scriptgroup language in EMEA, because it's a redirect" );
|
||||
assert.ok( $.inArray( 'sr-cyrl', languagesByScriptGroupInEMEA['Cyrillic'] ) > -1,
|
||||
"Language 'sr-cyrl' appears as a Cyrillic-scriptgroup language in EMEA, because it's not a redirect" );
|
||||
|
||||
var allLanguagesByScriptGroup = $.uls.data.getAllLanguagesByScriptGroup();
|
||||
assert.deepEqual( allLanguagesByScriptGroup['Greek'], [
|
||||
|
||||
Reference in New Issue
Block a user