Skip to content

Commit 5e761f0

Browse files
authored
Merge branch 'master' into getLanguagesInTerritory
2 parents cf1ef07 + 7093fe8 commit 5e761f0

4 files changed

Lines changed: 98 additions & 12 deletions

File tree

.github/workflows/php.yml

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,13 +4,18 @@ on:
44

55
jobs:
66
build:
7-
runs-on: ubuntu-latest
7+
runs-on: ubuntu-20.04
88
strategy:
99
matrix:
10-
php: [7.2, 7.3]
10+
php: [7.4]
1111
steps:
1212
- name: Checkout
1313
uses: actions/checkout@v2
14+
15+
- name: Setup PHP
16+
uses: shivammathur/setup-php@v2
17+
with:
18+
php-version: ${{ matrix.php }}
1419

1520
- name: Install dependencies
1621
run: composer install --prefer-dist --no-interaction --ansi
@@ -19,4 +24,4 @@ jobs:
1924
run: composer run-script cs
2025

2126
- name: Run tests
22-
run: php${{ matrix.php }} ./vendor/bin/phpunit
27+
run: php ./vendor/bin/phpunit

data/langdb.yaml

Lines changed: 13 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -101,7 +101,10 @@ languages:
101101
cbk: [Latn, [AS], Chavacano de Zamboanga]
102102
cbk-zam: [cbk]
103103
ccp: [Cakm, [AS], 𑄌𑄋𑄴𑄟𑄳𑄦]
104+
# FIXME cdo will be modified later to split to Latin and Chinese more cleanly
104105
cdo: [Latn, [AS], Mìng-dĕ̤ng-ngṳ̄]
106+
cdo-latn: [Latn, [AS], Mìng-dĕ̤ng-ngṳ̄ Bàng-uâ-cê]
107+
cdo-hani: [Hani, [AS], 閩東語漢字]
105108
ce: [Cyrl, [EU], нохчийн]
106109
ceb: [Latn, [AS], Cebuano]
107110
ch: [Latn, [PA], Chamoru]
@@ -158,6 +161,7 @@ languages:
158161
ee: [Latn, [AF], eʋegbe]
159162
egl: [Latn, [EU], Emiliàn]
160163
el: [Grek, [EU], Ελληνικά]
164+
elm: [Latn, [AF], Eleme]
161165
eml: [Latn, [EU], emiliàn e rumagnòl]
162166
en-ca: [Latn, [AM], Canadian English]
163167
en-gb: [Latn, [EU, AS, PA], British English]
@@ -264,6 +268,7 @@ languages:
264268
is: [Latn, [EU], íslenska]
265269
it: [Latn, [EU], italiano]
266270
iu: [ike-cans]
271+
izh: [Latn, [EU], ižoran keel]
267272
ja: [Jpan, [AS], 日本語]
268273
jam: [Latn, [AM], Patois]
269274
jbo: [Latn, [WW], lojban]
@@ -283,6 +288,7 @@ languages:
283288
kbd-latn: [Latn, [EU], Qabardjajəbza]
284289
kbd: [Cyrl, [EU, ME], Адыгэбзэ]
285290
kbp: [Latn, [AF], Kabɩyɛ]
291+
kcg: [Latn, [AF], Tyap]
286292
kea: [Latn, [AF], Kabuverdianu]
287293
kg: [Latn, [AF], Kongo]
288294
kgp: [Latn, [AM], Kaingáng]
@@ -307,7 +313,7 @@ languages:
307313
ko-kp: [Kore, [AS], 조선말]
308314
# Kore is an alias for Hangul+Han. Maybe Hang is more appropriate?
309315
ko: [Kore, [AS], 한국어]
310-
koi: [Cyrl, [EU], Перем Коми]
316+
koi: [Cyrl, [EU], перем коми]
311317
koy: [Latn, [AM], "Denaakkenaageʼ"]
312318
kr: [Latn, [AF], Kanuri]
313319
krc: [Cyrl, [EU], къарачай-малкъар]
@@ -410,6 +416,7 @@ languages:
410416
ne: [Deva, [AS], नेपाली]
411417
new: [Deva, [AS], नेपाल भाषा]
412418
ng: [Latn, [AF], Oshiwambo]
419+
nia: [Latn, [AS], Li Niha]
413420
niu: [Latn, [PA], ko e vagahau Niuē]
414421
njo: [Latn, [AS], Ao]
415422
nl-informal: [Latn, [EU, AM], Nederlands (informeel)]
@@ -418,6 +425,7 @@ languages:
418425
# There's also nb for Bokmål and nn for Nynorsk
419426
"no": [Latn, [EU], norsk]
420427
nod: [Thai, [AS], คำเมือง]
428+
nog: [Cyrl, [EU], ногайша]
421429
nov: [Latn, [WW], Novial]
422430
nqo: [Nkoo, [AF], ߒߞߏ]
423431
nr: [Latn, [AF], isiNdebele seSewula]
@@ -428,7 +436,7 @@ languages:
428436
nys: [Latn, [PA], Nyungar]
429437
oc: [Latn, [EU], occitan]
430438
oka: [Latn, [AM], n̓səl̓xcin̓]
431-
olo: [Latn, [AS, EU], Livvinkarjala]
439+
olo: [Latn, [AS, EU], livvinkarjala]
432440
om: [Latn, [AF], Oromoo]
433441
ood: [Latn, [AM], "ʼOʼodham ha-ñeʼokĭ"]
434442
or: [Orya, [AS], ଓଡ଼ିଆ]
@@ -618,7 +626,7 @@ languages:
618626
vmf: [Latn, [EU], Mainfränkisch]
619627
vo: [Latn, [WW], Volapük]
620628
vot: [Latn, [EU], Vaďďa]
621-
vro: [Latn, [EU], Võro]
629+
vro: [Latn, [EU], võro]
622630
wa: [Latn, [EU], walon]
623631
war: [Latn, [AS], Winaray]
624632
wls: [Latn, [PA], "Faka'uvea"]
@@ -651,6 +659,7 @@ languages:
651659
zh-sg: [Hans, [AS], 中文(新加坡)]
652660
zh-tw: [Hant, [AS], 中文(台灣)]
653661
zh-yue: [yue]
662+
zh-cdo: [cdo]
654663
zu: [Latn, [AF], isiZulu]
655664
zun: [Latn, [AM], "Shiwi'ma"]
656665

