Wiktionary
viwiktionary
https://vi.wiktionary.org/wiki/Wiktionary:Trang_Ch%C3%ADnh
MediaWiki 1.47.0-wmf.11
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
Event
Event talk
Bản mẫu:-name-
10
2109
2463329
1401313
2026-07-19T08:11:45Z
Kateru Zakuro
34522
Đổi hướng đến [[Bản mẫu:-pr-noun-]]
2463329
wikitext
text/x-wiki
#đổi [[Bản mẫu:-pr-noun-]]
8bmrzjitif8hgx37gofsrkxahioc1xv
2463401
2463329
2026-07-19T08:38:52Z
Kateru Zakuro
34522
Xóa đổi hướng đến trang [[Bản mẫu:-pr-noun-]]
2463401
wikitext
text/x-wiki
{{-h3-def-|{{int:wiktionary-pr-noun}}|Mục từ dùng cấu trúc mục từ Wiktionary cũ/Danh từ riêng}}<includeonly>[[Thể loại:Tên]]</includeonly>
<noinclude>{{Tài liệu đề mục|2}}</noinclude>
a3tni85a6zrzn6madnxparfshg12gwb
2463402
2463401
2026-07-19T08:39:19Z
Kateru Zakuro
34522
2463402
wikitext
text/x-wiki
<includeonly>{{-pr-noun-}}[[Thể loại:Tên]]</includeonly>
<noinclude>{{Tài liệu đề mục|2}}</noinclude>
mo4xikhkwdj5m8vt8uy4lf2ocj4jbpu
chuột
0
3590
2463169
2415463
2026-07-18T14:08:42Z
Intolerable situation
44958
2463169
wikitext
text/x-wiki
{{-vie-}}
{{-info-}}
[[Hình:Maus im Haus.JPG|nhỏ|phải|chuột]]
{{-pron-}}
{{vi-pron}}
{{-nôm-}}
{{đầu}}
*[[𤝞]]: [[chuột]]
{{cuối}}
{{-noun-}}
'''chuột'''
# [[thú|Thú]] thuộc [[bộ]] [[gặm nhấm|Gặp nhấm]], [[mõm]] [[nhọn]], [[tai]] [[bầu dục]], [[đuôi]] [[thon]] dài, thường [[phá hại]] [[mùa màng]] và có thể [[truyền]] [[bệnh]] [[dịch hạch]].
#: ''Hang '''chuột'''.''
#: ''Mèo bắt '''chuột'''.''
# {{term|Máy tính}} Một [[thiết bị]] [[ngoại vi]] được [[nối]] với [[máy tính]], khi cho [[chuyển động]] trên một [[mặt phẳng]] thì sẽ gây ra việc [[chuyển động]] con [[chạy]] trên [[màn hình]] và có [[tác dụng]] để [[kích hoạt]] hay [[chọn lựa]] các [[thành phần]] [[phần mềm]] trên màn hình.
{{-trans-}}
{{đầu}}
* {{eng}}: {{t+|en|mouse}}, {{t+|en|rat}}
* {{hye}}: {{t+|hy|մուկ}}, {{t+|hy|առնետ}}
* {{deu}}: {{t+|de|Maus|f}}
* {{kat}}: {{t+|ka|თაგვი}}, {{t|ka|ვირთხა}}
* {{nld}}: {{t+|nl|muis|m}}
* {{kor}}: {{t+|ko|쥐}}
* {{fra}}: {{t+|fr|souris|f}}
* {{spa}}: {{t+|es|ratón|m}}
* {{tha}}: {{t+|th|หนู}}
* {{blt}}: [[ꪘꪴ]]
{{cuối}}
{{-ref-}}
{{R:FVDP}}
{{R:WinVNKey:Lê Sơn Thanh}}
[[Thể loại:Bộ Gặm nhấm]]
[[Thể loại:Danh từ tiếng Việt]]
[[Thể loại:Phần cứng]]
36p68uohce8fquk2jkbtjr40jhkkjsu
chuốc
0
27482
2463219
2300804
2026-07-18T17:33:09Z
~2026-40432-55
61585
2463219
wikitext
text/x-wiki
{{also|chuộc|chước}}
=={{langname|vi}}==
==={{section|pron}}===
{{vi-pron|chuốc}}
==={{section|etym}} 1===
{{vi-etym-sino|酌||hv=n|chước}}.
===={{section|v}}====
{{vi-verb|𬉤}}
# [[hầu|uống]] [[rượu cùng]] để [[mời hay chiêu đải khách]].
#: {{ux|vi|'''Chuốc''' rượu cho say.}}
==={{section|etym}} 2===
{{rfe|vi}}
===={{section|v}}====
{{vi-verb}}
# [[cố|Cố]] [[mua sắm]] [[cầu cạnh]] với [[giá]] [[đắt]] [[cái]] [[tưởng là]] [[quý]] nhưng lại [[thực sự]] không [[giá trị]].
#: {{ux|vi|Bán gà nhà '''chuốc''' cò nội.}}
#: {{ux|vi|'''Chuốc''' của ấy làm gì.}}
#: {{ux|vi|'''Chuốc''' hư danh.}}
# [[phải|Phải]] [[chịu]] [[cái]] không hay [[ngoài]] ý muốn.
#: {{ux|vi|Rước lấy thù '''chuốc''' oán.}}
#: {{ux|vi|'''Rước''' hoạ vào thân.}}
==={{section|ref}}===
* {{R:FVDP}}
* {{R:WinVNKey:Lê Sơn Thanh}}
g948qgs75miebbs4ahhnm1s0hoo6pgs
2463220
2463219
2026-07-18T17:37:22Z
~2026-40432-55
61585
2463220
wikitext
text/x-wiki
{{also|chuộc|chước}}
=={{langname|vi}}==
==={{section|pron}}===
{{vi-pron|chuốc}}
==={{section|etym}} 1===
{{vi-etym-sino|酌||hv=n|chước}}.
===={{section|v}}====
{{vi-verb|𬉤}}
# [[hầu|uống]] [[rượu cùng]] để [[mời hay chiêu đải khách]].
#: {{ux|vi|'''Chuốc''' rượu cho say.}}
==={{section|etym}} 2===
{{rfe|vi}}
===={{section|v}}====
{{vi-verb}}
# [[cố|Cố]] [[rước lấy]] [[cầu cạnh]] với [[giá]] [[đắt]] [[cái]] [[tưởng là]] [[quý]] nhưng lại [[thực sự]] không [[giá trị]].
#: {{ux|vi|Bán gà nhà '''chuốc''' cò nội.}}
#: {{ux|vi|'''Chuốc''' của ấy làm gì.}}
#: {{ux|vi|'''Chuốc''' hư danh.}}
# [[phải|Phải]] [[chịu]] [[cái]] không hay [[ngoài]] ý muốn.
#: {{ux|vi|Rước lấy thù '''chuốc''' oán.}}
#: {{ux|vi|'''Rước''' hoạ vào thân.}}
==={{section|ref}}===
* {{R:FVDP}}
* {{R:WinVNKey:Lê Sơn Thanh}}
cjnba14m37wse8wkgqp71rablr3jyab
2463221
2463220
2026-07-18T18:07:29Z
Kateru Zakuro
34522
2463221
wikitext
text/x-wiki
{{also|chuộc|chước}}
=={{langname|vi}}==
==={{section|pron}}===
{{vi-pron|chuốc}}
==={{section|etym}} 1===
{{vi-etym-sino|酌||hv=n|chước}}.
===={{section|v}}====
{{vi-verb|𬉤}}
# [[uống|Uống]] [[rượu]] cùng để [[mời]] hay [[chiêu đãi]] [[khách]].
#: {{ux|vi|'''Chuốc''' rượu cho say.}}
==={{section|etym}} 2===
{{rfe|vi}}
===={{section|v}}====
{{vi-verb}}
# [[cố|Cố]] [[rước lấy]] [[cầu cạnh]] với [[giá]] [[đắt]] [[cái]] [[tưởng là]] [[quý]] nhưng lại [[thực sự]] không [[giá trị]].
#: {{ux|vi|Bán gà nhà '''chuốc''' cò nội.}}
#: {{ux|vi|'''Chuốc''' của ấy làm gì.}}
#: {{ux|vi|'''Chuốc''' hư danh.}}
# [[phải|Phải]] [[chịu]] [[cái]] không hay [[ngoài]] ý muốn.
#: {{ux|vi|Rước lấy thù '''chuốc''' oán.}}
#: {{ux|vi|'''Rước''' hoạ vào thân.}}
==={{section|ref}}===
* {{R:FVDP}}
* {{R:WinVNKey:Lê Sơn Thanh}}
egr20o8q78vaiu0jegp0zikhxqe7w0s
2463222
2463221
2026-07-18T18:08:02Z
Kateru Zakuro
34522
Hồi sửa về bản sửa đổi 2300804 của [[Special:Contributions/Hiyuune|Hiyuune]] ([[User talk:Hiyuune|talk]])
2463222
wikitext
text/x-wiki
{{also|chuộc|chước}}
=={{langname|vi}}==
==={{section|pron}}===
{{vi-pron|chuốc}}
==={{section|etym}} 1===
{{vi-etym-sino|酌||hv=n|chước}}.
===={{section|v}}====
{{vi-verb|𬉤}}
# [[rót|Rót]] [[rượu]] để [[mời]].
#: {{ux|vi|'''Chuốc''' rượu cho say.}}
==={{section|etym}} 2===
{{rfe|vi}}
===={{section|v}}====
{{vi-verb}}
# [[cố|Cố]] [[mua sắm]] [[cầu cạnh]] với [[giá]] [[đắt]] [[cái]] [[tưởng là]] [[quý]] nhưng lại [[thực sự]] không [[giá trị]].
#: {{ux|vi|Bán gà nhà '''chuốc''' cò nội.}}
#: {{ux|vi|'''Chuốc''' của ấy làm gì.}}
#: {{ux|vi|'''Chuốc''' hư danh.}}
# [[phải|Phải]] [[chịu]] [[cái]] không hay [[ngoài]] ý muốn.
#: {{ux|vi|Mua thù '''chuốc''' oán.}}
#: {{ux|vi|'''Chuốc''' vạ vào thân.}}
==={{section|ref}}===
* {{R:FVDP}}
* {{R:WinVNKey:Lê Sơn Thanh}}
ttw0nh56v8uxvxb6ww5iz9okoswry3q
2463223
2463222
2026-07-18T19:09:36Z
Hiyuune
50834
/* Tiếng Việt */ khôi phục chữ Nôm
2463223
wikitext
text/x-wiki
{{also|chuộc|chước}}
=={{langname|vi}}==
==={{section|pron}}===
{{vi-pron|chuốc}}
==={{section|nôm}}===
{{col|vi|title=chữ Nôm|祝<t:chúc, giốc, dốc, gióc, chuốc, chọc, chóc, chú, chốc>|織<t:chức, chuốc, chí>|酌<t:chước, chuốc>}}
==={{section|etym}} 1===
{{vi-etym-sino|酌||hv=n|chước}}.
===={{section|v}}====
{{vi-verb|𬉤}}
# [[rót|Rót]] [[rượu]] để [[mời]].
#: {{ux|vi|'''Chuốc''' rượu cho say.}}
==={{section|etym}} 2===
{{rfe|vi}}
===={{section|v}}====
{{vi-verb}}
# [[cố|Cố]] [[mua sắm]] [[cầu cạnh]] với [[giá]] [[đắt]] [[cái]] [[tưởng là]] [[quý]] nhưng lại [[thực sự]] không [[giá trị]].
#: {{ux|vi|Bán gà nhà '''chuốc''' cò nội.}}
#: {{ux|vi|'''Chuốc''' của ấy làm gì.}}
#: {{ux|vi|'''Chuốc''' hư danh.}}
# [[phải|Phải]] [[chịu]] [[cái]] không hay [[ngoài]] ý muốn.
#: {{ux|vi|Mua thù '''chuốc''' oán.}}
#: {{ux|vi|'''Chuốc''' vạ vào thân.}}
==={{section|ref}}===
* {{R:FVDP}}
* {{R:WinVNKey:Lê Sơn Thanh}}
emrkr8pnuwjz2tgnt5wqxfmoedjyi0b
vá
0
29989
2463224
2419162
2026-07-18T19:14:50Z
LacHong902
61089
/* Danh từ */
2463224
wikitext
text/x-wiki
=={{langname|vi}}==
==={{ĐM|pron}}===
{{vi-pron}}
==={{ĐM|nôm}}===
{{đầu}}
*[[𦀪]]: [[vá]]
*[[把]]: [[bửa]], [[vỡ]], [[vỗ]], [[vả]], [[bá]], [[bã]], [[trả]], [[bạ]], [[bả]], [[bẻ]], [[bỡ]], [[ba]], [[sấp]], [[vá]], [[vã]], [[bõi]], [[lả]], [[bữa]]
{{mid}}
*[[播]]: [[vớ]], [[vả]], [[bá]], [[bạ]], [[bả]], [[bợ]], [[bứ]], [[bớ]], [[ba]], [[phăng]], [[vá]]
*[[𧚟]]: [[vá]], [[váy]]
{{cuối}}
==={{ĐM|paro}}===
{{đầu}}
:* [[va]]
:* [[vả]]
{{giữa}}
:* [[và]]
:* [[vạ]]
{{cuối}}
==={{ĐM|noun}}===
{{vi-noun}}
# Đồ dùng [[bằng]] [[sắt]], [[hình]] [[cái]] [[xẻng]].
#: {{ux|vi|Dùng '''vá''' xúc than.}}
# {{nhãn|vi|miền Nam Việt Nam}} Thứ [[thìa]] [[lớn]] [[dùng]] để [[múc]] [[canh]].
#: {{ux|vi|Cái '''vá''' múc canh.}}
==={{ĐM|adj}}===
{{vi-adj}}
# [[nói|Nói]] [[giống]] [[vật]] có [[bộ lông]] nhiều [[màu]].
#: {{ux|vi|Chó '''vá'''.}}
==={{ĐM|verb}}===
{{vi-verb}}
# [[khâu|Khâu]] một [[miếng]] [[vải]] vào [[chỗ]] [[rách]], để cho [[lành lặn]].
#: {{ux|vi|Áo rách khéo '''vá''' hơn lành vụng may.|q=[[tục ngữ]]}}
# [[bịt|Bịt]] [[kín]] một [[chỗ]] [[thủng]].
#: {{ux|vi|'''Vá''' săm xe đạp.}}
# [[lấp|Lấp]] một [[chỗ]] [[trũng]].
#: {{ux|vi|'''Vá''' đường.}}
==={{ĐM|ref}}===
{{R:FVDP}}
{{R:WinVNKey:Lê Sơn Thanh}}
=={{langname|mtq}}==
==={{ĐM|etymology}}===
Từ {{inh|mtq|mkh-vie-pro|*vaːʔ||em gái của cha}}.
==={{ĐM|pron}}===
* {{IPA4|mtq|/vaː⁶/}}
==={{ĐM|noun}}===
{{mtq-noun}}
# [[em gái|Em gái]] của [[cha]].
#: {{uxi|mtq|Cạ nò ti wềl, ủn nhở cháo '''vá''' rổ.|Khi nào đi về, em nhớ chào cô nghe.}}
c79i8q3pxne9wrunv4nk4bxprqspwns
酿造
0
215487
2463474
1988562
2026-07-19T11:06:40Z
Hiyuune
50834
2463474
wikitext
text/x-wiki
{{also|釀造}}
=={{langname|zh}}==
{{zh-see|釀造}}
rddjcyfrijao87v57kskm62guh5axzq
装甲部队
0
215512
2463214
521091
2026-07-18T17:13:16Z
Hiyuune
50834
/* */
2463214
wikitext
text/x-wiki
=={{langname|zh}}==
{{zh-see|裝甲部隊}}
b5332jhar8yyjkmalwcmn1x7frf0ju4
烟囱
0
215545
2463216
1987614
2026-07-18T17:17:11Z
Hiyuune
50834
2463216
wikitext
text/x-wiki
{{also|煙囪}}
=={{langname|zh}}==
{{zh-see|煙囪}}
sb36taw9fbqmrd9g2u7i88zpdaqnjja
維修
0
215551
2463166
2117154
2026-07-18T13:57:57Z
Hiyuune
50834
/* */
2463166
wikitext
text/x-wiki
{{also|维修}}
=={{langname|zh}}==
{{zh-forms|s=维修}}
==={{section|pron}}===
{{zh-pron
|m=wéixiū
|ma=Zh-wéixiu.ogg
|c=wai4 sau1
|mn=ûi-siu/qz,twv:î-siu
|cat=v
}}
==={{section|v}}===
{{head|zh|verb}}
# [[sửa chữa|Sửa chữa]], [[bảo trì]], [[bảo quản]].
===={{section|syn}}====
{{syn-saurus|zh|修補}}
===={{section|drv}}====
{{col3|zh|返廠維修|維修區|可維修|維修權}}
{{cat|cmn|Advanced Mandarin}}
b6tdd3kzldzjsxettw3qyabptyelmcb
温柔
0
215581
2463297
1987543
2026-07-19T05:44:00Z
Hiyuune
50834
2463297
wikitext
text/x-wiki
{{also|溫柔}}
=={{langname|zh}}==
{{zh-see|溫柔}}
6hrlu5cxjptmr2154m1rghwaxzz2ju2
婴儿
0
215781
2463467
1986896
2026-07-19T10:53:34Z
Hiyuune
50834
2463467
wikitext
text/x-wiki
{{also|嬰兒}}
=={{langname|zh}}==
{{zh-see|嬰兒}}
qe99yjtwl3y1zn3rzk57rv91b49zg3r
鼓励
0
215797
2463170
1989040
2026-07-18T14:08:51Z
Hiyuune
50834
/* */
2463170
wikitext
text/x-wiki
{{also|鼓勵}}
=={{langname|zh}}==
{{zh-see|鼓勵}}
0hznw1vzbdoah6pte2jyikkmhqft8y4
孤零零
0
215799
2463476
1986933
2026-07-19T11:09:16Z
Hiyuune
50834
2463476
wikitext
text/x-wiki
=={{langname|zh}}==
{{zh-forms|type=12|alt=孤伶伶}}
==={{section|pron}}===
{{zh-pron
|m=gūlínglíng,gūlīnglīng,2nb=colloquial
|c=gu1 ling4-1 ling4-1
|cat=a
}}
==={{section|adj}}===
{{head|zh|Tính từ}}
# {{lb|zh|ideophonic}} [[trơi trọi|Trơi trọi]], [[cô đơn]], [bơ vơ]].
jizr7jyedqe4fd1m9xj9f4gcm4cw804
孤陋寡闻
0
215800
2463469
1986932
2026-07-19T10:57:50Z
Hiyuune
50834
2463469
wikitext
text/x-wiki
{{also|孤陋寡聞}}
=={{langname|zh}}==
{{zh-see|孤陋寡聞}}
rw0pj7kujttawx6qnvrv5ixqyenxi4m
孤掌难鸣
0
215806
2463471
1986926
2026-07-19T11:00:26Z
Hiyuune
50834
2463471
wikitext
text/x-wiki
=={{langname|zh}}==
{{zh-see|孤掌難鳴}}
mu4pzh247dsohvfu1yum9bx4ha1vnx2
孤子
0
215808
2463211
1986924
2026-07-18T17:05:41Z
Hiyuune
50834
/* */ định nghĩa vớ vẩn, đây là thuật ngữ vật lý học
2463211
wikitext
text/x-wiki
=={{langname|zh}}==
{{zh-forms}}
{{wp|zh:}}
==={{section|pron}}===
{{zh-pron
|m=gūzǐ
|c=gu1 zi2
|mn=ko͘-chú
|cat=n
}}
==={{section|n}}===
{{head|zh|Danh từ}}
# {{lb|zh|physics}} [[soliton|Soliton]].
#: {{syn|zh|孤子波|孤立子|孤立子波}}
===={{section|drv}}====
{{col3|zh|孤子波|反孤子|自孤子|亮孤子|暗孤子|拓朴孤子|耗散孤子|達維多夫孤子}}
jxr6faqhp9xhm4wllm9388ppmtqexgo
2463225
2463211
2026-07-18T22:50:56Z
TheHighFighter2
42988
/* Danh từ */ Không phải vớ vẩn, từ này cũng có nghĩa là "trẻ mồ côi", xem https://baike.baidu.com/item/%E5%AD%A4%E5%AD%90/4812085
2463225
wikitext
text/x-wiki
=={{langname|zh}}==
{{zh-forms}}
{{wp|zh:}}
==={{section|pron}}===
{{zh-pron
|m=gūzǐ
|c=gu1 zi2
|mn=ko͘-chú
|cat=n
}}
==={{section|n}}===
{{head|zh|Danh từ}}
# Trẻ [[mồ côi]], trẻ [[lang thang]] không nơi [[nương tựa]], [[cô nhi]].
# {{lb|zh|physics}} [[soliton|Soliton]].
#: {{syn|zh|孤子波|孤立子|孤立子波}}
===={{section|drv}}====
{{col3|zh|孤子波|反孤子|自孤子|亮孤子|暗孤子|拓朴孤子|耗散孤子|達維多夫孤子}}
daf7bz9orb39wlsggo83kgmmzi0j8gl
罩雾
0
215817
2463165
610895
2026-07-18T13:51:00Z
Hiyuune
50834
/* */
2463165
wikitext
text/x-wiki
=={{langname|zh}}==
{{zh-see|罩霧}}
actxp3g20epeofkwsufd8ikyn5va4hw
均匀
0
216085
2463289
1986760
2026-07-19T04:36:42Z
Hiyuune
50834
2463289
wikitext
text/x-wiki
{{also|均勻}}
=={{langname|zh}}==
{{zh-see|均勻}}
kauf6byaaq96pxxq6064qc30icp3tb3
ẩm ẩm
0
242646
2463179
2088378
2026-07-18T15:22:20Z
TheHighFighter2
42988
Xóa phần tiếng Việt trung cổ, từ điển Việt-Bồ-La viết là "ầm ầm"
2463179
wikitext
text/x-wiki
=={{langname|mtq}}==
==={{ĐM|adj}}===
{{mtq-adj}}
# [[âm ấm|Âm ấm]].
==={{ĐM|ref}}===
{{R:Nguyễn Văn Khang, Bùi Chỉ, Hoàng Văn Hành 2002}}
a123p460zv4htl1nuo5llsnx2b9fvul
2463180
2463179
2026-07-18T15:23:51Z
TheHighFighter2
42988
/* Tham khảo */ (sử dụng [[MediaWiki:Gadget-AjaxEdit.js|AjaxEdit]])
2463180
wikitext
text/x-wiki
=={{langname|mtq}}==
==={{ĐM|adj}}===
{{mtq-adj}}
# [[âm ấm|Âm ấm]].
==={{ĐM|ref}}===
* {{R:Nguyễn Văn Khang, Bùi Chỉ, Hoàng Văn Hành 2002|page=28}}
f4ut8oyrcn37iacpmz0cdb2idgg790e
Thể loại:Họ tiếng Việt
14
245332
2463343
1496923
2026-07-19T08:15:22Z
Kateru Zakuro
34522
2463343
wikitext
text/x-wiki
{{auto cat}}
eomzlm5v4j7ond1phrju7cnue91g5qx
2463358
2463343
2026-07-19T08:19:01Z
Kateru Zakuro
34522
2463358
wikitext
text/x-wiki
[[Thể loại:Tên tiếng Việt]]
npgn4rpqllujmoh186w9nspy8e0384e
2463377
2463358
2026-07-19T08:23:24Z
Kateru Zakuro
34522
2463377
wikitext
text/x-wiki
{{auto cat}}
eomzlm5v4j7ond1phrju7cnue91g5qx
Thể loại:Tên gọi tiếng Việt
14
245333
2463382
1496925
2026-07-19T08:24:28Z
Kateru Zakuro
34522
2463382
wikitext
text/x-wiki
{{auto cat}}
eomzlm5v4j7ond1phrju7cnue91g5qx
Wm.
0
245666
2463399
2398623
2026-07-19T08:29:08Z
BlueShurikenNinjaBot
50371
/* top */ re-categorisation using [[Project:AWB|AWB]]
2463399
wikitext
text/x-wiki
{{-eng-}}
{{-abbr-}}
'''Wm.'''
# {{abbreviation of|en|William}}
{{-syn-}}
* [[Gul.]]
[[Thể loại:Từ viết tắt tiếng Anh]]
3nit8vcood71v0agktpdvtiva5k92md
Jos.
0
245668
2463381
2399198
2026-07-19T08:24:19Z
BlueShurikenNinjaBot
50371
/* top */ re-categorisation using [[Project:AWB|AWB]]
2463381
wikitext
text/x-wiki
{{-eng-}}
{{-abbr-}}
'''Jos.'''
# {{abbreviation of|en|Joseph}}
# {{context|Kinh Thánh}} {{abbreviation of|en|Joshua}}
[[Thể loại:Từ viết tắt tiếng Anh]]
m5brca5ej9xqygasiz57kowqax1gkvy
Geo.
0
245669
2463357
2399190
2026-07-19T08:18:56Z
BlueShurikenNinjaBot
50371
/* top */ re-categorisation using [[Project:AWB|AWB]]
2463357
wikitext
text/x-wiki
{{-eng-}}
{{-abbr-}}
'''Geo.'''
# {{context|cũ}} {{abbreviation of|en|George}}
[[Thể loại:Từ viết tắt tiếng Anh]]
6j67e92u3sn10qjn7yemwpxqpb4w3ou
Eliz.
0
245670
2463348
2398872
2026-07-19T08:16:40Z
BlueShurikenNinjaBot
50371
/* top */ re-categorisation using [[Project:AWB|AWB]]
2463348
wikitext
text/x-wiki
{{-eng-}}
{{-abbr-}}
'''Eliz.'''
# {{context|cũ}} {{abbreviation of|en|Elizabeth}}
[[Thể loại:Từ viết tắt tiếng Anh]]
mkvxt6dlnll784n6hgf16dx7nsgqpl0
Agn.
0
245673
2463319
2398739
2026-07-19T08:09:17Z
BlueShurikenNinjaBot
50371
/* top */ re-categorisation using [[Project:AWB|AWB]]
2463319
wikitext
text/x-wiki
{{-eng-}}
{{-abbr-}}
'''Agn.'''
# {{context|cũ}} {{abbreviation of|en|Agnes}}
[[Thể loại:Từ viết tắt tiếng Anh]]
t0pi8squlkg5dskjctjlf2xiwajkq5y
Alex.
0
245674
2463321
2399158
2026-07-19T08:09:34Z
BlueShurikenNinjaBot
50371
/* top */ re-categorisation using [[Project:AWB|AWB]]
2463321
wikitext
text/x-wiki
{{-eng-}}
{{-abbr-}}
'''Alex.'''
# {{context|cũ}} {{abbreviation of|en|Alexander}}
{{-syn-}}
* [[Alex.r|Alex.<sup>r</sup>]]
[[Thể loại:Từ viết tắt tiếng Anh]]
jpsc5o4xeo0gqnli8xln8rw080hrj80
Alex.r
0
245675
2463322
2399159
2026-07-19T08:09:51Z
BlueShurikenNinjaBot
50371
/* top */ re-categorisation using [[Project:AWB|AWB]]
2463322
wikitext
text/x-wiki
{{DISPLAYTITLE:Alex.<sup>r</sup>}}
{{-eng-}}
{{-abbr-}}
'''Alex.ʳ'''
# {{context|cũ}} {{abbreviation of|en|Alexander}}
{{-syn-}}
* [[Alex.]]
[[Thể loại:Từ viết tắt tiếng Anh]]
k0idx6gnmgwaq9ny3hjihfnj688j8hb
Alf.
0
245676
2463323
2399184
2026-07-19T08:10:08Z
BlueShurikenNinjaBot
50371
/* top */ re-categorisation using [[Project:AWB|AWB]]
2463323
wikitext
text/x-wiki
{{-eng-}}
{{-abbr-}}
'''Alf.'''
# {{context|cũ}} {{abbreviation of|en|Alfred}}
# {{context|cũ}} {{abbreviation of|en|Alphonse}}
[[Thể loại:Từ viết tắt tiếng Anh]]
m6gj30h3v4erivebrq8btlijw6i9lne
Amb.
0
245677
2463324
2399160
2026-07-19T08:10:25Z
BlueShurikenNinjaBot
50371
/* top */ re-categorisation using [[Project:AWB|AWB]]
2463324
wikitext
text/x-wiki
{{-eng-}}
{{-abbr-}}
'''Amb.'''
# {{context|cũ}} {{abbreviation of|en|Ambrose}}
[[Thể loại:Từ viết tắt tiếng Anh]]
strhm8ld0lc482s7ycqi9l7xixs70nn
An.
0
245678
2463325
2398854
2026-07-19T08:10:42Z
BlueShurikenNinjaBot
50371
/* top */ re-categorisation using [[Project:AWB|AWB]]
2463325
wikitext
text/x-wiki
{{-eng-}}
{{-abbr-}}
'''An.'''
# {{context|cũ}} {{abbreviation of|en|Anne}}
# {{context|cũ}} {{abbreviation of|en|Anna}}
[[Thể loại:Từ viết tắt tiếng Anh]]
oe0r7lwtg55tubi8ymscf3cgrxjffls
And.
0
245679
2463326
2399176
2026-07-19T08:10:59Z
BlueShurikenNinjaBot
50371
/* top */ re-categorisation using [[Project:AWB|AWB]]
2463326
wikitext
text/x-wiki
{{-eng-}}
{{-abbr-}}
'''And.'''
# {{context|cũ}} {{abbreviation of|en|Andrew}}
[[Thể loại:Từ viết tắt tiếng Anh]]
8hyqp8mkofyzs1e2odeikbnxwzitycr
Ant.
0
245680
2463327
2399177
2026-07-19T08:11:16Z
BlueShurikenNinjaBot
50371
/* top */ re-categorisation using [[Project:AWB|AWB]]
2463327
wikitext
text/x-wiki
{{-eng-}}
{{-abbr-}}
'''Ant.'''
# {{context|cũ}} {{abbreviation of|en|Anthony}}
[[Thể loại:Từ viết tắt tiếng Anh]]
404ro9n39zgtnem4t78yvyd6mqpik60
Art.
0
245681
2463328
2399183
2026-07-19T08:11:33Z
BlueShurikenNinjaBot
50371
/* top */ re-categorisation using [[Project:AWB|AWB]]
2463328
wikitext
text/x-wiki
{{-eng-}}
{{-abbr-}}
'''Art.'''
# {{context|cũ}} {{abbreviation of|en|Arthur}}
[[Thể loại:Từ viết tắt tiếng Anh]]
mm3f5xif1ewox57w1801tgmkxx5l9c6
Aug.
0
245682
2463330
2398751
2026-07-19T08:11:50Z
BlueShurikenNinjaBot
50371
/* top */ re-categorisation using [[Project:AWB|AWB]]
2463330
wikitext
text/x-wiki
{{-eng-}}
{{-abbr-}}
'''Aug.'''
# {{abbreviation of|en|August}}
# {{context|cũ}} {{abbreviation of|en|Augustus}}
[[Thể loại:Từ viết tắt tiếng Anh]]
l5n9epbrwhw66rus0kikum1qot0cq9o
Barb.
0
245683
2463331
2398860
2026-07-19T08:12:07Z
BlueShurikenNinjaBot
50371
/* top */ re-categorisation using [[Project:AWB|AWB]]
2463331
wikitext
text/x-wiki
{{-eng-}}
{{-abbr-}}
'''Barb.'''
# {{context|pháp lý}} {{abbreviation of|en|Barbados}}
# {{context|cũ}} {{abbreviation of|en|Barbara}}
[[Thể loại:Từ viết tắt tiếng Anh]]
2vb0bhp7ohf5pzgdmnlujhaq0rorido
Bart.
0
245684
2463332
2398887
2026-07-19T08:12:24Z
BlueShurikenNinjaBot
50371
/* top */ re-categorisation using [[Project:AWB|AWB]]
2463332
wikitext
text/x-wiki
{{-eng-}}
{{-abbr-}}
'''Bart.'''
# {{context|cũ}} {{abbreviation of|en|Bartholomew}}
[[Thể loại:Từ viết tắt tiếng Anh]]
j81tk61svzb8ujy2ryu3y091puo8ato
Benj.
0
245685
2463333
2399152
2026-07-19T08:12:41Z
BlueShurikenNinjaBot
50371
/* top */ re-categorisation using [[Project:AWB|AWB]]
2463333
wikitext
text/x-wiki
{{-eng-}}
{{-abbr-}}
'''Benj.'''
# {{context|cũ}} {{abbreviation of|en|Benjamin}}
[[Thể loại:Từ viết tắt tiếng Anh]]
61yu256xx3zuaara4nwu8rvmxps04wc
Brid.
0
245686
2463334
2399153
2026-07-19T08:12:58Z
BlueShurikenNinjaBot
50371
/* top */ re-categorisation using [[Project:AWB|AWB]]
2463334
wikitext
text/x-wiki
{{-eng-}}
{{-abbr-}}
'''Brid.'''
# {{context|cũ}} {{abbreviation of|en|Bridget}}
[[Thể loại:Từ viết tắt tiếng Anh]]
i0eofjbkdq8t5dvqdb4egj1u2gsbrm6
Cath.
0
245687
2463335
2399181
2026-07-19T08:13:15Z
BlueShurikenNinjaBot
50371
/* top */ re-categorisation using [[Project:AWB|AWB]]
2463335
wikitext
text/x-wiki
{{-eng-}}
{{-abbr-}}
'''Cath.'''
# {{context|cũ}} {{abbreviation of|en|Catherine}}
[[Thể loại:Từ viết tắt tiếng Anh]]
qn3o0h5941oh5agax1kc91yyfxfhw75
Chas
0
245688
2463336
2428792
2026-07-19T08:13:32Z
BlueShurikenNinjaBot
50371
/* top */ re-categorisation using [[Project:AWB|AWB]]
2463336
wikitext
text/x-wiki
{{see-entry|chas}}
{{-eng-}}
{{-name-}}
'''Chas''' {{g-old|m}}
# {{form of|en|tên hiệu|Charles}}
{{-abbr-}}
'''Chas'''
# {{context|cũ}} {{abbreviation of|en|Charles}}
[[Thể loại:Tên tiếng Anh]]
[[Thể loại:Từ viết tắt tiếng Anh]]
4isnjnjuljn0eqvoa6vzrygfy7tn2xk
Clem.
0
245689
2463337
2399157
2026-07-19T08:13:50Z
BlueShurikenNinjaBot
50371
/* top */ re-categorisation using [[Project:AWB|AWB]]
2463337
wikitext
text/x-wiki
{{-eng-}}
{{-abbr-}}
'''Clem.'''
# {{context|cũ}} {{abbreviation of|en|Clement}}
[[Thể loại:Từ viết tắt tiếng Anh]]
nqi4ukh1he8f0xdvr8hiqfp6qk921mp
Const.
0
245690
2463338
2399203
2026-07-19T08:14:07Z
BlueShurikenNinjaBot
50371
/* top */ re-categorisation using [[Project:AWB|AWB]]
2463338
wikitext
text/x-wiki
{{-eng-}}
{{-abbr-}}
'''Const.'''
# {{context|cũ}} {{abbreviation of|en|Constance}}
[[Thể loại:Từ viết tắt tiếng Anh]]
d64rtjya6vrqtuh2k5sj9oe9zad16fc
Danl
0
245692
2463339
2398869
2026-07-19T08:14:24Z
BlueShurikenNinjaBot
50371
/* top */ re-categorisation using [[Project:AWB|AWB]]
2463339
wikitext
text/x-wiki
{{-eng-}}
{{-name-}}
'''Danl''', '''Dan’l'''
# {{form of|en|tên hiệu|Daniel}}
{{-abbr-}}
'''Danl''', '''Dan’l'''
# {{context|cũ}} {{abbreviation of|en|Daniel}}
[[Thể loại:Tên tiếng Anh]]
[[Thể loại:Từ viết tắt tiếng Anh]]
88gu938h780at00wye83841dq09532z
Dav.
0
245695
2463340
2399209
2026-07-19T08:14:41Z
BlueShurikenNinjaBot
50371
/* top */ re-categorisation using [[Project:AWB|AWB]]
2463340
wikitext
text/x-wiki
{{-eng-}}
{{-abbr-}}
'''Dav.'''
# {{context|cũ}} {{abbreviation of|en|David}}
[[Thể loại:Từ viết tắt tiếng Anh]]
aott3zc7nvm4pgsta14sqzf38mhjviw
Deb.
0
245696
2463341
2398843
2026-07-19T08:14:58Z
BlueShurikenNinjaBot
50371
/* top */ re-categorisation using [[Project:AWB|AWB]]
2463341
wikitext
text/x-wiki
{{-eng-}}
{{-abbr-}}
'''Deb.'''
# {{context|pháp lý}} {{abbreviation of|en|debate}}
# {{context|cũ}} {{abbreviation of|en|Deborah}}
[[Thể loại:Từ viết tắt tiếng Anh]]
291r32zr64qt8pw7c6ohz2upwzyuame
Den.
0
245697
2463342
2399182
2026-07-19T08:15:15Z
BlueShurikenNinjaBot
50371
/* top */ re-categorisation using [[Project:AWB|AWB]]
2463342
wikitext
text/x-wiki
{{-eng-}}
{{-abbr-}}
'''Den.'''
# {{context|pháp lý}} {{abbreviation of|en|Denmark|t=Đan Mạch}}
# {{context|cũ}} {{abbreviation of|en|Dennis}}
[[Thể loại:Từ viết tắt tiếng Anh]]
bdwc7cilqt4s9lqqwuhzotdi8lb8pjt
Doug.
0
245698
2463344
2398763
2026-07-19T08:15:32Z
BlueShurikenNinjaBot
50371
/* top */ re-categorisation using [[Project:AWB|AWB]]
2463344
wikitext
text/x-wiki
{{-eng-}}
{{-abbr-}}
'''Doug.'''
# {{context|cũ}} {{abbreviation of|en|Douglas}}
[[Thể loại:Từ viết tắt tiếng Anh]]
agqu8as9d72zexes74ll7smlx0a1wla
Edm.
0
245700
2463345
2399172
2026-07-19T08:15:49Z
BlueShurikenNinjaBot
50371
/* top */ re-categorisation using [[Project:AWB|AWB]]
2463345
wikitext
text/x-wiki
{{-eng-}}
{{-abbr-}}
'''Edm.'''
# {{context|cũ}} {{abbreviation of|en|Edmund}}
[[Thể loại:Từ viết tắt tiếng Anh]]
1b6k4o89fkocrwr8om2r1subromvrui
Edrus
0
245701
2463346
2399173
2026-07-19T08:16:06Z
BlueShurikenNinjaBot
50371
/* top */ re-categorisation using [[Project:AWB|AWB]]
2463346
wikitext
text/x-wiki
{{-eng-}}
{{-etymology-}}
{{etym-abbr
| lang = lat | term = Edwardus
}}
{{-abbr-}}
'''Edrus'''
# {{context|cũ}} {{abbreviation of|en|Edward}}
{{-syn-}}
* [[Edw.]]
[[Thể loại:Từ viết tắt tiếng Anh]]
gnf0hsarbflwzx8cfeawe3iwqd6y8nr
Edw.
0
245702
2463347
2398839
2026-07-19T08:16:23Z
BlueShurikenNinjaBot
50371
/* top */ re-categorisation using [[Project:AWB|AWB]]
2463347
wikitext
text/x-wiki
{{-eng-}}
{{-abbr-}}
'''Edw.'''
# {{context|cũ}} {{abbreviation of|en|Edward}}
{{-syn-}}
* [[Edrus]]
[[Thể loại:Từ viết tắt tiếng Anh]]
8xn7ynftdxqpgil15ooy4h6fo3ff5z7
Elnr
0
245703
2463349
2399174
2026-07-19T08:16:57Z
BlueShurikenNinjaBot
50371
/* top */ re-categorisation using [[Project:AWB|AWB]]
2463349
wikitext
text/x-wiki
{{-eng-}}
{{-abbr-}}
'''Elnr'''
# {{context|cũ}} {{abbreviation of|en|Eleanor}}
[[Thể loại:Từ viết tắt tiếng Anh]]
mjy4omi10s7pvc02jvn6jgngdxgj8gd
Esth.
0
245704
2463351
2399168
2026-07-19T08:17:14Z
BlueShurikenNinjaBot
50371
/* top */ re-categorisation using [[Project:AWB|AWB]]
2463351
wikitext
text/x-wiki
{{-eng-}}
{{-abbr-}}
'''Esth.'''
# {{context|cũ}} {{abbreviation of|en|Esther}}
[[Thể loại:Từ viết tắt tiếng Anh]]
f7aoh4qgqvdwcv2rvse6kp8mcudllya
Ezek.
0
245705
2463352
2399167
2026-07-19T08:17:31Z
BlueShurikenNinjaBot
50371
/* top */ re-categorisation using [[Project:AWB|AWB]]
2463352
wikitext
text/x-wiki
{{-eng-}}
{{-abbr-}}
'''Ezek.'''
# {{context|Kinh Thánh|hoặc|cũ}} {{abbreviation of|en|Ezekiel}}
[[Thể loại:Từ viết tắt tiếng Anh]]
2teu5hb7utk8dsxx5eufrjsfw2gpf8z
Fred.
0
245706
2463353
2398876
2026-07-19T08:17:48Z
BlueShurikenNinjaBot
50371
/* top */ re-categorisation using [[Project:AWB|AWB]]
2463353
wikitext
text/x-wiki
{{-eng-}}
{{-abbr-}}
'''Fred.'''
# {{context|cũ}} {{abbreviation of|en|Frederick}}
[[Thể loại:Từ viết tắt tiếng Anh]]
iik22qrvsjp8rtqw0u8dv7smtuq1tw3
Froo.
0
245707
2463354
2398836
2026-07-19T08:18:05Z
BlueShurikenNinjaBot
50371
/* top */ re-categorisation using [[Project:AWB|AWB]]
2463354
wikitext
text/x-wiki
{{-eng-}}
{{-abbr-}}
'''Froo.'''
# {{context|cũ}} {{abbreviation of|en|Franco}}
[[Thể loại:Từ viết tắt tiếng Anh]]
996mv7qzy8p38t1xlv91dl03pia364s
Fs
0
245708
2463355
2399166
2026-07-19T08:18:22Z
BlueShurikenNinjaBot
50371
/* top */ re-categorisation using [[Project:AWB|AWB]]
2463355
wikitext
text/x-wiki
{{-eng-}}
{{-noun-}}
{{head|en|Biến thể hình thái danh từ}}
# {{plural of|en|F}}
{{-abbr-}}
'''Fs'''
# {{context|cũ}} {{abbreviation of|en|Francis}}
[[Thể loại:Từ viết tắt tiếng Anh]]
d189ywekke4vqv6u7ig1o4pyj325ykx
Gab.
0
245709
2463356
2399169
2026-07-19T08:18:39Z
BlueShurikenNinjaBot
50371
/* top */ re-categorisation using [[Project:AWB|AWB]]
2463356
wikitext
text/x-wiki
{{-eng-}}
{{-abbr-}}
'''Gab.'''
# {{context|cũ}} {{abbreviation of|en|Gabriel}}
[[Thể loại:Từ viết tắt tiếng Anh]]
ietrp5e2410ormwo8lv82rkuoeixdng
Geof.
0
245710
2463359
2398782
2026-07-19T08:19:13Z
BlueShurikenNinjaBot
50371
/* top */ re-categorisation using [[Project:AWB|AWB]]
2463359
wikitext
text/x-wiki
{{-eng-}}
{{-abbr-}}
'''Geof.'''
# {{context|cũ}} {{abbreviation of|en|Geoffrey}}
[[Thể loại:Từ viết tắt tiếng Anh]]
8mlclw2fr1qaogyp4ad9b9ikg0xisom
Godf.
0
245711
2463360
2399189
2026-07-19T08:19:30Z
BlueShurikenNinjaBot
50371
/* top */ re-categorisation using [[Project:AWB|AWB]]
2463360
wikitext
text/x-wiki
{{-eng-}}
{{-abbr-}}
'''Godf.'''
# {{context|cũ}} {{abbreviation of|en|Godfrey}}
[[Thể loại:Từ viết tắt tiếng Anh]]
2qfekpfyehd0e11310d90zy62uvf4ct
Greg.
0
245712
2463361
2399192
2026-07-19T08:19:47Z
BlueShurikenNinjaBot
50371
/* top */ re-categorisation using [[Project:AWB|AWB]]
2463361
wikitext
text/x-wiki
{{-eng-}}
{{-abbr-}}
'''Greg.'''
# {{context|cũ}} {{abbreviation of|en|Gregory}}
[[Thể loại:Từ viết tắt tiếng Anh]]
mbaxv6ah661zgumq85h40hveqbnhfs8
Gul.
0
245713
2463362
2399193
2026-07-19T08:20:04Z
BlueShurikenNinjaBot
50371
/* top */ re-categorisation using [[Project:AWB|AWB]]
2463362
wikitext
text/x-wiki
{{-eng-}}
{{-etymology-}}
{{etym-from
| lang = lat | term = Gulielmus
}}
{{-abbr-}}
'''Gul.'''
# {{context|cũ}} {{abbreviation of|en|William}}
{{-syn-}}
* [[Wm.]]
[[Thể loại:Từ viết tắt tiếng Anh]]
o4jzk66yi0xyq4e6lxgi4i0ttorgh5q
Han.
0
245714
2463363
2398829
2026-07-19T08:20:21Z
BlueShurikenNinjaBot
50371
/* top */ re-categorisation using [[Project:AWB|AWB]]
2463363
wikitext
text/x-wiki
{{-eng-}}
{{-abbr-}}
'''Han.'''
# {{context|cũ}} {{abbreviation of|en|Hannah}}
[[Thể loại:Từ viết tắt tiếng Anh]]
g03kxeiybj4xauj172g9h50y1tzxkvh
Hen.
0
245716
2463365
2399187
2026-07-19T08:20:55Z
BlueShurikenNinjaBot
50371
/* top */ re-categorisation using [[Project:AWB|AWB]]
2463365
wikitext
text/x-wiki
{{-eng-}}
{{-abbr-}}
'''Hen.'''
# {{context|cũ}} {{abbreviation of|en|Henry}}
{{-syn-}}
* [[Hy]]
[[Thể loại:Từ viết tắt tiếng Anh]]
9x5qxtcxswufcmz6fe59ail1mn6lvep
Hel.
0
245717
2463364
2399186
2026-07-19T08:20:38Z
BlueShurikenNinjaBot
50371
/* top */ re-categorisation using [[Project:AWB|AWB]]
2463364
wikitext
text/x-wiki
{{-eng-}}
{{-abbr-}}
'''Hel.'''
# {{context|cũ}} {{abbreviation of|en|Helen}}
[[Thể loại:Từ viết tắt tiếng Anh]]
nfjt6sjqobmow77clrj9pyab7nfrqox
Herb.
0
245718
2463367
2399188
2026-07-19T08:21:12Z
BlueShurikenNinjaBot
50371
/* top */ re-categorisation using [[Project:AWB|AWB]]
2463367
wikitext
text/x-wiki
{{-eng-}}
{{-abbr-}}
'''Herb.'''
# {{context|cũ}} {{abbreviation of|en|Herbert}}
[[Thể loại:Từ viết tắt tiếng Anh]]
r6adyiwrk1gk4bqtbaseuq04pzitfph
Hy
0
245719
2463368
2398786
2026-07-19T08:21:29Z
BlueShurikenNinjaBot
50371
/* top */ re-categorisation using [[Project:AWB|AWB]]
2463368
wikitext
text/x-wiki
{{-eng-}}
{{-abbr-}}
'''Hy'''
# {{context|cũ}} {{abbreviation of|en|Henry}}
{{-syn-}}
* [[Hen.]]
[[Thể loại:Từ viết tắt tiếng Anh]]
nd90q1a7knk6ep8swx9w9iayml6pfwu
Ioh.
0
245720
2463370
2399207
2026-07-19T08:21:46Z
BlueShurikenNinjaBot
50371
/* top */ re-categorisation using [[Project:AWB|AWB]]
2463370
wikitext
text/x-wiki
{{-eng-}}
{{-etymology-}}
{{etym-from
| lang = lat | term = Iohannes | lterm = Iōhannēs
}}
{{-abbr-}}
'''Ioh.'''
# {{context|cũ}} {{abbreviation of|en|John}}
{{-syn-}}
* [[Jno]]
[[Thể loại:Từ viết tắt tiếng Anh]]
eo4xi7qvieisk3erhlqd88g1et57l9y
Isb.
0
245721
2463371
2399208
2026-07-19T08:22:03Z
BlueShurikenNinjaBot
50371
/* top */ re-categorisation using [[Project:AWB|AWB]]
2463371
wikitext
text/x-wiki
{{-eng-}}
{{-abbr-}}
'''Isb.'''
# {{context|cũ}} {{abbreviation of|en|Isabel}}
[[Thể loại:Từ viết tắt tiếng Anh]]
3cm9pcs364265j6zng80i8e7d20tmkx
Jabus
0
245722
2463372
2398884
2026-07-19T08:22:20Z
BlueShurikenNinjaBot
50371
/* top */ re-categorisation using [[Project:AWB|AWB]]
2463372
wikitext
text/x-wiki
{{-eng-}}
{{-etymology-}}
{{etym-from
| lang = lat | term = Iacobus
}}
{{-abbr-}}
'''Jabus'''
# {{context|cũ}} {{abbreviation of|en|James}}
{{-syn-}}
* [[Jac.]]
* [[Jam.]]
* [[Jas]]
[[Thể loại:Từ viết tắt tiếng Anh]]
8d5hmlim4hqahhzrzeiz2xmr7vpqnam
Jac.
0
245723
2463373
2398791
2026-07-19T08:22:37Z
BlueShurikenNinjaBot
50371
/* top */ re-categorisation using [[Project:AWB|AWB]]
2463373
wikitext
text/x-wiki
{{-eng-}}
{{-etymology-}}
{{etym-from
| lang = lat | term = Iacobus
}}
{{-abbr-}}
'''Jac.'''
# {{context|cũ}} {{abbreviation of|en|James}}
{{-syn-}}
* [[Jabus]]
* [[Jam.]]
* [[Jas]]
[[Thể loại:Từ viết tắt tiếng Anh]]
mjpt0j0qr0lgfmu0coc2ben4ty53uh3
Jas
0
245724
2463375
2399163
2026-07-19T08:23:11Z
BlueShurikenNinjaBot
50371
/* top */ re-categorisation using [[Project:AWB|AWB]]
2463375
wikitext
text/x-wiki
{{-eng-}}
{{-homo-}}
; [[#Tên|tên]]
* [[jazz]]
* [[Jaz]]
{{-name-}}
'''Jas'''
# {{form of|en|tên hiệu|James}}
# {{form of|en|tên hiệu|Jasmine}}
{{-syn-}}
; tên hiệu của Jasmine
* [[Jaz]]
{{-abbr-}}
'''Jas'''
# {{context|Kinh Thánh}} {{term|Jas.}} {{abbreviation of|en|James}}
{{-syn-}}
* [[Jabus]]
* [[Jac.]]
* [[Jam.]]
[[Thể loại:Tên tiếng Anh]]
[[Thể loại:Từ viết tắt tiếng Anh]]
or7gi7ppj1c62ib0bq8pehwayf5skml
Jam.
0
245725
2463374
2399162
2026-07-19T08:22:54Z
BlueShurikenNinjaBot
50371
/* top */ re-categorisation using [[Project:AWB|AWB]]
2463374
wikitext
text/x-wiki
{{-eng-}}
{{-abbr-}}
'''Jam.'''
# {{context|Kinh Thánh}} {{abbreviation of|en|James}}
{{-syn-}}
* [[Jac.]]
* [[Jam.]]
* [[Jas]]
[[Thể loại:Từ viết tắt tiếng Anh]]
2g2jcju7onmu1u77cnpzdq7itqs6824
Jer.
0
245726
2463378
2399164
2026-07-19T08:23:28Z
BlueShurikenNinjaBot
50371
/* top */ re-categorisation using [[Project:AWB|AWB]]
2463378
wikitext
text/x-wiki
{{-eng-}}
{{-abbr-}}
'''Jef.'''
# {{context|Kinh Thánh|hoặc|cũ}} {{abbreviation of|en|Jeremiah}}
[[Thể loại:Từ viết tắt tiếng Anh]]
3wek0k8c10wx2dvezentgbsax3boxhu
Jno
0
245727
2463379
2399196
2026-07-19T08:23:45Z
BlueShurikenNinjaBot
50371
/* top */ re-categorisation using [[Project:AWB|AWB]]
2463379
wikitext
text/x-wiki
{{-eng-}}
{{-abbr-}}
'''Jno'''
# {{context|cũ}} {{abbreviation of|en|John}}
{{-syn-}}
* [[Ioh.]]
[[Thể loại:Từ viết tắt tiếng Anh]]
6nn6kzghfqcxsgdqn5doqug56ctew33
Jon.
0
245728
2463380
2399197
2026-07-19T08:24:02Z
BlueShurikenNinjaBot
50371
/* top */ re-categorisation using [[Project:AWB|AWB]]
2463380
wikitext
text/x-wiki
{{-eng-}}
{{-abbr-}}
'''Jon.'''
# {{context|Kinh Thánh}} {{abbreviation of|en|Jonah}}
# {{context|cũ}} {{abbreviation of|en|Jonathan}}
[[Thể loại:Từ viết tắt tiếng Anh]]
2q9qmz2x9sgzy245bzvw7op12tt419l
Josh
0
245730
2463383
2399199
2026-07-19T08:24:36Z
BlueShurikenNinjaBot
50371
/* top */ re-categorisation using [[Project:AWB|AWB]]
2463383
wikitext
text/x-wiki
{{-eng-}}
{{-name-}}
'''Josh'''
# {{form of|en|tên hiệu|Joshua}}
{{-abbr-}}
'''Josh'''
# {{context|cũ}} {{abbreviation of|en|Josiah}}
[[Thể loại:Tên tiếng Anh]]
[[Thể loại:Từ viết tắt tiếng Anh]]
9hvkl6nlhyq37pvaqyys4q5dleahc35
Lau.
0
245732
2463384
2399144
2026-07-19T08:24:53Z
BlueShurikenNinjaBot
50371
/* top */ re-categorisation using [[Project:AWB|AWB]]
2463384
wikitext
text/x-wiki
{{-eng-}}
{{-abbr-}}
'''Lau.'''
# {{context|cũ}} {{abbreviation of|en|Laurence}}
{{-related-}}
* [[Lawr.]]
[[Thể loại:Từ viết tắt tiếng Anh]]
col9odl45m5nci965bgat1nlwo6zbnl
Lawr.
0
245733
2463385
2399147
2026-07-19T08:25:10Z
BlueShurikenNinjaBot
50371
/* top */ re-categorisation using [[Project:AWB|AWB]]
2463385
wikitext
text/x-wiki
{{-eng-}}
{{-abbr-}}
'''Lawr.'''
# {{context|cũ}} {{abbreviation of|en|Lawrence}}
{{-syn-}}
* [[Lau.]]
[[Thể loại:Từ viết tắt tiếng Anh]]
mfz3hwx3nupn78yw31yc2qnd3qfheyy
Leon.
0
245734
2463386
2398880
2026-07-19T08:25:27Z
BlueShurikenNinjaBot
50371
/* top */ re-categorisation using [[Project:AWB|AWB]]
2463386
wikitext
text/x-wiki
{{-eng-}}
{{-abbr-}}
'''Leon.'''
# {{context|cũ}} {{abbreviation of|en|Leonard}}
[[Thể loại:Từ viết tắt tiếng Anh]]
q00qot5qdz33k1d2czbmg7lalswdcl4
Lyd.
0
245735
2463387
2398814
2026-07-19T08:25:44Z
BlueShurikenNinjaBot
50371
/* top */ re-categorisation using [[Project:AWB|AWB]]
2463387
wikitext
text/x-wiki
{{-eng-}}
{{-abbr-}}
'''Lyd.'''
# {{context|cũ}} {{abbreviation of|en|Lydia}}
[[Thể loại:Từ viết tắt tiếng Anh]]
bnmzj6tsskqvph52rjchja5c6d5342e
Math.
0
245737
2463388
2398418
2026-07-19T08:26:01Z
BlueShurikenNinjaBot
50371
/* top */ re-categorisation using [[Project:AWB|AWB]]
2463388
wikitext
text/x-wiki
{{see-entry|math.}}
{{-eng-}}
{{-abbr-}}
'''Math.'''
# {{context|cũ}} {{abbreviation of|en|Matthias}}
[[Thể loại:Từ viết tắt tiếng Anh]]
r6vmo3bwgqq6q1n2tqqkz4oykvam67k
Matt.
0
245738
2463389
2398422
2026-07-19T08:26:18Z
BlueShurikenNinjaBot
50371
/* top */ re-categorisation using [[Project:AWB|AWB]]
2463389
wikitext
text/x-wiki
{{-eng-}}
{{-abbr-}}
'''Matt.'''
# {{context|Kinh Thánh|hoặc|cũ}} {{abbreviation of|en|Matthew}}
[[Thể loại:Từ viết tắt tiếng Anh]]
nsg0s0ck6ok9cygflf56joyhfyi9jai
Mau.
0
245739
2463390
2398428
2026-07-19T08:26:35Z
BlueShurikenNinjaBot
50371
/* top */ re-categorisation using [[Project:AWB|AWB]]
2463390
wikitext
text/x-wiki
{{-eng-}}
{{-abbr-}}
'''Mau.'''
# {{context|cũ}} {{abbreviation of|en|Maurice}}
[[Thể loại:Từ viết tắt tiếng Anh]]
30u71conqwv3748j6pth990mweax6o9
Mich.
0
245740
2463391
2398411
2026-07-19T08:26:52Z
BlueShurikenNinjaBot
50371
/* top */ re-categorisation using [[Project:AWB|AWB]]
2463391
wikitext
text/x-wiki
{{-eng-}}
{{-abbr-}}
'''Mich.'''
# {{context|cũ}} {{abbreviation of|en|Michael}}
{{-syn-}}
* [[Micls]]
[[Thể loại:Từ viết tắt tiếng Anh]]
5z8m70m998tmmdepsfokmkdvcznm68d
Micls
0
245741
2463392
2398406
2026-07-19T08:27:09Z
BlueShurikenNinjaBot
50371
/* top */ re-categorisation using [[Project:AWB|AWB]]
2463392
wikitext
text/x-wiki
{{DISPLAYTITLE:Mic<sup>ls</sup>}}
{{-eng-}}
{{-etymology-}}
{{etym-from
| lang = lat | term = Michaelus
}}
{{-abbr-}}
'''Mich<sup>ls</sup>'''
# {{context|cũ}} {{abbreviation of|en|Michael}}
{{-syn-}}
* [[Mich.]]
[[Thể loại:Từ viết tắt tiếng Anh]]
hnk4sauubrm7e1vqnyfjzr2p9csbv6t
Mill.
0
245742
2463393
2398453
2026-07-19T08:27:26Z
BlueShurikenNinjaBot
50371
/* top */ re-categorisation using [[Project:AWB|AWB]]
2463393
wikitext
text/x-wiki
{{-eng-}}
{{-abbr-}}
'''Mill.'''
# {{context|cũ}} {{abbreviation of|en|Millicent}}
[[Thể loại:Từ viết tắt tiếng Anh]]
g09sdipsxzpjje00i7wx9ejs3kql7i1
My
0
245743
2463394
2398473
2026-07-19T08:27:43Z
BlueShurikenNinjaBot
50371
/* top */ re-categorisation using [[Project:AWB|AWB]]
2463394
wikitext
text/x-wiki
{{see-entry|my}}
{{-eng-}}
{{-abbr-}}
'''My'''
# {{abbreviation of|en|mêga năm}}
{{-syn-}}
* [[Myr]]
{{-abbr-}}
'''My'''
# {{context|cũ}} {{abbreviation of|en|Mary}}
[[Thể loại:Từ viết tắt tiếng Anh]]
p6cxz7qar5888y1ypvy4z084yl58ods
Nath.
0
245744
2463395
2398649
2026-07-19T08:28:00Z
BlueShurikenNinjaBot
50371
/* top */ re-categorisation using [[Project:AWB|AWB]]
2463395
wikitext
text/x-wiki
{{-eng-}}
{{-abbr-}}
'''Nath.'''
# {{context|cũ}} {{abbreviation of|en|Nathaniel}}
[[Thể loại:Từ viết tắt tiếng Anh]]
js2rnofwc04nw2evajruh1mjsvtlezz
Nich.
0
245745
2463396
2398663
2026-07-19T08:28:17Z
BlueShurikenNinjaBot
50371
/* top */ re-categorisation using [[Project:AWB|AWB]]
2463396
wikitext
text/x-wiki
{{-eng-}}
{{-abbr-}}
'''Nich.'''
# {{context|cũ}} {{abbreviation of|en|Nicholas}}
{{-syn-}}
* [[Nics|Nic<sup>s</sup>]]
[[Thể loại:Từ viết tắt tiếng Anh]]
qxvnanxsti759taj3jjjidw45i05k3k
Nics
0
245746
2463397
2398693
2026-07-19T08:28:34Z
BlueShurikenNinjaBot
50371
/* top */ re-categorisation using [[Project:AWB|AWB]]
2463397
wikitext
text/x-wiki
{{DISPLAYTITLE:Nic<sup>s</sup>}}
{{-eng-}}
{{-abbr-}}
'''Nic<sup>s</sup>'''
# {{context|cũ}} {{abbreviation of|en|Nicholas}}
{{-syn-}}
* [[Nich.]]
[[Thể loại:Từ viết tắt tiếng Anh]]
snd87ac1294p9aot3p106wv1hjfgv4d
Ol.
0
245747
2463398
2398482
2026-07-19T08:28:51Z
BlueShurikenNinjaBot
50371
/* top */ re-categorisation using [[Project:AWB|AWB]]
2463398
wikitext
text/x-wiki
{{-eng-}}
{{-abbr-}}
'''Ol.'''
# {{context|cũ}} {{abbreviation of|en|Oliver}}
[[Thể loại:Từ viết tắt tiếng Anh]]
nzoa03dwnlhpk3mg6pmx53ph9uynwa6
Mô đun:languages/data/2
828
256179
2463275
2449375
2026-07-19T03:31:30Z
Hiyuune
50834
2463275
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
-- Ideally, we want to move these into [[Module:languages/data]], but because (a) it's necessary to use require on that module, and (b) they're only used in this data module, it's less memory-efficient to do that at the moment. If it becomes possible to use mw.loadData, then these should be moved there.
s["de-Latn-sortkey"] = {
remove_diacritics = c.grave .. c.acute .. c.circ .. c.diaer .. c.ringabove,
from = {"æ", "œ", "ß"},
to = {"ae", "oe", "ss"}
}
s["de-Latn-standardchars"] = "AaÄäBbCcDdEeFfGgHhIiJjKkLlMmNnOoÖöPpQqRrSsẞßTtUuÜüVvWwXxYyZz"
s["ka-entryname"] = {remove_diacritics = c.circ}
s["no-sortkey"] = {
remove_diacritics = c.grave .. c.acute .. c.circ .. c.tilde .. c.macron .. c.dacute .. c.caron .. c.cedilla,
remove_exceptions = {"å"},
from = {"æ", "ø", "å"},
to = {"z" .. p[1], "z" .. p[2], "z" .. p[3]}
}
s["no-standardchars"] = "AaBbDdEeFfGgHhIiJjKkLlMmNnOoPpRrSsTtUuVvYyÆæØøÅå" .. c.punc
s["tg-entryname"] = {remove_diacritics = c.grave .. c.acute}
s["tk-entryname"] = {remove_diacritics = c.macron}
local m = {}
m["aa"] = {
"tiếng Afar",
27811,
"cus-eas",
"Latn, Ethi",
"Tiếng Afar",
"Afar",
entry_name = {Latn = {remove_diacritics = c.acute}},
}
m["ab"] = {
"tiếng Abkhaz",
5111,
"cau-abz",
"Cyrl, Geor, Latn",
"Tiếng Abkhaz",
"Abkhaz",
translit = {
Cyrl = "ab-translit",
Geor = "Geor-translit",
},
override_translit = true,
display_text = {Cyrl = s["cau-Cyrl-displaytext"]},
entry_name = {
Cyrl = s["cau-Cyrl-entryname"],
Latn = s["cau-Latn-entryname"],
},
sort_key = {
Cyrl = {
from = {
"х'ә", -- 3 chars
"гь", "гә", "ӷь", "ҕь", "ӷә", "ҕә", "дә", "ё", "жь", "жә", "ҙә", "ӡә", "ӡ'", "кь", "кә", "қь", "қә", "ҟь", "ҟә", "ҫә", "тә", "ҭә", "ф'", "хь", "хә", "х'", "ҳә", "ць", "цә", "ц'", "ҵә", "ҵ'", "шь", "шә", "џь", -- 2 chars
"ӷ", "ҕ", "ҙ", "ӡ", "қ", "ҟ", "ԥ", "ҧ", "ҫ", "ҭ", "ҳ", "ҵ", "ҷ", "ҽ", "ҿ", "ҩ", "џ", "ә" -- 1 char
},
to = {
"х" .. p[4],
"г" .. p[1], "г" .. p[2], "г" .. p[5], "г" .. p[6], "г" .. p[7], "г" .. p[8], "д" .. p[1], "е" .. p[1], "ж" .. p[1], "ж" .. p[2], "з" .. p[2], "з" .. p[4], "з" .. p[5], "к" .. p[1], "к" .. p[2], "к" .. p[4], "к" .. p[5], "к" .. p[7], "к" .. p[8], "с" .. p[2], "т" .. p[1], "т" .. p[3], "ф" .. p[1], "х" .. p[1], "х" .. p[2], "х" .. p[3], "х" .. p[6], "ц" .. p[1], "ц" .. p[2], "ц" .. p[3], "ц" .. p[5], "ц" .. p[6], "ш" .. p[1], "ш" .. p[2], "ы" .. p[3],
"г" .. p[3], "г" .. p[4], "з" .. p[1], "з" .. p[3], "к" .. p[3], "к" .. p[6], "п" .. p[1], "п" .. p[2], "с" .. p[1], "т" .. p[2], "х" .. p[5], "ц" .. p[4], "ч" .. p[1], "ч" .. p[2], "ч" .. p[3], "ы" .. p[1], "ы" .. p[2], "ь" .. p[1]
}
},
},
}
m["ae"] = {
"tiếng Avesta",
29572,
"ira-cen",
"Avst, Gujr",
"Tiếng Avesta",
"Avesta",
translit = {Avst = "Avst-translit"},
wikipedia_article = "Tiếng Avesta",
}
m["af"] = {
"tiếng Afrikaans",
14196,
"gmw-frk",
"Latn, Arab",
"Tiếng Afrikaans",
"Afrikaans",
ancestors = "nl",
sort_key = {
Latn = {
remove_diacritics = c.grave .. c.acute .. c.circ .. c.tilde .. c.diaer .. c.ringabove .. c.cedilla .. "'",
from = {"['ʼ]n"},
to = {"n" .. p[1]}
}
},
}
m["ak"] = {
"tiếng Akan",
28026,
"alv-ctn",
"Latn",
"Tiếng Akan",
"Akan",
}
m["am"] = {
"tiếng Amhara",
28244,
"sem-eth",
"Ethi",
"Tiếng Amhara",
"Amhara",
translit = "Ethi-translit",
}
m["an"] = {
"tiếng Aragon",
8765,
"roa-ibe",
"Latn",
"Tiếng Aragon",
"Aragon",
ancestors = "roa-oan",
}
m["ar"] = {
"tiếng Ả Rập",
13955,
"sem-arb",
"Arab, Hebr, Syrc, Brai",
"Tiếng Ả Rập",
"Ả Rập",
translit = {Arab = "ar-translit"},
entry_name = {Arab = "ar-entryname"},
-- put Judeo-Arabic (Hebrew-script Arabic) under the category header
-- U+FB21 HEBREW LETTER WIDE ALEF so that it sorts after Arabic script titles
sort_key = {
Hebr = {
from = {"^%f[" .. u(0x5D0) .. "-" .. u(0x5EA) .. "]"},
to = {u(0xFB21)},
},
},
}
m["as"] = {
"tiếng Assam",
29401,
"inc-eas",
"as-Beng",
"Tiếng Assam",
"Assam",
ancestors = "inc-mas",
translit = "as-translit",
}
m["av"] = {
"tiếng Avar",
29561,
"cau-ava",
"Cyrl, Latn, Arab",
"Tiếng Avar",
"Avar",
ancestors = "oav",
translit = {
Cyrl = "cau-nec-translit",
Arab = "ar-translit",
},
override_translit = true,
display_text = {Cyrl = s["cau-Cyrl-displaytext"]},
entry_name = {
Cyrl = s["cau-Cyrl-entryname"],
Latn = s["cau-Latn-entryname"],
},
sort_key = {
Cyrl = {
from = {"гъ", "гь", "гӏ", "ё", "кк", "къ", "кь", "кӏ", "лъ", "лӏ", "тӏ", "хх", "хъ", "хь", "хӏ", "цӏ", "чӏ"},
to = {"г" .. p[1], "г" .. p[2], "г" .. p[3], "е" .. p[1], "к" .. p[1], "к" .. p[2], "к" .. p[3], "к" .. p[4], "л" .. p[1], "л" .. p[2], "т" .. p[1], "х" .. p[1], "х" .. p[2], "х" .. p[3], "х" .. p[4], "ц" .. p[1], "ч" .. p[1]}
},
},
}
m["ay"] = {
"tiếng Aymara",
4627,
"sai-aym",
"Latn",
"Tiếng Aymara",
"Aymara",
}
m["az"] = {
"tiếng Azerbaijan",
9292,
"trk-ogz",
"Latn, Cyrl, fa-Arab",
"Tiếng Azerbaijan",
"Azerbaijan",
ancestors = "trk-oat",
dotted_dotless_i = true,
entry_name = {
Latn = {
from = {"ʼ"},
to = {"'"},
},
["fa-Arab"] = {
module = "ar-entryname",
["from"] = {
"ۆ",
"ۇ",
"وْ",
"ڲ",
"ؽ",
},
["to"] = {
"و",
"و",
"و",
"گ",
"ی",
},
},
},
display_text = {
Latn = {
from = {"'"},
to = {"ʼ"}
}
},
sort_key = {
Latn = {
from = {
"i", -- Ensure "i" comes after "ı".
"ç", "ə", "ğ", "x", "ı", "q", "ö", "ş", "ü", "w"
},
to = {
"i" .. p[1],
"c" .. p[1], "e" .. p[1], "g" .. p[1], "h" .. p[1], "i", "k" .. p[1], "o" .. p[1], "s" .. p[1], "u" .. p[1], "z" .. p[1]
}
},
Cyrl = {
from = {"ғ", "ә", "ы", "ј", "ҝ", "ө", "ү", "һ", "ҹ"},
to = {"г" .. p[1], "е" .. p[1], "и" .. p[1], "и" .. p[2], "к" .. p[1], "о" .. p[1], "у" .. p[1], "х" .. p[1], "ч" .. p[1]}
},
},
}
m["ba"] = {
"tiếng Bashkir",
13389,
"trk-kbu",
"Cyrl",
"Tiếng Bashkir",
"Bashkir",
translit = "ba-translit",
override_translit = true,
sort_key = {
from = {"ғ", "ҙ", "ё", "ҡ", "ң", "ө", "ҫ", "ү", "һ", "ә"},
to = {"г" .. p[1], "д" .. p[1], "е" .. p[1], "к" .. p[1], "н" .. p[1], "о" .. p[1], "с" .. p[1], "у" .. p[1], "х" .. p[1], "э" .. p[1]}
},
}
m["be"] = {
"tiếng Belarus",
9091,
"zle",
"Cyrl, Latn",
"Tiếng Belarus",
"Belarus",
ancestors = "zle-obe",
translit = {Cyrl = "be-translit"},
entry_name = {
remove_diacritics = c.grave .. c.acute,
remove_exceptions = {"Ć", "ć", "Ń", "ń", "Ś", "ś", "Ź", "ź"},
},
sort_key = {
Cyrl = {
from = {"ґ", "ё", "і", "ў"},
to = {"г" .. p[1], "е" .. p[1], "и" .. p[1], "у" .. p[1]}
},
Latn = {
from = {"ć", "č", "dz", "dź", "dž", "ch", "ł", "ń", "ś", "š", "ŭ", "ź", "ž"},
to = {"c" .. p[1], "c" .. p[2], "d" .. p[1], "d" .. p[2], "d" .. p[3], "h" .. p[1], "l" .. p[1], "n" .. p[1], "s" .. p[1], "s" .. p[2], "u" .. p[1], "z" .. p[1], "z" .. p[2]}
},
},
standardChars = {
Cyrl = "АаБбВвГгДдЕеЁёЖжЗзІіЙйКкЛлМмНнОоПпРрСсТтУуЎўФфХхЦцЧчШшЫыЬьЭэЮюЯя",
Latn = "AaBbCcĆćČčDdEeFfGgHhIiJjKkLlŁłMmNnŃńOoPpRrSsŚśŠšTtUuŬŭVvYyZzŹźŽž",
(c.punc:gsub("'", "")) -- Exclude apostrophe.
},
}
m["bg"] = {
"tiếng Bulgari",
7918,
"zls",
"Cyrl",
"Tiếng Bulgari",
"Bulgari",
ancestors = "cu-bgm",
translit = "bg-translit",
strip_diacritics = {
remove_diacritics = c.grave .. c.acute,
remove_exceptions = {"%f[^%z%s]ѝ%f[%z%s]"},
},
sort_key = {
remove_diacritics = c.grave .. c.acute,
remove_exceptions = {"%f[^%z%s]ѝ%f[%z%s]"},
},
standard_chars = "АаБбВвГгДдЕеЖжЗзИиЙйКкЛлМмНнОоПпРрСсТтУуФфХхЦцЧчШшЩщЪъЬьЮюЯя" .. c.punc,
}
m["bh"] = {
"tiếng Bihari",
135305,
"inc-eas",
"Deva",
}
m["bi"] = {
"tiếng Bislama",
35452,
"crp",
"Latn",
"Tiếng Bislama",
"Bislama",
ancestors = "en",
}
m["bm"] = {
"tiếng Bambara",
33243,
"dmn-emn",
"Latn",
"Tiếng Bambara",
"Bambara",
sort_key = {
from = {"ɛ", "ɲ", "ŋ", "ɔ"},
to = {"e" .. p[1], "n" .. p[1], "n" .. p[2], "o" .. p[1]}
},
}
m["bn"] = {
"tiếng Bengal",
9610,
"inc-bas",
"Beng, Newa",
"Tiếng Bengal",
"Bengal",
ancestors = "inc-mbn,pra-mag",
translit = {Beng = "bn-translit"},
}
m["bo"] = {
"tiếng Tây Tạng",
34271,
"sit-tib",
"Tibt", -- sometimes Deva?
"Tiếng Tây Tạng",
"Tây Tạng",
ancestors = "xct",
translit = "Tibt-translit",
override_translit = true,
display_text = s["Tibt-displaytext"],
entry_name = s["Tibt-entryname"],
sort_key = "Tibt-sortkey",
}
m["br"] = {
"tiếng Breton",
12107,
"cel-brs",
"Latn",
"Tiếng Breton",
"Breton",
ancestors = "xbm",
sort_key = {
from = {"ch", "c['ʼ’]h"},
to = {"c" .. p[1], "c" .. p[2]}
},
}
m["ca"] = {
"tiếng Catalan",
7026,
"roa-ocr",
"Latn",
"Tiếng Catalan",
"Catalan",
ancestors = "roa-oca",
sort_key = {
remove_diacritics = c.grave .. c.acute .. c.diaer .. c.cedilla,
from = {"l·l"},
to = {"ll"}
},
standardChars = "AaÀàBbCcÇçDdEeÉéÈèFfGgHhIiÍíÏïJjLlMmNnOoÓóÒòPpQqRrSsTtUuÚúÜüVvXxYyZz·" .. c.punc,
}
m["ce"] = {
"tiếng Chechen",
33350,
"cau-vay",
"Cyrl, Latn, Arab",
"Tiếng Chechen",
"Chechen",
translit = {
Cyrl = "cau-nec-translit",
Arab = "ar-translit",
},
override_translit = true,
display_text = {Cyrl = s["cau-Cyrl-displaytext"]},
entry_name = {
Cyrl = s["cau-Cyrl-entryname"],
Latn = s["cau-Latn-entryname"],
},
sort_key = {
Cyrl = {
from = {"аь", "гӏ", "ё", "кх", "къ", "кӏ", "оь", "пӏ", "тӏ", "уь", "хь", "хӏ", "цӏ", "чӏ", "юь", "яь"},
to = {"а" .. p[1], "г" .. p[1], "е" .. p[1], "к" .. p[1], "к" .. p[2], "к" .. p[3], "о" .. p[1], "п" .. p[1], "т" .. p[1], "у" .. p[1], "х" .. p[1], "х" .. p[2], "ц" .. p[1], "ч" .. p[1], "ю" .. p[1], "я" .. p[1]}
},
},
}
m["ch"] = {
"tiếng Chamorro",
33262,
"poz",
"Latn",
"Tiếng Chamorro",
"Chamorro",
sort_key = {
remove_diacritics = "'",
from = {"å", "ch", "ñ", "ng"},
to = {"a" .. p[1], "c" .. p[1], "n" .. p[1], "n" .. p[2]}
},
}
m["co"] = {
"tiếng Corse",
33111,
"roa-itd",
"Latn",
"Tiếng Corse",
"Corse",
sort_key = {
from = {"chj", "ghj", "sc", "sg"},
to = {"c" .. p[1], "g" .. p[1], "s" .. p[1], "s" .. p[2]}
},
standardChars = "AaÀàBbCcDdEeÈèFfGgHhIiÌìÏïJjLlMmNnOoÒòPpQqRrSsTtUuÙùÜüVvZz" .. c.punc,
}
m["cr"] = {
"tiếng Cree",
33390,
"alg",
"Cans, Latn",
"Tiếng Cree",
"Cree",
translit = {Cans = "cr-translit"},
}
m["cs"] = {
"tiếng Séc",
9056,
"zlw",
"Latn",
"Tiếng Séc",
"Séc",
ancestors = "cs-ear",
sort_key = {
from = {"á", "č", "ď", "é", "ě", "ch", "í", "ň", "ó", "ř", "š", "ť", "ú", "ů", "ý", "ž"},
to = {"a" .. p[1], "c" .. p[1], "d" .. p[1], "e" .. p[1], "e" .. p[2], "h" .. p[1], "i" .. p[1], "n" .. p[1], "o" .. p[1], "r" .. p[1], "s" .. p[1], "t" .. p[1], "u" .. p[1], "u" .. p[2], "y" .. p[1], "z" .. p[1]}
},
standardChars = "AaÁáBbCcČčDdĎďEeÉéĚěFfGgHhIiÍíJjKkLlMmNnŇňOoÓóPpRrŘřSsŠšTtŤťUuÚúŮůVvYyÝýZzŽž" .. c.punc,
}
m["cu"] = {
"tiếng Slav Giáo hội cổ",
35499,
"zls",
"Cyrs, Glag",
"Tiếng Slav Giáo hội cổ",
"Slav Giáo hội cổ",
translit = {Cyrs = "Cyrs-translit", Glag = "Glag-translit"},
entry_name = {Cyrs = s["Cyrs-entryname"]},
sort_key = {Cyrs = s["Cyrs-sortkey"]},
}
m["cv"] = {
"tiếng Chuvash",
33348,
"trk-ogr",
"Cyrl",
"Tiếng Chuvash",
"Chuvash",
ancestors = "cv-mid",
translit = "cv-translit",
override_translit = true,
sort_key = {
from = {"ӑ", "ё", "ӗ", "ҫ", "ӳ"},
to = {"а" .. p[1], "е" .. p[1], "е" .. p[2], "с" .. p[1], "у" .. p[1]}
},
}
m["cy"] = {
"tiếng Wales",
9309,
"cel-brw",
"Latn",
"Tiếng Wales",
"Wales",
ancestors = "wlm",
sort_key = {
remove_diacritics = c.grave .. c.acute .. c.circ .. c.diaer .. "'",
from = {"ch", "dd", "ff", "ng", "ll", "ph", "rh", "th"},
to = {"c" .. p[1], "d" .. p[1], "f" .. p[1], "g" .. p[1], "l" .. p[1], "p" .. p[1], "r" .. p[1], "t" .. p[1]}
},
standardChars = "ÂâAaBbCcDdEeÊêFfGgHhIiÎîLlMmNnOoÔôPpRrSsTtUuÛûWwŴŵYyŶŷ" .. c.punc,
}
m["da"] = {
"tiếng Đan Mạch",
9035,
"gmq-eas",
"Latn",
"Tiếng Đan Mạch",
"Đan Mạch",
ancestors = "gmq-oda",
sort_key = {
remove_diacritics = c.grave .. c.acute .. c.circ .. c.tilde .. c.macron .. c.dacute .. c.caron .. c.cedilla,
remove_exceptions = {"å"},
from = {"æ", "ø", "å"},
to = {"z" .. p[1], "z" .. p[2], "z" .. p[3]}
},
standardChars = "AaBbDdEeFfGgHhIiJjKkLlMmNnOoPpRrSsTtUuVvYyÆæØøÅå" .. c.punc,
}
m["de"] = {
"tiếng Đức",
188,
"gmw-hgm",
"Latn, Latf",
"Tiếng Đức",
"Đức",
ancestors = "gmh",
sort_key = {
remove_diacritics = c.grave .. c.acute .. c.circ .. c.diaer .. c.ringabove,
from = {"æ", "œ", "ß"},
to = {"ae", "oe", "ss"}
},
standardChars = "AaÄäBbCcDdEeFfGgHhIiJjKkLlMmNnOoÖöPpQqRrSsẞßTtUuÜüVvWwXxYyZz" .. c.punc,
}
m["dv"] = {
"tiếng Dhivehi",
32656,
"inc-ins",
"Thaa, Diak",
"Tiếng Dhivehi",
"Dhivehi",
translit = {
Thaa = "dv-translit",
Diak = "Diak-translit",
},
override_translit = true,
}
m["dz"] = {
"tiếng Dzongkha",
33081,
"sit-tib",
"Tibt",
"Tiếng Dzongkha",
"Dzongkha",
ancestors = "xct",
translit = "Tibt-translit",
override_translit = true,
display_text = s["Tibt-displaytext"],
entry_name = s["Tibt-entryname"],
sort_key = "Tibt-sortkey",
}
m["ee"] = {
"tiếng Ewe",
30005,
"alv-gbe",
"Latn",
"Tiếng Ewe",
"Ewe",
sort_key = {
remove_diacritics = c.tilde,
from = {"ɖ", "dz", "ɛ", "ƒ", "gb", "ɣ", "kp", "ny", "ŋ", "ɔ", "ts", "ʋ"},
to = {"d" .. p[1], "d" .. p[2], "e" .. p[1], "f" .. p[1], "g" .. p[1], "g" .. p[2], "k" .. p[1], "n" .. p[1], "n" .. p[2], "o" .. p[1], "t" .. p[1], "v" .. p[1]}
},
}
m["el"] = {
"tiếng Hy Lạp",
9129,
"grk",
"Grek, Polyt, Brai",
"Tiếng Hy Lạp",
"Hy Lạp",
ancestors = "el-kth",
translit = {
Grek = "el-translit",
Polyt = "grc-translit",
},
override_translit = true,
entry_name = {
Grek = {remove_diacritics = c.caron .. c.diaerbelow .. c.brevebelow},
Polyt = s["Polyt-entryname"],
},
sort_key = {
Grek = s["Grek-sortkey"],
Polyt = s["Grek-sortkey"],
},
standardChars = {
Grek = "΅·ͺ΄ΑαΆάΒβΓγΔδΕεέΈΖζΗηΉήΘθΙιΊίΪϊΐΚκΛλΜμΝνΞξΟοΌόΠπΡρΣσςΤτΥυΎύΫϋΰΦφΧχΨψΩωΏώ",
Brai = c.braille,
c.punc
},
}
m["en"] = {
"tiếng Anh",
1860,
"gmw-ang",
"Latn, Brai, Shaw, Dsrt", -- entries in Shaw or Dsrt might require prior discussion
"Tiếng Anh",
"Anh",
wikimedia_codes = "en, simple",
ancestors = "en-ear",
sort_key = {
Latn = {
remove_diacritics = c.grave .. c.acute .. c.circ .. c.tilde .. c.macron .. c.diaer .. c.ringabove .. c.caron .. c.cedilla .. "'%-%s",
from = {"æ", "œ"},
to = {"ae", "oe"}
},
},
standardChars = {
Latn = "AaBbCcDdEeFfGgHhIiJjKkLlMmNnOoPpQqRrSsTtUuVvWwXxYyZz",
Brai = c.braille,
c.punc
},
}
m["eo"] = {
"tiếng Quốc tế ngữ",
143,
"art",
"Latn",
"Tiếng Quốc tế ngữ",
"Quốc tế ngữ",
sort_key = {
remove_diacritics = c.grave .. c.acute,
from = {"ĉ", "ĝ", "ĥ", "ĵ", "ŝ", "ŭ"},
to = {"c" .. p[1], "g" .. p[1], "h" .. p[1], "j" .. p[1], "s" .. p[1], "u" .. p[1]}
},
standardChars = "AaBbCcĈĉDdEeFfGgĜĝHhĤĥIiJjĴĵKkLlMmNnOoPpRrSsŜŝTtUuŬŭVvZz" .. c.punc,
}
m["es"] = {
"tiếng Tây Ban Nha",
1321,
"roa-cas",
"Latn, Brai",
"Tiếng Tây Ban Nha",
"Tây Ban Nha",
ancestors = "osp",
sort_key = {
Latn = {
remove_diacritics = c.acute .. c.diaer .. c.cedilla,
from = {"ñ"},
to = {"n" .. p[1]}
},
},
standardChars = {
Latn = "AaÁáBbCcDdEeÉéFfGgHhIiÍíJjLlMmNnÑñOoÓóPpQqRrSsTtUuÚúÜüVvXxYyZz",
Brai = c.braille,
c.punc
},
}
m["et"] = {
"tiếng Estonia",
9072,
"urj-fin",
"Latn",
"Tiếng Estonia",
"Estonia",
sort_key = {
from = {
"š", "ž", "õ", "ä", "ö", "ü", -- 2 chars
"z" -- 1 char
},
to = {
"s" .. p[1], "s" .. p[3], "w" .. p[1], "w" .. p[2], "w" .. p[3], "w" .. p[4],
"s" .. p[2]
}
},
standardChars = "AaBbDdEeFfGgHhIiJjKkLlMmNnOoPpRrSsTtUuVvÕõÄäÖöÜü" .. c.punc,
}
m["eu"] = {
"tiếng Basque",
8752,
"euq",
"Latn",
"Tiếng Basque",
"Basque",
sort_key = {
from = {"ç", "ñ"},
to = {"c" .. p[1], "n" .. p[1]}
},
standardChars = "AaBbDdEeFfGgHhIiJjKkLlMmNnÑñOoPpRrSsTtUuXxZz" .. c.punc,
}
m["fa"] = {
"tiếng Ba Tư",
9168,
"ira-swi",
"fa-Arab, Hebr",
"Tiếng Ba Tư",
"Ba Tư",
ancestors = "fa-cls",
entry_name = {
from = {"هٔ", "ٱ"}, -- character "ۂ" code U+06C2 to "ه"; hamzatu l-waṣli to a regular alif
to = {"ه", "ا"},
remove_diacritics = c.fathatan .. c.dammatan .. c.kasratan .. c.kashida .. c.fatha .. c.damma .. c.kasra .. c.shadda .. c.sukun .. c.superalef,
},
-- put Judeo-Persian (Hebrew-script Persian) under the category header
-- U+FB21 HEBREW LETTER WIDE ALEF so that it sorts after Arabic script titles
sort_key = {
Hebr = {
from = {"^%f[" .. u(0x5D0) .. "-" .. u(0x5EA) .. "]"},
to = {u(0xFB21)},
},
},
}
m["ff"] = {
"tiếng Fula",
33454,
"alv-fwo",
"Latn, Adlm",
"Tiếng Fula",
"Fula",
}
m["fi"] = {
"tiếng Phần Lan",
1412,
"urj-fin",
"Latn",
"Tiếng Phần Lan",
"Phần Lan",
display_text = {
from = {"'"},
to = {"’"}
},
entry_name = { -- used to indicate gemination of the next consonant
remove_diacritics = "ˣ",
from = {"’"},
to = {"'"},
},
sort_key = {
remove_diacritics = c.grave .. c.acute .. c.circ .. c.tilde .. c.macron .. c.dacute .. c.caron .. c.cedilla .. "':",
remove_exceptions = {"å"},
from = {"ø", "æ", "œ", "ß", "å", "aͤ", "oͤ", "(.)['%-]"},
to = {"o", "ae", "oe", "ss", "z" .. p[1], "ä", "ö", "%1"}
},
standardChars = "AaBbDdEeFfGgHhIiJjKkLlMmNnOoPpRrSsTtUuVvYyÄäÖö" .. c.punc,
}
m["fj"] = {
"tiếng Fiji",
33295,
"poz-pcc",
"Latn",
"Tiếng Fiji",
"Fiji",
}
m["fo"] = {
"tiếng Faroe",
25258,
"gmq-ins",
"Latn",
"Tiếng Faroe",
"Faroe",
sort_key = {
from = {"á", "ð", "í", "ó", "ú", "ý", "æ", "ø"},
to = {"a" .. p[1], "d" .. p[1], "i" .. p[1], "o" .. p[1], "u" .. p[1], "y" .. p[1], "z" .. p[1], "z" .. p[2]}
},
standardChars = "AaÁáBbDdÐðEeFfGgHhIiÍíJjKkLlMmNnOoÓóPpRrSsTtUuÚúVvYyÝýÆæØø" .. c.punc,
}
m["fr"] = {
"tiếng Pháp",
150,
"roa-oil",
"Latn, Brai",
"Tiếng Pháp",
"Pháp",
display_text = {
from = {"'"},
to = {"’"}
},
entry_name = {
from = {"’"},
to = {"'"},
},
ancestors = "frm",
sort_key = {Latn = s["roa-oil-sortkey"]},
standardChars = {
Latn = "AaÀàÂâBbCcÇçDdEeÉéÈèÊêËëFfGgHhIiÎîÏïJjLlMmNnOoÔôŒœPpQqRrSsTtUuÙùÛûÜüVvXxYyZz",
Brai = c.braille,
c.punc
},
}
m["fy"] = {
"tiếng Tây Frisia",
27175,
"gmw-fri",
"Latn",
"Tiếng Tây Frisia",
"Tây Frisia",
sort_key = {
remove_diacritics = c.grave .. c.acute .. c.circ .. c.diaer,
from = {"y"},
to = {"i"}
},
standardChars = "AaâäàÆæBbCcDdEeéêëèFfGgHhIiïìYyỳJjKkLlMmNnOoôöòPpRrSsTtUuúûüùVvWwZz" .. c.punc,
}
m["ga"] = {
"tiếng Ireland",
9142,
"cel-gae",
"Latn, Latg",
"Tiếng Ireland",
"Ireland",
ancestors = "mga",
sort_key = {
remove_diacritics = c.acute,
from = {"ḃ", "ċ", "ḋ", "ḟ", "ġ", "ṁ", "ṗ", "ṡ", "ṫ"},
to = {"bh", "ch", "dh", "fh", "gh", "mh", "ph", "sh", "th"}
},
standardChars = "AaÁáBbCcDdEeÉéFfGgHhIiÍíLlMmNnOoÓóPpRrSsTtUuÚúVv" .. c.punc,
}
m["gd"] = {
"tiếng Gael Scotland",
9314,
"cel-gae",
"Latn, Latg",
"Tiếng Gael Scotland",
"Gael Scotland",
ancestors = "mga",
sort_key = {remove_diacritics = c.grave .. c.acute},
standardChars = "AaÀàBbCcDdEeÈèFfGgHhIiÌìLlMmNnOoÒòPpRrSsTtUuÙù" .. c.punc,
}
m["gl"] = {
"tiếng Galicia",
9307,
"roa-ibe",
"Latn",
"Tiếng Galicia",
"Galicia",
ancestors = "roa-opt",
sort_key = {
remove_diacritics = c.acute,
from = {"ñ"},
to = {"n" .. p[1]}
},
standardChars = "AaÁáBbCcDdEeÉéFfGgHhIiÍíÏïLlMmNnÑñOoÓóPpQqRrSsTtUuÚúÜüVvXxZz" .. c.punc,
}
m["gn"] = {
"tiếng Guaraní",
35876,
"tup-gua",
"Latn",
"Tiếng Guaraní",
"Guaraní",
}
m["gu"] = {
"tiếng Gujarat",
5137,
"inc-wes",
"Arab, Gujr",
"Tiếng Gujarat",
"Gujarat",
ancestors = "inc-mgu,pra-sau",
translit = {
Gujr = "gu-translit",
},
entry_name = {
remove_diacritics = c.fathatan .. c.dammatan .. c.kasratan .. c.fatha .. c.damma .. c.kasra .. c.kasra .. c.shadda .. c.sukun .. "઼"
},
}
m["gv"] = {
"tiếng Man",
12175,
"cel-gae",
"Latn",
"Tiếng Man",
"Man",
ancestors = "mga",
sort_key = {remove_diacritics = c.cedilla .. "-"},
standardChars = "AaBbCcÇçDdEeFfGgHhIiJjKkLlMmNnOoPpQqRrSsTtUuVvWwYy" .. c.punc,
}
m["ha"] = {
"tiếng Hausa",
56475,
"cdc-wst",
"Latn, Arab",
"Tiếng Hausa",
"Hausa",
entry_name = {Latn = {remove_diacritics = c.grave .. c.acute .. c.circ .. c.tilde .. c.macron}},
sort_key = {
Latn = {
from = {"ɓ", "b'", "ɗ", "d'", "ƙ", "k'", "sh", "ƴ", "'y"},
to = {"b" .. p[1], "b" .. p[2], "d" .. p[1], "d" .. p[2], "k" .. p[1], "k" .. p[2], "s" .. p[1], "y" .. p[1], "y" .. p[2]}
},
},
}
m["he"] = {
"tiếng Do Thái",
9288,
"sem-can",
"Hebr, Phnx, Brai",
"Tiếng Do Thái",
"Do Thái",
ancestors = "he-med",
entry_name = {Hebr = {remove_diacritics = u(0x0591) .. "-" .. u(0x05BD) .. u(0x05BF) .. "-" .. u(0x05C5) .. u(0x05C7) .. c.CGJ}},
}
m["hi"] = {
"tiếng Hindi",
1568,
"inc-hnd",
"Deva, Kthi, Newa",
"Tiếng Hindi",
"Hindi",
ancestors = "inc-apa,pra-sau,inc-ohi",
translit = {Deva = "hi-translit"},
standardChars = {
Deva = "अआइईउऊएऐओऔकखगघङचछजझञटठडढणतथदधनपफबभमयरलवशषसहत्रज्ञक्षक़ख़ग़ज़झ़ड़ढ़फ़काखागाघाङाचाछाजाझाञाटाठाडाढाणाताथादाधानापाफाबाभामायारालावाशाषासाहात्राज्ञाक्षाक़ाख़ाग़ाज़ाझ़ाड़ाढ़ाफ़ाकिखिगिघिङिचिछिजिझिञिटिठिडिढिणितिथिदिधिनिपिफिबिभिमियिरिलिविशिषिसिहित्रिज्ञिक्षिक़िख़िग़िज़िझ़िड़िढ़िफ़िकीखीगीघीङीचीछीजीझीञीटीठीडीढीणीतीथीदीधीनीपीफीबीभीमीयीरीलीवीशीषीसीहीत्रीज्ञीक्षीक़ीख़ीग़ीज़ीझ़ीड़ीढ़ीफ़ीकुखुगुघुङुचुछुजुझुञुटुठुडुढुणुतुथुदुधुनुपुफुबुभुमुयुरुलुवुशुषुसुहुत्रुज्ञुक्षुक़ुख़ुग़ुज़ुझ़ुड़ुढ़ुफ़ुकूखूगूघूङूचूछूजूझूञूटूठूडूढूणूतूथूदूधूनूपूफूबूभूमूयूरूलूवूशूषूसूहूत्रूज्ञूक्षूक़ूख़ूग़ूज़ूझ़ूड़ूढ़ूफ़ूकेखेगेघेङेचेछेजेझेञेटेठेडेढेणेतेथेदेधेनेपेफेबेभेमेयेरेलेवेशेषेसेहेत्रेज्ञेक्षेक़ेख़ेग़ेज़ेझ़ेड़ेढ़ेफ़ेकैखैगैघैङैचैछैजैझैञैटैठैडैढैणैतैथैदैधैनैपैफैबैभैमैयैरैलैवैशैषैसैहैत्रैज्ञैक्षैक़ैख़ैग़ैज़ैझ़ैड़ैढ़ैफ़ैकोखोगोघोङोचोछोजोझोञोटोठोडोढोणोतोथोदोधोनोपोफोबोभोमोयोरोलोवोशोषोसोहोत्रोज्ञोक्षोक़ोख़ोग़ोज़ोझ़ोड़ोढ़ोफ़ोकौखौगौघौङौचौछौजौझौञौटौठौडौढौणौतौथौदौधौनौपौफौबौभौमौयौरौलौवौशौषौसौहौत्रौज्ञौक्षौक़ौख़ौग़ौज़ौझ़ौड़ौढ़ौफ़ौक्ख्ग्घ्ङ्च्छ्ज्झ्ञ्ट्ठ्ड्ढ्ण्त्थ्द्ध्न्प्फ्ब्भ्म्य्र्ल्व्श्ष्स्ह्त्र्ज्ञ्क्ष्क़्ख़्ग़्ज़्झ़्ड़्ढ़्फ़्।॥०१२३४५६७८९॰",
c.punc
},
}
m["ho"] = {
"tiếng Hiri Motu",
33617,
"crp",
"Latn",
ancestors = "meu",
}
m["ht"] = {
"tiếng Creole Haiti",
33491,
"crp",
"Latn",
"Tiếng Creole Haiti",
ancestors = "ht-sdm",
sort_key = {
from = {
"oun", -- 3 chars
"an", "ch", "è", "en", "ng", "ò", "on", "ou", "ui" -- 2 chars
},
to = {
"o" .. p[4],
"a" .. p[1], "c" .. p[1], "e" .. p[1], "e" .. p[2], "n" .. p[1], "o" .. p[1], "o" .. p[2], "o" .. p[3], "u" .. p[1]
}
},
}
m["hu"] = {
"tiếng Hungary",
9067,
"urj-ugr",
"Latn, Hung",
"Tiếng Hungary",
"Hungary",
ancestors = "ohu",
sort_key = {
Latn = {
from = {
"dzs", -- 3 chars
"á", "cs", "dz", "é", "gy", "í", "ly", "ny", "ó", "ö", "ő", "sz", "ty", "ú", "ü", "ű", "zs", -- 2 chars
},
to = {
"d" .. p[2],
"a" .. p[1], "c" .. p[1], "d" .. p[1], "e" .. p[1], "g" .. p[1], "i" .. p[1], "l" .. p[1], "n" .. p[1], "o" .. p[1], "o" .. p[2], "o" .. p[3], "s" .. p[1], "t" .. p[1], "u" .. p[1], "u" .. p[2], "u" .. p[3], "z" .. p[1],
}
},
},
standardChars = {
Latn = "AaÁáBbCcDdEeÉéFfGgHhIiÍíJjKkLlMmNnOoÓóÖöŐőPpQqRrSsTtUuÚúÜüŰűVvWwXxYyZz",
c.punc
},
}
m["hy"] = {
"tiếng Armenia",
8785,
"hyx",
"Armn, Brai",
"Tiếng Armenia",
"Armenia",
ancestors = "axm",
translit = {Armn = "Armn-translit"},
override_translit = true,
entry_name = {
Armn = {
remove_diacritics = "՛՜՞՟",
from = {"եւ", "<sup>յ</sup>", "<sup>ի</sup>", "<sup>է</sup>", "յ̵"},
to = {"և", "յ", "ի", "է", "ֈ"}
},
},
sort_key = {
Armn = {
from = {
"ու", "եւ", -- 2 chars
"և" -- 1 char
},
to = {
"ւ", "եվ",
"եվ"
}
},
},
}
m["hz"] = {
"tiếng Herero",
33315,
"bnt-swb",
"Latn",
"Tiếng Herero",
"Herero",
}
m["ia"] = {
"tiếng Bổ trợ Quốc tế",
35934,
"art",
"Latn",
"Tiếng Bổ trợ Quốc tế",
"Bổ trợ Quốc tế",
}
m["id"] = {
"tiếng Indonesia",
9240,
"poz-mly",
"Latn",
"Tiếng Indonesia",
"Indonesia",
ancestors = "ms",
standardChars = "AaBbCcDdEeFfGgHhIiJjKkLlMmNnOoPpQqRrSsTtUuVvWwXxYyZz" .. c.punc,
}
m["ie"] = {
"tiếng Interlingue",
35850,
"art",
"Latn",
type = "appendix-constructed",
entry_name = {remove_diacritics = c.grave .. c.acute .. c.circ},
}
m["ig"] = {
"tiếng Igbo",
33578,
"alv-igb",
"Latn",
entry_name = {remove_diacritics = c.grave .. c.acute .. c.macron},
sort_key = {
from = {"gb", "gh", "gw", "ị", "kp", "kw", "ṅ", "nw", "ny", "ọ", "sh", "ụ"},
to = {"g" .. p[1], "g" .. p[2], "g" .. p[3], "i" .. p[1], "k" .. p[1], "k" .. p[2], "n" .. p[1], "n" .. p[2], "n" .. p[3], "o" .. p[1], "s" .. p[1], "u" .. p[1]}
},
}
m["ii"] = {
"tiếng Lô Lô",
34235,
"tbq-nlo",
"Yiii",
"Tiếng Lô Lô",
"Lô Lô",
translit = "ii-translit",
}
m["ik"] = {
"tiếng Inupiaq",
27183,
"esx-inu",
"Latn",
"Tiếng Inupiaq",
"Inupiaq",
sort_key = {
from = {
"ch", "ġ", "dj", "ḷ", "ł̣", "ñ", "ng", "r̂", "sr", "zr", -- 2 chars
"ł", "ŋ", "ʼ" -- 1 char
},
to = {
"c" .. p[1], "g" .. p[1], "h" .. p[1], "l" .. p[1], "l" .. p[3], "n" .. p[1], "n" .. p[2], "r" .. p[1], "s" .. p[1], "z" .. p[1],
"l" .. p[2], "n" .. p[2], "z" .. p[2]
}
},
}
m["io"] = {
"tiếng Ido",
35224,
"art",
"Latn",
"Tiếng Ido",
"Ido",
}
m["is"] = {
"tiếng Iceland",
294,
"gmq-ins",
"Latn",
"Tiếng Iceland",
"Iceland",
sort_key = {
from = {"á", "ð", "é", "í", "ó", "ú", "ý", "þ", "æ", "ö"},
to = {"a" .. p[1], "d" .. p[1], "e" .. p[1], "i" .. p[1], "o" .. p[1], "u" .. p[1], "y" .. p[1], "z" .. p[1], "z" .. p[2], "z" .. p[3]}
},
standardChars = "AaÁáBbDdÐðEeÉéFfGgHhIiÍíJjKkLlMmNnOoÓóPpRrSsTtUuÚúVvXxYyÝýÞþÆæÖö" .. c.punc,
}
m["it"] = {
"tiếng Ý",
652,
"roa-itd",
"Latn",
"Tiếng Ý",
"Ý",
ancestors = "roa-oit",
sort_key = {remove_diacritics = c.grave .. c.acute .. c.circ .. c.diaer .. c.ringabove},
standardChars = "AaÀàBbCcDdEeÈèÉéFfGgHhIiÌìLlMmNnOoÒòPpQqRrSsTtUuÙùVvZz" .. c.punc,
}
m["iu"] = {
"tiếng Inuktitut",
29921,
"esx-inu",
"Cans, Latn",
"Tiếng Inuktitut",
"Inuktitut",
translit = {Cans = "cr-translit"},
override_translit = true,
}
m["ja"] = {
"tiếng Nhật",
5287,
"jpx",
"Jpan, Latn, Brai",
"Tiếng Nhật",
"Nhật",
ancestors = "ja-ear",
translit = s["jpx-translit"],
link_tr = true,
display_text = s["jpx-displaytext"],
entry_name = s["jpx-entryname"],
sort_key = s["jpx-sortkey"],
}
m["jv"] = {
"tiếng Java",
33549,
"poz",
"Latn, Java",
"Tiếng Java",
"Java",
ancestors = "kaw",
translit = {Java = "jv-translit"},
link_tr = true,
entry_name = {remove_diacritics = c.circ}, -- Modern jv don't use ê
sort_key = {
Latn = {
from = {"å", "dh", "é", "è", "ng", "ny", "th"},
to = {"a" .. p[1], "d" .. p[1], "e" .. p[1], "e" .. p[2], "n" .. p[1], "n" .. p[2], "t" .. p[1]}
},
},
}
m["ka"] = {
"tiếng Gruzia",
8108,
"ccs-gzn",
"Geor, Geok, Hebr", -- Hebr is used to write Judeo-Georgian
"Tiếng Gruzia",
"Gruzia",
ancestors = "ka-mid",
translit = {
Geor = "Geor-translit",
Geok = "Geok-translit",
},
override_translit = true,
entry_name = {remove_diacritics = c.circ},
}
m["kg"] = {
"tiếng Kongo",
33702,
"bnt-kng",
"Latn",
}
m["ki"] = {
"tiếng Gikuyu",
33587,
"bnt-kka",
"Latn",
"Tiếng Gikuyu",
"Gikuyu",
}
m["kj"] = {
"tiếng Kwanyama",
1405077,
"bnt-ova",
"Latn",
"Tiếng Kwanyama",
"Kwanyama",
}
m["kk"] = {
"tiếng Kazakh",
9252,
"trk-kno",
"Cyrl, Latn, kk-Arab",
"Tiếng Kazakh",
"Kazakh",
translit = {
Cyrl = {
from = {
"Ё", "ё", "Й", "й", "Нг", "нг", "Ӯ", "ӯ", -- 2 chars; are "Ӯ" and "ӯ" actually used?
"А", "а", "Ә", "ә", "Б", "б", "В", "в", "Г", "г", "Ғ", "ғ", "Д", "д", "Е", "е", "Ж", "ж", "З", "з", "И", "и", "К", "к", "Қ", "қ", "Л", "л", "М", "м", "Н", "н", "Ң", "ң", "О", "о", "Ө", "ө", "П", "п", "Р", "р", "С", "с", "Т", "т", "У", "у", "Ұ", "ұ", "Ү", "ү", "Ф", "ф", "Х", "х", "Һ", "һ", "Ц", "ц", "Ч", "ч", "Ш", "ш", "Щ", "щ", "Ъ", "ъ", "Ы", "ы", "І", "і", "Ь", "ь", "Э", "э", "Ю", "ю", "Я", "я", -- 1 char
},
to = {
"E", "e", "İ", "i", "Ñ", "ñ", "U", "u",
"A", "a", "Ä", "ä", "B", "b", "V", "v", "G", "g", "Ğ", "ğ", "D", "d", "E", "e", "J", "j", "Z", "z", "İ", "i", "K", "k", "Q", "q", "L", "l", "M", "m", "N", "n", "Ñ", "ñ", "O", "o", "Ö", "ö", "P", "p", "R", "r", "S", "s", "T", "t", "U", "u", "Ū", "ū", "Ü", "ü", "F", "f", "X", "x", "H", "h", "S", "s", "Ç", "ç", "Ş", "ş", "Ş", "ş", "", "", "Y", "y", "I", "ı", "", "", "É", "é", "Ü", "ü", "Ä", "ä",
}
}
},
-- override_translit = true,
sort_key = {
Cyrl = {
from = {"ә", "ғ", "ё", "қ", "ң", "ө", "ұ", "ү", "һ", "і"},
to = {"а" .. p[1], "г" .. p[1], "е" .. p[1], "к" .. p[1], "н" .. p[1], "о" .. p[1], "у" .. p[1], "у" .. p[2], "х" .. p[1], "ы" .. p[1]}
},
},
standardChars = {
Cyrl = "АаӘәБбВвГгҒғДдЕеЁёЖжЗзИиЙйКкҚқЛлМмНнҢңОоӨөПпРрСсТтУуҰұҮүФфХхҺһЦцЧчШшЩщЪъЫыІіЬьЭэЮюЯя",
c.punc
},
}
m["kl"] = {
"tiếng Greenland",
25355,
"esx-inu",
"Latn",
"Tiếng Greenland",
"Greenland",
sort_key = {
from = {"æ", "ø", "å"},
to = {"z" .. p[1], "z" .. p[2], "z" .. p[3]}
}
}
m["km"] = {
"tiếng Khmer",
9205,
"mkh-kmr",
"Khmr",
"Tiếng Khmer",
"Khmer",
ancestors = "xhm",
translit = "km-translit",
}
m["kn"] = {
"tiếng Kannada",
33673,
"dra-kan",
"Knda, Tutg",
"Tiếng Kannada",
"Kannada",
ancestors = "dra-mkn",
translit = "kn-translit",
}
m["ko"] = {
"tiếng Triều Tiên",
9176,
"qfa-kor",
"Kore, Brai",
"Tiếng Triều Tiên",
"Triều Tiên",
ancestors = "ko-ear",
translit = {Kore = "ko-translit"},
entry_name = {Kore = s["Kore-entryname"]},
}
m["kr"] = {
"tiếng Kanuri",
36094,
"ssa-sah",
"Latn, Arab",
"Tiếng Kanuri",
"Kanuri",
entry_name = {Latn = {remove_diacritics = c.grave .. c.acute .. c.circ .. c.breve}}, -- the sortkey and entry_name are only for standard Kanuri; when dialectal entries get added, someone will have to work out how the dialects should be represented orthographically
sort_key = {
Latn = {
from = {"ǝ", "ny", "ɍ", "sh"},
to = {"e" .. p[1], "n" .. p[1], "r" .. p[1], "s" .. p[1]}
},
},
}
m["ks"] = {
"tiếng Kashmir",
33552,
"inc-kas",
"ks-Arab, Deva, Shrd, Latn",
"Tiếng Kashmir",
"Kashmir",
translit = {
["ks-Arab"] = "ks-Arab-translit",
Deva = "ks-Deva-translit",
Shrd = "Shrd-translit",
},
}
-- "kv" IS TREATED AS "koi", "kpv", SEE WT:LT
m["kw"] = {
"tiếng Cornwall",
25289,
"cel-brs",
"Latn",
"Tiếng Cornwall",
"Cornwall",
ancestors = "cnx",
sort_key = {
from = {"ch"},
to = {"c" .. p[1]}
},
}
m["ky"] = {
"tiếng Kyrgyz",
9255,
"trk-kkp",
"Cyrl, Latn, Arab",
"Tiếng Kyrgyz",
"Kyrgyz",
translit = {Cyrl = "ky-translit"},
override_translit = true,
sort_key = {
Cyrl = {
from = {"ё", "ң", "ө", "ү"},
to = {"е" .. p[1], "н" .. p[1], "о" .. p[1], "у" .. p[1]}
},
},
}
m["la"] = {
"tiếng Latinh",
397,
"itc",
"Latn, Ital",
"Tiếng Latinh",
"Latinh",
ancestors = "itc-ola",
entry_name = {Latn = {remove_diacritics = c.macron .. c.breve .. c.diaer .. c.dinvbreve}},
sort_key = {
Latn = {
from = {"æ", "œ"},
to = {"ae", "oe"}
},
},
standardChars = {
Latn = "AaBbCcDdEeFfGgHhIiLlMmNnOoPpQqRrSsTtUuVvXxZz",
c.punc
},
}
m["lb"] = {
"tiếng Luxembourg",
9051,
"gmw-hgm",
"Latn",
"Tiếng Luxembourg",
"Luxembourg",
ancestors = "gmw-cfr",
sort_key = {
from = {"ä", "ë", "é"},
to = {"z" .. p[1], "z" .. p[2], "z" .. p[3]}
},
}
m["lg"] = {
"tiếng Luganda",
33368,
"bnt-nyg",
"Latn",
"Tiếng Luganda",
"Luganda",
entry_name = {remove_diacritics = c.acute .. c.circ},
sort_key = {
from = {"ŋ"},
to = {"n" .. p[1]}
},
}
m["li"] = {
"tiếng Limburg",
102172,
"gmw-frk",
"Latn",
"Tiếng Limburg",
"Limburg",
ancestors = "dum",
}
m["ln"] = {
"tiếng Lingala",
36217,
"bnt-bmo",
"Latn",
"Tiếng Lingala",
"Lingala",
sort_key = {
remove_diacritics = c.acute .. c.circ .. c.caron,
from = {"ɛ", "gb", "mb", "mp", "nd", "ng", "nk", "ns", "nt", "ny", "nz", "ɔ"},
to = {"e" .. p[1], "g" .. p[1], "m" .. p[1], "m" .. p[2], "n" .. p[1], "n" .. p[2], "n" .. p[3], "n" .. p[4], "n" .. p[5], "n" .. p[6], "n" .. p[7], "o" .. p[1]}
},
}
m["lo"] = {
"tiếng Lào",
9211,
"tai-swe",
"Laoo",
"Tiếng Lào",
"Lào",
translit = "lo-translit",
sort_key = "Laoo-sortkey",
standardChars = "0-9ກຂຄງຈຊຍດຕຖທນບປຜຝພຟມຢຣລວສຫອຮຯ-ໝ" .. c.punc,
}
m["lt"] = {
"tiếng Litva",
9083,
"bat-eas",
"Latn",
"Tiếng Litva",
"Litva",
ancestors = "olt",
display_text = "lt-common",
strip_diacritics = "lt-common",
sort_key = "lt-common",
standard_chars = "AaĄąBbCcČčDdEeĘęĖėFfGgHhIiĮįYyJjKkLlMmNnOoPpRrSsŠšTtUuŲųŪūVvZzŽž" .. c.punc,
}
m["lu"] = {
"tiếng Luba-Katanga",
36157,
"bnt-lub",
"Latn",
}
m["lv"] = {
"tiếng Latvia",
9078,
"bat-eas",
"Latn",
"Tiếng Latvia",
"Latvia",
strip_diacritics = {
-- This attempts to convert vowels with tone marks to vowels either with or without macrons. Specifically, there should be no macrons if the vowel is part of a diphthong (including resonant diphthongs such pìrksts -> pirksts not #pīrksts). What we do is first convert the vowel + tone mark to a vowel + tilde in a decomposed fashion, then remove the tilde in diphthongs, then convert the remaining vowel + tilde sequences to macroned vowels, then delete any other tilde. We leave already-macroned vowels alone: Both e.g. ar and ār occur before consonants. FIXME: This still might not be sufficient.
from = {"([Ee])" .. c.cedilla, "[" .. c.grave .. c.circ .. c.tilde .."]", "([aAeEiIoOuU])" .. c.tilde .."?([lrnmuiLRNMUI])" .. c.tilde .. "?([^aAeEiIoOuU])", "([aAeEiIoOuU])" .. c.tilde .."?([lrnmuiLRNMUI])" .. c.tilde .."?$", "([iI])" .. c.tilde .. "?([eE])" .. c.tilde .. "?", "([aAeEiIuU])" .. c.tilde, c.tilde},
to = {"%1", c.tilde, "%1%2%3", "%1%2", "%1%2", "%1" .. c.macron}
},
sort_key = {
from = {"ā", "č", "ē", "ģ", "ī", "ķ", "ļ", "ņ", "š", "ū", "ž"},
to = {"a" .. p[1], "c" .. p[1], "e" .. p[1], "g" .. p[1], "i" .. p[1], "k" .. p[1], "l" .. p[1], "n" .. p[1], "s" .. p[1], "u" .. p[1], "z" .. p[1]}
},
standard_chars = "AaĀāBbCcČčDdEeĒēFfGgĢģHhIiĪīJjKkĶķLlĻļMmNnŅņOoPpRrSsŠšTtUuŪūVvZzŽž" .. c.punc,
}
m["mg"] = {
"tiếng Malagasy",
7930,
"poz-bre",
"Latn, Arab",
"Tiếng Malagasy",
"Malagasy",
}
m["mh"] = {
"tiếng Marshall",
36280,
"poz-mic",
"Latn",
"Tiếng Marshall",
"Marshall",
sort_key = {
from = {"ā", "ļ", "m̧", "ņ", "n̄", "o̧", "ō", "ū"},
to = {"a" .. p[1], "l" .. p[1], "m" .. p[1], "n" .. p[1], "n" .. p[2], "o" .. p[1], "o" .. p[2], "u" .. p[1]}
},
}
m["mi"] = {
"tiếng Maori",
36451,
"poz-pep",
"Latn",
"Tiếng Maori",
"Maori",
sort_key = {
remove_diacritics = c.macron,
from = {"ng", "wh"},
to = {"z" .. p[1], "z" .. p[2]}
},
}
m["mk"] = {
"tiếng Macedonia",
9296,
"zls",
"Cyrl",
ancestors = "cu",
translit = "mk-translit",
entry_name = {
remove_diacritics = c.acute,
remove_exceptions = {"Ѓ", "ѓ", "Ќ", "ќ"}
},
sort_key = {
remove_diacritics = c.grave,
from = {"ѓ", "ѕ", "ј", "љ", "њ", "ќ", "џ"},
to = {"д" .. p[1], "з" .. p[1], "и" .. p[1], "л" .. p[1], "н" .. p[1], "т" .. p[1], "ч" .. p[1]}
},
standardChars = "АаБбВвГгДдЃѓЕеЖжЗзЅѕИиЈјКкЛлЉљМмНнЊњОоПпРрСсТтЌќУуФфХхЦцЧчЏџШш" .. c.punc,
}
m["ml"] = {
"tiếng Malayalam",
36236,
"dra",
"Mlym",
"Tiếng Malayalam",
"Malayalam",
translit = "ml-translit",
override_translit = true,
}
m["mn"] = {
"tiếng Mông Cổ",
9246,
"xgn-cen",
"Cyrl, Mong, Latn, Brai",
"Tiếng Mông Cổ",
"Mông Cổ",
ancestors = "cmg",
translit = {
Cyrl = "mn-translit",
Mong = "Mong-translit",
},
override_translit = true,
display_text = {Mong = s["Mong-displaytext"]},
entry_name = {
Cyrl = {remove_diacritics = c.grave .. c.acute},
Mong = s["Mong-entryname"],
},
sort_key = {
Cyrl = {
remove_diacritics = c.grave,
from = {"ё", "ө", "ү"},
to = {"е" .. p[1], "о" .. p[1], "у" .. p[1]}
},
},
standardChars = {
Cyrl = "АаБбВвГгДдЕеЁёЖжЗзИиЙйЛлМмНнОоӨөРрСсТтУуҮүХхЦцЧчШшЫыЬьЭэЮюЯя—",
Brai = c.braille,
c.punc
},
}
-- "mo" IS TREATED AS "ro", SEE WT:LT
m["mr"] = {
"tiếng Marathi",
1571,
"inc-sou",
"Deva, Modi",
"Tiếng Marathi",
"Marathi",
ancestors = "omr",
translit = {
Deva = "mr-translit",
Modi = "mr-Modi-translit",
},
entry_name = {
Deva = {
from = {"च़", "ज़", "झ़"},
to = {"च", "ज", "झ"}
},
},
}
m["ms"] = {
"tiếng Mã Lai",
9237,
"poz-mly",
"Latn, ms-Arab",
"Tiếng Mã Lai",
"Mã Lai",
ancestors = "ms-cla",
standardChars = {
Latn = "AaBbCcDdEeFfGgHhIiJjKkLlMmNnOoPpQqRrSsTtUuVvWwXxYyZz",
c.punc
},
}
m["mt"] = {
"tiếng Malta",
9166,
"sem-arb",
"Latn",
"Tiếng Malta",
"Malta",
display_text = {
from = {"'"},
to = {"’"}
},
entry_name = {
from = {"’"},
to = {"'"},
},
ancestors = "sqr",
sort_key = {
from = {
"ċ", "ġ", "ż", -- Convert into PUA so that decomposed form does not get caught by the next step.
"([cgz])", -- Ensure "c" comes after "ċ", "g" comes after "ġ" and "z" comes after "ż".
"g" .. p[1] .. "ħ", -- "għ" after initial conversion of "g".
p[3], p[4], "ħ", "ie", p[5] -- Convert "ċ", "ġ", "ħ", "ie", "ż" into final output.
},
to = {
p[3], p[4], p[5],
"%1" .. p[1],
"g" .. p[2],
"c", "g", "h" .. p[1], "i" .. p[1], "z"
}
},
}
m["my"] = {
"tiếng Miến Điện",
9228,
"tbq-brm",
"Mymr",
"Tiếng Miến Điện",
"Miến Điện",
ancestors = "obr",
translit = "my-translit",
override_translit = true,
sort_key = {
from = {"ျ", "ြ", "ွ", "ှ", "ဿ"},
to = {"္ယ", "္ရ", "္ဝ", "္ဟ", "သ္သ"}
},
}
m["na"] = {
"tiếng Nauru",
13307,
"poz-mic",
"Latn",
"Tiếng Nauru",
"Nauru",
}
m["nb"] = {
"tiếng Na Uy (Bokmål)",
25167,
"gmq",
"Latn",
"Tiếng Na Uy (Bokmål)",
"Na Uy (Bokmål)",
wikimedia_codes = "no",
ancestors = "gmq-mno, da", -- da as an (but not the) ancestor of nb was agreed on - do not change without discussion
sort_key = s["no-sortkey"],
standardChars = s["no-standardchars"],
}
m["nd"] = {
"tiếng Bắc Ndebele",
35613,
"bnt-ngu",
"Latn",
"Tiếng Bắc Ndebele",
"Bắc Ndebele",
entry_name = {remove_diacritics = c.grave .. c.acute .. c.circ .. c.macron .. c.caron},
}
m["ne"] = {
"tiếng Nepal",
33823,
"inc-pah",
"Deva, Newa",
"Tiếng Nepal",
"Nepal",
translit = {Deva = "ne-translit"},
}
m["ng"] = {
"tiếng Ndonga",
33900,
"bnt-ova",
"Latn",
"Tiếng Ndonga",
"Ndonga",
}
m["nl"] = {
"tiếng Hà Lan",
7411,
"gmw-frk",
"Latn, Brai",
"Tiếng Hà Lan",
"Hà Lan",
ancestors = "dum",
sort_key = {remove_diacritics = c.grave .. c.acute .. c.circ .. c.tilde .. c.diaer .. c.ringabove .. c.cedilla .. "'"},
standardChars = {
Latn = "AaBbCcDdEeFfGgHhIiJjKkLlMmNnOoPpQqRrSsTtUuVvWwXxYyZz",
Brai = c.braille,
c.punc
},
}
m["nn"] = {
"tiếng Na Uy (Nynorsk)",
25164,
"gmq-wes",
"Latn",
"Tiếng Na Uy (Nynorsk)",
"Na Uy (Nynorsk)",
ancestors = "gmq-mno",
entry_name = {
remove_diacritics = c.grave .. c.acute,
},
sort_key = s["no-sortkey"],
standardChars = s["no-standardchars"],
}
m["no"] = {
"tiếng Na Uy",
9043,
"gmq-wes",
"Latn",
"Tiếng Na Uy",
"Na Uy",
ancestors = "gmq-mno",
sort_key = s["no-sortkey"],
standardChars = s["no-standardchars"],
}
m["nr"] = {
"tiếng Nam Ndebele",
36785,
"bnt-ngu",
"Latn",
"Tiếng Nam Ndebele",
"Nam Ndebele",
entry_name = {remove_diacritics = c.grave .. c.acute .. c.circ .. c.macron .. c.caron},
}
m["nv"] = {
"tiếng Navajo",
13310,
"apa",
"Latn",
"Tiếng Navajo",
"Navajo",
sort_key = {
remove_diacritics = c.acute .. c.ogonek,
from = {
"chʼ", "tłʼ", "tsʼ", -- 3 chars
"ch", "dl", "dz", "gh", "hw", "kʼ", "kw", "sh", "tł", "ts", "zh", -- 2 chars
"ł", "ʼ" -- 1 char
},
to = {
"c" .. p[2], "t" .. p[2], "t" .. p[4],
"c" .. p[1], "d" .. p[1], "d" .. p[2], "g" .. p[1], "h" .. p[1], "k" .. p[1], "k" .. p[2], "s" .. p[1], "t" .. p[1], "t" .. p[3], "z" .. p[1],
"l" .. p[1], "z" .. p[2]
}
},
}
m["ny"] = {
"tiếng Chichewa",
33273,
"bnt-nys",
"Latn",
entry_name = {remove_diacritics = c.acute .. c.circ},
sort_key = {
from = {"ng'"},
to = {"ng"}
},
}
m["oc"] = {
"tiếng Occitan",
14185,
"roa-ocr",
"Latn, Hebr",
"Tiếng Occitan",
"Occitan",
ancestors = "pro",
sort_key = {
Latn = {
remove_diacritics = c.grave .. c.acute .. c.diaer .. c.cedilla,
from = {"([lns])·h"},
to = {"%1h"}
},
},
}
m["oj"] = {
"tiếng Ojibwe",
33875,
"alg",
"Cans, Latn",
"Tiếng Ojibwe",
"Ojibwe",
sort_key = {
Latn = {
from = {"aa", "ʼ", "ii", "oo", "sh", "zh"},
to = {"a" .. p[1], "h" .. p[1], "i" .. p[1], "o" .. p[1], "s" .. p[1], "z" .. p[1]}
},
},
}
m["om"] = {
"tiếng Oromo",
33864,
"cus-eas",
"Latn, Ethi",
"Tiếng Oromo",
"Oromo",
}
m["or"] = {
"tiếng Oriya",
33810,
"inc-eas",
"Orya",
"Tiếng Oriya",
"Oriya",
ancestors = "inc-mor",
translit = "or-translit",
}
m["os"] = {
"tiếng Ossetia",
33968,
"xsc",
"Cyrl, Geor, Latn",
"Tiếng Ossetia",
"Ossetia",
ancestors = "oos",
translit = {
Cyrl = "os-translit",
Geor = "Geor-translit",
},
override_translit = true,
display_text = {
Cyrl = {
from = {"æ"},
to = {"ӕ"}
},
Latn = {
from = {"ӕ"},
to = {"æ"}
},
},
entry_name = {
Cyrl = {
remove_diacritics = c.grave .. c.acute,
from = {"æ"},
to = {"ӕ"}
},
Latn = {
from = {"ӕ"},
to = {"æ"}
},
},
sort_key = {
Cyrl = {
from = {"ӕ", "гъ", "дж", "дз", "ё", "къ", "пъ", "тъ", "хъ", "цъ", "чъ"},
to = {"а" .. p[1], "г" .. p[1], "д" .. p[1], "д" .. p[2], "е" .. p[1], "к" .. p[1], "п" .. p[1], "т" .. p[1], "х" .. p[1], "ц" .. p[1], "ч" .. p[1]}
},
},
}
m["pa"] = {
"tiếng Punjab",
58635,
"inc-pan",
"Guru, pa-Arab",
"Tiếng Punjab",
"Punjab",
ancestors = "pra",
translit = {
Guru = "Guru-translit",
["pa-Arab"] = "pa-Arab-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["pi"] = {
"tiếng Pali",
36727,
"inc",
"Latn, Brah, Deva, Beng, Sinh, Mymr, Thai, Lana, Laoo, Khmr, Cakm",
"Tiếng Pali",
"Pali",
ancestors = "sa",
translit = {
Brah = "Brah-translit",
Deva = "sa-translit",
Beng = "pi-translit",
Sinh = "si-translit",
Mymr = "pi-translit",
Thai = "pi-translit",
Lana = "pi-translit",
Laoo = "pi-translit",
Khmr = "pi-translit",
Cakm = "Cakm-translit",
},
entry_name = {
Thai = {
from = {"ึ", u(0xF700), u(0xF70F)}, -- FIXME: Not clear what's going on with the PUA characters here.
to = {"ิํ", "ฐ", "ญ"}
},
remove_diacritics = c.VS01
},
sort_key = { -- FIXME: This needs to be converted into the current standardized format.
from = {"ā", "ī", "ū", "ḍ", "ḷ", "m[" .. c.dotabove .. c.dotbelow .. "]", "ṅ", "ñ", "ṇ", "ṭ", "([เโ])([ก-ฮ])", "([ເໂ])([ກ-ຮ])", "ᩔ", "ᩕ", "ᩖ", "ᩘ", "([ᨭ-ᨱ])ᩛ", "([ᨷ-ᨾ])ᩛ", "ᩤ", u(0xFE00), u(0x200D)},
to = {"a~", "i~", "u~", "d~", "l~", "m~", "n~", "n~~", "n~~~", "t~", "%2%1", "%2%1", "ᩈ᩠ᩈ", "᩠ᩁ", "᩠ᩃ", "ᨦ᩠", "%1᩠ᨮ", "%1᩠ᨻ", "ᩣ"}
},
}
m["pl"] = {
"tiếng Ba Lan",
809,
"zlw-lch",
"Latn",
"Tiếng Ba Lan",
"Ba Lan",
ancestors = "zlw-mpl",
sort_key = {
from = {"ą", "ć", "ę", "ł", "ń", "ó", "ś", "ź", "ż"},
to = {"a" .. p[1], "c" .. p[1], "e" .. p[1], "l" .. p[1], "n" .. p[1], "o" .. p[1], "s" .. p[1], "z" .. p[1], "z" .. p[2]}
},
standardChars = "AaĄąBbCcĆćDdEeĘęFfGgHhIiJjKkLlŁłMmNnŃńOoÓóPpRrSsŚśTtUuWwYyZzŹźŻż" .. c.punc,
}
m["ps"] = {
"tiếng Pashtun",
58680,
"ira-pat",
"ps-Arab",
"Tiếng Pashtun",
"Pashtun",
entry_name = {remove_diacritics = c.fathatan .. c.dammatan .. c.kasratan .. c.fatha .. c.damma .. c.kasra .. c.shadda .. c.sukun .. c.superalef},
}
m["pt"] = {
"tiếng Bồ Đào Nha",
5146,
"roa-ibe",
"Latn, Brai",
"Tiếng Bồ Đào Nha",
"Bồ Đào Nha",
ancestors = "roa-opt",
sort_key = {Latn = {remove_diacritics = c.grave .. c.acute .. c.circ .. c.tilde .. c.diaer .. c.cedilla}},
standardChars = {
Latn = "AaÁáÂâÃãBbCcÇçDdEeÉéÊêFfGgHhIiÍíJjLlMmNnOoÓóÔôÕõPpQqRrSsTtUuÚúVvXxZz",
Brai = c.braille,
c.punc
},
}
m["qu"] = {
"tiếng Quechua",
5218,
"qwe",
"Latn",
"Tiếng Quechua",
"Quechua",
}
m["rm"] = {
"tiếng Romansh",
13199,
"roa-rhe",
"Latn",
"Tiếng Romansh",
"Romansh",
sort_key = {remove_diacritics = c.grave .. c.acute .. c.circ .. c.diaer .. c.small_e},
}
m["ro"] = {
"tiếng Rumani",
7913,
"roa-eas",
"Latn, Cyrl",
"Tiếng Rumani",
"Rumani",
translit = {Cyrl = "ro-translit"},
sort_key = {
Latn = {
remove_diacritics = c.grave .. c.acute,
from = {"ă", "â", "î", "ș", "ț"},
to = {"a" .. p[1], "a" .. p[2], "i" .. p[1], "s" .. p[1], "t" .. p[1]}
},
Cyrl = {
from = {"ӂ"},
to = {"ж" .. p[1]}
},
},
standardChars = {
Latn = "AaĂăÂâBbCcDdEeFfGgHhIiÎîJjLlMmNnOoPpRrSsȘșTtȚțUuVvXxZz",
Cyrl = "АаБбВвГгДдЕеЖжӁӂЗзИиЙйКкЛлМмНнОоПпРрСсТтУуФфХхЦцЧчШшЫыЬьЭэЮюЯя",
c.punc
},
}
m["ru"] = {
"tiếng Nga",
7737,
"zle",
"Cyrl, Cyrs, Brai",
"Tiếng Nga",
"Nga",
ancestors = "zle-mru",
translit = {Cyrl = "ru-translit"},
display_text = {
from = {"'"},
to = {"’"}
},
entry_name = {
remove_diacritics = c.grave .. c.acute .. c.diaer,
remove_exceptions = {"Ё", "ё", "Ѣ̈", "ѣ̈", "Я̈", "я̈"},
from = {"’"},
to = {"'"},
},
sort_key = {
from = {
"ё", "ѣ̈", "я̈", -- 2 chars
"і", "ѣ", "ѳ", "ѵ" -- 1 char
},
to = {
"е" .. p[1], "ь" .. p[2], "я" .. p[1],
"и" .. p[1], "ь" .. p[1], "я" .. p[2], "я" .. p[3]
}
},
standardChars = {
Cyrl = "АаБбВвГгДдЕеЁёЖжЗзИиЙйКкЛлМмНнОоПпРрСсТтУуФфХхЦцЧчШшЩщЪъЫыЬьЭэЮюЯя—",
Brai = c.braille,
(c.punc:gsub("'", "")) -- Exclude apostrophe.
},
}
m["rw"] = {
"Rwanda-Rundi",
3217514,
"bnt-glb",
"Latn",
entry_name = {remove_diacritics = c.acute .. c.circ .. c.macron .. c.caron},
}
m["sa"] = {
"tiếng Phạn",
11059,
"inc",
"as-Beng, Bali, Beng, Bhks, Brah, Mymr, xwo-Mong, Deva, Gujr, Guru, Gran, Hani, Java, Kthi, Knda, Kawi, Khar, Khmr, Laoo, Mlym, mnc-Mong, Marc, Modi, Mong, Nand, Newa, Orya, Phag, Ranj, Saur, Shrd, Sidd, Sinh, Soyo, Lana, Takr, Taml, Tang, Telu, Thai, Tibt, Tutg, Tirh, Zanb", --and also Khom; script codes sorted by canonical name rather than code for [[MOD:sa-convert]]
"Tiếng Phạn",
"Phạn",
translit = {
Beng = "sa-Beng-translit",
["as-Beng"] = "sa-Beng-translit",
-- Brah translit in [[Module:scripts/data]]
Deva = "sa-translit",
Gujr = "sa-Gujr-translit",
Guru = "sa-Guru-translit",
Java = "sa-Java-translit",
Kthi = "sa-Kthi-translit",
Khmr = "pi-translit",
Knda = "sa-Knda-translit",
Lana = "pi-translit",
Laoo = "pi-translit",
Mlym = "sa-Mlym-translit",
Modi = "sa-Modi-translit",
-- Mong, mnc-Mong, xwo-Mong translit in [[Module:scripts/data]]
-- NOTE: Formerly used xal-translit for transliterating xwo-Mong but that only handles Cyrillic; it has
-- code to transliterate xwo-Mong but it's broken so I've replaced it with the default xwo-translit.
Mymr = "pi-translit",
Orya = "sa-Orya-translit",
-- Shrd translit in [[Module:scripts/data]]
-- Sidd translit in [[Module:scripts/data]]
Sinh = "si-translit",
Taml = "sa-Taml-translit",
Telu = "sa-Telu-translit",
Thai = "pi-translit",
-- Tibt translit in [[Module:scripts/data]]
},
-- Mong display_text and strip_diacritics in [[Module:scripts/data]]
-- Tibt display_text, strip_diacritics, sort_key in [[Module:scripts/data]]
strip_diacritics = {
Deva = s["sa-Deva-stripdiacritics"],
Mymr = {
remove_diacritics = c.VS01,
},
Thai = {
from = {"ึ", u(0xF700), u(0xF70F)}, -- FIXME: Not clear what's going on with the PUA characters here.
to = {"ิํ", "ฐ", "ญ"}
},
},
sort_key = {
Deva = s["sa-Deva-stripdiacritics"], -- until we have a proper Sanskrit sorting algorithm.
Lana = { -- Tai Tham
from = {"ᩔ", "ᩕ", "ᩖ", "ᩘ", "([ᨭ-ᨱ])ᩛ", "([ᨷ-ᨾ])ᩛ", "ᩤ"},
to = {"ᩈ᩠ᩈ", "᩠ᩁ", "᩠ᩃ", "ᨦ᩠", "%1᩠ᨮ", "%1᩠ᨻ", "ᩣ"},
},
Laoo = "Laoo-sortkey",
Latn = {
from = {"ā", "ī", "ū", "ḍ", "ḷ", "ḹ", "m[" .. c.dotabove .. c.dotbelow .. "]", "ṅ", "ñ", "ṇ", "ṛ", "ṝ", "ś", "ṣ", "ṭ"},
to = {"a~", "i~", "u~", "d~", "l~", "l~~", "m~", "n~", "n~~", "n~~~", "r~", "r~~", "s~", "s~~", "t~"},
},
Mymr = {
remove_diacritics = c.VS01,
},
Thai = "Thai-sortkey",
-- FIXME: The previous sort key which mixed all scripts removed ZWJ; I don't know which script(s) this was
-- intended for and there are no other languages which remove it in the sort key AFAIK. If it needs to be
-- removed, specify the script(s) it needs to be removed under or add handling for the "all" script that applies
-- regardless of script.
--all = {
-- remove_diacritics = c.ZWJ,
--},
},
}
m["sc"] = {
"tiếng Sardegna",
33976,
"roa",
"Latn",
"Tiếng Sardegna",
"Sardegna",
}
m["sd"] = {
"tiếng Sindh",
33997,
"inc-snd",
"sd-Arab, Deva, Sind, Khoj",
"Tiếng Sindh",
"Sindh",
ancestors = "pra",
translit = {
Sind = "Sind-translit",
["sd-Arab"] = "sd-Arab-translit"
},
strip_diacritics = {
["sd-Arab"] = {
remove_diacritics = c.kashida .. c.fathatan .. c.dammatan .. c.kasratan .. c.fatha .. c.damma .. c.kasra .. c.shadda .. c.sukun .. c.superalef,
from = {"ٱ"},
to = {"ا"}
},
},
}
m["se"] = {
"tiếng Bắc Sami",
33947,
"smi",
"Latn",
"Tiếng Bắc Sami",
"Bắc Sami",
display_text = {
from = {"'"},
to = {"ˈ"}
},
entry_name = {remove_diacritics = c.macron .. c.dotbelow .. "'ˈ"},
sort_key = {
from = {"á", "č", "đ", "ŋ", "š", "ŧ", "ž"},
to = {"a" .. p[1], "c" .. p[1], "d" .. p[1], "n" .. p[1], "s" .. p[1], "t" .. p[1], "z" .. p[1]}
},
standardChars = "AaÁáBbCcČčDdĐđEeFfGgHhIiJjKkLlMmNnŊŋOoPpRrSsŠšTtŦŧUuVvZzŽž" .. c.punc,
}
m["sg"] = {
"tiếng Sango",
33954,
"crp",
"Latn",
ancestors = "ngb",
"Tiếng Sango",
"Sango",
}
m["sh"] = {
"tiếng Serbia-Croatia",
9301,
"zls",
"Latn, Cyrl, Glag",
"Tiếng Serbia-Croatia",
"Serbia-Croatia",
wikimedia_codes = "sh, bs, hr, sr",
entry_name = {
Latn = {
remove_diacritics = c.grave .. c.acute .. c.tilde .. c.macron .. c.dgrave .. c.invbreve,
remove_exceptions = {"Ć", "ć", "Ś", "ś", "Ź", "ź"}
},
Cyrl = {
remove_diacritics = c.grave .. c.acute .. c.tilde .. c.macron .. c.dgrave .. c.invbreve,
remove_exceptions = {"З́", "з́", "С́", "с́"}
},
},
sort_key = {
Latn = {
from = {"č", "ć", "dž", "đ", "lj", "nj", "š", "ś", "ž", "ź"},
to = {"c" .. p[1], "c" .. p[2], "d" .. p[1], "d" .. p[2], "l" .. p[1], "n" .. p[1], "s" .. p[1], "s" .. p[2], "z" .. p[1], "z" .. p[2]}
},
Cyrl = {
from = {"ђ", "з́", "ј", "љ", "њ", "с́", "ћ", "џ"},
to = {"д" .. p[1], "з" .. p[1], "и" .. p[1], "л" .. p[1], "н" .. p[1], "с" .. p[1], "т" .. p[1], "ч" .. p[1]}
},
},
standardChars = {
Latn = "AaBbCcČčĆćDdĐđEeFfGgHhIiJjKkLlMmNnOoPpRrSsŠšTtUuVvZzŽž",
Cyrl = "АаБбВвГгДдЂђЕеЖжЗзИиЈјКкЛлЉљМмНнЊњОоПпРрСсТтЋћУуФфХхЦцЧчЏџШш",
c.punc
},
}
m["si"] = {
"tiếng Sinhala",
13267,
"inc-ins",
"Sinh",
"Tiếng Sinhala",
"Sinhala",
translit = "si-translit",
override_translit = true,
}
m["sk"] = {
"tiếng Slovak",
9058,
"zlw",
"Latn",
"Tiếng Slovak",
"Slovak",
ancestors = "zlw-osk,sla-pro",
sort_key = {remove_diacritics = c.acute .. c.circ .. c.diaer},
standardChars = "AaÁáÄäBbCcČčDdĎďEeFfGgHhIiÍíJjKkLlĹ弾MmNnŇňOoÔôPpRrŔŕSsŠšTtŤťUuÚúVvYyÝýZzŽž" .. c.punc,
}
m["sl"] = {
"tiếng Slovene",
9063,
"zls",
"Latn",
"Tiếng Slovene",
"Slovene",
entry_name = {
remove_diacritics = c.grave .. c.acute .. c.circ .. c.macron .. c.dgrave .. c.invbreve .. c.dotbelow,
from = {"Ə", "ə", "Ł", "ł"},
to = {"E", "e", "L", "l"}
},
sort_key = {
remove_diacritics = c.tilde .. c.dotabove .. c.diaer .. c.ringabove .. c.ringbelow .. c.ogonek,
from = {"č", "š", "ž"},
to = {"c" .. p[1], "s" .. p[1], "z" .. p[1]}
},
standardChars = "AaBbCcČčDdEeFfGgHhIiJjKkLlMmNnOoPpRrSsŠšTtUuVvZzŽž" .. c.punc,
}
m["sm"] = {
"tiếng Samoa",
34011,
"poz-pnp",
"Latn",
"Tiếng Samoa",
"Samoa",
}
m["sn"] = {
"tiếng Shona",
34004,
"bnt-sho",
"Latn",
"Tiếng Shona",
"Shona",
entry_name = {remove_diacritics = c.acute},
}
m["so"] = {
"tiếng Somali",
13275,
"cus-som",
"Latn, Arab, Osma",
"Tiếng Somali",
"Somali",
entry_name = {Latn = {remove_diacritics = c.grave .. c.acute .. c.circ}},
}
m["sq"] = {
"tiếng Albani",
8748,
"sqj",
"Latn, Grek, ota-Arab, Elba, Todr, Vith",
"Tiếng Albani",
"Albani",
translit = {Elba = "Elba-translit"},
entry_name = {Latn = {
remove_diacritics = c.acute,
from = {'^i (%w)', '^të (%w)'}, to = {'%1', '%1'},
}},
sort_key = {Latn = {
remove_diacritics = c.acute .. c.circ .. c.tilde .. c.breve .. c.caron,
from = {'ç', 'dh', 'ë', 'gj', 'll', 'nj', 'rr', 'sh', 'th', 'xh', 'zh'},
to = {'c'..p[1], 'd'..p[1], 'e'..p[1], 'g'..p[1], 'l'..p[1], 'n'..p[1], 'r'..p[1], 's'..p[1], 't'..p[1], 'x'..p[1], 'z'..p[1]},
}},
standardChars = "AaBbCcÇçDdEeËëFfGgHhIiJjKkLlMmNnOoPpQqRrSsTtUuVvXxYyZz" .. c.punc,
}
m["ss"] = {
"tiếng Swazi",
34014,
"bnt-ngu",
"Latn",
"Tiếng Swazi",
"Swazi",
entry_name = {remove_diacritics = c.grave .. c.acute .. c.circ .. c.macron .. c.caron},
}
m["st"] = {
"tiếng Sotho",
34340,
"bnt-sts",
"Latn",
"Tiếng Sotho",
"Sotho",
entry_name = {remove_diacritics = c.grave .. c.acute .. c.circ .. c.macron .. c.caron},
}
m["su"] = {
"tiếng Sunda",
34002,
"poz-msa",
"Latn, Sund",
"Tiếng Sunda",
"Sunda",
ancestors = "osn",
translit = {Sund = "su-translit"},
}
m["sv"] = {
"tiếng Thụy Điển",
9027,
"gmq-eas",
"Latn",
"Tiếng Thụy Điển",
"Thụy Điển",
ancestors = "gmq-osw-lat",
sort_key = {
remove_diacritics = c.grave .. c.acute .. c.circ .. c.tilde .. c.macron .. c.dacute .. c.caron .. c.cedilla .. "':",
remove_exceptions = {"å"},
from = {"ø", "æ", "œ", "ß", "å", "aͤ", "oͤ"},
to = {"o", "ae", "oe", "ss", "z" .. p[1], "ä", "ö"}
},
standardChars = "AaBbCcDdEeFfGgHhIiJjKkLlMmNnOoPpRrSsTtUuVvXxYyÅåÄäÖö" .. c.punc,
}
m["sw"] = {
"tiếng Swahili",
7838,
"bnt-swh",
"Latn, Arab",
"Tiếng Swahili",
"Swahili",
sort_key = {
Latn = {
from = {"ng'"},
to = {"ng" .. p[1]}
},
},
}
m["ta"] = {
"tiếng Tamil",
5885,
"dra-tam",
"Taml",
"Tiếng Tamil",
"Tamil",
ancestors = "ta-mid",
translit = "ta-translit",
override_translit = true,
}
m["te"] = {
"tiếng Telugu",
8097,
"dra-tel",
"Telu",
"Tiếng Telugu",
"Telugu",
translit = "te-translit",
override_translit = true,
}
m["tg"] = {
"tiếng Tajik",
9260,
"ira-swi",
"Cyrl, fa-Arab, Latn",
"Tiếng Tajik",
"Tajik",
ancestors = "fa-cls",
translit = {Cyrl = "tg-translit"},
override_translit = true,
entry_name = {remove_diacritics = c.grave .. c.acute},
sort_key = {
Cyrl = {
from = {"ғ", "ё", "ӣ", "қ", "ӯ", "ҳ", "ҷ"},
to = {"г" .. p[1], "е" .. p[1], "и" .. p[1], "к" .. p[1], "у" .. p[1], "х" .. p[1], "ч" .. p[1]}
},
},
}
m["th"] = {
"tiếng Thái",
9217,
"tai-swe",
"Thai, Brai",
"Tiếng Thái",
"Thái",
translit = {Thai = "th-translit"},
sort_key = {Thai = "Thai-sortkey"},
}
m["ti"] = {
"tiếng Tigrinya",
34124,
"sem-eth",
"Ethi",
"Tiếng Tigrinya",
"Tigrinya",
translit = "Ethi-translit",
}
m["tk"] = {
"tiếng Turkmen",
9267,
"trk-ogz",
"Latn, Cyrl, Arab",
"Tiếng Turkmen",
"Turkmen",
entry_name = {remove_diacritics = c.macron},
sort_key = {
Latn = {
from = {"ç", "ä", "ž", "ň", "ö", "ş", "ü", "ý"},
to = {"c" .. p[1], "e" .. p[1], "j" .. p[1], "n" .. p[1], "o" .. p[1], "s" .. p[1], "u" .. p[1], "y" .. p[1]}
},
Cyrl = {
from = {"ё", "җ", "ң", "ө", "ү", "ә"},
to = {"е" .. p[1], "ж" .. p[1], "н" .. p[1], "о" .. p[1], "у" .. p[1], "э" .. p[1]}
},
},
}
m["tl"] = {
"tiếng Tagalog",
34057,
"phi",
"Latn, Tglg",
"Tiếng Tagalog",
"Tagalog",
translit = {Tglg = "tl-translit"},
override_translit = true,
entry_name = {Latn = {remove_diacritics = c.grave .. c.acute .. c.circ}},
standardChars = {
Latn = "AaBbKkDdEeGgHhIiLlMmNnOoPpRrSsTtUuWwYy",
c.punc
},
sort_key = {
Latn = "tl-sortkey",
},
}
m["tn"] = {
"tiếng Tswana",
34137,
"bnt-sts",
"Latn",
"Tiếng Tswana",
"Tswana",
}
m["to"] = {
"tiếng Tonga",
34094,
"poz-pol",
"Latn",
"Tiếng Tonga",
"Tonga",
entry_name = {remove_diacritics = c.acute},
sort_key = {remove_diacritics = c.macron},
}
m["tr"] = {
"tiếng Thổ Nhĩ Kỳ",
256,
"trk-ogz",
"Latn",
"Tiếng Thổ Nhĩ Kỳ",
"Thổ Nhĩ Kỳ",
ancestors = "ota",
dotted_dotless_i = true,
sort_key = {
from = {
-- Ignore circumflex, but account for capital Î wrongly becoming ı + circ due to dotted dotless I logic.
"ı" .. c.circ, c.circ,
"i", -- Ensure "i" comes after "ı".
"ç", "ğ", "ı", "ö", "ş", "ü"
},
to = {
"i", "",
"i" .. p[1],
"c" .. p[1], "g" .. p[1], "i", "o" .. p[1], "s" .. p[1], "u" .. p[1]
}
},
standardChars = "AaÂâBbCcÇçDdEeFfGgĞğHhIıİiÎîJjKkLlMmNnOoÖöPpRrSsŞşTtUuÛûÜüVvYyZz" .. c.punc,
}
m["ts"] = {
"tiếng Tsonga",
34327,
"bnt-tsr",
"Latn",
"Tiếng Tsonga",
"Tsonga",
}
m["tt"] = {
"tiếng Tatar",
25285,
"trk-kbu",
"Cyrl, Latn, tt-Arab",
"Tiếng Tatar",
"Tatar",
translit = {Cyrl = "tt-translit"},
override_translit = true,
dotted_dotless_i = true,
sort_key = {
Cyrl = {
from = {"ә", "ў", "ғ", "ё", "җ", "қ", "ң", "ө", "ү", "һ"},
to = {"а" .. p[1], "в" .. p[1], "г" .. p[1], "е" .. p[1], "ж" .. p[1], "к" .. p[1], "н" .. p[1], "о" .. p[1], "у" .. p[1], "х" .. p[1]}
},
Latn = {
from = {
"i", -- Ensure "i" comes after "ı".
"ä", "ə", "ç", "ğ", "ı", "ñ", "ŋ", "ö", "ɵ", "ş", "ü"
},
to = {
"i" .. p[1],
"a" .. p[1], "a" .. p[2], "c" .. p[1], "g" .. p[1], "i", "n" .. p[1], "n" .. p[2], "o" .. p[1], "o" .. p[2], "s" .. p[1], "u" .. p[1]
}
},
},
}
-- "tw" IS TREATED AS "ak", SEE WT:LT
m["ty"] = {
"tiếng Tahiti",
34128,
"poz-pep",
"Latn",
"Tiếng Tahiti",
"Tahiti",
}
m["ug"] = {
"tiếng Duy Ngô Nhĩ",
13263,
"trk-kar",
"ug-Arab, Latn, Cyrl",
"Tiếng Duy Ngô Nhĩ",
"Duy Ngô Nhĩ",
ancestors = "chg",
translit = {
["ug-Arab"] = "ug-translit",
Cyrl = "ug-translit",
},
override_translit = true,
}
m["uk"] = {
"tiếng Ukraina",
8798,
"zle",
"Cyrl",
"Tiếng Ukraina",
"Ukraina",
ancestors = "zle-ouk",
translit = "uk-translit",
strip_diacritics = {remove_diacritics = c.grave .. c.acute},
sort_key = {
remove_diacritics = c.grave .. c.acute,
from = {
"ї", -- 2 chars
"ґ", "є", "і" -- 1 char
},
to = {
"и" .. p[2],
"г" .. p[1], "е" .. p[1], "и" .. p[1]
}
},
standard_chars = "АаБбВвГгДдЕеЄєЖжЗзИиІіЇїЙйКкЛлМмНнОоПпРрСсТтУуФфХхЦцЧчШшЩщЬьЮюЯя" .. c.punc:gsub("'", ""), -- Exclude apostrophe.
}
m["ur"] = {
"tiếng Urdu",
1617,
"inc-hnd",
"ur-Arab",
"Tiếng Urdu",
"Urdu",
translit = {["ur-Arab"] = "ur-translit"},
entry_name = {
-- character "ۂ" code U+06C2 to "ه" and "هٔ" (U+0647 + U+0654) to "ه"; hamzatu l-waṣli to a regular alif
from = {"هٔ", "ۂ", "ٱ"},
to = {"ہ", "ہ", "ا"},
remove_diacritics = c.fathatan .. c.dammatan .. c.kasratan .. c.fatha .. c.damma .. c.kasra .. c.shadda .. c.sukun .. c.nunghunna .. c.superalef
},
-- put Judeo-Urdu (Hebrew-script Urdu) under the category header
-- U+FB21 HEBREW LETTER WIDE ALEF so that it sorts after Arabic script titles
sort_key = {
from = {"^%f[" .. u(0x5D0) .. "-" .. u(0x5EA) .. "]"},
to = {u(0xFB21)},
},
}
m["uz"] = {
"tiếng Uzbek",
9264,
"trk-kar",
"Latn, Cyrl, fa-Arab",
"Tiếng Uzbek",
"Uzbek",
ancestors = "chg",
translit = {
Cyrl = "uz-translit"
},
sort_key = {
Latn = {
from = {"oʻ", "gʻ", "sh", "ch", "ng"},
to = {"z" .. p[1], "z" .. p[2], "z" .. p[3], "z" .. p[4], "z" .. p[5]}
},
Cyrl = {
from = {"ё", "ў", "қ", "ғ", "ҳ"},
to = {"е" .. p[1], "я" .. p[1], "я" .. p[2], "я" .. p[3], "я" .. p[4]}
},
},
strip_diacritics = {
["fa-Arab"] = "ar-stripdiacritics",
},
}
m["ve"] = {
"tiếng Venda",
32704,
"bnt-bso",
"Latn",
"Tiếng Venda",
"Venda",
}
m["vi"] = {
"tiếng Việt",
9199,
"mkh-vie",
"Latn, Hani",
"Tiếng Việt",
"Việt",
ancestors = "mkh-mvi",
sort_key = {
Latn = "vi-sortkey",
Hani = "Hani-sortkey",
},
}
m["vo"] = {
"tiếng Volapük",
36986,
"art",
"Latn",
"Tiếng Volapük",
"Volapük",
}
m["wa"] = {
"tiếng Wallon",
34219,
"roa-oil",
"Latn",
"Tiếng Wallon",
"Wallon",
sort_key = s["roa-oil-sortkey"],
}
m["wo"] = {
"tiếng Wolof",
34257,
"alv-fwo",
"Latn, Arab, Gara",
"Tiếng Wolof",
"Wolof",
}
m["xh"] = {
"tiếng Xhosa",
13218,
"bnt-ngu",
"Latn",
"Tiếng Xhosa",
"Xhosa",
strip_diacritics = {remove_diacritics = c.grave .. c.acute .. c.circ .. c.macron .. c.caron},
}
m["yi"] = {
"tiếng Yiddish",
8641,
"gmw-hgm",
"Hebr",
"Tiếng Yiddish",
"Yiddish",
ancestors = "gmh",
translit = "yi-translit",
sort_key = {
from = {"א[ַָ]", "בּ", "ו[ֹּ]", "יִ", "ײַ", "פֿ"},
to = {"א", "ב", "ו", "י", "יי", "פ"}
},
}
m["yo"] = {
"tiếng Yoruba",
34311,
"alv-yor",
"Latn, Arab",
"Tiếng Yoruba",
"Yoruba",
strip_diacritics = {
Latn = {remove_diacritics = c.grave .. c.acute .. c.macron}
},
sort_key = {
Latn = {
from = {"ẹ", "ɛ", "gb", "ị", "kp", "ọ", "ɔ", "ṣ", "sh", "ụ"},
to = {"e" .. p[1], "e" .. p[1], "g" .. p[1], "i" .. p[1], "k" .. p[1], "o" .. p[1], "o" .. p[1], "s" .. p[1], "s" .. p[1], "u" .. p[1]}
},
},
}
m["za"] = {
"tiếng Tráng",
13216,
"tai",
"Latn, Hani",
"Tiếng Tráng",
"Tráng",
sort_key = {
Latn = "za-sortkey",
Hani = "Hani-sortkey",
},
}
m["zh"] = {
"tiếng Trung Quốc",
7850,
"zhx",
"Hants, Latn, Bopo, Nshu, Brai",
"Tiếng Trung Quốc",
"Trung Quốc",
ancestors = "ltc",
generate_forms = "zh-generateforms",
translit = {
Hani = "zh-translit",
Bopo = "zh-translit",
},
sort_key = {Hani = "Hani-sortkey"},
}
m["zu"] = {
"tiếng Zulu",
10179,
"bnt-ngu",
"Latn",
"Tiếng Zulu",
"Zulu",
strip_diacritics = {remove_diacritics = c.grave .. c.acute .. c.circ .. c.macron .. c.caron},
}
return require("Module:languages").finalizeData(m, "language")
6nx6dayf9spwiuypyqkarz987wbncge
«
0
259759
2463299
2127958
2026-07-19T05:45:20Z
Hiyuune
50834
2463299
wikitext
text/x-wiki
{{character info}}
=={{langname|mul}}==
==={{section|punctuation mark}}===
{{mul-punctuation mark}}
# Được sử dụng như [[dấu ngoặc kép]] trong nhiều ngôn ngữ.
## [[« »]].
## [[» «]].
#* {{quote-journal|es|termlang=mul|author=Jennifer Hansler|title=USAID informa a su personal extranjero que será despedido a mediados de agosto|magazine=w:CNN en Español|url=https://cnnespanol.cnn.com/2025/04/09/eeuu/usaid-despedira-personal-extranjero-agosto-trax|date=2025-04-09|passage=El correo electrónico indicaba que '''«'''se espera que casi 1.000 programas continúen bajo el Departamento de Estado u otros socios del gobierno estadounidense, y estos esfuerzos probablemente requerirán profesionales cualificados y con experiencia».|archiveurl=https://web.archive.org/web/20250707221715/https://cnnespanol.cnn.com/2025/04/09/eeuu/usaid-despedira-personal-extranjero-agosto-trax}}
==={{section|see}}===
{{quotation marks}}
3mbhr3ttbz7l1l7637fr2f2l7oyiise
ꪙꪳ꪿ꪉ
0
260078
2463190
2098006
2026-07-18T16:12:54Z
BlueShurikenNinjaBot
50371
/* top */ Thay thế bản mẫu, replaced: {{blt-num}} → {{head|blt|numeral}} using [[Project:AWB|AWB]]
2463190
wikitext
text/x-wiki
{{-blt-}}
{{-pron-}}
{{blt-pron}}
{{-num-}}
{{head|blt|numeral}}
# {{l|vi|một}}
e6876ezahi1cpt1g74x8ps051b5llt0
ꪎꪮꪉ
0
260082
2463186
2097838
2026-07-18T16:11:46Z
BlueShurikenNinjaBot
50371
/* top */ Thay thế bản mẫu, replaced: {{blt-num}} → {{head|blt|numeral}} using [[Project:AWB|AWB]]
2463186
wikitext
text/x-wiki
{{-blt-}}
{{-pron-}}
{{blt-pron}}
{{-num-}}
{{head|blt|numeral}}
# {{l|vi|hai}}
ar5i23cl3z1qi3onpcibum2tqnzc0wr
ꪎꪱꪣ
0
260083
2463187
2098003
2026-07-18T16:12:03Z
BlueShurikenNinjaBot
50371
/* top */ Thay thế bản mẫu, replaced: {{blt-num}} → {{head|blt|numeral}} using [[Project:AWB|AWB]]
2463187
wikitext
text/x-wiki
{{-blt-}}
{{-pron-}}
{{blt-pron}}
{{-num-}}
{{head|blt|numeral}}
# {{l|vi|ba}}
8qp60m6ihm7se42hi1rubh9v6978y4o
ꪎꪲ꪿
0
260084
2463189
2098004
2026-07-18T16:12:37Z
BlueShurikenNinjaBot
50371
/* top */ Thay thế bản mẫu, replaced: {{blt-num}} → {{head|blt|numeral}} using [[Project:AWB|AWB]]
2463189
wikitext
text/x-wiki
{{-blt-}}
{{-pron-}}
{{blt-pron}}
{{-num-}}
{{head|blt|numeral}}
# {{l|vi|bốn}}
32hlv12xm9zf6cr07orvig32rz45bm7
ꪬ꫁ꪱ
0
260085
2463191
2298992
2026-07-18T16:13:11Z
BlueShurikenNinjaBot
50371
/* top */ Thay thế bản mẫu, replaced: {{blt-num}} → {{head|blt|numeral}} using [[Project:AWB|AWB]]
2463191
wikitext
text/x-wiki
{{-blt-}}
{{-pron-}}
{{blt-pron}}
{{-num-}}
{{head|blt|numeral}}
# {{l|vi|năm}}
=={{langname|tyr}}==
==={{ĐM|pron}}===
* {{IPA4|tyr|/haː³/}}
==={{ĐM|num}}===
{{head|tyr|Số từ|tr=hả}}
# [[năm]].
0bocrsqsxa2of2gupgq11mifd66i9jx
ꪶꪬꪀ
0
260086
2463194
2098011
2026-07-18T16:13:45Z
BlueShurikenNinjaBot
50371
/* top */ Thay thế bản mẫu, replaced: {{blt-num}} → {{head|blt|numeral}} using [[Project:AWB|AWB]]
2463194
wikitext
text/x-wiki
{{-blt-}}
{{-pron-}}
{{blt-pron}}
{{-num-}}
{{head|blt|numeral}}
# {{l|vi|sáu}}
a29rcy3z39id7c30uiux4seehirh20e
ꪹꪀ꫁ꪱ
0
260089
2463195
2299002
2026-07-18T16:14:02Z
BlueShurikenNinjaBot
50371
/* top */ Thay thế bản mẫu, replaced: {{blt-num}} → {{head|blt|numeral}} using [[Project:AWB|AWB]]
2463195
wikitext
text/x-wiki
{{-blt-}}
{{-pron-}}
{{blt-pron}}
{{-num-}}
{{head|blt|numeral}}
# {{l|vi|chín}}
=={{langname|tyr}}==
==={{ĐM|pron}}===
* {{IPA4|tyr|/kaw³/}}
==={{ĐM|num}}===
{{head|tyr|Số từ|tr=cảu}}
# [[chín]].
cpp0mnr2t0me9m5vknrr9kyxjwkboim
ꪎꪲꪚ
0
260090
2463188
2098005
2026-07-18T16:12:20Z
BlueShurikenNinjaBot
50371
/* top */ Thay thế bản mẫu, replaced: {{blt-num}} → {{head|blt|numeral}} using [[Project:AWB|AWB]]
2463188
wikitext
text/x-wiki
{{-blt-}}
{{-pron-}}
{{blt-pron}}
{{-num-}}
{{head|blt|numeral}}
# {{l|vi|mười}}
eb8i34nh1qvccq2m9e8gm2udk8qzjh4
ꪭ꫁ꪮꪥ
0
264114
2463192
2098009
2026-07-18T16:13:28Z
BlueShurikenNinjaBot
50371
/* top */ Thay thế bản mẫu, replaced: {{blt-num}} → {{head|blt|numeral}} using [[Project:AWB|AWB]]
2463192
wikitext
text/x-wiki
{{-blt-}}
{{-pron-}}
{{blt-pron}}
{{-num-}}
{{head|blt|numeral}}
# {{l|vi|trăm}}
6fisl3k8ov5n3wucxvdkd5rrg8mxkru
Wiktionary:GUS2Wiki
4
267278
2463315
2456953
2026-07-19T06:24:09Z
Alexis Jazz
41773
Updating gadget usage statistics from [[Special:GadgetUsage]] ([[phab:T121049]])
2463315
wikitext
text/x-wiki
{{#ifexist:Project:GUS2Wiki/top|{{/top}}|This page provides a historical record of [[Special:GadgetUsage]] through its page history. To get the data in CSV format, see wikitext. To customize this message or add categories, create [[/top]].}}
Dữ liệu dưới đây được đưa vào vùng nhớ đệm và được cập nhật lần cuối lúc 2026-07-14T00:20:54Z. Tối đa có sẵn {{PLURAL:5000|một kết quả|5000 kết quả}} trong vùng nhớ đệm.
{| class="sortable wikitable"
! Tiện ích !! data-sort-type="number" | Số người dùng !! data-sort-type="number" | Số thành viên tích cực
|-
|AcceleratedFormCreation || 6 || 3
|-
|AjaxEdit || 4 || 3
|-
|CommentsInLocalTime || 14 || 2
|-
|DejaVu Sans || 68 || 2
|-
|ShowIDs || 2 || 2
|-
|TabbedLanguages || 8 || 3
|-
|Twinkle || 7 || 4
|-
|UTCLiveClock || 11 || 2
|-
|hotcat || 74 || 6
|-
|linkify || 32 || 1
|-
|navpop || 64 || 2
|-
|purgetab || 67 || 3
|-
|removeAccessKeys || 14 || 0
|-
|tot || 5 || 0
|-
|wiked || 58 || 0
|}
* [[Đặc biệt:GadgetUsage]]
* [[m:Meta:GUS2Wiki/Script|GUS2Wiki]]
<!-- data in CSV format:
AcceleratedFormCreation,6,3
AjaxEdit,4,3
CommentsInLocalTime,14,2
DejaVu Sans,68,2
ShowIDs,2,2
TabbedLanguages,8,3
Twinkle,7,4
UTCLiveClock,11,2
hotcat,74,6
linkify,32,1
navpop,64,2
purgetab,67,3
removeAccessKeys,14,0
tot,5,0
wiked,58,0
-->
4z9zo1r7zvs4koqilgwofod9jcc5cyb
Bản mẫu:R:tyz:Lương Bèn
10
268747
2463312
2323493
2026-07-19T06:06:28Z
TheHighFighter2
42988
Thêm tham số trang
2463312
wikitext
text/x-wiki
{{#invoke:quote|call_template
|template=cite-book
|vi
|author=Lương Bèn
|title=Từ điển Tày-Việt
|location=Thái Nguyên
|publisher=Nhà Xuất bản Đại học Thái Nguyên
|year=2011
|url=https://nguyenvietkhoi.github.io/SinicIME/TayDict][https://nguyenvietkhoi.github.io/SinicIME/TaiDB
|pageparam=page}}<noinclude>{{documentation}}</noinclude><noinclude>{{refcat|tyz}}</noinclude>
60t6xr2o8yvyh6j5rbgmxgx7kua027a
Mô đun:languages/data/3/b
828
272283
2463318
2462982
2026-07-19T08:09:02Z
Lcsnes
40261
2463318
Scribunto
text/plain
local m_langdata = require("Module:languages/data")
-- Loaded on demand, as it may not be needed (depending on the data).
local function u(...)
u = require("Module:string utilities").char
return u(...)
end
local c = m_langdata.chars
local p = m_langdata.puaChars
local s = m_langdata.shared
local m = {}
m["baa"] = {
"tiếng Babatana",
2877785,
"poz-ocw",
"Latn",
"Tiếng Babatana",
"Babatana",
}
m["bab"] = {
"tiếng Bainouk-Gunyuño",
35508,
"alv-bny",
"Latn",
"Tiếng Bainouk-Gunyuño",
"Bainouk-Gunyuño",
}
m["bac"] = {
"tiếng Badui",
3449885,
"poz-msa",
"Latn",
"Tiếng Badui",
"Badui",
}
m["bae"] = {
"tiếng Baré",
3504087,
"awd",
"Latn",
"Tiếng Baré",
"Baré",
}
m["baf"] = {
"tiếng Nubaca",
36270,
"nic-ymb",
"Latn",
"Tiếng Nabaca",
"Nubaca",
}
m["bag"] = {
"tiếng Tuki",
36621,
"nic-mba",
"Latn",
"Tiếng Tuki",
"Tuki",
}
m["bah"] = {
"Bahamian Creole",
2669229,
"crp",
"Latn",
ancestors = "en",
}
m["baj"] = {
"tiếng Barakai",
3502030,
"poz-cet",
"Latn",
"Tiếng Barakai",
"Barakai"
}
m["bal"] = {
"tiếng Baloch",
33049,
"ira-nwi",
"fa-Arab, Cyrl",
"Tiếng Baloch",
"Baloch",
}
m["ban"] = {
"tiếng Bali",
33070,
"poz-mcm",
"Latn, Bali",
"Tiếng Bali",
"Bali",
}
m["bao"] = {
"tiếng Waimaha",
2883738,
"sai-tuc",
"Latn",
"Tiếng Waimaha",
"Waimaha",
}
m["bap"] = {
"tiếng Bantawa",
56500,
"sit-kic",
"Krai, Deva",
"Tiếng Bantawa",
"Bantawa",
}
m["bar"] = {
"tiếng Bayern",
29540,
"gmw-hgm",
"Latn",
"Tiếng Bayern",
"Bayern",
ancestors = "gmh",
}
m["bas"] = {
"tiếng Basaa",
33093,
"bnt-bsa",
"Latn",
"Tiếng Basaa",
"Basaa",
}
m["bau"] = {
"tiếng Badanchi",
11001650,
"nic-jrw",
"Latn",
"Tiếng Badanchi",
"Badanchi",
}
m["bav"] = {
"tiếng Babungo",
34885,
"nic-rnn",
"Latn",
"Tiếng Babungo",
"Babungo"
}
m["baw"] = {
"Bambili-Bambui",
34880,
"nic-nge",
"Latn",
}
m["bax"] = {
"tiếng Bamum",
35280,
"nic-nun",
"Latn, Bamu",
"Tiếng Bamum",
"Bamum",
}
m["bay"] = {
"tiếng Batuley",
8828787,
"poz",
"Latn",
"Tiếng Batuley",
"Batuley",
}
m["bba"] = {
"tiếng Baatonum",
34889,
"alv-sav",
"Latn",
"Tiếng Baatonum",
"Baatonum",
}
m["bbb"] = {
"tiếng Barai",
4858206,
"ngf",
"Latn",
"Tiếng Barai",
"Barai",
}
m["bbc"] = {
"Toba Batak",
33017,
"btk",
"Latn, Batk",
}
m["bbd"] = {
"Bau",
4873415,
"ngf-mad",
"Latn",
}
m["bbe"] = {
"Bangba",
34895,
"nic-nke",
"Latn",
}
m["bbf"] = {
"Baibai",
56902,
"paa",
"Latn",
}
m["bbg"] = {
"Barama",
34884,
"bnt-sir",
"Latn",
}
m["bbh"] = {
"tiếng Bố Cam",
3033554,
"mkh-pkn",
"Latn",
"Tiếng Bố Cam",
"Bố Cam",
}
m["bbi"] = {
"tiếng Barombi",
34985,
"bnt-bsa",
"Latn",
"Tiếng Barombi",
"Barombi",
}
m["bbj"] = {
"tiếng Ghomala'",
35271,
"bai",
"Latn",
"Tiếng Ghomala'",
"Ghomala'",
}
m["bbk"] = {
"Babanki",
34790,
"nic-rnc",
"Latn",
}
m["bbl"] = {
"tiếng Bats",
33259,
"cau-nkh",
"Geor",
"Tiếng Bats",
"Bats",
translit = "Geor-translit",
override_translit = true,
entry_name = {
remove_diacritics = c.tilde .. c.macron .. c.breve,
from = {"<sup>ნ</sup>"},
to = {"ნ"}
},
}
m["bbm"] = { -- name includes prefix
"Babango",
34819,
"bnt-bta",
"Latn",
}
m["bbn"] = {
"tiếng Uneapa",
7884126,
"poz-ocw",
"Latn",
"Tiếng Uneapa",
"Uneapa",
}
m["bbo"] = {
"tiếng Konabéré",
35371,
"dmn-snb",
"Latn",
"Tiếng Konabéré",
"Konabéré",
}
m["bbp"] = {
"West Central Banda",
7984377,
"bad",
"Latn",
}
m["bbq"] = {
"Bamali",
34901,
"nic-nun",
"Latn",
}
m["bbr"] = {
"Girawa",
5564185,
"ngf-mad",
"Latn",
}
m["bbs"] = {
"Bakpinka",
3515061,
"nic-ucr",
"Latn",
}
m["bbt"] = {
"Mburku",
3441324,
"cdc-wst",
"Latn",
}
m["bbu"] = {
"Bakulung",
35580,
"nic-jrn",
"Latn",
}
m["bbv"] = {
"Karnai",
6372803,
"poz-ocw",
"Latn",
}
m["bbw"] = {
"Baba",
34822,
"nic-nun",
"Latn",
}
m["bbx"] = { -- cf bvb
"Bubia",
34953,
"nic-bds",
"Latn",
ancestors = "bvb",
}
m["bby"] = {
"Befang",
34960,
"nic-bds",
"Latn",
}
m["bca"] = {
"tiếng Bạch Trung",
12628803,
"sit-bai",
"Hani, Latn",
"Tiếng Bạch Trung",
"Bạch Trung",
sort_key = {Hani = "Hani-sortkey"},
}
m["bcb"] = {
"Bainouk-Samik",
36390,
"alv-bny",
"Latn",
}
m["bcd"] = {
"North Babar",
7054041,
"poz-tim",
"Latn",
}
m["bce"] = {
"Bamenyam",
34968,
"nic-nun",
"Latn",
}
m["bcf"] = {
"Bamu",
3503788,
"paa-kiw",
"Latn",
}
m["bcg"] = {
"Baga Pokur",
31172660,
"alv-nal",
"Latn",
}
m["bch"] = {
"Bariai",
2884502,
"poz-ocw",
"Latn",
}
m["bci"] = {
"tiếng Baoule",
35107,
"alv-ctn",
"Latn",
"Tiếng Baoule",
"Baoule",
}
m["bcj"] = {
"Bardi",
3913852,
"aus-nyu",
"Latn",
}
m["bck"] = {
"Bunaba",
580923,
"aus-bub",
"Latn",
}
m["bcl"] = {
"tiếng Trung Bikol",
33284,
"phi",
"Latn, Tglg",
"Tiếng Trung Bikol",
"Trung Bikol",
translit = {
Tglg = "bcl-translit",
},
override_translit = true,
entry_name = {
Latn = {
remove_diacritics = c.grave .. c.acute .. c.circ,
}
},
sort_key = {
Latn = "tl-sortkey",
},
standardChars = {
Latn = "AaBbKkDdEeGgHhIiLlMmNnOoPpRrSsTtUuWwYy" .. c.punc,
},
}
m["bcm"] = {
"Banoni",
2882857,
"poz-ocw",
"Latn",
}
m["bcn"] = {
"Bibaali",
34892,
"alv-mye",
"Latn",
}
m["bco"] = {
"Kaluli",
6354586,
"ngf",
"Latn",
}
m["bcp"] = {
"Bali",
3515074,
"bnt-kbi",
"Latn",
}
m["bcq"] = {
"tiếng Bench",
35108,
"omv",
"Latn, Ethi",
"Tiếng Bench",
"Bench",
}
m["bcr"] = {
"Babine-Witsuwit'en",
27864,
"ath-nor",
"Latn",
}
m["bcs"] = {
"Kohumono",
35590,
"nic-ucn",
"Latn",
}
m["bct"] = {
"Bendi",
8836662,
"csu-mle",
"Latn",
}
m["bcu"] = {
"Biliau",
2874658,
"poz-ocw",
"Latn",
}
m["bcv"] = {
"Shoo-Minda-Nye",
36548,
"nic-jkn",
"Latn",
}
m["bcw"] = {
"tiếng Bana",
56272,
"cdc-cbm",
"Latn",
"Tiếng Bana",
"Bana",
}
m["bcy"] = {
"tiếng Bacama",
56274,
"cdc-cbm",
"Latn",
"Tiếng Bacama",
"Bacama",
}
m["bcz"] = {
"Bainouk-Gunyaamolo",
35506,
"alv-bny",
"Latn",
}
m["bda"] = {
"Bayot",
35019,
"alv-jol",
"Latn",
}
m["bdb"] = {
"Basap",
3504208,
"poz-bnn",
"Latn",
}
m["bdc"] = {
"Emberá-Baudó",
11173166,
"sai-chc",
"Latn",
}
m["bdd"] = {
"Bunama",
4997416,
"poz-ocw",
"Latn",
}
m["bde"] = {
"tiếng Bade",
56239,
"cdc-wst",
"Latn",
"Tiếng Bade",
"Bade",
}
m["bdf"] = {
"Biage",
48037487,
"ngf",
"Latn",
}
m["bdg"] = {
"Bonggi",
2910053,
"poz-bnn",
"Latn",
}
m["bdh"] = {
"tiếng Tara Baka",
2880165,
"csu-bbk",
"Latn",
"Tiếng Tara Baka",
"Tara Baka",
}
m["bdi"] = {
"Burun",
35040,
"sdv-niw",
"Latn",
}
m["bdj"] = {
"Bai",
34894,
"nic-ser",
"Latn",
}
m["bdk"] = {
"tiếng Budukh",
35397,
"cau-ssm",
"Cyrl",
"Tiếng Budukh",
"Budukh",
translit = "cau-nec-translit",
override_translit = true,
display_text = {Cyrl = s["cau-Cyrl-displaytext"]},
entry_name = {Cyrl = s["cau-Cyrl-entryname"]},
}
m["bdl"] = {
"Indonesian Bajau",
2880038,
"poz",
"Latn",
}
m["bdm"] = {
"Buduma",
56287,
"cdc-cbm",
"Latn",
}
m["bdn"] = {
"Baldemu",
56280,
"cdc-cbm",
"Latn",
}
m["bdo"] = {
"Morom",
759770,
"csu-bgr",
"Latn",
}
m["bdp"] = {
"Bende",
8836490,
"bnt",
"Latn",
}
m["bdq"] = {
"tiếng Ba Na",
32924,
"mkh-ban",
"Latn",
"Tiếng Ba Na",
"Ba Na",
}
m["bdr"] = {
"tiếng Tây Duyên hải Bajau",
2880037,
"poz-sbj",
"Latn",
"Tiếng Tây Duyên hải Bajau",
"Tây Duyên hải Bajau",
}
m["bds"] = {
"tiếng Burunge",
56617,
"cus-sou",
"Latn",
"Tiếng Burunge",
"Burunge",
}
m["bdt"] = {
"Bokoto",
4938812,
"alv-gbw",
"Latn",
}
m["bdu"] = {
"Oroko",
36278,
"bnt-saw",
"Latn",
}
m["bdv"] = {
"tiếng Bodo Parja",
8845881,
"inc-eas",
"Orya",
"Tiếng Bodo Parja",
"Bodo Parja",
translit = "or-translit",
}
m["bdw"] = {
"Baham",
3513309,
"paa",
"Latn",
}
m["bdx"] = {
"Budong-Budong",
4985158,
"poz-ssw",
"Latn",
}
m["bdy"] = {
"tiếng Bandjalang",
2980386,
"aus-pam",
"Latn",
"Tiếng Bandjalang",
"Bandjalang",
}
m["bdz"] = {
"Badeshi",
33028,
"inc-wes",
ancestors = "noe",
}
m["bea"] = {
"tiếng Beaver",
20826,
"ath-nor",
"Latn, Cans",
"Tiếng Beaver",
"Beaver",
}
m["beb"] = {
"Bebele",
34976,
"bnt-btb",
"Latn",
}
m["bec"] = {
"Iceve-Maci",
35449,
"nic-tvc",
"Latn",
}
m["bed"] = {
"Bedoanas",
4879330,
"poz-hce",
"Latn",
}
m["bee"] = {
"Byangsi",
56904,
"sit-alm",
"Deva",
}
m["bef"] = {
"Benabena",
2895638,
"paa-kag",
"Latn",
}
m["beg"] = {
"Belait",
2894198,
"poz-swa",
"Latn",
}
m["beh"] = {
"Biali",
34961,
"nic-eov",
"Latn",
}
m["bei"] = {
"Bekati'",
3441683,
"day",
"Latn",
}
m["bej"] = {
"tiếng Beja",
33025,
"cus",
"Arab, Latn",
"Tiếng Beja",
"Beja",
}
m["bek"] = {
"Bebeli",
4878430,
"poz-ocw",
"Latn",
}
m["bem"] = {
"tiếng Bemba",
33052,
"bnt-sbi",
"Latn",
"Tiếng Bemba",
"Bemba",
}
m["beo"] = {
"Beami",
3504079,
"paa",
"Latn",
}
m["bep"] = {
"Besoa",
8840465,
"poz-kal",
"Latn",
}
m["beq"] = {
"Beembe",
3196320,
"bnt-kng",
"Latn",
}
m["bes"] = {
"Besme",
289832,
"alv-kim",
"Latn",
}
m["bet"] = {
"Guiberoua Bété",
11019185,
"kro-bet",
"Latn",
}
m["beu"] = {
"tiếng Blagar",
4923846,
"ngf",
"Latn",
"Tiếng Blagar",
"Blagar",
}
m["bev"] = {
"Daloa Bété",
11155819,
"kro-bet",
"Latn",
}
m["bew"] = {
"tiếng Betawi",
33014,
"crp",
"Latn",
"Tiếng Betawi",
"Betawi",
ancestors = "ms",
}
m["bex"] = {
"Jur Modo",
56682,
"csu-bbk",
"Latn",
}
m["bey"] = {
"Akuwagel",
3504170,
"qfa-tor",
"Latn",
}
m["bez"] = {
"Kibena",
2502949,
"bnt-bki",
"Latn",
}
m["bfa"] = {
"tiếng Bari",
35042,
"sdv-bri",
"Latn",
"Tiếng Bari",
"Bari",
}
m["bfb"] = {
"Pauri Bareli",
7155462,
"inc-bhi",
"Deva",
}
m["bfc"] = {
"Panyi Bai",
12642165,
"sit-nba",
"Hani, Latn",
sort_key = {Hani = "Hani-sortkey"},
}
m["bfd"] = {
"Bafut",
34888,
"nic-nge",
"Latn",
}
m["bfe"] = {
"Betaf",
4897329,
"paa-tkw",
"Latn",
}
m["bff"] = {
"Bofi",
34914,
"alv-gbf",
"Latn",
}
m["bfg"] = {
"Busang Kayan",
9231909,
"poz",
"Latn",
}
m["bfh"] = {
"Blafe",
12628007,
"paa",
"Latn",
}
m["bfi"] = {
"British Sign Language",
33000,
"sgn",
"Latn", -- when documented
}
m["bfj"] = {
"Bafanji",
34890,
"nic-nun",
"Latn",
}
m["bfk"] = {
"Ban Khor Sign Language",
3441103,
"sgn",
}
m["bfl"] = {
"Banda-Ndélé",
34850,
"bad-cnt",
"Latn",
}
m["bfm"] = {
"Mmen",
36132,
"nic-rnc",
"Latn",
}
m["bfn"] = {
"Bunak",
35101,
"ngf",
"Latn",
}
m["bfo"] = {
"Malba Birifor",
11150710,
"nic-mre",
"Latn",
}
m["bfp"] = {
"Beba",
35050,
"nic-nge",
"Latn",
}
m["bfq"] = {
"tiếng Badaga",
33205,
"dra-kan",
"Knda, Mlym",
"Tiếng Badaga",
"Badaga",
translit = {
Knda = "kn-translit",
Mlym = "ml-translit",
},
}
m["bfr"] = {
"Bazigar",
8829558,
"inc",
}
m["bfs"] = {
"tiếng Bạch Nam",
12952250,
"sit-bai",
"Hani, Latn",
"Tiếng Bạch Nam",
"Bạch Nam",
sort_key = {Hani = "Hani-sortkey"},
}
m["bft"] = {
"tiếng Balti",
33086,
"sit-lab",
"fa-Arab, Deva, Tibt",
"Tiếng Balti",
"Balti",
translit = {
Tibt = "Tibt-translit",
},
override_translit = true,
display_text = {Tibt = s["Tibt-displaytext"]},
entry_name = {Tibt = s["Tibt-entryname"]},
sort_key = {Tibt = "Tibt-sortkey"},
}
m["bfu"] = {
"tiếng Gahri",
5516952,
"sit-whm",
"Takr, Tibt, Deva",
"Tiếng Gahri",
"Gahri",
translit = {Tibt = "Tibt-translit"},
override_translit = true,
display_text = {Tibt = s["Tibt-displaytext"]},
entry_name = {Tibt = s["Tibt-entryname"]},
sort_key = {Tibt = "Tibt-sortkey"},
}
m["bfw"] = {
"tiếng Bondo",
2567942,
"mun",
"Orya",
"Tiếng Bondo",
"Bondo"
}
m["bfx"] = {
"tiếng Bantayanon",
16837866,
"phi",
"Latn",
"Tiếng Bantayanon",
"Bantayanon",
}
m["bfy"] = {
"Bagheli",
2356364,
"inc-hie",
"Deva",
translit = "hi-translit",
}
m["bfz"] = {
"tiếng Pahari Mahasu",
6733460,
"him",
"Deva, Takr",
"Tiếng Pahari Mahasu",
"Pahari Mahasu",
translit = { Deva = "hi-translit" },
}
m["bga"] = {
"Gwamhi-Wuri",
6707102,
"nic-knn",
"Latn",
}
m["bgb"] = {
"Bobongko",
4935896,
"poz-slb",
"Latn",
}
m["bgc"] = {
"tiếng Haryanvi",
33410,
"inc-hiw",
"Deva",
"Tiếng Haryanvi",
"Haryanvi",
ancestors = "inc-ohi",
translit = "hi-translit",
}
m["bgd"] = {
"Rathwi Bareli",
7295692,
"inc-bhi",
"Deva",
}
m["bge"] = {
"Bauria",
4873579,
"inc-bhi",
"Deva",
}
m["bgf"] = {
"Bangandu",
34938,
"alv-gbs",
"Latn",
}
m["bgg"] = {
"Bugun",
3514220,
"sit-khb",
"Latn",
}
m["bgi"] = {
"Giangan",
4842057,
"phi",
"Latn",
}
m["bgj"] = {
"tiếng Bangolan",
34862,
"nic-nun",
"Latn",
"Tiếng Bangolan",
"Bangolan",
}
m["bgk"] = {
"tiếng Bit",
2904868,
"mkh-pal",
"Latn", -- also Hani?
"Tiếng Bit",
"Bit"
}
m["bgl"] = {
"Bo",
8845514,
"mkh-vie",
}
m["bgo"] = {
"Baga Koga",
35695,
"alv-bag",
"Latn",
}
m["bgq"] = {
"Bagri",
2426319,
"inc-wes",
"Deva",
ancestors = "raj",
}
m["bgr"] = {
"Bawm Chin",
56765,
"tbq-kuk",
"Latn",
}
m["bgs"] = {
"Tagabawa",
7675121,
"mno",
"Latn",
}
m["bgt"] = {
"tiếng Bughotu",
2927723,
"poz-sls",
"Latn",
"Tiếng Bughotu",
"Bughotu",
}
m["bgu"] = {
"Mbongno",
36141,
"nic-mmb",
"Latn",
}
m["bgv"] = {
"Warkay-Bipim",
4915439,
"ngf",
"Latn",
}
m["bgw"] = {
"tiếng Bhatri",
8841054,
"inc-eas",
"Deva, Orya",
"Tiếng Bhatri",
"Bhatri",
translit = { Orya = "or-translit" },
}
m["bgx"] = {
"tiếng Thổ Nhĩ Kỳ Gagauz Balkan",
2360396,
"trk-ogz",
"Latn",
"Tiếng Thổ Nhĩ Kỳ Gagauz Balkan",
"Thổ Nhĩ Kỳ Gagauz Balkan",
ancestors = "trk-oat",
}
m["bgy"] = {
"Benggoi",
4887742,
"poz-cma",
"Latn",
}
m["bgz"] = {
"tiếng Banggai",
3441692,
"poz-slb",
"Latn",
"Tiếng Banggai",
"Banggai",
}
m["bha"] = {
"Bharia",
4901287,
"inc",
"Deva",
}
m["bhb"] = {
"tiếng Bhil",
33229,
"inc-bhi",
"Deva",
"Tiếng Bhil",
"Bhil",
}
m["bhc"] = {
"Biga",
2902375,
"poz-hce",
"Latn",
}
m["bhd"] = {
"tiếng Bhadrawah",
4900565,
"him",
"Arab, Deva, Takr",
"Tiếng Bhadrawah",
"Bhadrawah",
translit = {Deva = "hi-translit"},
}
m["bhe"] = {
"Bhaya",
8841168,
"inc-wes",
ancestors = "raj",
}
m["bhf"] = {
"Odiai",
56690,
"paa-kwm",
"Latn",
}
m["bhg"] = {
"Binandere",
3503802,
"ngf",
"Latn",
}
m["bhh"] = {
"tiếng Bukhara",
56469,
"ira-swi",
"Cyrl, Hebr, Latn, fa-Arab",
"Tiếng Bukhara",
"Bukhara",
ancestors = "tg",
}
m["bhi"] = {
"Bhilali",
4901729,
"inc-bhi",
"Deva",
}
m["bhj"] = {
"tiếng Bahing",
56442,
"sit-kiw",
"Deva, Latn",
"Tiếng Bahing",
"Bahing",
}
m["bhl"] = {
"Bimin",
4913743,
"ngf-okk",
"Latn",
}
m["bhm"] = {
"Bathari",
2586893,
"sem-sar",
"Arab, Latn",
}
m["bhn"] = {
"tiếng Tân Aram Bohtan",
33230,
"sem-nna",
"Syrc",
"Tiếng Tân Aram Bohtan",
"Tân Aram Bohtan",
}
m["bho"] = {
"tiếng Bhojpur",
33268,
"inc-eas",
"Deva, Kthi",
"Tiếng Bhojpur",
"Bhojpur",
ancestors = "bh",
translit = {
Deva = "bho-translit",
Kthi = "bho-Kthi-translit",
},
}
m["bhp"] = {
"tiếng Bima",
2796873,
"poz-cet",
"Latn",
"Tiếng Bima",
"Bima",
}
m["bhq"] = {
"tiếng Tukang Besi Nam",
12643975,
"poz-mun",
"Latn",
"Tiếng Tukang Besi Nam",
"Tukang Besi Nam"
}
m["bhs"] = {
"Buwal",
3515065,
"cdc-cbm",
"Latn",
}
m["bht"] = {
"tiếng Bhattiyat",
4901452,
"him",
"Deva, Takr",
"Tiếng Bhattiyat",
"Bhattiyat",
}
m["bhu"] = {
"tiếng Bhunjia",
8841766,
"inc-eas",
"Deva, Orya",
"Tiếng Bhunjia",
"Bhunjia",
}
m["bhv"] = {
"Bahau",
3502039,
"poz",
"Latn",
}
m["bhw"] = {
"Biak",
1961488,
"poz-hce",
"Latn",
}
m["bhx"] = { -- spurious?
"Bhalay",
8840773,
"inc",
}
m["bhy"] = {
"Bhele",
4901671,
"bnt-kbi",
"Latn",
}
m["bhz"] = {
"Bada",
4840520,
"poz-kal",
"Latn",
}
m["bia"] = {
"Badimaya",
3442745,
"aus-psw",
"Latn",
}
m["bib"] = {
"tiếng Bissa",
32934,
"dmn-bbu",
"Latn",
"Tiếng Bissa",
"Bissa",
}
m["bic"] = {
"Bikaru",
56342,
"paa-eng",
"Latn",
}
m["bid"] = {
"Bidiyo",
56258,
"cdc-est",
"Latn",
}
m["bie"] = {
"Bepour",
4890914,
"ngf-mad",
"Latn",
}
m["bif"] = {
"Biafada",
35099,
"alv-ten",
"Latn",
}
m["big"] = {
"Biangai",
8842027,
"paa",
"Latn",
}
m["bij"] = {
"Kwanka",
35598,
"nic-tar",
"Latn",
}
m["bil"] = {
"Bile",
34987,
"nic-jrn",
"Latn",
}
m["bim"] = {
"Bimoba",
34971,
"nic-grm",
"Latn",
}
m["bin"] = {
"tiếng Edo",
35375,
"alv-eeo",
"Latn",
"Tiếng Edo",
"Edo",
entry_name = {remove_diacritics = c.acute .. c.grave .. c.macron .. c.dgrave},
sort_key = {
from = {"ẹ", "gb", "gh", "kh", "kp", "mw", "nw", "ny", "ọ", "rh", "rr", "vb"},
to = {"e" .. p[1], "g" .. p[1], "g" .. p[2], "k" .. p[1], "k" .. p[2], "m" .. p[1], "n" .. p[1], "n" .. p[2], "o" .. p[1], "r" .. p[1], "r" .. p[1], "v" .. p[1]}
},
}
m["bio"] = {
"Nai",
3508074,
"paa-kwm",
"Latn",
}
m["bip"] = {
"Bila",
2902626,
"bnt-kbi",
"Latn",
}
m["biq"] = {
"Bipi",
2904312,
"poz-aay",
"Latn",
}
m["bir"] = {
"Bisorio",
8844749,
"paa-eng",
"Latn",
}
m["bit"] = {
"Berinomo",
56447,
"paa-spk",
"Latn",
}
m["biu"] = {
"Biete",
4904687,
"tbq-kuk",
"Latn",
}
m["biv"] = {
"Southern Birifor",
32859745,
"nic-mre",
"Latn",
}
m["biw"] = {
"Kol (Cameroon)",
35582,
"bnt-mka",
"Latn",
}
m["bix"] = {
"tiếng Birjia",
3450686,
"mun",
"Deva",
"Tiếng Birjia",
"Birjia",
translit = { Deva = "hi-translit" },
}
m["biy"] = {
"tiếng Birhor",
3450469,
"mun",
"Deva",
"Tiếng Birhor",
"Birhor",
translit = { Deva = "hi-translit" },
}
m["biz"] = {
"Baloi",
3450590,
"bnt-ngn",
"Latn",
}
m["bja"] = {
"Budza",
3046889,
"bnt-bun",
"Latn",
}
m["bjb"] = {
"Barngarla",
3439071,
"aus-pam",
"Latn",
}
m["bjc"] = {
"Bariji",
4690919,
"ngf",
"Latn",
}
m["bje"] = {
"Biao-Jiao Mien",
3503800,
"hmx-mie",
"Hani, Latn",
sort_key = {Hani = "Hani-sortkey"},
}
m["bjf"] = {
"tiếng Tân Aram Do Thái Barzani",
33234,
"sem-nna",
"Hebr", -- maybe others
"Tiếng Tân Aram Do Thái Barzani",
"Tân Aram Do Thái Barzani",
}
m["bjg"] = {
"Bidyogo",
35365,
"alv-bak",
"Latn",
}
m["bjh"] = {
"Bahinemo",
56361,
"paa-spk",
"Latn",
}
m["bji"] = {
"tiếng Burji",
34999,
"cus-hec",
"Latn, Ethi",
"Tiếng Burji",
"Burji",
}
m["bjj"] = {
"tiếng Kannauj",
2726867,
"inc-hiw",
"Deva",
"Tiếng Kannauj",
"Kannauj",
ancestors = "inc-ohi",
}
m["bjk"] = {
"Barok",
2884743,
"poz-ocw",
"Latn",
}
m["bjl"] = {
"Bulu (New Guinea)",
4997162,
"poz-ocw",
"Latn",
}
m["bjm"] = {
"Bajelani",
4848866,
"ira-zgr",
"Latn, Arab",
ancestors = "hac",
}
m["bjn"] = {
"tiếng Banjar",
33151,
"poz-mly",
"Latn, Arab",
"Tiếng Banjar",
"Banjar",
}
m["bjo"] = {
"Mid-Southern Banda",
42303990,
"bad-cnt",
"Latn",
}
m["bjp"] = {
"Fanamaket",
nil,
"poz-oce",
"Latn",
}
m["bjr"] = {
"Binumarien",
538364,
"paa-kag",
"Latn",
}
m["bjs"] = {
"Bajan",
2524014,
"crp",
"Latn",
ancestors = "en",
}
m["bjt"] = {
"tiếng Balanta-Ganja",
19359034,
"alv-bak",
"Arab, Latn",
"Tiếng Balanta-Ganja",
"Balanta-Ganja",
}
m["bju"] = {
"Busuu",
35046,
"nic-fru",
"Latn",
}
m["bjv"] = {
"tiếng Bedjond",
8829831,
"csu-sar",
"Latn",
"Tiếng Bedjond",
"Bedjond",
}
m["bjw"] = {
"Bakwé",
34899,
"kro-ekr",
"Latn",
}
m["bjx"] = {
"Banao Itneg",
12627559,
"phi",
"Latn",
}
m["bjy"] = {
"Bayali",
4874263,
"aus-pam",
"Latn",
}
m["bjz"] = {
"Baruga",
2886189,
"ngf",
"Latn",
}
m["bka"] = {
"Kyak",
35653,
"alv-bwj",
"Latn",
}
m["bkc"] = {
"Baka",
34905,
"nic-nkb",
"Latn",
}
m["bkd"] = {
"tiếng Binukid",
4914553,
"mno",
"Latn",
"Tiếng Binukid",
"Binukid",
}
m["bkf"] = {
"Beeke",
3441375,
"bnt-kbi",
"Latn",
}
m["bkg"] = {
"Buraka",
35066,
"nic-nkg",
"Latn",
}
m["bkh"] = {
"Bakoko",
34866,
"bnt-bsa",
"Latn",
}
m["bki"] = {
"tiếng Baki",
11024697,
"poz-vnc",
"Latn",
"Tiếng Baki",
"Baki",
}
m["bkj"] = {
"Pande",
36263,
"bnt-ngn",
"Latn",
}
m["bkk"] = { -- written in Balti script
"Brokskat",
2925988,
"inc-shn",
}
m["bkl"] = {
"tiếng Berik",
378743,
"paa-tkw",
"Latn",
"Tiếng Berik",
"Berik",
}
m["bkm"] = {
"tiếng Itaŋikom",
1656595,
"nic-rnc",
"Latn",
"Tiếng Itaŋikom",
"Itaŋikom",
}
m["bkn"] = {
"Bukitan",
3446774,
"poz-bnn",
"Latn",
}
m["bko"] = {
"Kwa'",
35567,
"bai",
"Latn",
}
m["bkp"] = {
"Iboko",
35089,
"bnt-ngn",
"Latn",
}
m["bkq"] = {
"Bakairí",
56846,
"sai-pek",
"Latn",
}
m["bkr"] = {
"Bakumpai",
3436626,
"poz-brw",
"Latn",
}
m["bks"] = {
"Masbate Sorsogon",
16113356,
"phi",
"Latn",
}
m["bkt"] = {
"tiếng Boloki",
4144560,
"bnt-zbi",
"Latn",
ancestors = "lse",
}
m["bku"] = {
"tiếng Buhid",
1002956,
"phi",
"Latn, Buhd",
"Tiếng Buhid",
"Buhid",
translit = {
Buhd = "bku-translit",
},
override_translit = true,
entry_name = {
Latn = {
remove_diacritics = c.grave .. c.acute .. c.circ,
}
},
sort_key = {
Latn = "tl-sortkey",
},
standardChars = {
Latn = "AaBbKkDdEeFfGgHhIiLlMmNnOoPpRrSsTtUuWwYy" .. c.punc,
},
}
m["bkv"] = {
"Bekwarra",
34954,
"nic-ben",
"Latn",
}
m["bkw"] = {
"Bekwel",
34950,
"bnt-bek",
"Latn",
}
m["bkx"] = {
"Baikeno",
11200640,
"poz-tim",
"Latn",
}
m["bky"] = {
"Bokyi",
35087,
"nic-ben",
"Latn",
}
m["bkz"] = {
"tiếng Bungku",
2928207,
"poz-btk",
"Latn",
"Tiếng Bungku",
"Bungku"
}
m["bla"] = {
"tiếng Blackfoot",
33060,
"alg",
"Latn, Cans",
"Tiếng Blackfoot",
"Blackfoot",
}
m["blb"] = {
"tiếng Bilua",
35003,
"ngf",
"Latn",
"Tiếng Bilua",
"Bilua",
}
m["blc"] = {
"tiếng Bella Coola",
977808,
"sal",
"Latn",
"Tiếng Bella Coola",
"Bella Coola",
}
m["bld"] = {
"Bolango",
3450578,
"phi",
"Latn",
}
m["ble"] = {
"tiếng Balanta-Kentohe",
56789,
"alv-bak",
"Latn",
"Tiếng Balanta-Kentohe",
"Balanta-Kentohe",
}
m["blf"] = {
"Buol",
2928278,
"phi",
"Latn",
}
m["blg"] = {
"Balau",
4850134,
"poz-mly",
"Latn",
}
m["blh"] = {
"Kuwaa",
35579,
"kro",
"Latn",
}
m["bli"] = {
"Bolia",
34910,
"bnt-mon",
"Latn",
}
m["blj"] = {
"Bolongan",
9229310,
"poz",
"Latn",
}
m["blk"] = {
"tiếng Pa'O",
7121294,
"kar",
"Mymr",
"Tiếng Pa'O",
"Pa'O",
}
m["bll"] = {
"Biloxi",
2903780,
"sio-ohv",
"Latn",
}
m["blm"] = {
"tiếng Beli",
56821,
"csu-bbk",
"Latn",
"Tiếng Beli",
"Beli",
}
m["bln"] = {
"Southern Catanduanes Bicolano",
7569754,
"phi",
"Latn",
}
m["blo"] = {
"tiếng Anii",
34838,
"alv-ntg",
"Latn",
"Tiếng Anii",
"Anii",
}
m["blp"] = {
"Blablanga",
2905245,
"poz-ocw",
"Latn",
}
m["blq"] = {
"Baluan-Pam",
2881675,
"poz-aay",
"Latn",
}
m["blr"] = {
"tiếng Blang",
4925096,
"mkh-pal",
"Latn, Tale, Lana, Thai",
"Tiếng Blang",
"Blang",
sort_key = { -- FIXME: This needs to be converted into the current standardized format.
from = {"[%pᪧๆ]", "[᩠ᩳ-᩿]", "ᩔ", "ᩕ", "ᩖ", "ᩘ", "([ᨭ-ᨱ])ᩛ", "([ᨷ-ᨾ])ᩛ", "ᩤ", "[็-๎]", "([เแโใไ])([ก-ฮ])"},
to = {"", "", "ᩈᩈ", "ᩁ", "ᩃ", "ᨦ", "%1ᨮ", "%1ᨻ", "ᩣ", "", "%2%1"}
},
}
m["bls"] = {
"Balaesang",
4849796,
"poz",
"Latn",
}
m["blt"] = {
"tiếng Thái Đen",
56407,
"tai-swe",
"Tavt, Latn",
"Tiếng Thái Đen",
"Thái Đen",
--translit = "Tavt-translit",
sort_key = {
Tavt = {
from = {"[꪿ꫀ꫁ꫂ]", "([ꪵꪶꪹꪻꪼ])([ꪀ-ꪯ])"},
to = {"", "%2%1"}
},
},
}
m["blv"] = {
"Kibala",
4939959,
"bnt-kmb",
"Latn",
}
m["blw"] = {
"Balangao",
4850033,
"phi",
"Latn",
}
m["blx"] = {
"Mag-Indi Ayta",
1931221,
"phi",
"Latn",
}
m["bly"] = {
"Notre",
11009194,
"nic-wov",
"Latn",
}
m["blz"] = {
"tiếng Balantak",
4850053,
"poz-slb",
"Latn",
"Tiếng Balantak",
"Balantak",
}
m["bma"] = {
"Lame",
3913997,
"nic-jrn",
"Latn",
}
m["bmb"] = {
"Bembe",
4885023,
"bnt-lgb",
"Latn",
}
m["bmc"] = {
"Biem",
4904523,
"poz-ocw",
"Latn",
}
m["bmd"] = {
"Baga Manduri",
35815,
"alv-bag",
"Latn",
}
m["bme"] = {
"Limassa",
11004666,
"nic-nkb",
"Latn",
}
m["bmf"] = {
"Bom",
35088,
"alv-mel",
"Latn",
}
m["bmg"] = {
"Bamwe",
34867,
"bnt-bun",
"Latn",
}
m["bmh"] = {
"Kein",
6383764,
"ngf-mad",
"Latn",
}
m["bmi"] = {
"Bagirmi",
34903,
"csu-bgr",
"Latn",
}
m["bmj"] = {
"Bote-Majhi",
9229570,
"inc-eas",
"Deva",
ancestors = "bh",
}
m["bmk"] = {
"Ghayavi",
5555976,
"poz-ocw",
"Latn",
}
m["bml"] = {
"Bomboli",
35055,
"bnt-ngn",
"Latn",
}
m["bmn"] = {
"Bina",
8843664,
"poz-ocw",
"Latn",
}
m["bmo"] = {
"Bambalang",
34868,
"nic-nun",
"Latn",
}
m["bmp"] = {
"Bulgebi",
4996380,
"ngf-fin",
"Latn",
}
m["bmq"] = {
"tiếng Bomu",
35065,
"nic-bwa",
"Latn",
"Tiếng Bomu",
"Bomu",
}
m["bmr"] = {
"Muinane",
3027894,
"sai-bor",
"Latn",
}
m["bmt"] = {
"Biao Mon",
8842159,
"hmx-mie",
}
m["bmu"] = {
"Somba-Siawari",
5000983,
"ngf",
"Latn",
}
m["bmv"] = {
"Bum",
35058,
"nic-rnc",
"Latn",
}
m["bmw"] = {
"Bomwali",
34984,
"bnt-ndb",
"Latn",
}
m["bmx"] = {
"Baimak",
3450546,
"ngf-mad",
"Latn",
}
m["bmz"] = {
"Baramu",
4858315,
"ngf",
"Latn",
}
m["bna"] = {
"Bonerate",
4941729,
"poz-mun",
"Latn",
}
m["bnb"] = {
"Bookan",
4943150,
"poz-san",
"Latn",
}
m["bnd"] = {
"Banda",
3504147,
"poz-cma",
"Latn",
}
m["bne"] = {
"Bintauna",
4914533,
"phi",
"Latn",
}
m["bnf"] = {
"Masiwang",
6783305,
"poz-cma",
"Latn",
}
m["bng"] = {
"Benga",
34952,
"bnt-saw",
"Latn",
}
m["bni"] = {
"tiếng Bangi",
34936,
"bnt-bmo",
"Latn",
"Tiếng Bangi",
"Bangi",
}
m["bnj"] = {
"Eastern Tawbuid",
18757427,
"phi",
"Latn",
}
m["bnk"] = {
"Bierebo",
2902029,
"poz-vnc",
"Latn",
}
m["bnl"] = {
"tiếng Boon",
56616,
"cus-eas",
"Latn",
"Tiếng Boon",
"Boon",
}
m["bnm"] = {
"Batanga",
34979,
"bnt-saw",
"Latn",
}
m["bnn"] = {
"tiếng Bunun",
56505,
"map",
"Latn",
"Tiếng Bunun",
"Bunun",
}
m["bno"] = {
"tiếng Asi",
29490,
"phi",
"Latn",
"Tiếng Asi",
"Asi",
}
m["bnp"] = {
"tiếng Bola",
4938876,
"poz-ocw",
"Latn",
"Tiếng Bola",
"Bola",
}
m["bnq"] = {
"Bantik",
2883521,
"poz",
"Latn",
}
m["bnr"] = {
"Butmas-Tur",
2928942,
"poz-vnc",
"Latn",
}
m["bns"] = {
"Bundeli",
56399,
"inc-hiw",
"Deva",
ancestors = "inc-ohi",
translit = "hi-translit",
}
m["bnu"] = {
"Bentong",
4890644,
"poz-ssw",
"Latn",
}
m["bnv"] = {
"Beneraf",
4941733,
"paa-tkw",
"Latn",
}
m["bnw"] = {
"Bisis",
56356,
"paa-spk",
"Latn",
}
m["bnx"] = {
"Bangubangu",
3438330,
"bnt-lbn",
"Latn",
}
m["bny"] = {
"Bintulu",
3450775,
"poz-swa",
"Latn",
}
m["bnz"] = {
"Beezen",
35083,
"nic-ykb",
"Latn",
}
m["boa"] = {
"tiếng Bora",
2375468,
"sai-bor",
"Latn",
"Tiếng Bora",
"Bora",
}
m["bob"] = {
"tiếng Aweer",
56526,
"cus-som",
"Latn",
"Tiếng Aweer",
"Aweer",
}
m["boe"] = {
"tiếng Mundabli",
36127,
"nic-beb",
"Latn",
"Tiếng Mundabli",
"Mundabli",
}
m["bof"] = {
"Bolon",
3913301,
"dmn-emn",
"Latn",
}
m["bog"] = {
"Bamako Sign Language",
4853284,
"sgn",
}
m["boh"] = {
"North Boma",
35080,
"bnt-bdz",
"Latn",
}
m["boi"] = {
"Barbareño",
56391,
"nai-chu",
"Latn",
}
m["boj"] = {
"Anjam",
3504136,
"ngf-mad",
"Latn",
}
m["bok"] = {
"Bonjo",
34942,
"alv",
"Latn",
}
m["bol"] = {
"Bole",
3436680,
"cdc-wst",
"Latn",
}
m["bom"] = {
"Berom",
35013,
"nic-beo",
"Latn",
}
m["bon"] = {
"Bine",
4914077,
"paa",
"Latn",
}
m["boo"] = {
"Tiemacèwè Bozo",
12643582,
"dmn-snb",
"Latn", -- and others?
}
m["bop"] = {
"Bonkiman",
4942134,
"ngf-fin",
"Latn",
}
m["boq"] = {
"Bogaya",
7207578,
"ngf",
"Latn",
}
m["bor"] = {
"tiếng Borôro",
32986,
"sai-mje",
"Latn",
"Tiếng Borôro",
"Borôro",
}
m["bot"] = {
"Bongo",
2910067,
"csu-bbk",
"Latn",
}
m["bou"] = {
"Bondei",
4941378,
"bnt-seu",
"Latn",
}
m["bov"] = {
"tiếng Tuwuli",
36974,
"alv-ktg",
"Latn",
"Tiếng Tuwuli",
"Tuwuli",
}
m["bow"] = {
"Rema",
7311502,
"paa",
"Latn",
}
m["box"] = {
"Buamu",
35157,
"nic-bwa",
"Latn",
}
m["boy"] = {
"Bodo (Central Africa)",
4936715,
"bnt-leb",
"Latn",
}
m["boz"] = {
"Tiéyaxo Bozo",
32860401,
"dmn-snb",
"Latn",
}
m["bpa"] = {
"Dakaka",
1157729,
"poz-vnc",
"Latn",
}
m["bpd"] = {
"Banda-Banda",
3450674,
"bad-cnt",
"Latn",
}
m["bpg"] = {
"Bonggo",
4941860,
"poz-ocw",
"Latn",
}
m["bph"] = {
"tiếng Botlikh",
56560,
"cau-and",
"Cyrl",
"Tiếng Botlikh",
"Botlikh",
translit = "cau-nec-translit",
override_translit = true,
display_text = {Cyrl = s["cau-Cyrl-displaytext"]},
entry_name = {Cyrl = s["cau-Cyrl-entryname"]},
}
m["bpi"] = {
"Bagupi",
3450697,
"ngf-mad",
"Latn",
}
m["bpj"] = {
"Binji",
4914403,
"bnt-lbn",
"Latn",
}
m["bpk"] = {
"Orowe",
7103905,
"poz-cln",
"Latn",
}
m["bpl"] = {
"Broome Pearling Lugger Pidgin",
4975277,
"crp",
"Latn",
ancestors = "ms",
}
m["bpm"] = {
"Biyom",
4919327,
"ngf-mad",
"Latn",
}
m["bpn"] = {
"Dzao Min",
3042189,
"hmx-mie",
}
m["bpo"] = {
"Anasi",
11207813,
"paa-egb",
"Latn",
}
m["bpp"] = {
"Kaure",
20526532,
"paa",
"Latn",
}
m["bpq"] = {
"Banda Malay",
12473442,
"crp",
"Latn",
ancestors = "ms",
}
m["bpr"] = {
"Koronadal Blaan",
16115430,
"phi",
"Latn",
}
m["bps"] = {
"Sarangani Blaan",
16117272,
"phi",
"Latn",
}
m["bpt"] = {
"Barrow Point",
2567916,
"aus-pmn",
"Latn",
}
m["bpu"] = {
"Bongu",
4941930,
"ngf-mad",
"Latn",
}
m["bpv"] = {
"Bian Marind",
8841889,
"ngf",
"Latn",
}
m["bpx"] = {
"Palya Bareli",
7128872,
"inc-bhi",
"Deva",
translit = "hi-translit",
}
m["bpy"] = {
"tiếng Bishnupriya",
37059,
"inc-eas",
"Beng",
"Tiếng Bishnupriya",
"Bishnupriya",
ancestors = "inc-obn",
}
m["bpz"] = {
"Bilba",
8843362,
"poz-tim",
"Latn",
}
m["bqa"] = {
"Tchumbuli",
11008162,
"alv-ctn",
"Latn",
ancestors = "ak",
}
m["bqb"] = {
"Bagusa",
4842178,
"paa-tkw",
"Latn",
}
m["bqc"] = {
"tiếng Boko",
34983,
"dmn-bbu",
"Latn",
"Tiếng Boko",
"Boko",
}
m["bqd"] = {
"Bung",
3436612,
"nic-bdn",
"Latn",
}
m["bqf"] = {
"Baga Kaloum",
3502293,
"alv-bag",
"Latn",
}
m["bqg"] = {
"Bago-Kusuntu",
34878,
"nic-gne",
}
m["bqh"] = {
"Baima",
674990,
"sit-qia",
}
m["bqi"] = {
"tiếng Bakhtiari",
257829,
"ira-swi",
"fa-Arab",
"Tiếng Bakhtiari",
"Bakhtiari",
ancestors = "pal",
}
m["bqj"] = {
"Bandial",
34872,
"alv-jol",
"Latn",
}
m["bqk"] = {
"Banda-Mbrès",
3450724,
"bad-cnt",
"Latn",
}
m["bql"] = {
"Bilakura",
4907504,
"ngf-mad",
"Latn",
}
m["bqm"] = {
"Wumboko",
37051,
"bnt-kpw",
"Latn",
}
m["bqn"] = {
"Bulgarian Sign Language",
3438325,
"sgn",
}
m["bqo"] = {
"Balo",
34865,
"nic-grs",
"Latn",
}
m["bqp"] = {
"tiếng Busa",
35185,
"dmn-bbu",
"Latn",
"Tiếng Busa",
"Busa",
}
m["bqq"] = {
"Biritai",
56382,
"paa-lkp",
"Latn",
}
m["bqr"] = {
"Burusu",
5001028,
"poz-san",
"Latn",
}
m["bqs"] = {
"Bosngun",
56838,
"paa",
"Latn",
}
m["bqt"] = {
"Bamukumbit",
35078,
"nic-nge",
"Latn",
}
m["bqu"] = {
"Boguru",
3438444,
"bnt-boa",
"Latn",
}
m["bqv"] = {
"Begbere-Ejar",
7194098,
"nic-plc",
"Latn",
}
m["bqw"] = {
"Buru (Nigeria)",
1017152,
"nic-bds",
"Latn",
}
m["bqx"] = {
"Baangi",
3450648,
"nic-kam",
"Latn",
}
m["bqy"] = {
"Bengkala Sign Language",
3322119,
"sgn",
}
m["bqz"] = {
"tiếng Bakaka",
34855,
"bnt-mne",
"Latn",
"Tiếng Bakaka",
"Bakaka",
}
m["bra"] = {
"tiếng Braj",
35243,
"inc-hiw",
"Deva",
"Tiếng Braj",
"Braj",
ancestors = "inc-ohi",
translit = "hi-translit",
}
m["brb"] = {
"tiếng Brâu",
4957737,
"mkh-ban",
"Khmr, Latn",
"Tiếng Brâu",
"Brâu"
}
m["brc"] = {
"tiếng Creole Hà Lan Berbice",
35215,
"crp",
"Latn",
"Tiếng Creole Hà Lan Berbice",
"Creole Hà Lan Berbice",
ancestors = "nl",
}
m["brd"] = {
"Baraamu",
56804,
"sit-new",
"Deva",
}
m["brf"] = {
"Bera",
2896850,
"bnt-kbi",
"Latn",
}
m["brg"] = {
"Baure",
2839722,
"awd",
"Latn",
}
m["brh"] = {
"tiếng Brahui",
33202,
"dra-nor",
"ur-Arab, Latn",
"Tiếng Brahui",
"Brahui",
translit = {["ur-Arab"] = "ur-translit"},
entry_name = {
-- character "ۂ" code U+06C2 to "ه" and "هٔ" (U+0647 + U+0654) to "ه"; hamzatu l-waṣli to a regular alif
from = {"هٔ", "ۂ", "ٱ"},
to = {"ہ", "ہ", "ا"},
remove_diacritics = c.fathatan .. c.dammatan .. c.kasratan .. c.fatha .. c.damma .. c.kasra .. c.shadda .. c.sukun .. c.nunghunna .. c.superalef
},
}
m["bri"] = {
"Mokpwe",
36428,
"bnt-kpw",
"Latn",
}
m["brj"] = {
"Bieria",
4904607,
"poz-vnc",
"Latn",
}
m["brk"] = {
"Birgid",
56823,
"nub",
"Latn",
}
m["brl"] = {
"Birwa",
3501019,
"bnt-sts",
"Latn",
}
m["brm"] = {
"Barambu",
34893,
"znd",
"Latn",
}
m["brn"] = {
"Boruca",
4946773,
"cba",
"Latn",
}
m["bro"] = {
"tiếng Brokkat",
56605,
"sit-tib",
"Tibt, Latn",
"Tiếng Brokkat",
"Brokkat",
translit = {Tibt = "Tibt-translit"},
override_translit = true,
display_text = {Tibt = s["Tibt-displaytext"]},
entry_name = {Tibt = s["Tibt-entryname"]},
sort_key = {Tibt = "Tibt-sortkey"},
}
m["brp"] = {
"Barapasi",
56995,
"paa-egb",
"Latn",
}
m["brq"] = {
"tiếng Breri",
4961835,
"paa",
"Latn",
"Tiếng Breri",
"Breri",
}
m["brr"] = {
"tiếng Birao",
2904383,
"poz-sls",
"Latn",
"Tiếng Birao",
"Birao",
}
m["brs"] = {
"Baras",
8827053,
"poz",
"Latn",
}
m["brt"] = {
"Bitare",
34946,
"nic-tvn",
"Latn",
}
m["bru"] = {
"tiếng Bru",
16115463,
"mkh-kat",
"Latn, Laoo, Thai",
"Tiếng Bru",
"Bru",
sort_key = {
Laoo = "Laoo-sortkey",
Thai = "Thai-sortkey",
},
}
m["brv"] = {
"tiếng Bru Tây",
16113806,
"mkh-kat",
"Latn, Laoo, Thai",
"Tiếng Bru Tây",
"Bru Tây",
sort_key = {
Laoo = "Laoo-sortkey",
Thai = "Thai-sortkey",
},
}
m["brw"] = {
"tiếng Bellara",
4883496,
"dra-tlk",
"Knda, Mlym",
"Tiếng Bellara",
"Bellara",
translit = {
Knda = "kn-translit",
Mlym = "ml-translit",
},
}
m["brx"] = {
"tiếng Bodo (Ấn Độ)",
33223,
"tbq-bdg",
"Deva, Latn, Beng",
"Tiếng Bodo (Ấn Độ)",
"Bodo (Ấn Độ)",
translit = {Deva = "brx-translit"},
}
m["bry"] = {
"Burui",
5000976,
"paa-spk",
"Latn",
}
m["brz"] = {
"Bilbil",
4907473,
"poz-ocw",
"Latn",
}
m["bsa"] = {
"tiếng Abinomn",
56648,
"qfa-iso",
"Latn",
"Tiếng Abinomn",
"Abinomn",
}
m["bsb"] = {
"Brunei Bisaya",
3450611,
"poz-san",
"Latn",
}
m["bsc"] = {
"tiếng Bassari",
35098,
"alv-ten",
"Latn",
"Tiếng Bassari",
"Bassari",
}
m["bse"] = {
"Wushi",
36973,
"nic-rnn",
"Latn",
}
m["bsf"] = {
"Bauchi",
34974,
"nic-shi",
"Latn",
}
m["bsg"] = {
"Bashkardi",
33030,
"ira-swi",
"fa-Arab, Latn",
}
m["bsh"] = {
"Kamkata-viri",
2605045,
"nur-nor",
"Latn, Arab",
}
m["bsi"] = {
"Bassossi",
34940,
"bnt-mne",
"Latn",
}
m["bsj"] = {
"Bangwinji",
3446631,
"alv-wjk",
"Latn",
}
m["bsk"] = {
"tiếng Burushaski",
216286,
"qfa-iso",
"Arab",
"Tiếng Burushaski",
"Burushaski",
}
m["bsl"] = {
"Basa-Gumna",
4866150,
"nic-bas",
"Latn",
}
m["bsm"] = {
"Busami",
5001255,
"poz-hce",
"Latn",
}
m["bsn"] = {
"Barasana",
2883843,
"sai-tuc",
"Latn",
}
m["bso"] = {
"Buso",
3441370,
"cdc-est",
"Latn",
}
m["bsp"] = {
"Baga Sitemu",
36466,
"alv-bag",
"Latn",
}
m["bsq"] = {
"tiếng Bassa",
34949,
"kro-wkr",
"Latn, Bass",
"Tiếng Bassa",
"Bassa",
}
m["bsr"] = {
"Bassa-Kontagora",
4866152,
"nic-bas",
"Latn",
}
m["bss"] = {
"tiếng Akoose",
34806,
"bnt-mne",
"Latn",
"Tiếng Akoose",
"Akoose",
}
m["bst"] = {
"tiếng Basketo",
56531,
"omv-ome",
"Ethi",
"Tiếng Basketo",
"Basketo",
}
m["bsu"] = {
"Bahonsuai",
2879298,
"poz-btk",
"Latn",
}
m["bsv"] = {
"Baga Sobané",
3450433,
"alv-bag",
"Latn",
}
m["bsw"] = {
"tiếng Baiso",
56615,
"cus-som",
"Latn",
"Tiếng Baiso",
"Baiso",
}
m["bsx"] = {
"Yangkam",
36922,
"nic-tar",
"Latn",
}
m["bsy"] = {
"tiếng Bisaya Sabah",
12641557,
"poz-san",
"Latn",
"Tiếng Bisaya Sabah",
"Bisaya Sabah",
}
m["bta"] = {
"Bata",
56254,
"cdc-cbm",
"Latn",
}
m["btc"] = {
"Bati (Cameroon)",
34944,
"nic-mbw",
"Latn",
}
m["btd"] = {
"Dairi Batak",
2891045,
"btk",
"Latn, Batk",
}
m["bte"] = {
"Gamo-Ningi",
5520366,
"nic-jer",
"Latn",
}
m["btf"] = {
"tiếng Birgit",
56302,
"cdc-est",
"Latn",
"Tiếng Birgit",
"Birgit",
}
m["btg"] = {
"Gagnoa Bété",
11005602,
"kro-bet",
"Latn",
}
m["bth"] = {
"tiếng Bidayuh Biatah",
2900881,
"day",
"Latn",
"Tiếng Bidayuh Biatah",
"Bidayuh Biatah",
}
m["bti"] = {
"Burate",
56900,
"paa-egb",
"Latn",
}
m["btj"] = {
"tiếng Mã Lai Bacan",
8828608,
"poz-mly",
"Latn",
"Tiếng Mã Lai Bacan",
"Mã Lai Bacan",
}
m["btm"] = {
"Mandailing Batak",
2891049,
"btk",
"Latn, Batk",
}
m["btn"] = {
"tiếng Ratagnon",
13197,
"phi",
"Latn",
"Tiếng Ratagnon",
"Ratagnon",
}
m["bto"] = {
"Iriga Bicolano",
12633026,
"phi",
"Latn",
}
m["btp"] = {
"Budibud",
4985086,
"poz-ocw",
"Latn",
}
m["btq"] = {
"tiếng Batek",
860315,
"mkh-asl",
"Latn",
"Tiếng Batek",
"Batek"
}
m["btr"] = {
"Baetora",
2878874,
"poz-vnc",
"Latn",
}
m["bts"] = {
"tiếng Batak Simalungun",
2891054,
"btk",
"Latn, Batk",
"Tiếng Batak Simalungun",
"Batak Simalungun",
}
m["btt"] = {
"Bete-Bendi",
4887064,
"nic-ben",
"Latn",
}
m["btu"] = {
"Batu",
34964,
"nic-tvn",
"Latn",
}
m["btv"] = {
"Bateri",
3812564,
"inc-koh",
"Deva",
}
m["btw"] = {
"tiếng Butuanon",
5003156,
"phi",
"Latn",
"Tiếng Butuanon",
"Butuanon",
}
m["btx"] = {
"Karo Batak",
33012,
"btk",
"Latn, Batk",
}
m["bty"] = {
"Bobot",
3446788,
"poz-cma",
"Latn",
}
m["btz"] = {
"Alas-Kluet Batak",
2891042,
"btk",
"Latn, Batk",
}
m["bua"] = {
"tiếng Buryat",
33120,
"xgn-cen",
"Cyrl, Mong, Latn",
"Tiếng Buryat",
"Buryat",
wikimedia_codes = "bxr",
ancestors = "cmg",
translit = {
Cyrl = "bua-translit",
Mong = "Mong-translit",
},
override_translit = true,
display_text = {Mong = s["Mong-displaytext"]},
entry_name = {
Cyrl = {remove_diacritics = c.grave .. c.acute},
Mong = s["Mong-entryname"],
},
sort_key = {
Cyrl = {
from = {"ё", "ө", "ү", "һ"},
to = {"е" .. p[1], "о" .. p[1], "у" .. p[1], "х" .. p[1]}
},
},
}
m["bub"] = {
"Bua",
32928,
"alv-bua",
"Latn",
}
m["buc"] = {
"tiếng Bushi",
32928,
"poz-bre",
"Latn, Arab",
"Tiếng Bushi",
"Bushi"
}
m["bud"] = {
"tiếng Ntcham",
36266,
"nic-grm",
"Latn",
"Tiếng Ntcham",
"Ntcham",
}
m["bue"] = {
"Beothuk",
56234,
nil,
"Latn",
}
m["buf"] = {
"Bushoong",
3449964,
"bnt-bsh",
"Latn",
}
m["bug"] = {
"tiếng Bugis",
33190,
"poz-ssw",
"Bugi, Latn",
"Tiếng Bugis",
"Bugis",
}
m["buh"] = {
"Younuo Bunu",
56299,
"hmn",
"Latn",
}
m["bui"] = {
"Bongili",
35084,
"bnt-ngn",
"Latn",
}
m["buj"] = {
"Basa-Gurmana",
6432515,
"nic-bas",
"Latn",
}
m["buk"] = {
"Bukawa",
35043,
"poz-ocw",
"Latn",
}
m["bum"] = {
"Bulu (Cameroon)",
35028,
"bnt-btb",
"Latn",
}
m["bun"] = {
"Sherbro",
36339,
"alv-mel",
"Latn",
}
m["buo"] = {
"Terei",
56831,
"paa-sbo",
"Latn",
}
m["bup"] = {
"Busoa",
5002001,
"poz",
"Latn",
}
m["buq"] = {
"Brem",
4960502,
"ngf",
"Latn",
}
m["bus"] = {
"tiếng Bokobaru",
9228931,
"dmn-bbu",
"Latn",
"Tiếng Bokobaru",
"Bokobaru",
}
m["but"] = {
"Bungain",
3450623,
"qfa-tor",
"Latn",
}
m["buu"] = {
"Budu",
3450207,
"bnt-nya",
"Latn",
}
m["buv"] = {
"Bun",
56351,
"paa-yua",
"Latn",
}
m["buw"] = {
"Bubi",
35017,
"bnt-tso",
"Latn",
}
m["bux"] = {
"tiếng Boghom",
3440412,
"cdc-wst",
"Latn",
"Tiếng Boghom",
"Boghom",
}
m["buy"] = {
"Mmani",
35061,
"alv-mel",
"Latn",
}
m["bva"] = {
"Barein",
56285,
"cdc-est",
"Latn",
}
m["bvb"] = {
"tiếng Bube",
35110,
"nic-bds",
"Latn",
"Tiếng Bube",
"Bube",
}
m["bvc"] = {
"Baelelea",
2878833,
"poz-sls",
"Latn",
}
m["bvd"] = {
"Baeggu",
2878850,
"poz-sls",
"Latn",
}
m["bve"] = {
"Berau Malay",
3915770,
"poz-mly",
"Latn",
}
m["bvf"] = {
"Boor",
56250,
"cdc-est",
"Latn",
}
m["bvg"] = {
"Bonkeng",
34958,
"bnt-bbo",
"Latn",
}
m["bvh"] = {
"Bure",
56294,
"cdc-wst",
"Latn",
}
m["bvi"] = {
"Belanda Viri",
35247,
"nic-ser",
"Latn",
}
m["bvj"] = {
"Baan",
3515067,
"nic-ogo",
"Latn",
}
m["bvk"] = {
"Bukat",
4986814,
"poz-bnn",
"Latn",
}
m["bvl"] = {
"Bolivian Sign Language",
1783590,
"sgn",
"Latn", -- when documented
}
m["bvm"] = {
"Bamunka",
34882,
"nic-rnn",
"Latn",
}
m["bvn"] = {
"Buna",
3450516,
"qfa-tor",
"Latn",
}
m["bvo"] = {
"Bolgo",
35038,
"alv-bua",
"Latn",
}
m["bvp"] = {
"tiếng Bố Mang",
4997235,
"mkh-pal",
nil,
"Tiếng Bố Mang",
"Bố Mang"
}
m["bvq"] = {
"Birri",
56514,
"csu-bkr",
"Latn",
}
m["bvr"] = {
"Burarra",
4998124,
"aus-arn",
"Latn",
}
m["bvt"] = {
"Bati (Indonesia)",
4869253,
"poz-cma",
"Latn",
}
m["bvu"] = {
"Bukit Malay",
9230148,
"poz-mly",
"Latn",
}
m["bvv"] = {
"Baniva",
3515198,
"awd",
"Latn",
}
m["bvw"] = {
"Boga",
56262,
"cdc-cbm",
"Latn",
}
m["bvx"] = {
"Babole",
35180,
"bnt-ngn",
"Latn",
}
m["bvy"] = {
"Baybayanon",
16839275,
"phi",
"Latn",
}
m["bvz"] = {
"Bauzi",
56360,
"paa-egb",
"Latn",
}
m["bwa"] = {
"Bwatoo",
9232446,
"poz-cln",
"Latn",
}
m["bwb"] = {
"Namosi-Naitasiri-Serua",
3130290,
"poz-occ",
"Latn",
}
m["bwc"] = {
"Bwile",
3447440,
"bnt-sbi",
"Latn",
}
m["bwd"] = {
"Bwaidoka",
2929111,
"poz-ocw",
"Latn",
}
m["bwe"] = {
"tiếng Karen Bwe",
56994,
"kar",
"Mymr",
"Tiếng Karen Bwe",
"Karen Bwe",
}
m["bwf"] = {
"Boselewa",
4947229,
"poz-ocw",
"Latn",
}
m["bwg"] = {
"Barwe",
8826802,
"bnt-sna",
"Latn",
}
m["bwh"] = {
"Bishuo",
34973,
"nic-fru",
"Latn",
}
m["bwi"] = {
"Baniwa",
3501735,
"awd-nwk",
"Latn",
}
m["bwj"] = {
"Láá Láá Bwamu",
11017275,
"nic-bwa",
"Latn",
}
m["bwk"] = {
"Bauwaki",
4873607,
"ngf",
"Latn",
}
m["bwl"] = {
"Bwela",
5003678,
"bnt-bun",
"Latn",
}
m["bwm"] = {
"Biwat",
56352,
"paa-yua",
"Latn",
}
m["bwn"] = {
"Wunai Bunu",
56452,
"hmn",
}
m["bwo"] = {
"tiếng Shinasha",
56260,
"omv-gon",
"Latn",
"Tiếng Shinasha",
"Shinasha",
}
m["bwp"] = {
"Mandobo Bawah",
12636155,
"ngf",
"Latn",
}
m["bwq"] = {
"Southern Bobo",
11001714,
"dmn-snb",
"Latn",
}
m["bwr"] = {
"Bura",
56552,
"cdc-cbm",
"Latn",
}
m["bws"] = {
"Bomboma",
9229429,
"bnt-bun",
"Latn",
}
m["bwt"] = {
"Bafaw",
34853,
"bnt-bbo",
"Latn",
}
m["bwu"] = {
"Buli (Ghana)",
35085,
"nic-buk",
"Latn",
}
m["bww"] = {
"Bwa",
3515058,
"bnt-bta",
"Latn",
}
m["bwx"] = {
"Bu-Nao Bunu",
56411,
"hmn",
"Latn",
}
m["bwy"] = {
"Cwi Bwamu",
11150714,
"nic-bwa",
"Latn",
}
m["bwz"] = {
"Bwisi",
35067,
"bnt-sir",
"Latn",
}
m["bxa"] = {
"Bauro",
2892068,
"poz-sls",
"Latn",
}
m["bxb"] = {
"Belanda Bor",
56678,
"sdv-lon",
"Latn",
}
m["bxc"] = {
"Molengue",
13345,
"bnt-kel",
"Latn",
}
m["bxd"] = {
"tiếng Pela",
57000,
"tbq-brm",
nil,
"Tiếng Pela",
"Pela",
}
m["bxe"] = {
"tiếng Ongota",
36344,
nil,
"Latn",
"Tiếng Ongota",
"Ongota",
}
m["bxf"] = {
"Bilur",
2903788,
"poz-ocw",
"Latn",
}
m["bxg"] = {
"Bangala",
34989,
"bnt-bmo",
"Latn",
}
m["bxh"] = {
"Buhutu",
4986329,
"poz-ocw",
"Latn",
}
m["bxi"] = {
"Pirlatapa",
10632195,
"aus-kar",
"Latn",
}
m["bxj"] = {
"Bayungu",
10427485,
"aus-psw",
"Latn",
}
m["bxk"] = {
"Bukusu",
32930,
"bnt-msl",
"Latn",
}
m["bxl"] = {
"Jalkunan",
11009787,
"dmn-jje",
"Latn",
}
m["bxn"] = {
"Burduna",
4998313,
"aus-psw",
"Latn",
}
m["bxo"] = {
"Barikanchi",
3450802,
"crp",
"Latn",
ancestors = "ha",
}
m["bxp"] = {
"Bebil",
34941,
"bnt-btb",
"Latn",
}
m["bxq"] = {
"Beele",
56238,
"cdc-wst",
"Latn",
}
m["bxs"] = {
"Busam",
35189,
"nic-grs",
"Latn",
}
m["bxv"] = {
"Berakou",
56796,
"csu-bgr",
"Latn",
}
m["bxw"] = {
"Banka",
3438402,
"dmn-smg",
"Latn",
}
m["bxz"] = {
"Binahari",
4913840,
"ngf",
"Latn",
}
m["bya"] = {
"Palawan Batak",
3450443,
"phi",
"Tagb",
}
m["byb"] = {
"Bikya",
33257,
"nic-fru",
"Latn",
}
m["byc"] = {
"Ubaghara",
36625,
"nic-ucn",
"Latn",
}
m["byd"] = {
"Benyadu'",
11173588,
"day",
"Latn",
}
m["bye"] = {
"Pouye",
7235814,
"paa-spk",
"Latn",
}
m["byf"] = {
"Bete",
32932,
"nic-ykb",
"Latn",
}
m["byg"] = {
"Baygo",
56836,
"sdv-daj",
"Latn",
}
m["byh"] = {
"Bujhyal",
56317,
"sit-gma",
"Deva",
}
m["byi"] = {
"Buyu",
5003401,
"bnt-nyb",
"Latn",
}
m["byj"] = {
"Binawa",
4913807,
"nic-kau",
"Latn",
}
m["byk"] = {
"Biao",
4902547,
"qfa-tak",
"Latn", -- also Hani?
}
m["byl"] = {
"Bayono",
3503856,
"ngf",
"Latn",
}
m["bym"] = {
"Bidyara",
8842355,
"aus-pam",
"Latn",
}
m["byn"] = {
"tiếng Bilen",
56491,
"cus-cen",
"Ethi, Latn",
"Tiếng Bilen",
"Bilen",
translit = {Ethi = "Ethi-translit"},
}
m["byo"] = {
"Biyo",
56848,
"tbq-bka",
"Latn, Hani",
sort_key = {Hani = "Hani-sortkey"},
}
m["byp"] = {
"Bumaji",
4997234,
"nic-ben",
"Latn",
}
m["byq"] = {
"tiếng Basay",
716647,
"map",
"Latn",
"Tiếng Basay",
"Basay",
}
m["byr"] = {
"Baruya",
3450812,
"ngf",
"Latn",
}
m["bys"] = {
"Burak",
4998097,
"alv-bwj",
"Latn",
}
m["byt"] = {
"Berti",
35008,
"ssa-sah",
"Latn",
}
m["byv"] = {
"tiếng Medumba",
36019,
"bai",
"Latn",
"Tiếng Medumba",
"Medumba",
}
m["byw"] = {
"tiếng Belhariya",
32961,
"sit-kie",
"Deva",
"Tiếng Belhariya",
"Belhariya",
}
m["byx"] = {
"Qaqet",
3503009,
"paa-bng",
"Latn",
}
m["byz"] = {
"Banaro",
56858,
"paa",
"Latn",
}
m["bza"] = {
"tiếng Bandi",
34912,
"dmn-msw",
"Latn",
"Tiếng Bandi",
"Bandi",
}
m["bzb"] = {
"Andio",
4754487,
"poz-slb",
"Latn",
}
m["bzd"] = {
"Bribri",
28400,
"cba",
"Latn",
}
m["bze"] = {
"Jenaama Bozo",
10950633,
"dmn-snb",
"Latn",
}
m["bzf"] = {
"Boikin",
56829,
"paa-spk",
"Latn",
}
m["bzg"] = {
"tiếng Babuza",
716615,
"map",
"Latn",
"Tiếng Babuza",
"Babuza",
}
m["bzh"] = {
"tiếng Buang Mapos",
2927370,
"poz-ocw",
"Latn",
"Tiếng Buang Mapos",
"Buang Mapos",
}
m["bzi"] = {
"tiếng Bisu",
56852,
"tbq-bis",
"Latn, Thai",
"Tiếng Bisu",
"Bisu",
sort_key = {Thai = "Thai-sortkey"},
}
m["bzj"] = {
"Belizean Creole",
1363055,
"crp",
"Latn",
ancestors = "en",
}
m["bzk"] = {
"Nicaraguan Creole",
3504097,
"crp",
"Latn",
ancestors = "en",
}
m["bzl"] = { -- supposedly also called "Bolano", but I can find no evidence of that
"Boano (Sulawesi)",
4931258,
"poz",
"Latn",
}
m["bzm"] = {
"Bolondo",
35071,
"bnt-bun",
"Latn",
}
m["bzn"] = {
"Boano (Maluku)",
4931255,
"poz-cma",
"Latn",
}
m["bzo"] = {
"Bozaba",
4952785,
"bnt-ngn",
"Latn",
}
m["bzp"] = {
"Kemberano",
12634399,
"ngf-sbh",
"Latn",
}
m["bzq"] = {
"Buli (Indonesia)",
2927952,
"poz-hce",
"Latn",
}
m["bzr"] = {
"Biri",
4087011,
"aus-pam",
"Latn",
}
m["bzs"] = {
"Brazilian Sign Language",
3436689,
"sgn",
"Latn",
}
m["bzu"] = {
"Burmeso",
56746,
"paa-wpa",
"Latn",
}
m["bzv"] = {
"Bebe",
34977,
"nic-bbe",
"Latn",
}
m["bzw"] = {
"Basa",
34898,
"nic-bas",
"Latn",
}
m["bzx"] = {
"Hainyaxo Bozo",
11159536,
"dmn-snb",
"Latn",
}
m["bzy"] = {
"Obanliku",
36276,
"nic-ben",
"Latn",
}
m["bzz"] = {
"Evant",
35259,
"nic-tvc",
"Latn",
}
return require("Module:languages").finalizeData(m, "language")
phh4fi7vpftnndgxwilfaf5itonalps
càng mu
0
272964
2463313
2079489
2026-07-19T06:07:13Z
TheHighFighter2
42988
2463313
wikitext
text/x-wiki
=={{langname|tyz}}==
==={{ĐM|pron}}===
{{tyz-IPA}}
==={{ĐM|noun}}===
{{tyz-noun}}
# [[thanh|Thanh]] [[chốt]] [[đôi]] [[giữ]] [[dui]] ở [[đầu]] [[nhà]].
==={{ĐM|ref}}===
* {{R:Lương Bèn|page=36}}
ai7cnezphixjqpy9nsr8biurrnjusdn
2463314
2463313
2026-07-19T06:08:30Z
TheHighFighter2
42988
/* Danh từ */ dui ---> rui (sử dụng [[MediaWiki:Gadget-AjaxEdit.js|AjaxEdit]])
2463314
wikitext
text/x-wiki
=={{langname|tyz}}==
==={{ĐM|pron}}===
{{tyz-IPA}}
==={{ĐM|noun}}===
{{tyz-noun}}
# [[thanh|Thanh]] [[chốt]] [[đôi]] [[giữ]] [[rui]] ở [[đầu]] [[nhà]].
==={{ĐM|ref}}===
* {{R:Lương Bèn|page=36}}
fuib1mu1wauph8di1ze7au7nvxitw9p
phạ
0
274890
2463279
2085474
2026-07-19T04:20:57Z
Hiyuune
50834
2463279
wikitext
text/x-wiki
{{also|Phụ lục:Biến thể của "pha"}}
=={{langname|tyj}}==
==={{section|etym}}===
Từ {{inh|tyj|tai-pro|*vaːꟲ||[[bầu trời]]; [[thời tiết]]}}. Cùng gốc với {{cog|th|ฟ้า}}, {{cog|nod|ᨼ᩶ᩣ}}, {{cog|lo|ຟ້າ}}, {{cog|khb|ᦝᦱᧉ}}, {{cog|shn|ၽႃႉ}} hoặc {{mention|shn|ၾႃႉ}}, {{cog|aho|𑜇𑜠}}, {{mention|aho|𑜇𑜡}}, {{mention|aho|𑜇𑜨𑜠}}, {{mention|aho|𑜇𑜨𑜡}} hoặc {{mention|aho|𑜇𑜞𑜠}}, {{cog|za|fax}}.
==={{section|pron}}===
* {{IPA4|tyj|/faː⁵³/}}
==={{section|n}}===
{{head|tyj|Danh từ}}
# [[bầu trời|Bầu trời]].
==={{section|ref}}===
* {{R:Sầm Văn Bình}}
=={{langname|tys}}==
==={{section|noun}}===
{{head|tys|Danh từ}}
# [[điện|Điện]].
agmlr422keny6dhtel5ko741zoktjw7
Mô đun:category tree/data
828
279364
2463366
2333504
2026-07-19T08:20:56Z
Kateru Zakuro
34522
2463366
Scribunto
text/plain
local labels = {}
local raw_categories = {}
local handlers = {}
local raw_handlers = {}
local subpages = {
-- It should not matter much what order we do the handlers in, but topic handling historically
-- preceded "poscatboiler" handling (i.e. everything else), so keep it that way for the moment.
"topic",
"affixes and compounds",
"characters",
"entry maintenance",
"etymology",
"families",
"figures of speech",
"grammatical classes",
"lang-specific-raw",
"languages",
"lects",
"lemmas",
"lexical properties",
"miscellaneous",
"modules",
"names",
"non-lemma forms",
"phrases",
"pragmatic properties",
"rhymes",
"scripts",
"semantic classes",
"shortenings",
"speech acts",
"symbols",
"tài khoản con rối",
"templates",
"terms by script",
"transliterations",
"unicode",
"wiktionary maintenance",
"wiktionary users",
}
-- Import subpages
for _, subpage in ipairs(subpages) do
local datamodule = "Module:category tree/" .. subpage
local retval = require(datamodule)
if retval["LABELS"] then
for label, data in pairs(retval["LABELS"]) do
if labels[label] and not retval["IGNOREDUP"] then
error("Label " .. label .. " defined in both [["
.. datamodule .. "]] and [[" .. labels[label].module .. "]].")
end
data.module = datamodule
labels[label] = data
end
end
if retval["RAW_CATEGORIES"] then
for category, data in pairs(retval["RAW_CATEGORIES"]) do
if raw_categories[category] and not retval["IGNOREDUP"] then
error("Raw category " .. category .. " defined in both [["
.. datamodule .. "]] and [[" .. raw_categories[category].module .. "]].")
end
data.module = datamodule
raw_categories[category] = data
end
end
if retval["HANDLERS"] then
for _, handler in ipairs(retval["HANDLERS"]) do
table.insert(handlers, { module = datamodule, handler = handler })
end
end
if retval["RAW_HANDLERS"] then
for _, handler in ipairs(retval["RAW_HANDLERS"]) do
table.insert(raw_handlers, { module = datamodule, handler = handler })
end
end
end
-- Add child categories to their parents
local function add_children_to_parents(hierarchy, raw)
for key, data in pairs(hierarchy) do
local parents = data.parents
if parents then
if type(parents) ~= "table" then
parents = {parents}
end
if parents.name or parents.module then
parents = {parents}
end
for _, parent in ipairs(parents) do
if type(parent) ~= "table" or not parent.name and not parent.module then
parent = {name = parent}
end
if parent.name and not parent.module and type(parent.name) == "string" and not parent.name:find("^Category:") then
local parent_is_raw
if raw then
parent_is_raw = not parent.is_label
else
parent_is_raw = parent.raw
end
-- Don't do anything if the child is raw and the parent is lang-specific, otherwise e.g.
-- "Lemmas subcategories by language" will be listed as a child of every "LANG lemmas" category.
-- FIXME: We need to rethink this mechanism.
if not raw or parent_is_raw then
local child_hierarchy = parent_is_raw and raw_categories or labels
if child_hierarchy[parent.name] then
local child = {name = key, sort = parent.sort, raw = raw}
if child_hierarchy[parent.name].children then
table.insert(child_hierarchy[parent.name].children, child)
else
child_hierarchy[parent.name].children = {child}
end
end
end
end
end
end
end
end
add_children_to_parents(labels)
add_children_to_parents(raw_categories, true)
return {
LABELS = labels, RAW_CATEGORIES = raw_categories,
HANDLERS = handlers, RAW_HANDLERS = raw_handlers
}
jldxab97ol09mrrg1tdtmlkuk703fnu
Mô đun:category tree/names
828
279386
2463350
2272101
2026-07-19T08:17:04Z
Kateru Zakuro
34522
2463350
Scribunto
text/plain
local labels = {}
local raw_categories = {}
local handlers = {}
local names_module = "Module:names"
local en_utilities_module = "Module:en-utilities"
local pluralize = require(en_utilities_module).pluralize
-----------------------------------------------------------------------------
-- --
-- LABELS --
-- --
-----------------------------------------------------------------------------
labels["Tên"] = {
description = "{{{langname}}} terms that are used to refer to specific individuals or groups.",
additional = "Place names, demonyms and other kinds of names can be found in [[:Category:Names]].",
umbrella_parents = {name = "terms by semantic function", is_label = true, sort = " "},
parents = {"Chức năng ngữ nghĩa", "Danh từ riêng"},
}
------------------------------------------- given names -------------------------------------------
local human_genders = {
["nam"] = "to male individuals",
["nữ"] = "to female individuals",
["cả hai giới"] = "either to male or to female individuals",
}
for gender, props in pairs(require(names_module).given_name_genders) do
if gender ~= "unknown-gender" then
local is_animal = props.type == "animal"
local cat = is_animal and gender .. " names" or gender .. " given names"
local desc = is_animal and " given to [[" .. gender .. "|" .. pluralize(gender) .. "]]" or " given " .. human_genders[gender]
local function do_cat(cat, desc, breadcrumb, parents)
labels[cat] = {
description = "{{{langname}}} " .. desc .. ".",
breadcrumb = breadcrumb,
parents = parents,
}
end
for _, dimaug in ipairs { "diminutive", "augmentative" } do
do_cat(dimaug .. "s of " .. cat, dimaug .. " names " .. desc, dimaug,
{gender .. " given names", dimaug .. " nouns"})
end
do_cat(cat, "names " .. desc, gender, is_animal and (gender == "animal" and "names" or is_animal and
"animal names") or "given names")
if not is_animal then
do_cat(gender .. " skin names", "skin names " .. desc, gender, {"skin names"})
end
end
end
labels["Tên người"] = {
description = "{{{langname}}} names given to individuals.",
parents = {"Tên"},
}
labels["skin names"] = {
description = "{{{langname}}} terms given at birth that are used to refer to individuals from specific marital classes.",
parents = {"proper nouns", "names"},
}
------------------------------------------- surnames -------------------------------------------
labels["common-gender surnames"] = {
description = "{{{langname}}} names shared by both male and female family members, in languages that distinguish male and female surnames.",
breadcrumb = "common-gender",
parents = {"surnames"},
}
labels["Họ nữ"] = {
description = "{{{langname}}} names shared by female family members.",
breadcrumb = "nữ",
parents = {"surnames"},
}
labels["Họ nam"] = {
description = "{{{langname}}} names shared by male family members.",
breadcrumb = "nam",
parents = {"Họ"},
}
labels["Họ"] = {
description = "{{{langname}}} names shared by family members.",
parents = {"Tên"},
}
for _, nymics in ipairs { "matronymics", "patronymics" } do
local ancestor = nymics == "matronymics" and "mother, grandmother or earlier female ancestor" or
"father, grandfather or earlier male ancestor"
labels["common-gender " .. nymics] = {
description = ("{{{langname}}} names used by both men and women to indicate their %s, in languages that distinguish male and female %s."):
format(ancestor, nymics),
breadcrumb = "common-gender",
parents = {nymics},
}
labels["female " .. nymics] = {
description = ("{{{langname}}} names used by women to indicate their %s."):
format(ancestor, nymics),
breadcrumb = "female",
parents = {nymics},
}
labels["male " .. nymics] = {
description = ("{{{langname}}} names used by men to indicate their %s."):
format(ancestor, nymics),
breadcrumb = "male",
parents = {nymics},
}
labels[nymics] = {
description = ("{{{langname}}} names indicating a person's %s."):format(ancestor),
parents = {"names"},
}
end
labels["nomina gentilia"] = {
description = "{{{langname}}} \"[[family name]]s\" (singular ''[[nomen gentile]]'') in a [[w:Roman naming convention|convential Roman name]].",
parents = {"names"},
}
------------------------------------------- misc -------------------------------------------
labels["Ngoại danh"] = {
description = "{{{langname}}} [[exonym]]s, i.e. terms for toponyms whose name in {{{langname}}} is different from the name in the source language.",
parents = {"Tên"},
}
labels["renderings of foreign personal names"] = {
description = "{{{langname}}} transliterations, respellings or other renderings of foreign personal names.",
parents = {"names"},
}
-- Add 'umbrella_parents' key if not already present.
for key, data in pairs(labels) do
if not data.umbrella_parents then
data.umbrella_parents = "Thể loại con tên theo ngôn ngữ"
end
end
-----------------------------------------------------------------------------
-- --
-- RAW CATEGORIES --
-- --
-----------------------------------------------------------------------------
raw_categories["Thể loại con tên theo ngôn ngữ"] = {
description = "Umbrella categories covering topics related to names.",
additional = "{{{umbrella_meta_msg}}}",
parents = {
"Siêu thể loại chung",
{name = "Tên", is_label = true, sort = " "},
},
}
-----------------------------------------------------------------------------
-- --
-- HANDLERS --
-- --
-----------------------------------------------------------------------------
local function source_name_to_source(nametype, source_name)
local special_sources
if nametype:find("given names") then
special_sources = require("Module:table").listToSet {
"Họ", "place names", "coinages", "the Bible", "month names"
}
elseif nametype:find("Họ") then
special_sources = require("Module:table").listToSet {
"given names", "place names", "occupations", "patronymics", "matronymics",
"common nouns", "nicknames", "ethnonyms"
}
else
special_sources = {}
end
if special_sources[source_name] then
return source_name
else
return require("Module:languages").getByCanonicalName(source_name, nil,
"allow etym langs", "allow families")
end
end
local function get_source_text(source)
if type(source) == "table" then
return source:getDisplayForm()
else
return source
end
end
local function get_description(lang, nametype, source)
local origintext, addltext
if source == "Họ" then
origintext = "transferred from surnames"
elseif source == "given names" then
origintext = "transferred from given names"
elseif source == "nicknames" then
origintext = "transferred from nicknames"
elseif source == "place names" then
origintext = "transferred from place names"
addltext = " For place names that are also surnames, see " .. (
lang and "[[:Category:{{{langname}}} " .. nametype .. " from surnames]]" or
"[[:Category:" .. mw.getContentLanguage():ucfirst(nametype) .. " from surnames by language]]"
) .. "."
elseif source == "common nouns" then
origintext = "transferred from common nouns"
elseif source == "month names" then
origintext = "transferred from month names"
elseif source == "coinages" then
origintext = "originating as coinages"
addltext = " These are names of artificial origin, names based on fictional characters, combinations of two words or names or backward spellings. Names of uncertain origin can also be placed here if there is a strong suspicion that they are coinages."
elseif source == "occupations" then
origintext = "originating as occupations"
elseif source == "patronymics" then
origintext = "originating as patronymics"
elseif source == "matronymics" then
origintext = "originating as matronymics"
elseif source == "ethnonyms" then
origintext = "originating as ethnonyms"
elseif source == "the Bible" then
-- Hack esp. for Hawaiian names. We should consider changing them to
-- have the source as Biblical Hebrew and mention the derivation from
-- the Bible some other way.
origintext = "originating from the Bible"
elseif type(source) == "string" then
error("Internal error: Unrecognized string source \"" .. source .. "\", should be special-cased")
else
origintext = "of " .. source:makeCategoryLink() .. " origin"
if lang and source:getCode() == lang:getCode() then
addltext = " These are names derived from common nouns, local mythology, etc."
end
end
local introtext
if lang then
introtext = "{{{langname}}} "
else
introtext = "Categories with "
end
return introtext .. nametype .. " " .. origintext ..
". (This includes names derived at an older stage of the language.)" .. (addltext or "")
end
-- If one of the following families occurs in any of the ancestral families
-- of a given language, use it instead of the three-letter parent
-- (or immediate parent if no three-letter parent).
local high_level_families = require("Module:table").listToSet {
-- Indo-European
"gem", -- Germanic (for gme, gmq, gmw)
"inc", -- Indic (for e.g. pra = Prakrit)
"ine-ana", -- Anatolian (don't keep going to ine)
"ine-toc", -- Tocharian (don't keep going to ine)
"ira", -- Iranian (for e.g. xme = Median, xsc = Scythian)
"sla", -- Slavic (for zle, zls, zlw)
-- Other
"ath", -- Athabaskan (for e.g. apa = Apachean)
"poz", -- Malayo-Polynesian (for e.g. pqe = Eastern Malayo-Polynesian)
"cau-nwc", -- Northwest Caucasian
"cau-nec", -- Northeast Caucasian
}
local function find_high_level_family(lang)
local family = lang:getFamily()
-- (1) If no family, return nil (e.g. for Pictish).
if not family then
return nil
end
-- (2) See if any ancestor family is in `high_level_families`.
-- if so, return it.
local high_level_family = family
while high_level_family do
local high_level_code = high_level_family:getCode()
if high_level_code == "qfa-not" then
-- "not a family"; its own parent, causing an infinite loop.
-- Break rather than return so we get categories like
-- [[Category:English female given names from sign languages]] and
-- [[Category:English female given names from constructed languages]].
break
end
if high_level_families[high_level_code] then
return high_level_family
end
high_level_family = high_level_family:getFamily()
end
-- (3) If the family is of the form 'FOO-BAR', see if 'FOO' is a family.
-- If so, return it.
local basic_family = family:getCode():match("^(.-)%-.*$")
if basic_family then
basic_family = require("Module:families").getByCode(basic_family)
if basic_family then
return basic_family
end
end
-- (4) Fall back to just the family itself.
return family
end
local function match_gendered_nametype(nametype)
local gender, label = nametype:match("^(f?e?male) (given names)$")
if not gender then
gender, label = nametype:match("^(unisex) (given names)$")
end
if gender then
return gender, label
end
end
local function get_parents(lang, nametype, source)
local parents = {}
if lang then
table.insert(parents, {name = nametype, sort = get_source_text(source)})
if type(source) == "table" then
table.insert(parents, {name = "terms derived from " .. source:getDisplayForm(), sort = " "})
-- If the source is a regular language, put it in a parent category for the high-level language family, e.g. for
-- "Russian female given names from German", put it in a parent category "Russian female given names from Germanic languages"
-- (skipping over West Germanic languages).
--
-- If the source is an etymology language, put it in a parent category for the parent full language, e.g. for
-- "French male given names from Gascon", put it in a parent category "French male given names from Occitan".
--
-- If the source is a family, put it in a parent category for the parent family.
if source:hasType("family") then
local parent_family = source:getFamily()
if parent_family and parent_family:getCode() ~= "qfa-not" then
table.insert(parents, {
name = nametype .. " from " .. parent_family:getDisplayForm(),
sort = source:getCanonicalName()
})
end
elseif source:hasType("etymology-only") then
local source_parent = source:getFull()
if source_parent and source_parent:getCode() ~= "und" then
table.insert(parents, {
name = nametype .. " from " .. source_parent:getDisplayForm(),
sort = source:getCanonicalName()
})
end
else
local high_level_family = find_high_level_family(source)
if high_level_family then -- may not exist, e.g. for Pictish
table.insert(parents,
{name = nametype .. " from " .. high_level_family:getDisplayForm(),
sort = source:getCanonicalName()
})
end
end
end
local gender, label = match_gendered_nametype(nametype)
if gender then
table.insert(parents, {name = label .. " from " .. get_source_text(source), sort = gender})
end
else
local gender, label = match_gendered_nametype(nametype)
if gender then
table.insert(parents, {name = label .. " from " .. get_source_text(source), is_label = true, sort = " "})
elseif type(source) == "table" then
-- FIXME! This is duplicated in [[Module:category tree/etymology]] in the handler for umbrella categories
-- 'Terms derived from SOURCE'.
local first_umbrella_parent =
source:hasType("family") and {name = source:getCategoryName(), raw = true, sort = " "} or
source:hasType("etymology-only") and {name = "Category:" .. source:getCategoryName(), sort = nametype} or
{name = source:getCategoryName(), raw = true, sort = nametype}
table.insert(parents, first_umbrella_parent)
end
table.insert(parents, "Names subcategories by language")
end
return parents
end
table.insert(handlers, function(data)
local nametype, source_name = data.label:match("^(.*names) from (.+)$")
if nametype then
local personal_name_type_set = require(names_module).personal_name_type_set
if not personal_name_type_set[nametype] then
return nil
end
local source = source_name_to_source(nametype, source_name)
if not source then
return nil
end
return {
description = get_description(data.lang, nametype, source),
breadcrumb = "from " .. get_source_text(source),
parents = get_parents(data.lang, nametype, source),
umbrella = {
description = get_description(nil, nametype, source),
parents = get_parents(nil, nametype, source),
},
}
end
end)
-- Handler for e.g. 'English renderings of Russian male given names'.
table.insert(handlers, function(data)
local label = data.label:match("^renderings of (.*)$")
if label then
local personal_name_types = require(names_module).personal_name_types
for _, nametype in ipairs(personal_name_types) do
local sourcename = label:match("^(.+) " .. nametype .. "$")
if sourcename then
local source = require("Module:languages").getByCanonicalName(sourcename, nil, "allow etym")
if source then
return {
description = "Transliterations, respellings or other renderings of " .. source:makeCategoryLink() .. " " .. nametype .. " into {{{langdisp}}}.",
lang = data.lang,
breadcrumb = sourcename .. " " .. nametype,
parents = {
{ name = "renderings of foreign personal names", sort = sourcename },
{ name = nametype, lang = source:getCode(), sort = "{{{langname}}}" },
},
umbrella = {
description = "Transliterations, respellings or other renderings of " .. source:makeCategoryLink() .. " " .. nametype .. " into various languages.",
parents = {{name = "renderings of foreign personal names", is_label = true, sort = label}},
},
}
end
end
end
end
end)
return {LABELS = labels, RAW_CATEGORIES = raw_categories, HANDLERS = handlers}
20dhdiqr8qfpmmcjrlwguk6jr80624s
2463369
2463350
2026-07-19T08:21:40Z
Kateru Zakuro
34522
Đã lùi lại sửa đổi [[Special:Diff/2463350|2463350]] của [[Special:Contributions/Kateru Zakuro|Kateru Zakuro]] ([[User talk:Kateru Zakuro|thảo luận]])
2463369
Scribunto
text/plain
local labels = {}
local raw_categories = {}
local handlers = {}
local names_module = "Module:names"
local en_utilities_module = "Module:en-utilities"
local pluralize = require(en_utilities_module).pluralize
-----------------------------------------------------------------------------
-- --
-- LABELS --
-- --
-----------------------------------------------------------------------------
labels["Tên"] = {
description = "{{{langname}}} terms that are used to refer to specific individuals or groups.",
additional = "Place names, demonyms and other kinds of names can be found in [[:Category:Names]].",
umbrella_parents = {name = "terms by semantic function", is_label = true, sort = " "},
parents = {"Chức năng ngữ nghĩa", "Danh từ riêng"},
}
------------------------------------------- given names -------------------------------------------
local human_genders = {
["nam"] = "to male individuals",
["nữ"] = "to female individuals",
["cả hai giới"] = "either to male or to female individuals",
}
for gender, props in pairs(require(names_module).given_name_genders) do
if gender ~= "unknown-gender" then
local is_animal = props.type == "animal"
local cat = is_animal and gender .. " names" or gender .. " given names"
local desc = is_animal and " given to [[" .. gender .. "|" .. pluralize(gender) .. "]]" or " given " .. human_genders[gender]
local function do_cat(cat, desc, breadcrumb, parents)
labels[cat] = {
description = "{{{langname}}} " .. desc .. ".",
breadcrumb = breadcrumb,
parents = parents,
}
end
for _, dimaug in ipairs { "diminutive", "augmentative" } do
do_cat(dimaug .. "s of " .. cat, dimaug .. " names " .. desc, dimaug,
{gender .. " given names", dimaug .. " nouns"})
end
do_cat(cat, "names " .. desc, gender, is_animal and (gender == "animal" and "names" or is_animal and
"animal names") or "given names")
if not is_animal then
do_cat(gender .. " skin names", "skin names " .. desc, gender, {"skin names"})
end
end
end
labels["Tên người"] = {
description = "{{{langname}}} names given to individuals.",
parents = {"Tên"},
}
labels["skin names"] = {
description = "{{{langname}}} terms given at birth that are used to refer to individuals from specific marital classes.",
parents = {"proper nouns", "names"},
}
------------------------------------------- surnames -------------------------------------------
labels["common-gender surnames"] = {
description = "{{{langname}}} names shared by both male and female family members, in languages that distinguish male and female surnames.",
breadcrumb = "common-gender",
parents = {"surnames"},
}
labels["Họ nữ"] = {
description = "{{{langname}}} names shared by female family members.",
breadcrumb = "nữ",
parents = {"surnames"},
}
labels["Họ nam"] = {
description = "{{{langname}}} names shared by male family members.",
breadcrumb = "nam",
parents = {"Họ"},
}
labels["Họ"] = {
description = "{{{langname}}} names shared by family members.",
parents = {"Tên"},
}
for _, nymics in ipairs { "matronymics", "patronymics" } do
local ancestor = nymics == "matronymics" and "mother, grandmother or earlier female ancestor" or
"father, grandfather or earlier male ancestor"
labels["common-gender " .. nymics] = {
description = ("{{{langname}}} names used by both men and women to indicate their %s, in languages that distinguish male and female %s."):
format(ancestor, nymics),
breadcrumb = "common-gender",
parents = {nymics},
}
labels["female " .. nymics] = {
description = ("{{{langname}}} names used by women to indicate their %s."):
format(ancestor, nymics),
breadcrumb = "female",
parents = {nymics},
}
labels["male " .. nymics] = {
description = ("{{{langname}}} names used by men to indicate their %s."):
format(ancestor, nymics),
breadcrumb = "male",
parents = {nymics},
}
labels[nymics] = {
description = ("{{{langname}}} names indicating a person's %s."):format(ancestor),
parents = {"names"},
}
end
labels["nomina gentilia"] = {
description = "{{{langname}}} \"[[family name]]s\" (singular ''[[nomen gentile]]'') in a [[w:Roman naming convention|convential Roman name]].",
parents = {"names"},
}
------------------------------------------- misc -------------------------------------------
labels["Ngoại danh"] = {
description = "{{{langname}}} [[exonym]]s, i.e. terms for toponyms whose name in {{{langname}}} is different from the name in the source language.",
parents = {"Tên"},
}
labels["renderings of foreign personal names"] = {
description = "{{{langname}}} transliterations, respellings or other renderings of foreign personal names.",
parents = {"names"},
}
-- Add 'umbrella_parents' key if not already present.
for key, data in pairs(labels) do
if not data.umbrella_parents then
data.umbrella_parents = "Thể loại con tên theo ngôn ngữ"
end
end
-----------------------------------------------------------------------------
-- --
-- RAW CATEGORIES --
-- --
-----------------------------------------------------------------------------
raw_categories["Thể loại con tên theo ngôn ngữ"] = {
description = "Umbrella categories covering topics related to names.",
additional = "{{{umbrella_meta_msg}}}",
parents = {
"Siêu thể loại chung",
{name = "Tên", is_label = true, sort = " "},
},
}
-----------------------------------------------------------------------------
-- --
-- HANDLERS --
-- --
-----------------------------------------------------------------------------
local function source_name_to_source(nametype, source_name)
local special_sources
if nametype:find("given names") then
special_sources = require("Module:table").listToSet {
"surnames", "place names", "coinages", "the Bible", "month names"
}
elseif nametype:find("surnames") then
special_sources = require("Module:table").listToSet {
"given names", "place names", "occupations", "patronymics", "matronymics",
"common nouns", "nicknames", "ethnonyms"
}
else
special_sources = {}
end
if special_sources[source_name] then
return source_name
else
return require("Module:languages").getByCanonicalName(source_name, nil,
"allow etym langs", "allow families")
end
end
local function get_source_text(source)
if type(source) == "table" then
return source:getDisplayForm()
else
return source
end
end
local function get_description(lang, nametype, source)
local origintext, addltext
if source == "surnames" then
origintext = "transferred from surnames"
elseif source == "given names" then
origintext = "transferred from given names"
elseif source == "nicknames" then
origintext = "transferred from nicknames"
elseif source == "place names" then
origintext = "transferred from place names"
addltext = " For place names that are also surnames, see " .. (
lang and "[[:Category:{{{langname}}} " .. nametype .. " from surnames]]" or
"[[:Category:" .. mw.getContentLanguage():ucfirst(nametype) .. " from surnames by language]]"
) .. "."
elseif source == "common nouns" then
origintext = "transferred from common nouns"
elseif source == "month names" then
origintext = "transferred from month names"
elseif source == "coinages" then
origintext = "originating as coinages"
addltext = " These are names of artificial origin, names based on fictional characters, combinations of two words or names or backward spellings. Names of uncertain origin can also be placed here if there is a strong suspicion that they are coinages."
elseif source == "occupations" then
origintext = "originating as occupations"
elseif source == "patronymics" then
origintext = "originating as patronymics"
elseif source == "matronymics" then
origintext = "originating as matronymics"
elseif source == "ethnonyms" then
origintext = "originating as ethnonyms"
elseif source == "the Bible" then
-- Hack esp. for Hawaiian names. We should consider changing them to
-- have the source as Biblical Hebrew and mention the derivation from
-- the Bible some other way.
origintext = "originating from the Bible"
elseif type(source) == "string" then
error("Internal error: Unrecognized string source \"" .. source .. "\", should be special-cased")
else
origintext = "of " .. source:makeCategoryLink() .. " origin"
if lang and source:getCode() == lang:getCode() then
addltext = " These are names derived from common nouns, local mythology, etc."
end
end
local introtext
if lang then
introtext = "{{{langname}}} "
else
introtext = "Categories with "
end
return introtext .. nametype .. " " .. origintext ..
". (This includes names derived at an older stage of the language.)" .. (addltext or "")
end
-- If one of the following families occurs in any of the ancestral families
-- of a given language, use it instead of the three-letter parent
-- (or immediate parent if no three-letter parent).
local high_level_families = require("Module:table").listToSet {
-- Indo-European
"gem", -- Germanic (for gme, gmq, gmw)
"inc", -- Indic (for e.g. pra = Prakrit)
"ine-ana", -- Anatolian (don't keep going to ine)
"ine-toc", -- Tocharian (don't keep going to ine)
"ira", -- Iranian (for e.g. xme = Median, xsc = Scythian)
"sla", -- Slavic (for zle, zls, zlw)
-- Other
"ath", -- Athabaskan (for e.g. apa = Apachean)
"poz", -- Malayo-Polynesian (for e.g. pqe = Eastern Malayo-Polynesian)
"cau-nwc", -- Northwest Caucasian
"cau-nec", -- Northeast Caucasian
}
local function find_high_level_family(lang)
local family = lang:getFamily()
-- (1) If no family, return nil (e.g. for Pictish).
if not family then
return nil
end
-- (2) See if any ancestor family is in `high_level_families`.
-- if so, return it.
local high_level_family = family
while high_level_family do
local high_level_code = high_level_family:getCode()
if high_level_code == "qfa-not" then
-- "not a family"; its own parent, causing an infinite loop.
-- Break rather than return so we get categories like
-- [[Category:English female given names from sign languages]] and
-- [[Category:English female given names from constructed languages]].
break
end
if high_level_families[high_level_code] then
return high_level_family
end
high_level_family = high_level_family:getFamily()
end
-- (3) If the family is of the form 'FOO-BAR', see if 'FOO' is a family.
-- If so, return it.
local basic_family = family:getCode():match("^(.-)%-.*$")
if basic_family then
basic_family = require("Module:families").getByCode(basic_family)
if basic_family then
return basic_family
end
end
-- (4) Fall back to just the family itself.
return family
end
local function match_gendered_nametype(nametype)
local gender, label = nametype:match("^(f?e?male) (given names)$")
if not gender then
gender, label = nametype:match("^(unisex) (given names)$")
end
if gender then
return gender, label
end
end
local function get_parents(lang, nametype, source)
local parents = {}
if lang then
table.insert(parents, {name = nametype, sort = get_source_text(source)})
if type(source) == "table" then
table.insert(parents, {name = "terms derived from " .. source:getDisplayForm(), sort = " "})
-- If the source is a regular language, put it in a parent category for the high-level language family, e.g. for
-- "Russian female given names from German", put it in a parent category "Russian female given names from Germanic languages"
-- (skipping over West Germanic languages).
--
-- If the source is an etymology language, put it in a parent category for the parent full language, e.g. for
-- "French male given names from Gascon", put it in a parent category "French male given names from Occitan".
--
-- If the source is a family, put it in a parent category for the parent family.
if source:hasType("family") then
local parent_family = source:getFamily()
if parent_family and parent_family:getCode() ~= "qfa-not" then
table.insert(parents, {
name = nametype .. " from " .. parent_family:getDisplayForm(),
sort = source:getCanonicalName()
})
end
elseif source:hasType("etymology-only") then
local source_parent = source:getFull()
if source_parent and source_parent:getCode() ~= "und" then
table.insert(parents, {
name = nametype .. " from " .. source_parent:getDisplayForm(),
sort = source:getCanonicalName()
})
end
else
local high_level_family = find_high_level_family(source)
if high_level_family then -- may not exist, e.g. for Pictish
table.insert(parents,
{name = nametype .. " from " .. high_level_family:getDisplayForm(),
sort = source:getCanonicalName()
})
end
end
end
local gender, label = match_gendered_nametype(nametype)
if gender then
table.insert(parents, {name = label .. " from " .. get_source_text(source), sort = gender})
end
else
local gender, label = match_gendered_nametype(nametype)
if gender then
table.insert(parents, {name = label .. " from " .. get_source_text(source), is_label = true, sort = " "})
elseif type(source) == "table" then
-- FIXME! This is duplicated in [[Module:category tree/etymology]] in the handler for umbrella categories
-- 'Terms derived from SOURCE'.
local first_umbrella_parent =
source:hasType("family") and {name = source:getCategoryName(), raw = true, sort = " "} or
source:hasType("etymology-only") and {name = "Category:" .. source:getCategoryName(), sort = nametype} or
{name = source:getCategoryName(), raw = true, sort = nametype}
table.insert(parents, first_umbrella_parent)
end
table.insert(parents, "Names subcategories by language")
end
return parents
end
table.insert(handlers, function(data)
local nametype, source_name = data.label:match("^(.*names) from (.+)$")
if nametype then
local personal_name_type_set = require(names_module).personal_name_type_set
if not personal_name_type_set[nametype] then
return nil
end
local source = source_name_to_source(nametype, source_name)
if not source then
return nil
end
return {
description = get_description(data.lang, nametype, source),
breadcrumb = "from " .. get_source_text(source),
parents = get_parents(data.lang, nametype, source),
umbrella = {
description = get_description(nil, nametype, source),
parents = get_parents(nil, nametype, source),
},
}
end
end)
-- Handler for e.g. 'English renderings of Russian male given names'.
table.insert(handlers, function(data)
local label = data.label:match("^renderings of (.*)$")
if label then
local personal_name_types = require(names_module).personal_name_types
for _, nametype in ipairs(personal_name_types) do
local sourcename = label:match("^(.+) " .. nametype .. "$")
if sourcename then
local source = require("Module:languages").getByCanonicalName(sourcename, nil, "allow etym")
if source then
return {
description = "Transliterations, respellings or other renderings of " .. source:makeCategoryLink() .. " " .. nametype .. " into {{{langdisp}}}.",
lang = data.lang,
breadcrumb = sourcename .. " " .. nametype,
parents = {
{ name = "renderings of foreign personal names", sort = sourcename },
{ name = nametype, lang = source:getCode(), sort = "{{{langname}}}" },
},
umbrella = {
description = "Transliterations, respellings or other renderings of " .. source:makeCategoryLink() .. " " .. nametype .. " into various languages.",
parents = {{name = "renderings of foreign personal names", is_label = true, sort = label}},
},
}
end
end
end
end
end)
return {LABELS = labels, RAW_CATEGORIES = raw_categories, HANDLERS = handlers}
m1l7zuyk17ys4oavk7q036dmuq35yw8
2463376
2463369
2026-07-19T08:23:14Z
Kateru Zakuro
34522
2463376
Scribunto
text/plain
local labels = {}
local raw_categories = {}
local handlers = {}
local names_module = "Module:names"
local en_utilities_module = "Module:en-utilities"
local pluralize = require(en_utilities_module).pluralize
-----------------------------------------------------------------------------
-- --
-- LABELS --
-- --
-----------------------------------------------------------------------------
labels["Tên"] = {
description = "{{{langname}}} terms that are used to refer to specific individuals or groups.",
additional = "Place names, demonyms and other kinds of names can be found in [[:Category:Names]].",
umbrella_parents = {name = "terms by semantic function", is_label = true, sort = " "},
parents = {"Chức năng ngữ nghĩa", "Danh từ riêng"},
}
------------------------------------------- given names -------------------------------------------
local human_genders = {
["nam"] = "to male individuals",
["nữ"] = "to female individuals",
["cả hai giới"] = "either to male or to female individuals",
}
--for gender, props in pairs(require(names_module).given_name_genders) do
-- if gender ~= "unknown-gender" then
-- local is_animal = props.type == "animal"
-- local cat = is_animal and gender .. " names" or gender .. " given names"
-- local desc = is_animal and " given to [[" .. gender .. "|" .. pluralize(gender) .. "]]" or " given " .. human_genders[gender]
-- local function do_cat(cat, desc, breadcrumb, parents)
-- labels[cat] = {
-- description = "{{{langname}}} " .. desc .. ".",
-- breadcrumb = breadcrumb,
-- parents = parents,
-- }
-- end
-- for _, dimaug in ipairs { "diminutive", "augmentative" } do
-- do_cat(dimaug .. "s of " .. cat, dimaug .. " names " .. desc, dimaug,
-- {gender .. " given names", dimaug .. " nouns"})
-- end
-- do_cat(cat, "names " .. desc, gender, is_animal and (gender == "animal" and "names" or is_animal and
-- "animal names") or "given names")
-- if not is_animal then
-- do_cat(gender .. " skin names", "skin names " .. desc, gender, {"skin names"})
-- end
-- end
--end
labels["Tên người"] = {
description = "{{{langname}}} names given to individuals.",
parents = {"Tên"},
}
labels["skin names"] = {
description = "{{{langname}}} terms given at birth that are used to refer to individuals from specific marital classes.",
parents = {"proper nouns", "names"},
}
------------------------------------------- surnames -------------------------------------------
labels["common-gender surnames"] = {
description = "{{{langname}}} names shared by both male and female family members, in languages that distinguish male and female surnames.",
breadcrumb = "common-gender",
parents = {"surnames"},
}
labels["Họ nữ"] = {
description = "{{{langname}}} names shared by female family members.",
breadcrumb = "nữ",
parents = {"surnames"},
}
labels["Họ nam"] = {
description = "{{{langname}}} names shared by male family members.",
breadcrumb = "nam",
parents = {"Họ"},
}
labels["Họ"] = {
description = "{{{langname}}} names shared by family members.",
parents = {"Tên"},
}
for _, nymics in ipairs { "matronymics", "patronymics" } do
local ancestor = nymics == "matronymics" and "mother, grandmother or earlier female ancestor" or
"father, grandfather or earlier male ancestor"
labels["common-gender " .. nymics] = {
description = ("{{{langname}}} names used by both men and women to indicate their %s, in languages that distinguish male and female %s."):
format(ancestor, nymics),
breadcrumb = "common-gender",
parents = {nymics},
}
labels["female " .. nymics] = {
description = ("{{{langname}}} names used by women to indicate their %s."):
format(ancestor, nymics),
breadcrumb = "female",
parents = {nymics},
}
labels["male " .. nymics] = {
description = ("{{{langname}}} names used by men to indicate their %s."):
format(ancestor, nymics),
breadcrumb = "male",
parents = {nymics},
}
labels[nymics] = {
description = ("{{{langname}}} names indicating a person's %s."):format(ancestor),
parents = {"names"},
}
end
labels["nomina gentilia"] = {
description = "{{{langname}}} \"[[family name]]s\" (singular ''[[nomen gentile]]'') in a [[w:Roman naming convention|convential Roman name]].",
parents = {"names"},
}
------------------------------------------- misc -------------------------------------------
labels["Ngoại danh"] = {
description = "{{{langname}}} [[exonym]]s, i.e. terms for toponyms whose name in {{{langname}}} is different from the name in the source language.",
parents = {"Tên"},
}
labels["renderings of foreign personal names"] = {
description = "{{{langname}}} transliterations, respellings or other renderings of foreign personal names.",
parents = {"names"},
}
-- Add 'umbrella_parents' key if not already present.
for key, data in pairs(labels) do
if not data.umbrella_parents then
data.umbrella_parents = "Thể loại con tên theo ngôn ngữ"
end
end
-----------------------------------------------------------------------------
-- --
-- RAW CATEGORIES --
-- --
-----------------------------------------------------------------------------
raw_categories["Thể loại con tên theo ngôn ngữ"] = {
description = "Umbrella categories covering topics related to names.",
additional = "{{{umbrella_meta_msg}}}",
parents = {
"Siêu thể loại chung",
{name = "Tên", is_label = true, sort = " "},
},
}
-----------------------------------------------------------------------------
-- --
-- HANDLERS --
-- --
-----------------------------------------------------------------------------
local function source_name_to_source(nametype, source_name)
local special_sources
if nametype:find("given names") then
special_sources = require("Module:table").listToSet {
"surnames", "place names", "coinages", "the Bible", "month names"
}
elseif nametype:find("surnames") then
special_sources = require("Module:table").listToSet {
"given names", "place names", "occupations", "patronymics", "matronymics",
"common nouns", "nicknames", "ethnonyms"
}
else
special_sources = {}
end
if special_sources[source_name] then
return source_name
else
return require("Module:languages").getByCanonicalName(source_name, nil,
"allow etym langs", "allow families")
end
end
local function get_source_text(source)
if type(source) == "table" then
return source:getDisplayForm()
else
return source
end
end
local function get_description(lang, nametype, source)
local origintext, addltext
if source == "surnames" then
origintext = "transferred from surnames"
elseif source == "given names" then
origintext = "transferred from given names"
elseif source == "nicknames" then
origintext = "transferred from nicknames"
elseif source == "place names" then
origintext = "transferred from place names"
addltext = " For place names that are also surnames, see " .. (
lang and "[[:Category:{{{langname}}} " .. nametype .. " from surnames]]" or
"[[:Category:" .. mw.getContentLanguage():ucfirst(nametype) .. " from surnames by language]]"
) .. "."
elseif source == "common nouns" then
origintext = "transferred from common nouns"
elseif source == "month names" then
origintext = "transferred from month names"
elseif source == "coinages" then
origintext = "originating as coinages"
addltext = " These are names of artificial origin, names based on fictional characters, combinations of two words or names or backward spellings. Names of uncertain origin can also be placed here if there is a strong suspicion that they are coinages."
elseif source == "occupations" then
origintext = "originating as occupations"
elseif source == "patronymics" then
origintext = "originating as patronymics"
elseif source == "matronymics" then
origintext = "originating as matronymics"
elseif source == "ethnonyms" then
origintext = "originating as ethnonyms"
elseif source == "the Bible" then
-- Hack esp. for Hawaiian names. We should consider changing them to
-- have the source as Biblical Hebrew and mention the derivation from
-- the Bible some other way.
origintext = "originating from the Bible"
elseif type(source) == "string" then
error("Internal error: Unrecognized string source \"" .. source .. "\", should be special-cased")
else
origintext = "of " .. source:makeCategoryLink() .. " origin"
if lang and source:getCode() == lang:getCode() then
addltext = " These are names derived from common nouns, local mythology, etc."
end
end
local introtext
if lang then
introtext = "{{{langname}}} "
else
introtext = "Categories with "
end
return introtext .. nametype .. " " .. origintext ..
". (This includes names derived at an older stage of the language.)" .. (addltext or "")
end
-- If one of the following families occurs in any of the ancestral families
-- of a given language, use it instead of the three-letter parent
-- (or immediate parent if no three-letter parent).
local high_level_families = require("Module:table").listToSet {
-- Indo-European
"gem", -- Germanic (for gme, gmq, gmw)
"inc", -- Indic (for e.g. pra = Prakrit)
"ine-ana", -- Anatolian (don't keep going to ine)
"ine-toc", -- Tocharian (don't keep going to ine)
"ira", -- Iranian (for e.g. xme = Median, xsc = Scythian)
"sla", -- Slavic (for zle, zls, zlw)
-- Other
"ath", -- Athabaskan (for e.g. apa = Apachean)
"poz", -- Malayo-Polynesian (for e.g. pqe = Eastern Malayo-Polynesian)
"cau-nwc", -- Northwest Caucasian
"cau-nec", -- Northeast Caucasian
}
local function find_high_level_family(lang)
local family = lang:getFamily()
-- (1) If no family, return nil (e.g. for Pictish).
if not family then
return nil
end
-- (2) See if any ancestor family is in `high_level_families`.
-- if so, return it.
local high_level_family = family
while high_level_family do
local high_level_code = high_level_family:getCode()
if high_level_code == "qfa-not" then
-- "not a family"; its own parent, causing an infinite loop.
-- Break rather than return so we get categories like
-- [[Category:English female given names from sign languages]] and
-- [[Category:English female given names from constructed languages]].
break
end
if high_level_families[high_level_code] then
return high_level_family
end
high_level_family = high_level_family:getFamily()
end
-- (3) If the family is of the form 'FOO-BAR', see if 'FOO' is a family.
-- If so, return it.
local basic_family = family:getCode():match("^(.-)%-.*$")
if basic_family then
basic_family = require("Module:families").getByCode(basic_family)
if basic_family then
return basic_family
end
end
-- (4) Fall back to just the family itself.
return family
end
local function match_gendered_nametype(nametype)
local gender, label = nametype:match("^(f?e?male) (given names)$")
if not gender then
gender, label = nametype:match("^(unisex) (given names)$")
end
if gender then
return gender, label
end
end
local function get_parents(lang, nametype, source)
local parents = {}
if lang then
table.insert(parents, {name = nametype, sort = get_source_text(source)})
if type(source) == "table" then
table.insert(parents, {name = "terms derived from " .. source:getDisplayForm(), sort = " "})
-- If the source is a regular language, put it in a parent category for the high-level language family, e.g. for
-- "Russian female given names from German", put it in a parent category "Russian female given names from Germanic languages"
-- (skipping over West Germanic languages).
--
-- If the source is an etymology language, put it in a parent category for the parent full language, e.g. for
-- "French male given names from Gascon", put it in a parent category "French male given names from Occitan".
--
-- If the source is a family, put it in a parent category for the parent family.
if source:hasType("family") then
local parent_family = source:getFamily()
if parent_family and parent_family:getCode() ~= "qfa-not" then
table.insert(parents, {
name = nametype .. " from " .. parent_family:getDisplayForm(),
sort = source:getCanonicalName()
})
end
elseif source:hasType("etymology-only") then
local source_parent = source:getFull()
if source_parent and source_parent:getCode() ~= "und" then
table.insert(parents, {
name = nametype .. " from " .. source_parent:getDisplayForm(),
sort = source:getCanonicalName()
})
end
else
local high_level_family = find_high_level_family(source)
if high_level_family then -- may not exist, e.g. for Pictish
table.insert(parents,
{name = nametype .. " from " .. high_level_family:getDisplayForm(),
sort = source:getCanonicalName()
})
end
end
end
local gender, label = match_gendered_nametype(nametype)
if gender then
table.insert(parents, {name = label .. " from " .. get_source_text(source), sort = gender})
end
else
local gender, label = match_gendered_nametype(nametype)
if gender then
table.insert(parents, {name = label .. " from " .. get_source_text(source), is_label = true, sort = " "})
elseif type(source) == "table" then
-- FIXME! This is duplicated in [[Module:category tree/etymology]] in the handler for umbrella categories
-- 'Terms derived from SOURCE'.
local first_umbrella_parent =
source:hasType("family") and {name = source:getCategoryName(), raw = true, sort = " "} or
source:hasType("etymology-only") and {name = "Category:" .. source:getCategoryName(), sort = nametype} or
{name = source:getCategoryName(), raw = true, sort = nametype}
table.insert(parents, first_umbrella_parent)
end
table.insert(parents, "Names subcategories by language")
end
return parents
end
table.insert(handlers, function(data)
local nametype, source_name = data.label:match("^(.*names) from (.+)$")
if nametype then
local personal_name_type_set = require(names_module).personal_name_type_set
if not personal_name_type_set[nametype] then
return nil
end
local source = source_name_to_source(nametype, source_name)
if not source then
return nil
end
return {
description = get_description(data.lang, nametype, source),
breadcrumb = "from " .. get_source_text(source),
parents = get_parents(data.lang, nametype, source),
umbrella = {
description = get_description(nil, nametype, source),
parents = get_parents(nil, nametype, source),
},
}
end
end)
-- Handler for e.g. 'English renderings of Russian male given names'.
table.insert(handlers, function(data)
local label = data.label:match("^renderings of (.*)$")
if label then
local personal_name_types = require(names_module).personal_name_types
for _, nametype in ipairs(personal_name_types) do
local sourcename = label:match("^(.+) " .. nametype .. "$")
if sourcename then
local source = require("Module:languages").getByCanonicalName(sourcename, nil, "allow etym")
if source then
return {
description = "Transliterations, respellings or other renderings of " .. source:makeCategoryLink() .. " " .. nametype .. " into {{{langdisp}}}.",
lang = data.lang,
breadcrumb = sourcename .. " " .. nametype,
parents = {
{ name = "renderings of foreign personal names", sort = sourcename },
{ name = nametype, lang = source:getCode(), sort = "{{{langname}}}" },
},
umbrella = {
description = "Transliterations, respellings or other renderings of " .. source:makeCategoryLink() .. " " .. nametype .. " into various languages.",
parents = {{name = "renderings of foreign personal names", is_label = true, sort = label}},
},
}
end
end
end
end
end)
return {LABELS = labels, RAW_CATEGORIES = raw_categories, HANDLERS = handlers}
m3y22blc7at4j5z5foy3f33bdaxowu8
2463403
2463376
2026-07-19T08:52:31Z
Kateru Zakuro
34522
2463403
Scribunto
text/plain
local labels = {}
local raw_categories = {}
local handlers = {}
local names_module = "Module:names"
local en_utilities_module = "Module:en-utilities"
local pluralize = require(en_utilities_module).pluralize
-----------------------------------------------------------------------------
-- --
-- LABELS --
-- --
-----------------------------------------------------------------------------
labels["Tên"] = {
description = "{{{langname}}} terms that are used to refer to specific individuals or groups.",
additional = "Place names, demonyms and other kinds of names can be found in [[:Category:Names]].",
umbrella_parents = {name = "terms by semantic function", is_label = true, sort = " "},
parents = {"Chức năng ngữ nghĩa", "Danh từ riêng"},
}
------------------------------------------- given names -------------------------------------------
local human_genders = {
["nam"] = "to male individuals",
["nữ"] = "to female individuals",
["cả hai giới"] = "either to male or to female individuals",
}
for gender, props in pairs(require(names_module).given_name_genders) do
if gender ~= "unknown-gender" then
local is_animal = props.type == "animal"
local cat = is_animal and gender .. " names" or gender .. " given names"
local desc = is_animal and " given to [[" .. gender .. "|" .. pluralize(gender) .. "]]" or " given " .. human_genders[gender]
local function do_cat(cat, desc, breadcrumb, parents)
labels[cat] = {
description = "{{{langname}}} " .. desc .. ".",
breadcrumb = breadcrumb,
parents = parents,
}
end
for _, dimaug in ipairs { "diminutive", "augmentative" } do
do_cat(dimaug .. "s of " .. cat, dimaug .. " names " .. desc, dimaug,
{gender .. " given names", dimaug .. " nouns"})
end
do_cat(cat, "names " .. desc, gender, is_animal and (gender == "animal" and "names" or is_animal and
"animal names") or "given names")
if not is_animal then
do_cat(gender .. " skin names", "skin names " .. desc, gender, {"skin names"})
end
end
end
labels["Tên người"] = {
description = "{{{langname}}} names given to individuals.",
parents = {"Tên"},
}
labels["skin names"] = {
description = "{{{langname}}} terms given at birth that are used to refer to individuals from specific marital classes.",
parents = {"proper nouns", "names"},
}
------------------------------------------- surnames -------------------------------------------
labels["common-gender surnames"] = {
description = "{{{langname}}} names shared by both male and female family members, in languages that distinguish male and female surnames.",
breadcrumb = "common-gender",
parents = {"surnames"},
}
labels["Họ nữ"] = {
description = "{{{langname}}} names shared by female family members.",
breadcrumb = "nữ",
parents = {"surnames"},
}
labels["Họ nam"] = {
description = "{{{langname}}} names shared by male family members.",
breadcrumb = "nam",
parents = {"Họ"},
}
labels["Họ"] = {
description = "{{{langname}}} names shared by family members.",
parents = {"Tên"},
}
for _, nymics in ipairs { "matronymics", "patronymics" } do
local ancestor = nymics == "matronymics" and "mother, grandmother or earlier female ancestor" or
"father, grandfather or earlier male ancestor"
labels["common-gender " .. nymics] = {
description = ("{{{langname}}} names used by both men and women to indicate their %s, in languages that distinguish male and female %s."):
format(ancestor, nymics),
breadcrumb = "common-gender",
parents = {nymics},
}
labels["female " .. nymics] = {
description = ("{{{langname}}} names used by women to indicate their %s."):
format(ancestor, nymics),
breadcrumb = "female",
parents = {nymics},
}
labels["male " .. nymics] = {
description = ("{{{langname}}} names used by men to indicate their %s."):
format(ancestor, nymics),
breadcrumb = "male",
parents = {nymics},
}
labels[nymics] = {
description = ("{{{langname}}} names indicating a person's %s."):format(ancestor),
parents = {"names"},
}
end
labels["nomina gentilia"] = {
description = "{{{langname}}} \"[[family name]]s\" (singular ''[[nomen gentile]]'') in a [[w:Roman naming convention|convential Roman name]].",
parents = {"names"},
}
------------------------------------------- misc -------------------------------------------
labels["Ngoại danh"] = {
description = "{{{langname}}} [[exonym]]s, i.e. terms for toponyms whose name in {{{langname}}} is different from the name in the source language.",
parents = {"Tên"},
}
labels["renderings of foreign personal names"] = {
description = "{{{langname}}} transliterations, respellings or other renderings of foreign personal names.",
parents = {"names"},
}
-- Add 'umbrella_parents' key if not already present.
for key, data in pairs(labels) do
if not data.umbrella_parents then
data.umbrella_parents = "Thể loại con tên theo ngôn ngữ"
end
end
-----------------------------------------------------------------------------
-- --
-- RAW CATEGORIES --
-- --
-----------------------------------------------------------------------------
raw_categories["Thể loại con tên theo ngôn ngữ"] = {
description = "Umbrella categories covering topics related to names.",
additional = "{{{umbrella_meta_msg}}}",
parents = {
"Siêu thể loại chung",
{name = "Tên", is_label = true, sort = " "},
},
}
-----------------------------------------------------------------------------
-- --
-- HANDLERS --
-- --
-----------------------------------------------------------------------------
local function source_name_to_source(nametype, source_name)
local special_sources
if nametype:find("given names") then
special_sources = require("Module:table").listToSet {
"surnames", "place names", "coinages", "the Bible", "month names"
}
elseif nametype:find("surnames") then
special_sources = require("Module:table").listToSet {
"given names", "place names", "occupations", "patronymics", "matronymics",
"common nouns", "nicknames", "ethnonyms"
}
else
special_sources = {}
end
if special_sources[source_name] then
return source_name
else
return require("Module:languages").getByCanonicalName(source_name, nil,
"allow etym langs", "allow families")
end
end
local function get_source_text(source)
if type(source) == "table" then
return source:getDisplayForm()
else
return source
end
end
local function get_description(lang, nametype, source)
local origintext, addltext
if source == "surnames" then
origintext = "transferred from surnames"
elseif source == "given names" then
origintext = "transferred from given names"
elseif source == "nicknames" then
origintext = "transferred from nicknames"
elseif source == "place names" then
origintext = "transferred from place names"
addltext = " For place names that are also surnames, see " .. (
lang and "[[:Category:{{{langname}}} " .. nametype .. " from surnames]]" or
"[[:Category:" .. mw.getContentLanguage():ucfirst(nametype) .. " from surnames by language]]"
) .. "."
elseif source == "common nouns" then
origintext = "transferred from common nouns"
elseif source == "month names" then
origintext = "transferred from month names"
elseif source == "coinages" then
origintext = "originating as coinages"
addltext = " These are names of artificial origin, names based on fictional characters, combinations of two words or names or backward spellings. Names of uncertain origin can also be placed here if there is a strong suspicion that they are coinages."
elseif source == "occupations" then
origintext = "originating as occupations"
elseif source == "patronymics" then
origintext = "originating as patronymics"
elseif source == "matronymics" then
origintext = "originating as matronymics"
elseif source == "ethnonyms" then
origintext = "originating as ethnonyms"
elseif source == "the Bible" then
-- Hack esp. for Hawaiian names. We should consider changing them to
-- have the source as Biblical Hebrew and mention the derivation from
-- the Bible some other way.
origintext = "originating from the Bible"
elseif type(source) == "string" then
error("Internal error: Unrecognized string source \"" .. source .. "\", should be special-cased")
else
origintext = "of " .. source:makeCategoryLink() .. " origin"
if lang and source:getCode() == lang:getCode() then
addltext = " These are names derived from common nouns, local mythology, etc."
end
end
local introtext
if lang then
introtext = "{{{langname}}} "
else
introtext = "Categories with "
end
return introtext .. nametype .. " " .. origintext ..
". (This includes names derived at an older stage of the language.)" .. (addltext or "")
end
-- If one of the following families occurs in any of the ancestral families
-- of a given language, use it instead of the three-letter parent
-- (or immediate parent if no three-letter parent).
local high_level_families = require("Module:table").listToSet {
-- Indo-European
"gem", -- Germanic (for gme, gmq, gmw)
"inc", -- Indic (for e.g. pra = Prakrit)
"ine-ana", -- Anatolian (don't keep going to ine)
"ine-toc", -- Tocharian (don't keep going to ine)
"ira", -- Iranian (for e.g. xme = Median, xsc = Scythian)
"sla", -- Slavic (for zle, zls, zlw)
-- Other
"ath", -- Athabaskan (for e.g. apa = Apachean)
"poz", -- Malayo-Polynesian (for e.g. pqe = Eastern Malayo-Polynesian)
"cau-nwc", -- Northwest Caucasian
"cau-nec", -- Northeast Caucasian
}
local function find_high_level_family(lang)
local family = lang:getFamily()
-- (1) If no family, return nil (e.g. for Pictish).
if not family then
return nil
end
-- (2) See if any ancestor family is in `high_level_families`.
-- if so, return it.
local high_level_family = family
while high_level_family do
local high_level_code = high_level_family:getCode()
if high_level_code == "qfa-not" then
-- "not a family"; its own parent, causing an infinite loop.
-- Break rather than return so we get categories like
-- [[Category:English female given names from sign languages]] and
-- [[Category:English female given names from constructed languages]].
break
end
if high_level_families[high_level_code] then
return high_level_family
end
high_level_family = high_level_family:getFamily()
end
-- (3) If the family is of the form 'FOO-BAR', see if 'FOO' is a family.
-- If so, return it.
local basic_family = family:getCode():match("^(.-)%-.*$")
if basic_family then
basic_family = require("Module:families").getByCode(basic_family)
if basic_family then
return basic_family
end
end
-- (4) Fall back to just the family itself.
return family
end
local function match_gendered_nametype(nametype)
local gender, label = nametype:match("^(f?e?male) (given names)$")
if not gender then
gender, label = nametype:match("^(unisex) (given names)$")
end
if gender then
return gender, label
end
end
local function get_parents(lang, nametype, source)
local parents = {}
if lang then
table.insert(parents, {name = nametype, sort = get_source_text(source)})
if type(source) == "table" then
table.insert(parents, {name = "terms derived from " .. source:getDisplayForm(), sort = " "})
-- If the source is a regular language, put it in a parent category for the high-level language family, e.g. for
-- "Russian female given names from German", put it in a parent category "Russian female given names from Germanic languages"
-- (skipping over West Germanic languages).
--
-- If the source is an etymology language, put it in a parent category for the parent full language, e.g. for
-- "French male given names from Gascon", put it in a parent category "French male given names from Occitan".
--
-- If the source is a family, put it in a parent category for the parent family.
if source:hasType("family") then
local parent_family = source:getFamily()
if parent_family and parent_family:getCode() ~= "qfa-not" then
table.insert(parents, {
name = nametype .. " from " .. parent_family:getDisplayForm(),
sort = source:getCanonicalName()
})
end
elseif source:hasType("etymology-only") then
local source_parent = source:getFull()
if source_parent and source_parent:getCode() ~= "und" then
table.insert(parents, {
name = nametype .. " from " .. source_parent:getDisplayForm(),
sort = source:getCanonicalName()
})
end
else
local high_level_family = find_high_level_family(source)
if high_level_family then -- may not exist, e.g. for Pictish
table.insert(parents,
{name = nametype .. " from " .. high_level_family:getDisplayForm(),
sort = source:getCanonicalName()
})
end
end
end
local gender, label = match_gendered_nametype(nametype)
if gender then
table.insert(parents, {name = label .. " from " .. get_source_text(source), sort = gender})
end
else
local gender, label = match_gendered_nametype(nametype)
if gender then
table.insert(parents, {name = label .. " from " .. get_source_text(source), is_label = true, sort = " "})
elseif type(source) == "table" then
-- FIXME! This is duplicated in [[Module:category tree/etymology]] in the handler for umbrella categories
-- 'Terms derived from SOURCE'.
local first_umbrella_parent =
source:hasType("family") and {name = source:getCategoryName(), raw = true, sort = " "} or
source:hasType("etymology-only") and {name = "Category:" .. source:getCategoryName(), sort = nametype} or
{name = source:getCategoryName(), raw = true, sort = nametype}
table.insert(parents, first_umbrella_parent)
end
table.insert(parents, "Names subcategories by language")
end
return parents
end
table.insert(handlers, function(data)
local nametype, source_name = data.label:match("^(.*names) from (.+)$")
if nametype then
local personal_name_type_set = require(names_module).personal_name_type_set
if not personal_name_type_set[nametype] then
return nil
end
local source = source_name_to_source(nametype, source_name)
if not source then
return nil
end
return {
description = get_description(data.lang, nametype, source),
breadcrumb = "from " .. get_source_text(source),
parents = get_parents(data.lang, nametype, source),
umbrella = {
description = get_description(nil, nametype, source),
parents = get_parents(nil, nametype, source),
},
}
end
end)
-- Handler for e.g. 'English renderings of Russian male given names'.
table.insert(handlers, function(data)
local label = data.label:match("^renderings of (.*)$")
if label then
local personal_name_types = require(names_module).personal_name_types
for _, nametype in ipairs(personal_name_types) do
local sourcename = label:match("^(.+) " .. nametype .. "$")
if sourcename then
local source = require("Module:languages").getByCanonicalName(sourcename, nil, "allow etym")
if source then
return {
description = "Transliterations, respellings or other renderings of " .. source:makeCategoryLink() .. " " .. nametype .. " into {{{langdisp}}}.",
lang = data.lang,
breadcrumb = sourcename .. " " .. nametype,
parents = {
{ name = "renderings of foreign personal names", sort = sourcename },
{ name = nametype, lang = source:getCode(), sort = "{{{langname}}}" },
},
umbrella = {
description = "Transliterations, respellings or other renderings of " .. source:makeCategoryLink() .. " " .. nametype .. " into various languages.",
parents = {{name = "renderings of foreign personal names", is_label = true, sort = label}},
},
}
end
end
end
end
end)
return {LABELS = labels, RAW_CATEGORIES = raw_categories, HANDLERS = handlers}
m1l7zuyk17ys4oavk7q036dmuq35yw8
2463404
2463403
2026-07-19T08:54:56Z
Kateru Zakuro
34522
2463404
Scribunto
text/plain
local labels = {}
local raw_categories = {}
local handlers = {}
local names_module = "Module:names"
local en_utilities_module = "Module:en-utilities"
--local pluralize = require(en_utilities_module).pluralize
-----------------------------------------------------------------------------
-- --
-- LABELS --
-- --
-----------------------------------------------------------------------------
labels["Tên"] = {
description = "{{{langname}}} terms that are used to refer to specific individuals or groups.",
additional = "Place names, demonyms and other kinds of names can be found in [[:Category:Names]].",
umbrella_parents = {name = "terms by semantic function", is_label = true, sort = " "},
parents = {"Chức năng ngữ nghĩa", "Danh từ riêng"},
}
------------------------------------------- given names -------------------------------------------
local human_genders = {
["nam"] = "to male individuals",
["nữ"] = "to female individuals",
["cả hai giới"] = "either to male or to female individuals",
}
--for gender, props in pairs(require(names_module).given_name_genders) do
-- if gender ~= "unknown-gender" then
-- local is_animal = props.type == "animal"
-- local cat = is_animal and gender .. " names" or gender .. " given names"
-- local desc = is_animal and " given to [[" .. gender .. "|" .. pluralize(gender) .. "]]" or " given " .. human_genders[gender]
-- local function do_cat(cat, desc, breadcrumb, parents)
-- labels[cat] = {
-- description = "{{{langname}}} " .. desc .. ".",
-- breadcrumb = breadcrumb,
-- parents = parents,
-- }
-- end
--
-- for _, dimaug in ipairs { "diminutive", "augmentative" } do
-- do_cat(dimaug .. "s of " .. cat, dimaug .. " names " .. desc, dimaug,
-- {gender .. " given names", dimaug .. " nouns"})
-- end
-- do_cat(cat, "names " .. desc, gender, is_animal and (gender == "animal" and "names" or is_animal and
-- "animal names") or "given names")
-- if not is_animal then
-- do_cat(gender .. " skin names", "skin names " .. desc, gender, {"skin names"})
-- end
-- end
--end
labels["Tên người"] = {
description = "{{{langname}}} names given to individuals.",
parents = {"Tên"},
}
labels["skin names"] = {
description = "{{{langname}}} terms given at birth that are used to refer to individuals from specific marital classes.",
parents = {"proper nouns", "names"},
}
------------------------------------------- surnames -------------------------------------------
labels["common-gender surnames"] = {
description = "{{{langname}}} names shared by both male and female family members, in languages that distinguish male and female surnames.",
breadcrumb = "common-gender",
parents = {"surnames"},
}
labels["Họ nữ"] = {
description = "{{{langname}}} names shared by female family members.",
breadcrumb = "nữ",
parents = {"surnames"},
}
labels["Họ nam"] = {
description = "{{{langname}}} names shared by male family members.",
breadcrumb = "nam",
parents = {"Họ"},
}
labels["Họ"] = {
description = "{{{langname}}} names shared by family members.",
parents = {"Tên"},
}
for _, nymics in ipairs { "matronymics", "patronymics" } do
local ancestor = nymics == "matronymics" and "mother, grandmother or earlier female ancestor" or
"father, grandfather or earlier male ancestor"
labels["common-gender " .. nymics] = {
description = ("{{{langname}}} names used by both men and women to indicate their %s, in languages that distinguish male and female %s."):
format(ancestor, nymics),
breadcrumb = "common-gender",
parents = {nymics},
}
labels["female " .. nymics] = {
description = ("{{{langname}}} names used by women to indicate their %s."):
format(ancestor, nymics),
breadcrumb = "female",
parents = {nymics},
}
labels["male " .. nymics] = {
description = ("{{{langname}}} names used by men to indicate their %s."):
format(ancestor, nymics),
breadcrumb = "male",
parents = {nymics},
}
labels[nymics] = {
description = ("{{{langname}}} names indicating a person's %s."):format(ancestor),
parents = {"names"},
}
end
labels["nomina gentilia"] = {
description = "{{{langname}}} \"[[family name]]s\" (singular ''[[nomen gentile]]'') in a [[w:Roman naming convention|convential Roman name]].",
parents = {"names"},
}
------------------------------------------- misc -------------------------------------------
labels["Ngoại danh"] = {
description = "{{{langname}}} [[exonym]]s, i.e. terms for toponyms whose name in {{{langname}}} is different from the name in the source language.",
parents = {"Tên"},
}
labels["renderings of foreign personal names"] = {
description = "{{{langname}}} transliterations, respellings or other renderings of foreign personal names.",
parents = {"names"},
}
-- Add 'umbrella_parents' key if not already present.
for key, data in pairs(labels) do
if not data.umbrella_parents then
data.umbrella_parents = "Thể loại con tên theo ngôn ngữ"
end
end
-----------------------------------------------------------------------------
-- --
-- RAW CATEGORIES --
-- --
-----------------------------------------------------------------------------
raw_categories["Thể loại con tên theo ngôn ngữ"] = {
description = "Umbrella categories covering topics related to names.",
additional = "{{{umbrella_meta_msg}}}",
parents = {
"Siêu thể loại chung",
{name = "Tên", is_label = true, sort = " "},
},
}
-----------------------------------------------------------------------------
-- --
-- HANDLERS --
-- --
-----------------------------------------------------------------------------
local function source_name_to_source(nametype, source_name)
local special_sources
if nametype:find("given names") then
special_sources = require("Module:table").listToSet {
"surnames", "place names", "coinages", "the Bible", "month names"
}
elseif nametype:find("surnames") then
special_sources = require("Module:table").listToSet {
"given names", "place names", "occupations", "patronymics", "matronymics",
"common nouns", "nicknames", "ethnonyms"
}
else
special_sources = {}
end
if special_sources[source_name] then
return source_name
else
return require("Module:languages").getByCanonicalName(source_name, nil,
"allow etym langs", "allow families")
end
end
local function get_source_text(source)
if type(source) == "table" then
return source:getDisplayForm()
else
return source
end
end
local function get_description(lang, nametype, source)
local origintext, addltext
if source == "surnames" then
origintext = "transferred from surnames"
elseif source == "given names" then
origintext = "transferred from given names"
elseif source == "nicknames" then
origintext = "transferred from nicknames"
elseif source == "place names" then
origintext = "transferred from place names"
addltext = " For place names that are also surnames, see " .. (
lang and "[[:Category:{{{langname}}} " .. nametype .. " from surnames]]" or
"[[:Category:" .. mw.getContentLanguage():ucfirst(nametype) .. " from surnames by language]]"
) .. "."
elseif source == "common nouns" then
origintext = "transferred from common nouns"
elseif source == "month names" then
origintext = "transferred from month names"
elseif source == "coinages" then
origintext = "originating as coinages"
addltext = " These are names of artificial origin, names based on fictional characters, combinations of two words or names or backward spellings. Names of uncertain origin can also be placed here if there is a strong suspicion that they are coinages."
elseif source == "occupations" then
origintext = "originating as occupations"
elseif source == "patronymics" then
origintext = "originating as patronymics"
elseif source == "matronymics" then
origintext = "originating as matronymics"
elseif source == "ethnonyms" then
origintext = "originating as ethnonyms"
elseif source == "the Bible" then
-- Hack esp. for Hawaiian names. We should consider changing them to
-- have the source as Biblical Hebrew and mention the derivation from
-- the Bible some other way.
origintext = "originating from the Bible"
elseif type(source) == "string" then
error("Internal error: Unrecognized string source \"" .. source .. "\", should be special-cased")
else
origintext = "of " .. source:makeCategoryLink() .. " origin"
if lang and source:getCode() == lang:getCode() then
addltext = " These are names derived from common nouns, local mythology, etc."
end
end
local introtext
if lang then
introtext = "{{{langname}}} "
else
introtext = "Categories with "
end
return introtext .. nametype .. " " .. origintext ..
". (This includes names derived at an older stage of the language.)" .. (addltext or "")
end
-- If one of the following families occurs in any of the ancestral families
-- of a given language, use it instead of the three-letter parent
-- (or immediate parent if no three-letter parent).
local high_level_families = require("Module:table").listToSet {
-- Indo-European
"gem", -- Germanic (for gme, gmq, gmw)
"inc", -- Indic (for e.g. pra = Prakrit)
"ine-ana", -- Anatolian (don't keep going to ine)
"ine-toc", -- Tocharian (don't keep going to ine)
"ira", -- Iranian (for e.g. xme = Median, xsc = Scythian)
"sla", -- Slavic (for zle, zls, zlw)
-- Other
"ath", -- Athabaskan (for e.g. apa = Apachean)
"poz", -- Malayo-Polynesian (for e.g. pqe = Eastern Malayo-Polynesian)
"cau-nwc", -- Northwest Caucasian
"cau-nec", -- Northeast Caucasian
}
local function find_high_level_family(lang)
local family = lang:getFamily()
-- (1) If no family, return nil (e.g. for Pictish).
if not family then
return nil
end
-- (2) See if any ancestor family is in `high_level_families`.
-- if so, return it.
local high_level_family = family
while high_level_family do
local high_level_code = high_level_family:getCode()
if high_level_code == "qfa-not" then
-- "not a family"; its own parent, causing an infinite loop.
-- Break rather than return so we get categories like
-- [[Category:English female given names from sign languages]] and
-- [[Category:English female given names from constructed languages]].
break
end
if high_level_families[high_level_code] then
return high_level_family
end
high_level_family = high_level_family:getFamily()
end
-- (3) If the family is of the form 'FOO-BAR', see if 'FOO' is a family.
-- If so, return it.
local basic_family = family:getCode():match("^(.-)%-.*$")
if basic_family then
basic_family = require("Module:families").getByCode(basic_family)
if basic_family then
return basic_family
end
end
-- (4) Fall back to just the family itself.
return family
end
local function match_gendered_nametype(nametype)
local gender, label = nametype:match("^(f?e?male) (given names)$")
if not gender then
gender, label = nametype:match("^(unisex) (given names)$")
end
if gender then
return gender, label
end
end
local function get_parents(lang, nametype, source)
local parents = {}
if lang then
table.insert(parents, {name = nametype, sort = get_source_text(source)})
if type(source) == "table" then
table.insert(parents, {name = "terms derived from " .. source:getDisplayForm(), sort = " "})
-- If the source is a regular language, put it in a parent category for the high-level language family, e.g. for
-- "Russian female given names from German", put it in a parent category "Russian female given names from Germanic languages"
-- (skipping over West Germanic languages).
--
-- If the source is an etymology language, put it in a parent category for the parent full language, e.g. for
-- "French male given names from Gascon", put it in a parent category "French male given names from Occitan".
--
-- If the source is a family, put it in a parent category for the parent family.
if source:hasType("family") then
local parent_family = source:getFamily()
if parent_family and parent_family:getCode() ~= "qfa-not" then
table.insert(parents, {
name = nametype .. " from " .. parent_family:getDisplayForm(),
sort = source:getCanonicalName()
})
end
elseif source:hasType("etymology-only") then
local source_parent = source:getFull()
if source_parent and source_parent:getCode() ~= "und" then
table.insert(parents, {
name = nametype .. " from " .. source_parent:getDisplayForm(),
sort = source:getCanonicalName()
})
end
else
local high_level_family = find_high_level_family(source)
if high_level_family then -- may not exist, e.g. for Pictish
table.insert(parents,
{name = nametype .. " from " .. high_level_family:getDisplayForm(),
sort = source:getCanonicalName()
})
end
end
end
local gender, label = match_gendered_nametype(nametype)
if gender then
table.insert(parents, {name = label .. " from " .. get_source_text(source), sort = gender})
end
else
local gender, label = match_gendered_nametype(nametype)
if gender then
table.insert(parents, {name = label .. " from " .. get_source_text(source), is_label = true, sort = " "})
elseif type(source) == "table" then
-- FIXME! This is duplicated in [[Module:category tree/etymology]] in the handler for umbrella categories
-- 'Terms derived from SOURCE'.
local first_umbrella_parent =
source:hasType("family") and {name = source:getCategoryName(), raw = true, sort = " "} or
source:hasType("etymology-only") and {name = "Category:" .. source:getCategoryName(), sort = nametype} or
{name = source:getCategoryName(), raw = true, sort = nametype}
table.insert(parents, first_umbrella_parent)
end
table.insert(parents, "Names subcategories by language")
end
return parents
end
table.insert(handlers, function(data)
local nametype, source_name = data.label:match("^(.*names) from (.+)$")
if nametype then
local personal_name_type_set = require(names_module).personal_name_type_set
if not personal_name_type_set[nametype] then
return nil
end
local source = source_name_to_source(nametype, source_name)
if not source then
return nil
end
return {
description = get_description(data.lang, nametype, source),
breadcrumb = "from " .. get_source_text(source),
parents = get_parents(data.lang, nametype, source),
umbrella = {
description = get_description(nil, nametype, source),
parents = get_parents(nil, nametype, source),
},
}
end
end)
-- Handler for e.g. 'English renderings of Russian male given names'.
table.insert(handlers, function(data)
local label = data.label:match("^renderings of (.*)$")
if label then
local personal_name_types = require(names_module).personal_name_types
for _, nametype in ipairs(personal_name_types) do
local sourcename = label:match("^(.+) " .. nametype .. "$")
if sourcename then
local source = require("Module:languages").getByCanonicalName(sourcename, nil, "allow etym")
if source then
return {
description = "Transliterations, respellings or other renderings of " .. source:makeCategoryLink() .. " " .. nametype .. " into {{{langdisp}}}.",
lang = data.lang,
breadcrumb = sourcename .. " " .. nametype,
parents = {
{ name = "renderings of foreign personal names", sort = sourcename },
{ name = nametype, lang = source:getCode(), sort = "{{{langname}}}" },
},
umbrella = {
description = "Transliterations, respellings or other renderings of " .. source:makeCategoryLink() .. " " .. nametype .. " into various languages.",
parents = {{name = "renderings of foreign personal names", is_label = true, sort = label}},
},
}
end
end
end
end
end)
return {LABELS = labels, RAW_CATEGORIES = raw_categories, HANDLERS = handlers}
0vt0ish4kzaegdac0dtsl6qlq0u6jne
Mô đun:my-pron
828
280565
2463184
2116843
2026-07-18T16:07:47Z
Hiyuune
50834
bỏ dạng số nhiều
2463184
Scribunto
text/plain
local export = {}
local gsub = mw.ustring.gsub
local sub = mw.ustring.sub
local match = mw.ustring.match
local system_list = {
{ 1, ["type"] = "phonetic", ["name"] = "IPA" },
{ 2, ["type"] = "orthographic", ["name"] = "MLCTS" },
{ 3, ["type"] = "orthographic", ["name"] = "ALA-LC" },
{ 4, ["type"] = "phonetic", ["name"] = "BGN/PCGN" },
{ 5, ["type"] = "phonetic", ["name"] = "Okell" },
}
local initial_table = {
["က"] = { "k", "k", "k", "k", "k" },
["ကျ"] = { "t͡ɕ", "ky", "ky", "ky", "c" },
["ကြ"] = { "t͡ɕ", "kr", "kr", "ky", "c" },
["ကျွ"] = { "t͡ɕw", "kyw", "kyv", "kyw", "cw" },
["ကြွ"] = { "t͡ɕw", "krw", "krv", "kyw", "cw" },
["ကွ"] = { "kw", "kw", "kv", "kw", "kw" },
["ခ"] = { "kʰ", "hk", "kh", "hk", "hk" },
["ချ"] = { "t͡ɕʰ", "hky", "khy", "ch", "hc" },
["ခြ"] = { "t͡ɕʰ", "hkr", "khr", "ch", "hc" },
["ချွ"] = { "t͡ɕʰw", "hkyw", "khyv", "chw", "hcw" },
["ခြွ"] = { "t͡ɕʰw", "hkrw", "khrv", "chw", "hcw" },
["ခွ"] = { "kʰw", "hkw", "khv", "hkw", "hkw" },
["ဂ"] = { "ɡ", "g", "g", "g", "g" },
["ဂျ"] = { "d͡ʑ", "gy", "gy", "gy", "j" },
["ဂြ"] = { "d͡ʑ", "gr", "gr", "gy", "j" },
["ဂျွ"] = { "d͡ʑw", "gyw", "gyv", "gyw", "jw" },
["ဂွ"] = { "ɡw", "gw", "gv", "gw", "gw" },
["ဃ"] = { "ɡ", "gh", "gh", "g", "g" },
["င"] = { "ŋ", "ng", "ṅ", "ng", "ng" },
["ငှ"] = { "ŋ̊", "hng", "ṅh", "hng", "hng" },
["ငြ"] = { "ɲ", "ngr", "ṅr", "ny", "ny" },
["ငြှ"] = { "ɲ̊", "hngr", "ṅrh", "hny", "hny" },
["ငွ"] = { "ŋw", "ngw", "ṅv", "ngw", "ngw" },
["ငွှ"] = { "ŋ̊w", "hngw", "ṅvh", "hngw", "hngw" },
["စ"] = { "s", "c", "c", "s", "s" },
["စွ"] = { "sw", "cw", "cv", "sw", "sw" },
["ဆ"] = { "sʰ", "hc", "ch", "hs", "hs" },
["ဆွ"] = { "sʰw", "hcw", "chv", "hsw", "hsw" },
["ဇ"] = { "z", "j", "j", "z", "z" },
["ဇွ"] = { "zw", "jw", "jv", "zw", "zw" },
["ဈ"] = { "z", "jh", "jh", "z", "z" },
["ဉ"] = { "ɲ", "ny", "ñ", "ny", "ny" },
["ည"] = { "ɲ", "ny", "ññ", "ny", "ny" },
["ဉှ"] = { "ɲ̊", "hny", "ñh", "hny", "hny" },
["ညှ"] = { "ɲ̊", "hny", "ññh", "hny", "hny" },
["ညွ"] = { "ɲw", "nyw", "ñv", "nyw", "nyw" },
["ညွှ"] = { "ɲ̊w", "hnyw", "ñvh", "hnyw", "hnyw" },
["ဋ"] = { "t", "t", "ṭ", "t", "t" },
["ဌ"] = { "tʰ", "ht", "ṭh", "ht", "ht" },
["ဍ"] = { "d", "d", "ḍ", "d", "d" },
["ဎ"] = { "d", "dh", "ḍh", "d", "d" },
["ဏ"] = { "n", "n", "ṇ", "n", "n" },
["ဏှ"] = { "n̥", "hn", "ṇh", "hn", "hn" },
["တ"] = { "t", "t", "t", "t", "t" },
["တျ"] = { "tj", "ty", "ty", "ty", "ty" },
["တြ"] = { "tɹ", "tr", "tr", "tr", "tr" },
["တွ"] = { "tw", "tw", "tv", "tw", "tw" },
["ထ"] = { "tʰ", "ht", "th", "ht", "ht" },
["ထွ"] = { "tʰw", "htw", "thv", "htw", "htw" },
["ဒ"] = { "d", "d", "d", "d", "d" },
["ဒျ"] = { "dj", "dy", "dy", "dy", "dy" },
["ဒြ"] = { "dɹ", "dr", "dr", "dr", "dr" },
["ဒွ"] = { "dw", "dw", "dv", "dw", "dw" },
["ဓ"] = { "d", "dh", "dh", "d", "d" },
["န"] = { "n", "n", "n", "n", "n" },
["နှ"] = { "n̥", "hn", "nh", "hn", "hn" },
["နျ"] = { "nj", "ny", "ny", "ny", "ny" },
["နွ"] = { "nw", "nw", "nv", "nw", "nw" },
["နွှ"] = { "n̥w", "hnw", "nvh", "hnw", "hnw" },
["ပ"] = { "p", "p", "p", "p", "p" },
["ပျ"] = { "pj", "py", "py", "py", "py" },
["ပြ"] = { "pj", "pr", "pr", "py", "py" },
["ပြွ"] = { "pw", "prw", "prv", "pw", "pw" },
["ပွ"] = { "pw", "pw", "pv", "pw", "pw" },
["ဖ"] = { "pʰ", "hp", "ph", "hp", "hp" },
["ဖျ"] = { "pʰj", "hpy", "phy", "hpy", "hpy" },
["ဖြ"] = { "pʰj", "hpr", "phr", "hpy", "hpy" },
["ဖွ"] = { "pʰw", "hpw", "phv", "hpw", "hpw" },
["ဗ"] = { "b", "b", "b", "b", "b" },
["ဗျ"] = { "bj", "by", "by", "by", "by" },
["ဗြ"] = { "bj", "br", "br", "by", "by" },
["ဗွ"] = { "bw", "bw", "bv", "bw", "bw" },
["ဘ"] = { "b", "bh", "bh", "b", "b" },
["-ဘ"] = { "pʰ", "bh", "bh", "hp", "hp" },
["ဘွ"] = { "bw", "bhw", "bhv", "bw", "bw" },
["-ဘွ"] = { "pʰw", "bhw", "bhw", "hpw", "hpw" },
["မ"] = { "m", "m", "m", "m", "m" },
["မှ"] = { "m̥", "hm", "mh", "hm", "hm" },
["မျ"] = { "mj", "my", "my", "my", "my" },
["မျှ"] = { "m̥j", "hmy", "myh", "hmy", "hmy" },
["မြ"] = { "mj", "mr", "mr", "my", "my" },
["မြှ"] = { "m̥j", "hmr", "mrh", "hmy", "hmy" },
["မြွ"] = { "mjw", "mrw", "mrv", "myw", "myw" },
["မြွှ"] = { "m̥w", "hmrw", "mrvh", "hmw", "hmw" },
["မွ"] = { "mw", "mw", "mv", "mw", "mw" },
["မွှ"] = { "m̥w", "hmw", "mvh", "hmw", "hmw" },
["ယ"] = { "j", "y", "y", "y", "y" },
["ယှ"] = { "ʃ", "hy", "yh", "sh", "hy" },
["သျှ"] = { "ʃ", "hsy", "syh", "sh", "hy" },
["ယွ"] = { "jw", "yw", "yv", "yw", "yw" },
["ရ"] = { "j", "r", "r", "y", "y" },
["*ရ"] = { "ɹ", "r", "r", "r", "r" },
["ရှ"] = { "ʃ", "hr", "rh", "sh", "hy" },
["ရွ"] = { "jw", "rw", "rv", "yw", "yw" },
["ရွှ"] = { "ʃw", "hrw", "rvh", "shw", "hyw" },
["လ"] = { "l", "l", "l", "l", "l" },
["လှ"] = { "l̥", "hl", "lh", "hl", "hl" },
["လျ"] = { "j", "ly", "ly", "y", "y" },
["+သျှ"] = { "j", "hsy", "syh", "y", "y" },
["*လျ"] = { "lj", "ly", "ly", "ly", "ly" },
["လျှ"] = { "ʃ", "hly", "lyh", "sh", "hy" },
["*လျှ"] = { "l̥j", "hly", "lyh", "hly", "hly" },
["လွ"] = { "lw", "lw", "lv", "lw", "lw" },
["လွှ"] = { "l̥w", "hlw", "lvh", "hlw", "hlw" },
["ဝ"] = { "w", "w", "v", "w", "w" },
["ဝှ"] = { "ʍ", "hw", "vh", "hw", "hw" },
["သ"] = { "θ", "s", "s", "th", "th" },
["+သ"] = { "ð", "s", "s", "dh", "th" },
["သွ"] = { "θw", "sw", "sv", "thw", "thw" },
["+သွ"] = { "ðw", "sw", "sw", "dhw", "thw" },
["ဟ"] = { "h", "h", "h", "h", "h" },
["ဟွ"] = { "hw", "hw", "hv", "hw", "hw" },
["ဠ"] = { "l", "l", "ḷ", "l", "l" },
["အ"] = { "ʔ", "", "ʼ", "", "" },
-- only appears after a vowel in the same word
["ဿ"] = { "ʔθ", "ss", "ss", "tth", "ʔth" },
[""] = { "ʔ", "", "", "", "" },
["-"] = { "", "", "", "", "" },
["ျ"] = { nil, "y", "y", nil, nil },
["ြ"] = { nil, "r", "r", nil, nil },
["ွ"] = { nil, "w", "w", nil, nil },
}
local initial_voicing = {
["+က"] = "ဂ",
["+ခ"] = "ဂ",
["+စ"] = "ဇ",
["+ဆ"] = "ဇ",
["+ဋ"] = "ဍ",
["+ဌ"] = "ဍ",
["+တ"] = "ဒ",
["+ထ"] = "ဒ",
["+ပ"] = "ဗ",
["+ဖ"] = "ဗ",
["-ဘ"] = "ဖ",
}
local final_table = {
[""] = { "a̰", "a.", "a", "a.", "á" },
["က်"] = { "ɛʔ", "ak", "akʻ", "et", "eʔ" },
["င်"] = { "ɪ̀ɴ", "ang", "aṅʻ", "in", "iñ" },
["စ်"] = { "ɪʔ", "ac", "acʻ", "it", "iʔ" },
["ည်"] = { "ì", "any", "aññʻ", "i", "i" },
["ည်2"] = { "è", "any", "aññʻ", "e", "ei" },
["ည်3"] = { "ɛ̀", "any", "aññʻ", "è", "e" },
["ဉ်"] = { "ɪ̀ɴ", "any", "añʻ", "in", "iñ" },
["တ်"] = { "aʔ", "at", "atʻ", "at", "aʔ" },
["န်"] = { "àɴ", "an", "anʻ", "an", "añ" },
["ပ်"] = { "aʔ", "ap", "apʻ", "at", "aʔ" },
["မ်"] = { "àɴ", "am", "amʻ", "an", "añ" },
["ယ်"] = { "ɛ̀", "ai", "ayʻ", "è", "e" },
["ံ"] = { "àɴ", "am", "aṃ", "an", "añ" },
["ာ"] = { "à", "a", "ā", "a", "a" },
["ါ"] = { "à", "a", "ā", "a", "a" },
["ိ"] = { "ḭ", "i.", "i", "i.", "í" },
["ိတ်"] = { "eɪʔ", "it", "itʻ", "eik", "eiʔ" },
["ိန်"] = { "èɪɴ", "in", "inʻ", "ein", "eiñ" },
["ိပ်"] = { "eɪʔ", "ip", "ipʻ", "eik", "eiʔ" },
["ိမ်"] = { "èɪɴ", "im", "imʻ", "ein", "eiñ" },
["ိံ"] = { "èɪɴ", "im", "iṃ", "ein", "eiñ" },
["ီ"] = { "ì", "i", "ī", "i", "i" },
["ု"] = { "ṵ", "u.", "u", "u.", "ú" },
["ုတ်"] = { "oʊʔ", "ut", "utʻ", "ok", "ouʔ" },
["ုန်"] = { "òʊɴ", "un", "unʻ", "on", "ouñ" },
["ုပ်"] = { "oʊʔ", "up", "upʻ", "ok", "ouʔ" },
["ုမ်"] = { "òʊɴ", "um", "umʻ", "on", "ouñ" },
["ုံ"] = { "òʊɴ", "um", "uṃ", "on", "ouñ" },
["ူ"] = { "ù", "u", "ū", "u", "u" },
["ေ"] = { "è", "e", "e", "e", "ei" },
["ဲ"] = { "ɛ́", "ai:", "ai", "è:", "è" },
["ော"] = { "ɔ́", "au:", "o", "aw:", "ò" },
["ောက်"] = { "aʊʔ", "auk", "okʻ", "auk", "auʔ" },
["ောင်"] = { "àʊɴ", "aung", "oṅʻ", "aung", "auñ" },
["ော်"] = { "ɔ̀", "au", "oʻ", "aw", "o" },
["ို"] = { "ò", "ui", "ui", "o", "ou" },
["ိုက်"] = { "aɪʔ", "uik", "uikʻ", "aik", "aiʔ" },
["ိုင်"] = { "àɪɴ", "uing", "uiṅʻ", "aing", "aiñ" },
["ွတ်"] = { "ʊʔ", "wat", "vatʻ", "ut", "uʔ" },
["ွန်"] = { "ʊ̀ɴ", "wan", "vanʻ", "un", "uñ" },
["ွပ်"] = { "ʊʔ", "wap", "vapʻ", "ut", "uʔ" },
["ွမ်"] = { "ʊ̀ɴ", "wam", "vamʻ", "un", "uñ" },
["ွံ"] = { "ʊ̀ɴ", "wam", "vaṃ", "un", "uñ" },
["'"] = { "ə", "a", "a", "ă", "ă" },
["်"] = { "", "", "ʻ", "", "" },
}
local nucleus_table = {
[""] = { "à", "a", "a", "a", "a" },
["ိ"] = { "ì", "i", "i", "i", "i" },
["ု"] = { "ù", "u", "u", "u", "u" },
["ော"] = { "ɔ̀", "au", "o", "aw", "o" },
["ေါ"] = { "ɔ̀", "au", "o", "aw", "o" },
["ွ"] = { "ʊ̀", "wa", "va", "u", "u" },
}
local indep_letter_table = {
["ဣ"] = { "ḭ", "i.", "i", "i.", "í" },
["ဤ"] = { "ì", "i", "ī", "i", "i" },
["ဥ"] = { "ṵ", "u.", "u", "u.", "ú" },
["ဦ"] = { "ù", "u", "ū", "u", "u" },
["ဧ"] = { "è", "e", "e", "e", "ei" },
["၏"] = { "ɛ̰", "e", "e*", "è.", "é" },
["ဩ"] = { "ɔ́", "au:", "o", "aw:", "ò" },
["ဪ"] = { "ɔ̀", "au", "oʻ", "aw", "o" },
["၌"] = { "n̥aɪʔ", "hnai.", "n*", "hnaik", "hnaiʔ" },
["၍"] = { "jwḛ", "rwe", "r*", "ywe.", "yweí" },
}
local tone_table = {
["း"] = { "́", ":", "ʺ", ":", "̀" },
["့"] = { "̰", ".", "ʹ", ".", "́" },
}
local ambig_intersyl = {
[1] = {
},
[2] = {
["ky"] = 1, ["kr"] = 1, ["kw"] = 1,
["gy"] = 1, ["gr"] = 1, ["gw"] = 1,
["ng"] = 1, ["ny"] = 1,
["cw"] = 1, ["tw"] = 1, ["nw"] = 1,
["py"] = 1, ["pr"] = 1, ["pw"] = 1,
["my"] = 1, ["mr"] = 1, ["mw"] = 1,
},
[3] = {
},
[4] = {
["ky"] = 1, ["kr"] = 1, ["kw"] = 1,
["gy"] = 1, ["gr"] = 1, ["gw"] = 1,
["ng"] = 1, ["ny"] = 1,
["cw"] = 1, ["tw"] = 1, ["nw"] = 1,
["tr"] = 1, ["tw"] = 1,
["py"] = 1, ["pr"] = 1, ["pw"] = 1,
["my"] = 1, ["mr"] = 1, ["mw"] = 1,
},
[5] = {
["ou"] = 1,
},
}
local reverse_table = {
["hm"] = "မှ", ["m"] = "မ",
["hn"] = "နှ", ["n"] = "န",
["hny"] = "ညှ", ["ny"] = "ည",
["hng"] = "ငှ", ["ng"] = "င",
["p"] = "ပ", ["hp"] = "ဖ", ["b"] = "ဗ",
["t"] = "တ", ["ht"] = "ထ", ["d"] = "ဒ",
["c"] = "ကျ", ["hc"] = "ချ", ["j"] = "ဂျ",
["k"] = "က", ["hk"] = "ခ", ["g"] = "ဂ",
[""] = "အ",
["th"] = "သ", ["+th"] = "+သ",
["s"] = "စ", ["hs"] = "ဆ", ["z"] = "ဇ",
["hy"] = "ရှ",
["h"] = "ဟ",
["r"] = "*ရ",
["y"] = "ယ",
["hw"] = "ဝှ", ["w"] = "ဝ",
["hl"] = "လှ", ["l"] = "လ",
["hmw"] = "မွှ", ["mw"] = "မွ", ["hmy"] = "မျှ", ["my"] = "မျ",
["hnw"] = "နွှ", ["nw"] = "နွ",
["hnyw"] = "ညွှ", ["nyw"] = "ညွ",
["hngw"] = "ငွှ", ["ngw"] = "ငွ",
["pw"] = "ပွ", ["hpw"] = "ဖွ", ["bw"] = "ဗွ",
["py"] = "ပျ", ["hpy"] = "ဖျ", ["by"] = "ဗျ",
["tw"] = "တွ", ["htw"] = "ထွ", ["dw"] = "ဒွ",
["cw"] = "ကျွ", ["hcw"] = "ချွ", ["jw"] = "ဂျွ",
["kw"] = "ကွ", ["hkw"] = "ခွ", ["gw"] = "ဂွ",
["thw"] = "သွ",
["sw"] = "စွ", ["hsw"] = "ဆွ", ["zw"] = "ဇွ",
["hyw"] = "ရွှ",
["hw"] = "ဟွ",
["yw"] = "ယွ",
["hlw"] = "လွှ", ["lw"] = "လွ", ["hly"] = "*လျှ", ["ly"] = "*လျ",
["i"] = "ီ", ["i\\"] = "ီး", ["i/"] = "ိ", ["i?"] = "စ်",
["i~"] = "င်", ["i\\~"] = "င်း", ["i/~"] = "င့်",
["ei"] = "ေ", ["ei\\"] = "ေး", ["ei/"] = "ေ့", ["ei?"] = "ိတ်",
["ei~"] = "ိန်", ["ei\\~"] = "ိန်း", ["ei/~"] = "ိန့်",
["e"] = "ယ်", ["e\\"] = "ဲ", ["e/"] = "ယ့်", ["e?"] = "က်",
["ai~"] = "ိုင်", ["ai\\~"] = "ိုင်း", ["ai/~"] = "ိုင့်",
["ai?"] = "ိုက်",
["a"] = "ာ", ["a\\"] = "ား", ["a/"] = "", ["a?"] = "တ်",
["a~"] = "န်", ["a\\~"] = "န်း", ["a/~"] = "န့်",
["o"] = "ော်", ["o\\"] = "ော", ["o/"] = "ော့", ["au?"] = "ောက်",
["au~"] = "ောင်", ["au\\~"] = "ောင်း", ["au/~"] = "ောင့်",
["ou"] = "ို", ["ou\\"] = "ိုး", ["ou/"] = "ို့", ["ou?"] = "ုပ်",
["ou~"] = "ုန်", ["ou\\~"] = "ုန်း", ["ou/~"] = "ုန့်",
["u"] = "ူ", ["u\\"] = "ူး", ["u/"] = "ု", ["u?"] = "ွတ်",
["u~"] = "ွန်", ["u\\~"] = "ွန်း", ["u/~"] = "ွန့်",
["a'"] = "'",
}
local repl_string = "([ကခဂဃငစဆဇဈဉညဋဌဍဎဏတထဒဓနပဖဗဘမယရလဝသဟဠအဿ][ျြွှ]*[ံ့းွာါါိီုူေဲ]*)([ကခဂဃငစဆဇဈဉညဋဌဍဎဏတထဒဓနပဖဗဘမယရလဝသဟဠအဿ][့]?[^့်္])"
local function syllabify(text)
text = gsub(text, "('?)([%+%-%*]*)", function(a, b)
if a .. b ~= "" then return a .. " " .. b end
end)
text = gsub(text, "([ဣဤဥဦဧဩဪ၏၌၍][့း်]?)(.?)(.?)", function(a, b, c)
return (c == "္" and " "..a..b.." "..c or (c == "်" and " "..a..b..c or " "..a.." "..b..c))
end) .. " "
text = gsub(text, "(်း?'?)", "%1 ")
text = gsub(text, "([း့])([ကခဂဃငစဆဇဈဉညဋဌဍဎဏတထဒဓနပဖဗဘမယရလဝသဟဠအ]်)", "%2%1")
while match(text, repl_string) do
text = gsub(text, repl_string, "%1 %2")
end
text = gsub(text, "္", " , ")
text = gsub(text, " +", " ")
text = gsub(text, "^ ?(.*[^ ]) ?$", "%1")
text = gsub(text, " , ", " ")
text = gsub(text, " ([23])", "%1")
return text
end
local function initial_by_char(initial_string, system_index, ref_table)
local initial_set = {}
for character in mw.text.gsplit(initial_string, "") do
local temp_initial = ref_table[character] or error("Initial data not found.")
table.insert(initial_set, temp_initial[system_index] or temp_initial)
end
return table.concat(initial_set)
end
local function generate_respelling(text)
text = gsub(text, " ", " ")
text = gsub(text, "ါ", "ာ")
if match(text, "[က-႟ꩠ-ꩻ]") then return text end
text = gsub(text, "(%+?)([^%?%+'/\\~aeiou ]*)(/?)([%?'/\\~aeiou]+)", function(voicing_mark, latin_initial, opt_sep, latin_final)
return
voicing_mark ..
(reverse_table[latin_initial] or initial_by_char(latin_initial, nil, reverse_table)) ..
opt_sep ..
reverse_table[latin_final]
end)
return text
end
local function process(initial, final, tone, schwa, system, system_index)
if match(initial .. final, "ွှ?[တနပမံ]") and system["type"] == "phonetic" then
initial = gsub(initial, "[ွ/]", "")
final = "ွ" .. final
else
initial = gsub(initial, "/", "")
end
initial_new = system["type"] == "phonetic" and gsub(initial, "%+.", initial_voicing) or initial
if indep_letter_table[initial_new] then
initial_new = match(initial_new, "[၌၍]") and "-" or ""
final = initial .. final
end
if initial_new == "မြွ" then require('Module:debug').track('my-pron/mrw') end
initial_data =
initial_table[initial_new]
or initial_table[gsub(initial_new, "[%+%-%*]", "")]
or (system["type"] == "orthographic"
and initial_by_char(initial_new, system_index, initial_table)
or error("Initial data not found."))
initial_value = initial_data[system_index] or initial_data
if match(initial, "^%+") and system_index == 5 then
initial_value = initial_table[gsub(initial, "%+", "")][system_index]
initial_value = gsub(initial_value, "^([^rwy]+)", "<u>%1</u>")
end
final_data =
final_table[system["type"] .. schwa == "phonetic'" and schwa or final]
or (system["type"] == "phonetic"
and (final_table[final .. "်"] or indep_letter_table[final])
or indep_letter_table[final])
or gsub(final, "^([^်]*)([^်])(်?)$", function(first, second, third)
first_data = nucleus_table[first] or final_table[first] or indep_letter_table[first] or first
second_data = initial_table[second] or second
first = first_data ~= first and first_data[system_index] or first
second = second_data ~= second
and second_data[system_index] .. ((system_index == 3 and third ~= "") and "ʻ" or "")
or second
return (gsub(first .. second, "([%.:])(.*)", "%2"))
end)
final_value = type(final_data) == "table" and final_data[system_index] or final_data
final_value = mw.ustring.toNFD(final_value)
if tone == "" then
tone_value = ""
else
if system_index ~= 4 then final_value = gsub(final_value, "̀", "") end
final_value = gsub(final_value, "[́:%.]", "")
if system["type"] .. schwa == "phonetic'" then
tone_value = ""
else
tone_data = tone_table[tone] or error("Tone data not found.")
tone_value = tone_data[system_index]
end
end
if system_index == 1 then
final_value = gsub(final_value, "^([aeəɛiɪoɔuʊ])", "%1" .. tone_value)
elseif system_index == 5 then
final_value = gsub(final_value, "([aeiou])([^aeiou]*)$", "%1" .. tone_value .. "%2")
else
final_value = final_value .. tone_value
end
return mw.ustring.toNFC(initial_value .. final_value)
end
local function remove_wide_space(text)
return (gsub(text, " ", ""))
end
local function concatenate(set, system_index)
if system_index == 1 then return remove_wide_space(table.concat(set)) end
result_text = remove_wide_space(table.concat(set, " "))
for count = 1, 3 do
result_text = gsub(result_text, "(.) (.)([^ ]?)",
function(previous, next, after_next)
if ambig_intersyl[system_index][previous .. next]
or ((system_index == 2 or system_index == 4)
and (match(previous .. " " .. next, "[ptkgmngy] [aeiou]")
or (match(previous .. next .. after_next, "[aeiou][ptkmn][rwyg]") and not match(after_next, "[aeiou]")))) then
return previous .. "-" .. next .. after_next
else
return previous .. next .. after_next
end
end)
end
return result_text
end
function export.get_romanisation(word, pronunciations, system, system_index, mode)
local sentences = {}
word = gsub(word, " ", "|")
if system["type"] == "phonetic" then
word = gsub(word, "ဿ", "တ်သ")
end
word = syllabify(word)
word = gsub(word, "ါ", "ာ")
if system["type"] == "phonetic" then
word = gsub(word, "ဝ([တနပမံ])", "ဝွ%1")
end
for phrase in mw.text.gsplit(word, "|", true) do
local temp = {}
local syllable = mw.text.split(phrase, " ", true)
for syllable_index = 1, #syllable do
syllable[syllable_index] = gsub(syllable[syllable_index], "([း့])(်)", "%2%1")
temp[syllable_index] = gsub(
syllable[syllable_index],
"^([%+%-%*]*[ကခဂဃငစဆဇဈဉညဋဌဍဎဏတထဒဓနပဖဗဘမယရလဝသဟဠအဣဤဥဦဧဩဪ၏၌၍ဿ][ျြ]?ွ?ှ?/?)([^း့']*)([း့]?)('?)$",
function(initial, final, tone, schwa)
return process(initial, final, tone, schwa, system, system_index)
end)
end
table.insert(sentences, concatenate(temp, system_index))
end
if mode == "translit_module" then return table.concat(sentences, " ") end
table.insert(pronunciations[system_index], table.concat(sentences, " "))
return pronunciations[system_index]
end
local function respelling_format(phonetic, page_title)
local page_title_set = mw.text.split(syllabify(page_title), " ")
local new_respellings = {}
for _, respelling in ipairs(phonetic) do
local respelling_set = mw.text.split(syllabify(respelling), " ")
if gsub(table.concat(respelling_set), "[%+%-%*']", "") == (gsub(table.concat(page_title_set), "ါ", "ာ")) then
for index, element in ipairs(respelling_set) do
if element ~= page_title_set[index] then
respelling_set[index] = '<span style="font-size:110%; color:#A32214; font-weight: bold">' .. element .. '</span>'
end
end
end
table.insert(new_respellings, table.concat(respelling_set))
end
text = table.concat(new_respellings, ", ")
text = remove_wide_space(text)
text = gsub(text, "[%+%-].", initial_voicing)
text = gsub(text, "([ခဂငဒပဝ]ေ?)ာ", "%1ါ")
return text
end
function export.generate_tests(word, respelling)
respelling, word = generate_respelling(respelling), generate_respelling(word)
local pronunciations = {
[1] = {},
[2] = {},
[3] = {},
[4] = {},
[5] = {},
}
local p, result = { ["orthographic"] = word, ["phonetic"] = respelling or word }, {}
table.sort(system_list, function(first, second) return first[1] < second[1] end)
for system_index, system in ipairs(system_list) do
pronunciations[system_index] = export.get_romanisation(p[system["type"]], pronunciations, system, system_index)
end
for system_index = 1, 5 do
table.insert(result, table.concat(pronunciations[system_index]))
end
return (gsub(gsub(table.concat(result, " | "), "<u>", "("), "</u>", ")"))
end
function export.make(frame)
local args = frame:getParent().args
local page_title = mw.title.getCurrentTitle().text
local title = generate_respelling(args["word"] or page_title)
local p, result = { ["orthographic"] = { title }, ["phonetic"] = {} }, {}
local pronunciations = {
[1] = {},
[2] = {},
[3] = {},
[4] = {},
[5] = {},
}
if not args[1] then args = { title } end
for index, item in ipairs(args) do
table.insert(p["phonetic"], (item ~= "") and generate_respelling(item) or nil)
end
table.sort(system_list, function(first, second) return first[1] < second[1] end)
for system_index, system in ipairs(system_list) do
for _, word in ipairs(p[system["type"]]) do
pronunciations[system_index] = export.get_romanisation(word, pronunciations, system, system_index)
end
end
if title ~= table.concat(args) then
table.insert(result,
"* Đánh vần âm vị" .. (#p["phonetic"] > 1 and "" or "") .. ": " ..
tostring( mw.html.create( "span" )
:attr( "lang", "my" )
:attr( "class", "Mymr" )
:wikitext( respelling_format( p["phonetic"], page_title ))) .. "\n" )
end
table.insert(result,
'* [[Wiktionary:IPA|IPA]]' ..
'<sup>([[Phụ lục:Cách phát âm tiếng Miến Điện|ghi chú]])</sup>: ' ..
(tostring( mw.html.create( "span" )
:attr( "class", "IPA" )
:wikitext( "/" .. gsub(table.concat(pronunciations[1], "/, /"), "ʔʔ", "ʔ.ʔ") .. "/" ))) ..
'\n* [[Wiktionary:Chuyển tự tiếng Miến Điện|Chuyển tự:]] ')
for system_index = 2, 5 do
table.insert(result,
(system_index ~= 2 and " • " or "") ..
"''" .. system_list[system_index]["name"] .. ":'' " ..
table.concat(pronunciations[system_index], "/"))
end
return table.concat(result)
end
return export
odv08pv05c4eky72cuq3w1wznf172iq
Mô đun:place/placetypes
828
282248
2463464
2351619
2026-07-19T10:46:29Z
Hiyuune
50834
2463464
Scribunto
text/plain
local export = {}
export.force_cat = false -- set to true for testing
local m_locations = require("Module:place/locations")
local m_links = require("Module:links")
local m_table = require("Module:table")
local m_strutils = require("Module:string utilities")
local debug_track_module = "Module:debug/track"
local en_utilities_module = "Module:en-utilities"
local dump = mw.dumpObject
local insert = table.insert
local concat = table.concat
local internal_error = m_locations.internal_error
export.internal_error = internal_error
local process_error = m_locations.process_error
export.process_error = process_error
local unpack = unpack or table.unpack -- Lua 5.2 compatibility
local ucfirst = m_strutils.ucfirst
local ulower = m_strutils.lower
local rmatch = m_strutils.match
local split = m_strutils.split
--[==[ intro:
This module contains placetype data used by [[Module:place]] and {{tl|place}}, along with a significant amount of code
to work with both placetypes and locations, as well as some placename-related info (FIXME: Consider moving it to
[[Module:place/locations]]). See also [[Module:place/locations]], which has definitions of all known locations. You must
currently load this module using {{cd|require()}}, not using {{cd|mw.loadData()}}.
In particular, it contains two fundamental and tricky functions:
# `get_placetype_equivs`, which finds the equivalent placetypes to look under in order to find a given property, and in
the process correctly handles placetypes with qualifiers (including qualifiers that act similar to "type-raising"
operators in that they do something non-trivial to the placetype to their right) as well as form-of directives and
fallbacks.
# `find_matching_holonym_location`, which looks up a holonym to find a matching known location, but in the process
checks holonyms to the right to make sure there isn't a clash between the user-specified containing holonyms and the
containers of the known location being considered. This is done to prevent overcategorizing when either there are two
known locations with the same name (e.g. Birmingham in England and Birmingham, Alabama in the US), or more generally
two locations with the same name, one of which is a known location but where the other is not (e.g. we're processing
non-known-location Mérida, Spain and don't want it categorized like known location Mérida, Yucatán, Mexico).
Both of these functions are invoked repeatedly, and probably are invoked several times on the same inputs and as a
result are candidates for memoization to speed up the operation of {{tl|place}}.
]==]
------------------------------------------------------------------------------------------
-- Basic utilities --
------------------------------------------------------------------------------------------
--[==[
Return true if `force_cat` is set either in this module or in [[Module:place/locations]].
]==]
function export.get_force_cat()
return export.force_cat or m_locations.force_cat
end
-- Add the page to a tracking "category". To see the pages in the "category",
-- go to [[Wiktionary:Tracking/place/PAGE]] and click on "What links here".
local function track(page)
require(debug_track_module)("place/" .. page)
return true
end
function export.remove_links_and_html(text)
text = m_links.remove_links(text)
return text:gsub("<.->", "")
end
--[==[
Return the singular version of a maybe-plural placetype, or nil if not plural. This correctly handles placetypes with
irregular plurals such as `kibbutzim` plural of `kibbutz` by looking up in a table constructed from the `plural` values
specified in `placetype_data`. If a special plural value is not found, the regular singularization algorithm in
[[Module:en-utilities]] is invoked, which reverses the y -> ies change after vowels and the 'es' addition after sh/ch/x,
and otherwise just subtracts a final 's' (which will incorrectly generate 'passe' for plural 'passes'; FIXME: consider
changing this for words ending in '-sses'). If the generated singular is the same as the passed-in value, nil is
returned.
]==]
function export.maybe_singularize_placetype(placetype)
if not placetype then
return nil
end
if export.plural_placetype_to_singular[placetype] then
return export.plural_placetype_to_singular[placetype]
end
local retval = require(en_utilities_module).singularize(placetype)
if retval == placetype then
return nil
end
return retval
end
-- Return the correct plural of a placetype, and (if `do_ucfirst` is given) make the first letter uppercase. We first
-- look up the plural in `placetype_data`, falling back to pluralize() in [[Module:en-utilities]], which is almost
-- always correct.
function export.pluralize_placetype(placetype, do_ucfirst)
local ptdata = export.placetype_data[placetype]
if ptdata and ptdata.plural then
placetype = ptdata
else
placetype = placetype
end
if do_ucfirst then
return ucfirst(placetype)
else
return placetype
end
end
--[==[
Get the data associated with a placetype, which may be in its singular or plural form. If `from_category` is specified,
we also look for category-only placetypes (generally plural) followed by `!`. Return three values: (a) the placetype
under which the data can be looked up (i.e. in its singular form if the passed-in `placetype` is plural and did not
match a category-only placetype followed by `!`); (b) the placetype data structure; (c) the type of `placetype` match
that occurred, one of `"direct"` if the canonical placetype is the same as the passed-in `placetype` and also the same
as the key under which `ptdata` was looked up, or `"direct-category"` if the `ptdata` was looked up under a key formed
from the passed-in `placetype` by adding `!`, or `"plural"` if the `ptdata` was looked up under the singularized version
of the plural passed-in `placetype`.
]==]
function export.get_placetype_data(placetype, from_category)
local ptdata = export.placetype_data[placetype]
if ptdata then
return placetype, ptdata, "direct"
end
if from_category then
ptdata = export.placetype_data[placetype .. "!"]
if ptdata then
return placetype .. "!", ptdata, "direct-category"
end
end
local sg_placetype = export.maybe_singularize_placetype(placetype)
if sg_placetype then
ptdata = export.placetype_data[sg_placetype]
if ptdata then
return sg_placetype, ptdata, "plural"
end
end
return nil
end
--[==[
Check for special pseudo-placetypes that should be ignored for categorization purposes.
]==]
function export.placetype_is_ignorable(placetype)
return placetype == "and" or placetype == "or" or placetype:find("^%(")
end
function export.resolve_placetype_aliases(placetype)
return export.placetype_aliases[placetype] or placetype
end
--[==[
Return a property from `placetype_data` for a given placetype. If the placetype isn't found in `placetype_data`, or the
key isn't found in the placetype's entry in `placetype_data`, return nil.
]==]
function export.get_placetype_prop(placetype, key)
-- Usually we are called on equivalent placetypes returned from `get_placetype_equivs`, in which case placetype
-- aliases have been resolved, but sometimes not, e.g. when fetching the indefinite article in
-- get_placetype_article(). `resolve_placetype_aliases` is just a simple lookup and it doesn't hurt to do it twice.
placetype = export.resolve_placetype_aliases(placetype)
if export.placetype_data[placetype] then
return export.placetype_data[placetype][key]
else
return nil
end
end
--[==[
Given a placetype, split the placetype into one or more potential ''splits'', each consisting of a three-element list
{ {``prev_qualifiers``, ``this_qualifier``, ``reduced_placetype``}}, i.e.
# the concatenation of zero or more previously-recognized qualifiers on the left, normally canonicalized (if there are
zero such qualifiers, the value will be nil);
# a single recognized qualifier, normally canonicalized (if there is no qualifier, the value will be nil);
# the "reduced placetype" on the right.
Splitting between the qualifier in (2) and the reduced placetype in (3) happens at each space character, proceeding from
left to right, and stops if a qualifier isn't recognized. All placetypes are canonicalized by checking for aliases
in `placetype_aliases`, but no other checks are made as to whether the reduced placetype is recognized. Canonicalization
of qualifiers does not happen if `no_canon_qualifiers` is specified.
For example, given the placetype `"small beachside unincorporated community"`, the return value will be
{ {
{nil, nil, "small beachside unincorporated community"},
{nil, "small", "beachside unincorporated community"},
{"small", "[[beachfront]]", "unincorporated community"},
{"small [[beachfront]]", "[[unincorporated]]", "community"},
}}
Here, `"beachside"` is canonicalized to `"[[beachfront]]"` and `"unincorporated"` is canonicalized to
`"[[unincorporated]]"`, in both cases according to the entry in `placetype_qualifiers`.
On the other hand, if given `"small former haunted community"`, the return value will be
{ {
{nil, nil, "small former haunted community"},
{nil, "small", "former haunted community"},
{"small", "former", "haunted community"},
}}
because `"small"` and `"former"` but not `"haunted"` are recognized as qualifiers.
Finally, if given `"former adr"`, the return value will be
{ {
{nil, nil, "former adr"},
{nil, "former", "administrative region"},
}}
because `"adr"` is a recognized placetype alias for `"administrative region"`.
]==]
function export.split_qualifiers_from_placetype(placetype, no_canon_qualifiers)
local splits = {{nil, nil, export.resolve_placetype_aliases(placetype)}}
local prev_qualifier = nil
while true do
local qualifier, reduced_placetype = placetype:match("^(.-) (.*)$")
if qualifier then
local canon = export.placetype_qualifiers[qualifier]
if canon == nil then
break
end
local new_qualifier = qualifier
if type(canon) == "table" then
canon = canon.link
end
if not no_canon_qualifiers and canon ~= false then
if canon == true then
new_qualifier = "[[" .. qualifier .. "]]"
else
new_qualifier = canon
end
end
insert(splits, {prev_qualifier, new_qualifier, export.resolve_placetype_aliases(reduced_placetype)})
prev_qualifier = prev_qualifier and prev_qualifier .. " " .. new_qualifier or new_qualifier
placetype = reduced_placetype
else
break
end
end
return splits
end
--[==[
Given a `placetype` (which may be pluralized), return an ordered list of equivalent placetypes to look under to find the
placetype's properties (such as the category or categories to be inserted). The return value is actually an ordered list
of objects of the form `{qualifier=``qualifier``, placetype=``equiv_placetype``}` where ``equiv_placetype`` is a
placetype whose properties to look up, derived from the passed-in placetype or from a contiguous subsequence of the
words in the passed-in placetype (always including the rightmost word in the placetype, i.e. we successively chop off
qualifier words from the left and use the remainder to find equivalent placetypes). ``qualifier`` is the remaining words
not part of the subsequence used to find ``equiv_placetype``; or nil if all words in the passed-in placetype were used
to find ``equiv_placetype``. (FIXME: This qualifier is not currently used anywhere.) Only placetypes for which there is
an entry in `placetype_data` are included. The placetype passed in is always checked first, and will form the first
entry if it exists in `placetype_data`.
'''NOTE:''' This is a tricky function as it implements handling of (a) qualifiers, (b) fallback logic, (c)
"type-raising" qualifiers such as `former`/`ancient`/etc. as well as `fictional` and `mythological`, and (d) form-of
directives, which act somewhat similarly to `former`, and allows interaction between more than one of these
simultaneously (e.g. official names of former places, which have their own categorization).
If {{tl|place}} gets too slow, one potential speedup is to memoize the results of this function, as it appears to be
getting called more than once on the same inputs. Another similar potential speedup is to memoize the results of
`iterate_matching_holonym_location()`.
For example, given the placetype `left tributary`, the following placetype/qualifier combinations are checked in turn:
```
{qualifier = nil, placetype="left tributary"}
{qualifier = "left", placetype="tributary"}
{qualifier = "left", placetype="river"}
```
and the return value will be
{ {
{qualifier = "left", placetype="tributary"},
{qualifier = "left", placetype="river"},
}}
The algorithm first enters the placetype itself into the list, then checks for `left tributary` as a recognized
placetype in `placetype_data` and doesn't find it, so it doesn't enter it into the returned list (if it found it, it
would add it as well as any fallbacks directly after it). It then splits off the recognized qualifier `left` to form the
''reduced placetype'' `tributary`, which is entered into the list because it is found in `placetype_data`. Then, because
it has a fallback `river`, which exists in `placetype_data`, the fallback is entered next.
Another example is `small rural fraziones` (where a ''frazione'' is type of subdivision of a ''comune'' or municipality,
often specifically an outlying hamlet). the placetype/qualifier combinations checked are:
```
{qualifier = nil, placetype="small rural fraziones"}
{qualifier = nil, placetype="small rural frazione"}
{qualifier = "small", placetype="rural fraziones"}
{qualifier = "small", placetype="rural frazione"}
{qualifier = "small [[rural]]", placetype="fraziones"}
{qualifier = "small [[rural]]", placetype="frazione"}
{qualifier = "small [[rural]]", placetype="hamlet"}
{qualifier = "small [[rural]]", placetype="village"}
```
The return value ends up as
{qualifier = "small [[rural]]", placetype="frazione"},
{qualifier = "small [[rural]]", placetype="hamlet"},
{qualifier = "small [[rural]]", placetype="village"},
}}
Here, because the result of singularizing `fraziones` returns a different value from the placetype itself, that
singularized value is checked after the original plural value. Also, in the process of splitting off qualifiers,
they are canonicalized if the entry in `placetype_qualifiers` says to do so; in this case, links are placed around
`rural`. Finally, `frazione` has `hamlet` as its fallback, which in turn has `village` as its fallback, so both
fallbacks end up being returned.
`no_fallback`, if set, disables returning equivalent placetypes based on the `fallback` setting for a placetype. This is
used in the first of two loops in find_placetype_cat_specs() in [[Module:place]] to prefer exact matches for placetypes
such as barangays with later holonyms to matches based on a fallback such as `neighborhood` with an earlier holonym.
See the comment in that function in [[Module:place]] for a more detailed explanation of why this is needed. Only the
placetype itself, and any reduced placetypes created by chopping off recognized qualifiers at the beginning, are
returned; but we do not return reduced placetypes if a containing placetype exists in `placetype_data`. (For example,
`"overseas territory"` has a fallback `"dependent territory"`, and `"overseas"` is also a recognized qualifier. When
`no_fallback` is in place, without the above proviso, we would return `"overseas territory"` followed by `"territory"`
with the incorrect effect of classifying an `"overseas territory"` of the United Kingdom such as `"Gibraltar"` under
[[:Category:Territories of the United Kingdom]] instead of [[:Category:Dependent territories of the United Kingdom]].)
As an exception, if `historical`, `ancient`, `former` or the like are found, they proceed ignoring `no_fallback`,
because it seems tricky to handle them correctly in the presence of `no_fallback`, and historical/former placetypes
rarely occur with exact match category specs anyway.
`no_split_qualifiers` prevents splitting off recognized qualifiers and returning the remainder of the placetype as an
equivalent placetype. Only the passed-in placetype, and any fallbacks, will be returned. This is used in
[[Module:category tree/topic cat/data/Places]] when looking up placetypes found in categories. Such placetypes won't
have qualifiers and so it doesn't make sense to try and look for them.
`from_category`, if set, causes category-only placetypes (those ending in `!`) to also be checked.
`form_of_directive`, if set, causes the specified form-of directive (e.g. `FORMER_NAME_OF`) to be prepended to checked
placetypes, their directive-specific type (e.g. `FORMER_NAME_OF_type`), and their classes (`class`) to get the
appropriate placetypes to check for form-of-directive categories. It falls back to the prepended generic `place` as a
placetype, e.g. `FORMER_NAME_OF place`, if nothing else matches.
`no_check_for_inherently_former` is used internally to prevent an infinite loop when checking for `inherently_former`.
`register_former_as_non_former` is a major hack used in `get_bare_categories` to deal with the mismatch between e.g.
known location `Yugoslavia` declaring itself a `country` but definitions of it declaring it a `former country`. It
causes the non-former version of the specified placetype to be included in the returned equivalents along with the
former placetypes. [FIXME: This should apply only to the entries in `former_countries` but it's tricky to do that now;
fix this in the known-location refactor. -- The known-location refactor is already done but we haven't yet fixed this.]
]==]
function export.get_placetype_equivs(placetype, props)
local no_fallback, no_split_qualifiers, no_check_for_inherently_former, from_category, register_former_as_non_former
local form_of_directive
if props then
no_fallback, no_split_qualifiers, no_check_for_inherently_former, from_category, register_former_as_non_former =
props.no_fallback, props.no_split_qualifiers, props.no_check_for_inherently_former, props.from_category,
props.register_former_as_non_former
form_of_directive = props.form_of_directive
end
local equivs = {}
-- Insert `placetype` into `equivs`, along with any fallback placetypes listed in `placetype_data`. `qualifier` is
-- the preceding qualifier to insert into `equivs` along with the placetype (see comment at top of function). If
-- `from_category` is given, we also check for a category-specific entry consisting of the placetype followed by
-- `!`, and in all cases we also check to see if `placetype` is plural, and if so, insert the singularized version
-- along with its fallbacks (if any) in `placetype_data`. `form_of_prefix` is a form-of prefix such as
-- `OFFICIAL_NAME_OF`. If specified, we check the fallbacks of `placetype` without the prefix but then insert into
-- `equivs` the prefixed placetype. This way, if the user says e.g. {{tl|place|pt|@official name of:Cuba|island country|r/Caribbean}},
-- we will correctly categorize into [[:Category:Official names of countries]], rather than only trying to look up
-- `OFFICIAL_NAME_OF island country` and failing, falling back ultimately to [[:Category:Official names of places]].
local function insert_placetype_and_fallbacks(qualifier, placetype, form_of_prefix)
local function insert_equiv(pt)
if form_of_prefix then
-- Let's say the user says {{tl|place|pt|@official name of:Cuba|island country|r/Caribbean}} and we have
-- no entry for `OFFICIAL_NAME_OF island country` but we do for `OFFICIAL_NAME_OF country` (which we end
-- up processing because `island country` falls back to `country`), and that entry in turn is defined
-- using a fallback. We have to insert that fallback-of-fallback, and the easiest/cleanest way of
-- handling this is by calling ourselves recursively.
insert_placetype_and_fallbacks(qualifier, form_of_prefix .. " " .. pt)
else
insert(equivs, {qualifier=qualifier, placetype=pt})
end
end
-- Insert the placetype, along with any fallbacks.
local canon_placetype, ptdata, ptmatch = export.get_placetype_data(placetype, from_category)
if ptdata then
insert_equiv(canon_placetype)
if no_fallback then
return
end
local first_placetype = #equivs + 1
local prev_placetype = nil
while true do
local pt_value = export.placetype_data[canon_placetype]
if not pt_value then
internal_error("Fallback value %s specified for placetype %s but is not in `placetype_data`",
canon_placetype, prev_placetype)
end
if pt_value.fallback then
insert_equiv(pt_value.fallback)
local last_placetype = #equivs
if last_placetype - first_placetype >= 10 then
local fallback_loop = {}
for i = first_placetype, last_placetype do
insert(fallback_loop, equivs[i].placetype)
end
internal_error("Apparent loop in fallback chain: %s", table.concat(fallback_loop, " -> "))
end
prev_placetype = canon_placetype
canon_placetype = pt_value.fallback
else
break
end
end
end
end
-- Insert `placetype` into `equivs`, along with any fallback placetypes listed in `placetype_data`. This is a
-- wrapper around the more basic `insert_placetype_and_fallbacks()` which handles form-of directives. If there is no
-- form-of directive, this function directly calls `insert_placetype_and_fallbacks()`. We do things this way so that
-- form-of directives correctly combine with `former`-type qualifiers. Note that we also have special backups for
-- form-of directives that check `DIRECTIVE place` (and before that, `DIRECTIVE FORMER/ANCIENT place` is there's a
-- `former`-type directive); these backups live outside this function because we want them done once, late, rather
-- than in each invocation of `process_and_insert_placetype()`.
local function process_and_insert_placetype(qualifier, reduced_placetype)
if form_of_directive then
-- First check for e.g. `OFFICIAL_NAME_OF island country` and its fallbacks; then we look for fallbacks of
-- `island country` and check e.g. `OFFICIAL_NAME_OF country` and its fallbacks. All of this is handled by
-- `insert_placetype_and_fallbacks()` with appropriate parameters. After that, check the general class of
-- the directive, e.g. `subpolity` if something like `district` is given. (Eventually, we check for
-- `OFFICIAL_NAME_OF place` as a backup, but this happens at the end outside the loop over qualifiers.)
insert_placetype_and_fallbacks(qualifier, reduced_placetype, form_of_directive)
if not no_fallback then
local reduced_placetype_equivs = export.get_placetype_equivs(reduced_placetype)
local directive_type = export.get_equiv_placetype_prop_from_equivs(reduced_placetype_equivs,
function(pt) return export.get_placetype_prop(pt, form_of_directive .. "_type") or
export.get_placetype_prop(pt, "class") end
)
if not directive_type then
local pt_data = export.get_equiv_placetype_prop_from_equivs(reduced_placetype_equivs,
function(pt) return export.placetype_data[pt] end
)
if pt_data then
internal_error("For placetype %s in conjunction with form-of directive %s, placetype data " ..
'located but directive-specific type property %s missing, and so is "class"; ' ..
"placetypes searched are %s", reduced_placetype, form_of_directive,
form_of_directive .. "_type", reduced_placetype_equivs)
else
-- This should be allowed, as we allow unrecognized placetypes in general.
end
elseif directive_type ~= "!" then
insert_placetype_and_fallbacks(qualifier, directive_type, form_of_directive)
end
end
else
insert_placetype_and_fallbacks(qualifier, reduced_placetype)
end
end
-- Successively split off recognized qualifiers and loop over successively greater sets of qualifiers from the left
-- (unless `no_split_qualifiers` is specified, in which case we don't check for qualifiers).
local splits
if no_split_qualifiers then
splits = {{nil, nil, export.resolve_placetype_aliases(placetype)}}
else
splits = export.split_qualifiers_from_placetype(placetype)
end
for _, split in ipairs(splits) do
local prev_qualifier, this_qualifier, reduced_placetype = unpack(split, 1, 3)
-- If a special "former" qualifier like `former` or `historical` isn't present, and
-- `no_check_for_inherently_former` is not given (this flag is used to avoid infinite loops), check for
-- "inherently former" placetypes like `satrapy` and `treaty port` that always refer to no-longer-existing
-- placetypes, and handle accordingly.
local unlinked_this_qualifier
if this_qualifier and this_qualifier:find("%[") then
unlinked_this_qualifier = export.remove_links_and_html(this_qualifier)
else
unlinked_this_qualifier = this_qualifier
end
local former_qualifiers = this_qualifier and export.former_qualifiers[unlinked_this_qualifier] or nil
if not former_qualifiers and not no_check_for_inherently_former then
former_qualifiers = export.get_equiv_placetype_prop(reduced_placetype,
function(pt) return export.get_placetype_prop(pt, "inherently_former") end,
{no_check_for_inherently_former = true})
end
-- If a special "former" qualifier like `former` or `historical` is present, map it to the appropriate internal
-- qualifiers (`ANCIENT` and/or `FORMER`, which are written in all-caps to distinguish them from user-specified
-- qualifiers), fetch the `former_type` property, and treat the placetype as if a concatenation of the mapped
-- qualifier(s) and the value of `former_type`. For example, if `medieval village` is given, we map `medieval`
-- to `ANCIENT` and `FORMER`, and `village` to its `former_type` of `settlement`, and enter the placetypes
-- `ANCIENT settlement` and `FORMER settlement` (in that order) into `equivs`. If the placetype following the
-- "former" qualifier is recognized in `placetype_data` but has no `former_type` and no fallback with a
-- `former_type` specified, it is an internal error; but if the placetype isn't recognized (e.g. something like
-- `former greenhouse` is specified and we don't have an entry for `greenhouse`), just track the occurrence and
-- don't enter anything into `equivs`.
if former_qualifiers then
-- FIXME: Should we respect `no_fallback` here? My instinct says no.
local reduced_placetype_equivs = export.get_placetype_equivs(reduced_placetype, {
no_check_for_inherently_former = true
})
local former_type = export.get_equiv_placetype_prop_from_equivs(reduced_placetype_equivs,
function(pt) return export.get_placetype_prop(pt, "former_type") or
export.get_placetype_prop(pt, "class") end
)
if not former_type then
local pt_data = export.get_equiv_placetype_prop_from_equivs(reduced_placetype_equivs,
function(pt) return export.placetype_data[pt] end
)
if pt_data then
internal_error("For placetype %s, placetype data located but `former_type` missing; " ..
"placetypes searched are %s", reduced_placetype, reduced_placetype_equivs)
else
-- Enable error when we've verified there aren't any examples.
track("bad-former-placetype")
track("bad-former-placetype/" .. reduced_placetype)
--process_error("For placetype '%s', unrecognized placetype following 'former'-type " ..
-- "qualifier; searched placetype(s) %s", reduced_placetype, dump(reduced_placetype_equivs))
end
elseif former_type ~= "!" then
-- First check directly for `ANCIENT/FORMER` + the original following placetype. This makes it possible
-- for (e.g.) former provinces of the Roman empire to be categorized specially.
for _, former_qualifier in ipairs(former_qualifiers) do
process_and_insert_placetype(prev_qualifier, former_qualifier .. " " .. reduced_placetype)
end
for _, former_qualifier in ipairs(former_qualifiers) do
process_and_insert_placetype(prev_qualifier, former_qualifier .. " " .. former_type)
end
-- HACK! See explanation above for `register_former_as_non_former`.
if register_former_as_non_former then
process_and_insert_placetype(prev_qualifier, reduced_placetype)
end
-- If we're processing a form-of directive, after doing everything else we do
-- `DIRECTIVE ANCIENT/FORMER place` e.g. `OFFICIAL_NAME_OF FORMER place` as a backup.
if form_of_directive and not no_fallback then
for _, former_qualifier in ipairs(former_qualifiers) do
insert_placetype_and_fallbacks(prev_qualifier, form_of_directive .. " " .. former_qualifier ..
" place")
end
end
-- Don't continue processing equivs. The reason is probably the same as the `break` below for
-- qualifier_to_placetype_equivs[]; categories for `former BLAH` are set using `default`, and
-- non-former equivs will otherwise take precedence.
break
end
end
-- Then see if the rightmost split-off qualifier is in qualifier_to_placetype_equivs
-- (e.g. 'fictional *' -> 'fictional location'). If so, add the mapping.
if this_qualifier and export.qualifier_to_placetype_equivs[unlinked_this_qualifier] then
insert(equivs, {
qualifier=prev_qualifier,
placetype=export.qualifier_to_placetype_equivs[unlinked_this_qualifier]
})
-- Don't continue processing equivs; otherwise, if we specify 'mythological city', even though the
-- equivalent entry for 'mythological location' gets inserted ahead of the entry for 'city', the
-- latter ends up generating the category because the category for 'mythological location' is set as
-- the default value, which is used only when no non-default category can be found.
break
end
-- Finally, join the rightmost split-off qualifier to the previously split-off qualifiers to form a combined
-- qualifier, and add it along with reduced_placetype and any mapping in placetype_data for reduced_placetype.
-- NOTE: The first time through this loop, both `prev_qualifier` and `this_qualifier` are nil, and this inserts
-- the full placetype into `equivs`.
local qualifier = prev_qualifier and prev_qualifier .. " " .. this_qualifier or this_qualifier
process_and_insert_placetype(qualifier, reduced_placetype)
-- If `no_fallback` and there's an entry in `placetype_data` for this placetype, don't include any reduced
-- placetypes to avoid the "overseas territory treated as a territory" issue describe above.
if no_fallback then
local canon_placetype, ptdata, ptmatch = export.get_placetype_data(reduced_placetype, from_category)
if canon_placetype then
break
end
end
end
-- If we're processing a form-of directive, after doing everything else we do `DIRECTIVE place` e.g.
-- `OFFICIAL_NAME_OF place` as a backup; but only if either the placetype as a whole is recognized or the placetype
-- begins with a recognized qualifier. This latter check is to avoid categorizing into e.g.
-- [[Category:en:Former names of places]] in an invocation like
-- {{place|en|@former name of:Democratic Republic of the Congo|country|r/Central Africa|;|used from 1971–1997}};
-- the `used from 1971–1997` gets treated as a placetype and we're called on it.
if form_of_directive and not no_fallback and (splits[2] or export.get_placetype_data(placetype, from_category)) then
insert_placetype_and_fallbacks(nil, form_of_directive .. " place")
end
return equivs
end
function export.get_equiv_placetype_prop_from_equivs(equivs, fun, continue_on_nil_only)
for _, equiv in ipairs(equivs) do
local retval = fun(equiv.placetype)
if continue_on_nil_only and retval ~= nil or not continue_on_nil_only and retval then
return retval, equiv
end
end
return nil, nil
end
--[==[
Given a placetype `placetype` and a function `fun` of one argument, iteratively call the function on equivalent
placetypes fetched from `get_placetype_equivs` until the function returns a non-falsy value (i.e. not {nil} or {false});
but if `continue_on_nil_only` is specified, the iterations continue until the function returns non non-{nil} value.
FIXME: We should make `continue_on_nil_only` the default; but this requires changing some callers.) When `fun` returns a
non-falsy or non-{nil} value, `get_equiv_placetype_prop` returns two values: the value returned by `fun` and the
equivalent placetype that triggered the non-falsy (or non-{nil}) return value. If `fun` never returns a non-falsy (or
non-{nil}) value, `get_equiv_placetype_prop` returns {nil} for both return values. If `placetype` is passed in as {nil},
the return value is the result of calling `fun` on {nil} (whatever it is) with {nil} for the second return value.
]==]
function export.get_equiv_placetype_prop(placetype, fun, props)
if not placetype then
return fun(nil), nil
end
return export.get_equiv_placetype_prop_from_equivs(export.get_placetype_equivs(placetype, props), fun,
props and props.continue_on_nil_only)
end
--[==[
Return the article that is used with an entry placetype. We proceed as follows:
# See if there is a recognized qualifier at the beginning that specifies an article (including `false` for no article).
This takes precedence over anything else, so that e.g. `various capitals` gets no article rather than "`the"`.
# Then check the placetype or any equivalent placetype for the `entry_placetype_use_the` property, indicating that
`"the"` should be used.
# Otherwise we look to see if the placetype itself (not any equivalents, even those involving deleting a qualifier from
the beginning) has an entry in `placetype_data` that specifies the indefinite article using `entry_placetype_use_the`
(principally for use with placetypes like `union territory`).
# Otherwise, we use [[Module:en-utilities]] to apply the standard algorithm to generate `"an"` for words beginning with
a vowel and `"a"` otherwise.
If `ucfirst` is true, the first letter of the article is made upper-case.
]==]
function export.get_placetype_article(placetype, ucfirst)
local art
local qualifier, reduced_placetype = placetype:match("^(.-) (.*)$")
if qualifier then
local canon = export.placetype_qualifiers[qualifier]
if type(canon) == "table" then
art = canon.article
end
end
if art == false then
return art
end
if art == nil then
local placetype_use_the = export.get_equiv_placetype_prop(placetype,
function(pt) return export.get_placetype_prop(pt, "entry_placetype_use_the") end)
if placetype_use_the then
art = "tên gọi"
else
art = export.get_placetype_prop(placetype, "entry_placetype_indefinite_article")
if not art then
art = require(en_utilities_module).get_indefinite_article(placetype)
end
end
end
if ucfirst then
art = m_strutils.ucfirst(art)
end
return art
end
--[==[
Return the preposition that should be used after `placetype` when occurring as an entry placetype or in categories
(e.g. `city >in< France` but `country >of< South America`). The preposition defaults to `"của"` if not specified.
]==]
function export.get_placetype_entry_preposition(placetype)
local pt_prep = export.get_equiv_placetype_prop(placetype,
function(pt) return export.get_placetype_prop(pt, "preposition") end
)
return pt_prep or "của"
end
--[==[
Given a place desc (see top of file) and a holonym object (see top of file), add a key/value into the place desc's
`holonyms_by_placetype` field corresponding to the placetype and placename of the holonym. For example, corresponding
to the holonym "c/Italy", a key with the list value {"Italy"} will be added to the place desc's
`holonyms_by_placetype` field. If there is already a key with that place type, the new placename will be added to the
end of the value's list.
]==]
function export.key_holonym_into_place_desc(place_desc, holonym)
if not holonym.placetype then
return
end
-- Key in equivalent placetypes, so that e.g. `cities/San Francisco` gets keyed under `city`; but don't do
-- fallbacks, as it doesn't seem correct for the "do other holonyms of the same placetype" algorithm to do holonyms
-- of different types just because they have the same fallback.
local equiv_placetypes = export.get_placetype_equivs(holonym.placetype, {no_fallback = true})
local unlinked_placename = holonym.unlinked_placename
for _, equiv in ipairs(equiv_placetypes) do
local placetype = equiv.placetype
if not place_desc.holonyms_by_placetype then
place_desc.holonyms_by_placetype = {}
end
if not place_desc.holonyms_by_placetype[placetype] then
place_desc.holonyms_by_placetype[placetype] = {unlinked_placename}
else
insert(place_desc.holonyms_by_placetype[placetype], unlinked_placename)
end
end
end
--[=[
Construct a formatted link from the raw link spec `link` given the canonical singular placetype `sg_placetype`. If the
placetype was originally plural, `orig_placetype` should contain this plural value; otherwise it should be nil. This
will construct the appropriate type of link that displays as `orig_placetype` (or otherwise `sg_placetype`) but links to
whatever the `link` spec specifies (which may be `sg_placetype`, a Wikipedia article, etc.). `ptdata` is the placetype
data structure for the placetype, and `from_category` indicates that we are generating the description of a category
(otherwise we are generating the display form of an entry placetype).
]=]
local function make_placetype_link(link, sg_placetype, orig_placetype, ptdata, from_category, noerror)
if not from_category and ptdata.disallow_in_entries then
if noerror then
return "[not meant to be specified directly, with warning: " .. ptdata.disallow_in_entries .. "]"
else
process_error("Placetype %s is not meant to be specified directly: " .. ptdata.disallow_in_entries, sg_placetype)
end
end
if link == nil then
internal_error("Placetype data present for placetype %s but no link= setting given", sg_placetype)
elseif link == true then
if orig_placetype then
return ("[[%s|%s]]"):format(sg_placetype, orig_placetype)
else
return ("[[%s]]"):format(sg_placetype)
end
elseif link == false then
process_error("Placetype %s is not meant to be specified directly, but is only for internal use", sg_placetype)
elseif link == "w" then
return ("[[w:%s|%s]]"):format(sg_placetype, orig_placetype or sg_placetype)
elseif link == "separately" then
if orig_placetype then
local sg_words = split(sg_placetype, " ")
local orig_words = split(orig_placetype, " ")
if #sg_words ~= #orig_words then
internal_error("Can't construct 'separately' link for plural placetype %s as original placetype %s " ..
"has different number of words", orig_placetype, sg_placetype)
else
for i = 1, #sg_words do
if sg_words[i] == orig_words[i] then
sg_words[i] = ("[[%s]]"):format(sg_words[i])
else
sg_words[i] = ("[[%s|%s]]"):format(sg_words[i], orig_words[i])
end
end
return concat(sg_words, " ")
end
else
return (sg_placetype:gsub("([^ ]+)", "[[%1]]"))
end
elseif link:find("^%+") then
link = link:sub(2) -- discard initial +
return ("[[%s|%s]]"):format(link, orig_placetype or sg_placetype)
elseif not orig_placetype then
return link
else
return link
end
end
--[==[
Get the display form of a placetype by looking it up in `placetype_data`. If the placetype is recognized, or is the
plural of a recognized placetype, the corresponding linked display form is returned (with plural placetypes displaying
as plural but linked to the singular form of the placetype). Otherwise, return nil. If we're generating the description
of a category, `category_type` should be set to one of `"top-level"` (for top-level categories like
[[:Category:Neighborhoods]]), `"noncity"` (for non-city categories like [[:Category:Neighborhoods in Illinois, USA]]) or
`"thành phố"` (for city categories like [[:Category:Neighborhoods of Chicago]]). Otherwise, we're generating the description
for use in formatting a {{tl|place}} call, and category-only placetypes ending in `!` will be ignored, along with
special `category_link*` settings. `return_full` is used along with `category_type` and will preferably return the
"full" variant of category link settings, i.e. `full_category_link*`; if they don't exist, the `category_link*` value is
prepended with `"names of"`. `noerror` says to not throw an error when encountering entry placetypes that would be
disallowed.
]==]
function export.get_placetype_display_form(placetype, category_type, return_full, noerror)
local from_category = not not category_type
local canon_placetype, ptdata, ptmatch = export.get_placetype_data(placetype, from_category)
if canon_placetype then
local raw_link
local function is_linked_string(str)
return type(str) == "string" and str:find("%[%[")
end
if category_type then
local fetched_full
local function fetch_maybe_full(prop)
local retval = ptdata["full_" .. prop]
if retval ~= nil then
if return_full then
return retval, true
else
internal_error("Saw full_" .. prop .. "=%s but `return_full` not set, can't handle", retval)
end
end
return ptdata[prop], false
end
local function maybe_prefix(str)
if return_full and not fetched_full then
return "names of " .. str
else
return str
end
end
-- Careful with `false` as possible value.
if category_type == "top-level" then
raw_link, fetched_full = fetch_maybe_full("category_link_top_level")
elseif category_type == "noncity" then
raw_link, fetched_full = fetch_maybe_full("category_link_before_noncity")
elseif category_type == "thành phố" then
raw_link, fetched_full = fetch_maybe_full("category_link_before_city")
else
internal_error('Unrecognized value for `category_type` %s, should be "top-level", "noncity" or "thành phố"',
category_type)
end
if type(raw_link) == "string" then
return maybe_prefix(raw_link), ptdata
elseif raw_link ~= nil then
return raw_link, ptdata
end
raw_link, fetched_full = fetch_maybe_full("category_link")
if raw_link == false then
return raw_link, ptdata
end
if is_linked_string(raw_link) then
return maybe_prefix(raw_link), ptdata
end
if ptmatch == "plural" then
raw_link, fetched_full = fetch_maybe_full("plural_link")
if raw_link == false then
return raw_link, ptdata
end
if is_linked_string(raw_link) then
return maybe_prefix(raw_link), ptdata
end
end
if raw_link == nil then
raw_link, fetched_full = fetch_maybe_full("link")
end
if raw_link == false then
return raw_link, ptdata
end
return maybe_prefix(make_placetype_link(raw_link, canon_placetype,
placetype ~= canon_placetype and placetype or nil, ptdata, from_category, noerror)), ptdata
else
if ptmatch == "plural" then
raw_link = ptdata.plural_link
if raw_link == false then
process_error("Placetype %s cannot appear plural", placetype)
end
if is_linked_string(raw_link) then
return raw_link, ptdata
end
end
if raw_link == nil then
raw_link = ptdata.link
end
return make_placetype_link(raw_link, canon_placetype,
placetype ~= canon_placetype and placetype or nil, ptdata, from_category, noerror), ptdata
end
end
return nil
end
local function resolve_unlinked_placename_display_aliases(placetype, placename)
local equiv_placetypes = export.get_placetype_equivs(placetype)
for i, equiv in ipairs(equiv_placetypes) do
equiv_placetypes[i] = equiv.placetype
end
local all_display_aliases_found = {}
local all_others_found = {}
for group, key, spec in m_locations.iterate_matching_location {
placetypes = equiv_placetypes,
placename = placename,
alias_resolution = "display",
} do
if spec.alias_of and spec.display then
insert(all_display_aliases_found, {group, key, spec, spec.display_as_full})
else
insert(all_others_found, {group, key, spec})
end
end
if not all_display_aliases_found[1] then
return placename
elseif all_display_aliases_found[2] then
internal_error("Found multiple matching display aliases for placename %s, placetype %s: " ..
"all_display_aliases_found=%s, all_others_found=%s", placename, placetype, all_display_aliases_found,
all_others_found)
elseif all_others_found[1] then
internal_error("Found a display alias along with other possible meanings for placename %s, placetype %s: " ..
"all_display_aliases_found=%s, all_others_found=%s", placename, placetype, all_display_aliases_found,
all_others_found)
else
local group, key, spec, as_full = unpack(all_display_aliases_found[1])
local full, elliptical = m_locations.key_to_placename(group, key)
return as_full and full or elliptical
end
end
--[==[
If `placename` of type `placetype` is a display alias, convert it to its canonical form; otherwise, return unchanged.
Display aliases transform certain placenames into canonical displayed forms. For example, if any of `country/US`,
`country/USA` or `country/United States of America` (or `c/US`, etc.) are given, the result will be displayed as
`United States`.
'''NOTE''': Display aliases change what is displayed from what the editor wrote in the Wikitext. As a result, they
should (a) be non-political in nature, and (b) not involve a change where the word `the` needs to be added or removed.
For example, normalizing `US` and `USA` to `United States` for display purposes is OK but normalizing `Burma` to
`Myanmar` is not (instead a cat alias should be used) because the terms `Burma` and `Myanmar` have clear political
connotations. Similarly, we have a display alias that maps the old name of `Macedonia` as a country (but not a region!)
to `North Macedonia`, but `Republic of Macedonia` is mapped to `North Macedonia` only as a cat alias because the two
terms differ in their use of `the`. (For example, if we had a display alias mapping `Republic of Macedonia` to
`North Macedonia`, the call {{tl|place|en|the <<capital city>> of the <<c/Republic of Macedonia>>}} would wrongly
display as `the [[capital city]] of the [[North Macedonia]]`.) Generally, display normalizations tend to involve
alternative forms (e.g. abbreviations, ellipses, foreign spellings) where the normalization improves clarity and
consistency.
]==]
function export.resolve_placename_display_aliases(placetype, placename)
-- If the placename is a link, apply the alias inside the link.
-- This pattern matches both piped and unpiped links. If the link is not piped, the second capture (linktext) will
-- be empty.
local link, linktext = rmatch(placename, "^%[%[([^|%[%]]+)|?([^|%[%]]-)%]%]$")
if link then
if linktext ~= "" then
local alias = resolve_unlinked_placename_display_aliases(placetype, linktext)
return "[[" .. link .. "|" .. alias .. "]]"
else
local alias = resolve_unlinked_placename_display_aliases(placetype, link)
return "[[" .. alias .. "]]"
end
else
return resolve_unlinked_placename_display_aliases(placetype, placename)
end
end
--[==[
Generate the "prefixed" version of a bare key, i.e. prefix it with `the` if correct for this key.
]==]
function export.get_prefixed_key(key, spec)
if spec.the then
return key
else
return key
end
end
-- Necessary for use by [[Module:place]]. FIXME: Reorganize the modules so this isn't necessary.
export.iterate_matching_location = m_locations.iterate_matching_location
--[=[
Iterator that iterates over holonyms in `place_desc`. If `first_holonym_index` is given, start iterating at the
specified holonym and stop either when there are no more holonyms or a holonym with modifier `:also` is found. If
`first_holonym_index` is nil or omitted, iterate over all holonyms regardless. If `include_raw_text_holonyms` is
specified, raw text holonyms (those not of the form `placetype/placename`) are returned as well; they can be identified
by the fact that the `placetype` field in the holonym structure is nil. Two values are returned at each iteration, the
holonym index and holonym structure, similar to `ipairs()`.
]=]
function export.get_holonyms_to_check(place_desc, first_holonym_index, include_raw_text_holonyms)
local stop_at_also = not not first_holonym_index
return function(place_desc, index)
while true do
index = index + 1
local this_holonym = place_desc.holonyms[index]
-- If we were passed in a starting holonym index, go up to but not including a holonym marked with `:also`
-- (continue_cat_loop); the categorization code will then restart the loop at that holonym. That holonym
-- will have `:also` marked on it, so make sure not to stop immediately if the first holonym is marked with
-- `:also`.
if not this_holonym or stop_at_also and index > first_holonym_index and this_holonym.continue_cat_loop then
return nil
end
-- If not placetype, we're processing raw text, which we normally want to skip.
if include_raw_text_holonyms or this_holonym.placetype then
return index, this_holonym
end
end
end, place_desc, first_holonym_index and first_holonym_index - 1 or 0
end
--[==[
If the holonym in `data` (in the format as passed to a category handler) refers to a known location, iterate over all
such known locations, returning for each location the corresponding key, spec and group as well as the trail of
ancestral containers. Unlike `iterate_matching_location()`, this specifically checks that there is no mismatch between
the location's containers at any level and any of the following holonyms in the {{tl|place}} spec. The fields in `data`
are:
* `holonym_placetype`: The placetype of the holonym. It can actually be a list of possible placetypes, as with
`iterate_matching_location()`.
* `holonym_placename`: The placename of the holonym.
* `holonym_index`: The index of the holonym among the holonyms in `place_desc`, or nil if the holonym is not among the
holonyms in `place_desc`. (If a holonym index is given, we check for container mismatches among the holonyms
following the specified index, stopping either when encountering a holonym marked with modifier `:also` or, if none
exist, when we run out of holonyms. If no holonym index is given, we check all holonyms for container mismatches.)
* `place_desc`: Description of the place; used for the holonyms, to check for container mismatches.
Returns four values: the location group, the canonical key by which the location is known, the spec object describing
the location and the trail of ancestral containers for the location. The first three values are the same as for
`iterate_matching_location`.
]==]
function export.iterate_matching_holonym_location(data)
local holonym_placetype, holonym_placename, holonym_index, place_desc =
data.holonym_placetype, data.holonym_placename, data.holonym_index, data.place_desc
local matching_location_iterator = m_locations.iterate_matching_location {
placetypes = holonym_placetype,
placename = holonym_placename,
}
return function()
while true do
local group, key, spec = matching_location_iterator()
if not group then
return nil
end
local container_trail = {}
-- For each level of container, check that there are no mismatches (i.e. other location of the same
-- placetype) mentioned. We allow a mismatch at a given level if there's also a match with the container
-- at that level. For example, in the case of Kansas City, defined in [[Module:place/locations]] as a city
-- in Missouri, if we define it as {{tl|place|city|s/Missouri,Kansas}}, we ignore the mismatching state of
-- Kansas because the correct state of Missouri was also mentioned. But imagine we are defining Newark,
-- Delaware as {{tl|place|city|s/Delaware|c/US}} and (as is the case) we have an entry for Newark, New
-- Jersey in [[Module:place/locations]]. Just because the containing location `US` matches isn't enough,
-- because Newark, NJ also has New Jersey as a containing location and there's a mismatch at that level. If
-- there are no mismatches at any level we assume we're dealing with the right known location.
--
-- If at a given level there are multiple containing locations, we count a match if any holonym matches any
-- containing location, and a mismatch only if a holonym exists of the same placetype that doesn't match any
-- containing location.
local containers_mismatch = false
for containers in m_locations.iterate_containers(group, key, spec) do
insert(container_trail, containers)
local match_at_level = false
local mismatch_at_level = false
for other_holonym_index, other_holonym in export.get_holonyms_to_check(place_desc,
holonym_index and holonym_index + 1 or nil) do
local other_source_holonym = other_holonym.augmented_from_holonym
if other_source_holonym and other_source_holonym.placetype == holonym_placetype and
other_source_holonym.unlinked_placename ~= holonym_placename then
-- Ignore holonyms added during the augmentation process for other holonyms of the same
-- placetype as the placetype of the holonym we're considering. See comment in
-- augment_holonyms_with_container() for why we do this.
-- continue; grrr, no 'continue' in Lua
else
local holonym_matches_at_level = false
local holonym_exists_with_same_placetype = false
for _, container in ipairs(containers) do
if not container.spec.no_check_holonym_mismatch then
local full_container_placename, elliptical_container_placename =
m_locations.key_to_placename(container.group, container.key)
local placetypes = container.spec.placetype
if type(placetypes) ~= "table" then
placetypes = {placetypes}
end
local placetype_equivs = {}
for _, pt in ipairs(placetypes) do
m_table.extend(placetype_equivs, export.get_placetype_equivs(pt))
end
local this_holonym_matches = export.get_equiv_placetype_prop_from_equivs(
placetype_equivs, function(placetype)
return other_holonym.placetype == placetype and
(other_holonym.unlinked_placename == full_container_placename or
other_holonym.unlinked_placename == elliptical_container_placename)
end
)
if this_holonym_matches then
holonym_matches_at_level = true
break
end
local this_holonym_exists_with_same_placetype = export.get_equiv_placetype_prop_from_equivs(
placetype_equivs, function(placetype)
return other_holonym.placetype == placetype
end
)
if this_holonym_exists_with_same_placetype then
-- We seem to have a mismatch at this level. But before we decide conclusively that this
-- is the case, check to see whether the putative mismatch is an alias and matches when
-- we resolve the alias.
for oh_group, oh_key, oh_spec, oh_container_trail in
export.iterate_matching_holonym_location {
holonym_placetype = other_holonym.placetype,
holonym_placename = other_holonym.unlinked_placename,
holonym_index = other_holonym_index,
place_desc = place_desc,
} do
local oh_full_placename, oh_elliptical_placename =
m_locations.key_to_placename(oh_group, oh_key)
if oh_full_placename == full_container_placename or
oh_elliptical_placename == elliptical_container_placename then
-- Alias matched when resolved.
this_holonym_matches = true
break
end
end
if this_holonym_matches then
-- Alias matched above when resolved.
holonym_matches_at_level = true
break
else
-- Not an alias, or doesn't match when resolved. We have a true mismatch.
holonym_exists_with_same_placetype = true
end
end
end
end
if holonym_matches_at_level then
match_at_level = true
break
end
if holonym_exists_with_same_placetype then
mismatch_at_level = true
end
end
end
if not match_at_level and mismatch_at_level then
containers_mismatch = true
break
end
end
if not containers_mismatch then
return group, key, spec, container_trail
end
end
end
end
--[==[
If the holonym in `data` (in the format as passed to a category handler) refers to a known location, find and return the
corresponding key, spec and group as well as the trail of ancestral containers. This is like
`iterate_matching_holonym_location()` but throws an error if more than one location matches. (An example where this
would happen is {{tl|place|en|neighborhood|city/Newcastle}}, because there are two known locations named Newcastle. To
fix this, specify additional following disambiguating holonyms, e.g.
{{tl|place|en|neighborhood|city/Newcastle|s/New South Wales}}.
]==]
function export.find_matching_holonym_location(data)
local all_found = {}
for group, key, spec, container_trail in export.iterate_matching_holonym_location(data) do
insert(all_found, {group, key, spec, container_trail})
end
if not all_found[1] then
return nil
elseif all_found[2] then
local holonym_placetype = data.holonym_placetype
if type(holonym_placetype) == "table" then
holonym_placetype = concat(holonym_placetype, ",")
end
local found_keys = {}
for _, found in ipairs(all_found) do
local _, key, _, _ = unpack(found)
insert(found_keys, key)
end
error(("Found multiple matching locations for holonym '%s/%s'; specify disambiguating context in the " ..
"containing holonyms: %s"):format(holonym_placetype, data.holonym_placename, dump(found_keys)))
else
return unpack(all_found[1])
end
end
------------------------------------------------------------------------------------------
-- Placename and placetype data --
------------------------------------------------------------------------------------------
--[==[ var:
This is a map from aliases to their canonical forms. Any placetypes appearing as keys here will be mapped to their
canonical forms in all respects, including the display form. Contrast entries in 'placetype_data' with a fallback, which
applies to categorization and other processes but not to display.
The most important aliases are for holonym placetypes, particularly those that occur often such as "country", "state",
"province" and the like. Particularly long placetypes that mostly occur as entry placetypes (e.g.
"census-designated place") can be given abbreviations, but it is generally preferred to spell out the entry placetype.
Note also that we purposely avoid certain abbreviations that would be ambiguous (e.g. "d", which could variously be
interpreted as "department", "district" or "division").
]==]
export.placetype_aliases = {
["acomm"] = "autonomous community",
["adr"] = "administrative region",
["adterr"] = "administrative territory", -- Pakistan
["aobl"] = "autonomous oblast",
["aokr"] = "autonomous okrug",
["ap"] = "autonomous province",
["apref"] = "autonomous prefecture",
["aprov"] = "autonomous province",
["ar"] = "autonomous region",
["arch"] = "archipelago",
["arep"] = "autonomous republic",
["aterr"] = "autonomous territory",
["atu"] = "autonomous territorial unit",
["bor"] = "borough",
["c"] = "quốc gia",
["can"] = "canton",
["carea"] = "council area",
["cc"] = "constituent country",
["cdblock"] = "community development block",
["cdep"] = "Crown dependency",
["CDP"] = "census-designated place",
["cdp"] = "census-designated place",
["clcity"] = "county-level city",
["co"] = "county",
["cobor"] = "county borough",
["colcity"] = "county-level city",
["coll"] = "collectivity",
["comm"] = "community",
["cont"] = "lục địa",
["continent"] = "lục địa",
["contr"] = "continental region",
["contregion"] = "continental region",
["cpar"] = "civil parish",
["damun"] = "direct-administered municipality",
["dep"] = "dependency",
["department capital"] = "departmental capital",
["dept"] = "department",
["depterr"] = "dependent territory",
["dist"] = "district",
["distmun"] = "district municipality",
["div"] = "division",
["emp"] = "empire",
["fpref"] = "French prefecture",
["gov"] = "governorate",
["govnat"] = "governorate",
["home-rule city"] = "home rule city",
["home-rule municipality"] = "home rule municipality",
["inner-city area"] = "inner city area",
["ires"] = "Indian reservation",
["isl"] = "island",
["lbor"] = "London borough",
["lga"] = "local government area",
["lgarea"] = "local government area",
["lgd"] = "local government district",
["lgdist"] = "local government district",
["metbor"] = "metropolitan borough",
["metcity"] = "metropolitan city",
["metmun"] = "metropolitan municipality",
["mtn"] = "mountain",
["mun"] = "municipality",
["mundist"] = "municipal district",
["nonmetropolitan county"] = "non-metropolitan county",
["obl"] = "oblast",
["okr"] = "okrug",
["p"] = "province",
["par"] = "parish",
["parmun"] = "parish municipality",
["pen"] = "peninsula",
["plcity"] = "prefecture-level city",
["plcolony"] = "Polish colony",
["pref"] = "prefecture",
["prefcity"] = "prefecture-level city",
["preflcity"] = "prefecture-level city",
["prov"] = "province",
["r"] = "region",
["range"] = "mountain range",
["rcm"] = "regional county municipality",
["rcomun"] = "regional county municipality",
["rdist"] = "regional district",
["rep"] = "republic",
["rhrom"] = "rural hromada",
["riv"] = "river",
["rmun"] = "regional municipality",
["robor"] = "royal borough",
["romp"] = "Roman province",
["runit"] = "regional unit",
["rurmun"] = "rural municipality",
["s"] = "state",
["sar"] = "special administrative region",
["shrom"] = "settlement hromada",
["spref"] = "subprefecture",
["sprefcity"] = "sub-prefectural city",
["sprovcity"] = "subprovincial city",
["submet city"] = "sub-metropolitan city",
["submetropolitan city"] = "sub-metropolitan city",
["sub-prefecture-level city"] = "sub-prefectural city",
["sub-provincial city"] = "subprovincial city",
["sub-provincial district"] = "subprovincial district",
["terr"] = "territory",
["terrauth"] = "territorial authority",
["twp"] = "township",
["twpmun"] = "township municipality",
["uauth"] = "unitary authority",
["ucomm"] = "unincorporated community",
["udist"] = "unitary district",
["uhrom"] = "urban hromada",
["uterr"] = "union territory",
["utwpmun"] = "united township municipality",
["val"] = "valley",
["vdc"] = "village development committee",
["vil"] = "village",
["voi"] = "voivodeship",
["wcomm"] = "Welsh community",
}
local no_link_def_article = {link = false, article = ""}
local no_link_no_article = {link = false, article = false}
--[==[ var:
These qualifiers can be prepended onto any placetype and will be handled correctly. For example, the placetype
`large city` will be displayed as `large <nowiki>[[city]]</nowiki>` and categorized as if `city` were specified. If the
value in the following table is a string, the qualifier will display according to the string. If the value is `true`,
the qualifier will be linked to its corresponding Wiktionary entry. If the value is `false`, the qualifier will not be
linked but will appear as-is. Note that these qualifiers do not override placetypes with entries elsewhere that contain
those same qualifiers. For example, the entry for `inland sea` in `placetype_data` will apply in preference to treating
`inland sea` as equivalent to `sea`.
]==]
export.placetype_qualifiers = {
-- generic qualifiers
["huge"] = false,
["tiny"] = false,
["large"] = false,
["big"] = false,
["mid-size"] = false,
["mid-sized"] = false,
["small"] = false,
["sizable"] = false,
["important"] = false,
["long"] = false,
["short"] = false,
["major"] = false,
["minor"] = false,
["high"] = false,
["tall"] = false,
["low"] = false,
["left"] = false, -- left tributary
["right"] = false, -- right tributary
["modern"] = false, -- for use in opposition to "ancient" in another definition
-- "former" qualifiers
["abandoned"] = true,
["ancient"] = true,
["deserted"] = true,
["extinct"] = true,
["former"] = false,
["historic"] = "historical",
["historical"] = true,
["medieval"] = true,
["mediaeval"] = true,
["ruined"] = true,
["traditional"] = true,
-- sea qualifiers
["coastal"] = true,
["inland"] = true, -- note, we also have an entry in placetype_data for 'inland sea' to get a link to [[inland sea]]
["maritime"] = true,
["overseas"] = true,
["seaside"] = true,
["beachfront"] = true,
["beachside"] = true,
["riverside"] = true,
-- lake qualifiers
["freshwater"] = true,
["saltwater"] = true,
["endorheic"] = true,
["oxbow"] = true,
["ox-bow"] = "[[oxbow]]", -- [[ox-bow]] is a red link
["tidal"] = true,
-- land qualifiers
["hilltop"] = true,
["hilly"] = true,
["insular"] = true,
["peninsular"] = true,
["chalk"] = true,
["karst"] = true,
["limestone"] = true,
["mountainous"] = true,
["mountaintop"] = true,
["alpine"] = true,
["volcanic"] = true, -- for an island
-- political status qualifiers
["autonomous"] = true,
["incorporated"] = true,
["special"] = true,
["unincorporated"] = true,
["coterminous"] = true,
-- monetary status/etc. qualifiers
["fashionable"] = true,
["wealthy"] = true,
["affluent"] = true,
["declining"] = true,
-- city vs. rural qualifiers
["urban"] = true,
["suburban"] = true,
["exurban"] = true,
["outlying"] = true,
["remote"] = true,
["rural"] = true,
["outback"] = true,
["inner"] = false,
["inner-city"] = true,
["central"] = false,
["outer"] = false,
-- land use qualifiers
["residential"] = true,
["agricultural"] = true,
["business"] = true,
["commercial"] = true,
["industrial"] = true,
-- business use qualifiers
["railroad"] = true,
["railway"] = true,
["farming"] = true,
["fishing"] = true,
["mining"] = true,
["logging"] = true,
["cattle"] = true,
-- tourism use qualifiers
["resort"] = true, -- note, we also have 'resort city' and 'resort town', that take precedecne
["spa"] = true, -- note, we also have 'spa city' and 'spa town', that take precedecne
["ski"] = true, -- note, we also have 'ski resort city' and 'ski resort town', that take precedecne
-- religious qualifiers
["holy"] = true,
["sacred"] = true,
["religious"] = true,
["secular"] = true,
-- qualifiers for nonexistent places
["claimed"] = false,
["fictional"] = true,
["legendary"] = true,
["mythical"] = true,
["mythological"] = true,
-- directional qualifiers
["northern"] = false,
["southern"] = false,
["eastern"] = false,
["western"] = false,
["north"] = false,
["south"] = false,
["east"] = false,
["west"] = false,
["northeastern"] = false,
["southeastern"] = false,
["northwestern"] = false,
["southwestern"] = false,
["northeast"] = false,
["southeast"] = false,
["northwest"] = false,
["southwest"] = false,
-- seasonal qualifiers
["summer"] = true, -- e.g. for 'summer capital'
["winter"] = true,
-- legal status qualifiers
-- FIXME: Two-word qualifiers don't work yet. But you can enter "de-facto" and it's canonicalized to [[de facto]].
["official"] = true,
["unofficial"] = true,
["de facto"] = true, -- 'de facto capital'
["de-facto"] = "[[de facto]]", -- [[de-facto]] is a red link
["de jure"] = true, -- 'de jure capital'
["de-jure"] = "[[de jure]]", -- [[de-jure]] is a red link
-- NOTE: 'unrecognized/unrecognised' are handled as placetypes 'unrecognized country', 'unrecognized state'
-- misc. qualifiers
["planned"] = true,
["chartered"] = true,
["landlocked"] = true,
["uninhabited"] = true,
-- superlative qualifiers
["first"] = no_link_def_article,
["second"] = no_link_def_article, -- for "second largest" etc.
["third"] = no_link_def_article,
["fourth"] = no_link_def_article,
["last"] = no_link_def_article,
["only"] = no_link_def_article,
["sole"] = no_link_def_article,
["main"] = no_link_def_article,
["largest"] = no_link_def_article,
["biggest"] = no_link_def_article,
["smallest"] = no_link_def_article,
["shortest"] = no_link_def_article,
["longest"] = no_link_def_article,
["tallest"] = no_link_def_article,
["highest"] = no_link_def_article,
["lowest"] = no_link_def_article,
["leftmost"] = no_link_def_article,
["rightmost"] = no_link_def_article,
["innermost"] = no_link_def_article,
["outermost"] = no_link_def_article,
["northernmost"] = no_link_def_article,
["southernmost"] = no_link_def_article,
["westernmost"] = no_link_def_article,
["easternmost"] = no_link_def_article,
["northwesternmost"] = no_link_def_article,
["southwesternmost"] = no_link_def_article,
["northeasternmost"] = no_link_def_article,
["southeasternmost"] = no_link_def_article,
-- several/various
["several"] = no_link_no_article,
["various"] = no_link_no_article,
["numerous"] = no_link_no_article,
["multiple"] = no_link_no_article,
["many"] = no_link_no_article,
["other"] = no_link_no_article,
}
--[==[ var:
In this table, the key qualifiers should be treated the same as the value qualifiers for categorization purposes. This
is overridden by `placetype_data` and `qualifier_to_placetype_equivs`.
]==]
export.former_qualifiers = {
["abandoned"] = {"FORMER"},
["ancient"] = {"ANCIENT", "FORMER"},
["former"] = {"FORMER"},
["extinct"] = {"FORMER"},
["historic"] = {"FORMER"},
["historical"] = {"FORMER"},
["medieval"] = {"ANCIENT", "FORMER"},
["mediaeval"] = {"ANCIENT", "FORMER"},
["ruined"] = {"ANCIENT", "FORMER"},
["traditional"] = {"FORMER"},
}
--[==[ var:
In this table, any placetypes containing these qualifiers that do not occur in `placetype_data` should be mapped to the
specified placetypes for categorization purposes. Entries here are overridden by `placetype_data`.
]==]
export.qualifier_to_placetype_equivs = {
["fictional"] = "fictional location",
["legendary"] = "mythological location",
["mythical"] = "mythological location",
["mythological"] = "mythological location",
-- For e.g. Taiwan as a "claimed province" of China; parts of Belize as claimed by Guatemala; various islands
-- claimed by various parties in East Asia. FIXME: We should conditionalize on what is being claimed since there are
-- also claimed capitals, e.g. Israel and Palestine claim Jerusalem as their capital.
["claimed"] = "claimed political division",
}
--[==[ var:
Mapping from placetypes to the corresponding plural category-only placetype for a capital of that placetype. The reverse
mapping also exists.
]==]
export.placetype_to_capital_cat = {
["autonomous community"] = "autonomous community capitals",
["canton"] = "cantonal capitals",
["comarca"] = "comarca capitals",
["country"] = "national capitals",
-- The following are not obviously different from 'county seats' but the latte terminology is used in the US.
["county"] = "county capitals",
["department"] = "departmental capitals",
["district"] = "district capitals",
["division"] = "division capitals",
["emirate"] = "emirate capitals",
["governorate"] = "governorate capitals",
["hromada"] = "hromada capitals",
["krai"] = "krai capitals",
["metropolitan city"] = "metropolitan city capitals",
["municipality"] = "municipal capitals",
["oblast"] = "oblast capitals",
["okrug"] = "okrug capitals",
["prefecture"] = "prefectural capitals",
["province"] = "provincial capitals",
["raion"] = "raion capitals",
["regency"] = "regency capitals",
["region"] = "regional capitals",
["regional unit"] = "regional unit capitals",
["republic"] = "republic capitals",
["state"] = "state capitals",
["territory"] = "territorial capitals",
["voivodeship"] = "voivodeship capitals",
}
--[==[ var:
This contains placenames that should be preceded by an article (almost always "the"). '''NOTE''': There are multiple
ways that placenames can come to be preceded by "the":
# Listed here.
# Given in [[Module:place/locations]] with an initial "the". All such placenames are added to this map by the code
just below the map.
# The placetype of the placename has `holonym_use_the = true` in its placetype_data.
# A regex in placename_the_re matches the placename.
Note that "the" is added only before the first holonym in a place description.
]==]
export.placename_article = {
-- This should only contain info that can't be inferred from [[Module:place/locations]].
["archipelago"] = {
["Cyclades"] = "the",
["Dodecanese"] = "the",
},
["country"] = {
["Holy Roman Empire"] = "the",
},
["empire"] = {
["Holy Roman Empire"] = "the",
},
["island"] = {
["North Island"] = "the",
["South Island"] = "the",
},
["region"] = {
["Balkans"] = "the",
["Russian Far East"] = "the",
["Caribbean"] = "the",
["Caucasus"] = "the",
["Middle East"] = "the",
["New Territories"] = "the",
["North Caucasus"] = "the",
["South Caucasus"] = "the",
["West Bank"] = "the",
["Gaza Strip"] = "the",
},
["valley"] = {
["San Fernando Valley"] = "the",
},
}
--[==[ var:
Regular expressions to apply to determine whether we need to put 'the' before a holonym. The key "*" applies to all
holonyms, otherwise only the regexes for the holonym's placetype apply.
]==]
export.placename_the_re = {
-- We don't need entries for peninsulas, seas, oceans, gulfs or rivers
-- because they have holonym_use_the = true.
["*"] = {"^Isle of ", " Islands$", " Mountains$", " Empire$", " Country$", " Region$", " District$", "^City of "},
["bay"] = {"^Vịnh của "},
["lake"] = {"^Hồ của "},
["country"] = {"^Republic of ", " Republic$"},
["republic"] = {"^Republic of ", " Republic$"},
["region"] = {"^Vùng của "},
["river"] = {"^Sông của "},
["local government area"] = {"^Shire of "},
["county"] = {"^Shire of "},
["Indian reservation"] = {" Reservation", " Nation"},
["tribal jurisdictional area"] = {" Reservation", " Nation"},
}
--[==[ var:
If any of the following holonyms are present, the associated holonyms are automatically added to the end of the list of
holonyms for categorization (but not display) purposes.
]==]
export.cat_implications = {
["region"] = {
["Eastern Europe"] = {"continent/Europe"},
["Central Europe"] = {"continent/Europe"},
["Western Europe"] = {"continent/Europe"},
["South Europe"] = {"continent/Europe"},
["Southern Europe"] = {"continent/Europe"},
["Northern Europe"] = {"continent/Europe"},
["Northeast Europe"] = {"continent/Europe"},
["Northeastern Europe"] = {"continent/Europe"},
["Southeast Europe"] = {"continent/Europe"},
["Southeastern Europe"] = {"continent/Europe"},
["North Caucasus"] = {"continent/Europe"},
["South Caucasus"] = {"continent/Asia"},
["South Asia"] = {"continent/Asia"},
["Southern Asia"] = {"continent/Asia"},
["East Asia"] = {"continent/Asia"},
["Eastern Asia"] = {"continent/Asia"},
["Central Asia"] = {"continent/Asia"},
["West Asia"] = {"continent/Asia"},
["Western Asia"] = {"continent/Asia"},
["Southeast Asia"] = {"continent/Asia"},
["North Asia"] = {"continent/Asia"},
["Northern Asia"] = {"continent/Asia"},
["Anatolia"] = {"continent/Asia"},
["Asia Minor"] = {"continent/Asia"},
["Mesopotamia"] = {"continent/Asia"},
["North Africa"] = {"continent/Africa"},
["Central Africa"] = {"continent/Africa"},
["West Africa"] = {"continent/Africa"},
["East Africa"] = {"continent/Africa"},
["Southern Africa"] = {"continent/Africa"},
["Central America"] = {"continent/Central America"},
["Caribbean"] = {"continent/North America"},
["Polynesia"] = {"continent/Oceania"},
["Micronesia"] = {"continent/Oceania"},
["Melanesia"] = {"continent/Oceania"},
["Siberia"] = {"country/Russia", "continent/Asia"},
["Russian Far East"] = {"country/Russia", "continent/Asia"},
["South Wales"] = {"constituent country/Wales", "continent/Europe"},
["Balkans"] = {"continent/Europe"},
["West Bank"] = {"country/Palestine", "continent/Asia"},
["Gaza"] = {"country/Palestine", "continent/Asia"},
["Gaza Strip"] = {"country/Palestine", "continent/Asia"},
}
}
------------------------------------------------------------------------------------------
-- Category and display handlers --
------------------------------------------------------------------------------------------
local function city_type_cat_handler(data)
local entry_placetype = data.entry_placetype
local generic_before_non_cities = export.get_placetype_prop(entry_placetype, "generic_before_non_cities")
if not generic_before_non_cities then
internal_error("city_type_cat_handler called on placetype %s that doesn't have a `generic_before_non_cities`" ..
" setting", entry_placetype)
end
local plural_entry_placetype = export.pluralize_placetype(entry_placetype)
local group, key, spec, container_trail = export.find_matching_holonym_location(data)
if group and not spec.is_former_place and not spec.is_city then
-- Categorize both in key, and in the larger polity that the key is part of, e.g. [[Hirakata]] goes in both
-- "Cities in Osaka Prefecture" and "Cities in Japan". (But don't do the latter if no_container_cat is set.)
local cap_plural_entry_placetype = ucfirst(plural_entry_placetype)
local retcats = {("%s %s %s"):format(cap_plural_entry_placetype, generic_before_non_cities,
export.get_prefixed_key(key, spec))}
if container_trail[1] and not spec.no_container_cat then
for _, container in ipairs(container_trail[1]) do
insert(retcats, ("%s %s %s"):format(cap_plural_entry_placetype, generic_before_non_cities,
export.get_prefixed_key(container.key, container.spec)))
end
end
return retcats
end
end
local function capital_city_cat_handler(data, non_city)
local holonym_placetype, holonym_placename, holonym_index, place_desc =
data.holonym_placetype, data.holonym_placename, data.holonym_index, data.place_desc
-- The first time we're called we want to return something; otherwise we will be called for later-mentioned
-- holonyms, which can result in wrongly classifying into e.g. `National capitals`. Simulate the loop in
-- find_placetype_cat_specs() over holonyms so we get the proper `Cities in ...` categories as well as the capital
-- category/categories we add below.
local retcats
if not non_city and place_desc.holonyms then
for h_index, holonym in export.get_holonyms_to_check(place_desc, holonym_index) do
local h_placetype, h_placename = holonym.placetype, holonym.unlinked_placename
retcats = city_type_cat_handler {
entry_placetype = "thành phố",
holonym_placetype = h_placetype,
holonym_placename = h_placename,
holonym_index = h_index,
place_desc = place_desc,
}
if retcats then
break
end
end
end
if not retcats then
retcats = {}
end
-- Now find the appropriate capital-type category for the placetype of the holonym, e.g. 'State capitals'. If we
-- recognize the holonym among the known holonyms in [[Module:place/locations]], also add a category like 'State
-- capitals of the United States'. Truncate e.g. 'autonomous region' to 'region', 'union territory' to 'territory'
-- when looking up the type of capital category, if we can't find an entry for the holonym placetype itself (there's
-- an entry for 'autonomous community').
local capital_cat = export.placetype_to_capital_cat[holonym_placetype]
if not capital_cat then
capital_cat = export.placetype_to_capital_cat[holonym_placetype:gsub("^.* ", "")]
end
if capital_cat then
capital_cat = ucfirst(capital_cat)
local inserted_specific_variant_cat = false
if holonym_index then
-- Now find the first recognized holonym location. We don't stop when :also is seen because of the common pattern
-- where we use :also to specify that a given city is the capital at multiple surrounding levels.
local matching_group, matching_key, matching_spec, matching_container_trail, matching_holonym_index
for h_index = holonym_index, #place_desc.holonyms do
if place_desc.holonyms[h_index].placetype then
matching_group, matching_key, matching_spec, matching_container_trail = export.find_matching_holonym_location {
holonym_placetype = place_desc.holonyms[h_index].placetype,
holonym_placename = place_desc.holonyms[h_index].unlinked_placename,
holonym_index = h_index,
place_desc = place_desc,
}
if matching_group then
matching_holonym_index = h_index
break
end
end
end
if matching_holonym_index == holonym_index then
if matching_container_trail[1] and not matching_spec.no_container_cat then
for _, container in ipairs(matching_container_trail[1]) do
insert(retcats, ("%s của %s"):format(capital_cat, export.get_prefixed_key(container.key,
container.spec)))
inserted_specific_variant_cat = true
end
end
elseif matching_holonym_index then
-- Check to make sure that the holonym placetype we were called on is listed among the
-- divtypes of the location we found.
local function insert_specific_variant_if_possible(key, spec)
return export.get_equiv_placetype_prop(holonym_placetype, function(pt)
local plural_holonym_placetype = export.pluralize_placetype(pt)
local saw_matching_div
if spec.divs then
local divs = spec.divs
if type(divs) ~= "table" then
divs = {divs}
end
for _, div in ipairs(divs) do
if type(div) ~= "table" then
div = {type = div}
end
if plural_holonym_placetype == div.type then
saw_matching_div = true
break
end
end
end
if saw_matching_div then
insert(retcats, ("%s của %s"):format(capital_cat, export.get_prefixed_key(key, spec)))
return true
end
return false
end)
end
if insert_specific_variant_if_possible(matching_key, matching_spec) then
inserted_specific_variant_cat = true
elseif not matching_spec.no_container_cat then
for _, containers in ipairs(matching_container_trail) do
local saw_no_container_cat = false
for _, container in ipairs(containers) do
if insert_specific_variant_if_possible(container.key, container.spec) then
inserted_specific_variant_cat = true
break
end
saw_no_container_cat = saw_no_container_cat or container.spec.no_container_cat
end
if inserted_specific_variant_cat or saw_no_container_cat then
break
end
end
end
end
else
-- This happens when in an invocation like {{place|en|capital city|s/Haryana,Punjab}} for
-- [[Chandigarh]]. We fall back to older code that doesn't depend on the holonym index existing.
-- FIXME: This may not be necessary. In the example just given, when processing Haryana we add to
-- [[:Category:en:State capitals of India]], and nothing extra gets added when processing Punjab.
-- Possibly we can just skip this case entirely.
local group, key, spec, container_trail = export.find_matching_holonym_location(data)
if group and container_trail[1] and not spec.no_container_cat then
for _, container in ipairs(container_trail[1]) do
insert(retcats, ("%s của %s"):format(capital_cat, export.get_prefixed_key(container.key,
container.spec)))
inserted_specific_variant_cat = true
end
end
end
if not inserted_specific_variant_cat then
insert(retcats, capital_cat)
end
else
-- We didn't recognize the holonym placetype; just put in 'Capital cities'.
insert(retcats, "Capital cities")
end
return retcats
end
--[=[
This is invoked specially for all placetypes (see the `*` placetype key at the bottom of `placetype_data`). This is used
in two ways:
# To add pages to generic holonym categories like [[:Category:en:Places in Merseyside, England]] (and
[[:Category:en:Places in England]]) for any pages that have `co/Merseyside` as their holonym.
# To categorize demonyms in bare placename categories like [[:Category:en:Merseyside, England]] if the demonym
description mentions `co/Merseyside` and doesn't mention a more specific placename that also has a category. (In this
case there are none, but we can have demonyms at multiple levels, e.g. in France for individual villages, departments,
administrative regions, and for the entire country, and for example we only want to categorize a demonym into
[[:Category:France]] if no more specific category applies.) Unlike when invoked from {{tl|place}}, a demonym
invocation only adds the most specific holonym category and not the category of any containing polity (hence if we
add [[:Category:en:Merseyside, England]] we won't also add [[:Category:England]]).
This code also handles cities; e.g. for the first use case above, it would be used to add a page that has `city/Boston`
as a holonym to [[:Category:en:Places in Boston]], along with [[:Category:en:Places in Massachusetts, USA]] and
[[:Category:en:Places in the United States]]. The city handler tries to deal with the possibility of multiple cities
having the same name. For example, the code in [[Module:place/locations]] knows about the city of [[Columbus]],
[[Ohio]], which has containing polities `Ohio` (a state) and `the United States` (a country). If either containing
polity is mentioned, the handler proceeds to return the key `Columbus` (along with `Ohio, USA` and `the United States`).
Otherwise, if any other state or country is mentioned, the handler returns nothing, and otherwise it assumes the
mentioned city is the one we're considering and returns `Columbus` etc. This works correctly if the place only mentions
Ohio and a holonym for a Columbus in a different country is encountered, because of the function
`augment_holonyms_with_container`, which adds the US as a holonym when Ohio is encountered.
The single parameter `data` is as in category handlers. The return value is a list of categories (without the preceding
language code).
]=]
local function generic_place_cat_handler(data)
local from_demonym = data.from_demonym
local retcats = {}
local function insert_retkey(key, spec)
if from_demonym then
insert(retcats, key)
else
insert(retcats, ("Địa danh của %s"):format(export.get_prefixed_key(key, spec)))
end
end
local group, key, spec, container_trail = export.find_matching_holonym_location(data)
if group then
if not spec.no_generic_place_cat then
-- This applies to continents and continental regions.
insert_retkey(key, spec)
end
-- Categorize both in key, and in the larger location(s) that the key is part of, e.g. [[Hirakata]] goes in
-- both [[Category:Places in Osaka Prefecture, Japan]] and [[Category:Places in Japan]]. But not when
-- no_container_cat is set (e.g. for 'United Kingdom').
if not spec.no_container_cat then
for _, container_set in ipairs(container_trail) do
local stop_adding_containers = false
for _, container in ipairs(container_set) do
if not container.spec.no_generic_place_cat then
insert_retkey(container.key, container.spec)
end
if container.spec.no_container_cat then
stop_adding_containers = true
end
end
if stop_adding_containers then
break
end
end
end
return retcats
end
end
--[==[
Special category handler run for all placetypes that checks for specified division placetypes of known locations and
categorizes appropriately.
]==]
function export.political_division_cat_handler(data)
if data.from_demonym then
return
end
local group, key, spec, container_trail = export.find_matching_holonym_location(data)
if group then
local divlists = {}
if spec.divs then
insert(divlists, spec.divs)
end
if spec.addl_divs then
insert(divlists, spec.addl_divs)
end
for _, divlist in ipairs(divlists) do
if type(divlist) ~= "table" then
divlist = {divlist}
end
for _, div in ipairs(divlist) do
if type(div) == "string" then
div = {type = div}
end
local sgdiv = export.maybe_singularize_placetype(div.type) or div.type
local prep = div.prep or "của"
local cat_as = div.cat_as or div.type
if type(cat_as) ~= "table" then
cat_as = {cat_as}
end
if not export.placetype_data[sgdiv] then
internal_error("Placetype %s associated with known location key %s and data %s not found in " ..
"`placetype_data`", sgdiv, key, spec)
end
if sgdiv == data.entry_placetype then
local retcats = {}
for _, pt_cat in ipairs(cat_as) do
if type(pt_cat) == "string" then
pt_cat = {type = pt_cat}
end
local pt_prep = pt_cat.prep or prep
insert(retcats, ucfirst(pt_cat.type) .. " " .. pt_prep .. " " ..
export.get_prefixed_key(key, spec))
end
return retcats
end
end
end
end
end
--[==[
This is used to add pages to "bare" categories like [[:Category:en:Georgia, USA]] for `[[Georgia]]` and any
foreign-language terms that are translations of the state of Georgia. We look at the page title (or its overridden value
in {{para|pagename}}) as well as the glosses in {{para|t}}/{{para|t2}} etc., various extra-info values such as the
modern names in {{para|modern}}, and any values specified using a form-of directive. We need to pay attention to the
entry placetypes specified so we don't overcategorize; e.g. the US state of Georgia is `[[Джорджия]]` in Russian but the
country of Georgia is `[[Грузия]]`, and if we just looked for matching names, we'd get both Russian terms categorized
into both [[:Category:ru:Georgia, USA]] and [[:Category:ru:Georgia]]. We also need to check the containing holonyms to
make sure there isn't a mismatch (so we don't e.g. categorize Newark, Delaware in [[:Category:en:Newark]], which is
intended for Newark, New Jersey).
]==]
function export.get_bare_categories(args, overall_place_spec)
local bare_cats = {}
local place_descs = overall_place_spec.descs
local possible_placetypes_by_place_desc = {}
for i, place_desc in ipairs(place_descs) do
possible_placetypes_by_place_desc[i] = {}
for _, placetype in ipairs(place_desc.placetypes) do
if not export.placetype_is_ignorable(placetype) then
local equivs = export.get_placetype_equivs(placetype, {register_former_as_non_former = true})
for _, equiv in ipairs(equivs) do
insert(possible_placetypes_by_place_desc[i], equiv.placetype)
end
end
end
end
local function check_term(term)
-- Treat Wikipedia links like local ones.
term = term:gsub("%[%[w:", "[["):gsub("%[%[wikipedia:", "[[")
term = export.remove_links_and_html(term)
term = term:gsub("^ ", "")
for i, place_desc in ipairs(place_descs) do
-- Iterate over all matching locations in case there are multiple, as with Delhi defined as
-- {{place|en|megacity/and/union territory|c/India|containing the national capital [[New Delhi]]}}.
for group, key, spec, container_trail in export.iterate_matching_holonym_location {
holonym_placetype = possible_placetypes_by_place_desc[i],
holonym_placename = term,
place_desc = place_desc,
} do
insert(bare_cats, key)
end
end
end
-- FIXME: Should we only do the following if the language is English (requires that the lang is passed in)?
-- We should always do it if `pagename` is given (as it is with {{tcl}}) but maybe not otherwise unless 1=en. There
-- are cases like [[Ankara]] = English name for capital of Turkey, but also the name in various languages for the
-- capital of Ghana (= English [[Accra]]). But this should get caught by mismatching the containing country. The
-- advantage of checking when the language isn't English is we catch those places that fail to give an English
-- translation but where the translation happens to be the same as the other-language spelling. However, I don't
-- know how often this situation occurs.
check_term(args.pagename or mw.loadData("Module:headword/data").pagename)
for _, t in ipairs(args.t) do
check_term(t)
end
local function check_termobj_list(terms)
for _, term in ipairs(terms) do
if term.eq then
check_term(term.eq)
end
if term.alt or term.term then
check_term(term.alt or term.term)
end
end
end
for _, extra_info_terms in ipairs(overall_place_spec.extra_info) do
local arg = extra_info_terms.arg
if arg == "modern" or arg == "now" or arg == "full" or arg == "short" then
check_termobj_list(extra_info_terms.terms)
end
end
for _, directive in ipairs(overall_place_spec.directives) do
check_termobj_list(directive.terms)
end
return bare_cats
end
--[==[
This is used to augment the holonyms associated with a place description with the containing polities. For example,
given the following:
`# {{tl|place|en|subprefecture|pref/Hokkaido}}.`
We auto-add Japan as another holonym so that the term gets categorized into [[:Category:Subprefectures of Japan]].
To avoid over-categorizing we need to check to make sure no other countries are specified as holonyms.
]==]
function export.augment_holonyms_with_container(place_descs)
for _, place_desc in ipairs(place_descs) do
if place_desc.holonyms then
-- This ends up containing a copy of the original holonyms, with the augmented holonyms inserted in their
-- appropriate position. We don't just put them at the end because some holonyms have use the `:also`
-- modifier, which causes category processing to restart at that point after generating categories for a
-- preceding holonym, and we don't want the preceding holonym's augmented holonyms interfering with
-- categorization of a later holonym. We proceed from right to left, and each time we augment, we copy
-- the holonyms with the augmented holonym(s) inserted appropriately and replace the place description's
-- holonyms with the augmented ones before the next iteration. The reason for this is so that e.g.
-- {{place|neighborhood|city/Birmingham|co/West Midlands|cc/England}} doesn't throw an error during the
-- augmentation process due to 'Birmingham' referring to two known locations (in England and Alabama). If
-- we go left to right, we will throw an ambiguity error on `city/Birmingham` because code to exclude
-- Birmingham, Alabama needs `c/United Kingdom` present (to cause a mismatch with `c/United States`),
-- which isn't yet present as the augmentation code hasn't gotten to `cc/England` yet. For similar
-- reasons, we need to include the augmented holonyms in the holonyms considered in the next iteration
-- rather than modifying the place description once at athe end.
for i = #place_desc.holonyms, 1, -1 do
local holonym = place_desc.holonyms[i]
if holonym.placetype and not export.placetype_is_ignorable(holonym.placetype) then
local group, key, spec, container_trail = export.find_matching_holonym_location {
holonym_placetype = holonym.placetype,
holonym_placename = holonym.unlinked_placename,
holonym_index = i,
place_desc = place_desc,
}
if group and container_trail[1] and not spec.no_auto_augment_container then
local augmented_holonyms = {}
for j = 1, i do
insert(augmented_holonyms, place_desc.holonyms[j])
end
for _, containers in ipairs(container_trail) do
local any_no_auto_augment_container = false
for _, container in ipairs(containers) do
any_no_auto_augment_container = any_no_auto_augment_container or
container.spec.no_auto_augment_container
local containing_type = container.spec.placetype
if type(containing_type) == "table" then
-- If the containing type is a list, use the first element as the canonical variant.
containing_type = containing_type[1]
end
local full_container_placename, elliptical_container_placename =
m_locations.key_to_placename(container.group, container.key)
-- Don't side-effect holonyms while processing them.
local new_holonym = {
-- By the time we run, the display has already been generated so we don't need to
-- set display_placename.
placetype = containing_type,
-- placename_to_key() for the group should correctly handle both full and elliptical
-- placenames, but the full placename seems less likely to be ambiguous. FIXME: We
-- should just store the key directly and use it when available to avoid having to
-- convert key to placename and back to key.
unlinked_placename = full_container_placename,
-- Indicate that this is an augmented holonym, and was derived from the specified
-- holonym. In iterate_matching_holonym_location(), we ignore augmented holonyms
-- derived from holonyms that are different from the holonym we're searching for but
-- of the same placetype. This is to correctly handle a situation like
-- {{place|river|dept/Ardèche,Gard,Vaucluse,Bouches-du-Rhône|c/France}}. Here,
-- `Ardèche` is in `r/Auvergne-Rhône-Alpes`, while `Gard` is in `r/Occitania` and
-- the other two are in `r/Provence-Alpes-Côte d'Azur`. Augmenting proceeds from
-- right to left, so after it adds `r/Provence-Alpes-Côte d'Azur` to
-- `Bouches-du-Rhône`, Vaucluse gets augmented correctly but `Gard` fails to match
-- in find_matching_holonym_location() because of the mismatch between augmented
-- `r/Provence-Alpes-Côte d'Azur` and actual `r/Occitania`. Similarly, all later
-- calls to find_matching_holonym_location() fail to match `Gard` (and likewise
-- `Ardèche`) against any known location. To deal with this, we mark augmented
-- holoynms as being augmented due to a source holonym, and when processing a given
-- holonym, ignore augmented holonyms from other holonyms of the same placetype.
-- The restriction to the same placetype is so that `Birmingham` still gets
-- correctly disambiguated to Birmingham, England in the example given above near
-- the top of this function, using the augmented holonym `c/United Kingdom` added by
-- the specified `cc/England` (whose placetype `constituent country` differs from
-- the placetype `city` of Birmingham).
augmented_from_holonym = holonym,
}
insert(augmented_holonyms, new_holonym)
-- But it is safe to modify other parts of the place_desc.
export.key_holonym_into_place_desc(place_desc, new_holonym)
end
if any_no_auto_augment_container then
break
end
end
for j = i + 1, #place_desc.holonyms do
insert(augmented_holonyms, place_desc.holonyms[j])
end
place_desc.holonyms = augmented_holonyms
end
end
end
end
end
end
-- Cat handler for district, areas, neighborhoods and suburbs. Districts are tricky because they can either be political
-- divisions or city neighborhoods. Areas similarly can be political divisions (rarely; specifically, in Kuwait), city
-- neighborhoods or larger geographical areas/regions. We handle this as follows:
-- (1) `placetype_data` cat entries for specific countries or country divisions take precedence over cat_handlers, so if
-- the user says {{tl|place|district|s/Maharashtra|c/India}}, we won't even be called because there is an entry that
-- categorizes into [[:Category|Districts of Maharashtra, India]].
-- (2) If we're called, we check the holonym we're called on to see if it is a recognized city, e.g. if we're called
-- using {{tl|place|district|city/Mumbai|s/Maharashtra|c/India}}. If so, we categorize under e.g.
-- [[:Category:Neighbourhoods of Mumbai]]. (Choosing the spelling "neighbourhoods" because we're in India.)
-- (3) If we're called and the holonym is not a recognized city, we check if the placetype has has_neighborhoods set.
-- If so, it's "city-like" and we categorize under the first containing polity that we recognize. For example, if
-- we're called using {{tl|place|district|town/Northampton|co/Hampshire|s/Massachusetts|c/US}}, we should recognize
-- town as "city-like" and categorize under [[:Category:Neighborhoods in Massachusetts]]. (Note "in" not "của", and
-- note the spelling "neighborhoods" because we're in the US.)
-- (4) If the holonym is not city-like, we do nothing. If there's a city or city-like placetype farther up (e.g. we're
-- called as {{tl|place|district|ward/Foo|mun/Bar|...}}), we will handle the city-like entity according to (2) or
-- (3) when called on that holonym. Otherwise either the categorization in (1) takes place or there's no
-- categorization.
local function district_neighborhood_cat_handler(data)
local function get_plural_entry_placetype(location_spec, container_trail)
if data.entry_placetype == "suburb" then
return "Suburbs"
else
-- Check for `british_spelling` setting on the spec itself or any container.
local uses_british_spelling = location_spec.british_spelling
if uses_british_spelling == nil and container_trail then
for _, container_set in ipairs(container_trail) do
local must_outer_break = false
for _, container in ipairs(container_set) do
if container.spec.british_spelling ~= nil then
uses_british_spelling = container.spec.british_spelling
must_outer_break = true
break
end
end
if must_outer_break then
break
end
end
end
return uses_british_spelling and "Neighbourhoods" or "Neighborhoods"
end
end
-- First check the immediate holonym to see if it's a city or a city-like top-level entity (Hong Kong, Bonaire,
-- etc.)
local group, key, spec, container_trail = export.find_matching_holonym_location(data)
if group and not spec.is_former_place and spec.is_city then
return {get_plural_entry_placetype(spec, container_trail) .. " of " .. export.get_prefixed_key(key, spec)}
end
-- If the entry placetype is neighbo(u)rhood, assume it is a neighborhood even if there isn't a city-like
-- entity father up the chain. (E.g. due to a mistaken use of m/ instead of mun/ for municipality.)
local has_neighborhoods
local entry_placetype = data.entry_placetype
if entry_placetype == "neighborhood" or entry_placetype == "neighbourhood" or entry_placetype == "suburb" then
has_neighborhoods = true
else
-- Otherwise, make sure the current holonym is city-like.
has_neighborhoods = export.get_equiv_placetype_prop(data.holonym_placetype, function(pt)
return export.get_placetype_prop(pt, "has_neighborhoods")
end, {continue_on_nil_only = true})
end
if has_neighborhoods then
-- Loop up the holonyms, looking for city and city-like entities in case of e.g. [[Sepulveda]] written
-- {{place|en|neighborhood|valley/San Fernando Valley|city/Los Angeles|s/California|c/USA}}
-- but also look for a recognizable poldiv, and if so categorize as "Neighborhoods in POLDIV". We need
-- to start with the current holonym, which is especially important for neighborhoods and suburbs that
-- may have the first holonym be a recognizable province, etc. but can't hurt otherwise. (Previously
-- we skipped the first/current holonym.)
for other_holonym_index, other_holonym in export.get_holonyms_to_check(data.place_desc,
data.holonym_index) do
local other_holonym_data = {
holonym_placetype = other_holonym.placetype,
holonym_placename = other_holonym.unlinked_placename,
holonym_index = other_holonym_index,
place_desc = data.place_desc,
}
local group, key, spec, container_trail = export.find_matching_holonym_location(other_holonym_data)
if group and not spec.is_former_place then
return {get_plural_entry_placetype(spec, container_trail) .. (spec.is_city and " of " or " in ") ..
export.get_prefixed_key(key, spec)}
end
end
end
end
function export.check_already_seen_string(holonym_placename, already_seen_strings)
local canon_placename = ulower(m_links.remove_links(holonym_placename))
if type(already_seen_strings) ~= "table" then
already_seen_strings = {already_seen_strings}
end
for _, already_seen_string in ipairs(already_seen_strings) do
if canon_placename:find(already_seen_string) then
return true
end
end
return false
end
-- Prefix display handler that adds a prefix such as "Metropolitan Borough of " to the display
-- form of holonyms. We make sure the holonym doesn't contain the prefix or some variant already.
-- We do this by checking if any of the strings in ALREADY_SEEN_STRINGS, either a single string or
-- a list of strings, or the prefix if ALREADY_SEEN_STRINGS is omitted, are found in the holonym
-- placename, ignoring case and links. If the prefix isn't already present, we create a link that
-- uses the raw form as the link destination but the prefixed form as the display form, unless the
-- holonym already has a link in it, in which case we just add the prefix.
local function prefix_display_handler(prefix, holonym_placename, already_seen_strings)
if export.check_already_seen_string(holonym_placename, already_seen_strings or ulower(prefix)) then
return holonym_placename
end
if holonym_placename:find("%[%[") then
return prefix .. " " .. holonym_placename
end
return prefix .. " [[" .. holonym_placename .. "]]"
end
-- Suffix display handler that adds a suffix such as " parish" to the display form of holonyms.
-- Works identically to prefix_display_handler but for suffixes instead of prefixes.
local function suffix_display_handler(suffix, holonym_placename, already_seen_strings, include_suffix_in_link)
if export.check_already_seen_string(holonym_placename, already_seen_strings or ulower(suffix)) then
return holonym_placename
end
if holonym_placename:find("%[%[") then
return holonym_placename .. " " .. suffix
end
if include_suffix_in_link then
return "[[" .. holonym_placename .. " " .. suffix .. "]]"
else
return "[[" .. holonym_placename .. "]] " .. suffix
end
end
-- Display handler for boroughs. New York City boroughs are display as-is. Others are suffixed
-- with "borough".
local function borough_display_handler(holonym_placetype, holonym_placename)
local unlinked_placename = m_links.remove_links(holonym_placename)
if m_locations.new_york_boroughs[unlinked_placename] then
-- Hack: don't display "borough" after the names of NYC boroughs
return holonym_placename
end
return suffix_display_handler("borough", holonym_placename)
end
local function county_display_handler(holonym_placetype, holonym_placename)
local unlinked_placename = m_links.remove_links(holonym_placename)
-- Display handler for Irish counties. Irish counties are displayed as e.g. "County [[Cork]]".
if m_locations.ireland_counties["Hạt " .. unlinked_placename .. ", Ireland"] or
m_locations.northern_ireland_counties["Hạt " .. unlinked_placename .. ", Bắc Ireland"] then
return prefix_display_handler("Hạt", holonym_placename)
end
-- Display handler for Taiwanese counties. Taiwanese counties are displayed as e.g. "[[Chiayi]] County".
if m_locations.taiwan_counties[unlinked_placename .. ", Đài Loan"] then
return suffix_display_handler("Hạt", holonym_placename)
end
-- Display handler for Romanian counties. Romanian counties are displayed as e.g. "[[Cluj]] County".
if m_locations.romania_counties[unlinked_placename .. ", România"] then
return suffix_display_handler("Hạt", holonym_placename)
end
-- FIXME, we need the same for US counties but need to key off the country, not the specific county.
-- Others are displayed as-is.
return holonym_placename
end
-- Display handler for prefectures. Japanese prefectures are displayed as e.g. "[[Fukushima]] Prefecture".
-- Others are displayed as e.g. "[[Fthiotida]] prefecture".
local function prefecture_display_handler(holonym_placetype, holonym_placename)
local unlinked_placename = m_links.remove_links(holonym_placename)
local suffix = m_locations.japan_prefectures[unlinked_placename .. ", Nhật Bản"] and "" or "prefecture"
return suffix_display_handler(suffix, holonym_placename)
end
-- Display handler for provinces of Bulgaria, Iran, Laos, North and South Korea, Thailand, Turkey and Vietnam. Recognized
-- provinces are displayed as e.g. "[[Gyeonggi]] Province" or "[[Antalya]] Province". Others are displayed as-is.
local function province_display_handler(holonym_placetype, holonym_placename)
local unlinked_placename = m_links.remove_links(holonym_placename)
if
m_locations.bulgaria_provinces[unlinked_placename .. ", Bulgaria"] or
m_locations.iran_provinces[unlinked_placename .. ", Iran"] or
m_locations.laos_provinces[unlinked_placename .. ", Lào"] or
m_locations.north_korea_provinces[unlinked_placename .. ", Cộng hòa Dân chủ Nhân dân Triều Tiên"] or
m_locations.south_korea_provinces[unlinked_placename .. ", Hàn Quốc"] or
m_locations.thailand_provinces[unlinked_placename .. ", Thái Lan"] or
m_locations.turkey_provinces[unlinked_placename .. ", Thổ Nhĩ Kỳ"] or
m_locations.vietnam_provinces[unlinked_placename .. ", Việt Nam"] then
return suffix_display_handler("Province", holonym_placename)
end
return holonym_placename
end
-- Display handler for Nigerian states. Nigerian states are display as "[[Kano]] State". Others are displayed as-is.
local function state_display_handler(holonym_placetype, holonym_placename)
local unlinked_placename = m_links.remove_links(holonym_placename)
if m_locations.nigeria_states[unlinked_placename .. ", Nigeria"] then
return suffix_display_handler("State", holonym_placename)
end
return holonym_placename
end
-- Display handler for voivodeships. Display as e.g. [[Subcarpathian Voivodeship]].
local function voivodesip_display_handler(holonym_placetype, holonym_placename)
return suffix_display_handler("Voivodeship", holonym_placename, nil, "include_suffix_in_link")
end
------------------------------------------------------------------------------------------
-- Placetype data --
------------------------------------------------------------------------------------------
--[==[ var:
Main placetype data structure. This specifies, for each canonicalized placetype, various properties. The keys are
placetypes (in the singular, except for category-only placetypes, which are plural and followed by `!`), and the value
is a table of properties. The `"*"` key is special and is used for adding "generic" categories of the form
`Places in ``location`` `; it runs for all entry placetypes. Keys in the form of plural placetypes followed by `!` are
used only in [[Module:category tree/topic/Places]] for specifying the properties of categories containing the
specified placetype, esp. bare categories like [[:Category:States and territories]] (rather than qualified categories
like [[:Category:States and territories of Australia]]).
Keys under the value table for a given placetype of are two types: ''property keys'' (which specify the value of
specific properties) and ''categorization keys'' (which tell how to categorize certain sorts of holonyms if the
placetype in question occurs as an entry placetype). Categorization keys are either the special value `default` or are
wildcard strings with a slash in them, such as `"country/*"`. Note that only wildcard strings are currently allowed
directly in the placetype data; everything else is handled through category handlers, either per-placetype or special
(such as `political_division_cat_handler`). The algorithm for how category keys and handlers are used to generate
categories is described at the top of [[Module:place]].
There are several recognized property keys, of various types:
1. The following link-related property keys are recognized:
* `link`: '''Required''' except in category-only placetypes ending in `!`. Describes how to link and display the
placetype in the formatted description when occurring as an entry placetype. Also used for formatting pluralized
placetypes (which may occur in entry placetypes, esp. new-format ones, such as `two <<islands>>`) and may occur in
categories). The possible values are:
*# `true`: Link to the same-named Wiktionary entry. This creates a raw link, e.g. `<nowiki>[[city]]</nowiki>`, which is
converted to an English-specific link by JavaScript postprocessing. If the placetype is plural, this creates a
two-part raw link e.g. `<nowiki>[[city|cities]]</nowiki>`.
*# `"w"`: Link to the same-named Wikipedia entry. This creates a two-part link, e.g.
`<nowiki>[[w:census town|census town]]</nowiki>`, or `<nowiki>[[w:census town|census towns]]</nowiki>` if the
placetype is given plural.
*# `"+..."`: Create a two-part link to the entry following the `+` sign. For example, if `cercle` specifies
`"+w:cercles of Mali"`, a two-part link `<nowiki>[[w:cercles of Mali|cercle]]</nowiki>` will be generated, or
`<nowiki>[[w:cercles of Mali|cercles]]</nowiki>` if plural `cercles` is specified.
*# `"separately"`: Link each word separately. For example, if `administrative territory` specifies `"separately"`, it
will be linked as `<nowiki>[[administrative]] [[territory]]</nowiki>`, or as
`<nowiki>[[administrative]] [[territory|territories]]</nowiki>` if plural `administrative territories` is given.
*# another string: Use that string directly. If the placetype is plural, `pluralize()` in [[Module:en-utilities]] is
called on the string, which will correctly pluralize most strings, including those with links in them. (If there
are multiple links, the display form of the last link is pluralized.)
*# `false`: This placetype is not allowed as an entry placetype. An error will be thrown if this placetype is given as
an entry placetype. This is specified for internal-use placetypes, especially placetypes used in conjunction with
the qualifiers `former`, `ancient`, `historical` and such.
* `plural_link`: If specified and the placetype is plural, use the value in place of generating a pluralized version of
the link spec in `link`. Most commonly, this is either a string with links in it (which is used directly) or the
value `false`, indicating that the placetype cannot occur plural. (This is used for example by `caplc`, which displays
as `<nowiki>[[capital]] and [[large]]st [[city]]</nowiki>`, where a plural version doesn't make sense.) Generally if
this is specified, `plural` also needs to be specified to give a special placetype plural; this situation occurs
especially with multiword placetypes where something other than the last word is pluralized. An example is
`town with bystatus`, whose plural is `towns with bystatus`, which needs to be explicitly given. This example uses
`link = <nowiki>"[[town]] with [[bystatus#Norwegian Bokmål|bystatus]]"</nowiki>` ({{m|nb|bystatus}}) is a Norwegian
Bokmål word, and template calls aren't currently permitted in link strings), along with
`plural_link = <nowiki>"[[town]]s with [[bystatus#Norwegian Bokmål|bystatus]]"</nowiki>`.
* `category_link`: Spec indicating how to display the placetype when occurring in category descriptions. Defaults to
the value of `link`, and in turn is overridden by more specific `category_link_*` keys; see below. Category-only
placetypes (which are plural and end in `!`) usually use `category_link` in preference to `link`. The value of
`category_link` can be any of the types of specs given above, but most commonly is a plural string with links in it,
spelling out the description; in this case it is used directly. When both `category_link` and `link` are given, the
value in `category_link` is typically longer and more descriptive. For example, `polity` uses `link = true`, which
just generates a link `<nowiki>[[polity]]</nowiki>` or plural `<nowiki>[[polity|polities]]</nowiki>`, but specifies a
separate `category_link = <nowiki>"[[independent]] or [[semi-]][[independent]] [[polity|polities]]"</nowiki>`, which
clarifies in the category description what a polity is.
* `category_link_top_level`: Spec indicating how to display top-level (bare/unqualified) categories, i.e. categories
where the placetype is not followed by `in ``location`` ` or `of ``location`` `. If given, this overrides
`category_link` for this type of category.
* `category_link_before_noncity`: Spec indicating how to display qualified categories of the form
` ``placetypes`` in/of ``location`` ` where ``location`` does not refer to a city. If given, this overrides
`category_link` for this type of category.
* `category_link_before_city`: Spec indicating how to display qualified categories of the form
` ``placetypes`` in/of ``location`` ` where ``location`` refer to a city. If given, this overrides `category_link` for
this type of category. An example where this is given is `neighborhood`, which uses the following specs:<ol>
<li>`link = true`</li>
<li>`category_link = <nowiki>"[[neighborhood]]s, [[district]]s and other subportions of [[city|cities]]"</nowiki>`</li>
<li>`category_link_before_city = <nowiki>"[[neighborhood]]s, [[district]]s and other subportions"</nowiki>`</li>
</ol> This has the effect of making the entry placetype `neighborhood` display as just
`<nowiki>[[neighborhood]]</nowiki>`, while e.g. a category like `Neighborhoods of Chicago` displays as
`<nowiki>[[neighborhood]]s, [[district]]s and other subportions of [[Chicago]], ...</nowiki>` and a category like
`Neighborhoods in Illinois, USA` displays as
`<nowiki>[[neighborhood]]s, [[district]]s and other subportions of [[city|cities]] in [[Illinois]], ...</nowiki>`.
* `disallow_in_entries`: If specified, this placetype cannot occur as an entry placetype, and the specified value
(a message indicating what to use instead) is displayed in the error message.
* `disallow_in_holonyms`: If specified, this placetype cannot occur as a holonym placetype, and the specified value
(a message indicating what to use instead) is displayed in the error message.
2. There is currently one fallback-related property key recognized:
* `fallback`: If specified, its value is a placetype which will be used for categorization purposes if no categories
get added using the placetype itself. As an example, `branch` sets a fallback of `river` but also sets
`preposition = "của"`, meaning that {{tl|place|en|branch|riv/Mississippi}} displays as `a branch of the Mississippi`
(whereas `river` itself uses the preposition `in`), but otherwise categorizes the same as `river`. A more complex
example is `area`, which sets a fallback of `geographic and cultural area` and also sets a category handler that
checks for cities or city-like entities (e.g. boroughs) occurring as holonyms and categorizes the toponym under
[[:Category:Neighborhoods of CITY]] (for recognized cities) or otherwise [[:Category:Neighborhoods of POLDIV]] (for
the nearest containing recognized location). In addition, `area` is set as a political division of Kuwait, meaning if
`c/Kuwait` occurs as holonym, the toponym is categorized under [[:Category:Areas of Kuwait]]. If none of these
categories trigger, the fallback of `geographic and cultural area` will take effect, and the toponym will be
categorized as e.g. [[:Category:Geographic and cultural areas of England]].
3. There is currently one property to control irregular plurals of placetypes:
* `plural`: If specified, its value is the plural of the placetype. Otherwise, the default pluralization algorithm in
[[Module:en-utilities]] applies (which correctly pluralizes most words, including those ending in `-y`, `-ch`, `-sh`,
`-x`, etc.). The value of `plural` is also used when converting a pluralized placetype into its singular equivalent;
for example, since the placetype `kibbutz` has `plural = "kibbutzim"`, the placetype `kibbutzim` will be recognized
as a plural and singularized to `kibbutz`. For this reason, it's occasionally necessary to specify a `plural` value
even when the default pluralization algorithm works correctly, if the default singularization algorithm won't
correctly reverse the pluralization (as with `pass` and other terms ending in `-ss`).
4. The following property keys relate to generating categories for entry placetypes and specifying the parents of those
categories:
* `class`: The general class of placetype. This is used for various purposes: (a) to categorize placetypes preceded by
a qualifier such as `former`, `ancient`, `medieval` or `historical` (note that these placetypes are not all treated
alike); (b) to determine the parent category of bare placetype categories (e.g. [[:Category:Villages]] for placetype
`village`); (c) to determine whether to add a parent category `political divisions of specific countries` to
qualified placetype categories (e.g. [[:Category:Villages in Mali]]). The possible values are:
*# `polity`: a more-or-less sovereign/independent polity, such as a country, kingdom or empire.
*# `subpolity`: a non-sovereign division of a polity, above the level of an individual settlement.
*# `settlement`: a city or smaller equivalent, such as a village. This also includes administrative divisions of a
settlement, such as wards and barangays.
*# `non-admin settlement`: similar to a settlement but without administrative or political significance, such as an
unincorporated community, farm or neighborhood.
*# `capital`: a settlement that is a capital. A former capital is generally still in existence, just not the capital
any more.
*# `natural feature`: any non-man-made feature, such as a lake, mountain, island, ocean, etc.
*# `man-made structure`: a man-made feature below the level of a neighborhood, such as a house, airport, university,
metro station, park or the like.
*# `geographic region`: a geographic or cultural region or area that has no administrative significance. These may vary
greatly in size but typically have some sort of cultural significance (possibly historical). The `former`, `ancient`,
etc. qualifier has no effect on the category of these placetypes.
*# `generic place`: a place that isn't further qualified into any specific subtype.
* `former_type`: The class of placetype used for categorizing placetypes preceded by a qualifier such as `former`,
`ancient`, `medieval` or `historical`. The possible values are the same as for `class` but with the addition of
`dependent territory` (for colonies, protectorates and the like) and `!` (ignore the historical/former/ancient/etc.
qualifier; used e.g. with `fictional location` and `mythological location`). If not specified, the value of `class`
is used. When a qualifier such as `former`, `ancient`, `medieval` or `historical` is encountered (specifically, those
in `former_qualifiers`), it is mapped using `former_qualifiers` to the appropriate internal qualifier or qualifiers
(one or both of `ANCIENT` and/or `FORMER`, which are written in all-caps to distinguish them from user-specified
qualifiers), which is prepended to the value of `former_type` or `class` to form a placetype whose properties are
looked up to determine how to categorize the toponym in question. For example, if `medieval village` is given, we map
`medieval` to `ANCIENT` and `FORMER`, and `village` to its `class` of `settlement`, and enter the placetypes
`ANCIENT settlement` and `FORMER settlement` (in that order) into the list of equivalent placetypes returned by
`get_placetype_equivs`. In this case, there is an entry in `placetype_data` for `ANCIENT settlement`, so its default
category spec `Ancient settlements` is used as the category. If on the other hand `medieval kingdom` is given, where
`kingdom` has a `class` value `polity`, we first look up `ANCIENT polity`, see there is no entry in `placetype_data`
for it, and then look up `FORMER polity`, which exists and has a default category spec `Former polities`, which is
used as the category. Note that if the placetype following the "former" qualifier is recognized in `placetype_data`
but has no `former_type` or `class` and no fallback with a `former_type` or `class` specified, it is an internal
error; but if the placetype isn't recognized (e.g. something like `former greenhouse` is specified and we don't have
an entry for `greenhouse`), we just track the occurrence and end up not categorizing.
* `bare_category_parent`: This specifies the first parent category of a bare placetype category named according to the
placetype in question (e.g. [[:Category:Atolls]] for placetype `atoll`, or [[:Category:Named buildings]] for
placetype `named buildings!`). If not specified, the first parent category is determined by the value of `class`,
using the mapping `class_to_bare_category_parent` in [[Module:category tree/topic cat/data/Places]].
* `addl_bare_category_parents`: Extra parent categories to add a bare placetype category to (see `bare_category_parent`
just above).
* `bare_category_breadcrumb`: Breadcrumb for bare placetype categories. Also used as the sort key of
`bare_category_parent` if it is a string.
* `inherently_former`: If specified and the given placetype is used as an entry placetype, act as if `former` or
`ancient` (depending on the value of `inherently_former`) were prefixed to the placetype. This is for placetypes that
always refer to no-longer-existing entities, such as `satrapy` and `treaty port`. The value of `inherently_former` is
a list of internal qualifiers (one or more of `ANCIENT` and/or `FORMER`), just as for `former_qualifiers`, and the
implementation is the same.
* `cat_handler`: Handler used to generate the categories to add a given toponym to, if its entry placetype is the
placetype in question. Generally the `cat_handler` function checks the holonyms specified in order to determine which
category or categories to generate. For example, `district_neighborhood_cat_handler` handles placetypes `district`,
`neighborhood`, `subdivision`, `suburb` and the like, and either adds the toponym to a category like
`Neighborhoods of ``city`` ` (if a recognized city is given as a holonym), or otherwise a category like
`Neighborhoods in ``location`` ` (for the first recognized non-city location given as a holonym, if an unrecognized
city or city-like entity is given before the recognized non-city). The algorithm that runs the category handlers
iterates over holonyms from left to right, running the `cat_handler` function on each holonym in turn until one or
more categories are returned; see below for more specifics. (Note that countries for which e.g. a `district` is a
political division do not get the corresponding category added by the `district_neighborhood_cat_handler` function but
by `political_division_cat_handler`.) `cat_handler` functions are called with one argument, `data`, describing the
resolved entry placetype (i.e. after resolving placetype aliases and fallbacks) and the holonym being processed. The
return value should be a list of category specs (categories minus the langcode prefix, with `+++` standing for the
holonym key, or the value `true`, which stands for ` ``Placetypes`` in/of ``Holonym`` `, i.e. the pluralized placetype
with the appropriate preposition as specified in `placetype_data`). `data` contains the following fields:
** `entry_placetype`: the resolved entry placetype for the entry placetype being processed (i.e. it will always have an
entry in `placetype_data` but may not be the original placetype given by the user);
** `holonym_placetype` and `holonym_placename`: the holonym placetype and placename being processed;
** `holonym_index`: the index of the holonym being processed, or {nil} if we're handling an overriding holonym (FIXME:
we will change the overriding holonym algorithm so there will be an index even when processing overriding holonyms);
** `place_desc`: a full description of the {{tl|place}} call, as specified at the top of [[Module:place]];
** `from_demonym`: If set, we are called from [[Module:demonym]], triggered by {{tl|demonym-adj}} or
{{tl|demonym-noun}}, instead of being triggered by {{tl|place}}.
* `has_neighborhoods`: If `true`, the specified placetype is city-like. This is used in the
`district_neighborhood_cat_handler` to determine whether to add a category such as `Neighborhoods in ``location`` `;
see the section just above on `cat_handler`.
5. The following preposition-related property keys are recognized:
* `preposition`: The preposition used after this placetype when it occurs as an entry placetype. Defaults to `"in"`.
* `generic_before_non_cities`: If specified, the appropriate category description handler in
[[Module:category tree/topic cat/data/Places]] will recognize categories of the form
` ``Placetype`` in/of ``location`` ` for the specified placetype and preposition, if ``location`` is a non-city. This
is used to generate descriptions for categories added by category handlers and by explicit category specs in the
placetype data. All placetypes that specify `generic_before_non_cities` or `generic_before_cities` *MUST* also specify
a value for `class` so that the category tree code can determine whether it's a political or non-political division.
* `generic_before_cities`: Like `generic_before_non_cities` but for locations referring to cities.
6. The following property keys control the auto-addition of affixes when formatting holonyms of a particular placetype:
* `affix_type`: If specified, add the placetype as an affix before or after holonyms of this placetype. Possible values
are:
*# `"pref"` (the holonym will display as `(the) placetype of Holonym`, where `the` appears when the holonym directly
follows an entry placetype);
*# `"Pref"` (same as `"pref"` but the placetype is capitalized; each word is capitalized if there are multiple);
*# `"suf"` (the holonym will display as `Holonym placetype`);
*# `"Suf"` (the holonym will display as `Holonym Placetype`, i.e. same as `"suf"` but the placetype is capitalized).
* `suffix`: String to use in place of the placetype itself when the placetype is displayed as a suffix after a holonym.
Note that `suffix` can be used independently of `affix_type` because the user can also request a suffix explicitly
using a syntax like `adr:suf/Occitania`, which will display as `Occitania region` because the placetype
`administrative region` specifies `suffix = "region"`.
* `prefix`: Like `suffix` but for use when the placetype is displayed as a prefix before the holonym.
* `affix`: Like `suffix` and `prefix` but for use when the placetype is displayed as an affix either before or after the
holonym. If both `suffix` or `prefix` and `affix` are given for a single placetype, `suffix` or `prefix` take
precedence.
* `no_affix_strings`: String or list of strings that, if they occur in the holonym, suppress the addition of any affix
requested using `affix_type`. Defaults to the placetype itself. For example, `autonomous okrug` specifies
`affix_type = "Suf"` so that `aokr/Nenets` displays as `Nenets Autonomous Okrug`, but also specifies
`no_affix_strings = "okrug"` so that `aokr/Nenets Okrug` or `aokr/Nenets Autonomous Okrug` displays as specified,
without a redundant `Autonomous Okrug` added. Matching is case-insensitive but whole-word.
* `display_handler`: A function of two arguments, `holonym_placetype` and `holonym_placename` (specifying a holonym).
Its return value is a string specifying the display form of the holonym.
7. The following property keys control the indefinite and definite articles used before entry placetypes and/or holonyms
of the specified placetype.
* `entry_placetype_use_the`: Use `"the"` before this placetype when it occurs as an entry placetype.
* `entry_placetype_indefinite_article`: Indefinite article used before this placetype when it occurs as an entry
placetype (usually `"a"`, specifically for placetypes beginning with u- that don't take the indefinite article
`"an"`). Defaults to the appropriate indefinite article (`"a"` or `"an"` depending on whether the placetype begins
with a vowel). Overridden by `entry_placetype_use_the`, and unlike for most properties, does not apply to equivalent
placetypes (i.e. fallbacks or those formed by removing a qualifier from the beginning); only to the exact placetype
specified.
* `holonym_use_the`: Use `"the"` before holonyms of this placetype.
'''NOTE:'''
# The `link` property must be specified on all placetypes, except those ending in `!` (category-only placetypes), which
must have either `link` or `category_link` specified.
# Either the `class` or `former_type` property must be specified on all placetypes not ending in `!` that do not have a
fallback (if a placetype has a fallback and omits the `class` and `former_type` properties, they are taken from the
fallback). An internal error will result if a placetype has no `class` or `former_type` property derivable either
directly or through a fallback, if an attempt is made to categorize a former/ancient/historical/etc. entity of this
placetype.
# It is possible to have multiple levels of fallback (e.g. `frazione` falls back to `hamlet`, which falls back
to `village`). Fallback loops will cause an internal error. All placetypes specified as fallbacks must exist in
`placetype_data` or an internal error occurs.
]==]
export.placetype_data = {
--[=[
If you need to sort the following, do this (using Vim):
1. Make sure all full-line comments are within the { ... } table, or are moved after and on the same line as single-line
entries.
2. Make sure the table uses tabs everywhere for indent, and not spaces.
3. Mark the top of the table with `ma`, go to the bottom and execute the following two lines in sequence:
:'a,.s/\n/\\n/g
:s/\\n\(\t\[\)/\r\1/g
The first command converts every newline to a literal `\n` sequence, so the whole thing becomes a single line, while
the second command restores the newlines before the beginning of each entry. The effect is to convert all entries to
a single line while not losing any information. (Potentially a negative lookahead could be used to do it all in one
command.)
4. Execute the following to sort:
:'a,.!perl -pe 's/^(\t\[")(.*?)(".*)$/$2 @@@ $1$2$3/' | sort -f | perl -pe 's/.*? @@@ //'
Note that a simple `sort -f` (where `-f` means case-insensitive) would almost work, but it would sort "hill station"
before "hill" and "county borough" before "county" because the space after e.g. "hill station" sorts before the
quotation mark after e.g. "hill". The above command deals with this by extracting the key, prepending it followed by
` @@@ `, sorting, and then removing key (the classic decorate-sort-undecorate pattern).
5. Put the table back to multi-line format by marking the top of the table with `ma`, going to the bottom and executing
:'a,.s/\\n/\r/g
Note that for some reason, in order to get a match a newline in the left side of a replacement, you must use \n, but
to insert a newline in the right sode of a replacement you must use \r.
]=]
["*"] = {
link = false,
cat_handler = generic_place_cat_handler,
},
["administrative atoll"] = {
-- Maldives
link = "+w:administrative divisions of the Maldives",
preposition = "của",
class = "subpolity",
},
["administrative capital"] = {
link = "w",
fallback = "capital city",
},
["administrative center"] = {
link = "w",
fallback = "non-city capital",
},
["administrative centre"] = {
link = "w",
fallback = "administrative center",
},
["administrative county"] = {
link = "w",
fallback = "county",
},
["administrative district"] = {
link = "w",
fallback = "district",
},
["administrative headquarters"] = {
link = "separately",
fallback = "administrative centre",
},
["administrative region"] = {
link = true,
preposition = "của",
suffix = "region", -- but prefix is still "administrative region (of)"
fallback = "region",
class = "subpolity",
},
["administrative seat"] = {
link = "w",
fallback = "administrative centre",
},
["administrative territory"] = {
link = "separately",
preposition = "của",
suffix = "territory", -- but prefix is still "administrative territory (of)"
fallback = "territory",
class = "subpolity",
},
["administrative unit"] = {
-- Grrr, it's difficult to generalize about "administrative units". In Albania, "administrative unit" is an
-- official term for a city-level division of municipalities; Wikipedia renders it using the more practical term
-- "commune". In Pakistan, "administrative unit" is a collective term used to refer to all the different types
-- of first-level divisions (four provinces, one federal territory, and two "disputed territories", i.e. Azad
-- Kashmir and Gilgit-Balistan, that are variously described). For this reason, we set no fallback, but we need
-- to include this so that it can be used as a placetype for Albania, categorizing as communes.
link = "w",
class = "subpolity",
},
["administrative village"] = {
link = "w",
preposition = "của",
has_neighborhoods = true,
class = "settlement",
},
["aimag"] = {
-- used in Mongolia, Russia and China (Inner Mongolia); in Mongolia, equivalent to a province;
-- in China, equivalent to a prefecture (below a province); in Russia, equivalent to a municipal district.
link = "w",
fallback = "prefecture",
},
["airport"] = {
link = true,
class = "man-made structure",
default = {true},
},
["alliance"] = {
link = true,
fallback = "confederation",
},
["archipelago"] = {
link = true,
fallback = "island",
},
["area"] = {
link = true,
preposition = "của",
fallback = "geographic and cultural area",
-- Areas can either be administrative divisions (specifically of Kuwait) or geographic areas. Assume the former
-- when categorizing 'Areas' but the latter when handling e.g. 'historical area'.
class = "subpolity",
former_type = "geographic region",
cat_handler = district_neighborhood_cat_handler,
},
["arm"] = {
link = true,
preposition = "của",
class = "natural feature",
default = {"Seas"},
},
["arrondissement"] = {
link = true,
preposition = "của",
-- FIXME!!! Grrrrr!!! In some countries, arrondissements are divisions of cities; in others, they are divisions
-- of departments or provinces. Need to conditionalize on the country for both of the following.
class = "subpolity",
has_neighborhoods = true,
},
["associated province"] = {
link = "separately",
fallback = "province",
},
["atoll"] = {
-- FIXME! Atolls are administrative divisions of the Maldives but natural features elsewhere. Need to
-- conditionalize `class` on the country. See also `administrative atoll`.
link = true,
class = "natural feature",
bare_category_parent = "islands",
default = {true},
},
["autonomous city"] = {
link = "w",
preposition = "của",
fallback = "thành phố",
has_neighborhoods = true,
},
["autonomous community"] = {
-- Spain; refers to regional entities, not village-like entities, as might be expected from "community"
link = true,
preposition = "của",
class = "subpolity",
},
["autonomous island"] = {
-- Comoros; seems like an administrative atoll of the Maldives.
link = "+w:autonomous islands of Comoros",
preposition = "của",
class = "subpolity",
},
["autonomous oblast"] = {
link = true,
preposition = "của",
affix_type = "Suf",
no_affix_strings = "oblast",
class = "subpolity",
},
["autonomous okrug"] = {
link = true,
preposition = "của",
affix_type = "Suf",
no_affix_strings = "okrug",
class = "subpolity",
},
["autonomous prefecture"] = {
link = true,
fallback = "prefecture",
},
["autonomous province"] = {
link = "w",
fallback = "province",
},
["autonomous region"] = {
link = "w",
preposition = "của",
fallback = "administrative region",
-- "administrative region" sets an affix of "region" but we want to display as "Tibet Autonomous Region"
-- if the user writes 'ar:Suf/Tibet'.
affix = "autonomous region",
},
["autonomous republic"] = {
link = "w",
preposition = "của",
class = "subpolity",
},
["autonomous territorial unit"] = {
-- Moldova; only two of them, one for Gagauzia and one for Transnistria.
link = "w",
preposition = "của",
class = "subpolity",
},
["autonomous territory"] = {
link = "w",
fallback = "dependent territory",
},
["bailiwick"] = {
-- Jersey, etc.
link = true,
fallback = "polity",
},
["barangay"] = {
-- Philippines
link = true,
class = "settlement",
-- Barangays are formal administrative divisions of a city rather than informal neighborhoods, but can use
-- some of the properties of a neighborhood.
fallback = "neighborhood",
},
["barrio"] = {
-- Spanish-speaking countries; Philippines
link = true,
-- FIXME: Not completely correct, in some countries barrios are formal administrative divisions of a city.
-- `class` will need to conditionalize on the country to be completely correct.
fallback = "neighborhood",
},
["basin"] = {
link = true,
fallback = "lake",
},
["vịnh"] = {
link = true,
preposition = "của",
class = "natural feature",
addl_bare_category_parents = {"Vùng nước"},
default = {true},
},
["bãi biển"] = {
link = true,
class = "natural feature",
addl_bare_category_parents = {"nước"},
default = {true},
},
["beach resort"] = {
link = "w",
fallback = "resort town",
},
["bishopric"] = {
link = true,
fallback = "polity",
},
["vùng nước!"] = {
-- FIXME: This is (maybe?) a type category not a name category. There should be an option for this. We need to
-- straighten out the type vs. name vs. related-to issue.
category_link = "vùng nước",
class = "natural feature",
addl_bare_category_parents = {"địa mạo", "hệ thống sinh thái", "nước"},
},
["borough"] = {
link = true,
preposition = "của",
display_handler = borough_display_handler,
has_neighborhoods = true,
-- "former borough" could be a former settlement or a former part of a city but seems more likely to
-- be a former subpolity, particularly in England. FIXME, we really need a handler to take care of this
-- properly.
class = "subpolity",
-- Grr, some boroughs are city-like but some (e.g. in Britain) may be larger.
},
["borough seat"] = {
link = true,
entry_placetype_use_the = true,
preposition = "của",
has_neighborhoods = true,
class = "capital",
},
["branch"] = {
link = true,
preposition = "của",
fallback = "river",
},
["bridge"] = {
link = true,
class = "man-made structure",
default = {"Named bridges"},
},
["building"] = {
link = true,
class = "man-made structure",
default = {"Named buildings"},
},
["built-up area"] = {
link = "w",
fallback = "area",
},
["burgh"] = {
link = true,
fallback = "borough",
},
["business park"] = {
link = true,
fallback = "park",
},
["caliphate"] = {
link = true,
fallback = "polity",
},
["canton"] = {
link = true,
preposition = "của",
affix_type = "suf",
class = "subpolity",
},
["cape"] = {
link = true,
fallback = "headland",
},
["capital"] = {
link = true,
fallback = "capital city",
},
["capital city"] = {
link = true,
category_link = "[[capital city|capital cities]]: the [[seat of government|seats of government]] for a country or [[political]] [[division]] of a country",
entry_placetype_use_the = true,
preposition = "của",
has_neighborhoods = true,
class = "capital",
bare_category_parent = "cities",
cat_handler = capital_city_cat_handler,
default = {true},
-- The following is necessary so that e.g. [[Melbourne]] defined as {{place|en|capital city|s/Victoria|c/Australia}}
-- gets categorized in the bare category [[Category:en:Melbourne]]; otherwise placetype 'capital city' wouldn't
-- match against the placetype 'city' of Melbourne.
fallback = "thành phố",
},
["caplc"] = {
link = "[[capital]] and [[large]]st [[city]]",
plural_link = false,
fallback = "capital city",
},
["captaincy"] = {
link = true,
preposition = "của",
class = "subpolity",
inherently_former = {"FORMER"},
},
["caravan city"] = {
link = "w",
fallback = "thành phố",
class = "settlement",
inherently_former = {"ANCIENT", "FORMER"},
},
["castle"] = {
link = true,
fallback = "building",
},
["cathedral city"] = {
link = true,
fallback = "thành phố",
},
["cattle station"] = {
-- Australia
link = true,
fallback = "farm",
},
["census area"] = {
link = true,
affix_type = "Suf",
has_neighborhoods = true,
class = "non-admin settlement",
},
["census-designated place"] = {
-- United States
link = true,
class = "non-admin settlement",
},
["census division"] = {
-- Canada
link = "w",
preposition = "của",
class = "subpolity",
},
["census town"] = {
link = "w",
fallback = "town",
},
["central business district"] = {
link = true,
fallback = "neighborhood",
},
["cercle"] = {
-- Mali
link = "+w:cercles of Mali",
preposition = "của",
class = "subpolity",
},
["ceremonial county"] = {
link = true,
fallback = "county",
},
["chain of islands"] = {
link = "[[chain]] of [[island]]s",
plural = "chains of islands",
plural_link = "[[chain]]s of [[island]]s",
fallback = "island",
},
["channel"] = {
link = true,
fallback = "strait",
},
["charter community"] = {
-- Northwest Territories, Canada
link = "w",
fallback = "village",
},
["thành phố"] = {
link = true,
generic_before_non_cities = "của",
has_neighborhoods = true,
class = "settlement",
cat_handler = city_type_cat_handler,
default = {true},
},
["city-state"] = {
link = true,
category_link = "[[sovereign]] [[microstate]]s consisting of a single [[city]] and [[w:dependent territory|dependent territories]]",
has_neighborhoods = true,
class = "settlement",
["continent/*"] = {"City-states", "Cities in +++", "Quốc gia của +++", "National capitals"},
default = {"City-states", "Cities", "Quốc gia", "National capitals"},
},
["civil parish"] = {
-- Mostly England; similar to municipalities
link = true,
preposition = "của",
affix_type = "suf",
has_neighborhoods = true,
class = "subpolity",
},
["claimed political division"] = {
link = "[[claim]]ed [[political]] [[division]]",
class = "subpolity",
default = {true},
},
["co-capital"] = {
link = "[[co-]][[capital]]",
fallback = "capital city",
},
["coal city"] = {
link = "+w:coal town",
fallback = "thành phố",
},
["coal town"] = {
link = "w",
fallback = "town",
},
["collectivity"] = {
link = "w",
preposition = "của",
-- No default; these are weird one-off governmental divisions in France (esp. for overseas collectivities)
class = "subpolity",
},
["colony"] = {
link = true,
fallback = "dependent territory",
},
["comarca"] = {
-- per Wikipedia: traditional region or local administrative division found in Portugal, Spain, and some of
-- their former colonies, like Brazil, Nicaragua, and Panama. In the Valencian Community, for example, it
-- sits between municipalities and provinces, something like a county or district.
link = true,
preposition = "của",
class = "subpolity",
},
["commandery"] = {
link = true,
preposition = "của",
class = "subpolity",
inherently_former = {"ANCIENT", "FORMER"},
},
["commonwealth"] = {
link = true,
preposition = "của",
-- No default; applies specifically to Puerto Rico
class = "subpolity",
},
["commune"] = {
link = true,
fallback = "municipality",
},
["community"] = {
link = true,
category_link = "[[community|communities]] of all sizes",
fallback = "village",
},
["community development block"] = {
-- in India; appears to be similar to a rural municipality; groups several villages, unclear if there will be
-- neighborhoods so I'm not setting `has_neighborhoods` for now
link = "w",
affix_type = "suf",
no_affix_strings = "block",
class = "subpolity",
},
["comune"] = {
-- Italy, Switzerland
link = true,
fallback = "municipality",
},
["condominium"] = {
link = true,
fallback = "polity",
},
["confederacy"] = {
link = true,
fallback = "confederation",
},
["confederation"] = {
link = true,
fallback = "polity",
},
["constituency"] = {
-- currently we have them as political divisions of Namibia but many countries have them
link = true,
preposition = "của",
class = "subpolity",
},
["constituent country"] = {
link = true,
preposition = "của",
class = "subpolity",
},
["constituent part"] = {
link = "separately",
preposition = "của",
class = "subpolity",
},
["constituent republic"] = {
-- Of Russia, Yugoslavia, etc.
link = "separately",
preposition = "của",
class = "subpolity",
},
["counties and county-level cities!"] = {
-- This is used when grouping counties and county-level cities under prefecture-level cities in China.
category_link = "[[county|counties]] and [[county-level city|county-level cities]]",
class = "subpolity",
},
["continent"] = {
link = true,
category_link = false, -- can't occur as a bare category
class = "natural feature",
default = {"Lục địa"},
},
["continental region"] = {
link = "separately",
category_link = false, -- can't occur as a bare category
class = "geographic region",
fallback = "continent",
},
["lục địa!"] = {
category_link = "[[continent]]s and [[continent]]-[[level]] [[region]]s (e.g. [[Polynesia]])",
class = "geographic region",
default = {"Lục địa"},
},
["council area"] = {
link = true,
-- in Scotland; similar to a county
preposition = "của",
affix_type = "suf",
class = "subpolity",
},
["quốc gia"] = {
link = true,
class = "polity",
["continent/*"] = {true, "Quốc gia"},
default = {"Quốc gia"},
},
["country-like entities!"] = {
category_link = "[[polity|polities]] not normally considered [[country|countries]] but treated similarly for categorization purposes; typically, [[unrecognized]] [[de-facto]] countries or [[w:dependent territory|dependent territories]]",
class = "polity",
},
["county"] = {
link = true,
preposition = "của",
display_handler = county_display_handler,
class = "subpolity",
},
["county borough"] = {
link = true,
-- in Wales; similar to a county
preposition = "của",
affix_type = "suf",
fallback = "borough",
class = "subpolity",
},
["county seat"] = {
link = true,
entry_placetype_use_the = true,
preposition = "của",
has_neighborhoods = true,
class = "capital",
},
["county town"] = {
link = true,
entry_placetype_use_the = true,
preposition = "của",
fallback = "town",
has_neighborhoods = true,
class = "capital",
},
["county-administered city"] = {
-- In Taiwan, per Wikipedia similar to a Taiwanese township or district, which is a small city.
-- NOT anything like a "county-level city" in PR China, which is a county masquerading as a city.
link = "w",
fallback = "thành phố",
has_neighborhoods = true,
class = "settlement",
},
["county-controlled city"] = {
-- Taiwan
link = "w",
fallback = "county-administered city",
},
["county-level city"] = {
-- PR China
link = "w",
fallback = "prefecture-level city",
},
["crater lake"] = {
link = true,
fallback = "lake",
},
["creek"] = {
link = true,
fallback = "stream",
},
["Crown colony"] = {
link = "+crown colony",
fallback = "crown colony",
},
["crown colony"] = {
link = true,
fallback = "colony",
},
["Crown dependency"] = {
link = true,
fallback = "dependent territory",
},
["crown dependency"] = {
link = true,
fallback = "dependent territory",
},
["cultural area"] = {
link = "w",
fallback = "geographic and cultural area",
},
["cultural region"] = {
link = "w",
fallback = "geographic and cultural area",
},
["delegation"] = {
-- Tunisia
link = "+w:delegations of Tunisia",
preposition = "của",
class = "subpolity",
},
["department"] = {
link = true,
preposition = "của",
affix_type = "suf",
class = "subpolity",
},
["departmental capital"] = {
link = "separately",
fallback = "capital city",
},
["dependency"] = {
link = true,
fallback = "dependent territory",
},
["dependent territory"] = {
link = "w",
preposition = "của",
class = "subpolity",
former_type = "dependent territory",
bare_category_parent = "political divisions",
["country/*"] = {true},
default = {true},
},
["hoang mạc"] = {
link = true,
class = "natural feature",
addl_bare_category_parents = {"hệ thống sinh thái"},
default = {true},
},
["deserted mediaeval village"] = {
link = "w",
fallback = "deserted medieval village",
},
["deserted medieval village"] = {
link = "w",
fallback = "ANCIENT settlement",
},
["direct-administered municipality"] = {
-- China
link = "+w:direct-administered municipalities of China",
fallback = "municipality",
},
["direct-controlled municipality"] = {
-- several countries
link = "w",
fallback = "municipality",
},
["distributary"] = {
link = true,
preposition = "của",
fallback = "river",
},
["district"] = {
link = true,
preposition = "của",
affix_type = "suf",
-- Grrr! FIXME! Here is where we need handlers for `class`. Using similar logic to
-- district_neighborhood_cat_handler, we need to check if we're below or above a city to determine if the class
-- is "settlement" or "subpolity".
class = "subpolity",
cat_handler = district_neighborhood_cat_handler,
-- No default. Countries for which districts are political divisions will get entries.
},
["districts and autonomous regions!"] = {
-- This and other similar "combined placetypes" are for use in the plural when grouping first-level
-- administrative regions of certain countries, in this case Portugal.
category_link = "[[district]]s and [[autonomous region]]s",
class = "subpolity",
},
["districts and autonomous territorial units!"] = {
-- This and other similar "combined placetypes" are for use in the plural when grouping first-level
-- administrative regions of certain countries, in this case Moldova.
category_link = "[[district]]s and [[w:autonomous territorial unit|autonomous territorial unit]]s",
class = "subpolity",
},
["district capital"] = {
link = "separately",
fallback = "capital city",
},
["district headquarters"] = {
link = "separately",
fallback = "administrative centre",
},
["district municipality"] = {
-- In Canada, a district municipality is equivalent to a rural municipality and won't have neighborhoods; in
-- South Africa, district municipalities group local municipalities and hence won't have neighborhoods.
link = "w",
preposition = "của",
affix_type = "suf",
no_affix_strings = {"district", "municipality"},
fallback = "municipality",
class = "subpolity",
},
["division"] = {
link = true,
preposition = "của",
class = "subpolity",
},
["division capital"] = {
link = "separately",
fallback = "capital city",
},
["dome"] = {
link = true,
fallback = "mountain",
},
["dormant volcano"] = {
link = true,
fallback = "volcano",
},
["duchy"] = {
link = true,
fallback = "polity",
},
["emirate"] = {
link = true,
preposition = "của",
-- FIXME: Can be subpolities (of the United Arab Emirates).
fallback = "polity",
},
["empire"] = {
link = true,
fallback = "polity",
},
["enclave"] = {
link = true,
preposition = "của",
-- Enclaves can theoretically be any size but assume a subpolity.
class = "subpolity",
},
["entity"] = {
-- Bosnia and Herzegovina
link = "+w:entities of Bosnia and Herzegovina",
preposition = "của",
class = "subpolity",
},
["escarpment"] = {
link = true,
fallback = "mountain",
},
["ethnographic region"] = {
-- used in Lithuania
link = "+w:ethnographic regions of Lithuania",
fallback = "geographic and cultural area",
},
["exclave"] = {
link = true,
preposition = "của",
-- exclaves can theoretically be any size but assume a subpolity.
class = "subpolity",
},
["external territory"] = {
link = "separately",
fallback = "dependent territory",
},
["farm"] = {
link = true,
class = "non-admin settlement",
default = {"Farms and ranches"},
},
["farms and ranches!"] = {
category_link = "[[farm]]s and [[ranch]]es",
class = "non-admin settlement",
},
["federal city"] = {
link = "w",
preposition = "của",
fallback = "thành phố",
},
["federal district"] = {
link = true,
preposition = "của",
-- Might have neighborhoods as federal districts are often cities (e.g. Mexico City)
has_neighborhoods = true,
class = "settlement",
},
["federal subject"] = {
-- In Russia; a generic term for first-level administrative divisions (republics, oblasts, okrugs, krais,
-- autonomous okrugs and autonomous oblasts).
link = "w",
preposition = "của",
class = "subpolity",
},
["federal territory"] = {
link = "w",
fallback = "territory",
},
["fictional location"] = {
link = "separately",
former_type = "!",
class = "hypothetical location",
bare_category_parent = "places",
default = {true},
},
["First Nations reserve"] = {
-- Canada
link = "[[First Nations]] [[w:Indian reserve|reserve]]",
-- Wikipedia uses "Indian reserve"; presumably that is the legal term
fallback = "Indian reserve",
class = "subpolity",
},
["fjord"] = {
link = true,
class = "natural feature",
addl_bare_category_parents = {"vùng nước"},
default = {true},
},
["footpath"] = {
link = true,
fallback = "road",
},
["rừng"] = {
link = true,
class = "natural feature",
addl_bare_category_parents = {"hệ thống sinh thái", "lâm nghiệp"},
default = {true},
},
["fort"] = {
link = true,
fallback = "building",
},
["fortress"] = {
link = true,
-- The default plural algorithm gets this right but the singularization algorithm incorrectly converts
-- fortresses -> fortresse, so put an entry here to ensure we singularize correctly.
plural = "fortresses",
fallback = "building",
},
["frazione"] = {
link = "w",
fallback = "hamlet",
},
["freeway"] = {
link = true,
fallback = "road",
},
["French prefecture"] = {
link = "[[w:prefectures in France|prefecture]]",
entry_placetype_use_the = true,
preposition = "của",
has_neighborhoods = true,
class = "capital",
},
["geographic and cultural area"] = {
link = "+w:cultural area",
-- `generic_before_non_cities` is used when generating the category description of categories of the format
-- `Geographic and cultural areas of PLACE`. `preposition` is used when generating {{place}} description and
-- categories for any placetype that falls back to `geographic and cultural area`.
generic_before_non_cities = "của",
preposition = "của",
class = "geographic region",
bare_category_parent = "places",
["country/*"] = {true},
["constituent country/*"] = {true},
["continent/*"] = {true},
default = {true},
},
["geographic area"] = {
link = "+w:geographic region",
fallback = "geographic and cultural area",
},
["geographic region"] = {
link = "w",
fallback = "geographic and cultural area",
},
["geographical area"] = {
link = "w",
fallback = "geographic and cultural area",
},
["geographical region"] = {
link = "w",
fallback = "geographic and cultural area",
},
["geopolitical zone"] = {
-- Nigeria
link = true,
preposition = "của",
class = "subpolity",
},
["gewog"] = {
-- Bhutan
link = true,
preposition = "của",
class = "subpolity",
},
["ghost town"] = {
link = true,
generic_before_non_cities = "in",
class = "non-admin settlement",
bare_category_parent = "former settlements",
cat_handler = city_type_cat_handler,
default = {true},
},
["glen"] = {
link = true,
fallback = "valley",
},
["governorate"] = {
link = true,
preposition = "của",
affix_type = "suf",
class = "subpolity",
},
["greater administrative region"] = {
-- China (former division)
link = "w",
preposition = "của",
class = "subpolity",
inherently_former = {"FORMER"},
},
["gromada"] = {
-- Poland (former division)
link = "w",
preposition = "của",
affix_type = "Pref",
class = "subpolity",
inherently_former = {"FORMER"},
},
["group of islands"] = {
link = "[[group]] of [[island]]s",
plural = "groups of islands",
plural_link = "[[group]]s of [[island]]s",
fallback = "island group",
},
["vịnh biển"] = {
link = true,
preposition = "của",
class = "natural feature",
addl_bare_category_parents = {"vùng nước"},
default = {true},
},
["hamlet"] = {
link = true,
fallback = "village",
},
["harbor city"] = {
link = "separately",
fallback = "thành phố",
},
["harbor town"] = {
link = "separately",
fallback = "town",
},
["harbour city"] = {
link = "separately",
fallback = "thành phố",
},
["harbour town"] = {
link = "separately",
fallback = "town",
},
["mũi đất"] = {
link = true,
class = "natural feature",
addl_bare_category_parents = {"địa mạo"},
default = {true},
},
["headquarters"] = {
link = "w",
fallback = "administrative centre",
},
["bãi hoang"] = {
link = true,
fallback = "đồng hoang",
},
["hemisphere"] = {
link = true,
entry_placetype_use_the = true,
fallback = "continental region",
},
["highway"] = {
link = true,
fallback = "road",
},
["đồi"] = {
link = true,
class = "natural feature",
addl_bare_category_parents = {"địa mạo"},
default = {true},
},
["hill station"] = {
link = "w",
fallback = "town",
},
["hill town"] = {
link = "w",
fallback = "town",
},
["historic region"] = {
-- provided only for the link
link = "+w:historical region",
fallback = "FORMER geographic region",
},
["historical county"] = {
-- needed for historical counties of England/etc.
link = "+w:historic county",
fallback = "FORMER subpolity",
},
["historical region"] = {
-- provided only for the link
link = "w",
fallback = "FORMER geographic region",
},
["home rule city"] = {
link = "w",
fallback = "thành phố",
},
["home rule municipality"] = {
link = "w",
fallback = "municipality",
},
["hot spring"] = {
link = true,
fallback = "spring",
},
["house"] = {
link = true,
fallback = "building",
},
["housing estate"] = {
-- not the same as a housing project (i.e. public housing)
link = true,
-- not exactly the case but approximately
fallback = "neighborhood",
},
["hromada"] = {
-- Ukraine
link = "w",
disallow_in_entries = "Use placetype 'urban hromada', 'rural hromada' or 'settlement hromada' in place of bare 'hromada'",
disallow_in_holonyms = "Use placetype 'urban hromada'/'uhrom', 'rural hromada'/'rhrom' or 'settlement hromada'/'shrom' in place of bare 'hromada'",
preposition = "của",
affix_type = "suf",
class = "subpolity",
},
["inactive volcano"] = {
link = "w",
fallback = "dormant volcano",
},
["independent city"] = {
link = true,
fallback = "thành phố",
},
["independent town"] = {
link = "+independent city",
fallback = "town",
},
["Indian reservation"] = {
link = "w",
-- In the US. Also known as "Native American reservation" or "domestic dependent nation", and the reservations
-- themselves often use the term "nation" in their official name (e.g. the "Navajo Nation"). But Wikipedia puts
-- the article at [[w:Indian reservation]] and uses that term when describing e.g. what the Navajo Nation is,
-- so this must still be the legal term.
preposition = "của",
class = "subpolity",
default = {true},
},
["Indian reserve"] = {
link = "w",
-- In Canada. "First Nations reserve" sounds more modern/PC but Wikipedia uses "Indian reserve"; presumably that
-- is still the legal term.
preposition = "của",
class = "subpolity",
default = {true},
},
["inland sea"] = {
-- note, we also have 'inland' as a qualifier
link = true,
fallback = "sea",
},
["inner city area"] = {
link = "[[inner city]] [[area]]",
fallback = "neighborhood",
},
["đảo"] = {
link = true,
preposition = "của",
class = "natural feature",
addl_bare_category_parents = {"địa mạo"},
default = {true},
},
["island country"] = {
-- FIXME: The following should map to both 'island' and 'country'.
link = "w",
fallback = "country",
},
["island group"] = {
link = "separately",
fallback = "island",
},
["island municipality"] = {
link = "w",
fallback = "municipality",
},
["islet"] = {
link = "w",
fallback = "island",
},
["Israeli settlement"] = {
link = "w",
class = "settlement",
default = {true},
},
["judicial capital"] = {
link = "w",
fallback = "capital city",
},
["khanate"] = {
link = true,
fallback = "polity",
},
["kibbutz"] = {
link = true,
plural = "kibbutzim",
class = "non-admin settlement",
default = {true},
},
["kingdom"] = {
link = true,
fallback = "monarchy",
},
["krai"] = {
link = true,
preposition = "của",
affix_type = "Suf",
class = "subpolity",
},
["hồ"] = {
link = true,
class = "natural feature",
addl_bare_category_parents = {"vùng nước"},
default = {true},
},
["địa mạo!"] = {
category_link = "[[địa mạo]]",
bare_category_parent = "địa danh",
addl_bare_category_parents = {"Trái Đất"},
},
["largest city"] = {
link = "[[large]]st [[city]]",
entry_placetype_use_the = true,
fallback = "thành phố",
has_neighborhoods = true,
},
["league"] = {
link = true,
fallback = "confederation",
},
["legislative capital"] = {
link = "separately",
fallback = "capital city",
},
["library"] = {
link = true,
fallback = "building",
},
["lieutenancy area"] = {
-- used in the United Kingdom; per Wikipedia:
-- In England, lieutenancy areas are colloquially known as the ceremonial counties, although this phrase does
-- not appear in any legislation referring to them. The lieutenancy areas of Scotland are subdivisions of
-- Scotland that are more or less based on the counties of Scotland, making use of the major cities as separate
-- entities.[2] In Wales, the lieutenancy areas are known as the preserved counties of Wales and are based on
-- those used for lieutenancy and local government between 1974 and 1996. The lieutenancy areas of Northern
-- Ireland correspond to the six counties and two former county boroughs.[3]
link = "w",
fallback = "ceremonial county",
},
["local authority district"] = {
link = "w",
fallback = "local government district",
},
["local government area"] = {
-- Australia
link = "w",
preposition = "của",
class = "subpolity",
},
["local council"] = {
-- Malta; similar to municipalities
link = "+w:local councils of Malta",
preposition = "của",
fallback = "municipality",
},
["local government district"] = {
link = "w",
preposition = "của",
affix_type = "suf",
affix = "district",
class = "subpolity",
},
["local government district with borough status"] = {
link = "[[w:local government district|local government district]] with [[w:borough status|borough status]]",
plural = "local government districts with borough status",
plural_link = "[[w:local government district|local government districts]] with [[w:borough status|borough status]]",
preposition = "của",
affix_type = "suf",
affix = "district",
class = "subpolity",
},
["local urban district"] = {
link = "w",
fallback = "unincorporated community",
},
["locality"] = {
link = "+w:locality (settlement)",
-- not necessarily true, but usually is the case
fallback = "village",
},
["London borough"] = {
link = "w",
preposition = "của",
affix_type = "pref",
affix = "borough",
fallback = "local government district with borough status",
has_neighborhoods = true,
},
["macroregion"] = {
link = true,
fallback = "region",
},
["man-made structures!"] = {
category_link = "[[w:geographical feature#Engineered constructs|man-made structures]] such as [[airport]]s, [[university|universities]] and [[metro station]]s",
bare_category_parent = "places",
},
["manor"] = {
-- FIXME: or is this more like a farm?
link = true,
fallback = "building",
},
["marginal sea"] = {
link = true,
preposition = "của",
fallback = "sea",
},
["market city"] = {
link = "+market town",
fallback = "thành phố",
},
["market town"] = {
link = true,
fallback = "town",
},
["massif"] = {
link = true,
fallback = "mountain",
},
["megacity"] = {
link = true,
fallback = "thành phố",
},
["metro station"] = {
link = true,
class = "man-made structure",
},
["metropolitan borough"] = {
link = true,
preposition = "của",
affix_type = "Pref",
no_affix_strings = {"borough", "thành phố"},
fallback = "local government district",
has_neighborhoods = true,
},
["metropolitan city"] = {
-- These exist e.g. in Italy and are more like municipalities or even provinces than cities.
link = true,
preposition = "của",
affix_type = "Pref",
no_affix_strings = {"metropolitan", "thành phố"},
class = "subpolity",
},
["metropolitan county"] = {
link = true,
fallback = "county",
},
["metropolitan municipality"] = {
-- In South Africa, metropolitan municipalities group local municipalities and are like districts, between
-- provinces and municipalities.
-- In Turkey, metropolitan municipalities are provinces-level.
link = "w",
preposition = "của",
affix_type = "Suf",
no_affix_strings = {"metropolitan", "municipality"},
fallback = "municipality",
class = "subpolity",
},
["microdistrict"] = {
-- residential complex in post-Soviet states
link = true,
fallback = "neighborhood",
},
["micronations!"] = {
-- FIXME, merge with microstate
category_link = "[[micronation]]s",
bare_category_parent = "quốc gia",
},
["microstate"] = {
link = true,
fallback = "country",
},
["military base"] = {
link = "w",
class = "settlement", -- or "man-made structure"?
default = {true},
},
["minster town"] = {
-- England
link = "separately",
fallback = "town",
},
["monarchy"] = {
link = true,
fallback = "polity",
},
["đồng hoang"] = {
link = true,
class = "natural feature",
addl_bare_category_parents = {"địa mạo", "hệ thống sinh thái"},
default = {true},
},
["thảo nguyên"] = {
link = true,
fallback = "đồng hoang",
},
["motorway"] = {
link = true,
fallback = "road",
},
["mountain"] = {
link = true,
class = "natural feature",
addl_bare_category_parents = {"landforms"},
default = {true},
},
["mountain indigenous district"] = {
-- Taiwan
link = "+w:district (Taiwan)",
fallback = "district",
},
["mountain indigenous township"] = {
-- Taiwan
link = "+w:township (Taiwan)",
fallback = "township",
},
["mountain pass"] = {
link = true,
-- The default plural algorithm gets this right but the singularization algorithm incorrectly converts
-- passes -> passe, so put an entry here to ensure we singularize correctly.
plural = "mountain passes",
class = "natural feature",
addl_bare_category_parents = {"mountains"},
default = {true},
},
["mountain range"] = {
link = true,
fallback = "mountain",
},
["mountainous region"] = {
link = "separately",
fallback = "region",
},
["mukim"] = {
-- Malaysia, Brunei, Indonesia, Singapore
link = true,
preposition = "của",
class = "subpolity",
},
["municipal district"] = {
link = "w",
-- meaning varies depending on the country; for now, assume no neighborhoods.
-- FIXME: has_neighborhoods might have to be a function that looks at the containing holonyms.
preposition = "của",
affix_type = "Pref",
no_affix_strings = "district",
fallback = "municipality",
},
["municipality"] = {
link = true,
preposition = "của",
has_neighborhoods = true,
class = "subpolity",
},
["municipality with city status"] = {
link = "[[municipality]] with [[w:city status|city status]]",
plural = "municipalities with city status",
plural_link = "[[municipality|municipalities]] with [[w:city status|city status]]",
fallback = "municipality",
},
["museum"] = {
link = true,
fallback = "building",
},
["địa danh thần thoại"] = {
link = "địa danh thần thoại",
former_type = "!",
class = "hypothetical location",
bare_category_parent = "địa danh",
default = {true},
},
["named bridges!"] = {
category_link = "notable [[bridge]]s",
bare_category_parent = "man-made structures",
addl_bare_category_parents = {"bridges"},
},
["named buildings!"] = {
category_link = "notable [[house]]s, [[library|libraries]] and other [[building]]s",
bare_category_parent = "man-made structures",
addl_bare_category_parents = {"buildings"},
},
["named roads!"] = {
category_link = "notable [[road]]s, [[highway]]s, [[trail]]s and similar linear structures",
bare_category_parent = "man-made structures",
addl_bare_category_parents = {"roads"},
},
["national capital"] = {
link = "w",
fallback = "capital city",
},
["national park"] = {
link = true,
fallback = "park",
},
["đặc điểm tự nhiên!"] = {
category_link = "tổng hợp các yếu tố vật chất hình thành tồn tại",
bare_category_parent = "địa danh",
},
["neighborhood"] = {
-- The majority of the properties here apply to both `neighborhoods` and `neighbourhoods`; the choice of which
-- one to use is made by district_neighborhood_cat_handler() based on the value of `british_spelling` for the
-- location (city, political division, etc.) of the holonym that follows the word "neighbo(u)hoods" in the
-- category name. It does *NOT* depend on whether the {{place}} call uses "neighborhoods" or "neighbourhoods".
-- (In general it can't, because other things like "urban areas", "districts", "subdivisions" and the like also
-- categorize as neighbo(u)rhoods.)
link = true,
-- See below. These are used by category handlers in [[Module:category tree/topic cat/data/Places]].
generic_before_non_cities = "in",
generic_before_cities = "của",
-- The following text is suitable for the top-level description of a neighborhood as well as categories of the
-- form `Neighborhoods in POLDIV` e.g. `Neighborhoods in Illinois, USA` but not for categories of the form
-- `Neighborhoods of Chicago`, where we'd get "... and other subportions of [[city|cities]] of [[Chicago]]".
category_link = "[[neighborhood]]s, [[district]]s and other subportions of [[city|cities]]",
category_link_before_city = "[[neighborhood]]s, [[district]]s and other subportions",
-- NOTE: This setting is needed for administrative divisions like barangays that fall back to `neighborhood`,
-- when set in [[Module:place/locations]] for a specific country (e.g. the Philippines). The above settings
-- for `generic_before_non_cities` and `generic_before_cities` are used by category handlers in
-- [[Module:category tree/topic cat/data/Places]] for `Neighborhoods in POLDIV` and `Neighborhoods of CITY`
-- categories. In fact, district_neighborhood_cat_handler() does not currently pay attention to them, but
-- generates "của" before cities and "in" before non-cities regardless. (FIXME: We should change that.)
preposition = "của",
class = "non-admin settlement",
cat_handler = district_neighborhood_cat_handler,
},
["neighbourhood"] = {
link = true,
category_link = "[[neighbourhood]]s, [[district]]s and other subportions of [[city|cities]]",
category_link_before_city = "[[neighbourhood]]s, [[district]]s and other subportions",
fallback = "neighborhood",
},
["new area"] = {
-- China (type of economic development zone, varying greatly in size)
link = "w",
preposition = "in",
class = "subpolity", --?
},
["new town"] = {
link = true,
fallback = "town",
},
["non-city capital"] = {
link = "[[capital]]",
entry_placetype_use_the = true,
preposition = "của",
has_neighborhoods = true,
class = "capital",
cat_handler = function(data)
return capital_city_cat_handler(data, "non-city")
end,
-- FIXME, do we need the following?
default = {true},
},
["non-metropolitan county"] = {
link = "w",
fallback = "county",
},
["non-metropolitan district"] = {
link = "w",
fallback = "local government district",
},
["non-sovereign kingdom"] = {
-- especially in Africa and Asia
link = "+w:non-sovereign monarchy",
generic_before_non_cities = "in",
class = "subpolity",
["country/*"] = {true},
["continent/*"] = {true},
default = {true},
},
["non-sovereign monarchy"] = {
link = "w",
fallback = "non-sovereign kingdom",
},
["oblast"] = {
link = true,
preposition = "của",
affix_type = "Suf",
class = "subpolity",
},
["oblasts and autonomous republics!"] = {
-- This and other similar "combined placetypes" are for use in the plural when grouping first-level
-- administrative regions of certain countries, in this case Ukraine.
category_link = "[[oblast]]s and [[w:autonomous republic|autonomous republic]]s",
class = "subpolity",
},
["đại dương"] = {
link = true,
class = "natural feature",
addl_bare_category_parents = {"biển", "vùng nước"},
default = {true},
},
["okrug"] = {
link = true,
preposition = "của",
affix_type = "Suf",
class = "subpolity",
},
["overseas collectivity"] = {
link = "w",
fallback = "collectivity",
},
["overseas department"] = {
link = "w",
fallback = "department",
},
["overseas territory"] = {
link = "w",
fallback = "dependent territory",
},
["parish"] = {
link = true,
preposition = "của",
affix_type = "suf",
class = "subpolity",
},
["parish municipality"] = {
-- in Quebec, often similar to a rural village; the famous [[Saint-Louis-du-Ha! Ha!]] is one of them.
link = "+w:parish municipality (Quebec)",
preposition = "của",
fallback = "municipality",
has_neighborhoods = true,
},
["parish seat"] = {
link = true,
entry_placetype_use_the = true,
preposition = "của",
class = "capital",
has_neighborhoods = true,
},
["park"] = {
link = true,
class = "man-made structure",
default = {true},
},
["pass"] = {
link = "+mountain pass",
-- The default plural algorithm gets this right but the singularization algorithm incorrectly converts
-- passes -> passe, so put an entry here to ensure we singularize correctly.
plural = "passes",
fallback = "mountain pass",
},
["path"] = {
link = true,
fallback = "road",
},
["peak"] = {
link = true,
fallback = "mountain",
},
["peninsula"] = {
link = true,
class = "natural feature",
addl_bare_category_parents = {"landforms"},
default = {true},
},
["periphery"] = {
link = true,
preposition = "của",
class = "subpolity",
},
["địa danh!"] = {
generic_before_non_cities = "của",
generic_before_cities = "của",
class = "generic place",
category_link = "[[place]]s of all sorts",
-- `category_link_top_level` control the description used in the top-level [[Category:Places]] and
-- language-specific variants such as [[Category:en:Places]]. The actual text for a language-spefic variant is
-- "{{{langname}}} names of [[geographical]] [[place]]s of all sorts; [[toponym]]s." where the "names of"
-- portion is automatically generated by the appropriate handler in
-- [[Module:category tree/topic cat/data/Places]].
category_link_top_level = "[[geographical]] [[place]]s of all sorts; [[toponym]]s",
bare_category_parent = "tên gọi",
},
["planned community"] = {
-- Include this so we don't categorize 'planned community' into villages, as 'community' does.
link = true,
class = "settlement",
has_neighborhoods = true,
},
["plateau"] = {
link = true,
class = "natural feature",
addl_bare_category_parents = {"landforms"},
default = {true},
-- FIXME: Should generate both "Plateaus" and the appropriate 'geographic and cultural area' category
},
["Polish colony"] = {
link = "[[w:colony (Poland)|colony]]",
affix_type = "suf",
affix = "colony",
fallback = "village",
has_neighborhoods = true,
},
["political divisions!"] = {
category_link = "[[political]] [[division]]s and [[subdivision]]s, such as [[state]]s, [[province]]s, [[county|counties]] or [[district]]s",
bare_category_parent = "places",
},
["tổ chức chính trị"] = {
link = true,
category_link = "[[independent]] or [[semi-]][[independent]] [[polity|polities]]",
class = "polity",
bare_category_parent = "địa danh",
default = {true},
},
["populated place"] = {
link = "+w:populated place",
-- not necessarily true, but usually is the case
fallback = "village",
},
["port"] = {
link = true,
class = "man-made structure",
default = {true},
},
["port city"] = {
-- FIXME: should categorize into "Ports" as well as "Cities"
link = true,
fallback = "thành phố",
},
["port town"] = {
-- FIXME: should categorize into "Ports" as well as "Towns"
link = "w",
fallback = "town",
},
["prefecture"] = {
-- FIXME! `prefecture` is like a county in Japan and elsewhere but a department capital city in France.
-- May need `has_neighborhoods` to be a function.
link = true,
preposition = "của",
display_handler = prefecture_display_handler,
class = "subpolity",
},
["prefecture-level city"] = {
-- China; they are huge entities with a central city; not cities themselves.
link = "w",
preposition = "của",
class = "subpolity",
},
["preserved county"] = {
-- In Wales; they are former counties enshrined in law; there are 8 of them and each consists of one or more
-- "principal areas" (styled as "counties" or "county boroughs"), of which there are 22.
link = "w",
preposition = "của",
class = "subpolity",
inherently_former = {"FORMER"},
},
["primary area"] = {
-- a grouping of "districts" (neighborhoods) in Gothenburg, Sweden
link = "+w:sv:primärområde",
fallback = "neighborhood",
},
["principality"] = {
link = true,
fallback = "monarchy",
},
["promontory"] = {
link = true,
fallback = "headland",
},
["protectorate"] = {
link = true,
fallback = "dependent territory",
},
["province"] = {
link = true,
preposition = "của",
display_handler = province_display_handler,
class = "subpolity",
},
["provinces and autonomous regions!"] = {
-- This and other similar "combined placetypes" are for use in the plural when grouping first-level
-- administrative regions of certain countries, in this case China.
category_link = "[[province]]s and [[autonomous region]]s",
class = "subpolity",
},
["provinces and territories!"] = {
-- This and other similar "combined placetypes" are for use in the plural when grouping first-level
-- administrative regions of certain countries, in this case Canada and Pakistan.
category_link = "[[province]]s and [[territory|territories]]",
class = "subpolity",
},
["provincial capital"] = {
link = true,
fallback = "capital city",
},
["raion"] = {
link = true,
preposition = "của",
affix_type = "Suf",
class = "subpolity",
},
["ranch"] = {
link = true,
fallback = "farm",
},
["range"] = {
-- FIXME: Where is this used? Is it a mountain range?
link = true,
class = "natural feature",
},
["regency"] = {
link = true,
preposition = "của",
class = "subpolity",
},
["region"] = {
link = true,
preposition = "của",
-- If 'region' isn't a specific administrative division, fall back to 'geographic and cultural area'
fallback = "geographic and cultural area",
-- "former region" is a subpolity but traditional/historic(al)/ancient/medieval/etc. is a geographic region
class = "geographic region",
},
["regional capital"] = {
link = "separately",
fallback = "capital city",
},
["regional county municipality"] = {
-- Quebec
link = "w",
preposition = "của",
affix_type = "Suf",
no_affix_strings = {"municipality", "county"},
fallback = "municipality",
},
["regional district"] = {
link = "w",
preposition = "của",
affix_type = "Pref",
no_affix_strings = "district",
fallback = "district",
},
["regional municipality"] = {
link = "w",
preposition = "của",
affix_type = "Pref",
no_affix_strings = "municipality",
fallback = "municipality",
},
["regional unit"] = {
link = "w",
preposition = "của",
affix_type = "suf",
class = "subpolity",
},
["registration county"] = {
-- Used in Scotland for land registration purposes; formerly used in England, Wales and Ireland for statistical
-- purposes (registration of births, deaths and marriages, and for the output of census information).
link = "w",
fallback = "county",
},
["republic"] = {
-- Of Russia, Yugoslavia, etc. "Republics" in general are sovereign but we use "country" in that case.
link = true,
fallback = "constituent republic",
},
["research base"] = {
link = "+w:research station",
fallback = "research station",
},
["research station"] = {
link = "w",
class = "non-admin settlement", -- or "man-made structure"?
default = {true},
},
["reservoir"] = {
link = true,
fallback = "lake",
},
["residential area"] = {
link = "separately",
fallback = "neighborhood",
},
["resort city"] = {
link = "w",
fallback = "thành phố",
},
["resort town"] = {
link = "w",
fallback = "town",
},
["sông"] = {
link = true,
generic_before_non_cities = "của",
class = "natural feature",
addl_bare_category_parents = {"vùng nước"},
cat_handler = city_type_cat_handler,
["continent/*"] = {true},
default = {true},
},
["river island"] = {
link = "w",
fallback = "island",
},
["road"] = {
link = true,
class = "man-made structure",
default = {"Named roads"},
},
["Roman province"] = {
-- FIXME! Eliminate this in favor of 'former province|emp/Roman Empire'
link = "w",
default = {"Provinces of the Roman Empire"},
class = "subpolity",
},
["royal borough"] = {
link = "w",
preposition = "của",
affix_type = "Pref",
no_affix_strings = {"royal", "borough"},
fallback = "local government district with borough status",
has_neighborhoods = true,
},
["royal burgh"] = {
link = true,
fallback = "borough",
},
["royal capital"] = {
link = "w",
fallback = "capital city",
},
["rural committee"] = {
-- Hong Kong; a group of villages
link = "w",
affix_type = "Suf",
has_neighborhoods = true,
class = "settlement",
},
["rural community"] = {
-- New Brunswick
link = "+w:list of municipalities in New_Brunswick#Rural communities",
fallback = "municipality",
},
["rural hromada"] = {
link = "[[rural]] [[w:hromada|hromada]]",
affix_type = "suf",
fallback = "hromada",
},
["rural municipality"] = {
link = "w",
preposition = "của",
affix_type = "Pref",
no_affix_strings = "municipality",
fallback = "municipality",
has_neighborhoods = true, --?
},
["rural township"] = {
-- Taiwan
link = "+w:rural township (Taiwan)",
fallback = "township",
},
["sanctuary"] = {
link = true,
fallback = "temple",
},
["satrapy"] = {
link = true,
preposition = "của",
class = "subpolity",
inherently_former = {"ANCIENT", "FORMER"},
},
["biển"] = {
link = true,
class = "natural feature",
addl_bare_category_parents = {"vùng nước"},
default = {"Biển"},
},
["seaport"] = {
link = true,
fallback = "port",
},
["seat"] = {
link = true,
fallback = "administrative centre",
},
["self-administered area"] = {
-- Myanmar (groups self-administered divisions and zones)
link = "+w:self-administered zone",
preposition = "của",
class = "subpolity",
},
["self-administered division"] = {
-- Myanmar (only one of them: Wa Self-Administered Division)
link = "w",
fallback = "self-administered area",
},
["self-administered zone"] = {
-- Myanmar (five of them)
link = "w",
fallback = "self-administered area",
},
["separatist state"] = {
link = "separately",
fallback = "unrecognized country",
},
["settlement"] = {
link = true,
category_link = "[[settlement]]s such as [[city|cities]], [[village]]s and [[farm]]s",
bare_category_parent = "places",
-- not necessarily true, but usually is the case
fallback = "village",
},
["settlement hromada"] = {
link = "[[w:Populated places in Ukraine#Rural settlements|settlement]] [[w:hromada|hromada]]",
affix_type = "suf",
fallback = "hromada",
},
["sheading"] = {
-- Isle of Man
link = true,
fallback = "district",
},
["sheep station"] = {
-- Australia
link = true,
fallback = "farm",
},
["shire"] = {
link = true,
fallback = "county",
},
["shire county"] = {
link = "w",
fallback = "county",
},
["shire town"] = {
link = true,
fallback = "county seat",
},
["ski resort city"] = {
link = "[[ski resort]] [[city]]",
fallback = "thành phố",
},
["ski resort town"] = {
link = "[[ski resort]] [[town]]",
fallback = "town",
},
["spa city"] = {
link = "+w:spa town",
fallback = "thành phố",
},
["spa town"] = {
link = "w",
fallback = "town",
},
["space station"] = {
link = true,
fallback = "research station",
},
["special administrative region"] = {
-- in China; in practice they are city-like (Hong Kong, Macau); also [[Oecusse]] in East Timor is formally a
-- "special administrative region"; North Korea had one such region planned (Sinuiju) but abandoned; Indonesia
-- has similar "special regions" of Jakarta, Yogyakarta and Aceh; and South Sudan has three "special
-- administrative areas"
link = "+w:special administrative regions of China",
preposition = "của",
class = "subpolity",
has_neighborhoods = true, --?
-- no suffix since places in Hong Kong or Macau are listed without China, except Hong Kong and Macau themselves
-- they also contain regions (or areas), e.g. [[Kowloon]], so it would be confusing
suffix = "",
},
["special collectivity"] = {
link = "w",
fallback = "collectivity",
},
["special municipality"] = {
-- formerly linked to the Taiwan article but there are also special municipalities of the Netherlands
link = "w",
fallback = "municipality",
},
["special ward"] = {
-- Tokyo
link = true,
fallback = "municipality",
},
["spit"] = {
link = true,
fallback = "peninsula",
},
["spring"] = {
link = true,
class = "natural feature",
default = {true},
},
["star"] = {
link = true,
class = "natural feature",
default = {true},
},
["state"] = {
link = true,
preposition = "của",
class = "subpolity",
-- 'former/historical state' could refer either to a state of a country (a division) or a state = sovereign
-- entity. The latter appears more common (e.g. in various "ancient states" of East Asia).
former_type = "polity",
},
["states and territories!"] = {
-- This and other similar "combined placetypes" are for use in the plural when grouping first-level
-- administrative regions of certain countries, in this case Australia.
category_link = "[[state]]s and [[territory|territories]]",
class = "subpolity",
},
["states and union territories!"] = {
-- This and other similar "combined placetypes" are for use in the plural when grouping first-level
-- administrative regions of certain countries, in this case India.
category_link = "[[state]]s and [[union territory|union territories]]",
class = "subpolity",
},
["state capital"] = {
link = true,
fallback = "capital city",
},
["state park"] = {
link = true,
fallback = "park",
},
["state-level new area"] = {
-- China (type of economic development zone, varying greatly in size)
link = "w",
fallback = "new area",
},
["statistical region"] = {
-- Slovenia
link = true,
fallback = "administrative region",
},
["statutory city"] = {
link = "w",
fallback = "thành phố",
},
["statutory town"] = {
link = "w",
fallback = "town",
},
["strait"] = {
link = true,
class = "natural feature",
addl_bare_category_parents = {"bodies of water"},
default = {true},
},
["stream"] = {
link = true,
fallback = "river",
},
["street"] = {
link = true,
fallback = "road",
},
["strip"] = {
link = true,
fallback = "geographic region",
},
["strip of land"] = {
link = "[[strip]] of [[land]]",
plural = "strips of land",
plural_link = "[[strip]]s of [[land]]",
fallback = "geographic region",
},
["sub-metropolitan city"] = {
link = "+w:List of cities in Nepal#Sub-metropolitan cities",
fallback = "thành phố",
},
["sub-prefectural city"] = {
link = "w",
fallback = "subprovincial city",
},
["subdistrict"] = {
link = true,
preposition = "của",
has_neighborhoods = true, --?
-- FIXME: subdistricts can be neighborhood-like (of Jakarta) or larger (in China); need a handler
class = "subpolity",
default = {true},
},
["subdivision"] = {
link = true,
preposition = "của",
affix_type = "suf",
-- FIXME: subdivisions can be neighborhood-like or larger; need a handler
class = "subpolity",
cat_handler = district_neighborhood_cat_handler,
},
["submerged ghost town"] = {
-- FIXME: Consider just having "submerged" as a qualifier.
link = "[[submerged]] [[ghost town]]",
fallback = "ghost town",
},
["subnational kingdom"] = {
link = "+w:subnational monarchy",
fallback = "non-sovereign kingdom",
},
["subnational monarchy"] = {
link = "w",
fallback = "non-sovereign kingdom",
},
["subprefecture"] = {
link = true,
affix_type = "suf",
preposition = "của",
class = "subpolity",
},
["subprovince"] = {
link = true,
preposition = "của",
class = "subpolity",
},
["subprovincial city"] = {
link = "w",
-- China; special status given to certain prefecture-level cities
fallback = "prefecture-level city",
},
["subprovincial district"] = {
link = "w",
-- China; special status given to Binhai New Area and Pudong New Area, which are county-level districts
preposition = "của",
class = "subpolity",
},
["subregion"] = {
link = true,
fallback = "geographic region",
},
["suburb"] = {
link = true,
-- The following text is suitable for the top-level description of a suburb as well as categories of the form
-- 'Suburbs in POLDIV' e.g. 'Suburbs in Illinois, USA' but not for categories of the form 'Suburbs of Chicago',
-- where we'd get "[[suburb]]s of [[city|cities]] of [[Chicago]]".
category_link = "[[suburb]]s of [[city|cities]]",
category_link_before_city = "[[suburb]]s",
-- See comments under "neighborhood" for the following three settings. They are used by
-- [[Module:category tree/topic cat/data/Places]] for generating the text of 'Suburbs in/of PLACE' categories
-- but currently ignored by district_neighborhood_cat_handler (which actually generates the categories for a
-- given page), which hardcodes "in" for non-cities and "của" for cities. (FIXME: Change this.)
generic_before_non_cities = "in",
generic_before_cities = "của",
preposition = "của",
has_neighborhoods = true, --?
class = "non-admin settlement", --?
cat_handler = district_neighborhood_cat_handler,
},
["suburban area"] = {
link = "w",
fallback = "suburb",
},
["subway station"] = {
link = "w",
fallback = "metro station",
},
["sum"] = {
-- In China, Mongolia, Russia; something like a county in Mongolia but a township in China (Inner Mongolia),
-- and equivalent to a [[selsoviet]] in the parts of Russia where it's in use (a rural council, below a raion).
link = "+w:sum (administrative division)",
-- This fallback is somewha arbitrary. We could use "county" but that has a display handler
-- which we don't want to be active (FIXME: If the display handler would be active, that's a bug).
fallback = "division",
},
["supercontinent"] = {
link = true,
fallback = "continent",
},
["tehsil"] = {
link = true,
affix_type = "suf",
no_affix_strings = {"tehsil", "tahsil"},
class = "subpolity",
},
["temple"] = {
link = true,
fallback = "building",
},
["territorial authority"] = {
link = "w",
fallback = "district",
},
["territory"] = {
link = true,
preposition = "của",
class = "subpolity",
},
["theme"] = {
link = "+w:theme (Byzantine district)",
preposition = "của",
class = "subpolity",
},
["town"] = {
link = true,
generic_before_non_cities = "in",
has_neighborhoods = true,
class = "settlement",
cat_handler = city_type_cat_handler,
default = {true},
},
["town with bystatus"] = {
-- can't use templates in links currently
link = "[[town]] with [[bystatus#Norwegian Bokmål|bystatus]]",
plural = "towns with bystatus",
plural_link = "[[town]]s with [[bystatus#Norwegian Bokmål|bystatus]]",
fallback = "town",
},
["township"] = {
link = true,
has_neighborhoods = true,
class = "settlement", --?
default = {true},
},
["township municipality"] = {
-- Quebec
link = "+w:township municipality (Quebec)",
preposition = "của",
fallback = "municipality",
has_neighborhoods = true, --?
},
["traditional county"] = {
link = true,
fallback = "county",
},
["traditional region"] = {
-- FIXME: Verify this works. Same for 'historic(al) region'.
-- provided only for the link
link = "w",
fallback = "FORMER geographic region",
},
["trail"] = {
link = true,
fallback = "road",
},
["treaty port"] = {
link = "w",
fallback = "thành phố",
class = "settlement",
inherently_former = {"FORMER"},
},
["tributary"] = {
link = true,
preposition = "của",
fallback = "river",
},
["underground station"] = {
link = "w",
fallback = "metro station",
},
["unincorporated area"] = {
link = "w",
-- I don't know if this fallback makes sense everywhere.
fallback = "unincorporated community",
},
["unincorporated community"] = {
link = true,
generic_before_non_cities = "in",
class = "non-admin settlement",
},
["unincorporated territory"] = {
link = "w",
fallback = "territory",
},
["union territory"] = {
-- India
link = true,
preposition = "của",
entry_placetype_indefinite_article = "a",
class = "subpolity",
},
["unitary authority"] = {
-- UK, New Zealand
link = true,
entry_placetype_indefinite_article = "a",
fallback = "local government district",
},
["unitary district"] = {
link = "w",
entry_placetype_indefinite_article = "a",
fallback = "local government district",
},
["united township municipality"] = {
-- Quebec
link = "+w:united township municipality (Quebec)",
entry_placetype_indefinite_article = "a",
fallback = "township municipality",
has_neighborhoods = true, --?
},
["university"] = {
link = true,
entry_placetype_indefinite_article = "a",
class = "man-made structure",
default = {true},
},
["unrecognised country"] = {
link = "w",
fallback = "unrecognized country",
},
["unrecognized and nearly unrecognized countries!"] = {
category_link = "[[de facto]] [[independent]] [[state]]s with little or no {{w|international recognition}}",
bare_category_parent = "country-like entities",
},
["unrecognized country"] = {
link = "w",
class = "polity",
default = {"Unrecognized and nearly unrecognized countries"},
},
["unrecognised state"] = {
link = "w",
fallback = "unrecognized country",
},
["unrecognized state"] = {
link = "w",
fallback = "unrecognized country",
},
["urban area"] = {
link = "separately",
fallback = "neighborhood",
},
["urban hromada"] = {
link = "[[urban]] [[w:hromada|hromada]]",
affix_type = "suf",
fallback = "hromada",
},
["urban service area"] = {
-- A strange beast existing in Alberta; technically a type of hamlet but in practice used for much larger
-- cities and treated equivalent to a city. (There are only two of them, [[Fort McMurray]] and [[Sherwood Park]]).
link = "w",
fallback = "thành phố",
},
["urban township"] = {
link = "w",
fallback = "township",
},
["urban-type settlement"] = {
-- appears to be a particular type of small urban settlement in post-Soviet states,
-- had an administrative function.
link = "w",
fallback = "town",
},
["valley"] = {
link = true,
class = "natural feature",
addl_bare_category_parents = {"landforms", "water"},
default = {true},
},
["viceroyalty"] = {
-- in essence, a type of colony
link = true,
fallback = "dependent territory",
},
["village"] = {
link = true,
generic_before_non_cities = "in",
category_link = "[[village]]s, [[hamlet]]s, and other small [[community|communities]] and [[settlement]]s",
class = "settlement",
cat_handler = city_type_cat_handler,
default = {true},
},
["village development committee"] = {
-- former administrative structure in Nepal; also exists in India but not as a formal unit
link = "+w:village development committee (Nepal)",
inherently_former = {"FORMER"},
fallback = "village",
},
["village municipality"] = {
-- Quebec
link = "+w:village municipality (Quebec)",
preposition = "của",
fallback = "municipality",
has_neighborhoods = true, --?
},
["voivodeship"] = {
-- Poland
link = true,
display_handler = voivodeship_display_handler,
preposition = "của",
class = "subpolity",
},
["volcano"] = {
link = true,
plural = "volcanoes",
class = "natural feature",
addl_bare_category_parents = {"landforms"},
default = {true, "Mountains"},
},
["phường"] = {
link = true,
class = "settlement",
-- Wards are formal administrative divisions of a city but have some properties of neighborhoods.
fallback = "neighborhood",
},
["watercourse"] = {
link = true,
fallback = "channel",
},
["Welsh community"] = {
-- Wales
link = "[[w:community (Wales)|community]]",
preposition = "của",
affix_type = "suf",
affix = "community",
has_neighborhoods = true,
class = "settlement",
},
["zone"] = {
-- administrative division of Ethiopia, Qatar, Nepal, India
link = "+w:zone#Place names",
preposition = "của",
class = "subpolity",
},
----------------------------------------------------------------------------------------------
-- Categories for former places --
----------------------------------------------------------------------------------------------
["ANCIENT capital"] = {
link = false,
entry_placetype_use_the = true,
preposition = "của",
has_neighborhoods = true,
class = "capital",
-- FIXME: Consider removing 'ancient settlements' here. Ancient capitals, like former capitals, often still
-- exist but just aren't the capital any more. Maybe we should have an 'Ancient capitals' category.
default = {"Ancient settlements", "Former capitals"},
},
["ANCIENT non-admin settlement"] = {
link = false,
class = "non-admin settlement",
fallback = "ANCIENT settlement",
},
["ANCIENT settlement"] = {
link = false,
has_neighborhoods = true,
class = "settlement",
default = {"Ancient settlements"},
},
["ancient settlements!"] = {
category_link = "former [[city|cities]], [[town]]s and [[village]]s that existed in [[antiquity]]",
bare_category_parent = "former settlements",
},
["FORMER capital"] = {
link = false,
entry_placetype_use_the = true,
preposition = "của",
has_neighborhoods = true,
class = "capital",
default = {"Former capitals"},
},
["former capitals!"] = {
category_link = "former [[capital]] [[city|cities]] and [[town]]s",
bare_category_parent = "settlements",
},
["former counties and county-level cities!"] = {
-- For categorizing former counties and county-level cities of China
category_link = "no-longer existing [[county|counties]] and [[county-level city|county-level cities]]",
bare_category_breadcrumb = "counties and county-level cities",
bare_category_parent = "former political divisions",
},
["FORMER county"] = {
-- For categorizing former counties and county-level cities of China
link = false,
fallback = "FORMER subpolity",
},
["FORMER county-level city"] = {
-- For categorizing former counties and county-level cities of China
link = false,
fallback = "FORMER subpolity",
},
["former countries and country-like entities!"] = {
category_link = "[[country|countries]] and similar [[polity|polities]] that no longer exist",
bare_category_breadcrumb = "countries and country-like entities",
bare_category_parent = "former polities",
},
["FORMER country"] = {
link = false,
class = "polity",
default = {"Former countries and country-like entities"},
},
["former dependent territories!"] = {
category_link = "[[w:dependent territory|dependent territories]] (colonies, dependencies, protectorates, etc.) that no longer exist",
bare_category_breadcrumb = "dependent territories",
bare_category_parent = "former political divisions",
},
["FORMER dependent territory"] = {
link = false,
preposition = "của",
class = "subpolity",
default = {"Former dependent territories"},
},
["former districts!"] = {
-- For categorizing former districts of China
category_link = "no-longer-existing [[district]]s",
bare_category_breadcrumb = "districts",
bare_category_parent = "former political divisions",
},
["FORMER district"] = {
-- For categorizing former districts of China
link = false,
fallback = "FORMER subpolity",
},
["FORMER geographic region"] = {
link = false,
fallback = "geographic and cultural area",
},
["FORMER man-made structure"] = {
link = false,
class = "man-made structure",
default = {"Former man-made structures"},
},
["former man-made structures!"] = {
category_link = "man-made structures such as [[airport]]s and [[park]]s that no longer exist",
bare_category_breadcrumb = "man-made structures",
bare_category_parent = "former places",
},
["former municipalities!"] = {
-- For categorizing former municipalities of the Netherlands
category_link = "no-longer-existing [[municipality|municipalities]]",
bare_category_breadcrumb = "municipalities",
bare_category_parent = "former political divisions",
},
["FORMER municipality"] = {
-- For categorizing former municipalities of the Netherlands
link = false,
fallback = "FORMER subpolity",
},
["FORMER natural feature"] = {
link = false,
class = "natural feature",
default = {"Former natural features"},
},
["former natural features!"] = {
category_link = "natural features such as [[lake]]s, [[river]]s and [[island]]s that no longer exist",
bare_category_breadcrumb = "natural features",
bare_category_parent = "former places",
},
["FORMER non-admin settlement"] = {
link = false,
class = "non-admin settlement",
fallback = "FORMER settlement",
},
["former places!"] = {
category_link = "[[place]]s of all sorts that no longer exist",
bare_category_breadcrumb = "former",
bare_category_parent = "places",
},
["former political divisions!"] = {
category_link = "[[political]] [[division]]s (states, provinces, counties, etc.) that no longer exist",
bare_category_breadcrumb = "political divisions",
bare_category_parent = "former places",
},
["former polities!"] = {
category_link = "[[polity|polities]] (countries, kingdoms, empires, etc.) that no longer exist",
bare_category_breadcrumb = "polities",
bare_category_parent = "former places",
},
["FORMER polity"] = {
link = false,
class = "polity",
default = {"Former polities"},
},
["former prefectures!"] = {
-- For categorizing former prefectures of China
category_link = "no-longer-existing [[prefecture]]s",
bare_category_breadcrumb = "prefectures",
bare_category_parent = "former political divisions",
},
["FORMER prefecture"] = {
-- For categorizing former prefectures of China
link = false,
fallback = "FORMER subpolity",
},
["former provinces!"] = {
-- For categorizing former provinces of China, etc.
category_link = "no-longer-existing [[province]]s",
bare_category_breadcrumb = "provinces",
bare_category_parent = "former political divisions",
},
["FORMER province"] = {
-- For categorizing ancient/historical/former provinces of the Roman Empire
link = false,
fallback = "FORMER subpolity",
},
["former region"] = {
-- A former region is considered a former political division, but not a 'historical/traditional/etc.' region.
link = "separately",
preposition = "của",
inherently_former = {"FORMER"},
class = "subpolity",
},
["FORMER settlement"] = {
link = false,
has_neighborhoods = true,
class = "settlement",
default = {"Former settlements"},
},
["former settlements!"] = {
category_link = "[[city|cities]], [[town]]s and [[village]]s that no longer exist or have been merged or reclassified",
bare_category_breadcrumb = "settlements",
bare_category_parent = "former political divisions",
},
["FORMER subpolity"] = {
link = false,
preposition = "của",
class = "subpolity",
default = {"Former political divisions"},
},
----------------------------------------------------------------------------------------------
-- form-of categories --
----------------------------------------------------------------------------------------------
---------- Abbreviations ----------
["abbreviations of counties!"] = {
-- For categorizing abbreviations of counties of e.g. England
full_category_link = "{{glossary|abbreviation}}s of [[name]]s of [[county|counties]]",
bare_category_breadcrumb = "counties",
bare_category_parent = "abbreviations of political divisions",
},
["abbreviations of countries!"] = {
full_category_link = "{{glossary|abbreviation}}s of [[name]]s of [[country|countries]]",
bare_category_breadcrumb = "quốc gia",
bare_category_parent = "abbreviations of places",
},
["abbreviations of departments!"] = {
-- For categorizing abbreviations of departments of e.g. France
full_category_link = "{{glossary|abbreviation}}s of [[name]]s of [[department]]s",
bare_category_breadcrumb = "departments",
bare_category_parent = "abbreviations of political divisions",
},
["abbreviations of districts!"] = {
-- For categorizing abbreviations of districts of e.g. ???
full_category_link = "{{glossary|abbreviation}}s of [[name]]s of [[district]]s",
bare_category_breadcrumb = "districts",
bare_category_parent = "abbreviations of political divisions",
},
["abbreviations of divisions!"] = {
-- For categorizing abbreviations of divisions of e.g. Bangladesh
full_category_link = "{{glossary|abbreviation}}s of [[name]]s of [[division]]s",
bare_category_breadcrumb = "divisions",
bare_category_parent = "abbreviations of political divisions",
},
["abbreviations of former countries!"] = {
full_category_link = "{{glossary|abbreviation}}s of [[country|countries]] that no longer [[exist]]",
bare_category_breadcrumb = "quốc gia",
bare_category_parent = "abbreviations of former places",
},
["abbreviations of former places!"] = {
full_category_link = "{{glossary|abbreviation}}s of [[place]]s that no longer [[exist]]",
bare_category_breadcrumb = "abbreviations",
bare_category_parent = "former places",
addl_bare_category_parents = {{name = "abbreviations of places", sort = "former"}},
},
["abbreviations of places!"] = {
full_category_link = "{{glossary|abbreviation}}s of [[name]]s of [[place]]s",
bare_category_breadcrumb = "abbreviations",
bare_category_parent = "places",
},
["abbreviations of political divisions!"] = {
full_category_link = "{{glossary|abbreviation}}s of [[name]]s of [[political]] [[division]]s",
bare_category_breadcrumb = "political divisions",
bare_category_parent = "abbreviations of places",
},
["abbreviations of prefectures!"] = {
-- For categorizing abbreviations of prefectures of e.g. Japan
full_category_link = "{{glossary|abbreviation}}s of [[name]]s of [[prefecture]]s",
bare_category_breadcrumb = "prefectures",
bare_category_parent = "abbreviations of political divisions",
},
["abbreviations of provinces!"] = {
-- For categorizing abbreviations of provinces of e.g. Canada
full_category_link = "{{glossary|abbreviation}}s of [[name]]s of [[province]]s",
bare_category_breadcrumb = "provinces",
bare_category_parent = "abbreviations of political divisions",
},
["abbreviations of provinces and territories!"] = {
full_category_link = "{{glossary|abbreviation}}s of [[name]]s of [[province]]s and [[territory|territories]]",
bare_category_breadcrumb = "provinces and territories",
bare_category_parent = "abbreviations of political divisions",
},
["abbreviations of regions!"] = {
-- For categorizing abbreviations of regions of e.g. Italy
full_category_link = "{{glossary|abbreviation}}s of [[name]]s of [[administrative region]]s",
bare_category_breadcrumb = "regions",
bare_category_parent = "abbreviations of political divisions",
},
["abbreviations of states!"] = {
-- For categorizing abbreviations of states of e.g. the United States
full_category_link = "{{glossary|abbreviation}}s of [[name]]s of [[state]]s",
bare_category_breadcrumb = "states",
bare_category_parent = "abbreviations of political divisions",
},
["abbreviations of states and territories!"] = {
full_category_link = "{{glossary|abbreviation}}s of [[name]]s of [[state]]s and [[territory|territories]]",
bare_category_breadcrumb = "states and territories",
bare_category_parent = "abbreviations of political divisions",
},
["abbreviations of states and union territories!"] = {
full_category_link = "{{glossary|abbreviation}}s of [[name]]s of [[state]]s and [[union territory|union territories]]",
bare_category_breadcrumb = "states and union territories",
bare_category_parent = "abbreviations of political divisions",
},
["abbreviations of territories!"] = {
full_category_link = "{{glossary|abbreviation}}s of [[name]]s of [[territory|territories]]",
bare_category_breadcrumb = "territories",
bare_category_parent = "abbreviations of political divisions",
},
["ABBREVIATION_OF country"] = {
link = false,
default = {"Abbreviations of countries"},
},
["ABBREVIATION_OF county"] = {
link = false,
fallback = "ABBREVIATION_OF subpolity",
},
["ABBREVIATION_OF department"] = {
link = false,
fallback = "ABBREVIATION_OF subpolity",
},
["ABBREVIATION_OF district"] = {
link = false,
fallback = "ABBREVIATION_OF subpolity",
},
["ABBREVIATION_OF division"] = {
link = false,
fallback = "ABBREVIATION_OF subpolity",
},
["ABBREVIATION_OF FORMER country"] = {
link = false,
default = {"Abbreviations of former countries"},
},
["ABBREVIATION_OF FORMER place"] = {
link = false,
default = {"Abbreviations of former places"},
},
["ABBREVIATION_OF place"] = {
link = false,
default = {"Abbreviations of places"},
},
["ABBREVIATION_OF prefecture"] = {
link = false,
fallback = "ABBREVIATION_OF subpolity",
},
["ABBREVIATION_OF province"] = {
link = false,
fallback = "ABBREVIATION_OF subpolity",
},
["ABBREVIATION_OF region"] = {
link = false,
fallback = "ABBREVIATION_OF subpolity",
},
["ABBREVIATION_OF state"] = {
link = false,
fallback = "ABBREVIATION_OF subpolity",
},
["ABBREVIATION_OF subpolity"] = {
link = false,
default = {"Abbreviations of political divisions"},
},
["ABBREVIATION_OF territory"] = {
link = false,
fallback = "ABBREVIATION_OF subpolity",
},
["ABBREVIATION_OF union territory"] = {
link = false,
fallback = "ABBREVIATION_OF subpolity",
},
---------- Archaic forms ----------
["archaic forms of places!"] = {
full_category_link = "{{glossary|archaic}} [[form]]s of [[name]]s of [[place]]s",
bare_category_breadcrumb = "archaic forms",
bare_category_parent = "places",
},
["ARCHAIC_FORM_OF place"] = {
link = false,
default = {"Archaic forms of places"},
},
---------- Clippings ----------
["clippings of places!"] = {
full_category_link = "{{glossary|clipping}}s of [[name]]s of [[place]]s",
bare_category_breadcrumb = "clippings",
bare_category_parent = "places",
},
["CLIPPING_OF place"] = {
link = false,
default = {"Clippings of places"},
},
---------- Dated forms ----------
["dated forms of places!"] = {
full_category_link = "{{glossary|dated}} [[form]]s of [[name]]s of [[place]]s",
bare_category_breadcrumb = "dated forms",
bare_category_parent = "places",
},
["DATED_FORM_OF place"] = {
link = false,
default = {"Dated forms of places"},
},
---------- Derogatory names ----------
["derogatory names for cities!"] = {
full_category_link = "{{glossary|derogatory}} [[name]]s for [[city|cities]]",
bare_category_breadcrumb = "cities",
bare_category_parent = "derogatory names for places",
addl_bare_category_parents = {"nicknames for cities"},
},
["derogatory names for continents!"] = {
full_category_link = "{{glossary|derogatory}} [[name]]s for [[continent]]s",
bare_category_breadcrumb = "continents",
bare_category_parent = "derogatory names for places",
addl_bare_category_parents = {"nicknames for continents"},
},
["derogatory names for countries!"] = {
full_category_link = "{{glossary|derogatory}} [[name]]s for [[country|countries]]",
bare_category_breadcrumb = "quốc gia",
bare_category_parent = "derogatory names for places",
addl_bare_category_parents = {"nicknames for countries"},
},
["derogatory names for places!"] = {
full_category_link = "{{glossary|derogatory}} [[name]]s for [[place]]s",
bare_category_breadcrumb = "derogatory names",
bare_category_parent = "nicknames for places",
},
["derogatory names for states!"] = {
full_category_link = "{{glossary|derogatory}} [[name]]s for [[state]]s",
bare_category_breadcrumb = "states",
bare_category_parent = "derogatory names for places",
addl_bare_category_parents = {"nicknames for states"},
},
["DEROGATORY_NAME_FOR capital"] = {
link = false,
default = {"Derogatory names for cities"},
},
["DEROGATORY_NAME_FOR city"] = {
link = false,
default = {"Derogatory names for cities"},
},
["DEROGATORY_NAME_FOR continent"] = {
link = false,
default = {"Derogatory names for continents"},
},
["DEROGATORY_NAME_FOR country"] = {
link = false,
default = {"Derogatory names for countries"},
},
["DEROGATORY_NAME_FOR metropolitan city"] = {
-- "metropolitan city" doesn't fall back to "thành phố"
link = false,
default = {"Derogatory names for cities"},
},
["DEROGATORY_NAME_FOR place"] = {
link = false,
default = {"Derogatory names for places"},
},
["DEROGATORY_NAME_FOR prefecture-level city"] = {
-- "prefecture-level city" doesn't fall back to "thành phố" but things like "county-level city" and
-- "subprovincial city" fall back to "prefecture-level city"
link = false,
default = {"Derogatory names for cities"},
},
["DEROGATORY_NAME_FOR state"] = {
link = false,
default = {"Derogatory names for states"},
},
["DEROGATORY_NAME_FOR town"] = {
link = false,
default = {"Derogatory names for cities"},
},
---------- Ellipses ----------
["ellipses of places!"] = {
full_category_link = "{{glossary|ellipsis|ellipses}} of [[name]]s of [[place]]s",
bare_category_breadcrumb = "ellipses",
bare_category_parent = "places",
},
["ELLIPSIS_OF place"] = {
link = false,
default = {"Ellipses of places"},
},
---------- Former long-form names ----------
["former long-form names of countries!"] = {
full_category_link = "no-longer-[[use]]d [[long]]-[[form]] (but typically [[unofficial]]) [[name]]s of [[country|countries]]",
bare_category_breadcrumb = "quốc gia",
bare_category_parent = "former long-form names of places",
addl_bare_category_parents = {{name = "former names of countries", sort = "long-form"}},
},
["former long-form names of places!"] = {
full_category_link = "no-longer-[[use]]d [[long]]-[[form]] (but typically [[unofficial]]) [[name]]s of [[place]]s",
bare_category_breadcrumb = "long-form",
bare_category_parent = "former names of places",
},
["FORMER_LONG_FORM_OF country"] = {
link = false,
default = {"Former long-form names of countries"},
},
["FORMER_LONG_FORM_OF place"] = {
link = false,
default = {"Former long-form names of places"},
},
---------- Former names ----------
["former names of capitals!"] = {
full_category_link = "[[former]] [[name]]s of [[capital city|capital cities]] that generally still exist but under a different name",
bare_category_breadcrumb = "capitals",
bare_category_parent = "former names of settlements",
},
["former names of countries!"] = {
full_category_link = "[[former]] [[name]]s of [[country|countries]] that generally still exist but under a different name",
bare_category_breadcrumb = "quốc gia",
bare_category_parent = "former names of places",
},
["former names of places!"] = {
full_category_link = "[[former]] [[name]]s of [[place]]s that generally still exist but under a different name",
bare_category_breadcrumb = "former names",
bare_category_parent = "places",
},
["former names of political divisions!"] = {
full_category_link = "[[former]] [[name]]s of [[political]] [[division]]s (states, provinces, counties, etc.) that generally still exist but under a different name",
bare_category_breadcrumb = "political divisions",
bare_category_parent = "former names of places",
},
["former names of polities!"] = {
full_category_link = "[[former]] [[name]]s of [[polity|polities]] (e.g. [[country|countries]]) that generally still exist but under a different name",
bare_category_breadcrumb = "polities",
bare_category_parent = "former names of places",
},
["former names of settlements!"] = {
full_category_link = "[[former]] [[name]]s of [[city|cities]], [[town]]s, [[village]]s, etc. that generally still exist but under a different name",
bare_category_breadcrumb = "settlements",
bare_category_parent = "former names of political divisions",
},
["FORMER_NAME_OF capital"] = {
link = false,
default = {"Former names of capitals"},
},
["FORMER_NAME_OF country"] = {
link = false,
default = {"Former names of countries"},
},
["FORMER_NAME_OF place"] = {
link = false,
default = {"Former names of places"},
},
["FORMER_NAME_OF polity"] = {
link = false,
default = {"Former names of polities"},
},
["FORMER_NAME_OF region"] = {
link = false,
fallback = "FORMER_NAME_OF subpolity",
},
["FORMER_NAME_OF settlement"] = {
link = false,
default = {"Former names of settlements"},
},
["FORMER_NAME_OF subpolity"] = {
link = false,
default = {"Former names of political divisions"},
},
---------- Former nicknames ----------
["former nicknames for cities!"] = {
full_category_link = "no-longer-used [[nickname]]s for [[city|cities]], e.g. the [[Eternal City]] for [[Kyoto]] during the {{w|Heian period}} ({{circa2|800–1100|short=yes}} {{AD}})",
bare_category_breadcrumb = "cities",
bare_category_parent = "former nicknames for places",
addl_bare_category_parents = {"nicknames for cities"},
},
["former nicknames for places!"] = {
full_category_link = "no-longer-used [[nickname]]s for [[place]]s",
bare_category_breadcrumb = "former",
bare_category_parent = "nicknames for places",
addl_bare_category_parents = {{name = "former names of places", sort = "nicknames"}},
},
["FORMER_NICKNAME_FOR capital"] = {
link = false,
default = {"Former nicknames for cities"},
},
["FORMER_NICKNAME_FOR city"] = {
link = false,
default = {"Former nicknames for cities"},
},
["FORMER_NICKNAME_FOR metropolitan city"] = {
-- "metropolitan city" doesn't fall back to "thành phố"
link = false,
default = {"Former nicknames for cities"},
},
["FORMER_NICKNAME_FOR place"] = {
link = false,
default = {"Former nicknames for places"},
},
["FORMER_NICKNAME_FOR prefecture-level city"] = {
-- "prefecture-level city" doesn't fall back to "thành phố" but things like "county-level city" and
-- "subprovincial city" fall back to "prefecture-level city"
link = false,
default = {"Former nicknames for cities"},
},
["FORMER_NICKNAME_FOR town"] = {
link = false,
default = {"Former nicknames for cities"},
},
---------- Former official names ----------
["former official names of countries!"] = {
full_category_link = "no-longer-[[use]]d [[official]] [[name]]s of [[country|countries]]",
bare_category_breadcrumb = "quốc gia",
bare_category_parent = "former official names of places",
addl_bare_category_parents = {{name = "former names of countries", sort = "official"}},
},
["former official names of places!"] = {
full_category_link = "no-longer-[[use]]d [[official]] [[name]]s of [[place]]s",
bare_category_breadcrumb = "official",
bare_category_parent = "former names of places",
},
["FORMER_OFFICIAL_NAME_OF country"] = {
link = false,
default = {"Former official names of countries"},
},
["FORMER_OFFICIAL_NAME_OF place"] = {
link = false,
default = {"Former official names of places"},
},
---------- Long-form names ----------
["long-form names of countries!"] = {
full_category_link = "[[long]]-[[form]] (but typically [[unofficial]]) [[name]]s of [[country|countries]]",
bare_category_breadcrumb = "quốc gia",
bare_category_parent = "long-form names of places",
},
["long-form names of places!"] = {
full_category_link = "[[long]]-[[form]] (but typically [[unofficial]]) [[name]]s of [[place]]s",
bare_category_breadcrumb = "long-form names",
bare_category_parent = "places",
},
["LONG_FORM_OF country"] = {
link = false,
default = {"Long-form names of countries"},
},
["LONG_FORM_OF place"] = {
link = false,
default = {"Long-form names of places"},
},
---------- Nicknames ----------
["nicknames for cities!"] = {
full_category_link = "[[nickname]]s for [[city|cities]], e.g. the [[Big Apple]] for [[New York City]]",
bare_category_breadcrumb = "cities",
bare_category_parent = "nicknames for places",
addl_bare_category_parents = {"cities"},
},
["nicknames for continents!"] = {
full_category_link = "[[nickname]]s for [[continent]]s",
bare_category_breadcrumb = "continents",
bare_category_parent = "nicknames for places",
addl_bare_category_parents = {"continents"},
},
["nicknames for countries!"] = {
full_category_link = "[[nickname]]s for [[country|countries]]",
bare_category_breadcrumb = "quốc gia",
bare_category_parent = "nicknames for places",
addl_bare_category_parents = {"quốc gia"},
},
["nicknames for places!"] = {
full_category_link = "[[nickname]]s for [[place]]s",
bare_category_breadcrumb = "places",
bare_category_parent = "nicknames",
addl_bare_category_parents = {"places"},
},
["nicknames for states!"] = {
-- For categorizing nicknames for states of e.g. the United States
full_category_link = "[[nicknames]] for [[state]]s",
bare_category_breadcrumb = "states",
bare_category_parent = "nicknames for places",
addl_bare_category_parents = {"states"},
},
["NICKNAME_FOR capital"] = {
link = false,
default = {"Nicknames for cities"},
},
["NICKNAME_FOR city"] = {
link = false,
default = {"Nicknames for cities"},
},
["NICKNAME_FOR continent"] = {
link = false,
default = {"Nicknames for continents"},
},
["NICKNAME_FOR country"] = {
link = false,
default = {"Nicknames for countries"},
},
["NICKNAME_FOR metropolitan city"] = {
-- "metropolitan city" doesn't fall back to "thành phố"
link = false,
default = {"Nicknames for cities"},
},
["NICKNAME_FOR place"] = {
link = false,
default = {"Nicknames for places"},
},
["NICKNAME_FOR prefecture-level city"] = {
-- "prefecture-level city" doesn't fall back to "thành phố" but things like "county-level city" and
-- "subprovincial city" fall back to "prefecture-level city"
link = false,
default = {"Nicknames for cities"},
},
["NICKNAME_FOR state"] = {
link = false,
default = {"Nicknames for states"},
},
["NICKNAME_FOR town"] = {
link = false,
default = {"Nicknames for cities"},
},
---------- Obsolete forms ----------
["obsolete forms of places!"] = {
full_category_link = "{{glossary|obsolete}} [[form]]s of [[name]]s of [[place]]s",
bare_category_breadcrumb = "obsolete forms",
bare_category_parent = "places",
},
["OBSOLETE_FORM_OF place"] = {
link = false,
default = {"Obsolete forms of places"},
},
---------- Official names ----------
["official names of countries!"] = {
full_category_link = "[[official]] [[name]]s of [[country|countries]]",
bare_category_breadcrumb = "quốc gia",
bare_category_parent = "official names of places",
},
["official names of former countries!"] = {
full_category_link = "[[official]] [[name]]s of [[country|countries]] that no longer [[exist]]",
bare_category_breadcrumb = "quốc gia",
bare_category_parent = "official names of former places",
},
["official names of former places!"] = {
full_category_link = "[[official]] [[name]]s of [[place]]s that no longer [[exist]]",
bare_category_breadcrumb = "official names",
bare_category_parent = "former places",
addl_bare_category_parents = {{name = "official names of places", sort = "former"}},
},
["official names of places!"] = {
full_category_link = "[[official]] [[name]]s of [[place]]s",
bare_category_breadcrumb = "official names",
bare_category_parent = "places",
},
["OFFICIAL_NAME_OF country"] = {
link = false,
default = {"Official names of countries"},
},
["OFFICIAL_NAME_OF FORMER country"] = {
link = false,
default = {"Official names of former countries"},
},
["OFFICIAL_NAME_OF FORMER place"] = {
link = false,
default = {"Official names of former places"},
},
["OFFICIAL_NAME_OF place"] = {
link = false,
default = {"Official names of places"},
},
---------- Official nicknames ----------
["official nicknames for places!"] = {
full_category_link = "[[official]] [[nickname]]s for [[place]]s",
bare_category_breadcrumb = "official",
bare_category_parent = "nicknames for places",
},
["official nicknames for states!"] = {
-- For categorizing official nicknames for states of e.g. the United States
full_category_link = "[[official]] [[nicknames]] for [[state]]s",
bare_category_breadcrumb = "official",
bare_category_parent = "nicknames for states",
addl_bare_category_parents = {"states"},
},
["OFFICIAL_NICKNAME_FOR place"] = {
link = false,
default = {"Official nicknames for places"},
},
["OFFICIAL_NICKNAME_FOR state"] = {
link = false,
default = {"Official nicknames for states"},
},
}
export.plural_placetype_to_singular = {}
for sg_placetype, spec in pairs(export.placetype_data) do
if spec.plural then
export.plural_placetype_to_singular[spec.plural] = sg_placetype
end
end
return export
kvw79hluutn0o6hnz9dvtf1162gfm6q
𐨀𐨁𐨡𐨣𐨁
0
288229
2463277
2117044
2026-07-19T03:39:06Z
Hiyuune
50834
2463277
wikitext
text/x-wiki
=={{langname|pgd}}==
==={{section|etym}}===
{{sa-root|lang=pgd|c=1|इ}}
{{dercat|pgd|sa|inh=1}}
Kế thừa từ {{inherited|pgd|inc-ash|𐨀𐨁𐨡𐨣𐨁}}.
==={{section|adv}}===
{{head|pgd|Phó từ}}
# {{C|pgd|Hiện tại}} [[bây giờ|Bây giờ]].
#: {{synonyms|pgd|𐨣𐨂|𐨀𐨗|𐨀𐨯𐨂𐨣|𐨣𐨂𐨣|𐨀𐨅𐨡𐨪𐨱𐨁}}
==={{section|further}}===
* {{R:Gandhari|idani}}
=={{langname|inc-ash}}==
==={{section|etym}}===
{{sa-root|lang=inc-ash|c=1|इ}}
Kế thừa từ {{inherited|inc-ash|sa|इदानीम्|tr=idā́nīm}}. Cùng gốc với {{cognate|pi|idānī}}, {{mention|pi|dāni}}.
==={{section|adv}}===
{{h|inc-ash|Phó từ}}
# {{C|inc-ash|Hiện tại}} [[bây giờ|Bây giờ]].
#: {{synonyms|inc-ash|𑀅𑀥𑀼𑀦𑀸}}
===={{section|alt}}====
{{inc-ash-dial|𑀇𑀤𑀸𑀦𑀺}}
===={{section|drv}}====
* {{l|inc-ash|*𐨀𐨁𐨡𐨣𐨁 𐨀𐨅𐨬}}
** {{desc|elu-prk|-}}
*** {{desc|dv|ދެންމެ}}
*** {{desc|si|දැන්ම}}
===={{section|desc}}====
* {{desc|pgd|𐨀𐨁𐨡𐨣𐨁}}
* {{desc|elu-prk|-}}
** {{desc|dv|ދެން}}
** {{desc|si|දැන්}}
* {{desc|pra-niy|𐨀𐨁𐨡𐨣𐨁}}
==={{section|further}}===
* {{R:inc-ash:Hultzsch|236}}
* {{R:inc:CGMIA|129}}
* {{R:CDIAL|idani|page=71}}
=={{langname|pra-niy}}==
==={{section|etym}}===
{{sa-root|lang=pra-niy|c=1|इ}}
{{dercat|pra-niy|sa|inh=1}}
Kế thừa từ {{inherited|pra-niy|inc-ash|𐨀𐨁𐨡𐨣𐨁}}.
==={{section|adv}}===
{{head|pra-niy|Phó từ}}
# {{C|pra-niy|Hiện tại}} [[bây giờ|Bây giờ]].
#: {{synonyms|pra-niy|𐨀𐨱𐨂𐨣𐨆}}
===={{section|alt}}====
* {{alter|pra-niy|𐨀𐨁𐨟𐨣𐨁}}
==={{section|further}}===
* {{R:CDIAL|idani|page=71}}
5lz2ep4012da6xqlmrhc7ia17azt80f
维修
0
288257
2463167
2117155
2026-07-18T14:00:07Z
Hiyuune
50834
/* */ [[User:Apisite]] Using zh-see to simplified Chinese.
2463167
wikitext
text/x-wiki
{{also|維修}}
=={{langname|zh}}==
{{zh-see|維修}}
l5nwhx8z4a7hm8w8humc7nf9q2iv6lw
Thảo luận Thành viên:جيمي
3
289107
2463461
2119905
2026-07-19T10:43:26Z
Neriah
44324
Neriah đã đổi [[Thảo luận Thành viên:أيوب]] thành [[Thảo luận Thành viên:جيمي]]: Tự động di chuyển trang khi đổi tên thành viên “[[Special:CentralAuth/أيوب|أيوب]]” thành “[[Special:CentralAuth/جيمي|جيمي]]”
2119905
wikitext
text/x-wiki
{| width="100%" cellspacing="2" cellpadding="2" style="background: #F8F8FF; border: 1px solid #ddddee;"
|-
| colspan="6" style="background: #FFE4B5;" |[[Hình:Nuvola apps kteatime.png|40px]]<big> [[Wiktionary:Giới thiệu|Xin chào]] [[Thành viên:{{PAGENAME}}|{{PAGENAME}}]]!</big>
|-
| colspan="6" style="padding-left: 30px"|
[[Hình:Nuvola apps bookcase.png|24px]] [[Wiktionary|Wiktionary tiếng Việt]] đến nay đã có '''{{formatnum:{{#switch:
| 1 = 113704
| 2 = <strong class="error"><span class="scribunto-error" id="mw-scribunto-error-0">Lỗi kịch bản: Không tìm thấy mô đun “Thống kê Wiktionary/2”.</span></strong>
| 3 | #default = {{NUMBEROFARTICLES}}
}}}}''' mục từ, đó là kết quả đóng góp quý báu của rất nhiều thành viên trong Wiktionary, mà mọi người đều bắt đầu như bạn. Bạn đã khởi đầu rất tốt và mong rằng bạn sẽ mang đến những [[Đặc biệt:Đóng góp/{{PAGENAME}}|đóng góp]] có giá trị cho quyển từ điển mở này.
|-
| colspan="6" style="padding-left: 130px"|
[[Hình:Nuvola apps edu languages.svg|60px]]
|-
| colspan="6" style="padding-left: 30px"|
Mời bạn [[Wiktionary:Trang thành viên|giới thiệu về bản thân]] tại trang [[Thành viên:{{PAGENAME}}]].<br>Khi thảo luận, bạn nhớ ký tên bằng cách dùng 4 dấu ngã <nowiki>~~~~</nowiki>!.
|-
| colspan="3" width="50%" style="padding-left: 30px"|
<font color="red"><big> Bạn hãy nhớ các nguyên tắc</big></font><br>
[[Hình:Nuvola apps important.svg|20px]] [[Từ điển|chỉ viết những gì thuộc từ điển]], <br>
[[Hình:Nuvola camera.svg|20px]] không tải lên hình ảnh thiếu nguồn gốc, <br>
[[Hình:Red copyright.svg|20px]] [[Wiktionary:Quyền tác giả|không vi phạm quyền tác giả]].
| colspan="3" width="50%" style="padding-left: 30px"|
<font color="green"><big>Đầu tiên bạn nên mạnh dạn</big></font> <br>
[[Hình:Nuvola apps keyboard.png|20px]] [[Trợ giúp:Tìm kiếm|thử mọi liên kết mà bạn muốn]],<br>
[[Hình:Nuvola apps kig.png|20px]] viết thử thoải mái [[Wiktionary:Chỗ thử|tại đây]],<br>
[[Hình:Gnome-help.svg|20px]] [[Wiktionary:Bàn giúp đỡ|đề nghị giúp đỡ của bất cứ ai]].
|-
|colspan="6" style="padding-left: 30px"|
Những chỉ dẫn có ích: [[Wiktionary:Câu thường hỏi|các câu thường hỏi]], [[Wiktionary:Viết trang mới|cách viết mục từ mới]], [[Trợ giúp:Sửa đổi|soạn thảo mục từ]], và [[Trợ giúp:Mục lục|những hướng dẫn khác]].<br>
'''Welcome''' to the Vietnamese Wiktionary, and thank you for registering! If you do not speak Vietnamese, feel free to use our [[Wiktionary:Guestbook for non-Vietnamese speakers|guestbook for non-Vietnamese speakers]].<br>
¡'''Bienvenido''' al Wikcionario vietnamita y gracias por registrarse! Si usted no habla vietnamita, puede utilizar nuestro [[Wiktionary:Guestbook for non-Vietnamese speakers|libro de visitas para los hablantes no vietnamitas]].
|-
| colspan="6" style="border-top:2px solid #faecc8;" |
Lời khuyên cuối cùng, bạn hãy làm lần lượt: [[Wiktionary:Chỗ thử|thử]], [[Wiktionary:Chào mừng người mới đến|đọc]], [[Wiktionary:Bàn giúp đỡ|hỏi]] rồi hẵng [[Wiktionary:Viết trang mới|viết]]. Chúc bạn thành công.
|} [[Thành viên:P. ĐĂNG|Phong Đăng]] ([[Thảo luận Thành viên:P. ĐĂNG|thảo luận]]) 15:00, ngày 14 tháng 8 năm 2023 (UTC)
nbj9w4yamqjp9j52zht8jtuxqeqd6do
Mô đun:mn-headword
828
291479
2463182
2318536
2026-07-18T16:03:56Z
TheHighFighter2
42988
2463182
Scribunto
text/plain
local export = {}
local lang = require("Module:languages").getByCode("mn")
local mn = require("Module:mn-common")
local params = {
["head"] = {}, --with no diacritics I don't think we'll need more than one head
["cat"] = {list = true},
[1] = {list = true}
}
local function get_script(args)
return lang:findBestScript(args["head"] or mw.loadData("Module:headword/data").pagename)
end
local function otherscript(inflections, args, sc, categories)
if #args[1] < 1 then
if sc then
if sc:getCode() == "Mong" then
end
end
return
end
local other_sc
local scripts = {
m = "Mong",
c = "Cyrl",
Mong = true,
Cyrl = true,
}
if scripts[args[1][1]] then
other_sc = require("Module:scripts").getByCode(scripts[args[1][1]])
table.remove(args[1], 1)
require("Module:debug").track("mn-headword/script-param")
else
other_sc = lang:findBestScript(args[1][1])
end
if sc and sc:getCode() == other_sc:getCode() then
error("The headword and the alternative spelling should be in different scripts.")
end
local spelling = {label = "chính tả " .. other_sc:getCanonicalName(), sc = other_sc, enable_auto_translit=true}
for i, arg in ipairs(args[1]) do
table.insert(spelling, arg)
end
table.insert(inflections, spelling)
end
local function categorize(args)
local cats = args["cat"]
local categories = {}
if cats then
for i, arg in ipairs(cats) do
table.insert(categories, arg .. " " .. lang:getCanonicalName())
end
end
if (args["head"] or mw.loadData("Module:headword/data").pagename):find(" ") then
table.insert(categories, "Mục từ có chứa nhiều từ " .. lang:getCanonicalName())
elseif mw.ustring.sub( mw.loadData("Module:headword/data").pagename, 1, 1 ) ~= "-" and get_script(args):getCode() == "Cyrl" then
table.insert(categories, "Từ " .. #mn.syllables( mw.loadData("Module:headword/data").pagename ) .. " âm tiết " .. lang:getCanonicalName() )
end
return categories
end
function export.basic(frame)
local args = require("Module:parameters").process(frame:getParent().args, params)
local inflections = {}
local categories = categorize(args)
local sc = get_script(args)
otherscript(inflections, args, sc, categories)
local data = {lang = lang, sc = sc, heads = {args["head"]}, genders = nil, inflections = inflections, pos_category = frame.args[1], categories = categories, sort_key = nil}
return require("Module:headword").full_headword(data)
end
function export.noun(frame)
params["pl"] = {list = true}
params["dec"] = {}
local args = require("Module:parameters").process(frame:getParent().args, params)
local sc = get_script(args)
local inflections = {}
local categories = categorize(args)
local declension = ""
otherscript(inflections, args, sc, categories)
if #args["pl"] > 0 then
local plurals = {label = "số nhiều xác định"}
for i, pl in ipairs(args["pl"]) do
table.insert(plurals, pl)
end
table.insert(inflections, plurals)
end
if args["dec"] then
declension = "; <small><i>("
if args["dec"] == "r" then
declension = declension .. "regular declension"
table.insert(categories, lang:getCanonicalName() .. " regular declension nouns")
elseif args["dec"] == "n" then
declension = declension .. "hidden-n declension"
table.insert(categories, lang:getCanonicalName() .. " hidden-n declension nouns")
elseif args["dec"] == "g" then
declension = declension .. "hidden-g declension"
table.insert(categories, lang:getCanonicalName() .. " hidden-g declension nouns")
elseif args["dec"] == "m" then
declension = declension .. "mixed declension"
table.insert(categories, lang:getCanonicalName() .. " mixed declension nouns")
else
--error("non-existent declension")
end
declension = declension .. ")</i></small>"
end
local data = {lang = lang, sc = sc, heads = {args["head"]}, genders = nil, inflections = inflections, pos_category = "Danh từ", categories = categories, sort_key = nil}
return require("Module:headword").full_headword(data) .. declension
end
function export.verb(frame)
params["caus"] = {list = true}
params["pass"] = {list = true}
local args = require("Module:parameters").process(frame:getParent().args, params)
local inflections = {}
local categories = categorize(args)
local sc = get_script(args)
otherscript(inflections, args, sc, categories)
if #args["caus"] > 0 then
causatives = {label = "gây khiến"}
for i, x in ipairs(args["caus"]) do
table.insert(causatives, x)
end
table.insert(inflections, causatives)
end
if #args["pass"] > 0 then
passives = {label = "bị động"}
for i, x in ipairs(args["pass"]) do
table.insert(passives, x)
end
table.insert(inflections, passives)
end
local data = {lang = lang, sc = sc, heads = {args["head"]}, genders = nil, inflections = inflections, pos_category = "Động từ", categories = categories, sort_key = nil}
return require("Module:headword").full_headword(data)
end
return export
euyxfvczdxxmye1aacsogg8egku1r24
цагаан толгой
0
291701
2463181
2128259
2026-07-18T15:50:33Z
TheHighFighter2
42988
2463181
wikitext
text/x-wiki
=={{langname|mn}}==
==={{ĐM|noun}}===
{{mn-noun|ᠴᠠᠭᠠᠨ ᠲᠣᠯᠤᠭᠠᠢ|cat2=Từ ghép}}
# [[bảng chữ cái|Bảng chữ cái]].
# [[sách|Sách]] [[vỡ lòng]].
cvxftv0f1rwx656algb7onr08i6hgj0
2463185
2463181
2026-07-18T16:08:49Z
TheHighFighter2
42988
/* Danh từ */ (sử dụng [[MediaWiki:Gadget-AjaxEdit.js|AjaxEdit]])
2463185
wikitext
text/x-wiki
=={{langname|mn}}==
==={{ĐM|noun}}===
{{mn-noun|ᠴᠠᠭᠠᠨ ᠲᠣᠯᠤᠭᠠᠢ|cat2=Từ ghép}}
# [[bảng chữ cái|Bảng chữ cái]].
#: {{ux|mn|[[латин цагаан толгой]]|bảng chữ cái Latinh}}
# [[sách|Sách]] [[vỡ lòng]].
==={{ĐM|see}}===
* {{l|mn|үсэг|t=[[chữ cái]], [[chữ viết]]}}
{{C|mn|Viết}}
h4vqzsguf6vtwumj24guxe5km5biwl9
Mô đun:families/canonical names
828
291753
2463178
2462940
2026-07-18T15:05:01Z
TheHighFighter2
42988
2463178
Scribunto
text/plain
return {
["Adamawa"] = "alv-ada",
["Admiralty Islands"] = "poz-aay",
["Aizi"] = "kro-aiz",
["Alacalufan"] = "aqa",
["Almora"] = "sit-alm",
["Ao"] = "sit-aao",
["Apachean"] = "apa",
["Arafundi"] = "paa-arf",
["Arai-Samaia"] = "paa-asa",
["Arandic"] = "aus-rnd",
["Arauan"] = "auf",
["Araucanian"] = "sai-ara",
["Armenian"] = "hyx",
["Arnhem"] = "aus-arn",
["Asturleonese"] = "roa-asl",
["Athabaskan"] = "ath",
["Axioid"] = "tbq-axi",
["Ayere-Ahan"] = "alv-aah",
["Aymaran"] = "sai-aym",
["Bafia"] = "bnt-baf",
["Bafo-Bonkeng"] = "bnt-bbo",
["Baga"] = "alv-bag",
["Bagirmi"] = "csu-bgr",
["Baining"] = "paa-bng",
["Bak"] = "alv-bak",
["Baka"] = "nic-nkb",
["Bambukic"] = "alv-bam",
["Bamileke"] = "bai",
["Banda"] = "bad",
["Bangi-Moi"] = "bnt-bmo",
["Bangi-Ntomba"] = "bnt-bnm",
["Bangi-Tetela"] = "bnt-bte",
["Banyum"] = "alv-bny",
["Barbacoan"] = "sai-bar",
["Bari"] = "sdv-bri",
["Basa"] = "nic-bas",
["Batak"] = "btk",
["Bati-Angba"] = "bnt-bta",
["Be"] = "qfa-onb",
["Beboid"] = "nic-beb",
["Bekwilic"] = "bnt-bek",
["Bena-Kinga"] = "bnt-bki",
["Bendi"] = "nic-ben",
["Beromic"] = "nic-beo",
["Beti"] = "bnt-btb",
["Bhil"] = "inc-bhi",
["Bi-Ka"] = "tbq-bka",
["Bikwin-Jen"] = "alv-bwj",
["Birri-Kresh"] = "csu-bkr",
["Bisoid"] = "tbq-bis",
["Boan"] = "bnt-boa",
["Bodo-Garo"] = "tbq-bdg",
["Boma-Dzing"] = "bnt-bdz",
["Bongo-Bagirmi"] = "csu-bba",
["Bongo-Baka"] = "csu-bbk",
["Boran"] = "sai-bor",
["Botatwe"] = "bnt-bot",
["Bua"] = "alv-bua",
["Buja-Ngombe"] = "bnt-bun",
["Buli-Koma"] = "nic-buk",
["Bunuban"] = "aus-bub",
["Bushoong"] = "bnt-bsh",
["Bwa"] = "nic-bwa",
["Bété"] = "kro-bet",
["Bình thoại"] = "zhx-pin",
["Caddoan"] = "cdd",
["Cahuapanan"] = "sai-cah",
["Cangin"] = "alv-cng",
["Caspian"] = "ira-csp",
["Catacaoan"] = "sai-ctc",
["Catawban"] = "nai-cat",
["Central Banda"] = "bad-cnt",
["Central Delta"] = "nic-cde",
["Central Dravidian"] = "dra-cen",
["Central Great Andamanese"] = "qfa-adc",
["Central Indo-Aryan"] = "inc-cen",
["Central Iranian"] = "ira-cen",
["Central Jê"] = "sai-cje",
["Central Kiranti"] = "sit-kic",
["Central Maluku"] = "poz-cma",
["Central Mande"] = "dmn-mdc",
["Central New South Wales"] = "aus-cww",
["Central Ring"] = "nic-rnc",
["Central Sudanic"] = "csu",
["Central Tano"] = "alv-ctn",
["Central Teke"] = "bnt-tkc",
["Central Tivoid"] = "nic-tvc",
["Cerrado"] = "sai-cer",
["Chaga"] = "bnt-chg",
["Chaga-Taita"] = "bnt-cht",
["Chapacuran"] = "sai-cpc",
["Charruan"] = "sai-crn",
["Chatino"] = "omq-cha",
["Chibchan"] = "cba",
["Chimakuan"] = "chi",
["Chinantecan"] = "omq-chi",
["Chinookan"] = "nai-ckn",
["Chitrali"] = "inc-chi",
["Chocoan"] = "sai-chc",
["Chokwe-Luchazi"] = "bnt-clu",
["Chonan"] = "sai-cho",
["Chumashan"] = "nai-chu",
["Circassian"] = "cau-cir",
["Comorian"] = "bnt-com",
["Continental Celtic"] = "cel-con",
["Coosan"] = "nai-coo",
["Cross River"] = "nic-cri",
["Cuicatec"] = "omq-cui",
["Cupan"] = "azc-cup",
["Dagbani"] = "nic-dag",
["Daju"] = "sdv-daj",
["Dakoid"] = "nic-dak",
["Dakotan"] = "sio-dkt",
["Dalmatian Romance"] = "roa-dal",
["Daly"] = "aus-dal",
["Dargwa"] = "cau-drg",
["Delta Edoid"] = "alv-dlt",
["Dene-Yeniseian"] = "qfa-dny",
["Dhegihan"] = "sio-dhe",
["Dhimalish"] = "sit-dhi",
["Dida"] = "kro-did",
["Dinka-Nuer"] = "sdv-dnu",
["Dogon"] = "qfa-dgn",
["Downriver Phula"] = "tbq-drp",
["Duru"] = "alv-dur",
["Dyirbalic"] = "aus-dyb",
["East Geelvink Bay"] = "paa-egb",
["East Germanic"] = "gme",
["East Manding"] = "dmn-emn",
["East Ometo"] = "omv-eom",
["East Plateau"] = "nic-ple",
["East Tsezian"] = "cau-ets",
["East-West Upper Cross River"] = "nic-uce",
["Eastern Beboid"] = "nic-bbe",
["Eastern Central Sudanic"] = "csu-ecs",
["Eastern Dardic"] = "inc-dre",
["Eastern Gbaya"] = "alv-gbf",
["Eastern Grassfields"] = "nic-gre",
["Eastern Gurunsi"] = "nic-gne",
["Eastern Hindi"] = "inc-hie",
["Eastern Jebel"] = "sdv-eje",
["Eastern Kiranti"] = "sit-kie",
["Eastern Kru"] = "kro-ekr",
["Eastern Ngbaka"] = "nic-nke",
["Eastern Nilotic"] = "sdv-nie",
["Eastern Oti-Volta"] = "nic-eov",
["Eastern Polynesian"] = "poz-pep",
["Eastern Romance"] = "roa-eas",
["Eastern Samur"] = "cau-esm",
["Eastern Sudanic"] = "sdv",
["Ede"] = "alv-ede",
["Edekiri"] = "alv-edk",
["Edo-Esan-Ora"] = "alv-eeo",
["Ekoid"] = "nic-eko",
["Engan"] = "paa-eng",
["Escarpment Dogon"] = "nic-dge",
["Eskimo"] = "esx-esk",
["Fali"] = "alv-fli",
["Finisterre"] = "ngf-fin",
["French Sign Languages"] = "sgn-fsl",
["Frisian"] = "gmw-fri",
["Fula-Wolof"] = "alv-fwo",
["Fur"] = "ssa-fur",
["Furu"] = "nic-fru",
["Ga-Dangme"] = "alv-gda",
["Gallo-Italic"] = "roa-git",
["Garawan"] = "aus-gar",
["Gbanziri"] = "nic-nkg",
["Gbaya"] = "alv-gba",
["Gelao"] = "qfa-gel",
["German Sign Languages"] = "sgn-gsl",
["Ghana-Togo Mountain"] = "alv-gtm",
["Goidelic"] = "cel-gae",
["Gondi"] = "dra-gon",
["Gondi-Kui"] = "dra-gki",
["Gonga"] = "omv-gon",
["Grassfields"] = "nic-grf",
["Great Andamanese"] = "qfa-adm",
["Great Lakes Bantu"] = "bnt-glb",
["Greater Siangic"] = "sit-gsi",
["Grebo"] = "kro-grb",
["Guahiban"] = "sai-guh",
["Guaicuruan"] = "sai-guc",
["Guang"] = "alv-gng",
["Guianan"] = "sai-gui",
["Gunwinyguan"] = "aus-gun",
["Gur"] = "nic-gur",
["Gurma"] = "nic-grm",
["Gurunsi"] = "nic-gns",
["Halmahera-Cenderawasih"] = "poz-hce",
["Harákmbut"] = "sai-har",
["Harákmbut-Katukinan"] = "sai-hkt",
["Haya-Jita"] = "bnt-haj",
["Highland Phula"] = "tbq-hph",
["Hill Nubian"] = "nub-hil",
["Hispano-Celtic"] = "cel-his",
["Hmong"] = "hmn",
["Hokan"] = "hok",
["Hrusish"] = "sit-hrs",
["Hurro-Urartian"] = "qfa-hur",
["Ibibio-Efik"] = "nic-ief",
["Idomoid"] = "alv-ido",
["Igboid"] = "alv-igb",
["Ijoid"] = "ijo",
["Insular Indo-Aryan"] = "inc-ins",
["Insular Scandinavian"] = "gmq-ins",
["Inuit"] = "esx-inu",
["Irish Anglo-Norman"] = "gmw-ian",
["Iroquoian"] = "iro",
["Irula-Muduga"] = "dra-imd",
["Italo-Dalmatian"] = "roa-itd",
["Japanese Sign Languages"] = "sgn-jsl",
["Jarawa"] = "nic-jrw",
["Jarawan"] = "nic-jrn",
["Jarrakan"] = "aus-jar",
["Jera"] = "nic-jer",
["Jicaquean"] = "nai-jcq",
["Jingphoic"] = "sit-jnp",
["Jino"] = "tbq-jin",
["Jirajaran"] = "sai-jir",
["Jogo-Jeri"] = "dmn-jje",
["Jola"] = "alv-jol",
["Jola-Felupe"] = "alv-jfe",
["Jê"] = "sai-jee",
["Ka-Togo"] = "alv-ktg",
["Kaba"] = "csu-kab",
["Kachin-Luic"] = "sit-jpl",
["Kadu"] = "qfa-kad",
["Kainantu-Goroka"] = "paa-kag",
["Kako"] = "bnt-kak",
["Kalahari Khoe"] = "khi-kal",
["Kalamian"] = "phi-kal",
["Kalapuyan"] = "nai-klp",
["Kalenjin"] = "sdv-kln",
["Kambari"] = "nic-kam",
["Kamuku"] = "nic-kmk",
["Karaboro"] = "alv-krb",
["Karnic"] = "aus-kar",
["Kashmiric"] = "inc-kas",
["Katloid"] = "nic-ktl",
["Katukinan"] = "sai-ktk",
["Kavango"] = "bnt-kav",
["Kavango-Southwest Bantu"] = "bnt-ksb",
["Kazhuoish"] = "tbq-kzh",
["Kele"] = "bnt-kel",
["Kele-Tsogo"] = "bnt-kts",
["Keresan"] = "nai-ker",
["Khanty"] = "kca",
["Kho-Bwa"] = "sit-khb",
["Khoe"] = "khi-kho",
["Khoe-Kwadi"] = "khi-kkw",
["Khoekhoe"] = "khi-khk",
["Kikuyu-Kamba"] = "bnt-kka",
["Kilombero"] = "bnt-kil",
["Kim"] = "alv-kim",
["Kimbundu"] = "bnt-kmb",
["Kinnauric"] = "sit-kin",
["Kipchak-Cuman"] = "trk-kcu",
["Kiranti"] = "sit-kir",
["Kissi"] = "alv-kis",
["Kiwaian"] = "paa-kiw",
["Kodagu"] = "dra-kod",
["Kohistani"] = "inc-koh",
["Kolami-Naiki"] = "dra-knk",
["Komisenian"] = "ira-kms",
["Komo-Bira"] = "bnt-kbi",
["Konda-Kui"] = "dra-kki",
["Kongo"] = "bnt-kng",
["Konyak"] = "sit-kon",
["Konyak-Chang"] = "sit-kch",
["Koraga"] = "dra-kor",
["Kpala"] = "nic-nkk",
["Kpwe"] = "bnt-kpw",
["Kra"] = "qfa-kra",
["Kuikuroan"] = "sai-kui",
["Kulango"] = "alv-kul",
["Kuliak"] = "ssa-klk",
["Kunar"] = "inc-kun",
["Kurukh-Malto"] = "dra-kml",
["Kwomtari"] = "paa-kwm",
["Kx'a"] = "khi-kxa",
["Kyirong-Kagate"] = "sit-kyk",
["Kyrgyz-Kipchak"] = "trk-kkp",
["Lagoon"] = "alv-lag",
["Lahoish"] = "tbq-lho",
["Lahuli-Spiti"] = "sit-las",
["Lakes Plain"] = "paa-lkp",
["Lalo"] = "tbq-lal",
["Lampungic"] = "poz-lgx",
["Land Dayak"] = "day",
["Lawoish"] = "tbq-lwo",
["Lebonya"] = "bnt-leb",
["Left May"] = "qfa-mal",
["Lega-Binja"] = "bnt-lgb",
["Leko"] = "alv-lek",
["Leko-Nimbari"] = "alv-lni",
["Lenape"] = "del",
["Lencan"] = "nai-len",
["Lendu"] = "csu-lnd",
["Lezghian"] = "cau-lzg",
["Limba"] = "alv-lim",
["Lipo-Lolopo"] = "tbq-llo",
["Lisoish"] = "tbq-lso",
["Logooli-Kuria"] = "bnt-lok",
["Lotuko-Maa"] = "sdv-lma",
["Low German"] = "gmw-lgm",
["Lower Cross River"] = "nic-lcr",
["Lower Sepik"] = "paa-lsp",
["Luba"] = "bnt-lub",
["Luban"] = "bnt-lbn",
["Luish"] = "sit-luu",
["Lunda"] = "bnt-lun",
["Luo"] = "sdv-luo",
["Luwic"] = "ine-luw",
["Macro-Chibchan"] = "qfa-mch",
["Macro-Jê"] = "sai-mje",
["Madang"] = "ngf-mad",
["Madiya"] = "dra-mdy",
["Maiduan"] = "nai-mdu",
["Mairasi"] = "paa-mai",
["Makaa"] = "bnt-mka",
["Makaa-Njem"] = "bnt-mnj",
["Makua"] = "bnt-mak",
["Malayalamoid"] = "dra-mal",
["Malto"] = "dra-mlo",
["Mambiloid"] = "nic-mmb",
["Mamfe"] = "nic-mam",
["Manding"] = "dmn-man",
["Manding-Jogo"] = "dmn-mjo",
["Manding-Mokole"] = "dmn-mmo",
["Manding-Vai"] = "dmn-mva",
["Manenguba"] = "bnt-mne",
["Mangbetu"] = "csu-maa",
["Mangbutu-Lese"] = "csu-mle",
["Maninka"] = "dmn-mnk",
["Mano-Dan"] = "dmn-mda",
["Mao"] = "omv-mao",
["Mapoyan"] = "sai-map",
["Mari"] = "chm",
["Maringic"] = "sit-mar",
["Masaba-Luhya"] = "bnt-msl",
["Mascoian"] = "sai-mas",
["Mataco-Guaicuru"] = "sai-mgc",
["Matacoan"] = "sai-mtc",
["Mazanderani-Shahmirzadi"] = "ira-msh",
["Mazatecan"] = "omq-maz",
["Mba"] = "nic-mbc",
["Mbaka"] = "nic-nkm",
["Mbam"] = "nic-mba",
["Mbete"] = "bnt-mbt",
["Mbeya"] = "bnt-mby",
["Mbinga"] = "bnt-mbi",
["Mbole-Enya"] = "bnt-mbe",
["Mboshi"] = "bnt-mbo",
["Mboshi-Buja"] = "bnt-mbb",
["Mbugwe-Rangi"] = "bnt-mra",
["Mbum"] = "alv-mbm",
["Mbum-Day"] = "alv-mbd",
["Median"] = "xme",
["Mel"] = "alv-mel",
["Micronesian"] = "poz-mic",
["Midzu"] = "sit-mdz",
["Mijikenda"] = "bnt-mij",
["Mirndi"] = "aus-mir",
["Mississippi Valley Siouan"] = "sio-msv",
["Missouri River Siouan"] = "sio-mor",
["Misumalpan"] = "nai-min",
["Mixe-Zoquean"] = "nai-miz",
["Mokole"] = "dmn-mok",
["Momo"] = "nic-mom",
["Mondzish"] = "sit-mnz",
["Mongo"] = "bnt-mon",
["Mordvinic"] = "urj-mdv",
["Moru-Madi"] = "csu-mma",
["Moré"] = "nic-mre",
["Mruic"] = "sit-mru",
["Muji"] = "tbq-muj",
["Mumuye"] = "alv-mum",
["Mumuye-Yendang"] = "alv-mye",
["Munji-Yidgha"] = "ira-mny",
["Muran"] = "sai-mur",
["Muria"] = "dra-mur",
["Muskogean"] = "nai-mus",
["Mwika"] = "bnt-mwi",
["Mân"] = "zhx-min",
["Mân Nam"] = "zhx-nan",
["Mân nội địa"] = "zhx-inm",
["Mân ven biển"] = "zhx-com",
["Na-Dene"] = "xnd",
["Na-Togo"] = "alv-ntg",
["Nadahup"] = "sai-nad",
["Naic"] = "sit-nax",
["Naish"] = "sit-nas",
["Nalu"] = "alv-nal",
["Nambikwaran"] = "sai-nmk",
["Nanaic"] = "tuw-nan",
["Nandi-Markweta"] = "sdv-nma",
["Nanga-Walo"] = "nic-nwa",
["Nasoid"] = "tbq-nas",
["Ndzem-Bomwali"] = "bnt-ndb",
["Nenets"] = "yrk",
["New Caledonian"] = "poz-cln",
["Newaric"] = "sit-new",
["Ngayarda"] = "aus-nga",
["Ngbaka"] = "nic-ngk",
["Ngbandi"] = "nic-ngd",
["Ngemba"] = "nic-nge",
["Ngondi-Ngiri"] = "bnt-ngn",
["Nguni"] = "bnt-ngu",
["Nilotic"] = "sdv-nil",
["Nimboran"] = "paa-nim",
["Ninzic"] = "nic-nin",
["Nisoish"] = "tbq-nso",
["Nisu"] = "tbq-nis",
["Nkambe"] = "nic-nka",
["North Athabaskan"] = "ath-nor",
["North Bougainville"] = "paa-nbo",
["North Dravidian"] = "dra-nor",
["North Halmahera"] = "paa-nha",
["North Iroquoian"] = "iro-nor",
["North Ometo"] = "omv-nom",
["North Plateau Dogon"] = "nic-npd",
["North Sarawakan"] = "poz-swa",
["North Siberian Turkic"] = "trk-nsb",
["North-Central Vanuatu"] = "poz-vnc",
["North-South Upper Cross River"] = "nic-ucn",
["Northeast Bantu"] = "bnt-bne",
["Northeast Coast Bantu"] = "bnt-ncb",
["Northeastern Neo-Aramaic"] = "sem-nna",
["Northern Eastern Sudanic"] = "sdv-nes",
["Northern Great Andamanese"] = "qfa-adn",
["Northern Gurunsi"] = "nic-gnn",
["Northern Jê"] = "sai-nje",
["Northern Luo"] = "sdv-lon",
["Northern Nuristani"] = "nur-nor",
["Northern Ring"] = "nic-rnn",
["Northern Tivoid"] = "nic-tvn",
["Northern Yeniseian"] = "qfa-yno",
["Northwest Kainji"] = "nic-knn",
["Northwestern Edoid"] = "alv-nwd",
["Northwestern Indo-Aryan"] = "inc-nwe",
["Northwestern Mande"] = "dmn-mnw",
["Nubian"] = "nub",
["Nun"] = "nic-nun",
["Nupe-Gbagyi"] = "alv-ngb",
["Nupoid"] = "alv-nup",
["Nuristani"] = "iir-nur",
["Nusoish"] = "tbq-nus",
["Nwa-Beng"] = "dmn-nbe",
["Nyali"] = "bnt-nya",
["Nyanga-Buyi"] = "bnt-nyb",
["Nyima"] = "sdv-nyi",
["Nyoro-Ganda"] = "bnt-nyg",
["Nyulnyulan"] = "aus-nyu",
["Nyun"] = "alv-nyn",
["Nzebi"] = "bnt-nze",
["Occitano-Romance"] = "roa-ocr",
["Ogoni"] = "nic-ogo",
["Ohio Valley Siouan"] = "sio-ohv",
["Ok"] = "ngf-okk",
["Old South Arabian"] = "sem-osa",
["Ometo"] = "omv-ome",
["Oti-Volta"] = "nic-ovo",
["Oto-Pamean"] = "omq-otp",
["Otomacoan"] = "sai-otm",
["Otomi"] = "oto-otm",
["Otomian"] = "oto",
["Ovambo"] = "bnt-ova",
["Oïl"] = "roa-oil",
["Pacific Coast Athabaskan"] = "ath-pco",
["Pakanic"] = "mkh-pkn",
["Pakawan"] = "nai-pak",
["Palaihnihan"] = "nai-pal",
["Papel"] = "alv-pap",
["Pare"] = "bnt-par",
["Parji-Gadaba"] = "dra-pgd",
["Parukotoan"] = "sai-prk",
["Pashayi"] = "inc-pas",
["Pathan"] = "ira-pat",
["Pauwasi"] = "paa-pau",
["Pekodian"] = "sai-pek",
["Pemongan"] = "sai-pem",
["Pende"] = "bnt-pen",
["Permic"] = "urj-prm",
["Phla-Pherá"] = "alv-pph",
["Phowa"] = "tbq-phw",
["Plains Dogon"] = "nic-pld",
["Plateau Penutian"] = "nai-plp",
["Pomeranian"] = "zlw-pom",
["Pomo-Bomwali"] = "bnt-pob",
["Pomoan"] = "nai-pom",
["Popolocan"] = "omq-pop",
["Potou-Tano"] = "alv-ptn",
["Prakrit"] = "pra",
["Punjabi-Lahnda"] = "inc-pan",
["Qiangic"] = "sit-qia",
["Quan thoại"] = "zhx-man",
["Quảng Châu"] = "zhx-yue",
["Ramu"] = "paa-ram",
["Rashad"] = "nic-ras",
["Rgyalrongic"] = "sit-rgy",
["Rhaeto-Romance"] = "roa-rhe",
["Ring"] = "nic-rng",
["Riverine Phula"] = "tbq-rph",
["Romani"] = "inc-rom",
["Rufiji-Ruvuma"] = "bnt-rur",
["Rukwa"] = "bnt-ruk",
["Rungwe"] = "bnt-run",
["Ruvu"] = "bnt-ruv",
["Ruvuma"] = "bnt-rvm",
["Sabaki"] = "bnt-sab",
["Sabi"] = "bnt-sbi",
["Sahaptian"] = "nai-shp",
["Saharan"] = "ssa-sah",
["Sakan"] = "xsc-sak",
["Sal"] = "tbq-bkj",
["Samo"] = "dmn-sam",
["Samogo"] = "dmn-smg",
["Samur"] = "cau-sam",
["Sanglechi-Ishkashimi"] = "ira-sgi",
["Sara"] = "csu-sar",
["Sawabantu"] = "bnt-saw",
["Sena"] = "bnt-sna",
["Senari"] = "alv-snr",
["Sentani"] = "paa-sen",
["Sere"] = "nic-ser",
["Seuta"] = "bnt-seu",
["Shastan"] = "nai-shs",
["Shi-Havu"] = "bnt-shh",
["Shinaic"] = "inc-shn",
["Shiroro"] = "nic-shi",
["Shona"] = "bnt-sho",
["Shughni-Yazghulami"] = "ira-shy",
["Siberian Turkic"] = "trk-sib",
["Siloid"] = "tbq-sil",
["Sindhi"] = "inc-snd",
["Siouan"] = "sio",
["Siouan-Catawban"] = "nai-sca",
["Sisaala"] = "nic-sis",
["Sko"] = "paa-msk",
["Slavey"] = "den",
["Sogdic"] = "ira-sgc",
["Sogdo-Bactrian"] = "ira-sbc",
["Soko-Kele"] = "bnt-ske",
["Soninke-Bobo"] = "dmn-snb",
["Sorbian"] = "wen",
["Sotho-Tswana"] = "bnt-sts",
["South Bird's Head"] = "ngf-sbh",
["South Bougainville"] = "paa-sbo",
["South Plateau"] = "nic-pls",
["South Siberian Turkic"] = "trk-ssb",
["South Sulawesi"] = "poz-ssw",
["Southeastern Aramaic"] = "sem-ase",
["Southeastern Mande"] = "dmn-mse",
["Southern Bantu"] = "bnt-bso",
["Southern Gbaya"] = "alv-gbs",
["Southern Great Andamanese"] = "qfa-ads",
["Southern Indo-Aryan"] = "inc-sou",
["Southern Jê"] = "sai-sje",
["Southern Luo"] = "sdv-los",
["Southern Nilotic"] = "sdv-nis",
["Southern Nuristani"] = "nur-sou",
["Southern Samur"] = "cau-ssm",
["Southern Yeniseian"] = "qfa-yso",
["Southwest Bantu"] = "bnt-swb",
["Southwest Grassfields"] = "nic-grs",
["Southwestern Edoid"] = "alv-swd",
["Southwestern Mande"] = "dmn-msw",
["Sunda-Sulawesi"] = "poz-sus",
["Suppire-Mamara"] = "alv-sma",
["Susu-Yalunka"] = "dmn-sya",
["Swahili"] = "bnt-swh",
["Ta-Arawakan"] = "awd-taa",
["Tacanan"] = "sai-tac",
["Tagwana-Djimini"] = "alv-tdj",
["Takama"] = "bnt-tkm",
["Takic"] = "azc-tak",
["Talodi"] = "alv-tal",
["Taloid"] = "tbq-tal",
["Taman"] = "sdv-tmn",
["Tamil-Kodagu"] = "dra-tkd",
["Tamil-Malayalam"] = "dra-tml",
["Tamiloid"] = "dra-tam",
["Tangkhul-Maring"] = "sit-tma",
["Tangkic"] = "aus-tnk",
["Tangsa-Nocte"] = "sit-tno",
["Tani"] = "sit-tan",
["Taracahitic"] = "azc-trc",
["Taranoan"] = "sai-tar",
["Tarokoid"] = "nic-tar",
["Tatic"] = "xme-ttc",
["Teke"] = "bnt-tek",
["Teke-Mbede"] = "bnt-tmb",
["Tenda"] = "alv-ten",
["Tequistlatecan"] = "nai-tqn",
["Teso-Turkana"] = "sdv-ttu",
["Tetela"] = "bnt-tet",
["Ticuna-Yuri"] = "sai-tyu",
["Timor-Alor-Pantar"] = "qfa-tap",
["Tocharian"] = "ine-toc",
["Toda-Kota"] = "dra-tkt",
["Tomini-Tolitoli"] = "poz-tot",
["Tor-Kwerba"] = "paa-tkw",
["Torricelli"] = "qfa-tor",
["Totozoquean"] = "nai-tot",
["Trans-New Guinea"] = "ngf",
["Tsezian"] = "cau-tsz",
["Tshangla"] = "sit-tsk",
["Tsimshianic"] = "nai-tsi",
["Tsogo"] = "bnt-tso",
["Tswa-Ronga"] = "bnt-tsr",
["Tucanoan"] = "sai-tuc",
["Tupi-Guarani"] = "tup-gua",
["Tuu"] = "khi-tuu",
["Ubangian"] = "nic-ubg",
["Ugric"] = "urj-ugr",
["Upper Cross River"] = "nic-ucr",
["Upriver Phula"] = "tbq-urp",
["Uru-Chipaya"] = "sai-ucp",
["Utian"] = "nai-utn",
["Vai-Kono"] = "dmn-vak",
["Vainakh"] = "cau-vay",
["Vale"] = "csu-val",
["Venezuelan Cariban"] = "sai-ven",
["Waja-Kam"] = "alv-wjk",
["Wakashan"] = "wak",
["Wara-Natyoro"] = "alv-wan",
["Wee"] = "kro-wee",
["West Baltic"] = "bat-wes",
["West Dogon"] = "nic-dgw",
["West Himalayish"] = "sit-whm",
["West Manding"] = "dmn-wmn",
["West Mbam"] = "nic-mbw",
["West Papuan"] = "paa-wpa",
["West Tsezian"] = "cau-wts",
["Western Gbaya"] = "alv-gbw",
["Western Gurunsi"] = "nic-gnw",
["Western Hindi"] = "inc-hiw",
["Western Kiranti"] = "sit-kiw",
["Western Kru"] = "kro-wkr",
["Western Mande"] = "dmn-mdw",
["Western Ngbaka"] = "nic-nkw",
["Western Nilotic"] = "sdv-niw",
["Western Oti-Volta"] = "nic-wov",
["Western Pahari"] = "him",
["Western Ring"] = "nic-rnw",
["Western Samur"] = "cau-wsm",
["Wichí"] = "sai-wic",
["Wintuan"] = "nai-wtq",
["Witotoan"] = "sai-wit",
["Worrorran"] = "aus-wor",
["Yaka"] = "bnt-yak",
["Yam"] = "paa-yam",
["Yambasa"] = "nic-ymb",
["Yangmanic"] = "aus-yng",
["Yanomami"] = "sai-ynm",
["Yasa-Kombe"] = "bnt-yko",
["Yeniseian"] = "qfa-yen",
["Yidinyic"] = "aus-yid",
["Yok-Utian"] = "nai-you",
["Yokuts"] = "yok",
["Yolngu"] = "aus-yol",
["Yom-Nawdm"] = "nic-yon",
["Yoruba"] = "alv-yor",
["Yoruboid"] = "alv-yrd",
["Yuat"] = "paa-yua",
["Yuin-Kuric"] = "aus-yuk",
["Yukian"] = "nai-ykn",
["Yukpan"] = "sai-yuk",
["Yukubenic"] = "nic-ykb",
["Yungur"] = "alv-yun",
["Yupik"] = "ypk",
["Zamba-Binza"] = "bnt-zbi",
["Zamucoan"] = "sai-zam",
["Zan"] = "ccs-zan",
["Zande"] = "znd",
["Zaparoan"] = "sai-zap",
["Zapotec"] = "omq-zpc",
["Zapotecan"] = "omq-zap",
["Zeme"] = "sit-zem",
["constructed"] = "art",
["contact"] = "qfa-cnt",
["creole or pidgin"] = "crp",
["mixed"] = "qfa-mix",
["ngôn ngữ cơ tầng"] = "qfa-sub",
["Ngữ hệ Ainu"] = "qfa-ain",
["Ngữ hệ Algic"] = "aql",
["Ngữ hệ Arawak"] = "awd",
["Ngữ hệ Carib"] = "sai-car",
["Ngữ hệ Chukotka-Kamchatka"] = "qfa-cka",
["Ngữ hệ Dravida"] = "dra",
["Ngữ hệ Hmông-Miền"] = "hmx",
["Ngữ hệ Huarpe"] = "sai-hrp",
["Ngữ hệ Hán-Tạng"] = "sit",
["Ngữ hệ Iwaidja"] = "aus-wdj",
["Ngữ hệ Iwam"] = "paa-iwm",
["Ngữ hệ Jivaro"] = "sai-jiv",
["Ngữ hệ Kartvelia"] = "ccs",
["Ngữ hệ Kiowa-Tanoa"] = "nai-kta",
["Ngữ hệ Kra-Dai"] = "qfa-tak",
["Ngữ hệ Maya"] = "myn",
["Ngữ hệ Mông Cổ"] = "xgn",
["Ngữ hệ Nam Á"] = "aav",
["Ngữ hệ Nam Đảo"] = "map",
["Ngữ hệ Nhật Bản-Lưu Cầu"] = "jpx",
["Ngữ hệ Niger-Congo"] = "nic",
["Ngữ hệ Nin-Sahara"] = "ssa",
["Ngữ hệ Oto-Mangue"] = "omq",
["Ngữ hệ Pama–Nyungar"] = "aus-pam",
["Ngữ hệ Pano-Tacana"] = "sai-pat",
["Ngữ hệ Papua"] = "paa",
["Ngữ hệ Phi-Á"] = "afa",
["Ngữ hệ Quechua"] = "qwe",
["Ngữ hệ Salish"] = "sal",
["Ngữ hệ Sepik"] = "paa-sep",
["Ngữ hệ Thượng Tami"] = "paa-brd",
["Ngữ hệ Tiên Ti-Mông Cổ"] = "qfa-xgs",
["Ngữ hệ Totonac"] = "nai-ttn",
["Ngữ hệ Triều Tiên"] = "qfa-kor",
["Ngữ hệ Tungus"] = "tuw",
["Ngữ hệ Tupi"] = "tup",
["Ngữ hệ Turk"] = "trk",
["Ngữ hệ Tyrseni"] = "qfa-tyn",
["Ngữ hệ Tây Bắc Kavkaz"] = "cau-nwc",
["Ngữ hệ Ural"] = "urj",
["Ngữ hệ Ute-Aztec"] = "azc",
["Ngữ hệ Vascon"] = "euq",
["Ngữ hệ Xinca"] = "nai-xin",
["Ngữ hệ Yukaghir"] = "qfa-yuk",
["Ngữ hệ Yuman-Cochimí"] = "nai-yuc",
["Ngữ hệ vùng vịnh Papua"] = "paa-pag",
["Ngữ hệ Önge"] = "qfa-ong",
["Ngữ hệ Đông Bắc Kavkaz"] = "cau-nec",
["Ngữ hệ Ấn-Âu"] = "ine",
["Ngữ tộc Mixtec"] = "omq-mix",
["Nhóm ngôn ngữ Aari"] = "omv-aro",
["Nhóm ngôn ngữ Abenaki-Penobscot"] = "alg-abp",
["Nhóm ngôn ngữ Abkhaz-Abaza"] = "cau-abz",
["Nhóm ngôn ngữ Ai Cập"] = "egx",
["Nhóm ngôn ngữ Albani"] = "sqj",
["Nhóm ngôn ngữ Algonquin"] = "alg",
["Nhóm ngôn ngữ Alumic"] = "nic-alu",
["Nhóm ngôn ngữ Andic"] = "cau-and",
["Nhóm ngôn ngữ Angami-Pochuri"] = "tbq-anp",
["Nhóm ngôn ngữ Anh"] = "gmw-ang",
["Nhóm ngôn ngữ Anh-Frisia"] = "gmw-afr",
["Nhóm ngôn ngữ Aram"] = "sem-ara",
["Nhóm ngôn ngữ Aram Tây"] = "sem-arw",
["Nhóm ngôn ngữ Aram Đông"] = "sem-are",
["Nhóm ngôn ngữ Arapahoe"] = "alg-ara",
["Nhóm ngôn ngữ Asli"] = "mkh-asl",
["Nhóm ngôn ngữ Atayal"] = "map-ata",
["Nhóm ngôn ngữ Avar-Andic"] = "cau-ava",
["Nhóm ngôn ngữ Bahnar"] = "mkh-ban",
["Nhóm ngôn ngữ Bahnar Bắc"] = "mkh-nbn",
["Nhóm ngôn ngữ Balt-Slav"] = "ine-bsl",
["Nhóm ngôn ngữ Bantoid"] = "nic-bod",
["Nhóm ngôn ngữ Bantoid-Cross"] = "nic-bcr",
["Nhóm ngôn ngữ Bantu"] = "bnt",
["Nhóm ngôn ngữ Basaa"] = "bnt-bsa",
["Nhóm ngôn ngữ Bengal-Assam"] = "inc-bas",
["Nhóm ngôn ngữ Benue-Congo"] = "nic-bco",
["Nhóm ngôn ngữ Berber"] = "ber",
["Nhóm ngôn ngữ Bihar"] = "inc-bih",
["Nhóm ngôn ngữ Bisa-Busa"] = "dmn-bbu",
["Nhóm ngôn ngữ Bod"] = "sit-bdi",
["Nhóm ngôn ngữ Bod Đông"] = "sit-ebo",
["Nhóm ngôn ngữ Britton"] = "cel-bry",
["Nhóm ngôn ngữ Bungku-Tolaki"] = "poz-btk",
["Nhóm ngôn ngữ Bạch"] = "sit-bai",
["Nhóm ngôn ngữ Bạch Bắc"] = "sit-nba",
["Nhóm ngôn ngữ Bắc Bantoid"] = "nic-bdn",
["Nhóm ngôn ngữ Bắc Borneo"] = "poz-bnn",
["Nhóm ngôn ngữ Bắc Lưu Cầu"] = "jpx-nry",
["Nhóm ngôn ngữ Bắc Ấn-Arya"] = "inc-nor",
["Nhóm ngôn ngữ Bắc-Trung Edoid"] = "alv-nce",
["Nhóm ngôn ngữ Bố Ương"] = "qfa-buy",
["Nhóm ngôn ngữ Bối-Cát Triệu"] = "qfa-bej",
["Nhóm ngôn ngữ Bối-Thái"] = "qfa-bet",
["Nhóm ngôn ngữ Canaan"] = "sem-can",
["Nhóm ngôn ngữ Castilla"] = "roa-cas",
["Nhóm ngôn ngữ Celebes"] = "poz-clb",
["Nhóm ngôn ngữ Celt"] = "cel",
["Nhóm ngôn ngữ Celt hải đảo"] = "cel-ins",
["Nhóm ngôn ngữ Chukotka"] = "qfa-ckn",
["Nhóm ngôn ngữ Châu Đại Dương"] = "poz-oce",
["Nhóm ngôn ngữ Chăm"] = "cmc",
["Nhóm ngôn ngữ Cushit"] = "cus",
["Nhóm ngôn ngữ Cơ Tu"] = "mkh-kat",
["Nhóm ngôn ngữ Dard"] = "inc-dar",
["Nhóm ngôn ngữ Dizi"] = "omv-diz",
["Nhóm ngôn ngữ Edoid"] = "alv-edo",
["Nhóm ngôn ngữ Eskimo-Aleut"] = "esx",
["Nhóm ngôn ngữ Ewenic"] = "tuw-ewe",
["Nhóm ngôn ngữ Finn"] = "urj-fin",
["Nhóm ngôn ngữ Gbe"] = "alv-gbe",
["Nhóm ngôn ngữ German"] = "gem",
["Nhóm ngôn ngữ German Biển Bắc"] = "gmw-nsg",
["Nhóm ngôn ngữ German Bắc"] = "gmq",
["Nhóm ngôn ngữ German Tây"] = "gmw",
["Nhóm ngôn ngữ Gruzia-Zan"] = "ccs-gzn",
["Nhóm ngôn ngữ Heiban"] = "alv-hei",
["Nhóm ngôn ngữ Hlai"] = "qfa-lic",
["Nhóm ngôn ngữ Hà Nhì"] = "tbq-han",
["Nhóm ngôn ngữ Hán"] = "zhx",
["Nhóm ngôn ngữ Hán-Bạch"] = "sit-sba",
["Nhóm ngôn ngữ Hạ Franken"] = "gmw-frk",
["Nhóm ngôn ngữ Iberia-Rôman"] = "roa-ibe",
["Nhóm ngôn ngữ Iran"] = "ira",
["Nhóm ngôn ngữ Jukunoid"] = "nic-jkn",
["Nhóm ngôn ngữ Kaili-Pamona"] = "poz-kal",
["Nhóm ngôn ngữ Kainji"] = "nic-knj",
["Nhóm ngôn ngữ Kannada"] = "dra-kan",
["Nhóm ngôn ngữ Karen"] = "kar",
["Nhóm ngôn ngữ Karluk"] = "trk-kar",
["Nhóm ngôn ngữ Kauru"] = "nic-kau",
["Nhóm ngôn ngữ Kham"] = "sit-kha",
["Nhóm ngôn ngữ Khasi"] = "aav-khs",
["Nhóm ngôn ngữ Khmer"] = "mkh-kmr",
["Nhóm ngôn ngữ Khơ Mú"] = "mkh-khm",
["Nhóm ngôn ngữ Kipchak"] = "trk-kip",
["Nhóm ngôn ngữ Kipchak-Bulgar"] = "trk-kbu",
["Nhóm ngôn ngữ Kipchak-Nogai"] = "trk-kno",
["Nhóm ngôn ngữ Koman"] = "ssa-kom",
["Nhóm ngôn ngữ Kru"] = "kro",
["Nhóm ngôn ngữ Kuki-Chin"] = "tbq-kuk",
["Nhóm ngôn ngữ Kurd"] = "ku",
["Nhóm ngôn ngữ Kutubuan"] = "paa-kut",
["Nhóm ngôn ngữ Kwa"] = "alv-kwa",
["Nhóm ngôn ngữ Ladakh-Balti"] = "sit-lab",
["Nhóm ngôn ngữ Lechite"] = "zlw-lch",
["Nhóm ngôn ngữ Liên Mông Cổ"] = "qfa-xgx",
["Nhóm ngôn ngữ Lô Lô"] = "tbq-lol",
["Nhóm ngôn ngữ Lô Lô Bắc"] = "tbq-nlo",
["Nhóm ngôn ngữ Lô Lô Nam"] = "tbq-slo",
["Nhóm ngôn ngữ Lô Lô Đông Nam"] = "tbq-sel",
["Nhóm ngôn ngữ Lô Lô–Miến"] = "tbq-lob",
["Nhóm ngôn ngữ Lưu Cầu"] = "jpx-ryu",
["Nhóm ngôn ngữ Mande"] = "dmn",
["Nhóm ngôn ngữ Manobo"] = "mno",
["Nhóm ngôn ngữ Mansi"] = "mns",
["Nhóm ngôn ngữ Masa"] = "cdc-mas",
["Nhóm ngôn ngữ Media-Parthia"] = "ira-mpr",
["Nhóm ngôn ngữ Mixtec"] = "omq-mxt",
["Nhóm ngôn ngữ Miến"] = "tbq-brm",
["Nhóm ngôn ngữ Miến-Khương"] = "tbq-buq",
["Nhóm ngôn ngữ Miền"] = "hmx-mie",
["Nhóm ngôn ngữ Monguor"] = "mjg",
["Nhóm ngôn ngữ Muna-Buton"] = "poz-mun",
["Nhóm ngôn ngữ Munda"] = "mun",
["Nhóm ngôn ngữ Mã Lai"] = "poz-mly",
["Nhóm ngôn ngữ Mã Lai-Chăm"] = "poz-mcm",
["Nhóm ngôn ngữ Mã Lai-Sumbawa"] = "poz-msa",
["Nhóm ngôn ngữ Mã Lai-Đa Đảo"] = "poz",
["Nhóm ngôn ngữ Mã Lai-Đa Đảo Trung-Đông"] = "poz-cet",
["Nhóm ngôn ngữ Mã Lai-Đa Đảo Đông"] = "pqe",
["Nhóm ngôn ngữ Môn"] = "mkh-mnc",
["Nhóm ngôn ngữ Môn-Khmer"] = "mkh",
["Nhóm ngôn ngữ Mảng"] = "mkh-mng",
["Nhóm ngôn ngữ Nahua"] = "azc-nah",
["Nhóm ngôn ngữ Nahua Durango"] = "azc-dur",
["Nhóm ngôn ngữ Nahua Huasteca"] = "azc-hua",
["Nhóm ngôn ngữ Nakh"] = "cau-nkh",
["Nhóm ngôn ngữ Nam Bantoid"] = "nic-bds",
["Nhóm ngôn ngữ Nam Cushit"] = "cus-sou",
["Nhóm ngôn ngữ Nam Dravida"] = "dra-sou",
["Nhóm ngôn ngữ Nam Dravida I"] = "dra-sdo",
["Nhóm ngôn ngữ Nam Dravida II"] = "dra-sdt",
["Nhóm ngôn ngữ Nam Lưu Cầu"] = "jpx-sry",
["Nhóm ngôn ngữ Nam Mông Cổ"] = "xgn-sou",
["Nhóm ngôn ngữ Nam Ả Rập hiện đại"] = "sem-sar",
["Nhóm ngôn ngữ Nawiki"] = "awd-nwk",
["Nhóm ngôn ngữ Nicobar"] = "aav-nic",
["Nhóm ngôn ngữ Numic"] = "azc-num",
["Nhóm ngôn ngữ Nung"] = "sit-nng",
["Nhóm ngôn ngữ Nyasa"] = "bnt-nys",
["Nhóm ngôn ngữ Nữ Chân"] = "tuw-jrc",
["Nhóm ngôn ngữ Oghur"] = "trk-ogr",
["Nhóm ngôn ngữ Oghuz"] = "trk-ogz",
["Nhóm ngôn ngữ Omo"] = "omv",
["Nhóm ngôn ngữ Ormur-Parachi"] = "ira-orp",
["Nhóm ngôn ngữ Osco-Umbria"] = "itc-sbl",
["Nhóm ngôn ngữ Pahari"] = "inc-pah",
["Nhóm ngôn ngữ Palaung"] = "mkh-pal",
["Nhóm ngôn ngữ Paman"] = "aus-pmn",
["Nhóm ngôn ngữ Pano"] = "sai-pan",
["Nhóm ngôn ngữ Pear"] = "mkh-pea",
["Nhóm ngôn ngữ Philippines"] = "phi",
["Nhóm ngôn ngữ Piman"] = "azc-pim",
["Nhóm ngôn ngữ Plateau"] = "nic-plt",
["Nhóm ngôn ngữ Platoid"] = "nic-pla",
["Nhóm ngôn ngữ Pnar-Khasi-Lyngngam"] = "aav-pkl",
["Nhóm ngôn ngữ Rajasthan"] = "raj",
["Nhóm ngôn ngữ Rôman"] = "roa",
["Nhóm ngôn ngữ Sa Pa-Thái Tây Nam"] = "tai-sap",
["Nhóm ngôn ngữ Sabah"] = "poz-san",
["Nhóm ngôn ngữ Sac-Fox-Kickapoo"] = "alg-sfk",
["Nhóm ngôn ngữ Saka-Wakhi"] = "xsc-skw",
["Nhóm ngôn ngữ Saluan-Banggai"] = "poz-slb",
["Nhóm ngôn ngữ Sama-Bajaw"] = "poz-sbj",
["Nhóm ngôn ngữ Sami"] = "smi",
["Nhóm ngôn ngữ Samoyed"] = "syd",
["Nhóm ngôn ngữ Sarmatia"] = "xsc-sar",
["Nhóm ngôn ngữ Savanna"] = "alv-sav",
["Nhóm ngôn ngữ Scythia"] = "xsc",
["Nhóm ngôn ngữ Selkup"] = "sel",
["Nhóm ngôn ngữ Semit"] = "sem",
["Nhóm ngôn ngữ Semit Ethiopia"] = "sem-eth",
["Nhóm ngôn ngữ Semit Trung"] = "sem-cen",
["Nhóm ngôn ngữ Semit Tây"] = "sem-wes",
["Nhóm ngôn ngữ Semit Tây Bắc"] = "sem-nwe",
["Nhóm ngôn ngữ Semit Đông"] = "sem-eas",
["Nhóm ngôn ngữ Senegambia"] = "alv-sng",
["Nhóm ngôn ngữ Senufo"] = "alv-snf",
["Nhóm ngôn ngữ Shirongol"] = "xgn-shr",
["Nhóm ngôn ngữ Shughni-Roshani"] = "ira-shr",
["Nhóm ngôn ngữ Shughni-Yazghulami-Munji"] = "ira-sym",
["Nhóm ngôn ngữ Sira"] = "bnt-sir",
["Nhóm ngôn ngữ Slav Nam"] = "zls",
["Nhóm ngôn ngữ Slav Tây"] = "zlw",
["Nhóm ngôn ngữ Slav Đông"] = "zle",
["Nhóm ngôn ngữ Somali"] = "cus-som",
["Nhóm ngôn ngữ Songhay"] = "son",
["Nhóm ngôn ngữ Talodi-Heiban"] = "alv-the",
["Nhóm ngôn ngữ Tamang"] = "sit-tam",
["Nhóm ngôn ngữ Tamil-Kannada"] = "dra-tkn",
["Nhóm ngôn ngữ Tangkhul"] = "sit-tng",
["Nhóm ngôn ngữ Tchad"] = "cdc",
["Nhóm ngôn ngữ Telugu"] = "dra-tel",
["Nhóm ngôn ngữ Thái"] = "tai",
["Nhóm ngôn ngữ Thái Bắc"] = "tai-nor",
["Nhóm ngôn ngữ Thái Sùng Tả"] = "tai-cho",
["Nhóm ngôn ngữ Thái Trung tâm"] = "tai-cen",
["Nhóm ngôn ngữ Thái Tây Nam"] = "tai-swe",
["Nhóm ngôn ngữ Thái-Long"] = "sit-cln",
["Nhóm ngôn ngữ Thổ Gia"] = "sit-tja",
["Nhóm ngôn ngữ Timor"] = "poz-tim",
["Nhóm ngôn ngữ Tivoid"] = "nic-tiv",
["Nhóm ngôn ngữ Tiểu Á"] = "ine-ana",
["Nhóm ngôn ngữ Triqui"] = "omq-tri",
["Nhóm ngôn ngữ Trung Cushit"] = "cus-cen",
["Nhóm ngôn ngữ Trung Mông Cổ"] = "xgn-cen",
["Nhóm ngôn ngữ Trung Plateau"] = "nic-plc",
["Nhóm ngôn ngữ Trung Tchad"] = "cdc-cbm",
["Nhóm ngôn ngữ Trung Thái Bình Dương"] = "poz-pcc",
["Nhóm ngôn ngữ Trung-Đông Châu Đại Dương"] = "poz-occ",
["Nhóm ngôn ngữ Tsou"] = "map-tsu",
["Nhóm ngôn ngữ Tulu-Koraga"] = "dra-tlk",
["Nhóm ngôn ngữ Turk chung"] = "trk-cmn",
["Nhóm ngôn ngữ Tày"] = "tai-tay",
["Nhóm ngôn ngữ Tân Aram Trung"] = "sem-cna",
["Nhóm ngôn ngữ Tây Barito"] = "poz-brw",
["Nhóm ngôn ngữ Tây Britton"] = "cel-brw",
["Nhóm ngôn ngữ Tây Bắc Iran"] = "ira-nwi",
["Nhóm ngôn ngữ Tây Bắc Sumatra"] = "poz-nws",
["Nhóm ngôn ngữ Tây Châu Đại Dương"] = "poz-ocw",
["Nhóm ngôn ngữ Tây Iran"] = "ira-wes",
["Nhóm ngôn ngữ Tây Nam Britton"] = "cel-brs",
["Nhóm ngôn ngữ Tây Nam Iran"] = "ira-swi",
["Nhóm ngôn ngữ Tây Nam Pama–Nyungar"] = "aus-psw",
["Nhóm ngôn ngữ Tây Rôman"] = "roa-wes",
["Nhóm ngôn ngữ Tây Scandinavia"] = "gmq-wes",
["Nhóm ngôn ngữ Tây Tchad"] = "cdc-wst",
["Nhóm ngôn ngữ Tây Ấn-Aryan"] = "inc-wes",
["Nhóm ngôn ngữ Tạng"] = "sit-tib",
["Nhóm ngôn ngữ Tạng-Miến"] = "tbq",
["Nhóm ngôn ngữ Udeghe"] = "tuw-udg",
["Nhóm ngôn ngữ Việt"] = "mkh-vie",
["Nhóm ngôn ngữ Volta-Congo"] = "nic-vco",
["Nhóm ngôn ngữ Volta-Niger"] = "alv-von",
["Nhóm ngôn ngữ Văn Ma-Thái Tây Nam"] = "tai-wen",
["Nhóm ngôn ngữ Wotu-Wolio"] = "poz-wot",
["Nhóm ngôn ngữ Yekhee"] = "alv-yek",
["Nhóm ngôn ngữ Zaza-Goran"] = "ira-zgr",
["Nhóm ngôn ngữ biệt lập"] = "qfa-iso",
["Nhóm ngôn ngữ gốc Balt"] = "bat",
["Nhóm ngôn ngữ gốc Hy Lạp"] = "grk",
["Nhóm ngôn ngữ gốc Slav"] = "sla",
["Nhóm ngôn ngữ gốc Ý"] = "itc",
["Nhóm ngôn ngữ Ý-Tây Rôman"] = "roa-iwr",
["Nhóm ngôn ngữ Đa Đảo"] = "poz-pol",
["Nhóm ngôn ngữ Đa Đảo hạt nhân"] = "poz-pnp",
["Nhóm ngôn ngữ Đông Algonquin"] = "alg-eas",
["Nhóm ngôn ngữ Đông Balt"] = "bat-eas",
["Nhóm ngôn ngữ Đông Barito"] = "poz-bre",
["Nhóm ngôn ngữ Đông Bắc Iran"] = "ira-nei",
["Nhóm ngôn ngữ Đông Cushit"] = "cus-eas",
["Nhóm ngôn ngữ Đông Cushit Cao nguyên"] = "cus-hec",
["Nhóm ngôn ngữ Đông Kainji"] = "nic-kne",
["Nhóm ngôn ngữ Đông Mande"] = "dmn-mde",
["Nhóm ngôn ngữ Đông Nam Iran"] = "ira-sei",
["Nhóm ngôn ngữ Đông Nam Solomon"] = "poz-sls",
["Nhóm ngôn ngữ Đông Scandinavia"] = "gmq-eas",
["Nhóm ngôn ngữ Đông Tchad"] = "cdc-est",
["Nhóm ngôn ngữ Đông Ấn-Arya"] = "inc-eas",
["Nhóm ngôn ngữ Đại Bạch"] = "sit-mba",
["Nhóm ngôn ngữ Đại Magar"] = "sit-gma",
["Nhóm ngôn ngữ Đại Tây Dương-Congo"] = "alv",
["Nhóm ngôn ngữ Động-Thủy"] = "qfa-kms",
["Nhóm ngôn ngữ Đức cao địa"] = "gmw-hgm",
["Nhóm ngôn ngữ Ả Rập"] = "sem-arb",
["Nhóm ngôn ngữ Ấn-Arya"] = "inc",
["Nhóm ngôn ngữ Ấn-Arya cổ"] = "inc-old",
["Nhóm ngôn ngữ Ấn-Arya trung đại"] = "inc-mid",
["Nhóm ngôn ngữ Ấn-Iran"] = "iir",
["not a family"] = "qfa-not",
["sign"] = "sgn",
["Tiếng Hindustan"] = "inc-hnd",
}
jn3zy73sk3ol9v5ihmlbazxqes5qtvp
โยงเยง
0
297951
2463240
2143344
2026-07-19T00:55:18Z
WhoAlone
40420
2463240
wikitext
text/x-wiki
{{-thm-}}
{{-pron-}}
* {{IPA4|thm|/joŋ.jeŋ/|[joːŋ.jeːŋ]}}
{{-noun-}}
{{head|thm|Danh từ|tr=yongyeng}}
# [[xe đạp]].
{{c|thm|Phương tiện giao thông}}
s2gynpkgsg6z1cp5g4yttcqmkaoivkb
Thể loại:Chữ cái tiếng Taz
14
305006
2463238
2159823
2026-07-19T00:24:59Z
WhoAlone
40420
2463238
wikitext
text/x-wiki
{{auto cat}}
eomzlm5v4j7ond1phrju7cnue91g5qx
世事
0
307512
2463290
2169211
2026-07-19T04:38:12Z
Hiyuune
50834
2463290
wikitext
text/x-wiki
=={{langname|zh}}==
{{zh-forms}}
==={{ĐM|pron}}===
{{zh-pron
|m=shìshì
|c=sai3 si6
|h=pfs=sṳ-sṳ
|md=sié-*sê̤ṳ
|mn=xm,tw:sè-sū/qz:sè-sīr/zz:sì-sū
|mn-t=si3 se7
|cat=n
}}
==={{ĐM|n}}===
{{head|zh|Danh từ}}
# [[thế sự|Thế sự]], sự [[đời]], việc đời, việc [[thế gian]] hiện nay.
i0hykifm9us8xxuo285gy5gcy6km2l8
Mên
0
319272
2463164
2191465
2026-07-18T13:50:31Z
TheHighFighter2
42988
2463164
wikitext
text/x-wiki
{{also|Phụ lục:Biến thể của "men"}}
=={{langname|mkh-mvi}}==
==={{ĐM|pr-noun}}===
{{head|mkh-mvi|Danh từ riêng}}
# {{l|vi|Cao Miên}}.
#: {{synonym|mkh-mvi|Cao Mên}}
===={{ĐM|desc}}====
* {{desc|vi|Miên}}
==={{ĐM|ref}}===
* {{R:VBL}}
m5c2iaffm78wioptgjjo81kwke71b6q
2463172
2463164
2026-07-18T14:19:33Z
TheHighFighter2
42988
2463172
wikitext
text/x-wiki
{{also|Phụ lục:Biến thể của "men"}}
=={{langname|vi}}==
{{wp|vi:Maine}}
==={{ĐM|etym}}===
Từ {{bor|vi|en|Maine}}.
==={{ĐM|pron}}===
{{vi-IPA}}
==={{ĐM|pr-noun}}===
{{vi-proper noun}}
# [[Maine]] {{gloss|một [[tiểu bang]] của [[Hoa Kỳ]]}}.
===={{ĐM|see}}====
{{bảng:USA/vi}}
=={{langname|mkh-mvi}}==
==={{ĐM|pr-noun}}===
{{head|mkh-mvi|Danh từ riêng}}
# {{l|vi|Cao Miên}}.
#: {{synonym|mkh-mvi|Cao Mên}}
===={{ĐM|desc}}====
* {{desc|vi|Miên}}
==={{ĐM|ref}}===
* {{R:VBL}}
32m2nab6ojickblq38wjv0mz8rb98nl
2463177
2463172
2026-07-18T14:55:11Z
TheHighFighter2
42988
/* Danh từ riêng */ (sử dụng [[MediaWiki:Gadget-AjaxEdit.js|AjaxEdit]])
2463177
wikitext
text/x-wiki
{{also|Phụ lục:Biến thể của "men"}}
=={{langname|vi}}==
{{wp|vi:Maine}}
==={{ĐM|etym}}===
Từ {{bor|vi|en|Maine}}.
==={{ĐM|pron}}===
{{vi-IPA}}
==={{ĐM|pr-noun}}===
{{vi-proper noun}}
# [[Maine]] {{gloss|một [[tiểu bang]] của [[Hoa Kỳ]]}}.
#* {{quote-web|vi|date=27-10-2023|title=THỜI SỰ 6H SÁNG 27/10/2023: xác định nguyên nhân vụ cháy tại xã Tứ Hiệp,...
|site=VOV|url=https://vov.gov.vn/thoi-su-6h-sang-27102023-xac-dinh-nguyen-nhan-vu-chay-tai-xa-tu-hiep-huyen-than-dtnew-528748|passage=- Ít nhất 18 người chết và 13 người bị thương trong một vụ xả súng ở bang '''Mên''' của Mỹ vào tối 26/10 theo giờ địa phương.}}
===={{ĐM|see}}====
{{bảng:USA/vi}}
=={{langname|mkh-mvi}}==
==={{ĐM|pr-noun}}===
{{head|mkh-mvi|Danh từ riêng}}
# {{l|vi|Cao Miên}}.
#: {{synonym|mkh-mvi|Cao Mên}}
===={{ĐM|desc}}====
* {{desc|vi|Miên}}
==={{ĐM|ref}}===
* {{R:VBL}}
luz6y6u3wm1tiqm68wiqkzij4vz5exf
Thể loại:Mục từ tiếng Fala
14
320731
2463310
2194175
2026-07-19T06:04:06Z
Hiyuune
50834
2463310
wikitext
text/x-wiki
{{auto cat}}
eomzlm5v4j7ond1phrju7cnue91g5qx
Mô đun:category tree/topic/Names
828
324858
2463463
2327717
2026-07-19T10:43:54Z
Hiyuune
50834
2463463
Scribunto
text/plain
local labels = {}
local handlers = {}
labels["Tên gọi"] = {
type = "chủ đề thuộc nhóm liên quan",
description = "{{{langname}}} names for a variety of things.",
additional = "Given names and surnames can be found in [[:Category:Names by language]].",
parents = {"Tất cả chủ đề"},
}
labels["letter names"] = {
type = "name",
description = "{{{langname}}} terms that are the names of letters.",
additional = "Ideally entries should be in a subcategory for the names of letters in a particular script.",
parents = {"names", "letters, symbols, and punctuation"},
}
-- Handler for "SCRIPT letter names".
table.insert(handlers, function(label)
local script = label:match("^(.*) letter names$")
if script then
local sc = require("Module:scripts").getByCanonicalName(script)
if sc then
local script_page
local appendix = ("Phu lục:Chữ %s"):format(script)
local appendix_title = mw.title.new(appendix)
if appendix_title and appendix_title.exists then
script_page = appendix
else
script_page = "w:" .. sc:getWikipediaArticle()
end
local link = ("[[%s|%s script]]"):format(script_page, script)
return {
type = "name",
description = ("{{{langname}}} terms that serve as names for letters and symbols directly based on letters, " ..
"such as [[ligature]]s and letters with [[diacritic]]s, of the %s."):format(link),
parents = {"letter names"},
}
end
end
end)
labels["couple nicknames"] = {
type = "name",
description = "{{{langname}}} informal names for pairs of people, especially [[celebrity]] [[couple]]s.",
additional = "For fictional relationships, see [[:Category:Ships (fandom)]].",
parents = {"nicknames", "people"},
}
labels["foreign personal names"] = {
type = "name",
description = "Transliterations, respellings or other renderings of personal names into {{{langname}}}.",
umbrella = {
description = "Transliterations, respellings or other renderings of personal names.",
},
parents = {"names"},
}
labels["named prayers"] = {
type = "name",
description = "=[[specific]] [[prayer]]s",
parents = {"names", "prayer"},
}
labels["nicknames"] = {
type = "name",
description = "{{{langname}}} terms that are informal names or diminutives of specific entities (people, places, etc.)",
parents = {"names"},
}
labels["nicknames for individuals"] = {
type = "name",
description = "{{{langname}}} terms that are informal names for specific individuals (e.g. [[J-Lo]] for singer {{w|Jennifer Lopez}}).",
parents = {"individuals", "nicknames"},
}
labels["sports nicknames"] = {
type = "name",
description = "{{{langname}}} informal names for people or teams involved in sports.",
parents = {"nicknames", "sports"},
}
labels["danh pháp phân loại"] = {
type = "chủ đề thuộc nhóm tên gọi",
description = "=[[danh pháp]] [[phân loại]]",
parents = {"tên", "phân loại học"},
}
return {LABELS = labels, HANDLERS = handlers}
g60pxksxh6ezk219biczvuqkw2s5ck1
Ha-oai
0
326353
2463176
2206937
2026-07-18T14:35:29Z
TheHighFighter2
42988
/* Tiếng Việt */ (sử dụng [[MediaWiki:Gadget-AjaxEdit.js|AjaxEdit]])
2463176
wikitext
text/x-wiki
=={{langname|vi}}==
==={{ĐM|etymology}}===
Từ {{etym-bor|vi|en|Hawaii}}.
==={{ĐM|pron}}===
{{vie-pron}}
==={{ĐM|pr-noun}}===
{{vi-propn}}
# [[Hawaii]].
#* {{quote-web|1=vi|title=Hoa Kì|work=Từ điển bách khoa Việt Nam|publisher=Nhà xuất bản Từ điển Bách khoa|location=Hà Nội|year=2011|accessdate=2022-03-04|url=http://bachkhoatoanthu.vass.gov.vn/noidung/tudien/Lists/GiaiNghia/View_Detail.aspx?ItemID=9964|passage=Bang [[Alaxka]] (Alaska) có địa hình núi và thung lũng rộng, bang '''Haoai''' (Hawaii) có địa hình đồi núi lửa.|archiveurl=https://web.archive.org/web/20220304083250/http://bachkhoatoanthu.vass.gov.vn/noidung/tudien/Lists/GiaiNghia/View_Detail.aspx?ItemID=9964|archivedate=4 tháng 3 năm 2022}}
===={{ĐM|see}}====
{{bảng:USA/vi}}
qkwymrhdyl55xcgt3cagehtfw4wifxp
ucraína
0
328841
2463197
2211546
2026-07-18T16:21:49Z
TheHighFighter2
42988
/* Tiếng Galicia */ (sử dụng [[MediaWiki:Gadget-AjaxEdit.js|AjaxEdit]])
2463197
wikitext
text/x-wiki
{{also|ucraina|Ucraina|Ucrania|Ucraína|Ucraïna|U-crai-na}}
=={{langname|gl}}==
==={{ĐM|adj}}===
{{head|gl|Biến thể hình thái tính từ|g=f-s}}
# {{inflection of|gl|ucraíno||f|s}}.
==={{ĐM|n}}===
{{gl-noun|f}}
# Người phụ nữ [[Ukraina]].
===={{ĐM|rel}}====
* {{l|gl|ucraíno}}
fouuwasc3a9ckdme9s1a0ia1wqrfzuq
ʔúm
0
330920
2463227
2214711
2026-07-19T00:11:22Z
WhoAlone
40420
2463227
wikitext
text/x-wiki
=={{langname|stu}}==
==={{ĐM|noun}}===
{{head|stu|Danh từ}}
# [[nước]].
{{c|stu|Nước}}
f7l9x32etss88qmw5tajj3pr2hka6ge
Thể loại:Tiếng Moklen
14
336032
2463307
2222635
2026-07-19T06:01:18Z
Hiyuune
50834
2463307
wikitext
text/x-wiki
{{auto cat|Thái Lan}}
9of79oipchk7fq3rwy3x8da6vspxmzm
Thể loại:Tiếng Nam Thái
14
337219
2463308
2225165
2026-07-19T06:02:07Z
Hiyuune
50834
2463308
wikitext
text/x-wiki
{{auto cat|Thái Lan|Malaysia}}
oga4ls3hzh4vjrnxs60jyt46p6zz3sb
ඔලුව
0
338836
2463480
2227995
2026-07-19T11:29:28Z
Hiyuune
50834
2463480
wikitext
text/x-wiki
=={{langname|si}}==
{{Wiktionary:Từ điển hình ảnh/si:head}}
==={{ĐM|etym}}===
{{rfe|si}}
==={{ĐM|pron}}===
{{si-IPA}}
==={{ĐM|n}}===
{{si-noun}}
# {{nhãn|si|anatomy}} [[đầu|Đầu]]
#: {{synonym|si|ඉස}}
==={{ĐM|ref}}===
* {{R:si:Clough||89}}
onsj3vkimj9dtseciu2zffjceo4grhz
กน
0
342755
2463271
2235233
2026-07-19T01:28:09Z
WhoAlone
40420
2463271
wikitext
text/x-wiki
=={{langname|thm}}==
==={{ĐM|pron}}===
*{{IPA4|thm|/kɔːn¹/}}
==={{ĐM|noun}}===
{{head|thm|Danh từ}}
# [[người]].
{{c|thm|Con người}}
9ad01t0qpz2bp2cymco27ysazhivih8
พาซา โซ่ ทะวืง
0
342920
2463298
2235514
2026-07-19T05:44:33Z
WhoAlone
40420
2463298
wikitext
text/x-wiki
=={{langname|thm}}==
==={{ĐM|pron}}===
*{{IPA4|thm|/pʰasa¹ so³ tʰawɨŋ¹/}}
==={{ĐM|noun}}===
{{head|thm|Danh từ|tr=phasa So Thaveung}}
# [[tiếng Thavưng]].
{{c|thm|Tên ngôn ngữ}}
pze6hxwdejdx1mb2g883ckmdwefr2b2
Niigata
0
346977
2463193
2242282
2026-07-18T16:13:34Z
TheHighFighter2
42988
/* Tiếng Anh */ (sử dụng [[MediaWiki:Gadget-AjaxEdit.js|AjaxEdit]])
2463193
wikitext
text/x-wiki
=={{langname|en}}==
{{wp|en:+ Prefecture}}
{{wp|en:[[+ (city)|+]]}}
==={{ĐM|etym}}===
{{bor+|en|ja|-}} {{ja-r|新潟|^にいがた}}.
==={{ĐM|pr-noun}}===
{{en-proper noun}}
# {{place|en|tỉnh|c/Nhật Bản}}.
# {{place|en|thành phố thủ thủ|pref/Niigata|c/Nhật Bản}}.
==={{ĐM|see}}===
{{danh sách:tỉnh của Nhật Bản/en}}
==={{ĐM|ana}}===
* {{anagrams|en|a=aagiint|ignatia}}
=={{langname|ja}}==
==={{ĐM|rom}}===
{{ja-romaji}}
# {{ja-romanization of|にいがた}}
pb4hqtsw5m676j7jo90q4o2vcp96obd
2463210
2463193
2026-07-18T17:02:19Z
Hiyuune
50834
/* Tiếng Anh */ hợp nhất
2463210
wikitext
text/x-wiki
=={{langname|en}}==
{{wp|en:+ Prefecture,en:[[+ (city)|+]]}}
==={{ĐM|etym}}===
{{bor+|en|ja|-}} {{ja-r|新潟|^にいがた}}.
==={{ĐM|pr-noun}}===
{{en-proper noun}}
# {{place|en|tỉnh|c/Nhật Bản}}.
# {{place|en|thành phố thủ thủ|pref/Niigata|c/Nhật Bản}}.
==={{ĐM|see}}===
{{danh sách:tỉnh của Nhật Bản/en}}
==={{ĐM|ana}}===
* {{anagrams|en|a=aagiint|ignatia}}
=={{langname|ja}}==
==={{ĐM|rom}}===
{{ja-romaji}}
# {{ja-romanization of|にいがた}}
71mvioeq019pjduil5ik56mme5kcq1m
Fabrik
0
353084
2463196
2253657
2026-07-18T16:15:35Z
TheHighFighter2
42988
/* Hậu duệ */ (sử dụng [[MediaWiki:Gadget-AjaxEdit.js|AjaxEdit]])
2463196
wikitext
text/x-wiki
{{also|fabrik}}
=={{langname|de}}==
==={{ĐM|alter}}===
* {{alter|de|Fabric|Fabrique||obsolete}}
==={{ĐM|etymology}}===
{{bor+|de|la|fābrica}} hay {{borrowed|de|fr|fabrique}}.
==={{ĐM|pron}}===
* {{IPA4|de|/faˈbʁiːk/|/faˈbʁɪk/}}
* {{audio|de|De-Fabrik.ogg}}
* {{audio|de|De-Fabrik2.ogg}}
* {{hyphenation|de|Fab|rik}}
* {{rhymes|de|iːk|ɪk|s=2}}
==={{ĐM|n}}===
{{de-noun|f}}
# [[nhà máy|Nhà máy]].
#: {{hypo|de|Maschinenfabrik}}
===={{ĐM|decl}}====
{{de-ndecl|f}}
===={{ĐM|rel}}====
{{columns|de
|Fabrikant
|Fabrikantin
|Fabrikarbeit
|Fabrikat
|Fabrikation
|fabrikatorisch
|Fabrikbesitzer
|Fabrikdirektor
|fabrikfertig
|fabrikfrisch
|Fabrikgebäude
|Fabrikgelände
|Fabrikhalle
|fabrikneu
|Fabriknummer
|Fabrikpreis
|Fabrikschiff
|Fabrikschornstein
|Fabrikstadt
|Fabrikverkauf
|Fabrikware
|fabrizieren}}
===={{ĐM|desc}}====
* {{desctree|bor=1|da|fabrik}}
* {{desc|bor=1|dsb|fabrika}}
* {{desc|bor=1|szl|fabryka}}
* {{desc|bor=1|sh|-}}
*: {{desc|sclang=1|sh|фабрика}}
*: {{desc|sclang=1|sh|fabrika}}
* {{desc|bor=1|sv|fabrik}}
* {{desc|bor=1|tk|fabrik}}
==={{ĐM|further}}===
* {{R:Duden}}
* {{R:DWDS}}
* {{pedia|lang=de}}
2v9ybe6icwili6ckvqczjyl99e4q7pl
Mô đun:ar-stripdiacritics
828
386575
2463274
2333459
2026-07-19T03:30:38Z
Hiyuune
50834
2463274
Scribunto
text/plain
local m_str_utils = require("Module:string utilities")
local find = m_str_utils.find
local gsub = m_str_utils.gsub
local U = m_str_utils.char
local taTwiil = U(0x640)
local waSla = U(0x671)
-- diacritics ordinarily removed by entry_name replacements
local Arabic_diacritics = U(
0x64B, -- fathatan
0x64C, -- dammatan
0x64D, -- kasratan
0x64E, -- fatha
0x64F, -- damma
0x650, -- kasra
0x651, -- shadda
0x652, -- sukun
0x656, -- subscript alif
0x657, -- inverted damma
0x670, -- superscript (dagger) alif
0x6DF, -- sifr mustadir
0x6E0, -- sifr mustatil
0x6E1, -- variant sukun
0x8F0, -- open fathatan
0x8F1, -- open dammatan
0x8F2 -- open kasratan
)
-- replace alif waṣl with alif
-- remove tatweel and diacritics
local replacements = {
from = {U(0x0671), "[" .. taTwiil .. Arabic_diacritics .. "]"},
to = {U(0x0627)},
}
local export = {}
function export.stripDiacritics(text, lang, sc)
if text == waSla or find(text, "^" .. taTwiil .. "?[" .. Arabic_diacritics .. "]" .. "$") then
return text
end
for i, from in ipairs(replacements.from) do
local to = replacements.to[i] or ""
text = gsub(text, from, to)
end
return text
end
return export
k64r9sqpwcfbsb6fstn1lttu2rd171q
罩霧
0
408509
2463163
2026-07-18T13:46:17Z
Hiyuune
50834
/* */
2463163
wikitext
text/x-wiki
=={{langname|zh}}==
{{zh-forms|s=罩雾}}
==={{section|pron}}===
{{zh-pron
|mn=xm,zz,tw,tn,sg:tà-bū/qz,jj,ph:tàu-bū
|cat=v
}}
==={{section|v}}===
{{head|zh|Động từ}}
# [[sương mù|Sương mù]], [[mù mịt]].
===={{section|syn}}====
{{zh-dial|下霧}}
{{C|zh|Thời tiết}}
sgogc3fm6o6zh5yqy1wnum44e92xblg
鼓勵
0
408510
2463168
2026-07-18T14:04:56Z
Hiyuune
50834
/* */
2463168
wikitext
text/x-wiki
{{also|鼓励}}
=={{langname|zh}}==
{{zh-forms|s=鼓励}}
==={{section|etym}}===
{{rfe|zh}}
==={{section|pron}}===
{{zh-pron
|m=gǔlì
|c=gu2 lai6
|h=pfs=kú-li;hrs=h:guˊ li˖
|md=gū-lâ̤
|mn=kó͘-lē
|mn-t=gou2 li6
|px=pt,xy:gou3 le5
|cat=v
}}
==={{section|v}}===
{{head|zh|Động từ}}
# [[động viên|Động viên]], [[cổ vũ]], [[khuyến khích]].
===={{section|syn}}====
{{syn-saurus|zh|鼓勵}}
===={{section|rel}}====
* {{zh-l|提倡}}
==={{section|ref}}===
* {{thcwd|10401}}
{{cat|cmn|Elementary Mandarin}}
fwvvdx151fq6wpl9lkochliywf708yz
青紅燈
0
408511
2463171
2026-07-18T14:15:13Z
Hiyuune
50834
+ zh
2463171
wikitext
text/x-wiki
=={{langname|zh}}==
{{zh-forms|s=青红灯}}
{{wp|nan:chheⁿ-âng-teng}}
==={{section|pron}}===
{{zh-pron
|h=pfs=chhiâng-fùng-tên
|mn=kh,tn,yl:chheⁿ-âng-teng/tp,sg:chhiⁿ-âng-teng
|mn-t=cên1 ang5 dêng1
|cat=n
}}
==={{section|noun}}===
{{head|zh|Danh từ}}
# {{lb|zh|Taiwanese Hokkien|Taiwanese Hakka|Singapore Hokkien|&|Teochew}} [[đèn giao thông|Đèn giao thông]].
===={{section|syn}}====
{{zh-dial|紅綠燈}}
==={{section|further}}===
* {{thcwd|4586}}
97gtenonlyb99qgpglnn1hbna38l66f
Bản mẫu:bảng:USA
10
408512
2463173
2026-07-18T14:27:32Z
TheHighFighter2
42988
Trang mới: “{| class="wikitable" style="width: 100%; unicode-bidi:plaintext;" |+Tên các đơn vị hành chính [[Hợp chúng quốc Hoa Kỳ]] {{table mul test|lang={{{lang|und}}}}} {{table edit|USA|{{{lang|}}}}} |- |style="unicode-bidi:plaintext;"| '''{{{States|}}}:''' {{{Alabama|}}}{{·}} {{{Alaska|}}}{{·}} {{{Arizona|}}}{{·}} {{{Arkansas|}}}{{·}} {{{California|}}}{{·}} {{{Colorado|}}}{{·}} {{{Connecticut|}}}{{·}} {{{Delaware|}}}{{·}} {{{Florida|}}}{{·}} {{{Georgia|}}}{…”
2463173
wikitext
text/x-wiki
{| class="wikitable" style="width: 100%; unicode-bidi:plaintext;"
|+Tên các đơn vị hành chính [[Hợp chúng quốc Hoa Kỳ]] {{table mul test|lang={{{lang|und}}}}} {{table edit|USA|{{{lang|}}}}}
|-
|style="unicode-bidi:plaintext;"| '''{{{States|}}}:''' {{{Alabama|}}}{{·}} {{{Alaska|}}}{{·}} {{{Arizona|}}}{{·}} {{{Arkansas|}}}{{·}} {{{California|}}}{{·}} {{{Colorado|}}}{{·}} {{{Connecticut|}}}{{·}} {{{Delaware|}}}{{·}} {{{Florida|}}}{{·}} {{{Georgia|}}}{{·}} {{{Hawaii|}}}{{·}} {{{Idaho|}}}{{·}} {{{Illinois|}}}{{·}} {{{Indiana|}}}{{·}} {{{Iowa|}}}{{·}} {{{Kansas|}}}{{·}} {{{Kentucky|}}}{{·}} {{{Louisiana|}}}{{·}} {{{Maine|}}}{{·}} {{{Maryland|}}}{{·}} {{{Massachusetts|}}}{{·}} {{{Michigan|}}}{{·}} {{{Minnesota|}}}{{·}} {{{Mississippi|}}}{{·}} {{{Missouri|}}}{{·}} {{{Montana|}}}{{·}} {{{Nebraska|}}}{{·}} {{{Nevada|}}}{{·}} {{{New Hampshire|}}}{{·}} {{{New Jersey|}}}{{·}} {{{New Mexico|}}}{{·}} {{{New York|}}}{{·}} {{{North Carolina|}}}{{·}} {{{North Dakota|}}}{{·}} {{{Ohio|}}}{{·}} {{{Oklahoma|}}}{{·}} {{{Oregon|}}}{{·}} {{{Pennsylvania|}}}{{·}} {{{Rhode Island|}}}{{·}} {{{South Carolina|}}}{{·}} {{{South Dakota|}}}{{·}} {{{Tennessee|}}}{{·}} {{{Texas|}}}{{·}} {{{Utah|}}}{{·}} {{{Vermont|}}}{{·}} {{{Virginia|}}}{{·}} {{{Washington|}}}{{·}} {{{West Virginia|}}}{{·}} {{{Wisconsin|}}}{{·}} {{{Wyoming|}}}
|-
|style="unicode-bidi:plaintext;"| '''{{{Federal district|}}}:''' {{{Washington, D.C.|}}}
|-
|style="unicode-bidi:plaintext;"| '''{{{Territories|}}}:''' {{{American Samoa|}}}{{·}} {{{Guam|}}}{{·}} {{{Northern Mariana Islands|}}}{{·}} {{{Puerto Rico|}}}{{·}} {{{United States minor outlying islands|}}}{{·}} {{{United States Virgin Islands|}}}
|-
|}<noinclude>[[Thể loại:Bản mẫu điều hướng]] {{table doc}}</noinclude>
i10btd3n3pibyr53edyahpz152ituq5
Bản mẫu:bảng:USA new
10
408513
2463174
2026-07-18T14:28:54Z
TheHighFighter2
42988
Trang mới: “<includeonly>{{bảng:USA|lang={{subst:<noinclude><nowiki/></noinclude>SUBPAGENAME}} |States={{l-self|{{subst:<noinclude><nowiki/></noinclude>SUBPAGENAME}}|}} |Federal district={{l-self|{{subst:<noinclude><nowiki/></noinclude>SUBPAGENAME}}|}} |Territories={{l-self|{{subst:<noinclude><nowiki/></noinclude>SUBPAGENAME}}|}} |Alabama={{l-self|{{subst:<noinclude><nowiki/></noinclude>SUBPAGENAME}}|}} |Alaska={{l-self|{{subst:<noinclude><nowiki/></noinclude>SUBPAGENAME}}|}} |Ariz…”
2463174
wikitext
text/x-wiki
<includeonly>{{bảng:USA|lang={{subst:<noinclude><nowiki/></noinclude>SUBPAGENAME}}
|States={{l-self|{{subst:<noinclude><nowiki/></noinclude>SUBPAGENAME}}|}}
|Federal district={{l-self|{{subst:<noinclude><nowiki/></noinclude>SUBPAGENAME}}|}}
|Territories={{l-self|{{subst:<noinclude><nowiki/></noinclude>SUBPAGENAME}}|}}
|Alabama={{l-self|{{subst:<noinclude><nowiki/></noinclude>SUBPAGENAME}}|}}
|Alaska={{l-self|{{subst:<noinclude><nowiki/></noinclude>SUBPAGENAME}}|}}
|Arizona={{l-self|{{subst:<noinclude><nowiki/></noinclude>SUBPAGENAME}}|}}
|Arkansas={{l-self|{{subst:<noinclude><nowiki/></noinclude>SUBPAGENAME}}|}}
|California={{l-self|{{subst:<noinclude><nowiki/></noinclude>SUBPAGENAME}}|}}
|Colorado={{l-self|{{subst:<noinclude><nowiki/></noinclude>SUBPAGENAME}}|}}
|Connecticut={{l-self|{{subst:<noinclude><nowiki/></noinclude>SUBPAGENAME}}|}}
|Delaware={{l-self|{{subst:<noinclude><nowiki/></noinclude>SUBPAGENAME}}|}}
|Florida={{l-self|{{subst:<noinclude><nowiki/></noinclude>SUBPAGENAME}}|}}
|Georgia={{l-self|{{subst:<noinclude><nowiki/></noinclude>SUBPAGENAME}}|}}
|Hawaii={{l-self|{{subst:<noinclude><nowiki/></noinclude>SUBPAGENAME}}|}}
|Idaho={{l-self|{{subst:<noinclude><nowiki/></noinclude>SUBPAGENAME}}|}}
|Illinois={{l-self|{{subst:<noinclude><nowiki/></noinclude>SUBPAGENAME}}|}}
|Indiana={{l-self|{{subst:<noinclude><nowiki/></noinclude>SUBPAGENAME}}|}}
|Iowa={{l-self|{{subst:<noinclude><nowiki/></noinclude>SUBPAGENAME}}|}}
|Kansas={{l-self|{{subst:<noinclude><nowiki/></noinclude>SUBPAGENAME}}|}}
|Kentucky={{l-self|{{subst:<noinclude><nowiki/></noinclude>SUBPAGENAME}}|}}
|Louisiana={{l-self|{{subst:<noinclude><nowiki/></noinclude>SUBPAGENAME}}|}}
|Maine={{l-self|{{subst:<noinclude><nowiki/></noinclude>SUBPAGENAME}}|}}
|Maryland={{l-self|{{subst:<noinclude><nowiki/></noinclude>SUBPAGENAME}}|}}
|Massachusetts={{l-self|{{subst:<noinclude><nowiki/></noinclude>SUBPAGENAME}}|}}
|Michigan={{l-self|{{subst:<noinclude><nowiki/></noinclude>SUBPAGENAME}}|}}
|Minnesota={{l-self|{{subst:<noinclude><nowiki/></noinclude>SUBPAGENAME}}|}}
|Mississippi={{l-self|{{subst:<noinclude><nowiki/></noinclude>SUBPAGENAME}}|}}
|Missouri={{l-self|{{subst:<noinclude><nowiki/></noinclude>SUBPAGENAME}}|}}
|Montana={{l-self|{{subst:<noinclude><nowiki/></noinclude>SUBPAGENAME}}|}}
|Nebraska={{l-self|{{subst:<noinclude><nowiki/></noinclude>SUBPAGENAME}}|}}
|Nevada={{l-self|{{subst:<noinclude><nowiki/></noinclude>SUBPAGENAME}}|}}
|New Hampshire={{l-self|{{subst:<noinclude><nowiki/></noinclude>SUBPAGENAME}}|}}
|New Jersey={{l-self|{{subst:<noinclude><nowiki/></noinclude>SUBPAGENAME}}|}}
|New Mexico={{l-self|{{subst:<noinclude><nowiki/></noinclude>SUBPAGENAME}}|}}
|New York={{l-self|{{subst:<noinclude><nowiki/></noinclude>SUBPAGENAME}}|}}
|North Carolina={{l-self|{{subst:<noinclude><nowiki/></noinclude>SUBPAGENAME}}|}}
|North Dakota={{l-self|{{subst:<noinclude><nowiki/></noinclude>SUBPAGENAME}}|}}
|Ohio={{l-self|{{subst:<noinclude><nowiki/></noinclude>SUBPAGENAME}}|}}
|Oklahoma={{l-self|{{subst:<noinclude><nowiki/></noinclude>SUBPAGENAME}}|}}
|Oregon={{l-self|{{subst:<noinclude><nowiki/></noinclude>SUBPAGENAME}}|}}
|Pennsylvania={{l-self|{{subst:<noinclude><nowiki/></noinclude>SUBPAGENAME}}|}}
|Rhode Island={{l-self|{{subst:<noinclude><nowiki/></noinclude>SUBPAGENAME}}|}}
|South Carolina={{l-self|{{subst:<noinclude><nowiki/></noinclude>SUBPAGENAME}}|}}
|South Dakota={{l-self|{{subst:<noinclude><nowiki/></noinclude>SUBPAGENAME}}|}}
|Tennessee={{l-self|{{subst:<noinclude><nowiki/></noinclude>SUBPAGENAME}}|}}
|Texas={{l-self|{{subst:<noinclude><nowiki/></noinclude>SUBPAGENAME}}|}}
|Utah={{l-self|{{subst:<noinclude><nowiki/></noinclude>SUBPAGENAME}}|}}
|Vermont={{l-self|{{subst:<noinclude><nowiki/></noinclude>SUBPAGENAME}}|}}
|Virginia={{l-self|{{subst:<noinclude><nowiki/></noinclude>SUBPAGENAME}}|}}
|Washington={{l-self|{{subst:<noinclude><nowiki/></noinclude>SUBPAGENAME}}|}}
|West Virginia={{l-self|{{subst:<noinclude><nowiki/></noinclude>SUBPAGENAME}}|}}
|Wisconsin={{l-self|{{subst:<noinclude><nowiki/></noinclude>SUBPAGENAME}}|}}
|Wyoming={{l-self|{{subst:<noinclude><nowiki/></noinclude>SUBPAGENAME}}|}}
|Washington, D.C.={{l-self|{{subst:<noinclude><nowiki/></noinclude>SUBPAGENAME}}|}}
|American Samoa={{l-self|{{subst:<noinclude><nowiki/></noinclude>SUBPAGENAME}}|}}
|Guam={{l-self|{{subst:<noinclude><nowiki/></noinclude>SUBPAGENAME}}|}}
|Northern Mariana Islands={{l-self|{{subst:<noinclude><nowiki/></noinclude>SUBPAGENAME}}|}}
|Puerto Rico={{l-self|{{subst:<noinclude><nowiki/></noinclude>SUBPAGENAME}}|}}
|United States minor outlying islands={{l-self|{{subst:<noinclude><nowiki/></noinclude>SUBPAGENAME}}|}}
|United States Virgin Islands={{l-self|{{subst:<noinclude><nowiki/></noinclude>SUBPAGENAME}}|}}
}}<no<noinclude></noinclude>include>{{table doc}}</no<noinclude></noinclude>include></includeonly><noinclude>
{{documentation}}
</noinclude>
gv4zfrqfhi8dyqbxb708oyi99d9ym7s
Bản mẫu:bảng:USA/vi
10
408514
2463175
2026-07-18T14:31:13Z
TheHighFighter2
42988
Trang mới: “{{bảng:USA|lang=vi |States={{l-self|vi|tiểu bang|Tiểu bang}} |Federal district={{l-self|vi|đặc khu liên bang|Đặc khu liên bang}} |Territories={{l-self|vi|lãnh thổ|Lãnh thổ}} |Alabama={{l-self|vi|A-la-ba-ma}} |Alaska={{l-self|vi| A-lát-xca}} |Arizona={{l-self|vi|A-ri-xô-na}} |Arkansas={{l-self|vi|A-can-xò}} |California={{l-self|vi|Ca-li-phoóc-ni-a}} |Colorado={{l-self|vi|Cô-lô-ra-đô}} |Connecticut={{l-self|vi|Con-nếch-ti-cớt}} |Delaware={{l-…”
2463175
wikitext
text/x-wiki
{{bảng:USA|lang=vi
|States={{l-self|vi|tiểu bang|Tiểu bang}}
|Federal district={{l-self|vi|đặc khu liên bang|Đặc khu liên bang}}
|Territories={{l-self|vi|lãnh thổ|Lãnh thổ}}
|Alabama={{l-self|vi|A-la-ba-ma}}
|Alaska={{l-self|vi| A-lát-xca}}
|Arizona={{l-self|vi|A-ri-xô-na}}
|Arkansas={{l-self|vi|A-can-xò}}
|California={{l-self|vi|Ca-li-phoóc-ni-a}}
|Colorado={{l-self|vi|Cô-lô-ra-đô}}
|Connecticut={{l-self|vi|Con-nếch-ti-cớt}}
|Delaware={{l-self|vi|Đe-la-oe}}
|Florida={{l-self|vi|Phlo-ri-đa}}
|Georgia={{l-self|vi|Gioóc-gia}}
|Hawaii={{l-self|vi|Ha-oai}}
|Idaho={{l-self|vi|Ai-đa-hô}}
|Illinois={{l-self|vi|I-li-noi}}
|Indiana={{l-self|vi|In-đi-a-na}}
|Iowa={{l-self|vi|Ai-ô-oa}}
|Kansas={{l-self|vi|Can-xát}}
|Kentucky={{l-self|vi|Ken-tắc-ky}}
|Louisiana={{l-self|vi|Lu-i-di-a-na}}
|Maine={{l-self|vi|Mên}}
|Maryland={{l-self|vi|Me-ri-len}}
|Massachusetts={{l-self|vi|Me-xơ-chu-xít}}
|Michigan={{l-self|vi|Mi-si-gân}}
|Minnesota={{l-self|vi|Min-nê-xô-ta}}
|Mississippi={{l-self|vi|Mít-xi-xi-pi}}
|Missouri={{l-self|vi|Mít-xu-ri}}
|Montana={{l-self|vi|Môn-ta-na}}
|Nebraska={{l-self|vi|Nê-brát-xca}}
|Nevada={{l-self|vi|Nê-va-đa}}
|New Hampshire={{l-self|vi|Niu Hem-sơ}}
|New Jersey={{l-self|vi|Niu Giơ-xi}}
|New Mexico={{l-self|vi|Niu Mê-hi-cô}}
|New York={{l-self|vi|Niu Oóc}}
|North Carolina={{l-self|vi|Bắc Ca-rô-li-na}}
|North Dakota={{l-self|vi|Bắc Đa-cô-ta}}
|Ohio={{l-self|vi|Ô-hai-ô}}
|Oklahoma={{l-self|vi|Ốc-la-hô-ma}}
|Oregon={{l-self|vi|Ô-rê-gân}}
|Pennsylvania={{l-self|vi|Pen-xin-va-ni-a}}
|Rhode Island={{l-self|vi|Rốt Ai-len}}
|South Carolina={{l-self|vi|Nam Ca-rô-li-na}}
|South Dakota={{l-self|vi|Nam Đa-cô-ta}}
|Tennessee={{l-self|vi|Ten-nét-xi}}
|Texas={{l-self|vi|Tếch-dớt}}
|Utah={{l-self|vi|U-ta}}
|Vermont={{l-self|vi|Vơ-môn}}
|Virginia={{l-self|vi|Vơ-gi-ni-a}}
|Washington={{l-self|vi|Oa-sinh-tơn}}
|West Virginia={{l-self|vi|Tây Vơ-gi-ni-a}}
|Wisconsin={{l-self|vi|Uýt-côn-xin}}
|Wyoming={{l-self|vi|Oai-ô-minh}}
|Washington, D.C.={{l-self|vi|Oa-sinh-tơn, D.C.}}
|American Samoa={{l-self|vi|Xa-moa thuộc Mĩ}}
|Guam={{l-self|vi|Gu-am}}
|Northern Mariana Islands={{l-self|vi|quần đảo Bắc Ma-ri-a-na}}
|Puerto Rico={{l-self|vi|Pu-éc-tô Ri-cô}}
|United States minor outlying islands={{l-self|vi|Các tiểu đảo xa của Hoa Kì}}
|United States Virgin Islands={{l-self|vi|quần đảo Vơ-gin thuộc Mĩ}}
}}<noinclude>{{table doc}}</noinclude>
th9qyp3m1vvpg085ax9bijftlvgyeox
နိုင်ငံရေး
0
408515
2463183
2026-07-18T16:05:50Z
Hiyuune
50834
/* */ + my
2463183
wikitext
text/x-wiki
=={{langname|my}}==
==={{section|etym}}===
{{af|my|နိုင်ငံ|t1=quốc gia|အရေး}}.
==={{section|pron}}===
* {{my-IPA|နိုင်ငံရေး|nai~ga~yei\}}
==={{section|noun}}===
{{my-noun}}
# [[chính trị|Chính trị]].
==={{section|further}}===
* {{R:my:MED}}
{{topics|my|Chính trị}}
60incrueywr0dl535e051onjd4rtrpb
bìm
0
408517
2463199
2026-07-18T16:31:32Z
Kateru Zakuro
34522
([[Mediawiki:Gadget-start.js|Trang mới]]) +vi:noun:# [[bìm bìm|Bìm bìm]].
2463199
wikitext
text/x-wiki
=={{langname|vi}}==
==={{ĐM|pron}}===
{{vi-pron}}
==={{ĐM|noun}}===
{{vi-noun}}
# [[bìm bìm|Bìm bìm]] {{gl|nói tắt}}.
#:{{ux|vi|giậu đổ '''bìm''' leo}}
=== {{ĐM|ref}} ===
* {{R:Tratu}}
0efw91ff7mwwr6qbdblun13dlb385n5
2463200
2463199
2026-07-18T16:33:16Z
Kateru Zakuro
34522
2463200
wikitext
text/x-wiki
=={{langname|vi}}==
==={{ĐM|pron}}===
{{vi-pron}}
==={{ĐM|noun}}===
{{vi-noun}}
# [[bìm bìm|Bìm bìm]] {{q|nói tắt}}.
#:{{ux|vi|giậu đổ '''bìm''' leo}}
=== {{ĐM|ref}} ===
* {{R:Tratu}}
6hm4abzae5revp8y1d16xm39igbwi1f
Bình dân học vụ
0
408518
2463201
2026-07-18T16:40:55Z
Kateru Zakuro
34522
([[Mediawiki:Gadget-start.js|Trang mới]]) +vi:pr-noun:# [[công tác|Công tác]] [[thanh toán]] [[nạn]] [[mù chữ]] cho [[nhân dân]].
2463201
wikitext
text/x-wiki
=={{langname|vi}}==
==={{ĐM|pron}}===
{{vi-pron}}
==={{ĐM|pr-noun}}===
{{vi-pr-noun}}
# {{lb|vi|cũ}} [[công tác|Công tác]] [[thanh toán]] [[nạn]] [[mù chữ]] cho [[nhân dân]].
#:{{ux|vi|phong trào '''bình dân học vụ'''}}
# [[công tác|Công tác]] [[thanh toán]] một [[vấn đề]] nào đó cho [[nhân dân]].
#* {{quote-web|vi|date=2025-07-15|author=Gia Việt|work=NỀN TẢNG BÌNH DÂN HỌC VỤ SỐ|url=https://www.binhdanhocvuso.gov.vn/news/catp-ha-ni-t-chc-l-phat-djng-phong-trao-binh-dan-hc-v-s/|text=Phát động Phong trào “'''Bình dân học vụ số'''”}}
=== {{ĐM|ref}} ===
* {{R:Tratu}}
m3jrn78mqyrml42zzhsfq80blrvj08y
2463202
2463201
2026-07-18T16:41:08Z
Kateru Zakuro
34522
Kateru Zakuro đã đổi [[bình dân học vụ]] thành [[Bình dân học vụ]] (đã tắt đổi hướng)
2463201
wikitext
text/x-wiki
=={{langname|vi}}==
==={{ĐM|pron}}===
{{vi-pron}}
==={{ĐM|pr-noun}}===
{{vi-pr-noun}}
# {{lb|vi|cũ}} [[công tác|Công tác]] [[thanh toán]] [[nạn]] [[mù chữ]] cho [[nhân dân]].
#:{{ux|vi|phong trào '''bình dân học vụ'''}}
# [[công tác|Công tác]] [[thanh toán]] một [[vấn đề]] nào đó cho [[nhân dân]].
#* {{quote-web|vi|date=2025-07-15|author=Gia Việt|work=NỀN TẢNG BÌNH DÂN HỌC VỤ SỐ|url=https://www.binhdanhocvuso.gov.vn/news/catp-ha-ni-t-chc-l-phat-djng-phong-trao-binh-dan-hc-v-s/|text=Phát động Phong trào “'''Bình dân học vụ số'''”}}
=== {{ĐM|ref}} ===
* {{R:Tratu}}
m3jrn78mqyrml42zzhsfq80blrvj08y
2463203
2463202
2026-07-18T16:42:15Z
Kateru Zakuro
34522
2463203
wikitext
text/x-wiki
=={{langname|vi}}==
==={{ĐM|pron}}===
{{vi-pron}}
==={{ĐM|pr-noun}}===
{{vi-pr-noun}}
# {{lb|vi|cũ}} [[công tác|Công tác]] [[thanh toán]] [[nạn]] [[mù chữ]] cho [[nhân dân]].
#:{{ux|vi|phong trào '''bình dân học vụ'''}}
# [[công tác|Công tác]] [[phổ cập]] một [[vấn đề]] nào đó cho [[nhân dân]].
#* {{quote-web|vi|date=2025-07-15|author=Gia Việt|work=NỀN TẢNG BÌNH DÂN HỌC VỤ SỐ|url=https://www.binhdanhocvuso.gov.vn/news/catp-ha-ni-t-chc-l-phat-djng-phong-trao-binh-dan-hc-v-s/|text=Phát động Phong trào “'''Bình dân học vụ số'''”}}
=== {{ĐM|ref}} ===
* {{R:Tratu}}
liu3gp5clfi1t5f8rpj8nma6iuy8qsp
bình công chấm điểm
0
408519
2463204
2026-07-18T16:43:33Z
Kateru Zakuro
34522
([[Mediawiki:Gadget-start.js|Trang mới]]) +vi:phrase:# [[bàn bạc|Bàn bạc]], [[cân nhắc]] để [[đánh giá]] [[lao động]] và [[định]] [[công]] [[điểm]] của từng [[người]] trong [[hợp tác xã]] [[trước đây]].
2463204
wikitext
text/x-wiki
=={{langname|vi}}==
==={{ĐM|pron}}===
{{vi-pron}}
==={{ĐM|phrase}}===
{{vi-phrase}}
# {{lb|vi|cũ}} [[bàn bạc|Bàn bạc]], [[cân nhắc]] để [[đánh giá]] [[lao động]] và [[định]] [[công]] [[điểm]] của từng [[người]] trong [[hợp tác xã]] [[trước đây]].
=== {{ĐM|ref}} ===
* {{R:Tratu}}
3fz7x2l4vdti54nsopg11y6qdsrf0mb
bình giá
0
408520
2463205
2026-07-18T16:44:11Z
Kateru Zakuro
34522
([[Mediawiki:Gadget-start.js|Trang mới]]) +vi:verb:# [[bàn bạc|Bàn bạc]], [[đánh giá]] để [[quyết định]] [[giá cả]] (thường là trong [[hợp tác xã]] [[nông nghiệp]] [[trước đây]]).
2463205
wikitext
text/x-wiki
=={{langname|vi}}==
==={{ĐM|pron}}===
{{vi-pron}}
==={{ĐM|verb}}===
{{vi-verb}}
# [[bàn bạc|Bàn bạc]], [[đánh giá]] để [[quyết định]] [[giá cả]] (thường là trong [[hợp tác xã]] [[nông nghiệp]] [[trước đây]]).
=== {{ĐM|ref}} ===
* {{R:Tratu}}
7d175wpkdc9kqy0e5qso6h6cdawq5k3
bình giải
0
408521
2463206
2026-07-18T16:46:41Z
Kateru Zakuro
34522
`
2463206
wikitext
text/x-wiki
=={{langname|vi}}==
==={{ĐM|pron}}===
{{vi-pron}}
==={{ĐM|verb}}===
{{vi-verb}}
# [[bình luận|Bình luận]] và [[giải thích]] về một [[vấn đề]], [[ý kiến]] nào đó.
#:{{ux|vi|'''bình giải''' một câu tục ngữ}}'
=== {{ĐM|ref}} ===
* {{R:Tratu}}
6qdtwxnwjh90or1cmtf2fynhlgongpu
bình nghị
0
408522
2463207
2026-07-18T16:49:09Z
Kateru Zakuro
34522
([[Mediawiki:Gadget-start.js|Trang mới]]) +vi:verb:# [[bàn bạc|Bàn bạc]], [[đánh giá]] để cùng nhau [[xét]] [[định]] (thường là trong [[hợp tác xã]] [[nông nghiệp]] [[trước đây]])
2463207
wikitext
text/x-wiki
=={{langname|vi}}==
==={{ĐM|pron}}===
{{vi-pron}}
==={{ĐM|verb}}===
{{vi-verb}}
# {{lb|vi|cũ}} [[bàn bạc|Bàn bạc]], [[đánh giá]] để cùng nhau [[xét]] [[định]] (thường là trong [[hợp tác xã]] [[nông nghiệp]] [[trước đây]])
#:{{ux|vi|'''bình nghị''' sản lượng của từng khoảnh ruộng}}
=== {{ĐM|ref}} ===
* {{R:Tratu}}
5g40cgj71gehokukd5swm3rsg5fj6dq
bình nhật
0
408523
2463208
2026-07-18T16:51:47Z
Kateru Zakuro
34522
([[Mediawiki:Gadget-start.js|Trang mới]]) +vi:adv:# [[thường ngày|Thường ngày]].
2463208
wikitext
text/x-wiki
=={{langname|vi}}==
==={{ĐM|pron}}===
{{vi-pron}}
==={{ĐM|adv}}===
{{vi-adv}}
# {{lb|vi|hiếm}} [[thường ngày|Thường ngày]].
#:{{ux|vi|'''bình nhật''' nó vẫn dậy sớm}}
=== {{ĐM|ref}} ===
* {{R:Tratu}}
g2moe93xmlldvp0v9zlvk5dojoymh5c
bình quyền
0
408524
2463209
2026-07-18T16:52:41Z
Kateru Zakuro
34522
([[Mediawiki:Gadget-start.js|Trang mới]]) +vi:adj:# [[bình đẳng|Bình đẳng]] về [[quyền lợi]].
2463209
wikitext
text/x-wiki
=={{langname|vi}}==
==={{ĐM|pron}}===
{{vi-pron}}
==={{ĐM|adj}}===
{{vi-adj}}
# [[bình đẳng|Bình đẳng]] về [[quyền lợi]].
#:{{ux|vi|thực hiện nam nữ '''bình quyền'''}}
=== {{ĐM|ref}} ===
* {{R:Tratu}}
4q4p8wid4nct9quu8wpp1kwrmfdcct4
裝甲部隊
0
408525
2463212
2026-07-18T17:12:48Z
Hiyuune
50834
/* */ + zh
2463212
wikitext
text/x-wiki
=={{langname|zh}}==
{{zh-forms|s=装甲部队|type=22}}
==={{section|pron}}===
{{zh-pron
|m=zhuāngjiǎ bùduì
|c=zong1 gaap3 bou6 deoi6
|cat=n
}}
==={{section|n}}===
{{head|zh|Danh từ}}
# [[lính|Lính]] [[thiết giáp]], [[lực lượng]] xe thiết giáp.
56jpbi2ngoh4oh842gc9h1bl4wrtd9n
bình tuyển
0
408526
2463213
2026-07-18T17:13:13Z
Kateru Zakuro
34522
([[Mediawiki:Gadget-start.js|Trang mới]]) +vi:verb:# ([[tập thể]]) [[lựa chọn]] trên [[cơ sở]] [[nhận xét]], [[so sánh]].
2463213
wikitext
text/x-wiki
=={{langname|vi}}==
==={{ĐM|pron}}===
{{vi-pron}}
==={{ĐM|verb}}===
{{vi-verb}}
# {{lb|vi|hiếm}} ([[tập thể]]) [[lựa chọn]] trên [[cơ sở]] [[nhận xét]], [[so sánh]].
#:{{ux|vi|xã viên '''bình tuyển''' giống lúa}}
=== {{ĐM|ref}} ===
* {{R:Tratu}}
9jxovmda3g3370hf38cp8witrvidgsy
煙囪
0
408527
2463215
2026-07-18T17:16:20Z
Hiyuune
50834
/* */
2463215
wikitext
text/x-wiki
{{also|烟囱}}
=={{langname|zh}}==
{{zh-forms|s=烟囱|t2=菸囪}}
==={{section|pronunciation}}===
{{zh-pron
|m=yāncōng,yānchōng,2nb=non-standard,tl=y,2tl=y
|m-s=yan1cong1
|m-nj=yēncòn
|c=jin1 cung1
|h=pfs=yên-chhûng;hrs=h:rhanˋ cungˋ;gd=yan1 cung1
|mb=íng-chóng
|mn=ml:ian-chhong
|w=sh:1i tshon
|cat=n
}}
==={{section|noun}}===
{{head|zh|Danh từ}}
# [[ống khói|Ống khói]] {{zh-mw|m:座|m:根|m:條|個}}
# {{lb|zh|Sichuan}} [[nghiện|Nghiện]] [[thuốc lá]].
===={{section|syn}}====
* {{s|ống khói}}
{{zh-dial}}
===={{section|drv}}====
{{col3|zh|孖煙囪|無煙囪工業}}
{{cat|cmn|Intermediate Mandarin}}
pg03u4slgfoj4liev7pejjt0i8xwj6g
xét tuyển
0
408528
2463217
2026-07-18T17:18:33Z
Kateru Zakuro
34522
([[Mediawiki:Gadget-start.js|Trang mới]]) +vi:verb:# [[đánh giá|Đánh giá]] để [[lựa chọn]] những [[người]] [[trúng tuyển]] [[dựa trên]] các [[tiêu chí]] và [[điều kiện]] theo [[quy định]].
2463217
wikitext
text/x-wiki
=={{langname|vi}}==
==={{ĐM|pron}}===
{{vi-pron}}
==={{ĐM|verb}}===
{{vi-verb}}
# [[đánh giá|Đánh giá]] để [[lựa chọn]] những [[người]] [[phù hợp]] [[dựa trên]] các [[tiêu chí]] và [[điều kiện]] theo [[quy định]].
# {{lb|vi|giáo dục}} [[đánh giá|Đánh giá]] để [[lựa chọn]] những [[học sinh]] hoặc [[sinh viên]] đủ điều kiện [[dựa trên]] các [[tiêu chí]] và [[điều kiện]] theo [[quy định]]
{{mẫu}}
9158nasgg1rxigzd3uyuvidwlkuahub
đội quân thứ năm
0
408529
2463218
2026-07-18T17:23:17Z
Kateru Zakuro
34522
`
2463218
wikitext
text/x-wiki
=={{langname|vi}}==
==={{ĐM|pron}}===
{{vi-pron}}
==={{ĐM|noun}}===
{{vi-noun}}
# [[tổ chức|Tổ chức]] [[vũ trang]] [[bí mật]] với [[bề ngoài]] là [[hoạt động]] cho [[đối phương]], nhưng [[thực chất]] là [[đánh]] [[phá]] đối phương từ [[bên trong]].
=== {{ĐM|ref}} ===
* {{R:Tratu}}
qlk2d0k93mq4xl5mn2muhhdro21oxnb
chấp choáng
0
408530
2463226
2026-07-18T23:24:22Z
TheHighFighter2
42988
Trang mới: “{{also|chập choạng}} =={{langname|vi}}== ==={{ĐM|pron}}=== {{vi-pron}} ==={{ĐM|adj}}=== {{vi-adj}} # [[chếnh choáng|Chếnh choáng]], [[hoa mắt]], [[ngà ngà]] [[say]]. #* {{quote-web|vi|date=28-06-2017|author=Hoài Thu|title=Sát hại bạn thân vì ghen tuông|site=Công an nhân dân|url=https://cand.vn/sat-hai-ban-than-vi-ghen-tuong-post438225.html|passage=Khi hơi men '''chấp choáng''', cả ba bàn tính về nhà Q vừa uống rượu vừa s…”
2463226
wikitext
text/x-wiki
{{also|chập choạng}}
=={{langname|vi}}==
==={{ĐM|pron}}===
{{vi-pron}}
==={{ĐM|adj}}===
{{vi-adj}}
# [[chếnh choáng|Chếnh choáng]], [[hoa mắt]], [[ngà ngà]] [[say]].
#* {{quote-web|vi|date=28-06-2017|author=Hoài Thu|title=Sát hại bạn thân vì ghen tuông|site=Công an nhân dân|url=https://cand.vn/sat-hai-ban-than-vi-ghen-tuong-post438225.html|passage=Khi hơi men '''chấp choáng''', cả ba bàn tính về nhà Q vừa uống rượu vừa sử dụng ma túy để tăng độ kích thích.}}
# [[chập choạng|Chập choạng]], mờ tối.
#* {{quote-book|vi|year=1927|author=Tokai Sanshi|translator=w:Phan Châu Trinh|title=[[s:Giai nhơn kỳ ngộ/Hồi thứ ba|Giai nhơn kỳ ngộ]]|location=Hà Nội|publisher=Chân Phương|page=108|passage=Nàng càng cười nói rần rần:</br>« Trời đà '''chấp choáng''' cuốn cần về ta ».}}
# [[lấp loáng|Lấp loáng]].
#* {{quote-web|vi|date=11-11-2006|author=Trần Mộng Tú|title=Rượu|site=Da Màu|url=https://damau.org/en/13203/ruou|passage=Tiếng thủy tinh vỡ ròn tan, những mảnh sáng '''chấp choáng''' tung tóe trong không gian.}}
==={{ĐM|ref}}===
* {{R:Lê Văn Đức 1970|page=273}}
* {{R:Nguyễn Như Ý 1999|page=328}}
mhzgbxswgw5m3p5rm1ulm2vsjw3rofa
Thể loại:stu:Nước
14
408531
2463228
2026-07-19T00:11:49Z
WhoAlone
40420
Trang mới: “{{auto cat}}”
2463228
wikitext
text/x-wiki
{{auto cat}}
eomzlm5v4j7ond1phrju7cnue91g5qx
Thể loại:stu:Danh sách chủ đề thuộc nhóm liên quan
14
408532
2463229
2026-07-19T00:11:58Z
WhoAlone
40420
Trang mới: “{{auto cat}}”
2463229
wikitext
text/x-wiki
{{auto cat}}
eomzlm5v4j7ond1phrju7cnue91g5qx
Thể loại:stu:Chất lỏng
14
408533
2463230
2026-07-19T00:12:01Z
WhoAlone
40420
Trang mới: “{{auto cat}}”
2463230
wikitext
text/x-wiki
{{auto cat}}
eomzlm5v4j7ond1phrju7cnue91g5qx
Thể loại:stu:Vật chất
14
408534
2463231
2026-07-19T00:12:20Z
WhoAlone
40420
Trang mới: “{{auto cat}}”
2463231
wikitext
text/x-wiki
{{auto cat}}
eomzlm5v4j7ond1phrju7cnue91g5qx
Thể loại:stu:Danh sách chủ đề thuộc nhóm tập hợp
14
408535
2463232
2026-07-19T00:12:23Z
WhoAlone
40420
Trang mới: “{{auto cat}}”
2463232
wikitext
text/x-wiki
{{auto cat}}
eomzlm5v4j7ond1phrju7cnue91g5qx
Thể loại:stu:Tất cả chủ đề
14
408536
2463233
2026-07-19T00:12:25Z
WhoAlone
40420
Trang mới: “{{auto cat}}”
2463233
wikitext
text/x-wiki
{{auto cat}}
eomzlm5v4j7ond1phrju7cnue91g5qx
Thể loại:stu:Hóa học
14
408537
2463234
2026-07-19T00:12:33Z
WhoAlone
40420
Trang mới: “{{auto cat}}”
2463234
wikitext
text/x-wiki
{{auto cat}}
eomzlm5v4j7ond1phrju7cnue91g5qx
Thể loại:stu:Tự nhiên
14
408538
2463235
2026-07-19T00:12:35Z
WhoAlone
40420
Trang mới: “{{auto cat}}”
2463235
wikitext
text/x-wiki
{{auto cat}}
eomzlm5v4j7ond1phrju7cnue91g5qx
Thể loại:stu:Khoa học
14
408539
2463236
2026-07-19T00:13:01Z
WhoAlone
40420
Trang mới: “{{auto cat}}”
2463236
wikitext
text/x-wiki
{{auto cat}}
eomzlm5v4j7ond1phrju7cnue91g5qx
菸囪
0
408540
2463237
2026-07-19T00:23:55Z
WhoAlone
40420
Trang mới: “=={{langname|zh}}== {{zh-see|煙囪}}”
2463237
wikitext
text/x-wiki
=={{langname|zh}}==
{{zh-see|煙囪}}
f8ctd6uyda23y9qqy2wixiw2037vw0t
Thể loại:Ký tự tiếng Taz
14
408541
2463239
2026-07-19T00:25:19Z
WhoAlone
40420
Trang mới: “{{auto cat}}”
2463239
wikitext
text/x-wiki
{{auto cat}}
eomzlm5v4j7ond1phrju7cnue91g5qx
Thể loại:thm:Phương tiện giao thông
14
408542
2463241
2026-07-19T00:55:30Z
WhoAlone
40420
Trang mới: “{{auto cat}}”
2463241
wikitext
text/x-wiki
{{auto cat}}
eomzlm5v4j7ond1phrju7cnue91g5qx
Thể loại:thm:Danh sách chủ đề thuộc nhóm liên quan
14
408543
2463242
2026-07-19T00:55:39Z
WhoAlone
40420
Trang mới: “{{auto cat}}”
2463242
wikitext
text/x-wiki
{{auto cat}}
eomzlm5v4j7ond1phrju7cnue91g5qx
Thể loại:thm:Giao thông
14
408544
2463243
2026-07-19T00:55:42Z
WhoAlone
40420
Trang mới: “{{auto cat}}”
2463243
wikitext
text/x-wiki
{{auto cat}}
eomzlm5v4j7ond1phrju7cnue91g5qx
Thể loại:thm:Máy móc
14
408545
2463244
2026-07-19T00:55:44Z
WhoAlone
40420
Trang mới: “{{auto cat}}”
2463244
wikitext
text/x-wiki
{{auto cat}}
eomzlm5v4j7ond1phrju7cnue91g5qx
Thể loại:thm:Tất cả chủ đề
14
408546
2463245
2026-07-19T00:55:49Z
WhoAlone
40420
Trang mới: “{{auto cat}}”
2463245
wikitext
text/x-wiki
{{auto cat}}
eomzlm5v4j7ond1phrju7cnue91g5qx
Thể loại:thm:Danh sách chủ đề thuộc nhóm tập hợp
14
408547
2463246
2026-07-19T00:56:02Z
WhoAlone
40420
Trang mới: “{{auto cat}}”
2463246
wikitext
text/x-wiki
{{auto cat}}
eomzlm5v4j7ond1phrju7cnue91g5qx
Thể loại:thm:Công nghệ
14
408548
2463247
2026-07-19T00:57:02Z
WhoAlone
40420
Trang mới: “{{auto cat}}”
2463247
wikitext
text/x-wiki
{{auto cat}}
eomzlm5v4j7ond1phrju7cnue91g5qx
Thể loại:Mô đun tiếng Mã Lai Pattani
14
408549
2463248
2026-07-19T01:03:19Z
WhoAlone
40420
Trang mới: “{{auto cat}}”
2463248
wikitext
text/x-wiki
{{auto cat}}
eomzlm5v4j7ond1phrju7cnue91g5qx
Thể loại:Mô đun tiếng Isan
14
408550
2463249
2026-07-19T01:03:26Z
WhoAlone
40420
Trang mới: “{{auto cat}}”
2463249
wikitext
text/x-wiki
{{auto cat}}
eomzlm5v4j7ond1phrju7cnue91g5qx
Thể loại:Mô đun tiếng Saek
14
408551
2463250
2026-07-19T01:03:28Z
WhoAlone
40420
Trang mới: “{{auto cat}}”
2463250
wikitext
text/x-wiki
{{auto cat}}
eomzlm5v4j7ond1phrju7cnue91g5qx
Thể loại:Mô đun tiếng Thavưng
14
408552
2463251
2026-07-19T01:03:31Z
WhoAlone
40420
Trang mới: “{{auto cat}}”
2463251
wikitext
text/x-wiki
{{auto cat}}
eomzlm5v4j7ond1phrju7cnue91g5qx
Thể loại:Mô đun tiếng Nam Thái
14
408553
2463252
2026-07-19T01:05:00Z
WhoAlone
40420
Trang mới: “{{auto cat}}”
2463252
wikitext
text/x-wiki
{{auto cat}}
eomzlm5v4j7ond1phrju7cnue91g5qx
Thể loại:Mô đun tiếng Khün
14
408554
2463253
2026-07-19T01:05:08Z
WhoAlone
40420
Trang mới: “{{auto cat}}”
2463253
wikitext
text/x-wiki
{{auto cat}}
eomzlm5v4j7ond1phrju7cnue91g5qx
Thể loại:Mô đun tiếng Lawa Tây
14
408555
2463254
2026-07-19T01:05:14Z
WhoAlone
40420
Trang mới: “{{auto cat}}”
2463254
wikitext
text/x-wiki
{{auto cat}}
eomzlm5v4j7ond1phrju7cnue91g5qx
Thể loại:Mô đun tiếng Nyah Kur
14
408556
2463255
2026-07-19T01:07:11Z
WhoAlone
40420
Trang mới: “{{auto cat}}”
2463255
wikitext
text/x-wiki
{{auto cat}}
eomzlm5v4j7ond1phrju7cnue91g5qx
Thể loại:Mô đun tiếng Mã Lai Kedah
14
408557
2463256
2026-07-19T01:07:22Z
WhoAlone
40420
Trang mới: “{{auto cat}}”
2463256
wikitext
text/x-wiki
{{auto cat}}
eomzlm5v4j7ond1phrju7cnue91g5qx
Thể loại:Mô đun tiếng Thái
14
408558
2463257
2026-07-19T01:07:24Z
WhoAlone
40420
Trang mới: “{{auto cat}}”
2463257
wikitext
text/x-wiki
{{auto cat}}
eomzlm5v4j7ond1phrju7cnue91g5qx
Thể loại:Mô đun tiếng Ugong
14
408559
2463258
2026-07-19T01:07:26Z
WhoAlone
40420
Trang mới: “{{auto cat}}”
2463258
wikitext
text/x-wiki
{{auto cat}}
eomzlm5v4j7ond1phrju7cnue91g5qx
Thể loại:Tiếng Mã Lai Kedah
14
408560
2463259
2026-07-19T01:08:32Z
WhoAlone
40420
Trang mới: “{{auto cat}}”
2463259
wikitext
text/x-wiki
{{auto cat}}
eomzlm5v4j7ond1phrju7cnue91g5qx
2463260
2463259
2026-07-19T01:08:45Z
WhoAlone
40420
2463260
wikitext
text/x-wiki
{{auto cat|Malaysia}}
jvp7jjk6lzcixq8alz2zhcsck5bqq1i
Thể loại:Mô đun tiếng Nyaw
14
408561
2463261
2026-07-19T01:13:05Z
WhoAlone
40420
Trang mới: “{{auto cat}}”
2463261
wikitext
text/x-wiki
{{auto cat}}
eomzlm5v4j7ond1phrju7cnue91g5qx
Thể loại:Mô đun tiếng Chong
14
408562
2463262
2026-07-19T01:13:07Z
WhoAlone
40420
Trang mới: “{{auto cat}}”
2463262
wikitext
text/x-wiki
{{auto cat}}
eomzlm5v4j7ond1phrju7cnue91g5qx
Thể loại:Mô đun tiếng Lawa Đông
14
408563
2463263
2026-07-19T01:13:08Z
WhoAlone
40420
Trang mới: “{{auto cat}}”
2463263
wikitext
text/x-wiki
{{auto cat}}
eomzlm5v4j7ond1phrju7cnue91g5qx
Thể loại:Mô đun tiếng Yong
14
408564
2463264
2026-07-19T01:13:11Z
WhoAlone
40420
Trang mới: “{{auto cat}}”
2463264
wikitext
text/x-wiki
{{auto cat}}
eomzlm5v4j7ond1phrju7cnue91g5qx
Thể loại:Mô đun tiếng Bru Tây
14
408565
2463265
2026-07-19T01:13:13Z
WhoAlone
40420
Trang mới: “{{auto cat}}”
2463265
wikitext
text/x-wiki
{{auto cat}}
eomzlm5v4j7ond1phrju7cnue91g5qx
Thể loại:Mô đun tiếng Bắc Thái
14
408566
2463266
2026-07-19T01:13:19Z
WhoAlone
40420
Trang mới: “{{auto cat}}”
2463266
wikitext
text/x-wiki
{{auto cat}}
eomzlm5v4j7ond1phrju7cnue91g5qx
Thể loại:Mô đun tiếng Urak Lawoi'
14
408567
2463267
2026-07-19T01:13:21Z
WhoAlone
40420
Trang mới: “{{auto cat}}”
2463267
wikitext
text/x-wiki
{{auto cat}}
eomzlm5v4j7ond1phrju7cnue91g5qx
Thể loại:Mô đun tiếng Phạn
14
408568
2463268
2026-07-19T01:13:25Z
WhoAlone
40420
Trang mới: “{{auto cat}}”
2463268
wikitext
text/x-wiki
{{auto cat}}
eomzlm5v4j7ond1phrju7cnue91g5qx
Thể loại:Mô đun tiếng Bisu
14
408569
2463269
2026-07-19T01:13:33Z
WhoAlone
40420
Trang mới: “{{auto cat}}”
2463269
wikitext
text/x-wiki
{{auto cat}}
eomzlm5v4j7ond1phrju7cnue91g5qx
Thể loại:Mô đun tiếng Bru
14
408570
2463270
2026-07-19T01:13:38Z
WhoAlone
40420
Trang mới: “{{auto cat}}”
2463270
wikitext
text/x-wiki
{{auto cat}}
eomzlm5v4j7ond1phrju7cnue91g5qx
Thể loại:thm:Con người
14
408571
2463272
2026-07-19T01:28:18Z
WhoAlone
40420
Trang mới: “{{auto cat}}”
2463272
wikitext
text/x-wiki
{{auto cat}}
eomzlm5v4j7ond1phrju7cnue91g5qx
Mô đun:Hani-sortkey/data/unsupported
828
408572
2463273
2026-07-19T03:26:23Z
Hiyuune
50834
Trang mới: “return { ["⿰丿丨"] = "丿01", ["⿱𠆢𬼽"] = "人03", ["⿱北共"] = "八09", ["⿱⿻丅⿱冖⿰丶丶双"] = "冖08", ["⿱⿻丅⿱冖⿰丶丶令"] = "冖09", ["⿰十⿺专丶"] = "十05", ["⿰土肅"] = "土13", ["⿰⿸声耳殳"] = "士14", ["⿻㇒夫"] = "大02", ["⿰女人"] = "女02", ["⿱女子"] = "女03", ["⿱𡩧⿺進⿰貝招"] = "宀37", ["⿰扌幸"] = "手08", ["⿰扌𦍒"] = "手09", ["⿰车匡"] = "車06", ["⿱犬一"…”
2463273
Scribunto
text/plain
return {
["⿰丿丨"] = "丿01",
["⿱𠆢𬼽"] = "人03",
["⿱北共"] = "八09",
["⿱⿻丅⿱冖⿰丶丶双"] = "冖08",
["⿱⿻丅⿱冖⿰丶丶令"] = "冖09",
["⿰十⿺专丶"] = "十05",
["⿰土肅"] = "土13",
["⿰⿸声耳殳"] = "士14",
["⿻㇒夫"] = "大02",
["⿰女人"] = "女02",
["⿱女子"] = "女03",
["⿱𡩧⿺進⿰貝招"] = "宀37",
["⿰扌幸"] = "手08",
["⿰扌𦍒"] = "手09",
["⿰车匡"] = "車06",
["⿱犬一"] = "犬01",
["⿰男也"] = "田05",
["⿰纟恋"] = "糹10",
["⿱䒑合"] = "艸06",
["⿰⿳⿰SIR木阝"] = "邑11",
["⿳⻗人𰆊"] = "雨04",
["⿱成龙"] = "龍06",
["⿱成龍"] = "龍06",
["⿰帛封"] = "巾14",
}
i3ip3xthlo18pqoc2x45ask8xrwhbkz
Mô đun:inc-ash/dial/data/𑀇𑀤𑀸𑀦𑀺
828
408573
2463276
2026-07-19T03:39:03Z
Hiyuune
50834
Trang mới: “local export = {} export.list = { ["meaning"] = "bây giờ", ["note"] = "", ["Kalsi"] = { "𑀇𑀤𑀸𑀦𑀺" }, ["Rupnath"] = { "𑀤𑀸𑀦𑀺" }, ["Maski"] = { "𑀤𑀸𑀦𑀺" }, ["Mansehra"] = { "𐨀𐨁𐨡𐨣𐨁" }, ["Shahbazgarhi"] = { "𐨀𐨁𐨡𐨣𐨁" }, } return export”
2463276
Scribunto
text/plain
local export = {}
export.list = {
["meaning"] = "bây giờ",
["note"] = "",
["Kalsi"] = { "𑀇𑀤𑀸𑀦𑀺" },
["Rupnath"] = { "𑀤𑀸𑀦𑀺" },
["Maski"] = { "𑀤𑀸𑀦𑀺" },
["Mansehra"] = { "𐨀𐨁𐨡𐨣𐨁" },
["Shahbazgarhi"] = { "𐨀𐨁𐨡𐨣𐨁" },
}
return export
ciwcn37b93o8k08zsla110ruy2ipum4
දැන්
0
408574
2463278
2026-07-19T04:17:34Z
Hiyuune
50834
+ si
2463278
wikitext
text/x-wiki
=={{langname|si}}==
==={{section|etym}}===
{{inh+|si|sa|इदम्}}. Cùng gốc với {{cog|dv|ދެން}}
==={{section|pron}}===
* {{IPA4|si|/dæn/|[dæn]}}
==={{section|adv}}===
{{head|si|Phó từ}}
# [[bây giờ|Bây giờ]].
7w4n48014ts990akxynhjiqj6uuldri
ᦝᦱᧉ
0
408575
2463280
2026-07-19T04:23:39Z
Hiyuune
50834
Trang mới: “=={{langname|khb}}== ==={{section|etym}}=== Từ {{inh|khb|tai-pro|*vaːꟲ||bầu trời, thời tiết}}. Cùng gốc với {{cog|th|ฟ้า}}, {{cog|nod|ᨼ᩶ᩣ}}, {{cog|lo|ຟ້າ}}, {{cog|shn|ၽႃႉ}} hoặc {{mention|shn|ၾႃႉ}}, {{cog|aho|𑜇𑜠}}, {{mention|aho|𑜇𑜡}}, {{mention|aho|𑜇𑜨𑜠}}, {{mention|aho|𑜇𑜨𑜡}} hoặc {{mention|aho|𑜇𑜞𑜠}}, {{cog|za|fax}}. ==={{section|pron}}=== {{khb-pron}} ==={{section|noun}}=== {{khb…”
2463280
wikitext
text/x-wiki
=={{langname|khb}}==
==={{section|etym}}===
Từ {{inh|khb|tai-pro|*vaːꟲ||bầu trời, thời tiết}}. Cùng gốc với {{cog|th|ฟ้า}}, {{cog|nod|ᨼ᩶ᩣ}}, {{cog|lo|ຟ້າ}}, {{cog|shn|ၽႃႉ}} hoặc {{mention|shn|ၾႃႉ}}, {{cog|aho|𑜇𑜠}}, {{mention|aho|𑜇𑜡}}, {{mention|aho|𑜇𑜨𑜠}}, {{mention|aho|𑜇𑜨𑜡}} hoặc {{mention|aho|𑜇𑜞𑜠}}, {{cog|za|fax}}.
==={{section|pron}}===
{{khb-pron}}
==={{section|noun}}===
{{khb-noun|l=ᨼ᩶ᩣ}}
# [[bầu trời|Bầu trời]].
==={{section|further}}===
* {{R:khb:Hanna}}
37gaf9e6jyyjyk1wi7wiamc6j7ge7th
𑜇𑜠
0
408576
2463281
2026-07-19T04:24:51Z
Hiyuune
50834
Trang mới: “=={{langname|aho}}== ==={{section|etym}}=== Từ {{inh|aho|tai-pro|*vaːꟲ||[[bầu trời]]; [[thời tiết]]}}. Cùng gốc với {{cog|th|ฟ้า}}, {{cog|nod|ᨼ᩶ᩣ}}, {{cog|lo|ຟ້າ}}, {{cog|khb|ᦝᦱᧉ}}, {{cog|shn|ၽႃႉ}} hoặc {{mention|shn|ၾႃႉ}}. ==={{section|n}}=== {{head|aho|Danh từ}} # [[bầu trời|Bầu trời]].”
2463281
wikitext
text/x-wiki
=={{langname|aho}}==
==={{section|etym}}===
Từ {{inh|aho|tai-pro|*vaːꟲ||[[bầu trời]]; [[thời tiết]]}}. Cùng gốc với {{cog|th|ฟ้า}}, {{cog|nod|ᨼ᩶ᩣ}}, {{cog|lo|ຟ້າ}}, {{cog|khb|ᦝᦱᧉ}}, {{cog|shn|ၽႃႉ}} hoặc {{mention|shn|ၾႃႉ}}.
==={{section|n}}===
{{head|aho|Danh từ}}
# [[bầu trời|Bầu trời]].
a9258nucufhiqksiotrdss2nqwh3hlk
Bản mẫu:sa-pronoun form
10
408577
2463282
2026-07-19T04:26:55Z
Hiyuune
50834
Trang mới: “{{#invoke:sa-headword|show|Biến thể hình thái đại từ|def=अस्माकम्}}<!-- --><noinclude>{{documentation}}</noinclude>”
2463282
wikitext
text/x-wiki
{{#invoke:sa-headword|show|Biến thể hình thái đại từ|def=अस्माकम्}}<!--
--><noinclude>{{documentation}}</noinclude>
902kcd1yok9pyeftksjjmu3bowlb2a8
2463284
2463282
2026-07-19T04:27:56Z
Hiyuune
50834
Hiyuune đã đổi [[Bản mẫu:sa-pron form]] thành [[Bản mẫu:sa-pronoun form]]
2463282
wikitext
text/x-wiki
{{#invoke:sa-headword|show|Biến thể hình thái đại từ|def=अस्माकम्}}<!--
--><noinclude>{{documentation}}</noinclude>
902kcd1yok9pyeftksjjmu3bowlb2a8
अस्याम्
0
408578
2463283
2026-07-19T04:27:16Z
Hiyuune
50834
Trang mới: “=={{langname|sa}}== ==={{section|alternative script}}=== {{sa-alt}} ==={{section|etym}}=== Từ {{inh|sa|iir-pro|*ayám|*asyā́}}.<ref>{{R:HCHIEL|1901}}</ref> Cùng gốc với {{cog|ae-yng|𐬀𐬣𐬵𐬈}}.<ref>{{R:ae:Brill|73}}</ref> ==={{section|pron}}=== {{sa-IPA|a=2}} ==={{section|pronoun}}=== {{sa-pron form|tr=asyā́m}} # {{inflection of|sa|इदम्|tr=idám|t=đây||loc|ở|f|s}} ==={{section|ref}}=== {{reflist}}”
2463283
wikitext
text/x-wiki
=={{langname|sa}}==
==={{section|alternative script}}===
{{sa-alt}}
==={{section|etym}}===
Từ {{inh|sa|iir-pro|*ayám|*asyā́}}.<ref>{{R:HCHIEL|1901}}</ref> Cùng gốc với {{cog|ae-yng|𐬀𐬣𐬵𐬈}}.<ref>{{R:ae:Brill|73}}</ref>
==={{section|pron}}===
{{sa-IPA|a=2}}
==={{section|pronoun}}===
{{sa-pron form|tr=asyā́m}}
# {{inflection of|sa|इदम्|tr=idám|t=đây||loc|ở|f|s}}
==={{section|ref}}===
{{reflist}}
o76sj22ou4sscm0pdhabrfr6oahb73t
Bản mẫu:sa-pron form
10
408579
2463285
2026-07-19T04:27:56Z
Hiyuune
50834
Hiyuune đã đổi [[Bản mẫu:sa-pron form]] thành [[Bản mẫu:sa-pronoun form]]
2463285
wikitext
text/x-wiki
#đổi [[Bản mẫu:sa-pronoun form]]
a219kdjpmol07u99e3i6vus2qv8cvl0
Bản mẫu:sa-pron
10
408580
2463286
2026-07-19T04:31:19Z
Hiyuune
50834
Trang mới: “{{#invoke:sa-headword|show|Đại từ}}<noinclude>{{documentation}}</noinclude>”
2463286
wikitext
text/x-wiki
{{#invoke:sa-headword|show|Đại từ}}<noinclude>{{documentation}}</noinclude>
jjcappgtf4mtcq0ob7ebhr87asoo3ta
इदम्
0
408581
2463287
2026-07-19T04:32:59Z
Hiyuune
50834
+ sa
2463287
wikitext
text/x-wiki
=={{langname|sa}}==
==={{section|alt}}===
{{sa-alt}}
==={{section|etym}}===
{{dercat|sa|iir-pro|inc-pro|inh=2}}
{{inh+|sa|iir-pro|*ayám|*id-ám}}. Theo đó, dạng danh cách-đối cách là {{inh|sa|ine-pro|*ís|*(h₁)e-}} (ví dụ như, dạng sinh cách ở giống đực số ít với {{mention|sa|अस्य}} < {{m+|ine-pro||*(h₁)esyo}}). Cùng gốc với {{cog|la|id}}.
{{etystub|sa}}
==={{section|pron}}===
{{sa-IPA|a=2}}
==={{section|pronoun}}===
{{sa-pron|tr=idám}}
# [[đây|Đây]].
===={{section|decl}}====
{{sa-decl-adj-mfn|ayám|iyám|idám|nocat=1|pronominal=1|m_note=¹Vedic|f_note=¹Vedic|n_note=¹Vedic
|m_nom_s=ayám
|m_acc_s=imám
|m_ins_s=anéna,enā́¹
|m_dat_s=asmaí
|m_abl_s=asmā́t
|m_gen_s=asyá,imásya¹
|m_loc_s=asmín
|m_nom_d=imaú,imā́¹
|m_acc_d=imaú,imā́¹
|m_ins_d=ābhyā́m
|m_dat_d=ābhyā́m
|m_abl_d=ābhyā́m
|m_gen_d=anáyoḥ,ayóḥ¹
|m_loc_d=anáyoḥ,ayóḥ¹
|m_nom_p=imé
|m_acc_p=imā́n
|m_ins_p=ebhíḥ
|m_dat_p=ebhyáḥ
|m_abl_p=ebhyáḥ
|m_gen_p=eṣā́m
|m_loc_p=eṣú
|f_nom_s=iyám
|f_acc_s=imā́m
|f_ins_s=anáyā,ayā́¹
|f_dat_s=asyái
|f_abl_s=asyā́ḥ
|f_gen_s=asyā́ḥ
|f_loc_s=asyā́m
|f_nom_d=imé
|f_acc_d=imé
|f_ins_d=ābhyā́m
|f_dat_d=ābhyā́m
|f_abl_d=ābhyā́m
|f_gen_d=anáyoḥ,ayóḥ¹
|f_loc_d=anáyoḥ,ayóḥ¹
|f_nom_p=imā́ḥ
|f_acc_p=imā́ḥ
|f_ins_p=ābhíḥ
|f_dat_p=ābhyáḥ
|f_abl_p=ābhyáḥ
|f_gen_p=āsā́m
|f_loc_p=āsú
|n_nom_s=idám
|n_acc_s=idám
|n_ins_s=anéna,enā́¹
|n_dat_s=asmaí
|n_abl_s=asmā́t
|n_gen_s=asyá,imásya¹
|n_loc_s=asmín
|n_nom_d=imé
|n_acc_d=imé
|n_ins_d=ābhyā́m
|n_dat_d=ābhyā́m
|n_abl_d=ābhyā́m
|n_gen_d=anáyoḥ,ayóḥ¹
|n_loc_d=anáyoḥ,ayóḥ¹
|n_nom_p=imā́ni,imā́¹
|n_acc_p=imā́ni,imā́¹
|n_ins_p=ebhíḥ
|n_dat_p=ebhyáḥ
|n_abl_p=ebhyáḥ
|n_gen_p=eṣā́m
|n_loc_p=eṣú
|m_voc_s=-
|m_voc_d=-
|m_voc_p=-
|f_voc_s=-
|f_voc_d=-
|f_voc_p=-
|n_voc_s=-
|n_voc_d=-
|n_voc_p=-}}
==={{section|ref}}===
* {{R:MW|165|col=2-3}}
* {{R:EWAia|vol=1|page=103|head=ay-}}
* {{R:CDIAL|ayám|587|page=26}}
ce90ticu9u7tf59x6dnfqeivyhqw933
均勻
0
408582
2463288
2026-07-19T04:36:19Z
Hiyuune
50834
Trang mới: “{{also|均匀}} =={{langname|zh}}== {{zh-forms|s=均匀}} ==={{section|pron}}=== {{zh-pron |m=jūnyún |ma=Zh-junyún.ogg |c=gwan1 wan4 |mn=qz,xm:kun-ûn/zz:kin-în |cat=a }} ==={{section|adj}}=== {{head|zh|Tính từ}} # [[ngang bằng|Ngang bằng]]; [[đồng dạng]]; [[đều đặn]]. ===={{section|syn}}==== {{syn-saurus|zh|均衡}} ===={{section|rel}}==== * {{zh-l|勻稱}} {{cat|cmn|Intermediate Mandarin}}”
2463288
wikitext
text/x-wiki
{{also|均匀}}
=={{langname|zh}}==
{{zh-forms|s=均匀}}
==={{section|pron}}===
{{zh-pron
|m=jūnyún
|ma=Zh-junyún.ogg
|c=gwan1 wan4
|mn=qz,xm:kun-ûn/zz:kin-în
|cat=a
}}
==={{section|adj}}===
{{head|zh|Tính từ}}
# [[ngang bằng|Ngang bằng]]; [[đồng dạng]]; [[đều đặn]].
===={{section|syn}}====
{{syn-saurus|zh|均衡}}
===={{section|rel}}====
* {{zh-l|勻稱}}
{{cat|cmn|Intermediate Mandarin}}
mwgdaz10ooy05r7u6an56jk60c2ppxe
sè-sū
0
408583
2463291
2026-07-19T04:38:52Z
Hiyuune
50834
Trang mới: “=={{langname|nan-hbl}}== {{zh-see|世事|poj}}”
2463291
wikitext
text/x-wiki
=={{langname|nan-hbl}}==
{{zh-see|世事|poj}}
8kw30yuh327bse6m07ns1os7dmpzn83
sè-sīr
0
408584
2463292
2026-07-19T04:39:08Z
Hiyuune
50834
Trang mới: “=={{langname|nan-hbl}}== {{zh-see|世事|poj}}”
2463292
wikitext
text/x-wiki
=={{langname|nan-hbl}}==
{{zh-see|世事|poj}}
8kw30yuh327bse6m07ns1os7dmpzn83
sì-sū
0
408585
2463293
2026-07-19T04:39:19Z
Hiyuune
50834
Trang mới: “=={{langname|nan-hbl}}== {{zh-see|世事|poj}}”
2463293
wikitext
text/x-wiki
=={{langname|nan-hbl}}==
{{zh-see|世事|poj}}
8kw30yuh327bse6m07ns1os7dmpzn83
dềnh
0
408586
2463294
2026-07-19T05:38:04Z
TheHighFighter2
42988
Trang mới: “{{also|denh|-denh}} =={{langname|vi}}== ==={{ĐM|pron}}=== {{vi-IPA}} ==={{ĐM|verb}}=== {{vi-verb|溋, 盈}} # {{lb|vi|nước}} [[dâng|Dâng]] cao và [[tràn]] lên. # Bị [[nâng]] cao lên, tựa như vật [[nổi]] lên theo ngọn [[sóng]]. ==={{ĐM|ref}}=== * {{R:Tratu}}”
2463294
wikitext
text/x-wiki
{{also|denh|-denh}}
=={{langname|vi}}==
==={{ĐM|pron}}===
{{vi-IPA}}
==={{ĐM|verb}}===
{{vi-verb|溋, 盈}}
# {{lb|vi|nước}} [[dâng|Dâng]] cao và [[tràn]] lên.
# Bị [[nâng]] cao lên, tựa như vật [[nổi]] lên theo ngọn [[sóng]].
==={{ĐM|ref}}===
* {{R:Tratu}}
on0tn7dg2myp6n5gn81sc1nkgq4w3dm
2463295
2463294
2026-07-19T05:39:09Z
TheHighFighter2
42988
/* Động từ */ (sử dụng [[MediaWiki:Gadget-AjaxEdit.js|AjaxEdit]])
2463295
wikitext
text/x-wiki
{{also|denh|-denh}}
=={{langname|vi}}==
==={{ĐM|pron}}===
{{vi-IPA}}
==={{ĐM|verb}}===
{{vi-verb|[[溋]], [[盈]]}}
# {{lb|vi|nước}} [[dâng|Dâng]] cao và [[tràn]] lên.
# Bị [[nâng]] cao lên, tựa như vật [[nổi]] lên theo ngọn [[sóng]].
==={{ĐM|ref}}===
* {{R:Tratu}}
nsltu9qf5pc2tx0gcoiqb3na5pjzm4z
溫柔
0
408587
2463296
2026-07-19T05:39:32Z
Hiyuune
50834
+ zh
2463296
wikitext
text/x-wiki
{{also|温柔}}
=={{langname|zh}}==
{{zh-forms|s=温柔|t2=温柔}}
==={{section|pron}}===
{{zh-pron
|m=wēnróu
|ma=Zh-wenróu.ogg
|c=wan1 jau4
|mn=xm,qz,tp:un-liû/zz,kh:un-jiû
|cat=a
}}
==={{section|adj}}===
{{head|zh|Tính từ}}
# [[dịu dàng|Dịu dàng]], [[ngọt ngào]], [[tế nhị]], [[nhẹ nhàng]].
===={{section|drv}}====
{{col3|zh|溫柔鄉|溫柔敦厚|腼腆溫柔}}
===={{section|desc}}====
{{CJKV||j=温%柔|おん%じゅう|온유}}
==={{section|ref}}===
* {{thcwd|9683}}
{{cat|cmn|Advanced Mandarin}}
4wwo4md6xchl07gnqaqismqy5ey7e1q
Thể loại:thm:Tên ngôn ngữ
14
408588
2463300
2026-07-19T05:47:41Z
WhoAlone
40420
Trang mới: “{{auto cat}}”
2463300
wikitext
text/x-wiki
{{auto cat}}
eomzlm5v4j7ond1phrju7cnue91g5qx
Thể loại:thm:Danh sách chủ đề thuộc nhóm tên gọi
14
408589
2463301
2026-07-19T05:48:20Z
WhoAlone
40420
Trang mới: “{{auto cat}}”
2463301
wikitext
text/x-wiki
{{auto cat}}
eomzlm5v4j7ond1phrju7cnue91g5qx
Thể loại:thm:Ngôn ngữ
14
408590
2463302
2026-07-19T05:48:22Z
WhoAlone
40420
Trang mới: “{{auto cat}}”
2463302
wikitext
text/x-wiki
{{auto cat}}
eomzlm5v4j7ond1phrju7cnue91g5qx
Thể loại:thm:Giao tiếp
14
408591
2463303
2026-07-19T05:48:37Z
WhoAlone
40420
Trang mới: “{{auto cat}}”
2463303
wikitext
text/x-wiki
{{auto cat}}
eomzlm5v4j7ond1phrju7cnue91g5qx
kræve
0
408592
2463304
2026-07-19T05:51:02Z
Hiyuune
50834
+ da
2463304
wikitext
text/x-wiki
=={{langname|da}}==
==={{section|etym}}===
Từ {{der|da|non|krefja}}, từ {{inh|da|gem-pro|*krafjaną||đòi hỏi, yêu cầu}}, cùng gốc với {{cog|sv|kräva}}, {{cog|en|crave}}.
==={{section|pron}}===
* {{IPA4|da|/krɛːvə/|[ˈkʰʁ̥æːʋə]|[ˈkʰʁ̥æːʊ]}}
==={{section|v}}===
{{head|da|Động từ|thì quá khứ|krævede|phân từ quá khứ|krævet}}
# [[đòi hỏi|Đòi hỏi]], [[yêu cầu]].
===={{section|forms}}====
{{da-conj|kræv||er|ede|h|et}}
===={{section|drv]}====
* {{l|da|afkræve}}
* {{l|da|indkræve}}
* {{l|da|opkræve}}
===={{section|rel}}====
* {{l|da|krav}}
==={{section|ref}}===
* {{R:DDO}}
nkwklamfg1u0knwlpkz07liya1hgtvc
2463305
2463304
2026-07-19T05:51:09Z
Hiyuune
50834
/* Chia động từ */ (sử dụng [[MediaWiki:Gadget-AjaxEdit.js|AjaxEdit]])
2463305
wikitext
text/x-wiki
=={{langname|da}}==
==={{section|etym}}===
Từ {{der|da|non|krefja}}, từ {{inh|da|gem-pro|*krafjaną||đòi hỏi, yêu cầu}}, cùng gốc với {{cog|sv|kräva}}, {{cog|en|crave}}.
==={{section|pron}}===
* {{IPA4|da|/krɛːvə/|[ˈkʰʁ̥æːʋə]|[ˈkʰʁ̥æːʊ]}}
==={{section|v}}===
{{head|da|Động từ|thì quá khứ|krævede|phân từ quá khứ|krævet}}
# [[đòi hỏi|Đòi hỏi]], [[yêu cầu]].
===={{section|forms}}====
{{da-conj|kræv||er|ede|h|et}}
===={{section|drv}}====
* {{l|da|afkræve}}
* {{l|da|indkræve}}
* {{l|da|opkræve}}
===={{section|rel}}====
* {{l|da|krav}}
==={{section|ref}}===
* {{R:DDO}}
1b72ecxifldd6ce0jmfvolfuuv2uk7v
Y Lãng
0
408593
2463306
2026-07-19T05:59:48Z
Hiyuune
50834
+ vi
2463306
wikitext
text/x-wiki
=={{langname|vi}}==
==={{ĐM|etym}}===
{{vi-etym-sino|伊朗|[[Iran]]}}, từ {{der|vi|fa|ایران|tr=irân}}.
==={{ĐM|pron}}===
{{vi-IPA}}
* {{audio|vi|LL-Q9199 (vie)-Penn Zero MSSJ-Y Lãng.wav|a=Hanoi}}
==={{ĐM|pr-noun}}===
{{head|vi|Danh từ riêng|head=[[y|Y]] [[lãng|Lãng]]}}
# {{lb|vi|obsolete}} {{tcl|vi|Iran|id=Q794}}
gffkhc5bnqn08i8a628k3mpwy1vb907
Mô đun:category tree/lang/fax
828
408594
2463309
2026-07-19T06:03:55Z
Hiyuune
50834
Trang mới: “local labels = {} local unpack = unpack or table.unpack -- Lua 5.2 compatibility labels["Động từ kết thúc bằng -al"] = { description = "Fala first conjugation verbs, derived from Latin [[:Category:Latin first conjugation verbs|first conjugation (-āre) verbs]].", parents = {"Động từ theo loại chia động từ"}, } labels["Động từ kết thúc bằng -el"] = { description = "Fala second conjugation verbs, derived from Latin [[:Category:Latin sec…”
2463309
Scribunto
text/plain
local labels = {}
local unpack = unpack or table.unpack -- Lua 5.2 compatibility
labels["Động từ kết thúc bằng -al"] = {
description = "Fala first conjugation verbs, derived from Latin [[:Category:Latin first conjugation verbs|first conjugation (-āre) verbs]].",
parents = {"Động từ theo loại chia động từ"},
}
labels["Động từ kết thúc bằng -el"] = {
description = "Fala second conjugation verbs, derived from Latin [[:Category:Latin second conjugation verbs|second conjugation (-ēre)]] or [[:Category:Latin third conjugation verbs|third conjugation (-ere)]] verbs.",
parents = {"Động từ theo loại chia động từ"},
}
labels["Động từ kết thúc bằng -il"] = {
description = "Fala third conjugation verbs, derived from Latin [[:Category:Latin third conjugation verbs|third conjugation (-ere)]] or [[:Category:Latin fourth conjugation verbs|fourth conjugation (-īre)]] verbs.",
parents = {"Động từ theo loại chia động từ"},
}
local consonant_alternations = {
["c-qu"] = {"qu", "c"},
["c-z"] = {"c", "z"},
["g-gu"] = {"gu", "g"},
["gu-gü"] = {"gü", "gu"},
}
for alt, frontback in pairs(consonant_alternations) do
local desc
local front, back = unpack(frontback)
desc = "{{{langname}}} verbs whose final consonant alternates between ''" .. front .. "'' before front vowels (''e'', ''i'') " ..
"and ''" .. back .. "'' before back vowels (''a'', ''o'', ''u'')."
labels["verbs with " .. alt .. " alternation"] = {
description = desc,
displaytitle = "{{{langname}}} verbs with {{m|fax||" .. alt .. "}} alternation",
parents = {{name = "verbs by consonant alternation", sort = alt}},
breadcrumb = "{{mention|fax||" .. alt .. "}}",
}
end
return {LABELS = labels}
3pzbl3nzv75v8ohqtywtawa6f5ar9mk
Thể loại:Tiếng Fala
14
408595
2463311
2026-07-19T06:04:57Z
Hiyuune
50834
Trang mới: “{{auto cat|Tây Ban Nha}}”
2463311
wikitext
text/x-wiki
{{auto cat|Tây Ban Nha}}
o6h56yu1muhyb2kro1up1x6uqj8f1qv
мајка
0
408596
2463316
2026-07-19T06:51:41Z
Kelly zhrm
58416
Trang mới: “{{also|майка|Майка}} =={{langname|mk}}== ==={{ĐM|etym}}=== {{inh+|mk|sla-pro|*mati}}. ==={{ĐM|pron}}=== * {{mk-IPA}} * {{audio|mk|LL-Q9296 (mkd)-Jovan.kostov-мајка.wav}} * {{hyph|mk|мај|ка}} ==={{ĐM|n}}=== {{mk-noun|f|мајки|adj=мајкин|adj2=мајчин|adj3=мајчински|m=татко|dim=мајчичка|dim2=мајчица|dim3=мајче}} # [[mẹ|Mẹ]]. ===={{ĐM|decl}}==== {{mk-decl-noun-f}} ===={{ĐM|drv}}==== {{col4|mk…”
2463316
wikitext
text/x-wiki
{{also|майка|Майка}}
=={{langname|mk}}==
==={{ĐM|etym}}===
{{inh+|mk|sla-pro|*mati}}.
==={{ĐM|pron}}===
* {{mk-IPA}}
* {{audio|mk|LL-Q9296 (mkd)-Jovan.kostov-мајка.wav}}
* {{hyph|mk|мај|ка}}
==={{ĐM|n}}===
{{mk-noun|f|мајки|adj=мајкин|adj2=мајчин|adj3=мајчински|m=татко|dim=мајчичка|dim2=мајчица|dim3=мајче}}
# [[mẹ|Mẹ]].
===={{ĐM|decl}}====
{{mk-decl-noun-f}}
===={{ĐM|drv}}====
{{col4|mk
|мајкин
|мајчин
|мајчински
|мајковина<g:f>
|помајка<g:f>
|прамајка<g:f>
|примајка<g:f>
|неранимајка<g:m>
|неранимајко<g:m>
|мајче<g:n>
|мајчица<g:f>
|мајчичка<g:f>
|мајчинство<g:n>
|мајчин јазик<g:m>
}}
===={{ĐM|see}}====
* {{l|mk|мама|g=f}}, {{l|mk|мамин}}
{{C|mk|Thành viên nữ trong gia đình}}
=={{langname|sh}}==
==={{ĐM|etym}}===
Từ tiền thân {{mention|sh||*matka}}, xem {{mention|sh|ма̏ти}}.
==={{ĐM|pron}}===
* {{audio|sh|Sr-majka.ogg}}
* {{IPA4|sh|/mâːjka/}}
* {{hyphenation|sh|мај|ка}}
* {{rhymes|sh|âːjka|s=2}}
==={{ĐM|n}}===
{{sh-noun|ма̑јка|f|dim=ма̀јчица,ма̀јкица|adj=ма̑јчӣн,ма̑јчӣнскӣ,ма̑јкӣн}}
# [[mẹ|Mẹ]].
#: {{syn|sh|ма̏ти|ма̏ма}}
===={{ĐM|decl}}====
{{sh-decl-noun
|ма̑јка|мајке
|мајке|ма̑јкӣ / ма̑јка̄
|мајци|мајкама
|мајку|мајке
|мајко|мајке
|мајци|мајкама
|мајком|мајкама
}}
===={{ĐM|drv}}====
{{col3|sh|ча̏сна̄ ма̑јка
|ма̑јчӣнство
|ма̑јка Бо̏жја̄
}}
{{C|sh|Thành viên nữ trong gia đình}}
aak31cb00ycx8cd4poyuqrzy33eiymf
majka
0
408597
2463317
2026-07-19T06:55:46Z
Kelly zhrm
58416
Trang mới: “{{also|majka|májka|Majka|Majką}} =={{langname|sh}}== ==={{ĐM|etym}}=== Từ tiền thân {{mention|sh||*matka}}, xem {{mention|sh|mȁti}}. ==={{ĐM|pron}}=== * {{audio|sh|Sr-majka.ogg}} * {{IPA4|sh|/mâːjka/}} * {{hyphenation|sh|maj|ka}} * {{rhymes|sh|âːjka|s=2}} ==={{ĐM|n}}=== {{sh-noun|mȃjka|f|dim=màjčica,màjkica|adj=mȃjčīn|aug=majčurina,mȃjčīnskī,mȃjkīn}} # [[mẹ|Mẹ]]. #: {{syn|sh|mȁti|mȁma}} ===={{ĐM|decl}}==== {{sh-decl-noun |mȃjka|ma…”
2463317
wikitext
text/x-wiki
{{also|majka|májka|Majka|Majką}}
=={{langname|sh}}==
==={{ĐM|etym}}===
Từ tiền thân {{mention|sh||*matka}}, xem {{mention|sh|mȁti}}.
==={{ĐM|pron}}===
* {{audio|sh|Sr-majka.ogg}}
* {{IPA4|sh|/mâːjka/}}
* {{hyphenation|sh|maj|ka}}
* {{rhymes|sh|âːjka|s=2}}
==={{ĐM|n}}===
{{sh-noun|mȃjka|f|dim=màjčica,màjkica|adj=mȃjčīn|aug=majčurina,mȃjčīnskī,mȃjkīn}}
# [[mẹ|Mẹ]].
#: {{syn|sh|mȁti|mȁma}}
===={{ĐM|decl}}====
{{sh-decl-noun
|mȃjka|majke
|majke|mȃjkī / mȃjkā
|majci|majkama
|majku|majke
|majko|majke
|majci|majkama
|majkom|majkama
}}
===={{ĐM|drv}}====
{{col3|sh|čȁsnā mȃjka
|mȃjčīnstvo
|mȃjka Bȍžjā
}}
==={{ĐM|further}}===
* {{R:sh:HJP|e11uXRU%3D}}
{{C|sh|Thành viên nữ trong gia đình}}
b42jx74pwtoaby0ultlcj2fhdqv4n1t
L̃
0
408598
2463320
2026-07-19T08:09:26Z
Lcsnes
40261
Trang mới: “{{-Latn-}} ==={{ĐM|desction}}=== {{mul-letter}} #[[chữ cái|Chữ cái]] '''L viết hoa''' với dấu ngã (◌̃). ==={{ĐM|see}}=== {{Latn-script}} =={{langname|bza}}== ==={{ĐM|symbol}}=== {{head|bza|Ký tự}} #Chữ ''{{l|bza|L}} viết hoa'' với dấu mũi hóa. #:{{ux|bza|'''L̃'''áa|nhân vật A-ram trong Kinh Thánh|inline=1}} ==={{ĐM|ref}}=== *{{Chú thích web|bza|author=Bible Society in Liberia|work=Kɛ́lɛ Niinaí|year=2000|entryurl=https://www.bi…”
2463320
wikitext
text/x-wiki
{{-Latn-}}
==={{ĐM|desction}}===
{{mul-letter}}
#[[chữ cái|Chữ cái]] '''L viết hoa''' với dấu ngã (◌̃).
==={{ĐM|see}}===
{{Latn-script}}
=={{langname|bza}}==
==={{ĐM|symbol}}===
{{head|bza|Ký tự}}
#Chữ ''{{l|bza|L}} viết hoa'' với dấu mũi hóa.
#:{{ux|bza|'''L̃'''áa|nhân vật A-ram trong Kinh Thánh|inline=1}}
==={{ĐM|ref}}===
*{{Chú thích web|bza|author=Bible Society in Liberia|work=Kɛ́lɛ Niinaí|year=2000|entryurl=https://www.bible.com/bible/2827/MAT.1.KNNT|entry=MÁFIYU 1}}
=={{langname|chl|}}==
==={{ĐM|pron}}===
*{{IPA4|chl|/ʎ/}}
==={{ĐM|letter}}===
{{letter|chl}}
#Chữ cái thứ 15 viết hoa trong bảng chữ cái Latinh tiếng Cahuilla.
===={{ĐM|see}}====
*{{letters|lang=chl|sc=Latn|qual=Bảng chữ cái Latinh tiếng Cahuilla|Aa|Aa/aa|Bb|Čč|Dd|Ee|Ee/ee|Gg|Hh|Ii|Ii/ii|Kk|Kʷ/kʷ|Ll|L̃/l̃|Mm|Nn|Ññ|Ŋŋ|Oo|Oo/oo|Pp|Qq|Rr|Ss|Šš|Tt|Uu|Uu/uu|Vv|Ww|Xx|Xʷ/xʷ|Yy|Ɂɂ}}
s5x5kojxtjqjiia219vi2wd6w9gyegn
2463465
2463320
2026-07-19T10:50:41Z
Hiyuune
50834
2463465
wikitext
text/x-wiki
{{also|Phụ lục:Biến thể của "l"}}
=={{langname|mul}}==
==={{ĐM|desction}}===
{{mul-letter}}
# [[chữ cái|Chữ cái]] '''L viết hoa''' với dấu ngã (◌̃).
==={{ĐM|see}}===
{{Latn-script}}
=={{langname|bza}}==
==={{ĐM|symbol}}===
{{head|bza|Ký tự}}
# Chữ ''{{l|bza|L}} viết hoa'' với dấu mũi hóa.
#:{{ux|bza|'''L̃'''áa|nhân vật A-ram trong Kinh Thánh|inline=1}}
==={{ĐM|ref}}===
*{{Chú thích web|bza|author=Bible Society in Liberia|work=Kɛ́lɛ Niinaí|year=2000|entryurl=https://www.bible.com/bible/2827/MAT.1.KNNT|entry=MÁFIYU 1}}
=={{langname|chl|}}==
==={{ĐM|pron}}===
*{{IPA4|chl|/ʎ/}}
==={{ĐM|letter}}===
{{head|chl|Chữ cái}}
# Chữ cái thứ 15 viết hoa trong bảng chữ cái Latinh tiếng Cahuilla.
===={{ĐM|see}}====
*{{letters|lang=chl|sc=Latn|qual=Bảng chữ cái Latinh tiếng Cahuilla|Aa|Aa/aa|Bb|Čč|Dd|Ee|Ee/ee|Gg|Hh|Ii|Ii/ii|Kk|Kʷ/kʷ|Ll|L̃/l̃|Mm|Nn|Ññ|Ŋŋ|Oo|Oo/oo|Pp|Qq|Rr|Ss|Šš|Tt|Uu|Uu/uu|Vv|Ww|Xx|Xʷ/xʷ|Yy|Ɂɂ}}
5mfu9i4cwar1epw51uq2dbi79s7zibb
Thể loại:Tên gọi tiếng Anh
14
408599
2463400
2026-07-19T08:36:10Z
Kateru Zakuro
34522
Trang mới: “{{auto cat}}”
2463400
wikitext
text/x-wiki
{{auto cat}}
eomzlm5v4j7ond1phrju7cnue91g5qx
まいこ
0
408600
2463405
2026-07-19T09:32:22Z
WhoAlone
40420
Trang mới: “=={{langname|ja}}== {{ja-see|毎戸|舞子|舞衣子|真依子|麻衣子}}”
2463405
wikitext
text/x-wiki
=={{langname|ja}}==
{{ja-see|毎戸|舞子|舞衣子|真依子|麻衣子}}
ahxmyko1c2pp2rdxkqpg7g0xiu54tug
舞衣子
0
408601
2463406
2026-07-19T09:33:50Z
WhoAlone
40420
Trang mới: “=={{langname|ja}}== {{ja-kanjitab|ま|い|こ}} ==={{ĐM|pr-noun}}=== {{ja-pos|proper|まいこ}} # {{given name|ja|nữ|sort=まいこ}}”
2463406
wikitext
text/x-wiki
=={{langname|ja}}==
{{ja-kanjitab|ま|い|こ}}
==={{ĐM|pr-noun}}===
{{ja-pos|proper|まいこ}}
# {{given name|ja|nữ|sort=まいこ}}
j76hrqi0dstcgnb9g48oedwuooqg723
Thể loại:Từ đánh vần với 舞 là ま tiếng Nhật
14
408602
2463407
2026-07-19T09:34:52Z
WhoAlone
40420
Trang mới: “{{auto cat|k}}”
2463407
wikitext
text/x-wiki
{{auto cat|k}}
nh04xahpn83v73hy3e8gd7rf8lq5xcp
Thể loại:Từ đánh vần với 舞 tiếng Nhật
14
408603
2463408
2026-07-19T09:35:24Z
WhoAlone
40420
Trang mới: “{{auto cat}}”
2463408
wikitext
text/x-wiki
{{auto cat}}
eomzlm5v4j7ond1phrju7cnue91g5qx
Thể loại:Từ đánh vần với 舞 theo ngôn ngữ
14
408604
2463409
2026-07-19T09:36:01Z
WhoAlone
40420
Trang mới: “{{auto cat}}”
2463409
wikitext
text/x-wiki
{{auto cat}}
eomzlm5v4j7ond1phrju7cnue91g5qx
真依子
0
408605
2463410
2026-07-19T09:36:57Z
WhoAlone
40420
Trang mới: “=={{langname|ja}}== {{ja-kanjitab|ま|い|こ}} ==={{ĐM|pr-noun}}=== {{ja-pos|proper|まいこ}} # {{given name|ja|nữ|sort=まいこ}}”
2463410
wikitext
text/x-wiki
=={{langname|ja}}==
{{ja-kanjitab|ま|い|こ}}
==={{ĐM|pr-noun}}===
{{ja-pos|proper|まいこ}}
# {{given name|ja|nữ|sort=まいこ}}
j76hrqi0dstcgnb9g48oedwuooqg723
眞依子
0
408606
2463411
2026-07-19T09:37:35Z
WhoAlone
40420
Trang mới: “=={{langname|ja}}== {{ja-see|真依子}}”
2463411
wikitext
text/x-wiki
=={{langname|ja}}==
{{ja-see|真依子}}
n9x4uxozqess41m7qc83edjzvm5lmxf
麻衣子
0
408607
2463412
2026-07-19T09:39:25Z
WhoAlone
40420
Trang mới: “=={{langname|ja}}== {{ja-kanjitab|ま|い|こ}} ==={{ĐM|pr-noun}}=== {{ja-pos|proper|まいこ}} # {{given name|ja|nữ|sort=まいこ}}”
2463412
wikitext
text/x-wiki
=={{langname|ja}}==
{{ja-kanjitab|ま|い|こ}}
==={{ĐM|pr-noun}}===
{{ja-pos|proper|まいこ}}
# {{given name|ja|nữ|sort=まいこ}}
j76hrqi0dstcgnb9g48oedwuooqg723
ほみこ
0
408608
2463413
2026-07-19T09:40:23Z
WhoAlone
40420
Trang mới: “=={{langname|ja}}== {{ja-see|保実子|穂実子}}”
2463413
wikitext
text/x-wiki
=={{langname|ja}}==
{{ja-see|保実子|穂実子}}
gnmjzrlh3g6qi4km6csy7dcny8zddzc
保実子
0
408609
2463414
2026-07-19T09:40:45Z
WhoAlone
40420
Trang mới: “=={{langname|ja}}== {{ja-kanjitab|ほ|み|こ}} ==={{ĐM|pr-noun}}=== {{ja-pos|proper|ほみこ}} # {{given name|ja|nữ|sort=ほみこ}}”
2463414
wikitext
text/x-wiki
=={{langname|ja}}==
{{ja-kanjitab|ほ|み|こ}}
==={{ĐM|pr-noun}}===
{{ja-pos|proper|ほみこ}}
# {{given name|ja|nữ|sort=ほみこ}}
9rxwpyramxh97gqswomoe2idur647kx
青红灯
0
408610
2463415
2026-07-19T09:40:49Z
Hiyuune
50834
Trang mới: “=={{langname|zh}}== {{zh-see|青紅燈}}”
2463415
wikitext
text/x-wiki
=={{langname|zh}}==
{{zh-see|青紅燈}}
1wzcyfwk1dd5vjjapjmay38a9na7msb
保實子
0
408611
2463416
2026-07-19T09:41:34Z
WhoAlone
40420
Trang mới: “=={{langname|ja}}== {{ja-see|保実子}}”
2463416
wikitext
text/x-wiki
=={{langname|ja}}==
{{ja-see|保実子}}
jykyiyg3dmcyi2bhxrr1riv5ovay85m
穂実子
0
408612
2463417
2026-07-19T09:42:05Z
WhoAlone
40420
Trang mới: “=={{langname|ja}}== {{ja-kanjitab|ほ|み|こ}} ==={{ĐM|pr-noun}}=== {{ja-pos|proper|ほみこ}} # {{given name|ja|nữ|sort=ほみこ}}”
2463417
wikitext
text/x-wiki
=={{langname|ja}}==
{{ja-kanjitab|ほ|み|こ}}
==={{ĐM|pr-noun}}===
{{ja-pos|proper|ほみこ}}
# {{given name|ja|nữ|sort=ほみこ}}
9rxwpyramxh97gqswomoe2idur647kx
紅青燈
0
408613
2463418
2026-07-19T09:43:21Z
Hiyuune
50834
Trang mới: “=={{langname|zh}}== {{zh-forms|s=红青灯}} ==={{section|pron}}=== {{zh-pron |m=hóngqīngdēng |h=pfs=fùng-chhiâng-tên;hrs=h:fung ciangˋ denˋ |mn=twk:âng-chheⁿ-teng |cat=n }} ==={{section|n}}=== {{head|zh|Danh từ}} # {{lb|zh|Taiwanese Hokkien|Taiwanese Hakka|Malaysia|Singapore}} [[đèn giao thông|Đèn giao thông]]. ===={{section|syn}}==== {{zh-dial|紅綠燈}}”
2463418
wikitext
text/x-wiki
=={{langname|zh}}==
{{zh-forms|s=红青灯}}
==={{section|pron}}===
{{zh-pron
|m=hóngqīngdēng
|h=pfs=fùng-chhiâng-tên;hrs=h:fung ciangˋ denˋ
|mn=twk:âng-chheⁿ-teng
|cat=n
}}
==={{section|n}}===
{{head|zh|Danh từ}}
# {{lb|zh|Taiwanese Hokkien|Taiwanese Hakka|Malaysia|Singapore}} [[đèn giao thông|Đèn giao thông]].
===={{section|syn}}====
{{zh-dial|紅綠燈}}
jr736u1kyoam4rtc02uw2s3pcjcj99c
红青灯
0
408614
2463419
2026-07-19T09:43:59Z
Hiyuune
50834
Trang mới: “=={{langname|zh}}== {{zh-see|紅青燈}}”
2463419
wikitext
text/x-wiki
=={{langname|zh}}==
{{zh-see|紅青燈}}
o9gar7bf46kh6o05gxetl6m8sqimtac
穗實子
0
408615
2463420
2026-07-19T09:44:24Z
WhoAlone
40420
Trang mới: “=={{langname|ja}}== {{ja-see|穂実子}}”
2463420
wikitext
text/x-wiki
=={{langname|ja}}==
{{ja-see|穂実子}}
112k8g9bo9thwaltd91w10axzcuae45
菩乃花
0
408616
2463421
2026-07-19T09:45:05Z
WhoAlone
40420
Trang mới: “=={{langname|ja}}== {{ja-kanjitab|ほ|の|か}} ==={{ĐM|pr-noun}}=== {{ja-pos|proper|ほのか}} # {{given name|ja|nữ|sort=ほのか}}”
2463421
wikitext
text/x-wiki
=={{langname|ja}}==
{{ja-kanjitab|ほ|の|か}}
==={{ĐM|pr-noun}}===
{{ja-pos|proper|ほのか}}
# {{given name|ja|nữ|sort=ほのか}}
f24p6u2ai96ezkj105w67meh0v7apfg
紅青火
0
408617
2463422
2026-07-19T09:45:51Z
Hiyuune
50834
Trang mới: “=={{langname|zh}}== {{zh-forms|s=红青火}} ==={{section|pron}}=== {{zh-pron |mn=pn:âng-chheⁿ-hóe |cat=n }} ==={{section|noun}}=== {{head|zh|Danh từ}} # {{lb|zh|Penang Hokkien}} [[đèn giao thông|Đèn giao thông]]. ===={{section|syn}}==== {{zh-dial|紅綠燈}}”
2463422
wikitext
text/x-wiki
=={{langname|zh}}==
{{zh-forms|s=红青火}}
==={{section|pron}}===
{{zh-pron
|mn=pn:âng-chheⁿ-hóe
|cat=n
}}
==={{section|noun}}===
{{head|zh|Danh từ}}
# {{lb|zh|Penang Hokkien}} [[đèn giao thông|Đèn giao thông]].
===={{section|syn}}====
{{zh-dial|紅綠燈}}
ni7cy2scmhpvh8wcb8gs06ubsdvx0ox
红青火
0
408618
2463423
2026-07-19T09:47:42Z
Hiyuune
50834
Trang mới: “=={{langname|zh}}== {{zh-see|紅青火}}”
2463423
wikitext
text/x-wiki
=={{langname|zh}}==
{{zh-see|紅青火}}
48t161hmsowecyk3t1r10l09nfvawcg
まさみ
0
408619
2463424
2026-07-19T09:47:54Z
WhoAlone
40420
Trang mới: “=={{langname|ja}}== ==={{ĐM|pr-noun}}=== {{ja-pos|proper}} # {{ja-def|誠実|信実|真実}} {{given name|ja|nữ}} # {{ja-def|雅実|正海|正巳|昌己|昌美}} {{given name|ja|nam}} # {{ja-def|雅美}} {{given name|ja|cả hai giới}}”
2463424
wikitext
text/x-wiki
=={{langname|ja}}==
==={{ĐM|pr-noun}}===
{{ja-pos|proper}}
# {{ja-def|誠実|信実|真実}} {{given name|ja|nữ}}
# {{ja-def|雅実|正海|正巳|昌己|昌美}} {{given name|ja|nam}}
# {{ja-def|雅美}} {{given name|ja|cả hai giới}}
c4przi4cwn4qnwveobndk4b7tyg30mv
Masami
0
408620
2463425
2026-07-19T09:48:16Z
WhoAlone
40420
Trang mới: “=={{langname|ja}}== ==={{ĐM|rom}}=== {{ja-romaji}} # {{ja-romanization of|まさみ}}”
2463425
wikitext
text/x-wiki
=={{langname|ja}}==
==={{ĐM|rom}}===
{{ja-romaji}}
# {{ja-romanization of|まさみ}}
abn19jshihnb879dig7zenr3ux2rnk0
誠実
0
408621
2463426
2026-07-19T09:51:38Z
WhoAlone
40420
Trang mới: “{{also|诚实|誠實}} =={{langname|ja}}== ==={{ĐM|etym}} 1=== {{ja-kanjitab|せい|じつ|yomi=kanon,kan}} Từ {{der|ja|ltc|-}} {{ltc-l|誠實}}. ===={{ĐM|pron}}==== {{ja-pron|せいじつ|acc=0|acc_ref=DJR}} ===={{ĐM|noun}}==== {{ja-noun|せいじつ}} # Sự [[trung thực]], [[chính trực]]. ====={{ĐM|derived}}===== * {{ja-r|不誠実|ふせいじつ|sự thiếu trung thực; sự thiếu chính trực}} ===={{ĐM|adj}}==== {{ja-adj|infl=na|せいじつ}…”
2463426
wikitext
text/x-wiki
{{also|诚实|誠實}}
=={{langname|ja}}==
==={{ĐM|etym}} 1===
{{ja-kanjitab|せい|じつ|yomi=kanon,kan}}
Từ {{der|ja|ltc|-}} {{ltc-l|誠實}}.
===={{ĐM|pron}}====
{{ja-pron|せいじつ|acc=0|acc_ref=DJR}}
===={{ĐM|noun}}====
{{ja-noun|せいじつ}}
# Sự [[trung thực]], [[chính trực]].
====={{ĐM|derived}}=====
* {{ja-r|不誠実|ふせいじつ|sự thiếu trung thực; sự thiếu chính trực}}
===={{ĐM|adj}}====
{{ja-adj|infl=na|せいじつ}}
# [[trung thực]], [[chính trực]].
====={{ĐM|inflection}}=====
{{ja-na|せいじつ}}
==={{ĐM|etym}} 2===
{{ja-kanjitab|なる|み|yomi=n|kyu=-}}
{{ja-kanjitab|ま|さみ|yomi=n|kyu=-}}
===={{ĐM|pr-noun}}====
{{ja-pos|proper|なるみ|まさみ}}
# {{given name|ja|nữ|sort=まさみ}}
==={{ĐM|ref}}===
<references/>
:* {{R:Kanjipedia Kotoba|0003914000}}
rx3st9v5ndkcc9n8iklx6q84mpyuy3q
なるみ
0
408622
2463427
2026-07-19T09:53:51Z
WhoAlone
40420
Trang mới: “=={{langname|ja}}== {{ja-see|希望|成海|鳴海|成美|成実|鳴見|成見}}”
2463427
wikitext
text/x-wiki
=={{langname|ja}}==
{{ja-see|希望|成海|鳴海|成美|成実|鳴見|成見}}
r57h5i2w8axs79ukx8f3hseszp1m2m3
2463428
2463427
2026-07-19T09:55:42Z
WhoAlone
40420
2463428
wikitext
text/x-wiki
=={{langname|ja}}==
{{ja-see|希望|成海|鳴海|成美|成実|鳴見|成見|誠実}}
ds0sdkxz2mmh2sa5zqos90919t1acv9
せいじつ
0
408623
2463429
2026-07-19T09:56:02Z
WhoAlone
40420
Trang mới: “=={{langname|ja}}== {{ja-see|誠実}}”
2463429
wikitext
text/x-wiki
=={{langname|ja}}==
{{ja-see|誠実}}
go8uznmxpo6p4kddeiuwq99n6vwd8h9
鳴海
0
408624
2463430
2026-07-19T09:56:45Z
WhoAlone
40420
Trang mới: “=={{langname|ja}}== {{ja-kanjitab|な|o1=る|み|yomi=k}} ==={{ĐM|pr-noun}}=== {{ja-pos|proper|なるみ}} # {{surname|ja|sort=なるみ}}”
2463430
wikitext
text/x-wiki
=={{langname|ja}}==
{{ja-kanjitab|な|o1=る|み|yomi=k}}
==={{ĐM|pr-noun}}===
{{ja-pos|proper|なるみ}}
# {{surname|ja|sort=なるみ}}
psivphyf47uzgksf3pfbgnvnm0egqel
成美
0
408625
2463431
2026-07-19T09:57:38Z
WhoAlone
40420
Trang mới: “=={{langname|ja}}== {{ja-kanjitab|なる|み}} ==={{ĐM|pr-noun}}=== {{ja-pos|proper|なるみ}} # {{given name|ja|nữ|sort=なるみ}}”
2463431
wikitext
text/x-wiki
=={{langname|ja}}==
{{ja-kanjitab|なる|み}}
==={{ĐM|pr-noun}}===
{{ja-pos|proper|なるみ}}
# {{given name|ja|nữ|sort=なるみ}}
r05dwpionrpq4d4ud1w62oxqsbuegnf
成実
0
408626
2463432
2026-07-19T09:58:07Z
WhoAlone
40420
Trang mới: “=={{langname|ja}}== {{ja-kanjitab|なる|み}} ==={{ĐM|pr-noun}}=== {{ja-pos|proper|なるみ}} # {{given name|ja|nữ|sort=なるみ}}”
2463432
wikitext
text/x-wiki
=={{langname|ja}}==
{{ja-kanjitab|なる|み}}
==={{ĐM|pr-noun}}===
{{ja-pos|proper|なるみ}}
# {{given name|ja|nữ|sort=なるみ}}
r05dwpionrpq4d4ud1w62oxqsbuegnf
成實
0
408627
2463433
2026-07-19T09:59:33Z
WhoAlone
40420
Trang mới: “=={{langname|ja}}== {{ja-see|成実}}”
2463433
wikitext
text/x-wiki
=={{langname|ja}}==
{{ja-see|成実}}
0baoymhtqgkertv6bpgj7az17p1r9in
信実
0
408628
2463434
2026-07-19T10:00:41Z
WhoAlone
40420
Trang mới: “=={{langname|ja}}== {{ja-kanjitab|しん|じつ|yomi=o}} ==={{ĐM|noun}}=== {{ja-noun|しんじつ}} # Sự [[trung thực]], [[chính trực]]. ===={{ĐM|antonym}}==== * {{ja-r|不信実|ふしんじつ}} ==={{ĐM|pr-noun}}=== {{ja-pos|proper|のぶざね}} # {{surname|ja|sort=のぶざね}} # {{lb|ja|obsolete|sort=のぶざね}} {{given name|ja|nam|sort=のぶざね}} ==={{ĐM|pr-noun}}=== {{ja-pos|proper|のぶみ}} # {{given name|ja|nam|sort=のぶみ}} ==={{…”
2463434
wikitext
text/x-wiki
=={{langname|ja}}==
{{ja-kanjitab|しん|じつ|yomi=o}}
==={{ĐM|noun}}===
{{ja-noun|しんじつ}}
# Sự [[trung thực]], [[chính trực]].
===={{ĐM|antonym}}====
* {{ja-r|不信実|ふしんじつ}}
==={{ĐM|pr-noun}}===
{{ja-pos|proper|のぶざね}}
# {{surname|ja|sort=のぶざね}}
# {{lb|ja|obsolete|sort=のぶざね}} {{given name|ja|nam|sort=のぶざね}}
==={{ĐM|pr-noun}}===
{{ja-pos|proper|のぶみ}}
# {{given name|ja|nam|sort=のぶみ}}
==={{ĐM|pr-noun}}===
{{ja-pos|proper|まさみ}}
# {{given name|ja|nữ|sort=まさみ}}
==={{ĐM|ref}}===
* {{R:Kanjipedia Kotoba|0003601000}}
cumg9wcooadbtnygo1049p9vmegevcf
信實
0
408629
2463435
2026-07-19T10:01:38Z
WhoAlone
40420
Trang mới: “=={{langname|ja}}== {{ja-see|信実}}”
2463435
wikitext
text/x-wiki
=={{langname|ja}}==
{{ja-see|信実}}
l01cnbbki7z29urbvzqgwmzzfp1u4fy
しんじつ
0
408630
2463436
2026-07-19T10:03:31Z
WhoAlone
40420
Trang mới: “{{also|しんしつ|じんじつ}} =={{langname|ja}}== {{ja-see|真実|信実|親昵}}”
2463436
wikitext
text/x-wiki
{{also|しんしつ|じんじつ}}
=={{langname|ja}}==
{{ja-see|真実|信実|親昵}}
83nsmd9yejocfhuuflx6bb6afq7b3yf
のぶざね
0
408631
2463437
2026-07-19T10:04:17Z
WhoAlone
40420
Trang mới: “=={{langname|ja}}== {{ja-see|信実}}”
2463437
wikitext
text/x-wiki
=={{langname|ja}}==
{{ja-see|信実}}
l01cnbbki7z29urbvzqgwmzzfp1u4fy
のぶみ
0
408632
2463438
2026-07-19T10:04:19Z
WhoAlone
40420
Trang mới: “=={{langname|ja}}== {{ja-see|信実}}”
2463438
wikitext
text/x-wiki
=={{langname|ja}}==
{{ja-see|信実}}
l01cnbbki7z29urbvzqgwmzzfp1u4fy
shinjitsu
0
408633
2463439
2026-07-19T10:04:45Z
WhoAlone
40420
Trang mới: “=={{langname|ja}}== ==={{ĐM|rom}}=== {{ja-romaji}} # {{ja-romanization of|しんじつ}}”
2463439
wikitext
text/x-wiki
=={{langname|ja}}==
==={{ĐM|rom}}===
{{ja-romaji}}
# {{ja-romanization of|しんじつ}}
gw7fo797l3faewwan841l6jaj0dx1id
雅実
0
408634
2463440
2026-07-19T10:07:03Z
WhoAlone
40420
Trang mới: “=={{langname|ja}}== {{ja-kanjitab|まさ|み}} ==={{ĐM|pron}}=== {{ja-pron|まさみ}} ==={{ĐM|pr-noun}}=== {{ja-pos|proper|まさみ}} # {{given name|ja|nam|sort=まさみ}}”
2463440
wikitext
text/x-wiki
=={{langname|ja}}==
{{ja-kanjitab|まさ|み}}
==={{ĐM|pron}}===
{{ja-pron|まさみ}}
==={{ĐM|pr-noun}}===
{{ja-pos|proper|まさみ}}
# {{given name|ja|nam|sort=まさみ}}
8gzcdvrmtl6dgw6reltvupyflr30djr
雅實
0
408635
2463441
2026-07-19T10:09:34Z
WhoAlone
40420
Trang mới: “=={{langname|ja}}== {{ja-see|雅実}}”
2463441
wikitext
text/x-wiki
=={{langname|ja}}==
{{ja-see|雅実}}
clofj5zz30kkla3jyi88ahg8oy3dvcx
正海
0
408636
2463442
2026-07-19T10:10:44Z
WhoAlone
40420
Trang mới: “=={{langname|ja}}== {{ja-kanjitab|まさ|み}} ==={{ĐM|pr-noun}}=== {{ja-pos|proper|まさみ}} # {{given name|ja|nam|sort=まさみ}}”
2463442
wikitext
text/x-wiki
=={{langname|ja}}==
{{ja-kanjitab|まさ|み}}
==={{ĐM|pr-noun}}===
{{ja-pos|proper|まさみ}}
# {{given name|ja|nam|sort=まさみ}}
fjoaor5i7xqsrl7wsuin1kjopvlbbp8
正巳
0
408637
2463443
2026-07-19T10:11:40Z
WhoAlone
40420
Trang mới: “=={{langname|ja}}== {{ja-kanjitab|まさ|み|yomi=k}} ==={{ĐM|pron}}=== {{ja-pron|まさみ}} ==={{ĐM|pr-noun}}=== {{ja-pos|proper|まさみ}} # {{given name|ja|nam|sort=まさみ}}”
2463443
wikitext
text/x-wiki
=={{langname|ja}}==
{{ja-kanjitab|まさ|み|yomi=k}}
==={{ĐM|pron}}===
{{ja-pron|まさみ}}
==={{ĐM|pr-noun}}===
{{ja-pos|proper|まさみ}}
# {{given name|ja|nam|sort=まさみ}}
1vuiry9bkewq3wvb70bjy5tonpcmky7
昌己
0
408638
2463444
2026-07-19T10:12:35Z
WhoAlone
40420
Trang mới: “=={{langname|ja}}== ==={{ĐM|pr-noun}}=== {{ja-kanjitab|まさ|み}}{{ja-kanjitab|まさ|き}} {{ja-pos|proper|まさみ|まさき}} # {{given name|ja|nam|sort=まさき}} ==={{ĐM|pr-noun}}=== {{ja-kanjitab|しょう|こ}} {{ja-pos|proper|しょうこ}} # {{given name|ja|nữ|sort=しょうこ}}”
2463444
wikitext
text/x-wiki
=={{langname|ja}}==
==={{ĐM|pr-noun}}===
{{ja-kanjitab|まさ|み}}{{ja-kanjitab|まさ|き}}
{{ja-pos|proper|まさみ|まさき}}
# {{given name|ja|nam|sort=まさき}}
==={{ĐM|pr-noun}}===
{{ja-kanjitab|しょう|こ}}
{{ja-pos|proper|しょうこ}}
# {{given name|ja|nữ|sort=しょうこ}}
3kbe5vijbkuw5thnxsk33kwr5r762ij
まさき
0
408639
2463445
2026-07-19T10:13:56Z
WhoAlone
40420
Trang mới: “=={{langname|ja}}== ==={{ĐM|noun}}=== {{ja-noun}} # {{ja-def|正木|柾}} {{w|Euonymus japonicus}} ==={{ĐM|pr-noun}}=== {{ja-pos|proper}} # {{ja-def|正樹|正規|昌樹|聖樹|雅樹|将生|真規|雅紀}} {{given name|ja|nam}} # {{ja-def|雅貴|真輝|政樹|将樹|政基|昌輝|正喜|昌己}} {{given name|ja|nam}} # {{ja-def|真崎|正木}} {{surname|ja}}”
2463445
wikitext
text/x-wiki
=={{langname|ja}}==
==={{ĐM|noun}}===
{{ja-noun}}
# {{ja-def|正木|柾}} {{w|Euonymus japonicus}}
==={{ĐM|pr-noun}}===
{{ja-pos|proper}}
# {{ja-def|正樹|正規|昌樹|聖樹|雅樹|将生|真規|雅紀}} {{given name|ja|nam}}
# {{ja-def|雅貴|真輝|政樹|将樹|政基|昌輝|正喜|昌己}} {{given name|ja|nam}}
# {{ja-def|真崎|正木}} {{surname|ja}}
tiqw0ilmh1n2lxsrjp0etrb9w94hymx
昌美
0
408640
2463446
2026-07-19T10:16:36Z
WhoAlone
40420
Trang mới: “=={{langname|ja}}== {{ja-kanjitab|まさ|み}} ==={{ĐM|pr-noun}}=== {{ja-pos|proper|まさみ}} # {{given name|ja|nam}}”
2463446
wikitext
text/x-wiki
=={{langname|ja}}==
{{ja-kanjitab|まさ|み}}
==={{ĐM|pr-noun}}===
{{ja-pos|proper|まさみ}}
# {{given name|ja|nam}}
o6yiwtquy6akqvgo7wgnblwdmuo5s7r
眞實子
0
408641
2463447
2026-07-19T10:17:49Z
WhoAlone
40420
Trang mới: “=={{langname|ja}}== {{ja-see|真実子}}”
2463447
wikitext
text/x-wiki
=={{langname|ja}}==
{{ja-see|真実子}}
ac74hkvyb1r5zt6wmkqjgk5qeouvimg
万里絵
0
408642
2463448
2026-07-19T10:27:07Z
WhoAlone
40420
Trang mới: “=={{langname|ja}}== {{ja-kanjitab|ま|り|え}} ==={{ĐM|pr-noun}}=== {{ja-pos|proper|まりえ}} # {{given name|ja|nữ|sort=まりえ}}”
2463448
wikitext
text/x-wiki
=={{langname|ja}}==
{{ja-kanjitab|ま|り|え}}
==={{ĐM|pr-noun}}===
{{ja-pos|proper|まりえ}}
# {{given name|ja|nữ|sort=まりえ}}
nwjcqb0liy0db9h6pv2x1683rbkan8d
萬里繪
0
408643
2463449
2026-07-19T10:27:52Z
WhoAlone
40420
Trang mới: “=={{langname|ja}}== {{ja-see|万里絵}}”
2463449
wikitext
text/x-wiki
=={{langname|ja}}==
{{ja-see|万里絵}}
t3rja1s8tq63zkz2cor7dpeg15fzz7r
まりえ
0
408644
2463450
2026-07-19T10:28:42Z
WhoAlone
40420
Trang mới: “=={{langname|ja}}== {{ja-see|真梨絵|真理恵|麻理恵|麻理絵|万里江|万里絵}}”
2463450
wikitext
text/x-wiki
=={{langname|ja}}==
{{ja-see|真梨絵|真理恵|麻理恵|麻理絵|万里江|万里絵}}
nchbylzrrg236vhq4q5xhcpdhn1qxbu
真梨絵
0
408645
2463451
2026-07-19T10:29:56Z
WhoAlone
40420
Trang mới: “=={{langname|ja}}== {{ja-kanjitab|ま|り|え}} ==={{ĐM|pr-noun}}=== {{ja-pos|proper|まりえ}} # {{given name|ja|nữ|sort=まりえ}}”
2463451
wikitext
text/x-wiki
=={{langname|ja}}==
{{ja-kanjitab|ま|り|え}}
==={{ĐM|pr-noun}}===
{{ja-pos|proper|まりえ}}
# {{given name|ja|nữ|sort=まりえ}}
nwjcqb0liy0db9h6pv2x1683rbkan8d
眞梨繪
0
408646
2463452
2026-07-19T10:30:11Z
WhoAlone
40420
Trang mới: “=={{langname|ja}}== {{ja-see|真梨絵}}”
2463452
wikitext
text/x-wiki
=={{langname|ja}}==
{{ja-see|真梨絵}}
nrddswinxq1i7hc6x0ofiekr3mwqrje
真理恵
0
408647
2463453
2026-07-19T10:31:20Z
WhoAlone
40420
Trang mới: “=={{langname|ja}}== {{ja-kanjitab|ま|り|え}} ==={{ĐM|pr-noun}}=== {{ja-pos|proper|まりえ}} # {{given name|ja|nữ|sort=まりえ}}”
2463453
wikitext
text/x-wiki
=={{langname|ja}}==
{{ja-kanjitab|ま|り|え}}
==={{ĐM|pr-noun}}===
{{ja-pos|proper|まりえ}}
# {{given name|ja|nữ|sort=まりえ}}
nwjcqb0liy0db9h6pv2x1683rbkan8d
眞理惠
0
408648
2463454
2026-07-19T10:32:11Z
WhoAlone
40420
Trang mới: “=={{langname|ja}}== {{ja-see|真理恵}}”
2463454
wikitext
text/x-wiki
=={{langname|ja}}==
{{ja-see|真理恵}}
9r4pbf2rslfdzfpiswk9ngmw5nohave
麻理恵
0
408649
2463455
2026-07-19T10:34:33Z
WhoAlone
40420
Trang mới: “=={{langname|ja}}== {{ja-kanjitab|ま|り|え|yomi=on}} ==={{ĐM|pr-noun}}=== {{ja-pos|proper|まりえ}} # {{given name|ja|nữ|sort=まりえ}}”
2463455
wikitext
text/x-wiki
=={{langname|ja}}==
{{ja-kanjitab|ま|り|え|yomi=on}}
==={{ĐM|pr-noun}}===
{{ja-pos|proper|まりえ}}
# {{given name|ja|nữ|sort=まりえ}}
ge2n2vrbd3xso6hxlo5dl2cp91v8j9r
麻理惠
0
408650
2463456
2026-07-19T10:35:03Z
WhoAlone
40420
Trang mới: “=={{langname|ja}}== {{ja-see|麻理恵}}”
2463456
wikitext
text/x-wiki
=={{langname|ja}}==
{{ja-see|麻理恵}}
dt35iszhi5k5kt9wmgv7oq9ene9zkme
麻理絵
0
408651
2463457
2026-07-19T10:37:35Z
WhoAlone
40420
Trang mới: “=={{langname|ja}}== {{ja-kanjitab|ま|り|え}} ==={{ĐM|pr-noun}}=== {{ja-pos|proper|まりえ}} # {{given name|ja|nữ|sort=まりえ}}”
2463457
wikitext
text/x-wiki
=={{langname|ja}}==
{{ja-kanjitab|ま|り|え}}
==={{ĐM|pr-noun}}===
{{ja-pos|proper|まりえ}}
# {{given name|ja|nữ|sort=まりえ}}
nwjcqb0liy0db9h6pv2x1683rbkan8d
麻理繪
0
408652
2463458
2026-07-19T10:37:56Z
WhoAlone
40420
Trang mới: “=={{langname|ja}}== {{ja-see|麻理絵}}”
2463458
wikitext
text/x-wiki
=={{langname|ja}}==
{{ja-see|麻理絵}}
2hnfwjw7g57mtr2wfnm64huv0723q1j
万里江
0
408653
2463459
2026-07-19T10:38:19Z
WhoAlone
40420
Trang mới: “=={{langname|ja}}== {{ja-kanjitab|ま|り|え}} ==={{ĐM|pr-noun}}=== {{ja-pos|proper|まりえ}} # {{given name|ja|nữ|sort=まりえ}}”
2463459
wikitext
text/x-wiki
=={{langname|ja}}==
{{ja-kanjitab|ま|り|え}}
==={{ĐM|pr-noun}}===
{{ja-pos|proper|まりえ}}
# {{given name|ja|nữ|sort=まりえ}}
nwjcqb0liy0db9h6pv2x1683rbkan8d
萬里江
0
408654
2463460
2026-07-19T10:38:41Z
WhoAlone
40420
Trang mới: “=={{langname|ja}}== {{ja-see|万里江}}”
2463460
wikitext
text/x-wiki
=={{langname|ja}}==
{{ja-see|万里江}}
nnjjlfacax2rf0pn4dvhu2zcqwyf0bf
Thảo luận Thành viên:أيوب
3
408655
2463462
2026-07-19T10:43:26Z
Neriah
44324
Neriah đã đổi [[Thảo luận Thành viên:أيوب]] thành [[Thảo luận Thành viên:جيمي]]: Tự động di chuyển trang khi đổi tên thành viên “[[Special:CentralAuth/أيوب|أيوب]]” thành “[[Special:CentralAuth/جيمي|جيمي]]”
2463462
wikitext
text/x-wiki
#đổi [[Thảo luận Thành viên:جيمي]]
bqsyukr4enshqs9qmqxh8i4d23jsfij
嬰兒
0
408656
2463466
2026-07-19T10:52:43Z
Hiyuune
50834
Trang mới: “{{also|婴儿}} =={{langname|zh}}== {{zh-forms|s=婴儿|ss=𰋷儿}} ==={{section|pron}}=== {{zh-pron |m=yīng'ér |c=jing1 ji4 |ca=LL-Q9186 (yue)-Justinrleung-嬰兒.wav |mn=xm,qz:eng-lî/zz,twk:eng-jî |mn-t=êng1 ri5 |w=sh:1in gher |mc=1,1 |oc=2,1;1,2 |ma=Zh-ying'ér.ogg |cat=n }} ==={{section|n}}=== {{head|zh|Danh từ}} # [[em bé|Em bé]], đứa trẻ mới đẻ {{zh-mw|m:個}}”
2463466
wikitext
text/x-wiki
{{also|婴儿}}
=={{langname|zh}}==
{{zh-forms|s=婴儿|ss=𰋷儿}}
==={{section|pron}}===
{{zh-pron
|m=yīng'ér
|c=jing1 ji4
|ca=LL-Q9186 (yue)-Justinrleung-嬰兒.wav
|mn=xm,qz:eng-lî/zz,twk:eng-jî
|mn-t=êng1 ri5
|w=sh:1in gher
|mc=1,1
|oc=2,1;1,2
|ma=Zh-ying'ér.ogg
|cat=n
}}
==={{section|n}}===
{{head|zh|Danh từ}}
# [[em bé|Em bé]], đứa trẻ mới đẻ {{zh-mw|m:個}}
4wkapf136tqazcijy94b9ggi3kvgo4q
孤陋寡聞
0
408657
2463468
2026-07-19T10:57:37Z
Hiyuune
50834
Trang mới: “{{also|孤陋寡闻}} =={{langname|zh}}== {{zh-forms|s=孤陋寡闻}} ==={{section|pron}}=== {{zh-pron |m=gūlòuguǎwén |c=gu1 lau6 gwaa2 man4 |cat=id }} ==={{section|idiom}}=== {{head|zh|Thành ngữ}} # [[kiến thức|Kiến thức]] [[nông cạn]], kiến thức [[kém]], [[hiểu biết]] nông cạn.”
2463468
wikitext
text/x-wiki
{{also|孤陋寡闻}}
=={{langname|zh}}==
{{zh-forms|s=孤陋寡闻}}
==={{section|pron}}===
{{zh-pron
|m=gūlòuguǎwén
|c=gu1 lau6 gwaa2 man4
|cat=id
}}
==={{section|idiom}}===
{{head|zh|Thành ngữ}}
# [[kiến thức|Kiến thức]] [[nông cạn]], kiến thức [[kém]], [[hiểu biết]] nông cạn.
ceqaomb4pagy7egmxvylmv5aajlcago
孤掌難鳴
0
408658
2463470
2026-07-19T10:59:50Z
Hiyuune
50834
Trang mới: “=={{langname|zh}}== {{zh-forms|lit=một bàn tay vỗ thì khó mà kêu|s=孤掌难鸣}} ==={{ĐM|pron}}=== {{zh-pron |m=gūzhǎngnánmíng |c=gu1 zoeng2 naan4 ming4 |cat=cy }} ==={{ĐM|idiom}}=== {{head|zh|Thành ngữ}} # Không có [[người]] [[giúp đỡ]] thì làm chuyện gì cũng khó.”
2463470
wikitext
text/x-wiki
=={{langname|zh}}==
{{zh-forms|lit=một bàn tay vỗ thì khó mà kêu|s=孤掌难鸣}}
==={{ĐM|pron}}===
{{zh-pron
|m=gūzhǎngnánmíng
|c=gu1 zoeng2 naan4 ming4
|cat=cy
}}
==={{ĐM|idiom}}===
{{head|zh|Thành ngữ}}
# Không có [[người]] [[giúp đỡ]] thì làm chuyện gì cũng khó.
i6phwd92jlln9o3mgutbakssmqv112l
掌
0
408659
2463472
2026-07-19T11:03:48Z
Hiyuune
50834
Trang mới: “{{character info}} =={{langname|mul}}== ==={{section|han character}}=== {{Han char|rn=64|rad=手|as=08|sn=12|four=90502|canj=FBRQ|ids=⿱𫩠手,⿱龸𠰅}} ===={{section|derived characters}}==== * {{lang-lite|mul|sc=Hani|[[𰂱]], [[幥]], [[撑]], [[礃]], [[罉]], [[鐣]], [[𣛟]], [[𥋇]], [[𦪦]], [[𩇢]]}} ===={{section|references}}==== * {{Han ref|kx=0437.050|dkj=12248|dj=0786.130|hdz=31889.020|uh=638C}}”
2463472
wikitext
text/x-wiki
{{character info}}
=={{langname|mul}}==
==={{section|han character}}===
{{Han char|rn=64|rad=手|as=08|sn=12|four=90502|canj=FBRQ|ids=⿱𫩠手,⿱龸𠰅}}
===={{section|derived characters}}====
* {{lang-lite|mul|sc=Hani|[[𰂱]], [[幥]], [[撑]], [[礃]], [[罉]], [[鐣]], [[𣛟]], [[𥋇]], [[𦪦]], [[𩇢]]}}
===={{section|references}}====
* {{Han ref|kx=0437.050|dkj=12248|dj=0786.130|hdz=31889.020|uh=638C}}
lfbr67wwrxz5mqozw0vyhtjesopoa9v
釀造
0
408660
2463473
2026-07-19T11:06:29Z
Hiyuune
50834
Trang mới: “{{also|酿造|醸造}} =={{langname|zh}}== {{zh-forms|s=酿造}} ==={{section|pron}}=== {{zh-pron |m=niàngzào |c=joeng6 zou6 |mn=qz:liōng-chǒ/xm:liōng-chō/zz:liāng-chō |cat=v }} ==={{section|v}}=== {{head|zh|Động từ}} # [[chưng cất|Chưng cất]], [[chiết xuất]] [[dầu mỏ]] hay [[rượu]]. ===={{section|syn}}==== * {{zh-l|釀製}} ===={{section|desc}}==== {{CJKV||s=醸造|じょうぞう|양조}} ===={{section|see}}==== * {{zh-l|釀酒}}”
2463473
wikitext
text/x-wiki
{{also|酿造|醸造}}
=={{langname|zh}}==
{{zh-forms|s=酿造}}
==={{section|pron}}===
{{zh-pron
|m=niàngzào
|c=joeng6 zou6
|mn=qz:liōng-chǒ/xm:liōng-chō/zz:liāng-chō
|cat=v
}}
==={{section|v}}===
{{head|zh|Động từ}}
# [[chưng cất|Chưng cất]], [[chiết xuất]] [[dầu mỏ]] hay [[rượu]].
===={{section|syn}}====
* {{zh-l|釀製}}
===={{section|desc}}====
{{CJKV||s=醸造|じょうぞう|양조}}
===={{section|see}}====
* {{zh-l|釀酒}}
ouqota8dgjsb9wt89sm09hpwoatuehy
niàngzào
0
408661
2463475
2026-07-19T11:07:17Z
Hiyuune
50834
Trang mới: “=={{langname|cmn}}== ==={{section|romanization}}=== {{cmn-pinyin}} # {{cmn-pinyin of|釀造}}”
2463475
wikitext
text/x-wiki
=={{langname|cmn}}==
==={{section|romanization}}===
{{cmn-pinyin}}
# {{cmn-pinyin of|釀造}}
6ogmldnnlsv8glvujdfshs78irl05wq
孤伶伶
0
408662
2463477
2026-07-19T11:10:16Z
Hiyuune
50834
Trang mới: “=={{langname|zh}}== {{zh-see|孤零零}}”
2463477
wikitext
text/x-wiki
=={{langname|zh}}==
{{zh-see|孤零零}}
emi6je5eyekw750jftmggulbevs2tse
galvaskauss
0
408663
2463478
2026-07-19T11:27:44Z
Hiyuune
50834
Trang mới: “=={{langname|lv}}== ==={{section|etym}}=== Từ {{affix|lv|galva|kauss|t1=đầu}}. ==={{section|n}}=== {{lv-noun|m|1}} # {{lb|lv|anatomy}} [[sọ|Sọ]], [[đầu lâu]] ===={{section|decl}}==== {{lv-decl-noun|galvaskaus|s|1st}}”
2463478
wikitext
text/x-wiki
=={{langname|lv}}==
==={{section|etym}}===
Từ {{affix|lv|galva|kauss|t1=đầu}}.
==={{section|n}}===
{{lv-noun|m|1}}
# {{lb|lv|anatomy}} [[sọ|Sọ]], [[đầu lâu]]
===={{section|decl}}====
{{lv-decl-noun|galvaskaus|s|1st}}
jnxkzi0htmke0e2ptd2ijcgznfswncj
2463491
2463478
2026-07-19T11:39:16Z
Hiyuune
50834
/* Tiếng Latvia */ (sử dụng [[MediaWiki:Gadget-AjaxEdit.js|AjaxEdit]])
2463491
wikitext
text/x-wiki
=={{langname|lv}}==
==={{section|etym}}===
Từ {{affix|lv|galva|kauss|t1=đầu}}.
==={{section|n}}===
{{lv-noun|m|1}}
# {{lb|lv|anatomy}} [[sọ|Sọ]], [[đầu lâu]].
===={{section|decl}}====
{{lv-decl-noun|galvaskaus|s|1st}}
fg8o41jxhrsvkuiu3lj8zzmxnfq6fza
ཀ་པ་ལ
0
408664
2463479
2026-07-19T11:28:23Z
Hiyuune
50834
Trang mới: “=={{langname|bo}}== ==={{section|pron}}=== {{bo-IPA}} ==={{section|n}}=== {{head|bo|Danh từ}} # {{alternative form of|bo|ཀ་པཱ་ལ}}”
2463479
wikitext
text/x-wiki
=={{langname|bo}}==
==={{section|pron}}===
{{bo-IPA}}
==={{section|n}}===
{{head|bo|Danh từ}}
# {{alternative form of|bo|ཀ་པཱ་ལ}}
4itifwbq57q3205m7xanwk5ypkv0k6n
Wiktionary:Từ điển hình ảnh/si:head
4
408665
2463481
2026-07-19T11:30:56Z
Hiyuune
50834
Trang mới: “{{picdic |image=Human head and brain diagram.svg |width=310 |labels= {{picdiclabel|si|sc=Sinh|pcolor=black|fontsize=12|posx=150|posy=3|link=හිස්කබල}} {{picdiclabel|si|sc=Sinh|pcolor=black|fontsize=18|posx=170|posy=90|link=මොළය}} {{picdiclabel|si|sc=Sinh|pcolor=black|fontsize=18|posx=150|posy=150|link=කපොල්ල}} {{picdiclabel|si|sc=Sinh|pcolor=black|fontsize=12|posx=80|posy=165|link=ඇස|align=left}} {{picdiclabel|si|sc=Sinh|pcolor=black|f…”
2463481
wikitext
text/x-wiki
{{picdic
|image=Human head and brain diagram.svg
|width=310
|labels=
{{picdiclabel|si|sc=Sinh|pcolor=black|fontsize=12|posx=150|posy=3|link=හිස්කබල}}
{{picdiclabel|si|sc=Sinh|pcolor=black|fontsize=18|posx=170|posy=90|link=මොළය}}
{{picdiclabel|si|sc=Sinh|pcolor=black|fontsize=18|posx=150|posy=150|link=කපොල්ල}}
{{picdiclabel|si|sc=Sinh|pcolor=black|fontsize=12|posx=80|posy=165|link=ඇස|align=left}}
{{picdiclabel|si|sc=Sinh|pcolor=black|fontsize=12|posx=1|posy=235|link=තොල|align=left}}
{{picdiclabel|si|sc=Sinh|pcolor=black|fontsize=12|posx=20|posy=180|link=නහය|align=left}}
{{picdiclabel|si|sc=Sinh|pcolor=black|fontsize=12|posx=50|posy=240|link=කට|align=left}}
{{picdiclabel|si|sc=Sinh|pcolor=black|fontsize=12|posx=35|posy=285|link=නිකට}}
{{picdiclabel|si|sc=Sinh|pcolor=black|fontsize=12|posx=210|posy=205|link=කන|align=right}}
{{picdiclabel|si|sc=Sinh|pcolor=black|fontsize=12|posx=215|posy=290|link=බෙල්ල}}
{{picdiclabel|si|sc=Sinh|pcolor=black|fontsize=12|posx=100|posy=290|link=හක්ක}}
|detail1=Nhấn vào các chữ trong hình.
|detail2=
<!--{{picdicimg|image=Human body features-nb.svg|link=body|lang=si|sc=Sinh}}-->
}}
rvkhqbwkjx2krebqq8pshdihb0z54nf
galvaskausi
0
408666
2463482
2026-07-19T11:35:04Z
Hiyuune
50834
+ lv
2463482
wikitext
text/x-wiki
=={{langname|lv}}==
==={{section|n}}===
{{head|lv|Biến thể hình thái danh từ}}
# {{infl of|lv|galvaskauss||nom//voc|p}}
6j8j1g2spnwy7416ht7bhvf6aw74atd
galvaskausa
0
408667
2463483
2026-07-19T11:35:43Z
Hiyuune
50834
+ lv
2463483
wikitext
text/x-wiki
=={{langname|lv}}==
==={{section|n}}===
{{head|lv|Biến thể hình thái danh từ}}
# {{infl of|lv|galvaskauss||gen|s}}
0h4p2svrn2z0o6c0mm26ca36kxvcazw
galvaskausu
0
408668
2463484
2026-07-19T11:36:33Z
Hiyuune
50834
+ lv
2463484
wikitext
text/x-wiki
=={{langname|lv}}==
==={{section|n}}===
{{head|lv|Biến thể hình thái danh từ}}
# {{infl of|lv|galvaskauss||acc//ins|s|;|gen|p}}
h7ur4tzbirm2jrw0csidm2om3186wsx
galvaskausam
0
408669
2463485
2026-07-19T11:37:05Z
Hiyuune
50834
+ lv
2463485
wikitext
text/x-wiki
=={{langname|lv}}==
==={{section|n}}===
{{head|lv|Biến thể hình thái danh từ}}
# {{infl of|lv|galvaskauss||dat|s}}
pgk36l3ofzh1lhm4leeks39ez6dy18k
galvaskausiem
0
408670
2463486
2026-07-19T11:37:37Z
Hiyuune
50834
+ lv
2463486
wikitext
text/x-wiki
=={{langname|lv}}==
==={{section|n}}===
{{head|lv|Biến thể hình thái danh từ}}
# {{infl of|lv|galvaskauss||dat//ins|p}}
gion75dez1eq5d70gaymfl6lsuj5tra
galvaskausus
0
408671
2463487
2026-07-19T11:38:16Z
Hiyuune
50834
+ lv
2463487
wikitext
text/x-wiki
=={{langname|lv}}==
==={{section|n}}===
{{head|lv|Biến thể hình thái danh từ}}
# {{infl of|lv|galvaskauss||acc|p}}
1wmdstokkjnzkajd3qfjx5e29tk3rk6
galvaskausā
0
408672
2463488
2026-07-19T11:38:39Z
Hiyuune
50834
Trang mới: “=={{langname|lv}}== ==={{section|n}}=== {{head|lv|Biến thể hình thái danh từ}} # {{infl of|lv|galvaskauss||loc|s}}”
2463488
wikitext
text/x-wiki
=={{langname|lv}}==
==={{section|n}}===
{{head|lv|Biến thể hình thái danh từ}}
# {{infl of|lv|galvaskauss||loc|s}}
6uk1xs2xoh59nuarnfz2aygulexpjv6
galvaskaus
0
408673
2463489
2026-07-19T11:38:46Z
Hiyuune
50834
Trang mới: “=={{langname|lv}}== ==={{section|n}}=== {{head|lv|Biến thể hình thái danh từ}} # {{infl of|lv|galvaskauss||voc|s}}”
2463489
wikitext
text/x-wiki
=={{langname|lv}}==
==={{section|n}}===
{{head|lv|Biến thể hình thái danh từ}}
# {{infl of|lv|galvaskauss||voc|s}}
4n0gv6rpe2ssmsjvxt4fk3pccrorlis
galvaskausos
0
408674
2463490
2026-07-19T11:39:01Z
Hiyuune
50834
+ lv
2463490
wikitext
text/x-wiki
=={{langname|lv}}==
==={{section|n}}===
{{head|lv|Biến thể hình thái danh từ}}
# {{infl of|lv|galvaskauss||loc|p}}
7tlmtry982fw4m5cyjva4n0p23rf8dv
deniņi
0
408675
2463492
2026-07-19T11:42:39Z
Hiyuune
50834
Trang mới: “=={{langname|lv}}== ==={{section|n}}=== {{lv-noun|m-p|1}} # {{lb|lv|anatomy}} [[thái dương|Thái dương]], [[màng tang]]. ===={{section|decl}}==== {{lv-decl-noun|deniņ||1st|no-sg}}”
2463492
wikitext
text/x-wiki
=={{langname|lv}}==
==={{section|n}}===
{{lv-noun|m-p|1}}
# {{lb|lv|anatomy}} [[thái dương|Thái dương]], [[màng tang]].
===={{section|decl}}====
{{lv-decl-noun|deniņ||1st|no-sg}}
0o2ks0qzteu41p4sy5umujwz5h8p3l1
deniņu
0
408676
2463493
2026-07-19T11:43:45Z
Hiyuune
50834
+ lv
2463493
wikitext
text/x-wiki
=={{langname|lv}}==
==={{section|n}}===
{{head|lv|Biến thể hình thái danh từ}}
# {{infl of|lv|deniņi||gen|p}}
tompgi9xtkzwhecvwj81bn83fa54u0q
deniņiem
0
408677
2463494
2026-07-19T11:44:06Z
Hiyuune
50834
+ lv
2463494
wikitext
text/x-wiki
=={{langname|lv}}==
==={{section|n}}===
{{head|lv|Biến thể hình thái danh từ}}
# {{infl of|lv|deniņi||dat|p}}
r0gf8vw5lg2hvq66u99xfqx9z6kzhu7
2463496
2463494
2026-07-19T11:44:40Z
Hiyuune
50834
/* Tiếng Latvia */ (sử dụng [[MediaWiki:Gadget-AjaxEdit.js|AjaxEdit]])
2463496
wikitext
text/x-wiki
=={{langname|lv}}==
==={{section|n}}===
{{head|lv|Biến thể hình thái danh từ}}
# {{infl of|lv|deniņi||dat//ins|p}}
j31aobob7wtus11jycdy7jsbar41lw3
deniņus
0
408678
2463495
2026-07-19T11:44:16Z
Hiyuune
50834
+ lv
2463495
wikitext
text/x-wiki
=={{langname|lv}}==
==={{section|n}}===
{{head|lv|Biến thể hình thái danh từ}}
# {{infl of|lv|deniņi||acc|p}}
1o3yl77uoii1irs8v7lwz6zptninziu
deniņos
0
408679
2463497
2026-07-19T11:44:58Z
Hiyuune
50834
+ lv
2463497
wikitext
text/x-wiki
=={{langname|lv}}==
==={{section|n}}===
{{head|lv|Biến thể hình thái danh từ}}
# {{infl of|lv|deniņi||loc|p}}
432weoji87w7xm52kvkn91t4go89tlv