Wiktionary viwiktionary https://vi.wiktionary.org/wiki/Wiktionary:Trang_Ch%C3%ADnh MediaWiki 1.47.0-wmf.24 case-sensitive Phương tiện Đặc biệt Thảo luận Thành viên Thảo luận Thành viên Wiktionary Thảo luận Wiktionary Tập tin Thảo luận Tập tin MediaWiki Thảo luận MediaWiki Bản mẫu Thảo luận Bản mẫu Trợ giúp Thảo luận Trợ giúp Thể loại Thảo luận Thể loại Phụ lục Thảo luận Phụ lục TimedText TimedText talk Mô đun Thảo luận Mô đun Sự kiện Thảo luận Sự kiện zeven 0 2191 2573306 2342922 2026-10-25T03:44:33Z Kelly zhrm 58416 2573306 wikitext text/x-wiki =={{langname|nl}}== ==={{section|etym}} 1=== {{number box|nl|7}} {{rfe|nl}} ===={{section|pron}}==== * {{IPA|nl|/ˈzeː.və(n)/}}, {{IPA4|nl|/ˈzøː.və(n)/|a=Hà Lan}} * {{audio|nl|Nl-zeven (Belgium).ogg|a=Bỉ}} * {{audio|nl|Nl-zeven.ogg|a=Hà Lan}} * {{hyphenation|nl|ze|ven}} * {{rhymes|nl|eːvən|s=2}} ===={{section|num}}==== {{head|nl|Số từ}} # {{cln|nl|Số đếm}} [[bảy|Bảy]]. ====={{section|alt}}===== * {{alt|nl|zeuven}} ====={{section|drv}}===== {{col|nl |zeven even |zevenhoek |zevenling |zevenmaal |zevenmijlslaars |zevenslaper |zevenvoud |zevenvoudig |zevenwerf |zeven zeeën }} ====={{section|desc}}===== * {{desc|af|sewe}} * {{desc|brc|sewn}} * {{desc|jvd|seven}} * {{desc|gmw-jdt|zœve|zûve}} * {{desc|dcr|seven|seeven}} * {{desc|srn|seibi|seben|seebien|zeven}} ** {{desc|djk|seibin}} ** {{desc|srm|sebèn}} * {{desc|tri|seihpë|bor=1}} ==={{section|etym}} 2=== Từ {{inh|nl|dum|sēven}}. Tương đương từ {{affix|nl|zeef|-en|id2=denominative}}. ===={{section|pron}}==== * {{IPA|nl|/ˈzeː.və(n)/}} * {{audio|nl|Nl-zeven (Belgium).ogg|a=Bỉ}} * {{audio|nl|Nl-zeven.ogg|a=Hà Lan}} * {{hyphenation|nl|ze|ven}} * {{rhymes|nl|eːvən|s=2}} ===={{section|v}}==== {{nl-verb}} # [[giần|Giần]], [[sàng]], [[rây]]. #: {{syn|nl|ziften|filtreren}} ====={{section|forms}}===== {{nl-conj-wk|zeef|zeve}} ====={{section|desc}}===== * {{desc|af|sif}} * {{desc|dcr|siev}} ==={{section|etym}} 3=== {{nonlemma}} ===={{section|pron}}==== * {{IPA|nl|/ˈzeː.və(n)/}} * {{audio|nl|Nl-zeven (Belgium).ogg|a=Bỉ}} * {{audio|nl|Nl-zeven.ogg|a=Hà Lan}} * {{hyphenation|nl|ze|ven}} * {{rhymes|nl|eːvən|s=2}} ===={{section|n}}==== {{head|nl|Biến thể hình thái danh từ}} # {{plural of|nl|zeef}} 41lu0edfur365pral2zfnt3wu4pguus 2573307 2573306 2026-10-25T03:44:59Z Kelly zhrm 58416 2573307 wikitext text/x-wiki =={{langname|nl}}== ==={{section|etym}} 1=== {{number box|nl|7}} {{rfe|nl}} ===={{section|pron}}==== * {{IPA|nl|/ˈzeː.və(n)/}}, {{IPA|nl|/ˈzøː.və(n)/|a=Hà Lan}} * {{audio|nl|Nl-zeven (Belgium).ogg|a=Bỉ}} * {{audio|nl|Nl-zeven.ogg|a=Hà Lan}} * {{hyphenation|nl|ze|ven}} * {{rhymes|nl|eːvən|s=2}} ===={{section|num}}==== {{head|nl|Số từ}} # {{cln|nl|Số đếm}} [[bảy|Bảy]]. ====={{section|alt}}===== * {{alt|nl|zeuven}} ====={{section|drv}}===== {{col|nl |zeven even |zevenhoek |zevenling |zevenmaal |zevenmijlslaars |zevenslaper |zevenvoud |zevenvoudig |zevenwerf |zeven zeeën }} ====={{section|desc}}===== * {{desc|af|sewe}} * {{desc|brc|sewn}} * {{desc|jvd|seven}} * {{desc|gmw-jdt|zœve|zûve}} * {{desc|dcr|seven|seeven}} * {{desc|srn|seibi|seben|seebien|zeven}} ** {{desc|djk|seibin}} ** {{desc|srm|sebèn}} * {{desc|tri|seihpë|bor=1}} ==={{section|etym}} 2=== Từ {{inh|nl|dum|sēven}}. Tương đương từ {{affix|nl|zeef|-en|id2=denominative}}. ===={{section|pron}}==== * {{IPA|nl|/ˈzeː.və(n)/}} * {{audio|nl|Nl-zeven (Belgium).ogg|a=Bỉ}} * {{audio|nl|Nl-zeven.ogg|a=Hà Lan}} * {{hyphenation|nl|ze|ven}} * {{rhymes|nl|eːvən|s=2}} ===={{section|v}}==== {{nl-verb}} # [[giần|Giần]], [[sàng]], [[rây]]. #: {{syn|nl|ziften|filtreren}} ====={{section|forms}}===== {{nl-conj-wk|zeef|zeve}} ====={{section|desc}}===== * {{desc|af|sif}} * {{desc|dcr|siev}} ==={{section|etym}} 3=== {{nonlemma}} ===={{section|pron}}==== * {{IPA|nl|/ˈzeː.və(n)/}} * {{audio|nl|Nl-zeven (Belgium).ogg|a=Bỉ}} * {{audio|nl|Nl-zeven.ogg|a=Hà Lan}} * {{hyphenation|nl|ze|ven}} * {{rhymes|nl|eːvən|s=2}} ===={{section|n}}==== {{head|nl|Biến thể hình thái danh từ}} # {{plural of|nl|zeef}} i0i0jgo5xyirf18326rekw3st4larye dell 0 12911 2573327 2210806 2026-10-25T05:50:31Z TheHighFighter2 42988 /* Danh từ */ 2573327 wikitext text/x-wiki {{also|Dell|Dëll|dell'}} == {{langname|en}} == === {{ĐM|etym}} === Từ {{inherited|en|enm|delle}}, {{mention|enm|del}} < {{inherited|en|ang|dell|t=thung lũng nhỏ}} < {{inherited|en|gmw-pro|*dalljā}} < {{inherited|en|gem-pro|*daljō|t=chỗ trũng, chỗ lõm sâu hoắm}}, có liên quan đến {{mention|gem-pro|*dalą|t=thung lũng, thung lũng nhỏ}}. === {{ĐM|pron}} === * {{enPR|dĕl}}, {{IPA4|en|/dɛl/}} ** {{audio|en|LL-Q1860 (eng)-Vealhurl-dell.wav|Âm thanh (miền Nam nước Anh)}} * {{rhymes|en|ɛl|s=1}} === {{ĐM|noun}} === {{en-noun}} # [[thung lũng|Thung lũng]] [[nhỏ]] (có cây cối). #* {{quote-book|en|year=1722|author=w:Thomas Tickell|title=Kensington Gardens|text=In '''dells''' and dales, conceal'd from human sight.}} #* '''1794,''' [[w:William Blake|William Blake]], ''[[s:en:The Little Girl Found|The Little Girl Found]]'', dòng 49-50: #*: {{quote|en|To this day they dwell<br>In a lonely '''dell'''.}} ==== {{ĐM|syn}} ==== * {{l|en|dale}} * {{l|en|dingle}} * {{l|en|vale}} * {{l|en|valley}} * Xem thêm [[Thesaurus:valley]] ==== {{ĐM|derived}} ==== {{col-auto|en|farmer in the dell|up hill and down dell}} === {{ĐM|ref}} === {{R:FVDP|db=ev}} == {{langname|enm}} == === {{ĐM|noun}} === {{head|enm|Danh từ}} # {{alternative form of|enm|delle}}. == {{langname|mt}} == {{mt-root|d-l-l}} === {{ĐM|etym}} === {{inh+|mt|ar|ظِلّ}}. === {{ĐM|pron}} === * {{IPA4|mt|/dɛll/}} === {{ĐM|noun}} === {{mt-head|noun|g=m|p=dellijiet,dliel}} # [[bóng|Bóng]] {{gloss|vùng bị che khuất ánh sáng}}. == {{langname|vi}} == === {{ĐM|etym}} === Dựa theo tên gọi của hãng máy tính ''[[w:Dell|Dell]]'', có phát âm gần giống với {{mention|vi|đéo}}. === {{ĐM|pron}} === {{vie-pron|đeo}} === {{ĐM|adv}} === {{vi-adv}} # {{label|vi|internet slang}} {{alternative form of|vi|đéo}}. fk9j29e86t7jw7gto15jx2rcm6n0xhp 2573328 2573327 2026-10-25T06:00:32Z TheHighFighter2 42988 2573328 wikitext text/x-wiki {{also|Dell|Dëll|dell'}} =={{langname|vi}}== ==={{ĐM|etym}}=== Dựa theo tên gọi của hãng máy tính ''[[w:Dell|Dell]]'', có phát âm gần giống với {{mention|vi|đéo}}. ==={{ĐM|pron}}=== {{vi-pron|đéo}} ==={{ĐM|adv}}=== {{vi-adv}} # {{label|vi|internet slang}} {{alternative form of|vi|đéo}}. =={{langname|en}}== ==={{ĐM|etym}}=== Từ {{inherited|en|enm|delle}}, {{mention|enm|del}} < {{inherited|en|ang|dell|t=thung lũng nhỏ}} < {{inherited|en|gmw-pro|*dalljā}} < {{inherited|en|gem-pro|*daljō|t=chỗ trũng, chỗ lõm sâu hoắm}}, có liên quan đến {{mention|gem-pro|*dalą|t=thung lũng, thung lũng nhỏ}}. ==={{ĐM|pron}}=== * {{enPR|dĕl}}, {{IPA|en|/dɛl/}} ** {{audio|en|LL-Q1860 (eng)-Vealhurl-dell.wav|Âm thanh (miền Nam nước Anh)}} * {{rhymes|en|ɛl|s=1}} ==={{ĐM|noun}}=== {{en-noun}} # [[thung lũng|Thung lũng]] [[nhỏ]] (có cây cối). #* {{quote-book|en|year=1722|author=w:Thomas Tickell|title=Kensington Gardens|text=In '''dells''' and dales, conceal'd from human sight.}} #* '''1794,''' [[w:William Blake|William Blake]], ''[[s:en:The Little Girl Found|The Little Girl Found]]'', dòng 49-50: #*: {{quote|en|To this day they dwell<br>In a lonely '''dell'''.}} ===={{ĐM|syn}}==== * {{l|en|dale}} * {{l|en|dingle}} * {{l|en|vale}} * {{l|en|valley}} * Xem thêm [[Kho từ vựng:valley]] ===={{ĐM|derived}}==== {{col-auto|en|farmer in the dell|up hill and down dell}} ==={{ĐM|ref}}=== {{R:FVDP|db=ev}} =={{langname|enm}}== ==={{ĐM|noun}}=== {{head|enm|Danh từ}} # {{alternative form of|enm|delle}}. =={{langname|mt}}== {{mt-root|d-l-l}} ==={{ĐM|etym}}=== {{inh+|mt|ar|ظِلّ}}. ==={{ĐM|pron}}=== * {{IPA|mt|/dɛll/}} * {{rhymes|mt|ɛll|s=1}} ==={{ĐM|noun}}=== {{mt-head|noun|g=m|p=dellijiet,dliel}} # [[bóng|Bóng]] {{gloss|vùng bị che khuất ánh sáng}}. =={{langname|yol}}== ==={{ĐM|preposition}}=== {{head|yol|preposition}} # {{alt form|yol|del}}. ==={{ĐM|ref}}=== * {{R:Poole 1867|page=17}} qzo8loglr3tw1q0b9tv8lfa6ecu1gxr bét nhè 0 27189 2573214 2363405 2026-10-24T13:36:38Z Hiyuune 50834 2573214 wikitext text/x-wiki =={{langname|vi}}== ==={{section|pron}}=== {{vi-pron}} ==={{section|adj}}=== {{vi-adj}} # [[nói|Nói]] [[say]] [[đến mức]] [[nói]] [[lung tung]], [[lè nhè]]. #: {{ux|vi|Hơi đâu mà tiếp chuyện anh '''bét nhè''' ấy.}} # Giống như [[bát nháo]]. ==={{section|ref}}=== * {{R:FVDP}} 1z2r67wxhsmj73lv7o0en6vmdf9k40v thây ma 0 33197 2573316 2168680 2026-10-25T04:24:19Z ~2026-56788-05 62125 /* */ 2573316 wikitext text/x-wiki {{-vie-}} {{-etym-}} {{com|vi|thây|ma}}. Được chứng thực trong ''Từ điển Việt–Bồ–La'' (1651), mặc dù khi đó chỉ mang nghĩa "xác chết" hoặc "người chết"; về sau được dùng để chỉ khái niệm "zombie". {{-pron-}} {{vie-pron}} {{-paro-}} :* [[thay mã]] {{-noun-}} {{vi-noun}} # [[xác chết|Xác chết]] của [[người]] [[đáng]] [[ái ngại]]. #: '''''Thây ma''' còn đó chưa có áo quan.'' # [[thân hình|Thân hình]] của [[kẻ]] [[đáng]] [[coi thường]]. #: ''Nghiện ma tuý từ năm sáu năm, thằng này chỉ còn là cái '''thây ma'''.'' # Chỉ người [[chết]] sống dậy, như [[xác sống]]. {{-ref-}} {{R:FVDP}} bflpsjgbsirtaopcudgdxcvtrzi894b 2573353 2573316 2026-10-25T10:28:42Z Hiyuune 50834 2573353 wikitext text/x-wiki {{also|thay mã}} =={{langname|vi}}== ==={{section|etym}}=== {{com|vi|thây|ma}}. Được chứng thực trong ''Từ điển Việt–Bồ–La'' (1651), mặc dù khi đó chỉ mang nghĩa "xác chết" hoặc "người chết"; về sau được dùng để chỉ khái niệm "zombie". ==={{section|pron}}=== {{vi-pron}} ==={{section|n}}=== {{vi-noun}} # [[xác chết|Xác chết]] của [[người]] [[đáng]] [[ái ngại]]. #: {{ux|vi|'''Thây ma''' còn đó chưa có áo quan.}} # [[thân hình|Thân hình]] của [[kẻ]] [[đáng]] [[coi thường]]. #: {{ux|vi|Nghiện ma tuý từ năm sáu năm, thằng này chỉ còn là cái '''thây ma'''.}} # Chỉ người [[chết]] sống dậy, như [[xác sống]]. ==={{section|ref}}=== * {{R:FVDP}} 6ugw7gb3yifc3xs5mt6ko13pm3uq4ux xe cộ 0 33859 2573312 2202441 2026-10-25T04:11:10Z ~2026-56788-05 62125 /* Tiếng Việt */ 2573312 wikitext text/x-wiki == {{langname|vi}} == === {{ĐM|etym}} === Từ {{com|vi|xe|cộ}}. === {{ĐM|pron}} === {{vie-pron}} === {{ĐM|noun}} === {{vie-noun}} # [[xe|Xe]] {{q|nói khái quát}}. #: {{ux|vi|'''Xe cộ''' qua lại.}} #: {{ux|vi|Tai nạn '''xe cộ'''.}} === {{ĐM|reference}} === {{R:FVDP}} c9xrvaeshzgf14d9zjj7ml2qk77y00o da diết 0 34136 2573318 2362365 2026-10-25T04:48:32Z ~2026-56788-05 62125 /* */ 2573318 wikitext text/x-wiki {{-vie-}} {{-etym-}} Được chứng thực dưới dạng {{m|mkh-mvi|gia giết}} trong ''Từ điển Việt–Bồ–La'' (1651). {{-pron-}} {{vie-pron}} {{-adj-}} '''da diết''' # {{term|Tình cảm}} [[thấm thía|Thấm thía]] và [[day dứt]] không [[nguôi]]. #:''Nỗi buồn '''da diết'''''. #:''Nhớ '''da diết'''''. {{-ref-}} {{R:FVDP}} [[Thể loại:Tính từ tiếng Việt]] [[Thể loại:Tình cảm]] [[Thể loại:Từ láy tiếng Việt]] pbm5zi1p62r7h65554965cvs5bjraay bicyclette 0 37447 2573199 2515949 2026-10-24T13:11:01Z Hiyuune 50834 2573199 wikitext text/x-wiki =={{langname|fr}}== ==={{section|etym}}=== {{ety|fr|:af|bicycle|-ette}} Từ {{af|fr|bicycle|-ette}}. ==={{section|pron}}=== * {{fr-IPA}} * {{audio|fr|Fr-bicyclette.ogg}} * {{audio|fr|LL-Q150 (fra)-DSwissK-bicyclette.wav|a=Valais}} * {{audio|fr|LL-Q150 (fra)-GrandCelinien-bicyclette.wav|a=Paris}} * {{audio|fr|LL-Q150 (fra)-LoquaxFR-bicyclette.wav|a=Vosges}} * {{audio|fr|LL-Q150 (fra)-Poslovitch-bicyclette.wav|a=Vosges}} * {{audio|fr|LL-Q150 (fra)-Touam-bicyclette.wav|a=Saint-Étienne}} * {{audio|fr|LL-Q150 (fra)-WikiLucas00-bicyclette.wav|a=Lyon}} * {{audio|fr|LL-Q150 (fra)-Jérémy-Günther-Heinz Jähnick-bicyclette.wav|a=Somain}} ==={{section|n}}=== {{fr-noun|f}} # [[xe đạp|Xe đạp]]. # {{lb|fr|soccer}} Cú [[ngả]] người [[móc]] [[bóng]]. ===={{section|syn}}==== * {{l|fr|petite reine}} {{q|nói chung}} * {{l|fr|vélo}} {{q|không trang trọng}} ===={{section|desc}}==== {{col-top|2|desc}} * {{desc|gcr|bisiklet}} * {{desc|ht|bisiklèt}} * {{desc|mfe|bisiklet}} * {{desc|ast|bicicleta|bor=1}} * {{desc|eu|bizikleta|bor=1}} * {{desc|ca|bicicleta|bor=1}} * {{desc|shu|بسكليت|bor=1|tr=biskilēt}} * {{desc|gl|bicicleta|bor=1}} * {{desc|acw|بُسْكُليتة|bor=1}} * {{desc|ist|bicicléta|bor=1}} * {{desc|it|bicicletta|bor=1}} {{see desc}} * {{desc|mg|bisikilety|bor=1}} * {{desc|oc|bicicleta|bor=1}} * {{desc|pt|bicicleta|bor=1|alts=1}} * {{desc|ro|bicicletă|bor=1}} * {{desc|scn|picicaletta|bor=1}} * {{desc|es|bicicleta|bor=1}} {{see desc}} * {{desc|tr|bisiklet|bor=1}} ** {{desc|lzz|ბისიქლეთი|bor=1|alts=1}} * {{desc|yi|ביציקלעט|bor=1}} {{col-bottom}} ==={{section|ref}}=== * {{R:FVDP|db=fv}} ==={{section|further}}=== * {{R:fr:TLFi}} 9ztblkvdojq1wk1l0k34wstvkl49vx0 lard 0 40378 2573206 2486896 2026-10-24T13:27:55Z Hiyuune 50834 2573206 wikitext text/x-wiki {{also|Lard|lärd}} =={{langname|en}}== {{wp|en:}} ==={{section|pron}}=== * {{IPA|en|/lɑːd/|a=RP}} ** {{audio|en|LL-Q1860 (eng)-Vealhurl-lard.wav|a=Southern England}} * {{IPA|en|/lɑɹd/|a=GA,Canada}} * {{IPA|en|/lɐːd/|a=AU,NZ}} * {{rhymes|en|ɑː(ɹ)d|s=1}} ==={{section|etym}} 1=== Từ {{inh|en|enm|lard}}, từ {{der|en|fro|lard}}, từ {{der|en|la|lārdum}}, {{m|la|lāridum}}. ===={{section|n}}==== {{en-noun|~}} # [[mỡ|Mỡ]] [[lợn]]. # {{lb|en|slang}} Lượng [[mỡ]] thừa trên cơ thể [[người]] hay [[động vật]]. ====={{section|drv}}===== {{col|en|Amerilard|lardarse|lardhead |enlard |interlard |lardaceous|lard down|lard up|lard-arse|lard-bucket |lardass |lardassed |lard-assed |lardball |lardboy |lardbucket |lardbutt |lardless |lardlike |lardon |lardoon |lardy |lardy cake |leaf lard |tubbalard |tubba lard |tub of lard |unlarded |bald as a bladder of lard|lard-ass}} ==={{section|etym}} 2=== Từ {{inh|en|enm|larden}}, từ {{der|en|fro|larder}} và {{der|en|la-med|lārdō}}. ===={{section|v}}==== {{en-verb}} # {{lb|en|cooking}} [[nhét|Nhét]] [[mỡ]] vào [[thịt]] để [[rán]]. # [[phết|Phết]], [[bôi]], [[trét]] [[mỡ]]. # [[chêm|Chêm]] vào, đệm vào (lời nói, văn viết). #: {{ux|en|To '''lard''' one's speech with technical terms.|Chêm thuật ngữ chuyên môn vào bài nói.}} ====={{section|drv}}===== {{col2|en|larding needle|overlard}} ==={{section|ref}}=== * {{R:FVDP|db=ev}} ==={{section|ana}}=== * {{anagrams|en|a=adlr|ARLD|LDAR|LRAD|darl}} =={{langname|fr}}== ==={{section|etym}}=== {{inh+|fr|fro|lard}}, từ {{inh|fr|la|lārdum}}, {{m|la|lāridum}}. ==={{section|pron}}=== * {{fr-IPA}} * {{audio|fr|Fr-lard.ogg}} * {{audio|fr|LL-Q150 (fra)-DSwissK-lard.wav|a=Valais}} * {{audio|fr|LL-Q150 (fra)-Poslovitch-lard.wav|a=Vosges}} ==={{section|n}}=== {{fr-noun|m}} # [[thịt|Thịt]] [[lợn]] [[muối]] [[xông]] [[khói]]. # [[mỡ lá|Mỡ lá]]. # [[gỗ dác|Gỗ dác]]. ===={{section|drv}}==== * {{l|fr|gros lard}} * {{l|fr|lardon}} * {{l|fr|larder}} ==={{section|ref}}=== * {{R:FVDP|db=fv}} ==={{section|further}}=== * {{R:fr:TLFi}} nkkungs64rtvecdh56acz5f5tsw35p8 croissance 0 43005 2573373 2517676 2026-10-25T11:20:54Z Hiyuune 50834 2573373 wikitext text/x-wiki =={{langname|fr}}== ==={{section|pron}}=== * {{fr-IPA}} * {{audio|fr|LL-Q150 (fra)-LoquaxFR-croissance.wav|a=Vosges}} * {{rhymes|fr|ɑ̃s|s=2}} ==={{section|n}}=== {{fr-noun|f}} # [[sự|Sự]] [[sinh trưởng]], [[sự]] [[lớn lên]]. ===={{section|drv}}==== {{col3|fr |croissance exponentielle |poussée de croissance }} ===={{section|rel}}==== * {{l|fr|croître}} ==={{section|ref}}=== * {{R:FVDP|db=fv}} au8yb4uy0q57ov4js2r6ipwrolpkm1g fédération 0 45536 2573303 2472743 2026-10-25T02:50:42Z Hiyuune 50834 /* */ 2573303 wikitext text/x-wiki {{also|federation|Federation}} =={{langname|fr}}== ==={{section|alt}}=== * {{alt|fr|fœdération||obsolete}} ==={{section|etym}}=== {{ety|fr|:lbor|la:foederātiō<alt:foederātiōnem>}} {{lbor|fr|la|foederātiō|foederātiōnem}}. {{surf|fr|fédérer|-ation}}. ==={{section|pron}}=== * {{fr-IPA}} * {{audio|fr|Fr-fédération.ogg}} * {{audio|fr|LL-Q150 (fra)-Lepticed7-fédération.wav|a=Toulouse}} * {{audio|fr|LL-Q150 (fra)-LoquaxFR-fédération.wav|a=Vosges}} * {{audio|fr|LL-Q150 (fra)-WikiLucas00-fédération.wav|a=Lyon}} * {{audio|fr|LL-Q150 (fra)-Jérémy-Günther-Heinz Jähnick-fédération.wav|a=Somain}} * {{audio|fr|LL-Q150 (fra)-Bananax47-fédération.wav|a=Agen}} ==={{section|n}}=== {{fr-noun|f}} # [[liên bang|Liên bang]]. # [[liên minh|Liên minh]], [[liên đoàn]], [[liên hiệp]]. #: {{ux|fr|'''Fédération''' de football.|Liên đoàn bóng đá.}} ===={{section|desc}}==== * {{desc|bg|федера́ция|bor=1}} * {{desc|ht|federasyon|bor=1}} * {{desc|fa|فدراسیون|tr=federâsiyon|bor=1}} * {{desc|ro|federație|bor=1}} * {{desc|ru|федерация|tr=federácija|bor=1}} * {{desc|tr|federasyon|bor=1}} * {{desc|uk|федерація|tr=federácija|bor=1}} ==={{section|ref}}=== * {{R:FVDP|db=fv}} ==={{section|further}}=== * {{R:fr:TLFi}} 1bv8uxuhstzeyhwe3xgnmksq4jx20sj проверенный 0 66569 2573344 1974947 2026-10-25T09:53:24Z Hiyuune 50834 2573344 wikitext text/x-wiki =={{langname|ru}}== ==={{section|pron}}=== * {{ru-IPA|прове́ренный}} ==={{section|ptcp}}=== {{head|ru|Phân từ quá khứ bị động|head=прове́ренный}} # {{participle of|ru|прове́рить||pfv|past|pass}} ===={{section|decl}}==== {{ru-decl-adj|прове́ренный|a(2)}} ==={{section|adj}}=== {{ru-adj|прове́ренный}} # Được [[thử thách]], [[dày dạn]], tốt. ===={{section|decl}}==== {{ru-decl-adj|прове́ренный|a(1)}} ==={{section|rel}}=== * {{l|ru|проверя́ть|g=impf}}, {{l|ru|прове́рить|g=pf}} * {{l|ru|прове́рка|g=f}} ==={{section|ref}}=== * {{R:FVDP|db=rv}} 6xmfcsje0hykefmr8lfmu77hdzokqrw 2573345 2573344 2026-10-25T09:54:55Z Hiyuune 50834 2573345 wikitext text/x-wiki =={{langname|ru}}== ==={{section|pron}}=== * {{ru-IPA|прове́ренный}} ==={{section|ptcp}}=== {{head|ru|Phân từ quá khứ bị động|head=прове́ренный}} # {{participle of|ru|прове́рить||pfv|past|pass}} ===={{section|decl}}==== {{ru-decl-adj|прове́ренный|a(2)}} ==={{section|adj}}=== {{ru-adj|прове́ренный}} # Được [[thử thách]] qua thời gian; được [[kiểm tra]], đáng tin cậy. ===={{section|decl}}==== {{ru-decl-adj|прове́ренный|a(1)}} ==={{section|rel}}=== * {{l|ru|проверя́ть|g=impf}}, {{l|ru|прове́рить|g=pf}} * {{l|ru|прове́рка|g=f}} ==={{section|ref}}=== * {{R:FVDP|db=rv}} 44c2huhlxv1covljyhxeb9t8usftoyn кругозор 0 72749 2573338 2446076 2026-10-25T09:42:00Z Hiyuune 50834 2573338 wikitext text/x-wiki =={{langname|ru}}== ==={{section|etym}}=== {{m|ru|круг}} + {{m|ru|зор}}. ==={{section|pron}}=== * {{ru-IPA|кругозо́р}} ==={{section|n}}=== {{ru-noun+|кругозо́р}} # [[nhãn quang|Nhãn quang]], [[tầm mắt]], [[tầm]] [[hiểu biết]]. ===={{section|decl}}==== {{ru-noun-table|кругозо́р}} ==={{section|ref}}=== * {{R:FVDP}} =={{langname|sh}}== ==={{section|etym}}=== {{m|sh|круг}} + {{m|sh|зор}} ==={{section|pron}}=== * {{IPA|sh|/krûɡozor/}} * {{hyphenation|sh|кру|го|зор}} ==={{section|n}}=== {{sh-noun|кру̏гозор|m}} # {{lb|sh|literary}} [[nhãn quang|Nhãn quang]], [[tầm mắt]], [[tầm]] [[hiểu biết]]. ==={{section|ref}}=== * {{R:sh:HJP|elhvXxc%3D}} 5qdmo54qxcmbr4d1v3v0rk6wyxtkto2 дотация 0 74743 2573349 2526683 2026-10-25T09:58:51Z Hiyuune 50834 2573349 wikitext text/x-wiki =={{langname|ru}}== ==={{section|pron}}=== * {{ru-IPA|дота́ция}} ==={{section|n}}=== {{ru-noun+|дота́ция}} # [[tiền|Tiền]] [[cấp]] thêm, [[tiền]] [[trợ cấp]] (của nhà nước cho xí nghiệp, cơ quan). ===={{section|decl}}==== {{ru-noun-table|дота́ция}} ==={{section|ref}}=== * {{R:FVDP|db=rv}} muyeoldmagivtt57c447g919lwo99se федерация 0 76296 2573302 2532447 2026-10-25T02:43:20Z Hiyuune 50834 /* */ 2573302 wikitext text/x-wiki =={{langname|ru}}== ==={{section|alt}}=== * {{alter|ru|федера́ція||ru-PRO}} ==={{section|etym}}=== {{ety|ru|:bor|fr:fédération}} {{bor+|ru|fr|fédération}}. ==={{section|pron}}=== * {{ru-IPA|федера́ция}} * {{audio|ru|Ru-федерация.ogg}} ==={{section|n}}=== {{ru-noun+|федера́ция}} # [[liên bang]]. #: {{uxi|ru|[[Росси́йская Федера́ция]]|t=Liên bang Nga}} ===={{section|decl}}==== {{ru-noun-table|федера́ция}} ===={{section|rel}}==== * {{l|ru|федера́льный}} * {{l|ru|федерати́вный}} ===={{section|desc}}==== * {{desc|az|federasiya|bor=1}} * {{desc|bua|федераци|bor=1}} * {{desc|ka|ფედერაცია|bor=1}} * {{desc|kk|федерация|bor=1}} * {{desc|ky|федерация|bor=1}} * {{desc|tt|федерация|bor=1}} * {{desc|tg|федератсия|федерасия|bor=1}} * {{desc|tk|federasiýa|bor=1}} * {{desc|ug|فېدېراتسىيە|bor=1}} * {{desc|bor=1|uz|federatsiya|federasiya}} * {{desc|sah|бэдэрээссийэ|bor=1}} * {{desc|yi|פֿעדעראַציע|bor=1}} ==={{section|ref}}=== * {{R:FVDP|db=rv}} ce5o38xx56yp6abqfn612kzf42a0u6v проверить 0 78746 2573342 2555614 2026-10-25T09:48:48Z Hiyuune 50834 2573342 wikitext text/x-wiki =={{langname|ru}}== ==={{section|alt}}=== * {{alter|ru|проверить||ru-PRO}} ==={{section|etym}}=== {{af|ru|про-|ве́рить}}. ==={{section|pron}}=== * {{ru-IPA|прове́рить}} * {{audio|ru|Ru-проверить.ogg}} ==={{section|v}}=== {{ru-verb|прове́рить|pf|impf=проверя́ть}} # [[kiểm tra]], [[thẩm định]], [[xác minh]], [[kiểm chứng]]. ===={{section|forms}}==== {{ru-conj|pf|4a+p|прове́рить}} ===={{section|drv}}==== * {{l|ru|прове́рка}} * {{l|ru|прове́риться}}, {{l|ru|проверя́ться}} ===={{section|desc}}==== * {{desc|izh|proveroittaa|bor=1}} ==={{section|ref}}=== * {{R:FVDP}} tf8ateygd2dtekc15ut7nky5ygtseb2 sluggishness 0 104295 2573260 2422825 2026-10-24T14:12:34Z Hiyuune 50834 2573260 wikitext text/x-wiki =={{langname|en}}== ==={{section|etym}}=== {{ety|en|:af|sluggish|-ness|text=+|tree=1}} ==={{section|pron}}=== * {{audio|en|LL-Q1860 (eng)-Vealhurl-sluggishness.wav|a=Southern England}} ==={{section|n}}=== {{en-noun|-|+}} # [[tính|Tính]] [[chậm chạp]]; [[tính]] [[uể oải]], [[tính]] [[lờ]] đờ, [[tính]] [[lờ phờ]]. ==={{section|ref}}=== * {{R:FVDP}|db=ev} 4h6md6a1erdoysax5qaamcx5f9goz3u vênh 0 129800 2573216 2419180 2026-10-24T13:43:30Z Trinhhoa 12084 /* */ Thêm một ví dụ 2573216 wikitext text/x-wiki {{-vie-}} {{-pron-}} {{vi-pron|vênh}} {{-nôm-}} {{đầu}} *[[永]]: [[vảnh]], [[vánh]], [[vênh]], [[văng]], [[vểnh]], [[vắng]], [[vĩnh]], [[vẳng]], [[viếng]] *[[榮]]: [[vang]], [[vành]], [[vênh]], [[văng]], [[vểnh]], [[vinh]], [[vanh]] {{cuối}} {{-paro-}} :* [[vểnh]] {{-adj-}} '''vênh''' * Xem dưới đây {{-adv-}} '''vênh''' ''trgt.'' # Không được [[thẳng]]. #: ''Vợ dại không hại bằng đũa '''vênh'''. ([[tục ngữ]])'' #: ''Trái duyên, trái kiếp như kèo đục '''vênh'''. ([[tục ngữ]])'' #: ''Sừng trâu vênh '''vênh'''.'' {{-trans-}} {{-ref-}} {{R:FVDP}} {{R:WinVNKey:Lê Sơn Thanh}} [[Thể loại:Tính từ tiếng Việt]] [[Thể loại:Phó từ tiếng Việt]] =={{langname|crw}}== ==={{ĐM|adj}}=== {{head|crw|Tính từ}} # [[đầy]]. ==={{ĐM|ref}}=== * Thomas, David. (1970) ''Vietnam word list (revised): Chrau Jro''. SIL International. p1fpjwocuqr4kyg2xw89vzz9q0x5usg contentif 0 134980 2573341 1817061 2026-10-25T09:46:45Z Hiyuune 50834 2573341 wikitext text/x-wiki =={{langname|fr}}== ==={{section|adj}}=== {{fr-adj}} # [[giữ|Giữ]]. #: {{ux|fr|Bandage '''contentif'''.|Băng giữ.}} ==={{section|ref}}=== * {{R:FVDP|db=fv}} ==={{section|ana}}=== * {{l|fr|confitent}} {{C|fr|Y học}} 0njmqdryc9nfeovf7jgvjddx7zcfrww láng giềng 0 142624 2573315 2360398 2026-10-25T04:16:12Z ~2026-56788-05 62125 /* */ 2573315 wikitext text/x-wiki {{-vie-}} {{-etym-}} Được chứng thực dưới dạng {{m|mkh-mvi|láng diềng}} trong ''Từ điển Việt–Bồ–La'' (1651). {{-pron-}} {{vie-pron}} {{-noun-}} {{vi-noun}} # [[người|Người]] ở cạnh [[nhà]] hoặc ở [[gần]] [[nhà]]. #: ''Bán anh em xa mua '''láng giềng''' gần. ([[tục ngữ]])'' {{-ref-}} {{R:FVDP}} 0dkp21tm7p552te99qh345m667a1uzh trăn trở 0 143474 2573319 1934689 2026-10-25T04:50:16Z ~2026-56788-05 62125 /* */ 2573319 wikitext text/x-wiki {{-vie-}} {{-etym-}} Được chứng thực dưới dạng {{m|mkh-mvi|blăn blở}} trong ''Từ điển Việt–Bồ–La'' (1651). Liên quan đến {{m|vi|lăn}} và {{m|vi|trở}}. {{-pron-}} {{vie-pron}} {{-verb-}} '''trăn trở''' # {{term|Đph}} [[lật|Lật]] [[đi]] [[lật]] [[lại]]. #: '''''Trăn trở''' suy nghĩ về cuộc sống.'' # {{like-entry|trằn trọc|trằn trọc}} #: '''''Trăn trở''' suốt đêm không chợp mắt.'' {{-ref-}} {{R:FVDP}} [[Thể loại:Động từ tiếng Việt]] o7tz36vpaj5n800eth5of03ads3nvca hard-liner 0 150401 2573366 2476671 2026-10-25T11:13:31Z Hiyuune 50834 2573366 wikitext text/x-wiki {{also|hardliner}} =={{langname|en}}== ==={{section|alt}}=== * {{alt|en|hardliner}} ==={{section|etym}}=== {{ety|en|:af|hard line|-er|text=+|tree=1}} ==={{section|n}}=== {{en-noun}} # [[người|Người]] [[kiên]] định [[lập trường]], [[người]] [[kiên quyết]] ủng [[hộ]]. #: {{ant|en|soft-liner}} ===={{section|desc}}==== * {{desc|de|Hardliner|bor=1}} ==={{section|ref}}=== * {{R:FVDP|db=ev}} dyju2qkb27ljrdwijja26k6x5k9pzv7 2573367 2573366 2026-10-25T11:14:08Z Hiyuune 50834 2573367 wikitext text/x-wiki {{also|hardliner}} =={{langname|en}}== ==={{section|alt}}=== * {{alt|en|hardliner}} ==={{section|etym}}=== {{ety|en|:af|hard line|-er|text=+|tree=1}} ==={{section|n}}=== {{en-noun}} # [[người|Người]] [[kiên định]] [[lập trường]], [[người]] [[kiên quyết]] [[ủng hộ]]. #: {{ant|en|soft-liner}} ===={{section|desc}}==== * {{desc|de|Hardliner|bor=1}} ==={{section|ref}}=== * {{R:FVDP|db=ev}} 0ef8hmfw7vqoalvc7u3be1mlkjc8osa libretti 0 154816 2573215 2534434 2026-10-24T13:43:23Z Hiyuune 50834 2573215 wikitext text/x-wiki {{also|Libretti}} =={{langname|en}}== ==={{section|n}}=== {{head|en|Biến thể hình thái danh từ}} # {{lb|en|rare}} {{plural of|en|libretto}} =={{langname|nl}}== ==={{section|n}}=== {{head|nl|Biến thể hình thái danh từ}} # {{plural of|nl|libretto}} =={{langname|it}}== ==={{section|n}}=== {{head|it|Biến thể hình thái danh từ|g=m}} # {{plural of|it|libretto}} bj7m0tz2v840xcwl0gc6ftz1spx753c withstanding 0 156175 2573383 2403011 2026-10-25T11:33:36Z Hiyuune 50834 2573383 wikitext text/x-wiki =={{langname|en}}== ==={{section|v}}=== {{head|en|Biến thể hình thái động từ}} # {{infl of|en|withstand||ing-form}} ===={{section|drv}}==== {{col|en|notwithstanding|withstandingness}} 4j9fb695538ogy3kueamfss2meii8dv withstand 0 171307 2573381 2403010 2026-10-25T11:32:24Z Hiyuune 50834 2573381 wikitext text/x-wiki =={{langname|en}}== ==={{section|pron}}=== * {{IPA|en|/wɪðˈstænd/|/wɪθˈstænd/}} ** {{audio|en|LL-Q1860 (eng)-Pvanp7-withstand.wav|a=UK}} ** {{audio|en|en-us-withstand.ogg|a=US}} * {{rhymes|en|ænd|s=2}} * {{hyphenation|en|with|stand}} ==={{section|v}}=== {{en-verb|+|+|withstood}} # {{lb|en|transitive}} [[chống|Chống]] lại, [[chống cự]]; [[chịu đựng]]; [[chống chọi]]. #: {{syn|en|take|bear}} #: {{ux|en|To '''withstand''' a siege.|Chống lại một cuộc bao vây.}} #: {{ux|en|To '''withstand''' hard wear.|Chịu được mòn.}} ===={{section|drv}}==== {{col|en|dielectric withstand test|withstandable|withstander}} ===={{section|rel}}==== * {{l|en|notwithstanding}} * {{l|en|withstanding}} ==={{section|ref}}=== * {{R:FVDP|db=ev}} {{cln|en|Động từ bất quy tắc}} 9c25qyq9osfeq996097ltdnognmne8n replacement investment 0 173981 2573371 2491264 2026-10-25T11:17:19Z Hiyuune 50834 2573371 wikitext text/x-wiki =={{langname|en}}== ==={{section|n}}=== {{en-noun|-}} # [[đầu tư|Đầu tư]] [[thay thế]]. ==={{section|ref}}=== * {{R:FVDP|db=ev}} {{C|en|Kinh tế học}} r8o4vbonhuq2emhwz53jhmaqzf6o8iw auditing 0 175636 2573359 2452377 2026-10-25T11:03:28Z Hiyuune 50834 2573359 wikitext text/x-wiki =={{langname|en}}== ==={{section|n}}=== {{en-noun}} # [[kiểm tra|Kiểm tra]] [[quản lý]]. ===={{section|drv}}==== {{col|en|ecoauditing}} ==={{section|v}}=== {{head|en|Biến thể hình thái động từ}} # {{infl of|en|audit||ing-form}} ==={{section|ref}}=== * {{R:FVDP|db=ev}} ivnc8qv0agr94hjm8ps2j09vb8tyttl stylisticien 0 180768 2573336 1922427 2026-10-25T09:39:45Z Hiyuune 50834 2573336 wikitext text/x-wiki =={{langname|fr}}== ==={{section|pron}}=== * {{audio|fr|LL-Q150 (fra)-Lepticed7-stylisticien.wav|a=Toulouse}} * {{audio|fr|LL-Q150 (fra)-WikiLucas00-stylisticien.wav|a=Lyon}} * {{audio|fr|LL-Q150 (fra)-Jérémy-Günther-Heinz Jähnick-stylisticien.wav|a=Somain}} ==={{section|n}}=== {{fr-noun|m|f=+}} # [[nhà|Nhà]] [[phong cách]] [[học]], [[nhà]] [[tu từ học]]. ==={{section|ref}}=== * {{R:FVDP|db=fv}} ==={{section|further}}=== * {{R:fr:TLFi}} ktl3smxhpauqej4kugzcgklxc82gd8f phao câu 0 191525 2573201 1891232 2026-10-24T13:20:27Z Hiyuune 50834 2573201 wikitext text/x-wiki =={{langname|vi}}== ==={{section|pron}}=== {{vi-pron}} ==={{section|n}}=== {{vi-noun|cls=cái}} # [[phần|Phần]] [[thịt]] [[lắm]] [[mỡ]] ở [[cuống]] đuôi các [[giống]] [[chim]]. #: {{ux|vi|Thứ nhất '''phao câu''', thứ nhì đầu cánh.}} ==={{section|ref}}=== * {{R:FVDP}} g3wfs161k9dnoukqlx4tf7hbdqzn5py 2573202 2573201 2026-10-24T13:20:41Z Hiyuune 50834 2573202 wikitext text/x-wiki =={{langname|vi}}== {{wp}} ==={{section|pron}}=== {{vi-pron}} ==={{section|n}}=== {{vi-noun|cls=cái}} # [[phần|Phần]] [[thịt]] [[lắm]] [[mỡ]] ở [[cuống]] đuôi các [[giống]] [[chim]]. #: {{ux|vi|Thứ nhất '''phao câu''', thứ nhì đầu cánh.}} ==={{section|ref}}=== * {{R:FVDP}} 1zrb5eo1i8qcrybloy00j44leag5wia phục binh 0 195619 2573350 1892629 2026-10-25T09:59:54Z Hiyuune 50834 2573350 wikitext text/x-wiki =={{langname|vi}}== ==={{section|pron}}=== {{vi-pron}} ==={{section|pron}}=== {{vi-pron}} # [[quân đội|Quân đội]] [[nấp]] một [[chỗ]], [[chờ]] [[địch]] đến mà [[đánh]]. ==={{section|ref}}=== * {{R:FVDP}} 6wge8898jcrv8ptjd4rc3w9mzn79guj 2573351 2573350 2026-10-25T10:00:04Z Hiyuune 50834 2573351 wikitext text/x-wiki =={{langname|vi}}== ==={{section|pron}}=== {{vi-pron}} ==={{section|n}}=== {{vi-noun}} # [[quân đội|Quân đội]] [[nấp]] một [[chỗ]], [[chờ]] [[địch]] đến mà [[đánh]]. ==={{section|ref}}=== * {{R:FVDP}} cs3k1epgca4e6zh0umz26jntlz5ut1t son sẻ 0 198371 2573369 1326865 2026-10-25T11:16:15Z Hiyuune 50834 2573369 wikitext text/x-wiki =={{langname|vi}}== ==={{section|pron}}=== {{vi-pron}} ==={{section|n}}=== {{vi-noun}} # [[nói|Nói]] [[người]] [[vợ]] [[còn]] [[trẻ]] chưa [[có con]]. ==={{section|ref}}=== * {{R:FVDP}} 9gg3cyb6k31tz1z7r43vq0vv1yfokiq 2573370 2573369 2026-10-25T11:16:25Z Hiyuune 50834 2573370 wikitext text/x-wiki =={{langname|vi}}== ==={{section|pron}}=== {{vi-pron}} ==={{section|n}}=== {{vi-noun}} # [[nói|Nói]] [[người]] [[vợ]] [[còn]] [[trẻ]] chưa có [[con]]. ==={{section|ref}}=== * {{R:FVDP}} 33a72o090on9va9cdo0syw7rqvem3v6 rừng rú 0 198532 2573313 2204865 2026-10-25T04:12:02Z ~2026-56788-05 62125 /* Tiếng Việt */ 2573313 wikitext text/x-wiki == {{langname|vi}} == === {{ĐM|etym}} === Từ {{af|vi|rừng|rú}}. === {{ĐM|pron}} === {{vie-pron}} === {{ĐM|noun}} === {{vie-noun}} # [[rừng|Rừng]] nói chung. === {{ĐM|reference}} === {{R:FVDP}} dnoc4trwbl118rkpgsmtzmw3c4rmgc3 audited 0 220675 2573358 2193757 2026-10-25T10:56:30Z Hiyuune 50834 2573358 wikitext text/x-wiki =={{langname|en}}== ==={{section|v}}=== {{head|en|Biến thể hình thái động từ}} # {{infl of|en|audit||ed-form}} ===={{section|drv}}==== {{col|en|nonaudited|unaudited}} fn6es4a2sixejaks2s09j0n3zfbn1y9 lards 0 227256 2573207 1866673 2026-10-24T13:29:45Z Hiyuune 50834 2573207 wikitext text/x-wiki =={{langname|en}}== ==={{section|pron}}=== * {{IPA|en|/lɑɹdz/|a=GA}} * {{IPA|en|/lɑːdz/|a=RP}} * {{rhymes|en|ɑː(ɹ)dz|s=1}} ==={{section|n}}=== {{head|en|Biến thể hình thái danh từ}} # {{plural of|en|lard}} ==={{section|v}}=== {{head|en|Biến thể hình thái động từ}} # {{infl of|en|lard||s-verb-form}} ==={{section|ana}}=== * {{anagrams|en|a=adlrs|LRADs|darls}} =={{langname|fr}}== ==={{section|n}}=== {{head|fr|Biến thể hình thái danh từ|g=m}} # {{plural of|fr|lard}} l0cr1i356p8o7f19jsr778t4nxnnmui auditioning 0 228716 2573360 2163240 2026-10-25T11:04:58Z Hiyuune 50834 2573360 wikitext text/x-wiki =={{langname|en}}== ==={{section|v}}=== {{head|en|Biến thể hình thái động từ}} # {{infl of|en|audition||ing-form}}. 7nrvyzvq2773p6gfemcxpmxshxxym5j 剀 0 234332 2573293 2021180 2026-10-25T02:03:50Z Hiyuune 50834 /* */ 2573293 wikitext text/x-wiki {{also|剴}} {{character info}} =={{langname|mul}}== ==={{ĐM|han}}=== {{Han char|rn=18|rad=刀|as=06|sn=8|four=|canj=UULN|ids=⿰岂刂}} ===={{ĐM|ref}}==== * {{Han ref|kx=0139.251|hdz=10334.090|uh=5240}} =={{langname|zh}}== {{zh-see|剴}} ee0idqzoszqhszgaaltwcmbogvrps4s 旭 0 234986 2573217 2025017 2026-10-24T13:48:42Z Hiyuune 50834 2573217 wikitext text/x-wiki {{also|旯|旮}} {{character info}} =={{langname|mul}}== {{stroke order|strokes=6}} ==={{ĐM|han}}=== {{Han char|rn=72|rad=日|as=02|sn=6|four=46010|canj=KNA|ids=⿺九日}} ===={{ĐM|derived characters}}==== * {{l|mul|[[𮎴]], [[𢬐]], [[𣑢]], [[𪺬]], [[𫀯]], [[𮡵]], [[𬲑]], [[𫘲]]}} ===={{ĐM|ref}}==== * {{Han ref|kx=0489.190|dkj=13747|dj=0851.010|hdz=21485.040|uh=65ED}} =={{langname|zh}}== {{zh-forms|alt=旮}} ==={{ĐM|glyph origin}}=== {{Han etym}} {{Han compound|九|日|c1=p|c2=s|ls=psc|t2=Mặt Trời}}. ==={{ĐM|pron}}=== {{zh-pron |m=xù |m-s= |c=juk1 |c-t= |g= |h=pfs=hiuk/khiuk |j= |mb= |md=hé̤ṳk |mn=qz,tw,xm,zz:hiok |mn-t=hiog4 |px=pt:hoeh6/xy:hyoeh6 |w=sh:7shioq |x= |mc=y |oc=y |ma= |cat=n,a }} ==={{ĐM|dfn}}=== {{head|zh|hanzi}} # {{C|zh|Mặt Trời}} [[Mặt Trời]] [[mọc]]. # Sáng chói, sáng rực; nắng chói. ===={{ĐM|see}}==== * {{zh-l|日出|bình minh}} * {{zh-l|曉|rạng đông}} ==={{ĐM|com}}=== {{col3|zh|旭日東升|旭蟹|智旭|旭日初升|旭旦|旭旭|旭日}} ==={{ĐM|further}}=== * {{R:yue:Hanzi}} * {{R:cpx:PHMZ|268}} 22jdoguz0b5ckvx85j2fclgzcsnfa4s 2573219 2573217 2026-10-24T13:50:37Z Hiyuune 50834 /* Tiếng Trung Quốc */ (sử dụng [[MediaWiki:Gadget-AjaxEdit.js|AjaxEdit]]) 2573219 wikitext text/x-wiki {{also|旯|旮}} {{character info}} =={{langname|mul}}== {{stroke order|strokes=6}} ==={{ĐM|han}}=== {{Han char|rn=72|rad=日|as=02|sn=6|four=46010|canj=KNA|ids=⿺九日}} ===={{ĐM|derived characters}}==== * {{l|mul|[[𮎴]], [[𢬐]], [[𣑢]], [[𪺬]], [[𫀯]], [[𮡵]], [[𬲑]], [[𫘲]]}} ===={{ĐM|ref}}==== * {{Han ref|kx=0489.190|dkj=13747|dj=0851.010|hdz=21485.040|uh=65ED}} =={{langname|ja}}== ==={{ĐM|kanji}}=== {{ja-kanji|grade=|rs=日02}} # [[Mặt Trời]] [[mọc]]. ===={{ĐM|reading}}==== {{ja-readings |goon=こく |kanon=きょく |kun=あさひ-, あき, てる, あきら }} ==={{ĐM|etym}} 1=== {{ja-kanjitab|あさひ|yomi=k}} ===={{ĐM|n}}==== {{ja-noun|あさひ}} {{ja-see|朝日}} ===={{ĐM|pr-noun}}==== {{ja-pos|proper|あさひ}} # {{place|ja|t=Asahi|thành phố|pref/Chiba|c/Nhật Bản|sort=あさひ}} # {{surname|ja|sort=あさひ}} ==={{ĐM|etym}} 2=== {{ja-kanjitab|あきら|yomi=k}} ===={{ĐM|pr-noun}}==== {{ja-pos|proper|あきら}} # {{given name|ja|nam|sort=あきら}} ==={{ĐM|ref}}=== * {{R:Kanjipedia Kotoba|0001572000|<sup>▲</sup>旭}} =={{langname|zh}}== {{zh-forms|alt=旮}} ==={{ĐM|glyph origin}}=== {{Han etym}} {{Han compound|九|日|c1=p|c2=s|ls=psc|t2=Mặt Trời}}. ==={{ĐM|pron}}=== {{zh-pron |m=xù |m-s= |c=juk1 |c-t= |g= |h=pfs=hiuk/khiuk |j= |mb= |md=hé̤ṳk |mn=qz,tw,xm,zz:hiok |mn-t=hiog4 |px=pt:hoeh6/xy:hyoeh6 |w=sh:7shioq |x= |mc=y |oc=y |ma= |cat=n,a }} ==={{ĐM|dfn}}=== {{head|zh|hanzi}} # {{C|zh|Mặt Trời}} [[Mặt Trời]] [[mọc]]. # Sáng chói, sáng rực; nắng chói. ===={{ĐM|see}}==== * {{zh-l|日出|bình minh}} * {{zh-l|曉|rạng đông}} ==={{ĐM|com}}=== {{col3|zh|旭日東升|旭蟹|智旭|旭日初升|旭旦|旭旭|旭日}} ==={{ĐM|further}}=== * {{R:yue:Hanzi}} * {{R:cpx:PHMZ|268}} mnb4geo70u95lnqw8q5okqb1tw3je0k bản chép 0 243380 2573348 1448599 2026-10-25T09:57:43Z Hiyuune 50834 2573348 wikitext text/x-wiki =={{langname|vi}}== ==={{section|pron}}=== {{vi-pron}} ==={{section|n}}=== {{vi-noun}} # {{see-entry|bản sao}} 78td7m2w2nh7h4fs971xru5zf2i90ba aufrechterhalten 0 261186 2573361 2334383 2026-10-25T11:06:27Z Hiyuune 50834 2573361 wikitext text/x-wiki =={{langname|de}}== ==={{section|etym}}=== {{ety|de|:af|aufrecht|erhalten}} {{compound|de|aufrecht|erhalten}}. ==={{section|pron}}=== * {{IPA|de|/ˈaʊ̯fʁɛçtʔɛɐ̯ˌhaltn̩/}} * {{audio|de|De-aufrechterhalten.ogg|a=Berlin}} ==={{section|v}}=== {{de-verb|aufrecht.erhalten<erhält-#erhielt,erhalten>}} # [[giữ|Giữ]], [[giữ gìn]], [[duy trì]], [[bảo tồn]]. ===={{section|forms}}==== {{de-conj|aufrecht.erhalten<erhält-#erhielt,erhalten>}} ==={{section|see}}=== * {{l|de|behaupten}} * {{l|de|bestehen}} * {{l|de|fordern}} * {{l|de|beanspruchen}} ==={{section|further}}=== * {{R:de:DWDS}} * {{R:de:Grimm}} * {{R:de:Duden}} * {{R:de:OpenThesaurus}} 2qn8ibo74i8oft464s4j2mgafn8blp3 marta 0 263766 2573281 2127907 2026-10-25T01:16:21Z Hiyuune 50834 /* */ 2573281 wikitext text/x-wiki {{also|Marta|MARTA|Márta|Mártá|martā|Märta|Marťa}} =={{langname|krl}}== {{krl-regional|-|marta}} {{enum|krl|feurali|aprelʹa|Tháng trong năm}} ==={{section|etym}}=== Vay mượn từ {{bor|krl|ru|март}}. ==={{section|pron}}=== * {{IPA|krl|/ˈmɑrtɑ/}} * {{hyph|krl|mar|ta}} ==={{section|n}}=== {{krl-noun|martan|martua}} # {{lb|krl|Nam Karelia}} [[tháng Ba|Tháng Ba]]. ===={{section|decl}}==== {{krl-decl-T/kala|rt|rt}} {{krl-decl-poss}} ===={{section|syn}}==== * {{q|Bắc Karelia}} {{l|krl|kevätkuu}}, {{q|Nam Karelia}} {{l|krl|keviäkuu}} ==={{section|ref}}=== * {{R:krl:Punzhina:1994|+}} {{C|krl|Tháng}} =={{langname|kxs}}== ==={{section|v}}=== {{head|kxs|Động từ}} # [[quên|Quên]]. 8tm42hraydkm1vdjcc5wrnkgyn0gcn8 2573282 2573281 2026-10-25T01:17:33Z Hiyuune 50834 2573282 wikitext text/x-wiki {{also|Marta|MARTA|Márta|Mártá|martā|Märta|Marťa}} =={{langname|krl}}== {{krl-regional|-|marta}} {{enum|krl|feurali|aprelʹa|Tháng trong năm}} ==={{section|etym}}=== Vay mượn từ {{bor|krl|ru|март}}. ==={{section|pron}}=== * {{IPA|krl|/ˈmɑrtɑ/}} * {{hyph|krl|mar|ta}} ==={{section|n}}=== {{krl-noun|martan|martua}} # {{lb|krl|Nam Karelia}} [[tháng Ba|Tháng Ba]]. ===={{section|decl}}==== {{krl-decl-T/kala|rt|rt}} {{krl-decl-poss}} ===={{section|syn}}==== * {{q|Bắc Karelia}} {{l|krl|kevätkuu}}, {{q|Nam Karelia}} {{l|krl|keviäkuu}} ==={{section|ref}}=== * {{R:krl:Punzhina:1994|+}} {{C|krl|Tháng}} =={{langname|kxs}}== ==={{section|v}}=== {{head|kxs|Động từ}} # [[quên|Quên]]. =={{langname|lv}}== ==={{section|n}}=== {{head|lv|Biến thể hình thái danh từ|g=m}} # {{infl of|lv|marts||gen|s}} b9qv7vs19lhjuwzrb09cu54qbs232ej con cháu 0 265110 2573317 2364400 2026-10-25T04:47:31Z ~2026-56788-05 62125 /* */ 2573317 wikitext text/x-wiki {{-vie-}} {{-etym-}} {{com|vi|con|cháu}}. So sánh với {{cog|km|កូនចៅ}}, {{cog|mnw|ကောန်စဴ|tr=kon cau}}. Được chứng thực dưới dạng {{m|mkh-mvi|con cháu}} trong ''Từ điển Việt–Bồ–La'' (1651). {{-pron-}} {{vie-pron}} {{-noun-}} {{vi-noun}} # [[con|Con]] và [[cháu]]; những [[người]] thuộc các [[thế hệ]] [[sau]] (nói khái quát). #: {{ux|vi|Lưu truyền cho '''con cháu''' mai sau.}} {{-ref-}} {{R:Tratu|vn|vn}} aur352iuo8b575ijpydf9dhlm0ihjwf 2573352 2573317 2026-10-25T10:27:22Z Hiyuune 50834 2573352 wikitext text/x-wiki =={{langname|vi}}== ==={{section|etym}}=== {{com|vi|con|cháu}}. So sánh với {{cog|km|កូនចៅ}}, {{cog|mnw|ကောန်စဴ|tr=kon cau}}. Được chứng thực dưới dạng {{m|mkh-mvi|con cháu}} trong ''Từ điển Việt–Bồ–La'' (1651). ==={{section|pron}}=== {{vi-pron}} ==={{section|n}}=== {{vi-noun}} # [[con|Con]] và [[cháu]]; những [[người]] thuộc các [[thế hệ]] [[sau]] (nói khái quát). #: {{ux|vi|Lưu truyền cho '''con cháu''' mai sau.}} ==={{section|ref}}=== * {{R:Tratu}} jgl0gtdykpghcbuxoinqjm79c05j4br Thành viên:TheHighFighter2/Trang con 3 2 269152 2573329 2571631 2026-10-25T06:31:51Z TheHighFighter2 42988 2573329 wikitext text/x-wiki <div style="text-align: center; font-size: 24px; font-weight: bold;"> Danh Sách Mục Từ Tiếng Việt Còn Thiếu </div> ==A, Ă, Â== [[AI tạo sinh]]; [[áo gấm về làng]]; [[áo giao lĩnh]]; [[anh em cây khế]]; [[áo tràng vạt]]; [[áo tràng]]; [[ăn của rừng rưng rưng nước mắt]]; [[ăn không nên đọi, nói không nên lời]]; [[ăn không ngon, ngủ không yên]]; [[ăn lồn]]; [[ăn ngon ngủ kĩ]]/[[ăn ngon ngủ kỹ]]; [[ăn ngon ngủ yên]]; [[ấm dâu]]; ==B== [[ba mươi chưa phải là Tết]]; [[bánh kẹo]]; [[bánh mì và rạp xiếc]]; [[băng gâu]]; [[bằng niềm tin]]; [[bề mặt tấn công]]; [[bỉ vỏ]]; [[bói Kiều]]; [[bồ côi bồ cút]]; [[bổ báo]]; [[bời rời]]; [[bụng ỏng đít beo]]; [[bức xạ kế]]; ==C== [[cạn cợt]]; [[ca-pi-ten]]; [[cá sấu lên bờ]]; [[cần cù bù thông minh]]; [[cha mẹ sinh con, trời sinh tính]]; [[cha nó lú, chú nó khôn]]; [[chảy máu chất xám]]; [[chất độc màu da cam]]; [[chém cha không bằng pha tiếng]]; [[chèo nhị thập tứ hiếu]]; [[chí chương]]; [[chị em cây khế]]; [[chim Lạc]]; [[chó cỏ]]; [[chửi cha không bằng pha tiếng]]; [[chữ như gà bới]]; [[cơm búng]]; [[cù lủ]]/[[cù lũ]]/[[cú lủ]]; ==D, Đ== [[dao tem]]; [[dép tổ ong]]; [[di biến động]]; [[đa đảng]]; [[đào hát]]; [[đặc miễn]]; [[đất lâm nghiệp]]; [[đầu buồi]]; [[đầu tro mặt muội]]; [[đầu trời cuối đất]]; [[đi C]]; [[dịch đình]]; [[điện não]]; [[điệp giấy]]; [[đi K]]; [[đòng đành]]; [[đồ bơi]]; [[đổ tháo]]; [[đu càng]]; [[đùm đề]]; [[đùm đùm đề đề]]; ==E, Ê== ==G== [[gái đứng đường]]; ==H== [[hài độc thoại]]; [[hạn lượng]]; [[hấp diêm]]; [[hậu COVID]]; [[hậu thực dân]]; [[hỏng hẻo]]; [[huyệt mả]]; ==I== ==K== [[khảo lược]]; [[khăn bàn lông]]; [[khét nắng]]; [[khét rẹt]]; ==L== [[lon chon]]; [[lô rơi]]; ==M== [[mã đáo thành công]]; [[máy bay bà già]]; [[mập cụi]]; [[mèo Ba Tư]]; [[móc nhách]]; [[mới cóng]]/[[mới coóng]]; ==N== [[ngạn giải]]; [[ngoại giao cây tre]]; [[ngục ngoặc]]; [[ngựa bà]]; [[ngựa cu]]; [[nhà mát]]; [[nhân văn số]]; [[nhất quỷ nhì ma, thứ ba học trò]]; ==O, Ô, Ơ== [[ông kẹ]]; ==P== [[phân biệt vùng miền]]; [[phi công trẻ lái máy bay bà già]]; [[phim mát]]; [[phong ba bão táp không bằng ngữ pháp Việt Nam]]; [[phở bò]]; ==Q== [[quá 180 phút]]; [[quan họ hiếu]]; [[quần sinh]]; ==R== ==S== [[sòng sành]]; [[so se]]; [[sò sè]]; [[sò sò]]; ==T== [[tai biến khí hậu]]; [[tẻn tẻn]]; [[Tết Độc lập]]; [[tháng cô hồn]]; [[thối não]]; [[thừu lựu]]; [[tiêu chuẩn kép]]; [[Tiểu Á]]; [[tiểu mộc]]; [[tình tệ]]; [[toàn đồ]]; [[trí tuệ nhân tạo tạo sinh]]; [[trò Kiều]]; [[tù nhân lương tâm]]; ==U, Ư== [[u nguyên bào thần kinh đệm]]; [[ù thông]]; ==V== [[vãi chài]]; [[Việt gian]]; [[Việt hóa]]/[[Việt hoá]]; [[Việt Nam hóa]]/[[Việt Nam hoá]]; [[vũ trang đến tận răng]]; ==X== [[xăng-căng]]/[[xăng căng]]; [[xanh lá]]; [[xanh lục]]; [[xanh nước biển]]; [[xanh xảnh]]; [[xăm hường]]; [[xe bồ câu]]; [[xuntan]]; [[xúp-lê]]/[[xúp lê]]; ==Y== 1lpxf5fyeici0e7pbueht6fi04ycxts Mô đun:headword utilities 828 270803 2573213 2573062 2026-10-24T13:34:37Z TheHighFighter2 42988 2573213 Scribunto text/plain local export = {} --[==[ FIXME: 1. Implement ? = unknown or uncertain. There should be no label by default but it should be configurable. The default category should be "{plpos} with unknown or uncertain plurals" for nouns/proper nouns. It should be an error to specify values along with this. 2. Implement ! = unattested. The default label should be "{label} not attested". The default category should be "{plpos} with unattested plurals" for nouns/proper nouns. It should be an error to specify values along with this. 3. Implement +- = sometimes has a value, e.g. "countable and uncountable" for plurals. 4. Implement ~ standing for the pagename in heads and inflections. [DONE] 5. Implement abbr= for abbreviations. [DONE] 6. Extract from insert_inflection the logic to handle the special mode signals, determine the actual label and category and the actual values without inserting them. 7. Support no_label for booleans. 8. Document the various types of parts of speech and implement pos_category per part of speech definition. [DONE] 9. Implement apply_link_modifiers() for head=~... 10. Correctly handle var=both. [DONE] 11. Implement checkredlinks and port simplify_pos to [[Module:headword]]. 12. Fix longstanding accelerator bug: if embeddded links in inflection, don't make it green. ]==] local require_when_needed = require("Module:utilities/require when needed") local affix_module = "Module:affix" local debug_track_module = "Module:debug/track" local decorations_module = "Module:decorations" local en_utilities_module = "Module:en-utilities" local fun_is_callable_module = "Module:fun/isCallable" local headword_module = "Module:headword" local headword_data_module = "Module:headword/data" local languages_module = "Module:languages" local links_module = "Module:links" local parameters_module = "Module:parameters" local parse_interface_module = "Module:parse interface" local parse_utilities_module = "Module:parse utilities" local string_pattern_escape_module = "Module:string/patternEscape" local string_replacement_escape_module = "Module:string/replacementEscape" local string_utilities_module = "Module:string utilities" local table_module = "Module:table" local yesno_module = "Module:yesno" local dump = mw.dumpObject local unpack = unpack or table.unpack -- Lua 5.2 compatibility local insert = table.insert local concat = table.concat local remove = table.remove local sort = table.sort local deep_equals = require_when_needed(table_module, "deepEquals") local extend = require_when_needed(table_module, "extend") local insert_if_not = require_when_needed(table_module, "insertIfNot") local list_to_set = require_when_needed(table_module, "listToSet") local serial_comma_join = require_when_needed(table_module, "serialCommaJoin") local shallow_copy = require_when_needed(table_module, "shallowCopy") local split = require_when_needed(string_utilities_module, "split") local ugsub = require_when_needed(string_utilities_module, "gsub") local umatch = require_when_needed(string_utilities_module, "match") local pattern_escape = require_when_needed(string_pattern_escape_module) local replacement_escape = require_when_needed(string_replacement_escape_module) local escape_wikicode = require_when_needed(parse_utilities_module, "escape_wikicode") local parse_inline_modifiers = require_when_needed(parse_utilities_module, "parse_inline_modifiers") local term_contains_top_level_html = require_when_needed(parse_utilities_module, "term_contains_top_level_html") local get_lang_by_code = require_when_needed(languages_module, "getByCode") local is_callable = require_when_needed(fun_is_callable_module) local format_decorations = require_when_needed(decorations_module, "format_decorations") local function split_on_comma(val) if val:find(",") then return require(parse_interface_module).split_on_comma(val) else return {val} end end local function ine(val) if val == "" then return nil else return val end end --[==[ intro: This module contains utilities for constructing language-specific headword modules. [fill in] ===About parts of speech=== There are several versions of the part of speech (POS) of a given term: * The ''primary categorizing POS'' is the basic part of speech to which a term belongs. The primary POS determines whether the term is a lemma or non-lemma form, and in its plural form, it is used to categorize the terms (unless it is a variant term), along with caetegorizing into a ''lemmas'' or ''non-lemma forms'' category. (Variant terms, typically marked by {{para|var|1}}, are categorized into ''variant lemmas'' or ''variant non-lemma forms'' and are not categorized into a primary POS category.) * The ''raw {{tl|head}} POS'' is parameter {{para|2}} to {{tl|head}}. This is used to determine the primary categorizing POS by a process of canonicalization, because this parameter may contain abbreviations (e.g. ''a'' or ''adj'' for an adjective) and may be (and usually is) given in its singular form. * The ''template-indicated POS'' is the part of speech indicated by a headword template such as {{tl|nl-noun}} or {{tl|mn-head}}. It is either inherent to the template (in a case like {{tl|nl-noun}}), in which case it is specified by the template code and should always be in canonical, plural form; or it is specified by the user in the template call (in a case like {{tl|mn-head}} or other generic POS template, usually ending in `-head`), in which case it may be given in raw form, like for the raw {{tl|head}} POS, and is canonicalized using the same code that canonicalizes raw {{tl|head}} parts of speech. The template-indicate POS may not be a valid primary categorizing POS. For example, Dutch has a template-indicated POS ''diminutiva tantum nouns'', specified through the template {{tl|nl-dim-tant}}, but there is no such primary categorizing POS (that POS would be `nouns`). Similarly, Arabic has a template-indicated POS ''collective nouns'', whose primary categorizing POS is also `nouns`. As a result, the template-indicated POS may need to be converted to a primary categorizing POS through a ''normalization'' process (which uses a `pos_category` field attached to the `pos_functions` structure for the template-indicated POS). Note that the template-indicated POS comes in several variants: *# It may be ''head-raw'', meaning that it uses the literal string `head` in place of the user-specified POS in a generic POS template like {{tl|mn-head}}; it may be ''non-head'', meaning that it uses the actual user-specified POS in such a case; or it may be ''head-augmented'', meaning that in the case of a generic POS template it is of the form e.g. `head.nouns`, contanining both the literal `head` and the user-specified POS. *# It may be ''suffix-raw'', meaning that it uses the primary categorizing POS `suffixes` in place of the template-indicated POS when the term is a suffix, or it may be ''non-suffix'', meaning that it uses the template-indicated POS in such a case. The headword for a suffix uses the template corresponding to whatever POS the suffix forms, e.g. {{nl-noun}} for Dutch noun-forming suffixes. *# The ''indexing POS'' is the variant of the template-indicated POS that is used to index into the `pos_functions` table. Normally it is head-raw and non-suffix, but it will be head-augmented if the corresponding head-augmented entry exists in `pos_functions`. *# The ''unnormalized categorizing POS'' is the variant of the template-indicated POS that is potentially usable as the primary categorizing POS (see above). It is non-head and suffix-raw, i.e. it uses the actual template-specified or user-specified form of the template-indicated POS except when the term is a suffix, in which case it has the value `suffixes`. In most circumstances this can be used directly as the primary categorizing POS, but in some cases this POS is not a valid primary categorizing POS and needs to be normalized to get the actual primary categorizing POS, as mentioned above under the description for the template-indicated POS. * Finally, there is a ''simplified categorizing POS''. This collapses variations of primary categorizing parts of speech together for use in red-link and similar categories. For example, the POS `proper nouns` is collapsed into `nouns`, and all types of participles are collapsed into `participles`. There are two variants of the simplification process, ''lemma-status-preserving'' and ''non-lemma-status-preserving''. The latter is the default and is simpler, in that e.g. it means any part of speech ending in `nouns` to `nouns`, even if this causes non-lemma forms to become lemmas, as with `diminutive nouns` and `verbal nouns` (which are non-lemma forms) and likewise with `comparative adjectives` and `superlative adjectives` (which are again non-lemma forms). The former, ''lemma-status-preserving'', keeps lemmas as lemmas and (more important) non-lemmas as non-lemmas by converting e.g. `diminutive nouns` and `verbal nouns` to `noun forms` rather than `nouns`. The reason two variants exist in that they have different use cases. The default, non-lemma-status-preserving, type is used for tracking categories such as red-link and request categories, where completeness is more important than clutter. The lemma-status-preserving variant is used for informative categories such as ` ``lang`` masculine nouns`, which should only have lemmas in them to avoid clutter. (For the same reason, variant terms specified using {{para|var|1}} aren't normally categorized into informative categories but are placed in tracking categories.) ===About properties and data objects=== [fill in] ]==] --[=[ Add decorations to a term. `termobj` is the object describing the term, which should optionally contain: * left qualifiers in `q`, an array of strings; * right qualifiers in `qq`, an array of strings; * left labels in `l`, an array of strings; * right labels in `ll`, an array of strings; * references in `refs`, an array either of strings (formatted reference text) or objects containing fields `text` (formatted reference text) and optionally `name` and/or `group`; `text` is the text of the term itself, and `lang` is the language object. ]=] local function add_decorations(text, termobj, lang) local function field_non_empty(field) local list = termobj[field] if not list then return nil end if type(list) ~= "table" then error(("Internal error: Wrong type for `termobj.%s`=%s, should be \"table\""):format( field, mw.dumpObject(list))) end return list[1] end if field_non_empty("q") or field_non_empty("qq") or field_non_empty("l") or field_non_empty("ll") or field_non_empty("refs") then text = format_decorations { lang = lang, text = text, q = termobj.q, qq = termobj.qq, l = termobj.l, ll = termobj.ll, refs = termobj.refs, } end return text end local param_mods = { alt = {}, -- always allow so e.g. - can be specified as a suffix form id = {}, -- disabled when `is_head = true` q = {type = "qualifier"}, qq = {type = "qualifier"}, l = {type = "labels"}, ll = {type = "labels"}, -- [[Module:headword]] expects part references in `.refs`. ref = {item_dest = "refs", type = "references", store = "insert-flattened"}, } local optional_param_mods = { g = {item_dest = "genders", type = "genders"}, lang = {type = "language"}, sc = {type = "script"}, t = {item_dest = "gloss"}, gloss = {}, pos = {}, lit = {}, tr = {}, ts = {}, face = {}, nolinkinfl = {type = "boolean"}, } local optional_headword_param_mods = { sc = {type = "script"}, tr = {}, ts = {}, } --[==[ Parse a single inflection or headword form or list of such forms. In either case, inline modifiers may be attached. `data` is an object with the following fields: * `val`: The raw value to parse. Required. * `paramname`: The name of the parameter from which the value was taken; used in error messages. Required. * `is_head`: We are parsing a headword parameter (a value which goes into the `heads` field of `data`). This changes the allowed modifiers, disabling the `id` modifier and only allowing a subset of optional modifiers. * `frob`: An optional function of one value to apply to the form after inline modifiers have been removed (i.e. to apply to the `.term` field of the returned object). * `include_mods`: List of extra inline modifiers to include, besides the default ones (see below). Each list item is either a string specifying a recognized extra inline modifier (see `optional_param_mods` in the code), or a two-item list of modifier name and modifier spec, where the spec should follow the syntax for modifier specs in `parse_inline_modifiers` in [[Module:parse utilities]]. * `exclude_mods`: List of default inline modifiers to not include. * `splitchar`: If specified, the value in `val` can be a list of forms to parse, separated by the value of `splitchar` (which is a Lua pattern, as in `parse_inline_modifiers` in [[Module:parse utilities]]). Most commonly, `splitchar` is a single comma and the values are comma-separated (in this case, splitting will not happen if a space follows the comma). * `parse_lang_prefix`: If specified, allow a language prefix to precede a form, and if found, store into the `.lang` field of the returned object. * `preserve_splitchar`, `delimiter_key`, `escape_fun`, `unescape_fun`, `pre_normalize_modifiers`: As in `parse_inline_modifiers` in [[Module:parse utilities]]. Returns an object suitable for storing as one element of one of the lists in `headdata.inflections`, where `headdata` is the structure passed to [[Module:headword]]. If `splitchar` is specified, howeve, the return value is a list of such objects. The following default inline modifiers are currently recognized: * `q`: Left qualifier. * `qq`: Right qualifier. * `l`: Comma-separated list of left labels. No space should follow the comma. * `ll`: Comma-separated list of right labels. No space should follow the comma. * `ref`: Reference or references. See {{tl|IPA}} for the syntax. * `id`: Sense ID, in case there are multiple senses. See {{tl|l}}. The following are the recognized additional inline modifiers: * `g`: Comma-separated list of genders. * `alt`: Display text. * `lang`: Language code of language of the form, if different from the language of the headword. * `sc`: Script code of script of the form. Almost never needed. * `t`: Gloss for the form. * `gloss`: Gloss for the form (alias for `t`). * `pos`: Part of speech of the form. * `lit`: Literal meaning of the form. * `tr`: Manual transliteration of the form. * `ts`: Transcription of the form, for languages where the transliteration differs markedly from the pronunciation. * `face`: Face to display the form in, e.g. {"hypothetical"} for a hypothetical form (unlinkable and displayed in italics). * `nolinkinfl`: Make the form unlinkable. ]==] function export.parse_term_with_modifiers(data) local paramname, val, frob = data.paramname, data.val, data.frob local function generate_obj(term, parse_err) if frob then term = frob(term, parse_err) end if data.parse_lang_prefix and term:find(":") then return require(parse_utilities_module).generate_obj_maybe_parsing_lang_prefix { term = term, paramname = paramname, parse_lang_prefix = true, parse_err = parse_err, } else return {term = term} end end -- Check for inline modifier, e.g. מרים<tr:Miryem>. But exclude top-level HTML entry with <span ...>, -- <sup> or similar in it. if (val:find("<", nil, true) or data.splitchar) and not term_contains_top_level_html(val) and -- don't parse inline modifiers if is_head and the value begins with a ~ (link modifier syntax) (not data.is_head or not val:find("^~")) then local param_mods = param_mods if data.is_head then param_mods = shallow_copy(param_mods) param_mods.id = nil end if data.include_mods or data.exclude_mods then if not data.is_head then -- already copied when data.is_head param_mods = shallow_copy(param_mods) end if data.include_mods then local optional_mods = data.is_head and optional_headword_param_mods or optional_param_mods for _, mod in ipairs(data.include_mods) do if type(mod) == "table" then if #mod ~= 2 then error(("Internal error: Modifier spec %s in `include_mods` should be of length 2"):format( dump(mod))) end local modkey, modvalue = unpack(mod) param_mods[modkey] = modvalue elseif not optional_mods[mod] then error(("Internal error: Unrecognized modifier spec %s in `include_mods`"):format( dump(mod))) else param_mods[mod] = optional_mods[mod] end end end if data.exclude_mods then for _, mod in ipairs(data.exclude_mods) do if not param_mods[mod] then error(("Internal error: Modifier spec %s in `exclude_mods` not found among existing modifiers" ):format(dump(mod))) else param_mods[mod] = nil end end end end return parse_inline_modifiers(val, { paramname = paramname, param_mods = param_mods, generate_obj = generate_obj, splitchar = data.splitchar, preserve_splitchar = data.preserve_splitchar, delimiter_key = data.delimiter_key, escape_fun = data.escape_fun, unescape_fun = data.unescape_fun, pre_normalize_modifiers = data.pre_normalize_modifiers, }) else local retval = generate_obj(val) if data.splitchar then retval = {retval} end return retval end end --[==[ Parse a list of inflection forms that may have inline modifiers attached. `data` is an object with the following fields: * `forms`: The list of raw values to parse. Required. * `paramname`: The name of the first parameter from which the value was taken; used in error messages. If this is a two-element list, the first element is the first parameter and the second element is the prefix of the remaining parameters. Parameter names that are numbers are handled correctly, as are those with \1 in it marking where the parameter index goes. Required. * `qualifiers`: If specified, a possibly gappy list of left qualifiers to add to the parsed terms (for compatibility purposes). * `splitchar`: As in `parse_term_with_modifiers()`. The resulting per-term lists will be flattened. * `frob`, `include_mods`, `exclude_mods`, `is_head`, `preserve_splitchar`, `parse_lang_prefix`, `delimiter_key`, `escape_fun`, `unescape_fun`, `pre_normalize_modifiers`: As in `parse_term_with_modifiers()`. Returns a list of objects, suitable for storing as one of the lists in `headdata.inflections` (once a label is added), where `headdata` is the structure passed to [[Module:headword]]. ]==] function export.parse_term_list_with_modifiers(data) local paramname, forms = data.paramname, data.forms local qualifiers = data.qualifiers local first, restpref if type(paramname) == "table" then first = paramname[1] restpref = paramname[2] else first = paramname restpref = paramname end local terms = {} data = shallow_copy(data) for i, val in ipairs(forms) do data.paramname = i == 1 and first or type(restpref) == "number" and restpref + i - 1 or restpref:find("\1", nil, true) and restpref:gsub("\1", tostring(i)) or restpref .. i data.val = val local parsed = export.parse_term_with_modifiers(data) if qualifiers and qualifiers[i] then if data.splitchar then for _, term in ipairs(parsed) do term.q = {qualifiers[i]} end else parsed.q = {qualifiers[i]} end end if data.splitchar then extend(terms, parsed) else terms[i] = parsed end end return terms end --[==[ Construct a link to [[Appendix:Glossary]] for `entry`. If `text` is specified, it is the display text; otherwise, `entry` is used. ]==] function export.glossary_link(entry, text) text = text or entry return "[[Phụ lục:Từ điển thuật ngữ#" .. entry .. "|" .. text .. "]]" end function export.replace_glossary_links_in_label(label) if label:find("<<", nil, true) then label = label:gsub("<<(.-)|(.-)>>", export.glossary_link):gsub("<<(.-)>>", export.glossary_link) end return label end -- If a part of speech ends with one of these, either pluralized or followed by ' forms', chop off whatever precedes. -- Also, if a part of speech is of the form `BASIC_POS FOO forms` e.g. `noun construct forms`, remove the `FOO` -- portion. Note that "phrase" is *NOT* listed here because 'prepositional phrase' and 'postpositional phrase' are not -- types of 'phrase' per the definition of these parts of speech in Wiktionary. local basic_poses = { "Tính từ", "Phó từ", "Từ rút gọn", "Danh từ riêng", "Danh từ", "Phân từ", "Đại từ", "Ký hiệu", "Động từ", } --[==[ Canonicalize and then simplify a part of speech by removing adjectival qualifiers. This converts e.g. `proper noun(s)` -> `nouns`, `comparative adjective(s)` -> `adjectives`, `past participle form(s)` -> `participle forms` and `pronoun possessive form(s)` -> `pronoun forms`. (The one exception is with phrases. In Wiktionary, ''phrase'' really means a clause or similar constituent or occasionally non-constituent, so `prepositional phrases` are not types of `phrases`.) Its purpose is for use in categorization, since generally the simplified part of speech is used in categories other than the one for the part of speech itself. (For example, proper nouns are normally categorized under ` ``lang`` nouns with ...` rather than ` ``lang`` proper nouns with ...`.) The returned part of speech is in plural form. ]==] local function optimized_pattern_escape(pos) if pos:find("-", nil, true) then return pattern_escape(pos) else return pos end end --[==[ Convert a qualified part of speech (e.g. ''proper nouns'', ''past participles'') to its unqualified equivalent (e.g. ''nouns'' or ''participles''). If `preserve_proper_nouns` is given, ''proper nouns'' is left as-is rather than being converted to ''nouns''. If `preserve_lemma_status` is given, the function attempts to return a POS that has the same lemma status (lemma or non-lemma form) as the original POS; thus, ''comparative adjectives'' becomes ''adjective forms'' and ''diminutive nouns'' becomes ''noun forms'' because both are non-lemma forms. If `preserve_lemma_status` is not given, the function simply chops off the qualifiers, converting e.g. ''comparative adjectives'' to ''adjectives'' even though this changes the lemma status of the POS. ]==] function export.simplify_pos(pos, preserve_lemma_status, preserve_proper_nouns) -- This allows for both singular and plural parts of speech in 'pos'. local plpos = require(headword_module).canonicalize_pos(pos) for _, basic_pos in ipairs(basic_poses) do if basic_pos ~= "Danh từ riêng" or preserve_proper_nouns then if plpos == "Biến thể hình thái " .. basic_pos then -- So 'proper noun forms' doesn't get converted to 'noun forms' in the next round return plpos end local basic_pos_pattern = optimized_pattern_escape(basic_pos) if plpos:find(("^Biến thể hình thái %s .*.$"):format(basic_pos_pattern)) then return "Biến thể hình thái " .. basic_pos end if plpos:find(("^.* %s forms$"):format(basic_pos_pattern)) then return basic_pos .. " forms" end local pl_basic_pos = require(headword_module).pluralize_pos(basic_pos) if plpos == pl_basic_pos then -- So 'proper nouns' doesn't get converted to 'nouns' in the next round return plpos end local pl_basic_pos_pattern = optimized_pattern_escape(pl_basic_pos) if plpos:find(("^.* %s$"):format(pl_basic_pos_pattern)) then if preserve_lemma_status then local lemma_status = require(headword_module).pos_lemma_or_nonlemma(plpos) if lemma_status == "non-lemma form" then return "Biến thể hình thái " .. basic_pos end end return pl_basic_pos end end end return plpos end --[==[ Insert a fixed inflection (a label not associated with any inflection values) into an `inflections` field. The `inflections` field will be initialized if needed. `data` is an object with the following fields: * `headdata`: The headword structure passed to [[Module:headword]]. Required. * `inflobj`: The object whose `inflections` field the terms are inserted into. Defaults to `headdata`. Only needs to be set for nested inflections, which are specified for an inflection object rather than the headword data structure as a whole. * `label`: The label that the inflections are given; any parts of the label surrounded in `<<...>>` are linked to the glossary. (If the contents of `<<...>>` contain a `|` in them, they are a two-part link.) Required. * `originating_term`: The term object from which this label is derived. If specified, decorations will be taken from this object. ]==] function export.insert_fixed_inflection(data) local headdata, origterm, label = data.headdata, data.originating_term, data.label local inflobj = data.inflobj or headdata inflobj.inflections = inflobj.inflections or {} if not origterm then insert(inflobj.inflections, { label = export.replace_glossary_links_in_label(label) }) else if origterm.id then error(("It doesn't make sense to pass in an ID '%s' for label '%s' in conjunction with a term value '%s'" ):format(origterm.id, label, origterm.term)) end origterm = shallow_copy(origterm) -- Preserve decorations origterm.term = nil origterm.label = export.replace_glossary_links_in_label(label) insert(inflobj.inflections, origterm) end end --[==[ Insert previously-parsed terms into an `inflections` field. The `inflections` field will be initialized if needed. `data` is an object with the following fields: * `headdata`: The headword structure passed to [[Module:headword]]. Required. * `inflobj`: The object whose `inflections` field the terms are inserted into. Defaults to `headdata`. Only needs to be set for nested inflections, which are specified for an inflection object rather than the headword data structure as a whole. * `terms`: The list of parsed terms. If {nil} or omitted, nothing happens unless `request` is set. * `label`: The label that the inflections are given; any parts of the label surrounded in `<<...>>` are linked to the glossary. (If the contents of `<<...>>` contain a `|` in them, they are a two-part link.) Required. * `fixed_adj_label`: If specified, an adjective used to construct the defaults for the fixed labels specified by `no_label`, `usually_no_label` and `sometimes_label`. Examples are "comparable" for a comparative and "countable" for a plural. * `no_label`: If the term is {"-"} and there are no other terms, insert a fixed label with this value. If `fixed_adj_label` is given, defaults to {"not "} plus the adjective, else {"no "} plus the label. * `usually_no_label`: If the term is {"-"} and there are other terms, insert a fixed label with this value. Defaults to {"usually "} plus the value of `no_label`. * `sometimes_label`: If the term is {"+-"}, insert a fixed label with this value. If `fixed_adj_label` is given, defaults to {"sometimes "} plus the adjective, else {"sometimes with a(n) "} plus the label. * `cats`: List of categories to insert when terms are given that are not {"-"}. Each category is a string naming a full category to insert (including the appropriate language name prefixed). * `no_cats`: List of categories to insert when a term is given as {"-"}. * `usually_no_cats`: List of categories to insert when a term is given as {"-"} and additional terms are specified as well (representing, e.g. for the inflection {"plural"}, a term which usually has no plural but does under some circumstances). If omitted, both the categories in `cats` and `no_cats` are inserted. * `sometimes_cats`: List of categories to insert when a term is given as {"+-"} (indicating that the inflection sometimes exists and sometimes does not, normally depending on the precise sense involved). If omitted, both the categories in `cats` and `no_cats` are inserted (same default as for `usually_no_cats`). * `accel`: If specified, a full accelerator object to add to the inflections. * `request`: If specified and no terms are given, insert a label with a request for inflections to be given. * `enable_auto_translit`: If specified and terms are given, display automatic transliteration of the terms. The return value indicates whether the inflection exists and how many terms are in it. It is an object with the following fields: * `exists`: {"yes"} if one or more terms were specified; {"no"} if the value was given as {"-"}; {"usually no"} if the first value was given as {"-"} but additional terms were supplied; otherwise {nil}, indicating that the status is unspecified. * `numterms`: Number of terms in the inflection. Will be 0 unless `exists` has the value {"yes"} or {"usually no"}. * `terms`: The terms that were inserted. If there are no terms, this is an empty list. * `request`: True if no terms were specified but a term request was inserted into the inflection (because `data.request` was specified). Otherwise {nil}. ]==] function export.insert_inflection(data) local headdata, terms, label = data.headdata, data.terms, data.label local inflobj = data.inflobj or headdata local retval = {} local accel = data.accel if data.accel_form then if accel then error("Internal error: can't specify both data.accel and data.accel_form") end if headdata.heads then local lemmas = {} local lemma_translits = {} for i, headobj in ipairs(headdata.heads) do lemmas[i] = headobj.term if lemmas[i] == "+" then error("Internal error: If you use data.accel_form, you should have resolved all occurrences of + in heads appropriately") end lemma_translits[i] = headobj.tr end accel = { lemma = lemmas, lemma_translit = lemma_translits, form = data.accel_form, } else accel = { form = data.accel_form, } end end local function insert_cats(cats) for _, cat in ipairs(cats) do insert(headdata.categories, cat) end end if terms and terms[1] then terms = shallow_copy(terms) if terms[1].term == "-" then if terms[2] then export.insert_fixed_inflection { headdata = headdata, inflobj = inflobj, originating_term = terms[1], label = data.usually_no_label or "thường không " .. label, } remove(terms, 1) retval.numterms = #terms retval.exists = "thường không" if data.usually_no_cats then insert_cats(data.usually_no_cats) else if data.no_cats then insert_cats(data.no_cats) end if data.cats then insert_cats(data.cats) end end else export.insert_fixed_inflection { headdata = headdata, inflobj = inflobj, originating_term = terms[1], label = data.no_label or "không " .. label, } retval.numterms = 0 retval.terms = {} retval.exists = "không" if data.no_cats then insert_cats(data.no_cats) end return retval end else retval.numterms = #terms retval.exists = "có" if data.cats then insert_cats(data.cats) end end if data.check_missing then error("Internal error: check_missing support removed; use checkredlinks=true in [[Module:headword]]") end terms.label = export.replace_glossary_links_in_label(label) if accel then terms.accel = accel end terms.enable_auto_translit = data.enable_auto_translit inflobj.inflections = inflobj.inflections or {} insert(inflobj.inflections, terms) retval.terms = terms elseif data.request then inflobj.inflections = inflobj.inflections or {} insert(inflobj.inflections, { label = export.replace_glossary_links_in_label(label), request = true, }) retval.numterms = 0 retval.terms = {} -- retval.exists = nil retval.request = true else retval.numterms = 0 retval.terms = {} -- retval.exists = nil end return retval end --[==[ Parse raw arguments from `forms` for inline modifiers, and insert the resulting terms (which should not require significant additional processing) into `headdata.inflections`. `data` is an object with the following fields: * `forms`: The list of raw values to parse. If {nil} or omitted, nothing happens. * `headdata`: The headword structure passed to [[Module:headword]]. Required. * `paramname`: As in `parse_term_list_with_modifiers()`. Required. * `label`: As in `insert_inflection()`. Required. * `qualifiers`, `frob`, `include_mods`, `exclude_mods`, `is_head`, `splitchar`, `preserve_splitchar`, `delimiter_key`, `escape_fun`, `unescape_fun`, `pre_normalize_modifiers`: As in `parse_term_list_with_modifiers()`. * `accel`: As in `insert_inflection()`. Return value is as in `insert_inflection()`. ]==] function export.parse_and_insert_inflection(data) local forms = data.forms if forms and forms[1] then data = shallow_copy(data) data.forms = forms data.terms = export.parse_term_list_with_modifiers(data) return export.insert_inflection(data) end return { numterms = 0 } end --[==[ Canonicalize a single term or term-like object or a list of either into a list of term-like objects. `abterms` is the term or list to canonicalize, and `field` is the name of the field holding the term (defaulting to {"term"}). This does the minimal work necessary, meaning that the return value may partly or completely share memory with the value passed in. As a special case, if `abterms` is {nil}, {nil} is returned. If `origin` or `originating_term` are specified, add fields `origin` and/or `originating_term` containing the specified value(s) to each resulting term-like object (in this case, the object will be copied a necessary to avoid side-effecting the passed-in objects). `origin` is intended to be a string indicating where the term originated from (e.g. {"default"} if a default value, {"resolve_special"} if originating from a shortcut value such as {"+"}) and `originating_term` is the shortcut term itself, if any. (There is generally no such term for default values.) ]==] function export.canonicalize_termobj_list(abterms, field, origin, originating_term) if abterms == nil then return nil end field = field or "term" if type(abterms) == "string" then return {{[field] = abterms, origin = origin, originating_term = originating_term}} elseif not abterms[1] then if origin ~= nil or originating_term ~= nil then abterms = shallow_copy(abterms) abterms.origin = origin abterms.originating_term = originating_term end return {abterms} else -- Check if already in full list term and return directly if so (unless `origin_val` is given, in which case we -- need to shallow-copy both the list and each term in it). local must_convert = false for _, term in ipairs(abterms) do if type(term) == "string" then must_convert = true break end end if not must_convert then if origin ~= nil or originating_term ~= nil then abterms = shallow_copy(abterms) for i, abterm in ipairs(abterms) do abterms[i] = shallow_copy(abterm) abterms[i].origin = origin abterms[i].originating_term = originating_term end end return abterms end end local retval = {} for _, term in ipairs(abterms) do if type(term) == "string" then insert(retval, {[field] = term, origin = origin, originating_term = originating_term}) else if origin ~= nil or originating_term ~= nil then term = shallow_copy(term) term.origin = origin term.originating_term = originating_term end insert(retval, term) end end return retval end --[==[ Combine two sets of decorations. If either is {nil}, just return the other, and if both are {nil}, return {nil}. ]==] function export.combine_decorations(decs1, decs2) if not decs1 and not decs2 then return nil end if not decs1 then return decs2 end if not decs2 then return decs1 end local combined = shallow_copy(decs1) for _, dec in ipairs(decs2) do insert_if_not(combined, dec) end return combined end function export.combine_qualifiers_or_labels(...) -- FIXME: Đã thêm vào ngày 25 tháng 9 năm 2026. error("Vui lòng dùng combine_decorations") end --[==[ Combine the decorations (qualifiers, labels, references) and ID's of two term objects. `destobj` is the "destination term object" into which the combined properties are written, and `srcobj` is the "source object" into which the properties are merged. `destobj` is side-effected (but the lists inside of `destobj` are not); if this is undesirable, make sure to shallow-copy `destobj` first. If both objects have values for a given decoration, the values of `destobj` come first. If both objects have a value for `id`, the values must match or an error is thrown; otherwise, the resulting value of `id` comes from whichever one is defined. '''NOTE:''' This may not be the correct behavior when deduplicating a list of term objects. See `insert_termobj_combining_duplicates` for a different approach. ]==] function export.combine_termobj_decorations(destobj, srcobj) destobj.q = export.combine_decorations(destobj.q, srcobj.q) destobj.qq = export.combine_decorations(destobj.qq, srcobj.qq) destobj.l = export.combine_decorations(destobj.l, srcobj.l) destobj.ll = export.combine_decorations(destobj.ll, srcobj.ll) destobj.refs = export.combine_decorations(destobj.refs, srcobj.refs) if destobj.id and srcobj.id and destobj.id ~= srcobj.id then -- FIXME: We probably want to pass in an error function error(("Can't specify two different ID's %s and %s when combining objects"):format(srcobj.id, destobj.id)) end destobj.id = destobj.id or srcobj.id return destobj end function export.combine_termobj_qualifiers_labels(...) -- FIXME: Đã thêm vào ngày 25 tháng 9 năm 2026. error("Vui lòng dùng combine_termobj_decorations") end function export.termobj_has_decorations(obj) return obj.q and obj.q[1] or obj.qq and obj.qq[1] or obj.l and obj.l[1] or obj.ll and obj.ll[1] or obj.refs and obj.refs[1] end function export.termobj_has_qualifiers_or_labels(...) -- FIXME: Đã thêm vào ngày 25 tháng 9 năm 2026. error("Vui lòng dùng termobj_has_decorations") end local function one_decoration_equal(prop1, prop2) local prop1_is_nil = not prop1 or not prop1[1] local prop2_is_nil = not prop2 or not prop2[1] if prop1_is_nil and prop2_is_nil then return true end if prop1_is_nil or prop2_is_nil then return false end return deep_equals(prop1, prop2) end function export.termobj_decorations_equal(obj1, obj2) return one_decoration_equal(obj1.q, obj2.q) and one_decoration_equal(obj1.qq, obj2.qq) and one_decoration_equal(obj1.l, obj2.l) and one_decoration_equal(obj1.ll, obj2.ll) and one_decoration_equal(obj1.refs, obj2.refs) and obj1.id == obj2.id end function export.termobj_ancillary_properties_equal(...) -- FIXME: Đã thêm vào ngày 25 tháng 9 năm 2026. error("Vui lòng dùng termobj_decorations_equal") end function export.convert_termobj_to_formobj(termobj) local formobj = { form = termobj.term, translit = termobj.tr, } local footnotes local function mods_to_footnote(mod_prefix, mod_vals) if mod_vals and mod_vals[1] then footnotes = footnotes or {} for _, val in ipairs(mod_vals) do insert(footnotes, "[" .. mod_prefix .. ":" .. val .. "]") end end end mods_to_footnote("q", termobj.q) mods_to_footnote("qq", termobj.qq) mods_to_footnote("l", termobj.l) mods_to_footnote("ll", termobj.ll) mods_to_footnote("ref", termobj.refs) mods_to_footnote("id", termobj.id and {termobj.id} or nil) formobj.footnotes = footnotes return formobj end local recognized_multi_mods = { q = "q", qq = "qq", l = "l", ll = "ll", ref = "refs", } local recognized_single_mods = { id = "id", } function export.add_footnote_to_termobj(termobj, footnote) local stripped_footnote = footnote:match("^%[(.*)%]$") if not stripped_footnote then error("Internal error: Footnote should be surrounded by brackets at this stage: " .. footnote) end local prefix, rest = stripped_footnote:match("^([a-z]+):(.+)$") local field, is_multi if prefix then if recognized_multi_mods[prefix] then field = recognized_multi_mods[prefix] is_multi = true elseif recognized_single_mods[prefix] then field = recognized_single_mods[prefix] is_multi = false end end if not field then rest = stripped_footnote field = "l" is_multi = true end if is_multi then if not termobj[field] then termobj[field] = {} end insert(termobj[field], rest) else if termobj[field] and termobj[field] ~= rest then error(("Không thể đặt hai giá trị của '%s': '%s' và '%s'"):format(field, termobj[field], rest)) end termobj[field] = rest end end function export.convert_formobj_to_termobj(formobj) local termobj = { term = formobj.form, tr = formobj.translit, } if formobj.footnotes then for _, footnote in ipairs(formobj.footnotes) do export.add_footnote_to_termobj(termobj, footnote) end end return termobj end local function extract_termobj_field_modifiers(fieldval) return fieldval:match("^([*+]?)(.*)$") end function export.remove_termobj_field_modifiers(termobj) local function remove_field_modifiers(field) if termobj[field] and termobj[field][1] then local any_field_modifiers = false for _, val in ipairs(termobj[field]) do local field_mods, _ = extract_termobj_field_modifiers(val) if field_mods ~= "" then any_field_modifiers = true break end end local new_field = {} if any_field_modifiers then for _, val in ipairs(termobj[field]) do local _, field_without_mods = extract_termobj_field_modifiers(val) insert_if_not(new_field, field_without_mods) end termobj[field] = new_field end end end remove_field_modifiers("q") remove_field_modifiers("qq") remove_field_modifiers("l") remove_field_modifiers("ll") remove_field_modifiers("refs") end function export.insert_termobj_combining_duplicates(destobjs, termobj) for _, destobj in ipairs(destobjs) do if destobj.term == termobj.term and destobj.tr == termobj.tr then -- Form already present; maybe combine footnotes. local function combine_field_values(field) if termobj[field] and termobj[field][1] then -- Check to see if there are existing values with *; if so, remove them. if destobj[field] and destobj[field][1] then local any_values_with_asterisk = false for _, val in ipairs(destobj[field]) do local field_mods, _ = extract_termobj_field_modifiers(val) if field_mods:find("%*") then any_values_with_asterisk = true break end end if any_values_with_asterisk then local filtered_values = {} for _, val in ipairs(destobj[field]) do local field_mods, _ = extract_termobj_field_modifiers(val) if not field_mods:find("%*") then insert(filtered_values, val) end end if filtered_values[1] then destobj[field] = filtered_values else destobj[field] = nil end end end local any_footnotes_with_plus = false for _, val in ipairs(termobj[field]) do local field_mods, _ = extract_termobj_field_modifiers(val) if field_mods:find("%+") then any_footnotes_with_plus = true break end end if any_footnotes_with_plus then if not destobj[field] then destobj[field] = {} else destobj[field] = shallow_copy(destobj[field]) end for _, val in ipairs(termobj[field]) do local already_seen = false local field_mods, field_without_mods = extract_termobj_field_modifiers(val) if field_mods:find("%+") then for _, existing_val in ipairs(destobj[field]) do local _, existing_field_without_mods = extract_termobj_field_modifiers(existing_val) if existing_field_without_mods == field_without_mods then already_seen = true break end end if not already_seen then insert(destobj[field], val) end end end end end end combine_field_values("q") combine_field_values("qq") combine_field_values("l") combine_field_values("ll") combine_field_values("refs") if destobj.id and termobj.id and destobj.id ~= termobj.id then -- FIXME: We probably want to pass in an error function error(("Can't specify two different ID's %s and %s when combining objects"):format(termobj.id, destobj.id)) end destobj.id = destobj.id or termobj.id return end end insert(destobjs, termobj) end export.allowed_special_indicators = { ["first"] = true, ["first-second"] = true, ["first-last"] = true, ["second"] = true, ["last"] = true, ["each"] = true, ["+"] = true, -- requests the default behavior with preposition handling } --[==[ Check for special indicators (values such as {"+first"} or {"+first-last"} that are used in a `pl`, `f`, etc. argument and indicate how to inflect a multiword term). If `form` is such an indicator, the return value is `form` minus the initial `+` sign; otherwise, if form begins with a `+` sign, an error is thrown; otherwise the return value is nil. ]==] function export.get_special_indicator(form, noerror) if form:find("^%+") then form = form:gsub("^%+", "") if not export.allowed_special_indicators[form] then if noerror then return nil end local indicators = {} for indic, _ in pairs(export.allowed_special_indicators) do insert(indicators, "+" .. indic) end sort(indicators) error("Special inflection indicator beginning with '+' can only be " .. mw.text.listToText(indicators) .. ": +" .. form) end return form end return nil end local function add_endings(bases, endings) local retval = {} if type(bases) ~= "table" then bases = {bases} end if type(endings) ~= "table" then endings = {endings} end for _, base in ipairs(bases) do for _, ending in ipairs(endings) do insert(retval, base .. ending) end end return retval end --[==[ Inflect a possibly multiword or hyphenated term `form` using the function `inflect`, which is a function of one argument that is called on a single word to inflect and should return either the inflected word or a list of inflected words. `special` indicates how to inflect the multiword term and should be e.g. {"first"} to inflect only the first word, {"first-last"} to inflect the first and last words, {"each"} to inflect each word, etc. See `allowed_special_indicators` above for the possibilities. If `special` is `+`, or is omitted and the term is multiword (i.e. containing a space character), and `prepositions` is supplied, the function checks for multiword or hyphenated terms containing the prepositions in `prepositions`, e.g. Italian [[senso di marcia]] or [[medaglia d'oro]] or Portuguese [[tartaruga-do-mar]]. If such a term is found, only the first word is inflected. Otherwise, the default is {"first-last"}. `prepositions` is a list of Lua patterns matching prepositions. The patterns will automatically have the separator character (space or hyphen) added to the left side but not the right side, so they should contain a space character (which will automatically be converted to the appropriate separator) on the right side unless the preposition is joined on the right side with an apostrophe. Examples of preposition patterns for Italian are {"di "}, {"sull'"} and {"d?all[oae] "} (which matches {"dallo "}, {"dalle "}, {"alla "}, etc.). The return value is always either a list of inflected multiword or hyphenated terms, or nil if `special` is omitted and `form` is not multiword. (If `special` is specified and `form` is not multiword or hyphenated, an error results.) ]==] function export.handle_multiword(form, special, inflect, prepositions, sep) sep = sep or form:find(" ") and " " or "%-" local raw_sep = sep == " " and " " or "-" -- Used to add regex version of separator in the replacement portion of ugsub() or :gsub() local sep_replacement = sep == " " and " " or "%%-" -- Given a Lua pattern, replace space with the appropriate separator. local function hack_re(re) if sep == " " then return re end return (re:gsub(" ", sep_replacement)) end if special == "first" then local first, rest = form:match(hack_re("^(.-)( .*)$")) if not first then error("Special indicator 'first' can only be used with a multiword term: " .. form) end return add_endings(inflect(first), rest) elseif special == "second" then local first, second, rest = form:match(hack_re("^([^ ]+ )([^ ]+)( .*)$")) if not first then error("Special indicator 'second' can only be used with a term with three or more words: " .. form) end return add_endings(add_endings({first}, inflect(second)), rest) elseif special == "first-second" then local first, space, second, rest = form:match(hack_re("^([^ ]+)( )([^ ]+)( .*)$")) if not first then error("Special indicator 'first-second' can only be used with a term with three or more words: " .. form) end return add_endings(add_endings(add_endings(inflect(first), space), inflect(second)), rest) elseif special == "each" then local terms = split(form, sep) if #terms < 2 then error("Special indicator 'each' can only be used with a multiword term: " .. form) end for i, term in ipairs(terms) do terms[i] = inflect(term) if i > 1 then terms[i] = add_endings(raw_sep, terms[i]) end end local result = "" for _, term in ipairs(terms) do result = add_endings(result, term) end return result elseif special == "first-last" then local first, middle, last = form:match(hack_re("^(.-)( .* )(.-)$")) if not first then first, middle, last = form:match(hack_re("^(.-)( )(.*)$")) end if not first then error("Special indicator 'first-last' can only be used with a multiword term: " .. form) end return add_endings(add_endings(inflect(first), middle), inflect(last)) elseif special == "last" then local rest, last = form:match(hack_re("^(.* )(.-)$")) if not rest then error("Special indicator 'last' can only be used with a multiword term: " .. form) end return add_endings(rest, inflect(last)) elseif special and special ~= "+" then error("Unrecognized special=" .. special) end -- Only do default behavior if special indicator '+' explicitly given or separator is space; otherwise we will -- break existing behavior with hyphenated words. if (special == "+" or sep == " ") and form:find(sep) then if prepositions then -- check for prepositions in the middle of the word; do it this way so we can handle -- more than one word before the preposition (and usually inflect each word) for _, prep in ipairs(prepositions) do local first, space_prep_rest = umatch(form, hack_re("^(.-)( " .. prep .. ".*)$")) if first then return add_endings(inflect(first), space_prep_rest) end end end -- multiword or hyphenated expressions default to first-last; we need to pass in the separator to avoid -- problems with multiword terms containing hyphens in the individual words return export.handle_multiword(form, "first-last", inflect, prepositions, sep) end return nil end local function link_hyphen_split_component(word, data) if data.link_hyphen_split_component then return data.link_hyphen_split_component(word) else return "[[" .. word .. "]]" end end -- Default function to split a word on apostrophes. Don't split apostrophes at the beginning or end of a word (e.g. -- [['ndrangheta]] or [[po']]). Handle multiple apostrophes correctly, e.g. [[l'altr'ieri]] -> [[l']][altr']][[ieri]]. function export.default_split_apostrophe(word, data) local apostrophe_parts = split(word, "'", true, true) local linked_apostrophe_parts = {} local apostrophes_at_beginning = "" local i = 1 -- Apostrophes at beginning get attached to the first word after (which will always exist but may -- be blank if the word consists only of apostrophes). while i < #apostrophe_parts do -- <, not <=, in case the word consists only of apostrophes local apostrophe_part = apostrophe_parts[i] i = i + 1 if apostrophe_part == "" then apostrophes_at_beginning = apostrophes_at_beginning .. "'" else break end end apostrophe_parts[i] = apostrophes_at_beginning .. apostrophe_parts[i] -- Now, do the remaining parts. A blank part indicates more than one apostrophe in a row; we join -- all of them to the preceding word. while i <= #apostrophe_parts do local apostrophe_part = apostrophe_parts[i] if apostrophe_part == "" then linked_apostrophe_parts[#linked_apostrophe_parts] = linked_apostrophe_parts[#linked_apostrophe_parts] .. "'" elseif i == #apostrophe_parts then insert(linked_apostrophe_parts, apostrophe_part) else insert(linked_apostrophe_parts, apostrophe_part .. "'") end i = i + 1 end for j, tolink in ipairs(linked_apostrophe_parts) do linked_apostrophe_parts[j] = link_hyphen_split_component(tolink, data) end return concat(linked_apostrophe_parts) end --[=[ Auto-add links to a word that should not have spaces but may have hyphens and/or apostrophes. We split off final punctuation, then split on hyphens if `data.split_hyphen` is given, and also split on apostrophes if `data.split_apostrophe` is given. We only split on hyphens if they are in the middle of the word, not at the beginning or end (hyphens at the beginning or end indicate suffixes or prefixes, respectively). `include_hyphen_prefixes`, if given, is a set of prefixes (not including the final hyphen) where we should include the final hyphen in the prefix. Hence, e.g. if "anti" is in the set, a Portuguese word like [[anti-herói]] "anti-hero" will be split [[anti-]][[herói]] (whereas a word like [[código-fonte]] "source code" will be split as [[código]]-[[fonte]]). If `data.split_apostrophe` is specified, we split on apostrophes unless `data.no_split_apostrophe_words` is given and the word is in the specified set, such as French [[c'est]] and [[quelqu'un]]. If `data.split_apostrophe` is true, the default algorithm applies, which splits on all apostrophes except those at the beginning and end of a word (as in Italian [['ndrangheta]] or [[po']]), and includes the apostrophe in the link to its left (so we auto-split French [[l'eau]] as [[l']][[eau]] and [[l'altr'ieri]] as [[l']][altr']][[ieri]]). If `data.split_apostrophe` is specified but not `true`, it should be a function of one argument that does custom apostrophe-splitting. The argument is the word to split, and the return value should be the split and linked word. ]=] local function add_single_word_links(space_word, data, term_has_spaces) local space_word_no_punct, punct local punct_pattern = data.punctuation if punct_pattern and is_callable(punct_pattern) then space_word_no_punct, punct = punct_pattern(space_word) else if punct_pattern == nil then punct_pattern = "[,;:?!]" end space_word_no_punct, punct = umatch(space_word, "^(.*)(" .. punct_pattern .. ")$") end space_word_no_punct = space_word_no_punct or space_word punct = punct or "" local words if space_word_no_punct:sub(1, 1) == "-" or space_word_no_punct:sub(-1) == "-" then -- don't split prefixes and suffixes words = {space_word_no_punct} else local splitter if term_has_spaces then splitter = data.split_hyphen_when_space else splitter = data.split_hyphen_when_no_space end if is_callable(splitter) then words = splitter(space_word_no_punct) if type(words) == "string" then return words .. punct end end end if not words then local split_hyphen if term_has_spaces then split_hyphen = data.split_hyphen_when_space else split_hyphen = data.split_hyphen_when_no_space if split_hyphen == nil then -- default to true; use `false` to avoid this split_hyphen = true end end if split_hyphen then words = split(space_word_no_punct, "-", true, true) else words = {space_word_no_punct} end end local linked_words = {} for j, word in ipairs(words) do if j < #words and data.include_hyphen_prefixes and data.include_hyphen_prefixes[word] then word = "[[" .. word .. "-]]" elseif j > 1 and data.include_hyphen_suffixes and data.include_hyphen_suffixes[word] then word = "[[-" .. word .. "]]" else -- Don't split on apostrophes if the word is in `no_split_apostrophe_words`. if (not data.no_split_apostrophe_words or not data.no_split_apostrophe_words[word]) and data.split_apostrophe and word:find("'", nil, true) then if data.split_apostrophe == true then word = export.default_split_apostrophe(word, data) else -- custom apostrophe splitter/linker word = data.split_apostrophe(word) end elseif word ~= "" then -- avoid -[[]]- (e.g. f--k) word = link_hyphen_split_component(word, data) end if j < #words then word = word .. "-" end end insert(linked_words, word) end return concat(linked_words) .. punct end --[=[ Auto-add links to a multiword term. `data` contains fields customizing how to do this. By default we proceed as follows: (1) If the term already has embedded links in it, they are left unchanged. (2) Otherwise, if there are spaces present, we split on spaces and link each word separately. (3) If a given space-separated component ends in punctuation (defaulting to [,;:?!]), it is separated off, the remainder of the algorithm run, and the punctuation pasted back on. (4) If there are hyphens in a given space-separated component, we may link each hyphenated term separately depending on the settings in `data`. Normally the hyphens are not included in the linked terms, but this can be overridden for specific prefixes and/or suffixes. By default, if there are spaces in the multiword term, we do not link hyphenated components (because of cases like "boire du petit-lait" where "petit-lait" should be linked as a whole), but do so otherwise (e.g. for "avant-avant-hier"); this can overridden for cases like "croyez-le ou non". Cases where only some of the hyphens should be split can always be handled by explicitly specifying the head (e.g. "Nord-Pas-de-Calais" given as head=[[Nord]]-[[Pas-de-Calais]]). (5) If there are apostrophes in a given component, we may link each apostrophe-separated term separately depending on the settings in `data`, including the apostrophe in the link to its left (so we split "de l'eau" as "[[de]] [[l']][[eau]]"). The settings in `data` are as follows: `split_hyphen_when_no_space`: Whether to split on hyphens when the term has no spaces. Defaults to true if set to `nil`. This can be a function of one argument, to implement a custom splitting algorithm for hyphen-separated terms. If this returns [FIXME: FINISH ME ...] If `data.split_apostrophe` is specified, we split on apostrophes unless `data.no_split_apostrophe_words` is given and the word is in the specified set, such as French [[c'est]] and [[quelqu'un]]. If `data.split_apostrophe` is true, the default algorithm applies, which splits on all apostrophes except those at the beginning and end of a word (as in Italian [['ndrangheta]] or [[po']]), and includes the apostrophe in the link to its left (so we auto-split French [[l'eau]] as [[l']][[eau]] and [[l'altr'ieri]] as [[l']][altr']][[ieri]]). If `data.split_apostrophe` is specified but not `true`, it should be a function of one argument that does custom apostrophe-splitting. The argument is the word to split, and the return value should be the split and linked word. We don't always split on hyphens because of cases like "boire du petit-lait" where "petit-lait" should be linked as a whole, but provide the option to do it for cases like "croyez-le ou non". If there's no space, however, then it makes sense to split on hyphens by `no_split_apostrophe_words` and `include_hyphen_prefixes` allow for special-case handling of particular words and are as described in the comment above add_single_word_links(). ]=] function export.add_links_to_multiword_term(term, data) if term:match("[%[%]]") then return term end local words = split(term, " ", true, true) local term_has_spaces = #words > 1 local linked_words = {} for _, word in ipairs(words) do insert(linked_words, add_single_word_links(word, data, term_has_spaces)) end local retval = concat(linked_words, " ") -- If we ended up with a single link consisting of the entire term, -- remove the link. return retval:match("^%[%[([^%[%]]*)%]%]$") or retval end local function canonicalize_begin_end_spec(spec) local from, to = spec:match("^(.-):(.*)$") if not from then from = spec to = "" end return from, to end --[==[ Given a `linked_term` that is the output of add_links_to_multiword_term(), apply modifications as given in `modifier_spec` to change the link destination of subterms (normally single-word non-lemma forms; sometimes collections of adjacent words). This is usually used to link non-lemma forms to their corresponding lemma, but can also be used to replace a span of adjacent separately-linked words to a single multiword lemma. The format of `modifier_spec` is one or more semicolon-separated subterm specs, where each such spec is of the form SUBTERM:DEST, where SUBTERM is one or more words in the `linked_term` but without brackets in them, and DEST is the corresponding link destination to link the subterm to. Any occurrence of ~ in DEST is replaced with SUBTERM. Alternatively, a single modifier spec can be of the form BEGIN[FROM:TO], which is equivalent to writing BEGINFROM:BEGINTO (see example below). For example, given the source phrase [[il bue che dice cornuto all'asino]] "the pot calling the kettle black" (literally "the ox that calls the donkey horned/cuckolded"), the result of calling add_links_to_multiword_term() is [[il]] [[bue]] [[che]] [[dice]] [[cornuto]] [[all']][[asino]]. With a modifier_spec of 'dice:dire', the result is [[il]] [[bue]] [[che]] [[dire|dice]] [[cornuto]] [[all']][[asino]]. Here, based on the modifier spec, the non-lemma form [[dice]] is replaced with the two-part link [[dire|dice]]. Another example: given the source phrase [[chi semina vento raccoglie tempesta]] "sow the wind, reap the whirlwind" (literally (he) who sows wind gathers [the] tempest"). The result of calling add_links_to_multiword_term() is [[chi]] [[semina]] [[vento]] [[raccoglie]] [[tempesta]], and with a modifier_spec of 'semina:~re; raccoglie:~re', the result is [[chi]] [[seminare|semina]] [[vento]] [[raccogliere|raccoglie]] [[tempesta]]. Here we use the ~ notation to stand for the non-lemma form in the destination link. A more complex example is [[se non hai altri moccoli puoi andare a letto al buio]], which becomes [[se]] [[non]] [[hai]] [[altri]] [[moccoli]] [[puoi]] [[andare]] [[a]] [[letto]] [[al]] [[buio]] after calling add_links_to_multiword_term(). With the following modifier_spec: 'hai:avere; altr[i:o]; moccol[i:o]; puoi: potere; andare a letto:~; al buio:~', the result of applying the spec is [[se]] [[non]] [[avere|hai]] [[altro|altri]] [[moccolo|moccoli]] [[potere|puoi]] [[andare a letto]] [[al buio]]. Here, we rely on the alternative notation mentioned above for e.g. 'altr[i:o]', which is equivalent to 'altri:altro', and link multiword subterms using e.g. 'andare a letto:~'. (The code knows how to handle multiword subexpressions properly, and if the link text and destination are the same, only a single-part link is formed.) ]==] function export.apply_link_modifiers(linked_term, modifier_spec, lang) local split_modspecs = split(modifier_spec, "%s*;%s*") for j, modspec in ipairs(split_modspecs) do local id if modspec:find("<") then local rest rest, id = modspec:match("^(.*)<id:(.-)>$") if rest then modspec = rest end end local subterm, dest, otherlang local begin_spec, rest, end_spec = modspec:match("^%[(.-)%]([^:]*)%[(.-)%]$") if begin_spec then local begin_from, begin_to = canonicalize_begin_end_spec(begin_spec) local end_from, end_to = canonicalize_begin_end_spec(end_spec) subterm = begin_from .. rest .. end_from dest = begin_to .. rest .. end_to end if not subterm then rest, end_spec = modspec:match("^([^:]*)%[(.-)%]$") if rest then local end_from, end_to = canonicalize_begin_end_spec(end_spec) subterm = rest .. end_from dest = rest .. end_to end end if not subterm then begin_spec, rest = modspec:match("^%[(.-)%]([^:]*)$") if begin_spec then local begin_from, begin_to = canonicalize_begin_end_spec(begin_spec) subterm = begin_from .. rest dest = begin_to .. rest end end if not subterm then subterm, dest = modspec:match("^(.-)%s*:%s*(.*)$") if subterm and subterm ~= "^" and subterm ~= "$" then local langdest -- Parse off an initial language code (e.g. 'en:Higgs', 'la:minūtia' or 'grc:σκατός'). Also handle -- Wikipedia prefixes ('w:Abatemarco' or 'w:it:Colle Val d'Elsa'). otherlang, langdest = dest:match("^([A-Za-z0-9._-]+):([^ ].*)$") if otherlang == "w" then local foreign_wikipedia, foreign_term = langdest:match("^([A-Za-z0-9._-]+):([^ ].*)$") if foreign_wikipedia then otherlang = otherlang .. ":" .. foreign_wikipedia langdest = foreign_term end dest = ("%s:%s"):format(otherlang, langdest) otherlang = nil elseif otherlang then otherlang = get_lang_by_code(otherlang, true, "allow etym") dest = langdest end end end if not subterm then if modspec == "?" or modspec == "!" then subterm = "$" dest = modspec elseif modspec == "..." or modspec == "...?" then subterm = "$" dest = " " .. modspec elseif modspec:find("^[A-Z]$") then -- X, Y, etc. by themselves are unlinked, to help with snowclones subterm = modspec dest = "_" else subterm = modspec dest = "~" end end if subterm == "^" then linked_term = dest:gsub("_", " ") .. linked_term elseif subterm == "$" then linked_term = linked_term .. dest:gsub("_", " ") else if subterm:find("[", nil, true) then error(("Subterm '%s' in modifier spec '%s' cannot have brackets in it"):format( escape_wikicode(subterm), escape_wikicode(modspec))) end local escaped_subterm = pattern_escape(subterm) local subterm_re = "%[%[" .. escaped_subterm:gsub("(%%?[ ',%-])", "%%]*%1%%[*") .. "%]%]" local expanded_dest if dest:find("~", nil, true) then expanded_dest = dest:gsub("~", replacement_escape(subterm)) else expanded_dest = dest end if otherlang then expanded_dest = expanded_dest .. "#" .. otherlang:getCanonicalName() end local subterm_replacement if expanded_dest == "_" then subterm_replacement = subterm if id then error("Can't supply <id:...> with an unlinked subterm") end if otherlang then error("Can't supply prefixed language with an unlinked subterm") end elseif id or otherlang then if id and expanded_dest:find("[", nil, true) then error("Can't supply <id:...> with destination with embedded brackets") end subterm_replacement = require(links_module).language_link { lang = otherlang or lang, term = expanded_dest, alt = subterm, id = id, } elseif expanded_dest:find("[", nil, true) then -- Use the destination directly if it has brackets in it (e.g. to put brackets around parts of a word). subterm_replacement = expanded_dest elseif expanded_dest == subterm then subterm_replacement = "[[" .. subterm .. "]]" else subterm_replacement = "[[" .. expanded_dest .. "|" .. subterm .. "]]" end local escaped_subterm_replacement = replacement_escape(subterm_replacement) local replaced_linked_term = ugsub(linked_term, subterm_re, escaped_subterm_replacement) if replaced_linked_term == linked_term then mw.log(("Attempted to replace %s with %s in %s"):format(subterm_re, escaped_subterm_replacement, linked_term)) error(("Subterm '%s' could not be located in %slinked expression %s, or replacement same as subterm"):format( subterm, j > 1 and "intermediate " or "", escape_wikicode(linked_term))) else linked_term = replaced_linked_term end end end return linked_term end local inflection_to_cats_and_label = { plural = { filter_plpos = function(plpos) -- plurals also occur with determiners, adjectives etc. and we don't want to generate categories like -- 'countable determiners', 'countable adjectives', etc. Note that the passed-in `plpos` has `proper nouns` -- converted to `nouns`. return plpos == "Danh từ" end, cats = {"{plpos} đếm được"}, no_cats = {"{plpos} không đếm được"}, no_label = "<<không đếm được>>", sometimes_label = "<<đếm được>> và <<không đếm được>>", }, comparative = { cats = {"{plpos} so sánh được"}, no_cats = {"{plpos} không so sánh được"}, fixed_adj_label = "so sánh được", }, ["female equivalent"] = { cats = {"{plpos} with other-gender equivalents"}, }, ["male equivalent"] = { cats = {"{plpos} with other-gender equivalents"}, }, } --[=[ Validate the items in `items` against the list or set of valid items in `valid_items`. If `field` is given, fetch the item to check from that-named field of each object in `items`; otherwise use the items in `items` directly. If an error occurs, `item_type` specifies the type of item to mention in the error message, which will also list the allowed items (either taken directly from `valid_items` if a list, or from the sorted keys if a set). ]=] local function validate_items(data) local items, field, valid_items, item_type = data.items, data.field, data.valid_items, data.item_type local valid_set if valid_items[1] then valid_set = list_to_set(valid_items) else valid_set = valid_items end for _, item in ipairs(items) do if field then item = item[field] end if not valid_set[item] then local valid_list if valid_items[1] then valid_list = valid_items else valid_list = {} for valid_item, _ in pairs(valid_items) do insert(valid_list, valid_item) end table.sort(valid_list) end error(("Invalid %s: %s; expected one of %s"):format(item_type, item, mw.text.listToText(valid_list))) end end end function export.has_plural_gender(genders) local saw_p, saw_non_p for _, val in ipairs(genders) do local g = val.spec if g:find("p$") then saw_p = true elseif g ~= "?" then saw_non_p = true end end return saw_p, saw_non_p end function export.is_plurale_tantum(genders) local saw_p, saw_non_p = export.has_plural_gender(genders) return saw_p and not saw_non_p end local Headdata = {} function Headdata:get_simplified_plpos() return export.simplify_pos(self.pos_category) end --[==[ Canonicalize a category. The category string will have the full language name (i.e. the name of the L2 language under which an entry is inserted, which may a parent language if the language in question is an etymology-only language) prepended to it, and any occurrences of `{plpos}` in the string replaced with the actual plural part of speech (with some canonicalization; specifically, `proper nouns` is converted to `nouns` when replacing `{plpos}`). To specify a full category and not have the language name prepended to it, precede it with {"Category:"}, which will be removed. ]==] function Headdata:canonicalize_category(category) if category:find("{plpos}") then local plpos = self:get_simplified_plpos() category = category:gsub("{plpos}", plpos) end if category:find("^Category:") then return (category:gsub("^Thể loại:", "")) else return category.. " " .. self.langfullname end end --[==[ Canonicalize a list of categories according to the process described in `Headdata:canonicalize_category`. This simply loops over each category in `categories` and calls `Headdata:canonicalize_category` on each one. ]==] function Headdata:canonicalize_categories(categories) if not categories then return categories end local canon_cats = {} for _, cat in ipairs(categories) do insert(canon_cats, self:canonicalize_category(cat)) end return canon_cats end --[==[ Insert a category into the `categories` list in the headword `data` structure. `category` is normally a string naming the category, which will have the full language name prepended to it and any occurrences of `{plpos}` in the string replaced with the actual plural part of speech (with some canonicalization; specifically, `proper nouns` is converted to `nouns` when replacing `{plpos}`). To specify a full category and not have the language name prepended to it, precede it with {"Category:"}. ]==] function Headdata:insert_category(category) insert(self.categories, self:canonicalize_category(category)) end --[==[ Validate the genders in `genders` (a list of gender spec objects, as produced by {type = "genders"} in [[Module:parameters]] and accepted by [[Module:gender and number]]), checking that all specified genders are in the list given in `valid_genders`. Optional `props` controls how the validation happens. In particular, unless `props.no_augment` is given, then for any gender beginning with `m`, if a corresponding gender beginning with `f` occurs, analogous genders beginning with `mf`, `mfbysense` and `mfequiv` are also allowed. For example, if `m-d` (masculine dual) and `f-d` (feminine dual) both occur, genders `mf-d`, `mfbysense-d` and `mfequiv-d` are also allowed. If a disallowed gender is given, an error occurs, giving the disallowed gender along with the list of all allowed genders. ]==] function Headdata:validate_genders(genders, valid_genders, props) if not genders then return end props = props or {} local gender_type, no_augment = props.gender_type, props.no_augment gender_type = gender_type or "headword" local valid_gender_set = list_to_set(valid_genders) local augmented_gender_set if no_augment then augmented_gender_set = valid_gender_set else augmented_gender_set = {} for g, _ in pairs(valid_gender_set) do augmented_gender_set[g] = true if g:find("^m") and not g:find("^mf") and valid_gender_set[g:gsub("^m", "f")] then augmented_gender_set[g:gsub("^m", "mf")] = true augmented_gender_set[g:gsub("^m", "mfbysense")] = true augmented_gender_set[g:gsub("^m", "mfequiv")] = true end end end validate_items { items = genders, field = "spec", valid_items = augmented_gender_set, item_type = ("%s gender"):format(gender_type), } end --[==[ Parse an inflection specified in `field`, the name of a parameter holding an inflection. If the parameter is numeric, the field should be given as a number (as with the `params` structure passed to [[Module:parameters]]), not a string containing the representation of a number. The field can specify multiple comma-separated terms, and each term can have associated inline modifiers that will be parsed (unless there is top-level HTML in the parameter, i.e. HTML not contained inside an inline modifier, e.g. as may be generated by using {{tl|l}} or similar template inside a parameter). This is a wrapper around the top-level `parse_term_with_modifiers()` function. `props` is an optional structure containing additional properties, including all additional properties documented for the top-level `parse_term_with_modifiers()` function. If the parameter in `field` is unspecified, the return value of this function will be an empty list, not {nil}, so it is always safe to iterate over the return value. By default, the allowed modifiers are the same as for `parse_term_with_modifiers()`, except that (normally) the `<tr:...>` modifier will be allowed if `include_tr` was specified in the original call to `process_headword()`; likewise for the `<ts:...>` modifier if `include_ts` was specified and the `<sc:...>` modifier if `include_sc` was specified. If If you pass in your own `include_mods` list of additional allowed modifiers, it will (normally) automatically be augmented with {"tr"}, {"ts"} and/or {"sc"} if `include_tr`, `include_ts` and/or `include_sc` was specified when calling `process_headword()`. To disable automatic augmentation of these modifiers (whether or not you specify an `include_mods` property), specify {no_augment_include_mods = true} in `props`. ]==] function Headdata:parse_inflection(field, props) local val = self.process_props.args[field] if not val then return {} end props = props and shallow_copy(props) or {} local include_mods = props.include_mods local calldata = self.process_props.calldata if not props.no_augment_include_mods and (calldata.include_tr or calldata.include_ts or calldata.include_sc) then include_mods = include_mods and shallow_copy(include_mods) or {} if calldata.include_tr then insert_if_not(include_mods, "tr") end if calldata.include_ts then insert_if_not(include_mods, "ts") end if calldata.include_sc then insert_if_not(include_mods, "sc") end end props.val = val props.paramname = field props.splitchar = props.splitchar or "," props.include_mods = include_mods local orig_frob = props.frob local function convert_tilde_to_pagename(term) if orig_frob then term = orig_frob(term) end if not term:find("~", nil, true) then return term end term = term:gsub("\\~", "\1"):gsub("~", replacement_escape(self.pagename)):gsub("\1", "~") return term end props.frob = convert_tilde_to_pagename return export.parse_term_with_modifiers(props) or {} end --[==[ Insert previously-parsed terms into the `inflections` of the headword `data` structure. This is a wrapper around the top-level `insert_inflection()` function. `terms` is the list of parsed terms. (If {nil}, nothing happens unless `request` is set in `props`.) `label` is the the label that the inflections are given; any parts of the label surrounded in `<<...>>` are linked to the glossary. (If the contents of `<<...>>` contain a `|` in them, they are a two-part link.) `props` is an optional structure containing additional properties, including all additional properties documented for the top-level `insert_inflection()` function. Unless `no_auto_cats` is given in `props`, certain labels automatically trigger the insertion of additional categories in specific circumstances. This is controlled by the `inflection_to_cats_and_label` structure in [[Module:headword utilities]]. For example, if the part of speech is {"nouns"} or {"proper nouns"} and the label (after removing any links and `<<...>>` glossary specs) is {"plural"}, an additional category <code><var>lang</var> countable nouns</code> will be added if a plural value is given (i.e. the value is not {"-"}). If the value is {"-"} (which indicates that there is no plural and triggers the insertion of the fixed inflection label {"no plural"}), <code><var>lang</var> uncountable nouns</code> will be inserted instead, and if both {"-"} and a value are given (which triggers the insertion of the {"usually no plural"} fixed inflection label), both categories are added. Similar categories are inserted when a comparative is given (with a label {"comparative"}), and if the label is {"female equivalent"} or {"male equivalent"} and the value is not {"-"}, a category such as <code><var>lang</var> nouns with other-gender equivalents</code> is inserted. ]==] function Headdata:insert_inflection(terms, label, props) props = props and shallow_copy(props) or {} if not props.no_auto_cats then local bare_label = props.label_for_cats_and_modes if not bare_label then bare_label = label if bare_label:find("[[", nil, true) then bare_label = require(links_module).remove_links(bare_label) end if bare_label:find("<<", nil, true) then bare_label = bare_label:gsub("<<.-|(.-)>>", "%1"):gsub("<<(.-)>>", "%1") end end local cats = inflection_to_cats_and_label[bare_label] if cats then if not cats.filter_plpos or cats.filter_plpos(self:get_simplified_plpos()) then if props.cats == nil then props.cats = self:canonicalize_categories(cats.cats) end if props.usually_no_cats == nil then props.usually_no_cats = self:canonicalize_categories(cats.usually_no_cats) end if props.no_cats == nil then props.no_cats = self:canonicalize_categories(cats.no_cats) end end end end props.headdata = self props.terms = terms props.label = label return export.insert_inflection(props) end --[==[ Insert a "fixed" inflection (a label without associated values) into the `inflections` table of the headword `data` structure, labeled according to `label` (which can have glossary links in it specified using `<<...>>`, exactly as for `:insert_inflection()`). An example label (from {{tl|mn-noun}} in [[Module:mn-headword]]) is {"hidden-g declension"}, specifying that the noun belongs to the hidden-''g'' declension. This is a direct wrapper around the top-level function `insert_fixed_inflection()`; see that function for more details on optional `props`. ]==] function Headdata:insert_fixed_inflection(label, props) props = props and shallow_copy(props) or {} props.headdata = self props.label = label export.insert_fixed_inflection(props) end --[==[ Parse the inflection(s) specified in `field` and insert them into the `inflections` table of the headword `data` structure, labeled according to `label`. This is equivalent to calling {terms = data:parse_inflection(field, props)} followed by {return data:insert_inflection(terms, label, props)} and behaves the same as the combination of those two functions. See their documentation for more details. ]==] function Headdata:parse_and_insert_inflection(field, label, props) local terms = self:parse_inflection(field, props) return self:insert_inflection(terms, label, props) end --[==[ Generate an inflection that may be specified explicitly or defaulted (which involves looping over the specified or defaulted heads and determining the script of each one, since the formation of the default depends on the script). `data` is the data object passed into the POS handler. `terms` is the list of terms to process. Those where the term itself is not `+` will be returned unchanged, while those where the term is `+` will be handled by generating the appropriate inflections from the headwords using `make_inflection` (which is passed three arguments, `head`, `tr` and `sccode`, i.e. the script code of `head`) and should return two values, term and translit, either of which can be nil. A nil head will be ignored, and otherwise the decorations specified on the `+` term will be combined with the decorations specified on the head. The return value is a list of inflections where no requests for the default inflection remain. ]==] function Headdata:resolve_special(terms, handle_special, props) props = props or {} local infls = {} local is_special = props.is_special or function(_data, infl) return infl.term == "+" end for _, termobj in ipairs(terms) do if not is_special(self, termobj) then insert(infls, termobj) else for _, headobj in ipairs(self.heads) do local head = headobj.term or self.pagename local head_no_links if props.with_links then head = head:find("%[") and head or require(headword_module).add_multiword_links(head, not headobj.term) head_no_links = require(links_module).remove_links(head) else head = require(links_module).remove_links(head) head_no_links = head end local newterms = handle_special { headdata = self, head = head, head_no_links = head_no_links, tr = headobj.tr, infl = termobj, sc = self.lang:findBestScript(head_no_links), } if newterms then newterms = export.canonicalize_termobj_list(newterms, "term", "resolve_special", termobj) for _, newterm in ipairs(newterms) do if not props.no_combine_handle_special_retval_with_origin then export.combine_termobj_decorations(newterm, termobj) end if not props.no_combine_handle_special_retval_with_head then export.combine_termobj_decorations(newterm, headobj) end insert(infls, newterm) end end end end end return infls end --[==[ Add the current page to a tracking page named `Wiktionary:Tracking/``lang``-headword/``page```, where ``lang`` is the language code of the current language. For example, if the current language is `mak` and `page` is {"redundant-lon"}, the current page will get added to the tracking page `Wiktionary:Tracking/mak-headword/redundant-lon`. All pages added to that tracking page can be seen by going to [[Special:WhatLinksHere/Wiktionary:Tracking/mak-headword/redundant-lon]]. This is typically used to track issues occurring in user-specified parameters that do not rise to the level of errors (e.g. redundant parameters, deprecated usages or other dispreferred values). ]==] function Headdata:track(page) return require(debug_track_module)(self.langcode .. "-headword/" .. page) end local boolean_param = {type = "boolean"} --[==[ Process an arbitrary headword in an arbitrary language, handling generic and language-specific arguments and calling `full_headword()` in [[Module:headword]]. This is intended for use in implementing headword modules (e.g. [[Module:uz-headword]] for Uzbek, [[Module:mn-headword]] for Uzbek, [[Module:gsw-headword]] for Alemannic German, etc.) and provides a general implementation of such modules. On input, `data` is an object with the following fields: * `lang`: The language object of the language being handled. '''Required.''' Use the special value {false} to indicate that the language is specified by the user in {{para|1}}. * `frame`: The frame object passed into the `show()` function of your module, which implements headword-handling for all parts of speech in the module, including a generic POS-handling template (e.g. {{tl|uz-head}} or {{tl|mn-head}}), which allows arbitrary parts of speech to be handled. '''Required.''' * `pos_functions`: A table listing, for each part of speech requiring special handling, the extra parameters (if any) that the part of speech accepts, along with how to handle them. See the examples below. '''Required.''' * `validate_lang`: If {lang = true} is specified, this is a function of one argument (a language object, based on the language specified in {{para|1}}) that should throw an error if the language object is disallowed. If omitted, all languages are allowed. * `numbered_head`: If true, explicit headwords are specified in a numbered param instead of in {{para|head}}. The param used is usually {{para|1}}, but is {{para|2}} for generic POS templates such as {{tl|mn-head}} or for POS-specific templates when {lang = true} is specified (e.g. {{tl|arb-noun}}), and is {{para|3}} for generic POS templates when {lang = true} is spcified (e.g. {{tl|arb-head}}). * `include_tr`: If true, allow explicit transliterations to be specified. The transliteration(s) for the headword(s) themselves is/are specified in {{para|tr}} or through the {{cd|<tr:...>}} inline modifier on headwords, and transliterations of inflections are specified through the {{cd|<tr:...>}} inline modifier. This should generally be given when a headword for the language may be in a script other than Latin. * `include_ts`: If true, allow explicit transcriptions to be specified. The transcription(s) for the headword(s) themselves is/are specified in {{para|ts}} or through the {{cd|<ts:...>}} inline modifier on headwords, and transcriptions of inflections are specified through the {{cd|<ts:...>}} inline modifier. This should generally only be given for certain languages where the spelling is radically different from the pronunciation (e.g. in cuneiform languages such as Hittite and Akkadian, and potentially in Tibetan), and represents a pronunciation-based rendering (usually not direct IPA). * `include_sc`: If true, allow an explicit script code to be specified. The overall script code for the headword(s) themselves can be specified using {{para|sc}}, and per-headword or per-inflection script codes are specified using the {{cd|<sc:...>}} inline modifier. This should generally be given when a language supports multiple scripts. * `infls`: An inflections structure specifying extra generic parameters that apply to all parts of speech and how to handle them. The format is the same as for the `infls` structure in `pos_functions`. * `augment_params`: A callback function to add extra generic parameters, or modify existing generic parameters in the `params` structure; but in general, extra generic parameters should be added through the `infls` structure instead. This callback should not be used to add part-of-speech-specific parameters; those are handled through the appropriate setting in `pos_functions`. It is passed two single arguments, the `headdata` object and the `params` table to be augmented. See below for extra fields stored in the `process_props` structure of the `headdata` object. This function is called after initializing the `params` table and processing the overall `infls` structure, but just before adding part-of-speech-specific parameters (from `pos_functions`) to `params`. Thus, it can override any generic parameters but may itself be overridden by a part-of-speech-specific parameter. * `augment_headdata`: A callback function to modify the `headdata` object passed to `full_headword()` in [[Module:headword]]. This should not be used to for part-of-speech-specific parameter handling; this is handled through the appropriate setting in `pos_functions`. It is passed a single argument, the `headdata` object, as for `augment_params`; but the `process_props` structure and other fields will be more filled out, as this callback is called later. This can be used, for example, to override the value of a generic setting in `headdata` (e.g. [[Module:uz-headword]] uses this to mark non-Latin terms as variant forms by setting `headdata.var`, being careful not to override a value already set by the user). This function is called after initializing the `headdata` table with all information taken from generic parameters and processing generic parameters specified in the overall `infls` structure, and just before processing the appropriate part-of-speech-specific `infls` structure in `pos_functions` (which in turn is followed by any handler function in `pos_functions`). Thus, it can override any value set during generic parameter processing but may itself be overridden by a part-of-speech-specific parameter or handler. * `force_cat`: If true, add the headword to the appropriate categories even on non-mainspace pages. This can be used for testing category handling in sample template calls on userspace test pages or template documentation pages. It should not be set in production code. * `enable_auto_translit`: If true, turn on automatic transliteration of inflections at a global level (i.e. applying to all inflections). This has no effect on headwords, which are automatically transliterated by default if in a non-Latin script and automatic transliteration is available for the language. You can also set this value for particular inflections in the `insert_inflection()` function. The `headdata` headword data structure has an extra field in it called `process_props` that is specific to the `process_headword()` function, containing various extra properies. As the operation of `process_headword()` proceeds, this object gets filled out with more fields. For example, once parameter parsing happens, the resulting values are available in the `args` field of `process_props`. The following fields are found in `process_props` (note that `pos_category`, the canonicalized plural part of speech of the headword being processed, is *not* present here; it's directly on `headdata`): * `namespace`: The name of the current namespace; an empty string for the mainspace. This references the namespace of the actual page and isn't affected by the {{para|pagename}} parameter. * `indexing_pos`: The canonicalized part of speech of the headword used to index into `pos_functions`. This is the same as `poscat` for specific part-of-speech templates such as {{tl|uz-noun}}, but has the value {"head"} for generic part-of-speech templates such as {{tl|uz-head}}. (Note that `poscat` is directly available on `headdata`.) * `generic_pos_template`: True if a generic POS templates like {{tl|uz-head}} or {{tl|mn-head}} was used. (This is signaled by omitting the invocation parameter {{para|1}} to `process_headword`.) * `lang_in_1`: True if the language code is to be fetched from {{para|1}}. * `pos_param`: The parameter holding the part of speech, if a generic POS tempalte like {{tl|mn-head}} is being processed (i.e. `generic_pos_template` is set). In such a case, it will have the value of {1} or {2}, depending on whether the language code is being fetched from {{para|1}} (see `lang_in_1`). Otherwise it will be {nil}. * `head_param`: The parameter holding the explicit headword. If `numbered_head` was specified (as for Mongolian headword templates), this has the value {1}, {2} or {3} depending on whether the language code is being fetched from {{para|1}} (see `lang_in_1`) and whether a generic POS template like {{tl|mn-head}} is being processed (see `generic_pos_template`). Otherwise, it has the value {"head"}. Also see the `lang` and `numbered_head` properties in the `data` structure sent to `process_headword()`. * `is_suffix`: True if the current term is a suffix. This is set when processing the `suffix`, `nosuffix` and `clitic` parameters; it is always {false} beforehand (i.e. during `augment_params` and processing of the general `infls` structure). * `insert_specs`: This is a table mapping parameter names to the return value of `Headdata:insert_inflection()`, filled out as parameter values are processed. This lets a given parameter processing function in `infls` gain access to the result of calling `insert_inflection()` on previous parameters (which indicates the number of items inserted as well as whether `-` was specified). The `pos_functions` table contains an entry for each part of speech needing special handling, where the key is the canonical plural part of speech (e.g. {"adverbs"} or {"proper nouns"}). The value associated with each key is a table normally containing a field `infls`, listing the extra part-of-speech-specific inflection and other parameters along with how to handle them. The specs in `infls` are used in three ways: # to augment the `params` object passed to the `process()` function in [[Module:parameters]], specifying how to parse the appropriate inflectional parameters; # to specify how to process any inflectional parameters given and insert them into the `headdata` object passed to `full_headword()` in [[Module:headword]]; # to generate appropriate documentation for the parameters and other changes made by the headword template (e.g. inserting categories). Alternatively, you can separately control the augmentation of the `params` object and the procesing of the resulting arguments. This is done by specifying two fields in place of `infls`, named `params` and `func`. `params` is a table containing extra parameters to add to the overall `params` object passed to the `process()` function in [[Module:parameters]]. `func` is a function of two arguments, normally called `data` (the headword data structure `headdata`) and `args` (the processed arguments table). However, this alternative method is not normally recommended because it leads to duplication between the `params and `func` fields and the documentation, which must be manually specified. A simple example, as used to handle pronouns for Turoyo, is { local valid_genders = {"m", "f", "m-p", "f-p", "p", "?"} pos_functions["Đại từ"] = { infls = { {2, type = "genders", validate = valid_genders}, {"f", label = "giống cái"}, {"pl", label = "số nhiều"}, }, } } The equivalent using `params` and `func` is { local valid_genders = {"m", "f", "m-p", "f-p", "p", "?"} pos_functions["Đại từ"] = { params = { [2] = {type = "genders"}, f = true, pl = true, }, func = function(data, args) data:validate_genders(args[2], valid_genders) data.genders = args[2] data:parse_and_insert_inflection("f", "giống cái") data:parse_and_insert_inflection("pl", "số nhiều") end } } Note how the version with separate `params and `func` is longer and splits information on the parameters between the two fields. The `params` structure sets extra user-specifiable parameters {{para|2}} for genders (since the headword is in {{para|1}}) as well a {{para|f}} and {{para|pl}}, and the `func` handler processes those parameters. Note how this is done by calling methods on the headword `data` structure. Each such parameter can have multiple comma-separated values, and each value can have inline modifiers attached to it to specify further properties of the value. The `infls` version ends up making the same method calls, but does it for you instead of you having to do it yourself. These methods are implemented through a metatable set on the headword `data` structure, which is removed before calling `full_headword()` in [[Module:headword]]. The methods access extra information related to headword processing (such as the `args` table) that is stored in the `process_props` field of the headword `data` strucuture. This field is also removed prior to calling `full_headword()`. The methods available on the headword `data` structure are as follows. Each one also has its own documentation. * {parse_inflection(field, props)}: Parse value(s) specified in `field` (a user-specified parameter in the `args` table) and return a list of term objects. Optional `props` specifies additional properties controlling the parsing. * {insert_inflection(terms, label, props)}: Insert the terms in `terms` (a list of term objects as returned by `parse_inflection()`) into the `inflections` list in the headword `data` structure, giving the inflection the label as specified in `label`. Optional `props` specifies additional properties controlling the parsing. * {parse_and_insert_inflection(field, label, props)}: A combination of `parse_inflection()` and `insert_inflection()`, if no further processing of the parsed values needs to be done before insertion. * {insert_fixed_inflection(label, props)}: Insert a "fixed" inflection (a label without associated values) into the `inflections` table. An example (from {{tl|mn-noun}} in [[Module:mn-headword]]) is {"hidden-g declension"}, specifying that the noun belongs to the hidden-''g'' declension. * {resolve_special(terms, handle_special, props)}: Resolve "special" indicators as specified by the user in an inflection parameter. A typical example is {"+"}, requesting a default value. `terms` is the list of parsed term objects and `handle_special` is a handler function to process special indicators and convert them to their actual values. * {validate_genders(genders, valid_genders, props)}: Validate that the user-specified genders in `genders` all belong to the list given in `valid_genders`, throwing an error if not. * {insert_category(category)}: Insert a category into the `categories` list in the headword `data` structure. `category` is normally a string naming the category, which will have the language prepended to it and any occurrences of `{plpos}` in the string replaced with the actual plural part of speech. ]==] function export.process_headword(data) local lang, frame, pos_functions, validate_lang, numbered_head, include_tr, include_ts, include_sc, force_cat, enable_auto_translit, checkredlinks, infls, augment_params, augment_headdata = data.lang, data.frame, data.pos_functions, data.validate_lang, data.numbered_head, data.include_tr, data.include_ts, data.include_sc, data.force_cat, data.enable_auto_translit, data.checkredlinks, data.infls, data.augment_params, data.augment_headdata local iparams = { [1] = true, def = true, } local iargs = require(parameters_module).process(frame.args, iparams) local parargs = frame:getParent().args local langcode if not lang then error("Internal error: `data.lang` must be specified; either a language object or `true` for a user-specified language") end local lang_in_1 if lang == true then lang_in_1 = true langcode = ine(parargs[1]) if langcode then langcode = mw.text.trim(langcode) lang = require(languages_module).getByCode(langcode, 1, true) if validate_lang then validate_lang(lang) end else error("Language code (see [[WT:Language codes]]) must be specified in 1=") end else langcode = lang:getCode() if validate_lang then error("Internal error: `data.validate_lang` must not be specified if a language code is given in `data.lang`") end end local template_indicated_pos = iargs[1] local generic_pos_template = not template_indicated_pos local pos_param if generic_pos_template then pos_param = lang_in_1 and 2 or 1 template_indicated_pos = ine(parargs[pos_param]) or mw.title.getCurrentTitle().fullText == ("Bản_mẫu:%s-head"):format(langcode) and "interjection" or error(("Part of speech must be specified in %s="):format(pos_param)) template_indicated_pos = require(headword_module).canonicalize_pos(template_indicated_pos) end local head_param = numbered_head and (generic_pos_template and lang_in_1 and 3 or (generic_pos_template or lang_in_1) and 2 or 1) or "head" local indexing_pos if generic_pos_template then indexing_pos = "head." .. template_indicated_pos if not pos_functions[indexing_pos] then indexing_pos = "head" end else indexing_pos = template_indicated_pos end local namespace = mw.loadData(headword_data_module).page.namespace -- Partly initialize headdata now for use in generic infls callbacks. Will be further initialized later after -- processing parameters. local headdata = { lang = lang, langcode = langcode, langfullcode = lang:getFullCode(), langname = lang:getCanonicalName(), langfullname = lang:getFullName(), process_props = { namespace = namespace, calldata = data, -- preserve template-indicated POS in case we normalize it or change it to "suffix" template_indicated_pos = template_indicated_pos, indexing_pos = indexing_pos, generic_pos_template = generic_pos_template, lang_in_1 = lang_in_1, pos_param = pos_param, head_param = head_param, is_suffix = false, insert_specs = {}, }, -- We may change this below to "suffix" or normalize it. pos_category = template_indicated_pos, categories = {}, inflections = {enable_auto_translit = enable_auto_translit}, force_cat_output = force_cat, no_redundant_head_cat = true, } setmetatable(headdata, {__index = Headdata}) local function resolve_prop(prop, ...) if type(prop) == "function" then prop = prop(headdata, ...) end return prop end local params = { [head_param] = {template_default = iargs.def}, head2 = {replaced_by = false, instead = ("use comma-separated |%s="):format(head_param)}, id = true, sort = true, cat = true, nolink = boolean_param, nolinkhead = {type = "boolean", alias_of = "nolink"}, suffix = boolean_param, nosuffix = boolean_param, clitic = true, addlpos = true, var = {type = "boolean or string", set = {"both"}}, abbr = true, json = boolean_param, pagename = true, -- for testing } if include_sc then params.sc = {type = "script"} end if include_tr then params.tr = true params.tr2 = {replaced_by = false, instead = "use comma-separated |tr= or <tr:...> inline modifier on head"} end if include_ts then params.ts = true params.ts2 = {replaced_by = false, instead = "use comma-separated |ts= or <ts:...> inline modifier on head"} end if lang_in_1 then params[1] = {required = true} -- required but ignored as already processed above end if generic_pos_template then params[pos_param] = {required = true} -- required but ignored as already processed above end local function augment_params_from_infls(infls) infls = resolve_prop(infls) for _, infl in ipairs(infls) do local function interr(txt) error(("Internal error: %s (coming from infls spec %s)"):format(txt, dump(infl))) end local param = infl[1] if param then param = resolve_prop(param) if type(param) ~= "string" and type(param) ~= "number" then interr(("Parameter name %s must be a string or number"):format(dump(param))) end -- We handle defaults as well as validation ourselves. local typ = resolve_prop(infl.type) or "string" if typ ~= "genders" and typ ~= "boolean" and typ ~= "string" then -- FIXME: Handle more types. interr(('Unrecognized type %s; can only currently handle "genders", "boolean" and "string" (the default)'):format( dump(typ))) end params[param] = {type = typ, required = resolve_prop(infl.required), template_default = resolve_prop(infl.template_default)} if typ ~= "boolean" then local allow_and_ignore_list_params = resolve_prop(infl.allow_and_ignore_list_params) local ignore_param if type(allow_and_ignore_list_params) == "string" then ignore_param = allow_and_ignore_list_params elseif type(param) == "string" then ignore_param = param end if ignore_param then local old_list_param = allow_and_ignore_list_params and true or {replaced_by = false, instead = ("use comma-separated |%s="):format(param)} params[ignore_param .. "2"] = old_list_param params[ignore_param .. "3"] = old_list_param params[ignore_param .. "4"] = old_list_param end end end end end if infls then augment_params_from_infls(infls) end if augment_params then augment_params(headdata, params) end if pos_functions[indexing_pos] then local pos_infls = pos_functions[indexing_pos].infls if pos_infls then augment_params_from_infls(pos_infls) end local pos_params = pos_functions[indexing_pos].params if pos_params then for key, val in pairs(pos_params) do params[key] = val end end end local args = require("Module:parameters").process(parargs, params) local pagename = args.pagename or mw.loadData(headword_data_module).pagename local sc = args.sc or lang:findBestScript(pagename) headdata.pagename = pagename headdata.process_props.args = args headdata.sc = sc headdata.id = args.id headdata.sort = args.sort -- No redundant script cat unless the user explicitly gave sc= headdata.no_script_code_cat = not args.sc headdata.var = args.var local extra_term_mods = {} if include_tr then insert(extra_term_mods, "tr") end if include_ts then insert(extra_term_mods, "ts") end if include_sc then insert(extra_term_mods, "sc") end if not extra_term_mods[1] then extra_term_mods = nil end local trs = args.tr and split_on_comma(args.tr) or {} local num_trs = #trs local tss = args.ts and split_on_comma(args.ts) or {} local num_tss = #tss local heads = args[head_param] and export.parse_term_with_modifiers { val = args[head_param], paramname = head_param, splitchar = ",", is_head = true, include_mods = extra_term_mods, } or {} local num_heads = #heads if num_heads > 0 and num_trs > 0 and num_heads ~= num_trs then error(("%s head%s specified explicitly but %s translit%s; they must match; use '+' to stand for the default head (the pagename) or default automatic translit and '-' to stand for no translit"):format( num_heads, num_heads > 1 and "s" or "", num_trs, num_trs > 1 and "s" or "")) end if num_heads > 0 and num_tss > 0 and num_heads ~= num_tss then error(("%s head%s specified explicitly but %s transcription%s; they must match; use '+' to stand for the default head (the pagename) and '-' to stand for no transcription"):format( num_heads, num_heads > 1 and "s" or "", num_tss, num_tss > 1 and "s" or "")) end if num_trs > 0 and num_tss > 0 and num_trs ~= num_tss then error(("%s translit%s specified explicitly but %s transcription%s; they must match; use '+' to stand for default automatic translit and '-' to stand for no translit or transcription"):format( num_trs, num_trs > 1 and "s" or "", num_tss, num_tss > 1 and "s" or "")) end -- Be careful here not to overwrite user_specified_heads if it's empty so we can later check user_specified_heads -- to see if the user provided any heads. local max_tr_ts = math.max(num_trs, num_tss) if num_heads == 0 and max_tr_ts > 0 then heads = {} for i = 1, max_tr_ts do heads[i] = {term = "+"} end end if not heads[1] then heads = {{term = "+"}} end for i, headobj in ipairs(heads) do if headobj.tr and trs[i] then if headobj.tr ~= trs[i] then error(("Saw two different translits '%s' and '%s' for head #%s"):format( headobj.tr, trs[i], i)) end else headobj.tr = headobj.tr or trs[i] end if headobj.tr == "+" then headobj.tr = nil end if headobj.ts and tss[i] then if headobj.ts ~= tss[i] then error(("Saw two different transcriptions '%s' and '%s' for head #%s"):format( headobj.ts, tss[i], i)) end else headobj.ts = headobj.ts or tss[i] end if headobj.ts == "-" then headobj.ts = nil end if headobj.term == "+" then headobj.term = args.nolink and pagename or nil if headobj.term and namespace == "Reconstruction" then headobj.term = "*" .. headobj.term end end end headdata.heads = heads local pos_category = headdata.pos_category -- Do this as late as possible in case the caller wants to conditionalize the primary categorizing POS on -- arguments or even the presence or absence of explicit heads. if pos_functions[indexing_pos] then pos_category = resolve_prop(pos_functions[indexing_pos].pos_category) or pos_category end headdata.process_props.normalized_template_indicated_pos = pos_category headdata.pos_category = pos_category local function pagename_is_suffix() if sc:getCode() == "Latn" then -- shortcut Latin terms to avoid unnecessarily loading [[Module:affix]] return pagename:find("^%-") and not pagename:find("%-$") else local affix_type, _, _, _ = require(affix_module).parse_term_for_affixes(pagename, lang, sc) return affix_type == "Hậu tố" end end local clitic_label if args.clitic then clitic_label = require(yesno_module)(args.clitic, args.clitic) end if clitic_label == true then clitic_label = "clitic" end if clitic_label then headdata:insert_category("clitics") headdata:insert_fixed_inflection(clitic_label) elseif args.suffix or ( not args.nosuffix and pagename_is_suffix() and pos_category ~= "Hậu tố" and pos_category ~= "Biến thể hình thái hậu tố" ) then headdata.process_props.is_suffix = true local function handle_suffix_pos(pos, is_first) -- Use the actual POS for the label we insert, but simplify the POS for the category. We need to separately check -- each of them to see if they end in 'forms' because e.g. 'comparative adjectives' gets simplified to -- 'adjective forms'. local form_type = pos:match("^Biến thể hình thái (.*)$") if form_type then headdata:insert_fixed_inflection("Dạng hậu tố " .. form_type) else local singular_pos = require(en_utilities_module).singularize(pos) headdata:insert_category(("%s-forming suffixes"):format(singular_pos)) headdata:insert_fixed_inflection(singular_pos .. "-forming suffix") end local simplified_pos = export.simplify_pos(pos, "preserve_lemma_status", "preserve_proper_nouns") local simplified_form_type = simplified_pos:match("^(.*) forms$") if simplified_form_type then headdata:insert_category(("%s suffix forms"):format(simplified_form_type)) else local singular_simplified_pos = require(en_utilities_module).singularize(simplified_pos) headdata:insert_category(("%s-forming suffixes"):format(singular_simplified_pos)) end local postype = require(headword_module).pos_lemma_or_nonlemma(pos) if not postype then postype = require(headword_module).pos_lemma_or_nonlemma(simplified_pos) end if not postype then error(("Unrecognized canonicalized part of speech '%s' in addlpos=, cannot determine whether lemma or non-lemma form"):format( pos )) end local this_pos_category = postype == "Mục từ" and "Hậu tố" or "Biến thể hình thái hậu tố" if is_first then headdata.pos_category = this_pos_category elseif headdata.pos_category ~= this_pos_category then local singular_normalized_this_pos_category = require(en_utilities_module).singularize(this_pos_category) local singular_normalized_overall_pos_category = require(en_utilities_module).singularize(headdata.pos_category) error(("Cannot mix suffixes and suffix forms using addlpos=; '%s' is of a %s while overall POS " .. "'%s' is a %s; use separate POS headers for the two"):format(pos, singular_normalized_this_pos_category, pos_category, singular_normalized_overall_pos_category)) end end handle_suffix_pos(pos_category, true) if args.addlpos then for _, addlpos in ipairs(split(args.addlpos, "%s*,%s*")) do addlpos = require(headword_module).canonicalize_pos(addlpos) handle_suffix_pos(addlpos, false) end end end if args.cat then for _, cat in ipairs(split_on_comma(args.cat)) do headdata:insert_category(cat) end end local function augment_headdata_from_infls(infls) infls = resolve_prop(infls) for _, infl in ipairs(infls) do local function interr(txt) error(("Internal error: %s (coming from infls spec %s)"):format(txt, dump(infl))) end local function process_labelobjs(labelobjs, originating_term, handle_labelobj) if labelobjs == nil then return end if type(labelobjs) ~= "string" and type(labelobjs) ~= "table" then interr(("Wrong type '%s' for label object(s) %s, expected string or table"):format( type(labelobjs), dump(labelobjs) )) end if type(labelobjs) == "string" or type(labelobjs) == "table" and not labelobjs[1] then labelobjs = {labelobjs} end for _, labelobj in ipairs(labelobjs) do local label, termobj if type(labelobj) == "string" then label = labelobj termobj = originating_term elseif type(labelobj) ~= "table" then interr(("Wrong type '%s' for label object %s, expected string or table"):format( type(labelobj), dump(labelobj) )) label = labelobj.term if type(label) ~= "string" then interr(("Wrong type '%s' for label %s from label object %s, expected string"):format( type(label), dump(label), dump(labelobj) )) end termobj = labelobj end handle_labelobj(label, termobj) end end local param = infl[1] if param then local vals -- Fetch the param and make sure it's a string or number. param = resolve_prop(param) if type(param) ~= "string" and type(param) ~= "number" then interr(("Parameter name %s must be a string or number"):format(dump(param))) end -- Fetch the type and validate. local typ = resolve_prop(infl.type) if typ == nil then typ = "string" end if typ ~= "genders" and typ ~= "boolean" and typ ~= "string" then -- FIXME: Handle more types. interr(('Unrecognized type %s; can only currently handle "genders", "boolean" and "string" (the default)'):format( dump(typ))) end -- Fetch the value(s). if typ == "genders" or typ == "boolean" then vals = args[param] elseif typ == "string" then local parse_inflection_props = resolve_prop(infl.parse_inflection_props) local include_mods = resolve_prop(infl.include_mods) local no_augment_include_mods = resolve_prop(infl.no_augment_include_mods) if include_mods ~= nil or no_augment_include_mods ~= nil then if parse_inflection_props == nil then parse_inflection_props = {} else parse_inflection_props = shallow_copy(parse_inflection_props) end if include_mods ~= nil then parse_inflection_props.include_mods = include_mods end if no_augment_include_mods ~= nil then parse_inflection_props.no_augment_include_mods = no_augment_include_mods end end vals = headdata:parse_inflection(param, parse_inflection_props) -- Convert an empty list to nil for consistent checking below. if not vals[1] then vals = nil end else interr(("Unrecognized type '%s"):format(typ)) end -- If value(s) nil, fetch the default. if vals == nil and infl.default ~= nil then local default = resolve_prop(infl.default) if typ == "genders" then vals = export.canonicalize_termobj_list(default, "spec", "default") elseif typ == "boolean" then vals = default elseif typ == "string" then vals = export.canonicalize_termobj_list(default, "term", "default") else interr(("Unrecognized type '%s"):format(typ)) end end -- Resolve "special" values (special signals a string values, such as requesting the default with "+"). if vals ~= nil and infl.resolve_special then if typ ~= "string" then interr(("Cannot specify resolve_special= for type %s"):format(dump(typ))) end local resolve_special_props = resolve_prop(infl.resolve_special_props, vals) if infl.is_special ~= nil then if resolve_special_props == nil then resolve_special_props = {} else resolve_special_props = shallow_copy(resolve_special_props) end resolve_special_props.is_special = infl.is_special end vals = headdata:resolve_special(vals, infl.resolve_special, resolve_special_props) end -- Validate the value(s). if vals ~= nil and infl.validate ~= nil then if typ == "boolean" then interr('Cannot specify validate= when type is "boolean"') elseif type(infl.validate) == "function" then infl.validate(headdata, vals) elseif typ == "genders" then headdata:validate_genders(vals, infl.validate) elseif typ == "string" then validate_items { items = vals, field = "term", valid_items = infl.validate, item_type = ("values in |%s="):format(param), } else interr(("Unrecognized type '%s"):format(typ)) end end -- Run the process_after_parse handler, if it exists. if vals ~= nil and infl.process_after_parse ~= nil then local intentionally_nil vals, intentionally_nil = infl.process_after_parse(headdata, vals) if vals == nil and not intentionally_nil then interr("If you return nil from process_after_parse, you must return a second non-nil return " .. "value to indicate that the nil return value was intentional") end end -- "Implement" the values, if non-falsy (i.e. we don't want to fire on boolean false or empty list). -- If a fixed label is specified, insert it. Then, depending on the type, attach the values to a label -- as an inflection, set the `genders` field, or do nothing if boolean (throwing an error if there was -- no fixed label). local insert_request = resolve_prop(infl.request, vals) if vals == true or type(vals) == "table" and vals[1] or insert_request then if infl.fixed_label and infl.all_fixed_label then interr("Cannot specify both fixed_label= and all_fixed_label=; specify one or the other") end local function check_fixed_label_references_val(label) if type(label) == "table" and label[1] then for _, lab in ipairs(label) do if check_fixed_label_references_val(lab) then return true end end return false end if type(label) == "table" then if not label.term then interr(("Fixed label structure %s does not have a value for `.term`"):format(dump(label))) end label = label.term end if type(label) ~= "string" then interr(("Wrong type for fixed label %s, should be string"):format(type(label))) end return not not label:find("{val}") end local fixed_label = infl.fixed_label local all_fixed_label = infl.all_fixed_label -- If the value being processed is boolean, there's only one value so treat a fixed_label as an -- all_fixed_label and output only once; likewise if the caller specified a fixed_label without -- {val} in it. if fixed_label and (typ == "boolean" or type(fixed_label) ~= "function" and not check_fixed_label_references_val(fixed_label)) then all_fixed_label = fixed_label fixed_label = nil end local inserted_fixed_label if fixed_label then if typ == "boolean" then interr("Boolean fixed_label values should have been converted to all_fixed_label") end for _, valobj in ipairs(vals) do local labelobjs = resolve_prop(fixed_label, valobj) process_labelobjs(labelobjs, valobj, function(label, termobj) if label:find("{val}") then if typ ~= "string" then interr(('Cannot specify {val} in fixed_label %s when type is "%s"'):format(dump(label), typ)) end label = label:gsub("{val}", replacement_escape(valobj.term)) end headdata:insert_fixed_inflection(label, { originating_term = termobj }) inserted_fixed_label = true end) end elseif all_fixed_label then local labelobjs = resolve_prop(all_fixed_label, vals) process_labelobjs(labelobjs, nil, function(label, termobj) if label:find("{vals}") then if typ ~= "string" then interr(('Cannot specify {vals} in all_fixed_label %s when type is "%s"'):format(dump(label), typ)) end local formatted_labels = {} for _, valobj in ipairs(vals) do insert(formatted_labels, add_decorations(valobj.term, valobj, lang)) end label = label:gsub("{vals}", replacement_escape(serial_comma_join(formatted_labels))) end headdata:insert_fixed_inflection(label, termobj) inserted_fixed_label = true end) end local inserted_vals if infl.label ~= nil then if typ ~= "string" then interr(("label=%s can only be specified for type 'string', not '%s'"):format( dump(infl.label), typ )) end local label = resolve_prop(infl.label, vals) if label ~= nil then local insert_inflection_props = resolve_prop(infl.insert_inflection_props, vals) local function copy_to_insert_inflection_props(field, val) local fieldval = val or resolve_prop(infl[field], vals) if fieldval ~= nil then if insert_inflection_props == nil then insert_inflection_props = {} else insert_inflection_props = shallow_copy(insert_inflection_props) end insert_inflection_props[field] = fieldval end end copy_to_insert_inflection_props("label_for_cats_and_modes") copy_to_insert_inflection_props("no_auto_cats") copy_to_insert_inflection_props("accel") copy_to_insert_inflection_props("accel_form") if insert_request then copy_to_insert_inflection_props("request", insert_request) end local insert_spec = headdata:insert_inflection(vals, label, insert_inflection_props) headdata.process_props.insert_specs[param] = insert_spec inserted_vals = true end end if typ == "genders" then headdata.genders = vals end local inserted_cat if infl.cat then local allcats = {} for _, valobj in ipairs(vals) do local cats = resolve_prop(infl.cat, valobj) if type(cats) == "string" then cats = {cats} end if cats ~= nil then for _, cat in ipairs(cats) do if cat:find("{val}") then cat = cat:gsub("{val}", replacement_escape(valobj.term)) end insert_if_not(allcats, cat) end end end for _, cat in ipairs(allcats) do headdata:insert_category(cat) inserted_cat = true end end if typ == "boolean" then if not inserted_fixed_label and not inserted_cat then interr(("User set boolean setting for %s= but no fixed label added and no category " .. "inserted; if you took action in process_after_parse(), make sure to return " .. "`nil, true`"):format(param)) end elseif typ == "string" then if not inserted_vals and not inserted_fixed_label and not inserted_cat then interr(("User set value(s) %s for %s= but no inflection inserted and no fixed label " .. "or category added; if you took action in process_after_parse(), make sure to " .. "return `nil, true`"):format(dump(vals), param)) end end end else -- no param specified if infl.label or infl.all_fixed_label then interr("Cannot have label= or all_fixed_label= without specifying a param") end if infl.fixed_label then local labelobjs = resolve_prop(infl.fixed_label) process_labelobjs(labelobjs, nil, function(label, termobj) if label:find("{val}") then interr("Cannot specify {val} in a fixed_label= value without specifying a param") end headdata:insert_fixed_inflection(label, { originating_term = termobj }) end) end if infl.cat then local cats = resolve_prop(infl.cat) if type(cats) == "string" then cats = {cats} end if cats ~= nil then for _, cat in ipairs(cats) do if cat:find("{val}") then interr("Cannot specify {val} in a cat= value without specifying a param") end headdata:insert_category(cat) end end end end end end if infls then augment_headdata_from_infls(infls) end if augment_headdata then augment_headdata(headdata, args) end if pos_functions[indexing_pos] then local pos_infls = pos_functions[indexing_pos].infls if pos_infls then augment_headdata_from_infls(pos_infls) end local func = pos_functions[indexing_pos].func if func then func(headdata, args) end end headdata:parse_and_insert_inflection("abbr", "abbreviation") setmetatable(headdata, nil) headdata.process_props = nil if args.json then return require("Module:JSON").toJSON(headdata) end return require(headword_module).full_headword(headdata) end return export fdybkk1j4wr6iucfx3xhuy3j12kqb0h Mô đun:languages/data/3/s 828 271066 2573196 2568720 2026-10-24T13:05:51Z TheHighFighter2 42988 2573196 Scribunto text/plain local m_langdata = require("Module:languages/data") -- Loaded on demand, as it may not be needed (depending on the data). local function u(...) u = require("Module:string utilities").char return u(...) end local c = m_langdata.chars local p = m_langdata.puaChars local s = m_langdata.shared local m = {} m["saa"] = { "tiếng Saba", 3914885, "cdc-est", "Latn", "Tiếng Saba", "Saba", } m["sab"] = { "Buglere", 3368506, "cba", "Latn", } m["sac"] = { "tiếng Fox", 12714767, "alg-sfk", "Latn", "Tiếng Fox", "Fox", } m["sad"] = { "Sandawe", 34016, "qfa-iso", "Latn", } m["sae"] = { "Sabanê", 3460478, "sai-nmk", "Latn", } m["saf"] = { "Safaliba", 36432, "nic-mre", "Latn", } m["sah"] = { "tiếng Yakut", 34299, "trk-nsb", "Cyrl", "Tiếng Yakut", "Yakut", translit = "sah-translit", override_translit = true, } m["saj"] = { "Sahu", 7399757, "paa-nha", "Latn", } m["sak"] = { "Sake", 36425, "bnt-kel", "Latn", } m["sam"] = { "Samaritan Aramaic", 56612, "sem-arw", "Samr", entry_name = {remove_diacritics = u(0x0816) .. "-" .. u(0x082D)}, translit = "Samr-translit", } m["sao"] = { "Sause", 4409155, "paa-tkw", "Latn", } m["saq"] = { "Samburu", 56536, "sdv-lma", } m["sar"] = { "Saraveca", 3450556, "awd", } m["sas"] = { "tiếng Sasak", 1294047, "poz-mcm", "Latn", "Tiếng Sasak", "Sasak", } m["sat"] = { "tiếng Santal", 33965, "mun", "Olck, Deva, Beng, Orya", "Tiếng Santal", "Santal", translit = "Olck-translit", override_translit = true, } m["sau"] = { "Saleman", 7404262, "poz-cet", } m["sav"] = { "Saafi-Saafi", 36308, "alv-cng", "Arab, Latn", } m["saw"] = { "Sawi", 677064, "ngf", "Latn", } m["sax"] = { "Sa", 3460352, "poz-vnc", "Latn", } m["say"] = { "Saya", 3914431, "cdc-wst", "Latn", } m["saz"] = { "tiếng Saurashtra", 13292, "inc-wes", "Saur, Latn, Taml, Deva", "Tiếng Saurashtra", "Saurashtra", translit = { Saur = "saz-translit", Taml = "ta-translit", }, ancestors = "inc-ogu", } m["sba"] = { "tiếng Ngambay", 2372207, "csu-sar", "Latn", "Tiếng Ngambay", "Ngambay", } m["sbb"] = { "Simbo", 3484101, "poz-ocw", } m["sbc"] = { "Gele'", 3194847, "poz-oce", } m["sbd"] = { "tiếng Samo Nam", 33122730, "dmn-sam", "Latn", "Tiếng Samo Nam", "Samo Nam", } m["sbe"] = { "Saliba (New Guinea)", 3469737, "poz-ocw", } m["sbf"] = { "tiếng Shabo", 36342, "ssa", "Latn", "Tiếng Shabo", "Shabo", } m["sbg"] = { "Seget", 7446237, } m["sbh"] = { "Sori-Harengan", 36515, "poz-aay", "Latn", } m["sbi"] = { "Seti", 7456682, "qfa-tor", "Latn", } m["sbj"] = { "Surbakhal", 759995, } m["sbk"] = { "Safwa", 4121160, "bnt-mby", "Latn", } m["sbl"] = { "tiếng Sambal Botolan", 4095195, "phi", "Latn", "Tiếng Sambal Botolan", "Sambal Botolan", } m["sbm"] = { "Sagala", 11732610, "bnt-ruv", "Latn", } m["sbn"] = { "Sindhi Bhil", 25559289, "inc-snd", "Arab, Deva, Sind, Guru", ancestors = "sd", } m["sbo"] = { "tiếng Sabüm", 7396535, "mkh-asl", nil, "Tiếng Sabüm", "Sabüm", } m["sbp"] = { "Sangu (Tanzania)", 7418149, "bnt-bki", "Latn", } m["sbq"] = { "Sileibi", 7514337, "ngf-mad", } m["sbr"] = { "Sembakung Murut", 7449148, "poz-san", } m["sbs"] = { "Subiya", 6442073, "bnt-bot", "Latn", } m["sbt"] = { "Kimki", 6410160, "paa-pau", } m["sbu"] = { "Stod Bhoti", 15622700, "sit-las", } m["sbv"] = { "Sabine", nil, "itc-sbl", "Latn", } m["sbw"] = { "Simba", 36430, "bnt-tso", "Latn", } m["sbx"] = { "Seberuang", 12473470, "poz-mly", } m["sby"] = { "Soli", 7557754, "bnt-bot", "Latn", } m["sbz"] = { "Sara Kaba", 25559318, "csu-kab", "Latn", } m["scb"] = { "tiếng Chứt", 2967709, "mkh-vie", "Latn", "Tiếng Chứt", "Chứt", } m["sce"] = { "tiếng Đông Hương", 32947, "xgn-shr", "Arab, Latn", "Tiếng Đông Hương", "Đông Hương", } m["scf"] = { "San Miguel Creole French", 12953094, "crp", "Latn", ancestors = "gcf", sort_key = s["roa-oil-sortkey"], } m["scg"] = { "Sanggau", 12473466, "day", } m["sch"] = { "Sakachep", 37054, "tbq-kuk", } m["sci"] = { "Sri Lankan Creole Malay", 1089151, "crp", "Latn", ancestors = "ms", } m["sck"] = { "tiếng Sadri", 765922, "inc-bih", "Deva, Kthi, Beng, Orya", translit = { Deva = "hi-translit", Kthi = "bho-Kthi-translit", }, "Tiếng Sadri", "Sadri", } m["scl"] = { "tiếng Shina", 1353320, "inc-shn", "ur-Arab, Deva", "Tiếng Shina", "Shina", } m["scn"] = { "tiếng Sicily", 33973, "roa-itd", "Latn", "Tiếng Sicily", "Sicily", } m["sco"] = { "tiếng Scots", 14549, "gmw-ang", "Latn", "Tiếng Scots", "Scots", ancestors = "sco-smi", } m["scp"] = { "tiếng Yolmo", 22662107, "sit-kyk", "Deva", "Tiếng Yolmo", "Yolmo", } m["scq"] = { "Sa'och", 6583617, "mkh-pea", } m["scs"] = { "tiếng Bắc Slavey", 20628, "den", "Latn, Cans", "Tiếng Bắc Slavey", "Bắc Slavey", } m["scu"] = { "Shumcho", 22077739, "sit-kin", } m["scv"] = { "Sheni", 11015820, "nic-jer", "Latn", ancestors = "zir", } m["scw"] = { "Sha", 3438816, "cdc-wst", "Latn", } m["scx"] = { "tiếng Sicel", 36667, "itc", "Polyt", "Tiếng Sicel", "Sicel", translit = "grc-translit", display_text = s["Polyt-displaytext"], entry_name = s["Polyt-entryname"], sort_key = s["Polyt-sortkey"], } m["sda"] = { "Toraja-Sa'dan", 36673, "poz-ssw", } m["sdb"] = { "tiếng Shabak", 3289596, "ira-zgr", "Arab", "Tiếng Shabak", "Shabak", ancestors = "hac", } m["sdc"] = { "tiếng Sassari", 845441, "roa-itd", "Latn", } m["sde"] = { "Surubu", 3913336, "nic-kau", "Latn", } m["sdf"] = { "Sarli", 7424256, "ira-zgr", ancestors = "hac", } m["sdg"] = { "tiếng Savi", 3474654, "inc-shn", "ur-Arab", "Tiếng Savi", "Savi", } m["sdh"] = { "tiếng Xwarin", 1496597, "ku", "ku-Arab", translit = "sdh-translit", strip_diacritics = {remove_diacritics = c.kasra .. c.sukun}, } m["sdj"] = { "Suundi", 7650407, "bnt-kng", "Latn", } m["sdk"] = { "Sos Kundi", 7563811, "paa-spk", "Latn", } m["sdl"] = { "Saudi Arabian Sign Language", 3504160, "sgn", } m["sdm"] = { "Semandang", 7449012, "day", } m["sdn"] = { "tiếng Gallura", 612220, "roa-itd", "Latn", "Tiếng Gallura", "Gallura", ancestors = "co", } m["sdo"] = { "Bukar-Sadung Bidayuh", 2927799, "day", } m["sdp"] = { "Sherdukpen", 7494785, "sit-khb", } m["sdr"] = { "Oraon Sadri", 12953860, "inc-eas", ancestors = "bh", } m["sds"] = { "tiếng Berber Tunisia", 5329732, "ber", "Latn", "Tiếng Berber Tunisia", "Berber Tunisia", } m["sdu"] = { "Sarudu", 7424700, "poz-cet", } m["sdx"] = { "Sibu Melanau", 18642842, "poz-bnn", } m["sea"] = { "tiếng Semai", 3135426, "mkh-asl", "Latn", "Tiếng Semai", "Semai", } -- seb is a duplicate code of spp m["sec"] = { "tiếng Sechelt", 7442898, "sal", "Latn", "Tiếng Sechelt", "Sechelt", } m["sed"] = { "tiếng Xơ Đăng", 56448, "mkh-nbn", "Latn", "Tiếng Xơ Đăng", "Xơ Đăng", } m["see"] = { "tiếng Seneca", 1185133, "iro-nor", "Latn", "Tiếng Seneca", "Seneca", } m["sef"] = { "Cebaara Senoufo", 10975121, "alv-snr", } m["seg"] = { "Segeju", 17584599, "bnt-mij", "Latn", } m["seh"] = { "tiếng Sena", 2964008, "bnt-sna", "Latn", "Tiếng Sena", "Sena", } m["sei"] = { "tiếng Seri", 36583, "qfa-iso", "Latn", "Tiếng Seri", "Seri", } m["sej"] = { "Sene", 7450252, } m["sek"] = { "Sekani", 28562, "ath-nor", "Latn", } m["sel"] = { "tiếng Selkup", 34008, "syd", "Cyrl", "Tiếng Selkup", "Selkup", } m["sen"] = { "Nanerigé Sénoufo", 36002, "alv-sma", } m["seo"] = { "Suarmin", 7630513, "paa", } m["sep"] = { "Sìcìté Sénoufo", 56787, "alv-sma", } m["seq"] = { "Senara Sénoufo", 35210, "alv-snr", } m["ser"] = { "Serrano", 3479942, "azc-tak", "Latn", } m["ses"] = { "tiếng Senni Koyraboro", 35655, "son", "Latn, Arab", "Tiếng Senni Koyraboro", "Senni Koyraboro", } m["set"] = { "Sentani", 3441672, "paa-sen", "Latn", } m["seu"] = { "Serui-Laut", 7455503, "poz-hce", "Latn", } m["sev"] = { "tiếng Senoufo Nyarafolo", 36306, "alv-snr", "Latn", "Tiếng Senoufo Nyarafolo", "Senoufo Nyarafolo", } m["sew"] = { "Sewa Bay", 7458126, "poz-ocw", } m["sey"] = { "Secoya", 3477218, "sai-tuc", "Latn", } m["sez"] = { "Senthang Chin", 7451223, "tbq-kuk", } m["sfb"] = { "French Belgian Sign Language", 3217332, "sgn", } m["sfe"] = { "Eastern Subanun", Q63311321, "phi", "Latn", } m["sfm"] = { "Small Flowery Miao", 7542773, "hmn", } m["sfs"] = { "South African Sign Language", 3322093, "sgn", } m["sfw"] = { "Sehwi", 36593, "alv-ctn", "Latn", } m["sga"] = { "tiếng Ireland cổ", 35308, "cel-gae", "Latn", "Tiếng Ireland cổ", "Ireland cổ", entry_name = {remove_diacritics = c.dotabove .. c.diaer .. "·"}, sort_key = "sga-sortkey", standardChars = "AaÁáBbCcDdEeÉéFfGgHhIiÍíLlMmNnOoÓóPpRrSsTtUuÚú0123456789" .. c.punc, } m["sgb"] = { "Mag-Anchi Ayta", 4356243, "phi", } m["sgc"] = { "Kipsigis", 56339, "sdv-nma", } m["sgd"] = { "Surigaonon", 34140, "phi", "Latn", } m["sge"] = { "Segai", 7446180, } m["sgg"] = { "Swiss-German Sign Language", 35150, "sgn", } m["sgh"] = { "tiếng Shughnan", 34053, "ira-shy", "Latn, Cyrl, Arab", "Tiếng Shughnan", "Shughnan", ancestors = "ira-shr-pro", translit = "sgh-translit", override_translit = true, } m["sgi"] = { "Suga", 36475, "nic-mmb", "Latn", } m["sgk"] = { "Sangkong", 2945610, "tbq-bis", } m["sgm"] = { "Singa", 7522797, "bnt-lok", "Latn", } m["sgp"] = { "Singpho", 7524158, "sit-jnp", } m["sgr"] = { "tiếng Sangisar", 3394363, "ira-kms", "Arab", "Tiếng Sangisar", "Sangisar", } m["sgs"] = { "tiếng Samogitia", 213434, "bat-eas", "Latn", "Tiếng Samogitia", "Samogitia", wikimedia_codes = "bat-smg", ancestors = "olt", display_text = "lt-common", strip_diacritics = "lt-common", sort_key = "lt-common", } m["sgt"] = { "tiếng Brokpa", 56603, "sit-tib", "Tibt", "Tiếng Brokpa", "Brokpa", override_translit = true, -- Tibt translit, display_text, strip_diacritics, sort_key in [[Module:scripts/data]] } m["sgu"] = { "Salas", 7403694, "poz-cma", } m["sgw"] = { "tiếng Sebat Bet Gurage", 2707343, "sem-eth", "Ethi", "Tiếng Sebat Bet Gurage", "Sebat Bet Gurage", } m["sgx"] = { "Sierra Leone Sign Language", 7511448, "sgn", } m["sgy"] = { "Sanglechi", 3472220, "ira-sgi", } m["sgz"] = { "Sursurunga", 36511, "poz-ocw", "Latn", } m["sha"] = { "Shall-Zwall", 3915355, "nic-beo", } m["shb"] = { "Ninam", 3436586, } m["shc"] = { "Sonde", 7560881, "bnt-pen", "Latn", } m["shd"] = { "tiếng Kundal Shahi", 6444265, "inc-shn", "Arab", "Tiếng Kundal Shahi", "Kundal Shahi", } m["she"] = { "Sheko", 3183355, "omv-diz", } m["shg"] = { "Shua", 3501092, "khi-kal", "Latn", } m["shh"] = { "Shoshone", 33811, "azc-num", "Latn", } m["shi"] = { "tiếng Tashelhit", 34152, "ber", "Latn, Arab, Tfng, Hebr", "Tiếng Tashelhit", "Tashelhit", translit = "Tfng-translit", -- put Judeo-Berber (Hebrew-script Tashelhit) under the category header -- U+FB21 HEBREW LETTER WIDE ALEF so that it sorts after Tifinagh script titles sort_key = { from = {"^%f[" .. u(0x5D0) .. "-" .. u(0x5EA) .. "]"}, to = {u(0xFB21)}, }, ancestors = "shi-med", } m["shj"] = { "Shatt", 56344, "sdv-daj", } m["shk"] = { "Shilluk", 36486, "sdv-lon", "Latn", } m["shl"] = { "Shendu", 22074616, "tbq-kuk", } m["shm"] = { "Shahrudi", 7462280, "xme-ttc", ancestors = "xme-ttc-cen", } m["shn"] = { "tiếng Shan", 56482, "tai-swe", "Mymr", "Tiếng Shan", "Shan", translit = "shn-translit", sort_key = { from = {"[ၢႃ]", "ဵ", "ႅ", "ႇ", "ႈ", "း", "ႉ", "ႊ"}, to = {"ာ", "ေ", "ႄ", "႒", "႓", "႔", "႕", "႖"} }, } m["sho"] = { "Shanga", 3913931, "dmn-bbu", "Latn", } m["shp"] = { "Shipibo-Conibo", 2671988, "sai-pan", "Latn", } m["shq"] = { "Sala", 10961665, "bnt-bot", "Latn", } m["shr"] = { "Shi", 3481999, "bnt-shh", "Latn", } m["shs"] = { "tiếng Shuswap", 3482685, "sal", "Latn", "Tiếng Shuswap", "Shuswap", } m["sht"] = { "Shasta", 56396, "nai-shs", "Latn", } m["shu"] = { "tiếng Ả Rập Tchad", 56497, "sem-arb", "Arab", "Tiếng Ả Rập Tchad", "Ả Rập Tchad", entry_name = { remove_diacritics = c.kashida .. c.fathatan .. c.dammatan .. c.kasratan .. c.fatha .. c.damma .. c.kasra .. c.shadda .. c.sukun .. c.superalef, from = {u(0x0671)}, to = {u(0x0627)} }, } m["shv"] = { "Shehri", 33445, "sem-sar", "Arab, Latn", } m["shw"] = { "Shwai", 36527, "alv-hei", } m["shx"] = { "tiếng Xa", 2605689, "hmn", } m["shy"] = { "tiếng Tachawit", 33274, "ber", "Tfng, Arab, Latn", "Tiếng Tachawit", "Tachawit", translit = "Tfng-translit", } m["shz"] = { "Syenara Senoufo", 36316, "alv-snr", } m["sia"] = { "tiếng Sami Akkala", 35241, "smi", "Cyrl, Latn", "Tiếng Sami Akkala", "Sami Akkala", translit = "sia-translit", display_text = { from = {"'"}, to = {"ˈ"} }, entry_name = {remove_diacritics = "'ˈ"}, } m["sib"] = { "Sebop", 7442799, "poz-swa", "Latn", } m["sid"] = { "tiếng Sidamo", 33786, "cus-hec", "Latn, Ethi", "Tiếng Sidamo", "Sidamo", } m["sie"] = { "Simaa", 7517329, "bnt-kav", "Latn", } m["sif"] = { "Siamou", 36252, } m["sig"] = { "Paasaal", 36426, "nic-sis", "Latn", } m["sih"] = { "Zire", 8072753, "poz-cln", } m["sii"] = { "tiếng Shompen", 1039346, "aav", "Latn", "Tiếng Shompen", "Shompen" } m["sij"] = { "Numbami", 3346277, "poz-ocw", } m["sik"] = { "Sikiana", 3443734, "sai-prk", "Latn", } m["sil"] = { "Tumulung Sisaala", 25383006, "nic-sis", "Latn", } m["sim"] = { "Seim", 7446815, "paa-spk", } m["sip"] = { "tiếng Sikkim", 35285, "sit-tib", "Tibt", "Tiếng Sikkim", "Sikkim", ancestors = "xct", translit = "Tibt-translit", override_translit = true, display_text = s["Tibt-displaytext"], entry_name = s["Tibt-entryname"], sort_key = "Tibt-sortkey", } m["siq"] = { "Sonia", 7561770, } m["sir"] = { "Siri", 3438729, "cdc-wst", "Latn", } m["sis"] = { "Siuslaw", 2315424, } m["siu"] = { "Sinagen", 7521655, "qfa-tor", "Latn", } m["siv"] = { "Sumariup", 7636966, "paa-spk", "Latn", } m["siw"] = { "Siwai", 7532519, "paa-sbo", } m["six"] = { "Sumau", 7637021, "ngf-mad", "Latn", } m["siy"] = { "Sivandi", 13269, "xme", ancestors = "xme-mid", } m["siz"] = { "tiếng Siwi", 36814, "ber", "Tfng, Arab, Latn", "Tiếng Siwi", "Siwi", } m["sja"] = { "Epena", 3055682, "sai-chc", } m["sjb"] = { "Sajau Basap", 4684353, "poz-bnn", } m["sjd"] = { "tiếng Sami Kildin", 33656, "smi", "Cyrl", "Tiếng Sami Kildin", "Sami Kildin", translit = "sjd-translit", display_text = { from = {"'"}, to = {"ˈ"} }, entry_name = {remove_diacritics = "'ˈ"}, } m["sje"] = { "Pite Sami", 56314, "smi", "Latn", display_text = { from = {"'"}, to = {"ˈ"} }, entry_name = {remove_diacritics = c.macron .. "'ˈ"}, sort_key = "sje-sortkey", } m["sjg"] = { "Assangori", 3502255, "sdv-tmn", } m["sjk"] = { "Kemi Sami", 35871, "smi", "Latn", display_text = { from = {"'"}, to = {"ˈ"} }, entry_name = {remove_diacritics = "'ˈ"}, } m["sjl"] = { "Miji", 6845470, "sit-hrs", } m["sjm"] = { "Mapun", 3287253, "poz-sbj", } m["sjn"] = { "Sindarin", 56437, "art", "Latn, Teng", type = "appendix-constructed", } m["sjo"] = { "tiếng Tích Bá", 13223, "tuw-jrc", "sjo-Mong, Cyrl", "Tiếng Tích Bá", "Tích Bá", ancestors = "mnc", } m["sjp"] = { "tiếng Surjapur", 7645351, "inc-krn", "Deva, as-Beng, Kthi", "Tiếng Surjapur", "Surjapur", } m["sjr"] = { "Siar-Lak", 3482907, "poz-ocw", } m["sjs"] = { "tiếng Senhaja de Srair", 56744, "ber", "Latn, Tfng, Arab", "Tiếng Senhaja de Srair", "Senhaja de Srair", strip_diacritics = { Arab = "ar-stripdiacritics", }, translit = { Tfng = "Tfng-translit", } } m["sjt"] = { "tiếng Sami Ter", 36656, "smi", "Latn, Cyrl", "Tiếng Sami Ter", "Sami Ter", display_text = { from = {"'"}, to = {"ˈ"} }, entry_name = {remove_diacritics = "'ˈ"}, } m["sju"] = { "tiếng Sami Ume", 56415, "smi", "Latn", "Tiếng Sami Ume", "Sami Ume", entry_name = {remove_diacritics = c.macron .. "'ˈ"}, display_text = { from = {"'"}, to = {"ˈ"} }, sort_key = "sju-sortkey", } m["sjw"] = { "Shawnee", 2669206, "alg", "Latn", } m["ska"] = { "Skagit", 25559652, "sal", "Latn", } m["skb"] = { "tiếng Saek", 36437, "tai-nor", "Thai", "Tiếng Saek", "Saek", sort_key = "Thai-sortkey", } m["skc"] = { "tiếng Ma Manda", 6720783, "ngf-era", "Latn", } m["skd"] = { "Southern Sierra Miwok", 3492334, "nai-utn", "Latn", } m["ske"] = { "Ske", 7534244, "poz-vnc", "Latn", } m["skf"] = { "Mekéns", 3304806, "tup", "Latn", } m["skh"] = { "Sikule", 3121081, "poz-nws", } m["ski"] = { "Sika", 33960, "poz-cet", "Latn", } m["skj"] = { -- compare 'ths' "Seke", 30226846, "sit-tam", } m["skk"] = { "Sok", 12953887, "mkh-ban", } m["skm"] = { "Sakam", 6448517, "ngf-fin", } m["skn"] = { "Kolibugan Subanon", 18755617, "phi", "Latn", } m["sko"] = { "Seko Tengah", 15613270, "poz", } m["skp"] = { "Sekapan", 7447132, "poz-bnn", } m["skq"] = { "Sininkere", 3914896, "dmn-man", "Latn", } m["skr"] = { "tiếng Saraiki", 33902, "inc-pan", "pa-Arab, Mult, Deva", "Tiếng Saraiki", "Saraiki", ancestors = "lah", entry_name = {remove_diacritics = c.fathatan .. c.dammatan .. c.kasratan .. c.fatha .. c.damma .. c.kasra .. c.shadda .. c.sukun}, translit = { ["pa-Arab"] = "pa-Aran-translit", Mult = "Mult-translit", }, } m["sks"] = { "tiếng Maia", 12952760, "ngf-kau", "Latn", } m["skt"] = { "Sakata", 36691, "bnt-bnm", "Latn", } m["sku"] = { "Sakao", 3298421, "poz-vnc", "Latn", } m["skv"] = { "Skou", 3915200, "paa-msk", "Latn", } m["skw"] = { "tiếng Skepi", 2522153, "crp", "Latn", "Tiếng Skepi", "Skepi", ancestors = "nl", } m["skx"] = { "Seko Padang", 15613282, "poz-ssw", } m["sky"] = { "Sikaiana", 7439242, "poz-pnp", "Latn", } m["skz"] = { "Sekar", 7447136, "poz-cet", } m["slc"] = { "Saliba (Colombia)", 3441097, } m["sld"] = { "tiếng Sissala", 11020264, "nic-sis", "Latn", "Tiếng Sissala", "Sissala", } m["sle"] = { "tiếng Sholaga", 7500203, "dra-kan", "Knda", "Tiếng Sholaga", "Sholaga", translit = "kn-translit" } m["slf"] = { "Swiss-Italian Sign Language", 12953479, "sgn", } m["slg"] = { "Selungai Murut", 7448844, "poz-san", } m["slh"] = { "Southern Puget Sound Salish", 12642471, "sal", "Latn", } -- "sli" "Silesian German" IS SUBSUMED INTO "gmw-ecg" "East Central German" m["slj"] = { "Salumá", 7406296, "sai-prk", "Latn", } m["sll"] = { "Salt-Yui", 7405785, } m["slm"] = { "Pangutaran Sama", 3362086, "poz-sbj", } m["sln"] = { "Salinan", 1568938, } m["slp"] = { "Lamaholot", 6480777, "poz-cet", "Latn", } m["slq"] = { "Salchuq", 56752, "trk", } m["slr"] = { "tiếng Salar", 33963, "trk-ogz", "Arab, Latn", "Tiếng Salar", "Salar", } m["sls"] = { "Singapore Sign Language", 7512563, "sgn", } m["slt"] = { "Sila", 7514021, "tbq-sil", } m["slu"] = { "Selaru", 7447500, "poz-cet", } m["slw"] = { "Sialum", 7506694, "ngf", } m["slx"] = { "Salampasu", 7403607, "bnt-lun", "Latn", } m["sly"] = { "Selayar", 7447520, "poz-ssw", } m["slz"] = { "Ma'ya", 2291492, "poz-hce", } m["sma"] = { "tiếng Nam Sami", 13293, "smi", "Latn", "Tiếng Nam Sami", "Nam Sami", display_text = { from = {"'"}, to = {"ˈ"} }, entry_name = {remove_diacritics = "'ˈ"}, sort_key = "sma-sortkey", } m["smb"] = { "Simbari", 7517427, "ngf", } m["smc"] = { "Som", 7559081, "ngf-fin", "Latn", } m["smd"] = { "Sama", 6407456, "bnt-kmb", "Latn", } m["smf"] = { "Auwe", 3502072, "paa-brd", ancestors = "dnd", } m["smg"] = { "Simbali", 56692, "paa-bng", } m["smh"] = { "tiếng Thát Mai", 7409269, "tbq-axi", nil, "Tiếng Thát Mai", "Thát Mai", } m["smj"] = { "Lule Sami", 56322, "smi", "Latn", display_text = { from = {"'"}, to = {"ˈ"} }, entry_name = {remove_diacritics = c.macron .. "'ˈ"}, sort_key = "smj-sortkey", } m["smk"] = { "tiếng Bolinao", 2669235, "phi", "Latn, Tglg", } m["sml"] = { "tiếng Sama Trung", 3470593, "poz-sbj", "Latn", "Tiếng Sama Trung", "Sama Trung", } m["smm"] = { "Musasa", 6940122, "inc-eas", ancestors = "bh", } m["smn"] = { "tiếng Sami Inari", 33462, "smi", "Latn", "Tiếng Sami Inari", "Sami Inari", display_text = { from = {"'"}, to = {"ˈ"} }, entry_name = {remove_diacritics = c.dotbelow .. "'ˈ"}, sort_key = "smn-sortkey", } m["smp"] = { "Samaritan Hebrew", 56502, "sem-can", "Samr", entry_name = {remove_diacritics = u(0x0816) .. "-" .. u(0x082D)}, } m["smq"] = { "tiếng Samo", 7409884, "ngf-est", "Latn", "Tiếng Samo", "Samo", } m["smr"] = { "Simeulue", 2992833, "poz-nws", "Latn", } m["sms"] = { "tiếng Sami Skolt", 13271, "smi", "Latn", "Tiếng Sami Skolt", "Sami Skolt", display_text = { from = {"'"}, to = {"ˈ"} }, entry_name = {remove_diacritics = c.dotbelow .. "'ˈ"}, sort_key = "sms-sortkey", } m["smt"] = { "Simte", 7521268, "tbq-kuk", } m["smu"] = { "Somray", 6583612, "mkh-pea", } m["smv"] = { "Samvedi", 6345632, "inc-sou", } m["smw"] = { "tiếng Sumbawa", 3182585, "poz-bss", "Latn", } m["smx"] = { "Samba", 11120157, "bnt-pen", "Latn", } m["smy"] = { "Semnani", 14531212, "xme", } m["smz"] = { "Simeku", 7517534, "paa-sbo", } m["snb"] = { "Sebuyau", 7442836, "poz-mly", } m["snc"] = { "tiếng Sinaugoro", 4170719, "poz-ocw", "Latn", "Tiếng Sinaugoro", "Sinaugoro", } m["sne"] = { "tiếng Bidayuh Bau", 2891938, "day", "Latn", "Tiếng Bidayuh Bau", "Bidayuh Bau", } m["snf"] = { "tiếng Noon", 36304, "alv-cng", "Latn", "Tiếng Noon", "Noon", } m["sng"] = { "Sanga (Congo)", 3438316, "bnt-lub", "Latn", } m["sni"] = { "Sensi", 7451029, "sai-pan", "Latn", } m["snj"] = { "Riverain Sango", 25559751, "crp", "Latn", ancestors = "ngb", } m["snk"] = { "tiếng Soninke", 36660, "dmn-snb", "Latn, Arab", "Tiếng Soninke", "Soninke", } m["snl"] = { "Sangil", 3472206, "phi", } m["snm"] = { "Southern Ma'di", 15637273, "csu-mma", } m["snn"] = { "Siona", 3485116, "sai-tuc", "Latn", } m["sno"] = { "Snohomish", 25559662, "sal", "Latn", } m["snp"] = { "Siane", 7506812, "paa-kag", "Latn", } m["snq"] = { "Sangu (Gabon)", 36609, "bnt-sir", "Latn", } m["snr"] = { "Sihan", 7513400, "ngf-mad", } m["sns"] = { "Nahavaq", 2160435, "poz-vnc", } m["snu"] = { "Senggi", 7929052, "paa-brd" } m["snv"] = { "Sa'ban", 3474891, "poz-swa", "Latn", } m["snw"] = { "Selee", 36272, "alv-ntg", "Latn", } m["snx"] = { "Sam", 7408387, } m["sny"] = { "Saniyo-Hiyewe", 7418302, "paa-spk", "Latn", } m["snz"] = { "Kou", 7525035, -- also 4803639 "ngf-mad", "Latn", } m["soa"] = { "tiếng Thái Tống", 7709159, "tai-swe", "Tavt, Thai", "Tiếng Thái Tống", "Thái Tống", --translit = "Tavt-translit", sort_key = { from = {"([ꪵꪶꪹꪻꪼ])([ꪀ-ꪯ])", "([เแโใไ])([ก-ฮ])"}, to = {"%2%1", "%2%1"} }, } m["sob"] = { "Sobei", 3121035, "poz-ocw", } m["soc"] = { "Soko", 7555138, "bnt-ske", "Latn", } m["sod"] = { "Songoora", 7561296, "bnt-lgb", "Latn", } m["soe"] = { "Songomeno", 5713543, "bnt-bsh", "Latn", } m["sog"] = { "tiếng Sogdia", 205979, "ira-sgc", "Sogd, Mani, Syrc, Sogo", "Tiếng Sogdia", "Sogdia", translit = { Sogd = "Sogd-translit", Mani = "Mani-translit", Sogo = "Sogo-translit", }, } m["soh"] = { "Aka (Sudan)", 3450949, "sdv-eje", "Latn", } m["soi"] = { "Sonha", 12953890, "inc-eas", } m["sok"] = { "Sokoro", 3441303, "cdc-est", "Latn", } m["sol"] = { "Solos", 3489591, "poz-ocw", } m["soo"] = { "Nsong", 12953148, "bnt-bdz", "Latn", } m["sop"] = { "Songe", 3130911, "bnt-lbn", "Latn", } m["soq"] = { "Kanasi", 11732656, } m["sor"] = { "Somrai", 3123566, "cdc-est", "Latn", } m["sos"] = { "Seenku", 36274, "dmn-smg", } m["sou"] = { "tiếng Nam Thái", 56508, "tai-swe", "Thai", "Tiếng Nam Thái", "Nam Thái", sort_key = "Thai-sortkey", } m["sov"] = { "tiếng Sonsorol", 13281, "poz-mic", "Latn", "Tiếng Sonsorol", "Sonsorol", } m["sow"] = { "Sowanda", 7571845, "paa-brd" } m["sox"] = { "Swo", 36604, "bnt-mka", "Latn", } m["soy"] = { "Miyobe", 35913, "alv-sav", "Latn", } m["soz"] = { "Temi", 13278, "bnt-kka", "Latn", } m["spb"] = { "Sepa (Indonesia)", 18603687, "poz-cma", "Latn", } m["spc"] = { "Sapé", 2888158, nil, "Latn", } m["spd"] = { "Saep", 7398312, "ngf-mad", } m["spe"] = { "Sepa (New Guinea)", 7451725, "poz-ocw", "Latn", } m["spg"] = { "Sian", 7506806, "poz-bnn", } m["spi"] = { "Saponi", 3915418, "paa", } m["spk"] = { "Sengo", 7450584, "paa-spk", "Latn", } m["spl"] = { "Selepet", 7447917, "ngf", } m["spm"] = { "Sepen", 4701931, "paa", "Latn", } m["spn"] = { "Sanapaná", 3033556, "sai-mas", "Latn", } m["spo"] = { "Spokane", 3493704, "sal", } m["spp"] = { "Supyire", 56284, "alv-sma", "Latn", } m["spr"] = { "Saparua", 7420921, "poz-cma", } m["sps"] = { "tiếng Saposa", 3473187, "poz-ocw", nil, "Tiếng Saposa", "Saposa", } m["spt"] = { "Spiti Bhoti", 22080879, "sit-las", } m["spu"] = { "Sapuan", 7421168, "mkh-ban", } m["spv"] = { "tiếng Sambalpur", 6433240, "inc-eas", "Orya", "Tiếng Sambalpur", "Sambalpur", translit = "or-translit", ancestors = "or", } m["spx"] = { "tiếng Piceni Nam", 36688, "itc-sbl", "Ital, Latn", "Tiếng Piceni Nam", "Piceni Nam", translit = "Ital-translit", } m["spy"] = { "Sabaot", 7395896, "sdv-kln", } m["sqa"] = { "Shama-Sambuga", 3914392, "nic-kmk", "Latn", } m["sqh"] = { "Shau", 3913925, "nic-jer", "Latn", } m["sqk"] = { "Albanian Sign Language", 4709168, "sgn", } m["sqm"] = { "Suma", 11008431, "alv-gbw", } m["sqn"] = { "Susquehannock", 3505736, "iro-nor", } m["sqo"] = { "Sorkhei", 3491964, "ira-kms", } m["sqq"] = { "Sou", 16979751, "mkh-ban", } m["sqr"] = { "Siculo-Arabic", 1069489, "sem-arb", } m["sqs"] = { "Sri Lankan Sign Language", 3915466, "sgn", } m["sqt"] = { "tiếng Socotra", 13283, "sem-sar", "Arab, Latn", "Tiếng Socotra", "Socotra", } m["squ"] = { "tiếng Squamish", 2484579, "sal", "Latn", "Tiếng Squamish", "Squamish", } m["sra"] = { "Saruga", 7424699, "ngf-mad", "Latn", } m["srb"] = { "tiếng Sora", 13284, "mun", "Sora, Orya, Telu", "Tiếng Sora", "Sora", } m["sre"] = { "Sara", 33957, "day", } m["srf"] = { "Nafi", 6958174, "poz-ocw", } m["srg"] = { "Sulod", 7636489, "phi", } m["srh"] = { "tiếng Sarikol", 33873, "ira-shr", "Latn, Arab, Cyrl", "Tiếng Sarikol", "Sarikol", } m["sri"] = { "Siriano", 3485264, "sai-tuc", "Latn", } m["srk"] = { "Serudung Murut", 7455497, "poz-san", } m["srl"] = { "Isirawa", 4203802, "paa-tkw", } m["srm"] = { "tiếng Saramacca", 33779, "crp", "Latn", "Tiếng Saramacca", "Saramacca", ancestors = "en, pt", } m["srn"] = { "tiếng Sranan Tongo", 33989, "crp", "Latn", "Tiếng Sranan Tongo", "Sranan Tongo", } m["srq"] = { "Sirionó", 3027953, "tup-gua", "Latn", } m["srr"] = { "tiếng Serer", 36284, "alv-fwo", "Latn, Arab", "Tiếng Serer", "Serer", } m["srs"] = { "tiếng Tsuut'ina", 20825, "ath-nor", "Latn", "Tiếng Tsuut'ina", "Tsuut'ina", } m["srt"] = { "Sauri", 7427547, "paa-egb", } m["sru"] = { "Suruí", 7646993, "tup", "Latn", } m["srv"] = { "Waray Sorsogon", 18755610, "phi", } m["srw"] = { "Serua", 14916905, "poz-cet", } m["srx"] = { "tiếng Sirmaur", 7530505, "him", "Deva", "Tiếng Sirmaur", "Sirmaur", } m["sry"] = { "Sera", 7452602, "poz-ocw", "Latn", } m["srz"] = { "Shahmirzadi", 12953126, "ira-msh", "fa-Arab", } m["ssb"] = { "Southern Sama", 3470594, "poz-sbj", "Latn", } m["ssc"] = { "Suba-Simbiti", 7630687, "bnt-lok", "Latn", } m["ssd"] = { "Siroi", 10771067, "ngf-mad", "Latn", } m["sse"] = { "Balangingi", 2880535, "poz-sbj", "Latn", } m["ssf"] = { "Thao", 676492, "map", "Latn", } m["ssg"] = { "Seimat", 3182581, "poz-aay", } m["ssh"] = { "Shihhi Arabic", 56571, "sem-arb", "Arab", entry_name = { remove_diacritics = c.kashida .. c.fathatan .. c.dammatan .. c.kasratan .. c.fatha .. c.damma .. c.kasra .. c.shadda .. c.sukun .. c.superalef, from = {u(0x0671)}, to = {u(0x0627)} }, } m["ssi"] = { "Sansi", 3309366, "inc-nwe", } m["ssj"] = { "Sausi", 7427605, "ngf-mad", "Latn", } m["ssk"] = { "Sunam", 11002210, "sit-kin", } m["ssl"] = { "Western Sisaala", 11154776, "nic-sis", "Latn", } m["ssm"] = { "tiếng Semnam", 7449713, "mkh-asl", "Latn", "Tiếng Semnam", "Semnam", } m["ssn"] = { "tiếng Waata", 7449713, "cus-eas", nil, "Tiếng Waata", "Waata", } m["sso"] = { "tiếng Sissano", 7530937, "poz-ocw", "Latn", "Tiếng Sissano", "Sissano", } m["ssp"] = { "Spanish Sign Language", 3100814, "sgn", } m["ssq"] = { "So'a", 7572120, "poz-cet", "Latn", } m["ssr"] = { "Swiss-French Sign Language", 12953483, "sgn", } m["sss"] = { "tiếng Sô", 3082037, "mkh-kat", "Thai", "Tiếng Sô", "Sô", } m["sst"] = { "Sinasina", 7521813, "ngf", "Latn", } m["ssu"] = { "Susuami", 7649752, "ngf", "Latn", } m["ssv"] = { "Shark Bay", 7489783, "poz-vnc", } m["ssx"] = { "Samberigi", 7409020, "paa-eng", "Latn", } m["ssy"] = { "tiếng Saho", 36353, "cus-eas", "Latn, Ethi, Arab", "Tiếng Saho", "Saho", } m["ssz"] = { "Sengseng", 7450601, "poz-ocw", "Latn", } m["stb"] = { "Northern Subanen", 12953892, "phi", "Latn", } m["std"] = { "Sentinelese", 568377, } m["ste"] = { "Liana-Seti", 6539924, "poz-cma", } m["stf"] = { "Seta", 7456326, "qfa-tor", "Latn", } m["stg"] = { "Trieng", 22694648, "mkh-ban", } m["sth"] = { "Shelta", 36705, "crp", "Latn", ancestors = "en", } m["sti"] = { "tiếng Xtiêng", 15771431, "mkh-ban", "Khmr, Latn", "Tiếng Xtiêng", "Xtiêng", } m["stj"] = { "Matya Samo", 10974879, "dmn-sam", "Latn", } m["stk"] = { "Arammba", 3502094, "ngf", } m["stm"] = { "Setaman", 7456333, "ngf-okk", "Latn", } m["stn"] = { "Owa", 1324132, "poz-sls", "Latn", } m["sto"] = { "Stoney", 3033570, "sio-dkt", } m["stp"] = { "tiếng Tepehuan Đông Nam", 12953917, "azc", "Latn", "Tiếng Tepehuan Đông Nam", "Tepehuan Đông Nam", } m["stq"] = { "tiếng Frisia Saterland", 27154, "gmw-fri", "Latn", "Tiếng Frisia Saterland", "Frisia Saterland", } m["str"] = { "tiếng Saanich", 36444, "sal", "Latn", "Tiếng Saanich", "Saanich", } m["sts"] = { "Shumashti", 33777, "inc-kun", } m["stt"] = { "tiếng Xtiêng Bù Đeh", 12953891, "mkh-ban", "Latn", "Tiếng Xtiêng Bù Đeh", "Xtiêng Bù Đeh", } m["stu"] = { "tiếng Samtao", 25559550, "mkh-pal", "Latn, Mymr", "Tiếng Samtao", "Samtao" } m["stv"] = { "tiếng Siltʼe", nil, "sem-eth", "Ethi", "Tiếng Siltʼe", "Siltʼe", } m["stw"] = { "Satawalese", 28477, "poz-mic", } m["sty"] = { "tiếng Tatar Siberia", 4418344, "trk-kno", "Cyrl", "Tiếng Tatar Siberia", "Tatar Siberia", translit = "sty-translit" } m["sua"] = { "Sulka", 7636341, "qfa-iso", } m["sub"] = { "Suku", 12953160, "bnt-yak", "Latn", } m["suc"] = { "Western Subanon", 16113894, "phi", "Latn", } m["sue"] = { "Suena", 7634386, "ngf", "Latn", } m["sug"] = { "Suganga", 7634706, "ngf-okk", "Latn", } m["sui"] = { "Suki", 2089984, "ngf", "Latn", } m["suk"] = { "Sukuma", 2638144, "bnt-tkm", "Latn", } m["suq"] = { "tiếng Suri", 5364172, "sdv", "Latn, Ethi", "Tiếng Suri", "Suri", } m["sur"] = { "Mwaghavul", 3440486, "cdc-wst", "Latn", } m["sus"] = { "tiếng Susu", 33990, "dmn-sya", "Latn, Arab", "Tiếng Susu", "Susu", } m["sut"] = { "Subtiaba", 3915405, "omq", "Latn", } m["suv"] = { "tiếng Puroik", 56408, "sit-khb", "Latn, Beng", "Tiếng Puroik", "Puroik", } m["suw"] = { "Sumbwa", 7637055, "bnt-glb", "Latn", } m["sux"] = { "tiếng Sumer", 36790, "qfa-iso", "Xsux, Latn", "Tiếng Sumer", "Sumer", } m["suy"] = { "Suyá", 3505859, "sai-nje", "Latn", } m["suz"] = { "Sunwar", 56549, "sit-kiw", "Deva, Sunu" } m["sva"] = { "tiếng Svan", 34067, "ccs", "Geor, Cyrl", "Tiếng Svan", "Svan", translit = "sva-translit", override_translit = true, } m["svb"] = { "Ulau-Suain", 7878769, "poz-ocw", "Latn", } m["svc"] = { "Vincentian Creole English", 3501785, "crp", "Latn", ancestors = "en", } m["sve"] = { "Serili", 7454834, "poz-tim", } m["svk"] = { "Slovakian Sign Language", 7541557, "sgn", } m["svm"] = { "Slavomolisano", 36254, "zls", "Latn", ancestors = "sh", } m["svs"] = { "tiếng Savosavo", 3130296, "qfa-dis", "Latn", } m["svx"] = { "Skalvian", 3486125, "bat-wes", "Latn", } m["swb"] = { "tiếng Comoros Maore", 34075, "bnt-com", "Latn, Arab", "Tiếng Comoros Maore", "Comoros Maore", sort_key = "bnt-com-sortkey", } m["swf"] = { "Sere", 7453056, "nic-ser", "Latn", } m["swg"] = { "Swabian", 327274, "gmw-hgm", "Latn", ancestors = "gsw", } m["swi"] = { "tiếng Thủy", 3112388, "qfa-kms", "Latn, Shui, Hani", "Tiếng Thủy", "Thủy", sort_key = {Hani = "Hani-sortkey"}, } m["swj"] = { "Sira", 36599, "bnt-sir", "Latn", } m["swl"] = { "Swedish Sign Language", 36558, "sgn", } m["swm"] = { "Samosa", 7410037, "ngf-mad", "Latn", } m["swn"] = { "tiếng Sokna", 2988323, "ber", nil, "Tiếng Sokna", "Sokna", } m["swo"] = { "Shanenawa", nil, "sai-pan", "Latn", } m["swp"] = { "Suau", 3502368, "poz-ocw", } m["swq"] = { "Sharwa", 56791, "cdc-cbm", "Latn", } m["swr"] = { "Saweru", 3474649, } m["sws"] = { "Seluwasan", 7448845, "poz-cet", } m["swt"] = { "Sawila", 7428639, } m["swu"] = { "Suwawa", 7650588, "phi", } m["sww"] = { "Sowa", 7571843, "poz-vnc", } m["swx"] = { "Suruahá", 3114402, "auf", } m["swy"] = { "Sarua", 56261, "cdc-est", "Latn", } m["sxb"] = { "Suba", 33916, "bnt-lok", "Latn", } m["sxc"] = { "Sicanian", 36335, } m["sxe"] = { "Sighu", 36431, "bnt-kel", "Latn", } m["sxg"] = { "Shixing", 56337, "sit-nax", "Latn", } m["sxk"] = { "Southern Kalapuya", 3192122, "nai-klp", } m["sxl"] = { "Selonian", 36491, "bat-eas", "Latn", } m["sxm"] = { "Samre", 6583615, "mkh-pea", } m["sxn"] = { "tiếng Sangir", 25714758, "phi", "Latn", "Tiếng Sangir", "Sangir", } m["sxo"] = { "Sorothaptic", 2762254, } m["sxr"] = { "tiếng Saaroa", 716599, "map-tsu", "Latn", "Tiếng Saaroa", "Saaroa", } m["sxs"] = { "Sasaru", 3913384, "alv-yek", "Latn", } -- "sxu" "Upper Saxon" IS SUBSUMED INTO "gmw-ecg" "East Central German" m["sxw"] = { "tiếng Gbe Saxwe", 7428892, "alv-pph", nil, "Tiếng Gbe Saxwe", "Gbe Saxwe", } m["sya"] = { "Siang", 3482903, } m["syb"] = { "Central Subanen", 12953893, "phi", "Latn", } m["syc"] = { "tiếng Syriac cổ điển", 33538, "sem-are", "Syrc", "Tiếng Syriac cổ điển", "Syriac cổ điển", entry_name = {remove_diacritics = c.macron .. c.diaer .. c.macronbelow .. u(0x0730) .. "-" .. u(0x0748)}, } m["syi"] = { "Seki", 36547, "bnt-kel", "Latn", } m["syk"] = { "Sukur", 56292, "cdc-cbm", "Latn", } m["syl"] = { "tiếng Sylhet", 2044560, "inc-eas", "Sylo, Beng", "Tiếng Sylhet", "Sylhet", ancestors = "inc-obn", translit = "syl-translit", } m["sym"] = { "Maya Samo", 10950421, "dmn-sam", "Latn", } m["syn"] = { "tiếng Senaya", 33914, "sem-nna", "Syrc", "Tiếng Senaya", "Senaya", } m["syo"] = { "Suoy", 7641864, "mkh-pea", } m["sys"] = { "Sinyar", 56840, "csu", "Latn", } m["syw"] = { "Kagate", 12952538, "sit-kyk", "Deva", } m["syx"] = { "Osamayi", 7408415, "bnt-kel", "Latn", } m["syy"] = { "Al-Sayyid Bedouin Sign Language", 2915457, "sgn", } m["sza"] = { "tiếng Semelai", 3111827, "mkh-asl", "Latn", "Tiếng Semelai", "Semelai", } m["szb"] = { "tiếng Ngalum", 11732516, "ngf-okk", "Latn", "Tiếng Ngalum", "Ngalum", } m["szc"] = { "tiếng Semaq Beri", 7449119, "mkh-asl", "Latn", "Tiếng Semaq Beri", "Semaq Beri", } m["szd"] = { "Seru", 7455488, "poz-bnn", "Latn", } m["sze"] = { "tiếng Seze", 373683, "omv-mao", "Latn", "Tiếng Seze", "Seze", } m["szg"] = { "Sengele", 7450555, "bnt-mon", "Latn", } m["szl"] = { "tiếng Silesia", 30319, "zlw-lch", "Latn", "Tiếng Silesia", "Silesia", ancestors = "zlw-opl", } m["szn"] = { "Sula", 3503403, "poz-cma", "Latn", } m["szp"] = { "Suabo", 7630429, "ngf-sbh", "Latn", } m["szv"] = { "Isubu", 35431, "bnt-saw", "Latn", } m["szw"] = { "Sawai", 3447258, "poz-hce", "Latn", } m["szy"] = { "tiếng Sakizaya", 718269, "map", "Latn", "Tiếng Sakizaya", "Sakizaya", } return require("Module:languages").finalizeData(m, "language") 6bdii3cqvwoy9x6oxyuna9k6v97fxki Mô đun:languages/data/3/o 828 272281 2573221 2569043 2026-10-24T13:59:15Z Hiyuune 50834 2573221 Scribunto text/plain local m_langdata = require("Module:languages/data") -- Loaded on demand, as it may not be needed (depending on the data). local function u(...) u = require("Module:string utilities").char return u(...) end local c = m_langdata.chars local p = m_langdata.puaChars local s = m_langdata.shared local m = {} m["oaa"] = { "tiếng Orok", 33928, "tuw-nan", "Cyrl, Latn", "Tiếng Orok", "Orok", } m["oac"] = { "tiếng Oroch", 33650, "tuw-udg", "Latn, Cyrl", "Tiếng Oroch", "Oroch", } m["oav"] = { "Old Avar", nil, "cau-ava", "Geor", } m["obi"] = { "Obispeño", 1288385, "nai-chu", "Latn", } m["obk"] = { "Southern Bontoc", nil, "phi", "Latn", } m["obl"] = { "Oblo", 36309, } m["obm"] = { "Moabite", 36385, "sem-can", "Phnx", translit = "Phnx-translit", } m["obo"] = { "Obo Manobo", 12953699, "mno", "Latn", } m["obr"] = { "tiếng Miến Điện cổ", 17006600, "tbq-brm", "Mymr, Latn", --and also Pallava "Tiếng Miến Điện cổ", "Miến Điện cổ", } m["obt"] = { "tiếng Breton cổ", 3558112, "cel-brs", "Latn", "Tiếng Breton cổ", "Breton cổ", } m["obu"] = { "Obulom", 3813403, "nic-cde", "Latn", } m["oca"] = { "tiếng Ocaina", 3182577, "sai-wit", "Latn", "Tiếng Ocaina", "Ocaina", } m["och"] = { "tiếng Hán thượng cổ", 35137, "zhx", "Hant", "Tiếng Hán thượng cổ", "Hán thượng cổ", translit = "zh-translit", sort_key = "Hani-sortkey", } m["ocm"] = { "tiếng Chăm cổ", 105197086, "cmc", "Latn, Brah", "Tiếng Chăm cổ", "Chăm cổ", } m["oco"] = { "tiếng Cornwall cổ", 48304520, "cel-brs", "Latn", "Tiếng Cornwall cổ", "Cornwall cổ", } m["ocu"] = { "Tlahuica", 10751739, "omq", "Latn", } m["oda"] = { "Odut", 3915388, "nic-uce", "Latn", ancestors = "mfn", } m["odk"] = { "Od", 7077191, "inc-wes", "Arab", } m["odt"] = { "tiếng Hà Lan cổ", 443089, "gmw-frk", "Latn, Runr", "Tiếng Hà Lan cổ", "Hà Lan cổ", ancestors = "frk", entry_name = {remove_diacritics = c.circ .. c.macron}, } m["odu"] = { "Odual", 3813392, "nic-cde", "Latn", } m["ofo"] = { "Ofo", 3349758, "sio-ohv", } m["ofs"] = { "tiếng Frisia cổ", 35133, "gmw-fri", "Latn", "Tiếng Frisia cổ", "Frisia cổ", entry_name = {remove_diacritics = c.circ .. c.macron}, sort_key = { from = {"æ", "ð", "þ"}, to = {"ae", "t" .. p[1], "t" .. p[2]} }, } m["ofu"] = { "Efutop", 35297, "nic-eko", "Latn", } m["ogb"] = { "Ogbia", 3813400, "nic-cde", "Latn", } m["ogc"] = { "Ogbah", 36291, "alv-igb", "Latn", } m["oge"] = { "tiếng Gruzia cổ", 34834, "ccs-gzn", "Geor, Geok", "Tiếng Gruzia cổ", "Gruzia cổ", translit = { Geor = "Geor-translit", Geok = "Geok-translit", }, override_translit = true, entry_name = {remove_diacritics = c.circ}, } m["ogg"] = { "Ogbogolo", 3813405, "nic-cde", "Latn", } m["ogo"] = { "Khana", 3914409, "nic-ogo", "Latn", } m["ogu"] = { "tiếng Ogbronuagum", 3914485, "nic-cde", "Latn", "Tiếng Ogbronuagum", "Ogbronuagum", } m["ohu"] = { "Old Hungarian", nil, "urj-ugr", "Latn", } m["oia"] = { "tiếng Oirata", 56738, "paa-eti", "Latn", } m["oin"] = { "Inebu One", 12953782, "qfa-tor", } m["ojb"] = { "tiếng Ojibwe Tây Bắc", 7060356, "alg", "Latn, Cans", "Tiếng Ojibwe Tây Bắc", "Ojibwe Tây Bắc", ancestors = "oj", } m["ojc"] = { "Central Ojibwa", 5061548, "alg", "Latn", ancestors = "oj", } m["ojg"] = { "tiếng Ojibwe Đông", 5330342, "alg", "Latn, Cans", "Tiếng Ojibwe Đông", "Ojibwe Đông", ancestors = "oj", } m["ojp"] = { "tiếng Nhật thượng cổ", 5736700, "jpx", "Jpan", sort_key = s["Jpan-sortkey"], } m["ojs"] = { "tiếng Ojibwe Severn", 56494, "alg", "Latn, Cans", "Tiếng Ojibwe Severn", "Ojibwe Severn", ancestors = "oj", } m["ojv"] = { "Ontong Java", 7095071, "poz-pnp", "Latn", } m["ojw"] = { "tiếng Ojibwe Tây", 3474222, "alg", "Latn, Cans", "Tiếng Ojibwe Tây", "Ojibwe Tây", ancestors = "oj", } m["oka"] = { "tiếng Okanagan", 2984602, "sal", "Latn", "Tiếng Okanagan", "Okanagan", } m["okb"] = { "Okobo", 3813398, "nic-lcr", "Latn", } m["okd"] = { "Okodia", 36300, "ijo", } m["oke"] = { "Okpe (Southwestern Edo)", 268924, "alv-swd", "Latn", } m["okg"] = { "Kok-Paponk", nil, "aus-pmn", "Latn", } m["okh"] = { "Koresh-e Rostam", 6432160, "xme-ttc", ancestors = "xme-ttc-cen", } m["oki"] = { "Okiek", 56367, "sdv-kln", "Latn", } m["okj"] = { "Oko-Juwoi", 3436832, "qfa-adc", } m["okk"] = { "Kwamtim One", 19830649, "qfa-tor", "Latn", } m["okl"] = { "Old Kentish Sign Language", 7084319, "sgn", } m["okm"] = { "tiếng Triều Tiên trung đại", 715339, "qfa-kor", "Kore", "Tiếng Triều Tiên trung đại", "Triều Tiên trung đại", ancestors = "oko", translit = "okm-translit", entry_name = s["Kore-entryname"], } m["okn"] = { "tiếng Okinoerabu", 3350036, "jpx-nry", "Jpan", "Tiếng Okinoerabu", "Okinoerabu", translit = s["Jpan-translit"], sort_key = s["Jpan-sortkey"], } m["oko"] = { "tiếng Triều Tiên cổ", 715364, "qfa-kor", "Kore", "Tiếng Triều Tiên cổ", "Triều Tiên cổ", entry_name = s["Kore-entryname"], } m["okr"] = { "tiếng Kirike", 11006763, "ijo", "Latn", "Tiếng Kirike", "Kirike", } m["oks"] = { "Oko-Eni-Osayen", 36302, "alv-von", "Latn", } m["oku"] = { "Oku", 36289, "nic-rnc", "Latn", } m["okv"] = { "Orokaiva", 7103752, "ngf", "Latn", } m["okx"] = { "Okpe (Northwestern Edo)", 7082547, "alv-nwd", "Latn", } m["okz"] = { "tiếng Khmer cổ", 9205, "mkh-kmr", "Latn, Khmr", --and also Pallava "Tiếng Khmer cổ", "Khmer cổ", } m["old"] = { "Mochi", 12952852, "bnt-chg", "Latn", } m["ole"] = { "tiếng Ole", 3695204, "sit-bdi", "Tibt, Latn", "Tiếng Ole", "Ole", translit = {Tibt = "Tibt-translit"}, override_translit = true, display_text = {Tibt = s["Tibt-displaytext"]}, entry_name = {Tibt = s["Tibt-entryname"]}, sort_key = {Tibt = "Tibt-sortkey"}, } m["olm"] = { "Oloma", 3441166, "alv-nwd", "Latn", } m["olo"] = { "tiếng Livvi", 36584, "urj-fin", "Latn", "Tiếng Livvi", "Livvi", } m["olr"] = { "Olrat", 3351562, "poz-vnc", } m["olt"] = { "tiếng Litva cổ", 17417801, "bat-eas", "Latn", "Tiếng Litva cổ", "Litva cổ", entry_name = {remove_diacritics = c.grave .. c.acute .. c.tilde}, } m["olu"] = { "Kuvale", 6448765, "bnt-swb", "Latn", } m["oma"] = { "tiếng Omaha-Ponca", 2917968, "sio-dhe", "Latn", "Tiếng Omaha-Ponca", "Omaha-Ponca", } m["omb"] = { "Omba", 2841471, "poz-vnc", "Latn", } m["omc"] = { "Mochica", 1951641, } m["omg"] = { "Omagua", 33663, "tup-gua", "Latn", } m["omi"] = { "Omi", 56795, "csu-mma", } m["omk"] = { "tiếng Omok", 4334657, "qfa-yuk", "Cyrl", "Tiếng Omok", "Omok", translit = "omk-translit", } m["oml"] = { "Ombo", 7089928, "bnt-tet", "Latn", } m["omn"] = { "Minoan", 1669994, nil, "Lina", } m["omo"] = { "Utarmbung", 7902577, "ngf", "Latn", } m["omp"] = { "Old Manipuri", nil, "sit", "Mtei", translit = "Mtei-translit", } m["omr"] = { "tiếng Marathi cổ", 65455881, "inc-sou", "Deva, Modi", "Tiếng Marathi cổ", "Marathi cổ", translit = { Deva = "sa-translit", Modi = "Modi-translit", }, } m["omt"] = { "Omotik", 36313, "sdv-nis", } m["omu"] = { "Omurano", 1957612, } m["omw"] = { "South Tairora", 20210553, "paa-kag", "Latn", } m["omx"] = { "tiếng Môn cổ", 111364697, "mkh-mnc", "Mymr, Latn", --and also Pallava "Tiếng Môn cổ", "Môn cổ", } m["omy"] = { "tiếng Mã Lai cổ", 31775823, "poz", "Kawi", --and also Pallava "Tiếng Mã Lai cổ", "Mã Lai cổ", } m["ona"] = { "Selk'nam", 2721227, "sai-cho", "Latn", } m["onb"] = { "tiếng Lâm Cao", 7093790, "qfa-onb", "Latn", "Tiếng Lâm Cao", "Lâm Cao", } m["one"] = { "tiếng Oneida", 857858, "iro-nor", "Latn", "Tiếng Oneida", "Oneida", } m["ong"] = { "Olo", 592162, "qfa-tor", "Latn", } m["oni"] = { "Onin", 7093910, "poz-cet", "Latn", } m["onj"] = { "Onjob", 7093968, "ngf", "Latn", } m["onk"] = { "Kabore One", 12953783, "qfa-tor", "Latn", } m["onn"] = { "Onobasulu", 7094437, "ngf", "Latn", } m["ono"] = { "Onondaga", 1077450, "iro-nor", "Latn", ancestors = "iro-oon", } m["onp"] = { "Sartang", 7424639, "sit-khb", } m["onr"] = { "Northern One", 19830648, "qfa-tor", "Latn", } m["ons"] = { "Ono", 11732548, "ngf", "Latn", } m["ont"] = { "Ontenu", 3352827, } m["onu"] = { "Unua", 3552042, "poz-vnc", "Latn", } m["onw"] = { "tiếng Nubia cổ", 2268, "nub", "Copt", "Tiếng Nubia cổ", "Nubia cổ", translit = "Copt-translit", sort_key = "cop-sortkey", } m["onx"] = { "Pidgin Onin", 12953788, "crp", "Latn", ancestors = "oni", } m["ood"] = { "tiếng O'odham", 2393095, "azc-pim", "Latn", "Tiếng O'odham", "O'odham", } m["oog"] = { "Ong", 12953787, "mkh-kat", } m["oon"] = { "tiếng Önge", 2475551, "qfa-ong", "Latn", "Tiếng Önge", "Önge", } m["oor"] = { "Oorlams", 2484337, } m["oos"] = { "tiếng Ossetia cổ", 65455882, "xsc", "Polyt, Latn", "Tiếng Ossetia cổ", "Ossetia cổ", ancestors = "os-pro", translit = {Polyt = "grc-translit"}, entry_name = { Polyt = s["Polyt-entryname"], }, sort_key = { Polyt = s["Grek-sortkey"], }, } m["opa"] = { "Okpamheri", 3913331, "alv-nwd", "Latn", } m["opk"] = { "Kopkaka", 6431129, "ngf-okk", "Latn", } m["opm"] = { "Oksapmin", 1068097, "ngf", "Latn", } m["opo"] = { "Opao", 7095585, "ngf", "Latn", } m["opt"] = { "Opata", 2304583, "azc-trc", "Latn", } m["opy"] = { "Ofayé", 3446691, "sai-mje", "Latn", } m["ora"] = { "Oroha", 36298, "poz-sls", } m["orc"] = { "tiếng Orma", 2919128, "cus-eas", "Latn", "Tiếng Orma", "Orma", } m["ore"] = { "Orejón", 3355834, "sai-tuc", "Latn", } m["org"] = { "Oring", 3915308, "nic-ucn", "Latn", } m["orh"] = { "tiếng Oroqen", 1367309, "tuw-ewe", "Latn", "Tiếng Oroqen", "Oroqen", } m["oro"] = { "Orokolo", 7103758, "ngf", "Latn", } m["orr"] = { "Oruma", 36299, "ijo", "Latn", } m["ort"] = { "tiếng Oriya Adiwasi", 12953791, "inc-eas", "Orya", "Tiếng Oriya Adiwasi", "Oriya Adiwasi", ancestors = "or", } m["oru"] = { "tiếng Ormur", 33740, "ira-orp", "fa-Arab", "Tiếng Ormur", "Ormur", } m["orv"] = { "tiếng Slav Đông cổ", 35228, "zle", "Cyrs", "Tiếng Slav Đông cổ", "Slav Đông cổ", translit = {Cyrs = "Cyrs-translit"}, entry_name = s["Cyrs-entryname"], sort_key = { from = {"Ꙑ", "ꙑ"} , to = { "ы" .. p[1], "ы" .. p[1],} }, } m["orw"] = { "Oro Win", 3450423, "sai-cpc", "Latn", } m["orx"] = { "Oro", 3813396, "nic-lcr", "Latn", } m["orz"] = { "tiếng Ormu", 7103494, "poz-ocw", "Latn", "Tiếng Ormu", "Ormu" } m["osa"] = { "tiếng Osage", 2600085, "sio-dhe", "Latn, Osge", "Tiếng Osage", "Osage", } m["osc"] = { "tiếng Osci", 36653, "itc-sbl", "Ital, Latn, Polyt", "Tiếng Osci", "Osci", translit = { Ital = "Ital-translit", Polyt = "grc-translit", }, entry_name = { Polyt = s["Polyt-entryname"], }, sort_key = { Polyt = s["Grek-sortkey"], }, } m["osi"] = { "tiếng Osing", 2701322, "poz-sus", "Latn", "Tiếng Osing", "Osing", } m["osn"] = { "tiếng Sunda cổ", 56197074, "poz-msa", "Latn, Sund, Kawi", "Tiếng Sunda cổ", "Sunda cổ", } m["oso"] = { "Ososo", 3913398, "alv-yek", "Latn", } m["osp"] = { "tiếng Tây Ban Nha cổ", 1088025, "roa-ibe", "Latn", "Tiếng Tây Ban Nha cổ", "Tây Ban Nha cổ", } m["ost"] = { "tiếng Osatu", 36243, "nic-grs", "Latn", "Tiếng Osatu", "Osatu", } m["osu"] = { "Southern One", 12953785, "qfa-tor", "Latn", } m["osx"] = { "tiếng Saxon cổ", 35219, "gmw-lgm", "Latn", "Tiếng Saxon cổ", "Saxon cổ", entry_name = {remove_diacritics = c.circ .. c.macron}, } m["ota"] = { "tiếng Thổ Nhĩ Kỳ Ottoman", 36730, "trk-ogz", "ota-Arab, Armn", "Tiếng Thổ Nhĩ Kỳ Ottoman", "Thổ Nhĩ Kỳ Ottoman", ancestors = "trk-oat", entry_name = {remove_diacritics = c.fathatan .. c.dammatan .. c.kasratan .. c.fatha .. c.damma .. c.kasra .. c.shadda .. c.sukun .. c.superalef}, translit = {Armn = "ota-Armn-translit"}, } m["otb"] = { "Old Tibetan", 7085214, "sit-tib", "Tibt", translit = "Tibt-translit", override_translit = true, display_text = s["Tibt-displaytext"], entry_name = s["Tibt-entryname"], sort_key = "Tibt-sortkey", } m["otd"] = { "Ot Danum", 3033781, "poz-brw", "Latn", } m["ote"] = { "tiếng Otomi Mezquital", 23755711, "oto-otm", "Latn", "Tiếng Otomi Mezquital", "Otomi Mezquital", } m["oti"] = { "Oti", 3357881, } m["otk"] = { "tiếng Turk cổ", 34988, "trk", "Orkh", "Tiếng Turk cổ", "Turk cổ", translit = "Orkh-translit", } m["otl"] = { "Tilapa Otomi", 7802050, "oto-otm", "Latn", } m["otm"] = { "Eastern Highland Otomi", 13581718, "oto-otm", "Latn", } m["otn"] = { "Tenango Otomi", 25559589, "oto-otm", "Latn", } m["otq"] = { "tiếng Otomi Querétaro", 23755688, "oto-otm", "Latn", "Tiếng Otomi Querétaro", "Otomi Querétaro", } m["otr"] = { "tiếng Otoro", 36328, "alv-hei", "Latn", "Tiếng Otoro", "Otoro", } m["ots"] = { "Estado de México Otomi", 7413841, "oto-otm", "Latn", } m["ott"] = { "Temoaya Otomi", 7698191, "oto-otm", "Latn", } m["otu"] = { "tiếng Otuke", 7110049, "sai-mje", "Latn", "Tiếng Otuke", "Otuke", } m["otw"] = { "tiếng Ottawa", 133678, "alg", "Latn", ancestors = "oj", } m["otx"] = { "Texcatepec Otomi", 25559590, "oto-otm", "Latn", } m["oty"] = { "tiếng Tamil cổ", 20987452, "dra-tam", "Brah", "Tiếng Tamil cổ", "Tamil cổ", translit = "Brah-translit", } m["otz"] = { "Ixtenco Otomi", 6101171, "oto-otm", "Latn", } m["oub"] = { "Glio-Oubi", 3914977, "kro-grb", } m["oue"] = { "Oune", 7110521, "paa-sbo", } m["oui"] = { "tiếng Duy Ngô Nhĩ cổ", 428299, "trk-ssb", "Ougr, Latn, Hani, Phag, Brah, Mani, Syrc, Orkh, Sogd, Arab, mnc-Mong, Sogo, Tibt", "Tiếng Duy Ngô Nhĩ cổ", "Duy Ngô Nhĩ cổ", ancestors = "otk", translit = { Ougr = "Ougr-translit", -- Orkh translit in [[Module:scripts/data]] -- Mani translit in [[Module:scripts/data]] -- mnc-Mong translit in [[Module:scripts/data]] (NOTE: Formerly not present; I assume accidentally left out) -- Brah translit in [[Module:scripts/data]] }, -- Tibt translit, display_text, strip_diacritics, sort_key in [[Module:scripts/data]] -- NOTE: Formerly there was only a sort_key for Tibetan. I assume the other three were left out accidentally. sort_key = { Hani = "Hani-sortkey", }, } m["oum"] = { "Ouma", 7110494, "poz-ocw", "Latn", } m["ovd"] = { "tiếng Övdal", 254950, "gmq-eas", "Latn", "Tiếng Övdal", "Övdal", } m["owi"] = { "Owiniga", 56454, "qfa-mal", "Latn", "Tiếng Owiniga", "Owiniga", } m["owl"] = { "tiếng Wales cổ", 2266723, "cel-brw", "Latn", } m["oyb"] = { "Oy", 13593748, "mkh-ban", } m["oyd"] = { "tiếng Oyda", 7116251, "omv-nom", "Ethi, Latn", "Tiếng Oyda", "Oyda", } m["oym"] = { "tiếng Wayampi", 7975842, "tup-gua", "Latn", "Tiếng Wayampi", "Wayampi", } m["oyy"] = { "Oya'oya", 7116243, "poz-ocw", "Latn", } m["ozm"] = { "tiếng Koonzime", 35566, "bnt-ndb", "Latn", "Tiếng Koonzime", "Koonzime", } return require("Module:languages").finalizeData(m, "language") 2xluotqhllj7h3wz9ln96tcsytgtgl8 Mô đun:languages/data/3/b 828 272283 2573204 2572015 2026-10-24T13:23:38Z Lcsnes 40261 2573204 Scribunto text/plain local m_langdata = require("Module:languages/data") -- Loaded on demand, as it may not be needed (depending on the data). local function u(...) u = require("Module:string utilities").char return u(...) end local c = m_langdata.chars local p = m_langdata.puaChars local s = m_langdata.shared local m = {} m["baa"] = { "tiếng Babatana", 2877785, "poz-ocw", "Latn", "Tiếng Babatana", "Babatana", } m["bab"] = { "tiếng Bainouk-Gunyuño", 35508, "alv-bny", "Latn", "Tiếng Bainouk-Gunyuño", "Bainouk-Gunyuño", } m["bac"] = { "tiếng Badui", 3449885, "poz-msa", "Latn", "Tiếng Badui", "Badui", } m["bae"] = { "tiếng Baré", 3504087, "awd", "Latn", "Tiếng Baré", "Baré", } m["baf"] = { "tiếng Nubaca", 36270, "nic-ymb", "Latn", "Tiếng Nabaca", "Nubaca", } m["bag"] = { "tiếng Tuki", 36621, "nic-mba", "Latn", "Tiếng Tuki", "Tuki", } m["bah"] = { "Bahamian Creole", 2669229, "crp", "Latn", ancestors = "en", } m["baj"] = { "tiếng Barakai", 3502030, "poz-cet", "Latn", "Tiếng Barakai", "Barakai" } m["bal"] = { "tiếng Baloch", 33049, "ira-nwi", "fa-Arab, Cyrl", "Tiếng Baloch", "Baloch", } m["ban"] = { "tiếng Bali", 33070, "poz-mcm", "Latn, Bali", "Tiếng Bali", "Bali", } m["bao"] = { "tiếng Waimaha", 2883738, "sai-tuc", "Latn", "Tiếng Waimaha", "Waimaha", } m["bap"] = { "tiếng Bantawa", 56500, "sit-kic", "Krai, Deva", "Tiếng Bantawa", "Bantawa", } m["bar"] = { "tiếng Bayern", 29540, "gmw-hgm", "Latn", "Tiếng Bayern", "Bayern", ancestors = "gmh", } m["bas"] = { "tiếng Basaa", 33093, "bnt-bsa", "Latn", "Tiếng Basaa", "Basaa", } m["bau"] = { "tiếng Badanchi", 11001650, "nic-jrw", "Latn", "Tiếng Badanchi", "Badanchi", } m["bav"] = { "tiếng Babungo", 34885, "nic-rnn", "Latn", "Tiếng Babungo", "Babungo" } m["baw"] = { "Bambili-Bambui", 34880, "nic-nge", "Latn", } m["bax"] = { "tiếng Bamum", 35280, "nic-nun", "Latn, Bamu", "Tiếng Bamum", "Bamum", } m["bay"] = { "tiếng Batuley", 8828787, "poz", "Latn", "Tiếng Batuley", "Batuley", } m["bba"] = { "tiếng Baatonum", 34889, "alv-sav", "Latn", "Tiếng Baatonum", "Baatonum", } m["bbb"] = { "tiếng Barai", 4858206, "ngf", "Latn", "Tiếng Barai", "Barai", } m["bbc"] = { "Toba Batak", 33017, "btk", "Latn, Batk", } m["bbd"] = { "Bau", 4873415, "ngf-mad", "Latn", } m["bbe"] = { "Bangba", 34895, "nic-nke", "Latn", } m["bbf"] = { "Baibai", 56902, "paa", "Latn", } m["bbg"] = { "Barama", 34884, "bnt-sir", "Latn", } m["bbh"] = { "tiếng Bố Cam", 3033554, "mkh-pkn", "Latn", "Tiếng Bố Cam", "Bố Cam", } m["bbi"] = { "tiếng Barombi", 34985, "bnt-bsa", "Latn", "Tiếng Barombi", "Barombi", } m["bbj"] = { "tiếng Ghomala'", 35271, "bai", "Latn", "Tiếng Ghomala'", "Ghomala'", } m["bbk"] = { "Babanki", 34790, "nic-rnc", "Latn", } m["bbl"] = { "tiếng Bats", 33259, "cau-nkh", "Geor", "Tiếng Bats", "Bats", translit = "Geor-translit", override_translit = true, entry_name = { remove_diacritics = c.tilde .. c.macron .. c.breve, from = {"<sup>ნ</sup>"}, to = {"ნ"} }, } m["bbm"] = { -- name includes prefix "Babango", 34819, "bnt-bta", "Latn", } m["bbn"] = { "tiếng Uneapa", 7884126, "poz-ocw", "Latn", "Tiếng Uneapa", "Uneapa", } m["bbo"] = { "tiếng Konabéré", 35371, "dmn-snb", "Latn", "Tiếng Konabéré", "Konabéré", } m["bbp"] = { "West Central Banda", 7984377, "bad", "Latn", } m["bbq"] = { "Bamali", 34901, "nic-nun", "Latn", } m["bbr"] = { "Girawa", 5564185, "ngf-mad", "Latn", } m["bbs"] = { "Bakpinka", 3515061, "nic-ucr", "Latn", } m["bbt"] = { "Mburku", 3441324, "cdc-wst", "Latn", } m["bbu"] = { "Bakulung", 35580, "nic-jrn", "Latn", } m["bbv"] = { "Karnai", 6372803, "poz-ocw", "Latn", } m["bbw"] = { "Baba", 34822, "nic-nun", "Latn", } m["bbx"] = { -- cf bvb "Bubia", 34953, "nic-bds", "Latn", ancestors = "bvb", } m["bby"] = { "Befang", 34960, "nic-bds", "Latn", } m["bca"] = { "tiếng Bạch Trung", 12628803, "sit-bai", "Hani, Latn", "Tiếng Bạch Trung", "Bạch Trung", sort_key = {Hani = "Hani-sortkey"}, } m["bcb"] = { "Bainouk-Samik", 36390, "alv-bny", "Latn", } m["bcd"] = { "North Babar", 7054041, "poz-tim", "Latn", } m["bce"] = { "Bamenyam", 34968, "nic-nun", "Latn", } m["bcf"] = { "Bamu", 3503788, "paa-kiw", "Latn", } m["bcg"] = { "Baga Pokur", 31172660, "alv-nal", "Latn", } m["bch"] = { "Bariai", 2884502, "poz-ocw", "Latn", } m["bci"] = { "tiếng Baoule", 35107, "alv-ctn", "Latn", "Tiếng Baoule", "Baoule", } m["bcj"] = { "Bardi", 3913852, "aus-nyu", "Latn", } m["bck"] = { "Bunaba", 580923, "aus-bub", "Latn", } m["bcl"] = { "tiếng Trung Bikol", 33284, "phi", "Latn, Tglg", "Tiếng Trung Bikol", "Trung Bikol", translit = { Tglg = "bcl-translit", }, override_translit = true, entry_name = { Latn = { remove_diacritics = c.grave .. c.acute .. c.circ, } }, sort_key = { Latn = "tl-sortkey", }, standardChars = { Latn = "AaBbKkDdEeGgHhIiLlMmNnOoPpRrSsTtUuWwYy" .. c.punc, }, } m["bcm"] = { "Banoni", 2882857, "poz-ocw", "Latn", } m["bcn"] = { "Bibaali", 34892, "alv-mye", "Latn", } m["bco"] = { "Kaluli", 6354586, "ngf", "Latn", } m["bcp"] = { "tiếng Bali (Cộng hòa Dân chủ Congo)", 3515074, "bnt-kbi", "Latn", "Tiếng Bali (Cộng hòa Dân chủ Congo)", "Bali (Cộng hòa Dân chủ Congo)", } m["bcq"] = { "tiếng Bench", 35108, "omv", "Latn, Ethi", "Tiếng Bench", "Bench", } m["bcr"] = { "Babine-Witsuwit'en", 27864, "ath-nor", "Latn", } m["bcs"] = { "Kohumono", 35590, "nic-ucn", "Latn", } m["bct"] = { "Bendi", 8836662, "csu-mle", "Latn", } m["bcu"] = { "Biliau", 2874658, "poz-ocw", "Latn", } m["bcv"] = { "Shoo-Minda-Nye", 36548, "nic-jkn", "Latn", } m["bcw"] = { "tiếng Bana", 56272, "cdc-cbm", "Latn", "Tiếng Bana", "Bana", } m["bcy"] = { "tiếng Bacama", 56274, "cdc-cbm", "Latn", "Tiếng Bacama", "Bacama", } m["bcz"] = { "Bainouk-Gunyaamolo", 35506, "alv-bny", "Latn", } m["bda"] = { "Bayot", 35019, "alv-jol", "Latn", } m["bdb"] = { "Basap", 3504208, "poz-bnn", "Latn", } m["bdc"] = { "Emberá-Baudó", 11173166, "sai-chc", "Latn", } m["bdd"] = { "tiếng Bunama", 4997416, "poz-ocw", "Latn", } m["bde"] = { "tiếng Bade", 56239, "cdc-wst", "Latn", "Tiếng Bade", "Bade", } m["bdf"] = { "Biage", 48037487, "ngf", "Latn", } m["bdg"] = { "Bonggi", 2910053, "poz-bnn", "Latn", } m["bdh"] = { "tiếng Tara Baka", 2880165, "csu-bbk", "Latn", "Tiếng Tara Baka", "Tara Baka", } m["bdi"] = { "Burun", 35040, "sdv-niw", "Latn", } m["bdj"] = { "Bai", 34894, "nic-ser", "Latn", } m["bdk"] = { "tiếng Budukh", 35397, "cau-ssm", "Cyrl", "Tiếng Budukh", "Budukh", translit = "cau-nec-translit", override_translit = true, display_text = {Cyrl = s["cau-Cyrl-displaytext"]}, entry_name = {Cyrl = s["cau-Cyrl-entryname"]}, } m["bdl"] = { "Indonesian Bajau", 2880038, "poz", "Latn", } m["bdm"] = { "Buduma", 56287, "cdc-cbm", "Latn", } m["bdn"] = { "Baldemu", 56280, "cdc-cbm", "Latn", } m["bdo"] = { "Morom", 759770, "csu-bgr", "Latn", } m["bdp"] = { "Bende", 8836490, "bnt", "Latn", } m["bdq"] = { "tiếng Ba Na", 32924, "mkh-ban", "Latn", "Tiếng Ba Na", "Ba Na", } m["bdr"] = { "tiếng Tây Duyên hải Bajau", 2880037, "poz-sbj", "Latn", "Tiếng Tây Duyên hải Bajau", "Tây Duyên hải Bajau", } m["bds"] = { "tiếng Burunge", 56617, "cus-sou", "Latn", "Tiếng Burunge", "Burunge", } m["bdt"] = { "Bokoto", 4938812, "alv-gbw", "Latn", } m["bdu"] = { "Oroko", 36278, "bnt-saw", "Latn", } m["bdv"] = { "tiếng Bodo Parja", 8845881, "inc-eas", "Orya", "Tiếng Bodo Parja", "Bodo Parja", translit = "or-translit", } m["bdw"] = { "Baham", 3513309, "paa", "Latn", } m["bdx"] = { "Budong-Budong", 4985158, "poz-ssw", "Latn", } m["bdy"] = { "tiếng Bandjalang", 2980386, "aus-pam", "Latn", "Tiếng Bandjalang", "Bandjalang", } m["bdz"] = { "Badeshi", 33028, "inc-wes", ancestors = "noe", } m["bea"] = { "tiếng Beaver", 20826, "ath-nor", "Latn, Cans", "Tiếng Beaver", "Beaver", } m["beb"] = { "Bebele", 34976, "bnt-btb", "Latn", } m["bec"] = { "Iceve-Maci", 35449, "nic-tvc", "Latn", } m["bed"] = { "Bedoanas", 4879330, "poz-hce", "Latn", } m["bee"] = { "Byangsi", 56904, "sit-alm", "Deva", } m["bef"] = { "Benabena", 2895638, "paa-kag", "Latn", } m["beg"] = { "Belait", 2894198, "poz-swa", "Latn", } m["beh"] = { "Biali", 34961, "nic-eov", "Latn", } m["bei"] = { "Bekati'", 3441683, "day", "Latn", } m["bej"] = { "tiếng Beja", 33025, "cus", "Arab, Latn", "Tiếng Beja", "Beja", } m["bek"] = { "Bebeli", 4878430, "poz-ocw", "Latn", } m["bem"] = { "tiếng Bemba", 33052, "bnt-sbi", "Latn", "Tiếng Bemba", "Bemba", } m["beo"] = { "Beami", 3504079, "paa", "Latn", } m["bep"] = { "Besoa", 8840465, "poz-kal", "Latn", } m["beq"] = { "Beembe", 3196320, "bnt-kng", "Latn", } m["bes"] = { "Besme", 289832, "alv-kim", "Latn", } m["bet"] = { "Guiberoua Bété", 11019185, "kro-bet", "Latn", } m["beu"] = { "tiếng Blagar", 4923846, "ngf", "Latn", "Tiếng Blagar", "Blagar", } m["bev"] = { "Daloa Bété", 11155819, "kro-bet", "Latn", } m["bew"] = { "tiếng Betawi", 33014, "crp", "Latn", "Tiếng Betawi", "Betawi", ancestors = "ms", } m["bex"] = { "Jur Modo", 56682, "csu-bbk", "Latn", } m["bey"] = { "Akuwagel", 3504170, "qfa-tor", "Latn", } m["bez"] = { "Kibena", 2502949, "bnt-bki", "Latn", } m["bfa"] = { "tiếng Bari", 35042, "sdv-bri", "Latn", "Tiếng Bari", "Bari", } m["bfb"] = { "Pauri Bareli", 7155462, "inc-bhi", "Deva", } m["bfc"] = { "Panyi Bai", 12642165, "sit-nba", "Hani, Latn", sort_key = {Hani = "Hani-sortkey"}, } m["bfd"] = { "Bafut", 34888, "nic-nge", "Latn", } m["bfe"] = { "Betaf", 4897329, "paa-tkw", "Latn", } m["bff"] = { "Bofi", 34914, "alv-gbf", "Latn", } m["bfg"] = { "Busang Kayan", 9231909, "poz", "Latn", } m["bfh"] = { "Blafe", 12628007, "paa", "Latn", } m["bfi"] = { "British Sign Language", 33000, "sgn", "Latn", -- when documented } m["bfj"] = { "Bafanji", 34890, "nic-nun", "Latn", } m["bfk"] = { "Ban Khor Sign Language", 3441103, "sgn", } m["bfl"] = { "Banda-Ndélé", 34850, "bad-cnt", "Latn", } m["bfm"] = { "Mmen", 36132, "nic-rnc", "Latn", } m["bfn"] = { "Bunak", 35101, "ngf", "Latn", } m["bfo"] = { "Malba Birifor", 11150710, "nic-mre", "Latn", } m["bfp"] = { "Beba", 35050, "nic-nge", "Latn", } m["bfq"] = { "tiếng Badaga", 33205, "dra-kan", "Knda, Mlym", "Tiếng Badaga", "Badaga", translit = { Knda = "kn-translit", Mlym = "ml-translit", }, } m["bfr"] = { "Bazigar", 8829558, "inc", } m["bfs"] = { "tiếng Bạch Nam", 12952250, "sit-bai", "Hani, Latn", "Tiếng Bạch Nam", "Bạch Nam", sort_key = {Hani = "Hani-sortkey"}, } m["bft"] = { "tiếng Balti", 33086, "sit-lab", "fa-Arab, Deva, Tibt", "Tiếng Balti", "Balti", translit = { Tibt = "Tibt-translit", }, override_translit = true, display_text = {Tibt = s["Tibt-displaytext"]}, entry_name = {Tibt = s["Tibt-entryname"]}, sort_key = {Tibt = "Tibt-sortkey"}, } m["bfu"] = { "tiếng Gahri", 5516952, "sit-whm", "Takr, Tibt, Deva", "Tiếng Gahri", "Gahri", translit = {Tibt = "Tibt-translit"}, override_translit = true, display_text = {Tibt = s["Tibt-displaytext"]}, entry_name = {Tibt = s["Tibt-entryname"]}, sort_key = {Tibt = "Tibt-sortkey"}, } m["bfw"] = { "tiếng Bondo", 2567942, "mun", "Orya", "Tiếng Bondo", "Bondo" } m["bfx"] = { "tiếng Bantayanon", 16837866, "phi", "Latn", "Tiếng Bantayanon", "Bantayanon", } m["bfy"] = { "Bagheli", 2356364, "inc-hie", "Deva", translit = "hi-translit", } m["bfz"] = { "tiếng Pahari Mahasu", 6733460, "him", "Deva, Takr", "Tiếng Pahari Mahasu", "Pahari Mahasu", translit = { Deva = "hi-translit" }, } m["bga"] = { "Gwamhi-Wuri", 6707102, "nic-knn", "Latn", } m["bgb"] = { "Bobongko", 4935896, "poz-slb", "Latn", } m["bgc"] = { "tiếng Haryanvi", 33410, "inc-hiw", "Deva", "Tiếng Haryanvi", "Haryanvi", ancestors = "inc-ohi", translit = "hi-translit", } m["bgd"] = { "Rathwi Bareli", 7295692, "inc-bhi", "Deva", } m["bge"] = { "Bauria", 4873579, "inc-bhi", "Deva", } m["bgf"] = { "Bangandu", 34938, "alv-gbs", "Latn", } m["bgg"] = { "Bugun", 3514220, "sit-khb", "Latn", } m["bgi"] = { "Giangan", 4842057, "phi", "Latn", } m["bgj"] = { "tiếng Bangolan", 34862, "nic-nun", "Latn", "Tiếng Bangolan", "Bangolan", } m["bgk"] = { "tiếng Bit", 2904868, "mkh-pal", "Latn", -- also Hani? "Tiếng Bit", "Bit" } m["bgl"] = { "Bo", 8845514, "mkh-vie", } m["bgo"] = { "Baga Koga", 35695, "alv-bag", "Latn", } m["bgq"] = { "Bagri", 2426319, "inc-wes", "Deva", ancestors = "raj", } m["bgr"] = { "Bawm Chin", 56765, "tbq-kuk", "Latn", } m["bgs"] = { "Tagabawa", 7675121, "mno", "Latn", } m["bgt"] = { "tiếng Bughotu", 2927723, "poz-sls", "Latn", "Tiếng Bughotu", "Bughotu", } m["bgu"] = { "Mbongno", 36141, "nic-mmb", "Latn", } m["bgv"] = { "Warkay-Bipim", 4915439, "ngf", "Latn", } m["bgw"] = { "tiếng Bhatri", 8841054, "inc-eas", "Deva, Orya", "Tiếng Bhatri", "Bhatri", translit = { Orya = "or-translit" }, } m["bgx"] = { "tiếng Thổ Nhĩ Kỳ Gagauz Balkan", 2360396, "trk-ogz", "Latn", "Tiếng Thổ Nhĩ Kỳ Gagauz Balkan", "Thổ Nhĩ Kỳ Gagauz Balkan", ancestors = "trk-oat", } m["bgy"] = { "Benggoi", 4887742, "poz-cma", "Latn", } m["bgz"] = { "tiếng Banggai", 3441692, "poz-slb", "Latn", "Tiếng Banggai", "Banggai", } m["bha"] = { "Bharia", 4901287, "inc", "Deva", } m["bhb"] = { "tiếng Bhil", 33229, "inc-bhi", "Deva", "Tiếng Bhil", "Bhil", } m["bhc"] = { "Biga", 2902375, "poz-hce", "Latn", } m["bhd"] = { "tiếng Bhadrawah", 4900565, "him", "Arab, Deva, Takr", "Tiếng Bhadrawah", "Bhadrawah", translit = {Deva = "hi-translit"}, } m["bhe"] = { "Bhaya", 8841168, "inc-wes", ancestors = "raj", } m["bhf"] = { "Odiai", 56690, "paa-kwm", "Latn", } m["bhg"] = { "Binandere", 3503802, "ngf", "Latn", } m["bhh"] = { "tiếng Bukhara", 56469, "ira-swi", "Cyrl, Hebr, Latn, fa-Arab", "Tiếng Bukhara", "Bukhara", ancestors = "tg", } m["bhi"] = { "Bhilali", 4901729, "inc-bhi", "Deva", } m["bhj"] = { "tiếng Bahing", 56442, "sit-kiw", "Deva, Latn", "Tiếng Bahing", "Bahing", } m["bhl"] = { "Bimin", 4913743, "ngf-okk", "Latn", } m["bhm"] = { "Bathari", 2586893, "sem-sar", "Arab, Latn", } m["bhn"] = { "tiếng Tân Aram Bohtan", 33230, "sem-nna", "Syrc", "Tiếng Tân Aram Bohtan", "Tân Aram Bohtan", } m["bho"] = { "tiếng Bhojpur", 33268, "inc-eas", "Deva, Kthi", "Tiếng Bhojpur", "Bhojpur", ancestors = "bh", translit = { Deva = "bho-translit", Kthi = "bho-Kthi-translit", }, } m["bhp"] = { "tiếng Bima", 2796873, "poz-cet", "Latn", "Tiếng Bima", "Bima", } m["bhq"] = { "tiếng Tukang Besi Nam", 12643975, "poz-mun", "Latn", "Tiếng Tukang Besi Nam", "Tukang Besi Nam" } m["bhs"] = { "Buwal", 3515065, "cdc-cbm", "Latn", } m["bht"] = { "tiếng Bhattiyat", 4901452, "him", "Deva, Takr", "Tiếng Bhattiyat", "Bhattiyat", } m["bhu"] = { "tiếng Bhunjia", 8841766, "inc-eas", "Deva, Orya", "Tiếng Bhunjia", "Bhunjia", } m["bhv"] = { "Bahau", 3502039, "poz", "Latn", } m["bhw"] = { "Biak", 1961488, "poz-hce", "Latn", } m["bhx"] = { -- spurious? "Bhalay", 8840773, "inc", } m["bhy"] = { "Bhele", 4901671, "bnt-kbi", "Latn", } m["bhz"] = { "Bada", 4840520, "poz-kal", "Latn", } m["bia"] = { "Badimaya", 3442745, "aus-psw", "Latn", } m["bib"] = { "tiếng Bissa", 32934, "dmn-bbu", "Latn", "Tiếng Bissa", "Bissa", } m["bic"] = { "Bikaru", 56342, "paa-eng", "Latn", } m["bid"] = { "Bidiyo", 56258, "cdc-est", "Latn", } m["bie"] = { "Bepour", 4890914, "ngf-mad", "Latn", } m["bif"] = { "Biafada", 35099, "alv-ten", "Latn", } m["big"] = { "Biangai", 8842027, "paa", "Latn", } m["bij"] = { "Kwanka", 35598, "nic-tar", "Latn", } m["bil"] = { "Bile", 34987, "nic-jrn", "Latn", } m["bim"] = { "Bimoba", 34971, "nic-grm", "Latn", } m["bin"] = { "tiếng Edo", 35375, "alv-eeo", "Latn", "Tiếng Edo", "Edo", entry_name = {remove_diacritics = c.acute .. c.grave .. c.macron .. c.dgrave}, sort_key = { from = {"ẹ", "gb", "gh", "kh", "kp", "mw", "nw", "ny", "ọ", "rh", "rr", "vb"}, to = {"e" .. p[1], "g" .. p[1], "g" .. p[2], "k" .. p[1], "k" .. p[2], "m" .. p[1], "n" .. p[1], "n" .. p[2], "o" .. p[1], "r" .. p[1], "r" .. p[1], "v" .. p[1]} }, } m["bio"] = { "Nai", 3508074, "paa-kwm", "Latn", } m["bip"] = { "Bila", 2902626, "bnt-kbi", "Latn", } m["biq"] = { "Bipi", 2904312, "poz-aay", "Latn", } m["bir"] = { "Bisorio", 8844749, "paa-eng", "Latn", } m["bit"] = { "Berinomo", 56447, "paa-spk", "Latn", } m["biu"] = { "Biete", 4904687, "tbq-kuk", "Latn", } m["biv"] = { "Southern Birifor", 32859745, "nic-mre", "Latn", } m["biw"] = { "Kol (Cameroon)", 35582, "bnt-mka", "Latn", } m["bix"] = { "tiếng Birjia", 3450686, "mun", "Deva", "Tiếng Birjia", "Birjia", translit = { Deva = "hi-translit" }, } m["biy"] = { "tiếng Birhor", 3450469, "mun", "Deva", "Tiếng Birhor", "Birhor", translit = { Deva = "hi-translit" }, } m["biz"] = { "Baloi", 3450590, "bnt-ngn", "Latn", } m["bja"] = { "Budza", 3046889, "bnt-bun", "Latn", } m["bjb"] = { "Barngarla", 3439071, "aus-pam", "Latn", } m["bjc"] = { "Bariji", 4690919, "ngf", "Latn", } m["bje"] = { "Biao-Jiao Mien", 3503800, "hmx-mie", "Hani, Latn", sort_key = {Hani = "Hani-sortkey"}, } m["bjf"] = { "tiếng Tân Aram Do Thái Barzani", 33234, "sem-nna", "Hebr", -- maybe others "Tiếng Tân Aram Do Thái Barzani", "Tân Aram Do Thái Barzani", } m["bjg"] = { "Bidyogo", 35365, "alv-bak", "Latn", } m["bjh"] = { "Bahinemo", 56361, "paa-spk", "Latn", } m["bji"] = { "tiếng Burji", 34999, "cus-hec", "Latn, Ethi", "Tiếng Burji", "Burji", } m["bjj"] = { "tiếng Kannauj", 2726867, "inc-hiw", "Deva", "Tiếng Kannauj", "Kannauj", ancestors = "inc-ohi", } m["bjk"] = { "Barok", 2884743, "poz-ocw", "Latn", } m["bjl"] = { "Bulu (New Guinea)", 4997162, "poz-ocw", "Latn", } m["bjm"] = { "Bajelani", 4848866, "ira-zgr", "Latn, Arab", ancestors = "hac", } m["bjn"] = { "tiếng Banjar", 33151, "poz-mly", "Latn, Arab", "Tiếng Banjar", "Banjar", } m["bjo"] = { "Mid-Southern Banda", 42303990, "bad-cnt", "Latn", } m["bjp"] = { "Fanamaket", nil, "poz-oce", "Latn", } m["bjr"] = { "Binumarien", 538364, "paa-kag", "Latn", } m["bjs"] = { "Bajan", 2524014, "crp", "Latn", ancestors = "en", } m["bjt"] = { "tiếng Balanta-Ganja", 19359034, "alv-bak", "Arab, Latn", "Tiếng Balanta-Ganja", "Balanta-Ganja", } m["bju"] = { "Busuu", 35046, "nic-fru", "Latn", } m["bjv"] = { "tiếng Bedjond", 8829831, "csu-sar", "Latn", "Tiếng Bedjond", "Bedjond", } m["bjw"] = { "Bakwé", 34899, "kro-ekr", "Latn", } m["bjx"] = { "Banao Itneg", 12627559, "phi", "Latn", } m["bjy"] = { "Bayali", 4874263, "aus-pam", "Latn", } m["bjz"] = { "Baruga", 2886189, "ngf", "Latn", } m["bka"] = { "Kyak", 35653, "alv-bwj", "Latn", } m["bkc"] = { "Baka", 34905, "nic-nkb", "Latn", } m["bkd"] = { "tiếng Binukid", 4914553, "mno", "Latn", "Tiếng Binukid", "Binukid", } m["bkf"] = { "Beeke", 3441375, "bnt-kbi", "Latn", } m["bkg"] = { "Buraka", 35066, "nic-nkg", "Latn", } m["bkh"] = { "Bakoko", 34866, "bnt-bsa", "Latn", } m["bki"] = { "tiếng Baki", 11024697, "poz-vnc", "Latn", "Tiếng Baki", "Baki", } m["bkj"] = { "Pande", 36263, "bnt-ngn", "Latn", } m["bkk"] = { -- written in Balti script "Brokskat", 2925988, "inc-shn", } m["bkl"] = { "tiếng Berik", 378743, "paa-tkw", "Latn", "Tiếng Berik", "Berik", } m["bkm"] = { "tiếng Itaŋikom", 1656595, "nic-rnc", "Latn", "Tiếng Itaŋikom", "Itaŋikom", } m["bkn"] = { "Bukitan", 3446774, "poz-bnn", "Latn", } m["bko"] = { "Kwa'", 35567, "bai", "Latn", } m["bkp"] = { "Iboko", 35089, "bnt-ngn", "Latn", } m["bkq"] = { "Bakairí", 56846, "sai-pek", "Latn", } m["bkr"] = { "tiếng Bakumpai", 3436626, "poz-brw", "Latn", } m["bks"] = { "Masbate Sorsogon", 16113356, "phi", "Latn", } m["bkt"] = { "tiếng Boloki", 4144560, "bnt-zbi", "Latn", ancestors = "lse", } m["bku"] = { "tiếng Buhid", 1002956, "phi", "Latn, Buhd", "Tiếng Buhid", "Buhid", translit = { Buhd = "bku-translit", }, override_translit = true, entry_name = { Latn = { remove_diacritics = c.grave .. c.acute .. c.circ, } }, sort_key = { Latn = "tl-sortkey", }, standardChars = { Latn = "AaBbKkDdEeFfGgHhIiLlMmNnOoPpRrSsTtUuWwYy" .. c.punc, }, } m["bkv"] = { "Bekwarra", 34954, "nic-ben", "Latn", } m["bkw"] = { "Bekwel", 34950, "bnt-bek", "Latn", } m["bkx"] = { "Baikeno", 11200640, "poz-tim", "Latn", } m["bky"] = { "Bokyi", 35087, "nic-ben", "Latn", } m["bkz"] = { "tiếng Bungku", 2928207, "poz-btk", "Latn", "Tiếng Bungku", "Bungku" } m["bla"] = { "tiếng Blackfoot", 33060, "alg", "Latn, Cans", "Tiếng Blackfoot", "Blackfoot", } m["blb"] = { "tiếng Bilua", 35003, "ngf", "Latn", "Tiếng Bilua", "Bilua", } m["blc"] = { "tiếng Bella Coola", 977808, "sal", "Latn", "Tiếng Bella Coola", "Bella Coola", } m["bld"] = { "Bolango", 3450578, "phi", "Latn", } m["ble"] = { "tiếng Balanta-Kentohe", 56789, "alv-bak", "Latn", "Tiếng Balanta-Kentohe", "Balanta-Kentohe", } m["blf"] = { "Buol", 2928278, "phi", "Latn", } m["blg"] = { "Balau", 4850134, "poz-mly", "Latn", } m["blh"] = { "tiếng Kuwaa", 35579, "kro", "Latn", "Tiếng Kuwaa", "Kuwaa", } m["bli"] = { "Bolia", 34910, "bnt-mon", "Latn", } m["blj"] = { "Bolongan", 9229310, "poz", "Latn", } m["blk"] = { "tiếng Pa'O", 7121294, "kar", "Mymr", "Tiếng Pa'O", "Pa'O", } m["bll"] = { "Biloxi", 2903780, "sio-ohv", "Latn", } m["blm"] = { "tiếng Beli", 56821, "csu-bbk", "Latn", "Tiếng Beli", "Beli", } m["bln"] = { "Southern Catanduanes Bicolano", 7569754, "phi", "Latn", } m["blo"] = { "tiếng Anii", 34838, "alv-ntg", "Latn", "Tiếng Anii", "Anii", } m["blp"] = { "Blablanga", 2905245, "poz-ocw", "Latn", } m["blq"] = { "Baluan-Pam", 2881675, "poz-aay", "Latn", } m["blr"] = { "tiếng Blang", 4925096, "mkh-pal", "Latn, Tale, Lana, Thai", "Tiếng Blang", "Blang", sort_key = { -- FIXME: This needs to be converted into the current standardized format. from = {"[%pᪧๆ]", "[᩠ᩳ-᩿]", "ᩔ", "ᩕ", "ᩖ", "ᩘ", "([ᨭ-ᨱ])ᩛ", "([ᨷ-ᨾ])ᩛ", "ᩤ", "[็-๎]", "([เแโใไ])([ก-ฮ])"}, to = {"", "", "ᩈᩈ", "ᩁ", "ᩃ", "ᨦ", "%1ᨮ", "%1ᨻ", "ᩣ", "", "%2%1"} }, } m["bls"] = { "tiếng Balaesang", 4849796, "poz", "Latn", } m["blt"] = { "tiếng Thái Đen", 56407, "tai-swe", "Tavt, Latn", "Tiếng Thái Đen", "Thái Đen", --translit = "Tavt-translit", sort_key = { Tavt = { from = {"[꪿ꫀ꫁ꫂ]", "([ꪵꪶꪹꪻꪼ])([ꪀ-ꪯ])"}, to = {"", "%2%1"} }, }, } m["blv"] = { "Kibala", 4939959, "bnt-kmb", "Latn", } m["blw"] = { "Balangao", 4850033, "phi", "Latn", } m["blx"] = { "Mag-Indi Ayta", 1931221, "phi", "Latn", } m["bly"] = { "Notre", 11009194, "nic-wov", "Latn", } m["blz"] = { "tiếng Balantak", 4850053, "poz-slb", "Latn", "Tiếng Balantak", "Balantak", } m["bma"] = { "Lame", 3913997, "nic-jrn", "Latn", } m["bmb"] = { "tiếng Bembe", 4885023, "bnt-lgb", "Latn", } m["bmc"] = { "Biem", 4904523, "poz-ocw", "Latn", } m["bmd"] = { "Baga Manduri", 35815, "alv-bag", "Latn", } m["bme"] = { "Limassa", 11004666, "nic-nkb", "Latn", } m["bmf"] = { "Bom", 35088, "alv-mel", "Latn", } m["bmg"] = { "Bamwe", 34867, "bnt-bun", "Latn", } m["bmh"] = { "Kein", 6383764, "ngf-mad", "Latn", } m["bmi"] = { "tiếng Bagirmi", 34903, "csu-bgr", "Latn", "Tiếng Bagirmi", "Bagirmi", } m["bmj"] = { "Bote-Majhi", 9229570, "inc-eas", "Deva", ancestors = "bh", } m["bmk"] = { "Ghayavi", 5555976, "poz-ocw", "Latn", } m["bml"] = { "Bomboli", 35055, "bnt-ngn", "Latn", } m["bmn"] = { "Bina", 8843664, "poz-ocw", "Latn", } m["bmo"] = { "Bambalang", 34868, "nic-nun", "Latn", } m["bmp"] = { "Bulgebi", 4996380, "ngf-fin", "Latn", } m["bmq"] = { "tiếng Bomu", 35065, "nic-bwa", "Latn", "Tiếng Bomu", "Bomu", } m["bmr"] = { "Muinane", 3027894, "sai-bor", "Latn", } m["bmt"] = { "Biao Mon", 8842159, "hmx-mie", } m["bmu"] = { "Somba-Siawari", 5000983, "ngf", "Latn", } m["bmv"] = { "tiếng Bum", 35058, "nic-rnc", "Latn", "Tiếng Bum", "Bum", } m["bmw"] = { "Bomwali", 34984, "bnt-ndb", "Latn", } m["bmx"] = { "Baimak", 3450546, "ngf-mad", "Latn", } m["bmz"] = { "Baramu", 4858315, "ngf", "Latn", } m["bna"] = { "Bonerate", 4941729, "poz-mun", "Latn", } m["bnb"] = { "Bookan", 4943150, "poz-san", "Latn", } m["bnd"] = { "Banda", 3504147, "poz-cma", "Latn", } m["bne"] = { "Bintauna", 4914533, "phi", "Latn", } m["bnf"] = { "Masiwang", 6783305, "poz-cma", "Latn", } m["bng"] = { "Benga", 34952, "bnt-saw", "Latn", } m["bni"] = { "tiếng Bangi", 34936, "bnt-bmo", "Latn", "Tiếng Bangi", "Bangi", } m["bnj"] = { "Eastern Tawbuid", 18757427, "phi", "Latn", } m["bnk"] = { "Bierebo", 2902029, "poz-vnc", "Latn", } m["bnl"] = { "tiếng Boon", 56616, "cus-eas", "Latn", "Tiếng Boon", "Boon", } m["bnm"] = { "Batanga", 34979, "bnt-saw", "Latn", } m["bnn"] = { "tiếng Bunun", 56505, "map", "Latn", "Tiếng Bunun", "Bunun", } m["bno"] = { "tiếng Asi", 29490, "phi", "Latn", "Tiếng Asi", "Asi", } m["bnp"] = { "tiếng Bola", 4938876, "poz-ocw", "Latn", "Tiếng Bola", "Bola", } m["bnq"] = { "Bantik", 2883521, "poz", "Latn", } m["bnr"] = { "Butmas-Tur", 2928942, "poz-vnc", "Latn", } m["bns"] = { "Bundeli", 56399, "inc-hiw", "Deva", ancestors = "inc-ohi", translit = "hi-translit", } m["bnu"] = { "Bentong", 4890644, "poz-ssw", "Latn", } m["bnv"] = { "Beneraf", 4941733, "paa-tkw", "Latn", } m["bnw"] = { "Bisis", 56356, "paa-spk", "Latn", } m["bnx"] = { "Bangubangu", 3438330, "bnt-lbn", "Latn", } m["bny"] = { "Bintulu", 3450775, "poz-swa", "Latn", } m["bnz"] = { "Beezen", 35083, "nic-ykb", "Latn", } m["boa"] = { "tiếng Bora", 2375468, "sai-bor", "Latn", "Tiếng Bora", "Bora", } m["bob"] = { "tiếng Aweer", 56526, "cus-som", "Latn", "Tiếng Aweer", "Aweer", } m["boe"] = { "tiếng Mundabli", 36127, "nic-beb", "Latn", "Tiếng Mundabli", "Mundabli", } m["bof"] = { "Bolon", 3913301, "dmn-emn", "Latn", } m["bog"] = { "Bamako Sign Language", 4853284, "sgn", } m["boh"] = { "North Boma", 35080, "bnt-bdz", "Latn", } m["boi"] = { "Barbareño", 56391, "nai-chu", "Latn", } m["boj"] = { "Anjam", 3504136, "ngf-mad", "Latn", } m["bok"] = { "Bonjo", 34942, "alv", "Latn", } m["bol"] = { "Bole", 3436680, "cdc-wst", "Latn", } m["bom"] = { "Berom", 35013, "nic-beo", "Latn", } m["bon"] = { "Bine", 4914077, "paa", "Latn", } m["boo"] = { "Tiemacèwè Bozo", 12643582, "dmn-snb", "Latn", -- and others? } m["bop"] = { "Bonkiman", 4942134, "ngf-fin", "Latn", } m["boq"] = { "Bogaya", 7207578, "ngf", "Latn", } m["bor"] = { "tiếng Borôro", 32986, "sai-mje", "Latn", "Tiếng Borôro", "Borôro", } m["bot"] = { "tiếng Bongo", 2910067, "csu-bbk", "Latn", } m["bou"] = { "Bondei", 4941378, "bnt-seu", "Latn", } m["bov"] = { "tiếng Tuwuli", 36974, "alv-ktg", "Latn", "Tiếng Tuwuli", "Tuwuli", } m["bow"] = { "Rema", 7311502, "paa", "Latn", } m["box"] = { "Buamu", 35157, "nic-bwa", "Latn", } m["boy"] = { "Bodo (Central Africa)", 4936715, "bnt-leb", "Latn", } m["boz"] = { "Tiéyaxo Bozo", 32860401, "dmn-snb", "Latn", } m["bpa"] = { "Dakaka", 1157729, "poz-vnc", "Latn", } m["bpd"] = { "Banda-Banda", 3450674, "bad-cnt", "Latn", } m["bpg"] = { "Bonggo", 4941860, "poz-ocw", "Latn", } m["bph"] = { "tiếng Botlikh", 56560, "cau-and", "Cyrl", "Tiếng Botlikh", "Botlikh", translit = "cau-nec-translit", override_translit = true, display_text = {Cyrl = s["cau-Cyrl-displaytext"]}, entry_name = {Cyrl = s["cau-Cyrl-entryname"]}, } m["bpi"] = { "Bagupi", 3450697, "ngf-mad", "Latn", } m["bpj"] = { "Binji", 4914403, "bnt-lbn", "Latn", } m["bpk"] = { "Orowe", 7103905, "poz-cln", "Latn", } m["bpl"] = { "Broome Pearling Lugger Pidgin", 4975277, "crp", "Latn", ancestors = "ms", } m["bpm"] = { "Biyom", 4919327, "ngf-mad", "Latn", } m["bpn"] = { "Dzao Min", 3042189, "hmx-mie", } m["bpo"] = { "Anasi", 11207813, "paa-egb", "Latn", } m["bpp"] = { "Kaure", 20526532, "paa", "Latn", } m["bpq"] = { "Banda Malay", 12473442, "crp", "Latn", ancestors = "ms", } m["bpr"] = { "Koronadal Blaan", 16115430, "phi", "Latn", } m["bps"] = { "Sarangani Blaan", 16117272, "phi", "Latn", } m["bpt"] = { "Barrow Point", 2567916, "aus-pmn", "Latn", } m["bpu"] = { "Bongu", 4941930, "ngf-mad", "Latn", } m["bpv"] = { "Bian Marind", 8841889, "ngf", "Latn", } m["bpx"] = { "Palya Bareli", 7128872, "inc-bhi", "Deva", translit = "hi-translit", } m["bpy"] = { "tiếng Bishnupriya", 37059, "inc-eas", "Beng", "Tiếng Bishnupriya", "Bishnupriya", ancestors = "inc-obn", } m["bpz"] = { "Bilba", 8843362, "poz-tim", "Latn", } m["bqa"] = { "Tchumbuli", 11008162, "alv-ctn", "Latn", ancestors = "ak", } m["bqb"] = { "Bagusa", 4842178, "paa-tkw", "Latn", } m["bqc"] = { "tiếng Boko", 34983, "dmn-bbu", "Latn", "Tiếng Boko", "Boko", } m["bqd"] = { "Bung", 3436612, "nic-bdn", "Latn", } m["bqf"] = { "Baga Kaloum", 3502293, "alv-bag", "Latn", } m["bqg"] = { "Bago-Kusuntu", 34878, "nic-gne", } m["bqh"] = { "Baima", 674990, "sit-qia", } m["bqi"] = { "tiếng Bakhtiari", 257829, "ira-swi", "fa-Arab", "Tiếng Bakhtiari", "Bakhtiari", ancestors = "pal", } m["bqj"] = { "Bandial", 34872, "alv-jol", "Latn", } m["bqk"] = { "Banda-Mbrès", 3450724, "bad-cnt", "Latn", } m["bql"] = { "Bilakura", 4907504, "ngf-mad", "Latn", } m["bqm"] = { "Wumboko", 37051, "bnt-kpw", "Latn", } m["bqn"] = { "Bulgarian Sign Language", 3438325, "sgn", } m["bqo"] = { "Balo", 34865, "nic-grs", "Latn", } m["bqp"] = { "tiếng Busa", 35185, "dmn-bbu", "Latn", "Tiếng Busa", "Busa", } m["bqq"] = { "Biritai", 56382, "paa-lkp", "Latn", } m["bqr"] = { "Burusu", 5001028, "poz-san", "Latn", } m["bqs"] = { "Bosngun", 56838, "paa", "Latn", } m["bqt"] = { "Bamukumbit", 35078, "nic-nge", "Latn", } m["bqu"] = { "Boguru", 3438444, "bnt-boa", "Latn", } m["bqv"] = { "Begbere-Ejar", 7194098, "nic-plc", "Latn", } m["bqw"] = { "Buru (Nigeria)", 1017152, "nic-bds", "Latn", } m["bqx"] = { "Baangi", 3450648, "nic-kam", "Latn", } m["bqy"] = { "Bengkala Sign Language", 3322119, "sgn", } m["bqz"] = { "tiếng Bakaka", 34855, "bnt-mne", "Latn", "Tiếng Bakaka", "Bakaka", } m["bra"] = { "tiếng Braj", 35243, "inc-hiw", "Deva", "Tiếng Braj", "Braj", ancestors = "inc-ohi", translit = "hi-translit", } m["brb"] = { "tiếng Brâu", 4957737, "mkh-ban", "Khmr, Latn", "Tiếng Brâu", "Brâu" } m["brc"] = { "tiếng Creole Hà Lan Berbice", 35215, "crp", "Latn", "Tiếng Creole Hà Lan Berbice", "Creole Hà Lan Berbice", ancestors = "nl", } m["brd"] = { "Baraamu", 56804, "sit-new", "Deva", } m["brf"] = { "Bera", 2896850, "bnt-kbi", "Latn", } m["brg"] = { "Baure", 2839722, "awd", "Latn", } m["brh"] = { "tiếng Brahui", 33202, "dra-nor", "ur-Arab, Latn", "Tiếng Brahui", "Brahui", translit = {["ur-Arab"] = "ur-translit"}, entry_name = { -- character "ۂ" code U+06C2 to "ه" and "هٔ"‎ (U+0647 + U+0654) to "ه"; hamzatu l-waṣli to a regular alif from = {"هٔ", "ۂ", "ٱ"}, to = {"ہ", "ہ", "ا"}, remove_diacritics = c.fathatan .. c.dammatan .. c.kasratan .. c.fatha .. c.damma .. c.kasra .. c.shadda .. c.sukun .. c.nunghunna .. c.superalef }, } m["bri"] = { "Mokpwe", 36428, "bnt-kpw", "Latn", } m["brj"] = { "Bieria", 4904607, "poz-vnc", "Latn", } m["brk"] = { "Birgid", 56823, "nub", "Latn", } m["brl"] = { "Birwa", 3501019, "bnt-sts", "Latn", } m["brm"] = { "Barambu", 34893, "znd", "Latn", } m["brn"] = { "Boruca", 4946773, "cba", "Latn", } m["bro"] = { "tiếng Brokkat", 56605, "sit-tib", "Tibt, Latn", "Tiếng Brokkat", "Brokkat", translit = {Tibt = "Tibt-translit"}, override_translit = true, display_text = {Tibt = s["Tibt-displaytext"]}, entry_name = {Tibt = s["Tibt-entryname"]}, sort_key = {Tibt = "Tibt-sortkey"}, } m["brp"] = { "Barapasi", 56995, "paa-egb", "Latn", } m["brq"] = { "tiếng Breri", 4961835, "paa", "Latn", "Tiếng Breri", "Breri", } m["brr"] = { "tiếng Birao", 2904383, "poz-sls", "Latn", "Tiếng Birao", "Birao", } m["brs"] = { "Baras", 8827053, "poz", "Latn", } m["brt"] = { "Bitare", 34946, "nic-tvn", "Latn", } m["bru"] = { "tiếng Bru", 16115463, "mkh-kat", "Latn, Laoo, Thai", "Tiếng Bru", "Bru", sort_key = { Laoo = "Laoo-sortkey", Thai = "Thai-sortkey", }, } m["brv"] = { "tiếng Bru Tây", 16113806, "mkh-kat", "Latn, Laoo, Thai", "Tiếng Bru Tây", "Bru Tây", sort_key = { Laoo = "Laoo-sortkey", Thai = "Thai-sortkey", }, } m["brw"] = { "tiếng Bellara", 4883496, "dra-tlk", "Knda, Mlym", "Tiếng Bellara", "Bellara", translit = { Knda = "kn-translit", Mlym = "ml-translit", }, } m["brx"] = { "tiếng Bodo (Ấn Độ)", 33223, "tbq-bdg", "Deva, Latn, Beng", "Tiếng Bodo (Ấn Độ)", "Bodo (Ấn Độ)", translit = {Deva = "brx-translit"}, } m["bry"] = { "Burui", 5000976, "paa-spk", "Latn", } m["brz"] = { "Bilbil", 4907473, "poz-ocw", "Latn", } m["bsa"] = { "tiếng Abinomn", 56648, "qfa-iso", "Latn", "Tiếng Abinomn", "Abinomn", } m["bsb"] = { "Brunei Bisaya", 3450611, "poz-san", "Latn", } m["bsc"] = { "tiếng Bassari", 35098, "alv-ten", "Latn", "Tiếng Bassari", "Bassari", } m["bse"] = { "Wushi", 36973, "nic-rnn", "Latn", } m["bsf"] = { "Bauchi", 34974, "nic-shi", "Latn", } m["bsg"] = { "Bashkardi", 33030, "ira-swi", "fa-Arab, Latn", } m["bsh"] = { "Kamkata-viri", 2605045, "nur-nor", "Latn, Arab", } m["bsi"] = { "Bassossi", 34940, "bnt-mne", "Latn", } m["bsj"] = { "Bangwinji", 3446631, "alv-wjk", "Latn", } m["bsk"] = { "tiếng Burushaski", 216286, "qfa-iso", "Arab", "Tiếng Burushaski", "Burushaski", } m["bsl"] = { "Basa-Gumna", 4866150, "nic-bas", "Latn", } m["bsm"] = { "Busami", 5001255, "poz-hce", "Latn", } m["bsn"] = { "Barasana", 2883843, "sai-tuc", "Latn", } m["bso"] = { "Buso", 3441370, "cdc-est", "Latn", } m["bsp"] = { "Baga Sitemu", 36466, "alv-bag", "Latn", } m["bsq"] = { "tiếng Bassa", 34949, "kro-wkr", "Latn, Bass", "Tiếng Bassa", "Bassa", } m["bsr"] = { "Bassa-Kontagora", 4866152, "nic-bas", "Latn", } m["bss"] = { "tiếng Akoose", 34806, "bnt-mne", "Latn", "Tiếng Akoose", "Akoose", } m["bst"] = { "tiếng Basketo", 56531, "omv-ome", "Ethi", "Tiếng Basketo", "Basketo", } m["bsu"] = { "Bahonsuai", 2879298, "poz-btk", "Latn", } m["bsv"] = { "Baga Sobané", 3450433, "alv-bag", "Latn", } m["bsw"] = { "tiếng Baiso", 56615, "cus-som", "Latn", "Tiếng Baiso", "Baiso", } m["bsx"] = { "Yangkam", 36922, "nic-tar", "Latn", } m["bsy"] = { "tiếng Bisaya Sabah", 12641557, "poz-san", "Latn", "Tiếng Bisaya Sabah", "Bisaya Sabah", } m["bta"] = { "Bata", 56254, "cdc-cbm", "Latn", } m["btc"] = { "Bati (Cameroon)", 34944, "nic-mbw", "Latn", } m["btd"] = { "Dairi Batak", 2891045, "btk", "Latn, Batk", } m["bte"] = { "Gamo-Ningi", 5520366, "nic-jer", "Latn", } m["btf"] = { "tiếng Birgit", 56302, "cdc-est", "Latn", "Tiếng Birgit", "Birgit", } m["btg"] = { "Gagnoa Bété", 11005602, "kro-bet", "Latn", } m["bth"] = { "tiếng Bidayuh Biatah", 2900881, "day", "Latn", "Tiếng Bidayuh Biatah", "Bidayuh Biatah", } m["bti"] = { "Burate", 56900, "paa-egb", "Latn", } m["btj"] = { "tiếng Mã Lai Bacan", 8828608, "poz-mly", "Latn", "Tiếng Mã Lai Bacan", "Mã Lai Bacan", } m["btm"] = { "Mandailing Batak", 2891049, "btk", "Latn, Batk", } m["btn"] = { "tiếng Ratagnon", 13197, "phi", "Latn", "Tiếng Ratagnon", "Ratagnon", } m["bto"] = { "Iriga Bicolano", 12633026, "phi", "Latn", } m["btp"] = { "Budibud", 4985086, "poz-ocw", "Latn", } m["btq"] = { "tiếng Batek", 860315, "mkh-asl", "Latn", "Tiếng Batek", "Batek" } m["btr"] = { "Baetora", 2878874, "poz-vnc", "Latn", } m["bts"] = { "tiếng Batak Simalungun", 2891054, "btk", "Latn, Batk", "Tiếng Batak Simalungun", "Batak Simalungun", } m["btt"] = { "Bete-Bendi", 4887064, "nic-ben", "Latn", } m["btu"] = { "Batu", 34964, "nic-tvn", "Latn", } m["btv"] = { "Bateri", 3812564, "inc-koh", "Deva", } m["btw"] = { "tiếng Butuanon", 5003156, "phi", "Latn", "Tiếng Butuanon", "Butuanon", } m["btx"] = { "Karo Batak", 33012, "btk", "Latn, Batk", } m["bty"] = { "Bobot", 3446788, "poz-cma", "Latn", } m["btz"] = { "Alas-Kluet Batak", 2891042, "btk", "Latn, Batk", } m["bua"] = { "tiếng Buryat", 33120, "xgn-cen", "Cyrl, Mong, Latn", "Tiếng Buryat", "Buryat", wikimedia_codes = "bxr", ancestors = "cmg", translit = { Cyrl = "bua-translit", Mong = "Mong-translit", }, override_translit = true, display_text = {Mong = s["Mong-displaytext"]}, entry_name = { Cyrl = {remove_diacritics = c.grave .. c.acute}, Mong = s["Mong-entryname"], }, sort_key = { Cyrl = { from = {"ё", "ө", "ү", "һ"}, to = {"е" .. p[1], "о" .. p[1], "у" .. p[1], "х" .. p[1]} }, }, } m["bub"] = { "Bua", 32928, "alv-bua", "Latn", } m["buc"] = { "tiếng Bushi", 32928, "poz-bre", "Latn, Arab", "Tiếng Bushi", "Bushi" } m["bud"] = { "tiếng Ntcham", 36266, "nic-grm", "Latn", "Tiếng Ntcham", "Ntcham", } m["bue"] = { "Beothuk", 56234, nil, "Latn", } m["buf"] = { "Bushoong", 3449964, "bnt-bsh", "Latn", } m["bug"] = { "tiếng Bugis", 33190, "poz-ssw", "Bugi, Latn", "Tiếng Bugis", "Bugis", } m["buh"] = { "Younuo Bunu", 56299, "hmn", "Latn", } m["bui"] = { "Bongili", 35084, "bnt-ngn", "Latn", } m["buj"] = { "Basa-Gurmana", 6432515, "nic-bas", "Latn", } m["buk"] = { "Bukawa", 35043, "poz-ocw", "Latn", } m["bum"] = { "Bulu (Cameroon)", 35028, "bnt-btb", "Latn", } m["bun"] = { "Sherbro", 36339, "alv-mel", "Latn", } m["buo"] = { "Terei", 56831, "paa-sbo", "Latn", } m["bup"] = { "Busoa", 5002001, "poz", "Latn", } m["buq"] = { "tiếng Brem", 4960502, "ngf", "Latn", } m["bus"] = { "tiếng Bokobaru", 9228931, "dmn-bbu", "Latn", "Tiếng Bokobaru", "Bokobaru", } m["but"] = { "Bungain", 3450623, "qfa-tor", "Latn", } m["buu"] = { "tiếng Budu", 3450207, "bnt-nya", "Latn", "Tiếng Budu", "Budu", } m["buv"] = { "Bun", 56351, "paa-yua", "Latn", } m["buw"] = { "Bubi", 35017, "bnt-tso", "Latn", } m["bux"] = { "tiếng Boghom", 3440412, "cdc-wst", "Latn", "Tiếng Boghom", "Boghom", } m["buy"] = { "Mmani", 35061, "alv-mel", "Latn", } m["bva"] = { "Barein", 56285, "cdc-est", "Latn", } m["bvb"] = { "tiếng Bube", 35110, "nic-bds", "Latn", "Tiếng Bube", "Bube", } m["bvc"] = { "Baelelea", 2878833, "poz-sls", "Latn", } m["bvd"] = { "Baeggu", 2878850, "poz-sls", "Latn", } m["bve"] = { "Berau Malay", 3915770, "poz-mly", "Latn", } m["bvf"] = { "Boor", 56250, "cdc-est", "Latn", } m["bvg"] = { "Bonkeng", 34958, "bnt-bbo", "Latn", } m["bvh"] = { "Bure", 56294, "cdc-wst", "Latn", } m["bvi"] = { "Belanda Viri", 35247, "nic-ser", "Latn", } m["bvj"] = { "Baan", 3515067, "nic-ogo", "Latn", } m["bvk"] = { "Bukat", 4986814, "poz-bnn", "Latn", } m["bvl"] = { "Bolivian Sign Language", 1783590, "sgn", "Latn", -- when documented } m["bvm"] = { "Bamunka", 34882, "nic-rnn", "Latn", } m["bvn"] = { "Buna", 3450516, "qfa-tor", "Latn", } m["bvo"] = { "Bolgo", 35038, "alv-bua", "Latn", } m["bvp"] = { "tiếng Bố Mang", 4997235, "mkh-pal", nil, "Tiếng Bố Mang", "Bố Mang" } m["bvq"] = { "Birri", 56514, "csu-bkr", "Latn", } m["bvr"] = { "Burarra", 4998124, "aus-arn", "Latn", } m["bvt"] = { "Bati (Indonesia)", 4869253, "poz-cma", "Latn", } m["bvu"] = { "Bukit Malay", 9230148, "poz-mly", "Latn", } m["bvv"] = { "Baniva", 3515198, "awd", "Latn", } m["bvw"] = { "Boga", 56262, "cdc-cbm", "Latn", } m["bvx"] = { "Babole", 35180, "bnt-ngn", "Latn", } m["bvy"] = { "Baybayanon", 16839275, "phi", "Latn", } m["bvz"] = { "Bauzi", 56360, "paa-egb", "Latn", } m["bwa"] = { "Bwatoo", 9232446, "poz-cln", "Latn", } m["bwb"] = { "Namosi-Naitasiri-Serua", 3130290, "poz-occ", "Latn", } m["bwc"] = { "Bwile", 3447440, "bnt-sbi", "Latn", } m["bwd"] = { "Bwaidoka", 2929111, "poz-ocw", "Latn", } m["bwe"] = { "tiếng Karen Bwe", 56994, "kar", "Mymr", "Tiếng Karen Bwe", "Karen Bwe", } m["bwf"] = { "Boselewa", 4947229, "poz-ocw", "Latn", } m["bwg"] = { "Barwe", 8826802, "bnt-sna", "Latn", } m["bwh"] = { "Bishuo", 34973, "nic-fru", "Latn", } m["bwi"] = { "Baniwa", 3501735, "awd-nwk", "Latn", } m["bwj"] = { "tiếng Láá Láá Bwamu", 11017275, "nic-bwa", "Latn", "Tiếng Láá Láá Bwamu", "Láá Láá Bwamu", } m["bwk"] = { "Bauwaki", 4873607, "ngf", "Latn", } m["bwl"] = { "Bwela", 5003678, "bnt-bun", "Latn", } m["bwm"] = { "Biwat", 56352, "paa-yua", "Latn", } m["bwn"] = { "Wunai Bunu", 56452, "hmn", } m["bwo"] = { "tiếng Shinasha", 56260, "omv-gon", "Latn", "Tiếng Shinasha", "Shinasha", } m["bwp"] = { "Mandobo Bawah", 12636155, "ngf", "Latn", } m["bwq"] = { "Southern Bobo", 11001714, "dmn-snb", "Latn", } m["bwr"] = { "Bura", 56552, "cdc-cbm", "Latn", } m["bws"] = { "Bomboma", 9229429, "bnt-bun", "Latn", } m["bwt"] = { "Bafaw", 34853, "bnt-bbo", "Latn", } m["bwu"] = { "Buli (Ghana)", 35085, "nic-buk", "Latn", } m["bww"] = { "Bwa", 3515058, "bnt-bta", "Latn", } m["bwx"] = { "Bu-Nao Bunu", 56411, "hmn", "Latn", } m["bwy"] = { "Cwi Bwamu", 11150714, "nic-bwa", "Latn", } m["bwz"] = { "Bwisi", 35067, "bnt-sir", "Latn", } m["bxa"] = { "Bauro", 2892068, "poz-sls", "Latn", } m["bxb"] = { "Belanda Bor", 56678, "sdv-lon", "Latn", } m["bxc"] = { "Molengue", 13345, "bnt-kel", "Latn", } m["bxd"] = { "tiếng Pela", 57000, "tbq-brm", nil, "Tiếng Pela", "Pela", } m["bxe"] = { "tiếng Ongota", 36344, "qfa-unc", -- moribund, no academic consensus on classification; might be an isolate "Latn", } m["bxf"] = { "Bilur", 2903788, "poz-ocw", "Latn", } m["bxg"] = { "Bangala", 34989, "bnt-bmo", "Latn", } m["bxh"] = { "Buhutu", 4986329, "poz-ocw", "Latn", } m["bxi"] = { "Pirlatapa", 10632195, "aus-kar", "Latn", } m["bxj"] = { "Bayungu", 10427485, "aus-psw", "Latn", } m["bxk"] = { "Bukusu", 32930, "bnt-msl", "Latn", } m["bxl"] = { "Jalkunan", 11009787, "dmn-jje", "Latn", } m["bxn"] = { "Burduna", 4998313, "aus-psw", "Latn", } m["bxo"] = { "Barikanchi", 3450802, "crp", "Latn", ancestors = "ha", } m["bxp"] = { "Bebil", 34941, "bnt-btb", "Latn", } m["bxq"] = { "Beele", 56238, "cdc-wst", "Latn", } m["bxs"] = { "Busam", 35189, "nic-grs", "Latn", } m["bxv"] = { "Berakou", 56796, "csu-bgr", "Latn", } m["bxw"] = { "Banka", 3438402, "dmn-smg", "Latn", } m["bxz"] = { "Binahari", 4913840, "ngf", "Latn", } m["bya"] = { "Palawan Batak", 3450443, "phi", "Tagb", } m["byb"] = { "Bikya", 33257, "nic-fru", "Latn", } m["byc"] = { "Ubaghara", 36625, "nic-ucn", "Latn", } m["byd"] = { "Benyadu'", 11173588, "day", "Latn", } m["bye"] = { "Pouye", 7235814, "paa-spk", "Latn", } m["byf"] = { "Bete", 32932, "nic-ykb", "Latn", } m["byg"] = { "Baygo", 56836, "sdv-daj", "Latn", } m["byh"] = { "Bujhyal", 56317, "sit-gma", "Deva", } m["byi"] = { "tiếng Buyu", 5003401, "bnt-nyb", "Latn", "Tiếng Buyu", "Buyu", } m["byj"] = { "Binawa", 4913807, "nic-kau", "Latn", } m["byk"] = { "Biao", 4902547, "qfa-tak", "Latn", -- also Hani? } m["byl"] = { "Bayono", 3503856, "ngf", "Latn", } m["bym"] = { "Bidyara", 8842355, "aus-pam", "Latn", } m["byn"] = { "tiếng Bilen", 56491, "cus-cen", "Ethi, Latn", "Tiếng Bilen", "Bilen", translit = {Ethi = "Ethi-translit"}, } m["byo"] = { "Biyo", 56848, "tbq-bka", "Latn, Hani", sort_key = {Hani = "Hani-sortkey"}, } m["byp"] = { "Bumaji", 4997234, "nic-ben", "Latn", } m["byq"] = { "tiếng Basay", 716647, "map", "Latn", "Tiếng Basay", "Basay", } m["byr"] = { "Baruya", 3450812, "ngf", "Latn", } m["bys"] = { "Burak", 4998097, "alv-bwj", "Latn", } m["byt"] = { "Berti", 35008, "ssa-sah", "Latn", } m["byv"] = { "tiếng Medumba", 36019, "bai", "Latn", "Tiếng Medumba", "Medumba", } m["byw"] = { "tiếng Belhariya", 32961, "sit-kie", "Deva", "Tiếng Belhariya", "Belhariya", } m["byx"] = { "Qaqet", 3503009, "paa-bng", "Latn", } m["byz"] = { "Banaro", 56858, "paa", "Latn", } m["bza"] = { "tiếng Bandi", 34912, "dmn-msw", "Latn", "Tiếng Bandi", "Bandi", } m["bzb"] = { "Andio", 4754487, "poz-slb", "Latn", } m["bzd"] = { "Bribri", 28400, "cba", "Latn", } m["bze"] = { "Jenaama Bozo", 10950633, "dmn-snb", "Latn", } m["bzf"] = { "Boikin", 56829, "paa-spk", "Latn", } m["bzg"] = { "tiếng Babuza", 716615, "map", "Latn", "Tiếng Babuza", "Babuza", } m["bzh"] = { "tiếng Buang Mapos", 2927370, "poz-ocw", "Latn", "Tiếng Buang Mapos", "Buang Mapos", } m["bzi"] = { "tiếng Bisu", 56852, "tbq-bis", "Latn, Thai", "Tiếng Bisu", "Bisu", sort_key = {Thai = "Thai-sortkey"}, } m["bzj"] = { "Belizean Creole", 1363055, "crp", "Latn", ancestors = "en", } m["bzk"] = { "Nicaraguan Creole", 3504097, "crp", "Latn", ancestors = "en", } m["bzl"] = { -- supposedly also called "Bolano", but I can find no evidence of that "Boano (Sulawesi)", 4931258, "poz", "Latn", } m["bzm"] = { "Bolondo", 35071, "bnt-bun", "Latn", } m["bzn"] = { "Boano (Maluku)", 4931255, "poz-cma", "Latn", } m["bzo"] = { "Bozaba", 4952785, "bnt-ngn", "Latn", } m["bzp"] = { "Kemberano", 12634399, "ngf-sbh", "Latn", } m["bzq"] = { "Buli (Indonesia)", 2927952, "poz-hce", "Latn", } m["bzr"] = { "Biri", 4087011, "aus-pam", "Latn", } m["bzs"] = { "Brazilian Sign Language", 3436689, "sgn", "Latn", } m["bzu"] = { "Burmeso", 56746, "paa-wpa", "Latn", } m["bzv"] = { "Bebe", 34977, "nic-bbe", "Latn", } m["bzw"] = { "Basa", 34898, "nic-bas", "Latn", } m["bzx"] = { "Hainyaxo Bozo", 11159536, "dmn-snb", "Latn", } m["bzy"] = { "Obanliku", 36276, "nic-ben", "Latn", } m["bzz"] = { "Evant", 35259, "nic-tvc", "Latn", } return require("Module:languages").finalizeData(m, "language") 2pknvam88iawxizs130b7j0w5t0tokv Mô đun:languages/canonical names 828 273923 2573197 2572749 2026-10-24T13:06:43Z TheHighFighter2 42988 2573197 Scribunto text/plain return { ["Aba"] = "utp", ["Abai Sungai"] = "abf", ["Abenlen Ayta"] = "abp", ["Abipon"] = "axb", ["Abishira"] = "ash", ["Abom"] = "aob", ["Abu"] = "ado", ["Abu' Arapesh"] = "aah", ["Abua"] = "abn", ["Abun"] = "kgr", ["Abung"] = "abl", ["Abureni"] = "mgj", ["Abé"] = "aba", ["Ache"] = "yif", ["Aché"] = "guq", ["Acroá"] = "acs", ["Adabe"] = "adb", ["Adai"] = "xad", ["Adamorobe Sign Language"] = "ads", ["Adang"] = "adn", ["Adangbe"] = "adq", ["Adap"] = "adp", ["Adasen"] = "tiu", ["Adele"] = "ade", ["Adhola"] = "adh", ["Tiếng Adjukru"] = "adj", ["Adithinngithigh"] = "dth", ["Adonara"] = "adr", ["Aduge"] = "adu", ["Aeka"] = "aez", ["Aekyom"] = "awi", ["Aequian"] = "xae", ["Afghan Sign Language"] = "afg", ["Afitti"] = "aft", ["Afra"] = "ulf", ["Afrihili"] = "afh", ["Afro-Seminole Creole"] = "afs", ["Agarabi"] = "agd", ["Agariya"] = "agi", ["Agavotaguerra"] = "avo", ["Aghu"] = "ahh", ["Aghu Tharrnggala"] = "gtu", ["Agi"] = "aif", ["Agob"] = "kit", ["Agoi"] = "ibm", ["Aguano"] = "aga", ["Aguaruna"] = "agr", ["Aguna"] = "aug", ["Agusan Manobo"] = "msm", ["Agutaynen"] = "agn", ["Agwagwune"] = "yay", ["Ahanta"] = "aha", ["Ahirani"] = "ahr", ["Ahwai"] = "nfd", ["Ai-Cham"] = "aih", ["Aighon"] = "aix", ["Aikanã"] = "tba", ["Aiklep"] = "mwg", ["Aimele"] = "ail", ["Ainbai"] = "aic", ["Aiome"] = "aki", ["Airoran"] = "air", ["Aisi"] = "mmq", ["Aiwoo"] = "nfl", ["Aja"] = "aja", ["Ajagua"] = "sai-ajg", ["Ajawa"] = "ajw", ["Ajyíninka Apurucayali"] = "cpc", ["Ak"] = "akq", ["Aka (Central Africa)"] = "axk", ["Aka (Sudan)"] = "soh", ["Aka-Bea"] = "abj", ["Aka-Cari"] = "aci", ["Aka-Kol"] = "aky", ["Aka-Kora"] = "ack", ["Akar-Bale"] = "acl", ["Akatek"] = "knj", ["Ake"] = "aik", ["Akebu"] = "keu", ["Akei"] = "tsr", ["Akeu"] = "aeu", ["Akolet"] = "akt", ["Akoye"] = "miw", ["Akpa"] = "akf", ["Akpes"] = "ibe", ["Akrukay"] = "afi", ["Tiếng Akuku"] = "ayk", ["Akum"] = "aku", ["Akurio"] = "ako", ["Akuwagel"] = "bey", ["Akwa"] = "akw", ["Akyaung Ari"] = "nqy", ["Al-Sayyid Bedouin Sign Language"] = "syy", ["Alabat Island Agta"] = "dul", ["Alacatlatzala Mixtec"] = "mim", ["Alago"] = "ala", ["Alapmunte"] = "apv", ["Alas-Kluet Batak"] = "btz", ["Alazapa"] = "nai-ala", ["Albanian Sign Language"] = "sqk", ["Alege"] = "alf", ["Algerian Sign Language"] = "asp", ["Ali"] = "aiy", ["Alladian"] = "ald", ["Alngith"] = "aid", ["Alo Phola"] = "ypo", ["Alor"] = "aol", ["Aloápam Zapotec"] = "zaq", ["Alu"] = "mte", ["Alugu"] = "aub", ["Tiếng Alune"] = "alp", ["Alungul"] = "aus-alu", ["Aluo"] = "yna", ["Alur"] = "alz", ["Alutiiq"] = "ems", ["Alviri-Vidari"] = "avd", ["Alyawarr"] = "aly", ["Amahai"] = "amq", ["Amanayé"] = "ama", ["Amara"] = "aie", ["Amarakaeri"] = "amr", ["Amarizana"] = "awd-ama", ["Amasi"] = "alv-ama", ["Amatlán Zapotec"] = "zpo", ["Amba"] = "rwm", ["Ambakich"] = "aew", ["Ambala Ayta"] = "abc", ["Ambelau"] = "amv", ["Ambele"] = "ael", ["Amblong"] = "alm", ["Ambo"] = "amb", ["Ambul"] = "apo", ["Amele"] = "aey", ["Amganad Ifugao"] = "ifa", ["Ami"] = "amy", ["Ammonite"] = "sem-amm", ["Amo"] = "amo", ["Amol"] = "alx", ["Amoltepec Mixtec"] = "mbz", ["Amondawa"] = "adw", ["Amorite"] = "sem-amo", ["Ampanang"] = "apg", ["Ampari Dogon"] = "aqd", ["Amri Karbi"] = "ajz", ["Amto"] = "amt", ["Ana Tinga Dogon"] = "dti", ["Anakalangu"] = "akg", ["Anam"] = "pda", ["Anambé"] = "aan", ["Anamgura"] = "imi", ["Anasi"] = "bpo", ["Ancient Ligurian"] = "xlg", ["Ancient North Arabian"] = "xna", ["Ancient Zapotec"] = "xzp", ["Andai"] = "afd", ["Andajin"] = "ajn", ["Andaman Creole Hindi"] = "hca", ["Andaqui"] = "ana", ["Andarum"] = "aod", ["Andegerebinha"] = "adg", ["Andh"] = "anr", ["Andio"] = "bzb", ["Andjingith"] = "aus-and", ["Andoa"] = "anb", ["Andoque"] = "ano", ["Andoquero"] = "sai-and", ["Andra-Hus"] = "anx", ["Aneityum"] = "aty", ["Anem"] = "anz", ["Aneme Wake"] = "aby", ["Anfillo"] = "myo", ["Tiếng Angaataha"] = "agm", ["Angaité"] = "aqt", ["Angal"] = "age", ["Angal Enen"] = "aoe", ["Angal Heneng"] = "akh", ["Angevin"] = "roa-ang", ["Angkamuthi"] = "avm", ["Angkola Batak"] = "akb", ["Angloromani"] = "rme", ["Angor"] = "agg", ["Angoram"] = "aog", ["Angosturas Tunebo"] = "tnd", ["Anguthimri"] = "awg", ["Ani Phowa"] = "ypn", ["Animere"] = "anf", ["Anindilyakwa"] = "aoi", ["Anjam"] = "boj", ["Anmatyerre"] = "amx", ["Anong"] = "nun", ["Anor"] = "anj", ["Anserma"] = "ans", ["Ansus"] = "and", ["Antakarinya"] = "ant", ["Antigua and Barbuda Creole English"] = "aig", ["Anu"] = "anl", ["Anufo"] = "cko", ["Anus"] = "auq", ["Anuta"] = "aud", ["Anyin Morofo"] = "mtb", ["Aoheng"] = "pni", ["Aore"] = "aor", ["Ap Ma"] = "kbx", ["Apalachee"] = "xap", ["Apali"] = "ena", ["Apasco-Apoala Mixtec"] = "mip", ["Apiaká"] = "api", ["Apma"] = "app", ["Apolista"] = "awd-apo", ["Aproumu Aizi"] = "ahp", ["Apurinã"] = "apu", ["Arabana"] = "ard", ["Arabela"] = "arl", ["Aralle-Tabulahan"] = "atq", ["Arammba"] = "stk", ["Aranama-Tamique"] = "xrt", ["Arandai"] = "jbj", ["Araona"] = "aro", ["Arapaso"] = "arj", ["Arara-Karo"] = "arr", ["Ararandewára"] = "xaj", ["Arawum"] = "awm", ["Arbore"] = "arv", ["Are"] = "mwc", ["Areba"] = "aea", ["Argentine Sign Language"] = "aed", ["Arguni"] = "agf", ["Arhâ"] = "aqr", ["Arhö"] = "aok", ["Aribwatsa"] = "laz", ["Aribwaung"] = "ylu", ["Arifama-Miniafia"] = "aai", ["Arigidi"] = "aqg", ["Arikapú"] = "ark", ["Arikara"] = "ari", ["Arikem"] = "ait", ["Tiếng Aringa"] = "luc", ["Armazic"] = "xrm", ["Armenian Sign Language"] = "aen", ["Arop-Lokep"] = "apr", ["Arop-Sissano"] = "aps", ["Arosi"] = "aia", ["Arritinngithigh"] = "rrt", ["Arta"] = "atz", ["Arua"] = "aru", ["Aruamu"] = "msy", ["Aruek"] = "aur", ["Aruop"] = "lsr", ["Arutani"] = "atx", ["Aruá"] = "arx", ["As"] = "asz", ["Asaro'o"] = "mtv", ["Ashe"] = "ahs", ["Asháninka"] = "cni", ["Ashéninka Perené"] = "prq", ["Asilulu"] = "asl", ["Asoa"] = "asv", ["Assangori"] = "sjg", ["Asu"] = "aum", ["Asue Awyu"] = "psa", ["Asunción Mixtepec Zapotec"] = "zoo", ["Ata"] = "atm", ["Ata Manobo"] = "atd", ["Atakapa"] = "aqp", ["Atampaya"] = "amz", ["Atanques"] = "cba-ata", ["Atatláhuca Mixtec"] = "mib", ["Ateso"] = "teo", ["Ati"] = "atk", ["Atohwaim"] = "aqm", ["Atong (Cameroon)"] = "ato", ["Atorada"] = "aox", ["Atsam"] = "cch", ["Atsugewi"] = "atw", ["Attié"] = "ati", ["Au"] = "avt", ["Aulua"] = "aul", ["Aurá"] = "aux", ["Aushi"] = "auh", ["Aushiri"] = "avs", ["Auslan"] = "asf", ["Austral"] = "aut", ["Australian Aboriginal Sign Language"] = "asw", ["Austrian Sign Language"] = "asq", ["Austronesian Mari"] = "hob", ["Auwe"] = "smf", ["Auyana"] = "auy", ["Auye"] = "auu", ["Auyokawa"] = "auo", ["Avau"] = "avb", ["Avava"] = "tmb", ["Avikam"] = "avi", ["Avá-Canoeiro"] = "avv", ["Awa (New Guinea)"] = "awb", ["Awa-Cuaiquer"] = "kwi", ["Awabakal"] = "awk", ["Awak"] = "awo", ["Awar"] = "aya", ["Awara"] = "awx", ["Awbono"] = "awh", ["Awera"] = "awr", ["Awetí"] = "awe", ["Awngthim"] = "gwm", ["Awtuw"] = "kmn", ["Awun"] = "aww", ["Awutu"] = "afu", ["Awyi"] = "auw", ["Axamb"] = "ahb", ["Ayabadhu"] = "ayd", ["Ayautla Mazatec"] = "vmy", ["Ayerrerenge"] = "axe", ["Ayi"] = "ayq", ["Ayizi"] = "yyz", ["Ayizo"] = "ayb", ["Ayomán"] = "sai-ayo", ["Ayoquesco Zapotec"] = "zaf", ["Ayoreo"] = "ayo", ["Tiếng Ayu"] = "ayu", ["Ayutla Mixtec"] = "miy", ["Azha"] = "aza", ["Azhe"] = "yiz", ["Baa"] = "kwb", ["Baan"] = "bvj", ["Baangi"] = "bqx", ["Baba"] = "bbw", ["Babango"] = "bbm", ["Babanki"] = "bbk", ["Babine-Witsuwit'en"] = "bcr", ["Babole"] = "bvx", ["Bada"] = "bhz", ["Badeshi"] = "bdz", ["Badimaya"] = "bia", ["Badyara"] = "pbp", ["Baeggu"] = "bvd", ["Baelelea"] = "bvc", ["Baenan"] = "sai-bae", ["Baetora"] = "btr", ["Bafanji"] = "bfj", ["Bafaw"] = "bwt", ["Bafia"] = "ksf", ["Bafut"] = "bfd", ["Baga Kaloum"] = "bqf", ["Baga Koga"] = "bgo", ["Baga Manduri"] = "bmd", ["Baga Pokur"] = "bcg", ["Baga Sitemu"] = "bsp", ["Baga Sobané"] = "bsv", ["Bagheli"] = "bfy", ["Tiếng Bagirmi"] = "bmi", ["Bago-Kusuntu"] = "bqg", ["Bagri"] = "bgq", ["Bagupi"] = "bpi", ["Bagusa"] = "bqb", ["Baha"] = "yha", ["Baham"] = "bdw", ["Bahamian Creole"] = "bah", ["Baharna Arabic"] = "abv", ["Bahau"] = "bhv", ["Bahinemo"] = "bjh", ["Bahonsuai"] = "bsu", ["Bai"] = "bdj", ["Baibai"] = "bbf", ["Baikeno"] = "bkx", ["Baima"] = "bqh", ["Baimak"] = "bmx", ["Bainouk-Gunyaamolo"] = "bcz", ["Bainouk-Samik"] = "bcb", ["Baissa Fali"] = "fah", ["Bajan"] = "bjs", ["Bajelani"] = "bjm", ["Baka"] = "bkc", ["Bakairí"] = "bkq", ["Bakoko"] = "bkh", ["Bakole"] = "kme", ["Bakpinka"] = "bbs", ["Bakulung"] = "bbu", ["Tiếng Bakumpai"] = "bkr", ["Bakwé"] = "bjw", ["Tiếng Balaesang"] = "bls", ["Balangao"] = "blw", ["Balangingi"] = "sse", ["Balau"] = "blg", ["Baldemu"] = "bdn", ["Bali"] = "bcp", ["Baliledo"] = "poz-bal", ["Balinese Malay"] = "mhp", ["Balo"] = "bqo", ["Baloi"] = "biz", ["Balong"] = "bnt-bal", ["Baluan-Pam"] = "blq", ["Bamako Sign Language"] = "bog", ["Bamali"] = "bbq", ["Bambalang"] = "bmo", ["Bambam"] = "ptu", ["Bambili-Bambui"] = "baw", ["Bamenyam"] = "bce", ["Bamu"] = "bcf", ["Bamukumbit"] = "bqt", ["Bamunka"] = "bvm", ["Bamwe"] = "bmg", ["Ban Khor Sign Language"] = "bfk", ["Banam Bay"] = "vrt", ["Banao Itneg"] = "bjx", ["Banaro"] = "byz", ["Banda"] = "bnd", ["Banda Malay"] = "bpq", ["Banda-Bambari"] = "liy", ["Banda-Banda"] = "bpd", ["Banda-Mbrès"] = "bqk", ["Banda-Ndélé"] = "bfl", ["Banda-Yangere"] = "yaj", ["Bandi"] = "bza", ["Bandial"] = "bqj", ["Bangala"] = "bxg", ["Bangandu"] = "bgf", ["Bangba"] = "bbe", ["Bangime"] = "dba", ["Bangka"] = "mfb", ["Bangru"] = "sit-ban", ["Bangubangu"] = "bnx", ["Bangwinji"] = "bsj", ["Baniva"] = "bvv", ["Baniwa"] = "bwi", ["Banka"] = "bxw", ["Bankan Tey Dogon"] = "dbw", ["Banoni"] = "bcm", ["Bantik"] = "bnq", ["Baraamu"] = "brd", ["Baram Kayan"] = "kys", ["Barama"] = "bbg", ["Barambu"] = "brm", ["Baramu"] = "bmz", ["Barapasi"] = "brp", ["Baras"] = "brs", ["Barasana"] = "bsn", ["Barbareño"] = "boi", ["Barclayville Grebo"] = "gry", ["Bardi"] = "bcj", ["Barein"] = "bva", ["Bargam"] = "mlp", ["Bariai"] = "bch", ["Bariji"] = "bjc", ["Barikanchi"] = "bxo", ["Barngarla"] = "bjb", ["Barok"] = "bjk", ["Barranbinya"] = "aus-bra", ["Barro Negro Tunebo"] = "tbn", ["Barrow Point"] = "bpt", ["Baruga"] = "bjz", ["Barunggam"] = "aus-brm", ["Baruya"] = "byr", ["Barwe"] = "bwg", ["Barí"] = "mot", ["Basa"] = "bzw", ["Basa-Gumna"] = "bsl", ["Basa-Gurmana"] = "buj", ["Basap"] = "bdb", ["Bashkardi"] = "bsg", ["Bassa-Kontagora"] = "bsr", ["Bassossi"] = "bsi", ["Bata"] = "bta", ["Bataan Ayta"] = "ayt", ["Batanga"] = "bnm", ["Bateri"] = "btv", ["Bathari"] = "bhm", ["Bati (Cameroon)"] = "btc", ["Bati (Indonesia)"] = "bvt", ["Batu"] = "btu", ["Batui"] = "zbt", ["Bau"] = "bbd", ["Bauchi"] = "bsf", ["Baure"] = "brg", ["Bauria"] = "bge", ["Bauro"] = "bxa", ["Bauwaki"] = "bwk", ["Bauzi"] = "bvz", ["Bawm Chin"] = "bgr", ["Bay Miwok"] = "mkq", ["Bayali"] = "bjy", ["Baybayanon"] = "bvy", ["Baygo"] = "byg", ["Bayogoula"] = "nai-bay", ["Bayono"] = "byl", ["Bayot"] = "bda", ["Bayungu"] = "bxj", ["Bazigar"] = "bfr", ["Baïnounk Gubëeher"] = "alv-bgu", ["Beami"] = "beo", ["Beba"] = "bfp", ["Bebe"] = "bzv", ["Bebele"] = "beb", ["Bebeli"] = "bek", ["Bebil"] = "bxp", ["Bedik"] = "tnr", ["Bedoanas"] = "bed", ["Beeke"] = "bkf", ["Beele"] = "bxq", ["Beembe"] = "beq", ["Beezen"] = "bnz", ["Befang"] = "bby", ["Begbere-Ejar"] = "bqv", ["Bekati'"] = "bei", ["Bekwarra"] = "bkv", ["Bekwel"] = "bkw", ["Belait"] = "beg", ["Belanda Bor"] = "bxb", ["Belanda Viri"] = "bvi", ["Belizean Creole"] = "bzj", ["Tiếng Bembe"] = "bmb", ["Ben Tey"] = "dbt", ["Bena"] = "yun", ["Benabena"] = "bef", ["Bende"] = "bdp", ["Bendi"] = "bct", ["Beneraf"] = "bnv", ["Beng"] = "nhb", ["Benga"] = "bng", ["Benggoi"] = "bgy", ["Bengkala Sign Language"] = "bqy", ["Bentong"] = "bnu", ["Benyadu'"] = "byd", ["Beothuk"] = "bue", ["Bepour"] = "bie", ["Bera"] = "brf", ["Berakou"] = "bxv", ["Berau Malay"] = "bve", ["Berawan"] = "lod", ["Bergish"] = "gmw-bgh", ["Berinomo"] = "bit", ["Berom"] = "bom", ["Berta"] = "wti", ["Berti"] = "byt", ["Besme"] = "bes", ["Besoa"] = "bep", ["Betaf"] = "bfe", ["Bete"] = "byf", ["Bete-Bendi"] = "btt", ["Betoi"] = "sai-bet", ["Bhalay"] = "bhx", ["Bharia"] = "bha", ["Bhaya"] = "bhe", ["Bhele"] = "bhy", ["Bhilali"] = "bhi", ["Bhoti Kinnauri"] = "nes", ["Biafada"] = "bif", ["Biage"] = "bdf", ["Biak"] = "bhw", ["Biali"] = "beh", ["Bian Marind"] = "bpv", ["Biangai"] = "big", ["Biao"] = "byk", ["Biao Mon"] = "bmt", ["Biao-Jiao Mien"] = "bje", ["Bibaali"] = "bcn", ["Bibbulman"] = "xbp", ["Bidiyo"] = "bid", ["Bidyara"] = "bym", ["Bidyogo"] = "bjg", ["Biem"] = "bmc", ["Bierebo"] = "bnk", ["Bieria"] = "brj", ["Biete"] = "biu", ["Big Nambas"] = "nmb", ["Biga"] = "bhc", ["Bigambal"] = "xbe", ["Bikaru"] = "bic", ["Bikya"] = "byb", ["Bila"] = "bip", ["Bilakura"] = "bql", ["Bilba"] = "bpz", ["Bilbil"] = "brz", ["Bile"] = "bil", ["Biliau"] = "bcu", ["Biloxi"] = "bll", ["Bilur"] = "bxf", ["Bimin"] = "bhl", ["Bimoba"] = "bim", ["Bina"] = "bmn", ["Binahari"] = "bxz", ["Binandere"] = "bhg", ["Binawa"] = "byj", ["Bindal"] = "xbd", ["Bine"] = "bon", ["Binji"] = "bpj", ["Binongan Itneg"] = "itb", ["Bintauna"] = "bne", ["Bintulu"] = "bny", ["Binumarien"] = "bjr", ["Bipi"] = "biq", ["Birgid"] = "brk", ["Biri"] = "bzr", ["Biritai"] = "bqq", ["Birri"] = "bvq", ["Birrpayi"] = "xbj", ["Birwa"] = "brl", ["Biseni"] = "ije", ["Bishuo"] = "bwh", ["Bisis"] = "bnw", ["Bisorio"] = "bir", ["Bitare"] = "brt", ["Bitur"] = "mcc", ["Biwat"] = "bwm", ["Biyo"] = "byo", ["Biyom"] = "bpm", ["Blablanga"] = "blp", ["Black Speech"] = "art-bsp", ["Blafe"] = "bfh", ["Bo"] = "bgl", ["Bo-Rukul"] = "mae", ["Bo-Ung"] = "mux", ["Boano (Maluku)"] = "bzn", ["Boano (Sulawesi)"] = "bzl", ["Bobongko"] = "bgb", ["Bobot"] = "bty", ["Bodo (Central Africa)"] = "boy", ["Bofi"] = "bff", ["Boga"] = "bvw", ["Bogaya"] = "boq", ["Boguru"] = "bqu", ["Boikin"] = "bzf", ["Bokha"] = "ybk", ["Bokoto"] = "bdt", ["Bokyi"] = "bky", ["Bolak"] = "art-blk", ["Bolango"] = "bld", ["Bole"] = "bol", ["Bolgo"] = "bvo", ["Bolia"] = "bli", ["Tiếng Bolinao"] = "smk", ["Bolivian Sign Language"] = "bvl", ["Bolon"] = "bof", ["Bolondo"] = "bzm", ["Bolongan"] = "blj", ["Bom"] = "bmf", ["Boma Nkuu"] = "bnt-bon", ["Boma Yumu"] = "bnt-boy", ["Bomboli"] = "bml", ["Bomboma"] = "bws", ["Bomitaba"] = "zmx", ["Bomwali"] = "bmw", ["Bon Gula"] = "glc", ["Bondei"] = "bou", ["Tiếng Kulango Bondoukou"] = "kzc", ["Bondum Dom Dogon"] = "dbu", ["Bonerate"] = "bna", ["Bonggi"] = "bdg", ["Bonggo"] = "bpg", ["Bongili"] = "bui", ["Tiếng Bongo"] = "bot", ["Bongu"] = "bpu", ["Bonjo"] = "bok", ["Bonkeng"] = "bvg", ["Bonkiman"] = "bop", ["Bookan"] = "bnb", ["Boor"] = "bvf", ["Bora"] = "boa", ["Border Kuna"] = "kvn", ["Borei"] = "gai", ["Boro"] = "xxb", ["Borong"] = "ksr", ["Boruca"] = "brn", ["Boselewa"] = "bwf", ["Bosngun"] = "bqs", ["Bote-Majhi"] = "bmj", ["Tiếng Kulango Bouna"] = "nku", ["Bourbonnais-Berrichon"] = "roa-bbn", ["Bozaba"] = "bzo", ["Bragat"] = "aof", ["Brazilian Sign Language"] = "bzs", ["Brek Karen"] = "kvl", ["Tiếng Brem"] = "buq", ["Bribri"] = "bzd", ["British Sign Language"] = "bfi", ["Brokskat"] = "bkk", ["Broome Pearling Lugger Pidgin"] = "bpl", ["Brunei Bisaya"] = "bsb", ["Bruny Island"] = "xpz", ["Bu"] = "jid", ["Bu-Nao Bunu"] = "bwx", ["Bua"] = "bub", ["Bualkhaw Chin"] = "cbl", ["Buamu"] = "box", ["Bubi"] = "buw", ["Bubia"] = "bbx", ["Budibud"] = "btp", ["Budong-Budong"] = "bdx", ["Budu"] = "buu", ["Buduma"] = "bdm", ["Budza"] = "bja", ["Buena Vista Yokuts"] = "nai-bvy", ["Buglere"] = "sab", ["Bugun"] = "bgg", ["Buhutu"] = "bxh", ["Bujhyal"] = "byh", ["Bukar-Sadung Bidayuh"] = "sdo", ["Bukat"] = "bvk", ["Bukawa"] = "buk", ["Bukit Malay"] = "bvu", ["Bukitan"] = "bkn", ["Buksa"] = "tkb", ["Bukusu"] = "bxk", ["Bulgarian Sign Language"] = "bqn", ["Bulgebi"] = "bmp", ["Buli (Ghana)"] = "bwu", ["Buli (Indonesia)"] = "bzq", ["Bulu (Cameroon)"] = "bum", ["Bulu (New Guinea)"] = "bjl", ["Bum"] = "bmv", ["Bumaji"] = "byp", ["Bumbita Arapesh"] = "aon", ["Bun"] = "buv", ["Buna"] = "bvn", ["Bunaba"] = "bck", ["Bunak"] = "bfn", ["Tiếng Bunama"] = "bdd", ["Bundeli"] = "bns", ["Bung"] = "bqd", ["Bungain"] = "but", ["Bunganditj"] = "xbg", ["Bungu"] = "wun", ["Bunoge"] = "dgb", ["Buol"] = "blf", ["Bura"] = "bwr", ["Burak"] = "bys", ["Buraka"] = "bkg", ["Burarra"] = "bvr", ["Burate"] = "bti", ["Burduna"] = "bxn", ["Bure"] = "bvh", ["Burgundian"] = "gem-bur", ["Burmeso"] = "bzu", ["Buru (Indonesia)"] = "mhs", ["Buru (Nigeria)"] = "bqw", ["Burui"] = "bry", ["Burumakok"] = "aip", ["Burun"] = "bdi", ["Burusu"] = "bqr", ["Buruwai"] = "asi", ["Busam"] = "bxs", ["Busami"] = "bsm", ["Busang Kayan"] = "bfg", ["Bushoong"] = "buf", ["Buso"] = "bso", ["Busoa"] = "bup", ["Busuu"] = "bju", ["Butbut Kalinga"] = "kyb", ["Butchulla"] = "xby", ["Butmas-Tur"] = "bnr", ["Buwal"] = "bhs", ["Buyeo"] = "xpy", ["Buyu"] = "byi", ["Buyuan Jino"] = "jiy", ["Bwa"] = "bww", ["Bwaidoka"] = "bwd", ["Bwala"] = "bnt-bwa", ["Bwanabwana"] = "tte", ["Bwatoo"] = "bwa", ["Bwela"] = "bwl", ["Bwile"] = "bwc", ["Bwisi"] = "bwz", ["Byangsi"] = "bee", ["Byep"] = "mkk", ["Bädi Kanum"] = "khd", ["Caac"] = "msq", ["Cabiyarí"] = "cbb", ["Cabécar"] = "cjp", ["Cacaloxtepec Mixtec"] = "miu", ["Cacaopera"] = "ccr", ["Cacua"] = "cbv", ["Cacán"] = "sai-cac", ["Caddo"] = "cad", ["Cafundó"] = "ccd", ["Cahuarano"] = "cah", ["Caka"] = "ckx", ["Cakchiquel-Quiché Mixed Language"] = "ckz", ["Cakfem-Mushere"] = "cky", ["Calabrian Greek"] = "grk-cal", ["Callawalla"] = "caw", ["Calusa"] = "nai-cal", ["Caluyanun"] = "clu", ["Caló"] = "rmq", ["Camarines Norte Agta"] = "abd", ["Cameroon Mambila"] = "mcu", ["Cameroon Pidgin"] = "wes", ["Campalagian"] = "cml", ["Camsá"] = "kbh", ["Camtho"] = "cmt", ["Candoshi-Shapra"] = "cbu", ["Canichana"] = "caz", ["Cao Miao"] = "cov", ["Capiznon"] = "cps", ["Caquinte"] = "cot", ["Cara"] = "cfd", ["Carabayo"] = "cby", ["Caramanta"] = "crf", ["Caranqui"] = "sai-caq", ["Carapana"] = "cbc", ["Carian"] = "xcr", ["Cariay"] = "awd-kar", ["Carijona"] = "cbd", ["Carolina Algonquian"] = "crr", ["Carolinian"] = "cal", ["Carpathian Romani"] = "rmc", ["Cashibo-Cacataibo"] = "cbr", ["Cashinahua"] = "cbs", ["Casiguran Dumagat Agta"] = "dgc", ["Casuarina Coast Asmat"] = "asc", ["Catacao"] = "sai-cat", ["Catalan Sign Language"] = "csc", ["Catuquinaru"] = "sai-ctq", ["Catío Chibcha"] = "cba-cat", ["Cauca"] = "cca", ["Cavere"] = "awd-cav", ["Cavineña"] = "cav", ["Cayubaba"] = "cyb", ["Cayuse"] = "xcy", ["Cazcan"] = "azc-caz", ["Cañari"] = "sai-cnr", ["Cebaara Senoufo"] = "sef", ["Cemuhî"] = "cam", ["Cen"] = "cen", ["Central Asmat"] = "cns", ["Central Awyu"] = "awu", ["Tiếng Bontoc Trung"] = "lbk", ["Central Cagayan Agta"] = "agt", ["Central Grebo"] = "grv", ["Central Huishui Hmong"] = "hmc", ["Central Maewo"] = "mwo", ["Central Mahuatlán Zapoteco"] = "zam", ["Central Malay"] = "pse", ["Central Masela"] = "mxz", ["Central Mashan Hmong"] = "hmm", ["Central Melanau"] = "mel", ["Central Ojibwa"] = "ojc", ["Central Palawano"] = "plc", ["Central Pame"] = "pbs", ["Central Pomo"] = "poo", ["Central Sierra Miwok"] = "csm", ["Central Subanen"] = "syb", ["Central Tagbanwa"] = "tgt", ["Central Tarahumara"] = "tar", ["Central Teke"] = "nzu", ["Central Tunebo"] = "tuf", ["Centúúm"] = "cet", ["Cerma"] = "cme", ["Ch'olti'"] = "myn-chl", ["Chaap Wuurong"] = "tjw", ["Chadian Sign Language"] = "cds", ["Chaha"] = "sem-cha", ["Chairel"] = "sit-cha", ["Chakali"] = "cli", ["Chala"] = "cll", ["Chali"] = "tgf", ["Chamacoco"] = "ceg", ["Chamba Daka"] = "ccg", ["Chamba Leko"] = "ndi", ["Chambri"] = "can", ["Champenois"] = "roa-cha", ["Chang"] = "nbc", ["Changriwa"] = "cga", ["Chaná"] = "sai-chn", ["Chané"] = "caj", ["Chapacura"] = "sai-chp", ["Chara"] = "cra", ["Charrua"] = "sai-chr", ["Chaudangsi"] = "cdn", ["Chayahuita"] = "cbt", ["Chazumba Mixtec"] = "xtb", ["Che"] = "ruk", ["Cheke Holo"] = "mrn", ["Chemakum"] = "xch", ["Chenapian"] = "cjn", ["Chepya"] = "ycp", ["Cherepon"] = "cpn", ["Chesu"] = "ych", ["Chetco-Tolowa"] = "ctc", ["Chhintange"] = "ctn", ["Chhulung"] = "cur", ["Chiangmai Sign Language"] = "csd", ["Chiapanec"] = "cip", ["Chichicapan Zapotec"] = "zpv", ["Chichimeca-Jonaz"] = "pei", ["Chichonyi-Chidzihana-Chikauma"] = "coh", ["Chicomuceltec"] = "cob", ["Chiduruma"] = "dug", ["Chigmecatitlán Mixtec"] = "mii", ["Chilean Sign Language"] = "csg", ["Chilisso"] = "clh", ["Chiltepec Chinantec"] = "csa", ["Chimalapa Zoque"] = "zoh", ["Chimariko"] = "cid", ["Chimila"] = "cbg", ["Chimwiini"] = "bnt-cmw", ["Chinbon Chin"] = "cnb", ["Chinese Pidgin English"] = "cpi", ["Chinese Sign Language"] = "csl", ["Chipaya"] = "cap", ["Chiquihuitlán Mazatec"] = "maq", ["Chiquimulilla"] = "nai-chi", ["Chiquitano"] = "cax", ["Chirino"] = "sai-chi", ["Chiripá"] = "nhd", ["Chitimacha"] = "ctm", ["Chitkuli Kinnauri"] = "cik", ["Chitwania Tharu"] = "the", ["Tiếng Zapotec Choapan"] = "zpc", ["Chochotec"] = "coz", ["Chokri Naga"] = "nri", ["Chokwe"] = "cjk", ["Cholón"] = "cht", ["Chono"] = "sai-cno", ["Chopi"] = "cce", ["Chuabo"] = "chw", ["Chuanqiandian Cluster Miao"] = "cqd", ["Chuave"] = "cjv", ["Chug"] = "cvg", ["Chuj"] = "cac", ["Chuka"] = "cuh", ["Chukwa"] = "cuw", ["Chumburung"] = "ncu", ["Churuya"] = "sai-chu", ["Chácobo"] = "cao", ["Ci Gbe"] = "cib", ["Cibak"] = "ckl", ["Cicipu"] = "awc", ["Ciguayo"] = "nai-cig", ["Cinamiguin Manobo"] = "mkx", ["Cinda-Regi-Tiyal"] = "cdr", ["Cineni"] = "cie", ["Cinta Larga"] = "cin", ["Cishingini"] = "asg", ["Citak"] = "txt", ["Ciwogai"] = "tgd", ["Tiếng Gael cổ điển"] = "ghc", ["Classical Guaraní"] = "gn-cls", ["Tiếng Manda cổ điển"] = "myz", ["Classical Newar"] = "nwc", ["Classical Quechua"] = "qwc", ["Coahuilteco"] = "xcw", ["Coast Miwok"] = "csi", ["Coastal Konjo"] = "kjc", ["Coatecas Altas Zapotec"] = "zca", ["Coatepec Nahuatl"] = "naz", ["Coatlán Mixe"] = "mco", ["Coatlán Zapotec"] = "zps", ["Coatzospan Mixtec"] = "miz", ["Cocopa"] = "coc", ["Cocos Islands Malay"] = "coa", ["Coeruna"] = "sai-coe", ["Cogui"] = "kog", ["Col"] = "liw", ["Colombian Sign Language"] = "csn", ["Colonia Tovar German"] = "gct", ["Columbia-Wenatchi"] = "col", ["Colán"] = "sai-col", ["Comaltepec Chinantec"] = "cco", ["Comechingon"] = "sai-cmg", ["Comecrudo"] = "xcm", ["Communicationssprache"] = "art-com", ["Como Karim"] = "cfg", ["Con"] = "cno", ["Coos"] = "csz", ["Copainalá Zoque"] = "zoc", ["Copallén"] = "sai-cop", ["Coquille"] = "coq", ["Cora"] = "crn", ["Cori"] = "cry", ["Coroado Puri"] = "sai-crd", ["Cosoleacaque Nahuatl"] = "nhk", ["Costa Rican Sign Language"] = "csr", ["Cotabato Manobo"] = "mta", ["Cotoname"] = "xcn", ["Coyaima"] = "coy", ["Coyotepec Popoloca"] = "pbf", ["Coyutla Totonac"] = "toc", ["Crimean Gothic"] = "gme-cgo", ["Croatian Sign Language"] = "csq", ["Cruzeño"] = "crz", ["Cuban Sign Language"] = "csf", ["Cubeo"] = "cub", ["Cueva"] = "sai-cva", ["Cuiba"] = "cui", ["Cuitlatec"] = "cuy", ["Culina"] = "cul", ["Tiếng Culli"] = "sai-cul", ["Cun"] = "cuq", ["Cung"] = "cug", ["Curonian"] = "xcu", ["Curripaco"] = "kpc", ["Cutchi-Swahili"] = "ccl", ["Cuvok"] = "cuv", ["Cuyamecalco Mixtec"] = "xtu", ["Cwi Bwamu"] = "bwy", ["Czech Sign Language"] = "cse", ["Da'a Kaili"] = "kzf", ["Daai Chin"] = "dao", ["Daantanai'"] = "lni", ["Daba"] = "dbq", ["Dabe"] = "dbe", ["Dadanitic"] = "sem-dad", ["Dadi Dadi"] = "dda", ["Dadiya"] = "dbd", ["Tiếng Daga"] = "dgz", ["Dagaari Dioula"] = "dgd", ["Dagik"] = "dec", ["Dagoman"] = "dgn", ["Daho-Doo"] = "das", ["Dai"] = "dij", ["Dair"] = "drb", ["Dairi Batak"] = "btd", ["Dakaka"] = "bpa", ["Dakka"] = "dkk", ["Daloa Bété"] = "bev", ["Dama (Nigeria)"] = "dmm", ["Dama (Sierra Leone)"] = "dmn-dam", ["Damakawa"] = "dam", ["Damal"] = "uhn", ["Dampelas"] = "dms", ["Danaru"] = "dnr", ["Dandami Maria"] = "daq", ["Dangaura Tharu"] = "thl", ["Danish Sign Language"] = "dsl", ["Dano"] = "aso", ["Dao"] = "daz", ["Daonda"] = "dnd", ["Dar Fur Daju"] = "daj", ["Dar Sila Daju"] = "dau", ["Darai"] = "dry", ["Darkinjung"] = "xda", ["Darlong"] = "dln", ["Darmiya"] = "drd", ["Daro-Matu Melanau"] = "dro", ["Darumbal"] = "xgm", ["Dass"] = "dot", ["Datooga"] = "tcc", ["Daungwurrung"] = "dgw", ["Davawenyo"] = "daw", ["Dawawa"] = "dww", ["Dawera-Daweloor"] = "ddw", ["Day"] = "dai", ["Dayi"] = "dax", ["Dazaga"] = "dzg", ["Deccani"] = "dcc", ["Dedua"] = "ded", ["Defaka"] = "afn", ["Defi Gbe"] = "gbh", ["Deg"] = "mzw", ["Degenan"] = "dge", ["Dehwari"] = "deh", ["Dek"] = "dek", ["Dela-Oenale"] = "row", ["Delo"] = "ntr", ["Delta Yokuts"] = "nai-dly", ["Dem"] = "dem", ["Dema"] = "dmx", ["Demisa"] = "dei", ["Demta"] = "dmy", ["Tiếng Dena'ina"] = "tfn", ["Dendi"] = "ddn", ["Dengese"] = "dez", ["Dengka"] = "dnk", ["Deno"] = "dbb", ["Denya"] = "anv", ["Dení"] = "dny", ["Desano"] = "des", ["Dewas Rai"] = "dwz", ["Dewoin"] = "dee", ["Dezfuli"] = "def", ["Dghwede"] = "dgh", ["Dhaiso"] = "dhs", ["Dhalandji"] = "dhl", ["Dhao"] = "nfa", ["Dhofari Arabic"] = "adf", ["Dhudhuroa"] = "ddr", ["Dhungaloo"] = "dhx", ["Dhurga"] = "dhu", ["Dhuwal"] = "dwu", ["Dhuwaya"] = "dwy", ["Dia"] = "dia", ["Dibiyaso"] = "dby", ["Dibo"] = "dio", ["Dicamay Agta"] = "duy", ["Didinga"] = "did", ["Digo"] = "dig", ["Tiếng Dii"] = "dur", ["Dijim-Bwilim"] = "cfa", ["Dilling"] = "dil", ["Dima"] = "jma", ["Dimbong"] = "dii", ["Dinapigue Agta"] = "phi-din", ["Dineor"] = "mrx", ["Ding"] = "diz", ["Diodio"] = "ddi", ["Diri"] = "dwa", ["Dirim"] = "dir", ["Disa"] = "dsi", ["Diuwe"] = "diy", ["Diuxi-Tilantongo Mixtec"] = "xtd", ["Dixon Reef"] = "dix", ["Djadjawurrung"] = "dja", ["Djambarrpuyngu"] = "djr", ["Djangun"] = "djf", ["Djauan"] = "djn", ["Djawi"] = "djw", ["Djimini"] = "dyi", ["Djinba"] = "djb", ["Djiwarli"] = "djl", ["Dobel"] = "kvo", ["Dobu"] = "dob", ["Doe"] = "doe", ["Doga"] = "dgg", ["Doghoro"] = "dgx", ["Dogoso"] = "dgs", ["Dogosé"] = "dos", ["Dogul Dom"] = "dbg", ["Doka"] = "dbi", ["Doko-Uyanga"] = "uya", ["Dom"] = "doa", ["Dominican Sign Language"] = "doq", ["Dompo"] = "doy", ["Domu"] = "dof", ["Domung"] = "dev", ["Dondo"] = "dok", ["Dong"] = "doh", ["Dongo"] = "doo", ["Dongotono"] = "ddd", ["Dongshanba Lalo"] = "yik", ["Donno So Dogon"] = "dds", ["Doondo"] = "dde", ["Dorasque"] = "cba-dor", ["Dori'o"] = "dor", ["Dorig"] = "wwo", ["Doromu-Koki"] = "kqc", ["Dorze"] = "doz", ["Doso"] = "dol", ["Dothraki"] = "art-dtk", ["Doura"] = "don", ["Doutai"] = "tds", ["Doyayo"] = "dow", ["Drehu"] = "dhv", ["Duala"] = "dua", ["Duano"] = "dup", ["Duau"] = "dva", ["Dubu"] = "dmu", ["Dugun"] = "ndu", ["Duguri"] = "dbm", ["Dugwor"] = "dme", ["Duhwa"] = "kbz", ["Duit"] = "cba-dui", ["Duke"] = "nke", ["Dulbu"] = "dbo", ["Duli"] = "duz", ["Duma"] = "dma", ["Dumaitic"] = "sem-dum", ["Dumbea"] = "duf", ["Dumpas"] = "dmv", ["Dumun"] = "dui", ["Duna"] = "duc", ["Dungmali"] = "raa", ["Dungu"] = "dbv", ["Dura"] = "drq", ["Duri"] = "mvp", ["Duriankere"] = "dbn", ["Dusner"] = "dsn", ["Dusun Deyah"] = "dun", ["Dusun Malang"] = "duq", ["Dutch Sign Language"] = "dse", ["Duupa"] = "dae", ["Duvle"] = "duv", ["Duwai"] = "dbp", ["Duwet"] = "gve", ["Dwang"] = "nnu", ["Dyaabugay"] = "dyy", ["Dyaberdyaber"] = "dyb", ["Dyan"] = "dya", ["Dyangadi"] = "dyn", ["Dyugun"] = "dyd", ["Dza"] = "jen", ["Dzando"] = "dzn", ["Dzao Min"] = "bpn", ["Dzodinka"] = "add", ["Dâw"] = "kwa", ["E'ma Buyang"] = "yzg", ["Early Modern Korean"] = "ko-ear", ["Early Tripuri"] = "xtr", ["East Damar"] = "dmr", ["East Franconian"] = "vmf", ["East Kewa"] = "kjs", ["East Limba"] = "lma", ["East Makian"] = "mky", ["East Masela"] = "vme", ["East Nyala"] = "nle", ["East Tarangan"] = "tre", ["Eastern Bolivian Guaraní"] = "gui", ["Eastern Durango Nahuatl"] = "azd", ["Eastern Gurung"] = "ggn", ["Eastern Highland Chatino"] = "cly", ["Eastern Highland Otomi"] = "otm", ["Eastern Huasteca Nahuatl"] = "nhe", ["Eastern Huishui Hmong"] = "hme", ["Eastern Karaboro"] = "xrb", ["Eastern Keres"] = "kee", ["Eastern Lalu"] = "yit", ["Tiếng Maninkakan Đông"] = "emk", ["Eastern Meohang"] = "emg", ["Eastern Muria"] = "emu", ["Eastern Ngad'a"] = "nea", ["Eastern Nisu"] = "nos", ["Eastern Penan"] = "pez", ["Eastern Pomo"] = "peb", ["Eastern Qiandong Miao"] = "hmq", ["Eastern Subanun"] = "sfe", ["Eastern Tawbuid"] = "bnj", ["Eastern Xiangxi Miao"] = "muq", ["Eastern Xwla Gbe"] = "gbx", ["Ebira"] = "igb", ["Ecuadorian Sign Language"] = "ecs", ["Ede Cabe"] = "cbj", ["Ede Ije"] = "ijj", ["Edera Awyu"] = "awy", ["Edolo"] = "etr", ["Edomite"] = "xdm", ["Edopi"] = "dbf", ["Efutop"] = "ofu", ["Egyptian Sign Language"] = "esl", ["Ejamat"] = "eja", ["Ekajuk"] = "eka", ["Ekari"] = "ekg", ["Ekele"] = "khy", ["Eki"] = "eki", ["Ekit"] = "eke", ["Ekpeye"] = "ekp", ["El Alto Zapotec"] = "zpp", ["El Hugeirat"] = "elh", ["Eleme"] = "elm", ["Elepi"] = "ele", ["Elip"] = "ekm", ["Elkei"] = "elk", ["Eloi"] = "art-elo", ["Elotepec Zapotec"] = "zte", ["Eloyi"] = "afo", ["Elseng"] = "mrf", ["Elu"] = "elu", ["Emae"] = "mmw", ["Emai"] = "ema", ["Eman"] = "emn", ["Embaloh"] = "emb", ["Emberá-Baudó"] = "bdc", ["Emberá-Catío"] = "cto", ["Emem"] = "enr", ["Emerillon"] = "eme", ["Emplawas"] = "emw", ["Enawené-Nawé"] = "unk", ["Ende"] = "end", ["Enga"] = "enq", ["Enggano"] = "eno", ["Enlhet"] = "enl", ["Enrekang"] = "ptt", ["Enu"] = "enu", ["Enwan"] = "env", ["Enwang"] = "enw", ["Enxet"] = "enx", ["Enya"] = "gey", ["Epena"] = "sja", ["Epi-Olmec"] = "xep", ["Epigraphic Mayan"] = "emy", ["Erave"] = "kjy", ["Ere"] = "twp", ["Erie"] = "iro-ere", ["Eritai"] = "ert", ["Erokwanas"] = "erw", ["Erre"] = "err", ["Erromintxela"] = "emx", ["Eruwa"] = "erh", ["Ese Ejja"] = "ese", ["Eshtehardi"] = "esh", ["Eskayan"] = "esy", ["Esmeralda"] = "sai-esm", ["Esselen"] = "esq", ["Estado de México Otomi"] = "ots", ["Estonian Sign Language"] = "eso", ["Esuma"] = "esm", ["Etchemin"] = "etc", ["Etebi"] = "etb", ["Eten"] = "etx", ["Eteocypriot"] = "ecy", ["Ethiopian Sign Language"] = "eth", ["Etkywan"] = "ich", ["Eton (Cameroon)"] = "eto", ["Eton (Vanuatu)"] = "etn", ["Etulo"] = "utr", ["Evant"] = "bzz", ["Ewage-Notu"] = "nou", ["Ewarhuyana"] = "sai-ewa", ["Ewondo"] = "ewo", ["Extremaduran"] = "ext", ["Eyak"] = "eya", ["Ezaa"] = "eza", ["Fagani"] = "faf", ["Faire Atta"] = "azt", ["Faita"] = "faj", ["Faiwol"] = "fai", ["Fakkanci"] = "gel", ["Fali"] = "fli", ["Fam"] = "fam", ["Fanamaket"] = "bjp", ["Fang (Beboid)"] = "fak", ["Fania"] = "fni", ["Fas"] = "fqs", ["Fasu"] = "faa", ["Fataleka"] = "far", ["Tiếng Fataluku"] = "ddg", ["Fayu"] = "fau", ["Fedan"] = "pdn", ["Fembe"] = "agl", ["Fer"] = "kah", ["Feroge"] = "fer", ["Filomena Mata-Coahuitlán Totonac"] = "tlp", ["Finisterre Yau"] = "yuw", ["Finnish Sign Language"] = "fse", ["Finnish-Swedish Sign Language"] = "fss", ["Finongan"] = "fag", ["Fipa"] = "fip", ["Firan"] = "fir", ["Fiwaga"] = "fiw", ["Flemish Sign Language"] = "vgt", ["Flinders Island"] = "fln", ["Foau"] = "flh", ["Foia Foia"] = "ffi", ["Folopa"] = "ppo", ["Foma"] = "fom", ["Fongoro"] = "fgr", ["Foodo"] = "fod", ["Forak"] = "frq", ["Fordata"] = "frd", ["Fore"] = "for", ["Forest Nenets"] = "yrk-for", ["Fortsenal"] = "frt", ["French Belgian Sign Language"] = "sfb", ["French Sign Language"] = "fsl", ["Fuliiru"] = "flr", ["Fulniô"] = "fun", ["Fum"] = "fum", ["Tiếng Fungwa"] = "ula", ["Furu"] = "fuu", ["Futuna-Aniwa"] = "fut", ["Fuyug"] = "fuy", ["Fwe"] = "fwe", ["Fwâi"] = "fwa", ["Fyam"] = "pym", ["Fyer"] = "fie", ["Ga'anda"] = "gqa", ["Ga'dang"] = "gdg", ["Gaa"] = "ttb", ["Gaam"] = "tbi", ["Gabadi"] = "kbt", ["Gabi"] = "gbw", ["Gabrielino-Fernandeño"] = "xgf", ["Gadang"] = "gdk", ["Gade"] = "ged", ["Gadjerawang"] = "gdh", ["Gadsup"] = "gaj", ["Gafat"] = "gft", ["Gagadu"] = "gbu", ["Gagnoa Bété"] = "btg", ["Gaikundi"] = "gbf", ["Gaina"] = "gcn", ["Gal"] = "gap", ["Galambu"] = "glo", ["Galela"] = "gbi", ["Galeya"] = "gar", ["Galice"] = "gce", ["Galindian"] = "xgl", ["Gallaecian"] = "cel-gal", ["Galoli"] = "gal", ["Gambera"] = "gma", ["Gamela"] = "sai-gam", ["Gamkonora"] = "gak", ["Gamo-Ningi"] = "bte", ["Gana"] = "gnq", ["Ganang"] = "gne", ["Gane"] = "gzn", ["Ganggalida"] = "gcd", ["Ganglau"] = "ggl", ["Gangte"] = "gnb", ["Gangulu"] = "gnl", ["Gants"] = "gao", ["Ganzi"] = "gnz", ["Gao"] = "gga", ["Gapapaiwa"] = "pwg", ["Garawa"] = "wrk", ["Garingbal"] = "xgi", ["Garus"] = "gyb", ["Garza"] = "xgr", ["Gashowu"] = "nai-gsy", ["Gavak"] = "dmc", ["Gavar"] = "gou", ["Gavião do Jiparaná"] = "gvo", ["Gayo"] = "gay", ["Gayón"] = "sai-gay", ["Gbagyi"] = "gbr", ["Gban"] = "ggu", ["Gbanu"] = "gbv", ["Gbanziri"] = "gbg", ["Gbari"] = "gby", ["Gbaya"] = "gba", ["Gbaya-Bossangoa"] = "gbp", ["Gbaya-Bozoum"] = "gbq", ["Gbaya-Mbodomo"] = "gmm", ["Gbayi"] = "gyg", ["Gbesi Gbe"] = "gbs", ["Gbii"] = "ggb", ["Gbin"] = "xgb", ["Gboloo Grebo"] = "gec", ["Gciriku"] = "diu", ["Gcwi"] = "gwj", ["Ge"] = "hmj", ["Gebe"] = "gei", ["Gedaged"] = "gdd", ["Geji"] = "gji", ["Gela"] = "nlg", ["Gelao"] = "gio", ["Gele'"] = "sbc", ["Geme"] = "geq", ["Gende"] = "gaf", ["Gengle"] = "geg", ["Gepo"] = "ygp", ["Gera"] = "gew", ["German Sign Language"] = "gsg", ["Geruma"] = "gea", ["Geser-Gorom"] = "ges", ["Gey"] = "guv", ["Ghanaian Sign Language"] = "gse", ["Ghandruk Sign Language"] = "gds", ["Ghanongga"] = "ghn", ["Ghari"] = "gri", ["Ghayavi"] = "bmk", ["Ghera"] = "ghr", ["Ghulfan"] = "ghl", ["Giangan"] = "bgi", ["Gibanawa"] = "gib", ["Gidar"] = "gid", ["Gikyode"] = "acd", ["Gilima"] = "gix", ["Gimi (Austronesian)"] = "gip", ["Gimme"] = "kmp", ["Gimnime"] = "gmn", ["Ginuman"] = "gnm", ["Girawa"] = "bbr", ["Githabul"] = "gih", ["Gitua"] = "ggt", ["Giyug"] = "giy", ["Gizrra"] = "tof", ["Glaro-Twabo"] = "glr", ["Glavda"] = "glw", ["Glio-Oubi"] = "oub", ["Gnau"] = "gnu", ["Goa'uld"] = "art-gld", ["Goaria"] = "gig", ["Gobasi"] = "goi", ["Gobu"] = "gox", ["Godié"] = "god", ["Godwari"] = "gdx", ["Goemai"] = "ank", ["Gogo"] = "gog", ["Gogodala"] = "ggw", ["Gokana"] = "gkn", ["Gokhy"] = "sit-gkh", ["Gola"] = "gol", ["Golin"] = "gvf", ["Golpa"] = "lja", ["Gondi"] = "gon", ["Gongduk"] = "goe", ["Gonja"] = "gjn", ["Goo"] = "gov", ["Gor"] = "gqr", ["Gorakor"] = "goc", ["Gorap"] = "goq", ["Goreng"] = "xgg", ["Gorovu"] = "grq", ["Gottscheerish"] = "gmw-gts", ["Goundo"] = "goy", ["Gowlan"] = "goj", ["Gowro"] = "gwf", ["Gozarkhani"] = "goz", ["Grangali"] = "nli", ["Grass Koiari"] = "kbk", ["Grebo"] = "grb", ["Greek Sign Language"] = "gss", ["Green Gelao"] = "giq", ["Green Hmong"] = "hnj", ["Grenadian Creole English"] = "gcl", ["Gresi"] = "grs", ["Groma"] = "gro", ["Gros Ventre"] = "ats", ["Gua"] = "gwx", ["Guahibo"] = "guh", ["Guambiano"] = "gum", ["Guamo"] = "sai-gmo", ["Guanano"] = "gvc", ["Guatemalan Sign Language"] = "gsm", ["Guató"] = "gta", ["Guayabero"] = "guo", ["Guazacapán"] = "nai-guz", ["Gudang"] = "xgd", ["Gudanji"] = "nji", ["Gude"] = "gde", ["Gudu"] = "gdu", ["Guduf-Gava"] = "gdf", ["Guerrero Nahuatl"] = "ngu", ["Guevea de Humboldt Zapotec"] = "zpg", ["Gugadj"] = "ggd", ["Gugu Badhun"] = "gdc", ["Gugu Warra"] = "wrw", ["Guhu-Samane"] = "ghs", ["Guianese Creole"] = "gcr", ["Guiberoua Bété"] = "bet", ["Guinau"] = "awd-gnu", ["Guinea-Bissau Sign Language"] = "lgs", ["Guinean Sign Language"] = "gus", ["Guiqiong"] = "gqi", ["Gula"] = "glu", ["Gula'alaa"] = "gmb", ["Gule"] = "gly", ["Gullah"] = "gul", ["Gumalu"] = "gmu", ["Gumatj"] = "gnn", ["Gumawana"] = "gvs", ["Gundi"] = "gdi", ["Gunditjmara"] = "gjm", ["Gundungurra"] = "xrd", ["Gungabula"] = "gyf", ["Gungu"] = "rub", ["Guntai"] = "gnt", ["Gunu"] = "yas", ["Gunwinggu"] = "gup", ["Tiếng Gunya"] = "gyy", ["Gupa-Abawa"] = "gpa", ["Gupapuyngu"] = "guf", ["Guragone"] = "gge", ["Guramalum"] = "grz", ["Gureng Gureng"] = "gnr", ["Gurgula"] = "ggg", ["Guriaso"] = "grx", ["Gurindji"] = "gue", ["Gurjar Apabhramsa"] = "inc-gup", ["Gurmana"] = "gvm", ["Guro"] = "goa", ["Guruntum"] = "grd", ["Gusan"] = "gsn", ["Gusii"] = "guz", ["Gusilay"] = "gsl", ["Guwa"] = "xgw", ["Guwamu"] = "gwu", ["Guwar"] = "aus-guw", ["Guya"] = "gka", ["Guyanese Creole English"] = "gyn", ["Guyani"] = "gvy", ["Guébie"] = "gie", ["Gvoko"] = "ngs", ["Gwa"] = "gwb", ["Gwahatike"] = "dah", ["Gwak"] = "jgk", ["Gwamhi-Wuri"] = "bga", ["Gwandara"] = "gwn", ["Gwara"] = "alv-gwa", ["Gweda"] = "grw", ["Gweno"] = "gwe", ["Gwere"] = "gwr", ["Gyalsumdo"] = "gyo", ["Gyele"] = "gyi", ["Gyem"] = "gye", ["Güenoa"] = "sai-gue", ["Habu"] = "hbu", ["Hadothi"] = "hoj", ["Hadrami"] = "xhd", ["Hadza"] = "hts", ["Haeke"] = "aek", ["Hahon"] = "hah", ["Haigwai"] = "hgw", ["Hainyaxo Bozo"] = "bzx", ["Haiphong Sign Language"] = "haf", ["Haitian Vodoun Culture Language"] = "hvc", ["Haiǁom"] = "hgm", ["Haji"] = "hji", ["Hakö"] = "hao", ["Halang Doan"] = "hld", ["Halia"] = "hla", ["Hamap"] = "hmu", ["Hamba"] = "hba", ["Hamtai"] = "hmt", ["Hanga"] = "hag", ["Hanga Hundi"] = "wos", ["Hanoi Sign Language"] = "hab", ["Harami"] = "xha", ["Haraza"] = "nub-har", ["Haruai"] = "tmd", ["Haruku"] = "hrk", ["Harzani"] = "hrz", ["Hasaitic"] = "sem-has", ["Hasha"] = "ybj", ["Tiếng Ả Rập Hassaniya"] = "mey", ["Tiếng Hatam"] = "had", ["Hausa Sign Language"] = "hsl", ["Haveke"] = "hvk", ["Havu"] = "hav", ["Hawai'i Pidgin Sign Language"] = "hps", ["Hawaiian Creole"] = "hwc", ["Haya"] = "hay", ["Hdi"] = "xed", ["Hehe"] = "heh", ["Helong"] = "heg", ["Helu"] = "elu-prk", ["Hema"] = "nix", ["Hemba"] = "hem", ["Herdé"] = "hed", ["Hermit"] = "llf", ["Hewa"] = "ham", ["Heyo"] = "auk", ["Hibito"] = "hib", ["Hidatsa"] = "hid", ["Highland Konjo"] = "kjk", ["Highland Oaxaca Chontal"] = "chd", ["Highland Puebla Nahuatl"] = "azz", ["Hijuk"] = "hij", ["Himarimã"] = "hir", ["Himyaritic"] = "sem-him", ["Hismaic"] = "sem-his", ["Hitchiti"] = "nai-hit", ["Hitu"] = "htu", ["Hixkaryana"] = "hix", ["Hlepho Phowa"] = "yhl", ["Hlersu"] = "hle", ["Hmar"] = "hmr", ["Hmong Dô"] = "hmv", ["Hmong Shua"] = "hmz", ["Hmwaveke"] = "mrk", ["Ho Chi Minh City Sign Language"] = "hos", ["Hobyót"] = "hoh", ["Hoia Hoia"] = "hhi", ["Holikachuk"] = "hoi", ["Holma"] = "hod", ["Holoholo"] = "hoo", ["Holu"] = "hol", ["Homa"] = "hom", ["Honduran Lenca"] = "len", ["Honduras Sign Language"] = "hds", ["Hone"] = "juh", ["Hong Kong Sign Language"] = "hks", ["Honi"] = "how", ["Horned Miao"] = "hrm", ["Horo"] = "hor", ["Horom"] = "hoe", ["Hote"] = "hot", ["Hoti"] = "hti", ["Hovongan"] = "hov", ["Hoyahoya"] = "hhy", ["Hrangkhol"] = "hra", ["Hruso"] = "hru", ["Huachipaeri"] = "hug", ["Huambisa"] = "hub", ["Huaorani"] = "auc", ["Huarijio"] = "var", ["Huaulu"] = "hud", ["Huautla Mazatec"] = "mau", ["Huave"] = "huv", ["Huaxcaleca Nahuatl"] = "nhq", ["Huba"] = "hbb", ["Huehuetla Tepehua"] = "tee", ["Huetar"] = "cba-hue", ["Huichol"] = "hch", ["Huilliche"] = "huh", ["Huitepec Mixtec"] = "mxs", ["Hukumina"] = "huw", ["Hula"] = "hul", ["Tiếng Huli"] = "hui", ["Hulung"] = "huk", ["Humene"] = "huf", ["Hun"] = "uth", ["Hunde"] = "hke", ["Hungana"] = "hum", ["Hungarian Sign Language"] = "hsh", ["Hungworo"] = "nat", ["Hunjara-Kaina Ke"] = "hkk", ["Hunnic"] = "xhc", ["Hupla"] = "hap", ["Hutterisch"] = "geh", ["Hwana"] = "hwo", ["Hya"] = "hya", ["Hän"] = "haa", ["Hértevin"] = "hrt", ["I-Wak"] = "iwk", ["Iamalele"] = "yml", ["Iatmul"] = "ian", ["Iau"] = "tmu", ["Ibali Teke"] = "tek", ["Ibani"] = "iby", ["Iberian"] = "xib", ["Iboko"] = "bkp", ["Ibu"] = "ibu", ["Icelandic Sign Language"] = "icl", ["Iceve-Maci"] = "bec", ["Idakho-Isukha-Tiriki"] = "ida", ["Idaté"] = "idt", ["Idere"] = "ide", ["Idesa"] = "ids", ["Idi"] = "idi", ["Idoma"] = "idu", ["Idon"] = "idc", ["Idun"] = "ldb", ["Iduna"] = "viv", ["Ifo"] = "iff", ["Igana"] = "igg", ["Igede"] = "ige", ["Ignaciano"] = "ign", ["Igo"] = "ahl", ["Iguta"] = "nar", ["Igwe"] = "igw", ["Iha"] = "ihp", ["Ihievbe"] = "ihi", ["Ija-Zuba"] = "vki", ["Ik"] = "ikx", ["Ika"] = "ikk", ["Ikaranggal"] = "ikr", ["Ikizu"] = "ikz", ["Iko"] = "iki", ["Ikobi-Mena"] = "meb", ["Ikoma"] = "ntk", ["Ikpeng"] = "txi", ["Ikpeshi"] = "ikp", ["Iku-Gora-Ankwa"] = "ikv", ["Ikulu"] = "ikl", ["Ikwo"] = "iqw", ["Ila"] = "ilb", ["Ile Ape"] = "ila", ["Ilgar"] = "ilg", ["Ili'uun"] = "ilu", ["Ilianen Manobo"] = "mbi", ["Illyrian"] = "xil", ["Ilongot"] = "ilk", ["Ilue"] = "ilv", ["Ilwana"] = "mlk", ["Imbongu"] = "imo", ["Imonda"] = "imn", ["Imroing"] = "imr", ["Inabaknon"] = "abx", ["Inapang"] = "mzu", ["Indanga"] = "bnt-ind", ["Indian Sign Language"] = "ins", ["Indonesian Bajau"] = "bdl", ["Indonesian Sign Language"] = "inl", ["Indri"] = "idr", ["Indus Valley Language"] = "xiv", ["Inebu One"] = "oin", ["Ineseño"] = "inz", ["Inga"] = "inb", ["Inlaod Itneg"] = "iti", ["Inoke-Yate"] = "ino", ["Inonhan"] = "loc", ["Inpui Naga"] = "nkf", ["International Sign"] = "ils", ["Inuinnaqtun"] = "esx-inq", ["Inuit Sign Language"] = "iks", ["Inuktun"] = "esx-ink", ["Ipai"] = "nai-ipa", ["Ipalapa Amuzgo"] = "azm", ["Ipiko"] = "ipo", ["Ipili"] = "ipi", ["Ipulo"] = "ass", ["Iquito"] = "iqu", ["Ir"] = "irr", ["Irantxe"] = "irn", ["Iranun"] = "ill", ["Irarutu"] = "irh", ["Iraya"] = "iry", ["Iresim"] = "ire", ["Iriga Bicolano"] = "bto", ["Irish Sign Language"] = "isg", ["Isabi"] = "isa", ["Isanzu"] = "isn", ["Isarog Agta"] = "agk", ["Isaurian"] = "und-isa", ["Isconahua"] = "isc", ["Isebe"] = "igo", ["Isinai"] = "inn", ["Isirawa"] = "srl", ["Islander Creole English"] = "icr", ["Israeli Sign Language"] = "isr", ["Isthmus Mixe"] = "mir", ["Isu"] = "isu", ["Isubu"] = "szv", ["Italian Sign Language"] = "ise", ["Itawit"] = "itv", ["Iteri"] = "itr", ["Itik"] = "itx", ["Ito"] = "itw", ["Itundujia Mixtec"] = "mce", ["Itzá"] = "itz", ["Iwal"] = "kbm", ["Iwam"] = "iwm", ["Iwur"] = "iwo", ["Ixcatec"] = "ixc", ["Ixcatlán Mazatec"] = "mzi", ["Ixtayutla Mixtec"] = "vmj", ["Ixtenco Otomi"] = "otz", ["Iyayu"] = "iya", ["Iyive"] = "uiv", ["Iyo"] = "nca", ["Iyo'wujwa Chorote"] = "crq", ["Iyojwa'ja Chorote"] = "crt", ["Izere"] = "izr", ["Izi"] = "izz", ["Izi-Ezaa-Ikwo-Mgbo"] = "izi", ["Izora"] = "cbo", ["Iñapari"] = "inp", ["Jabem"] = "jae", ["Jabutí"] = "jbt", ["Jad"] = "jda", ["Jadgali"] = "jdg", ["Jahanka"] = "jad", ["Jair Awyu"] = "awv", ["Jakati"] = "jat", ["Jalapa de Díaz Mazatec"] = "maj", ["Jalkunan"] = "bxl", ["Jamaican Country Sign Language"] = "jcs", ["Jamaican Sign Language"] = "jls", ["Jambi Malay"] = "jax", ["Jamiltepec Mixtec"] = "mxt", ["Jaminjung"] = "djd", ["Jamsay"] = "djm", ["Jamtish"] = "gmq-jmk", ["Jandavra"] = "jnd", ["Janday"] = "jan", ["Jangkang"] = "djo", ["Jangshung"] = "jna", ["Janji"] = "jni", ["Japanese Sign Language"] = "jsl", ["Japrería"] = "jru", ["Jara"] = "jaf", ["Jaru"] = "ddj", ["Jassic"] = "ysc", ["Jawe"] = "jaz", ["Jaya"] = "jyy", ["Jebero"] = "jeb", ["Jeikó"] = "sai-jko", ["Jenaama Bozo"] = "bze", ["Jeng"] = "jeg", ["Jere"] = "jer", ["Jeri Kuo"] = "jek", ["Jerung"] = "jee", ["Jhankot Sign Language"] = "jhs", ["Jiamao"] = "jio", ["Jiba"] = "juo", ["Jibu"] = "jib", ["Jilbe"] = "jie", ["Jili"] = "mgi", ["Jilim"] = "jil", ["Jimi"] = "jmi", ["Jimjimen"] = "jim", ["Jina"] = "jia", ["Jingulu"] = "jig", ["Jiongnai Bunu"] = "pnu", ["Jirajara"] = "sai-jrj", ["Jiru"] = "jrr", ["Jita"] = "jit", ["Joba"] = "job", ["Jofotek-Bromnya"] = "jbr", ["Jola-Fonyi"] = "dyo", ["Jola-Kasa"] = "csk", ["Jonkor Bourmataguil"] = "jeu", ["Jordanian Sign Language"] = "jos", ["Jorá"] = "jor", ["Jowulu"] = "jow", ["Ju"] = "juu", ["Jumla Sign Language"] = "jus", ["Jumli"] = "jml", ["Jungle Inga"] = "inj", ["Juquila Mixe"] = "mxq", ["Jur Modo"] = "bex", ["Jurúna"] = "jur", ["Jutiapa"] = "nai-jtp", ["Juwal"] = "mwb", ["Juxtlahuaca Mixtec"] = "vmc", ["Jwira-Pepesa"] = "jwi", ["Júma"] = "jua", ["Kaamba"] = "xku", ["Kaan"] = "ldl", ["Kaang Chin"] = "ckn", ["Kaansa"] = "gna", ["Kaapor Sign Language"] = "uks", ["Kaba"] = "ksp", ["Kabalai"] = "kvf", ["Kabatei"] = "xkp", ["Kabba-Laka"] = "lap", ["Kabishiana"] = "tup-kab", ["Kabola"] = "klz", ["Kabore One"] = "onk", ["Kabras"] = "lkb", ["Kaburi"] = "uka", ["Kabutra"] = "kbu", ["Kabwa"] = "cwa", ["Kabwari"] = "kcw", ["Kachari"] = "xac", ["Kacipo-Balesi"] = "koe", ["Kaco'"] = "xkk", ["Kadai"] = "kzd", ["Kadara"] = "kad", ["Kadaru"] = "kdu", ["Kadiwéu"] = "kbc", ["Kado"] = "kdv", ["Kadugli"] = "xtc", ["Kaduo"] = "ktp", ["Kaera"] = "jka", ["Kafoa"] = "kpu", ["Kagan Kalagan"] = "kll", ["Kagate"] = "syw", ["Kagoma"] = "kdm", ["Kagoro"] = "xkg", ["Kagulu"] = "kki", ["Kahe"] = "hka", ["Kahua"] = "agw", ["Kaian"] = "kct", ["Kaibobo"] = "kzb", ["Kaidipang"] = "kzp", ["Kaiep"] = "kbw", ["Kaike"] = "kzq", ["Kaiku"] = "kkq", ["Kaimbulawa"] = "zka", ["Kaimbé"] = "xai", ["Kairak"] = "ckr", ["Kairiru"] = "kxa", ["Kairui-Midiki"] = "krd", ["Kais"] = "kzm", ["Kaivi"] = "kce", ["Kaiwá"] = "kgk", ["Kaiy"] = "tcq", ["Kajakse"] = "ckq", ["Kajali"] = "xkj", ["Kajaman"] = "kag", ["Kakabe"] = "kke", ["Kakanda"] = "kka", ["Kakihum"] = "kxe", ["Kako"] = "kkj", ["Kakwa"] = "keo", ["Kala"] = "kcl", ["Kala Lagaw Ya"] = "mwp", ["Kalaamaya"] = "lkm", ["Kalabakan"] = "kve", ["Kalabari"] = "ijn", ["Kalabra"] = "kzz", ["Kalagan"] = "kqe", ["Kalaktang Monpa"] = "kkf", ["Kalam"] = "kmh", ["Kalamsé"] = "knz", ["Kalanadi"] = "wkl", ["Kalanga"] = "kck", ["Kalapuya"] = "kyl", ["Kalarko"] = "kba", ["Kalasuri"] = "xme-kls", ["Kalenjin"] = "kln", ["Kalinago"] = "crb", ["Kalkatungu"] = "ktg", ["Kalou"] = "ywa", ["Kaluli"] = "bco", ["Kalumpang"] = "kli", ["Kam"] = "kdx", ["Kamakan"] = "vkm", ["Kamang"] = "woi", ["Kamano"] = "kbq", ["Kamantan"] = "kci", ["Kamar"] = "keq", ["Kamara"] = "jmr", ["Kamarian"] = "kzx", ["Kamaru"] = "kgx", ["Kamasa"] = "klp", ["Kamasau"] = "kms", ["Kamayurá"] = "kay", ["Kamba"] = "kam", ["Kambaira"] = "kyy", ["Kamberataro"] = "kbv", ["Kamberau"] = "irx", ["Kambiwá"] = "xbw", ["Kami"] = "kmi", ["Kamkata-viri"] = "bsh", ["Kamo"] = "kcq", ["Kamoro"] = "kgq", ["Kamu"] = "xmu", ["Kamwe"] = "hig", ["Kanakuru"] = "kna", ["Kanamari"] = "knm", ["Kanashi"] = "xns", ["Kanasi"] = "soq", ["Kandas"] = "kqw", ["Kandawo"] = "gam", ["Kande"] = "kbs", ["Kang"] = "kyp", ["Kanga"] = "kcp", ["Kanggape"] = "igm", ["Kango"] = "kty", ["Kango-Sua"] = "kzy", ["Kaniet"] = "ktk", ["Kanikkaran"] = "kev", ["Kaningdon-Nindem"] = "kdp", ["Kaningi"] = "kzo", ["Kaningra"] = "knr", ["Kaninuwa"] = "wat", ["Kanite"] = "kmu", ["Kanjari"] = "kft", ["Kanju"] = "kbe", ["Kanowit"] = "kxn", ["Kanoé"] = "kxo", ["Kansa"] = "ksk", ["Kantosi"] = "xkt", ["Kanu"] = "khx", ["Kanufi"] = "kni", ["Kanyok"] = "kny", ["Kao"] = "kax", ["Kaonde"] = "kqn", ["Kap"] = "ykm", ["Kapauri"] = "khp", ["Kapin"] = "tbx", ["Kapinawá"] = "xpn", ["Kapriman"] = "dju", ["Kaptiau"] = "kbi", ["Kapya"] = "klo", ["Kara (New Guinea)"] = "leu", ["Kara (Tanzania)"] = "reg", ["Karadjeri"] = "gbd", ["Karaga Mandaya"] = "mry", ["Karami"] = "xar", ["Karamojong"] = "kdj", ["Karang"] = "kzr", ["Karanga"] = "kth", ["Karankawa"] = "zkk", ["Karas"] = "kgv", ["Karawa"] = "xrw", ["Kare (Africa)"] = "kbn", ["Kare (New Guinea)"] = "kmf", ["Karey"] = "kyd", ["Kari"] = "kbj", ["Karingani"] = "kgn", ["Karipuna"] = "kuq", ["Karipúna"] = "kgm", ["Karipúna Creole French"] = "kmv", ["Kariya"] = "kil", ["Kariyarra"] = "vka", ["Karkar-Yuri"] = "yuj", ["Karkin"] = "krb", ["Karko"] = "kko", ["Karnai"] = "bbv", ["Karo Batak"] = "btx", ["Karok"] = "kyh", ["Karolanos"] = "kyn", ["Karon"] = "krx", ["Karon Dori"] = "kgw", ["Karore"] = "xkx", ["Karranga"] = "xrq", ["Karuwali"] = "rxw", ["Kasanga"] = "ccj", ["Kasem"] = "xsm", ["Kasiguranin"] = "ksn", ["Kaska"] = "kkz", ["Kaskean"] = "zsk", ["Kaskihá"] = "gva", ["Kassite"] = "und-kas", ["Kassonke"] = "kao", ["Kasua"] = "khs", ["Kataang"] = "kgd", ["Katabaga"] = "ktq", ["Katawixi"] = "xat", ["Katembri"] = "sai-kat", ["Kathlamet"] = "nai-kat", ["Kathoriya Tharu"] = "tkt", ["Kathu"] = "ykt", ["Katkari"] = "kfu", ["Katla"] = "kcr", ["Kato"] = "ktw", ["Katso"] = "kaf", ["Katukina"] = "knt", ["Kaulong"] = "pss", ["Kaur"] = "vkk", ["Kaure"] = "bpp", ["Kauwera"] = "xau", ["Kawacha"] = "kcb", ["Kawaiisu"] = "xaw", ["Kawe"] = "kgb", ["Kawishana"] = "awd-kaw", ["Kaxararí"] = "ktx", ["Kaxuyana"] = "kbb", ["Kaya"] = "zra", ["Kayabí"] = "kyz", ["Kayagar"] = "kyt", ["Kayan Mahakam"] = "xay", ["Kayan River Kayan"] = "xkn", ["Kayardild"] = "gyd", ["Kayeli"] = "kzl", ["Kaytetye"] = "gbb", ["Kayupulau"] = "kzu", ["Kazukuru"] = "kzk", ["Ke'o"] = "xxk", ["Keak"] = "keh", ["Keapara"] = "khz", ["Kedang"] = "ksx", ["Keder"] = "kdy", ["Kehu"] = "khh", ["Kei"] = "kei", ["Keiga"] = "kec", ["Kein"] = "bmh", ["Keiyo"] = "eyo", ["Kela-Yela"] = "kel", ["Kelabit"] = "kzi", ["Keley-I Kallahan"] = "ify", ["Tiếng Keliko"] = "kbo", ["Kelo"] = "xel", ["Kelon"] = "kyo", ["Kemak"] = "kem", ["Kembayan"] = "xem", ["Kemberano"] = "bzp", ["Kembra"] = "xkw", ["Kemezung"] = "dmo", ["Kemi Sami"] = "sjk", ["Kemiehua"] = "kfj", ["Kemtuik"] = "kmt", ["Kenaboi"] = "xbn", ["Kenati"] = "gat", ["Kendayan"] = "knx", ["Kendeje"] = "klf", ["Kendem"] = "kvm", ["Kenga"] = "kyq", ["Keningau Murut"] = "kxi", ["Keninjal"] = "knl", ["Kenswei Nsei"] = "ndb", ["Kenyan Sign Language"] = "xki", ["Kenyi"] = "lke", ["Keoru-Ahia"] = "xeu", ["Kepkiriwát"] = "kpn", ["Kepo'"] = "kuk", ["Kera"] = "ker", ["Kerak"] = "hhr", ["Kereho"] = "xke", ["Kerewe"] = "ked", ["Kerewo"] = "kxz", ["Kerinci"] = "kvr", ["Kesawai"] = "xes", ["Ketangalan"] = "kae", ["Kete"] = "kcv", ["Ketengban"] = "xte", ["Ketum"] = "ktt", ["Kewa"] = "kew", ["Keyagana"] = "kyg", ["Kgalagadi"] = "xkv", ["Khana"] = "ogo", ["Khandeshi"] = "khn", ["Khao"] = "xao", ["Kharam Naga"] = "kfw", ["Kharia Thar"] = "ksy", ["Khayo"] = "lko", ["Khe"] = "kqg", ["Khehek"] = "tlx", ["Khetrani"] = "xhe", ["Khezha Naga"] = "nkh", ["Khirwar"] = "kwx", ["Khisa"] = "kqm", ["Khlor"] = "llo", ["Khlula"] = "ykl", ["Khoibu Naga"] = "nkb", ["Khoini"] = "xkc", ["Kholok"] = "ktc", ["Khumi Chin"] = "cnk", ["Khwe"] = "xuu", ["Kibala"] = "blv", ["Kibena"] = "bez", ["Kibet"] = "kie", ["Kibiri"] = "prm", ["Kichwa"] = "qwe-kch", ["Kikami"] = "kcu", ["Kilit"] = "xme-klt", ["Kilivila"] = "kij", ["Kiliwa"] = "klb", ["Kilmeri"] = "kih", ["Kimaama"] = "kig", ["Kimaragang"] = "kqr", ["Kimbu"] = "kiv", ["Kimki"] = "sbt", ["Kimré"] = "kqp", ["Kinabalian"] = "cbw", ["Kinalakna"] = "kco", ["Kinga"] = "zga", ["Kings River Yokuts"] = "nai-kry", ["Kinikinao"] = "gqn", ["Kinuku"] = "kkd", ["Kioko"] = "ues", ["Kiong"] = "kkm", ["Kiorr"] = "xko", ["Kipfokomo"] = "pkb", ["Kipsigis"] = "sgc", ["Kiput"] = "kyi", ["Kir-Balar"] = "kkr", ["Kire"] = "geb", ["Kirfi"] = "kks", ["Kirikiri"] = "kiy", ["Kirya-Konzel"] = "fkk", ["Kis"] = "kis", ["Kisa"] = "lks", ["Kisankasa"] = "kqh", ["Kisar"] = "kje", ["Kisi"] = "kiz", ["Kita Maninkakan"] = "mwk", ["Kitanemuk"] = "azc-ktn", ["Kitembo"] = "tbt", ["Kitja"] = "gia", ["Kitsai"] = "kii", ["Kiunum"] = "wei", ["Kla"] = "lda", ["Klamath-Modoc"] = "kla", ["Klao"] = "klu", ["Klias River Kadazan"] = "kqt", ["Ko"] = "fuj", ["Koasati"] = "cku", ["Koba"] = "kpd", ["Kobiana"] = "kcj", ["Kobol"] = "kgu", ["Kochila Tharu"] = "thq", ["Kodaku"] = "ksz", ["Kodeoha"] = "vko", ["Kodi"] = "kod", ["Kodia"] = "kwp", ["Koenoem"] = "kcs", ["Kofa"] = "kso", ["Kofei"] = "kpi", ["Kofyar"] = "kwl", ["Kohin"] = "kkx", ["Kohumono"] = "bcs", ["Koi"] = "kkt", ["Koireng"] = "nkd", ["Koitabu"] = "kqi", ["Koiwat"] = "kxt", ["Kok-Nar"] = "gko", ["Kok-Paponk"] = "okg", ["Kokata"] = "ktd", ["Koke"] = "kou", ["Koko-Bera"] = "kkp", ["Kokoda"] = "xod", ["Kokola"] = "kzn", ["Kokota"] = "kkk", ["Kol (Cameroon)"] = "biw", ["Kol (New Guinea)"] = "kol", ["Kola"] = "kvv", ["Kolbila"] = "klc", ["Kolibugan Subanon"] = "skn", ["Kolom"] = "klm", ["Koluwawa"] = "klx", ["Kom (India)"] = "kmm", ["Koma"] = "kmy", ["Komba"] = "kpf", ["Kombai"] = "tyn", ["Kombio"] = "xbi", ["Komering"] = "kge", ["Kominimung"] = "xoi", ["Kompane"] = "kvp", ["Komyandaret"] = "kzv", ["Kon Keu"] = "kkn", ["Konai"] = "kxw", ["Konda"] = "knd", ["Koneraw"] = "kdw", ["Konkomba"] = "xon", ["Konni"] = "kma", ["Kono (Guinea)"] = "knu", ["Kono (Nigeria)"] = "klk", ["Kono (Sierra Leone)"] = "kno", ["Konomala"] = "koa", ["Konomihu"] = "nai-knm", ["Konongo"] = "kcz", ["Konyak Naga"] = "nbe", ["Konyanka Maninka"] = "mku", ["Konzo"] = "koo", ["Kopar"] = "xop", ["Kopkaka"] = "opk", ["Korafe-Yegha"] = "kpr", ["Korak"] = "koz", ["Korana"] = "kqz", ["Korandje"] = "kcy", ["Korean Sign Language"] = "kvk", ["Koreguaje"] = "coe", ["Koresh-e Rostam"] = "okh", ["Korlai Creole Portuguese"] = "vkp", ["Koro (India)"] = "jkr", ["Koro (New Guinea)"] = "kxr", ["Koro (Vanuatu)"] = "krf", ["Koro (West Africa)"] = "kfo", ["Koromfé"] = "kfz", ["Koromira"] = "kqj", ["Koronadal Blaan"] = "bpr", ["Koroni"] = "xkq", ["Korop"] = "krp", ["Koropó"] = "xxr", ["Koroshi"] = "ktl", ["Korowai"] = "khe", ["Korubo"] = "xor", ["Korupun-Sela"] = "kpq", ["Kosadle"] = "kiq", ["Kosarek Yale"] = "kkl", ["Kosena"] = "kze", ["Koshin"] = "kid", ["Kota (Gabon)"] = "koq", ["Kota Bangun Kutai Malay"] = "mqg", ["Kota Marudu Talantang"] = "grm", ["Kota Marudu Tinagas"] = "ktr", ["Kotafon Gbe"] = "kqk", ["Koti"] = "eko", ["Kou"] = "snz", ["Kouya"] = "kyf", ["Kovai"] = "kqb", ["Kove"] = "kvc", ["Kowaki"] = "xow", ["Kowiai"] = "kwh", ["Koy Sanjaq Surat"] = "kqd", ["Koyaga"] = "kga", ["Koyo"] = "koh", ["Koyra Chiini"] = "khq", ["Koyukon"] = "koy", ["Kpagua"] = "kuw", ["Kpala"] = "kpl", ["Kpan"] = "kpk", ["Kpasam"] = "pbn", ["Kpati"] = "koc", ["Kpatili"] = "kym", ["Kpee"] = "cpo", ["Kpelle"] = "kpe", ["Kpessi"] = "kef", ["Kplang"] = "kph", ["Krache"] = "kye", ["Krahô"] = "xra", ["Krenak"] = "kqq", ["Krevinian"] = "zkv", ["Kreye"] = "xre", ["Krikati-Timbira"] = "xri", ["Krim"] = "krm", ["Krisa"] = "ksi", ["Kristang"] = "mcm", ["Krobu"] = "kxb", ["Krongo"] = "kgo", ["Kua"] = "tyu", ["Kua-nsi"] = "ykn", ["Kuamasi"] = "yku", ["Kuan"] = "uan", ["Kuanhua"] = "xnh", ["Kube"] = "kgf", ["Kubi"] = "kof", ["Kubo"] = "jko", ["Kubu"] = "kvb", ["Kucong"] = "lkc", ["Kudu-Camo"] = "kov", ["Kugama"] = "kow", ["Kugbo"] = "kes", ["Kugu-Muminh"] = "xmh", ["Kui (Indonesia)"] = "kvd", ["Kuijau"] = "dkr", ["Kuikúro"] = "kui", ["Kujarge"] = "vkj", ["Kuk"] = "kfn", ["Kukatja"] = "kux", ["Kukele"] = "kez", ["Kukkuzi"] = "urj-kuk", ["Kuku-Mangk"] = "xmq", ["Kuku-Mu'inh"] = "xmp", ["Kuku-Thaypan"] = "typ", ["Kuku-Ugbanh"] = "ugb", ["Kuku-Uwanh"] = "uwa", ["Kuku-Yalanji"] = "gvn", ["Kula"] = "tpg", ["Kulaal"] = "glj", ["Kulere"] = "kul", ["Kulfa"] = "kxj", ["Kulina"] = "xpk", ["Kulisusu"] = "vkl", ["Kulon"] = "uon", ["Kulung"] = "kle", ["Kumak"] = "nee", ["Kumalu"] = "ksl", ["Kumam"] = "kdi", ["Kuman"] = "kue", ["Kumaoni"] = "kfy", ["Kumba"] = "ksm", ["Kumbainggar"] = "kgs", ["Kumbaran"] = "wkb", ["Kumhali"] = "kra", ["Kumu"] = "kmw", ["Kumukio"] = "kuo", ["Kunama"] = "kun", ["Kunbarlang"] = "wlg", ["Kunda"] = "kdn", ["Kunduvadi"] = "wku", ["Kung"] = "kfl", ["Kungarakany"] = "ggk", ["Kungardutyi"] = "gdt", ["Kunggari"] = "kgl", ["Kungkari"] = "lku", ["Kuni"] = "kse", ["Kuni-Boazi"] = "kvg", ["Kunimaipa"] = "kup", ["Kunja"] = "pep", ["Kunjen"] = "kjn", ["Kunyi"] = "njx", ["Kunza"] = "kuz", ["Kuot"] = "kto", ["Kupa"] = "kug", ["Kupang Malay"] = "mkn", ["Kupsabiny"] = "kpz", ["Kur"] = "kuv", ["Kura Ede Nago"] = "nqk", ["Kurama"] = "krh", ["Kuranko"] = "knk", ["Tiếng Kuri"] = "nbn", ["Kuria"] = "kuj", ["Kurmukar"] = "kfv", ["Kurnai"] = "unn", ["Kurrama"] = "vku", ["Kurti"] = "ktm", ["Kurtjar"] = "gdj", ["Kurudu"] = "kjr", ["Kuruáya"] = "kyr", ["Tiếng Kusaal"] = "kus", ["Kusaghe"] = "ksg", ["Kustenau"] = "awd-kus", ["Kusu"] = "ksv", ["Kusunda"] = "kgg", ["Kuthant"] = "xut", ["Kutto"] = "kpa", ["Kutu"] = "kdc", ["Kuturmi"] = "khj", ["Kuuk Thaayorre"] = "thd", ["Kuuk Yak"] = "uky", ["Kuuku-Ya'u"] = "kuy", ["Kuvale"] = "olu", ["Kuwaa"] = "blh", ["Kuwaataay"] = "cwt", ["Kuwani"] = "paa-kwn", ["Kwa'"] = "bko", ["Kwaami"] = "ksq", ["Kwadi"] = "kwz", ["Kwaio"] = "kwd", ["Kwaja"] = "kdz", ["Kwak"] = "kwq", ["Kwakum"] = "kwu", ["Kwalhioqua-Tlatskanai"] = "qwt", ["Kwama"] = "kmq", ["Kwambi"] = "kwm", ["Kwamera"] = "tnk", ["Kwami"] = "ktf", ["Kwamtim One"] = "okk", ["Kwang"] = "kvi", ["Kwanga"] = "kwj", ["Kwangali"] = "kwn", ["Kwanka"] = "bij", ["Kwara'ae"] = "kwf", ["Kwasio"] = "nmg", ["Kwaya"] = "kya", ["Kwaza"] = "xwa", ["Kwegu"] = "xwg", ["Kwer"] = "kwr", ["Kwerba"] = "kwe", ["Kwerba Mamberamo"] = "xwr", ["Kwere"] = "cwe", ["Kwerisa"] = "kkb", ["Kwese"] = "kws", ["Kwesten"] = "kwt", ["Kwini"] = "gww", ["Kwinsu"] = "kuc", ["Kwoma"] = "kmo", ["Kwomtari"] = "kwo", ["Kyak"] = "bka", ["Kyaka"] = "kyc", ["Kyan-Karyaw Naga"] = "nqq", ["Kyenele"] = "kql", ["Kyenga"] = "tye", ["Kyerung"] = "kgy", ["Kélé"] = "keb", ["Kómnzo"] = "paa-kom", ["La'bi"] = "lbi", ["Laal"] = "gdm", ["Laba"] = "lau", ["Label"] = "lbb", ["Labir"] = "jku", ["Labo"] = "mwi", ["Labo Phowa"] = "ypb", ["Labu"] = "lbu", ["Labuk-Kinabatangan Kadazan"] = "dtb", ["Lacandon"] = "lac", ["Lachi"] = "lbt", ["Lachiguiri Zapotec"] = "zpa", ["Lachixío Zapotec"] = "zpl", ["Ladji-Ladji"] = "llj", ["Laeko-Libuat"] = "lkl", ["Lafofa"] = "laf", ["Laghu"] = "lgb", ["Laghuu"] = "lgh", ["Lagwan"] = "kot", ["Laha (Indonesia)"] = "lhh", ["Tiếng La Ha"] = "lha", ["Lahanan"] = "lhn", ["Lahu Shi"] = "lhi", ["Lahul Lohar"] = "lhl", ["Laimbue"] = "lmx", ["Laitu Chin"] = "clj", ["Laiyolo"] = "lji", ["Laka"] = "lak", ["Lake Miwok"] = "lmw", ["Lakha"] = "lkh", ["Lakkia"] = "lbc", ["Lakon"] = "lkn", ["Lakondê"] = "lkd", ["Lakota Dida"] = "dic", ["Lala (New Guinea)"] = "nrz", ["Lala (South Africa)"] = "bnt-lal", ["Lala-Bisa"] = "leb", ["Lala-Roba"] = "lla", ["Lalana Chinantec"] = "cnl", ["Lamaholot"] = "slp", ["Lamalera"] = "lmr", ["Lamang"] = "hia", ["Lamatuka"] = "lmq", ["Lamba"] = "lam", ["Lambichhong"] = "lmh", ["Lambya"] = "lai", ["Lame"] = "bma", ["Lamenu"] = "lmu", ["Lamet"] = "lbn", ["Lamja-Dengsa-Tola"] = "ldh", ["Lamma"] = "lev", ["Lamnso'"] = "lns", ["Lamogai"] = "lmg", ["Lampung Api"] = "ljp", ["Lamu"] = "llh", ["Lamu-Lamu"] = "lby", ["Lanas Lobu"] = "ruu", ["Landoma"] = "ldm", ["Lang'e"] = "yne", ["Langam"] = "lnm", ["Langbashe"] = "lna", ["Langi"] = "lag", ["Langnian Buyang"] = "yln", ["Lango (Sudan)"] = "lno", ["Lango (Uganda)"] = "laj", ["Lanima"] = "lnw", ["Lao Naga"] = "nlq", ["Laopang"] = "lbg", ["Laos Sign Language"] = "lso", ["Lapaguía-Guivini Zapotec"] = "ztl", ["Lapine"] = "art-lap", ["Lapuyan Subanun"] = "laa", ["Laragia"] = "lrg", ["Larantuka Malay"] = "lrt", ["Lardil"] = "lbz", ["Larevat"] = "lrv", ["Larike-Wakasihu"] = "alo", ["Laro"] = "lro", ["Larteh"] = "lar", ["Laru"] = "lan", ["Lasgerdi"] = "lsa", ["Lasi"] = "lss", ["Latu"] = "ltu", ["Latvian Sign Language"] = "lsl", ["Lau"] = "llu", ["Laua"] = "luf", ["Lauan"] = "llx", ["Lauje"] = "law", ["Laura"] = "lur", ["Laurentian"] = "lre", ["Lavatbura-Lamusong"] = "lbv", ["Lawangan"] = "lbx", ["Lawu"] = "lwu", ["Lawunuia"] = "tgi", ["Laze"] = "tbq-laz", ["Lealao Chinantec"] = "cle", ["Leco"] = "lec", ["Ledo Kaili"] = "lew", ["Leelau"] = "ldk", ["Lefa"] = "lfa", ["Lega-Mwenga"] = "lgm", ["Lega-Shabunda"] = "lea", ["Legbo"] = "agb", ["Legenyem"] = "lcc", ["Lehali"] = "tql", ["Lehalurup"] = "urr", ["Leinong Naga"] = "lzn", ["Leipon"] = "lek", ["Lela"] = "dri", ["Lelak"] = "llk", ["Lele (Chad)"] = "lln", ["Lele (Congo)"] = "lel", ["Lele (Guinea)"] = "llc", ["Lele (New Guinea)"] = "lle", ["Lelepa"] = "lpa", ["Lembena"] = "leq", ["Lemerig"] = "lrz", ["Lemio"] = "lei", ["Lemolang"] = "ley", ["Lemoro"] = "ldj", ["Lenakel"] = "tnl", ["Lendu"] = "led", ["Lengilu"] = "lgi", ["Lengo"] = "lgr", ["Lengola"] = "lej", ["Lenje"] = "leh", ["Lenkau"] = "ler", ["Lenyima"] = "ldg", ["Lepki"] = "lpe", ["Lere"] = "gnh", ["Lese"] = "les", ["Lesing-Gelimi"] = "let", ["Letemboi"] = "nms", ["Leti (Cameroon)"] = "leo", ["Leti (Indonesia)"] = "lti", ["Levuka"] = "lvu", ["Lewo Eleng"] = "lwe", ["Lewotobi"] = "lwt", ["Leyigha"] = "ayi", ["Lhokpu"] = "lhp", ["Li'o"] = "ljl", ["Liana-Seti"] = "ste", ["Liangmai Naga"] = "njn", ["Liberian Kreyol"] = "lir", ["Libinza"] = "liz", ["Libon Bikol"] = "lbl", ["Liburnian"] = "xli", ["Libyan Sign Language"] = "lbs", ["Ligbi"] = "lig", ["Ligenza"] = "lgz", ["Lihir"] = "lih", ["Lika"] = "lik", ["Liki"] = "lio", ["Likila"] = "lie", ["Likuba"] = "kxx", ["Likum"] = "lib", ["Likwala"] = "kwc", ["Lilau"] = "lll", ["Limassa"] = "bme", ["Limbu"] = "lif", ["Limi"] = "ylm", ["Limilngan"] = "lmc", ["Linear A"] = "lab", ["Lingkhim"] = "lii", ["Lingua Franca Nova"] = "lfn", ["Linngithigh"] = "lnj", ["Lipo"] = "lpo", ["Lisabata-Nuniali"] = "lcs", ["Lisela"] = "lcl", ["Lish"] = "lsh", ["Lishán Didán"] = "trg", ["Lithuanian Sign Language"] = "lls", ["Little Swanport"] = "aus-lsw", ["Litzlitz"] = "lzl", ["Lizu"] = "sit-liz", ["Lo-Toga"] = "lht", ["Loarki"] = "lrk", ["Lobala"] = "loq", ["Logo"] = "log", ["Logol"] = "lof", ["Logooli"] = "rag", ["Logorik"] = "liu", ["Lokaa"] = "yaz", ["Loko"] = "lok", ["Lokoya"] = "lky", ["Lola"] = "lcd", ["Lolak"] = "llq", ["Lole"] = "llg", ["Lolo"] = "llb", ["Loloda"] = "loa", ["Lolopo"] = "ycl", ["Lomaiviti"] = "lmv", ["Lomakka"] = "loi", ["Lombi"] = "lmi", ["Lombo"] = "loo", ["Lomwe"] = "ngl", ["Loncong"] = "lce", ["Long Phuri Naga"] = "lpn", ["Long Wat"] = "ttw", ["Longgu"] = "lgu", ["Longto"] = "wok", ["Longuda"] = "lnu", ["Loniu"] = "los", ["Lonwolwol"] = "crc", ["Loo"] = "ldo", ["Lopa"] = "lop", ["Lope"] = "yiu", ["Lopi"] = "lov", ["Lopit"] = "lpx", ["Lorang"] = "lrn", ["Lorediakarkar"] = "lnn", ["Lote"] = "uvl", ["Lotud"] = "dtr", ["Lotuko"] = "lot", ["Loun"] = "lox", ["Loup A"] = "xlo", ["Loup B"] = "xlb", ["Lovono"] = "vnk", ["Lower Burdekin"] = "xbb", ["Lower Chehalis"] = "cea", ["Lower Grand Valley Dani"] = "dni", ["Lower Nossob"] = "nsb", ["Lower Southern Aranda"] = "axl", ["Lower Ta'oih"] = "tto", ["Lowland Oaxaca Chontal"] = "clo", ["Lowland Tarahumara"] = "tac", ["Loxicha Zapotec"] = "ztp", ["Lozi"] = "loz", ["Luang"] = "lex", ["Tiếng Luba-Kasai"] = "lua", ["Lubila"] = "kcc", ["Lubu"] = "lcf", ["Tiếng Kalinga Lubuagan"] = "knb", ["Luchazi"] = "lch", ["Lufu"] = "ldq", ["Lugbara"] = "lgg", ["Luguru"] = "ruf", ["Luhu"] = "lcq", ["Luimbi"] = "lum", ["Luiseño"] = "lui", ["Lule"] = "ule", ["Lule Sami"] = "smj", ["Lumba-Yakkha"] = "luu", ["Lumbee"] = "lmz", ["Lumun"] = "lmd", ["Lun Bawang"] = "lnd", ["Luna"] = "luj", ["Lunda"] = "lun", ["Lungga"] = "lga", ["Luo"] = "luo", ["Luopohe Hmong"] = "hml", ["Luri (Nigeria)"] = "ldd", ["Lusengo"] = "lse", ["Lusi"] = "khl", ["Lusitanian"] = "xls", ["Lutachoni"] = "lts", ["Lutos"] = "ndy", ["Luvale"] = "lue", ["Luwati"] = "luv", ["Luwo"] = "lwo", ["Luyana"] = "lyn", ["Lwalu"] = "lwa", ["Lwel"] = "lvl", ["Lyélé"] = "lee", ["Tiếng Láadan"] = "ldn", ["Láá Láá Bwamu"] = "bwj", ["Ma"] = "msj", ["Tiếng Ma Manda"] = "skc", ["Ma'di"] = "mhi", ["Ma'ya"] = "slz", ["Maba"] = "mqa", ["Mabaale"] = "mmz", ["Mabaka Valley Kalinga"] = "kkg", ["Mabire"] = "muj", ["Maca"] = "mca", ["Macaguaje"] = "mcl", ["Macaguán"] = "mbn", ["Macanese"] = "mzs", ["Macau Pidgin Portuguese"] = "crp-mpp", ["Machame"] = "jmc", ["Machiguenga"] = "mcb", ["Machinere"] = "mpd", ["Machinga"] = "mvw", ["Macoris"] = "nai-mac", ["Macuna"] = "myy", ["Mada (Cameroon)"] = "mxu", ["Mada (Nigeria)"] = "mda", ["Madagascar Sign Language"] = "mzc", ["Madak"] = "mmx", ["Maden"] = "xmx", ["Madhi Madhi"] = "dmd", ["Madi"] = "grg", ["Madngele"] = "zml", ["Madukayang Kalinga"] = "kmd", ["Mae"] = "mme", ["Maek"] = "hmk", ["Maeng Itneg"] = "itt", ["Mafa"] = "maf", ["Mafea"] = "mkv", ["Mag-Anchi Ayta"] = "sgb", ["Mag-Indi Ayta"] = "blx", ["Magadhi Prakrit"] = "inc-mgd", ["Magahat"] = "mtw", ["Magdalena Peñasco Mixtec"] = "xtm", ["Magiyi"] = "gmg", ["Magoma"] = "gmx", ["Magɨ"] = "gkd", ["Mahican"] = "mjy", ["Mahongwe"] = "mhb", ["Mahou"] = "mxx", ["Tiếng Maia"] = "sks", ["Maiadomu"] = "mzz", ["Maiani"] = "tnh", ["Maii"] = "mmm", ["Mailu"] = "mgu", ["Maindo"] = "cwb", ["Mairasi"] = "zrs", ["Maisin"] = "mbq", ["Maiwa (Indonesia)"] = "wmm", ["Maiwa (New Guinea)"] = "mti", ["Maiwala"] = "mum", ["Majera"] = "xmj", ["Majhi"] = "mjz", ["Majhwar"] = "mmj", ["Mak (China)"] = "mkg", ["Mak (Nigeria)"] = "pbl", ["Makaa"] = "mcp", ["Makah"] = "myh", ["Tiếng Makalero"] = "mjb", ["Tiếng Makasae"] = "mkz", ["Makassar Malay"] = "mfp", ["Makayam"] = "aup", ["Makhuwa"] = "vmw", ["Makhuwa-Marrevone"] = "xmc", ["Makhuwa-Meetto"] = "mgh", ["Makhuwa-Moniga"] = "mhm", ["Makhuwa-Saka"] = "xsq", ["Makhuwa-Shirima"] = "vmk", ["Maklew"] = "mgf", ["Makolkol"] = "zmh", ["Makonde"] = "kde", ["Maku"] = "xak", ["Maku'a"] = "lva", ["Makuri Naga"] = "jmn", ["Makuráp"] = "mpu", ["Makwe"] = "ymk", ["Makyan Naga"] = "umn", ["Mal Paharia"] = "mkb", ["Mala (New Guinea)"] = "ped", ["Mala (Nigeria)"] = "ruy", ["Malaccan Creole Malay"] = "ccm", ["Malalamai"] = "mmt", ["Malalí"] = "sai-mal", ["Malango"] = "mln", ["Malas"] = "mkr", ["Malasanga"] = "mqz", ["Malawi Lomwe"] = "lon", ["Malawian Sign Language"] = "lws", ["Malayic Dayak"] = "xdy", ["Malaynon"] = "mlz", ["Malaysian Sign Language"] = "xml", ["Malba Birifor"] = "bfo", ["Male"] = "mdc", ["Maleu-Kilenge"] = "mgl", ["Malfaxal"] = "mlx", ["Malgana"] = "vml", ["Malgbe"] = "mxf", ["Mali"] = "gcc", ["Malibu"] = "sai-mlb", ["Malila"] = "mgq", ["Malimba"] = "mzd", ["Malimpung"] = "mli", ["Malol"] = "mbk", ["Maltese Sign Language"] = "mdl", ["Malua Bay"] = "mll", ["Malvi"] = "mup", ["Maléku Jaíka"] = "gut", ["Mam"] = "mam", ["Mama"] = "mma", ["Mamaa"] = "mhf", ["Mamaindé"] = "wmd", ["Mamanwa"] = "mmn", ["Tiếng Senoufo Mamara"] = "myk", ["Mamasa"] = "mqj", ["Mambae"] = "mgm", ["Mambai"] = "mcs", ["Mamboru"] = "mvd", ["Mambwe-Lungu"] = "mgr", ["Mamuju"] = "mqx", ["Mamulique"] = "emm", ["Mamusi"] = "kdf", ["Mamvu"] = "mdi", ["Man Met"] = "mml", ["Manado Malay"] = "xmm", ["Manam"] = "mva", ["Manambu"] = "mle", ["Manangba"] = "nmm", ["Manangkari"] = "znk", ["Manao"] = "awd-man", ["Manda (Australia)"] = "zma", ["Manda (Tanzania)"] = "mgs", ["Tiếng Manda"] = "mid", ["Mandailing Batak"] = "btm", ["Mandalorian"] = "art-man", ["Mandan"] = "mhq", ["Mandandanyi"] = "zmk", ["Mandar"] = "mdr", ["Mandari"] = "mqu", ["Mander"] = "mqr", ["Mandingo"] = "man", ["Mandjak"] = "mfv", ["Mandobo Atas"] = "aax", ["Mandobo Bawah"] = "bwp", ["Manem"] = "jet", ["Mangala"] = "mem", ["Mangarayi"] = "mpc", ["Mangarevan"] = "mrv", ["Mangayat"] = "myj", ["Mangbetu"] = "mdj", ["Mangbutu"] = "mdk", ["Mangerr"] = "zme", ["Mangga Buang"] = "mmo", ["Tiếng Mango"] = "mge", ["Mangole"] = "mqc", ["Mangseng"] = "mbh", ["Manigri-Kambolé Ede Nago"] = "xkb", ["Manikion"] = "mnx", ["Manipa"] = "mqp", ["Mankiyali"] = "nlm", ["Manna-Dora"] = "mju", ["Manombai"] = "woo", ["Mansoanka"] = "msw", ["Manta"] = "myg", ["Mantsi"] = "nty", ["Manusela"] = "wha", ["Manya"] = "mzj", ["Manyawa"] = "mny", ["Manza"] = "mzv", ["Mao Naga"] = "nbi", ["Mape"] = "mlh", ["Mapena"] = "mnm", ["Mapia"] = "mpy", ["Mapidian"] = "mpw", ["Mapoyo"] = "mcg", ["Mapun"] = "sjm", ["Mara"] = "mec", ["Mara Chin"] = "mrh", ["Marachi"] = "lri", ["Maraghei"] = "vmh", ["Maragus"] = "mrs", ["Maram Naga"] = "nma", ["Marama"] = "lrm", ["Maranungku"] = "zmr", ["Mararit"] = "mgb", ["Maratino"] = "sai-mar", ["Marawan"] = "awd-mar", ["Marba"] = "mpg", ["Marenje"] = "vmr", ["Marfa"] = "mvu", ["Margany"] = "zmc", ["Marghi South"] = "mfm", ["Margi"] = "mrt", ["Maria"] = "mds", ["Mariaté"] = "awd-mrt", ["Maridan"] = "zmd", ["Maridjabin"] = "zmj", ["Marik"] = "dad", ["Marimanindji"] = "zmm", ["Marind"] = "mrz", ["Maring"] = "mbw", ["Maringarr"] = "zmt", ["Marino"] = "mrb", ["Mariri"] = "mqi", ["Maritime Sign Language"] = "nsr", ["Maritsauá"] = "msp", ["Mariyedi"] = "zmy", ["Marka"] = "rkm", ["Markweeta"] = "enb", ["Maroon Spirit Language"] = "cpe-mar", ["Marovo"] = "mvo", ["Marrgu"] = "mhg", ["Marriammu"] = "xru", ["Marrithiyel"] = "mfr", ["Martha's Vineyard Sign Language"] = "mre", ["Marti Ke"] = "zmg", ["Martu Wangka"] = "mpj", ["Marúbo"] = "mzr", ["Masaba"] = "myx", ["Masadiit Itneg"] = "tis", ["Masakará"] = "sai-msk", ["Masalit"] = "mls", ["Masana"] = "mcn", ["Masbate Sorsogon"] = "bks", ["Mashco Piro"] = "cuj", ["Mashi"] = "mho", ["Masimasi"] = "ism", ["Masiwang"] = "bnf", ["Maslam"] = "msv", ["Masmaje"] = "mes", ["Massachusett"] = "wam", ["Massalat"] = "mdg", ["Massep"] = "mvs", ["Matagalpa"] = "mtn", ["Matanawi"] = "sai-mat", ["Matbat"] = "xmt", ["Matengo"] = "mgv", ["Matepi"] = "mqe", ["Matigsalug Manobo"] = "mbt", ["Matipuhy"] = "mzo", ["Matlatzinca"] = "mat", ["Mato"] = "met", ["Mato Grosso Arára"] = "axg", ["Matsés"] = "mcf", ["Mattole"] = "mvb", ["Matukar"] = "mjk", ["Matumbi"] = "mgw", ["Matya Samo"] = "stj", ["Matís"] = "mpq", ["Mauritian Sign Language"] = "lsy", ["Mauwake"] = "mhl", ["Mawa"] = "mcw", ["Mawak"] = "mjj", ["Mawan"] = "mcz", ["Mawayana"] = "mzx", ["Mawchi"] = "mke", ["Mawes"] = "mgk", ["Maxakalí"] = "mbl", ["Maxi Gbe"] = "mxl", ["Maya Samo"] = "sym", ["Mayaguduna"] = "xmy", ["Mayangna"] = "yan", ["Mayawali"] = "yxa", ["Maybrat"] = "ayz", ["Mayeka"] = "myc", ["Mayi-Thakurti"] = "xyt", ["Maykulan"] = "mnt", ["Maynas"] = "sai-mys", ["Mayo"] = "mfy", ["Mayogo"] = "mdm", ["Mayoyao Ifugao"] = "ifu", ["Maypure"] = "awd-mpr", ["Mazagway"] = "dkx", ["Mazaltepec Zapotec"] = "zpy", ["Mazatlán Mazatec"] = "vmz", ["Mazatlán Mixe"] = "mzl", ["Mba"] = "mfc", ["Mbala"] = "mdp", ["Mbalanhu"] = "lnb", ["Mbandja"] = "zmz", ["Mbangala"] = "mxg", ["Mbangi"] = "mgn", ["Mbangwe"] = "zmn", ["Mbara (Australia)"] = "mvl", ["Mbara (Chad)"] = "mpk", ["Mbariman-Gudhinma"] = "zmv", ["Mbati"] = "mdn", ["Mbato"] = "gwa", ["Mbay"] = "myb", ["Mbe"] = "mfo", ["Mbe'"] = "mtk", ["Mbelime"] = "mql", ["Mbere"] = "mdt", ["Mbesa"] = "zms", ["Mbiywom"] = "aus-mbi", ["Mbo (Cameroon)"] = "mbo", ["Mbo (Congo)"] = "zmw", ["Mboi"] = "moi", ["Mboko"] = "mdu", ["Mbole"] = "mdq", ["Mbonga"] = "xmb", ["Mbongno"] = "bgu", ["Mbosi"] = "mdw", ["Mbowe"] = "mxo", ["Mbre"] = "mka", ["Mbu'"] = "muc", ["Mbudum"] = "xmd", ["Mbugu"] = "mhd", ["Mbugwe"] = "mgz", ["Mbuko"] = "mqb", ["Mbukushu"] = "mhw", ["Mbula"] = "mna", ["Mbula-Bwazza"] = "mbu", ["Mbule"] = "mlb", ["Mbulungish"] = "mbv", ["Mbum"] = "mdd", ["Mbunda"] = "mck", ["Mbunga"] = "mgy", ["Mburku"] = "bbt", ["Mbuun"] = "zmp", ["Mbwela"] = "mfu", ["Mea"] = "meg", ["Mebu"] = "mjn", ["Mecayapan Nahuatl"] = "nhx", ["Medebur"] = "mjm", ["Medefaidrin"] = "dmf", ["Mednyj Aleut"] = "mud", ["Mefele"] = "mfj", ["Megam"] = "mef", ["Mehek"] = "nux", ["Mehináku"] = "mmh", ["Mekeo"] = "mek", ["Mekmek"] = "mvk", ["Mekwei"] = "msf", ["Mekéns"] = "skf", ["Mel-Khaonh"] = "hkn", ["Mele-Fila"] = "mxe", ["Mendalam Kayan"] = "xkd", ["Mengaka"] = "xmg", ["Mengen"] = "mee", ["Menien"] = "sai-men", ["Menka"] = "mea", ["Menya"] = "mcr", ["Meoswar"] = "mvx", ["Mer"] = "mnu", ["Meramera"] = "mxm", ["Merei"] = "lmb", ["Merey"] = "meq", ["Merlav"] = "mrm", ["Meroitic"] = "xmr", ["Meru"] = "mer", ["Mese"] = "mci", ["Mesme"] = "zim", ["Mesmes"] = "mys", ["Meta'"] = "mgo", ["Metlatónoc Mixtec"] = "mxv", ["Mewari"] = "mtr", ["Mewati"] = "wtm", ["Mexican Sign Language"] = "mfs", ["Meyah"] = "mej", ["Mezontla Popoloca"] = "pbe", ["Mfinu"] = "zmf", ["Mfumte"] = "nfu", ["Mgbo"] = "gmz", ["Mian"] = "mpt", ["Miani"] = "pla", ["Micha"] = "yiq", ["Michif"] = "crg", ["Michigamea"] = "cmm", ["Michoacán Nahuatl"] = "ncl", ["Mid Grand Valley Dani"] = "dnt", ["Mid-Southern Banda"] = "bjo", ["Middle Assamese"] = "inc-mas", ["Middle Bengali"] = "inc-mbn", ["Tiếng Cornwall trung đại"] = "cnx", ["Middle Kannada"] = "dra-mkn", ["Middle Median"] = "xme-mid", ["Middle Newar"] = "nwx", ["Tiếng Na Uy trung đại"] = "gmq-mno", ["Middle Watut"] = "mpl", ["Midob"] = "mei", ["Migaama"] = "mmy", ["Migabac"] = "mpp", ["Miji"] = "sjl", ["Miju"] = "mxj", ["Mikasuki"] = "mik", ["Milang"] = "und-mil", ["Mili"] = "ymh", ["Millcayac"] = "sai-mil", ["Miltu"] = "mlj", ["Miluk"] = "iml", ["Milyan"] = "imy", ["Mimi of Decorse"] = "und-mmd", ["Mimi of Nachtigal"] = "und-mmn", ["Mina"] = "hna", ["Minaean"] = "inm", ["Minang"] = "xrg", ["Minanibai"] = "mcv", ["Minaveha"] = "mvn", ["Minderico"] = "drc", ["Mindiri"] = "mpn", ["Mingang Doso"] = "mko", ["Mingo"] = "iro-min", ["Tiếng Huitoto Minica"] = "hto", ["Minidien"] = "wii", ["Minigir"] = "vmg", ["Minjungbal"] = "xjb", ["Minkin"] = "xxm", ["Minoan"] = "omn", ["Minokok"] = "mqq", ["Miraya Bikol"] = "rbl", ["Mire"] = "mvh", ["Miriti"] = "mmv", ["Miriwoong Sign Language"] = "rsm", ["Miriwung"] = "mep", ["Mirpur Panjabi"] = "pmu", ["Misantla Totonac"] = "tlc", ["Miship"] = "mjs", ["Misima-Paneati"] = "mpx", ["Mitlatongo Mixtec"] = "vmm", ["Mittu"] = "mwu", ["Mituku"] = "zmq", ["Miu"] = "mpo", ["Miwa"] = "vmi", ["Mixed Great Andamanese"] = "gac", ["Mixifore"] = "mfg", ["Mixtepec Mixtec"] = "mix", ["Mixtepec Zapotec"] = "zpm", ["Miya"] = "mkf", ["Miyobe"] = "soy", ["Mlap"] = "kja", ["Mlomp"] = "mlo", ["Mmaala"] = "mmu", ["Mmani"] = "buy", ["Mmen"] = "bfm", ["Mo"] = "wkd", ["Mo'da"] = "gbn", ["Moabite"] = "obm", ["Moba"] = "mfq", ["Mobilian"] = "mod", ["Mobumrin Aizi"] = "ahm", ["Mocana"] = "sai-mcn", ["Mochi"] = "old", ["Mochica"] = "omc", ["Mocho"] = "mhc", ["Mocoví"] = "moc", ["Modang"] = "mxd", ["Modole"] = "mqo", ["Moere"] = "mvq", ["Mofu-Gudur"] = "mif", ["Mogum"] = "mou", ["Moi (Congo)"] = "mow", ["Moi (Indonesia)"] = "mxn", ["Moikodi"] = "mkp", ["Moingi"] = "mwz", ["Mojave"] = "mov", ["Moji"] = "ymi", ["Mok"] = "mqt", ["Mokerang"] = "mft", ["Mokole"] = "mkl", ["Mokpwe"] = "bri", ["Molale"] = "mbe", ["Moldova Sign Language"] = "vsi", ["Molengue"] = "bxc", ["Molima"] = "mox", ["Molmo One"] = "aun", ["Molo"] = "zmo", ["Molof"] = "msl", ["Moloko"] = "mlw", ["Mom Jango"] = "ver", ["Moma"] = "myl", ["Momare"] = "msz", ["Mombo Dogon"] = "dmb", ["Mombum"] = "mso", ["Momina"] = "mmb", ["Momuna"] = "mqf", ["Monastic Sign Language"] = "mzg", ["Mondropolon"] = "npn", ["Mondé"] = "mnd", ["Mongol"] = "mgt", ["Mongolian Sign Language"] = "msr", ["Moni"] = "mnz", ["Monimbo"] = "mom", ["Mono (California)"] = "mnr", ["Mono (Cameroon)"] = "mru", ["Mono (Congo)"] = "mnh", ["Monsang Naga"] = "nmh", ["Montagnais"] = "moe", ["Montana Salish"] = "fla", ["Montol"] = "mtl", ["Monumbo"] = "mxk", ["Monzombo"] = "moj", ["Moo"] = "gwg", ["Mopan Maya"] = "mop", ["Mor (Austronesian)"] = "mhz", ["Mor (Papuan)"] = "moq", ["Moraid"] = "msg", ["Moran"] = "sit-mor", ["Morawa"] = "mze", ["Morelos Nahuatl"] = "nhm", ["Morerebi"] = "xmo", ["Moresada"] = "msx", ["Mori Atas"] = "mzq", ["Mori Bawah"] = "xmz", ["Morigi"] = "mdb", ["Moroccan Sign Language"] = "xms", ["Morom"] = "bdo", ["Moronene"] = "mqn", ["Morori"] = "mok", ["Morouas"] = "mrp", ["Mortlockese"] = "mrl", ["Moru"] = "mgd", ["Mosimo"] = "mqv", ["Moskona"] = "mtj", ["Motembo"] = "tmv", ["Mouk-Aria"] = "mwh", ["Mount Iraya Agta"] = "atl", ["Mount Iriga Agta"] = "agz", ["Mountain Koiari"] = "kpx", ["Mouwase"] = "jmw", ["Movima"] = "mzp", ["Moyadan Itneg"] = "ity", ["Mozambican Sign Language"] = "mzy", ["Mpalitjanh"] = "xpj", ["Mpiemo"] = "mcx", ["Mpiin"] = "bnt-mpi", ["Mpinda"] = "pnd", ["Mpongmpong"] = "mgg", ["Mpoto"] = "mpa", ["Mpotovoro"] = "mvt", ["Mpuono"] = "bnt-mpu", ["Mpur"] = "akc", ["Mro Chin"] = "cmr", ["Mru"] = "mro", ["Mser"] = "kqx", ["Mualang"] = "mtd", ["Mubami"] = "tsx", ["Mubi"] = "mub", ["Mucuchí"] = "sai-muc", ["Muda"] = "ymd", ["Muduapa"] = "wiv", ["Muellama"] = "sai-mue", ["Mufian"] = "aoj", ["Muher"] = "sem-mhr", ["Muinane"] = "bmr", ["Mukha-Dora"] = "mmk", ["Mukulu"] = "moz", ["Mulaha"] = "mfw", ["Mulam"] = "mlm", ["Mulao"] = "giu", ["Mullukmulluk"] = "mpb", ["Muluridyi"] = "vmu", ["Mum"] = "kqa", ["Mumuye"] = "mzm", ["Mundang"] = "mua", ["Mundani"] = "mnf", ["Mundat"] = "mmf", ["Mundolinco"] = "art-mun", ["Mundurukú"] = "myu", ["Mungaka"] = "mhk", ["Mungbam"] = "mij", ["Mungkip"] = "mpv", ["Muniche"] = "myr", ["Munit"] = "mtc", ["Mur Pano"] = "tkv", ["Muratayak"] = "asx", ["Murik (Malaysia)"] = "mxr", ["Murik (New Guinea)"] = "mtf", ["Murkim"] = "rmh", ["Murrinh-Patha"] = "mwf", ["Tiếng Huitoto Murui"] = "huu", ["Murupi"] = "mqw", ["Muruwari"] = "zmu", ["Musan"] = "mmp", ["Musar"] = "mmi", ["Musasa"] = "smm", ["Musey"] = "mse", ["Musgu"] = "mug", ["Muskum"] = "mje", ["Musom"] = "msu", ["Mussau-Emira"] = "emi", ["Mutu"] = "tuc", ["Muya"] = "mvm", ["Muyang"] = "muy", ["Muyuw"] = "myw", ["Muzi"] = "ymz", ["Muzo"] = "sai-muz", ["Mvanip"] = "mcj", ["Mvuba"] = "mxh", ["Mwaghavul"] = "sur", ["Mwali Comorian"] = "wlc", ["Mwani"] = "wmw", ["Mwatebu"] = "mwa", ["Mwera"] = "mwe", ["Mwimbi-Muthambi"] = "mws", ["Mysian"] = "yms", ["Mzieme Naga"] = "nme", ["Mághdì"] = "gmd", ["Mün Chin"] = "mwq", ["Mündü"] = "muh", ["N'Ko"] = "nqo", ["Na"] = "nbt", ["Na'vi"] = "art-nav", ["Naaba"] = "nao", ["Naba"] = "mne", ["Nabak"] = "naf", ["Nabi"] = "mty", ["Nachering"] = "ncd", ["Nadruvian"] = "ndf", ["Nadëb"] = "mbj", ["Nafi"] = "srf", ["Nafri"] = "nxx", ["Naga Pidgin"] = "nag", ["Nagarchal"] = "nbg", ["Nage"] = "nxe", ["Nagtipunan Agta"] = "phi-nag", ["Nagu"] = "ngr", ["Nagumi"] = "ngv", ["Nahali"] = "nlx", ["Nahari"] = "nhh", ["Nahavaq"] = "sns", ["Nai"] = "bio", ["Najdi Arabic"] = "ars", ["Naka'ela"] = "nae", ["Nakai"] = "nkj", ["Nakame"] = "nib", ["Nakanai"] = "nak", ["Nakara"] = "nck", ["Nake"] = "nbk", ["Naki"] = "mff", ["Nakwi"] = "nax", ["Nalca"] = "nlc", ["Nali"] = "nss", ["Nalik"] = "nal", ["Nalu"] = "naj", ["Nalögo"] = "nlz", ["Namakura"] = "nmk", ["Namat"] = "nkm", ["Nambo"] = "ncm", ["Nambya"] = "nmq", ["Namia"] = "nnm", ["Namiae"] = "nvm", ["Namibian Sign Language"] = "nbs", ["Namla"] = "naa", ["Namo"] = "mxw", ["Namonuito"] = "nmt", ["Namosi-Naitasiri-Serua"] = "bwb", ["Namuyi"] = "nmy", ["Nancere"] = "nnc", ["Nande"] = "nnb", ["Nandi"] = "niq", ["Nanerigé Sénoufo"] = "sen", ["Nanga Dama Dogon"] = "nzz", ["Nanti"] = "cox", ["Nanticoke"] = "nnt", ["Nanubae"] = "afk", ["Naolan"] = "nai-nao", ["Napu"] = "npy", ["Nar Phu"] = "npa", ["Nara"] = "nrb", ["Narak"] = "nac", ["Narango"] = "nrg", ["Narau"] = "nxu", ["Narim"] = "loh", ["Naro"] = "nhr", ["Narom"] = "nrm", ["Narragansett"] = "xnt", ["Narungga"] = "nnr", ["Naruo"] = "ylo", ["Nasal"] = "nsy", ["Nasarian"] = "nvh", ["Nasioi"] = "nas", ["Nasu"] = "ywq", ["Natagaimas"] = "nts", ["Natchez"] = "ncz", ["Nathembo"] = "nte", ["Natioro"] = "nti", ["Natú"] = "sai-nat", ["Natügu"] = "ntu", ["Nauete"] = "nxa", ["Nauna"] = "ncn", ["Nauo"] = "nwo", ["Navarro-Aragonese"] = "roa-oan", ["Navut"] = "nsw", ["Nawaru"] = "nwr", ["Nawathinehena"] = "nwa", ["Nawdm"] = "nmz", ["Nawuri"] = "naw", ["Nayi"] = "noz", ["Ncane"] = "ncr", ["Nchumbulu"] = "nlu", ["Nda'nda'"] = "nnz", ["Ndai"] = "gke", ["Ndaka"] = "ndk", ["Ndali"] = "ndh", ["Ndam"] = "ndm", ["Ndamba"] = "ndj", ["Ndambomo"] = "nxo", ["Ndasa"] = "nda", ["Nde-Gbite"] = "ned", ["Nde-Nsele-Nta"] = "ndd", ["Ndemli"] = "nml", ["Ndendeule"] = "dne", ["Ndengereko"] = "ndg", ["Nding"] = "eli", ["Ndjébbana"] = "djj", ["Ndo"] = "ndp", ["Ndobo"] = "ndw", ["Ndoe"] = "nbb", ["Ndolo"] = "ndl", ["Ndom"] = "nqm", ["Ndombe"] = "ndq", ["Ndoola"] = "ndr", ["Ndrulo"] = "dno", ["Nduga"] = "ndx", ["Ndumu"] = "nmd", ["Ndunda"] = "nuh", ["Ndunga"] = "ndt", ["Ndut"] = "ndv", ["Ndyuka-Trio Pidgin"] = "njt", ["Ndzwani Comorian"] = "wni", ["Nedebang"] = "nec", ["Nefamese"] = "nef", ["Negeri Sembilan Malay"] = "zmi", ["Nehan"] = "nsn", ["Nek"] = "nif", ["Nekgini"] = "nkg", ["Neko"] = "nej", ["Neku"] = "nek", ["Neme"] = "nex", ["Nemi"] = "nem", ["Nen"] = "nqn", ["Nend"] = "anh", ["Nengone"] = "nen", ["Neo"] = "neu", ["Nepalese Sign Language"] = "nsp", ["Nepali Kurux"] = "kxl", ["Nete"] = "net", ["Neve'ei"] = "vnm", ["Neverver"] = "lgk", ["New Caledonian Javanese"] = "jas", ["New River Shasta"] = "nai-nrs", ["New Zealand Sign Language"] = "nzs", ["Neyo"] = "ney", ["Nez Perce"] = "nez", ["Nga La"] = "hlt", ["Ngaanyatjarra"] = "ntj", ["Ngadjunmaya"] = "nju", ["Ngadjuri"] = "jui", ["Ngaing"] = "nnf", ["Ngaju"] = "nij", ["Ngala"] = "nud", ["Ngalakan"] = "nig", ["Ngalkbun"] = "ngk", ["Ngamambo"] = "nbv", ["Ngamini"] = "nmv", ["Ngamo"] = "nbh", ["Ngan'gityemerri"] = "nam", ["Nganakarti"] = "xnk", ["Ngandi"] = "nid", ["Ngando (Central African Republic)"] = "ngd", ["Ngando (Congo)"] = "nxd", ["Ngandyera"] = "nne", ["Ngangam"] = "gng", ["Ngantangarra"] = "ntg", ["Nganyaywana"] = "nyx", ["Ngardi"] = "rxd", ["Ngarigu"] = "xni", ["Ngarinman"] = "nbj", ["Ngarinyin"] = "ung", ["Ngarla"] = "nrk", ["Ngarluma"] = "nrl", ["Ngarrindjeri"] = "nay", ["Ngasa"] = "nsg", ["Ngatik Men's Creole"] = "ngm", ["Ngawn Chin"] = "cnw", ["Ngawun"] = "nxn", ["Ngazidja Comorian"] = "zdj", ["Tiếng Ngbaka"] = "nga", ["Ngbaka Ma'bo"] = "nbm", ["Ngbaka Manza"] = "ngg", ["Ngbee"] = "jgb", ["Ngbinda"] = "nbd", ["Ngbundu"] = "nuu", ["Ngelima"] = "agh", ["Ngemba"] = "nge", ["Ngen"] = "gnj", ["Ngendelengo"] = "nql", ["Ngeq"] = "ngt", ["Ngete"] = "nnn", ["Nggem"] = "nbq", ["Nggwahyi"] = "ngx", ["Ngie"] = "ngj", ["Ngile"] = "jle", ["Ngindo"] = "nnq", ["Tiếng Ngiti"] = "niy", ["Ngizim"] = "ngi", ["Ngkoth"] = "aus-ngk", ["Ngkâlmpw Kanum"] = "kcd", ["Ngochang"] = "tbq-ngo", ["Ngom"] = "nra", ["Ngombale"] = "nla", ["Ngombe (Central African Republic)"] = "nmj", ["Ngong"] = "nnx", ["Ngongo"] = "noq", ["Ngoni"] = "ngo", ["Ngoreme"] = "ngq", ["Ngoshie"] = "nsh", ["Ngul"] = "nlo", ["Ngulu"] = "ngp", ["Nguluwan"] = "nuw", ["Ngumbi"] = "nui", ["Ngunawal"] = "xul", ["Ngundi"] = "ndn", ["Ngundu"] = "nue", ["Ngungwel"] = "ngz", ["Ngurmbur"] = "nrx", ["Ngwaba"] = "ngw", ["Ngwe"] = "nwe", ["Ngwo"] = "ngn", ["Ngäbere"] = "gym", ["Nhanda"] = "nha", ["Nhirrpi"] = "hrp", ["Nhuwala"] = "nhf", ["Nicaraguan Creole"] = "bzk", ["Nicaraguan Sign Language"] = "ncs", ["Nicola"] = "ath-nic", ["Niellim"] = "nie", ["Nigeria Mambila"] = "mzk", ["Nigerian Pidgin"] = "pcm", ["Nigerian Sign Language"] = "nsi", ["Nihali"] = "nll", ["Nii"] = "nii", ["Niksek"] = "gbe", ["Nila"] = "nil", ["Nilamba"] = "nim", ["Nimadi"] = "noe", ["Nimanbur"] = "nmp", ["Nimbari"] = "nmr", ["Nimboran"] = "nir", ["Nimi"] = "nis", ["Nimo"] = "niw", ["Nimoa"] = "nmw", ["Ninam"] = "shb", ["Nindi"] = "nxi", ["Ningera"] = "nby", ["Ninggerum"] = "nxr", ["Ningil"] = "niz", ["Ninia Yali"] = "nlk", ["Ninzo"] = "nin", ["Nipsan"] = "nps", ["Nisa"] = "njs", ["Nisenan"] = "nsz", ["Nisi"] = "yso", ["Niuafo'ou"] = "num", ["Niuatoputapu"] = "nkp", ["Niwer Mil"] = "hrc", ["Njalgulgule"] = "njl", ["Njebi"] = "nzb", ["Njen"] = "njj", ["Njerep"] = "njr", ["Njyem"] = "njy", ["Nkami"] = "nkq", ["Nkangala"] = "nkn", ["Nkem-Nkum"] = "isi", ["Nkhumbi"] = "khu", ["Nkongho"] = "nkc", ["Nkoroo"] = "nkx", ["Nkoya"] = "nka", ["Nkukoli"] = "nbo", ["Nkutu"] = "nkw", ["Nnam"] = "nbp", ["Nocamán"] = "nom", ["Nocte Naga"] = "njb", ["Noiri"] = "noi", ["Nokuku"] = "nkk", ["Nomaande"] = "lem", ["Nomane"] = "nof", ["Nomatsiguenga"] = "not", ["Nomlaki"] = "nol", ["Nomu"] = "noh", ["Nonuya"] = "noj", ["Nooksack"] = "nok", ["Tiếng Noone"] = "nhu", ["Nopala Chatino"] = "cya", ["Norn"] = "nrn", ["Norra"] = "nrr", ["North Ambrym"] = "mmg", ["North Asmat"] = "nks", ["North Awyu"] = "yir", ["North Babar"] = "bcd", ["North Boma"] = "boh", ["North Central Mixe"] = "neq", ["North Fali"] = "fll", ["North Giziga"] = "gis", ["North Mofu"] = "mfk", ["North Muyu"] = "kti", ["North Nuaulu"] = "nni", ["North Tairora"] = "tbg", ["North Tanna"] = "tnn", ["North Wahgi"] = "whg", ["North Watut"] = "una", ["Northeast Kiwai"] = "kiw", ["Northeast Maidu"] = "nmu", ["Northeast Pashayi"] = "aee", ["Northeastern Dinka"] = "dip", ["Northeastern Pomo"] = "pef", ["Northern Alta"] = "aqn", ["Northern Bontoc"] = "rbk", ["Northern Ghale"] = "ghh", ["Tiếng Grebo Bắc"] = "gbo", ["Northern Guiyang Hmong"] = "huj", ["Northern Haida"] = "hdn", ["Northern Huishui Hmong"] = "hmi", ["Northern Kalapuya"] = "nrt", ["Northern Kam"] = "doc", ["Northern Kankanay"] = "xnn", ["Northern Kissi"] = "kqs", ["Northern Lorung"] = "lbr", ["Northern Mashan Hmong"] = "hmp", ["Northern Muji"] = "ymx", ["Northern Ngbandi"] = "ngb", ["Northern Nuni"] = "nuv", ["Northern Oaxaca Nahuatl"] = "nhy", ["Northern Ohlone"] = "cst", ["Northern One"] = "onr", ["Northern Pame"] = "pmq", ["Northern Pinghua"] = "cnp", ["Northern Pomo"] = "pej", ["Northern Puebla Nahuatl"] = "ncj", ["Northern Pumi"] = "pmi", ["Northern Qiandong Miao"] = "hea", ["Northern Rengma Naga"] = "nnl", ["Northern Sierra Miwok"] = "nsq", ["Northern Subanen"] = "stb", ["Northern Tarahumara"] = "thh", ["Northern Tidong"] = "ntd", ["Northern Tlaxiaco Mixtec"] = "xtn", ["Northern Toussian"] = "tsp", ["Northern Tutchone"] = "ttm", ["Northern Valley Yokuts"] = "nai-nvy", ["Northwest Maidu"] = "mjd", ["Northwest Oaxaca Mixtec"] = "mxa", ["Northwest Pashayi"] = "glh", ["Northwestern Dinka"] = "diw", ["Northwestern Fars"] = "faz", ["Northwestern Tamang"] = "tmk", ["Norwegian Sign Language"] = "nsl", ["Notre"] = "bly", ["Notsi"] = "ncf", ["Nottoway"] = "ntw", ["Nottoway-Meherrin"] = "nwy", ["Noxilo"] = "art-nox", ["Noy"] = "noy", ["Nsari"] = "asj", ["Nsenga"] = "nse", ["Nshi"] = "nsc", ["Nsong"] = "soo", ["Nsongo"] = "nsx", ["Ntomba"] = "nto", ["Ntra'ngith"] = "dgt", ["Nuguria"] = "nur", ["Nuk"] = "noc", ["Nukak Makú"] = "mbr", ["Nukna"] = "klt", ["Nukuini"] = "nuc", ["Nukumanu"] = "nuq", ["Nukunu"] = "nnv", ["Nukunul"] = "xnu", ["Nukuoro"] = "nkr", ["Numana"] = "nbr", ["Numanggang"] = "nop", ["Numbami"] = "sij", ["Nume"] = "tgs", ["Numee"] = "kdk", ["Nungali"] = "nug", ["Nunggubuyu"] = "nuy", ["Nungon"] = "paa-nun", ["Nungu"] = "rin", ["Nupbikha"] = "npb", ["Nusa Laut"] = "nul", ["Nusu"] = "nuf", ["Nutabe"] = "cba-nut", ["Nyabwa"] = "nwb", ["Nyaheun"] = "nev", ["Nyakyusa"] = "nyy", ["Nyali"] = "nlj", ["Nyam"] = "nmi", ["Nyamal"] = "nly", ["Nyambo"] = "now", ["Nyamusa-Molo"] = "nwm", ["Nyamwanga"] = "mwn", ["Nyamwezi"] = "nym", ["Nyaneka"] = "nyk", ["Nyang'i"] = "nyp", ["Nyanga (Congo)"] = "nyj", ["Nyanga (Togo)"] = "ayg", ["Nyanga-li"] = "nyc", ["Nyangatom"] = "nnj", ["Nyangbo"] = "nyb", ["Nyangga"] = "nny", ["Nyangumarta"] = "nna", ["Nyankole"] = "nyn", ["Nyaturu"] = "rim", ["Nyawaygi"] = "nyt", ["Nyemba"] = "nba", ["Nyengo"] = "nye", ["Nyenkha"] = "neh", ["Nyigina"] = "nyh", ["Nyiha"] = "nih", ["Nyika"] = "nkt", ["Nyimang"] = "nyi", ["Nyindrou"] = "lid", ["Nyindu"] = "nyg", ["Nyiyaparli"] = "xny", ["Nyokon"] = "nvo", ["Nyole (Kenya)"] = "nyd", ["Nyole (Uganda)"] = "nuj", ["Nyong"] = "muo", ["Nyulnyul"] = "nyv", ["Nyungwe"] = "nyu", ["Nyâlayu"] = "yly", ["Nzakambay"] = "nzy", ["Nzakara"] = "nzk", ["Nzanyi"] = "nja", ["Nzima"] = "nzi", ["Tiếng Huitoto Nüpode"] = "hux", ["O'chi'chi'"] = "xoc", ["Obanliku"] = "bzy", ["Obispeño"] = "obi", ["Oblo"] = "obl", ["Obo Manobo"] = "obo", ["Obokuitai"] = "afz", ["Obolo"] = "ann", ["Obulom"] = "obu", ["Ocotepec Mixtec"] = "mie", ["Ocotlán Zapotec"] = "zac", ["Od"] = "odk", ["Odiai"] = "bhf", ["Odoodee"] = "kkc", ["Odual"] = "odu", ["Odut"] = "oda", ["Ofayé"] = "opy", ["Ofo"] = "ofo", ["Ogbah"] = "ogc", ["Ogbia"] = "ogb", ["Ogbogolo"] = "ogg", ["Ogea"] = "eri", ["Tiếng Oirata"] = "oia", ["Okiek"] = "oki", ["Oko-Eni-Osayen"] = "oks", ["Oko-Juwoi"] = "okj", ["Okobo"] = "okb", ["Okodia"] = "okd", ["Okolod"] = "kqv", ["Okpamheri"] = "opa", ["Okpe (Northwestern Edo)"] = "okx", ["Okpe (Southwestern Edo)"] = "oke", ["Okpela"] = "atg", ["Oksapmin"] = "opm", ["Oku"] = "oku", ["Okwanuchu"] = "nai-okw", ["Old Avar"] = "oav", ["Old Hungarian"] = "ohu", ["Old Kamta"] = "inc-ork", ["Old Kentish Sign Language"] = "okl", ["Old Manipuri"] = "omp", ["Old Punjabi"] = "inc-opa", ["Old Tati"] = "xme-ott", ["Old Tibetan"] = "otb", ["Tiếng Wales cổ"] = "owl", ["Olekha"] = "ole", ["Ollari"] = "gdb", ["Olo"] = "ong", ["Oloma"] = "olm", ["Olrat"] = "olr", ["Olu'bo"] = "lul", ["Olulumo-Ikom"] = "iko", ["Oluta Popoluca"] = "plo", ["Olutsotso"] = "lto", ["Omagua"] = "omg", ["Omba"] = "omb", ["Ombamba"] = "mbm", ["Ombo"] = "oml", ["Tiếng Nahuatl Ometepec"] = "nht", ["Omi"] = "omi", ["Omotik"] = "omt", ["Omurano"] = "omu", ["Ong"] = "oog", ["Onin"] = "oni", ["Onjob"] = "onj", ["Ono"] = "ons", ["Onobasulu"] = "onn", ["Onondaga"] = "ono", ["Ontenu"] = "ont", ["Ontong Java"] = "ojv", ["Oorlams"] = "oor", ["Opao"] = "opo", ["Opata"] = "opt", ["Opuuo"] = "lgn", ["Opón"] = "sai-opo", ["Oraon Sadri"] = "sdr", ["Orejón"] = "ore", ["Oring"] = "org", ["Orizaba Nahuatl"] = "nlv", ["Orléanais"] = "roa-orl", ["Oro"] = "orx", ["Oro Win"] = "orw", ["Oroha"] = "ora", ["Orokaiva"] = "okv", ["Oroko"] = "bdu", ["Orokolo"] = "oro", ["Orowe"] = "bpk", ["Oruma"] = "orr", ["Orya"] = "ury", ["Osamayi"] = "syx", ["Ososo"] = "oso", ["Ot Danum"] = "otd", ["Otank"] = "uta", ["Oti"] = "oti", ["Otomaco"] = "sai-oto", ["Ottawa"] = "otw", ["Ouma"] = "oum", ["Oune"] = "oue", ["Owa"] = "stn", ["Owenia"] = "wsr", ["Owiniga"] = "owi", ["Oy"] = "oyb", ["Oya'oya"] = "oyy", ["Ozolotepec Zapotec"] = "zao", ["Pa"] = "ppt", ["Pa Di"] = "pdi", ["Pa'a"] = "pqa", ["Paama"] = "pma", ["Paasaal"] = "sig", ["Pacahuara"] = "pcp", ["Padoe"] = "pdo", ["Paeonian"] = "ine-pae", ["Pagi"] = "pgi", ["Pagibete"] = "pae", ["Pahanan Agta"] = "apf", ["Pahi"] = "lgt", ["Pahlavani"] = "phv", ["Pai Tavytera"] = "pta", ["Pai-lang"] = "tbq-plg", ["Paicî"] = "pri", ["Paikoneka"] = "awd-pai", ["Paipai"] = "ppi", ["Pajapan Nahuatl"] = "nhp", ["Pak-Tong"] = "pkg", ["Pakanha"] = "pkn", ["Pakistan Sign Language"] = "pks", ["Paku Karen"] = "kpp", ["Pal"] = "abw", ["Palaka Senoufo"] = "plr", ["Palantla Chinantec"] = "cpa", ["Palawan Batak"] = "bya", ["Paleni"] = "pnl", ["Palewyami"] = "nai-ply", ["Palikur"] = "plu", ["Pallanganmiddang"] = "pmd", ["Palta"] = "sai-pal", ["Palu'e"] = "ple", ["Paluan"] = "plz", ["Palya Bareli"] = "bpx", ["Pam"] = "pmn", ["Pambia"] = "pmb", ["Pamigua"] = "sai-pam", ["Pamlico"] = "pmk", ["Pamona"] = "pmf", ["Pamosu"] = "hih", ["Pamplona Atta"] = "att", ["Pana (Central Africa)"] = "pnz", ["Pana (West Africa)"] = "pnq", ["Panamanian Sign Language"] = "lsp", ["Panamint"] = "par", ["Panare"] = "pbh", ["Panará"] = "kre", ["Panasuan"] = "psn", ["Panawa"] = "pwb", ["Pande"] = "bkj", ["Pangseng"] = "pgs", ["Pangutaran Sama"] = "slm", ["Pangwa"] = "pbr", ["Panim"] = "pnr", ["Pankararé"] = "pax", ["Pankararú"] = "paz", ["Pankhu"] = "pkh", ["Pannei"] = "pnc", ["Panobo"] = "pno", ["Panyi Bai"] = "bfc", ["Panyjima"] = "pnw", ["Panzaleo"] = "sai-pnz", ["Pao"] = "ppa", ["Papapana"] = "ppn", ["Papar"] = "dpp", ["Papasena"] = "pas", ["Papel"] = "pbo", ["Papi"] = "ppe", ["Papitalai"] = "pat", ["Papora"] = "ppu", ["Papua New Guinean Sign Language"] = "pgz", ["Papuan Malay"] = "pmy", ["Para Naga"] = "pzn", ["Paraguayan Sign Language"] = "pys", ["Parakanã"] = "pak", ["Paranan"] = "prf", ["Paranawát"] = "paf", ["Paratió"] = "sai-par", ["Parawen"] = "prw", ["Pardhan"] = "pch", ["Pardhi"] = "pcl", ["Pare"] = "asa", ["Paredarerme"] = "xpd", ["Pará Arára"] = "aap", ["Pará Gavião"] = "gvp", ["Pasi"] = "psq", ["Pass Valley Yali"] = "yac", ["Passé"] = "awd-pas", ["Patagón"] = "sai-ptg", ["Patamona"] = "pbc", ["Patani"] = "ptn", ["Pataxó Hã-Ha-Hãe"] = "pth", ["Patep"] = "ptp", ["Pathiya"] = "pty", ["Patpatar"] = "gfk", ["Pattani"] = "lae", ["Pattapu"] = "ptq", ["Patwin"] = "pwi", ["Paulohi"] = "plh", ["Paumarí"] = "pad", ["Pauri Bareli"] = "bfb", ["Pauserna"] = "psm", ["Pawaia"] = "pwa", ["Payaguá"] = "sai-pyg", ["Paynamar"] = "pmr", ["Pe"] = "pai", ["Pech"] = "pay", ["Peerapper"] = "xpw", ["Peere"] = "pfe", ["Pei"] = "ppq", ["Pekal"] = "pel", ["Pele-Ata"] = "ata", ["Penang Sign Language"] = "psg", ["Penchal"] = "pek", ["Pendau"] = "ums", ["Penrhyn"] = "pnh", ["Pentlatch"] = "ptw", ["Perai"] = "wet", ["Perema"] = "wom", ["Pericú"] = "nai-per", ["Pero"] = "pip", ["Persian Sign Language"] = "psc", ["Peruvian Sign Language"] = "prl", ["Petapa Zapotec"] = "zpe", ["Petats"] = "pex", ["Peñoles Mixtec"] = "mil", ["Phala"] = "ypa", ["Phana'"] = "phq", ["Phangduwali"] = "phw", ["Phende"] = "pem", ["Philippine Sign Language"] = "psp", ["Philistine"] = "und-phi", ["Phimbi"] = "phm", ["Phola"] = "ypg", ["Pholo"] = "yip", ["Phom"] = "nph", ["Phudagi"] = "phd", ["Phuie"] = "pug", ["Phukha"] = "phh", ["Phuma"] = "ypm", ["Phunoi"] = "pho", ["Phupa"] = "ypp", ["Phupha"] = "yph", ["Phuthi"] = "bnt-phu", ["Phuza"] = "ypz", ["Piamatsina"] = "ptr", ["Piame"] = "pin", ["Piapoco"] = "pio", ["Piaroa"] = "pid", ["Tiếng Pichinglis"] = "fpe", ["Pichis Ashéninka"] = "cpu", ["Pictish"] = "xpi", ["Picuris"] = "nai-pic", ["Pidgin Delaware"] = "dep", ["Pidgin Iha"] = "ihb", ["Pidgin Onin"] = "onx", ["Pijao"] = "pij", ["Pije"] = "piz", ["Pijin"] = "pis", ["Pileni"] = "piv", ["Pima Bajo"] = "pia", ["Pimbwe"] = "piw", ["Pinai-Hagahai"] = "pnn", ["Pingelapese"] = "pif", ["Pini"] = "pii", ["Pinigura"] = "pnv", ["Pinjarup"] = "pnj", ["Pinji"] = "pic", ["Pinotepa Nacional Mixtec"] = "mio", ["Pintiini"] = "pti", ["Pintupi-Luritja"] = "piu", ["Pirahã"] = "myp", ["Piratapuyo"] = "pir", ["Pirlatapa"] = "bxi", ["Piro"] = "pie", ["Pirriya"] = "xpa", ["Pisabo"] = "pig", ["Pisaflores Tepehua"] = "tpp", ["Piscataway"] = "psy", ["Pisidian"] = "xps", ["Pitcairn-Norfolk"] = "pih", ["Pite Sami"] = "sje", ["Piti"] = "pcn", ["Pitta-Pitta"] = "pit", ["Piu"] = "pix", ["Piya-Kwonci"] = "piy", ["Plains Indian Sign Language"] = "psd", ["Plains Miwok"] = "pmw", ["Plapo Krumen"] = "ktj", ["Playero"] = "gob", ["Pochuri Naga"] = "npo", ["Pochutec"] = "xpo", ["Podoko"] = "pbi", ["Pogali"] = "hkh", ["Pogolo"] = "poy", ["Poitevin-Saintongeais"] = "roa-poi", ["Pokangá"] = "pok", ["Poke"] = "pof", ["Pol"] = "pmm", ["Polish Sign Language"] = "pso", ["Polonombauk"] = "plb", ["Pom"] = "pmo", ["Ponam"] = "ncc", ["Pongu"] = "png", ["Ponyo"] = "npg", ["Poqomam"] = "poc", ["Poqomchi'"] = "poh", ["Porohanon"] = "prh", ["Port Sandwich"] = "psw", ["Port Sorell"] = "xpl", ["Port Vato"] = "ptv", ["Portuguese Sign Language"] = "psr", ["Potiguára"] = "pog", ["Poumei Naga"] = "pmx", ["Pouye"] = "bye", ["Powari"] = "pwr", ["Powhatan"] = "pim", ["Poyanáwa"] = "pyn", ["Tiếng Ireland nguyên thủy"] = "pgl", ["Principense"] = "pre", ["Proto-Amuesha-Chamicuro"] = "awd-amc-pro", ["Tiếng Tiểu Á nguyên thủy"] = "ine-ana-pro", ["Proto-Apachean"] = "apa-pro", ["Proto-Arawa"] = "auf-pro", ["Tiếng Armenia nguyên thủy"] = "hyx-pro", ["Proto-Arnhem"] = "aus-arn-pro", ["Proto-Atayalic"] = "map-ata-pro", ["Proto-Batak"] = "btk-pro", ["Tiếng Bongo-Bagirmi nguyên thủy"] = "csu-bba-pro", ["Proto-Boran"] = "sai-bor-pro", ["Proto-Bua"] = "alv-bua-pro", ["Proto-Bungku-Tolaki"] = "poz-btk-pro", ["Tiếng Miến nguyên thủy"] = "tbq-brm-pro", ["Proto-Caddoan"] = "cdd-pro", ["Proto-Cangin"] = "alv-cng-pro", ["Proto-Central Chadic"] = "cdc-cbm-pro", ["Proto-Central Indo-Aryan"] = "inc-cen-pro", ["Proto-Central Jê"] = "sai-cje-pro", ["Tiếng Trung New South Wales nguyên thủy"] = "aus-cww-pro", ["Tiếng Trung Sudan nguyên thủy"] = "csu-pro", ["Proto-Central Togo"] = "alv-gtm-pro", ["Proto-Chatino"] = "omq-cha-pro", ["Proto-Chibchan"] = "cba-pro", ["Proto-Chimakuan"] = "chi-pro", ["Proto-Chinookan"] = "nai-ckn-pro", ["Tiếng Chukotka-Kamchatka nguyên thủy"] = "qfa-cka-pro", ["Proto-Chumash"] = "nai-chu-pro", ["Proto-Cupan"] = "azc-cup-pro", ["Proto-Daju"] = "sdv-daj-pro", ["Proto-Daly"] = "aus-dal-pro", ["Proto-Eastern Jebel"] = "sdv-eje-pro", ["Proto-Eastern Oti-Volta"] = "nic-eov-pro", ["Proto-Fali"] = "alv-fli-pro", ["Proto-Grassfields"] = "nic-grf-pro", ["Proto-Great Andamanese"] = "qfa-adm-pro", ["Proto-Guang"] = "alv-gng-pro", ["Proto-Gur"] = "nic-gur-pro", ["Proto-Gurunsi"] = "nic-gns-pro", ["Proto-Halmahera-Cenderawasih"] = "poz-hce-pro", ["Proto-Heiban"] = "alv-hei-pro", ["Proto-Highland East Cushitic"] = "cus-hec-pro", ["Proto-Hmong"] = "hmn-pro", ["Proto-Hrusish"] = "sit-hrs-pro", ["Proto-Huitoto-Ocaina"] = "sai-hoc-pro", ["Proto-Hurro-Urartian"] = "qfa-hur-pro", ["Proto-Idomoid"] = "alv-ido-pro", ["Proto-Igboid"] = "alv-igb-pro", ["Proto-Ijoid"] = "ijo-pro", ["Tiếng Iwaidja nguyên thủy"] = "aus-wdj-pro", ["Proto-Jukunoid"] = "nic-jkn-pro", ["Proto-Kadu"] = "qfa-kad-pro", ["Proto-Kalamian"] = "phi-kal-pro", ["Proto-Kalapuyan"] = "nai-klp-pro", ["Proto-Kampa"] = "awd-kmp-pro", ["Proto-Kham"] = "sit-kha-pro", ["Proto-Khoe"] = "khi-kho-pro", ["Proto-Komisenian"] = "ira-kms-pro", ["Proto-Kru"] = "kro-pro", ["Proto-Kuliak"] = "ssa-klk-pro", ["Proto-Kurdish"] = "ku-pro", ["Proto-Kwa"] = "alv-kwa-pro", ["Proto-Lalo"] = "tbq-lal-pro", ["Proto-Lampungic"] = "poz-lgx-pro", ["Tiếng Lô Lô nguyên thủy"] = "tbq-lol-pro", ["Proto-Lower Cross River"] = "nic-lcr-pro", ["Proto-Luish"] = "sit-luu-pro", ["Proto-Maidun"] = "nai-mdu-pro", ["Proto-Mangbetu"] = "csu-maa-pro", ["Proto-Masa"] = "cdc-mas-pro", ["Proto-Mazatec"] = "omq-maz-pro", ["Proto-Medo-Parthian"] = "ira-mpr-pro", ["Proto-Mixe-Zoque"] = "nai-miz-pro", ["Proto-Mixtec"] = "omq-mxt-pro", ["Proto-Mumuye"] = "alv-mum-pro", ["Proto-Munji-Yidgha"] = "ira-mny-pro", ["Proto-Na-Dene"] = "xnd-pro", ["Proto-Nawiki"] = "awd-nwk-pro", ["Proto-Nilotic"] = "sdv-nil-pro", ["Proto-North Caucasian"] = "ccn-pro", ["Proto-North Halmahera"] = "paa-nha-pro", ["Proto-North Sarawak"] = "poz-swa-pro", ["Proto-Nubian"] = "nub-pro", ["Proto-Numic"] = "azc-num-pro", ["Proto-Nupoid"] = "alv-nup-pro", ["Proto-Nyima"] = "sdv-nyi-pro", ["Proto-Nyulnyulan"] = "aus-nyu-pro", ["Proto-Ogoni"] = "nic-ogo-pro", ["Proto-Ossetic"] = "os-pro", ["Proto-Oti-Volta"] = "nic-ovo-pro", ["Proto-Oto-Manguean"] = "omq-pro", ["Proto-Oto-Pamean"] = "omq-otp-pro", ["Proto-Otomi"] = "oto-otm-pro", ["Proto-Otomian"] = "oto-pro", ["Proto-Paresi-Waura"] = "awd-prw-pro", ["Proto-Plateau Penutian"] = "nai-plp-pro", ["Proto-Pomeranian"] = "zlw-pom-pro", ["Proto-Pomo"] = "nai-pom-pro", ["Proto-Saka"] = "xsc-sak-pro", ["Proto-Sanglechi-Ishkashimi"] = "ira-sgi-pro", ["Proto-Sara"] = "csu-sar-pro", ["Proto-Siouan-Catawban"] = "nai-sca-pro", ["Proto-Songhay"] = "son-pro", ["Proto-Sotho-Tswana"] = "bnt-sts-pro", ["Proto-South Cushitic"] = "cus-sou-pro", ["Proto-South Sulawesi"] = "poz-ssw-pro", ["Proto-Southern Jê"] = "sai-sje-pro", ["Proto-Sunda-Sulawesi"] = "poz-sus-pro", ["Proto-Ta-Arawak"] = "awd-taa-pro", ["Proto-Takic"] = "azc-tak-pro", ["Proto-Taman"] = "sdv-tmn-pro", ["Proto-Tani"] = "sit-tan-pro", ["Proto-Taranoan"] = "sai-tar-pro", ["Proto-Tatic"] = "xme-ttc-pro", ["Proto-Totozoquean"] = "nai-tot-pro", ["Tiếng Liên New Guinea nguyên thủy"] = "ngf-pro", ["Proto-Tsezian"] = "cau-tsz-pro", ["Proto-Tsimshianic"] = "nai-tsi-pro", ["Proto-Upper Cross River"] = "nic-ucr-pro", ["Proto-Utian"] = "nai-utn-pro", ["Proto-Western Mande"] = "dmn-mdw-pro", ["Proto-Witotoan"] = "sai-wit-pro", ["Proto-Yupik"] = "ypk-pro", ["Proto-Zapotecan"] = "omq-zap-pro", ["Providencia Sign Language"] = "prz", ["Psikye"] = "kvj", ["Puare"] = "pux", ["Pudtol Atta"] = "atp", ["Puebla Mazatec"] = "pbm", ["Puelche"] = "pue", ["Puerto Rican Sign Language"] = "psl", ["Puimei Naga"] = "npu", ["Puiron"] = "sit-prn", ["Pukapukan"] = "pkp", ["Pulabu"] = "pup", ["Puluwat"] = "puw", ["Puma"] = "pum", ["Pumé"] = "yae", ["Punan Aput"] = "pud", ["Punan Bah-Biau"] = "pna", ["Punan Batu"] = "pnm", ["Punan Merah"] = "puf", ["Punan Merap"] = "puc", ["Punan Tubu"] = "puj", ["Punu"] = "puu", ["Puquina"] = "puq", ["Puragi"] = "pru", ["Purari"] = "iar", ["Purepecha"] = "pua", ["Puri"] = "prr", ["Purik"] = "prx", ["Purisimeño"] = "puy", ["Puruborá"] = "pur", ["Puruhá"] = "sai-prh", ["Purukotó"] = "sai-pur", ["Purum"] = "pub", ["Putai"] = "mfl", ["Putoh"] = "put", ["Putukwam"] = "afe", ["Puyo-Paekche"] = "xpp", ["Pwaamei"] = "pme", ["Pwapwa"] = "pop", ["Pyapun"] = "pcw", ["Pye Krumen"] = "pye", ["Pyemmairre"] = "xpb", ["Pyen"] = "pyy", ["Pykobjê"] = "sai-pyk", ["Pyu"] = "pby", ["Páez"] = "pbb", ["Pááfang"] = "pfa", ["Päri"] = "lkr", ["Pémono"] = "pev", ["Pévé"] = "lme", ["Pökoot"] = "pko", ["Q'anjob'al"] = "kjb", ["Q'eqchi"] = "kek", ["Qabiao"] = "laq", ["Qaqet"] = "byx", ["Qatabanian"] = "xqt", ["Qau"] = "gqu", ["Qila Muji"] = "ymq", ["Quebec Sign Language"] = "fcs", ["Querétaro Otomi"] = "otq", ["Quetzaltepec Mixe"] = "pxm", ["Queyu"] = "qvy", ["Quiavicuzas Zapotec"] = "zpj", ["Quileute"] = "qui", ["Quimbaya"] = "sai-qmb", ["Quinigua"] = "nai-qng", ["Quinqui"] = "quq", ["Quioquitani-Quierí Zapotec"] = "ztq", ["Quiotepec Chinantec"] = "chq", ["Quitemo"] = "sai-qtm", ["Rabona"] = "sai-rab", ["Rahambuu"] = "raz", ["Rajah Kabunsuwan Manobo"] = "mqk", ["Raji"] = "rji", ["Rajong"] = "rjg", ["Rakahanga-Manihiki"] = "rkh", ["Ralte"] = "ral", ["Ramandi"] = "tks", ["Ramanos"] = "sai-ram", ["Ramoaaina"] = "rai", ["Ramopa"] = "kjx", ["Rampi"] = "lje", ["Rana Tharu"] = "thr", ["Rang"] = "rax", ["Rangkas"] = "rgk", ["Ranglong"] = "rnl", ["Rao"] = "rao", ["Rapa"] = "ray", ["Rapoisi"] = "kyx", ["Rapting"] = "rpt", ["Rara Bakati'"] = "lra", ["Ratahan"] = "rth", ["Rathawi"] = "rtw", ["Rathwi Bareli"] = "bgd", ["Rawa"] = "rwo", ["Rawat"] = "jnl", ["Rawo"] = "rwa", ["Rayón Zoque"] = "zor", ["Razajerdi"] = "rat", ["Razihi"] = "rzh", ["Reang"] = "ria", ["Red Gelao"] = "gir", ["Reel"] = "atu", ["Rejang Kayan"] = "ree", ["Rema"] = "bow", ["Rembarunga"] = "rmb", ["Rembong"] = "reb", ["Remo"] = "rem", ["Remontado Agta"] = "agv", ["Rempi"] = "rmp", ["Remun"] = "lkj", ["Rennellese"] = "mnv", ["Repanbitip"] = "rpn", ["Rer Bare"] = "rer", ["Rerau"] = "rea", ["Rerep"] = "pgk", ["Reshe"] = "res", ["Resígaro"] = "rgr", ["Retta"] = "ret", ["Reyesano"] = "rey", ["Rhine Franconian"] = "gmw-rfr", ["Riang"] = "ril", ["Riantana"] = "ran", ["Ribun"] = "rir", ["Rigwe"] = "iri", ["Rikbaktsa"] = "rkb", ["Ringgou"] = "rgu", ["Ririo"] = "rri", ["Ritarungo"] = "rit", ["Riung"] = "riu", ["Riverain Sango"] = "snj", ["Rogo"] = "rod", ["Roma"] = "rmm", ["Romani Greek"] = "rge", ["Romanian Sign Language"] = "rms", ["Romano-Serbian"] = "rsb", ["Romanova"] = "rmv", ["Romblomanon"] = "rol", ["Rombo"] = "rof", ["Romkun"] = "rmk", ["Ron"] = "cla", ["Ronga"] = "rng", ["Rongga"] = "ror", ["Rongmei Naga"] = "nbu", ["Rongpo"] = "rnp", ["Ronji"] = "roe", ["Roon"] = "rnn", ["Roria"] = "rga", ["Roro"] = "rro", ["Rotokas"] = "roo", ["Roviana"] = "rug", ["Rudbari"] = "rdb", ["Rufiji"] = "rui", ["Ruga"] = "ruh", ["Rukiga"] = "cgg", ["Ruma"] = "ruz", ["Rumu"] = "klq", ["Runga"] = "rou", ["Rungtu"] = "rtc", ["Rungwa"] = "rnw", ["Russenorsk"] = "crp-rsn", ["Russian Sign Language"] = "rsl", ["Ruuli"] = "ruc", ["Ruwund"] = "rnd", ["Rwa"] = "rwk", ["Rwanda-Rundi"] = "rw", ["Sa"] = "sax", ["Sa'a"] = "apb", ["Sa'ban"] = "snv", ["Sa'och"] = "scq", ["Saafi-Saafi"] = "sav", ["Saam"] = "raq", ["Saamia"] = "lsm", ["Saare"] = "uss", ["Sabah Malay"] = "msi", ["Sabanê"] = "sae", ["Sabaot"] = "spy", ["Sabine"] = "sbv", ["Sabir"] = "pml", ["Sabu"] = "hvn", ["Sacapulteco"] = "quv", ["Saep"] = "spd", ["Safaitic"] = "sem-saf", ["Safaliba"] = "saf", ["Safeyoka"] = "apz", ["Safwa"] = "sbk", ["Sagala"] = "sbm", ["Sagalla"] = "tga", ["Sahaptin"] = "nai-spt", ["Sahu"] = "saj", ["Sajau Basap"] = "sjb", ["Sakachep"] = "sch", ["Sakam"] = "skm", ["Sakao"] = "sku", ["Sakata"] = "skt", ["Sake"] = "sak", ["Sala"] = "shq", ["Salampasu"] = "slx", ["Salas"] = "sgu", ["Salchuq"] = "slq", ["Saleman"] = "sau", ["Saliba (Colombia)"] = "slc", ["Saliba (New Guinea)"] = "sbe", ["Salinan"] = "sln", ["Salt-Yui"] = "sll", ["Saluan"] = "loe", ["Salumá"] = "slj", ["Salvadoran Lenca"] = "nai-sln", ["Salvadoran Sign Language"] = "esn", ["Sam"] = "snx", ["Sama"] = "smd", ["Samaritan Aramaic"] = "sam", ["Samaritan Hebrew"] = "smp", ["Samarokena"] = "tmj", ["Samatao"] = "ysd", ["Samba"] = "smx", ["Sambe"] = "xab", ["Samberigi"] = "ssx", ["Samburu"] = "saq", ["Samoan Plantation Pidgin"] = "cpe-spp", ["Samosa"] = "swm", ["Sampang"] = "rav", ["Samre"] = "sxm", ["Samvedi"] = "smv", ["San Agustín Mixtepec Zapotec"] = "ztm", ["San Baltazar Loxicha Zapotec"] = "zpx", ["San Felipe Otlaltepec Popoloca"] = "pow", ["San Jerónimo Tecóatl Mazatec"] = "maa", ["San Juan Atzingo Popoloca"] = "poe", ["San Juan Colorado Mixtec"] = "mjc", ["San Juan Quiahije Chatino"] = "ctp-san", ["San Juan Teita Mixtec"] = "xtj", ["San Luís Temalacayuca Popoloca"] = "pps", ["San Marcos Tlalcoyalco Popoloca"] = "pls", ["San Miguel Creole French"] = "scf", ["San Miguel Piedras Mixtec"] = "xtp", ["San Miguel el Grande Mixtec"] = "mig", ["San Pablo Güilá Zapotec"] = "ztu", ["San Pedro Amuzgos Amuzgo"] = "azg", ["San Pedro Quiatoni Zapotec"] = "zpf", ["San Vicente Coatlán Zapotec"] = "zpt", ["Sanapaná"] = "spn", ["Sanaviron"] = "sai-san", ["Sandawe"] = "sad", ["Sanga (Congo)"] = "sng", ["Sanga (Nigeria)"] = "xsn", ["Sanggau"] = "scg", ["Sangil"] = "snl", ["Sangkong"] = "sgk", ["Sanglechi"] = "sgy", ["Sangtam Naga"] = "nsa", ["Sangu (Gabon)"] = "snq", ["Sangu (Tanzania)"] = "sbp", ["Sani"] = "ysn", ["Sanie"] = "ysy", ["Saniyo-Hiyewe"] = "sny", ["Sankaran Maninka"] = "msc", ["Sansi"] = "ssi", ["Santa Catarina Albarradas Zapotec"] = "ztn", ["Santa Inés Ahuatempan Popoloca"] = "pca", ["Santa Inés Yatzechi Zapotec"] = "zpn", ["Santa Lucía Monteverde Mixtec"] = "mdv", ["Santa María La Alta Nahuatl"] = "nhz", ["Santa María Quiegolani Zapotec"] = "zpi", ["Santa María Zacatepec Mixtec"] = "mza", ["Santa Teresa Cora"] = "cok", ["Santiago Xanica Zapotec"] = "zpr", ["Santo Domingo Albarradas Zapotec"] = "zas", ["Sanumá"] = "xsu", ["Saparua"] = "spr", ["Sapará"] = "sai-sap", ["Sapo"] = "krn", ["Saponi"] = "spi", ["Sapuan"] = "spu", ["Sapé"] = "spc", ["Sar"] = "mwm", ["Sara"] = "sre", ["Sara Kaba"] = "sbz", ["Sara Kaba Deme"] = "kwg", ["Sara Kaba Náà"] = "kwv", ["Sarangani Blaan"] = "bps", ["Sarangani Manobo"] = "mbs", ["Sarasira"] = "zsa", ["Saraveca"] = "sar", ["Sarli"] = "sdf", ["Sartang"] = "onp", ["Sarua"] = "swy", ["Sarudu"] = "sdu", ["Saruga"] = "sra", ["Sasaru"] = "sxs", ["Tiếng Sassari"] = "sdc", ["Satawalese"] = "stw", ["Sateré-Mawé"] = "mav", ["Sathmar Swabian"] = "gmw-stm", ["Saudi Arabian Sign Language"] = "sdl", ["Sauraseni Apabhramsa"] = "inc-sap", ["Sauri"] = "srt", ["Sause"] = "sao", ["Sausi"] = "ssj", ["Tiếng Savosavo"] = "svs", ["Sawai"] = "szw", ["Saweru"] = "swr", ["Sawi"] = "saw", ["Sawila"] = "swt", ["Saya"] = "say", ["Sayula Popoluca"] = "pos", ["Scanian"] = "gmq-scy", ["Seba"] = "kdg", ["Seberuang"] = "sbx", ["Sebop"] = "sib", ["Sebuyau"] = "snb", ["Sechura"] = "sai-sec", ["Secoya"] = "sey", ["Sedoa"] = "tvw", ["Seenku"] = "sos", ["Segai"] = "sge", ["Segeju"] = "seg", ["Seget"] = "sbg", ["Sehwi"] = "sfw", ["Seim"] = "sim", ["Seimat"] = "ssg", ["Seit-Kaitetu"] = "hik", ["Sekani"] = "sek", ["Sekapan"] = "skp", ["Sekar"] = "skz", ["Seke"] = "skj", ["Sekele"] = "vaj", ["Seki"] = "syi", ["Seko Padang"] = "skx", ["Seko Tengah"] = "sko", ["Sekpele"] = "lip", ["Selangor Sign Language"] = "kgi", ["Selaru"] = "slu", ["Selayar"] = "sly", ["Selee"] = "snw", ["Selepet"] = "spl", ["Selk'nam"] = "ona", ["Selonian"] = "sxl", ["Selungai Murut"] = "slg", ["Seluwasan"] = "sws", ["Sema"] = "nsm", ["Semandang"] = "sdm", ["Sembakung Murut"] = "sbr", ["Semimi"] = "etz", ["Semnani"] = "smy", ["Sempan"] = "xse", ["Senara Sénoufo"] = "seq", ["Senaya"] = "syn", ["Sene"] = "sej", ["Sengele"] = "szg", ["Senggi"] = "snu", ["Sengo"] = "spk", ["Sengseng"] = "ssz", ["Sensi"] = "sni", ["Sentani"] = "set", ["Senthang Chin"] = "sez", ["Sentinelese"] = "std", ["Sepa (Indonesia)"] = "spb", ["Sepa (New Guinea)"] = "spe", ["Sepen"] = "spm", ["Sepik Iwam"] = "iws", ["Sepik Mari"] = "mbx", ["Sera"] = "sry", ["Sere"] = "swf", ["Serili"] = "sve", ["Seroa"] = "kqu", ["Serrano"] = "ser", ["Seru"] = "szd", ["Serua"] = "srw", ["Serudung Murut"] = "srk", ["Serui-Laut"] = "seu", ["Seta"] = "stf", ["Setaman"] = "stm", ["Seti"] = "sbi", ["Sewa Bay"] = "sew", ["Seychellois Creole"] = "crs", ["Sha"] = "scw", ["Shahmirzadi"] = "srz", ["Shahrudi"] = "shm", ["Shall-Zwall"] = "sha", ["Shama-Sambuga"] = "sqa", ["Shamang"] = "xsh", ["Shambala"] = "ksb", ["Shanenawa"] = "swo", ["Shanga"] = "sho", ["Shangzhai"] = "jih", ["Shaozhou Tuhua"] = "zhx-sht", ["Sharanahua"] = "mcd", ["Shark Bay"] = "ssv", ["Sharwa"] = "swq", ["Shasta"] = "sht", ["Shatt"] = "shj", ["Shau"] = "sqh", ["Shawnee"] = "sjw", ["Tiếng Xa"] = "shx", ["Shehri"] = "shv", ["Sheko"] = "she", ["Shelta"] = "sth", ["Shendu"] = "shl", ["Sheni"] = "scv", ["Sherbro"] = "bun", ["Sherdukpen"] = "sdp", ["Shi"] = "shr", ["Shihhi Arabic"] = "ssh", ["Shiki"] = "gua", ["Shilluk"] = "shk", ["Shipibo-Conibo"] = "shp", ["Shixing"] = "sxg", ["Shoo-Minda-Nye"] = "bcv", ["Shoshone"] = "shh", ["Shua"] = "shg", ["Shuar"] = "jiv", ["Shuba"] = "cbq", ["Shumashti"] = "sts", ["Shumcho"] = "scu", ["Shuwa-Zamani"] = "ksa", ["Shwai"] = "shw", ["Sialum"] = "slw", ["Siamou"] = "sif", ["Sian"] = "spg", ["Siane"] = "snp", ["Siang"] = "sya", ["Siar-Lak"] = "sjr", ["Sibe"] = "nco", ["Sibu Melanau"] = "sdx", ["Sicanian"] = "sxc", ["Siculo-Arabic"] = "sqr", ["Sidetic"] = "xsd", ["Sie"] = "erg", ["Sierra Leone Sign Language"] = "sgx", ["Sierra Negra Nahuatl"] = "nsu", ["Sierra de Juárez Zapotec"] = "zaa", ["Sighu"] = "sxe", ["Sihan"] = "snr", ["Sika"] = "ski", ["Sikaiana"] = "sky", ["Sikaritai"] = "tty", ["Sikiana"] = "sik", ["Sikule"] = "skh", ["Sila"] = "slt", ["Silacayoapan Mixtec"] = "mks", ["Sileibi"] = "sbq", ["Silimo"] = "wul", ["Siliput"] = "mkc", ["Silopi"] = "xsp", ["Simaa"] = "sie", ["Simba"] = "sbw", ["Simbali"] = "smg", ["Simbari"] = "smb", ["Simbo"] = "sbb", ["Simeku"] = "smz", ["Simeulue"] = "smr", ["Simte"] = "smt", ["Sinacantán"] = "nai-sin", ["Sinagen"] = "siu", ["Sinasina"] = "sst", ["Sindarin"] = "sjn", ["Sindhi Bhil"] = "sbn", ["Sindihui Mixtec"] = "xts", ["Singa"] = "sgm", ["Singapore Sign Language"] = "sls", ["Singpho"] = "sgp", ["Sinicahua Mixtec"] = "xti", ["Sininkere"] = "skq", ["Sinte Romani"] = "rmo", ["Sinyar"] = "sys", ["Sinúfana"] = "sai-sin", ["Sio"] = "xsi", ["Siona"] = "snn", ["Sipakapense"] = "qum", ["Sira"] = "swj", ["Siri"] = "sir", ["Siriano"] = "sri", ["Sirionó"] = "srq", ["Siroi"] = "ssd", ["Siuslaw"] = "sis", ["Sivandi"] = "siy", ["Siwai"] = "siw", ["Siyin Chin"] = "csy", ["Skagit"] = "ska", ["Skalvian"] = "svx", ["Ske"] = "ske", ["Skou"] = "skv", ["Slavomolisano"] = "svm", ["Slovakian Sign Language"] = "svk", ["Small Flowery Miao"] = "sfm", ["Smärky Kanum"] = "kxq", ["Snohomish"] = "sno", ["So'a"] = "ssq", ["Sobei"] = "sob", ["Sochiapam Chinantec"] = "cso", ["Soga"] = "xog", ["Sok"] = "skk", ["Soko"] = "soc", ["Sokoro"] = "sok", ["Solano"] = "xso", ["Soli"] = "sby", ["Solos"] = "sol", ["Som"] = "smc", ["Somba-Siawari"] = "bmu", ["Somra"] = "ntx", ["Somrai"] = "sor", ["Somray"] = "smu", ["Somyev"] = "kgt", ["Sonaga"] = "ysg", ["Sonde"] = "shc", ["Songe"] = "sop", ["Songomeno"] = "soe", ["Songoora"] = "sod", ["Sonha"] = "soi", ["Sonia"] = "siq", ["Soo"] = "teu", ["Sop"] = "urw", ["Sori-Harengan"] = "sbh", ["Sorkhei"] = "sqo", ["Sorothaptic"] = "sxo", ["Sorsogon Ayta"] = "ays", ["Sos Kundi"] = "sdk", ["Sota Kanum"] = "krz", ["Sou"] = "sqq", ["South African Sign Language"] = "sfs", ["South Awyu"] = "aws", ["South Boma"] = "bnt-sbo", ["Tiếng Banda Trung Nam"] = "lnl", ["South Central Dinka"] = "dib", ["South Fali"] = "fal", ["South Giziga"] = "giz", ["South Lembata"] = "lmf", ["South Muyu"] = "kts", ["South Nuaulu"] = "nxl", ["South Tairora"] = "omw", ["South Ucayali Ashéninka"] = "cpy", ["South Watut"] = "mcy", ["Southeast Ambrym"] = "tvk", ["Southeast Babar"] = "vbb", ["Southeast Ijo"] = "ijs", ["Southeast Pashayi"] = "psi", ["Southeast Tasmanian"] = "xpf", ["Southeastern Dinka"] = "dks", ["Southeastern Ixtlán Zapotec"] = "zpd", ["Southeastern Nochixtlán Mixtec"] = "mxy", ["Southeastern Pomo"] = "pom", ["Southeastern Puebla Nahuatl"] = "npl", ["Southeastern Tarahumara"] = "tcu", ["Southern Alta"] = "agy", ["Southern Birifor"] = "biv", ["Southern Bobo"] = "bwq", ["Southern Bontoc"] = "obk", ["Southern Catanduanes Bicolano"] = "bln", ["Southern Dagaare"] = "dga", ["Southern Ghale"] = "ghe", ["Southern Grebo"] = "grj", ["Southern Guiyang Hmong"] = "hmy", ["Southern Haida"] = "hax", ["Southern Hindko"] = "hnd", ["Southern Kalapuya"] = "sxk", ["Southern Kalinga"] = "ksc", ["Southern Khanty"] = "kca-sou", ["Tiếng Kissi Nam"] = "kss", ["Southern Kiwai"] = "kjd", ["Tiếng Xwarin"] = "sdh", ["Southern Lolopo"] = "ysp", ["Southern Lorung"] = "lrr", ["Southern Ma'di"] = "snm", ["Southern Mashan Hmong"] = "hma", ["Southern Muji"] = "ymc", ["Southern Ngbandi"] = "nbw", ["Southern Nisu"] = "nsd", ["Southern Nuni"] = "nnw", ["Southern Ohlone"] = "css", ["Southern One"] = "osu", ["Southern Pame"] = "pmz", ["Southern Pinghua"] = "csp", ["Southern Pomo"] = "peq", ["Southern Puebla Mixtec"] = "mit", ["Southern Puget Sound Salish"] = "slh", ["Southern Pumi"] = "pmj", ["Southern Qiandong Miao"] = "hms", ["Southern Rengma Naga"] = "nre", ["Southern Sama"] = "ssb", ["Southern Sierra Miwok"] = "skd", ["Southern Tidong"] = "itd", ["Southern Tiwa"] = "tix", ["Southern Toussian"] = "wib", ["Southern Tutchone"] = "tce", ["Southern Valley Yokuts"] = "nai-svy", ["Southwest Gbaya"] = "gso", ["Southwest Palawano"] = "plv", ["Southwest Pashayi"] = "psh", ["Southwest Tanna"] = "nwi", ["Southwestern Bontoc"] = "vbk", ["Southwestern Dinka"] = "dik", ["Southwestern Fars"] = "fay", ["Southwestern Guiyang Hmong"] = "hmg", ["Southwestern Huishui Hmong"] = "hmh", ["Southwestern Nisu"] = "nsv", ["Southwestern Tamang"] = "tsf", ["Southwestern Tarahumara"] = "twr", ["Southwestern Tepehuan"] = "tla", ["Southwestern Tlaxiaco Mixtec"] = "meh", ["Sowa"] = "sww", ["Sowanda"] = "sow", ["Soyaltepec Mazatec"] = "vmp", ["Soyaltepec Mixtec"] = "vmq", ["Spanish Sign Language"] = "ssp", ["Spiti Bhoti"] = "spt", ["Spokane"] = "spo", ["Sri Lankan Creole Malay"] = "sci", ["Sri Lankan Sign Language"] = "sqs", ["Stod Bhoti"] = "sbu", ["Stoney"] = "sto", ["Suabo"] = "szp", ["Suarmin"] = "seo", ["Suau"] = "swp", ["Suba"] = "sxb", ["Suba-Simbiti"] = "ssc", ["Subi"] = "xsj", ["Subiya"] = "sbs", ["Subtiaba"] = "sut", ["Sudest"] = "tgo", ["Sudovian"] = "xsv", ["Suena"] = "sue", ["Suga"] = "sgi", ["Suganga"] = "sug", ["Sugut Dusun"] = "kzs", ["Suki"] = "sui", ["Suku"] = "sub", ["Sukuma"] = "suk", ["Sukur"] = "syk", ["Sukurum"] = "zsu", ["Sula"] = "szn", ["Sulka"] = "sua", ["Sulod"] = "srg", ["Suma"] = "sqm", ["Sumariup"] = "siv", ["Sumau"] = "six", ["Tiếng Sumbawa"] = "smw", ["Sumbwa"] = "suw", ["Sumtu Chin"] = "csv", ["Sunam"] = "ssk", ["Sunum"] = "ymn", ["Sunwar"] = "suz", ["Suoy"] = "syo", ["Supyire"] = "spp", ["Sur"] = "tdl", ["Surbakhal"] = "sbj", ["Surigaonon"] = "sgd", ["Sursurunga"] = "sgz", ["Suruahá"] = "swx", ["Surubu"] = "sde", ["Suruí"] = "sru", ["Suruí Do Pará"] = "mdz", ["Susquehannock"] = "sqn", ["Susuami"] = "ssu", ["Suundi"] = "sdj", ["Suwawa"] = "swu", ["Suyá"] = "suy", ["Swabian"] = "swg", ["Swampy Cree"] = "csw", ["Swedish Sign Language"] = "swl", ["Swiss-French Sign Language"] = "ssr", ["Swiss-German Sign Language"] = "sgg", ["Swiss-Italian Sign Language"] = "slf", ["Swo"] = "sox", ["Syenara Senoufo"] = "shz", ["Sácata"] = "sai-sac", ["São Paulo Kaingáng"] = "zkp", ["Sãotomense"] = "cri", ["Sìcìté Sénoufo"] = "sep", ["T'en"] = "tct", ["Tabaa Zapotec"] = "zat", ["Tabancale"] = "sai-tab", ["Tabaru"] = "tby", ["Tabasco Chontal"] = "chf", ["Tabasco Nahuatl"] = "nhc", ["Tabasco Zoque"] = "zoq", ["Tabla"] = "tnm", ["Tabo"] = "knv", ["Tabriak"] = "tzx", ["Tacahua Mixtec"] = "xtt", ["Tacana"] = "tna", ["Tadaksahak"] = "dsq", ["Tae'"] = "rob", ["Tafreshi"] = "xme-taf", ["Tagabawa"] = "bgs", ["Tagakaulu Kalagan"] = "klg", ["Tagbanwa"] = "tbw", ["Tagbu"] = "tbm", ["Tagish"] = "tgx", ["Tagwana Senoufo"] = "tgw", ["Tai"] = "taw", ["Tai Hang Tong"] = "thc", ["Tai Hongjin"] = "tiz", ["Tai Long"] = "thi", ["Tai Thanh"] = "tmm", ["Tai Ya"] = "cuu", ["Taiap"] = "gpn", ["Taikat"] = "aos", ["Tainae"] = "ago", ["Tairuma"] = "uar", ["Taita"] = "dav", ["Taiwan Sign Language"] = "tss", ["Taje"] = "pee", ["Tiếng Tajio"] = "tdj", ["Tajuasohn"] = "tja", ["Takelma"] = "tkm", ["Takia"] = "tbc", ["Takka Apabhramsa"] = "inc-tak", ["Takua"] = "tkz", ["Takuu"] = "nho", ["Takwane"] = "tke", ["Talaud"] = "tld", ["Taliabu"] = "tlv", ["Talieng"] = "tdf", ["Talinga-Bwisi"] = "tlj", ["Talise"] = "tlr", ["Tallán"] = "sai-tal", ["Talodi"] = "tlo", ["Taloki"] = "tlk", ["Talondo'"] = "tln", ["Talu"] = "yta", ["Tama (Chad)"] = "tma", ["Tama (Colombia)"] = "ten", ["Tamagario"] = "tcg", ["Tamambo"] = "mla", ["Taman (Indonesia)"] = "tmn", ["Taman (Myanmar)"] = "tcl", ["Tamanaku"] = "tmz", ["Tamazola Mixtec"] = "vmx", ["Tambas"] = "tdk", ["Tambora"] = "xxt", ["Tambotalo"] = "tls", ["Tambunan Dusun"] = "kzt", ["Tami"] = "tmy", ["Tamnim Citak"] = "tml", ["Tampias Lobu"] = "low", ["Tampulma"] = "tpm", ["Tanacross"] = "tcb", ["Tanahmerah"] = "tcm", ["Tanapag"] = "tpv", ["Tandaganon"] = "tgn", ["Tandia"] = "tni", ["Tanema"] = "tnx", ["Tangale"] = "tan", ["Tangam"] = "sit-tgm", ["Tanggu"] = "tgu", ["Tangko"] = "tkx", ["Tangsa"] = "nst", ["Tanguat"] = "tbs", ["Tiếng Tanimuca-Retuarã"] = "tnc", ["Tanjijili"] = "uji", ["Tanudan Kalinga"] = "kml", ["Tanzanian Sign Language"] = "tza", ["Tapachultec"] = "nai-tap", ["Taparita"] = "sai-tpr", ["Tapayuna"] = "sai-tap", ["Tapeba"] = "tbb", ["Tapei"] = "afp", ["Tapieté"] = "tpj", ["Tar Gula"] = "kcm", ["Tarairiú"] = "sai-trr", ["Tarao"] = "tro", ["Taraon"] = "mhu", ["Tareng"] = "tgr", ["Tarjumo"] = "txj", ["Tarok"] = "yer", ["Tarpia"] = "tpf", ["Tartessian"] = "txr", ["Taruma"] = "tdm", ["Tasmate"] = "tmt", ["Tataltepec Chatino"] = "cta", ["Tatana"] = "txx", ["Tataviam"] = "azc-tat", ["Tauade"] = "ttd", ["Taulil"] = "tuh", ["Taupota"] = "tpa", ["Taushiro"] = "trr", ["Tauya"] = "tya", ["Taveta"] = "tvs", ["Tawala"] = "tbo", ["Tawandê"] = "xtw", ["Tawang Monpa"] = "twm", ["Tawasa"] = "nai-taw", ["Taworta"] = "tbp", ["Tawoyan"] = "twy", ["Tawr Chin"] = "tcp", ["Tay Khang"] = "tnu", ["Tayabas Ayta"] = "ayy", ["Tayo"] = "cks", ["Tboli"] = "tbl", ["Tchitchege"] = "tck", ["Tchumbuli"] = "bqa", ["Te'un"] = "tve", ["Teanu"] = "tkw", ["Tebul Sign Language"] = "tsy", ["Tebul Ure Dogon"] = "dtu", ["Tecpatlán Totonac"] = "tcw", ["Tedaga"] = "tuq", ["Tee"] = "tkq", ["Tefaro"] = "tfo", ["Tegali"] = "ras", ["Tehit"] = "kps", ["Tehuelche"] = "teh", ["Teiwa"] = "twe", ["Tejalapan Zapotec"] = "ztt", ["Teke-Fuumu"] = "ifm", ["Teke-Kukuya"] = "kkw", ["Teke-Laali"] = "lli", ["Teke-Tege"] = "teg", ["Teke-Tsaayi"] = "tyi", ["Teke-Tyee"] = "tyx", ["Tektiteko"] = "ttc", ["Tela-Masbuar"] = "tvm", ["Telefol"] = "tlf", ["Teluti"] = "tlt", ["Tembé"] = "tqb", ["Teme"] = "tdo", ["Temein"] = "teq", ["Temi"] = "soz", ["Temne"] = "tem", ["Temoaya Otomi"] = "ott", ["Tempasuk Dusun"] = "tdu", ["Tenango Otomi"] = "otn", ["Tene Kan Dogon"] = "dtk", ["Tenggarong Kutai Malay"] = "vkt", ["Tenino"] = "tqn", ["Tenis"] = "tns", ["Tennet"] = "tex", ["Teojomulco Chatino"] = "omq-teo", ["Teop"] = "tio", ["Teor"] = "tev", ["Tepecano"] = "tep", ["Tepetotutla Chinantec"] = "cnt", ["Tepeuxila Cuicatec"] = "cux", ["Tepo Krumen"] = "ted", ["Tiếng Mixtec Teposcolula"] = "omq-tel", ["Tequistlatec"] = "nai-teq", ["Tera"] = "ttr", ["Terebu"] = "trb", ["Terei"] = "buo", ["Tereno"] = "ter", ["Tereweng"] = "twg", ["Terik"] = "tec", ["Termanu"] = "twu", ["Ternateño"] = "tmg", ["Tese"] = "keg", ["Teshenawa"] = "twc", ["Tetela"] = "tll", ["Tetelcingo Nahuatl"] = "nhg", ["Tetete"] = "teb", ["Tetun Dili"] = "tdt", ["Teushen"] = "sai-teu", ["Teutila Cuicatec"] = "cut", ["Tewa"] = "tew", ["Texcatepec Otomi"] = "otx", ["Texistepec Popoluca"] = "poq", ["Texmelucan Zapotec"] = "zpz", ["Tezoatlán Mixtec"] = "mxb", ["Tha"] = "thy", ["Thado Chin"] = "tcz", ["Thai Sign Language"] = "tsq", ["Thaiphum Chin"] = "cth", ["Thakali"] = "ths", ["Thamudic"] = "sem-tha", ["Thangmi"] = "thf", ["Thao"] = "ssf", ["Tharaka"] = "thk", ["Tharrgari"] = "dhr", ["Thawa"] = "xtv", ["Thopho"] = "ytp", ["Thu Lao"] = "tyl", ["Thulung"] = "tdh", ["Thurawal"] = "tbh", ["Thuri"] = "thu", ["Tiagbamrin Aizi"] = "ahi", ["Tiale"] = "mnl", ["Tibea"] = "ngy", ["Ticuna"] = "tca", ["Tidaá Mixtec"] = "mtx", ["Tidore"] = "tvo", ["Tiemacèwè Bozo"] = "boo", ["Tiene"] = "tii", ["Tifal"] = "tif", ["Tigak"] = "tgc", ["Tii"] = "txq", ["Tijaltepec Mixtec"] = "xtl", ["Tikar"] = "tik", ["Tikopia"] = "tkp", ["Tilapa Otomi"] = "otl", ["Tillamook"] = "til", ["Tilquiapan Zapotec"] = "zts", ["Tilung"] = "tij", ["Tima"] = "tms", ["Timbe"] = "tim", ["Timor Pidgin"] = "tvy", ["Timote"] = "sai-tim", ["Timucua"] = "tjm", ["Timugon Murut"] = "tih", ["Tinani"] = "lbf", ["Tingui-Boto"] = "tgv", ["Tinigua"] = "tit", ["Tinoc Kallahan"] = "tne", ["Tinputz"] = "tpz", ["Tira"] = "tic", ["Tirahi"] = "tra", ["Tiranige Diga Dogon"] = "tde", ["Tircul"] = "pyx", ["Tiri"] = "cir", ["Tita"] = "tdq", ["Titan"] = "ttv", ["Tiv"] = "tiv", ["Tiéfo"] = "tiq", ["Tiéyaxo Bozo"] = "boz", ["Tjurruru"] = "tju", ["Tlacoatzintepec Chinantec"] = "ctl", ["Tlacolulita Zapotec"] = "zpk", ["Tlahuica"] = "ocu", ["Tlahuitoltepec Mixe"] = "mxp", ["Tlamacazapa Nahuatl"] = "nuz", ["Tlazoyaltepec Mixtec"] = "mqh", ["To"] = "toz", ["To'abaita"] = "mlu", ["Toaripi"] = "tqo", ["Toba"] = "tob", ["Toba Batak"] = "bbc", ["Toba-Maskoy"] = "tmf", ["Tobagonian Creole English"] = "tgh", ["Tobanga"] = "tng", ["Tobati"] = "tti", ["Tobelo"] = "tlb", ["Tobilung"] = "tgb", ["Tobo"] = "tbv", ["Tocantins Asurini"] = "asu", ["Tofanma"] = "tlg", ["Tofin Gbe"] = "tfi", ["Togbo-Vara Banda"] = "tor", ["Togoyo"] = "tgy", ["Tojolabal"] = "toj", ["Toka-Leya"] = "dov", ["Tokano"] = "zuh", ["Tol"] = "jic", ["Tolai"] = "ksd", ["Tolaki"] = "lbw", ["Tolomako"] = "tlm", ["Tolowa"] = "tol", ["Toloza"] = "ytl", ["Tomadino"] = "tdi", ["Tombelala"] = "ttp", ["Tombonuo"] = "txa", ["Tombulu"] = "tom", ["Tomini"] = "txm", ["Tommeginne"] = "xpv", ["Tommo So"] = "dto", ["Tomo Kan Dogon"] = "dtm", ["Tomoip"] = "tqp", ["Tondano"] = "tdn", ["Tonga (Malawi)"] = "tog", ["Tonga (Mozambique)"] = "toh", ["Tonga (Zambia)"] = "toi", ["Tongwe"] = "tny", ["Tonjon"] = "tjn", ["Tonsawang"] = "tnw", ["Tonsea"] = "txs", ["Tontemboan"] = "tnt", ["Toogee"] = "xpx", ["Topoiyo"] = "toy", ["Toposa"] = "toq", ["Toraja-Sa'dan"] = "sda", ["Toram"] = "trj", ["Torau"] = "ttu", ["Toro"] = "tdv", ["Toro So Dogon"] = "dts", ["Toro Tegu Dogon"] = "dtt", ["Toromono"] = "tno", ["Torona"] = "tqr", ["Torres Strait Creole"] = "tcs", ["Torricelli"] = "tei", ["Torricelli Yau"] = "yyu", ["Torá"] = "trz", ["Tosu"] = "sit-tos", ["Totela"] = "ttl", ["Totoli"] = "txe", ["Totomachapan Zapotec"] = "zph", ["Totontepec Mixe"] = "mto", ["Totoro"] = "ttk", ["Touo"] = "tqu", ["Toura"] = "neb", ["Tourangeau"] = "roa-tou", ["Towei"] = "ttn", ["Traveller Danish"] = "rmd", ["Traveller Norwegian"] = "rmg", ["Traveller Scottish"] = "trl", ["Tregami"] = "trm", ["Tremembé"] = "tme", ["Trieng"] = "stg", ["Trimuris"] = "tip", ["Tring"] = "tgq", ["Tringgus"] = "trx", ["Trinidad and Tobago Sign Language"] = "lst", ["Trinidadian Creole English"] = "trf", ["Trinitario"] = "trn", ["Truká"] = "tka", ["Trumai"] = "tpy", ["Ts'ün-Lao"] = "tsl", ["Tsaangi"] = "tsa", ["Tsafiki"] = "cof", ["Tsakwambo"] = "kvz", ["Tsetsaut"] = "txc", ["Tshobdun"] = "sit-tsh", ["Tshwa"] = "hio", ["Tsikimba"] = "kdl", ["Tsimané"] = "cas", ["Tsishingini"] = "tsw", ["Tso"] = "ldp", ["Tsogo"] = "tsv", ["Tsotsitaal"] = "fly", ["Tsum"] = "ttz", ["Tsuvadi"] = "tvd", ["Tsuvan"] = "tsh", ["Tswa"] = "tsc", ["Tswapong"] = "two", ["Tubar"] = "tbu", ["Tucano"] = "tuo", ["Tugen"] = "tuy", ["Tugun"] = "tzn", ["Tugutil"] = "tuj", ["Tukpa"] = "tpq", ["Tukudede"] = "tkd", ["Tukumanféd"] = "tkf", ["Tula"] = "tul", ["Tule-Kaweah Yokuts"] = "nai-tky", ["Tulehu"] = "tlu", ["Tulishi"] = "tey", ["Tulu-Bohuai"] = "rak", ["Tulua"] = "aus-tul", ["Tuma-Irumu"] = "iou", ["Tumak"] = "tmc", ["Tumi"] = "kku", ["Tumleo"] = "tmq", ["Tumshuqese"] = "xtq", ["Tumtum"] = "tbr", ["Tumulung Sisaala"] = "sil", ["Tunen"] = "tvu", ["Tungag"] = "lcm", ["Tunggare"] = "trt", ["Tunia"] = "tug", ["Tunisian Sign Language"] = "tse", ["Tunjung"] = "tjg", ["Tunumiisut"] = "esx-tut", ["Tunzu"] = "dza", ["Tuotomb"] = "ttf", ["Tuparí"] = "tpr", ["Tupinikin"] = "tpk", ["Tupuri"] = "tui", ["Turaka"] = "trh", ["Turi"] = "trd", ["Turiwára"] = "twt", ["Turka"] = "tuz", ["Turkana"] = "tuv", ["Turkish Sign Language"] = "tsm", ["Turks and Caicos Creole English"] = "tch", ["Turumsa"] = "tqm", ["Turung"] = "try", ["Tuscarora"] = "tus", ["Tutelo"] = "tta", ["Tutong"] = "ttg", ["Tutsa Naga"] = "tvt", ["Tutuba"] = "tmi", ["Tututepec Mixtec"] = "mtu", ["Tututni"] = "tuu", ["Tuwali Ifugao"] = "ifk", ["Tuwari"] = "tww", ["Tuxináwa"] = "tux", ["Tuxá"] = "tud", ["Tuyuca"] = "tue", ["Twana"] = "twa", ["Twendi"] = "twn", ["Tyaraity"] = "woa", ["Tyerrernotepanner"] = "xph", ["Tz'utujil"] = "tzj", ["Tzeltal"] = "tzh", ["Tày Tac"] = "tyt", ["Téén"] = "lor", ["Tübatulabal"] = "tub", ["Uab Meto"] = "aoz", ["Uamué"] = "uam", ["Uare"] = "ksj", ["Ubaghara"] = "byc", ["Ubang"] = "uba", ["Ubi"] = "ubi", ["Ubir"] = "ubr", ["Ucayali-Yurúa Ashéninka"] = "cpb", ["Uda"] = "uda", ["Ufim"] = "ufi", ["Ugandan Sign Language"] = "ugn", ["Ughele"] = "uge", ["Uhami"] = "uha", ["Uisai"] = "uis", ["Ujir"] = "udj", ["Ukaan"] = "kcf", ["Ukhwejo"] = "ukh", ["Ukit"] = "umi", ["Ukpe-Bayobiri"] = "ukp", ["Ukpet-Ehom"] = "akd", ["Ukrainian Sign Language"] = "ukl", ["Ukue"] = "uku", ["Ukuriguma"] = "ukg", ["Ukwa"] = "ukq", ["Ukwuani-Aboh-Ndoni"] = "ukw", ["Ulau-Suain"] = "svb", ["Uldeme"] = "udl", ["Ulithian"] = "uli", ["Ulumanda'"] = "ulm", ["Ulwa"] = "ulw", ["Uma"] = "ppk", ["Uma' Lasan"] = "xky", ["Uma' Lung"] = "ulu", ["Umanakaina"] = "gdn", ["Umatilla"] = "uma", ["Umbindhamu"] = "umd", ["Umbu-Ungu"] = "ubu", ["Umbugarla"] = "umr", ["Umbuygamu"] = "umg", ["Umeda"] = "upi", ["Umiida"] = "xud", ["Umiray Dumaget Agta"] = "due", ["Umon"] = "umm", ["Umotína"] = "umo", ["Umpila"] = "ump", ["Una"] = "mtg", ["Unas"] = "art-una", ["Unde Kaili"] = "unz", ["Uneme"] = "une", ["Unggaranggu"] = "xun", ["Unggumi"] = "xgu", ["Tiếng Uni"] = "uni", ["Unserdeutsch"] = "uln", ["Unua"] = "onu", ["Unubahe"] = "unu", ["Uokha"] = "uok", ["Upper Chehalis"] = "cjh", ["Upper Grand Valley Dani"] = "dna", ["Upper Kuskokwim"] = "kuu", ["Upper Necaxa Totonac"] = "tku", ["Upper Tanana"] = "tau", ["Upper Taromi"] = "tov", ["Upper Umpqua"] = "xup", ["Ura (New Guinea)"] = "uro", ["Ura (Vanuatu)"] = "uur", ["Uradhi"] = "urf", ["Urapmin"] = "urm", ["Urarina"] = "ura", ["Urat"] = "urt", ["Urhobo"] = "urh", ["Uri"] = "uvh", ["Urigina"] = "urg", ["Urim"] = "uri", ["Urimo"] = "urx", ["Urningangg"] = "urc", ["Uru"] = "ure", ["Uru-Eu-Wau-Wau"] = "urz", ["Uru-Pa-In"] = "urp", ["Uruangnirin"] = "urn", ["Uruava"] = "urv", ["Uruguayan Sign Language"] = "ugy", ["Urumi"] = "uru", ["Usaghade"] = "usk", ["Usan"] = "wnu", ["Usarufa"] = "usa", ["Usila Chinantec"] = "cuc", ["Uspanteco"] = "usp", ["Utarmbung"] = "omo", ["Ute"] = "ute", ["Utu"] = "utu", ["Uwinymil"] = "aus-uwi", ["Uya"] = "usu", ["Uyajitaya"] = "duk", ["Uzekwe"] = "eze", ["Vaghua"] = "tva", ["Vagla"] = "vag", ["Vai"] = "vai", ["Vaiphei"] = "vap", ["Vale"] = "vae", ["Valencian Sign Language"] = "vsv", ["Valle Nacional Chinantec"] = "cvn", ["Valley Maidu"] = "vmv", ["Valman"] = "van", ["Valpei"] = "vlp", ["Vamale"] = "mkt", ["Vame"] = "mlr", ["Vandalic"] = "xvn", ["Vangunu"] = "mpr", ["Vanimo"] = "vam", ["Vanji"] = "ira-wnj", ["Vanuma"] = "vau", ["Vao"] = "vao", ["Varhadi"] = "vah", ["Varisi"] = "vrs", ["Vayu"] = "vay", ["Veddah"] = "ved", ["Vehes"] = "val", ["Vemgo-Mabas"] = "vem", ["Venezuelan Sign Language"] = "vsl", ["Ventureño"] = "veo", ["Vera'a"] = "vra", ["Vestinian"] = "xvs", ["Vidunda"] = "vid", ["Viemo"] = "vig", ["Vilela"] = "vil", ["Vili"] = "vif", ["Villa Viciosa Agta"] = "dyg", ["Vincentian Creole English"] = "svc", ["Viti"] = "vit", ["Vitou"] = "vto", ["Viya"] = "gev", ["Vlax Romani"] = "rmy", ["Volga German"] = "gmw-vog", ["Vono"] = "kch", ["Voro"] = "vor", ["Vracada Apabhramsa"] = "inc-vra", ["Vumbu"] = "vum", ["Vunapu"] = "vnp", ["Vunjo"] = "vun", ["Vute"] = "vut", ["Wa"] = "wbm", ["Wa'ema"] = "wag", ["Waamwang"] = "wmn", ["Wab"] = "wab", ["Wabo"] = "wbb", ["Waboda"] = "kmx", ["Wadaginam"] = "wdg", ["Waddar"] = "wbq", ["Wadi Wadi"] = "xwd", ["Wadjabangayi"] = "wdy", ["Wadjiginy"] = "wdj", ["Wadjigu"] = "wdu", ["Wae Rana"] = "wrx", ["Waffa"] = "waj", ["Wagawaga"] = "wgb", ["Wagaya"] = "wga", ["Wagdi"] = "wbr", ["Wageman"] = "waq", ["Wahau Kayan"] = "whu", ["Wahau Kenyah"] = "whk", ["Waigali"] = "wbk", ["Waigeo"] = "wgo", ["Waikuri"] = "nai-wai", ["Wailaki"] = "wlk", ["Wailapa"] = "wlr", ["Waima'a"] = "wmh", ["Waimiri-Atroari"] = "atr", ["Wainumá"] = "awd-wai", ["Waioli"] = "wli", ["Waitaká"] = "sai-wai", ["Waja"] = "wja", ["Wajarri"] = "wbv", ["Wajuk"] = "xwj", ["Waka"] = "wav", ["Wakawaka"] = "wkw", ["Wakoná"] = "waf", ["Wala"] = "lgl", ["Walak"] = "wlw", ["Walangama"] = "nlw", ["Wali (Ghana)"] = "wlx", ["Wali (Sudan)"] = "wll", ["Waling"] = "wly", ["Walio"] = "wla", ["Walla Walla"] = "waa", ["Walmajarri"] = "wmt", ["Wam"] = "wmo", ["Wamas"] = "wmc", ["Wambaya"] = "wmb", ["Wambon"] = "wms", ["Wamey"] = "cou", ["Wamin"] = "wmi", ["Wampar"] = "lbq", ["Wampur"] = "waz", ["Wan"] = "wan", ["Wanambre"] = "wnb", ["Wanap"] = "wnp", ["Wanda"] = "wbh", ["Wandala"] = "mfi", ["Wandamen"] = "wad", ["Wandarang"] = "wnd", ["Wandji"] = "wdd", ["Wanga"] = "lwg", ["Wanggamala"] = "wnm", ["Wangganguru"] = "wgg", ["Wanggom"] = "wng", ["Wangkayutyuru"] = "wky", ["Wangkumara"] = "xwk", ["Wanham"] = "sai-wnm", ["Wanji"] = "wbi", ["Wanman"] = "wbt", ["Wannu"] = "jub", ["Wano"] = "wno", ["Wantoat"] = "wnc", ["Wanukaka"] = "wnk", ["Wanyi"] = "wny", ["Wané"] = "hwa", ["Wapan"] = "juk", ["Wapishana"] = "wap", ["Wappo"] = "wao", ["Wara"] = "wbf", ["Warao"] = "wba", ["Warapu"] = "wra", ["Waray Sorsogon"] = "srv", ["Wardandi"] = "wxw", ["Warembori"] = "wsa", ["Wari'"] = "pav", ["Waris"] = "wrs", ["Waritai"] = "wbe", ["Wariyangga"] = "wri", ["Warkay-Bipim"] = "bgv", ["Warlmanpa"] = "wrl", ["Tiếng Warlpiri"] = "wbp", ["Warluwara"] = "wrb", ["Warnang"] = "wrn", ["Waropen"] = "wrp", ["Warray"] = "wrz", ["Warrgamay"] = "wgy", ["Warrwa"] = "wwr", ["Waru"] = "wru", ["Warumungu"] = "wrm", ["Waruna"] = "wrv", ["Warungu"] = "wrg", ["Warwar Feni"] = "hrw", ["Wasa"] = "wss", ["Wasco-Wishram"] = "wac", ["Wasembo"] = "gsp", ["Washo"] = "was", ["Waskia"] = "wsk", ["Wasu"] = "wsu", ["Watakataui"] = "wtk", ["Watam"] = "wax", ["Wathaurong"] = "wth", ["Watiwa"] = "wtf", ["Watubela"] = "wah", ["Waube"] = "kop", ["Wauja"] = "wau", ["Wauyai"] = "wuy", ["Wawa"] = "www", ["Tiếng Ngõa Hương"] = "wxa", ["Wayoró"] = "wyr", ["Wayumará"] = "sai-way", ["Wedau"] = "wed", ["Weh"] = "weh", ["Welaung"] = "weu", ["Weliki"] = "klh", ["Welsh Romani"] = "rmw", ["Wemale"] = "weo", ["Weme Gbe"] = "wem", ["Wendat"] = "wdt", ["Weri"] = "wer", ["Wersing"] = "kvw", ["West Albay Bikol"] = "fbl", ["West Ambae"] = "nnd", ["West Central Banda"] = "bbp", ["West Damar"] = "drn", ["West Greenlandic Pidgin"] = "crp-gep", ["West Lembata"] = "lmj", ["West Masela"] = "mss", ["West Tarangan"] = "txn", ["West Uvean"] = "uve", ["West-Central Limba"] = "lia", ["Western Arrernte"] = "are", ["Western Bolivian Guaraní"] = "gnw", ["Western Bukidnon Manobo"] = "mbb", ["Western Dani"] = "dnw", ["Western Durango Nahuatl"] = "azn", ["Western Fijian"] = "wyy", ["Western Gurung"] = "gvr", ["Western Jicaque"] = "und-wji", ["Western Juxtlahuaca Mixtec"] = "jmx", ["Western Karaboro"] = "kza", ["Western Keres"] = "kjq", ["Tiếng Krahn"] = "krw", ["Western Lalu"] = "ywl", ["Western Maninkakan"] = "mlq", ["Western Mashan Hmong"] = "hmw", ["Western Meohang"] = "raf", ["Western Muria"] = "mut", ["Western Panjabi"] = "pnb", ["Western Penan"] = "pne", ["Western Sisaala"] = "ssl", ["Western Subanon"] = "suc", ["Western Tawbuid"] = "twb", ["Western Totonac"] = "tqt", ["Western Tunebo"] = "tnb", ["Western Xwla Gbe"] = "xwl", ["Westrobothnian"] = "gmq-bot", ["Weyewa"] = "wew", ["White Lachi"] = "lwh", ["Whitesands"] = "tnp", ["Wiarumus"] = "tua", ["Wichita"] = "wic", ["Wichí Lhamtés Güisnay"] = "mzh", ["Wichí Lhamtés Nocten"] = "mtp", ["Wichí Lhamtés Vejoz"] = "wlv", ["Wik-Epa"] = "wie", ["Wik-Iiyanh"] = "wij", ["Wik-Keyangan"] = "wif", ["Wik-Me'anha"] = "wih", ["Wik-Mungkan"] = "wim", ["Wik-Ngathana"] = "wig", ["Wikalkan"] = "wik", ["Wikngenchera"] = "wua", ["Wilawila"] = "wil", ["Wintu"] = "wnw", ["Winyé"] = "kst", ["Wipi"] = "gdr", ["Wiraféd"] = "wir", ["Wirangu"] = "wgu", ["Wiru"] = "wiu", ["Wirö"] = "wpc", ["Wiwa"] = "mbp", ["Woccon"] = "xwc", ["Wogamusin"] = "wog", ["Wogeo"] = "woc", ["Woi"] = "wbw", ["Wojenaka"] = "jod", ["Wolani"] = "wod", ["Woleaian"] = "woe", ["Womo"] = "wmx", ["Wong-gie"] = "aus-won", ["Wongo"] = "won", ["Woods Cree"] = "cwd", ["Woria"] = "wor", ["Worimi"] = "kda", ["Worodougou"] = "jud", ["Worora"] = "wro", ["Wotapuri-Katarqalai"] = "wsv", ["Woun Meu"] = "noa", ["Wudu"] = "wud", ["Wulguru"] = "aus-wul", ["Wuliwuli"] = "wlu", ["Wulna"] = "wux", ["Wumboko"] = "bqm", ["Wumbvu"] = "wum", ["Wumeng"] = "ywu", ["Wunai Bunu"] = "bwn", ["Wunambal"] = "wub", ["Wurrugu"] = "wur", ["Wusa"] = "yig", ["Wushi"] = "bse", ["Wusi"] = "wsi", ["Wutung"] = "wut", ["Wuvulu-Aua"] = "wuv", ["Wyandot"] = "wya", ["Wára"] = "tci", ["Wãpha"] = "juw", ["Wè Southern"] = "gxx", ["Wè Western"] = "wec", ["Xadani Zapotec"] = "zax", ["Xakriabá"] = "xkr", ["Xanaguía Zapotec"] = "ztg", ["Xaragure"] = "axx", ["Xerénte"] = "xer", ["Xetá"] = "xet", ["Xicotepec de Juárez Totonac"] = "too", ["Xinca"] = "xin", ["Xingú Asuriní"] = "asn", ["Xipaya"] = "xiy", ["Xiri"] = "xii", ["Xiriâna"] = "xir", ["Xishanba Lalo"] = "ywt", ["Xocó"] = "sai-xoc", ["Xokleng"] = "xok", ["Xukurú"] = "xoo", ["Xwela Gbe"] = "xwe", ["Yaa"] = "iyx", ["Yabarana"] = "yar", ["Yabaâna"] = "ybn", ["Yaben"] = "ybm", ["Yabong"] = "ybo", ["Yabula Yabula"] = "yxy", ["Yace"] = "ekr", ["Yafi"] = "wfg", ["Yagara"] = "yxg", ["Yagaria"] = "ygr", ["Yagomi"] = "ygm", ["Yagua"] = "yad", ["Yagwoia"] = "ygw", ["Yahadian"] = "ner", ["Yahang"] = "rhp", ["Yahuna"] = "ynu", ["Yaka"] = "yaf", ["Yakaikeke"] = "ykk", ["Yakoma"] = "yky", ["Tiếng Yala"] = "yba", ["Yalahatan"] = "jal", ["Yalakalore"] = "xyl", ["Yalarnnga"] = "ylr", ["Yale"] = "nce", ["Yaleba"] = "ylb", ["Yalunka"] = "yal", ["Yalálag Zapotec"] = "zpu", ["Yamap"] = "ymp", ["Yamba"] = "yam", ["Yambes"] = "ymb", ["Yambeta"] = "yat", ["Yamdena"] = "jmd", ["Yameo"] = "yme", ["Yaminahua"] = "yaa", ["Yamongeri"] = "ymg", ["Yan-nhangu"] = "jay", ["Yana"] = "ynn", ["Yanda"] = "yda", ["Yanda Dogon"] = "dym", ["Yandjibara"] = "xyb", ["Yandruwandha"] = "ynd", ["Yangben"] = "yav", ["Yangkaal"] = "aus-ynk", ["Yangkam"] = "bsx", ["Yangman"] = "jng", ["Yango"] = "yng", ["Yangulam"] = "ynl", ["Yangum Dey"] = "yde", ["Yangum Gel"] = "ygl", ["Yangum Mon"] = "ymo", ["Yankunytjatjara"] = "kdd", ["Yanomamö"] = "guu", ["Yanomámi"] = "wca", ["Yansi"] = "yns", ["Yaosakor Asmat"] = "asy", ["Yaouré"] = "yre", ["Yaqay"] = "jaq", ["Yaqui"] = "yaq", ["Yarawata"] = "yrw", ["Yareba"] = "yrb", ["Yareni Zapotec"] = "zae", ["Yarli"] = "yxl", ["Yarluyandi"] = "yry", ["Yarumá"] = "sai-yar", ["Yarí"] = "yri", ["Yasa"] = "yko", ["Yatay"] = "yty", ["Yaul"] = "yla", ["Yaur"] = "jau", ["Yautepec Zapotec"] = "zpb", ["Yavitero"] = "yvt", ["Yawa"] = "yva", ["Yawalapití"] = "yaw", ["Yawanawa"] = "ywn", ["Yawarawarga"] = "yww", ["Yaweyuha"] = "yby", ["Yawijibaya"] = "jbw", ["Yawiyo"] = "ybx", ["Yawuru"] = "ywr", ["Yaygir"] = "xya", ["Yei"] = "jei", ["Yekhee"] = "ets", ["Yekora"] = "ykr", ["Yelmek"] = "jel", ["Yelogu"] = "ylg", ["Yemba"] = "ybb", ["Tiếng Ả Rập Sana'a"] = "ayn", ["Yendang"] = "yen", ["Yeni"] = "yei", ["Yeniche"] = "yec", ["Yerakai"] = "yra", ["Yeretuar"] = "gop", ["Yerukula"] = "yeu", ["Yeskwa"] = "yes", ["Yessan-Mayo"] = "yss", ["Yetfa"] = "yet", ["Yeyi"] = "yey", ["Yil"] = "yll", ["Yimas"] = "yee", ["Yimchungru Naga"] = "yim", ["Yinbaw Karen"] = "kvu", ["Yindjilandji"] = "yil", ["Yine"] = "pib", ["Yinggarda"] = "yia", ["Yinhawangka"] = "ywg", ["Yiningayi"] = "ygi", ["Yintale Karen"] = "kvy", ["Yinwum"] = "yxm", ["Yir-Yoront"] = "yiy", ["Yirandali"] = "ljw", ["Yis"] = "yis", ["Yitha Yitha"] = "xth", ["Yoba"] = "yob", ["Yocoboué Dida"] = "gud", ["Yoidik"] = "ydk", ["Yoke"] = "yki", ["Yolngu Sign Language"] = "ygs", ["Yoloxochitl Mixtec"] = "xty", ["Yombe"] = "yom", ["Yopno"] = "yut", ["Yora"] = "mts", ["Yorta Yorta"] = "xyy", ["Younuo Bunu"] = "buh", ["Yout Wam"] = "ytw", ["Yuaga"] = "nua", ["Yucatec Maya Sign Language"] = "msd", ["Yuchi"] = "yuc", ["Yucuañe Mixtec"] = "mvg", ["Yucuna"] = "ycn", ["Yugambal"] = "yub", ["Yugoslavian Sign Language"] = "ysl", ["Yugul"] = "ygu", ["Yuhup"] = "yab", ["Yuki"] = "yuk", ["Yukpa"] = "yup", ["Yukuben"] = "ybl", ["Yulu"] = "yul", ["Yuma"] = "yum", ["Yumana"] = "awd-yum", ["Yupiltepeque"] = "nai-yup", ["Yupua"] = "sai-yup", ["Yuqui"] = "yuq", ["Yuracare"] = "yuz", ["Yuru"] = "ljx", ["Yurumanguí"] = "sai-yur", ["Yurutí"] = "yui", ["Yutanduchi Mixtec"] = "mab", ["Yuwana"] = "yau", ["Yuyu"] = "yxu", ["Zaachila Zapotec"] = "ztx", ["Zabana"] = "kji", ["Zacatlán-Ahuacatlán-Tepetzintla Nahuatl"] = "nhi", ["Zakhring"] = "zkr", ["Zambian Sign Language"] = "zsl", ["Zan Gula"] = "zna", ["Zanaki"] = "zak", ["Zande"] = "zne", ["Zangwal"] = "zah", ["Zaramo"] = "zaj", ["Zari"] = "zaz", ["Zauzou"] = "zal", ["Zazao"] = "jaj", ["Zbu"] = "sit-zbu", ["Zeem"] = "zua", ["Zemba"] = "dhm", ["Zeme Naga"] = "nzm", ["Zemgalian"] = "xzm", ["Zenag"] = "zeg", ["Zenzontepec Chatino"] = "czn", ["Zhang-Zhung"] = "xzh", ["Zhire"] = "zhi", ["Zhoa"] = "zhw", ["Zhár"] = "jjr", ["Zia"] = "zia", ["Zialo"] = "zil", ["Zigula"] = "ziw", ["Zimakani"] = "zik", ["Zimba"] = "zmb", ["Zimbabwe Sign Language"] = "zib", ["Zinza"] = "zin", ["Zipser German"] = "gmw-zps", ["Zire"] = "sih", ["Ziriya"] = "zir", ["Zizilivakan"] = "ziz", ["Zo'é"] = "pto", ["Zokhuo"] = "yzk", ["Zotung Chin"] = "czt", ["Zulgo-Gemzek"] = "gnd", ["Zumaya"] = "zuy", ["Zuni"] = "zun", ["Zuwara"] = "ber-zuw", ["Zyphe"] = "zyp", ["Záparo"] = "zro", ["Biệt ngữ Chinook"] = "chn", ["Không xác định ngôn ngữ"] = "und", ["Ngôn ngữ ký hiệu Mỹ"] = "ase", ["Tiếng 'Are'are"] = "alu", ["Tiếng A Xương"] = "acn", ["Tiếng A'ou"] = "aou", ["Tiếng A-Hmao"] = "hmd", ["Tiếng Aari"] = "aiw", ["Tiếng Aari nguyên thủy"] = "omv-aro-pro", ["Tiếng Aasax"] = "aas", ["Tiếng Abaga"] = "abg", ["Tiếng Abai"] = "poz-abi", ["Tiếng Abanyom"] = "abm", ["Tiếng Abau"] = "aau", ["Tiếng Abaza"] = "abq", ["Tiếng Abidji"] = "abi", ["Tiếng Abinomn"] = "bsa", ["Tiếng Abkhaz"] = "ab", ["Tiếng Abkhaz-Abaza nguyên thủy"] = "cau-abz-pro", ["Tiếng Abon"] = "abo", ["Tiếng Abron"] = "abr", ["Tiếng Abui"] = "abz", ["Tiếng Abure"] = "abu", ["Tiếng Aceh"] = "ace", ["Tiếng Achawa"] = "aca", ["Tiếng Acheron"] = "acz", ["Tiếng Achi"] = "acr", ["Tiếng Acholi"] = "ach", ["Tiếng Achuar"] = "acu", ["Tiếng Achumawi"] = "acv", ["Tiếng Adangme"] = "ada", ["Tiếng Adi"] = "adi", ["Tiếng Adja"] = "ajg", ["Tiếng Adnyamathanha"] = "adt", ["Tiếng Adygea"] = "ady", ["Tiếng Adzera"] = "adz", ["Tiếng Aer"] = "aeq", ["Tiếng Afade"] = "aal", ["Tiếng Afar"] = "aa", ["Tiếng Afrikaans"] = "af", ["Tiếng Agatu"] = "agc", ["Tiếng Agawam"] = "alg-aga", ["Tiếng Aghem"] = "agq", ["Tiếng Aghul"] = "agx", ["Tiếng Aghwan"] = "xag", ["Tiếng Agta Dupaningan"] = "duo", ["Tiếng Aguacateca"] = "agu", ["Tiếng Ahom"] = "aho", ["Tiếng Ahtna"] = "aht", ["Tiếng Ai"] = "eee", ["Tiếng Ai Cập"] = "egy", ["Tiếng Ai Cập bình dân"] = "egx-dem", ["Tiếng Aimol"] = "aim", ["Tiếng Ainu"] = "ain", ["Tiếng Aiton"] = "aio", ["Tiếng Ajië"] = "aji", ["Tiếng Aka-Bo"] = "akm", ["Tiếng Aka-Jeru"] = "akj", ["Tiếng Aka-Kede"] = "akx", ["Tiếng Akan"] = "ak", ["Tiếng Akaselem"] = "aks", ["Tiếng Akawaio"] = "ake", ["Tiếng Akha"] = "ahk", ["Tiếng Akhvakh"] = "akv", ["Tiếng Akkad"] = "akk", ["Tiếng Aklanon"] = "akl", ["Tiếng Akoose"] = "bss", ["Tiếng Akuntsu"] = "aqz", ["Tiếng Alaba-K’abeena"] = "alw", ["Tiếng Alabama"] = "akz", ["Tiếng Alagwa"] = "wbj", ["Tiếng Alak"] = "alk", ["Tiếng Alamblak"] = "amp", ["Tiếng Alangan"] = "alj", ["Tiếng Alawa"] = "alh", ["Tiếng Albani"] = "sq", ["Tiếng Albani nguyên thủy"] = "sqj-pro", ["Tiếng Alchuka"] = "tuw-alk", ["Tiếng Alekano"] = "gah", ["Tiếng Aleut"] = "ale", ["Tiếng Algic nguyên thủy"] = "aql-pro", ["Tiếng Algonquin"] = "alq", ["Tiếng Algonquin nguyên thủy"] = "alg-pro", ["Tiếng Allar"] = "all", ["Tiếng Alsea"] = "aes", ["Tiếng Alumu-Tesu"] = "aab", ["Tiếng Alutor"] = "alr", ["Tiếng Alyentiyak"] = "sai-all", ["Tiếng Ama"] = "amm", ["Tiếng Amahuaca"] = "amc", ["Tiếng Amaimon"] = "ali", ["Tiếng Amal"] = "aad", ["Tiếng Amanab"] = "amn", ["Tiếng Amarasi"] = "aaz", ["Tiếng Ambai"] = "amk", ["Tiếng Ambrak"] = "aag", ["Tiếng Ambulas"] = "abt", ["Tiếng Amdang"] = "amj", ["Tiếng Amhara"] = "am", ["Tiếng Amis"] = "ami", ["Tiếng Amurdag"] = "amg", ["Tiếng Amuzgo"] = "amu", ["Tiếng Anaang"] = "anw", ["Tiếng Anal"] = "anm", ["Tiếng Anauyá"] = "awd-ana", ["Tiếng Andi"] = "ani", ["Tiếng Angami"] = "njm", ["Tiếng Angika"] = "anp", ["Tiếng Angkula"] = "aus-ang", ["Tiếng Angola"] = "aoa", ["Tiếng Anh"] = "en", ["Tiếng Anh Solombala"] = "crp-slb", ["Tiếng Anh cổ"] = "ang", ["Tiếng Anh trung đại"] = "enm", ["Tiếng Anii"] = "blo", ["Tiếng Ankave"] = "aak", ["Tiếng Annobón"] = "fab", ["Tiếng Anuak"] = "anu", ["Tiếng Anuki"] = "aui", ["Tiếng Anyi"] = "any", ["Tiếng Ao"] = "njo", ["Tiếng Apabhramsa"] = "inc-apa", ["Tiếng Apache Tây"] = "apw", ["Tiếng Apache đồng bằng"] = "apk", ["Tiếng Aparaí"] = "apy", ["Tiếng Apatani"] = "apt", ["Tiếng Apinayé"] = "apn", ["Tiếng Aputai"] = "apx", ["Tiếng Aquitani"] = "xaq", ["Tiếng Aragon"] = "an", ["Tiếng Araki"] = "akr", ["Tiếng Arakwal"] = "rkw", ["Tiếng Aram"] = "arc", ["Tiếng Aranadan"] = "aaf", ["Tiếng Arapaho"] = "arp", ["Tiếng Arawak nguyên thủy"] = "awd-pro", ["Tiếng Araweté"] = "awt", ["Tiếng Archi"] = "aqc", ["Tiếng Arem"] = "aem", ["Tiếng Argobba"] = "agj", ["Tiếng Arhuaco"] = "arh", ["Tiếng Ari"] = "aac", ["Tiếng Arin"] = "xrn", ["Tiếng Armenia"] = "hy", ["Tiếng Armenia cổ"] = "xcl", ["Tiếng Armenia trung đại"] = "axm", ["Tiếng Aromania"] = "rup", ["Tiếng Arrernte Đông"] = "aer", ["Tiếng Ashkun"] = "ask", ["Tiếng Ashraaf"] = "cus-ash", ["Tiếng Ashéninka Pajonal"] = "cjo", ["Tiếng Asi"] = "bno", ["Tiếng Askopan"] = "eiv", ["Tiếng Asli nguyên thủy"] = "mkh-asl-pro", ["Tiếng Assam"] = "as", ["Tiếng Assam cận đại"] = "inc-oas", ["Tiếng Assan"] = "xss", ["Tiếng Assiniboine"] = "asb", ["Tiếng Asturias"] = "ast", ["Tiếng Asumboa"] = "aua", ["Tiếng Asur"] = "asr", ["Tiếng Atayal"] = "tay", ["Tiếng Atemble"] = "ate", ["Tiếng Athabasca nguyên thủy"] = "ath-pro", ["Tiếng Athpariya"] = "aph", ["Tiếng Atikamekw"] = "atj", ["Tiếng Atong (Ấn Độ)"] = "aot", ["Tiếng Atsahuaca"] = "atc", ["Tiếng Auhelawa"] = "kud", ["Tiếng Aukan"] = "djk", ["Tiếng Avar"] = "av", ["Tiếng Avar-Andic nguyên thủy"] = "cau-ava-pro", ["Tiếng Avatime"] = "avn", ["Tiếng Avesta"] = "ae", ["Tiếng Avokaya"] = "avu", ["Tiếng Awa (Trung Quốc)"] = "vwa", ["Tiếng Awadh"] = "awa", ["Tiếng Awadh cổ"] = "inc-oaw", ["Tiếng Aweer"] = "bob", ["Tiếng Awing"] = "azo", ["Tiếng Awjila"] = "auj", ["Tiếng Awngi"] = "awn", ["Tiếng Axi"] = "yix", ["Tiếng Ayere"] = "aye", ["Tiếng Aymara"] = "ay", ["Tiếng Azerbaijan"] = "az", ["Tiếng Ba Lan"] = "pl", ["Tiếng Ba Lan cổ"] = "zlw-opl", ["Tiếng Ba Na"] = "bdq", ["Tiếng Ba Tư"] = "fa", ["Tiếng Ba Tư cổ"] = "peo", ["Tiếng Ba Tư trung đại"] = "pal", ["Tiếng Ba Tư-Do Thái"] = "jpr", ["Tiếng Baagandji"] = "drl", ["Tiếng Baatonum"] = "bba", ["Tiếng Babatana"] = "baa", ["Tiếng Babungo"] = "bav", ["Tiếng Babuza"] = "bzg", ["Tiếng Bacama"] = "bcy", ["Tiếng Bactria"] = "xbc", ["Tiếng Badaga"] = "bfq", ["Tiếng Badanchi"] = "bau", ["Tiếng Bade"] = "bde", ["Tiếng Badui"] = "bac", ["Tiếng Bagua"] = "sai-bag", ["Tiếng Bagvalal"] = "kva", ["Tiếng Bahing"] = "bhj", ["Tiếng Bahnar nguyên thủy"] = "mkh-ban-pro", ["Tiếng Bainouk-Gunyuño"] = "bab", ["Tiếng Baiso"] = "bsw", ["Tiếng Bajjika"] = "vjk", ["Tiếng Bakaka"] = "bqz", ["Tiếng Bakhtiari"] = "bqi", ["Tiếng Baki"] = "bki", ["Tiếng Bakung"] = "xkl", ["Tiếng Bala"] = "tuw-bal", ["Tiếng Balanta-Ganja"] = "bjt", ["Tiếng Balanta-Kentohe"] = "ble", ["Tiếng Balantak"] = "blz", ["Tiếng Bali"] = "ban", ["Tiếng Baloch"] = "bal", ["Tiếng Balt-Slav nguyên thủy"] = "ine-bsl-pro", ["Tiếng Balti"] = "bft", ["Tiếng Bambara"] = "bm", ["Tiếng Bambassi"] = "myf", ["Tiếng Bamum"] = "bax", ["Tiếng Bana"] = "bcw", ["Tiếng Bandjalang"] = "bdy", ["Tiếng Banggai"] = "bgz", ["Tiếng Bangi"] = "bni", ["Tiếng Bangolan"] = "bgj", ["Tiếng Banjar"] = "bjn", ["Tiếng Bankon"] = "abb", ["Tiếng Bantawa"] = "bap", ["Tiếng Bantayanon"] = "bfx", ["Tiếng Bantoid nguyên thủy"] = "nic-bod-pro", ["Tiếng Bantu nguyên thủy"] = "bnt-pro", ["Tiếng Banyumas"] = "map-bms", ["Tiếng Baoule"] = "bci", ["Tiếng Barai"] = "bbb", ["Tiếng Barakai"] = "baj", ["Tiếng Bari"] = "bfa", ["Tiếng Barikewa"] = "jbk", ["Tiếng Barombi"] = "bbi", ["Tiếng Baré"] = "bae", ["Tiếng Basaa"] = "bas", ["Tiếng Basay"] = "byq", ["Tiếng Bashkir"] = "ba", ["Tiếng Basketo"] = "bst", ["Tiếng Basque"] = "eu", ["Tiếng Basque nguyên thủy"] = "euq-pro", ["Tiếng Bassa"] = "bsq", ["Tiếng Bassari"] = "bsc", ["Tiếng Batak Simalungun"] = "bts", ["Tiếng Batek"] = "btq", ["Tiếng Bats"] = "bbl", ["Tiếng Batuley"] = "bay", ["Tiếng Bayern"] = "bar", ["Tiếng Beaver"] = "bea", ["Tiếng Bedjond"] = "bjv", ["Tiếng Beja"] = "bej", ["Tiếng Belarus"] = "be", ["Tiếng Belhariya"] = "byw", ["Tiếng Beli"] = "blm", ["Tiếng Bella Coola"] = "blc", ["Tiếng Bellara"] = "brw", ["Tiếng Belnəng"] = "glb", ["Tiếng Bemba"] = "bem", ["Tiếng Bench"] = "bcq", ["Tiếng Bengal"] = "bn", ["Tiếng Bengal cổ"] = "inc-obn", ["Tiếng Benue-Congo nguyên thủy"] = "nic-bco-pro", ["Tiếng Berber Bắc Sahara"] = "mzb", ["Tiếng Berber Tunisia"] = "sds", ["Tiếng Berber nguyên thủy"] = "ber-pro", ["Tiếng Berber-Do Thái"] = "jbe", ["Tiếng Berik"] = "bkl", ["Tiếng Betawi"] = "bew", ["Tiếng Bezhta"] = "kap", ["Tiếng Bhadrawah"] = "bhd", ["Tiếng Bhatri"] = "bgw", ["Tiếng Bhattiyat"] = "bht", ["Tiếng Bhil"] = "bhb", ["Tiếng Bhil Dungra"] = "duh", ["Tiếng Bhnong"] = "mkh-bhn", ["Tiếng Bhojpur"] = "bho", ["Tiếng Bhumij"] = "aav-bhu", ["Tiếng Bhunjia"] = "bhu", ["Tiếng Bidayuh Bau"] = "sne", ["Tiếng Bidayuh Biatah"] = "bth", ["Tiếng Bih"] = "ibh", ["Tiếng Bihari"] = "bh", ["Tiếng Bikol Buhi'non"] = "ubl", ["Tiếng Bilaspur"] = "kfs", ["Tiếng Bilen"] = "byn", ["Tiếng Bilua"] = "blb", ["Tiếng Bima"] = "bhp", ["Tiếng Binukid"] = "bkd", ["Tiếng Birao"] = "brr", ["Tiếng Birgit"] = "btf", ["Tiếng Birhor"] = "biy", ["Tiếng Birjia"] = "bix", ["Tiếng Bisaya Sabah"] = "bsy", ["Tiếng Bishnupriya"] = "bpy", ["Tiếng Bislama"] = "bi", ["Tiếng Bissa"] = "bib", ["Tiếng Bisu"] = "bzi", ["Tiếng Bit"] = "bgk", ["Tiếng Blackfoot"] = "bla", ["Tiếng Blagar"] = "beu", ["Tiếng Blang"] = "blr", ["Tiếng Bod nguyên thủy"] = "sit-bdi-pro", ["Tiếng Bodo (Ấn Độ)"] = "brx", ["Tiếng Bodo Parja"] = "bdv", ["Tiếng Bodo-Garo nguyên thủy"] = "tbq-bdg-pro", ["Tiếng Boghom"] = "bux", ["Tiếng Bokar"] = "sit-bok", ["Tiếng Boko"] = "bqc", ["Tiếng Bokobaru"] = "bus", ["Tiếng Bola"] = "bnp", ["Tiếng Boloki"] = "bkt", ["Tiếng Bomu"] = "bmq", ["Tiếng Bondo"] = "bfw", ["Tiếng Boon"] = "bnl", ["Tiếng Borôro"] = "bor", ["Tiếng Botlikh"] = "bph", ["Tiếng Bourguignon"] = "roa-brg", ["Tiếng Brahui"] = "brh", ["Tiếng Braj"] = "bra", ["Tiếng Breri"] = "brq", ["Tiếng Breton"] = "br", ["Tiếng Breton cổ"] = "obt", ["Tiếng Breton trung đại"] = "xbm", ["Tiếng Britton nguyên thủy"] = "cel-bry-pro", ["Tiếng Brokkat"] = "bro", ["Tiếng Brokpa"] = "sgt", ["Tiếng Bru"] = "bru", ["Tiếng Bru Tây"] = "brv", ["Tiếng Brâu"] = "brb", ["Tiếng Buang Mapos"] = "bzh", ["Tiếng Bube"] = "bvb", ["Tiếng Budukh"] = "bdk", ["Tiếng Bughotu"] = "bgt", ["Tiếng Bugis"] = "bug", ["Tiếng Buhid"] = "bku", ["Tiếng Bukhara"] = "bhh", ["Tiếng Bukiyip"] = "ape", ["Tiếng Bulgar"] = "xbo", ["Tiếng Bulgari"] = "bg", ["Tiếng Bumthang"] = "kjz", ["Tiếng Bungku"] = "bkz", ["Tiếng Bunun"] = "bnn", ["Tiếng Burji"] = "bji", ["Tiếng Burunge"] = "bds", ["Tiếng Burushaski"] = "bsk", ["Tiếng Buryat"] = "bua", ["Tiếng Busa"] = "bqp", ["Tiếng Bushi"] = "buc", ["Tiếng Bussa"] = "dox", ["Tiếng Butuanon"] = "btw", ["Tiếng Bách Tế"] = "pkc", ["Tiếng Bạch Lạp Mã"] = "lay", ["Tiếng Bạch Nam"] = "bfs", ["Tiếng Bạch Trung"] = "bca", ["Tiếng Bạch nguyên thủy"] = "sit-bai-pro", ["Tiếng Bảo An"] = "peh", ["Tiếng Bắc Altai"] = "atv", ["Tiếng Bắc Amami Ōshima"] = "ryn", ["Tiếng Bắc Catanduanes Bikol"] = "cts", ["Tiếng Bắc Emberá"] = "emp", ["Tiếng Bắc Friesland"] = "frr", ["Tiếng Bắc Iroquois nguyên thủy"] = "iro-nor-pro", ["Tiếng Bắc Khanty"] = "kca-nor", ["Tiếng Bắc Mansi"] = "mns-nor", ["Tiếng Bắc Ndebele"] = "nd", ["Tiếng Bắc Nisu"] = "yiv", ["Tiếng Bắc Paiute"] = "pao", ["Tiếng Bắc Sami"] = "se", ["Tiếng Bắc Selkup"] = "sel-nor", ["Tiếng Bắc Slavey"] = "scs", ["Tiếng Bắc Thái"] = "nod", ["Tiếng Bắc Yukaghir"] = "ykg", ["Tiếng Bắc Âu cổ"] = "non", ["Tiếng Bắc Âu nguyên thủy"] = "gmq-pro", ["Tiếng Bố Cam"] = "bbh", ["Tiếng Bố Lưu"] = "ply", ["Tiếng Bố Mang"] = "bvp", ["Tiếng Bố Y"] = "pcc", ["Tiếng Bối-Thái nguyên thủy"] = "qfa-bet-pro", ["Tiếng Bồ Đào Nha"] = "pt", ["Tiếng Bổ trợ Quốc tế"] = "ia", ["Tiếng Ca Dong"] = "kxy", ["Tiếng Ca Tua"] = "kta", ["Tiếng Cahuilla"] = "chl", ["Tiếng Camling"] = "rab", ["Tiếng Camuni"] = "xcc", ["Tiếng Canela"] = "ram", ["Tiếng Cao Câu Ly"] = "zkg", ["Tiếng Capanahua"] = "kaq", ["Tiếng Carib nguyên thủy"] = "sai-car-pro", ["Tiếng Carrier"] = "crx", ["Tiếng Carrier Nam"] = "caf", ["Tiếng Catalan"] = "ca", ["Tiếng Catalan cổ"] = "roa-oca", ["Tiếng Catawba"] = "chc", ["Tiếng Cayuga"] = "cay", ["Tiếng Cebu"] = "ceb", ["Tiếng Celt nguyên thủy"] = "cel-pro", ["Tiếng Celtiberi"] = "xce", ["Tiếng Cerrado nguyên thủy"] = "sai-cer-pro", ["Tiếng Ch'orti'"] = "caa", ["Tiếng Chachi"] = "cbi", ["Tiếng Chagatai"] = "chg", ["Tiếng Chaima"] = "ciy", ["Tiếng Chak"] = "ckh", ["Tiếng Chakma"] = "ccp", ["Tiếng Chamalal"] = "cji", ["Tiếng Chamba"] = "cdh", ["Tiếng Chamicuro"] = "ccc", ["Tiếng Chamorro"] = "ch", ["Tiếng Chantyal"] = "chx", ["Tiếng Chatino cao nguyên Tây"] = "ctp", ["Tiếng Chaura"] = "crv", ["Tiếng Chavacano"] = "cbk", ["Tiếng Chechen"] = "ce", ["Tiếng Chenchu"] = "cde", ["Tiếng Chenoua"] = "cnu", ["Tiếng Chepang"] = "cdm", ["Tiếng Cherokee"] = "chr", ["Tiếng Chetti Moundadan"] = "cty", ["Tiếng Chetti Wayanad"] = "ctt", ["Tiếng Chewong"] = "cwg", ["Tiếng Cheyenne"] = "chy", ["Tiếng Chhattisgarh"] = "hne", ["Tiếng Chibcha"] = "chb", ["Tiếng Chichewa"] = "ny", ["Tiếng Chickasaw"] = "cic", ["Tiếng Chilcotin"] = "clc", ["Tiếng Chin Asho"] = "csh", ["Tiếng Chin Ekai"] = "cey", ["Tiếng Chin Falam"] = "cfm", ["Tiếng Chin Hakha"] = "cnh", ["Tiếng Chin Songlai"] = "csj", ["Tiếng Chin Tedim"] = "ctd", ["Tiếng Chinal"] = "cih", ["Tiếng Chinantec Ojitlán"] = "chj", ["Tiếng Chinantec Ozumacín"] = "chz", ["Tiếng Chinantec Tepinapa"] = "cte", ["Tiếng Chinook"] = "chh", ["Tiếng Chiricahua"] = "apm", ["Tiếng Chiru"] = "cdf", ["Tiếng Chittagong"] = "ctg", ["Tiếng Chiwere"] = "iow", ["Tiếng Chocangacakha"] = "cgk", ["Tiếng Choctaw"] = "cho", ["Tiếng Chodri"] = "cdi", ["Tiếng Chol"] = "ctu", ["Tiếng Chong"] = "cog", ["Tiếng Chu Ru"] = "cje", ["Tiếng Chukot"] = "ckt", ["Tiếng Chulym"] = "clw", ["Tiếng Churah"] = "cdj", ["Tiếng Chuuk"] = "chk", ["Tiếng Chuvan"] = "xcv", ["Tiếng Chuvash"] = "cv", ["Tiếng Châu Đại Dương nguyên thủy"] = "poz-oce-pro", ["Tiếng Chăm Tây"] = "cja", ["Tiếng Chăm cổ"] = "ocm", ["Tiếng Chăm nguyên thủy"] = "cmc-pro", ["Tiếng Chăm Đông"] = "cjm", ["Tiếng Chơ Ro"] = "crw", ["Tiếng Chứt"] = "scb", ["Tiếng Cia-Cia"] = "cia", ["Tiếng Cimbri"] = "cim", ["Tiếng Circassia nguyên thủy"] = "cau-cir-pro", ["Tiếng Co"] = "cua", ["Tiếng Cocama"] = "cod", ["Tiếng Cochimi"] = "coj", ["Tiếng Coeur d'Alene"] = "crd", ["Tiếng Cofán"] = "con", ["Tiếng Comanche"] = "com", ["Tiếng Comoros Maore"] = "swb", ["Tiếng Comox"] = "coo", ["Tiếng Copt"] = "cop", ["Tiếng Cornwall"] = "kw", ["Tiếng Cornwall cổ"] = "oco", ["Tiếng Corse"] = "co", ["Tiếng Cowlitz"] = "cow", ["Tiếng Cree"] = "cr", ["Tiếng Cree Moose"] = "crm", ["Tiếng Cree Đông Bắc"] = "crl", ["Tiếng Cree Đông Nam"] = "crj", ["Tiếng Cree đồng bằng"] = "crk", ["Tiếng Creole Antilles"] = "gcf", ["Tiếng Creole Guinea-Bissau"] = "pov", ["Tiếng Creole Haiti"] = "ht", ["Tiếng Creole Hà Lan Berbice"] = "brc", ["Tiếng Creole Jamaica"] = "jam", ["Tiếng Creole Louisiana"] = "lou", ["Tiếng Creole Mauritius"] = "mfe", ["Tiếng Creole Nghi Lan"] = "ycr", ["Tiếng Creole Réunion"] = "rcf", ["Tiếng Creole quần đảo Virgin"] = "vic", ["Tiếng Crow"] = "cro", ["Tiếng Cuman"] = "qwm", ["Tiếng Cumanagoto"] = "cuo", ["Tiếng Cumbria"] = "xcb", ["Tiếng Cupeño"] = "cup", ["Tiếng Cushit nguyên thủy"] = "cus-pro", ["Tiếng Cuyunon"] = "cyo", ["Tiếng Càn-đà-la"] = "pgd", ["Tiếng Cám"] = "gan", ["Tiếng Cơ Nặc Du Lạc"] = "jiu", ["Tiếng Cơ Tu"] = "ktv", ["Tiếng Cơ Tu Phương"] = "phg", ["Tiếng Cơ Tu Tây"] = "kuf", ["Tiếng Cơ Tu nguyên thủy"] = "mkh-kat-pro", ["Tiếng Cống"] = "cnc", ["Tiếng Cờ Lao Trắng"] = "giw", ["Tiếng Daasanach"] = "dsh", ["Tiếng Dabarre"] = "dbr", ["Tiếng Dacia"] = "xdc", ["Tiếng Dadibi"] = "mps", ["Tiếng Dagara Bắc"] = "dgi", ["Tiếng Dagba"] = "dgk", ["Tiếng Dagbani"] = "dag", ["Tiếng Dahalik"] = "dlk", ["Tiếng Dahalo"] = "dal", ["Tiếng Dakota"] = "dak", ["Tiếng Dakpa"] = "dka", ["Tiếng Dalmatia"] = "dlm", ["Tiếng Dambi"] = "dac", ["Tiếng Damel"] = "dml", ["Tiếng Dan"] = "dnj", ["Tiếng Danau"] = "dnu", ["Tiếng Dangaléat"] = "daa", ["Tiếng Danu"] = "dnv", ["Tiếng Danuwar"] = "dhw", ["Tiếng Dar Daju Daju"] = "djc", ["Tiếng Dargwa"] = "dar", ["Tiếng Dargwa nguyên thủy"] = "cau-drg-pro", ["Tiếng Daur"] = "dta", ["Tiếng Dawro"] = "dwr", ["Tiếng Deg Xinag"] = "ing", ["Tiếng Degema"] = "deg", ["Tiếng Denesuline"] = "chp", ["Tiếng Deori"] = "der", ["Tiếng Desiya"] = "dso", ["Tiếng Dhangu"] = "dhg", ["Tiếng Dhanka"] = "dhn", ["Tiếng Dharug"] = "xdk", ["Tiếng Dhatki"] = "mki", ["Tiếng Dhimal"] = "dhi", ["Tiếng Dhivehi"] = "dv", ["Tiếng Dhodia"] = "dho", ["Tiếng Dhundhar"] = "dhd", ["Tiếng Dibabawon"] = "mbd", ["Tiếng Dieri"] = "dif", ["Tiếng Digan"] = "rom", ["Tiếng Digan Balkan"] = "rmn", ["Tiếng Digan Baltic"] = "rml", ["Tiếng Digan Tavringer"] = "rmu", ["Tiếng Dimasa"] = "dis", ["Tiếng Dime"] = "dim", ["Tiếng Dinka"] = "din", ["Tiếng Dirasha"] = "gdl", ["Tiếng Ditidaht"] = "dtd", ["Tiếng Dizi"] = "mdx", ["Tiếng Dizi nguyên thủy"] = "omv-diz-pro", ["Tiếng Djinang"] = "dji", ["Tiếng Do Thái"] = "he", ["Tiếng Dogri"] = "doi", ["Tiếng Dogri Hindi"] = "dgo", ["Tiếng Dogrib"] = "dgr", ["Tiếng Dolgan"] = "dlg", ["Tiếng Dolpo"] = "dre", ["Tiếng Domaaki"] = "dmk", ["Tiếng Domari"] = "rmt", ["Tiếng Dongolawi"] = "kzh", ["Tiếng Doteli"] = "dty", ["Tiếng Dravida nguyên thủy"] = "dra-pro", ["Tiếng Dubla"] = "dub", ["Tiếng Dukha"] = "trk-dkh", ["Tiếng Dumi"] = "dus", ["Tiếng Duruwa"] = "pci", ["Tiếng Dusun Witu"] = "duw", ["Tiếng Duun"] = "dux", ["Tiếng Duy Ngô Nhĩ"] = "ug", ["Tiếng Duy Ngô Nhĩ cổ"] = "oui", ["Tiếng Dyirbal"] = "dbl", ["Tiếng Dyula"] = "dyu", ["Tiếng Dzala"] = "dzl", ["Tiếng Dzongkha"] = "dz", ["Tiếng Dzuun"] = "dnn", ["Tiếng Ebla"] = "xeb", ["Tiếng Ebrié"] = "ebr", ["Tiếng Ebughu"] = "ebg", ["Tiếng Ede Ica"] = "ica", ["Tiếng Ede Idaca"] = "idd", ["Tiếng Ede Nago"] = "nqg", ["Tiếng Edekiri nguyên thủy"] = "alv-edk-pro", ["Tiếng Edo"] = "bin", ["Tiếng Edoid nguyên thủy"] = "alv-edo-pro", ["Tiếng Efai"] = "efa", ["Tiếng Efate Bắc"] = "llp", ["Tiếng Efate Nam"] = "erk", ["Tiếng Efe"] = "efe", ["Tiếng Efik"] = "efi", ["Tiếng Ega"] = "ega", ["Tiếng Eggon"] = "ego", ["Tiếng Ehueun"] = "ehu", ["Tiếng Eipomek"] = "eip", ["Tiếng Eitiep"] = "eit", ["Tiếng Ejagham"] = "etu", ["Tiếng El Molo"] = "elo", ["Tiếng Elam"] = "elx", ["Tiếng Elymi"] = "xly", ["Tiếng Emberá-Chamí"] = "cmi", ["Tiếng Emberá-Tadó"] = "tdc", ["Tiếng Embu"] = "ebu", ["Tiếng Emilia"] = "egl", ["Tiếng Enets lãnh nguyên"] = "enh", ["Tiếng Enets rừng"] = "enf", ["Tiếng Engenni"] = "enn", ["Tiếng Enisei nguyên thủy"] = "qfa-yen-pro", ["Tiếng Eotile"] = "eot", ["Tiếng Epie"] = "epi", ["Tiếng Eravalla"] = "era", ["Tiếng Erzya"] = "myv", ["Tiếng Esan"] = "ish", ["Tiếng Ese"] = "mcq", ["Tiếng Esimbi"] = "ags", ["Tiếng Eskimo nguyên thủy"] = "esx-esk-pro", ["Tiếng Eskimo-Aleut nguyên thủy"] = "esx-pro", ["Tiếng Estonia"] = "et", ["Tiếng Eteocrete"] = "ecr", ["Tiếng Etrusca"] = "ett", ["Tiếng Even"] = "eve", ["Tiếng Evenk"] = "evn", ["Tiếng Ewe"] = "ee", ["Tiếng Fala"] = "fax", ["Tiếng Falisci"] = "xfa", ["Tiếng Fanagalo"] = "fng", ["Tiếng Fang (Bantu)"] = "fan", ["Tiếng Faroe"] = "fo", ["Tiếng Fe'fe'"] = "fmp", ["Tiếng Fiji"] = "fj", ["Tiếng Finn nguyên thủy"] = "urj-fin-pro", ["Tiếng Flemish Tây"] = "vls", ["Tiếng Fogaha"] = "ber-fog", ["Tiếng Foi"] = "foi", ["Tiếng Fon"] = "fon", ["Tiếng Fox"] = "sac", ["Tiếng Franche-Comté"] = "roa-fcm", ["Tiếng Franco-Provençal"] = "frp", ["Tiếng Franken Trung"] = "gmw-cfr", ["Tiếng Frisia Saterland"] = "stq", ["Tiếng Frisia cổ"] = "ofs", ["Tiếng Friuli"] = "fur", ["Tiếng Fula"] = "ff", ["Tiếng Fur"] = "fvr", ["Tiếng Ga"] = "gaa", ["Tiếng Gabri"] = "gab", ["Tiếng Gadaba Bodo"] = "gbj", ["Tiếng Gaddang"] = "gad", ["Tiếng Gaddi"] = "gbk", ["Tiếng Gael Scotland"] = "gd", ["Tiếng Gagauz"] = "gag", ["Tiếng Gahri"] = "bfu", ["Tiếng Galati"] = "xga", ["Tiếng Galicia"] = "gl", ["Tiếng Galicia-Bồ Đào Nha"] = "roa-opt", ["Tiếng Gallo"] = "roa-gal", ["Tiếng Gallura"] = "sdn", ["Tiếng Galo"] = "adl", ["Tiếng Gamilaraay"] = "kld", ["Tiếng Gamit"] = "gbl", ["Tiếng Gamo"] = "gmv", ["Tiếng Ganza"] = "gza", ["Tiếng Garasia Adiwasi"] = "gas", ["Tiếng Garasia Rajput"] = "gra", ["Tiếng Garhwal"] = "gbm", ["Tiếng Garifuna"] = "cab", ["Tiếng Garo"] = "grt", ["Tiếng Garre"] = "gex", ["Tiếng Gata'"] = "gaq", ["Tiếng Gaul"] = "cel-gau", ["Tiếng Gawar-Bati"] = "gwt", ["Tiếng Gawwada"] = "gwd", ["Tiếng Gayil"] = "gyl", ["Tiếng Gbe Saxwe"] = "sxw", ["Tiếng Gbe Waci"] = "wci", ["Tiếng Gbe nguyên thủy"] = "alv-gbe-pro", ["Tiếng Gbiri-Niragu"] = "grh", ["Tiếng Gedeo"] = "drs", ["Tiếng Gen"] = "gej", ["Tiếng German Tây nguyên thủy"] = "gmw-pro", ["Tiếng German nguyên thủy"] = "gem-pro", ["Tiếng Graeco-Phrygia nguyên thủy"] = "ine-grp-pro", ["Tiếng Geʽez"] = "gez", ["Tiếng Ghadames"] = "gha", ["Tiếng Ghomala'"] = "bbj", ["Tiếng Ghomara"] = "gho", ["Tiếng Ghotuo"] = "aaa", ["Tiếng Gia Rai"] = "jra", ["Tiếng Gikuyu"] = "ki", ["Tiếng Gilak"] = "glk", ["Tiếng Gimi (Goroka)"] = "gim", ["Tiếng Girirra"] = "gii", ["Tiếng Giryama"] = "nyf", ["Tiếng Gitxsan"] = "git", ["Tiếng Giẻ"] = "jeh", ["Tiếng Glosa"] = "igs", ["Tiếng Godoberi"] = "gdo", ["Tiếng Gofa"] = "gof", ["Tiếng Gone Dau"] = "goo", ["Tiếng Gooniyandi"] = "gni", ["Tiếng Goran"] = "hac", ["Tiếng Gorontalo"] = "gor", ["Tiếng Gorowa"] = "gow", ["Tiếng Goth"] = "got", ["Tiếng Gotland"] = "gmq-gut", ["Tiếng Gotland cổ"] = "gmq-ogt", ["Tiếng Greenland"] = "kl", ["Tiếng Gruzia"] = "ka", ["Tiếng Gruzia cổ"] = "oge", ["Tiếng Gruzia-Do Thái"] = "jge", ["Tiếng Gruzia-Zan nguyên thủy"] = "ccs-gzn-pro", ["Tiếng Guajajára"] = "gub", ["Tiếng Guajá"] = "gvj", ["Tiếng Guanche"] = "gnc", ["Tiếng Guarani Mbya"] = "gun", ["Tiếng Guarani Paraguay"] = "gug", ["Tiếng Guaraní"] = "gn", ["Tiếng Guarayu"] = "gyr", ["Tiếng Gujar"] = "gju", ["Tiếng Gujarat"] = "gu", ["Tiếng Gujarat cổ"] = "inc-ogu", ["Tiếng Gujarat trung đại"] = "inc-mgu", ["Tiếng Gulay"] = "gvl", ["Tiếng Gulimancema"] = "gux", ["Tiếng Gumuz"] = "guk", ["Tiếng Gun"] = "guw", ["Tiếng Gurenne"] = "gur", ["Tiếng Guugu Yimidhirr"] = "kky", ["Tiếng Gwichʼin"] = "gwi", ["Tiếng H'Mông Tương Tây Tây"] = "mmr", ["Tiếng H'Mông-Miền nguyên thủy"] = "hmx-pro", ["Tiếng H'roi"] = "hro", ["Tiếng Hachijō"] = "jpx-hcj", ["Tiếng Hadiyya"] = "hdy", ["Tiếng Haida"] = "hai", ["Tiếng Haisla"] = "has", ["Tiếng Hajong"] = "haj", ["Tiếng Halba"] = "hlb", ["Tiếng Halkomelem"] = "hur", ["Tiếng Hamer-Banna"] = "amf", ["Tiếng Hano"] = "lml", ["Tiếng Hanunoo"] = "hnn", ["Tiếng Harari"] = "har", ["Tiếng Harsusi"] = "hss", ["Tiếng Haryanvi"] = "bgc", ["Tiếng Hatti"] = "xht", ["Tiếng Hausa"] = "ha", ["Tiếng Haush"] = "sai-hau", ["Tiếng Havasupai-Walapai-Yavapai"] = "yuf", ["Tiếng Hawaii"] = "haw", ["Tiếng Hazara"] = "haz", ["Tiếng Heiban"] = "hbn", ["Tiếng Heiltsuk"] = "hei", ["Tiếng Hellen nguyên thủy"] = "grk-pro", ["Tiếng Herero"] = "hz", ["Tiếng Hernici"] = "xhr", ["Tiếng Higaonon"] = "mba", ["Tiếng Hiligaynon"] = "hil", ["Tiếng Hindi"] = "hi", ["Tiếng Hindi Fiji"] = "hif", ["Tiếng Hindi cổ"] = "inc-ohi", ["Tiếng Hindko Bắc"] = "hno", ["Tiếng Hinduri"] = "hii", ["Tiếng Hindustan Caribe"] = "hns", ["Tiếng Hinukh"] = "gin", ["Tiếng Hiri Motu"] = "ho", ["Tiếng Hitti"] = "hit", ["Tiếng Hiw"] = "hiw", ["Tiếng Hlai"] = "lic", ["Tiếng Hlai nguyên thủy"] = "qfa-lic-pro", ["Tiếng Ho"] = "hoc", ["Tiếng Hoava"] = "hoa", ["Tiếng Hocak"] = "win", ["Tiếng Holiya"] = "hoy", ["Tiếng Hopi"] = "hop", ["Tiếng Horpa"] = "ero", ["Tiếng Hozo"] = "hoz", ["Tiếng Hpon"] = "hpo", ["Tiếng Hrê"] = "hre", ["Tiếng Hu"] = "huo", ["Tiếng Hulaulá"] = "huy", ["Tiếng Hungary"] = "hu", ["Tiếng Hunsrik"] = "hrx", ["Tiếng Hunzib"] = "huz", ["Tiếng Hupa"] = "hup", ["Tiếng Hupdë"] = "jup", ["Tiếng Hurri"] = "xhu", ["Tiếng Huy"] = "czh", ["Tiếng Hy Lạp"] = "el", ["Tiếng Hy Lạp Cappadocia"] = "cpg", ["Tiếng Hy Lạp Italiot"] = "grk-ita", ["Tiếng Hy Lạp Mariupol"] = "grk-mar", ["Tiếng Hy Lạp Mycenae"] = "gmy", ["Tiếng Hy Lạp Pontos"] = "pnt", ["Tiếng Hy Lạp cổ"] = "grc", ["Tiếng Hyam"] = "jab", ["Tiếng Hà Lan"] = "nl", ["Tiếng Hà Lan Jersey"] = "gmw-jdt", ["Tiếng Hà Lan cổ"] = "odt", ["Tiếng Hà Lan trung đại"] = "dum", ["Tiếng Hà Lăng"] = "hal", ["Tiếng Hà Nhì"] = "hni", ["Tiếng Hán thượng cổ"] = "och", ["Tiếng Hán trung cổ"] = "ltc", ["Tiếng Hán-Tạng nguyên thủy"] = "sit-pro", ["Tiếng Hạ Saxon Hà Lan"] = "nds-nl", ["Tiếng Hạ Sorb"] = "dsb", ["Tiếng Hạ Tanana"] = "taa", ["Tiếng Hạ Đức"] = "nds", ["Tiếng Hạ Đức Mennonite"] = "pdt", ["Tiếng Hạ Đức trung đại"] = "gml", ["Tiếng Hạ Đức tại Đức"] = "nds-de", ["Tiếng Iaai"] = "iai", ["Tiếng Ibaloi"] = "ibl", ["Tiếng Iban"] = "iba", ["Tiếng Ibanag"] = "ibg", ["Tiếng Ibatan"] = "ivb", ["Tiếng Ibibio"] = "ibb", ["Tiếng Ibino"] = "ibn", ["Tiếng Ibuoro"] = "ibr", ["Tiếng Iceland"] = "is", ["Tiếng Ida'an"] = "dbj", ["Tiếng Ido"] = "io", ["Tiếng Idu"] = "clk", ["Tiếng Ifugao Batad"] = "ifb", ["Tiếng Ifè"] = "ife", ["Tiếng Igala"] = "igl", ["Tiếng Igbo"] = "ig", ["Tiếng Ikposo"] = "kpo", ["Tiếng Ikwere"] = "ikw", ["Tiếng Ili Turki"] = "ili", ["Tiếng Ilokano"] = "ilo", ["Tiếng Indo-Bồ Đào Nha"] = "idb", ["Tiếng Indonesia"] = "id", ["Tiếng Indonesia Peranakan"] = "pea", ["Tiếng Ingria"] = "izh", ["Tiếng Ingush"] = "inh", ["Tiếng Inor"] = "ior", ["Tiếng Interlingue"] = "ie", ["Tiếng Intha"] = "int", ["Tiếng Inuit nguyên thủy"] = "esx-inu-pro", ["Tiếng Inuktitut"] = "iu", ["Tiếng Inuktitut Đông Canada"] = "ike", ["Tiếng Inupiaq"] = "ik", ["Tiếng Inuvialuktun"] = "ikt", ["Tiếng Iran nguyên thủy"] = "ira-pro", ["Tiếng Iraqw"] = "irk", ["Tiếng Ireland"] = "ga", ["Tiếng Ireland cổ"] = "sga", ["Tiếng Ireland trung đại"] = "mga", ["Tiếng Iroquois nguyên thủy"] = "iro-pro", ["Tiếng Irula"] = "iru", ["Tiếng Isan"] = "tts", ["Tiếng Ishkashim"] = "isk", ["Tiếng Isnag"] = "isd", ["Tiếng Isoko"] = "iso", ["Tiếng Istria"] = "ist", ["Tiếng Istria Rumani"] = "ruo", ["Tiếng Italic nguyên thủy"] = "itc-pro", ["Tiếng Itaŋikom"] = "bkm", ["Tiếng Itelmen"] = "itl", ["Tiếng Itene"] = "ite", ["Tiếng Itonama"] = "ito", ["Tiếng Itsekiri"] = "its", ["Tiếng Itu Mbon Uzo"] = "itm", ["Tiếng Ivatan"] = "ivv", ["Tiếng Iwaidja"] = "ibd", ["Tiếng Ixil"] = "ixl", ["Tiếng Izon"] = "ijc", ["Tiếng Jacaltec"] = "jac", ["Tiếng Jah Hut"] = "jah", ["Tiếng Jamamadí"] = "jaa", ["Tiếng Japhug"] = "sit-jap", ["Tiếng Jaqaru"] = "jqr", ["Tiếng Jarawa"] = "anq", ["Tiếng Jaunsar"] = "jns", ["Tiếng Java"] = "jv", ["Tiếng Java Caribe"] = "jvn", ["Tiếng Java cổ"] = "kaw", ["Tiếng Javindo"] = "jvd", ["Tiếng Jehai"] = "jhi", ["Tiếng Jeju"] = "jje", ["Tiếng Jemez"] = "tow", ["Tiếng Jicarilla"] = "apj", ["Tiếng Jiiddu"] = "jii", ["Tiếng Jirel"] = "jul", ["Tiếng Jju"] = "kaj", ["Tiếng Jru'"] = "lbo", ["Tiếng Juang"] = "jun", ["Tiếng Jukun Takum"] = "jbu", ["Tiếng Jumaytepeque"] = "nai-jum", ["Tiếng Jumjum"] = "jum", ["Tiếng Juray"] = "juy", ["Tiếng Juǀ'hoan"] = "ktz", ["Tiếng Jylland"] = "jut", ["Tiếng Jê Bắc nguyên thủy"] = "sai-nje-pro", ["Tiếng Jê nguyên thủy"] = "sai-jee-pro", ["Tiếng K'Ho"] = "kpm", ["Tiếng K'iche'"] = "quc", ["Tiếng Kabardia"] = "kbd", ["Tiếng Kabiye"] = "kbp", ["Tiếng Kabuverdianu"] = "kea", ["Tiếng Kabyle"] = "kab", ["Tiếng Kachama-Ganjule"] = "kcx", ["Tiếng Kachin"] = "kac", ["Tiếng Kadar"] = "kej", ["Tiếng Kadazan bờ biển"] = "kzj", ["Tiếng Kadu"] = "zkd", ["Tiếng Kafa"] = "kbr", ["Tiếng Kagayanen"] = "cgc", ["Tiếng Kaikadi"] = "kep", ["Tiếng Kaingang"] = "kgp", ["Tiếng Kaitag"] = "xdq", ["Tiếng Kakabai"] = "kqf", ["Tiếng Kaki Ae"] = "tbd", ["Tiếng Kalam"] = "gwc", ["Tiếng Kalanguya"] = "kak", ["Tiếng Kalao"] = "kly", ["Tiếng Kalash"] = "kls", ["Tiếng Kalinga Limos"] = "kmk", ["Tiếng Kalkot"] = "xka", ["Tiếng Kalmyk"] = "xal", ["Tiếng Kalo Phần Lan"] = "rmf", ["Tiếng Kamarupi Prakrit"] = "inc-kam", ["Tiếng Kamassia"] = "xas", ["Tiếng Kamayo"] = "kyk", ["Tiếng Kambaata"] = "ktb", ["Tiếng Kambera"] = "xbr", ["Tiếng Kamula"] = "xla", ["Tiếng Kanakanavu"] = "xnb", ["Tiếng Kanan"] = "zkn", ["Tiếng Kangean"] = "kkv", ["Tiếng Kangra"] = "xnr", ["Tiếng Kankanaey"] = "kne", ["Tiếng Kannada"] = "kn", ["Tiếng Kannada cổ"] = "dra-okn", ["Tiếng Kannauj"] = "bjj", ["Tiếng Kanuri"] = "kr", ["Tiếng Kapampangan"] = "pam", ["Tiếng Kapingamarangi"] = "kpg", ["Tiếng Kaqchikel"] = "cak", ["Tiếng Karachay-Balkar"] = "krc", ["Tiếng Karaim"] = "kdr", ["Tiếng Karajá"] = "kpj", ["Tiếng Karakalpak"] = "kaa", ["Tiếng Karakhanid"] = "xqa", ["Tiếng Karao"] = "kyj", ["Tiếng Karata"] = "kpt", ["Tiếng Karbi"] = "mjw", ["Tiếng Karekare"] = "kai", ["Tiếng Karelia"] = "krl", ["Tiếng Karen Bwe"] = "bwe", ["Tiếng Karen Geba"] = "kvq", ["Tiếng Karen Geko"] = "ghk", ["Tiếng Karen Mobwa"] = "jkm", ["Tiếng Karen Paku"] = "jkp", ["Tiếng Karen S'gaw"] = "ksw", ["Tiếng Karen Zayein"] = "kxk", ["Tiếng Karen nguyên thủy"] = "kar-pro", ["Tiếng Kari'na"] = "car", ["Tiếng Kariri"] = "kzw", ["Tiếng Karitiâna"] = "ktn", ["Tiếng Karo"] = "kxh", ["Tiếng Kartvelia nguyên thủy"] = "ccs-pro", ["Tiếng Kashaya"] = "kju", ["Tiếng Kashmir"] = "ks", ["Tiếng Kaszëb"] = "csb", ["Tiếng Katang Bắc"] = "ncq", ["Tiếng Kaurna"] = "zku", ["Tiếng Kavalan"] = "ckv", ["Tiếng Kavet"] = "krv", ["Tiếng Kawésqar"] = "alc", ["Tiếng Kayan"] = "pdu", ["Tiếng Kayapó"] = "txu", ["Tiếng Kayort"] = "kyv", ["Tiếng Kazakh"] = "kk", ["Tiếng Kensiu"] = "kns", ["Tiếng Kenyang"] = "ken", ["Tiếng Kerek"] = "krk", ["Tiếng Kerman"] = "xme-ker", ["Tiếng Ket"] = "ket", ["Tiếng Khakas"] = "kjh", ["Tiếng Khalaj"] = "klj", ["Tiếng Khaling"] = "klr", ["Tiếng Kham Gamale"] = "kgj", ["Tiếng Kham Parbate Tây"] = "kjl", ["Tiếng Kham Parbate Đông"] = "kif", ["Tiếng Kham Sheshi"] = "kip", ["Tiếng Khamba"] = "kbg", ["Tiếng Khamti"] = "kht", ["Tiếng Khamyang"] = "ksu", ["Tiếng Khang Gia"] = "kxs", ["Tiếng Khanty"] = "kca", ["Tiếng Kharia"] = "khr", ["Tiếng Khasa Prakrit"] = "inc-kha", ["Tiếng Khasi"] = "kha", ["Tiếng Khasi nguyên thủy"] = "aav-khs-pro", ["Tiếng Khazar"] = "zkz", ["Tiếng Khengkha"] = "xkf", ["Tiếng Khiamniungan"] = "kix", ["Tiếng Khinalug"] = "kjj", ["Tiếng Khiết Đan"] = "zkt", ["Tiếng Khmer"] = "km", ["Tiếng Khmer Surin"] = "kxm", ["Tiếng Khmer cổ"] = "okz", ["Tiếng Khmer nguyên thủy"] = "mkh-kmr-pro", ["Tiếng Khmer trung đại"] = "xhm", ["Tiếng Khoekhoe"] = "naq", ["Tiếng Kholosi"] = "inc-kho", ["Tiếng Khotan"] = "kho", ["Tiếng Khowar"] = "khw", ["Tiếng Khroskyabs"] = "jiq", ["Tiếng Khuen"] = "khf", ["Tiếng Khvarshi"] = "khv", ["Tiếng Khwarezm"] = "xco", ["Tiếng Khách Gia"] = "hak", ["Tiếng Kháng"] = "kjm", ["Tiếng Khùa"] = "xhv", ["Tiếng Khün"] = "kkh", ["Tiếng Khơ Mú"] = "kjg", ["Tiếng Khơ Mú nguyên thủy"] = "mkh-khm-pro", ["Tiếng Khương Bắc"] = "cng", ["Tiếng Khương Nam"] = "qxs", ["Tiếng Khương Đường"] = "cna", ["Tiếng Kickapoo"] = "kic", ["Tiếng Kikai"] = "kzg", ["Tiếng Kili"] = "tuw-kil", ["Tiếng Kim"] = "kia", ["Tiếng Kim Môn"] = "mji", ["Tiếng Kimbundu"] = "kmb", ["Tiếng Kinaray-a"] = "krj", ["Tiếng Kinnaur"] = "kfk", ["Tiếng Kinnaur Harija"] = "kjo", ["Tiếng Kintaq"] = "knq", ["Tiếng Kiowa"] = "kio", ["Tiếng Gilbert"] = "gil", ["Tiếng Kirike"] = "okr", ["Tiếng Kisan"] = "xis", ["Tiếng Kistane"] = "gru", ["Tiếng Kituba"] = "ktu", ["Tiếng Klallam"] = "clm", ["Tiếng Klingon"] = "tlh", ["Tiếng Knaan"] = "czk", ["Tiếng Koalib"] = "kib", ["Tiếng Kobon"] = "kpw", ["Tiếng Koch"] = "kdq", ["Tiếng Koda"] = "cdz", ["Tiếng Kodava"] = "kfa", ["Tiếng Kohistan"] = "mvy", ["Tiếng Koibal"] = "zkb", ["Tiếng Kok Borok"] = "trp", ["Tiếng Kolami"] = "kfb", ["Tiếng Kolhe"] = "ekl", ["Tiếng Koli Kachi"] = "gjk", ["Tiếng Koli Parkar"] = "kvx", ["Tiếng Koli Wadiyara"] = "kxp", ["Tiếng Koman nguyên thủy"] = "ssa-kom-pro", ["Tiếng Komi cổ"] = "urj-koo", ["Tiếng Komi-Permyak"] = "koi", ["Tiếng Komi-Yazva"] = "urj-kya", ["Tiếng Komi-Zyrian"] = "kpv", ["Tiếng Komo"] = "xom", ["Tiếng Komodo"] = "kvh", ["Tiếng Konabéré"] = "bbo", ["Tiếng Konda-Dora"] = "kfc", ["Tiếng Kondekor"] = "gau", ["Tiếng Kongo"] = "kg", ["Tiếng Konkan"] = "kok", ["Tiếng Konobo"] = "kqo", ["Tiếng Konso"] = "kxc", ["Tiếng Koonzime"] = "ozm", ["Tiếng Koore"] = "kqy", ["Tiếng Koraga Korra"] = "kfd", ["Tiếng Koraga Mudu"] = "vmd", ["Tiếng Korku"] = "kfq", ["Tiếng Korwa"] = "kfp", ["Tiếng Koryak"] = "kpy", ["Tiếng Kosrae"] = "kos", ["Tiếng Kota (Ấn Độ)"] = "kfe", ["Tiếng Kotava"] = "avk", ["Tiếng Kott"] = "zko", ["Tiếng Koya"] = "kff", ["Tiếng Kpelle Guinea"] = "gkp", ["Tiếng Kpelle Liberia"] = "xpe", ["Tiếng Kra nguyên thủy"] = "qfa-kra-pro", ["Tiếng Kra-Dai nguyên thủy"] = "qfa-tak-pro", ["Tiếng Kraol"] = "rka", ["Tiếng Kresh"] = "krs", ["Tiếng Krio"] = "kri", ["Tiếng Kriol Úc"] = "rop", ["Tiếng Krung"] = "krr", ["Tiếng Krymchak"] = "jct", ["Tiếng Kryts"] = "kry", ["Tiếng Ktunaxa"] = "kut", ["Tiếng Kubachi"] = "ugh", ["Tiếng Kudiya"] = "kfg", ["Tiếng Kudmal"] = "kyw", ["Tiếng Kui (Ấn Độ)"] = "uki", ["Tiếng Kui Dawik"] = "dwk", ["Tiếng Kuke"] = "ght", ["Tiếng Kuki-Chin nguyên thủy"] = "tbq-kuk-pro", ["Tiếng Kukna"] = "kex", ["Tiếng Kullu"] = "kfx", ["Tiếng Kulon-Pazeh"] = "uun", ["Tiếng Kumbewaha"] = "xks", ["Tiếng Kumeyaay"] = "nai-kum", ["Tiếng Kumyk"] = "kum", ["Tiếng Kumzar"] = "zum", ["Tiếng Kuna"] = "cuk", ["Tiếng Kundal Shahi"] = "shd", ["Tiếng Kunigami"] = "xug", ["Tiếng Kuo"] = "xuo", ["Tiếng Kupia"] = "key", ["Tiếng Kurichiya"] = "kfh", ["Tiếng Kurmanji"] = "kmr", ["Tiếng Kurtokha"] = "xkz", ["Tiếng Kurukh"] = "kru", ["Tiếng Kurumba Alu"] = "xua", ["Tiếng Kurumba Attapady"] = "pkr", ["Tiếng Kurumba Betta"] = "xub", ["Tiếng Kurumba Jennu"] = "xuj", ["Tiếng Kurumba Kannada"] = "kfi", ["Tiếng Kurumba Mullu"] = "kpb", ["Tiếng Kushi"] = "kuh", ["Tiếng Kutch"] = "kfr", ["Tiếng Kutep"] = "kub", ["Tiếng Kuvi"] = "kxv", ["Tiếng Kuy"] = "kdt", ["Tiếng Kven"] = "fkv", ["Tiếng Kw'adza"] = "wka", ["Tiếng Kwak'wala"] = "kwk", ["Tiếng Kwanja"] = "knp", ["Tiếng Kwanyama"] = "kj", ["Tiếng Kwinti"] = "kww", ["Tiếng Kyakala"] = "tuw-kkl", ["Tiếng Kyrgyz"] = "ky", ["Tiếng Kyrgyz Phú Dụ"] = "trk-fyk", ["Tiếng Kâte"] = "kmg", ["Tiếng La Hủ"] = "lhu", ["Tiếng Laalaa"] = "cae", ["Tiếng Ladakh"] = "lbj", ["Tiếng Ladin"] = "lld", ["Tiếng Ladino"] = "lad", ["Tiếng Lahnda"] = "lah", ["Tiếng Lahta"] = "kvt", ["Tiếng Lak"] = "lbe", ["Tiếng Lakalei"] = "lka", ["Tiếng Laki"] = "lki", ["Tiếng Lakota"] = "lkt", ["Tiếng Lama Gur"] = "las", ["Tiếng Lambadi"] = "lmn", ["Tiếng Lamboya"] = "lmy", ["Tiếng Lamkang"] = "lmk", ["Tiếng Lanoh"] = "lnh", ["Tiếng Laomian"] = "lwm", ["Tiếng Lar"] = "lrl", ["Tiếng Lasalimu"] = "llm", ["Tiếng Lashi"] = "lsi", ["Tiếng Latgale"] = "ltg", ["Tiếng Latinh"] = "la", ["Tiếng Latundê"] = "ltn", ["Tiếng Latvia"] = "lv", ["Tiếng Lavukaleve"] = "lvk", ["Tiếng Lawa Tây"] = "lcp", ["Tiếng Lawa Đông"] = "lwl", ["Tiếng Lawi"] = "lvi", ["Tiếng Laya"] = "lya", ["Tiếng Laz"] = "lzz", ["Tiếng Lelemi"] = "lef", ["Tiếng Lemnos"] = "xle", ["Tiếng Lepcha"] = "lep", ["Tiếng Leponti"] = "xlp", ["Tiếng Lewo"] = "lww", ["Tiếng Lezgi"] = "lez", ["Tiếng Lezgi nguyên thủy"] = "cau-lzg-pro", ["Tiếng León"] = "roa-leo", ["Tiếng León cổ"] = "roa-ole", ["Tiếng Lhao Vo"] = "mhx", ["Tiếng Lhomi"] = "lhm", ["Tiếng Liabuku"] = "lix", ["Tiếng Libido"] = "liq", ["Tiếng Liguria"] = "lij", ["Tiếng Lillooet"] = "lil", ["Tiếng Limbum"] = "lmp", ["Tiếng Limburg"] = "li", ["Tiếng Lindu"] = "klw", ["Tiếng Lingala"] = "ln", ["Tiếng Lipan"] = "apl", ["Tiếng Lishana Deni"] = "lsd", ["Tiếng Lishanid Noshan"] = "aij", ["Tiếng Lisu"] = "lis", ["Tiếng Litva"] = "lt", ["Tiếng Litva cổ"] = "olt", ["Tiếng Livonia"] = "liv", ["Tiếng Livvi"] = "olo", ["Tiếng Lobi"] = "lob", ["Tiếng Lodha"] = "lbm", ["Tiếng Logba"] = "lgq", ["Tiếng Lojban"] = "jbo", ["Tiếng Loke"] = "loy", ["Tiếng Lokono"] = "arw", ["Tiếng Loma"] = "lom", ["Tiếng Lomavren"] = "rmi", ["Tiếng Lombard"] = "lmo", ["Tiếng Lorrain"] = "roa-lor", ["Tiếng Lotha Naga"] = "njh", ["Tiếng Lou"] = "loj", ["Tiếng Luba-Katanga"] = "lu", ["Tiếng Lucumí"] = "luq", ["Tiếng Luganda"] = "lg", ["Tiếng Luhya"] = "luy", ["Tiếng Lukpa"] = "dop", ["Tiếng Lumbu"] = "lup", ["Tiếng Lunana"] = "luk", ["Tiếng Lur Bắc"] = "lrc", ["Tiếng Lur Nam"] = "luz", ["Tiếng Lushootseed"] = "lut", ["Tiếng Lutuv"] = "clt", ["Tiếng Luwi"] = "xlu", ["Tiếng Luxembourg"] = "lb", ["Tiếng Lycia"] = "xlc", ["Tiếng Lydia"] = "xld", ["Tiếng Lyngngam"] = "lyg", ["Tiếng Lyydi"] = "lud", ["Tiếng Lào"] = "lo", ["Tiếng Lâm Cao"] = "onb", ["Tiếng Lô Lô"] = "ii", ["Tiếng Lô Lô-Miến nguyên thủy"] = "tbq-lob-pro", ["Tiếng Lư Nhân"] = "sit-lrn", ["Tiếng Lưu Cầu nguyên thủy"] = "jpx-ryu-pro", ["Tiếng Lự"] = "khb", ["Tiếng M'Nông Nam"] = "mnn", ["Tiếng M'Nông Trung"] = "cmo", ["Tiếng M'Nông Đông"] = "mng", ["Tiếng Ma Thoa"] = "nru", ["Tiếng Ma'anyan"] = "mhy", ["Tiếng Maaka"] = "mew", ["Tiếng Maale"] = "mdy", ["Tiếng Maasai"] = "mas", ["Tiếng Maay"] = "ymm", ["Tiếng Mabaan"] = "mfz", ["Tiếng Mabang"] = "mde", ["Tiếng Macedoni cổ đại"] = "xmk", ["Tiếng Macedonia"] = "mk", ["Tiếng Macushi"] = "mbc", ["Tiếng Madura"] = "mad", ["Tiếng Magaha"] = "mag", ["Tiếng Magar Tây"] = "mrd", ["Tiếng Magar Đông"] = "mgp", ["Tiếng Magori"] = "zgr", ["Tiếng Maguindanao"] = "mdh", ["Tiếng Mah Meri"] = "mhe", ["Tiếng Mahal"] = "mjx", ["Tiếng Maithil"] = "mai", ["Tiếng Majang"] = "mpe", ["Tiếng Makassar"] = "mak", ["Tiếng Mal"] = "mlf", ["Tiếng Malagasy"] = "mg", ["Tiếng Malankurava"] = "mjo", ["Tiếng Malapandaram"] = "mjp", ["Tiếng Malarya"] = "mjq", ["Tiếng Malasar"] = "ymr", ["Tiếng Malasar Mala"] = "ima", ["Tiếng Malavedan"] = "mjr", ["Tiếng Malayalam"] = "ml", ["Tiếng Malecite-Passamaquoddy"] = "pqm", ["Tiếng Malta"] = "mt", ["Tiếng Mampruli"] = "maw", ["Tiếng Man"] = "gv", ["Tiếng Manda (Ấn Độ)"] = "mha", ["Tiếng Mandahuaca"] = "mht", ["Tiếng Mandara"] = "tbf", ["Tiếng Mande nguyên thủy"] = "dmn-pro", ["Tiếng Mandi"] = "mjl", ["Tiếng Mandinka"] = "mnk", ["Tiếng Mangas"] = "zns", ["Tiếng Manggarai"] = "mqy", ["Tiếng Mangghuer"] = "xgn-mgr", ["Tiếng Mangghul"] = "mjg-mgr", ["Tiếng Manipur"] = "mni", ["Tiếng Mankanya"] = "knf", ["Tiếng Mannan"] = "mjv", ["Tiếng Mano"] = "mev", ["Tiếng Mansaka"] = "msk", ["Tiếng Mansi nguyên thủy"] = "mns-pro", ["Tiếng Manumanaw"] = "kxf", ["Tiếng Mao Nam"] = "mmd", ["Tiếng Maori"] = "mi", ["Tiếng Mapuche"] = "arn", ["Tiếng Maranao"] = "mrw", ["Tiếng Marathi"] = "mr", ["Tiếng Marathi cổ"] = "omr", ["Tiếng Marau"] = "mvr", ["Tiếng Mari Tây"] = "mrj", ["Tiếng Mari nguyên thủy"] = "chm-pro", ["Tiếng Mari Đông"] = "mhr", ["Tiếng Maria (Ấn Độ)"] = "mrr", ["Tiếng Maricopa"] = "mrc", ["Tiếng Marma"] = "rmz", ["Tiếng Marquises Bắc"] = "mrq", ["Tiếng Marquises Nam"] = "mqm", ["Tiếng Marrucini"] = "umc", ["Tiếng Marshall"] = "mh", ["Tiếng Marsi"] = "ims", ["Tiếng Martuthunira"] = "vma", ["Tiếng Marwar"] = "mwr", ["Tiếng Masbatenyo"] = "msb", ["Tiếng Maskelynes"] = "klv", ["Tiếng Matal"] = "mfh", ["Tiếng Mator"] = "mtm", ["Tiếng Maung"] = "mph", ["Tiếng Maya Yucatán"] = "yua", ["Tiếng Maya nguyên thủy"] = "myn-pro", ["Tiếng Mazahua Michoacán"] = "mmc", ["Tiếng Mazahua Trung"] = "maz", ["Tiếng Mazandaran"] = "mzn", ["Tiếng Mbabaram"] = "vmb", ["Tiếng Mbembe Tigon"] = "nza", ["Tiếng Mbembe sông Cross"] = "mfn", ["Tiếng Me'en"] = "mym", ["Tiếng Me'phaa Acatepec"] = "tpx", ["Tiếng Me'phaa Azoyú"] = "tpc", ["Tiếng Me'phaa Tlacoapa"] = "tpl", ["Tiếng Media cổ"] = "xme-old", ["Tiếng Medumba"] = "byv", ["Tiếng Mehri"] = "gdq", ["Tiếng Melo"] = "mfx", ["Tiếng Melpa"] = "med", ["Tiếng Memon"] = "mby", ["Tiếng Mendankwe-Nkwen"] = "mfd", ["Tiếng Mende"] = "men", ["Tiếng Menominee"] = "mez", ["Tiếng Mentawai"] = "mwv", ["Tiếng Meriam"] = "ulk", ["Tiếng Mesaka"] = "iyo", ["Tiếng Mesqan"] = "mvz", ["Tiếng Messapio"] = "cms", ["Tiếng Meänkieli"] = "fit", ["Tiếng Mi'kmaq"] = "mic", ["Tiếng Miami"] = "mia", ["Tiếng Minangkabau"] = "min", ["Tiếng Mingrelia"] = "xmf", ["Tiếng Minriq"] = "mnq", ["Tiếng Mintil"] = "mzt", ["Tiếng Miranda"] = "mwl", ["Tiếng Mirga"] = "zrg", ["Tiếng Mising"] = "mrg", ["Tiếng Miskito"] = "miq", ["Tiếng Mixtec Alcozauca"] = "xta", ["Tiếng Mixtec Chayuco"] = "mih", ["Tiếng Mixtec Yosondúa"] = "mpm", ["Tiếng Mixtec nguyên thủy"] = "omq-mix-pro", ["Tiếng Miyako"] = "mvi", ["Tiếng Mizo"] = "lus", ["Tiếng Miến Điện"] = "my", ["Tiếng Miến Điện cổ"] = "obr", ["Tiếng Miền nguyên thủy"] = "hmx-mie-pro", ["Tiếng Mlabri"] = "mra", ["Tiếng Mlahsö"] = "lhs", ["Tiếng Mogholi"] = "mhj", ["Tiếng Moglena-Rumani"] = "ruq", ["Tiếng Mohawk"] = "moh", ["Tiếng Mohegan-Pequot"] = "xpq", ["Tiếng Moken"] = "mwt", ["Tiếng Mokil"] = "mkj", ["Tiếng Moklen"] = "mkm", ["Tiếng Moksha"] = "mdf", ["Tiếng Molbog"] = "pwm", ["Tiếng Mongghul"] = "mjg-mgl", ["Tiếng Mongo"] = "lol", ["Tiếng Mongondow"] = "mog", ["Tiếng Mooré"] = "mos", ["Tiếng Mordvin nguyên thủy"] = "urj-mdv-pro", ["Tiếng Moro"] = "mor", ["Tiếng Morokodo"] = "mgc", ["Tiếng Mota"] = "mtt", ["Tiếng Motu"] = "meu", ["Tiếng Mozarab"] = "mxi", ["Tiếng Mpade"] = "mpi", ["Tiếng Mpi"] = "mpz", ["Tiếng Muak Sa-aak"] = "ukk", ["Tiếng Mudburra"] = "dmw", ["Tiếng Muduga"] = "udg", ["Tiếng Muna"] = "mnb", ["Tiếng Munda"] = "unx", ["Tiếng Munda nguyên thủy"] = "mun-pro", ["Tiếng Mundabli"] = "boe", ["Tiếng Mundari"] = "unr", ["Tiếng Munggui"] = "mth", ["Tiếng Munji"] = "mnj", ["Tiếng Munsee"] = "umu", ["Tiếng Muria Viễn Tây"] = "fmu", ["Tiếng Murle"] = "mur", ["Tiếng Mursi"] = "muz", ["Tiếng Muscogee"] = "mus", ["Tiếng Musi"] = "mui", ["Tiếng Muskogee nguyên thủy"] = "nai-mus-pro", ["Tiếng Muthuvan"] = "muv", ["Tiếng Mwan"] = "moa", ["Tiếng Mwotlap"] = "mlv", ["Tiếng Myene"] = "mye", ["Tiếng Mân Bắc"] = "mnp", ["Tiếng Mân Nam"] = "nan", ["Tiếng Mân Trung"] = "czo", ["Tiếng Mân Tuyền Chương"] = "nan-hbl", ["Tiếng Mân nguyên thủy"] = "zhx-min-pro", ["Tiếng Mân Đông"] = "cdo", ["Tiếng Mã Lai"] = "ms", ["Tiếng Mã Lai Ambon"] = "abs", ["Tiếng Mã Lai Baba"] = "mbf", ["Tiếng Mã Lai Bacan"] = "btj", ["Tiếng Mã Lai Brunei"] = "kxd", ["Tiếng Mã Lai Bắc Maluku"] = "max", ["Tiếng Mã Lai Kedah"] = "meo", ["Tiếng Mã Lai Pattani"] = "mfa", ["Tiếng Mã Lai Sarawak"] = "poz-sml", ["Tiếng Mã Lai cổ"] = "omy", ["Tiếng Mã Lai nguyên thủy"] = "poz-mly-pro", ["Tiếng Mã Lai-Chăm nguyên thủy"] = "poz-mcm-pro", ["Tiếng Mã Lai-Sumbawa nguyên thủy"] = "poz-msa-pro", ["Tiếng Mã Lai-Đa Đảo Trung Đông nguyên thủy"] = "poz-cet-pro", ["Tiếng Mã Lai-Đa Đảo nguyên thủy"] = "poz-pro", ["Tiếng Mã Lai-Đa Đảo Đông nguyên thủy"] = "pqe-pro", ["Tiếng Mã Liềng"] = "pkt", ["Tiếng Mãn Châu"] = "mnc", ["Tiếng Mòcheno"] = "mhn", ["Tiếng Môn"] = "mnw", ["Tiếng Môn Thái"] = "mnw-tha", ["Tiếng Môn cổ"] = "omx", ["Tiếng Môn nguyên thủy"] = "mkh-mnc-pro", ["Tiếng Môn trung đại"] = "mkh-mmn", ["Tiếng Môn-Khmer nguyên thủy"] = "mkh-pro", ["Tiếng Mông"] = "hmf", ["Tiếng Mông Cổ"] = "mn", ["Tiếng Mông Cổ Khamnigan"] = "ykh", ["Tiếng Mông Cổ cổ điển"] = "cmg", ["Tiếng Mông Cổ nguyên thủy"] = "xgn-pro", ["Tiếng Mông Cổ trung đại"] = "xng", ["Tiếng Mông Trắng"] = "mww", ["Tiếng Mơ Nâm"] = "moo", ["Tiếng Mường"] = "mtq", ["Tiếng Mạ"] = "cma", ["Tiếng Mảng"] = "zng", ["Tiếng Na Miểu"] = "neo", ["Tiếng Na Uy"] = "no", ["Tiếng Na Uy (Bokmål)"] = "nb", ["Tiếng Na Uy (Nynorsk)"] = "nn", ["Tiếng Nafaanra"] = "nfr", ["Tiếng Naga Chothe"] = "nct", ["Tiếng Naga Maring"] = "nng", ["Tiếng Naga Moyon"] = "nmo", ["Tiếng Naga Thangal"] = "nki", ["Tiếng Naga Trung nguyên thủy"] = "sit-aao-pro", ["Tiếng Nahua nguyên thủy"] = "azc-nah-pro", ["Tiếng Nahuatl"] = "nah", ["Tiếng Nahuatl Temascaltepec"] = "nhv", ["Tiếng Nahuatl cổ điển"] = "nci", ["Tiếng Nakh nguyên thủy"] = "cau-nkh-pro", ["Tiếng Nam Altai"] = "alt", ["Tiếng Nam Amami Ōshima"] = "ams", ["Tiếng Nam Dravida I nguyên thủy"] = "dra-sdo-pro", ["Tiếng Nam Dravida II nguyên thủy"] = "dra-sdt-pro", ["Tiếng Nam Dravida nguyên thủy"] = "dra-sou-pro", ["Tiếng Nam Kolami"] = "nit", ["Tiếng Nam Mansi"] = "mns-sou", ["Tiếng Nam Ndebele"] = "nr", ["Tiếng Nam Sami"] = "sma", ["Tiếng Nam Selkup"] = "sel-sou", ["Tiếng Nam Slavey"] = "xsl", ["Tiếng Nam Thái"] = "sou", ["Tiếng Nam Uzbek"] = "uzs", ["Tiếng Nam Yukaghir"] = "yux", ["Tiếng Nam Á nguyên thủy"] = "aav-pro", ["Tiếng Nam Đảo nguyên thủy"] = "map-pro", ["Tiếng Nam Động"] = "kmc", ["Tiếng Nam Ả Rập cổ"] = "sem-srb", ["Tiếng Nambikwara"] = "nab", ["Tiếng Nanai"] = "gld", ["Tiếng Nankina"] = "nnk", ["Tiếng Napoli"] = "nap", ["Tiếng Naskapi"] = "nsk", ["Tiếng Nateni"] = "ntm", ["Tiếng Naukan"] = "ynk", ["Tiếng Nauru"] = "na", ["Tiếng Navajo"] = "nv", ["Tiếng Ndau"] = "ndc", ["Tiếng Ndogo"] = "ndz", ["Tiếng Ndonga"] = "ng", ["Tiếng Nefusa"] = "jbn", ["Tiếng Negerhollands"] = "dcr", ["Tiếng Negidal"] = "neg", ["Tiếng Nenets lãnh nguyên"] = "yrk-tun", ["Tiếng Nepal"] = "ne", ["Tiếng Newa"] = "new", ["Tiếng Nga"] = "ru", ["Tiếng Nga bồi Taimyr"] = "crp-tpr", ["Tiếng Ngadha"] = "nxg", ["Tiếng Ngalum"] = "szb", ["Tiếng Ngam"] = "nmc", ["Tiếng Ngambay"] = "sba", ["Tiếng Nganasan"] = "nio", ["Tiếng Ngas"] = "anc", ["Tiếng Ngiemboon"] = "nnh", ["Tiếng Ngiyambaa"] = "wyb", ["Tiếng Ngomba"] = "jgo", ["Tiếng Ngombe (Congo)"] = "ngc", ["Tiếng Nguni nguyên thủy"] = "bnt-ngu-pro", ["Tiếng Nguồn"] = "nuo", ["Tiếng Ngô"] = "wuu", ["Tiếng Ngũ Đồn"] = "wuh", ["Tiếng Nha Lang"] = "yrn", ["Tiếng Nheengatu"] = "yrl", ["Tiếng Nhu Nhiên"] = "qfa-xgx-rou", ["Tiếng Nhĩ Tô"] = "ers", ["Tiếng Nhật"] = "ja", ["Tiếng Nhật Bản nguyên thủy"] = "jpx-pro", ["Tiếng Nhật cổ"] = "ojp", ["Tiếng Nias"] = "nia", ["Tiếng Nicobar Car"] = "caq", ["Tiếng Nicobar Nam"] = "nik", ["Tiếng Nicobar Trung"] = "ncb", ["Tiếng Nicobar nguyên thủy"] = "aav-nic-pro", ["Tiếng Niger-Congo nguyên thủy"] = "nic-pro", ["Tiếng Nin-Sahara nguyên thủy"] = "ssa-pro", ["Tiếng Nisga'a"] = "ncg", ["Tiếng Niue"] = "niu", ["Tiếng Nivaclé"] = "cag", ["Tiếng Nivkh"] = "niv", ["Tiếng Nkari"] = "nkz", ["Tiếng Nkonya"] = "nko", ["Tiếng Nobiin"] = "fia", ["Tiếng Nobonob"] = "gaw", ["Tiếng Nogai"] = "nog", ["Tiếng Noon"] = "snf", ["Tiếng Noreia"] = "nrc", ["Tiếng Norman"] = "nrf", ["Tiếng Novgorod cổ"] = "zle-ono", ["Tiếng Novial"] = "nov", ["Tiếng Ntcham"] = "bud", ["Tiếng Nubaca"] = "baf", ["Tiếng Nubi"] = "kcn", ["Tiếng Nubia cổ"] = "onw", ["Tiếng Nuer"] = "nus", ["Tiếng Numidia"] = "nxm", ["Tiếng Nupe"] = "nup", ["Tiếng Nuristan nguyên thủy"] = "iir-nur-pro", ["Tiếng Nuu-chah-nulth"] = "nuk", ["Tiếng Nyah Kur"] = "cbn", ["Tiếng Nyaw"] = "nyw", ["Tiếng Nyeu"] = "nyl", ["Tiếng Nyishi"] = "njz", ["Tiếng Nyoro"] = "nyo", ["Tiếng Nyunga"] = "nys", ["Tiếng Nzadi"] = "nzd", ["Tiếng Nùng"] = "nut", ["Tiếng Nùng Vẻn"] = "enc", ["Tiếng Nǀuu"] = "ngh", ["Tiếng Nạp Tây"] = "nxq", ["Tiếng Nữ Chân"] = "juc", ["Tiếng O'odham"] = "ood", ["Tiếng Ocaina"] = "oca", ["Tiếng Occitan"] = "oc", ["Tiếng Occitan cổ"] = "pro", ["Tiếng Ogbronuagum"] = "ogu", ["Tiếng Oghuz cổ sơ kỳ"] = "trk-eog", ["Tiếng Oirat"] = "xwo", ["Tiếng Ojibwe"] = "oj", ["Tiếng Ojibwe Severn"] = "ojs", ["Tiếng Ojibwe Tây"] = "ojw", ["Tiếng Ojibwe Tây Bắc"] = "ojb", ["Tiếng Ojibwe Đông"] = "ojg", ["Tiếng Okanagan"] = "oka", ["Tiếng Okinawa"] = "ryu", ["Tiếng Okinoerabu"] = "okn", ["Tiếng Olukumi"] = "ulb", ["Tiếng Omaha-Ponca"] = "oma", ["Tiếng Omo nguyên thủy"] = "omv-pro", ["Tiếng Omok"] = "omk", ["Tiếng Oneida"] = "one", ["Tiếng Ongota"] = "bxe", ["Tiếng Oriya"] = "or", ["Tiếng Oriya Adiwasi"] = "ort", ["Tiếng Oriya cổ"] = "inc-oor", ["Tiếng Oriya trung đại"] = "inc-mor", ["Tiếng Orma"] = "orc", ["Tiếng Ormu"] = "orz", ["Tiếng Ormur"] = "oru", ["Tiếng Oroch"] = "oac", ["Tiếng Orok"] = "oaa", ["Tiếng Oromo"] = "om", ["Tiếng Oromo Nam"] = "gax", ["Tiếng Oromo Đông"] = "hae", ["Tiếng Oroqen"] = "orh", ["Tiếng Osage"] = "osa", ["Tiếng Osatu"] = "ost", ["Tiếng Osci"] = "osc", ["Tiếng Osing"] = "osi", ["Tiếng Ossetia"] = "os", ["Tiếng Ossetia cổ"] = "oos", ["Tiếng Otomi Mezquital"] = "ote", ["Tiếng Otoro"] = "otr", ["Tiếng Otuke"] = "otu", ["Tiếng Oyda"] = "oyd", ["Tiếng Pa Kô"] = "pac", ["Tiếng Pa'O"] = "blk", ["Tiếng Paeligni"] = "pgn", ["Tiếng Pagu"] = "pgu", ["Tiếng Pahari Mahasu"] = "bfz", ["Tiếng Paharia Kumarbhag"] = "kmj", ["Tiếng Paharia Sauria"] = "mjt", ["Tiếng Paite"] = "pck", ["Tiếng Paiwan"] = "pwn", ["Tiếng Pakan nguyên thủy"] = "mkh-pkn-pro", ["Tiếng Paku"] = "pku", ["Tiếng Pala"] = "plq", ["Tiếng Palau"] = "pau", ["Tiếng Palaung Ruching"] = "pce", ["Tiếng Palaung Rumai"] = "rbb", ["Tiếng Palaung Shwe"] = "pll", ["Tiếng Palaung nguyên thủy"] = "mkh-pal-pro", ["Tiếng Palawano Brooke's Point"] = "plw", ["Tiếng Palenquero"] = "pln", ["Tiếng Pali"] = "pi", ["Tiếng Paliyan"] = "pcf", ["Tiếng Palor"] = "fap", ["Tiếng Pama-Nyungar nguyên thủy"] = "aus-pam-pro", ["Tiếng Pancana"] = "pnp", ["Tiếng Panchpargania"] = "tdb", ["Tiếng Pangasinan"] = "pag", ["Tiếng Pangwala"] = "pgg", ["Tiếng Paniya"] = "pcg", ["Tiếng Papiamento"] = "pap", ["Tiếng Papuma"] = "ppm", ["Tiếng Parachi"] = "prc", ["Tiếng Paraujano"] = "pbg", ["Tiếng Parauk"] = "prk", ["Tiếng Pareci"] = "pab", ["Tiếng Parenga"] = "pcj", ["Tiếng Parthia"] = "xpr", ["Tiếng Parya"] = "paq", ["Tiếng Pashtun"] = "ps", ["Tiếng Pathan nguyên thủy"] = "ira-pat-pro", ["Tiếng Pauna"] = "pnk", ["Tiếng Pawnee"] = "paw", ["Tiếng Pazeh"] = "pzh", ["Tiếng Pear"] = "pcb", ["Tiếng Pear nguyên thủy"] = "mkh-pea-pro", ["Tiếng Pecheneg"] = "xpc", ["Tiếng Pela"] = "bxd", ["Tiếng Pemon"] = "aoc", ["Tiếng Pengo"] = "peg", ["Tiếng Perm nguyên thủy"] = "urj-prm-pro", ["Tiếng Petjo"] = "pey", ["Tiếng Phai"] = "prt", ["Tiếng Phake"] = "phk", ["Tiếng Phalura"] = "phl", ["Tiếng Phi-Á nguyên thủy"] = "afa-pro", ["Tiếng Philippines nguyên thủy"] = "phi-pro", ["Tiếng Phoenicia"] = "phn", ["Tiếng Phong-Kniang"] = "pnx", ["Tiếng Phrygia"] = "xpg", ["Tiếng Phu Thái"] = "pht", ["Tiếng Phuan"] = "phu", ["Tiếng Pháp"] = "fr", ["Tiếng Pháp cổ"] = "fro", ["Tiếng Pháp trung đại"] = "frm", ["Tiếng Phạn"] = "sa", ["Tiếng Phần Lan"] = "fi", ["Tiếng Phổ Hiền"] = "cpx", ["Tiếng Phổ cổ"] = "prg", ["Tiếng Picard"] = "pcd", ["Tiếng Piceni Bắc"] = "nrp", ["Tiếng Piceni Nam"] = "spx", ["Tiếng Piemonte"] = "pms", ["Tiếng Pilagá"] = "plg", ["Tiếng Pinyin"] = "pny", ["Tiếng Pipil"] = "ppl", ["Tiếng Pitjantjatjara"] = "pjt", ["Tiếng Plateau nguyên thủy"] = "nic-plt-pro", ["Tiếng Pnar"] = "pbv", ["Tiếng Pnar-Khasi-Lyngngam nguyên thủy"] = "aav-pkl-pro", ["Tiếng Pohnpei"] = "pon", ["Tiếng Polabia"] = "pox", ["Tiếng Polci"] = "plj", ["Tiếng Ponosakan"] = "pns", ["Tiếng Popoluca cao nguyên"] = "poi", ["Tiếng Potawatomi"] = "pot", ["Tiếng Pothohar"] = "phr", ["Tiếng Prakrit"] = "pra", ["Tiếng Prakrit Ashoka"] = "inc-ash", ["Tiếng Prakrit Niya"] = "pra-niy", ["Tiếng Prakrit Paisaci"] = "inc-psc", ["Tiếng Prakrit Saurasen"] = "psu", ["Tiếng Prasun"] = "prn", ["Tiếng Pucikwar"] = "apq", ["Tiếng Puinave"] = "pui", ["Tiếng Pumpokol"] = "xpm", ["Tiếng Punic"] = "xpu", ["Tiếng Punjab"] = "pa", ["Tiếng Puroik"] = "suv", ["Tiếng Puyuma"] = "pyu", ["Tiếng Pwo Bắc"] = "pww", ["Tiếng Pwo Phrae"] = "kjt", ["Tiếng Pwo Tây"] = "pwo", ["Tiếng Pwo Đông"] = "kjp", ["Tiếng Pà Thẻn"] = "pha", ["Tiếng Pọng"] = "hnu", ["Tiếng Qashqai"] = "qxq", ["Tiếng Qimant"] = "ahg", ["Tiếng Quan Thoại"] = "cmn", ["Tiếng Quapaw"] = "qua", ["Tiếng Quechua"] = "qu", ["Tiếng Quenya"] = "qya", ["Tiếng Quichuañol"] = "mue", ["Tiếng Quinault"] = "qun", ["Tiếng Quiripi"] = "qyp", ["Tiếng Quảng Lâm"] = "aav-qal", ["Tiếng Quảng Đông"] = "yue", ["Tiếng Quốc tế ngữ"] = "eo", ["Tiếng Ra Glai Bắc"] = "rog", ["Tiếng Ra Glai Cát Gia"] = "roc", ["Tiếng Ra Glai Nam"] = "rgs", ["Tiếng Rabha"] = "rah", ["Tiếng Raetia"] = "xrr", ["Tiếng Rajasthan"] = "raj", ["Tiếng Rajbanshi"] = "rjs", ["Tiếng Rakhine"] = "rki", ["Tiếng Rama"] = "rma", ["Tiếng Rangpur"] = "rkt", ["Tiếng Rapa Nui"] = "rap", ["Tiếng Rarotonga"] = "rar", ["Tiếng Rasawa"] = "rac", ["Tiếng Ratagnon"] = "btn", ["Tiếng Raute"] = "rau", ["Tiếng Ravula"] = "yea", ["Tiếng Rawang"] = "raw", ["Tiếng Rejang"] = "rej", ["Tiếng Reli"] = "rei", ["Tiếng Rendille"] = "rel", ["Tiếng Riang Lai"] = "yin", ["Tiếng Rohingya"] = "rhg", ["Tiếng Romagnol"] = "rgn", ["Tiếng Romansh"] = "rm", ["Tiếng Rotuma"] = "rtm", ["Tiếng Rukai"] = "dru", ["Tiếng Rukai nguyên thủy"] = "dru-pro", ["Tiếng Rumani"] = "ro", ["Tiếng Rungus"] = "drg", ["Tiếng Rusnak"] = "rsk", ["Tiếng Rusyn"] = "rue", ["Tiếng Ruthenia cổ"] = "zle-ort", ["Tiếng Rutul"] = "rut", ["Tiếng Rơ Măm"] = "rmx", ["Tiếng Rơ Ngao"] = "ren", ["Tiếng Saanich"] = "str", ["Tiếng Saaroa"] = "sxr", ["Tiếng Saba"] = "saa", ["Tiếng Sabüm"] = "sbo", ["Tiếng Sadri"] = "sck", ["Tiếng Saek"] = "skb", ["Tiếng Saho"] = "ssy", ["Tiếng Saisiyat"] = "xsy", ["Tiếng Saka-Wakhi nguyên thủy"] = "xsc-skw-pro", ["Tiếng Sakizaya"] = "szy", ["Tiếng Salar"] = "slr", ["Tiếng Salish nguyên thủy"] = "sal-pro", ["Tiếng Sama Trung"] = "sml", ["Tiếng Sambal Botolan"] = "sbl", ["Tiếng Sambali"] = "xsb", ["Tiếng Sambalpur"] = "spv", ["Tiếng Sami Akkala"] = "sia", ["Tiếng Sami Inari"] = "smn", ["Tiếng Sami Kildin"] = "sjd", ["Tiếng Sami Skolt"] = "sms", ["Tiếng Sami Ter"] = "sjt", ["Tiếng Sami Ume"] = "sju", ["Tiếng Sami nguyên thủy"] = "smi-pro", ["Tiếng Samo"] = "smq", ["Tiếng Samo Nam"] = "sbd", ["Tiếng Samoa"] = "sm", ["Tiếng Samogitia"] = "sgs", ["Tiếng Samoyed nguyên thủy"] = "syd-pro", ["Tiếng Samtao"] = "stu", ["Tiếng Sangir"] = "sxn", ["Tiếng Sangisar"] = "sgr", ["Tiếng Sango"] = "sg", ["Tiếng Santal"] = "sat", ["Tiếng Saposa"] = "sps", ["Tiếng Saraiki"] = "skr", ["Tiếng Saramacca"] = "srm", ["Tiếng Sardegna"] = "sc", ["Tiếng Sarikol"] = "srh", ["Tiếng Sarmatia nguyên thủy"] = "xsc-sar-pro", ["Tiếng Sasak"] = "sas", ["Tiếng Saurashtra"] = "saz", ["Tiếng Savi"] = "sdg", ["Tiếng Saxon Transylvania"] = "gmw-tsx", ["Tiếng Saxon cổ"] = "osx", ["Tiếng Scots"] = "sco", ["Tiếng Scots trung đại"] = "gmw-msc", ["Tiếng Scythia nguyên thủy"] = "xsc-pro", ["Tiếng Sebat Bet Gurage"] = "sgw", ["Tiếng Sechelt"] = "sec", ["Tiếng Selkup"] = "sel", ["Tiếng Selkup nguyên thủy"] = "sel-pro", ["Tiếng Semai"] = "sea", ["Tiếng Semaq Beri"] = "szc", ["Tiếng Semelai"] = "sza", ["Tiếng Semit Tây nguyên thủy"] = "sem-wes-pro", ["Tiếng Semit nguyên thủy"] = "sem-pro", ["Tiếng Semnam"] = "ssm", ["Tiếng Sena"] = "seh", ["Tiếng Seneca"] = "see", ["Tiếng Senhaja de Srair"] = "sjs", ["Tiếng Senni Humburi"] = "hmb", ["Tiếng Senni Koyraboro"] = "ses", ["Tiếng Senoufo Nyarafolo"] = "sev", ["Tiếng Serbia-Croatia"] = "sh", ["Tiếng Serer"] = "srr", ["Tiếng Seri"] = "sei", ["Tiếng Seze"] = "sze", ["Tiếng Shabak"] = "sdb", ["Tiếng Shabo"] = "sbf", ["Tiếng Shan"] = "shn", ["Tiếng Shebayo"] = "awd-she", ["Tiếng Shekkacho"] = "moy", ["Tiếng Sherpa"] = "xsr", ["Tiếng Shina"] = "scl", ["Tiếng Shina Kohistan"] = "plk", ["Tiếng Shinasha"] = "bwo", ["Tiếng Sholaga"] = "sle", ["Tiếng Shompen"] = "sii", ["Tiếng Shona"] = "sn", ["Tiếng Shor"] = "cjs", ["Tiếng Shughnan"] = "sgh", ["Tiếng Shughnan-Rushan nguyên thủy"] = "ira-shr-pro", ["Tiếng Shughnan-Yazghulom nguyên thủy"] = "ira-shy-pro", ["Tiếng Shughnan-Yazghulom-Munji nguyên thủy"] = "ira-sym-pro", ["Tiếng Shuswap"] = "shs", ["Tiếng Sicel"] = "scx", ["Tiếng Sicily"] = "scn", ["Tiếng Sidamo"] = "sid", ["Tiếng Sikkim"] = "sip", ["Tiếng Silesia"] = "szl", ["Tiếng Siltʼe"] = "stv", ["Tiếng Sinaugoro"] = "snc", ["Tiếng Sindh"] = "sd", ["Tiếng Sinhala"] = "si", ["Tiếng Sioux nguyên thủy"] = "sio-pro", ["Tiếng Siraya"] = "fos", ["Tiếng Sirenik"] = "ysr", ["Tiếng Sirmaur"] = "srx", ["Tiếng Sissala"] = "sld", ["Tiếng Sissano"] = "sso", ["Tiếng Siwi"] = "siz", ["Tiếng Siwu"] = "akp", ["Tiếng Skepi"] = "skw", ["Tiếng Slav Giáo hội"] = "zls-chs", ["Tiếng Slav Giáo hội cổ"] = "cu", ["Tiếng Slav nguyên thủy"] = "sla-pro", ["Tiếng Slav Đông cổ"] = "orv", ["Tiếng Slovak"] = "sk", ["Tiếng Slovak cổ"] = "zlw-osk", ["Tiếng Slovene"] = "sl", ["Tiếng Slovincia"] = "zlw-slv", ["Tiếng Socotra"] = "sqt", ["Tiếng Sogdia"] = "sog", ["Tiếng Sogdia nguyên thủy"] = "ira-sgc-pro", ["Tiếng Sokna"] = "swn", ["Tiếng Solon"] = "tuw-sol", ["Tiếng Solong"] = "aaw", ["Tiếng Somali"] = "so", ["Tiếng Somali nguyên thủy"] = "cus-som-pro", ["Tiếng Soninke"] = "snk", ["Tiếng Sonsorol"] = "sov", ["Tiếng Sora"] = "srb", ["Tiếng Soran"] = "ckb", ["Tiếng Sotho"] = "st", ["Tiếng Sotho Bắc"] = "nso", ["Tiếng Soyot"] = "trk-soy", ["Tiếng Squamish"] = "squ", ["Tiếng Sranan Tongo"] = "srn", ["Tiếng Stau"] = "ero-tau", ["Tiếng Sumer"] = "sux", ["Tiếng Sunda"] = "su", ["Tiếng Sunda cổ"] = "osn", ["Tiếng Suri"] = "suq", ["Tiếng Surjapur"] = "sjp", ["Tiếng Susu"] = "sus", ["Tiếng Svan"] = "sva", ["Tiếng Swahili"] = "sw", ["Tiếng Swazi"] = "ss", ["Tiếng Sylhet"] = "syl", ["Tiếng Syriac cổ điển"] = "syc", ["Tiếng Sán Chay"] = "mlc", ["Tiếng Séc"] = "cs", ["Tiếng Séc cổ"] = "zlw-ocs", ["Tiếng Sô"] = "sss", ["Tiếng Taabwa"] = "tap", ["Tiếng Tabasaran"] = "tab", ["Tiếng Tachawit"] = "shy", ["Tiếng Tadyawan"] = "tdy", ["Tiếng Tafi"] = "tcd", ["Tiếng Tagal Murut"] = "mvv", ["Tiếng Tagalog"] = "tl", ["Tiếng Tagbanwa Calamian"] = "tbk", ["Tiếng Tagdal"] = "tda", ["Tiếng Tagoi"] = "tag", ["Tiếng Tahiti"] = "ty", ["Tiếng Tahltan"] = "tht", ["Tiếng Tai Loi"] = "tlq", ["Tiếng Tai Tây Nam nguyên thủy"] = "tai-swe-pro", ["Tiếng Taivoan"] = "tvx", ["Tiếng Tajik"] = "tg", ["Tiếng Tal"] = "tal", ["Tiếng Tala"] = "tak", ["Tiếng Talossa"] = "tzl", ["Tiếng Talysh"] = "tly", ["Tiếng Tamang Gorkha Đông"] = "tge", ["Tiếng Tamang Tây"] = "tdg", ["Tiếng Tamang Đông"] = "taj", ["Tiếng Tamazight Maroc chuẩn"] = "zgh", ["Tiếng Tamazight Trung Atlas"] = "tzm", ["Tiếng Tamil"] = "ta", ["Tiếng Tamil cổ"] = "oty", ["Tiếng Tamki"] = "tax", ["Tiếng Tammari"] = "tbz", ["Tiếng Tampuan"] = "tpu", ["Tiếng Tanchangya"] = "tnv", ["Tiếng Tangkhul Naga"] = "nmf", ["Tiếng Tangoa"] = "tgp", ["Tiếng Tangut"] = "txg", ["Tiếng Tanimbili"] = "tbe", ["Tiếng Taos"] = "twf", ["Tiếng Tapirapé"] = "taf", ["Tiếng Tara Baka"] = "bdh", ["Tiếng Tarantino"] = "roa-tar", ["Tiếng Tariana"] = "tae", ["Tiếng Tarifit"] = "rif", ["Tiếng Tasawaq"] = "twq", ["Tiếng Tashelhit"] = "shi", ["Tiếng Tat"] = "ttt", ["Tiếng Tat-Do Thái"] = "jdt", ["Tiếng Tatar"] = "tt", ["Tiếng Tiên Ti"] = "mis-xbi", ["Tiếng Tatar Crưm"] = "crh", ["Tiếng Tatar Siberia"] = "sty", ["Tiếng Tatuyo"] = "tav", ["Tiếng Taungyo"] = "tco", ["Tiếng Tause"] = "tad", ["Tiếng Tausug"] = "tsg", ["Tiếng Tavoy"] = "tvn", ["Tiếng Tay Dọ"] = "tyj", ["Tiếng Tayma"] = "sem-tay", ["Tiếng Taz"] = "zhx-taz", ["Tiếng Taznatit"] = "grr", ["Tiếng Taíno"] = "tnq", ["Tiếng Tchad nguyên thủy"] = "cdc-pro", ["Tiếng Telugu"] = "te", ["Tiếng Telugu cổ"] = "dra-ote", ["Tiếng Tem"] = "kdh", ["Tiếng Temiar"] = "tea", ["Tiếng Temoq"] = "tmo", ["Tiếng Ten'edn"] = "tnz", ["Tiếng Tengger"] = "tes", ["Tiếng Tenharim"] = "pah", ["Tiếng Tepehua Tlachichilco"] = "tpt", ["Tiếng Tepehuan Bắc"] = "ntp", ["Tiếng Tepehuan Đông Nam"] = "stp", ["Tiếng Teressa"] = "tef", ["Tiếng Teribe"] = "tfr", ["Tiếng Ternate"] = "tft", ["Tiếng Tetserret"] = "tez", ["Tiếng Tetum"] = "tet", ["Tiếng Thachanad"] = "thn", ["Tiếng Thavưng"] = "thm", ["Tiếng Thompson"] = "thp", ["Tiếng Thracia"] = "txh", ["Tiếng Thác Bạt"] = "qfa-xgx-tuo", ["Tiếng Thái"] = "th", ["Tiếng Thái Hàng Tổng"] = "tpo", ["Tiếng Thái Lai"] = "tjl", ["Tiếng Thái Na"] = "tdd", ["Tiếng Thái Trắng"] = "twh", ["Tiếng Thái Tống"] = "soa", ["Tiếng Thái nguyên thủy"] = "tai-pro", ["Tiếng Thái Đen"] = "blt", ["Tiếng Thái Đỏ"] = "tyr", ["Tiếng Thát Mai"] = "smh", ["Tiếng Thượng Kinabatangan"] = "dmg", ["Tiếng Thượng Sorb"] = "hsb", ["Tiếng Thổ"] = "tou", ["Tiếng Thổ Dục Hồn"] = "qfa-xgx-tuh", ["Tiếng Thổ Gia Bắc"] = "tji", ["Tiếng Thổ Gia Nam"] = "tjs", ["Tiếng Thổ Nhĩ Kỳ"] = "tr", ["Tiếng Thổ Nhĩ Kỳ Anatolia cổ"] = "trk-oat", ["Tiếng Thổ Nhĩ Kỳ Gagauz Balkan"] = "bgx", ["Tiếng Thổ Nhĩ Kỳ Ottoman"] = "ota", ["Tiếng Thụy Điển"] = "sv", ["Tiếng Thụy Điển cổ"] = "gmq-osw", ["Tiếng Thủy"] = "swi", ["Tiếng Tiang"] = "tbj", ["Tiếng Tigre"] = "tig", ["Tiếng Tigrinya"] = "ti", ["Tiếng Tindi"] = "tin", ["Tiếng Tipai"] = "nai-tip", ["Tiếng Tippera"] = "tpe", ["Tiếng Tiruray"] = "tiy", ["Tiếng Tiwa"] = "lax", ["Tiếng Tiwi"] = "tiw", ["Tiếng Tiên Ti"] = "qfa-xgx-xbi", ["Tiếng Tlapanec Malinaltepec"] = "tcf", ["Tiếng Tlingit"] = "tli", ["Tiếng Tobi"] = "tox", ["Tiếng Tochari A"] = "xto", ["Tiếng Tochari B"] = "txb", ["Tiếng Tochari nguyên thủy"] = "ine-toc-pro", ["Tiếng Tocho"] = "taz", ["Tiếng Toda"] = "tcx", ["Tiếng Tofa"] = "kim", ["Tiếng Tok Pisin"] = "tpi", ["Tiếng Tokelau"] = "tkl", ["Tiếng Toki Pona"] = "tok", ["Tiếng Tokunoshima"] = "tkn", ["Tiếng Toma"] = "tod", ["Tiếng Tonga"] = "to", ["Tiếng Tonkawa"] = "tqw", ["Tiếng Tooro"] = "ttj", ["Tiếng Torwali"] = "trw", ["Tiếng Toto"] = "txo", ["Tiếng Totonac Papantla"] = "top", ["Tiếng Totonac cao nguyên"] = "tos", ["Tiếng Triqui Chicahuaxtla"] = "trs", ["Tiếng Triqui Copala"] = "trc", ["Tiếng Triqui San Martín Itunyoso"] = "trq", ["Tiếng Triqui nguyên thủy"] = "omq-tri-pro", ["Tiếng Trió"] = "tri", ["Tiếng Triều Châu"] = "nan-tws", ["Tiếng Triều Tiên"] = "ko", ["Tiếng Triều Tiên cổ"] = "oko", ["Tiếng Triều Tiên nguyên thủy"] = "qfa-kor-pro", ["Tiếng Triều Tiên trung đại"] = "okm", ["Tiếng Truku"] = "trv", ["Tiếng Trung Bikol"] = "bcl", ["Tiếng Trung Dusun"] = "dtp", ["Tiếng Trung Mansi"] = "mns-cen", ["Tiếng Trung Nahuatl"] = "nhn", ["Tiếng Trung Nahuatl Huasteca"] = "nch", ["Tiếng Trung Nahuatl Puebla"] = "ncx", ["Tiếng Trung Quốc"] = "zh", ["Tiếng Trà Động"] = "cdy", ["Tiếng Trác Ni"] = "cda", ["Tiếng Tráng"] = "za", ["Tiếng Tráng Nông"] = "zhn", ["Tiếng Tráng Tả Giang"] = "zzj", ["Tiếng Tráng Đức Tĩnh"] = "zyg", ["Tiếng Trát Bá"] = "zhb", ["Tiếng Tsakhur"] = "tkr", ["Tiếng Tsakonia"] = "tsd", ["Tiếng Tsamai"] = "tsb", ["Tiếng Tsat"] = "huq", ["Tiếng Tsez"] = "ddo", ["Tiếng Tshangla"] = "tsj", ["Tiếng Tsimshian"] = "tsi", ["Tiếng Tsonga"] = "ts", ["Tiếng Tsou"] = "tsu", ["Tiếng Tsuut'ina"] = "srs", ["Tiếng Tswana"] = "tn", ["Tiếng Tuamotu"] = "pmt", ["Tiếng Tuareg"] = "tmh", ["Tiếng Tukang Besi Bắc"] = "khc", ["Tiếng Tukang Besi Nam"] = "bhq", ["Tiếng Tuki"] = "bag", ["Tiếng Tulu"] = "tcy", ["Tiếng Tumbuka"] = "tum", ["Tiếng Tungus nguyên thủy"] = "tuw-pro", ["Tiếng Tunica"] = "tun", ["Tiếng Tunni"] = "tqq", ["Tiếng Tupi"] = "tpn", ["Tiếng Tupi cổ"] = "tpw", ["Tiếng Tupi nguyên thủy"] = "tup-pro", ["Tiếng Tupi-Guarani nguyên thủy"] = "tup-gua-pro", ["Tiếng Turk Khorasan"] = "kmz", ["Tiếng Turk Khorezm"] = "zkh", ["Tiếng Turk cổ"] = "otk", ["Tiếng Turk nguyên thủy"] = "trk-pro", ["Tiếng Turkmen"] = "tk", ["Tiếng Turoyo"] = "tru", ["Tiếng Tuva"] = "tyv", ["Tiếng Tuvalu"] = "tvl", ["Tiếng Tuwuli"] = "bov", ["Tiếng Tyap"] = "kcg", ["Tiếng Tzotzil"] = "tzo", ["Tiếng Tà Mun"] = "aav-tam", ["Tiếng Tà Ôi Thượng"] = "tth", ["Tiếng Tày"] = "tyz", ["Tiếng Tày Sa Pa"] = "tys", ["Tiếng Tân Aram Assyria"] = "aii", ["Tiếng Tân Aram Bohtan"] = "bhn", ["Tiếng Tân Aram Chaldea"] = "cld", ["Tiếng Tân Aram Do Thái Barzani"] = "bjf", ["Tiếng Tân Aram Tây"] = "amw", ["Tiếng Tây Abenaki"] = "abe", ["Tiếng Tây Ban Nha"] = "es", ["Tiếng Tây Ban Nha cổ"] = "osp", ["Tiếng Tây Bắc Gbaya"] = "gya", ["Tiếng Tây Bắc Kavkaz nguyên thủy"] = "cau-nwc-pro", ["Tiếng Tây Bồi"] = "tas", ["Tiếng Tây Duyên hải Bajau"] = "bdr", ["Tiếng Tây Frisia"] = "fy", ["Tiếng Tây Huasteca Nahuatl"] = "nhw", ["Tiếng Tây Kayah"] = "kyu", ["Tiếng Tây Makian"] = "mqs", ["Tiếng Tây Tạng"] = "bo", ["Tiếng Tây Tạng Kham"] = "khg", ["Tiếng Tây Tạng cổ điển"] = "xct", ["Tiếng Tây Yugur"] = "ybe", ["Tiếng Tích Bá"] = "sjo", ["Tiếng Tơ Đrá"] = "tdr", ["Tiếng Tương"] = "hsn", ["Tiếng Tấn"] = "cjy", ["Tiếng Tứ Thổ"] = "sit-sit", ["Tiếng Tứ Xuyên"] = "zhx-sic", ["Tiếng U"] = "uuu", ["Tiếng Ubangi nguyên thủy"] = "nic-ubg-pro", ["Tiếng Ubykh"] = "uby", ["Tiếng Udi"] = "udi", ["Tiếng Udihe"] = "ude", ["Tiếng Udmurt"] = "udm", ["Tiếng Uduk"] = "udu", ["Tiếng Ugarit"] = "uga", ["Tiếng Ugong"] = "ugo", ["Tiếng Ugria nguyên thủy"] = "urj-ugr-pro", ["Tiếng Ukraina"] = "uk", ["Tiếng Ulch"] = "ulc", ["Tiếng Ullatan"] = "ull", ["Tiếng Umbria"] = "xum", ["Tiếng Umbundu"] = "umb", ["Tiếng Unami"] = "unm", ["Tiếng Uneapa"] = "bbn", ["Tiếng Urak Lawoi'"] = "urk", ["Tiếng Ural nguyên thủy"] = "urj-pro", ["Tiếng Urali"] = "url", ["Tiếng Urartu"] = "xur", ["Tiếng Urdu"] = "ur", ["Tiếng Uripiv-Wala-Rano-Atchin"] = "upv", ["Tiếng Urubú-Kaapor"] = "urb", ["Tiếng Urum"] = "uum", ["Tiếng Ushojo"] = "ush", ["Tiếng Usui"] = "usi", ["Tiếng Ute-Aztec nguyên thủy"] = "azc-pro", ["Tiếng Uvbie"] = "evh", ["Tiếng Uzbek"] = "uz", ["Tiếng Vaagri Booli"] = "vaa", ["Tiếng Vaghri"] = "vgr", ["Tiếng Varli"] = "vav", ["Tiếng Vasavi"] = "vas", ["Tiếng Venda"] = "ve", ["Tiếng Veneti"] = "xve", ["Tiếng Veneto"] = "vec", ["Tiếng Veps"] = "vep", ["Tiếng Vishava"] = "vis", ["Tiếng Việt"] = "vi", ["Tiếng Việt trung cổ"] = "mkh-mvi", ["Tiếng Việt-Mường nguyên thủy"] = "mkh-vie-pro", ["Tiếng Volapük"] = "vo", ["Tiếng Volsci"] = "xvo", ["Tiếng Volta-Congo nguyên thủy"] = "nic-vco-pro", ["Tiếng Volta-Niger nguyên thủy"] = "alv-von-pro", ["Tiếng Vot"] = "vot", ["Tiếng Vurës"] = "msn", ["Tiếng Võro"] = "vro", ["Tiếng Văn ngôn"] = "lzh", ["Tiếng Waama"] = "wwa", ["Tiếng Waata"] = "ssn", ["Tiếng Wagi"] = "fad", ["Tiếng Wahgi"] = "wgi", ["Tiếng Waimaha"] = "bao", ["Tiếng Waiwai"] = "waw", ["Tiếng Wakhi"] = "wbl", ["Tiếng Wales"] = "cy", ["Tiếng Wales trung đại"] = "wlm", ["Tiếng Wallis"] = "wls", ["Tiếng Wallon"] = "wa", ["Tiếng Wambule"] = "wme", ["Tiếng Wancho"] = "nnp", ["Tiếng Waneci"] = "wne", ["Tiếng War-Jaintia"] = "aml", ["Tiếng Waray"] = "war", ["Tiếng Wardaman"] = "wrr", ["Tiếng Warekena"] = "gae", ["Tiếng Warji"] = "wji", ["Tiếng Wastek"] = "hus", ["Tiếng Wawonii"] = "wow", ["Tiếng Wayampi"] = "oym", ["Tiếng Wayana"] = "way", ["Tiếng Wayuu"] = "guc", ["Tiếng Wemba-Wemba"] = "xww", ["Tiếng Wewaw"] = "wea", ["Tiếng Wiradjuri"] = "wrh", ["Tiếng Wiyot"] = "wiy", ["Tiếng Wobé"] = "wob", ["Tiếng Woiwurrung"] = "wyi", ["Tiếng Wolane"] = "wle", ["Tiếng Wolaytta"] = "wal", ["Tiếng Wolio"] = "wlo", ["Tiếng Wolof"] = "wo", ["Tiếng Wotu"] = "wtw", ["Tiếng Wymysorys"] = "wym", ["Tiếng Xamtanga"] = "xan", ["Tiếng Xavante"] = "xav", ["Tiếng Xhosa"] = "xh", ["Tiếng Xinh Mun"] = "puo", ["Tiếng Xtiêng"] = "sti", ["Tiếng Xtiêng Bù Đeh"] = "stt", ["Tiếng Xârâcùù"] = "ane", ["Tiếng Xơ Đăng"] = "sed", ["Tiếng Yaaku"] = "muu", ["Tiếng Yaeyama"] = "rys", ["Tiếng Yaghnob"] = "yai", ["Tiếng Yakan"] = "yka", ["Tiếng Yakima"] = "yak", ["Tiếng Yakkha"] = "ybh", ["Tiếng Yakut"] = "sah", ["Tiếng Yali Angguruk"] = "yli", ["Tiếng Yami"] = "tao", ["Tiếng Yamphu"] = "ybi", ["Tiếng Yanesha'"] = "ame", ["Tiếng Yanyuwa"] = "jao", ["Tiếng Yao (Nam Mĩ)"] = "sai-yao", ["Tiếng Yao (châu Phi)"] = "yao", ["Tiếng Yap"] = "yap", ["Tiếng Yapunda"] = "yev", ["Tiếng Yazghulom"] = "yah", ["Tiếng Ye'kwana"] = "mch", ["Tiếng Yele"] = "yle", ["Tiếng Yemsa"] = "jnj", ["Tiếng Yevan"] = "yej", ["Tiếng Yiddish"] = "yi", ["Tiếng Yidgha"] = "ydg", ["Tiếng Yidiny"] = "yii", ["Tiếng Yindjibarndi"] = "yij", ["Tiếng Yiwom"] = "gek", ["Tiếng Yogad"] = "yog", ["Tiếng Yola"] = "yol", ["Tiếng Yolmo"] = "scp", ["Tiếng Yom"] = "pil", ["Tiếng Yonaguni"] = "yoi", ["Tiếng Yong"] = "yno", ["Tiếng Yongkom"] = "yon", ["Tiếng Yoron"] = "yox", ["Tiếng Yoruba"] = "yo", ["Tiếng Yoruba nguyên thủy"] = "alv-yor-pro", ["Tiếng Yorubo nguyên thủy"] = "alv-yrd-pro", ["Tiếng Yoy"] = "yoy", ["Tiếng Yugh"] = "yug", ["Tiếng Yukaghir nguyên thủy"] = "qfa-yuk-pro", ["Tiếng Yup'ik"] = "esu", ["Tiếng Yupik Trung Siberia"] = "ess", ["Tiếng Yuri"] = "sai-yri", ["Tiếng Yurok"] = "yur", ["Tiếng Yámana"] = "yag", ["Tiếng Zacatepec Chatino"] = "ctz", ["Tiếng Zaghawa"] = "zag", ["Tiếng Zaiwa"] = "atb", ["Tiếng Zangskar"] = "zau", ["Tiếng Zapotec"] = "zap", ["Tiếng Zapotec Cajonos"] = "zad", ["Tiếng Zapotec Isthmus"] = "zai", ["Tiếng Zapotec Mitla"] = "zaw", ["Tiếng Zapotec Rincón"] = "zar", ["Tiếng Zapotec Rincón Nam"] = "zsr", ["Tiếng Zapotec San Juan Guelavía"] = "zab", ["Tiếng Zapotec Yatee"] = "zty", ["Tiếng Zapotec Yatzachi"] = "zav", ["Tiếng Zapotec Zaniza"] = "zpw", ["Tiếng Zapotec Zoogocho"] = "zpq", ["Tiếng Zapotec nguyên thủy"] = "omq-zpc-pro", ["Tiếng Zarma"] = "dje", ["Tiếng Zarphat"] = "zrp", ["Tiếng Zay"] = "zwa", ["Tiếng Zayse-Zergulla"] = "zay", ["Tiếng Zaza"] = "zza", ["Tiếng Zaza-Goran nguyên thủy"] = "ira-zgr-pro", ["Tiếng Zeeland"] = "zea", ["Tiếng Zenaga"] = "zen", ["Tiếng Zirenkel"] = "zrn", ["Tiếng Zoque Francisco León"] = "zos", ["Tiếng Zou"] = "zom", ["Tiếng Zulu"] = "zu", ["Tiếng Zumbun"] = "jmb", ["Tiếng Äynu"] = "aib", ["Tiếng Ê Đê"] = "rad", ["Tiếng Ông Bối nguyên thủy"] = "qfa-onb-pro", ["Tiếng Önge"] = "oon", ["Tiếng Önge nguyên thủy"] = "qfa-ong-pro", ["Tiếng Övdal"] = "ovd", ["Tiếng Ý"] = "it", ["Tiếng Ý-Do Thái"] = "itk", ["Tiếng Đa Đảo hạt nhân nguyên thủy"] = "poz-pnp-pro", ["Tiếng Đa Đảo nguyên thủy"] = "poz-pol-pro", ["Tiếng Đa Đảo Đông nguyên thủy"] = "poz-pep-pro", ["Tiếng Đan Mạch"] = "da", ["Tiếng Đan Mạch cổ"] = "gmq-oda", ["Tiếng Đài Sơn"] = "zhx-tai", ["Tiếng Đông Abenaki"] = "aaq", ["Tiếng Đông Acipa"] = "acp", ["Tiếng Đông Bontoc"] = "ebk", ["Tiếng Đông Bắc Kavkaz nguyên thủy"] = "cau-nec-pro", ["Tiếng Đông Can"] = "dng", ["Tiếng Đông Futuna"] = "fud", ["Tiếng Đông Hương"] = "sce", ["Tiếng Đông Kayah"] = "eky", ["Tiếng Đông Khanty"] = "kca-eas", ["Tiếng Đông Yugur"] = "yuy", ["Tiếng Đường Uông"] = "zhx-twa", ["Tiếng Đại Tây Dương–Congo nguyên thủy"] = "alv-pro", ["Tiếng Độc Long"] = "duu", ["Tiếng Động-Thủy nguyên thủy"] = "qfa-kms-pro", ["Tiếng Đức"] = "de", ["Tiếng Đức Alemanni"] = "gsw", ["Tiếng Đức Pennsylvania"] = "pdc", ["Tiếng Đức cao địa cổ"] = "goh", ["Tiếng Đức cao địa trung đại"] = "gmh", ["Tiếng Đức Đông Trung"] = "gmw-ecg", ["Tiếng Ơ Đu"] = "tyh", ["Tiếng Ưu Miền"] = "ium", ["Tiếng ǃXóõ"] = "nmn", ["Tiếng Ả Rập"] = "ar", ["Tiếng Ả Rập Ai Cập"] = "arz", ["Tiếng Ả Rập Algérie"] = "arq", ["Tiếng Ả Rập Andalusia"] = "xaa", ["Tiếng Ả Rập Bắc Levant"] = "apc", ["Tiếng Ả Rập Bắc Lưỡng Hà"] = "ayp", ["Tiếng Ả Rập Hijazi"] = "acw", ["Tiếng Ả Rập Iraq"] = "acm", ["Tiếng Ả Rập Juba"] = "pga", ["Tiếng Ả Rập Libya"] = "ayl", ["Tiếng Ả Rập Maroc"] = "ary", ["Tiếng Ả Rập Nam Levant"] = "ajp", ["Tiếng Ả Rập Oman"] = "acx", ["Tiếng Ả Rập Sudan"] = "apd", ["Tiếng Ả Rập Síp"] = "acy", ["Tiếng Ả Rập Tajikistan"] = "abh", ["Tiếng Ả Rập Tchad"] = "shu", ["Tiếng Ả Rập Tunisia"] = "aeb", ["Tiếng Ả Rập Uzbekistan"] = "auz", ["Tiếng Ả Rập vùng Vịnh"] = "afb", ["Tiếng Ấn-Arya nguyên thủy"] = "inc-pro", ["Tiếng Ấn-Iran nguyên thủy"] = "iir-pro", ["Tiếng Ấn-Âu nguyên thủy"] = "ine-pro", ["Tiếng Ỹaroamë"] = "yro", ["Àhàn"] = "ahn", ["Áncá"] = "acb", ["Ömie"] = "aom", ["Đa ngữ"] = "mul", ["ǀXam"] = "xam", ["ǁAni"] = "hnh", ["ǁGana"] = "gnk", ["ǁXegwi"] = "xeg", ["ǂHoan"] = "huc", ["ǃKung"] = "khi-kun", } gd4otnpcmr9k92nswb3kw2f1kc4xmid 2573223 2573197 2026-10-24T14:00:15Z Hiyuune 50834 2573223 Scribunto text/plain return { ["Aba"] = "utp", ["Abai Sungai"] = "abf", ["Abenlen Ayta"] = "abp", ["Abipon"] = "axb", ["Abishira"] = "ash", ["Abom"] = "aob", ["Abu"] = "ado", ["Abu' Arapesh"] = "aah", ["Abua"] = "abn", ["Abun"] = "kgr", ["Abung"] = "abl", ["Abureni"] = "mgj", ["Abé"] = "aba", ["Ache"] = "yif", ["Aché"] = "guq", ["Acroá"] = "acs", ["Adabe"] = "adb", ["Adai"] = "xad", ["Adamorobe Sign Language"] = "ads", ["Adang"] = "adn", ["Adangbe"] = "adq", ["Adap"] = "adp", ["Adasen"] = "tiu", ["Adele"] = "ade", ["Adhola"] = "adh", ["Tiếng Adjukru"] = "adj", ["Adithinngithigh"] = "dth", ["Adonara"] = "adr", ["Aduge"] = "adu", ["Aeka"] = "aez", ["Aekyom"] = "awi", ["Aequian"] = "xae", ["Afghan Sign Language"] = "afg", ["Afitti"] = "aft", ["Afra"] = "ulf", ["Afrihili"] = "afh", ["Afro-Seminole Creole"] = "afs", ["Agarabi"] = "agd", ["Agariya"] = "agi", ["Agavotaguerra"] = "avo", ["Aghu"] = "ahh", ["Aghu Tharrnggala"] = "gtu", ["Agi"] = "aif", ["Agob"] = "kit", ["Agoi"] = "ibm", ["Aguano"] = "aga", ["Aguaruna"] = "agr", ["Aguna"] = "aug", ["Agusan Manobo"] = "msm", ["Agutaynen"] = "agn", ["Agwagwune"] = "yay", ["Ahanta"] = "aha", ["Ahirani"] = "ahr", ["Ahwai"] = "nfd", ["Ai-Cham"] = "aih", ["Aighon"] = "aix", ["Aikanã"] = "tba", ["Aiklep"] = "mwg", ["Aimele"] = "ail", ["Ainbai"] = "aic", ["Aiome"] = "aki", ["Airoran"] = "air", ["Aisi"] = "mmq", ["Aiwoo"] = "nfl", ["Aja"] = "aja", ["Ajagua"] = "sai-ajg", ["Ajawa"] = "ajw", ["Ajyíninka Apurucayali"] = "cpc", ["Ak"] = "akq", ["Aka (Central Africa)"] = "axk", ["Aka (Sudan)"] = "soh", ["Aka-Bea"] = "abj", ["Aka-Cari"] = "aci", ["Aka-Kol"] = "aky", ["Aka-Kora"] = "ack", ["Akar-Bale"] = "acl", ["Akatek"] = "knj", ["Ake"] = "aik", ["Akebu"] = "keu", ["Akei"] = "tsr", ["Akeu"] = "aeu", ["Akolet"] = "akt", ["Akoye"] = "miw", ["Akpa"] = "akf", ["Akpes"] = "ibe", ["Akrukay"] = "afi", ["Tiếng Akuku"] = "ayk", ["Akum"] = "aku", ["Akurio"] = "ako", ["Akuwagel"] = "bey", ["Akwa"] = "akw", ["Akyaung Ari"] = "nqy", ["Al-Sayyid Bedouin Sign Language"] = "syy", ["Alabat Island Agta"] = "dul", ["Alacatlatzala Mixtec"] = "mim", ["Alago"] = "ala", ["Alapmunte"] = "apv", ["Alas-Kluet Batak"] = "btz", ["Alazapa"] = "nai-ala", ["Albanian Sign Language"] = "sqk", ["Alege"] = "alf", ["Algerian Sign Language"] = "asp", ["Ali"] = "aiy", ["Alladian"] = "ald", ["Alngith"] = "aid", ["Alo Phola"] = "ypo", ["Alor"] = "aol", ["Aloápam Zapotec"] = "zaq", ["Alu"] = "mte", ["Alugu"] = "aub", ["Tiếng Alune"] = "alp", ["Alungul"] = "aus-alu", ["Aluo"] = "yna", ["Alur"] = "alz", ["Alutiiq"] = "ems", ["Alviri-Vidari"] = "avd", ["Alyawarr"] = "aly", ["Amahai"] = "amq", ["Amanayé"] = "ama", ["Amara"] = "aie", ["Amarakaeri"] = "amr", ["Amarizana"] = "awd-ama", ["Amasi"] = "alv-ama", ["Amatlán Zapotec"] = "zpo", ["Amba"] = "rwm", ["Ambakich"] = "aew", ["Ambala Ayta"] = "abc", ["Ambelau"] = "amv", ["Ambele"] = "ael", ["Amblong"] = "alm", ["Ambo"] = "amb", ["Ambul"] = "apo", ["Amele"] = "aey", ["Amganad Ifugao"] = "ifa", ["Ami"] = "amy", ["Ammonite"] = "sem-amm", ["Amo"] = "amo", ["Amol"] = "alx", ["Amoltepec Mixtec"] = "mbz", ["Amondawa"] = "adw", ["Amorite"] = "sem-amo", ["Ampanang"] = "apg", ["Ampari Dogon"] = "aqd", ["Amri Karbi"] = "ajz", ["Amto"] = "amt", ["Ana Tinga Dogon"] = "dti", ["Anakalangu"] = "akg", ["Anam"] = "pda", ["Anambé"] = "aan", ["Anamgura"] = "imi", ["Anasi"] = "bpo", ["Ancient Ligurian"] = "xlg", ["Ancient North Arabian"] = "xna", ["Ancient Zapotec"] = "xzp", ["Andai"] = "afd", ["Andajin"] = "ajn", ["Andaman Creole Hindi"] = "hca", ["Andaqui"] = "ana", ["Andarum"] = "aod", ["Andegerebinha"] = "adg", ["Andh"] = "anr", ["Andio"] = "bzb", ["Andjingith"] = "aus-and", ["Andoa"] = "anb", ["Andoque"] = "ano", ["Andoquero"] = "sai-and", ["Andra-Hus"] = "anx", ["Aneityum"] = "aty", ["Anem"] = "anz", ["Aneme Wake"] = "aby", ["Anfillo"] = "myo", ["Tiếng Angaataha"] = "agm", ["Angaité"] = "aqt", ["Angal"] = "age", ["Angal Enen"] = "aoe", ["Angal Heneng"] = "akh", ["Angevin"] = "roa-ang", ["Angkamuthi"] = "avm", ["Angkola Batak"] = "akb", ["Angloromani"] = "rme", ["Angor"] = "agg", ["Angoram"] = "aog", ["Angosturas Tunebo"] = "tnd", ["Anguthimri"] = "awg", ["Ani Phowa"] = "ypn", ["Animere"] = "anf", ["Anindilyakwa"] = "aoi", ["Anjam"] = "boj", ["Anmatyerre"] = "amx", ["Anong"] = "nun", ["Anor"] = "anj", ["Anserma"] = "ans", ["Ansus"] = "and", ["Antakarinya"] = "ant", ["Antigua and Barbuda Creole English"] = "aig", ["Anu"] = "anl", ["Anufo"] = "cko", ["Anus"] = "auq", ["Anuta"] = "aud", ["Anyin Morofo"] = "mtb", ["Aoheng"] = "pni", ["Aore"] = "aor", ["Ap Ma"] = "kbx", ["Apalachee"] = "xap", ["Apali"] = "ena", ["Apasco-Apoala Mixtec"] = "mip", ["Apiaká"] = "api", ["Apma"] = "app", ["Apolista"] = "awd-apo", ["Aproumu Aizi"] = "ahp", ["Apurinã"] = "apu", ["Arabana"] = "ard", ["Arabela"] = "arl", ["Aralle-Tabulahan"] = "atq", ["Arammba"] = "stk", ["Aranama-Tamique"] = "xrt", ["Arandai"] = "jbj", ["Araona"] = "aro", ["Arapaso"] = "arj", ["Arara-Karo"] = "arr", ["Ararandewára"] = "xaj", ["Arawum"] = "awm", ["Arbore"] = "arv", ["Are"] = "mwc", ["Areba"] = "aea", ["Argentine Sign Language"] = "aed", ["Arguni"] = "agf", ["Arhâ"] = "aqr", ["Arhö"] = "aok", ["Aribwatsa"] = "laz", ["Aribwaung"] = "ylu", ["Arifama-Miniafia"] = "aai", ["Arigidi"] = "aqg", ["Arikapú"] = "ark", ["Arikara"] = "ari", ["Arikem"] = "ait", ["Tiếng Aringa"] = "luc", ["Armazic"] = "xrm", ["Armenian Sign Language"] = "aen", ["Arop-Lokep"] = "apr", ["Arop-Sissano"] = "aps", ["Arosi"] = "aia", ["Arritinngithigh"] = "rrt", ["Arta"] = "atz", ["Arua"] = "aru", ["Aruamu"] = "msy", ["Aruek"] = "aur", ["Aruop"] = "lsr", ["Arutani"] = "atx", ["Aruá"] = "arx", ["As"] = "asz", ["Asaro'o"] = "mtv", ["Ashe"] = "ahs", ["Asháninka"] = "cni", ["Ashéninka Perené"] = "prq", ["Asilulu"] = "asl", ["Asoa"] = "asv", ["Assangori"] = "sjg", ["Asu"] = "aum", ["Asue Awyu"] = "psa", ["Asunción Mixtepec Zapotec"] = "zoo", ["Ata"] = "atm", ["Ata Manobo"] = "atd", ["Atakapa"] = "aqp", ["Atampaya"] = "amz", ["Atanques"] = "cba-ata", ["Atatláhuca Mixtec"] = "mib", ["Ateso"] = "teo", ["Ati"] = "atk", ["Atohwaim"] = "aqm", ["Atong (Cameroon)"] = "ato", ["Atorada"] = "aox", ["Atsam"] = "cch", ["Atsugewi"] = "atw", ["Attié"] = "ati", ["Au"] = "avt", ["Aulua"] = "aul", ["Aurá"] = "aux", ["Aushi"] = "auh", ["Aushiri"] = "avs", ["Auslan"] = "asf", ["Austral"] = "aut", ["Australian Aboriginal Sign Language"] = "asw", ["Austrian Sign Language"] = "asq", ["Austronesian Mari"] = "hob", ["Auwe"] = "smf", ["Auyana"] = "auy", ["Auye"] = "auu", ["Auyokawa"] = "auo", ["Avau"] = "avb", ["Avava"] = "tmb", ["Avikam"] = "avi", ["Avá-Canoeiro"] = "avv", ["Awa (New Guinea)"] = "awb", ["Awa-Cuaiquer"] = "kwi", ["Awabakal"] = "awk", ["Awak"] = "awo", ["Awar"] = "aya", ["Awara"] = "awx", ["Awbono"] = "awh", ["Awera"] = "awr", ["Awetí"] = "awe", ["Awngthim"] = "gwm", ["Awtuw"] = "kmn", ["Awun"] = "aww", ["Awutu"] = "afu", ["Awyi"] = "auw", ["Axamb"] = "ahb", ["Ayabadhu"] = "ayd", ["Ayautla Mazatec"] = "vmy", ["Ayerrerenge"] = "axe", ["Ayi"] = "ayq", ["Ayizi"] = "yyz", ["Ayizo"] = "ayb", ["Ayomán"] = "sai-ayo", ["Ayoquesco Zapotec"] = "zaf", ["Ayoreo"] = "ayo", ["Tiếng Ayu"] = "ayu", ["Ayutla Mixtec"] = "miy", ["Azha"] = "aza", ["Azhe"] = "yiz", ["Baa"] = "kwb", ["Baan"] = "bvj", ["Baangi"] = "bqx", ["Baba"] = "bbw", ["Babango"] = "bbm", ["Babanki"] = "bbk", ["Babine-Witsuwit'en"] = "bcr", ["Babole"] = "bvx", ["Bada"] = "bhz", ["Badeshi"] = "bdz", ["Badimaya"] = "bia", ["Badyara"] = "pbp", ["Baeggu"] = "bvd", ["Baelelea"] = "bvc", ["Baenan"] = "sai-bae", ["Baetora"] = "btr", ["Bafanji"] = "bfj", ["Bafaw"] = "bwt", ["Bafia"] = "ksf", ["Bafut"] = "bfd", ["Baga Kaloum"] = "bqf", ["Baga Koga"] = "bgo", ["Baga Manduri"] = "bmd", ["Baga Pokur"] = "bcg", ["Baga Sitemu"] = "bsp", ["Baga Sobané"] = "bsv", ["Bagheli"] = "bfy", ["Tiếng Bagirmi"] = "bmi", ["Bago-Kusuntu"] = "bqg", ["Bagri"] = "bgq", ["Bagupi"] = "bpi", ["Bagusa"] = "bqb", ["Baha"] = "yha", ["Baham"] = "bdw", ["Bahamian Creole"] = "bah", ["Baharna Arabic"] = "abv", ["Bahau"] = "bhv", ["Bahinemo"] = "bjh", ["Bahonsuai"] = "bsu", ["Bai"] = "bdj", ["Baibai"] = "bbf", ["Baikeno"] = "bkx", ["Baima"] = "bqh", ["Baimak"] = "bmx", ["Bainouk-Gunyaamolo"] = "bcz", ["Bainouk-Samik"] = "bcb", ["Baissa Fali"] = "fah", ["Bajan"] = "bjs", ["Bajelani"] = "bjm", ["Baka"] = "bkc", ["Bakairí"] = "bkq", ["Bakoko"] = "bkh", ["Bakole"] = "kme", ["Bakpinka"] = "bbs", ["Bakulung"] = "bbu", ["Tiếng Bakumpai"] = "bkr", ["Bakwé"] = "bjw", ["Tiếng Balaesang"] = "bls", ["Balangao"] = "blw", ["Balangingi"] = "sse", ["Balau"] = "blg", ["Baldemu"] = "bdn", ["Bali"] = "bcp", ["Baliledo"] = "poz-bal", ["Balinese Malay"] = "mhp", ["Balo"] = "bqo", ["Baloi"] = "biz", ["Balong"] = "bnt-bal", ["Baluan-Pam"] = "blq", ["Bamako Sign Language"] = "bog", ["Bamali"] = "bbq", ["Bambalang"] = "bmo", ["Bambam"] = "ptu", ["Bambili-Bambui"] = "baw", ["Bamenyam"] = "bce", ["Bamu"] = "bcf", ["Bamukumbit"] = "bqt", ["Bamunka"] = "bvm", ["Bamwe"] = "bmg", ["Ban Khor Sign Language"] = "bfk", ["Banam Bay"] = "vrt", ["Banao Itneg"] = "bjx", ["Banaro"] = "byz", ["Banda"] = "bnd", ["Banda Malay"] = "bpq", ["Banda-Bambari"] = "liy", ["Banda-Banda"] = "bpd", ["Banda-Mbrès"] = "bqk", ["Banda-Ndélé"] = "bfl", ["Banda-Yangere"] = "yaj", ["Bandi"] = "bza", ["Bandial"] = "bqj", ["Bangala"] = "bxg", ["Bangandu"] = "bgf", ["Bangba"] = "bbe", ["Bangime"] = "dba", ["Bangka"] = "mfb", ["Bangru"] = "sit-ban", ["Bangubangu"] = "bnx", ["Bangwinji"] = "bsj", ["Baniva"] = "bvv", ["Baniwa"] = "bwi", ["Banka"] = "bxw", ["Bankan Tey Dogon"] = "dbw", ["Banoni"] = "bcm", ["Bantik"] = "bnq", ["Baraamu"] = "brd", ["Baram Kayan"] = "kys", ["Barama"] = "bbg", ["Barambu"] = "brm", ["Baramu"] = "bmz", ["Barapasi"] = "brp", ["Baras"] = "brs", ["Barasana"] = "bsn", ["Barbareño"] = "boi", ["Barclayville Grebo"] = "gry", ["Bardi"] = "bcj", ["Barein"] = "bva", ["Bargam"] = "mlp", ["Bariai"] = "bch", ["Bariji"] = "bjc", ["Barikanchi"] = "bxo", ["Barngarla"] = "bjb", ["Barok"] = "bjk", ["Barranbinya"] = "aus-bra", ["Barro Negro Tunebo"] = "tbn", ["Barrow Point"] = "bpt", ["Baruga"] = "bjz", ["Barunggam"] = "aus-brm", ["Baruya"] = "byr", ["Barwe"] = "bwg", ["Barí"] = "mot", ["Basa"] = "bzw", ["Basa-Gumna"] = "bsl", ["Basa-Gurmana"] = "buj", ["Basap"] = "bdb", ["Bashkardi"] = "bsg", ["Bassa-Kontagora"] = "bsr", ["Bassossi"] = "bsi", ["Bata"] = "bta", ["Bataan Ayta"] = "ayt", ["Batanga"] = "bnm", ["Bateri"] = "btv", ["Bathari"] = "bhm", ["Bati (Cameroon)"] = "btc", ["Bati (Indonesia)"] = "bvt", ["Batu"] = "btu", ["Batui"] = "zbt", ["Bau"] = "bbd", ["Bauchi"] = "bsf", ["Baure"] = "brg", ["Bauria"] = "bge", ["Bauro"] = "bxa", ["Bauwaki"] = "bwk", ["Bauzi"] = "bvz", ["Bawm Chin"] = "bgr", ["Bay Miwok"] = "mkq", ["Bayali"] = "bjy", ["Baybayanon"] = "bvy", ["Baygo"] = "byg", ["Bayogoula"] = "nai-bay", ["Bayono"] = "byl", ["Bayot"] = "bda", ["Bayungu"] = "bxj", ["Bazigar"] = "bfr", ["Baïnounk Gubëeher"] = "alv-bgu", ["Beami"] = "beo", ["Beba"] = "bfp", ["Bebe"] = "bzv", ["Bebele"] = "beb", ["Bebeli"] = "bek", ["Bebil"] = "bxp", ["Bedik"] = "tnr", ["Bedoanas"] = "bed", ["Beeke"] = "bkf", ["Beele"] = "bxq", ["Beembe"] = "beq", ["Beezen"] = "bnz", ["Befang"] = "bby", ["Begbere-Ejar"] = "bqv", ["Bekati'"] = "bei", ["Bekwarra"] = "bkv", ["Bekwel"] = "bkw", ["Belait"] = "beg", ["Belanda Bor"] = "bxb", ["Belanda Viri"] = "bvi", ["Belizean Creole"] = "bzj", ["Tiếng Bembe"] = "bmb", ["Ben Tey"] = "dbt", ["Bena"] = "yun", ["Benabena"] = "bef", ["Bende"] = "bdp", ["Bendi"] = "bct", ["Beneraf"] = "bnv", ["Beng"] = "nhb", ["Benga"] = "bng", ["Benggoi"] = "bgy", ["Bengkala Sign Language"] = "bqy", ["Bentong"] = "bnu", ["Benyadu'"] = "byd", ["Beothuk"] = "bue", ["Bepour"] = "bie", ["Bera"] = "brf", ["Berakou"] = "bxv", ["Berau Malay"] = "bve", ["Berawan"] = "lod", ["Bergish"] = "gmw-bgh", ["Berinomo"] = "bit", ["Berom"] = "bom", ["Berta"] = "wti", ["Berti"] = "byt", ["Besme"] = "bes", ["Besoa"] = "bep", ["Betaf"] = "bfe", ["Bete"] = "byf", ["Bete-Bendi"] = "btt", ["Betoi"] = "sai-bet", ["Bhalay"] = "bhx", ["Bharia"] = "bha", ["Bhaya"] = "bhe", ["Bhele"] = "bhy", ["Bhilali"] = "bhi", ["Bhoti Kinnauri"] = "nes", ["Biafada"] = "bif", ["Biage"] = "bdf", ["Biak"] = "bhw", ["Biali"] = "beh", ["Bian Marind"] = "bpv", ["Biangai"] = "big", ["Biao"] = "byk", ["Biao Mon"] = "bmt", ["Biao-Jiao Mien"] = "bje", ["Bibaali"] = "bcn", ["Bibbulman"] = "xbp", ["Bidiyo"] = "bid", ["Bidyara"] = "bym", ["Bidyogo"] = "bjg", ["Biem"] = "bmc", ["Bierebo"] = "bnk", ["Bieria"] = "brj", ["Biete"] = "biu", ["Big Nambas"] = "nmb", ["Biga"] = "bhc", ["Bigambal"] = "xbe", ["Bikaru"] = "bic", ["Bikya"] = "byb", ["Bila"] = "bip", ["Bilakura"] = "bql", ["Bilba"] = "bpz", ["Bilbil"] = "brz", ["Bile"] = "bil", ["Biliau"] = "bcu", ["Biloxi"] = "bll", ["Bilur"] = "bxf", ["Bimin"] = "bhl", ["Bimoba"] = "bim", ["Bina"] = "bmn", ["Binahari"] = "bxz", ["Binandere"] = "bhg", ["Binawa"] = "byj", ["Bindal"] = "xbd", ["Bine"] = "bon", ["Binji"] = "bpj", ["Binongan Itneg"] = "itb", ["Bintauna"] = "bne", ["Bintulu"] = "bny", ["Binumarien"] = "bjr", ["Bipi"] = "biq", ["Birgid"] = "brk", ["Biri"] = "bzr", ["Biritai"] = "bqq", ["Birri"] = "bvq", ["Birrpayi"] = "xbj", ["Birwa"] = "brl", ["Biseni"] = "ije", ["Bishuo"] = "bwh", ["Bisis"] = "bnw", ["Bisorio"] = "bir", ["Bitare"] = "brt", ["Bitur"] = "mcc", ["Biwat"] = "bwm", ["Biyo"] = "byo", ["Biyom"] = "bpm", ["Blablanga"] = "blp", ["Black Speech"] = "art-bsp", ["Blafe"] = "bfh", ["Bo"] = "bgl", ["Bo-Rukul"] = "mae", ["Bo-Ung"] = "mux", ["Boano (Maluku)"] = "bzn", ["Boano (Sulawesi)"] = "bzl", ["Bobongko"] = "bgb", ["Bobot"] = "bty", ["Bodo (Central Africa)"] = "boy", ["Bofi"] = "bff", ["Boga"] = "bvw", ["Bogaya"] = "boq", ["Boguru"] = "bqu", ["Boikin"] = "bzf", ["Bokha"] = "ybk", ["Bokoto"] = "bdt", ["Bokyi"] = "bky", ["Bolak"] = "art-blk", ["Bolango"] = "bld", ["Bole"] = "bol", ["Bolgo"] = "bvo", ["Bolia"] = "bli", ["Tiếng Bolinao"] = "smk", ["Bolivian Sign Language"] = "bvl", ["Bolon"] = "bof", ["Bolondo"] = "bzm", ["Bolongan"] = "blj", ["Bom"] = "bmf", ["Boma Nkuu"] = "bnt-bon", ["Boma Yumu"] = "bnt-boy", ["Bomboli"] = "bml", ["Bomboma"] = "bws", ["Bomitaba"] = "zmx", ["Bomwali"] = "bmw", ["Bon Gula"] = "glc", ["Bondei"] = "bou", ["Tiếng Kulango Bondoukou"] = "kzc", ["Bondum Dom Dogon"] = "dbu", ["Bonerate"] = "bna", ["Bonggi"] = "bdg", ["Bonggo"] = "bpg", ["Bongili"] = "bui", ["Tiếng Bongo"] = "bot", ["Bongu"] = "bpu", ["Bonjo"] = "bok", ["Bonkeng"] = "bvg", ["Bonkiman"] = "bop", ["Bookan"] = "bnb", ["Boor"] = "bvf", ["Bora"] = "boa", ["Border Kuna"] = "kvn", ["Borei"] = "gai", ["Boro"] = "xxb", ["Borong"] = "ksr", ["Boruca"] = "brn", ["Boselewa"] = "bwf", ["Bosngun"] = "bqs", ["Bote-Majhi"] = "bmj", ["Tiếng Kulango Bouna"] = "nku", ["Bourbonnais-Berrichon"] = "roa-bbn", ["Bozaba"] = "bzo", ["Bragat"] = "aof", ["Brazilian Sign Language"] = "bzs", ["Brek Karen"] = "kvl", ["Tiếng Brem"] = "buq", ["Bribri"] = "bzd", ["British Sign Language"] = "bfi", ["Brokskat"] = "bkk", ["Broome Pearling Lugger Pidgin"] = "bpl", ["Brunei Bisaya"] = "bsb", ["Bruny Island"] = "xpz", ["Bu"] = "jid", ["Bu-Nao Bunu"] = "bwx", ["Bua"] = "bub", ["Bualkhaw Chin"] = "cbl", ["Buamu"] = "box", ["Bubi"] = "buw", ["Bubia"] = "bbx", ["Budibud"] = "btp", ["Budong-Budong"] = "bdx", ["Budu"] = "buu", ["Buduma"] = "bdm", ["Budza"] = "bja", ["Buena Vista Yokuts"] = "nai-bvy", ["Buglere"] = "sab", ["Bugun"] = "bgg", ["Buhutu"] = "bxh", ["Bujhyal"] = "byh", ["Bukar-Sadung Bidayuh"] = "sdo", ["Bukat"] = "bvk", ["Bukawa"] = "buk", ["Bukit Malay"] = "bvu", ["Bukitan"] = "bkn", ["Buksa"] = "tkb", ["Bukusu"] = "bxk", ["Bulgarian Sign Language"] = "bqn", ["Bulgebi"] = "bmp", ["Buli (Ghana)"] = "bwu", ["Buli (Indonesia)"] = "bzq", ["Bulu (Cameroon)"] = "bum", ["Bulu (New Guinea)"] = "bjl", ["Bum"] = "bmv", ["Bumaji"] = "byp", ["Bumbita Arapesh"] = "aon", ["Bun"] = "buv", ["Buna"] = "bvn", ["Bunaba"] = "bck", ["Bunak"] = "bfn", ["Tiếng Bunama"] = "bdd", ["Bundeli"] = "bns", ["Bung"] = "bqd", ["Bungain"] = "but", ["Bunganditj"] = "xbg", ["Bungu"] = "wun", ["Bunoge"] = "dgb", ["Buol"] = "blf", ["Bura"] = "bwr", ["Burak"] = "bys", ["Buraka"] = "bkg", ["Burarra"] = "bvr", ["Burate"] = "bti", ["Burduna"] = "bxn", ["Bure"] = "bvh", ["Burgundian"] = "gem-bur", ["Burmeso"] = "bzu", ["Buru (Indonesia)"] = "mhs", ["Buru (Nigeria)"] = "bqw", ["Burui"] = "bry", ["Burumakok"] = "aip", ["Burun"] = "bdi", ["Burusu"] = "bqr", ["Buruwai"] = "asi", ["Busam"] = "bxs", ["Busami"] = "bsm", ["Busang Kayan"] = "bfg", ["Bushoong"] = "buf", ["Buso"] = "bso", ["Busoa"] = "bup", ["Busuu"] = "bju", ["Butbut Kalinga"] = "kyb", ["Butchulla"] = "xby", ["Butmas-Tur"] = "bnr", ["Buwal"] = "bhs", ["Buyeo"] = "xpy", ["Buyu"] = "byi", ["Buyuan Jino"] = "jiy", ["Bwa"] = "bww", ["Bwaidoka"] = "bwd", ["Bwala"] = "bnt-bwa", ["Bwanabwana"] = "tte", ["Bwatoo"] = "bwa", ["Bwela"] = "bwl", ["Bwile"] = "bwc", ["Bwisi"] = "bwz", ["Byangsi"] = "bee", ["Byep"] = "mkk", ["Bädi Kanum"] = "khd", ["Caac"] = "msq", ["Cabiyarí"] = "cbb", ["Cabécar"] = "cjp", ["Cacaloxtepec Mixtec"] = "miu", ["Cacaopera"] = "ccr", ["Cacua"] = "cbv", ["Cacán"] = "sai-cac", ["Caddo"] = "cad", ["Cafundó"] = "ccd", ["Cahuarano"] = "cah", ["Caka"] = "ckx", ["Cakchiquel-Quiché Mixed Language"] = "ckz", ["Cakfem-Mushere"] = "cky", ["Calabrian Greek"] = "grk-cal", ["Callawalla"] = "caw", ["Calusa"] = "nai-cal", ["Caluyanun"] = "clu", ["Caló"] = "rmq", ["Camarines Norte Agta"] = "abd", ["Cameroon Mambila"] = "mcu", ["Cameroon Pidgin"] = "wes", ["Campalagian"] = "cml", ["Camsá"] = "kbh", ["Camtho"] = "cmt", ["Candoshi-Shapra"] = "cbu", ["Canichana"] = "caz", ["Cao Miao"] = "cov", ["Capiznon"] = "cps", ["Caquinte"] = "cot", ["Cara"] = "cfd", ["Carabayo"] = "cby", ["Caramanta"] = "crf", ["Caranqui"] = "sai-caq", ["Carapana"] = "cbc", ["Carian"] = "xcr", ["Cariay"] = "awd-kar", ["Carijona"] = "cbd", ["Carolina Algonquian"] = "crr", ["Carolinian"] = "cal", ["Carpathian Romani"] = "rmc", ["Cashibo-Cacataibo"] = "cbr", ["Cashinahua"] = "cbs", ["Casiguran Dumagat Agta"] = "dgc", ["Casuarina Coast Asmat"] = "asc", ["Catacao"] = "sai-cat", ["Catalan Sign Language"] = "csc", ["Catuquinaru"] = "sai-ctq", ["Catío Chibcha"] = "cba-cat", ["Cauca"] = "cca", ["Cavere"] = "awd-cav", ["Cavineña"] = "cav", ["Cayubaba"] = "cyb", ["Cayuse"] = "xcy", ["Cazcan"] = "azc-caz", ["Cañari"] = "sai-cnr", ["Cebaara Senoufo"] = "sef", ["Cemuhî"] = "cam", ["Cen"] = "cen", ["Central Asmat"] = "cns", ["Central Awyu"] = "awu", ["Tiếng Bontoc Trung"] = "lbk", ["Central Cagayan Agta"] = "agt", ["Central Grebo"] = "grv", ["Central Huishui Hmong"] = "hmc", ["Central Maewo"] = "mwo", ["Central Mahuatlán Zapoteco"] = "zam", ["Central Malay"] = "pse", ["Central Masela"] = "mxz", ["Central Mashan Hmong"] = "hmm", ["Central Melanau"] = "mel", ["Central Ojibwa"] = "ojc", ["Central Palawano"] = "plc", ["Central Pame"] = "pbs", ["Central Pomo"] = "poo", ["Central Sierra Miwok"] = "csm", ["Central Subanen"] = "syb", ["Central Tagbanwa"] = "tgt", ["Central Tarahumara"] = "tar", ["Central Teke"] = "nzu", ["Central Tunebo"] = "tuf", ["Centúúm"] = "cet", ["Cerma"] = "cme", ["Ch'olti'"] = "myn-chl", ["Chaap Wuurong"] = "tjw", ["Chadian Sign Language"] = "cds", ["Chaha"] = "sem-cha", ["Chairel"] = "sit-cha", ["Chakali"] = "cli", ["Chala"] = "cll", ["Chali"] = "tgf", ["Chamacoco"] = "ceg", ["Chamba Daka"] = "ccg", ["Chamba Leko"] = "ndi", ["Chambri"] = "can", ["Champenois"] = "roa-cha", ["Chang"] = "nbc", ["Changriwa"] = "cga", ["Chaná"] = "sai-chn", ["Chané"] = "caj", ["Chapacura"] = "sai-chp", ["Chara"] = "cra", ["Charrua"] = "sai-chr", ["Chaudangsi"] = "cdn", ["Chayahuita"] = "cbt", ["Chazumba Mixtec"] = "xtb", ["Che"] = "ruk", ["Cheke Holo"] = "mrn", ["Chemakum"] = "xch", ["Chenapian"] = "cjn", ["Chepya"] = "ycp", ["Cherepon"] = "cpn", ["Chesu"] = "ych", ["Chetco-Tolowa"] = "ctc", ["Chhintange"] = "ctn", ["Chhulung"] = "cur", ["Chiangmai Sign Language"] = "csd", ["Chiapanec"] = "cip", ["Chichicapan Zapotec"] = "zpv", ["Chichimeca-Jonaz"] = "pei", ["Chichonyi-Chidzihana-Chikauma"] = "coh", ["Chicomuceltec"] = "cob", ["Chiduruma"] = "dug", ["Chigmecatitlán Mixtec"] = "mii", ["Chilean Sign Language"] = "csg", ["Chilisso"] = "clh", ["Chiltepec Chinantec"] = "csa", ["Chimalapa Zoque"] = "zoh", ["Chimariko"] = "cid", ["Chimila"] = "cbg", ["Chimwiini"] = "bnt-cmw", ["Chinbon Chin"] = "cnb", ["Chinese Pidgin English"] = "cpi", ["Chinese Sign Language"] = "csl", ["Chipaya"] = "cap", ["Chiquihuitlán Mazatec"] = "maq", ["Chiquimulilla"] = "nai-chi", ["Chiquitano"] = "cax", ["Chirino"] = "sai-chi", ["Chiripá"] = "nhd", ["Chitimacha"] = "ctm", ["Chitkuli Kinnauri"] = "cik", ["Chitwania Tharu"] = "the", ["Tiếng Zapotec Choapan"] = "zpc", ["Chochotec"] = "coz", ["Chokri Naga"] = "nri", ["Chokwe"] = "cjk", ["Cholón"] = "cht", ["Chono"] = "sai-cno", ["Chopi"] = "cce", ["Chuabo"] = "chw", ["Chuanqiandian Cluster Miao"] = "cqd", ["Chuave"] = "cjv", ["Chug"] = "cvg", ["Chuj"] = "cac", ["Chuka"] = "cuh", ["Chukwa"] = "cuw", ["Chumburung"] = "ncu", ["Churuya"] = "sai-chu", ["Chácobo"] = "cao", ["Ci Gbe"] = "cib", ["Cibak"] = "ckl", ["Cicipu"] = "awc", ["Ciguayo"] = "nai-cig", ["Cinamiguin Manobo"] = "mkx", ["Cinda-Regi-Tiyal"] = "cdr", ["Cineni"] = "cie", ["Cinta Larga"] = "cin", ["Cishingini"] = "asg", ["Citak"] = "txt", ["Ciwogai"] = "tgd", ["Tiếng Gael cổ điển"] = "ghc", ["Classical Guaraní"] = "gn-cls", ["Tiếng Manda cổ điển"] = "myz", ["Classical Newar"] = "nwc", ["Classical Quechua"] = "qwc", ["Coahuilteco"] = "xcw", ["Coast Miwok"] = "csi", ["Coastal Konjo"] = "kjc", ["Coatecas Altas Zapotec"] = "zca", ["Coatepec Nahuatl"] = "naz", ["Coatlán Mixe"] = "mco", ["Coatlán Zapotec"] = "zps", ["Coatzospan Mixtec"] = "miz", ["Cocopa"] = "coc", ["Cocos Islands Malay"] = "coa", ["Coeruna"] = "sai-coe", ["Cogui"] = "kog", ["Col"] = "liw", ["Colombian Sign Language"] = "csn", ["Colonia Tovar German"] = "gct", ["Columbia-Wenatchi"] = "col", ["Colán"] = "sai-col", ["Comaltepec Chinantec"] = "cco", ["Comechingon"] = "sai-cmg", ["Comecrudo"] = "xcm", ["Communicationssprache"] = "art-com", ["Como Karim"] = "cfg", ["Con"] = "cno", ["Coos"] = "csz", ["Copainalá Zoque"] = "zoc", ["Copallén"] = "sai-cop", ["Coquille"] = "coq", ["Cora"] = "crn", ["Cori"] = "cry", ["Coroado Puri"] = "sai-crd", ["Cosoleacaque Nahuatl"] = "nhk", ["Costa Rican Sign Language"] = "csr", ["Cotabato Manobo"] = "mta", ["Cotoname"] = "xcn", ["Coyaima"] = "coy", ["Coyotepec Popoloca"] = "pbf", ["Coyutla Totonac"] = "toc", ["Crimean Gothic"] = "gme-cgo", ["Croatian Sign Language"] = "csq", ["Cruzeño"] = "crz", ["Cuban Sign Language"] = "csf", ["Cubeo"] = "cub", ["Cueva"] = "sai-cva", ["Cuiba"] = "cui", ["Cuitlatec"] = "cuy", ["Culina"] = "cul", ["Tiếng Culli"] = "sai-cul", ["Cun"] = "cuq", ["Cung"] = "cug", ["Curonian"] = "xcu", ["Curripaco"] = "kpc", ["Cutchi-Swahili"] = "ccl", ["Cuvok"] = "cuv", ["Cuyamecalco Mixtec"] = "xtu", ["Cwi Bwamu"] = "bwy", ["Czech Sign Language"] = "cse", ["Da'a Kaili"] = "kzf", ["Daai Chin"] = "dao", ["Daantanai'"] = "lni", ["Daba"] = "dbq", ["Dabe"] = "dbe", ["Dadanitic"] = "sem-dad", ["Dadi Dadi"] = "dda", ["Dadiya"] = "dbd", ["Tiếng Daga"] = "dgz", ["Dagaari Dioula"] = "dgd", ["Dagik"] = "dec", ["Dagoman"] = "dgn", ["Daho-Doo"] = "das", ["Dai"] = "dij", ["Dair"] = "drb", ["Dairi Batak"] = "btd", ["Dakaka"] = "bpa", ["Dakka"] = "dkk", ["Daloa Bété"] = "bev", ["Dama (Nigeria)"] = "dmm", ["Dama (Sierra Leone)"] = "dmn-dam", ["Damakawa"] = "dam", ["Damal"] = "uhn", ["Dampelas"] = "dms", ["Danaru"] = "dnr", ["Dandami Maria"] = "daq", ["Dangaura Tharu"] = "thl", ["Danish Sign Language"] = "dsl", ["Dano"] = "aso", ["Dao"] = "daz", ["Daonda"] = "dnd", ["Dar Fur Daju"] = "daj", ["Dar Sila Daju"] = "dau", ["Darai"] = "dry", ["Darkinjung"] = "xda", ["Darlong"] = "dln", ["Darmiya"] = "drd", ["Daro-Matu Melanau"] = "dro", ["Darumbal"] = "xgm", ["Dass"] = "dot", ["Datooga"] = "tcc", ["Daungwurrung"] = "dgw", ["Davawenyo"] = "daw", ["Dawawa"] = "dww", ["Dawera-Daweloor"] = "ddw", ["Day"] = "dai", ["Dayi"] = "dax", ["Dazaga"] = "dzg", ["Deccani"] = "dcc", ["Dedua"] = "ded", ["Defaka"] = "afn", ["Defi Gbe"] = "gbh", ["Deg"] = "mzw", ["Degenan"] = "dge", ["Dehwari"] = "deh", ["Dek"] = "dek", ["Dela-Oenale"] = "row", ["Delo"] = "ntr", ["Delta Yokuts"] = "nai-dly", ["Dem"] = "dem", ["Dema"] = "dmx", ["Demisa"] = "dei", ["Demta"] = "dmy", ["Tiếng Dena'ina"] = "tfn", ["Dendi"] = "ddn", ["Dengese"] = "dez", ["Dengka"] = "dnk", ["Deno"] = "dbb", ["Denya"] = "anv", ["Dení"] = "dny", ["Desano"] = "des", ["Dewas Rai"] = "dwz", ["Dewoin"] = "dee", ["Dezfuli"] = "def", ["Dghwede"] = "dgh", ["Dhaiso"] = "dhs", ["Dhalandji"] = "dhl", ["Dhao"] = "nfa", ["Dhofari Arabic"] = "adf", ["Dhudhuroa"] = "ddr", ["Dhungaloo"] = "dhx", ["Dhurga"] = "dhu", ["Dhuwal"] = "dwu", ["Dhuwaya"] = "dwy", ["Dia"] = "dia", ["Dibiyaso"] = "dby", ["Dibo"] = "dio", ["Dicamay Agta"] = "duy", ["Didinga"] = "did", ["Digo"] = "dig", ["Tiếng Dii"] = "dur", ["Dijim-Bwilim"] = "cfa", ["Dilling"] = "dil", ["Dima"] = "jma", ["Dimbong"] = "dii", ["Dinapigue Agta"] = "phi-din", ["Dineor"] = "mrx", ["Ding"] = "diz", ["Diodio"] = "ddi", ["Diri"] = "dwa", ["Dirim"] = "dir", ["Disa"] = "dsi", ["Diuwe"] = "diy", ["Diuxi-Tilantongo Mixtec"] = "xtd", ["Dixon Reef"] = "dix", ["Djadjawurrung"] = "dja", ["Djambarrpuyngu"] = "djr", ["Djangun"] = "djf", ["Djauan"] = "djn", ["Djawi"] = "djw", ["Djimini"] = "dyi", ["Djinba"] = "djb", ["Djiwarli"] = "djl", ["Dobel"] = "kvo", ["Dobu"] = "dob", ["Doe"] = "doe", ["Doga"] = "dgg", ["Doghoro"] = "dgx", ["Dogoso"] = "dgs", ["Dogosé"] = "dos", ["Dogul Dom"] = "dbg", ["Doka"] = "dbi", ["Doko-Uyanga"] = "uya", ["Dom"] = "doa", ["Dominican Sign Language"] = "doq", ["Dompo"] = "doy", ["Domu"] = "dof", ["Domung"] = "dev", ["Dondo"] = "dok", ["Dong"] = "doh", ["Dongo"] = "doo", ["Dongotono"] = "ddd", ["Dongshanba Lalo"] = "yik", ["Donno So Dogon"] = "dds", ["Doondo"] = "dde", ["Dorasque"] = "cba-dor", ["Dori'o"] = "dor", ["Dorig"] = "wwo", ["Doromu-Koki"] = "kqc", ["Dorze"] = "doz", ["Doso"] = "dol", ["Dothraki"] = "art-dtk", ["Doura"] = "don", ["Doutai"] = "tds", ["Doyayo"] = "dow", ["Drehu"] = "dhv", ["Duala"] = "dua", ["Duano"] = "dup", ["Duau"] = "dva", ["Dubu"] = "dmu", ["Dugun"] = "ndu", ["Duguri"] = "dbm", ["Dugwor"] = "dme", ["Duhwa"] = "kbz", ["Duit"] = "cba-dui", ["Duke"] = "nke", ["Dulbu"] = "dbo", ["Duli"] = "duz", ["Duma"] = "dma", ["Dumaitic"] = "sem-dum", ["Dumbea"] = "duf", ["Dumpas"] = "dmv", ["Dumun"] = "dui", ["Duna"] = "duc", ["Dungmali"] = "raa", ["Dungu"] = "dbv", ["Dura"] = "drq", ["Duri"] = "mvp", ["Duriankere"] = "dbn", ["Dusner"] = "dsn", ["Dusun Deyah"] = "dun", ["Dusun Malang"] = "duq", ["Dutch Sign Language"] = "dse", ["Duupa"] = "dae", ["Duvle"] = "duv", ["Duwai"] = "dbp", ["Duwet"] = "gve", ["Dwang"] = "nnu", ["Dyaabugay"] = "dyy", ["Dyaberdyaber"] = "dyb", ["Dyan"] = "dya", ["Dyangadi"] = "dyn", ["Dyugun"] = "dyd", ["Dza"] = "jen", ["Dzando"] = "dzn", ["Dzao Min"] = "bpn", ["Dzodinka"] = "add", ["Dâw"] = "kwa", ["E'ma Buyang"] = "yzg", ["Early Modern Korean"] = "ko-ear", ["Early Tripuri"] = "xtr", ["East Damar"] = "dmr", ["East Franconian"] = "vmf", ["East Kewa"] = "kjs", ["East Limba"] = "lma", ["East Makian"] = "mky", ["East Masela"] = "vme", ["East Nyala"] = "nle", ["East Tarangan"] = "tre", ["Eastern Bolivian Guaraní"] = "gui", ["Eastern Durango Nahuatl"] = "azd", ["Eastern Gurung"] = "ggn", ["Eastern Highland Chatino"] = "cly", ["Eastern Highland Otomi"] = "otm", ["Eastern Huasteca Nahuatl"] = "nhe", ["Eastern Huishui Hmong"] = "hme", ["Eastern Karaboro"] = "xrb", ["Eastern Keres"] = "kee", ["Eastern Lalu"] = "yit", ["Tiếng Maninkakan Đông"] = "emk", ["Eastern Meohang"] = "emg", ["Eastern Muria"] = "emu", ["Eastern Ngad'a"] = "nea", ["Eastern Nisu"] = "nos", ["Eastern Penan"] = "pez", ["Eastern Pomo"] = "peb", ["Eastern Qiandong Miao"] = "hmq", ["Eastern Subanun"] = "sfe", ["Eastern Tawbuid"] = "bnj", ["Eastern Xiangxi Miao"] = "muq", ["Eastern Xwla Gbe"] = "gbx", ["Ebira"] = "igb", ["Ecuadorian Sign Language"] = "ecs", ["Ede Cabe"] = "cbj", ["Ede Ije"] = "ijj", ["Edera Awyu"] = "awy", ["Edolo"] = "etr", ["Edomite"] = "xdm", ["Edopi"] = "dbf", ["Efutop"] = "ofu", ["Egyptian Sign Language"] = "esl", ["Ejamat"] = "eja", ["Ekajuk"] = "eka", ["Ekari"] = "ekg", ["Ekele"] = "khy", ["Eki"] = "eki", ["Ekit"] = "eke", ["Ekpeye"] = "ekp", ["El Alto Zapotec"] = "zpp", ["El Hugeirat"] = "elh", ["Eleme"] = "elm", ["Elepi"] = "ele", ["Elip"] = "ekm", ["Elkei"] = "elk", ["Eloi"] = "art-elo", ["Elotepec Zapotec"] = "zte", ["Eloyi"] = "afo", ["Elseng"] = "mrf", ["Elu"] = "elu", ["Emae"] = "mmw", ["Emai"] = "ema", ["Eman"] = "emn", ["Embaloh"] = "emb", ["Emberá-Baudó"] = "bdc", ["Emberá-Catío"] = "cto", ["Emem"] = "enr", ["Emerillon"] = "eme", ["Emplawas"] = "emw", ["Enawené-Nawé"] = "unk", ["Ende"] = "end", ["Enga"] = "enq", ["Enggano"] = "eno", ["Enlhet"] = "enl", ["Enrekang"] = "ptt", ["Enu"] = "enu", ["Enwan"] = "env", ["Enwang"] = "enw", ["Enxet"] = "enx", ["Enya"] = "gey", ["Epena"] = "sja", ["Epi-Olmec"] = "xep", ["Epigraphic Mayan"] = "emy", ["Erave"] = "kjy", ["Ere"] = "twp", ["Erie"] = "iro-ere", ["Eritai"] = "ert", ["Erokwanas"] = "erw", ["Erre"] = "err", ["Erromintxela"] = "emx", ["Eruwa"] = "erh", ["Ese Ejja"] = "ese", ["Eshtehardi"] = "esh", ["Eskayan"] = "esy", ["Esmeralda"] = "sai-esm", ["Esselen"] = "esq", ["Estado de México Otomi"] = "ots", ["Estonian Sign Language"] = "eso", ["Esuma"] = "esm", ["Etchemin"] = "etc", ["Etebi"] = "etb", ["Eten"] = "etx", ["Eteocypriot"] = "ecy", ["Ethiopian Sign Language"] = "eth", ["Etkywan"] = "ich", ["Eton (Cameroon)"] = "eto", ["Eton (Vanuatu)"] = "etn", ["Etulo"] = "utr", ["Evant"] = "bzz", ["Ewage-Notu"] = "nou", ["Ewarhuyana"] = "sai-ewa", ["Ewondo"] = "ewo", ["Extremaduran"] = "ext", ["Eyak"] = "eya", ["Ezaa"] = "eza", ["Fagani"] = "faf", ["Faire Atta"] = "azt", ["Faita"] = "faj", ["Faiwol"] = "fai", ["Fakkanci"] = "gel", ["Fali"] = "fli", ["Fam"] = "fam", ["Fanamaket"] = "bjp", ["Fang (Beboid)"] = "fak", ["Fania"] = "fni", ["Fas"] = "fqs", ["Fasu"] = "faa", ["Fataleka"] = "far", ["Tiếng Fataluku"] = "ddg", ["Fayu"] = "fau", ["Fedan"] = "pdn", ["Fembe"] = "agl", ["Fer"] = "kah", ["Feroge"] = "fer", ["Filomena Mata-Coahuitlán Totonac"] = "tlp", ["Finisterre Yau"] = "yuw", ["Finnish Sign Language"] = "fse", ["Finnish-Swedish Sign Language"] = "fss", ["Finongan"] = "fag", ["Fipa"] = "fip", ["Firan"] = "fir", ["Fiwaga"] = "fiw", ["Flemish Sign Language"] = "vgt", ["Flinders Island"] = "fln", ["Foau"] = "flh", ["Foia Foia"] = "ffi", ["Folopa"] = "ppo", ["Foma"] = "fom", ["Fongoro"] = "fgr", ["Foodo"] = "fod", ["Forak"] = "frq", ["Fordata"] = "frd", ["Fore"] = "for", ["Forest Nenets"] = "yrk-for", ["Fortsenal"] = "frt", ["French Belgian Sign Language"] = "sfb", ["French Sign Language"] = "fsl", ["Fuliiru"] = "flr", ["Fulniô"] = "fun", ["Fum"] = "fum", ["Tiếng Fungwa"] = "ula", ["Furu"] = "fuu", ["Futuna-Aniwa"] = "fut", ["Fuyug"] = "fuy", ["Fwe"] = "fwe", ["Fwâi"] = "fwa", ["Fyam"] = "pym", ["Fyer"] = "fie", ["Ga'anda"] = "gqa", ["Ga'dang"] = "gdg", ["Gaa"] = "ttb", ["Gaam"] = "tbi", ["Gabadi"] = "kbt", ["Gabi"] = "gbw", ["Gabrielino-Fernandeño"] = "xgf", ["Gadang"] = "gdk", ["Gade"] = "ged", ["Gadjerawang"] = "gdh", ["Gadsup"] = "gaj", ["Gafat"] = "gft", ["Gagadu"] = "gbu", ["Gagnoa Bété"] = "btg", ["Gaikundi"] = "gbf", ["Gaina"] = "gcn", ["Gal"] = "gap", ["Galambu"] = "glo", ["Galela"] = "gbi", ["Galeya"] = "gar", ["Galice"] = "gce", ["Galindian"] = "xgl", ["Gallaecian"] = "cel-gal", ["Galoli"] = "gal", ["Gambera"] = "gma", ["Gamela"] = "sai-gam", ["Gamkonora"] = "gak", ["Gamo-Ningi"] = "bte", ["Gana"] = "gnq", ["Ganang"] = "gne", ["Gane"] = "gzn", ["Ganggalida"] = "gcd", ["Ganglau"] = "ggl", ["Gangte"] = "gnb", ["Gangulu"] = "gnl", ["Gants"] = "gao", ["Ganzi"] = "gnz", ["Gao"] = "gga", ["Gapapaiwa"] = "pwg", ["Garawa"] = "wrk", ["Garingbal"] = "xgi", ["Garus"] = "gyb", ["Garza"] = "xgr", ["Gashowu"] = "nai-gsy", ["Gavak"] = "dmc", ["Gavar"] = "gou", ["Gavião do Jiparaná"] = "gvo", ["Gayo"] = "gay", ["Gayón"] = "sai-gay", ["Gbagyi"] = "gbr", ["Gban"] = "ggu", ["Gbanu"] = "gbv", ["Gbanziri"] = "gbg", ["Gbari"] = "gby", ["Gbaya"] = "gba", ["Gbaya-Bossangoa"] = "gbp", ["Gbaya-Bozoum"] = "gbq", ["Gbaya-Mbodomo"] = "gmm", ["Gbayi"] = "gyg", ["Gbesi Gbe"] = "gbs", ["Gbii"] = "ggb", ["Gbin"] = "xgb", ["Gboloo Grebo"] = "gec", ["Gciriku"] = "diu", ["Gcwi"] = "gwj", ["Ge"] = "hmj", ["Gebe"] = "gei", ["Gedaged"] = "gdd", ["Geji"] = "gji", ["Gela"] = "nlg", ["Gelao"] = "gio", ["Gele'"] = "sbc", ["Geme"] = "geq", ["Gende"] = "gaf", ["Gengle"] = "geg", ["Gepo"] = "ygp", ["Gera"] = "gew", ["German Sign Language"] = "gsg", ["Geruma"] = "gea", ["Geser-Gorom"] = "ges", ["Gey"] = "guv", ["Ghanaian Sign Language"] = "gse", ["Ghandruk Sign Language"] = "gds", ["Ghanongga"] = "ghn", ["Ghari"] = "gri", ["Ghayavi"] = "bmk", ["Ghera"] = "ghr", ["Ghulfan"] = "ghl", ["Giangan"] = "bgi", ["Gibanawa"] = "gib", ["Gidar"] = "gid", ["Gikyode"] = "acd", ["Gilima"] = "gix", ["Gimi (Austronesian)"] = "gip", ["Gimme"] = "kmp", ["Gimnime"] = "gmn", ["Ginuman"] = "gnm", ["Girawa"] = "bbr", ["Githabul"] = "gih", ["Gitua"] = "ggt", ["Giyug"] = "giy", ["Gizrra"] = "tof", ["Glaro-Twabo"] = "glr", ["Glavda"] = "glw", ["Glio-Oubi"] = "oub", ["Gnau"] = "gnu", ["Goa'uld"] = "art-gld", ["Goaria"] = "gig", ["Gobasi"] = "goi", ["Gobu"] = "gox", ["Godié"] = "god", ["Godwari"] = "gdx", ["Goemai"] = "ank", ["Gogo"] = "gog", ["Gogodala"] = "ggw", ["Gokana"] = "gkn", ["Gokhy"] = "sit-gkh", ["Gola"] = "gol", ["Golin"] = "gvf", ["Golpa"] = "lja", ["Gondi"] = "gon", ["Gongduk"] = "goe", ["Gonja"] = "gjn", ["Goo"] = "gov", ["Gor"] = "gqr", ["Gorakor"] = "goc", ["Gorap"] = "goq", ["Goreng"] = "xgg", ["Gorovu"] = "grq", ["Gottscheerish"] = "gmw-gts", ["Goundo"] = "goy", ["Gowlan"] = "goj", ["Gowro"] = "gwf", ["Gozarkhani"] = "goz", ["Grangali"] = "nli", ["Grass Koiari"] = "kbk", ["Grebo"] = "grb", ["Greek Sign Language"] = "gss", ["Green Gelao"] = "giq", ["Green Hmong"] = "hnj", ["Grenadian Creole English"] = "gcl", ["Gresi"] = "grs", ["Groma"] = "gro", ["Gros Ventre"] = "ats", ["Gua"] = "gwx", ["Guahibo"] = "guh", ["Guambiano"] = "gum", ["Guamo"] = "sai-gmo", ["Guanano"] = "gvc", ["Guatemalan Sign Language"] = "gsm", ["Guató"] = "gta", ["Guayabero"] = "guo", ["Guazacapán"] = "nai-guz", ["Gudang"] = "xgd", ["Gudanji"] = "nji", ["Gude"] = "gde", ["Gudu"] = "gdu", ["Guduf-Gava"] = "gdf", ["Guerrero Nahuatl"] = "ngu", ["Guevea de Humboldt Zapotec"] = "zpg", ["Gugadj"] = "ggd", ["Gugu Badhun"] = "gdc", ["Gugu Warra"] = "wrw", ["Guhu-Samane"] = "ghs", ["Guianese Creole"] = "gcr", ["Guiberoua Bété"] = "bet", ["Guinau"] = "awd-gnu", ["Guinea-Bissau Sign Language"] = "lgs", ["Guinean Sign Language"] = "gus", ["Guiqiong"] = "gqi", ["Gula"] = "glu", ["Gula'alaa"] = "gmb", ["Gule"] = "gly", ["Gullah"] = "gul", ["Gumalu"] = "gmu", ["Gumatj"] = "gnn", ["Gumawana"] = "gvs", ["Gundi"] = "gdi", ["Gunditjmara"] = "gjm", ["Gundungurra"] = "xrd", ["Gungabula"] = "gyf", ["Gungu"] = "rub", ["Guntai"] = "gnt", ["Gunu"] = "yas", ["Gunwinggu"] = "gup", ["Tiếng Gunya"] = "gyy", ["Gupa-Abawa"] = "gpa", ["Gupapuyngu"] = "guf", ["Guragone"] = "gge", ["Guramalum"] = "grz", ["Gureng Gureng"] = "gnr", ["Gurgula"] = "ggg", ["Guriaso"] = "grx", ["Gurindji"] = "gue", ["Gurjar Apabhramsa"] = "inc-gup", ["Gurmana"] = "gvm", ["Guro"] = "goa", ["Guruntum"] = "grd", ["Gusan"] = "gsn", ["Gusii"] = "guz", ["Gusilay"] = "gsl", ["Guwa"] = "xgw", ["Guwamu"] = "gwu", ["Guwar"] = "aus-guw", ["Guya"] = "gka", ["Guyanese Creole English"] = "gyn", ["Guyani"] = "gvy", ["Guébie"] = "gie", ["Gvoko"] = "ngs", ["Gwa"] = "gwb", ["Gwahatike"] = "dah", ["Gwak"] = "jgk", ["Gwamhi-Wuri"] = "bga", ["Gwandara"] = "gwn", ["Gwara"] = "alv-gwa", ["Gweda"] = "grw", ["Gweno"] = "gwe", ["Gwere"] = "gwr", ["Gyalsumdo"] = "gyo", ["Gyele"] = "gyi", ["Gyem"] = "gye", ["Güenoa"] = "sai-gue", ["Habu"] = "hbu", ["Hadothi"] = "hoj", ["Hadrami"] = "xhd", ["Hadza"] = "hts", ["Haeke"] = "aek", ["Hahon"] = "hah", ["Haigwai"] = "hgw", ["Hainyaxo Bozo"] = "bzx", ["Haiphong Sign Language"] = "haf", ["Haitian Vodoun Culture Language"] = "hvc", ["Haiǁom"] = "hgm", ["Haji"] = "hji", ["Hakö"] = "hao", ["Halang Doan"] = "hld", ["Halia"] = "hla", ["Hamap"] = "hmu", ["Hamba"] = "hba", ["Hamtai"] = "hmt", ["Hanga"] = "hag", ["Hanga Hundi"] = "wos", ["Hanoi Sign Language"] = "hab", ["Harami"] = "xha", ["Haraza"] = "nub-har", ["Haruai"] = "tmd", ["Haruku"] = "hrk", ["Harzani"] = "hrz", ["Hasaitic"] = "sem-has", ["Hasha"] = "ybj", ["Tiếng Ả Rập Hassaniya"] = "mey", ["Tiếng Hatam"] = "had", ["Hausa Sign Language"] = "hsl", ["Haveke"] = "hvk", ["Havu"] = "hav", ["Hawai'i Pidgin Sign Language"] = "hps", ["Hawaiian Creole"] = "hwc", ["Haya"] = "hay", ["Hdi"] = "xed", ["Hehe"] = "heh", ["Helong"] = "heg", ["Helu"] = "elu-prk", ["Hema"] = "nix", ["Hemba"] = "hem", ["Herdé"] = "hed", ["Hermit"] = "llf", ["Hewa"] = "ham", ["Heyo"] = "auk", ["Hibito"] = "hib", ["Hidatsa"] = "hid", ["Highland Konjo"] = "kjk", ["Highland Oaxaca Chontal"] = "chd", ["Highland Puebla Nahuatl"] = "azz", ["Hijuk"] = "hij", ["Himarimã"] = "hir", ["Himyaritic"] = "sem-him", ["Hismaic"] = "sem-his", ["Hitchiti"] = "nai-hit", ["Hitu"] = "htu", ["Hixkaryana"] = "hix", ["Hlepho Phowa"] = "yhl", ["Hlersu"] = "hle", ["Hmar"] = "hmr", ["Hmong Dô"] = "hmv", ["Hmong Shua"] = "hmz", ["Hmwaveke"] = "mrk", ["Ho Chi Minh City Sign Language"] = "hos", ["Hobyót"] = "hoh", ["Hoia Hoia"] = "hhi", ["Holikachuk"] = "hoi", ["Holma"] = "hod", ["Holoholo"] = "hoo", ["Holu"] = "hol", ["Homa"] = "hom", ["Honduran Lenca"] = "len", ["Honduras Sign Language"] = "hds", ["Hone"] = "juh", ["Hong Kong Sign Language"] = "hks", ["Honi"] = "how", ["Horned Miao"] = "hrm", ["Horo"] = "hor", ["Horom"] = "hoe", ["Hote"] = "hot", ["Hoti"] = "hti", ["Hovongan"] = "hov", ["Hoyahoya"] = "hhy", ["Hrangkhol"] = "hra", ["Hruso"] = "hru", ["Huachipaeri"] = "hug", ["Huambisa"] = "hub", ["Huaorani"] = "auc", ["Huarijio"] = "var", ["Huaulu"] = "hud", ["Huautla Mazatec"] = "mau", ["Huave"] = "huv", ["Huaxcaleca Nahuatl"] = "nhq", ["Huba"] = "hbb", ["Huehuetla Tepehua"] = "tee", ["Huetar"] = "cba-hue", ["Huichol"] = "hch", ["Huilliche"] = "huh", ["Huitepec Mixtec"] = "mxs", ["Hukumina"] = "huw", ["Hula"] = "hul", ["Tiếng Huli"] = "hui", ["Hulung"] = "huk", ["Humene"] = "huf", ["Hun"] = "uth", ["Hunde"] = "hke", ["Hungana"] = "hum", ["Hungarian Sign Language"] = "hsh", ["Hungworo"] = "nat", ["Hunjara-Kaina Ke"] = "hkk", ["Hunnic"] = "xhc", ["Hupla"] = "hap", ["Hutterisch"] = "geh", ["Hwana"] = "hwo", ["Hya"] = "hya", ["Hän"] = "haa", ["Hértevin"] = "hrt", ["I-Wak"] = "iwk", ["Iamalele"] = "yml", ["Iatmul"] = "ian", ["Iau"] = "tmu", ["Ibali Teke"] = "tek", ["Ibani"] = "iby", ["Iberian"] = "xib", ["Iboko"] = "bkp", ["Ibu"] = "ibu", ["Icelandic Sign Language"] = "icl", ["Iceve-Maci"] = "bec", ["Idakho-Isukha-Tiriki"] = "ida", ["Idaté"] = "idt", ["Idere"] = "ide", ["Idesa"] = "ids", ["Idi"] = "idi", ["Idoma"] = "idu", ["Idon"] = "idc", ["Idun"] = "ldb", ["Iduna"] = "viv", ["Ifo"] = "iff", ["Igana"] = "igg", ["Igede"] = "ige", ["Ignaciano"] = "ign", ["Igo"] = "ahl", ["Iguta"] = "nar", ["Igwe"] = "igw", ["Iha"] = "ihp", ["Ihievbe"] = "ihi", ["Ija-Zuba"] = "vki", ["Ik"] = "ikx", ["Ika"] = "ikk", ["Ikaranggal"] = "ikr", ["Ikizu"] = "ikz", ["Iko"] = "iki", ["Ikobi-Mena"] = "meb", ["Ikoma"] = "ntk", ["Ikpeng"] = "txi", ["Ikpeshi"] = "ikp", ["Iku-Gora-Ankwa"] = "ikv", ["Ikulu"] = "ikl", ["Ikwo"] = "iqw", ["Ila"] = "ilb", ["Ile Ape"] = "ila", ["Ilgar"] = "ilg", ["Ili'uun"] = "ilu", ["Ilianen Manobo"] = "mbi", ["Illyrian"] = "xil", ["Ilongot"] = "ilk", ["Ilue"] = "ilv", ["Ilwana"] = "mlk", ["Imbongu"] = "imo", ["Imonda"] = "imn", ["Imroing"] = "imr", ["Inabaknon"] = "abx", ["Inapang"] = "mzu", ["Indanga"] = "bnt-ind", ["Indian Sign Language"] = "ins", ["Indonesian Bajau"] = "bdl", ["Indonesian Sign Language"] = "inl", ["Indri"] = "idr", ["Indus Valley Language"] = "xiv", ["Inebu One"] = "oin", ["Ineseño"] = "inz", ["Inga"] = "inb", ["Inlaod Itneg"] = "iti", ["Inoke-Yate"] = "ino", ["Inonhan"] = "loc", ["Inpui Naga"] = "nkf", ["International Sign"] = "ils", ["Inuinnaqtun"] = "esx-inq", ["Inuit Sign Language"] = "iks", ["Inuktun"] = "esx-ink", ["Ipai"] = "nai-ipa", ["Ipalapa Amuzgo"] = "azm", ["Ipiko"] = "ipo", ["Ipili"] = "ipi", ["Ipulo"] = "ass", ["Iquito"] = "iqu", ["Ir"] = "irr", ["Irantxe"] = "irn", ["Iranun"] = "ill", ["Irarutu"] = "irh", ["Iraya"] = "iry", ["Iresim"] = "ire", ["Iriga Bicolano"] = "bto", ["Irish Sign Language"] = "isg", ["Isabi"] = "isa", ["Isanzu"] = "isn", ["Isarog Agta"] = "agk", ["Isaurian"] = "und-isa", ["Isconahua"] = "isc", ["Isebe"] = "igo", ["Isinai"] = "inn", ["Isirawa"] = "srl", ["Islander Creole English"] = "icr", ["Israeli Sign Language"] = "isr", ["Isthmus Mixe"] = "mir", ["Isu"] = "isu", ["Isubu"] = "szv", ["Italian Sign Language"] = "ise", ["Itawit"] = "itv", ["Iteri"] = "itr", ["Itik"] = "itx", ["Ito"] = "itw", ["Itundujia Mixtec"] = "mce", ["Itzá"] = "itz", ["Iwal"] = "kbm", ["Iwam"] = "iwm", ["Iwur"] = "iwo", ["Ixcatec"] = "ixc", ["Ixcatlán Mazatec"] = "mzi", ["Ixtayutla Mixtec"] = "vmj", ["Ixtenco Otomi"] = "otz", ["Iyayu"] = "iya", ["Iyive"] = "uiv", ["Iyo"] = "nca", ["Iyo'wujwa Chorote"] = "crq", ["Iyojwa'ja Chorote"] = "crt", ["Izere"] = "izr", ["Izi"] = "izz", ["Izi-Ezaa-Ikwo-Mgbo"] = "izi", ["Izora"] = "cbo", ["Iñapari"] = "inp", ["Jabem"] = "jae", ["Jabutí"] = "jbt", ["Jad"] = "jda", ["Jadgali"] = "jdg", ["Jahanka"] = "jad", ["Jair Awyu"] = "awv", ["Jakati"] = "jat", ["Jalapa de Díaz Mazatec"] = "maj", ["Jalkunan"] = "bxl", ["Jamaican Country Sign Language"] = "jcs", ["Jamaican Sign Language"] = "jls", ["Jambi Malay"] = "jax", ["Jamiltepec Mixtec"] = "mxt", ["Jaminjung"] = "djd", ["Jamsay"] = "djm", ["Jamtish"] = "gmq-jmk", ["Jandavra"] = "jnd", ["Janday"] = "jan", ["Jangkang"] = "djo", ["Jangshung"] = "jna", ["Janji"] = "jni", ["Japanese Sign Language"] = "jsl", ["Japrería"] = "jru", ["Jara"] = "jaf", ["Jaru"] = "ddj", ["Jassic"] = "ysc", ["Jawe"] = "jaz", ["Jaya"] = "jyy", ["Jebero"] = "jeb", ["Jeikó"] = "sai-jko", ["Jenaama Bozo"] = "bze", ["Jeng"] = "jeg", ["Jere"] = "jer", ["Jeri Kuo"] = "jek", ["Jerung"] = "jee", ["Jhankot Sign Language"] = "jhs", ["Jiamao"] = "jio", ["Jiba"] = "juo", ["Jibu"] = "jib", ["Jilbe"] = "jie", ["Jili"] = "mgi", ["Jilim"] = "jil", ["Jimi"] = "jmi", ["Jimjimen"] = "jim", ["Jina"] = "jia", ["Jingulu"] = "jig", ["Jiongnai Bunu"] = "pnu", ["Jirajara"] = "sai-jrj", ["Jiru"] = "jrr", ["Jita"] = "jit", ["Joba"] = "job", ["Jofotek-Bromnya"] = "jbr", ["Jola-Fonyi"] = "dyo", ["Jola-Kasa"] = "csk", ["Jonkor Bourmataguil"] = "jeu", ["Jordanian Sign Language"] = "jos", ["Jorá"] = "jor", ["Jowulu"] = "jow", ["Ju"] = "juu", ["Jumla Sign Language"] = "jus", ["Jumli"] = "jml", ["Jungle Inga"] = "inj", ["Juquila Mixe"] = "mxq", ["Jur Modo"] = "bex", ["Jurúna"] = "jur", ["Jutiapa"] = "nai-jtp", ["Juwal"] = "mwb", ["Juxtlahuaca Mixtec"] = "vmc", ["Jwira-Pepesa"] = "jwi", ["Júma"] = "jua", ["Kaamba"] = "xku", ["Kaan"] = "ldl", ["Kaang Chin"] = "ckn", ["Kaansa"] = "gna", ["Kaapor Sign Language"] = "uks", ["Kaba"] = "ksp", ["Kabalai"] = "kvf", ["Kabatei"] = "xkp", ["Kabba-Laka"] = "lap", ["Kabishiana"] = "tup-kab", ["Kabola"] = "klz", ["Kabore One"] = "onk", ["Kabras"] = "lkb", ["Kaburi"] = "uka", ["Kabutra"] = "kbu", ["Kabwa"] = "cwa", ["Kabwari"] = "kcw", ["Kachari"] = "xac", ["Kacipo-Balesi"] = "koe", ["Kaco'"] = "xkk", ["Kadai"] = "kzd", ["Kadara"] = "kad", ["Kadaru"] = "kdu", ["Kadiwéu"] = "kbc", ["Kado"] = "kdv", ["Kadugli"] = "xtc", ["Kaduo"] = "ktp", ["Kaera"] = "jka", ["Kafoa"] = "kpu", ["Kagan Kalagan"] = "kll", ["Kagate"] = "syw", ["Kagoma"] = "kdm", ["Kagoro"] = "xkg", ["Kagulu"] = "kki", ["Kahe"] = "hka", ["Kahua"] = "agw", ["Kaian"] = "kct", ["Kaibobo"] = "kzb", ["Kaidipang"] = "kzp", ["Kaiep"] = "kbw", ["Kaike"] = "kzq", ["Kaiku"] = "kkq", ["Kaimbulawa"] = "zka", ["Kaimbé"] = "xai", ["Kairak"] = "ckr", ["Kairiru"] = "kxa", ["Kairui-Midiki"] = "krd", ["Kais"] = "kzm", ["Kaivi"] = "kce", ["Kaiwá"] = "kgk", ["Kaiy"] = "tcq", ["Kajakse"] = "ckq", ["Kajali"] = "xkj", ["Kajaman"] = "kag", ["Kakabe"] = "kke", ["Kakanda"] = "kka", ["Kakihum"] = "kxe", ["Kako"] = "kkj", ["Kakwa"] = "keo", ["Kala"] = "kcl", ["Kala Lagaw Ya"] = "mwp", ["Kalaamaya"] = "lkm", ["Kalabakan"] = "kve", ["Kalabari"] = "ijn", ["Kalabra"] = "kzz", ["Kalagan"] = "kqe", ["Kalaktang Monpa"] = "kkf", ["Kalam"] = "kmh", ["Kalamsé"] = "knz", ["Kalanadi"] = "wkl", ["Kalanga"] = "kck", ["Kalapuya"] = "kyl", ["Kalarko"] = "kba", ["Kalasuri"] = "xme-kls", ["Kalenjin"] = "kln", ["Kalinago"] = "crb", ["Kalkatungu"] = "ktg", ["Kalou"] = "ywa", ["Kaluli"] = "bco", ["Kalumpang"] = "kli", ["Kam"] = "kdx", ["Kamakan"] = "vkm", ["Kamang"] = "woi", ["Kamano"] = "kbq", ["Kamantan"] = "kci", ["Kamar"] = "keq", ["Kamara"] = "jmr", ["Kamarian"] = "kzx", ["Kamaru"] = "kgx", ["Kamasa"] = "klp", ["Kamasau"] = "kms", ["Kamayurá"] = "kay", ["Kamba"] = "kam", ["Kambaira"] = "kyy", ["Kamberataro"] = "kbv", ["Kamberau"] = "irx", ["Kambiwá"] = "xbw", ["Kami"] = "kmi", ["Kamkata-viri"] = "bsh", ["Kamo"] = "kcq", ["Kamoro"] = "kgq", ["Kamu"] = "xmu", ["Kamwe"] = "hig", ["Kanakuru"] = "kna", ["Kanamari"] = "knm", ["Kanashi"] = "xns", ["Kanasi"] = "soq", ["Kandas"] = "kqw", ["Kandawo"] = "gam", ["Kande"] = "kbs", ["Kang"] = "kyp", ["Kanga"] = "kcp", ["Kanggape"] = "igm", ["Kango"] = "kty", ["Kango-Sua"] = "kzy", ["Kaniet"] = "ktk", ["Kanikkaran"] = "kev", ["Kaningdon-Nindem"] = "kdp", ["Kaningi"] = "kzo", ["Kaningra"] = "knr", ["Kaninuwa"] = "wat", ["Kanite"] = "kmu", ["Kanjari"] = "kft", ["Kanju"] = "kbe", ["Kanowit"] = "kxn", ["Kanoé"] = "kxo", ["Kansa"] = "ksk", ["Kantosi"] = "xkt", ["Kanu"] = "khx", ["Kanufi"] = "kni", ["Kanyok"] = "kny", ["Kao"] = "kax", ["Kaonde"] = "kqn", ["Kap"] = "ykm", ["Kapauri"] = "khp", ["Kapin"] = "tbx", ["Kapinawá"] = "xpn", ["Kapriman"] = "dju", ["Kaptiau"] = "kbi", ["Kapya"] = "klo", ["Kara (New Guinea)"] = "leu", ["Kara (Tanzania)"] = "reg", ["Karadjeri"] = "gbd", ["Karaga Mandaya"] = "mry", ["Karami"] = "xar", ["Karamojong"] = "kdj", ["Karang"] = "kzr", ["Karanga"] = "kth", ["Karankawa"] = "zkk", ["Karas"] = "kgv", ["Karawa"] = "xrw", ["Kare (Africa)"] = "kbn", ["Kare (New Guinea)"] = "kmf", ["Karey"] = "kyd", ["Kari"] = "kbj", ["Karingani"] = "kgn", ["Karipuna"] = "kuq", ["Karipúna"] = "kgm", ["Karipúna Creole French"] = "kmv", ["Kariya"] = "kil", ["Kariyarra"] = "vka", ["Karkar-Yuri"] = "yuj", ["Karkin"] = "krb", ["Karko"] = "kko", ["Karnai"] = "bbv", ["Karo Batak"] = "btx", ["Karok"] = "kyh", ["Karolanos"] = "kyn", ["Karon"] = "krx", ["Karon Dori"] = "kgw", ["Karore"] = "xkx", ["Karranga"] = "xrq", ["Karuwali"] = "rxw", ["Kasanga"] = "ccj", ["Kasem"] = "xsm", ["Kasiguranin"] = "ksn", ["Kaska"] = "kkz", ["Kaskean"] = "zsk", ["Kaskihá"] = "gva", ["Kassite"] = "und-kas", ["Kassonke"] = "kao", ["Kasua"] = "khs", ["Kataang"] = "kgd", ["Katabaga"] = "ktq", ["Katawixi"] = "xat", ["Katembri"] = "sai-kat", ["Kathlamet"] = "nai-kat", ["Kathoriya Tharu"] = "tkt", ["Kathu"] = "ykt", ["Katkari"] = "kfu", ["Katla"] = "kcr", ["Kato"] = "ktw", ["Katso"] = "kaf", ["Katukina"] = "knt", ["Kaulong"] = "pss", ["Kaur"] = "vkk", ["Kaure"] = "bpp", ["Kauwera"] = "xau", ["Kawacha"] = "kcb", ["Kawaiisu"] = "xaw", ["Kawe"] = "kgb", ["Kawishana"] = "awd-kaw", ["Kaxararí"] = "ktx", ["Kaxuyana"] = "kbb", ["Kaya"] = "zra", ["Kayabí"] = "kyz", ["Kayagar"] = "kyt", ["Kayan Mahakam"] = "xay", ["Kayan River Kayan"] = "xkn", ["Kayardild"] = "gyd", ["Kayeli"] = "kzl", ["Kaytetye"] = "gbb", ["Kayupulau"] = "kzu", ["Kazukuru"] = "kzk", ["Ke'o"] = "xxk", ["Keak"] = "keh", ["Keapara"] = "khz", ["Kedang"] = "ksx", ["Keder"] = "kdy", ["Kehu"] = "khh", ["Kei"] = "kei", ["Keiga"] = "kec", ["Kein"] = "bmh", ["Keiyo"] = "eyo", ["Kela-Yela"] = "kel", ["Kelabit"] = "kzi", ["Keley-I Kallahan"] = "ify", ["Tiếng Keliko"] = "kbo", ["Kelo"] = "xel", ["Kelon"] = "kyo", ["Kemak"] = "kem", ["Kembayan"] = "xem", ["Kemberano"] = "bzp", ["Kembra"] = "xkw", ["Kemezung"] = "dmo", ["Kemi Sami"] = "sjk", ["Kemiehua"] = "kfj", ["Kemtuik"] = "kmt", ["Kenaboi"] = "xbn", ["Kenati"] = "gat", ["Kendayan"] = "knx", ["Kendeje"] = "klf", ["Kendem"] = "kvm", ["Kenga"] = "kyq", ["Keningau Murut"] = "kxi", ["Keninjal"] = "knl", ["Kenswei Nsei"] = "ndb", ["Kenyan Sign Language"] = "xki", ["Kenyi"] = "lke", ["Keoru-Ahia"] = "xeu", ["Kepkiriwát"] = "kpn", ["Kepo'"] = "kuk", ["Kera"] = "ker", ["Kerak"] = "hhr", ["Kereho"] = "xke", ["Kerewe"] = "ked", ["Kerewo"] = "kxz", ["Kerinci"] = "kvr", ["Kesawai"] = "xes", ["Ketangalan"] = "kae", ["Kete"] = "kcv", ["Ketengban"] = "xte", ["Ketum"] = "ktt", ["Kewa"] = "kew", ["Keyagana"] = "kyg", ["Kgalagadi"] = "xkv", ["Khana"] = "ogo", ["Khandeshi"] = "khn", ["Khao"] = "xao", ["Kharam Naga"] = "kfw", ["Kharia Thar"] = "ksy", ["Khayo"] = "lko", ["Khe"] = "kqg", ["Khehek"] = "tlx", ["Khetrani"] = "xhe", ["Khezha Naga"] = "nkh", ["Khirwar"] = "kwx", ["Khisa"] = "kqm", ["Khlor"] = "llo", ["Khlula"] = "ykl", ["Khoibu Naga"] = "nkb", ["Khoini"] = "xkc", ["Kholok"] = "ktc", ["Khumi Chin"] = "cnk", ["Khwe"] = "xuu", ["Kibala"] = "blv", ["Kibena"] = "bez", ["Kibet"] = "kie", ["Kibiri"] = "prm", ["Kichwa"] = "qwe-kch", ["Kikami"] = "kcu", ["Kilit"] = "xme-klt", ["Kilivila"] = "kij", ["Kiliwa"] = "klb", ["Kilmeri"] = "kih", ["Kimaama"] = "kig", ["Kimaragang"] = "kqr", ["Kimbu"] = "kiv", ["Kimki"] = "sbt", ["Kimré"] = "kqp", ["Kinabalian"] = "cbw", ["Kinalakna"] = "kco", ["Kinga"] = "zga", ["Kings River Yokuts"] = "nai-kry", ["Kinikinao"] = "gqn", ["Kinuku"] = "kkd", ["Kioko"] = "ues", ["Kiong"] = "kkm", ["Kiorr"] = "xko", ["Kipfokomo"] = "pkb", ["Kipsigis"] = "sgc", ["Kiput"] = "kyi", ["Kir-Balar"] = "kkr", ["Kire"] = "geb", ["Kirfi"] = "kks", ["Kirikiri"] = "kiy", ["Kirya-Konzel"] = "fkk", ["Kis"] = "kis", ["Kisa"] = "lks", ["Kisankasa"] = "kqh", ["Kisar"] = "kje", ["Kisi"] = "kiz", ["Kita Maninkakan"] = "mwk", ["Kitanemuk"] = "azc-ktn", ["Kitembo"] = "tbt", ["Kitja"] = "gia", ["Kitsai"] = "kii", ["Kiunum"] = "wei", ["Kla"] = "lda", ["Klamath-Modoc"] = "kla", ["Klao"] = "klu", ["Klias River Kadazan"] = "kqt", ["Ko"] = "fuj", ["Koasati"] = "cku", ["Koba"] = "kpd", ["Kobiana"] = "kcj", ["Kobol"] = "kgu", ["Kochila Tharu"] = "thq", ["Kodaku"] = "ksz", ["Kodeoha"] = "vko", ["Kodi"] = "kod", ["Kodia"] = "kwp", ["Koenoem"] = "kcs", ["Kofa"] = "kso", ["Kofei"] = "kpi", ["Kofyar"] = "kwl", ["Kohin"] = "kkx", ["Kohumono"] = "bcs", ["Koi"] = "kkt", ["Koireng"] = "nkd", ["Koitabu"] = "kqi", ["Koiwat"] = "kxt", ["Kok-Nar"] = "gko", ["Kok-Paponk"] = "okg", ["Kokata"] = "ktd", ["Koke"] = "kou", ["Koko-Bera"] = "kkp", ["Kokoda"] = "xod", ["Kokola"] = "kzn", ["Kokota"] = "kkk", ["Kol (Cameroon)"] = "biw", ["Kol (New Guinea)"] = "kol", ["Kola"] = "kvv", ["Kolbila"] = "klc", ["Kolibugan Subanon"] = "skn", ["Kolom"] = "klm", ["Koluwawa"] = "klx", ["Kom (India)"] = "kmm", ["Koma"] = "kmy", ["Komba"] = "kpf", ["Kombai"] = "tyn", ["Kombio"] = "xbi", ["Komering"] = "kge", ["Kominimung"] = "xoi", ["Kompane"] = "kvp", ["Komyandaret"] = "kzv", ["Kon Keu"] = "kkn", ["Konai"] = "kxw", ["Konda"] = "knd", ["Koneraw"] = "kdw", ["Konkomba"] = "xon", ["Konni"] = "kma", ["Kono (Guinea)"] = "knu", ["Kono (Nigeria)"] = "klk", ["Kono (Sierra Leone)"] = "kno", ["Konomala"] = "koa", ["Konomihu"] = "nai-knm", ["Konongo"] = "kcz", ["Konyak Naga"] = "nbe", ["Konyanka Maninka"] = "mku", ["Konzo"] = "koo", ["Kopar"] = "xop", ["Kopkaka"] = "opk", ["Korafe-Yegha"] = "kpr", ["Korak"] = "koz", ["Korana"] = "kqz", ["Korandje"] = "kcy", ["Korean Sign Language"] = "kvk", ["Koreguaje"] = "coe", ["Koresh-e Rostam"] = "okh", ["Korlai Creole Portuguese"] = "vkp", ["Koro (India)"] = "jkr", ["Koro (New Guinea)"] = "kxr", ["Koro (Vanuatu)"] = "krf", ["Koro (West Africa)"] = "kfo", ["Koromfé"] = "kfz", ["Koromira"] = "kqj", ["Koronadal Blaan"] = "bpr", ["Koroni"] = "xkq", ["Korop"] = "krp", ["Koropó"] = "xxr", ["Koroshi"] = "ktl", ["Korowai"] = "khe", ["Korubo"] = "xor", ["Korupun-Sela"] = "kpq", ["Kosadle"] = "kiq", ["Kosarek Yale"] = "kkl", ["Kosena"] = "kze", ["Koshin"] = "kid", ["Kota (Gabon)"] = "koq", ["Kota Bangun Kutai Malay"] = "mqg", ["Kota Marudu Talantang"] = "grm", ["Kota Marudu Tinagas"] = "ktr", ["Kotafon Gbe"] = "kqk", ["Koti"] = "eko", ["Kou"] = "snz", ["Kouya"] = "kyf", ["Kovai"] = "kqb", ["Kove"] = "kvc", ["Kowaki"] = "xow", ["Kowiai"] = "kwh", ["Koy Sanjaq Surat"] = "kqd", ["Koyaga"] = "kga", ["Koyo"] = "koh", ["Koyra Chiini"] = "khq", ["Koyukon"] = "koy", ["Kpagua"] = "kuw", ["Kpala"] = "kpl", ["Kpan"] = "kpk", ["Kpasam"] = "pbn", ["Kpati"] = "koc", ["Kpatili"] = "kym", ["Kpee"] = "cpo", ["Kpelle"] = "kpe", ["Kpessi"] = "kef", ["Kplang"] = "kph", ["Krache"] = "kye", ["Krahô"] = "xra", ["Krenak"] = "kqq", ["Krevinian"] = "zkv", ["Kreye"] = "xre", ["Krikati-Timbira"] = "xri", ["Krim"] = "krm", ["Krisa"] = "ksi", ["Kristang"] = "mcm", ["Krobu"] = "kxb", ["Krongo"] = "kgo", ["Kua"] = "tyu", ["Kua-nsi"] = "ykn", ["Kuamasi"] = "yku", ["Kuan"] = "uan", ["Kuanhua"] = "xnh", ["Kube"] = "kgf", ["Kubi"] = "kof", ["Kubo"] = "jko", ["Kubu"] = "kvb", ["Kucong"] = "lkc", ["Kudu-Camo"] = "kov", ["Kugama"] = "kow", ["Kugbo"] = "kes", ["Kugu-Muminh"] = "xmh", ["Kui (Indonesia)"] = "kvd", ["Kuijau"] = "dkr", ["Kuikúro"] = "kui", ["Kujarge"] = "vkj", ["Kuk"] = "kfn", ["Kukatja"] = "kux", ["Kukele"] = "kez", ["Kukkuzi"] = "urj-kuk", ["Kuku-Mangk"] = "xmq", ["Kuku-Mu'inh"] = "xmp", ["Kuku-Thaypan"] = "typ", ["Kuku-Ugbanh"] = "ugb", ["Kuku-Uwanh"] = "uwa", ["Kuku-Yalanji"] = "gvn", ["Kula"] = "tpg", ["Kulaal"] = "glj", ["Kulere"] = "kul", ["Kulfa"] = "kxj", ["Kulina"] = "xpk", ["Kulisusu"] = "vkl", ["Kulon"] = "uon", ["Kulung"] = "kle", ["Kumak"] = "nee", ["Kumalu"] = "ksl", ["Kumam"] = "kdi", ["Kuman"] = "kue", ["Kumaoni"] = "kfy", ["Kumba"] = "ksm", ["Kumbainggar"] = "kgs", ["Kumbaran"] = "wkb", ["Kumhali"] = "kra", ["Kumu"] = "kmw", ["Kumukio"] = "kuo", ["Kunama"] = "kun", ["Kunbarlang"] = "wlg", ["Kunda"] = "kdn", ["Kunduvadi"] = "wku", ["Kung"] = "kfl", ["Kungarakany"] = "ggk", ["Kungardutyi"] = "gdt", ["Kunggari"] = "kgl", ["Kungkari"] = "lku", ["Kuni"] = "kse", ["Kuni-Boazi"] = "kvg", ["Kunimaipa"] = "kup", ["Kunja"] = "pep", ["Kunjen"] = "kjn", ["Kunyi"] = "njx", ["Kunza"] = "kuz", ["Kuot"] = "kto", ["Kupa"] = "kug", ["Kupang Malay"] = "mkn", ["Kupsabiny"] = "kpz", ["Kur"] = "kuv", ["Kura Ede Nago"] = "nqk", ["Kurama"] = "krh", ["Kuranko"] = "knk", ["Tiếng Kuri"] = "nbn", ["Kuria"] = "kuj", ["Kurmukar"] = "kfv", ["Kurnai"] = "unn", ["Kurrama"] = "vku", ["Kurti"] = "ktm", ["Kurtjar"] = "gdj", ["Kurudu"] = "kjr", ["Kuruáya"] = "kyr", ["Tiếng Kusaal"] = "kus", ["Kusaghe"] = "ksg", ["Kustenau"] = "awd-kus", ["Kusu"] = "ksv", ["Kusunda"] = "kgg", ["Kuthant"] = "xut", ["Kutto"] = "kpa", ["Kutu"] = "kdc", ["Kuturmi"] = "khj", ["Kuuk Thaayorre"] = "thd", ["Kuuk Yak"] = "uky", ["Kuuku-Ya'u"] = "kuy", ["Kuvale"] = "olu", ["Kuwaa"] = "blh", ["Kuwaataay"] = "cwt", ["Kuwani"] = "paa-kwn", ["Kwa'"] = "bko", ["Kwaami"] = "ksq", ["Kwadi"] = "kwz", ["Kwaio"] = "kwd", ["Kwaja"] = "kdz", ["Kwak"] = "kwq", ["Kwakum"] = "kwu", ["Kwalhioqua-Tlatskanai"] = "qwt", ["Kwama"] = "kmq", ["Kwambi"] = "kwm", ["Kwamera"] = "tnk", ["Kwami"] = "ktf", ["Kwamtim One"] = "okk", ["Kwang"] = "kvi", ["Kwanga"] = "kwj", ["Kwangali"] = "kwn", ["Kwanka"] = "bij", ["Kwara'ae"] = "kwf", ["Kwasio"] = "nmg", ["Kwaya"] = "kya", ["Kwaza"] = "xwa", ["Kwegu"] = "xwg", ["Kwer"] = "kwr", ["Kwerba"] = "kwe", ["Kwerba Mamberamo"] = "xwr", ["Kwere"] = "cwe", ["Kwerisa"] = "kkb", ["Kwese"] = "kws", ["Kwesten"] = "kwt", ["Kwini"] = "gww", ["Kwinsu"] = "kuc", ["Kwoma"] = "kmo", ["Kwomtari"] = "kwo", ["Kyak"] = "bka", ["Kyaka"] = "kyc", ["Kyan-Karyaw Naga"] = "nqq", ["Kyenele"] = "kql", ["Kyenga"] = "tye", ["Kyerung"] = "kgy", ["Kélé"] = "keb", ["Kómnzo"] = "paa-kom", ["La'bi"] = "lbi", ["Laal"] = "gdm", ["Laba"] = "lau", ["Label"] = "lbb", ["Labir"] = "jku", ["Labo"] = "mwi", ["Labo Phowa"] = "ypb", ["Labu"] = "lbu", ["Labuk-Kinabatangan Kadazan"] = "dtb", ["Lacandon"] = "lac", ["Lachi"] = "lbt", ["Lachiguiri Zapotec"] = "zpa", ["Lachixío Zapotec"] = "zpl", ["Ladji-Ladji"] = "llj", ["Laeko-Libuat"] = "lkl", ["Lafofa"] = "laf", ["Laghu"] = "lgb", ["Laghuu"] = "lgh", ["Lagwan"] = "kot", ["Laha (Indonesia)"] = "lhh", ["Tiếng La Ha"] = "lha", ["Lahanan"] = "lhn", ["Lahu Shi"] = "lhi", ["Lahul Lohar"] = "lhl", ["Laimbue"] = "lmx", ["Laitu Chin"] = "clj", ["Laiyolo"] = "lji", ["Laka"] = "lak", ["Lake Miwok"] = "lmw", ["Lakha"] = "lkh", ["Lakkia"] = "lbc", ["Lakon"] = "lkn", ["Lakondê"] = "lkd", ["Lakota Dida"] = "dic", ["Lala (New Guinea)"] = "nrz", ["Lala (South Africa)"] = "bnt-lal", ["Lala-Bisa"] = "leb", ["Lala-Roba"] = "lla", ["Lalana Chinantec"] = "cnl", ["Lamaholot"] = "slp", ["Lamalera"] = "lmr", ["Lamang"] = "hia", ["Lamatuka"] = "lmq", ["Lamba"] = "lam", ["Lambichhong"] = "lmh", ["Lambya"] = "lai", ["Lame"] = "bma", ["Lamenu"] = "lmu", ["Lamet"] = "lbn", ["Lamja-Dengsa-Tola"] = "ldh", ["Lamma"] = "lev", ["Lamnso'"] = "lns", ["Lamogai"] = "lmg", ["Lampung Api"] = "ljp", ["Lamu"] = "llh", ["Lamu-Lamu"] = "lby", ["Lanas Lobu"] = "ruu", ["Landoma"] = "ldm", ["Lang'e"] = "yne", ["Langam"] = "lnm", ["Langbashe"] = "lna", ["Langi"] = "lag", ["Langnian Buyang"] = "yln", ["Lango (Sudan)"] = "lno", ["Lango (Uganda)"] = "laj", ["Lanima"] = "lnw", ["Lao Naga"] = "nlq", ["Laopang"] = "lbg", ["Laos Sign Language"] = "lso", ["Lapaguía-Guivini Zapotec"] = "ztl", ["Lapine"] = "art-lap", ["Lapuyan Subanun"] = "laa", ["Laragia"] = "lrg", ["Larantuka Malay"] = "lrt", ["Lardil"] = "lbz", ["Larevat"] = "lrv", ["Larike-Wakasihu"] = "alo", ["Laro"] = "lro", ["Larteh"] = "lar", ["Laru"] = "lan", ["Lasgerdi"] = "lsa", ["Lasi"] = "lss", ["Latu"] = "ltu", ["Latvian Sign Language"] = "lsl", ["Lau"] = "llu", ["Laua"] = "luf", ["Lauan"] = "llx", ["Lauje"] = "law", ["Laura"] = "lur", ["Laurentian"] = "lre", ["Lavatbura-Lamusong"] = "lbv", ["Lawangan"] = "lbx", ["Lawu"] = "lwu", ["Lawunuia"] = "tgi", ["Laze"] = "tbq-laz", ["Lealao Chinantec"] = "cle", ["Leco"] = "lec", ["Ledo Kaili"] = "lew", ["Leelau"] = "ldk", ["Lefa"] = "lfa", ["Lega-Mwenga"] = "lgm", ["Lega-Shabunda"] = "lea", ["Legbo"] = "agb", ["Legenyem"] = "lcc", ["Lehali"] = "tql", ["Lehalurup"] = "urr", ["Leinong Naga"] = "lzn", ["Leipon"] = "lek", ["Lela"] = "dri", ["Lelak"] = "llk", ["Lele (Chad)"] = "lln", ["Lele (Congo)"] = "lel", ["Lele (Guinea)"] = "llc", ["Lele (New Guinea)"] = "lle", ["Lelepa"] = "lpa", ["Lembena"] = "leq", ["Lemerig"] = "lrz", ["Lemio"] = "lei", ["Lemolang"] = "ley", ["Lemoro"] = "ldj", ["Lenakel"] = "tnl", ["Lendu"] = "led", ["Lengilu"] = "lgi", ["Lengo"] = "lgr", ["Lengola"] = "lej", ["Lenje"] = "leh", ["Lenkau"] = "ler", ["Lenyima"] = "ldg", ["Lepki"] = "lpe", ["Lere"] = "gnh", ["Lese"] = "les", ["Lesing-Gelimi"] = "let", ["Letemboi"] = "nms", ["Leti (Cameroon)"] = "leo", ["Leti (Indonesia)"] = "lti", ["Levuka"] = "lvu", ["Lewo Eleng"] = "lwe", ["Lewotobi"] = "lwt", ["Leyigha"] = "ayi", ["Lhokpu"] = "lhp", ["Li'o"] = "ljl", ["Liana-Seti"] = "ste", ["Liangmai Naga"] = "njn", ["Liberian Kreyol"] = "lir", ["Libinza"] = "liz", ["Libon Bikol"] = "lbl", ["Liburnian"] = "xli", ["Libyan Sign Language"] = "lbs", ["Ligbi"] = "lig", ["Ligenza"] = "lgz", ["Lihir"] = "lih", ["Lika"] = "lik", ["Liki"] = "lio", ["Likila"] = "lie", ["Likuba"] = "kxx", ["Likum"] = "lib", ["Likwala"] = "kwc", ["Lilau"] = "lll", ["Limassa"] = "bme", ["Limbu"] = "lif", ["Limi"] = "ylm", ["Limilngan"] = "lmc", ["Linear A"] = "lab", ["Lingkhim"] = "lii", ["Lingua Franca Nova"] = "lfn", ["Linngithigh"] = "lnj", ["Lipo"] = "lpo", ["Lisabata-Nuniali"] = "lcs", ["Lisela"] = "lcl", ["Lish"] = "lsh", ["Lishán Didán"] = "trg", ["Lithuanian Sign Language"] = "lls", ["Little Swanport"] = "aus-lsw", ["Litzlitz"] = "lzl", ["Lizu"] = "sit-liz", ["Lo-Toga"] = "lht", ["Loarki"] = "lrk", ["Lobala"] = "loq", ["Logo"] = "log", ["Logol"] = "lof", ["Logooli"] = "rag", ["Logorik"] = "liu", ["Lokaa"] = "yaz", ["Loko"] = "lok", ["Lokoya"] = "lky", ["Lola"] = "lcd", ["Lolak"] = "llq", ["Lole"] = "llg", ["Lolo"] = "llb", ["Loloda"] = "loa", ["Lolopo"] = "ycl", ["Lomaiviti"] = "lmv", ["Lomakka"] = "loi", ["Lombi"] = "lmi", ["Lombo"] = "loo", ["Lomwe"] = "ngl", ["Loncong"] = "lce", ["Long Phuri Naga"] = "lpn", ["Long Wat"] = "ttw", ["Longgu"] = "lgu", ["Longto"] = "wok", ["Longuda"] = "lnu", ["Loniu"] = "los", ["Lonwolwol"] = "crc", ["Loo"] = "ldo", ["Lopa"] = "lop", ["Lope"] = "yiu", ["Lopi"] = "lov", ["Lopit"] = "lpx", ["Lorang"] = "lrn", ["Lorediakarkar"] = "lnn", ["Lote"] = "uvl", ["Lotud"] = "dtr", ["Lotuko"] = "lot", ["Loun"] = "lox", ["Loup A"] = "xlo", ["Loup B"] = "xlb", ["Lovono"] = "vnk", ["Lower Burdekin"] = "xbb", ["Lower Chehalis"] = "cea", ["Lower Grand Valley Dani"] = "dni", ["Lower Nossob"] = "nsb", ["Lower Southern Aranda"] = "axl", ["Lower Ta'oih"] = "tto", ["Lowland Oaxaca Chontal"] = "clo", ["Lowland Tarahumara"] = "tac", ["Loxicha Zapotec"] = "ztp", ["Lozi"] = "loz", ["Luang"] = "lex", ["Tiếng Luba-Kasai"] = "lua", ["Lubila"] = "kcc", ["Lubu"] = "lcf", ["Tiếng Kalinga Lubuagan"] = "knb", ["Luchazi"] = "lch", ["Lufu"] = "ldq", ["Lugbara"] = "lgg", ["Luguru"] = "ruf", ["Luhu"] = "lcq", ["Luimbi"] = "lum", ["Luiseño"] = "lui", ["Lule"] = "ule", ["Lule Sami"] = "smj", ["Lumba-Yakkha"] = "luu", ["Lumbee"] = "lmz", ["Lumun"] = "lmd", ["Lun Bawang"] = "lnd", ["Luna"] = "luj", ["Lunda"] = "lun", ["Lungga"] = "lga", ["Luo"] = "luo", ["Luopohe Hmong"] = "hml", ["Luri (Nigeria)"] = "ldd", ["Lusengo"] = "lse", ["Lusi"] = "khl", ["Lusitanian"] = "xls", ["Lutachoni"] = "lts", ["Lutos"] = "ndy", ["Luvale"] = "lue", ["Luwati"] = "luv", ["Luwo"] = "lwo", ["Luyana"] = "lyn", ["Lwalu"] = "lwa", ["Lwel"] = "lvl", ["Lyélé"] = "lee", ["Tiếng Láadan"] = "ldn", ["Láá Láá Bwamu"] = "bwj", ["Ma"] = "msj", ["Tiếng Ma Manda"] = "skc", ["Ma'di"] = "mhi", ["Ma'ya"] = "slz", ["Maba"] = "mqa", ["Mabaale"] = "mmz", ["Mabaka Valley Kalinga"] = "kkg", ["Mabire"] = "muj", ["Maca"] = "mca", ["Macaguaje"] = "mcl", ["Macaguán"] = "mbn", ["Macanese"] = "mzs", ["Macau Pidgin Portuguese"] = "crp-mpp", ["Machame"] = "jmc", ["Machiguenga"] = "mcb", ["Machinere"] = "mpd", ["Machinga"] = "mvw", ["Macoris"] = "nai-mac", ["Macuna"] = "myy", ["Mada (Cameroon)"] = "mxu", ["Mada (Nigeria)"] = "mda", ["Madagascar Sign Language"] = "mzc", ["Madak"] = "mmx", ["Maden"] = "xmx", ["Madhi Madhi"] = "dmd", ["Madi"] = "grg", ["Madngele"] = "zml", ["Madukayang Kalinga"] = "kmd", ["Mae"] = "mme", ["Maek"] = "hmk", ["Maeng Itneg"] = "itt", ["Mafa"] = "maf", ["Mafea"] = "mkv", ["Mag-Anchi Ayta"] = "sgb", ["Mag-Indi Ayta"] = "blx", ["Magadhi Prakrit"] = "inc-mgd", ["Magahat"] = "mtw", ["Magdalena Peñasco Mixtec"] = "xtm", ["Magiyi"] = "gmg", ["Magoma"] = "gmx", ["Magɨ"] = "gkd", ["Mahican"] = "mjy", ["Mahongwe"] = "mhb", ["Mahou"] = "mxx", ["Tiếng Maia"] = "sks", ["Maiadomu"] = "mzz", ["Maiani"] = "tnh", ["Maii"] = "mmm", ["Mailu"] = "mgu", ["Maindo"] = "cwb", ["Mairasi"] = "zrs", ["Maisin"] = "mbq", ["Maiwa (Indonesia)"] = "wmm", ["Maiwa (New Guinea)"] = "mti", ["Maiwala"] = "mum", ["Majera"] = "xmj", ["Majhi"] = "mjz", ["Majhwar"] = "mmj", ["Mak (China)"] = "mkg", ["Mak (Nigeria)"] = "pbl", ["Makaa"] = "mcp", ["Makah"] = "myh", ["Tiếng Makalero"] = "mjb", ["Tiếng Makasae"] = "mkz", ["Makassar Malay"] = "mfp", ["Makayam"] = "aup", ["Makhuwa"] = "vmw", ["Makhuwa-Marrevone"] = "xmc", ["Makhuwa-Meetto"] = "mgh", ["Makhuwa-Moniga"] = "mhm", ["Makhuwa-Saka"] = "xsq", ["Makhuwa-Shirima"] = "vmk", ["Maklew"] = "mgf", ["Makolkol"] = "zmh", ["Makonde"] = "kde", ["Maku"] = "xak", ["Maku'a"] = "lva", ["Makuri Naga"] = "jmn", ["Makuráp"] = "mpu", ["Makwe"] = "ymk", ["Makyan Naga"] = "umn", ["Mal Paharia"] = "mkb", ["Mala (New Guinea)"] = "ped", ["Mala (Nigeria)"] = "ruy", ["Malaccan Creole Malay"] = "ccm", ["Malalamai"] = "mmt", ["Malalí"] = "sai-mal", ["Malango"] = "mln", ["Malas"] = "mkr", ["Malasanga"] = "mqz", ["Malawi Lomwe"] = "lon", ["Malawian Sign Language"] = "lws", ["Malayic Dayak"] = "xdy", ["Malaynon"] = "mlz", ["Malaysian Sign Language"] = "xml", ["Malba Birifor"] = "bfo", ["Male"] = "mdc", ["Maleu-Kilenge"] = "mgl", ["Malfaxal"] = "mlx", ["Malgana"] = "vml", ["Malgbe"] = "mxf", ["Mali"] = "gcc", ["Malibu"] = "sai-mlb", ["Malila"] = "mgq", ["Malimba"] = "mzd", ["Malimpung"] = "mli", ["Malol"] = "mbk", ["Maltese Sign Language"] = "mdl", ["Malua Bay"] = "mll", ["Malvi"] = "mup", ["Maléku Jaíka"] = "gut", ["Mam"] = "mam", ["Mama"] = "mma", ["Mamaa"] = "mhf", ["Mamaindé"] = "wmd", ["Mamanwa"] = "mmn", ["Tiếng Senoufo Mamara"] = "myk", ["Mamasa"] = "mqj", ["Mambae"] = "mgm", ["Mambai"] = "mcs", ["Mamboru"] = "mvd", ["Mambwe-Lungu"] = "mgr", ["Mamuju"] = "mqx", ["Mamulique"] = "emm", ["Mamusi"] = "kdf", ["Mamvu"] = "mdi", ["Man Met"] = "mml", ["Manado Malay"] = "xmm", ["Manam"] = "mva", ["Manambu"] = "mle", ["Manangba"] = "nmm", ["Manangkari"] = "znk", ["Manao"] = "awd-man", ["Manda (Australia)"] = "zma", ["Manda (Tanzania)"] = "mgs", ["Tiếng Manda"] = "mid", ["Mandailing Batak"] = "btm", ["Mandalorian"] = "art-man", ["Mandan"] = "mhq", ["Mandandanyi"] = "zmk", ["Mandar"] = "mdr", ["Mandari"] = "mqu", ["Mander"] = "mqr", ["Mandingo"] = "man", ["Mandjak"] = "mfv", ["Mandobo Atas"] = "aax", ["Mandobo Bawah"] = "bwp", ["Manem"] = "jet", ["Mangala"] = "mem", ["Mangarayi"] = "mpc", ["Mangarevan"] = "mrv", ["Mangayat"] = "myj", ["Mangbetu"] = "mdj", ["Mangbutu"] = "mdk", ["Mangerr"] = "zme", ["Mangga Buang"] = "mmo", ["Tiếng Mango"] = "mge", ["Mangole"] = "mqc", ["Mangseng"] = "mbh", ["Manigri-Kambolé Ede Nago"] = "xkb", ["Manikion"] = "mnx", ["Manipa"] = "mqp", ["Mankiyali"] = "nlm", ["Manna-Dora"] = "mju", ["Manombai"] = "woo", ["Mansoanka"] = "msw", ["Manta"] = "myg", ["Mantsi"] = "nty", ["Manusela"] = "wha", ["Manya"] = "mzj", ["Manyawa"] = "mny", ["Manza"] = "mzv", ["Mao Naga"] = "nbi", ["Mape"] = "mlh", ["Mapena"] = "mnm", ["Mapia"] = "mpy", ["Mapidian"] = "mpw", ["Mapoyo"] = "mcg", ["Mapun"] = "sjm", ["Mara"] = "mec", ["Mara Chin"] = "mrh", ["Marachi"] = "lri", ["Maraghei"] = "vmh", ["Maragus"] = "mrs", ["Maram Naga"] = "nma", ["Marama"] = "lrm", ["Maranungku"] = "zmr", ["Mararit"] = "mgb", ["Maratino"] = "sai-mar", ["Marawan"] = "awd-mar", ["Marba"] = "mpg", ["Marenje"] = "vmr", ["Marfa"] = "mvu", ["Margany"] = "zmc", ["Marghi South"] = "mfm", ["Margi"] = "mrt", ["Maria"] = "mds", ["Mariaté"] = "awd-mrt", ["Maridan"] = "zmd", ["Maridjabin"] = "zmj", ["Marik"] = "dad", ["Marimanindji"] = "zmm", ["Marind"] = "mrz", ["Maring"] = "mbw", ["Maringarr"] = "zmt", ["Marino"] = "mrb", ["Mariri"] = "mqi", ["Maritime Sign Language"] = "nsr", ["Maritsauá"] = "msp", ["Mariyedi"] = "zmy", ["Marka"] = "rkm", ["Markweeta"] = "enb", ["Maroon Spirit Language"] = "cpe-mar", ["Marovo"] = "mvo", ["Marrgu"] = "mhg", ["Marriammu"] = "xru", ["Marrithiyel"] = "mfr", ["Martha's Vineyard Sign Language"] = "mre", ["Marti Ke"] = "zmg", ["Martu Wangka"] = "mpj", ["Marúbo"] = "mzr", ["Masaba"] = "myx", ["Masadiit Itneg"] = "tis", ["Masakará"] = "sai-msk", ["Masalit"] = "mls", ["Masana"] = "mcn", ["Masbate Sorsogon"] = "bks", ["Mashco Piro"] = "cuj", ["Mashi"] = "mho", ["Masimasi"] = "ism", ["Masiwang"] = "bnf", ["Maslam"] = "msv", ["Masmaje"] = "mes", ["Massachusett"] = "wam", ["Massalat"] = "mdg", ["Massep"] = "mvs", ["Matagalpa"] = "mtn", ["Matanawi"] = "sai-mat", ["Matbat"] = "xmt", ["Matengo"] = "mgv", ["Matepi"] = "mqe", ["Matigsalug Manobo"] = "mbt", ["Matipuhy"] = "mzo", ["Matlatzinca"] = "mat", ["Mato"] = "met", ["Mato Grosso Arára"] = "axg", ["Matsés"] = "mcf", ["Mattole"] = "mvb", ["Matukar"] = "mjk", ["Matumbi"] = "mgw", ["Matya Samo"] = "stj", ["Matís"] = "mpq", ["Mauritian Sign Language"] = "lsy", ["Mauwake"] = "mhl", ["Mawa"] = "mcw", ["Mawak"] = "mjj", ["Mawan"] = "mcz", ["Mawayana"] = "mzx", ["Mawchi"] = "mke", ["Mawes"] = "mgk", ["Maxakalí"] = "mbl", ["Maxi Gbe"] = "mxl", ["Maya Samo"] = "sym", ["Mayaguduna"] = "xmy", ["Mayangna"] = "yan", ["Mayawali"] = "yxa", ["Maybrat"] = "ayz", ["Mayeka"] = "myc", ["Mayi-Thakurti"] = "xyt", ["Maykulan"] = "mnt", ["Maynas"] = "sai-mys", ["Mayo"] = "mfy", ["Mayogo"] = "mdm", ["Mayoyao Ifugao"] = "ifu", ["Maypure"] = "awd-mpr", ["Mazagway"] = "dkx", ["Mazaltepec Zapotec"] = "zpy", ["Mazatlán Mazatec"] = "vmz", ["Mazatlán Mixe"] = "mzl", ["Mba"] = "mfc", ["Mbala"] = "mdp", ["Mbalanhu"] = "lnb", ["Mbandja"] = "zmz", ["Mbangala"] = "mxg", ["Mbangi"] = "mgn", ["Mbangwe"] = "zmn", ["Mbara (Australia)"] = "mvl", ["Mbara (Chad)"] = "mpk", ["Mbariman-Gudhinma"] = "zmv", ["Mbati"] = "mdn", ["Mbato"] = "gwa", ["Mbay"] = "myb", ["Mbe"] = "mfo", ["Mbe'"] = "mtk", ["Mbelime"] = "mql", ["Mbere"] = "mdt", ["Mbesa"] = "zms", ["Mbiywom"] = "aus-mbi", ["Mbo (Cameroon)"] = "mbo", ["Mbo (Congo)"] = "zmw", ["Mboi"] = "moi", ["Mboko"] = "mdu", ["Mbole"] = "mdq", ["Mbonga"] = "xmb", ["Mbongno"] = "bgu", ["Mbosi"] = "mdw", ["Mbowe"] = "mxo", ["Mbre"] = "mka", ["Mbu'"] = "muc", ["Mbudum"] = "xmd", ["Mbugu"] = "mhd", ["Mbugwe"] = "mgz", ["Mbuko"] = "mqb", ["Mbukushu"] = "mhw", ["Mbula"] = "mna", ["Mbula-Bwazza"] = "mbu", ["Mbule"] = "mlb", ["Mbulungish"] = "mbv", ["Mbum"] = "mdd", ["Mbunda"] = "mck", ["Mbunga"] = "mgy", ["Mburku"] = "bbt", ["Mbuun"] = "zmp", ["Mbwela"] = "mfu", ["Mea"] = "meg", ["Mebu"] = "mjn", ["Mecayapan Nahuatl"] = "nhx", ["Medebur"] = "mjm", ["Medefaidrin"] = "dmf", ["Mednyj Aleut"] = "mud", ["Mefele"] = "mfj", ["Megam"] = "mef", ["Mehek"] = "nux", ["Mehináku"] = "mmh", ["Mekeo"] = "mek", ["Mekmek"] = "mvk", ["Mekwei"] = "msf", ["Mekéns"] = "skf", ["Mel-Khaonh"] = "hkn", ["Mele-Fila"] = "mxe", ["Mendalam Kayan"] = "xkd", ["Mengaka"] = "xmg", ["Mengen"] = "mee", ["Menien"] = "sai-men", ["Menka"] = "mea", ["Menya"] = "mcr", ["Meoswar"] = "mvx", ["Mer"] = "mnu", ["Meramera"] = "mxm", ["Merei"] = "lmb", ["Merey"] = "meq", ["Merlav"] = "mrm", ["Meroitic"] = "xmr", ["Meru"] = "mer", ["Mese"] = "mci", ["Mesme"] = "zim", ["Mesmes"] = "mys", ["Meta'"] = "mgo", ["Metlatónoc Mixtec"] = "mxv", ["Mewari"] = "mtr", ["Mewati"] = "wtm", ["Mexican Sign Language"] = "mfs", ["Meyah"] = "mej", ["Mezontla Popoloca"] = "pbe", ["Mfinu"] = "zmf", ["Mfumte"] = "nfu", ["Mgbo"] = "gmz", ["Mian"] = "mpt", ["Miani"] = "pla", ["Micha"] = "yiq", ["Michif"] = "crg", ["Michigamea"] = "cmm", ["Michoacán Nahuatl"] = "ncl", ["Mid Grand Valley Dani"] = "dnt", ["Mid-Southern Banda"] = "bjo", ["Middle Assamese"] = "inc-mas", ["Middle Bengali"] = "inc-mbn", ["Tiếng Cornwall trung đại"] = "cnx", ["Middle Kannada"] = "dra-mkn", ["Middle Median"] = "xme-mid", ["Middle Newar"] = "nwx", ["Tiếng Na Uy trung đại"] = "gmq-mno", ["Middle Watut"] = "mpl", ["Midob"] = "mei", ["Migaama"] = "mmy", ["Migabac"] = "mpp", ["Miji"] = "sjl", ["Miju"] = "mxj", ["Mikasuki"] = "mik", ["Milang"] = "und-mil", ["Mili"] = "ymh", ["Millcayac"] = "sai-mil", ["Miltu"] = "mlj", ["Miluk"] = "iml", ["Milyan"] = "imy", ["Mimi of Decorse"] = "und-mmd", ["Mimi of Nachtigal"] = "und-mmn", ["Mina"] = "hna", ["Minaean"] = "inm", ["Minang"] = "xrg", ["Minanibai"] = "mcv", ["Minaveha"] = "mvn", ["Minderico"] = "drc", ["Mindiri"] = "mpn", ["Mingang Doso"] = "mko", ["Mingo"] = "iro-min", ["Tiếng Huitoto Minica"] = "hto", ["Minidien"] = "wii", ["Minigir"] = "vmg", ["Minjungbal"] = "xjb", ["Minkin"] = "xxm", ["Minoan"] = "omn", ["Minokok"] = "mqq", ["Miraya Bikol"] = "rbl", ["Mire"] = "mvh", ["Miriti"] = "mmv", ["Miriwoong Sign Language"] = "rsm", ["Miriwung"] = "mep", ["Mirpur Panjabi"] = "pmu", ["Misantla Totonac"] = "tlc", ["Miship"] = "mjs", ["Misima-Paneati"] = "mpx", ["Mitlatongo Mixtec"] = "vmm", ["Mittu"] = "mwu", ["Mituku"] = "zmq", ["Miu"] = "mpo", ["Miwa"] = "vmi", ["Mixed Great Andamanese"] = "gac", ["Mixifore"] = "mfg", ["Mixtepec Mixtec"] = "mix", ["Mixtepec Zapotec"] = "zpm", ["Miya"] = "mkf", ["Miyobe"] = "soy", ["Mlap"] = "kja", ["Mlomp"] = "mlo", ["Mmaala"] = "mmu", ["Mmani"] = "buy", ["Mmen"] = "bfm", ["Mo"] = "wkd", ["Mo'da"] = "gbn", ["Moabite"] = "obm", ["Moba"] = "mfq", ["Mobilian"] = "mod", ["Mobumrin Aizi"] = "ahm", ["Mocana"] = "sai-mcn", ["Mochi"] = "old", ["Mochica"] = "omc", ["Mocho"] = "mhc", ["Mocoví"] = "moc", ["Modang"] = "mxd", ["Modole"] = "mqo", ["Moere"] = "mvq", ["Mofu-Gudur"] = "mif", ["Mogum"] = "mou", ["Moi (Congo)"] = "mow", ["Moi (Indonesia)"] = "mxn", ["Moikodi"] = "mkp", ["Moingi"] = "mwz", ["Mojave"] = "mov", ["Moji"] = "ymi", ["Mok"] = "mqt", ["Mokerang"] = "mft", ["Mokole"] = "mkl", ["Mokpwe"] = "bri", ["Molale"] = "mbe", ["Moldova Sign Language"] = "vsi", ["Molengue"] = "bxc", ["Molima"] = "mox", ["Molmo One"] = "aun", ["Molo"] = "zmo", ["Molof"] = "msl", ["Moloko"] = "mlw", ["Mom Jango"] = "ver", ["Moma"] = "myl", ["Momare"] = "msz", ["Mombo Dogon"] = "dmb", ["Mombum"] = "mso", ["Momina"] = "mmb", ["Momuna"] = "mqf", ["Monastic Sign Language"] = "mzg", ["Mondropolon"] = "npn", ["Mondé"] = "mnd", ["Mongol"] = "mgt", ["Mongolian Sign Language"] = "msr", ["Moni"] = "mnz", ["Monimbo"] = "mom", ["Mono (California)"] = "mnr", ["Mono (Cameroon)"] = "mru", ["Mono (Congo)"] = "mnh", ["Monsang Naga"] = "nmh", ["Montagnais"] = "moe", ["Montana Salish"] = "fla", ["Montol"] = "mtl", ["Monumbo"] = "mxk", ["Monzombo"] = "moj", ["Moo"] = "gwg", ["Mopan Maya"] = "mop", ["Mor (Austronesian)"] = "mhz", ["Mor (Papuan)"] = "moq", ["Moraid"] = "msg", ["Moran"] = "sit-mor", ["Morawa"] = "mze", ["Morelos Nahuatl"] = "nhm", ["Morerebi"] = "xmo", ["Moresada"] = "msx", ["Mori Atas"] = "mzq", ["Mori Bawah"] = "xmz", ["Morigi"] = "mdb", ["Moroccan Sign Language"] = "xms", ["Morom"] = "bdo", ["Moronene"] = "mqn", ["Morori"] = "mok", ["Morouas"] = "mrp", ["Mortlockese"] = "mrl", ["Moru"] = "mgd", ["Mosimo"] = "mqv", ["Moskona"] = "mtj", ["Motembo"] = "tmv", ["Mouk-Aria"] = "mwh", ["Mount Iraya Agta"] = "atl", ["Mount Iriga Agta"] = "agz", ["Mountain Koiari"] = "kpx", ["Mouwase"] = "jmw", ["Movima"] = "mzp", ["Moyadan Itneg"] = "ity", ["Mozambican Sign Language"] = "mzy", ["Mpalitjanh"] = "xpj", ["Mpiemo"] = "mcx", ["Mpiin"] = "bnt-mpi", ["Mpinda"] = "pnd", ["Mpongmpong"] = "mgg", ["Mpoto"] = "mpa", ["Mpotovoro"] = "mvt", ["Mpuono"] = "bnt-mpu", ["Mpur"] = "akc", ["Mro Chin"] = "cmr", ["Mru"] = "mro", ["Mser"] = "kqx", ["Mualang"] = "mtd", ["Mubami"] = "tsx", ["Mubi"] = "mub", ["Mucuchí"] = "sai-muc", ["Muda"] = "ymd", ["Muduapa"] = "wiv", ["Muellama"] = "sai-mue", ["Mufian"] = "aoj", ["Muher"] = "sem-mhr", ["Muinane"] = "bmr", ["Mukha-Dora"] = "mmk", ["Mukulu"] = "moz", ["Mulaha"] = "mfw", ["Mulam"] = "mlm", ["Mulao"] = "giu", ["Mullukmulluk"] = "mpb", ["Muluridyi"] = "vmu", ["Mum"] = "kqa", ["Mumuye"] = "mzm", ["Mundang"] = "mua", ["Mundani"] = "mnf", ["Mundat"] = "mmf", ["Mundolinco"] = "art-mun", ["Mundurukú"] = "myu", ["Mungaka"] = "mhk", ["Mungbam"] = "mij", ["Mungkip"] = "mpv", ["Muniche"] = "myr", ["Munit"] = "mtc", ["Mur Pano"] = "tkv", ["Muratayak"] = "asx", ["Murik (Malaysia)"] = "mxr", ["Murik (New Guinea)"] = "mtf", ["Murkim"] = "rmh", ["Murrinh-Patha"] = "mwf", ["Tiếng Huitoto Murui"] = "huu", ["Murupi"] = "mqw", ["Muruwari"] = "zmu", ["Musan"] = "mmp", ["Musar"] = "mmi", ["Musasa"] = "smm", ["Musey"] = "mse", ["Musgu"] = "mug", ["Muskum"] = "mje", ["Musom"] = "msu", ["Mussau-Emira"] = "emi", ["Mutu"] = "tuc", ["Muya"] = "mvm", ["Muyang"] = "muy", ["Muyuw"] = "myw", ["Muzi"] = "ymz", ["Muzo"] = "sai-muz", ["Mvanip"] = "mcj", ["Mvuba"] = "mxh", ["Mwaghavul"] = "sur", ["Mwali Comorian"] = "wlc", ["Mwani"] = "wmw", ["Mwatebu"] = "mwa", ["Mwera"] = "mwe", ["Mwimbi-Muthambi"] = "mws", ["Mysian"] = "yms", ["Mzieme Naga"] = "nme", ["Mághdì"] = "gmd", ["Mün Chin"] = "mwq", ["Mündü"] = "muh", ["N'Ko"] = "nqo", ["Na"] = "nbt", ["Na'vi"] = "art-nav", ["Naaba"] = "nao", ["Naba"] = "mne", ["Nabak"] = "naf", ["Nabi"] = "mty", ["Nachering"] = "ncd", ["Nadruvian"] = "ndf", ["Nadëb"] = "mbj", ["Nafi"] = "srf", ["Nafri"] = "nxx", ["Naga Pidgin"] = "nag", ["Nagarchal"] = "nbg", ["Nage"] = "nxe", ["Nagtipunan Agta"] = "phi-nag", ["Nagu"] = "ngr", ["Nagumi"] = "ngv", ["Nahali"] = "nlx", ["Nahari"] = "nhh", ["Nahavaq"] = "sns", ["Nai"] = "bio", ["Najdi Arabic"] = "ars", ["Naka'ela"] = "nae", ["Nakai"] = "nkj", ["Nakame"] = "nib", ["Nakanai"] = "nak", ["Nakara"] = "nck", ["Nake"] = "nbk", ["Naki"] = "mff", ["Nakwi"] = "nax", ["Nalca"] = "nlc", ["Nali"] = "nss", ["Nalik"] = "nal", ["Nalu"] = "naj", ["Nalögo"] = "nlz", ["Namakura"] = "nmk", ["Namat"] = "nkm", ["Nambo"] = "ncm", ["Nambya"] = "nmq", ["Namia"] = "nnm", ["Namiae"] = "nvm", ["Namibian Sign Language"] = "nbs", ["Namla"] = "naa", ["Namo"] = "mxw", ["Namonuito"] = "nmt", ["Namosi-Naitasiri-Serua"] = "bwb", ["Namuyi"] = "nmy", ["Nancere"] = "nnc", ["Nande"] = "nnb", ["Nandi"] = "niq", ["Nanerigé Sénoufo"] = "sen", ["Nanga Dama Dogon"] = "nzz", ["Nanti"] = "cox", ["Nanticoke"] = "nnt", ["Nanubae"] = "afk", ["Naolan"] = "nai-nao", ["Napu"] = "npy", ["Nar Phu"] = "npa", ["Nara"] = "nrb", ["Narak"] = "nac", ["Narango"] = "nrg", ["Narau"] = "nxu", ["Narim"] = "loh", ["Naro"] = "nhr", ["Narom"] = "nrm", ["Narragansett"] = "xnt", ["Narungga"] = "nnr", ["Naruo"] = "ylo", ["Nasal"] = "nsy", ["Nasarian"] = "nvh", ["Nasioi"] = "nas", ["Nasu"] = "ywq", ["Natagaimas"] = "nts", ["Natchez"] = "ncz", ["Nathembo"] = "nte", ["Natioro"] = "nti", ["Natú"] = "sai-nat", ["Natügu"] = "ntu", ["Nauete"] = "nxa", ["Nauna"] = "ncn", ["Nauo"] = "nwo", ["Navarro-Aragonese"] = "roa-oan", ["Navut"] = "nsw", ["Nawaru"] = "nwr", ["Nawathinehena"] = "nwa", ["Nawdm"] = "nmz", ["Nawuri"] = "naw", ["Nayi"] = "noz", ["Ncane"] = "ncr", ["Nchumbulu"] = "nlu", ["Nda'nda'"] = "nnz", ["Ndai"] = "gke", ["Ndaka"] = "ndk", ["Ndali"] = "ndh", ["Ndam"] = "ndm", ["Ndamba"] = "ndj", ["Ndambomo"] = "nxo", ["Ndasa"] = "nda", ["Nde-Gbite"] = "ned", ["Nde-Nsele-Nta"] = "ndd", ["Ndemli"] = "nml", ["Ndendeule"] = "dne", ["Ndengereko"] = "ndg", ["Nding"] = "eli", ["Ndjébbana"] = "djj", ["Ndo"] = "ndp", ["Ndobo"] = "ndw", ["Ndoe"] = "nbb", ["Ndolo"] = "ndl", ["Ndom"] = "nqm", ["Ndombe"] = "ndq", ["Ndoola"] = "ndr", ["Ndrulo"] = "dno", ["Nduga"] = "ndx", ["Ndumu"] = "nmd", ["Ndunda"] = "nuh", ["Ndunga"] = "ndt", ["Ndut"] = "ndv", ["Ndyuka-Trio Pidgin"] = "njt", ["Ndzwani Comorian"] = "wni", ["Nedebang"] = "nec", ["Nefamese"] = "nef", ["Negeri Sembilan Malay"] = "zmi", ["Nehan"] = "nsn", ["Nek"] = "nif", ["Nekgini"] = "nkg", ["Neko"] = "nej", ["Neku"] = "nek", ["Neme"] = "nex", ["Nemi"] = "nem", ["Nen"] = "nqn", ["Nend"] = "anh", ["Nengone"] = "nen", ["Neo"] = "neu", ["Nepalese Sign Language"] = "nsp", ["Nepali Kurux"] = "kxl", ["Nete"] = "net", ["Neve'ei"] = "vnm", ["Neverver"] = "lgk", ["New Caledonian Javanese"] = "jas", ["New River Shasta"] = "nai-nrs", ["New Zealand Sign Language"] = "nzs", ["Neyo"] = "ney", ["Nez Perce"] = "nez", ["Nga La"] = "hlt", ["Ngaanyatjarra"] = "ntj", ["Ngadjunmaya"] = "nju", ["Ngadjuri"] = "jui", ["Ngaing"] = "nnf", ["Ngaju"] = "nij", ["Ngala"] = "nud", ["Ngalakan"] = "nig", ["Ngalkbun"] = "ngk", ["Ngamambo"] = "nbv", ["Ngamini"] = "nmv", ["Ngamo"] = "nbh", ["Ngan'gityemerri"] = "nam", ["Nganakarti"] = "xnk", ["Ngandi"] = "nid", ["Ngando (Central African Republic)"] = "ngd", ["Ngando (Congo)"] = "nxd", ["Ngandyera"] = "nne", ["Ngangam"] = "gng", ["Ngantangarra"] = "ntg", ["Nganyaywana"] = "nyx", ["Ngardi"] = "rxd", ["Ngarigu"] = "xni", ["Ngarinman"] = "nbj", ["Ngarinyin"] = "ung", ["Ngarla"] = "nrk", ["Ngarluma"] = "nrl", ["Ngarrindjeri"] = "nay", ["Ngasa"] = "nsg", ["Ngatik Men's Creole"] = "ngm", ["Ngawn Chin"] = "cnw", ["Ngawun"] = "nxn", ["Ngazidja Comorian"] = "zdj", ["Tiếng Ngbaka"] = "nga", ["Ngbaka Ma'bo"] = "nbm", ["Ngbaka Manza"] = "ngg", ["Ngbee"] = "jgb", ["Ngbinda"] = "nbd", ["Ngbundu"] = "nuu", ["Ngelima"] = "agh", ["Ngemba"] = "nge", ["Ngen"] = "gnj", ["Ngendelengo"] = "nql", ["Ngeq"] = "ngt", ["Ngete"] = "nnn", ["Nggem"] = "nbq", ["Nggwahyi"] = "ngx", ["Ngie"] = "ngj", ["Ngile"] = "jle", ["Ngindo"] = "nnq", ["Tiếng Ngiti"] = "niy", ["Ngizim"] = "ngi", ["Ngkoth"] = "aus-ngk", ["Ngkâlmpw Kanum"] = "kcd", ["Ngochang"] = "tbq-ngo", ["Ngom"] = "nra", ["Ngombale"] = "nla", ["Ngombe (Central African Republic)"] = "nmj", ["Ngong"] = "nnx", ["Ngongo"] = "noq", ["Ngoni"] = "ngo", ["Ngoreme"] = "ngq", ["Ngoshie"] = "nsh", ["Ngul"] = "nlo", ["Ngulu"] = "ngp", ["Nguluwan"] = "nuw", ["Ngumbi"] = "nui", ["Ngunawal"] = "xul", ["Ngundi"] = "ndn", ["Ngundu"] = "nue", ["Ngungwel"] = "ngz", ["Ngurmbur"] = "nrx", ["Ngwaba"] = "ngw", ["Ngwe"] = "nwe", ["Ngwo"] = "ngn", ["Ngäbere"] = "gym", ["Nhanda"] = "nha", ["Nhirrpi"] = "hrp", ["Nhuwala"] = "nhf", ["Nicaraguan Creole"] = "bzk", ["Nicaraguan Sign Language"] = "ncs", ["Nicola"] = "ath-nic", ["Niellim"] = "nie", ["Nigeria Mambila"] = "mzk", ["Nigerian Pidgin"] = "pcm", ["Nigerian Sign Language"] = "nsi", ["Nihali"] = "nll", ["Nii"] = "nii", ["Niksek"] = "gbe", ["Nila"] = "nil", ["Nilamba"] = "nim", ["Nimadi"] = "noe", ["Nimanbur"] = "nmp", ["Nimbari"] = "nmr", ["Nimboran"] = "nir", ["Nimi"] = "nis", ["Nimo"] = "niw", ["Nimoa"] = "nmw", ["Ninam"] = "shb", ["Nindi"] = "nxi", ["Ningera"] = "nby", ["Ninggerum"] = "nxr", ["Ningil"] = "niz", ["Ninia Yali"] = "nlk", ["Ninzo"] = "nin", ["Nipsan"] = "nps", ["Nisa"] = "njs", ["Nisenan"] = "nsz", ["Nisi"] = "yso", ["Niuafo'ou"] = "num", ["Niuatoputapu"] = "nkp", ["Niwer Mil"] = "hrc", ["Njalgulgule"] = "njl", ["Njebi"] = "nzb", ["Njen"] = "njj", ["Njerep"] = "njr", ["Njyem"] = "njy", ["Nkami"] = "nkq", ["Nkangala"] = "nkn", ["Nkem-Nkum"] = "isi", ["Nkhumbi"] = "khu", ["Nkongho"] = "nkc", ["Nkoroo"] = "nkx", ["Nkoya"] = "nka", ["Nkukoli"] = "nbo", ["Nkutu"] = "nkw", ["Nnam"] = "nbp", ["Nocamán"] = "nom", ["Nocte Naga"] = "njb", ["Noiri"] = "noi", ["Nokuku"] = "nkk", ["Nomaande"] = "lem", ["Nomane"] = "nof", ["Nomatsiguenga"] = "not", ["Nomlaki"] = "nol", ["Nomu"] = "noh", ["Nonuya"] = "noj", ["Nooksack"] = "nok", ["Tiếng Noone"] = "nhu", ["Nopala Chatino"] = "cya", ["Norn"] = "nrn", ["Norra"] = "nrr", ["North Ambrym"] = "mmg", ["North Asmat"] = "nks", ["North Awyu"] = "yir", ["North Babar"] = "bcd", ["North Boma"] = "boh", ["North Central Mixe"] = "neq", ["North Fali"] = "fll", ["North Giziga"] = "gis", ["North Mofu"] = "mfk", ["North Muyu"] = "kti", ["North Nuaulu"] = "nni", ["North Tairora"] = "tbg", ["North Tanna"] = "tnn", ["North Wahgi"] = "whg", ["North Watut"] = "una", ["Northeast Kiwai"] = "kiw", ["Northeast Maidu"] = "nmu", ["Northeast Pashayi"] = "aee", ["Northeastern Dinka"] = "dip", ["Northeastern Pomo"] = "pef", ["Northern Alta"] = "aqn", ["Northern Bontoc"] = "rbk", ["Northern Ghale"] = "ghh", ["Tiếng Grebo Bắc"] = "gbo", ["Northern Guiyang Hmong"] = "huj", ["Northern Haida"] = "hdn", ["Northern Huishui Hmong"] = "hmi", ["Northern Kalapuya"] = "nrt", ["Northern Kam"] = "doc", ["Northern Kankanay"] = "xnn", ["Northern Kissi"] = "kqs", ["Northern Lorung"] = "lbr", ["Northern Mashan Hmong"] = "hmp", ["Northern Muji"] = "ymx", ["Northern Ngbandi"] = "ngb", ["Northern Nuni"] = "nuv", ["Northern Oaxaca Nahuatl"] = "nhy", ["Northern Ohlone"] = "cst", ["Northern One"] = "onr", ["Northern Pame"] = "pmq", ["Northern Pinghua"] = "cnp", ["Northern Pomo"] = "pej", ["Northern Puebla Nahuatl"] = "ncj", ["Northern Pumi"] = "pmi", ["Northern Qiandong Miao"] = "hea", ["Northern Rengma Naga"] = "nnl", ["Northern Sierra Miwok"] = "nsq", ["Northern Subanen"] = "stb", ["Northern Tarahumara"] = "thh", ["Northern Tidong"] = "ntd", ["Northern Tlaxiaco Mixtec"] = "xtn", ["Northern Toussian"] = "tsp", ["Northern Tutchone"] = "ttm", ["Northern Valley Yokuts"] = "nai-nvy", ["Northwest Maidu"] = "mjd", ["Northwest Oaxaca Mixtec"] = "mxa", ["Northwest Pashayi"] = "glh", ["Northwestern Dinka"] = "diw", ["Northwestern Fars"] = "faz", ["Northwestern Tamang"] = "tmk", ["Norwegian Sign Language"] = "nsl", ["Notre"] = "bly", ["Notsi"] = "ncf", ["Nottoway"] = "ntw", ["Nottoway-Meherrin"] = "nwy", ["Noxilo"] = "art-nox", ["Noy"] = "noy", ["Nsari"] = "asj", ["Nsenga"] = "nse", ["Nshi"] = "nsc", ["Nsong"] = "soo", ["Nsongo"] = "nsx", ["Ntomba"] = "nto", ["Ntra'ngith"] = "dgt", ["Nuguria"] = "nur", ["Nuk"] = "noc", ["Nukak Makú"] = "mbr", ["Nukna"] = "klt", ["Nukuini"] = "nuc", ["Nukumanu"] = "nuq", ["Nukunu"] = "nnv", ["Nukunul"] = "xnu", ["Nukuoro"] = "nkr", ["Numana"] = "nbr", ["Numanggang"] = "nop", ["Numbami"] = "sij", ["Nume"] = "tgs", ["Numee"] = "kdk", ["Nungali"] = "nug", ["Nunggubuyu"] = "nuy", ["Nungon"] = "paa-nun", ["Nungu"] = "rin", ["Nupbikha"] = "npb", ["Nusa Laut"] = "nul", ["Nusu"] = "nuf", ["Nutabe"] = "cba-nut", ["Nyabwa"] = "nwb", ["Nyaheun"] = "nev", ["Nyakyusa"] = "nyy", ["Nyali"] = "nlj", ["Nyam"] = "nmi", ["Nyamal"] = "nly", ["Nyambo"] = "now", ["Nyamusa-Molo"] = "nwm", ["Nyamwanga"] = "mwn", ["Nyamwezi"] = "nym", ["Nyaneka"] = "nyk", ["Nyang'i"] = "nyp", ["Nyanga (Congo)"] = "nyj", ["Nyanga (Togo)"] = "ayg", ["Nyanga-li"] = "nyc", ["Nyangatom"] = "nnj", ["Nyangbo"] = "nyb", ["Nyangga"] = "nny", ["Nyangumarta"] = "nna", ["Nyankole"] = "nyn", ["Nyaturu"] = "rim", ["Nyawaygi"] = "nyt", ["Nyemba"] = "nba", ["Nyengo"] = "nye", ["Nyenkha"] = "neh", ["Nyigina"] = "nyh", ["Nyiha"] = "nih", ["Nyika"] = "nkt", ["Nyimang"] = "nyi", ["Nyindrou"] = "lid", ["Nyindu"] = "nyg", ["Nyiyaparli"] = "xny", ["Nyokon"] = "nvo", ["Nyole (Kenya)"] = "nyd", ["Nyole (Uganda)"] = "nuj", ["Nyong"] = "muo", ["Nyulnyul"] = "nyv", ["Nyungwe"] = "nyu", ["Nyâlayu"] = "yly", ["Nzakambay"] = "nzy", ["Nzakara"] = "nzk", ["Nzanyi"] = "nja", ["Nzima"] = "nzi", ["Tiếng Huitoto Nüpode"] = "hux", ["O'chi'chi'"] = "xoc", ["Obanliku"] = "bzy", ["Obispeño"] = "obi", ["Oblo"] = "obl", ["Obo Manobo"] = "obo", ["Obokuitai"] = "afz", ["Obolo"] = "ann", ["Obulom"] = "obu", ["Ocotepec Mixtec"] = "mie", ["Ocotlán Zapotec"] = "zac", ["Od"] = "odk", ["Odiai"] = "bhf", ["Odoodee"] = "kkc", ["Odual"] = "odu", ["Odut"] = "oda", ["Ofayé"] = "opy", ["Ofo"] = "ofo", ["Ogbah"] = "ogc", ["Ogbia"] = "ogb", ["Ogbogolo"] = "ogg", ["Ogea"] = "eri", ["Tiếng Oirata"] = "oia", ["Okiek"] = "oki", ["Oko-Eni-Osayen"] = "oks", ["Oko-Juwoi"] = "okj", ["Okobo"] = "okb", ["Okodia"] = "okd", ["Okolod"] = "kqv", ["Okpamheri"] = "opa", ["Okpe (Northwestern Edo)"] = "okx", ["Okpe (Southwestern Edo)"] = "oke", ["Okpela"] = "atg", ["Oksapmin"] = "opm", ["Oku"] = "oku", ["Okwanuchu"] = "nai-okw", ["Old Avar"] = "oav", ["Old Hungarian"] = "ohu", ["Old Kamta"] = "inc-ork", ["Old Kentish Sign Language"] = "okl", ["Old Manipuri"] = "omp", ["Old Punjabi"] = "inc-opa", ["Old Tati"] = "xme-ott", ["Old Tibetan"] = "otb", ["Tiếng Wales cổ"] = "owl", ["Olekha"] = "ole", ["Ollari"] = "gdb", ["Olo"] = "ong", ["Oloma"] = "olm", ["Olrat"] = "olr", ["Olu'bo"] = "lul", ["Olulumo-Ikom"] = "iko", ["Oluta Popoluca"] = "plo", ["Olutsotso"] = "lto", ["Omagua"] = "omg", ["Omba"] = "omb", ["Ombamba"] = "mbm", ["Ombo"] = "oml", ["Tiếng Nahuatl Ometepec"] = "nht", ["Omi"] = "omi", ["Omotik"] = "omt", ["Omurano"] = "omu", ["Ong"] = "oog", ["Onin"] = "oni", ["Onjob"] = "onj", ["Ono"] = "ons", ["Onobasulu"] = "onn", ["Onondaga"] = "ono", ["Ontenu"] = "ont", ["Ontong Java"] = "ojv", ["Oorlams"] = "oor", ["Opao"] = "opo", ["Opata"] = "opt", ["Opuuo"] = "lgn", ["Opón"] = "sai-opo", ["Oraon Sadri"] = "sdr", ["Orejón"] = "ore", ["Oring"] = "org", ["Orizaba Nahuatl"] = "nlv", ["Orléanais"] = "roa-orl", ["Oro"] = "orx", ["Oro Win"] = "orw", ["Oroha"] = "ora", ["Orokaiva"] = "okv", ["Oroko"] = "bdu", ["Orokolo"] = "oro", ["Orowe"] = "bpk", ["Oruma"] = "orr", ["Orya"] = "ury", ["Osamayi"] = "syx", ["Ososo"] = "oso", ["Ot Danum"] = "otd", ["Otank"] = "uta", ["Oti"] = "oti", ["Otomaco"] = "sai-oto", ["Ottawa"] = "otw", ["Ouma"] = "oum", ["Oune"] = "oue", ["Owa"] = "stn", ["Owenia"] = "wsr", ["Owiniga"] = "owi", ["Oy"] = "oyb", ["Oya'oya"] = "oyy", ["Ozolotepec Zapotec"] = "zao", ["Pa"] = "ppt", ["Pa Di"] = "pdi", ["Pa'a"] = "pqa", ["Paama"] = "pma", ["Paasaal"] = "sig", ["Pacahuara"] = "pcp", ["Padoe"] = "pdo", ["Paeonian"] = "ine-pae", ["Pagi"] = "pgi", ["Pagibete"] = "pae", ["Pahanan Agta"] = "apf", ["Pahi"] = "lgt", ["Pahlavani"] = "phv", ["Pai Tavytera"] = "pta", ["Pai-lang"] = "tbq-plg", ["Paicî"] = "pri", ["Paikoneka"] = "awd-pai", ["Paipai"] = "ppi", ["Pajapan Nahuatl"] = "nhp", ["Pak-Tong"] = "pkg", ["Pakanha"] = "pkn", ["Pakistan Sign Language"] = "pks", ["Paku Karen"] = "kpp", ["Pal"] = "abw", ["Palaka Senoufo"] = "plr", ["Palantla Chinantec"] = "cpa", ["Palawan Batak"] = "bya", ["Paleni"] = "pnl", ["Palewyami"] = "nai-ply", ["Palikur"] = "plu", ["Pallanganmiddang"] = "pmd", ["Palta"] = "sai-pal", ["Palu'e"] = "ple", ["Paluan"] = "plz", ["Palya Bareli"] = "bpx", ["Pam"] = "pmn", ["Pambia"] = "pmb", ["Pamigua"] = "sai-pam", ["Pamlico"] = "pmk", ["Pamona"] = "pmf", ["Pamosu"] = "hih", ["Pamplona Atta"] = "att", ["Pana (Central Africa)"] = "pnz", ["Pana (West Africa)"] = "pnq", ["Panamanian Sign Language"] = "lsp", ["Panamint"] = "par", ["Panare"] = "pbh", ["Panará"] = "kre", ["Panasuan"] = "psn", ["Panawa"] = "pwb", ["Pande"] = "bkj", ["Pangseng"] = "pgs", ["Pangutaran Sama"] = "slm", ["Pangwa"] = "pbr", ["Panim"] = "pnr", ["Pankararé"] = "pax", ["Pankararú"] = "paz", ["Pankhu"] = "pkh", ["Pannei"] = "pnc", ["Panobo"] = "pno", ["Panyi Bai"] = "bfc", ["Panyjima"] = "pnw", ["Panzaleo"] = "sai-pnz", ["Pao"] = "ppa", ["Papapana"] = "ppn", ["Papar"] = "dpp", ["Papasena"] = "pas", ["Papel"] = "pbo", ["Papi"] = "ppe", ["Papitalai"] = "pat", ["Papora"] = "ppu", ["Papua New Guinean Sign Language"] = "pgz", ["Papuan Malay"] = "pmy", ["Para Naga"] = "pzn", ["Paraguayan Sign Language"] = "pys", ["Parakanã"] = "pak", ["Paranan"] = "prf", ["Paranawát"] = "paf", ["Paratió"] = "sai-par", ["Parawen"] = "prw", ["Pardhan"] = "pch", ["Pardhi"] = "pcl", ["Pare"] = "asa", ["Paredarerme"] = "xpd", ["Pará Arára"] = "aap", ["Pará Gavião"] = "gvp", ["Pasi"] = "psq", ["Pass Valley Yali"] = "yac", ["Passé"] = "awd-pas", ["Patagón"] = "sai-ptg", ["Patamona"] = "pbc", ["Patani"] = "ptn", ["Pataxó Hã-Ha-Hãe"] = "pth", ["Patep"] = "ptp", ["Pathiya"] = "pty", ["Patpatar"] = "gfk", ["Pattani"] = "lae", ["Pattapu"] = "ptq", ["Patwin"] = "pwi", ["Paulohi"] = "plh", ["Paumarí"] = "pad", ["Pauri Bareli"] = "bfb", ["Pauserna"] = "psm", ["Pawaia"] = "pwa", ["Payaguá"] = "sai-pyg", ["Paynamar"] = "pmr", ["Pe"] = "pai", ["Pech"] = "pay", ["Peerapper"] = "xpw", ["Peere"] = "pfe", ["Pei"] = "ppq", ["Pekal"] = "pel", ["Pele-Ata"] = "ata", ["Penang Sign Language"] = "psg", ["Penchal"] = "pek", ["Pendau"] = "ums", ["Penrhyn"] = "pnh", ["Pentlatch"] = "ptw", ["Perai"] = "wet", ["Perema"] = "wom", ["Pericú"] = "nai-per", ["Pero"] = "pip", ["Persian Sign Language"] = "psc", ["Peruvian Sign Language"] = "prl", ["Petapa Zapotec"] = "zpe", ["Petats"] = "pex", ["Peñoles Mixtec"] = "mil", ["Phala"] = "ypa", ["Phana'"] = "phq", ["Phangduwali"] = "phw", ["Phende"] = "pem", ["Philippine Sign Language"] = "psp", ["Philistine"] = "und-phi", ["Phimbi"] = "phm", ["Phola"] = "ypg", ["Pholo"] = "yip", ["Phom"] = "nph", ["Phudagi"] = "phd", ["Phuie"] = "pug", ["Phukha"] = "phh", ["Phuma"] = "ypm", ["Phunoi"] = "pho", ["Phupa"] = "ypp", ["Phupha"] = "yph", ["Phuthi"] = "bnt-phu", ["Phuza"] = "ypz", ["Piamatsina"] = "ptr", ["Piame"] = "pin", ["Piapoco"] = "pio", ["Piaroa"] = "pid", ["Tiếng Pichinglis"] = "fpe", ["Pichis Ashéninka"] = "cpu", ["Pictish"] = "xpi", ["Picuris"] = "nai-pic", ["Pidgin Delaware"] = "dep", ["Pidgin Iha"] = "ihb", ["Pidgin Onin"] = "onx", ["Pijao"] = "pij", ["Pije"] = "piz", ["Pijin"] = "pis", ["Pileni"] = "piv", ["Pima Bajo"] = "pia", ["Pimbwe"] = "piw", ["Pinai-Hagahai"] = "pnn", ["Pingelapese"] = "pif", ["Pini"] = "pii", ["Pinigura"] = "pnv", ["Pinjarup"] = "pnj", ["Pinji"] = "pic", ["Pinotepa Nacional Mixtec"] = "mio", ["Pintiini"] = "pti", ["Pintupi-Luritja"] = "piu", ["Pirahã"] = "myp", ["Piratapuyo"] = "pir", ["Pirlatapa"] = "bxi", ["Piro"] = "pie", ["Pirriya"] = "xpa", ["Pisabo"] = "pig", ["Pisaflores Tepehua"] = "tpp", ["Piscataway"] = "psy", ["Pisidian"] = "xps", ["Pitcairn-Norfolk"] = "pih", ["Pite Sami"] = "sje", ["Piti"] = "pcn", ["Pitta-Pitta"] = "pit", ["Piu"] = "pix", ["Piya-Kwonci"] = "piy", ["Plains Indian Sign Language"] = "psd", ["Plains Miwok"] = "pmw", ["Plapo Krumen"] = "ktj", ["Playero"] = "gob", ["Pochuri Naga"] = "npo", ["Pochutec"] = "xpo", ["Podoko"] = "pbi", ["Pogali"] = "hkh", ["Pogolo"] = "poy", ["Poitevin-Saintongeais"] = "roa-poi", ["Pokangá"] = "pok", ["Poke"] = "pof", ["Pol"] = "pmm", ["Polish Sign Language"] = "pso", ["Polonombauk"] = "plb", ["Pom"] = "pmo", ["Ponam"] = "ncc", ["Pongu"] = "png", ["Ponyo"] = "npg", ["Poqomam"] = "poc", ["Poqomchi'"] = "poh", ["Porohanon"] = "prh", ["Port Sandwich"] = "psw", ["Port Sorell"] = "xpl", ["Port Vato"] = "ptv", ["Portuguese Sign Language"] = "psr", ["Potiguára"] = "pog", ["Poumei Naga"] = "pmx", ["Pouye"] = "bye", ["Powari"] = "pwr", ["Powhatan"] = "pim", ["Poyanáwa"] = "pyn", ["Tiếng Ireland nguyên thủy"] = "pgl", ["Principense"] = "pre", ["Proto-Amuesha-Chamicuro"] = "awd-amc-pro", ["Tiếng Tiểu Á nguyên thủy"] = "ine-ana-pro", ["Proto-Apachean"] = "apa-pro", ["Proto-Arawa"] = "auf-pro", ["Tiếng Armenia nguyên thủy"] = "hyx-pro", ["Proto-Arnhem"] = "aus-arn-pro", ["Proto-Atayalic"] = "map-ata-pro", ["Proto-Batak"] = "btk-pro", ["Tiếng Bongo-Bagirmi nguyên thủy"] = "csu-bba-pro", ["Proto-Boran"] = "sai-bor-pro", ["Proto-Bua"] = "alv-bua-pro", ["Proto-Bungku-Tolaki"] = "poz-btk-pro", ["Tiếng Miến nguyên thủy"] = "tbq-brm-pro", ["Proto-Caddoan"] = "cdd-pro", ["Proto-Cangin"] = "alv-cng-pro", ["Proto-Central Chadic"] = "cdc-cbm-pro", ["Proto-Central Indo-Aryan"] = "inc-cen-pro", ["Proto-Central Jê"] = "sai-cje-pro", ["Tiếng Trung New South Wales nguyên thủy"] = "aus-cww-pro", ["Tiếng Trung Sudan nguyên thủy"] = "csu-pro", ["Proto-Central Togo"] = "alv-gtm-pro", ["Proto-Chatino"] = "omq-cha-pro", ["Proto-Chibchan"] = "cba-pro", ["Proto-Chimakuan"] = "chi-pro", ["Proto-Chinookan"] = "nai-ckn-pro", ["Tiếng Chukotka-Kamchatka nguyên thủy"] = "qfa-cka-pro", ["Proto-Chumash"] = "nai-chu-pro", ["Proto-Cupan"] = "azc-cup-pro", ["Proto-Daju"] = "sdv-daj-pro", ["Proto-Daly"] = "aus-dal-pro", ["Proto-Eastern Jebel"] = "sdv-eje-pro", ["Proto-Eastern Oti-Volta"] = "nic-eov-pro", ["Proto-Fali"] = "alv-fli-pro", ["Proto-Grassfields"] = "nic-grf-pro", ["Proto-Great Andamanese"] = "qfa-adm-pro", ["Proto-Guang"] = "alv-gng-pro", ["Proto-Gur"] = "nic-gur-pro", ["Proto-Gurunsi"] = "nic-gns-pro", ["Proto-Halmahera-Cenderawasih"] = "poz-hce-pro", ["Proto-Heiban"] = "alv-hei-pro", ["Proto-Highland East Cushitic"] = "cus-hec-pro", ["Proto-Hmong"] = "hmn-pro", ["Proto-Hrusish"] = "sit-hrs-pro", ["Proto-Huitoto-Ocaina"] = "sai-hoc-pro", ["Proto-Hurro-Urartian"] = "qfa-hur-pro", ["Proto-Idomoid"] = "alv-ido-pro", ["Proto-Igboid"] = "alv-igb-pro", ["Proto-Ijoid"] = "ijo-pro", ["Tiếng Iwaidja nguyên thủy"] = "aus-wdj-pro", ["Proto-Jukunoid"] = "nic-jkn-pro", ["Proto-Kadu"] = "qfa-kad-pro", ["Proto-Kalamian"] = "phi-kal-pro", ["Proto-Kalapuyan"] = "nai-klp-pro", ["Proto-Kampa"] = "awd-kmp-pro", ["Proto-Kham"] = "sit-kha-pro", ["Proto-Khoe"] = "khi-kho-pro", ["Proto-Komisenian"] = "ira-kms-pro", ["Proto-Kru"] = "kro-pro", ["Proto-Kuliak"] = "ssa-klk-pro", ["Proto-Kurdish"] = "ku-pro", ["Proto-Kwa"] = "alv-kwa-pro", ["Proto-Lalo"] = "tbq-lal-pro", ["Proto-Lampungic"] = "poz-lgx-pro", ["Tiếng Lô Lô nguyên thủy"] = "tbq-lol-pro", ["Proto-Lower Cross River"] = "nic-lcr-pro", ["Proto-Luish"] = "sit-luu-pro", ["Proto-Maidun"] = "nai-mdu-pro", ["Proto-Mangbetu"] = "csu-maa-pro", ["Proto-Masa"] = "cdc-mas-pro", ["Proto-Mazatec"] = "omq-maz-pro", ["Proto-Medo-Parthian"] = "ira-mpr-pro", ["Proto-Mixe-Zoque"] = "nai-miz-pro", ["Proto-Mixtec"] = "omq-mxt-pro", ["Proto-Mumuye"] = "alv-mum-pro", ["Proto-Munji-Yidgha"] = "ira-mny-pro", ["Proto-Na-Dene"] = "xnd-pro", ["Proto-Nawiki"] = "awd-nwk-pro", ["Proto-Nilotic"] = "sdv-nil-pro", ["Proto-North Caucasian"] = "ccn-pro", ["Proto-North Halmahera"] = "paa-nha-pro", ["Proto-North Sarawak"] = "poz-swa-pro", ["Proto-Nubian"] = "nub-pro", ["Proto-Numic"] = "azc-num-pro", ["Proto-Nupoid"] = "alv-nup-pro", ["Proto-Nyima"] = "sdv-nyi-pro", ["Proto-Nyulnyulan"] = "aus-nyu-pro", ["Proto-Ogoni"] = "nic-ogo-pro", ["Proto-Ossetic"] = "os-pro", ["Proto-Oti-Volta"] = "nic-ovo-pro", ["Proto-Oto-Manguean"] = "omq-pro", ["Proto-Oto-Pamean"] = "omq-otp-pro", ["Proto-Otomi"] = "oto-otm-pro", ["Proto-Otomian"] = "oto-pro", ["Proto-Paresi-Waura"] = "awd-prw-pro", ["Proto-Plateau Penutian"] = "nai-plp-pro", ["Proto-Pomeranian"] = "zlw-pom-pro", ["Proto-Pomo"] = "nai-pom-pro", ["Proto-Saka"] = "xsc-sak-pro", ["Proto-Sanglechi-Ishkashimi"] = "ira-sgi-pro", ["Proto-Sara"] = "csu-sar-pro", ["Proto-Siouan-Catawban"] = "nai-sca-pro", ["Proto-Songhay"] = "son-pro", ["Proto-Sotho-Tswana"] = "bnt-sts-pro", ["Proto-South Cushitic"] = "cus-sou-pro", ["Proto-South Sulawesi"] = "poz-ssw-pro", ["Proto-Southern Jê"] = "sai-sje-pro", ["Proto-Sunda-Sulawesi"] = "poz-sus-pro", ["Proto-Ta-Arawak"] = "awd-taa-pro", ["Proto-Takic"] = "azc-tak-pro", ["Proto-Taman"] = "sdv-tmn-pro", ["Proto-Tani"] = "sit-tan-pro", ["Proto-Taranoan"] = "sai-tar-pro", ["Proto-Tatic"] = "xme-ttc-pro", ["Proto-Totozoquean"] = "nai-tot-pro", ["Tiếng Liên New Guinea nguyên thủy"] = "ngf-pro", ["Proto-Tsezian"] = "cau-tsz-pro", ["Proto-Tsimshianic"] = "nai-tsi-pro", ["Proto-Upper Cross River"] = "nic-ucr-pro", ["Proto-Utian"] = "nai-utn-pro", ["Proto-Western Mande"] = "dmn-mdw-pro", ["Proto-Witotoan"] = "sai-wit-pro", ["Proto-Yupik"] = "ypk-pro", ["Proto-Zapotecan"] = "omq-zap-pro", ["Providencia Sign Language"] = "prz", ["Psikye"] = "kvj", ["Puare"] = "pux", ["Pudtol Atta"] = "atp", ["Puebla Mazatec"] = "pbm", ["Puelche"] = "pue", ["Puerto Rican Sign Language"] = "psl", ["Puimei Naga"] = "npu", ["Puiron"] = "sit-prn", ["Pukapukan"] = "pkp", ["Pulabu"] = "pup", ["Puluwat"] = "puw", ["Puma"] = "pum", ["Pumé"] = "yae", ["Punan Aput"] = "pud", ["Punan Bah-Biau"] = "pna", ["Punan Batu"] = "pnm", ["Punan Merah"] = "puf", ["Punan Merap"] = "puc", ["Punan Tubu"] = "puj", ["Punu"] = "puu", ["Puquina"] = "puq", ["Puragi"] = "pru", ["Purari"] = "iar", ["Purepecha"] = "pua", ["Puri"] = "prr", ["Purik"] = "prx", ["Purisimeño"] = "puy", ["Puruborá"] = "pur", ["Puruhá"] = "sai-prh", ["Purukotó"] = "sai-pur", ["Purum"] = "pub", ["Putai"] = "mfl", ["Putoh"] = "put", ["Putukwam"] = "afe", ["Puyo-Paekche"] = "xpp", ["Pwaamei"] = "pme", ["Pwapwa"] = "pop", ["Pyapun"] = "pcw", ["Pye Krumen"] = "pye", ["Pyemmairre"] = "xpb", ["Pyen"] = "pyy", ["Pykobjê"] = "sai-pyk", ["Pyu"] = "pby", ["Páez"] = "pbb", ["Pááfang"] = "pfa", ["Päri"] = "lkr", ["Pémono"] = "pev", ["Pévé"] = "lme", ["Pökoot"] = "pko", ["Q'anjob'al"] = "kjb", ["Q'eqchi"] = "kek", ["Qabiao"] = "laq", ["Qaqet"] = "byx", ["Qatabanian"] = "xqt", ["Qau"] = "gqu", ["Qila Muji"] = "ymq", ["Quebec Sign Language"] = "fcs", ["Querétaro Otomi"] = "otq", ["Quetzaltepec Mixe"] = "pxm", ["Queyu"] = "qvy", ["Quiavicuzas Zapotec"] = "zpj", ["Quileute"] = "qui", ["Quimbaya"] = "sai-qmb", ["Quinigua"] = "nai-qng", ["Quinqui"] = "quq", ["Quioquitani-Quierí Zapotec"] = "ztq", ["Quiotepec Chinantec"] = "chq", ["Quitemo"] = "sai-qtm", ["Rabona"] = "sai-rab", ["Rahambuu"] = "raz", ["Rajah Kabunsuwan Manobo"] = "mqk", ["Raji"] = "rji", ["Rajong"] = "rjg", ["Rakahanga-Manihiki"] = "rkh", ["Ralte"] = "ral", ["Ramandi"] = "tks", ["Ramanos"] = "sai-ram", ["Ramoaaina"] = "rai", ["Ramopa"] = "kjx", ["Rampi"] = "lje", ["Rana Tharu"] = "thr", ["Rang"] = "rax", ["Rangkas"] = "rgk", ["Ranglong"] = "rnl", ["Rao"] = "rao", ["Rapa"] = "ray", ["Rapoisi"] = "kyx", ["Rapting"] = "rpt", ["Rara Bakati'"] = "lra", ["Ratahan"] = "rth", ["Rathawi"] = "rtw", ["Rathwi Bareli"] = "bgd", ["Rawa"] = "rwo", ["Rawat"] = "jnl", ["Rawo"] = "rwa", ["Rayón Zoque"] = "zor", ["Razajerdi"] = "rat", ["Razihi"] = "rzh", ["Reang"] = "ria", ["Red Gelao"] = "gir", ["Reel"] = "atu", ["Rejang Kayan"] = "ree", ["Rema"] = "bow", ["Rembarunga"] = "rmb", ["Rembong"] = "reb", ["Remo"] = "rem", ["Remontado Agta"] = "agv", ["Rempi"] = "rmp", ["Remun"] = "lkj", ["Rennellese"] = "mnv", ["Repanbitip"] = "rpn", ["Rer Bare"] = "rer", ["Rerau"] = "rea", ["Rerep"] = "pgk", ["Reshe"] = "res", ["Resígaro"] = "rgr", ["Retta"] = "ret", ["Reyesano"] = "rey", ["Rhine Franconian"] = "gmw-rfr", ["Riang"] = "ril", ["Riantana"] = "ran", ["Ribun"] = "rir", ["Rigwe"] = "iri", ["Rikbaktsa"] = "rkb", ["Ringgou"] = "rgu", ["Ririo"] = "rri", ["Ritarungo"] = "rit", ["Riung"] = "riu", ["Riverain Sango"] = "snj", ["Rogo"] = "rod", ["Roma"] = "rmm", ["Romani Greek"] = "rge", ["Romanian Sign Language"] = "rms", ["Romano-Serbian"] = "rsb", ["Romanova"] = "rmv", ["Romblomanon"] = "rol", ["Rombo"] = "rof", ["Romkun"] = "rmk", ["Ron"] = "cla", ["Ronga"] = "rng", ["Rongga"] = "ror", ["Rongmei Naga"] = "nbu", ["Rongpo"] = "rnp", ["Ronji"] = "roe", ["Roon"] = "rnn", ["Roria"] = "rga", ["Roro"] = "rro", ["Rotokas"] = "roo", ["Roviana"] = "rug", ["Rudbari"] = "rdb", ["Rufiji"] = "rui", ["Ruga"] = "ruh", ["Rukiga"] = "cgg", ["Ruma"] = "ruz", ["Rumu"] = "klq", ["Runga"] = "rou", ["Rungtu"] = "rtc", ["Rungwa"] = "rnw", ["Russenorsk"] = "crp-rsn", ["Russian Sign Language"] = "rsl", ["Ruuli"] = "ruc", ["Ruwund"] = "rnd", ["Rwa"] = "rwk", ["Rwanda-Rundi"] = "rw", ["Sa"] = "sax", ["Sa'a"] = "apb", ["Sa'ban"] = "snv", ["Sa'och"] = "scq", ["Saafi-Saafi"] = "sav", ["Saam"] = "raq", ["Saamia"] = "lsm", ["Saare"] = "uss", ["Sabah Malay"] = "msi", ["Sabanê"] = "sae", ["Sabaot"] = "spy", ["Sabine"] = "sbv", ["Sabir"] = "pml", ["Sabu"] = "hvn", ["Sacapulteco"] = "quv", ["Saep"] = "spd", ["Safaitic"] = "sem-saf", ["Safaliba"] = "saf", ["Safeyoka"] = "apz", ["Safwa"] = "sbk", ["Sagala"] = "sbm", ["Sagalla"] = "tga", ["Sahaptin"] = "nai-spt", ["Sahu"] = "saj", ["Sajau Basap"] = "sjb", ["Sakachep"] = "sch", ["Sakam"] = "skm", ["Sakao"] = "sku", ["Sakata"] = "skt", ["Sake"] = "sak", ["Sala"] = "shq", ["Salampasu"] = "slx", ["Salas"] = "sgu", ["Salchuq"] = "slq", ["Saleman"] = "sau", ["Saliba (Colombia)"] = "slc", ["Saliba (New Guinea)"] = "sbe", ["Salinan"] = "sln", ["Salt-Yui"] = "sll", ["Saluan"] = "loe", ["Salumá"] = "slj", ["Salvadoran Lenca"] = "nai-sln", ["Salvadoran Sign Language"] = "esn", ["Sam"] = "snx", ["Sama"] = "smd", ["Samaritan Aramaic"] = "sam", ["Samaritan Hebrew"] = "smp", ["Samarokena"] = "tmj", ["Samatao"] = "ysd", ["Samba"] = "smx", ["Sambe"] = "xab", ["Samberigi"] = "ssx", ["Samburu"] = "saq", ["Samoan Plantation Pidgin"] = "cpe-spp", ["Samosa"] = "swm", ["Sampang"] = "rav", ["Samre"] = "sxm", ["Samvedi"] = "smv", ["San Agustín Mixtepec Zapotec"] = "ztm", ["San Baltazar Loxicha Zapotec"] = "zpx", ["San Felipe Otlaltepec Popoloca"] = "pow", ["San Jerónimo Tecóatl Mazatec"] = "maa", ["San Juan Atzingo Popoloca"] = "poe", ["San Juan Colorado Mixtec"] = "mjc", ["San Juan Quiahije Chatino"] = "ctp-san", ["San Juan Teita Mixtec"] = "xtj", ["San Luís Temalacayuca Popoloca"] = "pps", ["San Marcos Tlalcoyalco Popoloca"] = "pls", ["San Miguel Creole French"] = "scf", ["San Miguel Piedras Mixtec"] = "xtp", ["San Miguel el Grande Mixtec"] = "mig", ["San Pablo Güilá Zapotec"] = "ztu", ["San Pedro Amuzgos Amuzgo"] = "azg", ["San Pedro Quiatoni Zapotec"] = "zpf", ["San Vicente Coatlán Zapotec"] = "zpt", ["Sanapaná"] = "spn", ["Sanaviron"] = "sai-san", ["Sandawe"] = "sad", ["Sanga (Congo)"] = "sng", ["Sanga (Nigeria)"] = "xsn", ["Sanggau"] = "scg", ["Sangil"] = "snl", ["Sangkong"] = "sgk", ["Sanglechi"] = "sgy", ["Sangtam Naga"] = "nsa", ["Sangu (Gabon)"] = "snq", ["Sangu (Tanzania)"] = "sbp", ["Sani"] = "ysn", ["Sanie"] = "ysy", ["Saniyo-Hiyewe"] = "sny", ["Sankaran Maninka"] = "msc", ["Sansi"] = "ssi", ["Santa Catarina Albarradas Zapotec"] = "ztn", ["Santa Inés Ahuatempan Popoloca"] = "pca", ["Santa Inés Yatzechi Zapotec"] = "zpn", ["Santa Lucía Monteverde Mixtec"] = "mdv", ["Santa María La Alta Nahuatl"] = "nhz", ["Santa María Quiegolani Zapotec"] = "zpi", ["Santa María Zacatepec Mixtec"] = "mza", ["Santa Teresa Cora"] = "cok", ["Santiago Xanica Zapotec"] = "zpr", ["Santo Domingo Albarradas Zapotec"] = "zas", ["Sanumá"] = "xsu", ["Saparua"] = "spr", ["Sapará"] = "sai-sap", ["Sapo"] = "krn", ["Saponi"] = "spi", ["Sapuan"] = "spu", ["Sapé"] = "spc", ["Sar"] = "mwm", ["Sara"] = "sre", ["Sara Kaba"] = "sbz", ["Sara Kaba Deme"] = "kwg", ["Sara Kaba Náà"] = "kwv", ["Sarangani Blaan"] = "bps", ["Sarangani Manobo"] = "mbs", ["Sarasira"] = "zsa", ["Saraveca"] = "sar", ["Sarli"] = "sdf", ["Sartang"] = "onp", ["Sarua"] = "swy", ["Sarudu"] = "sdu", ["Saruga"] = "sra", ["Sasaru"] = "sxs", ["Tiếng Sassari"] = "sdc", ["Satawalese"] = "stw", ["Sateré-Mawé"] = "mav", ["Sathmar Swabian"] = "gmw-stm", ["Saudi Arabian Sign Language"] = "sdl", ["Sauraseni Apabhramsa"] = "inc-sap", ["Sauri"] = "srt", ["Sause"] = "sao", ["Sausi"] = "ssj", ["Tiếng Savosavo"] = "svs", ["Sawai"] = "szw", ["Saweru"] = "swr", ["Sawi"] = "saw", ["Sawila"] = "swt", ["Saya"] = "say", ["Sayula Popoluca"] = "pos", ["Scanian"] = "gmq-scy", ["Seba"] = "kdg", ["Seberuang"] = "sbx", ["Sebop"] = "sib", ["Sebuyau"] = "snb", ["Sechura"] = "sai-sec", ["Secoya"] = "sey", ["Sedoa"] = "tvw", ["Seenku"] = "sos", ["Segai"] = "sge", ["Segeju"] = "seg", ["Seget"] = "sbg", ["Sehwi"] = "sfw", ["Seim"] = "sim", ["Seimat"] = "ssg", ["Seit-Kaitetu"] = "hik", ["Sekani"] = "sek", ["Sekapan"] = "skp", ["Sekar"] = "skz", ["Seke"] = "skj", ["Sekele"] = "vaj", ["Seki"] = "syi", ["Seko Padang"] = "skx", ["Seko Tengah"] = "sko", ["Sekpele"] = "lip", ["Selangor Sign Language"] = "kgi", ["Selaru"] = "slu", ["Selayar"] = "sly", ["Selee"] = "snw", ["Selepet"] = "spl", ["Selk'nam"] = "ona", ["Selonian"] = "sxl", ["Selungai Murut"] = "slg", ["Seluwasan"] = "sws", ["Sema"] = "nsm", ["Semandang"] = "sdm", ["Sembakung Murut"] = "sbr", ["Semimi"] = "etz", ["Semnani"] = "smy", ["Sempan"] = "xse", ["Senara Sénoufo"] = "seq", ["Senaya"] = "syn", ["Sene"] = "sej", ["Sengele"] = "szg", ["Senggi"] = "snu", ["Sengo"] = "spk", ["Sengseng"] = "ssz", ["Sensi"] = "sni", ["Sentani"] = "set", ["Senthang Chin"] = "sez", ["Sentinelese"] = "std", ["Sepa (Indonesia)"] = "spb", ["Sepa (New Guinea)"] = "spe", ["Sepen"] = "spm", ["Sepik Iwam"] = "iws", ["Sepik Mari"] = "mbx", ["Sera"] = "sry", ["Sere"] = "swf", ["Serili"] = "sve", ["Seroa"] = "kqu", ["Serrano"] = "ser", ["Seru"] = "szd", ["Serua"] = "srw", ["Serudung Murut"] = "srk", ["Serui-Laut"] = "seu", ["Seta"] = "stf", ["Setaman"] = "stm", ["Seti"] = "sbi", ["Sewa Bay"] = "sew", ["Seychellois Creole"] = "crs", ["Sha"] = "scw", ["Shahmirzadi"] = "srz", ["Shahrudi"] = "shm", ["Shall-Zwall"] = "sha", ["Shama-Sambuga"] = "sqa", ["Shamang"] = "xsh", ["Shambala"] = "ksb", ["Shanenawa"] = "swo", ["Shanga"] = "sho", ["Shangzhai"] = "jih", ["Shaozhou Tuhua"] = "zhx-sht", ["Sharanahua"] = "mcd", ["Shark Bay"] = "ssv", ["Sharwa"] = "swq", ["Shasta"] = "sht", ["Shatt"] = "shj", ["Shau"] = "sqh", ["Shawnee"] = "sjw", ["Tiếng Xa"] = "shx", ["Shehri"] = "shv", ["Sheko"] = "she", ["Shelta"] = "sth", ["Shendu"] = "shl", ["Sheni"] = "scv", ["Sherbro"] = "bun", ["Sherdukpen"] = "sdp", ["Shi"] = "shr", ["Shihhi Arabic"] = "ssh", ["Shiki"] = "gua", ["Shilluk"] = "shk", ["Shipibo-Conibo"] = "shp", ["Shixing"] = "sxg", ["Shoo-Minda-Nye"] = "bcv", ["Shoshone"] = "shh", ["Shua"] = "shg", ["Shuar"] = "jiv", ["Shuba"] = "cbq", ["Shumashti"] = "sts", ["Shumcho"] = "scu", ["Shuwa-Zamani"] = "ksa", ["Shwai"] = "shw", ["Sialum"] = "slw", ["Siamou"] = "sif", ["Sian"] = "spg", ["Siane"] = "snp", ["Siang"] = "sya", ["Siar-Lak"] = "sjr", ["Sibe"] = "nco", ["Sibu Melanau"] = "sdx", ["Sicanian"] = "sxc", ["Siculo-Arabic"] = "sqr", ["Sidetic"] = "xsd", ["Sie"] = "erg", ["Sierra Leone Sign Language"] = "sgx", ["Sierra Negra Nahuatl"] = "nsu", ["Sierra de Juárez Zapotec"] = "zaa", ["Sighu"] = "sxe", ["Sihan"] = "snr", ["Sika"] = "ski", ["Sikaiana"] = "sky", ["Sikaritai"] = "tty", ["Sikiana"] = "sik", ["Sikule"] = "skh", ["Sila"] = "slt", ["Silacayoapan Mixtec"] = "mks", ["Sileibi"] = "sbq", ["Silimo"] = "wul", ["Siliput"] = "mkc", ["Silopi"] = "xsp", ["Simaa"] = "sie", ["Simba"] = "sbw", ["Simbali"] = "smg", ["Simbari"] = "smb", ["Simbo"] = "sbb", ["Simeku"] = "smz", ["Simeulue"] = "smr", ["Simte"] = "smt", ["Sinacantán"] = "nai-sin", ["Sinagen"] = "siu", ["Sinasina"] = "sst", ["Sindarin"] = "sjn", ["Sindhi Bhil"] = "sbn", ["Sindihui Mixtec"] = "xts", ["Singa"] = "sgm", ["Singapore Sign Language"] = "sls", ["Singpho"] = "sgp", ["Sinicahua Mixtec"] = "xti", ["Sininkere"] = "skq", ["Sinte Romani"] = "rmo", ["Sinyar"] = "sys", ["Sinúfana"] = "sai-sin", ["Sio"] = "xsi", ["Siona"] = "snn", ["Sipakapense"] = "qum", ["Sira"] = "swj", ["Siri"] = "sir", ["Siriano"] = "sri", ["Sirionó"] = "srq", ["Siroi"] = "ssd", ["Siuslaw"] = "sis", ["Sivandi"] = "siy", ["Siwai"] = "siw", ["Siyin Chin"] = "csy", ["Skagit"] = "ska", ["Skalvian"] = "svx", ["Ske"] = "ske", ["Skou"] = "skv", ["Slavomolisano"] = "svm", ["Slovakian Sign Language"] = "svk", ["Small Flowery Miao"] = "sfm", ["Smärky Kanum"] = "kxq", ["Snohomish"] = "sno", ["So'a"] = "ssq", ["Sobei"] = "sob", ["Sochiapam Chinantec"] = "cso", ["Soga"] = "xog", ["Sok"] = "skk", ["Soko"] = "soc", ["Sokoro"] = "sok", ["Solano"] = "xso", ["Soli"] = "sby", ["Solos"] = "sol", ["Som"] = "smc", ["Somba-Siawari"] = "bmu", ["Somra"] = "ntx", ["Somrai"] = "sor", ["Somray"] = "smu", ["Somyev"] = "kgt", ["Sonaga"] = "ysg", ["Sonde"] = "shc", ["Songe"] = "sop", ["Songomeno"] = "soe", ["Songoora"] = "sod", ["Sonha"] = "soi", ["Sonia"] = "siq", ["Soo"] = "teu", ["Sop"] = "urw", ["Sori-Harengan"] = "sbh", ["Sorkhei"] = "sqo", ["Sorothaptic"] = "sxo", ["Sorsogon Ayta"] = "ays", ["Sos Kundi"] = "sdk", ["Sota Kanum"] = "krz", ["Sou"] = "sqq", ["South African Sign Language"] = "sfs", ["South Awyu"] = "aws", ["South Boma"] = "bnt-sbo", ["Tiếng Banda Trung Nam"] = "lnl", ["South Central Dinka"] = "dib", ["South Fali"] = "fal", ["South Giziga"] = "giz", ["South Lembata"] = "lmf", ["South Muyu"] = "kts", ["South Nuaulu"] = "nxl", ["South Tairora"] = "omw", ["South Ucayali Ashéninka"] = "cpy", ["South Watut"] = "mcy", ["Southeast Ambrym"] = "tvk", ["Southeast Babar"] = "vbb", ["Southeast Ijo"] = "ijs", ["Southeast Pashayi"] = "psi", ["Southeast Tasmanian"] = "xpf", ["Southeastern Dinka"] = "dks", ["Southeastern Ixtlán Zapotec"] = "zpd", ["Southeastern Nochixtlán Mixtec"] = "mxy", ["Southeastern Pomo"] = "pom", ["Southeastern Puebla Nahuatl"] = "npl", ["Southeastern Tarahumara"] = "tcu", ["Southern Alta"] = "agy", ["Southern Birifor"] = "biv", ["Southern Bobo"] = "bwq", ["Southern Bontoc"] = "obk", ["Southern Catanduanes Bicolano"] = "bln", ["Southern Dagaare"] = "dga", ["Southern Ghale"] = "ghe", ["Southern Grebo"] = "grj", ["Southern Guiyang Hmong"] = "hmy", ["Southern Haida"] = "hax", ["Southern Hindko"] = "hnd", ["Southern Kalapuya"] = "sxk", ["Southern Kalinga"] = "ksc", ["Southern Khanty"] = "kca-sou", ["Tiếng Kissi Nam"] = "kss", ["Southern Kiwai"] = "kjd", ["Tiếng Xwarin"] = "sdh", ["Southern Lolopo"] = "ysp", ["Southern Lorung"] = "lrr", ["Southern Ma'di"] = "snm", ["Southern Mashan Hmong"] = "hma", ["Southern Muji"] = "ymc", ["Southern Ngbandi"] = "nbw", ["Southern Nisu"] = "nsd", ["Southern Nuni"] = "nnw", ["Southern Ohlone"] = "css", ["Southern One"] = "osu", ["Southern Pame"] = "pmz", ["Southern Pinghua"] = "csp", ["Southern Pomo"] = "peq", ["Southern Puebla Mixtec"] = "mit", ["Southern Puget Sound Salish"] = "slh", ["Southern Pumi"] = "pmj", ["Southern Qiandong Miao"] = "hms", ["Southern Rengma Naga"] = "nre", ["Southern Sama"] = "ssb", ["Southern Sierra Miwok"] = "skd", ["Southern Tidong"] = "itd", ["Southern Tiwa"] = "tix", ["Southern Toussian"] = "wib", ["Southern Tutchone"] = "tce", ["Southern Valley Yokuts"] = "nai-svy", ["Southwest Gbaya"] = "gso", ["Southwest Palawano"] = "plv", ["Southwest Pashayi"] = "psh", ["Southwest Tanna"] = "nwi", ["Southwestern Bontoc"] = "vbk", ["Southwestern Dinka"] = "dik", ["Southwestern Fars"] = "fay", ["Southwestern Guiyang Hmong"] = "hmg", ["Southwestern Huishui Hmong"] = "hmh", ["Southwestern Nisu"] = "nsv", ["Southwestern Tamang"] = "tsf", ["Southwestern Tarahumara"] = "twr", ["Southwestern Tepehuan"] = "tla", ["Southwestern Tlaxiaco Mixtec"] = "meh", ["Sowa"] = "sww", ["Sowanda"] = "sow", ["Soyaltepec Mazatec"] = "vmp", ["Soyaltepec Mixtec"] = "vmq", ["Spanish Sign Language"] = "ssp", ["Spiti Bhoti"] = "spt", ["Spokane"] = "spo", ["Sri Lankan Creole Malay"] = "sci", ["Sri Lankan Sign Language"] = "sqs", ["Stod Bhoti"] = "sbu", ["Stoney"] = "sto", ["Suabo"] = "szp", ["Suarmin"] = "seo", ["Suau"] = "swp", ["Suba"] = "sxb", ["Suba-Simbiti"] = "ssc", ["Subi"] = "xsj", ["Subiya"] = "sbs", ["Subtiaba"] = "sut", ["Sudest"] = "tgo", ["Sudovian"] = "xsv", ["Suena"] = "sue", ["Suga"] = "sgi", ["Suganga"] = "sug", ["Sugut Dusun"] = "kzs", ["Suki"] = "sui", ["Suku"] = "sub", ["Sukuma"] = "suk", ["Sukur"] = "syk", ["Sukurum"] = "zsu", ["Sula"] = "szn", ["Sulka"] = "sua", ["Sulod"] = "srg", ["Suma"] = "sqm", ["Sumariup"] = "siv", ["Sumau"] = "six", ["Tiếng Sumbawa"] = "smw", ["Sumbwa"] = "suw", ["Sumtu Chin"] = "csv", ["Sunam"] = "ssk", ["Sunum"] = "ymn", ["Sunwar"] = "suz", ["Suoy"] = "syo", ["Supyire"] = "spp", ["Sur"] = "tdl", ["Surbakhal"] = "sbj", ["Surigaonon"] = "sgd", ["Sursurunga"] = "sgz", ["Suruahá"] = "swx", ["Surubu"] = "sde", ["Suruí"] = "sru", ["Suruí Do Pará"] = "mdz", ["Susquehannock"] = "sqn", ["Susuami"] = "ssu", ["Suundi"] = "sdj", ["Suwawa"] = "swu", ["Suyá"] = "suy", ["Swabian"] = "swg", ["Swampy Cree"] = "csw", ["Swedish Sign Language"] = "swl", ["Swiss-French Sign Language"] = "ssr", ["Swiss-German Sign Language"] = "sgg", ["Swiss-Italian Sign Language"] = "slf", ["Swo"] = "sox", ["Syenara Senoufo"] = "shz", ["Sácata"] = "sai-sac", ["São Paulo Kaingáng"] = "zkp", ["Sãotomense"] = "cri", ["Sìcìté Sénoufo"] = "sep", ["T'en"] = "tct", ["Tabaa Zapotec"] = "zat", ["Tabancale"] = "sai-tab", ["Tabaru"] = "tby", ["Tabasco Chontal"] = "chf", ["Tabasco Nahuatl"] = "nhc", ["Tabasco Zoque"] = "zoq", ["Tabla"] = "tnm", ["Tabo"] = "knv", ["Tabriak"] = "tzx", ["Tacahua Mixtec"] = "xtt", ["Tacana"] = "tna", ["Tadaksahak"] = "dsq", ["Tae'"] = "rob", ["Tafreshi"] = "xme-taf", ["Tagabawa"] = "bgs", ["Tagakaulu Kalagan"] = "klg", ["Tagbanwa"] = "tbw", ["Tagbu"] = "tbm", ["Tagish"] = "tgx", ["Tagwana Senoufo"] = "tgw", ["Tai"] = "taw", ["Tai Hang Tong"] = "thc", ["Tai Hongjin"] = "tiz", ["Tai Long"] = "thi", ["Tai Thanh"] = "tmm", ["Tai Ya"] = "cuu", ["Taiap"] = "gpn", ["Taikat"] = "aos", ["Tainae"] = "ago", ["Tairuma"] = "uar", ["Taita"] = "dav", ["Taiwan Sign Language"] = "tss", ["Taje"] = "pee", ["Tiếng Tajio"] = "tdj", ["Tajuasohn"] = "tja", ["Takelma"] = "tkm", ["Takia"] = "tbc", ["Takka Apabhramsa"] = "inc-tak", ["Takua"] = "tkz", ["Takuu"] = "nho", ["Takwane"] = "tke", ["Talaud"] = "tld", ["Taliabu"] = "tlv", ["Talieng"] = "tdf", ["Talinga-Bwisi"] = "tlj", ["Talise"] = "tlr", ["Tallán"] = "sai-tal", ["Talodi"] = "tlo", ["Taloki"] = "tlk", ["Talondo'"] = "tln", ["Talu"] = "yta", ["Tama (Chad)"] = "tma", ["Tama (Colombia)"] = "ten", ["Tamagario"] = "tcg", ["Tamambo"] = "mla", ["Taman (Indonesia)"] = "tmn", ["Taman (Myanmar)"] = "tcl", ["Tamanaku"] = "tmz", ["Tamazola Mixtec"] = "vmx", ["Tambas"] = "tdk", ["Tambora"] = "xxt", ["Tambotalo"] = "tls", ["Tambunan Dusun"] = "kzt", ["Tami"] = "tmy", ["Tamnim Citak"] = "tml", ["Tampias Lobu"] = "low", ["Tampulma"] = "tpm", ["Tanacross"] = "tcb", ["Tanahmerah"] = "tcm", ["Tanapag"] = "tpv", ["Tandaganon"] = "tgn", ["Tandia"] = "tni", ["Tanema"] = "tnx", ["Tangale"] = "tan", ["Tangam"] = "sit-tgm", ["Tanggu"] = "tgu", ["Tangko"] = "tkx", ["Tangsa"] = "nst", ["Tanguat"] = "tbs", ["Tiếng Tanimuca-Retuarã"] = "tnc", ["Tanjijili"] = "uji", ["Tanudan Kalinga"] = "kml", ["Tanzanian Sign Language"] = "tza", ["Tapachultec"] = "nai-tap", ["Taparita"] = "sai-tpr", ["Tapayuna"] = "sai-tap", ["Tapeba"] = "tbb", ["Tapei"] = "afp", ["Tapieté"] = "tpj", ["Tar Gula"] = "kcm", ["Tarairiú"] = "sai-trr", ["Tarao"] = "tro", ["Taraon"] = "mhu", ["Tareng"] = "tgr", ["Tarjumo"] = "txj", ["Tarok"] = "yer", ["Tarpia"] = "tpf", ["Tartessian"] = "txr", ["Taruma"] = "tdm", ["Tasmate"] = "tmt", ["Tataltepec Chatino"] = "cta", ["Tatana"] = "txx", ["Tataviam"] = "azc-tat", ["Tauade"] = "ttd", ["Taulil"] = "tuh", ["Taupota"] = "tpa", ["Taushiro"] = "trr", ["Tauya"] = "tya", ["Taveta"] = "tvs", ["Tawala"] = "tbo", ["Tawandê"] = "xtw", ["Tawang Monpa"] = "twm", ["Tawasa"] = "nai-taw", ["Taworta"] = "tbp", ["Tawoyan"] = "twy", ["Tawr Chin"] = "tcp", ["Tay Khang"] = "tnu", ["Tayabas Ayta"] = "ayy", ["Tayo"] = "cks", ["Tboli"] = "tbl", ["Tchitchege"] = "tck", ["Tchumbuli"] = "bqa", ["Te'un"] = "tve", ["Teanu"] = "tkw", ["Tebul Sign Language"] = "tsy", ["Tebul Ure Dogon"] = "dtu", ["Tecpatlán Totonac"] = "tcw", ["Tedaga"] = "tuq", ["Tee"] = "tkq", ["Tefaro"] = "tfo", ["Tegali"] = "ras", ["Tehit"] = "kps", ["Tehuelche"] = "teh", ["Teiwa"] = "twe", ["Tejalapan Zapotec"] = "ztt", ["Teke-Fuumu"] = "ifm", ["Teke-Kukuya"] = "kkw", ["Teke-Laali"] = "lli", ["Teke-Tege"] = "teg", ["Teke-Tsaayi"] = "tyi", ["Teke-Tyee"] = "tyx", ["Tektiteko"] = "ttc", ["Tela-Masbuar"] = "tvm", ["Telefol"] = "tlf", ["Teluti"] = "tlt", ["Tembé"] = "tqb", ["Teme"] = "tdo", ["Temein"] = "teq", ["Temi"] = "soz", ["Temne"] = "tem", ["Temoaya Otomi"] = "ott", ["Tempasuk Dusun"] = "tdu", ["Tenango Otomi"] = "otn", ["Tene Kan Dogon"] = "dtk", ["Tenggarong Kutai Malay"] = "vkt", ["Tenino"] = "tqn", ["Tenis"] = "tns", ["Tennet"] = "tex", ["Teojomulco Chatino"] = "omq-teo", ["Teop"] = "tio", ["Teor"] = "tev", ["Tepecano"] = "tep", ["Tepetotutla Chinantec"] = "cnt", ["Tepeuxila Cuicatec"] = "cux", ["Tepo Krumen"] = "ted", ["Tiếng Mixtec Teposcolula"] = "omq-tel", ["Tequistlatec"] = "nai-teq", ["Tera"] = "ttr", ["Terebu"] = "trb", ["Terei"] = "buo", ["Tereno"] = "ter", ["Tereweng"] = "twg", ["Terik"] = "tec", ["Termanu"] = "twu", ["Ternateño"] = "tmg", ["Tese"] = "keg", ["Teshenawa"] = "twc", ["Tetela"] = "tll", ["Tetelcingo Nahuatl"] = "nhg", ["Tetete"] = "teb", ["Tetun Dili"] = "tdt", ["Teushen"] = "sai-teu", ["Teutila Cuicatec"] = "cut", ["Tewa"] = "tew", ["Texcatepec Otomi"] = "otx", ["Texistepec Popoluca"] = "poq", ["Texmelucan Zapotec"] = "zpz", ["Tezoatlán Mixtec"] = "mxb", ["Tha"] = "thy", ["Thado Chin"] = "tcz", ["Thai Sign Language"] = "tsq", ["Thaiphum Chin"] = "cth", ["Thakali"] = "ths", ["Thamudic"] = "sem-tha", ["Thangmi"] = "thf", ["Thao"] = "ssf", ["Tharaka"] = "thk", ["Tharrgari"] = "dhr", ["Thawa"] = "xtv", ["Thopho"] = "ytp", ["Thu Lao"] = "tyl", ["Thulung"] = "tdh", ["Thurawal"] = "tbh", ["Thuri"] = "thu", ["Tiagbamrin Aizi"] = "ahi", ["Tiale"] = "mnl", ["Tibea"] = "ngy", ["Ticuna"] = "tca", ["Tidaá Mixtec"] = "mtx", ["Tidore"] = "tvo", ["Tiemacèwè Bozo"] = "boo", ["Tiene"] = "tii", ["Tifal"] = "tif", ["Tigak"] = "tgc", ["Tii"] = "txq", ["Tijaltepec Mixtec"] = "xtl", ["Tikar"] = "tik", ["Tikopia"] = "tkp", ["Tilapa Otomi"] = "otl", ["Tillamook"] = "til", ["Tilquiapan Zapotec"] = "zts", ["Tilung"] = "tij", ["Tima"] = "tms", ["Timbe"] = "tim", ["Timor Pidgin"] = "tvy", ["Timote"] = "sai-tim", ["Timucua"] = "tjm", ["Timugon Murut"] = "tih", ["Tinani"] = "lbf", ["Tingui-Boto"] = "tgv", ["Tinigua"] = "tit", ["Tinoc Kallahan"] = "tne", ["Tinputz"] = "tpz", ["Tira"] = "tic", ["Tirahi"] = "tra", ["Tiranige Diga Dogon"] = "tde", ["Tircul"] = "pyx", ["Tiri"] = "cir", ["Tita"] = "tdq", ["Titan"] = "ttv", ["Tiv"] = "tiv", ["Tiéfo"] = "tiq", ["Tiéyaxo Bozo"] = "boz", ["Tjurruru"] = "tju", ["Tlacoatzintepec Chinantec"] = "ctl", ["Tlacolulita Zapotec"] = "zpk", ["Tlahuica"] = "ocu", ["Tlahuitoltepec Mixe"] = "mxp", ["Tlamacazapa Nahuatl"] = "nuz", ["Tlazoyaltepec Mixtec"] = "mqh", ["To"] = "toz", ["To'abaita"] = "mlu", ["Toaripi"] = "tqo", ["Toba"] = "tob", ["Toba Batak"] = "bbc", ["Toba-Maskoy"] = "tmf", ["Tobagonian Creole English"] = "tgh", ["Tobanga"] = "tng", ["Tobati"] = "tti", ["Tobelo"] = "tlb", ["Tobilung"] = "tgb", ["Tobo"] = "tbv", ["Tocantins Asurini"] = "asu", ["Tofanma"] = "tlg", ["Tofin Gbe"] = "tfi", ["Togbo-Vara Banda"] = "tor", ["Togoyo"] = "tgy", ["Tojolabal"] = "toj", ["Toka-Leya"] = "dov", ["Tokano"] = "zuh", ["Tol"] = "jic", ["Tolai"] = "ksd", ["Tolaki"] = "lbw", ["Tolomako"] = "tlm", ["Tolowa"] = "tol", ["Toloza"] = "ytl", ["Tomadino"] = "tdi", ["Tombelala"] = "ttp", ["Tombonuo"] = "txa", ["Tombulu"] = "tom", ["Tomini"] = "txm", ["Tommeginne"] = "xpv", ["Tommo So"] = "dto", ["Tomo Kan Dogon"] = "dtm", ["Tomoip"] = "tqp", ["Tondano"] = "tdn", ["Tonga (Malawi)"] = "tog", ["Tonga (Mozambique)"] = "toh", ["Tonga (Zambia)"] = "toi", ["Tongwe"] = "tny", ["Tonjon"] = "tjn", ["Tonsawang"] = "tnw", ["Tonsea"] = "txs", ["Tontemboan"] = "tnt", ["Toogee"] = "xpx", ["Topoiyo"] = "toy", ["Toposa"] = "toq", ["Toraja-Sa'dan"] = "sda", ["Toram"] = "trj", ["Torau"] = "ttu", ["Toro"] = "tdv", ["Toro So Dogon"] = "dts", ["Toro Tegu Dogon"] = "dtt", ["Toromono"] = "tno", ["Torona"] = "tqr", ["Torres Strait Creole"] = "tcs", ["Torricelli"] = "tei", ["Torricelli Yau"] = "yyu", ["Torá"] = "trz", ["Tosu"] = "sit-tos", ["Totela"] = "ttl", ["Totoli"] = "txe", ["Totomachapan Zapotec"] = "zph", ["Totontepec Mixe"] = "mto", ["Totoro"] = "ttk", ["Touo"] = "tqu", ["Toura"] = "neb", ["Tourangeau"] = "roa-tou", ["Towei"] = "ttn", ["Traveller Danish"] = "rmd", ["Traveller Norwegian"] = "rmg", ["Traveller Scottish"] = "trl", ["Tregami"] = "trm", ["Tremembé"] = "tme", ["Trieng"] = "stg", ["Trimuris"] = "tip", ["Tring"] = "tgq", ["Tringgus"] = "trx", ["Trinidad and Tobago Sign Language"] = "lst", ["Trinidadian Creole English"] = "trf", ["Trinitario"] = "trn", ["Truká"] = "tka", ["Trumai"] = "tpy", ["Ts'ün-Lao"] = "tsl", ["Tsaangi"] = "tsa", ["Tsafiki"] = "cof", ["Tsakwambo"] = "kvz", ["Tsetsaut"] = "txc", ["Tshobdun"] = "sit-tsh", ["Tshwa"] = "hio", ["Tsikimba"] = "kdl", ["Tsimané"] = "cas", ["Tsishingini"] = "tsw", ["Tso"] = "ldp", ["Tsogo"] = "tsv", ["Tsotsitaal"] = "fly", ["Tsum"] = "ttz", ["Tsuvadi"] = "tvd", ["Tsuvan"] = "tsh", ["Tswa"] = "tsc", ["Tswapong"] = "two", ["Tubar"] = "tbu", ["Tucano"] = "tuo", ["Tugen"] = "tuy", ["Tugun"] = "tzn", ["Tugutil"] = "tuj", ["Tukpa"] = "tpq", ["Tukudede"] = "tkd", ["Tukumanféd"] = "tkf", ["Tula"] = "tul", ["Tule-Kaweah Yokuts"] = "nai-tky", ["Tulehu"] = "tlu", ["Tulishi"] = "tey", ["Tulu-Bohuai"] = "rak", ["Tulua"] = "aus-tul", ["Tuma-Irumu"] = "iou", ["Tumak"] = "tmc", ["Tumi"] = "kku", ["Tumleo"] = "tmq", ["Tumshuqese"] = "xtq", ["Tumtum"] = "tbr", ["Tumulung Sisaala"] = "sil", ["Tunen"] = "tvu", ["Tungag"] = "lcm", ["Tunggare"] = "trt", ["Tunia"] = "tug", ["Tunisian Sign Language"] = "tse", ["Tunjung"] = "tjg", ["Tunumiisut"] = "esx-tut", ["Tunzu"] = "dza", ["Tuotomb"] = "ttf", ["Tuparí"] = "tpr", ["Tupinikin"] = "tpk", ["Tupuri"] = "tui", ["Turaka"] = "trh", ["Turi"] = "trd", ["Turiwára"] = "twt", ["Turka"] = "tuz", ["Turkana"] = "tuv", ["Turkish Sign Language"] = "tsm", ["Turks and Caicos Creole English"] = "tch", ["Turumsa"] = "tqm", ["Turung"] = "try", ["Tuscarora"] = "tus", ["Tutelo"] = "tta", ["Tutong"] = "ttg", ["Tutsa Naga"] = "tvt", ["Tutuba"] = "tmi", ["Tututepec Mixtec"] = "mtu", ["Tututni"] = "tuu", ["Tuwali Ifugao"] = "ifk", ["Tuwari"] = "tww", ["Tuxináwa"] = "tux", ["Tuxá"] = "tud", ["Tuyuca"] = "tue", ["Twana"] = "twa", ["Twendi"] = "twn", ["Tyaraity"] = "woa", ["Tyerrernotepanner"] = "xph", ["Tz'utujil"] = "tzj", ["Tzeltal"] = "tzh", ["Tày Tac"] = "tyt", ["Téén"] = "lor", ["Tübatulabal"] = "tub", ["Uab Meto"] = "aoz", ["Uamué"] = "uam", ["Uare"] = "ksj", ["Ubaghara"] = "byc", ["Ubang"] = "uba", ["Ubi"] = "ubi", ["Ubir"] = "ubr", ["Ucayali-Yurúa Ashéninka"] = "cpb", ["Uda"] = "uda", ["Ufim"] = "ufi", ["Ugandan Sign Language"] = "ugn", ["Ughele"] = "uge", ["Uhami"] = "uha", ["Uisai"] = "uis", ["Ujir"] = "udj", ["Ukaan"] = "kcf", ["Ukhwejo"] = "ukh", ["Ukit"] = "umi", ["Ukpe-Bayobiri"] = "ukp", ["Ukpet-Ehom"] = "akd", ["Ukrainian Sign Language"] = "ukl", ["Ukue"] = "uku", ["Ukuriguma"] = "ukg", ["Ukwa"] = "ukq", ["Ukwuani-Aboh-Ndoni"] = "ukw", ["Ulau-Suain"] = "svb", ["Uldeme"] = "udl", ["Ulithian"] = "uli", ["Ulumanda'"] = "ulm", ["Ulwa"] = "ulw", ["Uma"] = "ppk", ["Uma' Lasan"] = "xky", ["Uma' Lung"] = "ulu", ["Umanakaina"] = "gdn", ["Umatilla"] = "uma", ["Umbindhamu"] = "umd", ["Umbu-Ungu"] = "ubu", ["Umbugarla"] = "umr", ["Umbuygamu"] = "umg", ["Umeda"] = "upi", ["Umiida"] = "xud", ["Umiray Dumaget Agta"] = "due", ["Umon"] = "umm", ["Umotína"] = "umo", ["Umpila"] = "ump", ["Una"] = "mtg", ["Unas"] = "art-una", ["Unde Kaili"] = "unz", ["Uneme"] = "une", ["Unggaranggu"] = "xun", ["Unggumi"] = "xgu", ["Tiếng Uni"] = "uni", ["Unserdeutsch"] = "uln", ["Unua"] = "onu", ["Unubahe"] = "unu", ["Uokha"] = "uok", ["Upper Chehalis"] = "cjh", ["Upper Grand Valley Dani"] = "dna", ["Upper Kuskokwim"] = "kuu", ["Upper Necaxa Totonac"] = "tku", ["Upper Tanana"] = "tau", ["Upper Taromi"] = "tov", ["Upper Umpqua"] = "xup", ["Ura (New Guinea)"] = "uro", ["Ura (Vanuatu)"] = "uur", ["Uradhi"] = "urf", ["Urapmin"] = "urm", ["Urarina"] = "ura", ["Urat"] = "urt", ["Urhobo"] = "urh", ["Uri"] = "uvh", ["Urigina"] = "urg", ["Urim"] = "uri", ["Urimo"] = "urx", ["Urningangg"] = "urc", ["Uru"] = "ure", ["Uru-Eu-Wau-Wau"] = "urz", ["Uru-Pa-In"] = "urp", ["Uruangnirin"] = "urn", ["Uruava"] = "urv", ["Uruguayan Sign Language"] = "ugy", ["Urumi"] = "uru", ["Usaghade"] = "usk", ["Usan"] = "wnu", ["Usarufa"] = "usa", ["Usila Chinantec"] = "cuc", ["Uspanteco"] = "usp", ["Utarmbung"] = "omo", ["Ute"] = "ute", ["Utu"] = "utu", ["Uwinymil"] = "aus-uwi", ["Uya"] = "usu", ["Uyajitaya"] = "duk", ["Uzekwe"] = "eze", ["Vaghua"] = "tva", ["Vagla"] = "vag", ["Vai"] = "vai", ["Vaiphei"] = "vap", ["Vale"] = "vae", ["Valencian Sign Language"] = "vsv", ["Valle Nacional Chinantec"] = "cvn", ["Valley Maidu"] = "vmv", ["Valman"] = "van", ["Valpei"] = "vlp", ["Vamale"] = "mkt", ["Vame"] = "mlr", ["Vandalic"] = "xvn", ["Vangunu"] = "mpr", ["Vanimo"] = "vam", ["Vanji"] = "ira-wnj", ["Vanuma"] = "vau", ["Vao"] = "vao", ["Varhadi"] = "vah", ["Varisi"] = "vrs", ["Vayu"] = "vay", ["Veddah"] = "ved", ["Vehes"] = "val", ["Vemgo-Mabas"] = "vem", ["Venezuelan Sign Language"] = "vsl", ["Ventureño"] = "veo", ["Vera'a"] = "vra", ["Vestinian"] = "xvs", ["Vidunda"] = "vid", ["Viemo"] = "vig", ["Vilela"] = "vil", ["Vili"] = "vif", ["Villa Viciosa Agta"] = "dyg", ["Vincentian Creole English"] = "svc", ["Viti"] = "vit", ["Vitou"] = "vto", ["Viya"] = "gev", ["Vlax Romani"] = "rmy", ["Volga German"] = "gmw-vog", ["Vono"] = "kch", ["Voro"] = "vor", ["Vracada Apabhramsa"] = "inc-vra", ["Vumbu"] = "vum", ["Vunapu"] = "vnp", ["Vunjo"] = "vun", ["Vute"] = "vut", ["Wa"] = "wbm", ["Wa'ema"] = "wag", ["Waamwang"] = "wmn", ["Wab"] = "wab", ["Wabo"] = "wbb", ["Waboda"] = "kmx", ["Wadaginam"] = "wdg", ["Waddar"] = "wbq", ["Wadi Wadi"] = "xwd", ["Wadjabangayi"] = "wdy", ["Wadjiginy"] = "wdj", ["Wadjigu"] = "wdu", ["Wae Rana"] = "wrx", ["Waffa"] = "waj", ["Wagawaga"] = "wgb", ["Wagaya"] = "wga", ["Wagdi"] = "wbr", ["Wageman"] = "waq", ["Wahau Kayan"] = "whu", ["Wahau Kenyah"] = "whk", ["Waigali"] = "wbk", ["Waigeo"] = "wgo", ["Waikuri"] = "nai-wai", ["Wailaki"] = "wlk", ["Wailapa"] = "wlr", ["Waima'a"] = "wmh", ["Waimiri-Atroari"] = "atr", ["Wainumá"] = "awd-wai", ["Waioli"] = "wli", ["Waitaká"] = "sai-wai", ["Waja"] = "wja", ["Wajarri"] = "wbv", ["Wajuk"] = "xwj", ["Waka"] = "wav", ["Wakawaka"] = "wkw", ["Wakoná"] = "waf", ["Wala"] = "lgl", ["Walak"] = "wlw", ["Walangama"] = "nlw", ["Wali (Ghana)"] = "wlx", ["Wali (Sudan)"] = "wll", ["Waling"] = "wly", ["Walio"] = "wla", ["Walla Walla"] = "waa", ["Walmajarri"] = "wmt", ["Wam"] = "wmo", ["Wamas"] = "wmc", ["Wambaya"] = "wmb", ["Wambon"] = "wms", ["Wamey"] = "cou", ["Wamin"] = "wmi", ["Wampar"] = "lbq", ["Wampur"] = "waz", ["Wan"] = "wan", ["Wanambre"] = "wnb", ["Wanap"] = "wnp", ["Wanda"] = "wbh", ["Wandala"] = "mfi", ["Wandamen"] = "wad", ["Wandarang"] = "wnd", ["Wandji"] = "wdd", ["Wanga"] = "lwg", ["Wanggamala"] = "wnm", ["Wangganguru"] = "wgg", ["Wanggom"] = "wng", ["Wangkayutyuru"] = "wky", ["Wangkumara"] = "xwk", ["Wanham"] = "sai-wnm", ["Wanji"] = "wbi", ["Wanman"] = "wbt", ["Wannu"] = "jub", ["Wano"] = "wno", ["Wantoat"] = "wnc", ["Wanukaka"] = "wnk", ["Wanyi"] = "wny", ["Wané"] = "hwa", ["Wapan"] = "juk", ["Wapishana"] = "wap", ["Wappo"] = "wao", ["Wara"] = "wbf", ["Warao"] = "wba", ["Warapu"] = "wra", ["Waray Sorsogon"] = "srv", ["Wardandi"] = "wxw", ["Warembori"] = "wsa", ["Wari'"] = "pav", ["Waris"] = "wrs", ["Waritai"] = "wbe", ["Wariyangga"] = "wri", ["Warkay-Bipim"] = "bgv", ["Warlmanpa"] = "wrl", ["Tiếng Warlpiri"] = "wbp", ["Warluwara"] = "wrb", ["Warnang"] = "wrn", ["Waropen"] = "wrp", ["Warray"] = "wrz", ["Warrgamay"] = "wgy", ["Warrwa"] = "wwr", ["Waru"] = "wru", ["Warumungu"] = "wrm", ["Waruna"] = "wrv", ["Warungu"] = "wrg", ["Warwar Feni"] = "hrw", ["Wasa"] = "wss", ["Wasco-Wishram"] = "wac", ["Wasembo"] = "gsp", ["Washo"] = "was", ["Waskia"] = "wsk", ["Wasu"] = "wsu", ["Watakataui"] = "wtk", ["Watam"] = "wax", ["Wathaurong"] = "wth", ["Watiwa"] = "wtf", ["Watubela"] = "wah", ["Waube"] = "kop", ["Wauja"] = "wau", ["Wauyai"] = "wuy", ["Wawa"] = "www", ["Tiếng Ngõa Hương"] = "wxa", ["Wayoró"] = "wyr", ["Wayumará"] = "sai-way", ["Wedau"] = "wed", ["Weh"] = "weh", ["Welaung"] = "weu", ["Weliki"] = "klh", ["Welsh Romani"] = "rmw", ["Wemale"] = "weo", ["Weme Gbe"] = "wem", ["Wendat"] = "wdt", ["Weri"] = "wer", ["Wersing"] = "kvw", ["West Albay Bikol"] = "fbl", ["West Ambae"] = "nnd", ["West Central Banda"] = "bbp", ["West Damar"] = "drn", ["West Greenlandic Pidgin"] = "crp-gep", ["West Lembata"] = "lmj", ["West Masela"] = "mss", ["West Tarangan"] = "txn", ["West Uvean"] = "uve", ["West-Central Limba"] = "lia", ["Western Arrernte"] = "are", ["Western Bolivian Guaraní"] = "gnw", ["Western Bukidnon Manobo"] = "mbb", ["Western Dani"] = "dnw", ["Western Durango Nahuatl"] = "azn", ["Western Fijian"] = "wyy", ["Western Gurung"] = "gvr", ["Western Jicaque"] = "und-wji", ["Western Juxtlahuaca Mixtec"] = "jmx", ["Western Karaboro"] = "kza", ["Western Keres"] = "kjq", ["Tiếng Krahn"] = "krw", ["Western Lalu"] = "ywl", ["Western Maninkakan"] = "mlq", ["Western Mashan Hmong"] = "hmw", ["Western Meohang"] = "raf", ["Western Muria"] = "mut", ["Western Panjabi"] = "pnb", ["Western Penan"] = "pne", ["Western Sisaala"] = "ssl", ["Western Subanon"] = "suc", ["Western Tawbuid"] = "twb", ["Western Totonac"] = "tqt", ["Western Tunebo"] = "tnb", ["Western Xwla Gbe"] = "xwl", ["Westrobothnian"] = "gmq-bot", ["Weyewa"] = "wew", ["White Lachi"] = "lwh", ["Whitesands"] = "tnp", ["Wiarumus"] = "tua", ["Wichita"] = "wic", ["Wichí Lhamtés Güisnay"] = "mzh", ["Wichí Lhamtés Nocten"] = "mtp", ["Wichí Lhamtés Vejoz"] = "wlv", ["Wik-Epa"] = "wie", ["Wik-Iiyanh"] = "wij", ["Wik-Keyangan"] = "wif", ["Wik-Me'anha"] = "wih", ["Wik-Mungkan"] = "wim", ["Wik-Ngathana"] = "wig", ["Wikalkan"] = "wik", ["Wikngenchera"] = "wua", ["Wilawila"] = "wil", ["Wintu"] = "wnw", ["Winyé"] = "kst", ["Wipi"] = "gdr", ["Wiraféd"] = "wir", ["Wirangu"] = "wgu", ["Wiru"] = "wiu", ["Wirö"] = "wpc", ["Wiwa"] = "mbp", ["Woccon"] = "xwc", ["Wogamusin"] = "wog", ["Wogeo"] = "woc", ["Woi"] = "wbw", ["Wojenaka"] = "jod", ["Wolani"] = "wod", ["Woleaian"] = "woe", ["Womo"] = "wmx", ["Wong-gie"] = "aus-won", ["Wongo"] = "won", ["Woods Cree"] = "cwd", ["Woria"] = "wor", ["Worimi"] = "kda", ["Worodougou"] = "jud", ["Worora"] = "wro", ["Wotapuri-Katarqalai"] = "wsv", ["Woun Meu"] = "noa", ["Wudu"] = "wud", ["Wulguru"] = "aus-wul", ["Wuliwuli"] = "wlu", ["Wulna"] = "wux", ["Wumboko"] = "bqm", ["Wumbvu"] = "wum", ["Wumeng"] = "ywu", ["Wunai Bunu"] = "bwn", ["Wunambal"] = "wub", ["Wurrugu"] = "wur", ["Wusa"] = "yig", ["Wushi"] = "bse", ["Wusi"] = "wsi", ["Wutung"] = "wut", ["Wuvulu-Aua"] = "wuv", ["Wyandot"] = "wya", ["Wára"] = "tci", ["Wãpha"] = "juw", ["Wè Southern"] = "gxx", ["Wè Western"] = "wec", ["Xadani Zapotec"] = "zax", ["Xakriabá"] = "xkr", ["Xanaguía Zapotec"] = "ztg", ["Xaragure"] = "axx", ["Xerénte"] = "xer", ["Xetá"] = "xet", ["Xicotepec de Juárez Totonac"] = "too", ["Xinca"] = "xin", ["Xingú Asuriní"] = "asn", ["Xipaya"] = "xiy", ["Xiri"] = "xii", ["Xiriâna"] = "xir", ["Xishanba Lalo"] = "ywt", ["Xocó"] = "sai-xoc", ["Xokleng"] = "xok", ["Xukurú"] = "xoo", ["Xwela Gbe"] = "xwe", ["Yaa"] = "iyx", ["Yabarana"] = "yar", ["Yabaâna"] = "ybn", ["Yaben"] = "ybm", ["Yabong"] = "ybo", ["Yabula Yabula"] = "yxy", ["Yace"] = "ekr", ["Yafi"] = "wfg", ["Yagara"] = "yxg", ["Yagaria"] = "ygr", ["Yagomi"] = "ygm", ["Yagua"] = "yad", ["Yagwoia"] = "ygw", ["Yahadian"] = "ner", ["Yahang"] = "rhp", ["Yahuna"] = "ynu", ["Yaka"] = "yaf", ["Yakaikeke"] = "ykk", ["Yakoma"] = "yky", ["Tiếng Yala"] = "yba", ["Yalahatan"] = "jal", ["Yalakalore"] = "xyl", ["Yalarnnga"] = "ylr", ["Yale"] = "nce", ["Yaleba"] = "ylb", ["Yalunka"] = "yal", ["Yalálag Zapotec"] = "zpu", ["Yamap"] = "ymp", ["Yamba"] = "yam", ["Yambes"] = "ymb", ["Yambeta"] = "yat", ["Yamdena"] = "jmd", ["Yameo"] = "yme", ["Yaminahua"] = "yaa", ["Yamongeri"] = "ymg", ["Yan-nhangu"] = "jay", ["Yana"] = "ynn", ["Yanda"] = "yda", ["Yanda Dogon"] = "dym", ["Yandjibara"] = "xyb", ["Yandruwandha"] = "ynd", ["Yangben"] = "yav", ["Yangkaal"] = "aus-ynk", ["Yangkam"] = "bsx", ["Yangman"] = "jng", ["Yango"] = "yng", ["Yangulam"] = "ynl", ["Yangum Dey"] = "yde", ["Yangum Gel"] = "ygl", ["Yangum Mon"] = "ymo", ["Yankunytjatjara"] = "kdd", ["Yanomamö"] = "guu", ["Yanomámi"] = "wca", ["Yansi"] = "yns", ["Yaosakor Asmat"] = "asy", ["Yaouré"] = "yre", ["Yaqay"] = "jaq", ["Yaqui"] = "yaq", ["Yarawata"] = "yrw", ["Yareba"] = "yrb", ["Yareni Zapotec"] = "zae", ["Yarli"] = "yxl", ["Yarluyandi"] = "yry", ["Yarumá"] = "sai-yar", ["Yarí"] = "yri", ["Yasa"] = "yko", ["Yatay"] = "yty", ["Yaul"] = "yla", ["Yaur"] = "jau", ["Yautepec Zapotec"] = "zpb", ["Yavitero"] = "yvt", ["Yawa"] = "yva", ["Yawalapití"] = "yaw", ["Yawanawa"] = "ywn", ["Yawarawarga"] = "yww", ["Yaweyuha"] = "yby", ["Yawijibaya"] = "jbw", ["Yawiyo"] = "ybx", ["Yawuru"] = "ywr", ["Yaygir"] = "xya", ["Yei"] = "jei", ["Yekhee"] = "ets", ["Yekora"] = "ykr", ["Yelmek"] = "jel", ["Yelogu"] = "ylg", ["Yemba"] = "ybb", ["Tiếng Ả Rập Sana'a"] = "ayn", ["Yendang"] = "yen", ["Yeni"] = "yei", ["Yeniche"] = "yec", ["Yerakai"] = "yra", ["Yeretuar"] = "gop", ["Yerukula"] = "yeu", ["Yeskwa"] = "yes", ["Yessan-Mayo"] = "yss", ["Yetfa"] = "yet", ["Yeyi"] = "yey", ["Yil"] = "yll", ["Yimas"] = "yee", ["Yimchungru Naga"] = "yim", ["Yinbaw Karen"] = "kvu", ["Yindjilandji"] = "yil", ["Yine"] = "pib", ["Yinggarda"] = "yia", ["Yinhawangka"] = "ywg", ["Yiningayi"] = "ygi", ["Yintale Karen"] = "kvy", ["Yinwum"] = "yxm", ["Yir-Yoront"] = "yiy", ["Yirandali"] = "ljw", ["Yis"] = "yis", ["Yitha Yitha"] = "xth", ["Yoba"] = "yob", ["Yocoboué Dida"] = "gud", ["Yoidik"] = "ydk", ["Yoke"] = "yki", ["Yolngu Sign Language"] = "ygs", ["Yoloxochitl Mixtec"] = "xty", ["Yombe"] = "yom", ["Yopno"] = "yut", ["Yora"] = "mts", ["Yorta Yorta"] = "xyy", ["Younuo Bunu"] = "buh", ["Yout Wam"] = "ytw", ["Yuaga"] = "nua", ["Yucatec Maya Sign Language"] = "msd", ["Yuchi"] = "yuc", ["Yucuañe Mixtec"] = "mvg", ["Yucuna"] = "ycn", ["Yugambal"] = "yub", ["Yugoslavian Sign Language"] = "ysl", ["Yugul"] = "ygu", ["Yuhup"] = "yab", ["Yuki"] = "yuk", ["Yukpa"] = "yup", ["Yukuben"] = "ybl", ["Yulu"] = "yul", ["Yuma"] = "yum", ["Yumana"] = "awd-yum", ["Yupiltepeque"] = "nai-yup", ["Yupua"] = "sai-yup", ["Yuqui"] = "yuq", ["Yuracare"] = "yuz", ["Yuru"] = "ljx", ["Yurumanguí"] = "sai-yur", ["Yurutí"] = "yui", ["Yutanduchi Mixtec"] = "mab", ["Yuwana"] = "yau", ["Yuyu"] = "yxu", ["Zaachila Zapotec"] = "ztx", ["Zabana"] = "kji", ["Zacatlán-Ahuacatlán-Tepetzintla Nahuatl"] = "nhi", ["Zakhring"] = "zkr", ["Zambian Sign Language"] = "zsl", ["Zan Gula"] = "zna", ["Zanaki"] = "zak", ["Zande"] = "zne", ["Zangwal"] = "zah", ["Zaramo"] = "zaj", ["Zari"] = "zaz", ["Zauzou"] = "zal", ["Zazao"] = "jaj", ["Zbu"] = "sit-zbu", ["Zeem"] = "zua", ["Zemba"] = "dhm", ["Zeme Naga"] = "nzm", ["Zemgalian"] = "xzm", ["Zenag"] = "zeg", ["Zenzontepec Chatino"] = "czn", ["Zhang-Zhung"] = "xzh", ["Zhire"] = "zhi", ["Zhoa"] = "zhw", ["Zhár"] = "jjr", ["Zia"] = "zia", ["Zialo"] = "zil", ["Zigula"] = "ziw", ["Zimakani"] = "zik", ["Zimba"] = "zmb", ["Zimbabwe Sign Language"] = "zib", ["Zinza"] = "zin", ["Zipser German"] = "gmw-zps", ["Zire"] = "sih", ["Ziriya"] = "zir", ["Zizilivakan"] = "ziz", ["Zo'é"] = "pto", ["Zokhuo"] = "yzk", ["Zotung Chin"] = "czt", ["Zulgo-Gemzek"] = "gnd", ["Zumaya"] = "zuy", ["Zuni"] = "zun", ["Zuwara"] = "ber-zuw", ["Zyphe"] = "zyp", ["Záparo"] = "zro", ["Biệt ngữ Chinook"] = "chn", ["Không xác định ngôn ngữ"] = "und", ["Ngôn ngữ ký hiệu Mỹ"] = "ase", ["Tiếng 'Are'are"] = "alu", ["Tiếng A Xương"] = "acn", ["Tiếng A'ou"] = "aou", ["Tiếng A-Hmao"] = "hmd", ["Tiếng Aari"] = "aiw", ["Tiếng Aari nguyên thủy"] = "omv-aro-pro", ["Tiếng Aasax"] = "aas", ["Tiếng Abaga"] = "abg", ["Tiếng Abai"] = "poz-abi", ["Tiếng Abanyom"] = "abm", ["Tiếng Abau"] = "aau", ["Tiếng Abaza"] = "abq", ["Tiếng Abidji"] = "abi", ["Tiếng Abinomn"] = "bsa", ["Tiếng Abkhaz"] = "ab", ["Tiếng Abkhaz-Abaza nguyên thủy"] = "cau-abz-pro", ["Tiếng Abon"] = "abo", ["Tiếng Abron"] = "abr", ["Tiếng Abui"] = "abz", ["Tiếng Abure"] = "abu", ["Tiếng Aceh"] = "ace", ["Tiếng Achawa"] = "aca", ["Tiếng Acheron"] = "acz", ["Tiếng Achi"] = "acr", ["Tiếng Acholi"] = "ach", ["Tiếng Achuar"] = "acu", ["Tiếng Achumawi"] = "acv", ["Tiếng Adangme"] = "ada", ["Tiếng Adi"] = "adi", ["Tiếng Adja"] = "ajg", ["Tiếng Adnyamathanha"] = "adt", ["Tiếng Adygea"] = "ady", ["Tiếng Adzera"] = "adz", ["Tiếng Aer"] = "aeq", ["Tiếng Afade"] = "aal", ["Tiếng Afar"] = "aa", ["Tiếng Afrikaans"] = "af", ["Tiếng Agatu"] = "agc", ["Tiếng Agawam"] = "alg-aga", ["Tiếng Aghem"] = "agq", ["Tiếng Aghul"] = "agx", ["Tiếng Aghwan"] = "xag", ["Tiếng Agta Dupaningan"] = "duo", ["Tiếng Aguacateca"] = "agu", ["Tiếng Ahom"] = "aho", ["Tiếng Ahtna"] = "aht", ["Tiếng Ai"] = "eee", ["Tiếng Ai Cập"] = "egy", ["Tiếng Ai Cập bình dân"] = "egx-dem", ["Tiếng Aimol"] = "aim", ["Tiếng Ainu"] = "ain", ["Tiếng Aiton"] = "aio", ["Tiếng Ajië"] = "aji", ["Tiếng Aka-Bo"] = "akm", ["Tiếng Aka-Jeru"] = "akj", ["Tiếng Aka-Kede"] = "akx", ["Tiếng Akan"] = "ak", ["Tiếng Akaselem"] = "aks", ["Tiếng Akawaio"] = "ake", ["Tiếng Akha"] = "ahk", ["Tiếng Akhvakh"] = "akv", ["Tiếng Akkad"] = "akk", ["Tiếng Aklanon"] = "akl", ["Tiếng Akoose"] = "bss", ["Tiếng Akuntsu"] = "aqz", ["Tiếng Alaba-K’abeena"] = "alw", ["Tiếng Alabama"] = "akz", ["Tiếng Alagwa"] = "wbj", ["Tiếng Alak"] = "alk", ["Tiếng Alamblak"] = "amp", ["Tiếng Alangan"] = "alj", ["Tiếng Alawa"] = "alh", ["Tiếng Albani"] = "sq", ["Tiếng Albani nguyên thủy"] = "sqj-pro", ["Tiếng Alchuka"] = "tuw-alk", ["Tiếng Alekano"] = "gah", ["Tiếng Aleut"] = "ale", ["Tiếng Algic nguyên thủy"] = "aql-pro", ["Tiếng Algonquin"] = "alq", ["Tiếng Algonquin nguyên thủy"] = "alg-pro", ["Tiếng Allar"] = "all", ["Tiếng Alsea"] = "aes", ["Tiếng Alumu-Tesu"] = "aab", ["Tiếng Alutor"] = "alr", ["Tiếng Alyentiyak"] = "sai-all", ["Tiếng Ama"] = "amm", ["Tiếng Amahuaca"] = "amc", ["Tiếng Amaimon"] = "ali", ["Tiếng Amal"] = "aad", ["Tiếng Amanab"] = "amn", ["Tiếng Amarasi"] = "aaz", ["Tiếng Ambai"] = "amk", ["Tiếng Ambrak"] = "aag", ["Tiếng Ambulas"] = "abt", ["Tiếng Amdang"] = "amj", ["Tiếng Amhara"] = "am", ["Tiếng Amis"] = "ami", ["Tiếng Amurdag"] = "amg", ["Tiếng Amuzgo"] = "amu", ["Tiếng Anaang"] = "anw", ["Tiếng Anal"] = "anm", ["Tiếng Anauyá"] = "awd-ana", ["Tiếng Andi"] = "ani", ["Tiếng Angami"] = "njm", ["Tiếng Angika"] = "anp", ["Tiếng Angkula"] = "aus-ang", ["Tiếng Angola"] = "aoa", ["Tiếng Anh"] = "en", ["Tiếng Anh Solombala"] = "crp-slb", ["Tiếng Anh cổ"] = "ang", ["Tiếng Anh trung đại"] = "enm", ["Tiếng Anii"] = "blo", ["Tiếng Ankave"] = "aak", ["Tiếng Annobón"] = "fab", ["Tiếng Anuak"] = "anu", ["Tiếng Anuki"] = "aui", ["Tiếng Anyi"] = "any", ["Tiếng Ao"] = "njo", ["Tiếng Apabhramsa"] = "inc-apa", ["Tiếng Apache Tây"] = "apw", ["Tiếng Apache đồng bằng"] = "apk", ["Tiếng Aparaí"] = "apy", ["Tiếng Apatani"] = "apt", ["Tiếng Apinayé"] = "apn", ["Tiếng Aputai"] = "apx", ["Tiếng Aquitani"] = "xaq", ["Tiếng Aragon"] = "an", ["Tiếng Araki"] = "akr", ["Tiếng Arakwal"] = "rkw", ["Tiếng Aram"] = "arc", ["Tiếng Aranadan"] = "aaf", ["Tiếng Arapaho"] = "arp", ["Tiếng Arawak nguyên thủy"] = "awd-pro", ["Tiếng Araweté"] = "awt", ["Tiếng Archi"] = "aqc", ["Tiếng Arem"] = "aem", ["Tiếng Argobba"] = "agj", ["Tiếng Arhuaco"] = "arh", ["Tiếng Ari"] = "aac", ["Tiếng Arin"] = "xrn", ["Tiếng Armenia"] = "hy", ["Tiếng Armenia cổ"] = "xcl", ["Tiếng Armenia trung đại"] = "axm", ["Tiếng Aromania"] = "rup", ["Tiếng Arrernte Đông"] = "aer", ["Tiếng Ashkun"] = "ask", ["Tiếng Ashraaf"] = "cus-ash", ["Tiếng Ashéninka Pajonal"] = "cjo", ["Tiếng Asi"] = "bno", ["Tiếng Askopan"] = "eiv", ["Tiếng Asli nguyên thủy"] = "mkh-asl-pro", ["Tiếng Assam"] = "as", ["Tiếng Assam cận đại"] = "inc-oas", ["Tiếng Assan"] = "xss", ["Tiếng Assiniboine"] = "asb", ["Tiếng Asturias"] = "ast", ["Tiếng Asumboa"] = "aua", ["Tiếng Asur"] = "asr", ["Tiếng Atayal"] = "tay", ["Tiếng Atemble"] = "ate", ["Tiếng Athabasca nguyên thủy"] = "ath-pro", ["Tiếng Athpariya"] = "aph", ["Tiếng Atikamekw"] = "atj", ["Tiếng Atong (Ấn Độ)"] = "aot", ["Tiếng Atsahuaca"] = "atc", ["Tiếng Auhelawa"] = "kud", ["Tiếng Aukan"] = "djk", ["Tiếng Avar"] = "av", ["Tiếng Avar-Andic nguyên thủy"] = "cau-ava-pro", ["Tiếng Avatime"] = "avn", ["Tiếng Avesta"] = "ae", ["Tiếng Avokaya"] = "avu", ["Tiếng Awa (Trung Quốc)"] = "vwa", ["Tiếng Awadh"] = "awa", ["Tiếng Awadh cổ"] = "inc-oaw", ["Tiếng Aweer"] = "bob", ["Tiếng Awing"] = "azo", ["Tiếng Awjila"] = "auj", ["Tiếng Awngi"] = "awn", ["Tiếng Axi"] = "yix", ["Tiếng Ayere"] = "aye", ["Tiếng Aymara"] = "ay", ["Tiếng Azerbaijan"] = "az", ["Tiếng Ba Lan"] = "pl", ["Tiếng Ba Lan cổ"] = "zlw-opl", ["Tiếng Ba Na"] = "bdq", ["Tiếng Ba Tư"] = "fa", ["Tiếng Ba Tư cổ"] = "peo", ["Tiếng Ba Tư trung đại"] = "pal", ["Tiếng Ba Tư-Do Thái"] = "jpr", ["Tiếng Baagandji"] = "drl", ["Tiếng Baatonum"] = "bba", ["Tiếng Babatana"] = "baa", ["Tiếng Babungo"] = "bav", ["Tiếng Babuza"] = "bzg", ["Tiếng Bacama"] = "bcy", ["Tiếng Bactria"] = "xbc", ["Tiếng Badaga"] = "bfq", ["Tiếng Badanchi"] = "bau", ["Tiếng Bade"] = "bde", ["Tiếng Badui"] = "bac", ["Tiếng Bagua"] = "sai-bag", ["Tiếng Bagvalal"] = "kva", ["Tiếng Bahing"] = "bhj", ["Tiếng Bahnar nguyên thủy"] = "mkh-ban-pro", ["Tiếng Bainouk-Gunyuño"] = "bab", ["Tiếng Baiso"] = "bsw", ["Tiếng Bajjika"] = "vjk", ["Tiếng Bakaka"] = "bqz", ["Tiếng Bakhtiari"] = "bqi", ["Tiếng Baki"] = "bki", ["Tiếng Bakung"] = "xkl", ["Tiếng Bala"] = "tuw-bal", ["Tiếng Balanta-Ganja"] = "bjt", ["Tiếng Balanta-Kentohe"] = "ble", ["Tiếng Balantak"] = "blz", ["Tiếng Bali"] = "ban", ["Tiếng Baloch"] = "bal", ["Tiếng Balt-Slav nguyên thủy"] = "ine-bsl-pro", ["Tiếng Balti"] = "bft", ["Tiếng Bambara"] = "bm", ["Tiếng Bambassi"] = "myf", ["Tiếng Bamum"] = "bax", ["Tiếng Bana"] = "bcw", ["Tiếng Bandjalang"] = "bdy", ["Tiếng Banggai"] = "bgz", ["Tiếng Bangi"] = "bni", ["Tiếng Bangolan"] = "bgj", ["Tiếng Banjar"] = "bjn", ["Tiếng Bankon"] = "abb", ["Tiếng Bantawa"] = "bap", ["Tiếng Bantayanon"] = "bfx", ["Tiếng Bantoid nguyên thủy"] = "nic-bod-pro", ["Tiếng Bantu nguyên thủy"] = "bnt-pro", ["Tiếng Banyumas"] = "map-bms", ["Tiếng Baoule"] = "bci", ["Tiếng Barai"] = "bbb", ["Tiếng Barakai"] = "baj", ["Tiếng Bari"] = "bfa", ["Tiếng Barikewa"] = "jbk", ["Tiếng Barombi"] = "bbi", ["Tiếng Baré"] = "bae", ["Tiếng Basaa"] = "bas", ["Tiếng Basay"] = "byq", ["Tiếng Bashkir"] = "ba", ["Tiếng Basketo"] = "bst", ["Tiếng Basque"] = "eu", ["Tiếng Basque nguyên thủy"] = "euq-pro", ["Tiếng Bassa"] = "bsq", ["Tiếng Bassari"] = "bsc", ["Tiếng Batak Simalungun"] = "bts", ["Tiếng Batek"] = "btq", ["Tiếng Bats"] = "bbl", ["Tiếng Batuley"] = "bay", ["Tiếng Bayern"] = "bar", ["Tiếng Beaver"] = "bea", ["Tiếng Bedjond"] = "bjv", ["Tiếng Beja"] = "bej", ["Tiếng Belarus"] = "be", ["Tiếng Belhariya"] = "byw", ["Tiếng Beli"] = "blm", ["Tiếng Bella Coola"] = "blc", ["Tiếng Bellara"] = "brw", ["Tiếng Belnəng"] = "glb", ["Tiếng Bemba"] = "bem", ["Tiếng Bench"] = "bcq", ["Tiếng Bengal"] = "bn", ["Tiếng Bengal cổ"] = "inc-obn", ["Tiếng Benue-Congo nguyên thủy"] = "nic-bco-pro", ["Tiếng Berber Bắc Sahara"] = "mzb", ["Tiếng Berber Tunisia"] = "sds", ["Tiếng Berber nguyên thủy"] = "ber-pro", ["Tiếng Berber-Do Thái"] = "jbe", ["Tiếng Berik"] = "bkl", ["Tiếng Betawi"] = "bew", ["Tiếng Bezhta"] = "kap", ["Tiếng Bhadrawah"] = "bhd", ["Tiếng Bhatri"] = "bgw", ["Tiếng Bhattiyat"] = "bht", ["Tiếng Bhil"] = "bhb", ["Tiếng Bhil Dungra"] = "duh", ["Tiếng Bhnong"] = "mkh-bhn", ["Tiếng Bhojpur"] = "bho", ["Tiếng Bhumij"] = "aav-bhu", ["Tiếng Bhunjia"] = "bhu", ["Tiếng Bidayuh Bau"] = "sne", ["Tiếng Bidayuh Biatah"] = "bth", ["Tiếng Bih"] = "ibh", ["Tiếng Bihari"] = "bh", ["Tiếng Bikol Buhi'non"] = "ubl", ["Tiếng Bilaspur"] = "kfs", ["Tiếng Bilen"] = "byn", ["Tiếng Bilua"] = "blb", ["Tiếng Bima"] = "bhp", ["Tiếng Binukid"] = "bkd", ["Tiếng Birao"] = "brr", ["Tiếng Birgit"] = "btf", ["Tiếng Birhor"] = "biy", ["Tiếng Birjia"] = "bix", ["Tiếng Bisaya Sabah"] = "bsy", ["Tiếng Bishnupriya"] = "bpy", ["Tiếng Bislama"] = "bi", ["Tiếng Bissa"] = "bib", ["Tiếng Bisu"] = "bzi", ["Tiếng Bit"] = "bgk", ["Tiếng Blackfoot"] = "bla", ["Tiếng Blagar"] = "beu", ["Tiếng Blang"] = "blr", ["Tiếng Bod nguyên thủy"] = "sit-bdi-pro", ["Tiếng Bodo (Ấn Độ)"] = "brx", ["Tiếng Bodo Parja"] = "bdv", ["Tiếng Bodo-Garo nguyên thủy"] = "tbq-bdg-pro", ["Tiếng Boghom"] = "bux", ["Tiếng Bokar"] = "sit-bok", ["Tiếng Boko"] = "bqc", ["Tiếng Bokobaru"] = "bus", ["Tiếng Bola"] = "bnp", ["Tiếng Boloki"] = "bkt", ["Tiếng Bomu"] = "bmq", ["Tiếng Bondo"] = "bfw", ["Tiếng Boon"] = "bnl", ["Tiếng Borôro"] = "bor", ["Tiếng Botlikh"] = "bph", ["Tiếng Bourguignon"] = "roa-brg", ["Tiếng Brahui"] = "brh", ["Tiếng Braj"] = "bra", ["Tiếng Breri"] = "brq", ["Tiếng Breton"] = "br", ["Tiếng Breton cổ"] = "obt", ["Tiếng Breton trung đại"] = "xbm", ["Tiếng Britton nguyên thủy"] = "cel-bry-pro", ["Tiếng Brokkat"] = "bro", ["Tiếng Brokpa"] = "sgt", ["Tiếng Bru"] = "bru", ["Tiếng Bru Tây"] = "brv", ["Tiếng Brâu"] = "brb", ["Tiếng Buang Mapos"] = "bzh", ["Tiếng Bube"] = "bvb", ["Tiếng Budukh"] = "bdk", ["Tiếng Bughotu"] = "bgt", ["Tiếng Bugis"] = "bug", ["Tiếng Buhid"] = "bku", ["Tiếng Bukhara"] = "bhh", ["Tiếng Bukiyip"] = "ape", ["Tiếng Bulgar"] = "xbo", ["Tiếng Bulgari"] = "bg", ["Tiếng Bumthang"] = "kjz", ["Tiếng Bungku"] = "bkz", ["Tiếng Bunun"] = "bnn", ["Tiếng Burji"] = "bji", ["Tiếng Burunge"] = "bds", ["Tiếng Burushaski"] = "bsk", ["Tiếng Buryat"] = "bua", ["Tiếng Busa"] = "bqp", ["Tiếng Bushi"] = "buc", ["Tiếng Bussa"] = "dox", ["Tiếng Butuanon"] = "btw", ["Tiếng Bách Tế"] = "pkc", ["Tiếng Bạch Lạp Mã"] = "lay", ["Tiếng Bạch Nam"] = "bfs", ["Tiếng Bạch Trung"] = "bca", ["Tiếng Bạch nguyên thủy"] = "sit-bai-pro", ["Tiếng Bảo An"] = "peh", ["Tiếng Bắc Altai"] = "atv", ["Tiếng Bắc Amami Ōshima"] = "ryn", ["Tiếng Bắc Catanduanes Bikol"] = "cts", ["Tiếng Bắc Emberá"] = "emp", ["Tiếng Bắc Friesland"] = "frr", ["Tiếng Bắc Iroquois nguyên thủy"] = "iro-nor-pro", ["Tiếng Bắc Khanty"] = "kca-nor", ["Tiếng Bắc Mansi"] = "mns-nor", ["Tiếng Bắc Ndebele"] = "nd", ["Tiếng Bắc Nisu"] = "yiv", ["Tiếng Bắc Paiute"] = "pao", ["Tiếng Bắc Sami"] = "se", ["Tiếng Bắc Selkup"] = "sel-nor", ["Tiếng Bắc Slavey"] = "scs", ["Tiếng Bắc Thái"] = "nod", ["Tiếng Bắc Yukaghir"] = "ykg", ["Tiếng Bắc Âu cổ"] = "non", ["Tiếng Bắc Âu nguyên thủy"] = "gmq-pro", ["Tiếng Bố Cam"] = "bbh", ["Tiếng Bố Lưu"] = "ply", ["Tiếng Bố Mang"] = "bvp", ["Tiếng Bố Y"] = "pcc", ["Tiếng Bối-Thái nguyên thủy"] = "qfa-bet-pro", ["Tiếng Bồ Đào Nha"] = "pt", ["Tiếng Bổ trợ Quốc tế"] = "ia", ["Tiếng Ca Dong"] = "kxy", ["Tiếng Ca Tua"] = "kta", ["Tiếng Cahuilla"] = "chl", ["Tiếng Camling"] = "rab", ["Tiếng Camuni"] = "xcc", ["Tiếng Canela"] = "ram", ["Tiếng Cao Câu Ly"] = "zkg", ["Tiếng Capanahua"] = "kaq", ["Tiếng Carib nguyên thủy"] = "sai-car-pro", ["Tiếng Carrier"] = "crx", ["Tiếng Carrier Nam"] = "caf", ["Tiếng Catalan"] = "ca", ["Tiếng Catalan cổ"] = "roa-oca", ["Tiếng Catawba"] = "chc", ["Tiếng Cayuga"] = "cay", ["Tiếng Cebu"] = "ceb", ["Tiếng Celt nguyên thủy"] = "cel-pro", ["Tiếng Celtiberi"] = "xce", ["Tiếng Cerrado nguyên thủy"] = "sai-cer-pro", ["Tiếng Ch'orti'"] = "caa", ["Tiếng Chachi"] = "cbi", ["Tiếng Chagatai"] = "chg", ["Tiếng Chaima"] = "ciy", ["Tiếng Chak"] = "ckh", ["Tiếng Chakma"] = "ccp", ["Tiếng Chamalal"] = "cji", ["Tiếng Chamba"] = "cdh", ["Tiếng Chamicuro"] = "ccc", ["Tiếng Chamorro"] = "ch", ["Tiếng Chantyal"] = "chx", ["Tiếng Chatino cao nguyên Tây"] = "ctp", ["Tiếng Chaura"] = "crv", ["Tiếng Chavacano"] = "cbk", ["Tiếng Chechen"] = "ce", ["Tiếng Chenchu"] = "cde", ["Tiếng Chenoua"] = "cnu", ["Tiếng Chepang"] = "cdm", ["Tiếng Cherokee"] = "chr", ["Tiếng Chetti Moundadan"] = "cty", ["Tiếng Chetti Wayanad"] = "ctt", ["Tiếng Chewong"] = "cwg", ["Tiếng Cheyenne"] = "chy", ["Tiếng Chhattisgarh"] = "hne", ["Tiếng Chibcha"] = "chb", ["Tiếng Chichewa"] = "ny", ["Tiếng Chickasaw"] = "cic", ["Tiếng Chilcotin"] = "clc", ["Tiếng Chin Asho"] = "csh", ["Tiếng Chin Ekai"] = "cey", ["Tiếng Chin Falam"] = "cfm", ["Tiếng Chin Hakha"] = "cnh", ["Tiếng Chin Songlai"] = "csj", ["Tiếng Chin Tedim"] = "ctd", ["Tiếng Chinal"] = "cih", ["Tiếng Chinantec Ojitlán"] = "chj", ["Tiếng Chinantec Ozumacín"] = "chz", ["Tiếng Chinantec Tepinapa"] = "cte", ["Tiếng Chinook"] = "chh", ["Tiếng Chiricahua"] = "apm", ["Tiếng Chiru"] = "cdf", ["Tiếng Chittagong"] = "ctg", ["Tiếng Chiwere"] = "iow", ["Tiếng Chocangacakha"] = "cgk", ["Tiếng Choctaw"] = "cho", ["Tiếng Chodri"] = "cdi", ["Tiếng Chol"] = "ctu", ["Tiếng Chong"] = "cog", ["Tiếng Chu Ru"] = "cje", ["Tiếng Chukot"] = "ckt", ["Tiếng Chulym"] = "clw", ["Tiếng Churah"] = "cdj", ["Tiếng Chuuk"] = "chk", ["Tiếng Chuvan"] = "xcv", ["Tiếng Chuvash"] = "cv", ["Tiếng Châu Đại Dương nguyên thủy"] = "poz-oce-pro", ["Tiếng Chăm Tây"] = "cja", ["Tiếng Chăm cổ"] = "ocm", ["Tiếng Chăm nguyên thủy"] = "cmc-pro", ["Tiếng Chăm Đông"] = "cjm", ["Tiếng Chơ Ro"] = "crw", ["Tiếng Chứt"] = "scb", ["Tiếng Cia-Cia"] = "cia", ["Tiếng Cimbri"] = "cim", ["Tiếng Circassia nguyên thủy"] = "cau-cir-pro", ["Tiếng Co"] = "cua", ["Tiếng Cocama"] = "cod", ["Tiếng Cochimi"] = "coj", ["Tiếng Coeur d'Alene"] = "crd", ["Tiếng Cofán"] = "con", ["Tiếng Comanche"] = "com", ["Tiếng Comoros Maore"] = "swb", ["Tiếng Comox"] = "coo", ["Tiếng Copt"] = "cop", ["Tiếng Cornwall"] = "kw", ["Tiếng Cornwall cổ"] = "oco", ["Tiếng Corse"] = "co", ["Tiếng Cowlitz"] = "cow", ["Tiếng Cree"] = "cr", ["Tiếng Cree Moose"] = "crm", ["Tiếng Cree Đông Bắc"] = "crl", ["Tiếng Cree Đông Nam"] = "crj", ["Tiếng Cree đồng bằng"] = "crk", ["Tiếng Creole Antilles"] = "gcf", ["Tiếng Creole Guinea-Bissau"] = "pov", ["Tiếng Creole Haiti"] = "ht", ["Tiếng Creole Hà Lan Berbice"] = "brc", ["Tiếng Creole Jamaica"] = "jam", ["Tiếng Creole Louisiana"] = "lou", ["Tiếng Creole Mauritius"] = "mfe", ["Tiếng Creole Nghi Lan"] = "ycr", ["Tiếng Creole Réunion"] = "rcf", ["Tiếng Creole quần đảo Virgin"] = "vic", ["Tiếng Crow"] = "cro", ["Tiếng Cuman"] = "qwm", ["Tiếng Cumanagoto"] = "cuo", ["Tiếng Cumbria"] = "xcb", ["Tiếng Cupeño"] = "cup", ["Tiếng Cushit nguyên thủy"] = "cus-pro", ["Tiếng Cuyunon"] = "cyo", ["Tiếng Càn-đà-la"] = "pgd", ["Tiếng Cám"] = "gan", ["Tiếng Cơ Nặc Du Lạc"] = "jiu", ["Tiếng Cơ Tu"] = "ktv", ["Tiếng Cơ Tu Phương"] = "phg", ["Tiếng Cơ Tu Tây"] = "kuf", ["Tiếng Cơ Tu nguyên thủy"] = "mkh-kat-pro", ["Tiếng Cống"] = "cnc", ["Tiếng Cờ Lao Trắng"] = "giw", ["Tiếng Daasanach"] = "dsh", ["Tiếng Dabarre"] = "dbr", ["Tiếng Dacia"] = "xdc", ["Tiếng Dadibi"] = "mps", ["Tiếng Dagara Bắc"] = "dgi", ["Tiếng Dagba"] = "dgk", ["Tiếng Dagbani"] = "dag", ["Tiếng Dahalik"] = "dlk", ["Tiếng Dahalo"] = "dal", ["Tiếng Dakota"] = "dak", ["Tiếng Dakpa"] = "dka", ["Tiếng Dalmatia"] = "dlm", ["Tiếng Dambi"] = "dac", ["Tiếng Damel"] = "dml", ["Tiếng Dan"] = "dnj", ["Tiếng Danau"] = "dnu", ["Tiếng Dangaléat"] = "daa", ["Tiếng Danu"] = "dnv", ["Tiếng Danuwar"] = "dhw", ["Tiếng Dar Daju Daju"] = "djc", ["Tiếng Dargwa"] = "dar", ["Tiếng Dargwa nguyên thủy"] = "cau-drg-pro", ["Tiếng Daur"] = "dta", ["Tiếng Dawro"] = "dwr", ["Tiếng Deg Xinag"] = "ing", ["Tiếng Degema"] = "deg", ["Tiếng Denesuline"] = "chp", ["Tiếng Deori"] = "der", ["Tiếng Desiya"] = "dso", ["Tiếng Dhangu"] = "dhg", ["Tiếng Dhanka"] = "dhn", ["Tiếng Dharug"] = "xdk", ["Tiếng Dhatki"] = "mki", ["Tiếng Dhimal"] = "dhi", ["Tiếng Dhivehi"] = "dv", ["Tiếng Dhodia"] = "dho", ["Tiếng Dhundhar"] = "dhd", ["Tiếng Dibabawon"] = "mbd", ["Tiếng Dieri"] = "dif", ["Tiếng Digan"] = "rom", ["Tiếng Digan Balkan"] = "rmn", ["Tiếng Digan Baltic"] = "rml", ["Tiếng Digan Tavringer"] = "rmu", ["Tiếng Dimasa"] = "dis", ["Tiếng Dime"] = "dim", ["Tiếng Dinka"] = "din", ["Tiếng Dirasha"] = "gdl", ["Tiếng Ditidaht"] = "dtd", ["Tiếng Dizi"] = "mdx", ["Tiếng Dizi nguyên thủy"] = "omv-diz-pro", ["Tiếng Djinang"] = "dji", ["Tiếng Do Thái"] = "he", ["Tiếng Dogri"] = "doi", ["Tiếng Dogri Hindi"] = "dgo", ["Tiếng Dogrib"] = "dgr", ["Tiếng Dolgan"] = "dlg", ["Tiếng Dolpo"] = "dre", ["Tiếng Domaaki"] = "dmk", ["Tiếng Domari"] = "rmt", ["Tiếng Dongolawi"] = "kzh", ["Tiếng Doteli"] = "dty", ["Tiếng Dravida nguyên thủy"] = "dra-pro", ["Tiếng Dubla"] = "dub", ["Tiếng Dukha"] = "trk-dkh", ["Tiếng Dumi"] = "dus", ["Tiếng Duruwa"] = "pci", ["Tiếng Dusun Witu"] = "duw", ["Tiếng Duun"] = "dux", ["Tiếng Duy Ngô Nhĩ"] = "ug", ["Tiếng Duy Ngô Nhĩ cổ"] = "oui", ["Tiếng Dyirbal"] = "dbl", ["Tiếng Dyula"] = "dyu", ["Tiếng Dzala"] = "dzl", ["Tiếng Dzongkha"] = "dz", ["Tiếng Dzuun"] = "dnn", ["Tiếng Ebla"] = "xeb", ["Tiếng Ebrié"] = "ebr", ["Tiếng Ebughu"] = "ebg", ["Tiếng Ede Ica"] = "ica", ["Tiếng Ede Idaca"] = "idd", ["Tiếng Ede Nago"] = "nqg", ["Tiếng Edekiri nguyên thủy"] = "alv-edk-pro", ["Tiếng Edo"] = "bin", ["Tiếng Edoid nguyên thủy"] = "alv-edo-pro", ["Tiếng Efai"] = "efa", ["Tiếng Efate Bắc"] = "llp", ["Tiếng Efate Nam"] = "erk", ["Tiếng Efe"] = "efe", ["Tiếng Efik"] = "efi", ["Tiếng Ega"] = "ega", ["Tiếng Eggon"] = "ego", ["Tiếng Ehueun"] = "ehu", ["Tiếng Eipomek"] = "eip", ["Tiếng Eitiep"] = "eit", ["Tiếng Ejagham"] = "etu", ["Tiếng El Molo"] = "elo", ["Tiếng Elam"] = "elx", ["Tiếng Elymi"] = "xly", ["Tiếng Emberá-Chamí"] = "cmi", ["Tiếng Emberá-Tadó"] = "tdc", ["Tiếng Embu"] = "ebu", ["Tiếng Emilia"] = "egl", ["Tiếng Enets lãnh nguyên"] = "enh", ["Tiếng Enets rừng"] = "enf", ["Tiếng Engenni"] = "enn", ["Tiếng Enisei nguyên thủy"] = "qfa-yen-pro", ["Tiếng Eotile"] = "eot", ["Tiếng Epie"] = "epi", ["Tiếng Eravalla"] = "era", ["Tiếng Erzya"] = "myv", ["Tiếng Esan"] = "ish", ["Tiếng Ese"] = "mcq", ["Tiếng Esimbi"] = "ags", ["Tiếng Eskimo nguyên thủy"] = "esx-esk-pro", ["Tiếng Eskimo-Aleut nguyên thủy"] = "esx-pro", ["Tiếng Estonia"] = "et", ["Tiếng Eteocrete"] = "ecr", ["Tiếng Etrusca"] = "ett", ["Tiếng Even"] = "eve", ["Tiếng Evenk"] = "evn", ["Tiếng Ewe"] = "ee", ["Tiếng Fala"] = "fax", ["Tiếng Falisci"] = "xfa", ["Tiếng Fanagalo"] = "fng", ["Tiếng Fang (Bantu)"] = "fan", ["Tiếng Faroe"] = "fo", ["Tiếng Fe'fe'"] = "fmp", ["Tiếng Fiji"] = "fj", ["Tiếng Finn nguyên thủy"] = "urj-fin-pro", ["Tiếng Flemish Tây"] = "vls", ["Tiếng Fogaha"] = "ber-fog", ["Tiếng Foi"] = "foi", ["Tiếng Fon"] = "fon", ["Tiếng Fox"] = "sac", ["Tiếng Franche-Comté"] = "roa-fcm", ["Tiếng Franco-Provençal"] = "frp", ["Tiếng Franken Trung"] = "gmw-cfr", ["Tiếng Frisia Saterland"] = "stq", ["Tiếng Frisia cổ"] = "ofs", ["Tiếng Friuli"] = "fur", ["Tiếng Fula"] = "ff", ["Tiếng Fur"] = "fvr", ["Tiếng Ga"] = "gaa", ["Tiếng Gabri"] = "gab", ["Tiếng Gadaba Bodo"] = "gbj", ["Tiếng Gaddang"] = "gad", ["Tiếng Gaddi"] = "gbk", ["Tiếng Gael Scotland"] = "gd", ["Tiếng Gagauz"] = "gag", ["Tiếng Gahri"] = "bfu", ["Tiếng Galati"] = "xga", ["Tiếng Galicia"] = "gl", ["Tiếng Galicia-Bồ Đào Nha"] = "roa-opt", ["Tiếng Gallo"] = "roa-gal", ["Tiếng Gallura"] = "sdn", ["Tiếng Galo"] = "adl", ["Tiếng Gamilaraay"] = "kld", ["Tiếng Gamit"] = "gbl", ["Tiếng Gamo"] = "gmv", ["Tiếng Ganza"] = "gza", ["Tiếng Garasia Adiwasi"] = "gas", ["Tiếng Garasia Rajput"] = "gra", ["Tiếng Garhwal"] = "gbm", ["Tiếng Garifuna"] = "cab", ["Tiếng Garo"] = "grt", ["Tiếng Garre"] = "gex", ["Tiếng Gata'"] = "gaq", ["Tiếng Gaul"] = "cel-gau", ["Tiếng Gawar-Bati"] = "gwt", ["Tiếng Gawwada"] = "gwd", ["Tiếng Gayil"] = "gyl", ["Tiếng Gbe Saxwe"] = "sxw", ["Tiếng Gbe Waci"] = "wci", ["Tiếng Gbe nguyên thủy"] = "alv-gbe-pro", ["Tiếng Gbiri-Niragu"] = "grh", ["Tiếng Gedeo"] = "drs", ["Tiếng Gen"] = "gej", ["Tiếng German Tây nguyên thủy"] = "gmw-pro", ["Tiếng German nguyên thủy"] = "gem-pro", ["Tiếng Graeco-Phrygia nguyên thủy"] = "ine-grp-pro", ["Tiếng Geʽez"] = "gez", ["Tiếng Ghadames"] = "gha", ["Tiếng Ghomala'"] = "bbj", ["Tiếng Ghomara"] = "gho", ["Tiếng Ghotuo"] = "aaa", ["Tiếng Gia Rai"] = "jra", ["Tiếng Gikuyu"] = "ki", ["Tiếng Gilak"] = "glk", ["Tiếng Gimi (Goroka)"] = "gim", ["Tiếng Girirra"] = "gii", ["Tiếng Giryama"] = "nyf", ["Tiếng Gitxsan"] = "git", ["Tiếng Giẻ"] = "jeh", ["Tiếng Glosa"] = "igs", ["Tiếng Godoberi"] = "gdo", ["Tiếng Gofa"] = "gof", ["Tiếng Gone Dau"] = "goo", ["Tiếng Gooniyandi"] = "gni", ["Tiếng Goran"] = "hac", ["Tiếng Gorontalo"] = "gor", ["Tiếng Gorowa"] = "gow", ["Tiếng Goth"] = "got", ["Tiếng Gotland"] = "gmq-gut", ["Tiếng Gotland cổ"] = "gmq-ogt", ["Tiếng Greenland"] = "kl", ["Tiếng Gruzia"] = "ka", ["Tiếng Gruzia cổ"] = "oge", ["Tiếng Gruzia-Do Thái"] = "jge", ["Tiếng Gruzia-Zan nguyên thủy"] = "ccs-gzn-pro", ["Tiếng Guajajára"] = "gub", ["Tiếng Guajá"] = "gvj", ["Tiếng Guanche"] = "gnc", ["Tiếng Guarani Mbya"] = "gun", ["Tiếng Guarani Paraguay"] = "gug", ["Tiếng Guaraní"] = "gn", ["Tiếng Guarayu"] = "gyr", ["Tiếng Gujar"] = "gju", ["Tiếng Gujarat"] = "gu", ["Tiếng Gujarat cổ"] = "inc-ogu", ["Tiếng Gujarat trung đại"] = "inc-mgu", ["Tiếng Gulay"] = "gvl", ["Tiếng Gulimancema"] = "gux", ["Tiếng Gumuz"] = "guk", ["Tiếng Gun"] = "guw", ["Tiếng Gurenne"] = "gur", ["Tiếng Guugu Yimidhirr"] = "kky", ["Tiếng Gwichʼin"] = "gwi", ["Tiếng H'Mông Tương Tây Tây"] = "mmr", ["Tiếng H'Mông-Miền nguyên thủy"] = "hmx-pro", ["Tiếng H'roi"] = "hro", ["Tiếng Hachijō"] = "jpx-hcj", ["Tiếng Hadiyya"] = "hdy", ["Tiếng Haida"] = "hai", ["Tiếng Haisla"] = "has", ["Tiếng Hajong"] = "haj", ["Tiếng Halba"] = "hlb", ["Tiếng Halkomelem"] = "hur", ["Tiếng Hamer-Banna"] = "amf", ["Tiếng Hano"] = "lml", ["Tiếng Hanunoo"] = "hnn", ["Tiếng Harari"] = "har", ["Tiếng Harsusi"] = "hss", ["Tiếng Haryanvi"] = "bgc", ["Tiếng Hatti"] = "xht", ["Tiếng Hausa"] = "ha", ["Tiếng Haush"] = "sai-hau", ["Tiếng Havasupai-Walapai-Yavapai"] = "yuf", ["Tiếng Hawaii"] = "haw", ["Tiếng Hazara"] = "haz", ["Tiếng Heiban"] = "hbn", ["Tiếng Heiltsuk"] = "hei", ["Tiếng Hellen nguyên thủy"] = "grk-pro", ["Tiếng Herero"] = "hz", ["Tiếng Hernici"] = "xhr", ["Tiếng Higaonon"] = "mba", ["Tiếng Hiligaynon"] = "hil", ["Tiếng Hindi"] = "hi", ["Tiếng Hindi Fiji"] = "hif", ["Tiếng Hindi cổ"] = "inc-ohi", ["Tiếng Hindko Bắc"] = "hno", ["Tiếng Hinduri"] = "hii", ["Tiếng Hindustan Caribe"] = "hns", ["Tiếng Hinukh"] = "gin", ["Tiếng Hiri Motu"] = "ho", ["Tiếng Hitti"] = "hit", ["Tiếng Hiw"] = "hiw", ["Tiếng Hlai"] = "lic", ["Tiếng Hlai nguyên thủy"] = "qfa-lic-pro", ["Tiếng Ho"] = "hoc", ["Tiếng Hoava"] = "hoa", ["Tiếng Hocak"] = "win", ["Tiếng Holiya"] = "hoy", ["Tiếng Hopi"] = "hop", ["Tiếng Horpa"] = "ero", ["Tiếng Hozo"] = "hoz", ["Tiếng Hpon"] = "hpo", ["Tiếng Hrê"] = "hre", ["Tiếng Hu"] = "huo", ["Tiếng Hulaulá"] = "huy", ["Tiếng Hungary"] = "hu", ["Tiếng Hunsrik"] = "hrx", ["Tiếng Hunzib"] = "huz", ["Tiếng Hupa"] = "hup", ["Tiếng Hupdë"] = "jup", ["Tiếng Hurri"] = "xhu", ["Tiếng Huy"] = "czh", ["Tiếng Hy Lạp"] = "el", ["Tiếng Hy Lạp Cappadocia"] = "cpg", ["Tiếng Hy Lạp Italiot"] = "grk-ita", ["Tiếng Hy Lạp Mariupol"] = "grk-mar", ["Tiếng Hy Lạp Mycenae"] = "gmy", ["Tiếng Hy Lạp Pontos"] = "pnt", ["Tiếng Hy Lạp cổ"] = "grc", ["Tiếng Hyam"] = "jab", ["Tiếng Hà Lan"] = "nl", ["Tiếng Hà Lan Jersey"] = "gmw-jdt", ["Tiếng Hà Lan cổ"] = "odt", ["Tiếng Hà Lan trung đại"] = "dum", ["Tiếng Hà Lăng"] = "hal", ["Tiếng Hà Nhì"] = "hni", ["Tiếng Hán thượng cổ"] = "och", ["Tiếng Hán trung cổ"] = "ltc", ["Tiếng Hán-Tạng nguyên thủy"] = "sit-pro", ["Tiếng Hạ Saxon Hà Lan"] = "nds-nl", ["Tiếng Hạ Sorb"] = "dsb", ["Tiếng Hạ Tanana"] = "taa", ["Tiếng Hạ Đức"] = "nds", ["Tiếng Hạ Đức Mennonite"] = "pdt", ["Tiếng Hạ Đức trung đại"] = "gml", ["Tiếng Hạ Đức tại Đức"] = "nds-de", ["Tiếng Iaai"] = "iai", ["Tiếng Ibaloi"] = "ibl", ["Tiếng Iban"] = "iba", ["Tiếng Ibanag"] = "ibg", ["Tiếng Ibatan"] = "ivb", ["Tiếng Ibibio"] = "ibb", ["Tiếng Ibino"] = "ibn", ["Tiếng Ibuoro"] = "ibr", ["Tiếng Iceland"] = "is", ["Tiếng Ida'an"] = "dbj", ["Tiếng Ido"] = "io", ["Tiếng Idu"] = "clk", ["Tiếng Ifugao Batad"] = "ifb", ["Tiếng Ifè"] = "ife", ["Tiếng Igala"] = "igl", ["Tiếng Igbo"] = "ig", ["Tiếng Ikposo"] = "kpo", ["Tiếng Ikwere"] = "ikw", ["Tiếng Ili Turki"] = "ili", ["Tiếng Ilokano"] = "ilo", ["Tiếng Indo-Bồ Đào Nha"] = "idb", ["Tiếng Indonesia"] = "id", ["Tiếng Indonesia Peranakan"] = "pea", ["Tiếng Ingria"] = "izh", ["Tiếng Ingush"] = "inh", ["Tiếng Inor"] = "ior", ["Tiếng Interlingue"] = "ie", ["Tiếng Intha"] = "int", ["Tiếng Inuit nguyên thủy"] = "esx-inu-pro", ["Tiếng Inuktitut"] = "iu", ["Tiếng Inuktitut Đông Canada"] = "ike", ["Tiếng Inupiaq"] = "ik", ["Tiếng Inuvialuktun"] = "ikt", ["Tiếng Iran nguyên thủy"] = "ira-pro", ["Tiếng Iraqw"] = "irk", ["Tiếng Ireland"] = "ga", ["Tiếng Ireland cổ"] = "sga", ["Tiếng Ireland trung đại"] = "mga", ["Tiếng Iroquois nguyên thủy"] = "iro-pro", ["Tiếng Irula"] = "iru", ["Tiếng Isan"] = "tts", ["Tiếng Ishkashim"] = "isk", ["Tiếng Isnag"] = "isd", ["Tiếng Isoko"] = "iso", ["Tiếng Istria"] = "ist", ["Tiếng Istria Rumani"] = "ruo", ["Tiếng Italic nguyên thủy"] = "itc-pro", ["Tiếng Itaŋikom"] = "bkm", ["Tiếng Itelmen"] = "itl", ["Tiếng Itene"] = "ite", ["Tiếng Itonama"] = "ito", ["Tiếng Itsekiri"] = "its", ["Tiếng Itu Mbon Uzo"] = "itm", ["Tiếng Ivatan"] = "ivv", ["Tiếng Iwaidja"] = "ibd", ["Tiếng Ixil"] = "ixl", ["Tiếng Izon"] = "ijc", ["Tiếng Jacaltec"] = "jac", ["Tiếng Jah Hut"] = "jah", ["Tiếng Jamamadí"] = "jaa", ["Tiếng Japhug"] = "sit-jap", ["Tiếng Jaqaru"] = "jqr", ["Tiếng Jarawa"] = "anq", ["Tiếng Jaunsar"] = "jns", ["Tiếng Java"] = "jv", ["Tiếng Java Caribe"] = "jvn", ["Tiếng Java cổ"] = "kaw", ["Tiếng Javindo"] = "jvd", ["Tiếng Jehai"] = "jhi", ["Tiếng Jeju"] = "jje", ["Tiếng Jemez"] = "tow", ["Tiếng Jicarilla"] = "apj", ["Tiếng Jiiddu"] = "jii", ["Tiếng Jirel"] = "jul", ["Tiếng Jju"] = "kaj", ["Tiếng Jru'"] = "lbo", ["Tiếng Juang"] = "jun", ["Tiếng Jukun Takum"] = "jbu", ["Tiếng Jumaytepeque"] = "nai-jum", ["Tiếng Jumjum"] = "jum", ["Tiếng Juray"] = "juy", ["Tiếng Juǀ'hoan"] = "ktz", ["Tiếng Jylland"] = "jut", ["Tiếng Jê Bắc nguyên thủy"] = "sai-nje-pro", ["Tiếng Jê nguyên thủy"] = "sai-jee-pro", ["Tiếng K'Ho"] = "kpm", ["Tiếng K'iche'"] = "quc", ["Tiếng Kabardia"] = "kbd", ["Tiếng Kabiye"] = "kbp", ["Tiếng Kabuverdianu"] = "kea", ["Tiếng Kabyle"] = "kab", ["Tiếng Kachama-Ganjule"] = "kcx", ["Tiếng Kachin"] = "kac", ["Tiếng Kadar"] = "kej", ["Tiếng Kadazan bờ biển"] = "kzj", ["Tiếng Kadu"] = "zkd", ["Tiếng Kafa"] = "kbr", ["Tiếng Kagayanen"] = "cgc", ["Tiếng Kaikadi"] = "kep", ["Tiếng Kaingang"] = "kgp", ["Tiếng Kaitag"] = "xdq", ["Tiếng Kakabai"] = "kqf", ["Tiếng Kaki Ae"] = "tbd", ["Tiếng Kalam"] = "gwc", ["Tiếng Kalanguya"] = "kak", ["Tiếng Kalao"] = "kly", ["Tiếng Kalash"] = "kls", ["Tiếng Kalinga Limos"] = "kmk", ["Tiếng Kalkot"] = "xka", ["Tiếng Kalmyk"] = "xal", ["Tiếng Kalo Phần Lan"] = "rmf", ["Tiếng Kamarupi Prakrit"] = "inc-kam", ["Tiếng Kamassia"] = "xas", ["Tiếng Kamayo"] = "kyk", ["Tiếng Kambaata"] = "ktb", ["Tiếng Kambera"] = "xbr", ["Tiếng Kamula"] = "xla", ["Tiếng Kanakanavu"] = "xnb", ["Tiếng Kanan"] = "zkn", ["Tiếng Kangean"] = "kkv", ["Tiếng Kangra"] = "xnr", ["Tiếng Kankanaey"] = "kne", ["Tiếng Kannada"] = "kn", ["Tiếng Kannada cổ"] = "dra-okn", ["Tiếng Kannauj"] = "bjj", ["Tiếng Kanuri"] = "kr", ["Tiếng Kapampangan"] = "pam", ["Tiếng Kapingamarangi"] = "kpg", ["Tiếng Kaqchikel"] = "cak", ["Tiếng Karachay-Balkar"] = "krc", ["Tiếng Karaim"] = "kdr", ["Tiếng Karajá"] = "kpj", ["Tiếng Karakalpak"] = "kaa", ["Tiếng Karakhanid"] = "xqa", ["Tiếng Karao"] = "kyj", ["Tiếng Karata"] = "kpt", ["Tiếng Karbi"] = "mjw", ["Tiếng Karekare"] = "kai", ["Tiếng Karelia"] = "krl", ["Tiếng Karen Bwe"] = "bwe", ["Tiếng Karen Geba"] = "kvq", ["Tiếng Karen Geko"] = "ghk", ["Tiếng Karen Mobwa"] = "jkm", ["Tiếng Karen Paku"] = "jkp", ["Tiếng Karen S'gaw"] = "ksw", ["Tiếng Karen Zayein"] = "kxk", ["Tiếng Karen nguyên thủy"] = "kar-pro", ["Tiếng Kari'na"] = "car", ["Tiếng Kariri"] = "kzw", ["Tiếng Karitiâna"] = "ktn", ["Tiếng Karo"] = "kxh", ["Tiếng Kartvelia nguyên thủy"] = "ccs-pro", ["Tiếng Kashaya"] = "kju", ["Tiếng Kashmir"] = "ks", ["Tiếng Kaszëb"] = "csb", ["Tiếng Katang Bắc"] = "ncq", ["Tiếng Kaurna"] = "zku", ["Tiếng Kavalan"] = "ckv", ["Tiếng Kavet"] = "krv", ["Tiếng Kawésqar"] = "alc", ["Tiếng Kayan"] = "pdu", ["Tiếng Kayapó"] = "txu", ["Tiếng Kayort"] = "kyv", ["Tiếng Kazakh"] = "kk", ["Tiếng Kensiu"] = "kns", ["Tiếng Kenyang"] = "ken", ["Tiếng Kerek"] = "krk", ["Tiếng Kerman"] = "xme-ker", ["Tiếng Ket"] = "ket", ["Tiếng Khakas"] = "kjh", ["Tiếng Khalaj"] = "klj", ["Tiếng Khaling"] = "klr", ["Tiếng Kham Gamale"] = "kgj", ["Tiếng Kham Parbate Tây"] = "kjl", ["Tiếng Kham Parbate Đông"] = "kif", ["Tiếng Kham Sheshi"] = "kip", ["Tiếng Khamba"] = "kbg", ["Tiếng Khamti"] = "kht", ["Tiếng Khamyang"] = "ksu", ["Tiếng Khang Gia"] = "kxs", ["Tiếng Khanty"] = "kca", ["Tiếng Kharia"] = "khr", ["Tiếng Khasa Prakrit"] = "inc-kha", ["Tiếng Khasi"] = "kha", ["Tiếng Khasi nguyên thủy"] = "aav-khs-pro", ["Tiếng Khazar"] = "zkz", ["Tiếng Khengkha"] = "xkf", ["Tiếng Khiamniungan"] = "kix", ["Tiếng Khinalug"] = "kjj", ["Tiếng Khiết Đan"] = "zkt", ["Tiếng Khmer"] = "km", ["Tiếng Khmer Surin"] = "kxm", ["Tiếng Khmer cổ"] = "okz", ["Tiếng Khmer nguyên thủy"] = "mkh-kmr-pro", ["Tiếng Khmer trung đại"] = "xhm", ["Tiếng Khoekhoe"] = "naq", ["Tiếng Kholosi"] = "inc-kho", ["Tiếng Khotan"] = "kho", ["Tiếng Khowar"] = "khw", ["Tiếng Khroskyabs"] = "jiq", ["Tiếng Khuen"] = "khf", ["Tiếng Khvarshi"] = "khv", ["Tiếng Khwarezm"] = "xco", ["Tiếng Khách Gia"] = "hak", ["Tiếng Kháng"] = "kjm", ["Tiếng Khùa"] = "xhv", ["Tiếng Khün"] = "kkh", ["Tiếng Khơ Mú"] = "kjg", ["Tiếng Khơ Mú nguyên thủy"] = "mkh-khm-pro", ["Tiếng Khương Bắc"] = "cng", ["Tiếng Khương Nam"] = "qxs", ["Tiếng Khương Đường"] = "cna", ["Tiếng Kickapoo"] = "kic", ["Tiếng Kikai"] = "kzg", ["Tiếng Kili"] = "tuw-kil", ["Tiếng Kim"] = "kia", ["Tiếng Kim Môn"] = "mji", ["Tiếng Kimbundu"] = "kmb", ["Tiếng Kinaray-a"] = "krj", ["Tiếng Kinnaur"] = "kfk", ["Tiếng Kinnaur Harija"] = "kjo", ["Tiếng Kintaq"] = "knq", ["Tiếng Kiowa"] = "kio", ["Tiếng Gilbert"] = "gil", ["Tiếng Kirike"] = "okr", ["Tiếng Kisan"] = "xis", ["Tiếng Kistane"] = "gru", ["Tiếng Kituba"] = "ktu", ["Tiếng Klallam"] = "clm", ["Tiếng Klingon"] = "tlh", ["Tiếng Knaan"] = "czk", ["Tiếng Koalib"] = "kib", ["Tiếng Kobon"] = "kpw", ["Tiếng Koch"] = "kdq", ["Tiếng Koda"] = "cdz", ["Tiếng Kodava"] = "kfa", ["Tiếng Kohistan"] = "mvy", ["Tiếng Koibal"] = "zkb", ["Tiếng Kok Borok"] = "trp", ["Tiếng Kolami"] = "kfb", ["Tiếng Kolhe"] = "ekl", ["Tiếng Koli Kachi"] = "gjk", ["Tiếng Koli Parkar"] = "kvx", ["Tiếng Koli Wadiyara"] = "kxp", ["Tiếng Koman nguyên thủy"] = "ssa-kom-pro", ["Tiếng Komi cổ"] = "urj-koo", ["Tiếng Komi-Permyak"] = "koi", ["Tiếng Komi-Yazva"] = "urj-kya", ["Tiếng Komi-Zyrian"] = "kpv", ["Tiếng Komo"] = "xom", ["Tiếng Komodo"] = "kvh", ["Tiếng Konabéré"] = "bbo", ["Tiếng Konda-Dora"] = "kfc", ["Tiếng Kondekor"] = "gau", ["Tiếng Kongo"] = "kg", ["Tiếng Konkan"] = "kok", ["Tiếng Konobo"] = "kqo", ["Tiếng Konso"] = "kxc", ["Tiếng Koonzime"] = "ozm", ["Tiếng Koore"] = "kqy", ["Tiếng Koraga Korra"] = "kfd", ["Tiếng Koraga Mudu"] = "vmd", ["Tiếng Korku"] = "kfq", ["Tiếng Korwa"] = "kfp", ["Tiếng Koryak"] = "kpy", ["Tiếng Kosrae"] = "kos", ["Tiếng Kota (Ấn Độ)"] = "kfe", ["Tiếng Kotava"] = "avk", ["Tiếng Kott"] = "zko", ["Tiếng Koya"] = "kff", ["Tiếng Kpelle Guinea"] = "gkp", ["Tiếng Kpelle Liberia"] = "xpe", ["Tiếng Kra nguyên thủy"] = "qfa-kra-pro", ["Tiếng Kra-Dai nguyên thủy"] = "qfa-tak-pro", ["Tiếng Kraol"] = "rka", ["Tiếng Kresh"] = "krs", ["Tiếng Krio"] = "kri", ["Tiếng Kriol Úc"] = "rop", ["Tiếng Krung"] = "krr", ["Tiếng Krymchak"] = "jct", ["Tiếng Kryts"] = "kry", ["Tiếng Ktunaxa"] = "kut", ["Tiếng Kubachi"] = "ugh", ["Tiếng Kudiya"] = "kfg", ["Tiếng Kudmal"] = "kyw", ["Tiếng Kui (Ấn Độ)"] = "uki", ["Tiếng Kui Dawik"] = "dwk", ["Tiếng Kuke"] = "ght", ["Tiếng Kuki-Chin nguyên thủy"] = "tbq-kuk-pro", ["Tiếng Kukna"] = "kex", ["Tiếng Kullu"] = "kfx", ["Tiếng Kulon-Pazeh"] = "uun", ["Tiếng Kumbewaha"] = "xks", ["Tiếng Kumeyaay"] = "nai-kum", ["Tiếng Kumyk"] = "kum", ["Tiếng Kumzar"] = "zum", ["Tiếng Kuna"] = "cuk", ["Tiếng Kundal Shahi"] = "shd", ["Tiếng Kunigami"] = "xug", ["Tiếng Kuo"] = "xuo", ["Tiếng Kupia"] = "key", ["Tiếng Kurichiya"] = "kfh", ["Tiếng Kurmanji"] = "kmr", ["Tiếng Kurtokha"] = "xkz", ["Tiếng Kurukh"] = "kru", ["Tiếng Kurumba Alu"] = "xua", ["Tiếng Kurumba Attapady"] = "pkr", ["Tiếng Kurumba Betta"] = "xub", ["Tiếng Kurumba Jennu"] = "xuj", ["Tiếng Kurumba Kannada"] = "kfi", ["Tiếng Kurumba Mullu"] = "kpb", ["Tiếng Kushi"] = "kuh", ["Tiếng Kutch"] = "kfr", ["Tiếng Kutep"] = "kub", ["Tiếng Kuvi"] = "kxv", ["Tiếng Kuy"] = "kdt", ["Tiếng Kven"] = "fkv", ["Tiếng Kw'adza"] = "wka", ["Tiếng Kwak'wala"] = "kwk", ["Tiếng Kwanja"] = "knp", ["Tiếng Kwanyama"] = "kj", ["Tiếng Kwinti"] = "kww", ["Tiếng Kyakala"] = "tuw-kkl", ["Tiếng Kyrgyz"] = "ky", ["Tiếng Kyrgyz Phú Dụ"] = "trk-fyk", ["Tiếng Kâte"] = "kmg", ["Tiếng La Hủ"] = "lhu", ["Tiếng Laalaa"] = "cae", ["Tiếng Ladakh"] = "lbj", ["Tiếng Ladin"] = "lld", ["Tiếng Ladino"] = "lad", ["Tiếng Lahnda"] = "lah", ["Tiếng Lahta"] = "kvt", ["Tiếng Lak"] = "lbe", ["Tiếng Lakalei"] = "lka", ["Tiếng Laki"] = "lki", ["Tiếng Lakota"] = "lkt", ["Tiếng Lama Gur"] = "las", ["Tiếng Lambadi"] = "lmn", ["Tiếng Lamboya"] = "lmy", ["Tiếng Lamkang"] = "lmk", ["Tiếng Lanoh"] = "lnh", ["Tiếng Laomian"] = "lwm", ["Tiếng Lar"] = "lrl", ["Tiếng Lasalimu"] = "llm", ["Tiếng Lashi"] = "lsi", ["Tiếng Latgale"] = "ltg", ["Tiếng Latinh"] = "la", ["Tiếng Latundê"] = "ltn", ["Tiếng Latvia"] = "lv", ["Tiếng Lavukaleve"] = "lvk", ["Tiếng Lawa Tây"] = "lcp", ["Tiếng Lawa Đông"] = "lwl", ["Tiếng Lawi"] = "lvi", ["Tiếng Laya"] = "lya", ["Tiếng Laz"] = "lzz", ["Tiếng Lelemi"] = "lef", ["Tiếng Lemnos"] = "xle", ["Tiếng Lepcha"] = "lep", ["Tiếng Leponti"] = "xlp", ["Tiếng Lewo"] = "lww", ["Tiếng Lezgi"] = "lez", ["Tiếng Lezgi nguyên thủy"] = "cau-lzg-pro", ["Tiếng León"] = "roa-leo", ["Tiếng León cổ"] = "roa-ole", ["Tiếng Lhao Vo"] = "mhx", ["Tiếng Lhomi"] = "lhm", ["Tiếng Liabuku"] = "lix", ["Tiếng Libido"] = "liq", ["Tiếng Liguria"] = "lij", ["Tiếng Lillooet"] = "lil", ["Tiếng Limbum"] = "lmp", ["Tiếng Limburg"] = "li", ["Tiếng Lindu"] = "klw", ["Tiếng Lingala"] = "ln", ["Tiếng Lipan"] = "apl", ["Tiếng Lishana Deni"] = "lsd", ["Tiếng Lishanid Noshan"] = "aij", ["Tiếng Lisu"] = "lis", ["Tiếng Litva"] = "lt", ["Tiếng Litva cổ"] = "olt", ["Tiếng Livonia"] = "liv", ["Tiếng Livvi"] = "olo", ["Tiếng Lobi"] = "lob", ["Tiếng Lodha"] = "lbm", ["Tiếng Logba"] = "lgq", ["Tiếng Lojban"] = "jbo", ["Tiếng Loke"] = "loy", ["Tiếng Lokono"] = "arw", ["Tiếng Loma"] = "lom", ["Tiếng Lomavren"] = "rmi", ["Tiếng Lombard"] = "lmo", ["Tiếng Lorrain"] = "roa-lor", ["Tiếng Lotha Naga"] = "njh", ["Tiếng Lou"] = "loj", ["Tiếng Luba-Katanga"] = "lu", ["Tiếng Lucumí"] = "luq", ["Tiếng Luganda"] = "lg", ["Tiếng Luhya"] = "luy", ["Tiếng Lukpa"] = "dop", ["Tiếng Lumbu"] = "lup", ["Tiếng Lunana"] = "luk", ["Tiếng Lur Bắc"] = "lrc", ["Tiếng Lur Nam"] = "luz", ["Tiếng Lushootseed"] = "lut", ["Tiếng Lutuv"] = "clt", ["Tiếng Luwi"] = "xlu", ["Tiếng Luxembourg"] = "lb", ["Tiếng Lycia"] = "xlc", ["Tiếng Lydia"] = "xld", ["Tiếng Lyngngam"] = "lyg", ["Tiếng Lyydi"] = "lud", ["Tiếng Lào"] = "lo", ["Tiếng Lâm Cao"] = "onb", ["Tiếng Lô Lô"] = "ii", ["Tiếng Lô Lô-Miến nguyên thủy"] = "tbq-lob-pro", ["Tiếng Lư Nhân"] = "sit-lrn", ["Tiếng Lưu Cầu nguyên thủy"] = "jpx-ryu-pro", ["Tiếng Lự"] = "khb", ["Tiếng M'Nông Nam"] = "mnn", ["Tiếng M'Nông Trung"] = "cmo", ["Tiếng M'Nông Đông"] = "mng", ["Tiếng Ma Thoa"] = "nru", ["Tiếng Ma'anyan"] = "mhy", ["Tiếng Maaka"] = "mew", ["Tiếng Maale"] = "mdy", ["Tiếng Maasai"] = "mas", ["Tiếng Maay"] = "ymm", ["Tiếng Mabaan"] = "mfz", ["Tiếng Mabang"] = "mde", ["Tiếng Macedoni cổ đại"] = "xmk", ["Tiếng Macedonia"] = "mk", ["Tiếng Macushi"] = "mbc", ["Tiếng Madura"] = "mad", ["Tiếng Magaha"] = "mag", ["Tiếng Magar Tây"] = "mrd", ["Tiếng Magar Đông"] = "mgp", ["Tiếng Magori"] = "zgr", ["Tiếng Maguindanao"] = "mdh", ["Tiếng Mah Meri"] = "mhe", ["Tiếng Mahal"] = "mjx", ["Tiếng Maithil"] = "mai", ["Tiếng Majang"] = "mpe", ["Tiếng Makassar"] = "mak", ["Tiếng Mal"] = "mlf", ["Tiếng Malagasy"] = "mg", ["Tiếng Malankurava"] = "mjo", ["Tiếng Malapandaram"] = "mjp", ["Tiếng Malarya"] = "mjq", ["Tiếng Malasar"] = "ymr", ["Tiếng Malasar Mala"] = "ima", ["Tiếng Malavedan"] = "mjr", ["Tiếng Malayalam"] = "ml", ["Tiếng Malecite-Passamaquoddy"] = "pqm", ["Tiếng Malta"] = "mt", ["Tiếng Mampruli"] = "maw", ["Tiếng Man"] = "gv", ["Tiếng Manda (Ấn Độ)"] = "mha", ["Tiếng Mandahuaca"] = "mht", ["Tiếng Mandara"] = "tbf", ["Tiếng Mande nguyên thủy"] = "dmn-pro", ["Tiếng Mandi"] = "mjl", ["Tiếng Mandinka"] = "mnk", ["Tiếng Mangas"] = "zns", ["Tiếng Manggarai"] = "mqy", ["Tiếng Mangghuer"] = "xgn-mgr", ["Tiếng Mangghul"] = "mjg-mgr", ["Tiếng Manipur"] = "mni", ["Tiếng Mankanya"] = "knf", ["Tiếng Mannan"] = "mjv", ["Tiếng Mano"] = "mev", ["Tiếng Mansaka"] = "msk", ["Tiếng Mansi nguyên thủy"] = "mns-pro", ["Tiếng Manumanaw"] = "kxf", ["Tiếng Mao Nam"] = "mmd", ["Tiếng Maori"] = "mi", ["Tiếng Mapuche"] = "arn", ["Tiếng Maranao"] = "mrw", ["Tiếng Marathi"] = "mr", ["Tiếng Marathi cổ"] = "omr", ["Tiếng Marau"] = "mvr", ["Tiếng Mari Tây"] = "mrj", ["Tiếng Mari nguyên thủy"] = "chm-pro", ["Tiếng Mari Đông"] = "mhr", ["Tiếng Maria (Ấn Độ)"] = "mrr", ["Tiếng Maricopa"] = "mrc", ["Tiếng Marma"] = "rmz", ["Tiếng Marquises Bắc"] = "mrq", ["Tiếng Marquises Nam"] = "mqm", ["Tiếng Marrucini"] = "umc", ["Tiếng Marshall"] = "mh", ["Tiếng Marsi"] = "ims", ["Tiếng Martuthunira"] = "vma", ["Tiếng Marwar"] = "mwr", ["Tiếng Masbatenyo"] = "msb", ["Tiếng Maskelynes"] = "klv", ["Tiếng Matal"] = "mfh", ["Tiếng Mator"] = "mtm", ["Tiếng Maung"] = "mph", ["Tiếng Maya Yucatán"] = "yua", ["Tiếng Maya nguyên thủy"] = "myn-pro", ["Tiếng Mazahua Michoacán"] = "mmc", ["Tiếng Mazahua Trung"] = "maz", ["Tiếng Mazandaran"] = "mzn", ["Tiếng Mbabaram"] = "vmb", ["Tiếng Mbembe Tigon"] = "nza", ["Tiếng Mbembe sông Cross"] = "mfn", ["Tiếng Me'en"] = "mym", ["Tiếng Me'phaa Acatepec"] = "tpx", ["Tiếng Me'phaa Azoyú"] = "tpc", ["Tiếng Me'phaa Tlacoapa"] = "tpl", ["Tiếng Media cổ"] = "xme-old", ["Tiếng Medumba"] = "byv", ["Tiếng Mehri"] = "gdq", ["Tiếng Melo"] = "mfx", ["Tiếng Melpa"] = "med", ["Tiếng Memon"] = "mby", ["Tiếng Mendankwe-Nkwen"] = "mfd", ["Tiếng Mende"] = "men", ["Tiếng Menominee"] = "mez", ["Tiếng Mentawai"] = "mwv", ["Tiếng Meriam"] = "ulk", ["Tiếng Mesaka"] = "iyo", ["Tiếng Mesqan"] = "mvz", ["Tiếng Messapio"] = "cms", ["Tiếng Meänkieli"] = "fit", ["Tiếng Mi'kmaq"] = "mic", ["Tiếng Miami"] = "mia", ["Tiếng Minangkabau"] = "min", ["Tiếng Mingrelia"] = "xmf", ["Tiếng Minriq"] = "mnq", ["Tiếng Mintil"] = "mzt", ["Tiếng Miranda"] = "mwl", ["Tiếng Mirga"] = "zrg", ["Tiếng Mising"] = "mrg", ["Tiếng Miskito"] = "miq", ["Tiếng Mixtec Alcozauca"] = "xta", ["Tiếng Mixtec Chayuco"] = "mih", ["Tiếng Mixtec Yosondúa"] = "mpm", ["Tiếng Mixtec nguyên thủy"] = "omq-mix-pro", ["Tiếng Miyako"] = "mvi", ["Tiếng Mizo"] = "lus", ["Tiếng Miến Điện"] = "my", ["Tiếng Miến Điện cổ"] = "obr", ["Tiếng Miền nguyên thủy"] = "hmx-mie-pro", ["Tiếng Mlabri"] = "mra", ["Tiếng Mlahsö"] = "lhs", ["Tiếng Mogholi"] = "mhj", ["Tiếng Moglena-Rumani"] = "ruq", ["Tiếng Mohawk"] = "moh", ["Tiếng Mohegan-Pequot"] = "xpq", ["Tiếng Moken"] = "mwt", ["Tiếng Mokil"] = "mkj", ["Tiếng Moklen"] = "mkm", ["Tiếng Moksha"] = "mdf", ["Tiếng Molbog"] = "pwm", ["Tiếng Mongghul"] = "mjg-mgl", ["Tiếng Mongo"] = "lol", ["Tiếng Mongondow"] = "mog", ["Tiếng Mooré"] = "mos", ["Tiếng Mordvin nguyên thủy"] = "urj-mdv-pro", ["Tiếng Moro"] = "mor", ["Tiếng Morokodo"] = "mgc", ["Tiếng Mota"] = "mtt", ["Tiếng Motu"] = "meu", ["Tiếng Mozarab"] = "mxi", ["Tiếng Mpade"] = "mpi", ["Tiếng Mpi"] = "mpz", ["Tiếng Muak Sa-aak"] = "ukk", ["Tiếng Mudburra"] = "dmw", ["Tiếng Muduga"] = "udg", ["Tiếng Muna"] = "mnb", ["Tiếng Munda"] = "unx", ["Tiếng Munda nguyên thủy"] = "mun-pro", ["Tiếng Mundabli"] = "boe", ["Tiếng Mundari"] = "unr", ["Tiếng Munggui"] = "mth", ["Tiếng Munji"] = "mnj", ["Tiếng Munsee"] = "umu", ["Tiếng Muria Viễn Tây"] = "fmu", ["Tiếng Murle"] = "mur", ["Tiếng Mursi"] = "muz", ["Tiếng Muscogee"] = "mus", ["Tiếng Musi"] = "mui", ["Tiếng Muskogee nguyên thủy"] = "nai-mus-pro", ["Tiếng Muthuvan"] = "muv", ["Tiếng Mwan"] = "moa", ["Tiếng Mwotlap"] = "mlv", ["Tiếng Myene"] = "mye", ["Tiếng Mân Bắc"] = "mnp", ["Tiếng Mân Nam"] = "nan", ["Tiếng Mân Trung"] = "czo", ["Tiếng Mân Tuyền Chương"] = "nan-hbl", ["Tiếng Mân nguyên thủy"] = "zhx-min-pro", ["Tiếng Mân Đông"] = "cdo", ["Tiếng Mã Lai"] = "ms", ["Tiếng Mã Lai Ambon"] = "abs", ["Tiếng Mã Lai Baba"] = "mbf", ["Tiếng Mã Lai Bacan"] = "btj", ["Tiếng Mã Lai Brunei"] = "kxd", ["Tiếng Mã Lai Bắc Maluku"] = "max", ["Tiếng Mã Lai Kedah"] = "meo", ["Tiếng Mã Lai Pattani"] = "mfa", ["Tiếng Mã Lai Sarawak"] = "poz-sml", ["Tiếng Mã Lai cổ"] = "omy", ["Tiếng Mã Lai nguyên thủy"] = "poz-mly-pro", ["Tiếng Mã Lai-Chăm nguyên thủy"] = "poz-mcm-pro", ["Tiếng Mã Lai-Sumbawa nguyên thủy"] = "poz-msa-pro", ["Tiếng Mã Lai-Đa Đảo Trung Đông nguyên thủy"] = "poz-cet-pro", ["Tiếng Mã Lai-Đa Đảo nguyên thủy"] = "poz-pro", ["Tiếng Mã Lai-Đa Đảo Đông nguyên thủy"] = "pqe-pro", ["Tiếng Mã Liềng"] = "pkt", ["Tiếng Mãn Châu"] = "mnc", ["Tiếng Mòcheno"] = "mhn", ["Tiếng Môn"] = "mnw", ["Tiếng Môn Thái"] = "mnw-tha", ["Tiếng Môn cổ"] = "omx", ["Tiếng Môn nguyên thủy"] = "mkh-mnc-pro", ["Tiếng Môn trung đại"] = "mkh-mmn", ["Tiếng Môn-Khmer nguyên thủy"] = "mkh-pro", ["Tiếng Mông"] = "hmf", ["Tiếng Mông Cổ"] = "mn", ["Tiếng Mông Cổ Khamnigan"] = "ykh", ["Tiếng Mông Cổ cổ điển"] = "cmg", ["Tiếng Mông Cổ nguyên thủy"] = "xgn-pro", ["Tiếng Mông Cổ trung đại"] = "xng", ["Tiếng Mông Trắng"] = "mww", ["Tiếng Mơ Nâm"] = "moo", ["Tiếng Mường"] = "mtq", ["Tiếng Mạ"] = "cma", ["Tiếng Mảng"] = "zng", ["Tiếng Na Miểu"] = "neo", ["Tiếng Na Uy"] = "no", ["Tiếng Na Uy (Bokmål)"] = "nb", ["Tiếng Na Uy (Nynorsk)"] = "nn", ["Tiếng Nafaanra"] = "nfr", ["Tiếng Naga Chothe"] = "nct", ["Tiếng Naga Maring"] = "nng", ["Tiếng Naga Moyon"] = "nmo", ["Tiếng Naga Thangal"] = "nki", ["Tiếng Naga Trung nguyên thủy"] = "sit-aao-pro", ["Tiếng Nahua nguyên thủy"] = "azc-nah-pro", ["Tiếng Nahuatl"] = "nah", ["Tiếng Nahuatl Temascaltepec"] = "nhv", ["Tiếng Nahuatl cổ điển"] = "nci", ["Tiếng Nakh nguyên thủy"] = "cau-nkh-pro", ["Tiếng Nam Altai"] = "alt", ["Tiếng Nam Amami Ōshima"] = "ams", ["Tiếng Nam Dravida I nguyên thủy"] = "dra-sdo-pro", ["Tiếng Nam Dravida II nguyên thủy"] = "dra-sdt-pro", ["Tiếng Nam Dravida nguyên thủy"] = "dra-sou-pro", ["Tiếng Nam Kolami"] = "nit", ["Tiếng Nam Mansi"] = "mns-sou", ["Tiếng Nam Ndebele"] = "nr", ["Tiếng Nam Sami"] = "sma", ["Tiếng Nam Selkup"] = "sel-sou", ["Tiếng Nam Slavey"] = "xsl", ["Tiếng Nam Thái"] = "sou", ["Tiếng Nam Uzbek"] = "uzs", ["Tiếng Nam Yukaghir"] = "yux", ["Tiếng Nam Á nguyên thủy"] = "aav-pro", ["Tiếng Nam Đảo nguyên thủy"] = "map-pro", ["Tiếng Nam Động"] = "kmc", ["Tiếng Nam Ả Rập cổ"] = "sem-srb", ["Tiếng Nambikwara"] = "nab", ["Tiếng Nanai"] = "gld", ["Tiếng Nankina"] = "nnk", ["Tiếng Napoli"] = "nap", ["Tiếng Naskapi"] = "nsk", ["Tiếng Nateni"] = "ntm", ["Tiếng Naukan"] = "ynk", ["Tiếng Nauru"] = "na", ["Tiếng Navajo"] = "nv", ["Tiếng Ndau"] = "ndc", ["Tiếng Ndogo"] = "ndz", ["Tiếng Ndonga"] = "ng", ["Tiếng Nefusa"] = "jbn", ["Tiếng Negerhollands"] = "dcr", ["Tiếng Negidal"] = "neg", ["Tiếng Nenets lãnh nguyên"] = "yrk-tun", ["Tiếng Nepal"] = "ne", ["Tiếng Newa"] = "new", ["Tiếng Nga"] = "ru", ["Tiếng Nga bồi Taimyr"] = "crp-tpr", ["Tiếng Ngadha"] = "nxg", ["Tiếng Ngalum"] = "szb", ["Tiếng Ngam"] = "nmc", ["Tiếng Ngambay"] = "sba", ["Tiếng Nganasan"] = "nio", ["Tiếng Ngas"] = "anc", ["Tiếng Ngiemboon"] = "nnh", ["Tiếng Ngiyambaa"] = "wyb", ["Tiếng Ngomba"] = "jgo", ["Tiếng Ngombe (Congo)"] = "ngc", ["Tiếng Nguni nguyên thủy"] = "bnt-ngu-pro", ["Tiếng Nguồn"] = "nuo", ["Tiếng Ngô"] = "wuu", ["Tiếng Ngũ Đồn"] = "wuh", ["Tiếng Nha Lang"] = "yrn", ["Tiếng Nheengatu"] = "yrl", ["Tiếng Nhu Nhiên"] = "qfa-xgx-rou", ["Tiếng Nhĩ Tô"] = "ers", ["Tiếng Nhật"] = "ja", ["Tiếng Nhật Bản nguyên thủy"] = "jpx-pro", ["Tiếng Nhật thượng cổ"] = "ojp", ["Tiếng Nias"] = "nia", ["Tiếng Nicobar Car"] = "caq", ["Tiếng Nicobar Nam"] = "nik", ["Tiếng Nicobar Trung"] = "ncb", ["Tiếng Nicobar nguyên thủy"] = "aav-nic-pro", ["Tiếng Niger-Congo nguyên thủy"] = "nic-pro", ["Tiếng Nin-Sahara nguyên thủy"] = "ssa-pro", ["Tiếng Nisga'a"] = "ncg", ["Tiếng Niue"] = "niu", ["Tiếng Nivaclé"] = "cag", ["Tiếng Nivkh"] = "niv", ["Tiếng Nkari"] = "nkz", ["Tiếng Nkonya"] = "nko", ["Tiếng Nobiin"] = "fia", ["Tiếng Nobonob"] = "gaw", ["Tiếng Nogai"] = "nog", ["Tiếng Noon"] = "snf", ["Tiếng Noreia"] = "nrc", ["Tiếng Norman"] = "nrf", ["Tiếng Novgorod cổ"] = "zle-ono", ["Tiếng Novial"] = "nov", ["Tiếng Ntcham"] = "bud", ["Tiếng Nubaca"] = "baf", ["Tiếng Nubi"] = "kcn", ["Tiếng Nubia cổ"] = "onw", ["Tiếng Nuer"] = "nus", ["Tiếng Numidia"] = "nxm", ["Tiếng Nupe"] = "nup", ["Tiếng Nuristan nguyên thủy"] = "iir-nur-pro", ["Tiếng Nuu-chah-nulth"] = "nuk", ["Tiếng Nyah Kur"] = "cbn", ["Tiếng Nyaw"] = "nyw", ["Tiếng Nyeu"] = "nyl", ["Tiếng Nyishi"] = "njz", ["Tiếng Nyoro"] = "nyo", ["Tiếng Nyunga"] = "nys", ["Tiếng Nzadi"] = "nzd", ["Tiếng Nùng"] = "nut", ["Tiếng Nùng Vẻn"] = "enc", ["Tiếng Nǀuu"] = "ngh", ["Tiếng Nạp Tây"] = "nxq", ["Tiếng Nữ Chân"] = "juc", ["Tiếng O'odham"] = "ood", ["Tiếng Ocaina"] = "oca", ["Tiếng Occitan"] = "oc", ["Tiếng Occitan cổ"] = "pro", ["Tiếng Ogbronuagum"] = "ogu", ["Tiếng Oghuz cổ sơ kỳ"] = "trk-eog", ["Tiếng Oirat"] = "xwo", ["Tiếng Ojibwe"] = "oj", ["Tiếng Ojibwe Severn"] = "ojs", ["Tiếng Ojibwe Tây"] = "ojw", ["Tiếng Ojibwe Tây Bắc"] = "ojb", ["Tiếng Ojibwe Đông"] = "ojg", ["Tiếng Okanagan"] = "oka", ["Tiếng Okinawa"] = "ryu", ["Tiếng Okinoerabu"] = "okn", ["Tiếng Olukumi"] = "ulb", ["Tiếng Omaha-Ponca"] = "oma", ["Tiếng Omo nguyên thủy"] = "omv-pro", ["Tiếng Omok"] = "omk", ["Tiếng Oneida"] = "one", ["Tiếng Ongota"] = "bxe", ["Tiếng Oriya"] = "or", ["Tiếng Oriya Adiwasi"] = "ort", ["Tiếng Oriya cổ"] = "inc-oor", ["Tiếng Oriya trung đại"] = "inc-mor", ["Tiếng Orma"] = "orc", ["Tiếng Ormu"] = "orz", ["Tiếng Ormur"] = "oru", ["Tiếng Oroch"] = "oac", ["Tiếng Orok"] = "oaa", ["Tiếng Oromo"] = "om", ["Tiếng Oromo Nam"] = "gax", ["Tiếng Oromo Đông"] = "hae", ["Tiếng Oroqen"] = "orh", ["Tiếng Osage"] = "osa", ["Tiếng Osatu"] = "ost", ["Tiếng Osci"] = "osc", ["Tiếng Osing"] = "osi", ["Tiếng Ossetia"] = "os", ["Tiếng Ossetia cổ"] = "oos", ["Tiếng Otomi Mezquital"] = "ote", ["Tiếng Otoro"] = "otr", ["Tiếng Otuke"] = "otu", ["Tiếng Oyda"] = "oyd", ["Tiếng Pa Kô"] = "pac", ["Tiếng Pa'O"] = "blk", ["Tiếng Paeligni"] = "pgn", ["Tiếng Pagu"] = "pgu", ["Tiếng Pahari Mahasu"] = "bfz", ["Tiếng Paharia Kumarbhag"] = "kmj", ["Tiếng Paharia Sauria"] = "mjt", ["Tiếng Paite"] = "pck", ["Tiếng Paiwan"] = "pwn", ["Tiếng Pakan nguyên thủy"] = "mkh-pkn-pro", ["Tiếng Paku"] = "pku", ["Tiếng Pala"] = "plq", ["Tiếng Palau"] = "pau", ["Tiếng Palaung Ruching"] = "pce", ["Tiếng Palaung Rumai"] = "rbb", ["Tiếng Palaung Shwe"] = "pll", ["Tiếng Palaung nguyên thủy"] = "mkh-pal-pro", ["Tiếng Palawano Brooke's Point"] = "plw", ["Tiếng Palenquero"] = "pln", ["Tiếng Pali"] = "pi", ["Tiếng Paliyan"] = "pcf", ["Tiếng Palor"] = "fap", ["Tiếng Pama-Nyungar nguyên thủy"] = "aus-pam-pro", ["Tiếng Pancana"] = "pnp", ["Tiếng Panchpargania"] = "tdb", ["Tiếng Pangasinan"] = "pag", ["Tiếng Pangwala"] = "pgg", ["Tiếng Paniya"] = "pcg", ["Tiếng Papiamento"] = "pap", ["Tiếng Papuma"] = "ppm", ["Tiếng Parachi"] = "prc", ["Tiếng Paraujano"] = "pbg", ["Tiếng Parauk"] = "prk", ["Tiếng Pareci"] = "pab", ["Tiếng Parenga"] = "pcj", ["Tiếng Parthia"] = "xpr", ["Tiếng Parya"] = "paq", ["Tiếng Pashtun"] = "ps", ["Tiếng Pathan nguyên thủy"] = "ira-pat-pro", ["Tiếng Pauna"] = "pnk", ["Tiếng Pawnee"] = "paw", ["Tiếng Pazeh"] = "pzh", ["Tiếng Pear"] = "pcb", ["Tiếng Pear nguyên thủy"] = "mkh-pea-pro", ["Tiếng Pecheneg"] = "xpc", ["Tiếng Pela"] = "bxd", ["Tiếng Pemon"] = "aoc", ["Tiếng Pengo"] = "peg", ["Tiếng Perm nguyên thủy"] = "urj-prm-pro", ["Tiếng Petjo"] = "pey", ["Tiếng Phai"] = "prt", ["Tiếng Phake"] = "phk", ["Tiếng Phalura"] = "phl", ["Tiếng Phi-Á nguyên thủy"] = "afa-pro", ["Tiếng Philippines nguyên thủy"] = "phi-pro", ["Tiếng Phoenicia"] = "phn", ["Tiếng Phong-Kniang"] = "pnx", ["Tiếng Phrygia"] = "xpg", ["Tiếng Phu Thái"] = "pht", ["Tiếng Phuan"] = "phu", ["Tiếng Pháp"] = "fr", ["Tiếng Pháp cổ"] = "fro", ["Tiếng Pháp trung đại"] = "frm", ["Tiếng Phạn"] = "sa", ["Tiếng Phần Lan"] = "fi", ["Tiếng Phổ Hiền"] = "cpx", ["Tiếng Phổ cổ"] = "prg", ["Tiếng Picard"] = "pcd", ["Tiếng Piceni Bắc"] = "nrp", ["Tiếng Piceni Nam"] = "spx", ["Tiếng Piemonte"] = "pms", ["Tiếng Pilagá"] = "plg", ["Tiếng Pinyin"] = "pny", ["Tiếng Pipil"] = "ppl", ["Tiếng Pitjantjatjara"] = "pjt", ["Tiếng Plateau nguyên thủy"] = "nic-plt-pro", ["Tiếng Pnar"] = "pbv", ["Tiếng Pnar-Khasi-Lyngngam nguyên thủy"] = "aav-pkl-pro", ["Tiếng Pohnpei"] = "pon", ["Tiếng Polabia"] = "pox", ["Tiếng Polci"] = "plj", ["Tiếng Ponosakan"] = "pns", ["Tiếng Popoluca cao nguyên"] = "poi", ["Tiếng Potawatomi"] = "pot", ["Tiếng Pothohar"] = "phr", ["Tiếng Prakrit"] = "pra", ["Tiếng Prakrit Ashoka"] = "inc-ash", ["Tiếng Prakrit Niya"] = "pra-niy", ["Tiếng Prakrit Paisaci"] = "inc-psc", ["Tiếng Prakrit Saurasen"] = "psu", ["Tiếng Prasun"] = "prn", ["Tiếng Pucikwar"] = "apq", ["Tiếng Puinave"] = "pui", ["Tiếng Pumpokol"] = "xpm", ["Tiếng Punic"] = "xpu", ["Tiếng Punjab"] = "pa", ["Tiếng Puroik"] = "suv", ["Tiếng Puyuma"] = "pyu", ["Tiếng Pwo Bắc"] = "pww", ["Tiếng Pwo Phrae"] = "kjt", ["Tiếng Pwo Tây"] = "pwo", ["Tiếng Pwo Đông"] = "kjp", ["Tiếng Pà Thẻn"] = "pha", ["Tiếng Pọng"] = "hnu", ["Tiếng Qashqai"] = "qxq", ["Tiếng Qimant"] = "ahg", ["Tiếng Quan Thoại"] = "cmn", ["Tiếng Quapaw"] = "qua", ["Tiếng Quechua"] = "qu", ["Tiếng Quenya"] = "qya", ["Tiếng Quichuañol"] = "mue", ["Tiếng Quinault"] = "qun", ["Tiếng Quiripi"] = "qyp", ["Tiếng Quảng Lâm"] = "aav-qal", ["Tiếng Quảng Đông"] = "yue", ["Tiếng Quốc tế ngữ"] = "eo", ["Tiếng Ra Glai Bắc"] = "rog", ["Tiếng Ra Glai Cát Gia"] = "roc", ["Tiếng Ra Glai Nam"] = "rgs", ["Tiếng Rabha"] = "rah", ["Tiếng Raetia"] = "xrr", ["Tiếng Rajasthan"] = "raj", ["Tiếng Rajbanshi"] = "rjs", ["Tiếng Rakhine"] = "rki", ["Tiếng Rama"] = "rma", ["Tiếng Rangpur"] = "rkt", ["Tiếng Rapa Nui"] = "rap", ["Tiếng Rarotonga"] = "rar", ["Tiếng Rasawa"] = "rac", ["Tiếng Ratagnon"] = "btn", ["Tiếng Raute"] = "rau", ["Tiếng Ravula"] = "yea", ["Tiếng Rawang"] = "raw", ["Tiếng Rejang"] = "rej", ["Tiếng Reli"] = "rei", ["Tiếng Rendille"] = "rel", ["Tiếng Riang Lai"] = "yin", ["Tiếng Rohingya"] = "rhg", ["Tiếng Romagnol"] = "rgn", ["Tiếng Romansh"] = "rm", ["Tiếng Rotuma"] = "rtm", ["Tiếng Rukai"] = "dru", ["Tiếng Rukai nguyên thủy"] = "dru-pro", ["Tiếng Rumani"] = "ro", ["Tiếng Rungus"] = "drg", ["Tiếng Rusnak"] = "rsk", ["Tiếng Rusyn"] = "rue", ["Tiếng Ruthenia cổ"] = "zle-ort", ["Tiếng Rutul"] = "rut", ["Tiếng Rơ Măm"] = "rmx", ["Tiếng Rơ Ngao"] = "ren", ["Tiếng Saanich"] = "str", ["Tiếng Saaroa"] = "sxr", ["Tiếng Saba"] = "saa", ["Tiếng Sabüm"] = "sbo", ["Tiếng Sadri"] = "sck", ["Tiếng Saek"] = "skb", ["Tiếng Saho"] = "ssy", ["Tiếng Saisiyat"] = "xsy", ["Tiếng Saka-Wakhi nguyên thủy"] = "xsc-skw-pro", ["Tiếng Sakizaya"] = "szy", ["Tiếng Salar"] = "slr", ["Tiếng Salish nguyên thủy"] = "sal-pro", ["Tiếng Sama Trung"] = "sml", ["Tiếng Sambal Botolan"] = "sbl", ["Tiếng Sambali"] = "xsb", ["Tiếng Sambalpur"] = "spv", ["Tiếng Sami Akkala"] = "sia", ["Tiếng Sami Inari"] = "smn", ["Tiếng Sami Kildin"] = "sjd", ["Tiếng Sami Skolt"] = "sms", ["Tiếng Sami Ter"] = "sjt", ["Tiếng Sami Ume"] = "sju", ["Tiếng Sami nguyên thủy"] = "smi-pro", ["Tiếng Samo"] = "smq", ["Tiếng Samo Nam"] = "sbd", ["Tiếng Samoa"] = "sm", ["Tiếng Samogitia"] = "sgs", ["Tiếng Samoyed nguyên thủy"] = "syd-pro", ["Tiếng Samtao"] = "stu", ["Tiếng Sangir"] = "sxn", ["Tiếng Sangisar"] = "sgr", ["Tiếng Sango"] = "sg", ["Tiếng Santal"] = "sat", ["Tiếng Saposa"] = "sps", ["Tiếng Saraiki"] = "skr", ["Tiếng Saramacca"] = "srm", ["Tiếng Sardegna"] = "sc", ["Tiếng Sarikol"] = "srh", ["Tiếng Sarmatia nguyên thủy"] = "xsc-sar-pro", ["Tiếng Sasak"] = "sas", ["Tiếng Saurashtra"] = "saz", ["Tiếng Savi"] = "sdg", ["Tiếng Saxon Transylvania"] = "gmw-tsx", ["Tiếng Saxon cổ"] = "osx", ["Tiếng Scots"] = "sco", ["Tiếng Scots trung đại"] = "gmw-msc", ["Tiếng Scythia nguyên thủy"] = "xsc-pro", ["Tiếng Sebat Bet Gurage"] = "sgw", ["Tiếng Sechelt"] = "sec", ["Tiếng Selkup"] = "sel", ["Tiếng Selkup nguyên thủy"] = "sel-pro", ["Tiếng Semai"] = "sea", ["Tiếng Semaq Beri"] = "szc", ["Tiếng Semelai"] = "sza", ["Tiếng Semit Tây nguyên thủy"] = "sem-wes-pro", ["Tiếng Semit nguyên thủy"] = "sem-pro", ["Tiếng Semnam"] = "ssm", ["Tiếng Sena"] = "seh", ["Tiếng Seneca"] = "see", ["Tiếng Senhaja de Srair"] = "sjs", ["Tiếng Senni Humburi"] = "hmb", ["Tiếng Senni Koyraboro"] = "ses", ["Tiếng Senoufo Nyarafolo"] = "sev", ["Tiếng Serbia-Croatia"] = "sh", ["Tiếng Serer"] = "srr", ["Tiếng Seri"] = "sei", ["Tiếng Seze"] = "sze", ["Tiếng Shabak"] = "sdb", ["Tiếng Shabo"] = "sbf", ["Tiếng Shan"] = "shn", ["Tiếng Shebayo"] = "awd-she", ["Tiếng Shekkacho"] = "moy", ["Tiếng Sherpa"] = "xsr", ["Tiếng Shina"] = "scl", ["Tiếng Shina Kohistan"] = "plk", ["Tiếng Shinasha"] = "bwo", ["Tiếng Sholaga"] = "sle", ["Tiếng Shompen"] = "sii", ["Tiếng Shona"] = "sn", ["Tiếng Shor"] = "cjs", ["Tiếng Shughnan"] = "sgh", ["Tiếng Shughnan-Rushan nguyên thủy"] = "ira-shr-pro", ["Tiếng Shughnan-Yazghulom nguyên thủy"] = "ira-shy-pro", ["Tiếng Shughnan-Yazghulom-Munji nguyên thủy"] = "ira-sym-pro", ["Tiếng Shuswap"] = "shs", ["Tiếng Sicel"] = "scx", ["Tiếng Sicily"] = "scn", ["Tiếng Sidamo"] = "sid", ["Tiếng Sikkim"] = "sip", ["Tiếng Silesia"] = "szl", ["Tiếng Siltʼe"] = "stv", ["Tiếng Sinaugoro"] = "snc", ["Tiếng Sindh"] = "sd", ["Tiếng Sinhala"] = "si", ["Tiếng Sioux nguyên thủy"] = "sio-pro", ["Tiếng Siraya"] = "fos", ["Tiếng Sirenik"] = "ysr", ["Tiếng Sirmaur"] = "srx", ["Tiếng Sissala"] = "sld", ["Tiếng Sissano"] = "sso", ["Tiếng Siwi"] = "siz", ["Tiếng Siwu"] = "akp", ["Tiếng Skepi"] = "skw", ["Tiếng Slav Giáo hội"] = "zls-chs", ["Tiếng Slav Giáo hội cổ"] = "cu", ["Tiếng Slav nguyên thủy"] = "sla-pro", ["Tiếng Slav Đông cổ"] = "orv", ["Tiếng Slovak"] = "sk", ["Tiếng Slovak cổ"] = "zlw-osk", ["Tiếng Slovene"] = "sl", ["Tiếng Slovincia"] = "zlw-slv", ["Tiếng Socotra"] = "sqt", ["Tiếng Sogdia"] = "sog", ["Tiếng Sogdia nguyên thủy"] = "ira-sgc-pro", ["Tiếng Sokna"] = "swn", ["Tiếng Solon"] = "tuw-sol", ["Tiếng Solong"] = "aaw", ["Tiếng Somali"] = "so", ["Tiếng Somali nguyên thủy"] = "cus-som-pro", ["Tiếng Soninke"] = "snk", ["Tiếng Sonsorol"] = "sov", ["Tiếng Sora"] = "srb", ["Tiếng Soran"] = "ckb", ["Tiếng Sotho"] = "st", ["Tiếng Sotho Bắc"] = "nso", ["Tiếng Soyot"] = "trk-soy", ["Tiếng Squamish"] = "squ", ["Tiếng Sranan Tongo"] = "srn", ["Tiếng Stau"] = "ero-tau", ["Tiếng Sumer"] = "sux", ["Tiếng Sunda"] = "su", ["Tiếng Sunda cổ"] = "osn", ["Tiếng Suri"] = "suq", ["Tiếng Surjapur"] = "sjp", ["Tiếng Susu"] = "sus", ["Tiếng Svan"] = "sva", ["Tiếng Swahili"] = "sw", ["Tiếng Swazi"] = "ss", ["Tiếng Sylhet"] = "syl", ["Tiếng Syriac cổ điển"] = "syc", ["Tiếng Sán Chay"] = "mlc", ["Tiếng Séc"] = "cs", ["Tiếng Séc cổ"] = "zlw-ocs", ["Tiếng Sô"] = "sss", ["Tiếng Taabwa"] = "tap", ["Tiếng Tabasaran"] = "tab", ["Tiếng Tachawit"] = "shy", ["Tiếng Tadyawan"] = "tdy", ["Tiếng Tafi"] = "tcd", ["Tiếng Tagal Murut"] = "mvv", ["Tiếng Tagalog"] = "tl", ["Tiếng Tagbanwa Calamian"] = "tbk", ["Tiếng Tagdal"] = "tda", ["Tiếng Tagoi"] = "tag", ["Tiếng Tahiti"] = "ty", ["Tiếng Tahltan"] = "tht", ["Tiếng Tai Loi"] = "tlq", ["Tiếng Tai Tây Nam nguyên thủy"] = "tai-swe-pro", ["Tiếng Taivoan"] = "tvx", ["Tiếng Tajik"] = "tg", ["Tiếng Tal"] = "tal", ["Tiếng Tala"] = "tak", ["Tiếng Talossa"] = "tzl", ["Tiếng Talysh"] = "tly", ["Tiếng Tamang Gorkha Đông"] = "tge", ["Tiếng Tamang Tây"] = "tdg", ["Tiếng Tamang Đông"] = "taj", ["Tiếng Tamazight Maroc chuẩn"] = "zgh", ["Tiếng Tamazight Trung Atlas"] = "tzm", ["Tiếng Tamil"] = "ta", ["Tiếng Tamil cổ"] = "oty", ["Tiếng Tamki"] = "tax", ["Tiếng Tammari"] = "tbz", ["Tiếng Tampuan"] = "tpu", ["Tiếng Tanchangya"] = "tnv", ["Tiếng Tangkhul Naga"] = "nmf", ["Tiếng Tangoa"] = "tgp", ["Tiếng Tangut"] = "txg", ["Tiếng Tanimbili"] = "tbe", ["Tiếng Taos"] = "twf", ["Tiếng Tapirapé"] = "taf", ["Tiếng Tara Baka"] = "bdh", ["Tiếng Tarantino"] = "roa-tar", ["Tiếng Tariana"] = "tae", ["Tiếng Tarifit"] = "rif", ["Tiếng Tasawaq"] = "twq", ["Tiếng Tashelhit"] = "shi", ["Tiếng Tat"] = "ttt", ["Tiếng Tat-Do Thái"] = "jdt", ["Tiếng Tatar"] = "tt", ["Tiếng Tiên Ti"] = "mis-xbi", ["Tiếng Tatar Crưm"] = "crh", ["Tiếng Tatar Siberia"] = "sty", ["Tiếng Tatuyo"] = "tav", ["Tiếng Taungyo"] = "tco", ["Tiếng Tause"] = "tad", ["Tiếng Tausug"] = "tsg", ["Tiếng Tavoy"] = "tvn", ["Tiếng Tay Dọ"] = "tyj", ["Tiếng Tayma"] = "sem-tay", ["Tiếng Taz"] = "zhx-taz", ["Tiếng Taznatit"] = "grr", ["Tiếng Taíno"] = "tnq", ["Tiếng Tchad nguyên thủy"] = "cdc-pro", ["Tiếng Telugu"] = "te", ["Tiếng Telugu cổ"] = "dra-ote", ["Tiếng Tem"] = "kdh", ["Tiếng Temiar"] = "tea", ["Tiếng Temoq"] = "tmo", ["Tiếng Ten'edn"] = "tnz", ["Tiếng Tengger"] = "tes", ["Tiếng Tenharim"] = "pah", ["Tiếng Tepehua Tlachichilco"] = "tpt", ["Tiếng Tepehuan Bắc"] = "ntp", ["Tiếng Tepehuan Đông Nam"] = "stp", ["Tiếng Teressa"] = "tef", ["Tiếng Teribe"] = "tfr", ["Tiếng Ternate"] = "tft", ["Tiếng Tetserret"] = "tez", ["Tiếng Tetum"] = "tet", ["Tiếng Thachanad"] = "thn", ["Tiếng Thavưng"] = "thm", ["Tiếng Thompson"] = "thp", ["Tiếng Thracia"] = "txh", ["Tiếng Thác Bạt"] = "qfa-xgx-tuo", ["Tiếng Thái"] = "th", ["Tiếng Thái Hàng Tổng"] = "tpo", ["Tiếng Thái Lai"] = "tjl", ["Tiếng Thái Na"] = "tdd", ["Tiếng Thái Trắng"] = "twh", ["Tiếng Thái Tống"] = "soa", ["Tiếng Thái nguyên thủy"] = "tai-pro", ["Tiếng Thái Đen"] = "blt", ["Tiếng Thái Đỏ"] = "tyr", ["Tiếng Thát Mai"] = "smh", ["Tiếng Thượng Kinabatangan"] = "dmg", ["Tiếng Thượng Sorb"] = "hsb", ["Tiếng Thổ"] = "tou", ["Tiếng Thổ Dục Hồn"] = "qfa-xgx-tuh", ["Tiếng Thổ Gia Bắc"] = "tji", ["Tiếng Thổ Gia Nam"] = "tjs", ["Tiếng Thổ Nhĩ Kỳ"] = "tr", ["Tiếng Thổ Nhĩ Kỳ Anatolia cổ"] = "trk-oat", ["Tiếng Thổ Nhĩ Kỳ Gagauz Balkan"] = "bgx", ["Tiếng Thổ Nhĩ Kỳ Ottoman"] = "ota", ["Tiếng Thụy Điển"] = "sv", ["Tiếng Thụy Điển cổ"] = "gmq-osw", ["Tiếng Thủy"] = "swi", ["Tiếng Tiang"] = "tbj", ["Tiếng Tigre"] = "tig", ["Tiếng Tigrinya"] = "ti", ["Tiếng Tindi"] = "tin", ["Tiếng Tipai"] = "nai-tip", ["Tiếng Tippera"] = "tpe", ["Tiếng Tiruray"] = "tiy", ["Tiếng Tiwa"] = "lax", ["Tiếng Tiwi"] = "tiw", ["Tiếng Tiên Ti"] = "qfa-xgx-xbi", ["Tiếng Tlapanec Malinaltepec"] = "tcf", ["Tiếng Tlingit"] = "tli", ["Tiếng Tobi"] = "tox", ["Tiếng Tochari A"] = "xto", ["Tiếng Tochari B"] = "txb", ["Tiếng Tochari nguyên thủy"] = "ine-toc-pro", ["Tiếng Tocho"] = "taz", ["Tiếng Toda"] = "tcx", ["Tiếng Tofa"] = "kim", ["Tiếng Tok Pisin"] = "tpi", ["Tiếng Tokelau"] = "tkl", ["Tiếng Toki Pona"] = "tok", ["Tiếng Tokunoshima"] = "tkn", ["Tiếng Toma"] = "tod", ["Tiếng Tonga"] = "to", ["Tiếng Tonkawa"] = "tqw", ["Tiếng Tooro"] = "ttj", ["Tiếng Torwali"] = "trw", ["Tiếng Toto"] = "txo", ["Tiếng Totonac Papantla"] = "top", ["Tiếng Totonac cao nguyên"] = "tos", ["Tiếng Triqui Chicahuaxtla"] = "trs", ["Tiếng Triqui Copala"] = "trc", ["Tiếng Triqui San Martín Itunyoso"] = "trq", ["Tiếng Triqui nguyên thủy"] = "omq-tri-pro", ["Tiếng Trió"] = "tri", ["Tiếng Triều Châu"] = "nan-tws", ["Tiếng Triều Tiên"] = "ko", ["Tiếng Triều Tiên cổ"] = "oko", ["Tiếng Triều Tiên nguyên thủy"] = "qfa-kor-pro", ["Tiếng Triều Tiên trung đại"] = "okm", ["Tiếng Truku"] = "trv", ["Tiếng Trung Bikol"] = "bcl", ["Tiếng Trung Dusun"] = "dtp", ["Tiếng Trung Mansi"] = "mns-cen", ["Tiếng Trung Nahuatl"] = "nhn", ["Tiếng Trung Nahuatl Huasteca"] = "nch", ["Tiếng Trung Nahuatl Puebla"] = "ncx", ["Tiếng Trung Quốc"] = "zh", ["Tiếng Trà Động"] = "cdy", ["Tiếng Trác Ni"] = "cda", ["Tiếng Tráng"] = "za", ["Tiếng Tráng Nông"] = "zhn", ["Tiếng Tráng Tả Giang"] = "zzj", ["Tiếng Tráng Đức Tĩnh"] = "zyg", ["Tiếng Trát Bá"] = "zhb", ["Tiếng Tsakhur"] = "tkr", ["Tiếng Tsakonia"] = "tsd", ["Tiếng Tsamai"] = "tsb", ["Tiếng Tsat"] = "huq", ["Tiếng Tsez"] = "ddo", ["Tiếng Tshangla"] = "tsj", ["Tiếng Tsimshian"] = "tsi", ["Tiếng Tsonga"] = "ts", ["Tiếng Tsou"] = "tsu", ["Tiếng Tsuut'ina"] = "srs", ["Tiếng Tswana"] = "tn", ["Tiếng Tuamotu"] = "pmt", ["Tiếng Tuareg"] = "tmh", ["Tiếng Tukang Besi Bắc"] = "khc", ["Tiếng Tukang Besi Nam"] = "bhq", ["Tiếng Tuki"] = "bag", ["Tiếng Tulu"] = "tcy", ["Tiếng Tumbuka"] = "tum", ["Tiếng Tungus nguyên thủy"] = "tuw-pro", ["Tiếng Tunica"] = "tun", ["Tiếng Tunni"] = "tqq", ["Tiếng Tupi"] = "tpn", ["Tiếng Tupi cổ"] = "tpw", ["Tiếng Tupi nguyên thủy"] = "tup-pro", ["Tiếng Tupi-Guarani nguyên thủy"] = "tup-gua-pro", ["Tiếng Turk Khorasan"] = "kmz", ["Tiếng Turk Khorezm"] = "zkh", ["Tiếng Turk cổ"] = "otk", ["Tiếng Turk nguyên thủy"] = "trk-pro", ["Tiếng Turkmen"] = "tk", ["Tiếng Turoyo"] = "tru", ["Tiếng Tuva"] = "tyv", ["Tiếng Tuvalu"] = "tvl", ["Tiếng Tuwuli"] = "bov", ["Tiếng Tyap"] = "kcg", ["Tiếng Tzotzil"] = "tzo", ["Tiếng Tà Mun"] = "aav-tam", ["Tiếng Tà Ôi Thượng"] = "tth", ["Tiếng Tày"] = "tyz", ["Tiếng Tày Sa Pa"] = "tys", ["Tiếng Tân Aram Assyria"] = "aii", ["Tiếng Tân Aram Bohtan"] = "bhn", ["Tiếng Tân Aram Chaldea"] = "cld", ["Tiếng Tân Aram Do Thái Barzani"] = "bjf", ["Tiếng Tân Aram Tây"] = "amw", ["Tiếng Tây Abenaki"] = "abe", ["Tiếng Tây Ban Nha"] = "es", ["Tiếng Tây Ban Nha cổ"] = "osp", ["Tiếng Tây Bắc Gbaya"] = "gya", ["Tiếng Tây Bắc Kavkaz nguyên thủy"] = "cau-nwc-pro", ["Tiếng Tây Bồi"] = "tas", ["Tiếng Tây Duyên hải Bajau"] = "bdr", ["Tiếng Tây Frisia"] = "fy", ["Tiếng Tây Huasteca Nahuatl"] = "nhw", ["Tiếng Tây Kayah"] = "kyu", ["Tiếng Tây Makian"] = "mqs", ["Tiếng Tây Tạng"] = "bo", ["Tiếng Tây Tạng Kham"] = "khg", ["Tiếng Tây Tạng cổ điển"] = "xct", ["Tiếng Tây Yugur"] = "ybe", ["Tiếng Tích Bá"] = "sjo", ["Tiếng Tơ Đrá"] = "tdr", ["Tiếng Tương"] = "hsn", ["Tiếng Tấn"] = "cjy", ["Tiếng Tứ Thổ"] = "sit-sit", ["Tiếng Tứ Xuyên"] = "zhx-sic", ["Tiếng U"] = "uuu", ["Tiếng Ubangi nguyên thủy"] = "nic-ubg-pro", ["Tiếng Ubykh"] = "uby", ["Tiếng Udi"] = "udi", ["Tiếng Udihe"] = "ude", ["Tiếng Udmurt"] = "udm", ["Tiếng Uduk"] = "udu", ["Tiếng Ugarit"] = "uga", ["Tiếng Ugong"] = "ugo", ["Tiếng Ugria nguyên thủy"] = "urj-ugr-pro", ["Tiếng Ukraina"] = "uk", ["Tiếng Ulch"] = "ulc", ["Tiếng Ullatan"] = "ull", ["Tiếng Umbria"] = "xum", ["Tiếng Umbundu"] = "umb", ["Tiếng Unami"] = "unm", ["Tiếng Uneapa"] = "bbn", ["Tiếng Urak Lawoi'"] = "urk", ["Tiếng Ural nguyên thủy"] = "urj-pro", ["Tiếng Urali"] = "url", ["Tiếng Urartu"] = "xur", ["Tiếng Urdu"] = "ur", ["Tiếng Uripiv-Wala-Rano-Atchin"] = "upv", ["Tiếng Urubú-Kaapor"] = "urb", ["Tiếng Urum"] = "uum", ["Tiếng Ushojo"] = "ush", ["Tiếng Usui"] = "usi", ["Tiếng Ute-Aztec nguyên thủy"] = "azc-pro", ["Tiếng Uvbie"] = "evh", ["Tiếng Uzbek"] = "uz", ["Tiếng Vaagri Booli"] = "vaa", ["Tiếng Vaghri"] = "vgr", ["Tiếng Varli"] = "vav", ["Tiếng Vasavi"] = "vas", ["Tiếng Venda"] = "ve", ["Tiếng Veneti"] = "xve", ["Tiếng Veneto"] = "vec", ["Tiếng Veps"] = "vep", ["Tiếng Vishava"] = "vis", ["Tiếng Việt"] = "vi", ["Tiếng Việt trung cổ"] = "mkh-mvi", ["Tiếng Việt-Mường nguyên thủy"] = "mkh-vie-pro", ["Tiếng Volapük"] = "vo", ["Tiếng Volsci"] = "xvo", ["Tiếng Volta-Congo nguyên thủy"] = "nic-vco-pro", ["Tiếng Volta-Niger nguyên thủy"] = "alv-von-pro", ["Tiếng Vot"] = "vot", ["Tiếng Vurës"] = "msn", ["Tiếng Võro"] = "vro", ["Tiếng Văn ngôn"] = "lzh", ["Tiếng Waama"] = "wwa", ["Tiếng Waata"] = "ssn", ["Tiếng Wagi"] = "fad", ["Tiếng Wahgi"] = "wgi", ["Tiếng Waimaha"] = "bao", ["Tiếng Waiwai"] = "waw", ["Tiếng Wakhi"] = "wbl", ["Tiếng Wales"] = "cy", ["Tiếng Wales trung đại"] = "wlm", ["Tiếng Wallis"] = "wls", ["Tiếng Wallon"] = "wa", ["Tiếng Wambule"] = "wme", ["Tiếng Wancho"] = "nnp", ["Tiếng Waneci"] = "wne", ["Tiếng War-Jaintia"] = "aml", ["Tiếng Waray"] = "war", ["Tiếng Wardaman"] = "wrr", ["Tiếng Warekena"] = "gae", ["Tiếng Warji"] = "wji", ["Tiếng Wastek"] = "hus", ["Tiếng Wawonii"] = "wow", ["Tiếng Wayampi"] = "oym", ["Tiếng Wayana"] = "way", ["Tiếng Wayuu"] = "guc", ["Tiếng Wemba-Wemba"] = "xww", ["Tiếng Wewaw"] = "wea", ["Tiếng Wiradjuri"] = "wrh", ["Tiếng Wiyot"] = "wiy", ["Tiếng Wobé"] = "wob", ["Tiếng Woiwurrung"] = "wyi", ["Tiếng Wolane"] = "wle", ["Tiếng Wolaytta"] = "wal", ["Tiếng Wolio"] = "wlo", ["Tiếng Wolof"] = "wo", ["Tiếng Wotu"] = "wtw", ["Tiếng Wymysorys"] = "wym", ["Tiếng Xamtanga"] = "xan", ["Tiếng Xavante"] = "xav", ["Tiếng Xhosa"] = "xh", ["Tiếng Xinh Mun"] = "puo", ["Tiếng Xtiêng"] = "sti", ["Tiếng Xtiêng Bù Đeh"] = "stt", ["Tiếng Xârâcùù"] = "ane", ["Tiếng Xơ Đăng"] = "sed", ["Tiếng Yaaku"] = "muu", ["Tiếng Yaeyama"] = "rys", ["Tiếng Yaghnob"] = "yai", ["Tiếng Yakan"] = "yka", ["Tiếng Yakima"] = "yak", ["Tiếng Yakkha"] = "ybh", ["Tiếng Yakut"] = "sah", ["Tiếng Yali Angguruk"] = "yli", ["Tiếng Yami"] = "tao", ["Tiếng Yamphu"] = "ybi", ["Tiếng Yanesha'"] = "ame", ["Tiếng Yanyuwa"] = "jao", ["Tiếng Yao (Nam Mĩ)"] = "sai-yao", ["Tiếng Yao (châu Phi)"] = "yao", ["Tiếng Yap"] = "yap", ["Tiếng Yapunda"] = "yev", ["Tiếng Yazghulom"] = "yah", ["Tiếng Ye'kwana"] = "mch", ["Tiếng Yele"] = "yle", ["Tiếng Yemsa"] = "jnj", ["Tiếng Yevan"] = "yej", ["Tiếng Yiddish"] = "yi", ["Tiếng Yidgha"] = "ydg", ["Tiếng Yidiny"] = "yii", ["Tiếng Yindjibarndi"] = "yij", ["Tiếng Yiwom"] = "gek", ["Tiếng Yogad"] = "yog", ["Tiếng Yola"] = "yol", ["Tiếng Yolmo"] = "scp", ["Tiếng Yom"] = "pil", ["Tiếng Yonaguni"] = "yoi", ["Tiếng Yong"] = "yno", ["Tiếng Yongkom"] = "yon", ["Tiếng Yoron"] = "yox", ["Tiếng Yoruba"] = "yo", ["Tiếng Yoruba nguyên thủy"] = "alv-yor-pro", ["Tiếng Yorubo nguyên thủy"] = "alv-yrd-pro", ["Tiếng Yoy"] = "yoy", ["Tiếng Yugh"] = "yug", ["Tiếng Yukaghir nguyên thủy"] = "qfa-yuk-pro", ["Tiếng Yup'ik"] = "esu", ["Tiếng Yupik Trung Siberia"] = "ess", ["Tiếng Yuri"] = "sai-yri", ["Tiếng Yurok"] = "yur", ["Tiếng Yámana"] = "yag", ["Tiếng Zacatepec Chatino"] = "ctz", ["Tiếng Zaghawa"] = "zag", ["Tiếng Zaiwa"] = "atb", ["Tiếng Zangskar"] = "zau", ["Tiếng Zapotec"] = "zap", ["Tiếng Zapotec Cajonos"] = "zad", ["Tiếng Zapotec Isthmus"] = "zai", ["Tiếng Zapotec Mitla"] = "zaw", ["Tiếng Zapotec Rincón"] = "zar", ["Tiếng Zapotec Rincón Nam"] = "zsr", ["Tiếng Zapotec San Juan Guelavía"] = "zab", ["Tiếng Zapotec Yatee"] = "zty", ["Tiếng Zapotec Yatzachi"] = "zav", ["Tiếng Zapotec Zaniza"] = "zpw", ["Tiếng Zapotec Zoogocho"] = "zpq", ["Tiếng Zapotec nguyên thủy"] = "omq-zpc-pro", ["Tiếng Zarma"] = "dje", ["Tiếng Zarphat"] = "zrp", ["Tiếng Zay"] = "zwa", ["Tiếng Zayse-Zergulla"] = "zay", ["Tiếng Zaza"] = "zza", ["Tiếng Zaza-Goran nguyên thủy"] = "ira-zgr-pro", ["Tiếng Zeeland"] = "zea", ["Tiếng Zenaga"] = "zen", ["Tiếng Zirenkel"] = "zrn", ["Tiếng Zoque Francisco León"] = "zos", ["Tiếng Zou"] = "zom", ["Tiếng Zulu"] = "zu", ["Tiếng Zumbun"] = "jmb", ["Tiếng Äynu"] = "aib", ["Tiếng Ê Đê"] = "rad", ["Tiếng Ông Bối nguyên thủy"] = "qfa-onb-pro", ["Tiếng Önge"] = "oon", ["Tiếng Önge nguyên thủy"] = "qfa-ong-pro", ["Tiếng Övdal"] = "ovd", ["Tiếng Ý"] = "it", ["Tiếng Ý-Do Thái"] = "itk", ["Tiếng Đa Đảo hạt nhân nguyên thủy"] = "poz-pnp-pro", ["Tiếng Đa Đảo nguyên thủy"] = "poz-pol-pro", ["Tiếng Đa Đảo Đông nguyên thủy"] = "poz-pep-pro", ["Tiếng Đan Mạch"] = "da", ["Tiếng Đan Mạch cổ"] = "gmq-oda", ["Tiếng Đài Sơn"] = "zhx-tai", ["Tiếng Đông Abenaki"] = "aaq", ["Tiếng Đông Acipa"] = "acp", ["Tiếng Đông Bontoc"] = "ebk", ["Tiếng Đông Bắc Kavkaz nguyên thủy"] = "cau-nec-pro", ["Tiếng Đông Can"] = "dng", ["Tiếng Đông Futuna"] = "fud", ["Tiếng Đông Hương"] = "sce", ["Tiếng Đông Kayah"] = "eky", ["Tiếng Đông Khanty"] = "kca-eas", ["Tiếng Đông Yugur"] = "yuy", ["Tiếng Đường Uông"] = "zhx-twa", ["Tiếng Đại Tây Dương–Congo nguyên thủy"] = "alv-pro", ["Tiếng Độc Long"] = "duu", ["Tiếng Động-Thủy nguyên thủy"] = "qfa-kms-pro", ["Tiếng Đức"] = "de", ["Tiếng Đức Alemanni"] = "gsw", ["Tiếng Đức Pennsylvania"] = "pdc", ["Tiếng Đức cao địa cổ"] = "goh", ["Tiếng Đức cao địa trung đại"] = "gmh", ["Tiếng Đức Đông Trung"] = "gmw-ecg", ["Tiếng Ơ Đu"] = "tyh", ["Tiếng Ưu Miền"] = "ium", ["Tiếng ǃXóõ"] = "nmn", ["Tiếng Ả Rập"] = "ar", ["Tiếng Ả Rập Ai Cập"] = "arz", ["Tiếng Ả Rập Algérie"] = "arq", ["Tiếng Ả Rập Andalusia"] = "xaa", ["Tiếng Ả Rập Bắc Levant"] = "apc", ["Tiếng Ả Rập Bắc Lưỡng Hà"] = "ayp", ["Tiếng Ả Rập Hijazi"] = "acw", ["Tiếng Ả Rập Iraq"] = "acm", ["Tiếng Ả Rập Juba"] = "pga", ["Tiếng Ả Rập Libya"] = "ayl", ["Tiếng Ả Rập Maroc"] = "ary", ["Tiếng Ả Rập Nam Levant"] = "ajp", ["Tiếng Ả Rập Oman"] = "acx", ["Tiếng Ả Rập Sudan"] = "apd", ["Tiếng Ả Rập Síp"] = "acy", ["Tiếng Ả Rập Tajikistan"] = "abh", ["Tiếng Ả Rập Tchad"] = "shu", ["Tiếng Ả Rập Tunisia"] = "aeb", ["Tiếng Ả Rập Uzbekistan"] = "auz", ["Tiếng Ả Rập vùng Vịnh"] = "afb", ["Tiếng Ấn-Arya nguyên thủy"] = "inc-pro", ["Tiếng Ấn-Iran nguyên thủy"] = "iir-pro", ["Tiếng Ấn-Âu nguyên thủy"] = "ine-pro", ["Tiếng Ỹaroamë"] = "yro", ["Àhàn"] = "ahn", ["Áncá"] = "acb", ["Ömie"] = "aom", ["Đa ngữ"] = "mul", ["ǀXam"] = "xam", ["ǁAni"] = "hnh", ["ǁGana"] = "gnk", ["ǁXegwi"] = "xeg", ["ǂHoan"] = "huc", ["ǃKung"] = "khi-kun", } rvgho8d0bz0cw26tl49jqkysv03923h Mô đun:gender and number/data 828 275142 2573339 2363201 2026-10-25T09:43:50Z Hiyuune 50834 2573339 Scribunto text/plain local data = {} local insert = table.insert -- A list of all possible "parts" that a specification can be made out of. For each part, we list -- the class it's in (gender, animacy, etc.), the associated category (if any) and the display form. -- In a given gender/number spec, only one part of each class is allowed. data.codes = { ["?"] = {type = "other", display = '<abbr title="thiếu giống">?</abbr>'}, -- FIXME: The following should be either eliminated in favor of g! or converted to a general "gender/number unattested". ["?!"] = {type = "other", display = '<abbr title="giống chưa được chứng thực">gender unattested</abbr>'}, -- Genders ["m"] = {type = "gender", cat = "POS giống đực", display = '<abbr title="giống đực">gđ</abbr>'}, ["f"] = {type = "gender", cat = "POS giống cái", display = '<abbr title="giống cái">gc</abbr>'}, ["n"] = {type = "gender", cat = "POS giống trung", display = '<abbr title="giống trung">gt</abbr>'}, ["c"] = {type = "gender", cat = "POS giống chung", display = '<abbr title="giống chung">gch</abbr>'}, ["gneut"] = {type = "gender", cat = "gender-neutral POS", display = '<abbr title="gender-neutral">gender-neutral</abbr>'}, ["g!"] = {type = "gender", display = '<abbr title="gender unattested">giống chưa được chứng thực</abbr>'}, -- Animacy -- Animate = either animal or personal (for Russian, etc.) ["an"] = {type = "animacy", cat = "POS hữu sinh", display = '<abbr title="hữu sinh">hs</abbr>'}, ["in"] = {type = "animacy", cat = "POS vô sinh", display = '<abbr title="vô sinh">vs</abbr>'}, -- Animal (for Ukrainian, Belarusian, Polish, etc.) ["anml"] = {type = "animacy", cat = "POS hữu sinh chỉ động vật", display = '<abbr title="hữu sinh chỉ động vật">động vật</abbr>'}, -- Personal (for Ukrainian, Belarusian, Polish, etc.) ["pr"] = {type = "animacy", cat = "POS hữu sinh chỉ người", display = '<abbr title="hữu sinh chỉ người">người</abbr>'}, ["np"] = {type = "animacy", cat = "nonpersonal POS", display = '<abbr title="nonpersonal">npers</abbr>'}, ["an!"] = {type = "animacy", display = '<abbr title="animacy unattested">animacy unattested</abbr>'}, ["an?"] = {type = "animacy", req = true, display = "không xác định"}, -- Virility (for Polish) ["vr"] = {type = "virility", cat = "virile POS", display = '<abbr title="virile (= masculine personal)">vir</abbr>'}, ["nv"] = {type = "virility", cat = "nonvirile POS", display = '<abbr title="nonvirile (= other than masculine personal)">nvir</abbr>'}, -- Numbers ["s"] = {type = "number", display = '<abbr title="số ít">si</abbr>'}, ["d"] = {type = "number", cat = "chỉ có số đôi", display = '<abbr title="số đôi">sđ</abbr>'}, ["p"] = {type = "number", cat = "Danh từ chỉ có số nhiều", display = '<abbr title="số nhiều">sn</abbr>'}, ["num!"] = {type = "number", display = '<abbr title="number unattested">number unattested</abbr>'}, -- Verb qualifiers ["impf"] = {type = "aspect", cat = "POS chưa hoàn thành", display = '<abbr title="thể chưa hoàn thành">chưa h.thành</abbr>'}, ["pf"] = {type = "aspect", cat = "POS hoàn thành", display = '<abbr title="thể hoàn thành">h.thành</abbr>'}, ["asp!"] = {type = "aspect", display = '<abbr title="aspect unattested">aspect unattested</abbr>'}, } -- Combined codes that are equivalent to giving multiple specs. `mf` is the same as specifying two separate specs, -- one with `m` in it and the other with `f`. `mfbysense` is similar but is used for nouns that can be either masculine -- or feminine according as to whether they refer to masculine or feminine beings. local combinations = { ["biasp"] = {codes = {"impf", "pf"}}, ["anin"] = {codes = {"an", "in"}}, -- "bianimate" doesn't exist as a linguistic term } for _, comb in ipairs{"mf", "mn", "fm", "fn", "cn", "nm", "nf", "nc", "mfn", "mnf", "fmn", "fnm", "nmf", "nfm"} do local codes = {} for ch in comb:gmatch(".") do insert(codes, ch) end combinations[comb] = {codes = codes} combinations[comb .. "equiv"] = {codes = codes, display = '<abbr title="theo giống nhưng nghĩa không đổi">gần nghĩa</abbr>'} if comb == "mf" or comb == "fm" then combinations[comb .. "bysense"] = {codes = codes, cat = "POS giống đực và giống cái theo nghĩa", display = '<abbr title="theo giống của thứ nói đến">theo nghĩa</abbr>'} end end data.combinations = combinations -- Categories when multiple gender/number codes of a given type occur in different specs (two or more of the same type -- cannot occur in a single spec). data.multicode_cats = { ["gender"] = "POS có nhiều giống", ["animacy"] = "POS with multiple animacies", ["aspect"] = "biaspectual POS", } return data 4cuc8f5munnvw2igyu1h8hafll3aj1m Thể loại:Mục từ tiếng Nhật thượng cổ 14 280044 2573250 2321802 2026-10-24T14:04:06Z Hiyuune 50834 Hiyuune đã đổi [[Thể loại:Mục từ tiếng Nhật cổ]] thành [[Thể loại:Mục từ tiếng Nhật thượng cổ]] 2321802 wikitext text/x-wiki {{auto cat}} eomzlm5v4j7ond1phrju7cnue91g5qx Mô đun:place/locations 828 282249 2573192 2573020 2026-10-24T12:13:26Z TheHighFighter2 42988 2573192 Scribunto text/plain local export = {} export.force_cat = false -- set to true to force category generation even on non-mainspace pages local m_table = require("Module:table") local string_utilities_module = "Module:string utilities" local en_utilities_module = "Module:en-utilities" local insert = table.insert local concat = table.concat local dump = mw.dumpObject local unpack = unpack or table.unpack -- Lua 5.2 compatibility --[==[ intro: This module contains data on all known locations, along with some lower-level code to process them (higher-level known-location code is in [[Module:place/placetypes]]). You must load this module using require(), not using mw.loadData(). ===Location data=== '''NOTE: In order to understand the following better, first read the introductory documentation in [[Module:place]], especially the section `More about known locations`.''' The bulk of the code in this module (after some helper functions and placetype tables) describes the known locations and their relationships. Locations are grouped into ''location groups'' that share some common properties (examples are states of the United States and cities in Brazil). Each location group is associated with two tables, a ''data table'' that lists the locations and their individual properties, and a ''metadata table'' that lists group-level properties and defaults for the location properties. Each metadata table points to the associated data table (i.e. contains the data table as its `data` field), and the global `locations` variable holds a list of all group metadata tables. A given location is generally described by three values: (a) the group metadata table for the group the location is part of; (b) the location's canonical ''key'', which is the actual key in the group's data table and is globally unique across all locations; and (c) the location's ''spec'', which is the initialized object describing the properties of the location and comes from the value in the data table corresponding to the canonical key, transformed by the `initialize_spec()` function. These are typically named `group`, `key` and `spec`, respectively and in that order, and are found in the arguments to many functions. In a per-group data table, the keys are either ''canonical keys'' describing locations (which, as mentioned above, must be globally unique) or ''alias keys'' specifying an allowed alias for a given location. There may be multiple aliases for a given location and the alias keys only need to be unique within a particular group data table, not across all groups. It is also possible for the same string to serve as an alias key in one group and a canonical key in another group. (For example, `Newcastle` appears as an alias key in two different groups, referring to two different locations, canonically known as `Newcastle upon Tyne`, for the city in England, and `Newcastle, New South Wales`, for the city in New South Wales, Úc; and `Birmingham` appears both as a canonical key in the group of English cities and an alias key for canonical `Birmingham, Alabama` in the group of US cities.) The corresponding value objects are different for canonical and alias keys. Corresponding to canonical keys are ''location specs'', describing the properies of the location that cannot be derived from default properties of the group or global defaults. Corresponding to alias keys are ''alias specs'', which are highly restricted in the properties they can contain, and whose properties do not have per-group defaults, but only global defaults. The canonical key is always the same as the bare category corresponding to the location, which is one of the reasons it must be globally unique. For example, the country of Georgia uses the canonical key `Georgia` and corresponding bare category [[:Category:Georgia]], while the US state of Georgia uses the canonical key `Georgia, USA` and corresponding bare category [[:Category:Georgia, USA]]. The following conventions are followed in naming keys: * Countries, ''country-like entities'' (which are a mixture of unrecognized de-facto states and dependent territories) and ''former countries'' (which also includes other types of polities, such as the Roman Empire) use their unqualified placename as the canonical key. (See the documentation for [[Module:place]] for the distinction between keys and placenames, which is critical to understand when working with location data.) This also applies to constituent countries (such as England, Aruba and the Faroe Islands) and constituent parts of grouped dependent territories (such as the island of Saint Helena, which is administratively part of the British overseas territory of Saint Helena, Ascension and Tristan da Cunha). * Cities (including prefecture-level cities in China, which behave in most respects more like non-city administrative divisions) also normally use their unqualified placename as the canonical key, but if this causes name conflicts or ambiguities, they use a ''qualified key'' containing either the country name or immediate containing division (if different) following a comma, such as the case of `Newcastle, New South Wales` and `Birmingham, Alabama` above. Examples of name conflicts are the two cities just given; examples of ambiguities are the major cities of León and Mérida in Mexico and city of Cartagena, Colombia, which are given the respective canonical keys of `León, Guanajuato`, `Mérida, Yucatán` and `Cartagena, Colombia` to avoid ambiguity with the well-known respective cities of the same name in Spain, even though none of those cities are large enough to be included as known locations in this module. (The cutoff is generally having a metro area of at least 1,000,000 inhabitants, although there are exceptions.) * Administrative divisions of countries, other than the exceptions noted above for constituent countries and dependent territories, use a qualified key that contains the name of the country or constituent country in it, e.g. `Normandy, France` (a region), `Calvados, France` (a department in the region of Normandy), `Herefordshire, England` (a ceremonial county), `Northwest Territories, Canada` (a territory), `Central Finland, Finland` (a region), `Antalya Province, Turkey` (a province), `Cluj County, Romania` (a county), `County Cork, Ireland` (a county) and `New York, USA` (a state). As shown in these various examples, (a) first and second-level divisions are sometimes both included (as in France, the United Kingdom and China); (b) the qualifier after the comma is sometimes a constituent country (England) instead of a country (United Kingdom), and is sometimes abbreviated (USA rather than United States or Unites States of America); (c) the word `the` is not normally included in the key even if the location is normally preceded by `the` when following a preposition (there is a property in the location and alias specs to indicate this), except in a very few cases (most notably `The Hague`); (d) the country is included as a qualifier even if it creates an apparent redundancy, as with `Central Finland, Finland`; and (e) sometimes the placetype is included in the key, as with provinces in Turkey and several other countries; states in Nigeria; and counties in Ireland, Romania and several other countries. Whether the placetype is included, and whether it follows or precedes the placename, depends on per-country conventions. For example, provinces in Turkey, Iran and several other countries (likewise for states in Nigeria, oblasts in Russia, etc.) conventionally include the word "Province", "State", "Oblast" etc. in their name because they are normally named after the largest city in the division, which would otherwise lead to ambiguity; and counties in Ireland and Northern Ireland (and likewise County Durham, England) normally have the word "County" preceding rather than following them in their conventional name, so we follow this practice. The Wikipedia article naming scheme for a given administrative division is a strong clue as to how the division is normally referred to, and we usually follow this practice. (A minor exception is that the Wikipedia articles for provinces in Iran, Laos and Thailand include the word `province` with an initial lowercase letter while provinces elsewhere, e.g. North and South Korea, Saudi Arabia and Turkey, use uppercase `Province`; we normalize to uppercase `Province` in all cases.) As mentioned above, associated with canonical keys in the group data table are location specs, which are objects containing properties. It is important here to distinguish ''initialized specs'' from ''uninitialized specs''. Unininitialized specs are as directly specified in [[Module:place/locations]], containing only those properties that differ from the per-group or global defaults. Initialized specs result from calling `initialize_spec()` on an uninitialized spec (it is idempotent in that it will do nothing if encountering an already-initialized spec). This copies all group-level defaults that are not overridden in the location spec itself from the group-level metadata table into the location spec, so that in general, no more reference need be made to the group to fetch the correct value of a given location property. (The initialization process also does more transformations in a few cases, noted below.) Note that the default value of a given property is stored under a key in the group metadata table that is preceded by the string `default_`; for example, the default value corresponding to the `placetype` property of a given location is specified in the `default_placetype` key in the group metadata table. The following are the properties of the location spec. * `placetype`: String specifying the placetype of the location (e.g. "quốc gia", "state", province"). This can also be a table of such types; in this case, the first listed type is the canonical type that will be used in descriptions, but the location will be recognized (e.g. in a holonym, or for categorizing into the bare category) when tagged with any of the specified types. The placetype '''must''' be either specified on an individual location or defaulted at the group level, or an error occurs. * `container`: Either a string, a ''canonicalized container'' structure or a list of either type, specifying the immediate ''container'' (or containers) of the given location. A container is another location which this location is considered to be directly part of, either politically or (above the country level) geographically. Some locations belong to multiple immediate containers; this applies especially to transcontinental countries such as Russia and Turkey. Containers can themselves have containers, forming a tree (or more correctly, a [[w:directed acyclic graph]]) of locations. The list of immediate container(s), followed by the container(s) of the container(s), etc., is termed the ''container trail'', and some functions compute and return this trail as part of their operation. When a location spec is initialized, the given container spec is canonicalized into ''canonical container form'', which consists of a list of canonicalized container structures, each of which is of the form `{key = "``container_key``", placetype = "``container_placetype``"}`, where ``container_key`` is a canonical location key and ``container_placetype`` should be the listed placetype for the location, or the first listed placetype if there are multiple. (FIXME: Since the key uniquely identifies the container location, we should eliminate the placetype from the container structure.) The list of canonicalized container structures is stored into the `.containers` field of the location spec (this happens even if the container value is unset in its uninitialized spec form, causing it to default to the corresponding group-level value), and the `.container` field is set to {nil}. The canonicalization process is described in more detail below under [[#Container spec canonicalization]]. * `divs`: List of recognized political divisions; e.g. for the Netherlands, a specification of the form `divs = {"provinces", "municipalities"}` will allow categories such as [[:Category:de:Provinces of the Netherlands]] and [[:Category:pt:Municipalities of the Netherlands]] to be created. Any division that appears here must also be found in `placetype_data`, or an error occurs. The entities appearing in the `divs` list can be structures as well as just strings; this is explained more below under [[#Location divisions]]. Additional political divisions that apply to all locations in a group can be specified at the group level using the group-only property `addl_divs`, which has the same format as `divs`. This is intended to be used in the situation where some division types are shared among all locations in the group and others differ from location to location. An example where this is used is the United States, where `census-designated places` is specified in the group-level `addl_divs` so that all 50 states have census-designated places categorized as e.g. [[:Category:Census-designated places in Arizona, USA]], but `counties` and `county seats` are specified in the group-level `default_divs` because not all states have counties and county seats (Alaska has boroughs and borough seats and Louisiana has parishes and parish seats), and some states have additional divisions (New Jersey and Pennsylvania also have boroughs, while Colorado and Connecticut have municipalities). Note that under most circumstances (particularly, if `container_parent_type` is not set as a property associated with the division type), any division type specified on a sub-country-level location must also be specified on all containers up through the country. For example, since French departments specify `communes` and `municipalities` in `default_divs`, the same division types must be (and are) specified on French regions and for France itself. * `keydesc`: String directly specifying a description of the location, for use in generating the contents of category pages related to the location. In place of a string, a function of three arguments (`group`, `key`, `spec`, as is normal for locations) that computes the location description can also be given. This is used, for example, for Russian federal subjects; see `construct_russia_federal_subject_keydesc`. The special string `+++` contained in the keydesc is replaced with the default value of the location description, which specifies the location's placename, placetype, and the corresponding values for each container in the container trail, generally up through (but not beyond) the country level; see `no_include_container_in_desc` below. The location description is used to construct the full description of various categories, such as bare location categories, whose description generally reads `"{{(((}}langname}}} terms related to the people, culture, or territory of ``keydesc``."` where ``keydesc`` is the specified or auto-constructed location description. * `fulldesc`: String overriding the full description for the bare location category (but not for any other category). This is currently used only for the location `Earth`, at the very top of the tree (because the standard `people, culture or territory of ...` text doesn't make sense here), and for `Antarctica` (because it has no permanent inhabitants). FIXME: This should be renamed `bare_category_fulldesc`. * `addl_parents`: Specify additional parents for the bare location category, in addition to the category or categories generated based on the immediate container(s). For example, `Hawaii, USA` specifies `Polynesia` as an additional parent category; both `North Korea` and `South Korea` specify `Korea` (which is a specially handled location category) as an additional parent; and `Earth` specifies `nature` (not a location category, but still a topic category) as an additional parent (which in this case becomes the first parent, as `Earth` has no container). The only restriction on the categories in `addl_parents` is that they must be topic categories, because each language-specific version of the bare location category gets the corresponding language-specific versions of the categories in `addl_parents`. FIXME: This shoudl be renamed `bare_category_addl_parents`. * `wp`: Spec describing how to construct the Wikipedia article for the location. Each spec is either `true` (equivalent to `"%l"`, i.e. use the full location placename directly) or a string containing formatting directives, indicating how to construct the article name. The allowed formatting directives are `%l` (the full location placename), `%e` (the elliptical location placename) and `%c` (the full placename of the first immediate container). For example, the default value of `wp` for the group of United States cities is `"%l, %c"` since the city articles tend to be named e.g. `Austin, Texas` (but with many exceptions, specified using `wp` fields at the city level). Another example is Thai provinces, which specify a group-level default of `"%e province"` as the Wikipedia articles have lowercase `province` in their name but the Thai province keys specified in this module have uppercase `Province`. Here we have to use `%e` to get the placename without the word `Province` in it. The default is `true`, which simply uses the full location placename as the article name. Note that the Wikipedia article, along with the Wikipedia and Commons category pages, are shown in the upper right of bare category pages. * `wpcat`: Spec describing how to construct the Wikipedia category page for the location (i.e. the page listing articles and categories relevant to the location). The format is the same as with `wp`, and it defaults to the value of `wp`. It rarely needs to be specified because the category page and the article page almost always follow the same format. * `commonscat`: Spec describing how to construct the Commons category page for the location (i.e. the page on the MediaWiki Commons site listing articles and categories relevant to the location). It has the same format as `wp` and `wpcat` and defaults to `wpcat`, which is usually (but not always) correct. * `the`: Boolean specifying whether a location should be preceded by `the` when following a preposition, e.g. in category names such as [[:Category:Cities in the Northern Territory, Úc]] and in old-style place descriptions when the location occurs as the first holonym, such as the city [[Darwin]] described using {{tl|place|city|terr/Northern Territory|c/Australia}}. Note that the global default for this and all Boolean properties is {nil}, which amounts to the same as {false}. * `british_spelling`: Boolean indicating whether the location in question uses British spelling. Currently this only affects whether the spelling `neighborhoods` or `neighbourhoods` is used in categories such as [[:Category:Neighborhoods of New York City]] and [[:Category:Neighbourhoods of Sydney]]. This usually needs to be set only at the top level (i.e. country or country-like entity), because lower-level entities look up the container trail for any container that has `british_spelling = true` set, and if found, assume that British spelling applies. The general principle used in setting this is that all countries in Europe, all dependent territories of any such country, all former British colonies, and any dependent territories of these former colonies, are assumed to use British spelling, while all other countries and associated dependent territories are assumed to use American spelling. This can potentially be modified on a case-by-case basis. * `is_city`: Boolean indicating whether the location in question is a city. This is explicitly set to `true` for city-states (e.g. Monaco and Vatican City), dependent territories that are cities (e.g. Hong Kong, Macau, Bonaire, Gibraltar, etc.), certain city-level administrative divisions (such as `City of Belfast, Northern Ireland`) and (through a group-levell setting) New York boroughs. In addition, it is set to `true` in initialize_spec() whenever the group-level `default_placetype == "thành phố"`, so that all cities get it set without explicitly needing to add a group-level setting for this. Note that the condition `default_placetype == "thành phố"` intentionally excludes Chinese prefecture-level cities, which aren't really cities in that (for example) they don't directly contain neighborhoods, but do contain cities within them. This setting is used in various places: (a) to add cities, rivers, etc. to categories like [[:Category:Rivers in Osaka, Nhật Bản]] and [[:Category:Cities in Wuhan]] for holonyms that are ''not'' cities; (b) to add districts, neighborhoods, and the like to categories like [[:Category:Neighborhoods of Brooklyn]] and [[:Category:Neighborhoods of Monaco]] for holoynms that ''are'' cities; (c) generally, to determine which "generic" placetypes (cities, rivers, neighborhoods, etc.) apply to the location. (Those that can occur with cities have a `generic_before_cities` setting in [[Module:place/placetypes]], and those that can occur with non-cities have a `generic_before_non_cities` setting.) * `is_former_place`: Boolean that should be set on former places such as the Soviet Union and the Roman Empire. For such places, categories such as [[:Category:fr:Rivers in the Soviet Union]] are neither generated nor recognized (more generally, no "generic" placetypes apply except for `places`), and category descriptions include the word `former`. * `overriding_bare_label_parents`: Document me! * `bare_category_parent_type`: Document me! * `no_container_cat`: Document me! * `no_container_parent`: Document me! * `no_generic_place_cat`: Document me! * `no_check_holonym_mismatch`: Document me! * `no_auto_augment_container`: Document me! * `no_include_container_in_desc`: Document me! ====Location divisions==== The `divs` field of a location describes the recognized political division types of that location. Specifying a given division type will cause places defined as being of the specified division type and with the location as a holonym will cause the place to be categorized as ` ``placetypes`` in/of ``location`` `; for example, specifying that the United States has `"states"` as a division will cause anything defined as {{tl|place|fr|state|c/US}} to be categorized under [[:Category:fr:States of the United States]]. Note that you do not have to explicitly specify division types for "generic" placetypes (those that have a `generic_before_non_cities` field if the location is not a city, or that have a `generic_before_cities` field if the location is a city); this includes things like cities, towns, villages, neighbo(u)rhoods and rivers. A given element in the `divs` list is usually a string naming a plural placetype; the placetype is automatically converted to the singular for recognizing the placetype in a {{tl|place}} spec, and irregular plurals such as `kibbutzim` are handled correctly as long as the placetype specifies an appropriate `plural` field (if the `plural` isn't explicitly given, the default singularization algorithm in [[Module:en-utilities]] is run, which gets most things correctly but has problems with `passes` and `fortresses`, which are singularized to `passe` and `fortresse`; for this reason, an explicit plural entry is added to terms in ''-ss''). In place of a string, an object can be given with the plural placetype in the `type` field; this allows additional properties to be specified along with the placetype. An example of this is the `divs` list for Canada: { ["Canada"] = {divs = { {type = "tỉnh", cat_as = "provinces and territories"}, {type = "territories", cat_as = "provinces and territories"}, "counties", "districts", "municipalities", "regional municipalities", "rural municipalities", "parishes", "Indian reserves", "census divisions", {type = "townships", prep = "in"}, }, ...}, } Here, both provinces and territories are set to categorize as `provinces and territories`, meaning that there is a single category [[:Category:Provinces and territories of Canada]] rather than separate categories for provinces and territories. Similar things are done for other countries that have more than one type of first-level administrative division (e.g. Australia, China, India and Pakistan). Note that any placetype listed under `cat_as` must exist in the table of placetypes in [[Module:place/placetypes]], and in fact there is a category-only entry there for `provinces and territories!` (the use of exclamation point following a plural placetype means that the placetype is present only for use in categories and won't be recognized as the placetype field in a {{tl|place}} description). In addition, townships are declared to use `in` rather than `of` as the preposition in the category; hence the category name will be [[:Category:Townships in Canada]] rather than [[:Category:Townships of Canada]]. (The use of `in` vs. `of` is somewhat related to whether a given placetype is an official administrative or statistical division of the location in question and comes in a defined list, in which case `of` should be used, or is more ill-defined, in which case `in` should be used; the default is `of`, and the use of `in` with `townships` is probably by analogy with the use of `in` with cities and towns.) Another more complex example is the divisions given for Quebec: { ["Quebec, Canada"] = {divs = { "counties", {type = "regional county municipalities", container_parent_type = "regional municipalities"}, {type = "regions", container_parent_type = false}, {type = "townships", prep = "in"}, {type = "parish municipalities", cat_as = {{type = "parishes", container_parent_type = "counties"}, "municipalities"}}, {type = "township municipalities", cat_as = {{type = "townships", prep = "in"}, "municipalities"}}, {type = "village municipalities", cat_as = {{type = "villages", prep = "in"}, "municipalities"}}, }, ...}, } Here, `container_parent_type` controls the second parent category of the placetype/location category associated with the entry. In this case, for example, [[:Category:Counties of Quebec, Canada]] will have [[:Category:Counties of Canada]] as its second or ''container-level'' parent. However, this doesn't make sense for `regional county municipalities`, which exist only in Quebec (so the parent category [[:Category:Regional county municipalities of Canada]] would have only one subcategory); but they are similar to regional municipalities in British Columbia, Nova Scotia and Ontario, so the `container_parent_type = "regional municipalities"` spec causes the container-level parent of this category to be [[:Category:Regional municipalities of Canada]]. Likewise, `regions` as administrative divisions (as opposed to mere geographic regions) exist only in Quebec; they have no equivalent elsewhere, so we disable the container-level parent using `container_parent_type = false`. The specs for `parish municipalities`, `township municipalities` and `village municipalities` show both that multiple types can be specified under `cat_as` (here, for example, we categorize `parish municipalities` as both `parishes` and `municipalities`) and that these types can themselves have properties, just as for entries directly under `divs`. Specifically, `{type = "parishes", container_parent_type = "counties"}` means that any place defined as a parish municipality in Quebec will be categorized under both [[:Category:Parishes of Quebec, Canada]] and [[:Category:Municipalities of Quebec, Canada]], and that the former will have a container-level parent of [[:Category:Counties of Canada]] (rather than the default of [[:Category:Parishes of Canada]]). Similarly, `township municipalities` will be categorized under both [[:Category:Townships in Quebec, Canada]] (''not'' [[:Category:Townships of Quebec, Canada]]) and [[:Category:Municipalities of Quebec, Canada]]. ====Container spec canonicalization==== A fully canonicalized container spec for a given location consists of a list of ''canonicalized container objects'', each with a `key` and `placetype` field. The `key` field should name the canonical key of some other location at a higher level (e.g. French cities are contained in French departments, which are contained in French regions, which are contained in France, which is contained in Europe, which is contained in Eurasia, which is contained in the Earth). The `placetype` field should correspond to the first (canonical) placetype listed for the key in question. The process of initializing a locaion spec converts the container spec in `.container` into a canonicalized spec in `.containers` and removes the spec from `.container`. It works as follows: # If the `container` field is missing, and there is a group-level `default_container` field, it is used in its place. For example, none of the Brazilian states listed in `brazil_states` specifies a container, but the group specifies `default_container = "Brazil"`. # A single string or canonicalized container object is allowed and made into a one-element list. # If a list element is a string that did ''not'' come from `default_container`, and there is a group-level `canonicalize_key_container` field, it is assumed to be a one-argument function and is called on the string to get a canonicalized container object. # Any remaining strings are assumed to be countries and are used directly as the `key`, with `placetype` set to `"quốc gia"`. ====Alias keys==== Aliases can be provided for canonical keys using ''alias keys''. Alias keys have a very different location spec structure from canonical keys. This structure does not, in general, have defaults at the group level and is not initialized using `initialize_spec()`, but is used as-is. The following properties are recognized in an alias location spec: * `alias_of`: The canonical key of which this key is an alias. Required. * `the`: If true, this alias key is preceded by `the` following a preposition. Defaults to the group-level `default_the` but does not pay attention to the value of `the` for the corresponding canonical key. * `display`: This is a display alias, meaning that holonyms using the placename corresponding to this alias will be converted to the placename corresponding to the canonical key when formatting the holonym for display. (Otherwise, the aliasing applies only to categorization.) If the value is true, the display canonicalization is to the placename of the canonical key; otherwise, the value should be a key whose corresponding placename is used when display canonicalizing. * `placetype`: The placetype of the alias. Rarely needs to be specified as it defaults to the canonical key's placetype, and if that is unspecified, to the group-level default placetype. ====Location group metadata tables==== As mentioned above, associated with each location group is a ''metadata table'' listing group-level properties. The metadata table contains two types of keys: group-level defaults (named like the corresponding location-level keys but preceded by `default_`, e.g. `default_placetype` corresponding to the location-level `placetype` key) and group-only keys, which are mostly functions. The following are the possible group-only keys: * `data`: This points to the group data table for the group, as described above. * `key_to_placename`: This is a function of one argument to transform the location's key (whether canonical or alias) into the full and elliptical placenames. The difference between full and elliptical placenames is described in the documentation for [[Module:place]], but in essence, it applies for keys that include the placetype in them (e.g. `Phuket Province, Thailand` or `County Mayo, Ireland`), in which case the full placename includes the placetype and the elliptical placename does not. For keys that do not include the placetype in them (e.g. `Arizona, USA` or `Gloucestershire, England`), the full and elliptical placenames are identical. Note that neither the full nor the elliptical placename includes the container in it; hence, for `Phuket Province, Thailand`, the full placename is `Phuket Province` and the elliptical placename is just `Phuket`. (Note that the full vs. elliptical placename distinction is intended only for handling cases where the placetype follows or precedes the raw placename and there is no difference between the two in whether they are normally preceded by `the`. More complex situations, such as `State of Mexico` (which normally takes `the`) vs. just `Mexico` (which doesn't), or `Islamabad Capital Territory` vs. just `Islamabad`, should be handled instead by aliases.) The `key_to_placename` function takes one argument, the key, and returns two arguments, the full and elliptical placenames, respectively. If left undefined, the default is to chop off anything starting with a comma and return the result as both full and elliptical placename, and if specifically set to `false`, the key is used directly as both full and elliptical placename. If it needs to be defined, it is best to use the helper function `make_key_to_placename`, if possible (or `make_irish_type_key_to_placename` in the case of Ireland and Northern Ireland, where `County` precedes), rather than rolling your own. In addition, you should use the global `key_to_placename` function (which takes care of the default implementation and such) rather than directly calling the function in the `key_to_placename` field. * `placename_to_key`: This is approximately the inverse of `key_to_placename`, transforming a placename (which can be either in full or elliptical form) into the corresponding key. As with `key_to_placename`, if you need to define this (generally, when the full and elliptical placenames are different), prefer using `make_placename_to_key` (or `make_irish_type_placename_to_key` for Ireland and Northern Ireland) to rolling your own. In addition, similarly to `key_to_placename`, use the global `placename_to_key` function to convert placenames to keys rather than directly invoking the function in the `placename_to_key` field. If the field is set to `false`, the placename is used unchanged as the key. Otherwise, the default algorithm works as follows: *# If the group-level `default_placetype == "thành phố"`, use the placename unchanged as the key. *# Otherwise, if the group-level `default_container` exists and is a string, append it to the placename after a comma + space and use the result as the key. *# Otherwise, if the group-level `default_container` is a canonical container object (an object with `key` and `placetype` fields), and the `placetype` field is either `country` or `constituent country`, append the `key` field to the placename after a comma + space and use the result as the key. *# Otherwise, use the placename unchanged as the key. * `canonicalize_key_container`: A function of one argument to convert the specified `container` field, when a string, to canonical form. Described in more detail above under [[#Container spec canonicalization]]. It is preferable to construct the function using `make_canonicalize_key_container`, if possible, rather than rolling your own. * `addl_divs`: Additional political divisions appended, for all locations in the group, to the list of divisions derived from the location-level `divs` or group-level `default_divs` fields to get the final list of divisions for the location. See [[#Location divisions]] for more details. ]==] ----------------------------------------------------------------------------------- -- Helper functions -- ----------------------------------------------------------------------------------- --[==[ Throw an error. `fmt` is a format string and the remaining arguments are passed through `mw.dumpObject` and then used to format the format string as if `fmt:format(...)` were called. In general, callers should use `internal_error` unless the error was due to bad user input rather than a logic error (which usually isn't the case in deep back-end code like this). ]==] function export.process_error(fmt, ...) local args = {...} for i = 1, select("#", ...) do args[i] = dump(args[i]) end return error(string.format(fmt, unpack(args))) end --[==[ Throw an internal error (a logic error that should never happen unless there is a bug in the code, as opposed to a user error triggered by bad input or a system error due to something like running out of memory or hitting a time limit). `fmt` is a format string and the remaining arguments are passed through `mw.dumpObject` and then used to format the format string as if `fmt:format(...)` were called. ]==] function export.internal_error(fmt, ...) export.process_error("Internal error: " .. fmt, ...) end local internal_error = export.internal_error -- Return whether `list_or_element` (a list of strings, or a single string) "contains" `item` (a string). If -- `list_or_element` is a list, this returns true if `item` is in the list; otherwise it returns true if `item` -- equals `list_or_element`. local function list_or_element_contains(list_or_element, item) if type(list_or_element) == "table" then return m_table.contains(list_or_element, item) and true or false end return list_or_element == item end --[==[ Call the location group's `key_to_placename` function if it exists (see the comment at the top of [[Module:place]] for the distinction between keys and placenames). Two values are returned, the full and elliptical placenames (e.g. full `"County Durham"` vs. elliptical `"Durham"`). If the group does not define `key_to_placename`, both full and elliptical placenames are computed by chopping off anything starting with a comma. ]==] function export.key_to_placename(group, key) if group.key_to_placename == false then return key, key end if group.key_to_placename then local full_placename, elliptical_placename = group.key_to_placename(key) if type(full_placename) ~= "string" then internal_error("Key %s returned a non-string full placename: %s", key, full_placename) end if type(elliptical_placename) ~= "string" then internal_error("Key %s returned a non-string elliptical placename: %s", key, elliptical_placename) end return full_placename, elliptical_placename end key = key:gsub(",.*", "") return key, key end --[==[ Call the location group's `placename_to_key` function if it exists (see the comment at the top of [[Module:place]] for the distinction between keys and placenames) and return the result. If `placename_to_key` exists with the value `false`, return the placename unchanged. If the group does not define `placename_to_key`, and it defines a `default_container` whose placetype is either `country` or `constituent country`, the container name is appended to the placename after a comma and a space. Otherwise the placename is returned unchanged. ]==] function export.placename_to_key(group, placename) if group.placename_to_key == false then return placename elseif group.placename_to_key then local key = group.placename_to_key(placename) if type(key) ~= "string" then internal_error("Placename %s returned a non-string key: %s", placename, key) end return key elseif group.default_placetype == "thành phố" then return placename else local defcon = group.default_container if not defcon then return placename elseif type(defcon) == "string" then return placename .. ", " .. defcon elseif type(defcon) == "table" and (defcon.placetype == "quốc gia" or defcon.placetype == "constituent country") then return placename .. ", " .. defcon.key else return placename end end end --[==[ Initialize the location spec `spec`, augmenting it with default values taken from `group` if the spec itself doesn't specify values for the properties. This sets `containers` to a canonicalized list of objects, each with `key` and `placetype` keys, describing the immediate containers of the location, and erases (sets to nil) the original non-canonicalized `container` field. (Most locations have only one immediate container but some, e.g. Russia, have more than one. Containers should be carefully distinguished from category parents. Generally the container is the first category parent, or the first ``n`` parents if there are ``n`` containers, but there may be additional category parents, which indicate some sort of relation between the category parent and the location but not necessarily one of containment.) This function is idempotent in that nothing happens if called more than once on the same spec. FIXME: Consider reimplementing this in a more standardly object-oriented way using metatables. ]==] function export.initialize_spec(group, key, spec) if spec.initialized then return end local container = spec.container local containers local container_from_default if not container then container = group.default_container container_from_default = true end if container then if type(container) == "string" or container.key then container = {container} end containers = {} for _, cont in ipairs(container) do if type(cont) == "string" then if group.canonicalize_key_container and not container_from_default then cont = group.canonicalize_key_container(cont) else cont = {key = cont, placetype = "quốc gia"} end end insert(containers, cont) end end spec.containers = containers spec.container = nil local function value_with_default(val, default_val) if val == nil then return default_val else return val end end local function set_or_default(prop) spec[prop] = value_with_default(spec[prop], group["default_" .. prop]) end set_or_default("placetype") if not spec.placetype then internal_error("No placetype found in key %s for spec %s or in group `default_placetype`", key, spec) end set_or_default("divs") spec.addl_divs = group.addl_divs for _, prop in ipairs { "keydesc", "fulldesc", "addl_parents", "overriding_bare_label_parents", "bare_category_parent_type", "wp", "wpcat", "commonscat", "british_spelling", "the", "no_container_cat", "no_container_parent", "no_generic_place_cat", "no_check_holonym_mismatch", "no_auto_augment_container", "no_include_container_in_desc", "is_city", "is_former_place", } do set_or_default(prop) end -- `default_placetype == "thành phố"` is correct; if `default_placetype` has something else like `prefecture-level city` -- as the canonical placetype but also lists `city` (as Chinese prefecture-level cities do), don't mark as -- is_city. spec.is_city = value_with_default(spec.is_city, group.default_placetype == "thành phố") spec.initialized = true end --[=[ Given a location group, key and possible placetypes that the placename must match, check if the key exists in the group with at least one of the group's key's placetypes matching one of the passed-in placetypes. If so, return two values: the group key (which potentially could differ from the passed-in key due to aliases) and the corresponding spec object, which (as with all functions that return spec objects) has been initialized using `initialize_spec()` (i.e. default property values have been copied from the group into the spec, if the spec doesn't itself specify a value for the property in question). `alias_resolution` controls how aliases are resolved. Normally, both display and category aliases are followed, and the returned key will reflect the canonical location key. However, if `alias_resolution` is {"none"}, no alias following happens. In that case, if the key specifies an alias, the spec for the alias rather than the spec for the canonical location is returned, and importantly, it is returned uninitialized, meaning that properties from the group are not copied into the spec. (If the key specifies a canonical location, its spec is returned initialized, as in the normal case where `alias_resolution` is unspecified.) The caller needs to check whether the returned spec is an alias by looking for an `alias_of` property. If `alias_resolution` is {"display"}, the behavior is the same as for {"none"} except that if the alias contains a setting `display = true`, the returned key will reflect the canonical location key, and if the alias contains a setting `display = ``string`` `, the returned key will reflect that string. This is a low-level function meant for internal use; external callers should generally use `get_matching_location` (for internally-derived locations), `find_matching_holonym_location` (for externally-derived locations) or `find_canonical_key` (for known-canonical locations where the placetype isn't known). ]=] local function find_matching_key_in_group(group, placetypes, key, alias_resolution) if alias_resolution ~= nil and alias_resolution ~= "none" and alias_resolution ~= "display" and alias_resolution ~= "all" then internal_error("Bad value for 'alias_resolution': %s", alias_resolution) end local spec = group.data[key] if not spec then return nil end local function check_correct_placetype(placetype) if type(placetype) == "table" then for _, pt in ipairs(placetype) do if list_or_element_contains(placetypes, pt) then return true end end return false else return list_or_element_contains(placetypes, placetype) end end if spec.alias_of then local resolved_key = spec.alias_of local resolved_spec = group.data[resolved_key] if not resolved_spec then internal_error("Key %s is an alias of %s, which doesn't exist", key, resolved_key) elseif resolved_spec.alias_of then internal_error("Key %s is an alias of %s, which is itself an alias; indirect aliasing not allowed", key, resolved_key) end if alias_resolution == "none" or alias_resolution == "display" then -- We could be working with non-initialized/defaulted spec, since we're pulling it directly from the group. local placetype = spec.placetype or resolved_spec.placetype or group.default_placetype if not placetype then internal_error("No placetype found for key %s in any of spec %s, alias-resolved spec %s or in group " .. "`default_placetype`", key, spec, resolved_spec) end if not check_correct_placetype(placetype) then return nil end if alias_resolution == "display" then if spec.display == true then key = resolved_key elseif spec.display then key = spec.display end end return key, spec end key = resolved_key spec = resolved_spec end -- We could be working with non-initialized/defaulted spec, since we're pulling it directly from the group. local placetype = spec.placetype or group.default_placetype if not placetype then internal_error("No placetype found for key %s in spec %s or group `default_placetype`", key, spec) end if not check_correct_placetype(placetype) then return nil end export.initialize_spec(group, key, spec) return key, spec end --[=[ Given a location group, placename and possible placetypes that the placename must match, check if the placename exists in the group with at least one of the placetypes of the key in the group that corresponds to the placename matching one of the passed-in placetypes. If so, return two values: the key corrsponding to the passed-in placename and the corresponding spec object. This is similar to `find_matching_key_in_group()` but works with placenames rather than keys. `alias_resolution` is as in `find_matching_key_in_group()`. This is a low-level function meant for internal use; external callers should generally use `get_matching_location` (for internally-derived locations), `find_matching_holonym_location` (for externally-derived locations) or `find_canonical_key` (for known-canonical locations where the placetype isn't known). ]=] local function find_matching_placename_in_group(group, placetypes, placename, alias_resolution) local key = export.placename_to_key(group, placename) return find_matching_key_in_group(group, placetypes, key, alias_resolution) end --[==[ If `key` is a canonical known location key (i.e. not an alias), return the corresponding group and initialized spec. If no such key exists, return {nil}. This throws an internal error if two locations with the same key are found. ]==] function export.find_canonical_key(key) local found_locations = {} for _, group in ipairs(export.locations) do local spec = group.data[key] if not spec then -- do nothing elseif spec.alias_of then mw.log(("Skipping alias '%s' of canonical '%s'"):format(key, spec.alias_of)) else insert(found_locations, {group, spec}) end end if not found_locations[1] then return nil elseif found_locations[2] then internal_error("Found multiple matching locations for canonical key %s: %s", key, found_locations) else local group, spec = unpack(found_locations[1]) export.initialize_spec(group, key, spec) return group, spec end end --[==[ Iterator that returns all locations matching a given description, where the description consists of either a placename or a key along with a list of possible placetypes. Usually there will be at most one such location. The iterator returns three values at each iteration: the location group, canonical key by which the location is known and the spec object describing the location. `data` contains the following possible fields: * `placetypes`: A list of possible placetypes, one of which must match one of the location's placetypes; or a string specifying a placetype, which must match one of the location's placetypes. This must be specified. * `placename`: The placename of the location. Either this or `key` must be specified. * `key`: The key of the location. Either this or `placename` must be specified. * `alias_resolution`: If specified, it behaves the same as for `find_matching_key_in_group`. The spec is normally initialized using `initialize_spec()` prior to it being returned (but may not be if `alias_resolution` is given and the specified key or placename is an alias; see the documentation for `find_matching_key_in_group`). ]==] function export.iterate_matching_location(data) local i = 0 local n = #export.locations return function() while true do i = i + 1 if i > n then break end local group = export.locations[i] local key, spec if data.placename then key, spec = find_matching_placename_in_group(group, data.placetypes, data.placename, data.alias_resolution) else if not data.key then internal_error("'.placename' or '.key' must be defined: %s", data) end key, spec = find_matching_key_in_group(group, data.placetypes, data.key, data.alias_resolution) end if key then return group, key, spec end end end end --[==[ Return the location matching a given description, where the description consists of either a placename or a key along with a list of possible placetypes. This is similar to `iterate_matching_location()` but throws an internal error if there is not exactly one location found; as such, it is for use with internally specified locations (such as the containers of known locations) rather than externally specified locations, which may not match a known location and in some cases may match multiple known locations. For finding an externally specified location, consider using `find_matching_holonym_location`, which returns {nil} rather than throwing an error if the location isn't found, but also (more importantly) checks to make sure there are no conflicting holonyms among the user-specified holonyms (e.g. {{tl|place|city|s/Delaware|c/USA|t=Newark}} will not match the known location `Newark` (in New Jersey, not Delaware). ]==] function export.get_matching_location(data) local all_found = {} for group, key, spec in export.iterate_matching_location(data) do insert(all_found, {group, key, spec}) end if not all_found[1] then internal_error("Couldn't find matching location for data %s", data) elseif all_found[2] then internal_error("Found multiple matching locations for data %s: %s", data, all_found) else return unpack(all_found[1]) end end --[==[ Successively iterate over a location's containers, and then the containers of those containers, etc. Keep in mind that locations may have multiple containers (e.g. Russia has both Europe and Asia as containers, and both Europe and Asia have Eurasia as their container). A given container will never be returned twice (e.g. in the case where a specific location A has locations B and C as containers, and B has C as its container, C will not be returned twice). An internal error happens if a container loop is detected. The return value is a list of location objects, each of which contains `group`, `key` and `spec` fields. ]==] function export.iterate_containers(group, key, spec) local keys_seen = {} keys_seen[key] = true local iterations = 0 local last_iteration_containers = {{group = group, key = key, spec = spec}} return function() iterations = iterations + 1 if iterations > 10 then internal_error("Probable loop in containers when processing key %s", key) end local next_iteration_containers = {} for _, location in ipairs(last_iteration_containers) do local containers = location.spec.containers if containers then for _, container in ipairs(containers) do local container_group, container_key, container_spec = export.get_matching_location { placetypes = container.placetype, key = container.key, } if not keys_seen[container_key] then insert(next_iteration_containers, { group = container_group, key = container_key, spec = container_spec }) keys_seen[container_key] = true end end end end if not next_iteration_containers[1] then return nil end last_iteration_containers = next_iteration_containers return next_iteration_containers end end --[==[ Given a placename, convert it into a link (two-part if `display_form` is given and differs from `placename`) and add `"the "` to the beginning if called for in `spec`. ]==] function export.construct_linked_placename(spec, placename, display_form) local linked_placename = display_form and placename ~= display_form and ("[[%s|%s]]"):format(placename, display_form) or ("[[%s]]"):format(placename) if spec.the then linked_placename = "the " .. linked_placename end return linked_placename end --[=[ This is typically used to define `key_to_placename`. It generates a function that chops off parts of a string (a location key), typically at the end, in order to get the full and elliptical versions of a placename. (See the documentation above for `key_to_placename` under "Location group tables" for the difference between full and elliptical placenames.) `container_patterns` is a Lua pattern or a list of possible patterns matching the container at the end of the key, which will be used to remove that container. If multiple patterns are specified, each one is tried until one matches. If `container_patterns` is omitted, this part of the process is skipped. The reulting string becomes the full placename. If `divtype_patterns` is specified, it is likewise either a Lua pattern or list of possible patterns to match and remove the political division affixed onto the end (or possibly the beginning) of the key in the keys of certain countries (such as South Korean and North Korean counties, which include the word "County" in the key). The resulting chopped string becomes the elliptical placename. If `divtype_patterns` is omitted, this part of the process is skipped and the full and elliptical placenames are the same. Typical usage is as follows: ``` key_to_placename = make_key_to_placename(", Anh$"), ``` or (when the political division is part of the key) ``` key_to_placename = make_key_to_placename(", Hàn Quốc$", "$") ``` ]=] local function make_key_to_placename(container_patterns, divtype_patterns) if type(container_patterns) == "string" then container_patterns = {container_patterns} end if type(divtype_patterns) == "string" then divtype_patterns = {divtype_patterns} end return function(key) local full_placename = key if container_patterns then for _, container_pattern in ipairs(container_patterns) do local nsubs full_placename, nsubs = full_placename:gsub(container_pattern, "") if nsubs > 0 then break end end end local elliptical_placename = full_placename if divtype_patterns then for _, divtype_pattern in ipairs(divtype_patterns) do local nsubs elliptical_placename, nsubs = elliptical_placename:gsub(divtype_pattern, "") if nsubs > 0 then break end end end return full_placename, elliptical_placename end end --[=[ This is typically used to define `placename_to_key`. It generates a function that appends a string to the end of a given placename to get the key (see the definition of `placename_to_key` above in the documentation under "Location group tables"). Optional `divtype_suffix` is a raw string (which should not contain hyphens or other characters that have special meaning in Lua patterns) to be appended first to the placename; if already present at the end, it is not appended. `container_suffix` is then added in the same fashion if given. Typical usage is like this: ``` placename_to_key = make_placename_to_key(", Anh") ``` (which will convert e.g. `"Hampshire"` into `"Hampshire, Anh"`) or ``` placename_to_key = make_placename_to_key(", Hàn Quốc", " County") ``` (which will convert e.g. `"Gangwon"` or `"Gangwon County"` into `"Gangwon, Hàn Quốc"`). ]=] local function make_placename_to_key(container_suffix, divtype_suffix) return function(placename) local key = placename if divtype_suffix then if not key:find(divtype_suffix .. "$") then key = key .. divtype_suffix end end if container_suffix then key = key .. container_suffix end return key end end --[=[ This is typically used to define `canonicalize_key_container`, which converts a container as specified in the location data into the canonical form containing both the full container key and its placetype. It generates a function to do the canonicalization of a given container. If the container is a string, `suffix` is appended onto the string (use {nil} or {""} if there is no suffix to append), and the placetype is set to `placetype`. Otherwise the container is left as-is. Typical usage is like this: ``` canonicalize_key_container = make_canonicalize_key_container(", Canada", "province") ``` which will convert e.g. `"Ontario"` into `{key = "Ontario, Canada", placetype = "province"}`. ]=] local function make_canonicalize_key_container(suffix, placetype) return function(container) if type(container) == "string" then return {key = container .. (suffix or ""), placetype = placetype} else return container end end end ----------------------------------------------------------------------------------- -- Top-level tables -- ----------------------------------------------------------------------------------- export.continents = { ["Trái Đất"] = {placetype = "planet", addl_parents = {"tự nhiên"}, fulldesc = "=là hành tinh thứ ba tính từ Mặt Trời", commonscat = "Earth"}, ["châu Phi"] = {placetype = "continent", commonscat = "Africa", container = {key = "Trái Đất", placetype = "planet"}}, ["châu Mỹ"] = {placetype = {"supercontinent", "continent"}, container = {key = "Trái Đất", placetype = "planet"}, keydesc = "[[America]], in the sense of [[North America]] and [[South America]] combined", wp = "Châu Mỹ"}, ["Americas"] = {alias_of = "châu Mỹ"}, ["America"] = {alias_of = "châu Mỹ"}, ["Bắc Mỹ"] = {placetype = "continent", container = {key = "châu Mỹ", placetype = "supercontinent"}}, ["Caribe"] = {the = true, placetype = {"continental region", "region"}, container = {key = "Bắc Mỹ", placetype = "continent"}}, ["Trung Mỹ"] = {placetype = {"continental region", "region"}, container = {key = "Bắc Mỹ", placetype = "continent"}}, ["Nam Mỹ"] = {placetype = "continent", container = {key = "châu Mỹ", placetype = "supercontinent"}}, ["châu Nam Cực"] = {placetype = "continent", container = {key = "Trái Đất", placetype = "planet"}, fulldesc = "=lục địa nằm xa về phía nam và tây nhất trên Trái Đất, chứa Cực Nam địa lý và nằm trong Vùng Nam Cực của Nam Bán cầu"}, ["Đại lục Á Âu"] = {placetype = {"supercontinent", "continent"}, container = {key = "Trái Đất", placetype = "planet"}, keydesc = "một khu vực đất đai rộng lớn, bao gồm châu Âu và châu Á"}, ["châu Á"] = {placetype = "continent", container = {key = "Đại lục Á Âu", placetype = "supercontinent"}}, ["châu Âu"] = {placetype = "continent", container = {key = "Đại lục Á Âu", placetype = "supercontinent"}}, ["châu Đại Dương"] = {placetype = "continent", container = {key = "Trái Đất", placetype = "planet"}}, ["Melanesia"] = {placetype = {"continental region", "region"}, container = {key = "châu Đại Dương", placetype = "continent"}}, ["Micronesia"] = {placetype = {"continental region", "region"}, container = {key = "châu Đại Dương", placetype = "continent"}}, ["Polynesia"] = {placetype = {"continental region", "region"}, container = {key = "châu Đại Dương", placetype = "continent"}}, } export.continents_group = { default_overriding_bare_label_parents = {}, -- container parents should be used default_divs = {{type = "quốc gia", prep = "của"}}, -- It's enough to mention the first-level continent or continent group. It seems excessive to write e.g. -- "El Salvador, a country in Central America, a continental region in North America, a continent in America, ...". default_no_include_container_in_desc = true, default_no_container_cat = true, default_no_container_parent = true, default_no_auto_augment_container = true, default_no_generic_place_cat = true, -- French Guyana is in France but not in Europe, which should not be an issue, so don't check holonym mismatches at -- this level. We also run into problems with supercontinents, which have "continent" as the fallback and cause -- mismatches. default_no_check_holonym_mismatch = true, data = export.continents, } -- Countries: including those with partial recognition that are normally considered countries (e.g. Kosovo, Taiwan). export.countries = { ["Afghanistan"] = {container = "châu Á", divs = {"tỉnh", "districts"}}, ["Albania"] = {container = "châu Âu", divs = {"counties", "municipalities", "communes", {type = "administrative units", cat_as = "communes"}, }, british_spelling = true}, ["Algeria"] = {container = "châu Phi", divs = {"tỉnh", "communes", "districts", "municipalities"}}, ["Andorra"] = {container = "châu Âu", divs = {"parishes"}, british_spelling = true}, ["Angola"] = {container = "châu Phi", divs = {"provinces", "municipalities"}}, ["Antigua and Barbuda"] = {container = "Caribe", divs = {"provinces"}, british_spelling = true}, ["Argentina"] = {container = "Nam Mỹ", divs = {"provinces", "departments", "municipalities"}}, ["Armenia"] = {container = {"châu Âu", "châu Á"}, divs = {"tỉnh", "districts", "municipalities"}, british_spelling = true}, ["Republic of Armenia"] = {alias_of = "Armenia"}, -- differs in "the" -- Both a country and continent ["Úc"] = {container = "châu Đại Dương", divs = { {type = "states", cat_as = "states and territories"}, {type = "territories", cat_as = "states and territories"}, {type = "ABBREVIATION_OF states", cat_as = "abbreviations of states and territories"}, {type = "ABBREVIATION_OF territories", cat_as = "abbreviations of states and territories"}, "local government areas", "dependent territories", }, british_spelling = true}, ["Australia"] = {alias_of = "Úc"}, ["Áo"] = {container = "châu Âu", divs = {"states", "districts", "municipalities"}, british_spelling = true}, ["Azerbaijan"] = {container = {"châu Âu", "châu Á"}, divs = {"districts", "municipalities"}, british_spelling = true}, ["Bahamas"] = {the = true, container = "Caribe", divs = {"districts"}, british_spelling = true, wp = "The %l"}, ["Bahrain"] = {container = "châu Á", divs = {"governorates"}}, ["Bangladesh"] = {container = "châu Á", divs = {"divisions", "districts", "municipalities"}, british_spelling = true}, ["Barbados"] = {container = "Caribe", divs = {"parishes"}, british_spelling = true}, ["Belarus"] = {container = "châu Âu", divs = {"regions", "districts"}, british_spelling = true}, ["Bỉ"] = {container = "châu Âu", divs = {"regions", "tỉnh", "municipalities"}, british_spelling = true}, ["Belize"] = {container = "Trung Mỹ", divs = {"districts"}, british_spelling = true}, ["Benin"] = {container = "châu Phi", divs = {"departments", "communes"}}, ["Bhutan"] = {container = "châu Á", divs = {"districts", "gewogs"}}, ["Bolivia"] = {container = "Nam Mỹ", divs = {"provinces", "departments", "municipalities"}}, ["Bosna và Hercegovina"] = {container = "châu Âu", divs = {"entities", "cantons", "municipalities"}, british_spelling = true}, ["Bosnia and Hercegovina"] = {alias_of = "Bosna và Hercegovina", display = true}, ["Bosnia và Hercegovina"] = {alias_of = "Bosna và Hercegovina", display = true}, ["Bosnia-Herzegovina"] = {alias_of = "Bosna và Hercegovina", display = true}, ["Bosnia-Hercegovina"] = {alias_of = "Bosna và Hercegovina", display = true}, ["Bosnia"] = {alias_of = "Bosna và Hercegovina", display = true}, ["Botswana"] = {container = "châu Phi", divs = {"districts", "subdistricts"}, british_spelling = true}, ["Brasil"] = {container = "Nam Mỹ", divs = { "states", "municipalities", "macroregions", {type = "ABBREVIATION_OF states", cat_as = "abbreviations of states"}, }}, ["Brazil"] = {alias_of = "Brasil", display = true}, ["Brunei"] = {container = "châu Á", divs = {"districts", "mukims"}, british_spelling = true}, ["Bulgaria"] = {container = "châu Âu", divs = {"provinces", "municipalities"}, british_spelling = true}, ["Burkina Faso"] = {container = "châu Phi", divs = {"regions", "departments", "provinces"}}, ["Burundi"] = {container = "châu Phi", divs = {"provinces", "communes"}}, ["Campuchia"] = {container = "châu Á", divs = {"tỉnh", "districts"}}, ["Cameroon"] = {container = "châu Phi", divs = {"regions", "departments"}}, ["Canada"] = {container = "Bắc Mỹ", divs = { {type = "tỉnh", cat_as = "provinces and territories"}, {type = "territories", cat_as = "provinces and territories"}, {type = "ABBREVIATION_OF provinces", cat_as = "abbreviations of provinces and territories"}, {type = "ABBREVIATION_OF territories", cat_as = "abbreviations of provinces and territories"}, "counties", "districts", "municipalities", "regional municipalities", "rural municipalities", "parishes", -- Don't change the following to something more politically correct (e.g. "First Nations reserves") until/unless -- the Canadian government makes a similar switch (and note that as of Apr 18 2025, the Wikipedia article is -- still at [[w:Indian reserves]]). "Indian reserves", "census divisions", {type = "townships", prep = "in"}, }, british_spelling = true}, ["Cape Verde"] = {container = "châu Phi", divs = {"municipalities", "parishes"}}, ["Cabo Verde"] = {alias_of = "Cape Verde", display = true}, ["Cộng hòa Trung Phi"] = {container = "châu Phi", divs = {"prefectures", "subprefectures"}}, ["CAR"] = {alias_of = "Cộng hòa Trung Phi", display = true}, ["C.A.R"] = {alias_of = "Cộng hòa Trung Phi", display = true}, ["Tchad"] = {container = "châu Phi", divs = {"regions", "departments"}}, ["Chad"] = {alias_of = "Tchad", display = true}, ["Chile"] = {container = "Nam Mỹ", divs = {"regions", "provinces", "communes"}}, ["Trung Quốc"] = {container = "châu Á", divs = { {type = "tỉnh", cat_as = "provinces and autonomous regions"}, {type = "autonomous regions", cat_as = "provinces and autonomous regions"}, {type = "FORMER provinces", cat_as = "former provinces"}, "special administrative regions", "prefectures", {type = "FORMER prefectures", cat_as = "former prefectures"}, "prefecture-level cities", {type = "counties", cat_as = "counties and county-level cities"}, {type = "county-level cities", cat_as = "counties and county-level cities"}, {type = "FORMER counties", cat_as = "former counties and county-level cities"}, {type = "FORMER county-level cities", cat_as = "former counties and county-level cities"}, -- "towns" (but not "townships") are automatically added as they are specified as generic_before_non_cities. "districts", {type = "FORMER districts", cat_as = "former districts"}, "subdistricts", "townships", "municipalities", {type = "direct-administered municipalities", cat_as = "municipalities"}, }}, ["People's Republic of China"] = {alias_of = "Trung Quốc"}, -- differs in "the" ["Colombia"] = {container = "Nam Mỹ", divs = {"departments", "municipalities"}}, ["Comoros"] = {the = true, container = "châu Phi", divs = {"autonomous islands"}}, ["Costa Rica"] = {container = "Trung Mỹ", divs = {"provinces", "cantons"}}, ["Croatia"] = {container = "châu Âu", divs = {"counties", "municipalities"}, british_spelling = true}, ["Cuba"] = {container = "Caribe", divs = {"tỉnh", "municipalities"}}, ["Cyprus"] = {container = {"châu Âu", "châu Á"}, divs = {"districts"}, british_spelling = true}, ["Czech Republic"] = {the = true, container = "châu Âu", divs = {"regions", "districts", "municipalities"}, british_spelling = true}, ["Czechia"] = {alias_of = "Czech Republic"}, -- differs in "the" ["Democratic Republic of the Congo"] = {the = true, container = "châu Phi", divs = {"provinces", "territories"}}, ["Congo"] = {alias_of = "Democratic Republic of the Congo", display = true, the = true}, ["DRC"] = {alias_of = "Democratic Republic of the Congo", display = true, the = true}, ["D.R.C"] = {alias_of = "Democratic Republic of the Congo", display = true, the = true}, ["Đan Mạch"] = {container = "châu Âu", divs = {"regions", "municipalities", "dependent territories"}, british_spelling = true, -- Wikipedia separates [[w:Denmark]] (constituent country) from [[w:Danish Realm]] (country) }, ["Djibouti"] = {container = "châu Phi", divs = {"regions", "districts"}}, ["Dominica"] = {container = "Caribe", divs = {"parishes"}, british_spelling = true}, ["Dominican Republic"] = {the = true, container = "Caribe", divs = {"provinces", "municipalities"}, keydesc = "the [[Dominican Republic]], the country that shares the [[Caribbean]] island of [[Hispaniola]] with [[Haiti]]"}, ["Đông Timor"] = {container = "châu Á", divs = {"municipalities"}, wp = "Timor-Leste"}, ["Timor-Leste"] = {alias_of = "Đông Timor", display = true}, ["Ecuador"] = {container = "Nam Mỹ", divs = {"provinces", "cantons"}}, ["Ai Cập"] = {container = "châu Phi", divs = {"governorates", "regions"}, british_spelling = true}, ["El Salvador"] = {container = "Trung Mỹ", divs = {"departments", "municipalities"}}, ["Guinea Xích Đạo"] = {container = "châu Phi", divs = {"tỉnh"}}, ["Eritrea"] = {container = "châu Phi", divs = {"regions", "subregions"}}, ["Estonia"] = {container = "châu Âu", divs = {"counties", "municipalities"}, british_spelling = true}, ["Eswatini"] = {container = "châu Phi", british_spelling = true}, ["Swaziland"] = {alias_of = "Eswatini", display = true}, ["Ethiopia"] = {container = "châu Phi", divs = {"regions", "zones"}}, ["Federated States of Micronesia"] = {the = true, container = "Micronesia", divs = {"states"}}, ["Micronesia"] = {alias_of = "Federated States of Micronesia"}, ["Fiji"] = {container = "Melanesia", divs = {"divisions", "provinces"}, british_spelling = true}, ["Phần Lan"] = {container = "châu Âu", divs = {"regions", "municipalities"}, british_spelling = true}, ["Pháp"] = {container = "châu Âu", divs = {"regions", "cantons", "collectivities", "communes", {type = "municipalities", cat_as = "communes"}, "departments", {type = "prefectures", cat_as = {"prefectures", "departmental capitals"}}, {type = "French prefectures", cat_as = {"prefectures", "departmental capitals"}}, "dependent territories", "territories", "tỉnh", }, british_spelling = true}, ["Gabon"] = {container = "châu Phi", divs = {"provinces", "departments"}}, ["Gambia"] = {the = true, container = "châu Phi", divs = {"divisions", "districts"}, british_spelling = true, wp = "The %l"}, ["Gruzia"] = {container = {"châu Âu", "châu Á"}, divs = {"regions", "districts"}, keydesc = "the country of [[Georgia]], in [[Eurasia]]", british_spelling = true, wp = "%l"}, ["Georgia"] = {alias_of = "Gruzia"}, ["Đức"] = {container = "châu Âu", divs = { "states", -- Bavaria, Baden-Württemberg, Hesse and North Rhine-Westphalia have administrative regions as divisions, but -- there aren't really enough of them to categorize per state. "regions", "municipalities", "districts"}, british_spelling = true}, ["Ghana"] = {container = "châu Phi", divs = {"regions", "districts"}, british_spelling = true}, ["Hy Lạp"] = {container = "châu Âu", divs = {"regions", "regional units", "municipalities", {type = "peripheries", cat_as = {"regions"}}, }, british_spelling = true}, ["Grenada"] = {container = "Caribe", divs = {"parishes"}, british_spelling = true}, ["Guatemala"] = {container = "Trung Mỹ", divs = {"departments", "municipalities"}}, ["Guinea"] = {container = "châu Phi", divs = {"regions", "prefectures"}}, ["Guinea-Bissau"] = {container = "châu Phi", divs = {"regions"}}, ["Guyana"] = {container = "Nam Mỹ", divs = {"regions"}, british_spelling = true}, ["Haiti"] = {container = "Caribe", divs = {"departments", "arrondissements"}}, ["Honduras"] = {container = "Trung Mỹ", divs = {"departments", "municipalities"}}, ["Hungary"] = {container = "châu Âu", divs = {"counties", "districts"}, british_spelling = true}, ["Iceland"] = {container = "châu Âu", divs = {"regions", "municipalities", "counties"}, british_spelling = true}, ["Ấn Độ"] = {container = "châu Á", divs = { {type = "states", cat_as = "states and union territories"}, {type = "union territories", cat_as = "states and union territories"}, {type = "ABBREVIATION_OF states", cat_as = "abbreviations of states and union territories"}, {type = "ABBREVIATION_OF union territories", cat_as = "abbreviations of states and union territories"}, "divisions", "districts", "municipalities", }, british_spelling = true}, ["Indonesia"] = {container = "châu Á", divs = {"regencies", "provinces", {type = "ABBREVIATION_OF provinces", cat_as = "abbreviations of provinces"}, }}, ["Iran"] = {container = "châu Á", divs = {"provinces", "counties"}}, ["Iraq"] = {container = "châu Á", divs = {"governorates", "districts"}}, ["Ireland"] = {container = "châu Âu", addl_parents = {"British Isles"}, divs = {"counties", "districts", "provinces"}, british_spelling = true, wp = "Republic of %l"}, ["Republic of Ireland"] = {alias_of = "Ireland"}, -- differs in "the" ["Israel"] = {container = "châu Á", divs = {"districts"}}, ["Ý"] = {container = "châu Âu", divs = { "regions", "provinces", "metropolitan cities", "municipalities", {type = "autonomous regions", cat_as = "regions"}, }, british_spelling = true}, ["Bờ Biển Ngà"] = {container = "châu Phi", divs = {"districts", "regions"}}, -- We should really be using Ivory Coast (common name) but there are political ramifications to the use of -- Côte d'Ivoire so don't make it a display alias. ["Côte d'Ivoire"] = {alias_of = "Bờ Biển Ngà"}, ["Jamaica"] = {container = "Caribe", divs = {"parishes"}, british_spelling = true}, ["Nhật Bản"] = {container = "châu Á", divs = {"prefectures", "subprefectures", "municipalities"}}, ["Jordan"] = {container = "châu Á", divs = {"governorates"}}, ["Kazakhstan"] = {container = {"châu Á", "châu Âu"}, divs = {"regions", "districts"}}, ["Kenya"] = {container = "châu Phi", divs = {"counties"}, british_spelling = true}, ["Kiribati"] = {container = "Micronesia", british_spelling = true}, ["Kosovo"] = {container = "châu Âu", divs = {"districts", "municipalities"}, british_spelling = true}, ["Kuwait"] = {container = "châu Á", divs = {"governorates", "areas"}}, ["Kyrgyzstan"] = {container = "châu Á", divs = {"regions", "districts"}}, ["Lào"] = {container = "châu Á", divs = {"provinces", "districts"}}, ["Latvia"] = {container = "châu Âu", divs = {"municipalities"}, british_spelling = true}, ["Lebanon"] = {container = "châu Á", divs = {"governorates", "districts"}}, ["Lesotho"] = {container = "châu Phi", divs = {"districts"}, british_spelling = true}, ["Liberia"] = {container = "châu Phi", divs = {"counties", "districts"}}, ["Libya"] = {container = "châu Phi", divs = {"districts", "municipalities"}}, ["Liechtenstein"] = {container = "châu Âu", divs = {"municipalities"}, british_spelling = true}, ["Litva"] = {container = "châu Âu", divs = {"counties", "municipalities"}, british_spelling = true}, ["Luxembourg"] = {container = "châu Âu", divs = {"cantons", "districts"}, british_spelling = true}, ["Madagascar"] = {container = "châu Phi", divs = {"regions", "districts"}}, ["Malawi"] = {container = "châu Phi", divs = {"regions", "districts"}, british_spelling = true}, ["Malaysia"] = {container = "châu Á", divs = {"states", "federal territories", "districts"}, british_spelling = true}, ["Maldives"] = {container = "châu Á", divs = {"tỉnh", "administrative atolls"}, british_spelling = true}, ["Mali"] = {container = "châu Phi", divs = {"regions", "cercles"}}, ["Malta"] = {container = "châu Âu", divs = {"regions", "local councils"}, british_spelling = true}, ["Marshall Islands"] = {the = true, container = "Micronesia", divs = {"municipalities"}}, ["Mauritania"] = {container = "châu Phi", divs = {"regions", "departments"}}, ["Mauritius"] = {container = "châu Phi", divs = {"districts"}, british_spelling = true}, ["Mexico"] = {container = "Bắc Mỹ", addl_parents = {"Trung Mỹ"}, divs = { "states", "municipalities", {type = "ABBREVIATION_OF states", cat_as = "abbreviations of states"}, }}, ["Moldova"] = {container = "châu Âu", divs = { {type = "districts", cat_as = "districts and autonomous territorial units"}, {type = "autonomous territorial units", cat_as = "districts and autonomous territorial units"}, "communes", "municipalities", }, british_spelling = true}, ["Monaco"] = {placetype = {"city-state", "quốc gia"}, container = "châu Âu", -- We want the first placetype to be 'city-state' so the description of Monaco says it's a city-state, but we -- want its parent to be "countries in Europe". bare_category_parent_type = {type = "quốc gia", prep = "của"}, is_city = true, british_spelling = true}, ["Mông Cổ"] = {container = "châu Á", divs = {"tỉnh", "districts"}}, ["Montenegro"] = {container = "châu Âu", divs = {"municipalities"}}, ["Maroc"] = {container = "châu Phi", divs = {"regions", "prefectures", "tỉnh"}}, ["Mozambique"] = {container = "châu Phi", divs = {"provinces", "districts"}}, ["Myanmar"] = {container = "châu Á", divs = {"regions", "states", "union territories", {type = "self-administered zones", cat_as = "self-administered areas"}, {type = "self-administered divisions", cat_as = "self-administered areas"}, "districts"}}, ["Burma"] = {alias_of = "Myanmar"}, -- not display-canonicalizing; has political connotations ["Namibia"] = {container = "châu Phi", divs = {"regions", "constituencies"}, british_spelling = true}, ["Nauru"] = {container = "Micronesia", divs = {"districts"}, british_spelling = true}, ["Nepal"] = {container = "châu Á", divs = {"provinces", "districts"}}, ["Hà Lan"] = {placetype = {"quốc gia", "constituent country"}, container = "châu Âu", divs = {"tỉnh", "municipalities", {type = "FORMER municipalities", cat_as = "former municipalities"}, "dependent territories", "constituent countries"}, british_spelling = true, -- Wikipedia separates [[w:Netherlands]] (constituent country) from [[w:Kingdom of the Netherlands]] -- (country) }, ["New Zealand"] = {container = "Polynesia", divs = { "regions", "dependent territories", "territorial authorities", {type = "districts", cat_as = "territorial authorities"}, }, british_spelling = true}, ["Nicaragua"] = {container = "Trung Mỹ", divs = {"departments", "municipalities"}}, ["Niger"] = {container = "châu Phi", divs = {"regions", "departments"}}, ["Nigeria"] = {container = "châu Phi", divs = { "states", -- Categorize the Federal Capital Territory as a state because there's only one of it; we could categorize -- everything under 'states and territories' but that seems a bit pointless. {type = "federal territories", cat_as = "states"}, "local government areas", }, british_spelling = true}, ["Cộng hòa Dân chủ Nhân dân Triều Tiên"] = {container = "châu Á", addl_parents = {"Korea"}, divs = {"provinces", "counties"}}, ["North Macedonia"] = {container = "châu Âu", divs = {"regions", "municipalities"}, british_spelling = true}, ["Macedonia"] = {alias_of = "North Macedonia", display = true}, ["Republic of North Macedonia"] = {alias_of = "North Macedonia"}, -- differs in "the" ["Republic of Macedonia"] = {alias_of = "North Macedonia"}, -- differs in "the" ["Na Uy"] = {container = "châu Âu", divs = {"counties", "municipalities", "dependent territories", "districts", "unincorporated areas"}, british_spelling = true}, ["Oman"] = {container = "châu Á", divs = {"governorates", "provinces"}}, ["Pakistan"] = {container = "châu Á", divs = { {type = "provinces", cat_as = "provinces and territories"}, {type = "administrative territories", cat_as = "provinces and territories"}, {type = "federal territories", cat_as = "provinces and territories"}, {type = "territories", cat_as = "provinces and territories"}, "divisions", "districts", }, british_spelling = true}, ["Palau"] = {container = "Micronesia", divs = {"states"}}, ["Palestine"] = {container = "châu Á", divs = {"governorates"}}, ["State of Palestine"] = {alias_of = "Palestine"}, -- differs in "the" ["Panama"] = {container = "Trung Mỹ", divs = {"provinces", "districts"}}, ["Papua New Guinea"] = {container = "Melanesia", divs = {"provinces", "districts"}, british_spelling = true}, ["Paraguay"] = {container = "Nam Mỹ", divs = {"departments", "districts"}}, ["Peru"] = {container = "Nam Mỹ", divs = {"regions", "provinces", "districts"}}, ["Philippines"] = {the = true, container = "châu Á", divs = {"regions", "tỉnh", "districts", "municipalities", "barangays"}}, ["Ba Lan"] = {divs = {"voivodeships", "counties", {type = "Polish colonies", cat_as = {{type = "villages", prep = "in"}}}, }, container = "châu Âu", british_spelling = true}, ["Bồ Đào Nha"] = {container = "châu Âu", divs = { {type = "autonomous regions", cat_as = "districts and autonomous regions"}, {type = "districts", cat_as = "districts and autonomous regions"}, "provinces", "municipalities"}, british_spelling = true}, ["Qatar"] = {container = "châu Á", divs = {"municipalities", "zones"}}, ["Republic of the Congo"] = {the = true, container = "châu Phi", divs = {"departments", "districts"}}, ["Congo Republic"] = {alias_of = "Republic of the Congo", display = true, the = true}, ["Romania"] = {container = "châu Âu", divs = { "regions", "counties", "communes", {type = "ABBREVIATION_OF counties", cat_as = "abbreviations of counties"}, }, british_spelling = true}, ["Nga"] = {container = {"châu Âu", "châu Á"}, divs = { "federal subjects", "republics", "autonomous oblasts", "autonomous okrugs", "oblasts", "krais", "federal cities", "districts", "federal districts"}, british_spelling = true}, ["Rwanda"] = {container = "châu Phi", divs = {"provinces", "districts"}}, ["Saint Kitts and Nevis"] = {container = "Caribe", divs = {"parishes"}, british_spelling = true}, ["Saint Kitts"] = {alias_of = "Saint Kitts and Nevis", display = true}, ["Saint Lucia"] = {container = "Caribe", divs = {"districts"}, british_spelling = true}, ["Saint Vincent and the Grenadines"] = {container = "Caribe", divs = {"parishes"}, british_spelling = true}, ["Saint Vincent"] = {alias_of = "Saint Vincent and the Grenadines", display = true}, ["SVG"] = {alias_of = "Saint Vincent and the Grenadines", display = true}, ["S.V.G"] = {alias_of = "Saint Vincent and the Grenadines", display = true}, ["Samoa"] = {container = "Polynesia", divs = {"districts"}, british_spelling = true}, ["San Marino"] = {container = "châu Âu", divs = {"municipalities"}, british_spelling = true}, ["São Tomé and Príncipe"] = {container = "châu Phi", divs = {"districts"}}, ["São Tome and Principe"] = {alias_of = "São Tomé and Príncipe", display = true}, ["São Tomé"] = {alias_of = "São Tomé and Príncipe", display = true}, ["São Tome"] = {alias_of = "São Tomé and Príncipe", display = true}, ["Ả Rập Xê Út"] = {container = "châu Á", divs = {"provinces", "governorates"}}, ["Senegal"] = {container = "châu Phi", divs = {"regions", "departments"}}, ["Serbia"] = {container = "châu Âu", divs = {"districts", "municipalities", "autonomous provinces"}}, ["Seychelles"] = {container = "châu Phi", divs = {"districts"}, british_spelling = true}, ["Sierra Leone"] = {container = "châu Phi", divs = {"provinces", "districts"}, british_spelling = true}, ["Singapore"] = {container = "châu Á", divs = {"districts", "regions"}, british_spelling = true}, ["Slovakia"] = {container = "châu Âu", divs = {"regions", "districts"}, british_spelling = true}, ["Slovenia"] = {container = "châu Âu", divs = {"statistical regions", "municipalities"}, british_spelling = true}, -- Note: While the official name does not include "the" at the beginning, -- it sounds strange in English to leave it out and it's commonly included. ["Solomon Islands"] = {the = true, container = "Melanesia", divs = {"provinces"}, british_spelling = true}, ["Somalia"] = {container = "châu Phi", divs = {"regions", "districts"}}, ["South Africa"] = {container = "châu Phi", divs = { "provinces", "districts", {type = "district municipalities", cat_as = "districts"}, {type = "metropolitan municipalities", cat_as = "districts"}, "municipalities", }, british_spelling = true}, ["Hàn Quốc"] = {container = "châu Á", addl_parents = {"Korea"}, divs = {"provinces", "counties", "districts"}}, ["Nam Sudan"] = {container = "châu Phi", divs = {"regions", "states", "counties"}, british_spelling = true}, ["Tây Ban Nha"] = {container = "châu Âu", divs = {"autonomous communities", "provinces", "municipalities", "comarcas", "autonomous cities"}, british_spelling = true}, ["Sri Lanka"] = {container = "châu Á", divs = {"provinces", "districts"}, british_spelling = true}, ["Sudan"] = {container = "châu Phi", divs = {"states", "districts"}, british_spelling = true}, ["Suriname"] = {container = "Nam Mỹ", divs = {"districts"}}, ["Thụy Điển"] = {container = "châu Âu", divs = {"tỉnh", "counties", "municipalities"}, british_spelling = true}, ["Switzerland"] = {container = "châu Âu", divs = {"cantons", "municipalities", "districts"}, british_spelling = true}, ["Syria"] = {container = "châu Á", divs = {"governorates", "districts"}}, ["Đài Loan"] = {container = "châu Á", divs = {"counties", "districts", "townships", "special municipalities"}}, ["Republic of China"] = {alias_of = "Đài Loan"}, -- differs in "the", different political connotations ["Tajikistan"] = {container = "châu Á", divs = {"regions", "districts"}}, ["Tanzania"] = {container = "châu Phi", divs = {"regions", "districts"}, british_spelling = true}, ["Thái Lan"] = {container = "châu Á", divs = {"tỉnh", "districts", "subdistricts"}}, ["Togo"] = {container = "châu Phi", divs = {"provinces", "prefectures"}}, ["Tonga"] = {container = "Polynesia", divs = {"divisions"}, british_spelling = true}, ["Trinidad and Tobago"] = {container = "Caribe", divs = {"regions", "municipalities"}, british_spelling = true}, ["Tunisia"] = {container = "châu Phi", divs = {"governorates", "delegations"}}, ["Thổ Nhĩ Kỳ"] = {container = {"châu Âu", "châu Á"}, divs = {"tỉnh", "districts"}}, -- Foreign names generally get display-canonicalized. ["Türkiye"] = {alias_of = "Thổ Nhĩ Kỳ", display = true}, ["Turkmenistan"] = {container = "châu Á", divs = { -- The 5 regions are often also called provinces "regions", {type = "tỉnh", cat_as = "regions"}, "districts"}, }, ["Tuvalu"] = {container = "Polynesia", divs = {"atolls"}, british_spelling = true}, ["Uganda"] = {container = "châu Phi", divs = {"districts", "counties"}, british_spelling = true}, ["Ukraina"] = {container = "châu Âu", divs = { {type = "oblasts", cat_as = "oblasts and autonomous republics"}, {type = "autonomous republics", cat_as = "oblasts and autonomous republics"}, "raions", "hromadas", }, british_spelling = true}, ["United Arab Emirates"] = {the = true, container = "châu Á", divs = {"emirates"}}, -- Abbreviations get display-canonicalized. ["UAE"] = {alias_of = "United Arab Emirates", display = true, the = true}, ["U.A.E."] = {alias_of = "United Arab Emirates", display = true, the = true}, ["United Kingdom"] = {the = true, container = "châu Âu", addl_parents = {"British Isles"}, divs = {"constituent countries", "counties", "districts", "boroughs", "territories", "dependent territories", "traditional counties"}, keydesc = "the [[United Kingdom]] of Great Britain and Northern Ireland", british_spelling = true}, -- Abbreviations get display-canonicalized. ["UK"] = {alias_of = "United Kingdom", display = true, the = true}, ["U.K."] = {alias_of = "United Kingdom", display = true, the = true}, ["Hoa Kỳ"] = {container = "Bắc Mỹ", divs = {"counties", "county seats", "states", "territories", "dependent territories", {type = "ABBREVIATION_OF states", cat_as = "abbreviations of states"}, {type = "DEROGATORY_NAME_FOR states", cat_as = "derogatory names for states"}, {type = "NICKNAME_FOR states", cat_as = "nicknames for states"}, {type = "OFFICIAL_NICKNAME_FOR states", cat_as = "official nicknames for states"}, {type = "boroughs", prep = "in"}, -- exist in Pennsylvania and New Jersey "municipalities", -- these exist politically at least in Colorado and Connecticut {type = "census-designated places", prep = "in"}, {type = "unincorporated communities", prep = "in"}, -- Don't change the following to something more politically correct until/unless the US government makes a -- similar switch (and note that as of Apr 18 2025, the Wikipedia article is still at -- [[w:Indian reservations]]). "Indian reservations", }}, -- Abbreviations and long forms (when possible) get display-canonicalized. ["US"] = {alias_of = "Hoa Kỳ", display = true, the = true}, ["U.S."] = {alias_of = "Hoa Kỳ", display = true, the = true}, ["USA"] = {alias_of = "Hoa Kỳ", display = true, the = true}, ["U.S.A."] = {alias_of = "Hoa Kỳ", display = true, the = true}, ["United States of America"] = {alias_of = "Hoa Kỳ", display = true, the = true}, ["Uruguay"] = {container = "Nam Mỹ", divs = {"departments", "municipalities"}}, ["Uzbekistan"] = {container = "châu Á", divs = {"regions", "districts"}}, ["Vanuatu"] = {container = "Melanesia", divs = {"provinces"}, british_spelling = true}, ["Vatican City"] = {placetype = {"city-state", "quốc gia"}, container = "châu Âu", -- First placetype should be 'city-state' for to shown up in its description, -- Its parent should still be "countries in Europe". bare_category_parent_type = {type = "quốc gia", prep = "của"}, addl_parents = {"Rome"}, is_city = true, british_spelling = true}, ["Vatican"] = {alias_of = "Vatican City"}, -- differs in "the" ["Venezuela"] = {container = "Nam Mỹ", divs = {"states", "municipalities"}}, ["Việt Nam"] = {container = "châu Á", divs = {"tỉnh", "districts", "municipalities"}}, ["Western Sahara"] = {placetype = {"territory", "quốc gia"}, container = "châu Phi", bare_category_parent_type = {type = "quốc gia", prep = "của"}, }, -- Not display-canonicalizable both due to differences in 'the' and the sovereignty dispute over Western Sahara ["Sahrawi Arab Democratic Republic"] = {alias_of = "Western Sahara"}, ["SADR"] = {alias_of = "Sahrawi Arab Democratic Republic", display = true, the = true}, ["Yemen"] = {container = "châu Á", divs = {"governorates", "districts"}}, ["Zambia"] = {container = "châu Phi", divs = {"provinces", "districts"}, british_spelling = true}, ["Zimbabwe"] = {container = "châu Phi", divs = {"provinces", "districts"}, british_spelling = true}, } local function canonicalize_continent_container(key) if type(key) ~= "string" then return key end if export.continents[key] then return {key = key, placetype = export.continents[key].placetype} end internal_error("Unrecognized key %s in `canonicalize_continent_like`", key) end export.countries_group = { canonicalize_key_container = canonicalize_continent_container, default_overriding_bare_label_parents = {"+++", "quốc gia"}, default_placetype = "quốc gia", default_no_container_cat = true, default_no_container_parent = true, -- No need to augment country holonyms with continents; not needed for disambiguation. default_no_auto_augment_container = true, data = export.countries, } -- Country-like entities: typically overseas territories or de-facto independent countries, which in both cases -- are not internationally recognized as sovereign nations but which we treat similarly to countries. export.country_like_entities = { -- British Overseas Territory ["Akrotiri and Dhekelia"] = { placetype = {"overseas territory", "territory"}, container = "United Kingdom", addl_parents = {"Cyprus", "châu Âu", "châu Á"}, british_spelling = true, }, -- Åland: Listed as a region of Finland. Wikipedia lists this under "dependent territories" in -- [[w:List of sovereign states and dependent territories by continent]]. -- unincorporated territory of the United States ["American Samoa"] = { placetype = {"unincorporated territory", "overseas territory", "territory"}, container = "Hoa Kỳ", addl_parents = {"Polynesia"}, }, -- British Overseas Territory ["Anguilla"] = { placetype = {"overseas territory", "territory"}, container = "United Kingdom", addl_parents = {"Caribe"}, british_spelling = true, }, -- de-facto independent state, internationally recognized as part of Georgia ["Abkhazia"] = { placetype = {"unrecognized country", "quốc gia"}, addl_parents = {"Georgia", "châu Âu", "châu Á"}, divs = {"districts"}, keydesc = "the de-facto independent state of [[Abkhazia]], internationally recognized as part of the country of [[Georgia]]", british_spelling = true, }, -- Australian external territory ["Ashmore and Cartier Islands"] = { the = true, placetype = {"external territory", "territory"}, container = "Úc", addl_parents = {"châu Á"}, }, -- constituent country of the Netherlands ["Aruba"] = { placetype = {"constituent country", "quốc gia"}, container = "Hà Lan", addl_parents = {"Caribe"}, british_spelling = true, }, -- British Overseas Territory ["Bermuda"] = { placetype = {"overseas territory", "territory"}, container = "United Kingdom", addl_parents = {"Bắc Mỹ"}, british_spelling = true, }, -- special municipality of the Netherlands ["Bonaire"] = { placetype = {"special municipality", "municipality", "overseas territory", "territory"}, container = "Hà Lan", addl_parents = {"Caribe"}, is_city = true, british_spelling = true, }, -- British Overseas Territory ["British Indian Ocean Territory"] = { the = true, placetype = {"overseas territory", "territory"}, container = "United Kingdom", addl_parents = {"châu Á"}, british_spelling = true, }, -- British Overseas Territory ["British Virgin Islands"] = { the = true, placetype = {"overseas territory", "territory"}, container = "United Kingdom", addl_parents = {"Caribe"}, british_spelling = true, }, -- Norwegian dependent territory ["Bouvet Island"] = { placetype = {"dependent territory", "territory"}, container = "Na Uy", addl_parents = {"châu Phi"}, british_spelling = true, }, -- British Overseas Territory ["Cayman Islands"] = { the = true, placetype = {"overseas territory", "territory"}, container = "United Kingdom", addl_parents = {"Caribe"}, british_spelling = true, }, -- Australian external territory ["Christmas Island"] = { placetype = {"external territory", "territory"}, container = "Úc", addl_parents = {"châu Á"}, british_spelling = true, }, -- Sui generis French "state private property" per Wikipedia; classify as overseas territory like the -- French Southern and Antarctic Lands. ["Clipperton Island"] = { placetype = {"overseas territory", "territory"}, container = "Pháp", addl_parents = {"Bắc Mỹ"}, }, -- Australian external territory; also called the Keeling Islands or (officially) the Cocos (Keeling) Islands ["Cocos Islands"] = { the = true, placetype = {"external territory", "territory"}, container = "Úc", addl_parents = {"châu Á"}, wp = "Cocos (Keeling) Islands", british_spelling = true, }, ["Cocos (Keeling) Islands"] = {alias_of = "Cocos Islands", display = true, the = true}, ["Keeling Islands"] = {alias_of = "Cocos Islands", display = true, the = true}, -- self-governing but in free association with New Zealand ["Cook Islands"] = { the = true, placetype = {"quốc gia"}, container = "New Zealand", addl_parents = {"Polynesia"}, british_spelling = true, }, -- constituent country of the Netherlands ["Curaçao"] = { placetype = {"constituent country", "quốc gia"}, container = "Hà Lan", addl_parents = {"Caribe"}, british_spelling = true, }, -- special territory of Chile ["Easter Island"] = { placetype = {"special territory", "territory"}, container = "Chile", addl_parents = {"Polynesia"}, }, -- British Overseas Territory ["Falkland Islands"] = { the = true, placetype = {"overseas territory", "territory"}, container = "United Kingdom", addl_parents = {"Nam Mỹ"}, british_spelling = true, }, -- autonomous territory of Denmark ["Faroe Islands"] = { the = true, placetype = {"autonomous territory", "territory"}, container = "Đan Mạch", addl_parents = {"châu Âu"}, british_spelling = true, }, -- overseas department and region of France ["French Guiana"] = { placetype = {"overseas department", "department", "administrative region", "region"}, container = "Pháp", divs = {"communes"}, addl_parents = {"Nam Mỹ"}, british_spelling = true, }, -- overseas collectivity of France ["French Polynesia"] = { placetype = {"overseas collectivity", "collectivity"}, container = "Pháp", addl_parents = {"Polynesia"}, british_spelling = true, }, -- French overseas territory ["French Southern and Antarctic Lands"] = { the = true, placetype = {"overseas territory", "territory"}, container = "Pháp", addl_parents = {"châu Phi"}, }, -- British Overseas Territory ["Gibraltar"] = { placetype = {"overseas territory", "territory"}, container = "United Kingdom", addl_parents = {"châu Âu"}, is_city = true, british_spelling = true, }, -- autonomous territory of Denmark ["Greenland"] = { placetype = {"autonomous territory", "territory"}, container = "Đan Mạch", addl_parents = {"Bắc Mỹ"}, divs = {"municipalities"}, british_spelling = true, }, -- overseas department and region of France ["Guadeloupe"] = { placetype = {"overseas department", "department", "administrative region", "region"}, container = "Pháp", addl_parents = {"Caribe"}, divs = {"communes"}, british_spelling = true, }, -- unincorporated territory of the United States ["Guam"] = { placetype = {"unincorporated territory", "overseas territory", "territory"}, container = "Hoa Kỳ", addl_parents = {"Micronesia"}, }, -- self-governing British Crown dependency; technically called the Bailiwick of Guernsey ["Guernsey"] = { placetype = {"crown dependency", "dependency", "dependent territory", "bailiwick", "territory"}, container = "United Kingdom", addl_parents = {"British Isles", "châu Âu"}, british_spelling = true, wp = "Bailiwick of %l", }, ["Bailiwick of Guernsey"] = {alias_of = "Guernsey"}, -- Australian external territory ["Heard Island and McDonald Islands"] = { the = true, placetype = {"external territory", "territory"}, container = "Úc", addl_parents = {"châu Phi"}, }, -- special administrative region of China ["Hồng Kông"] = { placetype = {"special administrative region", "thành phố"}, container = "Trung Quốc", is_city = true, british_spelling = true, }, -- self-governing British Crown dependency ["Isle of Man"] = { the = true, placetype = {"crown dependency", "dependency", "dependent territory", "territory"}, container = "United Kingdom", addl_parents = {"British Isles", "châu Âu"}, british_spelling = true, }, -- Norwegian unincorporated area ["Jan Mayen"] = { placetype = {"unincorporated area", "dependent territory", "territory", "island"}, container = "Na Uy", addl_parents = {"châu Âu"}, british_spelling = true, }, -- self-governing British Crown dependency; technically called the Bailiwick of Jersey ["Jersey"] = { placetype = {"crown dependency", "dependency", "dependent territory", "bailiwick", "territory"}, container = "United Kingdom", addl_parents = {"British Isles", "châu Âu"}, british_spelling = true, }, ["Bailiwick of Jersey"] = {alias_of = "Jersey"}, -- special administrative region of China ["Ma Cao"] = { placetype = {"special administrative region", "thành phố"}, container = "Trung Quốc", is_city = true, british_spelling = true, }, -- overseas department and region of France ["Martinique"] = { placetype = {"overseas department", "department", "administrative region", "region"}, container = "Pháp", divs = {"communes"}, addl_parents = {"Caribe"}, british_spelling = true, }, -- overseas department and region of France ["Mayotte"] = { placetype = {"overseas department", "department", "administrative region", "region"}, container = "Pháp", divs = {"communes"}, addl_parents = {"châu Phi"}, british_spelling = true, }, -- British Overseas Territory ["Montserrat"] = { placetype = {"overseas territory", "territory"}, container = "United Kingdom", addl_parents = {"Caribe"}, british_spelling = true, }, -- special collectivity of France ["New Caledonia"] = { placetype = {"special collectivity", "collectivity"}, container = "Pháp", addl_parents = {"Melanesia"}, british_spelling = true, }, -- dependent territory of New Zealand ["New Zealand Subantarctic Islands"] = { the = true, placetype = {"dependent territory", "territory"}, container = "New Zealand", addl_parents = {"Antarctica"}, british_spelling = true, }, -- self-governing but in free association with New Zealand ["Niue"] = { placetype = {"quốc gia"}, container = "New Zealand", addl_parents = {"Polynesia"}, british_spelling = true, }, -- Australian external territory ["Norfolk Island"] = { placetype = {"external territory", "territory"}, container = "Úc", addl_parents = {"Polynesia"}, british_spelling = true, }, -- de-facto independent state, internationally recognized as part of Cyprus ["Northern Cyprus"] = { placetype = {"unrecognized country", "quốc gia"}, addl_parents = {"Cyprus", "Thổ Nhĩ Kỳ", "châu Âu", "châu Á"}, divs = {"districts"}, keydesc = "the de-facto independent state of [[Northern Cyprus]], internationally recognized as part of the country of [[Cyprus]]", british_spelling = true, }, -- commonwealth, unincorporated territory of the United States ["Northern Mariana Islands"] = { the = true, placetype = {"commonwealth", "unincorporated territory", "overseas territory", "territory"}, container = "Hoa Kỳ", addl_parents = {"Micronesia"}, }, -- British Overseas Territory ["Pitcairn Islands"] = { the = true, placetype = {"overseas territory", "territory"}, container = "United Kingdom", addl_parents = {"Polynesia"}, british_spelling = true, }, -- commonwealth of the United States ["Puerto Rico"] = { placetype = {"commonwealth", "overseas territory", "territory"}, container = "Hoa Kỳ", addl_parents = {"Caribe"}, divs = {"municipalities"}, }, -- overseas department and region of France ["Réunion"] = { placetype = {"overseas department", "department", "administrative region", "region"}, container = "Pháp", divs = {"communes"}, addl_parents = {"châu Phi"}, british_spelling = true, }, -- special municipality of the Netherlands ["Saba"] = { placetype = {"special municipality", "municipality", "overseas territory", "territory"}, container = "Hà Lan", addl_parents = {"Caribe"}, is_city = true, british_spelling = true, }, -- overseas collectivity of France ["Saint Barthélemy"] = { placetype = {"overseas collectivity", "collectivity"}, container = "Pháp", addl_parents = {"Caribe"}, british_spelling = true, }, -- British Overseas Territory ["Saint Helena, Ascension and Tristan da Cunha"] = { placetype = {"overseas territory", "territory"}, container = "United Kingdom", divs = {{type = "constituent parts", container_parent_type = false}}, addl_parents = {"Atlantic Ocean", "châu Phi"}, british_spelling = true, }, -- constituent parts of the combined oveseas territory ["Ascension Island"] = { placetype = {"constituent part", "territory", "island"}, container = {key = "Saint Helena, Ascension and Tristan da Cunha", placetype = "overseas territory"}, addl_parents = {"Atlantic Ocean"}, overriding_bare_label_parents = {}, no_container_cat = false, no_container_parent = false, no_auto_augment_container = false, }, ["Saint Helena"] = { placetype = {"constituent part", "territory", "island"}, container = {key = "Saint Helena, Ascension and Tristan da Cunha", placetype = "overseas territory"}, addl_parents = {"Atlantic Ocean"}, overriding_bare_label_parents = {}, no_container_cat = false, no_container_parent = false, no_auto_augment_container = false, }, ["Tristan da Cunha"] = { placetype = {"constituent part", "territory", "archipelago"}, container = {key = "Saint Helena, Ascension and Tristan da Cunha", placetype = "overseas territory"}, addl_parents = {"Atlantic Ocean"}, overriding_bare_label_parents = {}, no_container_cat = false, no_container_parent = false, no_auto_augment_container = false, }, -- overseas collectivity of France ["Saint Martin"] = { placetype = {"overseas collectivity", "collectivity"}, container = "Pháp", addl_parents = {"Caribe"}, british_spelling = true, }, -- overseas collectivity of France ["Saint Pierre and Miquelon"] = { placetype = {"overseas collectivity", "collectivity"}, container = "Pháp", divs = {"communes"}, addl_parents = {"Bắc Mỹ"}, british_spelling = true, }, -- special municipality of the Netherlands ["Sint Eustatius"] = { placetype = {"special municipality", "municipality", "overseas territory", "territory"}, container = "Hà Lan", addl_parents = {"Caribe"}, is_city = true, british_spelling = true, }, -- constituent country of the Netherlands ["Sint Maarten"] = { placetype = {"constituent country", "quốc gia"}, container = "Hà Lan", addl_parents = {"Caribe"}, british_spelling = true, }, -- de-facto independent state, internationally recognized as part of Somalia ["Somaliland"] = { placetype = {"unrecognized country", "quốc gia"}, addl_parents = {"Somalia", "châu Phi"}, keydesc = "the de-facto independent state of [[Somaliland]], internationally recognized as part of the country of [[Somalia]]", british_spelling = true, }, -- British Overseas Territory -- FIXME: We should form the group "South Georgia and the South Sandwich Islands" like we did for -- "Saint Helena, Ascension and Tristan da Cunha". ["South Georgia"] = { placetype = {"overseas territory", "territory"}, container = "United Kingdom", addl_parents = {"Atlantic Ocean"}, british_spelling = true, }, -- de-facto independent state, internationally recognized as part of Georgia ["South Ossetia"] = { placetype = {"unrecognized country", "quốc gia"}, addl_parents = {"Georgia", "châu Âu", "châu Á"}, keydesc = "the de-facto independent state of [[South Ossetia]], internationally recognized as part of the country of [[Georgia]]", british_spelling = true, }, -- British Overseas Territory ["South Sandwich Islands"] = { the = true, placetype = {"overseas territory", "territory"}, container = "United Kingdom", addl_parents = {"Atlantic Ocean"}, wp = true, wpcat = "South Georgia and the South Sandwich Islands", british_spelling = true, }, -- Norwegian unincorporated area ["Svalbard"] = { placetype = {"unincorporated area", "dependent territory", "territory", "archipelago"}, container = "Na Uy", addl_parents = {"châu Âu"}, british_spelling = true, }, -- dependent territory of New Zealand ["Tokelau"] = { placetype = {"dependent territory", "territory"}, container = "New Zealand", addl_parents = {"Polynesia"}, british_spelling = true, }, -- de-facto independent state, internationally recognized as part of Moldova ["Transnistria"] = { placetype = {"unrecognized country", "quốc gia"}, addl_parents = {"Moldova", "châu Âu"}, keydesc = "the de-facto independent state of [[Transnistria]], internationally recognized as part of [[Moldova]]", british_spelling = true, }, -- British Overseas Territory ["Turks and Caicos Islands"] = { the = true, placetype = {"overseas territory", "territory"}, container = "United Kingdom", addl_parents = {"Caribe"}, british_spelling = true, }, -- unincorporated territory of the United States ["United States Minor Outlying Islands"] = { the = true, placetype = {"unincorporated territory", "overseas territory", "territory"}, container = "Hoa Kỳ", addl_parents = {"Islands", "Micronesia", "Polynesia", "Caribe"}, }, -- FIXME: We should add entries for the other minor outlying islands. -- Baker Island (Oceania) -- Howland Island (Oceania) -- Jarvis Island (Oceania) -- Johnston Atoll (Oceania) -- Kingman Reef (Oceania) -- Midway Atoll (Oceania) -- Navassa Island (Caribbean) -- Palmyra Atoll (Oceania) -- Wake Island (Oceania) ["Wake Island"] = { placetype = {"unincorporated territory", "overseas territory", "territory"}, container = "Hoa Kỳ", addl_parents = {"Micronesia"}, }, -- unincorporated territory of the United States ["United States Virgin Islands"] = { the = true, placetype = {"unincorporated territory", "overseas territory", "territory"}, container = "Hoa Kỳ", addl_parents = {"Caribe"}, }, ["U.S. Virgin Islands"] = {alias_of = "United States Virgin Islands", display = true, the = true}, ["US Virgin Islands"] = {alias_of = "United States Virgin Islands", display = true, the = true}, -- overseas collectivity of France ["Wallis and Futuna"] = { placetype = {"overseas collectivity", "collectivity"}, container = "Pháp", addl_parents = {"Polynesia"}, british_spelling = true, }, } export.country_like_entities_group = { -- don't do any transformations between key and placename; in particular, don't chop off anything from -- "Saint Helena, Ascension and Tristan da Cunha". key_to_placename = false, placename_to_key = false, canonicalize_key_container = make_canonicalize_key_container(nil, "quốc gia"), default_overriding_bare_label_parents = {"country-like entities"}, default_no_container_cat = true, default_no_container_parent = true, -- These entities often aren't really part of their container; a village in Wallis and Futuna (an overseas -- collectivity of France in Polynesia), for example, shouldn't be treated as a village in France, nor as a village -- in Europe. default_no_auto_augment_container = true, data = export.country_like_entities, } -- Former countries and such; we don't create "Cities in ..." categories because they don't exist anymore export.former_countries = { -- de-facto independent state of Armenian ethnicity, internationally recognized as part of Azerbaijan -- (also known as Nagorno-Karabakh) -- NOTE: Formerly listed Armenia as a parent; this seems politically non-neutral so I've taken it out. ["Artsakh"] = { placetype = {"unrecognized country", "quốc gia"}, addl_parents = {"Azerbaijan", "châu Âu", "châu Á"}, keydesc = "the former de-facto independent state of [[Artsakh]], internationally recognized as part of [[Azerbaijan]]", british_spelling = true, }, ["Nagorno-Karabakh"] = {alias_of = "Artsakh"}, ["Czechoslovakia"] = {container = "châu Âu", british_spelling = true}, ["East Germany"] = {container = "châu Âu", addl_parents = {"Đức"}, british_spelling = true}, ["North Vietnam"] = {container = "châu Á", addl_parents = {"Vietnam"}}, ["Persia"] = {placetype = {"empire", "quốc gia"}, container = "châu Á", divs = {"provinces"}}, ["Byzantine Empire"] = { the = true, placetype = {"empire", "quốc gia"}, container = {"châu Âu", "châu Phi", "châu Á"}, addl_parents = {"Ancient Europe", "Ancient Near East"}, divs = { "provinces", "themes", }}, ["Roman Empire"] = { the = true, placetype = {"empire", "quốc gia"}, container = {"châu Âu", "châu Phi", "châu Á"}, addl_parents = {"Rome"}, divs = { "provinces", {type = "FORMER provinces", cat_as = "provinces"}, }}, ["Việt Nam Cộng hòa"] = {container = "châu Á", commonscat = "South Vietnam", addl_parents = {"Việt Nam"}}, ["Soviet Union"] = { the = true, container = {"châu Âu", "châu Á"}, divs = {"republics", "autonomous republics"}, british_spelling = true}, ["West Germany"] = {container = "châu Âu", addl_parents = {"Đức"}, british_spelling = true}, ["Yugoslavia"] = {container = "châu Âu", divs = {"districts"}, keydesc = "the former [[Kingdom of Yugoslavia]] (1918–1943) or the former [[Socialist Federal Republic of Yugoslavia]] (1943–1992)", british_spelling = true}, } export.former_countries_group = { canonicalize_key_container = canonicalize_continent_container, default_overriding_bare_label_parents = {"former countries and country-like entities"}, default_is_former_place = true, default_placetype = "quốc gia", default_no_container_cat = true, default_no_container_parent = true, -- No need to augment country holonyms with continents; not needed for disambiguation. default_no_auto_augment_container = true, data = export.former_countries, } ----------------------------------------------------------------------------------- -- Subpolity tables -- ----------------------------------------------------------------------------------- export.australia_states_and_territories = { ["Lãnh thổ Thủ đô Úc, Úc"] = {placetype = "territory"}, ["Jervis Bay Territory, Úc"] = {placetype = "territory"}, ["New South Wales, Úc"] = {}, ["Northern Territory, Úc"] = {placetype = "territory"}, ["Queensland, Úc"] = {}, ["South Australia, Úc"] = {}, ["Tasmania, Úc"] = {}, ["Victoria, Úc"] = {}, ["Western Australia, Úc"] = {}, } -- states and territories of Australia export.australia_group = { default_container = "Úc", default_placetype = "state", default_divs = "local government areas", data = export.australia_states_and_territories, } export.austria_states = { ["Vienna, Austria"] = {}, ["Lower Austria, Austria"] = {}, ["Upper Austria, Austria"] = {}, ["Styria, Austria"] = {}, ["Tyrol, Austria"] = {wp = "Tyrol (state)"}, ["Carinthia, Austria"] = {}, ["Salzburg, Austria"] = {wp = "Salzburg (state)"}, ["Vorarlberg, Austria"] = {}, ["Burgenland, Austria"] = {}, } -- states of Austria export.austria_group = { default_container = "Áo", default_placetype = "state", default_divs = "municipalities", data = export.austria_states, } export.bangladesh_divisions = { ["Barisal Division, Bangladesh"] = {}, ["Chittagong Division, Bangladesh"] = {}, ["Dhaka Division, Bangladesh"] = {}, ["Khulna Division, Bangladesh"] = {}, ["Mymensingh Division, Bangladesh"] = {}, ["Rajshahi Division, Bangladesh"] = {}, ["Rangpur Division, Bangladesh"] = {}, ["Sylhet Division, Bangladesh"] = {}, } -- divisions of Bangladesh export.bangladesh_group = { key_to_placename = make_key_to_placename(", Bangladesh$", " Division$"), placename_to_key = make_placename_to_key(", Bangladesh", " Division"), default_container = "Bangladesh", default_placetype = "division", default_divs = "districts", data = export.bangladesh_divisions, } export.brazil_states = { ["Acre, Brazil"] = {wp = "%l (state)"}, ["Alagoas, Brazil"] = {}, ["Amapá, Brazil"] = {}, ["Amazonas, Brazil"] = {wp = "%l (Brazilian state)"}, ["Bahia, Brazil"] = {}, ["Ceará, Brazil"] = {}, ["Distrito Federal, Brazil"] = {wp = "Federal District (Brazil)"}, ["Espírito Santo, Brazil"] = {}, ["Goiás, Brazil"] = {}, ["Maranhão, Brazil"] = {}, ["Mato Grosso, Brazil"] = {}, ["Mato Grosso do Sul, Brazil"] = {}, ["Minas Gerais, Brazil"] = {}, ["Pará, Brazil"] = {}, ["Paraíba, Brazil"] = {}, ["Paraná, Brazil"] = {wp = "%l (state)"}, ["Pernambuco, Brazil"] = {}, ["Piauí, Brazil"] = {}, ["Rio de Janeiro, Brazil"] = {wp = "%l (state)"}, ["Rio Grande do Norte, Brazil"] = {}, ["Rio Grande do Sul, Brazil"] = {}, ["Rondônia, Brazil"] = {}, ["Roraima, Brazil"] = {}, ["Santa Catarina, Brazil"] = {wp = "%l (state)"}, ["São Paulo, Brazil"] = {wp = "%l (state)"}, ["Sergipe, Brazil"] = {}, ["Tocantins, Brazil"] = {}, } -- states of Brazil export.brazil_group = { default_container = "Brazil", default_placetype = "state", default_divs = "municipalities", data = export.brazil_states, } -- provinces (a.k.a. oblasts) of Bulgaria export.bulgaria_provinces = { ["Blagoevgrad Province, Bulgaria"] = {}, ["Burgas Province, Bulgaria"] = {}, ["Dobrich Province, Bulgaria"] = {}, ["Gabrovo Province, Bulgaria"] = {}, ["Haskovo Province, Bulgaria"] = {}, ["Kardzhali Province, Bulgaria"] = {}, ["Kyustendil Province, Bulgaria"] = {}, ["Lovech Province, Bulgaria"] = {}, ["Montana Province, Bulgaria"] = {}, ["Pazardzhik Province, Bulgaria"] = {}, ["Pernik Province, Bulgaria"] = {}, ["Pleven Province, Bulgaria"] = {}, ["Plovdiv Province, Bulgaria"] = {}, ["Razgrad Province, Bulgaria"] = {}, ["Ruse Province, Bulgaria"] = {}, ["Shumen Province, Bulgaria"] = {}, ["Silistra Province, Bulgaria"] = {}, ["Sliven Province, Bulgaria"] = {}, ["Smolyan Province, Bulgaria"] = {}, ["Sofia City Province, Bulgaria"] = {}, ["Sofia Province, Bulgaria"] = {}, ["Stara Zagora Province, Bulgaria"] = {}, ["Targovishte Province, Bulgaria"] = {}, ["Varna Province, Bulgaria"] = {}, ["Veliko Tarnovo Province, Bulgaria"] = {}, ["Vidin Province, Bulgaria"] = {}, ["Vratsa Province, Bulgaria"] = {}, ["Yambol Province, Bulgaria"] = {}, } export.bulgaria_group = { key_to_placename = make_key_to_placename(", Bulgaria$", " Province$"), placename_to_key = make_placename_to_key(", Bulgaria", " Province"), default_container = "Bulgaria", --== source: https://en.wikipedia.org/wiki/NUTS_statistical_regions_of_Bulgaria == divs = {"regions", "planning regions", "provinces", "municipalities", "settlements"}, default_placetype = "province", data = export.bulgaria_provinces, } export.canada_provinces_and_territories = { ["Alberta, Canada"] = {divs = { {type = "municipal districts", container_parent_type = "rural municipalities"}, }}, ["British Columbia, Canada"] = {divs = {type = "regional districts", container_parent_type = false}, "regional municipalities", }, ["Manitoba, Canada"] = {divs = {"rural municipalities"}}, ["New Brunswick, Canada"] = {divs = {"counties", "parishes", {type = "civil parishes", cat_as = "parishes"}}}, ["Newfoundland and Labrador, Canada"] = {}, ["Northwest Territories, Canada"] = {the = true, placetype = "territory"}, ["Nova Scotia, Canada"] = {divs = {"counties", "regional municipalities"}}, ["Nunavut, Canada"] = {placetype = "territory"}, ["Ontario, Canada"] = {divs = {"counties", "regional municipalities", {type = "townships", prep = "in"}}}, ["Prince Edward Island, Canada"] = {divs = {"counties", "parishes", "rural municipalities"}}, ["Saskatchewan, Canada"] = {divs = {"rural municipalities"}}, ["Quebec, Canada"] = {divs = { "counties", {type = "regional county municipalities", container_parent_type = "regional municipalities"}, -- administrative regions have an official (but non-governmental) function but there don't appear to be any -- equivalent regions elsewhere in Canada, so disable the [[Category:Regions of Canada]] grouping {type = "regions", container_parent_type = false}, {type = "townships", prep = "in"}, {type = "parish municipalities", cat_as = {{type = "parishes", container_parent_type = "counties"}, "municipalities"}}, {type = "township municipalities", cat_as = {{type = "townships", prep = "in"}, "municipalities"}}, {type = "village municipalities", cat_as = {{type = "villages", prep = "in"}, "municipalities"}}, }}, ["Yukon, Canada"] = {placetype = "territory"}, ["Yukon Territory, Canada"] = {alias_of = "Yukon, Canada"}, } -- provinces and territories of Canada export.canada_group = { default_container = "Canada", default_placetype = "province", data = export.canada_provinces_and_territories, } export.china_provinces_and_autonomous_regions = { -- direct-administered municipalities are not here but below under prefecture-level cities ["Anhui, China"] = {}, ["Fujian, China"] = {}, ["Fuchien, China"] = {alias_of = "Fujian, China", display = true}, ["Gansu, China"] = {}, ["Guangdong, China"] = {}, ["Guangxi, China"] = {placetype = "autonomous region"}, ["Guizhou, China"] = {}, ["Hainan, China"] = {}, ["Hebei, China"] = {}, ["Heilongjiang, China"] = {}, ["Henan, China"] = {}, ["Hubei, China"] = {}, ["Hunan, China"] = {}, ["Inner Mongolia, China"] = {placetype = "autonomous region"}, ["Jiangsu, China"] = {}, ["Jiangxi, China"] = {}, ["Jilin, China"] = {}, ["Liaoning, China"] = {}, ["Ningxia, China"] = {placetype = "autonomous region"}, ["Qinghai, China"] = {}, ["Shaanxi, China"] = {}, ["Shandong, China"] = {}, ["Shanxi, China"] = {}, ["Sichuan, China"] = {}, ["Tibet, China"] = {placetype = "autonomous region", wp = "Tibet Autonomous Region"}, ["Xinjiang, China"] = {placetype = "autonomous region"}, ["Yunnan, China"] = {}, ["Zhejiang, China"] = {}, } -- provinces and autonomous regions of China export.china_group = { default_container = "Trung Quốc", default_placetype = "province", default_divs = { "prefectures", "prefecture-level cities", "districts", "subdistricts", "townships", {type = "counties", cat_as = "counties and county-level cities"}, {type = "county-level cities", cat_as = "counties and county-level cities"}, }, data = export.china_provinces_and_autonomous_regions, } export.china_prefecture_level_cities = { -- In China, a "prefecture-level city" is not a city in any real sense. It is rather a prefecture, which is an -- administrative unit smaller than a province but bigger than a county, which is administratively controlled by -- the chief city of the prefecture (which bears the same name as the prefecture), in a unified government. Prior -- to the mid-1980's, in fact, prefecture-level cities *were* prefectures, and a few of them (especially in the -- western portion of China) have not yet been converted. Generally a given province is entirely tiled by -- prefecture-level cities, another indication that they should be treated as prefectures and not cities per se. -- Yet another indication is that prefecture-level cities can contain counties and county-level cities (which, much -- like prefecture-level cities, are effectively counties surrounding a chief city of the county, again which bears -- the same name as the county-level city). -- -- For this reason, we treat prefecture-level cities as non-city political divisions, and separately enumerate the -- most populous so we can separately categorize districts and counties under them instead of lumping them at the -- province level. -- -- Note also that China separately distinguishes "urban area" from "metro area". Sometimes the two figures are -- identical but sometimes the metro area is larger (and very occasionally smaller, which I assume is an error). I'm -- guessing that the "urban area" is the contiguous urban area over a certain density while the metro area includes -- all urban areas above a certain density; when the latter is greater, it's because of satellite cities in the -- metro area separated by suburban/exurban or rural land. -- At first I chose all prefecture/province-level cities with a total prefecture/province-level population of at -- least 6,000,000 per the 2020 census with data taken from https://www.citypopulation.de/en/china/admin/ (a total -- of 67, including the four direct-administered municipalities), and also chose all prefecture/province-level -- cities whose "urban population" was at least 2,000,000 per the 2020 census with data taken from Wikipedia -- [[w:List of cities in China by population#Cities and towns by population]] (a total of 61 cities; if we cut off -- at 1.5 million we'd have 84 cities, and if we cut off at 1 million we'd have 105 cities). Merging them produces -- 87 cities. Note that this leaves off a few well-known cities (Guilin, Qiqihar, Kashgar, Lhasa, ...) but includes -- a lot of obscure cities. -- -- At a later date I added all cities from citypopulation.de whose "urban" population per the 2020 China census was -- >= 1 million, and then finally added all urban agglomerations from citypopulation.de whose 2025-01-01 estimate -- was >= 1 million. These are sorted below by the urban agglomeration value (which is generally of the "adm-urb" = -- "administrative area (urban population)" type) and sometimes groups nearby cities into a single agglomeration -- (most notably in the case of the Pearl River Delta, grouped under Guangzhou with an agglomeration population of -- 72,700,000 but including a large number of nearby large cities in the agglomeration (although for some reason not -- Hong Kong, maybe due to the administrative issues involved). In addition, citypopulation.de includes divisions -- under a prefecture-level city if they are city-like and have an agglomeration population of at least 1 million; -- this includes several county-level cities, one county and one district (Wanzhou, a "district" of Chongqing -- despite being 142 miles away). None of the county-level cities or counties have districts under them, only -- subdistricts, towns and townships. ["Guangzhou"] = {container = "Guangdong"}, -- 18.7 prefectural, 18.8 urban; sub-provincial city; 16.097 urban (72.700 adm-urb including Dongguan, Foshan, Huizhou, Jiangmen, Shenzhen, Zhongshan) per citypopulation.de ["Dongguan"] = {container = "Guangdong"}, -- 10.5 prefectural, 10.5 urban; 9.645 per citypopulation.de; included by citypopulation.de in Guangzhou agglomeration ["Foshan"] = {container = "Guangdong"}, -- 9.5 prefectural, 9.5 urban; 9.043 per citypopulation.de; included by citypopulation.de in Guangzhou agglomeration ["Huizhou"] = {container = "Guangdong"}, -- 6.0 prefectural, 2.5 urban; 2.900 per citypopulation.de; included by citypopulation.de in Guangzhou agglomeration ["Jiangmen"] = {container = "Guangdong"}, -- 4.798 prefectural, 2.7 urban; 1.795 per citypopulation.de; included by citypopulation.de in Guangzhou agglomeration ["Shenzhen"] = {container = "Guangdong"}, -- 17.5 prefectural, 14.7 urban; sub-provincial city; 17.445 per citypopulation.de; included by citypopulation.de in Guangzhou agglomeration ["Zhongshan"] = {container = "Guangdong"}, -- 4.418 prefectural, 4.4 urban; 3.842 per citypopulation.de; included by citypopulation.de in Guangzhou agglomeration ["Shanghai"] = {placetype = {"direct-administered municipality", "municipality", "thành phố"}}, -- 24.9 prefectural, 29.9 urban; 21.910 urban (41.600 adm-urb including Changshu, Changzhou, Suzhou, Wuxi) per citypopulation.de ["Changshu"] = {container = "Jiangsu"}, -- 1.231 urban per citypopulation.de; included by citypopulation.de in Shanghai agglomeration -- NOTE: Not to be confused with Cangzhou in Hebei ["Changzhou"] = {container = "Jiangsu"}, -- 5.278 prefectural, 3.6 urban; 3.187 urban per citypopulation.de; included by citypopulation.de in Shanghai agglomeration -- NOTE: There is also a prefecture-level city Suzhou in Anhui with 5.3 million prefectural inhabitants ["Suzhou"] = {container = "Jiangsu"}, -- 12.8 prefectural, 4.3 urban; 5.893 urban per citypopulation.de; included by citypopulation.de in Shanghai agglomeration ["Wuxi"] = {container = "Jiangsu"}, -- 7.5 prefectural, 3.3 urban; 3.957 per citypopulation.de; included by citypopulation.de in Shanghai agglomeration ["Beijing"] = {placetype = {"direct-administered municipality", "municipality", "thành phố"}}, -- 21.9 prefectural, 21.9 urban; 18.961 urban (21.500 adm-urb) per citypopulation.de ["Chengdu"] = {container = "Sichuan"}, -- 20.9 prefectural, 16.9 urban; sub-provincial city; 13.568 urban (18.100 adm-urb) per citypopulation.de ["Xiamen"] = {container = "Fujian"}, -- 5.163 prefectural, 5.2 urban; sub-provincial city; 4.617 urban (15.400 adm-urb including Jinjiang, Quanzhou, Putian) per citypopulation.de ["Jinjiang"] = {container = "Fujian"}, -- 1.416 urban per citypopulation.de; included by citypopulation.de in Xiamen agglomeration ["Quanzhou"] = {container = "Fujian"}, -- 8.8 prefectural, 1.7 urban (6.7 metro); 1.469 urban per citypopulation.de; included by citypopulation.de in Xiamen agglomeration ["Putian"] = {container = "Fujian"}, -- 3.210 prefectural, 2.0 urban; 1.539 urban per citypopulation.de; included by citypopulation.de in Xiamen agglomeration ["Hangzhou"] = {container = "Zhejiang"}, -- 11.9 prefectural, 10.7 urban; sub-provincial city; 9.236 urban (14.600 adm-urb including Shaoxing) per citypopulation.de ["Shaoxing"] = {container = "Zhejiang"}, -- 5.270 prefectural, 2.5 urban; 2.333 urban per citypopulation.de; included by citypopulation.de in Hangzhou agglomeration ["Xi'an"] = {container = "Shaanxi"}, -- 12.1 prefectural, 11.9 urban; sub-provincial city; 9.393 urban (13.400 adm-urb including Xianyang) per citypopulation.de ["Xianyang"] = {container = "Shaanxi"}, -- 1.193 urban per citypopulation.de; included by citypopulation.de in Xi'an agglomeration ["Chongqing"] = {placetype = {"direct-administered municipality", "municipality", "thành phố"}}, -- 32.1 prefectural, 16.9 urban; 9.581 urban (12.900 adm-urb) per citypopulation.de ["Wuhan"] = {container = "Hubei"}, -- 12.4 prefectural, 12.3 urban; sub-provincial city; 10.495 urban (12.600 adm-urb) per citypopulation.de ["Tianjin"] = {placetype = {"direct-administered municipality", "municipality", "thành phố"}}, -- 13.9 prefectural, 13.9 urban; 11.052 urban (11.700 adm-urb) per citypopulation.de ["Changsha"] = {container = "Hunan"}, -- 10.0 prefectural, 6.0 urban; 5.630 urban (11.500 adm-urb including Xiangtan, Zhuzhou) per citypopulation.de -- Changsha County -- 1.024 urban per citypopulation.de ["Zhuzhou"] = {container = "Hunan"}, -- 1.510 urban per citypopulation.de; included by citypopulation.de in Changsha agglomeration ["Zhengzhou"] = {container = "Henan"}, -- 12.6 prefectural, 6.7 urban; 6.461 urban (10.300 adm-urb) per citypopulation.de ["Nanjing"] = {container = "Jiangsu"}, -- 9.3 prefectural, 9.3 urban; sub-provincial city; 7.520 urban (9.500 adm-urb including Ma'anshan) per citypopulation.de ["Shenyang"] = {container = "Liaoning"}, -- 9.1 prefectural, 7.9 urban; sub-provincial city; 7.026 urban (8.800 adm-urb including Fushun) per citypopulation.de ["Fushun"] = {container = "Liaoning"}, -- 1.229 urban per citypopulation.de; included by citypopulation.de in Shenyang agglomeration ["Hefei"] = {container = "Anhui"}, -- 9.4 prefectural, 4.2 urban; 5.056 urban (8.200 adm-urb) per citypopulation.de ["Shantou"] = {container = "Guangdong"}, -- 5.502 prefectural, 4.3 urban; 3.839 urban (8.050 adm-urb including Chaozhou, Jieyang, Puning) per citypopulation.de ["Chaozhou"] = {container = "Guangdong"}, -- 1.254 urban per citypopulation.de; included by citypopulation.de in Shantou agglomeration ["Jieyang"] = {container = "Guangdong"}, -- 1.243 urban per citypopulation.de; included by citypopulation.de in Shantou agglomeration ["Qingdao"] = {container = "Shandong"}, -- 10.1 prefectural, 7.1 urban; sub-provincial city; 6.165 urban (7.700 adm-urb) per citypopulation.de ["Ningbo"] = {container = "Zhejiang"}, -- 9.4 prefectural, 5.1 urban; sub-provincial city; 3.731 urban (7.600 adm-urb including Cixi, Yuyao) per citypopulation.de ["Cixi"] = {container = "Zhejiang"}, -- 1.458 urban per citypopulation.de; included by citypopulation.de in Ningbo agglomeration ["Yuyao"] = {container = "Zhejiang"}, -- 1.014 urban per citypopulation.de; included by citypopulation.de in Ningbo agglomeration -- Hong Kong 7.500 agglomeration per citypopulation.de 2025-01-01 estimate including Kowloon, Victoria ["Wenzhou"] = {container = "Zhejiang"}, -- 9.6 prefectural, 3.6 urban; 2.582 urban (7.000 adm-urb including Rui'an, Cangnan, Pingyang) per citypopulation.de -- Rui'an is a "county-level city" of the "prefecture-level city" of Wenzhou but in fact is 19 miles away from Wenzhou city proper (urban core to urban core). ["Rui'an"] = {placetype = "county-level city", container = {key = "Wenzhou", placetype = "prefecture-level city"}, divs = {"subdistricts", "townships"}}, -- 1.013 urban per citypopulation.de; included by citypopulation.de in Wenzhou agglomeration ["Kunming"] = {container = "Yunnan"}, -- 8.5 prefectural, 6.0 urban; 5.273 urban (6.800 adm-urb) per citypopulation.de -- includes Láiwú city ["Jinan"] = {container = "Shandong", wp = "%l, %c"}, -- 9.2 prefectural, 8.4 urban; sub-provincial city; 5.648 urban (6.750 adm-urb) per citypopulation.de -- includes Xīnjí city ["Shijiazhuang"] = {container = "Hebei"}, -- 11.2 prefectural, 4.1 urban; 5.090 urban (6.450 adm-urb) per citypopulation.de ["Taiyuan"] = {container = "Shanxi"}, -- 5.304 prefectural, 4.5 urban; 4.304 urban (6.150 adm-urb) per citypopulation.de ["Harbin"] = {container = "Heilongjiang"}, -- 10.0 prefectural, 7.0 urban; sub-provincial city; 5.243 urban (5.550 adm-urb) per citypopulation.de ["Nanning"] = {container = {key = "Guangxi, China", placetype = "autonomous region"}}, -- 8.7 prefectural, 3.8 urban; 4.583 urban (5.550 adm-urb) per citypopulation.de ["Dalian"] = {container = "Liaoning"}, -- 7.5 prefectural, 5.7 urban; sub-provincial city; 4.914 urban (5.400 adm-urb) per citypopulation.de ["Guiyang"] = {container = "Guizhou"}, -- 5.987 prefectural, 3.5 urban; 4.021 urban (5.300 adm-urb) per citypopulation.de ["Changchun"] = {container = "Jilin"}, -- 9.1 prefectural, 5.7 urban; sub-provincial city; 4.557 urban (5.200 adm-urb) per citypopulation.de ["Nanchang"] = {container = "Jiangxi"}, -- 6.3 prefectural, 3.6 (3.9?) urban, 5.3 metro; 3.519 urban (5.150 adm-urb) per citypopulation.de ["Ürümqi"] = {container = {key = "Xinjiang, China", placetype = "autonomous region"}}, -- 4.054 prefectural, 4.3 urban; 3.843 urban (5.000 adm-urb) per citypopulation.de ["Urumqi"] = {alias_of = "Ürümqi", display = true}, ["Fuzhou"] = {container = "Fujian"}, -- 8.3 prefectural, 4.1 urban; 3.723 urban (4.775 adm-urb) per citypopulation.de ["Linyi"] = {container = "Shandong"}, -- 11.0 prefectural, 2.3 urban; 2.744 urban (4.650 adm-urb) per citypopulation.de ["Zibo"] = {container = "Shandong"}, -- 4.704 prefectural, 2.6 urban; 2.750 urban (3.975 adm-urb) per citypopulation.de ["Luoyang"] = {container = "Henan"}, -- 7.1 prefectural, 2.4 urban; 2.231 urban (3.750 adm-urb) per citypopulation.de ["Lanzhou"] = {container = "Gansu"}, -- 4.359 prefectural, 3.1 urban; 3.013 urban (3.575 adm-urb) per citypopulation.de ["Nantong"] = {container = "Jiangsu"}, -- 7.7 prefectural, 2.3 urban; 2.988 urban (3.475 adm-urb) citypopulation.de ["Weifang"] = {container = "Shandong"}, -- 9.4 prefectural, 2.7 urban; 1.998 urban (3.325 adm-urb) per citypopulation.de ["Jiangyin"] = {container = "Jiangsu"}, -- 1.331 urban (3.200 adm-urb including Zhangjiagang) per citypopulation.de ["Zhangjiagang"] = {container = "Jiangsu"}, -- 1.056 urban per citypopulation.de; included in Jiangyin figures ["Xuzhou"] = {container = "Jiangsu"}, -- 9.1 prefectural, 2.6 urban; 2.846 urban (3.150 adm-urb) per citypopulation.de ["Handan"] = {container = "Hebei"}, -- 9.4 prefectural, 2.8 urban; 2.095 urban (2.925 adm-urb) per citypopulation.de ["Hohhot"] = {container = {key = "Inner Mongolia, China", placetype = "autonomous region"}}, -- 3.446 prefectural, 2.7 urban; 2.373 urban (2.850 adm-urb) per citypopulation.de ["Haikou"] = {container = "Hainan"}, -- 2.873 prefectural, 2.3 urban; 2.349 urban (2.800 adm-urb) per citypopulation.de ["Tangshan"] = {container = "Hebei"}, -- 7.7 prefectural, 3.4 urban; 2.550 urban (2.750 adm-urb) per citypopulation.de ["Xinxiang"] = {container = "Henan"}, -- 6.3 prefectural, 1.2 urban, 2.7 metro; 1.271 urban (2.700 adm-urb) per citypopulation.de ["Yiwu"] = {container = "Zhejiang"}, -- 1.481 urban (2.700 adm-urb) per citypopulation.de ["Zhuhai"] = {container = "Guangdong"}, -- 2.439 prefectural, 2.4 urban; 2.207 urban (2.675 adm-urb) per citypopulation.de ["Taizhou, Zhejiang"] = {container = "Zhejiang"}, -- 6.6 prefectural, 1.6 urban; 1.486 urban (2.625 adm-urb) per citypopulation.de ["Taizhou"] = {alias_of = "Taizhou, Zhejiang"}, ["Yantai"] = {container = "Shandong"}, -- 7.1 prefectural, 2.5 urban; 2.312 urban (2.550 adm-urb) per citypopulation.de ["Yinchuan"] = {container = {key = "Ningxia, China", placetype = "autonomous region"}}, -- 1.663 urban (2.525 adm-urb) per citypopulation.de ["Liuzhou"] = {container = {key = "Guangxi, China", placetype = "autonomous region"}}, -- 4.157 prefectural, 2.2 urban; 2.205 urban (2.500 adm-urb) per citypopulation.de ["Anshan"] = {container = "Liaoning"}, -- 1.480 urban (2.350 adm-urb including Liáoyáng) per citypopulation.de ["Yangzhou"] = {container = "Jiangsu"}, -- 2.067 urban (2.300 adm-urb) per citypopulation.de ["Jiaxing"] = {container = "Zhejiang"}, -- 1.188 urban (2.275 adm-urb) per citypopulation.de ["Xining"] = {container = "Qinghai"}, -- 1.677 urban (2.250 adm-urb) per citypopulation.de -- includes Dìngzhōu city and Xióngān Xīnqū ["Baoding"] = {container = "Hebei"}, -- 11.5 prefectural, 2.0 urban; 1.940 urban (2.225 adm-urb) per citypopulation.de ["Baotou"] = {container = {key = "Inner Mongolia, China", placetype = "autonomous region"}}, -- 2.709 prefectural, 2.2 urban; 2.104 urban (2.200 adm-urb) per citypopulation.de ["Ganzhou"] = {container = "Jiangxi"}, -- 9.0 prefectural, 1.6 urban; 1.778 urban (2.150 adm-urb) per citypopulation.de ["Pingdingshan"] = {container = "Henan"}, -- 1.046 urban (2.100 adm-urb) per citypopulation.de ["Zunyi"] = {container = "Guizhou"}, -- 6.6 prefectural, 2.4 urban/metro; 1.675 urban (2.025 adm-urb) per citypopulation.de ["Bengbu"] = {container = "Anhui"}, -- 1.078 urban (2.000 adm-urb) per citypopulation.de ["Datong"] = {container = "Shanxi"}, -- 3.105 prefectural, 2.0 urban; 1.810 urban (2.000 adm-urb) per citypopulation.de ["Anyang"] = {container = "Henan"}, -- 1.188 urban (1.960 adm-urb) per citypopulation.de ["Huai'an"] = {container = "Jiangsu"}, -- 4.556 prefectural, 2.6 urban; 1.805 urban (1.940 adm-urb) per citypopulation.de ["Zaozhuang"] = {container = "Shandong"}, -- 1.350 urban (1.900 adm-urb) per citypopulation.de ["Zhanjiang"] = {container = "Guangdong"}, -- 7.0 prefectural, 1.9 urban; 1.401 urban (1.890 adm-urb) per citypopulation.de ["Huainan"] = {container = "Anhui"}, -- 1.256 urban (1.880 adm-urb) per citypopulation.de ["Jining"] = {container = "Shandong"}, -- 8.4 prefectural, 1.5 urban; 1.700 urban (1.880 adm-urb) per citypopulation.de ["Daqing"] = {container = "Heilongjiang"}, -- 1.604 urban (1.860 adm-urb) per citypopulation.de ["Wuhu"] = {container = "Anhui"}, -- 1.598 urban (1.850 adm-urb) per citypopulation.de ["Guilin"] = {container = {key = "Guangxi, China", placetype = "autonomous region"}}, -- 1.361 urban (1.830 adm-urb) per citypopulation.de ["Mianyang"] = {container = "Sichuan"}, -- 1.549 urban (1.800 adm-urb) per citypopulation.de ["Xiangyang"] = {container = "Hubei"}, -- 1.686 urban (1.800 adm-urb) per citypopulation.de ["Huzhou"] = {container = "Zhejiang"}, -- 1.084 urban (1.750 adm-urb) per citypopulation.de ["Puyang"] = {container = "Henan"}, -- 0.824 urban (1.750 adm-urb) per citypopulation.de ["Shangqiu"] = {container = "Henan"}, -- 7.8 prefectural, 1.9 urban (2.8 metro); 1.031 urban (1.750 adm-urb) per citypopulation.de ["Qinhuangdao"] = {container = "Hebei"}, -- 1.520 urban (1.740 adm-urb) per citypopulation.de ["Xingtai"] = {container = "Hebei"}, -- 7.1 prefectural, 971,000 urban; 1.5 urban (1.700 adm-urb) per citypopulation.de ["Nanyang"] = {container = "Henan", wp = "%l, %c"}, -- 9.7 prefectural, 2.1 urban/metro; 1.481 urban (1.680 adm-urb) per citypopulation.de ["Jiaozuo"] = {container = "Henan"}, -- 0.875 urban (1.640 adm-urb) per citypopulation.de ["Jilin City"] = {container = "Jilin"}, -- 1.509 urban (1.610 adm-urb) per citypopulation.de ["Jilin"] = {alias_of = "Jilin City"}, ["Jinhua"] = {container = "Zhejiang"}, -- 7.1 prefectural, 1.5 urban; 1.041 urban (1.590 adm-urb) per citypopulation.de ["Shangrao"] = {container = "Jiangxi"}, -- 6.5 prefectural, 2.1 urban, 1.3 metro [sic]; 1.342 urban (1.580 adm-urb) per citypopulation.de ["Heze"] = {container = "Shandong"}, -- 8.8 prefectural, 1.3 urban; 1.294 urban (1.570 adm-urb) per citypopulation.de ["Yulin"] = {container = {key = "Guangxi, China", placetype = "autonomous region"}, wp = "%l, %c"}, -- 0.878 urban (1.570 adm-urb) per citypopulation.de ["Tai'an"] = {container = "Shandong"}, -- 1.417 urban (1.560 adm-urb) per citypopulation.de ["Weihai"] = {container = "Shandong"}, -- 1.340 urban (1.510 adm-urb) per citypopulation.de -- Taizhou, Jiangsu would be here (1.490 adm-urb) but moved to china_prefecture_level_cities_2 to avoid clash ["Yancheng"] = {container = "Jiangsu"}, -- 6.7 prefectural, 1.6 urban; 1.353 urban (1.460 adm-urb) per citypopulation.de ["Zhangjiakou"] = {container = "Hebei"}, -- 1.339 urban (1.450 adm-urb) per citypopulation.de ["Maoming"] = {container = "Guangdong"}, -- 6.2 prefectural, 2.5 urban; 1.308 urban (1.440 adm-urb) per citypopulation.de ["Nanchong"] = {container = "Sichuan"}, -- 1.254 urban (1.440 adm-urb) per citypopulation.de ["Fuyang"] = {container = "Anhui", wp = "%l, %c"}, -- 8.2 prefectural, 2.1 urban; 1.191 urban (1.410 adm-urb) per citypopulation.de ["Xuchang"] = {container = "Henan"}, -- 0.850 urban (1.390 adm-urb) per citypopulation.de ["Yichang"] = {container = "Hubei"}, -- 1.284 urban (1.390 adm-urb) per citypopulation.de ["Dazhou"] = {container = "Sichuan"}, -- 1.136 urban (1.380 adm-urb) per citypopulation.de ["Kaifeng"] = {container = "Henan"}, -- 1.194 urban (1.340 adm-urb) per citypopulation.de ["Luzhou"] = {container = "Sichuan"}, -- 1.128 urban (1.340 adm-urb) per citypopulation.de ["Qingyuan"] = {container = "Guangdong"}, -- 1.198 urban (1.340 adm-urb) per citypopulation.de ["Huaibei"] = {container = "Anhui"}, -- 0.831 urban (1.330 adm-urb) per citypopulation.de ["Yibin"] = {container = "Sichuan"}, -- 1.101 urban (1.310 adm-urb) per citypopulation.de ["Lu'an"] = {container = "Anhui"}, -- 1.070 urban (1.300 adm-urb) per citypopulation.de ["Dezhou"] = {container = "Shandong"}, -- 0.843 urban (1.290 adm-urb) per citypopulation.de ["Rizhao"] = {container = "Shandong"}, -- 1.147 urban (1.270 adm-urb) per citypopulation.de ["Changzhi"] = {container = "Shanxi"}, -- 1.047 urban (1.250 adm-urb) per citypopulation.de ["Hengyang"] = {container = "Hunan"}, -- 6.6 prefectural, 1.5 urban; 1.185 urban (1.250 adm-urb) per citypopulation.de ["Jinzhou"] = {container = "Liaoning"}, -- 1.021 urban (1.240 adm-urb) per citypopulation.de ["Liaocheng"] = {container = "Shandong"}, -- 1.020 urban (1.240 adm-urb) per citypopulation.de ["Changde"] = {container = "Hunan"}, -- 1.101 urban (1.230 adm-urb) per citypopulation.de ["Suqian"] = {container = "Jiangsu"}, -- 1.082 urban (1.230 adm-urb) per citypopulation.de ["Xinyang"] = {container = "Henan"}, -- 6.2 prefectural, 1.4 urban/metro; 1.015 urban (1.230 adm-urb) per citypopulation.de ["Baoji"] = {container = "Shaanxi"}, -- 1.108 urban (1.220 adm-urb) per citypopulation.de ["Yueyang"] = {container = "Hunan"}, -- 1.125 urban (1.220 adm-urb) per citypopulation.de ["Zhenjiang"] = {container = "Jiangsu"}, -- 1.124 urban (1.210 adm-urb) per citypopulation.de -- Wanzhou is a "district" of the "direct-administered municipality" of Chongqing but in fact is 142 miles away from Chongqing city proper. ["Wanzhou"] = {placetype = "district", container = {key = "Chongqing", placetype = "direct-administered municipality"}, divs = {"subdistricts", "townships"}, wp = "%l, %c"}, -- 1.078 urban (1.190 adm-urb) per citypopulation.de ["Ulanhad"] = {container = {key = "Inner Mongolia, China", placetype = "autonomous region"}}, -- 1.093 urban (1.180 adm-urb) per citypopulation.de ["Chifeng"] = {alias_of = "Ulanhad"}, ["Ulankhad"] = {alias_of = "Ulanhad", display = true}, ["Ezhou"] = {container = "Hubei"}, -- < 0.750 urban (1.180 adm-urb) per citypopulation.de ["Zhaoqing"] = {container = "Guangdong"}, -- 1.036 urban (1.160 adm-urb) per citypopulation.de ["Lianyungang"] = {container = "Jiangsu"}, -- 4.599 prefectural, 2.0 urban; 1.071 urban (1.150 adm-urb) per citypopulation.de ["Qujing"] = {container = "Yunnan"}, -- 0.976 urban (1.150 adm-urb) per citypopulation.de -- Shuyang is a "county" of the "prefecture-level city" of Suqian but in fact is 38 miles away from Suqian city proper (urban core to urban core). -- The county itself is 37 miles by 34 miles. ["Shuyang"] = {placetype = "county", container = {key = "Suqian", placetype = "prefecture-level city"}, divs = {"subdistricts", "townships"}, wp = "%l County"}, -- 0.986 urban (1.120 adm-urb) per citypopulation.de -- Yongkang is a "county-level city" of the "prefecture-level city" of Jinhua but in fact is 32 miles away from Jinhua city proper (urban core to urban core). ["Yongkang"] = {placetype = "county-level city", container = {key = "Jinhua", placetype = "prefecture-level city"}, divs = {"subdistricts", "townships"}, wp = "%l, Zhejiang"}, -- < 0.750 urban (1.110 adm-urb) per citypopulation.de ["Zhoukou"] = {container = "Henan"}, -- 9.0 prefectural, 721,000 urban (1.6 metro); < 0.750 urban (1.100 adm-urb) per citypopulation.de ["Beihai"] = {container = {key = "Guangxi, China", placetype = "autonomous region"}}, -- < 1 urban (1.090 adm-urb) per citypopulation.de ["Jiujiang"] = {container = "Jiangxi"}, -- < 0.750 urban (1.080 adm-urb) per citypopulation.de ["Shaoyang"] = {container = "Hunan"}, -- 6.6 prefectural, 802,000 urban, 1.4 metro; < 1 urban (1.080 adm-urb) per citypopulation.de ["Chuzhou"] = {container = "Anhui"}, -- < 0.750 urban (1.070 adm-urb) per citypopulation.de ["Hengshui"] = {container = "Hebei"}, -- 0.885 urban (1.070 adm-urb) per citypopulation.de ["Shiyan"] = {container = "Hubei"}, -- 0.955 urban (1.070 adm-urb) per citypopulation.de ["Huludao"] = {container = "Liaoning"}, -- 0.764 urban (1.060 adm-urb) per citypopulation.de ["Dongying"] = {container = "Shandong"}, -- 0.961 urban (1.050 adm-urb) per citypopulation.de ["Guigang"] = {container = {key = "Guangxi, China", placetype = "autonomous region"}}, -- 0.921 urban (1.050 adm-urb) per citypopulation.de -- Liuyang is a "county-level city" of the "prefecture-level city" of Changsha but in fact is 47 miles away from Changsha city proper (urban core to urban core). ["Liuyang"] = {placetype = "county-level city", container = {key = "Changsha", placetype = "prefecture-level city"}, divs = {"subdistricts", "townships"}}, -- 0.886 urban (1.040 adm-urb) per citypopulation.de -- NOTE: Not to be confused with Changzhou in Jiangsu ["Cangzhou"] = {container = "Hebei"}, -- 7.3 prefectural, 621,000 urban; 0.759 urban (1.030 adm-urb) per citypopulation.de ["Liupanshui"] = {container = "Guizhou"}, -- < 0.750 urban (1.030 adm-urb) per citypopulation.de ["Panjin"] = {container = "Liaoning"}, -- 0.980 urban (1.030 adm-urb) per citypopulation.de ["Qiqihar"] = {container = "Heilongjiang"}, -- 1.030 urban (1.030 adm-urb) per citypopulation.de ["Linfen"] = {container = "Shanxi"}, -- < 0.750 urban (1.010 adm-urb) per citypopulation.de -- Tengzhou is a "county-level city" of the "prefecture-level city" of Zaozhuang but in fact is 30 miles away from Zaozhuang city proper (urban core to urban core). ["Tengzhou"] = {placetype = "county-level city", container = {key = "Zaozhuang", placetype = "prefecture-level city"}, divs = {"subdistricts", "townships"}}, -- 0.937 urban (1.010 adm-urb) per citypopulation.de -- 3 extra that got added in earlier incarnations and aren't found in the "major agglomerations of the world" page https://citypopulation.de/en/world/agglomerations/ reference date 2025-01-01 ["Kunshan"] = {container = "Jiangsu"}, -- 1.652 urban (2020 China census) per citypopulation.de ["Zhumadian"] = {container = "Henan"}, -- 7.0 prefectural, 722,000 urban per Wikipedia; 0.754 urban per citypopulation.de ["Bijie"] = {container = "Guizhou"}, -- 6.9 prefectural, ? urban, ? metro (not listed in Wikipedia); < 0.750 urban per citypopulation.de } export.china_prefecture_level_cities_group = { -- don't do any transformations between key and placename; in particular, don't chop off anything from -- "Taizhou, Zhejiang" or "Suzhou, Anhui". key_to_placename = false, placename_to_key = false, -- don't add ", China" to make the key default_container = "Trung Quốc", canonicalize_key_container = make_canonicalize_key_container(", China", "province"), -- Prefecture-level cities aren't really cities but allow them to be identified that way, as many people -- don't understand how Chinese administrative divisions work. default_placetype = {"prefecture-level city", "thành phố"}, default_divs = { -- "towns" (but not "townships") are automatically added as they are specified as generic_before_non_cities, -- and prefecture-level cities (as well as county-level cities) are considered non-cities. "districts", "subdistricts", "townships", {type = "counties", cat_as = "counties and county-level cities"}, {type = "county-level cities", cat_as = "counties and county-level cities"}, }, data = export.china_prefecture_level_cities, } -- Needed to avoid problems with two cities called Taizhou and Suzhou. export.china_prefecture_level_cities_2 = { -- NOTE: There is also a larger and better-known prefecture-level city Taizhou in Zhejiang. ["Taizhou, Jiangsu"] = {container = "Jiangsu"}, -- 1.3 urban (1.490 adm-urb) per citypopulation.de 2020 census ["Taizhou"] = {alias_of = "Taizhou, Jiangsu"}, -- NOTE: There is also a larger and better-known prefecture-level city Suzhou in Jiangsu. ["Suzhou, Anhui"] = {container = "Anhui"}, -- 5.3 prefectural, 1.766 metro and "urban"; < 1 urban (1.010 adm-urb) per citypopulation.de 2020 census -- hopefully this will work because we also have Suzhou as a key by itself for the larger, more-well-known Suzhou in Jiangsu ["Suzhou"] = {alias_of = "Suzhou, Anhui"}, } export.china_prefecture_level_cities_group_2 = { -- don't do any transformations between key and placename; in particular, don't chop off anything from -- "Taizhou, Jiangsu". placename_to_key = false, -- don't add ", China" to make the key default_container = "Trung Quốc", canonicalize_key_container = make_canonicalize_key_container(", China", "province"), -- Prefecture-level cities aren't really cities but allow them to be identified that way, as many people -- don't understand how Chinese administrative divisions work. default_placetype = {"prefecture-level city", "thành phố"}, default_divs = { -- "towns" (but not "townships") are automatically added as they are specified as generic_before_non_cities, -- and prefecture-level cities (as well as county-level cities) are considered non-cities. "districts", "subdistricts", "townships", {type = "counties", cat_as = "counties and county-level cities"}, {type = "county-level cities", cat_as = "counties and county-level cities"}, }, data = export.china_prefecture_level_cities_2, } export.finland_regions = { ["Lapland, Finland"] = {wp = "%l (%c)"}, ["North Ostrobothnia, Finland"] = {}, ["Northern Ostrobothnia, Finland"] = {alias_of = "North Ostrobothnia, Finland", display = true}, ["Kainuu, Finland"] = {}, ["North Karelia, Finland"] = {}, ["Northern Savonia, Finland"] = {}, ["North Savo, Finland"] = {alias_of = "Northern Savonia, Finland", display = true}, ["Southern Savonia, Finland"] = {}, ["South Savo, Finland"] = {alias_of = "Southern Savonia, Finland", display = true}, ["South Karelia, Finland"] = {}, ["Central Finland, Finland"] = {}, ["South Ostrobothnia, Finland"] = {}, ["Southern Ostrobothnia, Finland"] = {alias_of = "South Ostrobothnia, Finland", display = true}, ["Ostrobothnia, Finland"] = {wp = "%l (region)"}, ["Central Ostrobothnia, Finland"] = {}, ["Pirkanmaa, Finland"] = {}, ["Satakunta, Finland"] = {}, ["Päijänne Tavastia, Finland"] = {}, ["Päijät-Häme, Finland"] = {alias_of = "Päijänne Tavastia, Finland", display = true}, ["Tavastia Proper, Finland"] = {}, ["Kanta-Häme, Finland"] = {alias_of = "Tavastia Proper, Finland", display = true}, ["Kymenlaakso, Finland"] = {}, ["Uusimaa, Finland"] = {}, ["Southwest Finland, Finland"] = {}, ["Åland Islands, Finland"] = {the = true, wp = "Åland"}, ["Åland, Finland"] = {alias_of = "Åland Islands, Finland"}, -- differs in "the" } -- regions of Finland export.finland_group = { default_container = "Phần Lan", default_placetype = "region", default_divs = "municipalities", data = export.finland_regions, } export.france_administrative_regions = { ["Auvergne-Rhône-Alpes, France"] = {}, ["Bourgogne-Franche-Comté, France"] = {}, ["Brittany, France"] = {wp = "%l (administrative region)"}, ["Centre-Val de Loire, France"] = {}, ["Corsica, France"] = {}, -- overseas departments are handled in `export.country_like_entities` -- ["French Guiana"] = {}, ["Grand Est, France"] = {}, -- ["Guadeloupe"] = {}, ["Hauts-de-France, France"] = {}, ["Île-de-France, France"] = {}, -- ["Martinique"] = {}, -- ["Mayotte"] = {}, ["Normandy, France"] = {wp = "%l (administrative region)"}, ["Nouvelle-Aquitaine, France"] = {}, ["Occitania, France"] = {wp = "%l (administrative region)"}, ["Occitanie, France"] = {alias_of = "Occitania, France", display = true}, ["Pays de la Loire, France"] = {}, ["Provence-Alpes-Côte d'Azur, France"] = {}, -- ["Réunion"] = {}, } -- administrative regions of France export.france_group = { default_container = "Pháp", -- Canonically these are 'administrative regions' but also treat as 'region' ('administrative region' falls back -- to 'region'). default_placetype = "region", default_divs = { "communes", {type = "municipalities", cat_as = "communes"}, "departments", {type = "prefectures", cat_as = {"prefectures", "departmental capitals"}}, {type = "French prefectures", cat_as = {"prefectures", "departmental capitals"}}, }, data = export.france_administrative_regions, } export.france_departments = { ["Ain, France"] = {container = "Auvergne-Rhône-Alpes"}, -- 01 ["Aisne, France"] = {container = "Hauts-de-France"}, -- 02 ["Allier, France"] = {container = "Auvergne-Rhône-Alpes"}, -- 03 ["Alpes-de-Haute-Provence, France"] = {container = "Provence-Alpes-Côte d'Azur"}, -- 04 ["Hautes-Alpes, France"] = {container = "Provence-Alpes-Côte d'Azur"}, -- 05 ["Alpes-Maritimes, France"] = {container = "Provence-Alpes-Côte d'Azur"}, -- 06 ["Ardèche, France"] = {container = "Auvergne-Rhône-Alpes"}, -- 07 ["Ardennes, France"] = {container = "Grand Est", wp = "%l (department)"}, -- 08 ["Ariège, France"] = {container = "Occitania", wp = "%l (department)"}, -- 09 ["Aube, France"] = {container = "Grand Est"}, -- 10 ["Aude, France"] = {container = "Occitania"}, -- 11 ["Aveyron, France"] = {container = "Occitania"}, -- 12 ["Bouches-du-Rhône, France"] = {container = "Provence-Alpes-Côte d'Azur"}, -- 13 ["Calvados, France"] = {container = "Normandy", wp = "%l (department)"}, -- 14 ["Cantal, France"] = {container = "Auvergne-Rhône-Alpes"}, -- 15 ["Charente, France"] = {container = "Nouvelle-Aquitaine"}, -- 16 ["Charente-Maritime, France"] = {container = "Nouvelle-Aquitaine"}, -- 17 ["Cher, France"] = {container = "Centre-Val de Loire", wp = "%l (department)"}, -- 18 ["Corrèze, France"] = {container = "Nouvelle-Aquitaine"}, -- 19 ["Corse-du-Sud, France"] = {container = "Corsica"}, -- 2A ["Haute-Corse, France"] = {container = "Corsica"}, -- 2B ["Côte-d'Or, France"] = {container = "Bourgogne-Franche-Comté"}, -- 21 ["Côte d'Or, France"] = {alias_of = "Côte-d'Or, France", display = true}, ["Côtes-d'Armor, France"] = {container = "Brittany"}, -- 22 ["Côtes d'Armor, France"] = {alias_of = "Côtes-d'Armor, France", display = true}, ["Creuse, France"] = {container = "Nouvelle-Aquitaine"}, -- 23 ["Dordogne, France"] = {container = "Nouvelle-Aquitaine"}, -- 24 ["Doubs, France"] = {container = "Bourgogne-Franche-Comté"}, -- 25 ["Drôme, France"] = {container = "Auvergne-Rhône-Alpes"}, -- 26 ["Eure, France"] = {container = "Normandy"}, -- 27 ["Eure-et-Loir, France"] = {container = "Centre-Val de Loire"}, -- 28 ["Finistère, France"] = {container = "Brittany"}, -- 29 ["Gard, France"] = {container = "Occitania"}, -- 30 ["Haute-Garonne, France"] = {container = "Occitania"}, -- 31 ["Gers, France"] = {container = "Occitania"}, -- 32 ["Gironde, France"] = {container = "Nouvelle-Aquitaine"}, -- 33 ["Hérault, France"] = {container = "Occitania"}, -- 34 ["Ille-et-Vilaine, France"] = {container = "Brittany"}, -- 35 ["Indre, France"] = {container = "Centre-Val de Loire"}, -- 36 ["Indre-et-Loire, France"] = {container = "Centre-Val de Loire"}, -- 37 ["Isère, France"] = {container = "Auvergne-Rhône-Alpes"}, -- 38 ["Jura, France"] = {container = "Bourgogne-Franche-Comté", wp = "%l (department)"}, -- 39 ["Landes, France"] = {container = "Nouvelle-Aquitaine", wp = "%l (department)"}, -- 40 ["Loir-et-Cher, France"] = {container = "Centre-Val de Loire"}, -- 41 ["Loire, France"] = {container = "Auvergne-Rhône-Alpes", wp = "%l (department)"}, -- 42 ["Haute-Loire, France"] = {container = "Auvergne-Rhône-Alpes"}, -- 43 ["Loire-Atlantique, France"] = {container = "Pays de la Loire"}, -- 44 ["Loiret, France"] = {container = "Centre-Val de Loire"}, -- 45 ["Lot, France"] = {container = "Occitania", wp = "%l (department)"}, -- 46 ["Lot-et-Garonne, France"] = {container = "Nouvelle-Aquitaine"}, -- 47 ["Lozère, France"] = {container = "Occitania"}, -- 48 ["Maine-et-Loire, France"] = {container = "Pays de la Loire"}, -- 49 ["Manche, France"] = {container = "Normandy"}, -- 50 ["Marne, France"] = {container = "Grand Est", wp = "%l (department)"}, -- 51 ["Haute-Marne, France"] = {container = "Grand Est"}, -- 52 ["Mayenne, France"] = {container = "Pays de la Loire"}, -- 53 ["Meurthe-et-Moselle, France"] = {container = "Grand Est"}, -- 54 ["Meuse, France"] = {container = "Grand Est", wp = "%l (department)"}, -- 55 ["Morbihan, France"] = {container = "Brittany"}, -- 56 ["Moselle, France"] = {container = "Grand Est", wp = "%l (department)"}, -- 57 ["Nièvre, France"] = {container = "Bourgogne-Franche-Comté"}, -- 58 ["Nord, France"] = {container = "Hauts-de-France", wp = "%l (French department)"}, -- 59 ["Oise, France"] = {container = "Hauts-de-France"}, -- 60 ["Orne, France"] = {container = "Normandy"}, -- 61 ["Pas-de-Calais, France"] = {container = "Hauts-de-France"}, -- 62 ["Puy-de-Dôme, France"] = {container = "Auvergne-Rhône-Alpes"}, -- 63 ["Pyrénées-Atlantiques, France"] = {container = "Nouvelle-Aquitaine"}, -- 64 ["Hautes-Pyrénées, France"] = {container = "Occitania"}, -- 65 ["Pyrénées-Orientales, France"] = {container = "Occitania"}, -- 66 ["Bas-Rhin, France"] = {container = "Grand Est"}, -- 67 ["Haut-Rhin, France"] = {container = "Grand Est"}, -- 68 ["Rhône, France"] = {container = "Auvergne-Rhône-Alpes", wp = "%l (department)"}, -- 69D ["Metropolis of Lyon, France"] = {container = "Auvergne-Rhône-Alpes"}, -- 69M ["Lyon Metropolis, France"] = {alias_of = "Metropolis of Lyon, France"}, ["Lyon, France"] = {alias_of = "Metropolis of Lyon, France"}, ["Haute-Saône, France"] = {container = "Bourgogne-Franche-Comté"}, -- 70 ["Saône-et-Loire, France"] = {container = "Bourgogne-Franche-Comté"}, -- 71 ["Sarthe, France"] = {container = "Pays de la Loire"}, -- 72 ["Savoie, France"] = {container = "Auvergne-Rhône-Alpes"}, -- 73 ["Haute-Savoie, France"] = {container = "Auvergne-Rhône-Alpes"}, -- 74 ["Paris, France"] = {container = "Île-de-France"}, -- 75 ["Seine-Maritime, France"] = {container = "Normandy"}, -- 76 ["Seine-et-Marne, France"] = {container = "Île-de-France"}, -- 77 ["Yvelines, France"] = {container = "Île-de-France"}, -- 78 ["Deux-Sèvres, France"] = {container = "Nouvelle-Aquitaine"}, -- 79 ["Somme, France"] = {container = "Hauts-de-France", wp = "%l (department)"}, -- 80 ["Tarn, France"] = {container = "Occitania", wp = "%l (department)"}, -- 81 ["Tarn-et-Garonne, France"] = {container = "Occitania"}, -- 82 ["Var, France"] = {container = "Provence-Alpes-Côte d'Azur", wp = "%l (department)"}, -- 83 ["Vaucluse, France"] = {container = "Provence-Alpes-Côte d'Azur"}, -- 84 ["Vendée, France"] = {container = "Pays de la Loire"}, -- 85 ["Vienne, France"] = {container = "Nouvelle-Aquitaine", wp = "%l (department)"}, -- 86 ["Haute-Vienne, France"] = {container = "Nouvelle-Aquitaine"}, -- 87 ["Vosges, France"] = {container = "Grand Est", wp = "%l (department)"}, -- 88 ["Yonne, France"] = {container = "Bourgogne-Franche-Comté"}, -- 89 ["Territoire de Belfort, France"] = {container = "Bourgogne-Franche-Comté"}, -- 90 ["Essonne, France"] = {container = "Île-de-France"}, -- 91 ["Hauts-de-Seine, France"] = {container = "Île-de-France"}, -- 92 ["Seine-Saint-Denis, France"] = {container = "Île-de-France"}, -- 93 ["Val-de-Marne, France"] = {container = "Île-de-France"}, -- 94 ["Val-d'Oise, France"] = {container = "Île-de-France"}, -- 95 --["Guadeloupe"] = {container = "Guadeloupe"}, -- 971 --["Martinique"] = {container = "Martinique"}, -- 972 --["Guyane"] = {container = "French Guiana", wp = "French Guiana"}, -- 973 --["La Réunion"] = {container = "Réunion", wp = "Réunion"}, -- 974 --["Mayotte"] = {container = "Mayotte"}, -- 976 } export.france_departments_group = { placename_to_key = make_placename_to_key(", France"), canonicalize_key_container = make_canonicalize_key_container(", France", "region"), default_placetype = "department", default_divs = { "communes", {type = "municipalities", cat_as = "communes"}, }, data = export.france_departments, } export.germany_states = { ["Baden-Württemberg, Germany"] = {}, ["Bavaria, Germany"] = {}, -- Berlin, Bremen and Hamburg are effectively city-states and don't have districts ([[Kreise]]), so override -- the default_divs setting. Better not to include them at all since they're included as cities down below. -- ["Berlin"] = {divs = {}}, ["Brandenburg, Germany"] = {}, -- ["Bremen"] = {divs = {}}, -- ["Hamburg"] = {divs = {}}, ["Hesse, Germany"] = {}, ["Lower Saxony, Germany"] = {}, ["Mecklenburg-Vorpommern, Germany"] = {}, ["Mecklenburg-Western Pomerania, Germany"] = {alias_of = "Mecklenburg-Vorpommern, Germany", display = true}, ["North Rhine-Westphalia, Germany"] = {}, ["Rhineland-Palatinate, Germany"] = {}, ["Saarland, Germany"] = {}, ["Saxony, Germany"] = {}, ["Saxony-Anhalt, Germany"] = {}, ["Schleswig-Holstein, Germany"] = {}, ["Thuringia, Germany"] = {}, } -- states of Germany export.germany_group = { default_container = "Đức", default_placetype = "state", default_divs = {"districts", "municipalities"}, data = export.germany_states, } export.greece_regions = { ["Attica, Greece"] = {wp = "%l (region)"}, ["Central Greece, Greece"] = {wp = "%l (administrative region)"}, ["Central Macedonia, Greece"] = {}, ["Crete, Greece"] = {}, ["Eastern Macedonia and Thrace, Greece"] = {}, ["Epirus, Greece"] = {wp = "%l (region)"}, ["Ionian Islands, Greece"] = {the = true, wp = "%l (region)"}, ["North Aegean, Greece"] = {the = true}, -- I would expect 'the Peloponnese' but Wikipedia mostly has categories like [[w:Category:Geography of Peloponnese (region)]] -- and [[w:Category:Buildings and structures in Peloponnese (region)]]; only [[w:Category:People from the Peloponnese (region)]] -- has "the" in it. ["Peloponnese, Greece"] = {wp = "%l (region)"}, ["South Aegean, Greece"] = {the = true}, ["Thessaly, Greece"] = {}, ["Western Greece, Greece"] = {}, ["Western Macedonia, Greece"] = {}, ["Mount Athos, Greece"] = {placetype = {"autonomous region", "region"}, wp = "Monastic community of Mount Athos"}, } -- regions of Greece export.greece_group = { default_container = "Hy Lạp", default_placetype = "region", data = export.greece_regions, } local india_polity_with_divisions = {"divisions", "districts"} local india_polity_without_divisions = {"districts"} -- States and union territories of India. Only some of them are divided into divisions. export.india_states_and_union_territories = { ["Andaman and Nicobar Islands, India"] = {the = true, placetype = "union territory", divs = india_polity_without_divisions}, ["Andhra Pradesh, India"] = {divs = india_polity_without_divisions}, ["Arunachal Pradesh, India"] = {divs = india_polity_with_divisions}, ["Assam, India"] = {divs = india_polity_with_divisions}, ["Bihar, India"] = {divs = india_polity_with_divisions}, ["Chandigarh, India"] = {placetype = "union territory", divs = india_polity_without_divisions}, ["Chhattisgarh, India"] = {divs = india_polity_with_divisions}, ["Dadra and Nagar Haveli and Daman and Diu, India"] = {placetype = "union territory", divs = india_polity_without_divisions}, ["Delhi, India"] = {placetype = "union territory", divs = india_polity_with_divisions}, ["Goa, India"] = {divs = india_polity_without_divisions}, ["Gujarat, India"] = {divs = india_polity_without_divisions}, ["Haryana, India"] = {divs = india_polity_with_divisions}, ["Himachal Pradesh, India"] = {divs = india_polity_with_divisions}, ["Jammu and Kashmir, India"] = {placetype = "union territory", divs = india_polity_with_divisions, wp = "%l (union territory)"}, ["Jharkhand, India"] = {divs = india_polity_with_divisions}, ["Karnataka, India"] = {divs = india_polity_with_divisions}, ["Kerala, India"] = {divs = india_polity_without_divisions}, ["Ladakh, India"] = {placetype = "union territory", divs = india_polity_with_divisions}, ["Lakshadweep, India"] = {placetype = "union territory", divs = india_polity_without_divisions}, ["Madhya Pradesh, India"] = {divs = india_polity_with_divisions}, ["Maharashtra, India"] = {divs = india_polity_with_divisions}, ["Manipur, India"] = {divs = india_polity_without_divisions}, ["Meghalaya, India"] = {divs = india_polity_with_divisions}, ["Mizoram, India"] = {divs = india_polity_without_divisions}, ["Nagaland, India"] = {divs = india_polity_with_divisions}, ["Odisha, India"] = {divs = india_polity_with_divisions}, ["Puducherry, India"] = {placetype = "union territory", divs = india_polity_without_divisions, wp = "%l (union territory)"}, ["Pondicherry, India"] = {alias_of = "Puducherry, India", display = true}, ["Punjab, India"] = {divs = india_polity_with_divisions, wp = "%l, %c"}, ["Rajasthan, India"] = {divs = india_polity_with_divisions}, ["Sikkim, India"] = {divs = india_polity_without_divisions}, ["Tamil Nadu, India"] = {divs = india_polity_without_divisions}, ["Telangana, India"] = {divs = india_polity_without_divisions}, ["Tripura, India"] = {divs = india_polity_without_divisions}, ["Uttar Pradesh, India"] = {divs = india_polity_with_divisions}, ["Uttarakhand, India"] = {divs = india_polity_with_divisions}, ["West Bengal, India"] = {divs = india_polity_with_divisions}, } -- states and union territories of India export.india_group = { default_container = "Ấn Độ", default_placetype = "state", data = export.india_states_and_union_territories, } export.indonesia_provinces = { ["Aceh, Indonesia"] = {}, ["Bali, Indonesia"] = {}, ["Bangka Belitung Islands, Indonesia"] = {the = true}, ["Banten, Indonesia"] = {}, ["Bengkulu, Indonesia"] = {}, ["Central Java, Indonesia"] = {}, ["Central Kalimantan, Indonesia"] = {}, ["Central Papua, Indonesia"] = {}, ["Central Sulawesi, Indonesia"] = {}, ["East Java, Indonesia"] = {}, ["East Kalimantan, Indonesia"] = {}, ["East Nusa Tenggara, Indonesia"] = {}, ["Gorontalo, Indonesia"] = {}, ["Highland Papua, Indonesia"] = {wp = "%l"}, ["Special Capital Region of Jakarta, Indonesia"] = {the = true, wp = "Jakarta"}, ["Jakarta, Indonesia"] = {alias_of = "Special Capital Region of Jakarta, Indonesia"}, ["Jambi, Indonesia"] = {}, ["Lampung, Indonesia"] = {}, ["Maluku, Indonesia"] = {}, ["North Kalimantan, Indonesia"] = {}, ["North Maluku, Indonesia"] = {}, ["North Sulawesi, Indonesia"] = {}, ["North Papua, Indonesia"] = {}, ["North Sumatra, Indonesia"] = {}, ["Papua, Indonesia"] = {wp = "%l (province)"}, ["Riau, Indonesia"] = {}, ["Riau Islands, Indonesia"] = {the = true}, ["Southeast Sulawesi, Indonesia"] = {}, ["South Kalimantan, Indonesia"] = {}, ["South Papua, Indonesia"] = {}, ["South Sulawesi, Indonesia"] = {}, ["South Sumatra, Indonesia"] = {}, ["Southwest Papua, Indonesia"] = {}, ["West Java, Indonesia"] = {}, ["West Kalimantan, Indonesia"] = {}, ["West Nusa Tenggara, Indonesia"] = {}, ["West Papua, Indonesia"] = {wp = "%l (province)"}, ["West Sulawesi, Indonesia"] = {}, ["West Sumatra, Indonesia"] = {}, ["Special Region of Yogyakarta, Indonesia"] = {the = true}, ["Yogyakarta, Indonesia"] = {alias_of = "Special Region of Yogyakarta, Indonesia"}, } -- provinces of Indonesia export.indonesia_group = { default_container = "Indonesia", default_placetype = "province", -- per https://www.quora.com/Does-Indonesia-use-British-or-American-English, Indonesia tends to use American -- spellings. data = export.indonesia_provinces, } export.iran_provinces = { ["Alborz Province, Iran"] = {}, -- abbreviation AL, capital [[w:Karaj]] ["Ardabil Province, Iran"] = {}, -- abbreviation AR, capital [[w:Ardabil]] ["Bushehr Province, Iran"] = {}, -- abbreviation BU, capital [[w:Bushehr]] ["Chaharmahal and Bakhtiari Province, Iran"] = {}, -- abbreviation CB, capital [[w:Shahr-e Kord]] ["East Azerbaijan Province, Iran"] = {}, -- abbreviation EA, capital [[w:Tabriz]] ["Fars Province, Iran"] = {}, -- abbreviation FA, capital [[w:Shiraz]] ["Pars Province, Iran"] = {alias_of = "Fars Province, Iran", display = true}, ["Gilan Province, Iran"] = {}, -- abbreviation GN, capital [[w:Rasht]] ["Golestan Province, Iran"] = {}, -- abbreviation GO, capital [[w:Gorgan]] ["Hamadan Province, Iran"] = {}, -- abbreviation HA, capital [[w:Hamadan]] ["Hormozgan Province, Iran"] = {}, -- abbreviation HO, capital [[w:Bandar Abbas]] ["Ilam Province, Iran"] = {}, -- abbreviation IL, capital [[w:Ilam, Iran|Ilam]] ["Isfahan Province, Iran"] = {}, -- abbreviation IS, capital [[w:Isfahan]] ["Kerman Province, Iran"] = {}, -- abbreviation KN, capital [[w:Kerman]] ["Kermanshah Province, Iran"] = {}, -- abbreviation KE, capital [[w:Kermanshah]] ["Khuzestan Province, Iran"] = {}, -- abbreviation KH, capital [[w:Ahvaz]] ["Kohgiluyeh and Boyer-Ahmad Province, Iran"] = {}, -- abbreviation KB, capital [[w:Yasuj]] ["Kurdistan Province, Iran"] = {}, -- abbreviation KU, capital [[w:Sanandaj]] ["Lorestan Province, Iran"] = {}, -- abbreviation LO, capital [[w:Khorramabad]] ["Markazi Province, Iran"] = {}, -- abbreviation MA, capital [[w:Arak, Iran|Arak]] ["Mazandaran Province, Iran"] = {}, -- abbreviation MN, capital [[w:Sari, Iran|Sari]] ["North Khorasan Province, Iran"] = {}, -- abbreviation NK, capital [[w:Bojnord]] ["Qazvin Province, Iran"] = {}, -- abbreviation QA, capital [[w:Qazvin]] ["Qom Province, Iran"] = {}, -- abbreviation QM, capital [[w:Qom]] ["Razavi Khorasan Province, Iran"] = {}, -- abbreviation RK, capital [[w:Mashhad]] ["Semnan Province, Iran"] = {}, -- abbreviation SE, capital [[w:Semnan, Iran|Semnan]] ["Sistan and Baluchestan Province, Iran"] = {}, -- abbreviation SB, capital [[w:Zahedan]] ["South Khorasan Province, Iran"] = {}, -- abbreviation SK, capital [[w:Birjand]] ["Tehran Province, Iran"] = {}, -- abbreviation TE, capital [[w:Tehran]] ["West Azerbaijan Province, Iran"] = {}, -- abbreviation WA, capital [[w:Urmia]] ["Yazd Province, Iran"] = {}, -- abbreviation YA, capital [[w:Yazd]] ["Zanjan Province, Iran"] = {}, -- abbreviation ZA, capital [[w:Zanjan, Iran|Zanjan]] } -- provinces of Iran export.iran_group = { key_to_placename = make_key_to_placename(", Iran", " Province$"), placename_to_key = make_placename_to_key(", Iran", " Province"), default_container = "Iran", default_placetype = "province", -- There aren't nearly enough counties of Iran currently entered in any language to allow for categorizing them -- per-province. (As of 2025-05-09, there are only 6 counties in each of [[Category:en:Counties of Iran]], -- [[Category:fa:Counties of Iran]] and [[Category:ar:Counties of Iran]].) -- default_divs = "counties", -- For obscure reasons, provinces of Iran, Laos, Thailand and Vietnam use lowercase 'province' default_wp = "%e province", data = export.iran_provinces, } export.ireland_counties = { ["County Carlow, Ireland"] = {}, ["County Cavan, Ireland"] = {}, ["County Clare, Ireland"] = {}, ["County Cork, Ireland"] = {}, ["County Donegal, Ireland"] = {}, ["County Dublin, Ireland"] = {}, ["County Galway, Ireland"] = {}, ["County Kerry, Ireland"] = {}, ["County Kildare, Ireland"] = {}, ["County Kilkenny, Ireland"] = {}, ["County Laois, Ireland"] = {}, ["County Leitrim, Ireland"] = {}, ["County Limerick, Ireland"] = {}, ["County Longford, Ireland"] = {}, ["County Louth, Ireland"] = {}, ["County Mayo, Ireland"] = {}, ["County Meath, Ireland"] = {}, ["County Monaghan, Ireland"] = {}, ["County Offaly, Ireland"] = {}, ["County Roscommon, Ireland"] = {}, ["County Sligo, Ireland"] = {}, ["County Tipperary, Ireland"] = {}, ["County Waterford, Ireland"] = {}, ["County Westmeath, Ireland"] = {}, ["County Wexford, Ireland"] = {}, ["County Wicklow, Ireland"] = {}, } local function make_irish_type_key_to_placename(container_pattern) return function(key) key = key:gsub(container_pattern, "") local elliptical_key = key:gsub("^County ", "") return key, elliptical_key end end local function make_irish_type_placename_to_key(container_suffix) return function(placename) if not placename:find("^County ") and not placename:find("^City ") then placename = "County " .. placename end return placename .. container_suffix end end -- counties of Ireland export.ireland_group = { key_to_placename = make_irish_type_key_to_placename(", Ireland$"), placename_to_key = make_irish_type_placename_to_key(", Ireland"), default_container = "Ireland", default_placetype = "county", data = export.ireland_counties, } export.italy_administrative_regions = { ["Abruzzo, Italy"] = {}, ["Aosta Valley, Italy"] = {placetype = {"autonomous region", "administrative region", "region"}}, ["Apulia, Italy"] = {}, ["Basilicata, Italy"] = {}, ["Calabria, Italy"] = {}, ["Campania, Italy"] = {}, ["Emilia-Romagna, Italy"] = {}, ["Friuli-Venezia Giulia, Italy"] = {placetype = {"autonomous region", "administrative region", "region"}}, ["Lazio, Italy"] = {}, ["Liguria, Italy"] = {}, ["Lombardy, Italy"] = {}, ["Marche, Italy"] = {}, ["Molise, Italy"] = {}, ["Piedmont, Italy"] = {}, ["Sardinia, Italy"] = {placetype = {"autonomous region", "administrative region", "region"}}, ["Sicily, Italy"] = {placetype = {"autonomous region", "administrative region", "region"}}, ["Trentino-Alto Adige, Italy"] = {placetype = {"autonomous region", "administrative region", "region"}}, ["Tuscany, Italy"] = {}, ["Umbria, Italy"] = {}, ["Veneto, Italy"] = {}, } -- administrative regions of Italy export.italy_group = { default_container = "Ý", default_placetype = "region", data = export.italy_administrative_regions, } -- table of Japanese prefectures; interpolated into the main 'places' table, but also needed separately export.japan_prefectures = { ["Aichi, Nhật Bản"] = {}, ["Akita, Nhật Bản"] = {}, ["Aomori, Nhật Bản"] = {}, ["Chiba, Nhật Bản"] = {}, ["Ehime, Nhật Bản"] = {}, ["Fukui, Nhật Bản"] = {}, ["Fukuoka, Nhật Bản"] = {}, ["Fukushima, Nhật Bản"] = {}, ["Gifu, Nhật Bản"] = {}, ["Gunma, Nhật Bản"] = {}, ["Hiroshima, Nhật Bản"] = {}, ["Hokkaidō, Nhật Bản"] = {divs = "subprefectures", wp = "Hokkaidō"}, ["Hyōgo, Nhật Bản"] = {}, ["Hyogo, Nhật Bản"] = {alias_of = "Hyōgo, Nhật Bản", display = true}, ["Ibaraki, Nhật Bản"] = {}, ["Ishikawa, Nhật Bản"] = {}, ["Iwate, Nhật Bản"] = {}, ["Kagawa, Nhật Bản"] = {}, ["Kagoshima, Nhật Bản"] = {}, ["Kanagawa, Nhật Bản"] = {}, ["Kōchi, Nhật Bản"] = {}, ["Kochi, Nhật Bản"] = {alias_of = "Kōchi, Nhật Bản", display = true}, ["Kumamoto, Nhật Bản"] = {}, ["Kyoto, Nhật Bản"] = {}, ["Mie, Nhật Bản"] = {}, ["Miyagi, Nhật Bản"] = {}, ["Miyazaki, Nhật Bản"] = {}, ["Nagano, Nhật Bản"] = {}, ["Nagasaki, Nhật Bản"] = {}, ["Nara, Nhật Bản"] = {}, ["Niigata, Nhật Bản"] = {}, ["Ōita, Nhật Bản"] = {}, ["Oita, Nhật Bản"] = {alias_of = "Ōita, Nhật Bản", display = true}, ["Okayama, Nhật Bản"] = {}, ["Okinawa, Nhật Bản"] = {}, ["Ōsaka, Nhật Bản"] = {}, ["Osaka, Nhật Bản"] = {alias_of = "Ōsaka, Nhật Bản", display = true}, ["Saga, Nhật Bản"] = {}, ["Saitama, Nhật Bản"] = {}, ["Shiga, Nhật Bản"] = {}, ["Shimane, Nhật Bản"] = {}, ["Shizuoka, Nhật Bản"] = {}, ["Tochigi, Nhật Bản"] = {}, ["Tokushima, Nhật Bản"] = {}, ["Tottori, Nhật Bản"] = {}, ["Toyama, Nhật Bản"] = {}, ["Wakayama, Nhật Bản"] = {}, ["Yamagata, Nhật Bản"] = {}, ["Yamaguchi, Nhật Bản"] = {}, ["Yamanashi, Nhật Bản"] = {}, } -- prefectures of Japan export.japan_group = { key_to_placename = make_key_to_placename(", Nhật Bản$", " $"), placename_to_key = make_placename_to_key(", Nhật Bản", ""), default_container = "Nhật Bản", default_placetype = "prefecture", data = export.japan_prefectures, } export.laos_provinces = { ["Attapeu Province, Laos"] = {}, ["Bokeo Province, Laos"] = {}, ["Bolikhamxai Province, Laos"] = {}, ["Champasak Province, Laos"] = {}, ["Houaphanh Province, Laos"] = {}, ["Khammouane Province, Laos"] = {}, ["Luang Namtha Province, Laos"] = {}, ["Luang Prabang Province, Laos"] = {}, ["Oudomxay Province, Laos"] = {}, ["Phongsaly Province, Laos"] = {}, ["Salavan Province, Laos"] = {}, ["Savannakhet Province, Laos"] = {}, ["Vientiane Province, Laos"] = {}, ["Vientiane Prefecture, Laos"] = {placetype = "prefecture", wp = "%l"}, ["Sainyabuli Province, Laos"] = {}, ["Sekong Province, Laos"] = {}, ["Xaisomboun Province, Laos"] = {}, ["Xiangkhouang Province, Laos"] = {}, } local function laos_placename_to_key(placename) if placename == "Vientiane Prefecture" then return placename .. ", Laos" end if placename:find(" Province$") then return placename .. ", Laos" end return placename .. " Province, Laos" end -- provinces of Laos export.laos_group = { key_to_placename = make_key_to_placename(", Laos$", {" Province$", " Prefecture$"}), placename_to_key = laos_placename_to_key, default_container = "Lào", default_placetype = "province", -- For obscure reasons, provinces of Iran, Laos, Thailand and Vietnam use lowercase 'province' default_wp = "%e province", data = export.laos_provinces, } export.lebanon_governorates = { ["Akkar Governorate, Lebanon"] = {}, ["Baalbek-Hermel Governorate, Lebanon"] = {}, ["Beirut Governorate, Lebanon"] = {}, ["Beqaa Governorate, Lebanon"] = {}, ["Keserwan-Jbeil Governorate, Lebanon"] = {}, ["Mount Lebanon Governorate, Lebanon"] = {}, ["Nabatieh Governorate, Lebanon"] = {}, -- These two are generic enough that we don't want to automatically augment a use of `gov/North Governorate` or -- `gov/South Governorate` with `c/Lebanon`. ["North Governorate, Lebanon"] = {no_auto_augment_container = true}, ["South Governorate, Lebanon"] = {no_auto_augment_container = true}, } -- governorates of Lebanon export.lebanon_group = { key_to_placename = make_key_to_placename(", Lebanon$", " Governorate$"), placename_to_key = make_placename_to_key(", Lebanon", " Governorate"), default_container = "Lebanon", default_placetype = "governorate", data = export.lebanon_governorates, } export.malaysia_states = { ["Johor, Malaysia"] = {}, ["Kedah, Malaysia"] = {}, ["Kelantan, Malaysia"] = {}, ["Malacca, Malaysia"] = {}, ["Negeri Sembilan, Malaysia"] = {}, ["Pahang, Malaysia"] = {}, ["Penang, Malaysia"] = {}, ["Perak, Malaysia"] = {}, ["Perlis, Malaysia"] = {}, ["Sabah, Malaysia"] = {}, ["Sarawak, Malaysia"] = {}, ["Selangor, Malaysia"] = {}, ["Terengganu, Malaysia"] = {}, } -- states of Malaysia export.malaysia_group = { default_container = "Malaysia", default_placetype = "state", default_wp = "%l, %c", data = export.malaysia_states, } export.malta_regions = { -- Some of the regions are generic enough that we don't want to automatically augment a use of e.g. -- `r/Northern Region` with `c/Malta`. In particular; -- * "Eastern Region" also occurs at least in Ghana, Uganda, Iceland, Nigeria, Venezuela, North Macedonia and -- El Salvador; -- * "Northern Region" also occurs at least in Ghana, Uganda, Malawi, Nigeria, Canada and South Africa; -- * "Western Region" also occurs at least in Abu Dhabi, Bahrain, South Africa, Ghana, Iceland, Nepal, Nigeria, -- Serbia and Uganda; -- * "Southern Region" also occurs at least in Nigeria, Eritrea, Iceland, Ireland, Malawi and Serbia. ["Eastern Region, Malta"] = {no_auto_augment_container = true}, ["Gozo Region, Malta"] = {wp = "%l"}, ["Northern Region, Malta"] = {no_auto_augment_container = true}, ["Port Region, Malta"] = {}, ["Southern Region, Malta"] = {no_auto_augment_container = true}, ["Western Region, Malta"] = {no_auto_augment_container = true}, } -- regions of Malta export.malta_group = { key_to_placename = make_key_to_placename(", Malta$", " Region"), placename_to_key = make_placename_to_key(", Malta", " Region"), default_container = "Malta", default_placetype = "region", default_wp = "%l, %c", default_the = true, data = export.malta_regions, } export.mexico_states = { ["Aguascalientes, Mexico"] = {}, ["Baja California, Mexico"] = {}, -- not display-canonicalizing because the "Norte" could be for emphasis ["Baja California Norte, Mexico"] = {alias_of = "Baja California, Mexico"}, ["Baja California Sur, Mexico"] = {}, ["Campeche, Mexico"] = {}, ["Chiapas, Mexico"] = {}, ["Chihuahua, Mexico"] = {wp = "%l (state)"}, ["Coahuila, Mexico"] = {}, ["Colima, Mexico"] = {}, ["Durango, Mexico"] = {}, ["Guanajuato, Mexico"] = {}, ["Guerrero, Mexico"] = {}, ["Hidalgo, Mexico"] = {wp = "%l (state)"}, ["Jalisco, Mexico"] = {}, ["State of Mexico, Mexico"] = {the = true}, ["Mexico, Mexico"] = {alias_of = "State of Mexico, Mexico"}, -- differs in "the" -- ["Mexico City, Mexico"] = {}, doesn't belong here because it's a city ["Michoacán, Mexico"] = {}, ["Michoacan, Mexico"] = {alias_of = "Michoacán, Mexico", display = true}, ["Morelos, Mexico"] = {}, ["Nayarit, Mexico"] = {}, ["Nuevo León, Mexico"] = {}, ["Nuevo Leon, Mexico"] = {alias_of = "Nuevo León, Mexico", display = true}, ["Oaxaca, Mexico"] = {}, ["Puebla, Mexico"] = {}, ["Querétaro, Mexico"] = {}, ["Queretaro, Mexico"] = {alias_of = "Querétaro, Mexico", display = true}, ["Quintana Roo, Mexico"] = {}, ["San Luis Potosí, Mexico"] = {}, ["San Luis Potosi, Mexico"] = {alias_of = "San Luis Potosí, Mexico", display = true}, ["Sinaloa, Mexico"] = {}, ["Sonora, Mexico"] = {}, ["Tabasco, Mexico"] = {}, ["Tamaulipas, Mexico"] = {}, ["Tlaxcala, Mexico"] = {}, ["Veracruz, Mexico"] = {}, ["Yucatán, Mexico"] = {}, ["Yucatan, Mexico"] = {alias_of = "Yucatán, Mexico", display = true}, ["Zacatecas, Mexico"] = {}, } -- Mexican states export.mexico_group = { default_container = "Mexico", default_placetype = "state", data = export.mexico_states, } export.moldova_districts_and_autonomous_territorial_units = { ["Anenii Noi District, Moldova"] = {}, -- capital [[Anenii Noi]] ["Basarabeasca District, Moldova"] = {}, -- capital [[Basarabeasca]] ["Briceni District, Moldova"] = {}, -- capital [[Briceni]] ["Cahul District, Moldova"] = {}, -- capital [[Cahul]] ["Cantemir District, Moldova"] = {}, -- capital [[Cantemir, Moldova|Cantemir]] ["Călărași District, Moldova"] = {}, -- capital [[Călărași, Moldova|Călărași]] ["Căușeni District, Moldova"] = {}, -- capital [[Căușeni]] ["Cimișlia District, Moldova"] = {}, -- capital [[Cimișlia]] ["Criuleni District, Moldova"] = {}, -- capital [[Criuleni]] ["Dondușeni District, Moldova"] = {}, -- capital [[Dondușeni]] ["Drochia District, Moldova"] = {}, -- capital [[Drochia]] ["Dubăsari District, Moldova"] = {}, -- capital [[Cocieri]] ["Edineț District, Moldova"] = {}, -- capital [[Edineț]] ["Fălești District, Moldova"] = {}, -- capital [[Fălești]] ["Florești District, Moldova"] = {}, -- capital [[Florești, Moldova|Florești]] ["Glodeni District, Moldova"] = {}, -- capital [[Glodeni]] ["Hîncești District, Moldova"] = {}, -- capital [[Hîncești]] ["Ialoveni District, Moldova"] = {}, -- capital [[Ialoveni]] ["Leova District, Moldova"] = {}, -- capital [[Leova]] ["Nisporeni District, Moldova"] = {}, -- capital [[Nisporeni]] ["Ocnița District, Moldova"] = {}, -- capital [[Ocnița]] ["Orhei District, Moldova"] = {}, -- capital [[Orhei]] ["Rezina District, Moldova"] = {}, -- capital [[Rezina]] ["Rîșcani District, Moldova"] = {}, -- capital [[Rîșcani]] ["Sîngerei District, Moldova"] = {}, -- capital [[Sîngerei]] ["Soroca District, Moldova"] = {}, -- capital [[Soroca]] ["Strășeni District, Moldova"] = {}, -- capital [[Strășeni]] ["Șoldănești District, Moldova"] = {}, -- capital [[Șoldănești]] ["Ștefan Vodă District, Moldova"] = {}, -- capital [[Ștefan Vodă]] ["Taraclia District, Moldova"] = {}, -- capital [[Taraclia]] ["Telenești District, Moldova"] = {}, -- capital [[Telenești]] ["Ungheni District, Moldova"] = {}, -- capital [[Ungheni]] ["Chișinău, Moldova"] = {placetype = "municipality"}, ["Bălți, Moldova"] = {placetype = "municipality"}, ["Gagauzia, Moldova"] = {placetype = {"autonomous territorial unit", "autonomous region", "region"}}, -- capital [[Comrat]] -- the remainder are under the de-facto control of the unrecognized state of Transnistria ["Bender, Moldova"] = {placetype = "municipality"}, ["Tighina, Moldova"] = {alias_of = "Bender, Moldova"}, ["Transnistria, Moldova"] = {placetype = {"autonomous territorial unit", "autonomous region", "region"}}, -- capital [[Tiraspol]] ["Left Bank of the Dniester, Moldova"] = {alias_of = "Transnistria, Moldova"}, ["Administrative-Territorial Units of the Left Bank of the Dniester, Moldova"] = {alias_of = "Transnistria, Moldova"}, } local function moldova_placename_to_key(placename) local elliptical_key = placename .. ", Moldova" if export.moldova_districts_and_autonomous_territorial_units[elliptical_key] then return elliptical_key end if placename:find(" District$") then return placename .. ", Moldova" end return placename .. " District, Moldova" end -- Moldovan districts (raions) and autonomous territorial units export.moldova_group = { key_to_placename = make_key_to_placename(", Moldova$", " District"), placename_to_key = moldova_placename_to_key, default_container = "Moldova", default_placetype = {"district", "raion"}, default_divs = "communes", data = export.moldova_districts_and_autonomous_territorial_units, } export.morocco_regions = { ["Tangier-Tetouan-Al Hoceima, Morocco"] = {}, ["Oriental, Morocco"] = {wp = "%l (%c)"}, ["L'Oriental, Morocco"] = {alias_of = "Oriental, Morocco", display = true}, ["Fez-Meknes, Morocco"] = {}, ["Rabat-Sale-Kenitra, Morocco"] = {wp = "Rabat-Salé-Kénitra"}, ["Rabat-Salé-Kénitra, Morocco"] = {alias_of = "Rabat-Sale-Kenitra, Morocco", display = true}, ["Beni Mellal-Khenifra, Morocco"] = {wp = "Béni Mellal-Khénifra"}, ["Béni Mellal-Khénifra, Morocco"] = {alias_of = "Beni Mellal-Khenifra, Morocco", display = true}, ["Casablanca-Settat, Morocco"] = {}, ["Marrakesh-Safi, Morocco"] = {wp = "Marrakesh–Safi"}, -- WP title has en-dash ["Marrakech-Safi, Morocco"] = {alias_of = "Marrakesh-Safi, Morocco", display = true}, ["Draa-Tafilalet, Morocco"] = {wp = "Drâa-Tafilalet"}, ["Drâa-Tafilalet, Morocco"] = {alias_of = "Draa-Tafilalet, Morocco", display = true}, ["Souss-Massa, Morocco"] = {}, ["Guelmim-Oued Noun, Morocco"] = { keydesc = "+++. '''NOTE:''' This region lies partly within the disputed territory of [[Western Sahara]]" }, ["Laayoune-Sakia El Hamra, Morocco"] = { wp = "Laâyoune-Sakia El Hamra", keydesc = "+++. '''NOTE:''' This region lies almost completely within the disputed territory of [[Western Sahara]]", }, ["Laâyoune-Sakia El Hamra, Morocco"] = {alias_of = "Laayoune-Sakia El Hamra, Morocco", display = true}, ["Dakhla-Oued Ed-Dahab, Morocco"] = { keydesc = "+++. '''NOTE:''' This region lies completely within the disputed territory of [[Western Sahara]]", }, } -- regions of Morocco export.morocco_group = { default_container = "Maroc", default_placetype = "region", data = export.morocco_regions, } export.egypt_governorates = { ["Cairo Governorate, Egypt"] = {}, ["Giza Governorate, Egypt"] = {}, ["Sharqia Governorate, Egypt"] = {}, ["Dakahlia Governorate, Egypt"] = {}, ["Beheira Governorate, Egypt"] = {}, ["Minya Governorate, Egypt"] = {}, ["Qalyubia Governorate, Egypt"] = {}, ["Sohag Governorate, Egypt"] = {}, ["Alexandria Governorate, Egypt"] = {}, ["Gharbia Governorate, Egypt"] = {}, ["Asyut Governorate, Egypt"] = {}, ["Monufia Governorate, Egypt"] = {}, ["Faiyum Governorate, Egypt"] = {}, ["Kafr El Sheikh Governorate, Egypt"] = {}, ["Qena Governorate, Egypt"] = {}, ["Beni Suef Governorate, Egypt"] = {}, ["Damietta Governorate, Egypt"] = {}, ["Aswan Governorate, Egypt"] = {}, ["Ismailia Governorate, Egypt"] = {}, ["Luxor Governorate, Egypt"] = {}, ["Suez Governorate, Egypt"] = {}, ["Port Said Governorate, Egypt"] = {}, ["Matrouh Governorate, Egypt"] = {}, ["North Sinai Governorate, Egypt"] = {}, ["Red Sea Governorate, Egypt"] = {}, ["New Valley Governorate, Egypt"] = {}, ["South Sinai Governorate, Egypt"] = {}, } -- governorates of Egypt export.egypt_group = { key_to_placename = make_key_to_placename(", Egypt$", " Governorate$"), placename_to_key = make_placename_to_key(", Egypt", " Governorate"), default_container = "Ai Cập", default_placetype = "governorate", data = export.egypt_governorates, } export.netherlands_provinces = { ["Drenthe, Netherlands"] = {}, ["Flevoland, Netherlands"] = {}, ["Friesland, Netherlands"] = {}, ["Gelderland, Netherlands"] = {}, ["Groningen, Netherlands"] = {wp = "%l (province)"}, ["Limburg, Netherlands"] = {wp = "%l (%c)"}, ["North Brabant, Netherlands"] = {}, -- Foreign forms get display-canonicalized. ["Noord-Brabant, Netherlands"] = {alias_of = "North Brabant, Netherlands", display = true}, ["North Holland, Netherlands"] = {}, ["Noord-Holland, Netherlands"] = {alias_of = "North Holland, Netherlands", display = true}, ["Overijssel, Netherlands"] = {}, ["South Holland, Netherlands"] = {}, ["Zuid-Holland, Netherlands"] = {alias_of = "South Holland, Netherlands", display = true}, ["Utrecht, Netherlands"] = {wp = "%l (province)"}, ["Zeeland, Netherlands"] = {}, } -- provinces of the Netherlands export.netherlands_group = { default_container = "Hà Lan", default_placetype = "province", default_divs = "municipalities", data = export.netherlands_provinces, } export.new_zealand_regions = { -- North Island regions ["Northland, New Zealand"] = {wp = "%l Region"}, -- ISO 3166-2 code NZ-NTL, number 1, capital [[Whangārei]] ["Auckland, New Zealand"] = {wp = "%l Region"}, -- ISO 3166-2 code NZ-AUK, number 2, capital [[Auckland]] ["Waikato, New Zealand"] = {}, -- ISO 3166-2 code NZ-WKO, number 3, capital [[Hamilton, New Zealand|Hamilton]] ["Bay of Plenty, New Zealand"] = {the = true, wp = "%l Region"}, -- ISO 3166-2 code NZ-BOP, number 4, capital [[Whakatāne]] ["Gisborne, New Zealand"] = {placetype = {"region", "district"}, wp = "%l District"}, -- ISO 3166-2 code NZ-GIS, number 5, capital [[Gisborne, New Zealand|Gisborne]] ["Hawke's Bay, New Zealand"] = {}, -- ISO 3166-2 code NZ-HKB, number 6, capital [[Napier, New Zealand|Napier]] ["Taranaki, New Zealand"] = {}, -- ISO 3166-2 code NZ-TKI, number 7, capital [[Stratford, New Zealand|Stratford]] ["Manawatū-Whanganui, New Zealand"] = {}, -- ISO 3166-2 code NZ-MWT, number 8, capital [[Palmerston North]] ["Manawatu-Whanganui, New Zealand"] = {alias_of = "Manawatū-Whanganui, New Zealand", display = true}, ["Manawatu-Wanganui, New Zealand"] = {alias_of = "Manawatū-Whanganui, New Zealand", display = true}, ["Wellington, New Zealand"] = {wp = "%l Region"}, -- ISO 3166-2 code NZ-WGN, number 9, capital [[Wellington]] -- South Island regions ["Tasman, New Zealand"] = {placetype = {"region", "district"}, wp = "%l District"}, -- ISO 3166-2 code NZ-TAS, number 10, capital [[Richmond, New Zealand|Richmond]] ["Nelson, New Zealand"] = {placetype = {"region", "thành phố"}, wp = "%l, %c", is_city = true}, -- ISO 3166-2 code NZ-NSN, number 11, capital [[Nelson, New Zealand|Nelson]] ["Marlborough, New Zealand"] = {placetype = {"region", "district"}, wp = "%l District"}, -- ISO 3166-2 code NZ-MBH, number 12, capital [[Blenheim, New Zealand|Blenheim]] ["West Coast, New Zealand"] = {the = true, wp = "%l Region"}, -- ISO 3166-2 code NZ-WTC, number 13, capital [[Greymouth]] ["Canterbury, New Zealand"] = {wp = "%l Region"}, -- ISO 3166-2 code NZ-CAN, number 14, capital [[Christchurch]] ["Otago, New Zealand"] = {}, -- ISO 3166-2 code NZ-OTA, number 15, capital [[Dunedin]] ["Southland, New Zealand"] = {wp = "%l Region"}, -- ISO 3166-2 code NZ-STL, number 16, capital [[Invercargill]] } -- regions of New Zealand export.new_zealand_group = { default_container = "New Zealand", default_placetype = "region", data = export.new_zealand_regions, } export.nigeria_states = { ["Abia State, Nigeria"] = {}, ["Adamawa State, Nigeria"] = {}, ["Akwa Ibom State, Nigeria"] = {}, ["Anambra State, Nigeria"] = {}, ["Bauchi State, Nigeria"] = {}, ["Bayelsa State, Nigeria"] = {}, ["Benue State, Nigeria"] = {}, ["Borno State, Nigeria"] = {}, ["Cross River State, Nigeria"] = {}, ["Delta State, Nigeria"] = {}, ["Ebonyi State, Nigeria"] = {}, ["Edo State, Nigeria"] = {}, ["Ekiti State, Nigeria"] = {}, ["Enugu State, Nigeria"] = {}, ["Federal Capital Territory, Nigeria"] = { -- not a state but allow it to be referenced as one in holonyms placetype = {"federal territory", "territory", "state"}, the = true, wp = "%l (%c)", }, ["Gombe State, Nigeria"] = {}, ["Imo State, Nigeria"] = {}, ["Jigawa State, Nigeria"] = {}, ["Kaduna State, Nigeria"] = {}, ["Kano State, Nigeria"] = {}, ["Katsina State, Nigeria"] = {}, ["Kebbi State, Nigeria"] = {}, ["Kogi State, Nigeria"] = {}, ["Kwara State, Nigeria"] = {}, ["Lagos State, Nigeria"] = {}, ["Nasarawa State, Nigeria"] = {}, ["Niger State, Nigeria"] = {}, ["Ogun State, Nigeria"] = {}, ["Ondo State, Nigeria"] = {}, ["Osun State, Nigeria"] = {}, ["Oyo State, Nigeria"] = {}, ["Plateau State, Nigeria"] = {}, ["Rivers State, Nigeria"] = {}, ["Sokoto State, Nigeria"] = {}, ["Taraba State, Nigeria"] = {}, ["Yobe State, Nigeria"] = {}, ["Zamfara State, Nigeria"] = {}, } -- states of Nigeria export.nigeria_group = { key_to_placename = make_key_to_placename(", Nigeria$", " State$"), placename_to_key = make_placename_to_key(", Nigeria", " State"), default_container = "Nigeria", default_placetype = "state", data = export.nigeria_states, } export.north_korea_provinces = { ["Chagang Province, North Korea"] = {}, ["North Hamgyong Province, North Korea"] = {}, ["South Hamgyong Province, North Korea"] = {}, ["North Hwanghae Province, North Korea"] = {}, ["South Hwanghae Province, North Korea"] = {}, ["Kangwon Province, North Korea"] = {wp = "%l (%c)"}, ["North Pyongan Province, North Korea"] = {}, ["South Pyongan Province, North Korea"] = {}, ["Ryanggang Province, North Korea"] = {}, } -- provinces of North Korea export.north_korea_group = { key_to_placename = make_key_to_placename(", North Korea$", " Province$"), placename_to_key = make_placename_to_key(", North Korea", " Province"), default_container = "Cộng hòa Dân chủ Nhân dân Triều Tiên", default_placetype = "province", data = export.north_korea_provinces, } export.norwegian_counties = { ["Oslo, Norway"] = {}, ["Rogaland, Norway"] = {}, ["Møre og Romsdal, Norway"] = {}, ["Nordland, Norway"] = {}, ["Østfold, Norway"] = {}, ["Akershus, Norway"] = {}, ["Buskerud, Norway"] = {}, -- the following two were merged into Innlandet -- ["Hedmark, Norway"] = {}, -- ["Oppland, Norway"] = {}, ["Innlandet, Norway"] = {}, ["Vestfold, Norway"] = {}, ["Telemark, Norway"] = {}, -- the following two were merged into Agder -- ["Aust-Agder, Norway"] = {}, -- ["Vest-Agder, Norway"] = {}, ["Agder, Norway"] = {}, -- the following two were merged into Vestland -- ["Hordaland, Norway"] = {}, -- ["Sogn og Fjordane, Norway"] = {}, ["Vestland, Norway"] = {}, ["Trøndelag, Norway"] = {}, ["Troms, Norway"] = {}, ["Finnmark, Norway"] = {}, } -- counties of Norway export.norway_group = { default_container = "Na Uy", default_placetype = "county", data = export.norwegian_counties, } export.pakistan_provinces_and_territories = { ["Azad Kashmir, Pakistan"] = { placetype = {"administrative territory", "autonomous territory", "territory"}, }, ["Azad Jammu and Kashmir, Pakistan"] = {alias_of = "Azad Kashmir, Pakistan", display = true}, ["Balochistan, Pakistan"] = {wp = "%l, %c"}, ["Gilgit-Baltistan, Pakistan"] = { placetype = {"administrative territory", "territory"}, }, ["Islamabad Capital Territory, Pakistan"] = { the = true, divs = {}, -- no divisions placetype = {"federal territory", "administrative territory", "territory"}, }, -- Islamabad is an accepted alias for Islamabad Capital Territory given the above placetypes ["Islamabad, Pakistan"] = {alias_of = "Islamabad Capital Territory, Pakistan"}, ["Khyber Pakhtunkhwa, Pakistan"] = {}, ["Punjab, Pakistan"] = {wp = "%l, %c"}, ["Sindh, Pakistan"] = {}, } -- provinces and territories of Pakistan export.pakistan_group = { default_container = "Pakistan", default_placetype = "province", default_divs = "divisions", data = export.pakistan_provinces_and_territories, } export.philippines_provinces = { ["Abra, Philippines"] = {wp = "%l (province)"}, ["Agusan del Norte, Philippines"] = {}, ["Agusan del Sur, Philippines"] = {}, ["Aklan, Philippines"] = {}, ["Albay, Philippines"] = {}, ["Antique, Philippines"] = {wp = "%l (province)"}, ["Apayao, Philippines"] = {}, ["Aurora, Philippines"] = {wp = "%l (province)"}, ["Basilan, Philippines"] = {}, ["Bataan, Philippines"] = {}, ["Batanes, Philippines"] = {}, ["Batangas, Philippines"] = {}, ["Benguet, Philippines"] = {}, ["Biliran, Philippines"] = {}, ["Bohol, Philippines"] = {}, ["Bukidnon, Philippines"] = {}, ["Bulacan, Philippines"] = {}, ["Cagayan, Philippines"] = {}, ["Camarines Norte, Philippines"] = {}, ["Camarines Sur, Philippines"] = {}, ["Camiguin, Philippines"] = {}, ["Capiz, Philippines"] = {}, ["Catanduanes, Philippines"] = {}, ["Cavite, Philippines"] = {}, ["Cebu, Philippines"] = {}, ["Cotabato, Philippines"] = {}, ["Davao de Oro, Philippines"] = {}, ["Davao del Norte, Philippines"] = {}, ["Davao del Sur, Philippines"] = {}, ["Davao Occidental, Philippines"] = {}, ["Davao Oriental, Philippines"] = {}, ["Dinagat Islands, Philippines"] = {the = true}, ["Eastern Samar, Philippines"] = {}, ["Guimaras, Philippines"] = {}, ["Ifugao, Philippines"] = {}, ["Ilocos Norte, Philippines"] = {}, ["Ilocos Sur, Philippines"] = {}, ["Iloilo, Philippines"] = {}, ["Isabela, Philippines"] = {wp = "%l (province)"}, ["Kalinga, Philippines"] = {wp = "%l (province)"}, ["La Union, Philippines"] = {}, ["Laguna, Philippines"] = {wp = "%l (province)"}, ["Lanao del Norte, Philippines"] = {}, ["Lanao del Sur, Philippines"] = {}, ["Leyte, Philippines"] = {wp = "%l (province)"}, ["Maguindanao del Norte, Philippines"] = {}, ["Maguindanao del Sur, Philippines"] = {}, ["Marinduque, Philippines"] = {}, ["Masbate, Philippines"] = {}, ["Misamis Occidental, Philippines"] = {}, ["Misamis Oriental, Philippines"] = {}, ["Mountain Province, Philippines"] = {}, ["Negros Occidental, Philippines"] = {}, ["Negros Oriental, Philippines"] = {}, ["Northern Samar, Philippines"] = {}, ["Nueva Ecija, Philippines"] = {}, ["Nueva Vizcaya, Philippines"] = {}, ["Occidental Mindoro, Philippines"] = {}, ["Oriental Mindoro, Philippines"] = {}, ["Palawan, Philippines"] = {}, ["Pampanga, Philippines"] = {}, ["Pangasinan, Philippines"] = {}, ["Quezon, Philippines"] = {}, ["Quirino, Philippines"] = {}, ["Rizal, Philippines"] = {wp = "%l (province)"}, ["Romblon, Philippines"] = {}, ["Samar, Philippines"] = {wp = "%l (province)"}, ["Sarangani, Philippines"] = {}, ["Siquijor, Philippines"] = {}, ["Sorsogon, Philippines"] = {}, ["South Cotabato, Philippines"] = {}, ["Southern Leyte, Philippines"] = {}, ["Sultan Kudarat, Philippines"] = {}, ["Sulu, Philippines"] = {}, ["Surigao del Norte, Philippines"] = {}, ["Surigao del Sur, Philippines"] = {}, ["Tarlac, Philippines"] = {}, ["Tawi-Tawi, Philippines"] = {}, ["Zambales, Philippines"] = {}, ["Zamboanga del Norte, Philippines"] = {}, ["Zamboanga del Sur, Philippines"] = {}, ["Zamboanga Sibugay, Philippines"] = {}, -- not a province but treated as one; allow it to be referred to as a province in holonyms ["Metro Manila, Philippines"] = {placetype = {"region", "province"}}, } -- provinces of the Philippines export.philippines_group = { default_container = "Philippines", default_placetype = "province", default_divs = {"municipalities", "barangays"}, data = export.philippines_provinces, } export.poland_voivodeships = { ["Lower Silesian Voivodeship, Poland"] = {}, -- abbr DS, code 02, capital Wrocław ["Kuyavian-Pomeranian Voivodeship, Poland"] = {}, -- abbr KP, code 04, capital Bydgoszcz (seat of voivode), Toruń (seat of sejmik and marshal) ["Lublin Voivodeship, Poland"] = {}, -- abbr LU, code 06, capital Lublin ["Lubusz Voivodeship, Poland"] = {}, -- abbr LB, code 08, capital Gorzów Wielkopolski (seat of voivode), Zielona Góra (seat of sejmik and marshal) ["Lodz Voivodeship, Poland"] = {wp = "Łódź Voivodeship"}, -- abbr LD, code 10, capital Łódź ["Łódź Voivodeship, Poland"] = {alias_of = "Lodz Voivodeship, Poland", display = true, display_as_full = true}, ["Lesser Poland Voivodeship, Poland"] = {}, -- abbr MA, code 12, capital Kraków ["Masovian Voivodeship, Poland"] = {}, -- abbr MZ, code 14, capital Warsaw ["Opole Voivodeship, Poland"] = {}, -- abbr OP, code 16, capital Opole ["Subcarpathian Voivodeship, Poland"] = {}, -- abbr PK, code 18, capital Rzeszów ["Podlaskie Voivodeship, Poland"] = {}, -- abbr PD, code 20, capital Białystok ["Pomeranian Voivodeship, Poland"] = {}, -- abbr PM, code 22, capital Gdańsk ["Silesian Voivodeship, Poland"] = {}, -- abbr SL, code 24, capital Katowice ["Holy Cross Voivodeship, Poland"] = {wp = "Świętokrzyskie Voivodeship"}, -- abbr SK, code 26, capital Kielce ["Świętokrzyskie Voivodeship, Poland"] = {alias_of = "Holy Cross Voivodeship, Poland", display = true, display_as_full = true}, ["Warmian-Masurian Voivodeship, Poland"] = {}, -- abbr WN, code 28, capital Olsztyn ["Greater Poland Voivodeship, Poland"] = {}, -- abbr WP, code 30, capital Poznań ["West Pomeranian Voivodeship, Poland"] = {}, -- abbr ZP, code 32, capital Szczecin } -- voivodeships of Poland export.poland_group = { key_to_placename = make_key_to_placename(", Poland$", " Voivodeship$"), placename_to_key = make_placename_to_key(", Poland", " Voivodeship"), default_container = "Ba Lan", default_placetype = "voivodeship", default_divs = { -- "counties", -- not enough of them currently {type = "Polish colonies", cat_as = {{type = "villages", prep = "in"}}}, }, data = export.poland_voivodeships, } export.portugal_districts_and_autonomous_regions = { ["Azores, Portugal"] = {the = true, placetype = {"autonomous region", "region"}}, ["Aveiro District, Portugal"] = {}, ["Beja District, Portugal"] = {}, ["Braga District, Portugal"] = {}, ["Bragança District, Portugal"] = {}, ["Castelo Branco District, Portugal"] = {}, ["Coimbra District, Portugal"] = {}, ["Évora District, Portugal"] = {}, ["Faro District, Portugal"] = {}, ["Guarda District, Portugal"] = {}, ["Leiria District, Portugal"] = {}, ["Lisbon District, Portugal"] = {}, ["Lisboa District, Portugal"] = {alias_of = "Lisbon District, Portugal", display = true}, ["Madeira, Portugal"] = {placetype = {"autonomous region", "region"}}, ["Portalegre District, Portugal"] = {}, ["Porto District, Portugal"] = {}, ["Santarém District, Portugal"] = {}, ["Setúbal District, Portugal"] = {}, ["Viana do Castelo District, Portugal"] = {}, ["Vila Real District, Portugal"] = {}, ["Viseu District, Portugal"] = {}, } local function portugal_placename_to_key(placename) if placename == "Azores" or placename == "Madeira" then return placename .. ", Portugal" end if placename:find(" District$") then return placename .. ", Portugal" end return placename .. " District, Portugal" end -- districts and autonomous regions of Portugal export.portugal_group = { key_to_placename = make_key_to_placename(", Portugal$", " District$"), placename_to_key = portugal_placename_to_key, default_container = "Portugal", default_placetype = "district", default_divs = "municipalities", data = export.portugal_districts_and_autonomous_regions, } export.romania_counties = { ["Alba County, Romania"] = {}, ["Arad County, Romania"] = {}, ["Argeș County, Romania"] = {}, ["Bacău County, Romania"] = {}, ["Bihor County, Romania"] = {}, ["Bistrița-Năsăud County, Romania"] = {}, ["Botoșani County, Romania"] = {}, ["Brașov County, Romania"] = {}, ["Brăila County, Romania"] = {}, -- Bucharest: not in a county ["Buzău County, Romania"] = {}, ["Caraș-Severin County, Romania"] = {}, ["Cluj County, Romania"] = {}, ["Constanța County, Romania"] = {}, ["Covasna County, Romania"] = {}, ["Călărași County, Romania"] = {}, ["Dolj County, Romania"] = {}, ["Dâmbovița County, Romania"] = {}, ["Galați County, Romania"] = {}, ["Giurgiu County, Romania"] = {}, ["Gorj County, Romania"] = {}, ["Harghita County, Romania"] = {}, ["Hunedoara County, Romania"] = {}, ["Ialomița County, Romania"] = {}, ["Iași County, Romania"] = {}, ["Ilfov County, Romania"] = {}, ["Maramureș County, Romania"] = {}, ["Mehedinți County, Romania"] = {}, ["Mureș County, Romania"] = {}, ["Neamț County, Romania"] = {}, ["Olt County, Romania"] = {}, ["Prahova County, Romania"] = {}, ["Satu Mare County, Romania"] = {}, ["Sibiu County, Romania"] = {}, ["Suceava County, Romania"] = {}, ["Sălaj County, Romania"] = {}, ["Teleorman County, Romania"] = {}, ["Timiș County, Romania"] = {}, ["Tulcea County, Romania"] = {}, ["Vaslui County, Romania"] = {}, ["Vrancea County, Romania"] = {}, ["Vâlcea County, Romania"] = {}, } -- counties of Romania export.romania_group = { key_to_placename = make_key_to_placename(", Romania$", " County$"), placename_to_key = make_placename_to_key(", Romania", " County"), default_container = "Romania", default_placetype = "county", default_divs = "communes", data = export.romania_counties, } local function make_russia_federal_subject_spec(spectype, use_the, wp) return { placetype = spectype, the = not not use_the, bare_category_parent_type = {"federal subjects", spectype .. "s"}, wp = wp, } end local russia_autonomous_okrug_no_the = {placetype = {"autonomous okrug", "okrug"}, bare_category_parent_type = {"federal subjects", "autonomous okrugs"}} local russia_autonomous_okrug_the = {placetype = {"autonomous okrug", "okrug"}, bare_category_parent_type = {"federal subjects", "autonomous okrugs"}, the = true} local russia_krai = make_russia_federal_subject_spec("krai") local russia_oblast = make_russia_federal_subject_spec("oblast") local russia_republic_the = make_russia_federal_subject_spec("republic", "use the") local russia_republic_no_the = make_russia_federal_subject_spec("republic") export.russia_federal_subjects = { -- autonomous oblasts ["Jewish Autonomous Oblast, Russia"] = {the = true, placetype = {"autonomous oblast", "oblast"}, bare_category_parent_type = {"federal subjects", "autonomous oblasts"}}, -- autonomous okrugs ["Chukotka Autonomous Okrug, Russia"] = russia_autonomous_okrug_the, ["Chukotka, Russia"] = {alias_of = "Chukotka Autonomous Okrug, Russia"}, ["Khanty-Mansi Autonomous Okrug, Russia"] = russia_autonomous_okrug_the, ["Khanty-Mansia, Russia"] = {alias_of = "Khanty-Mansi Autonomous Okrug, Russia"}, ["Khantia-Mansia, Russia"] = {alias_of = "Khanty-Mansi Autonomous Okrug, Russia"}, ["Yugra, Russia"] = {alias_of = "Khanty-Mansi Autonomous Okrug, Russia"}, ["Nenets Autonomous Okrug, Russia"] = russia_autonomous_okrug_the, ["Nenetsia, Russia"] = {alias_of = "Nenets Autonomous Okrug, Russia"}, ["Yamalo-Nenets Autonomous Okrug, Russia"] = russia_autonomous_okrug_the, ["Yamalia, Russia"] = {alias_of = "Yamalo-Nenets Autonomous Okrug, Russia"}, -- krais ["Altai Krai, Russia"] = russia_krai, ["Kamchatka Krai, Russia"] = russia_krai, ["Khabarovsk Krai, Russia"] = russia_krai, ["Krasnodar Krai, Russia"] = russia_krai, ["Krasnoyarsk Krai, Russia"] = russia_krai, ["Perm Krai, Russia"] = russia_krai, ["Primorsky Krai, Russia"] = russia_krai, ["Stavropol Krai, Russia"] = russia_krai, ["Zabaykalsky Krai, Russia"] = russia_krai, -- oblasts ["Amur Oblast, Russia"] = russia_oblast, ["Arkhangelsk Oblast, Russia"] = russia_oblast, ["Astrakhan Oblast, Russia"] = russia_oblast, ["Belgorod Oblast, Russia"] = russia_oblast, ["Bryansk Oblast, Russia"] = russia_oblast, ["Chelyabinsk Oblast, Russia"] = russia_oblast, ["Irkutsk Oblast, Russia"] = russia_oblast, ["Ivanovo Oblast, Russia"] = russia_oblast, ["Kaliningrad Oblast, Russia"] = russia_oblast, ["Kaluga Oblast, Russia"] = russia_oblast, ["Kemerovo Oblast, Russia"] = russia_oblast, ["Kirov Oblast, Russia"] = russia_oblast, ["Kostroma Oblast, Russia"] = russia_oblast, ["Kurgan Oblast, Russia"] = russia_oblast, ["Kursk Oblast, Russia"] = russia_oblast, ["Leningrad Oblast, Russia"] = russia_oblast, ["Lipetsk Oblast, Russia"] = russia_oblast, ["Magadan Oblast, Russia"] = russia_oblast, ["Moscow Oblast, Russia"] = russia_oblast, ["Murmansk Oblast, Russia"] = russia_oblast, ["Nizhny Novgorod Oblast, Russia"] = russia_oblast, ["Novgorod Oblast, Russia"] = russia_oblast, ["Novosibirsk Oblast, Russia"] = russia_oblast, ["Omsk Oblast, Russia"] = russia_oblast, ["Orenburg Oblast, Russia"] = russia_oblast, ["Oryol Oblast, Russia"] = russia_oblast, ["Penza Oblast, Russia"] = russia_oblast, ["Pskov Oblast, Russia"] = russia_oblast, ["Rostov Oblast, Russia"] = russia_oblast, ["Ryazan Oblast, Russia"] = russia_oblast, ["Sakhalin Oblast, Russia"] = russia_oblast, ["Samara Oblast, Russia"] = russia_oblast, ["Saratov Oblast, Russia"] = russia_oblast, ["Smolensk Oblast, Russia"] = russia_oblast, ["Sverdlovsk Oblast, Russia"] = russia_oblast, ["Tambov Oblast, Russia"] = russia_oblast, ["Tomsk Oblast, Russia"] = russia_oblast, ["Tula Oblast, Russia"] = russia_oblast, ["Tver Oblast, Russia"] = russia_oblast, ["Tyumen Oblast, Russia"] = russia_oblast, ["Ulyanovsk Oblast, Russia"] = russia_oblast, ["Vladimir Oblast, Russia"] = russia_oblast, ["Volgograd Oblast, Russia"] = russia_oblast, ["Vologda Oblast, Russia"] = russia_oblast, ["Voronezh Oblast, Russia"] = russia_oblast, ["Yaroslavl Oblast, Russia"] = russia_oblast, -- republics -- -- We only need to include cases that aren't just shortened versions of the full federal subject name (i.e. where -- words like "Republic" and "Oblast" are omitted but the name is not otherwise modified; these are handled by -- key_to_placename). Non-display-canonicalizing aliases are generally due to differences in the presence or absence -- of "the". ["Adygea, Russia"] = russia_republic_no_the, ["Republic of Adygea, Russia"] = {alias_of = "Adygea, Russia"}, ["Bashkortostan, Russia"] = russia_republic_no_the, ["Republic of Bashkortostan, Russia"] = {alias_of = "Bashkortostan, Russia"}, ["Bashkiria, Russia"] = {alias_of = "Bashkortostan, Russia"}, ["Buryatia, Russia"] = russia_republic_no_the, ["Republic of Buryatia, Russia"] = {alias_of = "Buryatia, Russia"}, ["Dagestan, Russia"] = russia_republic_no_the, ["Republic of Dagestan, Russia"] = {alias_of = "Dagestan, Russia"}, ["Ingushetia, Russia"] = russia_republic_no_the, ["Republic of Ingushetia, Russia"] = {alias_of = "Ingushetia, Russia"}, ["Kalmykia, Russia"] = russia_republic_no_the, ["Republic of Kalmykia, Russia"] = {alias_of = "Kalmykia, Russia"}, ["Karelia, Russia"] = make_russia_federal_subject_spec("republic", nil, "Republic of Karelia"), ["Republic of Karelia, Russia"] = {alias_of = "Karelia, Russia"}, ["Khakassia, Russia"] = russia_republic_no_the, ["Republic of Khakassia, Russia"] = {alias_of = "Khakassia, Russia"}, ["Mordovia, Russia"] = russia_republic_no_the, ["Republic of Mordovia, Russia"] = {alias_of = "Mordovia, Russia"}, ["North Ossetia-Alania, Russia"] = make_russia_federal_subject_spec("republic", nil, "North Ossetia–Alania"), -- with en-dash ["Republic of North Ossetia-Alania, Russia"] = {alias_of = "North Ossetia-Alania, Russia"}, ["North Ossetia, Russia"] = {alias_of = "North Ossetia-Alania, Russia", display = true}, ["Alania, Russia"] = {alias_of = "North Ossetia-Alania, Russia", display = true}, ["Tatarstan, Russia"] = russia_republic_no_the, ["Republic of Tatarstan, Russia"] = {alias_of = "Tatarstan, Russia"}, ["Altai Republic, Russia"] = russia_republic_the, ["Chechnya, Russia"] = russia_republic_no_the, ["Chechen Republic, Russia"] = {alias_of = "Chechnya, Russia"}, ["Chuvashia, Russia"] = russia_republic_no_the, ["Chuvash Republic, Russia"] = {alias_of = "Chuvashia, Russia"}, ["Kabardino-Balkaria, Russia"] = russia_republic_no_the, ["Kabardino-Balkariya, Russia"] = {alias_of = "Kabardino-Balkaria, Russia", display = true}, ["Kabardino-Balkarian Republic, Russia"] = {alias_of = "Kabardino-Balkaria, Russia"}, ["Kabardino-Balkar Republic, Russia"] = {alias_of = "Kabardino-Balkaria, Russia", display = "Kabardino-Balkarian Republic, Russia"}, ["Karachay-Cherkessia, Russia"] = russia_republic_no_the, ["Karachay-Cherkess Republic, Russia"] = {alias_of = "Karachay-Cherkessia, Russia"}, ["Komi, Russia"] = make_russia_federal_subject_spec("republic", nil, "Komi Republic"), ["Komi Republic, Russia"] = {alias_of = "Komi, Russia"}, ["Mari El, Russia"] = russia_republic_no_the, ["Mari El Republic, Russia"] = {alias_of = "Mari El, Russia"}, ["Sakha, Russia"] = make_russia_federal_subject_spec("republic", nil, "Sakha Republic"), ["Sakha Republic, Russia"] = {alias_of = "Sakha, Russia"}, ["Yakutia, Russia"] = {alias_of = "Sakha, Russia"}, ["Yakutiya, Russia"] = {alias_of = "Sakha, Russia", display = "Yakutia, Russia"}, ["Republic of Yakutia (Sakha), Russia"] = {alias_of = "Sakha, Russia", display = "Sakha Republic, Russia", the = true}, ["Tuva, Russia"] = russia_republic_no_the, ["Tyva, Russia"] = {alias_of = "Tuva, Russia", display = true}, ["Tuva Republic, Russia"] = {alias_of = "Tuva, Russia"}, ["Tyva Republic, Russia"] = {alias_of = "Tuva, Russia", display= "Tuva Republic, Russia"}, ["Udmurtia, Russia"] = russia_republic_no_the, ["Udmurt Republic, Russia"] = {alias_of = "Udmurtia, Russia"}, -- Not included due to being unrecognized and only partly controlled: -- ["Crimea, Russia"] = make_russia_federal_subject_spec("republic", nil, "Republic of Crimea (Russia)") -- ["Donetsk People's Republic, Russia"] = russia_republic_the, -- ["Luhansk People's Republic, Russia"] = russia_republic_the, -- ["Zaporozhye Oblast, Russia"] = make_russia_federal_subject_spec("oblast", nil, "Russian occupation of Zaporizhzhia Oblast"), -- ["Kherson Oblast, Russia"] = make_russia_federal_subject_spec("oblast", nil, "Russian occupation of Kherson Oblast"), -- There are also federal cities (not included because they're cities): -- Moscow, Saint Petersburg; Sevastopol (unrecognized; same status as for "Crimea, Russia" above) } local function russia_key_to_placename(key) key = key:gsub(",.*", "") local full_placename = key if key == "Jewish Autonomous Oblast" then return full_placename, full_placename end local elliptical_placename for _, suffix in ipairs({"Krai", "Oblast"}) do elliptical_placename = key:match("^(.*) " .. suffix .. "$") if elliptical_placename then return full_placename, elliptical_placename end end return full_placename, full_placename end local function russia_placename_to_key(placename) local key = placename .. ", Russia" if export.russia_federal_subjects[key] then return key end -- We allow the user to say e.g. "obl/Samara" in place of "obl/Samara Oblast". for _, suffix in ipairs({"Krai", "Oblast"}) do local suffixed_key = placename .. " " .. suffix .. ", Russia" if export.russia_federal_subjects[suffixed_key] then return suffixed_key end end return placename .. ", Russia" end local function construct_russia_federal_subject_keydesc(group, key, spec) local placename = key:gsub(",.*", "") local linked_placename = export.construct_linked_placename(spec, placename) local placetype = spec.placetype if type(placetype) == "table" then placetype = placetype[1] end if placetype == "oblast" then -- Hack: Oblasts generally don't have entries under "Foo Oblast" -- but just under "Foo", so fix the linked key appropriately; -- doesn't apply to the Jewish Autonomous Oblast linked_placename = linked_placename:gsub(" Oblast%]%]", "%]%] Oblast") end return linked_placename .. ", a [[federal subject]] ([[" .. placetype .. "]]) of [[Russia]]" end -- federal subjects of Russia export.russia_group = { key_to_placename = russia_key_to_placename, placename_to_key = russia_placename_to_key, default_container = "Nga", default_keydesc = construct_russia_federal_subject_keydesc, default_overriding_bare_label_parents = {"federal subjects of Russia", "+++"}, data = export.russia_federal_subjects, } export.saudi_arabia_provinces = { ["Riyadh Province, Saudi Arabia"] = {}, ["Mecca Province, Saudi Arabia"] = {}, -- Name is too generic to assume it's in Saudi Arabia if not specified. ["Eastern Province, Saudi Arabia"] = {no_auto_augment_container = true, wp = "%l, %c"}, ["Medina Province, Saudi Arabia"] = {wp = "%l (%c)"}, ["Aseer Province, Saudi Arabia"] = {wp = "Asir"}, ["Asir Province, Saudi Arabia"] = {alias_of = "Aseer Province, Saudi Arabia", display = true}, ["Jazan Province, Saudi Arabia"] = {}, ["Qassim Province, Saudi Arabia"] = {wp = "Al-Qassim Province"}, ["Al-Qassim Province, Saudi Arabia"] = {alias_of = "Qassim Province, Saudi Arabia", display = true}, ["Tabuk Province, Saudi Arabia"] = {}, ["Hail Province, Saudi Arabia"] = {wp = "Ḥa'il Province"}, ["Ha'il Province, Saudi Arabia"] = {alias_of = "Hail Province, Saudi Arabia", display = true}, ["Ḥa'il Province, Saudi Arabia"] = {alias_of = "Hail Province, Saudi Arabia", display = true}, ["Al-Jouf Province, Saudi Arabia"] = {wp = "Al-Jawf Province"}, ["Al-Jawf Province, Saudi Arabia"] = {alias_of = "Al-Jouf Province, Saudi Arabia", display = true}, ["Najran Province, Saudi Arabia"] = {}, ["Northern Borders Province, Saudi Arabia"] = {}, ["Al-Bahah Province, Saudi Arabia"] = {}, } -- provinces of Saudi Arabia export.saudi_arabia_group = { key_to_placename = make_key_to_placename(", Saudi Arabia$", " Province$"), placename_to_key = make_placename_to_key(", Saudi Arabia", " Province"), default_container = "Ả Rập Xê Út", default_placetype = "province", data = export.saudi_arabia_provinces, } export.south_africa_provinces = { ["Eastern Cape, South Africa"] = {the = true}, ["Free State, South Africa"] = {the = true, wp = "%l (province)"}, ["Gauteng, South Africa"] = {}, ["KwaZulu-Natal, South Africa"] = {}, ["Limpopo, South Africa"] = {}, ["Mpumalanga, South Africa"] = {}, -- per Wikipedia and other sources, `North West` doesn't normally have `the` before it ["North West, South Africa"] = {wp = "%l (South African province)"}, ["Northern Cape, South Africa"] = {the = true}, ["Western Cape, South Africa"] = {the = true}, } -- provinces of South Africa export.south_africa_group = { default_container = "South Africa", default_placetype = "province", default_divs = "municipalities", data = export.south_africa_provinces, } export.south_korea_provinces = { ["North Chungcheong Province, South Korea"] = {}, ["South Chungcheong Province, South Korea"] = {}, ["Gangwon Province, South Korea"] = {wp = "%l, %c"}, ["Gyeonggi Province, South Korea"] = {}, ["North Gyeongsang Province, South Korea"] = {}, ["South Gyeongsang Province, South Korea"] = {}, ["North Jeolla Province, South Korea"] = {}, ["South Jeolla Province, South Korea"] = {}, ["Jeju Province, South Korea"] = {}, } -- provinces of South Korea export.south_korea_group = { key_to_placename = make_key_to_placename(", South Korea$", " Province$"), placename_to_key = make_placename_to_key(", South Korea", " Province"), default_container = "Hàn Quốc", default_placetype = "province", data = export.south_korea_provinces, } export.spain_autonomous_communities = { ["Andalusia, Spain"] = {}, ["Aragon, Spain"] = {}, ["Asturias, Spain"] = {}, ["Balearic Islands, Spain"] = {the = true}, ["Basque Country, Spain"] = {the = true, wp = "%l (autonomous community)"}, ["Canary Islands, Spain"] = {the = true}, ["Cantabria, Spain"] = {}, ["Castile and León, Spain"] = {}, ["Castilla-La Mancha, Spain"] = {wp = "Castilla–La Mancha"}, -- with en-dash ["Catalonia, Spain"] = {}, ["Community of Madrid, Spain"] = {the = true}, ["Extremadura, Spain"] = {}, ["Galicia, Spain"] = {wp = "%l (Spain)"}, ["La Rioja, Spain"] = {}, ["Murcia, Spain"] = {wp = "Region of %l"}, ["Navarre, Spain"] = {}, ["Valencia, Spain"] = {wp = "Valencian Community"}, ["Valencian Community, Spain"] = {alias_of = "Valencia, Spain"}, } -- autonomous communities of Spain export.spain_group = { default_container = "Tây Ban Nha", default_placetype = "autonomous community", default_divs = {"municipalities", "comarcas"}, data = export.spain_autonomous_communities, } export.taiwan_counties = { ["Changhua County, Taiwan"] = {}, ["Chiayi County, Taiwan"] = {}, ["Hsinchu County, Taiwan"] = {}, ["Hualien County, Taiwan"] = {}, ["Kinmen County, Taiwan"] = {wp = "Kinmen"}, ["Lienchiang County, Taiwan"] = {wp = "Matsu Islands"}, ["Miaoli County, Taiwan"] = {}, ["Nantou County, Taiwan"] = {}, ["Penghu County, Taiwan"] = {wp = "Penghu"}, ["Pingtung County, Taiwan"] = {}, ["Taitung County, Taiwan"] = {}, ["Yilan County, Taiwan"] = {wp = "%l, %c"}, ["Yunlin County, Taiwan"] = {}, } -- counties of Taiwan export.taiwan_group = { key_to_placename = make_key_to_placename(", Taiwan$", " County$"), placename_to_key = make_placename_to_key(", Taiwan", " County"), default_container = "Đài Loan", default_placetype = "county", default_divs = {"districts", "townships"}, data = export.taiwan_counties, } export.thailand_provinces = { -- Bangkok (special administrative area) ["Amnat Charoen Province, Thailand"] = {}, ["Ang Thong Province, Thailand"] = {}, ["Bueng Kan Province, Thailand"] = {}, ["Buriram Province, Thailand"] = {}, ["Chachoengsao Province, Thailand"] = {}, ["Chai Nat Province, Thailand"] = {}, ["Chaiyaphum Province, Thailand"] = {}, ["Chanthaburi Province, Thailand"] = {}, ["Chiang Mai Province, Thailand"] = {}, ["Chiang Rai Province, Thailand"] = {}, ["Chonburi Province, Thailand"] = {}, ["Chumphon Province, Thailand"] = {}, ["Kalasin Province, Thailand"] = {}, ["Kamphaeng Phet Province, Thailand"] = {}, ["Kanchanaburi Province, Thailand"] = {}, ["Khon Kaen Province, Thailand"] = {}, ["Krabi Province, Thailand"] = {}, ["Lampang Province, Thailand"] = {}, ["Lamphun Province, Thailand"] = {}, ["Loei Province, Thailand"] = {}, ["Lopburi Province, Thailand"] = {}, ["Mae Hong Son Province, Thailand"] = {}, ["Maha Sarakham Province, Thailand"] = {}, ["Mukdahan Province, Thailand"] = {}, ["Nakhon Nayok Province, Thailand"] = {}, ["Nakhon Pathom Province, Thailand"] = {}, ["Nakhon Phanom Province, Thailand"] = {}, ["Nakhon Ratchasima Province, Thailand"] = {}, ["Nakhon Sawon Province, Thailand"] = {}, ["Nakhon Si Thammarat Province, Thailand"] = {}, ["Nan Province, Thailand"] = {}, ["Narathiwat Province, Thailand"] = {}, ["Nong Bua Lamphu Province, Thailand"] = {}, ["Nong Khai Province, Thailand"] = {}, ["Nonthaburi Province, Thailand"] = {}, ["Pathum Thani Province, Thailand"] = {}, ["Pattani Province, Thailand"] = {}, ["Phang Nga Province, Thailand"] = {}, ["Phatthalung Province, Thailand"] = {}, ["Phayao Province, Thailand"] = {}, ["Phetchabun Province, Thailand"] = {}, ["Phetchaburi Province, Thailand"] = {}, ["Phichit Province, Thailand"] = {}, ["Phitsanulok Province, Thailand"] = {}, ["Phra Nakhon Si Ayutthaya Province, Thailand"] = {}, ["Phrae Province, Thailand"] = {}, ["Phuket Province, Thailand"] = {}, ["Prachinburi Province, Thailand"] = {}, ["Prachuap Khiri Khan Province, Thailand"] = {}, ["Ranong Province, Thailand"] = {}, ["Ratchaburi Province, Thailand"] = {}, ["Rayong Province, Thailand"] = {}, ["Roi Et Province, Thailand"] = {}, ["Sa Kaeo Province, Thailand"] = {}, ["Sakon Nakhon Province, Thailand"] = {}, ["Samut Prakan Province, Thailand"] = {}, ["Samut Sakhon Province, Thailand"] = {}, ["Samut Songkhram Province, Thailand"] = {}, ["Saraburi Province, Thailand"] = {}, ["Satun Province, Thailand"] = {}, ["Sing Buri Province, Thailand"] = {}, ["Sisaket Province, Thailand"] = {}, ["Songkhla Province, Thailand"] = {}, ["Sukhothai Province, Thailand"] = {}, ["Suphan Buri Province, Thailand"] = {}, ["Surat Thani Province, Thailand"] = {}, ["Surin Province, Thailand"] = {}, ["Tak Province, Thailand"] = {}, ["Trang Province, Thailand"] = {}, ["Trat Province, Thailand"] = {}, ["Ubon Ratchathani Province, Thailand"] = {}, ["Udon Thani Province, Thailand"] = {}, ["Uthai Thani Province, Thailand"] = {}, ["Uttaradit Province, Thailand"] = {}, ["Yala Province, Thailand"] = {}, ["Yasothon Province, Thailand"] = {}, } -- provinces of Thailand export.thailand_group = { key_to_placename = make_key_to_placename(", Thailand$", " Province$"), placename_to_key = make_placename_to_key(", Thailand", " Province"), default_container = "Thái Lan", default_placetype = "province", default_divs = "districts", -- For obscure reasons, provinces of Iran, Laos, Thailand and Vietnam use lowercase 'province' default_wp = "%e province", data = export.thailand_provinces, } export.turkey_provinces = { ["Adana Province, Turkey"] = {}, -- code 01 ["Adıyaman Province, Turkey"] = {}, -- code 02 ["Afyonkarahisar Province, Turkey"] = {}, -- code 03 ["Ağrı Province, Turkey"] = {}, -- code 04 ["Amasya Province, Turkey"] = {}, -- code 05 ["Ankara Province, Turkey"] = {}, -- code 06 ["Antalya Province, Turkey"] = {}, -- code 07 ["Artvin Province, Turkey"] = {}, -- code 08 ["Aydın Province, Turkey"] = {}, -- code 09 ["Balıkesir Province, Turkey"] = {}, -- code 10 ["Bilecik Province, Turkey"] = {}, -- code 11 ["Bingöl Province, Turkey"] = {}, -- code 12 ["Bitlis Province, Turkey"] = {}, -- code 13 ["Bolu Province, Turkey"] = {}, -- code 14 ["Burdur Province, Turkey"] = {}, -- code 15 ["Bursa Province, Turkey"] = {}, -- code 16 ["Çanakkale Province, Turkey"] = {}, -- code 17 ["Çankırı Province, Turkey"] = {}, -- code 18 ["Çorum Province, Turkey"] = {}, -- code 19 ["Denizli Province, Turkey"] = {}, -- code 20 ["Diyarbakır Province, Turkey"] = {}, -- code 21 ["Edirne Province, Turkey"] = {}, -- code 22 ["Elazığ Province, Turkey"] = {}, -- code 23 ["Elâzığ Province, Turkey"] = {alias_of = "Elazığ Province, Turkey", display = true}, ["Erzincan Province, Turkey"] = {}, -- code 24 ["Erzurum Province, Turkey"] = {}, -- code 25 ["Eskişehir Province, Turkey"] = {}, -- code 26 ["Gaziantep Province, Turkey"] = {}, -- code 27 ["Giresun Province, Turkey"] = {}, -- code 28 ["Gümüşhane Province, Turkey"] = {}, -- code 29 ["Hakkâri Province, Turkey"] = {}, -- code 30 ["Hakkari Province, Turkey"] = {alias_of = "Hakkâri Province, Turkey", display = true}, ["Hatay Province, Turkey"] = {}, -- code 31 ["Isparta Province, Turkey"] = {}, -- code 32 ["Mersin Province, Turkey"] = {}, -- code 33 -- ["Istanbul Province, Turkey"] = {}, -- code 34; this is coextensive with the city itself ["İzmir Province, Turkey"] = {}, -- code 35 ["Izmir Province, Turkey"] = {alias_of = "İzmir Province, Turkey", display = true}, ["Kars Province, Turkey"] = {}, -- code 36 ["Kastamonu Province, Turkey"] = {}, -- code 37 ["Kayseri Province, Turkey"] = {}, -- code 38 ["Kırklareli Province, Turkey"] = {}, -- code 39 ["Kırşehir Province, Turkey"] = {}, -- code 40 ["Kocaeli Province, Turkey"] = {}, -- code 41 ["Konya Province, Turkey"] = {}, -- code 42 ["Kütahya Province, Turkey"] = {}, -- code 43 ["Malatya Province, Turkey"] = {}, -- code 44 ["Manisa Province, Turkey"] = {}, -- code 45 ["Kahramanmaraş Province, Turkey"] = {}, -- code 46 ["Mardin Province, Turkey"] = {}, -- code 47 ["Muğla Province, Turkey"] = {}, -- code 48 ["Muş Province, Turkey"] = {}, -- code 49 ["Nevşehir Province, Turkey"] = {}, -- code 50 ["Niğde Province, Turkey"] = {}, -- code 51 ["Ordu Province, Turkey"] = {}, -- code 52 ["Rize Province, Turkey"] = {}, -- code 53 ["Sakarya Province, Turkey"] = {}, -- code 54 ["Samsun Province, Turkey"] = {}, -- code 55 ["Siirt Province, Turkey"] = {}, -- code 56 ["Sinop Province, Turkey"] = {}, -- code 57 ["Sivas Province, Turkey"] = {}, -- code 58 ["Tekirdağ Province, Turkey"] = {}, -- code 59 ["Tokat Province, Turkey"] = {}, -- code 60 ["Trabzon Province, Turkey"] = {}, -- code 61 ["Tunceli Province, Turkey"] = {}, -- code 62 ["Şanlıurfa Province, Turkey"] = {}, -- code 63 ["Uşak Province, Turkey"] = {}, -- code 64 ["Van Province, Turkey"] = {}, -- code 65 ["Yozgat Province, Turkey"] = {}, -- code 66 ["Zonguldak Province, Turkey"] = {}, -- code 67 ["Aksaray Province, Turkey"] = {}, -- code 68 ["Bayburt Province, Turkey"] = {}, -- code 69 ["Karaman Province, Turkey"] = {}, -- code 70 ["Kırıkkale Province, Turkey"] = {}, -- code 71 ["Batman Province, Turkey"] = {}, -- code 72 ["Şırnak Province, Turkey"] = {}, -- code 73 ["Bartın Province, Turkey"] = {}, -- code 74 ["Ardahan Province, Turkey"] = {}, -- code 75 ["Iğdır Province, Turkey"] = {}, -- code 76 ["Yalova Province, Turkey"] = {}, -- code 77 ["Karabük Province, Turkey"] = {}, -- code 78 ["Kilis Province, Turkey"] = {}, -- code 79 ["Osmaniye Province, Turkey"] = {}, -- code 80 ["Düzce Province, Turkey"] = {}, -- code 81 } -- provinces of Turkey export.turkey_group = { key_to_placename = make_key_to_placename(", Turkey$", " Province$"), placename_to_key = make_placename_to_key(", Turkey", " Province"), default_container = "Thổ Nhĩ Kỳ", default_placetype = "province", default_divs = "districts", data = export.turkey_provinces, } export.ukraine_oblasts = { ["Cherkasy Oblast, Ukraine"] = {}, -- capital [[Cherkasy]], license plate prefix CA, IA ["Chernihiv Oblast, Ukraine"] = {}, -- capital [[Chernihiv]], license plate prefix CB, IB ["Chernivtsi Oblast, Ukraine"] = {}, -- capital [[Chernivtsi]], license plate prefix CE, IE -- apparently will be renamed to 'Dnipro Oblast' ["Dnipropetrovsk Oblast, Ukraine"] = {}, -- capital [[Dnipro]], license plate prefix AE, KE ["Donetsk Oblast, Ukraine"] = {}, -- capital ''[[Donetsk]] ([[Kramatorsk]])'', license plate prefix AH, KH ["Ivano-Frankivsk Oblast, Ukraine"] = {}, -- capital [[Ivano-Frankivsk]], license plate prefix AT, KT ["Kharkiv Oblast, Ukraine"] = {}, -- capital [[Kharkiv]], license plate prefix AX, KX ["Kherson Oblast, Ukraine"] = {}, -- capital ''[[Kherson]]'', license plate prefix ''BT, HT'' ["Khmelnytskyi Oblast, Ukraine"] = {}, -- capital [[Khmelnytskyi]], license plate prefix BX, HX -- apparently will be renamed to 'Kropyvnytskyi Oblast' ["Kirovohrad Oblast, Ukraine"] = {}, -- capital [[Kropyvnytskyi]], license plate prefix BA, HA ["Kyiv Oblast, Ukraine"] = {}, -- capital [[Kyiv]], license plate prefix AI, KI ["Kiev Oblast, Ukraine"] = {alias_of = "Kyiv Oblast, Ukraine", display = true}, ["Luhansk Oblast, Ukraine"] = {}, -- capital ''[[Luhansk]] ([[Sievierodonetsk]])'', license plate prefix BB, HB ["Lviv Oblast, Ukraine"] = {}, -- capital [[Lviv]], license plate prefix BC, HC ["Mykolaiv Oblast, Ukraine"] = {}, -- capital [[Mykolaiv]], license plate prefix BE, HE ["Odesa Oblast, Ukraine"] = {}, -- capital [[Odesa]], license plate prefix BH, HH ["Odessa Oblast, Ukraine"] = {alias_of = "Odesa Oblast, Ukraine", display = true}, ["Poltava Oblast, Ukraine"] = {}, -- capital [[Poltava]], license plate prefix BI, HI ["Rivne Oblast, Ukraine"] = {}, -- capital [[Rivne]], license plate prefix BK, HK ["Sumy Oblast, Ukraine"] = {}, -- capital [[Sumy]], license plate prefix BM, HM ["Ternopil Oblast, Ukraine"] = {}, -- capital [[Ternopil]], license plate prefix BO, HO ["Vinnytsia Oblast, Ukraine"] = {}, -- capital [[Vinnytsia]], license plate prefix AB, KB ["Volyn Oblast, Ukraine"] = {}, -- capital [[Lutsk]], license plate prefix AC, KC ["Zakarpattia Oblast, Ukraine"] = {}, -- capital [[Uzhhorod]], license plate prefix AO, KO ["Zaporizhzhia Oblast, Ukraine"] = {}, -- capital ''[[Zaporizhzhia]]'', license plate prefix AP, KP ["Zaporizhia Oblast, Ukraine"] = {alias_of = "Zaporizhzhia Oblast, Ukraine", display = true}, ["Zhytomyr Oblast, Ukraine"] = {}, -- capital [[Zhytomyr]], license plate prefix AM, KM } -- oblasts of Ukraine export.ukraine_group = { key_to_placename = make_key_to_placename(", Ukraine$", " Oblast$"), placename_to_key = make_placename_to_key(", Ukraine", " Oblast"), default_container = "Ukraina", default_placetype = "oblast", default_divs = {"raions", "hromadas"}, data = export.ukraine_oblasts, } export.united_kingdom_constituent_countries = { ["England"] = {divs = { "counties", "districts", {type = "local government districts", cat_as = "districts"}, { type = "local government districts with borough status", cat_as = {"districts", "boroughs"}, }, {type = "boroughs", cat_as = {"districts", "boroughs"}}, {type = "civil parishes", container_parent_type = false}, }}, ["Northern Ireland"] = { placetype = {"constituent country", "province", "quốc gia"}, divs = {"counties", "districts"}, }, ["Scotland"] = {divs = { {type = "council areas", container_parent_type = false}, "districts", }}, ["Wales"] = {divs = { "counties", {type = "county boroughs", container_parent_type = false}, {type = "communities", container_parent_type = false}, {type = "Welsh communities", cat_as = {{type = "communities", container_parent_type = false}}}, }}, } -- constituent countries and provinces of the United Kingdom export.united_kingdom_group = { placename_to_key = false, default_container = "United Kingdom", default_placetype = {"constituent country", "quốc gia"}, addl_divs = { "traditional counties", {type = "historical counties", cat_as = "traditional counties"}, }, -- Don't create categories like 'Category:en:Towns in the United Kingdom' -- or 'Category:en:Places in the United Kingdom'. default_no_container_cat = true, data = export.united_kingdom_constituent_countries, } export.england_counties = { -- NOTE: We used to have various other "no longer" counties commented out, which seems to refer to counties that -- existed officially at some point between 1889 and 1974, which I have removed. I have only kept the three -- ceremonial counties that existed from 1974 (when ceremonial counties were created) to 1996, as well as those -- still considered "historic counties" per [[w:Historic counties of England]]. -- ["Avon, England"] = {wp = "%l (county)"}, -- no longer (1974 to 1996) ["Bedfordshire, England"] = {}, ["Berkshire, England"] = {}, -- ["Brighton and Hove, England"] = {}, -- city -- ["Bristol, England"] = {}, -- city ["Buckinghamshire, England"] = {}, ["Cambridgeshire, England"] = {}, ["Cheshire, England"] = {}, -- ["Cleveland, England"] = {wp = "%l (county)"}, -- no longer (1974 to 1996) ["Cornwall, England"] = {}, -- ["Cumberland, England"] = {}, -- no longer (historic county) ["Cumbria, England"] = {}, ["Derbyshire, England"] = {}, ["Devon, England"] = {}, ["Dorset, England"] = {}, ["County Durham, England"] = {}, ["East Sussex, England"] = {}, ["Essex, England"] = {}, ["Gloucestershire, England"] = {}, ["Greater London, England"] = {}, ["Greater Manchester, England"] = {}, ["Hampshire, England"] = {}, ["Herefordshire, England"] = {}, ["Hertfordshire, England"] = {}, -- ["Humberside, England"] = {}, -- no longer (1974 to 1996) -- ["Huntingdonshire, England"] = {}, -- no longer (historic county) ["Isle of Wight, England"] = {the = true}, ["Kent, England"] = {}, ["Lancashire, England"] = {}, ["Leicestershire, England"] = {}, ["Lincolnshire, England"] = {}, ["Merseyside, England"] = {}, -- ["Middlesex, England"] = {}, -- no longer (historic county) ["Norfolk, England"] = {}, ["Northamptonshire, England"] = {}, ["Northumberland, England"] = {}, ["North Yorkshire, England"] = {}, ["Nottinghamshire, England"] = {}, ["Oxfordshire, England"] = {}, ["Rutland, England"] = {}, ["Shropshire, England"] = {}, ["Somerset, England"] = {}, ["South Humberside, England"] = {}, ["South Yorkshire, England"] = {}, ["Staffordshire, England"] = {}, ["Suffolk, England"] = {}, ["Surrey, England"] = {}, -- ["Sussex, England"] = {}, -- no longer (historic county) ["Tyne and Wear, England"] = {}, ["Warwickshire, England"] = {}, ["West Midlands, England"] = {the = true, wp = "%l (county)"}, -- ["Westmorland, England"] = {}, -- no longer (historic county) ["West Sussex, England"] = {}, ["West Yorkshire, England"] = {}, ["Wiltshire, England"] = {}, ["Worcestershire, England"] = {}, -- ["Yorkshire, England"] = {}, -- no longer (historic county) ["East Riding of Yorkshire, England"] = {the = true}, } -- counties of England export.england_group = { default_container = {key = "England", placetype = "constituent country"}, default_placetype = "county", default_divs = { "districts", {type = "local government districts", cat_as = "districts"}, { type = "local government districts with borough status", cat_as = {"districts", "boroughs"}, }, {type = "boroughs", cat_as = {"districts", "boroughs"}}, "civil parishes", }, data = export.england_counties, } export.northern_ireland_counties = { ["County Antrim, Northern Ireland"] = {}, ["County Armagh, Northern Ireland"] = {}, ["City of Belfast, Northern Ireland"] = {the = true, is_city = true, wp = "Belfast"}, ["County Down, Northern Ireland"] = {}, ["County Fermanagh, Northern Ireland"] = {}, ["County Londonderry, Northern Ireland"] = {}, ["City of Derry, Northern Ireland"] = {the = true, is_city = true, wp = "Derry"}, ["County Tyrone, Northern Ireland"] = {}, } -- counties of Northern Ireland export.northern_ireland_group = { key_to_placename = make_irish_type_key_to_placename(", Northern Ireland$"), placename_to_key = make_irish_type_placename_to_key(", Northern Ireland"), default_container = {key = "Northern Ireland", placetype = "constituent country"}, default_placetype = "county", data = export.northern_ireland_counties, } export.scotland_council_areas = { ["Aberdeenshire, Scotland"] = {}, ["Angus, Scotland"] = {wp = "%l, %c"}, ["Argyll and Bute, Scotland"] = {}, ["City of Aberdeen, Scotland"] = {the = true, wp = "Aberdeen"}, ["Aberdeen"] = {alias_of = "City of Aberdeen, Scotland"}, ["Aberdeen City"] = {alias_of = "City of Aberdeen, Scotland"}, ["City of Dundee, Scotland"] = {the = true, wp = "Dundee"}, ["Dundee"] = {alias_of = "City of Dundee, Scotland"}, ["Dundee City"] = {alias_of = "City of Dundee, Scotland"}, ["City of Edinburgh, Scotland"] = {the = true, wp = "%l council area"}, ["Edinburgh"] = {alias_of = "City of Edinburgh, Scotland"}, ["City of Glasgow, Scotland"] = {the = true, wp = "Glasgow"}, ["Glasgow"] = {alias_of = "City of Glasgow, Scotland"}, ["Clackmannanshire, Scotland"] = {}, ["Dumfries and Galloway, Scotland"] = {}, ["East Ayrshire, Scotland"] = {}, ["East Dunbartonshire, Scotland"] = {}, ["East Lothian, Scotland"] = {}, ["East Renfrewshire, Scotland"] = {}, ["Falkirk, Scotland"] = {wp = "%l council area"}, ["Fife, Scotland"] = {}, ["Highland, Scotland"] = {wp = "%l council area"}, ["Inverclyde, Scotland"] = {}, ["Midlothian, Scotland"] = {}, ["Moray, Scotland"] = {}, ["North Ayrshire, Scotland"] = {}, ["North Lanarkshire, Scotland"] = {}, ["Orkney Islands, Scotland"] = {the = true}, ["Perth and Kinross, Scotland"] = {}, ["Renfrewshire, Scotland"] = {}, ["Scottish Borders, Scotland"] = {the = true}, ["Shetland Islands, Scotland"] = {the = true}, ["South Ayrshire, Scotland"] = {}, ["South Lanarkshire, Scotland"] = {}, ["Stirling, Scotland"] = {wp = "%l council area"}, ["West Dunbartonshire, Scotland"] = {}, ["West Lothian, Scotland"] = {}, ["Western Isles, Scotland"] = {the = true, wp = "Outer Hebrides"}, ["Na h-Eileanan Siar, Scotland"] = {alias_of = "Western Isles, Scotland"}, } -- council areas of Scotland export.scotland_group = { default_container = {key = "Scotland", placetype = "constituent country"}, default_placetype = "council area", data = export.scotland_council_areas, } export.wales_principal_areas = { ["Blaenau Gwent, Wales"] = {}, ["Bridgend, Wales"] = {wp = "%l County Borough"}, ["Caerphilly, Wales"] = {wp = "%l County Borough"}, -- ["Cardiff, Wales"] = {placetype = "thành phố"}, ["Carmarthenshire, Wales"] = {placetype = "county"}, ["Ceredigion, Wales"] = {placetype = "county"}, ["Conwy, Wales"] = {wp = "%l County Borough"}, ["Denbighshire, Wales"] = {placetype = "county"}, ["Flintshire, Wales"] = {placetype = "county"}, ["Gwynedd, Wales"] = {placetype = "county"}, ["Isle of Anglesey, Wales"] = {the = true, placetype = "county"}, ["Anglesey, Wales"] = {alias_of = "Isle of Anglesey, Wales"}, -- differs in "the" ["Merthyr Tydfil, Wales"] = {wp = "%l County Borough"}, ["Monmouthshire, Wales"] = {placetype = "county"}, ["Neath Port Talbot, Wales"] = {}, -- ["Newport, Wales"] = {placetype = "thành phố", wp = "%l, %c"}, ["Pembrokeshire, Wales"] = {placetype = "county"}, ["Powys, Wales"] = {placetype = "county"}, ["Rhondda Cynon Taf, Wales"] = {}, -- ["Swansea, Wales"] = {placetype = "thành phố"}, ["Torfaen, Wales"] = {}, ["Vale of Glamorgan, Wales"] = {the = true}, ["Wrexham, Wales"] = {wp = "%l County Borough"}, } -- principal areas (cities, counties and county boroughs) of Wales export.wales_group = { default_container = {key = "Wales", placetype = "constituent country"}, default_placetype = "county borough", data = export.wales_principal_areas, } export.united_states_states = { ["Alabama, USA"] = {}, ["Alaska, USA"] = {divs = { {type = "boroughs", container_parent_type = "counties"}, {type = "borough seats", container_parent_type = "county seats"}, }}, ["Arizona, USA"] = {}, ["Arkansas, USA"] = {}, ["California, USA"] = {}, ["Colorado, USA"] = {divs = {"counties", "county seats", "municipalities"}}, ["Connecticut, USA"] = {divs = {"counties", "county seats", "municipalities"}}, ["Delaware, USA"] = {}, ["Florida, USA"] = {}, ["Georgia, USA"] = {wp = "%l (U.S. state)"}, ["Hawaii, USA"] = {addl_parents = {"Polynesia"}}, ["Idaho, USA"] = {}, ["Illinois, USA"] = {}, ["Indiana, USA"] = {}, ["Iowa, USA"] = {}, ["Kansas, USA"] = {}, ["Kentucky, USA"] = {}, ["Louisiana, USA"] = {divs = { {type = "parishes", container_parent_type = "counties"}, {type = "parish seats", container_parent_type = "county seats"}, }}, ["Maine, USA"] = {}, ["Maryland, USA"] = {}, ["Massachusetts, USA"] = {}, ["Michigan, USA"] = {}, ["Minnesota, USA"] = {}, ["Mississippi, USA"] = {}, ["Missouri, USA"] = {}, ["Montana, USA"] = {}, ["Nebraska, USA"] = {}, ["Nevada, USA"] = {}, ["New Hampshire, USA"] = {}, ["New Jersey, USA"] = {divs = { "counties", "county seats", {type = "boroughs", prep = "in"}, }}, ["New Mexico, USA"] = {}, ["New York, USA"] = {wp = "%l (state)"}, ["North Carolina, USA"] = {}, ["North Dakota, USA"] = {}, ["Ohio, USA"] = {}, ["Oklahoma, USA"] = {}, ["Oregon, USA"] = {}, ["Pennsylvania, USA"] = {divs = { "counties", "county seats", {type = "boroughs", prep = "in"}, }}, ["Rhode Island, USA"] = {}, ["South Carolina, USA"] = {}, ["South Dakota, USA"] = {}, ["Tennessee, USA"] = {}, ["Texas, USA"] = {}, ["Utah, USA"] = {}, ["Vermont, USA"] = {}, ["Virginia, USA"] = {}, ["Washington, USA"] = {wp = "%l (state)"}, ["West Virginia, USA"] = {}, ["Wisconsin, USA"] = {}, ["Wyoming, USA"] = {}, } -- states of the United States export.united_states_group = { placename_to_key = make_placename_to_key(", USA"), default_container = "Hoa Kỳ", default_placetype = "state", default_divs = {"counties", "county seats"}, addl_divs = { {type = "census-designated places", prep = "in"}, {type = "unincorporated communities", prep = "in"}, }, data = export.united_states_states, } export.vietnam_provinces = { -- [[Northeast (Vietnam)|Northeast]] region ["Bắc Giang, Việt Nam"] = {}, -- capital [[Bắc Giang]] ["Bắc Kạn, Việt Nam"] = {}, -- capital [[Bắc Kạn]] ["Cao Bằng, Việt Nam"] = {}, -- capital [[Cao Bằng]] ["Hà Giang, Việt Nam"] = {}, -- capital [[Hà Giang]] ["Lạng Sơn, Việt Nam"] = {}, -- capital [[Lạng Sơn]] ["Phú Thọ, Việt Nam"] = {}, -- capital [[Việt Trì]] ["Quảng Ninh, Việt Nam"] = {}, -- capital [[Hạ Long]] ["Thái Nguyên, Việt Nam"] = {}, -- capital [[Thái Nguyên]] ["Tuyên Quang, Việt Nam"] = {}, -- capital [[Tuyên Quang]] -- [[Northwest (Vietnam)|Northwest]] region ["Lào Cai, Việt Nam"] = {}, -- capital [[Lào Cai]] ["Yên Bái, Việt Nam"] = {}, -- capital [[Yên Bái]] ["Điện Biên, Việt Nam"] = {}, -- capital [[Điện Biên Phủ]] ["Hòa Bình, Việt Nam"] = {}, ["Lai Châu, Việt Nam"] = {}, -- capital [[Lai Châu]] ["Sơn La, Việt Nam"] = {}, -- capital [[Sơn La]] -- [[Red River Delta]] region ["Bắc Ninh, Việt Nam"] = {}, -- capital [[Bắc Ninh]] ["Hà Nam, Việt Nam"] = {}, -- capital [[Phủ Lý]] ["Hải Dương, Việt Nam"] = {}, -- capital [[Hải Dương]] ["Hưng Yên, Việt Nam"] = {}, -- capital [[Hưng Yên]] ["Nam Định, Việt Nam"] = {}, -- capital [[Nam Định]] ["Ninh Bình, Việt Nam"] = {}, -- capital [[Ninh Bình|Hoa Lư]] ["Thái Bình, Việt Nam"] = {}, -- capital [[Thái Bình]] ["Vĩnh Phúc, Việt Nam"] = {}, -- capital [[Vĩnh Yên]] -- ["Hanoi"] = {placetype = {"municipality", "thành phố"}}, -- capital [[Hoàn Kiếm district]] -- ["Haiphong"] = {placetype = {"municipality", "thành phố"}}, -- capital [[Hồng Bàng district]] -- [[North Central Coast]] region ["Hà Tĩnh, Việt Nam"] = {}, -- capital [[Hà Tĩnh]] ["Nghệ An, Việt Nam"] = {}, -- capital [[Vinh]] ["Quảng Bình, Việt Nam"] = {}, -- capital [[Đồng Hới]] ["Quảng Trị, Việt Nam"] = {}, -- capital [[Đông Hà]] ["Thanh Hóa, Việt Nam"] = {}, -- ["Hue"] = {placetype = {"municipality", "thành phố"}, wp = "Huế"}, -- capital [[Thuận Hoá district]] -- [[Central Highlands (Vietnam)|Central Highlands]] region ["Đắk Lắk, Việt Nam"] = {}, -- capital [[Buôn Ma Thuột]] ["Đăk Nông, Việt Nam"] = {}, -- capital [[Gia Nghĩa]] ["Gia Lai, Việt Nam"] = {}, -- capital [[Pleiku]] ["Kon Tum, Việt Nam"] = {}, -- capital [[Kon Tum]] ["Lâm Đồng, Việt Nam"] = {}, -- capital [[Đà Lạt]] -- [[South Central Coast]] region ["Bình Định, Việt Nam"] = {}, -- capital [[Quy Nhon]] ["Bình Thuận, Việt Nam"] = {}, -- capital [[Phan Thiết]] ["Khánh Hòa, Việt Nam"] = {}, ["Ninh Thuận, Việt Nam"] = {}, -- capital [[Phan Rang–Tháp Chàm]] ["Phú Yên, Việt Nam"] = {}, -- capital [[Tuy Hoà]] ["Quảng Nam, Việt Nam"] = {}, -- capital [[Tam Kỳ]] ["Quảng Ngãi, Việt Nam"] = {}, -- capital [[Quảng Ngãi]] -- ["Da Nang"] = {placetype = {"municipality", "thành phố"}}, -- capital [[Hải Châu district]] -- [[Southeast (Vietnam)|Southeast]] region ["Bà Rịa–Vũng Tàu, Việt Nam"] = {}, -- capital [[Bà Rịa]] ["Bình Dương, Việt Nam"] = {}, -- capital [[Thủ Dầu Một]] ["Bình Phước, Việt Nam"] = {}, -- capital [[Đồng Xoài]] ["Đồng Nai, Việt Nam"] = {}, -- capital [[Biên Hoà]] ["Tây Ninh, Việt Nam"] = {}, -- capital [[Tây Ninh]] -- ["Thành phố Hồ Chí Minh"] = {placetype = {"municipality", "thành phố"}}, -- capital [[District 1, Thành phố Hồ Chí Minh|'''District 1''']] -- [[Mekong Delta]] region ["An Giang, Việt Nam"] = {}, -- capital [[Long Xuyên]] ["Bạc Liêu, Việt Nam"] = {}, -- capital [[Bạc Liêu]] ["Bến Tre, Việt Nam"] = {}, -- capital [[Bến Tre]] ["Cà Mau, Việt Nam"] = {}, -- capital [[Cà Mau]] ["Đồng Tháp, Việt Nam"] = {}, -- capital [[Cao Lãnh City|Cao Lãnh]] ["Hậu Giang, Việt Nam"] = {}, -- capital [[Vị Thanh]] ["Kiên Giang, Việt Nam"] = {}, -- capital [[Rạch Giá]] ["Long An, Việt Nam"] = {}, -- capital [[Tân An]] ["Sóc Trăng, Việt Nam"] = {}, -- capital [[Sóc Trăng]] ["Tiền Giang, Việt Nam"] = {}, -- capital [[Mỹ Tho]] ["Trà Vinh, Việt Nam"] = {}, -- capital [[Trà Vinh]] ["Vĩnh Long, Việt Nam"] = {}, -- capital [[Vĩnh Long]] -- ["Can Tho"] = {placetype = {"municipality", "thành phố"}, wp = "Cần Thơ"}, -- capital [[Ninh Kiều district]] } -- provinces of Vietnam export.vietnam_group = { key_to_placename = make_key_to_placename(", Việt Nam$", "$"), placename_to_key = make_placename_to_key(", Việt Nam", ""), default_container = "Việt Nam", default_placetype = "tỉnh", -- There may not be enough districts to subcategorize like this. -- default_divs = "districts", -- For obscure reasons, provinces of Iran, Laos, Thailand and Vietnam use lowercase 'province' default_wp = "%e", data = export.vietnam_provinces, } ----------------------------------------------------------------------------------- -- City data -- ----------------------------------------------------------------------------------- export.australia_cities = { ["Adelaide"] = {container = "South Australia"}, -- 1,450,000 (Agglomeration) ["Brisbane"] = {container = "Queensland"}, -- 3,450,000 (Conglomeration; including the Gold Coast [750,997 2024 estiamte]) ["Canberra"] = {container = {key = "Lãnh thổ Thủ đô Úc, Úc", placetype = "territory"}}, -- 510,641 (2024 estimate) ["Melbourne"] = {container = "Victoria"}, -- 5,200,000 (Agglomeration) ["Newcastle, New South Wales"] = {container = "New South Wales", wp = "%l, %c"}, -- 534,033 (2024 estimate) ["Newcastle"] = {alias_of = "Newcastle, New South Wales"}, ["Perth"] = {container = "Western Australia"}, -- 2,350,000 (Agglomeration) ["Sydney"] = {container = "New South Wales"}, -- 5,100,000 (Agglomeration) } export.australia_cities_group = { canonicalize_key_container = make_canonicalize_key_container(", Úc", "state"), default_placetype = "thành phố", data = export.australia_cities, } export.brazil_cities = { -- Figures from citypopulation.de; retrieved 2025-04-27; reference date 2025-01-01. ["São Paulo"] = {container = "São Paulo"}, -- 22,600,000 (Consolidated Urban Area; including Guarulhos) ["Sao Paulo"] = {alias_of = "São Paulo", display = true}, ["Rio de Janeiro"] = {container = "Rio de Janeiro"}, -- 13,600,000 (Consolidated Urban Area) ["Belo Horizonte"] = {container = "Minas Gerais"}, -- 5,300,000 ["Recife"] = {container = "Pernambuco"}, -- 4,100,000 ["Porto Alegre"] = {container = "Rio Grande do Sul"}, -- 3,950,000 (Consolidated Urban Area) ["Brasília"] = {container = "Distrito Federal"}, -- 3,850,000 ["Brasilia"] = {alias_of = "Brasília", display = true}, ["Fortaleza"] = {container = "Ceará"}, -- 3,825,000 ["Salvador"] = {container = "Bahia", wp = "%l, %c", commonscat = "%l (%c)"}, -- 3,400,000 ["Curitiba"] = {container = "Paraná"}, -- 3,375,000 ["Campinas"] = {container = "São Paulo"}, -- 3,250,000 ["Goiânia"] = {container = "Goiás"}, -- 2,525,000 ["Goiania"] = {alias_of = "Goiânia", display = true}, ["Manaus"] = {container = "Amazonas"}, -- 2,275,000 ["Belém"] = {container = "Pará"}, -- 2,200,000 ["Belem"] = {alias_of = "Belém", display = true}, ["Vitória"] = {container = "Espírito Santo", wp = "%l, %c"}, -- 1,870,000 ["Vitoria"] = {alias_of = "Vitória", display = true}, ["Santos"] = {container = "São Paulo", wp = "%l, %c"}, -- 1,760,000 ["São Luís"] = {container = "Maranhão", wp = "%l, %c"}, -- 1,530,000 ["Sao Luis"] = {alias_of = "São Luís", display = true}, ["Natal"] = {container = "Rio Grande do Norte", wp = "%l, %c"}, -- 1,360,000 ["Florianópolis"] = {container = "Santa Catarina"}, -- 1,260,000 ["Florianopolis"] = {alias_of = "Florianópolis", display = true}, ["Maceió"] = {container = "Alagoas"}, -- 1,220,000 ["Maceio"] = {alias_of = "Maceió", display = true}, ["João Pessoa"] = {container = "Paraíba", wp = "%l, %c"}, -- 1,210,000 ["Joao Pessoa"] = {alias_of = "João Pessoa", display = true}, ["São José dos Campos"] = {container = "São Paulo"}, -- 1,090,000 ["Sao Jose dos Campos"] = {alias_of = "São José dos Campos", display = true}, ["Londrina"] = {container = "Paraná"}, -- 1,050,000 ["Teresina"] = {container = "Piauí"}, -- 1,040,000 } export.brazil_cities_group = { canonicalize_key_container = make_canonicalize_key_container(", Brazil", "state"), default_placetype = "thành phố", data = export.brazil_cities, } export.canada_cities = { -- Figures from citypopulation.de; retrieved 2025-04-27; reference date 2025-01-01. ["Toronto"] = {container = "Ontario"}, -- 7,850,000 (Consolidated Urban Area; including Hamilton) ["Montreal"] = {container = "Quebec"}, -- 4,500,000 (Consolidated Urban Area) ["Vancouver"] = {container = "British Columbia"}, -- 3,175,000 (Consolidated Urban Area) ["Calgary"] = {container = "Alberta"}, -- 1,510,000 (Consolidated Urban Area) ["Edmonton"] = {container = "Alberta"}, -- 1,460,000 (Consolidated Urban Area) ["Ottawa"] = {container = "Ontario"}, -- 1,390,000 (Consolidated Urban Area) ["Quebec City"] = {container = "Quebec"}, -- 839,311 metro per Wikipedia (2021 census) ["Winnipeg"] = {container = "Manitoba"}, -- 834,678 metro per Wikipedia (2021 census) ["Hamilton"] = {container = "Ontario", wp = "%l, %c"}, -- 785,184 metro per Wikipedia (2021 census) ["Kitchener"] = {container = "Ontario", wp = "%l, %c"}, -- 575,847 metro per Wikipedia (2021 census) } export.canada_cities_group = { canonicalize_key_container = make_canonicalize_key_container(", Canada", "province"), default_placetype = "thành phố", data = export.canada_cities, } export.france_cities = { -- Figures from citypopulation.de unless otherwise indicated; retrieved 2025-04-26; reference date 2025-01-01. ["Paris"] = {container = "Île-de-France"}, -- 11,500,000 (Conglomeration) ["Lyon"] = {container = "Auvergne-Rhône-Alpes"}, -- 2,050,000 (Conglomeration) ["Lyons"] = {alias_of = "Lyon", display = true}, ["Marseille"] = {container = "Provence-Alpes-Côte d'Azur"}, -- 1,710,000 (Conglomeration) ["Marseilles"] = {alias_of = "Marseille", display = true}, ["Lille"] = {container = "Hauts-de-France"}, -- 1,320,000 (Conglomeration) ["Bordeaux"] = {container = "Nouvelle-Aquitaine"}, -- 1,160,000 (Conglomeration) ["Toulouse"] = {container = "Occitania"}, -- 1,150,000 (Conglomeration) ["Nice"] = {container = "Provence-Alpes-Côte d'Azur"}, ["Nantes"] = {container = "Pays de la Loire"}, ["Strasbourg"] = {container = "Grand Est"}, ["Rennes"] = {container = "Brittany"}, } export.france_cities_group = { canonicalize_key_container = make_canonicalize_key_container(", France", "region"), default_placetype = "thành phố", data = export.france_cities, } export.germany_cities = { -- Figures from citypopulation.de unless otherwise indicated; retrieved 2025-04-26; reference date 2025-01-01. -- listed under Rhein-Ruhr Area, total population 10,900,000 (Consolidated Urban Area) ["Cologne"] = {container = "North Rhine-Westphalia"}, ["Köln"] = {alias_of = "Cologne", display = true}, ["Düsseldorf"] = {container = "North Rhine-Westphalia"}, ["Dusseldorf"] = {alias_of = "Düsseldorf", display = true}, ["Dortmund"] = {container = "North Rhine-Westphalia"}, ["Essen"] = {container = "North Rhine-Westphalia"}, ["Duisberg"] = {container = "North Rhine-Westphalia"}, ["Berlin"] = {}, -- 4,700,000 ["Frankfurt"] = {container = "Hesse"}, -- 3,225,000 ["Frankfurt am Main"] = {alias_of = "Frankfurt"}, -- not a display alias as it's longer ["Hamburg"] = {}, -- 2,900,000 ["Munich"] = {container = "Bavaria"}, -- 2,300,000 ["Stuttgart"] = {container = "Baden-Württemberg"}, -- 2,300,000 ["Mannheim"] = {container = "Baden-Württemberg"}, -- 1,550,000 ["Nuremberg"] = {container = "Bavaria"}, -- 1,120,000 ["Hanover"] = {"Lower Saxony"}, -- 1,090,000 ["Bielefeld"] = {container = "North Rhine-Westphalia"}, -- 1,080,000 ["Leipzig"] = {container = "Saxony"}, -- 1,080,000 ["Aachen"] = {container = "North Rhine-Westphalia"}, -- 1,000,000 ["Aix-la-Chapelle"] = {alias_of = "Aachen"}, -- historical; not a display alias ["Bremen"] = {}, } export.germany_cities_group = { default_container = "Đức", canonicalize_key_container = make_canonicalize_key_container(", Germany", "state"), default_placetype = "thành phố", data = export.germany_cities, } export.india_cities = { -- This lists the 65 metro areas per Demographia's 2023 estimates, as found in -- [[w:List_of_million-plus_urban_agglomerations_in_India]]. The last census in India (as of April 2025) was -- conducted in 2011, and the results are not accurate any more. ["Delhi"] = {container = {key = "Delhi, India", placetype = "union territory"}}, -- 31,190,000 ["Mumbai"] = {container = "Maharashtra"}, -- 25,189,000 ["Kolkata"] = {container = "West Bengal"}, -- 21,747,000 ["Bangalore"] = {container = "Karnataka", wp = "Bengaluru"}, -- 15,257,000 ["Bengaluru"] = {alias_of = "Bangalore"}, ["Chennai"] = {container = "Tamil Nadu"}, -- 11,570,000 ["Hyderabad"] = {container = "Telangana"}, -- 9,797,000 ["Ahmedabad"] = {container = "Gujarat"}, -- 8,006,000 ["Pune"] = {container = "Maharashtra"}, -- 6,819,000 ["Surat"] = {container = "Gujarat"}, -- 6,601,000 ["Lucknow"] = {container = "Uttar Pradesh"}, -- 4,661,000 ["Jaipur"] = {container = "Rajasthan"}, -- 4,360,000 ["Kanpur"] = {container = "Uttar Pradesh"}, -- 4,350,000 ["Indore"] = {container = "Madhya Pradesh"}, -- 3,765,000 ["Nagpur"] = {container = "Maharashtra"}, -- 3,493,000 ["Patna"] = {container = "Bihar"}, -- 3,331,000 ["Varanasi"] = {container = "Uttar Pradesh"}, -- 3,229,000 ["Kozhikode"] = {container = "Kerala"}, -- 3,049,000 ["Thiruvananthapuram"] = {container = "Kerala"}, -- 2,851,000 ["Agra"] = {container = "Uttar Pradesh"}, -- 2,737,000 ["Bhopal"] = {container = "Madhya Pradesh"}, -- 2,562,000 ["Coimbatore"] = {container = "Tamil Nadu"}, -- 2,551,000 ["Allahabad"] = {container = "Uttar Pradesh", wp = "Prayagraj"}, -- 2,438,000 ["Prayagraj"] = {alias_of = "Allahabad"}, ["Kochi"] = {container = "Kerala"}, -- 2,381,000 ["Ludhiana"] = {container = "Punjab"}, -- 2,205,000 ["Vadodara"] = {container = "Gujarat"}, -- 2,182,000 ["Chandigarh"] = {container = {key = "Chandigarh, India", placetype = "union territory"}}, -- 2,168,000 ["Madurai"] = {container = "Tamil Nadu"}, -- 2,048,000 ["Meerut"] = {container = "Uttar Pradesh"}, -- 2,011,000 ["Visakhapatnam"] = {container = "Andhra Pradesh"}, -- 2,005,000 ["Jamshedpur"] = {container = "Jharkhand"}, -- 1,925,000 ["Malappuram"] = {container = "Kerala"}, -- 1,868,000 ["Nashik"] = {container = "Maharashtra"}, -- 1,810,000 ["Asansol"] = {container = "West Bengal"}, -- 1,720,000 ["Aligarh"] = {container = "Uttar Pradesh"}, -- 1,660,000 ["Ranchi"] = {container = "Jharkhand"}, -- 1,638,000 ["Thrissur"] = {container = "Kerala"}, -- 1,578,000 ["Kollam"] = {container = "Kerala"}, -- 1,576,000 ["Jabalpur"] = {container = "Madhya Pradesh"}, -- 1,533,000 ["Dhanbad"] = {container = "Jharkhand"}, -- 1,503,000 ["Jodhpur"] = {container = "Rajasthan"}, -- 1,497,000 ["Aurangabad"] = {container = "Maharashtra"}, -- 1,490,000 ["Chhatrapati Sambhajinagar"] = {alias_of = "Aurangabad"}, ["Rajkot"] = {container = "Gujarat"}, -- 1,487,000 ["Gwalior"] = {container = "Madhya Pradesh"}, -- 1,477,000 ["Raipur"] = {container = "Chhattisgarh"}, -- 1,429,000 ["Gorakhpur"] = {container = "Uttar Pradesh"}, -- 1,410,000 ["Kannur"] = {container = "Kerala"}, -- 1,360,000 ["Bareilly"] = {container = "Uttar Pradesh"}, -- 1,355,000 ["Guwahati"] = {container = "Assam"}, -- 1,355,000 ["Moradabad"] = {container = "Uttar Pradesh"}, -- 1,345,000 ["Amritsar"] = {container = "Punjab"}, -- 1,313,000 ["Mysore"] = {container = "Karnataka"}, -- 1,296,000 ["Bhilai"] = {container = "Chhattisgarh"}, -- 1,293,000 ["Durg-Bhilainagar"] = {alias_of = "Bhilai"}, ["Durg-Bhilai"] = {alias_of = "Bhilai"}, ["Durg"] = {alias_of = "Bhilai"}, ["Bhilainagar"] = {alias_of = "Bhilai"}, ["Vijayawada"] = {container = "Andhra Pradesh"}, -- 1,232,000 ["Srinagar"] = {container = {key = "Jammu and Kashmir, India", placetype = "union territory"}}, -- 1,212,000 ["Salem"] = {container = "Tamil Nadu", wp = "%l, %c"}, -- 1,189,000 ["Kota"] = {container = "Rajasthan"}, -- 1,172,000 ["Jalandhar"] = {container = "Punjab"}, -- 1,165,000 ["Saharanpur"] = {container = "Uttar Pradesh"}, -- 1,152,000 ["Dehradun"] = {container = "Uttarakhand"}, -- 1,136,000 ["Tiruchirappalli"] = {container = "Tamil Nadu"}, -- 1,131,000 ["Bhubaneswar"] = {container = "Odisha"}, -- 1,112,000 ["Jammu"] = {container = {key = "Jammu and Kashmir, India", placetype = "union territory"}}, -- 1,103,000 ["Solapur"] = {container = "Maharashtra"}, -- 1,082,000 ["Hubli-Dharwad"] = {container = "Karnataka", wp = "Hubli–Dharwad"}, -- 1,062,000; wp with en dash ["Hubli"] = {alias_of = "Hubli-Dharwad"}, ["Dharwad"] = {alias_of = "Hubli-Dharwad"}, ["Puducherry"] = {container = {key = "Puducherry, India", placetype = "union territory"}}, -- 1,024,000 ["Pondicherry"] = {alias_of = "Puducherry", display = true}, -- satellite/secondary cities of metro area (none in citypopulation.de) ["Ghaziabad"] = {container = "Uttar Pradesh"}, -- 1,729,000 city, 2,358,525 urban agglomeration per 2011 census; 3,406,061 2025 estimate from official website; part of Delhi metro area ["Faridabad"] = {container = "Haryana"}, -- 1,414,050 city per 2011 census; part of Delhi metro area ["Thane"] = {container = "Maharashtra"}, -- 1,841,488 city per 2011 census; part of Mumbai metro area ["Kalyan-Dombivli"] = {container = "Maharashtra"}, -- 1,246,381 city per 2011 census; part of Mumbai metro area ["Kalyan-Dombivali"] = {alias_of = "Kalyan-Dombivli", display = true}, ["Kalyan"] = {alias_of = "Kalyan-Dombivli"}, ["Dombivli"] = {alias_of = "Kalyan-Dombivli"}, ["Dombivali"] = {alias_of = "Kalyan-Dombivli"}, ["Vasai-Virar"] = {container = "Maharashtra"}, -- 1,221,233 city per 2011 census; part of Mumbai metro area ["Vasai"] = {alias_of = "Vasai-Virar"}, ["Virar"] = {alias_of = "Vasai-Virar"}, ["Navi Mumbai"] = {container = "Maharashtra"}, -- 1,120,547 city per 2011 census; part of Mumbai metro area ["Howrah"] = {container = "West Bengal"}, -- 1,077,075 city ("metropolis"), 2,811,344 "metro" per 2011 census; part of Kolkata metro area ["Pimpri-Chinchwad"] = {container = "Maharashtra"}, -- 1,727,692 per 2011 census; part of Pune metro area ["Pimpri Chinchwad"] = {alias_of = "Pimpri-Chinchwad", display = true}, } export.india_cities_group = { canonicalize_key_container = make_canonicalize_key_container(", India", "state"), default_placetype = "thành phố", data = export.india_cities, } export.indonesia_cities = { -- cities where the city proper has more than 1,000,000 people as of mid-2023 estimate ["Jakarta"] = {container = "Special Capital Region of Jakarta", divs = { {type = "subdistricts", container_parent_type = false}, }}, ["Surabaya"] = {container = "East Java"}, ["Bekasi"] = {container = "West Java"}, -- part of Jakarta metro area ["Bandung"] = {container = "West Java"}, ["Medan"] = {container = "North Sumatra"}, ["Depok"] = {container = "West Java"}, -- part of Jakarta metro area ["Tangerang"] = {container = "Banten"}, -- part of Jakarta metro area ["Palembang"] = {container = "South Sumatra"}, ["Semarang"] = {container = "Central Java"}, ["Makassar"] = {container = "South Sulawesi"}, ["South Tangerang"] = {container = "Banten"}, -- part of Jakarta metro area ["Batam"] = {container = "Riau Islands"}, ["Bogor"] = {container = "West Java"}, -- part of Jakarta metro area ["Pekanbaru"] = {container = "Riau"}, ["Bandar Lampung"] = {container = "Lampung"}, -- other metro areas over 1,000,000 people ["Padang"] = {container = "West Sumatra"}, ["Samarinda"] = {container = "East Kalimantan"}, ["Malang"] = {container = "East Java"}, ["Yogyakarta"] = {container = "Special Region of Yogyakarta"}, ["Denpasar"] = {container = "Bali"}, ["Cirebon"] = {container = "West Java"}, ["Surakarta"] = {container = "Central Java"}, ["Banjarmasin"] = {container = "South Kalimantan"}, ["Tasikmalaya"] = {container = "West Java"}, } export.indonesia_cities_group = { canonicalize_key_container = make_canonicalize_key_container(", Indonesia", "province"), default_placetype = "thành phố", data = export.indonesia_cities, } export.italy_cities = { -- Data per [[w:List_of_metropolitan_areas_of_Italy]]. There are several lists given; the most recent one, used -- here, only gives estimates as of Jan 1, 2014. ["Milan"] = {container = "Lombardy"}, -- 6,623,798 ["Naples"] = {container = "Campania"}, -- 5,294,546 ["Rome"] = {container = "Lazio"}, -- 4,447,881 ["Turin"] = {container = "Piedmont"}, -- 1,865,284 ["Venice"] = {container = "Veneto"}, -- 1,645,900 ["Florence"] = {container = "Tuscany"}, -- 1,485,030 ["Bari"] = {container = "Apulia"}, -- 1,257,459 ["Palermo"] = {container = "Sicily"}, -- 1,183,084 -- include a few just below 1,000,000 metro area that may be above it by now (depending on the definition). ["Catania"] = {container = "Sicily"}, -- 988,240 ["Brescia"] = {container = "Lombardy"}, -- 924,090 ["Genoa"] = {container = "Liguria"}, -- 861,318 } export.italy_cities_group = { canonicalize_key_container = make_canonicalize_key_container(", Italy", "region"), default_placetype = "thành phố", data = export.italy_cities, } export.japan_cities = { -- Population figures from [[w:List of cities in Japan]]. Metro areas from -- [[w:List of metropolitan areas in Japan]]. ["Tokyo"] = {keydesc = "[[Tokyo]] Metropolis, the [[capital city]] and a [[prefecture]] of [[Japan]] (which is a country in [[Asia]])", placetype = {"thành phố", "tỉnh"}, divs = { {type = "quận đặc biệt", container_parent_type = false}, {type = "thành phố", prep = "của"}, }, }, ["Yokohama"] = {container = "Kanagawa"}, -- 3,697,894 ["Ōsaka"] = {container = "Ōsaka"}, -- 2,668,586 ["Osaka"] = {alias_of = "Ōsaka"}, ["Nagoya"] = {container = "Aichi"}, -- 2,283,289 -- FIXME, Hokkaido is handled specially. ["Sapporo"] = {container = "Hokkaidō"}, -- 1,918,096 ["Fukuoka"] = {container = "Fukuoka"}, -- 1,581,527 ["Kobe"] = {container = "Hyōgo"}, -- 1,530,847 ["Kyoto"] = {container = "Kyoto"}, -- 1,474,570 ["Kawasaki"] = {container = "Kanagawa", wp = "%l, Kanagawa"}, -- 1,373,630 ["Saitama"] = {container = "Saitama", wp = "%l (city)", commonscat = "%l, %c"}, -- 1,192,418 ["Hiroshima"] = {container = "Hiroshima"}, -- 1,163,806 ["Sendai"] = {container = "Miyagi"}, -- 1,029,552 -- the remaining cities are considered "central cities" in a 1,000,000+ metro area -- (sometimes there is more than one central city in the area). ["Kitakyushu"] = {container = "Fukuoka"}, -- 986,998 ["Chiba"] = {container = "Chiba", wp = "%l (city)", commonscat = "%l, %c"}, -- 938,695 ["Sakai"] = {container = "Ōsaka"}, -- 835,333 ["Niigata"] = {container = "Niigata", wp = "%l (city)", commonscat = "%l, %c"}, -- 813,053 ["Hamamatsu"] = {container = "Shizuoka"}, -- 811,431 ["Shizuoka"] = {container = "Shizuoka", wp = "%l (city)", commonscat = "%l, %c"}, -- 710,944 ["Sagamihara"] = {container = "Kanagawa"}, -- 706,342 ["Okayama"] = {container = "Okayama"}, -- 701,293 ["Kumamoto"] = {container = "Kumamoto"}, -- 670,348 ["Kagoshima"] = {container = "Kagoshima"}, -- 605,196 -- skipped 6 cities (Funabashi, Hachiōji, Kawaguchi, Himeji, Matsuyama, Higashiōsaka) -- with population in the range 509k - 587k because not central cities in any -- 1,000,000+ metro area. ["Utsunomiya"] = {container = "Tochigi"}, -- 507,833 } export.japan_cities_group = { default_container = "Nhật Bản", canonicalize_key_container = make_canonicalize_key_container(", Nhật Bản", "prefecture"), default_placetype = "thành phố", data = export.japan_cities, } export.mexico_cities = { ["Mexico City"] = {}, -- its own state ["Monterrey"] = {container = "Nuevo León"}, ["Guadalajara"] = {container = "Jalisco"}, ["Puebla"] = {container = "Puebla", wp = "%l (city)"}, ["Toluca"] = {container = "State of Mexico"}, ["Tijuana"] = {container = "Baja California"}, -- Include the state in the category for León due to possible confusion with León, Spain. ["León, Guanajuato"] = {container = "Guanajuato", wp = "%l, %c"}, ["León"] = {alias_of = "León, Guanajuato"}, ["Leon"] = {alias_of = "León, Guanajuato", display = true}, ["Querétaro"] = {container = "Querétaro", wp = "%l (city)"}, ["Queretaro"] = {alias_of = "Querétaro", display = true}, ["Ciudad Juárez"] = {container = "Chihuahua"}, ["Juárez"] = {alias_of = "Ciudad Juárez"}, ["Juarez"] = {alias_of = "Ciudad Juárez", display = "Juárez"}, ["Torreón"] = {container = "Coahuila"}, ["Torreon"] = {alias_of = "Torreón", display = true}, -- Include the state in the category for Mérida due to possible confusion with Mérida, Spain or -- Mérida, Venezuela. ["Mérida, Yucatán"] = {container = "Yucatán", wp = "%l, %c"}, ["Mérida"] = {alias_of = "Mérida, Yucatán"}, ["Merida"] = {alias_of = "Mérida, Yucatán", display = true}, ["San Luis Potosí"] = {container = "San Luis Potosí", wp = "%l (city)"}, ["San Luis Potosi"] = {alias_of = "San Luis Potosí", display = true}, ["Aguascalientes"] = {container = "Aguascalientes", wp = "%l (city)"}, ["Mexicali"] = {container = "Baja California"}, } export.mexico_cities_group = { default_container = "Mexico", canonicalize_key_container = make_canonicalize_key_container(", Mexico", "state"), default_placetype = "thành phố", data = export.mexico_cities, } export.nigeria_cities = { -- Figures from citypopulation.de unless otherwise indicated; retrieved 2025-04-26; reference date 2025-01-01. ["Lagos"] = {container = "Lagos"}, -- 21,300,000 (unindicated; population of low reliability) ["Kano"] = {container = "Kano", wp = "%l (city)"}, -- 5,350,000 (unindicated; population of low reliability) ["Ibadan"] = {container = "Oyo"}, -- 3,400,000 (unindicated; population of low reliability) ["Abuja"] = {container = {key = "Federal Capital Territory, Nigeria", placetype = "federal territory"}}, -- 3,050,000 (unindicated; population of low reliability) ["Port Harcourt"] = {container = "Rivers"}, -- 2,250,000 (unindicated; population of low reliability) ["Kaduna"] = {container = "Kaduna"}, -- 1,980,000 (unindicated; population of low reliability) ["Benin City"] = {container = "Edo"}, -- 1,790,000 (unindicated; population of low reliability) ["Aba"] = {container = "Abia", wp = "%l, Nigeria"}, -- 1,280,000 (unindicated; population of low reliability) ["Onitsha"] = {container = "Anambra"}, -- 1,230,000 (unindicated; population of low reliability) ["Maiduguri"] = {container = "Borno"}, -- 1,190,000 (unindicated; population of low reliability) ["Ilorin"] = {container = "Kwara"}, -- 1,160,000 (unindicated; population of low reliability) ["Sokoto"] = {container = "Sokoto", wp = "%l (city)"}, -- 1,140,000 (unindicated; population of low reliability) ["Jos"] = {container = "Plateau"}, -- 1,110,000 (unindicated; population of low reliability) ["Zaria"] = {container = "Kaduna"}, -- 1,050,000 (unindicated; population of low reliability) ["Enugu"] = {container = "Enugu", wp = "%l (city)"}, -- 1,010,000 (unindicated; population of low reliability) } export.nigeria_cities_group = { default_container = "Nigeria", canonicalize_key_container = make_canonicalize_key_container(" State, Nigeria", "state"), default_placetype = "thành phố", data = export.nigeria_cities, } export.pakistan_cities = { -- Figures from citypopulation.de; retrieved 2025-04-26; reference date 2025-01-01. ["Karachi"] = {container = "Sindh"}, -- 21,000,000 (Consolidated Urban Area) ["Lahore"] = {container = "Punjab"}, -- 14,600,000 (Consolidated Urban Area) ["Rawalpindi"] = {container = "Punjab"}, -- 5,600,000 (Consolidated Urban Area; including Islamabad) ["Islamabad"] = {container = {key = "Islamabad Capital Territory, Pakistan", placetype = "federal territory"}}, -- 5,600,000 (Consolidated Urban Area; including Rawalpindi) ["Faisalabad"] = {container = "Punjab"}, -- 4,125,000 (Consolidated Urban Area) ["Gujranwala"] = {container = "Punjab"}, -- 3,450,000 (Consolidated Urban Area) -- there is also Hyderabad in India (very confusing) ["Hyderabad, Pakistan"] = {container = "Sindh", wp = "%l, %c"}, -- 2,475,000 (Consolidated Urban Area) ["Hyderabad"] = {alias_of = "Hyderabad, Pakistan"}, ["Multan"] = {container = "Punjab"}, -- 2,425,000 (Consolidated Urban Area) ["Peshawar"] = {container = "Khyber Pakhtunkhwa"}, -- 2,150,000 (Consolidated Urban Area) ["Quetta"] = {container = "Balochistan"}, -- 1,720,000 (Urban Area) ["Sargodha"] = {container = "Punjab"}, -- 1,080,000 (Urban Area) ["Sialkot"] = {container = "Punjab"}, -- 1,050,000 (Consolidated Urban Area) } export.pakistan_cities_group = { canonicalize_key_container = make_canonicalize_key_container(", Pakistan", "province"), default_placetype = "thành phố", data = export.pakistan_cities, } export.philippines_cities = { -- Skipped some cities in Metro Manila (Taguig, Pasig) which don't have districts. -- Other cities outside Metro Manila skipped as not central city in their urban area. ["Quezon City"] = {container = {key = "Metro Manila, Philippines", placetype = "region"}}, -- Don't display-canonicalize Foo to Foo City as it may make the display weird. ["Quezon"] = {alias_of = "Quezon City"}, ["Manila"] = {container = {key = "Metro Manila, Philippines", placetype = "region"}}, ["Davao City"] = {container = "Davao del Sur"}, ["Davao"] = {alias_of = "Davao City"}, ["Caloocan"] = {container = {key = "Metro Manila, Philippines", placetype = "region"}}, ["Zamboanga City"] = {container = "Zamboanga del Sur"}, ["Zamboanga"] = {alias_of = "Zamboanga City"}, ["Cebu City"] = {container = "Cebu"}, ["Cebu"] = {alias_of = "Cebu City"}, ["Antipolo"] = {container = "Rizal"}, ["Cagayan de Oro"] = {container = "Misamis Oriental"}, ["Dasmariñas"] = {container = "Cavite"}, ["Dasmarinas"] = {alias_of = "Dasmariñas", display = true}, ["General Santos"] = {container = "South Cotabato"}, ["San Jose del Monte"] = {container = "Bulacan"}, ["Bacolod"] = {container = "Negros Occidental"}, ["Calamba"] = {container = "Laguna", wp = "%l, %c"}, ["Angeles"] = {container = "Pampanga", wp = "Angeles City"}, ["Angeles City"] = {alias_of = "Angeles"}, ["Iloilo City"] = {container = "Iloilo"}, ["Iloilo"] = {alias_of = "Iloilo City"}, } export.philippines_cities_group = { canonicalize_key_container = make_canonicalize_key_container(", Philippines", "province"), default_placetype = "thành phố", data = export.philippines_cities, } export.russia_cities = { -- Figures from citypopulation.de; retrieved 2025-04-26; reference date 2025-01-01. ["Moscow"] = {}, -- 18,800,000 (Agglomeration) ["Sankt-Peterburg"] = {}, -- 6,350,000 (Agglomeration) ["Saint Petersburg"] = {alias_of = "Sankt-Peterburg"}, ["Novosibirsk"] = {container = "Novosibirsk Oblast"}, -- 1,820,000 (Agglomeration) ["Yekaterinburg"] = {container = "Sverdlovsk Oblast"}, -- 1,810,000 (Agglomeration) ["Nizhny Novgorod"] = {container = "Nizhny Novgorod Oblast"}, -- 1,620,000 (Agglomeration) ["Kazan"] = {container = {key = "Tatarstan, Russia", placetype = "republic"}}, -- 1,560,000 (Agglomeration) ["Chelyabinsk"] = {container = "Chelyabinsk Oblast"}, -- 1,430,000 (Agglomeration) ["Rostov-on-Don"] = {container = "Rostov Oblast"}, -- 1,390,000 (Agglomeration) ["Rostov-na-Donu"] = {alias_of = "Rostov-on-Don", display = true}, ["Krasnodar"] = {container = {key = "Krasnodar Krai, Russia", placetype = "krai"}}, -- 1,370,000 (Agglomeration) ["Samara"] = {container = "Samara Oblast"}, -- 1,350,000 (Agglomeration) ["Krasnoyarsk"] = {container = {key = "Krasnoyarsk Krai, Russia", placetype = "krai"}}, -- 1,270,000 (Agglomeration) ["Ufa"] = {container = {key = "Bashkortostan, Russia", placetype = "republic"}}, -- 1,230,000 (Agglomeration) ["Saratov"] = {container = "Saratov Oblast"}, -- 1,170,000 (Agglomeration) ["Omsk"] = {container = "Omsk Oblast"}, -- 1,140,000 (Agglomeration) ["Voronezh"] = {container = "Voronezh Oblast"}, -- 1,130,000 (Agglomeration) ["Volgograd"] = {container = "Volgograd Oblast"}, -- 1,080,000 (Agglomeration) ["Perm"] = {container = {key = "Perm Krai, Russia", placetype = "krai"}, wp = "%l, Russia"}, -- 1,070,000 (Agglomeration) } export.russia_cities_group = { canonicalize_key_container = make_canonicalize_key_container(", Russia", "oblast"), default_container = "Nga", default_placetype = "thành phố", data = export.russia_cities, } export.saudi_arabia_cities = { -- Figures for the first five from [[w:List of cities and towns in Saudi Arabia]] as of 2022. Unclear if these are -- metro, urban or city proper figures. ["Riyadh"] = {container = "Riyadh"}, -- 7,000,100; 7,700,000 per citypopulation.de 2025-01-01 (Agglomeration) ["Jeddah"] = {container = "Mecca"}, -- 3,751,917; 3,950,000 per citypopulation.de 2025-01-01 (Agglomeration) ["Jedda"] = {alias_of = "Jeddah", display = true}, ["Jiddah"] = {alias_of = "Jeddah", display = true}, ["Jidda"] = {alias_of = "Jeddah", display = true}, ["Dammam"] = {container = "Eastern"}, -- 2,638,166; 2,925,000 per citypopulation.de 2025-01-01 (Agglomeration) ["Mecca"] = {container = "Mecca"}, -- 2,385,509; 2,675,000 per citypopulation.de 2025-01-01 (Agglomeration) ["Makkah"] = {alias_of = "Mecca", display = true}, ["Medina"] = {container = "Medina"}, -- 1,477,023; 1,530,000 per citypopulation.de 2025-01-01 (City) ["Hofuf"] = {container = "Eastern"}, -- 1,060,000 per citypopulation.de 2025-01-01 (Agglomeration) ["Khamis Mushait"] = {container = "Aseer"}, -- 1,030,000 per citypopulation.de 2025-01-01 (Agglomeration) ["Khamis Mushayt"] = {alias_of = "Khamis Mushait", display = true}, } export.saudi_arabia_cities_group = { canonicalize_key_container = make_canonicalize_key_container(" Province, Saudi Arabia", "province"), default_placetype = "thành phố", data = export.saudi_arabia_cities, } export.south_korea_cities = { -- All cities listed are not associated with any county. ["Seoul"] = {}, ["Busan"] = {}, ["Incheon"] = {}, ["Daegu"] = {}, ["Daejeon"] = {}, ["Gwangju"] = {}, ["Ulsan"] = {}, } export.south_korea_cities_group = { default_container = "Hàn Quốc", canonicalize_key_container = make_canonicalize_key_container(" County, South Korea", "province"), default_placetype = "thành phố", data = export.south_korea_cities, } export.spain_cities = { ["Madrid"] = {container = "Community of Madrid"}, ["Barcelona"] = {container = "Catalonia"}, ["Valencia"] = {container = "Valencia"}, ["Seville"] = {container = "Andalusia"}, ["Bilbao"] = {container = "Basque Country"}, } export.spain_cities_group = { canonicalize_key_container = make_canonicalize_key_container(", Spain", "autonomous community"), default_placetype = "thành phố", data = export.spain_cities, } export.taiwan_cities = { ["Tân Bắc"] = {}, ["New Taipei"] = {alias_of = "Tân Bắc", display = true}, ["Đài Trung"] = {}, ["Cao Hùng"] = {wp = "%l, Đài Loan"}, ["Đài Bắc"] = {}, ["Đào Viên"] = {}, ["Đài Nam"] = {}, -- these last three are not special municipalities ["Gia Nghĩa"] = {placetype = "thành phố"}, ["Tân Trúc"] = {placetype = "thành phố"}, ["Cơ Long"] = {placetype = "thành phố"}, } export.taiwan_cities_group = { placename_to_key = false, -- don't add ", Taiwan" to make the key canonicalize_key_container = make_canonicalize_key_container(", Taiwan", "county"), default_container = "Đài Loan", default_placetype = {"special municipality", "municipality", "thành phố"}, default_is_city = true, default_divs = {"districts"}, data = export.taiwan_cities, } -- NOTE: It's OK to mix cities from different constituent countries; as long as the immediate container is correct, -- everything else will be figured out. export.united_kingdom_cities = { ["London"] = {container = "Greater London"}, ["Manchester"] = {container = "Greater Manchester"}, ["Birmingham"] = {container = "West Midlands"}, ["Liverpool"] = {container = "Merseyside"}, ["Glasgow"] = {container = {key = "City of Glasgow, Scotland", placetype = "council area"}}, ["Leeds"] = {container = "West Yorkshire"}, ["Newcastle upon Tyne"] = {container = "Tyne and Wear"}, ["Newcastle"] = {alias_of = "Newcastle upon Tyne"}, ["Bristol"] = {container = {key = "England", placetype = "constituent country"}}, ["Cardiff"] = {container = {key = "Wales", placetype = "constituent country"}}, ["Portsmouth"] = {container = "Hampshire"}, ["Edinburgh"] = {container = {key = "City of Edinburgh, Scotland", placetype = "council area"}}, -- under 1,000,000 people but principal areas of Wales; requested by [[User:Donnanz]] ["Swansea"] = {container = {key = "Wales", placetype = "constituent country"}}, ["Newport"] = {container = {key = "Wales", placetype = "constituent country"}, wp = "Newport, Wales"}, } export.united_kingdom_cities_group = { canonicalize_key_container = make_canonicalize_key_container(", England", "county"), default_placetype = "thành phố", data = export.united_kingdom_cities, } export.united_states_cities = { -- top 50 CSA's by population, with the top and sometimes 2nd or 3rd city listed ["New York City"] = {container = "New York", wp = "%l", divs = { {type = "boroughs", container_parent_type = false}, }}, -- Don't display-canonicalize as it may make the display weird (e.g. in the context New York, New York). ["New York"] = {alias_of = "New York City"}, ["Newark"] = {container = "New Jersey"}, ["Los Angeles"] = {container = "California", wp = "%l"}, ["Long Beach"] = {container = "California"}, ["Riverside"] = {container = "California"}, ["Chicago"] = {container = "Illinois", wp = "%l"}, ["Washington, D.C."] = {wp = "%l"}, ["Washington, DC"] = {alias_of = "Washington, D.C.", display = true}, ["Washington D.C."] = {alias_of = "Washington, D.C.", display = true}, ["Washington DC"] = {alias_of = "Washington, D.C.", display = true}, -- Don't display-canonicalize as it may make the display weird (e.g. if the holonym is followed by a District of -- Columbia holonym). ["Washington"] = {alias_of = "Washington, D.C."}, ["Baltimore"] = {container = "Maryland", wp = "%l"}, -- to avoid conflict with San Jose in Costa Rica ["San Jose, California"] = {container = "California"}, ["San Jose"] = {alias_of = "San Jose, California"}, ["San Francisco"] = {container = "California", wp = "%l"}, ["Oakland"] = {container = "California"}, ["Boston"] = {container = "Massachusetts", wp = "%l"}, ["Providence"] = {container = "Rhode Island"}, ["Dallas"] = {container = "Texas", wp = "%l", commonscat = "%l, %c"}, ["Fort Worth"] = {container = "Texas"}, ["Philadelphia"] = {container = "Pennsylvania", wp = "%l"}, ["Houston"] = {container = "Texas", wp = "%l"}, ["Miami"] = {container = "Florida", wp = "%l", commonscat = "%l, %c"}, ["Atlanta"] = {container = "Georgia", wp = "%l"}, ["Detroit"] = {container = "Michigan", wp = "%l"}, ["Phoenix"] = {container = "Arizona", wp = "%l", commonscat = "%l, %c"}, ["Mesa"] = {container = "Arizona"}, ["Seattle"] = {container = "Washington", wp = "%l"}, ["Orlando"] = {container = "Florida"}, ["Minneapolis"] = {container = "Minnesota", wp = "%l"}, ["Cleveland"] = {container = "Ohio", wp = "%l", commonscat = "%l, %c"}, ["Denver"] = {container = "Colorado", wp = "%l", commonscat = "%l, %c"}, ["San Diego"] = {container = "California", wp = "%l", commonscat = "%l, %c"}, ["Portland"] = {container = "Oregon"}, ["Tampa"] = {container = "Florida"}, ["St. Louis"] = {container = "Missouri", wp = "%l", commonscat = "%l, %c"}, ["Saint Louis"] = {alias_of = "St. Louis", display = true}, ["Charlotte"] = {container = "North Carolina"}, ["Sacramento"] = {container = "California"}, ["Pittsburgh"] = {container = "Pennsylvania", wp = "%l"}, ["Salt Lake City"] = {container = "Utah", wp = "%l"}, ["San Antonio"] = {container = "Texas", wp = "%l", commonscat = "%l, %c"}, ["Columbus"] = {container = "Ohio"}, ["Kansas City"] = {container = "Missouri", wp = "%l metropolitan area", commonscat = "%l, %c"}, ["Indianapolis"] = {container = "Indiana", wp = "%l"}, ["Las Vegas"] = {container = "Nevada", wp = "%l"}, ["Cincinnati"] = {container = "Ohio", wp = "%l", commonscat = "%l, %c"}, ["Austin"] = {container = "Texas"}, ["Milwaukee"] = {container = "Wisconsin", wp = "%l", commonscat = "%l, %c"}, ["Raleigh"] = {container = "North Carolina"}, ["Nashville"] = {container = "Tennessee"}, ["Virginia Beach"] = {container = "Virginia"}, ["Norfolk"] = {container = "Virginia"}, ["Greensboro"] = {container = "North Carolina"}, ["Winston-Salem"] = {container = "North Carolina"}, ["Jacksonville"] = {container = "Florida"}, ["New Orleans"] = {container = "Louisiana", wp = "%l"}, ["Louisville"] = {container = "Kentucky"}, ["Greenville"] = {container = "South Carolina"}, ["Hartford"] = {container = "Connecticut"}, ["Oklahoma City"] = {container = "Oklahoma", wp = "%l"}, ["Grand Rapids"] = {container = "Michigan"}, ["Memphis"] = {container = "Tennessee"}, ["Birmingham, Alabama"] = {container = "Alabama"}, ["Birmingham"] = {alias_of = "Birmingham, Alabama"}, ["Fresno"] = {container = "California"}, ["Richmond"] = {container = "Virginia"}, ["Harrisburg"] = {container = "Pennsylvania"}, -- any major city of top 50 MSA's that's missed by previous ["Buffalo"] = {container = "New York"}, -- any of the top 50 city by city population that's missed by previous ["El Paso"] = {container = "Texas"}, ["Albuquerque"] = {container = "New Mexico"}, ["Tucson"] = {container = "Arizona"}, ["Colorado Springs"] = {container = "Colorado"}, ["Omaha"] = {container = "Nebraska"}, ["Tulsa"] = {container = "Oklahoma"}, -- skip Arlington, Texas; too obscure and likely to be interpreted as Arlington, Virginia } export.united_states_cities_group = { default_container = "Hoa Kỳ", canonicalize_key_container = make_canonicalize_key_container(", USA", "state"), default_placetype = "thành phố", default_wp = "%l, %c", data = export.united_states_cities, } export.new_york_boroughs = { ["Bronx"] = {the = true, wp = "The Bronx"}, ["Brooklyn"] = {}, ["Manhattan"] = {}, ["Queens"] = {}, ["Staten Island"] = {}, } export.new_york_boroughs_group = { default_container = {key = "New York City", placetype = "thành phố"}, default_placetype = "borough", default_is_city = true, data = export.new_york_boroughs, } export.vietnam_cities = { -- Figures from citypopulation.de (retrieved 2025-04-26; reference date 2025-01-01) unless otherwise indicated. ["Thành phố Hồ Chí Minh"] = {}, -- 14,300,000 (Agglomeration; inclunding Bien Hoa) ["Sài Gòn"] = {alias_of = "Thành phố Hồ Chí Minh"}, ["Hanoi"] = {}, -- 7,350,000 (Agglomeration) ["Da Nang"] = {}, -- 1,500,000 (Agglomeration) ["Danang"] = {alias_of = "Da Nang", display = true}, ["Haiphong"] = {}, -- 1,450,000 (Agglomeration) ["Hai Phong"] = {alias_of = "Haiphong", display = true}, -- This is the one entry in this list that is not a province-level municipality; instead it's a "provincial city" -- meaning it is directly under its province as opposed to being contained in a district. ["Bien Hoa"] = {placetype = "thành phố", container = "Đồng Nai", wp = "Biên Hòa"}, -- 1,272,235 (2022 city population per Wikipedia) ["Biên Hòa"] = {alias_of = "Bien Hoa", display = true}, ["Biên Hoà"] = {alias_of = "Bien Hoa", display = true}, -- These two not in citypopulation.de because the urban population may be slightly under 1,000,000, but they are -- both province-level municipalities and close to the 1,000,000 mark. ["Can Tho"] = {wp = "Cần Thơ"}, -- 1,456,000 municipality (2019 census), 994,704 urban (2022 General Statistics Office of Vietnam estimate); capital [[Ninh Kiều district]] ["Cần Thơ"] = {alias_of = "Can Tho", display = true}, ["Huế"] = {wp = "Huế"}, -- 1,257,000 municipality (2019 census), 840,000 urban (2022 General Statistics Office of Vietnam estimate); -- capital [[Thuận Hóa district]] ["Hue"] = {alias_of = "Hue", display = true}, } export.vietnam_cities_group = { placename_to_key = false, -- don't add ", Vietnam" to make the key default_container = "Việt Nam", canonicalize_key_container = make_canonicalize_key_container(" , Việt Nam", "tỉnh"), -- Most of the cities listed are province-level municipalities in addition, which contain a certain amount of -- rural territory surrounding the city, but not enough to separate the municipality from the city as distinct -- known locations. default_placetype = {"municipality", "thành phố"}, default_is_city = true, -- There may not be enough districts to subcategorize like this. -- default_divs = "districts", data = export.vietnam_cities, } export.misc_cities = { ------------------ Africa ------------------- -- Sorted by country and then within the country, by decreasing population; figures from citypopulation.de -- (retrieved 2025-04-26; reference date 2025-01-01) unless otherwise indicated; combined with data from -- [[w:List of urban areas in Africa by population]]. ["Algiers"] = {container = "Algeria"}, -- 4,325,000 (Consolidated Urban Area) ["Oran"] = {container = "Algeria"}, -- 1,640,000 (Consolidated Urban Area) ["Luanda"] = {container = "Angola"}, -- 9,650,000 (Urban Area) ["Benguela"] = {container = "Angola"}, -- 1,420,000 (Urban Area) ["Cotonou"] = {container = "Benin"}, -- 2,150,000 (Agglomeration) ["Ouagadougou"] = {container = "Burkina Faso"}, -- 3,425,000 (Agglomeration) ["Bobo-Dioulasso"] = {container = "Burkina Faso"}, -- 1,100,000 (Agglomeration) ["Bujumbura"] = {container = "Burundi"}, -- 1,143,202 (Urban Area 2023 per PopulationStat, cited in Wikipedia) ["Yaoundé"] = {container = "Cameroon"}, -- 3,975,000 (City) ["Yaounde"] = {alias_of = "Yaoundé", display = true}, ["Douala"] = {container = "Cameroon"}, -- 3,900,000 (City) ["Bangui"] = {container = "Central African Republic"}, -- 1,680,000 (Agglomeration) ["N'Djamena"] = {container = "Chad"}, -- 1,950,000 (City) ["Ndjamena"] = {alias_of = "N'Djamena", display = true}, ["Kinshasa"] = {container = "Democratic Republic of the Congo"}, -- 16,300,000 (City; population of low reliability) ["Lubumbashi"] = {container = "Democratic Republic of the Congo"}, -- 2,875,000 (City; population of low reliability) ["Mbuji-Mayi"] = {container = "Democratic Republic of the Congo"}, -- 2,500,000 (City; population of low reliability) ["Kananga"] = {container = "Democratic Republic of the Congo"}, -- 1,370,000 (City; population of low reliability) ["Kisangani"] = {container = "Democratic Republic of the Congo"}, -- 1,300,000 (City; population of low reliability) ["Bukavu"] = {container = "Democratic Republic of the Congo"}, -- 1,100,000 (City; population of low reliability) ["Goma"] = {container = "Democratic Republic of the Congo"}, -- 1,010,000 (City; population of low reliability) ["Tshikapa"] = {container = "Democratic Republic of the Congo"}, -- 1,020,468 (2023 Wikipedia [[w:List of cities with over one million inhabitants]] from populationstat.com; not in citypopulation.de) ["Cairo"] = {container = "Ai Cập"}, -- 22,800,000 (Agglomeration, including Giza and Subhra El Kheima) ["Alexandria"] = {container = "Ai Cập"}, -- 6,250,000 (Agglomeration) ["Giza"] = {container = "Ai Cập"}, -- 4,458,135 (2023 from citypopulation.de) ["Shubra El Kheima"] = {container = "Ai Cập"}, -- 1,240,239 (2021 from citypopulation.de) ["Asmara"] = {container = "Eritrea"}, -- 1,090,000 (City; population of low reliability) ["Asmera"] = {alias_of = "Asmara", display = true}, ["Addis Ababa"] = {container = "Ethiopia"}, -- 4,825,000 (Agglomeration) ["Banjul"] = {container = "Gambia"}, -- 1,170,000 (Agglomeration) ["Accra"] = {container = "Ghana"}, -- 6,800,000 (Agglomeration) ["Kumasi"] = {container = "Ghana"}, -- 2,900,000 (Agglomeration) ["Conakry"] = {container = "Guinea"}, -- 2,975,000 (Consolidated Urban Area) ["Abidjan"] = {container = "Bờ Biển Ngà"}, -- 7,050,000 (Agglomeration) ["Nairobi"] = {container = "Kenya"}, -- 6,900,000 (unindicated) ["Mombasa"] = {container = "Kenya"}, -- 1,370,000 (City) ["Monrovia"] = {container = "Liberia"}, -- 1,940,000 (Urban Area) ["Tripoli"] = {container = "Libya", wp = "%l, %c"}, -- 1,870,000 (unindicated) ["Antananarivo"] = {container = "Madagascar"}, -- 3,150,000 (Agglomeration) ["Lilongwe"] = {container = "Malawi"}, -- 1,210,000 (City) ["Bamako"] = {container = "Mali"}, -- 5,700,000 (Agglomeration) ["Nouakchott"] = {container = "Mauritania"}, -- 1,500,000 (City) ["Casablanca"] = {container = {key = "Casablanca-Settat, Morocco", placetype = "region"}}, -- 4,450,000 (Municipality (urban population)) ["Rabat"] = {container = {key = "Rabat-Sale-Kenitra, Morocco", placetype = "region"}}, -- 2,125,000 (Municipality (urban population)) ["Tangier"] = {container = {key = "Tangier-Tetouan-Al Hoceima, Morocco", placetype = "region"}}, -- 1,410,000 (Municipality (urban population)) ["Tanger"] = {alias_of = "Tangier", display = true}, ["Tangiers"] = {alias_of = "Tangier", display = true}, ["Fez"] = {container = {key = "Fez-Meknes, Morocco", placetype = "region"}, wp = "%l, Morocco"}, -- 1,310,000 (Municipality (urban population)) ["Fes"] = {alias_of = "Fez", display = true}, ["Fès"] = {alias_of = "Fez", display = true}, ["Agadir"] = {container = {key = "Souss-Massa, Morocco", placetype = "region"}}, -- 1,270,000 (Municipality (urban population)) ["Marrakesh"] = {container = {key = "Marrakesh-Safi, Morocco", placetype = "region"}}, -- 1,140,000 (Municipality (urban population)) ["Marrakech"] = {alias_of = "Marrakesh", display = true}, ["Maputo"] = {container = "Mozambique"}, -- 2,575,000 (Agglomeration) ["Niamey"] = {container = "Niger"}, -- 1,530,000 (City) ["Brazzaville"] = {container = "Republic of the Congo"}, -- 2,475,000 (Agglomeration) ["Pointe-Noire"] = {container = "Republic of the Congo"}, -- 1,480,000 (City) ["Kigali"] = {container = "Rwanda"}, -- 1,960,000 (Municipality (urban population)) ["Dakar"] = {container = "Senegal"}, -- 4,225,000 (Agglomeration) ["Touba"] = {container = "Senegal"}, -- 1,320,000 (Agglomeration) ["Freetown"] = {container = "Sierra Leone"}, -- 1,420,000 (Agglomeration) ["Mogadishu"] = {container = "Somalia"}, -- 2,250,000 (unindicated; population of low reliability) ["Johannesburg"] = {container = {key = "Gauteng, South Africa", placetype = "province"}}, -- 14,800,000 (Consolidated Urban Area; including Pretoria, Soweto, etc.) ["Cape Town"] = {container = {key = "Western Cape, South Africa", placetype = "province"}}, -- 5,100,000 (Consolidated Urban Area) ["Durban"] = {container = {key = "KwaZulu-Natal, South Africa", placetype = "province"}}, -- 3,900,000 (Consolidated Urban Area) ["Pretoria"] = {container = {key = "Gauteng, South Africa", placetype = "province"}}, -- 2,921,488 (2011 census) ["Port Elizabeth"] = {container = {key = "Eastern Cape, South Africa", placetype = "province"}, wp = "Gqeberha"}, -- 1,200,000 (Consolidated Urban Area) ["Gqeberha"] = {alias_of = "Port Elizabeth"}, -- official name; not a display alias ["Khartoum"] = {container = "Sudan"}, -- 7,200,000 (unindicated; population of low reliability) ["Dar es Salaam"] = {container = "Tanzania"}, -- 6,650,000 (Agglomeration) ["Mwanza"] = {container = "Tanzania"}, -- 1,340,000 (Agglomeration) ["Mwanza City"] = {alias_of = "Mwanza", display = true}, ["Arusha"] = {container = "Tanzania"}, -- 1,190,000 (Agglomeration) ["Zanzibar"] = {container = "Tanzania"}, -- 1,030,000 (Agglomeration) ["Lomé"] = {container = "Togo"}, -- 2,625,000 (unindicated) ["Lome"] = {alias_of = "Lomé", display = true}, ["Tunis"] = {container = "Tunisia"}, -- 2,725,000 (Municipality (urban population)) ["Sousse"] = {container = "Tunisia"}, -- 1,180,000 (Municipality (urban population)) ["Soussa"] = {alias_of = "Sousse", display = true}, ["Kampala"] = {container = "Uganda"}, -- 4,300,000 (unindicated) ["Lusaka"] = {container = "Zambia"}, -- 3,000,000 (Consolidated Urban Area) ["Harare"] = {container = "Zimbabwe"}, -- 2,675,000 (Agglomeration) ------------------ Asia ------------------- -- sorted by country and then within the country, by decreasing population; figures from citypopulation.de -- (retrieved 2025-04-26; reference date 2025-01-01) unless otherwise indicated. ["Kabul"] = {container = "Afghanistan"}, -- 5,250,000 (Agglomeration) ["Baku"] = {container = "Azerbaijan"}, -- 3,725,000 (Administrative Area (urban population)) ["Manama"] = {container = "Bahrain"}, -- 1,560,000 (unindicated) ["Dhaka"] = {container = {key = "Dhaka Division, Bangladesh", placetype = "division"}}, -- 23,100,000 (Agglomeration) ["Dacca"] = {alias_of = "Dhaka", display = true}, ["Chittagong"] = {container = {key = "Chittagong Division, Bangladesh", placetype = "division"}}, -- 5,050,000 (Agglomeration) ["Gazipur"] = {container = {key = "Dhaka Division, Bangladesh", placetype = "division"}}, -- 2,674,697 (City per 2022; countied in citypopulation.de as part of Dhaka metro area) ["Khulna"] = {container = {key = "Khulna Division, Bangladesh", placetype = "division"}}, -- 1,210,000 (Agglomeration) ["Phnom Penh"] = {container = "Campuchia"}, -- 2,925,000 (Agglomeration) ["Tehran"] = {container = {key = "Tehran Province, Iran", placetype = "province"}}, -- 16,800,000 (Agglomeration) ["Teheran"] = {alias_of = "Tehran", display = true}, ["Mashhad"] = {container = {key = "Razavi Khorasan Province, Iran", placetype = "province"}}, -- 3,475,000 (Agglomeration) ["Mashad"] = {alias_of = "Mashhad", display = true}, ["Meshhed"] = {alias_of = "Mashhad", display = true}, ["Meshed"] = {alias_of = "Mashhad", display = true}, ["Isfahan"] = {container = {key = "Isfahan Province, Iran", placetype = "province"}}, -- 3,425,000 (Agglomeration) ["Esfahan"] = {alias_of = "Isfahan", display = true}, ["Tabriz"] = {container = {key = "East Azerbaijan Province, Iran", placetype = "province"}}, -- 1,970,000 (Agglomeration) ["Shiraz"] = {container = {key = "Fars Province, Iran", placetype = "province"}}, -- 1,950,000 (Agglomeration) ["Ahvaz"] = {container = {key = "Khuzestan Province, Iran", placetype = "province"}}, -- 1,550,000 (Agglomeration) ["Qom"] = {container = {key = "Qom Province, Iran", placetype = "province"}}, -- 1,450,000 (City) ["Kermanshah"] = {container = {key = "Kermanshah Province, Iran", placetype = "province"}}, -- 1,130,000 (City) ["Baghdad"] = {container = "Iraq"}, -- 7,800,000 (Administrative Area (urban population)) ["Basra"] = {container = "Iraq"}, -- 1,710,000 (Administrative Area (urban population)) ["Mosul"] = {container = "Iraq"}, -- 1,550,000 (Administrative Area (urban population)) ["Erbil"] = {container = "Iraq"}, -- 1,220,000 (Administrative Area (urban population)) ["Kirkuk"] = {container = "Iraq"}, -- 1,160,000 (Administrative Area (urban population)) ["Najaf"] = {container = "Iraq"}, -- 1,050,000 (Administrative Area (urban population)) ["Tel Aviv"] = {container = "Israel"}, -- 3,000,000 (Agglomeration) -- Jerusalem is not recognized internationally as part of either Israel or Palestine, but as a -- [[w:corpus separatum]], so put the container as "châu Á" and list Israel and Palestine as additional parents for -- categorization purposes. ["Jerusalem"] = {container = {key = "châu Á", placetype = "continent"}, addl_parents = {"Israel", "Palestine"}}, -- 1,080,000 (Agglomeration) ["Amman"] = {container = "Jordan"}, -- 6,150,000 (unindicated) ["Irbid"] = {container = "Jordan"}, -- 1,070,000 (unindicated) ["Almaty"] = {container = "Kazakhstan"}, -- 2,700,000 (Agglomeration) ["Alma-Ata"] = {alias_of = "Almaty"}, -- former name, sometimes still used; don't display-canonicalize ["Astana"] = {container = "Kazakhstan"}, -- 1,600,000 (Agglomeration) ["Shymkent"] = {container = "Kazakhstan"}, -- 1,370,000 (Agglomeration) ["Kuwait City"] = {container = "Kuwait"}, -- 5,050,000 (Agglomeration) ["Bishkek"] = {container = "Kyrgyzstan"}, -- 1,540,000 (Agglomeration) ["Beirut"] = {container = "Lebanon"}, -- 1,930,000 (unindicated; population of low reliability) -- Kuala Lumpur is a federal capital city, not in any state ["Kuala Lumpur"] = {container = "Malaysia"}, -- 9,550,000 (Agglomeration) -- there are various George Towns and Georgetowns ["George Town, Malaysia"] = {container = {key = "Penang, Malaysia", placetype = "state"}, wp = "%l, %c"}, -- 2,075,000 (Agglomeration) ["George Town"] = {alias_of = "George Town, Malaysia"}, ["Ulaanbaatar"] = {container = "Mông Cổ"}, -- 1,610,000 (City) ["Ulan Bator"] = {alias_of = "Ulaanbaatar", display = true}, ["Yangon"] = {container = "Myanmar"}, -- 5,650,000 (Municipality (urban population)) ["Rangoon"] = {alias_of = "Yangon", display = true}, ["Mandalay"] = {container = "Myanmar"}, -- 1,600,000 (Municipality (urban population)) ["Kathmandu"] = {container = "Nepal"}, -- 3,175,000 (Agglomeration) -- Pyongyang is a directly governed city, not in any province ["Pyongyang"] = {container = "Cộng hòa Dân chủ Nhân dân Triều Tiên"}, -- 3,025,000 (Administrative Area (urban population)) ["Muscat"] = {container = "Oman"}, -- 1,620,000 (Agglomeration) ["Gaza"] = {container = "Palestine", wp = "Gaza City"}, -- 2,275,000 (unindicated) ["Gaza City"] = {alias_of = "Gaza"}, ["Doha"] = {container = "Qatar"}, -- 2,650,000 (Agglomeration) ["Colombo"] = {container = "Sri Lanka"}, -- 4,975,000 (unindicated) ["Damascus"] = {container = "Syria"}, -- 3,975,000 (unindicated; population of low reliability) ["Aleppo"] = {container = "Syria"}, -- 1,980,000 (unindicated; population of low reliability) ["Dushanbe"] = {container = "Tajikistan"}, -- 1,270,000 (City) ["Bangkok"] = {container = "Thái Lan"}, -- 21,800,000 (Agglomeration) -- Chiang Mai not in citypopulation.de, but 1,198,000 urban population in 2021 per Wikipedia -- [[w:List_of_municipalities_in_Thailand#Largest_cities_by_urban_population]] ["Chiang Mai"] = {container = {key = "Chiang Mai Province, Thailand", placetype = "province"}}, ["Chonburi"] = {container = {key = "Chonburi Province, Thailand", placetype = "province"}}, -- 1,570,000 (Agglomeration; including Pattaya) -- metro area population stats from https://www.statista.com/statistics/255483/biggest-cities-in-turkey/ as of 2021; -- second source is citypopulation.de reference date 2025-01-01. ["Istanbul"] = {placetype = {"thành phố", "province"}, divs = {"districts"}, container = "Thổ Nhĩ Kỳ"}, -- 15.2 million; 16,000,000 (Agglomeration) ["İstanbul"] = {alias_of = "Istanbul", display = true}, ["Ankara"] = {container = {key = "Ankara Province, Turkey", placetype = "province"}}, -- 5.15 million; 5,200,000 (Agglomeration) ["Izmir"] = {container = {key = "İzmir Province, Turkey", placetype = "province"}, wp = "İzmir"}, -- 2.95 million; 3,025,000 (Agglomeration) ["İzmir"] = {alias_of = "Izmir", display = true}, ["Bursa"] = {container = {key = "Bursa Province, Turkey", placetype = "province"}}, -- 2.02 million; 2,200,000 (Agglomeration) ["Adana"] = {container = {key = "Adana Province, Turkey", placetype = "province"}}, -- 1.77 million; 1,780,000 (Agglomeration) ["Gaziantep"] = {container = {key = "Gaziantep Province, Turkey", placetype = "province"}}, -- 1.71 million; 1,750,000 (Agglomeration) ["Antalya"] = {container = {key = "Antalya Province, Turkey", placetype = "province"}}, -- 1.3 million; 1,400,000 (Agglomeration) ["Konya"] = {container = {key = "Konya Province, Turkey", placetype = "province"}}, -- 1.35 million; 1,390,000 (Agglomeration) ["Diyarbakır"] = {container = {key = "Diyarbakır Province, Turkey", placetype = "province"}}, -- 1.07 million; 1,100,000 (Agglomeration) -- Diyarbakır is more common per Ngrams and Google Scholar, but Diyarbakir is the Kurdish form, so we should not -- display-canonicalize to the Turkish form Diyarbakır. ["Diyarbakir"] = {alias_of = "Diyarbakır"}, ["Mersin"] = {container = {key = "Mersin Province, Turkey", placetype = "province"}}, -- 1.03 million; 1,060,000 (Agglomeration) ["Ashgabat"] = {container = "Turkmenistan"}, -- 1,150,000 (Agglomeration) ["Dubai"] = {container = "United Arab Emirates"}, -- 6,050,000 (Agglomeration; including Sharjah) ["Abu Dhabi"] = {container = "United Arab Emirates"}, -- 1,850,000 (City) ["Sharjah"] = {container = "United Arab Emirates"}, -- 1,800,000 (Metro area 2022-2023 per Wikipedia; separate from Dubai) ["Tashkent"] = {container = "Uzbekistan"}, -- 3,850,000 (unindicated) ["Sanaa"] = {container = "Yemen"}, -- 3,275,000 (City; population of low reliability) ["Sana'a"] = {alias_of = "Sanaa", display = true}, ["Aden"] = {container = "Yemen"}, -- 1,079,060 (?; 2023 estimate from World Population Review per Wikipedia) ------------------ Europe or Europe-like (Caucasus etc.) --------------------- ["Yerevan"] = {container = "Armenia"}, -- 1,520,000 (Agglomeration) ["Vienna"] = {container = "Áo"}, -- 2,375,000 (Agglomeration) ["Minsk"] = {container = "Belarus"}, -- 2,100,000 (unindicated) ["Brussels"] = {container = "Bỉ"}, -- 2,800,000 (Consolidated Urban Area) ["Antwerp"] = {container = "Bỉ"}, -- 1,270,000 (Consolidated Urban Area) ["Sofia"] = {container = "Bulgaria"}, -- 1,260,000 (Agglomeration) ["Zagreb"] = {container = "Croatia"}, ["Prague"] = {container = "Czech Republic"}, -- 1,470,000 (Agglomeration) ["Brno"] = {container = "Czech Republic"}, -- 729,405 (metro area per Wikipedia as of 2024-01-01 Czech Statistical Office) ["Olomouc"] = {container = "Czech Republic"}, -- 102,293 (city; included only because someone went crazy creating Olomouc-related terms) ["Copenhagen"] = {container = "Đan Mạch"}, -- 1,800,000 (Consolidated Urban Area) ["Helsinki"] = {container = {key = "Uusimaa, Finland", placetype = "region"}}, -- 1,560,000 (Consolidated Urban Area) ["Tbilisi"] = {container = "Georgia"}, -- 1,430,000 (Agglomeration) ["Athens"] = {container = "Hy Lạp"}, ["Thessaloniki"] = {container = "Hy Lạp"}, ["Budapest"] = {container = "Hungary"}, -- FIXME, per Wikipedia "County Dublin" is now the "Dublin Region" ["Dublin"] = {container = {key = "County Dublin, Ireland", placetype = "county"}}, ["Riga"] = {container = "Latvia"}, ["Amsterdam"] = {container = {key = "North Holland, Netherlands", placetype = "province"}}, ["Rotterdam"] = {container = {key = "South Holland, Netherlands", placetype = "province"}}, ["The Hague"] = {container = {key = "South Holland, Netherlands", placetype = "province"}}, -- Christchurch (metro 546,600) and Wellington (metro 439,800) are too small to make it. ["Auckland"] = {container = {key = "Auckland, New Zealand", placetype = "region"}}, ["Oslo"] = {container = {key = "Oslo, Norway", placetype = "county"}}, ["Warsaw"] = {container = {key = "Masovian Voivodeship, Poland", placetype = "voivodeship"}}, ["Katowice"] = {container = {key = "Silesian Voivodeship, Poland", placetype = "voivodeship"}}, --- Ngrams (up through 2022) and Google Scholar (>= 2024) confirms the common form "Krakow" without accent. ["Krakow"] = {container = {key = "Lesser Poland Voivodeship, Poland", placetype = "voivodeship"}, wp = "Kraków"}, ["Kraków"] = {alias_of = "Krakow", display = true}, ["Cracow"] = {alias_of = "Krakow", display = true}, --- Ngrams (up through 2022) and Google Scholar (>= 2024) confirm "Gdańsk" and "Poznań" with accent. ["Gdańsk"] = {container = {key = "Pomeranian Voivodeship, Poland", placetype = "voivodeship"}}, ["Gdansk"] = {alias_of = "Gdańsk", display = true}, ["Poznań"] = {container = {key = "Greater Poland Voivodeship, Poland", placetype = "voivodeship"}}, ["Poznan"] = {alias_of = "Poznań", display = true}, --- Ngrams (up through 2022) and Google Scholar (>= 2024) confirms the common form "Lodz" without accents. ["Lodz"] = {container = {key = "Lodz Voivodeship, Poland", placetype = "voivodeship"}, wp = "Łódź"}, ["Łódź"] = {alias_of = "Lodz", display = true}, ["Lisbon"] = {container = {key = "Lisbon District, Portugal", placetype = "district"}}, ["Porto"] = {container = {key = "Porto District, Portugal", placetype = "district"}}, ["Oporto"] = {alias_of = "Porto", display = true}, ["Bucharest"] = {container = "Romania"}, ["Belgrade"] = {container = "Serbia"}, ["Stockholm"] = {container = "Thụy Điển"}, ["Zurich"] = {container = "Switzerland"}, --- Ngrams (up through 2022) and Google Scholar (>= 2024) confirms the common form "Zurich" without umlaut. --- Even Wikipedia uses the form without umlaut. ["Zürich"] = {alias_of = "Zurich", display = true}, ["Kyiv"] = {container = "Ukraina"}, -- not in Kyiv Oblast -- Don't display-canonicalize Kiev -> Kyiv because in ancient contexts, Kiev is still more common. ["Kiev"] = {alias_of = "Kyiv"}, ["Kharkiv"] = {container = {key = "Kharkiv Oblast, Ukraine", placetype = "oblast"}}, ["Odessa"] = {container = {key = "Odesa Oblast, Ukraine", placetype = "oblast"}, wp = "Odesa"}, -- Don't display-canonicalize Odesa -> Odessa because it may be interpreted as a political statement. ["Odesa"] = {alias_of = "Odessa"}, ------------------ North America, South America --------------------- -- Primary figures from citypopulation.de retrieved on 2025-04-26 (reference date 2025-01-01); -- Wikipedia metropolitan figures from [[w:List of metropolitan areas in the Americas]] based on per-country data; -- Wikipedia city limits figures from [[w:List of largest cities in the Americas]]. ["Buenos Aires"] = {container = "Argentina"}, -- 16,800,000 (Consolidated Urban Area; 13,985,794 metropolitan area per Wikipedia) ["Córdoba, Argentina"] = {container = "Argentina", wp = "%l, %c"}, -- 1,810,000 (Consolidated Urban Area; 1,505,25 city limits per Wikipedia) -- to avoid confusion with Córdoba in Spain ["Córdoba"] = {alias_of = "Córdoba, Argentina"}, ["Cordoba"] = {alias_of = "Córdoba, Argentina", display = "Córdoba"}, ["Rosario"] = {container = "Argentina", wp = "%l, Santa Fe"}, -- 1,510,000 (Consolidated Urban Area; 1,348,725 metropolitan area per Wikipedia) ["Mendoza"] = {container = "Argentina", wp = "%l, %c"}, -- 1,180,000 (Consolidated Urban Area) ["San Miguel de Tucumán"] = {container = "Argentina"}, -- 1,110,000 (Consolidated Urban Area) ["Tucumán"] = {alias_of = "San Miguel de Tucumán"}, ["Tucuman"] = {alias_of = "San Miguel de Tucumán", display = "Tucumán"}, ["Santa Cruz de la Sierra"] = {container = "Bolivia"}, -- 1,960,000 (Consolidated Urban Area); 1,606,671 (city limits per Wikipedia) ["Santa Cruz"] = {alias_of = "Santa Cruz de la Sierra"}, ["La Paz"] = {container = "Bolivia"}, -- 1,870,000 (Consolidated Urban Area; composed of El Alto, now slightly larger, and La Paz) ["El Alto"] = {container = "Bolivia"}, ["Cochabamba"] = {container = "Bolivia"}, -- 1,280,000 (Consolidated Urban Area) ["Santiago"] = {container = "Chile"}, -- 8,400,000 (Consolidated Urban Area; 6,903,479 city limits? per Wikipedia) ["Valparaíso"] = {container = "Chile"}, -- 1,060,000 (Consolidated Urban Area) ["Valparaiso"] = {alias_of = "Valparaíso"}, -- 1,060,000 (Consolidated Urban Area) ["Bogotá"] = {container = "Colombia"}, -- 10,600,000 (Agglomeration; 12,772,828 metropolitan area per Wikipedia) ["Bogota"] = {alias_of = "Bogotá", display = true}, ["Medellín"] = {container = "Colombia"}, -- 4,350,000 (Agglomeration; 4,068,000 metropolitan area per Wikipedia) ["Medellin"] = {alias_of = "Medellín", display = true}, ["Cali"] = {container = "Colombia"}, -- 2,975,000 (Agglomeration; 2,837,000 metropolitan area per Wikipedia) ["Barranquilla"] = {container = "Colombia"}, -- 2,375,000 (Agglomeration; 1,341,160 city limits per Wikipedia) ["Bucaramanga"] = {container = "Colombia"}, -- 1,380,000 (Agglomeration) ["Cartagena, Colombia"] = {container = "Colombia", wp = "%l, %c"}, -- 1,250,000 (Agglomeration) -- to avoid confusion with Cartagena, Spain ["Cartagena"] = {alias_of = "Cartagena, Colombia"}, ["Cúcuta"] = {container = "Colombia"}, -- 1,130,000 (Agglomeration) ["Cucuta"] = {alias_of = "Cúcuta", display = true}, -- to avoid conflict with San Jose, California ["San José, Costa Rica"] = {container = "Costa Rica", wp = "%l, %c"}, -- 2,450,000 (Municipality (urban population); 3,160,000 metropolitan area per Wikipedia) ["San José"] = {alias_of = "San José, Costa Rica"}, ["San Jose"] = {alias_of = "San José, Costa Rica"}, -- display = "San José"; causes error due to San Jose alias for California city; FIXME ["Havana"] = {container = "Cuba"}, -- 2,150,000 (City; 2,137,847 city limits? per Wikipedia) ["Santo Domingo"] = {container = "Dominican Republic"}, -- 3,900,000 (Municipality (urban population); 4,274,651 ??? per Wikipedia) ["Guayaquil"] = {container = "Ecuador"}, -- 3,350,000 (Agglomeration; 3,092,000 metro area? per Wikipedia) ["Quito"] = {container = "Ecuador"}, -- 2,875,000 (Agglomeration; 2,889,703 metro area? per Wikipedia) ["San Salvador"] = {container = "El Salvador"}, -- 1,580,000 (Municipality (urban population)) ["Guatemala City"] = {container = "Guatemala"}, -- 3,375,000 (Municipality (urban population); 3,160,000 metro area? per Wikipedia) ["Port-au-Prince"] = {container = "Haiti"}, -- 3,050,000 (Agglomeration; population of low reliability; 2,915,000 metro area? per Wikipedia) ["San Pedro Sula"] = {container = "Honduras"}, -- 1,330,000 (Consolidated Urban Area) ["Tegucigalpa"] = {container = "Honduras"}, -- 1,220,000 (Urban Area) ["Managua"] = {container = "Nicaragua"}, -- 1,400,000 (Consolidated Urban Area) ["Panama City"] = {container = "Panama"}, -- 1,430,000 (Urban Area) ["Asunción"] = {container = "Paraguay"}, -- 2,350,000 (Municipality (urban population)) ["Lima"] = {container = "Peru"}, -- 12,000,000 (Agglomeration; 11,283,787 ??? per Wikipedia) ["Arequipa"] = {container = "Peru"}, -- 1,210,000 (Agglomeration) ["San Juan"] = {container = {key = "Puerto Rico", placetype = "commonwealth"}, wp = "%l, %c"}, -- 1,910,000 (Consolidated Urban Area) ["Montevideo"] = {container = "Uruguay"}, -- 1,810,000 (Agglomeration; 1,302,954 ??? per Wikipedia) ["Caracas"] = {container = "Venezuela"}, -- 3,850,000 (Consolidated Urban Area; 5,243,301 ??? per Wikipedia) ["Maracaibo"] = {container = "Venezuela"}, -- 2,825,000 (Consolidated Urban Area; 5,278,448 ??? per Wikipedia) -- to avoid confusion with Valencia (city and autonomous community of Spain) ["Valencia, Venezuela"] = {container = "Venezuela", wp = "%l, %c"}, -- 2,100,000 (Consolidated Urban Area) ["Valencia"] = {alias_of = "Valencia, Venezuela"}, ["Maracay"] = {container = "Venezuela"}, -- 1,480,000 (Consolidated Urban Area) ["Barquisimeto"] = {container = "Venezuela"}, -- 1,360,000 (Consolidated Urban Area) } export.misc_cities_group = { canonicalize_key_container = make_canonicalize_key_container(nil, "quốc gia"), default_placetype = "thành phố", data = export.misc_cities, } --[==[ var: List of all known locations, in groups. The first group lists continents and continental regions, followed by three groups listing top-level locations: countries, "country-like entities" (de-facto/unrecognized/etc. countries and dependent territories) and former polities (countries, empires, etc.). After that come first-level subpolities (administrative divisions) of several, mostly large, countries, followed by groups of cities. China and the United Kingdom include second-level subpolities (in the case of China, only the largest ones as the full list runs in the hundreds). ]==] export.locations = { export.continents_group, export.countries_group, export.country_like_entities_group, export.former_countries_group, export.australia_group, export.austria_group, export.bangladesh_group, export.brazil_group, export.bulgaria_group, export.canada_group, export.china_group, export.china_prefecture_level_cities_group, export.china_prefecture_level_cities_group_2, export.egypt_group, export.finland_group, export.france_group, export.france_departments_group, export.germany_group, export.greece_group, export.india_group, export.indonesia_group, export.iran_group, export.ireland_group, export.italy_group, export.japan_group, export.laos_group, export.lebanon_group, export.malaysia_group, export.malta_group, export.mexico_group, export.moldova_group, export.morocco_group, export.netherlands_group, export.new_zealand_group, export.nigeria_group, export.north_korea_group, export.norway_group, export.pakistan_group, export.philippines_group, export.poland_group, export.portugal_group, export.romania_group, export.russia_group, export.saudi_arabia_group, export.south_africa_group, export.south_korea_group, export.spain_group, export.taiwan_group, export.thailand_group, export.turkey_group, export.ukraine_group, export.united_kingdom_group, export.united_states_group, export.england_group, export.northern_ireland_group, export.scotland_group, export.wales_group, export.vietnam_group, export.australia_cities_group, export.brazil_cities_group, export.canada_cities_group, export.france_cities_group, export.germany_cities_group, export.india_cities_group, export.indonesia_cities_group, export.italy_cities_group, export.japan_cities_group, export.mexico_cities_group, export.nigeria_cities_group, export.pakistan_cities_group, export.philippines_cities_group, export.russia_cities_group, export.saudi_arabia_cities_group, export.south_korea_cities_group, export.spain_cities_group, export.taiwan_cities_group, export.united_kingdom_cities_group, export.united_states_cities_group, export.new_york_boroughs_group, export.vietnam_cities_group, export.misc_cities_group, } return export 0zvkppx4ercw7gimlwp0rq4smv5cidc 2573194 2573192 2026-10-24T12:26:47Z TheHighFighter2 42988 2573194 Scribunto text/plain local export = {} export.force_cat = false -- set to true to force category generation even on non-mainspace pages local m_table = require("Module:table") local string_utilities_module = "Module:string utilities" local en_utilities_module = "Module:en-utilities" local insert = table.insert local concat = table.concat local dump = mw.dumpObject local unpack = unpack or table.unpack -- Lua 5.2 compatibility --[==[ intro: This module contains data on all known locations, along with some lower-level code to process them (higher-level known-location code is in [[Module:place/placetypes]]). You must load this module using require(), not using mw.loadData(). ===Location data=== '''NOTE: In order to understand the following better, first read the introductory documentation in [[Module:place]], especially the section `More about known locations`.''' The bulk of the code in this module (after some helper functions and placetype tables) describes the known locations and their relationships. Locations are grouped into ''location groups'' that share some common properties (examples are states of the United States and cities in Brazil). Each location group is associated with two tables, a ''data table'' that lists the locations and their individual properties, and a ''metadata table'' that lists group-level properties and defaults for the location properties. Each metadata table points to the associated data table (i.e. contains the data table as its `data` field), and the global `locations` variable holds a list of all group metadata tables. A given location is generally described by three values: (a) the group metadata table for the group the location is part of; (b) the location's canonical ''key'', which is the actual key in the group's data table and is globally unique across all locations; and (c) the location's ''spec'', which is the initialized object describing the properties of the location and comes from the value in the data table corresponding to the canonical key, transformed by the `initialize_spec()` function. These are typically named `group`, `key` and `spec`, respectively and in that order, and are found in the arguments to many functions. In a per-group data table, the keys are either ''canonical keys'' describing locations (which, as mentioned above, must be globally unique) or ''alias keys'' specifying an allowed alias for a given location. There may be multiple aliases for a given location and the alias keys only need to be unique within a particular group data table, not across all groups. It is also possible for the same string to serve as an alias key in one group and a canonical key in another group. (For example, `Newcastle` appears as an alias key in two different groups, referring to two different locations, canonically known as `Newcastle upon Tyne`, for the city in England, and `Newcastle, New South Wales`, for the city in New South Wales, Úc; and `Birmingham` appears both as a canonical key in the group of English cities and an alias key for canonical `Birmingham, Alabama` in the group of US cities.) The corresponding value objects are different for canonical and alias keys. Corresponding to canonical keys are ''location specs'', describing the properies of the location that cannot be derived from default properties of the group or global defaults. Corresponding to alias keys are ''alias specs'', which are highly restricted in the properties they can contain, and whose properties do not have per-group defaults, but only global defaults. The canonical key is always the same as the bare category corresponding to the location, which is one of the reasons it must be globally unique. For example, the country of Georgia uses the canonical key `Georgia` and corresponding bare category [[:Category:Georgia]], while the US state of Georgia uses the canonical key `Georgia, USA` and corresponding bare category [[:Category:Georgia, USA]]. The following conventions are followed in naming keys: * Countries, ''country-like entities'' (which are a mixture of unrecognized de-facto states and dependent territories) and ''former countries'' (which also includes other types of polities, such as the Roman Empire) use their unqualified placename as the canonical key. (See the documentation for [[Module:place]] for the distinction between keys and placenames, which is critical to understand when working with location data.) This also applies to constituent countries (such as England, Aruba and the Faroe Islands) and constituent parts of grouped dependent territories (such as the island of Saint Helena, which is administratively part of the British overseas territory of Saint Helena, Ascension and Tristan da Cunha). * Cities (including prefecture-level cities in China, which behave in most respects more like non-city administrative divisions) also normally use their unqualified placename as the canonical key, but if this causes name conflicts or ambiguities, they use a ''qualified key'' containing either the country name or immediate containing division (if different) following a comma, such as the case of `Newcastle, New South Wales` and `Birmingham, Alabama` above. Examples of name conflicts are the two cities just given; examples of ambiguities are the major cities of León and Mérida in Mexico and city of Cartagena, Colombia, which are given the respective canonical keys of `León, Guanajuato`, `Mérida, Yucatán` and `Cartagena, Colombia` to avoid ambiguity with the well-known respective cities of the same name in Spain, even though none of those cities are large enough to be included as known locations in this module. (The cutoff is generally having a metro area of at least 1,000,000 inhabitants, although there are exceptions.) * Administrative divisions of countries, other than the exceptions noted above for constituent countries and dependent territories, use a qualified key that contains the name of the country or constituent country in it, e.g. `Normandy, France` (a region), `Calvados, France` (a department in the region of Normandy), `Herefordshire, England` (a ceremonial county), `Northwest Territories, Canada` (a territory), `Central Finland, Finland` (a region), `Antalya Province, Turkey` (a province), `Cluj County, Romania` (a county), `County Cork, Ireland` (a county) and `New York, USA` (a state). As shown in these various examples, (a) first and second-level divisions are sometimes both included (as in France, the United Kingdom and China); (b) the qualifier after the comma is sometimes a constituent country (England) instead of a country (United Kingdom), and is sometimes abbreviated (USA rather than United States or Unites States of America); (c) the word `the` is not normally included in the key even if the location is normally preceded by `the` when following a preposition (there is a property in the location and alias specs to indicate this), except in a very few cases (most notably `The Hague`); (d) the country is included as a qualifier even if it creates an apparent redundancy, as with `Central Finland, Finland`; and (e) sometimes the placetype is included in the key, as with provinces in Turkey and several other countries; states in Nigeria; and counties in Ireland, Romania and several other countries. Whether the placetype is included, and whether it follows or precedes the placename, depends on per-country conventions. For example, provinces in Turkey, Iran and several other countries (likewise for states in Nigeria, oblasts in Russia, etc.) conventionally include the word "Province", "State", "Oblast" etc. in their name because they are normally named after the largest city in the division, which would otherwise lead to ambiguity; and counties in Ireland and Northern Ireland (and likewise County Durham, England) normally have the word "County" preceding rather than following them in their conventional name, so we follow this practice. The Wikipedia article naming scheme for a given administrative division is a strong clue as to how the division is normally referred to, and we usually follow this practice. (A minor exception is that the Wikipedia articles for provinces in Iran, Laos and Thailand include the word `province` with an initial lowercase letter while provinces elsewhere, e.g. North and South Korea, Saudi Arabia and Turkey, use uppercase `Province`; we normalize to uppercase `Province` in all cases.) As mentioned above, associated with canonical keys in the group data table are location specs, which are objects containing properties. It is important here to distinguish ''initialized specs'' from ''uninitialized specs''. Unininitialized specs are as directly specified in [[Module:place/locations]], containing only those properties that differ from the per-group or global defaults. Initialized specs result from calling `initialize_spec()` on an uninitialized spec (it is idempotent in that it will do nothing if encountering an already-initialized spec). This copies all group-level defaults that are not overridden in the location spec itself from the group-level metadata table into the location spec, so that in general, no more reference need be made to the group to fetch the correct value of a given location property. (The initialization process also does more transformations in a few cases, noted below.) Note that the default value of a given property is stored under a key in the group metadata table that is preceded by the string `default_`; for example, the default value corresponding to the `placetype` property of a given location is specified in the `default_placetype` key in the group metadata table. The following are the properties of the location spec. * `placetype`: String specifying the placetype of the location (e.g. "quốc gia", "state", province"). This can also be a table of such types; in this case, the first listed type is the canonical type that will be used in descriptions, but the location will be recognized (e.g. in a holonym, or for categorizing into the bare category) when tagged with any of the specified types. The placetype '''must''' be either specified on an individual location or defaulted at the group level, or an error occurs. * `container`: Either a string, a ''canonicalized container'' structure or a list of either type, specifying the immediate ''container'' (or containers) of the given location. A container is another location which this location is considered to be directly part of, either politically or (above the country level) geographically. Some locations belong to multiple immediate containers; this applies especially to transcontinental countries such as Russia and Turkey. Containers can themselves have containers, forming a tree (or more correctly, a [[w:directed acyclic graph]]) of locations. The list of immediate container(s), followed by the container(s) of the container(s), etc., is termed the ''container trail'', and some functions compute and return this trail as part of their operation. When a location spec is initialized, the given container spec is canonicalized into ''canonical container form'', which consists of a list of canonicalized container structures, each of which is of the form `{key = "``container_key``", placetype = "``container_placetype``"}`, where ``container_key`` is a canonical location key and ``container_placetype`` should be the listed placetype for the location, or the first listed placetype if there are multiple. (FIXME: Since the key uniquely identifies the container location, we should eliminate the placetype from the container structure.) The list of canonicalized container structures is stored into the `.containers` field of the location spec (this happens even if the container value is unset in its uninitialized spec form, causing it to default to the corresponding group-level value), and the `.container` field is set to {nil}. The canonicalization process is described in more detail below under [[#Container spec canonicalization]]. * `divs`: List of recognized political divisions; e.g. for the Netherlands, a specification of the form `divs = {"provinces", "municipalities"}` will allow categories such as [[:Category:de:Provinces of the Netherlands]] and [[:Category:pt:Municipalities of the Netherlands]] to be created. Any division that appears here must also be found in `placetype_data`, or an error occurs. The entities appearing in the `divs` list can be structures as well as just strings; this is explained more below under [[#Location divisions]]. Additional political divisions that apply to all locations in a group can be specified at the group level using the group-only property `addl_divs`, which has the same format as `divs`. This is intended to be used in the situation where some division types are shared among all locations in the group and others differ from location to location. An example where this is used is the United States, where `census-designated places` is specified in the group-level `addl_divs` so that all 50 states have census-designated places categorized as e.g. [[:Category:Census-designated places in Arizona, USA]], but `counties` and `county seats` are specified in the group-level `default_divs` because not all states have counties and county seats (Alaska has boroughs and borough seats and Louisiana has parishes and parish seats), and some states have additional divisions (New Jersey and Pennsylvania also have boroughs, while Colorado and Connecticut have municipalities). Note that under most circumstances (particularly, if `container_parent_type` is not set as a property associated with the division type), any division type specified on a sub-country-level location must also be specified on all containers up through the country. For example, since French departments specify `communes` and `municipalities` in `default_divs`, the same division types must be (and are) specified on French regions and for France itself. * `keydesc`: String directly specifying a description of the location, for use in generating the contents of category pages related to the location. In place of a string, a function of three arguments (`group`, `key`, `spec`, as is normal for locations) that computes the location description can also be given. This is used, for example, for Russian federal subjects; see `construct_russia_federal_subject_keydesc`. The special string `+++` contained in the keydesc is replaced with the default value of the location description, which specifies the location's placename, placetype, and the corresponding values for each container in the container trail, generally up through (but not beyond) the country level; see `no_include_container_in_desc` below. The location description is used to construct the full description of various categories, such as bare location categories, whose description generally reads `"{{(((}}langname}}} terms related to the people, culture, or territory of ``keydesc``."` where ``keydesc`` is the specified or auto-constructed location description. * `fulldesc`: String overriding the full description for the bare location category (but not for any other category). This is currently used only for the location `Earth`, at the very top of the tree (because the standard `people, culture or territory of ...` text doesn't make sense here), and for `Antarctica` (because it has no permanent inhabitants). FIXME: This should be renamed `bare_category_fulldesc`. * `addl_parents`: Specify additional parents for the bare location category, in addition to the category or categories generated based on the immediate container(s). For example, `Hawaii, USA` specifies `Polynesia` as an additional parent category; both `North Korea` and `South Korea` specify `Korea` (which is a specially handled location category) as an additional parent; and `Earth` specifies `nature` (not a location category, but still a topic category) as an additional parent (which in this case becomes the first parent, as `Earth` has no container). The only restriction on the categories in `addl_parents` is that they must be topic categories, because each language-specific version of the bare location category gets the corresponding language-specific versions of the categories in `addl_parents`. FIXME: This shoudl be renamed `bare_category_addl_parents`. * `wp`: Spec describing how to construct the Wikipedia article for the location. Each spec is either `true` (equivalent to `"%l"`, i.e. use the full location placename directly) or a string containing formatting directives, indicating how to construct the article name. The allowed formatting directives are `%l` (the full location placename), `%e` (the elliptical location placename) and `%c` (the full placename of the first immediate container). For example, the default value of `wp` for the group of United States cities is `"%l, %c"` since the city articles tend to be named e.g. `Austin, Texas` (but with many exceptions, specified using `wp` fields at the city level). Another example is Thai provinces, which specify a group-level default of `"%e province"` as the Wikipedia articles have lowercase `province` in their name but the Thai province keys specified in this module have uppercase `Province`. Here we have to use `%e` to get the placename without the word `Province` in it. The default is `true`, which simply uses the full location placename as the article name. Note that the Wikipedia article, along with the Wikipedia and Commons category pages, are shown in the upper right of bare category pages. * `wpcat`: Spec describing how to construct the Wikipedia category page for the location (i.e. the page listing articles and categories relevant to the location). The format is the same as with `wp`, and it defaults to the value of `wp`. It rarely needs to be specified because the category page and the article page almost always follow the same format. * `commonscat`: Spec describing how to construct the Commons category page for the location (i.e. the page on the MediaWiki Commons site listing articles and categories relevant to the location). It has the same format as `wp` and `wpcat` and defaults to `wpcat`, which is usually (but not always) correct. * `the`: Boolean specifying whether a location should be preceded by `the` when following a preposition, e.g. in category names such as [[:Category:Cities in the Northern Territory, Úc]] and in old-style place descriptions when the location occurs as the first holonym, such as the city [[Darwin]] described using {{tl|place|city|terr/Northern Territory|c/Australia}}. Note that the global default for this and all Boolean properties is {nil}, which amounts to the same as {false}. * `british_spelling`: Boolean indicating whether the location in question uses British spelling. Currently this only affects whether the spelling `neighborhoods` or `neighbourhoods` is used in categories such as [[:Category:Neighborhoods of New York City]] and [[:Category:Neighbourhoods of Sydney]]. This usually needs to be set only at the top level (i.e. country or country-like entity), because lower-level entities look up the container trail for any container that has `british_spelling = true` set, and if found, assume that British spelling applies. The general principle used in setting this is that all countries in Europe, all dependent territories of any such country, all former British colonies, and any dependent territories of these former colonies, are assumed to use British spelling, while all other countries and associated dependent territories are assumed to use American spelling. This can potentially be modified on a case-by-case basis. * `is_city`: Boolean indicating whether the location in question is a city. This is explicitly set to `true` for city-states (e.g. Monaco and Vatican City), dependent territories that are cities (e.g. Hong Kong, Macau, Bonaire, Gibraltar, etc.), certain city-level administrative divisions (such as `City of Belfast, Northern Ireland`) and (through a group-levell setting) New York boroughs. In addition, it is set to `true` in initialize_spec() whenever the group-level `default_placetype == "thành phố"`, so that all cities get it set without explicitly needing to add a group-level setting for this. Note that the condition `default_placetype == "thành phố"` intentionally excludes Chinese prefecture-level cities, which aren't really cities in that (for example) they don't directly contain neighborhoods, but do contain cities within them. This setting is used in various places: (a) to add cities, rivers, etc. to categories like [[:Category:Rivers in Osaka, Nhật Bản]] and [[:Category:Cities in Wuhan]] for holonyms that are ''not'' cities; (b) to add districts, neighborhoods, and the like to categories like [[:Category:Neighborhoods of Brooklyn]] and [[:Category:Neighborhoods of Monaco]] for holoynms that ''are'' cities; (c) generally, to determine which "generic" placetypes (cities, rivers, neighborhoods, etc.) apply to the location. (Those that can occur with cities have a `generic_before_cities` setting in [[Module:place/placetypes]], and those that can occur with non-cities have a `generic_before_non_cities` setting.) * `is_former_place`: Boolean that should be set on former places such as the Soviet Union and the Roman Empire. For such places, categories such as [[:Category:fr:Rivers in the Soviet Union]] are neither generated nor recognized (more generally, no "generic" placetypes apply except for `places`), and category descriptions include the word `former`. * `overriding_bare_label_parents`: Document me! * `bare_category_parent_type`: Document me! * `no_container_cat`: Document me! * `no_container_parent`: Document me! * `no_generic_place_cat`: Document me! * `no_check_holonym_mismatch`: Document me! * `no_auto_augment_container`: Document me! * `no_include_container_in_desc`: Document me! ====Location divisions==== The `divs` field of a location describes the recognized political division types of that location. Specifying a given division type will cause places defined as being of the specified division type and with the location as a holonym will cause the place to be categorized as ` ``placetypes`` in/of ``location`` `; for example, specifying that the United States has `"states"` as a division will cause anything defined as {{tl|place|fr|state|c/US}} to be categorized under [[:Category:fr:States of the United States]]. Note that you do not have to explicitly specify division types for "generic" placetypes (those that have a `generic_before_non_cities` field if the location is not a city, or that have a `generic_before_cities` field if the location is a city); this includes things like cities, towns, villages, neighbo(u)rhoods and rivers. A given element in the `divs` list is usually a string naming a plural placetype; the placetype is automatically converted to the singular for recognizing the placetype in a {{tl|place}} spec, and irregular plurals such as `kibbutzim` are handled correctly as long as the placetype specifies an appropriate `plural` field (if the `plural` isn't explicitly given, the default singularization algorithm in [[Module:en-utilities]] is run, which gets most things correctly but has problems with `passes` and `fortresses`, which are singularized to `passe` and `fortresse`; for this reason, an explicit plural entry is added to terms in ''-ss''). In place of a string, an object can be given with the plural placetype in the `type` field; this allows additional properties to be specified along with the placetype. An example of this is the `divs` list for Canada: { ["Canada"] = {divs = { {type = "tỉnh", cat_as = "provinces and territories"}, {type = "territories", cat_as = "provinces and territories"}, "counties", "districts", "municipalities", "regional municipalities", "rural municipalities", "parishes", "Indian reserves", "census divisions", {type = "townships", prep = "in"}, }, ...}, } Here, both provinces and territories are set to categorize as `provinces and territories`, meaning that there is a single category [[:Category:Provinces and territories of Canada]] rather than separate categories for provinces and territories. Similar things are done for other countries that have more than one type of first-level administrative division (e.g. Australia, China, India and Pakistan). Note that any placetype listed under `cat_as` must exist in the table of placetypes in [[Module:place/placetypes]], and in fact there is a category-only entry there for `provinces and territories!` (the use of exclamation point following a plural placetype means that the placetype is present only for use in categories and won't be recognized as the placetype field in a {{tl|place}} description). In addition, townships are declared to use `in` rather than `of` as the preposition in the category; hence the category name will be [[:Category:Townships in Canada]] rather than [[:Category:Townships of Canada]]. (The use of `in` vs. `of` is somewhat related to whether a given placetype is an official administrative or statistical division of the location in question and comes in a defined list, in which case `of` should be used, or is more ill-defined, in which case `in` should be used; the default is `of`, and the use of `in` with `townships` is probably by analogy with the use of `in` with cities and towns.) Another more complex example is the divisions given for Quebec: { ["Quebec, Canada"] = {divs = { "counties", {type = "regional county municipalities", container_parent_type = "regional municipalities"}, {type = "regions", container_parent_type = false}, {type = "townships", prep = "in"}, {type = "parish municipalities", cat_as = {{type = "parishes", container_parent_type = "counties"}, "municipalities"}}, {type = "township municipalities", cat_as = {{type = "townships", prep = "in"}, "municipalities"}}, {type = "village municipalities", cat_as = {{type = "villages", prep = "in"}, "municipalities"}}, }, ...}, } Here, `container_parent_type` controls the second parent category of the placetype/location category associated with the entry. In this case, for example, [[:Category:Counties of Quebec, Canada]] will have [[:Category:Counties of Canada]] as its second or ''container-level'' parent. However, this doesn't make sense for `regional county municipalities`, which exist only in Quebec (so the parent category [[:Category:Regional county municipalities of Canada]] would have only one subcategory); but they are similar to regional municipalities in British Columbia, Nova Scotia and Ontario, so the `container_parent_type = "regional municipalities"` spec causes the container-level parent of this category to be [[:Category:Regional municipalities of Canada]]. Likewise, `regions` as administrative divisions (as opposed to mere geographic regions) exist only in Quebec; they have no equivalent elsewhere, so we disable the container-level parent using `container_parent_type = false`. The specs for `parish municipalities`, `township municipalities` and `village municipalities` show both that multiple types can be specified under `cat_as` (here, for example, we categorize `parish municipalities` as both `parishes` and `municipalities`) and that these types can themselves have properties, just as for entries directly under `divs`. Specifically, `{type = "parishes", container_parent_type = "counties"}` means that any place defined as a parish municipality in Quebec will be categorized under both [[:Category:Parishes of Quebec, Canada]] and [[:Category:Municipalities of Quebec, Canada]], and that the former will have a container-level parent of [[:Category:Counties of Canada]] (rather than the default of [[:Category:Parishes of Canada]]). Similarly, `township municipalities` will be categorized under both [[:Category:Townships in Quebec, Canada]] (''not'' [[:Category:Townships of Quebec, Canada]]) and [[:Category:Municipalities of Quebec, Canada]]. ====Container spec canonicalization==== A fully canonicalized container spec for a given location consists of a list of ''canonicalized container objects'', each with a `key` and `placetype` field. The `key` field should name the canonical key of some other location at a higher level (e.g. French cities are contained in French departments, which are contained in French regions, which are contained in France, which is contained in Europe, which is contained in Eurasia, which is contained in the Earth). The `placetype` field should correspond to the first (canonical) placetype listed for the key in question. The process of initializing a locaion spec converts the container spec in `.container` into a canonicalized spec in `.containers` and removes the spec from `.container`. It works as follows: # If the `container` field is missing, and there is a group-level `default_container` field, it is used in its place. For example, none of the Brazilian states listed in `brazil_states` specifies a container, but the group specifies `default_container = "Brazil"`. # A single string or canonicalized container object is allowed and made into a one-element list. # If a list element is a string that did ''not'' come from `default_container`, and there is a group-level `canonicalize_key_container` field, it is assumed to be a one-argument function and is called on the string to get a canonicalized container object. # Any remaining strings are assumed to be countries and are used directly as the `key`, with `placetype` set to `"quốc gia"`. ====Alias keys==== Aliases can be provided for canonical keys using ''alias keys''. Alias keys have a very different location spec structure from canonical keys. This structure does not, in general, have defaults at the group level and is not initialized using `initialize_spec()`, but is used as-is. The following properties are recognized in an alias location spec: * `alias_of`: The canonical key of which this key is an alias. Required. * `the`: If true, this alias key is preceded by `the` following a preposition. Defaults to the group-level `default_the` but does not pay attention to the value of `the` for the corresponding canonical key. * `display`: This is a display alias, meaning that holonyms using the placename corresponding to this alias will be converted to the placename corresponding to the canonical key when formatting the holonym for display. (Otherwise, the aliasing applies only to categorization.) If the value is true, the display canonicalization is to the placename of the canonical key; otherwise, the value should be a key whose corresponding placename is used when display canonicalizing. * `placetype`: The placetype of the alias. Rarely needs to be specified as it defaults to the canonical key's placetype, and if that is unspecified, to the group-level default placetype. ====Location group metadata tables==== As mentioned above, associated with each location group is a ''metadata table'' listing group-level properties. The metadata table contains two types of keys: group-level defaults (named like the corresponding location-level keys but preceded by `default_`, e.g. `default_placetype` corresponding to the location-level `placetype` key) and group-only keys, which are mostly functions. The following are the possible group-only keys: * `data`: This points to the group data table for the group, as described above. * `key_to_placename`: This is a function of one argument to transform the location's key (whether canonical or alias) into the full and elliptical placenames. The difference between full and elliptical placenames is described in the documentation for [[Module:place]], but in essence, it applies for keys that include the placetype in them (e.g. `Phuket Province, Thailand` or `County Mayo, Ireland`), in which case the full placename includes the placetype and the elliptical placename does not. For keys that do not include the placetype in them (e.g. `Arizona, USA` or `Gloucestershire, England`), the full and elliptical placenames are identical. Note that neither the full nor the elliptical placename includes the container in it; hence, for `Phuket Province, Thailand`, the full placename is `Phuket Province` and the elliptical placename is just `Phuket`. (Note that the full vs. elliptical placename distinction is intended only for handling cases where the placetype follows or precedes the raw placename and there is no difference between the two in whether they are normally preceded by `the`. More complex situations, such as `State of Mexico` (which normally takes `the`) vs. just `Mexico` (which doesn't), or `Islamabad Capital Territory` vs. just `Islamabad`, should be handled instead by aliases.) The `key_to_placename` function takes one argument, the key, and returns two arguments, the full and elliptical placenames, respectively. If left undefined, the default is to chop off anything starting with a comma and return the result as both full and elliptical placename, and if specifically set to `false`, the key is used directly as both full and elliptical placename. If it needs to be defined, it is best to use the helper function `make_key_to_placename`, if possible (or `make_irish_type_key_to_placename` in the case of Ireland and Northern Ireland, where `County` precedes), rather than rolling your own. In addition, you should use the global `key_to_placename` function (which takes care of the default implementation and such) rather than directly calling the function in the `key_to_placename` field. * `placename_to_key`: This is approximately the inverse of `key_to_placename`, transforming a placename (which can be either in full or elliptical form) into the corresponding key. As with `key_to_placename`, if you need to define this (generally, when the full and elliptical placenames are different), prefer using `make_placename_to_key` (or `make_irish_type_placename_to_key` for Ireland and Northern Ireland) to rolling your own. In addition, similarly to `key_to_placename`, use the global `placename_to_key` function to convert placenames to keys rather than directly invoking the function in the `placename_to_key` field. If the field is set to `false`, the placename is used unchanged as the key. Otherwise, the default algorithm works as follows: *# If the group-level `default_placetype == "thành phố"`, use the placename unchanged as the key. *# Otherwise, if the group-level `default_container` exists and is a string, append it to the placename after a comma + space and use the result as the key. *# Otherwise, if the group-level `default_container` is a canonical container object (an object with `key` and `placetype` fields), and the `placetype` field is either `country` or `constituent country`, append the `key` field to the placename after a comma + space and use the result as the key. *# Otherwise, use the placename unchanged as the key. * `canonicalize_key_container`: A function of one argument to convert the specified `container` field, when a string, to canonical form. Described in more detail above under [[#Container spec canonicalization]]. It is preferable to construct the function using `make_canonicalize_key_container`, if possible, rather than rolling your own. * `addl_divs`: Additional political divisions appended, for all locations in the group, to the list of divisions derived from the location-level `divs` or group-level `default_divs` fields to get the final list of divisions for the location. See [[#Location divisions]] for more details. ]==] ----------------------------------------------------------------------------------- -- Helper functions -- ----------------------------------------------------------------------------------- --[==[ Throw an error. `fmt` is a format string and the remaining arguments are passed through `mw.dumpObject` and then used to format the format string as if `fmt:format(...)` were called. In general, callers should use `internal_error` unless the error was due to bad user input rather than a logic error (which usually isn't the case in deep back-end code like this). ]==] function export.process_error(fmt, ...) local args = {...} for i = 1, select("#", ...) do args[i] = dump(args[i]) end return error(string.format(fmt, unpack(args))) end --[==[ Throw an internal error (a logic error that should never happen unless there is a bug in the code, as opposed to a user error triggered by bad input or a system error due to something like running out of memory or hitting a time limit). `fmt` is a format string and the remaining arguments are passed through `mw.dumpObject` and then used to format the format string as if `fmt:format(...)` were called. ]==] function export.internal_error(fmt, ...) export.process_error("Internal error: " .. fmt, ...) end local internal_error = export.internal_error -- Return whether `list_or_element` (a list of strings, or a single string) "contains" `item` (a string). If -- `list_or_element` is a list, this returns true if `item` is in the list; otherwise it returns true if `item` -- equals `list_or_element`. local function list_or_element_contains(list_or_element, item) if type(list_or_element) == "table" then return m_table.contains(list_or_element, item) and true or false end return list_or_element == item end --[==[ Call the location group's `key_to_placename` function if it exists (see the comment at the top of [[Module:place]] for the distinction between keys and placenames). Two values are returned, the full and elliptical placenames (e.g. full `"County Durham"` vs. elliptical `"Durham"`). If the group does not define `key_to_placename`, both full and elliptical placenames are computed by chopping off anything starting with a comma. ]==] function export.key_to_placename(group, key) if group.key_to_placename == false then return key, key end if group.key_to_placename then local full_placename, elliptical_placename = group.key_to_placename(key) if type(full_placename) ~= "string" then internal_error("Key %s returned a non-string full placename: %s", key, full_placename) end if type(elliptical_placename) ~= "string" then internal_error("Key %s returned a non-string elliptical placename: %s", key, elliptical_placename) end return full_placename, elliptical_placename end key = key:gsub(",.*", "") return key, key end --[==[ Call the location group's `placename_to_key` function if it exists (see the comment at the top of [[Module:place]] for the distinction between keys and placenames) and return the result. If `placename_to_key` exists with the value `false`, return the placename unchanged. If the group does not define `placename_to_key`, and it defines a `default_container` whose placetype is either `country` or `constituent country`, the container name is appended to the placename after a comma and a space. Otherwise the placename is returned unchanged. ]==] function export.placename_to_key(group, placename) if group.placename_to_key == false then return placename elseif group.placename_to_key then local key = group.placename_to_key(placename) if type(key) ~= "string" then internal_error("Placename %s returned a non-string key: %s", placename, key) end return key elseif group.default_placetype == "thành phố" then return placename else local defcon = group.default_container if not defcon then return placename elseif type(defcon) == "string" then return placename .. ", " .. defcon elseif type(defcon) == "table" and (defcon.placetype == "quốc gia" or defcon.placetype == "constituent country") then return placename .. ", " .. defcon.key else return placename end end end --[==[ Initialize the location spec `spec`, augmenting it with default values taken from `group` if the spec itself doesn't specify values for the properties. This sets `containers` to a canonicalized list of objects, each with `key` and `placetype` keys, describing the immediate containers of the location, and erases (sets to nil) the original non-canonicalized `container` field. (Most locations have only one immediate container but some, e.g. Russia, have more than one. Containers should be carefully distinguished from category parents. Generally the container is the first category parent, or the first ``n`` parents if there are ``n`` containers, but there may be additional category parents, which indicate some sort of relation between the category parent and the location but not necessarily one of containment.) This function is idempotent in that nothing happens if called more than once on the same spec. FIXME: Consider reimplementing this in a more standardly object-oriented way using metatables. ]==] function export.initialize_spec(group, key, spec) if spec.initialized then return end local container = spec.container local containers local container_from_default if not container then container = group.default_container container_from_default = true end if container then if type(container) == "string" or container.key then container = {container} end containers = {} for _, cont in ipairs(container) do if type(cont) == "string" then if group.canonicalize_key_container and not container_from_default then cont = group.canonicalize_key_container(cont) else cont = {key = cont, placetype = "quốc gia"} end end insert(containers, cont) end end spec.containers = containers spec.container = nil local function value_with_default(val, default_val) if val == nil then return default_val else return val end end local function set_or_default(prop) spec[prop] = value_with_default(spec[prop], group["default_" .. prop]) end set_or_default("placetype") if not spec.placetype then internal_error("No placetype found in key %s for spec %s or in group `default_placetype`", key, spec) end set_or_default("divs") spec.addl_divs = group.addl_divs for _, prop in ipairs { "keydesc", "fulldesc", "addl_parents", "overriding_bare_label_parents", "bare_category_parent_type", "wp", "wpcat", "commonscat", "british_spelling", "the", "no_container_cat", "no_container_parent", "no_generic_place_cat", "no_check_holonym_mismatch", "no_auto_augment_container", "no_include_container_in_desc", "is_city", "is_former_place", } do set_or_default(prop) end -- `default_placetype == "thành phố"` is correct; if `default_placetype` has something else like `prefecture-level city` -- as the canonical placetype but also lists `city` (as Chinese prefecture-level cities do), don't mark as -- is_city. spec.is_city = value_with_default(spec.is_city, group.default_placetype == "thành phố") spec.initialized = true end --[=[ Given a location group, key and possible placetypes that the placename must match, check if the key exists in the group with at least one of the group's key's placetypes matching one of the passed-in placetypes. If so, return two values: the group key (which potentially could differ from the passed-in key due to aliases) and the corresponding spec object, which (as with all functions that return spec objects) has been initialized using `initialize_spec()` (i.e. default property values have been copied from the group into the spec, if the spec doesn't itself specify a value for the property in question). `alias_resolution` controls how aliases are resolved. Normally, both display and category aliases are followed, and the returned key will reflect the canonical location key. However, if `alias_resolution` is {"none"}, no alias following happens. In that case, if the key specifies an alias, the spec for the alias rather than the spec for the canonical location is returned, and importantly, it is returned uninitialized, meaning that properties from the group are not copied into the spec. (If the key specifies a canonical location, its spec is returned initialized, as in the normal case where `alias_resolution` is unspecified.) The caller needs to check whether the returned spec is an alias by looking for an `alias_of` property. If `alias_resolution` is {"display"}, the behavior is the same as for {"none"} except that if the alias contains a setting `display = true`, the returned key will reflect the canonical location key, and if the alias contains a setting `display = ``string`` `, the returned key will reflect that string. This is a low-level function meant for internal use; external callers should generally use `get_matching_location` (for internally-derived locations), `find_matching_holonym_location` (for externally-derived locations) or `find_canonical_key` (for known-canonical locations where the placetype isn't known). ]=] local function find_matching_key_in_group(group, placetypes, key, alias_resolution) if alias_resolution ~= nil and alias_resolution ~= "none" and alias_resolution ~= "display" and alias_resolution ~= "all" then internal_error("Bad value for 'alias_resolution': %s", alias_resolution) end local spec = group.data[key] if not spec then return nil end local function check_correct_placetype(placetype) if type(placetype) == "table" then for _, pt in ipairs(placetype) do if list_or_element_contains(placetypes, pt) then return true end end return false else return list_or_element_contains(placetypes, placetype) end end if spec.alias_of then local resolved_key = spec.alias_of local resolved_spec = group.data[resolved_key] if not resolved_spec then internal_error("Key %s is an alias of %s, which doesn't exist", key, resolved_key) elseif resolved_spec.alias_of then internal_error("Key %s is an alias of %s, which is itself an alias; indirect aliasing not allowed", key, resolved_key) end if alias_resolution == "none" or alias_resolution == "display" then -- We could be working with non-initialized/defaulted spec, since we're pulling it directly from the group. local placetype = spec.placetype or resolved_spec.placetype or group.default_placetype if not placetype then internal_error("No placetype found for key %s in any of spec %s, alias-resolved spec %s or in group " .. "`default_placetype`", key, spec, resolved_spec) end if not check_correct_placetype(placetype) then return nil end if alias_resolution == "display" then if spec.display == true then key = resolved_key elseif spec.display then key = spec.display end end return key, spec end key = resolved_key spec = resolved_spec end -- We could be working with non-initialized/defaulted spec, since we're pulling it directly from the group. local placetype = spec.placetype or group.default_placetype if not placetype then internal_error("No placetype found for key %s in spec %s or group `default_placetype`", key, spec) end if not check_correct_placetype(placetype) then return nil end export.initialize_spec(group, key, spec) return key, spec end --[=[ Given a location group, placename and possible placetypes that the placename must match, check if the placename exists in the group with at least one of the placetypes of the key in the group that corresponds to the placename matching one of the passed-in placetypes. If so, return two values: the key corrsponding to the passed-in placename and the corresponding spec object. This is similar to `find_matching_key_in_group()` but works with placenames rather than keys. `alias_resolution` is as in `find_matching_key_in_group()`. This is a low-level function meant for internal use; external callers should generally use `get_matching_location` (for internally-derived locations), `find_matching_holonym_location` (for externally-derived locations) or `find_canonical_key` (for known-canonical locations where the placetype isn't known). ]=] local function find_matching_placename_in_group(group, placetypes, placename, alias_resolution) local key = export.placename_to_key(group, placename) return find_matching_key_in_group(group, placetypes, key, alias_resolution) end --[==[ If `key` is a canonical known location key (i.e. not an alias), return the corresponding group and initialized spec. If no such key exists, return {nil}. This throws an internal error if two locations with the same key are found. ]==] function export.find_canonical_key(key) local found_locations = {} for _, group in ipairs(export.locations) do local spec = group.data[key] if not spec then -- do nothing elseif spec.alias_of then mw.log(("Skipping alias '%s' of canonical '%s'"):format(key, spec.alias_of)) else insert(found_locations, {group, spec}) end end if not found_locations[1] then return nil elseif found_locations[2] then internal_error("Found multiple matching locations for canonical key %s: %s", key, found_locations) else local group, spec = unpack(found_locations[1]) export.initialize_spec(group, key, spec) return group, spec end end --[==[ Iterator that returns all locations matching a given description, where the description consists of either a placename or a key along with a list of possible placetypes. Usually there will be at most one such location. The iterator returns three values at each iteration: the location group, canonical key by which the location is known and the spec object describing the location. `data` contains the following possible fields: * `placetypes`: A list of possible placetypes, one of which must match one of the location's placetypes; or a string specifying a placetype, which must match one of the location's placetypes. This must be specified. * `placename`: The placename of the location. Either this or `key` must be specified. * `key`: The key of the location. Either this or `placename` must be specified. * `alias_resolution`: If specified, it behaves the same as for `find_matching_key_in_group`. The spec is normally initialized using `initialize_spec()` prior to it being returned (but may not be if `alias_resolution` is given and the specified key or placename is an alias; see the documentation for `find_matching_key_in_group`). ]==] function export.iterate_matching_location(data) local i = 0 local n = #export.locations return function() while true do i = i + 1 if i > n then break end local group = export.locations[i] local key, spec if data.placename then key, spec = find_matching_placename_in_group(group, data.placetypes, data.placename, data.alias_resolution) else if not data.key then internal_error("'.placename' or '.key' must be defined: %s", data) end key, spec = find_matching_key_in_group(group, data.placetypes, data.key, data.alias_resolution) end if key then return group, key, spec end end end end --[==[ Return the location matching a given description, where the description consists of either a placename or a key along with a list of possible placetypes. This is similar to `iterate_matching_location()` but throws an internal error if there is not exactly one location found; as such, it is for use with internally specified locations (such as the containers of known locations) rather than externally specified locations, which may not match a known location and in some cases may match multiple known locations. For finding an externally specified location, consider using `find_matching_holonym_location`, which returns {nil} rather than throwing an error if the location isn't found, but also (more importantly) checks to make sure there are no conflicting holonyms among the user-specified holonyms (e.g. {{tl|place|city|s/Delaware|c/USA|t=Newark}} will not match the known location `Newark` (in New Jersey, not Delaware). ]==] function export.get_matching_location(data) local all_found = {} for group, key, spec in export.iterate_matching_location(data) do insert(all_found, {group, key, spec}) end if not all_found[1] then internal_error("Couldn't find matching location for data %s", data) elseif all_found[2] then internal_error("Found multiple matching locations for data %s: %s", data, all_found) else return unpack(all_found[1]) end end --[==[ Successively iterate over a location's containers, and then the containers of those containers, etc. Keep in mind that locations may have multiple containers (e.g. Russia has both Europe and Asia as containers, and both Europe and Asia have Eurasia as their container). A given container will never be returned twice (e.g. in the case where a specific location A has locations B and C as containers, and B has C as its container, C will not be returned twice). An internal error happens if a container loop is detected. The return value is a list of location objects, each of which contains `group`, `key` and `spec` fields. ]==] function export.iterate_containers(group, key, spec) local keys_seen = {} keys_seen[key] = true local iterations = 0 local last_iteration_containers = {{group = group, key = key, spec = spec}} return function() iterations = iterations + 1 if iterations > 10 then internal_error("Probable loop in containers when processing key %s", key) end local next_iteration_containers = {} for _, location in ipairs(last_iteration_containers) do local containers = location.spec.containers if containers then for _, container in ipairs(containers) do local container_group, container_key, container_spec = export.get_matching_location { placetypes = container.placetype, key = container.key, } if not keys_seen[container_key] then insert(next_iteration_containers, { group = container_group, key = container_key, spec = container_spec }) keys_seen[container_key] = true end end end end if not next_iteration_containers[1] then return nil end last_iteration_containers = next_iteration_containers return next_iteration_containers end end --[==[ Given a placename, convert it into a link (two-part if `display_form` is given and differs from `placename`) and add `"the "` to the beginning if called for in `spec`. ]==] function export.construct_linked_placename(spec, placename, display_form) local linked_placename = display_form and placename ~= display_form and ("[[%s|%s]]"):format(placename, display_form) or ("[[%s]]"):format(placename) if spec.the then linked_placename = "the " .. linked_placename end return linked_placename end --[=[ This is typically used to define `key_to_placename`. It generates a function that chops off parts of a string (a location key), typically at the end, in order to get the full and elliptical versions of a placename. (See the documentation above for `key_to_placename` under "Location group tables" for the difference between full and elliptical placenames.) `container_patterns` is a Lua pattern or a list of possible patterns matching the container at the end of the key, which will be used to remove that container. If multiple patterns are specified, each one is tried until one matches. If `container_patterns` is omitted, this part of the process is skipped. The reulting string becomes the full placename. If `divtype_patterns` is specified, it is likewise either a Lua pattern or list of possible patterns to match and remove the political division affixed onto the end (or possibly the beginning) of the key in the keys of certain countries (such as South Korean and North Korean counties, which include the word "County" in the key). The resulting chopped string becomes the elliptical placename. If `divtype_patterns` is omitted, this part of the process is skipped and the full and elliptical placenames are the same. Typical usage is as follows: ``` key_to_placename = make_key_to_placename(", Anh$"), ``` or (when the political division is part of the key) ``` key_to_placename = make_key_to_placename(", Hàn Quốc$", "$") ``` ]=] local function make_key_to_placename(container_patterns, divtype_patterns) if type(container_patterns) == "string" then container_patterns = {container_patterns} end if type(divtype_patterns) == "string" then divtype_patterns = {divtype_patterns} end return function(key) local full_placename = key if container_patterns then for _, container_pattern in ipairs(container_patterns) do local nsubs full_placename, nsubs = full_placename:gsub(container_pattern, "") if nsubs > 0 then break end end end local elliptical_placename = full_placename if divtype_patterns then for _, divtype_pattern in ipairs(divtype_patterns) do local nsubs elliptical_placename, nsubs = elliptical_placename:gsub(divtype_pattern, "") if nsubs > 0 then break end end end return full_placename, elliptical_placename end end --[=[ This is typically used to define `placename_to_key`. It generates a function that appends a string to the end of a given placename to get the key (see the definition of `placename_to_key` above in the documentation under "Location group tables"). Optional `divtype_suffix` is a raw string (which should not contain hyphens or other characters that have special meaning in Lua patterns) to be appended first to the placename; if already present at the end, it is not appended. `container_suffix` is then added in the same fashion if given. Typical usage is like this: ``` placename_to_key = make_placename_to_key(", Anh") ``` (which will convert e.g. `"Hampshire"` into `"Hampshire, Anh"`) or ``` placename_to_key = make_placename_to_key(", Hàn Quốc", " County") ``` (which will convert e.g. `"Gangwon"` or `"Gangwon County"` into `"Gangwon, Hàn Quốc"`). ]=] local function make_placename_to_key(container_suffix, divtype_suffix) return function(placename) local key = placename if divtype_suffix then if not key:find(divtype_suffix .. "$") then key = key .. divtype_suffix end end if container_suffix then key = key .. container_suffix end return key end end --[=[ This is typically used to define `canonicalize_key_container`, which converts a container as specified in the location data into the canonical form containing both the full container key and its placetype. It generates a function to do the canonicalization of a given container. If the container is a string, `suffix` is appended onto the string (use {nil} or {""} if there is no suffix to append), and the placetype is set to `placetype`. Otherwise the container is left as-is. Typical usage is like this: ``` canonicalize_key_container = make_canonicalize_key_container(", Canada", "province") ``` which will convert e.g. `"Ontario"` into `{key = "Ontario, Canada", placetype = "province"}`. ]=] local function make_canonicalize_key_container(suffix, placetype) return function(container) if type(container) == "string" then return {key = container .. (suffix or ""), placetype = placetype} else return container end end end ----------------------------------------------------------------------------------- -- Top-level tables -- ----------------------------------------------------------------------------------- export.continents = { ["Trái Đất"] = {placetype = "planet", addl_parents = {"tự nhiên"}, fulldesc = "=là hành tinh thứ ba tính từ Mặt Trời", commonscat = "Earth"}, ["châu Phi"] = {placetype = "continent", commonscat = "Africa", container = {key = "Trái Đất", placetype = "planet"}}, ["châu Mỹ"] = {placetype = {"supercontinent", "continent"}, container = {key = "Trái Đất", placetype = "planet"}, keydesc = "[[America]], in the sense of [[North America]] and [[South America]] combined", wp = "Châu Mỹ"}, ["Americas"] = {alias_of = "châu Mỹ"}, ["America"] = {alias_of = "châu Mỹ"}, ["Bắc Mỹ"] = {placetype = "continent", container = {key = "châu Mỹ", placetype = "supercontinent"}}, ["Caribe"] = {the = true, placetype = {"continental region", "region"}, container = {key = "Bắc Mỹ", placetype = "continent"}}, ["Trung Mỹ"] = {placetype = {"continental region", "region"}, container = {key = "Bắc Mỹ", placetype = "continent"}}, ["Nam Mỹ"] = {placetype = "continent", container = {key = "châu Mỹ", placetype = "supercontinent"}}, ["châu Nam Cực"] = {placetype = "continent", container = {key = "Trái Đất", placetype = "planet"}, fulldesc = "=lục địa nằm xa về phía nam và tây nhất trên Trái Đất, chứa Cực Nam địa lý và nằm trong Vùng Nam Cực của Nam Bán cầu"}, ["Đại lục Á Âu"] = {placetype = {"supercontinent", "continent"}, container = {key = "Trái Đất", placetype = "planet"}, keydesc = "một khu vực đất đai rộng lớn, bao gồm châu Âu và châu Á"}, ["châu Á"] = {placetype = "continent", container = {key = "Đại lục Á Âu", placetype = "supercontinent"}}, ["châu Âu"] = {placetype = "continent", container = {key = "Đại lục Á Âu", placetype = "supercontinent"}}, ["châu Đại Dương"] = {placetype = "continent", container = {key = "Trái Đất", placetype = "planet"}}, ["Melanesia"] = {placetype = {"continental region", "region"}, container = {key = "châu Đại Dương", placetype = "continent"}}, ["Micronesia"] = {placetype = {"continental region", "region"}, container = {key = "châu Đại Dương", placetype = "continent"}}, ["Polynesia"] = {placetype = {"continental region", "region"}, container = {key = "châu Đại Dương", placetype = "continent"}}, } export.continents_group = { default_overriding_bare_label_parents = {}, -- container parents should be used default_divs = {{type = "quốc gia", prep = "của"}}, -- It's enough to mention the first-level continent or continent group. It seems excessive to write e.g. -- "El Salvador, a country in Central America, a continental region in North America, a continent in America, ...". default_no_include_container_in_desc = true, default_no_container_cat = true, default_no_container_parent = true, default_no_auto_augment_container = true, default_no_generic_place_cat = true, -- French Guyana is in France but not in Europe, which should not be an issue, so don't check holonym mismatches at -- this level. We also run into problems with supercontinents, which have "continent" as the fallback and cause -- mismatches. default_no_check_holonym_mismatch = true, data = export.continents, } -- Countries: including those with partial recognition that are normally considered countries (e.g. Kosovo, Taiwan). export.countries = { ["Afghanistan"] = {container = "châu Á", divs = {"tỉnh", "districts"}}, ["Albania"] = {container = "châu Âu", divs = {"counties", "municipalities", "communes", {type = "administrative units", cat_as = "communes"}, }, british_spelling = true}, ["Algeria"] = {container = "châu Phi", divs = {"tỉnh", "communes", "districts", "municipalities"}}, ["Andorra"] = {container = "châu Âu", divs = {"parishes"}, british_spelling = true}, ["Angola"] = {container = "châu Phi", divs = {"provinces", "municipalities"}}, ["Antigua and Barbuda"] = {container = "Caribe", divs = {"provinces"}, british_spelling = true}, ["Argentina"] = {container = "Nam Mỹ", divs = {"provinces", "departments", "municipalities"}}, ["Armenia"] = {container = {"châu Âu", "châu Á"}, divs = {"tỉnh", "districts", "municipalities"}, british_spelling = true}, ["Republic of Armenia"] = {alias_of = "Armenia"}, -- differs in "the" -- Both a country and continent ["Úc"] = {container = "châu Đại Dương", divs = { {type = "states", cat_as = "states and territories"}, {type = "territories", cat_as = "states and territories"}, {type = "ABBREVIATION_OF states", cat_as = "abbreviations of states and territories"}, {type = "ABBREVIATION_OF territories", cat_as = "abbreviations of states and territories"}, "local government areas", "dependent territories", }, british_spelling = true}, ["Australia"] = {alias_of = "Úc"}, ["Áo"] = {container = "châu Âu", divs = {"states", "districts", "municipalities"}, british_spelling = true}, ["Azerbaijan"] = {container = {"châu Âu", "châu Á"}, divs = {"districts", "municipalities"}, british_spelling = true}, ["Bahamas"] = {the = true, container = "Caribe", divs = {"districts"}, british_spelling = true, wp = "The %l"}, ["Bahrain"] = {container = "châu Á", divs = {"governorates"}}, ["Bangladesh"] = {container = "châu Á", divs = {"divisions", "districts", "municipalities"}, british_spelling = true}, ["Barbados"] = {container = "Caribe", divs = {"parishes"}, british_spelling = true}, ["Belarus"] = {container = "châu Âu", divs = {"regions", "districts"}, british_spelling = true}, ["Bỉ"] = {container = "châu Âu", divs = {"regions", "tỉnh", "municipalities"}, british_spelling = true}, ["Belize"] = {container = "Trung Mỹ", divs = {"districts"}, british_spelling = true}, ["Benin"] = {container = "châu Phi", divs = {"departments", "communes"}}, ["Bhutan"] = {container = "châu Á", divs = {"districts", "gewogs"}}, ["Bolivia"] = {container = "Nam Mỹ", divs = {"tỉnh", "departments", "municipalities"}}, ["Bosna và Hercegovina"] = {container = "châu Âu", divs = {"entities", "cantons", "municipalities"}, british_spelling = true}, ["Bosnia and Hercegovina"] = {alias_of = "Bosna và Hercegovina", display = true}, ["Bosnia và Hercegovina"] = {alias_of = "Bosna và Hercegovina", display = true}, ["Bosnia-Herzegovina"] = {alias_of = "Bosna và Hercegovina", display = true}, ["Bosnia-Hercegovina"] = {alias_of = "Bosna và Hercegovina", display = true}, ["Bosnia"] = {alias_of = "Bosna và Hercegovina", display = true}, ["Botswana"] = {container = "châu Phi", divs = {"districts", "subdistricts"}, british_spelling = true}, ["Brasil"] = {container = "Nam Mỹ", divs = { "states", "municipalities", "macroregions", {type = "ABBREVIATION_OF states", cat_as = "abbreviations of states"}, }}, ["Brazil"] = {alias_of = "Brasil", display = true}, ["Brunei"] = {container = "châu Á", divs = {"districts", "mukims"}, british_spelling = true}, ["Bulgaria"] = {container = "châu Âu", divs = {"tỉnh", "municipalities"}, british_spelling = true}, ["Burkina Faso"] = {container = "châu Phi", divs = {"regions", "departments", "provinces"}}, ["Burundi"] = {container = "châu Phi", divs = {"provinces", "communes"}}, ["Campuchia"] = {container = "châu Á", divs = {"tỉnh", "districts"}}, ["Cameroon"] = {container = "châu Phi", divs = {"regions", "departments"}}, ["Canada"] = {container = "Bắc Mỹ", divs = { {type = "tỉnh", cat_as = "provinces and territories"}, {type = "territories", cat_as = "provinces and territories"}, {type = "ABBREVIATION_OF provinces", cat_as = "abbreviations of provinces and territories"}, {type = "ABBREVIATION_OF territories", cat_as = "abbreviations of provinces and territories"}, "counties", "districts", "municipalities", "regional municipalities", "rural municipalities", "parishes", -- Don't change the following to something more politically correct (e.g. "First Nations reserves") until/unless -- the Canadian government makes a similar switch (and note that as of Apr 18 2025, the Wikipedia article is -- still at [[w:Indian reserves]]). "Indian reserves", "census divisions", {type = "townships", prep = "in"}, }, british_spelling = true}, ["Cape Verde"] = {container = "châu Phi", divs = {"municipalities", "parishes"}}, ["Cabo Verde"] = {alias_of = "Cape Verde", display = true}, ["Cộng hòa Trung Phi"] = {container = "châu Phi", divs = {"prefectures", "subprefectures"}}, ["CAR"] = {alias_of = "Cộng hòa Trung Phi", display = true}, ["C.A.R"] = {alias_of = "Cộng hòa Trung Phi", display = true}, ["Tchad"] = {container = "châu Phi", divs = {"regions", "departments"}}, ["Chad"] = {alias_of = "Tchad", display = true}, ["Chile"] = {container = "Nam Mỹ", divs = {"regions", "tỉnh", "communes"}}, ["Trung Quốc"] = {container = "châu Á", divs = { {type = "tỉnh", cat_as = "provinces and autonomous regions"}, {type = "autonomous regions", cat_as = "provinces and autonomous regions"}, {type = "FORMER provinces", cat_as = "former provinces"}, "special administrative regions", "prefectures", {type = "FORMER prefectures", cat_as = "former prefectures"}, "prefecture-level cities", {type = "counties", cat_as = "counties and county-level cities"}, {type = "county-level cities", cat_as = "counties and county-level cities"}, {type = "FORMER counties", cat_as = "former counties and county-level cities"}, {type = "FORMER county-level cities", cat_as = "former counties and county-level cities"}, -- "towns" (but not "townships") are automatically added as they are specified as generic_before_non_cities. "districts", {type = "FORMER districts", cat_as = "former districts"}, "subdistricts", "townships", "municipalities", {type = "direct-administered municipalities", cat_as = "municipalities"}, }}, ["People's Republic of China"] = {alias_of = "Trung Quốc"}, -- differs in "the" ["Colombia"] = {container = "Nam Mỹ", divs = {"departments", "municipalities"}}, ["Comoros"] = {the = true, container = "châu Phi", divs = {"autonomous islands"}}, ["Costa Rica"] = {container = "Trung Mỹ", divs = {"provinces", "cantons"}}, ["Croatia"] = {container = "châu Âu", divs = {"counties", "municipalities"}, british_spelling = true}, ["Cuba"] = {container = "Caribe", divs = {"tỉnh", "municipalities"}}, ["Cyprus"] = {container = {"châu Âu", "châu Á"}, divs = {"districts"}, british_spelling = true}, ["Czech Republic"] = {the = true, container = "châu Âu", divs = {"regions", "districts", "municipalities"}, british_spelling = true}, ["Czechia"] = {alias_of = "Czech Republic"}, -- differs in "the" ["Democratic Republic of the Congo"] = {the = true, container = "châu Phi", divs = {"provinces", "territories"}}, ["Congo"] = {alias_of = "Democratic Republic of the Congo", display = true, the = true}, ["DRC"] = {alias_of = "Democratic Republic of the Congo", display = true, the = true}, ["D.R.C"] = {alias_of = "Democratic Republic of the Congo", display = true, the = true}, ["Đan Mạch"] = {container = "châu Âu", divs = {"regions", "municipalities", "dependent territories"}, british_spelling = true, -- Wikipedia separates [[w:Denmark]] (constituent country) from [[w:Danish Realm]] (country) }, ["Djibouti"] = {container = "châu Phi", divs = {"regions", "districts"}}, ["Dominica"] = {container = "Caribe", divs = {"parishes"}, british_spelling = true}, ["Dominican Republic"] = {the = true, container = "Caribe", divs = {"provinces", "municipalities"}, keydesc = "the [[Dominican Republic]], the country that shares the [[Caribbean]] island of [[Hispaniola]] with [[Haiti]]"}, ["Đông Timor"] = {container = "châu Á", divs = {"municipalities"}, wp = "Timor-Leste"}, ["Timor-Leste"] = {alias_of = "Đông Timor", display = true}, ["Ecuador"] = {container = "Nam Mỹ", divs = {"provinces", "cantons"}}, ["Ai Cập"] = {container = "châu Phi", divs = {"governorates", "regions"}, british_spelling = true}, ["El Salvador"] = {container = "Trung Mỹ", divs = {"departments", "municipalities"}}, ["Guinea Xích Đạo"] = {container = "châu Phi", divs = {"tỉnh"}}, ["Eritrea"] = {container = "châu Phi", divs = {"regions", "subregions"}}, ["Estonia"] = {container = "châu Âu", divs = {"counties", "municipalities"}, british_spelling = true}, ["Eswatini"] = {container = "châu Phi", british_spelling = true}, ["Swaziland"] = {alias_of = "Eswatini", display = true}, ["Ethiopia"] = {container = "châu Phi", divs = {"regions", "zones"}}, ["Federated States of Micronesia"] = {the = true, container = "Micronesia", divs = {"states"}}, ["Micronesia"] = {alias_of = "Federated States of Micronesia"}, ["Fiji"] = {container = "Melanesia", divs = {"divisions", "provinces"}, british_spelling = true}, ["Phần Lan"] = {container = "châu Âu", divs = {"regions", "municipalities"}, british_spelling = true}, ["Pháp"] = {container = "châu Âu", divs = {"regions", "cantons", "collectivities", "communes", {type = "municipalities", cat_as = "communes"}, "departments", {type = "prefectures", cat_as = {"prefectures", "departmental capitals"}}, {type = "French prefectures", cat_as = {"prefectures", "departmental capitals"}}, "dependent territories", "territories", "tỉnh", }, british_spelling = true}, ["Gabon"] = {container = "châu Phi", divs = {"provinces", "departments"}}, ["Gambia"] = {the = true, container = "châu Phi", divs = {"divisions", "districts"}, british_spelling = true, wp = "The %l"}, ["Gruzia"] = {container = {"châu Âu", "châu Á"}, divs = {"regions", "districts"}, keydesc = "the country of [[Georgia]], in [[Eurasia]]", british_spelling = true, wp = "%l"}, ["Georgia"] = {alias_of = "Gruzia"}, ["Đức"] = {container = "châu Âu", divs = { "states", -- Bavaria, Baden-Württemberg, Hesse and North Rhine-Westphalia have administrative regions as divisions, but -- there aren't really enough of them to categorize per state. "regions", "municipalities", "districts"}, british_spelling = true}, ["Ghana"] = {container = "châu Phi", divs = {"regions", "districts"}, british_spelling = true}, ["Hy Lạp"] = {container = "châu Âu", divs = {"regions", "regional units", "municipalities", {type = "peripheries", cat_as = {"regions"}}, }, british_spelling = true}, ["Grenada"] = {container = "Caribe", divs = {"parishes"}, british_spelling = true}, ["Guatemala"] = {container = "Trung Mỹ", divs = {"departments", "municipalities"}}, ["Guinea"] = {container = "châu Phi", divs = {"regions", "prefectures"}}, ["Guinea-Bissau"] = {container = "châu Phi", divs = {"regions"}}, ["Guyana"] = {container = "Nam Mỹ", divs = {"regions"}, british_spelling = true}, ["Haiti"] = {container = "Caribe", divs = {"departments", "arrondissements"}}, ["Honduras"] = {container = "Trung Mỹ", divs = {"departments", "municipalities"}}, ["Hungary"] = {container = "châu Âu", divs = {"counties", "districts"}, british_spelling = true}, ["Iceland"] = {container = "châu Âu", divs = {"regions", "municipalities", "counties"}, british_spelling = true}, ["Ấn Độ"] = {container = "châu Á", divs = { {type = "states", cat_as = "states and union territories"}, {type = "union territories", cat_as = "states and union territories"}, {type = "ABBREVIATION_OF states", cat_as = "abbreviations of states and union territories"}, {type = "ABBREVIATION_OF union territories", cat_as = "abbreviations of states and union territories"}, "divisions", "districts", "municipalities", }, british_spelling = true}, ["Indonesia"] = {container = "châu Á", divs = {"regencies", "tỉnh", {type = "ABBREVIATION_OF provinces", cat_as = "abbreviations of provinces"}, }}, ["Iran"] = {container = "châu Á", divs = {"tỉnh", "counties"}}, ["Iraq"] = {container = "châu Á", divs = {"governorates", "districts"}}, ["Ireland"] = {container = "châu Âu", addl_parents = {"British Isles"}, divs = {"counties", "districts", "provinces"}, british_spelling = true, wp = "Republic of %l"}, ["Republic of Ireland"] = {alias_of = "Ireland"}, -- differs in "the" ["Israel"] = {container = "châu Á", divs = {"districts"}}, ["Ý"] = {container = "châu Âu", divs = { "regions", "provinces", "metropolitan cities", "municipalities", {type = "autonomous regions", cat_as = "regions"}, }, british_spelling = true}, ["Bờ Biển Ngà"] = {container = "châu Phi", divs = {"districts", "regions"}}, -- We should really be using Ivory Coast (common name) but there are political ramifications to the use of -- Côte d'Ivoire so don't make it a display alias. ["Côte d'Ivoire"] = {alias_of = "Bờ Biển Ngà"}, ["Jamaica"] = {container = "Caribe", divs = {"parishes"}, british_spelling = true}, ["Nhật Bản"] = {container = "châu Á", divs = {"prefectures", "subprefectures", "municipalities"}}, ["Jordan"] = {container = "châu Á", divs = {"governorates"}}, ["Kazakhstan"] = {container = {"châu Á", "châu Âu"}, divs = {"regions", "districts"}}, ["Kenya"] = {container = "châu Phi", divs = {"counties"}, british_spelling = true}, ["Kiribati"] = {container = "Micronesia", british_spelling = true}, ["Kosovo"] = {container = "châu Âu", divs = {"districts", "municipalities"}, british_spelling = true}, ["Kuwait"] = {container = "châu Á", divs = {"governorates", "areas"}}, ["Kyrgyzstan"] = {container = "châu Á", divs = {"regions", "districts"}}, ["Lào"] = {container = "châu Á", divs = {"tỉnh", "districts"}}, ["Latvia"] = {container = "châu Âu", divs = {"municipalities"}, british_spelling = true}, ["Lebanon"] = {container = "châu Á", divs = {"governorates", "districts"}}, ["Lesotho"] = {container = "châu Phi", divs = {"districts"}, british_spelling = true}, ["Liberia"] = {container = "châu Phi", divs = {"counties", "districts"}}, ["Libya"] = {container = "châu Phi", divs = {"districts", "municipalities"}}, ["Liechtenstein"] = {container = "châu Âu", divs = {"municipalities"}, british_spelling = true}, ["Litva"] = {container = "châu Âu", divs = {"counties", "municipalities"}, british_spelling = true}, ["Luxembourg"] = {container = "châu Âu", divs = {"cantons", "districts"}, british_spelling = true}, ["Madagascar"] = {container = "châu Phi", divs = {"regions", "districts"}}, ["Malawi"] = {container = "châu Phi", divs = {"regions", "districts"}, british_spelling = true}, ["Malaysia"] = {container = "châu Á", divs = {"states", "federal territories", "districts"}, british_spelling = true}, ["Maldives"] = {container = "châu Á", divs = {"tỉnh", "administrative atolls"}, british_spelling = true}, ["Mali"] = {container = "châu Phi", divs = {"regions", "cercles"}}, ["Malta"] = {container = "châu Âu", divs = {"regions", "local councils"}, british_spelling = true}, ["Marshall Islands"] = {the = true, container = "Micronesia", divs = {"municipalities"}}, ["Mauritania"] = {container = "châu Phi", divs = {"regions", "departments"}}, ["Mauritius"] = {container = "châu Phi", divs = {"districts"}, british_spelling = true}, ["Mexico"] = {container = "Bắc Mỹ", addl_parents = {"Trung Mỹ"}, divs = { "states", "municipalities", {type = "ABBREVIATION_OF states", cat_as = "abbreviations of states"}, }}, ["Moldova"] = {container = "châu Âu", divs = { {type = "districts", cat_as = "districts and autonomous territorial units"}, {type = "autonomous territorial units", cat_as = "districts and autonomous territorial units"}, "communes", "municipalities", }, british_spelling = true}, ["Monaco"] = {placetype = {"city-state", "quốc gia"}, container = "châu Âu", -- We want the first placetype to be 'city-state' so the description of Monaco says it's a city-state, but we -- want its parent to be "countries in Europe". bare_category_parent_type = {type = "quốc gia", prep = "của"}, is_city = true, british_spelling = true}, ["Mông Cổ"] = {container = "châu Á", divs = {"tỉnh", "districts"}}, ["Montenegro"] = {container = "châu Âu", divs = {"municipalities"}}, ["Maroc"] = {container = "châu Phi", divs = {"regions", "prefectures", "tỉnh"}}, ["Mozambique"] = {container = "châu Phi", divs = {"provinces", "districts"}}, ["Myanmar"] = {container = "châu Á", divs = {"regions", "states", "union territories", {type = "self-administered zones", cat_as = "self-administered areas"}, {type = "self-administered divisions", cat_as = "self-administered areas"}, "districts"}}, ["Burma"] = {alias_of = "Myanmar"}, -- not display-canonicalizing; has political connotations ["Namibia"] = {container = "châu Phi", divs = {"regions", "constituencies"}, british_spelling = true}, ["Nauru"] = {container = "Micronesia", divs = {"districts"}, british_spelling = true}, ["Nepal"] = {container = "châu Á", divs = {"tỉnh", "districts"}}, ["Hà Lan"] = {placetype = {"quốc gia", "constituent country"}, container = "châu Âu", divs = {"tỉnh", "municipalities", {type = "FORMER municipalities", cat_as = "former municipalities"}, "dependent territories", "constituent countries"}, british_spelling = true, -- Wikipedia separates [[w:Netherlands]] (constituent country) from [[w:Kingdom of the Netherlands]] -- (country) }, ["New Zealand"] = {container = "Polynesia", divs = { "regions", "dependent territories", "territorial authorities", {type = "districts", cat_as = "territorial authorities"}, }, british_spelling = true}, ["Nicaragua"] = {container = "Trung Mỹ", divs = {"departments", "municipalities"}}, ["Niger"] = {container = "châu Phi", divs = {"regions", "departments"}}, ["Nigeria"] = {container = "châu Phi", divs = { "states", -- Categorize the Federal Capital Territory as a state because there's only one of it; we could categorize -- everything under 'states and territories' but that seems a bit pointless. {type = "federal territories", cat_as = "states"}, "local government areas", }, british_spelling = true}, ["Cộng hòa Dân chủ Nhân dân Triều Tiên"] = {container = "châu Á", addl_parents = {"Korea"}, divs = {"tỉnh", "counties"}}, ["North Macedonia"] = {container = "châu Âu", divs = {"regions", "municipalities"}, british_spelling = true}, ["Macedonia"] = {alias_of = "North Macedonia", display = true}, ["Republic of North Macedonia"] = {alias_of = "North Macedonia"}, -- differs in "the" ["Republic of Macedonia"] = {alias_of = "North Macedonia"}, -- differs in "the" ["Na Uy"] = {container = "châu Âu", divs = {"counties", "municipalities", "dependent territories", "districts", "unincorporated areas"}, british_spelling = true}, ["Oman"] = {container = "châu Á", divs = {"governorates", "tỉnh"}}, ["Pakistan"] = {container = "châu Á", divs = { {type = "tỉnh", cat_as = "provinces and territories"}, {type = "administrative territories", cat_as = "provinces and territories"}, {type = "federal territories", cat_as = "provinces and territories"}, {type = "territories", cat_as = "provinces and territories"}, "divisions", "districts", }, british_spelling = true}, ["Palau"] = {container = "Micronesia", divs = {"states"}}, ["Palestine"] = {container = "châu Á", divs = {"governorates"}}, ["State of Palestine"] = {alias_of = "Palestine"}, -- differs in "the" ["Panama"] = {container = "Trung Mỹ", divs = {"provinces", "districts"}}, ["Papua New Guinea"] = {container = "Melanesia", divs = {"provinces", "districts"}, british_spelling = true}, ["Paraguay"] = {container = "Nam Mỹ", divs = {"departments", "districts"}}, ["Peru"] = {container = "Nam Mỹ", divs = {"regions", "provinces", "districts"}}, ["Philippines"] = {the = true, container = "châu Á", divs = {"regions", "tỉnh", "districts", "municipalities", "barangays"}}, ["Ba Lan"] = {divs = {"voivodeships", "counties", {type = "Polish colonies", cat_as = {{type = "villages", prep = "in"}}}, }, container = "châu Âu", british_spelling = true}, ["Bồ Đào Nha"] = {container = "châu Âu", divs = { {type = "autonomous regions", cat_as = "districts and autonomous regions"}, {type = "districts", cat_as = "districts and autonomous regions"}, "tỉnh", "municipalities"}, british_spelling = true}, ["Qatar"] = {container = "châu Á", divs = {"municipalities", "zones"}}, ["Republic of the Congo"] = {the = true, container = "châu Phi", divs = {"departments", "districts"}}, ["Congo Republic"] = {alias_of = "Republic of the Congo", display = true, the = true}, ["Romania"] = {container = "châu Âu", divs = { "regions", "counties", "communes", {type = "ABBREVIATION_OF counties", cat_as = "abbreviations of counties"}, }, british_spelling = true}, ["Nga"] = {container = {"châu Âu", "châu Á"}, divs = { "federal subjects", "republics", "autonomous oblasts", "autonomous okrugs", "oblasts", "krais", "federal cities", "districts", "federal districts"}, british_spelling = true}, ["Rwanda"] = {container = "châu Phi", divs = {"provinces", "districts"}}, ["Saint Kitts and Nevis"] = {container = "Caribe", divs = {"parishes"}, british_spelling = true}, ["Saint Kitts"] = {alias_of = "Saint Kitts and Nevis", display = true}, ["Saint Lucia"] = {container = "Caribe", divs = {"districts"}, british_spelling = true}, ["Saint Vincent and the Grenadines"] = {container = "Caribe", divs = {"parishes"}, british_spelling = true}, ["Saint Vincent"] = {alias_of = "Saint Vincent and the Grenadines", display = true}, ["SVG"] = {alias_of = "Saint Vincent and the Grenadines", display = true}, ["S.V.G"] = {alias_of = "Saint Vincent and the Grenadines", display = true}, ["Samoa"] = {container = "Polynesia", divs = {"districts"}, british_spelling = true}, ["San Marino"] = {container = "châu Âu", divs = {"municipalities"}, british_spelling = true}, ["São Tomé and Príncipe"] = {container = "châu Phi", divs = {"districts"}}, ["São Tome and Principe"] = {alias_of = "São Tomé and Príncipe", display = true}, ["São Tomé"] = {alias_of = "São Tomé and Príncipe", display = true}, ["São Tome"] = {alias_of = "São Tomé and Príncipe", display = true}, ["Ả Rập Xê Út"] = {container = "châu Á", divs = {"provinces", "governorates"}}, ["Senegal"] = {container = "châu Phi", divs = {"regions", "departments"}}, ["Serbia"] = {container = "châu Âu", divs = {"districts", "municipalities", "autonomous provinces"}}, ["Seychelles"] = {container = "châu Phi", divs = {"districts"}, british_spelling = true}, ["Sierra Leone"] = {container = "châu Phi", divs = {"provinces", "districts"}, british_spelling = true}, ["Singapore"] = {container = "châu Á", divs = {"districts", "regions"}, british_spelling = true}, ["Slovakia"] = {container = "châu Âu", divs = {"regions", "districts"}, british_spelling = true}, ["Slovenia"] = {container = "châu Âu", divs = {"statistical regions", "municipalities"}, british_spelling = true}, -- Note: While the official name does not include "the" at the beginning, -- it sounds strange in English to leave it out and it's commonly included. ["Solomon Islands"] = {the = true, container = "Melanesia", divs = {"provinces"}, british_spelling = true}, ["Somalia"] = {container = "châu Phi", divs = {"regions", "districts"}}, ["South Africa"] = {container = "châu Phi", divs = { "provinces", "districts", {type = "district municipalities", cat_as = "districts"}, {type = "metropolitan municipalities", cat_as = "districts"}, "municipalities", }, british_spelling = true}, ["Hàn Quốc"] = {container = "châu Á", addl_parents = {"Korea"}, divs = {"provinces", "counties", "districts"}}, ["Nam Sudan"] = {container = "châu Phi", divs = {"regions", "states", "counties"}, british_spelling = true}, ["Tây Ban Nha"] = {container = "châu Âu", divs = {"autonomous communities", "tỉnh", "municipalities", "comarcas", "autonomous cities"}, british_spelling = true}, ["Sri Lanka"] = {container = "châu Á", divs = {"tỉnh", "districts"}, british_spelling = true}, ["Sudan"] = {container = "châu Phi", divs = {"states", "districts"}, british_spelling = true}, ["Suriname"] = {container = "Nam Mỹ", divs = {"districts"}}, ["Thụy Điển"] = {container = "châu Âu", divs = {"tỉnh", "counties", "municipalities"}, british_spelling = true}, ["Switzerland"] = {container = "châu Âu", divs = {"cantons", "municipalities", "districts"}, british_spelling = true}, ["Syria"] = {container = "châu Á", divs = {"governorates", "districts"}}, ["Đài Loan"] = {container = "châu Á", divs = {"counties", "districts", "townships", "special municipalities"}}, ["Republic of China"] = {alias_of = "Đài Loan"}, -- differs in "the", different political connotations ["Tajikistan"] = {container = "châu Á", divs = {"regions", "districts"}}, ["Tanzania"] = {container = "châu Phi", divs = {"regions", "districts"}, british_spelling = true}, ["Thái Lan"] = {container = "châu Á", divs = {"tỉnh", "districts", "subdistricts"}}, ["Togo"] = {container = "châu Phi", divs = {"provinces", "prefectures"}}, ["Tonga"] = {container = "Polynesia", divs = {"divisions"}, british_spelling = true}, ["Trinidad and Tobago"] = {container = "Caribe", divs = {"regions", "municipalities"}, british_spelling = true}, ["Tunisia"] = {container = "châu Phi", divs = {"governorates", "delegations"}}, ["Thổ Nhĩ Kỳ"] = {container = {"châu Âu", "châu Á"}, divs = {"tỉnh", "districts"}}, -- Foreign names generally get display-canonicalized. ["Türkiye"] = {alias_of = "Thổ Nhĩ Kỳ", display = true}, ["Turkmenistan"] = {container = "châu Á", divs = { -- The 5 regions are often also called provinces "regions", {type = "tỉnh", cat_as = "regions"}, "districts"}, }, ["Tuvalu"] = {container = "Polynesia", divs = {"atolls"}, british_spelling = true}, ["Uganda"] = {container = "châu Phi", divs = {"districts", "counties"}, british_spelling = true}, ["Ukraina"] = {container = "châu Âu", divs = { {type = "oblasts", cat_as = "oblasts and autonomous republics"}, {type = "autonomous republics", cat_as = "oblasts and autonomous republics"}, "raions", "hromadas", }, british_spelling = true}, ["United Arab Emirates"] = {the = true, container = "châu Á", divs = {"emirates"}}, -- Abbreviations get display-canonicalized. ["UAE"] = {alias_of = "United Arab Emirates", display = true, the = true}, ["U.A.E."] = {alias_of = "United Arab Emirates", display = true, the = true}, ["United Kingdom"] = {the = true, container = "châu Âu", addl_parents = {"British Isles"}, divs = {"constituent countries", "counties", "districts", "boroughs", "territories", "dependent territories", "traditional counties"}, keydesc = "the [[United Kingdom]] of Great Britain and Northern Ireland", british_spelling = true}, -- Abbreviations get display-canonicalized. ["UK"] = {alias_of = "United Kingdom", display = true, the = true}, ["U.K."] = {alias_of = "United Kingdom", display = true, the = true}, ["Hoa Kỳ"] = {container = "Bắc Mỹ", divs = {"counties", "county seats", "states", "territories", "dependent territories", {type = "ABBREVIATION_OF states", cat_as = "abbreviations of states"}, {type = "DEROGATORY_NAME_FOR states", cat_as = "derogatory names for states"}, {type = "NICKNAME_FOR states", cat_as = "nicknames for states"}, {type = "OFFICIAL_NICKNAME_FOR states", cat_as = "official nicknames for states"}, {type = "boroughs", prep = "in"}, -- exist in Pennsylvania and New Jersey "municipalities", -- these exist politically at least in Colorado and Connecticut {type = "census-designated places", prep = "in"}, {type = "unincorporated communities", prep = "in"}, -- Don't change the following to something more politically correct until/unless the US government makes a -- similar switch (and note that as of Apr 18 2025, the Wikipedia article is still at -- [[w:Indian reservations]]). "Indian reservations", }}, -- Abbreviations and long forms (when possible) get display-canonicalized. ["US"] = {alias_of = "Hoa Kỳ", display = true, the = true}, ["U.S."] = {alias_of = "Hoa Kỳ", display = true, the = true}, ["USA"] = {alias_of = "Hoa Kỳ", display = true, the = true}, ["U.S.A."] = {alias_of = "Hoa Kỳ", display = true, the = true}, ["United States of America"] = {alias_of = "Hoa Kỳ", display = true, the = true}, ["Uruguay"] = {container = "Nam Mỹ", divs = {"departments", "municipalities"}}, ["Uzbekistan"] = {container = "châu Á", divs = {"regions", "districts"}}, ["Vanuatu"] = {container = "Melanesia", divs = {"provinces"}, british_spelling = true}, ["Vatican City"] = {placetype = {"city-state", "quốc gia"}, container = "châu Âu", -- First placetype should be 'city-state' for to shown up in its description, -- Its parent should still be "countries in Europe". bare_category_parent_type = {type = "quốc gia", prep = "của"}, addl_parents = {"Rome"}, is_city = true, british_spelling = true}, ["Vatican"] = {alias_of = "Vatican City"}, -- differs in "the" ["Venezuela"] = {container = "Nam Mỹ", divs = {"states", "municipalities"}}, ["Việt Nam"] = {container = "châu Á", divs = {"tỉnh", "districts", "municipalities"}}, ["Western Sahara"] = {placetype = {"territory", "quốc gia"}, container = "châu Phi", bare_category_parent_type = {type = "quốc gia", prep = "của"}, }, -- Not display-canonicalizable both due to differences in 'the' and the sovereignty dispute over Western Sahara ["Sahrawi Arab Democratic Republic"] = {alias_of = "Western Sahara"}, ["SADR"] = {alias_of = "Sahrawi Arab Democratic Republic", display = true, the = true}, ["Yemen"] = {container = "châu Á", divs = {"governorates", "districts"}}, ["Zambia"] = {container = "châu Phi", divs = {"provinces", "districts"}, british_spelling = true}, ["Zimbabwe"] = {container = "châu Phi", divs = {"provinces", "districts"}, british_spelling = true}, } local function canonicalize_continent_container(key) if type(key) ~= "string" then return key end if export.continents[key] then return {key = key, placetype = export.continents[key].placetype} end internal_error("Unrecognized key %s in `canonicalize_continent_like`", key) end export.countries_group = { canonicalize_key_container = canonicalize_continent_container, default_overriding_bare_label_parents = {"+++", "quốc gia"}, default_placetype = "quốc gia", default_no_container_cat = true, default_no_container_parent = true, -- No need to augment country holonyms with continents; not needed for disambiguation. default_no_auto_augment_container = true, data = export.countries, } -- Country-like entities: typically overseas territories or de-facto independent countries, which in both cases -- are not internationally recognized as sovereign nations but which we treat similarly to countries. export.country_like_entities = { -- British Overseas Territory ["Akrotiri and Dhekelia"] = { placetype = {"overseas territory", "territory"}, container = "United Kingdom", addl_parents = {"Cyprus", "châu Âu", "châu Á"}, british_spelling = true, }, -- Åland: Listed as a region of Finland. Wikipedia lists this under "dependent territories" in -- [[w:List of sovereign states and dependent territories by continent]]. -- unincorporated territory of the United States ["American Samoa"] = { placetype = {"unincorporated territory", "overseas territory", "territory"}, container = "Hoa Kỳ", addl_parents = {"Polynesia"}, }, -- British Overseas Territory ["Anguilla"] = { placetype = {"overseas territory", "territory"}, container = "United Kingdom", addl_parents = {"Caribe"}, british_spelling = true, }, -- de-facto independent state, internationally recognized as part of Georgia ["Abkhazia"] = { placetype = {"unrecognized country", "quốc gia"}, addl_parents = {"Georgia", "châu Âu", "châu Á"}, divs = {"districts"}, keydesc = "the de-facto independent state of [[Abkhazia]], internationally recognized as part of the country of [[Georgia]]", british_spelling = true, }, -- Australian external territory ["Ashmore and Cartier Islands"] = { the = true, placetype = {"external territory", "territory"}, container = "Úc", addl_parents = {"châu Á"}, }, -- constituent country of the Netherlands ["Aruba"] = { placetype = {"constituent country", "quốc gia"}, container = "Hà Lan", addl_parents = {"Caribe"}, british_spelling = true, }, -- British Overseas Territory ["Bermuda"] = { placetype = {"overseas territory", "territory"}, container = "United Kingdom", addl_parents = {"Bắc Mỹ"}, british_spelling = true, }, -- special municipality of the Netherlands ["Bonaire"] = { placetype = {"special municipality", "municipality", "overseas territory", "territory"}, container = "Hà Lan", addl_parents = {"Caribe"}, is_city = true, british_spelling = true, }, -- British Overseas Territory ["British Indian Ocean Territory"] = { the = true, placetype = {"overseas territory", "territory"}, container = "United Kingdom", addl_parents = {"châu Á"}, british_spelling = true, }, -- British Overseas Territory ["British Virgin Islands"] = { the = true, placetype = {"overseas territory", "territory"}, container = "United Kingdom", addl_parents = {"Caribe"}, british_spelling = true, }, -- Norwegian dependent territory ["Bouvet Island"] = { placetype = {"dependent territory", "territory"}, container = "Na Uy", addl_parents = {"châu Phi"}, british_spelling = true, }, -- British Overseas Territory ["Cayman Islands"] = { the = true, placetype = {"overseas territory", "territory"}, container = "United Kingdom", addl_parents = {"Caribe"}, british_spelling = true, }, -- Australian external territory ["Christmas Island"] = { placetype = {"external territory", "territory"}, container = "Úc", addl_parents = {"châu Á"}, british_spelling = true, }, -- Sui generis French "state private property" per Wikipedia; classify as overseas territory like the -- French Southern and Antarctic Lands. ["Clipperton Island"] = { placetype = {"overseas territory", "territory"}, container = "Pháp", addl_parents = {"Bắc Mỹ"}, }, -- Australian external territory; also called the Keeling Islands or (officially) the Cocos (Keeling) Islands ["Cocos Islands"] = { the = true, placetype = {"external territory", "territory"}, container = "Úc", addl_parents = {"châu Á"}, wp = "Cocos (Keeling) Islands", british_spelling = true, }, ["Cocos (Keeling) Islands"] = {alias_of = "Cocos Islands", display = true, the = true}, ["Keeling Islands"] = {alias_of = "Cocos Islands", display = true, the = true}, -- self-governing but in free association with New Zealand ["Cook Islands"] = { the = true, placetype = {"quốc gia"}, container = "New Zealand", addl_parents = {"Polynesia"}, british_spelling = true, }, -- constituent country of the Netherlands ["Curaçao"] = { placetype = {"constituent country", "quốc gia"}, container = "Hà Lan", addl_parents = {"Caribe"}, british_spelling = true, }, -- special territory of Chile ["Easter Island"] = { placetype = {"special territory", "territory"}, container = "Chile", addl_parents = {"Polynesia"}, }, -- British Overseas Territory ["Falkland Islands"] = { the = true, placetype = {"overseas territory", "territory"}, container = "United Kingdom", addl_parents = {"Nam Mỹ"}, british_spelling = true, }, -- autonomous territory of Denmark ["Faroe Islands"] = { the = true, placetype = {"autonomous territory", "territory"}, container = "Đan Mạch", addl_parents = {"châu Âu"}, british_spelling = true, }, -- overseas department and region of France ["French Guiana"] = { placetype = {"overseas department", "department", "administrative region", "region"}, container = "Pháp", divs = {"communes"}, addl_parents = {"Nam Mỹ"}, british_spelling = true, }, -- overseas collectivity of France ["French Polynesia"] = { placetype = {"overseas collectivity", "collectivity"}, container = "Pháp", addl_parents = {"Polynesia"}, british_spelling = true, }, -- French overseas territory ["French Southern and Antarctic Lands"] = { the = true, placetype = {"overseas territory", "territory"}, container = "Pháp", addl_parents = {"châu Phi"}, }, -- British Overseas Territory ["Gibraltar"] = { placetype = {"overseas territory", "territory"}, container = "United Kingdom", addl_parents = {"châu Âu"}, is_city = true, british_spelling = true, }, -- autonomous territory of Denmark ["Greenland"] = { placetype = {"autonomous territory", "territory"}, container = "Đan Mạch", addl_parents = {"Bắc Mỹ"}, divs = {"municipalities"}, british_spelling = true, }, -- overseas department and region of France ["Guadeloupe"] = { placetype = {"overseas department", "department", "administrative region", "region"}, container = "Pháp", addl_parents = {"Caribe"}, divs = {"communes"}, british_spelling = true, }, -- unincorporated territory of the United States ["Guam"] = { placetype = {"unincorporated territory", "overseas territory", "territory"}, container = "Hoa Kỳ", addl_parents = {"Micronesia"}, }, -- self-governing British Crown dependency; technically called the Bailiwick of Guernsey ["Guernsey"] = { placetype = {"crown dependency", "dependency", "dependent territory", "bailiwick", "territory"}, container = "United Kingdom", addl_parents = {"British Isles", "châu Âu"}, british_spelling = true, wp = "Bailiwick of %l", }, ["Bailiwick of Guernsey"] = {alias_of = "Guernsey"}, -- Australian external territory ["Heard Island and McDonald Islands"] = { the = true, placetype = {"external territory", "territory"}, container = "Úc", addl_parents = {"châu Phi"}, }, -- special administrative region of China ["Hồng Kông"] = { placetype = {"special administrative region", "thành phố"}, container = "Trung Quốc", is_city = true, british_spelling = true, }, -- self-governing British Crown dependency ["Isle of Man"] = { the = true, placetype = {"crown dependency", "dependency", "dependent territory", "territory"}, container = "United Kingdom", addl_parents = {"British Isles", "châu Âu"}, british_spelling = true, }, -- Norwegian unincorporated area ["Jan Mayen"] = { placetype = {"unincorporated area", "dependent territory", "territory", "island"}, container = "Na Uy", addl_parents = {"châu Âu"}, british_spelling = true, }, -- self-governing British Crown dependency; technically called the Bailiwick of Jersey ["Jersey"] = { placetype = {"crown dependency", "dependency", "dependent territory", "bailiwick", "territory"}, container = "United Kingdom", addl_parents = {"British Isles", "châu Âu"}, british_spelling = true, }, ["Bailiwick of Jersey"] = {alias_of = "Jersey"}, -- special administrative region of China ["Ma Cao"] = { placetype = {"special administrative region", "thành phố"}, container = "Trung Quốc", is_city = true, british_spelling = true, }, -- overseas department and region of France ["Martinique"] = { placetype = {"overseas department", "department", "administrative region", "region"}, container = "Pháp", divs = {"communes"}, addl_parents = {"Caribe"}, british_spelling = true, }, -- overseas department and region of France ["Mayotte"] = { placetype = {"overseas department", "department", "administrative region", "region"}, container = "Pháp", divs = {"communes"}, addl_parents = {"châu Phi"}, british_spelling = true, }, -- British Overseas Territory ["Montserrat"] = { placetype = {"overseas territory", "territory"}, container = "United Kingdom", addl_parents = {"Caribe"}, british_spelling = true, }, -- special collectivity of France ["New Caledonia"] = { placetype = {"special collectivity", "collectivity"}, container = "Pháp", addl_parents = {"Melanesia"}, british_spelling = true, }, -- dependent territory of New Zealand ["New Zealand Subantarctic Islands"] = { the = true, placetype = {"dependent territory", "territory"}, container = "New Zealand", addl_parents = {"Antarctica"}, british_spelling = true, }, -- self-governing but in free association with New Zealand ["Niue"] = { placetype = {"quốc gia"}, container = "New Zealand", addl_parents = {"Polynesia"}, british_spelling = true, }, -- Australian external territory ["Norfolk Island"] = { placetype = {"external territory", "territory"}, container = "Úc", addl_parents = {"Polynesia"}, british_spelling = true, }, -- de-facto independent state, internationally recognized as part of Cyprus ["Northern Cyprus"] = { placetype = {"unrecognized country", "quốc gia"}, addl_parents = {"Cyprus", "Thổ Nhĩ Kỳ", "châu Âu", "châu Á"}, divs = {"districts"}, keydesc = "the de-facto independent state of [[Northern Cyprus]], internationally recognized as part of the country of [[Cyprus]]", british_spelling = true, }, -- commonwealth, unincorporated territory of the United States ["Northern Mariana Islands"] = { the = true, placetype = {"commonwealth", "unincorporated territory", "overseas territory", "territory"}, container = "Hoa Kỳ", addl_parents = {"Micronesia"}, }, -- British Overseas Territory ["Pitcairn Islands"] = { the = true, placetype = {"overseas territory", "territory"}, container = "United Kingdom", addl_parents = {"Polynesia"}, british_spelling = true, }, -- commonwealth of the United States ["Puerto Rico"] = { placetype = {"commonwealth", "overseas territory", "territory"}, container = "Hoa Kỳ", addl_parents = {"Caribe"}, divs = {"municipalities"}, }, -- overseas department and region of France ["Réunion"] = { placetype = {"overseas department", "department", "administrative region", "region"}, container = "Pháp", divs = {"communes"}, addl_parents = {"châu Phi"}, british_spelling = true, }, -- special municipality of the Netherlands ["Saba"] = { placetype = {"special municipality", "municipality", "overseas territory", "territory"}, container = "Hà Lan", addl_parents = {"Caribe"}, is_city = true, british_spelling = true, }, -- overseas collectivity of France ["Saint Barthélemy"] = { placetype = {"overseas collectivity", "collectivity"}, container = "Pháp", addl_parents = {"Caribe"}, british_spelling = true, }, -- British Overseas Territory ["Saint Helena, Ascension and Tristan da Cunha"] = { placetype = {"overseas territory", "territory"}, container = "United Kingdom", divs = {{type = "constituent parts", container_parent_type = false}}, addl_parents = {"Atlantic Ocean", "châu Phi"}, british_spelling = true, }, -- constituent parts of the combined oveseas territory ["Ascension Island"] = { placetype = {"constituent part", "territory", "island"}, container = {key = "Saint Helena, Ascension and Tristan da Cunha", placetype = "overseas territory"}, addl_parents = {"Atlantic Ocean"}, overriding_bare_label_parents = {}, no_container_cat = false, no_container_parent = false, no_auto_augment_container = false, }, ["Saint Helena"] = { placetype = {"constituent part", "territory", "island"}, container = {key = "Saint Helena, Ascension and Tristan da Cunha", placetype = "overseas territory"}, addl_parents = {"Atlantic Ocean"}, overriding_bare_label_parents = {}, no_container_cat = false, no_container_parent = false, no_auto_augment_container = false, }, ["Tristan da Cunha"] = { placetype = {"constituent part", "territory", "archipelago"}, container = {key = "Saint Helena, Ascension and Tristan da Cunha", placetype = "overseas territory"}, addl_parents = {"Atlantic Ocean"}, overriding_bare_label_parents = {}, no_container_cat = false, no_container_parent = false, no_auto_augment_container = false, }, -- overseas collectivity of France ["Saint Martin"] = { placetype = {"overseas collectivity", "collectivity"}, container = "Pháp", addl_parents = {"Caribe"}, british_spelling = true, }, -- overseas collectivity of France ["Saint Pierre and Miquelon"] = { placetype = {"overseas collectivity", "collectivity"}, container = "Pháp", divs = {"communes"}, addl_parents = {"Bắc Mỹ"}, british_spelling = true, }, -- special municipality of the Netherlands ["Sint Eustatius"] = { placetype = {"special municipality", "municipality", "overseas territory", "territory"}, container = "Hà Lan", addl_parents = {"Caribe"}, is_city = true, british_spelling = true, }, -- constituent country of the Netherlands ["Sint Maarten"] = { placetype = {"constituent country", "quốc gia"}, container = "Hà Lan", addl_parents = {"Caribe"}, british_spelling = true, }, -- de-facto independent state, internationally recognized as part of Somalia ["Somaliland"] = { placetype = {"unrecognized country", "quốc gia"}, addl_parents = {"Somalia", "châu Phi"}, keydesc = "the de-facto independent state of [[Somaliland]], internationally recognized as part of the country of [[Somalia]]", british_spelling = true, }, -- British Overseas Territory -- FIXME: We should form the group "South Georgia and the South Sandwich Islands" like we did for -- "Saint Helena, Ascension and Tristan da Cunha". ["South Georgia"] = { placetype = {"overseas territory", "territory"}, container = "United Kingdom", addl_parents = {"Atlantic Ocean"}, british_spelling = true, }, -- de-facto independent state, internationally recognized as part of Georgia ["South Ossetia"] = { placetype = {"unrecognized country", "quốc gia"}, addl_parents = {"Georgia", "châu Âu", "châu Á"}, keydesc = "the de-facto independent state of [[South Ossetia]], internationally recognized as part of the country of [[Georgia]]", british_spelling = true, }, -- British Overseas Territory ["South Sandwich Islands"] = { the = true, placetype = {"overseas territory", "territory"}, container = "United Kingdom", addl_parents = {"Atlantic Ocean"}, wp = true, wpcat = "South Georgia and the South Sandwich Islands", british_spelling = true, }, -- Norwegian unincorporated area ["Svalbard"] = { placetype = {"unincorporated area", "dependent territory", "territory", "archipelago"}, container = "Na Uy", addl_parents = {"châu Âu"}, british_spelling = true, }, -- dependent territory of New Zealand ["Tokelau"] = { placetype = {"dependent territory", "territory"}, container = "New Zealand", addl_parents = {"Polynesia"}, british_spelling = true, }, -- de-facto independent state, internationally recognized as part of Moldova ["Transnistria"] = { placetype = {"unrecognized country", "quốc gia"}, addl_parents = {"Moldova", "châu Âu"}, keydesc = "the de-facto independent state of [[Transnistria]], internationally recognized as part of [[Moldova]]", british_spelling = true, }, -- British Overseas Territory ["Turks and Caicos Islands"] = { the = true, placetype = {"overseas territory", "territory"}, container = "United Kingdom", addl_parents = {"Caribe"}, british_spelling = true, }, -- unincorporated territory of the United States ["United States Minor Outlying Islands"] = { the = true, placetype = {"unincorporated territory", "overseas territory", "territory"}, container = "Hoa Kỳ", addl_parents = {"Islands", "Micronesia", "Polynesia", "Caribe"}, }, -- FIXME: We should add entries for the other minor outlying islands. -- Baker Island (Oceania) -- Howland Island (Oceania) -- Jarvis Island (Oceania) -- Johnston Atoll (Oceania) -- Kingman Reef (Oceania) -- Midway Atoll (Oceania) -- Navassa Island (Caribbean) -- Palmyra Atoll (Oceania) -- Wake Island (Oceania) ["Wake Island"] = { placetype = {"unincorporated territory", "overseas territory", "territory"}, container = "Hoa Kỳ", addl_parents = {"Micronesia"}, }, -- unincorporated territory of the United States ["United States Virgin Islands"] = { the = true, placetype = {"unincorporated territory", "overseas territory", "territory"}, container = "Hoa Kỳ", addl_parents = {"Caribe"}, }, ["U.S. Virgin Islands"] = {alias_of = "United States Virgin Islands", display = true, the = true}, ["US Virgin Islands"] = {alias_of = "United States Virgin Islands", display = true, the = true}, -- overseas collectivity of France ["Wallis and Futuna"] = { placetype = {"overseas collectivity", "collectivity"}, container = "Pháp", addl_parents = {"Polynesia"}, british_spelling = true, }, } export.country_like_entities_group = { -- don't do any transformations between key and placename; in particular, don't chop off anything from -- "Saint Helena, Ascension and Tristan da Cunha". key_to_placename = false, placename_to_key = false, canonicalize_key_container = make_canonicalize_key_container(nil, "quốc gia"), default_overriding_bare_label_parents = {"country-like entities"}, default_no_container_cat = true, default_no_container_parent = true, -- These entities often aren't really part of their container; a village in Wallis and Futuna (an overseas -- collectivity of France in Polynesia), for example, shouldn't be treated as a village in France, nor as a village -- in Europe. default_no_auto_augment_container = true, data = export.country_like_entities, } -- Former countries and such; we don't create "Cities in ..." categories because they don't exist anymore export.former_countries = { -- de-facto independent state of Armenian ethnicity, internationally recognized as part of Azerbaijan -- (also known as Nagorno-Karabakh) -- NOTE: Formerly listed Armenia as a parent; this seems politically non-neutral so I've taken it out. ["Artsakh"] = { placetype = {"unrecognized country", "quốc gia"}, addl_parents = {"Azerbaijan", "châu Âu", "châu Á"}, keydesc = "the former de-facto independent state of [[Artsakh]], internationally recognized as part of [[Azerbaijan]]", british_spelling = true, }, ["Nagorno-Karabakh"] = {alias_of = "Artsakh"}, ["Czechoslovakia"] = {container = "châu Âu", british_spelling = true}, ["East Germany"] = {container = "châu Âu", addl_parents = {"Đức"}, british_spelling = true}, ["North Vietnam"] = {container = "châu Á", addl_parents = {"Vietnam"}}, ["Persia"] = {placetype = {"empire", "quốc gia"}, container = "châu Á", divs = {"provinces"}}, ["Byzantine Empire"] = { the = true, placetype = {"empire", "quốc gia"}, container = {"châu Âu", "châu Phi", "châu Á"}, addl_parents = {"Ancient Europe", "Ancient Near East"}, divs = { "provinces", "themes", }}, ["Roman Empire"] = { the = true, placetype = {"empire", "quốc gia"}, container = {"châu Âu", "châu Phi", "châu Á"}, addl_parents = {"Rome"}, divs = { "provinces", {type = "FORMER provinces", cat_as = "provinces"}, }}, ["Việt Nam Cộng hòa"] = {container = "châu Á", commonscat = "South Vietnam", addl_parents = {"Việt Nam"}}, ["Soviet Union"] = { the = true, container = {"châu Âu", "châu Á"}, divs = {"republics", "autonomous republics"}, british_spelling = true}, ["West Germany"] = {container = "châu Âu", addl_parents = {"Đức"}, british_spelling = true}, ["Yugoslavia"] = {container = "châu Âu", divs = {"districts"}, keydesc = "the former [[Kingdom of Yugoslavia]] (1918–1943) or the former [[Socialist Federal Republic of Yugoslavia]] (1943–1992)", british_spelling = true}, } export.former_countries_group = { canonicalize_key_container = canonicalize_continent_container, default_overriding_bare_label_parents = {"former countries and country-like entities"}, default_is_former_place = true, default_placetype = "quốc gia", default_no_container_cat = true, default_no_container_parent = true, -- No need to augment country holonyms with continents; not needed for disambiguation. default_no_auto_augment_container = true, data = export.former_countries, } ----------------------------------------------------------------------------------- -- Subpolity tables -- ----------------------------------------------------------------------------------- export.australia_states_and_territories = { ["Lãnh thổ Thủ đô Úc, Úc"] = {placetype = "territory"}, ["Jervis Bay Territory, Úc"] = {placetype = "territory"}, ["New South Wales, Úc"] = {}, ["Northern Territory, Úc"] = {placetype = "territory"}, ["Queensland, Úc"] = {}, ["South Australia, Úc"] = {}, ["Tasmania, Úc"] = {}, ["Victoria, Úc"] = {}, ["Western Australia, Úc"] = {}, } -- states and territories of Australia export.australia_group = { default_container = "Úc", default_placetype = "state", default_divs = "local government areas", data = export.australia_states_and_territories, } export.austria_states = { ["Vienna, Austria"] = {}, ["Lower Austria, Austria"] = {}, ["Upper Austria, Austria"] = {}, ["Styria, Austria"] = {}, ["Tyrol, Austria"] = {wp = "Tyrol (state)"}, ["Carinthia, Austria"] = {}, ["Salzburg, Austria"] = {wp = "Salzburg (state)"}, ["Vorarlberg, Austria"] = {}, ["Burgenland, Austria"] = {}, } -- states of Austria export.austria_group = { default_container = "Áo", default_placetype = "state", default_divs = "municipalities", data = export.austria_states, } export.bangladesh_divisions = { ["Barisal Division, Bangladesh"] = {}, ["Chittagong Division, Bangladesh"] = {}, ["Dhaka Division, Bangladesh"] = {}, ["Khulna Division, Bangladesh"] = {}, ["Mymensingh Division, Bangladesh"] = {}, ["Rajshahi Division, Bangladesh"] = {}, ["Rangpur Division, Bangladesh"] = {}, ["Sylhet Division, Bangladesh"] = {}, } -- divisions of Bangladesh export.bangladesh_group = { key_to_placename = make_key_to_placename(", Bangladesh$", " Division$"), placename_to_key = make_placename_to_key(", Bangladesh", " Division"), default_container = "Bangladesh", default_placetype = "division", default_divs = "districts", data = export.bangladesh_divisions, } export.brazil_states = { ["Acre, Brazil"] = {wp = "%l (state)"}, ["Alagoas, Brazil"] = {}, ["Amapá, Brazil"] = {}, ["Amazonas, Brazil"] = {wp = "%l (Brazilian state)"}, ["Bahia, Brazil"] = {}, ["Ceará, Brazil"] = {}, ["Distrito Federal, Brazil"] = {wp = "Federal District (Brazil)"}, ["Espírito Santo, Brazil"] = {}, ["Goiás, Brazil"] = {}, ["Maranhão, Brazil"] = {}, ["Mato Grosso, Brazil"] = {}, ["Mato Grosso do Sul, Brazil"] = {}, ["Minas Gerais, Brazil"] = {}, ["Pará, Brazil"] = {}, ["Paraíba, Brazil"] = {}, ["Paraná, Brazil"] = {wp = "%l (state)"}, ["Pernambuco, Brazil"] = {}, ["Piauí, Brazil"] = {}, ["Rio de Janeiro, Brazil"] = {wp = "%l (state)"}, ["Rio Grande do Norte, Brazil"] = {}, ["Rio Grande do Sul, Brazil"] = {}, ["Rondônia, Brazil"] = {}, ["Roraima, Brazil"] = {}, ["Santa Catarina, Brazil"] = {wp = "%l (state)"}, ["São Paulo, Brazil"] = {wp = "%l (state)"}, ["Sergipe, Brazil"] = {}, ["Tocantins, Brazil"] = {}, } -- states of Brazil export.brazil_group = { default_container = "Brazil", default_placetype = "state", default_divs = "municipalities", data = export.brazil_states, } -- provinces (a.k.a. oblasts) of Bulgaria export.bulgaria_provinces = { ["Blagoevgrad Province, Bulgaria"] = {}, ["Burgas Province, Bulgaria"] = {}, ["Dobrich Province, Bulgaria"] = {}, ["Gabrovo Province, Bulgaria"] = {}, ["Haskovo Province, Bulgaria"] = {}, ["Kardzhali Province, Bulgaria"] = {}, ["Kyustendil Province, Bulgaria"] = {}, ["Lovech Province, Bulgaria"] = {}, ["Montana Province, Bulgaria"] = {}, ["Pazardzhik Province, Bulgaria"] = {}, ["Pernik Province, Bulgaria"] = {}, ["Pleven Province, Bulgaria"] = {}, ["Plovdiv Province, Bulgaria"] = {}, ["Razgrad Province, Bulgaria"] = {}, ["Ruse Province, Bulgaria"] = {}, ["Shumen Province, Bulgaria"] = {}, ["Silistra Province, Bulgaria"] = {}, ["Sliven Province, Bulgaria"] = {}, ["Smolyan Province, Bulgaria"] = {}, ["Sofia City Province, Bulgaria"] = {}, ["Sofia Province, Bulgaria"] = {}, ["Stara Zagora Province, Bulgaria"] = {}, ["Targovishte Province, Bulgaria"] = {}, ["Varna Province, Bulgaria"] = {}, ["Veliko Tarnovo Province, Bulgaria"] = {}, ["Vidin Province, Bulgaria"] = {}, ["Vratsa Province, Bulgaria"] = {}, ["Yambol Province, Bulgaria"] = {}, } export.bulgaria_group = { key_to_placename = make_key_to_placename(", Bulgaria$", " Province$"), placename_to_key = make_placename_to_key(", Bulgaria", " Province"), default_container = "Bulgaria", --== source: https://en.wikipedia.org/wiki/NUTS_statistical_regions_of_Bulgaria == divs = {"regions", "planning regions", "provinces", "municipalities", "settlements"}, default_placetype = "province", data = export.bulgaria_provinces, } export.canada_provinces_and_territories = { ["Alberta, Canada"] = {divs = { {type = "municipal districts", container_parent_type = "rural municipalities"}, }}, ["British Columbia, Canada"] = {divs = {type = "regional districts", container_parent_type = false}, "regional municipalities", }, ["Manitoba, Canada"] = {divs = {"rural municipalities"}}, ["New Brunswick, Canada"] = {divs = {"counties", "parishes", {type = "civil parishes", cat_as = "parishes"}}}, ["Newfoundland and Labrador, Canada"] = {}, ["Northwest Territories, Canada"] = {the = true, placetype = "territory"}, ["Nova Scotia, Canada"] = {divs = {"counties", "regional municipalities"}}, ["Nunavut, Canada"] = {placetype = "territory"}, ["Ontario, Canada"] = {divs = {"counties", "regional municipalities", {type = "townships", prep = "in"}}}, ["Prince Edward Island, Canada"] = {divs = {"counties", "parishes", "rural municipalities"}}, ["Saskatchewan, Canada"] = {divs = {"rural municipalities"}}, ["Quebec, Canada"] = {divs = { "counties", {type = "regional county municipalities", container_parent_type = "regional municipalities"}, -- administrative regions have an official (but non-governmental) function but there don't appear to be any -- equivalent regions elsewhere in Canada, so disable the [[Category:Regions of Canada]] grouping {type = "regions", container_parent_type = false}, {type = "townships", prep = "in"}, {type = "parish municipalities", cat_as = {{type = "parishes", container_parent_type = "counties"}, "municipalities"}}, {type = "township municipalities", cat_as = {{type = "townships", prep = "in"}, "municipalities"}}, {type = "village municipalities", cat_as = {{type = "villages", prep = "in"}, "municipalities"}}, }}, ["Yukon, Canada"] = {placetype = "territory"}, ["Yukon Territory, Canada"] = {alias_of = "Yukon, Canada"}, } -- provinces and territories of Canada export.canada_group = { default_container = "Canada", default_placetype = "province", data = export.canada_provinces_and_territories, } export.china_provinces_and_autonomous_regions = { -- direct-administered municipalities are not here but below under prefecture-level cities ["Anhui, China"] = {}, ["Fujian, China"] = {}, ["Fuchien, China"] = {alias_of = "Fujian, China", display = true}, ["Gansu, China"] = {}, ["Guangdong, China"] = {}, ["Guangxi, China"] = {placetype = "autonomous region"}, ["Guizhou, China"] = {}, ["Hainan, China"] = {}, ["Hebei, China"] = {}, ["Heilongjiang, China"] = {}, ["Henan, China"] = {}, ["Hubei, China"] = {}, ["Hunan, China"] = {}, ["Inner Mongolia, China"] = {placetype = "autonomous region"}, ["Jiangsu, China"] = {}, ["Jiangxi, China"] = {}, ["Jilin, China"] = {}, ["Liaoning, China"] = {}, ["Ningxia, China"] = {placetype = "autonomous region"}, ["Qinghai, China"] = {}, ["Shaanxi, China"] = {}, ["Shandong, China"] = {}, ["Shanxi, China"] = {}, ["Sichuan, China"] = {}, ["Tibet, China"] = {placetype = "autonomous region", wp = "Tibet Autonomous Region"}, ["Xinjiang, China"] = {placetype = "autonomous region"}, ["Yunnan, China"] = {}, ["Zhejiang, China"] = {}, } -- provinces and autonomous regions of China export.china_group = { default_container = "Trung Quốc", default_placetype = "province", default_divs = { "prefectures", "prefecture-level cities", "districts", "subdistricts", "townships", {type = "counties", cat_as = "counties and county-level cities"}, {type = "county-level cities", cat_as = "counties and county-level cities"}, }, data = export.china_provinces_and_autonomous_regions, } export.china_prefecture_level_cities = { -- In China, a "prefecture-level city" is not a city in any real sense. It is rather a prefecture, which is an -- administrative unit smaller than a province but bigger than a county, which is administratively controlled by -- the chief city of the prefecture (which bears the same name as the prefecture), in a unified government. Prior -- to the mid-1980's, in fact, prefecture-level cities *were* prefectures, and a few of them (especially in the -- western portion of China) have not yet been converted. Generally a given province is entirely tiled by -- prefecture-level cities, another indication that they should be treated as prefectures and not cities per se. -- Yet another indication is that prefecture-level cities can contain counties and county-level cities (which, much -- like prefecture-level cities, are effectively counties surrounding a chief city of the county, again which bears -- the same name as the county-level city). -- -- For this reason, we treat prefecture-level cities as non-city political divisions, and separately enumerate the -- most populous so we can separately categorize districts and counties under them instead of lumping them at the -- province level. -- -- Note also that China separately distinguishes "urban area" from "metro area". Sometimes the two figures are -- identical but sometimes the metro area is larger (and very occasionally smaller, which I assume is an error). I'm -- guessing that the "urban area" is the contiguous urban area over a certain density while the metro area includes -- all urban areas above a certain density; when the latter is greater, it's because of satellite cities in the -- metro area separated by suburban/exurban or rural land. -- At first I chose all prefecture/province-level cities with a total prefecture/province-level population of at -- least 6,000,000 per the 2020 census with data taken from https://www.citypopulation.de/en/china/admin/ (a total -- of 67, including the four direct-administered municipalities), and also chose all prefecture/province-level -- cities whose "urban population" was at least 2,000,000 per the 2020 census with data taken from Wikipedia -- [[w:List of cities in China by population#Cities and towns by population]] (a total of 61 cities; if we cut off -- at 1.5 million we'd have 84 cities, and if we cut off at 1 million we'd have 105 cities). Merging them produces -- 87 cities. Note that this leaves off a few well-known cities (Guilin, Qiqihar, Kashgar, Lhasa, ...) but includes -- a lot of obscure cities. -- -- At a later date I added all cities from citypopulation.de whose "urban" population per the 2020 China census was -- >= 1 million, and then finally added all urban agglomerations from citypopulation.de whose 2025-01-01 estimate -- was >= 1 million. These are sorted below by the urban agglomeration value (which is generally of the "adm-urb" = -- "administrative area (urban population)" type) and sometimes groups nearby cities into a single agglomeration -- (most notably in the case of the Pearl River Delta, grouped under Guangzhou with an agglomeration population of -- 72,700,000 but including a large number of nearby large cities in the agglomeration (although for some reason not -- Hong Kong, maybe due to the administrative issues involved). In addition, citypopulation.de includes divisions -- under a prefecture-level city if they are city-like and have an agglomeration population of at least 1 million; -- this includes several county-level cities, one county and one district (Wanzhou, a "district" of Chongqing -- despite being 142 miles away). None of the county-level cities or counties have districts under them, only -- subdistricts, towns and townships. ["Guangzhou"] = {container = "Guangdong"}, -- 18.7 prefectural, 18.8 urban; sub-provincial city; 16.097 urban (72.700 adm-urb including Dongguan, Foshan, Huizhou, Jiangmen, Shenzhen, Zhongshan) per citypopulation.de ["Dongguan"] = {container = "Guangdong"}, -- 10.5 prefectural, 10.5 urban; 9.645 per citypopulation.de; included by citypopulation.de in Guangzhou agglomeration ["Foshan"] = {container = "Guangdong"}, -- 9.5 prefectural, 9.5 urban; 9.043 per citypopulation.de; included by citypopulation.de in Guangzhou agglomeration ["Huizhou"] = {container = "Guangdong"}, -- 6.0 prefectural, 2.5 urban; 2.900 per citypopulation.de; included by citypopulation.de in Guangzhou agglomeration ["Jiangmen"] = {container = "Guangdong"}, -- 4.798 prefectural, 2.7 urban; 1.795 per citypopulation.de; included by citypopulation.de in Guangzhou agglomeration ["Shenzhen"] = {container = "Guangdong"}, -- 17.5 prefectural, 14.7 urban; sub-provincial city; 17.445 per citypopulation.de; included by citypopulation.de in Guangzhou agglomeration ["Zhongshan"] = {container = "Guangdong"}, -- 4.418 prefectural, 4.4 urban; 3.842 per citypopulation.de; included by citypopulation.de in Guangzhou agglomeration ["Shanghai"] = {placetype = {"direct-administered municipality", "municipality", "thành phố"}}, -- 24.9 prefectural, 29.9 urban; 21.910 urban (41.600 adm-urb including Changshu, Changzhou, Suzhou, Wuxi) per citypopulation.de ["Changshu"] = {container = "Jiangsu"}, -- 1.231 urban per citypopulation.de; included by citypopulation.de in Shanghai agglomeration -- NOTE: Not to be confused with Cangzhou in Hebei ["Changzhou"] = {container = "Jiangsu"}, -- 5.278 prefectural, 3.6 urban; 3.187 urban per citypopulation.de; included by citypopulation.de in Shanghai agglomeration -- NOTE: There is also a prefecture-level city Suzhou in Anhui with 5.3 million prefectural inhabitants ["Suzhou"] = {container = "Jiangsu"}, -- 12.8 prefectural, 4.3 urban; 5.893 urban per citypopulation.de; included by citypopulation.de in Shanghai agglomeration ["Wuxi"] = {container = "Jiangsu"}, -- 7.5 prefectural, 3.3 urban; 3.957 per citypopulation.de; included by citypopulation.de in Shanghai agglomeration ["Beijing"] = {placetype = {"direct-administered municipality", "municipality", "thành phố"}}, -- 21.9 prefectural, 21.9 urban; 18.961 urban (21.500 adm-urb) per citypopulation.de ["Chengdu"] = {container = "Sichuan"}, -- 20.9 prefectural, 16.9 urban; sub-provincial city; 13.568 urban (18.100 adm-urb) per citypopulation.de ["Xiamen"] = {container = "Fujian"}, -- 5.163 prefectural, 5.2 urban; sub-provincial city; 4.617 urban (15.400 adm-urb including Jinjiang, Quanzhou, Putian) per citypopulation.de ["Jinjiang"] = {container = "Fujian"}, -- 1.416 urban per citypopulation.de; included by citypopulation.de in Xiamen agglomeration ["Quanzhou"] = {container = "Fujian"}, -- 8.8 prefectural, 1.7 urban (6.7 metro); 1.469 urban per citypopulation.de; included by citypopulation.de in Xiamen agglomeration ["Putian"] = {container = "Fujian"}, -- 3.210 prefectural, 2.0 urban; 1.539 urban per citypopulation.de; included by citypopulation.de in Xiamen agglomeration ["Hangzhou"] = {container = "Zhejiang"}, -- 11.9 prefectural, 10.7 urban; sub-provincial city; 9.236 urban (14.600 adm-urb including Shaoxing) per citypopulation.de ["Shaoxing"] = {container = "Zhejiang"}, -- 5.270 prefectural, 2.5 urban; 2.333 urban per citypopulation.de; included by citypopulation.de in Hangzhou agglomeration ["Xi'an"] = {container = "Shaanxi"}, -- 12.1 prefectural, 11.9 urban; sub-provincial city; 9.393 urban (13.400 adm-urb including Xianyang) per citypopulation.de ["Xianyang"] = {container = "Shaanxi"}, -- 1.193 urban per citypopulation.de; included by citypopulation.de in Xi'an agglomeration ["Chongqing"] = {placetype = {"direct-administered municipality", "municipality", "thành phố"}}, -- 32.1 prefectural, 16.9 urban; 9.581 urban (12.900 adm-urb) per citypopulation.de ["Wuhan"] = {container = "Hubei"}, -- 12.4 prefectural, 12.3 urban; sub-provincial city; 10.495 urban (12.600 adm-urb) per citypopulation.de ["Tianjin"] = {placetype = {"direct-administered municipality", "municipality", "thành phố"}}, -- 13.9 prefectural, 13.9 urban; 11.052 urban (11.700 adm-urb) per citypopulation.de ["Changsha"] = {container = "Hunan"}, -- 10.0 prefectural, 6.0 urban; 5.630 urban (11.500 adm-urb including Xiangtan, Zhuzhou) per citypopulation.de -- Changsha County -- 1.024 urban per citypopulation.de ["Zhuzhou"] = {container = "Hunan"}, -- 1.510 urban per citypopulation.de; included by citypopulation.de in Changsha agglomeration ["Zhengzhou"] = {container = "Henan"}, -- 12.6 prefectural, 6.7 urban; 6.461 urban (10.300 adm-urb) per citypopulation.de ["Nanjing"] = {container = "Jiangsu"}, -- 9.3 prefectural, 9.3 urban; sub-provincial city; 7.520 urban (9.500 adm-urb including Ma'anshan) per citypopulation.de ["Shenyang"] = {container = "Liaoning"}, -- 9.1 prefectural, 7.9 urban; sub-provincial city; 7.026 urban (8.800 adm-urb including Fushun) per citypopulation.de ["Fushun"] = {container = "Liaoning"}, -- 1.229 urban per citypopulation.de; included by citypopulation.de in Shenyang agglomeration ["Hefei"] = {container = "Anhui"}, -- 9.4 prefectural, 4.2 urban; 5.056 urban (8.200 adm-urb) per citypopulation.de ["Shantou"] = {container = "Guangdong"}, -- 5.502 prefectural, 4.3 urban; 3.839 urban (8.050 adm-urb including Chaozhou, Jieyang, Puning) per citypopulation.de ["Chaozhou"] = {container = "Guangdong"}, -- 1.254 urban per citypopulation.de; included by citypopulation.de in Shantou agglomeration ["Jieyang"] = {container = "Guangdong"}, -- 1.243 urban per citypopulation.de; included by citypopulation.de in Shantou agglomeration ["Qingdao"] = {container = "Shandong"}, -- 10.1 prefectural, 7.1 urban; sub-provincial city; 6.165 urban (7.700 adm-urb) per citypopulation.de ["Ningbo"] = {container = "Zhejiang"}, -- 9.4 prefectural, 5.1 urban; sub-provincial city; 3.731 urban (7.600 adm-urb including Cixi, Yuyao) per citypopulation.de ["Cixi"] = {container = "Zhejiang"}, -- 1.458 urban per citypopulation.de; included by citypopulation.de in Ningbo agglomeration ["Yuyao"] = {container = "Zhejiang"}, -- 1.014 urban per citypopulation.de; included by citypopulation.de in Ningbo agglomeration -- Hong Kong 7.500 agglomeration per citypopulation.de 2025-01-01 estimate including Kowloon, Victoria ["Wenzhou"] = {container = "Zhejiang"}, -- 9.6 prefectural, 3.6 urban; 2.582 urban (7.000 adm-urb including Rui'an, Cangnan, Pingyang) per citypopulation.de -- Rui'an is a "county-level city" of the "prefecture-level city" of Wenzhou but in fact is 19 miles away from Wenzhou city proper (urban core to urban core). ["Rui'an"] = {placetype = "county-level city", container = {key = "Wenzhou", placetype = "prefecture-level city"}, divs = {"subdistricts", "townships"}}, -- 1.013 urban per citypopulation.de; included by citypopulation.de in Wenzhou agglomeration ["Kunming"] = {container = "Yunnan"}, -- 8.5 prefectural, 6.0 urban; 5.273 urban (6.800 adm-urb) per citypopulation.de -- includes Láiwú city ["Jinan"] = {container = "Shandong", wp = "%l, %c"}, -- 9.2 prefectural, 8.4 urban; sub-provincial city; 5.648 urban (6.750 adm-urb) per citypopulation.de -- includes Xīnjí city ["Shijiazhuang"] = {container = "Hebei"}, -- 11.2 prefectural, 4.1 urban; 5.090 urban (6.450 adm-urb) per citypopulation.de ["Taiyuan"] = {container = "Shanxi"}, -- 5.304 prefectural, 4.5 urban; 4.304 urban (6.150 adm-urb) per citypopulation.de ["Harbin"] = {container = "Heilongjiang"}, -- 10.0 prefectural, 7.0 urban; sub-provincial city; 5.243 urban (5.550 adm-urb) per citypopulation.de ["Nanning"] = {container = {key = "Guangxi, China", placetype = "autonomous region"}}, -- 8.7 prefectural, 3.8 urban; 4.583 urban (5.550 adm-urb) per citypopulation.de ["Dalian"] = {container = "Liaoning"}, -- 7.5 prefectural, 5.7 urban; sub-provincial city; 4.914 urban (5.400 adm-urb) per citypopulation.de ["Guiyang"] = {container = "Guizhou"}, -- 5.987 prefectural, 3.5 urban; 4.021 urban (5.300 adm-urb) per citypopulation.de ["Changchun"] = {container = "Jilin"}, -- 9.1 prefectural, 5.7 urban; sub-provincial city; 4.557 urban (5.200 adm-urb) per citypopulation.de ["Nanchang"] = {container = "Jiangxi"}, -- 6.3 prefectural, 3.6 (3.9?) urban, 5.3 metro; 3.519 urban (5.150 adm-urb) per citypopulation.de ["Ürümqi"] = {container = {key = "Xinjiang, China", placetype = "autonomous region"}}, -- 4.054 prefectural, 4.3 urban; 3.843 urban (5.000 adm-urb) per citypopulation.de ["Urumqi"] = {alias_of = "Ürümqi", display = true}, ["Fuzhou"] = {container = "Fujian"}, -- 8.3 prefectural, 4.1 urban; 3.723 urban (4.775 adm-urb) per citypopulation.de ["Linyi"] = {container = "Shandong"}, -- 11.0 prefectural, 2.3 urban; 2.744 urban (4.650 adm-urb) per citypopulation.de ["Zibo"] = {container = "Shandong"}, -- 4.704 prefectural, 2.6 urban; 2.750 urban (3.975 adm-urb) per citypopulation.de ["Luoyang"] = {container = "Henan"}, -- 7.1 prefectural, 2.4 urban; 2.231 urban (3.750 adm-urb) per citypopulation.de ["Lanzhou"] = {container = "Gansu"}, -- 4.359 prefectural, 3.1 urban; 3.013 urban (3.575 adm-urb) per citypopulation.de ["Nantong"] = {container = "Jiangsu"}, -- 7.7 prefectural, 2.3 urban; 2.988 urban (3.475 adm-urb) citypopulation.de ["Weifang"] = {container = "Shandong"}, -- 9.4 prefectural, 2.7 urban; 1.998 urban (3.325 adm-urb) per citypopulation.de ["Jiangyin"] = {container = "Jiangsu"}, -- 1.331 urban (3.200 adm-urb including Zhangjiagang) per citypopulation.de ["Zhangjiagang"] = {container = "Jiangsu"}, -- 1.056 urban per citypopulation.de; included in Jiangyin figures ["Xuzhou"] = {container = "Jiangsu"}, -- 9.1 prefectural, 2.6 urban; 2.846 urban (3.150 adm-urb) per citypopulation.de ["Handan"] = {container = "Hebei"}, -- 9.4 prefectural, 2.8 urban; 2.095 urban (2.925 adm-urb) per citypopulation.de ["Hohhot"] = {container = {key = "Inner Mongolia, China", placetype = "autonomous region"}}, -- 3.446 prefectural, 2.7 urban; 2.373 urban (2.850 adm-urb) per citypopulation.de ["Haikou"] = {container = "Hainan"}, -- 2.873 prefectural, 2.3 urban; 2.349 urban (2.800 adm-urb) per citypopulation.de ["Tangshan"] = {container = "Hebei"}, -- 7.7 prefectural, 3.4 urban; 2.550 urban (2.750 adm-urb) per citypopulation.de ["Xinxiang"] = {container = "Henan"}, -- 6.3 prefectural, 1.2 urban, 2.7 metro; 1.271 urban (2.700 adm-urb) per citypopulation.de ["Yiwu"] = {container = "Zhejiang"}, -- 1.481 urban (2.700 adm-urb) per citypopulation.de ["Zhuhai"] = {container = "Guangdong"}, -- 2.439 prefectural, 2.4 urban; 2.207 urban (2.675 adm-urb) per citypopulation.de ["Taizhou, Zhejiang"] = {container = "Zhejiang"}, -- 6.6 prefectural, 1.6 urban; 1.486 urban (2.625 adm-urb) per citypopulation.de ["Taizhou"] = {alias_of = "Taizhou, Zhejiang"}, ["Yantai"] = {container = "Shandong"}, -- 7.1 prefectural, 2.5 urban; 2.312 urban (2.550 adm-urb) per citypopulation.de ["Yinchuan"] = {container = {key = "Ningxia, China", placetype = "autonomous region"}}, -- 1.663 urban (2.525 adm-urb) per citypopulation.de ["Liuzhou"] = {container = {key = "Guangxi, China", placetype = "autonomous region"}}, -- 4.157 prefectural, 2.2 urban; 2.205 urban (2.500 adm-urb) per citypopulation.de ["Anshan"] = {container = "Liaoning"}, -- 1.480 urban (2.350 adm-urb including Liáoyáng) per citypopulation.de ["Yangzhou"] = {container = "Jiangsu"}, -- 2.067 urban (2.300 adm-urb) per citypopulation.de ["Jiaxing"] = {container = "Zhejiang"}, -- 1.188 urban (2.275 adm-urb) per citypopulation.de ["Xining"] = {container = "Qinghai"}, -- 1.677 urban (2.250 adm-urb) per citypopulation.de -- includes Dìngzhōu city and Xióngān Xīnqū ["Baoding"] = {container = "Hebei"}, -- 11.5 prefectural, 2.0 urban; 1.940 urban (2.225 adm-urb) per citypopulation.de ["Baotou"] = {container = {key = "Inner Mongolia, China", placetype = "autonomous region"}}, -- 2.709 prefectural, 2.2 urban; 2.104 urban (2.200 adm-urb) per citypopulation.de ["Ganzhou"] = {container = "Jiangxi"}, -- 9.0 prefectural, 1.6 urban; 1.778 urban (2.150 adm-urb) per citypopulation.de ["Pingdingshan"] = {container = "Henan"}, -- 1.046 urban (2.100 adm-urb) per citypopulation.de ["Zunyi"] = {container = "Guizhou"}, -- 6.6 prefectural, 2.4 urban/metro; 1.675 urban (2.025 adm-urb) per citypopulation.de ["Bengbu"] = {container = "Anhui"}, -- 1.078 urban (2.000 adm-urb) per citypopulation.de ["Datong"] = {container = "Shanxi"}, -- 3.105 prefectural, 2.0 urban; 1.810 urban (2.000 adm-urb) per citypopulation.de ["Anyang"] = {container = "Henan"}, -- 1.188 urban (1.960 adm-urb) per citypopulation.de ["Huai'an"] = {container = "Jiangsu"}, -- 4.556 prefectural, 2.6 urban; 1.805 urban (1.940 adm-urb) per citypopulation.de ["Zaozhuang"] = {container = "Shandong"}, -- 1.350 urban (1.900 adm-urb) per citypopulation.de ["Zhanjiang"] = {container = "Guangdong"}, -- 7.0 prefectural, 1.9 urban; 1.401 urban (1.890 adm-urb) per citypopulation.de ["Huainan"] = {container = "Anhui"}, -- 1.256 urban (1.880 adm-urb) per citypopulation.de ["Jining"] = {container = "Shandong"}, -- 8.4 prefectural, 1.5 urban; 1.700 urban (1.880 adm-urb) per citypopulation.de ["Daqing"] = {container = "Heilongjiang"}, -- 1.604 urban (1.860 adm-urb) per citypopulation.de ["Wuhu"] = {container = "Anhui"}, -- 1.598 urban (1.850 adm-urb) per citypopulation.de ["Guilin"] = {container = {key = "Guangxi, China", placetype = "autonomous region"}}, -- 1.361 urban (1.830 adm-urb) per citypopulation.de ["Mianyang"] = {container = "Sichuan"}, -- 1.549 urban (1.800 adm-urb) per citypopulation.de ["Xiangyang"] = {container = "Hubei"}, -- 1.686 urban (1.800 adm-urb) per citypopulation.de ["Huzhou"] = {container = "Zhejiang"}, -- 1.084 urban (1.750 adm-urb) per citypopulation.de ["Puyang"] = {container = "Henan"}, -- 0.824 urban (1.750 adm-urb) per citypopulation.de ["Shangqiu"] = {container = "Henan"}, -- 7.8 prefectural, 1.9 urban (2.8 metro); 1.031 urban (1.750 adm-urb) per citypopulation.de ["Qinhuangdao"] = {container = "Hebei"}, -- 1.520 urban (1.740 adm-urb) per citypopulation.de ["Xingtai"] = {container = "Hebei"}, -- 7.1 prefectural, 971,000 urban; 1.5 urban (1.700 adm-urb) per citypopulation.de ["Nanyang"] = {container = "Henan", wp = "%l, %c"}, -- 9.7 prefectural, 2.1 urban/metro; 1.481 urban (1.680 adm-urb) per citypopulation.de ["Jiaozuo"] = {container = "Henan"}, -- 0.875 urban (1.640 adm-urb) per citypopulation.de ["Jilin City"] = {container = "Jilin"}, -- 1.509 urban (1.610 adm-urb) per citypopulation.de ["Jilin"] = {alias_of = "Jilin City"}, ["Jinhua"] = {container = "Zhejiang"}, -- 7.1 prefectural, 1.5 urban; 1.041 urban (1.590 adm-urb) per citypopulation.de ["Shangrao"] = {container = "Jiangxi"}, -- 6.5 prefectural, 2.1 urban, 1.3 metro [sic]; 1.342 urban (1.580 adm-urb) per citypopulation.de ["Heze"] = {container = "Shandong"}, -- 8.8 prefectural, 1.3 urban; 1.294 urban (1.570 adm-urb) per citypopulation.de ["Yulin"] = {container = {key = "Guangxi, China", placetype = "autonomous region"}, wp = "%l, %c"}, -- 0.878 urban (1.570 adm-urb) per citypopulation.de ["Tai'an"] = {container = "Shandong"}, -- 1.417 urban (1.560 adm-urb) per citypopulation.de ["Weihai"] = {container = "Shandong"}, -- 1.340 urban (1.510 adm-urb) per citypopulation.de -- Taizhou, Jiangsu would be here (1.490 adm-urb) but moved to china_prefecture_level_cities_2 to avoid clash ["Yancheng"] = {container = "Jiangsu"}, -- 6.7 prefectural, 1.6 urban; 1.353 urban (1.460 adm-urb) per citypopulation.de ["Zhangjiakou"] = {container = "Hebei"}, -- 1.339 urban (1.450 adm-urb) per citypopulation.de ["Maoming"] = {container = "Guangdong"}, -- 6.2 prefectural, 2.5 urban; 1.308 urban (1.440 adm-urb) per citypopulation.de ["Nanchong"] = {container = "Sichuan"}, -- 1.254 urban (1.440 adm-urb) per citypopulation.de ["Fuyang"] = {container = "Anhui", wp = "%l, %c"}, -- 8.2 prefectural, 2.1 urban; 1.191 urban (1.410 adm-urb) per citypopulation.de ["Xuchang"] = {container = "Henan"}, -- 0.850 urban (1.390 adm-urb) per citypopulation.de ["Yichang"] = {container = "Hubei"}, -- 1.284 urban (1.390 adm-urb) per citypopulation.de ["Dazhou"] = {container = "Sichuan"}, -- 1.136 urban (1.380 adm-urb) per citypopulation.de ["Kaifeng"] = {container = "Henan"}, -- 1.194 urban (1.340 adm-urb) per citypopulation.de ["Luzhou"] = {container = "Sichuan"}, -- 1.128 urban (1.340 adm-urb) per citypopulation.de ["Qingyuan"] = {container = "Guangdong"}, -- 1.198 urban (1.340 adm-urb) per citypopulation.de ["Huaibei"] = {container = "Anhui"}, -- 0.831 urban (1.330 adm-urb) per citypopulation.de ["Yibin"] = {container = "Sichuan"}, -- 1.101 urban (1.310 adm-urb) per citypopulation.de ["Lu'an"] = {container = "Anhui"}, -- 1.070 urban (1.300 adm-urb) per citypopulation.de ["Dezhou"] = {container = "Shandong"}, -- 0.843 urban (1.290 adm-urb) per citypopulation.de ["Rizhao"] = {container = "Shandong"}, -- 1.147 urban (1.270 adm-urb) per citypopulation.de ["Changzhi"] = {container = "Shanxi"}, -- 1.047 urban (1.250 adm-urb) per citypopulation.de ["Hengyang"] = {container = "Hunan"}, -- 6.6 prefectural, 1.5 urban; 1.185 urban (1.250 adm-urb) per citypopulation.de ["Jinzhou"] = {container = "Liaoning"}, -- 1.021 urban (1.240 adm-urb) per citypopulation.de ["Liaocheng"] = {container = "Shandong"}, -- 1.020 urban (1.240 adm-urb) per citypopulation.de ["Changde"] = {container = "Hunan"}, -- 1.101 urban (1.230 adm-urb) per citypopulation.de ["Suqian"] = {container = "Jiangsu"}, -- 1.082 urban (1.230 adm-urb) per citypopulation.de ["Xinyang"] = {container = "Henan"}, -- 6.2 prefectural, 1.4 urban/metro; 1.015 urban (1.230 adm-urb) per citypopulation.de ["Baoji"] = {container = "Shaanxi"}, -- 1.108 urban (1.220 adm-urb) per citypopulation.de ["Yueyang"] = {container = "Hunan"}, -- 1.125 urban (1.220 adm-urb) per citypopulation.de ["Zhenjiang"] = {container = "Jiangsu"}, -- 1.124 urban (1.210 adm-urb) per citypopulation.de -- Wanzhou is a "district" of the "direct-administered municipality" of Chongqing but in fact is 142 miles away from Chongqing city proper. ["Wanzhou"] = {placetype = "district", container = {key = "Chongqing", placetype = "direct-administered municipality"}, divs = {"subdistricts", "townships"}, wp = "%l, %c"}, -- 1.078 urban (1.190 adm-urb) per citypopulation.de ["Ulanhad"] = {container = {key = "Inner Mongolia, China", placetype = "autonomous region"}}, -- 1.093 urban (1.180 adm-urb) per citypopulation.de ["Chifeng"] = {alias_of = "Ulanhad"}, ["Ulankhad"] = {alias_of = "Ulanhad", display = true}, ["Ezhou"] = {container = "Hubei"}, -- < 0.750 urban (1.180 adm-urb) per citypopulation.de ["Zhaoqing"] = {container = "Guangdong"}, -- 1.036 urban (1.160 adm-urb) per citypopulation.de ["Lianyungang"] = {container = "Jiangsu"}, -- 4.599 prefectural, 2.0 urban; 1.071 urban (1.150 adm-urb) per citypopulation.de ["Qujing"] = {container = "Yunnan"}, -- 0.976 urban (1.150 adm-urb) per citypopulation.de -- Shuyang is a "county" of the "prefecture-level city" of Suqian but in fact is 38 miles away from Suqian city proper (urban core to urban core). -- The county itself is 37 miles by 34 miles. ["Shuyang"] = {placetype = "county", container = {key = "Suqian", placetype = "prefecture-level city"}, divs = {"subdistricts", "townships"}, wp = "%l County"}, -- 0.986 urban (1.120 adm-urb) per citypopulation.de -- Yongkang is a "county-level city" of the "prefecture-level city" of Jinhua but in fact is 32 miles away from Jinhua city proper (urban core to urban core). ["Yongkang"] = {placetype = "county-level city", container = {key = "Jinhua", placetype = "prefecture-level city"}, divs = {"subdistricts", "townships"}, wp = "%l, Zhejiang"}, -- < 0.750 urban (1.110 adm-urb) per citypopulation.de ["Zhoukou"] = {container = "Henan"}, -- 9.0 prefectural, 721,000 urban (1.6 metro); < 0.750 urban (1.100 adm-urb) per citypopulation.de ["Beihai"] = {container = {key = "Guangxi, China", placetype = "autonomous region"}}, -- < 1 urban (1.090 adm-urb) per citypopulation.de ["Jiujiang"] = {container = "Jiangxi"}, -- < 0.750 urban (1.080 adm-urb) per citypopulation.de ["Shaoyang"] = {container = "Hunan"}, -- 6.6 prefectural, 802,000 urban, 1.4 metro; < 1 urban (1.080 adm-urb) per citypopulation.de ["Chuzhou"] = {container = "Anhui"}, -- < 0.750 urban (1.070 adm-urb) per citypopulation.de ["Hengshui"] = {container = "Hebei"}, -- 0.885 urban (1.070 adm-urb) per citypopulation.de ["Shiyan"] = {container = "Hubei"}, -- 0.955 urban (1.070 adm-urb) per citypopulation.de ["Huludao"] = {container = "Liaoning"}, -- 0.764 urban (1.060 adm-urb) per citypopulation.de ["Dongying"] = {container = "Shandong"}, -- 0.961 urban (1.050 adm-urb) per citypopulation.de ["Guigang"] = {container = {key = "Guangxi, China", placetype = "autonomous region"}}, -- 0.921 urban (1.050 adm-urb) per citypopulation.de -- Liuyang is a "county-level city" of the "prefecture-level city" of Changsha but in fact is 47 miles away from Changsha city proper (urban core to urban core). ["Liuyang"] = {placetype = "county-level city", container = {key = "Changsha", placetype = "prefecture-level city"}, divs = {"subdistricts", "townships"}}, -- 0.886 urban (1.040 adm-urb) per citypopulation.de -- NOTE: Not to be confused with Changzhou in Jiangsu ["Cangzhou"] = {container = "Hebei"}, -- 7.3 prefectural, 621,000 urban; 0.759 urban (1.030 adm-urb) per citypopulation.de ["Liupanshui"] = {container = "Guizhou"}, -- < 0.750 urban (1.030 adm-urb) per citypopulation.de ["Panjin"] = {container = "Liaoning"}, -- 0.980 urban (1.030 adm-urb) per citypopulation.de ["Qiqihar"] = {container = "Heilongjiang"}, -- 1.030 urban (1.030 adm-urb) per citypopulation.de ["Linfen"] = {container = "Shanxi"}, -- < 0.750 urban (1.010 adm-urb) per citypopulation.de -- Tengzhou is a "county-level city" of the "prefecture-level city" of Zaozhuang but in fact is 30 miles away from Zaozhuang city proper (urban core to urban core). ["Tengzhou"] = {placetype = "county-level city", container = {key = "Zaozhuang", placetype = "prefecture-level city"}, divs = {"subdistricts", "townships"}}, -- 0.937 urban (1.010 adm-urb) per citypopulation.de -- 3 extra that got added in earlier incarnations and aren't found in the "major agglomerations of the world" page https://citypopulation.de/en/world/agglomerations/ reference date 2025-01-01 ["Kunshan"] = {container = "Jiangsu"}, -- 1.652 urban (2020 China census) per citypopulation.de ["Zhumadian"] = {container = "Henan"}, -- 7.0 prefectural, 722,000 urban per Wikipedia; 0.754 urban per citypopulation.de ["Bijie"] = {container = "Guizhou"}, -- 6.9 prefectural, ? urban, ? metro (not listed in Wikipedia); < 0.750 urban per citypopulation.de } export.china_prefecture_level_cities_group = { -- don't do any transformations between key and placename; in particular, don't chop off anything from -- "Taizhou, Zhejiang" or "Suzhou, Anhui". key_to_placename = false, placename_to_key = false, -- don't add ", China" to make the key default_container = "Trung Quốc", canonicalize_key_container = make_canonicalize_key_container(", China", "province"), -- Prefecture-level cities aren't really cities but allow them to be identified that way, as many people -- don't understand how Chinese administrative divisions work. default_placetype = {"prefecture-level city", "thành phố"}, default_divs = { -- "towns" (but not "townships") are automatically added as they are specified as generic_before_non_cities, -- and prefecture-level cities (as well as county-level cities) are considered non-cities. "districts", "subdistricts", "townships", {type = "counties", cat_as = "counties and county-level cities"}, {type = "county-level cities", cat_as = "counties and county-level cities"}, }, data = export.china_prefecture_level_cities, } -- Needed to avoid problems with two cities called Taizhou and Suzhou. export.china_prefecture_level_cities_2 = { -- NOTE: There is also a larger and better-known prefecture-level city Taizhou in Zhejiang. ["Taizhou, Jiangsu"] = {container = "Jiangsu"}, -- 1.3 urban (1.490 adm-urb) per citypopulation.de 2020 census ["Taizhou"] = {alias_of = "Taizhou, Jiangsu"}, -- NOTE: There is also a larger and better-known prefecture-level city Suzhou in Jiangsu. ["Suzhou, Anhui"] = {container = "Anhui"}, -- 5.3 prefectural, 1.766 metro and "urban"; < 1 urban (1.010 adm-urb) per citypopulation.de 2020 census -- hopefully this will work because we also have Suzhou as a key by itself for the larger, more-well-known Suzhou in Jiangsu ["Suzhou"] = {alias_of = "Suzhou, Anhui"}, } export.china_prefecture_level_cities_group_2 = { -- don't do any transformations between key and placename; in particular, don't chop off anything from -- "Taizhou, Jiangsu". placename_to_key = false, -- don't add ", China" to make the key default_container = "Trung Quốc", canonicalize_key_container = make_canonicalize_key_container(", China", "province"), -- Prefecture-level cities aren't really cities but allow them to be identified that way, as many people -- don't understand how Chinese administrative divisions work. default_placetype = {"prefecture-level city", "thành phố"}, default_divs = { -- "towns" (but not "townships") are automatically added as they are specified as generic_before_non_cities, -- and prefecture-level cities (as well as county-level cities) are considered non-cities. "districts", "subdistricts", "townships", {type = "counties", cat_as = "counties and county-level cities"}, {type = "county-level cities", cat_as = "counties and county-level cities"}, }, data = export.china_prefecture_level_cities_2, } export.finland_regions = { ["Lapland, Finland"] = {wp = "%l (%c)"}, ["North Ostrobothnia, Finland"] = {}, ["Northern Ostrobothnia, Finland"] = {alias_of = "North Ostrobothnia, Finland", display = true}, ["Kainuu, Finland"] = {}, ["North Karelia, Finland"] = {}, ["Northern Savonia, Finland"] = {}, ["North Savo, Finland"] = {alias_of = "Northern Savonia, Finland", display = true}, ["Southern Savonia, Finland"] = {}, ["South Savo, Finland"] = {alias_of = "Southern Savonia, Finland", display = true}, ["South Karelia, Finland"] = {}, ["Central Finland, Finland"] = {}, ["South Ostrobothnia, Finland"] = {}, ["Southern Ostrobothnia, Finland"] = {alias_of = "South Ostrobothnia, Finland", display = true}, ["Ostrobothnia, Finland"] = {wp = "%l (region)"}, ["Central Ostrobothnia, Finland"] = {}, ["Pirkanmaa, Finland"] = {}, ["Satakunta, Finland"] = {}, ["Päijänne Tavastia, Finland"] = {}, ["Päijät-Häme, Finland"] = {alias_of = "Päijänne Tavastia, Finland", display = true}, ["Tavastia Proper, Finland"] = {}, ["Kanta-Häme, Finland"] = {alias_of = "Tavastia Proper, Finland", display = true}, ["Kymenlaakso, Finland"] = {}, ["Uusimaa, Finland"] = {}, ["Southwest Finland, Finland"] = {}, ["Åland Islands, Finland"] = {the = true, wp = "Åland"}, ["Åland, Finland"] = {alias_of = "Åland Islands, Finland"}, -- differs in "the" } -- regions of Finland export.finland_group = { default_container = "Phần Lan", default_placetype = "region", default_divs = "municipalities", data = export.finland_regions, } export.france_administrative_regions = { ["Auvergne-Rhône-Alpes, France"] = {}, ["Bourgogne-Franche-Comté, France"] = {}, ["Brittany, France"] = {wp = "%l (administrative region)"}, ["Centre-Val de Loire, France"] = {}, ["Corsica, France"] = {}, -- overseas departments are handled in `export.country_like_entities` -- ["French Guiana"] = {}, ["Grand Est, France"] = {}, -- ["Guadeloupe"] = {}, ["Hauts-de-France, France"] = {}, ["Île-de-France, France"] = {}, -- ["Martinique"] = {}, -- ["Mayotte"] = {}, ["Normandy, France"] = {wp = "%l (administrative region)"}, ["Nouvelle-Aquitaine, France"] = {}, ["Occitania, France"] = {wp = "%l (administrative region)"}, ["Occitanie, France"] = {alias_of = "Occitania, France", display = true}, ["Pays de la Loire, France"] = {}, ["Provence-Alpes-Côte d'Azur, France"] = {}, -- ["Réunion"] = {}, } -- administrative regions of France export.france_group = { default_container = "Pháp", -- Canonically these are 'administrative regions' but also treat as 'region' ('administrative region' falls back -- to 'region'). default_placetype = "region", default_divs = { "communes", {type = "municipalities", cat_as = "communes"}, "departments", {type = "prefectures", cat_as = {"prefectures", "departmental capitals"}}, {type = "French prefectures", cat_as = {"prefectures", "departmental capitals"}}, }, data = export.france_administrative_regions, } export.france_departments = { ["Ain, France"] = {container = "Auvergne-Rhône-Alpes"}, -- 01 ["Aisne, France"] = {container = "Hauts-de-France"}, -- 02 ["Allier, France"] = {container = "Auvergne-Rhône-Alpes"}, -- 03 ["Alpes-de-Haute-Provence, France"] = {container = "Provence-Alpes-Côte d'Azur"}, -- 04 ["Hautes-Alpes, France"] = {container = "Provence-Alpes-Côte d'Azur"}, -- 05 ["Alpes-Maritimes, France"] = {container = "Provence-Alpes-Côte d'Azur"}, -- 06 ["Ardèche, France"] = {container = "Auvergne-Rhône-Alpes"}, -- 07 ["Ardennes, France"] = {container = "Grand Est", wp = "%l (department)"}, -- 08 ["Ariège, France"] = {container = "Occitania", wp = "%l (department)"}, -- 09 ["Aube, France"] = {container = "Grand Est"}, -- 10 ["Aude, France"] = {container = "Occitania"}, -- 11 ["Aveyron, France"] = {container = "Occitania"}, -- 12 ["Bouches-du-Rhône, France"] = {container = "Provence-Alpes-Côte d'Azur"}, -- 13 ["Calvados, France"] = {container = "Normandy", wp = "%l (department)"}, -- 14 ["Cantal, France"] = {container = "Auvergne-Rhône-Alpes"}, -- 15 ["Charente, France"] = {container = "Nouvelle-Aquitaine"}, -- 16 ["Charente-Maritime, France"] = {container = "Nouvelle-Aquitaine"}, -- 17 ["Cher, France"] = {container = "Centre-Val de Loire", wp = "%l (department)"}, -- 18 ["Corrèze, France"] = {container = "Nouvelle-Aquitaine"}, -- 19 ["Corse-du-Sud, France"] = {container = "Corsica"}, -- 2A ["Haute-Corse, France"] = {container = "Corsica"}, -- 2B ["Côte-d'Or, France"] = {container = "Bourgogne-Franche-Comté"}, -- 21 ["Côte d'Or, France"] = {alias_of = "Côte-d'Or, France", display = true}, ["Côtes-d'Armor, France"] = {container = "Brittany"}, -- 22 ["Côtes d'Armor, France"] = {alias_of = "Côtes-d'Armor, France", display = true}, ["Creuse, France"] = {container = "Nouvelle-Aquitaine"}, -- 23 ["Dordogne, France"] = {container = "Nouvelle-Aquitaine"}, -- 24 ["Doubs, France"] = {container = "Bourgogne-Franche-Comté"}, -- 25 ["Drôme, France"] = {container = "Auvergne-Rhône-Alpes"}, -- 26 ["Eure, France"] = {container = "Normandy"}, -- 27 ["Eure-et-Loir, France"] = {container = "Centre-Val de Loire"}, -- 28 ["Finistère, France"] = {container = "Brittany"}, -- 29 ["Gard, France"] = {container = "Occitania"}, -- 30 ["Haute-Garonne, France"] = {container = "Occitania"}, -- 31 ["Gers, France"] = {container = "Occitania"}, -- 32 ["Gironde, France"] = {container = "Nouvelle-Aquitaine"}, -- 33 ["Hérault, France"] = {container = "Occitania"}, -- 34 ["Ille-et-Vilaine, France"] = {container = "Brittany"}, -- 35 ["Indre, France"] = {container = "Centre-Val de Loire"}, -- 36 ["Indre-et-Loire, France"] = {container = "Centre-Val de Loire"}, -- 37 ["Isère, France"] = {container = "Auvergne-Rhône-Alpes"}, -- 38 ["Jura, France"] = {container = "Bourgogne-Franche-Comté", wp = "%l (department)"}, -- 39 ["Landes, France"] = {container = "Nouvelle-Aquitaine", wp = "%l (department)"}, -- 40 ["Loir-et-Cher, France"] = {container = "Centre-Val de Loire"}, -- 41 ["Loire, France"] = {container = "Auvergne-Rhône-Alpes", wp = "%l (department)"}, -- 42 ["Haute-Loire, France"] = {container = "Auvergne-Rhône-Alpes"}, -- 43 ["Loire-Atlantique, France"] = {container = "Pays de la Loire"}, -- 44 ["Loiret, France"] = {container = "Centre-Val de Loire"}, -- 45 ["Lot, France"] = {container = "Occitania", wp = "%l (department)"}, -- 46 ["Lot-et-Garonne, France"] = {container = "Nouvelle-Aquitaine"}, -- 47 ["Lozère, France"] = {container = "Occitania"}, -- 48 ["Maine-et-Loire, France"] = {container = "Pays de la Loire"}, -- 49 ["Manche, France"] = {container = "Normandy"}, -- 50 ["Marne, France"] = {container = "Grand Est", wp = "%l (department)"}, -- 51 ["Haute-Marne, France"] = {container = "Grand Est"}, -- 52 ["Mayenne, France"] = {container = "Pays de la Loire"}, -- 53 ["Meurthe-et-Moselle, France"] = {container = "Grand Est"}, -- 54 ["Meuse, France"] = {container = "Grand Est", wp = "%l (department)"}, -- 55 ["Morbihan, France"] = {container = "Brittany"}, -- 56 ["Moselle, France"] = {container = "Grand Est", wp = "%l (department)"}, -- 57 ["Nièvre, France"] = {container = "Bourgogne-Franche-Comté"}, -- 58 ["Nord, France"] = {container = "Hauts-de-France", wp = "%l (French department)"}, -- 59 ["Oise, France"] = {container = "Hauts-de-France"}, -- 60 ["Orne, France"] = {container = "Normandy"}, -- 61 ["Pas-de-Calais, France"] = {container = "Hauts-de-France"}, -- 62 ["Puy-de-Dôme, France"] = {container = "Auvergne-Rhône-Alpes"}, -- 63 ["Pyrénées-Atlantiques, France"] = {container = "Nouvelle-Aquitaine"}, -- 64 ["Hautes-Pyrénées, France"] = {container = "Occitania"}, -- 65 ["Pyrénées-Orientales, France"] = {container = "Occitania"}, -- 66 ["Bas-Rhin, France"] = {container = "Grand Est"}, -- 67 ["Haut-Rhin, France"] = {container = "Grand Est"}, -- 68 ["Rhône, France"] = {container = "Auvergne-Rhône-Alpes", wp = "%l (department)"}, -- 69D ["Metropolis of Lyon, France"] = {container = "Auvergne-Rhône-Alpes"}, -- 69M ["Lyon Metropolis, France"] = {alias_of = "Metropolis of Lyon, France"}, ["Lyon, France"] = {alias_of = "Metropolis of Lyon, France"}, ["Haute-Saône, France"] = {container = "Bourgogne-Franche-Comté"}, -- 70 ["Saône-et-Loire, France"] = {container = "Bourgogne-Franche-Comté"}, -- 71 ["Sarthe, France"] = {container = "Pays de la Loire"}, -- 72 ["Savoie, France"] = {container = "Auvergne-Rhône-Alpes"}, -- 73 ["Haute-Savoie, France"] = {container = "Auvergne-Rhône-Alpes"}, -- 74 ["Paris, France"] = {container = "Île-de-France"}, -- 75 ["Seine-Maritime, France"] = {container = "Normandy"}, -- 76 ["Seine-et-Marne, France"] = {container = "Île-de-France"}, -- 77 ["Yvelines, France"] = {container = "Île-de-France"}, -- 78 ["Deux-Sèvres, France"] = {container = "Nouvelle-Aquitaine"}, -- 79 ["Somme, France"] = {container = "Hauts-de-France", wp = "%l (department)"}, -- 80 ["Tarn, France"] = {container = "Occitania", wp = "%l (department)"}, -- 81 ["Tarn-et-Garonne, France"] = {container = "Occitania"}, -- 82 ["Var, France"] = {container = "Provence-Alpes-Côte d'Azur", wp = "%l (department)"}, -- 83 ["Vaucluse, France"] = {container = "Provence-Alpes-Côte d'Azur"}, -- 84 ["Vendée, France"] = {container = "Pays de la Loire"}, -- 85 ["Vienne, France"] = {container = "Nouvelle-Aquitaine", wp = "%l (department)"}, -- 86 ["Haute-Vienne, France"] = {container = "Nouvelle-Aquitaine"}, -- 87 ["Vosges, France"] = {container = "Grand Est", wp = "%l (department)"}, -- 88 ["Yonne, France"] = {container = "Bourgogne-Franche-Comté"}, -- 89 ["Territoire de Belfort, France"] = {container = "Bourgogne-Franche-Comté"}, -- 90 ["Essonne, France"] = {container = "Île-de-France"}, -- 91 ["Hauts-de-Seine, France"] = {container = "Île-de-France"}, -- 92 ["Seine-Saint-Denis, France"] = {container = "Île-de-France"}, -- 93 ["Val-de-Marne, France"] = {container = "Île-de-France"}, -- 94 ["Val-d'Oise, France"] = {container = "Île-de-France"}, -- 95 --["Guadeloupe"] = {container = "Guadeloupe"}, -- 971 --["Martinique"] = {container = "Martinique"}, -- 972 --["Guyane"] = {container = "French Guiana", wp = "French Guiana"}, -- 973 --["La Réunion"] = {container = "Réunion", wp = "Réunion"}, -- 974 --["Mayotte"] = {container = "Mayotte"}, -- 976 } export.france_departments_group = { placename_to_key = make_placename_to_key(", France"), canonicalize_key_container = make_canonicalize_key_container(", France", "region"), default_placetype = "department", default_divs = { "communes", {type = "municipalities", cat_as = "communes"}, }, data = export.france_departments, } export.germany_states = { ["Baden-Württemberg, Germany"] = {}, ["Bavaria, Germany"] = {}, -- Berlin, Bremen and Hamburg are effectively city-states and don't have districts ([[Kreise]]), so override -- the default_divs setting. Better not to include them at all since they're included as cities down below. -- ["Berlin"] = {divs = {}}, ["Brandenburg, Germany"] = {}, -- ["Bremen"] = {divs = {}}, -- ["Hamburg"] = {divs = {}}, ["Hesse, Germany"] = {}, ["Lower Saxony, Germany"] = {}, ["Mecklenburg-Vorpommern, Germany"] = {}, ["Mecklenburg-Western Pomerania, Germany"] = {alias_of = "Mecklenburg-Vorpommern, Germany", display = true}, ["North Rhine-Westphalia, Germany"] = {}, ["Rhineland-Palatinate, Germany"] = {}, ["Saarland, Germany"] = {}, ["Saxony, Germany"] = {}, ["Saxony-Anhalt, Germany"] = {}, ["Schleswig-Holstein, Germany"] = {}, ["Thuringia, Germany"] = {}, } -- states of Germany export.germany_group = { default_container = "Đức", default_placetype = "state", default_divs = {"districts", "municipalities"}, data = export.germany_states, } export.greece_regions = { ["Attica, Greece"] = {wp = "%l (region)"}, ["Central Greece, Greece"] = {wp = "%l (administrative region)"}, ["Central Macedonia, Greece"] = {}, ["Crete, Greece"] = {}, ["Eastern Macedonia and Thrace, Greece"] = {}, ["Epirus, Greece"] = {wp = "%l (region)"}, ["Ionian Islands, Greece"] = {the = true, wp = "%l (region)"}, ["North Aegean, Greece"] = {the = true}, -- I would expect 'the Peloponnese' but Wikipedia mostly has categories like [[w:Category:Geography of Peloponnese (region)]] -- and [[w:Category:Buildings and structures in Peloponnese (region)]]; only [[w:Category:People from the Peloponnese (region)]] -- has "the" in it. ["Peloponnese, Greece"] = {wp = "%l (region)"}, ["South Aegean, Greece"] = {the = true}, ["Thessaly, Greece"] = {}, ["Western Greece, Greece"] = {}, ["Western Macedonia, Greece"] = {}, ["Mount Athos, Greece"] = {placetype = {"autonomous region", "region"}, wp = "Monastic community of Mount Athos"}, } -- regions of Greece export.greece_group = { default_container = "Hy Lạp", default_placetype = "region", data = export.greece_regions, } local india_polity_with_divisions = {"divisions", "districts"} local india_polity_without_divisions = {"districts"} -- States and union territories of India. Only some of them are divided into divisions. export.india_states_and_union_territories = { ["Andaman and Nicobar Islands, India"] = {the = true, placetype = "union territory", divs = india_polity_without_divisions}, ["Andhra Pradesh, India"] = {divs = india_polity_without_divisions}, ["Arunachal Pradesh, India"] = {divs = india_polity_with_divisions}, ["Assam, India"] = {divs = india_polity_with_divisions}, ["Bihar, India"] = {divs = india_polity_with_divisions}, ["Chandigarh, India"] = {placetype = "union territory", divs = india_polity_without_divisions}, ["Chhattisgarh, India"] = {divs = india_polity_with_divisions}, ["Dadra and Nagar Haveli and Daman and Diu, India"] = {placetype = "union territory", divs = india_polity_without_divisions}, ["Delhi, India"] = {placetype = "union territory", divs = india_polity_with_divisions}, ["Goa, India"] = {divs = india_polity_without_divisions}, ["Gujarat, India"] = {divs = india_polity_without_divisions}, ["Haryana, India"] = {divs = india_polity_with_divisions}, ["Himachal Pradesh, India"] = {divs = india_polity_with_divisions}, ["Jammu and Kashmir, India"] = {placetype = "union territory", divs = india_polity_with_divisions, wp = "%l (union territory)"}, ["Jharkhand, India"] = {divs = india_polity_with_divisions}, ["Karnataka, India"] = {divs = india_polity_with_divisions}, ["Kerala, India"] = {divs = india_polity_without_divisions}, ["Ladakh, India"] = {placetype = "union territory", divs = india_polity_with_divisions}, ["Lakshadweep, India"] = {placetype = "union territory", divs = india_polity_without_divisions}, ["Madhya Pradesh, India"] = {divs = india_polity_with_divisions}, ["Maharashtra, India"] = {divs = india_polity_with_divisions}, ["Manipur, India"] = {divs = india_polity_without_divisions}, ["Meghalaya, India"] = {divs = india_polity_with_divisions}, ["Mizoram, India"] = {divs = india_polity_without_divisions}, ["Nagaland, India"] = {divs = india_polity_with_divisions}, ["Odisha, India"] = {divs = india_polity_with_divisions}, ["Puducherry, India"] = {placetype = "union territory", divs = india_polity_without_divisions, wp = "%l (union territory)"}, ["Pondicherry, India"] = {alias_of = "Puducherry, India", display = true}, ["Punjab, India"] = {divs = india_polity_with_divisions, wp = "%l, %c"}, ["Rajasthan, India"] = {divs = india_polity_with_divisions}, ["Sikkim, India"] = {divs = india_polity_without_divisions}, ["Tamil Nadu, India"] = {divs = india_polity_without_divisions}, ["Telangana, India"] = {divs = india_polity_without_divisions}, ["Tripura, India"] = {divs = india_polity_without_divisions}, ["Uttar Pradesh, India"] = {divs = india_polity_with_divisions}, ["Uttarakhand, India"] = {divs = india_polity_with_divisions}, ["West Bengal, India"] = {divs = india_polity_with_divisions}, } -- states and union territories of India export.india_group = { default_container = "Ấn Độ", default_placetype = "state", data = export.india_states_and_union_territories, } export.indonesia_provinces = { ["Aceh, Indonesia"] = {}, ["Bali, Indonesia"] = {}, ["Bangka Belitung Islands, Indonesia"] = {the = true}, ["Banten, Indonesia"] = {}, ["Bengkulu, Indonesia"] = {}, ["Central Java, Indonesia"] = {}, ["Central Kalimantan, Indonesia"] = {}, ["Central Papua, Indonesia"] = {}, ["Central Sulawesi, Indonesia"] = {}, ["East Java, Indonesia"] = {}, ["East Kalimantan, Indonesia"] = {}, ["East Nusa Tenggara, Indonesia"] = {}, ["Gorontalo, Indonesia"] = {}, ["Highland Papua, Indonesia"] = {wp = "%l"}, ["Special Capital Region of Jakarta, Indonesia"] = {the = true, wp = "Jakarta"}, ["Jakarta, Indonesia"] = {alias_of = "Special Capital Region of Jakarta, Indonesia"}, ["Jambi, Indonesia"] = {}, ["Lampung, Indonesia"] = {}, ["Maluku, Indonesia"] = {}, ["North Kalimantan, Indonesia"] = {}, ["North Maluku, Indonesia"] = {}, ["North Sulawesi, Indonesia"] = {}, ["North Papua, Indonesia"] = {}, ["North Sumatra, Indonesia"] = {}, ["Papua, Indonesia"] = {wp = "%l (province)"}, ["Riau, Indonesia"] = {}, ["Riau Islands, Indonesia"] = {the = true}, ["Southeast Sulawesi, Indonesia"] = {}, ["South Kalimantan, Indonesia"] = {}, ["South Papua, Indonesia"] = {}, ["South Sulawesi, Indonesia"] = {}, ["South Sumatra, Indonesia"] = {}, ["Southwest Papua, Indonesia"] = {}, ["West Java, Indonesia"] = {}, ["West Kalimantan, Indonesia"] = {}, ["West Nusa Tenggara, Indonesia"] = {}, ["West Papua, Indonesia"] = {wp = "%l (province)"}, ["West Sulawesi, Indonesia"] = {}, ["West Sumatra, Indonesia"] = {}, ["Special Region of Yogyakarta, Indonesia"] = {the = true}, ["Yogyakarta, Indonesia"] = {alias_of = "Special Region of Yogyakarta, Indonesia"}, } -- provinces of Indonesia export.indonesia_group = { default_container = "Indonesia", default_placetype = "province", -- per https://www.quora.com/Does-Indonesia-use-British-or-American-English, Indonesia tends to use American -- spellings. data = export.indonesia_provinces, } export.iran_provinces = { ["Alborz Province, Iran"] = {}, -- abbreviation AL, capital [[w:Karaj]] ["Ardabil Province, Iran"] = {}, -- abbreviation AR, capital [[w:Ardabil]] ["Bushehr Province, Iran"] = {}, -- abbreviation BU, capital [[w:Bushehr]] ["Chaharmahal and Bakhtiari Province, Iran"] = {}, -- abbreviation CB, capital [[w:Shahr-e Kord]] ["East Azerbaijan Province, Iran"] = {}, -- abbreviation EA, capital [[w:Tabriz]] ["Fars Province, Iran"] = {}, -- abbreviation FA, capital [[w:Shiraz]] ["Pars Province, Iran"] = {alias_of = "Fars Province, Iran", display = true}, ["Gilan Province, Iran"] = {}, -- abbreviation GN, capital [[w:Rasht]] ["Golestan Province, Iran"] = {}, -- abbreviation GO, capital [[w:Gorgan]] ["Hamadan Province, Iran"] = {}, -- abbreviation HA, capital [[w:Hamadan]] ["Hormozgan Province, Iran"] = {}, -- abbreviation HO, capital [[w:Bandar Abbas]] ["Ilam Province, Iran"] = {}, -- abbreviation IL, capital [[w:Ilam, Iran|Ilam]] ["Isfahan Province, Iran"] = {}, -- abbreviation IS, capital [[w:Isfahan]] ["Kerman Province, Iran"] = {}, -- abbreviation KN, capital [[w:Kerman]] ["Kermanshah Province, Iran"] = {}, -- abbreviation KE, capital [[w:Kermanshah]] ["Khuzestan Province, Iran"] = {}, -- abbreviation KH, capital [[w:Ahvaz]] ["Kohgiluyeh and Boyer-Ahmad Province, Iran"] = {}, -- abbreviation KB, capital [[w:Yasuj]] ["Kurdistan Province, Iran"] = {}, -- abbreviation KU, capital [[w:Sanandaj]] ["Lorestan Province, Iran"] = {}, -- abbreviation LO, capital [[w:Khorramabad]] ["Markazi Province, Iran"] = {}, -- abbreviation MA, capital [[w:Arak, Iran|Arak]] ["Mazandaran Province, Iran"] = {}, -- abbreviation MN, capital [[w:Sari, Iran|Sari]] ["North Khorasan Province, Iran"] = {}, -- abbreviation NK, capital [[w:Bojnord]] ["Qazvin Province, Iran"] = {}, -- abbreviation QA, capital [[w:Qazvin]] ["Qom Province, Iran"] = {}, -- abbreviation QM, capital [[w:Qom]] ["Razavi Khorasan Province, Iran"] = {}, -- abbreviation RK, capital [[w:Mashhad]] ["Semnan Province, Iran"] = {}, -- abbreviation SE, capital [[w:Semnan, Iran|Semnan]] ["Sistan and Baluchestan Province, Iran"] = {}, -- abbreviation SB, capital [[w:Zahedan]] ["South Khorasan Province, Iran"] = {}, -- abbreviation SK, capital [[w:Birjand]] ["Tehran Province, Iran"] = {}, -- abbreviation TE, capital [[w:Tehran]] ["West Azerbaijan Province, Iran"] = {}, -- abbreviation WA, capital [[w:Urmia]] ["Yazd Province, Iran"] = {}, -- abbreviation YA, capital [[w:Yazd]] ["Zanjan Province, Iran"] = {}, -- abbreviation ZA, capital [[w:Zanjan, Iran|Zanjan]] } -- provinces of Iran export.iran_group = { key_to_placename = make_key_to_placename(", Iran", " Province$"), placename_to_key = make_placename_to_key(", Iran", " Province"), default_container = "Iran", default_placetype = "province", -- There aren't nearly enough counties of Iran currently entered in any language to allow for categorizing them -- per-province. (As of 2025-05-09, there are only 6 counties in each of [[Category:en:Counties of Iran]], -- [[Category:fa:Counties of Iran]] and [[Category:ar:Counties of Iran]].) -- default_divs = "counties", -- For obscure reasons, provinces of Iran, Laos, Thailand and Vietnam use lowercase 'province' default_wp = "%e province", data = export.iran_provinces, } export.ireland_counties = { ["County Carlow, Ireland"] = {}, ["County Cavan, Ireland"] = {}, ["County Clare, Ireland"] = {}, ["County Cork, Ireland"] = {}, ["County Donegal, Ireland"] = {}, ["County Dublin, Ireland"] = {}, ["County Galway, Ireland"] = {}, ["County Kerry, Ireland"] = {}, ["County Kildare, Ireland"] = {}, ["County Kilkenny, Ireland"] = {}, ["County Laois, Ireland"] = {}, ["County Leitrim, Ireland"] = {}, ["County Limerick, Ireland"] = {}, ["County Longford, Ireland"] = {}, ["County Louth, Ireland"] = {}, ["County Mayo, Ireland"] = {}, ["County Meath, Ireland"] = {}, ["County Monaghan, Ireland"] = {}, ["County Offaly, Ireland"] = {}, ["County Roscommon, Ireland"] = {}, ["County Sligo, Ireland"] = {}, ["County Tipperary, Ireland"] = {}, ["County Waterford, Ireland"] = {}, ["County Westmeath, Ireland"] = {}, ["County Wexford, Ireland"] = {}, ["County Wicklow, Ireland"] = {}, } local function make_irish_type_key_to_placename(container_pattern) return function(key) key = key:gsub(container_pattern, "") local elliptical_key = key:gsub("^County ", "") return key, elliptical_key end end local function make_irish_type_placename_to_key(container_suffix) return function(placename) if not placename:find("^County ") and not placename:find("^City ") then placename = "County " .. placename end return placename .. container_suffix end end -- counties of Ireland export.ireland_group = { key_to_placename = make_irish_type_key_to_placename(", Ireland$"), placename_to_key = make_irish_type_placename_to_key(", Ireland"), default_container = "Ireland", default_placetype = "county", data = export.ireland_counties, } export.italy_administrative_regions = { ["Abruzzo, Italy"] = {}, ["Aosta Valley, Italy"] = {placetype = {"autonomous region", "administrative region", "region"}}, ["Apulia, Italy"] = {}, ["Basilicata, Italy"] = {}, ["Calabria, Italy"] = {}, ["Campania, Italy"] = {}, ["Emilia-Romagna, Italy"] = {}, ["Friuli-Venezia Giulia, Italy"] = {placetype = {"autonomous region", "administrative region", "region"}}, ["Lazio, Italy"] = {}, ["Liguria, Italy"] = {}, ["Lombardy, Italy"] = {}, ["Marche, Italy"] = {}, ["Molise, Italy"] = {}, ["Piedmont, Italy"] = {}, ["Sardinia, Italy"] = {placetype = {"autonomous region", "administrative region", "region"}}, ["Sicily, Italy"] = {placetype = {"autonomous region", "administrative region", "region"}}, ["Trentino-Alto Adige, Italy"] = {placetype = {"autonomous region", "administrative region", "region"}}, ["Tuscany, Italy"] = {}, ["Umbria, Italy"] = {}, ["Veneto, Italy"] = {}, } -- administrative regions of Italy export.italy_group = { default_container = "Ý", default_placetype = "region", data = export.italy_administrative_regions, } -- table of Japanese prefectures; interpolated into the main 'places' table, but also needed separately export.japan_prefectures = { ["Aichi, Nhật Bản"] = {}, ["Akita, Nhật Bản"] = {}, ["Aomori, Nhật Bản"] = {}, ["Chiba, Nhật Bản"] = {}, ["Ehime, Nhật Bản"] = {}, ["Fukui, Nhật Bản"] = {}, ["Fukuoka, Nhật Bản"] = {}, ["Fukushima, Nhật Bản"] = {}, ["Gifu, Nhật Bản"] = {}, ["Gunma, Nhật Bản"] = {}, ["Hiroshima, Nhật Bản"] = {}, ["Hokkaidō, Nhật Bản"] = {divs = "subprefectures", wp = "Hokkaidō"}, ["Hyōgo, Nhật Bản"] = {}, ["Hyogo, Nhật Bản"] = {alias_of = "Hyōgo, Nhật Bản", display = true}, ["Ibaraki, Nhật Bản"] = {}, ["Ishikawa, Nhật Bản"] = {}, ["Iwate, Nhật Bản"] = {}, ["Kagawa, Nhật Bản"] = {}, ["Kagoshima, Nhật Bản"] = {}, ["Kanagawa, Nhật Bản"] = {}, ["Kōchi, Nhật Bản"] = {}, ["Kochi, Nhật Bản"] = {alias_of = "Kōchi, Nhật Bản", display = true}, ["Kumamoto, Nhật Bản"] = {}, ["Kyoto, Nhật Bản"] = {}, ["Mie, Nhật Bản"] = {}, ["Miyagi, Nhật Bản"] = {}, ["Miyazaki, Nhật Bản"] = {}, ["Nagano, Nhật Bản"] = {}, ["Nagasaki, Nhật Bản"] = {}, ["Nara, Nhật Bản"] = {}, ["Niigata, Nhật Bản"] = {}, ["Ōita, Nhật Bản"] = {}, ["Oita, Nhật Bản"] = {alias_of = "Ōita, Nhật Bản", display = true}, ["Okayama, Nhật Bản"] = {}, ["Okinawa, Nhật Bản"] = {}, ["Ōsaka, Nhật Bản"] = {}, ["Osaka, Nhật Bản"] = {alias_of = "Ōsaka, Nhật Bản", display = true}, ["Saga, Nhật Bản"] = {}, ["Saitama, Nhật Bản"] = {}, ["Shiga, Nhật Bản"] = {}, ["Shimane, Nhật Bản"] = {}, ["Shizuoka, Nhật Bản"] = {}, ["Tochigi, Nhật Bản"] = {}, ["Tokushima, Nhật Bản"] = {}, ["Tottori, Nhật Bản"] = {}, ["Toyama, Nhật Bản"] = {}, ["Wakayama, Nhật Bản"] = {}, ["Yamagata, Nhật Bản"] = {}, ["Yamaguchi, Nhật Bản"] = {}, ["Yamanashi, Nhật Bản"] = {}, } -- prefectures of Japan export.japan_group = { key_to_placename = make_key_to_placename(", Nhật Bản$", " $"), placename_to_key = make_placename_to_key(", Nhật Bản", ""), default_container = "Nhật Bản", default_placetype = "prefecture", data = export.japan_prefectures, } export.laos_provinces = { ["Attapeu Province, Laos"] = {}, ["Bokeo Province, Laos"] = {}, ["Bolikhamxai Province, Laos"] = {}, ["Champasak Province, Laos"] = {}, ["Houaphanh Province, Laos"] = {}, ["Khammouane Province, Laos"] = {}, ["Luang Namtha Province, Laos"] = {}, ["Luang Prabang Province, Laos"] = {}, ["Oudomxay Province, Laos"] = {}, ["Phongsaly Province, Laos"] = {}, ["Salavan Province, Laos"] = {}, ["Savannakhet Province, Laos"] = {}, ["Vientiane Province, Laos"] = {}, ["Vientiane Prefecture, Laos"] = {placetype = "prefecture", wp = "%l"}, ["Sainyabuli Province, Laos"] = {}, ["Sekong Province, Laos"] = {}, ["Xaisomboun Province, Laos"] = {}, ["Xiangkhouang Province, Laos"] = {}, } local function laos_placename_to_key(placename) if placename == "Vientiane Prefecture" then return placename .. ", Laos" end if placename:find(" Province$") then return placename .. ", Laos" end return placename .. " Province, Laos" end -- provinces of Laos export.laos_group = { key_to_placename = make_key_to_placename(", Laos$", {" Province$", " Prefecture$"}), placename_to_key = laos_placename_to_key, default_container = "Lào", default_placetype = "province", -- For obscure reasons, provinces of Iran, Laos, Thailand and Vietnam use lowercase 'province' default_wp = "%e province", data = export.laos_provinces, } export.lebanon_governorates = { ["Akkar Governorate, Lebanon"] = {}, ["Baalbek-Hermel Governorate, Lebanon"] = {}, ["Beirut Governorate, Lebanon"] = {}, ["Beqaa Governorate, Lebanon"] = {}, ["Keserwan-Jbeil Governorate, Lebanon"] = {}, ["Mount Lebanon Governorate, Lebanon"] = {}, ["Nabatieh Governorate, Lebanon"] = {}, -- These two are generic enough that we don't want to automatically augment a use of `gov/North Governorate` or -- `gov/South Governorate` with `c/Lebanon`. ["North Governorate, Lebanon"] = {no_auto_augment_container = true}, ["South Governorate, Lebanon"] = {no_auto_augment_container = true}, } -- governorates of Lebanon export.lebanon_group = { key_to_placename = make_key_to_placename(", Lebanon$", " Governorate$"), placename_to_key = make_placename_to_key(", Lebanon", " Governorate"), default_container = "Lebanon", default_placetype = "governorate", data = export.lebanon_governorates, } export.malaysia_states = { ["Johor, Malaysia"] = {}, ["Kedah, Malaysia"] = {}, ["Kelantan, Malaysia"] = {}, ["Malacca, Malaysia"] = {}, ["Negeri Sembilan, Malaysia"] = {}, ["Pahang, Malaysia"] = {}, ["Penang, Malaysia"] = {}, ["Perak, Malaysia"] = {}, ["Perlis, Malaysia"] = {}, ["Sabah, Malaysia"] = {}, ["Sarawak, Malaysia"] = {}, ["Selangor, Malaysia"] = {}, ["Terengganu, Malaysia"] = {}, } -- states of Malaysia export.malaysia_group = { default_container = "Malaysia", default_placetype = "state", default_wp = "%l, %c", data = export.malaysia_states, } export.malta_regions = { -- Some of the regions are generic enough that we don't want to automatically augment a use of e.g. -- `r/Northern Region` with `c/Malta`. In particular; -- * "Eastern Region" also occurs at least in Ghana, Uganda, Iceland, Nigeria, Venezuela, North Macedonia and -- El Salvador; -- * "Northern Region" also occurs at least in Ghana, Uganda, Malawi, Nigeria, Canada and South Africa; -- * "Western Region" also occurs at least in Abu Dhabi, Bahrain, South Africa, Ghana, Iceland, Nepal, Nigeria, -- Serbia and Uganda; -- * "Southern Region" also occurs at least in Nigeria, Eritrea, Iceland, Ireland, Malawi and Serbia. ["Eastern Region, Malta"] = {no_auto_augment_container = true}, ["Gozo Region, Malta"] = {wp = "%l"}, ["Northern Region, Malta"] = {no_auto_augment_container = true}, ["Port Region, Malta"] = {}, ["Southern Region, Malta"] = {no_auto_augment_container = true}, ["Western Region, Malta"] = {no_auto_augment_container = true}, } -- regions of Malta export.malta_group = { key_to_placename = make_key_to_placename(", Malta$", " Region"), placename_to_key = make_placename_to_key(", Malta", " Region"), default_container = "Malta", default_placetype = "region", default_wp = "%l, %c", default_the = true, data = export.malta_regions, } export.mexico_states = { ["Aguascalientes, Mexico"] = {}, ["Baja California, Mexico"] = {}, -- not display-canonicalizing because the "Norte" could be for emphasis ["Baja California Norte, Mexico"] = {alias_of = "Baja California, Mexico"}, ["Baja California Sur, Mexico"] = {}, ["Campeche, Mexico"] = {}, ["Chiapas, Mexico"] = {}, ["Chihuahua, Mexico"] = {wp = "%l (state)"}, ["Coahuila, Mexico"] = {}, ["Colima, Mexico"] = {}, ["Durango, Mexico"] = {}, ["Guanajuato, Mexico"] = {}, ["Guerrero, Mexico"] = {}, ["Hidalgo, Mexico"] = {wp = "%l (state)"}, ["Jalisco, Mexico"] = {}, ["State of Mexico, Mexico"] = {the = true}, ["Mexico, Mexico"] = {alias_of = "State of Mexico, Mexico"}, -- differs in "the" -- ["Mexico City, Mexico"] = {}, doesn't belong here because it's a city ["Michoacán, Mexico"] = {}, ["Michoacan, Mexico"] = {alias_of = "Michoacán, Mexico", display = true}, ["Morelos, Mexico"] = {}, ["Nayarit, Mexico"] = {}, ["Nuevo León, Mexico"] = {}, ["Nuevo Leon, Mexico"] = {alias_of = "Nuevo León, Mexico", display = true}, ["Oaxaca, Mexico"] = {}, ["Puebla, Mexico"] = {}, ["Querétaro, Mexico"] = {}, ["Queretaro, Mexico"] = {alias_of = "Querétaro, Mexico", display = true}, ["Quintana Roo, Mexico"] = {}, ["San Luis Potosí, Mexico"] = {}, ["San Luis Potosi, Mexico"] = {alias_of = "San Luis Potosí, Mexico", display = true}, ["Sinaloa, Mexico"] = {}, ["Sonora, Mexico"] = {}, ["Tabasco, Mexico"] = {}, ["Tamaulipas, Mexico"] = {}, ["Tlaxcala, Mexico"] = {}, ["Veracruz, Mexico"] = {}, ["Yucatán, Mexico"] = {}, ["Yucatan, Mexico"] = {alias_of = "Yucatán, Mexico", display = true}, ["Zacatecas, Mexico"] = {}, } -- Mexican states export.mexico_group = { default_container = "Mexico", default_placetype = "state", data = export.mexico_states, } export.moldova_districts_and_autonomous_territorial_units = { ["Anenii Noi District, Moldova"] = {}, -- capital [[Anenii Noi]] ["Basarabeasca District, Moldova"] = {}, -- capital [[Basarabeasca]] ["Briceni District, Moldova"] = {}, -- capital [[Briceni]] ["Cahul District, Moldova"] = {}, -- capital [[Cahul]] ["Cantemir District, Moldova"] = {}, -- capital [[Cantemir, Moldova|Cantemir]] ["Călărași District, Moldova"] = {}, -- capital [[Călărași, Moldova|Călărași]] ["Căușeni District, Moldova"] = {}, -- capital [[Căușeni]] ["Cimișlia District, Moldova"] = {}, -- capital [[Cimișlia]] ["Criuleni District, Moldova"] = {}, -- capital [[Criuleni]] ["Dondușeni District, Moldova"] = {}, -- capital [[Dondușeni]] ["Drochia District, Moldova"] = {}, -- capital [[Drochia]] ["Dubăsari District, Moldova"] = {}, -- capital [[Cocieri]] ["Edineț District, Moldova"] = {}, -- capital [[Edineț]] ["Fălești District, Moldova"] = {}, -- capital [[Fălești]] ["Florești District, Moldova"] = {}, -- capital [[Florești, Moldova|Florești]] ["Glodeni District, Moldova"] = {}, -- capital [[Glodeni]] ["Hîncești District, Moldova"] = {}, -- capital [[Hîncești]] ["Ialoveni District, Moldova"] = {}, -- capital [[Ialoveni]] ["Leova District, Moldova"] = {}, -- capital [[Leova]] ["Nisporeni District, Moldova"] = {}, -- capital [[Nisporeni]] ["Ocnița District, Moldova"] = {}, -- capital [[Ocnița]] ["Orhei District, Moldova"] = {}, -- capital [[Orhei]] ["Rezina District, Moldova"] = {}, -- capital [[Rezina]] ["Rîșcani District, Moldova"] = {}, -- capital [[Rîșcani]] ["Sîngerei District, Moldova"] = {}, -- capital [[Sîngerei]] ["Soroca District, Moldova"] = {}, -- capital [[Soroca]] ["Strășeni District, Moldova"] = {}, -- capital [[Strășeni]] ["Șoldănești District, Moldova"] = {}, -- capital [[Șoldănești]] ["Ștefan Vodă District, Moldova"] = {}, -- capital [[Ștefan Vodă]] ["Taraclia District, Moldova"] = {}, -- capital [[Taraclia]] ["Telenești District, Moldova"] = {}, -- capital [[Telenești]] ["Ungheni District, Moldova"] = {}, -- capital [[Ungheni]] ["Chișinău, Moldova"] = {placetype = "municipality"}, ["Bălți, Moldova"] = {placetype = "municipality"}, ["Gagauzia, Moldova"] = {placetype = {"autonomous territorial unit", "autonomous region", "region"}}, -- capital [[Comrat]] -- the remainder are under the de-facto control of the unrecognized state of Transnistria ["Bender, Moldova"] = {placetype = "municipality"}, ["Tighina, Moldova"] = {alias_of = "Bender, Moldova"}, ["Transnistria, Moldova"] = {placetype = {"autonomous territorial unit", "autonomous region", "region"}}, -- capital [[Tiraspol]] ["Left Bank of the Dniester, Moldova"] = {alias_of = "Transnistria, Moldova"}, ["Administrative-Territorial Units of the Left Bank of the Dniester, Moldova"] = {alias_of = "Transnistria, Moldova"}, } local function moldova_placename_to_key(placename) local elliptical_key = placename .. ", Moldova" if export.moldova_districts_and_autonomous_territorial_units[elliptical_key] then return elliptical_key end if placename:find(" District$") then return placename .. ", Moldova" end return placename .. " District, Moldova" end -- Moldovan districts (raions) and autonomous territorial units export.moldova_group = { key_to_placename = make_key_to_placename(", Moldova$", " District"), placename_to_key = moldova_placename_to_key, default_container = "Moldova", default_placetype = {"district", "raion"}, default_divs = "communes", data = export.moldova_districts_and_autonomous_territorial_units, } export.morocco_regions = { ["Tangier-Tetouan-Al Hoceima, Morocco"] = {}, ["Oriental, Morocco"] = {wp = "%l (%c)"}, ["L'Oriental, Morocco"] = {alias_of = "Oriental, Morocco", display = true}, ["Fez-Meknes, Morocco"] = {}, ["Rabat-Sale-Kenitra, Morocco"] = {wp = "Rabat-Salé-Kénitra"}, ["Rabat-Salé-Kénitra, Morocco"] = {alias_of = "Rabat-Sale-Kenitra, Morocco", display = true}, ["Beni Mellal-Khenifra, Morocco"] = {wp = "Béni Mellal-Khénifra"}, ["Béni Mellal-Khénifra, Morocco"] = {alias_of = "Beni Mellal-Khenifra, Morocco", display = true}, ["Casablanca-Settat, Morocco"] = {}, ["Marrakesh-Safi, Morocco"] = {wp = "Marrakesh–Safi"}, -- WP title has en-dash ["Marrakech-Safi, Morocco"] = {alias_of = "Marrakesh-Safi, Morocco", display = true}, ["Draa-Tafilalet, Morocco"] = {wp = "Drâa-Tafilalet"}, ["Drâa-Tafilalet, Morocco"] = {alias_of = "Draa-Tafilalet, Morocco", display = true}, ["Souss-Massa, Morocco"] = {}, ["Guelmim-Oued Noun, Morocco"] = { keydesc = "+++. '''NOTE:''' This region lies partly within the disputed territory of [[Western Sahara]]" }, ["Laayoune-Sakia El Hamra, Morocco"] = { wp = "Laâyoune-Sakia El Hamra", keydesc = "+++. '''NOTE:''' This region lies almost completely within the disputed territory of [[Western Sahara]]", }, ["Laâyoune-Sakia El Hamra, Morocco"] = {alias_of = "Laayoune-Sakia El Hamra, Morocco", display = true}, ["Dakhla-Oued Ed-Dahab, Morocco"] = { keydesc = "+++. '''NOTE:''' This region lies completely within the disputed territory of [[Western Sahara]]", }, } -- regions of Morocco export.morocco_group = { default_container = "Maroc", default_placetype = "region", data = export.morocco_regions, } export.egypt_governorates = { ["Cairo Governorate, Egypt"] = {}, ["Giza Governorate, Egypt"] = {}, ["Sharqia Governorate, Egypt"] = {}, ["Dakahlia Governorate, Egypt"] = {}, ["Beheira Governorate, Egypt"] = {}, ["Minya Governorate, Egypt"] = {}, ["Qalyubia Governorate, Egypt"] = {}, ["Sohag Governorate, Egypt"] = {}, ["Alexandria Governorate, Egypt"] = {}, ["Gharbia Governorate, Egypt"] = {}, ["Asyut Governorate, Egypt"] = {}, ["Monufia Governorate, Egypt"] = {}, ["Faiyum Governorate, Egypt"] = {}, ["Kafr El Sheikh Governorate, Egypt"] = {}, ["Qena Governorate, Egypt"] = {}, ["Beni Suef Governorate, Egypt"] = {}, ["Damietta Governorate, Egypt"] = {}, ["Aswan Governorate, Egypt"] = {}, ["Ismailia Governorate, Egypt"] = {}, ["Luxor Governorate, Egypt"] = {}, ["Suez Governorate, Egypt"] = {}, ["Port Said Governorate, Egypt"] = {}, ["Matrouh Governorate, Egypt"] = {}, ["North Sinai Governorate, Egypt"] = {}, ["Red Sea Governorate, Egypt"] = {}, ["New Valley Governorate, Egypt"] = {}, ["South Sinai Governorate, Egypt"] = {}, } -- governorates of Egypt export.egypt_group = { key_to_placename = make_key_to_placename(", Egypt$", " Governorate$"), placename_to_key = make_placename_to_key(", Egypt", " Governorate"), default_container = "Ai Cập", default_placetype = "governorate", data = export.egypt_governorates, } export.netherlands_provinces = { ["Drenthe, Netherlands"] = {}, ["Flevoland, Netherlands"] = {}, ["Friesland, Netherlands"] = {}, ["Gelderland, Netherlands"] = {}, ["Groningen, Netherlands"] = {wp = "%l (province)"}, ["Limburg, Netherlands"] = {wp = "%l (%c)"}, ["North Brabant, Netherlands"] = {}, -- Foreign forms get display-canonicalized. ["Noord-Brabant, Netherlands"] = {alias_of = "North Brabant, Netherlands", display = true}, ["North Holland, Netherlands"] = {}, ["Noord-Holland, Netherlands"] = {alias_of = "North Holland, Netherlands", display = true}, ["Overijssel, Netherlands"] = {}, ["South Holland, Netherlands"] = {}, ["Zuid-Holland, Netherlands"] = {alias_of = "South Holland, Netherlands", display = true}, ["Utrecht, Netherlands"] = {wp = "%l (province)"}, ["Zeeland, Netherlands"] = {}, } -- provinces of the Netherlands export.netherlands_group = { default_container = "Hà Lan", default_placetype = "province", default_divs = "municipalities", data = export.netherlands_provinces, } export.new_zealand_regions = { -- North Island regions ["Northland, New Zealand"] = {wp = "%l Region"}, -- ISO 3166-2 code NZ-NTL, number 1, capital [[Whangārei]] ["Auckland, New Zealand"] = {wp = "%l Region"}, -- ISO 3166-2 code NZ-AUK, number 2, capital [[Auckland]] ["Waikato, New Zealand"] = {}, -- ISO 3166-2 code NZ-WKO, number 3, capital [[Hamilton, New Zealand|Hamilton]] ["Bay of Plenty, New Zealand"] = {the = true, wp = "%l Region"}, -- ISO 3166-2 code NZ-BOP, number 4, capital [[Whakatāne]] ["Gisborne, New Zealand"] = {placetype = {"region", "district"}, wp = "%l District"}, -- ISO 3166-2 code NZ-GIS, number 5, capital [[Gisborne, New Zealand|Gisborne]] ["Hawke's Bay, New Zealand"] = {}, -- ISO 3166-2 code NZ-HKB, number 6, capital [[Napier, New Zealand|Napier]] ["Taranaki, New Zealand"] = {}, -- ISO 3166-2 code NZ-TKI, number 7, capital [[Stratford, New Zealand|Stratford]] ["Manawatū-Whanganui, New Zealand"] = {}, -- ISO 3166-2 code NZ-MWT, number 8, capital [[Palmerston North]] ["Manawatu-Whanganui, New Zealand"] = {alias_of = "Manawatū-Whanganui, New Zealand", display = true}, ["Manawatu-Wanganui, New Zealand"] = {alias_of = "Manawatū-Whanganui, New Zealand", display = true}, ["Wellington, New Zealand"] = {wp = "%l Region"}, -- ISO 3166-2 code NZ-WGN, number 9, capital [[Wellington]] -- South Island regions ["Tasman, New Zealand"] = {placetype = {"region", "district"}, wp = "%l District"}, -- ISO 3166-2 code NZ-TAS, number 10, capital [[Richmond, New Zealand|Richmond]] ["Nelson, New Zealand"] = {placetype = {"region", "thành phố"}, wp = "%l, %c", is_city = true}, -- ISO 3166-2 code NZ-NSN, number 11, capital [[Nelson, New Zealand|Nelson]] ["Marlborough, New Zealand"] = {placetype = {"region", "district"}, wp = "%l District"}, -- ISO 3166-2 code NZ-MBH, number 12, capital [[Blenheim, New Zealand|Blenheim]] ["West Coast, New Zealand"] = {the = true, wp = "%l Region"}, -- ISO 3166-2 code NZ-WTC, number 13, capital [[Greymouth]] ["Canterbury, New Zealand"] = {wp = "%l Region"}, -- ISO 3166-2 code NZ-CAN, number 14, capital [[Christchurch]] ["Otago, New Zealand"] = {}, -- ISO 3166-2 code NZ-OTA, number 15, capital [[Dunedin]] ["Southland, New Zealand"] = {wp = "%l Region"}, -- ISO 3166-2 code NZ-STL, number 16, capital [[Invercargill]] } -- regions of New Zealand export.new_zealand_group = { default_container = "New Zealand", default_placetype = "region", data = export.new_zealand_regions, } export.nigeria_states = { ["Abia State, Nigeria"] = {}, ["Adamawa State, Nigeria"] = {}, ["Akwa Ibom State, Nigeria"] = {}, ["Anambra State, Nigeria"] = {}, ["Bauchi State, Nigeria"] = {}, ["Bayelsa State, Nigeria"] = {}, ["Benue State, Nigeria"] = {}, ["Borno State, Nigeria"] = {}, ["Cross River State, Nigeria"] = {}, ["Delta State, Nigeria"] = {}, ["Ebonyi State, Nigeria"] = {}, ["Edo State, Nigeria"] = {}, ["Ekiti State, Nigeria"] = {}, ["Enugu State, Nigeria"] = {}, ["Federal Capital Territory, Nigeria"] = { -- not a state but allow it to be referenced as one in holonyms placetype = {"federal territory", "territory", "state"}, the = true, wp = "%l (%c)", }, ["Gombe State, Nigeria"] = {}, ["Imo State, Nigeria"] = {}, ["Jigawa State, Nigeria"] = {}, ["Kaduna State, Nigeria"] = {}, ["Kano State, Nigeria"] = {}, ["Katsina State, Nigeria"] = {}, ["Kebbi State, Nigeria"] = {}, ["Kogi State, Nigeria"] = {}, ["Kwara State, Nigeria"] = {}, ["Lagos State, Nigeria"] = {}, ["Nasarawa State, Nigeria"] = {}, ["Niger State, Nigeria"] = {}, ["Ogun State, Nigeria"] = {}, ["Ondo State, Nigeria"] = {}, ["Osun State, Nigeria"] = {}, ["Oyo State, Nigeria"] = {}, ["Plateau State, Nigeria"] = {}, ["Rivers State, Nigeria"] = {}, ["Sokoto State, Nigeria"] = {}, ["Taraba State, Nigeria"] = {}, ["Yobe State, Nigeria"] = {}, ["Zamfara State, Nigeria"] = {}, } -- states of Nigeria export.nigeria_group = { key_to_placename = make_key_to_placename(", Nigeria$", " State$"), placename_to_key = make_placename_to_key(", Nigeria", " State"), default_container = "Nigeria", default_placetype = "state", data = export.nigeria_states, } export.north_korea_provinces = { ["Chagang Province, North Korea"] = {}, ["North Hamgyong Province, North Korea"] = {}, ["South Hamgyong Province, North Korea"] = {}, ["North Hwanghae Province, North Korea"] = {}, ["South Hwanghae Province, North Korea"] = {}, ["Kangwon Province, North Korea"] = {wp = "%l (%c)"}, ["North Pyongan Province, North Korea"] = {}, ["South Pyongan Province, North Korea"] = {}, ["Ryanggang Province, North Korea"] = {}, } -- provinces of North Korea export.north_korea_group = { key_to_placename = make_key_to_placename(", North Korea$", " Province$"), placename_to_key = make_placename_to_key(", North Korea", " Province"), default_container = "Cộng hòa Dân chủ Nhân dân Triều Tiên", default_placetype = "province", data = export.north_korea_provinces, } export.norwegian_counties = { ["Oslo, Norway"] = {}, ["Rogaland, Norway"] = {}, ["Møre og Romsdal, Norway"] = {}, ["Nordland, Norway"] = {}, ["Østfold, Norway"] = {}, ["Akershus, Norway"] = {}, ["Buskerud, Norway"] = {}, -- the following two were merged into Innlandet -- ["Hedmark, Norway"] = {}, -- ["Oppland, Norway"] = {}, ["Innlandet, Norway"] = {}, ["Vestfold, Norway"] = {}, ["Telemark, Norway"] = {}, -- the following two were merged into Agder -- ["Aust-Agder, Norway"] = {}, -- ["Vest-Agder, Norway"] = {}, ["Agder, Norway"] = {}, -- the following two were merged into Vestland -- ["Hordaland, Norway"] = {}, -- ["Sogn og Fjordane, Norway"] = {}, ["Vestland, Norway"] = {}, ["Trøndelag, Norway"] = {}, ["Troms, Norway"] = {}, ["Finnmark, Norway"] = {}, } -- counties of Norway export.norway_group = { default_container = "Na Uy", default_placetype = "county", data = export.norwegian_counties, } export.pakistan_provinces_and_territories = { ["Azad Kashmir, Pakistan"] = { placetype = {"administrative territory", "autonomous territory", "territory"}, }, ["Azad Jammu and Kashmir, Pakistan"] = {alias_of = "Azad Kashmir, Pakistan", display = true}, ["Balochistan, Pakistan"] = {wp = "%l, %c"}, ["Gilgit-Baltistan, Pakistan"] = { placetype = {"administrative territory", "territory"}, }, ["Islamabad Capital Territory, Pakistan"] = { the = true, divs = {}, -- no divisions placetype = {"federal territory", "administrative territory", "territory"}, }, -- Islamabad is an accepted alias for Islamabad Capital Territory given the above placetypes ["Islamabad, Pakistan"] = {alias_of = "Islamabad Capital Territory, Pakistan"}, ["Khyber Pakhtunkhwa, Pakistan"] = {}, ["Punjab, Pakistan"] = {wp = "%l, %c"}, ["Sindh, Pakistan"] = {}, } -- provinces and territories of Pakistan export.pakistan_group = { default_container = "Pakistan", default_placetype = "province", default_divs = "divisions", data = export.pakistan_provinces_and_territories, } export.philippines_provinces = { ["Abra, Philippines"] = {wp = "%l (province)"}, ["Agusan del Norte, Philippines"] = {}, ["Agusan del Sur, Philippines"] = {}, ["Aklan, Philippines"] = {}, ["Albay, Philippines"] = {}, ["Antique, Philippines"] = {wp = "%l (province)"}, ["Apayao, Philippines"] = {}, ["Aurora, Philippines"] = {wp = "%l (province)"}, ["Basilan, Philippines"] = {}, ["Bataan, Philippines"] = {}, ["Batanes, Philippines"] = {}, ["Batangas, Philippines"] = {}, ["Benguet, Philippines"] = {}, ["Biliran, Philippines"] = {}, ["Bohol, Philippines"] = {}, ["Bukidnon, Philippines"] = {}, ["Bulacan, Philippines"] = {}, ["Cagayan, Philippines"] = {}, ["Camarines Norte, Philippines"] = {}, ["Camarines Sur, Philippines"] = {}, ["Camiguin, Philippines"] = {}, ["Capiz, Philippines"] = {}, ["Catanduanes, Philippines"] = {}, ["Cavite, Philippines"] = {}, ["Cebu, Philippines"] = {}, ["Cotabato, Philippines"] = {}, ["Davao de Oro, Philippines"] = {}, ["Davao del Norte, Philippines"] = {}, ["Davao del Sur, Philippines"] = {}, ["Davao Occidental, Philippines"] = {}, ["Davao Oriental, Philippines"] = {}, ["Dinagat Islands, Philippines"] = {the = true}, ["Eastern Samar, Philippines"] = {}, ["Guimaras, Philippines"] = {}, ["Ifugao, Philippines"] = {}, ["Ilocos Norte, Philippines"] = {}, ["Ilocos Sur, Philippines"] = {}, ["Iloilo, Philippines"] = {}, ["Isabela, Philippines"] = {wp = "%l (province)"}, ["Kalinga, Philippines"] = {wp = "%l (province)"}, ["La Union, Philippines"] = {}, ["Laguna, Philippines"] = {wp = "%l (province)"}, ["Lanao del Norte, Philippines"] = {}, ["Lanao del Sur, Philippines"] = {}, ["Leyte, Philippines"] = {wp = "%l (province)"}, ["Maguindanao del Norte, Philippines"] = {}, ["Maguindanao del Sur, Philippines"] = {}, ["Marinduque, Philippines"] = {}, ["Masbate, Philippines"] = {}, ["Misamis Occidental, Philippines"] = {}, ["Misamis Oriental, Philippines"] = {}, ["Mountain Province, Philippines"] = {}, ["Negros Occidental, Philippines"] = {}, ["Negros Oriental, Philippines"] = {}, ["Northern Samar, Philippines"] = {}, ["Nueva Ecija, Philippines"] = {}, ["Nueva Vizcaya, Philippines"] = {}, ["Occidental Mindoro, Philippines"] = {}, ["Oriental Mindoro, Philippines"] = {}, ["Palawan, Philippines"] = {}, ["Pampanga, Philippines"] = {}, ["Pangasinan, Philippines"] = {}, ["Quezon, Philippines"] = {}, ["Quirino, Philippines"] = {}, ["Rizal, Philippines"] = {wp = "%l (province)"}, ["Romblon, Philippines"] = {}, ["Samar, Philippines"] = {wp = "%l (province)"}, ["Sarangani, Philippines"] = {}, ["Siquijor, Philippines"] = {}, ["Sorsogon, Philippines"] = {}, ["South Cotabato, Philippines"] = {}, ["Southern Leyte, Philippines"] = {}, ["Sultan Kudarat, Philippines"] = {}, ["Sulu, Philippines"] = {}, ["Surigao del Norte, Philippines"] = {}, ["Surigao del Sur, Philippines"] = {}, ["Tarlac, Philippines"] = {}, ["Tawi-Tawi, Philippines"] = {}, ["Zambales, Philippines"] = {}, ["Zamboanga del Norte, Philippines"] = {}, ["Zamboanga del Sur, Philippines"] = {}, ["Zamboanga Sibugay, Philippines"] = {}, -- not a province but treated as one; allow it to be referred to as a province in holonyms ["Metro Manila, Philippines"] = {placetype = {"region", "province"}}, } -- provinces of the Philippines export.philippines_group = { default_container = "Philippines", default_placetype = "province", default_divs = {"municipalities", "barangays"}, data = export.philippines_provinces, } export.poland_voivodeships = { ["Lower Silesian Voivodeship, Poland"] = {}, -- abbr DS, code 02, capital Wrocław ["Kuyavian-Pomeranian Voivodeship, Poland"] = {}, -- abbr KP, code 04, capital Bydgoszcz (seat of voivode), Toruń (seat of sejmik and marshal) ["Lublin Voivodeship, Poland"] = {}, -- abbr LU, code 06, capital Lublin ["Lubusz Voivodeship, Poland"] = {}, -- abbr LB, code 08, capital Gorzów Wielkopolski (seat of voivode), Zielona Góra (seat of sejmik and marshal) ["Lodz Voivodeship, Poland"] = {wp = "Łódź Voivodeship"}, -- abbr LD, code 10, capital Łódź ["Łódź Voivodeship, Poland"] = {alias_of = "Lodz Voivodeship, Poland", display = true, display_as_full = true}, ["Lesser Poland Voivodeship, Poland"] = {}, -- abbr MA, code 12, capital Kraków ["Masovian Voivodeship, Poland"] = {}, -- abbr MZ, code 14, capital Warsaw ["Opole Voivodeship, Poland"] = {}, -- abbr OP, code 16, capital Opole ["Subcarpathian Voivodeship, Poland"] = {}, -- abbr PK, code 18, capital Rzeszów ["Podlaskie Voivodeship, Poland"] = {}, -- abbr PD, code 20, capital Białystok ["Pomeranian Voivodeship, Poland"] = {}, -- abbr PM, code 22, capital Gdańsk ["Silesian Voivodeship, Poland"] = {}, -- abbr SL, code 24, capital Katowice ["Holy Cross Voivodeship, Poland"] = {wp = "Świętokrzyskie Voivodeship"}, -- abbr SK, code 26, capital Kielce ["Świętokrzyskie Voivodeship, Poland"] = {alias_of = "Holy Cross Voivodeship, Poland", display = true, display_as_full = true}, ["Warmian-Masurian Voivodeship, Poland"] = {}, -- abbr WN, code 28, capital Olsztyn ["Greater Poland Voivodeship, Poland"] = {}, -- abbr WP, code 30, capital Poznań ["West Pomeranian Voivodeship, Poland"] = {}, -- abbr ZP, code 32, capital Szczecin } -- voivodeships of Poland export.poland_group = { key_to_placename = make_key_to_placename(", Poland$", " Voivodeship$"), placename_to_key = make_placename_to_key(", Poland", " Voivodeship"), default_container = "Ba Lan", default_placetype = "voivodeship", default_divs = { -- "counties", -- not enough of them currently {type = "Polish colonies", cat_as = {{type = "villages", prep = "in"}}}, }, data = export.poland_voivodeships, } export.portugal_districts_and_autonomous_regions = { ["Azores, Portugal"] = {the = true, placetype = {"autonomous region", "region"}}, ["Aveiro District, Portugal"] = {}, ["Beja District, Portugal"] = {}, ["Braga District, Portugal"] = {}, ["Bragança District, Portugal"] = {}, ["Castelo Branco District, Portugal"] = {}, ["Coimbra District, Portugal"] = {}, ["Évora District, Portugal"] = {}, ["Faro District, Portugal"] = {}, ["Guarda District, Portugal"] = {}, ["Leiria District, Portugal"] = {}, ["Lisbon District, Portugal"] = {}, ["Lisboa District, Portugal"] = {alias_of = "Lisbon District, Portugal", display = true}, ["Madeira, Portugal"] = {placetype = {"autonomous region", "region"}}, ["Portalegre District, Portugal"] = {}, ["Porto District, Portugal"] = {}, ["Santarém District, Portugal"] = {}, ["Setúbal District, Portugal"] = {}, ["Viana do Castelo District, Portugal"] = {}, ["Vila Real District, Portugal"] = {}, ["Viseu District, Portugal"] = {}, } local function portugal_placename_to_key(placename) if placename == "Azores" or placename == "Madeira" then return placename .. ", Portugal" end if placename:find(" District$") then return placename .. ", Portugal" end return placename .. " District, Portugal" end -- districts and autonomous regions of Portugal export.portugal_group = { key_to_placename = make_key_to_placename(", Portugal$", " District$"), placename_to_key = portugal_placename_to_key, default_container = "Portugal", default_placetype = "district", default_divs = "municipalities", data = export.portugal_districts_and_autonomous_regions, } export.romania_counties = { ["Alba County, Romania"] = {}, ["Arad County, Romania"] = {}, ["Argeș County, Romania"] = {}, ["Bacău County, Romania"] = {}, ["Bihor County, Romania"] = {}, ["Bistrița-Năsăud County, Romania"] = {}, ["Botoșani County, Romania"] = {}, ["Brașov County, Romania"] = {}, ["Brăila County, Romania"] = {}, -- Bucharest: not in a county ["Buzău County, Romania"] = {}, ["Caraș-Severin County, Romania"] = {}, ["Cluj County, Romania"] = {}, ["Constanța County, Romania"] = {}, ["Covasna County, Romania"] = {}, ["Călărași County, Romania"] = {}, ["Dolj County, Romania"] = {}, ["Dâmbovița County, Romania"] = {}, ["Galați County, Romania"] = {}, ["Giurgiu County, Romania"] = {}, ["Gorj County, Romania"] = {}, ["Harghita County, Romania"] = {}, ["Hunedoara County, Romania"] = {}, ["Ialomița County, Romania"] = {}, ["Iași County, Romania"] = {}, ["Ilfov County, Romania"] = {}, ["Maramureș County, Romania"] = {}, ["Mehedinți County, Romania"] = {}, ["Mureș County, Romania"] = {}, ["Neamț County, Romania"] = {}, ["Olt County, Romania"] = {}, ["Prahova County, Romania"] = {}, ["Satu Mare County, Romania"] = {}, ["Sibiu County, Romania"] = {}, ["Suceava County, Romania"] = {}, ["Sălaj County, Romania"] = {}, ["Teleorman County, Romania"] = {}, ["Timiș County, Romania"] = {}, ["Tulcea County, Romania"] = {}, ["Vaslui County, Romania"] = {}, ["Vrancea County, Romania"] = {}, ["Vâlcea County, Romania"] = {}, } -- counties of Romania export.romania_group = { key_to_placename = make_key_to_placename(", Romania$", " County$"), placename_to_key = make_placename_to_key(", Romania", " County"), default_container = "Romania", default_placetype = "county", default_divs = "communes", data = export.romania_counties, } local function make_russia_federal_subject_spec(spectype, use_the, wp) return { placetype = spectype, the = not not use_the, bare_category_parent_type = {"federal subjects", spectype .. "s"}, wp = wp, } end local russia_autonomous_okrug_no_the = {placetype = {"autonomous okrug", "okrug"}, bare_category_parent_type = {"federal subjects", "autonomous okrugs"}} local russia_autonomous_okrug_the = {placetype = {"autonomous okrug", "okrug"}, bare_category_parent_type = {"federal subjects", "autonomous okrugs"}, the = true} local russia_krai = make_russia_federal_subject_spec("krai") local russia_oblast = make_russia_federal_subject_spec("oblast") local russia_republic_the = make_russia_federal_subject_spec("republic", "use the") local russia_republic_no_the = make_russia_federal_subject_spec("republic") export.russia_federal_subjects = { -- autonomous oblasts ["Jewish Autonomous Oblast, Russia"] = {the = true, placetype = {"autonomous oblast", "oblast"}, bare_category_parent_type = {"federal subjects", "autonomous oblasts"}}, -- autonomous okrugs ["Chukotka Autonomous Okrug, Russia"] = russia_autonomous_okrug_the, ["Chukotka, Russia"] = {alias_of = "Chukotka Autonomous Okrug, Russia"}, ["Khanty-Mansi Autonomous Okrug, Russia"] = russia_autonomous_okrug_the, ["Khanty-Mansia, Russia"] = {alias_of = "Khanty-Mansi Autonomous Okrug, Russia"}, ["Khantia-Mansia, Russia"] = {alias_of = "Khanty-Mansi Autonomous Okrug, Russia"}, ["Yugra, Russia"] = {alias_of = "Khanty-Mansi Autonomous Okrug, Russia"}, ["Nenets Autonomous Okrug, Russia"] = russia_autonomous_okrug_the, ["Nenetsia, Russia"] = {alias_of = "Nenets Autonomous Okrug, Russia"}, ["Yamalo-Nenets Autonomous Okrug, Russia"] = russia_autonomous_okrug_the, ["Yamalia, Russia"] = {alias_of = "Yamalo-Nenets Autonomous Okrug, Russia"}, -- krais ["Altai Krai, Russia"] = russia_krai, ["Kamchatka Krai, Russia"] = russia_krai, ["Khabarovsk Krai, Russia"] = russia_krai, ["Krasnodar Krai, Russia"] = russia_krai, ["Krasnoyarsk Krai, Russia"] = russia_krai, ["Perm Krai, Russia"] = russia_krai, ["Primorsky Krai, Russia"] = russia_krai, ["Stavropol Krai, Russia"] = russia_krai, ["Zabaykalsky Krai, Russia"] = russia_krai, -- oblasts ["Amur Oblast, Russia"] = russia_oblast, ["Arkhangelsk Oblast, Russia"] = russia_oblast, ["Astrakhan Oblast, Russia"] = russia_oblast, ["Belgorod Oblast, Russia"] = russia_oblast, ["Bryansk Oblast, Russia"] = russia_oblast, ["Chelyabinsk Oblast, Russia"] = russia_oblast, ["Irkutsk Oblast, Russia"] = russia_oblast, ["Ivanovo Oblast, Russia"] = russia_oblast, ["Kaliningrad Oblast, Russia"] = russia_oblast, ["Kaluga Oblast, Russia"] = russia_oblast, ["Kemerovo Oblast, Russia"] = russia_oblast, ["Kirov Oblast, Russia"] = russia_oblast, ["Kostroma Oblast, Russia"] = russia_oblast, ["Kurgan Oblast, Russia"] = russia_oblast, ["Kursk Oblast, Russia"] = russia_oblast, ["Leningrad Oblast, Russia"] = russia_oblast, ["Lipetsk Oblast, Russia"] = russia_oblast, ["Magadan Oblast, Russia"] = russia_oblast, ["Moscow Oblast, Russia"] = russia_oblast, ["Murmansk Oblast, Russia"] = russia_oblast, ["Nizhny Novgorod Oblast, Russia"] = russia_oblast, ["Novgorod Oblast, Russia"] = russia_oblast, ["Novosibirsk Oblast, Russia"] = russia_oblast, ["Omsk Oblast, Russia"] = russia_oblast, ["Orenburg Oblast, Russia"] = russia_oblast, ["Oryol Oblast, Russia"] = russia_oblast, ["Penza Oblast, Russia"] = russia_oblast, ["Pskov Oblast, Russia"] = russia_oblast, ["Rostov Oblast, Russia"] = russia_oblast, ["Ryazan Oblast, Russia"] = russia_oblast, ["Sakhalin Oblast, Russia"] = russia_oblast, ["Samara Oblast, Russia"] = russia_oblast, ["Saratov Oblast, Russia"] = russia_oblast, ["Smolensk Oblast, Russia"] = russia_oblast, ["Sverdlovsk Oblast, Russia"] = russia_oblast, ["Tambov Oblast, Russia"] = russia_oblast, ["Tomsk Oblast, Russia"] = russia_oblast, ["Tula Oblast, Russia"] = russia_oblast, ["Tver Oblast, Russia"] = russia_oblast, ["Tyumen Oblast, Russia"] = russia_oblast, ["Ulyanovsk Oblast, Russia"] = russia_oblast, ["Vladimir Oblast, Russia"] = russia_oblast, ["Volgograd Oblast, Russia"] = russia_oblast, ["Vologda Oblast, Russia"] = russia_oblast, ["Voronezh Oblast, Russia"] = russia_oblast, ["Yaroslavl Oblast, Russia"] = russia_oblast, -- republics -- -- We only need to include cases that aren't just shortened versions of the full federal subject name (i.e. where -- words like "Republic" and "Oblast" are omitted but the name is not otherwise modified; these are handled by -- key_to_placename). Non-display-canonicalizing aliases are generally due to differences in the presence or absence -- of "the". ["Adygea, Russia"] = russia_republic_no_the, ["Republic of Adygea, Russia"] = {alias_of = "Adygea, Russia"}, ["Bashkortostan, Russia"] = russia_republic_no_the, ["Republic of Bashkortostan, Russia"] = {alias_of = "Bashkortostan, Russia"}, ["Bashkiria, Russia"] = {alias_of = "Bashkortostan, Russia"}, ["Buryatia, Russia"] = russia_republic_no_the, ["Republic of Buryatia, Russia"] = {alias_of = "Buryatia, Russia"}, ["Dagestan, Russia"] = russia_republic_no_the, ["Republic of Dagestan, Russia"] = {alias_of = "Dagestan, Russia"}, ["Ingushetia, Russia"] = russia_republic_no_the, ["Republic of Ingushetia, Russia"] = {alias_of = "Ingushetia, Russia"}, ["Kalmykia, Russia"] = russia_republic_no_the, ["Republic of Kalmykia, Russia"] = {alias_of = "Kalmykia, Russia"}, ["Karelia, Russia"] = make_russia_federal_subject_spec("republic", nil, "Republic of Karelia"), ["Republic of Karelia, Russia"] = {alias_of = "Karelia, Russia"}, ["Khakassia, Russia"] = russia_republic_no_the, ["Republic of Khakassia, Russia"] = {alias_of = "Khakassia, Russia"}, ["Mordovia, Russia"] = russia_republic_no_the, ["Republic of Mordovia, Russia"] = {alias_of = "Mordovia, Russia"}, ["North Ossetia-Alania, Russia"] = make_russia_federal_subject_spec("republic", nil, "North Ossetia–Alania"), -- with en-dash ["Republic of North Ossetia-Alania, Russia"] = {alias_of = "North Ossetia-Alania, Russia"}, ["North Ossetia, Russia"] = {alias_of = "North Ossetia-Alania, Russia", display = true}, ["Alania, Russia"] = {alias_of = "North Ossetia-Alania, Russia", display = true}, ["Tatarstan, Russia"] = russia_republic_no_the, ["Republic of Tatarstan, Russia"] = {alias_of = "Tatarstan, Russia"}, ["Altai Republic, Russia"] = russia_republic_the, ["Chechnya, Russia"] = russia_republic_no_the, ["Chechen Republic, Russia"] = {alias_of = "Chechnya, Russia"}, ["Chuvashia, Russia"] = russia_republic_no_the, ["Chuvash Republic, Russia"] = {alias_of = "Chuvashia, Russia"}, ["Kabardino-Balkaria, Russia"] = russia_republic_no_the, ["Kabardino-Balkariya, Russia"] = {alias_of = "Kabardino-Balkaria, Russia", display = true}, ["Kabardino-Balkarian Republic, Russia"] = {alias_of = "Kabardino-Balkaria, Russia"}, ["Kabardino-Balkar Republic, Russia"] = {alias_of = "Kabardino-Balkaria, Russia", display = "Kabardino-Balkarian Republic, Russia"}, ["Karachay-Cherkessia, Russia"] = russia_republic_no_the, ["Karachay-Cherkess Republic, Russia"] = {alias_of = "Karachay-Cherkessia, Russia"}, ["Komi, Russia"] = make_russia_federal_subject_spec("republic", nil, "Komi Republic"), ["Komi Republic, Russia"] = {alias_of = "Komi, Russia"}, ["Mari El, Russia"] = russia_republic_no_the, ["Mari El Republic, Russia"] = {alias_of = "Mari El, Russia"}, ["Sakha, Russia"] = make_russia_federal_subject_spec("republic", nil, "Sakha Republic"), ["Sakha Republic, Russia"] = {alias_of = "Sakha, Russia"}, ["Yakutia, Russia"] = {alias_of = "Sakha, Russia"}, ["Yakutiya, Russia"] = {alias_of = "Sakha, Russia", display = "Yakutia, Russia"}, ["Republic of Yakutia (Sakha), Russia"] = {alias_of = "Sakha, Russia", display = "Sakha Republic, Russia", the = true}, ["Tuva, Russia"] = russia_republic_no_the, ["Tyva, Russia"] = {alias_of = "Tuva, Russia", display = true}, ["Tuva Republic, Russia"] = {alias_of = "Tuva, Russia"}, ["Tyva Republic, Russia"] = {alias_of = "Tuva, Russia", display= "Tuva Republic, Russia"}, ["Udmurtia, Russia"] = russia_republic_no_the, ["Udmurt Republic, Russia"] = {alias_of = "Udmurtia, Russia"}, -- Not included due to being unrecognized and only partly controlled: -- ["Crimea, Russia"] = make_russia_federal_subject_spec("republic", nil, "Republic of Crimea (Russia)") -- ["Donetsk People's Republic, Russia"] = russia_republic_the, -- ["Luhansk People's Republic, Russia"] = russia_republic_the, -- ["Zaporozhye Oblast, Russia"] = make_russia_federal_subject_spec("oblast", nil, "Russian occupation of Zaporizhzhia Oblast"), -- ["Kherson Oblast, Russia"] = make_russia_federal_subject_spec("oblast", nil, "Russian occupation of Kherson Oblast"), -- There are also federal cities (not included because they're cities): -- Moscow, Saint Petersburg; Sevastopol (unrecognized; same status as for "Crimea, Russia" above) } local function russia_key_to_placename(key) key = key:gsub(",.*", "") local full_placename = key if key == "Jewish Autonomous Oblast" then return full_placename, full_placename end local elliptical_placename for _, suffix in ipairs({"Krai", "Oblast"}) do elliptical_placename = key:match("^(.*) " .. suffix .. "$") if elliptical_placename then return full_placename, elliptical_placename end end return full_placename, full_placename end local function russia_placename_to_key(placename) local key = placename .. ", Russia" if export.russia_federal_subjects[key] then return key end -- We allow the user to say e.g. "obl/Samara" in place of "obl/Samara Oblast". for _, suffix in ipairs({"Krai", "Oblast"}) do local suffixed_key = placename .. " " .. suffix .. ", Russia" if export.russia_federal_subjects[suffixed_key] then return suffixed_key end end return placename .. ", Russia" end local function construct_russia_federal_subject_keydesc(group, key, spec) local placename = key:gsub(",.*", "") local linked_placename = export.construct_linked_placename(spec, placename) local placetype = spec.placetype if type(placetype) == "table" then placetype = placetype[1] end if placetype == "oblast" then -- Hack: Oblasts generally don't have entries under "Foo Oblast" -- but just under "Foo", so fix the linked key appropriately; -- doesn't apply to the Jewish Autonomous Oblast linked_placename = linked_placename:gsub(" Oblast%]%]", "%]%] Oblast") end return linked_placename .. ", a [[federal subject]] ([[" .. placetype .. "]]) of [[Russia]]" end -- federal subjects of Russia export.russia_group = { key_to_placename = russia_key_to_placename, placename_to_key = russia_placename_to_key, default_container = "Nga", default_keydesc = construct_russia_federal_subject_keydesc, default_overriding_bare_label_parents = {"federal subjects of Russia", "+++"}, data = export.russia_federal_subjects, } export.saudi_arabia_provinces = { ["Riyadh Province, Saudi Arabia"] = {}, ["Mecca Province, Saudi Arabia"] = {}, -- Name is too generic to assume it's in Saudi Arabia if not specified. ["Eastern Province, Saudi Arabia"] = {no_auto_augment_container = true, wp = "%l, %c"}, ["Medina Province, Saudi Arabia"] = {wp = "%l (%c)"}, ["Aseer Province, Saudi Arabia"] = {wp = "Asir"}, ["Asir Province, Saudi Arabia"] = {alias_of = "Aseer Province, Saudi Arabia", display = true}, ["Jazan Province, Saudi Arabia"] = {}, ["Qassim Province, Saudi Arabia"] = {wp = "Al-Qassim Province"}, ["Al-Qassim Province, Saudi Arabia"] = {alias_of = "Qassim Province, Saudi Arabia", display = true}, ["Tabuk Province, Saudi Arabia"] = {}, ["Hail Province, Saudi Arabia"] = {wp = "Ḥa'il Province"}, ["Ha'il Province, Saudi Arabia"] = {alias_of = "Hail Province, Saudi Arabia", display = true}, ["Ḥa'il Province, Saudi Arabia"] = {alias_of = "Hail Province, Saudi Arabia", display = true}, ["Al-Jouf Province, Saudi Arabia"] = {wp = "Al-Jawf Province"}, ["Al-Jawf Province, Saudi Arabia"] = {alias_of = "Al-Jouf Province, Saudi Arabia", display = true}, ["Najran Province, Saudi Arabia"] = {}, ["Northern Borders Province, Saudi Arabia"] = {}, ["Al-Bahah Province, Saudi Arabia"] = {}, } -- provinces of Saudi Arabia export.saudi_arabia_group = { key_to_placename = make_key_to_placename(", Saudi Arabia$", " Province$"), placename_to_key = make_placename_to_key(", Saudi Arabia", " Province"), default_container = "Ả Rập Xê Út", default_placetype = "province", data = export.saudi_arabia_provinces, } export.south_africa_provinces = { ["Eastern Cape, South Africa"] = {the = true}, ["Free State, South Africa"] = {the = true, wp = "%l (province)"}, ["Gauteng, South Africa"] = {}, ["KwaZulu-Natal, South Africa"] = {}, ["Limpopo, South Africa"] = {}, ["Mpumalanga, South Africa"] = {}, -- per Wikipedia and other sources, `North West` doesn't normally have `the` before it ["North West, South Africa"] = {wp = "%l (South African province)"}, ["Northern Cape, South Africa"] = {the = true}, ["Western Cape, South Africa"] = {the = true}, } -- provinces of South Africa export.south_africa_group = { default_container = "South Africa", default_placetype = "province", default_divs = "municipalities", data = export.south_africa_provinces, } export.south_korea_provinces = { ["North Chungcheong Province, South Korea"] = {}, ["South Chungcheong Province, South Korea"] = {}, ["Gangwon Province, South Korea"] = {wp = "%l, %c"}, ["Gyeonggi Province, South Korea"] = {}, ["North Gyeongsang Province, South Korea"] = {}, ["South Gyeongsang Province, South Korea"] = {}, ["North Jeolla Province, South Korea"] = {}, ["South Jeolla Province, South Korea"] = {}, ["Jeju Province, South Korea"] = {}, } -- provinces of South Korea export.south_korea_group = { key_to_placename = make_key_to_placename(", South Korea$", " Province$"), placename_to_key = make_placename_to_key(", South Korea", " Province"), default_container = "Hàn Quốc", default_placetype = "province", data = export.south_korea_provinces, } export.spain_autonomous_communities = { ["Andalusia, Spain"] = {}, ["Aragon, Spain"] = {}, ["Asturias, Spain"] = {}, ["Balearic Islands, Spain"] = {the = true}, ["Basque Country, Spain"] = {the = true, wp = "%l (autonomous community)"}, ["Canary Islands, Spain"] = {the = true}, ["Cantabria, Spain"] = {}, ["Castile and León, Spain"] = {}, ["Castilla-La Mancha, Spain"] = {wp = "Castilla–La Mancha"}, -- with en-dash ["Catalonia, Spain"] = {}, ["Community of Madrid, Spain"] = {the = true}, ["Extremadura, Spain"] = {}, ["Galicia, Spain"] = {wp = "%l (Spain)"}, ["La Rioja, Spain"] = {}, ["Murcia, Spain"] = {wp = "Region of %l"}, ["Navarre, Spain"] = {}, ["Valencia, Spain"] = {wp = "Valencian Community"}, ["Valencian Community, Spain"] = {alias_of = "Valencia, Spain"}, } -- autonomous communities of Spain export.spain_group = { default_container = "Tây Ban Nha", default_placetype = "autonomous community", default_divs = {"municipalities", "comarcas"}, data = export.spain_autonomous_communities, } export.taiwan_counties = { ["Changhua County, Taiwan"] = {}, ["Chiayi County, Taiwan"] = {}, ["Hsinchu County, Taiwan"] = {}, ["Hualien County, Taiwan"] = {}, ["Kinmen County, Taiwan"] = {wp = "Kinmen"}, ["Lienchiang County, Taiwan"] = {wp = "Matsu Islands"}, ["Miaoli County, Taiwan"] = {}, ["Nantou County, Taiwan"] = {}, ["Penghu County, Taiwan"] = {wp = "Penghu"}, ["Pingtung County, Taiwan"] = {}, ["Taitung County, Taiwan"] = {}, ["Yilan County, Taiwan"] = {wp = "%l, %c"}, ["Yunlin County, Taiwan"] = {}, } -- counties of Taiwan export.taiwan_group = { key_to_placename = make_key_to_placename(", Taiwan$", " County$"), placename_to_key = make_placename_to_key(", Taiwan", " County"), default_container = "Đài Loan", default_placetype = "county", default_divs = {"districts", "townships"}, data = export.taiwan_counties, } export.thailand_provinces = { -- Bangkok (special administrative area) ["Amnat Charoen Province, Thailand"] = {}, ["Ang Thong Province, Thailand"] = {}, ["Bueng Kan Province, Thailand"] = {}, ["Buriram Province, Thailand"] = {}, ["Chachoengsao Province, Thailand"] = {}, ["Chai Nat Province, Thailand"] = {}, ["Chaiyaphum Province, Thailand"] = {}, ["Chanthaburi Province, Thailand"] = {}, ["Chiang Mai Province, Thailand"] = {}, ["Chiang Rai Province, Thailand"] = {}, ["Chonburi Province, Thailand"] = {}, ["Chumphon Province, Thailand"] = {}, ["Kalasin Province, Thailand"] = {}, ["Kamphaeng Phet Province, Thailand"] = {}, ["Kanchanaburi Province, Thailand"] = {}, ["Khon Kaen Province, Thailand"] = {}, ["Krabi Province, Thailand"] = {}, ["Lampang Province, Thailand"] = {}, ["Lamphun Province, Thailand"] = {}, ["Loei Province, Thailand"] = {}, ["Lopburi Province, Thailand"] = {}, ["Mae Hong Son Province, Thailand"] = {}, ["Maha Sarakham Province, Thailand"] = {}, ["Mukdahan Province, Thailand"] = {}, ["Nakhon Nayok Province, Thailand"] = {}, ["Nakhon Pathom Province, Thailand"] = {}, ["Nakhon Phanom Province, Thailand"] = {}, ["Nakhon Ratchasima Province, Thailand"] = {}, ["Nakhon Sawon Province, Thailand"] = {}, ["Nakhon Si Thammarat Province, Thailand"] = {}, ["Nan Province, Thailand"] = {}, ["Narathiwat Province, Thailand"] = {}, ["Nong Bua Lamphu Province, Thailand"] = {}, ["Nong Khai Province, Thailand"] = {}, ["Nonthaburi Province, Thailand"] = {}, ["Pathum Thani Province, Thailand"] = {}, ["Pattani Province, Thailand"] = {}, ["Phang Nga Province, Thailand"] = {}, ["Phatthalung Province, Thailand"] = {}, ["Phayao Province, Thailand"] = {}, ["Phetchabun Province, Thailand"] = {}, ["Phetchaburi Province, Thailand"] = {}, ["Phichit Province, Thailand"] = {}, ["Phitsanulok Province, Thailand"] = {}, ["Phra Nakhon Si Ayutthaya Province, Thailand"] = {}, ["Phrae Province, Thailand"] = {}, ["Phuket Province, Thailand"] = {}, ["Prachinburi Province, Thailand"] = {}, ["Prachuap Khiri Khan Province, Thailand"] = {}, ["Ranong Province, Thailand"] = {}, ["Ratchaburi Province, Thailand"] = {}, ["Rayong Province, Thailand"] = {}, ["Roi Et Province, Thailand"] = {}, ["Sa Kaeo Province, Thailand"] = {}, ["Sakon Nakhon Province, Thailand"] = {}, ["Samut Prakan Province, Thailand"] = {}, ["Samut Sakhon Province, Thailand"] = {}, ["Samut Songkhram Province, Thailand"] = {}, ["Saraburi Province, Thailand"] = {}, ["Satun Province, Thailand"] = {}, ["Sing Buri Province, Thailand"] = {}, ["Sisaket Province, Thailand"] = {}, ["Songkhla Province, Thailand"] = {}, ["Sukhothai Province, Thailand"] = {}, ["Suphan Buri Province, Thailand"] = {}, ["Surat Thani Province, Thailand"] = {}, ["Surin Province, Thailand"] = {}, ["Tak Province, Thailand"] = {}, ["Trang Province, Thailand"] = {}, ["Trat Province, Thailand"] = {}, ["Ubon Ratchathani Province, Thailand"] = {}, ["Udon Thani Province, Thailand"] = {}, ["Uthai Thani Province, Thailand"] = {}, ["Uttaradit Province, Thailand"] = {}, ["Yala Province, Thailand"] = {}, ["Yasothon Province, Thailand"] = {}, } -- provinces of Thailand export.thailand_group = { key_to_placename = make_key_to_placename(", Thailand$", " Province$"), placename_to_key = make_placename_to_key(", Thailand", " Province"), default_container = "Thái Lan", default_placetype = "province", default_divs = "districts", -- For obscure reasons, provinces of Iran, Laos, Thailand and Vietnam use lowercase 'province' default_wp = "%e province", data = export.thailand_provinces, } export.turkey_provinces = { ["Adana Province, Turkey"] = {}, -- code 01 ["Adıyaman Province, Turkey"] = {}, -- code 02 ["Afyonkarahisar Province, Turkey"] = {}, -- code 03 ["Ağrı Province, Turkey"] = {}, -- code 04 ["Amasya Province, Turkey"] = {}, -- code 05 ["Ankara Province, Turkey"] = {}, -- code 06 ["Antalya Province, Turkey"] = {}, -- code 07 ["Artvin Province, Turkey"] = {}, -- code 08 ["Aydın Province, Turkey"] = {}, -- code 09 ["Balıkesir Province, Turkey"] = {}, -- code 10 ["Bilecik Province, Turkey"] = {}, -- code 11 ["Bingöl Province, Turkey"] = {}, -- code 12 ["Bitlis Province, Turkey"] = {}, -- code 13 ["Bolu Province, Turkey"] = {}, -- code 14 ["Burdur Province, Turkey"] = {}, -- code 15 ["Bursa Province, Turkey"] = {}, -- code 16 ["Çanakkale Province, Turkey"] = {}, -- code 17 ["Çankırı Province, Turkey"] = {}, -- code 18 ["Çorum Province, Turkey"] = {}, -- code 19 ["Denizli Province, Turkey"] = {}, -- code 20 ["Diyarbakır Province, Turkey"] = {}, -- code 21 ["Edirne Province, Turkey"] = {}, -- code 22 ["Elazığ Province, Turkey"] = {}, -- code 23 ["Elâzığ Province, Turkey"] = {alias_of = "Elazığ Province, Turkey", display = true}, ["Erzincan Province, Turkey"] = {}, -- code 24 ["Erzurum Province, Turkey"] = {}, -- code 25 ["Eskişehir Province, Turkey"] = {}, -- code 26 ["Gaziantep Province, Turkey"] = {}, -- code 27 ["Giresun Province, Turkey"] = {}, -- code 28 ["Gümüşhane Province, Turkey"] = {}, -- code 29 ["Hakkâri Province, Turkey"] = {}, -- code 30 ["Hakkari Province, Turkey"] = {alias_of = "Hakkâri Province, Turkey", display = true}, ["Hatay Province, Turkey"] = {}, -- code 31 ["Isparta Province, Turkey"] = {}, -- code 32 ["Mersin Province, Turkey"] = {}, -- code 33 -- ["Istanbul Province, Turkey"] = {}, -- code 34; this is coextensive with the city itself ["İzmir Province, Turkey"] = {}, -- code 35 ["Izmir Province, Turkey"] = {alias_of = "İzmir Province, Turkey", display = true}, ["Kars Province, Turkey"] = {}, -- code 36 ["Kastamonu Province, Turkey"] = {}, -- code 37 ["Kayseri Province, Turkey"] = {}, -- code 38 ["Kırklareli Province, Turkey"] = {}, -- code 39 ["Kırşehir Province, Turkey"] = {}, -- code 40 ["Kocaeli Province, Turkey"] = {}, -- code 41 ["Konya Province, Turkey"] = {}, -- code 42 ["Kütahya Province, Turkey"] = {}, -- code 43 ["Malatya Province, Turkey"] = {}, -- code 44 ["Manisa Province, Turkey"] = {}, -- code 45 ["Kahramanmaraş Province, Turkey"] = {}, -- code 46 ["Mardin Province, Turkey"] = {}, -- code 47 ["Muğla Province, Turkey"] = {}, -- code 48 ["Muş Province, Turkey"] = {}, -- code 49 ["Nevşehir Province, Turkey"] = {}, -- code 50 ["Niğde Province, Turkey"] = {}, -- code 51 ["Ordu Province, Turkey"] = {}, -- code 52 ["Rize Province, Turkey"] = {}, -- code 53 ["Sakarya Province, Turkey"] = {}, -- code 54 ["Samsun Province, Turkey"] = {}, -- code 55 ["Siirt Province, Turkey"] = {}, -- code 56 ["Sinop Province, Turkey"] = {}, -- code 57 ["Sivas Province, Turkey"] = {}, -- code 58 ["Tekirdağ Province, Turkey"] = {}, -- code 59 ["Tokat Province, Turkey"] = {}, -- code 60 ["Trabzon Province, Turkey"] = {}, -- code 61 ["Tunceli Province, Turkey"] = {}, -- code 62 ["Şanlıurfa Province, Turkey"] = {}, -- code 63 ["Uşak Province, Turkey"] = {}, -- code 64 ["Van Province, Turkey"] = {}, -- code 65 ["Yozgat Province, Turkey"] = {}, -- code 66 ["Zonguldak Province, Turkey"] = {}, -- code 67 ["Aksaray Province, Turkey"] = {}, -- code 68 ["Bayburt Province, Turkey"] = {}, -- code 69 ["Karaman Province, Turkey"] = {}, -- code 70 ["Kırıkkale Province, Turkey"] = {}, -- code 71 ["Batman Province, Turkey"] = {}, -- code 72 ["Şırnak Province, Turkey"] = {}, -- code 73 ["Bartın Province, Turkey"] = {}, -- code 74 ["Ardahan Province, Turkey"] = {}, -- code 75 ["Iğdır Province, Turkey"] = {}, -- code 76 ["Yalova Province, Turkey"] = {}, -- code 77 ["Karabük Province, Turkey"] = {}, -- code 78 ["Kilis Province, Turkey"] = {}, -- code 79 ["Osmaniye Province, Turkey"] = {}, -- code 80 ["Düzce Province, Turkey"] = {}, -- code 81 } -- provinces of Turkey export.turkey_group = { key_to_placename = make_key_to_placename(", Turkey$", " Province$"), placename_to_key = make_placename_to_key(", Turkey", " Province"), default_container = "Thổ Nhĩ Kỳ", default_placetype = "province", default_divs = "districts", data = export.turkey_provinces, } export.ukraine_oblasts = { ["Cherkasy Oblast, Ukraine"] = {}, -- capital [[Cherkasy]], license plate prefix CA, IA ["Chernihiv Oblast, Ukraine"] = {}, -- capital [[Chernihiv]], license plate prefix CB, IB ["Chernivtsi Oblast, Ukraine"] = {}, -- capital [[Chernivtsi]], license plate prefix CE, IE -- apparently will be renamed to 'Dnipro Oblast' ["Dnipropetrovsk Oblast, Ukraine"] = {}, -- capital [[Dnipro]], license plate prefix AE, KE ["Donetsk Oblast, Ukraine"] = {}, -- capital ''[[Donetsk]] ([[Kramatorsk]])'', license plate prefix AH, KH ["Ivano-Frankivsk Oblast, Ukraine"] = {}, -- capital [[Ivano-Frankivsk]], license plate prefix AT, KT ["Kharkiv Oblast, Ukraine"] = {}, -- capital [[Kharkiv]], license plate prefix AX, KX ["Kherson Oblast, Ukraine"] = {}, -- capital ''[[Kherson]]'', license plate prefix ''BT, HT'' ["Khmelnytskyi Oblast, Ukraine"] = {}, -- capital [[Khmelnytskyi]], license plate prefix BX, HX -- apparently will be renamed to 'Kropyvnytskyi Oblast' ["Kirovohrad Oblast, Ukraine"] = {}, -- capital [[Kropyvnytskyi]], license plate prefix BA, HA ["Kyiv Oblast, Ukraine"] = {}, -- capital [[Kyiv]], license plate prefix AI, KI ["Kiev Oblast, Ukraine"] = {alias_of = "Kyiv Oblast, Ukraine", display = true}, ["Luhansk Oblast, Ukraine"] = {}, -- capital ''[[Luhansk]] ([[Sievierodonetsk]])'', license plate prefix BB, HB ["Lviv Oblast, Ukraine"] = {}, -- capital [[Lviv]], license plate prefix BC, HC ["Mykolaiv Oblast, Ukraine"] = {}, -- capital [[Mykolaiv]], license plate prefix BE, HE ["Odesa Oblast, Ukraine"] = {}, -- capital [[Odesa]], license plate prefix BH, HH ["Odessa Oblast, Ukraine"] = {alias_of = "Odesa Oblast, Ukraine", display = true}, ["Poltava Oblast, Ukraine"] = {}, -- capital [[Poltava]], license plate prefix BI, HI ["Rivne Oblast, Ukraine"] = {}, -- capital [[Rivne]], license plate prefix BK, HK ["Sumy Oblast, Ukraine"] = {}, -- capital [[Sumy]], license plate prefix BM, HM ["Ternopil Oblast, Ukraine"] = {}, -- capital [[Ternopil]], license plate prefix BO, HO ["Vinnytsia Oblast, Ukraine"] = {}, -- capital [[Vinnytsia]], license plate prefix AB, KB ["Volyn Oblast, Ukraine"] = {}, -- capital [[Lutsk]], license plate prefix AC, KC ["Zakarpattia Oblast, Ukraine"] = {}, -- capital [[Uzhhorod]], license plate prefix AO, KO ["Zaporizhzhia Oblast, Ukraine"] = {}, -- capital ''[[Zaporizhzhia]]'', license plate prefix AP, KP ["Zaporizhia Oblast, Ukraine"] = {alias_of = "Zaporizhzhia Oblast, Ukraine", display = true}, ["Zhytomyr Oblast, Ukraine"] = {}, -- capital [[Zhytomyr]], license plate prefix AM, KM } -- oblasts of Ukraine export.ukraine_group = { key_to_placename = make_key_to_placename(", Ukraine$", " Oblast$"), placename_to_key = make_placename_to_key(", Ukraine", " Oblast"), default_container = "Ukraina", default_placetype = "oblast", default_divs = {"raions", "hromadas"}, data = export.ukraine_oblasts, } export.united_kingdom_constituent_countries = { ["England"] = {divs = { "counties", "districts", {type = "local government districts", cat_as = "districts"}, { type = "local government districts with borough status", cat_as = {"districts", "boroughs"}, }, {type = "boroughs", cat_as = {"districts", "boroughs"}}, {type = "civil parishes", container_parent_type = false}, }}, ["Northern Ireland"] = { placetype = {"constituent country", "province", "quốc gia"}, divs = {"counties", "districts"}, }, ["Scotland"] = {divs = { {type = "council areas", container_parent_type = false}, "districts", }}, ["Wales"] = {divs = { "counties", {type = "county boroughs", container_parent_type = false}, {type = "communities", container_parent_type = false}, {type = "Welsh communities", cat_as = {{type = "communities", container_parent_type = false}}}, }}, } -- constituent countries and provinces of the United Kingdom export.united_kingdom_group = { placename_to_key = false, default_container = "United Kingdom", default_placetype = {"constituent country", "quốc gia"}, addl_divs = { "traditional counties", {type = "historical counties", cat_as = "traditional counties"}, }, -- Don't create categories like 'Category:en:Towns in the United Kingdom' -- or 'Category:en:Places in the United Kingdom'. default_no_container_cat = true, data = export.united_kingdom_constituent_countries, } export.england_counties = { -- NOTE: We used to have various other "no longer" counties commented out, which seems to refer to counties that -- existed officially at some point between 1889 and 1974, which I have removed. I have only kept the three -- ceremonial counties that existed from 1974 (when ceremonial counties were created) to 1996, as well as those -- still considered "historic counties" per [[w:Historic counties of England]]. -- ["Avon, England"] = {wp = "%l (county)"}, -- no longer (1974 to 1996) ["Bedfordshire, England"] = {}, ["Berkshire, England"] = {}, -- ["Brighton and Hove, England"] = {}, -- city -- ["Bristol, England"] = {}, -- city ["Buckinghamshire, England"] = {}, ["Cambridgeshire, England"] = {}, ["Cheshire, England"] = {}, -- ["Cleveland, England"] = {wp = "%l (county)"}, -- no longer (1974 to 1996) ["Cornwall, England"] = {}, -- ["Cumberland, England"] = {}, -- no longer (historic county) ["Cumbria, England"] = {}, ["Derbyshire, England"] = {}, ["Devon, England"] = {}, ["Dorset, England"] = {}, ["County Durham, England"] = {}, ["East Sussex, England"] = {}, ["Essex, England"] = {}, ["Gloucestershire, England"] = {}, ["Greater London, England"] = {}, ["Greater Manchester, England"] = {}, ["Hampshire, England"] = {}, ["Herefordshire, England"] = {}, ["Hertfordshire, England"] = {}, -- ["Humberside, England"] = {}, -- no longer (1974 to 1996) -- ["Huntingdonshire, England"] = {}, -- no longer (historic county) ["Isle of Wight, England"] = {the = true}, ["Kent, England"] = {}, ["Lancashire, England"] = {}, ["Leicestershire, England"] = {}, ["Lincolnshire, England"] = {}, ["Merseyside, England"] = {}, -- ["Middlesex, England"] = {}, -- no longer (historic county) ["Norfolk, England"] = {}, ["Northamptonshire, England"] = {}, ["Northumberland, England"] = {}, ["North Yorkshire, England"] = {}, ["Nottinghamshire, England"] = {}, ["Oxfordshire, England"] = {}, ["Rutland, England"] = {}, ["Shropshire, England"] = {}, ["Somerset, England"] = {}, ["South Humberside, England"] = {}, ["South Yorkshire, England"] = {}, ["Staffordshire, England"] = {}, ["Suffolk, England"] = {}, ["Surrey, England"] = {}, -- ["Sussex, England"] = {}, -- no longer (historic county) ["Tyne and Wear, England"] = {}, ["Warwickshire, England"] = {}, ["West Midlands, England"] = {the = true, wp = "%l (county)"}, -- ["Westmorland, England"] = {}, -- no longer (historic county) ["West Sussex, England"] = {}, ["West Yorkshire, England"] = {}, ["Wiltshire, England"] = {}, ["Worcestershire, England"] = {}, -- ["Yorkshire, England"] = {}, -- no longer (historic county) ["East Riding of Yorkshire, England"] = {the = true}, } -- counties of England export.england_group = { default_container = {key = "England", placetype = "constituent country"}, default_placetype = "county", default_divs = { "districts", {type = "local government districts", cat_as = "districts"}, { type = "local government districts with borough status", cat_as = {"districts", "boroughs"}, }, {type = "boroughs", cat_as = {"districts", "boroughs"}}, "civil parishes", }, data = export.england_counties, } export.northern_ireland_counties = { ["County Antrim, Northern Ireland"] = {}, ["County Armagh, Northern Ireland"] = {}, ["City of Belfast, Northern Ireland"] = {the = true, is_city = true, wp = "Belfast"}, ["County Down, Northern Ireland"] = {}, ["County Fermanagh, Northern Ireland"] = {}, ["County Londonderry, Northern Ireland"] = {}, ["City of Derry, Northern Ireland"] = {the = true, is_city = true, wp = "Derry"}, ["County Tyrone, Northern Ireland"] = {}, } -- counties of Northern Ireland export.northern_ireland_group = { key_to_placename = make_irish_type_key_to_placename(", Northern Ireland$"), placename_to_key = make_irish_type_placename_to_key(", Northern Ireland"), default_container = {key = "Northern Ireland", placetype = "constituent country"}, default_placetype = "county", data = export.northern_ireland_counties, } export.scotland_council_areas = { ["Aberdeenshire, Scotland"] = {}, ["Angus, Scotland"] = {wp = "%l, %c"}, ["Argyll and Bute, Scotland"] = {}, ["City of Aberdeen, Scotland"] = {the = true, wp = "Aberdeen"}, ["Aberdeen"] = {alias_of = "City of Aberdeen, Scotland"}, ["Aberdeen City"] = {alias_of = "City of Aberdeen, Scotland"}, ["City of Dundee, Scotland"] = {the = true, wp = "Dundee"}, ["Dundee"] = {alias_of = "City of Dundee, Scotland"}, ["Dundee City"] = {alias_of = "City of Dundee, Scotland"}, ["City of Edinburgh, Scotland"] = {the = true, wp = "%l council area"}, ["Edinburgh"] = {alias_of = "City of Edinburgh, Scotland"}, ["City of Glasgow, Scotland"] = {the = true, wp = "Glasgow"}, ["Glasgow"] = {alias_of = "City of Glasgow, Scotland"}, ["Clackmannanshire, Scotland"] = {}, ["Dumfries and Galloway, Scotland"] = {}, ["East Ayrshire, Scotland"] = {}, ["East Dunbartonshire, Scotland"] = {}, ["East Lothian, Scotland"] = {}, ["East Renfrewshire, Scotland"] = {}, ["Falkirk, Scotland"] = {wp = "%l council area"}, ["Fife, Scotland"] = {}, ["Highland, Scotland"] = {wp = "%l council area"}, ["Inverclyde, Scotland"] = {}, ["Midlothian, Scotland"] = {}, ["Moray, Scotland"] = {}, ["North Ayrshire, Scotland"] = {}, ["North Lanarkshire, Scotland"] = {}, ["Orkney Islands, Scotland"] = {the = true}, ["Perth and Kinross, Scotland"] = {}, ["Renfrewshire, Scotland"] = {}, ["Scottish Borders, Scotland"] = {the = true}, ["Shetland Islands, Scotland"] = {the = true}, ["South Ayrshire, Scotland"] = {}, ["South Lanarkshire, Scotland"] = {}, ["Stirling, Scotland"] = {wp = "%l council area"}, ["West Dunbartonshire, Scotland"] = {}, ["West Lothian, Scotland"] = {}, ["Western Isles, Scotland"] = {the = true, wp = "Outer Hebrides"}, ["Na h-Eileanan Siar, Scotland"] = {alias_of = "Western Isles, Scotland"}, } -- council areas of Scotland export.scotland_group = { default_container = {key = "Scotland", placetype = "constituent country"}, default_placetype = "council area", data = export.scotland_council_areas, } export.wales_principal_areas = { ["Blaenau Gwent, Wales"] = {}, ["Bridgend, Wales"] = {wp = "%l County Borough"}, ["Caerphilly, Wales"] = {wp = "%l County Borough"}, -- ["Cardiff, Wales"] = {placetype = "thành phố"}, ["Carmarthenshire, Wales"] = {placetype = "county"}, ["Ceredigion, Wales"] = {placetype = "county"}, ["Conwy, Wales"] = {wp = "%l County Borough"}, ["Denbighshire, Wales"] = {placetype = "county"}, ["Flintshire, Wales"] = {placetype = "county"}, ["Gwynedd, Wales"] = {placetype = "county"}, ["Isle of Anglesey, Wales"] = {the = true, placetype = "county"}, ["Anglesey, Wales"] = {alias_of = "Isle of Anglesey, Wales"}, -- differs in "the" ["Merthyr Tydfil, Wales"] = {wp = "%l County Borough"}, ["Monmouthshire, Wales"] = {placetype = "county"}, ["Neath Port Talbot, Wales"] = {}, -- ["Newport, Wales"] = {placetype = "thành phố", wp = "%l, %c"}, ["Pembrokeshire, Wales"] = {placetype = "county"}, ["Powys, Wales"] = {placetype = "county"}, ["Rhondda Cynon Taf, Wales"] = {}, -- ["Swansea, Wales"] = {placetype = "thành phố"}, ["Torfaen, Wales"] = {}, ["Vale of Glamorgan, Wales"] = {the = true}, ["Wrexham, Wales"] = {wp = "%l County Borough"}, } -- principal areas (cities, counties and county boroughs) of Wales export.wales_group = { default_container = {key = "Wales", placetype = "constituent country"}, default_placetype = "county borough", data = export.wales_principal_areas, } export.united_states_states = { ["Alabama, USA"] = {}, ["Alaska, USA"] = {divs = { {type = "boroughs", container_parent_type = "counties"}, {type = "borough seats", container_parent_type = "county seats"}, }}, ["Arizona, USA"] = {}, ["Arkansas, USA"] = {}, ["California, USA"] = {}, ["Colorado, USA"] = {divs = {"counties", "county seats", "municipalities"}}, ["Connecticut, USA"] = {divs = {"counties", "county seats", "municipalities"}}, ["Delaware, USA"] = {}, ["Florida, USA"] = {}, ["Georgia, USA"] = {wp = "%l (U.S. state)"}, ["Hawaii, USA"] = {addl_parents = {"Polynesia"}}, ["Idaho, USA"] = {}, ["Illinois, USA"] = {}, ["Indiana, USA"] = {}, ["Iowa, USA"] = {}, ["Kansas, USA"] = {}, ["Kentucky, USA"] = {}, ["Louisiana, USA"] = {divs = { {type = "parishes", container_parent_type = "counties"}, {type = "parish seats", container_parent_type = "county seats"}, }}, ["Maine, USA"] = {}, ["Maryland, USA"] = {}, ["Massachusetts, USA"] = {}, ["Michigan, USA"] = {}, ["Minnesota, USA"] = {}, ["Mississippi, USA"] = {}, ["Missouri, USA"] = {}, ["Montana, USA"] = {}, ["Nebraska, USA"] = {}, ["Nevada, USA"] = {}, ["New Hampshire, USA"] = {}, ["New Jersey, USA"] = {divs = { "counties", "county seats", {type = "boroughs", prep = "in"}, }}, ["New Mexico, USA"] = {}, ["New York, USA"] = {wp = "%l (state)"}, ["North Carolina, USA"] = {}, ["North Dakota, USA"] = {}, ["Ohio, USA"] = {}, ["Oklahoma, USA"] = {}, ["Oregon, USA"] = {}, ["Pennsylvania, USA"] = {divs = { "counties", "county seats", {type = "boroughs", prep = "in"}, }}, ["Rhode Island, USA"] = {}, ["South Carolina, USA"] = {}, ["South Dakota, USA"] = {}, ["Tennessee, USA"] = {}, ["Texas, USA"] = {}, ["Utah, USA"] = {}, ["Vermont, USA"] = {}, ["Virginia, USA"] = {}, ["Washington, USA"] = {wp = "%l (state)"}, ["West Virginia, USA"] = {}, ["Wisconsin, USA"] = {}, ["Wyoming, USA"] = {}, } -- states of the United States export.united_states_group = { placename_to_key = make_placename_to_key(", USA"), default_container = "Hoa Kỳ", default_placetype = "state", default_divs = {"counties", "county seats"}, addl_divs = { {type = "census-designated places", prep = "in"}, {type = "unincorporated communities", prep = "in"}, }, data = export.united_states_states, } export.vietnam_provinces = { -- [[Northeast (Vietnam)|Northeast]] region ["Bắc Giang, Việt Nam"] = {}, -- capital [[Bắc Giang]] ["Bắc Kạn, Việt Nam"] = {}, -- capital [[Bắc Kạn]] ["Cao Bằng, Việt Nam"] = {}, -- capital [[Cao Bằng]] ["Hà Giang, Việt Nam"] = {}, -- capital [[Hà Giang]] ["Lạng Sơn, Việt Nam"] = {}, -- capital [[Lạng Sơn]] ["Phú Thọ, Việt Nam"] = {}, -- capital [[Việt Trì]] ["Quảng Ninh, Việt Nam"] = {}, -- capital [[Hạ Long]] ["Thái Nguyên, Việt Nam"] = {}, -- capital [[Thái Nguyên]] ["Tuyên Quang, Việt Nam"] = {}, -- capital [[Tuyên Quang]] -- [[Northwest (Vietnam)|Northwest]] region ["Lào Cai, Việt Nam"] = {}, -- capital [[Lào Cai]] ["Yên Bái, Việt Nam"] = {}, -- capital [[Yên Bái]] ["Điện Biên, Việt Nam"] = {}, -- capital [[Điện Biên Phủ]] ["Hòa Bình, Việt Nam"] = {}, ["Lai Châu, Việt Nam"] = {}, -- capital [[Lai Châu]] ["Sơn La, Việt Nam"] = {}, -- capital [[Sơn La]] -- [[Red River Delta]] region ["Bắc Ninh, Việt Nam"] = {}, -- capital [[Bắc Ninh]] ["Hà Nam, Việt Nam"] = {}, -- capital [[Phủ Lý]] ["Hải Dương, Việt Nam"] = {}, -- capital [[Hải Dương]] ["Hưng Yên, Việt Nam"] = {}, -- capital [[Hưng Yên]] ["Nam Định, Việt Nam"] = {}, -- capital [[Nam Định]] ["Ninh Bình, Việt Nam"] = {}, -- capital [[Ninh Bình|Hoa Lư]] ["Thái Bình, Việt Nam"] = {}, -- capital [[Thái Bình]] ["Vĩnh Phúc, Việt Nam"] = {}, -- capital [[Vĩnh Yên]] -- ["Hanoi"] = {placetype = {"municipality", "thành phố"}}, -- capital [[Hoàn Kiếm district]] -- ["Haiphong"] = {placetype = {"municipality", "thành phố"}}, -- capital [[Hồng Bàng district]] -- [[North Central Coast]] region ["Hà Tĩnh, Việt Nam"] = {}, -- capital [[Hà Tĩnh]] ["Nghệ An, Việt Nam"] = {}, -- capital [[Vinh]] ["Quảng Bình, Việt Nam"] = {}, -- capital [[Đồng Hới]] ["Quảng Trị, Việt Nam"] = {}, -- capital [[Đông Hà]] ["Thanh Hóa, Việt Nam"] = {}, -- ["Hue"] = {placetype = {"municipality", "thành phố"}, wp = "Huế"}, -- capital [[Thuận Hoá district]] -- [[Central Highlands (Vietnam)|Central Highlands]] region ["Đắk Lắk, Việt Nam"] = {}, -- capital [[Buôn Ma Thuột]] ["Đăk Nông, Việt Nam"] = {}, -- capital [[Gia Nghĩa]] ["Gia Lai, Việt Nam"] = {}, -- capital [[Pleiku]] ["Kon Tum, Việt Nam"] = {}, -- capital [[Kon Tum]] ["Lâm Đồng, Việt Nam"] = {}, -- capital [[Đà Lạt]] -- [[South Central Coast]] region ["Bình Định, Việt Nam"] = {}, -- capital [[Quy Nhon]] ["Bình Thuận, Việt Nam"] = {}, -- capital [[Phan Thiết]] ["Khánh Hòa, Việt Nam"] = {}, ["Ninh Thuận, Việt Nam"] = {}, -- capital [[Phan Rang–Tháp Chàm]] ["Phú Yên, Việt Nam"] = {}, -- capital [[Tuy Hoà]] ["Quảng Nam, Việt Nam"] = {}, -- capital [[Tam Kỳ]] ["Quảng Ngãi, Việt Nam"] = {}, -- capital [[Quảng Ngãi]] -- ["Da Nang"] = {placetype = {"municipality", "thành phố"}}, -- capital [[Hải Châu district]] -- [[Southeast (Vietnam)|Southeast]] region ["Bà Rịa–Vũng Tàu, Việt Nam"] = {}, -- capital [[Bà Rịa]] ["Bình Dương, Việt Nam"] = {}, -- capital [[Thủ Dầu Một]] ["Bình Phước, Việt Nam"] = {}, -- capital [[Đồng Xoài]] ["Đồng Nai, Việt Nam"] = {}, -- capital [[Biên Hoà]] ["Tây Ninh, Việt Nam"] = {}, -- capital [[Tây Ninh]] -- ["Thành phố Hồ Chí Minh"] = {placetype = {"municipality", "thành phố"}}, -- capital [[District 1, Thành phố Hồ Chí Minh|'''District 1''']] -- [[Mekong Delta]] region ["An Giang, Việt Nam"] = {}, -- capital [[Long Xuyên]] ["Bạc Liêu, Việt Nam"] = {}, -- capital [[Bạc Liêu]] ["Bến Tre, Việt Nam"] = {}, -- capital [[Bến Tre]] ["Cà Mau, Việt Nam"] = {}, -- capital [[Cà Mau]] ["Đồng Tháp, Việt Nam"] = {}, -- capital [[Cao Lãnh City|Cao Lãnh]] ["Hậu Giang, Việt Nam"] = {}, -- capital [[Vị Thanh]] ["Kiên Giang, Việt Nam"] = {}, -- capital [[Rạch Giá]] ["Long An, Việt Nam"] = {}, -- capital [[Tân An]] ["Sóc Trăng, Việt Nam"] = {}, -- capital [[Sóc Trăng]] ["Tiền Giang, Việt Nam"] = {}, -- capital [[Mỹ Tho]] ["Trà Vinh, Việt Nam"] = {}, -- capital [[Trà Vinh]] ["Vĩnh Long, Việt Nam"] = {}, -- capital [[Vĩnh Long]] -- ["Can Tho"] = {placetype = {"municipality", "thành phố"}, wp = "Cần Thơ"}, -- capital [[Ninh Kiều district]] } -- provinces of Vietnam export.vietnam_group = { key_to_placename = make_key_to_placename(", Việt Nam$", "$"), placename_to_key = make_placename_to_key(", Việt Nam", ""), default_container = "Việt Nam", default_placetype = "tỉnh", -- There may not be enough districts to subcategorize like this. -- default_divs = "districts", -- For obscure reasons, provinces of Iran, Laos, Thailand and Vietnam use lowercase 'province' default_wp = "%e", data = export.vietnam_provinces, } ----------------------------------------------------------------------------------- -- City data -- ----------------------------------------------------------------------------------- export.australia_cities = { ["Adelaide"] = {container = "South Australia"}, -- 1,450,000 (Agglomeration) ["Brisbane"] = {container = "Queensland"}, -- 3,450,000 (Conglomeration; including the Gold Coast [750,997 2024 estiamte]) ["Canberra"] = {container = {key = "Lãnh thổ Thủ đô Úc, Úc", placetype = "territory"}}, -- 510,641 (2024 estimate) ["Melbourne"] = {container = "Victoria"}, -- 5,200,000 (Agglomeration) ["Newcastle, New South Wales"] = {container = "New South Wales", wp = "%l, %c"}, -- 534,033 (2024 estimate) ["Newcastle"] = {alias_of = "Newcastle, New South Wales"}, ["Perth"] = {container = "Western Australia"}, -- 2,350,000 (Agglomeration) ["Sydney"] = {container = "New South Wales"}, -- 5,100,000 (Agglomeration) } export.australia_cities_group = { canonicalize_key_container = make_canonicalize_key_container(", Úc", "state"), default_placetype = "thành phố", data = export.australia_cities, } export.brazil_cities = { -- Figures from citypopulation.de; retrieved 2025-04-27; reference date 2025-01-01. ["São Paulo"] = {container = "São Paulo"}, -- 22,600,000 (Consolidated Urban Area; including Guarulhos) ["Sao Paulo"] = {alias_of = "São Paulo", display = true}, ["Rio de Janeiro"] = {container = "Rio de Janeiro"}, -- 13,600,000 (Consolidated Urban Area) ["Belo Horizonte"] = {container = "Minas Gerais"}, -- 5,300,000 ["Recife"] = {container = "Pernambuco"}, -- 4,100,000 ["Porto Alegre"] = {container = "Rio Grande do Sul"}, -- 3,950,000 (Consolidated Urban Area) ["Brasília"] = {container = "Distrito Federal"}, -- 3,850,000 ["Brasilia"] = {alias_of = "Brasília", display = true}, ["Fortaleza"] = {container = "Ceará"}, -- 3,825,000 ["Salvador"] = {container = "Bahia", wp = "%l, %c", commonscat = "%l (%c)"}, -- 3,400,000 ["Curitiba"] = {container = "Paraná"}, -- 3,375,000 ["Campinas"] = {container = "São Paulo"}, -- 3,250,000 ["Goiânia"] = {container = "Goiás"}, -- 2,525,000 ["Goiania"] = {alias_of = "Goiânia", display = true}, ["Manaus"] = {container = "Amazonas"}, -- 2,275,000 ["Belém"] = {container = "Pará"}, -- 2,200,000 ["Belem"] = {alias_of = "Belém", display = true}, ["Vitória"] = {container = "Espírito Santo", wp = "%l, %c"}, -- 1,870,000 ["Vitoria"] = {alias_of = "Vitória", display = true}, ["Santos"] = {container = "São Paulo", wp = "%l, %c"}, -- 1,760,000 ["São Luís"] = {container = "Maranhão", wp = "%l, %c"}, -- 1,530,000 ["Sao Luis"] = {alias_of = "São Luís", display = true}, ["Natal"] = {container = "Rio Grande do Norte", wp = "%l, %c"}, -- 1,360,000 ["Florianópolis"] = {container = "Santa Catarina"}, -- 1,260,000 ["Florianopolis"] = {alias_of = "Florianópolis", display = true}, ["Maceió"] = {container = "Alagoas"}, -- 1,220,000 ["Maceio"] = {alias_of = "Maceió", display = true}, ["João Pessoa"] = {container = "Paraíba", wp = "%l, %c"}, -- 1,210,000 ["Joao Pessoa"] = {alias_of = "João Pessoa", display = true}, ["São José dos Campos"] = {container = "São Paulo"}, -- 1,090,000 ["Sao Jose dos Campos"] = {alias_of = "São José dos Campos", display = true}, ["Londrina"] = {container = "Paraná"}, -- 1,050,000 ["Teresina"] = {container = "Piauí"}, -- 1,040,000 } export.brazil_cities_group = { canonicalize_key_container = make_canonicalize_key_container(", Brazil", "state"), default_placetype = "thành phố", data = export.brazil_cities, } export.canada_cities = { -- Figures from citypopulation.de; retrieved 2025-04-27; reference date 2025-01-01. ["Toronto"] = {container = "Ontario"}, -- 7,850,000 (Consolidated Urban Area; including Hamilton) ["Montreal"] = {container = "Quebec"}, -- 4,500,000 (Consolidated Urban Area) ["Vancouver"] = {container = "British Columbia"}, -- 3,175,000 (Consolidated Urban Area) ["Calgary"] = {container = "Alberta"}, -- 1,510,000 (Consolidated Urban Area) ["Edmonton"] = {container = "Alberta"}, -- 1,460,000 (Consolidated Urban Area) ["Ottawa"] = {container = "Ontario"}, -- 1,390,000 (Consolidated Urban Area) ["Quebec City"] = {container = "Quebec"}, -- 839,311 metro per Wikipedia (2021 census) ["Winnipeg"] = {container = "Manitoba"}, -- 834,678 metro per Wikipedia (2021 census) ["Hamilton"] = {container = "Ontario", wp = "%l, %c"}, -- 785,184 metro per Wikipedia (2021 census) ["Kitchener"] = {container = "Ontario", wp = "%l, %c"}, -- 575,847 metro per Wikipedia (2021 census) } export.canada_cities_group = { canonicalize_key_container = make_canonicalize_key_container(", Canada", "province"), default_placetype = "thành phố", data = export.canada_cities, } export.france_cities = { -- Figures from citypopulation.de unless otherwise indicated; retrieved 2025-04-26; reference date 2025-01-01. ["Paris"] = {container = "Île-de-France"}, -- 11,500,000 (Conglomeration) ["Lyon"] = {container = "Auvergne-Rhône-Alpes"}, -- 2,050,000 (Conglomeration) ["Lyons"] = {alias_of = "Lyon", display = true}, ["Marseille"] = {container = "Provence-Alpes-Côte d'Azur"}, -- 1,710,000 (Conglomeration) ["Marseilles"] = {alias_of = "Marseille", display = true}, ["Lille"] = {container = "Hauts-de-France"}, -- 1,320,000 (Conglomeration) ["Bordeaux"] = {container = "Nouvelle-Aquitaine"}, -- 1,160,000 (Conglomeration) ["Toulouse"] = {container = "Occitania"}, -- 1,150,000 (Conglomeration) ["Nice"] = {container = "Provence-Alpes-Côte d'Azur"}, ["Nantes"] = {container = "Pays de la Loire"}, ["Strasbourg"] = {container = "Grand Est"}, ["Rennes"] = {container = "Brittany"}, } export.france_cities_group = { canonicalize_key_container = make_canonicalize_key_container(", France", "region"), default_placetype = "thành phố", data = export.france_cities, } export.germany_cities = { -- Figures from citypopulation.de unless otherwise indicated; retrieved 2025-04-26; reference date 2025-01-01. -- listed under Rhein-Ruhr Area, total population 10,900,000 (Consolidated Urban Area) ["Cologne"] = {container = "North Rhine-Westphalia"}, ["Köln"] = {alias_of = "Cologne", display = true}, ["Düsseldorf"] = {container = "North Rhine-Westphalia"}, ["Dusseldorf"] = {alias_of = "Düsseldorf", display = true}, ["Dortmund"] = {container = "North Rhine-Westphalia"}, ["Essen"] = {container = "North Rhine-Westphalia"}, ["Duisberg"] = {container = "North Rhine-Westphalia"}, ["Berlin"] = {}, -- 4,700,000 ["Frankfurt"] = {container = "Hesse"}, -- 3,225,000 ["Frankfurt am Main"] = {alias_of = "Frankfurt"}, -- not a display alias as it's longer ["Hamburg"] = {}, -- 2,900,000 ["Munich"] = {container = "Bavaria"}, -- 2,300,000 ["Stuttgart"] = {container = "Baden-Württemberg"}, -- 2,300,000 ["Mannheim"] = {container = "Baden-Württemberg"}, -- 1,550,000 ["Nuremberg"] = {container = "Bavaria"}, -- 1,120,000 ["Hanover"] = {"Lower Saxony"}, -- 1,090,000 ["Bielefeld"] = {container = "North Rhine-Westphalia"}, -- 1,080,000 ["Leipzig"] = {container = "Saxony"}, -- 1,080,000 ["Aachen"] = {container = "North Rhine-Westphalia"}, -- 1,000,000 ["Aix-la-Chapelle"] = {alias_of = "Aachen"}, -- historical; not a display alias ["Bremen"] = {}, } export.germany_cities_group = { default_container = "Đức", canonicalize_key_container = make_canonicalize_key_container(", Germany", "state"), default_placetype = "thành phố", data = export.germany_cities, } export.india_cities = { -- This lists the 65 metro areas per Demographia's 2023 estimates, as found in -- [[w:List_of_million-plus_urban_agglomerations_in_India]]. The last census in India (as of April 2025) was -- conducted in 2011, and the results are not accurate any more. ["Delhi"] = {container = {key = "Delhi, India", placetype = "union territory"}}, -- 31,190,000 ["Mumbai"] = {container = "Maharashtra"}, -- 25,189,000 ["Kolkata"] = {container = "West Bengal"}, -- 21,747,000 ["Bangalore"] = {container = "Karnataka", wp = "Bengaluru"}, -- 15,257,000 ["Bengaluru"] = {alias_of = "Bangalore"}, ["Chennai"] = {container = "Tamil Nadu"}, -- 11,570,000 ["Hyderabad"] = {container = "Telangana"}, -- 9,797,000 ["Ahmedabad"] = {container = "Gujarat"}, -- 8,006,000 ["Pune"] = {container = "Maharashtra"}, -- 6,819,000 ["Surat"] = {container = "Gujarat"}, -- 6,601,000 ["Lucknow"] = {container = "Uttar Pradesh"}, -- 4,661,000 ["Jaipur"] = {container = "Rajasthan"}, -- 4,360,000 ["Kanpur"] = {container = "Uttar Pradesh"}, -- 4,350,000 ["Indore"] = {container = "Madhya Pradesh"}, -- 3,765,000 ["Nagpur"] = {container = "Maharashtra"}, -- 3,493,000 ["Patna"] = {container = "Bihar"}, -- 3,331,000 ["Varanasi"] = {container = "Uttar Pradesh"}, -- 3,229,000 ["Kozhikode"] = {container = "Kerala"}, -- 3,049,000 ["Thiruvananthapuram"] = {container = "Kerala"}, -- 2,851,000 ["Agra"] = {container = "Uttar Pradesh"}, -- 2,737,000 ["Bhopal"] = {container = "Madhya Pradesh"}, -- 2,562,000 ["Coimbatore"] = {container = "Tamil Nadu"}, -- 2,551,000 ["Allahabad"] = {container = "Uttar Pradesh", wp = "Prayagraj"}, -- 2,438,000 ["Prayagraj"] = {alias_of = "Allahabad"}, ["Kochi"] = {container = "Kerala"}, -- 2,381,000 ["Ludhiana"] = {container = "Punjab"}, -- 2,205,000 ["Vadodara"] = {container = "Gujarat"}, -- 2,182,000 ["Chandigarh"] = {container = {key = "Chandigarh, India", placetype = "union territory"}}, -- 2,168,000 ["Madurai"] = {container = "Tamil Nadu"}, -- 2,048,000 ["Meerut"] = {container = "Uttar Pradesh"}, -- 2,011,000 ["Visakhapatnam"] = {container = "Andhra Pradesh"}, -- 2,005,000 ["Jamshedpur"] = {container = "Jharkhand"}, -- 1,925,000 ["Malappuram"] = {container = "Kerala"}, -- 1,868,000 ["Nashik"] = {container = "Maharashtra"}, -- 1,810,000 ["Asansol"] = {container = "West Bengal"}, -- 1,720,000 ["Aligarh"] = {container = "Uttar Pradesh"}, -- 1,660,000 ["Ranchi"] = {container = "Jharkhand"}, -- 1,638,000 ["Thrissur"] = {container = "Kerala"}, -- 1,578,000 ["Kollam"] = {container = "Kerala"}, -- 1,576,000 ["Jabalpur"] = {container = "Madhya Pradesh"}, -- 1,533,000 ["Dhanbad"] = {container = "Jharkhand"}, -- 1,503,000 ["Jodhpur"] = {container = "Rajasthan"}, -- 1,497,000 ["Aurangabad"] = {container = "Maharashtra"}, -- 1,490,000 ["Chhatrapati Sambhajinagar"] = {alias_of = "Aurangabad"}, ["Rajkot"] = {container = "Gujarat"}, -- 1,487,000 ["Gwalior"] = {container = "Madhya Pradesh"}, -- 1,477,000 ["Raipur"] = {container = "Chhattisgarh"}, -- 1,429,000 ["Gorakhpur"] = {container = "Uttar Pradesh"}, -- 1,410,000 ["Kannur"] = {container = "Kerala"}, -- 1,360,000 ["Bareilly"] = {container = "Uttar Pradesh"}, -- 1,355,000 ["Guwahati"] = {container = "Assam"}, -- 1,355,000 ["Moradabad"] = {container = "Uttar Pradesh"}, -- 1,345,000 ["Amritsar"] = {container = "Punjab"}, -- 1,313,000 ["Mysore"] = {container = "Karnataka"}, -- 1,296,000 ["Bhilai"] = {container = "Chhattisgarh"}, -- 1,293,000 ["Durg-Bhilainagar"] = {alias_of = "Bhilai"}, ["Durg-Bhilai"] = {alias_of = "Bhilai"}, ["Durg"] = {alias_of = "Bhilai"}, ["Bhilainagar"] = {alias_of = "Bhilai"}, ["Vijayawada"] = {container = "Andhra Pradesh"}, -- 1,232,000 ["Srinagar"] = {container = {key = "Jammu and Kashmir, India", placetype = "union territory"}}, -- 1,212,000 ["Salem"] = {container = "Tamil Nadu", wp = "%l, %c"}, -- 1,189,000 ["Kota"] = {container = "Rajasthan"}, -- 1,172,000 ["Jalandhar"] = {container = "Punjab"}, -- 1,165,000 ["Saharanpur"] = {container = "Uttar Pradesh"}, -- 1,152,000 ["Dehradun"] = {container = "Uttarakhand"}, -- 1,136,000 ["Tiruchirappalli"] = {container = "Tamil Nadu"}, -- 1,131,000 ["Bhubaneswar"] = {container = "Odisha"}, -- 1,112,000 ["Jammu"] = {container = {key = "Jammu and Kashmir, India", placetype = "union territory"}}, -- 1,103,000 ["Solapur"] = {container = "Maharashtra"}, -- 1,082,000 ["Hubli-Dharwad"] = {container = "Karnataka", wp = "Hubli–Dharwad"}, -- 1,062,000; wp with en dash ["Hubli"] = {alias_of = "Hubli-Dharwad"}, ["Dharwad"] = {alias_of = "Hubli-Dharwad"}, ["Puducherry"] = {container = {key = "Puducherry, India", placetype = "union territory"}}, -- 1,024,000 ["Pondicherry"] = {alias_of = "Puducherry", display = true}, -- satellite/secondary cities of metro area (none in citypopulation.de) ["Ghaziabad"] = {container = "Uttar Pradesh"}, -- 1,729,000 city, 2,358,525 urban agglomeration per 2011 census; 3,406,061 2025 estimate from official website; part of Delhi metro area ["Faridabad"] = {container = "Haryana"}, -- 1,414,050 city per 2011 census; part of Delhi metro area ["Thane"] = {container = "Maharashtra"}, -- 1,841,488 city per 2011 census; part of Mumbai metro area ["Kalyan-Dombivli"] = {container = "Maharashtra"}, -- 1,246,381 city per 2011 census; part of Mumbai metro area ["Kalyan-Dombivali"] = {alias_of = "Kalyan-Dombivli", display = true}, ["Kalyan"] = {alias_of = "Kalyan-Dombivli"}, ["Dombivli"] = {alias_of = "Kalyan-Dombivli"}, ["Dombivali"] = {alias_of = "Kalyan-Dombivli"}, ["Vasai-Virar"] = {container = "Maharashtra"}, -- 1,221,233 city per 2011 census; part of Mumbai metro area ["Vasai"] = {alias_of = "Vasai-Virar"}, ["Virar"] = {alias_of = "Vasai-Virar"}, ["Navi Mumbai"] = {container = "Maharashtra"}, -- 1,120,547 city per 2011 census; part of Mumbai metro area ["Howrah"] = {container = "West Bengal"}, -- 1,077,075 city ("metropolis"), 2,811,344 "metro" per 2011 census; part of Kolkata metro area ["Pimpri-Chinchwad"] = {container = "Maharashtra"}, -- 1,727,692 per 2011 census; part of Pune metro area ["Pimpri Chinchwad"] = {alias_of = "Pimpri-Chinchwad", display = true}, } export.india_cities_group = { canonicalize_key_container = make_canonicalize_key_container(", India", "state"), default_placetype = "thành phố", data = export.india_cities, } export.indonesia_cities = { -- cities where the city proper has more than 1,000,000 people as of mid-2023 estimate ["Jakarta"] = {container = "Special Capital Region of Jakarta", divs = { {type = "subdistricts", container_parent_type = false}, }}, ["Surabaya"] = {container = "East Java"}, ["Bekasi"] = {container = "West Java"}, -- part of Jakarta metro area ["Bandung"] = {container = "West Java"}, ["Medan"] = {container = "North Sumatra"}, ["Depok"] = {container = "West Java"}, -- part of Jakarta metro area ["Tangerang"] = {container = "Banten"}, -- part of Jakarta metro area ["Palembang"] = {container = "South Sumatra"}, ["Semarang"] = {container = "Central Java"}, ["Makassar"] = {container = "South Sulawesi"}, ["South Tangerang"] = {container = "Banten"}, -- part of Jakarta metro area ["Batam"] = {container = "Riau Islands"}, ["Bogor"] = {container = "West Java"}, -- part of Jakarta metro area ["Pekanbaru"] = {container = "Riau"}, ["Bandar Lampung"] = {container = "Lampung"}, -- other metro areas over 1,000,000 people ["Padang"] = {container = "West Sumatra"}, ["Samarinda"] = {container = "East Kalimantan"}, ["Malang"] = {container = "East Java"}, ["Yogyakarta"] = {container = "Special Region of Yogyakarta"}, ["Denpasar"] = {container = "Bali"}, ["Cirebon"] = {container = "West Java"}, ["Surakarta"] = {container = "Central Java"}, ["Banjarmasin"] = {container = "South Kalimantan"}, ["Tasikmalaya"] = {container = "West Java"}, } export.indonesia_cities_group = { canonicalize_key_container = make_canonicalize_key_container(", Indonesia", "province"), default_placetype = "thành phố", data = export.indonesia_cities, } export.italy_cities = { -- Data per [[w:List_of_metropolitan_areas_of_Italy]]. There are several lists given; the most recent one, used -- here, only gives estimates as of Jan 1, 2014. ["Milan"] = {container = "Lombardy"}, -- 6,623,798 ["Naples"] = {container = "Campania"}, -- 5,294,546 ["Rome"] = {container = "Lazio"}, -- 4,447,881 ["Turin"] = {container = "Piedmont"}, -- 1,865,284 ["Venice"] = {container = "Veneto"}, -- 1,645,900 ["Florence"] = {container = "Tuscany"}, -- 1,485,030 ["Bari"] = {container = "Apulia"}, -- 1,257,459 ["Palermo"] = {container = "Sicily"}, -- 1,183,084 -- include a few just below 1,000,000 metro area that may be above it by now (depending on the definition). ["Catania"] = {container = "Sicily"}, -- 988,240 ["Brescia"] = {container = "Lombardy"}, -- 924,090 ["Genoa"] = {container = "Liguria"}, -- 861,318 } export.italy_cities_group = { canonicalize_key_container = make_canonicalize_key_container(", Italy", "region"), default_placetype = "thành phố", data = export.italy_cities, } export.japan_cities = { -- Population figures from [[w:List of cities in Japan]]. Metro areas from -- [[w:List of metropolitan areas in Japan]]. ["Tokyo"] = {keydesc = "[[Tokyo]] Metropolis, the [[capital city]] and a [[prefecture]] of [[Japan]] (which is a country in [[Asia]])", placetype = {"thành phố", "tỉnh"}, divs = { {type = "quận đặc biệt", container_parent_type = false}, {type = "thành phố", prep = "của"}, }, }, ["Yokohama"] = {container = "Kanagawa"}, -- 3,697,894 ["Ōsaka"] = {container = "Ōsaka"}, -- 2,668,586 ["Osaka"] = {alias_of = "Ōsaka"}, ["Nagoya"] = {container = "Aichi"}, -- 2,283,289 -- FIXME, Hokkaido is handled specially. ["Sapporo"] = {container = "Hokkaidō"}, -- 1,918,096 ["Fukuoka"] = {container = "Fukuoka"}, -- 1,581,527 ["Kobe"] = {container = "Hyōgo"}, -- 1,530,847 ["Kyoto"] = {container = "Kyoto"}, -- 1,474,570 ["Kawasaki"] = {container = "Kanagawa", wp = "%l, Kanagawa"}, -- 1,373,630 ["Saitama"] = {container = "Saitama", wp = "%l (city)", commonscat = "%l, %c"}, -- 1,192,418 ["Hiroshima"] = {container = "Hiroshima"}, -- 1,163,806 ["Sendai"] = {container = "Miyagi"}, -- 1,029,552 -- the remaining cities are considered "central cities" in a 1,000,000+ metro area -- (sometimes there is more than one central city in the area). ["Kitakyushu"] = {container = "Fukuoka"}, -- 986,998 ["Chiba"] = {container = "Chiba", wp = "%l (city)", commonscat = "%l, %c"}, -- 938,695 ["Sakai"] = {container = "Ōsaka"}, -- 835,333 ["Niigata"] = {container = "Niigata", wp = "%l (city)", commonscat = "%l, %c"}, -- 813,053 ["Hamamatsu"] = {container = "Shizuoka"}, -- 811,431 ["Shizuoka"] = {container = "Shizuoka", wp = "%l (city)", commonscat = "%l, %c"}, -- 710,944 ["Sagamihara"] = {container = "Kanagawa"}, -- 706,342 ["Okayama"] = {container = "Okayama"}, -- 701,293 ["Kumamoto"] = {container = "Kumamoto"}, -- 670,348 ["Kagoshima"] = {container = "Kagoshima"}, -- 605,196 -- skipped 6 cities (Funabashi, Hachiōji, Kawaguchi, Himeji, Matsuyama, Higashiōsaka) -- with population in the range 509k - 587k because not central cities in any -- 1,000,000+ metro area. ["Utsunomiya"] = {container = "Tochigi"}, -- 507,833 } export.japan_cities_group = { default_container = "Nhật Bản", canonicalize_key_container = make_canonicalize_key_container(", Nhật Bản", "prefecture"), default_placetype = "thành phố", data = export.japan_cities, } export.mexico_cities = { ["Mexico City"] = {}, -- its own state ["Monterrey"] = {container = "Nuevo León"}, ["Guadalajara"] = {container = "Jalisco"}, ["Puebla"] = {container = "Puebla", wp = "%l (city)"}, ["Toluca"] = {container = "State of Mexico"}, ["Tijuana"] = {container = "Baja California"}, -- Include the state in the category for León due to possible confusion with León, Spain. ["León, Guanajuato"] = {container = "Guanajuato", wp = "%l, %c"}, ["León"] = {alias_of = "León, Guanajuato"}, ["Leon"] = {alias_of = "León, Guanajuato", display = true}, ["Querétaro"] = {container = "Querétaro", wp = "%l (city)"}, ["Queretaro"] = {alias_of = "Querétaro", display = true}, ["Ciudad Juárez"] = {container = "Chihuahua"}, ["Juárez"] = {alias_of = "Ciudad Juárez"}, ["Juarez"] = {alias_of = "Ciudad Juárez", display = "Juárez"}, ["Torreón"] = {container = "Coahuila"}, ["Torreon"] = {alias_of = "Torreón", display = true}, -- Include the state in the category for Mérida due to possible confusion with Mérida, Spain or -- Mérida, Venezuela. ["Mérida, Yucatán"] = {container = "Yucatán", wp = "%l, %c"}, ["Mérida"] = {alias_of = "Mérida, Yucatán"}, ["Merida"] = {alias_of = "Mérida, Yucatán", display = true}, ["San Luis Potosí"] = {container = "San Luis Potosí", wp = "%l (city)"}, ["San Luis Potosi"] = {alias_of = "San Luis Potosí", display = true}, ["Aguascalientes"] = {container = "Aguascalientes", wp = "%l (city)"}, ["Mexicali"] = {container = "Baja California"}, } export.mexico_cities_group = { default_container = "Mexico", canonicalize_key_container = make_canonicalize_key_container(", Mexico", "state"), default_placetype = "thành phố", data = export.mexico_cities, } export.nigeria_cities = { -- Figures from citypopulation.de unless otherwise indicated; retrieved 2025-04-26; reference date 2025-01-01. ["Lagos"] = {container = "Lagos"}, -- 21,300,000 (unindicated; population of low reliability) ["Kano"] = {container = "Kano", wp = "%l (city)"}, -- 5,350,000 (unindicated; population of low reliability) ["Ibadan"] = {container = "Oyo"}, -- 3,400,000 (unindicated; population of low reliability) ["Abuja"] = {container = {key = "Federal Capital Territory, Nigeria", placetype = "federal territory"}}, -- 3,050,000 (unindicated; population of low reliability) ["Port Harcourt"] = {container = "Rivers"}, -- 2,250,000 (unindicated; population of low reliability) ["Kaduna"] = {container = "Kaduna"}, -- 1,980,000 (unindicated; population of low reliability) ["Benin City"] = {container = "Edo"}, -- 1,790,000 (unindicated; population of low reliability) ["Aba"] = {container = "Abia", wp = "%l, Nigeria"}, -- 1,280,000 (unindicated; population of low reliability) ["Onitsha"] = {container = "Anambra"}, -- 1,230,000 (unindicated; population of low reliability) ["Maiduguri"] = {container = "Borno"}, -- 1,190,000 (unindicated; population of low reliability) ["Ilorin"] = {container = "Kwara"}, -- 1,160,000 (unindicated; population of low reliability) ["Sokoto"] = {container = "Sokoto", wp = "%l (city)"}, -- 1,140,000 (unindicated; population of low reliability) ["Jos"] = {container = "Plateau"}, -- 1,110,000 (unindicated; population of low reliability) ["Zaria"] = {container = "Kaduna"}, -- 1,050,000 (unindicated; population of low reliability) ["Enugu"] = {container = "Enugu", wp = "%l (city)"}, -- 1,010,000 (unindicated; population of low reliability) } export.nigeria_cities_group = { default_container = "Nigeria", canonicalize_key_container = make_canonicalize_key_container(" State, Nigeria", "state"), default_placetype = "thành phố", data = export.nigeria_cities, } export.pakistan_cities = { -- Figures from citypopulation.de; retrieved 2025-04-26; reference date 2025-01-01. ["Karachi"] = {container = "Sindh"}, -- 21,000,000 (Consolidated Urban Area) ["Lahore"] = {container = "Punjab"}, -- 14,600,000 (Consolidated Urban Area) ["Rawalpindi"] = {container = "Punjab"}, -- 5,600,000 (Consolidated Urban Area; including Islamabad) ["Islamabad"] = {container = {key = "Islamabad Capital Territory, Pakistan", placetype = "federal territory"}}, -- 5,600,000 (Consolidated Urban Area; including Rawalpindi) ["Faisalabad"] = {container = "Punjab"}, -- 4,125,000 (Consolidated Urban Area) ["Gujranwala"] = {container = "Punjab"}, -- 3,450,000 (Consolidated Urban Area) -- there is also Hyderabad in India (very confusing) ["Hyderabad, Pakistan"] = {container = "Sindh", wp = "%l, %c"}, -- 2,475,000 (Consolidated Urban Area) ["Hyderabad"] = {alias_of = "Hyderabad, Pakistan"}, ["Multan"] = {container = "Punjab"}, -- 2,425,000 (Consolidated Urban Area) ["Peshawar"] = {container = "Khyber Pakhtunkhwa"}, -- 2,150,000 (Consolidated Urban Area) ["Quetta"] = {container = "Balochistan"}, -- 1,720,000 (Urban Area) ["Sargodha"] = {container = "Punjab"}, -- 1,080,000 (Urban Area) ["Sialkot"] = {container = "Punjab"}, -- 1,050,000 (Consolidated Urban Area) } export.pakistan_cities_group = { canonicalize_key_container = make_canonicalize_key_container(", Pakistan", "province"), default_placetype = "thành phố", data = export.pakistan_cities, } export.philippines_cities = { -- Skipped some cities in Metro Manila (Taguig, Pasig) which don't have districts. -- Other cities outside Metro Manila skipped as not central city in their urban area. ["Quezon City"] = {container = {key = "Metro Manila, Philippines", placetype = "region"}}, -- Don't display-canonicalize Foo to Foo City as it may make the display weird. ["Quezon"] = {alias_of = "Quezon City"}, ["Manila"] = {container = {key = "Metro Manila, Philippines", placetype = "region"}}, ["Davao City"] = {container = "Davao del Sur"}, ["Davao"] = {alias_of = "Davao City"}, ["Caloocan"] = {container = {key = "Metro Manila, Philippines", placetype = "region"}}, ["Zamboanga City"] = {container = "Zamboanga del Sur"}, ["Zamboanga"] = {alias_of = "Zamboanga City"}, ["Cebu City"] = {container = "Cebu"}, ["Cebu"] = {alias_of = "Cebu City"}, ["Antipolo"] = {container = "Rizal"}, ["Cagayan de Oro"] = {container = "Misamis Oriental"}, ["Dasmariñas"] = {container = "Cavite"}, ["Dasmarinas"] = {alias_of = "Dasmariñas", display = true}, ["General Santos"] = {container = "South Cotabato"}, ["San Jose del Monte"] = {container = "Bulacan"}, ["Bacolod"] = {container = "Negros Occidental"}, ["Calamba"] = {container = "Laguna", wp = "%l, %c"}, ["Angeles"] = {container = "Pampanga", wp = "Angeles City"}, ["Angeles City"] = {alias_of = "Angeles"}, ["Iloilo City"] = {container = "Iloilo"}, ["Iloilo"] = {alias_of = "Iloilo City"}, } export.philippines_cities_group = { canonicalize_key_container = make_canonicalize_key_container(", Philippines", "province"), default_placetype = "thành phố", data = export.philippines_cities, } export.russia_cities = { -- Figures from citypopulation.de; retrieved 2025-04-26; reference date 2025-01-01. ["Moscow"] = {}, -- 18,800,000 (Agglomeration) ["Sankt-Peterburg"] = {}, -- 6,350,000 (Agglomeration) ["Saint Petersburg"] = {alias_of = "Sankt-Peterburg"}, ["Novosibirsk"] = {container = "Novosibirsk Oblast"}, -- 1,820,000 (Agglomeration) ["Yekaterinburg"] = {container = "Sverdlovsk Oblast"}, -- 1,810,000 (Agglomeration) ["Nizhny Novgorod"] = {container = "Nizhny Novgorod Oblast"}, -- 1,620,000 (Agglomeration) ["Kazan"] = {container = {key = "Tatarstan, Russia", placetype = "republic"}}, -- 1,560,000 (Agglomeration) ["Chelyabinsk"] = {container = "Chelyabinsk Oblast"}, -- 1,430,000 (Agglomeration) ["Rostov-on-Don"] = {container = "Rostov Oblast"}, -- 1,390,000 (Agglomeration) ["Rostov-na-Donu"] = {alias_of = "Rostov-on-Don", display = true}, ["Krasnodar"] = {container = {key = "Krasnodar Krai, Russia", placetype = "krai"}}, -- 1,370,000 (Agglomeration) ["Samara"] = {container = "Samara Oblast"}, -- 1,350,000 (Agglomeration) ["Krasnoyarsk"] = {container = {key = "Krasnoyarsk Krai, Russia", placetype = "krai"}}, -- 1,270,000 (Agglomeration) ["Ufa"] = {container = {key = "Bashkortostan, Russia", placetype = "republic"}}, -- 1,230,000 (Agglomeration) ["Saratov"] = {container = "Saratov Oblast"}, -- 1,170,000 (Agglomeration) ["Omsk"] = {container = "Omsk Oblast"}, -- 1,140,000 (Agglomeration) ["Voronezh"] = {container = "Voronezh Oblast"}, -- 1,130,000 (Agglomeration) ["Volgograd"] = {container = "Volgograd Oblast"}, -- 1,080,000 (Agglomeration) ["Perm"] = {container = {key = "Perm Krai, Russia", placetype = "krai"}, wp = "%l, Russia"}, -- 1,070,000 (Agglomeration) } export.russia_cities_group = { canonicalize_key_container = make_canonicalize_key_container(", Russia", "oblast"), default_container = "Nga", default_placetype = "thành phố", data = export.russia_cities, } export.saudi_arabia_cities = { -- Figures for the first five from [[w:List of cities and towns in Saudi Arabia]] as of 2022. Unclear if these are -- metro, urban or city proper figures. ["Riyadh"] = {container = "Riyadh"}, -- 7,000,100; 7,700,000 per citypopulation.de 2025-01-01 (Agglomeration) ["Jeddah"] = {container = "Mecca"}, -- 3,751,917; 3,950,000 per citypopulation.de 2025-01-01 (Agglomeration) ["Jedda"] = {alias_of = "Jeddah", display = true}, ["Jiddah"] = {alias_of = "Jeddah", display = true}, ["Jidda"] = {alias_of = "Jeddah", display = true}, ["Dammam"] = {container = "Eastern"}, -- 2,638,166; 2,925,000 per citypopulation.de 2025-01-01 (Agglomeration) ["Mecca"] = {container = "Mecca"}, -- 2,385,509; 2,675,000 per citypopulation.de 2025-01-01 (Agglomeration) ["Makkah"] = {alias_of = "Mecca", display = true}, ["Medina"] = {container = "Medina"}, -- 1,477,023; 1,530,000 per citypopulation.de 2025-01-01 (City) ["Hofuf"] = {container = "Eastern"}, -- 1,060,000 per citypopulation.de 2025-01-01 (Agglomeration) ["Khamis Mushait"] = {container = "Aseer"}, -- 1,030,000 per citypopulation.de 2025-01-01 (Agglomeration) ["Khamis Mushayt"] = {alias_of = "Khamis Mushait", display = true}, } export.saudi_arabia_cities_group = { canonicalize_key_container = make_canonicalize_key_container(" Province, Saudi Arabia", "province"), default_placetype = "thành phố", data = export.saudi_arabia_cities, } export.south_korea_cities = { -- All cities listed are not associated with any county. ["Seoul"] = {}, ["Busan"] = {}, ["Incheon"] = {}, ["Daegu"] = {}, ["Daejeon"] = {}, ["Gwangju"] = {}, ["Ulsan"] = {}, } export.south_korea_cities_group = { default_container = "Hàn Quốc", canonicalize_key_container = make_canonicalize_key_container(" County, South Korea", "province"), default_placetype = "thành phố", data = export.south_korea_cities, } export.spain_cities = { ["Madrid"] = {container = "Community of Madrid"}, ["Barcelona"] = {container = "Catalonia"}, ["Valencia"] = {container = "Valencia"}, ["Seville"] = {container = "Andalusia"}, ["Bilbao"] = {container = "Basque Country"}, } export.spain_cities_group = { canonicalize_key_container = make_canonicalize_key_container(", Spain", "autonomous community"), default_placetype = "thành phố", data = export.spain_cities, } export.taiwan_cities = { ["Tân Bắc"] = {}, ["New Taipei"] = {alias_of = "Tân Bắc", display = true}, ["Đài Trung"] = {}, ["Cao Hùng"] = {wp = "%l, Đài Loan"}, ["Đài Bắc"] = {}, ["Đào Viên"] = {}, ["Đài Nam"] = {}, -- these last three are not special municipalities ["Gia Nghĩa"] = {placetype = "thành phố"}, ["Tân Trúc"] = {placetype = "thành phố"}, ["Cơ Long"] = {placetype = "thành phố"}, } export.taiwan_cities_group = { placename_to_key = false, -- don't add ", Taiwan" to make the key canonicalize_key_container = make_canonicalize_key_container(", Taiwan", "county"), default_container = "Đài Loan", default_placetype = {"special municipality", "municipality", "thành phố"}, default_is_city = true, default_divs = {"districts"}, data = export.taiwan_cities, } -- NOTE: It's OK to mix cities from different constituent countries; as long as the immediate container is correct, -- everything else will be figured out. export.united_kingdom_cities = { ["London"] = {container = "Greater London"}, ["Manchester"] = {container = "Greater Manchester"}, ["Birmingham"] = {container = "West Midlands"}, ["Liverpool"] = {container = "Merseyside"}, ["Glasgow"] = {container = {key = "City of Glasgow, Scotland", placetype = "council area"}}, ["Leeds"] = {container = "West Yorkshire"}, ["Newcastle upon Tyne"] = {container = "Tyne and Wear"}, ["Newcastle"] = {alias_of = "Newcastle upon Tyne"}, ["Bristol"] = {container = {key = "England", placetype = "constituent country"}}, ["Cardiff"] = {container = {key = "Wales", placetype = "constituent country"}}, ["Portsmouth"] = {container = "Hampshire"}, ["Edinburgh"] = {container = {key = "City of Edinburgh, Scotland", placetype = "council area"}}, -- under 1,000,000 people but principal areas of Wales; requested by [[User:Donnanz]] ["Swansea"] = {container = {key = "Wales", placetype = "constituent country"}}, ["Newport"] = {container = {key = "Wales", placetype = "constituent country"}, wp = "Newport, Wales"}, } export.united_kingdom_cities_group = { canonicalize_key_container = make_canonicalize_key_container(", England", "county"), default_placetype = "thành phố", data = export.united_kingdom_cities, } export.united_states_cities = { -- top 50 CSA's by population, with the top and sometimes 2nd or 3rd city listed ["New York City"] = {container = "New York", wp = "%l", divs = { {type = "boroughs", container_parent_type = false}, }}, -- Don't display-canonicalize as it may make the display weird (e.g. in the context New York, New York). ["New York"] = {alias_of = "New York City"}, ["Newark"] = {container = "New Jersey"}, ["Los Angeles"] = {container = "California", wp = "%l"}, ["Long Beach"] = {container = "California"}, ["Riverside"] = {container = "California"}, ["Chicago"] = {container = "Illinois", wp = "%l"}, ["Washington, D.C."] = {wp = "%l"}, ["Washington, DC"] = {alias_of = "Washington, D.C.", display = true}, ["Washington D.C."] = {alias_of = "Washington, D.C.", display = true}, ["Washington DC"] = {alias_of = "Washington, D.C.", display = true}, -- Don't display-canonicalize as it may make the display weird (e.g. if the holonym is followed by a District of -- Columbia holonym). ["Washington"] = {alias_of = "Washington, D.C."}, ["Baltimore"] = {container = "Maryland", wp = "%l"}, -- to avoid conflict with San Jose in Costa Rica ["San Jose, California"] = {container = "California"}, ["San Jose"] = {alias_of = "San Jose, California"}, ["San Francisco"] = {container = "California", wp = "%l"}, ["Oakland"] = {container = "California"}, ["Boston"] = {container = "Massachusetts", wp = "%l"}, ["Providence"] = {container = "Rhode Island"}, ["Dallas"] = {container = "Texas", wp = "%l", commonscat = "%l, %c"}, ["Fort Worth"] = {container = "Texas"}, ["Philadelphia"] = {container = "Pennsylvania", wp = "%l"}, ["Houston"] = {container = "Texas", wp = "%l"}, ["Miami"] = {container = "Florida", wp = "%l", commonscat = "%l, %c"}, ["Atlanta"] = {container = "Georgia", wp = "%l"}, ["Detroit"] = {container = "Michigan", wp = "%l"}, ["Phoenix"] = {container = "Arizona", wp = "%l", commonscat = "%l, %c"}, ["Mesa"] = {container = "Arizona"}, ["Seattle"] = {container = "Washington", wp = "%l"}, ["Orlando"] = {container = "Florida"}, ["Minneapolis"] = {container = "Minnesota", wp = "%l"}, ["Cleveland"] = {container = "Ohio", wp = "%l", commonscat = "%l, %c"}, ["Denver"] = {container = "Colorado", wp = "%l", commonscat = "%l, %c"}, ["San Diego"] = {container = "California", wp = "%l", commonscat = "%l, %c"}, ["Portland"] = {container = "Oregon"}, ["Tampa"] = {container = "Florida"}, ["St. Louis"] = {container = "Missouri", wp = "%l", commonscat = "%l, %c"}, ["Saint Louis"] = {alias_of = "St. Louis", display = true}, ["Charlotte"] = {container = "North Carolina"}, ["Sacramento"] = {container = "California"}, ["Pittsburgh"] = {container = "Pennsylvania", wp = "%l"}, ["Salt Lake City"] = {container = "Utah", wp = "%l"}, ["San Antonio"] = {container = "Texas", wp = "%l", commonscat = "%l, %c"}, ["Columbus"] = {container = "Ohio"}, ["Kansas City"] = {container = "Missouri", wp = "%l metropolitan area", commonscat = "%l, %c"}, ["Indianapolis"] = {container = "Indiana", wp = "%l"}, ["Las Vegas"] = {container = "Nevada", wp = "%l"}, ["Cincinnati"] = {container = "Ohio", wp = "%l", commonscat = "%l, %c"}, ["Austin"] = {container = "Texas"}, ["Milwaukee"] = {container = "Wisconsin", wp = "%l", commonscat = "%l, %c"}, ["Raleigh"] = {container = "North Carolina"}, ["Nashville"] = {container = "Tennessee"}, ["Virginia Beach"] = {container = "Virginia"}, ["Norfolk"] = {container = "Virginia"}, ["Greensboro"] = {container = "North Carolina"}, ["Winston-Salem"] = {container = "North Carolina"}, ["Jacksonville"] = {container = "Florida"}, ["New Orleans"] = {container = "Louisiana", wp = "%l"}, ["Louisville"] = {container = "Kentucky"}, ["Greenville"] = {container = "South Carolina"}, ["Hartford"] = {container = "Connecticut"}, ["Oklahoma City"] = {container = "Oklahoma", wp = "%l"}, ["Grand Rapids"] = {container = "Michigan"}, ["Memphis"] = {container = "Tennessee"}, ["Birmingham, Alabama"] = {container = "Alabama"}, ["Birmingham"] = {alias_of = "Birmingham, Alabama"}, ["Fresno"] = {container = "California"}, ["Richmond"] = {container = "Virginia"}, ["Harrisburg"] = {container = "Pennsylvania"}, -- any major city of top 50 MSA's that's missed by previous ["Buffalo"] = {container = "New York"}, -- any of the top 50 city by city population that's missed by previous ["El Paso"] = {container = "Texas"}, ["Albuquerque"] = {container = "New Mexico"}, ["Tucson"] = {container = "Arizona"}, ["Colorado Springs"] = {container = "Colorado"}, ["Omaha"] = {container = "Nebraska"}, ["Tulsa"] = {container = "Oklahoma"}, -- skip Arlington, Texas; too obscure and likely to be interpreted as Arlington, Virginia } export.united_states_cities_group = { default_container = "Hoa Kỳ", canonicalize_key_container = make_canonicalize_key_container(", USA", "state"), default_placetype = "thành phố", default_wp = "%l, %c", data = export.united_states_cities, } export.new_york_boroughs = { ["Bronx"] = {the = true, wp = "The Bronx"}, ["Brooklyn"] = {}, ["Manhattan"] = {}, ["Queens"] = {}, ["Staten Island"] = {}, } export.new_york_boroughs_group = { default_container = {key = "New York City", placetype = "thành phố"}, default_placetype = "borough", default_is_city = true, data = export.new_york_boroughs, } export.vietnam_cities = { -- Figures from citypopulation.de (retrieved 2025-04-26; reference date 2025-01-01) unless otherwise indicated. ["Thành phố Hồ Chí Minh"] = {}, -- 14,300,000 (Agglomeration; inclunding Bien Hoa) ["Sài Gòn"] = {alias_of = "Thành phố Hồ Chí Minh"}, ["Hanoi"] = {}, -- 7,350,000 (Agglomeration) ["Da Nang"] = {}, -- 1,500,000 (Agglomeration) ["Danang"] = {alias_of = "Da Nang", display = true}, ["Haiphong"] = {}, -- 1,450,000 (Agglomeration) ["Hai Phong"] = {alias_of = "Haiphong", display = true}, -- This is the one entry in this list that is not a province-level municipality; instead it's a "provincial city" -- meaning it is directly under its province as opposed to being contained in a district. ["Bien Hoa"] = {placetype = "thành phố", container = "Đồng Nai", wp = "Biên Hòa"}, -- 1,272,235 (2022 city population per Wikipedia) ["Biên Hòa"] = {alias_of = "Bien Hoa", display = true}, ["Biên Hoà"] = {alias_of = "Bien Hoa", display = true}, -- These two not in citypopulation.de because the urban population may be slightly under 1,000,000, but they are -- both province-level municipalities and close to the 1,000,000 mark. ["Can Tho"] = {wp = "Cần Thơ"}, -- 1,456,000 municipality (2019 census), 994,704 urban (2022 General Statistics Office of Vietnam estimate); capital [[Ninh Kiều district]] ["Cần Thơ"] = {alias_of = "Can Tho", display = true}, ["Huế"] = {wp = "Huế"}, -- 1,257,000 municipality (2019 census), 840,000 urban (2022 General Statistics Office of Vietnam estimate); -- capital [[Thuận Hóa district]] ["Hue"] = {alias_of = "Hue", display = true}, } export.vietnam_cities_group = { placename_to_key = false, -- don't add ", Vietnam" to make the key default_container = "Việt Nam", canonicalize_key_container = make_canonicalize_key_container(" , Việt Nam", "tỉnh"), -- Most of the cities listed are province-level municipalities in addition, which contain a certain amount of -- rural territory surrounding the city, but not enough to separate the municipality from the city as distinct -- known locations. default_placetype = {"municipality", "thành phố"}, default_is_city = true, -- There may not be enough districts to subcategorize like this. -- default_divs = "districts", data = export.vietnam_cities, } export.misc_cities = { ------------------ Africa ------------------- -- Sorted by country and then within the country, by decreasing population; figures from citypopulation.de -- (retrieved 2025-04-26; reference date 2025-01-01) unless otherwise indicated; combined with data from -- [[w:List of urban areas in Africa by population]]. ["Algiers"] = {container = "Algeria"}, -- 4,325,000 (Consolidated Urban Area) ["Oran"] = {container = "Algeria"}, -- 1,640,000 (Consolidated Urban Area) ["Luanda"] = {container = "Angola"}, -- 9,650,000 (Urban Area) ["Benguela"] = {container = "Angola"}, -- 1,420,000 (Urban Area) ["Cotonou"] = {container = "Benin"}, -- 2,150,000 (Agglomeration) ["Ouagadougou"] = {container = "Burkina Faso"}, -- 3,425,000 (Agglomeration) ["Bobo-Dioulasso"] = {container = "Burkina Faso"}, -- 1,100,000 (Agglomeration) ["Bujumbura"] = {container = "Burundi"}, -- 1,143,202 (Urban Area 2023 per PopulationStat, cited in Wikipedia) ["Yaoundé"] = {container = "Cameroon"}, -- 3,975,000 (City) ["Yaounde"] = {alias_of = "Yaoundé", display = true}, ["Douala"] = {container = "Cameroon"}, -- 3,900,000 (City) ["Bangui"] = {container = "Central African Republic"}, -- 1,680,000 (Agglomeration) ["N'Djamena"] = {container = "Chad"}, -- 1,950,000 (City) ["Ndjamena"] = {alias_of = "N'Djamena", display = true}, ["Kinshasa"] = {container = "Democratic Republic of the Congo"}, -- 16,300,000 (City; population of low reliability) ["Lubumbashi"] = {container = "Democratic Republic of the Congo"}, -- 2,875,000 (City; population of low reliability) ["Mbuji-Mayi"] = {container = "Democratic Republic of the Congo"}, -- 2,500,000 (City; population of low reliability) ["Kananga"] = {container = "Democratic Republic of the Congo"}, -- 1,370,000 (City; population of low reliability) ["Kisangani"] = {container = "Democratic Republic of the Congo"}, -- 1,300,000 (City; population of low reliability) ["Bukavu"] = {container = "Democratic Republic of the Congo"}, -- 1,100,000 (City; population of low reliability) ["Goma"] = {container = "Democratic Republic of the Congo"}, -- 1,010,000 (City; population of low reliability) ["Tshikapa"] = {container = "Democratic Republic of the Congo"}, -- 1,020,468 (2023 Wikipedia [[w:List of cities with over one million inhabitants]] from populationstat.com; not in citypopulation.de) ["Cairo"] = {container = "Ai Cập"}, -- 22,800,000 (Agglomeration, including Giza and Subhra El Kheima) ["Alexandria"] = {container = "Ai Cập"}, -- 6,250,000 (Agglomeration) ["Giza"] = {container = "Ai Cập"}, -- 4,458,135 (2023 from citypopulation.de) ["Shubra El Kheima"] = {container = "Ai Cập"}, -- 1,240,239 (2021 from citypopulation.de) ["Asmara"] = {container = "Eritrea"}, -- 1,090,000 (City; population of low reliability) ["Asmera"] = {alias_of = "Asmara", display = true}, ["Addis Ababa"] = {container = "Ethiopia"}, -- 4,825,000 (Agglomeration) ["Banjul"] = {container = "Gambia"}, -- 1,170,000 (Agglomeration) ["Accra"] = {container = "Ghana"}, -- 6,800,000 (Agglomeration) ["Kumasi"] = {container = "Ghana"}, -- 2,900,000 (Agglomeration) ["Conakry"] = {container = "Guinea"}, -- 2,975,000 (Consolidated Urban Area) ["Abidjan"] = {container = "Bờ Biển Ngà"}, -- 7,050,000 (Agglomeration) ["Nairobi"] = {container = "Kenya"}, -- 6,900,000 (unindicated) ["Mombasa"] = {container = "Kenya"}, -- 1,370,000 (City) ["Monrovia"] = {container = "Liberia"}, -- 1,940,000 (Urban Area) ["Tripoli"] = {container = "Libya", wp = "%l, %c"}, -- 1,870,000 (unindicated) ["Antananarivo"] = {container = "Madagascar"}, -- 3,150,000 (Agglomeration) ["Lilongwe"] = {container = "Malawi"}, -- 1,210,000 (City) ["Bamako"] = {container = "Mali"}, -- 5,700,000 (Agglomeration) ["Nouakchott"] = {container = "Mauritania"}, -- 1,500,000 (City) ["Casablanca"] = {container = {key = "Casablanca-Settat, Morocco", placetype = "region"}}, -- 4,450,000 (Municipality (urban population)) ["Rabat"] = {container = {key = "Rabat-Sale-Kenitra, Morocco", placetype = "region"}}, -- 2,125,000 (Municipality (urban population)) ["Tangier"] = {container = {key = "Tangier-Tetouan-Al Hoceima, Morocco", placetype = "region"}}, -- 1,410,000 (Municipality (urban population)) ["Tanger"] = {alias_of = "Tangier", display = true}, ["Tangiers"] = {alias_of = "Tangier", display = true}, ["Fez"] = {container = {key = "Fez-Meknes, Morocco", placetype = "region"}, wp = "%l, Morocco"}, -- 1,310,000 (Municipality (urban population)) ["Fes"] = {alias_of = "Fez", display = true}, ["Fès"] = {alias_of = "Fez", display = true}, ["Agadir"] = {container = {key = "Souss-Massa, Morocco", placetype = "region"}}, -- 1,270,000 (Municipality (urban population)) ["Marrakesh"] = {container = {key = "Marrakesh-Safi, Morocco", placetype = "region"}}, -- 1,140,000 (Municipality (urban population)) ["Marrakech"] = {alias_of = "Marrakesh", display = true}, ["Maputo"] = {container = "Mozambique"}, -- 2,575,000 (Agglomeration) ["Niamey"] = {container = "Niger"}, -- 1,530,000 (City) ["Brazzaville"] = {container = "Republic of the Congo"}, -- 2,475,000 (Agglomeration) ["Pointe-Noire"] = {container = "Republic of the Congo"}, -- 1,480,000 (City) ["Kigali"] = {container = "Rwanda"}, -- 1,960,000 (Municipality (urban population)) ["Dakar"] = {container = "Senegal"}, -- 4,225,000 (Agglomeration) ["Touba"] = {container = "Senegal"}, -- 1,320,000 (Agglomeration) ["Freetown"] = {container = "Sierra Leone"}, -- 1,420,000 (Agglomeration) ["Mogadishu"] = {container = "Somalia"}, -- 2,250,000 (unindicated; population of low reliability) ["Johannesburg"] = {container = {key = "Gauteng, South Africa", placetype = "province"}}, -- 14,800,000 (Consolidated Urban Area; including Pretoria, Soweto, etc.) ["Cape Town"] = {container = {key = "Western Cape, South Africa", placetype = "province"}}, -- 5,100,000 (Consolidated Urban Area) ["Durban"] = {container = {key = "KwaZulu-Natal, South Africa", placetype = "province"}}, -- 3,900,000 (Consolidated Urban Area) ["Pretoria"] = {container = {key = "Gauteng, South Africa", placetype = "province"}}, -- 2,921,488 (2011 census) ["Port Elizabeth"] = {container = {key = "Eastern Cape, South Africa", placetype = "province"}, wp = "Gqeberha"}, -- 1,200,000 (Consolidated Urban Area) ["Gqeberha"] = {alias_of = "Port Elizabeth"}, -- official name; not a display alias ["Khartoum"] = {container = "Sudan"}, -- 7,200,000 (unindicated; population of low reliability) ["Dar es Salaam"] = {container = "Tanzania"}, -- 6,650,000 (Agglomeration) ["Mwanza"] = {container = "Tanzania"}, -- 1,340,000 (Agglomeration) ["Mwanza City"] = {alias_of = "Mwanza", display = true}, ["Arusha"] = {container = "Tanzania"}, -- 1,190,000 (Agglomeration) ["Zanzibar"] = {container = "Tanzania"}, -- 1,030,000 (Agglomeration) ["Lomé"] = {container = "Togo"}, -- 2,625,000 (unindicated) ["Lome"] = {alias_of = "Lomé", display = true}, ["Tunis"] = {container = "Tunisia"}, -- 2,725,000 (Municipality (urban population)) ["Sousse"] = {container = "Tunisia"}, -- 1,180,000 (Municipality (urban population)) ["Soussa"] = {alias_of = "Sousse", display = true}, ["Kampala"] = {container = "Uganda"}, -- 4,300,000 (unindicated) ["Lusaka"] = {container = "Zambia"}, -- 3,000,000 (Consolidated Urban Area) ["Harare"] = {container = "Zimbabwe"}, -- 2,675,000 (Agglomeration) ------------------ Asia ------------------- -- sorted by country and then within the country, by decreasing population; figures from citypopulation.de -- (retrieved 2025-04-26; reference date 2025-01-01) unless otherwise indicated. ["Kabul"] = {container = "Afghanistan"}, -- 5,250,000 (Agglomeration) ["Baku"] = {container = "Azerbaijan"}, -- 3,725,000 (Administrative Area (urban population)) ["Manama"] = {container = "Bahrain"}, -- 1,560,000 (unindicated) ["Dhaka"] = {container = {key = "Dhaka Division, Bangladesh", placetype = "division"}}, -- 23,100,000 (Agglomeration) ["Dacca"] = {alias_of = "Dhaka", display = true}, ["Chittagong"] = {container = {key = "Chittagong Division, Bangladesh", placetype = "division"}}, -- 5,050,000 (Agglomeration) ["Gazipur"] = {container = {key = "Dhaka Division, Bangladesh", placetype = "division"}}, -- 2,674,697 (City per 2022; countied in citypopulation.de as part of Dhaka metro area) ["Khulna"] = {container = {key = "Khulna Division, Bangladesh", placetype = "division"}}, -- 1,210,000 (Agglomeration) ["Phnom Penh"] = {container = "Campuchia"}, -- 2,925,000 (Agglomeration) ["Tehran"] = {container = {key = "Tehran Province, Iran", placetype = "province"}}, -- 16,800,000 (Agglomeration) ["Teheran"] = {alias_of = "Tehran", display = true}, ["Mashhad"] = {container = {key = "Razavi Khorasan Province, Iran", placetype = "province"}}, -- 3,475,000 (Agglomeration) ["Mashad"] = {alias_of = "Mashhad", display = true}, ["Meshhed"] = {alias_of = "Mashhad", display = true}, ["Meshed"] = {alias_of = "Mashhad", display = true}, ["Isfahan"] = {container = {key = "Isfahan Province, Iran", placetype = "province"}}, -- 3,425,000 (Agglomeration) ["Esfahan"] = {alias_of = "Isfahan", display = true}, ["Tabriz"] = {container = {key = "East Azerbaijan Province, Iran", placetype = "province"}}, -- 1,970,000 (Agglomeration) ["Shiraz"] = {container = {key = "Fars Province, Iran", placetype = "province"}}, -- 1,950,000 (Agglomeration) ["Ahvaz"] = {container = {key = "Khuzestan Province, Iran", placetype = "province"}}, -- 1,550,000 (Agglomeration) ["Qom"] = {container = {key = "Qom Province, Iran", placetype = "province"}}, -- 1,450,000 (City) ["Kermanshah"] = {container = {key = "Kermanshah Province, Iran", placetype = "province"}}, -- 1,130,000 (City) ["Baghdad"] = {container = "Iraq"}, -- 7,800,000 (Administrative Area (urban population)) ["Basra"] = {container = "Iraq"}, -- 1,710,000 (Administrative Area (urban population)) ["Mosul"] = {container = "Iraq"}, -- 1,550,000 (Administrative Area (urban population)) ["Erbil"] = {container = "Iraq"}, -- 1,220,000 (Administrative Area (urban population)) ["Kirkuk"] = {container = "Iraq"}, -- 1,160,000 (Administrative Area (urban population)) ["Najaf"] = {container = "Iraq"}, -- 1,050,000 (Administrative Area (urban population)) ["Tel Aviv"] = {container = "Israel"}, -- 3,000,000 (Agglomeration) -- Jerusalem is not recognized internationally as part of either Israel or Palestine, but as a -- [[w:corpus separatum]], so put the container as "châu Á" and list Israel and Palestine as additional parents for -- categorization purposes. ["Jerusalem"] = {container = {key = "châu Á", placetype = "continent"}, addl_parents = {"Israel", "Palestine"}}, -- 1,080,000 (Agglomeration) ["Amman"] = {container = "Jordan"}, -- 6,150,000 (unindicated) ["Irbid"] = {container = "Jordan"}, -- 1,070,000 (unindicated) ["Almaty"] = {container = "Kazakhstan"}, -- 2,700,000 (Agglomeration) ["Alma-Ata"] = {alias_of = "Almaty"}, -- former name, sometimes still used; don't display-canonicalize ["Astana"] = {container = "Kazakhstan"}, -- 1,600,000 (Agglomeration) ["Shymkent"] = {container = "Kazakhstan"}, -- 1,370,000 (Agglomeration) ["Kuwait City"] = {container = "Kuwait"}, -- 5,050,000 (Agglomeration) ["Bishkek"] = {container = "Kyrgyzstan"}, -- 1,540,000 (Agglomeration) ["Beirut"] = {container = "Lebanon"}, -- 1,930,000 (unindicated; population of low reliability) -- Kuala Lumpur is a federal capital city, not in any state ["Kuala Lumpur"] = {container = "Malaysia"}, -- 9,550,000 (Agglomeration) -- there are various George Towns and Georgetowns ["George Town, Malaysia"] = {container = {key = "Penang, Malaysia", placetype = "state"}, wp = "%l, %c"}, -- 2,075,000 (Agglomeration) ["George Town"] = {alias_of = "George Town, Malaysia"}, ["Ulaanbaatar"] = {container = "Mông Cổ"}, -- 1,610,000 (City) ["Ulan Bator"] = {alias_of = "Ulaanbaatar", display = true}, ["Yangon"] = {container = "Myanmar"}, -- 5,650,000 (Municipality (urban population)) ["Rangoon"] = {alias_of = "Yangon", display = true}, ["Mandalay"] = {container = "Myanmar"}, -- 1,600,000 (Municipality (urban population)) ["Kathmandu"] = {container = "Nepal"}, -- 3,175,000 (Agglomeration) -- Pyongyang is a directly governed city, not in any province ["Pyongyang"] = {container = "Cộng hòa Dân chủ Nhân dân Triều Tiên"}, -- 3,025,000 (Administrative Area (urban population)) ["Muscat"] = {container = "Oman"}, -- 1,620,000 (Agglomeration) ["Gaza"] = {container = "Palestine", wp = "Gaza City"}, -- 2,275,000 (unindicated) ["Gaza City"] = {alias_of = "Gaza"}, ["Doha"] = {container = "Qatar"}, -- 2,650,000 (Agglomeration) ["Colombo"] = {container = "Sri Lanka"}, -- 4,975,000 (unindicated) ["Damascus"] = {container = "Syria"}, -- 3,975,000 (unindicated; population of low reliability) ["Aleppo"] = {container = "Syria"}, -- 1,980,000 (unindicated; population of low reliability) ["Dushanbe"] = {container = "Tajikistan"}, -- 1,270,000 (City) ["Bangkok"] = {container = "Thái Lan"}, -- 21,800,000 (Agglomeration) -- Chiang Mai not in citypopulation.de, but 1,198,000 urban population in 2021 per Wikipedia -- [[w:List_of_municipalities_in_Thailand#Largest_cities_by_urban_population]] ["Chiang Mai"] = {container = {key = "Chiang Mai Province, Thailand", placetype = "province"}}, ["Chonburi"] = {container = {key = "Chonburi Province, Thailand", placetype = "province"}}, -- 1,570,000 (Agglomeration; including Pattaya) -- metro area population stats from https://www.statista.com/statistics/255483/biggest-cities-in-turkey/ as of 2021; -- second source is citypopulation.de reference date 2025-01-01. ["Istanbul"] = {placetype = {"thành phố", "province"}, divs = {"districts"}, container = "Thổ Nhĩ Kỳ"}, -- 15.2 million; 16,000,000 (Agglomeration) ["İstanbul"] = {alias_of = "Istanbul", display = true}, ["Ankara"] = {container = {key = "Ankara Province, Turkey", placetype = "province"}}, -- 5.15 million; 5,200,000 (Agglomeration) ["Izmir"] = {container = {key = "İzmir Province, Turkey", placetype = "province"}, wp = "İzmir"}, -- 2.95 million; 3,025,000 (Agglomeration) ["İzmir"] = {alias_of = "Izmir", display = true}, ["Bursa"] = {container = {key = "Bursa Province, Turkey", placetype = "province"}}, -- 2.02 million; 2,200,000 (Agglomeration) ["Adana"] = {container = {key = "Adana Province, Turkey", placetype = "province"}}, -- 1.77 million; 1,780,000 (Agglomeration) ["Gaziantep"] = {container = {key = "Gaziantep Province, Turkey", placetype = "province"}}, -- 1.71 million; 1,750,000 (Agglomeration) ["Antalya"] = {container = {key = "Antalya Province, Turkey", placetype = "province"}}, -- 1.3 million; 1,400,000 (Agglomeration) ["Konya"] = {container = {key = "Konya Province, Turkey", placetype = "province"}}, -- 1.35 million; 1,390,000 (Agglomeration) ["Diyarbakır"] = {container = {key = "Diyarbakır Province, Turkey", placetype = "province"}}, -- 1.07 million; 1,100,000 (Agglomeration) -- Diyarbakır is more common per Ngrams and Google Scholar, but Diyarbakir is the Kurdish form, so we should not -- display-canonicalize to the Turkish form Diyarbakır. ["Diyarbakir"] = {alias_of = "Diyarbakır"}, ["Mersin"] = {container = {key = "Mersin Province, Turkey", placetype = "province"}}, -- 1.03 million; 1,060,000 (Agglomeration) ["Ashgabat"] = {container = "Turkmenistan"}, -- 1,150,000 (Agglomeration) ["Dubai"] = {container = "United Arab Emirates"}, -- 6,050,000 (Agglomeration; including Sharjah) ["Abu Dhabi"] = {container = "United Arab Emirates"}, -- 1,850,000 (City) ["Sharjah"] = {container = "United Arab Emirates"}, -- 1,800,000 (Metro area 2022-2023 per Wikipedia; separate from Dubai) ["Tashkent"] = {container = "Uzbekistan"}, -- 3,850,000 (unindicated) ["Sanaa"] = {container = "Yemen"}, -- 3,275,000 (City; population of low reliability) ["Sana'a"] = {alias_of = "Sanaa", display = true}, ["Aden"] = {container = "Yemen"}, -- 1,079,060 (?; 2023 estimate from World Population Review per Wikipedia) ------------------ Europe or Europe-like (Caucasus etc.) --------------------- ["Yerevan"] = {container = "Armenia"}, -- 1,520,000 (Agglomeration) ["Vienna"] = {container = "Áo"}, -- 2,375,000 (Agglomeration) ["Minsk"] = {container = "Belarus"}, -- 2,100,000 (unindicated) ["Brussels"] = {container = "Bỉ"}, -- 2,800,000 (Consolidated Urban Area) ["Antwerp"] = {container = "Bỉ"}, -- 1,270,000 (Consolidated Urban Area) ["Sofia"] = {container = "Bulgaria"}, -- 1,260,000 (Agglomeration) ["Zagreb"] = {container = "Croatia"}, ["Prague"] = {container = "Czech Republic"}, -- 1,470,000 (Agglomeration) ["Brno"] = {container = "Czech Republic"}, -- 729,405 (metro area per Wikipedia as of 2024-01-01 Czech Statistical Office) ["Olomouc"] = {container = "Czech Republic"}, -- 102,293 (city; included only because someone went crazy creating Olomouc-related terms) ["Copenhagen"] = {container = "Đan Mạch"}, -- 1,800,000 (Consolidated Urban Area) ["Helsinki"] = {container = {key = "Uusimaa, Finland", placetype = "region"}}, -- 1,560,000 (Consolidated Urban Area) ["Tbilisi"] = {container = "Georgia"}, -- 1,430,000 (Agglomeration) ["Athens"] = {container = "Hy Lạp"}, ["Thessaloniki"] = {container = "Hy Lạp"}, ["Budapest"] = {container = "Hungary"}, -- FIXME, per Wikipedia "County Dublin" is now the "Dublin Region" ["Dublin"] = {container = {key = "County Dublin, Ireland", placetype = "county"}}, ["Riga"] = {container = "Latvia"}, ["Amsterdam"] = {container = {key = "North Holland, Netherlands", placetype = "province"}}, ["Rotterdam"] = {container = {key = "South Holland, Netherlands", placetype = "province"}}, ["The Hague"] = {container = {key = "South Holland, Netherlands", placetype = "province"}}, -- Christchurch (metro 546,600) and Wellington (metro 439,800) are too small to make it. ["Auckland"] = {container = {key = "Auckland, New Zealand", placetype = "region"}}, ["Oslo"] = {container = {key = "Oslo, Norway", placetype = "county"}}, ["Warsaw"] = {container = {key = "Masovian Voivodeship, Poland", placetype = "voivodeship"}}, ["Katowice"] = {container = {key = "Silesian Voivodeship, Poland", placetype = "voivodeship"}}, --- Ngrams (up through 2022) and Google Scholar (>= 2024) confirms the common form "Krakow" without accent. ["Krakow"] = {container = {key = "Lesser Poland Voivodeship, Poland", placetype = "voivodeship"}, wp = "Kraków"}, ["Kraków"] = {alias_of = "Krakow", display = true}, ["Cracow"] = {alias_of = "Krakow", display = true}, --- Ngrams (up through 2022) and Google Scholar (>= 2024) confirm "Gdańsk" and "Poznań" with accent. ["Gdańsk"] = {container = {key = "Pomeranian Voivodeship, Poland", placetype = "voivodeship"}}, ["Gdansk"] = {alias_of = "Gdańsk", display = true}, ["Poznań"] = {container = {key = "Greater Poland Voivodeship, Poland", placetype = "voivodeship"}}, ["Poznan"] = {alias_of = "Poznań", display = true}, --- Ngrams (up through 2022) and Google Scholar (>= 2024) confirms the common form "Lodz" without accents. ["Lodz"] = {container = {key = "Lodz Voivodeship, Poland", placetype = "voivodeship"}, wp = "Łódź"}, ["Łódź"] = {alias_of = "Lodz", display = true}, ["Lisbon"] = {container = {key = "Lisbon District, Portugal", placetype = "district"}}, ["Porto"] = {container = {key = "Porto District, Portugal", placetype = "district"}}, ["Oporto"] = {alias_of = "Porto", display = true}, ["Bucharest"] = {container = "Romania"}, ["Belgrade"] = {container = "Serbia"}, ["Stockholm"] = {container = "Thụy Điển"}, ["Zurich"] = {container = "Switzerland"}, --- Ngrams (up through 2022) and Google Scholar (>= 2024) confirms the common form "Zurich" without umlaut. --- Even Wikipedia uses the form without umlaut. ["Zürich"] = {alias_of = "Zurich", display = true}, ["Kyiv"] = {container = "Ukraina"}, -- not in Kyiv Oblast -- Don't display-canonicalize Kiev -> Kyiv because in ancient contexts, Kiev is still more common. ["Kiev"] = {alias_of = "Kyiv"}, ["Kharkiv"] = {container = {key = "Kharkiv Oblast, Ukraine", placetype = "oblast"}}, ["Odessa"] = {container = {key = "Odesa Oblast, Ukraine", placetype = "oblast"}, wp = "Odesa"}, -- Don't display-canonicalize Odesa -> Odessa because it may be interpreted as a political statement. ["Odesa"] = {alias_of = "Odessa"}, ------------------ North America, South America --------------------- -- Primary figures from citypopulation.de retrieved on 2025-04-26 (reference date 2025-01-01); -- Wikipedia metropolitan figures from [[w:List of metropolitan areas in the Americas]] based on per-country data; -- Wikipedia city limits figures from [[w:List of largest cities in the Americas]]. ["Buenos Aires"] = {container = "Argentina"}, -- 16,800,000 (Consolidated Urban Area; 13,985,794 metropolitan area per Wikipedia) ["Córdoba, Argentina"] = {container = "Argentina", wp = "%l, %c"}, -- 1,810,000 (Consolidated Urban Area; 1,505,25 city limits per Wikipedia) -- to avoid confusion with Córdoba in Spain ["Córdoba"] = {alias_of = "Córdoba, Argentina"}, ["Cordoba"] = {alias_of = "Córdoba, Argentina", display = "Córdoba"}, ["Rosario"] = {container = "Argentina", wp = "%l, Santa Fe"}, -- 1,510,000 (Consolidated Urban Area; 1,348,725 metropolitan area per Wikipedia) ["Mendoza"] = {container = "Argentina", wp = "%l, %c"}, -- 1,180,000 (Consolidated Urban Area) ["San Miguel de Tucumán"] = {container = "Argentina"}, -- 1,110,000 (Consolidated Urban Area) ["Tucumán"] = {alias_of = "San Miguel de Tucumán"}, ["Tucuman"] = {alias_of = "San Miguel de Tucumán", display = "Tucumán"}, ["Santa Cruz de la Sierra"] = {container = "Bolivia"}, -- 1,960,000 (Consolidated Urban Area); 1,606,671 (city limits per Wikipedia) ["Santa Cruz"] = {alias_of = "Santa Cruz de la Sierra"}, ["La Paz"] = {container = "Bolivia"}, -- 1,870,000 (Consolidated Urban Area; composed of El Alto, now slightly larger, and La Paz) ["El Alto"] = {container = "Bolivia"}, ["Cochabamba"] = {container = "Bolivia"}, -- 1,280,000 (Consolidated Urban Area) ["Santiago"] = {container = "Chile"}, -- 8,400,000 (Consolidated Urban Area; 6,903,479 city limits? per Wikipedia) ["Valparaíso"] = {container = "Chile"}, -- 1,060,000 (Consolidated Urban Area) ["Valparaiso"] = {alias_of = "Valparaíso"}, -- 1,060,000 (Consolidated Urban Area) ["Bogotá"] = {container = "Colombia"}, -- 10,600,000 (Agglomeration; 12,772,828 metropolitan area per Wikipedia) ["Bogota"] = {alias_of = "Bogotá", display = true}, ["Medellín"] = {container = "Colombia"}, -- 4,350,000 (Agglomeration; 4,068,000 metropolitan area per Wikipedia) ["Medellin"] = {alias_of = "Medellín", display = true}, ["Cali"] = {container = "Colombia"}, -- 2,975,000 (Agglomeration; 2,837,000 metropolitan area per Wikipedia) ["Barranquilla"] = {container = "Colombia"}, -- 2,375,000 (Agglomeration; 1,341,160 city limits per Wikipedia) ["Bucaramanga"] = {container = "Colombia"}, -- 1,380,000 (Agglomeration) ["Cartagena, Colombia"] = {container = "Colombia", wp = "%l, %c"}, -- 1,250,000 (Agglomeration) -- to avoid confusion with Cartagena, Spain ["Cartagena"] = {alias_of = "Cartagena, Colombia"}, ["Cúcuta"] = {container = "Colombia"}, -- 1,130,000 (Agglomeration) ["Cucuta"] = {alias_of = "Cúcuta", display = true}, -- to avoid conflict with San Jose, California ["San José, Costa Rica"] = {container = "Costa Rica", wp = "%l, %c"}, -- 2,450,000 (Municipality (urban population); 3,160,000 metropolitan area per Wikipedia) ["San José"] = {alias_of = "San José, Costa Rica"}, ["San Jose"] = {alias_of = "San José, Costa Rica"}, -- display = "San José"; causes error due to San Jose alias for California city; FIXME ["Havana"] = {container = "Cuba"}, -- 2,150,000 (City; 2,137,847 city limits? per Wikipedia) ["Santo Domingo"] = {container = "Dominican Republic"}, -- 3,900,000 (Municipality (urban population); 4,274,651 ??? per Wikipedia) ["Guayaquil"] = {container = "Ecuador"}, -- 3,350,000 (Agglomeration; 3,092,000 metro area? per Wikipedia) ["Quito"] = {container = "Ecuador"}, -- 2,875,000 (Agglomeration; 2,889,703 metro area? per Wikipedia) ["San Salvador"] = {container = "El Salvador"}, -- 1,580,000 (Municipality (urban population)) ["Guatemala City"] = {container = "Guatemala"}, -- 3,375,000 (Municipality (urban population); 3,160,000 metro area? per Wikipedia) ["Port-au-Prince"] = {container = "Haiti"}, -- 3,050,000 (Agglomeration; population of low reliability; 2,915,000 metro area? per Wikipedia) ["San Pedro Sula"] = {container = "Honduras"}, -- 1,330,000 (Consolidated Urban Area) ["Tegucigalpa"] = {container = "Honduras"}, -- 1,220,000 (Urban Area) ["Managua"] = {container = "Nicaragua"}, -- 1,400,000 (Consolidated Urban Area) ["Panama City"] = {container = "Panama"}, -- 1,430,000 (Urban Area) ["Asunción"] = {container = "Paraguay"}, -- 2,350,000 (Municipality (urban population)) ["Lima"] = {container = "Peru"}, -- 12,000,000 (Agglomeration; 11,283,787 ??? per Wikipedia) ["Arequipa"] = {container = "Peru"}, -- 1,210,000 (Agglomeration) ["San Juan"] = {container = {key = "Puerto Rico", placetype = "commonwealth"}, wp = "%l, %c"}, -- 1,910,000 (Consolidated Urban Area) ["Montevideo"] = {container = "Uruguay"}, -- 1,810,000 (Agglomeration; 1,302,954 ??? per Wikipedia) ["Caracas"] = {container = "Venezuela"}, -- 3,850,000 (Consolidated Urban Area; 5,243,301 ??? per Wikipedia) ["Maracaibo"] = {container = "Venezuela"}, -- 2,825,000 (Consolidated Urban Area; 5,278,448 ??? per Wikipedia) -- to avoid confusion with Valencia (city and autonomous community of Spain) ["Valencia, Venezuela"] = {container = "Venezuela", wp = "%l, %c"}, -- 2,100,000 (Consolidated Urban Area) ["Valencia"] = {alias_of = "Valencia, Venezuela"}, ["Maracay"] = {container = "Venezuela"}, -- 1,480,000 (Consolidated Urban Area) ["Barquisimeto"] = {container = "Venezuela"}, -- 1,360,000 (Consolidated Urban Area) } export.misc_cities_group = { canonicalize_key_container = make_canonicalize_key_container(nil, "quốc gia"), default_placetype = "thành phố", data = export.misc_cities, } --[==[ var: List of all known locations, in groups. The first group lists continents and continental regions, followed by three groups listing top-level locations: countries, "country-like entities" (de-facto/unrecognized/etc. countries and dependent territories) and former polities (countries, empires, etc.). After that come first-level subpolities (administrative divisions) of several, mostly large, countries, followed by groups of cities. China and the United Kingdom include second-level subpolities (in the case of China, only the largest ones as the full list runs in the hundreds). ]==] export.locations = { export.continents_group, export.countries_group, export.country_like_entities_group, export.former_countries_group, export.australia_group, export.austria_group, export.bangladesh_group, export.brazil_group, export.bulgaria_group, export.canada_group, export.china_group, export.china_prefecture_level_cities_group, export.china_prefecture_level_cities_group_2, export.egypt_group, export.finland_group, export.france_group, export.france_departments_group, export.germany_group, export.greece_group, export.india_group, export.indonesia_group, export.iran_group, export.ireland_group, export.italy_group, export.japan_group, export.laos_group, export.lebanon_group, export.malaysia_group, export.malta_group, export.mexico_group, export.moldova_group, export.morocco_group, export.netherlands_group, export.new_zealand_group, export.nigeria_group, export.north_korea_group, export.norway_group, export.pakistan_group, export.philippines_group, export.poland_group, export.portugal_group, export.romania_group, export.russia_group, export.saudi_arabia_group, export.south_africa_group, export.south_korea_group, export.spain_group, export.taiwan_group, export.thailand_group, export.turkey_group, export.ukraine_group, export.united_kingdom_group, export.united_states_group, export.england_group, export.northern_ireland_group, export.scotland_group, export.wales_group, export.vietnam_group, export.australia_cities_group, export.brazil_cities_group, export.canada_cities_group, export.france_cities_group, export.germany_cities_group, export.india_cities_group, export.indonesia_cities_group, export.italy_cities_group, export.japan_cities_group, export.mexico_cities_group, export.nigeria_cities_group, export.pakistan_cities_group, export.philippines_cities_group, export.russia_cities_group, export.saudi_arabia_cities_group, export.south_korea_cities_group, export.spain_cities_group, export.taiwan_cities_group, export.united_kingdom_cities_group, export.united_states_cities_group, export.new_york_boroughs_group, export.vietnam_cities_group, export.misc_cities_group, } return export 55pkbmcivj9crusj1ntmpydvluchf0m 2573326 2573194 2026-10-25T05:48:25Z TheHighFighter2 42988 Sửa lỗi kịch bản cho bài [[Cuba]] 2573326 Scribunto text/plain local export = {} export.force_cat = false -- set to true to force category generation even on non-mainspace pages local m_table = require("Module:table") local string_utilities_module = "Module:string utilities" local en_utilities_module = "Module:en-utilities" local insert = table.insert local concat = table.concat local dump = mw.dumpObject local unpack = unpack or table.unpack -- Lua 5.2 compatibility --[==[ intro: This module contains data on all known locations, along with some lower-level code to process them (higher-level known-location code is in [[Module:place/placetypes]]). You must load this module using require(), not using mw.loadData(). ===Location data=== '''NOTE: In order to understand the following better, first read the introductory documentation in [[Module:place]], especially the section `More about known locations`.''' The bulk of the code in this module (after some helper functions and placetype tables) describes the known locations and their relationships. Locations are grouped into ''location groups'' that share some common properties (examples are states of the United States and cities in Brazil). Each location group is associated with two tables, a ''data table'' that lists the locations and their individual properties, and a ''metadata table'' that lists group-level properties and defaults for the location properties. Each metadata table points to the associated data table (i.e. contains the data table as its `data` field), and the global `locations` variable holds a list of all group metadata tables. A given location is generally described by three values: (a) the group metadata table for the group the location is part of; (b) the location's canonical ''key'', which is the actual key in the group's data table and is globally unique across all locations; and (c) the location's ''spec'', which is the initialized object describing the properties of the location and comes from the value in the data table corresponding to the canonical key, transformed by the `initialize_spec()` function. These are typically named `group`, `key` and `spec`, respectively and in that order, and are found in the arguments to many functions. In a per-group data table, the keys are either ''canonical keys'' describing locations (which, as mentioned above, must be globally unique) or ''alias keys'' specifying an allowed alias for a given location. There may be multiple aliases for a given location and the alias keys only need to be unique within a particular group data table, not across all groups. It is also possible for the same string to serve as an alias key in one group and a canonical key in another group. (For example, `Newcastle` appears as an alias key in two different groups, referring to two different locations, canonically known as `Newcastle upon Tyne`, for the city in England, and `Newcastle, New South Wales`, for the city in New South Wales, Úc; and `Birmingham` appears both as a canonical key in the group of English cities and an alias key for canonical `Birmingham, Alabama` in the group of US cities.) The corresponding value objects are different for canonical and alias keys. Corresponding to canonical keys are ''location specs'', describing the properies of the location that cannot be derived from default properties of the group or global defaults. Corresponding to alias keys are ''alias specs'', which are highly restricted in the properties they can contain, and whose properties do not have per-group defaults, but only global defaults. The canonical key is always the same as the bare category corresponding to the location, which is one of the reasons it must be globally unique. For example, the country of Georgia uses the canonical key `Georgia` and corresponding bare category [[:Category:Georgia]], while the US state of Georgia uses the canonical key `Georgia, USA` and corresponding bare category [[:Category:Georgia, USA]]. The following conventions are followed in naming keys: * Countries, ''country-like entities'' (which are a mixture of unrecognized de-facto states and dependent territories) and ''former countries'' (which also includes other types of polities, such as the Roman Empire) use their unqualified placename as the canonical key. (See the documentation for [[Module:place]] for the distinction between keys and placenames, which is critical to understand when working with location data.) This also applies to constituent countries (such as England, Aruba and the Faroe Islands) and constituent parts of grouped dependent territories (such as the island of Saint Helena, which is administratively part of the British overseas territory of Saint Helena, Ascension and Tristan da Cunha). * Cities (including prefecture-level cities in China, which behave in most respects more like non-city administrative divisions) also normally use their unqualified placename as the canonical key, but if this causes name conflicts or ambiguities, they use a ''qualified key'' containing either the country name or immediate containing division (if different) following a comma, such as the case of `Newcastle, New South Wales` and `Birmingham, Alabama` above. Examples of name conflicts are the two cities just given; examples of ambiguities are the major cities of León and Mérida in Mexico and city of Cartagena, Colombia, which are given the respective canonical keys of `León, Guanajuato`, `Mérida, Yucatán` and `Cartagena, Colombia` to avoid ambiguity with the well-known respective cities of the same name in Spain, even though none of those cities are large enough to be included as known locations in this module. (The cutoff is generally having a metro area of at least 1,000,000 inhabitants, although there are exceptions.) * Administrative divisions of countries, other than the exceptions noted above for constituent countries and dependent territories, use a qualified key that contains the name of the country or constituent country in it, e.g. `Normandy, France` (a region), `Calvados, France` (a department in the region of Normandy), `Herefordshire, England` (a ceremonial county), `Northwest Territories, Canada` (a territory), `Central Finland, Finland` (a region), `Antalya Province, Turkey` (a province), `Cluj County, Romania` (a county), `County Cork, Ireland` (a county) and `New York, USA` (a state). As shown in these various examples, (a) first and second-level divisions are sometimes both included (as in France, the United Kingdom and China); (b) the qualifier after the comma is sometimes a constituent country (England) instead of a country (United Kingdom), and is sometimes abbreviated (USA rather than United States or Unites States of America); (c) the word `the` is not normally included in the key even if the location is normally preceded by `the` when following a preposition (there is a property in the location and alias specs to indicate this), except in a very few cases (most notably `The Hague`); (d) the country is included as a qualifier even if it creates an apparent redundancy, as with `Central Finland, Finland`; and (e) sometimes the placetype is included in the key, as with provinces in Turkey and several other countries; states in Nigeria; and counties in Ireland, Romania and several other countries. Whether the placetype is included, and whether it follows or precedes the placename, depends on per-country conventions. For example, provinces in Turkey, Iran and several other countries (likewise for states in Nigeria, oblasts in Russia, etc.) conventionally include the word "Province", "State", "Oblast" etc. in their name because they are normally named after the largest city in the division, which would otherwise lead to ambiguity; and counties in Ireland and Northern Ireland (and likewise County Durham, England) normally have the word "County" preceding rather than following them in their conventional name, so we follow this practice. The Wikipedia article naming scheme for a given administrative division is a strong clue as to how the division is normally referred to, and we usually follow this practice. (A minor exception is that the Wikipedia articles for provinces in Iran, Laos and Thailand include the word `province` with an initial lowercase letter while provinces elsewhere, e.g. North and South Korea, Saudi Arabia and Turkey, use uppercase `Province`; we normalize to uppercase `Province` in all cases.) As mentioned above, associated with canonical keys in the group data table are location specs, which are objects containing properties. It is important here to distinguish ''initialized specs'' from ''uninitialized specs''. Unininitialized specs are as directly specified in [[Module:place/locations]], containing only those properties that differ from the per-group or global defaults. Initialized specs result from calling `initialize_spec()` on an uninitialized spec (it is idempotent in that it will do nothing if encountering an already-initialized spec). This copies all group-level defaults that are not overridden in the location spec itself from the group-level metadata table into the location spec, so that in general, no more reference need be made to the group to fetch the correct value of a given location property. (The initialization process also does more transformations in a few cases, noted below.) Note that the default value of a given property is stored under a key in the group metadata table that is preceded by the string `default_`; for example, the default value corresponding to the `placetype` property of a given location is specified in the `default_placetype` key in the group metadata table. The following are the properties of the location spec. * `placetype`: String specifying the placetype of the location (e.g. "quốc gia", "state", province"). This can also be a table of such types; in this case, the first listed type is the canonical type that will be used in descriptions, but the location will be recognized (e.g. in a holonym, or for categorizing into the bare category) when tagged with any of the specified types. The placetype '''must''' be either specified on an individual location or defaulted at the group level, or an error occurs. * `container`: Either a string, a ''canonicalized container'' structure or a list of either type, specifying the immediate ''container'' (or containers) of the given location. A container is another location which this location is considered to be directly part of, either politically or (above the country level) geographically. Some locations belong to multiple immediate containers; this applies especially to transcontinental countries such as Russia and Turkey. Containers can themselves have containers, forming a tree (or more correctly, a [[w:directed acyclic graph]]) of locations. The list of immediate container(s), followed by the container(s) of the container(s), etc., is termed the ''container trail'', and some functions compute and return this trail as part of their operation. When a location spec is initialized, the given container spec is canonicalized into ''canonical container form'', which consists of a list of canonicalized container structures, each of which is of the form `{key = "``container_key``", placetype = "``container_placetype``"}`, where ``container_key`` is a canonical location key and ``container_placetype`` should be the listed placetype for the location, or the first listed placetype if there are multiple. (FIXME: Since the key uniquely identifies the container location, we should eliminate the placetype from the container structure.) The list of canonicalized container structures is stored into the `.containers` field of the location spec (this happens even if the container value is unset in its uninitialized spec form, causing it to default to the corresponding group-level value), and the `.container` field is set to {nil}. The canonicalization process is described in more detail below under [[#Container spec canonicalization]]. * `divs`: List of recognized political divisions; e.g. for the Netherlands, a specification of the form `divs = {"provinces", "municipalities"}` will allow categories such as [[:Category:de:Provinces of the Netherlands]] and [[:Category:pt:Municipalities of the Netherlands]] to be created. Any division that appears here must also be found in `placetype_data`, or an error occurs. The entities appearing in the `divs` list can be structures as well as just strings; this is explained more below under [[#Location divisions]]. Additional political divisions that apply to all locations in a group can be specified at the group level using the group-only property `addl_divs`, which has the same format as `divs`. This is intended to be used in the situation where some division types are shared among all locations in the group and others differ from location to location. An example where this is used is the United States, where `census-designated places` is specified in the group-level `addl_divs` so that all 50 states have census-designated places categorized as e.g. [[:Category:Census-designated places in Arizona, USA]], but `counties` and `county seats` are specified in the group-level `default_divs` because not all states have counties and county seats (Alaska has boroughs and borough seats and Louisiana has parishes and parish seats), and some states have additional divisions (New Jersey and Pennsylvania also have boroughs, while Colorado and Connecticut have municipalities). Note that under most circumstances (particularly, if `container_parent_type` is not set as a property associated with the division type), any division type specified on a sub-country-level location must also be specified on all containers up through the country. For example, since French departments specify `communes` and `municipalities` in `default_divs`, the same division types must be (and are) specified on French regions and for France itself. * `keydesc`: String directly specifying a description of the location, for use in generating the contents of category pages related to the location. In place of a string, a function of three arguments (`group`, `key`, `spec`, as is normal for locations) that computes the location description can also be given. This is used, for example, for Russian federal subjects; see `construct_russia_federal_subject_keydesc`. The special string `+++` contained in the keydesc is replaced with the default value of the location description, which specifies the location's placename, placetype, and the corresponding values for each container in the container trail, generally up through (but not beyond) the country level; see `no_include_container_in_desc` below. The location description is used to construct the full description of various categories, such as bare location categories, whose description generally reads `"{{(((}}langname}}} terms related to the people, culture, or territory of ``keydesc``."` where ``keydesc`` is the specified or auto-constructed location description. * `fulldesc`: String overriding the full description for the bare location category (but not for any other category). This is currently used only for the location `Earth`, at the very top of the tree (because the standard `people, culture or territory of ...` text doesn't make sense here), and for `Antarctica` (because it has no permanent inhabitants). FIXME: This should be renamed `bare_category_fulldesc`. * `addl_parents`: Specify additional parents for the bare location category, in addition to the category or categories generated based on the immediate container(s). For example, `Hawaii, USA` specifies `Polynesia` as an additional parent category; both `North Korea` and `South Korea` specify `Korea` (which is a specially handled location category) as an additional parent; and `Earth` specifies `nature` (not a location category, but still a topic category) as an additional parent (which in this case becomes the first parent, as `Earth` has no container). The only restriction on the categories in `addl_parents` is that they must be topic categories, because each language-specific version of the bare location category gets the corresponding language-specific versions of the categories in `addl_parents`. FIXME: This shoudl be renamed `bare_category_addl_parents`. * `wp`: Spec describing how to construct the Wikipedia article for the location. Each spec is either `true` (equivalent to `"%l"`, i.e. use the full location placename directly) or a string containing formatting directives, indicating how to construct the article name. The allowed formatting directives are `%l` (the full location placename), `%e` (the elliptical location placename) and `%c` (the full placename of the first immediate container). For example, the default value of `wp` for the group of United States cities is `"%l, %c"` since the city articles tend to be named e.g. `Austin, Texas` (but with many exceptions, specified using `wp` fields at the city level). Another example is Thai provinces, which specify a group-level default of `"%e province"` as the Wikipedia articles have lowercase `province` in their name but the Thai province keys specified in this module have uppercase `Province`. Here we have to use `%e` to get the placename without the word `Province` in it. The default is `true`, which simply uses the full location placename as the article name. Note that the Wikipedia article, along with the Wikipedia and Commons category pages, are shown in the upper right of bare category pages. * `wpcat`: Spec describing how to construct the Wikipedia category page for the location (i.e. the page listing articles and categories relevant to the location). The format is the same as with `wp`, and it defaults to the value of `wp`. It rarely needs to be specified because the category page and the article page almost always follow the same format. * `commonscat`: Spec describing how to construct the Commons category page for the location (i.e. the page on the MediaWiki Commons site listing articles and categories relevant to the location). It has the same format as `wp` and `wpcat` and defaults to `wpcat`, which is usually (but not always) correct. * `the`: Boolean specifying whether a location should be preceded by `the` when following a preposition, e.g. in category names such as [[:Category:Cities in the Northern Territory, Úc]] and in old-style place descriptions when the location occurs as the first holonym, such as the city [[Darwin]] described using {{tl|place|city|terr/Northern Territory|c/Australia}}. Note that the global default for this and all Boolean properties is {nil}, which amounts to the same as {false}. * `british_spelling`: Boolean indicating whether the location in question uses British spelling. Currently this only affects whether the spelling `neighborhoods` or `neighbourhoods` is used in categories such as [[:Category:Neighborhoods of New York City]] and [[:Category:Neighbourhoods of Sydney]]. This usually needs to be set only at the top level (i.e. country or country-like entity), because lower-level entities look up the container trail for any container that has `british_spelling = true` set, and if found, assume that British spelling applies. The general principle used in setting this is that all countries in Europe, all dependent territories of any such country, all former British colonies, and any dependent territories of these former colonies, are assumed to use British spelling, while all other countries and associated dependent territories are assumed to use American spelling. This can potentially be modified on a case-by-case basis. * `is_city`: Boolean indicating whether the location in question is a city. This is explicitly set to `true` for city-states (e.g. Monaco and Vatican City), dependent territories that are cities (e.g. Hong Kong, Macau, Bonaire, Gibraltar, etc.), certain city-level administrative divisions (such as `City of Belfast, Northern Ireland`) and (through a group-levell setting) New York boroughs. In addition, it is set to `true` in initialize_spec() whenever the group-level `default_placetype == "thành phố"`, so that all cities get it set without explicitly needing to add a group-level setting for this. Note that the condition `default_placetype == "thành phố"` intentionally excludes Chinese prefecture-level cities, which aren't really cities in that (for example) they don't directly contain neighborhoods, but do contain cities within them. This setting is used in various places: (a) to add cities, rivers, etc. to categories like [[:Category:Rivers in Osaka, Nhật Bản]] and [[:Category:Cities in Wuhan]] for holonyms that are ''not'' cities; (b) to add districts, neighborhoods, and the like to categories like [[:Category:Neighborhoods of Brooklyn]] and [[:Category:Neighborhoods of Monaco]] for holoynms that ''are'' cities; (c) generally, to determine which "generic" placetypes (cities, rivers, neighborhoods, etc.) apply to the location. (Those that can occur with cities have a `generic_before_cities` setting in [[Module:place/placetypes]], and those that can occur with non-cities have a `generic_before_non_cities` setting.) * `is_former_place`: Boolean that should be set on former places such as the Soviet Union and the Roman Empire. For such places, categories such as [[:Category:fr:Rivers in the Soviet Union]] are neither generated nor recognized (more generally, no "generic" placetypes apply except for `places`), and category descriptions include the word `former`. * `overriding_bare_label_parents`: Document me! * `bare_category_parent_type`: Document me! * `no_container_cat`: Document me! * `no_container_parent`: Document me! * `no_generic_place_cat`: Document me! * `no_check_holonym_mismatch`: Document me! * `no_auto_augment_container`: Document me! * `no_include_container_in_desc`: Document me! ====Location divisions==== The `divs` field of a location describes the recognized political division types of that location. Specifying a given division type will cause places defined as being of the specified division type and with the location as a holonym will cause the place to be categorized as ` ``placetypes`` in/of ``location`` `; for example, specifying that the United States has `"states"` as a division will cause anything defined as {{tl|place|fr|state|c/US}} to be categorized under [[:Category:fr:States of the United States]]. Note that you do not have to explicitly specify division types for "generic" placetypes (those that have a `generic_before_non_cities` field if the location is not a city, or that have a `generic_before_cities` field if the location is a city); this includes things like cities, towns, villages, neighbo(u)rhoods and rivers. A given element in the `divs` list is usually a string naming a plural placetype; the placetype is automatically converted to the singular for recognizing the placetype in a {{tl|place}} spec, and irregular plurals such as `kibbutzim` are handled correctly as long as the placetype specifies an appropriate `plural` field (if the `plural` isn't explicitly given, the default singularization algorithm in [[Module:en-utilities]] is run, which gets most things correctly but has problems with `passes` and `fortresses`, which are singularized to `passe` and `fortresse`; for this reason, an explicit plural entry is added to terms in ''-ss''). In place of a string, an object can be given with the plural placetype in the `type` field; this allows additional properties to be specified along with the placetype. An example of this is the `divs` list for Canada: { ["Canada"] = {divs = { {type = "tỉnh", cat_as = "provinces and territories"}, {type = "territories", cat_as = "provinces and territories"}, "counties", "districts", "municipalities", "regional municipalities", "rural municipalities", "parishes", "Indian reserves", "census divisions", {type = "townships", prep = "in"}, }, ...}, } Here, both provinces and territories are set to categorize as `provinces and territories`, meaning that there is a single category [[:Category:Provinces and territories of Canada]] rather than separate categories for provinces and territories. Similar things are done for other countries that have more than one type of first-level administrative division (e.g. Australia, China, India and Pakistan). Note that any placetype listed under `cat_as` must exist in the table of placetypes in [[Module:place/placetypes]], and in fact there is a category-only entry there for `provinces and territories!` (the use of exclamation point following a plural placetype means that the placetype is present only for use in categories and won't be recognized as the placetype field in a {{tl|place}} description). In addition, townships are declared to use `in` rather than `of` as the preposition in the category; hence the category name will be [[:Category:Townships in Canada]] rather than [[:Category:Townships of Canada]]. (The use of `in` vs. `of` is somewhat related to whether a given placetype is an official administrative or statistical division of the location in question and comes in a defined list, in which case `of` should be used, or is more ill-defined, in which case `in` should be used; the default is `of`, and the use of `in` with `townships` is probably by analogy with the use of `in` with cities and towns.) Another more complex example is the divisions given for Quebec: { ["Quebec, Canada"] = {divs = { "counties", {type = "regional county municipalities", container_parent_type = "regional municipalities"}, {type = "regions", container_parent_type = false}, {type = "townships", prep = "in"}, {type = "parish municipalities", cat_as = {{type = "parishes", container_parent_type = "counties"}, "municipalities"}}, {type = "township municipalities", cat_as = {{type = "townships", prep = "in"}, "municipalities"}}, {type = "village municipalities", cat_as = {{type = "villages", prep = "in"}, "municipalities"}}, }, ...}, } Here, `container_parent_type` controls the second parent category of the placetype/location category associated with the entry. In this case, for example, [[:Category:Counties of Quebec, Canada]] will have [[:Category:Counties of Canada]] as its second or ''container-level'' parent. However, this doesn't make sense for `regional county municipalities`, which exist only in Quebec (so the parent category [[:Category:Regional county municipalities of Canada]] would have only one subcategory); but they are similar to regional municipalities in British Columbia, Nova Scotia and Ontario, so the `container_parent_type = "regional municipalities"` spec causes the container-level parent of this category to be [[:Category:Regional municipalities of Canada]]. Likewise, `regions` as administrative divisions (as opposed to mere geographic regions) exist only in Quebec; they have no equivalent elsewhere, so we disable the container-level parent using `container_parent_type = false`. The specs for `parish municipalities`, `township municipalities` and `village municipalities` show both that multiple types can be specified under `cat_as` (here, for example, we categorize `parish municipalities` as both `parishes` and `municipalities`) and that these types can themselves have properties, just as for entries directly under `divs`. Specifically, `{type = "parishes", container_parent_type = "counties"}` means that any place defined as a parish municipality in Quebec will be categorized under both [[:Category:Parishes of Quebec, Canada]] and [[:Category:Municipalities of Quebec, Canada]], and that the former will have a container-level parent of [[:Category:Counties of Canada]] (rather than the default of [[:Category:Parishes of Canada]]). Similarly, `township municipalities` will be categorized under both [[:Category:Townships in Quebec, Canada]] (''not'' [[:Category:Townships of Quebec, Canada]]) and [[:Category:Municipalities of Quebec, Canada]]. ====Container spec canonicalization==== A fully canonicalized container spec for a given location consists of a list of ''canonicalized container objects'', each with a `key` and `placetype` field. The `key` field should name the canonical key of some other location at a higher level (e.g. French cities are contained in French departments, which are contained in French regions, which are contained in France, which is contained in Europe, which is contained in Eurasia, which is contained in the Earth). The `placetype` field should correspond to the first (canonical) placetype listed for the key in question. The process of initializing a locaion spec converts the container spec in `.container` into a canonicalized spec in `.containers` and removes the spec from `.container`. It works as follows: # If the `container` field is missing, and there is a group-level `default_container` field, it is used in its place. For example, none of the Brazilian states listed in `brazil_states` specifies a container, but the group specifies `default_container = "Brazil"`. # A single string or canonicalized container object is allowed and made into a one-element list. # If a list element is a string that did ''not'' come from `default_container`, and there is a group-level `canonicalize_key_container` field, it is assumed to be a one-argument function and is called on the string to get a canonicalized container object. # Any remaining strings are assumed to be countries and are used directly as the `key`, with `placetype` set to `"quốc gia"`. ====Alias keys==== Aliases can be provided for canonical keys using ''alias keys''. Alias keys have a very different location spec structure from canonical keys. This structure does not, in general, have defaults at the group level and is not initialized using `initialize_spec()`, but is used as-is. The following properties are recognized in an alias location spec: * `alias_of`: The canonical key of which this key is an alias. Required. * `the`: If true, this alias key is preceded by `the` following a preposition. Defaults to the group-level `default_the` but does not pay attention to the value of `the` for the corresponding canonical key. * `display`: This is a display alias, meaning that holonyms using the placename corresponding to this alias will be converted to the placename corresponding to the canonical key when formatting the holonym for display. (Otherwise, the aliasing applies only to categorization.) If the value is true, the display canonicalization is to the placename of the canonical key; otherwise, the value should be a key whose corresponding placename is used when display canonicalizing. * `placetype`: The placetype of the alias. Rarely needs to be specified as it defaults to the canonical key's placetype, and if that is unspecified, to the group-level default placetype. ====Location group metadata tables==== As mentioned above, associated with each location group is a ''metadata table'' listing group-level properties. The metadata table contains two types of keys: group-level defaults (named like the corresponding location-level keys but preceded by `default_`, e.g. `default_placetype` corresponding to the location-level `placetype` key) and group-only keys, which are mostly functions. The following are the possible group-only keys: * `data`: This points to the group data table for the group, as described above. * `key_to_placename`: This is a function of one argument to transform the location's key (whether canonical or alias) into the full and elliptical placenames. The difference between full and elliptical placenames is described in the documentation for [[Module:place]], but in essence, it applies for keys that include the placetype in them (e.g. `Phuket Province, Thailand` or `County Mayo, Ireland`), in which case the full placename includes the placetype and the elliptical placename does not. For keys that do not include the placetype in them (e.g. `Arizona, USA` or `Gloucestershire, England`), the full and elliptical placenames are identical. Note that neither the full nor the elliptical placename includes the container in it; hence, for `Phuket Province, Thailand`, the full placename is `Phuket Province` and the elliptical placename is just `Phuket`. (Note that the full vs. elliptical placename distinction is intended only for handling cases where the placetype follows or precedes the raw placename and there is no difference between the two in whether they are normally preceded by `the`. More complex situations, such as `State of Mexico` (which normally takes `the`) vs. just `Mexico` (which doesn't), or `Islamabad Capital Territory` vs. just `Islamabad`, should be handled instead by aliases.) The `key_to_placename` function takes one argument, the key, and returns two arguments, the full and elliptical placenames, respectively. If left undefined, the default is to chop off anything starting with a comma and return the result as both full and elliptical placename, and if specifically set to `false`, the key is used directly as both full and elliptical placename. If it needs to be defined, it is best to use the helper function `make_key_to_placename`, if possible (or `make_irish_type_key_to_placename` in the case of Ireland and Northern Ireland, where `County` precedes), rather than rolling your own. In addition, you should use the global `key_to_placename` function (which takes care of the default implementation and such) rather than directly calling the function in the `key_to_placename` field. * `placename_to_key`: This is approximately the inverse of `key_to_placename`, transforming a placename (which can be either in full or elliptical form) into the corresponding key. As with `key_to_placename`, if you need to define this (generally, when the full and elliptical placenames are different), prefer using `make_placename_to_key` (or `make_irish_type_placename_to_key` for Ireland and Northern Ireland) to rolling your own. In addition, similarly to `key_to_placename`, use the global `placename_to_key` function to convert placenames to keys rather than directly invoking the function in the `placename_to_key` field. If the field is set to `false`, the placename is used unchanged as the key. Otherwise, the default algorithm works as follows: *# If the group-level `default_placetype == "thành phố"`, use the placename unchanged as the key. *# Otherwise, if the group-level `default_container` exists and is a string, append it to the placename after a comma + space and use the result as the key. *# Otherwise, if the group-level `default_container` is a canonical container object (an object with `key` and `placetype` fields), and the `placetype` field is either `country` or `constituent country`, append the `key` field to the placename after a comma + space and use the result as the key. *# Otherwise, use the placename unchanged as the key. * `canonicalize_key_container`: A function of one argument to convert the specified `container` field, when a string, to canonical form. Described in more detail above under [[#Container spec canonicalization]]. It is preferable to construct the function using `make_canonicalize_key_container`, if possible, rather than rolling your own. * `addl_divs`: Additional political divisions appended, for all locations in the group, to the list of divisions derived from the location-level `divs` or group-level `default_divs` fields to get the final list of divisions for the location. See [[#Location divisions]] for more details. ]==] ----------------------------------------------------------------------------------- -- Helper functions -- ----------------------------------------------------------------------------------- --[==[ Throw an error. `fmt` is a format string and the remaining arguments are passed through `mw.dumpObject` and then used to format the format string as if `fmt:format(...)` were called. In general, callers should use `internal_error` unless the error was due to bad user input rather than a logic error (which usually isn't the case in deep back-end code like this). ]==] function export.process_error(fmt, ...) local args = {...} for i = 1, select("#", ...) do args[i] = dump(args[i]) end return error(string.format(fmt, unpack(args))) end --[==[ Throw an internal error (a logic error that should never happen unless there is a bug in the code, as opposed to a user error triggered by bad input or a system error due to something like running out of memory or hitting a time limit). `fmt` is a format string and the remaining arguments are passed through `mw.dumpObject` and then used to format the format string as if `fmt:format(...)` were called. ]==] function export.internal_error(fmt, ...) export.process_error("Internal error: " .. fmt, ...) end local internal_error = export.internal_error -- Return whether `list_or_element` (a list of strings, or a single string) "contains" `item` (a string). If -- `list_or_element` is a list, this returns true if `item` is in the list; otherwise it returns true if `item` -- equals `list_or_element`. local function list_or_element_contains(list_or_element, item) if type(list_or_element) == "table" then return m_table.contains(list_or_element, item) and true or false end return list_or_element == item end --[==[ Call the location group's `key_to_placename` function if it exists (see the comment at the top of [[Module:place]] for the distinction between keys and placenames). Two values are returned, the full and elliptical placenames (e.g. full `"County Durham"` vs. elliptical `"Durham"`). If the group does not define `key_to_placename`, both full and elliptical placenames are computed by chopping off anything starting with a comma. ]==] function export.key_to_placename(group, key) if group.key_to_placename == false then return key, key end if group.key_to_placename then local full_placename, elliptical_placename = group.key_to_placename(key) if type(full_placename) ~= "string" then internal_error("Key %s returned a non-string full placename: %s", key, full_placename) end if type(elliptical_placename) ~= "string" then internal_error("Key %s returned a non-string elliptical placename: %s", key, elliptical_placename) end return full_placename, elliptical_placename end key = key:gsub(",.*", "") return key, key end --[==[ Call the location group's `placename_to_key` function if it exists (see the comment at the top of [[Module:place]] for the distinction between keys and placenames) and return the result. If `placename_to_key` exists with the value `false`, return the placename unchanged. If the group does not define `placename_to_key`, and it defines a `default_container` whose placetype is either `country` or `constituent country`, the container name is appended to the placename after a comma and a space. Otherwise the placename is returned unchanged. ]==] function export.placename_to_key(group, placename) if group.placename_to_key == false then return placename elseif group.placename_to_key then local key = group.placename_to_key(placename) if type(key) ~= "string" then internal_error("Placename %s returned a non-string key: %s", placename, key) end return key elseif group.default_placetype == "thành phố" then return placename else local defcon = group.default_container if not defcon then return placename elseif type(defcon) == "string" then return placename .. ", " .. defcon elseif type(defcon) == "table" and (defcon.placetype == "quốc gia" or defcon.placetype == "constituent country") then return placename .. ", " .. defcon.key else return placename end end end --[==[ Initialize the location spec `spec`, augmenting it with default values taken from `group` if the spec itself doesn't specify values for the properties. This sets `containers` to a canonicalized list of objects, each with `key` and `placetype` keys, describing the immediate containers of the location, and erases (sets to nil) the original non-canonicalized `container` field. (Most locations have only one immediate container but some, e.g. Russia, have more than one. Containers should be carefully distinguished from category parents. Generally the container is the first category parent, or the first ``n`` parents if there are ``n`` containers, but there may be additional category parents, which indicate some sort of relation between the category parent and the location but not necessarily one of containment.) This function is idempotent in that nothing happens if called more than once on the same spec. FIXME: Consider reimplementing this in a more standardly object-oriented way using metatables. ]==] function export.initialize_spec(group, key, spec) if spec.initialized then return end local container = spec.container local containers local container_from_default if not container then container = group.default_container container_from_default = true end if container then if type(container) == "string" or container.key then container = {container} end containers = {} for _, cont in ipairs(container) do if type(cont) == "string" then if group.canonicalize_key_container and not container_from_default then cont = group.canonicalize_key_container(cont) else cont = {key = cont, placetype = "quốc gia"} end end insert(containers, cont) end end spec.containers = containers spec.container = nil local function value_with_default(val, default_val) if val == nil then return default_val else return val end end local function set_or_default(prop) spec[prop] = value_with_default(spec[prop], group["default_" .. prop]) end set_or_default("placetype") if not spec.placetype then internal_error("No placetype found in key %s for spec %s or in group `default_placetype`", key, spec) end set_or_default("divs") spec.addl_divs = group.addl_divs for _, prop in ipairs { "keydesc", "fulldesc", "addl_parents", "overriding_bare_label_parents", "bare_category_parent_type", "wp", "wpcat", "commonscat", "british_spelling", "the", "no_container_cat", "no_container_parent", "no_generic_place_cat", "no_check_holonym_mismatch", "no_auto_augment_container", "no_include_container_in_desc", "is_city", "is_former_place", } do set_or_default(prop) end -- `default_placetype == "thành phố"` is correct; if `default_placetype` has something else like `prefecture-level city` -- as the canonical placetype but also lists `city` (as Chinese prefecture-level cities do), don't mark as -- is_city. spec.is_city = value_with_default(spec.is_city, group.default_placetype == "thành phố") spec.initialized = true end --[=[ Given a location group, key and possible placetypes that the placename must match, check if the key exists in the group with at least one of the group's key's placetypes matching one of the passed-in placetypes. If so, return two values: the group key (which potentially could differ from the passed-in key due to aliases) and the corresponding spec object, which (as with all functions that return spec objects) has been initialized using `initialize_spec()` (i.e. default property values have been copied from the group into the spec, if the spec doesn't itself specify a value for the property in question). `alias_resolution` controls how aliases are resolved. Normally, both display and category aliases are followed, and the returned key will reflect the canonical location key. However, if `alias_resolution` is {"none"}, no alias following happens. In that case, if the key specifies an alias, the spec for the alias rather than the spec for the canonical location is returned, and importantly, it is returned uninitialized, meaning that properties from the group are not copied into the spec. (If the key specifies a canonical location, its spec is returned initialized, as in the normal case where `alias_resolution` is unspecified.) The caller needs to check whether the returned spec is an alias by looking for an `alias_of` property. If `alias_resolution` is {"display"}, the behavior is the same as for {"none"} except that if the alias contains a setting `display = true`, the returned key will reflect the canonical location key, and if the alias contains a setting `display = ``string`` `, the returned key will reflect that string. This is a low-level function meant for internal use; external callers should generally use `get_matching_location` (for internally-derived locations), `find_matching_holonym_location` (for externally-derived locations) or `find_canonical_key` (for known-canonical locations where the placetype isn't known). ]=] local function find_matching_key_in_group(group, placetypes, key, alias_resolution) if alias_resolution ~= nil and alias_resolution ~= "none" and alias_resolution ~= "display" and alias_resolution ~= "all" then internal_error("Bad value for 'alias_resolution': %s", alias_resolution) end local spec = group.data[key] if not spec then return nil end local function check_correct_placetype(placetype) if type(placetype) == "table" then for _, pt in ipairs(placetype) do if list_or_element_contains(placetypes, pt) then return true end end return false else return list_or_element_contains(placetypes, placetype) end end if spec.alias_of then local resolved_key = spec.alias_of local resolved_spec = group.data[resolved_key] if not resolved_spec then internal_error("Key %s is an alias of %s, which doesn't exist", key, resolved_key) elseif resolved_spec.alias_of then internal_error("Key %s is an alias of %s, which is itself an alias; indirect aliasing not allowed", key, resolved_key) end if alias_resolution == "none" or alias_resolution == "display" then -- We could be working with non-initialized/defaulted spec, since we're pulling it directly from the group. local placetype = spec.placetype or resolved_spec.placetype or group.default_placetype if not placetype then internal_error("No placetype found for key %s in any of spec %s, alias-resolved spec %s or in group " .. "`default_placetype`", key, spec, resolved_spec) end if not check_correct_placetype(placetype) then return nil end if alias_resolution == "display" then if spec.display == true then key = resolved_key elseif spec.display then key = spec.display end end return key, spec end key = resolved_key spec = resolved_spec end -- We could be working with non-initialized/defaulted spec, since we're pulling it directly from the group. local placetype = spec.placetype or group.default_placetype if not placetype then internal_error("No placetype found for key %s in spec %s or group `default_placetype`", key, spec) end if not check_correct_placetype(placetype) then return nil end export.initialize_spec(group, key, spec) return key, spec end --[=[ Given a location group, placename and possible placetypes that the placename must match, check if the placename exists in the group with at least one of the placetypes of the key in the group that corresponds to the placename matching one of the passed-in placetypes. If so, return two values: the key corrsponding to the passed-in placename and the corresponding spec object. This is similar to `find_matching_key_in_group()` but works with placenames rather than keys. `alias_resolution` is as in `find_matching_key_in_group()`. This is a low-level function meant for internal use; external callers should generally use `get_matching_location` (for internally-derived locations), `find_matching_holonym_location` (for externally-derived locations) or `find_canonical_key` (for known-canonical locations where the placetype isn't known). ]=] local function find_matching_placename_in_group(group, placetypes, placename, alias_resolution) local key = export.placename_to_key(group, placename) return find_matching_key_in_group(group, placetypes, key, alias_resolution) end --[==[ If `key` is a canonical known location key (i.e. not an alias), return the corresponding group and initialized spec. If no such key exists, return {nil}. This throws an internal error if two locations with the same key are found. ]==] function export.find_canonical_key(key) local found_locations = {} for _, group in ipairs(export.locations) do local spec = group.data[key] if not spec then -- do nothing elseif spec.alias_of then mw.log(("Skipping alias '%s' of canonical '%s'"):format(key, spec.alias_of)) else insert(found_locations, {group, spec}) end end if not found_locations[1] then return nil elseif found_locations[2] then internal_error("Found multiple matching locations for canonical key %s: %s", key, found_locations) else local group, spec = unpack(found_locations[1]) export.initialize_spec(group, key, spec) return group, spec end end --[==[ Iterator that returns all locations matching a given description, where the description consists of either a placename or a key along with a list of possible placetypes. Usually there will be at most one such location. The iterator returns three values at each iteration: the location group, canonical key by which the location is known and the spec object describing the location. `data` contains the following possible fields: * `placetypes`: A list of possible placetypes, one of which must match one of the location's placetypes; or a string specifying a placetype, which must match one of the location's placetypes. This must be specified. * `placename`: The placename of the location. Either this or `key` must be specified. * `key`: The key of the location. Either this or `placename` must be specified. * `alias_resolution`: If specified, it behaves the same as for `find_matching_key_in_group`. The spec is normally initialized using `initialize_spec()` prior to it being returned (but may not be if `alias_resolution` is given and the specified key or placename is an alias; see the documentation for `find_matching_key_in_group`). ]==] function export.iterate_matching_location(data) local i = 0 local n = #export.locations return function() while true do i = i + 1 if i > n then break end local group = export.locations[i] local key, spec if data.placename then key, spec = find_matching_placename_in_group(group, data.placetypes, data.placename, data.alias_resolution) else if not data.key then internal_error("'.placename' or '.key' must be defined: %s", data) end key, spec = find_matching_key_in_group(group, data.placetypes, data.key, data.alias_resolution) end if key then return group, key, spec end end end end --[==[ Return the location matching a given description, where the description consists of either a placename or a key along with a list of possible placetypes. This is similar to `iterate_matching_location()` but throws an internal error if there is not exactly one location found; as such, it is for use with internally specified locations (such as the containers of known locations) rather than externally specified locations, which may not match a known location and in some cases may match multiple known locations. For finding an externally specified location, consider using `find_matching_holonym_location`, which returns {nil} rather than throwing an error if the location isn't found, but also (more importantly) checks to make sure there are no conflicting holonyms among the user-specified holonyms (e.g. {{tl|place|city|s/Delaware|c/USA|t=Newark}} will not match the known location `Newark` (in New Jersey, not Delaware). ]==] function export.get_matching_location(data) local all_found = {} for group, key, spec in export.iterate_matching_location(data) do insert(all_found, {group, key, spec}) end if not all_found[1] then internal_error("Couldn't find matching location for data %s", data) elseif all_found[2] then internal_error("Found multiple matching locations for data %s: %s", data, all_found) else return unpack(all_found[1]) end end --[==[ Successively iterate over a location's containers, and then the containers of those containers, etc. Keep in mind that locations may have multiple containers (e.g. Russia has both Europe and Asia as containers, and both Europe and Asia have Eurasia as their container). A given container will never be returned twice (e.g. in the case where a specific location A has locations B and C as containers, and B has C as its container, C will not be returned twice). An internal error happens if a container loop is detected. The return value is a list of location objects, each of which contains `group`, `key` and `spec` fields. ]==] function export.iterate_containers(group, key, spec) local keys_seen = {} keys_seen[key] = true local iterations = 0 local last_iteration_containers = {{group = group, key = key, spec = spec}} return function() iterations = iterations + 1 if iterations > 10 then internal_error("Probable loop in containers when processing key %s", key) end local next_iteration_containers = {} for _, location in ipairs(last_iteration_containers) do local containers = location.spec.containers if containers then for _, container in ipairs(containers) do local container_group, container_key, container_spec = export.get_matching_location { placetypes = container.placetype, key = container.key, } if not keys_seen[container_key] then insert(next_iteration_containers, { group = container_group, key = container_key, spec = container_spec }) keys_seen[container_key] = true end end end end if not next_iteration_containers[1] then return nil end last_iteration_containers = next_iteration_containers return next_iteration_containers end end --[==[ Given a placename, convert it into a link (two-part if `display_form` is given and differs from `placename`) and add `"the "` to the beginning if called for in `spec`. ]==] function export.construct_linked_placename(spec, placename, display_form) local linked_placename = display_form and placename ~= display_form and ("[[%s|%s]]"):format(placename, display_form) or ("[[%s]]"):format(placename) if spec.the then linked_placename = "the " .. linked_placename end return linked_placename end --[=[ This is typically used to define `key_to_placename`. It generates a function that chops off parts of a string (a location key), typically at the end, in order to get the full and elliptical versions of a placename. (See the documentation above for `key_to_placename` under "Location group tables" for the difference between full and elliptical placenames.) `container_patterns` is a Lua pattern or a list of possible patterns matching the container at the end of the key, which will be used to remove that container. If multiple patterns are specified, each one is tried until one matches. If `container_patterns` is omitted, this part of the process is skipped. The reulting string becomes the full placename. If `divtype_patterns` is specified, it is likewise either a Lua pattern or list of possible patterns to match and remove the political division affixed onto the end (or possibly the beginning) of the key in the keys of certain countries (such as South Korean and North Korean counties, which include the word "County" in the key). The resulting chopped string becomes the elliptical placename. If `divtype_patterns` is omitted, this part of the process is skipped and the full and elliptical placenames are the same. Typical usage is as follows: ``` key_to_placename = make_key_to_placename(", Anh$"), ``` or (when the political division is part of the key) ``` key_to_placename = make_key_to_placename(", Hàn Quốc$", "$") ``` ]=] local function make_key_to_placename(container_patterns, divtype_patterns) if type(container_patterns) == "string" then container_patterns = {container_patterns} end if type(divtype_patterns) == "string" then divtype_patterns = {divtype_patterns} end return function(key) local full_placename = key if container_patterns then for _, container_pattern in ipairs(container_patterns) do local nsubs full_placename, nsubs = full_placename:gsub(container_pattern, "") if nsubs > 0 then break end end end local elliptical_placename = full_placename if divtype_patterns then for _, divtype_pattern in ipairs(divtype_patterns) do local nsubs elliptical_placename, nsubs = elliptical_placename:gsub(divtype_pattern, "") if nsubs > 0 then break end end end return full_placename, elliptical_placename end end --[=[ This is typically used to define `placename_to_key`. It generates a function that appends a string to the end of a given placename to get the key (see the definition of `placename_to_key` above in the documentation under "Location group tables"). Optional `divtype_suffix` is a raw string (which should not contain hyphens or other characters that have special meaning in Lua patterns) to be appended first to the placename; if already present at the end, it is not appended. `container_suffix` is then added in the same fashion if given. Typical usage is like this: ``` placename_to_key = make_placename_to_key(", Anh") ``` (which will convert e.g. `"Hampshire"` into `"Hampshire, Anh"`) or ``` placename_to_key = make_placename_to_key(", Hàn Quốc", " County") ``` (which will convert e.g. `"Gangwon"` or `"Gangwon County"` into `"Gangwon, Hàn Quốc"`). ]=] local function make_placename_to_key(container_suffix, divtype_suffix) return function(placename) local key = placename if divtype_suffix then if not key:find(divtype_suffix .. "$") then key = key .. divtype_suffix end end if container_suffix then key = key .. container_suffix end return key end end --[=[ This is typically used to define `canonicalize_key_container`, which converts a container as specified in the location data into the canonical form containing both the full container key and its placetype. It generates a function to do the canonicalization of a given container. If the container is a string, `suffix` is appended onto the string (use {nil} or {""} if there is no suffix to append), and the placetype is set to `placetype`. Otherwise the container is left as-is. Typical usage is like this: ``` canonicalize_key_container = make_canonicalize_key_container(", Canada", "province") ``` which will convert e.g. `"Ontario"` into `{key = "Ontario, Canada", placetype = "province"}`. ]=] local function make_canonicalize_key_container(suffix, placetype) return function(container) if type(container) == "string" then return {key = container .. (suffix or ""), placetype = placetype} else return container end end end ----------------------------------------------------------------------------------- -- Top-level tables -- ----------------------------------------------------------------------------------- export.continents = { ["Trái Đất"] = {placetype = "planet", addl_parents = {"tự nhiên"}, fulldesc = "=là hành tinh thứ ba tính từ Mặt Trời", commonscat = "Earth"}, ["châu Phi"] = {placetype = "continent", commonscat = "Africa", container = {key = "Trái Đất", placetype = "planet"}}, ["châu Mỹ"] = {placetype = {"supercontinent", "continent"}, container = {key = "Trái Đất", placetype = "planet"}, keydesc = "[[America]], in the sense of [[North America]] and [[South America]] combined", wp = "Châu Mỹ"}, ["Americas"] = {alias_of = "châu Mỹ"}, ["America"] = {alias_of = "châu Mỹ"}, ["Bắc Mỹ"] = {placetype = "continent", container = {key = "châu Mỹ", placetype = "supercontinent"}}, ["Caribe"] = {the = true, placetype = {"continental region", "region"}, container = {key = "Bắc Mỹ", placetype = "continent"}}, ["Trung Mỹ"] = {placetype = {"continental region", "region"}, container = {key = "Bắc Mỹ", placetype = "continent"}}, ["Nam Mỹ"] = {placetype = "continent", container = {key = "châu Mỹ", placetype = "supercontinent"}}, ["châu Nam Cực"] = {placetype = "continent", container = {key = "Trái Đất", placetype = "planet"}, fulldesc = "=lục địa nằm xa về phía nam và tây nhất trên Trái Đất, chứa Cực Nam địa lý và nằm trong Vùng Nam Cực của Nam Bán cầu"}, ["Đại lục Á Âu"] = {placetype = {"supercontinent", "continent"}, container = {key = "Trái Đất", placetype = "planet"}, keydesc = "một khu vực đất đai rộng lớn, bao gồm châu Âu và châu Á"}, ["châu Á"] = {placetype = "continent", container = {key = "Đại lục Á Âu", placetype = "supercontinent"}}, ["châu Âu"] = {placetype = "continent", container = {key = "Đại lục Á Âu", placetype = "supercontinent"}}, ["châu Đại Dương"] = {placetype = "continent", container = {key = "Trái Đất", placetype = "planet"}}, ["Melanesia"] = {placetype = {"continental region", "region"}, container = {key = "châu Đại Dương", placetype = "continent"}}, ["Micronesia"] = {placetype = {"continental region", "region"}, container = {key = "châu Đại Dương", placetype = "continent"}}, ["Polynesia"] = {placetype = {"continental region", "region"}, container = {key = "châu Đại Dương", placetype = "continent"}}, } export.continents_group = { default_overriding_bare_label_parents = {}, -- container parents should be used default_divs = {{type = "quốc gia", prep = "của"}}, -- It's enough to mention the first-level continent or continent group. It seems excessive to write e.g. -- "El Salvador, a country in Central America, a continental region in North America, a continent in America, ...". default_no_include_container_in_desc = true, default_no_container_cat = true, default_no_container_parent = true, default_no_auto_augment_container = true, default_no_generic_place_cat = true, -- French Guyana is in France but not in Europe, which should not be an issue, so don't check holonym mismatches at -- this level. We also run into problems with supercontinents, which have "continent" as the fallback and cause -- mismatches. default_no_check_holonym_mismatch = true, data = export.continents, } -- Countries: including those with partial recognition that are normally considered countries (e.g. Kosovo, Taiwan). export.countries = { ["Afghanistan"] = {container = "châu Á", divs = {"tỉnh", "districts"}}, ["Albania"] = {container = "châu Âu", divs = {"counties", "municipalities", "communes", {type = "administrative units", cat_as = "communes"}, }, british_spelling = true}, ["Algeria"] = {container = "châu Phi", divs = {"tỉnh", "communes", "districts", "municipalities"}}, ["Andorra"] = {container = "châu Âu", divs = {"parishes"}, british_spelling = true}, ["Angola"] = {container = "châu Phi", divs = {"provinces", "municipalities"}}, ["Antigua and Barbuda"] = {container = "Caribe", divs = {"provinces"}, british_spelling = true}, ["Argentina"] = {container = "Nam Mỹ", divs = {"provinces", "departments", "municipalities"}}, ["Armenia"] = {container = {"châu Âu", "châu Á"}, divs = {"tỉnh", "districts", "municipalities"}, british_spelling = true}, ["Republic of Armenia"] = {alias_of = "Armenia"}, -- differs in "the" -- Both a country and continent ["Úc"] = {container = "châu Đại Dương", divs = { {type = "states", cat_as = "states and territories"}, {type = "territories", cat_as = "states and territories"}, {type = "ABBREVIATION_OF states", cat_as = "abbreviations of states and territories"}, {type = "ABBREVIATION_OF territories", cat_as = "abbreviations of states and territories"}, "local government areas", "dependent territories", }, british_spelling = true}, ["Australia"] = {alias_of = "Úc"}, ["Áo"] = {container = "châu Âu", divs = {"states", "districts", "municipalities"}, british_spelling = true}, ["Azerbaijan"] = {container = {"châu Âu", "châu Á"}, divs = {"districts", "municipalities"}, british_spelling = true}, ["Bahamas"] = {the = true, container = "Caribe", divs = {"districts"}, british_spelling = true, wp = "The %l"}, ["Bahrain"] = {container = "châu Á", divs = {"governorates"}}, ["Bangladesh"] = {container = "châu Á", divs = {"divisions", "districts", "municipalities"}, british_spelling = true}, ["Barbados"] = {container = "Caribe", divs = {"parishes"}, british_spelling = true}, ["Belarus"] = {container = "châu Âu", divs = {"regions", "districts"}, british_spelling = true}, ["Bỉ"] = {container = "châu Âu", divs = {"regions", "tỉnh", "municipalities"}, british_spelling = true}, ["Belize"] = {container = "Trung Mỹ", divs = {"districts"}, british_spelling = true}, ["Benin"] = {container = "châu Phi", divs = {"departments", "communes"}}, ["Bhutan"] = {container = "châu Á", divs = {"districts", "gewogs"}}, ["Bolivia"] = {container = "Nam Mỹ", divs = {"tỉnh", "departments", "municipalities"}}, ["Bosna và Hercegovina"] = {container = "châu Âu", divs = {"entities", "cantons", "municipalities"}, british_spelling = true}, ["Bosnia and Hercegovina"] = {alias_of = "Bosna và Hercegovina", display = true}, ["Bosnia và Hercegovina"] = {alias_of = "Bosna và Hercegovina", display = true}, ["Bosnia-Herzegovina"] = {alias_of = "Bosna và Hercegovina", display = true}, ["Bosnia-Hercegovina"] = {alias_of = "Bosna và Hercegovina", display = true}, ["Bosnia"] = {alias_of = "Bosna và Hercegovina", display = true}, ["Botswana"] = {container = "châu Phi", divs = {"districts", "subdistricts"}, british_spelling = true}, ["Brasil"] = {container = "Nam Mỹ", divs = { "states", "municipalities", "macroregions", {type = "ABBREVIATION_OF states", cat_as = "abbreviations of states"}, }}, ["Brazil"] = {alias_of = "Brasil", display = true}, ["Brunei"] = {container = "châu Á", divs = {"districts", "mukims"}, british_spelling = true}, ["Bulgaria"] = {container = "châu Âu", divs = {"tỉnh", "municipalities"}, british_spelling = true}, ["Burkina Faso"] = {container = "châu Phi", divs = {"regions", "departments", "provinces"}}, ["Burundi"] = {container = "châu Phi", divs = {"provinces", "communes"}}, ["Campuchia"] = {container = "châu Á", divs = {"tỉnh", "districts"}}, ["Cameroon"] = {container = "châu Phi", divs = {"regions", "departments"}}, ["Canada"] = {container = "Bắc Mỹ", divs = { {type = "tỉnh", cat_as = "provinces and territories"}, {type = "territories", cat_as = "provinces and territories"}, {type = "ABBREVIATION_OF provinces", cat_as = "abbreviations of provinces and territories"}, {type = "ABBREVIATION_OF territories", cat_as = "abbreviations of provinces and territories"}, "counties", "districts", "municipalities", "regional municipalities", "rural municipalities", "parishes", -- Don't change the following to something more politically correct (e.g. "First Nations reserves") until/unless -- the Canadian government makes a similar switch (and note that as of Apr 18 2025, the Wikipedia article is -- still at [[w:Indian reserves]]). "Indian reserves", "census divisions", {type = "townships", prep = "in"}, }, british_spelling = true}, ["Cape Verde"] = {container = "châu Phi", divs = {"municipalities", "parishes"}}, ["Cabo Verde"] = {alias_of = "Cape Verde", display = true}, ["Cộng hòa Trung Phi"] = {container = "châu Phi", divs = {"prefectures", "subprefectures"}}, ["CAR"] = {alias_of = "Cộng hòa Trung Phi", display = true}, ["C.A.R"] = {alias_of = "Cộng hòa Trung Phi", display = true}, ["Tchad"] = {container = "châu Phi", divs = {"regions", "departments"}}, ["Chad"] = {alias_of = "Tchad", display = true}, ["Chile"] = {container = "Nam Mỹ", divs = {"regions", "tỉnh", "communes"}}, ["Trung Quốc"] = {container = "châu Á", divs = { {type = "tỉnh", cat_as = "provinces and autonomous regions"}, {type = "autonomous regions", cat_as = "provinces and autonomous regions"}, {type = "FORMER provinces", cat_as = "former provinces"}, "special administrative regions", "prefectures", {type = "FORMER prefectures", cat_as = "former prefectures"}, "prefecture-level cities", {type = "counties", cat_as = "counties and county-level cities"}, {type = "county-level cities", cat_as = "counties and county-level cities"}, {type = "FORMER counties", cat_as = "former counties and county-level cities"}, {type = "FORMER county-level cities", cat_as = "former counties and county-level cities"}, -- "towns" (but not "townships") are automatically added as they are specified as generic_before_non_cities. "districts", {type = "FORMER districts", cat_as = "former districts"}, "subdistricts", "townships", "municipalities", {type = "direct-administered municipalities", cat_as = "municipalities"}, }}, ["People's Republic of China"] = {alias_of = "Trung Quốc"}, -- differs in "the" ["Colombia"] = {container = "Nam Mỹ", divs = {"departments", "municipalities"}}, ["Comoros"] = {the = true, container = "châu Phi", divs = {"autonomous islands"}}, ["Costa Rica"] = {container = "Trung Mỹ", divs = {"provinces", "cantons"}}, ["Croatia"] = {container = "châu Âu", divs = {"counties", "municipalities"}, british_spelling = true}, ["Cuba"] = {container = "Caribe", divs = {"tỉnh", "municipalities"}}, ["Cyprus"] = {container = {"châu Âu", "châu Á"}, divs = {"districts"}, british_spelling = true}, ["Czech Republic"] = {the = true, container = "châu Âu", divs = {"regions", "districts", "municipalities"}, british_spelling = true}, ["Czechia"] = {alias_of = "Czech Republic"}, -- differs in "the" ["Democratic Republic of the Congo"] = {the = true, container = "châu Phi", divs = {"provinces", "territories"}}, ["Congo"] = {alias_of = "Democratic Republic of the Congo", display = true, the = true}, ["DRC"] = {alias_of = "Democratic Republic of the Congo", display = true, the = true}, ["D.R.C"] = {alias_of = "Democratic Republic of the Congo", display = true, the = true}, ["Đan Mạch"] = {container = "châu Âu", divs = {"regions", "municipalities", "dependent territories"}, british_spelling = true, -- Wikipedia separates [[w:Denmark]] (constituent country) from [[w:Danish Realm]] (country) }, ["Djibouti"] = {container = "châu Phi", divs = {"regions", "districts"}}, ["Dominica"] = {container = "Caribe", divs = {"parishes"}, british_spelling = true}, ["Dominican Republic"] = {the = true, container = "Caribe", divs = {"provinces", "municipalities"}, keydesc = "the [[Dominican Republic]], the country that shares the [[Caribbean]] island of [[Hispaniola]] with [[Haiti]]"}, ["Đông Timor"] = {container = "châu Á", divs = {"municipalities"}, wp = "Timor-Leste"}, ["Timor-Leste"] = {alias_of = "Đông Timor", display = true}, ["Ecuador"] = {container = "Nam Mỹ", divs = {"provinces", "cantons"}}, ["Ai Cập"] = {container = "châu Phi", divs = {"governorates", "regions"}, british_spelling = true}, ["El Salvador"] = {container = "Trung Mỹ", divs = {"departments", "municipalities"}}, ["Guinea Xích Đạo"] = {container = "châu Phi", divs = {"tỉnh"}}, ["Eritrea"] = {container = "châu Phi", divs = {"regions", "subregions"}}, ["Estonia"] = {container = "châu Âu", divs = {"counties", "municipalities"}, british_spelling = true}, ["Eswatini"] = {container = "châu Phi", british_spelling = true}, ["Swaziland"] = {alias_of = "Eswatini", display = true}, ["Ethiopia"] = {container = "châu Phi", divs = {"regions", "zones"}}, ["Federated States of Micronesia"] = {the = true, container = "Micronesia", divs = {"states"}}, ["Micronesia"] = {alias_of = "Federated States of Micronesia"}, ["Fiji"] = {container = "Melanesia", divs = {"divisions", "provinces"}, british_spelling = true}, ["Phần Lan"] = {container = "châu Âu", divs = {"regions", "municipalities"}, british_spelling = true}, ["Pháp"] = {container = "châu Âu", divs = {"regions", "cantons", "collectivities", "communes", {type = "municipalities", cat_as = "communes"}, "departments", {type = "prefectures", cat_as = {"prefectures", "departmental capitals"}}, {type = "French prefectures", cat_as = {"prefectures", "departmental capitals"}}, "dependent territories", "territories", "tỉnh", }, british_spelling = true}, ["Gabon"] = {container = "châu Phi", divs = {"provinces", "departments"}}, ["Gambia"] = {the = true, container = "châu Phi", divs = {"divisions", "districts"}, british_spelling = true, wp = "The %l"}, ["Gruzia"] = {container = {"châu Âu", "châu Á"}, divs = {"regions", "districts"}, keydesc = "the country of [[Georgia]], in [[Eurasia]]", british_spelling = true, wp = "%l"}, ["Georgia"] = {alias_of = "Gruzia"}, ["Đức"] = {container = "châu Âu", divs = { "states", -- Bavaria, Baden-Württemberg, Hesse and North Rhine-Westphalia have administrative regions as divisions, but -- there aren't really enough of them to categorize per state. "regions", "municipalities", "districts"}, british_spelling = true}, ["Ghana"] = {container = "châu Phi", divs = {"regions", "districts"}, british_spelling = true}, ["Hy Lạp"] = {container = "châu Âu", divs = {"regions", "regional units", "municipalities", {type = "peripheries", cat_as = {"regions"}}, }, british_spelling = true}, ["Grenada"] = {container = "Caribe", divs = {"parishes"}, british_spelling = true}, ["Guatemala"] = {container = "Trung Mỹ", divs = {"departments", "municipalities"}}, ["Guinea"] = {container = "châu Phi", divs = {"regions", "prefectures"}}, ["Guinea-Bissau"] = {container = "châu Phi", divs = {"regions"}}, ["Guyana"] = {container = "Nam Mỹ", divs = {"regions"}, british_spelling = true}, ["Haiti"] = {container = "Caribe", divs = {"departments", "arrondissements"}}, ["Honduras"] = {container = "Trung Mỹ", divs = {"departments", "municipalities"}}, ["Hungary"] = {container = "châu Âu", divs = {"counties", "districts"}, british_spelling = true}, ["Iceland"] = {container = "châu Âu", divs = {"regions", "municipalities", "counties"}, british_spelling = true}, ["Ấn Độ"] = {container = "châu Á", divs = { {type = "states", cat_as = "states and union territories"}, {type = "union territories", cat_as = "states and union territories"}, {type = "ABBREVIATION_OF states", cat_as = "abbreviations of states and union territories"}, {type = "ABBREVIATION_OF union territories", cat_as = "abbreviations of states and union territories"}, "divisions", "districts", "municipalities", }, british_spelling = true}, ["Indonesia"] = {container = "châu Á", divs = {"regencies", "tỉnh", {type = "ABBREVIATION_OF provinces", cat_as = "abbreviations of provinces"}, }}, ["Iran"] = {container = "châu Á", divs = {"tỉnh", "counties"}}, ["Iraq"] = {container = "châu Á", divs = {"governorates", "districts"}}, ["Ireland"] = {container = "châu Âu", addl_parents = {"British Isles"}, divs = {"counties", "districts", "provinces"}, british_spelling = true, wp = "Republic of %l"}, ["Republic of Ireland"] = {alias_of = "Ireland"}, -- differs in "the" ["Israel"] = {container = "châu Á", divs = {"districts"}}, ["Ý"] = {container = "châu Âu", divs = { "regions", "provinces", "metropolitan cities", "municipalities", {type = "autonomous regions", cat_as = "regions"}, }, british_spelling = true}, ["Bờ Biển Ngà"] = {container = "châu Phi", divs = {"districts", "regions"}}, -- We should really be using Ivory Coast (common name) but there are political ramifications to the use of -- Côte d'Ivoire so don't make it a display alias. ["Côte d'Ivoire"] = {alias_of = "Bờ Biển Ngà"}, ["Jamaica"] = {container = "Caribe", divs = {"parishes"}, british_spelling = true}, ["Nhật Bản"] = {container = "châu Á", divs = {"prefectures", "subprefectures", "municipalities"}}, ["Jordan"] = {container = "châu Á", divs = {"governorates"}}, ["Kazakhstan"] = {container = {"châu Á", "châu Âu"}, divs = {"regions", "districts"}}, ["Kenya"] = {container = "châu Phi", divs = {"counties"}, british_spelling = true}, ["Kiribati"] = {container = "Micronesia", british_spelling = true}, ["Kosovo"] = {container = "châu Âu", divs = {"districts", "municipalities"}, british_spelling = true}, ["Kuwait"] = {container = "châu Á", divs = {"governorates", "areas"}}, ["Kyrgyzstan"] = {container = "châu Á", divs = {"regions", "districts"}}, ["Lào"] = {container = "châu Á", divs = {"tỉnh", "districts"}}, ["Latvia"] = {container = "châu Âu", divs = {"municipalities"}, british_spelling = true}, ["Lebanon"] = {container = "châu Á", divs = {"governorates", "districts"}}, ["Lesotho"] = {container = "châu Phi", divs = {"districts"}, british_spelling = true}, ["Liberia"] = {container = "châu Phi", divs = {"counties", "districts"}}, ["Libya"] = {container = "châu Phi", divs = {"districts", "municipalities"}}, ["Liechtenstein"] = {container = "châu Âu", divs = {"municipalities"}, british_spelling = true}, ["Litva"] = {container = "châu Âu", divs = {"counties", "municipalities"}, british_spelling = true}, ["Luxembourg"] = {container = "châu Âu", divs = {"cantons", "districts"}, british_spelling = true}, ["Madagascar"] = {container = "châu Phi", divs = {"regions", "districts"}}, ["Malawi"] = {container = "châu Phi", divs = {"regions", "districts"}, british_spelling = true}, ["Malaysia"] = {container = "châu Á", divs = {"states", "federal territories", "districts"}, british_spelling = true}, ["Maldives"] = {container = "châu Á", divs = {"tỉnh", "administrative atolls"}, british_spelling = true}, ["Mali"] = {container = "châu Phi", divs = {"regions", "cercles"}}, ["Malta"] = {container = "châu Âu", divs = {"regions", "local councils"}, british_spelling = true}, ["Marshall Islands"] = {the = true, container = "Micronesia", divs = {"municipalities"}}, ["Mauritania"] = {container = "châu Phi", divs = {"regions", "departments"}}, ["Mauritius"] = {container = "châu Phi", divs = {"districts"}, british_spelling = true}, ["Mexico"] = {container = "Bắc Mỹ", addl_parents = {"Trung Mỹ"}, divs = { "states", "municipalities", {type = "ABBREVIATION_OF states", cat_as = "abbreviations of states"}, }}, ["Moldova"] = {container = "châu Âu", divs = { {type = "districts", cat_as = "districts and autonomous territorial units"}, {type = "autonomous territorial units", cat_as = "districts and autonomous territorial units"}, "communes", "municipalities", }, british_spelling = true}, ["Monaco"] = {placetype = {"city-state", "quốc gia"}, container = "châu Âu", -- We want the first placetype to be 'city-state' so the description of Monaco says it's a city-state, but we -- want its parent to be "countries in Europe". bare_category_parent_type = {type = "quốc gia", prep = "của"}, is_city = true, british_spelling = true}, ["Mông Cổ"] = {container = "châu Á", divs = {"tỉnh", "districts"}}, ["Montenegro"] = {container = "châu Âu", divs = {"municipalities"}}, ["Maroc"] = {container = "châu Phi", divs = {"regions", "prefectures", "tỉnh"}}, ["Mozambique"] = {container = "châu Phi", divs = {"provinces", "districts"}}, ["Myanmar"] = {container = "châu Á", divs = {"regions", "states", "union territories", {type = "self-administered zones", cat_as = "self-administered areas"}, {type = "self-administered divisions", cat_as = "self-administered areas"}, "districts"}}, ["Burma"] = {alias_of = "Myanmar"}, -- not display-canonicalizing; has political connotations ["Namibia"] = {container = "châu Phi", divs = {"regions", "constituencies"}, british_spelling = true}, ["Nauru"] = {container = "Micronesia", divs = {"districts"}, british_spelling = true}, ["Nepal"] = {container = "châu Á", divs = {"tỉnh", "districts"}}, ["Hà Lan"] = {placetype = {"quốc gia", "constituent country"}, container = "châu Âu", divs = {"tỉnh", "municipalities", {type = "FORMER municipalities", cat_as = "former municipalities"}, "dependent territories", "constituent countries"}, british_spelling = true, -- Wikipedia separates [[w:Netherlands]] (constituent country) from [[w:Kingdom of the Netherlands]] -- (country) }, ["New Zealand"] = {container = "Polynesia", divs = { "regions", "dependent territories", "territorial authorities", {type = "districts", cat_as = "territorial authorities"}, }, british_spelling = true}, ["Nicaragua"] = {container = "Trung Mỹ", divs = {"departments", "municipalities"}}, ["Niger"] = {container = "châu Phi", divs = {"regions", "departments"}}, ["Nigeria"] = {container = "châu Phi", divs = { "states", -- Categorize the Federal Capital Territory as a state because there's only one of it; we could categorize -- everything under 'states and territories' but that seems a bit pointless. {type = "federal territories", cat_as = "states"}, "local government areas", }, british_spelling = true}, ["Cộng hòa Dân chủ Nhân dân Triều Tiên"] = {container = "châu Á", addl_parents = {"Korea"}, divs = {"tỉnh", "counties"}}, ["North Macedonia"] = {container = "châu Âu", divs = {"regions", "municipalities"}, british_spelling = true}, ["Macedonia"] = {alias_of = "North Macedonia", display = true}, ["Republic of North Macedonia"] = {alias_of = "North Macedonia"}, -- differs in "the" ["Republic of Macedonia"] = {alias_of = "North Macedonia"}, -- differs in "the" ["Na Uy"] = {container = "châu Âu", divs = {"counties", "municipalities", "dependent territories", "districts", "unincorporated areas"}, british_spelling = true}, ["Oman"] = {container = "châu Á", divs = {"governorates", "tỉnh"}}, ["Pakistan"] = {container = "châu Á", divs = { {type = "tỉnh", cat_as = "provinces and territories"}, {type = "administrative territories", cat_as = "provinces and territories"}, {type = "federal territories", cat_as = "provinces and territories"}, {type = "territories", cat_as = "provinces and territories"}, "divisions", "districts", }, british_spelling = true}, ["Palau"] = {container = "Micronesia", divs = {"states"}}, ["Palestine"] = {container = "châu Á", divs = {"governorates"}}, ["State of Palestine"] = {alias_of = "Palestine"}, -- differs in "the" ["Panama"] = {container = "Trung Mỹ", divs = {"provinces", "districts"}}, ["Papua New Guinea"] = {container = "Melanesia", divs = {"provinces", "districts"}, british_spelling = true}, ["Paraguay"] = {container = "Nam Mỹ", divs = {"departments", "districts"}}, ["Peru"] = {container = "Nam Mỹ", divs = {"regions", "provinces", "districts"}}, ["Philippines"] = {the = true, container = "châu Á", divs = {"regions", "tỉnh", "districts", "municipalities", "barangays"}}, ["Ba Lan"] = {divs = {"voivodeships", "counties", {type = "Polish colonies", cat_as = {{type = "villages", prep = "in"}}}, }, container = "châu Âu", british_spelling = true}, ["Bồ Đào Nha"] = {container = "châu Âu", divs = { {type = "autonomous regions", cat_as = "districts and autonomous regions"}, {type = "districts", cat_as = "districts and autonomous regions"}, "tỉnh", "municipalities"}, british_spelling = true}, ["Qatar"] = {container = "châu Á", divs = {"municipalities", "zones"}}, ["Republic of the Congo"] = {the = true, container = "châu Phi", divs = {"departments", "districts"}}, ["Congo Republic"] = {alias_of = "Republic of the Congo", display = true, the = true}, ["Romania"] = {container = "châu Âu", divs = { "regions", "counties", "communes", {type = "ABBREVIATION_OF counties", cat_as = "abbreviations of counties"}, }, british_spelling = true}, ["Nga"] = {container = {"châu Âu", "châu Á"}, divs = { "federal subjects", "republics", "autonomous oblasts", "autonomous okrugs", "oblasts", "krais", "federal cities", "districts", "federal districts"}, british_spelling = true}, ["Rwanda"] = {container = "châu Phi", divs = {"provinces", "districts"}}, ["Saint Kitts and Nevis"] = {container = "Caribe", divs = {"parishes"}, british_spelling = true}, ["Saint Kitts"] = {alias_of = "Saint Kitts and Nevis", display = true}, ["Saint Lucia"] = {container = "Caribe", divs = {"districts"}, british_spelling = true}, ["Saint Vincent and the Grenadines"] = {container = "Caribe", divs = {"parishes"}, british_spelling = true}, ["Saint Vincent"] = {alias_of = "Saint Vincent and the Grenadines", display = true}, ["SVG"] = {alias_of = "Saint Vincent and the Grenadines", display = true}, ["S.V.G"] = {alias_of = "Saint Vincent and the Grenadines", display = true}, ["Samoa"] = {container = "Polynesia", divs = {"districts"}, british_spelling = true}, ["San Marino"] = {container = "châu Âu", divs = {"municipalities"}, british_spelling = true}, ["São Tomé and Príncipe"] = {container = "châu Phi", divs = {"districts"}}, ["São Tome and Principe"] = {alias_of = "São Tomé and Príncipe", display = true}, ["São Tomé"] = {alias_of = "São Tomé and Príncipe", display = true}, ["São Tome"] = {alias_of = "São Tomé and Príncipe", display = true}, ["Ả Rập Xê Út"] = {container = "châu Á", divs = {"provinces", "governorates"}}, ["Senegal"] = {container = "châu Phi", divs = {"regions", "departments"}}, ["Serbia"] = {container = "châu Âu", divs = {"districts", "municipalities", "autonomous provinces"}}, ["Seychelles"] = {container = "châu Phi", divs = {"districts"}, british_spelling = true}, ["Sierra Leone"] = {container = "châu Phi", divs = {"provinces", "districts"}, british_spelling = true}, ["Singapore"] = {container = "châu Á", divs = {"districts", "regions"}, british_spelling = true}, ["Slovakia"] = {container = "châu Âu", divs = {"regions", "districts"}, british_spelling = true}, ["Slovenia"] = {container = "châu Âu", divs = {"statistical regions", "municipalities"}, british_spelling = true}, -- Note: While the official name does not include "the" at the beginning, -- it sounds strange in English to leave it out and it's commonly included. ["Solomon Islands"] = {the = true, container = "Melanesia", divs = {"provinces"}, british_spelling = true}, ["Somalia"] = {container = "châu Phi", divs = {"regions", "districts"}}, ["South Africa"] = {container = "châu Phi", divs = { "provinces", "districts", {type = "district municipalities", cat_as = "districts"}, {type = "metropolitan municipalities", cat_as = "districts"}, "municipalities", }, british_spelling = true}, ["Hàn Quốc"] = {container = "châu Á", addl_parents = {"Korea"}, divs = {"provinces", "counties", "districts"}}, ["Nam Sudan"] = {container = "châu Phi", divs = {"regions", "states", "counties"}, british_spelling = true}, ["Tây Ban Nha"] = {container = "châu Âu", divs = {"autonomous communities", "tỉnh", "municipalities", "comarcas", "autonomous cities"}, british_spelling = true}, ["Sri Lanka"] = {container = "châu Á", divs = {"tỉnh", "districts"}, british_spelling = true}, ["Sudan"] = {container = "châu Phi", divs = {"states", "districts"}, british_spelling = true}, ["Suriname"] = {container = "Nam Mỹ", divs = {"districts"}}, ["Thụy Điển"] = {container = "châu Âu", divs = {"tỉnh", "counties", "municipalities"}, british_spelling = true}, ["Switzerland"] = {container = "châu Âu", divs = {"cantons", "municipalities", "districts"}, british_spelling = true}, ["Syria"] = {container = "châu Á", divs = {"governorates", "districts"}}, ["Đài Loan"] = {container = "châu Á", divs = {"counties", "districts", "townships", "special municipalities"}}, ["Republic of China"] = {alias_of = "Đài Loan"}, -- differs in "the", different political connotations ["Tajikistan"] = {container = "châu Á", divs = {"regions", "districts"}}, ["Tanzania"] = {container = "châu Phi", divs = {"regions", "districts"}, british_spelling = true}, ["Thái Lan"] = {container = "châu Á", divs = {"tỉnh", "districts", "subdistricts"}}, ["Togo"] = {container = "châu Phi", divs = {"provinces", "prefectures"}}, ["Tonga"] = {container = "Polynesia", divs = {"divisions"}, british_spelling = true}, ["Trinidad and Tobago"] = {container = "Caribe", divs = {"regions", "municipalities"}, british_spelling = true}, ["Tunisia"] = {container = "châu Phi", divs = {"governorates", "delegations"}}, ["Thổ Nhĩ Kỳ"] = {container = {"châu Âu", "châu Á"}, divs = {"tỉnh", "districts"}}, -- Foreign names generally get display-canonicalized. ["Türkiye"] = {alias_of = "Thổ Nhĩ Kỳ", display = true}, ["Turkmenistan"] = {container = "châu Á", divs = { -- The 5 regions are often also called provinces "regions", {type = "tỉnh", cat_as = "regions"}, "districts"}, }, ["Tuvalu"] = {container = "Polynesia", divs = {"atolls"}, british_spelling = true}, ["Uganda"] = {container = "châu Phi", divs = {"districts", "counties"}, british_spelling = true}, ["Ukraina"] = {container = "châu Âu", divs = { {type = "oblasts", cat_as = "oblasts and autonomous republics"}, {type = "autonomous republics", cat_as = "oblasts and autonomous republics"}, "raions", "hromadas", }, british_spelling = true}, ["United Arab Emirates"] = {the = true, container = "châu Á", divs = {"emirates"}}, -- Abbreviations get display-canonicalized. ["UAE"] = {alias_of = "United Arab Emirates", display = true, the = true}, ["U.A.E."] = {alias_of = "United Arab Emirates", display = true, the = true}, ["United Kingdom"] = {the = true, container = "châu Âu", addl_parents = {"British Isles"}, divs = {"constituent countries", "counties", "districts", "boroughs", "territories", "dependent territories", "traditional counties"}, keydesc = "the [[United Kingdom]] of Great Britain and Northern Ireland", british_spelling = true}, -- Abbreviations get display-canonicalized. ["UK"] = {alias_of = "United Kingdom", display = true, the = true}, ["U.K."] = {alias_of = "United Kingdom", display = true, the = true}, ["Hoa Kỳ"] = {container = "Bắc Mỹ", divs = {"counties", "county seats", "states", "territories", "dependent territories", {type = "ABBREVIATION_OF states", cat_as = "abbreviations of states"}, {type = "DEROGATORY_NAME_FOR states", cat_as = "derogatory names for states"}, {type = "NICKNAME_FOR states", cat_as = "nicknames for states"}, {type = "OFFICIAL_NICKNAME_FOR states", cat_as = "official nicknames for states"}, {type = "boroughs", prep = "in"}, -- exist in Pennsylvania and New Jersey "municipalities", -- these exist politically at least in Colorado and Connecticut {type = "census-designated places", prep = "in"}, {type = "unincorporated communities", prep = "in"}, -- Don't change the following to something more politically correct until/unless the US government makes a -- similar switch (and note that as of Apr 18 2025, the Wikipedia article is still at -- [[w:Indian reservations]]). "Indian reservations", }}, -- Abbreviations and long forms (when possible) get display-canonicalized. ["US"] = {alias_of = "Hoa Kỳ", display = true, the = true}, ["U.S."] = {alias_of = "Hoa Kỳ", display = true, the = true}, ["USA"] = {alias_of = "Hoa Kỳ", display = true, the = true}, ["U.S.A."] = {alias_of = "Hoa Kỳ", display = true, the = true}, ["United States of America"] = {alias_of = "Hoa Kỳ", display = true, the = true}, ["Uruguay"] = {container = "Nam Mỹ", divs = {"departments", "municipalities"}}, ["Uzbekistan"] = {container = "châu Á", divs = {"regions", "districts"}}, ["Vanuatu"] = {container = "Melanesia", divs = {"provinces"}, british_spelling = true}, ["Vatican City"] = {placetype = {"city-state", "quốc gia"}, container = "châu Âu", -- First placetype should be 'city-state' for to shown up in its description, -- Its parent should still be "countries in Europe". bare_category_parent_type = {type = "quốc gia", prep = "của"}, addl_parents = {"Rome"}, is_city = true, british_spelling = true}, ["Vatican"] = {alias_of = "Vatican City"}, -- differs in "the" ["Venezuela"] = {container = "Nam Mỹ", divs = {"states", "municipalities"}}, ["Việt Nam"] = {container = "châu Á", divs = {"tỉnh", "districts", "municipalities"}}, ["Western Sahara"] = {placetype = {"territory", "quốc gia"}, container = "châu Phi", bare_category_parent_type = {type = "quốc gia", prep = "của"}, }, -- Not display-canonicalizable both due to differences in 'the' and the sovereignty dispute over Western Sahara ["Sahrawi Arab Democratic Republic"] = {alias_of = "Western Sahara"}, ["SADR"] = {alias_of = "Sahrawi Arab Democratic Republic", display = true, the = true}, ["Yemen"] = {container = "châu Á", divs = {"governorates", "districts"}}, ["Zambia"] = {container = "châu Phi", divs = {"provinces", "districts"}, british_spelling = true}, ["Zimbabwe"] = {container = "châu Phi", divs = {"provinces", "districts"}, british_spelling = true}, } local function canonicalize_continent_container(key) if type(key) ~= "string" then return key end if export.continents[key] then return {key = key, placetype = export.continents[key].placetype} end internal_error("Unrecognized key %s in `canonicalize_continent_like`", key) end export.countries_group = { canonicalize_key_container = canonicalize_continent_container, default_overriding_bare_label_parents = {"+++", "quốc gia"}, default_placetype = "quốc gia", default_no_container_cat = true, default_no_container_parent = true, -- No need to augment country holonyms with continents; not needed for disambiguation. default_no_auto_augment_container = true, data = export.countries, } -- Country-like entities: typically overseas territories or de-facto independent countries, which in both cases -- are not internationally recognized as sovereign nations but which we treat similarly to countries. export.country_like_entities = { -- British Overseas Territory ["Akrotiri and Dhekelia"] = { placetype = {"overseas territory", "territory"}, container = "United Kingdom", addl_parents = {"Cyprus", "châu Âu", "châu Á"}, british_spelling = true, }, -- Åland: Listed as a region of Finland. Wikipedia lists this under "dependent territories" in -- [[w:List of sovereign states and dependent territories by continent]]. -- unincorporated territory of the United States ["American Samoa"] = { placetype = {"unincorporated territory", "overseas territory", "territory"}, container = "Hoa Kỳ", addl_parents = {"Polynesia"}, }, -- British Overseas Territory ["Anguilla"] = { placetype = {"overseas territory", "territory"}, container = "United Kingdom", addl_parents = {"Caribe"}, british_spelling = true, }, -- de-facto independent state, internationally recognized as part of Georgia ["Abkhazia"] = { placetype = {"unrecognized country", "quốc gia"}, addl_parents = {"Georgia", "châu Âu", "châu Á"}, divs = {"districts"}, keydesc = "the de-facto independent state of [[Abkhazia]], internationally recognized as part of the country of [[Georgia]]", british_spelling = true, }, -- Australian external territory ["Ashmore and Cartier Islands"] = { the = true, placetype = {"external territory", "territory"}, container = "Úc", addl_parents = {"châu Á"}, }, -- constituent country of the Netherlands ["Aruba"] = { placetype = {"constituent country", "quốc gia"}, container = "Hà Lan", addl_parents = {"Caribe"}, british_spelling = true, }, -- British Overseas Territory ["Bermuda"] = { placetype = {"overseas territory", "territory"}, container = "United Kingdom", addl_parents = {"Bắc Mỹ"}, british_spelling = true, }, -- special municipality of the Netherlands ["Bonaire"] = { placetype = {"special municipality", "municipality", "overseas territory", "territory"}, container = "Hà Lan", addl_parents = {"Caribe"}, is_city = true, british_spelling = true, }, -- British Overseas Territory ["British Indian Ocean Territory"] = { the = true, placetype = {"overseas territory", "territory"}, container = "United Kingdom", addl_parents = {"châu Á"}, british_spelling = true, }, -- British Overseas Territory ["British Virgin Islands"] = { the = true, placetype = {"overseas territory", "territory"}, container = "United Kingdom", addl_parents = {"Caribe"}, british_spelling = true, }, -- Norwegian dependent territory ["Bouvet Island"] = { placetype = {"dependent territory", "territory"}, container = "Na Uy", addl_parents = {"châu Phi"}, british_spelling = true, }, -- British Overseas Territory ["Cayman Islands"] = { the = true, placetype = {"overseas territory", "territory"}, container = "United Kingdom", addl_parents = {"Caribe"}, british_spelling = true, }, -- Australian external territory ["Christmas Island"] = { placetype = {"external territory", "territory"}, container = "Úc", addl_parents = {"châu Á"}, british_spelling = true, }, -- Sui generis French "state private property" per Wikipedia; classify as overseas territory like the -- French Southern and Antarctic Lands. ["Clipperton Island"] = { placetype = {"overseas territory", "territory"}, container = "Pháp", addl_parents = {"Bắc Mỹ"}, }, -- Australian external territory; also called the Keeling Islands or (officially) the Cocos (Keeling) Islands ["Cocos Islands"] = { the = true, placetype = {"external territory", "territory"}, container = "Úc", addl_parents = {"châu Á"}, wp = "Cocos (Keeling) Islands", british_spelling = true, }, ["Cocos (Keeling) Islands"] = {alias_of = "Cocos Islands", display = true, the = true}, ["Keeling Islands"] = {alias_of = "Cocos Islands", display = true, the = true}, -- self-governing but in free association with New Zealand ["Cook Islands"] = { the = true, placetype = {"quốc gia"}, container = "New Zealand", addl_parents = {"Polynesia"}, british_spelling = true, }, -- constituent country of the Netherlands ["Curaçao"] = { placetype = {"constituent country", "quốc gia"}, container = "Hà Lan", addl_parents = {"Caribe"}, british_spelling = true, }, -- special territory of Chile ["Easter Island"] = { placetype = {"special territory", "territory"}, container = "Chile", addl_parents = {"Polynesia"}, }, -- British Overseas Territory ["Falkland Islands"] = { the = true, placetype = {"overseas territory", "territory"}, container = "United Kingdom", addl_parents = {"Nam Mỹ"}, british_spelling = true, }, -- autonomous territory of Denmark ["Faroe Islands"] = { the = true, placetype = {"autonomous territory", "territory"}, container = "Đan Mạch", addl_parents = {"châu Âu"}, british_spelling = true, }, -- overseas department and region of France ["French Guiana"] = { placetype = {"overseas department", "department", "administrative region", "region"}, container = "Pháp", divs = {"communes"}, addl_parents = {"Nam Mỹ"}, british_spelling = true, }, -- overseas collectivity of France ["French Polynesia"] = { placetype = {"overseas collectivity", "collectivity"}, container = "Pháp", addl_parents = {"Polynesia"}, british_spelling = true, }, -- French overseas territory ["French Southern and Antarctic Lands"] = { the = true, placetype = {"overseas territory", "territory"}, container = "Pháp", addl_parents = {"châu Phi"}, }, -- British Overseas Territory ["Gibraltar"] = { placetype = {"overseas territory", "territory"}, container = "United Kingdom", addl_parents = {"châu Âu"}, is_city = true, british_spelling = true, }, -- autonomous territory of Denmark ["Greenland"] = { placetype = {"autonomous territory", "territory"}, container = "Đan Mạch", addl_parents = {"Bắc Mỹ"}, divs = {"municipalities"}, british_spelling = true, }, -- overseas department and region of France ["Guadeloupe"] = { placetype = {"overseas department", "department", "administrative region", "region"}, container = "Pháp", addl_parents = {"Caribe"}, divs = {"communes"}, british_spelling = true, }, -- unincorporated territory of the United States ["Guam"] = { placetype = {"unincorporated territory", "overseas territory", "territory"}, container = "Hoa Kỳ", addl_parents = {"Micronesia"}, }, -- self-governing British Crown dependency; technically called the Bailiwick of Guernsey ["Guernsey"] = { placetype = {"crown dependency", "dependency", "dependent territory", "bailiwick", "territory"}, container = "United Kingdom", addl_parents = {"British Isles", "châu Âu"}, british_spelling = true, wp = "Bailiwick of %l", }, ["Bailiwick of Guernsey"] = {alias_of = "Guernsey"}, -- Australian external territory ["Heard Island and McDonald Islands"] = { the = true, placetype = {"external territory", "territory"}, container = "Úc", addl_parents = {"châu Phi"}, }, -- special administrative region of China ["Hồng Kông"] = { placetype = {"special administrative region", "thành phố"}, container = "Trung Quốc", is_city = true, british_spelling = true, }, -- self-governing British Crown dependency ["Isle of Man"] = { the = true, placetype = {"crown dependency", "dependency", "dependent territory", "territory"}, container = "United Kingdom", addl_parents = {"British Isles", "châu Âu"}, british_spelling = true, }, -- Norwegian unincorporated area ["Jan Mayen"] = { placetype = {"unincorporated area", "dependent territory", "territory", "island"}, container = "Na Uy", addl_parents = {"châu Âu"}, british_spelling = true, }, -- self-governing British Crown dependency; technically called the Bailiwick of Jersey ["Jersey"] = { placetype = {"crown dependency", "dependency", "dependent territory", "bailiwick", "territory"}, container = "United Kingdom", addl_parents = {"British Isles", "châu Âu"}, british_spelling = true, }, ["Bailiwick of Jersey"] = {alias_of = "Jersey"}, -- special administrative region of China ["Ma Cao"] = { placetype = {"special administrative region", "thành phố"}, container = "Trung Quốc", is_city = true, british_spelling = true, }, -- overseas department and region of France ["Martinique"] = { placetype = {"overseas department", "department", "administrative region", "region"}, container = "Pháp", divs = {"communes"}, addl_parents = {"Caribe"}, british_spelling = true, }, -- overseas department and region of France ["Mayotte"] = { placetype = {"overseas department", "department", "administrative region", "region"}, container = "Pháp", divs = {"communes"}, addl_parents = {"châu Phi"}, british_spelling = true, }, -- British Overseas Territory ["Montserrat"] = { placetype = {"overseas territory", "territory"}, container = "United Kingdom", addl_parents = {"Caribe"}, british_spelling = true, }, -- special collectivity of France ["New Caledonia"] = { placetype = {"special collectivity", "collectivity"}, container = "Pháp", addl_parents = {"Melanesia"}, british_spelling = true, }, -- dependent territory of New Zealand ["New Zealand Subantarctic Islands"] = { the = true, placetype = {"dependent territory", "territory"}, container = "New Zealand", addl_parents = {"Antarctica"}, british_spelling = true, }, -- self-governing but in free association with New Zealand ["Niue"] = { placetype = {"quốc gia"}, container = "New Zealand", addl_parents = {"Polynesia"}, british_spelling = true, }, -- Australian external territory ["Norfolk Island"] = { placetype = {"external territory", "territory"}, container = "Úc", addl_parents = {"Polynesia"}, british_spelling = true, }, -- de-facto independent state, internationally recognized as part of Cyprus ["Northern Cyprus"] = { placetype = {"unrecognized country", "quốc gia"}, addl_parents = {"Cyprus", "Thổ Nhĩ Kỳ", "châu Âu", "châu Á"}, divs = {"districts"}, keydesc = "the de-facto independent state of [[Northern Cyprus]], internationally recognized as part of the country of [[Cyprus]]", british_spelling = true, }, -- commonwealth, unincorporated territory of the United States ["Northern Mariana Islands"] = { the = true, placetype = {"commonwealth", "unincorporated territory", "overseas territory", "territory"}, container = "Hoa Kỳ", addl_parents = {"Micronesia"}, }, -- British Overseas Territory ["Pitcairn Islands"] = { the = true, placetype = {"overseas territory", "territory"}, container = "United Kingdom", addl_parents = {"Polynesia"}, british_spelling = true, }, -- commonwealth of the United States ["Puerto Rico"] = { placetype = {"commonwealth", "overseas territory", "territory"}, container = "Hoa Kỳ", addl_parents = {"Caribe"}, divs = {"municipalities"}, }, -- overseas department and region of France ["Réunion"] = { placetype = {"overseas department", "department", "administrative region", "region"}, container = "Pháp", divs = {"communes"}, addl_parents = {"châu Phi"}, british_spelling = true, }, -- special municipality of the Netherlands ["Saba"] = { placetype = {"special municipality", "municipality", "overseas territory", "territory"}, container = "Hà Lan", addl_parents = {"Caribe"}, is_city = true, british_spelling = true, }, -- overseas collectivity of France ["Saint Barthélemy"] = { placetype = {"overseas collectivity", "collectivity"}, container = "Pháp", addl_parents = {"Caribe"}, british_spelling = true, }, -- British Overseas Territory ["Saint Helena, Ascension and Tristan da Cunha"] = { placetype = {"overseas territory", "territory"}, container = "United Kingdom", divs = {{type = "constituent parts", container_parent_type = false}}, addl_parents = {"Atlantic Ocean", "châu Phi"}, british_spelling = true, }, -- constituent parts of the combined oveseas territory ["Ascension Island"] = { placetype = {"constituent part", "territory", "island"}, container = {key = "Saint Helena, Ascension and Tristan da Cunha", placetype = "overseas territory"}, addl_parents = {"Atlantic Ocean"}, overriding_bare_label_parents = {}, no_container_cat = false, no_container_parent = false, no_auto_augment_container = false, }, ["Saint Helena"] = { placetype = {"constituent part", "territory", "island"}, container = {key = "Saint Helena, Ascension and Tristan da Cunha", placetype = "overseas territory"}, addl_parents = {"Atlantic Ocean"}, overriding_bare_label_parents = {}, no_container_cat = false, no_container_parent = false, no_auto_augment_container = false, }, ["Tristan da Cunha"] = { placetype = {"constituent part", "territory", "archipelago"}, container = {key = "Saint Helena, Ascension and Tristan da Cunha", placetype = "overseas territory"}, addl_parents = {"Atlantic Ocean"}, overriding_bare_label_parents = {}, no_container_cat = false, no_container_parent = false, no_auto_augment_container = false, }, -- overseas collectivity of France ["Saint Martin"] = { placetype = {"overseas collectivity", "collectivity"}, container = "Pháp", addl_parents = {"Caribe"}, british_spelling = true, }, -- overseas collectivity of France ["Saint Pierre and Miquelon"] = { placetype = {"overseas collectivity", "collectivity"}, container = "Pháp", divs = {"communes"}, addl_parents = {"Bắc Mỹ"}, british_spelling = true, }, -- special municipality of the Netherlands ["Sint Eustatius"] = { placetype = {"special municipality", "municipality", "overseas territory", "territory"}, container = "Hà Lan", addl_parents = {"Caribe"}, is_city = true, british_spelling = true, }, -- constituent country of the Netherlands ["Sint Maarten"] = { placetype = {"constituent country", "quốc gia"}, container = "Hà Lan", addl_parents = {"Caribe"}, british_spelling = true, }, -- de-facto independent state, internationally recognized as part of Somalia ["Somaliland"] = { placetype = {"unrecognized country", "quốc gia"}, addl_parents = {"Somalia", "châu Phi"}, keydesc = "the de-facto independent state of [[Somaliland]], internationally recognized as part of the country of [[Somalia]]", british_spelling = true, }, -- British Overseas Territory -- FIXME: We should form the group "South Georgia and the South Sandwich Islands" like we did for -- "Saint Helena, Ascension and Tristan da Cunha". ["South Georgia"] = { placetype = {"overseas territory", "territory"}, container = "United Kingdom", addl_parents = {"Atlantic Ocean"}, british_spelling = true, }, -- de-facto independent state, internationally recognized as part of Georgia ["South Ossetia"] = { placetype = {"unrecognized country", "quốc gia"}, addl_parents = {"Georgia", "châu Âu", "châu Á"}, keydesc = "the de-facto independent state of [[South Ossetia]], internationally recognized as part of the country of [[Georgia]]", british_spelling = true, }, -- British Overseas Territory ["South Sandwich Islands"] = { the = true, placetype = {"overseas territory", "territory"}, container = "United Kingdom", addl_parents = {"Atlantic Ocean"}, wp = true, wpcat = "South Georgia and the South Sandwich Islands", british_spelling = true, }, -- Norwegian unincorporated area ["Svalbard"] = { placetype = {"unincorporated area", "dependent territory", "territory", "archipelago"}, container = "Na Uy", addl_parents = {"châu Âu"}, british_spelling = true, }, -- dependent territory of New Zealand ["Tokelau"] = { placetype = {"dependent territory", "territory"}, container = "New Zealand", addl_parents = {"Polynesia"}, british_spelling = true, }, -- de-facto independent state, internationally recognized as part of Moldova ["Transnistria"] = { placetype = {"unrecognized country", "quốc gia"}, addl_parents = {"Moldova", "châu Âu"}, keydesc = "the de-facto independent state of [[Transnistria]], internationally recognized as part of [[Moldova]]", british_spelling = true, }, -- British Overseas Territory ["Turks and Caicos Islands"] = { the = true, placetype = {"overseas territory", "territory"}, container = "United Kingdom", addl_parents = {"Caribe"}, british_spelling = true, }, -- unincorporated territory of the United States ["United States Minor Outlying Islands"] = { the = true, placetype = {"unincorporated territory", "overseas territory", "territory"}, container = "Hoa Kỳ", addl_parents = {"Islands", "Micronesia", "Polynesia", "Caribe"}, }, -- FIXME: We should add entries for the other minor outlying islands. -- Baker Island (Oceania) -- Howland Island (Oceania) -- Jarvis Island (Oceania) -- Johnston Atoll (Oceania) -- Kingman Reef (Oceania) -- Midway Atoll (Oceania) -- Navassa Island (Caribbean) -- Palmyra Atoll (Oceania) -- Wake Island (Oceania) ["Wake Island"] = { placetype = {"unincorporated territory", "overseas territory", "territory"}, container = "Hoa Kỳ", addl_parents = {"Micronesia"}, }, -- unincorporated territory of the United States ["United States Virgin Islands"] = { the = true, placetype = {"unincorporated territory", "overseas territory", "territory"}, container = "Hoa Kỳ", addl_parents = {"Caribe"}, }, ["U.S. Virgin Islands"] = {alias_of = "United States Virgin Islands", display = true, the = true}, ["US Virgin Islands"] = {alias_of = "United States Virgin Islands", display = true, the = true}, -- overseas collectivity of France ["Wallis and Futuna"] = { placetype = {"overseas collectivity", "collectivity"}, container = "Pháp", addl_parents = {"Polynesia"}, british_spelling = true, }, } export.country_like_entities_group = { -- don't do any transformations between key and placename; in particular, don't chop off anything from -- "Saint Helena, Ascension and Tristan da Cunha". key_to_placename = false, placename_to_key = false, canonicalize_key_container = make_canonicalize_key_container(nil, "quốc gia"), default_overriding_bare_label_parents = {"country-like entities"}, default_no_container_cat = true, default_no_container_parent = true, -- These entities often aren't really part of their container; a village in Wallis and Futuna (an overseas -- collectivity of France in Polynesia), for example, shouldn't be treated as a village in France, nor as a village -- in Europe. default_no_auto_augment_container = true, data = export.country_like_entities, } -- Former countries and such; we don't create "Cities in ..." categories because they don't exist anymore export.former_countries = { -- de-facto independent state of Armenian ethnicity, internationally recognized as part of Azerbaijan -- (also known as Nagorno-Karabakh) -- NOTE: Formerly listed Armenia as a parent; this seems politically non-neutral so I've taken it out. ["Artsakh"] = { placetype = {"unrecognized country", "quốc gia"}, addl_parents = {"Azerbaijan", "châu Âu", "châu Á"}, keydesc = "the former de-facto independent state of [[Artsakh]], internationally recognized as part of [[Azerbaijan]]", british_spelling = true, }, ["Nagorno-Karabakh"] = {alias_of = "Artsakh"}, ["Czechoslovakia"] = {container = "châu Âu", british_spelling = true}, ["East Germany"] = {container = "châu Âu", addl_parents = {"Đức"}, british_spelling = true}, ["North Vietnam"] = {container = "châu Á", addl_parents = {"Vietnam"}}, ["Persia"] = {placetype = {"empire", "quốc gia"}, container = "châu Á", divs = {"provinces"}}, ["Byzantine Empire"] = { the = true, placetype = {"empire", "quốc gia"}, container = {"châu Âu", "châu Phi", "châu Á"}, addl_parents = {"Ancient Europe", "Ancient Near East"}, divs = { "provinces", "themes", }}, ["Roman Empire"] = { the = true, placetype = {"empire", "quốc gia"}, container = {"châu Âu", "châu Phi", "châu Á"}, addl_parents = {"Rome"}, divs = { "provinces", {type = "FORMER provinces", cat_as = "provinces"}, }}, ["Việt Nam Cộng hòa"] = {container = "châu Á", commonscat = "South Vietnam", addl_parents = {"Việt Nam"}}, ["Soviet Union"] = { the = true, container = {"châu Âu", "châu Á"}, divs = {"republics", "autonomous republics"}, british_spelling = true}, ["West Germany"] = {container = "châu Âu", addl_parents = {"Đức"}, british_spelling = true}, ["Yugoslavia"] = {container = "châu Âu", divs = {"districts"}, keydesc = "the former [[Kingdom of Yugoslavia]] (1918–1943) or the former [[Socialist Federal Republic of Yugoslavia]] (1943–1992)", british_spelling = true}, } export.former_countries_group = { canonicalize_key_container = canonicalize_continent_container, default_overriding_bare_label_parents = {"former countries and country-like entities"}, default_is_former_place = true, default_placetype = "quốc gia", default_no_container_cat = true, default_no_container_parent = true, -- No need to augment country holonyms with continents; not needed for disambiguation. default_no_auto_augment_container = true, data = export.former_countries, } ----------------------------------------------------------------------------------- -- Subpolity tables -- ----------------------------------------------------------------------------------- export.australia_states_and_territories = { ["Lãnh thổ Thủ đô Úc, Úc"] = {placetype = "territory"}, ["Jervis Bay Territory, Úc"] = {placetype = "territory"}, ["New South Wales, Úc"] = {}, ["Northern Territory, Úc"] = {placetype = "territory"}, ["Queensland, Úc"] = {}, ["South Australia, Úc"] = {}, ["Tasmania, Úc"] = {}, ["Victoria, Úc"] = {}, ["Western Australia, Úc"] = {}, } -- states and territories of Australia export.australia_group = { default_container = "Úc", default_placetype = "state", default_divs = "local government areas", data = export.australia_states_and_territories, } export.austria_states = { ["Vienna, Austria"] = {}, ["Lower Austria, Austria"] = {}, ["Upper Austria, Austria"] = {}, ["Styria, Austria"] = {}, ["Tyrol, Austria"] = {wp = "Tyrol (state)"}, ["Carinthia, Austria"] = {}, ["Salzburg, Austria"] = {wp = "Salzburg (state)"}, ["Vorarlberg, Austria"] = {}, ["Burgenland, Austria"] = {}, } -- states of Austria export.austria_group = { default_container = "Áo", default_placetype = "state", default_divs = "municipalities", data = export.austria_states, } export.bangladesh_divisions = { ["Barisal Division, Bangladesh"] = {}, ["Chittagong Division, Bangladesh"] = {}, ["Dhaka Division, Bangladesh"] = {}, ["Khulna Division, Bangladesh"] = {}, ["Mymensingh Division, Bangladesh"] = {}, ["Rajshahi Division, Bangladesh"] = {}, ["Rangpur Division, Bangladesh"] = {}, ["Sylhet Division, Bangladesh"] = {}, } -- divisions of Bangladesh export.bangladesh_group = { key_to_placename = make_key_to_placename(", Bangladesh$", " Division$"), placename_to_key = make_placename_to_key(", Bangladesh", " Division"), default_container = "Bangladesh", default_placetype = "division", default_divs = "districts", data = export.bangladesh_divisions, } export.brazil_states = { ["Acre, Brazil"] = {wp = "%l (state)"}, ["Alagoas, Brazil"] = {}, ["Amapá, Brazil"] = {}, ["Amazonas, Brazil"] = {wp = "%l (Brazilian state)"}, ["Bahia, Brazil"] = {}, ["Ceará, Brazil"] = {}, ["Distrito Federal, Brazil"] = {wp = "Federal District (Brazil)"}, ["Espírito Santo, Brazil"] = {}, ["Goiás, Brazil"] = {}, ["Maranhão, Brazil"] = {}, ["Mato Grosso, Brazil"] = {}, ["Mato Grosso do Sul, Brazil"] = {}, ["Minas Gerais, Brazil"] = {}, ["Pará, Brazil"] = {}, ["Paraíba, Brazil"] = {}, ["Paraná, Brazil"] = {wp = "%l (state)"}, ["Pernambuco, Brazil"] = {}, ["Piauí, Brazil"] = {}, ["Rio de Janeiro, Brazil"] = {wp = "%l (state)"}, ["Rio Grande do Norte, Brazil"] = {}, ["Rio Grande do Sul, Brazil"] = {}, ["Rondônia, Brazil"] = {}, ["Roraima, Brazil"] = {}, ["Santa Catarina, Brazil"] = {wp = "%l (state)"}, ["São Paulo, Brazil"] = {wp = "%l (state)"}, ["Sergipe, Brazil"] = {}, ["Tocantins, Brazil"] = {}, } -- states of Brazil export.brazil_group = { default_container = "Brazil", default_placetype = "state", default_divs = "municipalities", data = export.brazil_states, } -- provinces (a.k.a. oblasts) of Bulgaria export.bulgaria_provinces = { ["Blagoevgrad Province, Bulgaria"] = {}, ["Burgas Province, Bulgaria"] = {}, ["Dobrich Province, Bulgaria"] = {}, ["Gabrovo Province, Bulgaria"] = {}, ["Haskovo Province, Bulgaria"] = {}, ["Kardzhali Province, Bulgaria"] = {}, ["Kyustendil Province, Bulgaria"] = {}, ["Lovech Province, Bulgaria"] = {}, ["Montana Province, Bulgaria"] = {}, ["Pazardzhik Province, Bulgaria"] = {}, ["Pernik Province, Bulgaria"] = {}, ["Pleven Province, Bulgaria"] = {}, ["Plovdiv Province, Bulgaria"] = {}, ["Razgrad Province, Bulgaria"] = {}, ["Ruse Province, Bulgaria"] = {}, ["Shumen Province, Bulgaria"] = {}, ["Silistra Province, Bulgaria"] = {}, ["Sliven Province, Bulgaria"] = {}, ["Smolyan Province, Bulgaria"] = {}, ["Sofia City Province, Bulgaria"] = {}, ["Sofia Province, Bulgaria"] = {}, ["Stara Zagora Province, Bulgaria"] = {}, ["Targovishte Province, Bulgaria"] = {}, ["Varna Province, Bulgaria"] = {}, ["Veliko Tarnovo Province, Bulgaria"] = {}, ["Vidin Province, Bulgaria"] = {}, ["Vratsa Province, Bulgaria"] = {}, ["Yambol Province, Bulgaria"] = {}, } export.bulgaria_group = { key_to_placename = make_key_to_placename(", Bulgaria$", " Province$"), placename_to_key = make_placename_to_key(", Bulgaria", " Province"), default_container = "Bulgaria", --== source: https://en.wikipedia.org/wiki/NUTS_statistical_regions_of_Bulgaria == divs = {"regions", "planning regions", "provinces", "municipalities", "settlements"}, default_placetype = "province", data = export.bulgaria_provinces, } export.canada_provinces_and_territories = { ["Alberta, Canada"] = {divs = { {type = "municipal districts", container_parent_type = "rural municipalities"}, }}, ["British Columbia, Canada"] = {divs = {type = "regional districts", container_parent_type = false}, "regional municipalities", }, ["Manitoba, Canada"] = {divs = {"rural municipalities"}}, ["New Brunswick, Canada"] = {divs = {"counties", "parishes", {type = "civil parishes", cat_as = "parishes"}}}, ["Newfoundland and Labrador, Canada"] = {}, ["Northwest Territories, Canada"] = {the = true, placetype = "territory"}, ["Nova Scotia, Canada"] = {divs = {"counties", "regional municipalities"}}, ["Nunavut, Canada"] = {placetype = "territory"}, ["Ontario, Canada"] = {divs = {"counties", "regional municipalities", {type = "townships", prep = "in"}}}, ["Prince Edward Island, Canada"] = {divs = {"counties", "parishes", "rural municipalities"}}, ["Saskatchewan, Canada"] = {divs = {"rural municipalities"}}, ["Quebec, Canada"] = {divs = { "counties", {type = "regional county municipalities", container_parent_type = "regional municipalities"}, -- administrative regions have an official (but non-governmental) function but there don't appear to be any -- equivalent regions elsewhere in Canada, so disable the [[Category:Regions of Canada]] grouping {type = "regions", container_parent_type = false}, {type = "townships", prep = "in"}, {type = "parish municipalities", cat_as = {{type = "parishes", container_parent_type = "counties"}, "municipalities"}}, {type = "township municipalities", cat_as = {{type = "townships", prep = "in"}, "municipalities"}}, {type = "village municipalities", cat_as = {{type = "villages", prep = "in"}, "municipalities"}}, }}, ["Yukon, Canada"] = {placetype = "territory"}, ["Yukon Territory, Canada"] = {alias_of = "Yukon, Canada"}, } -- provinces and territories of Canada export.canada_group = { default_container = "Canada", default_placetype = "province", data = export.canada_provinces_and_territories, } export.china_provinces_and_autonomous_regions = { -- direct-administered municipalities are not here but below under prefecture-level cities ["Anhui, China"] = {}, ["Fujian, China"] = {}, ["Fuchien, China"] = {alias_of = "Fujian, China", display = true}, ["Gansu, China"] = {}, ["Guangdong, China"] = {}, ["Guangxi, China"] = {placetype = "autonomous region"}, ["Guizhou, China"] = {}, ["Hainan, China"] = {}, ["Hebei, China"] = {}, ["Heilongjiang, China"] = {}, ["Henan, China"] = {}, ["Hubei, China"] = {}, ["Hunan, China"] = {}, ["Inner Mongolia, China"] = {placetype = "autonomous region"}, ["Jiangsu, China"] = {}, ["Jiangxi, China"] = {}, ["Jilin, China"] = {}, ["Liaoning, China"] = {}, ["Ningxia, China"] = {placetype = "autonomous region"}, ["Qinghai, China"] = {}, ["Shaanxi, China"] = {}, ["Shandong, China"] = {}, ["Shanxi, China"] = {}, ["Sichuan, China"] = {}, ["Tibet, China"] = {placetype = "autonomous region", wp = "Tibet Autonomous Region"}, ["Xinjiang, China"] = {placetype = "autonomous region"}, ["Yunnan, China"] = {}, ["Zhejiang, China"] = {}, } -- provinces and autonomous regions of China export.china_group = { default_container = "Trung Quốc", default_placetype = "province", default_divs = { "prefectures", "prefecture-level cities", "districts", "subdistricts", "townships", {type = "counties", cat_as = "counties and county-level cities"}, {type = "county-level cities", cat_as = "counties and county-level cities"}, }, data = export.china_provinces_and_autonomous_regions, } export.china_prefecture_level_cities = { -- In China, a "prefecture-level city" is not a city in any real sense. It is rather a prefecture, which is an -- administrative unit smaller than a province but bigger than a county, which is administratively controlled by -- the chief city of the prefecture (which bears the same name as the prefecture), in a unified government. Prior -- to the mid-1980's, in fact, prefecture-level cities *were* prefectures, and a few of them (especially in the -- western portion of China) have not yet been converted. Generally a given province is entirely tiled by -- prefecture-level cities, another indication that they should be treated as prefectures and not cities per se. -- Yet another indication is that prefecture-level cities can contain counties and county-level cities (which, much -- like prefecture-level cities, are effectively counties surrounding a chief city of the county, again which bears -- the same name as the county-level city). -- -- For this reason, we treat prefecture-level cities as non-city political divisions, and separately enumerate the -- most populous so we can separately categorize districts and counties under them instead of lumping them at the -- province level. -- -- Note also that China separately distinguishes "urban area" from "metro area". Sometimes the two figures are -- identical but sometimes the metro area is larger (and very occasionally smaller, which I assume is an error). I'm -- guessing that the "urban area" is the contiguous urban area over a certain density while the metro area includes -- all urban areas above a certain density; when the latter is greater, it's because of satellite cities in the -- metro area separated by suburban/exurban or rural land. -- At first I chose all prefecture/province-level cities with a total prefecture/province-level population of at -- least 6,000,000 per the 2020 census with data taken from https://www.citypopulation.de/en/china/admin/ (a total -- of 67, including the four direct-administered municipalities), and also chose all prefecture/province-level -- cities whose "urban population" was at least 2,000,000 per the 2020 census with data taken from Wikipedia -- [[w:List of cities in China by population#Cities and towns by population]] (a total of 61 cities; if we cut off -- at 1.5 million we'd have 84 cities, and if we cut off at 1 million we'd have 105 cities). Merging them produces -- 87 cities. Note that this leaves off a few well-known cities (Guilin, Qiqihar, Kashgar, Lhasa, ...) but includes -- a lot of obscure cities. -- -- At a later date I added all cities from citypopulation.de whose "urban" population per the 2020 China census was -- >= 1 million, and then finally added all urban agglomerations from citypopulation.de whose 2025-01-01 estimate -- was >= 1 million. These are sorted below by the urban agglomeration value (which is generally of the "adm-urb" = -- "administrative area (urban population)" type) and sometimes groups nearby cities into a single agglomeration -- (most notably in the case of the Pearl River Delta, grouped under Guangzhou with an agglomeration population of -- 72,700,000 but including a large number of nearby large cities in the agglomeration (although for some reason not -- Hong Kong, maybe due to the administrative issues involved). In addition, citypopulation.de includes divisions -- under a prefecture-level city if they are city-like and have an agglomeration population of at least 1 million; -- this includes several county-level cities, one county and one district (Wanzhou, a "district" of Chongqing -- despite being 142 miles away). None of the county-level cities or counties have districts under them, only -- subdistricts, towns and townships. ["Guangzhou"] = {container = "Guangdong"}, -- 18.7 prefectural, 18.8 urban; sub-provincial city; 16.097 urban (72.700 adm-urb including Dongguan, Foshan, Huizhou, Jiangmen, Shenzhen, Zhongshan) per citypopulation.de ["Dongguan"] = {container = "Guangdong"}, -- 10.5 prefectural, 10.5 urban; 9.645 per citypopulation.de; included by citypopulation.de in Guangzhou agglomeration ["Foshan"] = {container = "Guangdong"}, -- 9.5 prefectural, 9.5 urban; 9.043 per citypopulation.de; included by citypopulation.de in Guangzhou agglomeration ["Huizhou"] = {container = "Guangdong"}, -- 6.0 prefectural, 2.5 urban; 2.900 per citypopulation.de; included by citypopulation.de in Guangzhou agglomeration ["Jiangmen"] = {container = "Guangdong"}, -- 4.798 prefectural, 2.7 urban; 1.795 per citypopulation.de; included by citypopulation.de in Guangzhou agglomeration ["Shenzhen"] = {container = "Guangdong"}, -- 17.5 prefectural, 14.7 urban; sub-provincial city; 17.445 per citypopulation.de; included by citypopulation.de in Guangzhou agglomeration ["Zhongshan"] = {container = "Guangdong"}, -- 4.418 prefectural, 4.4 urban; 3.842 per citypopulation.de; included by citypopulation.de in Guangzhou agglomeration ["Shanghai"] = {placetype = {"direct-administered municipality", "municipality", "thành phố"}}, -- 24.9 prefectural, 29.9 urban; 21.910 urban (41.600 adm-urb including Changshu, Changzhou, Suzhou, Wuxi) per citypopulation.de ["Changshu"] = {container = "Jiangsu"}, -- 1.231 urban per citypopulation.de; included by citypopulation.de in Shanghai agglomeration -- NOTE: Not to be confused with Cangzhou in Hebei ["Changzhou"] = {container = "Jiangsu"}, -- 5.278 prefectural, 3.6 urban; 3.187 urban per citypopulation.de; included by citypopulation.de in Shanghai agglomeration -- NOTE: There is also a prefecture-level city Suzhou in Anhui with 5.3 million prefectural inhabitants ["Suzhou"] = {container = "Jiangsu"}, -- 12.8 prefectural, 4.3 urban; 5.893 urban per citypopulation.de; included by citypopulation.de in Shanghai agglomeration ["Wuxi"] = {container = "Jiangsu"}, -- 7.5 prefectural, 3.3 urban; 3.957 per citypopulation.de; included by citypopulation.de in Shanghai agglomeration ["Beijing"] = {placetype = {"direct-administered municipality", "municipality", "thành phố"}}, -- 21.9 prefectural, 21.9 urban; 18.961 urban (21.500 adm-urb) per citypopulation.de ["Chengdu"] = {container = "Sichuan"}, -- 20.9 prefectural, 16.9 urban; sub-provincial city; 13.568 urban (18.100 adm-urb) per citypopulation.de ["Xiamen"] = {container = "Fujian"}, -- 5.163 prefectural, 5.2 urban; sub-provincial city; 4.617 urban (15.400 adm-urb including Jinjiang, Quanzhou, Putian) per citypopulation.de ["Jinjiang"] = {container = "Fujian"}, -- 1.416 urban per citypopulation.de; included by citypopulation.de in Xiamen agglomeration ["Quanzhou"] = {container = "Fujian"}, -- 8.8 prefectural, 1.7 urban (6.7 metro); 1.469 urban per citypopulation.de; included by citypopulation.de in Xiamen agglomeration ["Putian"] = {container = "Fujian"}, -- 3.210 prefectural, 2.0 urban; 1.539 urban per citypopulation.de; included by citypopulation.de in Xiamen agglomeration ["Hangzhou"] = {container = "Zhejiang"}, -- 11.9 prefectural, 10.7 urban; sub-provincial city; 9.236 urban (14.600 adm-urb including Shaoxing) per citypopulation.de ["Shaoxing"] = {container = "Zhejiang"}, -- 5.270 prefectural, 2.5 urban; 2.333 urban per citypopulation.de; included by citypopulation.de in Hangzhou agglomeration ["Xi'an"] = {container = "Shaanxi"}, -- 12.1 prefectural, 11.9 urban; sub-provincial city; 9.393 urban (13.400 adm-urb including Xianyang) per citypopulation.de ["Xianyang"] = {container = "Shaanxi"}, -- 1.193 urban per citypopulation.de; included by citypopulation.de in Xi'an agglomeration ["Chongqing"] = {placetype = {"direct-administered municipality", "municipality", "thành phố"}}, -- 32.1 prefectural, 16.9 urban; 9.581 urban (12.900 adm-urb) per citypopulation.de ["Wuhan"] = {container = "Hubei"}, -- 12.4 prefectural, 12.3 urban; sub-provincial city; 10.495 urban (12.600 adm-urb) per citypopulation.de ["Tianjin"] = {placetype = {"direct-administered municipality", "municipality", "thành phố"}}, -- 13.9 prefectural, 13.9 urban; 11.052 urban (11.700 adm-urb) per citypopulation.de ["Changsha"] = {container = "Hunan"}, -- 10.0 prefectural, 6.0 urban; 5.630 urban (11.500 adm-urb including Xiangtan, Zhuzhou) per citypopulation.de -- Changsha County -- 1.024 urban per citypopulation.de ["Zhuzhou"] = {container = "Hunan"}, -- 1.510 urban per citypopulation.de; included by citypopulation.de in Changsha agglomeration ["Zhengzhou"] = {container = "Henan"}, -- 12.6 prefectural, 6.7 urban; 6.461 urban (10.300 adm-urb) per citypopulation.de ["Nanjing"] = {container = "Jiangsu"}, -- 9.3 prefectural, 9.3 urban; sub-provincial city; 7.520 urban (9.500 adm-urb including Ma'anshan) per citypopulation.de ["Shenyang"] = {container = "Liaoning"}, -- 9.1 prefectural, 7.9 urban; sub-provincial city; 7.026 urban (8.800 adm-urb including Fushun) per citypopulation.de ["Fushun"] = {container = "Liaoning"}, -- 1.229 urban per citypopulation.de; included by citypopulation.de in Shenyang agglomeration ["Hefei"] = {container = "Anhui"}, -- 9.4 prefectural, 4.2 urban; 5.056 urban (8.200 adm-urb) per citypopulation.de ["Shantou"] = {container = "Guangdong"}, -- 5.502 prefectural, 4.3 urban; 3.839 urban (8.050 adm-urb including Chaozhou, Jieyang, Puning) per citypopulation.de ["Chaozhou"] = {container = "Guangdong"}, -- 1.254 urban per citypopulation.de; included by citypopulation.de in Shantou agglomeration ["Jieyang"] = {container = "Guangdong"}, -- 1.243 urban per citypopulation.de; included by citypopulation.de in Shantou agglomeration ["Qingdao"] = {container = "Shandong"}, -- 10.1 prefectural, 7.1 urban; sub-provincial city; 6.165 urban (7.700 adm-urb) per citypopulation.de ["Ningbo"] = {container = "Zhejiang"}, -- 9.4 prefectural, 5.1 urban; sub-provincial city; 3.731 urban (7.600 adm-urb including Cixi, Yuyao) per citypopulation.de ["Cixi"] = {container = "Zhejiang"}, -- 1.458 urban per citypopulation.de; included by citypopulation.de in Ningbo agglomeration ["Yuyao"] = {container = "Zhejiang"}, -- 1.014 urban per citypopulation.de; included by citypopulation.de in Ningbo agglomeration -- Hong Kong 7.500 agglomeration per citypopulation.de 2025-01-01 estimate including Kowloon, Victoria ["Wenzhou"] = {container = "Zhejiang"}, -- 9.6 prefectural, 3.6 urban; 2.582 urban (7.000 adm-urb including Rui'an, Cangnan, Pingyang) per citypopulation.de -- Rui'an is a "county-level city" of the "prefecture-level city" of Wenzhou but in fact is 19 miles away from Wenzhou city proper (urban core to urban core). ["Rui'an"] = {placetype = "county-level city", container = {key = "Wenzhou", placetype = "prefecture-level city"}, divs = {"subdistricts", "townships"}}, -- 1.013 urban per citypopulation.de; included by citypopulation.de in Wenzhou agglomeration ["Kunming"] = {container = "Yunnan"}, -- 8.5 prefectural, 6.0 urban; 5.273 urban (6.800 adm-urb) per citypopulation.de -- includes Láiwú city ["Jinan"] = {container = "Shandong", wp = "%l, %c"}, -- 9.2 prefectural, 8.4 urban; sub-provincial city; 5.648 urban (6.750 adm-urb) per citypopulation.de -- includes Xīnjí city ["Shijiazhuang"] = {container = "Hebei"}, -- 11.2 prefectural, 4.1 urban; 5.090 urban (6.450 adm-urb) per citypopulation.de ["Taiyuan"] = {container = "Shanxi"}, -- 5.304 prefectural, 4.5 urban; 4.304 urban (6.150 adm-urb) per citypopulation.de ["Harbin"] = {container = "Heilongjiang"}, -- 10.0 prefectural, 7.0 urban; sub-provincial city; 5.243 urban (5.550 adm-urb) per citypopulation.de ["Nanning"] = {container = {key = "Guangxi, China", placetype = "autonomous region"}}, -- 8.7 prefectural, 3.8 urban; 4.583 urban (5.550 adm-urb) per citypopulation.de ["Dalian"] = {container = "Liaoning"}, -- 7.5 prefectural, 5.7 urban; sub-provincial city; 4.914 urban (5.400 adm-urb) per citypopulation.de ["Guiyang"] = {container = "Guizhou"}, -- 5.987 prefectural, 3.5 urban; 4.021 urban (5.300 adm-urb) per citypopulation.de ["Changchun"] = {container = "Jilin"}, -- 9.1 prefectural, 5.7 urban; sub-provincial city; 4.557 urban (5.200 adm-urb) per citypopulation.de ["Nanchang"] = {container = "Jiangxi"}, -- 6.3 prefectural, 3.6 (3.9?) urban, 5.3 metro; 3.519 urban (5.150 adm-urb) per citypopulation.de ["Ürümqi"] = {container = {key = "Xinjiang, China", placetype = "autonomous region"}}, -- 4.054 prefectural, 4.3 urban; 3.843 urban (5.000 adm-urb) per citypopulation.de ["Urumqi"] = {alias_of = "Ürümqi", display = true}, ["Fuzhou"] = {container = "Fujian"}, -- 8.3 prefectural, 4.1 urban; 3.723 urban (4.775 adm-urb) per citypopulation.de ["Linyi"] = {container = "Shandong"}, -- 11.0 prefectural, 2.3 urban; 2.744 urban (4.650 adm-urb) per citypopulation.de ["Zibo"] = {container = "Shandong"}, -- 4.704 prefectural, 2.6 urban; 2.750 urban (3.975 adm-urb) per citypopulation.de ["Luoyang"] = {container = "Henan"}, -- 7.1 prefectural, 2.4 urban; 2.231 urban (3.750 adm-urb) per citypopulation.de ["Lanzhou"] = {container = "Gansu"}, -- 4.359 prefectural, 3.1 urban; 3.013 urban (3.575 adm-urb) per citypopulation.de ["Nantong"] = {container = "Jiangsu"}, -- 7.7 prefectural, 2.3 urban; 2.988 urban (3.475 adm-urb) citypopulation.de ["Weifang"] = {container = "Shandong"}, -- 9.4 prefectural, 2.7 urban; 1.998 urban (3.325 adm-urb) per citypopulation.de ["Jiangyin"] = {container = "Jiangsu"}, -- 1.331 urban (3.200 adm-urb including Zhangjiagang) per citypopulation.de ["Zhangjiagang"] = {container = "Jiangsu"}, -- 1.056 urban per citypopulation.de; included in Jiangyin figures ["Xuzhou"] = {container = "Jiangsu"}, -- 9.1 prefectural, 2.6 urban; 2.846 urban (3.150 adm-urb) per citypopulation.de ["Handan"] = {container = "Hebei"}, -- 9.4 prefectural, 2.8 urban; 2.095 urban (2.925 adm-urb) per citypopulation.de ["Hohhot"] = {container = {key = "Inner Mongolia, China", placetype = "autonomous region"}}, -- 3.446 prefectural, 2.7 urban; 2.373 urban (2.850 adm-urb) per citypopulation.de ["Haikou"] = {container = "Hainan"}, -- 2.873 prefectural, 2.3 urban; 2.349 urban (2.800 adm-urb) per citypopulation.de ["Tangshan"] = {container = "Hebei"}, -- 7.7 prefectural, 3.4 urban; 2.550 urban (2.750 adm-urb) per citypopulation.de ["Xinxiang"] = {container = "Henan"}, -- 6.3 prefectural, 1.2 urban, 2.7 metro; 1.271 urban (2.700 adm-urb) per citypopulation.de ["Yiwu"] = {container = "Zhejiang"}, -- 1.481 urban (2.700 adm-urb) per citypopulation.de ["Zhuhai"] = {container = "Guangdong"}, -- 2.439 prefectural, 2.4 urban; 2.207 urban (2.675 adm-urb) per citypopulation.de ["Taizhou, Zhejiang"] = {container = "Zhejiang"}, -- 6.6 prefectural, 1.6 urban; 1.486 urban (2.625 adm-urb) per citypopulation.de ["Taizhou"] = {alias_of = "Taizhou, Zhejiang"}, ["Yantai"] = {container = "Shandong"}, -- 7.1 prefectural, 2.5 urban; 2.312 urban (2.550 adm-urb) per citypopulation.de ["Yinchuan"] = {container = {key = "Ningxia, China", placetype = "autonomous region"}}, -- 1.663 urban (2.525 adm-urb) per citypopulation.de ["Liuzhou"] = {container = {key = "Guangxi, China", placetype = "autonomous region"}}, -- 4.157 prefectural, 2.2 urban; 2.205 urban (2.500 adm-urb) per citypopulation.de ["Anshan"] = {container = "Liaoning"}, -- 1.480 urban (2.350 adm-urb including Liáoyáng) per citypopulation.de ["Yangzhou"] = {container = "Jiangsu"}, -- 2.067 urban (2.300 adm-urb) per citypopulation.de ["Jiaxing"] = {container = "Zhejiang"}, -- 1.188 urban (2.275 adm-urb) per citypopulation.de ["Xining"] = {container = "Qinghai"}, -- 1.677 urban (2.250 adm-urb) per citypopulation.de -- includes Dìngzhōu city and Xióngān Xīnqū ["Baoding"] = {container = "Hebei"}, -- 11.5 prefectural, 2.0 urban; 1.940 urban (2.225 adm-urb) per citypopulation.de ["Baotou"] = {container = {key = "Inner Mongolia, China", placetype = "autonomous region"}}, -- 2.709 prefectural, 2.2 urban; 2.104 urban (2.200 adm-urb) per citypopulation.de ["Ganzhou"] = {container = "Jiangxi"}, -- 9.0 prefectural, 1.6 urban; 1.778 urban (2.150 adm-urb) per citypopulation.de ["Pingdingshan"] = {container = "Henan"}, -- 1.046 urban (2.100 adm-urb) per citypopulation.de ["Zunyi"] = {container = "Guizhou"}, -- 6.6 prefectural, 2.4 urban/metro; 1.675 urban (2.025 adm-urb) per citypopulation.de ["Bengbu"] = {container = "Anhui"}, -- 1.078 urban (2.000 adm-urb) per citypopulation.de ["Datong"] = {container = "Shanxi"}, -- 3.105 prefectural, 2.0 urban; 1.810 urban (2.000 adm-urb) per citypopulation.de ["Anyang"] = {container = "Henan"}, -- 1.188 urban (1.960 adm-urb) per citypopulation.de ["Huai'an"] = {container = "Jiangsu"}, -- 4.556 prefectural, 2.6 urban; 1.805 urban (1.940 adm-urb) per citypopulation.de ["Zaozhuang"] = {container = "Shandong"}, -- 1.350 urban (1.900 adm-urb) per citypopulation.de ["Zhanjiang"] = {container = "Guangdong"}, -- 7.0 prefectural, 1.9 urban; 1.401 urban (1.890 adm-urb) per citypopulation.de ["Huainan"] = {container = "Anhui"}, -- 1.256 urban (1.880 adm-urb) per citypopulation.de ["Jining"] = {container = "Shandong"}, -- 8.4 prefectural, 1.5 urban; 1.700 urban (1.880 adm-urb) per citypopulation.de ["Daqing"] = {container = "Heilongjiang"}, -- 1.604 urban (1.860 adm-urb) per citypopulation.de ["Wuhu"] = {container = "Anhui"}, -- 1.598 urban (1.850 adm-urb) per citypopulation.de ["Guilin"] = {container = {key = "Guangxi, China", placetype = "autonomous region"}}, -- 1.361 urban (1.830 adm-urb) per citypopulation.de ["Mianyang"] = {container = "Sichuan"}, -- 1.549 urban (1.800 adm-urb) per citypopulation.de ["Xiangyang"] = {container = "Hubei"}, -- 1.686 urban (1.800 adm-urb) per citypopulation.de ["Huzhou"] = {container = "Zhejiang"}, -- 1.084 urban (1.750 adm-urb) per citypopulation.de ["Puyang"] = {container = "Henan"}, -- 0.824 urban (1.750 adm-urb) per citypopulation.de ["Shangqiu"] = {container = "Henan"}, -- 7.8 prefectural, 1.9 urban (2.8 metro); 1.031 urban (1.750 adm-urb) per citypopulation.de ["Qinhuangdao"] = {container = "Hebei"}, -- 1.520 urban (1.740 adm-urb) per citypopulation.de ["Xingtai"] = {container = "Hebei"}, -- 7.1 prefectural, 971,000 urban; 1.5 urban (1.700 adm-urb) per citypopulation.de ["Nanyang"] = {container = "Henan", wp = "%l, %c"}, -- 9.7 prefectural, 2.1 urban/metro; 1.481 urban (1.680 adm-urb) per citypopulation.de ["Jiaozuo"] = {container = "Henan"}, -- 0.875 urban (1.640 adm-urb) per citypopulation.de ["Jilin City"] = {container = "Jilin"}, -- 1.509 urban (1.610 adm-urb) per citypopulation.de ["Jilin"] = {alias_of = "Jilin City"}, ["Jinhua"] = {container = "Zhejiang"}, -- 7.1 prefectural, 1.5 urban; 1.041 urban (1.590 adm-urb) per citypopulation.de ["Shangrao"] = {container = "Jiangxi"}, -- 6.5 prefectural, 2.1 urban, 1.3 metro [sic]; 1.342 urban (1.580 adm-urb) per citypopulation.de ["Heze"] = {container = "Shandong"}, -- 8.8 prefectural, 1.3 urban; 1.294 urban (1.570 adm-urb) per citypopulation.de ["Yulin"] = {container = {key = "Guangxi, China", placetype = "autonomous region"}, wp = "%l, %c"}, -- 0.878 urban (1.570 adm-urb) per citypopulation.de ["Tai'an"] = {container = "Shandong"}, -- 1.417 urban (1.560 adm-urb) per citypopulation.de ["Weihai"] = {container = "Shandong"}, -- 1.340 urban (1.510 adm-urb) per citypopulation.de -- Taizhou, Jiangsu would be here (1.490 adm-urb) but moved to china_prefecture_level_cities_2 to avoid clash ["Yancheng"] = {container = "Jiangsu"}, -- 6.7 prefectural, 1.6 urban; 1.353 urban (1.460 adm-urb) per citypopulation.de ["Zhangjiakou"] = {container = "Hebei"}, -- 1.339 urban (1.450 adm-urb) per citypopulation.de ["Maoming"] = {container = "Guangdong"}, -- 6.2 prefectural, 2.5 urban; 1.308 urban (1.440 adm-urb) per citypopulation.de ["Nanchong"] = {container = "Sichuan"}, -- 1.254 urban (1.440 adm-urb) per citypopulation.de ["Fuyang"] = {container = "Anhui", wp = "%l, %c"}, -- 8.2 prefectural, 2.1 urban; 1.191 urban (1.410 adm-urb) per citypopulation.de ["Xuchang"] = {container = "Henan"}, -- 0.850 urban (1.390 adm-urb) per citypopulation.de ["Yichang"] = {container = "Hubei"}, -- 1.284 urban (1.390 adm-urb) per citypopulation.de ["Dazhou"] = {container = "Sichuan"}, -- 1.136 urban (1.380 adm-urb) per citypopulation.de ["Kaifeng"] = {container = "Henan"}, -- 1.194 urban (1.340 adm-urb) per citypopulation.de ["Luzhou"] = {container = "Sichuan"}, -- 1.128 urban (1.340 adm-urb) per citypopulation.de ["Qingyuan"] = {container = "Guangdong"}, -- 1.198 urban (1.340 adm-urb) per citypopulation.de ["Huaibei"] = {container = "Anhui"}, -- 0.831 urban (1.330 adm-urb) per citypopulation.de ["Yibin"] = {container = "Sichuan"}, -- 1.101 urban (1.310 adm-urb) per citypopulation.de ["Lu'an"] = {container = "Anhui"}, -- 1.070 urban (1.300 adm-urb) per citypopulation.de ["Dezhou"] = {container = "Shandong"}, -- 0.843 urban (1.290 adm-urb) per citypopulation.de ["Rizhao"] = {container = "Shandong"}, -- 1.147 urban (1.270 adm-urb) per citypopulation.de ["Changzhi"] = {container = "Shanxi"}, -- 1.047 urban (1.250 adm-urb) per citypopulation.de ["Hengyang"] = {container = "Hunan"}, -- 6.6 prefectural, 1.5 urban; 1.185 urban (1.250 adm-urb) per citypopulation.de ["Jinzhou"] = {container = "Liaoning"}, -- 1.021 urban (1.240 adm-urb) per citypopulation.de ["Liaocheng"] = {container = "Shandong"}, -- 1.020 urban (1.240 adm-urb) per citypopulation.de ["Changde"] = {container = "Hunan"}, -- 1.101 urban (1.230 adm-urb) per citypopulation.de ["Suqian"] = {container = "Jiangsu"}, -- 1.082 urban (1.230 adm-urb) per citypopulation.de ["Xinyang"] = {container = "Henan"}, -- 6.2 prefectural, 1.4 urban/metro; 1.015 urban (1.230 adm-urb) per citypopulation.de ["Baoji"] = {container = "Shaanxi"}, -- 1.108 urban (1.220 adm-urb) per citypopulation.de ["Yueyang"] = {container = "Hunan"}, -- 1.125 urban (1.220 adm-urb) per citypopulation.de ["Zhenjiang"] = {container = "Jiangsu"}, -- 1.124 urban (1.210 adm-urb) per citypopulation.de -- Wanzhou is a "district" of the "direct-administered municipality" of Chongqing but in fact is 142 miles away from Chongqing city proper. ["Wanzhou"] = {placetype = "district", container = {key = "Chongqing", placetype = "direct-administered municipality"}, divs = {"subdistricts", "townships"}, wp = "%l, %c"}, -- 1.078 urban (1.190 adm-urb) per citypopulation.de ["Ulanhad"] = {container = {key = "Inner Mongolia, China", placetype = "autonomous region"}}, -- 1.093 urban (1.180 adm-urb) per citypopulation.de ["Chifeng"] = {alias_of = "Ulanhad"}, ["Ulankhad"] = {alias_of = "Ulanhad", display = true}, ["Ezhou"] = {container = "Hubei"}, -- < 0.750 urban (1.180 adm-urb) per citypopulation.de ["Zhaoqing"] = {container = "Guangdong"}, -- 1.036 urban (1.160 adm-urb) per citypopulation.de ["Lianyungang"] = {container = "Jiangsu"}, -- 4.599 prefectural, 2.0 urban; 1.071 urban (1.150 adm-urb) per citypopulation.de ["Qujing"] = {container = "Yunnan"}, -- 0.976 urban (1.150 adm-urb) per citypopulation.de -- Shuyang is a "county" of the "prefecture-level city" of Suqian but in fact is 38 miles away from Suqian city proper (urban core to urban core). -- The county itself is 37 miles by 34 miles. ["Shuyang"] = {placetype = "county", container = {key = "Suqian", placetype = "prefecture-level city"}, divs = {"subdistricts", "townships"}, wp = "%l County"}, -- 0.986 urban (1.120 adm-urb) per citypopulation.de -- Yongkang is a "county-level city" of the "prefecture-level city" of Jinhua but in fact is 32 miles away from Jinhua city proper (urban core to urban core). ["Yongkang"] = {placetype = "county-level city", container = {key = "Jinhua", placetype = "prefecture-level city"}, divs = {"subdistricts", "townships"}, wp = "%l, Zhejiang"}, -- < 0.750 urban (1.110 adm-urb) per citypopulation.de ["Zhoukou"] = {container = "Henan"}, -- 9.0 prefectural, 721,000 urban (1.6 metro); < 0.750 urban (1.100 adm-urb) per citypopulation.de ["Beihai"] = {container = {key = "Guangxi, China", placetype = "autonomous region"}}, -- < 1 urban (1.090 adm-urb) per citypopulation.de ["Jiujiang"] = {container = "Jiangxi"}, -- < 0.750 urban (1.080 adm-urb) per citypopulation.de ["Shaoyang"] = {container = "Hunan"}, -- 6.6 prefectural, 802,000 urban, 1.4 metro; < 1 urban (1.080 adm-urb) per citypopulation.de ["Chuzhou"] = {container = "Anhui"}, -- < 0.750 urban (1.070 adm-urb) per citypopulation.de ["Hengshui"] = {container = "Hebei"}, -- 0.885 urban (1.070 adm-urb) per citypopulation.de ["Shiyan"] = {container = "Hubei"}, -- 0.955 urban (1.070 adm-urb) per citypopulation.de ["Huludao"] = {container = "Liaoning"}, -- 0.764 urban (1.060 adm-urb) per citypopulation.de ["Dongying"] = {container = "Shandong"}, -- 0.961 urban (1.050 adm-urb) per citypopulation.de ["Guigang"] = {container = {key = "Guangxi, China", placetype = "autonomous region"}}, -- 0.921 urban (1.050 adm-urb) per citypopulation.de -- Liuyang is a "county-level city" of the "prefecture-level city" of Changsha but in fact is 47 miles away from Changsha city proper (urban core to urban core). ["Liuyang"] = {placetype = "county-level city", container = {key = "Changsha", placetype = "prefecture-level city"}, divs = {"subdistricts", "townships"}}, -- 0.886 urban (1.040 adm-urb) per citypopulation.de -- NOTE: Not to be confused with Changzhou in Jiangsu ["Cangzhou"] = {container = "Hebei"}, -- 7.3 prefectural, 621,000 urban; 0.759 urban (1.030 adm-urb) per citypopulation.de ["Liupanshui"] = {container = "Guizhou"}, -- < 0.750 urban (1.030 adm-urb) per citypopulation.de ["Panjin"] = {container = "Liaoning"}, -- 0.980 urban (1.030 adm-urb) per citypopulation.de ["Qiqihar"] = {container = "Heilongjiang"}, -- 1.030 urban (1.030 adm-urb) per citypopulation.de ["Linfen"] = {container = "Shanxi"}, -- < 0.750 urban (1.010 adm-urb) per citypopulation.de -- Tengzhou is a "county-level city" of the "prefecture-level city" of Zaozhuang but in fact is 30 miles away from Zaozhuang city proper (urban core to urban core). ["Tengzhou"] = {placetype = "county-level city", container = {key = "Zaozhuang", placetype = "prefecture-level city"}, divs = {"subdistricts", "townships"}}, -- 0.937 urban (1.010 adm-urb) per citypopulation.de -- 3 extra that got added in earlier incarnations and aren't found in the "major agglomerations of the world" page https://citypopulation.de/en/world/agglomerations/ reference date 2025-01-01 ["Kunshan"] = {container = "Jiangsu"}, -- 1.652 urban (2020 China census) per citypopulation.de ["Zhumadian"] = {container = "Henan"}, -- 7.0 prefectural, 722,000 urban per Wikipedia; 0.754 urban per citypopulation.de ["Bijie"] = {container = "Guizhou"}, -- 6.9 prefectural, ? urban, ? metro (not listed in Wikipedia); < 0.750 urban per citypopulation.de } export.china_prefecture_level_cities_group = { -- don't do any transformations between key and placename; in particular, don't chop off anything from -- "Taizhou, Zhejiang" or "Suzhou, Anhui". key_to_placename = false, placename_to_key = false, -- don't add ", China" to make the key default_container = "Trung Quốc", canonicalize_key_container = make_canonicalize_key_container(", China", "province"), -- Prefecture-level cities aren't really cities but allow them to be identified that way, as many people -- don't understand how Chinese administrative divisions work. default_placetype = {"prefecture-level city", "thành phố"}, default_divs = { -- "towns" (but not "townships") are automatically added as they are specified as generic_before_non_cities, -- and prefecture-level cities (as well as county-level cities) are considered non-cities. "districts", "subdistricts", "townships", {type = "counties", cat_as = "counties and county-level cities"}, {type = "county-level cities", cat_as = "counties and county-level cities"}, }, data = export.china_prefecture_level_cities, } -- Needed to avoid problems with two cities called Taizhou and Suzhou. export.china_prefecture_level_cities_2 = { -- NOTE: There is also a larger and better-known prefecture-level city Taizhou in Zhejiang. ["Taizhou, Jiangsu"] = {container = "Jiangsu"}, -- 1.3 urban (1.490 adm-urb) per citypopulation.de 2020 census ["Taizhou"] = {alias_of = "Taizhou, Jiangsu"}, -- NOTE: There is also a larger and better-known prefecture-level city Suzhou in Jiangsu. ["Suzhou, Anhui"] = {container = "Anhui"}, -- 5.3 prefectural, 1.766 metro and "urban"; < 1 urban (1.010 adm-urb) per citypopulation.de 2020 census -- hopefully this will work because we also have Suzhou as a key by itself for the larger, more-well-known Suzhou in Jiangsu ["Suzhou"] = {alias_of = "Suzhou, Anhui"}, } export.china_prefecture_level_cities_group_2 = { -- don't do any transformations between key and placename; in particular, don't chop off anything from -- "Taizhou, Jiangsu". placename_to_key = false, -- don't add ", China" to make the key default_container = "Trung Quốc", canonicalize_key_container = make_canonicalize_key_container(", China", "province"), -- Prefecture-level cities aren't really cities but allow them to be identified that way, as many people -- don't understand how Chinese administrative divisions work. default_placetype = {"prefecture-level city", "thành phố"}, default_divs = { -- "towns" (but not "townships") are automatically added as they are specified as generic_before_non_cities, -- and prefecture-level cities (as well as county-level cities) are considered non-cities. "districts", "subdistricts", "townships", {type = "counties", cat_as = "counties and county-level cities"}, {type = "county-level cities", cat_as = "counties and county-level cities"}, }, data = export.china_prefecture_level_cities_2, } export.finland_regions = { ["Lapland, Finland"] = {wp = "%l (%c)"}, ["North Ostrobothnia, Finland"] = {}, ["Northern Ostrobothnia, Finland"] = {alias_of = "North Ostrobothnia, Finland", display = true}, ["Kainuu, Finland"] = {}, ["North Karelia, Finland"] = {}, ["Northern Savonia, Finland"] = {}, ["North Savo, Finland"] = {alias_of = "Northern Savonia, Finland", display = true}, ["Southern Savonia, Finland"] = {}, ["South Savo, Finland"] = {alias_of = "Southern Savonia, Finland", display = true}, ["South Karelia, Finland"] = {}, ["Central Finland, Finland"] = {}, ["South Ostrobothnia, Finland"] = {}, ["Southern Ostrobothnia, Finland"] = {alias_of = "South Ostrobothnia, Finland", display = true}, ["Ostrobothnia, Finland"] = {wp = "%l (region)"}, ["Central Ostrobothnia, Finland"] = {}, ["Pirkanmaa, Finland"] = {}, ["Satakunta, Finland"] = {}, ["Päijänne Tavastia, Finland"] = {}, ["Päijät-Häme, Finland"] = {alias_of = "Päijänne Tavastia, Finland", display = true}, ["Tavastia Proper, Finland"] = {}, ["Kanta-Häme, Finland"] = {alias_of = "Tavastia Proper, Finland", display = true}, ["Kymenlaakso, Finland"] = {}, ["Uusimaa, Finland"] = {}, ["Southwest Finland, Finland"] = {}, ["Åland Islands, Finland"] = {the = true, wp = "Åland"}, ["Åland, Finland"] = {alias_of = "Åland Islands, Finland"}, -- differs in "the" } -- regions of Finland export.finland_group = { default_container = "Phần Lan", default_placetype = "region", default_divs = "municipalities", data = export.finland_regions, } export.france_administrative_regions = { ["Auvergne-Rhône-Alpes, France"] = {}, ["Bourgogne-Franche-Comté, France"] = {}, ["Brittany, France"] = {wp = "%l (administrative region)"}, ["Centre-Val de Loire, France"] = {}, ["Corsica, France"] = {}, -- overseas departments are handled in `export.country_like_entities` -- ["French Guiana"] = {}, ["Grand Est, France"] = {}, -- ["Guadeloupe"] = {}, ["Hauts-de-France, France"] = {}, ["Île-de-France, France"] = {}, -- ["Martinique"] = {}, -- ["Mayotte"] = {}, ["Normandy, France"] = {wp = "%l (administrative region)"}, ["Nouvelle-Aquitaine, France"] = {}, ["Occitania, France"] = {wp = "%l (administrative region)"}, ["Occitanie, France"] = {alias_of = "Occitania, France", display = true}, ["Pays de la Loire, France"] = {}, ["Provence-Alpes-Côte d'Azur, France"] = {}, -- ["Réunion"] = {}, } -- administrative regions of France export.france_group = { default_container = "Pháp", -- Canonically these are 'administrative regions' but also treat as 'region' ('administrative region' falls back -- to 'region'). default_placetype = "region", default_divs = { "communes", {type = "municipalities", cat_as = "communes"}, "departments", {type = "prefectures", cat_as = {"prefectures", "departmental capitals"}}, {type = "French prefectures", cat_as = {"prefectures", "departmental capitals"}}, }, data = export.france_administrative_regions, } export.france_departments = { ["Ain, France"] = {container = "Auvergne-Rhône-Alpes"}, -- 01 ["Aisne, France"] = {container = "Hauts-de-France"}, -- 02 ["Allier, France"] = {container = "Auvergne-Rhône-Alpes"}, -- 03 ["Alpes-de-Haute-Provence, France"] = {container = "Provence-Alpes-Côte d'Azur"}, -- 04 ["Hautes-Alpes, France"] = {container = "Provence-Alpes-Côte d'Azur"}, -- 05 ["Alpes-Maritimes, France"] = {container = "Provence-Alpes-Côte d'Azur"}, -- 06 ["Ardèche, France"] = {container = "Auvergne-Rhône-Alpes"}, -- 07 ["Ardennes, France"] = {container = "Grand Est", wp = "%l (department)"}, -- 08 ["Ariège, France"] = {container = "Occitania", wp = "%l (department)"}, -- 09 ["Aube, France"] = {container = "Grand Est"}, -- 10 ["Aude, France"] = {container = "Occitania"}, -- 11 ["Aveyron, France"] = {container = "Occitania"}, -- 12 ["Bouches-du-Rhône, France"] = {container = "Provence-Alpes-Côte d'Azur"}, -- 13 ["Calvados, France"] = {container = "Normandy", wp = "%l (department)"}, -- 14 ["Cantal, France"] = {container = "Auvergne-Rhône-Alpes"}, -- 15 ["Charente, France"] = {container = "Nouvelle-Aquitaine"}, -- 16 ["Charente-Maritime, France"] = {container = "Nouvelle-Aquitaine"}, -- 17 ["Cher, France"] = {container = "Centre-Val de Loire", wp = "%l (department)"}, -- 18 ["Corrèze, France"] = {container = "Nouvelle-Aquitaine"}, -- 19 ["Corse-du-Sud, France"] = {container = "Corsica"}, -- 2A ["Haute-Corse, France"] = {container = "Corsica"}, -- 2B ["Côte-d'Or, France"] = {container = "Bourgogne-Franche-Comté"}, -- 21 ["Côte d'Or, France"] = {alias_of = "Côte-d'Or, France", display = true}, ["Côtes-d'Armor, France"] = {container = "Brittany"}, -- 22 ["Côtes d'Armor, France"] = {alias_of = "Côtes-d'Armor, France", display = true}, ["Creuse, France"] = {container = "Nouvelle-Aquitaine"}, -- 23 ["Dordogne, France"] = {container = "Nouvelle-Aquitaine"}, -- 24 ["Doubs, France"] = {container = "Bourgogne-Franche-Comté"}, -- 25 ["Drôme, France"] = {container = "Auvergne-Rhône-Alpes"}, -- 26 ["Eure, France"] = {container = "Normandy"}, -- 27 ["Eure-et-Loir, France"] = {container = "Centre-Val de Loire"}, -- 28 ["Finistère, France"] = {container = "Brittany"}, -- 29 ["Gard, France"] = {container = "Occitania"}, -- 30 ["Haute-Garonne, France"] = {container = "Occitania"}, -- 31 ["Gers, France"] = {container = "Occitania"}, -- 32 ["Gironde, France"] = {container = "Nouvelle-Aquitaine"}, -- 33 ["Hérault, France"] = {container = "Occitania"}, -- 34 ["Ille-et-Vilaine, France"] = {container = "Brittany"}, -- 35 ["Indre, France"] = {container = "Centre-Val de Loire"}, -- 36 ["Indre-et-Loire, France"] = {container = "Centre-Val de Loire"}, -- 37 ["Isère, France"] = {container = "Auvergne-Rhône-Alpes"}, -- 38 ["Jura, France"] = {container = "Bourgogne-Franche-Comté", wp = "%l (department)"}, -- 39 ["Landes, France"] = {container = "Nouvelle-Aquitaine", wp = "%l (department)"}, -- 40 ["Loir-et-Cher, France"] = {container = "Centre-Val de Loire"}, -- 41 ["Loire, France"] = {container = "Auvergne-Rhône-Alpes", wp = "%l (department)"}, -- 42 ["Haute-Loire, France"] = {container = "Auvergne-Rhône-Alpes"}, -- 43 ["Loire-Atlantique, France"] = {container = "Pays de la Loire"}, -- 44 ["Loiret, France"] = {container = "Centre-Val de Loire"}, -- 45 ["Lot, France"] = {container = "Occitania", wp = "%l (department)"}, -- 46 ["Lot-et-Garonne, France"] = {container = "Nouvelle-Aquitaine"}, -- 47 ["Lozère, France"] = {container = "Occitania"}, -- 48 ["Maine-et-Loire, France"] = {container = "Pays de la Loire"}, -- 49 ["Manche, France"] = {container = "Normandy"}, -- 50 ["Marne, France"] = {container = "Grand Est", wp = "%l (department)"}, -- 51 ["Haute-Marne, France"] = {container = "Grand Est"}, -- 52 ["Mayenne, France"] = {container = "Pays de la Loire"}, -- 53 ["Meurthe-et-Moselle, France"] = {container = "Grand Est"}, -- 54 ["Meuse, France"] = {container = "Grand Est", wp = "%l (department)"}, -- 55 ["Morbihan, France"] = {container = "Brittany"}, -- 56 ["Moselle, France"] = {container = "Grand Est", wp = "%l (department)"}, -- 57 ["Nièvre, France"] = {container = "Bourgogne-Franche-Comté"}, -- 58 ["Nord, France"] = {container = "Hauts-de-France", wp = "%l (French department)"}, -- 59 ["Oise, France"] = {container = "Hauts-de-France"}, -- 60 ["Orne, France"] = {container = "Normandy"}, -- 61 ["Pas-de-Calais, France"] = {container = "Hauts-de-France"}, -- 62 ["Puy-de-Dôme, France"] = {container = "Auvergne-Rhône-Alpes"}, -- 63 ["Pyrénées-Atlantiques, France"] = {container = "Nouvelle-Aquitaine"}, -- 64 ["Hautes-Pyrénées, France"] = {container = "Occitania"}, -- 65 ["Pyrénées-Orientales, France"] = {container = "Occitania"}, -- 66 ["Bas-Rhin, France"] = {container = "Grand Est"}, -- 67 ["Haut-Rhin, France"] = {container = "Grand Est"}, -- 68 ["Rhône, France"] = {container = "Auvergne-Rhône-Alpes", wp = "%l (department)"}, -- 69D ["Metropolis of Lyon, France"] = {container = "Auvergne-Rhône-Alpes"}, -- 69M ["Lyon Metropolis, France"] = {alias_of = "Metropolis of Lyon, France"}, ["Lyon, France"] = {alias_of = "Metropolis of Lyon, France"}, ["Haute-Saône, France"] = {container = "Bourgogne-Franche-Comté"}, -- 70 ["Saône-et-Loire, France"] = {container = "Bourgogne-Franche-Comté"}, -- 71 ["Sarthe, France"] = {container = "Pays de la Loire"}, -- 72 ["Savoie, France"] = {container = "Auvergne-Rhône-Alpes"}, -- 73 ["Haute-Savoie, France"] = {container = "Auvergne-Rhône-Alpes"}, -- 74 ["Paris, France"] = {container = "Île-de-France"}, -- 75 ["Seine-Maritime, France"] = {container = "Normandy"}, -- 76 ["Seine-et-Marne, France"] = {container = "Île-de-France"}, -- 77 ["Yvelines, France"] = {container = "Île-de-France"}, -- 78 ["Deux-Sèvres, France"] = {container = "Nouvelle-Aquitaine"}, -- 79 ["Somme, France"] = {container = "Hauts-de-France", wp = "%l (department)"}, -- 80 ["Tarn, France"] = {container = "Occitania", wp = "%l (department)"}, -- 81 ["Tarn-et-Garonne, France"] = {container = "Occitania"}, -- 82 ["Var, France"] = {container = "Provence-Alpes-Côte d'Azur", wp = "%l (department)"}, -- 83 ["Vaucluse, France"] = {container = "Provence-Alpes-Côte d'Azur"}, -- 84 ["Vendée, France"] = {container = "Pays de la Loire"}, -- 85 ["Vienne, France"] = {container = "Nouvelle-Aquitaine", wp = "%l (department)"}, -- 86 ["Haute-Vienne, France"] = {container = "Nouvelle-Aquitaine"}, -- 87 ["Vosges, France"] = {container = "Grand Est", wp = "%l (department)"}, -- 88 ["Yonne, France"] = {container = "Bourgogne-Franche-Comté"}, -- 89 ["Territoire de Belfort, France"] = {container = "Bourgogne-Franche-Comté"}, -- 90 ["Essonne, France"] = {container = "Île-de-France"}, -- 91 ["Hauts-de-Seine, France"] = {container = "Île-de-France"}, -- 92 ["Seine-Saint-Denis, France"] = {container = "Île-de-France"}, -- 93 ["Val-de-Marne, France"] = {container = "Île-de-France"}, -- 94 ["Val-d'Oise, France"] = {container = "Île-de-France"}, -- 95 --["Guadeloupe"] = {container = "Guadeloupe"}, -- 971 --["Martinique"] = {container = "Martinique"}, -- 972 --["Guyane"] = {container = "French Guiana", wp = "French Guiana"}, -- 973 --["La Réunion"] = {container = "Réunion", wp = "Réunion"}, -- 974 --["Mayotte"] = {container = "Mayotte"}, -- 976 } export.france_departments_group = { placename_to_key = make_placename_to_key(", France"), canonicalize_key_container = make_canonicalize_key_container(", France", "region"), default_placetype = "department", default_divs = { "communes", {type = "municipalities", cat_as = "communes"}, }, data = export.france_departments, } export.germany_states = { ["Baden-Württemberg, Germany"] = {}, ["Bavaria, Germany"] = {}, -- Berlin, Bremen and Hamburg are effectively city-states and don't have districts ([[Kreise]]), so override -- the default_divs setting. Better not to include them at all since they're included as cities down below. -- ["Berlin"] = {divs = {}}, ["Brandenburg, Germany"] = {}, -- ["Bremen"] = {divs = {}}, -- ["Hamburg"] = {divs = {}}, ["Hesse, Germany"] = {}, ["Lower Saxony, Germany"] = {}, ["Mecklenburg-Vorpommern, Germany"] = {}, ["Mecklenburg-Western Pomerania, Germany"] = {alias_of = "Mecklenburg-Vorpommern, Germany", display = true}, ["North Rhine-Westphalia, Germany"] = {}, ["Rhineland-Palatinate, Germany"] = {}, ["Saarland, Germany"] = {}, ["Saxony, Germany"] = {}, ["Saxony-Anhalt, Germany"] = {}, ["Schleswig-Holstein, Germany"] = {}, ["Thuringia, Germany"] = {}, } -- states of Germany export.germany_group = { default_container = "Đức", default_placetype = "state", default_divs = {"districts", "municipalities"}, data = export.germany_states, } export.greece_regions = { ["Attica, Greece"] = {wp = "%l (region)"}, ["Central Greece, Greece"] = {wp = "%l (administrative region)"}, ["Central Macedonia, Greece"] = {}, ["Crete, Greece"] = {}, ["Eastern Macedonia and Thrace, Greece"] = {}, ["Epirus, Greece"] = {wp = "%l (region)"}, ["Ionian Islands, Greece"] = {the = true, wp = "%l (region)"}, ["North Aegean, Greece"] = {the = true}, -- I would expect 'the Peloponnese' but Wikipedia mostly has categories like [[w:Category:Geography of Peloponnese (region)]] -- and [[w:Category:Buildings and structures in Peloponnese (region)]]; only [[w:Category:People from the Peloponnese (region)]] -- has "the" in it. ["Peloponnese, Greece"] = {wp = "%l (region)"}, ["South Aegean, Greece"] = {the = true}, ["Thessaly, Greece"] = {}, ["Western Greece, Greece"] = {}, ["Western Macedonia, Greece"] = {}, ["Mount Athos, Greece"] = {placetype = {"autonomous region", "region"}, wp = "Monastic community of Mount Athos"}, } -- regions of Greece export.greece_group = { default_container = "Hy Lạp", default_placetype = "region", data = export.greece_regions, } local india_polity_with_divisions = {"divisions", "districts"} local india_polity_without_divisions = {"districts"} -- States and union territories of India. Only some of them are divided into divisions. export.india_states_and_union_territories = { ["Andaman and Nicobar Islands, India"] = {the = true, placetype = "union territory", divs = india_polity_without_divisions}, ["Andhra Pradesh, India"] = {divs = india_polity_without_divisions}, ["Arunachal Pradesh, India"] = {divs = india_polity_with_divisions}, ["Assam, India"] = {divs = india_polity_with_divisions}, ["Bihar, India"] = {divs = india_polity_with_divisions}, ["Chandigarh, India"] = {placetype = "union territory", divs = india_polity_without_divisions}, ["Chhattisgarh, India"] = {divs = india_polity_with_divisions}, ["Dadra and Nagar Haveli and Daman and Diu, India"] = {placetype = "union territory", divs = india_polity_without_divisions}, ["Delhi, India"] = {placetype = "union territory", divs = india_polity_with_divisions}, ["Goa, India"] = {divs = india_polity_without_divisions}, ["Gujarat, India"] = {divs = india_polity_without_divisions}, ["Haryana, India"] = {divs = india_polity_with_divisions}, ["Himachal Pradesh, India"] = {divs = india_polity_with_divisions}, ["Jammu and Kashmir, India"] = {placetype = "union territory", divs = india_polity_with_divisions, wp = "%l (union territory)"}, ["Jharkhand, India"] = {divs = india_polity_with_divisions}, ["Karnataka, India"] = {divs = india_polity_with_divisions}, ["Kerala, India"] = {divs = india_polity_without_divisions}, ["Ladakh, India"] = {placetype = "union territory", divs = india_polity_with_divisions}, ["Lakshadweep, India"] = {placetype = "union territory", divs = india_polity_without_divisions}, ["Madhya Pradesh, India"] = {divs = india_polity_with_divisions}, ["Maharashtra, India"] = {divs = india_polity_with_divisions}, ["Manipur, India"] = {divs = india_polity_without_divisions}, ["Meghalaya, India"] = {divs = india_polity_with_divisions}, ["Mizoram, India"] = {divs = india_polity_without_divisions}, ["Nagaland, India"] = {divs = india_polity_with_divisions}, ["Odisha, India"] = {divs = india_polity_with_divisions}, ["Puducherry, India"] = {placetype = "union territory", divs = india_polity_without_divisions, wp = "%l (union territory)"}, ["Pondicherry, India"] = {alias_of = "Puducherry, India", display = true}, ["Punjab, India"] = {divs = india_polity_with_divisions, wp = "%l, %c"}, ["Rajasthan, India"] = {divs = india_polity_with_divisions}, ["Sikkim, India"] = {divs = india_polity_without_divisions}, ["Tamil Nadu, India"] = {divs = india_polity_without_divisions}, ["Telangana, India"] = {divs = india_polity_without_divisions}, ["Tripura, India"] = {divs = india_polity_without_divisions}, ["Uttar Pradesh, India"] = {divs = india_polity_with_divisions}, ["Uttarakhand, India"] = {divs = india_polity_with_divisions}, ["West Bengal, India"] = {divs = india_polity_with_divisions}, } -- states and union territories of India export.india_group = { default_container = "Ấn Độ", default_placetype = "state", data = export.india_states_and_union_territories, } export.indonesia_provinces = { ["Aceh, Indonesia"] = {}, ["Bali, Indonesia"] = {}, ["Bangka Belitung Islands, Indonesia"] = {the = true}, ["Banten, Indonesia"] = {}, ["Bengkulu, Indonesia"] = {}, ["Central Java, Indonesia"] = {}, ["Central Kalimantan, Indonesia"] = {}, ["Central Papua, Indonesia"] = {}, ["Central Sulawesi, Indonesia"] = {}, ["East Java, Indonesia"] = {}, ["East Kalimantan, Indonesia"] = {}, ["East Nusa Tenggara, Indonesia"] = {}, ["Gorontalo, Indonesia"] = {}, ["Highland Papua, Indonesia"] = {wp = "%l"}, ["Special Capital Region of Jakarta, Indonesia"] = {the = true, wp = "Jakarta"}, ["Jakarta, Indonesia"] = {alias_of = "Special Capital Region of Jakarta, Indonesia"}, ["Jambi, Indonesia"] = {}, ["Lampung, Indonesia"] = {}, ["Maluku, Indonesia"] = {}, ["North Kalimantan, Indonesia"] = {}, ["North Maluku, Indonesia"] = {}, ["North Sulawesi, Indonesia"] = {}, ["North Papua, Indonesia"] = {}, ["North Sumatra, Indonesia"] = {}, ["Papua, Indonesia"] = {wp = "%l (province)"}, ["Riau, Indonesia"] = {}, ["Riau Islands, Indonesia"] = {the = true}, ["Southeast Sulawesi, Indonesia"] = {}, ["South Kalimantan, Indonesia"] = {}, ["South Papua, Indonesia"] = {}, ["South Sulawesi, Indonesia"] = {}, ["South Sumatra, Indonesia"] = {}, ["Southwest Papua, Indonesia"] = {}, ["West Java, Indonesia"] = {}, ["West Kalimantan, Indonesia"] = {}, ["West Nusa Tenggara, Indonesia"] = {}, ["West Papua, Indonesia"] = {wp = "%l (province)"}, ["West Sulawesi, Indonesia"] = {}, ["West Sumatra, Indonesia"] = {}, ["Special Region of Yogyakarta, Indonesia"] = {the = true}, ["Yogyakarta, Indonesia"] = {alias_of = "Special Region of Yogyakarta, Indonesia"}, } -- provinces of Indonesia export.indonesia_group = { default_container = "Indonesia", default_placetype = "province", -- per https://www.quora.com/Does-Indonesia-use-British-or-American-English, Indonesia tends to use American -- spellings. data = export.indonesia_provinces, } export.iran_provinces = { ["Alborz Province, Iran"] = {}, -- abbreviation AL, capital [[w:Karaj]] ["Ardabil Province, Iran"] = {}, -- abbreviation AR, capital [[w:Ardabil]] ["Bushehr Province, Iran"] = {}, -- abbreviation BU, capital [[w:Bushehr]] ["Chaharmahal and Bakhtiari Province, Iran"] = {}, -- abbreviation CB, capital [[w:Shahr-e Kord]] ["East Azerbaijan Province, Iran"] = {}, -- abbreviation EA, capital [[w:Tabriz]] ["Fars Province, Iran"] = {}, -- abbreviation FA, capital [[w:Shiraz]] ["Pars Province, Iran"] = {alias_of = "Fars Province, Iran", display = true}, ["Gilan Province, Iran"] = {}, -- abbreviation GN, capital [[w:Rasht]] ["Golestan Province, Iran"] = {}, -- abbreviation GO, capital [[w:Gorgan]] ["Hamadan Province, Iran"] = {}, -- abbreviation HA, capital [[w:Hamadan]] ["Hormozgan Province, Iran"] = {}, -- abbreviation HO, capital [[w:Bandar Abbas]] ["Ilam Province, Iran"] = {}, -- abbreviation IL, capital [[w:Ilam, Iran|Ilam]] ["Isfahan Province, Iran"] = {}, -- abbreviation IS, capital [[w:Isfahan]] ["Kerman Province, Iran"] = {}, -- abbreviation KN, capital [[w:Kerman]] ["Kermanshah Province, Iran"] = {}, -- abbreviation KE, capital [[w:Kermanshah]] ["Khuzestan Province, Iran"] = {}, -- abbreviation KH, capital [[w:Ahvaz]] ["Kohgiluyeh and Boyer-Ahmad Province, Iran"] = {}, -- abbreviation KB, capital [[w:Yasuj]] ["Kurdistan Province, Iran"] = {}, -- abbreviation KU, capital [[w:Sanandaj]] ["Lorestan Province, Iran"] = {}, -- abbreviation LO, capital [[w:Khorramabad]] ["Markazi Province, Iran"] = {}, -- abbreviation MA, capital [[w:Arak, Iran|Arak]] ["Mazandaran Province, Iran"] = {}, -- abbreviation MN, capital [[w:Sari, Iran|Sari]] ["North Khorasan Province, Iran"] = {}, -- abbreviation NK, capital [[w:Bojnord]] ["Qazvin Province, Iran"] = {}, -- abbreviation QA, capital [[w:Qazvin]] ["Qom Province, Iran"] = {}, -- abbreviation QM, capital [[w:Qom]] ["Razavi Khorasan Province, Iran"] = {}, -- abbreviation RK, capital [[w:Mashhad]] ["Semnan Province, Iran"] = {}, -- abbreviation SE, capital [[w:Semnan, Iran|Semnan]] ["Sistan and Baluchestan Province, Iran"] = {}, -- abbreviation SB, capital [[w:Zahedan]] ["South Khorasan Province, Iran"] = {}, -- abbreviation SK, capital [[w:Birjand]] ["Tehran Province, Iran"] = {}, -- abbreviation TE, capital [[w:Tehran]] ["West Azerbaijan Province, Iran"] = {}, -- abbreviation WA, capital [[w:Urmia]] ["Yazd Province, Iran"] = {}, -- abbreviation YA, capital [[w:Yazd]] ["Zanjan Province, Iran"] = {}, -- abbreviation ZA, capital [[w:Zanjan, Iran|Zanjan]] } -- provinces of Iran export.iran_group = { key_to_placename = make_key_to_placename(", Iran", " Province$"), placename_to_key = make_placename_to_key(", Iran", " Province"), default_container = "Iran", default_placetype = "province", -- There aren't nearly enough counties of Iran currently entered in any language to allow for categorizing them -- per-province. (As of 2025-05-09, there are only 6 counties in each of [[Category:en:Counties of Iran]], -- [[Category:fa:Counties of Iran]] and [[Category:ar:Counties of Iran]].) -- default_divs = "counties", -- For obscure reasons, provinces of Iran, Laos, Thailand and Vietnam use lowercase 'province' default_wp = "%e province", data = export.iran_provinces, } export.ireland_counties = { ["County Carlow, Ireland"] = {}, ["County Cavan, Ireland"] = {}, ["County Clare, Ireland"] = {}, ["County Cork, Ireland"] = {}, ["County Donegal, Ireland"] = {}, ["County Dublin, Ireland"] = {}, ["County Galway, Ireland"] = {}, ["County Kerry, Ireland"] = {}, ["County Kildare, Ireland"] = {}, ["County Kilkenny, Ireland"] = {}, ["County Laois, Ireland"] = {}, ["County Leitrim, Ireland"] = {}, ["County Limerick, Ireland"] = {}, ["County Longford, Ireland"] = {}, ["County Louth, Ireland"] = {}, ["County Mayo, Ireland"] = {}, ["County Meath, Ireland"] = {}, ["County Monaghan, Ireland"] = {}, ["County Offaly, Ireland"] = {}, ["County Roscommon, Ireland"] = {}, ["County Sligo, Ireland"] = {}, ["County Tipperary, Ireland"] = {}, ["County Waterford, Ireland"] = {}, ["County Westmeath, Ireland"] = {}, ["County Wexford, Ireland"] = {}, ["County Wicklow, Ireland"] = {}, } local function make_irish_type_key_to_placename(container_pattern) return function(key) key = key:gsub(container_pattern, "") local elliptical_key = key:gsub("^County ", "") return key, elliptical_key end end local function make_irish_type_placename_to_key(container_suffix) return function(placename) if not placename:find("^County ") and not placename:find("^City ") then placename = "County " .. placename end return placename .. container_suffix end end -- counties of Ireland export.ireland_group = { key_to_placename = make_irish_type_key_to_placename(", Ireland$"), placename_to_key = make_irish_type_placename_to_key(", Ireland"), default_container = "Ireland", default_placetype = "county", data = export.ireland_counties, } export.italy_administrative_regions = { ["Abruzzo, Italy"] = {}, ["Aosta Valley, Italy"] = {placetype = {"autonomous region", "administrative region", "region"}}, ["Apulia, Italy"] = {}, ["Basilicata, Italy"] = {}, ["Calabria, Italy"] = {}, ["Campania, Italy"] = {}, ["Emilia-Romagna, Italy"] = {}, ["Friuli-Venezia Giulia, Italy"] = {placetype = {"autonomous region", "administrative region", "region"}}, ["Lazio, Italy"] = {}, ["Liguria, Italy"] = {}, ["Lombardy, Italy"] = {}, ["Marche, Italy"] = {}, ["Molise, Italy"] = {}, ["Piedmont, Italy"] = {}, ["Sardinia, Italy"] = {placetype = {"autonomous region", "administrative region", "region"}}, ["Sicily, Italy"] = {placetype = {"autonomous region", "administrative region", "region"}}, ["Trentino-Alto Adige, Italy"] = {placetype = {"autonomous region", "administrative region", "region"}}, ["Tuscany, Italy"] = {}, ["Umbria, Italy"] = {}, ["Veneto, Italy"] = {}, } -- administrative regions of Italy export.italy_group = { default_container = "Ý", default_placetype = "region", data = export.italy_administrative_regions, } -- table of Japanese prefectures; interpolated into the main 'places' table, but also needed separately export.japan_prefectures = { ["Aichi, Nhật Bản"] = {}, ["Akita, Nhật Bản"] = {}, ["Aomori, Nhật Bản"] = {}, ["Chiba, Nhật Bản"] = {}, ["Ehime, Nhật Bản"] = {}, ["Fukui, Nhật Bản"] = {}, ["Fukuoka, Nhật Bản"] = {}, ["Fukushima, Nhật Bản"] = {}, ["Gifu, Nhật Bản"] = {}, ["Gunma, Nhật Bản"] = {}, ["Hiroshima, Nhật Bản"] = {}, ["Hokkaidō, Nhật Bản"] = {divs = "subprefectures", wp = "Hokkaidō"}, ["Hyōgo, Nhật Bản"] = {}, ["Hyogo, Nhật Bản"] = {alias_of = "Hyōgo, Nhật Bản", display = true}, ["Ibaraki, Nhật Bản"] = {}, ["Ishikawa, Nhật Bản"] = {}, ["Iwate, Nhật Bản"] = {}, ["Kagawa, Nhật Bản"] = {}, ["Kagoshima, Nhật Bản"] = {}, ["Kanagawa, Nhật Bản"] = {}, ["Kōchi, Nhật Bản"] = {}, ["Kochi, Nhật Bản"] = {alias_of = "Kōchi, Nhật Bản", display = true}, ["Kumamoto, Nhật Bản"] = {}, ["Kyoto, Nhật Bản"] = {}, ["Mie, Nhật Bản"] = {}, ["Miyagi, Nhật Bản"] = {}, ["Miyazaki, Nhật Bản"] = {}, ["Nagano, Nhật Bản"] = {}, ["Nagasaki, Nhật Bản"] = {}, ["Nara, Nhật Bản"] = {}, ["Niigata, Nhật Bản"] = {}, ["Ōita, Nhật Bản"] = {}, ["Oita, Nhật Bản"] = {alias_of = "Ōita, Nhật Bản", display = true}, ["Okayama, Nhật Bản"] = {}, ["Okinawa, Nhật Bản"] = {}, ["Ōsaka, Nhật Bản"] = {}, ["Osaka, Nhật Bản"] = {alias_of = "Ōsaka, Nhật Bản", display = true}, ["Saga, Nhật Bản"] = {}, ["Saitama, Nhật Bản"] = {}, ["Shiga, Nhật Bản"] = {}, ["Shimane, Nhật Bản"] = {}, ["Shizuoka, Nhật Bản"] = {}, ["Tochigi, Nhật Bản"] = {}, ["Tokushima, Nhật Bản"] = {}, ["Tottori, Nhật Bản"] = {}, ["Toyama, Nhật Bản"] = {}, ["Wakayama, Nhật Bản"] = {}, ["Yamagata, Nhật Bản"] = {}, ["Yamaguchi, Nhật Bản"] = {}, ["Yamanashi, Nhật Bản"] = {}, } -- prefectures of Japan export.japan_group = { key_to_placename = make_key_to_placename(", Nhật Bản$", " $"), placename_to_key = make_placename_to_key(", Nhật Bản", ""), default_container = "Nhật Bản", default_placetype = "prefecture", data = export.japan_prefectures, } export.laos_provinces = { ["Attapeu Province, Laos"] = {}, ["Bokeo Province, Laos"] = {}, ["Bolikhamxai Province, Laos"] = {}, ["Champasak Province, Laos"] = {}, ["Houaphanh Province, Laos"] = {}, ["Khammouane Province, Laos"] = {}, ["Luang Namtha Province, Laos"] = {}, ["Luang Prabang Province, Laos"] = {}, ["Oudomxay Province, Laos"] = {}, ["Phongsaly Province, Laos"] = {}, ["Salavan Province, Laos"] = {}, ["Savannakhet Province, Laos"] = {}, ["Vientiane Province, Laos"] = {}, ["Vientiane Prefecture, Laos"] = {placetype = "prefecture", wp = "%l"}, ["Sainyabuli Province, Laos"] = {}, ["Sekong Province, Laos"] = {}, ["Xaisomboun Province, Laos"] = {}, ["Xiangkhouang Province, Laos"] = {}, } local function laos_placename_to_key(placename) if placename == "Vientiane Prefecture" then return placename .. ", Laos" end if placename:find(" Province$") then return placename .. ", Laos" end return placename .. " Province, Laos" end -- provinces of Laos export.laos_group = { key_to_placename = make_key_to_placename(", Laos$", {" Province$", " Prefecture$"}), placename_to_key = laos_placename_to_key, default_container = "Lào", default_placetype = "province", -- For obscure reasons, provinces of Iran, Laos, Thailand and Vietnam use lowercase 'province' default_wp = "%e province", data = export.laos_provinces, } export.lebanon_governorates = { ["Akkar Governorate, Lebanon"] = {}, ["Baalbek-Hermel Governorate, Lebanon"] = {}, ["Beirut Governorate, Lebanon"] = {}, ["Beqaa Governorate, Lebanon"] = {}, ["Keserwan-Jbeil Governorate, Lebanon"] = {}, ["Mount Lebanon Governorate, Lebanon"] = {}, ["Nabatieh Governorate, Lebanon"] = {}, -- These two are generic enough that we don't want to automatically augment a use of `gov/North Governorate` or -- `gov/South Governorate` with `c/Lebanon`. ["North Governorate, Lebanon"] = {no_auto_augment_container = true}, ["South Governorate, Lebanon"] = {no_auto_augment_container = true}, } -- governorates of Lebanon export.lebanon_group = { key_to_placename = make_key_to_placename(", Lebanon$", " Governorate$"), placename_to_key = make_placename_to_key(", Lebanon", " Governorate"), default_container = "Lebanon", default_placetype = "governorate", data = export.lebanon_governorates, } export.malaysia_states = { ["Johor, Malaysia"] = {}, ["Kedah, Malaysia"] = {}, ["Kelantan, Malaysia"] = {}, ["Malacca, Malaysia"] = {}, ["Negeri Sembilan, Malaysia"] = {}, ["Pahang, Malaysia"] = {}, ["Penang, Malaysia"] = {}, ["Perak, Malaysia"] = {}, ["Perlis, Malaysia"] = {}, ["Sabah, Malaysia"] = {}, ["Sarawak, Malaysia"] = {}, ["Selangor, Malaysia"] = {}, ["Terengganu, Malaysia"] = {}, } -- states of Malaysia export.malaysia_group = { default_container = "Malaysia", default_placetype = "state", default_wp = "%l, %c", data = export.malaysia_states, } export.malta_regions = { -- Some of the regions are generic enough that we don't want to automatically augment a use of e.g. -- `r/Northern Region` with `c/Malta`. In particular; -- * "Eastern Region" also occurs at least in Ghana, Uganda, Iceland, Nigeria, Venezuela, North Macedonia and -- El Salvador; -- * "Northern Region" also occurs at least in Ghana, Uganda, Malawi, Nigeria, Canada and South Africa; -- * "Western Region" also occurs at least in Abu Dhabi, Bahrain, South Africa, Ghana, Iceland, Nepal, Nigeria, -- Serbia and Uganda; -- * "Southern Region" also occurs at least in Nigeria, Eritrea, Iceland, Ireland, Malawi and Serbia. ["Eastern Region, Malta"] = {no_auto_augment_container = true}, ["Gozo Region, Malta"] = {wp = "%l"}, ["Northern Region, Malta"] = {no_auto_augment_container = true}, ["Port Region, Malta"] = {}, ["Southern Region, Malta"] = {no_auto_augment_container = true}, ["Western Region, Malta"] = {no_auto_augment_container = true}, } -- regions of Malta export.malta_group = { key_to_placename = make_key_to_placename(", Malta$", " Region"), placename_to_key = make_placename_to_key(", Malta", " Region"), default_container = "Malta", default_placetype = "region", default_wp = "%l, %c", default_the = true, data = export.malta_regions, } export.mexico_states = { ["Aguascalientes, Mexico"] = {}, ["Baja California, Mexico"] = {}, -- not display-canonicalizing because the "Norte" could be for emphasis ["Baja California Norte, Mexico"] = {alias_of = "Baja California, Mexico"}, ["Baja California Sur, Mexico"] = {}, ["Campeche, Mexico"] = {}, ["Chiapas, Mexico"] = {}, ["Chihuahua, Mexico"] = {wp = "%l (state)"}, ["Coahuila, Mexico"] = {}, ["Colima, Mexico"] = {}, ["Durango, Mexico"] = {}, ["Guanajuato, Mexico"] = {}, ["Guerrero, Mexico"] = {}, ["Hidalgo, Mexico"] = {wp = "%l (state)"}, ["Jalisco, Mexico"] = {}, ["State of Mexico, Mexico"] = {the = true}, ["Mexico, Mexico"] = {alias_of = "State of Mexico, Mexico"}, -- differs in "the" -- ["Mexico City, Mexico"] = {}, doesn't belong here because it's a city ["Michoacán, Mexico"] = {}, ["Michoacan, Mexico"] = {alias_of = "Michoacán, Mexico", display = true}, ["Morelos, Mexico"] = {}, ["Nayarit, Mexico"] = {}, ["Nuevo León, Mexico"] = {}, ["Nuevo Leon, Mexico"] = {alias_of = "Nuevo León, Mexico", display = true}, ["Oaxaca, Mexico"] = {}, ["Puebla, Mexico"] = {}, ["Querétaro, Mexico"] = {}, ["Queretaro, Mexico"] = {alias_of = "Querétaro, Mexico", display = true}, ["Quintana Roo, Mexico"] = {}, ["San Luis Potosí, Mexico"] = {}, ["San Luis Potosi, Mexico"] = {alias_of = "San Luis Potosí, Mexico", display = true}, ["Sinaloa, Mexico"] = {}, ["Sonora, Mexico"] = {}, ["Tabasco, Mexico"] = {}, ["Tamaulipas, Mexico"] = {}, ["Tlaxcala, Mexico"] = {}, ["Veracruz, Mexico"] = {}, ["Yucatán, Mexico"] = {}, ["Yucatan, Mexico"] = {alias_of = "Yucatán, Mexico", display = true}, ["Zacatecas, Mexico"] = {}, } -- Mexican states export.mexico_group = { default_container = "Mexico", default_placetype = "state", data = export.mexico_states, } export.moldova_districts_and_autonomous_territorial_units = { ["Anenii Noi District, Moldova"] = {}, -- capital [[Anenii Noi]] ["Basarabeasca District, Moldova"] = {}, -- capital [[Basarabeasca]] ["Briceni District, Moldova"] = {}, -- capital [[Briceni]] ["Cahul District, Moldova"] = {}, -- capital [[Cahul]] ["Cantemir District, Moldova"] = {}, -- capital [[Cantemir, Moldova|Cantemir]] ["Călărași District, Moldova"] = {}, -- capital [[Călărași, Moldova|Călărași]] ["Căușeni District, Moldova"] = {}, -- capital [[Căușeni]] ["Cimișlia District, Moldova"] = {}, -- capital [[Cimișlia]] ["Criuleni District, Moldova"] = {}, -- capital [[Criuleni]] ["Dondușeni District, Moldova"] = {}, -- capital [[Dondușeni]] ["Drochia District, Moldova"] = {}, -- capital [[Drochia]] ["Dubăsari District, Moldova"] = {}, -- capital [[Cocieri]] ["Edineț District, Moldova"] = {}, -- capital [[Edineț]] ["Fălești District, Moldova"] = {}, -- capital [[Fălești]] ["Florești District, Moldova"] = {}, -- capital [[Florești, Moldova|Florești]] ["Glodeni District, Moldova"] = {}, -- capital [[Glodeni]] ["Hîncești District, Moldova"] = {}, -- capital [[Hîncești]] ["Ialoveni District, Moldova"] = {}, -- capital [[Ialoveni]] ["Leova District, Moldova"] = {}, -- capital [[Leova]] ["Nisporeni District, Moldova"] = {}, -- capital [[Nisporeni]] ["Ocnița District, Moldova"] = {}, -- capital [[Ocnița]] ["Orhei District, Moldova"] = {}, -- capital [[Orhei]] ["Rezina District, Moldova"] = {}, -- capital [[Rezina]] ["Rîșcani District, Moldova"] = {}, -- capital [[Rîșcani]] ["Sîngerei District, Moldova"] = {}, -- capital [[Sîngerei]] ["Soroca District, Moldova"] = {}, -- capital [[Soroca]] ["Strășeni District, Moldova"] = {}, -- capital [[Strășeni]] ["Șoldănești District, Moldova"] = {}, -- capital [[Șoldănești]] ["Ștefan Vodă District, Moldova"] = {}, -- capital [[Ștefan Vodă]] ["Taraclia District, Moldova"] = {}, -- capital [[Taraclia]] ["Telenești District, Moldova"] = {}, -- capital [[Telenești]] ["Ungheni District, Moldova"] = {}, -- capital [[Ungheni]] ["Chișinău, Moldova"] = {placetype = "municipality"}, ["Bălți, Moldova"] = {placetype = "municipality"}, ["Gagauzia, Moldova"] = {placetype = {"autonomous territorial unit", "autonomous region", "region"}}, -- capital [[Comrat]] -- the remainder are under the de-facto control of the unrecognized state of Transnistria ["Bender, Moldova"] = {placetype = "municipality"}, ["Tighina, Moldova"] = {alias_of = "Bender, Moldova"}, ["Transnistria, Moldova"] = {placetype = {"autonomous territorial unit", "autonomous region", "region"}}, -- capital [[Tiraspol]] ["Left Bank of the Dniester, Moldova"] = {alias_of = "Transnistria, Moldova"}, ["Administrative-Territorial Units of the Left Bank of the Dniester, Moldova"] = {alias_of = "Transnistria, Moldova"}, } local function moldova_placename_to_key(placename) local elliptical_key = placename .. ", Moldova" if export.moldova_districts_and_autonomous_territorial_units[elliptical_key] then return elliptical_key end if placename:find(" District$") then return placename .. ", Moldova" end return placename .. " District, Moldova" end -- Moldovan districts (raions) and autonomous territorial units export.moldova_group = { key_to_placename = make_key_to_placename(", Moldova$", " District"), placename_to_key = moldova_placename_to_key, default_container = "Moldova", default_placetype = {"district", "raion"}, default_divs = "communes", data = export.moldova_districts_and_autonomous_territorial_units, } export.morocco_regions = { ["Tangier-Tetouan-Al Hoceima, Morocco"] = {}, ["Oriental, Morocco"] = {wp = "%l (%c)"}, ["L'Oriental, Morocco"] = {alias_of = "Oriental, Morocco", display = true}, ["Fez-Meknes, Morocco"] = {}, ["Rabat-Sale-Kenitra, Morocco"] = {wp = "Rabat-Salé-Kénitra"}, ["Rabat-Salé-Kénitra, Morocco"] = {alias_of = "Rabat-Sale-Kenitra, Morocco", display = true}, ["Beni Mellal-Khenifra, Morocco"] = {wp = "Béni Mellal-Khénifra"}, ["Béni Mellal-Khénifra, Morocco"] = {alias_of = "Beni Mellal-Khenifra, Morocco", display = true}, ["Casablanca-Settat, Morocco"] = {}, ["Marrakesh-Safi, Morocco"] = {wp = "Marrakesh–Safi"}, -- WP title has en-dash ["Marrakech-Safi, Morocco"] = {alias_of = "Marrakesh-Safi, Morocco", display = true}, ["Draa-Tafilalet, Morocco"] = {wp = "Drâa-Tafilalet"}, ["Drâa-Tafilalet, Morocco"] = {alias_of = "Draa-Tafilalet, Morocco", display = true}, ["Souss-Massa, Morocco"] = {}, ["Guelmim-Oued Noun, Morocco"] = { keydesc = "+++. '''NOTE:''' This region lies partly within the disputed territory of [[Western Sahara]]" }, ["Laayoune-Sakia El Hamra, Morocco"] = { wp = "Laâyoune-Sakia El Hamra", keydesc = "+++. '''NOTE:''' This region lies almost completely within the disputed territory of [[Western Sahara]]", }, ["Laâyoune-Sakia El Hamra, Morocco"] = {alias_of = "Laayoune-Sakia El Hamra, Morocco", display = true}, ["Dakhla-Oued Ed-Dahab, Morocco"] = { keydesc = "+++. '''NOTE:''' This region lies completely within the disputed territory of [[Western Sahara]]", }, } -- regions of Morocco export.morocco_group = { default_container = "Maroc", default_placetype = "region", data = export.morocco_regions, } export.egypt_governorates = { ["Cairo Governorate, Egypt"] = {}, ["Giza Governorate, Egypt"] = {}, ["Sharqia Governorate, Egypt"] = {}, ["Dakahlia Governorate, Egypt"] = {}, ["Beheira Governorate, Egypt"] = {}, ["Minya Governorate, Egypt"] = {}, ["Qalyubia Governorate, Egypt"] = {}, ["Sohag Governorate, Egypt"] = {}, ["Alexandria Governorate, Egypt"] = {}, ["Gharbia Governorate, Egypt"] = {}, ["Asyut Governorate, Egypt"] = {}, ["Monufia Governorate, Egypt"] = {}, ["Faiyum Governorate, Egypt"] = {}, ["Kafr El Sheikh Governorate, Egypt"] = {}, ["Qena Governorate, Egypt"] = {}, ["Beni Suef Governorate, Egypt"] = {}, ["Damietta Governorate, Egypt"] = {}, ["Aswan Governorate, Egypt"] = {}, ["Ismailia Governorate, Egypt"] = {}, ["Luxor Governorate, Egypt"] = {}, ["Suez Governorate, Egypt"] = {}, ["Port Said Governorate, Egypt"] = {}, ["Matrouh Governorate, Egypt"] = {}, ["North Sinai Governorate, Egypt"] = {}, ["Red Sea Governorate, Egypt"] = {}, ["New Valley Governorate, Egypt"] = {}, ["South Sinai Governorate, Egypt"] = {}, } -- governorates of Egypt export.egypt_group = { key_to_placename = make_key_to_placename(", Egypt$", " Governorate$"), placename_to_key = make_placename_to_key(", Egypt", " Governorate"), default_container = "Ai Cập", default_placetype = "governorate", data = export.egypt_governorates, } export.netherlands_provinces = { ["Drenthe, Netherlands"] = {}, ["Flevoland, Netherlands"] = {}, ["Friesland, Netherlands"] = {}, ["Gelderland, Netherlands"] = {}, ["Groningen, Netherlands"] = {wp = "%l (province)"}, ["Limburg, Netherlands"] = {wp = "%l (%c)"}, ["North Brabant, Netherlands"] = {}, -- Foreign forms get display-canonicalized. ["Noord-Brabant, Netherlands"] = {alias_of = "North Brabant, Netherlands", display = true}, ["North Holland, Netherlands"] = {}, ["Noord-Holland, Netherlands"] = {alias_of = "North Holland, Netherlands", display = true}, ["Overijssel, Netherlands"] = {}, ["South Holland, Netherlands"] = {}, ["Zuid-Holland, Netherlands"] = {alias_of = "South Holland, Netherlands", display = true}, ["Utrecht, Netherlands"] = {wp = "%l (province)"}, ["Zeeland, Netherlands"] = {}, } -- provinces of the Netherlands export.netherlands_group = { default_container = "Hà Lan", default_placetype = "province", default_divs = "municipalities", data = export.netherlands_provinces, } export.new_zealand_regions = { -- North Island regions ["Northland, New Zealand"] = {wp = "%l Region"}, -- ISO 3166-2 code NZ-NTL, number 1, capital [[Whangārei]] ["Auckland, New Zealand"] = {wp = "%l Region"}, -- ISO 3166-2 code NZ-AUK, number 2, capital [[Auckland]] ["Waikato, New Zealand"] = {}, -- ISO 3166-2 code NZ-WKO, number 3, capital [[Hamilton, New Zealand|Hamilton]] ["Bay of Plenty, New Zealand"] = {the = true, wp = "%l Region"}, -- ISO 3166-2 code NZ-BOP, number 4, capital [[Whakatāne]] ["Gisborne, New Zealand"] = {placetype = {"region", "district"}, wp = "%l District"}, -- ISO 3166-2 code NZ-GIS, number 5, capital [[Gisborne, New Zealand|Gisborne]] ["Hawke's Bay, New Zealand"] = {}, -- ISO 3166-2 code NZ-HKB, number 6, capital [[Napier, New Zealand|Napier]] ["Taranaki, New Zealand"] = {}, -- ISO 3166-2 code NZ-TKI, number 7, capital [[Stratford, New Zealand|Stratford]] ["Manawatū-Whanganui, New Zealand"] = {}, -- ISO 3166-2 code NZ-MWT, number 8, capital [[Palmerston North]] ["Manawatu-Whanganui, New Zealand"] = {alias_of = "Manawatū-Whanganui, New Zealand", display = true}, ["Manawatu-Wanganui, New Zealand"] = {alias_of = "Manawatū-Whanganui, New Zealand", display = true}, ["Wellington, New Zealand"] = {wp = "%l Region"}, -- ISO 3166-2 code NZ-WGN, number 9, capital [[Wellington]] -- South Island regions ["Tasman, New Zealand"] = {placetype = {"region", "district"}, wp = "%l District"}, -- ISO 3166-2 code NZ-TAS, number 10, capital [[Richmond, New Zealand|Richmond]] ["Nelson, New Zealand"] = {placetype = {"region", "thành phố"}, wp = "%l, %c", is_city = true}, -- ISO 3166-2 code NZ-NSN, number 11, capital [[Nelson, New Zealand|Nelson]] ["Marlborough, New Zealand"] = {placetype = {"region", "district"}, wp = "%l District"}, -- ISO 3166-2 code NZ-MBH, number 12, capital [[Blenheim, New Zealand|Blenheim]] ["West Coast, New Zealand"] = {the = true, wp = "%l Region"}, -- ISO 3166-2 code NZ-WTC, number 13, capital [[Greymouth]] ["Canterbury, New Zealand"] = {wp = "%l Region"}, -- ISO 3166-2 code NZ-CAN, number 14, capital [[Christchurch]] ["Otago, New Zealand"] = {}, -- ISO 3166-2 code NZ-OTA, number 15, capital [[Dunedin]] ["Southland, New Zealand"] = {wp = "%l Region"}, -- ISO 3166-2 code NZ-STL, number 16, capital [[Invercargill]] } -- regions of New Zealand export.new_zealand_group = { default_container = "New Zealand", default_placetype = "region", data = export.new_zealand_regions, } export.nigeria_states = { ["Abia State, Nigeria"] = {}, ["Adamawa State, Nigeria"] = {}, ["Akwa Ibom State, Nigeria"] = {}, ["Anambra State, Nigeria"] = {}, ["Bauchi State, Nigeria"] = {}, ["Bayelsa State, Nigeria"] = {}, ["Benue State, Nigeria"] = {}, ["Borno State, Nigeria"] = {}, ["Cross River State, Nigeria"] = {}, ["Delta State, Nigeria"] = {}, ["Ebonyi State, Nigeria"] = {}, ["Edo State, Nigeria"] = {}, ["Ekiti State, Nigeria"] = {}, ["Enugu State, Nigeria"] = {}, ["Federal Capital Territory, Nigeria"] = { -- not a state but allow it to be referenced as one in holonyms placetype = {"federal territory", "territory", "state"}, the = true, wp = "%l (%c)", }, ["Gombe State, Nigeria"] = {}, ["Imo State, Nigeria"] = {}, ["Jigawa State, Nigeria"] = {}, ["Kaduna State, Nigeria"] = {}, ["Kano State, Nigeria"] = {}, ["Katsina State, Nigeria"] = {}, ["Kebbi State, Nigeria"] = {}, ["Kogi State, Nigeria"] = {}, ["Kwara State, Nigeria"] = {}, ["Lagos State, Nigeria"] = {}, ["Nasarawa State, Nigeria"] = {}, ["Niger State, Nigeria"] = {}, ["Ogun State, Nigeria"] = {}, ["Ondo State, Nigeria"] = {}, ["Osun State, Nigeria"] = {}, ["Oyo State, Nigeria"] = {}, ["Plateau State, Nigeria"] = {}, ["Rivers State, Nigeria"] = {}, ["Sokoto State, Nigeria"] = {}, ["Taraba State, Nigeria"] = {}, ["Yobe State, Nigeria"] = {}, ["Zamfara State, Nigeria"] = {}, } -- states of Nigeria export.nigeria_group = { key_to_placename = make_key_to_placename(", Nigeria$", " State$"), placename_to_key = make_placename_to_key(", Nigeria", " State"), default_container = "Nigeria", default_placetype = "state", data = export.nigeria_states, } export.north_korea_provinces = { ["Chagang Province, North Korea"] = {}, ["North Hamgyong Province, North Korea"] = {}, ["South Hamgyong Province, North Korea"] = {}, ["North Hwanghae Province, North Korea"] = {}, ["South Hwanghae Province, North Korea"] = {}, ["Kangwon Province, North Korea"] = {wp = "%l (%c)"}, ["North Pyongan Province, North Korea"] = {}, ["South Pyongan Province, North Korea"] = {}, ["Ryanggang Province, North Korea"] = {}, } -- provinces of North Korea export.north_korea_group = { key_to_placename = make_key_to_placename(", North Korea$", " Province$"), placename_to_key = make_placename_to_key(", North Korea", " Province"), default_container = "Cộng hòa Dân chủ Nhân dân Triều Tiên", default_placetype = "province", data = export.north_korea_provinces, } export.norwegian_counties = { ["Oslo, Norway"] = {}, ["Rogaland, Norway"] = {}, ["Møre og Romsdal, Norway"] = {}, ["Nordland, Norway"] = {}, ["Østfold, Norway"] = {}, ["Akershus, Norway"] = {}, ["Buskerud, Norway"] = {}, -- the following two were merged into Innlandet -- ["Hedmark, Norway"] = {}, -- ["Oppland, Norway"] = {}, ["Innlandet, Norway"] = {}, ["Vestfold, Norway"] = {}, ["Telemark, Norway"] = {}, -- the following two were merged into Agder -- ["Aust-Agder, Norway"] = {}, -- ["Vest-Agder, Norway"] = {}, ["Agder, Norway"] = {}, -- the following two were merged into Vestland -- ["Hordaland, Norway"] = {}, -- ["Sogn og Fjordane, Norway"] = {}, ["Vestland, Norway"] = {}, ["Trøndelag, Norway"] = {}, ["Troms, Norway"] = {}, ["Finnmark, Norway"] = {}, } -- counties of Norway export.norway_group = { default_container = "Na Uy", default_placetype = "county", data = export.norwegian_counties, } export.pakistan_provinces_and_territories = { ["Azad Kashmir, Pakistan"] = { placetype = {"administrative territory", "autonomous territory", "territory"}, }, ["Azad Jammu and Kashmir, Pakistan"] = {alias_of = "Azad Kashmir, Pakistan", display = true}, ["Balochistan, Pakistan"] = {wp = "%l, %c"}, ["Gilgit-Baltistan, Pakistan"] = { placetype = {"administrative territory", "territory"}, }, ["Islamabad Capital Territory, Pakistan"] = { the = true, divs = {}, -- no divisions placetype = {"federal territory", "administrative territory", "territory"}, }, -- Islamabad is an accepted alias for Islamabad Capital Territory given the above placetypes ["Islamabad, Pakistan"] = {alias_of = "Islamabad Capital Territory, Pakistan"}, ["Khyber Pakhtunkhwa, Pakistan"] = {}, ["Punjab, Pakistan"] = {wp = "%l, %c"}, ["Sindh, Pakistan"] = {}, } -- provinces and territories of Pakistan export.pakistan_group = { default_container = "Pakistan", default_placetype = "province", default_divs = "divisions", data = export.pakistan_provinces_and_territories, } export.philippines_provinces = { ["Abra, Philippines"] = {wp = "%l (province)"}, ["Agusan del Norte, Philippines"] = {}, ["Agusan del Sur, Philippines"] = {}, ["Aklan, Philippines"] = {}, ["Albay, Philippines"] = {}, ["Antique, Philippines"] = {wp = "%l (province)"}, ["Apayao, Philippines"] = {}, ["Aurora, Philippines"] = {wp = "%l (province)"}, ["Basilan, Philippines"] = {}, ["Bataan, Philippines"] = {}, ["Batanes, Philippines"] = {}, ["Batangas, Philippines"] = {}, ["Benguet, Philippines"] = {}, ["Biliran, Philippines"] = {}, ["Bohol, Philippines"] = {}, ["Bukidnon, Philippines"] = {}, ["Bulacan, Philippines"] = {}, ["Cagayan, Philippines"] = {}, ["Camarines Norte, Philippines"] = {}, ["Camarines Sur, Philippines"] = {}, ["Camiguin, Philippines"] = {}, ["Capiz, Philippines"] = {}, ["Catanduanes, Philippines"] = {}, ["Cavite, Philippines"] = {}, ["Cebu, Philippines"] = {}, ["Cotabato, Philippines"] = {}, ["Davao de Oro, Philippines"] = {}, ["Davao del Norte, Philippines"] = {}, ["Davao del Sur, Philippines"] = {}, ["Davao Occidental, Philippines"] = {}, ["Davao Oriental, Philippines"] = {}, ["Dinagat Islands, Philippines"] = {the = true}, ["Eastern Samar, Philippines"] = {}, ["Guimaras, Philippines"] = {}, ["Ifugao, Philippines"] = {}, ["Ilocos Norte, Philippines"] = {}, ["Ilocos Sur, Philippines"] = {}, ["Iloilo, Philippines"] = {}, ["Isabela, Philippines"] = {wp = "%l (province)"}, ["Kalinga, Philippines"] = {wp = "%l (province)"}, ["La Union, Philippines"] = {}, ["Laguna, Philippines"] = {wp = "%l (province)"}, ["Lanao del Norte, Philippines"] = {}, ["Lanao del Sur, Philippines"] = {}, ["Leyte, Philippines"] = {wp = "%l (province)"}, ["Maguindanao del Norte, Philippines"] = {}, ["Maguindanao del Sur, Philippines"] = {}, ["Marinduque, Philippines"] = {}, ["Masbate, Philippines"] = {}, ["Misamis Occidental, Philippines"] = {}, ["Misamis Oriental, Philippines"] = {}, ["Mountain Province, Philippines"] = {}, ["Negros Occidental, Philippines"] = {}, ["Negros Oriental, Philippines"] = {}, ["Northern Samar, Philippines"] = {}, ["Nueva Ecija, Philippines"] = {}, ["Nueva Vizcaya, Philippines"] = {}, ["Occidental Mindoro, Philippines"] = {}, ["Oriental Mindoro, Philippines"] = {}, ["Palawan, Philippines"] = {}, ["Pampanga, Philippines"] = {}, ["Pangasinan, Philippines"] = {}, ["Quezon, Philippines"] = {}, ["Quirino, Philippines"] = {}, ["Rizal, Philippines"] = {wp = "%l (province)"}, ["Romblon, Philippines"] = {}, ["Samar, Philippines"] = {wp = "%l (province)"}, ["Sarangani, Philippines"] = {}, ["Siquijor, Philippines"] = {}, ["Sorsogon, Philippines"] = {}, ["South Cotabato, Philippines"] = {}, ["Southern Leyte, Philippines"] = {}, ["Sultan Kudarat, Philippines"] = {}, ["Sulu, Philippines"] = {}, ["Surigao del Norte, Philippines"] = {}, ["Surigao del Sur, Philippines"] = {}, ["Tarlac, Philippines"] = {}, ["Tawi-Tawi, Philippines"] = {}, ["Zambales, Philippines"] = {}, ["Zamboanga del Norte, Philippines"] = {}, ["Zamboanga del Sur, Philippines"] = {}, ["Zamboanga Sibugay, Philippines"] = {}, -- not a province but treated as one; allow it to be referred to as a province in holonyms ["Metro Manila, Philippines"] = {placetype = {"region", "province"}}, } -- provinces of the Philippines export.philippines_group = { default_container = "Philippines", default_placetype = "province", default_divs = {"municipalities", "barangays"}, data = export.philippines_provinces, } export.poland_voivodeships = { ["Lower Silesian Voivodeship, Poland"] = {}, -- abbr DS, code 02, capital Wrocław ["Kuyavian-Pomeranian Voivodeship, Poland"] = {}, -- abbr KP, code 04, capital Bydgoszcz (seat of voivode), Toruń (seat of sejmik and marshal) ["Lublin Voivodeship, Poland"] = {}, -- abbr LU, code 06, capital Lublin ["Lubusz Voivodeship, Poland"] = {}, -- abbr LB, code 08, capital Gorzów Wielkopolski (seat of voivode), Zielona Góra (seat of sejmik and marshal) ["Lodz Voivodeship, Poland"] = {wp = "Łódź Voivodeship"}, -- abbr LD, code 10, capital Łódź ["Łódź Voivodeship, Poland"] = {alias_of = "Lodz Voivodeship, Poland", display = true, display_as_full = true}, ["Lesser Poland Voivodeship, Poland"] = {}, -- abbr MA, code 12, capital Kraków ["Masovian Voivodeship, Poland"] = {}, -- abbr MZ, code 14, capital Warsaw ["Opole Voivodeship, Poland"] = {}, -- abbr OP, code 16, capital Opole ["Subcarpathian Voivodeship, Poland"] = {}, -- abbr PK, code 18, capital Rzeszów ["Podlaskie Voivodeship, Poland"] = {}, -- abbr PD, code 20, capital Białystok ["Pomeranian Voivodeship, Poland"] = {}, -- abbr PM, code 22, capital Gdańsk ["Silesian Voivodeship, Poland"] = {}, -- abbr SL, code 24, capital Katowice ["Holy Cross Voivodeship, Poland"] = {wp = "Świętokrzyskie Voivodeship"}, -- abbr SK, code 26, capital Kielce ["Świętokrzyskie Voivodeship, Poland"] = {alias_of = "Holy Cross Voivodeship, Poland", display = true, display_as_full = true}, ["Warmian-Masurian Voivodeship, Poland"] = {}, -- abbr WN, code 28, capital Olsztyn ["Greater Poland Voivodeship, Poland"] = {}, -- abbr WP, code 30, capital Poznań ["West Pomeranian Voivodeship, Poland"] = {}, -- abbr ZP, code 32, capital Szczecin } -- voivodeships of Poland export.poland_group = { key_to_placename = make_key_to_placename(", Poland$", " Voivodeship$"), placename_to_key = make_placename_to_key(", Poland", " Voivodeship"), default_container = "Ba Lan", default_placetype = "voivodeship", default_divs = { -- "counties", -- not enough of them currently {type = "Polish colonies", cat_as = {{type = "villages", prep = "in"}}}, }, data = export.poland_voivodeships, } export.portugal_districts_and_autonomous_regions = { ["Azores, Portugal"] = {the = true, placetype = {"autonomous region", "region"}}, ["Aveiro District, Portugal"] = {}, ["Beja, Bồ Đào Nha"] = {}, ["Braga District, Portugal"] = {}, ["Bragança District, Portugal"] = {}, ["Castelo Branco District, Portugal"] = {}, ["Coimbra District, Portugal"] = {}, ["Évora District, Portugal"] = {}, ["Faro District, Portugal"] = {}, ["Guarda District, Portugal"] = {}, ["Leiria District, Portugal"] = {}, ["Lisbon District, Portugal"] = {}, ["Lisboa District, Portugal"] = {alias_of = "Lisbon District, Portugal", display = true}, ["Madeira, Portugal"] = {placetype = {"autonomous region", "region"}}, ["Portalegre District, Portugal"] = {}, ["Porto District, Portugal"] = {}, ["Santarém District, Portugal"] = {}, ["Setúbal District, Portugal"] = {}, ["Viana do Castelo District, Portugal"] = {}, ["Vila Real District, Portugal"] = {}, ["Viseu District, Portugal"] = {}, } local function portugal_placename_to_key(placename) if placename == "Azores" or placename == "Madeira" then return placename .. ", Portugal" end if placename:find(" District$") then return placename .. ", Portugal" end return placename .. " District, Portugal" end -- districts and autonomous regions of Portugal export.portugal_group = { key_to_placename = make_key_to_placename(", Portugal$", " District$"), placename_to_key = portugal_placename_to_key, default_container = "Portugal", default_placetype = "district", default_divs = "municipalities", data = export.portugal_districts_and_autonomous_regions, } export.romania_counties = { ["Alba County, Romania"] = {}, ["Arad County, Romania"] = {}, ["Argeș County, Romania"] = {}, ["Bacău County, Romania"] = {}, ["Bihor County, Romania"] = {}, ["Bistrița-Năsăud County, Romania"] = {}, ["Botoșani County, Romania"] = {}, ["Brașov County, Romania"] = {}, ["Brăila County, Romania"] = {}, -- Bucharest: not in a county ["Buzău County, Romania"] = {}, ["Caraș-Severin County, Romania"] = {}, ["Cluj County, Romania"] = {}, ["Constanța County, Romania"] = {}, ["Covasna County, Romania"] = {}, ["Călărași County, Romania"] = {}, ["Dolj County, Romania"] = {}, ["Dâmbovița County, Romania"] = {}, ["Galați County, Romania"] = {}, ["Giurgiu County, Romania"] = {}, ["Gorj County, Romania"] = {}, ["Harghita County, Romania"] = {}, ["Hunedoara County, Romania"] = {}, ["Ialomița County, Romania"] = {}, ["Iași County, Romania"] = {}, ["Ilfov County, Romania"] = {}, ["Maramureș County, Romania"] = {}, ["Mehedinți County, Romania"] = {}, ["Mureș County, Romania"] = {}, ["Neamț County, Romania"] = {}, ["Olt County, Romania"] = {}, ["Prahova County, Romania"] = {}, ["Satu Mare County, Romania"] = {}, ["Sibiu County, Romania"] = {}, ["Suceava County, Romania"] = {}, ["Sălaj County, Romania"] = {}, ["Teleorman County, Romania"] = {}, ["Timiș County, Romania"] = {}, ["Tulcea County, Romania"] = {}, ["Vaslui County, Romania"] = {}, ["Vrancea County, Romania"] = {}, ["Vâlcea County, Romania"] = {}, } -- counties of Romania export.romania_group = { key_to_placename = make_key_to_placename(", Romania$", " County$"), placename_to_key = make_placename_to_key(", Romania", " County"), default_container = "Romania", default_placetype = "county", default_divs = "communes", data = export.romania_counties, } local function make_russia_federal_subject_spec(spectype, use_the, wp) return { placetype = spectype, the = not not use_the, bare_category_parent_type = {"federal subjects", spectype .. "s"}, wp = wp, } end local russia_autonomous_okrug_no_the = {placetype = {"autonomous okrug", "okrug"}, bare_category_parent_type = {"federal subjects", "autonomous okrugs"}} local russia_autonomous_okrug_the = {placetype = {"autonomous okrug", "okrug"}, bare_category_parent_type = {"federal subjects", "autonomous okrugs"}, the = true} local russia_krai = make_russia_federal_subject_spec("krai") local russia_oblast = make_russia_federal_subject_spec("oblast") local russia_republic_the = make_russia_federal_subject_spec("republic", "use the") local russia_republic_no_the = make_russia_federal_subject_spec("republic") export.russia_federal_subjects = { -- autonomous oblasts ["Jewish Autonomous Oblast, Russia"] = {the = true, placetype = {"autonomous oblast", "oblast"}, bare_category_parent_type = {"federal subjects", "autonomous oblasts"}}, -- autonomous okrugs ["Chukotka Autonomous Okrug, Russia"] = russia_autonomous_okrug_the, ["Chukotka, Russia"] = {alias_of = "Chukotka Autonomous Okrug, Russia"}, ["Khanty-Mansi Autonomous Okrug, Russia"] = russia_autonomous_okrug_the, ["Khanty-Mansia, Russia"] = {alias_of = "Khanty-Mansi Autonomous Okrug, Russia"}, ["Khantia-Mansia, Russia"] = {alias_of = "Khanty-Mansi Autonomous Okrug, Russia"}, ["Yugra, Russia"] = {alias_of = "Khanty-Mansi Autonomous Okrug, Russia"}, ["Nenets Autonomous Okrug, Russia"] = russia_autonomous_okrug_the, ["Nenetsia, Russia"] = {alias_of = "Nenets Autonomous Okrug, Russia"}, ["Yamalo-Nenets Autonomous Okrug, Russia"] = russia_autonomous_okrug_the, ["Yamalia, Russia"] = {alias_of = "Yamalo-Nenets Autonomous Okrug, Russia"}, -- krais ["Altai Krai, Russia"] = russia_krai, ["Kamchatka Krai, Russia"] = russia_krai, ["Khabarovsk Krai, Russia"] = russia_krai, ["Krasnodar Krai, Russia"] = russia_krai, ["Krasnoyarsk Krai, Russia"] = russia_krai, ["Perm Krai, Russia"] = russia_krai, ["Primorsky Krai, Russia"] = russia_krai, ["Stavropol Krai, Russia"] = russia_krai, ["Zabaykalsky Krai, Russia"] = russia_krai, -- oblasts ["Amur Oblast, Russia"] = russia_oblast, ["Arkhangelsk Oblast, Russia"] = russia_oblast, ["Astrakhan Oblast, Russia"] = russia_oblast, ["Belgorod Oblast, Russia"] = russia_oblast, ["Bryansk Oblast, Russia"] = russia_oblast, ["Chelyabinsk Oblast, Russia"] = russia_oblast, ["Irkutsk Oblast, Russia"] = russia_oblast, ["Ivanovo Oblast, Russia"] = russia_oblast, ["Kaliningrad Oblast, Russia"] = russia_oblast, ["Kaluga Oblast, Russia"] = russia_oblast, ["Kemerovo Oblast, Russia"] = russia_oblast, ["Kirov Oblast, Russia"] = russia_oblast, ["Kostroma Oblast, Russia"] = russia_oblast, ["Kurgan Oblast, Russia"] = russia_oblast, ["Kursk Oblast, Russia"] = russia_oblast, ["Leningrad Oblast, Russia"] = russia_oblast, ["Lipetsk Oblast, Russia"] = russia_oblast, ["Magadan Oblast, Russia"] = russia_oblast, ["Moscow Oblast, Russia"] = russia_oblast, ["Murmansk Oblast, Russia"] = russia_oblast, ["Nizhny Novgorod Oblast, Russia"] = russia_oblast, ["Novgorod Oblast, Russia"] = russia_oblast, ["Novosibirsk Oblast, Russia"] = russia_oblast, ["Omsk Oblast, Russia"] = russia_oblast, ["Orenburg Oblast, Russia"] = russia_oblast, ["Oryol Oblast, Russia"] = russia_oblast, ["Penza Oblast, Russia"] = russia_oblast, ["Pskov Oblast, Russia"] = russia_oblast, ["Rostov Oblast, Russia"] = russia_oblast, ["Ryazan Oblast, Russia"] = russia_oblast, ["Sakhalin Oblast, Russia"] = russia_oblast, ["Samara Oblast, Russia"] = russia_oblast, ["Saratov Oblast, Russia"] = russia_oblast, ["Smolensk Oblast, Russia"] = russia_oblast, ["Sverdlovsk Oblast, Russia"] = russia_oblast, ["Tambov Oblast, Russia"] = russia_oblast, ["Tomsk Oblast, Russia"] = russia_oblast, ["Tula Oblast, Russia"] = russia_oblast, ["Tver Oblast, Russia"] = russia_oblast, ["Tyumen Oblast, Russia"] = russia_oblast, ["Ulyanovsk Oblast, Russia"] = russia_oblast, ["Vladimir Oblast, Russia"] = russia_oblast, ["Volgograd Oblast, Russia"] = russia_oblast, ["Vologda Oblast, Russia"] = russia_oblast, ["Voronezh Oblast, Russia"] = russia_oblast, ["Yaroslavl Oblast, Russia"] = russia_oblast, -- republics -- -- We only need to include cases that aren't just shortened versions of the full federal subject name (i.e. where -- words like "Republic" and "Oblast" are omitted but the name is not otherwise modified; these are handled by -- key_to_placename). Non-display-canonicalizing aliases are generally due to differences in the presence or absence -- of "the". ["Adygea, Russia"] = russia_republic_no_the, ["Republic of Adygea, Russia"] = {alias_of = "Adygea, Russia"}, ["Bashkortostan, Russia"] = russia_republic_no_the, ["Republic of Bashkortostan, Russia"] = {alias_of = "Bashkortostan, Russia"}, ["Bashkiria, Russia"] = {alias_of = "Bashkortostan, Russia"}, ["Buryatia, Russia"] = russia_republic_no_the, ["Republic of Buryatia, Russia"] = {alias_of = "Buryatia, Russia"}, ["Dagestan, Russia"] = russia_republic_no_the, ["Republic of Dagestan, Russia"] = {alias_of = "Dagestan, Russia"}, ["Ingushetia, Russia"] = russia_republic_no_the, ["Republic of Ingushetia, Russia"] = {alias_of = "Ingushetia, Russia"}, ["Kalmykia, Russia"] = russia_republic_no_the, ["Republic of Kalmykia, Russia"] = {alias_of = "Kalmykia, Russia"}, ["Karelia, Russia"] = make_russia_federal_subject_spec("republic", nil, "Republic of Karelia"), ["Republic of Karelia, Russia"] = {alias_of = "Karelia, Russia"}, ["Khakassia, Russia"] = russia_republic_no_the, ["Republic of Khakassia, Russia"] = {alias_of = "Khakassia, Russia"}, ["Mordovia, Russia"] = russia_republic_no_the, ["Republic of Mordovia, Russia"] = {alias_of = "Mordovia, Russia"}, ["North Ossetia-Alania, Russia"] = make_russia_federal_subject_spec("republic", nil, "North Ossetia–Alania"), -- with en-dash ["Republic of North Ossetia-Alania, Russia"] = {alias_of = "North Ossetia-Alania, Russia"}, ["North Ossetia, Russia"] = {alias_of = "North Ossetia-Alania, Russia", display = true}, ["Alania, Russia"] = {alias_of = "North Ossetia-Alania, Russia", display = true}, ["Tatarstan, Russia"] = russia_republic_no_the, ["Republic of Tatarstan, Russia"] = {alias_of = "Tatarstan, Russia"}, ["Altai Republic, Russia"] = russia_republic_the, ["Chechnya, Russia"] = russia_republic_no_the, ["Chechen Republic, Russia"] = {alias_of = "Chechnya, Russia"}, ["Chuvashia, Russia"] = russia_republic_no_the, ["Chuvash Republic, Russia"] = {alias_of = "Chuvashia, Russia"}, ["Kabardino-Balkaria, Russia"] = russia_republic_no_the, ["Kabardino-Balkariya, Russia"] = {alias_of = "Kabardino-Balkaria, Russia", display = true}, ["Kabardino-Balkarian Republic, Russia"] = {alias_of = "Kabardino-Balkaria, Russia"}, ["Kabardino-Balkar Republic, Russia"] = {alias_of = "Kabardino-Balkaria, Russia", display = "Kabardino-Balkarian Republic, Russia"}, ["Karachay-Cherkessia, Russia"] = russia_republic_no_the, ["Karachay-Cherkess Republic, Russia"] = {alias_of = "Karachay-Cherkessia, Russia"}, ["Komi, Russia"] = make_russia_federal_subject_spec("republic", nil, "Komi Republic"), ["Komi Republic, Russia"] = {alias_of = "Komi, Russia"}, ["Mari El, Russia"] = russia_republic_no_the, ["Mari El Republic, Russia"] = {alias_of = "Mari El, Russia"}, ["Sakha, Russia"] = make_russia_federal_subject_spec("republic", nil, "Sakha Republic"), ["Sakha Republic, Russia"] = {alias_of = "Sakha, Russia"}, ["Yakutia, Russia"] = {alias_of = "Sakha, Russia"}, ["Yakutiya, Russia"] = {alias_of = "Sakha, Russia", display = "Yakutia, Russia"}, ["Republic of Yakutia (Sakha), Russia"] = {alias_of = "Sakha, Russia", display = "Sakha Republic, Russia", the = true}, ["Tuva, Russia"] = russia_republic_no_the, ["Tyva, Russia"] = {alias_of = "Tuva, Russia", display = true}, ["Tuva Republic, Russia"] = {alias_of = "Tuva, Russia"}, ["Tyva Republic, Russia"] = {alias_of = "Tuva, Russia", display= "Tuva Republic, Russia"}, ["Udmurtia, Russia"] = russia_republic_no_the, ["Udmurt Republic, Russia"] = {alias_of = "Udmurtia, Russia"}, -- Not included due to being unrecognized and only partly controlled: -- ["Crimea, Russia"] = make_russia_federal_subject_spec("republic", nil, "Republic of Crimea (Russia)") -- ["Donetsk People's Republic, Russia"] = russia_republic_the, -- ["Luhansk People's Republic, Russia"] = russia_republic_the, -- ["Zaporozhye Oblast, Russia"] = make_russia_federal_subject_spec("oblast", nil, "Russian occupation of Zaporizhzhia Oblast"), -- ["Kherson Oblast, Russia"] = make_russia_federal_subject_spec("oblast", nil, "Russian occupation of Kherson Oblast"), -- There are also federal cities (not included because they're cities): -- Moscow, Saint Petersburg; Sevastopol (unrecognized; same status as for "Crimea, Russia" above) } local function russia_key_to_placename(key) key = key:gsub(",.*", "") local full_placename = key if key == "Jewish Autonomous Oblast" then return full_placename, full_placename end local elliptical_placename for _, suffix in ipairs({"Krai", "Oblast"}) do elliptical_placename = key:match("^(.*) " .. suffix .. "$") if elliptical_placename then return full_placename, elliptical_placename end end return full_placename, full_placename end local function russia_placename_to_key(placename) local key = placename .. ", Russia" if export.russia_federal_subjects[key] then return key end -- We allow the user to say e.g. "obl/Samara" in place of "obl/Samara Oblast". for _, suffix in ipairs({"Krai", "Oblast"}) do local suffixed_key = placename .. " " .. suffix .. ", Russia" if export.russia_federal_subjects[suffixed_key] then return suffixed_key end end return placename .. ", Russia" end local function construct_russia_federal_subject_keydesc(group, key, spec) local placename = key:gsub(",.*", "") local linked_placename = export.construct_linked_placename(spec, placename) local placetype = spec.placetype if type(placetype) == "table" then placetype = placetype[1] end if placetype == "oblast" then -- Hack: Oblasts generally don't have entries under "Foo Oblast" -- but just under "Foo", so fix the linked key appropriately; -- doesn't apply to the Jewish Autonomous Oblast linked_placename = linked_placename:gsub(" Oblast%]%]", "%]%] Oblast") end return linked_placename .. ", a [[federal subject]] ([[" .. placetype .. "]]) of [[Russia]]" end -- federal subjects of Russia export.russia_group = { key_to_placename = russia_key_to_placename, placename_to_key = russia_placename_to_key, default_container = "Nga", default_keydesc = construct_russia_federal_subject_keydesc, default_overriding_bare_label_parents = {"federal subjects of Russia", "+++"}, data = export.russia_federal_subjects, } export.saudi_arabia_provinces = { ["Riyadh Province, Saudi Arabia"] = {}, ["Mecca Province, Saudi Arabia"] = {}, -- Name is too generic to assume it's in Saudi Arabia if not specified. ["Eastern Province, Saudi Arabia"] = {no_auto_augment_container = true, wp = "%l, %c"}, ["Medina Province, Saudi Arabia"] = {wp = "%l (%c)"}, ["Aseer Province, Saudi Arabia"] = {wp = "Asir"}, ["Asir Province, Saudi Arabia"] = {alias_of = "Aseer Province, Saudi Arabia", display = true}, ["Jazan Province, Saudi Arabia"] = {}, ["Qassim Province, Saudi Arabia"] = {wp = "Al-Qassim Province"}, ["Al-Qassim Province, Saudi Arabia"] = {alias_of = "Qassim Province, Saudi Arabia", display = true}, ["Tabuk Province, Saudi Arabia"] = {}, ["Hail Province, Saudi Arabia"] = {wp = "Ḥa'il Province"}, ["Ha'il Province, Saudi Arabia"] = {alias_of = "Hail Province, Saudi Arabia", display = true}, ["Ḥa'il Province, Saudi Arabia"] = {alias_of = "Hail Province, Saudi Arabia", display = true}, ["Al-Jouf Province, Saudi Arabia"] = {wp = "Al-Jawf Province"}, ["Al-Jawf Province, Saudi Arabia"] = {alias_of = "Al-Jouf Province, Saudi Arabia", display = true}, ["Najran Province, Saudi Arabia"] = {}, ["Northern Borders Province, Saudi Arabia"] = {}, ["Al-Bahah Province, Saudi Arabia"] = {}, } -- provinces of Saudi Arabia export.saudi_arabia_group = { key_to_placename = make_key_to_placename(", Saudi Arabia$", " Province$"), placename_to_key = make_placename_to_key(", Saudi Arabia", " Province"), default_container = "Ả Rập Xê Út", default_placetype = "province", data = export.saudi_arabia_provinces, } export.south_africa_provinces = { ["Eastern Cape, South Africa"] = {the = true}, ["Free State, South Africa"] = {the = true, wp = "%l (province)"}, ["Gauteng, South Africa"] = {}, ["KwaZulu-Natal, South Africa"] = {}, ["Limpopo, South Africa"] = {}, ["Mpumalanga, South Africa"] = {}, -- per Wikipedia and other sources, `North West` doesn't normally have `the` before it ["North West, South Africa"] = {wp = "%l (South African province)"}, ["Northern Cape, South Africa"] = {the = true}, ["Western Cape, South Africa"] = {the = true}, } -- provinces of South Africa export.south_africa_group = { default_container = "South Africa", default_placetype = "province", default_divs = "municipalities", data = export.south_africa_provinces, } export.south_korea_provinces = { ["North Chungcheong Province, South Korea"] = {}, ["South Chungcheong Province, South Korea"] = {}, ["Gangwon Province, South Korea"] = {wp = "%l, %c"}, ["Gyeonggi Province, South Korea"] = {}, ["North Gyeongsang Province, South Korea"] = {}, ["South Gyeongsang Province, South Korea"] = {}, ["North Jeolla Province, South Korea"] = {}, ["South Jeolla Province, South Korea"] = {}, ["Jeju Province, South Korea"] = {}, } -- provinces of South Korea export.south_korea_group = { key_to_placename = make_key_to_placename(", South Korea$", " Province$"), placename_to_key = make_placename_to_key(", South Korea", " Province"), default_container = "Hàn Quốc", default_placetype = "province", data = export.south_korea_provinces, } export.spain_autonomous_communities = { ["Andalusia, Spain"] = {}, ["Aragon, Spain"] = {}, ["Asturias, Spain"] = {}, ["Balearic Islands, Spain"] = {the = true}, ["Basque Country, Spain"] = {the = true, wp = "%l (autonomous community)"}, ["Canary Islands, Spain"] = {the = true}, ["Cantabria, Spain"] = {}, ["Castile and León, Spain"] = {}, ["Castilla-La Mancha, Spain"] = {wp = "Castilla–La Mancha"}, -- with en-dash ["Catalonia, Spain"] = {}, ["Community of Madrid, Spain"] = {the = true}, ["Extremadura, Spain"] = {}, ["Galicia, Spain"] = {wp = "%l (Spain)"}, ["La Rioja, Spain"] = {}, ["Murcia, Spain"] = {wp = "Region of %l"}, ["Navarre, Spain"] = {}, ["Valencia, Spain"] = {wp = "Valencian Community"}, ["Valencian Community, Spain"] = {alias_of = "Valencia, Spain"}, } -- autonomous communities of Spain export.spain_group = { default_container = "Tây Ban Nha", default_placetype = "autonomous community", default_divs = {"municipalities", "comarcas"}, data = export.spain_autonomous_communities, } export.taiwan_counties = { ["Changhua County, Taiwan"] = {}, ["Chiayi County, Taiwan"] = {}, ["Hsinchu County, Taiwan"] = {}, ["Hualien County, Taiwan"] = {}, ["Kinmen County, Taiwan"] = {wp = "Kinmen"}, ["Lienchiang County, Taiwan"] = {wp = "Matsu Islands"}, ["Miaoli County, Taiwan"] = {}, ["Nantou County, Taiwan"] = {}, ["Penghu County, Taiwan"] = {wp = "Penghu"}, ["Pingtung County, Taiwan"] = {}, ["Taitung County, Taiwan"] = {}, ["Yilan County, Taiwan"] = {wp = "%l, %c"}, ["Yunlin County, Taiwan"] = {}, } -- counties of Taiwan export.taiwan_group = { key_to_placename = make_key_to_placename(", Taiwan$", " County$"), placename_to_key = make_placename_to_key(", Taiwan", " County"), default_container = "Đài Loan", default_placetype = "county", default_divs = {"districts", "townships"}, data = export.taiwan_counties, } export.thailand_provinces = { -- Bangkok (special administrative area) ["Amnat Charoen Province, Thailand"] = {}, ["Ang Thong Province, Thailand"] = {}, ["Bueng Kan Province, Thailand"] = {}, ["Buriram Province, Thailand"] = {}, ["Chachoengsao Province, Thailand"] = {}, ["Chai Nat Province, Thailand"] = {}, ["Chaiyaphum Province, Thailand"] = {}, ["Chanthaburi Province, Thailand"] = {}, ["Chiang Mai Province, Thailand"] = {}, ["Chiang Rai Province, Thailand"] = {}, ["Chonburi Province, Thailand"] = {}, ["Chumphon Province, Thailand"] = {}, ["Kalasin Province, Thailand"] = {}, ["Kamphaeng Phet Province, Thailand"] = {}, ["Kanchanaburi Province, Thailand"] = {}, ["Khon Kaen Province, Thailand"] = {}, ["Krabi Province, Thailand"] = {}, ["Lampang Province, Thailand"] = {}, ["Lamphun Province, Thailand"] = {}, ["Loei Province, Thailand"] = {}, ["Lopburi Province, Thailand"] = {}, ["Mae Hong Son Province, Thailand"] = {}, ["Maha Sarakham Province, Thailand"] = {}, ["Mukdahan Province, Thailand"] = {}, ["Nakhon Nayok Province, Thailand"] = {}, ["Nakhon Pathom Province, Thailand"] = {}, ["Nakhon Phanom Province, Thailand"] = {}, ["Nakhon Ratchasima Province, Thailand"] = {}, ["Nakhon Sawon Province, Thailand"] = {}, ["Nakhon Si Thammarat Province, Thailand"] = {}, ["Nan Province, Thailand"] = {}, ["Narathiwat Province, Thailand"] = {}, ["Nong Bua Lamphu Province, Thailand"] = {}, ["Nong Khai Province, Thailand"] = {}, ["Nonthaburi Province, Thailand"] = {}, ["Pathum Thani Province, Thailand"] = {}, ["Pattani Province, Thailand"] = {}, ["Phang Nga Province, Thailand"] = {}, ["Phatthalung Province, Thailand"] = {}, ["Phayao Province, Thailand"] = {}, ["Phetchabun Province, Thailand"] = {}, ["Phetchaburi Province, Thailand"] = {}, ["Phichit Province, Thailand"] = {}, ["Phitsanulok Province, Thailand"] = {}, ["Phra Nakhon Si Ayutthaya Province, Thailand"] = {}, ["Phrae Province, Thailand"] = {}, ["Phuket Province, Thailand"] = {}, ["Prachinburi Province, Thailand"] = {}, ["Prachuap Khiri Khan Province, Thailand"] = {}, ["Ranong Province, Thailand"] = {}, ["Ratchaburi Province, Thailand"] = {}, ["Rayong Province, Thailand"] = {}, ["Roi Et Province, Thailand"] = {}, ["Sa Kaeo Province, Thailand"] = {}, ["Sakon Nakhon Province, Thailand"] = {}, ["Samut Prakan Province, Thailand"] = {}, ["Samut Sakhon Province, Thailand"] = {}, ["Samut Songkhram Province, Thailand"] = {}, ["Saraburi Province, Thailand"] = {}, ["Satun Province, Thailand"] = {}, ["Sing Buri Province, Thailand"] = {}, ["Sisaket Province, Thailand"] = {}, ["Songkhla Province, Thailand"] = {}, ["Sukhothai Province, Thailand"] = {}, ["Suphan Buri Province, Thailand"] = {}, ["Surat Thani Province, Thailand"] = {}, ["Surin Province, Thailand"] = {}, ["Tak Province, Thailand"] = {}, ["Trang Province, Thailand"] = {}, ["Trat Province, Thailand"] = {}, ["Ubon Ratchathani Province, Thailand"] = {}, ["Udon Thani Province, Thailand"] = {}, ["Uthai Thani Province, Thailand"] = {}, ["Uttaradit Province, Thailand"] = {}, ["Yala Province, Thailand"] = {}, ["Yasothon Province, Thailand"] = {}, } -- provinces of Thailand export.thailand_group = { key_to_placename = make_key_to_placename(", Thailand$", " Province$"), placename_to_key = make_placename_to_key(", Thailand", " Province"), default_container = "Thái Lan", default_placetype = "province", default_divs = "districts", -- For obscure reasons, provinces of Iran, Laos, Thailand and Vietnam use lowercase 'province' default_wp = "%e province", data = export.thailand_provinces, } export.turkey_provinces = { ["Adana Province, Turkey"] = {}, -- code 01 ["Adıyaman Province, Turkey"] = {}, -- code 02 ["Afyonkarahisar Province, Turkey"] = {}, -- code 03 ["Ağrı Province, Turkey"] = {}, -- code 04 ["Amasya Province, Turkey"] = {}, -- code 05 ["Ankara Province, Turkey"] = {}, -- code 06 ["Antalya Province, Turkey"] = {}, -- code 07 ["Artvin Province, Turkey"] = {}, -- code 08 ["Aydın Province, Turkey"] = {}, -- code 09 ["Balıkesir Province, Turkey"] = {}, -- code 10 ["Bilecik Province, Turkey"] = {}, -- code 11 ["Bingöl Province, Turkey"] = {}, -- code 12 ["Bitlis Province, Turkey"] = {}, -- code 13 ["Bolu Province, Turkey"] = {}, -- code 14 ["Burdur Province, Turkey"] = {}, -- code 15 ["Bursa Province, Turkey"] = {}, -- code 16 ["Çanakkale Province, Turkey"] = {}, -- code 17 ["Çankırı Province, Turkey"] = {}, -- code 18 ["Çorum Province, Turkey"] = {}, -- code 19 ["Denizli Province, Turkey"] = {}, -- code 20 ["Diyarbakır Province, Turkey"] = {}, -- code 21 ["Edirne Province, Turkey"] = {}, -- code 22 ["Elazığ Province, Turkey"] = {}, -- code 23 ["Elâzığ Province, Turkey"] = {alias_of = "Elazığ Province, Turkey", display = true}, ["Erzincan Province, Turkey"] = {}, -- code 24 ["Erzurum Province, Turkey"] = {}, -- code 25 ["Eskişehir Province, Turkey"] = {}, -- code 26 ["Gaziantep Province, Turkey"] = {}, -- code 27 ["Giresun Province, Turkey"] = {}, -- code 28 ["Gümüşhane Province, Turkey"] = {}, -- code 29 ["Hakkâri Province, Turkey"] = {}, -- code 30 ["Hakkari Province, Turkey"] = {alias_of = "Hakkâri Province, Turkey", display = true}, ["Hatay Province, Turkey"] = {}, -- code 31 ["Isparta Province, Turkey"] = {}, -- code 32 ["Mersin Province, Turkey"] = {}, -- code 33 -- ["Istanbul Province, Turkey"] = {}, -- code 34; this is coextensive with the city itself ["İzmir Province, Turkey"] = {}, -- code 35 ["Izmir Province, Turkey"] = {alias_of = "İzmir Province, Turkey", display = true}, ["Kars Province, Turkey"] = {}, -- code 36 ["Kastamonu Province, Turkey"] = {}, -- code 37 ["Kayseri Province, Turkey"] = {}, -- code 38 ["Kırklareli Province, Turkey"] = {}, -- code 39 ["Kırşehir Province, Turkey"] = {}, -- code 40 ["Kocaeli Province, Turkey"] = {}, -- code 41 ["Konya Province, Turkey"] = {}, -- code 42 ["Kütahya Province, Turkey"] = {}, -- code 43 ["Malatya Province, Turkey"] = {}, -- code 44 ["Manisa Province, Turkey"] = {}, -- code 45 ["Kahramanmaraş Province, Turkey"] = {}, -- code 46 ["Mardin Province, Turkey"] = {}, -- code 47 ["Muğla Province, Turkey"] = {}, -- code 48 ["Muş Province, Turkey"] = {}, -- code 49 ["Nevşehir Province, Turkey"] = {}, -- code 50 ["Niğde Province, Turkey"] = {}, -- code 51 ["Ordu Province, Turkey"] = {}, -- code 52 ["Rize Province, Turkey"] = {}, -- code 53 ["Sakarya Province, Turkey"] = {}, -- code 54 ["Samsun Province, Turkey"] = {}, -- code 55 ["Siirt Province, Turkey"] = {}, -- code 56 ["Sinop Province, Turkey"] = {}, -- code 57 ["Sivas Province, Turkey"] = {}, -- code 58 ["Tekirdağ Province, Turkey"] = {}, -- code 59 ["Tokat Province, Turkey"] = {}, -- code 60 ["Trabzon Province, Turkey"] = {}, -- code 61 ["Tunceli Province, Turkey"] = {}, -- code 62 ["Şanlıurfa Province, Turkey"] = {}, -- code 63 ["Uşak Province, Turkey"] = {}, -- code 64 ["Van Province, Turkey"] = {}, -- code 65 ["Yozgat Province, Turkey"] = {}, -- code 66 ["Zonguldak Province, Turkey"] = {}, -- code 67 ["Aksaray Province, Turkey"] = {}, -- code 68 ["Bayburt Province, Turkey"] = {}, -- code 69 ["Karaman Province, Turkey"] = {}, -- code 70 ["Kırıkkale Province, Turkey"] = {}, -- code 71 ["Batman Province, Turkey"] = {}, -- code 72 ["Şırnak Province, Turkey"] = {}, -- code 73 ["Bartın Province, Turkey"] = {}, -- code 74 ["Ardahan Province, Turkey"] = {}, -- code 75 ["Iğdır Province, Turkey"] = {}, -- code 76 ["Yalova Province, Turkey"] = {}, -- code 77 ["Karabük Province, Turkey"] = {}, -- code 78 ["Kilis Province, Turkey"] = {}, -- code 79 ["Osmaniye Province, Turkey"] = {}, -- code 80 ["Düzce Province, Turkey"] = {}, -- code 81 } -- provinces of Turkey export.turkey_group = { key_to_placename = make_key_to_placename(", Turkey$", " Province$"), placename_to_key = make_placename_to_key(", Turkey", " Province"), default_container = "Thổ Nhĩ Kỳ", default_placetype = "province", default_divs = "districts", data = export.turkey_provinces, } export.ukraine_oblasts = { ["Cherkasy Oblast, Ukraine"] = {}, -- capital [[Cherkasy]], license plate prefix CA, IA ["Chernihiv Oblast, Ukraine"] = {}, -- capital [[Chernihiv]], license plate prefix CB, IB ["Chernivtsi Oblast, Ukraine"] = {}, -- capital [[Chernivtsi]], license plate prefix CE, IE -- apparently will be renamed to 'Dnipro Oblast' ["Dnipropetrovsk Oblast, Ukraine"] = {}, -- capital [[Dnipro]], license plate prefix AE, KE ["Donetsk Oblast, Ukraine"] = {}, -- capital ''[[Donetsk]] ([[Kramatorsk]])'', license plate prefix AH, KH ["Ivano-Frankivsk Oblast, Ukraine"] = {}, -- capital [[Ivano-Frankivsk]], license plate prefix AT, KT ["Kharkiv Oblast, Ukraine"] = {}, -- capital [[Kharkiv]], license plate prefix AX, KX ["Kherson Oblast, Ukraine"] = {}, -- capital ''[[Kherson]]'', license plate prefix ''BT, HT'' ["Khmelnytskyi Oblast, Ukraine"] = {}, -- capital [[Khmelnytskyi]], license plate prefix BX, HX -- apparently will be renamed to 'Kropyvnytskyi Oblast' ["Kirovohrad Oblast, Ukraine"] = {}, -- capital [[Kropyvnytskyi]], license plate prefix BA, HA ["Kyiv Oblast, Ukraine"] = {}, -- capital [[Kyiv]], license plate prefix AI, KI ["Kiev Oblast, Ukraine"] = {alias_of = "Kyiv Oblast, Ukraine", display = true}, ["Luhansk Oblast, Ukraine"] = {}, -- capital ''[[Luhansk]] ([[Sievierodonetsk]])'', license plate prefix BB, HB ["Lviv Oblast, Ukraine"] = {}, -- capital [[Lviv]], license plate prefix BC, HC ["Mykolaiv Oblast, Ukraine"] = {}, -- capital [[Mykolaiv]], license plate prefix BE, HE ["Odesa Oblast, Ukraine"] = {}, -- capital [[Odesa]], license plate prefix BH, HH ["Odessa Oblast, Ukraine"] = {alias_of = "Odesa Oblast, Ukraine", display = true}, ["Poltava Oblast, Ukraine"] = {}, -- capital [[Poltava]], license plate prefix BI, HI ["Rivne Oblast, Ukraine"] = {}, -- capital [[Rivne]], license plate prefix BK, HK ["Sumy Oblast, Ukraine"] = {}, -- capital [[Sumy]], license plate prefix BM, HM ["Ternopil Oblast, Ukraine"] = {}, -- capital [[Ternopil]], license plate prefix BO, HO ["Vinnytsia Oblast, Ukraine"] = {}, -- capital [[Vinnytsia]], license plate prefix AB, KB ["Volyn Oblast, Ukraine"] = {}, -- capital [[Lutsk]], license plate prefix AC, KC ["Zakarpattia Oblast, Ukraine"] = {}, -- capital [[Uzhhorod]], license plate prefix AO, KO ["Zaporizhzhia Oblast, Ukraine"] = {}, -- capital ''[[Zaporizhzhia]]'', license plate prefix AP, KP ["Zaporizhia Oblast, Ukraine"] = {alias_of = "Zaporizhzhia Oblast, Ukraine", display = true}, ["Zhytomyr Oblast, Ukraine"] = {}, -- capital [[Zhytomyr]], license plate prefix AM, KM } -- oblasts of Ukraine export.ukraine_group = { key_to_placename = make_key_to_placename(", Ukraine$", " Oblast$"), placename_to_key = make_placename_to_key(", Ukraine", " Oblast"), default_container = "Ukraina", default_placetype = "oblast", default_divs = {"raions", "hromadas"}, data = export.ukraine_oblasts, } export.united_kingdom_constituent_countries = { ["England"] = {divs = { "counties", "districts", {type = "local government districts", cat_as = "districts"}, { type = "local government districts with borough status", cat_as = {"districts", "boroughs"}, }, {type = "boroughs", cat_as = {"districts", "boroughs"}}, {type = "civil parishes", container_parent_type = false}, }}, ["Northern Ireland"] = { placetype = {"constituent country", "province", "quốc gia"}, divs = {"counties", "districts"}, }, ["Scotland"] = {divs = { {type = "council areas", container_parent_type = false}, "districts", }}, ["Wales"] = {divs = { "counties", {type = "county boroughs", container_parent_type = false}, {type = "communities", container_parent_type = false}, {type = "Welsh communities", cat_as = {{type = "communities", container_parent_type = false}}}, }}, } -- constituent countries and provinces of the United Kingdom export.united_kingdom_group = { placename_to_key = false, default_container = "United Kingdom", default_placetype = {"constituent country", "quốc gia"}, addl_divs = { "traditional counties", {type = "historical counties", cat_as = "traditional counties"}, }, -- Don't create categories like 'Category:en:Towns in the United Kingdom' -- or 'Category:en:Places in the United Kingdom'. default_no_container_cat = true, data = export.united_kingdom_constituent_countries, } export.england_counties = { -- NOTE: We used to have various other "no longer" counties commented out, which seems to refer to counties that -- existed officially at some point between 1889 and 1974, which I have removed. I have only kept the three -- ceremonial counties that existed from 1974 (when ceremonial counties were created) to 1996, as well as those -- still considered "historic counties" per [[w:Historic counties of England]]. -- ["Avon, England"] = {wp = "%l (county)"}, -- no longer (1974 to 1996) ["Bedfordshire, England"] = {}, ["Berkshire, England"] = {}, -- ["Brighton and Hove, England"] = {}, -- city -- ["Bristol, England"] = {}, -- city ["Buckinghamshire, England"] = {}, ["Cambridgeshire, England"] = {}, ["Cheshire, England"] = {}, -- ["Cleveland, England"] = {wp = "%l (county)"}, -- no longer (1974 to 1996) ["Cornwall, England"] = {}, -- ["Cumberland, England"] = {}, -- no longer (historic county) ["Cumbria, England"] = {}, ["Derbyshire, England"] = {}, ["Devon, England"] = {}, ["Dorset, England"] = {}, ["County Durham, England"] = {}, ["East Sussex, England"] = {}, ["Essex, England"] = {}, ["Gloucestershire, England"] = {}, ["Greater London, England"] = {}, ["Greater Manchester, England"] = {}, ["Hampshire, England"] = {}, ["Herefordshire, England"] = {}, ["Hertfordshire, England"] = {}, -- ["Humberside, England"] = {}, -- no longer (1974 to 1996) -- ["Huntingdonshire, England"] = {}, -- no longer (historic county) ["Isle of Wight, England"] = {the = true}, ["Kent, England"] = {}, ["Lancashire, England"] = {}, ["Leicestershire, England"] = {}, ["Lincolnshire, England"] = {}, ["Merseyside, England"] = {}, -- ["Middlesex, England"] = {}, -- no longer (historic county) ["Norfolk, England"] = {}, ["Northamptonshire, England"] = {}, ["Northumberland, England"] = {}, ["North Yorkshire, England"] = {}, ["Nottinghamshire, England"] = {}, ["Oxfordshire, England"] = {}, ["Rutland, England"] = {}, ["Shropshire, England"] = {}, ["Somerset, England"] = {}, ["South Humberside, England"] = {}, ["South Yorkshire, England"] = {}, ["Staffordshire, England"] = {}, ["Suffolk, England"] = {}, ["Surrey, England"] = {}, -- ["Sussex, England"] = {}, -- no longer (historic county) ["Tyne and Wear, England"] = {}, ["Warwickshire, England"] = {}, ["West Midlands, England"] = {the = true, wp = "%l (county)"}, -- ["Westmorland, England"] = {}, -- no longer (historic county) ["West Sussex, England"] = {}, ["West Yorkshire, England"] = {}, ["Wiltshire, England"] = {}, ["Worcestershire, England"] = {}, -- ["Yorkshire, England"] = {}, -- no longer (historic county) ["East Riding of Yorkshire, England"] = {the = true}, } -- counties of England export.england_group = { default_container = {key = "England", placetype = "constituent country"}, default_placetype = "county", default_divs = { "districts", {type = "local government districts", cat_as = "districts"}, { type = "local government districts with borough status", cat_as = {"districts", "boroughs"}, }, {type = "boroughs", cat_as = {"districts", "boroughs"}}, "civil parishes", }, data = export.england_counties, } export.northern_ireland_counties = { ["County Antrim, Northern Ireland"] = {}, ["County Armagh, Northern Ireland"] = {}, ["City of Belfast, Northern Ireland"] = {the = true, is_city = true, wp = "Belfast"}, ["County Down, Northern Ireland"] = {}, ["County Fermanagh, Northern Ireland"] = {}, ["County Londonderry, Northern Ireland"] = {}, ["City of Derry, Northern Ireland"] = {the = true, is_city = true, wp = "Derry"}, ["County Tyrone, Northern Ireland"] = {}, } -- counties of Northern Ireland export.northern_ireland_group = { key_to_placename = make_irish_type_key_to_placename(", Northern Ireland$"), placename_to_key = make_irish_type_placename_to_key(", Northern Ireland"), default_container = {key = "Northern Ireland", placetype = "constituent country"}, default_placetype = "county", data = export.northern_ireland_counties, } export.scotland_council_areas = { ["Aberdeenshire, Scotland"] = {}, ["Angus, Scotland"] = {wp = "%l, %c"}, ["Argyll and Bute, Scotland"] = {}, ["City of Aberdeen, Scotland"] = {the = true, wp = "Aberdeen"}, ["Aberdeen"] = {alias_of = "City of Aberdeen, Scotland"}, ["Aberdeen City"] = {alias_of = "City of Aberdeen, Scotland"}, ["City of Dundee, Scotland"] = {the = true, wp = "Dundee"}, ["Dundee"] = {alias_of = "City of Dundee, Scotland"}, ["Dundee City"] = {alias_of = "City of Dundee, Scotland"}, ["City of Edinburgh, Scotland"] = {the = true, wp = "%l council area"}, ["Edinburgh"] = {alias_of = "City of Edinburgh, Scotland"}, ["City of Glasgow, Scotland"] = {the = true, wp = "Glasgow"}, ["Glasgow"] = {alias_of = "City of Glasgow, Scotland"}, ["Clackmannanshire, Scotland"] = {}, ["Dumfries and Galloway, Scotland"] = {}, ["East Ayrshire, Scotland"] = {}, ["East Dunbartonshire, Scotland"] = {}, ["East Lothian, Scotland"] = {}, ["East Renfrewshire, Scotland"] = {}, ["Falkirk, Scotland"] = {wp = "%l council area"}, ["Fife, Scotland"] = {}, ["Highland, Scotland"] = {wp = "%l council area"}, ["Inverclyde, Scotland"] = {}, ["Midlothian, Scotland"] = {}, ["Moray, Scotland"] = {}, ["North Ayrshire, Scotland"] = {}, ["North Lanarkshire, Scotland"] = {}, ["Orkney Islands, Scotland"] = {the = true}, ["Perth and Kinross, Scotland"] = {}, ["Renfrewshire, Scotland"] = {}, ["Scottish Borders, Scotland"] = {the = true}, ["Shetland Islands, Scotland"] = {the = true}, ["South Ayrshire, Scotland"] = {}, ["South Lanarkshire, Scotland"] = {}, ["Stirling, Scotland"] = {wp = "%l council area"}, ["West Dunbartonshire, Scotland"] = {}, ["West Lothian, Scotland"] = {}, ["Western Isles, Scotland"] = {the = true, wp = "Outer Hebrides"}, ["Na h-Eileanan Siar, Scotland"] = {alias_of = "Western Isles, Scotland"}, } -- council areas of Scotland export.scotland_group = { default_container = {key = "Scotland", placetype = "constituent country"}, default_placetype = "council area", data = export.scotland_council_areas, } export.wales_principal_areas = { ["Blaenau Gwent, Wales"] = {}, ["Bridgend, Wales"] = {wp = "%l County Borough"}, ["Caerphilly, Wales"] = {wp = "%l County Borough"}, -- ["Cardiff, Wales"] = {placetype = "thành phố"}, ["Carmarthenshire, Wales"] = {placetype = "county"}, ["Ceredigion, Wales"] = {placetype = "county"}, ["Conwy, Wales"] = {wp = "%l County Borough"}, ["Denbighshire, Wales"] = {placetype = "county"}, ["Flintshire, Wales"] = {placetype = "county"}, ["Gwynedd, Wales"] = {placetype = "county"}, ["Isle of Anglesey, Wales"] = {the = true, placetype = "county"}, ["Anglesey, Wales"] = {alias_of = "Isle of Anglesey, Wales"}, -- differs in "the" ["Merthyr Tydfil, Wales"] = {wp = "%l County Borough"}, ["Monmouthshire, Wales"] = {placetype = "county"}, ["Neath Port Talbot, Wales"] = {}, -- ["Newport, Wales"] = {placetype = "thành phố", wp = "%l, %c"}, ["Pembrokeshire, Wales"] = {placetype = "county"}, ["Powys, Wales"] = {placetype = "county"}, ["Rhondda Cynon Taf, Wales"] = {}, -- ["Swansea, Wales"] = {placetype = "thành phố"}, ["Torfaen, Wales"] = {}, ["Vale of Glamorgan, Wales"] = {the = true}, ["Wrexham, Wales"] = {wp = "%l County Borough"}, } -- principal areas (cities, counties and county boroughs) of Wales export.wales_group = { default_container = {key = "Wales", placetype = "constituent country"}, default_placetype = "county borough", data = export.wales_principal_areas, } export.united_states_states = { ["Alabama, USA"] = {}, ["Alaska, USA"] = {divs = { {type = "boroughs", container_parent_type = "counties"}, {type = "borough seats", container_parent_type = "county seats"}, }}, ["Arizona, USA"] = {}, ["Arkansas, USA"] = {}, ["California, USA"] = {}, ["Colorado, USA"] = {divs = {"counties", "county seats", "municipalities"}}, ["Connecticut, USA"] = {divs = {"counties", "county seats", "municipalities"}}, ["Delaware, USA"] = {}, ["Florida, USA"] = {}, ["Georgia, USA"] = {wp = "%l (U.S. state)"}, ["Hawaii, USA"] = {addl_parents = {"Polynesia"}}, ["Idaho, USA"] = {}, ["Illinois, USA"] = {}, ["Indiana, USA"] = {}, ["Iowa, USA"] = {}, ["Kansas, USA"] = {}, ["Kentucky, USA"] = {}, ["Louisiana, USA"] = {divs = { {type = "parishes", container_parent_type = "counties"}, {type = "parish seats", container_parent_type = "county seats"}, }}, ["Maine, USA"] = {}, ["Maryland, USA"] = {}, ["Massachusetts, USA"] = {}, ["Michigan, USA"] = {}, ["Minnesota, USA"] = {}, ["Mississippi, USA"] = {}, ["Missouri, USA"] = {}, ["Montana, USA"] = {}, ["Nebraska, USA"] = {}, ["Nevada, USA"] = {}, ["New Hampshire, USA"] = {}, ["New Jersey, USA"] = {divs = { "counties", "county seats", {type = "boroughs", prep = "in"}, }}, ["New Mexico, USA"] = {}, ["New York, USA"] = {wp = "%l (state)"}, ["North Carolina, USA"] = {}, ["North Dakota, USA"] = {}, ["Ohio, USA"] = {}, ["Oklahoma, USA"] = {}, ["Oregon, USA"] = {}, ["Pennsylvania, USA"] = {divs = { "counties", "county seats", {type = "boroughs", prep = "in"}, }}, ["Rhode Island, USA"] = {}, ["South Carolina, USA"] = {}, ["South Dakota, USA"] = {}, ["Tennessee, USA"] = {}, ["Texas, USA"] = {}, ["Utah, USA"] = {}, ["Vermont, USA"] = {}, ["Virginia, USA"] = {}, ["Washington, USA"] = {wp = "%l (state)"}, ["West Virginia, USA"] = {}, ["Wisconsin, USA"] = {}, ["Wyoming, USA"] = {}, } -- states of the United States export.united_states_group = { placename_to_key = make_placename_to_key(", USA"), default_container = "Hoa Kỳ", default_placetype = "state", default_divs = {"counties", "county seats"}, addl_divs = { {type = "census-designated places", prep = "in"}, {type = "unincorporated communities", prep = "in"}, }, data = export.united_states_states, } export.vietnam_provinces = { -- [[Northeast (Vietnam)|Northeast]] region ["Bắc Giang, Việt Nam"] = {}, -- capital [[Bắc Giang]] ["Bắc Kạn, Việt Nam"] = {}, -- capital [[Bắc Kạn]] ["Cao Bằng, Việt Nam"] = {}, -- capital [[Cao Bằng]] ["Hà Giang, Việt Nam"] = {}, -- capital [[Hà Giang]] ["Lạng Sơn, Việt Nam"] = {}, -- capital [[Lạng Sơn]] ["Phú Thọ, Việt Nam"] = {}, -- capital [[Việt Trì]] ["Quảng Ninh, Việt Nam"] = {}, -- capital [[Hạ Long]] ["Thái Nguyên, Việt Nam"] = {}, -- capital [[Thái Nguyên]] ["Tuyên Quang, Việt Nam"] = {}, -- capital [[Tuyên Quang]] -- [[Northwest (Vietnam)|Northwest]] region ["Lào Cai, Việt Nam"] = {}, -- capital [[Lào Cai]] ["Yên Bái, Việt Nam"] = {}, -- capital [[Yên Bái]] ["Điện Biên, Việt Nam"] = {}, -- capital [[Điện Biên Phủ]] ["Hòa Bình, Việt Nam"] = {}, ["Lai Châu, Việt Nam"] = {}, -- capital [[Lai Châu]] ["Sơn La, Việt Nam"] = {}, -- capital [[Sơn La]] -- [[Red River Delta]] region ["Bắc Ninh, Việt Nam"] = {}, -- capital [[Bắc Ninh]] ["Hà Nam, Việt Nam"] = {}, -- capital [[Phủ Lý]] ["Hải Dương, Việt Nam"] = {}, -- capital [[Hải Dương]] ["Hưng Yên, Việt Nam"] = {}, -- capital [[Hưng Yên]] ["Nam Định, Việt Nam"] = {}, -- capital [[Nam Định]] ["Ninh Bình, Việt Nam"] = {}, -- capital [[Ninh Bình|Hoa Lư]] ["Thái Bình, Việt Nam"] = {}, -- capital [[Thái Bình]] ["Vĩnh Phúc, Việt Nam"] = {}, -- capital [[Vĩnh Yên]] -- ["Hanoi"] = {placetype = {"municipality", "thành phố"}}, -- capital [[Hoàn Kiếm district]] -- ["Haiphong"] = {placetype = {"municipality", "thành phố"}}, -- capital [[Hồng Bàng district]] -- [[North Central Coast]] region ["Hà Tĩnh, Việt Nam"] = {}, -- capital [[Hà Tĩnh]] ["Nghệ An, Việt Nam"] = {}, -- capital [[Vinh]] ["Quảng Bình, Việt Nam"] = {}, -- capital [[Đồng Hới]] ["Quảng Trị, Việt Nam"] = {}, -- capital [[Đông Hà]] ["Thanh Hóa, Việt Nam"] = {}, -- ["Hue"] = {placetype = {"municipality", "thành phố"}, wp = "Huế"}, -- capital [[Thuận Hoá district]] -- [[Central Highlands (Vietnam)|Central Highlands]] region ["Đắk Lắk, Việt Nam"] = {}, -- capital [[Buôn Ma Thuột]] ["Đăk Nông, Việt Nam"] = {}, -- capital [[Gia Nghĩa]] ["Gia Lai, Việt Nam"] = {}, -- capital [[Pleiku]] ["Kon Tum, Việt Nam"] = {}, -- capital [[Kon Tum]] ["Lâm Đồng, Việt Nam"] = {}, -- capital [[Đà Lạt]] -- [[South Central Coast]] region ["Bình Định, Việt Nam"] = {}, -- capital [[Quy Nhon]] ["Bình Thuận, Việt Nam"] = {}, -- capital [[Phan Thiết]] ["Khánh Hòa, Việt Nam"] = {}, ["Ninh Thuận, Việt Nam"] = {}, -- capital [[Phan Rang–Tháp Chàm]] ["Phú Yên, Việt Nam"] = {}, -- capital [[Tuy Hoà]] ["Quảng Nam, Việt Nam"] = {}, -- capital [[Tam Kỳ]] ["Quảng Ngãi, Việt Nam"] = {}, -- capital [[Quảng Ngãi]] -- ["Da Nang"] = {placetype = {"municipality", "thành phố"}}, -- capital [[Hải Châu district]] -- [[Southeast (Vietnam)|Southeast]] region ["Bà Rịa–Vũng Tàu, Việt Nam"] = {}, -- capital [[Bà Rịa]] ["Bình Dương, Việt Nam"] = {}, -- capital [[Thủ Dầu Một]] ["Bình Phước, Việt Nam"] = {}, -- capital [[Đồng Xoài]] ["Đồng Nai, Việt Nam"] = {}, -- capital [[Biên Hoà]] ["Tây Ninh, Việt Nam"] = {}, -- capital [[Tây Ninh]] -- ["Thành phố Hồ Chí Minh"] = {placetype = {"municipality", "thành phố"}}, -- capital [[District 1, Thành phố Hồ Chí Minh|'''District 1''']] -- [[Mekong Delta]] region ["An Giang, Việt Nam"] = {}, -- capital [[Long Xuyên]] ["Bạc Liêu, Việt Nam"] = {}, -- capital [[Bạc Liêu]] ["Bến Tre, Việt Nam"] = {}, -- capital [[Bến Tre]] ["Cà Mau, Việt Nam"] = {}, -- capital [[Cà Mau]] ["Đồng Tháp, Việt Nam"] = {}, -- capital [[Cao Lãnh City|Cao Lãnh]] ["Hậu Giang, Việt Nam"] = {}, -- capital [[Vị Thanh]] ["Kiên Giang, Việt Nam"] = {}, -- capital [[Rạch Giá]] ["Long An, Việt Nam"] = {}, -- capital [[Tân An]] ["Sóc Trăng, Việt Nam"] = {}, -- capital [[Sóc Trăng]] ["Tiền Giang, Việt Nam"] = {}, -- capital [[Mỹ Tho]] ["Trà Vinh, Việt Nam"] = {}, -- capital [[Trà Vinh]] ["Vĩnh Long, Việt Nam"] = {}, -- capital [[Vĩnh Long]] -- ["Can Tho"] = {placetype = {"municipality", "thành phố"}, wp = "Cần Thơ"}, -- capital [[Ninh Kiều district]] } -- provinces of Vietnam export.vietnam_group = { key_to_placename = make_key_to_placename(", Việt Nam$", "$"), placename_to_key = make_placename_to_key(", Việt Nam", ""), default_container = "Việt Nam", default_placetype = "tỉnh", -- There may not be enough districts to subcategorize like this. -- default_divs = "districts", -- For obscure reasons, provinces of Iran, Laos, Thailand and Vietnam use lowercase 'province' default_wp = "%e", data = export.vietnam_provinces, } ----------------------------------------------------------------------------------- -- City data -- ----------------------------------------------------------------------------------- export.australia_cities = { ["Adelaide"] = {container = "South Australia"}, -- 1,450,000 (Agglomeration) ["Brisbane"] = {container = "Queensland"}, -- 3,450,000 (Conglomeration; including the Gold Coast [750,997 2024 estiamte]) ["Canberra"] = {container = {key = "Lãnh thổ Thủ đô Úc, Úc", placetype = "territory"}}, -- 510,641 (2024 estimate) ["Melbourne"] = {container = "Victoria"}, -- 5,200,000 (Agglomeration) ["Newcastle, New South Wales"] = {container = "New South Wales", wp = "%l, %c"}, -- 534,033 (2024 estimate) ["Newcastle"] = {alias_of = "Newcastle, New South Wales"}, ["Perth"] = {container = "Western Australia"}, -- 2,350,000 (Agglomeration) ["Sydney"] = {container = "New South Wales"}, -- 5,100,000 (Agglomeration) } export.australia_cities_group = { canonicalize_key_container = make_canonicalize_key_container(", Úc", "state"), default_placetype = "thành phố", data = export.australia_cities, } export.brazil_cities = { -- Figures from citypopulation.de; retrieved 2025-04-27; reference date 2025-01-01. ["São Paulo"] = {container = "São Paulo"}, -- 22,600,000 (Consolidated Urban Area; including Guarulhos) ["Sao Paulo"] = {alias_of = "São Paulo", display = true}, ["Rio de Janeiro"] = {container = "Rio de Janeiro"}, -- 13,600,000 (Consolidated Urban Area) ["Belo Horizonte"] = {container = "Minas Gerais"}, -- 5,300,000 ["Recife"] = {container = "Pernambuco"}, -- 4,100,000 ["Porto Alegre"] = {container = "Rio Grande do Sul"}, -- 3,950,000 (Consolidated Urban Area) ["Brasília"] = {container = "Distrito Federal"}, -- 3,850,000 ["Brasilia"] = {alias_of = "Brasília", display = true}, ["Fortaleza"] = {container = "Ceará"}, -- 3,825,000 ["Salvador"] = {container = "Bahia", wp = "%l, %c", commonscat = "%l (%c)"}, -- 3,400,000 ["Curitiba"] = {container = "Paraná"}, -- 3,375,000 ["Campinas"] = {container = "São Paulo"}, -- 3,250,000 ["Goiânia"] = {container = "Goiás"}, -- 2,525,000 ["Goiania"] = {alias_of = "Goiânia", display = true}, ["Manaus"] = {container = "Amazonas"}, -- 2,275,000 ["Belém"] = {container = "Pará"}, -- 2,200,000 ["Belem"] = {alias_of = "Belém", display = true}, ["Vitória"] = {container = "Espírito Santo", wp = "%l, %c"}, -- 1,870,000 ["Vitoria"] = {alias_of = "Vitória", display = true}, ["Santos"] = {container = "São Paulo", wp = "%l, %c"}, -- 1,760,000 ["São Luís"] = {container = "Maranhão", wp = "%l, %c"}, -- 1,530,000 ["Sao Luis"] = {alias_of = "São Luís", display = true}, ["Natal"] = {container = "Rio Grande do Norte", wp = "%l, %c"}, -- 1,360,000 ["Florianópolis"] = {container = "Santa Catarina"}, -- 1,260,000 ["Florianopolis"] = {alias_of = "Florianópolis", display = true}, ["Maceió"] = {container = "Alagoas"}, -- 1,220,000 ["Maceio"] = {alias_of = "Maceió", display = true}, ["João Pessoa"] = {container = "Paraíba", wp = "%l, %c"}, -- 1,210,000 ["Joao Pessoa"] = {alias_of = "João Pessoa", display = true}, ["São José dos Campos"] = {container = "São Paulo"}, -- 1,090,000 ["Sao Jose dos Campos"] = {alias_of = "São José dos Campos", display = true}, ["Londrina"] = {container = "Paraná"}, -- 1,050,000 ["Teresina"] = {container = "Piauí"}, -- 1,040,000 } export.brazil_cities_group = { canonicalize_key_container = make_canonicalize_key_container(", Brazil", "state"), default_placetype = "thành phố", data = export.brazil_cities, } export.canada_cities = { -- Figures from citypopulation.de; retrieved 2025-04-27; reference date 2025-01-01. ["Toronto"] = {container = "Ontario"}, -- 7,850,000 (Consolidated Urban Area; including Hamilton) ["Montreal"] = {container = "Quebec"}, -- 4,500,000 (Consolidated Urban Area) ["Vancouver"] = {container = "British Columbia"}, -- 3,175,000 (Consolidated Urban Area) ["Calgary"] = {container = "Alberta"}, -- 1,510,000 (Consolidated Urban Area) ["Edmonton"] = {container = "Alberta"}, -- 1,460,000 (Consolidated Urban Area) ["Ottawa"] = {container = "Ontario"}, -- 1,390,000 (Consolidated Urban Area) ["Quebec City"] = {container = "Quebec"}, -- 839,311 metro per Wikipedia (2021 census) ["Winnipeg"] = {container = "Manitoba"}, -- 834,678 metro per Wikipedia (2021 census) ["Hamilton"] = {container = "Ontario", wp = "%l, %c"}, -- 785,184 metro per Wikipedia (2021 census) ["Kitchener"] = {container = "Ontario", wp = "%l, %c"}, -- 575,847 metro per Wikipedia (2021 census) } export.canada_cities_group = { canonicalize_key_container = make_canonicalize_key_container(", Canada", "province"), default_placetype = "thành phố", data = export.canada_cities, } export.france_cities = { -- Figures from citypopulation.de unless otherwise indicated; retrieved 2025-04-26; reference date 2025-01-01. ["Paris"] = {container = "Île-de-France"}, -- 11,500,000 (Conglomeration) ["Lyon"] = {container = "Auvergne-Rhône-Alpes"}, -- 2,050,000 (Conglomeration) ["Lyons"] = {alias_of = "Lyon", display = true}, ["Marseille"] = {container = "Provence-Alpes-Côte d'Azur"}, -- 1,710,000 (Conglomeration) ["Marseilles"] = {alias_of = "Marseille", display = true}, ["Lille"] = {container = "Hauts-de-France"}, -- 1,320,000 (Conglomeration) ["Bordeaux"] = {container = "Nouvelle-Aquitaine"}, -- 1,160,000 (Conglomeration) ["Toulouse"] = {container = "Occitania"}, -- 1,150,000 (Conglomeration) ["Nice"] = {container = "Provence-Alpes-Côte d'Azur"}, ["Nantes"] = {container = "Pays de la Loire"}, ["Strasbourg"] = {container = "Grand Est"}, ["Rennes"] = {container = "Brittany"}, } export.france_cities_group = { canonicalize_key_container = make_canonicalize_key_container(", France", "region"), default_placetype = "thành phố", data = export.france_cities, } export.germany_cities = { -- Figures from citypopulation.de unless otherwise indicated; retrieved 2025-04-26; reference date 2025-01-01. -- listed under Rhein-Ruhr Area, total population 10,900,000 (Consolidated Urban Area) ["Cologne"] = {container = "North Rhine-Westphalia"}, ["Köln"] = {alias_of = "Cologne", display = true}, ["Düsseldorf"] = {container = "North Rhine-Westphalia"}, ["Dusseldorf"] = {alias_of = "Düsseldorf", display = true}, ["Dortmund"] = {container = "North Rhine-Westphalia"}, ["Essen"] = {container = "North Rhine-Westphalia"}, ["Duisberg"] = {container = "North Rhine-Westphalia"}, ["Berlin"] = {}, -- 4,700,000 ["Frankfurt"] = {container = "Hesse"}, -- 3,225,000 ["Frankfurt am Main"] = {alias_of = "Frankfurt"}, -- not a display alias as it's longer ["Hamburg"] = {}, -- 2,900,000 ["Munich"] = {container = "Bavaria"}, -- 2,300,000 ["Stuttgart"] = {container = "Baden-Württemberg"}, -- 2,300,000 ["Mannheim"] = {container = "Baden-Württemberg"}, -- 1,550,000 ["Nuremberg"] = {container = "Bavaria"}, -- 1,120,000 ["Hanover"] = {"Lower Saxony"}, -- 1,090,000 ["Bielefeld"] = {container = "North Rhine-Westphalia"}, -- 1,080,000 ["Leipzig"] = {container = "Saxony"}, -- 1,080,000 ["Aachen"] = {container = "North Rhine-Westphalia"}, -- 1,000,000 ["Aix-la-Chapelle"] = {alias_of = "Aachen"}, -- historical; not a display alias ["Bremen"] = {}, } export.germany_cities_group = { default_container = "Đức", canonicalize_key_container = make_canonicalize_key_container(", Germany", "state"), default_placetype = "thành phố", data = export.germany_cities, } export.india_cities = { -- This lists the 65 metro areas per Demographia's 2023 estimates, as found in -- [[w:List_of_million-plus_urban_agglomerations_in_India]]. The last census in India (as of April 2025) was -- conducted in 2011, and the results are not accurate any more. ["Delhi"] = {container = {key = "Delhi, India", placetype = "union territory"}}, -- 31,190,000 ["Mumbai"] = {container = "Maharashtra"}, -- 25,189,000 ["Kolkata"] = {container = "West Bengal"}, -- 21,747,000 ["Bangalore"] = {container = "Karnataka", wp = "Bengaluru"}, -- 15,257,000 ["Bengaluru"] = {alias_of = "Bangalore"}, ["Chennai"] = {container = "Tamil Nadu"}, -- 11,570,000 ["Hyderabad"] = {container = "Telangana"}, -- 9,797,000 ["Ahmedabad"] = {container = "Gujarat"}, -- 8,006,000 ["Pune"] = {container = "Maharashtra"}, -- 6,819,000 ["Surat"] = {container = "Gujarat"}, -- 6,601,000 ["Lucknow"] = {container = "Uttar Pradesh"}, -- 4,661,000 ["Jaipur"] = {container = "Rajasthan"}, -- 4,360,000 ["Kanpur"] = {container = "Uttar Pradesh"}, -- 4,350,000 ["Indore"] = {container = "Madhya Pradesh"}, -- 3,765,000 ["Nagpur"] = {container = "Maharashtra"}, -- 3,493,000 ["Patna"] = {container = "Bihar"}, -- 3,331,000 ["Varanasi"] = {container = "Uttar Pradesh"}, -- 3,229,000 ["Kozhikode"] = {container = "Kerala"}, -- 3,049,000 ["Thiruvananthapuram"] = {container = "Kerala"}, -- 2,851,000 ["Agra"] = {container = "Uttar Pradesh"}, -- 2,737,000 ["Bhopal"] = {container = "Madhya Pradesh"}, -- 2,562,000 ["Coimbatore"] = {container = "Tamil Nadu"}, -- 2,551,000 ["Allahabad"] = {container = "Uttar Pradesh", wp = "Prayagraj"}, -- 2,438,000 ["Prayagraj"] = {alias_of = "Allahabad"}, ["Kochi"] = {container = "Kerala"}, -- 2,381,000 ["Ludhiana"] = {container = "Punjab"}, -- 2,205,000 ["Vadodara"] = {container = "Gujarat"}, -- 2,182,000 ["Chandigarh"] = {container = {key = "Chandigarh, India", placetype = "union territory"}}, -- 2,168,000 ["Madurai"] = {container = "Tamil Nadu"}, -- 2,048,000 ["Meerut"] = {container = "Uttar Pradesh"}, -- 2,011,000 ["Visakhapatnam"] = {container = "Andhra Pradesh"}, -- 2,005,000 ["Jamshedpur"] = {container = "Jharkhand"}, -- 1,925,000 ["Malappuram"] = {container = "Kerala"}, -- 1,868,000 ["Nashik"] = {container = "Maharashtra"}, -- 1,810,000 ["Asansol"] = {container = "West Bengal"}, -- 1,720,000 ["Aligarh"] = {container = "Uttar Pradesh"}, -- 1,660,000 ["Ranchi"] = {container = "Jharkhand"}, -- 1,638,000 ["Thrissur"] = {container = "Kerala"}, -- 1,578,000 ["Kollam"] = {container = "Kerala"}, -- 1,576,000 ["Jabalpur"] = {container = "Madhya Pradesh"}, -- 1,533,000 ["Dhanbad"] = {container = "Jharkhand"}, -- 1,503,000 ["Jodhpur"] = {container = "Rajasthan"}, -- 1,497,000 ["Aurangabad"] = {container = "Maharashtra"}, -- 1,490,000 ["Chhatrapati Sambhajinagar"] = {alias_of = "Aurangabad"}, ["Rajkot"] = {container = "Gujarat"}, -- 1,487,000 ["Gwalior"] = {container = "Madhya Pradesh"}, -- 1,477,000 ["Raipur"] = {container = "Chhattisgarh"}, -- 1,429,000 ["Gorakhpur"] = {container = "Uttar Pradesh"}, -- 1,410,000 ["Kannur"] = {container = "Kerala"}, -- 1,360,000 ["Bareilly"] = {container = "Uttar Pradesh"}, -- 1,355,000 ["Guwahati"] = {container = "Assam"}, -- 1,355,000 ["Moradabad"] = {container = "Uttar Pradesh"}, -- 1,345,000 ["Amritsar"] = {container = "Punjab"}, -- 1,313,000 ["Mysore"] = {container = "Karnataka"}, -- 1,296,000 ["Bhilai"] = {container = "Chhattisgarh"}, -- 1,293,000 ["Durg-Bhilainagar"] = {alias_of = "Bhilai"}, ["Durg-Bhilai"] = {alias_of = "Bhilai"}, ["Durg"] = {alias_of = "Bhilai"}, ["Bhilainagar"] = {alias_of = "Bhilai"}, ["Vijayawada"] = {container = "Andhra Pradesh"}, -- 1,232,000 ["Srinagar"] = {container = {key = "Jammu and Kashmir, India", placetype = "union territory"}}, -- 1,212,000 ["Salem"] = {container = "Tamil Nadu", wp = "%l, %c"}, -- 1,189,000 ["Kota"] = {container = "Rajasthan"}, -- 1,172,000 ["Jalandhar"] = {container = "Punjab"}, -- 1,165,000 ["Saharanpur"] = {container = "Uttar Pradesh"}, -- 1,152,000 ["Dehradun"] = {container = "Uttarakhand"}, -- 1,136,000 ["Tiruchirappalli"] = {container = "Tamil Nadu"}, -- 1,131,000 ["Bhubaneswar"] = {container = "Odisha"}, -- 1,112,000 ["Jammu"] = {container = {key = "Jammu and Kashmir, India", placetype = "union territory"}}, -- 1,103,000 ["Solapur"] = {container = "Maharashtra"}, -- 1,082,000 ["Hubli-Dharwad"] = {container = "Karnataka", wp = "Hubli–Dharwad"}, -- 1,062,000; wp with en dash ["Hubli"] = {alias_of = "Hubli-Dharwad"}, ["Dharwad"] = {alias_of = "Hubli-Dharwad"}, ["Puducherry"] = {container = {key = "Puducherry, India", placetype = "union territory"}}, -- 1,024,000 ["Pondicherry"] = {alias_of = "Puducherry", display = true}, -- satellite/secondary cities of metro area (none in citypopulation.de) ["Ghaziabad"] = {container = "Uttar Pradesh"}, -- 1,729,000 city, 2,358,525 urban agglomeration per 2011 census; 3,406,061 2025 estimate from official website; part of Delhi metro area ["Faridabad"] = {container = "Haryana"}, -- 1,414,050 city per 2011 census; part of Delhi metro area ["Thane"] = {container = "Maharashtra"}, -- 1,841,488 city per 2011 census; part of Mumbai metro area ["Kalyan-Dombivli"] = {container = "Maharashtra"}, -- 1,246,381 city per 2011 census; part of Mumbai metro area ["Kalyan-Dombivali"] = {alias_of = "Kalyan-Dombivli", display = true}, ["Kalyan"] = {alias_of = "Kalyan-Dombivli"}, ["Dombivli"] = {alias_of = "Kalyan-Dombivli"}, ["Dombivali"] = {alias_of = "Kalyan-Dombivli"}, ["Vasai-Virar"] = {container = "Maharashtra"}, -- 1,221,233 city per 2011 census; part of Mumbai metro area ["Vasai"] = {alias_of = "Vasai-Virar"}, ["Virar"] = {alias_of = "Vasai-Virar"}, ["Navi Mumbai"] = {container = "Maharashtra"}, -- 1,120,547 city per 2011 census; part of Mumbai metro area ["Howrah"] = {container = "West Bengal"}, -- 1,077,075 city ("metropolis"), 2,811,344 "metro" per 2011 census; part of Kolkata metro area ["Pimpri-Chinchwad"] = {container = "Maharashtra"}, -- 1,727,692 per 2011 census; part of Pune metro area ["Pimpri Chinchwad"] = {alias_of = "Pimpri-Chinchwad", display = true}, } export.india_cities_group = { canonicalize_key_container = make_canonicalize_key_container(", India", "state"), default_placetype = "thành phố", data = export.india_cities, } export.indonesia_cities = { -- cities where the city proper has more than 1,000,000 people as of mid-2023 estimate ["Jakarta"] = {container = "Special Capital Region of Jakarta", divs = { {type = "subdistricts", container_parent_type = false}, }}, ["Surabaya"] = {container = "East Java"}, ["Bekasi"] = {container = "West Java"}, -- part of Jakarta metro area ["Bandung"] = {container = "West Java"}, ["Medan"] = {container = "North Sumatra"}, ["Depok"] = {container = "West Java"}, -- part of Jakarta metro area ["Tangerang"] = {container = "Banten"}, -- part of Jakarta metro area ["Palembang"] = {container = "South Sumatra"}, ["Semarang"] = {container = "Central Java"}, ["Makassar"] = {container = "South Sulawesi"}, ["South Tangerang"] = {container = "Banten"}, -- part of Jakarta metro area ["Batam"] = {container = "Riau Islands"}, ["Bogor"] = {container = "West Java"}, -- part of Jakarta metro area ["Pekanbaru"] = {container = "Riau"}, ["Bandar Lampung"] = {container = "Lampung"}, -- other metro areas over 1,000,000 people ["Padang"] = {container = "West Sumatra"}, ["Samarinda"] = {container = "East Kalimantan"}, ["Malang"] = {container = "East Java"}, ["Yogyakarta"] = {container = "Special Region of Yogyakarta"}, ["Denpasar"] = {container = "Bali"}, ["Cirebon"] = {container = "West Java"}, ["Surakarta"] = {container = "Central Java"}, ["Banjarmasin"] = {container = "South Kalimantan"}, ["Tasikmalaya"] = {container = "West Java"}, } export.indonesia_cities_group = { canonicalize_key_container = make_canonicalize_key_container(", Indonesia", "province"), default_placetype = "thành phố", data = export.indonesia_cities, } export.italy_cities = { -- Data per [[w:List_of_metropolitan_areas_of_Italy]]. There are several lists given; the most recent one, used -- here, only gives estimates as of Jan 1, 2014. ["Milan"] = {container = "Lombardy"}, -- 6,623,798 ["Naples"] = {container = "Campania"}, -- 5,294,546 ["Rome"] = {container = "Lazio"}, -- 4,447,881 ["Turin"] = {container = "Piedmont"}, -- 1,865,284 ["Venice"] = {container = "Veneto"}, -- 1,645,900 ["Florence"] = {container = "Tuscany"}, -- 1,485,030 ["Bari"] = {container = "Apulia"}, -- 1,257,459 ["Palermo"] = {container = "Sicily"}, -- 1,183,084 -- include a few just below 1,000,000 metro area that may be above it by now (depending on the definition). ["Catania"] = {container = "Sicily"}, -- 988,240 ["Brescia"] = {container = "Lombardy"}, -- 924,090 ["Genoa"] = {container = "Liguria"}, -- 861,318 } export.italy_cities_group = { canonicalize_key_container = make_canonicalize_key_container(", Italy", "region"), default_placetype = "thành phố", data = export.italy_cities, } export.japan_cities = { -- Population figures from [[w:List of cities in Japan]]. Metro areas from -- [[w:List of metropolitan areas in Japan]]. ["Tokyo"] = {keydesc = "[[Tokyo]] Metropolis, the [[capital city]] and a [[prefecture]] of [[Japan]] (which is a country in [[Asia]])", placetype = {"thành phố", "tỉnh"}, divs = { {type = "quận đặc biệt", container_parent_type = false}, {type = "thành phố", prep = "của"}, }, }, ["Yokohama"] = {container = "Kanagawa"}, -- 3,697,894 ["Ōsaka"] = {container = "Ōsaka"}, -- 2,668,586 ["Osaka"] = {alias_of = "Ōsaka"}, ["Nagoya"] = {container = "Aichi"}, -- 2,283,289 -- FIXME, Hokkaido is handled specially. ["Sapporo"] = {container = "Hokkaidō"}, -- 1,918,096 ["Fukuoka"] = {container = "Fukuoka"}, -- 1,581,527 ["Kobe"] = {container = "Hyōgo"}, -- 1,530,847 ["Kyoto"] = {container = "Kyoto"}, -- 1,474,570 ["Kawasaki"] = {container = "Kanagawa", wp = "%l, Kanagawa"}, -- 1,373,630 ["Saitama"] = {container = "Saitama", wp = "%l (city)", commonscat = "%l, %c"}, -- 1,192,418 ["Hiroshima"] = {container = "Hiroshima"}, -- 1,163,806 ["Sendai"] = {container = "Miyagi"}, -- 1,029,552 -- the remaining cities are considered "central cities" in a 1,000,000+ metro area -- (sometimes there is more than one central city in the area). ["Kitakyushu"] = {container = "Fukuoka"}, -- 986,998 ["Chiba"] = {container = "Chiba", wp = "%l (city)", commonscat = "%l, %c"}, -- 938,695 ["Sakai"] = {container = "Ōsaka"}, -- 835,333 ["Niigata"] = {container = "Niigata", wp = "%l (city)", commonscat = "%l, %c"}, -- 813,053 ["Hamamatsu"] = {container = "Shizuoka"}, -- 811,431 ["Shizuoka"] = {container = "Shizuoka", wp = "%l (city)", commonscat = "%l, %c"}, -- 710,944 ["Sagamihara"] = {container = "Kanagawa"}, -- 706,342 ["Okayama"] = {container = "Okayama"}, -- 701,293 ["Kumamoto"] = {container = "Kumamoto"}, -- 670,348 ["Kagoshima"] = {container = "Kagoshima"}, -- 605,196 -- skipped 6 cities (Funabashi, Hachiōji, Kawaguchi, Himeji, Matsuyama, Higashiōsaka) -- with population in the range 509k - 587k because not central cities in any -- 1,000,000+ metro area. ["Utsunomiya"] = {container = "Tochigi"}, -- 507,833 } export.japan_cities_group = { default_container = "Nhật Bản", canonicalize_key_container = make_canonicalize_key_container(", Nhật Bản", "prefecture"), default_placetype = "thành phố", data = export.japan_cities, } export.mexico_cities = { ["Mexico City"] = {}, -- its own state ["Monterrey"] = {container = "Nuevo León"}, ["Guadalajara"] = {container = "Jalisco"}, ["Puebla"] = {container = "Puebla", wp = "%l (city)"}, ["Toluca"] = {container = "State of Mexico"}, ["Tijuana"] = {container = "Baja California"}, -- Include the state in the category for León due to possible confusion with León, Spain. ["León, Guanajuato"] = {container = "Guanajuato", wp = "%l, %c"}, ["León"] = {alias_of = "León, Guanajuato"}, ["Leon"] = {alias_of = "León, Guanajuato", display = true}, ["Querétaro"] = {container = "Querétaro", wp = "%l (city)"}, ["Queretaro"] = {alias_of = "Querétaro", display = true}, ["Ciudad Juárez"] = {container = "Chihuahua"}, ["Juárez"] = {alias_of = "Ciudad Juárez"}, ["Juarez"] = {alias_of = "Ciudad Juárez", display = "Juárez"}, ["Torreón"] = {container = "Coahuila"}, ["Torreon"] = {alias_of = "Torreón", display = true}, -- Include the state in the category for Mérida due to possible confusion with Mérida, Spain or -- Mérida, Venezuela. ["Mérida, Yucatán"] = {container = "Yucatán", wp = "%l, %c"}, ["Mérida"] = {alias_of = "Mérida, Yucatán"}, ["Merida"] = {alias_of = "Mérida, Yucatán", display = true}, ["San Luis Potosí"] = {container = "San Luis Potosí", wp = "%l (city)"}, ["San Luis Potosi"] = {alias_of = "San Luis Potosí", display = true}, ["Aguascalientes"] = {container = "Aguascalientes", wp = "%l (city)"}, ["Mexicali"] = {container = "Baja California"}, } export.mexico_cities_group = { default_container = "Mexico", canonicalize_key_container = make_canonicalize_key_container(", Mexico", "state"), default_placetype = "thành phố", data = export.mexico_cities, } export.nigeria_cities = { -- Figures from citypopulation.de unless otherwise indicated; retrieved 2025-04-26; reference date 2025-01-01. ["Lagos"] = {container = "Lagos"}, -- 21,300,000 (unindicated; population of low reliability) ["Kano"] = {container = "Kano", wp = "%l (city)"}, -- 5,350,000 (unindicated; population of low reliability) ["Ibadan"] = {container = "Oyo"}, -- 3,400,000 (unindicated; population of low reliability) ["Abuja"] = {container = {key = "Federal Capital Territory, Nigeria", placetype = "federal territory"}}, -- 3,050,000 (unindicated; population of low reliability) ["Port Harcourt"] = {container = "Rivers"}, -- 2,250,000 (unindicated; population of low reliability) ["Kaduna"] = {container = "Kaduna"}, -- 1,980,000 (unindicated; population of low reliability) ["Benin City"] = {container = "Edo"}, -- 1,790,000 (unindicated; population of low reliability) ["Aba"] = {container = "Abia", wp = "%l, Nigeria"}, -- 1,280,000 (unindicated; population of low reliability) ["Onitsha"] = {container = "Anambra"}, -- 1,230,000 (unindicated; population of low reliability) ["Maiduguri"] = {container = "Borno"}, -- 1,190,000 (unindicated; population of low reliability) ["Ilorin"] = {container = "Kwara"}, -- 1,160,000 (unindicated; population of low reliability) ["Sokoto"] = {container = "Sokoto", wp = "%l (city)"}, -- 1,140,000 (unindicated; population of low reliability) ["Jos"] = {container = "Plateau"}, -- 1,110,000 (unindicated; population of low reliability) ["Zaria"] = {container = "Kaduna"}, -- 1,050,000 (unindicated; population of low reliability) ["Enugu"] = {container = "Enugu", wp = "%l (city)"}, -- 1,010,000 (unindicated; population of low reliability) } export.nigeria_cities_group = { default_container = "Nigeria", canonicalize_key_container = make_canonicalize_key_container(" State, Nigeria", "state"), default_placetype = "thành phố", data = export.nigeria_cities, } export.pakistan_cities = { -- Figures from citypopulation.de; retrieved 2025-04-26; reference date 2025-01-01. ["Karachi"] = {container = "Sindh"}, -- 21,000,000 (Consolidated Urban Area) ["Lahore"] = {container = "Punjab"}, -- 14,600,000 (Consolidated Urban Area) ["Rawalpindi"] = {container = "Punjab"}, -- 5,600,000 (Consolidated Urban Area; including Islamabad) ["Islamabad"] = {container = {key = "Islamabad Capital Territory, Pakistan", placetype = "federal territory"}}, -- 5,600,000 (Consolidated Urban Area; including Rawalpindi) ["Faisalabad"] = {container = "Punjab"}, -- 4,125,000 (Consolidated Urban Area) ["Gujranwala"] = {container = "Punjab"}, -- 3,450,000 (Consolidated Urban Area) -- there is also Hyderabad in India (very confusing) ["Hyderabad, Pakistan"] = {container = "Sindh", wp = "%l, %c"}, -- 2,475,000 (Consolidated Urban Area) ["Hyderabad"] = {alias_of = "Hyderabad, Pakistan"}, ["Multan"] = {container = "Punjab"}, -- 2,425,000 (Consolidated Urban Area) ["Peshawar"] = {container = "Khyber Pakhtunkhwa"}, -- 2,150,000 (Consolidated Urban Area) ["Quetta"] = {container = "Balochistan"}, -- 1,720,000 (Urban Area) ["Sargodha"] = {container = "Punjab"}, -- 1,080,000 (Urban Area) ["Sialkot"] = {container = "Punjab"}, -- 1,050,000 (Consolidated Urban Area) } export.pakistan_cities_group = { canonicalize_key_container = make_canonicalize_key_container(", Pakistan", "province"), default_placetype = "thành phố", data = export.pakistan_cities, } export.philippines_cities = { -- Skipped some cities in Metro Manila (Taguig, Pasig) which don't have districts. -- Other cities outside Metro Manila skipped as not central city in their urban area. ["Quezon City"] = {container = {key = "Metro Manila, Philippines", placetype = "region"}}, -- Don't display-canonicalize Foo to Foo City as it may make the display weird. ["Quezon"] = {alias_of = "Quezon City"}, ["Manila"] = {container = {key = "Metro Manila, Philippines", placetype = "region"}}, ["Davao City"] = {container = "Davao del Sur"}, ["Davao"] = {alias_of = "Davao City"}, ["Caloocan"] = {container = {key = "Metro Manila, Philippines", placetype = "region"}}, ["Zamboanga City"] = {container = "Zamboanga del Sur"}, ["Zamboanga"] = {alias_of = "Zamboanga City"}, ["Cebu City"] = {container = "Cebu"}, ["Cebu"] = {alias_of = "Cebu City"}, ["Antipolo"] = {container = "Rizal"}, ["Cagayan de Oro"] = {container = "Misamis Oriental"}, ["Dasmariñas"] = {container = "Cavite"}, ["Dasmarinas"] = {alias_of = "Dasmariñas", display = true}, ["General Santos"] = {container = "South Cotabato"}, ["San Jose del Monte"] = {container = "Bulacan"}, ["Bacolod"] = {container = "Negros Occidental"}, ["Calamba"] = {container = "Laguna", wp = "%l, %c"}, ["Angeles"] = {container = "Pampanga", wp = "Angeles City"}, ["Angeles City"] = {alias_of = "Angeles"}, ["Iloilo City"] = {container = "Iloilo"}, ["Iloilo"] = {alias_of = "Iloilo City"}, } export.philippines_cities_group = { canonicalize_key_container = make_canonicalize_key_container(", Philippines", "province"), default_placetype = "thành phố", data = export.philippines_cities, } export.russia_cities = { -- Figures from citypopulation.de; retrieved 2025-04-26; reference date 2025-01-01. ["Moscow"] = {}, -- 18,800,000 (Agglomeration) ["Sankt-Peterburg"] = {}, -- 6,350,000 (Agglomeration) ["Saint Petersburg"] = {alias_of = "Sankt-Peterburg"}, ["Novosibirsk"] = {container = "Novosibirsk Oblast"}, -- 1,820,000 (Agglomeration) ["Yekaterinburg"] = {container = "Sverdlovsk Oblast"}, -- 1,810,000 (Agglomeration) ["Nizhny Novgorod"] = {container = "Nizhny Novgorod Oblast"}, -- 1,620,000 (Agglomeration) ["Kazan"] = {container = {key = "Tatarstan, Russia", placetype = "republic"}}, -- 1,560,000 (Agglomeration) ["Chelyabinsk"] = {container = "Chelyabinsk Oblast"}, -- 1,430,000 (Agglomeration) ["Rostov-on-Don"] = {container = "Rostov Oblast"}, -- 1,390,000 (Agglomeration) ["Rostov-na-Donu"] = {alias_of = "Rostov-on-Don", display = true}, ["Krasnodar"] = {container = {key = "Krasnodar Krai, Russia", placetype = "krai"}}, -- 1,370,000 (Agglomeration) ["Samara"] = {container = "Samara Oblast"}, -- 1,350,000 (Agglomeration) ["Krasnoyarsk"] = {container = {key = "Krasnoyarsk Krai, Russia", placetype = "krai"}}, -- 1,270,000 (Agglomeration) ["Ufa"] = {container = {key = "Bashkortostan, Russia", placetype = "republic"}}, -- 1,230,000 (Agglomeration) ["Saratov"] = {container = "Saratov Oblast"}, -- 1,170,000 (Agglomeration) ["Omsk"] = {container = "Omsk Oblast"}, -- 1,140,000 (Agglomeration) ["Voronezh"] = {container = "Voronezh Oblast"}, -- 1,130,000 (Agglomeration) ["Volgograd"] = {container = "Volgograd Oblast"}, -- 1,080,000 (Agglomeration) ["Perm"] = {container = {key = "Perm Krai, Russia", placetype = "krai"}, wp = "%l, Russia"}, -- 1,070,000 (Agglomeration) } export.russia_cities_group = { canonicalize_key_container = make_canonicalize_key_container(", Russia", "oblast"), default_container = "Nga", default_placetype = "thành phố", data = export.russia_cities, } export.saudi_arabia_cities = { -- Figures for the first five from [[w:List of cities and towns in Saudi Arabia]] as of 2022. Unclear if these are -- metro, urban or city proper figures. ["Riyadh"] = {container = "Riyadh"}, -- 7,000,100; 7,700,000 per citypopulation.de 2025-01-01 (Agglomeration) ["Jeddah"] = {container = "Mecca"}, -- 3,751,917; 3,950,000 per citypopulation.de 2025-01-01 (Agglomeration) ["Jedda"] = {alias_of = "Jeddah", display = true}, ["Jiddah"] = {alias_of = "Jeddah", display = true}, ["Jidda"] = {alias_of = "Jeddah", display = true}, ["Dammam"] = {container = "Eastern"}, -- 2,638,166; 2,925,000 per citypopulation.de 2025-01-01 (Agglomeration) ["Mecca"] = {container = "Mecca"}, -- 2,385,509; 2,675,000 per citypopulation.de 2025-01-01 (Agglomeration) ["Makkah"] = {alias_of = "Mecca", display = true}, ["Medina"] = {container = "Medina"}, -- 1,477,023; 1,530,000 per citypopulation.de 2025-01-01 (City) ["Hofuf"] = {container = "Eastern"}, -- 1,060,000 per citypopulation.de 2025-01-01 (Agglomeration) ["Khamis Mushait"] = {container = "Aseer"}, -- 1,030,000 per citypopulation.de 2025-01-01 (Agglomeration) ["Khamis Mushayt"] = {alias_of = "Khamis Mushait", display = true}, } export.saudi_arabia_cities_group = { canonicalize_key_container = make_canonicalize_key_container(" Province, Saudi Arabia", "province"), default_placetype = "thành phố", data = export.saudi_arabia_cities, } export.south_korea_cities = { -- All cities listed are not associated with any county. ["Seoul"] = {}, ["Busan"] = {}, ["Incheon"] = {}, ["Daegu"] = {}, ["Daejeon"] = {}, ["Gwangju"] = {}, ["Ulsan"] = {}, } export.south_korea_cities_group = { default_container = "Hàn Quốc", canonicalize_key_container = make_canonicalize_key_container(" County, South Korea", "province"), default_placetype = "thành phố", data = export.south_korea_cities, } export.spain_cities = { ["Madrid"] = {container = "Community of Madrid"}, ["Barcelona"] = {container = "Catalonia"}, ["Valencia"] = {container = "Valencia"}, ["Seville"] = {container = "Andalusia"}, ["Bilbao"] = {container = "Basque Country"}, } export.spain_cities_group = { canonicalize_key_container = make_canonicalize_key_container(", Spain", "autonomous community"), default_placetype = "thành phố", data = export.spain_cities, } export.taiwan_cities = { ["Tân Bắc"] = {}, ["New Taipei"] = {alias_of = "Tân Bắc", display = true}, ["Đài Trung"] = {}, ["Cao Hùng"] = {wp = "%l, Đài Loan"}, ["Đài Bắc"] = {}, ["Đào Viên"] = {}, ["Đài Nam"] = {}, -- these last three are not special municipalities ["Gia Nghĩa"] = {placetype = "thành phố"}, ["Tân Trúc"] = {placetype = "thành phố"}, ["Cơ Long"] = {placetype = "thành phố"}, } export.taiwan_cities_group = { placename_to_key = false, -- don't add ", Taiwan" to make the key canonicalize_key_container = make_canonicalize_key_container(", Taiwan", "county"), default_container = "Đài Loan", default_placetype = {"special municipality", "municipality", "thành phố"}, default_is_city = true, default_divs = {"districts"}, data = export.taiwan_cities, } -- NOTE: It's OK to mix cities from different constituent countries; as long as the immediate container is correct, -- everything else will be figured out. export.united_kingdom_cities = { ["London"] = {container = "Greater London"}, ["Manchester"] = {container = "Greater Manchester"}, ["Birmingham"] = {container = "West Midlands"}, ["Liverpool"] = {container = "Merseyside"}, ["Glasgow"] = {container = {key = "City of Glasgow, Scotland", placetype = "council area"}}, ["Leeds"] = {container = "West Yorkshire"}, ["Newcastle upon Tyne"] = {container = "Tyne and Wear"}, ["Newcastle"] = {alias_of = "Newcastle upon Tyne"}, ["Bristol"] = {container = {key = "England", placetype = "constituent country"}}, ["Cardiff"] = {container = {key = "Wales", placetype = "constituent country"}}, ["Portsmouth"] = {container = "Hampshire"}, ["Edinburgh"] = {container = {key = "City of Edinburgh, Scotland", placetype = "council area"}}, -- under 1,000,000 people but principal areas of Wales; requested by [[User:Donnanz]] ["Swansea"] = {container = {key = "Wales", placetype = "constituent country"}}, ["Newport"] = {container = {key = "Wales", placetype = "constituent country"}, wp = "Newport, Wales"}, } export.united_kingdom_cities_group = { canonicalize_key_container = make_canonicalize_key_container(", England", "county"), default_placetype = "thành phố", data = export.united_kingdom_cities, } export.united_states_cities = { -- top 50 CSA's by population, with the top and sometimes 2nd or 3rd city listed ["New York City"] = {container = "New York", wp = "%l", divs = { {type = "boroughs", container_parent_type = false}, }}, -- Don't display-canonicalize as it may make the display weird (e.g. in the context New York, New York). ["New York"] = {alias_of = "New York City"}, ["Newark"] = {container = "New Jersey"}, ["Los Angeles"] = {container = "California", wp = "%l"}, ["Long Beach"] = {container = "California"}, ["Riverside"] = {container = "California"}, ["Chicago"] = {container = "Illinois", wp = "%l"}, ["Washington, D.C."] = {wp = "%l"}, ["Washington, DC"] = {alias_of = "Washington, D.C.", display = true}, ["Washington D.C."] = {alias_of = "Washington, D.C.", display = true}, ["Washington DC"] = {alias_of = "Washington, D.C.", display = true}, -- Don't display-canonicalize as it may make the display weird (e.g. if the holonym is followed by a District of -- Columbia holonym). ["Washington"] = {alias_of = "Washington, D.C."}, ["Baltimore"] = {container = "Maryland", wp = "%l"}, -- to avoid conflict with San Jose in Costa Rica ["San Jose, California"] = {container = "California"}, ["San Jose"] = {alias_of = "San Jose, California"}, ["San Francisco"] = {container = "California", wp = "%l"}, ["Oakland"] = {container = "California"}, ["Boston"] = {container = "Massachusetts", wp = "%l"}, ["Providence"] = {container = "Rhode Island"}, ["Dallas"] = {container = "Texas", wp = "%l", commonscat = "%l, %c"}, ["Fort Worth"] = {container = "Texas"}, ["Philadelphia"] = {container = "Pennsylvania", wp = "%l"}, ["Houston"] = {container = "Texas", wp = "%l"}, ["Miami"] = {container = "Florida", wp = "%l", commonscat = "%l, %c"}, ["Atlanta"] = {container = "Georgia", wp = "%l"}, ["Detroit"] = {container = "Michigan", wp = "%l"}, ["Phoenix"] = {container = "Arizona", wp = "%l", commonscat = "%l, %c"}, ["Mesa"] = {container = "Arizona"}, ["Seattle"] = {container = "Washington", wp = "%l"}, ["Orlando"] = {container = "Florida"}, ["Minneapolis"] = {container = "Minnesota", wp = "%l"}, ["Cleveland"] = {container = "Ohio", wp = "%l", commonscat = "%l, %c"}, ["Denver"] = {container = "Colorado", wp = "%l", commonscat = "%l, %c"}, ["San Diego"] = {container = "California", wp = "%l", commonscat = "%l, %c"}, ["Portland"] = {container = "Oregon"}, ["Tampa"] = {container = "Florida"}, ["St. Louis"] = {container = "Missouri", wp = "%l", commonscat = "%l, %c"}, ["Saint Louis"] = {alias_of = "St. Louis", display = true}, ["Charlotte"] = {container = "North Carolina"}, ["Sacramento"] = {container = "California"}, ["Pittsburgh"] = {container = "Pennsylvania", wp = "%l"}, ["Salt Lake City"] = {container = "Utah", wp = "%l"}, ["San Antonio"] = {container = "Texas", wp = "%l", commonscat = "%l, %c"}, ["Columbus"] = {container = "Ohio"}, ["Kansas City"] = {container = "Missouri", wp = "%l metropolitan area", commonscat = "%l, %c"}, ["Indianapolis"] = {container = "Indiana", wp = "%l"}, ["Las Vegas"] = {container = "Nevada", wp = "%l"}, ["Cincinnati"] = {container = "Ohio", wp = "%l", commonscat = "%l, %c"}, ["Austin"] = {container = "Texas"}, ["Milwaukee"] = {container = "Wisconsin", wp = "%l", commonscat = "%l, %c"}, ["Raleigh"] = {container = "North Carolina"}, ["Nashville"] = {container = "Tennessee"}, ["Virginia Beach"] = {container = "Virginia"}, ["Norfolk"] = {container = "Virginia"}, ["Greensboro"] = {container = "North Carolina"}, ["Winston-Salem"] = {container = "North Carolina"}, ["Jacksonville"] = {container = "Florida"}, ["New Orleans"] = {container = "Louisiana", wp = "%l"}, ["Louisville"] = {container = "Kentucky"}, ["Greenville"] = {container = "South Carolina"}, ["Hartford"] = {container = "Connecticut"}, ["Oklahoma City"] = {container = "Oklahoma", wp = "%l"}, ["Grand Rapids"] = {container = "Michigan"}, ["Memphis"] = {container = "Tennessee"}, ["Birmingham, Alabama"] = {container = "Alabama"}, ["Birmingham"] = {alias_of = "Birmingham, Alabama"}, ["Fresno"] = {container = "California"}, ["Richmond"] = {container = "Virginia"}, ["Harrisburg"] = {container = "Pennsylvania"}, -- any major city of top 50 MSA's that's missed by previous ["Buffalo"] = {container = "New York"}, -- any of the top 50 city by city population that's missed by previous ["El Paso"] = {container = "Texas"}, ["Albuquerque"] = {container = "New Mexico"}, ["Tucson"] = {container = "Arizona"}, ["Colorado Springs"] = {container = "Colorado"}, ["Omaha"] = {container = "Nebraska"}, ["Tulsa"] = {container = "Oklahoma"}, -- skip Arlington, Texas; too obscure and likely to be interpreted as Arlington, Virginia } export.united_states_cities_group = { default_container = "Hoa Kỳ", canonicalize_key_container = make_canonicalize_key_container(", USA", "state"), default_placetype = "thành phố", default_wp = "%l, %c", data = export.united_states_cities, } export.new_york_boroughs = { ["Bronx"] = {the = true, wp = "The Bronx"}, ["Brooklyn"] = {}, ["Manhattan"] = {}, ["Queens"] = {}, ["Staten Island"] = {}, } export.new_york_boroughs_group = { default_container = {key = "New York City", placetype = "thành phố"}, default_placetype = "borough", default_is_city = true, data = export.new_york_boroughs, } export.vietnam_cities = { -- Figures from citypopulation.de (retrieved 2025-04-26; reference date 2025-01-01) unless otherwise indicated. ["Thành phố Hồ Chí Minh"] = {}, -- 14,300,000 (Agglomeration; inclunding Bien Hoa) ["Sài Gòn"] = {alias_of = "Thành phố Hồ Chí Minh"}, ["Hanoi"] = {}, -- 7,350,000 (Agglomeration) ["Da Nang"] = {}, -- 1,500,000 (Agglomeration) ["Danang"] = {alias_of = "Da Nang", display = true}, ["Haiphong"] = {}, -- 1,450,000 (Agglomeration) ["Hai Phong"] = {alias_of = "Haiphong", display = true}, -- This is the one entry in this list that is not a province-level municipality; instead it's a "provincial city" -- meaning it is directly under its province as opposed to being contained in a district. ["Bien Hoa"] = {placetype = "thành phố", container = "Đồng Nai", wp = "Biên Hòa"}, -- 1,272,235 (2022 city population per Wikipedia) ["Biên Hòa"] = {alias_of = "Bien Hoa", display = true}, ["Biên Hoà"] = {alias_of = "Bien Hoa", display = true}, -- These two not in citypopulation.de because the urban population may be slightly under 1,000,000, but they are -- both province-level municipalities and close to the 1,000,000 mark. ["Can Tho"] = {wp = "Cần Thơ"}, -- 1,456,000 municipality (2019 census), 994,704 urban (2022 General Statistics Office of Vietnam estimate); capital [[Ninh Kiều district]] ["Cần Thơ"] = {alias_of = "Can Tho", display = true}, ["Huế"] = {wp = "Huế"}, -- 1,257,000 municipality (2019 census), 840,000 urban (2022 General Statistics Office of Vietnam estimate); -- capital [[Thuận Hóa district]] ["Hue"] = {alias_of = "Hue", display = true}, } export.vietnam_cities_group = { placename_to_key = false, -- don't add ", Vietnam" to make the key default_container = "Việt Nam", canonicalize_key_container = make_canonicalize_key_container(" , Việt Nam", "tỉnh"), -- Most of the cities listed are province-level municipalities in addition, which contain a certain amount of -- rural territory surrounding the city, but not enough to separate the municipality from the city as distinct -- known locations. default_placetype = {"municipality", "thành phố"}, default_is_city = true, -- There may not be enough districts to subcategorize like this. -- default_divs = "districts", data = export.vietnam_cities, } export.misc_cities = { ------------------ Africa ------------------- -- Sorted by country and then within the country, by decreasing population; figures from citypopulation.de -- (retrieved 2025-04-26; reference date 2025-01-01) unless otherwise indicated; combined with data from -- [[w:List of urban areas in Africa by population]]. ["Algiers"] = {container = "Algeria"}, -- 4,325,000 (Consolidated Urban Area) ["Oran"] = {container = "Algeria"}, -- 1,640,000 (Consolidated Urban Area) ["Luanda"] = {container = "Angola"}, -- 9,650,000 (Urban Area) ["Benguela"] = {container = "Angola"}, -- 1,420,000 (Urban Area) ["Cotonou"] = {container = "Benin"}, -- 2,150,000 (Agglomeration) ["Ouagadougou"] = {container = "Burkina Faso"}, -- 3,425,000 (Agglomeration) ["Bobo-Dioulasso"] = {container = "Burkina Faso"}, -- 1,100,000 (Agglomeration) ["Bujumbura"] = {container = "Burundi"}, -- 1,143,202 (Urban Area 2023 per PopulationStat, cited in Wikipedia) ["Yaoundé"] = {container = "Cameroon"}, -- 3,975,000 (City) ["Yaounde"] = {alias_of = "Yaoundé", display = true}, ["Douala"] = {container = "Cameroon"}, -- 3,900,000 (City) ["Bangui"] = {container = "Central African Republic"}, -- 1,680,000 (Agglomeration) ["N'Djamena"] = {container = "Chad"}, -- 1,950,000 (City) ["Ndjamena"] = {alias_of = "N'Djamena", display = true}, ["Kinshasa"] = {container = "Democratic Republic of the Congo"}, -- 16,300,000 (City; population of low reliability) ["Lubumbashi"] = {container = "Democratic Republic of the Congo"}, -- 2,875,000 (City; population of low reliability) ["Mbuji-Mayi"] = {container = "Democratic Republic of the Congo"}, -- 2,500,000 (City; population of low reliability) ["Kananga"] = {container = "Democratic Republic of the Congo"}, -- 1,370,000 (City; population of low reliability) ["Kisangani"] = {container = "Democratic Republic of the Congo"}, -- 1,300,000 (City; population of low reliability) ["Bukavu"] = {container = "Democratic Republic of the Congo"}, -- 1,100,000 (City; population of low reliability) ["Goma"] = {container = "Democratic Republic of the Congo"}, -- 1,010,000 (City; population of low reliability) ["Tshikapa"] = {container = "Democratic Republic of the Congo"}, -- 1,020,468 (2023 Wikipedia [[w:List of cities with over one million inhabitants]] from populationstat.com; not in citypopulation.de) ["Cairo"] = {container = "Ai Cập"}, -- 22,800,000 (Agglomeration, including Giza and Subhra El Kheima) ["Alexandria"] = {container = "Ai Cập"}, -- 6,250,000 (Agglomeration) ["Giza"] = {container = "Ai Cập"}, -- 4,458,135 (2023 from citypopulation.de) ["Shubra El Kheima"] = {container = "Ai Cập"}, -- 1,240,239 (2021 from citypopulation.de) ["Asmara"] = {container = "Eritrea"}, -- 1,090,000 (City; population of low reliability) ["Asmera"] = {alias_of = "Asmara", display = true}, ["Addis Ababa"] = {container = "Ethiopia"}, -- 4,825,000 (Agglomeration) ["Banjul"] = {container = "Gambia"}, -- 1,170,000 (Agglomeration) ["Accra"] = {container = "Ghana"}, -- 6,800,000 (Agglomeration) ["Kumasi"] = {container = "Ghana"}, -- 2,900,000 (Agglomeration) ["Conakry"] = {container = "Guinea"}, -- 2,975,000 (Consolidated Urban Area) ["Abidjan"] = {container = "Bờ Biển Ngà"}, -- 7,050,000 (Agglomeration) ["Nairobi"] = {container = "Kenya"}, -- 6,900,000 (unindicated) ["Mombasa"] = {container = "Kenya"}, -- 1,370,000 (City) ["Monrovia"] = {container = "Liberia"}, -- 1,940,000 (Urban Area) ["Tripoli"] = {container = "Libya", wp = "%l, %c"}, -- 1,870,000 (unindicated) ["Antananarivo"] = {container = "Madagascar"}, -- 3,150,000 (Agglomeration) ["Lilongwe"] = {container = "Malawi"}, -- 1,210,000 (City) ["Bamako"] = {container = "Mali"}, -- 5,700,000 (Agglomeration) ["Nouakchott"] = {container = "Mauritania"}, -- 1,500,000 (City) ["Casablanca"] = {container = {key = "Casablanca-Settat, Morocco", placetype = "region"}}, -- 4,450,000 (Municipality (urban population)) ["Rabat"] = {container = {key = "Rabat-Sale-Kenitra, Morocco", placetype = "region"}}, -- 2,125,000 (Municipality (urban population)) ["Tangier"] = {container = {key = "Tangier-Tetouan-Al Hoceima, Morocco", placetype = "region"}}, -- 1,410,000 (Municipality (urban population)) ["Tanger"] = {alias_of = "Tangier", display = true}, ["Tangiers"] = {alias_of = "Tangier", display = true}, ["Fez"] = {container = {key = "Fez-Meknes, Morocco", placetype = "region"}, wp = "%l, Morocco"}, -- 1,310,000 (Municipality (urban population)) ["Fes"] = {alias_of = "Fez", display = true}, ["Fès"] = {alias_of = "Fez", display = true}, ["Agadir"] = {container = {key = "Souss-Massa, Morocco", placetype = "region"}}, -- 1,270,000 (Municipality (urban population)) ["Marrakesh"] = {container = {key = "Marrakesh-Safi, Morocco", placetype = "region"}}, -- 1,140,000 (Municipality (urban population)) ["Marrakech"] = {alias_of = "Marrakesh", display = true}, ["Maputo"] = {container = "Mozambique"}, -- 2,575,000 (Agglomeration) ["Niamey"] = {container = "Niger"}, -- 1,530,000 (City) ["Brazzaville"] = {container = "Republic of the Congo"}, -- 2,475,000 (Agglomeration) ["Pointe-Noire"] = {container = "Republic of the Congo"}, -- 1,480,000 (City) ["Kigali"] = {container = "Rwanda"}, -- 1,960,000 (Municipality (urban population)) ["Dakar"] = {container = "Senegal"}, -- 4,225,000 (Agglomeration) ["Touba"] = {container = "Senegal"}, -- 1,320,000 (Agglomeration) ["Freetown"] = {container = "Sierra Leone"}, -- 1,420,000 (Agglomeration) ["Mogadishu"] = {container = "Somalia"}, -- 2,250,000 (unindicated; population of low reliability) ["Johannesburg"] = {container = {key = "Gauteng, South Africa", placetype = "province"}}, -- 14,800,000 (Consolidated Urban Area; including Pretoria, Soweto, etc.) ["Cape Town"] = {container = {key = "Western Cape, South Africa", placetype = "province"}}, -- 5,100,000 (Consolidated Urban Area) ["Durban"] = {container = {key = "KwaZulu-Natal, South Africa", placetype = "province"}}, -- 3,900,000 (Consolidated Urban Area) ["Pretoria"] = {container = {key = "Gauteng, South Africa", placetype = "province"}}, -- 2,921,488 (2011 census) ["Port Elizabeth"] = {container = {key = "Eastern Cape, South Africa", placetype = "province"}, wp = "Gqeberha"}, -- 1,200,000 (Consolidated Urban Area) ["Gqeberha"] = {alias_of = "Port Elizabeth"}, -- official name; not a display alias ["Khartoum"] = {container = "Sudan"}, -- 7,200,000 (unindicated; population of low reliability) ["Dar es Salaam"] = {container = "Tanzania"}, -- 6,650,000 (Agglomeration) ["Mwanza"] = {container = "Tanzania"}, -- 1,340,000 (Agglomeration) ["Mwanza City"] = {alias_of = "Mwanza", display = true}, ["Arusha"] = {container = "Tanzania"}, -- 1,190,000 (Agglomeration) ["Zanzibar"] = {container = "Tanzania"}, -- 1,030,000 (Agglomeration) ["Lomé"] = {container = "Togo"}, -- 2,625,000 (unindicated) ["Lome"] = {alias_of = "Lomé", display = true}, ["Tunis"] = {container = "Tunisia"}, -- 2,725,000 (Municipality (urban population)) ["Sousse"] = {container = "Tunisia"}, -- 1,180,000 (Municipality (urban population)) ["Soussa"] = {alias_of = "Sousse", display = true}, ["Kampala"] = {container = "Uganda"}, -- 4,300,000 (unindicated) ["Lusaka"] = {container = "Zambia"}, -- 3,000,000 (Consolidated Urban Area) ["Harare"] = {container = "Zimbabwe"}, -- 2,675,000 (Agglomeration) ------------------ Asia ------------------- -- sorted by country and then within the country, by decreasing population; figures from citypopulation.de -- (retrieved 2025-04-26; reference date 2025-01-01) unless otherwise indicated. ["Kabul"] = {container = "Afghanistan"}, -- 5,250,000 (Agglomeration) ["Baku"] = {container = "Azerbaijan"}, -- 3,725,000 (Administrative Area (urban population)) ["Manama"] = {container = "Bahrain"}, -- 1,560,000 (unindicated) ["Dhaka"] = {container = {key = "Dhaka Division, Bangladesh", placetype = "division"}}, -- 23,100,000 (Agglomeration) ["Dacca"] = {alias_of = "Dhaka", display = true}, ["Chittagong"] = {container = {key = "Chittagong Division, Bangladesh", placetype = "division"}}, -- 5,050,000 (Agglomeration) ["Gazipur"] = {container = {key = "Dhaka Division, Bangladesh", placetype = "division"}}, -- 2,674,697 (City per 2022; countied in citypopulation.de as part of Dhaka metro area) ["Khulna"] = {container = {key = "Khulna Division, Bangladesh", placetype = "division"}}, -- 1,210,000 (Agglomeration) ["Phnom Penh"] = {container = "Campuchia"}, -- 2,925,000 (Agglomeration) ["Tehran"] = {container = {key = "Tehran Province, Iran", placetype = "province"}}, -- 16,800,000 (Agglomeration) ["Teheran"] = {alias_of = "Tehran", display = true}, ["Mashhad"] = {container = {key = "Razavi Khorasan Province, Iran", placetype = "province"}}, -- 3,475,000 (Agglomeration) ["Mashad"] = {alias_of = "Mashhad", display = true}, ["Meshhed"] = {alias_of = "Mashhad", display = true}, ["Meshed"] = {alias_of = "Mashhad", display = true}, ["Isfahan"] = {container = {key = "Isfahan Province, Iran", placetype = "province"}}, -- 3,425,000 (Agglomeration) ["Esfahan"] = {alias_of = "Isfahan", display = true}, ["Tabriz"] = {container = {key = "East Azerbaijan Province, Iran", placetype = "province"}}, -- 1,970,000 (Agglomeration) ["Shiraz"] = {container = {key = "Fars Province, Iran", placetype = "province"}}, -- 1,950,000 (Agglomeration) ["Ahvaz"] = {container = {key = "Khuzestan Province, Iran", placetype = "province"}}, -- 1,550,000 (Agglomeration) ["Qom"] = {container = {key = "Qom Province, Iran", placetype = "province"}}, -- 1,450,000 (City) ["Kermanshah"] = {container = {key = "Kermanshah Province, Iran", placetype = "province"}}, -- 1,130,000 (City) ["Baghdad"] = {container = "Iraq"}, -- 7,800,000 (Administrative Area (urban population)) ["Basra"] = {container = "Iraq"}, -- 1,710,000 (Administrative Area (urban population)) ["Mosul"] = {container = "Iraq"}, -- 1,550,000 (Administrative Area (urban population)) ["Erbil"] = {container = "Iraq"}, -- 1,220,000 (Administrative Area (urban population)) ["Kirkuk"] = {container = "Iraq"}, -- 1,160,000 (Administrative Area (urban population)) ["Najaf"] = {container = "Iraq"}, -- 1,050,000 (Administrative Area (urban population)) ["Tel Aviv"] = {container = "Israel"}, -- 3,000,000 (Agglomeration) -- Jerusalem is not recognized internationally as part of either Israel or Palestine, but as a -- [[w:corpus separatum]], so put the container as "châu Á" and list Israel and Palestine as additional parents for -- categorization purposes. ["Jerusalem"] = {container = {key = "châu Á", placetype = "continent"}, addl_parents = {"Israel", "Palestine"}}, -- 1,080,000 (Agglomeration) ["Amman"] = {container = "Jordan"}, -- 6,150,000 (unindicated) ["Irbid"] = {container = "Jordan"}, -- 1,070,000 (unindicated) ["Almaty"] = {container = "Kazakhstan"}, -- 2,700,000 (Agglomeration) ["Alma-Ata"] = {alias_of = "Almaty"}, -- former name, sometimes still used; don't display-canonicalize ["Astana"] = {container = "Kazakhstan"}, -- 1,600,000 (Agglomeration) ["Shymkent"] = {container = "Kazakhstan"}, -- 1,370,000 (Agglomeration) ["Kuwait City"] = {container = "Kuwait"}, -- 5,050,000 (Agglomeration) ["Bishkek"] = {container = "Kyrgyzstan"}, -- 1,540,000 (Agglomeration) ["Beirut"] = {container = "Lebanon"}, -- 1,930,000 (unindicated; population of low reliability) -- Kuala Lumpur is a federal capital city, not in any state ["Kuala Lumpur"] = {container = "Malaysia"}, -- 9,550,000 (Agglomeration) -- there are various George Towns and Georgetowns ["George Town, Malaysia"] = {container = {key = "Penang, Malaysia", placetype = "state"}, wp = "%l, %c"}, -- 2,075,000 (Agglomeration) ["George Town"] = {alias_of = "George Town, Malaysia"}, ["Ulaanbaatar"] = {container = "Mông Cổ"}, -- 1,610,000 (City) ["Ulan Bator"] = {alias_of = "Ulaanbaatar", display = true}, ["Yangon"] = {container = "Myanmar"}, -- 5,650,000 (Municipality (urban population)) ["Rangoon"] = {alias_of = "Yangon", display = true}, ["Mandalay"] = {container = "Myanmar"}, -- 1,600,000 (Municipality (urban population)) ["Kathmandu"] = {container = "Nepal"}, -- 3,175,000 (Agglomeration) -- Pyongyang is a directly governed city, not in any province ["Pyongyang"] = {container = "Cộng hòa Dân chủ Nhân dân Triều Tiên"}, -- 3,025,000 (Administrative Area (urban population)) ["Muscat"] = {container = "Oman"}, -- 1,620,000 (Agglomeration) ["Gaza"] = {container = "Palestine", wp = "Gaza City"}, -- 2,275,000 (unindicated) ["Gaza City"] = {alias_of = "Gaza"}, ["Doha"] = {container = "Qatar"}, -- 2,650,000 (Agglomeration) ["Colombo"] = {container = "Sri Lanka"}, -- 4,975,000 (unindicated) ["Damascus"] = {container = "Syria"}, -- 3,975,000 (unindicated; population of low reliability) ["Aleppo"] = {container = "Syria"}, -- 1,980,000 (unindicated; population of low reliability) ["Dushanbe"] = {container = "Tajikistan"}, -- 1,270,000 (City) ["Bangkok"] = {container = "Thái Lan"}, -- 21,800,000 (Agglomeration) -- Chiang Mai not in citypopulation.de, but 1,198,000 urban population in 2021 per Wikipedia -- [[w:List_of_municipalities_in_Thailand#Largest_cities_by_urban_population]] ["Chiang Mai"] = {container = {key = "Chiang Mai Province, Thailand", placetype = "province"}}, ["Chonburi"] = {container = {key = "Chonburi Province, Thailand", placetype = "province"}}, -- 1,570,000 (Agglomeration; including Pattaya) -- metro area population stats from https://www.statista.com/statistics/255483/biggest-cities-in-turkey/ as of 2021; -- second source is citypopulation.de reference date 2025-01-01. ["Istanbul"] = {placetype = {"thành phố", "province"}, divs = {"districts"}, container = "Thổ Nhĩ Kỳ"}, -- 15.2 million; 16,000,000 (Agglomeration) ["İstanbul"] = {alias_of = "Istanbul", display = true}, ["Ankara"] = {container = {key = "Ankara Province, Turkey", placetype = "province"}}, -- 5.15 million; 5,200,000 (Agglomeration) ["Izmir"] = {container = {key = "İzmir Province, Turkey", placetype = "province"}, wp = "İzmir"}, -- 2.95 million; 3,025,000 (Agglomeration) ["İzmir"] = {alias_of = "Izmir", display = true}, ["Bursa"] = {container = {key = "Bursa Province, Turkey", placetype = "province"}}, -- 2.02 million; 2,200,000 (Agglomeration) ["Adana"] = {container = {key = "Adana Province, Turkey", placetype = "province"}}, -- 1.77 million; 1,780,000 (Agglomeration) ["Gaziantep"] = {container = {key = "Gaziantep Province, Turkey", placetype = "province"}}, -- 1.71 million; 1,750,000 (Agglomeration) ["Antalya"] = {container = {key = "Antalya Province, Turkey", placetype = "province"}}, -- 1.3 million; 1,400,000 (Agglomeration) ["Konya"] = {container = {key = "Konya Province, Turkey", placetype = "province"}}, -- 1.35 million; 1,390,000 (Agglomeration) ["Diyarbakır"] = {container = {key = "Diyarbakır Province, Turkey", placetype = "province"}}, -- 1.07 million; 1,100,000 (Agglomeration) -- Diyarbakır is more common per Ngrams and Google Scholar, but Diyarbakir is the Kurdish form, so we should not -- display-canonicalize to the Turkish form Diyarbakır. ["Diyarbakir"] = {alias_of = "Diyarbakır"}, ["Mersin"] = {container = {key = "Mersin Province, Turkey", placetype = "province"}}, -- 1.03 million; 1,060,000 (Agglomeration) ["Ashgabat"] = {container = "Turkmenistan"}, -- 1,150,000 (Agglomeration) ["Dubai"] = {container = "United Arab Emirates"}, -- 6,050,000 (Agglomeration; including Sharjah) ["Abu Dhabi"] = {container = "United Arab Emirates"}, -- 1,850,000 (City) ["Sharjah"] = {container = "United Arab Emirates"}, -- 1,800,000 (Metro area 2022-2023 per Wikipedia; separate from Dubai) ["Tashkent"] = {container = "Uzbekistan"}, -- 3,850,000 (unindicated) ["Sanaa"] = {container = "Yemen"}, -- 3,275,000 (City; population of low reliability) ["Sana'a"] = {alias_of = "Sanaa", display = true}, ["Aden"] = {container = "Yemen"}, -- 1,079,060 (?; 2023 estimate from World Population Review per Wikipedia) ------------------ Europe or Europe-like (Caucasus etc.) --------------------- ["Yerevan"] = {container = "Armenia"}, -- 1,520,000 (Agglomeration) ["Vienna"] = {container = "Áo"}, -- 2,375,000 (Agglomeration) ["Minsk"] = {container = "Belarus"}, -- 2,100,000 (unindicated) ["Brussels"] = {container = "Bỉ"}, -- 2,800,000 (Consolidated Urban Area) ["Antwerp"] = {container = "Bỉ"}, -- 1,270,000 (Consolidated Urban Area) ["Sofia"] = {container = "Bulgaria"}, -- 1,260,000 (Agglomeration) ["Zagreb"] = {container = "Croatia"}, ["Prague"] = {container = "Czech Republic"}, -- 1,470,000 (Agglomeration) ["Brno"] = {container = "Czech Republic"}, -- 729,405 (metro area per Wikipedia as of 2024-01-01 Czech Statistical Office) ["Olomouc"] = {container = "Czech Republic"}, -- 102,293 (city; included only because someone went crazy creating Olomouc-related terms) ["Copenhagen"] = {container = "Đan Mạch"}, -- 1,800,000 (Consolidated Urban Area) ["Helsinki"] = {container = {key = "Uusimaa, Finland", placetype = "region"}}, -- 1,560,000 (Consolidated Urban Area) ["Tbilisi"] = {container = "Georgia"}, -- 1,430,000 (Agglomeration) ["Athens"] = {container = "Hy Lạp"}, ["Thessaloniki"] = {container = "Hy Lạp"}, ["Budapest"] = {container = "Hungary"}, -- FIXME, per Wikipedia "County Dublin" is now the "Dublin Region" ["Dublin"] = {container = {key = "County Dublin, Ireland", placetype = "county"}}, ["Riga"] = {container = "Latvia"}, ["Amsterdam"] = {container = {key = "North Holland, Netherlands", placetype = "province"}}, ["Rotterdam"] = {container = {key = "South Holland, Netherlands", placetype = "province"}}, ["The Hague"] = {container = {key = "South Holland, Netherlands", placetype = "province"}}, -- Christchurch (metro 546,600) and Wellington (metro 439,800) are too small to make it. ["Auckland"] = {container = {key = "Auckland, New Zealand", placetype = "region"}}, ["Oslo"] = {container = {key = "Oslo, Norway", placetype = "county"}}, ["Warsaw"] = {container = {key = "Masovian Voivodeship, Poland", placetype = "voivodeship"}}, ["Katowice"] = {container = {key = "Silesian Voivodeship, Poland", placetype = "voivodeship"}}, --- Ngrams (up through 2022) and Google Scholar (>= 2024) confirms the common form "Krakow" without accent. ["Krakow"] = {container = {key = "Lesser Poland Voivodeship, Poland", placetype = "voivodeship"}, wp = "Kraków"}, ["Kraków"] = {alias_of = "Krakow", display = true}, ["Cracow"] = {alias_of = "Krakow", display = true}, --- Ngrams (up through 2022) and Google Scholar (>= 2024) confirm "Gdańsk" and "Poznań" with accent. ["Gdańsk"] = {container = {key = "Pomeranian Voivodeship, Poland", placetype = "voivodeship"}}, ["Gdansk"] = {alias_of = "Gdańsk", display = true}, ["Poznań"] = {container = {key = "Greater Poland Voivodeship, Poland", placetype = "voivodeship"}}, ["Poznan"] = {alias_of = "Poznań", display = true}, --- Ngrams (up through 2022) and Google Scholar (>= 2024) confirms the common form "Lodz" without accents. ["Lodz"] = {container = {key = "Lodz Voivodeship, Poland", placetype = "voivodeship"}, wp = "Łódź"}, ["Łódź"] = {alias_of = "Lodz", display = true}, ["Lisbon"] = {container = {key = "Lisbon District, Portugal", placetype = "district"}}, ["Porto"] = {container = {key = "Porto District, Portugal", placetype = "district"}}, ["Oporto"] = {alias_of = "Porto", display = true}, ["Bucharest"] = {container = "Romania"}, ["Belgrade"] = {container = "Serbia"}, ["Stockholm"] = {container = "Thụy Điển"}, ["Zurich"] = {container = "Switzerland"}, --- Ngrams (up through 2022) and Google Scholar (>= 2024) confirms the common form "Zurich" without umlaut. --- Even Wikipedia uses the form without umlaut. ["Zürich"] = {alias_of = "Zurich", display = true}, ["Kyiv"] = {container = "Ukraina"}, -- not in Kyiv Oblast -- Don't display-canonicalize Kiev -> Kyiv because in ancient contexts, Kiev is still more common. ["Kiev"] = {alias_of = "Kyiv"}, ["Kharkiv"] = {container = {key = "Kharkiv Oblast, Ukraine", placetype = "oblast"}}, ["Odessa"] = {container = {key = "Odesa Oblast, Ukraine", placetype = "oblast"}, wp = "Odesa"}, -- Don't display-canonicalize Odesa -> Odessa because it may be interpreted as a political statement. ["Odesa"] = {alias_of = "Odessa"}, ------------------ North America, South America --------------------- -- Primary figures from citypopulation.de retrieved on 2025-04-26 (reference date 2025-01-01); -- Wikipedia metropolitan figures from [[w:List of metropolitan areas in the Americas]] based on per-country data; -- Wikipedia city limits figures from [[w:List of largest cities in the Americas]]. ["Buenos Aires"] = {container = "Argentina"}, -- 16,800,000 (Consolidated Urban Area; 13,985,794 metropolitan area per Wikipedia) ["Córdoba, Argentina"] = {container = "Argentina", wp = "%l, %c"}, -- 1,810,000 (Consolidated Urban Area; 1,505,25 city limits per Wikipedia) -- to avoid confusion with Córdoba in Spain ["Córdoba"] = {alias_of = "Córdoba, Argentina"}, ["Cordoba"] = {alias_of = "Córdoba, Argentina", display = "Córdoba"}, ["Rosario"] = {container = "Argentina", wp = "%l, Santa Fe"}, -- 1,510,000 (Consolidated Urban Area; 1,348,725 metropolitan area per Wikipedia) ["Mendoza"] = {container = "Argentina", wp = "%l, %c"}, -- 1,180,000 (Consolidated Urban Area) ["San Miguel de Tucumán"] = {container = "Argentina"}, -- 1,110,000 (Consolidated Urban Area) ["Tucumán"] = {alias_of = "San Miguel de Tucumán"}, ["Tucuman"] = {alias_of = "San Miguel de Tucumán", display = "Tucumán"}, ["Santa Cruz de la Sierra"] = {container = "Bolivia"}, -- 1,960,000 (Consolidated Urban Area); 1,606,671 (city limits per Wikipedia) ["Santa Cruz"] = {alias_of = "Santa Cruz de la Sierra"}, ["La Paz"] = {container = "Bolivia"}, -- 1,870,000 (Consolidated Urban Area; composed of El Alto, now slightly larger, and La Paz) ["El Alto"] = {container = "Bolivia"}, ["Cochabamba"] = {container = "Bolivia"}, -- 1,280,000 (Consolidated Urban Area) ["Santiago"] = {container = "Chile"}, -- 8,400,000 (Consolidated Urban Area; 6,903,479 city limits? per Wikipedia) ["Valparaíso"] = {container = "Chile"}, -- 1,060,000 (Consolidated Urban Area) ["Valparaiso"] = {alias_of = "Valparaíso"}, -- 1,060,000 (Consolidated Urban Area) ["Bogotá"] = {container = "Colombia"}, -- 10,600,000 (Agglomeration; 12,772,828 metropolitan area per Wikipedia) ["Bogota"] = {alias_of = "Bogotá", display = true}, ["Medellín"] = {container = "Colombia"}, -- 4,350,000 (Agglomeration; 4,068,000 metropolitan area per Wikipedia) ["Medellin"] = {alias_of = "Medellín", display = true}, ["Cali"] = {container = "Colombia"}, -- 2,975,000 (Agglomeration; 2,837,000 metropolitan area per Wikipedia) ["Barranquilla"] = {container = "Colombia"}, -- 2,375,000 (Agglomeration; 1,341,160 city limits per Wikipedia) ["Bucaramanga"] = {container = "Colombia"}, -- 1,380,000 (Agglomeration) ["Cartagena, Colombia"] = {container = "Colombia", wp = "%l, %c"}, -- 1,250,000 (Agglomeration) -- to avoid confusion with Cartagena, Spain ["Cartagena"] = {alias_of = "Cartagena, Colombia"}, ["Cúcuta"] = {container = "Colombia"}, -- 1,130,000 (Agglomeration) ["Cucuta"] = {alias_of = "Cúcuta", display = true}, -- to avoid conflict with San Jose, California ["San José, Costa Rica"] = {container = "Costa Rica", wp = "%l, %c"}, -- 2,450,000 (Municipality (urban population); 3,160,000 metropolitan area per Wikipedia) ["San José"] = {alias_of = "San José, Costa Rica"}, ["San Jose"] = {alias_of = "San José, Costa Rica"}, -- display = "San José"; causes error due to San Jose alias for California city; FIXME ["Havana"] = {container = "Cuba"}, -- 2,150,000 (City; 2,137,847 city limits? per Wikipedia) ["Santo Domingo"] = {container = "Dominican Republic"}, -- 3,900,000 (Municipality (urban population); 4,274,651 ??? per Wikipedia) ["Guayaquil"] = {container = "Ecuador"}, -- 3,350,000 (Agglomeration; 3,092,000 metro area? per Wikipedia) ["Quito"] = {container = "Ecuador"}, -- 2,875,000 (Agglomeration; 2,889,703 metro area? per Wikipedia) ["San Salvador"] = {container = "El Salvador"}, -- 1,580,000 (Municipality (urban population)) ["Guatemala City"] = {container = "Guatemala"}, -- 3,375,000 (Municipality (urban population); 3,160,000 metro area? per Wikipedia) ["Port-au-Prince"] = {container = "Haiti"}, -- 3,050,000 (Agglomeration; population of low reliability; 2,915,000 metro area? per Wikipedia) ["San Pedro Sula"] = {container = "Honduras"}, -- 1,330,000 (Consolidated Urban Area) ["Tegucigalpa"] = {container = "Honduras"}, -- 1,220,000 (Urban Area) ["Managua"] = {container = "Nicaragua"}, -- 1,400,000 (Consolidated Urban Area) ["Panama City"] = {container = "Panama"}, -- 1,430,000 (Urban Area) ["Asunción"] = {container = "Paraguay"}, -- 2,350,000 (Municipality (urban population)) ["Lima"] = {container = "Peru"}, -- 12,000,000 (Agglomeration; 11,283,787 ??? per Wikipedia) ["Arequipa"] = {container = "Peru"}, -- 1,210,000 (Agglomeration) ["San Juan"] = {container = {key = "Puerto Rico", placetype = "commonwealth"}, wp = "%l, %c"}, -- 1,910,000 (Consolidated Urban Area) ["Montevideo"] = {container = "Uruguay"}, -- 1,810,000 (Agglomeration; 1,302,954 ??? per Wikipedia) ["Caracas"] = {container = "Venezuela"}, -- 3,850,000 (Consolidated Urban Area; 5,243,301 ??? per Wikipedia) ["Maracaibo"] = {container = "Venezuela"}, -- 2,825,000 (Consolidated Urban Area; 5,278,448 ??? per Wikipedia) -- to avoid confusion with Valencia (city and autonomous community of Spain) ["Valencia, Venezuela"] = {container = "Venezuela", wp = "%l, %c"}, -- 2,100,000 (Consolidated Urban Area) ["Valencia"] = {alias_of = "Valencia, Venezuela"}, ["Maracay"] = {container = "Venezuela"}, -- 1,480,000 (Consolidated Urban Area) ["Barquisimeto"] = {container = "Venezuela"}, -- 1,360,000 (Consolidated Urban Area) } export.misc_cities_group = { canonicalize_key_container = make_canonicalize_key_container(nil, "quốc gia"), default_placetype = "thành phố", data = export.misc_cities, } --[==[ var: List of all known locations, in groups. The first group lists continents and continental regions, followed by three groups listing top-level locations: countries, "country-like entities" (de-facto/unrecognized/etc. countries and dependent territories) and former polities (countries, empires, etc.). After that come first-level subpolities (administrative divisions) of several, mostly large, countries, followed by groups of cities. China and the United Kingdom include second-level subpolities (in the case of China, only the largest ones as the full list runs in the hundreds). ]==] export.locations = { export.continents_group, export.countries_group, export.country_like_entities_group, export.former_countries_group, export.australia_group, export.austria_group, export.bangladesh_group, export.brazil_group, export.bulgaria_group, export.canada_group, export.china_group, export.china_prefecture_level_cities_group, export.china_prefecture_level_cities_group_2, export.egypt_group, export.finland_group, export.france_group, export.france_departments_group, export.germany_group, export.greece_group, export.india_group, export.indonesia_group, export.iran_group, export.ireland_group, export.italy_group, export.japan_group, export.laos_group, export.lebanon_group, export.malaysia_group, export.malta_group, export.mexico_group, export.moldova_group, export.morocco_group, export.netherlands_group, export.new_zealand_group, export.nigeria_group, export.north_korea_group, export.norway_group, export.pakistan_group, export.philippines_group, export.poland_group, export.portugal_group, export.romania_group, export.russia_group, export.saudi_arabia_group, export.south_africa_group, export.south_korea_group, export.spain_group, export.taiwan_group, export.thailand_group, export.turkey_group, export.ukraine_group, export.united_kingdom_group, export.united_states_group, export.england_group, export.northern_ireland_group, export.scotland_group, export.wales_group, export.vietnam_group, export.australia_cities_group, export.brazil_cities_group, export.canada_cities_group, export.france_cities_group, export.germany_cities_group, export.india_cities_group, export.indonesia_cities_group, export.italy_cities_group, export.japan_cities_group, export.mexico_cities_group, export.nigeria_cities_group, export.pakistan_cities_group, export.philippines_cities_group, export.russia_cities_group, export.saudi_arabia_cities_group, export.south_korea_cities_group, export.spain_cities_group, export.taiwan_cities_group, export.united_kingdom_cities_group, export.united_states_cities_group, export.new_york_boroughs_group, export.vietnam_cities_group, export.misc_cities_group, } return export mxf6rulu11co1oksh1f8ekii1z1q7qu ershi 0 283335 2573324 2105703 2026-10-25T05:40:57Z TheHighFighter2 42988 /* */ 2573324 wikitext text/x-wiki =={{langname|sce}}== ==={{ĐM|etymology}}=== {{bor+|sce|zh|二十}}. ==={{ĐM|pron}}=== * {{IPA|sce|/ɚʂɯ/}} ==={{ĐM|num}}=== {{head|sce|Số từ}} # [[hai mươi|Hai mươi]]. ===={{ĐM|usage}}==== Từ này được sử dụng để đếm trong giao tiếp thông thường. Trong khi đó {{m|sce|khorin}}, cũng có nghĩa là "hai mươi", thường chỉ được dùng trong các ngữ cảnh "hai mươi ngày" hoặc "hai mươi năm tuổi". ==={{ĐM|ref}}=== * Juha Janhunen, ''The Mongolic Languages'' (2006) {{ISBN|1135796904}} a9kdhkgpcut4usjh69wpefdrnjrv7v2 khorin 0 283336 2573325 2105163 2026-10-25T05:44:19Z TheHighFighter2 42988 /* */ 2573325 wikitext text/x-wiki =={{langname|sce}}== ==={{ĐM|etym}}=== Từ {{inherited|sce|xgn-pro|*korin|t=hai mươi}}, cùng gốc với {{cognate|mn|хорин}}, {{cognate|peh|xorung}}. ==={{ĐM|num}}=== {{head|sce|Số từ}} # [[hai mươi|Hai mươi]]. ===={{ĐM|usage}}==== Từ này thường chỉ được dùng trong các ngữ cảnh "hai mươi ngày" hoặc "hai mươi năm tuổi", còn {{m|sce|ershi}} (một từ mượn gốc Hán) được sử dụng để đếm trong giao tiếp thông thường. ==={{ĐM|ref}}=== * Juha Janhunen, ''The Mongolic Languages'' (2006) {{ISBN|1135796904}} pw7rezf0pfl8qchjhoch9wx1ildrlfb Mô đun:Thống kê Wiktionary/N 828 285898 2573222 2111202 2026-10-24T13:59:49Z Hiyuune 50834 2573222 Scribunto text/plain ---Các hàm có liên quan đến thống kê của dự án Wiktionary tiếng Việt. local p = {} local viet = require "Module:Quốc ngữ" local stats = mw.site.stats local lang = mw.getContentLanguage() local categoryPrefix = "Mục từ " ---Dữ liệu các thể loại ngôn ngữ. p.categoriesByCode = { ["nor"] = {short = "no", names = {"tiếng Na Uy", "tiếng Na Uy (Bokmål)", "tiếng Na Uy (Nynorsk)"}, templates = 2 + 2 + 2}, ["nci"] = {name = "tiếng Nahuatl cổ điển", templates = 2}, ["alt"] = {name = "tiếng Nam Altai", templates = 2}, ["kmc"] = {name = "tiếng Nam Động", templates = 2}, ["sma"] = {name = "tiếng Nam Sami", templates = 2}, ["uzs"] = {name = "tiếng Nam Uzbek", templates = 2}, ["yux"] = {name = "tiếng Nam Yukaghir", templates = 2}, ["gld"] = {name = "tiếng Nanai", templates = 2}, ["nxq"] = {name = "tiếng Nạp Tây", templates = 2}, ["nap"] = {name = "tiếng Naples", templates = 2}, ["nau"] = {short = "na", name = "tiếng Nauru", templates = 2}, ["nav"] = {short = "nv", name = "tiếng Navajo", templates = 2}, ["neg"] = {short = "ne", name = "tiếng Negidal", templates = 2}, ["syd-fne"] = {name = "tiếng Nenets rừng", templates = 2}, ["nep"] = {short = "ne", name = "tiếng Nepal", templates = 2}, ["new"] = {name = "tiếng Newa", templates = 2}, ["rus"] = {short = "ru", name = "tiếng Nga", templates = 2}, ["ase"] = {name = "ngôn ngữ ký hiệu Mỹ", templates = 2}, ["nuo"] = {name = "tiếng Nguồn", templates = 2}, ["wuh"] = {name = "tiếng Ngũ Đồn", templates = 2}, ["jpn"] = {short = "ja", name = "tiếng Nhật", templates = 3}, ["ojp"] = {name = "tiếng Nhật thượng cổ", templates = 2}, ["niu"] = {name = "tiếng Niue", templates = 2}, ["nog"] = {name = "tiếng Nogai", templates = 2}, ["nrf"] = {name = "tiếng Norman", templates = 2}, ["nut"] = {name = "tiếng Nùng", templates = 2}, ["enc"] = {name = "tiếng Nùng Vẻn", templates = 2}, ["juc"] = {name = "tiếng Nữ Chân", templates = 2}, } p["số ngôn ngữ"] = function (frame) if p.numberOfLanguages then return p.numberOfLanguages end local count = 0 for i, entry in pairs(p.categoriesByCode) do count = count + 1 end p.numberOfLanguages = count return p.numberOfLanguages end ---Xây dựng ánh xạ sắp xếp từ các mã ngôn ngữ ISO 639-2 đến các tên ngôn ngữ. function p._buildNamedCodes() if p.namedCodes then return end p.namedCodes = {} for code, category in pairs(p.categoriesByCode) do local name = category.name or category.names[1] name = lang:ucfirst(mw.ustring.gsub( mw.ustring.gsub(name, "^tiếng ", "", 1), "^chữ ", "", 1)) table.insert(p.namedCodes, {code, name}) end table.sort(p.namedCodes, function (namedCode1, namedCode2) return viet.comp(namedCode1[2], namedCode2[2]) end) end ---Tính các mã ngôn ngữ ISO 639-2 của các ngôn ngữ Trung Quốc. function p._buildChineseCodes() if p.chineseCodes then return end p.chineseCodes = {} for code, category in pairs(p.categoriesByCode) do if category.isChinese then local name = category.name or category.names[1] name = lang:ucfirst(mw.ustring.gsub( mw.ustring.gsub(name, "^tiếng ", "", 1), "^chữ ", "", 1)) table.insert(p.chineseCodes, {code, name}) end end table.sort(p.chineseCodes, function (namedCode1, namedCode2) return viet.comp(namedCode1[2], namedCode2[2]) end) end function p.entriesForLanguage(code) local category = p.categoriesByCode[code] if category.name then local entries = stats.pagesInCategory(categoryPrefix .. category.name, "pages") return entries - category.templates end assert(category.names, "Mục ngôn ngữ trong bảng p.categoriesByCode không định rõ tên thể loại.") local total = 0 for i, name in ipairs(category.names) do local entries = stats.pagesInCategory(categoryPrefix .. name, "pages") total = total + entries end return total - category.templates end ---Tính tổng số mục từ tại wiki này. -- Theo hàm này, một từ có trong hơn một ngôn ngữ có thể có hơn một mục từ ở -- cùng một trang. function p.entryCount(onlyCode) if onlyCode == "ZHO" then return p.numChineseEntries() end if onlyCode and #onlyCode > 0 then return p.entriesForLanguage(onlyCode) end local total = 0 for code, category in pairs(p.categoriesByCode) do local entries = p.entriesForLanguage(code) total = total + entries end return total end p["số mục từ"] = function (frame) return p.entryCount(frame and frame.args[1]) end ---Tính tổng số mục từ trong các ngôn ngữ Trung Quốc. function p.numChineseEntries() p._buildChineseCodes() local total = 0 for i, code in ipairs(p.chineseCodes) do total = total + p.entriesForLanguage(code[1]) end return total end function p.languageLinks(categoryNames) local sortKey local links = {} for i, categoryName in ipairs(categoryNames) do local languageName = lang:ucfirst( mw.ustring.gsub( mw.ustring.gsub(categoryName, "^tiếng ", "", 1), "^chữ ", "", 1)) if not sortKey then sortKey = languageName end table.insert(links, string.format("[[:Thể loại:%s%s|%s]]", categoryPrefix, categoryName, languageName)) end return table.concat(links, ", "), sortKey end p["bảng số mục từ"] = function (frame) local args = frame.args local expandChinese = args.subset == "zho" local subsetCodes = nil if expandChinese then p._buildChineseCodes() subsetCodes = p.chineseCodes else p._buildNamedCodes() subsetCodes = p.namedCodes end local rows = {} for i, namedCode in ipairs(subsetCodes) do category = p.categoriesByCode[namedCode[1]] if expandChinese or (namedCode[1] == "zho" or not category.isChinese) then local categoryLinks = p.languageLinks(category.names or {category.name}) local entries if namedCode[1] == "zho" and not expandChinese then entries = p.numChineseEntries() else entries = p.entriesForLanguage(namedCode[1]) end local entriesLink = args["chi tiết " .. namedCode[1]] if entriesLink then entries = string.format("[[%s|%s]]", entriesLink, entries) end table.insert(rows, string.format([=[ |- | data-sort-value="%s" | %s || %s || style="text-align: right;" | %s ]=], namedCode[2], categoryLinks, namedCode[1], entries)) end end local total if expandChinese then total = p.numChineseEntries() else total = p.entryCount() end return mw.ustring.format([=[ {| class="wikitable sortable" |- ! Tên ngôn ngữ !! Mã ngôn ngữ !! data-sort-type="number" | Số mục từ %s |- class="sortbottom" style="font-weight: bold;" ! scope="row" colspan="2" | Tổng số | style="text-align: right;" | %s |} ]=], table.concat(rows), total) end return p 4kan8pnu2jmnluyh5oyl9u6d9kxg9k2 muông thú 0 289964 2573314 2123011 2026-10-25T04:13:20Z ~2026-56788-05 62125 /* */ 2573314 wikitext text/x-wiki {{-vie-}} {{-etym-}} Từ {{af|vi|muông|thú}}. {{-pron-}} {{vie-pron}} {{-noun-}} {{vi-noun}} # [[loài|Loài]] [[thú vật]] (nói chung). #: {{ux|vi|Săn bắn '''muông thú.'''}} 44rflv6wc36hqy5qxm9go8tjhq8jyxi audé 0 291695 2573356 2128252 2026-10-25T10:41:58Z Hiyuune 50834 2573356 wikitext text/x-wiki {{also|aude|Aude}} =={{langname|ast}}== ==={{section|v}}=== {{head|ast|Biến thể hình thái động từ}} # {{inflection of|ast|audar||indc|pret|ở|1|s}} =={{langname|tuw-sol}}== ==={{section|etym}}=== {{bor+|tuw-sol|dta|eud}}. ==={{section|n}}=== {{head|tuw-sol|Danh từ}} # [[cổng]]. ==={{section|ref}}=== * Peter Sauli Piispanen, ''Languages in contact: Dagur and Solon '' (2019). 00zgfj9fasqp3ef6hk4eg0bcipsxx6j au weri 0 292210 2573354 2288449 2026-10-25T10:30:46Z Hiyuune 50834 2573354 wikitext text/x-wiki =={{langname|peh}}== ==={{section|noun}}=== {{head|peh|Danh từ}} # {{label|peh|Cam Túc}} [[con dâu|Con dâu]]. ==={{section|ref}}=== * Charles N. Li & Arienne M. Dwyer (2020). [https://web.archive.org/web/20231004060422/https://kuscholarworks.ku.edu/bitstream/handle/1808/30523/LiDwyer_EasternBonan_v1.pdf?sequence=1 A dictionary of Eastern Bonan]. {{ISBN|978-1-936153-18-3}}. h6e1z7898i0u81rck2fmukpoi8ha9cd audaces 0 312105 2573355 2178204 2026-10-25T10:32:09Z Hiyuune 50834 2573355 wikitext text/x-wiki =={{langname|ca}}== ==={{section|adj}}=== {{head|ca|Biến thể hình thái tính từ}} # {{feminine plural of|ca|audaç}} =={{langname|la}}== ==={{section|adj}}=== {{head|la|Biến thể hình thái tính từ|head=audācēs}} # {{inflection of|la|audāx||nom//acc//voc|ở|m//f|p}} =={{langname|fr}}== ==={{section|n}}=== {{head|fr|Biến thể hình thái danh từ|g=f}} # {{plural of|fr|audace}} =={{langname|es}}== ==={{section|pron}}=== {{es-pr}} ==={{section|adj}}=== {{head|es|Biến thể hình thái tính từ|g=p}} # {{plural of|es|audaz}} gbm1pk7jgqnneaixzzktygr8xh5l087 augmentations 0 312617 2573372 2178924 2026-10-25T11:19:12Z Hiyuune 50834 2573372 wikitext text/x-wiki =={{langname|en}}== ==={{section|n}}=== {{head|en|Biến thể hình thái danh từ}} # {{plural of|en|augmentation}} =={{langname|fr}}== ==={{section|pron}}=== * {{fr-IPA}} * {{audio|fr|LL-Q150 (fra)-Lyokoï-augmentations.wav|a=Lyon}} ==={{section|n}}=== {{head|fr|Biến thể hình thái danh từ|g=f}} # {{plural of|fr|augmentation}} cvm0k125ibui9cqxb63noumreezw51k croissances 0 312626 2573374 2178938 2026-10-25T11:21:34Z Hiyuune 50834 2573374 wikitext text/x-wiki =={{langname|fr}}== ==={{ĐM|pron}}=== * {{fr-IPA}} * {{audio|fr|LL-Q150 (fra)-Lyokoï-croissances.wav|a=Lyon}} ==={{ĐM|n}}=== {{head|fr|Biến thể hình thái danh từ|g=f}} # {{plural of|fr|croissance}} aggq2rv3v4fkf2wo4hvd0zevft9ucvo Thể loại:Danh từ tiếng Nhật thượng cổ 14 314848 2573248 2321809 2026-10-24T14:03:50Z Hiyuune 50834 Hiyuune đã đổi [[Thể loại:Danh từ tiếng Nhật cổ]] thành [[Thể loại:Danh từ tiếng Nhật thượng cổ]] 2321809 wikitext text/x-wiki {{auto cat}} eomzlm5v4j7ond1phrju7cnue91g5qx Bản mẫu:krl-decl-T/kala 10 319313 2573284 2191595 2026-10-25T01:21:46Z Hiyuune 50834 /* */ cập nhật 2573284 wikitext text/x-wiki {{krl-decl-table|d=T|type=loại 4/{{m|krl|kala}}, {{#ifeq:{{{1}}}|{{{2}}}|không luân phiên nguyên âm|luân phiên nguyên âm {{{1}}}-{{{2}}}}} <!-- singular --> |{{#invoke:string/templates|sub|{{pagename}}|1|-{{#expr:{{#invoke:string/templates|len|{{{1}}}}}+2}}}}{{{1}}}{{#switch:{{#invoke:string/templates|sub|{{pagename}}|-1|-1}}|a=a|ä=ä|???}} |{{#invoke:string/templates|sub|{{pagename}}|1|-{{#expr:{{#invoke:string/templates|len|{{{1}}}}}+2}}}}{{{2}}}{{#switch:{{#invoke:string/templates|sub|{{pagename}}|-1|-1}}|a=an|ä=än|???}} |{{#invoke:string/templates|sub|{{pagename}}|1|-{{#expr:{{#invoke:string/templates|len|{{{1}}}}}+2}}}}{{{1}}}{{#switch:{{#invoke:string/templates|sub|{{pagename}}|-1|-1}}|a=ua|ä=iä|???}} |{{#invoke:string/templates|sub|{{pagename}}|1|-{{#expr:{{#invoke:string/templates|len|{{{1}}}}}+2}}}}{{{1}}}{{#switch:{{#invoke:string/templates|sub|{{pagename}}|-1|-1}}|a=ah|ä=äh|???}} |{{#invoke:string/templates|sub|{{pagename}}|1|-{{#expr:{{#invoke:string/templates|len|{{{1}}}}}+2}}}}{{{2}}}{{#switch:{{#invoke:string/templates|sub|{{pagename}}|-1|-1}}|a=ašša|ä=äššä|???}} |{{#invoke:string/templates|sub|{{pagename}}|1|-{{#expr:{{#invoke:string/templates|len|{{{1}}}}}+2}}}}{{{2}}}{{#switch:{{#invoke:string/templates|sub|{{pagename}}|-1|-1}}|a=ašta|ä=äštä|???}} |{{#invoke:string/templates|sub|{{pagename}}|1|-{{#expr:{{#invoke:string/templates|len|{{{1}}}}}+2}}}}{{{2}}}{{#switch:{{#invoke:string/templates|sub|{{pagename}}|-1|-1}}|a=alla|ä=ällä|???}} |{{#invoke:string/templates|sub|{{pagename}}|1|-{{#expr:{{#invoke:string/templates|len|{{{1}}}}}+2}}}}{{{2}}}{{#switch:{{#invoke:string/templates|sub|{{pagename}}|-1|-1}}|a=alda|ä=äldä|???}} |{{#invoke:string/templates|sub|{{pagename}}|1|-{{#expr:{{#invoke:string/templates|len|{{{1}}}}}+2}}}}{{{2}}}{{#switch:{{#invoke:string/templates|sub|{{pagename}}|-1|-1}}|a=akši|ä=äkši|???}} |{{#invoke:string/templates|sub|{{pagename}}|1|-{{#expr:{{#invoke:string/templates|len|{{{1}}}}}+2}}}}{{{1}}}{{#switch:{{#invoke:string/templates|sub|{{pagename}}|-1|-1}}|a=ana|ä=änä|???}} |{{#invoke:string/templates|sub|{{pagename}}|1|-{{#expr:{{#invoke:string/templates|len|{{{1}}}}}+2}}}}{{{2}}}{{#switch:{{#invoke:string/templates|sub|{{pagename}}|-1|-1}}|a=anke|ä=änke|???}} |{{#invoke:string/templates|sub|{{pagename}}|1|-{{#expr:{{#invoke:string/templates|len|{{{1}}}}}+2}}}}{{{2}}}{{#switch:{{#invoke:string/templates|sub|{{pagename}}|-1|-1}}|a=atta|ä=ättä|???}} |{{#invoke:string/templates|sub|{{pagename}}|1|-{{#expr:{{#invoke:string/templates|len|{{{1}}}}}+2}}}}{{{2}}}{{#switch:{{#invoke:string/templates|sub|{{pagename}}|-1|-1}}|a=ačči|ä=äčči|???}} <!-- plural --> |{{#invoke:string/templates|sub|{{pagename}}|1|-{{#expr:{{#invoke:string/templates|len|{{{1}}}}}+2}}}}{{{2}}}{{#switch:{{#invoke:string/templates|sub|{{pagename}}|-1|-1}}|a=at|ä=ät|???}} |{{#invoke:string/templates|sub|{{pagename}}|1|-{{#expr:{{#invoke:string/templates|len|{{{1}}}}}+2}}}}{{{2}}}{{#switch:{{#invoke:string/templates|sub|{{pagename}}|-1|-1}}|a=oin|ä=öin|???}} |{{#invoke:string/templates|sub|{{pagename}}|1|-{{#expr:{{#invoke:string/templates|len|{{{1}}}}}+2}}}}{{{1}}}{{#switch:{{#invoke:string/templates|sub|{{pagename}}|-1|-1}}|a=oida|ä=öidä|???}} |{{#invoke:string/templates|sub|{{pagename}}|1|-{{#expr:{{#invoke:string/templates|len|{{{1}}}}}+2}}}}{{{1}}}{{#switch:{{#invoke:string/templates|sub|{{pagename}}|-1|-1}}|a=oih|ä=öih|???}} |{{#invoke:string/templates|sub|{{pagename}}|1|-{{#expr:{{#invoke:string/templates|len|{{{1}}}}}+2}}}}{{{2}}}{{#switch:{{#invoke:string/templates|sub|{{pagename}}|-1|-1}}|a=oissa|ä=öissä|???}} |{{#invoke:string/templates|sub|{{pagename}}|1|-{{#expr:{{#invoke:string/templates|len|{{{1}}}}}+2}}}}{{{2}}}{{#switch:{{#invoke:string/templates|sub|{{pagename}}|-1|-1}}|a=oista|ä=öistä|???}} |{{#invoke:string/templates|sub|{{pagename}}|1|-{{#expr:{{#invoke:string/templates|len|{{{1}}}}}+2}}}}{{{2}}}{{#switch:{{#invoke:string/templates|sub|{{pagename}}|-1|-1}}|a=oilla|ä=öillä|???}} |{{#invoke:string/templates|sub|{{pagename}}|1|-{{#expr:{{#invoke:string/templates|len|{{{1}}}}}+2}}}}{{{2}}}{{#switch:{{#invoke:string/templates|sub|{{pagename}}|-1|-1}}|a=oilda|ä=öildä|???}} |{{#invoke:string/templates|sub|{{pagename}}|1|-{{#expr:{{#invoke:string/templates|len|{{{1}}}}}+2}}}}{{{2}}}{{#switch:{{#invoke:string/templates|sub|{{pagename}}|-1|-1}}|a=oiksi|ä=öiksi|???}} |{{#invoke:string/templates|sub|{{pagename}}|1|-{{#expr:{{#invoke:string/templates|len|{{{1}}}}}+2}}}}{{{1}}}{{#switch:{{#invoke:string/templates|sub|{{pagename}}|-1|-1}}|a=oina|ä=öinä|???}} |{{#invoke:string/templates|sub|{{pagename}}|1|-{{#expr:{{#invoke:string/templates|len|{{{1}}}}}+2}}}}{{{2}}}{{#switch:{{#invoke:string/templates|sub|{{pagename}}|-1|-1}}|a=oinke|ä=öinke|???}} |{{#invoke:string/templates|sub|{{pagename}}|1|-{{#expr:{{#invoke:string/templates|len|{{{1}}}}}+2}}}}{{{2}}}{{#switch:{{#invoke:string/templates|sub|{{pagename}}|-1|-1}}|a=oitta|ä=öittä|???}} |{{#invoke:string/templates|sub|{{pagename}}|1|-{{#expr:{{#invoke:string/templates|len|{{{1}}}}}+2}}}}{{{2}}}{{#switch:{{#invoke:string/templates|sub|{{pagename}}|-1|-1}}|a=oičči|ä=öičči|???}} |{{#invoke:string/templates|sub|{{pagename}}|1|-{{#expr:{{#invoke:string/templates|len|{{{1}}}}}+2}}}}{{{2}}}{{#switch:{{#invoke:string/templates|sub|{{pagename}}|-1|-1}}|a=oin|ä=öin|???}} }}<noinclude>{{tcat|nomdecl:4}}</noinclude> cjy635y896xg5pk0ujbkusi4g3e60e9 audicions 0 319567 2573357 2191971 2026-10-25T10:55:49Z Hiyuune 50834 2573357 wikitext text/x-wiki =={{langname|ca}}== ==={{section|pron}}=== * {{ca-IPA|audicións}} * {{rhymes|ca|ons|s=4}} ==={{section|n}}=== {{head|ca|Biến thể hình thái danh từ|g=f-p}} # {{plural of|ca|audició}} t3g0gs0yw1s5651lgmpg40ancjpbhbi проверю 0 325518 2573346 2202831 2026-10-25T09:55:47Z Hiyuune 50834 /* Tiếng Nga */ (sử dụng [[MediaWiki:Gadget-AjaxEdit.js|AjaxEdit]]) 2573346 wikitext text/x-wiki =={{langname|ru}}== ==={{ĐM|pron}}=== * {{ru-IPA|прове́рю}} ==={{ĐM|verb}}=== {{head|ru|Biến thể hình thái động từ|head=прове́рю}} # {{inflection of|ru|прове́рить||ind|fut|pfv|ở|1|s}} c30hytpsxg6ze3ig748qm1z0k3e4bhj 2573347 2573346 2026-10-25T09:56:08Z Hiyuune 50834 /* Động từ */ (sử dụng [[MediaWiki:Gadget-AjaxEdit.js|AjaxEdit]]) 2573347 wikitext text/x-wiki =={{langname|ru}}== ==={{ĐM|pron}}=== * {{ru-IPA|прове́рю}} ==={{ĐM|verb}}=== {{head|ru|Biến thể hình thái động từ|head=прове́рю}} # {{inflection of|ru|прове́рить||ind|fut|perf|ở|1|s}} gxarev2uoyxfp87prxqu5yld55ngdxm はいばら 0 326950 2573305 2208092 2026-10-25T03:37:48Z Kelly zhrm 58416 2573305 wikitext text/x-wiki =={{langname|ja}}== ==={{ĐM|pr-noun}}=== {{ja-pos|proper}} # {{ja-def|灰原}} {{surname|ja}} mbd0iiup070lgj9b29kr1j3tyeoijlp abohttan 0 337680 2573340 2225898 2026-10-25T09:44:31Z Hiyuune 50834 2573340 wikitext text/x-wiki =={{langname|se}}== ==={{ĐM|pron}}=== * {{se-IPA}} ==={{ĐM|n}}=== {{head|se|Biến thể hình thái danh từ}} # {{infl of|se|abohtta||ess|;|poss|ở|1|s}} 35o3g3a8rq0pdm5gx529cgkusfbe1ro Thể loại:Tiếng Nhật thượng cổ 14 362174 2573224 2339198 2026-10-24T14:00:27Z Hiyuune 50834 Hiyuune đã đổi [[Thể loại:Tiếng Nhật cổ]] thành [[Thể loại:Tiếng Nhật thượng cổ]] 2339198 wikitext text/x-wiki {{auto cat|Nhật Bản|extinct=1|also=Tiếng Nhật}} pgx400eb3dwbljx2fgdgkhp8jxri3dx Thể loại:Mục từ có trích dẫn ngữ liệu tiếng Nhật thượng cổ 14 380269 2573232 2321799 2026-10-24T14:02:03Z Hiyuune 50834 Hiyuune đã đổi [[Thể loại:Mục từ có trích dẫn ngữ liệu tiếng Nhật cổ]] thành [[Thể loại:Mục từ có trích dẫn ngữ liệu tiếng Nhật thượng cổ]] 2321799 wikitext text/x-wiki {{auto cat}} eomzlm5v4j7ond1phrju7cnue91g5qx Thể loại:Bảo trì mục từ tiếng Nhật thượng cổ 14 380270 2573236 2321800 2026-10-24T14:02:47Z Hiyuune 50834 Hiyuune đã đổi [[Thể loại:Bảo trì mục từ tiếng Nhật cổ]] thành [[Thể loại:Bảo trì mục từ tiếng Nhật thượng cổ]] 2321800 wikitext text/x-wiki {{auto cat}} eomzlm5v4j7ond1phrju7cnue91g5qx Thể loại:Mục từ có cách phát âm IPA tiếng Nhật thượng cổ 14 380271 2573234 2321801 2026-10-24T14:02:26Z Hiyuune 50834 Hiyuune đã đổi [[Thể loại:Mục từ có cách phát âm IPA tiếng Nhật cổ]] thành [[Thể loại:Mục từ có cách phát âm IPA tiếng Nhật thượng cổ]] 2321801 wikitext text/x-wiki {{auto cat}} eomzlm5v4j7ond1phrju7cnue91g5qx Thể loại:Danh từ riêng tiếng Nhật thượng cổ 14 380275 2573246 2321810 2026-10-24T14:03:44Z Hiyuune 50834 Hiyuune đã đổi [[Thể loại:Danh từ riêng tiếng Nhật cổ]] thành [[Thể loại:Danh từ riêng tiếng Nhật thượng cổ]] 2321810 wikitext text/x-wiki {{auto cat}} eomzlm5v4j7ond1phrju7cnue91g5qx Alkan 0 381130 2573193 2323476 2026-10-24T12:17:20Z TheHighFighter2 42988 2573193 wikitext text/x-wiki {{also|alkan|alkán}} =={{langname|en}}== {{wp|en:}} ==={{ĐM|pron}}=== {{rfp|en}} ==={{ĐM|pr-noun}}=== {{en-prop}} # {{surname|en}}. =={{langname|de}}== {{wp|de:Alkane}} ==={{ĐM|etym}}=== Từ {{confix|de|alk|an}}. ==={{ĐM|pron}}=== * {{IPA4|de|/alˈkaːn/}} * {{audio|de|De-Alkan.ogg|a=<<Berlin>>}} * {{rhymes|de|aːn|s=2}} ==={{ĐM|n}}=== {{de-noun|n}} # {{lb|de|organic chemistry}} [[alkan|Alkan]]. ===={{ĐM|decl}}==== {{de-ndecl|n}} ==={{ĐM|further}}=== * {{R:de:Duden}} * {{R:de:DWDS}} * {{R:de:OWID|162946}} * {{R:de:UniLeipzig}} 45wvze32jsyqlkx687rmtyqe50c0r6i Thể loại:Mục từ có ví dụ cách sử dụng tiếng Nhật thượng cổ 14 381488 2573230 2324148 2026-10-24T14:01:46Z Hiyuune 50834 Hiyuune đã đổi [[Thể loại:Mục từ có ví dụ cách sử dụng tiếng Nhật cổ]] thành [[Thể loại:Mục từ có ví dụ cách sử dụng tiếng Nhật thượng cổ]] 2324148 wikitext text/x-wiki {{auto cat}} eomzlm5v4j7ond1phrju7cnue91g5qx Thể loại:Từ ghép tiếng Nhật thượng cổ 14 381489 2573226 2324149 2026-10-24T14:01:05Z Hiyuune 50834 Hiyuune đã đổi [[Thể loại:Từ ghép tiếng Nhật cổ]] thành [[Thể loại:Từ ghép tiếng Nhật thượng cổ]] 2324149 wikitext text/x-wiki {{auto cat}} eomzlm5v4j7ond1phrju7cnue91g5qx Thể loại:Từ nguyên tiếng Nhật thượng cổ 14 381490 2573228 2324150 2026-10-24T14:01:09Z Hiyuune 50834 Hiyuune đã đổi [[Thể loại:Từ nguyên tiếng Nhật cổ]] thành [[Thể loại:Từ nguyên tiếng Nhật thượng cổ]] 2324150 wikitext text/x-wiki {{auto cat}} eomzlm5v4j7ond1phrju7cnue91g5qx Thể loại:Từ kế thừa từ tiếng Nhật thượng cổ tiếng Nhật 14 381495 2573252 2324156 2026-10-24T14:04:44Z Hiyuune 50834 Hiyuune đã đổi [[Thể loại:Từ kế thừa từ tiếng Nhật cổ tiếng Nhật]] thành [[Thể loại:Từ kế thừa từ tiếng Nhật thượng cổ tiếng Nhật]] 2324156 wikitext text/x-wiki {{auto cat}} eomzlm5v4j7ond1phrju7cnue91g5qx Thể loại:Từ dẫn xuất từ tiếng Nhật thượng cổ tiếng Nhật 14 381497 2573254 2324158 2026-10-24T14:05:13Z Hiyuune 50834 Hiyuune đã đổi [[Thể loại:Từ dẫn xuất từ tiếng Nhật cổ tiếng Nhật]] thành [[Thể loại:Từ dẫn xuất từ tiếng Nhật thượng cổ tiếng Nhật]] 2324158 wikitext text/x-wiki {{auto cat}} eomzlm5v4j7ond1phrju7cnue91g5qx Thể loại:Đại từ tiếng Nhật thượng cổ 14 386580 2573244 2333465 2026-10-24T14:03:30Z Hiyuune 50834 Hiyuune đã đổi [[Thể loại:Đại từ tiếng Nhật cổ]] thành [[Thể loại:Đại từ tiếng Nhật thượng cổ]] 2333465 wikitext text/x-wiki {{auto cat}} eomzlm5v4j7ond1phrju7cnue91g5qx Thể loại:Trợ từ tiếng Nhật thượng cổ 14 386581 2573240 2333466 2026-10-24T14:03:13Z Hiyuune 50834 Hiyuune đã đổi [[Thể loại:Trợ từ tiếng Nhật cổ]] thành [[Thể loại:Trợ từ tiếng Nhật thượng cổ]] 2333466 wikitext text/x-wiki {{auto cat}} eomzlm5v4j7ond1phrju7cnue91g5qx Thể loại:Từ kế thừa từ tiếng Nhật thượng cổ tiếng Hachijō 14 386928 2573256 2334143 2026-10-24T14:05:49Z Hiyuune 50834 Hiyuune đã đổi [[Thể loại:Từ kế thừa từ tiếng Nhật cổ tiếng Hachijō]] thành [[Thể loại:Từ kế thừa từ tiếng Nhật thượng cổ tiếng Hachijō]] 2334143 wikitext text/x-wiki {{auto cat}} eomzlm5v4j7ond1phrju7cnue91g5qx Thể loại:Từ dẫn xuất từ tiếng Nhật thượng cổ tiếng Hachijō 14 386930 2573258 2334146 2026-10-24T14:06:00Z Hiyuune 50834 Hiyuune đã đổi [[Thể loại:Từ dẫn xuất từ tiếng Nhật cổ tiếng Hachijō]] thành [[Thể loại:Từ dẫn xuất từ tiếng Nhật thượng cổ tiếng Hachijō]] 2334146 wikitext text/x-wiki {{auto cat}} eomzlm5v4j7ond1phrju7cnue91g5qx Thể loại:Phó từ tiếng Nhật thượng cổ 14 391536 2573238 2342702 2026-10-24T14:03:10Z Hiyuune 50834 Hiyuune đã đổi [[Thể loại:Phó từ tiếng Nhật cổ]] thành [[Thể loại:Phó từ tiếng Nhật thượng cổ]] 2342702 wikitext text/x-wiki {{auto cat}} eomzlm5v4j7ond1phrju7cnue91g5qx Thể loại:Động từ tiếng Nhật thượng cổ 14 397060 2573242 2353062 2026-10-24T14:03:27Z Hiyuune 50834 Hiyuune đã đổi [[Thể loại:Động từ tiếng Nhật cổ]] thành [[Thể loại:Động từ tiếng Nhật thượng cổ]] 2353062 wikitext text/x-wiki {{auto cat}} eomzlm5v4j7ond1phrju7cnue91g5qx शृणोति 0 403191 2573275 2371076 2026-10-24T15:43:08Z Hiyuune 50834 /* {{section|forms}} */ 2573275 wikitext text/x-wiki =={{langname|sa}}== ==={{section|alternative script}}=== {{sa-alt}} ==={{section|etym}}=== {{etymon|sa|:inh|iir-pro:*ćr̥náwti<id:nghe>|:root|श्रु|id=nghe|tree=1}} Từ {{inh|sa|inc-pro|*śr̥náwti}}, từ {{inh|sa|iir-pro|*ćr̥náwti}}, từ {{inh|sa|ine-pro|*ḱl̥néwti}}, từ {{mention|ine-pro|*ḱlew-}}. Cùng gốc với {{cog|ae|𐬯𐬎𐬭𐬎𐬥𐬀𐬊𐬌𐬙𐬌}}, {{cog|xto|käln-}}, {{cog|ga|cluin}}, {{cog|cu|слѹшати}}, {{cog|ang|hlysnan}} (từ đây có {{cog|en|listen}}). ==={{section|pron}}=== {{sa-IPA|a=2}} ==={{section|v}}=== {{sa-verb|tr=śṛṇóti|श्रु|5|P}} # [[nghe|Nghe]]. ===={{section|forms}}==== {{sa-conj|pres|śṛṇóti<3p:śṛṇvánti.weakstem:śṛṇu>|indic_mid_2s=śṛṇuṣé,śṛṇviṣé[Vedic]|indic_mid_3s=śṛṇuté,śṛṇvé[Vedic]|imper_act_2s=śṛṇú,śṛṇuhí[Vedic],śṛṇudhí[Vedic]}} {{sa-conj|impf|áśṛṇot<3p:áśṛnvan.weakstem:áśṛṇu>}} ===={{section|rel}}==== {{col|sa |श्रावयति<tr:śrāváyati> |श्रुति<tr:śrúti> |श्रुत<tr:śrutá> |श्रोमत<tr:śrómata> |श्रवस्<tr:śrávas> |श्रोत्र<tr:śrótra> }} ===={{section|desc}}==== * {{desc|pra|𑀲𑀼𑀡𑀇}} {{see desc}} * {{desc|pi|suṇāti}} * {{desc|ks|شُنُن}} {{qualifier|archaic}} ==={{section|ref}}=== * {{R:MW|1100/3}} o22teppmc4vtfu7xkruuvfig0vp3g8x mái ngói 0 420867 2573330 2572279 2026-10-25T06:50:47Z TheHighFighter2 42988 2573330 wikitext text/x-wiki =={{langname|vi}}== ==={{section|etym}}=== Từ {{com|vi|mái|ngói}}. ==={{section|pron}}=== {{vi-pron}} ==={{section|noun}}=== {{vi-noun}} # [[mái nhà|Mái nhà]] [[lợp]] bằng [[gạch ngói]]. cn0016gz7wb7ldpam667hssle9n0fht Mô đun:ak-headword 828 421175 2573218 2573063 2026-10-24T13:48:42Z TheHighFighter2 42988 Đã lùi lại sửa đổi [[Special:Diff/2573063|2573063]] của [[Special:Contributions/TheHighFighter2|TheHighFighter2]] ([[User talk:TheHighFighter2|thảo luận]]) 2573218 Scribunto text/plain local export = {} local pos_functions = {} local M = require("Module:module loader").init { require = { headword_utilities = "Module:headword utilities", labels = "Module:labels", }, lazy = { lang = function() return require("Module:languages").getByCode("ak") end, }, } local force_cat = false local lect_data = { {"Twi", aliases = {"t"}}, {"Akuapem", parent = "Twi", aliases = {"ak"}}, {"Asante", parent = "Twi", aliases = {"as"}}, {"Fante", aliases = {"f"}}, } local lect_names = {} for _, lect in ipairs(lect_data) do lect_names[lect[1]] = lect[1] for _, alias in ipairs(lect.aliases) do lect_names[alias] = lect[1] end end local function get_lects(value) if not value or not value:find("%S") then return {} end local list = mw.text.split(value, "%s*,%s*") for i, lect in ipairs(list) do list[i] = lect_names[lect] if not list[i] then local valid = {} for _, data in ipairs(lect_data) do table.insert(valid, ("%s (%s)"):format(data[1], data.aliases[1])) end error(("Unrecognized lect '%s'; use %s"):format(lect, mw.text.listToText(valid, ", ", " or "))) end end return list end function export.show(frame) local headword = M.headword_utilities.process_headword { lang = M.lang, frame = frame, pos_functions = pos_functions, force_cat = force_cat, augment_params = function(data, params) params.lect = true end, } local args = frame:getParent().args local list = get_lects(args.lect) if not list[1] or args.json then return headword end return headword .. " " .. M.labels.show_labels {labels = list, lang = M.lang, mode = "term-label"} end pos_functions["head.Danh từ"] = { infls = { {"pl", label = "plural"}, }, } pos_functions["head.Tính từ"] = { infls = { {"pl", label = "plural"}, {"redup", label = "reduplication"}, {"triplication", label = "triplication"}, }, } pos_functions["head.Phó từ"] = { infls = { {"triplication", label = "triplication"}, }, } local function verb_form(param, label, form) return {param, label = label, accel_form = form, } end pos_functions["head.Động từ"] = { infls = { verb_form("tpast", "transitive past", "tr|past"), verb_form("ipast", "intransitive past", "intr|past"), verb_form("neg", "negative", "neg"), verb_form("fut", "future", "fut"), verb_form("prog", "progressive", "prog"), verb_form("pros", "prospective", "pros"), verb_form("perf", "perfect", "perf"), verb_form("imp", "imperative", "imp"), verb_form("redup", "reduplication"), }, } return export 05khzy6yfnsgvovc4h8q0efgfp2c3mc རི་གྔོང 0 421296 2573195 2026-10-24T13:02:05Z TheHighFighter2 42988 /* */ 2573195 wikitext text/x-wiki =={{langname|sip}}== ==={{ĐM|pron}}=== * {{IPA|sip|/ɹ̝ìɣõː/}} ==={{ĐM|noun}}=== {{head|sip|noun}} # [[thỏ|Thỏ]]. ==={{ĐM|ref}}=== * Juha Yliniemi, ''A Descriptive Grammar of Denjongke (Sikkimese Bhutia).'' (2021). kcdmqdygmggo7t7fg53n4tyduz66dsu nanggat 0 421297 2573198 2026-10-24T13:09:45Z TheHighFighter2 42988 Trang mới: “=={{langname|skc}}== ==={{ĐM|pron}}=== * {{IPA|skc|/nəŋ.ɡət/}} ==={{ĐM|noun}}=== {{head|skc|noun}} # [[máu|Máu]]. ==={{ĐM|ref}}=== * {{cite-book|author=Ryan Pennington|title=A grammar of Ma Manda: A Papuan language of Morobe Province, Papua New Guinea|url=https://researchonline.jcu.edu.au/48926/1/48926-pennington-2016-thesis.pdf|year=2018}}” 2573198 wikitext text/x-wiki =={{langname|skc}}== ==={{ĐM|pron}}=== * {{IPA|skc|/nəŋ.ɡət/}} ==={{ĐM|noun}}=== {{head|skc|noun}} # [[máu|Máu]]. ==={{ĐM|ref}}=== * {{cite-book|author=Ryan Pennington|title=A grammar of Ma Manda: A Papuan language of Morobe Province, Papua New Guinea|url=https://researchonline.jcu.edu.au/48926/1/48926-pennington-2016-thesis.pdf|year=2018}} kzk74b2tlodlx10o8bjumjoitgk4ilx bicyclettes 0 421298 2573200 2026-10-24T13:12:29Z Hiyuune 50834 Trang mới: “=={{langname|en}}== ==={{section|n}}=== {{head|en|Biến thể hình thái danh từ}} # {{plural of|en|bicyclette}} =={{langname|fr}}== ==={{section|pron}}=== * {{fr-IPA}} * {{audio|fr|LL-Q150 (fra)-WikiLucas00-bicyclettes.wav|a=Lyon}} ==={{section|n}}=== {{head|fr|Biến thể hình thái danh từ|g=f}} # {{plural of|fr|bicyclette}}” 2573200 wikitext text/x-wiki =={{langname|en}}== ==={{section|n}}=== {{head|en|Biến thể hình thái danh từ}} # {{plural of|en|bicyclette}} =={{langname|fr}}== ==={{section|pron}}=== * {{fr-IPA}} * {{audio|fr|LL-Q150 (fra)-WikiLucas00-bicyclettes.wav|a=Lyon}} ==={{section|n}}=== {{head|fr|Biến thể hình thái danh từ|g=f}} # {{plural of|fr|bicyclette}} anxfk2fgpswmcrt8lsidb5y9vx1pdm0 Thể loại:Mục từ tiếng Ma Manda 14 421299 2573203 2026-10-24T13:21:57Z TheHighFighter2 42988 Trang mới: “{{auto cat}}” 2573203 wikitext text/x-wiki {{auto cat}} eomzlm5v4j7ond1phrju7cnue91g5qx ɔ̌ 0 421300 2573205 2026-10-24T13:24:36Z Lcsnes 40261 Trang mới: “{{minitoc}} {{-Latn-}} ==={{ĐM|desction}}=== {{mul-letter}} #[[chữ cái|Chữ cái]] '''[[ɔ]] viết thường''' với dấu nón đảo ngược ◌̌ ([[caron]]). ==={{ĐM|see}}=== {{Latn-script}} =={{langname|agq}}== ==={{ĐM|desction}}=== {{letter|agq}} #Chữ cái '''{{l|agq|ɔ}} viết thường''' với dấu thanh lên ([[◌̌]]). #:{{ux|agq|Dz'''ɔ̌'''n|[[s:Giăng|Giăng]]|inline=1}} ==={{ĐM|see}}=== *{{letters|lang=agq|sc=Latn|qual=Bảng chữ cái La…” 2573205 wikitext text/x-wiki {{minitoc}} {{-Latn-}} ==={{ĐM|desction}}=== {{mul-letter}} #[[chữ cái|Chữ cái]] '''[[ɔ]] viết thường''' với dấu nón đảo ngược ◌̌ ([[caron]]). ==={{ĐM|see}}=== {{Latn-script}} =={{langname|agq}}== ==={{ĐM|desction}}=== {{letter|agq}} #Chữ cái '''{{l|agq|ɔ}} viết thường''' với dấu thanh lên ([[◌̌]]). #:{{ux|agq|Dz'''ɔ̌'''n|[[s:Giăng|Giăng]]|inline=1}} ==={{ĐM|see}}=== *{{letters|lang=agq|sc=Latn|qual=Bảng chữ cái Latinh tiếng Aghem|Aa|(Àà)|(Āā)|(Ââ)|(Ǎǎ)|Bb|Bv/bv|Ch/ch|Dd|Dz/dz|Ee|(Èè)|(Ēē)|(Êê)|(Ěě)|Ɛɛ|(Ɛ̀/ɛ̀)|(Ɛ̄/ɛ̄)|(Ɛ̂/ɛ̂)|(Ɛ̌/ɛ̌)|Ff|Gg|Gb/gb|Gh/gh|Hh|Ii|(Ìì)|(Īī)|(Îî)|(Ǐǐ)|Ɨɨ|(Ɨ̀/ɨ̀)|(Ɨ̄/ɨ̄)|(Ɨ̂/ɨ̂)|(Ɨ̌/ɨ̌)|Kk|Kp/kp|ʼ|Ll|Mm|Nn|Ŋŋ|Oo|(Òò)|(Ōō)|(Ôô)|(Ǒǒ)|Ɔɔ|(Ɔ̀/ɔ̀)|(Ɔ̄/ɔ̄)|(Ɔ̂/ɔ̂)|(Ɔ̌/ɔ̌)|Pp|Pf/pf|Ss|Sh/sh|Tt|Ts/ts|Uu|(Ùù)|(Ūū)|(Ûû)|(Ǔǔ)|Uw/uw|Ʉʉ|(Ʉ̀/ʉ̀)|(Ʉ̄/ʉ̄)|(Ʉ̂/ʉ̂)|(Ʉ̌/ʉ̌)|Vv|Ww|Yy|Zz}} ==={{ĐM|ref}}=== *{{Chú thích web|agq|work=To kə Kəzə̀ kə̀ Fughu ko|author=Cameroon Association for Bible Translation and Literacy|year=2024|entryurl=https://www.bible.com/bible/2620/JHN.1.AGQ|entry=Dzɔ̌n 1}} =={{langname|bss}}== ==={{ĐM|desction}}=== {{letter|bss}} #Chữ cái '''{{l|bss|ɔ}} viết thường''' với dấu thanh lên ([[◌̌]]). #:{{ux|bss|dr'''ɔ̌'''se|[[quần áo]] [[lót]]|inline=1}} ===={{ĐM|see}}==== *{{letters|lang=bss|sc=Latn|qual=Bảng chữ cái Latinh tiếng Akoose|Aa|(Áá)|(Ââ)|(Ǎǎ)|Bb|Ch/cc|Dd|Ee|(Éé)|(Êê)|(Ěě)|Əə|(Ə́/ə́)|(Ə̂/ə̂)|(Ə̌/ə̌)|Ɛɛ|(Ɛ́/ɛ́)|(Ɛ̂/ɛ̂)|(Ɛ̌/ɛ̌)|Ff|Gg|Hh|Ii|(Íí)|(Îî)|(Ǐǐ)|Jj|Kk|Ll|Mm|Nn|Ny/ny|Ŋŋ|Oo|(Óó)|(Ôô)|(Ǒǒ)|Ɔɔ|(Ɔ́/ɔ́)|(Ɔ̂/ɔ̂)|(Ɔ̌/ɔ̌)|Pp|Rr|Ss|Tt|Uu|(Úú)|(Ûû)|(Ǔǔ)|Vv|Ww|Yy|ʼ}} ==={{ĐM|ref}}=== *{{Chú thích web|entry=drɔ̌se|entryurl=https://www.webonary.org/akoose/g6f447abf-9e23-4cb1-a18b-51dd5c42ca63/|editor=Robert Hedinger|work=Akoose–English Dictionary|year=2020|publisher=SIL International}} =={{langname|azo}}== ==={{ĐM|pron}}=== *{{IPA4|azo|/ɔ˩˦/}} ==={{ĐM|desction}}=== {{letter|azo}} #Chữ cái '''{{l|azo|ɔ}} viết thường''' với dấu thanh lên ([[◌̌]]). #:{{quote|azo|Yeso a kwěe ńgə́, “Mɛdtə̂ á chî ə́lɨ́d əghâ nə́; ńté ńgə́ á koʼnə̂ á mbô p'''ɔ̌''' á mə́ faʼ nə́ anuə atsəm páʼ Əsê ä lɔ nə́.” Jɔnə a tíʼ ḿbímə.|Bây giờ cứ làm đi, vì chúng ta nên làm cho trọn mọi việc công-bình như vậy. Giăng bèn vâng lời Ngài. ([[s:Ma-thi-ơ/3#3:15|Ma-thi-ơ 3:15]])}} ==={{ĐM|see}}=== *{{letters|lang=azo|sc=Latn|qual=Bảng chữ cái Latinh tiếng Awing|Aa|(Áá)|(Ǎǎ)|(Ââ)|Bb|Ch/ch|Dd|Ee|(Éé)|(Ěě)|(Êê)|Ɛɛ|(Ɛ́/ɛ́)|(Ɛ̌/ɛ̌)|(Ɛ̂/ɛ̂)|Əǝ|(Ə́/ə́)|(Ə̌/ə̌)|(Ə̂/ə̂)|Ff|Gg|Gh/gh|Hh|Ii|(Íí)|(Ǐǐ)|(Îî)|Ɨɨ|(Ɨ́/ɨ́)|(Ɨ̌/ɨ̌)|(Ɨ̂/ɨ̂)|Jj|Kk|’|Ll|Mm|Nn|Ny/ny|Ŋŋ|Oo|(Óó)|(Ǒǒ)|(Ôô)|Ɔɔ|(Ɔ́/ɔ́)|(Ɔ̌/ɔ̌)|(Ɔ̂/ɔ̂)|Pp|Ss|Sh/sh|Tt|Ts/ts|Uu|(Úú)|(Ǔǔ)|(Ûû)|Ww|Yy|Zz}} ==={{ĐM|ref}}=== *{{Chú thích sách|author=Christian Alomofor & Stephen C. Anderson|year=2005|title=[https://www.sil.org/system/files/reapdata/33/83/42/33834255287962977958743868519142841172/AwingOrthography2005.pdf Awing orthography guide]|publisher=SIL Cameroon|location=Cameroon|page=10}} *{{Chú thích web|azo|work=TƏka yi Fîə|author=Cameroon Association for Bible Translation and Literacy|year=2024|entryurl=https://www.bible.com/bible/3005/MAT.3.AZO|entry=Matyo 3}} =={{langname|bqz}}== ==={{ĐM|desction}}=== {{letter|bqz}} #Chữ cái '''{{l|bqz|ɔ}} viết thường''' với dấu thanh lên ([[◌̌]]). #:{{ux|bqz|k'''ɔ̌'''|[[vì thế]]|inline=1}} ==={{ĐM|see}}=== *{{letters|lang=bqz|sc=Latn|qual=Bảng chữ cái Latinh tiếng Bakaka|Aa|(Áá)|(Ââ)|(Ǎǎ)|Bb|Ɓɓ|Cc|Dd|Ee|(Éé)|(Êê)|(Ěě)|Əə|(Ə́/ə́)|(Ə̂/ə̂)|(Ə̌/ə̌)|Ɛɛ|(Ɛ́/ɛ́)|(Ɛ̂/ɛ̂)|(Ɛ̌/ɛ̌)|Ff|Gg|Hh|Ii|(Íí)|(Îî)|(Ǐǐ)|Jj|Kk|Ll|Mm|Nn|Ŋŋ|Oo|(Óó)|(Ôô)|(Ǒǒ)|Pp|Rr|Ss|Tt|Uu|(Úú)|(Ûû)|(Ǔǔ)|Ww|Yy}} ==={{ĐM|ref}}=== *{{Chú thích web|entry=kɔ̌|entryurl=https://www.webonary.org/bakaka/en/g99c109a6-e752-4529-8f64-6c3e2965369d/|editor=Jean Etame Ewane|work=Mkaaʼ – French lexicon and French - Mkaaʼ index. Second edition|year=2018|publisher=SIL International}} =={{langname|bcp}}== ==={{ĐM|desction}}=== {{letter|bcp}} #Chữ cái Latinh viết thường trong tiếng Bali. #:{{quote|bcp|Málá, ndɛ́ ké Nináwe, gb'''ɔ̌'''tɔ́ wenénuwó, ndɛ́ womódǐ àku we u'bhélé-mbʉ nàkʉbalá.|Ngươi khá chờ dậy! Hãy đi đến thành lớn Ni-ni-ve, và rao cho nó lời ta đã dạy cho ngươi. ([[s:Giô-na/3#3:2|Giô-na 3:2]])}} ==={{ĐM|ref}}=== *{{Chú thích web|bcp|work=IPS apps|year=2026|entryurl=https://media.ipsapps.org/bcp/osa/bible/Bali-32-JON-003.html|entry=Yɔna 3}} =={{langname|bgj}}== ==={{ĐM|desction}}=== {{letter|bgj}} #Chữ cái '''{{l|bgj|ɔ}} viết thường''' với dấu thanh lên ([[◌̌]]). #:{{ux|bgj|fw'''ɔ̌'''|[[va]]|inline=1}} ==={{ĐM|see}}=== *{{letters|lang=bgj|sc=Latn|qual=Bảng chữ cái Latinh tiếng Bangolan|Aa|(Áá)|(Ââ)|(Ǎǎ)|Bb|Ch/ch|Dd|Ee|(Éé)|(Êê)|(Ěě)|Ɛɛ|(Ɛ́/ɛ́)|(Ɛ̂/ɛ̂)|(Ɛ̌/ɛ̌)|Əə|(Ə́/ə́)|(Ə̂/ə̂)|(Ə̌/ə̌)|Ff|Gg|Gb/gb|Hh|Ii|(Íí)|(Îî)|(Ǐǐ)|Ɨɨ|(Ɨ́/ɨ́)|(Ɨ̂/ɨ̂)|(Ɨ̌/ɨ̌)|Jj|Kk|Kp/kp|Ll|Mm|Nn|Ŋŋ|Oo|(Óó)|(Ôô)|(Ǒǒ)|Ɔɔ|(Ɔ́/ɔ́)|(Ɔ̂/ɔ̂)|(Ɔ̌/ɔ̌)|Pp|Ss|Sh/sh|Tt|Ts/ts|Uu|(Úú)|(Ûû)|(Ǔǔ)|Vv|Ww|Yy|Zz|ʼ}} ==={{ĐM|ref}}=== *{{Chú thích sách|en|author=Mathaus Njeck|title=[https://www.sil.org/system/files/reapdata/13/00/60/130060160739887579529135215520124239222/BangolanOrthographyJuly2004paginated.pdf Bangolan orthography statement]|year=1994|publisher=The National Association of Cameroonian language Committees (NACALCO)|location=Yaoundé, Cameroon|page=8}} =={{langname|bas}}== ==={{ĐM|letter}}=== {{letter|bas}} #Chữ cái '''{{l|bas|ɔ}} viết thường''' với dấu thanh hạ ([[◌̌]]). #:{{ux|bas|k'''ɔ̌'''ndɔ̄ŋ|[[củ]]|inline=1}} ==={{ĐM|see}}=== *{{letters|lang=bas|sc=Latn|qual=Bảng chữ cái Latinh tiếng Basaa|Aa|(Áá)|(Ââ)|(Ǎǎ)|Bb|Ɓɓ|Cc|Dd|Ee|(Éé)|(Êê)|(Ěě)|Ɛɛ|(Ɛ́/ɛ́)|(Ɛ̂/ɛ̂)|(Ɛ̌/ɛ̌)|Ff|Gg|Hh|Ii|(Íí)|(Îî)|(Ǐǐ)|Jj|Kk|Ll|Mm|Nn|Ŋŋ|Oo|(Óó)|(Ôô)|(Ǒǒ)|Ɔɔ|(Ɔ́/ɔ́)|(Ɔ̂/ɔ̂)|(Ɔ̌/ɔ̌)|Pp|Rr|Ss|Tt|Uu|(Úú)|(Ûû)|(Ǔǔ)|Vv|Ww|Yy}} ==={{ĐM|ref}}=== *{{Chú thích web|author=Pierre Emmanuel Njock|work=Ɓàsàa - French - English - German Dictionary|entry=kɔ̌ndɔ̄ŋ|year=2019|publisher=SIL International|location=Dallas|entryurl=https://www.webonary.org/basaa/en/ga145ce5f-9750-4dfb-ad6e-b334d4c0d7f5/}} =={{langname|bsq}}== {| class="floatright wikitable" style="text-align:center;" |- ! Latinh | {{l|bsq|Ɔ̌}} {{pn}} |- ! Bassa Vah | {{l|bsq|𖫨𖫳}} |- |} ==={{ĐM|pron}}=== *{{IPA4|bsq|/ɔ˨˧/}} ==={{ĐM|letter}}=== {{letter|bsq}} #Chữ cái '''{{l|bsq|ɔ}} viết thường''' với dấu thanh trung hạ ([[◌̌]]). #:{{quote|bsq|Kɛbì ḿ mɛ kpá pì'''ɔ̌''' gbɔ, ɓɛ́ ḿ ké ɖéé ɖé dyóóɔ̀ sèìn-naín muɛɛ|Nhược-bằng tôi lấy cánh hừng-đông, Bay qua ở tại cuối-cùng biển, ([[s:Thi thiên/139#139:9|Thi thiên 139:9]])}} ==={{ĐM|see}}=== *{{letters|lang=bsq|sc=Latn|qual=Bảng chữ cái Latinh tiếng Bassa|Aa|(Áá)|(Àà)|(Ǎǎ)|(Ââ)|(Ãã)|Bb|Ɓɓ|Cc|Dd|Ɖɖ|Dy/dy|Ɛɛ|(Ɛ́/ɛ́)|(Ɛ̀/ɛ̀)|(Ɛ̌/ɛ̌)|(Ɛ̂/ɛ̂)|(Ɛ̃/ɛ̃)|Ee|(Éé)|(Èè)|(Ěě)|(Êê)|Ff|Gg|Gb/gb|Gm/gm|Hh|Hw/hw|Ii|(Íí)|(Ìì)|(Ǐǐ)|(Îî)|(Ĩĩ)|Jj|Kk|Kp/kp|Mm|Nn|Ny/ny|Ɔɔ|(Ɔ́/ɔ́)|(Ɔ̀/ɔ̀)|(Ɔ̌/ɔ̌)|(Ɔ̂/ɔ̂)|(Ɔ̃/ɔ̃)|Oo|(Óó)|(Òò)|(Ǒǒ)|(Ôô)|Pp|Ss|Tt|Uu|(Úú)|(Ùù)|(Ǔǔ)|(Ûû)|(Ũũ)|Vv|Ww|Xw/xw|Zz}} ==={{ĐM|ref}}=== *{{Chú thích web|bsq|work=Ɓǎsɔ́ɔ̀ Báɓòɔ̀|author=Bible Society in Liberia|year=2025|entryurl=https://www.bible.com/bible/2826/PSA.139.%C6%81B02|entry=Wɛ́ɖɛ́ 139}} =={{langname|byi}}== ==={{ĐM|desction}}=== {{letter|byi}} #Chữ '''{{l|byi|ɔ}} viết thường''' với dấu thanh điệu [[◌̌]]. #:{{quote|byi|Sakalia hakem'mɔninɛ, kwetulumuɛ, na ohambwa wɛ̌nɛ na b'''ɔ̌'''ba.|Xa-cha-ri thấy, thì bối-rối sợ-hãi. ([[s:Lu-ca/1#1:12|Lu-ca 1:12]])}} ==={{ĐM|ref}}=== *{{Chú thích web|byi|entryurl=https://www.bible.com/bible/4568/LUK.1.BYI|entry=Lok 1|author=Forum Communautairre des Traducteurs de la bible et Alphabetisation|year=2025|work=Buyu Traduction}} =={{langname|bbj}}== ==={{ĐM|desction}}=== {{letter|bbj}} #Chữ cái '''{{l|bbj|ɔ}} viết thường''' với dấu thanh điệu lên ◌̌. #:{{ux|bbj|s'''ɔ̌'''|cái [[cưa]]|inline=1}} ===={{ĐM|see}}==== *{{letters|lang=bbj|sc=Latn|qual=Bảng chữ cái Latinh tiếng Ghomálá'|Aa|(Áá)|(Àà)|(Ǎǎ)|(Ââ)|Bb|Bv/bv|Cc|Dd|Dz/dz|Ee|(Éé)|(Èè)|(Ěě)|(Êê)|Əə|(Ə́/ə́)|(Ə̀/ə̀)|(Ə̌/ə̌)|(Ə̂/ə̂)|Aə/aə|(Aə́/aə́)|(Aə̀/aə̀)|(Aə̌/aə̌)|(Aə̂/aə̂)|Ɛɛ|(Ɛ́/ɛ́)|(Ɛ̀/ɛ̀)|(Ɛ̌/ɛ̌)|(Ɛ̂/ɛ̂)|Ff|Gg|Gh/gh|Hh|Ii|(Íí)|(Ìì)|(Ǐǐ)|(Îî)|Jj|Kk|Ll|Mm|Nn|Ny/ny|Nt/nt|Ŋŋ|Ŋk/ŋk|Oo|(Óó)|(Òò)|(Ǒǒ)|(Ôô)|Ɔɔ|(Ɔ́/ɔ́)|(Ɔ̀/ɔ̀)|(Ɔ̌/ɔ̌)|(Ɔ̂/ɔ̂)|Pp|Pf/pf|Mpf/mpf|Rr|Ss|Sh/sh|Tt|Ts/ts|Uu|(Úú)|(Ùù)|(Ǔǔ)|(Ûû)|Ʉʉ|(Ʉ́/ʉ́)|(Ʉ̀/ʉ̀)|(Ʉ̌/ʉ̌)|(Ʉ̂/ʉ̂)|Vv|Zz|Zh/zh|ʼ}} ==={{ĐM|ref}}=== *{{Chú thích web|bbj|work=Ghomala New Testament|author=Bible Society of Cameroon|year=2025|entryurl=https://www.bible.com/bible/907/MAT.1.NTGOMALA|entry=Matio 1}} =={{langname|ken}}== ==={{ĐM|desction}}=== {{letter|ken}} #Chữ '''{{l|ken|ɔ}} viết thường''' với dấu thanh điệu ◌̌ . #:{{quote|ken|J'''ɔ̌'''n|[[s:Giăng|Giăng]]|inline=1}} ==={{ĐM|see}}=== *{{letters|lang=ken|sc=Latn|qual=Bảng chữ cái Latinh tiếng Kenyang|Aa|(Áá)|(Àà)|(Ǎǎ)|Bb|Bh/bh|Ch/ch|Dd|Ee|(Éé)|(Èè)|(Ěě)|Ɛɛ|(Ɛ́/ɛ́)|(Ɛ̀/ɛ̀)|(Ɛ̌/ɛ̌)|Ff|Gg|Gb/gb|Gh/gh|Ii|(Íí)|(Ìì)|(Ǐǐ)|Ɨɨ|(Ɨ́/ɨ́)|(Ɨ̀/ɨ̀)|(Ɨ̌/ɨ̌)|Jj|Kk|Kp/kp|Mm|Nn|Ŋŋ|Ny/ny|Oo|(Óó)|(Òò)|(Ǒǒ)|Ɔɔ|(Ɔ́/ɔ́)|(Ɔ̀/ɔ̀)|(Ɔ̌/ɔ̌)|Pp|Rr|Ss|Tt|Uu|(Úú)|(Ùù)|(Ǔǔ)|Ʉʉ|(Ʉ́/ʉ́)|(Ʉ̀/ʉ̀)|(Ʉ̌/ʉ̌)|Ww|Yy}} ==={{ĐM|ref}}=== *{{Chú thích sách|en|author=Mbuagbaw, Tanyi Eyong|year=1999|title=[https://www.sil.org/system/files/reapdata/60/11/80/60118082817094669796762830775247314820/kenorth1.pdf Kenyang orthography guide]|publisher=Cameroon Association for Bible Translation and Literacy (CABTAL)|location=Yaoundé, Cameroon}} *{{Chú thích web|ken|work=Kenyang|author=Cameroon Association for Bible Translation and Literacy|year=2010|entryurl=https://www.bible.com/bible/388/JHN.1.KEN|entry=Jɔ̌n 1}} =={{langname|ozm}}== ==={{ĐM|desction}}=== {{letter|ozm}} #Chữ '''{{l|ozm|ɔ}} viết thường''' với dấu thanh thấp ◌̌ . #:{{ux|ozm|nt'''ɔ̌'''m|[[chống]] [[rào]]|inline=1}} ===={{ĐM|see}}==== *{{letters|lang=ozm|sc=Latn|qual=Bảng chữ cái Latinh tiếng Koonzime|Aa|(Áá)|(Ââ)|(Ǎǎ)|Bb|Ch/ch|Dd|Ee|(Éé)|(Êê)|(Ěě)|Ff|Gg|Gh/gh|Ii|(Íí)|(Îî)|(Ǐǐ)|Ɨɨ|Jj|Kk|ʼ|Ll|Mm|Nn|Ŋŋ|Oo|(Óó)|(Ôô)|(Ǒǒ)|Œœ|(Œ́/œ́)|(Œ̂/œ̂)|(Œ̌/œ̌)|Øø|(Ǿ/ǿ)|(Ø̂/ø̂)|(Ø̌/ø̌)|Ɔɔ|(Ɔ́/ɔ́)|(Ɔ̂/ɔ̂)|(Ɔ̌/ɔ̌)|Pp|Rr|Ss|Tt|Uu|(Úú)|(Ûû)|(Ǔǔ)|Ʉʉ|(Ʉ́/ʉ́)|(Ʉ̂/ʉ̂)|(Ʉ̌/ʉ̌)|Vv|Ww|Yy|Zz}} *{{letters|lang=ozm|sc=Latn|qual=Bảng chữ cái Latinh phương ngữ Badwe'e|Aa|(Áá)|(Ââ)|(Ǎǎ)|Bb|Cc|Dd|Ee|(Éé)|(Êê)|(Ěě)|Ɛɛ|(Ɛ́/ɛ́)|(Ɛ̂/ɛ̂)|(Ɛ̌/ɛ̌)|Ff|Gg|Hh|Ii|(Íí)|(Îî)|(Ǐǐ)|Ɨɨ|(Ɨ́/ɨ́)|(Ɨ̂/ɨ̂)|(Ɨ̌/ɨ̌)|Jj|Kk|ʼ|Ll|Mm|Nn|Ŋŋ|Oo|(Óó)|(Ôô)|(Ǒǒ)|Œœ|(Œ́/œ́)|(Œ̂/œ̂)|(Œ̌/œ̌)|Ɔɔ|(Ɔ́/ɔ́)|(Ɔ̂/ɔ̂)|(Ɔ̌/ɔ̌)|Pp|Rr|Ss|Tt|Uu|(Úú)|(Ûû)|(Ǔǔ)|Ʉʉ|(Ʉ́/ʉ́)|(Ʉ̂/ʉ̂)|(Ʉ̌/ʉ̌)|Vv|Ww|Yy|Zz}} ==={{ĐM|intj}}=== {{head|ozm|Thán từ}} #Sau lời khuyên dành cho người ở xa. ==={{ĐM|ref}}=== *{{Chú thích sách|author=Keith et Mary BEAVON|year=1996|title=[https://www.sil.org/system/files/reapdata/59/30/31/59303154511464185976905859246531766148/KoonzimeLexique.pdf Lexique Koonzime - Français]|publisher=SIL|location=Yaoundé, Cameroon|page=107}} *{{Chú thích web|ozm|work=Kálar Nzyɛ̌m : Ejwán é Sáá|author=Cameroon Association for Bible Translation and Literacy|year=2024|entryurl=https://www.bible.com/bible/2387/MAT.1.OZM|entry=Matthieu 1}} =={{langname|blh}}== ==={{ĐM|letter}}=== {{letter|blh}} #Chữ '''{{l|blh|ɔ}} viết thường''' với dấu thanh thăng ◌̌ . #:{{quote|blh|Ŋgàla wɔ̀ì má wòlu de kewu nì, e nyɔɔ́ɔ̀ w'''ɔ̌''' e jòwàì gbɛ̀.|Ví chẳng từ trên trời ban cho, thì không một người nào có thể lãnh chi được ([[s:Giăng/3#3:27|Giăng 3:27]])}}󠌋󠌋󠌋 ==={{ĐM|see}}=== *{{letters|lang=blh|sc=Latn|qual=Bảng chữ cái Latinh tiếng Kuwaa|a|b|d|e|ɛ|f|gb|ɣ|i|j|k|kp|kw|l|m|mb|n|nd|nj|ny|ŋ|ŋg|ŋgb|ŋw|o|ɔ|p|s|t|u|v|w|y}} ==={{ĐM|ref}}=== *{{Chú thích web|blh|author=Bible Society in Liberia |work=Bible.is|year=1988|entryurl=https://live.bible.is/bible/BLHLBT/JHN/3|entry=JƆ̀Ɔ́N Wɔ Tedí Kàí É Kàìn Jisɛ̀ Kolàì 3}} =={{langname|knp}}== ==={{ĐM|desction}}=== {{letter|knp}} #Chữ '''{{l|knp|ɔ}} viết thường''' với dấu thanh thăng ◌̌ . ==={{ĐM|see}}=== *{{letters|lang=knp|sc=Latn|qual=Bảng chữ cái Latinh tiếng Kwanja|Aa|(A̋/a̋)|(Áá)|(Àà)|(Ȁȁ)|(Ǎǎ)|(Ââ)|Bb|Cc|Dd|Ee|(E̋/e̋)|(Éé)|(Èè)|(Ȅȅ)|(Ěě)|(Êê)|Ɛɛ|(Ɛ̋/ɛ̋)|(Ɛ́/ɛ́)|(Ɛ̀/ɛ̀)|(Ɛ̏/ɛ̏)|(Ɛ̌/ɛ̌)|(Ɛ̂/ɛ̂)|Əə|(Ə̋/ə̋)|(Ə́/ə́)|(Ə̀/ə̀)|(Ə̏/ə̏)|(Ə̌/ə̌)|(Ə̂/ə̂)|Ff|Gg|Gb/gb|Hh|Ii|(I̋/i̋)|(Íí)|(Ìì)|(Ȉȉ)|(Ǐǐ)|(Îî)|Ɨɨ|(Ɨ̋/ɨ̋)|(Ɨ́/ɨ́)|(Ɨ̀/ɨ̀)|(Ɨ̏/ɨ̏)|(Ɨ̌/ɨ̌)|(Ɨ̂/ɨ̂)|Jj|Kk|Kp/kp|Ll|Mm|Nn|Ny/ny|Ŋŋ|Oo|(Őő)|(Óó)|(Òò)|(Ȍȍ)|(Ǒǒ)|(Ôô)|Ɔɔ|(Ɔ̋/ɔ̋)|(Ɔ́/ɔ́)|(Ɔ̀/ɔ̀)|(Ɔ̏/ɔ̏)|(Ɔ̌/ɔ̌)|(Ɔ̂/ɔ̂)|Pp|Rr|Ss|Tt|Uu|(Űű)|(Úú)|(Ùù)|(Ȕȕ)|(Ǔǔ)|(Ûû)|Ʉʉ|(Ʉ̋/ʉ̋)|(Ʉ́/ʉ́)|(Ʉ̀/ʉ̀)|(Ʉ̏/ʉ̏)|(Ʉ̌/ʉ̌)|(Ʉ̂/ʉ̂)|Vv|Ww|Yy}} ==={{ĐM|ref}}=== *{{Chú thích sách|fr|author=Joan & Martin Weber|year=2008|title=[https://www.sil.org/system/files/reapdata/10/85/21/108521937454046977451763994759809460134/KwanjaOrthographyGuide2008_u.pdf Précis d'orthographe pour la langue kwanja (dialecte súndànɨ́)]|publisher=Eglise Evangélique Luthérienne du Cameroun, Association Nationale des Comités de Langues Camerounaises (ANACLAC)|location=Cameroun|page=5}} *{{Chú thích web|knp|author=Wycliffe Associates|work=Ndung Regular Bible|publisher=Bible in Every Language|year=2022|entryurl=https://bibleineverylanguage.org/resources/languages/knp-x-ndung?resource-type=Ndung%20reg&book=RUT&chapter=1|entry=Derwa rúìt 1}} =={{langname|lmp}}== ==={{ĐM|pron}}=== *{{IPA|lmp|/ɔ̌/}} ==={{ĐM|desction}}=== {{letter|lmp}} #Chữ '''{{l|lmp|ɔ}} viết thường''' với dấu thanh thăng ◌̌ . ==={{ĐM|see}}=== *{{letters|lang=lmp|sc=Latn|qual=Bảng chữ cái Latinh tiếng Limbum|Aa|(Àà)|(Ǎǎ)|(Ââ)|Bb|Cc|Dd|Ee|(Èè)|(Ěě)|(Êê)|Ɛɛ|(Ɛ̀/ɛ̀)|(Ɛ̌/ɛ̌)|(Ɛ̂/ɛ̂)|Ff|Gg|Hh|Ii|(Ìì)|(Ǐǐ)|(Îî)|Jj|Kk|Ll|Mm|Nn|Ŋŋ|Oo|(Òò)|(Ǒǒ)|(Ôô)|Pp|Rr|Ss|Tt|Uu|(Ùù)|(Ǔǔ)|(Ûû)|Ʉʉ|(Ʉ̀/ʉ̀)|(Ʉ̌/ʉ̌)|(Ʉ̂/ʉ̂)|Vv|Ww|Yy|'}} ==={{ĐM|ref}}=== *{{Chú thích sách|en|author=Cheffy, Ian P.|year=1992|title=[https://www.sil.org/system/files/reapdata/82/42/04/82420452488445809690675647116796402276/LimbumOrthogStmntreformat.pdf Alphabet and orthography statement for Limbum (Donga-Mantung Division, North West Province)]|publisher=Société Internationale de Linguistique|location=Yaoundé, Cameroon}} *{{Chú thích web|lmp|work=Limbum New Testament|author=Bible Society of Cameroon|year=2025|entryurl=https://www.bible.com/bible/1240/MAT.6.LNT|entry=Ñwaè' Matïìyoè 6}} =={{langname|ln}}== ==={{ĐM|pron}}=== *{{IPA|ln|/ɔ̌/}} ==={{ĐM|letter}}=== {{letter|ln}} #Chữ '''{{l|ln|ɔ}} viết thường''' với dấu thanh thăng ([[◌̌]]). #:{{ux|ln|[[w:ln:Bomɔ̌kɔ́|bom'''ɔ̌'''kɔ́]]|{{w|số ngữ pháp}}|inline=1}} ==={{ĐM|see}}=== *{{letters|lang=ln|sc=Latn|qual=Bảng chữ cái Latinh tiếng Lingala|Aa|(Áá)|(Ââ)|(Ǎǎ)|Bb|Cc|Dd|Ee|(Éé)|(Êê)|(Ěě)|Ɛɛ|(Ɛ́/ɛ́)|(Ɛ̂/ɛ̂)|(Ɛ̌/ɛ̌)|Ff|Gg|Hh|Ii|(Íí)|(Îî)|(Ǐǐ)|Kk|Ll|Mm|Mb/mb|Mp/mp|Nn|Nd/nd|Ng/ng|Nk/nk|Ns/ns|Nt/nt|Ny/ny|Nz/nz|Oo||(Óó)|(Ôô)|(Ǒǒ)|Ɔɔ|(Ɔ́/ɔ́)|(Ɔ̂/ɔ̂)|(Ɔ̌/ɔ̌)|Pp|Rr|Ss|Tt|Uu|(Úú)|(Ûû)|(Ǔǔ)|Vv|Ww|Yy|Zz}} =={{langname|nnh}}== ==={{ĐM|desction}}=== {{letter|nnh}} #Chữ '''{{l|nnh|ɔ}} viết thường''' với dấu thanh điệu [[◌̌]]. #:{{ux|nnh|ats'''ɔ̌'''|[[khác]]|inline=1}} ==={{ĐM|see}}=== *{{letters|lang=nnh|sc=Latn|qual=Bảng chữ cái Latinh tiếng Ngiemboon|Aa|(Áá)|(Ââ)|(Ǎǎ)|(Ȁȁ)|Bb|Cc|Dd|Ee|(Éé)|(Êê)|(Ěě)|(Ȅȅ)|Ɛɛ|(Ɛ́/ɛ́)|(Ɛ̂/ɛ̂)|(Ɛ̌/ɛ̌)|(Ɛ̏/ɛ̏)|Ff|Gg|Hh|Ii|(Íí)|(Îî)|(Ǐǐ)|(Ȉȉ)|Jj|Kk|Ll|Mm|Nn|Ŋŋ|Oo|(Óó)|(Ôô)|(Ǒǒ)|(Ȍȍ)|Ɔɔ|(Ɔ́/ɔ́)|(Ɔ̂/ɔ̂)|(Ɔ̌/ɔ̌)|(Ɔ̏/ɔ̏)|Pp|Rr|Pf/pf|Ss|Sh/sh|Tt|Ts/ts|Uu|(Úú)|(Ûû)|(Ǔǔ)|(Ȕȕ)|Ʉʉ|(Ʉ́/ʉ́)|(Ʉ̂/ʉ̂)|(Ʉ̌/ʉ̌)|(Ʉ̏/ʉ̏)|Vv|Ww|Ẅẅ|Yy|Ÿÿ|Zz|ʼ}} ==={{ĐM|ref}}=== *{{Chú thích web|entryurl=https://www.webonary.org/ngiemboon/en/g49d47c7b-bd61-42b7-b11e-6e2fa88f2e9f/|entry=atsɔ̌|editor=Lonfo, Etienne and Stephen C. Anderson|year=2016|work=Dictionnaire ngiemboon – français – anglais|publisher=SIL International}} =={{langname|niy}}== ==={{ĐM|letter}}=== {{letter|niy}} #Chữ '''{{l|niy|ɔ}} viết thường''' với dấu thanh điệu [[◌̌]]. #:{{quote|niy|Nyòngò òko bìlǐnganà dhɛ̀dhɛ '''ɔ̌''' tɨ́.|Hãy vui-mừng mãi mãi, ([[s:I Tê-sa-lô-ni-ca/5#5:16|I Tê-sa-lô-ni-ca 5:16]])|inline=1}} ===={{ĐM|see}}==== *{{letters|lang=niy|sc=Latn|qual=Bảng chữ cái Latinh tiếng Ngiti|a|b|bh|d|dh|dr|dy|dz|e|ɛ|f|g|gb|gy|h|i|ɨ|k|kp|ky|l|m|mb|mv|n|nd|ndr|ng|ngb|ngy|ny|nz|o|ɔ|p|pb|pf|r|s|t|td|tdy|tr|ts|u|ʉ|v|vh|w|y|z}} ==={{ĐM|ref}}=== *{{Chú thích web|niy|author=Wycliffe Bible Translators, Inc.|work=UNGBÒTA-ƆWɄ́TÁ TƆ́ BHǓKÙ|year=2015|entry=1 Tɛ̀sàlɔ̀nɨkà 5|entryurl=https://www.bible.com/bible/1431/1TH.5.NIY}} =={{langname|jgo}}== ==={{ĐM|letter}}=== {{letter|jgo}} #Chữ '''{{l|jgo|ɔ}} viết thường''' với dấu thanh điệu [[◌̌]]. #:{{quote|jgo|A tsɔ́Ꞌ ŋɡɔ, kwɑꞋ mɑ́mɑ́ wɑɑ w'''ɔ̌''', kwɑꞋ pɔ́ɔpɛ́mɑ́ pɑ́ɑ pɔ́ pɛ́ w'''ɔ̌'''?|Song Ngài phán cùng họ rằng: Ai là mẹ ta, ai là anh em ta? ([[s:Mác/3#3:33|Mác 3:33]])}} ==={{ĐM|see}}=== *{{letters|lang=jgo|sc=Latn|qual=Bảng chữ cái Latinh tiếng Ngomba|Aa|(Áá)|(Ǎǎ)|(Ââ)|Bb|Cc|Dd|Ɛɛ|(Ɛ́/ɛ́)|(Ɛ̌/ɛ̌)|(Ɛ̂/ɛ̂)|Ff|Gg|Hh|Ii|(Íí)|(Ǐǐ)|(Îî)|Jj|Kk|Ll|Mm|Nn|Ŋŋ|Ɔɔ|(Ɔ́/ɔ́)|(Ɔ̌/ɔ̌)|(Ɔ̂/ɔ̂)|Pp|Pf/pf|Ss|Sh/sh|Tt|Ts/ts|Uu|(Úú)|(Ǔǔ)|(Ûû)|Ʉʉ|(Ʉ́/ʉ́)|(Ʉ̌/ʉ̌)|(Ʉ̂/ʉ̂)|Ʉ̈/ʉ̈|Vv|Ww|Ẅẅ|Yy|Zz|Ꞌꞌ}} ==={{ĐM|ref}}=== *{{Chú thích web|jgo|work=Kɑɑ Fí|author=Cameroon Association for Bible Translation and Literacy|year=2017|entryurl=https://www.bible.com/bible/2621/MRK.3.JGO|entry=Mɑ́lɛ́kúshi 3}} =={{langname|sev}}== ==={{ĐM|letter}}=== {{letter|sev}} #Chữ cái thứ 31 viết thường trong bảng chữ cái Latinh tiếng Senoufo Nyarafolo. ==={{ĐM|see}}=== *{{letters|lang=sev|sc=Latn|qual=Bảng chữ cái Latinh tiếng Senoufo Nyarafolo|Aa|Ââ|Ǎǎ|Bb|Cc|Dd|Ee|Êê|Ěě|Ēē|Ɛɛ|Ɛ̂/ɛ̂|Ɛ̌/ɛ̌|Ɛ̄/ɛ̄|Ff|Gg|ʔ/ʔ|Hh|Ii|Îî|Ǐǐ|Īī|Jj|Kk|Ll|Mm|Nn|Ŋŋ|Oo|Ɔɔ|Ɔ̌/ɔ̌|Pp|Rr|Ss|Tt|Uu|Vv|Ww|Yy|Zz}} ==={{ĐM|ref}}=== *{{Chú thích web|sev|author=Wycliffe Bible Translators, Inc.|entryurl=https://www.bible.com/bible/2990/GEN.3.SEV|entry=Sélimɛ 3|year=2024|work=Sénoufo, Nyarafolo}} gj8uim3f9djfohv7qskpwml79tkt2e1 Thể loại:Vần:Tiếng Anh/ɑː(ɹ)dz/1 âm tiết 14 421301 2573208 2026-10-24T13:30:08Z Hiyuune 50834 Trang mới: “{{auto cat}}” 2573208 wikitext text/x-wiki {{auto cat}} eomzlm5v4j7ond1phrju7cnue91g5qx Thể loại:Vần:Tiếng Anh/ɑː(ɹ)dz 14 421302 2573209 2026-10-24T13:30:27Z Hiyuune 50834 Trang mới: “{{auto cat}}” 2573209 wikitext text/x-wiki {{auto cat}} eomzlm5v4j7ond1phrju7cnue91g5qx ards 0 421303 2573210 2026-10-24T13:32:04Z Hiyuune 50834 Trang mới: “{{also|ARDS}} =={{langname|en}}== ==={{section|pron}}=== * {{IPA|en|/ɑɹdz/|a=GA}} * {{IPA|en|/ɑːdz/|a=RP}} * {{rhymes|en|ɑː(ɹ)dz|s=1}} ==={{section|n}}=== {{head|en|Biến thể hình thái danh từ}} # {{plural of|en|ard}} ==={{section|ana}}=== * {{anagrams|en|a=adrs|Sadr|ADS-R|RADs|rads|Sard|sard|RDS.A|RDAs|SADR|dars|Dras|ADRs}} =={{langname|it}}== ==={{section|v}}=== {{head|it|Biến thể hình thái động từ}} # {{inflection of|it|ardere||phis|ở|…” 2573210 wikitext text/x-wiki {{also|ARDS}} =={{langname|en}}== ==={{section|pron}}=== * {{IPA|en|/ɑɹdz/|a=GA}} * {{IPA|en|/ɑːdz/|a=RP}} * {{rhymes|en|ɑː(ɹ)dz|s=1}} ==={{section|n}}=== {{head|en|Biến thể hình thái danh từ}} # {{plural of|en|ard}} ==={{section|ana}}=== * {{anagrams|en|a=adrs|Sadr|ADS-R|RADs|rads|Sard|sard|RDS.A|RDAs|SADR|dars|Dras|ADRs}} =={{langname|it}}== ==={{section|v}}=== {{head|it|Biến thể hình thái động từ}} # {{inflection of|it|ardere||phis|ở|1|s}} ==={{section|ana}}=== * {{anagrams|it|a=adrs|Sadr}} gd2rjumor0phuwwfjiek8oss2qd8rla misregards 0 421304 2573211 2026-10-24T13:33:01Z Hiyuune 50834 Trang mới: “=={{langname|en}}== ==={{ĐM|pron}}=== * {{IPA|en|/ˌmɪsɹɪˈɡɑːdz/|a=RP}} * {{IPA|en|/ˌmɪsɹɪˈɡɑɹdz/|a=GA}} * {{rhymes|en|ɑː(ɹ)dz|s=3}} ==={{ĐM|v}}=== {{head|en|Biến thể hình thái động từ}} # {{infl of|en|misregard||s-verb-form}}” 2573211 wikitext text/x-wiki =={{langname|en}}== ==={{ĐM|pron}}=== * {{IPA|en|/ˌmɪsɹɪˈɡɑːdz/|a=RP}} * {{IPA|en|/ˌmɪsɹɪˈɡɑɹdz/|a=GA}} * {{rhymes|en|ɑː(ɹ)dz|s=3}} ==={{ĐM|v}}=== {{head|en|Biến thể hình thái động từ}} # {{infl of|en|misregard||s-verb-form}} 55b2jt0fv529ouo8rchtrallowlv739 Thể loại:Vần:Tiếng Anh/ɑː(ɹ)dz/3 âm tiết 14 421305 2573212 2026-10-24T13:33:19Z Hiyuune 50834 Trang mới: “{{auto cat}}” 2573212 wikitext text/x-wiki {{auto cat}} eomzlm5v4j7ond1phrju7cnue91g5qx 朝日 0 421306 2573220 2026-10-24T13:56:12Z Hiyuune 50834 Trang mới: “=={{langname|ja}}== ==={{ĐM|etym}}=== {{ja-kanjitab|あさ|ひ|yomi=kun|alt=旭,旭日}} Từ {{inh|ja|ojp|sort=あさひ|-}}. Lần đầu trích dẫn trong ''{{w|Kojiki}}'' 712.<ref name="KDJ2">{{R:Nihon Kokugo Daijiten 2|朝日・旭}}</ref> Được phân tích theo từ ghép giữa {{compound|ja|朝|tr1=asa|t1=[[buổi sáng]]|日|tr2=hi|t2=[[Mặt Trời]]}}.<ref name="KDJ2"/><ref name="DDJS">{{R:Digital-Daijisen}}</ref><ref name="DJR"/> ==={{ĐM|pron}}=== {{…” 2573220 wikitext text/x-wiki =={{langname|ja}}== ==={{ĐM|etym}}=== {{ja-kanjitab|あさ|ひ|yomi=kun|alt=旭,旭日}} Từ {{inh|ja|ojp|sort=あさひ|-}}. Lần đầu trích dẫn trong ''{{w|Kojiki}}'' 712.<ref name="KDJ2">{{R:Nihon Kokugo Daijiten 2|朝日・旭}}</ref> Được phân tích theo từ ghép giữa {{compound|ja|朝|tr1=asa|t1=[[buổi sáng]]|日|tr2=hi|t2=[[Mặt Trời]]}}.<ref name="KDJ2"/><ref name="DDJS">{{R:Digital-Daijisen}}</ref><ref name="DJR"/> ==={{ĐM|pron}}=== {{ja-pron|あさひ|acc=1|acc_ref=DJR,NHK}} ==={{ĐM|n}}=== {{ja-noun|あさひ}} # {{defdate|từ năm 712}} [[Mặt Trời]] [[mọc]]. ===={{ĐM|drv}}==== * {{ja-r|朝%日 の ア|あさ%ひ の あ}} ===={{ĐM|desc}}==== * {{desc|pt|Assaí|bor=1}} ==={{ĐM|pr-noun}}=== {{ja-pos|proper|あさひ}} # {{surname|ja|sort=あさひ}} ==={{ĐM|ref}}=== {{reflist}} :* {{R:Shogakukan}} sabejn9rxv3ppw7vt956h739bvrhcn9 Thể loại:Tiếng Nhật cổ 14 421307 2573225 2026-10-24T14:00:27Z Hiyuune 50834 Hiyuune đã đổi [[Thể loại:Tiếng Nhật cổ]] thành [[Thể loại:Tiếng Nhật thượng cổ]] 2573225 wikitext text/x-wiki {{Đổi hướng thể loại|Thể loại:Tiếng Nhật thượng cổ}} jpodaap4id7wwr1iln9tmdyu2sgvxkh Thể loại:Từ ghép tiếng Nhật cổ 14 421308 2573227 2026-10-24T14:01:06Z Hiyuune 50834 Hiyuune đã đổi [[Thể loại:Từ ghép tiếng Nhật cổ]] thành [[Thể loại:Từ ghép tiếng Nhật thượng cổ]] 2573227 wikitext text/x-wiki {{Đổi hướng thể loại|Thể loại:Từ ghép tiếng Nhật thượng cổ}} jfwxqcmafb4dzl0y9awpltwp80fcm0b Thể loại:Từ nguyên tiếng Nhật cổ 14 421309 2573229 2026-10-24T14:01:10Z Hiyuune 50834 Hiyuune đã đổi [[Thể loại:Từ nguyên tiếng Nhật cổ]] thành [[Thể loại:Từ nguyên tiếng Nhật thượng cổ]] 2573229 wikitext text/x-wiki {{Đổi hướng thể loại|Thể loại:Từ nguyên tiếng Nhật thượng cổ}} iclaqvsp9i2cpyqybt810xkmyh40cpm Thể loại:Mục từ có ví dụ cách sử dụng tiếng Nhật cổ 14 421310 2573231 2026-10-24T14:01:47Z Hiyuune 50834 Hiyuune đã đổi [[Thể loại:Mục từ có ví dụ cách sử dụng tiếng Nhật cổ]] thành [[Thể loại:Mục từ có ví dụ cách sử dụng tiếng Nhật thượng cổ]] 2573231 wikitext text/x-wiki {{Đổi hướng thể loại|Thể loại:Mục từ có ví dụ cách sử dụng tiếng Nhật thượng cổ}} 0u6iwm1tmuqvgxwxrzyp0jvdknlj8vw Thể loại:Mục từ có trích dẫn ngữ liệu tiếng Nhật cổ 14 421311 2573233 2026-10-24T14:02:04Z Hiyuune 50834 Hiyuune đã đổi [[Thể loại:Mục từ có trích dẫn ngữ liệu tiếng Nhật cổ]] thành [[Thể loại:Mục từ có trích dẫn ngữ liệu tiếng Nhật thượng cổ]] 2573233 wikitext text/x-wiki {{Đổi hướng thể loại|Thể loại:Mục từ có trích dẫn ngữ liệu tiếng Nhật thượng cổ}} k9ba7a7o8u29pb5uviy0che2ejalv8y Thể loại:Mục từ có cách phát âm IPA tiếng Nhật cổ 14 421312 2573235 2026-10-24T14:02:27Z Hiyuune 50834 Hiyuune đã đổi [[Thể loại:Mục từ có cách phát âm IPA tiếng Nhật cổ]] thành [[Thể loại:Mục từ có cách phát âm IPA tiếng Nhật thượng cổ]] 2573235 wikitext text/x-wiki {{Đổi hướng thể loại|Thể loại:Mục từ có cách phát âm IPA tiếng Nhật thượng cổ}} corq7rkbt2s0xn1cauk8yu8fw5kh86s Thể loại:Bảo trì mục từ tiếng Nhật cổ 14 421313 2573237 2026-10-24T14:02:47Z Hiyuune 50834 Hiyuune đã đổi [[Thể loại:Bảo trì mục từ tiếng Nhật cổ]] thành [[Thể loại:Bảo trì mục từ tiếng Nhật thượng cổ]] 2573237 wikitext text/x-wiki {{Đổi hướng thể loại|Thể loại:Bảo trì mục từ tiếng Nhật thượng cổ}} 5gi1wj3qnbmuwd7ldfw5hle6j69be28 Thể loại:Phó từ tiếng Nhật cổ 14 421314 2573239 2026-10-24T14:03:11Z Hiyuune 50834 Hiyuune đã đổi [[Thể loại:Phó từ tiếng Nhật cổ]] thành [[Thể loại:Phó từ tiếng Nhật thượng cổ]] 2573239 wikitext text/x-wiki {{Đổi hướng thể loại|Thể loại:Phó từ tiếng Nhật thượng cổ}} il6hwjqbnyu50juf92rjk3earbtf8gj Thể loại:Trợ từ tiếng Nhật cổ 14 421315 2573241 2026-10-24T14:03:13Z Hiyuune 50834 Hiyuune đã đổi [[Thể loại:Trợ từ tiếng Nhật cổ]] thành [[Thể loại:Trợ từ tiếng Nhật thượng cổ]] 2573241 wikitext text/x-wiki {{Đổi hướng thể loại|Thể loại:Trợ từ tiếng Nhật thượng cổ}} 332lcnlnub49x1oxfhn2lmj2zbxs9g5 Thể loại:Động từ tiếng Nhật cổ 14 421316 2573243 2026-10-24T14:03:28Z Hiyuune 50834 Hiyuune đã đổi [[Thể loại:Động từ tiếng Nhật cổ]] thành [[Thể loại:Động từ tiếng Nhật thượng cổ]] 2573243 wikitext text/x-wiki {{Đổi hướng thể loại|Thể loại:Động từ tiếng Nhật thượng cổ}} kamanrfa0t05h2f5gsh3h21pm0yxjs1 Thể loại:Đại từ tiếng Nhật cổ 14 421317 2573245 2026-10-24T14:03:30Z Hiyuune 50834 Hiyuune đã đổi [[Thể loại:Đại từ tiếng Nhật cổ]] thành [[Thể loại:Đại từ tiếng Nhật thượng cổ]] 2573245 wikitext text/x-wiki {{Đổi hướng thể loại|Thể loại:Đại từ tiếng Nhật thượng cổ}} 8lq8qqwcy8obnz1bs3xvl02iwwi5yfn Thể loại:Danh từ riêng tiếng Nhật cổ 14 421318 2573247 2026-10-24T14:03:45Z Hiyuune 50834 Hiyuune đã đổi [[Thể loại:Danh từ riêng tiếng Nhật cổ]] thành [[Thể loại:Danh từ riêng tiếng Nhật thượng cổ]] 2573247 wikitext text/x-wiki {{Đổi hướng thể loại|Thể loại:Danh từ riêng tiếng Nhật thượng cổ}} 2nc7wj0d6gkgx2wpxb437pk5w5bkcng Thể loại:Danh từ tiếng Nhật cổ 14 421319 2573249 2026-10-24T14:03:50Z Hiyuune 50834 Hiyuune đã đổi [[Thể loại:Danh từ tiếng Nhật cổ]] thành [[Thể loại:Danh từ tiếng Nhật thượng cổ]] 2573249 wikitext text/x-wiki {{Đổi hướng thể loại|Thể loại:Danh từ tiếng Nhật thượng cổ}} 3ma5h5fjucufbs3c8eju8eo7x8mbnyo Thể loại:Mục từ tiếng Nhật cổ 14 421320 2573251 2026-10-24T14:04:06Z Hiyuune 50834 Hiyuune đã đổi [[Thể loại:Mục từ tiếng Nhật cổ]] thành [[Thể loại:Mục từ tiếng Nhật thượng cổ]] 2573251 wikitext text/x-wiki {{Đổi hướng thể loại|Thể loại:Mục từ tiếng Nhật thượng cổ}} dew2emiao9j4irjfdicavm120or098w Thể loại:Từ kế thừa từ tiếng Nhật cổ tiếng Nhật 14 421321 2573253 2026-10-24T14:04:44Z Hiyuune 50834 Hiyuune đã đổi [[Thể loại:Từ kế thừa từ tiếng Nhật cổ tiếng Nhật]] thành [[Thể loại:Từ kế thừa từ tiếng Nhật thượng cổ tiếng Nhật]] 2573253 wikitext text/x-wiki {{Đổi hướng thể loại|Thể loại:Từ kế thừa từ tiếng Nhật thượng cổ tiếng Nhật}} a8om9xtyc5brhafr5yd38yzvfzun96e Thể loại:Từ dẫn xuất từ tiếng Nhật cổ tiếng Nhật 14 421322 2573255 2026-10-24T14:05:14Z Hiyuune 50834 Hiyuune đã đổi [[Thể loại:Từ dẫn xuất từ tiếng Nhật cổ tiếng Nhật]] thành [[Thể loại:Từ dẫn xuất từ tiếng Nhật thượng cổ tiếng Nhật]] 2573255 wikitext text/x-wiki {{Đổi hướng thể loại|Thể loại:Từ dẫn xuất từ tiếng Nhật thượng cổ tiếng Nhật}} 2a7mdx7oaiqrvw6x8m0c0vspfwjvpdq Thể loại:Từ kế thừa từ tiếng Nhật cổ tiếng Hachijō 14 421323 2573257 2026-10-24T14:05:49Z Hiyuune 50834 Hiyuune đã đổi [[Thể loại:Từ kế thừa từ tiếng Nhật cổ tiếng Hachijō]] thành [[Thể loại:Từ kế thừa từ tiếng Nhật thượng cổ tiếng Hachijō]] 2573257 wikitext text/x-wiki {{Đổi hướng thể loại|Thể loại:Từ kế thừa từ tiếng Nhật thượng cổ tiếng Hachijō}} cbm70p0o4u2v1kiyjirbsymba3ldzid Thể loại:Từ dẫn xuất từ tiếng Nhật cổ tiếng Hachijō 14 421324 2573259 2026-10-24T14:06:00Z Hiyuune 50834 Hiyuune đã đổi [[Thể loại:Từ dẫn xuất từ tiếng Nhật cổ tiếng Hachijō]] thành [[Thể loại:Từ dẫn xuất từ tiếng Nhật thượng cổ tiếng Hachijō]] 2573259 wikitext text/x-wiki {{Đổi hướng thể loại|Thể loại:Từ dẫn xuất từ tiếng Nhật thượng cổ tiếng Hachijō}} rpsj5zgyog59prnpwjfdve6oeu0nxww inbhear 0 421325 2573261 2026-10-24T14:14:04Z Hiyuune 50834 Trang mới: “=={{langname|ga}}== ==={{section|n}}=== {{ga-noun|m|-ir|-ir}} # [[cửa sông]]. ===={{section|decl}}==== {{ga-decl-m1|i|nbhear|nbhir}} ==={{section|mut}}=== {{ga-mut|msn}} ==={{section|further}}=== * {{R:ga:Ó Dónaill}} * {{R:ga:NEID}} * {{R:ga:FNG}} * {{R:ga:FB}}” 2573261 wikitext text/x-wiki =={{langname|ga}}== ==={{section|n}}=== {{ga-noun|m|-ir|-ir}} # [[cửa sông]]. ===={{section|decl}}==== {{ga-decl-m1|i|nbhear|nbhir}} ==={{section|mut}}=== {{ga-mut|msn}} ==={{section|further}}=== * {{R:ga:Ó Dónaill}} * {{R:ga:NEID}} * {{R:ga:FNG}} * {{R:ga:FB}} enu4ik2xzcyd5si2oclnk7rzjdux2nc river mouth 0 421326 2573262 2026-10-24T14:14:48Z Hiyuune 50834 Trang mới: “=={{langname|en}}== ==={{section|alt}}=== * {{alt|en|rivermouth}} ==={{section|n}}=== {{en-noun}} {{wp|en:}} # {{lb|en|geography}} [[cửa sông]].” 2573262 wikitext text/x-wiki =={{langname|en}}== ==={{section|alt}}=== * {{alt|en|rivermouth}} ==={{section|n}}=== {{en-noun}} {{wp|en:}} # {{lb|en|geography}} [[cửa sông]]. bn11c9btn8567zgun1po2mcc9o52b07 rivermouth 0 421327 2573263 2026-10-24T14:15:21Z Hiyuune 50834 Trang mới: “=={{langname|en}}== ==={{section|n}}=== {{en-noun}} # {{alternative form of|en|river mouth}}” 2573263 wikitext text/x-wiki =={{langname|en}}== ==={{section|n}}=== {{en-noun}} # {{alternative form of|en|river mouth}} 6v7de9q11s6ht0ftm5xoo7rn1okkbfb fomm ix-xmara 0 421328 2573264 2026-10-24T14:15:56Z Hiyuune 50834 + mt 2573264 wikitext text/x-wiki =={{langname|mt}}== ==={{section|alt}}=== * {{alt|mt|fomm tax-xmara}} ==={{section|pron}}=== * {{IPA|mt|/ˌfɔm.m‿ɪʃˈʃmaː.ra/}} ==={{section|n}}=== {{mt-head|noun|g=m|p=fommijiet ix-xmajjar}} # [[cửa sông]]. 2a42icw0uvn8nvpsb85pwvcwx8s32ih bolote 0 421329 2573265 2026-10-24T14:17:26Z Hiyuune 50834 Trang mới: “=={{langname|tft}}== ==={{section|pron}}=== * {{IPA|tft|[bo.ˈlo.te]}} ==={{section|n}}=== {{tft-noun}} # [[cửa sông]]. ==={{section|ref}}=== * {{R:tft:Hayami-Allen:2001}}” 2573265 wikitext text/x-wiki =={{langname|tft}}== ==={{section|pron}}=== * {{IPA|tft|[bo.ˈlo.te]}} ==={{section|n}}=== {{tft-noun}} # [[cửa sông]]. ==={{section|ref}}=== * {{R:tft:Hayami-Allen:2001}} c25wtrteeho86rpwol0bp4cs9t7hrtc Leal 0 421330 2573266 2026-10-24T14:19:53Z Hiyuune 50834 Trang mới: “{{also|leal|leâl}} =={{langname|en}}== ==={{section|pr-noun}}=== {{en-proper noun}} # {{place|en|thành phố/và/làng|s/Bắc Dakota}}. ==={{section|ana}}=== * {{anagrams|en|a=aell|Ella|Lela}}” 2573266 wikitext text/x-wiki {{also|leal|leâl}} =={{langname|en}}== ==={{section|pr-noun}}=== {{en-proper noun}} # {{place|en|thành phố/và/làng|s/Bắc Dakota}}. ==={{section|ana}}=== * {{anagrams|en|a=aell|Ella|Lela}} e19dkpvp6xwa7qczdsqor1rq83y30yc leehku 0 421331 2573267 2026-10-24T14:21:04Z Hiyuune 50834 Trang mới: “=={{langname|izh}}== ==={{section|pron}}=== * {{izh-p}} ==={{section|n}}=== {{head|izh|Danh từ}} # {{synonym of|izh|leetsa}} ===={{section|decl}}==== {{izh-decl/koivu|k|}} ==={{section|ref}}=== * {{R:izh:Nirvi:1971|page=705}}” 2573267 wikitext text/x-wiki =={{langname|izh}}== ==={{section|pron}}=== * {{izh-p}} ==={{section|n}}=== {{head|izh|Danh từ}} # {{synonym of|izh|leetsa}} ===={{section|decl}}==== {{izh-decl/koivu|k|}} ==={{section|ref}}=== * {{R:izh:Nirvi:1971|page=705}} rlbt0o8b94rujlkuu1hgdt88jm6ll02 talvikuu 0 421332 2573268 2026-10-24T14:23:17Z Hiyuune 50834 Trang mới: “=={{langname|fi}}== ==={{section|pron}}=== {{compound|fi|talvi|kuu}} ==={{section|pron}}=== {{fi-pronunciation|talvi-kuu}} ==={{section|n}}=== {{head|fi|Danh từ}} {{tlb|fi|obsolete}} # {{syn of|fi|joulukuu||tháng Mười hai}} ===={{section|decl}}==== {{fi-decl-maa|talvikuu|a}} ==={{section|ana}}=== * {{anagrams|fi|a=aikltuuv|kuluivat|kuulivat|liukuvat}} {{C|fi|Tháng}}” 2573268 wikitext text/x-wiki =={{langname|fi}}== ==={{section|pron}}=== {{compound|fi|talvi|kuu}} ==={{section|pron}}=== {{fi-pronunciation|talvi-kuu}} ==={{section|n}}=== {{head|fi|Danh từ}} {{tlb|fi|obsolete}} # {{syn of|fi|joulukuu||tháng Mười hai}} ===={{section|decl}}==== {{fi-decl-maa|talvikuu|a}} ==={{section|ana}}=== * {{anagrams|fi|a=aikltuuv|kuluivat|kuulivat|liukuvat}} {{C|fi|Tháng}} espjqfwwgc9b9pyoq7t9ciy2pdlnakr 2573269 2573268 2026-10-24T14:25:19Z Hiyuune 50834 /* Tiếng Phần Lan */ (sử dụng [[MediaWiki:Gadget-AjaxEdit.js|AjaxEdit]]) 2573269 wikitext text/x-wiki =={{langname|krl}}== {{krl-regional|talvikuu|talvikuu}} {{enum|krl|pimiekuu|[[pakkaiskuu]]<br />[[pakkaškuu]]|Tháng trong năm}} ==={{section|etym}}=== Từ {{compound|krl|talvi|kuu}}. ==={{section|pron}}=== * {{IPA|krl|/ˈtɑlʋiˌkuː/}} * {{hyph|krl|tal|vi|kuu}} ==={{section|n}}=== {{krl-noun|talvikuun|talvikuuta//talvikuuda}} # [[tháng Mười hai]]. ===={{section|decl}}==== {{krl-decl-V/pimie|a}} {{krl-decl-T/pimie|a}} {{krl-decl-poss}} ===={{section|syn}}==== * {{q|Nam Karelia}} {{l|krl|dekabrʹa}} ==={{section|ref}}=== * {{R:krl:Punzhina:1994|+}} * {{R:krl:Kondie:2022|page=9}} {{C|krl|Tháng}} =={{langname|fi}}== ==={{section|etym}}=== {{compound|fi|talvi|kuu}} ==={{section|pron}}=== {{fi-pronunciation|talvi-kuu}} ==={{section|n}}=== {{head|fi|Danh từ}} {{tlb|fi|obsolete}} # {{syn of|fi|joulukuu||tháng Mười hai}} ===={{section|decl}}==== {{fi-decl-maa|talvikuu|a}} ==={{section|ana}}=== * {{anagrams|fi|a=aikltuuv|kuluivat|kuulivat|liukuvat}} {{C|fi|Tháng}} exzwiwgeezk4lyu7opv94mtoksuvs2e 2573274 2573269 2026-10-24T14:34:09Z Hiyuune 50834 2573274 wikitext text/x-wiki =={{langname|izh}}== {{enum|izh||syänkuu|Tên gọi tháng không còn dùng}} ==={{section|etym}}=== Từ {{compound|izh|talvi|kuu}}. Giống như {{cog|fi|talvikuu}}. ==={{section|pron}}=== * {{izh-p|talvi-kuu}} ==={{section|n}}=== {{head|izh|noun}} # [[tháng|Tháng]] [[mùa đông]]. # {{lb|izh|obsolete}} {{synonym of|izh|dekabri}} ===={{section|decl}}==== {{izh-decl/maa|g=kuu}} ==={{section|ref}}=== * {{R:izh:Nirvi:1971|page=571}} {{C|izh|Tháng}} =={{langname|krl}}== {{krl-regional|talvikuu|talvikuu}} {{enum|krl|pimiekuu|[[pakkaiskuu]]<br />[[pakkaškuu]]|Tháng trong năm}} ==={{section|etym}}=== Từ {{compound|krl|talvi|kuu}}. ==={{section|pron}}=== * {{IPA|krl|/ˈtɑlʋiˌkuː/}} * {{hyph|krl|tal|vi|kuu}} ==={{section|n}}=== {{krl-noun|talvikuun|talvikuuta//talvikuuda}} # [[tháng Mười hai|Tháng Mười hai]]. ===={{section|decl}}==== {{krl-decl-V/pimie|a}} {{krl-decl-T/pimie|a}} {{krl-decl-poss}} ===={{section|syn}}==== * {{q|Nam Karelia}} {{l|krl|dekabrʹa}} ==={{section|ref}}=== * {{R:krl:Punzhina:1994|+}} * {{R:krl:Kondie:2022|page=9}} {{C|krl|Tháng}} =={{langname|fi}}== ==={{section|etym}}=== {{compound|fi|talvi|kuu}} ==={{section|pron}}=== {{fi-pronunciation|talvi-kuu}} ==={{section|n}}=== {{head|fi|Danh từ}} {{tlb|fi|obsolete}} # {{syn of|fi|joulukuu||tháng Mười hai}} ===={{section|decl}}==== {{fi-decl-maa|talvikuu|a}} ==={{section|ana}}=== * {{anagrams|fi|a=aikltuuv|kuluivat|kuulivat|liukuvat}} {{C|fi|Tháng}} 6ut1h6y2djx3pichsptf1bbssftw7aw Bản mẫu:krl-decl-T/pimie 10 421333 2573270 2026-10-24T14:25:55Z Hiyuune 50834 Trang mới: “{{krl-decl-table|d=T|type=loại 6/{{m|krl|pimie}}, không luân phiên nguyên âm <!-- singular --> |{{#invoke:string/templates|sub|{{pagename}}|1|-3}}{{#switch:{{#invoke:string/templates|sub|{{pagename}}|-2|-1}}|ie=ie|ua=ua|uo=uo|ei=ei|oi=oi|iä=iä|yö=yö|uu=uu|ii=ii}} |{{#invoke:string/templates|sub|{{pagename}}|1|-3}}{{#switch:{{#invoke:string/templates|sub|{{pagename}}|-2|-1}}|ie=ie|ua=ua|uo=uo|ei=ei|oi=oi|iä=iä|yö=yö|uu=uu|ii=ii}}n |{{#invoke:string/templates…” 2573270 wikitext text/x-wiki {{krl-decl-table|d=T|type=loại 6/{{m|krl|pimie}}, không luân phiên nguyên âm <!-- singular --> |{{#invoke:string/templates|sub|{{pagename}}|1|-3}}{{#switch:{{#invoke:string/templates|sub|{{pagename}}|-2|-1}}|ie=ie|ua=ua|uo=uo|ei=ei|oi=oi|iä=iä|yö=yö|uu=uu|ii=ii}} |{{#invoke:string/templates|sub|{{pagename}}|1|-3}}{{#switch:{{#invoke:string/templates|sub|{{pagename}}|-2|-1}}|ie=ie|ua=ua|uo=uo|ei=ei|oi=oi|iä=iä|yö=yö|uu=uu|ii=ii}}n |{{#invoke:string/templates|sub|{{pagename}}|1|-3}}{{#switch:{{#invoke:string/templates|sub|{{pagename}}|-2|-1}}|ie=ie|ua=ua|uo=uo|ei=ei|oi=oi|iä=iä|yö=yö|uu=uu|ii=ii}}{{#switch:{{{1|}}}|a=da|ä=dä|???}} |{{#invoke:string/templates|sub|{{pagename}}|1|-3}}{{#switch:{{#invoke:string/templates|sub|{{pagename}}|-2|-1}}|ie=ie|ua=ua|uo=uo|ei=ei|oi=oi|iä=iä|yö=yö|uu=uu|ii=ii}}h |{{#invoke:string/templates|sub|{{pagename}}|1|-3}}{{#switch:{{#invoke:string/templates|sub|{{pagename}}|-2|-1}}|ie=iešš|ua=uašš|uo=uošš|ei=eiss|oi=oiss|iä=iäšš|yö=yöšš|uu=uušš|ii=iiss}}{{#switch:{{{1|}}}|a=a|ä=ä|???}} |{{#invoke:string/templates|sub|{{pagename}}|1|-3}}{{#switch:{{#invoke:string/templates|sub|{{pagename}}|-2|-1}}|ie=iešt|ua=uašt|uo=uošt|ei=eist|oi=oist|iä=iäšt|yö=yöšt|uu=uušt|ii=iist}}{{#switch:{{{1|}}}|a=a|ä=ä|???}} |{{#invoke:string/templates|sub|{{pagename}}|1|-3}}{{#switch:{{#invoke:string/templates|sub|{{pagename}}|-2|-1}}|ie=ie|ua=ua|uo=uo|ei=ei|oi=oi|iä=iä|yö=yö|uu=uu|ii=ii}}{{#switch:{{{1|}}}|a=lla|ä=llä|???}} |{{#invoke:string/templates|sub|{{pagename}}|1|-3}}{{#switch:{{#invoke:string/templates|sub|{{pagename}}|-2|-1}}|ie=ie|ua=ua|uo=uo|ei=ei|oi=oi|iä=iä|yö=yö|uu=uu|ii=ii}}{{#switch:{{{1|}}}|a=lda|ä=ldä|???}} |{{#invoke:string/templates|sub|{{pagename}}|1|-3}}{{#switch:{{#invoke:string/templates|sub|{{pagename}}|-2|-1}}|ie=iekš|ua=uakš|uo=uokš|ei=eiks|oi=oiks|iä=iäkš|yö=yökš|uu=uukš|ii=iiks}}i |{{#invoke:string/templates|sub|{{pagename}}|1|-3}}{{#switch:{{#invoke:string/templates|sub|{{pagename}}|-2|-1}}|ie=ie|ua=ua|uo=uo|ei=ei|oi=oi|iä=iä|yö=yö|uu=uu|ii=ii}}{{#switch:{{{1|}}}|a=na|ä=nä|???}} |{{#invoke:string/templates|sub|{{pagename}}|1|-3}}{{#switch:{{#invoke:string/templates|sub|{{pagename}}|-2|-1}}|ie=ie|ua=ua|uo=uo|ei=ei|oi=oi|iä=iä|yö=yö|uu=uu|ii=ii}}nke |{{#invoke:string/templates|sub|{{pagename}}|1|-3}}{{#switch:{{#invoke:string/templates|sub|{{pagename}}|-2|-1}}|ie=ie|ua=ua|uo=uo|ei=ei|oi=oi|iä=iä|yö=yö|uu=uu|ii=ii}}{{#switch:{{{1|}}}|a=tta|ä=ttä|???}} |{{#invoke:string/templates|sub|{{pagename}}|1|-3}}{{#switch:{{#invoke:string/templates|sub|{{pagename}}|-2|-1}}|ie=ie|ua=ua|uo=uo|ei=ei|oi=oi|iä=iä|yö=yö|uu=uu|ii=ii}}čči <!-- plural --> |{{#invoke:string/templates|sub|{{pagename}}|1|-3}}{{#switch:{{#invoke:string/templates|sub|{{pagename}}|-2|-1}}|ie=ie|ua=ua|uo=uo|ei=ei|oi=oi|iä=iä|yö=yö|uu=uu|ii=ii}}t |{{#invoke:string/templates|sub|{{pagename}}|1|-3}}{{#switch:{{#invoke:string/templates|sub|{{pagename}}|-2|-1}}|ie=ei|ua=ai|uo=oi|ei=ii|oi=oi|iä=äi|yö=öi|uu=ui|ii=ii}}n |{{#invoke:string/templates|sub|{{pagename}}|1|-3}}{{#switch:{{#invoke:string/templates|sub|{{pagename}}|-2|-1}}|ie=ei|ua=ai|uo=oi|ei=ii|oi=oi|iä=äi|yö=öi|uu=ui|ii=ii}}{{#switch:{{{1|}}}|a=da|ä=dä|???}} |{{#invoke:string/templates|sub|{{pagename}}|1|-3}}{{#switch:{{#invoke:string/templates|sub|{{pagename}}|-2|-1}}|ie=ei|ua=ai|uo=oi|ei=ii|oi=oi|iä=äi|yö=öi|uu=ui|ii=ii}}h |{{#invoke:string/templates|sub|{{pagename}}|1|-3}}{{#switch:{{#invoke:string/templates|sub|{{pagename}}|-2|-1}}|ie=ei|ua=ai|uo=oi|ei=ii|oi=oi|iä=äi|yö=öi|uu=ui|ii=ii}}{{#switch:{{{1|}}}|a=ssa|ä=ssä|???}} |{{#invoke:string/templates|sub|{{pagename}}|1|-3}}{{#switch:{{#invoke:string/templates|sub|{{pagename}}|-2|-1}}|ie=ei|ua=ai|uo=oi|ei=ii|oi=oi|iä=äi|yö=öi|uu=ui|ii=ii}}{{#switch:{{{1|}}}|a=sta|ä=stä|???}} |{{#invoke:string/templates|sub|{{pagename}}|1|-3}}{{#switch:{{#invoke:string/templates|sub|{{pagename}}|-2|-1}}|ie=ei|ua=ai|uo=oi|ei=ii|oi=oi|iä=äi|yö=öi|uu=ui|ii=ii}}{{#switch:{{{1|}}}|a=lla|ä=llä|???}} |{{#invoke:string/templates|sub|{{pagename}}|1|-3}}{{#switch:{{#invoke:string/templates|sub|{{pagename}}|-2|-1}}|ie=ei|ua=ai|uo=oi|ei=ii|oi=oi|iä=äi|yö=öi|uu=ui|ii=ii}}{{#switch:{{{1|}}}|a=lda|ä=ldä|???}} |{{#invoke:string/templates|sub|{{pagename}}|1|-3}}{{#switch:{{#invoke:string/templates|sub|{{pagename}}|-2|-1}}|ie=ei|ua=ai|uo=oi|ei=ii|oi=oi|iä=äi|yö=öi|uu=ui|ii=ii}}ksi |{{#invoke:string/templates|sub|{{pagename}}|1|-3}}{{#switch:{{#invoke:string/templates|sub|{{pagename}}|-2|-1}}|ie=ei|ua=ai|uo=oi|ei=ii|oi=oi|iä=äi|yö=öi|uu=ui|ii=ii}}{{#switch:{{{1|}}}|a=na|ä=nä|???}} |{{#invoke:string/templates|sub|{{pagename}}|1|-3}}{{#switch:{{#invoke:string/templates|sub|{{pagename}}|-2|-1}}|ie=ei|ua=ai|uo=oi|ei=ii|oi=oi|iä=äi|yö=öi|uu=ui|ii=ii}}nke |{{#invoke:string/templates|sub|{{pagename}}|1|-3}}{{#switch:{{#invoke:string/templates|sub|{{pagename}}|-2|-1}}|ie=ei|ua=ai|uo=oi|ei=ii|oi=oi|iä=äi|yö=öi|uu=ui|ii=ii}}{{#switch:{{{1|}}}|a=tta|ä=ttä|???}} |{{#invoke:string/templates|sub|{{pagename}}|1|-3}}{{#switch:{{#invoke:string/templates|sub|{{pagename}}|-2|-1}}|ie=ei|ua=ai|uo=oi|ei=ii|oi=oi|iä=äi|yö=öi|uu=ui|ii=ii}}čči |{{#invoke:string/templates|sub|{{pagename}}|1|-3}}{{#switch:{{#invoke:string/templates|sub|{{pagename}}|-2|-1}}|ie=ei|ua=ai|uo=oi|ei=ii|oi=oi|iä=äi|yö=öi|uu=ui|ii=ii}}n }}<noinclude>{{tcat|nomdecl:6}}</noinclude> pfblkru8u7hzgvf9743h6j22muyaadg Bản mẫu:krl-decl-V/pimie 10 421334 2573271 2026-10-24T14:26:52Z Hiyuune 50834 Trang mới: “{{krl-decl-table|d=V|type=loại 6/{{m|krl|pimie}}, không luân phiên nguyên âm|n={{{n|}}} <!-- singular --> |{{#invoke:string/templates|sub|{{pagename}}|1|-3}}{{#switch:{{#invoke:string/templates|sub|{{pagename}}|-2|-1}}|ie=ie|ua=ua|uo=uo|ei=ei|oi=oi|yä=yä|iä=iä|yö=yö|uu=uu|ii=ii}} |{{#invoke:string/templates|sub|{{pagename}}|1|-3}}{{#switch:{{#invoke:string/templates|sub|{{pagename}}|-2|-1}}|ie=ie|ua=ua|uo=uo|ei=ei|oi=oi|yä=yä|iä=iä|yö=yö|uu=uu|ii=ii}}n…” 2573271 wikitext text/x-wiki {{krl-decl-table|d=V|type=loại 6/{{m|krl|pimie}}, không luân phiên nguyên âm|n={{{n|}}} <!-- singular --> |{{#invoke:string/templates|sub|{{pagename}}|1|-3}}{{#switch:{{#invoke:string/templates|sub|{{pagename}}|-2|-1}}|ie=ie|ua=ua|uo=uo|ei=ei|oi=oi|yä=yä|iä=iä|yö=yö|uu=uu|ii=ii}} |{{#invoke:string/templates|sub|{{pagename}}|1|-3}}{{#switch:{{#invoke:string/templates|sub|{{pagename}}|-2|-1}}|ie=ie|ua=ua|uo=uo|ei=ei|oi=oi|yä=yä|iä=iä|yö=yö|uu=uu|ii=ii}}n |{{#invoke:string/templates|sub|{{pagename}}|1|-3}}{{#switch:{{#invoke:string/templates|sub|{{pagename}}|-2|-1}}|ie=ie{{#switch:{{{1|}}}|a=ta|ä=tä|???}}|ua=uata|uo=uota|ei=ei|oi=oi{{#switch:{{{1|}}}|a=ta|ä=tä|???}}|yä=yätä|iä=iätä|yö=yötä|uu=uuta|ii=ii{{#switch:{{{1|}}}|a=ta|ä=tä|???}}}} |{{#invoke:string/templates|sub|{{pagename}}|1|-3}}{{#switch:{{#invoke:string/templates|sub|{{pagename}}|-2|-1}}|ie=ie|ua=ua|uo=uo|ei=ei|oi=oi|yä=yä|iä=iä|yö=yö|uu=uu|ii=ii}}h |{{#invoke:string/templates|sub|{{pagename}}|1|-3}}{{#switch:{{#invoke:string/templates|sub|{{pagename}}|-2|-1}}|ie=ie{{#switch:{{{1|}}}|a=šša|ä=ššä|???}}|ua=uašša|uo=uošša|ei=ei|oi=oi{{#switch:{{{1|}}}|a=ssa|ä=ssä|???}}|yä=yäššä|iä=iäššä|yö=yöššä|uu=uušša|ii=ii{{#switch:{{{1|}}}|a=ssa|ä=ssä|???}}}} |{{#invoke:string/templates|sub|{{pagename}}|1|-3}}{{#switch:{{#invoke:string/templates|sub|{{pagename}}|-2|-1}}|ie=ie{{#switch:{{{1|}}}|a=šta|ä=štä|???}}|ua=uašta|uo=uošta|ei=ei|oi=oi{{#switch:{{{1|}}}|a=sta|ä=stä|???}}|yä=yäštä|iä=iäštä|yö=yöštä|uu=uušta|ii=ii{{#switch:{{{1|}}}|a=sta|ä=stä|???}}}} |{{#invoke:string/templates|sub|{{pagename}}|1|-3}}{{#switch:{{#invoke:string/templates|sub|{{pagename}}|-2|-1}}|ie=ie{{#switch:{{{1|}}}|a=lla|ä=llä|???}}|ua=ualla|uo=uolla|ei=ei|oi=oi{{#switch:{{{1|}}}|a=lla|ä=llä|???}}|yä=yällä|iä=iällä|yö=yöllä|uu=uulla|ii=ii{{#switch:{{{1|}}}|a=lla|ä=llä|???}}}} |{{#invoke:string/templates|sub|{{pagename}}|1|-3}}{{#switch:{{#invoke:string/templates|sub|{{pagename}}|-2|-1}}|ie=ie{{#switch:{{{1|}}}|a=lta|ä=ltä|???}}|ua=ualta|uo=uolta|ei=ei|oi=oi{{#switch:{{{1|}}}|a=lta|ä=ltä|???}}|yä=yältä|iä=iältä|yö=yöltä|uu=uulta|ii=ii{{#switch:{{{1|}}}|a=lta|ä=ltä|???}}}} |{{#invoke:string/templates|sub|{{pagename}}|1|-3}}{{#switch:{{#invoke:string/templates|sub|{{pagename}}|-2|-1}}|ie=iekši|ua=uakši|uo=uokši|ei=ei|oi=oiksi|yä=yäkši|iä=iäkši|yö=yökši|uu=uukši|ii=iiksi}} |{{#invoke:string/templates|sub|{{pagename}}|1|-3}}{{#switch:{{#invoke:string/templates|sub|{{pagename}}|-2|-1}}|ie=ie{{#switch:{{{1|}}}|a=na|ä=nä|???}}|ua=uana|uo=uona|ei=ei|oi=oi{{#switch:{{{1|}}}|a=na|ä=nä|???}}|yä=yänä|iä=iänä|yö=yönä|uu=uuna|ii=ii{{#switch:{{{1|}}}|a=na|ä=nä|???}}}} |- |{{#invoke:string/templates|sub|{{pagename}}|1|-3}}{{#switch:{{#invoke:string/templates|sub|{{pagename}}|-2|-1}}|ie=ie{{#switch:{{{1|}}}|a=tta|ä=ttä|???}}|ua=uatta|uo=uotta|ei=ei|oi=oi{{#switch:{{{1|}}}|a=tta|ä=ttä|???}}|yä=yättä|iä=iättä|yö=yöttä|uu=uutta|ii=ii{{#switch:{{{1|}}}|a=tta|ä=ttä|???}}}} |- <!-- plural --> |{{#invoke:string/templates|sub|{{pagename}}|1|-3}}{{#switch:{{#invoke:string/templates|sub|{{pagename}}|-2|-1}}|ie=ie|ua=ua|uo=uo|ei=ei|oi=oi|yä=yä|iä=iä|yö=yö|uu=uu|ii=ii}}t |{{#invoke:string/templates|sub|{{pagename}}|1|-3}}{{#switch:{{#invoke:string/templates|sub|{{pagename}}|-2|-1}}|ie=ei|ua=ai|uo=oi|ei=ii|oi=oi|yä|iä=äi|yö=öi|uu=ui|ii=ii}}jen |{{#invoke:string/templates|sub|{{pagename}}|1|-3}}{{#switch:{{#invoke:string/templates|sub|{{pagename}}|-2|-1}}|ie=ei{{#switch:{{{1|}}}|a=ta|ä=tä|???}}|ua=aita|uo=oita|ei=ii|oi=oi{{#switch:{{{1|}}}|a=ta|ä=tä|???}}|yä|iä=äitä|yö=öitä|uu=uita|ii=ii{{#switch:{{{1|}}}|a=ta|ä=tä|???}}}} |{{#invoke:string/templates|sub|{{pagename}}|1|-3}}{{#switch:{{#invoke:string/templates|sub|{{pagename}}|-2|-1}}|ie=ei|ua=ai|uo=oi|ei=ii|oi=oi|yä|iä=äi|yö=öi|uu=ui|ii=ii}}h |{{#invoke:string/templates|sub|{{pagename}}|1|-3}}{{#switch:{{#invoke:string/templates|sub|{{pagename}}|-2|-1}}|ie=ei{{#switch:{{{1|}}}|a=ssa|ä=ssä|???}}|ua=aissa|uo=oissa|ei=ii|oi=oi{{#switch:{{{1|}}}|a=ssa|ä=ssä|???}}|yä|iä=äissä|yö=öissä|uu=uissa|ii=ii{{#switch:{{{1|}}}|a=ssa|ä=ssä|???}}}} |{{#invoke:string/templates|sub|{{pagename}}|1|-3}}{{#switch:{{#invoke:string/templates|sub|{{pagename}}|-2|-1}}|ie=ei{{#switch:{{{1|}}}|a=sta|ä=stä|???}}|ua=aista|uo=oista|ei=ii|oi=oi{{#switch:{{{1|}}}|a=sta|ä=stä|???}}|yä|iä=äistä|yö=öistä|uu=uista|ii=ii{{#switch:{{{1|}}}|a=sta|ä=stä|???}}}} |{{#invoke:string/templates|sub|{{pagename}}|1|-3}}{{#switch:{{#invoke:string/templates|sub|{{pagename}}|-2|-1}}|ie=ei{{#switch:{{{1|}}}|a=lla|ä=llä|???}}|ua=ailla|uo=oilla|ei=ii|oi=oi{{#switch:{{{1|}}}|a=lla|ä=llä|???}}|yä|iä=äillä|yö=öillä|uu=uilla|ii=ii{{#switch:{{{1|}}}|a=lla|ä=llä|???}}}} |{{#invoke:string/templates|sub|{{pagename}}|1|-3}}{{#switch:{{#invoke:string/templates|sub|{{pagename}}|-2|-1}}|ie=ei{{#switch:{{{1|}}}|a=lta|ä=ltä|???}}|ua=ailta|uo=oilta|ei=ii|oi=oi{{#switch:{{{1|}}}|a=lta|ä=ltä|???}}|yä|iä=äiltä|yö=öiltä|uu=uilta|ii=ii{{#switch:{{{1|}}}|a=lta|ä=ltä|???}}}} |{{#invoke:string/templates|sub|{{pagename}}|1|-3}}{{#switch:{{#invoke:string/templates|sub|{{pagename}}|-2|-1}}|ie=ei|ua=ai|uo=oi|ei=ii|oi=oi|yä|iä=äi|yö=öi|uu=ui|ii=ii}}ksi |{{#invoke:string/templates|sub|{{pagename}}|1|-3}}{{#switch:{{#invoke:string/templates|sub|{{pagename}}|-2|-1}}|ie=ei{{#switch:{{{1|}}}|a=na|ä=nä|???}}|ua=aina|uo=oina|ei=ii|oi=oi{{#switch:{{{1|}}}|a=na|ä=nä|???}}|yä|iä=äinä|yö=öinä|uu=uina|ii=ii{{#switch:{{{1|}}}|a=na|ä=nä|???}}}} |{{#invoke:string/templates|sub|{{pagename}}|1|-3}}{{#switch:{{#invoke:string/templates|sub|{{pagename}}|-2|-1}}|ie=ei|ua=ai|uo=oi|ei=ii|oi=oi|yä|iä=äi|yö=öi|uu=ui|ii=ii}}neh |{{#invoke:string/templates|sub|{{pagename}}|1|-3}}{{#switch:{{#invoke:string/templates|sub|{{pagename}}|-2|-1}}|ie=ei{{#switch:{{{1|}}}|a=tta|ä=ttä|???}}|ua=aitta|uo=oitta|ei=ii|oi=oi{{#switch:{{{1|}}}|a=tta|ä=ttä|???}}|yä|iä=äittä|yö=öittä|uu=uitta|ii=ii{{#switch:{{{1|}}}|a=tta|ä=ttä|???}}}} |- |{{#invoke:string/templates|sub|{{pagename}}|1|-3}}{{#switch:{{#invoke:string/templates|sub|{{pagename}}|-2|-1}}|ie=ein|ua=ain|uo=oin|ei=ii|oi=oin|yä|iä=äin|yö=öin|uu=uin|ii=iin}} }}<noinclude>{{tcat|nomdecl:6}}</noinclude> sv017ieml2bexbj57hff635qt8oxvfx Bản mẫu:R:krl:Kondie:2022 10 421335 2573272 2026-10-24T14:27:56Z Hiyuune 50834 Trang mới: “{{#invoke:quote|call_template |template=cite-book |title=Karjalan Kieli |author=Tuomo Kondie |author2=Eeva-Kaisa Linna |author3=Anneli Sarhimaa |year=2022 |isbn=978-952-7193-76-1 |pageparam=page }}<noinclude>{{refcat}}</noinclude>” 2573272 wikitext text/x-wiki {{#invoke:quote|call_template |template=cite-book |title=Karjalan Kieli |author=Tuomo Kondie |author2=Eeva-Kaisa Linna |author3=Anneli Sarhimaa |year=2022 |isbn=978-952-7193-76-1 |pageparam=page }}<noinclude>{{refcat}}</noinclude> bzt6g72fmkkevwchn1hg7kvmwdljthc Bản mẫu:izh-decl/maa 10 421336 2573273 2026-10-24T14:30:21Z Hiyuune 50834 Trang mới: “<includeonly>{{#invoke:izh-decl|show|maa}}</includeonly><noinclude><!-- -->{{izh-decl/maa|title=maa}}{{documentation}}<!-- --></noinclude>” 2573273 wikitext text/x-wiki <includeonly>{{#invoke:izh-decl|show|maa}}</includeonly><noinclude><!-- -->{{izh-decl/maa|title=maa}}{{documentation}}<!-- --></noinclude> bwewxhi3vb0t0ewhxn5ddmnrrhxn339 ca nương 0 421337 2573276 2026-10-24T23:22:57Z TheHighFighter2 42988 Trang mới: “=={{langname|vi}}== ==={{ĐM|etym}}=== {{vi-etym-sino|歌娘}}. ==={{ĐM|pron}}=== {{vi-IPA}} ==={{ĐM|n}}=== {{vi-noun}} # [[đào hát|Đào hát]] biểu diễn [[ca trù]]. #* {{quote-web|vi|date=28-9-2013|author=Bình Minh|title=Lớp ca trù toàn ả đào 9X|site=VnExpress|url=https://vnexpress.net/lop-ca-tru-toan-a-dao-9x-2884950.html|passage=Quây quần bên ấm trà nóng, đĩa bánh nướng trên chiếu hát giữa nhà, 4 '''ca nương''' trẻ thay…” 2573276 wikitext text/x-wiki =={{langname|vi}}== ==={{ĐM|etym}}=== {{vi-etym-sino|歌娘}}. ==={{ĐM|pron}}=== {{vi-IPA}} ==={{ĐM|n}}=== {{vi-noun}} # [[đào hát|Đào hát]] biểu diễn [[ca trù]]. #* {{quote-web|vi|date=28-9-2013|author=Bình Minh|title=Lớp ca trù toàn ả đào 9X|site=VnExpress|url=https://vnexpress.net/lop-ca-tru-toan-a-dao-9x-2884950.html|passage=Quây quần bên ấm trà nóng, đĩa bánh nướng trên chiếu hát giữa nhà, 4 '''ca nương''' trẻ thay nhau cất giọng.}} nk9li0rkvs9mo7pducy12pyphghy36m 2573322 2573276 2026-10-25T05:27:44Z TheHighFighter2 42988 /* Tiếng Việt */ 2573322 wikitext text/x-wiki =={{langname|vi}}== [[File:Ca trù.jpg|nhỏ|Một buổi biểu diễn ca trù gồm có '''ca nương''' hát chính gõ phách, kép chơi đàn đáy bên phải, quan viên đánh trống chầu bên trái.]] ==={{ĐM|etym}}=== {{vi-etym-sino|歌娘}}. ==={{ĐM|pron}}=== {{vi-IPA}} ==={{ĐM|n}}=== {{vi-noun}} # [[đào hát|Đào hát]] biểu diễn [[ca trù]]. #* {{quote-web|vi|date=28-9-2013|author=Bình Minh|title=Lớp ca trù toàn ả đào 9X|site=VnExpress|url=https://vnexpress.net/lop-ca-tru-toan-a-dao-9x-2884950.html|passage=Quây quần bên ấm trà nóng, đĩa bánh nướng trên chiếu hát giữa nhà, 4 '''ca nương''' trẻ thay nhau cất giọng.}} kwkwsv8v2njtjofwnog0u44hjrlhc66 2573323 2573322 2026-10-25T05:34:17Z TheHighFighter2 42988 2573323 wikitext text/x-wiki =={{langname|vi}}== [[File:Ca trù.jpg|nhỏ|Một buổi biểu diễn ca trù gồm có '''ca nương''' hát chính gõ phách, kép chơi đàn đáy bên phải, quan viên đánh trống chầu bên trái.]] ==={{ĐM|etym}}=== {{vi-etym-sino|歌娘}}. ==={{ĐM|pron}}=== {{vi-IPA}} ==={{ĐM|n}}=== {{vi-noun}} # [[đào hát|Đào hát]] biểu diễn [[ca trù]]. #* {{quote-web|vi|date=28-9-2013|author=Bình Minh|title=Lớp ca trù toàn ả đào 9X|site=VnExpress|url=https://vnexpress.net/lop-ca-tru-toan-a-dao-9x-2884950.html|passage=Quây quần bên ấm trà nóng, đĩa bánh nướng trên chiếu hát giữa nhà, 4 '''ca nương''' trẻ thay nhau cất giọng.}} {{C|vi|Nghệ sĩ âm nhạc}} 64x748hv9uoai25rd83oef6mb0ov9xd dekabrʹa 0 421338 2573277 2026-10-25T00:38:25Z Hiyuune 50834 /* */ 2573277 wikitext text/x-wiki =={{langname|krl}}== {{krl-regional|-|[[dekabrʹa]]<br />[[dekabri]]}} {{enum|krl|nojabrʹa|janvari}} ==={{section|alt}}=== * {{alter|krl|dekabri}} ==={{section|etym}}=== Vay mượn từ {{bor|krl|ru|декабрь}}. ==={{section|pron}}=== * {{IPA|krl|/ˈdʲekɑbrʲɑ/}} * {{hyph|krl|de|ka|brʹa}} ==={{section|n}}=== {{krl-noun|dekabrʹan|dekabrʹua}} # {{lb|krl|Nam Karelia}} [[tháng Mười hai]] ===={{section|decl}}==== {{krl-decl-T/kala|rʹ|rʹ}} {{krl-decl-poss}} ===={{section|syn}}==== * {{l|krl|talvikuu}} ==={{section|ref}}=== * {{R:krl:Punzhina:1994|+}} {{C|krl|Tháng}} 9yxfvbvhu9ysynsw2s8ptrjld0kmxl9 Bản mẫu:krl-decl-T/risti 10 421339 2573278 2026-10-25T00:51:54Z Hiyuune 50834 /* */ 2573278 wikitext text/x-wiki {{krl-decl-table|d=T|n={{{n|}}}|type=loại 2/{{m|krl|risti}}, {{#ifeq:{{{1}}}|{{{2}}}|không luân phiên nguyên âm|luân phiên nguyên âm {{{1}}}-{{{2}}}}} <!-- singular --> |{{#invoke:string/templates|sub|{{pagename}}|1|-{{#expr:{{#invoke:string/templates|len|{{{1}}}}}+2}}}}{{{1}}}{{#switch:{{{3|}}}|a=i|ä=i|???}} |{{#invoke:string/templates|sub|{{pagename}}|1|-{{#expr:{{#invoke:string/templates|len|{{{1}}}}}+2}}}}{{{2}}}{{#switch:{{{3|}}}|a=in|ä=in|???}} |{{#invoke:string/templates|sub|{{pagename}}|1|-{{#expr:{{#invoke:string/templates|len|{{{1}}}}}+2}}}}{{{1}}}{{#switch:{{{3|}}}|a=ie|ä=ie|???}} |{{#invoke:string/templates|sub|{{pagename}}|1|-{{#expr:{{#invoke:string/templates|len|{{{1}}}}}+2}}}}{{{1}}}{{#switch:{{{3|}}}|a=ih|ä=ih|???}} |{{#invoke:string/templates|sub|{{pagename}}|1|-{{#expr:{{#invoke:string/templates|len|{{{1}}}}}+2}}}}{{{2}}}{{#switch:{{{3|}}}|a=issa|ä=issä|???}} |{{#invoke:string/templates|sub|{{pagename}}|1|-{{#expr:{{#invoke:string/templates|len|{{{1}}}}}+2}}}}{{{2}}}{{#switch:{{{3|}}}|a=ista|ä=istä|???}} |{{#invoke:string/templates|sub|{{pagename}}|1|-{{#expr:{{#invoke:string/templates|len|{{{1}}}}}+2}}}}{{{2}}}{{#switch:{{{3|}}}|a=illa|ä=illä|???}} |{{#invoke:string/templates|sub|{{pagename}}|1|-{{#expr:{{#invoke:string/templates|len|{{{1}}}}}+2}}}}{{{2}}}{{#switch:{{{3|}}}|a=ilda|ä=ildä|???}} |{{#invoke:string/templates|sub|{{pagename}}|1|-{{#expr:{{#invoke:string/templates|len|{{{1}}}}}+2}}}}{{{2}}}{{#switch:{{{3|}}}|a=iksi|ä=iksi|???}} |{{#invoke:string/templates|sub|{{pagename}}|1|-{{#expr:{{#invoke:string/templates|len|{{{1}}}}}+2}}}}{{{1}}}{{#switch:{{{3|}}}|a=ina|ä=inä|???}} |{{#invoke:string/templates|sub|{{pagename}}|1|-{{#expr:{{#invoke:string/templates|len|{{{1}}}}}+2}}}}{{{2}}}{{#switch:{{{3|}}}|a=inke|ä=inke|???}} |{{#invoke:string/templates|sub|{{pagename}}|1|-{{#expr:{{#invoke:string/templates|len|{{{1}}}}}+2}}}}{{{2}}}{{#switch:{{{3|}}}|a=itta|ä=ittä|???}} |{{#invoke:string/templates|sub|{{pagename}}|1|-{{#expr:{{#invoke:string/templates|len|{{{1}}}}}+2}}}}{{{2}}}{{#switch:{{{3|}}}|a=ičči|ä=ičči|???}} <!-- plural --> |{{#invoke:string/templates|sub|{{pagename}}|1|-{{#expr:{{#invoke:string/templates|len|{{{1}}}}}+2}}}}{{{2}}}{{#switch:{{{3|}}}|a=it|ä=it|???}} |{{#invoke:string/templates|sub|{{pagename}}|1|-{{#expr:{{#invoke:string/templates|len|{{{1}}}}}+2}}}}{{{1}}}{{#switch:{{{3|}}}|a=iloin|ä=ilöin|???}} |{{#invoke:string/templates|sub|{{pagename}}|1|-{{#expr:{{#invoke:string/templates|len|{{{1}}}}}+2}}}}{{{1}}}{{#switch:{{{3|}}}|a=iloida|ä=ilöidä|???}} |{{#invoke:string/templates|sub|{{pagename}}|1|-{{#expr:{{#invoke:string/templates|len|{{{1}}}}}+2}}}}{{{1}}}{{#switch:{{{3|}}}|a=iloih|ä=ilöih|???}} |{{#invoke:string/templates|sub|{{pagename}}|1|-{{#expr:{{#invoke:string/templates|len|{{{1}}}}}+2}}}}{{{1}}}{{#switch:{{{3|}}}|a=iloissa|ä=ilöissä|???}} |{{#invoke:string/templates|sub|{{pagename}}|1|-{{#expr:{{#invoke:string/templates|len|{{{1}}}}}+2}}}}{{{1}}}{{#switch:{{{3|}}}|a=iloista|ä=ilöistä|???}} |{{#invoke:string/templates|sub|{{pagename}}|1|-{{#expr:{{#invoke:string/templates|len|{{{1}}}}}+2}}}}{{{1}}}{{#switch:{{{3|}}}|a=iloilla|ä=ilöillä|???}} |{{#invoke:string/templates|sub|{{pagename}}|1|-{{#expr:{{#invoke:string/templates|len|{{{1}}}}}+2}}}}{{{1}}}{{#switch:{{{3|}}}|a=iloilda|ä=ilöildä|???}} |{{#invoke:string/templates|sub|{{pagename}}|1|-{{#expr:{{#invoke:string/templates|len|{{{1}}}}}+2}}}}{{{1}}}{{#switch:{{{3|}}}|a=iloiksi|ä=ilöiksi|???}} |{{#invoke:string/templates|sub|{{pagename}}|1|-{{#expr:{{#invoke:string/templates|len|{{{1}}}}}+2}}}}{{{1}}}{{#switch:{{{3|}}}|a=iloina|ä=ilöinä|???}} |{{#invoke:string/templates|sub|{{pagename}}|1|-{{#expr:{{#invoke:string/templates|len|{{{1}}}}}+2}}}}{{{1}}}{{#switch:{{{3|}}}|a=iloinke|ä=ilöinke|???}} |{{#invoke:string/templates|sub|{{pagename}}|1|-{{#expr:{{#invoke:string/templates|len|{{{1}}}}}+2}}}}{{{1}}}{{#switch:{{{3|}}}|a=iloitta|ä=ilöittä|???}} |{{#invoke:string/templates|sub|{{pagename}}|1|-{{#expr:{{#invoke:string/templates|len|{{{1}}}}}+2}}}}{{{1}}}{{#switch:{{{3|}}}|a=iloičči|ä=ilöičči|???}} |{{#invoke:string/templates|sub|{{pagename}}|1|-{{#expr:{{#invoke:string/templates|len|{{{1}}}}}+2}}}}{{{1}}}{{#switch:{{{3|}}}|a=iloin|ä=ilöin|???}} }}<noinclude>{{tcat|nomdecl:2}}</noinclude> f3oe3e3n8jevt3yretz1kqmtubdpc4j janvari 0 421340 2573279 2026-10-25T00:52:41Z Hiyuune 50834 /* */ 2573279 wikitext text/x-wiki =={{langname|izh}}== {{enum|izh|dekabri|fevrali|Tên tháng}} ==={{section|etym}}=== Vay mượn từ {{bor|izh|ru|январь}}. ==={{section|pron}}=== * {{izh-p}} ==={{section|n}}=== {{head|izh|Danh từ}} # [[tháng Một]]. ===={{section|decl}}==== {{izh-decl/vahti|r|r}} ===={{section|syn}}==== * {{q|không còn dùng}} {{l|izh|syänkuu}} ===={{section|drv}}==== {{col4|izh |janvarikuu}} ==={{section|ref}}=== * {{R:izh:Nirvi:1971|page=103}} {{C|izh|Tháng}} =={{langname|krl}}== {{krl-regional|-|janvari}} {{enum|krl|dekabrʹa|feurali|Tháng trong năm}} ==={{section|etym}}=== Vay mượn từ {{bor|krl|ru|январь}}. ==={{section|pron}}=== * {{IPA|krl|/ˈjɑnʋɑrʲi/}} * {{hyph|krl|jan|va|ri}} ==={{section|n}}=== {{krl-noun|janvarin|janvarie}} # {{lb|krl|Nam Karelia}} [[tháng Một]]. ===={{section|decl}}==== {{krl-decl-T/risti|r|r|a}} {{krl-decl-poss}} ===={{section|syn}}==== * {{q|Bắc Karelia}} {{l|krl|pakkaiskuu}}, {{q|phương ngữ}} {{l|krl|tammikuu}}, {{q|Nam Karelia}} {{l|krl|pakkaškuu}}, {{q|phương ngữ}} {{l|krl|tammikuu}} ==={{section|ref}}=== * {{R:krl:Punzhina:1994|+}} {{C|krl|Tháng}} =={{langname|vot}}== ==={{section|etym}}=== Vay mượn từ {{bor|vot|ru|янва́рь}}. ==={{section|pron}}=== {{vot-p|jan*vari}} ==={{section|n}}=== {{head|vot|Danh từ}} # [[tháng Một]]. ===={{section|infl}}==== {{vot-decl/võrkko|||s=2}} ==={{section|ref}}=== * {{R:vot:VKS|janvari}} {{C|vot|Tháng}} 2pbmn3qd1idtv8iz0hbfvpl2hz1tx03 feurali 0 421341 2573280 2026-10-25T01:13:22Z Hiyuune 50834 /* */ 2573280 wikitext text/x-wiki =={{langname|krl}}== {{krl-regional|-|feurali}} {{enum|krl|janvari|marta|Tháng trong năm}} ==={{section|etym}}=== Vay mượn từ {{bor|krl|ru|февраль}}. ==={{section|pron}}=== * {{IPA|krl|/ˈfeu̯rɑlʲi/}} * {{hyph|krl|feu|ra|li}} ==={{section|n}}=== {{krl-noun|feuralin|feuralie}} # {{lb|krl|Nam Karelia}} [[tháng Hai]]. ===={{section|decl}}==== {{krl-decl-T/risti|l|l|a}} {{krl-decl-poss}} ===={{section|syn}}==== * {{q|Bắc Karelia}} {{l|krl|tuiskukuu}}, {{q|Nam Karelia}} {{l|krl|tuulikuu}} ==={{section|ref}}=== * {{R:krl:Punzhina:1994|+}} {{C|krl|Tháng}} 4z072giisfkn3cncgqcn2m6wv2to55g aprelʹa 0 421342 2573283 2026-10-25T01:19:48Z Hiyuune 50834 Trang mới: “=={{langname|krl}}== {{krl-regional|-|aprelʹa}} {{enum|krl|marta|mai|Tháng trong năm}} ==={{section|etym}}=== Vay mượn từ {{bor|krl|ru|апрель}}. ==={{section|pron}}=== * {{IPA|krl|/ˈɑprʲelʲɑ/}} * {{hyph|krl|a|pre|lʹa}} ==={{section|n}}=== {{krl-noun|aprelʹan|aprelʹua}} # {{lb|krl|Nam Karelia}} [[tháng Tư]]. ===={{section|decl}}==== {{krl-decl-T/kala|lʹ|lʹ}} {{krl-decl-poss}} ===={{section|syn}}==== * {{l|krl|šulakuu}} ==={{section|ref}}==…” 2573283 wikitext text/x-wiki =={{langname|krl}}== {{krl-regional|-|aprelʹa}} {{enum|krl|marta|mai|Tháng trong năm}} ==={{section|etym}}=== Vay mượn từ {{bor|krl|ru|апрель}}. ==={{section|pron}}=== * {{IPA|krl|/ˈɑprʲelʲɑ/}} * {{hyph|krl|a|pre|lʹa}} ==={{section|n}}=== {{krl-noun|aprelʹan|aprelʹua}} # {{lb|krl|Nam Karelia}} [[tháng Tư]]. ===={{section|decl}}==== {{krl-decl-T/kala|lʹ|lʹ}} {{krl-decl-poss}} ===={{section|syn}}==== * {{l|krl|šulakuu}} ==={{section|ref}}=== * {{R:krl:Punzhina:1994|+}} {{C|krl|Tháng}} fylom2qfkfcuuu2xie090ke8canqqse ijunʹa 0 421343 2573285 2026-10-25T01:29:38Z Hiyuune 50834 /* */ 2573285 wikitext text/x-wiki =={{langname|krl}}== {{krl-regional|-|ijunʹa}} {{enum|krl|mai|ijulʹa|Tháng trong năm}} ==={{section|etym}}=== Vay mượn từ {{bor|krl|ru|июнь}}. ==={{section|pron}}=== * {{IPA|krl|/ˈijunʲɑ/}} * {{hyph|krl|i|ju|nʹa}} ==={{section|n}}=== {{krl-noun|ijunʹan|ijunʹua}} # {{lb|krl|Nam Karelia}} [[tháng Sáu]]. ===={{section|decl}}==== {{krl-decl-T/kala|nʹ|nʹ}} {{krl-decl-poss}} ===={{section|syn}}==== * {{q|Bắc Karelia}} {{l|krl|kešäkuu}}, {{q|Nam Karelia}} {{l|krl|kežäkuu}} ==={{section|ref}}=== * {{R:krl:Punzhina:1994|+}} {{C|krl|Tháng}} ka0zzlejcx3fyl7dcb7lqayoj6nhq1g ijulʹa 0 421344 2573286 2026-10-25T01:39:26Z Hiyuune 50834 /* */ 2573286 wikitext text/x-wiki =={{langname|krl}}== {{krl-regional|-|ijulʹa}} {{enum|krl|ijunʹa|augusta|Tháng trong năm}} ==={{section|etym}}=== Vay mượn từ {{bor|krl|ru|июль}}. ==={{section|pron}}=== * {{IPA|krl|/ˈijulʲɑ/}} * {{hyph|krl|i|ju|lʹa}} ==={{section|n}}=== {{krl-noun|ijulʹan|ijulʹua}} # {{lb|krl|Nam Karelia}} [[tháng Bảy]]. ===={{section|decl}}==== {{krl-decl-T/kala|lʹ|lʹ}} {{krl-decl-poss}} ===={{section|syn}}==== * {{l|krl|heinäkuu}} ==={{section|ref}}=== * {{R:krl:Punzhina:1994|+}} {{C|krl|Tháng}} iecf2dfuql6eo0n1a0pxqid6a48noqj senʹtʹabri 0 421345 2573287 2026-10-25T01:43:50Z Hiyuune 50834 /* */ 2573287 wikitext text/x-wiki =={{langname|krl}}== {{krl-regional|-|senʹtʹabri}} {{enum|krl|augusta|oktʹabrʹa}} ==={{section|etym}}=== Vay mượn từ {{bor|krl|ru|сентябрь}}. ==={{section|pron}}=== * {{IPA|krl|/ˈsʲenʲtʲɑbrʲi/}} * {{hyph|krl|senʹ|tʹa|bri}} ==={{section|n}}=== {{krl-noun|senʹtʹabrin|senʹtʹabrie}} # {{lb|krl|Nam Karelia}} [[tháng Chín]]. ===={{section|decl}}==== {{krl-decl-T/risti|r|r|a}} {{krl-decl-poss}} ===={{section|syn}}==== * {{q|Bắc Karelia}} {{l|krl|šyyškuu}}, {{q|Nam Karelia}} {{l|krl|šygyžkuu}} ==={{section|ref}}=== * {{R:krl:Punzhina:1994|+}} anbvuybpvxbtiao0a15wd9xmci3yo2d oktʹabrʹa 0 421346 2573288 2026-10-25T01:50:11Z Hiyuune 50834 /* */ 2573288 wikitext text/x-wiki =={{langname|krl}}== {{krl-regional|-|oktʹabrʹa}} {{enum|krl|senʹtʹabri|nojabrʹa}} ==={{section|etym}}=== Vay mượn từ {{bor|krl|ru|октябрь}}. ==={{section|pron}}=== * {{IPA|krl|/ˈoktʲɑbrʲɑ/}} * {{hyph|krl|ok|tʹa|brʹa}} ==={{section|n}}=== {{krl-noun|oktʹabrʹan|oktʹabrʹua}} # {{lb|krl|Nam Karelia}} [[tháng Mười]]. ===={{section|decl}}==== {{krl-decl-T/kala|rʹ|rʹ}} {{krl-decl-poss}} ===={{section|syn}}==== * {{q|Bắc Karelia}} {{l|krl|šajekuu}}, {{q|Nam Karelia}} {{l|krl|vihmakuu}}, {{q|phương ngữ}} {{l|krl|ligakuu}} ==={{section|ref}}=== * {{R:krl:Punzhina:1994|+}} {{C|krl|Tháng}} 7gajhr6unjoggjhoag9q4uln5033op1 麻醉劑 0 421347 2573289 2026-10-25T01:52:52Z Hiyuune 50834 /* */ 2573289 wikitext text/x-wiki {{also|痲醉劑|麻酔剤|麻醉剂}} =={{langname|zh}}== {{zh-forms|s=麻醉剂|type=21}} ==={{section|pron}}=== {{zh-pron |m=mázuìjì |c=maa4 zeoi3 zai1 |cat=n }} ==={{section|n}}=== {{head|zh|Danh từ}} # [[ma túy]]. bt5458s0wlv03ikr79nl35967ro7a9o 麻醉剂 0 421348 2573290 2026-10-25T01:54:35Z Hiyuune 50834 /* */ 2573290 wikitext text/x-wiki {{also|麻醉劑|痲醉劑|麻酔剤}} =={{langname|zh}}== {{zh-see|麻醉劑}} ti57rlei2v1zhsik4xu82vb3fxcou3p 剂 0 421349 2573291 2026-10-25T01:56:23Z Hiyuune 50834 /* */ 2573291 wikitext text/x-wiki {{also|劑}} {{character info}} =={{langname|mul}}== {{Han simplified forms|劑|剤|剂}} ==={{section|han}}=== {{Han char|rn=18|rad=刀|as=06|sn=8|four=|canj=YLLN|ids=⿰齐刂}} ===={{section|ref}}==== * {{Han ref|kx=0139.251|hdz=10336.140|uh=5242}} =={{langname|zh}}== {{zh-see|劑}} 27n6wq5hnqrkamb8h2u0ftsawp96z4e 剁 0 421350 2573292 2026-10-25T02:02:54Z Hiyuune 50834 Trang mới: “{{also|刴}} {{character info}} =={{langname|mul}}== ==={{section|han}}=== {{Han char|rn=18|rad=刀|as=06|sn=8|four=72900|canj=HDLN,XHDLN|ids=⿰朵刂}} ===={{section|ref}}==== * {{Han ref|kx=0139.251|dj=0315.070|hdz=10338.020|uh=5241}}” 2573292 wikitext text/x-wiki {{also|刴}} {{character info}} =={{langname|mul}}== ==={{section|han}}=== {{Han char|rn=18|rad=刀|as=06|sn=8|four=72900|canj=HDLN,XHDLN|ids=⿰朵刂}} ===={{section|ref}}==== * {{Han ref|kx=0139.251|dj=0315.070|hdz=10338.020|uh=5241}} irql739nefxryahmmz3978evmjcenqk 刿 0 421351 2573294 2026-10-25T02:07:04Z Hiyuune 50834 Trang mới: “{{also|劌}} {{character info}} =={{langname|mul}}== ==={{sect|han}}=== {{Han char|rn=18|rad=刀|as=06|sn=8|four=|canj=UNLN|ids=⿰岁刂}} ===={{sect|ref}}==== * {{Han ref|kx=0139.251|hdz=10334.080|uh=523F}} =={{langname|zh}}== {{zh-see|劌}}” 2573294 wikitext text/x-wiki {{also|劌}} {{character info}} =={{langname|mul}}== ==={{sect|han}}=== {{Han char|rn=18|rad=刀|as=06|sn=8|four=|canj=UNLN|ids=⿰岁刂}} ===={{sect|ref}}==== * {{Han ref|kx=0139.251|hdz=10334.080|uh=523F}} =={{langname|zh}}== {{zh-see|劌}} rk7d8w6pemvlhmbc3bmrvv1w5ushnyg 刾 0 421352 2573295 2026-10-25T02:08:24Z Hiyuune 50834 Trang mới: “{{character info}} =={{langname|mul}}== ==={{section|han}}=== {{Han char|rn=18|rad=刀|as=06|sn=8|four=|canj=KTLN|ids=⿰夹刂}} ===={{section|derived characters}}==== * {{l|mul|[[𧌥]]}} ===={{section|ref}}==== * {{Han ref|kx=0139.251|hdz=10333.041|uh=523E}} =={{langname|zh}}== ==={{section|glyph origin}}=== {{Han simp|㓨|f=夾|t=夹}}. ==={{section|dfn}}=== {{zh-see|㓨}}” 2573295 wikitext text/x-wiki {{character info}} =={{langname|mul}}== ==={{section|han}}=== {{Han char|rn=18|rad=刀|as=06|sn=8|four=|canj=KTLN|ids=⿰夹刂}} ===={{section|derived characters}}==== * {{l|mul|[[𧌥]]}} ===={{section|ref}}==== * {{Han ref|kx=0139.251|hdz=10333.041|uh=523E}} =={{langname|zh}}== ==={{section|glyph origin}}=== {{Han simp|㓨|f=夾|t=夹}}. ==={{section|dfn}}=== {{zh-see|㓨}} bg4xkpmoxohrhms7g48q43e2w2wdd0o 𧌥 0 421353 2573296 2026-10-25T02:09:57Z Hiyuune 50834 /* */ 2573296 wikitext text/x-wiki {{character info}} =={{langname|mul}}== ==={{section|han}}=== {{Han char|rn=142|rad=虫|as=8|sn=14|four=|canj=|ids=⿰虫刾}} ===={{section|ref}}==== * {{Han ref|kx=1088.250|dkj=|dj=|hdz=42861.020|uh=27325}} 14533rdv0hb9zsjo8tkmv22u82svl80 刽 0 421354 2573297 2026-10-25T02:15:21Z Hiyuune 50834 Trang mới: “{{also|劊}} {{character info}} =={{langname|mul}}== ==={{section|han}}=== {{Han char|rn=18|rad=刀|as=06|sn=8|four=|canj=OILN|ids=⿰会刂}} ===={{section|ref}}==== * {{Han ref|kx=0139.251|dkj=01988|dj=0317.030|hdz=10336.060|uh=523D}} =={{langname|ja}}== ==={{section|kanji}}=== {{ja-kanji|grade=|rs=刀06|kyu=劊}} # {{lb|ja|shinjitai mở rộng}} {{alternative form of|ja|劊}} ===={{section|reading}}==== * {{ja-readings|on=かい,け,かつ|kun=たつ}} =={{lang…” 2573297 wikitext text/x-wiki {{also|劊}} {{character info}} =={{langname|mul}}== ==={{section|han}}=== {{Han char|rn=18|rad=刀|as=06|sn=8|four=|canj=OILN|ids=⿰会刂}} ===={{section|ref}}==== * {{Han ref|kx=0139.251|dkj=01988|dj=0317.030|hdz=10336.060|uh=523D}} =={{langname|ja}}== ==={{section|kanji}}=== {{ja-kanji|grade=|rs=刀06|kyu=劊}} # {{lb|ja|shinjitai mở rộng}} {{alternative form of|ja|劊}} ===={{section|reading}}==== * {{ja-readings|on=かい,け,かつ|kun=たつ}} =={{langname|zh}}== {{zh-see|劊}} e1ol9jqy24mrb9yz6jm1xgevvire6xc 刼 0 421355 2573298 2026-10-25T02:21:03Z Hiyuune 50834 Trang mới: “{{also|劫}} {{character info}} =={{langname|mul}}== ==={{section|han}}=== {{Han char|rn=18|rad=刀|as=06|sn=8|four=|canj=GISHI,GISK|ids=⿰去刃}} ===={{section|derived characters}}==== * {{charlist|𠉨㥘𫽅𳀸}}, {{charlist|𨧶𬐼𡮊𪠱}} ===={{section|ref}}==== * {{Han ref|kx=0139.251|dkj=01987|dj=0317.020|hdz=10332.070|uh=523C}} =={{langname|vi}}== ==={{section|han}}=== {{vi-readings |rs=刀06 |hanviet=kiếp-tdcndg;tdcntd;gdhn;dtdcn;btcn;tchvtd |nom=cư…” 2573298 wikitext text/x-wiki {{also|劫}} {{character info}} =={{langname|mul}}== ==={{section|han}}=== {{Han char|rn=18|rad=刀|as=06|sn=8|four=|canj=GISHI,GISK|ids=⿰去刃}} ===={{section|derived characters}}==== * {{charlist|𠉨㥘𫽅𳀸}}, {{charlist|𨧶𬐼𡮊𪠱}} ===={{section|ref}}==== * {{Han ref|kx=0139.251|dkj=01987|dj=0317.020|hdz=10332.070|uh=523C}} =={{langname|vi}}== ==={{section|han}}=== {{vi-readings |rs=刀06 |hanviet=kiếp-tdcndg;tdcntd;gdhn;dtdcn;btcn;tchvtd |nom=cướp-tdcndg;tdcntd;gdhn;btcn, kép-tdcndg;dtdcn}} # Biến thể của {{m|vi|劫}}. # {{vi-Nom form of|cướp}} # {{vi-Nom form of|kép}} ==={{section|ref}}=== {{reflist}} {{cln|vi|Ký tự biến thể}} =={{langname|ja}}== ==={{section|kanji}}=== {{ja-kanji|grade=|rs=刀06}} # {{rfdef|ja|sort=刀06}} ===={{section|reading}}==== * {{ja-readings|on=きょう|kun=}} =={{langname|zh}}== {{zh-see|劫|v}} pxyceowexnhmje0igaeyzfn46cykmcd nojabrʹa 0 421356 2573299 2026-10-25T02:30:53Z Hiyuune 50834 /* */ 2573299 wikitext text/x-wiki =={{langname|krl}}== {{krl-regional|-|nojabrʹa}} {{enum|krl|oktʹabrʹa|dekabrʹa|Tháng trong năm}} ==={{section|etym}}=== Vay mượn từ {{bor|krl|ru|ноябрь}}. ==={{section|pron}}=== * {{IPA|krl|/ˈnojɑbrʲɑ/}} * {{hyph|krl|no|ja|brʹa}} ==={{section|n}}=== {{krl-noun|nojabrʹan|nojabrʹua}} # {{lb|krl|Nam Karelia}} [[tháng Mười một]]. ===={{section|decl}}==== {{krl-decl-T/kala|rʹ|rʹ}} {{krl-decl-poss}} ===={{section|syn}}==== * {{l|krl|pimiekuu}} ==={{section|ref}}=== * {{R:krl:Punzhina:1994|+}} {{C|krl|Tháng}} gu251jnlp5l32qe11mrv2kicwm2k5h7 märtekuu 0 421357 2573300 2026-10-25T02:35:27Z Hiyuune 50834 /* */ 2573300 wikitext text/x-wiki =={{langname|vro}}== ==={{section|alt}}=== * {{l|vro|märdikuu}} ==={{section|etym}}=== {{rfe|vro}} ==={{section|n}}=== {{vro-noun|märtekuu|märtekuud}} # [[tháng Mười một]]. ===={{section|infl}}==== {{vro-decl-stems|a|märtekuu|märtekuu|märtekuud|märtekuuhõ|ill_sg2=märtekuuhtõ|märtekuiõ|märtekuid|märtekuihõ|ill_pl2=märtekuihtõ|märtekui}} ==={{section|see}}=== {{list:lịch Gregorius theo tháng/vro}} ls0u56x26zab4p8rsuo3mwjruhmo48y federasiýa 0 421358 2573301 2026-10-25T02:40:29Z Hiyuune 50834 /* */ + tk 2573301 wikitext text/x-wiki =={{langname|tk}}== ==={{section|etym}}=== {{ety|tk|:bor|ru:федера́ция|tree=1}} ==={{section|n}}=== {{tk-noun|ny|lar}} # [[liên bang]]. ===={{section|decl}}==== {{tk-decl-noun-auto|a|v}} gtrvvip4potu5jvopgbw7edfzgar4pg ဖယ်ဒရေးရှင်း 0 421359 2573304 2026-10-25T02:54:15Z Hiyuune 50834 + my 2573304 wikitext text/x-wiki =={{langname|my}}== ==={{section|etym}}=== Vay mượn từ {{bor|my|en|federation}}. ==={{section|pron}}=== * {{my-IPA|ဖယ်ဒ'*ရေးရှင်း}} ==={{section|n}}=== {{my-noun}} # [[liên bang]]. ===={{section|syn}}==== * {{l|my|အဖွဲ့ချုပ်}} izu68ixdfpm181ec652i3e8y04odjt9 小腦 0 421360 2573308 2026-10-25T03:50:25Z Kelly zhrm 58416 Trang mới: “{{also|小脑|小脳}} =={{langname|vi}}== {{vi-hantutab}} ==={{ĐM|n}}=== {{vi-noun|sc=Hani}} # {{vi-Han form of|tiểu não}} =={{langname|ja}}== {{ja-kanjitab|しょう|のう|yomi=o}} {{ja-see|小脳}} =={{langname|ko}}== {{ko-hanjatab}} ==={{ĐM|n}}=== {{ko-noun|hangeul=소뇌}} # {{hanja form of|소뇌|[[tiểu não]]}} =={{langname|zh}}== {{zh-forms|s=小脑|lit=[[não]] [[nhỏ]]}} {{wp|zh:}} ==={{ĐM|pron}}=== {{zh-pron |m=xiǎonǎo |c=siu2 nou5 |mn=xm,tw…” 2573308 wikitext text/x-wiki {{also|小脑|小脳}} =={{langname|vi}}== {{vi-hantutab}} ==={{ĐM|n}}=== {{vi-noun|sc=Hani}} # {{vi-Han form of|tiểu não}} =={{langname|ja}}== {{ja-kanjitab|しょう|のう|yomi=o}} {{ja-see|小脳}} =={{langname|ko}}== {{ko-hanjatab}} ==={{ĐM|n}}=== {{ko-noun|hangeul=소뇌}} # {{hanja form of|소뇌|[[tiểu não]]}} =={{langname|zh}}== {{zh-forms|s=小脑|lit=[[não]] [[nhỏ]]}} {{wp|zh:}} ==={{ĐM|pron}}=== {{zh-pron |m=xiǎonǎo |c=siu2 nou5 |mn=xm,tw:sió-náu |cat=n }} ==={{ĐM|n}}=== {{head|zh|Danh từ}} # {{lb|zh|neuroanatomy}} [[tiểu não|Tiểu não]]. ===={{ĐM|coordinate}}==== * {{zh-l|大腦}} ===={{ĐM|drv}}==== {{col3|zh|小腦萎縮}} i35bw0mw1d6hz7o7afrdbnubk7eh5xo 小脑 0 421361 2573309 2026-10-25T03:50:59Z Kelly zhrm 58416 Trang mới: “{{also|小腦}} =={{langname|zh}}== {{zh-see|小腦}}” 2573309 wikitext text/x-wiki {{also|小腦}} =={{langname|zh}}== {{zh-see|小腦}} qr57miczb5cmuekvq8wi2ei3837ggq8 mýdlo 0 421362 2573310 2026-10-25T03:56:59Z Kelly zhrm 58416 Trang mới: “{{also|mydlo|mydło}} =={{langname|cs}}== {{wp|cs:}} ==={{ĐM|alt}}=== * {{alt|cs|mejdlo||informal}} ==={{ĐM|etym}}=== {{inh+|cs|zlw-ocs|mýdlo}}, từ {{inh|cs|sla-pro|*mydlo}}. {{surf|cs|mýt|-dlo}}. ==={{ĐM|pron}}=== * {{cs-IPA}} * {{audio|cs|Cs-mýdlo.ogg}} * {{rhymes|cs|iːdlo|s=2}} ==={{ĐM|n}}=== {{cs-noun|n|dim=mýdélko}} # [[xà phòng|Xà phòng]], [[xà bông]]. ===={{ĐM|decl}}==== {{cs-ndecl|n}} ===={{ĐM|drv}}==== {{col|cs|title=tính từ|mýdeln…” 2573310 wikitext text/x-wiki {{also|mydlo|mydło}} =={{langname|cs}}== {{wp|cs:}} ==={{ĐM|alt}}=== * {{alt|cs|mejdlo||informal}} ==={{ĐM|etym}}=== {{inh+|cs|zlw-ocs|mýdlo}}, từ {{inh|cs|sla-pro|*mydlo}}. {{surf|cs|mýt|-dlo}}. ==={{ĐM|pron}}=== * {{cs-IPA}} * {{audio|cs|Cs-mýdlo.ogg}} * {{rhymes|cs|iːdlo|s=2}} ==={{ĐM|n}}=== {{cs-noun|n|dim=mýdélko}} # [[xà phòng|Xà phòng]], [[xà bông]]. ===={{ĐM|decl}}==== {{cs-ndecl|n}} ===={{ĐM|drv}}==== {{col|cs|title=tính từ|mýdelný|mýdlový|namydlený|vymydlený}} {{col|cs|title=danh từ|mejdýlko|mýdélko|mydlárna|mýdlárna|mýdlíčko|mydlina|mydlinka}} {{col|cs|title=cụm từ|jako namydlený blesk}} {{col|cs|title=động từ|mydlit|namydlit|nenamydlit|nevymydlit|nezmýdelnatět|nezmydlit|vymydlit|zmýdelnatět|zmydlit}} ==={{ĐM|further}}=== * {{R:cs:PSJC}} * {{R:cs:SSJC}} * {{R:cs:IJP}} {{C|cs|Vệ sinh}} =={{langname|zlw-ocs}}== ==={{ĐM|etym}}=== {{ety|zlw-ocs|:inh|sla-pro:*mydlo|:af<surf>|mýti|-dlo|text=+|tree=1}} ==={{ĐM|pron}}=== * {{zlw-ocs-IPA}} ==={{ĐM|n}}=== {{zlw-ocs-noun|n}} # [[xà phòng|Xà phòng]], [[xà bông]]. ===={{ĐM|decl}}==== {{zlw-ocs-ndecl|n}} ===={{ĐM|desc}}==== * {{desc|cs|mýdlo}} ==={{ĐM|further}}=== * {{R:zlw-ocs:Gebauer}} 1p3tevt1m528rdgqilx6pbrvi01e2y7 mýdélko 0 421363 2573311 2026-10-25T03:59:47Z Kelly zhrm 58416 Trang mới: “{{also|mydełko}} =={{langname|cs}}== ==={{ĐM|etym}}=== {{ety|cs|:af|mýdlo|-ko|text=+|tree=1}} ==={{ĐM|pron}}=== * {{cs-IPA}} * {{rhymes|cs|ɛːlko}} ==={{ĐM|n}}=== {{cs-noun|n}} # {{dim of|cs|mýdlo}} ===={{ĐM|decl}}==== {{cs-ndecl|n}} ==={{ĐM|further}}=== * {{R:cs:PSJC}} * {{R:cs:SSJC}}” 2573311 wikitext text/x-wiki {{also|mydełko}} =={{langname|cs}}== ==={{ĐM|etym}}=== {{ety|cs|:af|mýdlo|-ko|text=+|tree=1}} ==={{ĐM|pron}}=== * {{cs-IPA}} * {{rhymes|cs|ɛːlko}} ==={{ĐM|n}}=== {{cs-noun|n}} # {{dim of|cs|mýdlo}} ===={{ĐM|decl}}==== {{cs-ndecl|n}} ==={{ĐM|further}}=== * {{R:cs:PSJC}} * {{R:cs:SSJC}} 02meg9c9plxux2rhz9a7vdtm3c3mk2e wɔɔ 0 421364 2573320 2026-10-25T05:05:47Z TheHighFighter2 42988 Trang mới: “{{also|Phụ lục:Biến thể của "woo"}} =={{langname|dgi}}== ==={{ĐM|pron}}=== * {{IPA|dgi|/wɔ́ɔ̀/}} ==={{ĐM|noun}}=== {{head|dgi|noun|số nhiều|wɔɔre}} # [[voi|Voi]]. ==={{ĐM|ref}}=== * Ali, Gri & Bodomo: A dictionary and grammatical sketch of Dagaare (2021). [https://refubium.fu-berlin.de/bitstream/handle/fub188/30413/A_dictionary_and_grammatical_sketch_of_Dagaare.pdf?sequence=1&isAllowed=y]” 2573320 wikitext text/x-wiki {{also|Phụ lục:Biến thể của "woo"}} =={{langname|dgi}}== ==={{ĐM|pron}}=== * {{IPA|dgi|/wɔ́ɔ̀/}} ==={{ĐM|noun}}=== {{head|dgi|noun|số nhiều|wɔɔre}} # [[voi|Voi]]. ==={{ĐM|ref}}=== * Ali, Gri & Bodomo: A dictionary and grammatical sketch of Dagaare (2021). [https://refubium.fu-berlin.de/bitstream/handle/fub188/30413/A_dictionary_and_grammatical_sketch_of_Dagaare.pdf?sequence=1&isAllowed=y] eav2iiwp6nkbl1w0g0l6h90ukb5cbgh Thể loại:Danh từ tiếng Dagara Bắc 14 421365 2573321 2026-10-25T05:06:26Z TheHighFighter2 42988 Trang mới: “{{auto cat}}” 2573321 wikitext text/x-wiki {{auto cat}} eomzlm5v4j7ond1phrju7cnue91g5qx horse racing 0 421366 2573331 2026-10-25T08:17:31Z Kelly zhrm 58416 Trang mới: “{{also|horseracing}} =={{langname|en}}== ==={{ĐM|alt}}=== * {{alt|en|horseracing}} ==={{ĐM|n}}=== {{en-noun|-}} # [[đua|Đua]] [[ngựa]]. ==={{ĐM|see}}=== * {{l|en|steeplechase}} * {{l|en|derby}} * {{l|en|horse race}} {{C|en|Đua ngựa|Thể thao}}” 2573331 wikitext text/x-wiki {{also|horseracing}} =={{langname|en}}== ==={{ĐM|alt}}=== * {{alt|en|horseracing}} ==={{ĐM|n}}=== {{en-noun|-}} # [[đua|Đua]] [[ngựa]]. ==={{ĐM|see}}=== * {{l|en|steeplechase}} * {{l|en|derby}} * {{l|en|horse race}} {{C|en|Đua ngựa|Thể thao}} 58zzjdbtdph6pts21jfpwcgearm9wp5 foederatio 0 421367 2573332 2026-10-25T09:29:47Z Hiyuune 50834 Trang mới: “=={{langname|la}}== ==={{section|etym}}=== {{ety|la|title=foederātiō|:af|foederō|-tiō|tree=1|text=+}} ==={{section|pron}}=== * {{la-IPA|foederātiō|eccl=yes}} ==={{section|n}}=== {{la-noun|foederātiō<3>}} # {{lb|la|Late Latin}} [[liên bang]], [[hiệp ước]]. ===={{section|decl}}==== {{la-ndecl|foederātiō<3>}} ===={{section|desc}}==== {{top2}} * {{desc|sq|federatë|bor=1}} * {{desc|ast|federación}} * {{desc|be|федэра́цыя|bor=1}} * {{desc|ca|fe…” 2573332 wikitext text/x-wiki =={{langname|la}}== ==={{section|etym}}=== {{ety|la|title=foederātiō|:af|foederō|-tiō|tree=1|text=+}} ==={{section|pron}}=== * {{la-IPA|foederātiō|eccl=yes}} ==={{section|n}}=== {{la-noun|foederātiō<3>}} # {{lb|la|Late Latin}} [[liên bang]], [[hiệp ước]]. ===={{section|decl}}==== {{la-ndecl|foederātiō<3>}} ===={{section|desc}}==== {{top2}} * {{desc|sq|federatë|bor=1}} * {{desc|ast|federación}} * {{desc|be|федэра́цыя|bor=1}} * {{desc|ca|federació}} * {{desc|cs|federace|bor=1}} * {{desc|da|føderation|bor=1}} * {{desctree|nl|federatie|bor=1}} * {{desctree|en|federation|bor=1}} * {{desc|et|föderatsioon|bor=1}} * {{desc|fi|federaatio|bor=1}} * {{desctree|fr|fédération}} * {{desc|fur|federazion}} * {{desc|gl|federación}} * {{desc|de|Föderation|bor=1}} * {{desc|hu|föderáció|bor=1}} * {{desc|it|federazione}} * {{desc|lv|federācija|bor=1}} * {{desc|lt|federacija|bor=1}} * {{desc|no|føderasjon|bor=1}} * {{desc|pms|federassion}} * {{desc|pl|federacja|bor=1}} * {{desc|pt|federação}} * {{desc|ro|federație}} * {{desctree|ru|федера́ция|bor=1}} * {{desc|sl|federacija|bor=1}} * {{desctree|es|federación}} * {{desc|sv|federation|bor=1}} * {{desc|uk|федера́ція|bor=1}} {{bottom}} ==={{section|ref}}=== * {{R:la:L&S}} * {{R:la:du Cange}} eh8dnxqyl3hvhov6eq0j893gn0ibup4 foedero 0 421368 2573333 2026-10-25T09:31:57Z Hiyuune 50834 Trang mới: “=={{langname|la}}== ==={{section|etym}}=== {{ety|la|title=foederō|:af|foedus<id:hiệp ước><alt:foedus, foederis>|-ō<id:denominative>|text=+|tree=1}} ==={{section|pron}}=== * {{la-IPA|foederō}} ==={{section|v}}=== {{la-verb|1+|foederō}} # [[ký|Ký]] hoặc [[phê chuẩn]] một [[thỏa thuận]] hay [[hiệp ước]]. ===={{section|forms}}==== {{la-conj|1+|foederō}} ===={{section|drv}}==== {{col|la|confoederō}} ===={{section|desc}}==== * {{desc|ca|feder…” 2573333 wikitext text/x-wiki =={{langname|la}}== ==={{section|etym}}=== {{ety|la|title=foederō|:af|foedus<id:hiệp ước><alt:foedus, foederis>|-ō<id:denominative>|text=+|tree=1}} ==={{section|pron}}=== * {{la-IPA|foederō}} ==={{section|v}}=== {{la-verb|1+|foederō}} # [[ký|Ký]] hoặc [[phê chuẩn]] một [[thỏa thuận]] hay [[hiệp ước]]. ===={{section|forms}}==== {{la-conj|1+|foederō}} ===={{section|drv}}==== {{col|la|confoederō}} ===={{section|desc}}==== * {{desc|ca|federar|bor=1}} ==={{section|ref}}=== * {{R:la:L&S}} * {{R:la:Gaffiot}} oq5qdqn9wg7p19hhnjwzsj8c9ajacn2 Từ tái tạo:Tiếng Ấn-Âu nguyên thủy/bʰidʰtós 0 421369 2573334 2026-10-25T09:37:40Z Hiyuune 50834 + ine-pro 2573334 wikitext text/x-wiki {{reconstructed}} =={{langname|ine-pro}}== ==={{section|etym}}=== {{root|ine-pro|ine-pro|*bʰeydʰ-}} {{etymon|ine-pro|:af|*bʰeydʰ-<id:tin tưởng>|*-tós<id:tính động từ>|id=tin tưởng}} Từ {{suffix|ine-pro|*bʰeydʰ-|t1=tin tưởng|*-tós|pos2=Hậu tố tính động từ}}. ==={{section|adj}}=== {{head|ine-pro|Tính từ|head=*bʰidʰtós}}<ref name="NIL">{{R:ine:NIL|*bʰei̯dʰ-|12|passage=*bʰidʰ-tó-}}</ref> # [[tin tưởng|Tin tưởng]], đáng [[tin cậy]]. ===={{section|infl}}==== {{ine-decl-adj|bʰidʰtó}} ===={{section|desc}}==== * {{desc|grk-pro|*pitstós}} ** {{desc|grc|πιστός}} * {{desc|itc-pro|alt=*feissos}}<ref>{{R:la:Leppanen:2019|page=36|passage=*bʰidʰˢ-tó-}}</ref> ** {{desc|la|fīsus|t=trusted}} ** {{desc|xum|unc=1|𐌚𐌉𐌔𐌄}}<ref>{{R:itc:EDL|page=218|head=fīdō, -ere|passage=*bʰidto-}}</ref> ==={{section|ref}}=== {{reflist}} ==={{section|further}}=== * {{R:gem:PIEPG|page=162}} [[en:Reconstruction:Proto-Indo-European/bʰidʰtós]] 8a72sklb6pu3x9aek45rss6zc15eq1m 2573335 2573334 2026-10-25T09:38:31Z Hiyuune 50834 /* Từ nguyên */ (sử dụng [[MediaWiki:Gadget-AjaxEdit.js|AjaxEdit]]) 2573335 wikitext text/x-wiki {{reconstructed}} =={{langname|ine-pro}}== ==={{section|etym}}=== {{root|ine-pro|ine-pro|*bʰeydʰ-}} {{etymon|ine-pro|:af|*bʰeydʰ-<id:tin tưởng>|*-tós<id:tính động từ>|id=tin tưởng}} Từ {{suffix|ine-pro|*bʰeydʰ-|t1=tin tưởng|*-tós|pos2=hậu tố tính động từ}}. ==={{section|adj}}=== {{head|ine-pro|Tính từ|head=*bʰidʰtós}}<ref name="NIL">{{R:ine:NIL|*bʰei̯dʰ-|12|passage=*bʰidʰ-tó-}}</ref> # [[tin tưởng|Tin tưởng]], đáng [[tin cậy]]. ===={{section|infl}}==== {{ine-decl-adj|bʰidʰtó}} ===={{section|desc}}==== * {{desc|grk-pro|*pitstós}} ** {{desc|grc|πιστός}} * {{desc|itc-pro|alt=*feissos}}<ref>{{R:la:Leppanen:2019|page=36|passage=*bʰidʰˢ-tó-}}</ref> ** {{desc|la|fīsus|t=trusted}} ** {{desc|xum|unc=1|𐌚𐌉𐌔𐌄}}<ref>{{R:itc:EDL|page=218|head=fīdō, -ere|passage=*bʰidto-}}</ref> ==={{section|ref}}=== {{reflist}} ==={{section|further}}=== * {{R:gem:PIEPG|page=162}} [[en:Reconstruction:Proto-Indo-European/bʰidʰtós]] omgvwtjf3dgj1yiv1217k46sri96ve9 stylisticienne 0 421370 2573337 2026-10-25T09:40:17Z Hiyuune 50834 Trang mới: “=={{langname|fr}}== ==={{section|pron}}=== * {{audio|fr|LL-Q150 (fra)-Jérémy-Günther-Heinz Jähnick-stylisticienne.wav|a=Somain}} ==={{section|n}}=== {{fr-noun|f}} # {{female equivalent of|fr|stylisticien}}” 2573337 wikitext text/x-wiki =={{langname|fr}}== ==={{section|pron}}=== * {{audio|fr|LL-Q150 (fra)-Jérémy-Günther-Heinz Jähnick-stylisticienne.wav|a=Somain}} ==={{section|n}}=== {{fr-noun|f}} # {{female equivalent of|fr|stylisticien}} bu8wrl5ihue30m7vuba0oci859o34rc проверивший 0 421371 2573343 2026-10-25T09:49:53Z Hiyuune 50834 Trang mới: “=={{langname|ru}}== ==={{section|pron}}=== * {{ru-IPA|прове́ривший}} ==={{section|ptcp}}=== {{head|ru|Phân từ quá khứ chủ động|head=прове́ривший}} # {{participle of|ru|прове́рить||pfv|past|act}} ===={{section|decl}}==== {{ru-decl-adj|прове́ривший|-}}” 2573343 wikitext text/x-wiki =={{langname|ru}}== ==={{section|pron}}=== * {{ru-IPA|прове́ривший}} ==={{section|ptcp}}=== {{head|ru|Phân từ quá khứ chủ động|head=прове́ривший}} # {{participle of|ru|прове́рить||pfv|past|act}} ===={{section|decl}}==== {{ru-decl-adj|прове́ривший|-}} fved7ubz1wavrsaibtzkcy6q59yaqi1 aufrechterhaltend 0 421372 2573362 2026-10-25T11:07:08Z Hiyuune 50834 Trang mới: “=={{langname|de}}== ==={{section|pron}}=== * {{audio|de|De-aufrechterhaltend.ogg|a=Berlin}} ==={{section|ptcp}}=== {{head|de|Phân từ hiện tại}} # {{present participle of|de|aufrechterhalten}}” 2573362 wikitext text/x-wiki =={{langname|de}}== ==={{section|pron}}=== * {{audio|de|De-aufrechterhaltend.ogg|a=Berlin}} ==={{section|ptcp}}=== {{head|de|Phân từ hiện tại}} # {{present participle of|de|aufrechterhalten}} dci5d2wwyoekgxsyqsjth1lyzj4i9ts aufrechtzuerhalten 0 421373 2573363 2026-10-25T11:08:05Z Hiyuune 50834 Trang mới: “=={{langname|de}}== ==={{section|pron}}=== * {{audio|de|De-aufrechtzuerhalten.ogg|a=Berlin}} ==={{section|v}}=== {{head|de|Biến thể hình thái động từ}} # {{de-zu-infinitive of|aufrechterhalten}}” 2573363 wikitext text/x-wiki =={{langname|de}}== ==={{section|pron}}=== * {{audio|de|De-aufrechtzuerhalten.ogg|a=Berlin}} ==={{section|v}}=== {{head|de|Biến thể hình thái động từ}} # {{de-zu-infinitive of|aufrechterhalten}} nhba9t7ms8n8ejckyqsnkgafvvo4w9h behaupten 0 421374 2573364 2026-10-25T11:10:41Z Hiyuune 50834 + de 2573364 wikitext text/x-wiki =={{langname|de}}== ==={{section|etym}}=== {{confix|de|be|Haupt|en}} ==={{section|pron}}=== * {{IPA|de|/bəˈhaʊ̯ptən/}} * {{audio|de|De-behaupten.ogg}} * {{audio|de|De-behaupten2.ogg|a=Berlin}} ==={{section|v}}=== {{de-verb}} # [[giữ]], [[duy trì]]. # {{lb|de|reflexive}} [[kiên định]] với [[quan điểm]] [[lập trường]]. ===={{section|forms}}==== {{de-conj}} ===={{section|drv}}==== * {{l|de|Behaupten}} * {{l|de|Behaupter}} * {{l|de|Behauptung}} * {{l|de|behauptend}} * {{l|de|behauptet}} ===={{section|rel}}==== * {{l|de|enthaupten}} * {{l|de|überhaupt}} ==={{section|see}}=== * {{l|de|dahinstellen}} * {{l|de|aufrechterhalten}} * {{l|de|bestehen}} * {{l|de|fordern}} * {{l|de|beanspruchen}} ==={{section|further}}=== * {{R:de:DWDS}} * {{R:de:UniLeipzig}} * {{R:de:Duden}} * {{R:de:OpenThesaurus}} * {{pedia|lang=de}} 87ndnlboggcha2ut8yw6a7xc4lrgow1 2573365 2573364 2026-10-25T11:11:47Z Hiyuune 50834 /* Động từ */ (sử dụng [[MediaWiki:Gadget-AjaxEdit.js|AjaxEdit]]) 2573365 wikitext text/x-wiki =={{langname|de}}== ==={{section|etym}}=== {{confix|de|be|Haupt|en}} ==={{section|pron}}=== * {{IPA|de|/bəˈhaʊ̯ptən/}} * {{audio|de|De-behaupten.ogg}} * {{audio|de|De-behaupten2.ogg|a=Berlin}} ==={{section|v}}=== {{de-verb}} # [[giữ]], [[duy trì]]. # {{lb|de|reflexive}} [[kiên định]] với một [[quan điểm]] hay [[lập trường]]. ===={{section|forms}}==== {{de-conj}} ===={{section|drv}}==== * {{l|de|Behaupten}} * {{l|de|Behaupter}} * {{l|de|Behauptung}} * {{l|de|behauptend}} * {{l|de|behauptet}} ===={{section|rel}}==== * {{l|de|enthaupten}} * {{l|de|überhaupt}} ==={{section|see}}=== * {{l|de|dahinstellen}} * {{l|de|aufrechterhalten}} * {{l|de|bestehen}} * {{l|de|fordern}} * {{l|de|beanspruchen}} ==={{section|further}}=== * {{R:de:DWDS}} * {{R:de:UniLeipzig}} * {{R:de:Duden}} * {{R:de:OpenThesaurus}} * {{pedia|lang=de}} 31y8v2dfs5yxrox2bn8zvuqdxg3hjry Hardliner 0 421375 2573368 2026-10-25T11:15:09Z Hiyuune 50834 + de 2573368 wikitext text/x-wiki {{also|hardliner}} =={{langname|de}}== ==={{section|etym}}=== {{ety|de|:bor|en:hardliner}} {{bor+|de|en|hardliner}}. ==={{section|pron}}=== * {{IPA|de|/ˈhaːɐ̯tˌlaɪ̯nɐ/}} * {{audio|de|De-Hardliner.ogg|a=Berlin}} ==={{section|n}}=== {{de-noun|m|f=in}} # [[người|Người]] [[kiên định]] [[lập trường]], [[người]] [[kiên quyết]] [[ủng hộ]]. ===={{section|decl}}==== {{de-ndecl|m}} ==={{section|further}}=== * {{R:de:Duden}} cve69qg1pb5si7mbaa1fe5mvvv9xr5i Naha 0 421376 2573375 2026-10-25T11:24:12Z Hiyuune 50834 Trang mới: “{{also|Phụ lục:Biến thể của "naha"}} =={{langname|en}}== {{wp|en:}} ==={{section|alt}}=== * {{q|từ ngữ lịch sử}} {{l|en|Napa}} ==={{section|etym}}=== Vay mượn từ {{bor|en|ja|sc=Jpan|那覇|tr=なは, Naha}}. ==={{section|pr-noun}}=== {{en-proper noun}} # {{place|en|thành phố|pref/Okinawa|c/Nhật Bản}}. ==={{section|ana}}=== * {{anagrams|en|a=aahn|Haan|Hana|Haná}} =={{langname|pt}}== ==={{section|etym}}=== {{ety|pt|:ubor|ja:那覇<tr:…” 2573375 wikitext text/x-wiki {{also|Phụ lục:Biến thể của "naha"}} =={{langname|en}}== {{wp|en:}} ==={{section|alt}}=== * {{q|từ ngữ lịch sử}} {{l|en|Napa}} ==={{section|etym}}=== Vay mượn từ {{bor|en|ja|sc=Jpan|那覇|tr=なは, Naha}}. ==={{section|pr-noun}}=== {{en-proper noun}} # {{place|en|thành phố|pref/Okinawa|c/Nhật Bản}}. ==={{section|ana}}=== * {{anagrams|en|a=aahn|Haan|Hana|Haná}} =={{langname|pt}}== ==={{section|etym}}=== {{ety|pt|:ubor|ja:那覇<tr:[[なは]], Naha>|text=+|tree=1}} ==={{section|pr-noun}}=== {{pt-proper noun}} # {{place|pt|thành phố|prefecture/Okinawa|c/Nhật Bản|t1=Naha}} =={{langname|ja}}== ==={{section|rom}}=== {{ja-romaji}} # {{ja-romanization of|なは}} kj4ws2bt320zuuomxszihz40p7o0vxt Thể loại:Mục từ tham chiếu đến nguyên từ bị thiếu tiếng Bồ Đào Nha 14 421377 2573376 2026-10-25T11:24:48Z Hiyuune 50834 Trang mới: “{{auto cat}}” 2573376 wikitext text/x-wiki {{auto cat}} eomzlm5v4j7ond1phrju7cnue91g5qx Thể loại:Bảo trì từ nguyên tiếng Bồ Đào Nha 14 421378 2573377 2026-10-25T11:25:05Z Hiyuune 50834 Trang mới: “{{auto cat}}” 2573377 wikitext text/x-wiki {{auto cat}} eomzlm5v4j7ond1phrju7cnue91g5qx 常総 0 421379 2573378 2026-10-25T11:26:21Z Hiyuune 50834 Trang mới: “{{also|常總}} =={{langname|ja}}== {{ja-kanjitab|じょう|そう|yomi=goon,kanon}} {{wp|ja:+市}} ==={{section|pr-noun}}=== {{ja-pron|じょうそう|acc=}} ==={{section|pr-noun}}=== {{ja-pos|proper|じょうそう|hhira=じやうそう}} # {{ja-div|市}} {{place|ja|thành phố|pref/Ibaraki|c/Nhật Bản|t=Jōsō|sort=しょうそう'}} ==={{section|further}}=== * {{R:ja:DDJS}}” 2573378 wikitext text/x-wiki {{also|常總}} =={{langname|ja}}== {{ja-kanjitab|じょう|そう|yomi=goon,kanon}} {{wp|ja:+市}} ==={{section|pr-noun}}=== {{ja-pron|じょうそう|acc=}} ==={{section|pr-noun}}=== {{ja-pos|proper|じょうそう|hhira=じやうそう}} # {{ja-div|市}} {{place|ja|thành phố|pref/Ibaraki|c/Nhật Bản|t=Jōsō|sort=しょうそう'}} ==={{section|further}}=== * {{R:ja:DDJS}} 3glk45v6m8xfj2ix6vh3iy4l1jj3h1m Bản mẫu:ja-div 10 421380 2573379 2026-10-25T11:26:58Z Hiyuune 50834 Trang mới: “{{#invoke:checkparams|error}}<!-- Validate template parameters -->{{#ifeq:{{page exists|{{pagename}}{{{1}}}}}|true |{{l-self|ja|([[{{pagename}}{{{1}}}|~{{{1}}}]])}} |{{l-self|ja|(~[[{{{1}}}]])}} }}<noinclude> {{documentation}} [[Thể loại:Bản mẫu định nghĩa tiếng Nhật]] </noinclude>” 2573379 wikitext text/x-wiki {{#invoke:checkparams|error}}<!-- Validate template parameters -->{{#ifeq:{{page exists|{{pagename}}{{{1}}}}}|true |{{l-self|ja|([[{{pagename}}{{{1}}}|~{{{1}}}]])}} |{{l-self|ja|(~[[{{{1}}}]])}} }}<noinclude> {{documentation}} [[Thể loại:Bản mẫu định nghĩa tiếng Nhật]] </noinclude> 6nf7n0ekzxvjmmsihl2b71c2s8tikj1 和光 0 421381 2573380 2026-10-25T11:29:05Z Hiyuune 50834 Trang mới: “=={{langname|ja}}== {{ja-kanjitab|わ|こう|y=goon}} {{wp|ja:}} ==={{section|pron}}=== {{ja-pron|わこう}} ==={{section|pr-noun}}=== {{ja-pos|proper|わこう}} # {{place|ja|thành phố|pref/Saitama|c/Nhật Bản|t=Wakō|sort=わこう}} {{-}} =={{langname|zh}}== {{zh-forms}} {{wp|zh:和光市}} ==={{section|etym}}=== {{obor|zh|ja|和光|tr=Wakō}}. ==={{section|pron}}=== {{zh-pron |m=Héguāng |c=wo4 gwong1 |cat=pn }} ==={{section|pr-noun}}=== {{head|zh|Danh t…” 2573380 wikitext text/x-wiki =={{langname|ja}}== {{ja-kanjitab|わ|こう|y=goon}} {{wp|ja:}} ==={{section|pron}}=== {{ja-pron|わこう}} ==={{section|pr-noun}}=== {{ja-pos|proper|わこう}} # {{place|ja|thành phố|pref/Saitama|c/Nhật Bản|t=Wakō|sort=わこう}} {{-}} =={{langname|zh}}== {{zh-forms}} {{wp|zh:和光市}} ==={{section|etym}}=== {{obor|zh|ja|和光|tr=Wakō}}. ==={{section|pron}}=== {{zh-pron |m=Héguāng |c=wo4 gwong1 |cat=pn }} ==={{section|pr-noun}}=== {{head|zh|Danh từ riêng}} # {{zh-div|市}} {{place|zh|t=Wakō|thành phố|prefecture/Saitama|c/Nhật Bản}} j8zuomf8csdlg6cemuqoyjw2hbmi56q cum ri 0 421382 2573382 2026-10-25T11:32:54Z Hiyuune 50834 Trang mới: “=={{langname|gd}}== ==={{section|v}}=== {{gd-verb}} # {{alternative form of|gd|cùm ri|t=chống chọi}}” 2573382 wikitext text/x-wiki =={{langname|gd}}== ==={{section|v}}=== {{gd-verb}} # {{alternative form of|gd|cùm ri|t=chống chọi}} fpo5lorkk2i2t6jrf3d0bu1ovi1t4wv cùm ri 0 421383 2573384 2026-10-25T11:34:15Z Hiyuune 50834 + gd 2573384 wikitext text/x-wiki =={{langname|gd}}== ==={{section|alt}}=== * {{alter|gd|cum ri}} ==={{section|v}}=== {{gd-verb}} # [[chống|Chống]] lại, [[chống cự]]; [[chịu đựng]]; [[chống chọi]]. 2g8bzezepujti7qrf4gwk2t4e26bwc9 beòthaich 0 421384 2573385 2026-10-25T11:37:58Z Hiyuune 50834 + gd 2573385 wikitext text/x-wiki =={{langname|gd}}== ==={{section|etym}}=== {{suffix|gd|beò|ich}} ==={{section|v}}=== {{gd-verb|past=bheòthaich|fut=~idh|vn=-achadh}} # Làm [[hoạt động]], làm [[sôi nổi]], làm [[phấn chấn]]. # Tiếp [[sức sống]] cho ai đó; tiếp sinh khí ai đó, tiếp [[sức mạnh]] ai đó. # Làm [[ánh]] lên, làm [[rực]] lên, làm [[ngời]] lên. # Làm [[tươi]]. ===={{section|forms}}==== {{gd-conj|beòthachadh}} ==={{section|mut}}=== {{gd-mut-cons|b|eòthaich}} ==={{section|further}}=== * {{R:Dwelly}} c0zxh2n7xt2n628axljaqoy9zx7txv7 gunna 0 421385 2573386 2026-10-25T11:43:32Z Hiyuune 50834 Trang mới: “=={{langname|en}}== ==={{section|contraction}}=== {{head|en|Từ rút gọn}} # {{alternative spelling of|en|gonna}} ==={{section|ana}}=== * {{anagrams|en|a=agnnu|Nunga}} =={{langname|gd}}== ==={{section|etym}}=== {{ety|gd|:der|mga:gunna<ety:der<enm:gunne>>}} Từ {{der|gd|mga|gunna}},<ref>{{R:DIL|26831}}</ref> từ {{der|gd|enm|gunne}}. ==={{section|pron}}=== * {{IPA|gd|/ˈɡ̊un̪ˠə/|[ˈɡ̊ʊ̃n̪ˠə]|ref2={{R:gd:Oftedal}}|a2=Lewis}} ==={{section|n}}=== {{gd…” 2573386 wikitext text/x-wiki =={{langname|en}}== ==={{section|contraction}}=== {{head|en|Từ rút gọn}} # {{alternative spelling of|en|gonna}} ==={{section|ana}}=== * {{anagrams|en|a=agnnu|Nunga}} =={{langname|gd}}== ==={{section|etym}}=== {{ety|gd|:der|mga:gunna<ety:der<enm:gunne>>}} Từ {{der|gd|mga|gunna}},<ref>{{R:DIL|26831}}</ref> từ {{der|gd|enm|gunne}}. ==={{section|pron}}=== * {{IPA|gd|/ˈɡ̊un̪ˠə/|[ˈɡ̊ʊ̃n̪ˠə]|ref2={{R:gd:Oftedal}}|a2=Lewis}} ==={{section|n}}=== {{gd-noun|m|~|~ichean,~chan,~idhean}} # [[súng|Súng]], [[súng trường]]. # [[súng|Súng]] [[thần]] [[công]], [[súng]] [[đại bác]]. ===={{section|drv}}==== {{col|gd |fùdar-gunna |gunna barraich |gunna sgailc |gunna-bhiodaig |gunna caol |gunna-diollaid |gunna fada |gunna-glaic |gunna-mòr |gunna-spùt }} ==={{section|mut}}=== {{gd-mut}} ==={{section|ref}}=== {{reflist|size=smaller}} ==={{section|further}}=== * {{R:Dwelly}} * {{R:gd:MacLennan}} {{C|gd|Súng}} =={{langname|ga}}== ==={{section|etym}}=== {{ety|ga|:der|mga:gunna<ety:der<enm:gunne>>}} Từ {{der|ga|mga|gunna}},<ref>{{R:DIL|26831}}</ref> từ {{der|ga|enm|gunne}}. ==={{section|pron}}=== * {{IPA|ga|/ˈɡʊn̪ˠə/|ref={{R:ga:SjPh|67}}|a=Munster,Connacht}} * {{IPA|ga|/ˈɡɤn̪ˠə/|a=Ulster}} ==={{section|n}}=== {{ga-noun|m|~|~í}} # [[súng|Súng]]. ===={{section|decl}}==== {{ga-decl-m4|g|unna|unnaí}} ===={{section|drv}}==== {{col|ga |aerghunna |cró gunna |gunnadóir |gunnán |meaisínghunna |púdar gunna |deic ghunnaí }} ==={{section|mut}}=== {{ga-mut}} ==={{section|ref}}=== {{reflist|size=smaller}} ==={{section|further}}=== * {{R:ga:Dinneen|ed=1|w=gunna|p=388}} * {{R:ga:Ó Dónaill}} {{topics|ga|Súng}} 1funpmangjgdxx5eajdlo15ngnhza44 njure 0 421386 2573387 2026-10-25T11:50:00Z Kelly zhrm 58416 Trang mới: “{{also|Njúre}} =={{langname|sv}}== {{wp|sv:}} [[File:Urinary System (Female).png|thumb|njurarna [thận] ]] ==={{ĐM|etym}}=== Từ {{inh|sv|gmq-osw|niure|niūre}}, từ {{inh|sv|non|nýra}}, từ {{inh|sv|gem-pro|*neurô}}, từ {{inh|sv|ine-pro|*negʷʰrós}}. ==={{ĐM|pron}}=== * {{IPA|sv|/²njʉːrɛ/}} * {{audio|sv|LL-Q9027 (swe)-Moonhouse-njure.wav}} ==={{ĐM|n}}=== {{sv-noun|c}} # {{lb|sv|anatomy}} [[thận|Thận]]. ===={{ĐM|decl}}==== {{sv-infl-noun-c-ar|2…” 2573387 wikitext text/x-wiki {{also|Njúre}} =={{langname|sv}}== {{wp|sv:}} [[File:Urinary System (Female).png|thumb|njurarna [thận] ]] ==={{ĐM|etym}}=== Từ {{inh|sv|gmq-osw|niure|niūre}}, từ {{inh|sv|non|nýra}}, từ {{inh|sv|gem-pro|*neurô}}, từ {{inh|sv|ine-pro|*negʷʰrós}}. ==={{ĐM|pron}}=== * {{IPA|sv|/²njʉːrɛ/}} * {{audio|sv|LL-Q9027 (swe)-Moonhouse-njure.wav}} ==={{ĐM|n}}=== {{sv-noun|c}} # {{lb|sv|anatomy}} [[thận|Thận]]. ===={{ĐM|decl}}==== {{sv-infl-noun-c-ar|2=njur}} ===={{ĐM|rel}}==== {{col|sv |njurformad |njurformig |njurfunktion |njursauté |njursjuk |njursjukdom |njursjukvård |njurskada |njursten |njursvikt |njurtalg |njurtransplantation }} ==={{ĐM|ref}}=== * {{R:svenska.se|so}} * {{R:svenska.se|saol}} * {{R:svenska.se|saob}} * [https://web.archive.org/web/20250608133952/https://mesh.kib.ki.se/term/D007668/kidney Svensk MeSH] {{C|sv|Giải phẫu học|Cơ quan}} 08ecxvzpfs9gj0oe6lmbkza7gwrsig3 njures 0 421387 2573388 2026-10-25T11:52:32Z Kelly zhrm 58416 Trang mới: “=={{langname|sv}}== ==={{ĐM|n}}=== {{head|sv|Biến thể hình thái danh từ}} # {{noun form of|sv|njure||gen|indef|s}}” 2573388 wikitext text/x-wiki =={{langname|sv}}== ==={{ĐM|n}}=== {{head|sv|Biến thể hình thái danh từ}} # {{noun form of|sv|njure||gen|indef|s}} ow004xn9w6y0r7qx2ctyo47ypwxpiyv