@@ -690,7 +699,7 @@ scriptgroups:
690699
# the Brahmic family.
691700
SouthAsian: [Beng, Cakm, Deva, Gujr, Guru, Knda, Mlym, Mtei, Olck, Orya, Saur, Sinh, Sylo, Taml, Telu, Tibt, Thaa, Wara]
692701
Cyrillic: [Cyrl]
693-
CJK: [Hans, Hant, Kana, Kore, Jpan, Yiii]
702+
CJK: [Hani, Hans, Hant, Kana, Kore, Jpan, Yiii]
694703
SouthEastAsian: [Bali, Batk, Bugi, Java, Khmr, Laoo, Mymr, Thai]
695704
Mongolian: [Mong]
696705
SignWriting: [Sgnw]

data/language-data.json

Lines changed: 58 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -640,6 +640,20 @@
640640
],
641641
"Mìng-dĕ̤ng-ngṳ̄"
642642
],
643+
"cdo-latn": [
644+
"Latn",
645+
[
646+
"AS"
647+
],
648+
"Mìng-dĕ̤ng-ngṳ̄ Bàng-uâ-cê"
649+
],
650+
"cdo-hani": [
651+
"Hani",
652+
[
653+
"AS"
654+
],
655+
"閩東語漢字"
656+
],
643657
"ce": [
644658
"Cyrl",
645659
[
@@ -965,6 +979,13 @@
965979
],
966980
"Ελληνικά"
967981
],
982+
"elm": [
983+
"Latn",
984+
[
985+
"AF"
986+
],
987+
"Eleme"
988+
],
968989
"eml": [
969990
"Latn",
970991
[
@@ -1681,6 +1702,13 @@
16811702
"iu": [
16821703
"ike-cans"
16831704
],
1705+
"izh": [
1706+
"Latn",
1707+
[
1708+
"EU"
1709+
],
1710+
"ižoran keel"
1711+
],
16841712
"ja": [
16851713
"Jpan",
16861714
[
@@ -1797,6 +1825,13 @@
17971825
],
17981826
"Kabɩyɛ"
17991827
],
1828+
"kcg": [
1829+
"Latn",
1830+
[
1831+
"AF"
1832+
],
1833+
"Tyap"
1834+
],
18001835
"kea": [
18011836
"Latn",
18021837
[
@@ -1947,7 +1982,7 @@
19471982
[
19481983
"EU"
19491984
],
1950-
"Перем Коми"
1985+
"перем коми"
19511986
],
19521987
"koy": [
19531988
"Latn",
@@ -2638,6 +2673,13 @@
26382673
],
26392674
"Oshiwambo"
26402675
],
2676+
"nia": [
2677+
"Latn",
2678+
[
2679+
"AS"
2680+
],
2681+
"Li Niha"
2682+
],
26412683
"niu": [
26422684
"Latn",
26432685
[
@@ -2689,6 +2731,13 @@
26892731
],
26902732
"คำเมือง"
26912733
],
2734+
"nog": [
2735+
"Cyrl",
2736+
[
2737+
"EU"
2738+
],
2739+
"ногайша"
2740+
],
26922741
"nov": [
26932742
"Latn",
26942743
[
@@ -2765,7 +2814,7 @@
27652814
"AS",
27662815
"EU"
27672816
],
2768-
"Livvinkarjala"
2817+
"livvinkarjala"
27692818
],
27702819
"om": [
27712820
"Latn",
@@ -4013,7 +4062,7 @@
40134062
[
40144063
"EU"
40154064
],
4016-
"Võro"
4065+
"võro"
40174066
],
40184067
"wa": [
40194068
"Latn",
@@ -4223,6 +4272,9 @@
42234272
"zh-yue": [
42244273
"yue"
42254274
],
4275+
"zh-cdo": [
4276+
"cdo"
4277+
],
42264278
"zu": [
42274279
"Latn",
42284280
[
@@ -4288,6 +4340,7 @@
42884340
"Cyrl"
42894341
],
42904342
"CJK": [
4343+
"Hani",
42914344
"Hans",
42924345
"Hant",
42934346
"Kana",
@@ -5332,7 +5385,6 @@
53325385
"MY": [
53335386
"ms",
53345387
"en",
5335-
"zh-hant",
53365388
"zh",
53375389
"ta",
53385390
"jv",
@@ -5375,6 +5427,7 @@
53755427
"ig",
53765428
"yo",
53775429
"ha-arab",
5430+
"kcg",
53785431
"ar",
53795432
"ff"
53805433
],
@@ -5589,6 +5642,7 @@
55895642
"sr-cyrl",
55905643
"vep",
55915644
"mn",
5645+
"izh",
55925646
"vot",
55935647
"cu"
55945648
],

tests/js/index.js

Lines changed: 19 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,8 @@ var languageData = require( __dirname + '/../../src/index' ),
22
assert = require( 'assert' );
33

44
describe( 'languagedata', function () {
5-
var orphanScripts, badRedirects, doubleRedirects, doubleAutonyms, languagesWithoutAutonym;
5+
var orphanScripts, badRedirects, invalidCodes,
6+
doubleRedirects, doubleAutonyms, languagesWithoutAutonym;
67
/*
78
* Runs over all script codes mentioned in langdb and checks whether
89
* they belong to the 'Other' group.
@@ -32,6 +33,22 @@ describe( 'languagedata', function () {
3233
}
3334
return result;
3435
};
36+
/*
37+
* Runs over all languages and checks that all redirects have a valid target.
38+
*/
39+
invalidCodes = function () {
40+
var languageCode,
41+
invalidCharsRe = /[^0-9a-z-]/,
42+
result = [];
43+
44+
for ( languageCode in languageData.getLanguages() ) {
45+
if ( languageCode.match( invalidCharsRe ) ) {
46+
result.push( languageCode );
47+
}
48+
}
49+
50+
return result;
51+
};
3552
/*
3653
* Runs over all languages and checks that all redirects point to a language.
3754
* There's no reason to have double redirects.
@@ -89,6 +106,7 @@ describe( 'languagedata', function () {
89106
it( 'language tags', function () {
90107
assert.ok( languageData.isKnown( 'ar' ), 'Language is unknown' );
91108
assert.ok( !languageData.isKnown( 'unknownLanguageCode!' ), 'Language is known' );
109+
assert.deepEqual( invalidCodes(), [], 'All language codes have no invalid characters.' );
92110
} );
93111

94112
it( 'autonyms', function () {

0 commit comments

Comments
 (0)