Wiktionary
viwiktionary
https://vi.wiktionary.org/wiki/Wiktionary:Trang_Ch%C3%ADnh
MediaWiki 1.48.0-wmf.1
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
Wiktionary:Tin tức
4
644
2574830
2574383
2026-11-02T09:24:41Z
Hiyuune
50834
2574830
wikitext
text/x-wiki
__NOTOC__
{{Lưu trữ|
{{*ym|year=2004–2009|month=no|base=Wiktionary:Tin tức}}
{{*ym|year=2010–2020|month=no|base=Wiktionary:Tin tức}}
{{*ym|year=2021–2023|month=no|base=Wiktionary:Tin tức}}
{{*ym|year=2024|month=no|base=Wiktionary:Tin tức}}
{{*ym|year=2025|month=no|base=Wiktionary:Tin tức}}
{{*ym|year=2026|month=no|base=Wiktionary:Tin tức}}
}}
Trang này dành cho '''tin tức về dự án''' [[Wiktionary]] tiếng Việt nói riêng hay về cộng đồng Wiktionary nói chung. Bạn có biết tin tức mới không? Mời bạn ghi ra đây!
Bạn có thể chọn nút theo dõi trang để cập nhật tin tức tại [[Đặc biệt:Danh sách theo dõi|Danh sách theo dõi]].<!-- Nếu bạn đang cộng thêm một ngày nữa, và nếu đã có năm ngày ở trang này rồi, xin bạn xoá mục cuối cùng và bỏ tin tức mới trên những mục đã có rồi. Rồi, xin bạn thêm tin tức mới vào trang lưu trữ cho tháng năm phù hợp. Cám ơn. -->
== Tháng 11 năm 2026 ==
=== Thứ hai, ngày 2 tháng 11 năm 2026 ===
* {{l|pis|kaekaem}} trở thành mục từ tiếng Pijin đầu tiên của Wiktionary tiếng Việt.
== Tháng 10 năm 2026 ==
=== Thứ sáu, ngày 30 tháng 10 năm 2026 ===
* {{l|gmy|𐀦𐀄𐀒𐀫|ts=gʷoukolos}} trở thành mục từ tiếng Hy Lạp Mycenae đầu tiên của Wiktionary tiếng Việt.
=== Thứ sáu, ngày 23 tháng 10 năm 2026 ===
* {{l|srm|akata}} trở thành mục từ tiếng Saramacca đầu tiên của Wiktionary tiếng Việt.
=== Thứ năm, ngày 22 tháng 10 năm 2026 ===
* {{l|tnc|Ᵽ}} trở thành mục từ tiếng Tanimuca-Retuarã đầu tiên của Wiktionary tiếng Việt.
=== Thứ ba, ngày 20 tháng 10 năm 2026 ===
* {{l|nbn|wer}} trở thành mục từ tiếng Kuri đầu tiên của Wiktionary tiếng Việt.
* {{l|bls|luton}} trở thành mục từ tiếng Balaesang đầu tiên của Wiktionary tiếng Việt.
* {{l|bot|kii}} đồng thời trở thành mục từ đầu tiên của các ngôn ngữ: Bongo và Chickasaw.
* {{l|myz|ࡋࡄࡀࡌࡀ}} trở thành mục từ tiếng Manda cổ điển đầu tiên của Wiktionary tiếng Việt.
=== Thứ hai, ngày 19 tháng 10 năm 2026 ===
* {{l|hmx-pro|*djuŋᴴ}} trở thành mục từ tiếng H'Mông-Miền nguyên thủy đầu tiên của Wiktionary tiếng Việt.
=== Chủ nhật, ngày 18 tháng 10 năm 2026 ===
* {{l|lbk|awak}} trở thành mục từ tiếng Bontoc Trung đầu tiên của Wiktionary tiếng Việt.
=== Thứ bảy, ngày 17 tháng 10 năm 2026 ===
* {{l|ayn|ת}} trở thành mục từ tiếng Ả Rập Sana'a đầu tiên của Wiktionary tiếng Việt.
* {{l|ayk|iraru}} trở thành mục từ tiếng Akuku đầu tiên của Wiktionary tiếng Việt.
* {{l|knb|atod}} trở thành mục từ tiếng Kalinga Lubuagan đầu tiên của Wiktionary tiếng Việt.
=== Chủ nhật, ngày 4 tháng 10 năm 2026 ===
* {{l|shx|ɔŋ⁵³}} trở thành mục từ tiếng Xa đầu tiên của Wiktionary tiếng Việt.
=== Thứ tư, ngày 14 tháng 10 năm 2026 ===
* {{l|wbp|mula}} trở thành mục từ tiếng Warlpiri đầu tiên của Wiktionary tiếng Việt.
* {{l|aus-pam-pro|*calañ}} trở thành mục từ tiếng Pama-Nyungar nguyên thủy đầu tiên của Wiktionary tiếng Việt.
* {{l|wyb|thalay}} trở thành mục từ tiếng Ngiyambaa đầu tiên của Wiktionary tiếng Việt.
* {{l|aus-cww-pro|*balaŋ}} trở thành mục từ tiếng Trung New South Wales nguyên thủy đầu tiên của Wiktionary tiếng Việt.
== Xem thêm ==
*[[Thành viên:WikimediaNotifier/notifications|Thời sự Wikimedia]]
*[[m:Tin tức về Wikimedia|Tin tức Wikimedia]]
[[Thể loại:Tin tức Wiktionary| ]]
[[Thể loại:Cộng đồng Wiktionary|{{PAGENAME}}]]
nwf3029vtfdrl5qudweg7dbcz8sxpos
ma cà rồng
0
3492
2574785
2463644
2026-11-01T14:18:49Z
TheHighFighter2
42988
/* Dịch */
2574785
wikitext
text/x-wiki
=={{langname|vi}}==
{{-info-}}
==={{ĐM|etym}}===
Từ {{af|vi|ma|alt2=cà rồng}}, {{unk|vi|nocap=y}} từ nguyên của yếu tố thứ hai.
Được chứng thực trong các sách ''{{w|Kiến văn tiểu lục}}'' ({{w|Lê Quý Đôn}}), ''{{w|Thoái thực ký văn}}'' ({{w|Trương Quốc Dụng}}) và ''{{w|Hưng Hóa kỷ lược}}'' ({{w|Phạm Thận Duật}}) dưới dạng {{mention|vi|chữ Nôm}} là {{mention|vi|cà rồng quỷ}} ({{mention|vi|茄蠬鬼}}), {{mention|vi|kì lằng quỷ}} ({{mention|vi|奇䗀鬼}}), {{mention|vi|càn sùng quỷ}} ({{mention|vi|乾崇鬼}}).
==={{ĐM|pron}}===
{{vi-pron}}
==={{ĐM|noun}}===
{{vi-noun|head=[[ma]] cà rồng}}
# {{lb|vi|folklore|mythological creature}} {{syn of|vi|ma cà lồ}}.
# {{lb|vi|by extension|mythological creature|_|phương Tây}} [[sinh vật|Sinh vật]] [[huyền thoại]] (thường có hình dạng giống người và [[bất tử]]) được cho là tồn tại nhờ việc hút [[máu]] hay [[sinh lực]] của sinh vật sống.
#: {{ux|vi|Abraham Lincoln, thợ săn '''ma cà rồng'''.}}
===={{ĐM|trans}}====
{{trans-top|Sinh vật huyền thoại}}
* {{dịch|en}}: {{t+|en|vampire}}
{{trans-bottom}}
==={{ĐM|ref}}===
* {{R:Lê Văn Đức 1970|page=873}}
{{C|vi|Nhân vật kiểu mẫu}}
02e63gusmlmo6uowc8gm0oh1ob8ml47
iff
0
237669
2574794
2365429
2026-11-01T15:19:54Z
TheHighFighter2
42988
2574794
wikitext
text/x-wiki
{{also|IFF}}
=={{langname|en}}==
==={{ĐM|etym}} 1===
===={{ĐM|pron}}====
"if and only if"
* {{IPA4|en|/ɪf ən(d) ˈəʊn.li ɪf/|a=UK}}
* {{IPA4|en|/ɪf ən(d) ˈoʊn.li ɪf/|a=US}}
* {{audio|en|LL-Q1860 (eng)-NaomiAmethyst-iff.wav|a=US}}
===={{ĐM|conj}}====
{{head|en|conj}}
# {{lb|en|mathematics|logic}} {{abbr of|en|if and only if||khi và chỉ khi; nếu và chỉ nếu}}.
#: {{ux|en|A rectangle is a square '''iff''' all four of its sides have the same length.|Một hình chữ nhật là hình vuông '''khi và chỉ khi''' các cạnh của nó bằng nhau.}}
====={{ĐM|rel}}=====
* {{l|en|if}}
==={{ĐM|etym}} 2===
===={{ĐM|conj}}====
{{head|en|conjunction}}
# {{obsolete spelling of|en|if}}.
==={{ĐM|anagram}}===
* {{anagrams|en|a=ffi|FFI|FIF|Fif.}}
=={{langname|rif}}==
[[File:Camelus dromedarius Euter Zoo Landau Juni 2011.JPG|thumb|Bầu vú lạc đà.]]
==={{ĐM|alt}}===
* {{alt|rif|iffi}}
* {{alt|rif|ifeff}}
==={{ĐM|etym}}===
{{inh+|rif|ber-pro|-}}. So sánh với {{cog|shi|uff}}.
==={{ĐM|pron}}===
* {{rif-IPA}}
==={{ĐM|n}}===
{{rif-head|noun|g=m|pl=iffan}}
# [[núm vú|Núm vú]].
#: {{syn|rif|tabbict}}
# [[bầu|Bầu]] [[vú]] động vật.
#: {{syn|rif|abbuc|tinɣi}}
#: {{uxa|rif|Iteẓẓi '''iffan''' n tfunast.|Anh ấy đang vắt sữa bò.}}
==={{ĐM|ref}}===
* {{R|rif|Serhoual:2002}}
* {{R|rif|Abarrou:2024}}
rpvkp587w7mf6sgrjw5ynfbh88jsevd
địt mẹ
0
249231
2574789
2571484
2026-11-01T14:23:20Z
TheHighFighter2
42988
2574789
wikitext
text/x-wiki
{{also|ditme}}
=={{langname|vi}}==
==={{ĐM|alter}}===
* {{vi-l|đệt mợ}}
==={{ĐM|pron}}===
{{vi-pron}}
* {{audio|vi|LL-Q9199 (vie)-Penn Zero MSSJ-địt mẹ.wav|a=Hanoi}}
==={{ĐM|interjection}}===
{{vi-interj}}
# {{nhãn|vi|northern Vietnam|vulgar}} {{n-g|Một tiếng [[chửi]] [[tục tĩu]].}}
#: {{ux|vi|'''Địt mẹ''' sao mày học ngu thế.}}
#: {{ux|vi|'''Địt mẹ''' mày láo hả.}}
#* {{quote-book|vi|text=Thanh niên xóm tôi toàn bọn nghiện, mà làng tôi hễ nghiện thì bán đồ nhà, bán hết thì đi ăn cắp, hễ đi làm tử tế thì sẽ bị dân chê cười rằng “'''Địt mẹ''' thằng này điên, nghiện phải đi ăn cắp chứ, làm cái đéo gì cho lại?”.|page=70|title=TRUYỆN CƯỜI CÔNG SỞ|author=Tran A|date=2023-03-06}}
===={{ĐM|syn}}====
* [[đụ mẹ]]
* [[đụ má]]
===={{ĐM|trans}}====
{{trans-top|Tiếng chửi tục tĩu}}
* {{dịch|en}}: {{t+|en|fuck}}
{{trans-bottom}}
46rzqmg3tebhwfv175w7rp8hmz9pn21
liên hoan phim
0
261149
2574791
2424932
2026-11-01T14:26:11Z
TheHighFighter2
42988
/* Dịch */
2574791
wikitext
text/x-wiki
=={{langname|vi}}==
{{-info-}}
==={{ĐM|alternative form}}===
* {{alter|vi|LHP|q=viết tắt}}
==={{ĐM|pron}}===
{{vi-pron}}
==={{ĐM|noun}}===
{{vi-noun|head=[[liên hoan]] [[phim]]}}
# [[liên hoan|Liên hoan]] [[văn hóa]] về [[điện ảnh]], tại đây các bộ [[phim]] mới [[sản xuất]] được [[chiếu]] [[ra mắt]] và tham gia [[tranh]] [[giải]] do ban [[giám khảo]] của liên hoan [[bầu chọn]].
#* {{quote-web|vi|date=05-10-2019|author=Mi Ly|url=https://tuoitre.vn/dien-anh-viet-duoc-chao-don-tai-lien-hoan-phim-busan-2019-20191005064922636.htm|title=Điện ảnh Việt được chào đón tại liên hoan phim Busan 2019|work=Tuổi Trẻ Online|passage=Năm nay, [[w:Liên hoan phim quốc tế Busan|'''Liên hoan phim''' Busan]] có tổng cộng 299 phim từ 85 quốc gia tham dự.}}
===={{ĐM|trans}}====
{{trans-top|Liên hoan văn hóa về điện ảnh}}
* {{dịch|en}}: {{t|en|film festival}}
* {{dịch|nl}}: {{t+|nl|filmfestival}}
* {{dịch|hu}}: {{t+|hu|filmfesztivál}}
* {{dịch|kk}}: {{t|kk|кинофестиваль}}
* {{dịch|ru}}: {{t+|ru|кинофестива́ль|m}}
* {{dịch|fi}}: {{t|fi|elokuvajuhlat}}, {{t|fi|elokuvafestivaalit}}, {{t|fi|filmifestivaalit}}
{{trans-bottom}}
lp8ob4af4j0dv4hugu7kgp1qhc8j36c
Thành viên:TheHighFighter2/Trang con 3
2
269152
2574780
2573329
2026-11-01T14:09:48Z
TheHighFighter2
42988
2574780
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 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]]; [[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ột chữ là thầy, nửa chữ cũng là thầy]]; [[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ò]]; [[nông nghiệp thẳng đứng]];
==O, Ô, Ơ==
[[ông kẹ]];
==P==
[[phân biệt vùng miền]]; [[phi công trẻ lái máy bay bà già]]; [[phì đại]]; [[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]]; [[tròn vìn]]; [[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==
pobiw9551lkpy2zeiv8ls11tfob5i5k
Mô đun:headword utilities
828
270803
2574759
2573883
2026-11-01T12:53:58Z
TheHighFighter2
42988
2574759
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. [DONE]
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. [DONE]
3. Implement +- = sometimes has a value, e.g. "countable and uncountable" for plurals. [DONE]
4. Implement ~ standing for the pagename in heads and inflections. [DONE]
5. Implement abbr= for abbreviations. [DONE]
6. Split insert_inflection into process_for_insertion() (which implements the logic for handling special mode signals)
and insert_processed_inflection() (which implements the labels and categories for mode signals) so that we can handle
mode signals correctly. [DONE]
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]]. [CHECKREDLINKS SET; SIMPLIFY_POS NOT PORTED YET.]
12. Fix longstanding accelerator bug: if embedded links in inflection, don't make it green. [DONE]
13. Implement process_terms() callback after process_for_insertion. [DONE]
14. Implement validate_and_canonicalize() callback. [NOT DONE; INSTEAD HAVE A SEPARATE CANONICALIZE CALLBACK]
15. Document new methods.
16. Implement process_one_term() callback after process_for_insertion. [DONE]
17. Implement process() at a stage to happen universally when there is no argument to parse. [DONE]
18. Skip mode signals during validation and canonicalization. [DONE]
19. Implement inflsuf= with special handling and special inflectional categories. [DONE]
20. Add support for "boolean or string" type.
21. Support invocation-specified or user-specified languages. [DONE]
]==]
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 lcfirst = require("Module:string utilities").lcfirst
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 contains = require_when_needed(table_module, "contains")
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 is_array = require_when_needed(table_module, "isArray")
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 singularize = require_when_needed(en_utilities_module, "singularize")
local canonicalize_pos = require_when_needed(headword_module, "canonicalize_pos")
--[==[ 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]
]==]
local inflection_to_cats_and_label = {
plural = {
filter_pos = function(posvars)
-- 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 `simp_plpos` has
-- `proper nouns` converted to `nouns`.
return posvars.simp_plpos == "Danh từ"
end,
cats = {"Danh từ đếm được"},
no_cats = {"Danh từ không đếm được"},
fixed_adj_label = "đếm được",
fixed_adj_no_label = "không đếm được",
sometimes_label = "đếm được và không đếm được",
unattested_cats = "Danh từ có số nhiều chưa được chứng thực",
unknown_cats = "Danh từ có số nhiều không rõ hoặc chưa được chứng thực",
},
comparative = {
cats = {"{simp_plpos} so sánh được"},
no_cats = {"{simp_plpos} không so sánh được"},
fixed_adj_label = "so sánh được",
},
["female equivalent"] = {
cats = {"{simp_plpos} with other-gender equivalents"},
},
["male equivalent"] = {
cats = {"{simp_plpos} with other-gender equivalents"},
},
}
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 = {},
ng = {},
lit = {},
tr = {},
ts = {},
face = {},
nolinkinfl = {type = "boolean"},
}
local optional_headword_param_mods = {
sc = {type = "script"},
tr = {},
ts = {},
}
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 not val then
return nil
end
val = mw.text.trim(val)
return val ~= "" and val or nil
end
--[=[
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
--[==[
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.
* `disable_special_modes`: If specified, don't recognize and treat specially the special mode signals (e.g. '-' for
no inflection, '?' for unknown, etc.).
* `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 not data.disable_special_modes and export.special_modes[term] then
return {
term = term,
_is_mode = true
}
end
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", -- may be converted to noun
"Danh từ",
"Phân từ",
"Đại từ",
"Ký hiệu",
"Động từ",
}
local function optimized_pattern_escape(pos)
if pos:find("-", nil, true) then
return pattern_escape(pos)
else
return pos
end
end
--[==[
Canonicalize and then simplify a qualified part of speech (e.g. ''comparative adjectives'', ''past participles'',
''pronoun possessive forms'') to its unqualified equivalent (e.g. ''adjectives'', ''participles'', ''pronoun forms''').
This is used for categorization, since generally the simplified part of speech is used in categories other than the one
for the part of speech itself. (For example, comparative adjectives are normally categorized as adjectives in categories
such as `Requests for inflections in ``lang`` adjective entries`, and proper nouns are, sometimes at least, categorized
under ` ``lang`` nouns with ...` rather than ` ``lang`` proper nouns with ...`.)
There are two cases where simplification does not happen: phrases and (optionally) proper nouns. In Wiktionary,
''phrase'' really means a clause or similar constituent (or occasionally non-constituent), so `prepositional phrases`
are not types of `phrases` and are not simplified. Proper nouns are simplified to nouns for some categories but left
as-is in other category names; by default, this function simplifies `proper nouns` to `nouns`, but if the parameter
`preserve_proper_nouns` is given, `proper nouns` is left as-is.
If `preserve_lemma_status` is given, the function attempts to return a part of speech that has the same lemma status
(lemma or non-lemma form) as the original part of speech; 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 part of speech.
The part of speech can be given singular or plural on input, but is always returned in plural form.
]==]
function export.simplify_pos(pos, preserve_proper_nouns, preserve_lemma_status)
-- This allows for both singular and plural parts of speech in 'pos'.
local plpos = 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 " .. lcfirst(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 " .. lcfirst(basic_pos)
end
if plpos:find(("^Biến thể hình thái .* %s$"):format(basic_pos_pattern)) then
return "Biến thể hình thái " .. lcfirst(basic_pos)
end
local pl_basic_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 " .. lcfirst(basic_pos)
end
end
return pl_basic_pos
end
end
end
return plpos
end
function export.get_pos_variants(pos)
local retval = {}
retval.origpos = pos
retval.plpos = canonicalize_pos(pos)
retval.sgpos = singularize(retval.plpos)
retval.simp_plpos = export.simplify_pos(retval.plpos)
retval.simp_sgpos = singularize(retval.simp_plpos)
retval.simp_with_propn_plpos = export.simplify_pos(retval.plpos, "preserve_proper_nouns")
retval.simp_with_propn_sgpos = singularize(retval.simp_with_propn_plpos)
return retval
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.) If `termobj_for_string_terms` is specified, any terms in `abterms` specified
as strings will have all their properties other than `field` taken from `termobj_for_string_terms`.
]==]
function export.canonicalize_termobj_list(abterms, field, origin, originating_term, termobj_for_string_terms)
if abterms == nil then
return nil
end
local function make_termobj_from_string_term(term)
local retval
if termobj_for_string_terms then
retval = shallow_copy(termobj_for_string_terms)
else
retval = {}
end
retval[field] = term
retval._origin = origin
retval._originating_term = originating_term
return retval
end
local function shallow_copy_and_add_origin(termobj)
termobj = shallow_copy(termobj)
termobj._origin = origin
termobj._originating_term = originating_term
return termobj
end
field = field or "term"
if type(abterms) == "string" then
return {make_termobj_from_string_term(abterms)}
elseif not abterms[1] then
if origin ~= nil or originating_term ~= nil then
abterms = shallow_copy_and_add_origin(abterms)
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_and_add_origin(abterm)
end
end
return abterms
end
end
local retval = {}
for _, term in ipairs(abterms) do
if type(term) == "string" then
insert(retval, make_termobj_from_string_term(term))
else
if origin ~= nil or originating_term ~= nil then
term = shallow_copy_and_add_origin(term)
end
insert(retval, term)
end
end
return retval
end
function export.canonicalize_category_list(abcats)
-- FIXME: We should allow category objects in `headdata.categories` and not just strings. This seems to require
-- changes to [[Module:headword]].
if abcats == nil then
return nil
end
if abcats == false then
return {}
end
if type(abcats) == "string" then
abcats = {abcats}
end
return abcats
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
local function yes_and_no_cats(props)
if props.cats and props.no_cats then
local yes_cats = export.canonicalize_category_list(props.cats)
local no_cats = export.canonicalize_category_list(props.no_cats)
local cats = shallow_copy(yes_cats)
extend(cats, no_cats)
return cats
end
end
local function sometimes_or_yes_and_no_cats(props)
local sometimes_cats = export.canonicalize_category_list(props.sometimes_cats)
if sometimes_cats then
return sometimes_cats
else
return yes_and_no_cats(props)
end
end
local function no_value_fallback_label(props)
if props.fixed_adj_no_label then
return props.fixed_adj_no_label
end
if props.fixed_adj_label then
return "không " .. props.fixed_adj_label
end
return "không " .. (props.label_for_cats_and_modes or props.label)
end
local function with_value_fallback_label(props)
if props.fixed_adj_label then
return props.fixed_adj_label
end
-- FIXME, should this say 'with a plural/diminutive' etc. or is 'with plural/diminutive' enough?
return "với " .. (props.label_for_cats_and_modes or props.label)
end
--[==[ var:
Table describing how to handle the "mode" signals at the beginning of an inflection, generally indicating whether the
inflection exists and to what extent. The key is the mode signal itself, and the value is table with the following keys:
* `exists`: The value to return in the `exists` field of the object returned by `process_for_insertion`. This is
currently used in calling code simply to check for different modes; it is an easier-to-read equivalent of the mode
signal itself.
* `prefix`: The prefix used to directly specify the label and category/categories associated with the mode in calling
code. For example, the mode `--+` (which also arises when `-` is used with a following term) has prefix `usually_no_`,
which means that to directly specify its label, use `usually_no_label` and to directly specify its categories, use
`usually_no_cats`. If these fields don't exist, the functions in `fallback_label` and `fallback_cats` are used to
generate the label and categories.
* `fallback_label`: This is a function of one argument, `props` (the properties passed in by the caller), which should
generate the label if the user didn't directly specify a label (see `prefix` above).
* `fallback_cats`: This is a function of one argument, `props` (the properties passed in by the caller), which should
generate the categories if the user didn't directly specify them (see `prefix` above).
* `add_default`: If true, the code will attempt to add a default value if the user specifies this mode without giving
additional terms. This depends on the caller passing in a `mode_default` property (which can be a string, a term
object, a list of either, or a function generating any of those values). In many cases the `mode_default` property
may simply have a value such as {"+"}, which is processed later by resolve_special().
* `disallow_additional`: If true, no additional terms are allowed after the mode signal; if present, an error is
thrown.
]==]
export.special_modes = {
["-"] = {exists = "không", prefix = "no_",
fallback_label = no_value_fallback_label,
}, -- converted to "--+" if a term follows
["--+"] = {exists = "thường không", prefix = "usually_no_", add_default = true,
fallback_label = function(props)
if props.no_label then
return "thường " .. props.no_label
end
return "thường " .. no_value_fallback_label(props)
end,
fallback_cats = sometimes_or_yes_and_no_cats,
},
["+-"] = {exists = "đôi khi", prefix = "sometimes_", add_default = true,
fallback_label = function(props)
return "đôi khi " .. with_value_fallback_label(props)
end,
fallback_cats = yes_and_no_cats,
},
["++-"] = {exists = "thường", prefix = "usually_", add_default = true,
fallback_label = function(props)
return "đôi khi " .. with_value_fallback_label(props)
end,
fallback_cats = sometimes_or_yes_and_no_cats,
},
["!"] = {exists = "chưa được chứng thực", prefix = "unattested_", disallow_additional = true,
fallback_label = function(props)
return (props.label_for_cats_and_modes or props.label) .. " chưa được chứng thực"
end,
-- No default cats; provided for plurals in inflection_to_cats_and_label.
},
["?"] = {exists = "unknown", prefix = "unknown_", disallow_additional = true,
-- No default label as people have preferred not to see 'plural unknown or uncertain'
-- written out. No default cats; provided for plurals in inflection_to_cats_and_label.
},
}
function export.process_for_insertion(data)
local terms, mode_default, headdata = data.terms, data.mode_default, data.headdata
local retval = {
headdata = data.headdata,
}
if terms and terms[1] then
local mode = terms[1].term
local modespec = export.special_modes[mode]
if modespec then
terms = shallow_copy(terms)
retval.mode_term = terms[1]
remove(terms, 1)
if mode == "-" and terms[1] then
mode = "--+"
end
if terms[1] and modespec.disallow_additional then
error(("It doesn't make sense to specify explicit terms along with mode signal %s (%s)"):format(
mode, modespec.exists))
elseif not terms[1] and modespec.add_default and mode_default then
if type(mode_default) == "function" then
mode_default = mode_default(headdata, retval.mode_term)
end
if mode_default then
terms = export.canonicalize_termobj_list(mode_default, "term", "mode_default", retval.mode_term)
end
end
retval.numterms = #terms
retval.terms = terms
retval.mode = mode
retval.exists = modespec.exists
retval.prefix = modespec.prefix
else
retval.numterms = #terms
retval.terms = terms
retval.exists = "yes"
retval.prefix = ""
end
else
retval.numterms = 0
retval.terms = {}
-- retval.exists = nil
retval.request = data.request
end
return retval
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_processed_inflection(data)
local headdata, processed, label = data.headdata, data.processed, data.label
local inflobj = data.inflobj or headdata
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
-- Handle the fixed label (if any) and cats (if any) associated with a mode.
if processed.mode then
local modespec = export.special_modes[processed.mode]
local mode_prefix = modespec.prefix
local fixed_label = data[mode_prefix .. "label"]
if not fixed_label and modespec.fallback_label then
fixed_label = modespec.fallback_label(data)
end
if fixed_label then
export.insert_fixed_inflection {
headdata = headdata,
inflobj = inflobj,
originating_term = processed.mode_term,
label = fixed_label,
}
end
local mode_cats = data[mode_prefix .. "cats"]
if not mode_cats and modespec.fallback_cats then
mode_cats = modespec.fallback_cats(data)
end
mode_cats = export.canonicalize_category_list(mode_cats)
if mode_cats then
insert_cats(mode_cats)
end
elseif processed.terms[1] and data.cats then
-- If no mode, no fixed label but there may be categories.
insert_cats(data.cats)
end
local terms = processed.terms
if terms[1] then
-- FIXME, if there's a mode we shallow_copy() twice.
terms = shallow_copy(terms)
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)
elseif processed.request then
inflobj.inflections = inflobj.inflections or {}
insert(inflobj.inflections, {
label = export.replace_glossary_links_in_label(label),
request = true,
})
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, mode_default = data.headdata, data.terms, data.mode_default
local processed = export.process_for_insertion {
headdata = headdata,
terms = terms,
mode_default = mode_default,
}
data = shallow_copy(data)
data.processed = processed
export.insert_processed_inflection(data)
return processed
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
--[==[
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 17 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 17 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 17 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 17 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(("Can't set two values for '%s': '%s' and '%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
function export.format_validation_error_list(data)
local valid_list, valid_set, canonicalize = data.valid_list, data.valid_set, data.canonicalize
if not valid_list then
valid_list = {}
for valid_item, value in pairs(valid_set) do
if canonicalize then
if valid_item == value then
insert(valid_list, valid_item)
else
insert(valid_list, ("%s (mapped to %s)"):format(valid_item, value))
end
else
insert(valid_list, valid_item)
end
end
table.sort(valid_list)
end
return mw.text.listToText(valid_list, nil, " hoặc ")
end
function export.validation_error(data)
local item_type, item, valid_list, valid_set, canonicalize =
data.item_type, data.item, data.valid_list, data.valid_set, data.canonicalize
if not valid_list then
valid_list = {}
for valid_item, value in pairs(valid_set) do
if canonicalize then
if valid_item == value then
insert(valid_list, valid_item)
else
insert(valid_list, ("%s (mapped to %s)"):format(valid_item, value))
end
else
insert(valid_list, valid_item)
end
end
table.sort(valid_list)
end
error(("Invalid %s: %s; expected one of %s"):format(item_type, item,
export.format_validation_error_list {
valid_list = valid_list,
valid_set = valid_set,
canonicalize = canonicalize,
}
))
end
--[=[
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).
If `canonicalize`, `valid_items` must be a set mapping items to their canonical equivalents, and the items in `items`
will be canonicalized accordingly and returned.
]=]
local function validate_items(data, canonicalize)
local items, field, valid_items, item_type =
data.items, data.field, data.valid_items, data.item_type
local valid_list, valid_set
if not canonicalize and valid_items[1] and is_array(valid_items) then
valid_list = valid_items
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 item._is_mode and not valid_set[item] then
export.validation_error {
item_type = item_type,
item = item,
valid_list = valid_list,
valid_set = not valid_list and valid_set or nil,
canonicalize = canonicalize,
}
end
end
end
function export.validate_genders(data)
local genders, valid_genders, gender_type, no_augment, canonicalize =
data.genders, data.valid_genders, data.gender_type, data.no_augment, data.canonicalize
if not genders then
return genders
end
gender_type = gender_type or "headword"
local valid_gender_set
if not data.canonicalize and valid_genders[1] and is_array(valid_genders) then
valid_gender_set = list_to_set(valid_genders)
else
valid_gender_set = valid_genders
end
local augmented_gender_set
if no_augment then
augmented_gender_set = valid_gender_set
else
augmented_gender_set = {}
for g, gval in pairs(valid_gender_set) do
augmented_gender_set[g] = gval
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")] = type(gval) == "string" and (gval:gsub("^m", "mf")) or gval
augmented_gender_set[g:gsub("^m", "mfbysense")] = type(gval) == "string" and (gval:gsub("^m", "mfbysense")) or gval
augmented_gender_set[g:gsub("^m", "mfequiv")] = type(gval) == "string" and (gval:gsub("^m", "mfequiv")) or gval
end
end
end
return validate_items {
items = genders,
field = "spec",
valid_items = augmented_gender_set,
item_type = ("%s gender"):format(gender_type),
canonicalize = canonicalize,
}
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:resolve_prop(prop, ...)
if type(prop) == "function" then
prop = prop(self, ...)
end
return prop
end
function Headdata:get_pos_variants()
if self.process_props.pos_variants == nil then
self.process_props.pos_variants = export.get_pos_variants(self.pos_category)
end
return self.process_props.pos_variants
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("{") then
category = require(string_utilities_module).format(category, self:get_pos_variants())
end
if category:find("^Thể loại:") 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
categories = export.canonicalize_category_list(categories)
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
or set 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)
-- FIXME: This has no dependency on self. Uses should be converted to call export.validate_genders() directly.
if not genders then
return
end
props = props or {}
local gender_type, no_augment = props.gender_type, props.no_augment
export.validate_genders {
genders = genders,
valid_genders = valid_genders,
gender_type = gender_type,
no_augment = no_augment,
}
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
function Headdata:process_for_insertion(terms, props)
props = props and shallow_copy(props) or {}
props.headdata = self
props.terms = terms
return export.process_for_insertion(props)
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_processed_inflection(processed, 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 or 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
local spec = inflection_to_cats_and_label[bare_label]
if spec and (not spec.filter_pos or spec.filter_pos(self:get_pos_variants())) then
-- Copy the properties other than filter_pos into `props`, but don't overwrite any existing values.
for specprop, specval in pairs(spec) do
if specprop ~= "filter_pos" and props[specprop] == nil then
props[specprop] = specval
end
end
end
end
-- Now resolve and canonicalize the properties.
local canon_props = {}
for prop, val in pairs(props) do
if prop ~= "no_auto_cats" and (prop == "cats" or prop:find("_cats$")) then
val = self:canonicalize_categories(self:resolve_prop(val))
elseif prop:find("_label$") then
val = self:resolve_prop(val)
end
canon_props[prop] = val
end
canon_props.headdata = self
canon_props.processed = processed
canon_props.label = label
export.insert_processed_inflection(canon_props)
return processed
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)
local processed = self:process_for_insertion(terms, props)
self:insert_processed_inflection(processed, label, props)
return processed
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
local is_special_retval
if type(is_special) == "function" then
is_special_retval = is_special(self, termobj)
elseif type(is_special) == "table" then
is_special_retval = contains(is_special, termobj.term)
else
error(("Internal error: When checking whether term is special, is_special is neither a function nor a " ..
"list, but is %s; term is %s"):format(dump(is_special), dump(termobj)))
end
if not is_special_retval 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["pronouns"] = {
infls = {
{2, type = "genders", validate = valid_genders},
{"f", label = "feminine"},
{"pl", label = "plural"},
},
}
}
The equivalent using `params` and `func` is
{
local valid_genders = {"m", "f", "m-p", "f-p", "p", "?"}
pos_functions["pronouns"] = {
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", "feminine")
data:parse_and_insert_inflection("pl", "plural")
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 data_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,
}
if data_lang == "invocation" or data_lang == "invocation-or-user" then
iparams.lang = true
end
local iargs = require(parameters_module).process(frame.args, iparams)
local parargs = frame:getParent().args
local lang
local function generate_data_lang_error()
error("Internal error: `data.lang` must be either a language object, \"invocation\" for a " ..
"language specified in lang= in the invocation arguments, \"user\" for a language specified in 1= in " ..
"the user template call, or \"invocation-or-user\" for either; saw " .. dump(data.lang))
end
if not data_lang then
generate_data_lang_error()
end
local lang_in_1
if type(data_lang) == "string" then
if data_lang == "invocation" then
lang = iargs.lang
if not lang then
error("Internal error: lang= must be specified in the invocation arguments")
end
elseif data_lang == "invocation-or-user" or data_lang == "user" then
if data_lang == "invocation-or-user" then
lang = iargs.lang
end
if not lang then
lang = ine(parargs[1])
if not lang then
error("Language code (see [[WT:Language codes]]) must be specified in 1=")
end
lang_in_1 = true
end
else
generate_data_lang_error()
end
lang = require(languages_module).getByCode(lang, lang_in_1 and 1 or "lang", true)
elseif type(data_lang) ~= "table" or not data_lang.hasType or not data_lang:hasType("language") then
generate_data_lang_error()
else
lang = data_lang
end
local langcode = lang:getCode()
if validate_lang then
if type(validate_lang) == "function" then
validate_lang(langcode)
else
validate_items {
items = {langcode},
valid_items = validate_lang,
item_type = "language code"
}
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 = 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,
processed_specs = {},
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(...)
return headdata:resolve_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,
-- If true, this is an inflectional suffix (forming a given person/number/gender/etc. part of the inflection of
-- a given part of speech, potentially restricted to a given inflectional class). We always treat these as
-- suffixes, rather than suffix forms, even if they form non-lemma forms (e.g. modern English -s and archaic
-- -eth form the third-singular present indicative of a verb, i.e. they form a verb form, but they are not
-- themselves forms of some other suffix, which is what a suffix form is). We also display the label of
-- inflectional suffixes specially, and add an additional category 'LANG inflectional suffixes' along with
-- categories like 'LANG POS inflectional suffixes' in place of 'LANG POS suffix forms' etc.
inflsuf = boolean_param,
clitic = {type = "boolean or string"},
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
headdata.process_props.pos_variants = nil -- erase the cache
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 = args.clitic
if clitic_label == true then
clitic_label = "khinh âm"
end
if clitic_label then
headdata:insert_category("khinh âm")
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 pos_list_for_inflectional_suffix = {}
local pos_list_for_suffix_form = {}
local pos_list_for_forming_suffix = {}
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
if args.inflsuf then
insert(pos_list_for_inflectional_suffix, form_type)
else
insert(pos_list_for_suffix_form, form_type)
end
else
local singular_pos = require(en_utilities_module).singularize(pos)
if args.inflsuf then
insert(pos_list_for_inflectional_suffix, singular_pos)
else
insert(pos_list_for_forming_suffix, singular_pos .. "-")
end
end
if args.inflsuf then
headdata:insert_category("inflectional suffixes")
end
local simplified_pos = export.simplify_pos(pos, "preserve_proper_nouns", "preserve_lemma_status")
local simplified_form_type = simplified_pos:match("^Biến thể hình thái (.*)$")
if simplified_form_type then
if args.inflsuf then
headdata:insert_category(("%s inflectional suffixes"):format(simplified_form_type))
else
headdata:insert_category(("%s suffix forms"):format(simplified_form_type))
end
else
local singular_simplified_pos = require(en_utilities_module).singularize(simplified_pos)
if args.inflsuf then
headdata:insert_category(("%s inflectional suffixes"):format(singular_simplified_pos))
else
headdata:insert_category(("%s-forming suffixes"):format(singular_simplified_pos))
end
end
local postype
if args.inflsuf then
postype = "lemma"
end
if not postype then
postype = require(headword_module).pos_lemma_or_nonlemma(pos)
end
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
headdata.process_props.pos_variants = nil -- erase the cache
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 = canonicalize_pos(addlpos)
handle_suffix_pos(addlpos, false)
end
end
if pos_list_for_inflectional_suffix[1] then
headdata:insert_fixed_inflection(mw.text.listToText(pos_list_for_inflectional_suffix) .. " inflectional suffix")
end
if pos_list_for_suffix_form[1] then
headdata:insert_fixed_inflection(mw.text.listToText(pos_list_for_suffix_form) .. " suffix form")
end
if pos_list_for_forming_suffix[1] then
headdata:insert_fixed_inflection(mw.text.listToText(pos_list_for_forming_suffix) .. "forming suffix")
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
-- Canonicalize the value(s).
if vals ~= nil and infl.canonicalize ~= nil then
if typ == "boolean" then
interr('Cannot specify canonicalize= when type is "boolean"')
end
local newvals = {}
local field = typ == "genders" and "spec" or "term"
for _, val in ipairs(vals) do
local newval
if val._is_mode then
newval = val
else
if type(infl.canonicalize) == "function" then
newval = infl.canonicalize(val[field])
else
newval = val[field]
newval = infl.canonicalize[newval] or newval
end
end
if val[field] ~= newval then
val = shallow_copy(val)
val[field] = newval
end
insert(newvals, val)
end
vals = newvals
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
export.validate_genders {
genders = vals,
valid_genders = infl.validate,
no_augment = resolve_prop(infl.no_augment_genders),
}
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
local function run_and_check_return_value(fun, funname, ...)
local retval, intentionally_nil = fun(...)
if retval == nil and not intentionally_nil then
interr(("If you return nil from %s, you must return a second non-nil return " ..
"value to indicate that the nil return value was intentional"):format(funname))
end
return retval
end
-- Run the process_after_parse handler, if it exists.
if vals ~= nil and infl.process_after_parse ~= nil then
vals = run_and_check_return_value(infl.process_after_parse, "process_after_parse", headdata, vals)
end
-- Process strings for insertion, to handle special mode signals like -, +-, ?, etc.
local processed
if typ == "string" then
local process_for_insertion_props = resolve_prop(infl.process_for_insertion_props, vals)
processed = headdata:process_for_insertion(vals, process_for_insertion_props)
headdata.process_props.processed_specs[param] = processed
if processed.numterms > 0 and infl.process_one_term ~= nil then
local processed_terms = {}
for _, termobj in ipairs(processed.terms) do
local processed_term = run_and_check_return_value(infl.process_one_term, "process_one_term",
headdata, termobj)
if processed_term ~= nil then
-- FIXME: Should we add an origin of "process_one_term" here? (But this would erase
-- any "default" or "resolve_special" origins.)
local newterms = export.canonicalize_termobj_list(processed_term, "term", nil, nil,
termobj)
for _, newterm in ipairs(newterms) do
insert(processed_terms, newterm)
end
end
end
processed = shallow_copy(processed)
processed.terms = processed_terms
processed.numterms = #processed_terms
end
if processed.numterms > 0 and infl.process_terms ~= nil then
local process_terms_result = run_and_check_return_value(infl.process_terms, "process_terms",
processed)
process_terms_result = process_terms_result or {}
if process_terms_result[1] or not next(process_terms_result) then
processed = shallow_copy(processed)
processed.terms = process_terms_result
processed.numterms = #process_terms_result
elseif not process_terms_result.terms or not process_terms_result.numterms then
error("Return value from process_terms() should be either a list of term objects or a " ..
"`processed` structure containing such a list")
else
processed = process_terms_result
end
end
vals = processed.terms
end
local inserted_fixed_label
-- "Implement" the values. Fixed labels and cats only fire when non-falsy (i.e. we don't want to fire
-- on boolean false or empty list). We call insert_processed_inflection() always because there may be
-- a mode even when there are no values.
if vals == true or type(vals) == "table" and vals[1] 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
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
end
-- See above; if there's a label (which can only happen when typ == "string"), always call
-- insert_processed_inflection.
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_processed_inflection_props =
resolve_prop(infl.insert_processed_inflection_props, vals)
local function copy_to_insert_processed_inflection_props(field, val)
local fieldval = val or resolve_prop(infl[field], vals)
if fieldval ~= nil then
if insert_processed_inflection_props == nil then
insert_processed_inflection_props = {}
else
insert_processed_inflection_props =
shallow_copy(insert_processed_inflection_props)
end
insert_processed_inflection_props[field] = fieldval
end
end
copy_to_insert_processed_inflection_props("label_for_cats_and_modes")
copy_to_insert_processed_inflection_props("no_auto_cats")
copy_to_insert_processed_inflection_props("accel")
copy_to_insert_processed_inflection_props("accel_form")
copy_to_insert_processed_inflection_props("request")
if not processed then
interr("`processed` structure wasn't properly created")
end
headdata:insert_processed_inflection(processed, label, insert_processed_inflection_props)
inserted_vals = true
end
end
-- See above; only fire for cats (and gender insertion) on non-falsy values.
if vals == true or type(vals) == "table" and vals[1] then
if typ == "genders" then
headdata.genders = vals
end
local inserted_cat
if infl.cat then
if typ == "boolean" then
vals = {vals}
end
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"):format(dump(vals), param))
end
end
if processed then
-- FIXME, convert to use `processed_specs` field and remove this
headdata.process_props.insert_specs[param] = processed
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.process then
infl.process(headdata)
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")
headdata.checkredlinks = resolve_prop(checkredlinks)
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
k7qr5jyg0fymbj03vctgftvb8emuu05
Mô đun:languages/data/3/s
828
271066
2574765
2573196
2026-11-01T13:20:43Z
Lcsnes
40261
2574765
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"] = {
"tiếng Sokoro",
3441303,
"cdc-est",
"Latn",
"Tiếng Sokoro",
"Sokoro",
}
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")
44qyozz7jv0nul55pf0rrjr563hvbsa
Mô đun:languages/data/3/p
828
271928
2574827
2570786
2026-11-02T09:20:54Z
Hiyuune
50834
2574827
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["pab"] = {
"tiếng Pareci",
3504312,
"awd",
"Latn",
"Tiếng Pareci",
"Pareci",
}
m["pac"] = {
"tiếng Pa Kô",
3441136,
"mkh-kat",
"Latn",
"Tiếng Pa Kô",
"Pa Kô",
}
m["pad"] = {
"Paumarí",
389827,
"auf",
"Latn",
}
m["pae"] = {
"Pagibete",
7124357,
"bnt-bta",
"Latn",
}
m["paf"] = {
"Paranawát",
12953806,
"tup-gua",
"Latn",
}
m["pag"] = {
"tiếng Pangasinan",
33879,
"phi",
"Latn, Tglg",
"Tiếng Pangasinan",
"Pangasinan",
entry_name = {remove_diacritics = c.grave .. c.acute .. c.circ .. c.diaer},
}
m["pah"] = {
"tiếng Tenharim",
10266010,
"tup-gua",
"Latn",
"Tiếng Tenharim",
"Tenharim",
}
m["pai"] = {
"Pe",
3914871,
"nic-tar",
"Latn",
}
m["pak"] = {
"Parakanã",
12953804,
"tup-gua",
"Latn",
}
m["pal"] = {
"tiếng Ba Tư trung đại",
32063,
"ira-swi",
"Latn, Phli, pal-Avst, Mani, Phlp, Phlv", -- Latn for translit; Phlv not in Unicode
"Tiếng Ba Tư trung đại",
"Ba Tư trung đại",
translit = {
Phli = "Phli-translit",
["pal-Avst"] = "Avst-translit",
Mani = "Mani-translit",
},
ancestors = "peo",
}
m["pam"] = {
"tiếng Kapampangan",
36121,
"phi",
"Latn", --also Kulitan, which lacks a code
"Tiếng Kapampangan",
"Kapampangan",
entry_name = {Latn = {remove_diacritics = c.grave .. c.acute .. c.circ}},
standardChars = {
Latn = "AaBbDdEeGgHhIiKkLlMmNnOoPpRrSsTtUuWwYy",
c.punc
},
sort_key = {
Latn = "tl-sortkey"
},
}
m["pao"] = {
"tiếng Bắc Paiute",
3360656,
"azc-num",
"Latn",
"Tiếng Bắc Paiute",
"Bắc Paiute",
}
m["pap"] = {
"tiếng Papiamento",
33856,
"crp",
"Latn",
"Tiếng Papiamento",
"Papiamento",
ancestors = "pt",
}
m["paq"] = {
"tiếng Parya",
1135134,
"inc-cen",
"Cyrl",
"Tiếng Parya",
"Parya",
}
m["par"] = {
"Panamint",
33926,
"azc-num",
"Latn",
}
m["pas"] = {
"Papasena",
7132508,
"paa-lkp",
"Latn",
}
m["pat"] = {
"Papitalai",
6528659,
"poz-aay",
"Latn",
}
m["pau"] = {
"tiếng Palau",
33776,
"poz",
"Latn, Kana",
"Tiếng Palau",
"Palau",
sort_key = {Kana = "Kana-sortkey"},
}
m["pav"] = {
"Wari'",
3027909,
"sai-cpc",
"Latn",
}
m["paw"] = {
"tiếng Pawnee",
56751,
"cdd",
"Latn",
"Tiếng Pawnee",
"Pawnee",
}
m["pax"] = {
"Pankararé",
25559779,
nil,
"Latn",
}
m["pay"] = {
"Pech",
4898889,
"cba",
"Latn",
}
m["paz"] = {
"Pankararú",
7131310,
nil,
"Latn",
}
m["pbb"] = {
"Páez",
33677,
nil,
"Latn",
}
m["pbc"] = {
"Patamona",
3915921,
"sai-pem",
"Latn",
}
m["pbe"] = {
"Mezontla Popoloca",
42365630,
"omq-pop",
"Latn",
}
m["pbf"] = {
"Coyotepec Popoloca",
5180100,
"omq-pop",
"Latn",
}
m["pbg"] = {
"tiếng Paraujano",
3501747,
"awd-taa",
"Latn",
"Tiếng Paraujano",
"Paraujano",
}
m["pbh"] = {
"Panare",
56610,
"sai-ven",
"Latn",
}
m["pbi"] = {
"Podoko",
3515096,
"cdc-cbm",
"Latn",
}
m["pbl"] = {
"Mak (Nigeria)",
3915349,
"alv-bwj",
"Latn",
}
m["pbm"] = {
"Puebla Mazatec",
nil,
"omq-maz",
"Latn",
}
m["pbn"] = {
"Kpasam",
3914902,
"alv-mye",
"Latn",
}
m["pbo"] = {
"Papel",
36314,
"alv-pap",
"Latn",
}
m["pbp"] = {
"Badyara",
35095,
"alv-ten",
"Latn",
}
m["pbr"] = {
"Pangwa",
3847550,
"bnt-bki",
"Latn",
}
m["pbs"] = {
"Central Pame",
3361763,
"omq",
"Latn",
}
m["pbv"] = {
"tiếng Pnar",
3501850,
"aav-pkl",
"Latn",
"Tiếng Pnar",
"Pnar",
}
m["pby"] = {
"Pyu",
2567925,
"paa-asa",
"Latn",
}
m["pca"] = {
"Santa Inés Ahuatempan Popoloca",
42365276,
"omq-pop",
"Latn",
}
m["pcb"] = {
"tiếng Pear",
6583669,
"mkh-pea",
"Khmr",
"Tiếng Pear",
"Pear"
}
m["pcc"] = {
"tiếng Bố Y",
35100,
"tai-nor",
"Latn, Hani",
"Tiếng Bố Y",
"Bố Y",
sort_key = {Hani = "Hani-sortkey"},
}
m["pcd"] = {
"tiếng Picard",
34024,
"roa-oil",
"Latn",
"Tiếng Picard",
"Picard",
sort_key = s["roa-oil-sortkey"],
}
m["pce"] = {
"tiếng Palaung Ruching",
12953798,
"mkh-pal",
"Mymr",
"Tiếng Palaung Ruching",
"Palaung Ruching",
}
m["pcf"] = {
"tiếng Paliyan",
7127643,
"dra-tam",
"Deva, Mlym",
"Tiếng Paliyan",
"Paliyan",
translit = {Mlym = "ml-translit"},
}
m["pcg"] = {
"tiếng Paniya",
7131211,
"dra-mal",
"Mlym, Knda",
"Tiếng Paniya",
"Paniya",
translit = {
Mlym = "ml-translit",
Knda = "kn-translit",
},
}
m["pch"] = {
"Pardhan",
7133207,
"dra-gon",
}
m["pci"] = {
"tiếng Duruwa",
56753,
"dra-pgd",
"Deva, Orya",
"Tiếng Duruwa",
"Duruwa",
}
m["pcj"] = {
"tiếng Parenga",
3111396,
"mun",
"Orya",
"Tiếng Parenga",
"Parenga",
}
m["pck"] = {
"tiếng Paite",
12952337,
"tbq-kuk",
nil,
"Tiếng Paite",
"Paite",
}
m["pcl"] = {
"Pardhi",
7136554,
"inc-bhi",
}
m["pcm"] = {
"Nigerian Pidgin",
33655,
"crp",
"Latn",
ancestors = "en",
entry_name = {remove_diacritics = c.grave .. c.acute .. c.circ .. c.caron .. c.macronbelow},
sort_key = {
remove_diacritics = c.tilde,
from = {"ẹ", "gb", "kp", "ọ", "sh", "zh"},
to = {"e" .. p[1], "g" .. p[1], "k" .. p[1], "o" .. p[1], "s" .. p[1], "z" .. p[1]}
},
}
m["pcn"] = {
"Piti",
3913375,
"nic-kne",
"Latn",
}
m["pcp"] = {
"Pacahuara",
2591165,
"sai-pan",
"Latn",
}
m["pcw"] = {
"Pyapun",
3438807,
nil,
"Latn",
}
m["pda"] = {
"Anam",
3501930,
"ngf-mad",
"Latn",
}
m["pdc"] = {
"tiếng Đức Pennsylvania",
22711,
"gmw-hgm",
"Latn",
"Tiếng Đức Pennsylvania",
"Đức Pennsylvania",
ancestors = "gmw-rfr",
}
m["pdi"] = {
"Pa Di",
3359940,
nil,
"Latn",
}
m["pdn"] = {
"Fedan",
7206699,
"poz-ocw",
"Latn",
}
m["pdo"] = {
"Padoe",
3360370,
"poz-btk",
"Latn",
}
m["pdt"] = {
"tiếng Hạ Đức Mennonite",
1751432,
"gmw-lgm",
"Latn",
"Tiếng Hạ Đức Mennonite",
"Hạ Đức Mennonite",
ancestors = "nds-de",
}
m["pdu"] = {
"tiếng Kayan",
7123283,
"kar",
"Latn, Mymr",
"Tiếng Kayan",
"Kayan",
}
m["pea"] = {
"tiếng Indonesia Peranakan",
653415,
nil,
"Latn",
"Tiếng Indonesia Peranakan",
"Indonesia Peranakan",
}
m["peb"] = {
"Eastern Pomo",
3396032,
"nai-pom",
"Latn",
}
m["ped"] = {
"Mala (New Guinea)",
11732569,
"ngf-mad",
"Latn",
}
m["pee"] = {
"Taje",
12953902,
nil,
"Latn",
}
m["pef"] = {
"Northeastern Pomo",
3396018,
"nai-pom",
"Latn",
}
m["peg"] = {
"tiếng Pengo",
56758,
"dra-kki",
"Orya",
translit = "kxv-translit",
"Tiếng Pengo",
"Pengo",
}
m["peh"] = {
"tiếng Bảo An",
32983,
"xgn-shr",
"Latn",
"Tiếng Bảo An",
"Bảo An",
}
m["pei"] = {
"Chichimeca-Jonaz",
3915427,
"omq-otp",
"Latn",
}
m["pej"] = {
"Northern Pomo",
3396021,
"nai-pom",
"Latn",
}
m["pek"] = {
"Penchal",
3374631,
"poz-aay",
"Latn",
}
m["pel"] = {
"Pekal",
3241781,
nil,
"Latn",
}
m["pem"] = {
"Phende",
7162372,
"bnt-pen",
"Latn",
}
m["peo"] = {
"tiếng Ba Tư cổ",
35225,
"ira-swi",
"Xpeo, Latn",
"Tiếng Ba Tư cổ",
"Ba Tư cổ",
translit = "peo-translit",
}
m["pep"] = {
"Kunja",
6444807,
nil,
"Latn",
}
m["peq"] = {
"Southern Pomo",
3396023,
"nai-pom",
"Latn",
}
-- "pes" IS TREATED AS "fa" (or as etymology-only), SEE WT:LT
m["pev"] = {
"Pémono",
3439012,
"sai-map",
"Latn",
}
m["pex"] = {
"Petats",
3376353,
"poz-ocw",
"Latn",
}
m["pey"] = {
"tiếng Petjo",
940486,
nil,
"Latn",
"Tiếng Petjo",
"Petjo",
}
m["pez"] = {
"Eastern Penan",
18638342,
"poz-swa",
"Latn",
}
m["pfa"] = {
"Pááfang",
3063517,
"poz-mic",
"Latn",
}
m["pfe"] = {
"Peere",
36377,
"alv-dur",
"Latn",
}
m["pga"] = {
"tiếng Ả Rập Juba",
1262143,
"crp",
"Latn",
"Tiếng Ả Rập Juba",
"Ả Rập Juba",
ancestors = "apd",
}
m["pgd"] = {
"tiếng Càn-đà-la",
nil,
"inc-mid",
"Deva, Khar",
"Tiếng Càn-đà-la",
"Càn-đà-la",
ancestors = "inc-ash",
translit = "Khar-translit",
}
m["pgg"] = {
"tiếng Pangwala",
13600429,
"him",
"Deva, Takr",
"Tiếng Pangwala",
"Pangwala",
translit = "hi-translit",
}
m["pgi"] = {
"Pagi",
7124354,
"paa-brd",
"Latn",
}
m["pgk"] = {
"Rerep",
586907,
"poz-vnc",
"Latn",
}
m["pgl"] = {
"tiếng Ireland nguyên thủy",
3320030,
"cel-gae",
"Ogam, Latn",
translit = "pgl-translit",
}
m["pgn"] = {
"tiếng Paeligni",
65455883,
"itc-sbl",
"Latn, Ital",
"Tiếng Paeligni",
"Paeligni",
translit = {Ital = "Ital-translit"},
}
m["pgs"] = {
"Pangseng",
3914027,
"alv-mum",
"Latn",
}
m["pgu"] = {
"tiếng Pagu",
7124462,
"paa-nha",
"Latn",
"Tiếng Pagu",
"Pagu",
}
m["pgz"] = {
"Papua New Guinean Sign Language",
25044405,
"sgn",
}
m["pha"] = {
"tiếng Pà Thẻn",
2625410,
"hmn",
"Latn",
"Tiếng Pà Thẻn",
"Pà Thẻn"
}
m["phd"] = {
"Phudagi",
7188289,
}
m["phg"] = {
"tiếng Cơ Tu Phương",
7188376,
"mkh-kat",
"Latn",
"Tiếng Cơ Tu Phương",
"Cơ Tu Phương",
}
m["phh"] = {
"Phukha",
7188298,
"tbq-phw",
}
m["phk"] = {
"tiếng Phake",
7675798,
"tai-swe",
"Mymr",
"Tiếng Phake",
"Phake",
translit = "aio-phk-translit",
entry_name = {remove_diacritics = c.VS01},
}
m["phl"] = {
"tiếng Phalura",
2449549,
"inc-shn",
"Latn, ur-Arab",
"Tiếng Phalura",
"Phalura",
}
m["phm"] = {
"Phimbi",
11007144,
"bnt-sna",
"Latn",
}
m["phn"] = {
"tiếng Phoenicia",
36734,
"sem-can",
"Phnx",
"Tiếng Phoenicia",
"Phoenicia",
translit = "Phnx-translit",
}
m["pho"] = {
"tiếng Phunoi",
7188361,
"tbq-bis",
"Laoo",
"Tiếng Phunoi",
"Phunoi",
}
m["phq"] = {
"Phana'",
7180427,
"tbq-sil",
}
m["phr"] = {
"tiếng Pothohar",
33739,
"inc-pan",
"pa-Arab, Guru",
"Tiếng Pothohar",
"Pothohar",
ancestors = "lah",
translit = {
Guru = "Guru-translit",
["pa-Arab"] = "pa-Aran-translit",
},
entry_name = {
["pa-Arab"] = {
remove_diacritics = c.fathatan .. c.dammatan .. c.kasratan .. c.fatha .. c.damma .. c.kasra .. c.shadda .. c.sukun .. c.nunghunna,
from = {"ݨ", "ࣇ"},
to = {"ن", "ل"}
},
}
}
m["pht"] = {
"tiếng Phu Thái",
3626597,
"tai-swe",
"Thai",
"Tiếng Phu Thái",
"Phu Thái",
}
m["phu"] = {
"tiếng Phuan",
3915665,
nil,
"Thai",
"Tiếng Phuan",
"Phuan",
}
m["phv"] = {
"Pahlavani",
7124567,
}
m["phw"] = {
"Phangduwali",
12953036,
"sit-kie",
ancestors = "ybh",
}
m["pia"] = {
"Pima Bajo",
3388544,
"azc",
"Latn",
}
m["pib"] = {
"Yine",
3135432,
"awd",
"Latn",
}
m["pic"] = {
"Pinji",
36296,
"bnt-tso",
"Latn",
}
m["pid"] = {
"Piaroa",
3382207,
nil,
"Latn",
}
m["pie"] = {
"Piro",
7198055,
"nai-kta",
"Latn",
}
m["pif"] = {
"Pingelapese",
36421,
"poz-mic",
"Latn",
}
m["pig"] = {
"Pisabo",
966883,
"sai-pan",
"Latn",
}
m["pih"] = {
"Pitcairn-Norfolk",
36554,
"crp",
"Latn",
ancestors = "en",
}
m["pii"] = {
"Pini",
10631925,
}
m["pij"] = {
"Pijao",
7193519,
}
m["pil"] = {
"tiếng Yom",
36893,
"nic-yon",
"Latn",
"Tiếng Yom",
"Yom",
}
m["pim"] = {
"Powhatan",
2270532,
"alg-eas",
"Latn",
}
m["pin"] = {
"Piame",
7190042,
}
m["pio"] = {
"Piapoco",
3382208,
"awd-nwk",
"Latn",
}
m["pip"] = {
"Pero",
2411063,
"cdc-wst",
}
m["pir"] = {
"Piratapuyo",
3389119,
"sai-tuc",
"Latn",
}
m["pis"] = {
"tiếng Pijin",
36699,
"crp",
"Latn",
ancestors = "en",
}
m["pit"] = {
"Pitta-Pitta",
6433116,
"aus-kar",
"Latn",
}
m["piu"] = {
"Pintupi-Luritja",
2591175,
"aus-pam",
}
m["piv"] = {
"Pileni",
2976736,
"poz-pnp",
"Latn",
}
m["piw"] = {
"Pimbwe",
3894132,
"bnt-mwi",
}
m["pix"] = {
"Piu",
7199578,
}
m["piy"] = {
"Piya-Kwonci",
3440492,
}
m["piz"] = {
"Pije",
3388339,
"poz-cln",
"Latn",
}
m["pjt"] = {
"tiếng Pitjantjatjara",
2982063,
"aus-pam",
"pjt-Latn",
"Tiếng Pitjantjatjara",
"Pitjantjatjara",
}
m["pkb"] = {
"Kipfokomo",
7208693,
"bnt-sab",
"Latn",
}
m["pkc"] = {
"tiếng Bách Tế",
4841264,
"qfa-kor",
"Hani, Kana",
"Tiếng Bách Tế",
"Bách Tế",
sort_key = {
Hani = "Hani-sortkey",
Kana = "Kana-sortkey"
},
}
m["pkg"] = {
"Pak-Tong",
3360711,
}
m["pkh"] = {
"Pankhu",
7130962,
"tbq-kuk",
}
m["pkn"] = {
"Pakanha",
954916,
"aus-pmn",
}
m["pko"] = {
"Pökoot",
36323,
"sdv-kln",
}
m["pkp"] = {
"Pukapukan",
36447,
"poz-pnp",
"Latn",
}
m["pkr"] = {
"tiếng Kurumba Attapady",
16835180,
"dra-imd",
"Mlym",
"Tiếng Kurumba Attapady",
"Kurumba Attapady",
translit = "ml-translit",
}
m["pks"] = {
"Pakistan Sign Language",
22964057,
"sgn",
}
m["pkt"] = {
"tiếng Mã Liềng",
6583562,
"mkh-vie",
nil,
"Tiếng Mã Liềng",
"Mã Liềng",
}
m["pku"] = {
"tiếng Paku",
2932604,
"poz-bre",
"Latn",
"Tiếng Paku",
"Paku"
}
m["pla"] = {
"Miani",
12952844,
nil,
"Latn",
}
m["plb"] = {
"Polonombauk",
7225957,
"poz-vnc",
"Latn",
}
m["plc"] = {
"Central Palawano",
12953795,
"phi",
"Latn",
}
m["ple"] = {
"Palu'e",
2196866,
"poz-cet",
"Latn",
}
m["plg"] = {
"tiếng Pilagá",
2748259,
"sai-guc",
"Latn",
"Tiếng Pilagá",
"Pilagá",
}
m["plh"] = {
"Paulohi",
7155331,
"poz-cma",
}
m["plj"] = {
"tiếng Polci",
3914383,
"Ngôn ngữ không xếp loại",
"Latn",
"Tiếng Polci",
"Polci",
}
m["plk"] = {
"tiếng Shina Kohistan",
12953882,
"inc-shn",
"ur-Arab",
"Tiếng Shina Kohistan",
"Shina Kohistan",
}
m["pll"] = {
"tiếng Palaung Shwe",
27941664,
"mkh-pal",
"Mymr",
"Tiếng Palaung Shwe",
"Palaung Shwe",
}
m["pln"] = {
"tiếng Palenquero",
36665,
"crp",
"Latn",
"Tiếng Palenquero",
"Palenquero",
ancestors = "es",
}
m["plo"] = {
"Oluta Popoluca",
5908687,
"nai-miz",
"Latn",
}
m["plq"] = {
"tiếng Pala",
36582,
"ine-ana",
"Xsux",
"Tiếng Pala",
"Pala",
}
m["plr"] = {
"Palaka Senoufo",
36346,
"alv-snf",
"Latn",
}
m["pls"] = {
"San Marcos Tlalcoyalco Popoloca",
12641692,
"omq-pop",
"Latn",
}
m["plu"] = {
"Palikur",
3073448,
"awd",
"Latn",
}
m["plv"] = {
"Southwest Palawano",
15614922,
"phi",
"Latn",
}
m["plw"] = {
"tiếng Palawano Brooke's Point",
12953796,
"phi",
"Latn",
"Tiếng Palawano Brooke's Point",
"Palawano Brooke's Point",
}
m["ply"] = {
"tiếng Bố Lưu",
3361723,
"mkh-pkn",
"Latn",
"Tiếng Bố Lưu",
"Bố Lưu",
}
m["plz"] = {
"Paluan",
7128795,
nil,
"Latn",
}
m["pma"] = {
"Paama",
3130286,
"poz-vnc",
"Latn",
}
m["pmb"] = {
"Pambia",
36267,
"znd",
"Latn",
}
m["pmd"] = {
"Pallanganmiddang",
7127734,
"aus-pam",
"Latn",
}
m["pme"] = {
"Pwaamei",
3411152,
"poz-cln",
"Latn",
}
m["pmf"] = {
"Pamona",
3513320,
"poz-kal",
"Latn",
}
m["pmi"] = {
"Northern Pumi",
3403245,
"sit-qia",
}
m["pmj"] = {
"Southern Pumi",
3403246,
"sit-qia",
}
m["pmk"] = {
"Pamlico",
nil,
"alg-eas",
"Latn",
}
m["pml"] = {
"Sabir",
636479,
"crp",
"Latn",
ancestors = "lij, pro, vec",
}
m["pmm"] = {
"Pol",
36408,
"bnt-kak",
"Latn",
}
m["pmn"] = {
"Pam",
7129017,
"alv-mbm",
}
m["pmo"] = {
"Pom",
7227178,
"poz-hce",
"Latn",
}
m["pmq"] = {
"Northern Pame",
3361762,
"omq",
"Latn",
}
m["pmr"] = {
"Paynamar",
3450824,
}
m["pms"] = {
"tiếng Piemonte",
15085,
"roa-git",
"Latn",
"Tiếng Piemonte",
"Piemonte",
}
m["pmt"] = {
"tiếng Tuamotu",
36763,
"poz-pep",
"Latn",
"Tiếng Tuamotu",
"Tuamotu",
}
m["pmu"] = {
"Mirpur Panjabi",
6874480,
}
m["pmw"] = {
"Plains Miwok",
3391031,
"nai-you",
"Latn",
}
m["pmx"] = {
"Poumei Naga",
12952910,
"tbq-anp",
}
m["pmy"] = {
"Papuan Malay",
12473446,
nil,
"Latn",
}
m["pmz"] = {
"Southern Pame",
3361765,
"omq",
"Latn",
}
m["pna"] = {
"Punan Bah-Biau",
4842201,
}
m["pnb"] = {
"Western Panjabi",
58635,
"inc-pan",
"pa-Arab",
ancestors = "pa",
}
m["pnc"] = {
"Pannei",
7131391,
}
m["pnd"] = {
"Mpinda",
63308194,
"bnt-kmb",
}
m["pne"] = {
"Western Penan",
12953808,
"poz-swa",
"Latn",
}
m["png"] = {
"Pongu",
36282,
"nic-shi",
}
m["pnh"] = {
"Penrhyn",
3130301,
"poz-pep",
"Latn",
}
m["pni"] = {
"Aoheng",
4778608,
"poz",
}
m["pnj"] = {
"Pinjarup",
33103591,
}
m["pnk"] = {
"tiếng Pauna",
2064378,
"awd",
"Latn",
"Tiếng Pauna",
"Pauna",
}
m["pnl"] = {
"Paleni",
7127118,
"alv-wan",
"Latn",
}
m["pnm"] = {
"Punan Batu",
7259892,
}
m["pnn"] = {
"Pinai-Hagahai",
5638511,
}
m["pno"] = {
"Panobo",
3141869,
"sai-pan",
"Latn",
}
m["pnp"] = {
"tiếng Pancana",
7130204,
"poz-mun",
"Latn",
"Tiếng Pancana",
"Pancana"
}
m["pnq"] = {
"Pana (West Africa)",
7129739,
"nic-gnn",
"Latn",
}
m["pnr"] = {
"Panim",
11732562,
"ngf-mad",
}
m["pns"] = {
"tiếng Ponosakan",
7227956,
"phi",
"Latn",
"Tiếng Ponosakan",
"Ponosakan",
}
m["pnt"] = {
"tiếng Hy Lạp Pontos",
36748,
"grk",
"Grek, Latn, Cyrl",
"Tiếng Hy Lạp Pontos",
"Hy Lạp Pontos",
ancestors = "gkm",
translit = {Grek = "el-translit"},
entry_name = {remove_diacritics = c.caron .. c.diaerbelow .. c.brevebelow},
sort_key = s["Grek-sortkey"],
}
m["pnu"] = {
"Jiongnai Bunu",
56325,
"hmn",
}
m["pnv"] = {
"Pinigura",
10631927,
"aus-psw",
"Latn",
}
m["pnw"] = {
"Panyjima",
3913830,
"aus-nga",
"Latn",
}
m["pnx"] = {
"tiếng Phong-Kniang",
3914627,
"mkh",
nil,
"Tiếng Phong-Kniang",
"Phong-Kniang",
}
m["pny"] = {
"tiếng Pinyin",
36250,
"nic-nge",
"Latn",
"Tiếng Pinyin",
"Pinyin",
}
m["pnz"] = {
"Pana (Central Africa)",
36241,
"alv-mbm",
"Latn",
}
m["poc"] = {
"Poqomam",
36416,
"myn",
"Latn",
}
m["poe"] = {
"San Juan Atzingo Popoloca",
12953819,
"omq-pop",
"Latn",
}
m["pof"] = {
"Poke",
7208577,
"bnt-ske",
}
m["pog"] = {
"Potiguára",
56722,
"tup-gua",
"Latn",
}
m["poh"] = {
"Poqomchi'",
36414,
"myn",
"Latn",
}
m["poi"] = {
"tiếng Popoluca cao nguyên",
7511556,
"nai-miz",
"Latn",
"Tiếng Popoluca cao nguyên",
"Popoluca cao nguyên",
}
m["pok"] = {
"Pokangá",
25559704,
"sai-tuc",
"Latn",
}
m["pom"] = {
"Southeastern Pomo",
3396025,
"nai-pom",
"Latn",
}
m["pon"] = {
"tiếng Pohnpei",
28422,
"poz-mic",
"Latn",
"Tiếng Pohnpei",
"Pohnpei",
}
m["poo"] = {
"Central Pomo",
3396020,
"nai-pom",
"Latn",
}
m["pop"] = {
"Pwapwa",
3411153,
"poz-cln",
"Latn",
}
m["poq"] = {
"Texistepec Popoluca",
5908707,
"nai-miz",
"Latn",
}
m["pos"] = {
"Sayula Popoluca",
5908722,
"nai-miz",
"Latn",
}
m["pot"] = {
"tiếng Potawatomi",
56749,
"alg",
"Latn",
"Tiếng Potawatomi",
"Potawatomi",
}
m["pov"] = {
"tiếng Creole Guinea-Bissau",
33339,
"crp",
"Latn",
"Tiếng Creole Guinea-Bissau",
"Creole Guinea-Bissau",
ancestors = "pt",
}
m["pow"] = {
"San Felipe Otlaltepec Popoloca",
25559598,
"omq-pop",
"Latn",
}
m["pox"] = {
"tiếng Polabia",
36741,
"zlw-lch",
"Latn",
"Tiếng Polabia",
"Polabia",
}
m["poy"] = {
"Pogolo",
2429648,
"bnt-kil",
}
m["ppa"] = {
"Pao",
7132069,
}
m["ppe"] = {
"Papi",
7132809,
}
m["ppi"] = {
"Paipai",
56726,
"nai-yuc",
"Latn",
}
m["ppk"] = {
"Uma",
7881036,
"poz-kal",
"Latn",
}
m["ppl"] = {
"tiếng Pipil",
1186896,
"azc-nah",
"Latn",
"Tiếng Pipil",
"Pipil",
entry_name = {remove_diacritics = c.acute .. c.macron},
}
m["ppm"] = {
"tiếng Papuma",
7133239,
"poz-hce",
"Latn",
}
m["ppn"] = {
"Papapana",
3362757,
"poz-ocw",
"Latn",
}
m["ppo"] = {
"tiếng Folopa",
5464843,
"paa",
"Latn",
"Tiếng Folopa",
"Folopa",
}
m["ppq"] = {
"Pei",
7160903,
}
m["pps"] = {
"San Luís Temalacayuca Popoloca",
25559602,
"omq-pop",
"Latn",
}
m["ppt"] = {
"Pa",
3504757,
"ngf",
"Latn",
}
m["ppu"] = {
"Papora",
2094884,
"map",
"Latn",
}
m["pqa"] = {
"Pa'a",
3441315,
"cdc-wst",
}
m["pqm"] = {
"tiếng Malecite-Passamaquoddy",
3183144,
"alg-eas",
"Latn",
"Tiếng Malecite-Passamaquoddy",
"Malecite-Passamaquoddy",
}
m["pra"] = {
"tiếng Prakrit",
192170,
"inc-mid",
"Brah, Deva, Gujr, Knda",
"Tiếng Prakrit",
"Prakrit",
ancestors = "inc-ash",
translit = {
-- Brah translit in [[Module:scripts/data]]
Deva = "pra-Deva-translit",
Gujr = "sa-Gujr-translit",
Knda = "pra-Knda-translit",
},
strip_diacritics = {
-- FIXME: separate by script
from = {"ऎ", "ऒ", u(0x0946), u(0x094A), "य़", "ಯ಼", u(0x11071), u(0x11072), u(0x11073), u(0x11074)},
to = {"ए", "ओ", u(0x0947), u(0x094B), "य", "ಯ", "𑀏", "𑀑", u(0x11042), u(0x11044)}
} ,
}
m["prc"] = {
"tiếng Parachi",
2640637,
"ira-orp",
"Arab",
"Tiếng Parachi",
"Parachi",
}
-- "prd" IS NOT INCLUDED, SEE WT:LT
m["pre"] = {
"Principense",
36520,
"crp",
"Latn",
ancestors = "pt",
}
m["prf"] = {
"Paranan",
7135433,
"phi",
}
m["prg"] = {
"tiếng Phổ cổ",
35501,
"bat-wes",
"Latn",
"Tiếng Phổ cổ",
"Phổ cổ",
}
m["prh"] = {
"Porohanon",
6583710,
"phi",
}
m["pri"] = {
"Paicî",
732131,
"poz-cln",
"Latn",
}
m["prk"] = {
"tiếng Parauk",
3363719,
"mkh-pal",
nil,
"Tiếng Parauk",
"Parauk",
}
m["prl"] = {
"Peruvian Sign Language",
3915508,
"sgn",
}
m["prm"] = {
"Kibiri",
56745,
"paa",
}
m["prn"] = {
"tiếng Prasun",
32689,
"nur-nor",
nil,
"Tiếng Prasun",
"Prasun",
}
m["pro"] = {
"tiếng Occitan cổ",
2779185,
"roa-ocr",
"Latn",
"Tiếng Occitan cổ",
"Occitan cổ",
sort_key = {remove_diacritics = c.cedilla},
}
-- "prp" IS NOT INCLUDED, SEE WT:LT
m["prq"] = {
"Ashéninka Perené",
3450601,
"awd",
"Latn",
}
m["prr"] = {
"Puri",
7261687,
}
-- "prs" IS TREATED AS "fa" (or as etymology-only), SEE WT:LT
m["prt"] = {
"tiếng Phai",
7180184,
"mkh-khm",
"Thai",
"Tiếng Phai",
"Phai",
}
m["pru"] = {
"Puragi",
7260800,
"ngf-sbh",
}
m["prw"] = {
"Parawen",
7136291,
"ngf-mad",
}
m["prx"] = {
"Purik",
567905,
"sit-lab",
}
m["prz"] = {
"Providencia Sign Language",
3322084,
"sgn",
}
m["psa"] = {
"Asue Awyu",
11266334,
}
m["psc"] = {
"Persian Sign Language",
7170221,
"sgn",
}
m["psd"] = {
"Plains Indian Sign Language",
2380124,
"sgn",
}
m["pse"] = {
"Central Malay",
3367751,
"poz-mly",
}
m["psg"] = {
"Penang Sign Language",
4924925,
"sgn",
}
m["psh"] = {
"Southwest Pashayi",
16112270,
"inc-pas",
"fa-Arab",
}
m["psi"] = {
"Southeast Pashayi",
23713536,
"inc-pas",
"fa-Arab",
}
m["psl"] = {
"Puerto Rican Sign Language",
7258608,
"sgn-fsl",
}
m["psm"] = {
"Pauserna",
2912846,
"tup-gua",
"Latn",
}
m["psn"] = {
"Panasuan",
7130113,
"poz",
}
m["pso"] = {
"Polish Sign Language",
3915194,
"sgn-gsl",
}
m["psp"] = {
"Philippine Sign Language",
3551357,
"sgn-fsl",
}
m["psq"] = {
"Pasi",
7142091,
}
m["psr"] = {
"Portuguese Sign Language",
3915472,
"sgn",
}
m["pss"] = {
"Kaulong",
3194294,
"poz-ocw",
}
m["psu"] = {
"tiếng Prakrit Saurasen",
2452885,
"inc-psu",
"Brah, Deva",
"Tiếng Prakrit Saurasen",
"Prakrit Saurasen",
translit = "Brah-translit",
ancestors = "inc-pra",
}
m["psw"] = {
"Port Sandwich",
3398324,
"poz-vnc",
"Latn",
}
m["psy"] = {
"Piscataway",
3504233,
"alg-eas",
}
m["pta"] = {
"Pai Tavytera",
7124619,
"tup-gua",
"Latn",
}
m["pth"] = {
"Pataxó Hã-Ha-Hãe",
7144304,
}
m["pti"] = {
"Pintiini",
10632026,
"aus-pam",
}
m["ptn"] = {
"Patani",
7144242,
"poz-hce",
"Latn",
}
m["pto"] = {
"Zo'é",
8073148,
"tup-gua",
"Latn",
}
m["ptp"] = {
"Patep",
3368679,
"poz-ocw",
"Latn",
}
m["ptq"] = {
"tiếng Pattapu",
60785085,
"dra-tam",
"Telu",
"Tiếng Pattapu",
"Pattapu",
translit = "te-translit"
}
m["ptr"] = {
"Piamatsina",
7190040,
"poz-vnc",
"Latn",
}
m["ptt"] = {
"Enrekang",
12953520,
}
m["ptu"] = {
"Bambam",
4853321,
"poz-ssw",
}
m["ptv"] = {
"Port Vato",
3398323,
nil,
"Latn",
}
m["ptw"] = {
"Pentlatch",
2069475,
"sal",
"Latn",
}
m["pty"] = {
"tiếng Pathiya",
7144790,
"dra-mal",
"Mlym",
"Tiếng Pathiya",
"Pathiya",
translit = "ml-translit"
}
m["pua"] = {
"Purepecha",
16114351,
"qfa-iso",
"Latn",
sort_key = {remove_diacritics = c.acute},
}
m["pub"] = {
"Purum",
6400562,
"tbq-kuk",
"Latn",
}
m["puc"] = {
"Punan Merap",
7259895,
}
m["pud"] = {
"Punan Aput",
4782333,
}
m["pue"] = {
"Puelche",
33660,
}
m["puf"] = {
"Punan Merah",
7259894,
}
m["pug"] = {
"Phuie",
36375,
"nic-gnw",
}
m["pui"] = {
"tiếng Puinave",
3027918,
nil,
"Latn",
"Tiếng Puinave",
"Puinave",
}
m["puj"] = {
"Punan Tubu",
7259896,
"poz-swa",
}
m["pum"] = {
"Puma",
33736,
"sit-kic",
}
m["puo"] = {
"tiếng Xinh Mun",
6440803,
"mkh-khm",
nil,
"Tiếng Xinh Mun",
"Xinh Mun"
}
m["pup"] = {
"Pulabu",
7259163,
"ngf-mad",
}
m["puq"] = {
"Puquina",
1207739,
}
m["pur"] = {
"Puruborá",
7261619,
"tup",
}
m["put"] = {
"Putoh",
12953832,
"poz-swa",
"Latn",
}
m["puu"] = {
"tiếng Punu",
36401,
"bnt-sir",
"Latn",
"Punu",
"Tiếng Punu",
}
m["puw"] = {
"Puluwat",
36397,
"poz-mic",
"Latn",
}
m["pux"] = {
"Puare",
3507983,
}
m["puy"] = {
"Purisimeño",
2967638,
"nai-chu",
"Latn",
}
m["pwa"] = {
"Pawaia",
7156099,
"paa",
"Latn",
}
m["pwb"] = {
"Panawa",
47385077,
"nic-jer",
"Latn",
ancestors = "jer",
}
m["pwg"] = {
"Gapapaiwa",
3095245,
"poz-ocw",
"Latn",
}
m["pwi"] = {
"Patwin",
3370188,
"nai-wtq",
"Latn",
}
m["pwm"] = {
"tiếng Molbog",
6895718,
"poz-san",
"Latn",
"Tiếng Molbog",
"Molbog"
}
m["pwn"] = {
"tiếng Paiwan",
715755,
"map",
"Latn",
"Tiếng Paiwan",
"Paiwan",
}
m["pwo"] = {
"tiếng Pwo Tây",
7988202,
"kar",
"Mymr",
"Tiếng Pwo Tây",
"Pwo Tây",
}
m["pwr"] = {
"Powari",
12640277,
"inc-hie",
"Deva",
}
m["pww"] = {
"tiếng Pwo Bắc",
7058885,
"kar",
"Thai",
"Tiếng Pwo Bắc",
"Pwo Bắc",
}
m["pxm"] = {
"Quetzaltepec Mixe",
6842374,
"nai-miz",
"Latn",
}
m["pye"] = {
"Pye Krumen",
11157382,
"kro-grb",
}
m["pym"] = {
"Fyam",
3914025,
"nic-ple",
"Latn",
}
m["pyn"] = {
"Poyanáwa",
3401023,
"sai-pan",
}
m["pys"] = {
"Paraguayan Sign Language",
7134698,
"sgn",
}
m["pyu"] = {
"tiếng Puyuma",
716690,
"map",
"Latn",
"Tiếng Puyuma",
"Puyuma",
}
m["pyx"] = {
"Tircul",
36259,
"sit",
}
m["pyy"] = {
"Pyen",
7262966,
"tbq-bis",
}
m["pzh"] = {
"tiếng Pazeh",
36435,
"map",
"Latn",
"Tiếng Pazeh",
"Pazeh",
}
m["pzn"] = {
"Para Naga",
7133667,
"sit-aao",
}
return require("Module:languages").finalizeData(m, "language")
qvzq7i1ri59l4cpkqu5r7g56eyevar1
Makedoniýa
0
273716
2574820
2082180
2026-11-02T08:45:25Z
Hiyuune
50834
2574820
wikitext
text/x-wiki
=={{langname|tk}}==
==={{section|pr-noun}}===
{{head|tk|Danh từ riêng}}
# [[Macedonia]].
2e6fis54a38grfyc3rkh8axy5aqfuxt
Mô đun:languages/canonical names
828
273923
2574828
2574000
2026-11-02T09:22:08Z
Hiyuune
50834
2574828
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",
["Tiếng 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 Bulgaria"] = "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",
}
kiwl3fzcf46ynakz92ngsol6llveon6
acku
0
290265
2574767
2318627
2026-11-01T13:25:55Z
TheHighFighter2
42988
/* Tiếng Kabyle */
2574767
wikitext
text/x-wiki
=={{langname|kab}}==
==={{section|etym}}===
{{ety|kab|:lbor|shi:acku<t:vì><ref:{{cite-book|fr|year=2013|author=Ramdane Achab|title=L’aménagement du lexique berbère de 1945 à nos jours|publisher=Editions Achab|url=https://leseditionsachab.wordpress.com/wp-content/uploads/2021/05/3eme-et-dernier-telechargement.pdf|page=96}}>|text=+|tree=1}}
==={{section|pron}}===
* {{kab-IPA}}
==={{section|conj}}===
{{kab-head|conjunction}}
# {{lb|kab|neologism}} [[vì|Vì]], [[bởi vì]].
#: {{syn|kab|ɛlaxaṭer}}
==={{section|ref}}===
{{reflist}}
* {{R:kab:Amawal}}
* {{R:kab:Dallet:1982}}
=={{langname|shi}}==
==={{section|alt}}===
* {{alt|shi|אסכ<tr:asku>||Berber-Do Thái}}
* {{alt|shi|ackut|ackun}}
==={{section|pron}}===
* {{shi-IPA}}
==={{section|conj}}===
{{shi-head|conjunction}}
# [[vì|Vì]], [[bởi vì]].
==={{section|ref}}===
* {{R:shi:DBTF|II|page=479a}}
240odpjugsrwfuy4ww4m64tg4sb1cmx
afus
0
290420
2574795
2574422
2026-11-01T15:23:24Z
TheHighFighter2
42988
2574795
wikitext
text/x-wiki
=={{langname|kab}}==
==={{section|etym}}===
Từ {{etym-inh|kab|ber-pro|*a-fuʔs}}. So sánh {{etym-cog|tzm|ⴰⴼⵓⵙ}}.
==={{section|pron}}===
* {{kab-IPA}}
==={{section|n}}===
{{kab-head|noun|g=m|pl=ifassen|f=tafust}}
# {{label|kab|anatomy}} [[tay|Tay]].
#: {{ux|kab|Argaz-nni yerfed '''afus'''-nnes akken ad d-yefk yiwen n usseqsi.|Người đàn ông giơ '''tay''' lên hỏi.}}
===={{section|infl}}====
{{kab-infl-noun|ufus|ifassen|ifassen}}
==={{section|ref}}===
* {{R:kab:Amawal}}
* {{R:kab:Dallet:1982}}
9y05onybans7lruz99g955o3mjmbldc
aggur
0
290426
2574756
2574434
2026-11-01T12:35:30Z
TheHighFighter2
42988
/* Danh từ */
2574756
wikitext
text/x-wiki
=={{langname|kab}}==
==={{section|pron}}===
* {{kab-IPA}}
==={{section|n}}===
{{kab-head|noun|g=m}}
# {{alternative form of|kab|ayyur|t=mặt trăng|from=Kabyle Tây}}.
=={{langname|shi}}==
==={{ĐM|etym}}===
{{back-formation|shi|taggurt|t=cửa}}.
==={{ĐM|pron}}===
* {{shi-IPA}}
==={{ĐM|noun}}===
{{shi-head|noun|g=m|pl=iggura}}
# [[cửa|Cửa]] [[lớn]].
#: {{uxa|shi|ايسدوقءور نّ '''اڭّور''' ينو كران تسدّاقّارت يشدّان.|tr=isduqqr nn '''aggur''' inu kra n tsddaqqart icddan.|t=Anh ta gõ '''cửa''' nhà tôi rất mạnh.}}
==={{ĐM|see}}===
{{col|shi
|tiflut<t:cửa>
|tigmmi<t:nhà>
|ccrjm<t:cửa sổ>
|bara<t:mở toang>
}}
==={{ĐM|ref}}===
* {{R:shi:DBTF|I|page=129b}}
jpsk7mguwxaqhnrkl2pz2pcc08psvwg
aksum
0
290601
2574772
2574463
2026-11-01T13:40:20Z
TheHighFighter2
42988
/* Tiếng Tarifit */
2574772
wikitext
text/x-wiki
{{also|Aksum}}
=={{langname|kab}}==
==={{section|etym}}===
Từ {{etym-inh|kab|ber-pro|-}} < {{etym-inh|kab|afa-pro|*masak-}}, bằng phép đảo âm. Cùng gốc với {{etym-cog|sem-pro|*mašk-}} và {{etym-cog|egy|mskꜣ}}. Liên quan đến {{etym-cog|shy|aksum}} và {{etym-cog|tzm|ⴰⴽⵙⵓⵎ}}.
==={{section|pron}}===
* {{kab-IPA}}
==={{section|n}}===
{{kab-head|noun|g=m|pl=ikʷesman}}
# [[thịt|Thịt]].
===={{section|infl}}====
{{kab-infl-noun|weksum|ikʷesman|ikʷesman}}
==={{section|ref}}===
* {{R:kab:Amawal}}
* {{R:kab:Dallet:1982}}
=={{langname|shy}}==
==={{section|etym}}===
Từ {{etym-inh|shy|ber-pro|-}} < {{etym-inh|shy|afa-pro|*masak-}}, bằng phép đảo âm. Cùng gốc với {{etym-cog|sem-pro|*mašk-}} và {{etym-cog|egy|mskꜣ}}. Liên quan đến {{etym-cog|kab|aksum}} và {{etym-cog|tzm|ⴰⴽⵙⵓⵎ}}.
==={{section|n}}===
{{shy-noun|m}}
# [[thịt|Thịt]].
=={{langname|rif}}==
==={{section|pron}}===
{{rif-pr|açsum}}
==={{section|n}}===
{{rif-head|noun|g=m|pl=-,ikesman}}
# {{alt form of|rif|aysum}}.
===={{section|infl}}====
{{rif-infl-noun|weksum|ikesman|ikesman}}
{{C|rif|Thức ăn}}
2qnp5me4be6brnvdc8v9u5eucpf05ry
2574774
2574772
2026-11-01T13:44:34Z
TheHighFighter2
42988
/* Tiếng Tachawit */
2574774
wikitext
text/x-wiki
{{also|Aksum}}
=={{langname|kab}}==
==={{section|etym}}===
Từ {{etym-inh|kab|ber-pro|-}} < {{etym-inh|kab|afa-pro|*masak-}}, bằng phép đảo âm. Cùng gốc với {{etym-cog|sem-pro|*mašk-}} và {{etym-cog|egy|mskꜣ}}. Liên quan đến {{etym-cog|shy|aksum}} và {{etym-cog|tzm|ⴰⴽⵙⵓⵎ}}.
==={{section|pron}}===
* {{kab-IPA}}
==={{section|n}}===
{{kab-head|noun|g=m|pl=ikʷesman}}
# [[thịt|Thịt]].
===={{section|infl}}====
{{kab-infl-noun|weksum|ikʷesman|ikʷesman}}
==={{section|ref}}===
* {{R:kab:Amawal}}
* {{R:kab:Dallet:1982}}
=={{langname|shy}}==
==={{section|etym}}===
{{ety|shy|:inh|ber-pro:*a-ksum|text=+|tree=1}}
==={{section|n}}===
{{shy-head|noun|g=m}}
# [[thịt|Thịt]].
=={{langname|rif}}==
==={{section|pron}}===
{{rif-pr|açsum}}
==={{section|n}}===
{{rif-head|noun|g=m|pl=-,ikesman}}
# {{alt form of|rif|aysum}}.
===={{section|infl}}====
{{rif-infl-noun|weksum|ikesman|ikesman}}
{{C|rif|Thức ăn}}
f8yv96x0syck0gdfhruuw1aspujo5xi
2574775
2574774
2026-11-01T13:46:29Z
TheHighFighter2
42988
/* Tiếng Kabyle */
2574775
wikitext
text/x-wiki
{{also|Aksum}}
=={{langname|kab}}==
==={{section|etym}}===
{{ety|kab|:inh|ber-pro:*a-ksum|text=+|tree=1}}
==={{section|pron}}===
* {{kab-IPA}}
==={{section|n}}===
{{kab-head|noun|g=m|pl=ikʷesman}}
# [[thịt|Thịt]].
===={{section|infl}}====
{{kab-infl-noun|weksum|ikʷesman|ikʷesman}}
==={{section|ref}}===
* {{R:kab:Amawal}}
* {{R:kab:Dallet:1982}}
=={{langname|shy}}==
==={{section|etym}}===
{{ety|shy|:inh|ber-pro:*a-ksum|text=+|tree=1}}
==={{section|n}}===
{{shy-head|noun|g=m}}
# [[thịt|Thịt]].
=={{langname|rif}}==
==={{section|pron}}===
{{rif-pr|açsum}}
==={{section|n}}===
{{rif-head|noun|g=m|pl=-,ikesman}}
# {{alt form of|rif|aysum}}.
===={{section|infl}}====
{{rif-infl-noun|weksum|ikesman|ikesman}}
{{C|rif|Thức ăn}}
kq3oavbnx6dzihv6ks86yw5kq981tq1
aman
0
290654
2574783
2574420
2026-11-01T14:15:58Z
TheHighFighter2
42988
2574783
wikitext
text/x-wiki
{{also|Phụ lục:Biến thể của "aman"}}
=={{langname|sq}}==
==={{đm|etym}}===
Thường xưng hô, thơ ca. {{bor+|sq|ota|امان|tr=amân}} < {{etym-der|sq|ar|اَمَان||sự yên bình}}.
==={{đm|intj}}===
{{head|sq|Thán từ}}
# [[thương hại|Thương hại]], [[thương xót]].
# have [[mercy]]!
# [[ồ|Ồ]]!
=={{langname|az}}==
==={{đm|etym}}===
{{bor+|az|ar|أَمَان}}. {{root|az|ar|ء م ن}}
==={{đm|n}}===
{{az-noun}}
# Lòng [[nhân từ]].
#: {{synonyms|az|rəhm|mərhəmət}}
# {{label|az|archaic}} [[hòa bình|Hòa bình]], [[an toàn]] {{gloss|không có nguy hiểm hoặc bạo lực}}, [[an ninh]].
#: {{synonyms|az|əmin-amanlıq|əmniyyət|təhlükəsizlik|dinclik}}
# {{label|az|archaic}} Sự [[trì hoãn]] được [[phép]], sự [[trì hoãn]], [[khả năng]] (được cho [[phép]]) để làm việc gì đó.
#: {{synonyms|az|möhlət|macal|imkan}}
# {{label|az|archaic}} [[sức mạnh|Sức mạnh]], [[năng lực]].
#: {{synonyms|az|taqət|qüvvət|güc}}
===={{đm|decl}}====
{{az-decl-noun|a|n}}
==={{đm|drv}}===
{{columns|az|2||amansız|amansızca|amansızcasına|amansızlıq}}
==={{đm|intj}}===
{{head|az|Thán từ}}
# have [[mercy]]!
# [[ồ|Ồ]]!
==={{đm|further}}===
* {{R:az:Obastan}}
=={{langname|ceb}}==
==={{đm|pron}}===
* {{hyph|ceb|a|man}}
==={{đm|v}}===
{{head|ceb|Động từ}}
# [[đoán trước|Đoán trước]].
=={{langname|sce}}==
==={{đm|etym}}===
Từ {{etym-inh|sce|xgn-pro|*aman}}, xem {{etym-cog|mn|ам}}.
==={{đm|pron}}===
* {{IPA4|sce|/aˈmaŋ/|[ɑˈmɑ̃(ŋ)]}}
==={{đm|n}}===
{{sce-noun}}
# [[miệng|Miệng]].
# [[vành|Vành]], [[mép]].
{{topics|sce|Mặt}}
=={{langname|eo}}==
==={{đm|adj}}===
{{eo-head}}
# {{eo-form of|am|an}}
=={{langname|ber-fog}}==
==={{đm|etym}}===
Từ {{etym-inh|ber-fog|ber-pro|*am-an}}.
==={{đm|n}}===
{{head|ber-fog|Danh từ|g=m-p}}
# [[nước|Nước]].
==={{đm|ref}}===
* ''Etudes berbères et chamito-sémitiques: mélanges offerts à Karl-G. Prasse'' (2000, {{ISBN|9042908262}}, tr. 38
=={{langname|gl}}==
==={{đm|v}}===
{{gl-verb-form}}
# {{inflection of|gl|amar||3|p|pres|indc}}
=={{langname|gha}}==
==={{đm|etym}}===
Từ {{etym-inherited|gha|ber-pro|*am-an}}.
==={{đm|n}}===
{{head|gha|Danh từ|g=p}}
# [[nước|Nước]]
==={{đm|ref}}===
* ''Etudes berbères et chamito-sémitiques: mélanges offerts à Karl-G. Prasse'' (2000, {{ISBN|9042908262}}, tr. 38
=={{langname|id}}==
==={{đm|etym}}===
{{root|id|ar|ء م ن}}
Từ {{etym-inh|id|ms|aman}} < {{etym-inh|id|ms-cla|امان|tr=aman}} < {{etym-der|id|ar|أَمَان||sự yên bình}}.<ref>{{cite-book|author=Erwina Burhanuddin|author2=Abdul Gaffar Ruskhan|author3=R.B. Chrismanto|title=Penelitian kosakata bahasa Arab dalam bahasa Indonesia|trans-title=Research on Arabic vocabulary in Indonesian|year=1993|publisher=Pusat Pembinaan dan Pengembangan Bahasa, Departemen Pendidikan dan Kebudayaan|location=Jakarta|url=https://www.worldcat.org/oclc/29420936|isbn=979-459-296-X|oclc=29420936}}</ref>
==={{đm|pron}}===
* {{IPA4|id|/a.man/}}
* {{rhymes|id|aman|man|an|n|s=2}}
* {{hyphenation|id|aman}}
==={{đm|adj}}===
{{head|id|Tính từ}}
# [[an toàn|An toàn]].
==={{đm|drv}}===
{{columns|id|2|
| keamanan
| memperaman
| diperaman
| mengamankan
| diamankan
| pengaman
| pengamanan
| seaman
| teraman
| teramankan
|}}
==={{đm|ref}}===
<references/>
==={{đm|further}}===
* {{R:KBBI Daring}}
=={{langname|kab}}==
==={{đm|etym}}===
Từ {{etym-inh|kab|ber-pro|*am-an}}.
==={{đm|pron}}===
{{rfp|kab}}
==={{đm|n}}===
{{kab-head|noun|g=m-p}}
# [[nước|Nước]].
#: {{ux|kab|Mi akken ay d-yenna '''aman''', nettat tefka-as '''aman'''.|t=Khi anh ta nói '''nước''', cô ta đưa '''nước''' cho anh.}}
==={{đm|ref}}===
* ''Etudes berbères et chamito-sémitiques: mélanges offerts à Karl-G. Prasse'' (2000, {{ISBN|9042908262}}, tr. 38
=={{langname|ms}}==
==={{đm|etym}}===
Từ {{etym-bor|ms|ar|اَمَان||sự yên bình}}.
==={{đm|pron}}===
* {{IPA4|ms|/aman/}}
* {{rhymes|ms|aman|man|an|s=2}}
==={{đm|adj}}===
{{ms-adj|j=امان}}
# [[yên bình|Yên bình]].
==={{đm|further}}===
* {{R:PRPM}}
=={{langname|jbn}}==
==={{đm|etym}}===
Từ {{etym-inh|jbn|ber-pro|*am-an}}.
==={{đm|n}}===
{{head|jbn|Danh từ|g=p}}
# [[nước|Nước]].
==={{đm|ref}}===
* ''Etudes berbères et chamito-sémitiques: mélanges offerts à Karl-G. Prasse'' (2000, {{ISBN|9042908262}}, tr. 38
{{c|jbn|Nước}}
=={{langname|fia}}==
==={{đm|etym}}===
Từ {{etym-inh|fia|onw|ⲁⲙⲁⲛ-}}.
==={{đm|n}}===
{{head|fia|Danh từ|ⲁⲙⲁⲛ, امان}}
# [[nước|Nước]].
==={{đm|drv}}===
* {{l|fia|Aman dawū|tr="nước lớn", sông Nile}}
==={{đm|ref}}===
* ''Etudes berbères et chamito-sémitiques: mélanges offerts à Karl-G. Prasse'' (2000, {{ISBN|9042908262}}, tr. 38
=={{langname|kmr}}==
==={{đm|etym}}===
Từ {{etym-bor|kmr|hy|աման}}.
==={{đm|pron}}===
* {{kmr-IPA}}
==={{đm|n}}===
{{kmr-noun|m|ar=ئامان}}
# [[bình|Bình]], [[thùng chứa]].
#: {{synonyms|kmr|derdan}}
# {{label|kmr|trong dạng số nhiều}} [[đĩa|Đĩa]].
#: {{synonyms|kmr|derdan}}
===={{đm|decl}}====
{{kmr-decl-noun|m}}
==={{đm|ref}}===
* {{R:xcl:HAB|ամալ|vol=I|page=144a}}
* {{R:ku:Justi|امان|page=20a}}
* {{R:kmr:Chyet:2020|aman|vol=1|page=8}}
* {{R:ku:Rizgar|page=22b}}
{{C|kmr|Đồ chứa}}
=={{langname|mzb}}==
==={{đm|etym}}===
Từ {{etym-inh|mzb|ber-pro|*am-an}}.
==={{đm|n}}===
{{head|mzb|Danh từ|g=m-p}} {{term-label|mzb|Mzab|Wargla|Figuig|Gourara}}
# [[nước|Nước]].
==={{đm|ref}}===
* S. Biarnay, ''[https://archive.org/details/tudesurledialec00biargoog Etude sur le dialecte berbère de Ouargla]'', Ernest Leroux, Paris, 1908, tr. 170
* Maarten Kossmann, ''Grammaire du parler berbère de Figuig (Maroc oriental)'' (1997), tr. 265
=={{langname|ro}}==
==={{đm|etym}}===
{{bor+|ro|ota|امان|tr=amân}} < {{etym-der|ro|ar|اَمَان||sự yên bình}}.
==={{đm|intj}}===
{{head|ro|Thán từ}}
# have [[mercy]]!
=={{langname|sea}}==
==={{ĐM|pron}}===
* {{IPA4|sea|/ʔaman/}}
==={{ĐM|adj}}===
{{head|sea|Tính từ}}
# [[hòa bình]], [[an ninh]].
==={{đm|ref}}===
* [https://web.archive.org/web/20220922224210/http://sealang.net/monkhmer/database/retrieve.pl?language=Semai&sort=gloss&format=html Tiếng Semai] tại Cơ sở Dữ liệu Môn-Khmer.
=={{langname|sh}}==
==={{đm|etym}}===
{{bor+|sh|ota|امان|tr=amân}} < {{etym-der|sh|ar|اَمَان||sự yên bình}}.
==={{đm|pron}}===
* {{IPA4|sh|/ǎmaːn/}}
* {{hyphenation|sh|a|man}}
==={{đm|n}}===
{{sh-noun|àmān|m-in}}
# Lòng [[thương xót]].
# Lòng [[nhân từ]].
# Lòng [[trắc ẩn]].
# Lòng [[tha thứ]].
===={{đm|decl}}====
{{sh-decl-noun
|àmān|amani
|amána|amana
|amanu|amanima
|aman|amane
|amane|amani
|amanu|amanima
|amanom|amanima
}}
==={{đm|intj}}===
{{sh-interjection|head=àmān}}
# Vì lợi ích của Chúa! (in amazement)
# (when asking for mercy, help or forgiveness):
## Be merciful!
## Giúp tôi với!
## Tôi xin lỗi!
# [[by God]], I swear to god! (used to add emphasis, as if swearing an oath)
===Trích dẫn===
* {{seeCites|sh}}
=={{langname|siz}}==
==={{đm|etym}}===
Từ {{etym-inh|siz|ber-pro|*am-an}}.
==={{đm|n}}===
{{head|siz|Danh từ|g=p|head=amán}}
# [[nước|Nước]].
==={{đm|ref}}===
* ''Etudes berbères et chamito-sémitiques: mélanges offerts à Karl-G. Prasse'' (2000, {{ISBN|9042908262}}, tr. 38
{{c|siz|Nước}}
=={{langname|swn}}==
==={{đm|etym}}===
Từ {{etym-inh|swn|ber-pro|*am-an}}.
==={{đm|n}}===
{{head|swn|Danh từ|g=m-p}}
# [[nước|Nước]].
=={{langname|es}}==
==={{đm|pron}}===
{{es-pr}}
==={{đm|v}}===
{{head|es|Hình thái động từ}}
# {{es-verb form of|amar}}
=={{langname|rif}}==
==={{đm|etym}}===
Từ {{etym-inh|rif|ber-pro|*am-an}}.
==={{đm|pron}}===
* {{IPA4|rif|/æmæn/}}
==={{đm|n}}===
{{rif-head|noun|g=m-p}}
# [[nước|Nước]].
===={{đm|decl}}====
{{rif-decl-noun|waman}}
==={{đm|ref}}===
* Jordi Aguadé, Patrice Cressier, Ángeles Vicente, ''Peuplement et arabisation au Maghreb occidenta'' (1998)
* Paul Geuthner, ''Manuel de berbère marocain: (dialecte rifain)'' (1926)
{{C|rif|Nước}}
=={{langname|tsg}}==
==={{đm|v}}===
{{head|tsg|Động từ}}
# Đun [[sôi]].
=={{langname|tet}}==
==={{đm|etym}}===
Từ ''*ama'', đối chiếu với {{etym-cog|nia|ama}} và {{etym-cog|tl|ama}}.
==={{đm|n}}===
{{head|tet|Danh từ}}
# [[cha|Cha]], [[bố]].
{{C|tet|Gia đình}}
=={{langname|tmh}}==
==={{đm|alt}}===
* ''Niger:'' {{l|tmh|âman}}
* ''Chữ [[Tifinagh]]:'' {{l|tmh|ⵎⵏ}}
* ''Chữ Ả Rập:'' {{l|tmh|امن}}
==={{đm|etym}}===
Từ {{etym-inh|tmh|ber-pro|*am-an}}.
==={{đm|n}}===
{{tmh-noun|m-p}}
# [[nước|Nước]].
==={{đm|ref}}===
* ''Etudes berbères et chamito-sémitiques: mélanges offerts à Karl-G. Prasse'' (2000, {{ISBN|9042908262}}, tr. 38
=={{langname|tr}}==
==={{đm|etym}}===
Từ {{etym-inh|tr|ota|امان|tr=amân}} < {{etym-der|tr|ar|اَمَان||sự yên bình}}.
==={{đm|n}}===
{{tr-noun|ı|-}}
# [[nhân từ|Nhân từ]]
# [[phần|Phần]] [[tư]].
==={{đm|intj}}===
{{head|tr|interjection|head=aman!}}
# [[ồ|Ồ]]!
# [[đi mà|Đi mà]]!
=={{langname|zen}}==
==={{đm|etym}}===
Từ {{etym-inh|zen|ber-pro|*am-an}}.
==={{đm|n}}===
{{head|zen|Danh từ|g=p}}
# [[nước|Nước]]
===References===
* ''Etudes berbères et chamito-sémitiques: mélanges offerts à Karl-G. Prasse'' (2000, {{ISBN|9042908262}}, tr. 38
* Général Léon Faidherbe, ''[http://aguenaou.free.fr/amadal/documents/langue/1894_faidherbe_zenaga_N0103594.pdf Le Zénaga des tribus sénégalaises]'' (1877), tr. 43
phneg8djbr3ii48sy9uabnkk4r49k0x
afyun
0
291242
2574760
2369091
2026-11-01T12:57:29Z
TheHighFighter2
42988
/* Danh từ */
2574760
wikitext
text/x-wiki
=={{langname|shi}}==
==={{section|alt}}===
* {{alt|shi|lɛafyun}}
==={{section|etym}}===
{{ety|shi|:bor|ary:أفيون<tr:ʔafyūn><ety:inh<ar:أَفْيُون>>|tree=1|text=:grc}}
==={{section|pron}}===
* {{shi-IPA}}
==={{section|n}}===
{{shi-head|noun|g=m}}
# [[thuốc phiện|Thuốc phiện]].
#: {{syn|shi|sskran}}
==={{section|ref}}===
{{reflist}}
* {{R:shi:DBTF|I|page=113a}}
=={{langname|uz}}==
==={{section|etym}}===
Cuối cùng từ {{uder|uz|ar|أَفْيُون}}.
==={{section|n}}===
{{uz-noun}}
# [[thuốc phiện|Thuốc phiện]].
===={{section|decl}}====
{{uz-decl-noun}}
jj919c9vs3g7y6cquq147xckmftuv2l
нугаһан
0
292136
2574809
2130562
2026-11-02T02:17:56Z
Hiyuune
50834
2574809
wikitext
text/x-wiki
=={{langname|bua}}==
==={{section|etym}}===
Từ {{inh|bua|xgn-pro|*nuxusun}}, so sánh với {{cog|mn|нугас}}, {{cog|xal|нуһсн}}.
==={{section|n}}===
{{head|bua|Danh từ}}
# [[vịt|Vịt]].
b7eoheqxkls92eso56qjwit1p665wep
ameqqran
0
292366
2574796
2574485
2026-11-01T15:25:31Z
TheHighFighter2
42988
/* Tiếng Tarifit */
2574796
wikitext
text/x-wiki
=={{langname|kab}}==
==={{section|pron}}===
* {{kab-IPA|ameqqṛan}}
==={{section|adj}}===
{{kab-head|adjective|f=tameqqrant|pl=imeqqranen}}
# {{alt form of|kab|ameqʷran}}
=={{langname|rif}}==
==={{section|etym}}===
{{inh+|rif|ber-pro|-}}.
==={{section|adj}}===
{{rif-head|adjective|f=tameqqrant|pl=imeqqranen}}
# [[lớn|Lớn]].
#: {{ux|rif|iserman '''imeqqranen'''|translation=Con cá lớn.}}
# [[cao|Cao]].
# [[rộng rãi|Rộng rãi]].
# [[già|Già]], [[trưởng thành]].
===={{section|infl}}====
{{rif-infl-adj|meqqran}}
==={{section|n}}===
{{rif-head|noun|g=m|pl=imeqqranen|f=tameqqrant}}
# Cái [[to]], [[cao]].
#: {{ux|rif|taṛwa n '''umeqqran'''|translation=Những đứa con của người cao.}}
===={{section|infl}}====
{{rif-infl-noun|umeqqran|imeqqranen|yimeqqranen}}
===={{section|rel}}====
{{col|rif
|mɣar<t:trở nên lớn>
|amɣar<t:thủ lĩnh>
|tamɣart<t:phụ nữ, vợ>
}}
{{C|rif|Kích thước}}
fa70s6t19b9ti68lgkfvkn97d6gkcsf
amezwaru
0
292370
2574781
2574483
2026-11-01T14:11:37Z
TheHighFighter2
42988
/* Tiếng Tachawit */
2574781
wikitext
text/x-wiki
=={{langname|kab}}==
{{kab-rootbox|z-w-r}}
==={{section|etym}}===
{{inh+|kab|ber-pro|-}}.
==={{section|adj}}===
{{kab-head|adjective|f=tamezwarut|pl=imezwura}}
# [[đầu tiên|Đầu tiên]], [[thứ nhất]].
#: {{syn|kab|amenzu}}
===={{section|infl}}====
{{kab-infl-adj|imezwura|tamezwarut|timezwura}}
==={{section|ref}}===
* {{R:kab:Amawal}}
* {{R:kab:Dallet:1982}}
=={{langname|shy}}==
==={{section|pron}}===
* {{audio|shy|LL-Q33274 (shy)-Reda Kerbouche-amezwaru.wav}}
* {{audio|shy|LL-Q33274 (shy)-Rachid Hamatou-amezwaru.wav}}
==={{section|adj}}===
{{shy-head|adjective}}
# [[đầu tiên|Đầu tiên]], [[thứ nhất]].
=={{langname|rif}}==
==={{section|alt}}===
* {{alter|rif|amezwar}}
* {{alter|rif|amezgaru||Tarifit Tây}}
==={{section|etym}}===
{{rfe|rif}}
==={{section|adj}}===
{{rif-adj}}
# [[đầu tiên|Đầu tiên]], [[thứ nhất]].
#: {{ux|rif|awar '''amezwaru'''|translation=Từ '''đầu tiên'''.}}
===={{section|infl}}====
{{rif-infl-adj|mezwaru|mezwura|mzwarut|mezwura}}
==={{section|n}}===
{{rif-noun|m|f=tamzwarut}}
# [[đầu tiên|Đầu tiên]]
# [[khởi đầu|Khởi đầu]]
# Người [[đi]] [[trước]]; người [[tiền nhiệm]].
===={{section|infl}}====
{{rif-infl-noun|umezwaru|imezwura|yimezwura}}
===={{section|rel}}====
{{col|rif|izwar}}
tk1l78ini9xuat9mgfn8zx3rmkai2z2
2574782
2574781
2026-11-01T14:13:32Z
TheHighFighter2
42988
/* Tiếng Tarifit */
2574782
wikitext
text/x-wiki
=={{langname|kab}}==
{{kab-rootbox|z-w-r}}
==={{section|etym}}===
{{inh+|kab|ber-pro|-}}.
==={{section|adj}}===
{{kab-head|adjective|f=tamezwarut|pl=imezwura}}
# [[đầu tiên|Đầu tiên]], [[thứ nhất]].
#: {{syn|kab|amenzu}}
===={{section|infl}}====
{{kab-infl-adj|imezwura|tamezwarut|timezwura}}
==={{section|ref}}===
* {{R:kab:Amawal}}
* {{R:kab:Dallet:1982}}
=={{langname|shy}}==
==={{section|pron}}===
* {{audio|shy|LL-Q33274 (shy)-Reda Kerbouche-amezwaru.wav}}
* {{audio|shy|LL-Q33274 (shy)-Rachid Hamatou-amezwaru.wav}}
==={{section|adj}}===
{{shy-head|adjective}}
# [[đầu tiên|Đầu tiên]], [[thứ nhất]].
=={{langname|rif}}==
==={{section|alt}}===
* {{alter|rif|amezwar}}
* {{alter|rif|amezgaru||Tarifit Tây}}
==={{section|etym}}===
{{rfe|rif}}
==={{section|adj}}===
{{rif-head|adjective|f=tamezwarut|pl=imezwura}}
# [[đầu tiên|Đầu tiên]], [[thứ nhất]].
#: {{ux|rif|awar '''amezwaru'''|translation=Từ '''đầu tiên'''.}}
===={{section|infl}}====
{{rif-infl-adj|mezwaru|mezwura|mzwarut|mezwura}}
==={{section|n}}===
{{rif-head|noun|g=m|pl=imezwura|f=tamezwarut}}
# [[đầu tiên|Đầu tiên]]
# [[khởi đầu|Khởi đầu]]
# Người [[đi]] [[trước]]; người [[tiền nhiệm]].
===={{section|infl}}====
{{rif-infl-noun|umezwaru|imezwura|yimezwura}}
===={{section|rel}}====
{{col|rif|izwar}}
2jj8ug7s2lc95mgimi34k9hbjle7faw
aneggaru
0
292428
2574777
2574461
2026-11-01T13:50:12Z
TheHighFighter2
42988
2574777
wikitext
text/x-wiki
=={{langname|kab}}==
{{kab-rootbox|g-r}}
==={{section|etym}}===
{{inh+|kab|ber-pro|-}}.
==={{section|adj}}===
{{kab-head|adjective|f=taneggarut|pl=ineggura}}
# [[cuối cùng|Cuối cùng]].
#: {{ux|kab|tikkelt '''taneggarut'''|lần '''cuối cùng'''}}
===={{section|infl}}====
{{kab-infl-adj|ineggura|taneggarut|tineggura}}
==={{section|n}}===
{{kab-head|noun|g=m|pl=ineggura|f=taneggarut}}
# [[lần|Lần]] [[cuối]].
# [[kết thúc|Kết thúc]].
#: {{syn|kab|ccaw|taggara|timsegʷrit}}
===={{section|infl}}====
{{kab-infl-noun|uneggaru|ineggura|ineggura}}
==={{section|ref}}===
* {{R:kab:Amawal}}
* {{R:kab:Dallet:1982}}
=={{langname|rif}}==
==={{section|alt}}===
* {{alter|rif|ameggaru}}
==={{section|etym}}===
{{rfe|rif}}
==={{section|adj}}===
{{rif-adj|pl=ineggura|f=taneggarut}}
# [[cuối cùng|Cuối cùng]].
#: {{ux|rif|iwessura '''ineggura'''|Những người lớn tuổi '''cuối cùng'''}}
===={{section|infl}}====
{{rif-infl-adj|neggaru|neggura|neggarut|neggura}}
==={{section|n}}===
{{rif-head|noun|g=m|pl=ineggura|f=taneggarut}}
# [[lần|Lần]] [[cuối]].
===={{section|infl}}====
{{rif-infl-noun|uneggaru|ineggura|yineggura}}
===={{section|rel}}====
{{col|rif
|yura
}}
bwj468czyymhirey48ttza0p1nnn1wq
2574778
2574777
2026-11-01T13:50:56Z
TheHighFighter2
42988
/* Tính từ */
2574778
wikitext
text/x-wiki
=={{langname|kab}}==
{{kab-rootbox|g-r}}
==={{section|etym}}===
{{inh+|kab|ber-pro|-}}.
==={{section|adj}}===
{{kab-head|adjective|f=taneggarut|pl=ineggura}}
# [[cuối cùng|Cuối cùng]].
#: {{ux|kab|tikkelt '''taneggarut'''|lần '''cuối cùng'''}}
===={{section|infl}}====
{{kab-infl-adj|ineggura|taneggarut|tineggura}}
==={{section|n}}===
{{kab-head|noun|g=m|pl=ineggura|f=taneggarut}}
# [[lần|Lần]] [[cuối]].
# [[kết thúc|Kết thúc]].
#: {{syn|kab|ccaw|taggara|timsegʷrit}}
===={{section|infl}}====
{{kab-infl-noun|uneggaru|ineggura|ineggura}}
==={{section|ref}}===
* {{R:kab:Amawal}}
* {{R:kab:Dallet:1982}}
=={{langname|rif}}==
==={{section|alt}}===
* {{alter|rif|ameggaru}}
==={{section|etym}}===
{{rfe|rif}}
==={{section|adj}}===
{{rif-head|adjective|f=taneggarut|pl=ineggura}}
# [[cuối cùng|Cuối cùng]].
#: {{ux|rif|iwessura '''ineggura'''|Những người lớn tuổi '''cuối cùng'''}}
===={{section|infl}}====
{{rif-infl-adj|neggaru|neggura|neggarut|neggura}}
==={{section|n}}===
{{rif-head|noun|g=m|pl=ineggura|f=taneggarut}}
# [[lần|Lần]] [[cuối]].
===={{section|infl}}====
{{rif-infl-noun|uneggaru|ineggura|yineggura}}
===={{section|rel}}====
{{col|rif
|yura
}}
0ln1g9gvvrgb4p66yzb54postdrbjfr
ttlfaza
0
298112
2574797
2143681
2026-11-01T15:34:40Z
TheHighFighter2
42988
/* */
2574797
wikitext
text/x-wiki
=={{langname|rif}}==
{{rfv}}
==={{ĐM|noun}}===
{{rif-head|noun|g=f|pl=ttlfazat}}
# [[truyền hình|Truyền hình]].
#: {{synonyms|rif|ttilibizyun}}
baxc19974f45umxrp04gsv68okx7n0b
aydi
0
298573
2574779
2574686
2026-11-01T13:52:29Z
TheHighFighter2
42988
2574779
wikitext
text/x-wiki
=={{langname|kab}}==
==={{ĐM|alt}}===
* {{alt|kab|agdi}}
==={{ĐM|etym}}===
{{inh+|kab|ber-pro|*a-ydiʔ}}.
==={{ĐM|pron}}===
* {{kab-IPA}}
==={{ĐM|noun}}===
{{kab-head|noun|g=m|pl=iḍan|f=taydit}}
# [[chó|Chó]].
#: {{synonym|kab|aqjun}}
===={{ĐM|infl}}====
{{kab-infl-noun|weydi|iḍan|yiḍan}}
==={{ĐM|ref}}===
* {{R:kab:Amawal}}
* {{R:kab:Dallet:1982}}
{{catlangname|kab|Danh từ bổ khuyết}}
{{C|kab|Lớp Thú}}
=={{langname|rif}}==
==={{ĐM|etym}}===
{{inh+|rif|ber-pro|*a-ydiʔ}}.
==={{ĐM|noun}}===
{{rif-head|noun|g=m|pl=iṭan,iṭṭan|f=taydit}}
# [[chó|Chó]].
#: {{syn|rif|aqzin|aheggar}}
===={{ĐM|decl}}====
{{rif-infl-noun|waydi|iṭan|yiṭan}}
{{c|rif|Động vật}}
=={{langname|shi}}==
[[Image:YellowLabradorLooking.jpg|thumb|<div style="text-align: center;">{{l|shi|[[yan|يان]] [[aydi|وايدي]]|
tr=ya waydi}}</div>]]
==={{ĐM|pron}}===
* {{shi-IPA}}
==={{ĐM|noun}}===
{{shi-head|noun|g=m|pl=iḍan|f=taydit}}
# [[chó|Chó]].
#: {{syn|shi|ikzin|babbuz}}
===={{ĐM|infl}}====
{{shi-infl-noun|[[waydi]], [[uydi]], [[wuydi]], [[wiydi]]|iḍan|yiḍan}}
===={{ĐM|der}}====
{{col|shi|takuccit n yiḍan<t:nấm>
|tazart iḍan<t:thầu dầu>
|aydi n tagant<t:chó rừng>
|aydi n waman<t:cá nhám góc, rái cá>}}
==={{ĐM|ref}}===
* {{R:shi:DBTF|I|page=528a}}
9jb519c2vy79jt8448vdb1i98vpulyy
aɣyul
0
298579
2574757
2574428
2026-11-01T12:36:59Z
TheHighFighter2
42988
2574757
wikitext
text/x-wiki
=={{langname|kab}}==
==={{section|etym}}===
{{etymon|kab|id=con lừa|:inh|ber-pro:*a-ɣăyul<t:con lừa><ety:bor<la:equuleus<unc><t:ngựa con>>>|tree=1|text=*}}
==={{section|pron}}===
* {{kab-IPA}}
==={{section|noun}}===
{{kab-head|noun|g=m|pl=iɣʷyal|f=taɣyult}}
# Con [[lừa]].
===={{section|infl}}====
{{kab-infl-noun|weɣyul|iɣʷyal|yeɣʷyal}}
===={{section|drv}}====
{{col|sjs
|aɣyul n yiḍ<t:dơi><lit:lừa đêm>
}}
==={{section|ref}}===
* {{R:kab:Amawal}}
* {{R:kab:Dallet:1982}}
{{C|kab|Họ Ngựa}}
=={{langname|sjs}}==
==={{section|pron}}===
* {{sjs-IPA}}
==={{section|noun}}===
{{sjs-noun|m}}
# {{alt form of|sjs|aɣyuy|from=Hmed|from2=Taghzut|from3=Zerqet}}.
=={{langname|shi}}==
==={{section|alt}}===
* {{alt|shi|aɣyyul|aɣiyul}}
==={{section|etym}}===
{{etymon|shi|id=con lừa|:inh|shi-med:اَغْيُلْ<tr:aɣyul><t:con lừa><ety:inh<ber-pro:*a-ɣăyul<t:con lừa><ety:bor<la:equuleus<unc><t:ngựa con>>>>>|tree=1|text=*}} Không liên quan gì đến {{noncog|ar|خَيْل|t=con ngựa}}.
==={{section|pron}}===
* {{shi-IPA}}
==={{section|noun}}===
{{shi-head|noun|g=m|pl=iɣʷyal|f=taɣyult}}
# Con [[lừa]].
# {{lb|shi|vulgar}} Kẻ [[ngu ngốc]], kẻ [[đần độn]].
===={{section|infl}}====
{{shi-infl-noun|uɣyul|iɣʷyal|iɣʷyal}}
===={{section|drv}}====
{{col|shi
|aɣyul abldiy<t:lừa nhà>
|aɣyul n tagant <t:lừa hoang>
|aɣyul n ḍama
|sɣyul<t:ngu ngốc, đần độn>
}}
==={{section|see}}===
{{col|shi
|asnus<t:lừa con>
|ayyis<t:ngựa>
}}
==={{section|ref}}===
* {{R:shi:DBTF|I|page=175a}}
{{C|shi|Lớp Thú}}
9zi4nf56q41mjzot88y9bt9hrs94aqr
ddin
0
299039
2574762
2258950
2026-11-01T13:01:58Z
TheHighFighter2
42988
/* Tiếng Kabyle */
2574762
wikitext
text/x-wiki
=={{langname|kab}}==
==={{ĐM|etym}}===
{{ety|kab|:bor|arq:دين<tr:dīn><ety:uder<ar:دِين>>|text=2|tree=1}}
==={{ĐM|pron}}===
* {{kab-IPA}}
==={{ĐM|noun}}===
{{kab-head|noun|g=m|pl=-}}
# [[tôn giáo|Tôn giáo]].
==={{ĐM|ref}}===
* {{R:kab:Amawal}}
* {{R:kab:Dallet:1982}}
{{C|kab|Tôn giáo}}
=={{langname|rif}}==
==={{ĐM|etym}}===
{{bor+|rif|ar|دين|tr=dīn}}.
==={{ĐM|noun}}===
{{rif-noun|m}}
# [[tôn giáo|Tôn giáo]].
{{C|rif|Tôn giáo}}
=={{langname|shi}}==
==={{ĐM|etym}}===
{{bor+|shi|ar|دين|tr=dīn}}.
==={{ĐM|pron}}===
* {{shi-IPA}}
* {{audio|shi|Zgh_ddin_ⴷⴷⵉⵏ.ogg}}
==={{ĐM|noun}}===
{{shi-noun|m|pl=ladyan}}
# [[tôn giáo|Tôn giáo]].
{{C|shi|Tôn giáo}}
l1z3saoi8yqqkr06p21wsudycgpfmx1
2574763
2574762
2026-11-01T13:07:33Z
TheHighFighter2
42988
2574763
wikitext
text/x-wiki
=={{langname|kab}}==
==={{ĐM|etym}}===
{{ety|kab|:bor|arq:دين<tr:dīn><ety:uder<ar:دِين>>|text=2|tree=1}}
==={{ĐM|pron}}===
* {{kab-IPA}}
==={{ĐM|noun}}===
{{kab-head|noun|g=m|pl=-}}
# [[tôn giáo|Tôn giáo]].
==={{ĐM|ref}}===
* {{R:kab:Amawal}}
* {{R:kab:Dallet:1982}}
{{C|kab|Tôn giáo}}
=={{langname|rif}}==
==={{ĐM|etym}}===
{{ety|rif|:bor|ary:دين<tr:dīn><ety:uder<ar:دِين>>|text=2|tree=1}}
==={{ĐM|pron}}===
{{rif-pr}}
==={{ĐM|noun}}===
{{rif-head|noun|g=m|pl=-}}
# [[tôn giáo|Tôn giáo]].
==={{ĐM|ref}}===
* {{R|rif|Serhoual:2002}}
* {{R|rif|Abarrou:2024}}
{{C|rif|Tôn giáo}}
=={{langname|shi}}==
==={{ĐM|etym}}===
{{ety|shi|:bor|ary:دين<tr:dīn><ety:uder<ar:دِين>>|text=2|tree=1}}
==={{ĐM|pron}}===
* {{shi-IPA}}
* {{audio|shi|Zgh_ddin_ⴷⴷⵉⵏ.ogg}}
==={{ĐM|noun}}===
{{shi-head|noun|g=m|pl=ladyan}}
# [[tôn giáo|Tôn giáo]].
===={{ĐM|infl}}====
{{shi-infl-noun||ladyan}}
{{C|shi|Tôn giáo}}
jguwr7l0uul9c8jaml7wtfntnx43avv
ddunit
0
299040
2574793
2145604
2026-11-01T15:16:51Z
TheHighFighter2
42988
2574793
wikitext
text/x-wiki
=={{langname|kab}}==
==={{ĐM|alt}}===
* {{alt|kab|ddunnit}}
==={{ĐM|etym}}===
{{lg|từ mượn|Vay mượn}} ban đầu từ {{etym-bor|kab|ar|دُنْيَا}}. {{dbt|kab|ddenya}}.
==={{ĐM|pron}}===
* {{kab-IPA}}
==={{ĐM|noun}}===
{{kab-head|noun|g=f|pl=-}}
# [[thế giới|Thế giới]].
==={{ĐM|ref}}===
* {{R:kab:Amawal}}
* {{R:kab:Dallet:1982}}
=={{langname|rif}}==
==={{ĐM|noun}}===
{{rif-head|noun|g=f|pl=-}}
# {{alt form|rif|ddunect}}.
{{C|rif|Không gian}}
gfzqo9tlggzq4uc1ceiathci3l9hv56
шатарчин
0
299749
2574810
2147129
2026-11-02T02:18:55Z
Hiyuune
50834
2574810
wikitext
text/x-wiki
=={{langname|mn}}==
==={{ĐM|pron}}===
{{mn-IPA}}
==={{ĐM|n}}===
{{mn-noun|ᠰ᠊ᠢ᠊ᠳ᠋ᠠ᠊ᠷᠠᠴ᠊ᠢ᠊᠊ᠨ}}
# [[người]] [[chơi]] [[cờ vua]].
jq8g08iwl15pzuq1shwydzm6t7tkmzs
нугас
0
300819
2574808
2148988
2026-11-02T02:17:09Z
Hiyuune
50834
2574808
wikitext
text/x-wiki
=={{langname|mn}}==
==={{ĐM|etym}}===
Từ {{inh|mn|xgn-pro|*nugasun}}, {{cog|bua|нугаһан}}, {{cog|xal|нуһсн}}.
==={{ĐM|pron}}===
{{rfp|mn}}
==={{ĐM|n}}===
{{mn-noun|ᠨᠤᠭᠤᠰᠤ}}
# [[vịt]].
t6s0rbwzk9ofzftfddlz4mhont0tgrp
itri
0
303022
2574792
2284359
2026-11-01T15:06:05Z
TheHighFighter2
42988
2574792
wikitext
text/x-wiki
=={{langname|ca}}==
{{chemical element box|ca}}
==={{ĐM|pron}}===
* {{ca-IPA}}
* {{audio|ca|LL-Q7026 (cat)-Millars-itri.wav|a=Valencia}}
==={{ĐM|noun}}===
{{ca-noun|m|-}}
# [[ytri|Ytri]].
=={{langname|kab}}==
==={{ĐM|etym}}===
{{ety|kab|:inh|ber-pro:-|text=+|tree=1}}
==={{ĐM|pron}}===
* {{kab-IPA}}
==={{ĐM|noun}}===
{{kab-head|noun|g=m|pl=itran}}
# [[sao|Sao]].
# [[đốm|Đốm]] [[trắng]] trên [[mắt]].
# [[họa tiết|Họa tiết]] trang trí hình [[kim cương]].
===={{ĐM|infl}}====
{{kab-infl-noun|yetri|itran|yetran}}
==={{ĐM|ref}}===
* {{R:kab:Amawal}}
* {{R:kab:Dallet:1982}}
=={{langname|rif}}==
==={{ĐM|etym}}===
{{ety|rif|:inh|ber-pro:-|text=+|tree=1}}
==={{ĐM|pron}}===
{{rif-pr}}
==={{ĐM|noun}}===
{{rif-head|noun|g=m|pl=itran}}
# [[sao|Sao]].
===={{ĐM|infl}}====
{{rif-infl-noun|yitri|itran|yitran}}
==={{ĐM|ref}}===
* {{R|rif|Serhoual:2002}}
* {{R|rif|Abarrou:2024}}
{{C|rif|Thiên văn học}}
=={{langname|shi}}==
[[File:32 cyg .jpg|thumb|<div style="text-align: center;">{{lang|shi|ايتران}}</div>]]
==={{ĐM|etym}}===
{{ety|shi|:inh|ber-pro:-<ety:inh<afa-pro:->>|text=2|tree=1}} So sánh với {{cog|cdc-pro|*təra|t=sao}} ({{cog|ha|tàurārṑ}}). Có khả năng không liên quan đến {{noncog|ine-pro|*h₂stḗr|t=sao}}.
Cùng gốc với {{cog|zen|äđäri|t=sao}}, {{cog|tmh|atăr,atri|t=sao}}, {{cog|tez|atri|t=sao}}, {{cog|tzm|ⵉⵜⵔⵉ|t=sao}}, {{cog|gha|iri|t=sao}}, {{cog|swn|îri|t=sao}}, {{cog|rif|itri|t=sao}}.
==={{ĐM|pron}}===
* {{shi-IPA}}
==={{ĐM|noun}}===
{{shi-head|noun|g=m|pl=itran|f=titrit}}
# [[sao|Sao]].
#: {{uxa|shi|آر يتّانّاي '''يتران'''.|tr=ar ittannay itran.|t=Anh ấy đang ngắm '''sao'''.}}
===={{ĐM|infl}}====
{{shi-infl-noun|yitri|itran|yitran, itran}}
===={{ĐM|der}}====
{{col|shi
|itri n ṣbaḥ<t:sao Mai>
|itri bu ucwwal<t:sao chổi>
|itri iɣzzifn<t:sao chổi>
|itri n lqalb<t:sao Bắc Cực>
|amagus n itran<t:người lang thang>
}}
==={{ĐM|see}}===
{{col|shi
|akal<t:Trái Đất>
|ignna<t:bầu trời>
|ayyur<t:Mặt Trăng>
|tafukt<t:Mặt Trời>
}}
==={{ĐM|ref}}===
* {{R:shi:DBTF|II|page=1163b}}
{{c|shi|Thiên văn học}}
fbneh6dul5g2bvjlyi3gc2xlr9gvdrm
унадаг дугуй
0
309211
2574807
2173470
2026-11-02T02:16:34Z
Hiyuune
50834
2574807
wikitext
text/x-wiki
=={{langname|mn}}==
==={{ĐM|pron}}===
{{mn-IPA}}
==={{ĐM|n}}===
{{mn-noun|ᠤᠨᠤᠳᠠᠭ ᠳᠤᠭᠤᠢ}}
# [[xe đạp]].
aa21e2740y812u7l9c9wsu8i1ndchcf
мотоцикль
0
309212
2574806
2173471
2026-11-02T02:16:00Z
Hiyuune
50834
2574806
wikitext
text/x-wiki
=={{langname|mn}}==
==={{ĐM|pron}}===
{{mn-IPA}}
==={{ĐM|n}}===
{{mn-noun}}
# [[xe máy]].
c4xrhsd7v3ngecx27s7ld7whrcbwg2v
нисдэг тэрэг
0
309213
2574805
2173472
2026-11-02T02:15:42Z
Hiyuune
50834
2574805
wikitext
text/x-wiki
=={{langname|mn}}==
{{wp|mn:}}
==={{ĐM|n}}===
{{mn-noun|head=[[нисэх|нисдэг]] [[тэрэг]]|ᠨᠢᠰᠳᠡᠭ ᠲᠡᠷᠭᠡ}}
# [[trực thăng]].
0c51g11vpxbs0rz8nh5ags20vnnq1ad
онгоц
0
309214
2574802
2173473
2026-11-02T02:14:22Z
Hiyuune
50834
2574802
wikitext
text/x-wiki
=={{langname|mn}}==
{{mn-variant|ᠣᠩᠭᠣᠴᠠ|онгоц}}
==={{section|etym}}===
Từ {{inh|mn|cmg|ᠣᠩᠭᠣᠴᠠᠰ}}, cuối cùng từ {{inh|mn|xgn-pro|*oŋgaca}}, so sánh với {{cog|sce|onghocho|t=[[máng]]}}.
==={{section|pron}}===
{{mn-IPA}}
==={{section|n}}===
{{mn-noun|dec=n}}
# [[máng]].
# [[thuyền]].
# [[bồn tắm]].
# [[máy bay]].
#: {{syn|mn|нисэх онгоц}}
a2hi6n8ihakud40eebvaxd0irmwlocz
2574803
2574802
2026-11-02T02:14:46Z
Hiyuune
50834
2574803
wikitext
text/x-wiki
=={{langname|mn}}==
{{mn-variant|ᠣᠩᠭᠣᠴᠠ|онгоц}}
==={{section|etym}}===
Từ {{inh|mn|cmg|ᠣᠩᠭᠣᠴᠠᠰ}}, cuối cùng từ {{inh|mn|xgn-pro|*oŋgaca}}, so sánh với {{cog|sce|onghocho|t=[[máng]]}}.
==={{section|pron}}===
{{mn-IPA}}
==={{section|n}}===
{{mn-noun|dec=n}}
# [[máng]].
# [[thuyền]].
# [[bồn]] [[tắm]].
# [[máy bay]].
#: {{syn|mn|нисэх онгоц}}
5nd8tk0bzzc4tuptqxtj6josauvtv9c
2574804
2574803
2026-11-02T02:15:07Z
Hiyuune
50834
2574804
wikitext
text/x-wiki
=={{langname|mn}}==
{{mn-variant|ᠣᠩᠭᠣᠴᠠ|онгоц}}
==={{section|etym}}===
Từ {{inh|mn|cmg|ᠣᠩᠭᠣᠴᠠᠰ}}, cuối cùng từ {{inh|mn|xgn-pro|*oŋgaca}}, so sánh với {{cog|sce|onghocho|t=[[máng]]}}.
==={{section|pron}}===
{{mn-IPA}}
==={{section|n}}===
{{mn-noun|dec=n}}
# [[máng]].
# [[thuyền]].
#: {{syn|mn|усан онгоц}}
# [[bồn]] [[tắm]].
# [[máy bay]].
#: {{syn|mn|нисэх онгоц}}
qloyj78kmn18w7mpg3gr45fxsgsuji8
нисэх хүчин
0
309235
2574801
2173566
2026-11-02T02:12:41Z
Hiyuune
50834
2574801
wikitext
text/x-wiki
=={{langname|mn}}==
==={{ĐM|pron}}===
{{mn-IPA}}
==={{ĐM|n}}===
{{mn-noun}}
# [[không quân]].
azdo9yg9jby7gb85ot4tr2jsxkzp2u9
эрүүгийн хууль
0
309237
2574800
2173569
2026-11-02T02:12:12Z
Hiyuune
50834
2574800
wikitext
text/x-wiki
=={{langname|mn}}==
==={{ĐM|pron}}===
{{mn-IPA}}
==={{ĐM|n}}===
{{mn-noun}}
# [[luật]] [[hình sự]].
{{C|mn|Luật pháp}}
pgjhz6miw0trhym4cwdsmz1x8m0o0nr
хууль
0
309238
2574799
2173573
2026-11-02T02:11:21Z
Hiyuune
50834
2574799
wikitext
text/x-wiki
=={{langname|mn}}==
==={{section|etym}}===
Từ {{inherited|mn|xgn-pro|*kaxulï}}, được cho là bắt nguồn từ {{derived|mn|zh|法律|tr=fǎlǜ}}. So sánh {{cognate|bua|хуули}}, {{cognate|dta|kooli}}, {{cognate|yuy|xuuli}}, {{mention|yuy|xulu}}, {{cognate|vi|pháp luật}}.
==={{section|pron}}===
* {{IPA|mn|/xʊːɮʲ/|[χɵːɮʲ]|a=Ulaanbaatar}}
==={{section|n}}===
{{mn-noun|ᠬᠠᠤᠯᠢ|dec=r}}
# [[luật pháp]].
# [[nguyên tắc]].
===={{section|drv}}====
* {{l|mn|хуульч|t=[[luật sư]]}}
* {{l|mn|хуульчлах}}
{{C|mn|Luật pháp}}
ih72g0uawcdz6ig0q4suugmkn44quhf
гуанз
0
309243
2574798
2173577
2026-11-02T02:10:04Z
Hiyuune
50834
2574798
wikitext
text/x-wiki
=={{langname|mn}}==
{{mn-variant|ᠭᠤᠸᠠᠩᠵᠠ|гуанз}}
==={{section|etym}}===
Từ {{der|mn|cmn|館子}}.
==={{section|pron}}===
* {{IPA|mn|[ɢo͜änt͜s]}}
* {{hyph|mn|гуанз}}
==={{section|n}}===
{{mn-noun}}
# [[căng tin]], [[quán]] [[cà phê]].
# [[quán ăn]].
# [[quán rượu]].
# [[nhà ăn]].
===={{section|see}}====
* {{l|mn|зоогой}}
* {{l|mn|зоогийн газар}}
* {{l|mn|ресторан}}
bq1gdnjalsaq1je1bc9ci9hm71uuu5o
cá viên
0
318614
2574786
2569917
2026-11-01T14:20:01Z
TheHighFighter2
42988
2574786
wikitext
text/x-wiki
=={{langname|vi}}==
{{wikipedia}}
==={{section|etym}}===
Từ {{ghép|vi|cá|viên}}.
==={{section|pron}}===
{{vi-pron}}
==={{section|n}}===
{{vi-noun}}
# Đồ ăn vặt phổ biến được làm từ cá đã tách xương, [[xay nhuyễn]] và vo tròn lại thành viên.
#: {{ux|vi|'''Cá viên''' chiên.}}
===={{section|trans}}====
{{trans-top|Đồ ăn}}
* {{dịch|en}}: {{t+|en|fishball}}
{{trans-bottom}}
{{C|vi|Thực phẩm}}
7qtunwsp0wqwshqii9nzut4lftr2nay
imirkidu
0
355448
2574764
2259734
2026-11-01T13:10:47Z
TheHighFighter2
42988
/* Danh từ */
2574764
wikitext
text/x-wiki
=={{langname|shi}}==
==={{ĐM|alter}}===
* {{alter|shi|ايميركيدو<tr:imirkidu>||chính tả Ả Rập Berber}}
==={{ĐM|etym}}===
{{bor+|shi|la|merces|mercēdis|t=tiền công, lương, phần thưởng}}.
So sánh với {{cognate|tmh|emărked|t=báo ứng từ thần thánh}}, {{cognate|zen|ämärkiđi|t=của bố thí, của cứu tế}}, {{cognate|jbn|amarkīd̠u|t=báo ứng từ thần thánh}} và {{cognate|mzb|amǝrkidu|t=thứ của bố thí để tạ ơn Chúa}}.
==={{ĐM|pron}}===
* {{shi-IPA}}
==={{ĐM|noun}}===
{{shi-head|noun|g=m|notfng=1}} {{tlb|shi|Tiền hiện đại, Trung đại|}}
# [[của|Của]] [[bố thí]].
#: {{synonym|shi|zzakat|taɛbbasiyt|talfṭrt|tinmmtrit}}
==={{ĐM|see}}===
{{column|shi
|ddin<t:tôn giáo>
|arwas<t:địa ngục>
|abkkaḍu<t:tội lỗi>
}}
==={{ĐM|ref}}===
* {{R:shi:DBTF|II|page=1107a}}
* {{R:ber:Kossmann 2013|page=71}}
2yplo8t9x0v2c2gotsakzhm1g3dmhqi
afransis
0
381074
2574776
2574411
2026-11-01T13:47:55Z
TheHighFighter2
42988
2574776
wikitext
text/x-wiki
=={{langname|kab}}==
==={{section|alt}}===
* {{alt|kab|afṛansis}}
==={{section|etym}}===
Từ {{bor|kab|fr|français}}, có lẽ thông qua {{bor|kab|arq|فرانسيس|tr=frānsīs}}.
==={{section|pron}}===
* {{kab-IPA|afṛansis}}
==={{section|adj}}===
{{kab-head|adjective|f=tafransist|pl=ifransisen}}
# Thuộc [[Pháp]].
===={{section|infl}}====
{{kab-infl-adj|ifransisen|tafransist|tifransisin}}
==={{section|n}}===
{{kab-head|noun|g=m|pl=ifransisen}}
# [[đàn ông|Đàn ông]] [[Pháp]]; [[người]] [[Pháp]].
#: {{syn|kab|arumi}}
===={{section|infl}}====
{{kab-infl-noun|ufransis|ifransisen|yifransisen}}
===={{section|drv}}====
{{col|kab
|tafransist<t:tiếng Pháp>
}}
==={{section|ref}}===
* {{R:kab:Amawal}}
* {{R:kab:Dallet:1982}}
=={{langname|rif}}==
==={{section|etym}}===
{{bor+|rif|ary|فرانسيس|tr=frānsīs}}, từ {{der|rif|fr|français}}.
==={{section|n}}===
{{rif-head|noun|g=m|pl=ifransisen|f=tafransist}}
# [[đàn ông|Đàn ông]] [[Pháp]]; [[người]] [[Pháp]].
===={{section|infl}}====
{{rif-infl-noun|ufransis|ifransisen|yifransisen}}
===={{section|drv}}====
{{col|rif
|tafransist<t:tiếng Pháp>
}}
{{C|rif|Quốc tịch}}
amyopco6bzixwq5urw15rafulwya044
řqedd
0
383984
2574770
2328653
2026-11-01T13:35:09Z
TheHighFighter2
42988
/* Tiếng Tarifit */
2574770
wikitext
text/x-wiki
=={{langname|rif}}==
{{rif-rootbox|q-d-d}}
==={{section|alt}}===
* {{alt|rif|lqedd}}
==={{section|etym}}===
{{ety|rif|:bor|ary:قد<tr:qadd><ety:uder<ar:قَدّ>>|text=2|tree=1}}
==={{ĐM|pron}}===
{{rif-pr}}
==={{section|n}}===
{{rif-head|noun|g=m|pl=-}}
# [[kích thước|Kích thước]], [[vóc]] [[người]], [[chiều cao]].
#: {{syn|rif|aqeddi}}
==={{section|ref}}===
* {{R|rif|Serhoual:2002}}
* {{R|rif|Abarrou:2024}}
{{c|rif|Kích thước}}
lp2gaij4dyb445l9xfvkc3z0y89570c
agmmay
0
391350
2574758
2342300
2026-11-01T12:49:45Z
TheHighFighter2
42988
/* Tiếng Tashelhit */
2574758
wikitext
text/x-wiki
=={{langname|shi}}==
{{ety|shi|:from|gmi}}
==={{section|alt}}===
* {{alt|shi|agʷmmay}}
==={{section|pron}}===
* {{shi-IPA|agmmay|agʷmmay}}
==={{section|n}}===
{{shi-head|noun|g=m|pl=-,igmmayn}}
# {{verbal noun of|shi|gmi}}: cách viết, [[chính tả]].
===={{ĐM|infl}}====
{{shi-infl-noun|ugmmay|igmmayn|igmmayn}}
===={{section|drv}}====
{{col|shi
|lḥruf ugmmay<t:bảng chữ cái>
}}
==={{section|ref}}===
* {{R:shi:DBTF|II|page=927b}}
2977o8aou5r7gfsnhb3n0yl027mrpg1
anẓar
0
391351
2574761
2342307
2026-11-01T12:58:45Z
TheHighFighter2
42988
/* Danh từ */
2574761
wikitext
text/x-wiki
{{also|anzar}}
=={{langname|rif}}==
==={{section|alt}}===
* {{alter|rif|anẓā}}
==={{section|etym}}===
{{inh+|rif|ber-pro|-}}.
==={{section|n}}===
{{rif-noun|m|pl=inuẓar}}
# [[mưa|Mưa]].
===={{section|decl}}====
{{rif-infl-noun|wenẓar|inuẓar|yinuẓar}}
===={{section|drv}}====
{{col|rif
|tasřit n wenẓar<t:cầu vồng>
}}
{{C|rif|Tự nhiên}}
=={{langname|shi}}==
==={{section|etym}}===
{{inh+|shi|shi-med|اَنْصَارْ|tr=anẓar|t=mưa}},{{ref|{{R:shi:Tunirt|page=14}}}} từ {{inh|shi|ber-pro|*am(v̆)ẓar|t=mưa}}. Cùng gốc với {{cog|rif|anẓar|t=mưa}}, {{cog|gha|anaẓar|t=mưa}}, {{cog|sds|amzar,anzar|t=mưa}}, {{cog|swn|amẓâr|t=mưa}}.
==={{section|pron}}===
* {{shi-IPA|anẓaṛ}}
==={{section|n}}===
{{shi-head|noun|g=m|pl=-,inẓran}}
# [[mưa|Mưa]].
===={{section|infl}}====
{{shi-infl-noun|unẓar|inẓran|inẓran}}
===={{section|drv}}====
{{col|shi
|luqt n unẓar<t:mùa đông>
|tislit n unẓar<t:cầu vồng>
|anẓar idawmn<t:mưa kéo dài>
|tiṭṭ unẓar<t:hướng Tây>|inẓran<t:mưa dồi dào>
}}
==={{section|see}}===
{{col|shi
|akal<t:Trái Đất>
|amdlu<t:mây>
|ljnnt<t:thiên đường, thiên đàng>
|aman<t:nước>
|tagrst<t:mùa đông>
}}
==={{section|ref}}===
<references/>
* {{R:shi:DBTF|I|page=358a}}
{{C|shi|Tự nhiên}}
75z34s6dp062ut4rb53mfw2ujhjdguh
2574769
2574761
2026-11-01T13:30:34Z
TheHighFighter2
42988
2574769
wikitext
text/x-wiki
{{also|anzar}}
=={{langname|rif}}==
==={{section|alt}}===
* {{alter|rif|anẓā}}
==={{section|etym}}===
{{inh+|rif|ber-pro|-}}.
==={{section|n}}===
{{rif-head|noun|g=m|pl=-,inuẓar}}
# [[mưa|Mưa]].
===={{section|decl}}====
{{rif-infl-noun|wenẓar|inuẓar|yinuẓar}}
===={{section|drv}}====
{{col|rif
|tasřit n wenẓar<t:cầu vồng>
}}
{{C|rif|Tự nhiên}}
=={{langname|shi}}==
==={{section|etym}}===
{{inh+|shi|shi-med|اَنْصَارْ|tr=anẓar|t=mưa}},{{ref|{{R:shi:Tunirt|page=14}}}} từ {{inh|shi|ber-pro|*am(v̆)ẓar|t=mưa}}. Cùng gốc với {{cog|rif|anẓar|t=mưa}}, {{cog|gha|anaẓar|t=mưa}}, {{cog|sds|amzar,anzar|t=mưa}}, {{cog|swn|amẓâr|t=mưa}}.
==={{section|pron}}===
* {{shi-IPA|anẓaṛ}}
==={{section|n}}===
{{shi-head|noun|g=m|pl=-,inẓran}}
# [[mưa|Mưa]].
===={{section|infl}}====
{{shi-infl-noun|unẓar|inẓran|inẓran}}
===={{section|drv}}====
{{col|shi
|luqt n unẓar<t:mùa đông>
|tislit n unẓar<t:cầu vồng>
|anẓar idawmn<t:mưa kéo dài>
|tiṭṭ unẓar<t:hướng Tây>|inẓran<t:mưa dồi dào>
}}
==={{section|see}}===
{{col|shi
|akal<t:Trái Đất>
|amdlu<t:mây>
|ljnnt<t:thiên đường, thiên đàng>
|aman<t:nước>
|tagrst<t:mùa đông>
}}
==={{section|ref}}===
<references/>
* {{R:shi:DBTF|I|page=358a}}
{{C|shi|Tự nhiên}}
f8izpi3v1hmbuu120pwogq6vn2e1snw
aseggʷas
0
391631
2574768
2574402
2026-11-01T13:29:22Z
TheHighFighter2
42988
/* Danh từ */
2574768
wikitext
text/x-wiki
=={{langname|kab}}==
==={{ĐM|alt}}===
* {{alt|kab|aseggas}}
==={{ĐM|etym}}===
{{inh+|kab|ber-pro|-}}.
==={{ĐM|pron}}===
* {{kab-IPA}}
==={{ĐM|noun}}===
{{kab-head|noun|g=m|pl=iseggʷasen}}
# [[năm|Năm]].
#: {{uxa|kab|deg '''useggʷas''' n 2020|vào '''năm''' 2020}}
===={{ĐM|infl}}====
{{kab-infl-noun|useggʷas|iseggʷasen|iseggʷasen}}
==={{ĐM|ref}}===
* {{R:kab:Amawal}}
* {{R:kab:Dallet:1982}}
=={{langname|rif}}==
==={{ĐM|etym}}===
{{inh+|rif|ber-pro|-}}.
==={{ĐM|noun}}===
{{rif-head|noun|g=m|pl=iseggʷasen,iseggʷusa}}
# [[năm|Năm]].
#: {{uxa|rif|Ad uyureɣ '''aseggʷas'''-a.|Tôi sẽ rời đi trong '''năm''' nay.}}
===={{ĐM|decl}}====
{{rif-infl-noun|useggʷas|[[iseggʷasen]], [[iseggʷusa]]|[[iseggʷasen]], [[iseggʷusa]]}}
{{c|rif|Thời gian}}
mwwt7tb63hmjruko4rkiroh2xbiwghf
chủ tus
0
396739
2574787
2352547
2026-11-01T14:21:31Z
TheHighFighter2
42988
2574787
wikitext
text/x-wiki
=={{langname|vi}}==
==={{ĐM|pron}}===
{{vi-pron|chủ tút}}
==={{ĐM|noun}}===
{{vi-noun}}
# {{lb|vi|internet slang|từ mới}} Người [[viết]] và [[đăng]] [[bài]] trên các [[mạng xã hội]].
===={{ĐM|trans}}====
{{trans-top|Người viết và đăng bài trên các mạng xã hội}}
* {{dịch|en}}: {{t+|en|OP}}
{{trans-bottom}}
70z4urfq78bz9jjtnajnovznqr0mtyf
tasřit n wenẓar
0
397700
2574784
2354255
2026-11-01T14:17:02Z
TheHighFighter2
42988
/* Danh từ */
2574784
wikitext
text/x-wiki
=={{langname|rif}}==
==={{ĐM|etym}}===
{{literally|cô dâu của cơn mưa}}. {{inh+|rif|ber-pro|-}}. So sánh với {{cog|kab|tislit n wenẓar}} và {{ncog|ary|عروسة الشتا|tr=ʕrūsit eš-štā}}.
==={{ĐM|pron}}===
* {{rif-IPA}}
==={{ĐM|noun}}===
{{rif-head|noun|g=f|pl=-}}
# [[cầu vồng|Cầu vồng]].
#: {{uxa|rif|'''Tasřit n wenẓar''' ttiři d tawraɣt, d tazeggʷaɣt, d tazeyzawt.|'''Cầu vồng''' có màu vàng, đỏ, và lục.}}
#* {{quote-song
|rif
|year=2024
|url=https://www.youtube.com/watch?v=gkpwPIE_Ndo
|author=Mimoun Rafroua
|lyricist=Abderahim Faouzi
|title=Mamach Thadjid
|passage=Wa taziri yarɣen,<br>hwa-d a nemwennas<br>A ncebbec tiḍewḍin,<br>s wuřawen a nemřadas<br>A '''tasřit n wenẓar''',<br>x wudem n řebḥar temmars<br>Cenna ma ɣennjeɣ xam,<br>a tuṣebḥent n tefras
|t=
}}
===={{ĐM|infl}}====
{{rif-infl-noun|tesřit n wenẓar}}
==={{ĐM|ref}}===
* {{R|rif|Serhoual:2002|page=374}}
{{c|rif|Tự nhiên}}
15v4moutmh0lvdvuofp4rkjtpqf1k10
Bản mẫu:rif-rootbox
10
401254
2574771
2365262
2026-11-01T13:36:18Z
TheHighFighter2
42988
/* */
2574771
wikitext
text/x-wiki
{{#invoke:roots|root|lang=rif}}<noinclude>{{documentation}}</noinclude>
i7phd10if0aye8uev1keatv8st7htz9
mniê
0
413882
2574747
2559289
2026-11-01T12:13:31Z
TheHighFighter2
42988
/* Từ phái sinh */
2574747
wikitext
text/x-wiki
=={{langname|rad}}==
==={{section|noun}}===
{{head|rad|Danh từ}}
# [[gái|Gái]], [[phụ nữ]].
===={{section|der}}====
{{col|rad|adei mniê|čô mniê}}
5wvxczdxm7btt5uwnici3dkx58sbvmg
2574750
2574747
2026-11-01T12:23:37Z
TheHighFighter2
42988
/* Từ phái sinh */
2574750
wikitext
text/x-wiki
=={{langname|rad}}==
==={{section|noun}}===
{{head|rad|Danh từ}}
# [[gái|Gái]], [[phụ nữ]].
===={{section|der}}====
{{col|rad|adei mniê|čô mniê|iê mniê}}
lbo0cyocn6ckql4s661mhov8pp5a1l5
êkei
0
413900
2574752
2559321
2026-11-01T12:26:01Z
TheHighFighter2
42988
/* Từ phái sinh */
2574752
wikitext
text/x-wiki
=={{langname|rad}}==
==={{ĐM|n}}===
{{head|rad|n}}
# [[trai|Trai]], [[đàn ông]].
===={{ĐM|der}}====
{{col|rad|adei êkei|iê êkei}}
jddsvlbdy2of5gvf4fzmo39t9hwi58i
2574754
2574752
2026-11-01T12:29:24Z
TheHighFighter2
42988
2574754
wikitext
text/x-wiki
=={{langname|rad}}==
==={{ĐM|n}}===
{{head|rad|n}}
# [[trai|Trai]], [[đàn ông]].
===={{ĐM|der}}====
{{col|rad|adei êkei|iê êkei|čô êkei}}
6r3f9surybp0nzpem9ywjs6wsnlnhz4
chuyển động thẳng
0
414775
2574788
2560744
2026-11-01T14:22:02Z
TheHighFighter2
42988
2574788
wikitext
text/x-wiki
=={{langname|vi}}==
{{wikipedia}}
==={{ĐM|pron}}===
{{vi-pron}}
==={{ĐM|noun}}===
{{vi-noun|head=[[chuyển động]] [[thẳng]]}}
# {{lb|vi|vật lý}} [[chuyển động|Chuyển động]] có [[quỹ đạo]] đi theo một [[đường thẳng]].
===={{ĐM|trans}}====
{{trans-top|Chuyển động có quỹ đạo đi theo một đường thẳng}}
* {{dịch|en}}: {{t|en|linear motion}}
* {{dịch|id}}: {{t|id|gerak lurus}}
{{trans-bottom}}
==={{ĐM|ref}}===
* {{cite-book|vi
|year=2014
|author=Nhà xuất bản Giáo dục Việt Nam
|publisher={{w|Nhà xuất bản Giáo dục Việt Nam|Bộ Giáo dục và Đào Tạo}}
|title=Vật lý 10 tập 1 (chương trình giáo dục 2006)
|entry=
|edition=2014
}}
pjv8wsfygyc7ingofeju9ludvr8lbhz
lệ thư
0
416275
2574755
2564495
2026-11-01T12:33:00Z
TheHighFighter2
42988
/* Tiếng Việt */
2574755
wikitext
text/x-wiki
=={{langname|vi}}==
{{wp}}
==={{ĐM|etymology}}===
{{vi-etym-sino|隸書}}.
==={{ĐM|pron}}===
{{vi-pron}}
==={{ĐM|noun}}===
{{vi-noun}}
# {{lb|vi|thư pháp}} [[chữ Hán|Chữ Hán]] theo thể [[thư pháp]] phát triển mạnh vào thời [[Hán]], có nét ngang và nét hất đặc trưng, hình thể tương đối vuông và dẹt.
===={{ĐM|trans}}====
{{trans-top|Chữ Hán theo thể thư pháp}}
* {{dịch|en}}: {{t+|en|clerical script}}
* {{dịch|ja}}: {{t+|ja|隷書|tr=れいしょ, reisho}}
* {{dịch|ko}}: {{t+|ko|예서(隸書)}}
* {{dịch|zh}}:
*: {{dịch|cmn}}: {{t+|cmn|隸書|tr=lìshū}}
{{trans-bottom}}
r9f0u3l469cqjbo5373gnmh7wn5o9b8
gánh nặng
0
419861
2574790
2569891
2026-11-01T14:24:02Z
TheHighFighter2
42988
2574790
wikitext
text/x-wiki
=={{langname|vi}}==
==={{section|etym}}===
Từ {{ghép|vi|gánh|nặng}}.
==={{section|pron}}===
{{vi-pron}}
==={{section|n}}===
{{vi-noun}}
# {{nhãn|vi|nghĩa bóng}} [[trách nhiệm|Trách nhiệm]], [[khó khăn]] hoặc nỗi [[lo toan]], [[áp lực]] lớn phải [[gánh vác]].
#: {{ux|vi|'''Gánh nặng''' gia đình.}}
===={{section|trans}}====
{{trans-top|Trách nhiệm, khó khăn hoặc nỗi lo toan, áp lực lớn phải gánh vác}}
* {{dịch|en}}: {{t+|en|burden}}
{{trans-bottom}}
==={{section|ana}}===
* {{anagrams|vi|nặng gánh}}
q1hb69bq0xl1q662azoflt15xzgvrlo
čô mniê
0
421890
2574746
2574739
2026-11-01T12:13:04Z
TheHighFighter2
42988
2574746
wikitext
text/x-wiki
=={{langname|rad}}==
==={{section|etym}}===
Từ {{ghép|rad|čô|t1=cháu|mniê|t2=gái, phụ nữ}}.
==={{section|noun}}===
{{head|rad|Danh từ}}
# [[cháu|Cháu]] [[gái]].
#: {{ux|rad|'''Čô mniê''' kâo dôk hlăp.|'''Cháu gái''' tôi đang chơi.}}
==={{section|ref}}===
* H Za Wut Buôn Yă (2025) ''Từ vựng tiếng Êđê''. Nhà xuất bản Lao Động.
{{C|rad|Thành viên nữ trong gia đình}}
aqgkn84se95qhyfxaszvwdts91e4r0i
čô êkei
0
421891
2574753
2574740
2026-11-01T12:28:51Z
TheHighFighter2
42988
2574753
wikitext
text/x-wiki
=={{langname|rad}}==
==={{section|etym}}===
Từ {{ghép|rad|čô|t1=cháu|êkei|t2=trai, đàn ông}}.
==={{section|noun}}===
{{head|rad|Danh từ}}
# [[cháu|Cháu]] [[trai]].
#: {{ux|rad|'''Čô êkei''' kâo dôk huă.|'''Cháu trai''' tôi đang ăn cơm.}}
==={{section|ref}}===
* H Za Wut Buôn Yă (2025) ''Từ vựng tiếng Êđê''. Nhà xuất bản Lao Động.
{{C|rad|Thành viên nam trong gia đình}}
q7hbw13tmkox14nr2sozbad8mk0puyd
iê
0
421892
2574748
2574742
2026-11-01T12:20:27Z
TheHighFighter2
42988
2574748
wikitext
text/x-wiki
=={{langname|rad}}==
==={{section|noun}}===
{{head|rad|Danh từ}}
# [[anh rể|Anh rể]], [[chị dâu]].
===={{section|der}}====
{{col|rad|iê êkei|iê mniê}}
==={{section|ref}}===
* H Za Wut Buôn Yă (2025) ''Từ vựng tiếng Êđê''. Nhà xuất bản Lao Động.
{{C|rad|Thành viên gia đình}}
n3k3wy9xb0xdtws2hsnk3gpv1mxbzh3
iê mniê
0
421893
2574749
2574743
2026-11-01T12:22:59Z
TheHighFighter2
42988
/* Tiếng Ê Đê */
2574749
wikitext
text/x-wiki
=={{langname|rad}}==
==={{section|etym}}===
Từ {{ghép|rad|iê|mniê|t2=gái}}.
==={{section|noun}}===
{{head|rad|Danh từ}}
# [[chị dâu|Chị dâu]].
#: {{ux|rad|'''Iê mniê''' kâo dôk êmiêt pưk sang.|'''Chị dâu''' tôi đang dọn dẹp nhà cửa.}}
==={{section|ref}}===
* H Za Wut Buôn Yă (2025) ''Từ vựng tiếng Êđê''. Nhà xuất bản Lao Động.
{{C|rad|Thành viên nữ trong gia đình}}
tqzrgjc0tutt4xduli6kxwxaw132odj
iê êkei
0
421894
2574751
2574745
2026-11-01T12:25:13Z
TheHighFighter2
42988
2574751
wikitext
text/x-wiki
=={{langname|rad}}==
==={{section|etym}}===
Từ {{ghép|rad|iê|êkei|t2=trai}}.
==={{section|noun}}===
{{head|rad|Danh từ}}
# [[anh rể|Anh rể]].
#: {{ux|rad|'''Iê êkei''' kâo dôk mă bruă.|'''Anh rể''' tôi đang làm việc.}}
==={{section|ref}}===
* H Za Wut Buôn Yă (2025) ''Từ vựng tiếng Êđê''. Nhà xuất bản Lao Động.
{{C|rad|Thành viên nam trong gia đình}}
lnr3b4on121fvt15iu5twu4mohdfgrt
n̰
0
421896
2574766
2026-11-01T13:21:48Z
Lcsnes
40261
Trang mới: “{{-Latn-}} ==={{ĐM|desction}}=== {{mul-letter}} #[[chữ cái|Chữ cái]] '''[[n]] viết thường''' với dấu ngã bên dưới [[◌̰]]. ==={{ĐM|see}}=== {{Latn-script}} =={{langname|bmi}}== ==={{ĐM|pron}}=== *{{IPA|bmi|/ɲ/}} ==={{ĐM|letter}}=== {{letter|bmi}} #Chữ cái thứ 22 viết thường trong bảng chữ cái Latinh tiếng Bagirmi. #:{{ux|bmi|bi'''n̰'''a|[[dê]]|inline=1}} ==={{ĐM|see}}=== *{{letters|lang=bmi|sc=Latn|qual=Bảng chữ cái Lat…”
2574766
wikitext
text/x-wiki
{{-Latn-}}
==={{ĐM|desction}}===
{{mul-letter}}
#[[chữ cái|Chữ cái]] '''[[n]] viết thường''' với dấu ngã bên dưới [[◌̰]].
==={{ĐM|see}}===
{{Latn-script}}
=={{langname|bmi}}==
==={{ĐM|pron}}===
*{{IPA|bmi|/ɲ/}}
==={{ĐM|letter}}===
{{letter|bmi}}
#Chữ cái thứ 22 viết thường trong bảng chữ cái Latinh tiếng Bagirmi.
#:{{ux|bmi|bi'''n̰'''a|[[dê]]|inline=1}}
==={{ĐM|see}}===
*{{letters|lang=bmi|sc=Latn|qual=Bảng chữ cái Latinh tiếng Bagirmi|Aa|Bb|Mb/mb|Ɓɓ|Cc|Dd|Nd/nd|Ɗɗ|Ee|Əə|Gg|Hh|Ii|Jj|Nj/nj|Kk|Ll|Mm|Nn|Ŋŋ|Ng/ng|N̰/n̰|Oo|Pp|Rr|Ss|Tt|Uu|Ww|Yy|Ƴƴ|Zz}}
==={{ĐM|ref}}===
*{{Chú thích sách|fr|author=Mahamat Idriss Djibrine & John M. Keegan|year=2017|title=[https://morkegbooks.com/Services/World/Languages/SaraBagirmi/SoundDictionary/Bagirmi/#title Dictionnaire Bagirmi]|publisher=Information sur le Projet des Langues Sara-Baguirmiènne est disponible à}}
=={{langname|daa}}==
==={{ĐM|pron}}===
*{{IPA|daa|/ɲ/}}
==={{ĐM|letter}}===
{{letter|daa}}
#Chữ cái thứ 18 viết thường trong bảng chữ cái Latinh tiếng Dangaléat.
#:{{ux|daa|'''n̰'''aake|[[khuyến khích]]|inline=1}}
==={{ĐM|see}}===
*{{letters|lang=daa|sc=Latn|qual=Bảng chữ cái Latinh tiếng Dangaléat|Aa|Bb|Ɓɓ|Cc|Dd|Ɗɗ|Ee|Ɛɛ|Gg|Hh|Ii|Jj|Kk|Ll|Mm|Nn|Ŋŋ|N̰/n̰|Oo|Ɔɔ|Pp|Rr|Ss|Tt|Uu|Ww|Yy|Ƴƴ|Zz}}
==={{ĐM|ref}}===
*{{Chú thích web|fr|author=Association pour la Promotion de la Langue Dangaléat®|year=2016|entryurl=https://www.webonary.org/dangla/en/browse/browse-vernacular-english/?key=daa&letter=n|entry=n|publisher=SIL Internationa|work=Dangaleat - French Dictionary}}
=={{langname|djc}}==
==={{ĐM|pron}}===
*{{IPA4|djc|[ɲ]}}
==={{ĐM|letter}}===
{{letter|djc}}
#Chữ cái thứ 20 viết thường trong bảng chữ cái Latinh tiếng Dar Daju Daju.
#:{{ux|djc|'''n̰'''ar'''n̰'''a|[[khỏe]]|inline=1}}
==={{ĐM|see}}===
*{{letters|lang=djc|sc=Latn|qual=Bảng chữ cái Latinh tiếng Dar Daju Daju|Aa|Bb|Ɓɓ|Cc|Dd|Ɗɗ|Ee|Gg|Hh|Ii|Jj|Kk|Ll|Mm|Mb/mb|Nn|Nd/nd|Ŋŋ|Ŋg/ŋg|N̰/n̰|N̰j/n̰j|Oo|Pp|Rr|Ss|Tt|Uu|Ww|Yy|Ƴƴ|Zz}}
==={{ĐM|ref}}===
*{{Chú thích sách|author=Association pour le Développement et la Promotion de la Langue Dadjo|year=2011|title=[https://www.sil.org/system/files/reapdata/11/94/83/119483414516771249957569339202557527152/DJC_Dico_dadjo_anglais_2011.pdf Diksiyoneri Dɑjiŋɡe - Iŋglisi]|page=64}}
=={{langname|sok}}==
==={{ĐM|pron}}===
*{{IPA|sok|/ɲ/}}
==={{ĐM|letter}}===
{{letter|sok}}
#Chữ cái thứ 19 viết thường trong bảng chữ cái Latinh tiếng Sokoro.
#:{{ux|sok|'''n̰'''ɔmɔ'''n̰'''ɔmɔr|[[lòng bàn chân]]|inline=1}}
==={{ĐM|see}}===
*{{letters|lang=sok|sc=Latn|qual=Bảng chữ cái Latinh tiếng Sokoro|a|b|ɓ|c|d|ɗ|e|ɛ|ə|f|g|h|i|j|k|l|m|n|n̰|ŋ|o|ɔ|p|r|s|t|u|w|y|ƴ}}
==={{ĐM|ref}}===
*{{Chú thích web|author=Gordon Martin, Abdelrahim Yaranga, Saleh Kakoulo, Abdelkerim Ali, Rineke van Rijn|year=2023|publisher=SIL Tchad|work=[https://sokoro.ipsapps.org/ Dictionnaire sokoro 2.4]}}
oiqt72zm6dkrvasafjlo1hlnlnphe4k
Bản mẫu:shy-head
10
421897
2574773
2026-11-01T13:43:30Z
TheHighFighter2
42988
Trang mới: “{{#invoke:ber-headword|show|lang=shy}}<!-- --><noinclude>{{documentation}}</noinclude>”
2574773
wikitext
text/x-wiki
{{#invoke:ber-headword|show|lang=shy}}<!--
--><noinclude>{{documentation}}</noinclude>
54ehgziqjdnz0da0iqyimcxk51niif3
Từ tái tạo:Tiếng Ấn-Âu nguyên thủy/-eh₂yéti
0
421898
2574811
2026-11-02T02:27:22Z
Hiyuune
50834
+ ine-pro
2574811
wikitext
text/x-wiki
{{also|Từ tái tạo:Tiếng Ấn-Âu nguyên thủy/-éyeti|Từ tái tạo:Tiếng Ấn-Âu nguyên thủy/-éh₁yeti}}
{{reconstructed}}
=={{langname|ine-pro}}==
==={{section|etym}}===
{{etymon|ine-pro|id=suf|:af|*-éh₂<id:danh từ tập hợp>|*-yéti<id:nội động từ>|pos=suffix}}
Sự cải tiến dạng hậu tố ghép từ {{m|ine-pro|*-éh₂|pos=hậu tố danh hóa với thân từ eh₂}} + {{m|ine-pro|*-yéti}} (hậu tố động từ tính thực tế).
==={{section|suffix}}===
{{head|ine-pro|Hậu tố|cat2=Dạng hậu tố động từ|head=*(o)-eh₂yéti}}
# {{non-gloss|Tạo ra các động từ chỉ sự lặp lại, tần suất hoặc động từ nối.}}
# {{non-gloss|Tạo ra các động từ thể nguyên nhân/sai khiến.}}
===={{section|infl}}====
{{ine-conj-impf|(o)-eh₂yé}}
===={{section|desc}}====
* {{desc|ine-bsl-pro|*-ā́ˀtei}}
** {{desc|sla-pro|*-ati}} {{q|biến cách ở thì hiện tại}}
* {{desc|cel-pro|*-āti}} {{see desc}}
* {{desc|gem-pro|*-ōną}} {{q|biến cách ở thì hiện tại}} {{see desc}}
* {{desc|grk-pro|-}}
** {{desc|grc|-άω|-ῶ}} {{q|biến cách ở thì hiện tại không rút gọn -άω là phương án tối ưu nhất}}
* {{desc|itc-pro|*-āō}} {{see desc}}
* {{desc|iir-pro|*-aHyáti}}
** {{desc|inc-pro|*-aHyáti}}
*** {{desc|sa|-आयति|tr=-āyáti}}, {{l|sa|-आपयति}} {{q|cấu trúc không rõ -p-}} {{see desc}}
===={{section|see}}====
* {{l|ine-pro|*-h₂ti}}
==={{section|ref}}===
* {{R:Sihler 1995|page=505}}
[[en:Reconstruction:Proto-Indo-European/-eh₂yéti]]
sht8j6sebdxcwbx92peptzszkuqj4c8
Từ tái tạo:Tiếng Ấn-Âu nguyên thủy/bʰoréyeti
0
421899
2574812
2026-11-02T02:31:52Z
Hiyuune
50834
Trang mới: “{{reconstructed}} =={{langname|ine-pro}}== ==={{section|etym}}=== {{root|ine-pro|ine-pro|*bʰer-}} Từ {{suffix|ine-pro|*bʰer-|t1=mang|*éyeti|pos2=hậu tố động từ chỉ sự lặp lại}}. ==={{section|v}}=== {{head|ine-pro|Động từ|chưa hoàn thành|head=*bʰoréyeti|cat2=Động từ chưa hoàn thành}}<ref>{{R:gem:PIEPG|page=28}}</ref><ref>{{R:ine:LIV|page=76}}</ref> # [[mang]] [[theo]]; mang [[nặng]]. ===={{section|infl}}==== {{ine-conj-impf|bʰ…”
2574812
wikitext
text/x-wiki
{{reconstructed}}
=={{langname|ine-pro}}==
==={{section|etym}}===
{{root|ine-pro|ine-pro|*bʰer-}}
Từ {{suffix|ine-pro|*bʰer-|t1=mang|*éyeti|pos2=hậu tố động từ chỉ sự lặp lại}}.
==={{section|v}}===
{{head|ine-pro|Động từ|chưa hoàn thành|head=*bʰoréyeti|cat2=Động từ chưa hoàn thành}}<ref>{{R:gem:PIEPG|page=28}}</ref><ref>{{R:ine:LIV|page=76}}</ref>
# [[mang]] [[theo]]; mang [[nặng]].
===={{section|infl}}====
{{ine-conj-impf|bʰoréye}}
===={{section|desc}}====
* {{desc|sqj-pro}}
** {{desc|sq|mbaj|der=1|unc=1}}
* {{desc|grk-pro|*pʰoréyō}}
** {{desc|grc|φορέω}}
* {{desc|iir-pro|*bʰāráyati|unc=1}}
** {{desc|inc-pro|*bʰāráyati}}
*** {{desc|sa|भारयति|tr=bhāráyati|t=mang}}
==={{section|ref}}===
{{reflist}}
[[en:Reconstruction:Proto-Indo-European/bʰoréyeti]]
q44r0r8pij2njayv3ykwpcy1tt5qleg
Thể loại:Động từ chưa hoàn thành tiếng Ấn-Âu nguyên thủy
14
421900
2574813
2026-11-02T02:32:02Z
Hiyuune
50834
Trang mới: “{{auto cat}}”
2574813
wikitext
text/x-wiki
{{auto cat}}
eomzlm5v4j7ond1phrju7cnue91g5qx
slagboom
0
421901
2574814
2026-11-02T02:36:04Z
Hiyuune
50834
Trang mới: “=={{langname|nl}}== {{wp|nl:}} ==={{ĐM|alt}}=== * {{alt|nl|slachboom||obsolete}} ==={{ĐM|etym}}=== Từ {{inh|nl|dum|slachboom}}. Tương đương với {{compound|nl|slag|boom}}. ==={{ĐM|pron}}=== * {{IPA|nl|/ˈslɑx.boːm/}} * {{audio|nl|Nl-slagboom.ogg}} * {{hyphenation|nl|slag|boom}} ==={{ĐM|n}}=== {{nl-noun|m|-en|+}} # {{lb|nl|transport}} Cổng [[rào chắn]] [[tự động]]. ===={{ĐM|desc}}==== * {{desc|af|slagboom}} * {{desc|en|cal=1|unc=1|slaught-beam}}”
2574814
wikitext
text/x-wiki
=={{langname|nl}}==
{{wp|nl:}}
==={{ĐM|alt}}===
* {{alt|nl|slachboom||obsolete}}
==={{ĐM|etym}}===
Từ {{inh|nl|dum|slachboom}}. Tương đương với {{compound|nl|slag|boom}}.
==={{ĐM|pron}}===
* {{IPA|nl|/ˈslɑx.boːm/}}
* {{audio|nl|Nl-slagboom.ogg}}
* {{hyphenation|nl|slag|boom}}
==={{ĐM|n}}===
{{nl-noun|m|-en|+}}
# {{lb|nl|transport}} Cổng [[rào chắn]] [[tự động]].
===={{ĐM|desc}}====
* {{desc|af|slagboom}}
* {{desc|en|cal=1|unc=1|slaught-beam}}
hnfvwkju4ej9s8hmgi84q7zswdsp6jz
遮断機
0
421902
2574815
2026-11-02T02:37:15Z
Hiyuune
50834
+ ja
2574815
wikitext
text/x-wiki
=={{langname|ja}}==
{{ja-kanjitab|しゃ|だん|き|y=o}}
==={{section|etym}}===
{{ja-com|遮断|しゃだん|機|-き}}
==={{section|pron}}===
{{ja-pron|しゃだんき|acc=2|acc_ref=DJR4,NHK16,SMK8}}
==={{section|n}}===
{{ja-noun|しゃだんき}}
# Cổng [[rào chắn]] [[tự động]].
==={{section|see}}===
* {{confused with|遮断器}}
==={{section|ref}}===
{{reflist}}
1huhims5hm6qkujwpd3yydhkl3jn7nt
Thể loại:Từ đánh vần với 遮 là しゃ tiếng Nhật
14
421903
2574816
2026-11-02T02:37:52Z
Hiyuune
50834
Trang mới: “{{auto cat|kan'on|goon}}”
2574816
wikitext
text/x-wiki
{{auto cat|kan'on|goon}}
9x1whmpp4umz1vfeu481yp7jnxtzkh2
Thể loại:Từ đánh vần với kanji là しゃ tiếng Nhật
14
421904
2574817
2026-11-02T02:38:26Z
Hiyuune
50834
Trang mới: “{{auto cat}}”
2574817
wikitext
text/x-wiki
{{auto cat}}
eomzlm5v4j7ond1phrju7cnue91g5qx
Thể loại:Kanji đọc là しゃ tiếng Nhật
14
421905
2574818
2026-11-02T02:38:59Z
Hiyuune
50834
Trang mới: “{{auto cat}}”
2574818
wikitext
text/x-wiki
{{auto cat}}
eomzlm5v4j7ond1phrju7cnue91g5qx
-𒂊
0
421906
2574819
2026-11-02T07:20:08Z
Hiyuune
50834
/* */
2574819
wikitext
text/x-wiki
=={{langname|sux}}==
{{sux-signs|𒂊}}
==={{section|suffix}}===
{{head|sux|Hậu tố|tr=e}}
# {{n-g|hậu tố khiển cách}}.
==={{section|ref}}===
{{cite-book|title=Introduction to Sumerian Grammar|year=2014|author=Daniel Foxvog|isbn=9781500724269}}
lffoi9bisyi15qu3m7halrmga9l7kux
Quần đảo Faroe
0
421907
2574821
2026-11-02T08:53:54Z
Hiyuune
50834
Trang mới: “=={{langname|vi}}== {{wp}} ==={{section|pron}}=== {{vi-pron|Quần đảo Pha-rô}} ==={{section|pr-noun}}=== {{vi-pr-noun}} # {{sid|vi|Q4628}}{{place|vi|một <<nhóm đảo>> nằm trong vùng biển Na Uy, phía Bắc Đại Tây Dương, ở giữa <<c/Iceland>>, <<c/Na Uy>> và <<c/Scotland>>, là một lãnh thổ tự trị của <<c/Đan Mạch>>}}. ===={{section|trans}}==== {{trans-top|{{pagename}}}} * {{dịch|en}}: {{t+|en|Faroe Islands}} * {{dịch|gd}}: {…”
2574821
wikitext
text/x-wiki
=={{langname|vi}}==
{{wp}}
==={{section|pron}}===
{{vi-pron|Quần đảo Pha-rô}}
==={{section|pr-noun}}===
{{vi-pr-noun}}
# {{sid|vi|Q4628}}{{place|vi|một <<nhóm đảo>> nằm trong vùng biển Na Uy, phía Bắc Đại Tây Dương, ở giữa <<c/Iceland>>, <<c/Na Uy>> và <<c/Scotland>>, là một lãnh thổ tự trị của <<c/Đan Mạch>>}}.
===={{section|trans}}====
{{trans-top|{{pagename}}}}
* {{dịch|en}}: {{t+|en|Faroe Islands}}
* {{dịch|gd}}: {{t|gd|Eileanan Fàro|m-p|alt=na h-Eileanan Fàro}}
* {{dịch|fkv}}: {{t|fkv|Färsaaret}}
* {{dịch|ru}}: {{t+|ru|Фаре́рские острова́|m-p}}, {{t|ru|Фаре́ры|p}}
* {{dịch|ja}}: {{t+|ja|フェロー諸島|tr=Ferō-shotō}}
* {{dịch|eo}}: {{t|eo|Feroaj Insuloj}}, {{t|eo|Ferooj}}
* {{dịch|zh}}:
*: {{dịch|nan-hbl}}: {{t|nan-hbl|Mî-iûⁿ Kûn-tó}}
*: {{dịch|cmn}}: {{t+|cmn|法羅群島|tr=Fǎluō qúndǎo}}
{{trans-bottom}}
3lv5i7ffg2uliwnugs9l13bf1lzqgxh
2574822
2574821
2026-11-02T08:56:27Z
Hiyuune
50834
/* Danh từ riêng */ (sử dụng [[MediaWiki:Gadget-AjaxEdit.js|AjaxEdit]])
2574822
wikitext
text/x-wiki
=={{langname|vi}}==
{{wp}}
==={{section|pron}}===
{{vi-pron|Quần đảo Pha-rô}}
==={{section|pr-noun}}===
{{vi-pr-noun|head=[[quần đảo|Quần đảo]] [[Faroe]]}}
# {{sid|vi|Q4628}}{{place|vi|một <<nhóm đảo>> nằm trong vùng biển Na Uy, phía Bắc Đại Tây Dương, ở giữa <<c/Iceland>>, <<c/Na Uy>> và <<c/Scotland>>, là một lãnh thổ tự trị của <<c/Đan Mạch>>}}.
===={{section|trans}}====
{{trans-top|{{pagename}}}}
* {{dịch|en}}: {{t+|en|Faroe Islands}}
* {{dịch|gd}}: {{t|gd|Eileanan Fàro|m-p|alt=na h-Eileanan Fàro}}
* {{dịch|fkv}}: {{t|fkv|Färsaaret}}
* {{dịch|ru}}: {{t+|ru|Фаре́рские острова́|m-p}}, {{t|ru|Фаре́ры|p}}
* {{dịch|ja}}: {{t+|ja|フェロー諸島|tr=Ferō-shotō}}
* {{dịch|eo}}: {{t|eo|Feroaj Insuloj}}, {{t|eo|Ferooj}}
* {{dịch|zh}}:
*: {{dịch|nan-hbl}}: {{t|nan-hbl|Mî-iûⁿ Kûn-tó}}
*: {{dịch|cmn}}: {{t+|cmn|法羅群島|tr=Fǎluō qúndǎo}}
{{trans-bottom}}
r61ple8sitzbftmz3m72p1fge4q6oj1
Islas Feroe
0
421908
2574823
2026-11-02T08:57:13Z
Hiyuune
50834
Trang mới: “=={{langname|es}}== {{wp|es:}} ==={{section|pron}}=== {{es-pr|+|Islas Féroe<audio:LL-Q1321 (spa)-Millars-Islas Feroe.wav<a:Tây Ban Nha>>}} ==={{section|pr-noun}}=== {{es-proper noun|f-p|head={{cap|islas|lang=es}} {{cap|feroe|lang=es}}}} # {{tcl|es|Quần đảo Faroe|id=Q4628}}”
2574823
wikitext
text/x-wiki
=={{langname|es}}==
{{wp|es:}}
==={{section|pron}}===
{{es-pr|+|Islas Féroe<audio:LL-Q1321 (spa)-Millars-Islas Feroe.wav<a:Tây Ban Nha>>}}
==={{section|pr-noun}}===
{{es-proper noun|f-p|head={{cap|islas|lang=es}} {{cap|feroe|lang=es}}}}
# {{tcl|es|Quần đảo Faroe|id=Q4628}}
2xfz5is6t6bqfns5tcmq789p9aclfmq
Ֆարերներ
0
421909
2574824
2026-11-02T08:58:28Z
Hiyuune
50834
Trang mới: “=={{langname|hy}}== ==={{section|etym}}=== {{ety|hy|:bor|ru:Фаре́ры}} Từ {{bor|hy|ru|Фаре́ры}}. ==={{section|pron}}=== {{hy-IPA}} ==={{section|pr-noun}}=== {{hy-h|Danh từ riêng|g=p}} # {{tcl|hy|Quần đảo Faroe|id=Q4628}} ===={{section|decl}}==== {{hy-noun-ի-ներ||||Ֆարեր|pl=on}} ===={{section|syn}}==== * {{l|hy|Ֆարերյան կղզիներ}} ===={{section|drv}}==== {{col|hy|ֆարերյան}}”
2574824
wikitext
text/x-wiki
=={{langname|hy}}==
==={{section|etym}}===
{{ety|hy|:bor|ru:Фаре́ры}}
Từ {{bor|hy|ru|Фаре́ры}}.
==={{section|pron}}===
{{hy-IPA}}
==={{section|pr-noun}}===
{{hy-h|Danh từ riêng|g=p}}
# {{tcl|hy|Quần đảo Faroe|id=Q4628}}
===={{section|decl}}====
{{hy-noun-ի-ներ||||Ֆարեր|pl=on}}
===={{section|syn}}====
* {{l|hy|Ֆարերյան կղզիներ}}
===={{section|drv}}====
{{col|hy|ֆարերյան}}
p10di5akdtjie41ugqhju5ewyk8rx6c
Bản mẫu:hy-decl-noun-pl
10
421910
2574825
2026-11-02T09:06:48Z
Hiyuune
50834
Trang mới: “{{inflection-table-top|title={{#if:{{{n|}}}|danh hóa,|}} {{{stem|}}} ({{#if:{{{dialect|}}}|{{{dialect}}}|{{#if:{{{TAO|}}}|[[w:Tiếng Armenia Đông|Armenia Đông]], [[w:Bảng chữ cái Armenia cổ điển|chính tả truyền thống]]|[[w:Tiếng Armenia Đông|Armenia Đông]]}}}})|palette=blue|tall=yes}} |- ! class="outer" | ! class="outer" colspan="2" | số nhiều ([[plurale tantum|chỉ có số nhiều]]) |- ! <abbr title="bao gồm cả đối cách trong…”
2574825
wikitext
text/x-wiki
{{inflection-table-top|title={{#if:{{{n|}}}|danh hóa,|}} {{{stem|}}} ({{#if:{{{dialect|}}}|{{{dialect}}}|{{#if:{{{TAO|}}}|[[w:Tiếng Armenia Đông|Armenia Đông]], [[w:Bảng chữ cái Armenia cổ điển|chính tả truyền thống]]|[[w:Tiếng Armenia Đông|Armenia Đông]]}}}})|palette=blue|tall=yes}}
|-
! class="outer" |
! class="outer" colspan="2" | số nhiều ([[plurale tantum|chỉ có số nhiều]])
|-
! <abbr title="bao gồm cả đối cách trong chính tả truyền thống">danh cách</abbr>
| {{l-self|hy||{{{5}}}}}
|-
! <abbr title="bao gồm cả sinh cách trong chính tả truyền thống">dữ cách</abbr>
| {{l-self|hy|{{{13}}}}}
|-
! ly cách
| {{l-self|hy|{{{19}}}}}
|-
! cách công cụ
| {{l-self|hy|{{{23}}}}}
|-
! <abbr title="chỉ dùng với vô sinh (sự vật)">định vị cách</abbr>
| {{#ifeq:{{{27}}}|—|—|{{l-self|hy|{{{27}}}}}}}
|-
! colspan="999" class="separator" |
|-
! class="outer" |
! class="outer" colspan="4" | dạng xác định
|-
! <abbr title="bao gồm cả đối cách vô sinh (sự vật) trong chính tả truyền thống">danh cách</abbr>
| {{l-self|hy|{{{7}}}}}
|-
! <abbr title="bao gồm cả đối cách hữu sinh (sự vật) trong chính tả truyền thống">dữ cách</abbr>
| {{l-self|hy|{{{15}}}}}
|-
! colspan="999" class="separator" |
|-
! class="outer" |
! class="outer" colspan="4" | dạng sở hữu ngôi thứ nhất (của tôi)
|-
! <abbr title="bao gồm cả đối cách trong chính tả truyền thống">danh cách</abbr>
| {{l-self|hy|{{{3s}}}}}
|-
! <abbr title="bao gồm cả sinh cách trong chính tả truyền thống">dữ cách</abbr>
| {{l-self|hy|{{{7s}}}}}
|-
! ly cách
| {{l-self|hy|{{{11s}}}}}
|-
! cách công cụ
| {{l-self|hy|{{{15s}}}}}
|-
! <abbr title="chỉ dùng với vô sinh (sự vật)">định vị cách</abbr>
| {{#ifeq:{{{19s}}}|—|—|{{l-self|hy|{{{19s}}}}}}}
|-
! colspan="999" class="separator" |
|-
! class="outer" |
! class="outer" colspan="4" | dạng sở hữu ngôi thứ hai (của bạn)
|-
! <abbr title="bao gồm cả đối cách trong chính tả truyền thống">danh cách</abbr>
| {{l-self|hy|{{{23s}}}}}
|-
! <abbr title="bao gồm cả sinh cách trong chính tả truyền thống">dữ cách</abbr>
| {{l-self|hy|{{{27s}}}}}
|-
! ly cách
| {{l-self|hy|{{{31s}}}}}
|-
! cách công cụ
| {{l-self|hy|{{{35s}}}}}
|-
! <abbr title="chỉ dùng với vô sinh (sự vật)">định vị cách</abbr>
| {{#ifeq:{{{39s}}}|—|—|{{l-self|hy|{{{39s}}}}}}}
{{inflection-table-bottom|notes={{#if:{{{note|}}}|
{{{note}}}}}}}<noinclude>{{tcat|ndecl:_}}</noinclude>
cgaig5qdotto8okvq25a1d0o287u43j
ᜊᜊᜁ
0
421911
2574826
2026-11-02T09:17:48Z
Hiyuune
50834
Trang mới: “=={{langname|tl}}== ==={{section|noun}}=== {{tl-noun}} # {{tl-bay|babae}}”
2574826
wikitext
text/x-wiki
=={{langname|tl}}==
==={{section|noun}}===
{{tl-noun}}
# {{tl-bay|babae}}
tbf2nwnii0acxb87bhbylosrxm0rll4
kaekaem
0
421912
2574829
2026-11-02T09:23:43Z
Hiyuune
50834
Trang mới: “=={{langname|bi}}== ==={{section|etym}}=== {{m|bi|kaekae}} + {{m|bi|-em}} ==={{section|v}}=== {{head|bi|Động từ}} # {{lb|bi|transitive}} [[ăn|Ăn]]. ===={{section|rel}}==== * {{l|bi|kaekae}} =={{langname|pis}}== ==={{section|etym}}=== Từ {{af|pis|kaekae|-em}}. ==={{section|v}}=== {{head|pis|Động từ}} # {{lb|pis|transitive}} [[ăn|Ăn]]. ===={{section|rel}}==== * {{l|pis|kaekae}} ==={{section|ref}}=== * {{R:pis:Jourdan:2002|+|page=84}}”
2574829
wikitext
text/x-wiki
=={{langname|bi}}==
==={{section|etym}}===
{{m|bi|kaekae}} + {{m|bi|-em}}
==={{section|v}}===
{{head|bi|Động từ}}
# {{lb|bi|transitive}} [[ăn|Ăn]].
===={{section|rel}}====
* {{l|bi|kaekae}}
=={{langname|pis}}==
==={{section|etym}}===
Từ {{af|pis|kaekae|-em}}.
==={{section|v}}===
{{head|pis|Động từ}}
# {{lb|pis|transitive}} [[ăn|Ăn]].
===={{section|rel}}====
* {{l|pis|kaekae}}
==={{section|ref}}===
* {{R:pis:Jourdan:2002|+|page=84}}
63w2hkeapw11b1uq674x3yyy6arweso
babae
0
421913
2574831
2026-11-02T09:30:06Z
Hiyuune
50834
Trang mới: “=={{langname|hil}}== ==={{section|n}}=== {{hil-noun|babáe}} # [[phu nhân|Phu nhân]], [[thiếu nữ]], [[bà chủ]], [[con gái]]. =={{langname|pis}}== ==={{section|particle}}=== {{head|pis|Trợ từ|var=1}} # {{alt form|pis|baebae}} ==={{section|ref}}=== * {{R:pis:Jourdan:2002|bae|page=12}} =={{langname|tl}}== ==={{section|alt}}=== * {{alt|tl|babaye|babayi||dialectal|chiefly|Southern Tagalog}} * {{alt|tl|babai}} ==={{section|etym}}=== {{ety|tl|:inh|poz-pro:…”
2574831
wikitext
text/x-wiki
=={{langname|hil}}==
==={{section|n}}===
{{hil-noun|babáe}}
# [[phu nhân|Phu nhân]], [[thiếu nữ]], [[bà chủ]], [[con gái]].
=={{langname|pis}}==
==={{section|particle}}===
{{head|pis|Trợ từ|var=1}}
# {{alt form|pis|baebae}}
==={{section|ref}}===
* {{R:pis:Jourdan:2002|bae|page=12}}
=={{langname|tl}}==
==={{section|alt}}===
* {{alt|tl|babaye|babayi||dialectal|chiefly|Southern Tagalog}}
* {{alt|tl|babai}}
==={{section|etym}}===
{{ety|tl|:inh|poz-pro:*ba-bahi|tree=1|text=++}} Cùng gốc với {{cog|ceb|babaye}}, {{cog|pam|babai}}, {{cog|ilo|babai}}, {{cog|msk|bobay}}, {{cog|mrw|bebay}}, {{cog|pwn|vavayan}}, và {{cog|yog|bebay}}.
==={{section|pron}}===
{{tl-pr|baba7e}}
==={{section|n}}===
{{tl-noun|b=+}}
# [[phụ nữ|Phụ nữ]]; [[con gái]]; [[nữ giới]].
#: {{syn|tl|gerlalu<l:gay slang>|eabab<l:slang>|ea<l:slang>|muher<l:slang,dated>}}
# [[bà chủ|Bà chủ]]; [[vợ lẽ]]; [[nàng hầu]]; [[gái bao]].
#: {{syn|tl|kaapid|kabit|kalaguyo|kalunya}}
# {{lb|tl|electronics|mechanics}} [[đầu|Đầu]] [[nối]] [[cái]]; [[đầu]] [[nối]] [[âm]].
===={{section|coord}}====
* {{l|tl|lalaki}}
===={{section|drv}}====
{{col|tl|babaero|babaihin|binabae|kababaihan|mambabae|kilos-babae|dalubhasang babae|magpakababae|pagkababae|pambabae|sakit sa babae|babaysot|sagay-babae|hindurugong-babae|haring babae|eabab|ea}}
===={{section|rel}}====
{{col|tl|binibini|kabaian}}
===={{section|see}}====
{{col|tl|ginang|gining|manang}}
==={{section|further}}===
* {{R:Pambansang Diksiyonaryo}}
* {{R:Vocabulario de la lengua tagala 1613}}
** tr. 348: {{m-g|Hembra) Babayi (pp) entre los animales}}
** tr. 436: {{m-g|Muger) Babayi (pp) qualquiera}}
{{C|tl|Nữ giới|Mọi người|Phụ nữ}}
n8hqps5cksujqsxgly95c1zajkryeqg
Thể loại:Động từ tiếng Bislama
14
421914
2574832
2026-11-02T09:38:57Z
Hiyuune
50834
Trang mới: “{{auto cat}}”
2574832
wikitext
text/x-wiki
{{auto cat}}
eomzlm5v4j7ond1phrju7cnue91g5qx
Thể loại:Mục từ tiếng Bislama
14
421915
2574833
2026-11-02T09:39:30Z
Hiyuune
50834
Trang mới: “{{auto cat}}”
2574833
wikitext
text/x-wiki
{{auto cat}}
eomzlm5v4j7ond1phrju7cnue91g5qx
Thể loại:Tiếng Bislama
14
421916
2574834
2026-11-02T09:40:06Z
Hiyuune
50834
Trang mới: “{{auto cat|Vanuatu}}”
2574834
wikitext
text/x-wiki
{{auto cat|Vanuatu}}
eb3x3k1d3wo6quihv4pdvbo6zn7cgnv
Thể loại:Ngoại động từ tiếng Pijin
14
421917
2574835
2026-11-02T09:42:12Z
Hiyuune
50834
Trang mới: “{{auto cat}}”
2574835
wikitext
text/x-wiki
{{auto cat}}
eomzlm5v4j7ond1phrju7cnue91g5qx
Thể loại:Động từ tiếng Pijin
14
421918
2574836
2026-11-02T09:45:46Z
Hiyuune
50834
Trang mới: “{{auto cat}}”
2574836
wikitext
text/x-wiki
{{auto cat}}
eomzlm5v4j7ond1phrju7cnue91g5qx
Thể loại:Mục từ tiếng Pijin
14
421919
2574837
2026-11-02T09:46:28Z
Hiyuune
50834
Trang mới: “{{auto cat}}”
2574837
wikitext
text/x-wiki
{{auto cat}}
eomzlm5v4j7ond1phrju7cnue91g5qx
Thể loại:Tiếng Pijin
14
421920
2574838
2026-11-02T09:48:03Z
Hiyuune
50834
Trang mới: “{{auto cat|Quần đảo Solomon}}”
2574838
wikitext
text/x-wiki
{{auto cat|Quần đảo Solomon}}
2x7zwfe9az57p5nrl8jgbvd1bpgxe9s
tia gamma
0
421921
2574839
2026-11-02T11:17:36Z
Kateru Zakuro
34522
([[Mediawiki:Gadget-start.js|Trang mới]]) +vi:noun:# [[bức xạ|Bức xạ]] [[điện từ]] có [[bước sóng]] rất [[ngắn]], do [[hạt nhân]] [[nguyên tử]] bị [[kích thích]] [[phát]] ra.
2574839
wikitext
text/x-wiki
=={{langname|vi}}==
==={{ĐM|pron}}===
{{vi-pron}}
==={{ĐM|noun}}===
{{vi-noun}}
# [[bức xạ|Bức xạ]] [[điện từ]] có [[bước sóng]] rất [[ngắn]], do [[hạt nhân]] [[nguyên tử]] bị [[kích thích]] [[phát]] ra.
=== {{ĐM|ref}} ===
* {{R:Tratu}}
emsczhe5pet0okxx3mreqk8moyphumn
2574840
2574839
2026-11-02T11:17:53Z
Kateru Zakuro
34522
2574840
wikitext
text/x-wiki
=={{langname|vi}}==
==={{ĐM|pron}}===
{{vi-pron|tia|gam|ma}}
==={{ĐM|noun}}===
{{vi-noun}}
# [[bức xạ|Bức xạ]] [[điện từ]] có [[bước sóng]] rất [[ngắn]], do [[hạt nhân]] [[nguyên tử]] bị [[kích thích]] [[phát]] ra.
=== {{ĐM|ref}} ===
* {{R:Tratu}}
javy7eec2o8guryfmsqt18nu2dsgz0b
tia hồng ngoại
0
421922
2574841
2026-11-02T11:18:19Z
Kateru Zakuro
34522
([[Mediawiki:Gadget-start.js|Trang mới]]) +vi:noun:# [[bức xạ|Bức xạ]] [[hồng ngoại]].
2574841
wikitext
text/x-wiki
=={{langname|vi}}==
==={{ĐM|pron}}===
{{vi-pron}}
==={{ĐM|noun}}===
{{vi-noun}}
# [[bức xạ|Bức xạ]] [[hồng ngoại]].
=== {{ĐM|ref}} ===
* {{R:Tratu}}
439871bzk7efw71ojm6wkn7lfm4zw1h
tia roentgen
0
421923
2574842
2026-11-02T11:20:20Z
Kateru Zakuro
34522
([[Mediawiki:Gadget-start.js|Trang mới]]) +vi:noun:# [[aaa|Aaa]].
2574842
wikitext
text/x-wiki
=={{langname|vi}}==
==={{ĐM|pron}}===
{{vi-pron}}
==={{ĐM|noun}}===
{{vi-noun}}
# {{see-entry|tia X}}
=== {{ĐM|ref}} ===
* {{R:Tratu}}
o07v6kn1pjqjd121tabzw00jl4f49fh
tia tử ngoại
0
421924
2574843
2026-11-02T11:22:17Z
Kateru Zakuro
34522
([[Mediawiki:Gadget-start.js|Trang mới]]) +vi:noun:# [[bức xạ|Bức xạ]] [[tử ngoại]].
2574843
wikitext
text/x-wiki
=={{langname|vi}}==
==={{ĐM|pron}}===
{{vi-pron}}
==={{ĐM|noun}}===
{{vi-noun}}
# [[bức xạ|Bức xạ]] [[tử ngoại]].
=== {{ĐM|ref}} ===
* {{R:Tratu}}
044qkv180lx3ulozvdn0c2xc3snd4e2
tin hin
0
421925
2574844
2026-11-02T11:25:56Z
Kateru Zakuro
34522
([[Mediawiki:Gadget-start.js|Trang mới]]) +vi:noun:# Quá [[bé]].
2574844
wikitext
text/x-wiki
=={{langname|vi}}==
==={{ĐM|pron}}===
{{vi-pron}}
==={{ĐM|adj}}===
{{vi-adj}}
# {{lb|vi|khẩu ngữ}} Quá [[bé]].
#:{{ux|vi|cái lỗ '''tin hin'''}}
#:{{ux|vi|cửa rả gì mà bé '''tin hin'''}}
=== {{ĐM|ref}} ===
* {{R:Tratu}}
0x1zjpb49puuifwt3dryyah5dkjfmey
tin tặc
0
421926
2574845
2026-11-02T11:29:17Z
Kateru Zakuro
34522
([[Mediawiki:Gadget-start.js|Trang mới]]) +vi:noun:# [[kẻ|Kẻ]] [[thâm nhập]] vào [[mạng máy tính]] của [[người khác]] một cách [[trái phép]] để [[lấy]] [[thông tin]], [[làm hỏng]] [[tổ chức]] [[dữ liệu]], [[phá huỷ]] [[chương trình]], [[v]].v..
2574845
wikitext
text/x-wiki
=={{langname|vi}}==
==={{ĐM|pron}}===
{{vi-pron}}
==={{ĐM|noun}}===
{{vi-noun}}
# [[kẻ|Kẻ]] [[thâm nhập]] vào [[mạng máy tính]] của [[người khác]] một cách [[trái phép]] để [[lấy]] [[thông tin]], [[làm hỏng]] [[tổ chức]] [[dữ liệu]], [[phá huỷ]] [[chương trình]], [[v]].v..
===={{ĐM|trans}}====
{{trans-top}}
* {{dịch|en}}: {{t|en|hacker}}
{{trans-bottom}}
=== {{ĐM|ref}} ===
* {{R:Tratu}}
j4xsa88d6ahlt09vxq28hzlavqhfwf2
2574846
2574845
2026-11-02T11:29:41Z
Kateru Zakuro
34522
2574846
wikitext
text/x-wiki
=={{langname|vi}}==
==={{ĐM|pron}}===
{{vi-pron}}
==={{ĐM|noun}}===
{{vi-noun}}
# [[kẻ|Kẻ]] [[thâm nhập]] vào [[mạng máy tính]] của [[người khác]] một cách [[trái phép]] để [[lấy]] [[thông tin]], [[làm hỏng]] [[tổ chức]] [[dữ liệu]], [[phá huỷ]] [[chương trình]], v.v..
===={{ĐM|trans}}====
{{trans-top}}
* {{dịch|en}}: {{t|en|hacker}}
{{trans-bottom}}
=== {{ĐM|ref}} ===
* {{R:Tratu}}
99wr9852oc1jxi0k52cimqp3z1p3ve6
ฝนเลิกงาน
0
421927
2574847
2026-11-02T11:32:38Z
Hiyuune
50834
/* */
2574847
wikitext
text/x-wiki
=={{langname|th}}==
==={{section|etym}}===
{{com+|th|ฝน|เลิก|งาน}}
==={{section|pron}}===
{{th-pron|ฝน-เลิก-งาน}}
==={{section|n}}===
{{th-noun}}
# {{synonym of|th|ฝนราชการ}}
p516kifvcttg6d5yezufuop5zoi6edj
tin vui
0
421928
2574848
2026-11-02T11:34:02Z
Kateru Zakuro
34522
([[Mediawiki:Gadget-start.js|Trang mới]]) +vi:noun:# [[tin|Tin]] có [[tác dụng]] [[mang lại]] [[niềm vui]].
2574848
wikitext
text/x-wiki
=={{langname|vi}}==
==={{ĐM|pron}}===
{{vi-pron}}
==={{ĐM|noun}}===
{{vi-noun}}
# [[tin|Tin]] có [[tác dụng]] [[mang lại]] [[niềm vui]].
#:{{ux|vi|có '''tin vui'''}}
#:{{ux|vi|báo '''tin vui''' với mọi người}}
===={{ĐM|syn}}====
* {{l|vi|tin mừng}}
=== {{ĐM|ref}} ===
* {{R:Tratu}}
87na0dg4it2vak1p56zvuq5fm2edfbl
tin vắn
0
421929
2574849
2026-11-02T11:35:04Z
Kateru Zakuro
34522
([[Mediawiki:Gadget-start.js|Trang mới]]) +vi:noun:# [[tin|Tin]] [[tóm tắt]] [[hết sức]] [[ngắn gọn]], [[đăng]] trên [[báo]] hoặc [[phát]] trên [[truyền thanh]], [[truyền hình]].
2574849
wikitext
text/x-wiki
=={{langname|vi}}==
==={{ĐM|pron}}===
{{vi-pron}}
==={{ĐM|noun}}===
{{vi-noun}}
# [[tin|Tin]] [[tóm tắt]] [[hết sức]] [[ngắn gọn]], [[đăng]] trên [[báo]] hoặc [[phát]] trên [[truyền thanh]], [[truyền hình]].
#:{{ux|vi|mẩu '''tin vắn'''}}
#:{{ux|vi|mục '''tin vắn''' quốc tế}}
=== {{ĐM|ref}} ===
* {{R:Tratu}}
s0tudqejpxbw7dxh855jd1d8v5u2o41
tin yêu
0
421930
2574850
2026-11-02T11:36:53Z
Kateru Zakuro
34522
([[Mediawiki:Gadget-start.js|Trang mới]]) +vi:verb:# [[tin tưởng|Tin tưởng]] và [[yêu mến]].
2574850
wikitext
text/x-wiki
=={{langname|vi}}==
==={{ĐM|pron}}===
{{vi-pron}}
==={{ĐM|verb}}===
{{vi-verb}}
# [[tin tưởng|Tin tưởng]] và [[yêu mến]].
#:{{ux|vi|được bạn bè tin yêu}}
#:{{ux|vi|không phụ lòng '''tin yêu''' của mọi người}}
=== {{ĐM|ref}} ===
* {{R:Tratu}}
11gvwvppwywk8ayi7x7bvvxofjfj2j8
tinh lọc
0
421931
2574851
2026-11-02T11:38:34Z
Kateru Zakuro
34522
([[Mediawiki:Gadget-start.js|Trang mới]]) +vi:verb:# Làm cho [[trong sạch]], [[tinh khiết]] bằng cách [[lọc]] [[bỏ]] những [[tạp chất]] hoặc những thứ không [[cần thiết]].
2574851
wikitext
text/x-wiki
=={{langname|vi}}==
==={{ĐM|pron}}===
{{vi-pron}}
==={{ĐM|verb}}===
{{vi-verb}}
# Làm cho [[trong sạch]], [[tinh khiết]] bằng cách [[lọc]] [[bỏ]] những [[tạp chất]] hoặc những thứ không [[cần thiết]].
#:{{ux|vi|'''tinh lọc''' không khí}}
#:{{ux|vi|nước đã được '''tinh lọc'''}}
=== {{ĐM|ref}} ===
* {{R:Tratu}}
0s6dlhtsoehvruqmbwaakx9igbnmsu2
tinh nhạy
0
421932
2574852
2026-11-02T11:39:35Z
Kateru Zakuro
34522
([[Mediawiki:Gadget-start.js|Trang mới]]) +vi:noun:# Rất [[tinh]] và [[nhạy cảm]], [[ngay]] với cả những [[điều]] [[hết sức]] [[tinh tế]], [[nhỏ nhặt]].
2574852
wikitext
text/x-wiki
=={{langname|vi}}==
==={{ĐM|pron}}===
{{vi-pron}}
==={{ĐM|noun}}===
{{vi-noun}}
# Rất [[tinh]] và [[nhạy cảm]], [[ngay]] với cả những [[điều]] [[hết sức]] [[tinh tế]], [[nhỏ nhặt]].
#:{{ux|vi|giác quan '''tinh nhạy'''}}
#:{{ux|vi|con chó có cái mũi rất '''tinh nhạy'''}}
=== {{ĐM|ref}} ===
* {{R:Tratu}}
fexvbcjc2354i1gfid9uxmju7s5hdit
2574853
2574852
2026-11-02T11:39:48Z
Kateru Zakuro
34522
2574853
wikitext
text/x-wiki
=={{langname|vi}}==
==={{ĐM|pron}}===
{{vi-pron}}
==={{ĐM|adj}}===
{{vi-adj}}
# Rất [[tinh]] và [[nhạy cảm]], [[ngay]] với cả những [[điều]] [[hết sức]] [[tinh tế]], [[nhỏ nhặt]].
#:{{ux|vi|giác quan '''tinh nhạy'''}}
#:{{ux|vi|con chó có cái mũi rất '''tinh nhạy'''}}
=== {{ĐM|ref}} ===
* {{R:Tratu}}
qy92uyh6uzs55vxdlv4c7gd73fdebwk
biliʼ panngombangang
0
421933
2574854
2026-11-02T11:43:27Z
Hiyuune
50834
/* */ + mak
2574854
wikitext
text/x-wiki
=={{langname|mak}}==
==={{section|etym}}===
{{com+|mak|biliʼ|panngombangang}}.
==={{section|n}}===
{{mak-head|Danh từ}}
# {{lb|mak|medicine}} {{alternative form of|mak|kamaraʼ panngombangang}}
==={{section|ref}}===
{{R:mak:Cense:1979|page=487}}
g6yi3s2627t2o6k3sjvw8zgmlaacfh0
rỉ rả
0
421934
2574855
2026-11-02T11:45:02Z
Kateru Zakuro
34522
([[Mediawiki:Gadget-start.js|Trang mới]]) +vi:adj:# [[Từ]] [[gợi tả]] những [[âm thanh]] không to, không [[cao]], [[lặp]] đi [[lặp lại]] cách [[quãng]], [[đều]] đều và [[kéo dài]] [[như không]] [[dứt]].# Mỗi [[lúc]] một [[ít]], nhưng đều đều và kéo dài như không dứt.
2574855
wikitext
text/x-wiki
=={{langname|vi}}==
==={{ĐM|pron}}===
{{vi-pron}}
==={{ĐM|adj}}===
{{vi-adj}}
# [[Từ]] [[gợi tả]] những [[âm thanh]] không to, không [[cao]], [[lặp]] đi [[lặp lại]] cách [[quãng]], [[đều]] đều và [[kéo dài]] [[như không]] [[dứt]].
#:{{ux|vi|tiếng côn trùng kêu '''rỉ rả'''}}
# {{nhãn|vi|ít dùng}} Mỗi [[lúc]] một [[ít]], nhưng đều đều và kéo dài như không dứt.
#:{{ux|vi|ăn '''rỉ rả''' suốt ngày}}
#:{{ux|vi|mưa rỉ rả}}
=== {{ĐM|ref}} ===
* {{R:Tratu}}
j8303mpu5vt1nlwq88x802epygyxmf0
2574856
2574855
2026-11-02T11:45:19Z
Kateru Zakuro
34522
2574856
wikitext
text/x-wiki
=={{langname|vi}}==
==={{ĐM|pron}}===
{{vi-pron}}
==={{ĐM|adj}}===
{{vi-adj}}
# [[Từ]] [[gợi tả]] những [[âm thanh]] không to, không [[cao]], [[lặp]] đi [[lặp lại]] cách [[quãng]], [[đều]] đều và [[kéo dài]] [[như không]] [[dứt]].
#:{{ux|vi|tiếng côn trùng kêu '''rỉ rả'''}}
# {{nhãn|vi|ít dùng}} Mỗi [[lúc]] một [[ít]], nhưng đều đều và kéo dài như không dứt.
#:{{ux|vi|ăn '''rỉ rả''' suốt ngày}}
#:{{ux|vi|mưa '''rỉ rả'''}}
=== {{ĐM|ref}} ===
* {{R:Tratu}}
8a08cdhkxwp76izrgtrv99dht3d034x
rốt cục
0
421935
2574857
2026-11-02T11:46:18Z
Kateru Zakuro
34522
([[Mediawiki:Gadget-start.js|Trang mới]]) +vi:adv:# [[aaa|Aaa]].
2574857
wikitext
text/x-wiki
=={{langname|vi}}==
==={{ĐM|pron}}===
{{vi-pron}}
==={{ĐM|adv}}===
{{vi-adv}}
# {{lb|vi|ít dùng}} {{see-entry|rốt cuộc}}
=== {{ĐM|ref}} ===
* {{R:Tratu}}
saxqk0zxi7ve511abntnjmnh642afzn
rốt ráo
0
421936
2574858
2026-11-02T11:47:57Z
Kateru Zakuro
34522
([[Mediawiki:Gadget-start.js|Trang mới]]) +vi:noun:# [[nhanh chóng|Nhanh chóng]] và [[triệt để]].
2574858
wikitext
text/x-wiki
=={{langname|vi}}==
==={{ĐM|pron}}===
{{vi-pron}}
==={{ĐM|adj}}===
{{vi-adj}}
# {{lb|vi|khẩu ngữ}} [[nhanh chóng|Nhanh chóng]] và [[triệt để]].
#:{{ux|vi|giải quyết '''rốt ráo''' mọi khoản nợ}}
=== {{ĐM|ref}} ===
* {{R:Tratu}}
66quar8ktsrjiounl0rh4waakuqw4x9
rỗi hơi
0
421937
2574859
2026-11-02T11:48:52Z
Kateru Zakuro
34522
([[Mediawiki:Gadget-start.js|Trang mới]]) +vi:adj:# Có [[thời gian]] và [[sức lực]] để [[làm việc]] [[coi]] là [[vô ích]], là không có [[quan hệ]] gì đến mình.
2574859
wikitext
text/x-wiki
=={{langname|vi}}==
==={{ĐM|pron}}===
{{vi-pron}}
==={{ĐM|adj}}===
{{vi-adj}}
# {{lb|vi|khẩu ngữ}} Có [[thời gian]] và [[sức lực]] để [[làm việc]] [[coi]] là [[vô ích]], là không có [[quan hệ]] gì đến mình.
#:{{ux|vi|ai '''rỗi hơi''' mà quan tâm đến chuyện đó}}
=== {{ĐM|ref}} ===
* {{R:Tratu}}
9f28t2b8lf6nkmbfnj9ytjolfayddqu
rộn rịch
0
421938
2574860
2026-11-02T11:49:37Z
Kateru Zakuro
34522
([[Mediawiki:Gadget-start.js|Trang mới]]) +vi:adj:# [[Từ]] [[gợi tả]] [[không khí]] [[hoạt động]] [[sôi nổi]], có nhiều [[tiếng động]], [[tấp nập]], [[khẩn trương]].
2574860
wikitext
text/x-wiki
=={{langname|vi}}==
==={{ĐM|pron}}===
{{vi-pron}}
==={{ĐM|adj}}===
{{vi-adj}}
# [[Từ]] [[gợi tả]] [[không khí]] [[hoạt động]] [[sôi nổi]], có nhiều [[tiếng động]], [[tấp nập]], [[khẩn trương]].
#:{{ux|vi|làng quê '''rộn rịch''' vào mùa}}
t8gh61glbnywuan093fimig847spbnr
2574861
2574860
2026-11-02T11:49:48Z
Kateru Zakuro
34522
2574861
wikitext
text/x-wiki
=={{langname|vi}}==
==={{ĐM|pron}}===
{{vi-pron}}
==={{ĐM|adj}}===
{{vi-adj}}
# [[Từ]] [[gợi tả]] [[không khí]] [[hoạt động]] [[sôi nổi]], có nhiều [[tiếng động]], [[tấp nập]], [[khẩn trương]].
#:{{ux|vi|làng quê '''rộn rịch''' vào mùa}}
=== {{ĐM|ref}} ===
* {{R:Tratu}}
gersn7kd597vtszsfugn8om6t5qpakt
rộng rinh
0
421939
2574862
2026-11-02T11:51:53Z
Kateru Zakuro
34522
([[Mediawiki:Gadget-start.js|Trang mới]]) +vi:adj:# [[rộng|Rộng]] [[thênh thang]].
2574862
wikitext
text/x-wiki
=={{langname|vi}}==
==={{ĐM|pron}}===
{{vi-pron}}
==={{ĐM|adj}}===
{{vi-adj}}
# {{nhãn|vi|phương ngữ|khẩu ngữ}} [[rộng|Rộng]] [[thênh thang]].
#:{{ux|vi|ngôi nhà '''rộng rinh'''}}
=== {{ĐM|ref}} ===
* {{R:Tratu}}
p3rc66e4perl887hxq7083bcjf7yz1i