Wiktionary viwiktionary https://vi.wiktionary.org/wiki/Wiktionary:Trang_Ch%C3%ADnh MediaWiki 1.46.0-wmf.21 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 Wiktionary:Tin tức 4 644 2341469 2339189 2026-03-31T06:41:16Z Hiyuune 50834 2341469 wikitext text/x-wiki __NOTOC__ {{Lưu trữ| {{*ym|year=2004–2009|month=no|base=Wiktionary:Tin tức}} {{*ym|year=2010–2020|month=no|base=Wiktionary:Tin tức}} {{*ym|year=2021–2023|month=no|base=Wiktionary:Tin tức}} {{*ym|year=2024|month=no|base=Wiktionary:Tin tức}} {{*ym|year=2025|month=no|base=Wiktionary:Tin tức}} {{*ym|year=2026|month=no|base=Wiktionary:Tin tức}} }} Trang này dành cho '''tin tức về dự án''' [[Wiktionary]] tiếng Việt nói riêng hay về cộng đồng Wiktionary nói chung. Bạn có biết tin tức mới không? Mời bạn ghi ra đây! Bạn có thể chọn nút theo dõi trang để cập nhật tin tức tại [[Đặc biệt:Danh sách theo dõi|Danh sách theo dõi]].<!-- Nếu bạn đang cộng thêm một ngày nữa, và nếu đã có năm ngày ở trang này rồi, xin bạn xoá mục cuối cùng và bỏ tin tức mới trên những mục đã có rồi. Rồi, xin bạn thêm tin tức mới vào trang lưu trữ cho tháng năm phù hợp. Cám ơn. --> == Tháng 3 năm 2026 == === Thứ ba, ngày 31 tháng 3 năm 2026 === * {{l|sas|bagus}} trở thành mục từ tiếng Sasak đầu tiên của Wiktionary tiếng Việt. === Thứ ba, ngày 24 tháng 3 năm 2026 === * {{l|gmh|venster}} trở thành mục từ tiếng Đức cao địa trung đại đầu tiên của Wiktionary tiếng Việt. === Thứ hai, ngày 23 tháng 3 năm 2026 === * {{l|uuu|ʔóm}} trở thành mục từ tiếng U đầu tiên của Wiktionary tiếng Việt. === Thứ sáu, ngày 20 tháng 3 năm 2026 === * {{l|qyp|ap}} trở thành mục từ tiếng Quiripi đầu tiên của Wiktionary tiếng Việt. === Thứ bảy, ngày 14 tháng 3 năm 2026 === * {{l|seh|mkazi}} trở thành mục từ tiếng Sena đầu tiên của Wiktionary tiếng Việt. === Thứ năm, ngày 12 tháng 3 năm 2026 === * {{l|tqw|camox}} trở thành mục từ tiếng Tonkawa đầu tiên của Wiktionary tiếng Việt. === Chủ nhật, ngày 8 tháng 3 năm 2026 === * {{l|kzw|uolidze judeua}} trở thành mục từ tiếng Kariri đầu tiên của Wiktionary tiếng Việt. === Thứ năm, ngày 5 tháng 3 năm 2026 === * {{l|blb|Ṉ}} trở thành mục từ tiếng Bilua đầu tiên của Wiktionary tiếng Việt. * {{l|miq|bîla}} trở thành mục từ tiếng Miskito đầu tiên của Wiktionary tiếng Việt. === Chủ nhật, ngày 1 tháng 3 năm 2026 === * {{l|obr|က္လဝ်}} trở thành mục từ tiếng Miến Điện cổ đầu tiên của Wiktionary tiếng Việt. == Xem thêm == *[[Thành viên:WikimediaNotifier/notifications|Thời sự Wikimedia]] *[[m:Tin tức về Wikimedia|Tin tức Wikimedia]] [[Thể loại:Tin tức Wiktionary| ]] [[Thể loại:Cộng đồng Wiktionary|{{PAGENAME}}]] 62lmee2s9k569b2srjncblemiofj55x súc sinh 0 29394 2341478 2164882 2026-03-31T07:01:58Z Hiyuune 50834 Đã lùi lại sửa đổi của [[Special:Contributions/Từ bi (maitrīkaruṇā)|Từ bi (maitrīkaruṇā)]] ([[User talk:Từ bi (maitrīkaruṇā)|thảo luận]]) quay về phiên bản cuối của [[User:P. ĐĂNG|P. ĐĂNG]] 2160197 wikitext text/x-wiki {{-vie-}} {{-pron-}} {{vie-pron|súc|sinh}} {{-noun-}} '''súc sinh''' # {{term|Phật giáo}} [[động vật|Động vật]] (các loài thú vật nói chung). # [[súc vật|Súc vật]] (dùng làm tiếng chửi). #: ''Đồ '''súc sinh'''!'' #: ''Bọn '''súc sinh'''!'' {{-ref-}} {{R:FVDP}} [[Thể loại:Danh từ tiếng Việt]] p93iskyle023q2la0vout8c4i64skql 2341480 2341478 2026-03-31T07:05:24Z Hiyuune 50834 2341480 wikitext text/x-wiki =={{langname|vi}}== ==={{section|etym}}=== {{vi-etym-sino|畜生}} ==={{section|pron}}=== {{vi-pron}} ==={{section|n}}=== {{vi-noun}} # {{lb|vi|phật giáo}} [[động vật|Động vật]] (các loài thú vật nói chung). # {{lb|vi|offensive}} [[súc vật|Súc vật]] (dùng làm tiếng chửi). #: {{ux|vi|Đồ '''súc sinh'''!}} #: {{ux|vi|Bọn '''súc sinh'''!}} #* {{quote-book|vi|title=Gót Sắt|original=[[w:en:The Iron Heel|The Iron Heel]]|origlang=en|author=Jack London|authorlink=Jack London|translator=Vũ Cận|publisher=Nhà Xuất bản Văn Hóa|year=1960|origdate=1908-02-19|chapter=II|origtext=en:{{...}} leaving me smarting with a sense of injustice that had been done me and my class. The man was a '''beast'''. I hated him, then, and consoled myself with the thought that his behavior was what was to be expected from a man of the working class.|passage=Tôi ngồi một mình, rất phẫn uất vì thái độ bất công của anh đối với tôi và giai cấp tôi. Đồ '''súc sinh'''! Tôi ghét cay ghét đắng anh, nhưng lại tự an ủi ngay: người của giai cấp công nhân tất nhiên là cư xử như thế. Không thể đòi hỏi hơn được.}} ==={{section|see}}=== * {{vi-l|súc vật}} ==={{section|ref}}=== * {{R:FVDP}} 31r3paer2emh2twz75us1p4m2ecf523 2341538 2341480 2026-03-31T08:25:04Z TheHighFighter2 42988 /* Danh từ */ 2341538 wikitext text/x-wiki =={{langname|vi}}== ==={{section|etym}}=== {{vi-etym-sino|畜生}} ==={{section|pron}}=== {{vi-pron}} ==={{section|n}}=== {{vi-noun}} # {{lb|vi|Phật giáo}} [[động vật|Động vật]] (các loài thú vật nói chung). # {{lb|vi|offensive}} [[súc vật|Súc vật]] (dùng làm tiếng chửi). #: {{ux|vi|Đồ '''súc sinh'''!}} #: {{ux|vi|Bọn '''súc sinh'''!}} #* {{quote-book|vi|title=Gót Sắt|original=[[w:en:The Iron Heel|The Iron Heel]]|origlang=en|author=Jack London|authorlink=Jack London|translator=Vũ Cận|publisher=Nhà Xuất bản Văn Hóa|year=1960|origdate=1908-02-19|chapter=II|passage=Tôi ngồi một mình, rất phẫn uất vì thái độ bất công của anh đối với tôi và giai cấp tôi. Đồ '''súc sinh'''! Tôi ghét cay ghét đắng anh, nhưng lại tự an ủi ngay: người của giai cấp công nhân tất nhiên là cư xử như thế. Không thể đòi hỏi hơn được.}} ==={{section|see}}=== * {{vi-l|súc vật}} ==={{section|ref}}=== * {{R:FVDP}} kc46sw1eflihvrfvm3qzbdps6suz28s sắm 0 33024 2341415 2174184 2026-03-30T14:26:52Z Hiyuune 50834 2341415 wikitext text/x-wiki {{also|Phụ lục:Biến thể của "sam"}} =={{langname|vi}}== ==={{section|alternative forms}}=== * {{q|Đông Bắc Bộ}} {{l|vi|thắm}} ==={{section|pron}}=== {{vi-IPA}} ==={{section|v}}=== {{vi-verb|攕}} # {{lb|vi|somewhat|literary}} [[mua|Mua]] để dùng trong một [[dịp]] nào. #: {{ux|vi|'''Sắm''' quần áo cưới.}} #: {{ux|vi|'''Sắm''' tết.}} ===={{section|see}}==== {{col|vi|sắm sửa|mua sắm}} ==={{section|ref}}=== * {{R:FVDP}} * {{R:WinVNKey:Lê Sơn Thanh}} a6ndzca4drjbqa9v046gkj85cm6icuw sám hối 0 48173 2341541 2151384 2026-03-31T08:28:16Z Hiyuune 50834 Đã lùi lại sửa đổi của [[Special:Contributions/Dragon Immortal (Rồng Tiên)|Dragon Immortal (Rồng Tiên)]] ([[User talk:Dragon Immortal (Rồng Tiên)|thảo luận]]) quay về phiên bản cuối của [[User:HydrizBot|HydrizBot]] 1925590 wikitext text/x-wiki {{-vie-}} {{-pron-}} {{vie-pron|sám|hối}} {{-verb-}} '''sám hối''' # [[ăn năn|Ăn năn]], [[hối hận]] về [[tội lỗi]] của [[mình]]. #: ''Một lời nói dối, '''sám hối''' bảy ngày ([[tục ngữ]]).'' #: ''Đọc kinh '''sám hối'''.'' {{-trans-}} {{-ref-}} {{R:FVDP}} [[Thể loại:Động từ tiếng Việt]] ji6l8sd2srxv3j3925q3voxfw1sqwde la hán 0 87388 2341482 2164878 2026-03-31T07:10:45Z Hiyuune 50834 Đã lùi lại sửa đổi của [[Special:Contributions/Từ bi (maitrīkaruṇā)|Từ bi (maitrīkaruṇā)]] ([[User talk:Từ bi (maitrīkaruṇā)|thảo luận]]) quay về phiên bản cuối của [[User:DiAn.BinhDuong|DiAn.BinhDuong]] 2064749 wikitext text/x-wiki {{-vie-}} {{-info-}} [[Hình:Bộ tượng La hán.jpg|nhỏ|200px|phải|Bộ [[tượng]] La Hán bằng [[đá]] trên đỉnh [[núi]] Cấm ([[An Giang]])]] {{-pron-}} {{vie-pron|la|hán}} {{-noun-}} '''La hán''' #{{term|[[Phật học]]}} Cách gọi tắt của [[a la hán|A-la-hán]] (phiên âm từ [[tiếng Phạn]]), là một phẩm bậc của người tu hành đã đạt thành chánh quả xác định. La hán nằm trong chuỗi phẩm bậc sau (từ thấp đến cao): [[tăng]], [[ni]], '''la hán''', [[bồ tát]], [[Phật]]. {{-trans-}} *{{eng}}: [[arhat]] [[Thể loại:Danh từ tiếng Việt]] [[Thể loại:Phật giáo]] 2srkpge09kedelycayfwtb2uh5gbdcg 2341483 2341482 2026-03-31T07:13:34Z Hiyuune 50834 2341483 wikitext text/x-wiki =={{langname|vi}}== {{swp|vi:}} [[Hình:Bộ tượng La hán.jpg|nhỏ|200px|phải|Bộ [[tượng]] La Hán bằng [[đá]] trên đỉnh [[núi]] Cấm ([[An Giang]])]] ==={{section|etym}}=== {{vi-etym-sino|羅漢}}. ==={{section|pron}}=== {{vi-IPA}} ==={{section|n}}=== {{vi-noun|cls=vị|head=la hán}} # {{lb|vi|Buddhism}} Cách gọi tắt của [[a la hán|A-la-hán]] (phiên âm từ [[tiếng Phạn]]), là một phẩm bậc của người tu hành đã đạt thành chánh quả xác định. La hán nằm trong chuỗi phẩm bậc sau (từ thấp đến cao): [[tăng]], [[ni]], '''la hán''', [[bồ tát]], [[Phật]]. #: {{syn|vi|A-la-hán}} ===={{section|trans}}==== {{trans-see|A-la-hán}} fjd51npioz5v95zdmcls5ck72ahh2iz Thảo luận Wiktionary:Thảo luận 5 103987 2341418 2338982 2026-03-30T19:25:55Z MediaWiki message delivery 19980 Mục mới: /* Bản tin Kỹ thuật: Tuần 14-2026 */ 2341418 wikitext text/x-wiki <!-- Xin bắt đầu cuộc thảo luận mói ở CUỐI trang! Cám ơn. --> {{Lưu trữ}} == Upcoming Dark Mode user interface rollout for anonymous Wikimedia sites users == <div lang="en" dir="ltr"> {{int:Hello}} Wikimedians, Apologies if this message is not in your language. {{int:please-translate}}. The [[mw:Special:MyLanguage/Reading/Web|Reader Experience team]] will launch the Dark mode feature for anonymous users on all Wikimedia sites, including yours, on October 29, 2025. [[:en:Special:MyLanguage/Light-on-dark color scheme|Dark mode]] is an option that allows users to view pages in light-coloured text, and icons on a dark background. Once it is available for anonymous users, they can enable it when using various devices. More information on ways to enable it can be found on [[:en:Special:MyLanguage/Wikipedia:Dark mode#Options for anyone|this page]]. Given many pages are still not compatible with dark mode this will be an opt-in feature and not automatically apply to pages. Dark mode requires modifications to content pages and templates, and since our initial launch [https://diff.wikimedia.org/2024/07/17/dark-modes-bright-future-how-dark-mode-will-transform-wikipedias-accessibility/ in July 2024], we have been working with communities and helping them prepare for dark mode. Before the rollout, it is essential that template authors and technical contributors test dark mode and read [[mw:Special:MyLanguage/Reading/Web/Accessibility for reading/Updates/2024-04|this page]] to learn how to make pages Dark mode-ready and address any compatibility issues found in templates. We will fix most color compatibility issues only on the most-viewed pages on projects with over 5 million monthly page views. Technical contributors with an account should opt into dark mode currently using preferences or settings and test pages and seek help before the release to ensure everything complies before the enablement. If you have any questions or need help, please [[mw:Special:MyLanguage/Talk:Reading/Web/Accessibility for reading#|contact the Reader Experience team]] for support. Thank you! </div> <bdi lang="en" dir="ltr">[[User:UOzurumba (WMF)|UOzurumba (WMF)]]</bdi> 02:08, ngày 30 tháng 9 năm 2025 (UTC) <!-- Tin nhắn của Thành viên:UOzurumba (WMF)@metawiki gửi cho mọi người trong danh sách tại https://meta.wikimedia.org/w/index.php?title=User:UOzurumba_(WMF)/sandbox_Dark_mode_deployment_mass_message_list_(October_2025)&oldid=29358561 --> == Bản tin Kỹ thuật: Tuần 41-2025 == <section begin="technews-2025-W41"/><div class="plainlinks"> '''[[m:Special:MyLanguage/Tech/News|Tin tức kỹ thuật]]''' mới nhất từ cộng đồng kỹ thuật Wikimedia. Vui lòng chia sẻ với các thành viên khác về những thay đổi này. Không phải mọi thay đổi đều sẽ ảnh hưởng đến bạn. [[m:Special:MyLanguage/Tech/News/2025/41|Các bản dịch]] của bản tin này cũng có sẵn cho bạn. '''Nổi bật trong tuần''' * [[mw:Special:MyLanguage/Help:Edit check#paste|Kiểm tra Nội dung Dán (Paste Check)]] là một tính năng Kiểm tra Sửa đổi mới để giúp phòng tránh và chống lại các hành vi vi phạm bản quyền. Khi biên tập viên dán văn bản vào bài viết, Kiểm tra Nội dung Dán sẽ nhắc họ xác nhận nguồn gốc và giấy phép của nội dung được dán đó. Bắt đầu từ thứ 4, ngày 8 tháng 10, [[phab:T403680|22 wiki sẽ thử nghiệm tính năng Kiểm tra Nội dung Dán]]. Kiểm tra Nội dung Dán sẽ giúp các tình nguyện viên mới hiểu và tuân theo các quy định và hướng dẫn cần thiết để thực hiện những đóng góp mang tính xây dựng cho các dự án Wikipedia. '''Cập nhật cho biên tập viên''' * Các thiết bị di động sẽ hiển thị các bài viết trên trang di động trực tiếp trên tên miền chuẩn (như <code>en.wikipedia.org</code>), thay vì thông qua việc đổi hướng tới tên miền "m" (như <code>en.m.wikipedia.org</code>). Thay đổi này nhằm cải thiện hiệu năng. Nó sẽ được kích hoạt trên các trang Wikipedia trong tuần này. Liên kết URL di động và tùy chọn "Phiên bản máy tính" vẫn sẽ tiếp tục khả dụng. [[mw:Requests for comment/Mobile domain sunsetting/2025 Announcement|Tìm hiểu thêm]]. [https://phabricator.wikimedia.org/T214998] * [[mw:Special:MyLanguage/Help:CirrusSearch#creationdate and lasteditdate|Bộ lọc ngày]] mới, <code dir=ltr>creationdate:</code> và <code dir=ltr>lasteditdate:</code>, nay có sẵn trong bộ máy tìm kiếm của wiki. Những bộ lọc này cho phép người dùng lọc kết quả tìm kiếm theo bản sửa đổi đầu tiên hoặc cuối cùng của trang. Bộ lọc hỗ trợ các toán tử so sánh (v.d. <code dir=ltr>>2024</code>) và ngày dạng tương đối (v.d. <code dir=ltr>today-1d</code>), giúp việc tìm nội dung hoặc trang được cập nhật gần đây trong khoảng năm cụ thể trở nên dễ dàng hơn. [https://phabricator.wikimedia.org/T403593] * [[f:|Wikifunctions]] nay hỗ trợ văn bản giàu tính chất (rich text) trong lời gọi hàm nhúng trên 150 wiki đã kích hoạt nó. Để giới thiệu tính năng này, nhóm đã tạo [[f:Z26333|bảng biến cách tiếng Latin]] mà biên tập viên Wiktionary có thể sử dụng để tự động tạo ra các dạng danh từ, nhằm tạo ra những kết quả rõ ràng và được định dạng — xem một [[f:Wikifunctions:Embedded function calls/Wiktionary tables demonstration|ví dụ đầu ra]] cụ thể. Nếu bạn cần hỗ trợ hay có bất kỳ phản hồi nào, vui lòng [[f:Wikifunctions:Project chat|liên hệ nhóm Wikifunctions]]. [https://phabricator.wikimedia.org/T397402] * Một liên kết sửa đổi nay sẽ hiển thị trong hộp thể loại trên các trang bài viết đối với người dùng đã đăng nhập, khi nhấn vào sẽ khởi động trực tiếp hộp thoại thể loại bằng Trình Soạn thảo Trực quan (VisualEditor). [https://phabricator.wikimedia.org/T291691] * [[File:Octicons-sync.svg|12px|link=|class=skin-invert|Đề mục định kỳ]] Xem tất cả {{formatnum:34}} {{PLURAL:34|tác vụ}} được tạo bởi cộng đồng đã được [[m:Special:MyLanguage/Tech/News/Recently resolved community tasks|giải quyết vào tuần trước]]. Ví dụ, tuần trước đã có vấn đề khi tải các tập tin pdf và hiện nó đã được giải quyết. [https://phabricator.wikimedia.org/T405957] '''Cập nhật cho những người đóng góp vào mảng kỹ thuật''' * Trường <code dir=ltr>rev_sha1</code> trong bảng cơ sở dữ liệu bản sửa đổi đang chuẩn bị được loại bỏ để thay thế bằng trường <code dir=ltr>content_sha1</code> trong bảng cơ sở dữ liệu nội dung. Xem [https://lists.wikimedia.org/hyperkitty/list/cloud@lists.wikimedia.org/thread/2D2M3SP4WHR6BXXKTZ2PBLZQYR3EGQVR/ thông báo này] để biết thêm thông tin. * [[mw:Special:MyLanguage/Reading/Web|Nhóm Trải nghiệm Người đọc]] sẽ triển khai giao diện người dùng [[w:en:Light-on-dark color scheme|Chế độ Tối]] trên tất cả các trang Wikimedia vào ngày 29 tháng 10 năm 2025. Tất cả thành viên vô danh trên các trang Wikimedia sẽ có tùy chọn kích hoạt bảng màu có văn bản màu sáng trên nền tối. Chế độ này được thiết kế để cung cấp trải nghiệm đọc thoải mái hơn, đặc biệt trong những trường hợp thiếu sáng. Tác giả bản mẫu và biên tập viên kỹ thuật được khuyến khích [[mw:Special:MyLanguage/Reading/Web/Accessibility for reading/Updates/2024-04|tìm hiểu cách chuẩn bị các trang để tương thích với Chế độ tối]] và giải quyết bất kỳ vấn đề tương thích nào xuất hiện trong các bản mẫu trên wiki của họ trước thời điểm kích hoạt. Vui lòng liên hệ nhóm Web nếu có bất kỳ câu hỏi hay cần sự trợ giúp nào trên [[mw:Talk:Reading/Web/Accessibility for reading#|trang thảo luận này]] trước ngày kích hoạt. [https://phabricator.wikimedia.org/T395628] * Bắt đầu từ thứ 2, ngày 6 tháng 10, các điểm cuối API theo đường dẫn <code>rest.php</code> sẽ được định tuyến lại qua Cổng API nội bộ mới. Mỗi wiki sẽ được cập nhật dựa trên các nhóm phát hành tiêu chuẩn, với tổng lưu lượng truy cập tăng dần theo thời gian. Thay đổi này dự kiến không gây ra bất kỳ sự gián đoạn gì. Nếu phát hiện thấy có bất kỳ vấn đề nào, vui lòng tạo tác vụ Phabricator gửi lên [[phab:tag/serviceops/|bảng của nhóm Vận hành Dịch vụ]]. [https://phabricator.wikimedia.org/T400130] * [[File:Octicons-sync.svg|12px|link=|class=skin-invert|Đề mục định kỳ]] Chi tiết cập nhật mã nguồn sắp tới trong tuần này: [[mw:MediaWiki 1.45/wmf.22|MediaWiki]] '''''[[m:Special:MyLanguage/Tech/News|Tin tức Kỹ thuật]]''' do [[m:Special:MyLanguage/Tech/News/Writers|các biên tập viên Bản tin Kỹ thuật]] chuẩn bị và được đăng bởi [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]]&nbsp;• [[m:Special:MyLanguage/Tech/News#contribute|Đóng góp]]&nbsp;• [[m:Special:MyLanguage/Tech/News/2025/41|Biên dịch]]&nbsp;• [[m:Tech|Nhờ giúp đỡ]]&nbsp;• [[m:Talk:Tech/News|Phản hồi]]&nbsp;• [[m:Global message delivery/Targets/Tech ambassadors|Đăng ký hoặc huỷ đăng ký]].'' </div><section end="technews-2025-W41"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 17:23, ngày 6 tháng 10 năm 2025 (UTC) <!-- Tin nhắn của Thành viên:Quiddity (WMF)@metawiki gửi cho mọi người trong danh sách tại https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=29400897 --> == <span lang="en" dir="ltr">Have your say: vote for the 2025 Board of Trustees</span> == <div lang="en" dir="ltr"> <section begin="announcement-content" /> Hello all, The voting period for the [[m:Special:MyLanguage/Wikimedia Foundation elections/2025|2025 Board of Trustees election]] is now open. Candidates are running for two (2) seats on the Board. To check your voter eligibility, please visit the [[m:Special:MyLanguage/Wikimedia Foundation elections/2025/Voter eligibility guidelines|voter eligibility page]]. Learn more about them by [[m:Special:MyLanguage/Wikimedia Foundation elections/2025/Candidates|reading their application statements and watch their candidacy videos]]. When you are ready, go to the [[m:Special:SecurePoll/vote/405|SecurePoll voting page to vote]]. '''The vote is open from October 8 at 00:00 UTC to October 22 at 23:59 UTC.''' Best regards, Abhishek Suryawanshi<br />Chair, Elections Committee<section end="announcement-content" /> </div> [[Thành viên:MediaWiki message delivery|MediaWiki message delivery]] ([[Thảo luận Thành viên:MediaWiki message delivery|thảo luận]]) 04:49, ngày 9 tháng 10 năm 2025 (UTC) <!-- Tin nhắn của Thành viên:RamzyM (WMF)@metawiki gửi cho mọi người trong danh sách tại https://meta.wikimedia.org/w/index.php?title=Distribution_list/Global_message_delivery&oldid=29360896 --> == Bản tin Kỹ thuật: Tuần 42-2025 == <section begin="technews-2025-W42"/><div class="plainlinks"> '''[[m:Special:MyLanguage/Tech/News|Tin tức kỹ thuật]]''' mới nhất từ cộng đồng kỹ thuật Wikimedia. Vui lòng chia sẻ với các thành viên khác về những thay đổi này. Không phải mọi thay đổi đều sẽ ảnh hưởng đến bạn. [[m:Special:MyLanguage/Tech/News/2025/42|Các bản dịch]] của bản tin này cũng có sẵn cho bạn. '''Nổi bật trong tuần''' * Tuần trước, chúng tôi đã tiến hành triển khai những cải tiến về các tính năng bảo mật tài khoản và xác thực hai yếu tố (2FA) trên tất cả các wiki. Những thay đổi đó bao gồm cải tiến giao diện người dùng cho trang [https://auth.wikimedia.org/metawiki/wiki/Special:AccountSecurity Đặc biệt:Bảo mật tài khoản], hỗ trợ nhiều phương thức xác thực 2FA thông qua các ứng dụng xác thực và khóa bảo mật di động (trước đây người dùng chỉ có thể kích hoạt một phương thức xác thực), và mô đun Mã Khôi phục mới giúp giảm thiểu tình trạng khóa tài khoản do mất ứng dụng và thiết bị xác thực hai yếu tố. Là một phần của dự án [[mw:Special:MyLanguage/Product Safety and Integrity/Account Security|Bảo mật Tài khoản]], quá trình này sẽ tiếp tục trong phần còn lại của năm 2025 để cải thiện nhiều hơn trải nghiệm người dùng, cùng việc thêm hỗ trợ cho mã khóa làm phương thức xác thực thứ hai thay thế. '''Cập nhật cho biên tập viên''' * Một phần khác của dự án Bảo mật tài khoản là cung cấp 2FA cho tất cả người dùng. Bên cạnh biên tập viên có quyền nâng cao, chẳng hạn như bảo quản viên và hành chính viên, 40% biên tập viên nay có quyền truy cập vào 2FA. Bạn có thể kiểm tra xem bạn có quyền truy cập đó không tại [https://auth.wikimedia.org/metawiki/wiki/Special:AccountSecurity Đặc biệt: Bảo mật tài khoản]. Hướng dẫn kích hoạt có trên trang được liên kết theo. Kế hoạch là tiếp tục tăng cường tính khả dụng nếu xác định rằng khả năng hỗ trợ người dùng có thể hỗ trợ việc sử dụng toàn cục của nó. [https://phabricator.wikimedia.org/T400579] * Tuần này, người dùng trên các wiki mà mặc định đã có sẵn tính năng [[mw:Special:MyLanguage/Talk pages project/Usability|Cải tiến Khả năng Sử dụng]] trên trang thảo luận (tất cả ''trừ'' 12 wiki được liệt kê trong tác vụ [[phab:T379264|T379264]]) sẽ có được khả năng gửi lời cảm ơn bình luận trực tiếp trên trang thảo luận mà nó xuất hiện. Trước thay đổi này, việc cảm ơn chỉ có thể được thực hiện bằng cách truy cập lịch sử sửa đổi của trang thảo luận. Bạn có thể [[diffblog:2025/10/13/revolutionizing-gratitude-a-new-era-of-thanking-comments/|tìm hiểu thêm về thay đổi này]]. [https://phabricator.wikimedia.org/T366095] * Người dùng chưa [[Special:Preferences#mw-prefsection-personal-email|xác thực địa chỉ email của mình]] sẽ sớm nhận thông báo hàng tháng nhắc họ làm điều này. Điều này là bởi vì người dùng đã xác thực email của họ có thể dễ dàng khôi phục tài khoản của mình hơn. Những lời nhắc này sẽ không được gửi nếu người dùng không hoạt động hoặc đã loại bỏ email chưa được xác thực khỏi tài khoản của mình. [https://www.mediawiki.org/wiki/Special:MyLanguage/Help:Email_confirmation][https://phabricator.wikimedia.org/T58074] * [[File:Octicons-sync.svg|12px|link=|class=skin-invert|Đề mục định kỳ]] Xem tất cả {{formatnum:21}} {{PLURAL:21|tác vụ}} được tạo bởi cộng đồng đã được [[m:Special:MyLanguage/Tech/News/Recently resolved community tasks|giải quyết vào tuần trước]]. Ví dụ, đã có một bản sửa lỗi nhằm giải quyết một lỗi thỉnh thoảng xảy ra khi lưu các đoạn đã được dịch trong công cụ Dịch Nội dung, cùng với đó các thông báo lỗi có liên quan giờ dễ nhìn hơn. [https://phabricator.wikimedia.org/T376531] '''Cập nhật cho những người đóng góp vào mảng kỹ thuật''' * Nhóm Công cụ Không được Hỗ trợ đã chọn [[c:Special:MyLanguage/Commons:Video2commons|Video2Commons]] làm công cụ đầu tiên cho chu kỳ thí điểm của họ. Nhóm sẽ tìm hiểu cách để cải tiến và duy trì công cụ này trong những tháng tiếp theo. [[m:Special:MyLanguage/Product and Technology Advisory Council/Unsupported Tools Working Group|Tìm hiểu thêm trên Meta]]. * [[File:Octicons-sync.svg|12px|link=|class=skin-invert|Đề mục định kỳ]] Chi tiết cập nhật mã nguồn sắp tới trong tuần này: [[mw:MediaWiki 1.45/wmf.23|MediaWiki]] '''''[[m:Special:MyLanguage/Tech/News|Tin tức Kỹ thuật]]''' do [[m:Special:MyLanguage/Tech/News/Writers|các biên tập viên Bản tin Kỹ thuật]] chuẩn bị và được đăng bởi [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]]&nbsp;• [[m:Special:MyLanguage/Tech/News#contribute|Đóng góp]]&nbsp;• [[m:Special:MyLanguage/Tech/News/2025/42|Biên dịch]]&nbsp;• [[m:Tech|Nhờ giúp đỡ]]&nbsp;• [[m:Talk:Tech/News|Phản hồi]]&nbsp;• [[m:Global message delivery/Targets/Tech ambassadors|Đăng ký hoặc huỷ đăng ký]].'' </div><section end="technews-2025-W42"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 18:59, ngày 13 tháng 10 năm 2025 (UTC) <!-- Tin nhắn của Thành viên:Quiddity (WMF)@metawiki gửi cho mọi người trong danh sách tại https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=29434481 --> == <span lang="en" dir="ltr">Help us decide the name of the new Abstract Wikipedia project</span> == <div lang="en" dir="ltr"> <section begin="function1"/> {{int:Hello}}. Please help pick a name for the new Abstract Wikipedia wiki project. This project will be a wiki that will enable users to combine functions from [[:f:|Wikifunctions]] and data from Wikidata in order to generate natural language sentences in any supported languages. These sentences can then be used by any Wikipedia (or elsewhere). There will be two rounds of voting, each followed by legal review of candidates, with votes beginning on 20 October and 17 November 2025. Our goal is to have a final project name selected on mid-December 2025. If you would like to participate, then '''[[m:Special:MyLanguage/Abstract Wikipedia/Abstract Wikipedia naming contest|please learn more and vote now]]''' at meta-wiki. {{Int:Feedback-thanks-title}} <section end="function1"/> </div> -- [[User:Sannita (WMF)|User:Sannita (WMF)]] ([[User talk:Sannita (WMF)|talk]]) 11:44, ngày 20 tháng 10 năm 2025 (UTC) <!-- Tin nhắn của Thành viên:Sannita (WMF)@metawiki gửi cho mọi người trong danh sách tại https://meta.wikimedia.org/w/index.php?title=Distribution_list/Global_message_delivery&oldid=29432175 --> == Bản tin Kỹ thuật: Tuần 43-2025 == <section begin="technews-2025-W43"/><div class="plainlinks"> '''[[m:Special:MyLanguage/Tech/News|Tin tức kỹ thuật]]''' mới nhất từ cộng đồng kỹ thuật Wikimedia. Vui lòng chia sẻ với các thành viên khác về những thay đổi này. Không phải mọi thay đổi đều sẽ ảnh hưởng đến bạn. [[m:Special:MyLanguage/Tech/News/2025/43|Các bản dịch]] của bản tin này cũng có sẵn cho bạn. '''Cập nhật cho biên tập viên''' * Để tối ưu hóa cách dữ liệu người dùng được lưu trong cơ sở dữ liệu của chúng tôi, các tùy chọn được lưu của người dùng chưa đăng nhập trong vòng hơn 5 năm và có ít hơn 100 sửa đổi sẽ bị xóa. Khi những người dùng đó quay lại, tùy chọn mặc định sẽ được áp dụng. [https://phabricator.wikimedia.org/T406724] * [[File:Reload icon with two arrows.svg|12px|link=|class=skin-invert|Đề mục định kỳ]] Xem tất cả {{formatnum:20}} {{PLURAL:20|tác vụ}} được tạo bởi cộng đồng đã được [[m:Special:MyLanguage/Tech/News/Recently resolved community tasks|giải quyết vào tuần trước]]. Ví dụ, đã có một liên kết hỏng từ thông điệp giao diện Đóng góp toàn cục đến trang Đóng góp toàn cục trên XTools mà hiện đã được giải quyết. [https://phabricator.wikimedia.org/T406415] '''Cập nhật cho những người đóng góp vào mảng kỹ thuật''' * Việc định tuyến lại toàn bộ lưu lượng đến các điểm cuối API theo cổng <code dir=ltr><nowiki>rest.php</nowiki></code> thông qua một cổng API chung hiện đã hoàn tất. Nếu phát hiện bất kỳ vấn đề nào, vui lòng gửi tác vụ phabricator lên [[phab:tag/serviceops/|bảng tác vụ của nhóm Vận hành Dịch vụ]]. * Các sửa đổi đối với chú thích hoặc từ hạn định Wikidata nay sẽ ít hiển thị thường xuyên hơn trên các mục Thay đổi gần đây và Danh sách theo dõi trên các wiki khác, nhằm giảm bớt các thông báo không cần thiết. Thay đổi này sẽ giảm tổng số lượng các khoản mục 'gây nhiễu'. Bản thân các trang Wikidata sẽ không có sự thay đổi nào. [https://phabricator.wikimedia.org/T401290] * [[File:Reload icon with two arrows.svg|12px|link=|class=skin-invert|Đề mục định kỳ]] Chi tiết cập nhật mã nguồn sắp tới trong tuần này: [[mw:MediaWiki 1.45/wmf.24|MediaWiki]] '''''[[m:Special:MyLanguage/Tech/News|Tin tức Kỹ thuật]]''' do [[m:Special:MyLanguage/Tech/News/Writers|các biên tập viên Bản tin Kỹ thuật]] chuẩn bị và được đăng bởi [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]]&nbsp;• [[m:Special:MyLanguage/Tech/News#contribute|Đóng góp]]&nbsp;• [[m:Special:MyLanguage/Tech/News/2025/43|Biên dịch]]&nbsp;• [[m:Tech|Nhờ giúp đỡ]]&nbsp;• [[m:Talk:Tech/News|Phản hồi]]&nbsp;• [[m:Global message delivery/Targets/Tech ambassadors|Đăng ký hoặc huỷ đăng ký]].'' </div><section end="technews-2025-W43"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 19:36, ngày 20 tháng 10 năm 2025 (UTC) <!-- Tin nhắn của Thành viên:STei (WMF)@metawiki gửi cho mọi người trong danh sách tại https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=29478670 --> == Bản tin Kỹ thuật: Tuần 44-2025 == <section begin="technews-2025-W44"/><div class="plainlinks"> '''[[m:Special:MyLanguage/Tech/News|Tin tức kỹ thuật]]''' mới nhất từ cộng đồng kỹ thuật Wikimedia. Vui lòng chia sẻ với các thành viên khác về những thay đổi này. Không phải mọi thay đổi đều sẽ ảnh hưởng đến bạn. [[m:Special:MyLanguage/Tech/News/2025/44|Các bản dịch]] của bản tin này cũng có sẵn cho bạn. '''Cập nhật cho biên tập viên''' * Ứng dụng Wikipedia dành cho iOS đã ra mắt thử nghiệm A/B/C nhằm cải tiến tính năng duyệt theo thẻ cho một số khu vực và ngôn ngữ nhất định. Thử nghiệm mang tên “Nhiều thẻ động hơn” này sẽ khám phá trải nghiệm trên thẻ mới cùng với việc bổ sung đề xuất bài viết ở mục “Bạn có biết” và “Vì bạn đã đọc”. Bạn có thể [[mw:Special:MyLanguage/Wikimedia Apps/Team/iOS/Tabbed Browsing (Tabs)/New Tab Experience and Recommendations Experiment|đọc thêm thông tin trên trang dự án này]]. * Thành viên tự xác nhận trên các wiki [[git:operations/mediawiki-config/+/a2d2aaab9ace84280dd2f4c70a33bb69cd73850f/dblists/small.dblist|nhỏ]] và [[git:operations/mediawiki-config/+/a2d2aaab9ace84280dd2f4c70a33bb69cd73850f/dblists/medium.dblist|vừa]] đã triển khai phần mở rộng CampaignEvents nay có thể sử dụng công cụ [[m:Special:MyLanguage/Event Center/Registration|Đăng ký Sự kiện]] mà không cần quyền Người tổ chức Sự kiện. Tính năng này cho phép người tổ chức kích hoạt việc đăng ký, quản lý người tham gia, và cho phép các thành viên đăng ký chỉ với một cú nhấp chuột thay vì phải ký vào trang sự kiện. * [[File:Reload icon with two arrows.svg|12px|link=|class=skin-invert|Đề mục định kỳ]] Xem tất cả {{formatnum:31}} {{PLURAL:31|tác vụ}} được tạo bởi cộng đồng đã được [[m:Special:MyLanguage/Tech/News/Recently resolved community tasks|giải quyết vào tuần trước]]. Ví dụ, vấn đề về màu sắc nhấp nháy khi giữ hoặc nhấn phím mũi tên trong phần cài đặt chế độ tối của giao diện Vector 2022 nay đã được giải quyết. [https://phabricator.wikimedia.org/T402285] '''Cập nhật cho những người đóng góp vào mảng kỹ thuật''' * Phần mở rộng CampaignEvents sẽ được triển khai trên tất cả những wiki còn lại trong tuần từ ngày 17 tháng 11 năm 2025. Phần mở rộng này hiện bao gồm ba tính năng: Đăng ký Sự kiện, Danh sách Cộng tác, và Danh sách Mời. Trong đợt triển khai này, Danh sách Lời mời sẽ không được kích hoạt cho Wikifunctions và MediaWiki cho đến khi những cộng đồng này yêu cầu kích hoạt. [[m:Special:MyLanguage/CampaignEvents/Deployment status|Truy cập trang thông tin triển khai để biết thêm thông tin]]. * Trải nghiệm chỗ thử REST dựa trên SwaggerUI nay đã có mặt trên tất cả các dự án wiki. Chỗ thử này có thể truy cập được thông qua trang [[{{#special:RestSandbox}}]]. Vui lòng báo cáo bất kỳ vấn đề nào lên bảng tin của nhóm Giao diện MediaWiki, hoặc tham gia thảo luận trên trang [[mw:Special:MyLanguage/MediaWiki Interfaces Team/Feature Feedback/REST Sandbox|khởi động dự án]] này. [https://phabricator.wikimedia.org/project/board/6931/] * Những điểm cuối chuyển đổi với đường dẫn kết thúc bằng dấu gạch chéo trong REST API của MediaWiki hiện đang được đánh dấu là lỗi thời. Chúng vẫn sẽ tiếp tục hoạt động trong thời gian này, tuy nhiên dự kiến chúng sẽ bị loại bỏ vào cuối tháng 1 năm 2026. Toàn bộ người dùng API đang gọi chúng được khuyến khích chuyển sang bản đường dẫn không kết thúc bằng dấu gạch chéo. Cả hai biến thể điểm cuối này đều có thể tìm thấy và thử được sử dụng [https://test.wikipedia.org/w/index.php?api=mw-extra&title=Special%3ARestSandbox Chỗ thử REST]. Xem trang [[mw:API/Deprecation|Ngừng hỗ trợ với REST API MediaWiki]] để biết thêm thông tin chi tiết về các chính sách và thủ tục trong việc ngừng hỗ trợ API. * [[mw:API:REST API/Changelog|Nhật trình thay đổi chuyên biệt nay đã có sẵn cho REST API của MediaWiki]]. Nhật trình thay đổi này cung cấp tổng quan về những thay đổi này, giúp các nhà phát triển dễ dàng theo dõi những cải tiến và lần lặp lại của chúng. Mọi thông báo cũng sẽ tiếp tục được gửi thông qua các kênh truyền thông chính, bao gồm Bản tin Kỹ thuật và danh sách phân phối qua thư điện tử, nhưng nay có thể dễ dàng tham khảo hơn từ một vị trí trung tâm. Nếu bạn có bất kỳ phản hồi nào về định dạng, cấu trúc, hoặc nội dung về nhật trình thay đổi này, vui lòng [[mw:API talk:REST API/Changelog|tham gia thảo luận tại đây]]. * Bảo quản viên nay có thể xóa thể loại theo dõi mà trước đây được thêm bởi phần mở rộng JsonConfig, do nó không còn được sử dụng. Xem các thể loại được liên kết từ [[d:Q130635582#sitelinks-wikipedia|Q130635582]]. Việc vẫn còn trang được liệt kê trên thể loại này là bình thường vì nó chỉ là vấn đề về bộ nhớ đệm, và chúng sẽ tự động được xóa khi các trang đó được sửa đổi trong lần tiếp theo. [https://phabricator.wikimedia.org/T378352] * [[File:Reload icon with two arrows.svg|12px|link=|class=skin-invert|Đề mục định kỳ]] Chi tiết cập nhật mã nguồn sắp tới trong tuần này: [[mw:MediaWiki 1.45/wmf.25|MediaWiki]] '''''[[m:Special:MyLanguage/Tech/News|Tin tức Kỹ thuật]]''' do [[m:Special:MyLanguage/Tech/News/Writers|các biên tập viên Bản tin Kỹ thuật]] chuẩn bị và được đăng bởi [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]]&nbsp;• [[m:Special:MyLanguage/Tech/News#contribute|Đóng góp]]&nbsp;• [[m:Special:MyLanguage/Tech/News/2025/44|Biên dịch]]&nbsp;• [[m:Tech|Nhờ giúp đỡ]]&nbsp;• [[m:Talk:Tech/News|Phản hồi]]&nbsp;• [[m:Global message delivery/Targets/Tech ambassadors|Đăng ký hoặc huỷ đăng ký]].'' </div><section end="technews-2025-W44"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 19:31, ngày 27 tháng 10 năm 2025 (UTC) <!-- Tin nhắn của Thành viên:STei (WMF)@metawiki gửi cho mọi người trong danh sách tại https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=29513638 --> == <span lang="en" dir="ltr">Seeking volunteers to join several of the movement’s committees</span> == <div lang="en" dir="ltr"> <section begin="announcement-content" /> Each year, typically from October through December, several of the movement’s committees seek new volunteers. Read more about the committees on their Meta-wiki pages: * [[m:Special:MyLanguage/Affiliations Committee|Affiliations Committee (AffCom)]] * [[m:Special:MyLanguage/Ombuds commission|Ombuds commission (OC)]] * [[m:Special:MyLanguage/Wikimedia Foundation/Legal/Community Resilience and Sustainability/Trust and Safety/Case Review Committee|Case Review Committee (CRC)]] Applications for the committees open on October 30, 2025. Applications for the Affiliations Committee, Ombuds commission and the Case Review Committee close on December 11, 2025. Learn how to apply by [[m:Special:MyLanguage/Wikimedia Foundation/Legal/Committee appointments|visiting the appointment page on Meta-wiki]]. Post to the talk page or email cst[[File:At sign.svg|16x16px|link=|(_AT_)]]wikimedia.org with any questions you may have. For the Committee Support team, <section end="announcement-content" /> </div> -[[m:User:MKaur (WMF)| MKaur (WMF)]] 14:14, ngày 30 tháng 10 năm 2025 (UTC) <!-- Tin nhắn của Thành viên:MKaur (WMF)@metawiki gửi cho mọi người trong danh sách tại https://meta.wikimedia.org/w/index.php?title=Distribution_list/Global_message_delivery&oldid=29517125 --> == Bản tin Kỹ thuật: Tuần 45-2025 == <section begin="technews-2025-W45"/><div class="plainlinks"> '''[[m:Special:MyLanguage/Tech/News|Tin tức kỹ thuật]]''' mới nhất từ cộng đồng kỹ thuật Wikimedia. Vui lòng chia sẻ với các thành viên khác về những thay đổi này. Không phải mọi thay đổi đều sẽ ảnh hưởng đến bạn. [[m:Special:MyLanguage/Tech/News/2025/45|Các bản dịch]] của bản tin này cũng có sẵn cho bạn. '''Cập nhật cho biên tập viên''' * Các bảo quản viên giờ đây sẽ thấy rằng [[{{#special:MergeHistory}}]] đã trở nên linh hoạt hơn đáng kể trong việc hợp nhất. Nó có thể hợp nhất các phần được lấy từ giữa lịch sử của trang nguồn (thay vì chỉ từ phần đầu), và chèn các phiên bản vào bất kỳ vị trí nào trong lịch sử của trang đích (thay vì chỉ ở phần đầu). [https://phabricator.wikimedia.org/T382958] * Đối với những người dùng đã kích hoạt "{{int:discussiontools-preference-autotopicsub}}" [[Special:Preferences#mw-prefsection-editing|trong tùy chọn của họ]], việc bắt đầu một chủ đề mới hoặc thêm một phản hồi vào một chủ đề hiện có giờ đây sẽ tự động đăng ký họ theo dõi các phản hồi mới trong chủ đề đó. Trước đây, điều này chỉ xảy ra nếu người dùng sử dụng tiện ích "{{int:Skin-action-addsection}}" hoặc "{{int:Discussiontools-replybutton}}" của DiscussionTools. Khi DiscussionTools mới được ra mắt, các tài khoản hiện có không được tự động bật tính năng theo dõi chủ đề, vì vậy thay đổi này chủ yếu sẽ ảnh hưởng đến các tài khoản mới hơn và những người dùng đã chủ động thay đổi tùy chọn của mình kể từ thời điểm đó. [https://phabricator.wikimedia.org/T290778] * Các mô đun Scribunto giờ đây có thể được dùng để [[mw:Special:MyLanguage/Extension:Scribunto/Lua reference manual#SVG library|tạo ảnh SVG]]. Tính năng này cho phép tạo biểu đồ, đồ họa và các hình minh họa khác một cách linh hoạt thông qua Lua, giúp giảm nhu cầu phải tạo chúng bên ngoài rồi tải lên dưới dạng tập tin. [https://phabricator.wikimedia.org/T405861] * Các trang web của Wikimedia giờ đây sẽ cung cấp cho tất cả người dùng ẩn danh tùy chọn bật chế độ tối, với giao diện chữ sáng trên nền tối. Cải tiến này nhằm mang lại trải nghiệm đọc dễ chịu hơn, đặc biệt là trong môi trường thiếu sáng. [https://phabricator.wikimedia.org/T395628] * Những người dùng có danh sách theo dõi lớn từ lâu đã gặp lỗi quá thời gian khi chỉnh sửa [[Special:EditWatchlist|Special:EditWatchlist]]. Trang này nay sẽ tải các mục theo từng phần nhỏ thay vì tải toàn bộ cùng lúc nhờ bản cập nhật phân trang, giúp mọi người có thể chỉnh sửa danh sách theo dõi mượt mà hơn. Trong quá trình cập nhật cơ sở dữ liệu, tính năng sắp xếp theo thời hạn đã bị loại bỏ vì chậm hơn hơn 100 lần so với sắp xếp theo tên trang. Một [https://meta.wikimedia.org/wiki/Community_Wishlist/W454 yêu cầu từ cộng đồng] đã được tạo để tìm các cách thay thế nhằm khôi phục tính năng sắp xếp theo thời hạn. Nếu bạn thấy tính năng này quan trọng, hãy ủng hộ yêu cầu đó! [https://phabricator.wikimedia.org/T41510] * [[File:Reload icon with two arrows.svg|12px|link=|class=skin-invert|Đề mục định kỳ]] Xem tất cả {{formatnum:31}} {{PLURAL:31|tác vụ}} được tạo bởi cộng đồng đã được [[m:Special:MyLanguage/Tech/News/Recently resolved community tasks|giải quyết vào tuần trước]]. Ví dụ, việc khắc phục lỗi tô sáng vẫn còn hiển thị sau khi sử dụng tính năng tìm và thay thế của VisualEditor trong quá trình tìm kiếm. [https://phabricator.wikimedia.org/T407318] '''Cập nhật cho những người đóng góp vào mảng kỹ thuật''' * Từ năm 2019, [[m:Special:MyLanguage/Wikimedia URL Shortener|Trình rút gọn URL của Wikimedia]] tại https://w.wiki đã có sẵn cho tất cả các wiki của Wikimedia để tạo liên kết ngắn đến bài viết, liên kết cố định, bản so sánh, v.v. Tính năng này có trong thanh bên với tên "Lấy URL rút gọn". Hiện có 30 wiki vẫn đang sử dụng tiện ích mở rộng cũ "ShortUrl". Tiện ích cũ này sẽ sớm bị gỡ bỏ. Điều này có nghĩa là các URL dạng <code>/s/</code> sẽ không còn được hiển thị dưới tiêu đề bài viết thông qua thẻ HTML <code dir=ltr>class="title-shortlink"</code>. Tuy nhiên, các URL dạng <code>/s/</code> vẫn sẽ tiếp tục hoạt động. [https://phabricator.wikimedia.org/T107188] * Vào thứ Năm, ngày 30 tháng 10, các nhóm [[:mw:Special:MyLanguage/MediaWiki Interfaces Team|Giao diện MediaWiki]] và [[:mw:Special:MyLanguage/Wikimedia Site Reliability Engineering|Vận hành Dịch vụ SRE]] đã bắt đầu chuyển hướng lưu lượng của Action API thông qua một cổng API chung. Các wiki riêng lẻ sẽ được cập nhật theo từng nhóm phát hành tiêu chuẩn, với tổng lưu lượng được tăng dần theo thời gian. Thay đổi này được kỳ vọng sẽ không gây ra lỗi hoặc gián đoạn. Nếu bạn phát hiện bất kỳ sự cố nào, vui lòng gửi báo cáo trên bảng [https://phabricator.wikimedia.org/tag/serviceops/ của nhóm Vận hành Dịch vụ]. * Việc triển khai MediaWiki Train sẽ tạm dừng trong hai tuần cuối cùng của năm 2025: ngày 22 và 29 tháng 12. Các khung thời gian backport cũng sẽ tạm ngưng từ thứ Hai, ngày 22 tháng 12 năm 2025 đến thứ Năm, ngày 2 tháng 1 năm 2026. "Backport window" là khoảng thời gian được lên lịch để bổ sung các nội dung như bản vá lỗi và thay đổi cấu hình. Hiện vẫn còn bảy đợt triển khai MediaWiki Train nữa trong năm 2025. [https://lists.wikimedia.org/hyperkitty/list/wikitech-l@lists.wikimedia.org/thread/SMWTEAES4SDLDUSK4HMWNBSKNCXZAWYN/] * [[File:Reload icon with two arrows.svg|12px|link=|class=skin-invert|Đề mục định kỳ]] Chi tiết cập nhật mã nguồn sắp tới trong tuần này: [[mw:MediaWiki 1.45/wmf.26|MediaWiki]] '''Chuyên sâu''' * Năm 2025, Quỹ Wikimedia báo cáo rằng các hệ thống AI và công cụ tìm kiếm ngày càng sử dụng nội dung từ Wikipedia mà không dẫn người dùng quay lại trang, góp phần khiến lượng lượt xem từ người dùng thực giảm 8% so với năm 2024. Sau khi phát hiện các bot giả dạng người dùng thật, Wikimedia đã cập nhật dữ liệu truy cập để phản ánh sự thay đổi này. Bạn có thể đọc thêm về xu hướng người dùng hiện nay trên Wikipedia trong [[diffblog:2025/10/17/new-user-trends-on-wikipedia/|bài viết trên blog Diff]]. '''''[[m:Special:MyLanguage/Tech/News|Tin tức Kỹ thuật]]''' do [[m:Special:MyLanguage/Tech/News/Writers|các biên tập viên Bản tin Kỹ thuật]] chuẩn bị và được đăng bởi [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]]&nbsp;• [[m:Special:MyLanguage/Tech/News#contribute|Đóng góp]]&nbsp;• [[m:Special:MyLanguage/Tech/News/2025/45|Biên dịch]]&nbsp;• [[m:Tech|Nhờ giúp đỡ]]&nbsp;• [[m:Talk:Tech/News|Phản hồi]]&nbsp;• [[m:Global message delivery/Targets/Tech ambassadors|Đăng ký hoặc huỷ đăng ký]].'' </div><section end="technews-2025-W45"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 19:34, ngày 3 tháng 11 năm 2025 (UTC) <!-- Tin nhắn của Thành viên:STei (WMF)@metawiki gửi cho mọi người trong danh sách tại https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=29552512 --> == Bản tin Kỹ thuật: Tuần 46-2025 == <section begin="technews-2025-W46"/><div class="plainlinks"> '''[[m:Special:MyLanguage/Tech/News|Tin tức kỹ thuật]]''' mới nhất từ cộng đồng kỹ thuật Wikimedia. Vui lòng chia sẻ với các thành viên khác về những thay đổi này. Không phải mọi thay đổi đều sẽ ảnh hưởng đến bạn. [[m:Special:MyLanguage/Tech/News/2025/46|Các bản dịch]] của bản tin này cũng có sẵn cho bạn. '''Cập nhật cho biên tập viên''' [[File:Talk pages default look (April 2023).jpg|thumb|alt=Hình chụp những thay đổi về mặt trực quan được thực hiện trên trang thảo luận|Ví dụ về trang thảo luận với thiết kế mới, bằng tiếng Pháp.]] * Kể từ ngày 12 tháng 11, người dùng sẽ nhận thấy sự thay đổi về [[m:Special:MyLanguage/Talk pages project/Feature summary#Usability improvements|giao diện của các trang thảo luận]] trên [[Phab:T379264|một số trang Wikipedia]]. Hầu hết [[phab:T392121|toàn bộ các wiki]] đã có được thay đổi về mặt thiết kế này; những thay đổi này sẽ được thực hiện sau trên [[phab:T409297|Wikipedia tiếng Anh]]. Bạn có thể đọc thêm [[diffblog:2024/05/02/making-talk-pages-better-for-everyone/|trên ''Diff'']]. Người dùng có thể chọn không thực hiện thay đổi này [[Special:Preferences#mw-prefsection-editing|trong tùy chọn người dùng của mình]] ở tùy chọn "{{int:discussiontools-preference-visualenhancements}}". [https://phabricator.wikimedia.org/T379264] * MediaWiki nay có thể hiển thị [[mw:Special:MyLanguage/Help:Protection indicators|chỉ báo trên trang]] tự động khi một trang bị khóa. Tính năng này được tắt theo mặc định. Nó có thể được bật theo [[m:Special:MyLanguage/Requesting wiki configuration changes|yêu cầu của cộng đồng]]. [https://phabricator.wikimedia.org/T12347] * Việc sử dụng các nút "{{int:showpreview}}" hoặc "{{int:showdiff}}" trong trình soạn thảo mã nguồn nay sẽ đi kèm một số tham số URL nhất định như '[[mw:Special:MyLanguage/Manual:Parameters to index.php#useskin|useskin]]', '[[mw:Special:MyLanguage/Manual:Parameters to index.php#uselang|uselang]]' và '[[mw:Special:MyLanguage/Help:Section#Editing sections|section]]'. Bản cập nhật này đồng thời cũng sửa một vấn đề mà, nếu trình duyệt bị sập khi đang xem trước sửa đổi một đề mục duy nhất, việc lưu sửa đổi này có thể ghi đè toàn bộ trang chỉ bằng nội dung của đề mục đó. [https://phabricator.wikimedia.org/T62744][https://phabricator.wikimedia.org/T24029][https://phabricator.wikimedia.org/T155097] * Các wiki Wikivoyage có thể dùng [[mw:Special:MyLanguage/Help:Extension:Kartographer#Markers and counters|điểm đánh dấu bản đồ bằng màu trong nội dung văn bản của bài viết]]. Nội dung văn bản của những điểm đánh dấu đó nay sẽ được hiển thị bằng màu đen hoặc trắng tương phản, thay vì luôn luôn là màu trắng. Cộng đồng có thể loại bỏ các phương pháp giải quyết cục bộ cho vấn đề này. [https://phabricator.wikimedia.org/T369454] * Tab Hoạt động trên ứng dụng Wikipedia dành cho Android nay có sẵn cho tất cả người dùng. Tab mới này cung cấp thông tin chuyên sâu được cá nhân hóa về hoạt động đọc, sửa đổi, và quyên góp, đồng thời đơn giản hóa việc điều hướng và giúp cho việc sử dụng ứng dụng trở nên hấp dẫn hơn. [https://www.mediawiki.org/wiki/Wikimedia_Apps/Team/Android/Activity_Tab_Experiment] * Nhóm Phát triển Độc giả (Reader Growth) chuẩn bị khởi động thử nghiệm mang tên "Duyệt hình ảnh" để kiểm tra cách giúp người đọc dễ dàng duyệt và khám phá hình ảnh trên các bài viết Wikipedia hơn. Thử nghiệm này, một thử nghiệm A/B dành riêng cho thiết bị di động, sẽ bắt đầu được thực hiện vào tuần từ ngày 17 tháng 11 và sẽ kéo dài trong bốn tuần, ảnh hưởng đến 0,05% người dùng trên wiki tiếng Anh. Thử nghiệm này đã bắt đầu vào ngày 3 tháng 11 trên các wiki tiếng Ả Rập, tiếng Trung, tiếng Pháp, tiếng Indonesia và tiếng Việt, ảnh hưởng đến tối đa 10% người dùng trên những wiki này. [https://www.mediawiki.org/wiki/Readers/Reader_Growth/WE3.1.3_Image_Browsing] * [[File:Reload icon with two arrows.svg|12px|link=|class=skin-invert|Đề mục định kỳ]] Xem tất cả {{formatnum:27}} {{PLURAL:27|tác vụ}} được tạo bởi cộng đồng đã được [[m:Special:MyLanguage/Tech/News/Recently resolved community tasks|giải quyết vào tuần trước]]. Ví dụ như đã khắc phục việc không thể khóa tài khoản trên trang web dành cho di động. [https://phabricator.wikimedia.org/T256185] '''Cập nhật cho những người đóng góp vào mảng kỹ thuật''' * [[wikitech:Help talk:Toolforge/Toolforge standards committee#November 2025 committee nominations|Wikitech đang mở đề cử]] chọn thành viên mới của [[wikitech:Help:Toolforge/Toolforge standards committee|Ủy ban tiêu chuẩn của Toolforge]]. Ủy ban này giám sát [[wikitech:Help:Toolforge/Right to fork policy|Chính sách quyền sử dụng bản sao]] và [[wikitech:Help:Toolforge/Abandoned tool policy|Chính sách cho công cụ bị bỏ rơi]] của Toolforge cùng nhiều nhiệm vụ khác. Đề cử sẽ tiếp tục mở đến hết ngày 28 tháng 11 năm 2025. * [[w:JSON Web Token#Standard fields|Trường bên cung cấp JWT]] trong [[mw:Special:MyLanguage/OAuth/For Developers#OAuth 2|mã truy cập OAuth 2]] dành cho [[m:Special:MyLanguage/Help:Unified login|wiki SUL]] (đăng nhập trung ương) đã được thay đổi thành <code><nowiki>https://meta.wikimedia.org</nowiki></code>. Các mã truy cập cũ vẫn sẽ hoạt động. [https://phabricator.wikimedia.org/T399199] * [[w:JSON Web Token#Standard fields|Trường chủ đề JWT]] trong [[mw:Special:MyLanguage/OAuth/For Developers#OAuth 2|mã truy cập OAuth 2]] sẽ sớm thay đổi từ <code><user id></code> sang <code dir=ltr style="white-space:nowrap">mw:<identity type>:<user id></code>, trong đó <code><identity type></code> thường là <code dir=ltr>CentralAuth:</code><!-- not a typo --> (đối với [[m:Special:MyLanguage/Help:Unified login|wiki SUL]]) hoặc <code dir=ltr style="white-space:nowrap">local:<wiki id></code> (đối với các wiki khác). Điều này là nhằm tránh xung đột giữa các loại ID người dùng khác nhau, và để mã truy cập OAuth 2 và cookie <code>sessionJwt</code> trở nên giống nhau hơn. Các mã truy cập cũ vẫn sẽ hoạt động. [https://phabricator.wikimedia.org/T399199] * Các thông điệp cấm của MediaWiki ([[MediaWiki:Blockedtext|blockedtext]], [[MediaWiki:Blockedtext-partial|blockedtext-partial]], [[MediaWiki:Autoblockedtext|autoblockedtext]], [[MediaWiki:Systemblockedtext|systemblockedtext]], [[MediaWiki:Blockedtext-tempuser|blockedtext-tempuser]], [[MediaWiki:Autoblockedtext-tempuser|autoblockedtext-tempuser]]) nay hỗ trợ thêm các tham số bổ sung nhằm chỉ ra xem người dùng đó có bị cấm sửa đổi trang thảo luận của mình <code><nowiki>$9</nowiki></code> hoặc gửi thư điện tử cho người dùng khác <code><nowiki>$</nowiki><nowiki>10</nowiki></code> hay không. [https://phabricator.wikimedia.org/T285612] * Nhánh <code>REL1_45</code> cho lõi MediaWiki và từng phần mở rộng cùng giao diện trong git của Wikimedia đã được tạo. Đây là bước đầu tiên trong quá trình phát hành phiên bản MediaWiki 1.45.0, được lên kế hoạch triển khai vào cuối tháng 11 năm 2025. Nếu bạn đang thực hiện việc khắc phục lỗi nghiêm trọng hoặc thực hiện tính năng mới, bạn có thể cần phải lưu ý thay đổi này. [https://lists.wikimedia.org/hyperkitty/list/wikitech-l@lists.wikimedia.org/thread/ZUY7TY3Z6XPZWZVAZV63OPO5OW52Q6GE/] * Quy trình tạo bản dump CirrusSearch đã được cập nhật do hiệu suất bị chậm. Nếu bạn gặp bất kỳ sự cố nào khi chuyển sang bản dump thay thế, vui lòng liên hệ với Nhóm Nền tảng Tìm kiếm để được hỗ trợ. [https://phabricator.wikimedia.org/T366248][https://lists.wikimedia.org/hyperkitty/list/wikitech-l@lists.wikimedia.org/thread/3KQPOR6ACVN6OVLMLZPIBXQSWQKW4E3K/] * [[File:Reload icon with two arrows.svg|12px|link=|class=skin-invert|Đề mục định kỳ]] Chi tiết cập nhật mã nguồn sắp tới trong tuần này: [[mw:MediaWiki 1.46/wmf.2|MediaWiki]] '''''[[m:Special:MyLanguage/Tech/News|Tin tức Kỹ thuật]]''' do [[m:Special:MyLanguage/Tech/News/Writers|các biên tập viên Bản tin Kỹ thuật]] chuẩn bị và được đăng bởi [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]]&nbsp;• [[m:Special:MyLanguage/Tech/News#contribute|Đóng góp]]&nbsp;• [[m:Special:MyLanguage/Tech/News/2025/46|Biên dịch]]&nbsp;• [[m:Tech|Nhờ giúp đỡ]]&nbsp;• [[m:Talk:Tech/News|Phản hồi]]&nbsp;• [[m:Global message delivery/Targets/Tech ambassadors|Đăng ký hoặc huỷ đăng ký]].'' </div><section end="technews-2025-W46"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 20:38, ngày 10 tháng 11 năm 2025 (UTC) <!-- Tin nhắn của Thành viên:UOzurumba (WMF)@metawiki gửi cho mọi người trong danh sách tại https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=29606150 --> == Bản tin Kỹ thuật: Tuần 47-2025 == <section begin="technews-2025-W47"/><div class="plainlinks"> '''[[m:Special:MyLanguage/Tech/News|Tin tức kỹ thuật]]''' mới nhất từ cộng đồng kỹ thuật Wikimedia. Vui lòng chia sẻ với các thành viên khác về những thay đổi này. Không phải mọi thay đổi đều sẽ ảnh hưởng đến bạn. [[m:Special:MyLanguage/Tech/News/2025/47|Các bản dịch]] của bản tin này cũng có sẵn cho bạn. '''Cập nhật cho biên tập viên''' * [[mw:Special:MyLanguage/Readers/Reader Experience|Nhóm Trải nghiệm Người đọc]] đang thử nghiệm tính năng [[mw:Special:MyLanguage/Readers/Reader Experience/WE3.3.4_Reading lists|danh sách đọc trên trang di động]], cho phép người đọc đã đăng nhập chưa thực hiện sửa đổi nào có thể lưu danh sách bài viết riêng tư để đọc sau. Thử nghiệm đang được thực hiện trên các Wikipedia tiếng Ả Rập, tiếng Trung, tiếng Pháp, tiếng Indonesia, và tiếng Việt kể từ tuần ngày 10 tháng 11, và sẽ bắt đầu trên Wikipedia tiếng Anh trong tuần ngày 17 tháng 11. * Người dùng không thể nhận được mã xác nhận qua thư điện tử khi đăng nhập nay có thể nhờ hỗ trợ bằng cách gửi biểu mẫu trên trang đặc biệt mới. Cập nhật này là một phần của sáng kiến [[mw:Special:MyLanguage/Product Safety and Integrity/Account Security|Bảo mật Tài khoản]]. Nếu tài khoản của bạn có địa chỉ thư điện tử, hãy đảm bảo rằng bạn vẫn có quyền truy cập vào nó. Trong quá trình đăng nhập từ thiết bị hoặc địa điểm mới mà không có 2FA, bạn có thể được yêu cầu nhập mã 6 ký tự được gửi từ thư điện tử để hoàn tất đăng nhập. [[mw:Special:MyLanguage/Product Safety and Integrity/Account Security#Why are you requiring me to enter a code from my email to log in? Can I opt out of this?|Tìm hiểu thêm]]. * Một wiki mới đã được tạo ra: {{int:project-localized-name-group-wikisource}} tiếng [[d:Q13324|Minangkabau]] ([[s:min:|<code>s:min:</code>]]) [https://phabricator.wikimedia.org/T408317] * [[File:Reload icon with two arrows.svg|12px|link=|class=skin-invert|Đề mục định kỳ]] Xem tất cả {{formatnum:23}} {{PLURAL:23|tác vụ}} được tạo bởi cộng đồng đã được [[m:Special:MyLanguage/Tech/News/Recently resolved community tasks|giải quyết vào tuần trước]]. '''Cập nhật cho những người đóng góp vào mảng kỹ thuật''' * Là một phần của dự án [[mw:Special:MyLanguage/Parsoid/Parser Unification|Hợp nhất Trình Phân tích Cú pháp]], Nhóm Chuyển đổi Nội dung đã triển khai Parsoid làm trình phân tích cú pháp mặc định cho nhiều trang Wikipedia có lưu lượng truy cập thấp và đang chuẩn bị tiếp tục bước tiếp theo để triển khai đến những trang có lưu lượng truy cập cao. Tin nhắn này là lời mời cho bạn tham gia vào Parsoid, như được miêu tả trong tài liệu [[mw:Special:MyLanguage/Help:Extension:ParserMigration|Extension:ParserMigration]], và tìm ra bất kỳ vấn đề nào mà bạn có thể gặp phải với quy trình làm việc của mình khi sử dụng bot, tiện ích hoặc đoạn mã người dùng. Hãy cho chúng tôi biết thông qua liên kết ''"Báo cáo lỗi hiển thị"'' trên thanh bên Công cụ hoặc tạo một tác vụ phab và gắn thẻ [[phab:project/view/5846|Nhóm Chuyển đổi Nội dung trên Phabricator]]. * Dự án Công cụ Không được Hỗ trợ: Một vài vấn đề với [[:c:Special:MyLanguage/Commons:Video2commons|Video2Commons]] đã được giải quyết, bao gồm lỗi tải lên liên quan đến tên tập tin, nhập video bị đen, và xử lý việc thử lại. Hỗ trợ cho AV1 cũng đã được thêm vào. Những công việc đang được tiến hành tập trung vào tính ổn định của backend, lỗi ffmpeg, nhập phụ đề, xử lý siêu dữ liệu, và tải lên danh sách phát. Để theo dõi các tác vụ cụ thể, hãy kiểm tra [[phab:tag/video2commons/|bảng tác vụ trên Phabricator]]. * [[File:Reload icon with two arrows.svg|12px|link=|class=skin-invert|Đề mục định kỳ]] Chi tiết cập nhật mã nguồn sắp tới trong tuần này: [[mw:MediaWiki 1.46/wmf.3|MediaWiki]] '''Các cuộc họp và sự kiện''' * Hãy lưu lịch ngay cho Hackathon Wikimedia tiếp theo sẽ diễn ra tại Milan, Ý từ ngày 1–3 tháng 5 năm 2026. Cổng đăng ký sẽ được mở vào tháng 1 năm 2026. [https://pretix.eu/wikimedia/Hackathon-2026/ Đơn đăng ký nhận học bổng hiện đang được mở], và sẽ đóng vào ngày 28 tháng 11 năm 2025. Nếu bạn có bất kỳ câu hỏi nào, vui lòng gửi thư đến <bdi lang="en" dir="ltr">hackathon@wikimedia.org</bdi>. '''''[[m:Special:MyLanguage/Tech/News|Tin tức Kỹ thuật]]''' do [[m:Special:MyLanguage/Tech/News/Writers|các biên tập viên Bản tin Kỹ thuật]] chuẩn bị và được đăng bởi [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]]&nbsp;• [[m:Special:MyLanguage/Tech/News#contribute|Đóng góp]]&nbsp;• [[m:Special:MyLanguage/Tech/News/2025/47|Biên dịch]]&nbsp;• [[m:Tech|Nhờ giúp đỡ]]&nbsp;• [[m:Talk:Tech/News|Phản hồi]]&nbsp;• [[m:Global message delivery/Targets/Tech ambassadors|Đăng ký hoặc huỷ đăng ký]].'' </div><section end="technews-2025-W47"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 17:26, ngày 17 tháng 11 năm 2025 (UTC) <!-- Tin nhắn của Thành viên:STei (WMF)@metawiki gửi cho mọi người trong danh sách tại https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=29627455 --> == <span lang="en" dir="ltr">Reminder: Help us decide the name of the new Abstract Wikipedia project</span> == <div lang="en" dir="ltr"> <section begin="function2"/> {{int:Hello}}. Reminder: Please help to choose name for the new Abstract Wikipedia wiki project. The finalist vote starts today. The finalists for the name are: <span lang="en" dir="ltr" class="mw-content-ltr">Abstract Wikipedia, Multilingual Wikipedia, Wikiabstracts, Wikigenerator, Proto-Wiki</span>. If you would like to participate, then '''[[m:Special:MyLanguage/Abstract Wikipedia/Abstract Wikipedia naming contest|please learn more and vote now]]''' at meta-wiki. {{Int:Feedback-thanks-title}} <section end="function2"/> </div> -- [[User:Sannita (WMF)|User:Sannita (WMF)]] ([[User talk:Sannita (WMF)|talk]]) 14:23, ngày 20 tháng 11 năm 2025 (UTC) <!-- Tin nhắn của Thành viên:Sannita (WMF)@metawiki gửi cho mọi người trong danh sách tại https://meta.wikimedia.org/w/index.php?title=Distribution_list/Global_message_delivery&oldid=29583860 --> == Bản tin Kỹ thuật: Tuần 48-2025 == <section begin="technews-2025-W48"/><div class="plainlinks"> '''[[m:Special:MyLanguage/Tech/News|Tin tức kỹ thuật]]''' mới nhất từ cộng đồng kỹ thuật Wikimedia. Vui lòng chia sẻ với các thành viên khác về những thay đổi này. Không phải mọi thay đổi đều sẽ ảnh hưởng đến bạn. [[m:Special:MyLanguage/Tech/News/2025/48|Các bản dịch]] của bản tin này cũng có sẵn cho bạn. '''Cập nhật cho biên tập viên''' * Tuần trước, [[mw:Special:MyLanguage/Wikimedia Search Platform|Nhóm Tìm kiếm Wikimedia]] đã tạo lại chức năng của tiện ích "DWIM" (Do What I Mean - Làm những gì bạn muốn) trên máy chủ, cho Wikipedia tiếng Nga và tiếng Do Thái. Tính năng này bổ sung gợi ý đa bàn phím vào gợi ý trên hộp tìm kiếm tiêu chuẩn. Ví dụ, khi tìm kiếm ''<span lang="und" dir="ltr">cxfcnmt</span>'' trên Wikipedia tiếng Nga giờ đây sẽ bổ sung thêm gợi ý cho ''<span lang="ru" dir="ltr">счастье</span>'' ("sự hạnh phúc") mà người dùng có thể có ý định tìm tới. Họ dự kiến sẽ kích hoạt tính năng này trên các wiki khác bằng tiếng Nga và tiếng Do Thái trong tuần này. [https://phabricator.wikimedia.org/T408734] * Cuối tuần này, người dùng [[Special:Preferences#mw-prefsection-betafeatures|tính năng beta]] "{{int:codemirror-beta-feature-title}}" sẽ có thể sử dụng tính năng tô màu cú pháp trong [[mw:Special:MyLanguage/Help:DiscussionTools|Công cụ Thảo luận]]. Điều này yêu cầu phải thiết lập tùy chọn "{{int:discussiontools-preference-sourcemodetoolbar}}". [https://phabricator.wikimedia.org/T407918] * [[mw:Special:MyLanguage/Help:Extension:CampaignEvents|Phần mở rộng chiến dịch sự kiện]] – một bộ công cụ để phối hợp tổ chức sự kiện và các hoạt động cộng tác khác trên wiki nay đã được triển khai tới tất cả các wiki của Wikimedia. Một tính năng mới được gọi là [[m:Special:MyLanguage/CampaignEvents/Collaborative contributions|Đóng góp cộng tác]] cũng đã được thêm vào để giúp những người tổ chức và người tham gia thấy được tác động của những hoạt động đó. Hãy tham gia [[m:Special:MyLanguage/Event:Connection learning session 3|buổi học sắp tới]] để xem tính năng mới đó hoạt động thực tế như thế nào và chia sẻ phản hồi của bạn. * [[File:Reload icon with two arrows.svg|12px|link=|class=skin-invert|Đề mục định kỳ]] Xem tất cả {{formatnum:24}} {{PLURAL:24|tác vụ}} được tạo bởi cộng đồng đã được [[m:Special:MyLanguage/Tech/News/Recently resolved community tasks|giải quyết vào tuần trước]]. Ví dụ, một lỗi khiến cho CodeReviewBot ngừng hoạt động hiện đã được giải quyết. [https://phabricator.wikimedia.org/T410417] '''Cập nhật cho những người đóng góp vào mảng kỹ thuật''' * Người dùng API của Wikimedia có thể tham gia nghiên cứu khả năng sử dụng để giúp xác thực thiết kế mới dành cho chỗ thử REST API của Wikimedia. Những người có hứng thú tham gia cần điền vào [https://wikimediafoundation.limesurvey.net/487662 biểu mẫu khảo sát tham gia] này. [https://lists.wikimedia.org/hyperkitty/list/wikitech-l@lists.wikimedia.org/thread/IREJRRWTZTGCYWQHDMSNJFTQAEPOOAE3/] * Nhóm Giao diện MediaWiki đang trong quá trình ngừng hỗ trợ các bảng định dạng (stylesheet) kiểu XSLT trong Action API. Hỗ trợ cho <code dir=ltr>format=xml'''&xlst={stylesheet}'''</code> sẽ bị loại bỏ khỏi các dự án Wikimedia vào cuối tháng 11 năm 2025. Ngoài ra, nó sẽ sớm mặc định bị vô hiệu hóa trong các phiên bản phát hành của MediaWiki: v1.43 (LTS), v1.44, và v1.45. Hỗ trợ cho các bảng định dạng kiểu XSLT sẽ bị loại bỏ hoàn toàn khỏi MediaWiki v1.46 (dự kiến phát hành vào khoảng thời gian từ tháng 4 đến tháng 5 năm 2026). [https://lists.wikimedia.org/hyperkitty/list/wikitech-l@lists.wikimedia.org/thread/5AX7UWAVVUNUSBOIRHMNOKWOZ5EZI3JX/] * Điểm cuối kế thừa của WDQS ([https://query-legacy-full.wikidata.org/ query-legacy-full.wikidata.org]) sẽ ngừng hoạt động vào cuối tháng 12 năm 2025, và sẽ chính thức bị vô hiệu hóa vào ngày 7 tháng 1 năm 2026. Sau ngày này, người dùng sẽ nhận thấy những yêu cầu đến query.wikidata.org mà yêu cầu toàn bộ biểu đồ bị lỗi hoặc trả về kết quả không hợp lệ nếu chúng không được viết lại để sử dụng liên kết SPARQL. Nhóm khuyên người dùng cần đảm bảo các công cụ và quy trình làm việc sử dụng các điểm cuối WDQS được hỗ trợ (<span dir=ltr><nowiki>https://query.wikidata.org/</nowiki></span> - Biểu đồ chính hoặc <span dir=ltr><nowiki>https://query-scholarly.wikidata.org/</nowiki></span> - Biểu đồ học thuật). Để được hỗ trợ chuyển đổi các trường hợp sử dụng (use case), vui lòng xem lại các trang [[d:Special:MyLanguage/Wikidata:Data_access|Truy cập Dữ liệu]] và [[d:Wikidata:Request_a_query|Yêu cầu Truy vấn]] để biết thêm thông tin và được hỗ trợ về các phương thức truy cập thay thế. * [[File:Reload icon with two arrows.svg|12px|link=|class=skin-invert|Đề mục định kỳ]] Chi tiết cập nhật mã nguồn sắp tới trong tuần này: [[mw:MediaWiki 1.46/wmf.4|MediaWiki]] '''''[[m:Special:MyLanguage/Tech/News|Tin tức Kỹ thuật]]''' do [[m:Special:MyLanguage/Tech/News/Writers|các biên tập viên Bản tin Kỹ thuật]] chuẩn bị và được đăng bởi [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]]&nbsp;• [[m:Special:MyLanguage/Tech/News#contribute|Đóng góp]]&nbsp;• [[m:Special:MyLanguage/Tech/News/2025/48|Biên dịch]]&nbsp;• [[m:Tech|Nhờ giúp đỡ]]&nbsp;• [[m:Talk:Tech/News|Phản hồi]]&nbsp;• [[m:Global message delivery/Targets/Tech ambassadors|Đăng ký hoặc huỷ đăng ký]].'' </div><section end="technews-2025-W48"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 15:56, ngày 24 tháng 11 năm 2025 (UTC) <!-- Tin nhắn của Thành viên:STei (WMF)@metawiki gửi cho mọi người trong danh sách tại https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=29702226 --> == Bản tin Kỹ thuật: Tuần 49-2025 == <section begin="technews-2025-W49"/><div class="plainlinks"> '''[[m:Special:MyLanguage/Tech/News|Tin tức kỹ thuật]]''' mới nhất từ cộng đồng kỹ thuật Wikimedia. Vui lòng chia sẻ với các thành viên khác về những thay đổi này. Không phải mọi thay đổi đều sẽ ảnh hưởng đến bạn. [[m:Special:MyLanguage/Tech/News/2025/49|Các bản dịch]] của bản tin này cũng có sẵn cho bạn. '''Cập nhật cho biên tập viên''' * Bảng Nhìn lại Một Năm Wikipedia 2025 sẽ có mặt vào ngày 2 tháng 12 dành cho người dùng ứng dụng Wikipedia trên iOS và Android, gồm thông tin chuyên sâu được cá nhân hóa, những điểm nổi bật để đọc được cập nhật, cùng thiết kế đã được làm mới. Tìm hiểu thêm trên [[mw:Special:MyLanguage/Wikimedia Apps/Team/Wikipedia Year in Review/Updates|trang dự án]] của tính năng nhìn lại này. * Nhóm Tăng trưởng đang nỗ lực cải thiện nội dung và cách trình bày của Email Xác minh được gửi tới người dùng mới để chúng trở nên thân thiện, hữu ích và có thêm nhiều thông tin hơn. Một số văn bản mới đã được soạn thảo cho thử nghiệm A/B và bạn có thể giúp đỡ bằng cách dịch chúng. Xem [[phab:T396155|Phabricator]]. * Tính năng [[mw:Special:MyLanguage/Help:Growth/Tools/Add a link|Thêm liên kết]] nay sẽ được triển khai tới Wikipedia tiếng Nhật, tiếng Urdu và tiếng Trung vào ngày 2 tháng 12. Thêm liên kết được dựa trên mô hình dự đoán nhằm gợi ý liên kết cần được thêm vào bài viết. Trong khi tính năng này đã có mặt trên hầu hết các trang Wikipedia, mô hình dự đoán đó không thể hỗ trợ một số ngôn ngữ nhất định. Một mô hình mới đã được phát triển để xử lý những ngôn ngữ này, và mô hình đó sẽ dần được triển khai sang các trang Wikipedia khác theo thời gian. Nếu bạn muốn được biết thêm thông tin, vui lòng liên hệ [[mw:user:Trizek (WMF)|Trizek (WMF)]]. * [[File:Reload icon with two arrows.svg|12px|link=|class=skin-invert|Đề mục định kỳ]] Xem tất cả {{formatnum:34}} {{PLURAL:34|tác vụ}} được tạo bởi cộng đồng đã được [[m:Special:MyLanguage/Tech/News/Recently resolved community tasks|giải quyết vào tuần trước]]. Ví dụ, một vấn đề mà hộp tìm kiếm trên một số trang Commons không hiển thị kết quả nào do việc chuyển đổi từ SpecialSearch sang MediaSearch, hiện đã được giải quyết. [https://phabricator.wikimedia.org/T399476] * Hai wiki mới đã được tạo ra: ** {{int:project-localized-name-group-wikipedia}} tiếng [[d:Q36846|Toki Pona]] ([[w:tok:|<code>w:tok:</code>]]) [https://phabricator.wikimedia.org/T404457] ** {{int:project-localized-name-group-wikiquote}} tiếng [[d:Q33655|Pidgin Nigeria]] ([[q:pcm:|<code>q:pcm:</code>]]) [https://phabricator.wikimedia.org/T408318] '''Cập nhật cho những người đóng góp vào mảng kỹ thuật''' * [[File:Reload icon with two arrows.svg|12px|link=|class=skin-invert|Đề mục định kỳ]] Chi tiết cập nhật mã nguồn sắp tới trong tuần này: [[mw:MediaWiki 1.46/wmf.5|MediaWiki]] '''Chuyên sâu''' * Quỹ Wikimedia đang trong giai đoạn đầu của việc khám phá các phương pháp tiếp cận cho '''Chỉ dẫn bài viết'''. Sáng kiến này nhằm mục đích xác định các phương pháp can thiệp có thể giúp các biên tập viên mới dễ dàng hiểu và áp dụng các quy tắc và chính sách hiện hành của Wikipedia khi tạo bài viết. Dự án đang trong giai đoạn khám phá và thiết kế thử nghiệm giai đoạn đầu. Tất cả các thành viên cộng đồng được khuyến khích [[mw:Special:MyLanguage/Article guidance|tìm hiểu thêm]] về dự án, và chia sẻ suy nghĩ của họ trên [[mw:Special:MyLanguage/Talk:Article guidance|trang thảo luận này]]. '''''[[m:Special:MyLanguage/Tech/News|Tin tức Kỹ thuật]]''' do [[m:Special:MyLanguage/Tech/News/Writers|các biên tập viên Bản tin Kỹ thuật]] chuẩn bị và được đăng bởi [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]]&nbsp;• [[m:Special:MyLanguage/Tech/News#contribute|Đóng góp]]&nbsp;• [[m:Special:MyLanguage/Tech/News/2025/49|Biên dịch]]&nbsp;• [[m:Tech|Nhờ giúp đỡ]]&nbsp;• [[m:Talk:Tech/News|Phản hồi]]&nbsp;• [[m:Global message delivery/Targets/Tech ambassadors|Đăng ký hoặc huỷ đăng ký]].'' </div><section end="technews-2025-W49"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 18:58, ngày 1 tháng 12 năm 2025 (UTC) <!-- Tin nhắn của Thành viên:STei (WMF)@metawiki gửi cho mọi người trong danh sách tại https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=29732328 --> == Bản tin Kỹ thuật: Tuần 50-2025 == <section begin="technews-2025-W50"/><div class="plainlinks"> '''[[m:Special:MyLanguage/Tech/News|Tin tức kỹ thuật]]''' mới nhất từ cộng đồng kỹ thuật Wikimedia. Vui lòng chia sẻ với các thành viên khác về những thay đổi này. Không phải mọi thay đổi đều sẽ ảnh hưởng đến bạn. [[m:Special:MyLanguage/Tech/News/2025/50|Các bản dịch]] của bản tin này cũng có sẵn cho bạn. '''Nổi bật trong tuần''' * Bất kỳ ai muốn bảo mật tài khoản người dùng của mình nay có thể sử dụng tính năng [[m:Special:MyLanguage/Help:Two-factor authentication|xác thực hai yếu tố]] (2FA). Tính năng này có sẵn cho tất cả người dùng của toàn bộ các dự án Wikimedia. Đây là một phần của sáng kiến [[mw:Special:MyLanguage/Product Safety and Integrity/Account Security|Bảo mật Tài khoản]]. Sau này, 2FA sẽ được yêu cầu đối với tất cả người dùng có thể thực hiện các hành động mang tính nhạy cảm về bảo mật hoặc quyền riêng tư. '''Cập nhật cho biên tập viên''' * Tiếp nối đợt triển khai lần trước, tính năng [[mw:Special:MyLanguage/Help:Growth/Tools/Add a link|Thêm liên kết]], một tính năng cho phép biên tập viên thêm liên kết được đề xuất trong quá trình sửa đổi, sẽ có mặt trên [[Phab:T410469|33 trang Wikipedia]] kể từ ngày 9 tháng 12. Việc mở rộng này có được nhờ mô hình dự đoán mới nay hỗ trợ tất cả các ngôn ngữ, kể cả những ngôn ngữ mà chưa được đề cập trước đây. Dù tính năng này đã có mặt trên hầu hết các trang Wikipedia được một thời gian, nhưng lần triển khai này sẽ giúp chúng tôi tiến gần hơn đến việc sử dụng mô hình được cải tiến này ở mọi nơi. Nếu bạn có bất kỳ câu hỏi nào hoặc muốn được biết thêm thông tin chi tiết vui lòng liên hệ với [[mw:user:Trizek (WMF)|Trizek (WMF)]]. * Tuần trước, [[mw:Special:MyLanguage/Wikimedia Search Platform|nhóm Nền tảng Tìm kiếm]] đã thêm gợi ý tìm kiếm [[w:vi:Chuyển tự|được chuyển tự]] khi bạn nhập tới các wiki bằng tiếng Georgia. Nếu chỉ có một vài gợi ý tìm kiếm thông thường, thì các truy vấn bằng chữ Latinh hoặc Kirin [[phab:T127003|nay sẽ được viết lại thành chữ Georgia]] để có thể tìm kiếm được nhiều kết quả trùng khớp hơn. Ví dụ, tìm kiếm <bdi lang="ka-Latn" dir="ltr">''bedniereba''</bdi> hoặc <bdi lang="ka-Cyrl" dir="ltr">''бедниереба''</bdi> nay sẽ gợi ý bài viết hiện có về <bdi lang="ka" dir="ltr">ბედნიერება</bdi> ("sự hạnh phúc"). Bạn có thể đề xuất những ngôn ngữ khác mà việc gợi ý được chuyển tự có thể hữu ích [[phab:T375215|trên Phabricator]] để dùng cho quá trình phát triển sau này. * Cuối tuần này, một thử nghiệm có kiểm soát sẽ bắt đầu dành cho các biên tập viên trên 100 trang Wikipedia lớn nhất khi đang thực hiện sửa đổi một đề mục bằng trình soạn thảo trực quan trên trang web di động. 50% số biên tập viên đó sẽ nhận thấy nút "Sửa đổi toàn bộ trang" mới cho phép họ mở rộng phiên sửa đổi của mình lên toàn bộ trang đó. Tính năng này nhằm mục đích giúp người dùng trên trang web di động sửa đổi bất kỳ đề mục nào trong bài viết một cách dễ dàng hơn, bất kể việc họ chạm vào biểu tượng sửa đề mục nào để bắt đầu sửa đổi. Thử nghiệm này sẽ kéo dài khoảng 4 tuần. Bạn có thể tìm hiểu [[phab:T409112|thêm thông tin]] về dự án này. * Cuối tuần này, [[mw:Special:MyLanguage/Readers/Reader Growth|nhóm Tăng trưởng Độc giả]] sẽ khởi động [[mw:Special:MyLanguage/Readers/Reader Growth/WE3.1.14 Expanded Mobile Sections|thử nghiệm trên trang web di động]] để mở rộng tất cả đề mục bài viết theo mặc định (hiện giờ chúng được mặc định thu gọn lại) và ghim tiêu đề của đề mục mà người dùng hiện đang đọc lên đầu trang. Thử nghiệm này sẽ ảnh hưởng tới 10% người dùng trên Wikipedia tiếng Ả Rập, tiếng Trung, tiếng Pháp, tiếng Indonesia và tiếng Việt. [https://phabricator.wikimedia.org/T409485] * [[mw:Special:MyLanguage/Wikimedia Apps/Team/Wikipedia Year in Review/2025 Year in Review|Tổng kết Một Năm Wikipedia 2025]], một tính năng trong ứng dụng Wikipedia dành cho thiết bị di động (iOS và Android) nhằm cung cấp cho người dùng bản tóm tắt được cá nhân hóa về mức độ tương tác của họ với Wikipedia xuyên suốt trong một năm, nay đã có mặt trên ứng dụng iOS và Android. Phiên bản này bao gồm những thông tin chuyên sâu được mở rộng và cá nhân hóa, cải thiện những điểm nổi bật trong quá trình đọc, thông điệp mới cho nhà quyên góp, cùng thiết kế được cập nhật. Hãy mở ứng dụng để xem chuyên mục Tổng kết Năm và khám phá hành trình đọc của bạn trong năm 2025 nhé. * Một lỗi phần mềm xảy ra gần đây khiến cho các sửa đổi được thực hiện bằng Trình Soạn thảo Trực quan thực hiện những thay đổi không mong muốn với mã nguồn wiki, trong đó có việc loại bỏ khoảng trắng và thay thế các dấu cách bằng dấu gạch dưới trong các liên kết wiki bên trong chú thích. Vấn đề này đã được giải quyết một phần vào tuần trước, và việc giải quyết vấn đề vẫn đang tiếp tục được thực hiện. Các biên tập viên sử dụng Trình Soạn thảo Trực quan trong các ngày từ 28 tháng 11 đến 2 tháng 12 nên kiểm tra lại sửa đổi của mình để tìm ra những thay đổi ngoài ý muốn. [https://phabricator.wikimedia.org/T411238] * [[File:Reload icon with two arrows.svg|12px|link=|class=skin-invert|Đề mục định kỳ]] Xem tất cả {{formatnum:23}} {{PLURAL:23|tác vụ}} được tạo bởi cộng đồng đã được [[m:Special:MyLanguage/Tech/News/Recently resolved community tasks|giải quyết vào tuần trước]]. Ví dụ, vấn đề về việc xử lý không đúng các đường dẫn URL được sao chép từ thanh địa chỉ của người dùng Microsoft Edge đã được giải quyết. [https://phabricator.wikimedia.org/T341281] '''Cập nhật cho những người đóng góp vào mảng kỹ thuật''' * Bắt đầu từ tuần này, người dùng [[Special:Preferences#mw-prefsection-betafeatures|tính năng beta]] "{{int:codemirror-beta-feature-title}}" sẽ sử dụng [[mw:Special:MyLanguage/Help:Extension:CodeMirror|CodeMirror]] làm trình sửa đổi dành cho các kiểu nội dung Lua, JavaScript, CSS, JSON và Vue, thay vì [[mw:Special:MyLanguage/Extension:CodeEditor|CodeEditor]]. Với thay đổi này, [[mw:Special:MyLanguage/Help:Extension:CodeMirror#Linting|các linter]] sẽ được nâng cấp. Đây là một phần trong nỗ lực lớn hơn nhằm thay thế CodeEditor và mang tới trải nghiệm sửa đổi mã nguồn một cách nhất quán. [https://phabricator.wikimedia.org/T373711] * Các nhà phát triển được khuyến khích tham gia [https://wikimediafoundation.limesurvey.net/552643 Khảo sát Mức độ Hài lòng của Nhà phát triển năm 2025], hiện vẫn đang được mở đến hết ngày 5 tháng 1 năm 2026. Nếu bạn tham gia vào việc xây dựng phần mềm cho hệ sinh thái Wikimedia và muốn chia sẻ kinh nghiệm hoặc phản hồi của mình, thì chúng tôi sẽ rất trân trọng sự tham gia của bạn. [https://lists.wikimedia.org/hyperkitty/list/wikitech-l@lists.wikimedia.org/thread/W4WBKO6Q55UWWCCSFWQATKEXBEHP3QNR/] * Tuần này không có phiên bản MediaWiki mới nào. '''''[[m:Special:MyLanguage/Tech/News|Tin tức Kỹ thuật]]''' do [[m:Special:MyLanguage/Tech/News/Writers|các biên tập viên Bản tin Kỹ thuật]] chuẩn bị và được đăng bởi [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]]&nbsp;• [[m:Special:MyLanguage/Tech/News#contribute|Đóng góp]]&nbsp;• [[m:Special:MyLanguage/Tech/News/2025/50|Biên dịch]]&nbsp;• [[m:Tech|Nhờ giúp đỡ]]&nbsp;• [[m:Talk:Tech/News|Phản hồi]]&nbsp;• [[m:Global message delivery/Targets/Tech ambassadors|Đăng ký hoặc huỷ đăng ký]].'' </div><section end="technews-2025-W50"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 17:45, ngày 8 tháng 12 năm 2025 (UTC) <!-- Tin nhắn của Thành viên:STei (WMF)@metawiki gửi cho mọi người trong danh sách tại https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=29738112 --> == Bản tin Kỹ thuật: Tuần 51-2025 == <section begin="technews-2025-W51"/><div class="plainlinks"> '''[[m:Special:MyLanguage/Tech/News|Tin tức kỹ thuật]]''' mới nhất từ cộng đồng kỹ thuật Wikimedia. Vui lòng chia sẻ với các thành viên khác về những thay đổi này. Không phải mọi thay đổi đều sẽ ảnh hưởng đến bạn. [[m:Special:MyLanguage/Tech/News/2025/51|Các bản dịch]] của bản tin này cũng có sẵn cho bạn. '''Cập nhật cho biên tập viên''' * [[File:Reload icon with two arrows.svg|12px|link=|class=skin-invert|Đề mục định kỳ]] Xem tất cả {{formatnum:18}} {{PLURAL:18|tác vụ}} được tạo bởi cộng đồng đã được [[m:Special:MyLanguage/Tech/News/Recently resolved community tasks|giải quyết vào tuần trước]]. Ví dụ, một trong số đó là việc giải quyết vấn đề khi tài khoản tạm thời chèn liên kết URL ngoài, việc này kích hoạt yêu cầu hCaptcha trong nhiều trường hợp hơn so với dự định, và không hiển thị popup cần thiết trong lần thử xuất bản sửa đổi đầu tiên. [https://phabricator.wikimedia.org/T411927] '''Cập nhật cho những người đóng góp vào mảng kỹ thuật''' * <span class="mw-translate-fuzzy">Để cải thiện hiệu suất cho cơ sở dữ liệu và trang web, các liên kết ngoài tới các dự án Wikimedia sẽ không còn được lưu trữ trong cơ sở dữ liệu. Điều này có nghĩa là chúng sẽ không thể được tìm thấy trong [[{{#special:LinkSearch}}]], sẽ không được kiểm tra bởi Danh sách đen về spam hoặc Bộ lọc Sai phạm dưới dạng liên kết mới, và sẽ không có trong bảng <code dir=ltr>externallinks</code> trên các bản sao cơ sở dữ liệu. Trong tương lai nó có thể được mở rộng sang những trang web khác đáng tin cậy được liên kết nhiều trên cơ sở từng wiki, chẳng hạn như liên kết Creative Commons trên Wikimedia Commons.</span> [https://phabricator.wikimedia.org/T405005] * [[File:Reload icon with two arrows.svg|12px|link=|class=skin-invert|Đề mục định kỳ]] Chi tiết cập nhật mã nguồn sắp tới trong tuần này: [[mw:MediaWiki 1.46/wmf.7|MediaWiki]] '''''[[m:Special:MyLanguage/Tech/News|Tin tức Kỹ thuật]]''' do [[m:Special:MyLanguage/Tech/News/Writers|các biên tập viên Bản tin Kỹ thuật]] chuẩn bị và được đăng bởi [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]]&nbsp;• [[m:Special:MyLanguage/Tech/News#contribute|Đóng góp]]&nbsp;• [[m:Special:MyLanguage/Tech/News/2025/51|Biên dịch]]&nbsp;• [[m:Tech|Nhờ giúp đỡ]]&nbsp;• [[m:Talk:Tech/News|Phản hồi]]&nbsp;• [[m:Global message delivery/Targets/Tech ambassadors|Đăng ký hoặc huỷ đăng ký]].'' </div><section end="technews-2025-W51"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 19:03, ngày 15 tháng 12 năm 2025 (UTC) <!-- Tin nhắn của Thành viên:STei (WMF)@metawiki gửi cho mọi người trong danh sách tại https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=29796010 --> == Bản tin Kỹ thuật: Tuần 52-2025 == <section begin="technews-2025-W52"/><div class="plainlinks"> '''[[m:Special:MyLanguage/Tech/News|Tin tức kỹ thuật]]''' mới nhất từ cộng đồng kỹ thuật Wikimedia. Vui lòng chia sẻ với các thành viên khác về những thay đổi này. Không phải mọi thay đổi đều sẽ ảnh hưởng đến bạn. [[m:Special:MyLanguage/Tech/News/2025/52|Các bản dịch]] của bản tin này cũng có sẵn cho bạn. '''Cập nhật cho biên tập viên''' * Kể từ tháng 1, các bộ lọc sai phạm [[mw:Special:MyLanguage/Extension:AbuseFilter/Access flags|có thể được thiết lập]] để tự động loại bỏ chi tiết bộ lọc chẳng hạn như quy tắc và danh sách các sửa đổi và tác vụ thực hiện được ghi lại. Điều này sẽ giúp người giám sát sử dụng các bộ lọc sai phạm để ngăn chặn doxxing hoặc nội dung khác có thể bị loại bỏ. [https://phabricator.wikimedia.org/T290324] * Số tiếp theo của Bản tin Kỹ thuật sẽ được phát hành vào ngày 12 tháng 1 năm 2026 do trùng vào kỳ nghỉ cuối năm. Xin cảm ơn tất cả các biên dịch viên cùng những người đã gửi nội dung hoặc phản hồi trong năm nay. * [[File:Reload icon with two arrows.svg|12px|link=|class=skin-invert|Đề mục định kỳ]] Xem tất cả {{formatnum:16}} {{PLURAL:16|tác vụ}} được tạo bởi cộng đồng đã được [[m:Special:MyLanguage/Tech/News/Recently resolved community tasks|giải quyết vào tuần trước]]. Ví dụ, sự cố xảy ra khiến cho ứng dụng bị sập khi chạm vào mục "Bước Đầu tiên" trong mục Nhìn lại Một năm trên ứng dụng Wikipedia dành cho Android nay đã được giải quyết, và tính năng này được mở như mong đợi. [https://phabricator.wikimedia.org/T411546] '''Cập nhật cho những người đóng góp vào mảng kỹ thuật''' * Những thành phần giao diện như khác biệt giữa các phiên bản và thể loại được tạo bởi MediaWiki từng có thuộc tính <code dir=ltr>data-mw="interface"</code> để phân biệt với nội dung wiki. Thuộc tính này đã được thay thế bằng <code dir=ltr>data-mw-interface=""</code>, nhằm tránh khả năng gây xung đột với những thuộc tính <code dir=ltr>data-mw</code> khác được tạo bởi Parsoid. [https://phabricator.wikimedia.org/T409187] * [[File:Reload icon with two arrows.svg|12px|link=|class=skin-invert|Đề mục định kỳ]] Không có phiên bản MediaWiki mới nào trong tuần này hoặc tuần tới. '''Các cuộc họp và sự kiện''' * [[mw:Wikimedia Hackathon Northwestern Europe 2026|Wikimedia Hackathon Tây Bắc Âu năm 2026]] sẽ diễn ra vào các ngày 13-14 tháng 3 năm 2026 tại Arnhem, Hà Lan. Đơn đăng ký vừa được mở vào giữa tháng 12 và sẽ đóng vào giữa tháng 1 hoặc có thể đóng sớm hơn nếu hết chỗ. Do sự kiện giới hạn khoảng 100 người tham gia, chúng tôi khuyến khích bạn đăng ký thật sớm. '''''[[m:Special:MyLanguage/Tech/News|Tin tức Kỹ thuật]]''' do [[m:Special:MyLanguage/Tech/News/Writers|các biên tập viên Bản tin Kỹ thuật]] chuẩn bị và được đăng bởi [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]]&nbsp;• [[m:Special:MyLanguage/Tech/News#contribute|Đóng góp]]&nbsp;• [[m:Special:MyLanguage/Tech/News/2025/52|Biên dịch]]&nbsp;• [[m:Tech|Nhờ giúp đỡ]]&nbsp;• [[m:Talk:Tech/News|Phản hồi]]&nbsp;• [[m:Global message delivery/Targets/Tech ambassadors|Đăng ký hoặc huỷ đăng ký]].'' </div><section end="technews-2025-W52"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 21:45, ngày 22 tháng 12 năm 2025 (UTC) <!-- Tin nhắn của Thành viên:STei (WMF)@metawiki gửi cho mọi người trong danh sách tại https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=29831856 --> == Bản tin Kỹ thuật: Tuần 03-2026 == <section begin="technews-2026-W03"/><div class="plainlinks"> '''[[m:Special:MyLanguage/Tech/News|Tin tức kỹ thuật]]''' mới nhất từ cộng đồng kỹ thuật Wikimedia. Vui lòng chia sẻ với các thành viên khác về những thay đổi này. Không phải mọi thay đổi đều sẽ ảnh hưởng đến bạn. [[m:Special:MyLanguage/Tech/News/2026/03|Các bản dịch]] của bản tin này cũng có sẵn cho bạn. '''Nổi bật trong tuần''' * Quỹ Wikimedia đã chia sẻ một số câu hỏi định hướng cho Kế hoạch Thường niên giai đoạn tháng 7 năm 2026–tháng 6 năm 2027 trên [[m:Special:MyLanguage/Wikimedia Foundation Annual Plan/2026-2027/Product & Technology OKRs|Meta]] và ''[[diffblog:2025/12/10/shaping-wikimedia-foundations-2026-2027-annual-goals-key-questions-for-the-wikimedia-movement/|Diff]]''. Những câu hỏi này tập trung vào những xu hướng toàn cầu, những thử nghiệm nhanh và hiệu quả hơn, hỗ trợ tốt hơn cho người mới, tăng cường năng lực cho biên tập viên và người dùng có quyền nâng cao, cải thiện sự cộng tác giữa các dự án, cũng như phát triển và duy trì lượng người đọc. Mọi phản hồi và ý kiến đóng góp đều được hoan nghênh trên [[m:Talk:Wikimedia Foundation Annual Plan/2026-2027|trang thảo luận]]. '''Cập nhật cho biên tập viên''' * Là một phần của công việc hiện do nhóm Công nghệ Cộng đồng thực hênj xoay quanh dự án [[m:Special:MyLanguage/Community Wishlist/W372|Nhiều danh sách theo dõi]] (Multiple watchlists), việc hiển thị của tính năng [[Special:EditWatchlist|Sửa đổi Danh sách theo dõi]] (EditWatchlist) sẽ được cập nhật làm bước đầu tiên hướng tới việc có được nhiều danh sách theo dõi. Ngoài ra, việc phân trang của trang [[Special:Search|Tìm kiếm]] cũng sẽ được cập nhật như là một phần của công việc liên quan đến mong muốn [[m:Special:MyLanguage/Community Wishlist/W186|Cải tiến phân trang / điều hướng trang]]. [https://phabricator.wikimedia.org/T411596] * [[m:Special:GlobalWatchlist|Danh sách theo dõi toàn cục]] là [[mw:Special:MyLanguage/Extension:GlobalWatchlist|phần mở rộng]] của MediaWiki cho phép bạn xem danh sách theo dõi của bạn từ các wiki khác nhau trên cùng một trang. Danh sách này gần đây đã được cập nhật để trông giống như [[Special:Watchlist|Danh sách theo dõi]] thông thường hơn, chẳng hạn như tiền xử lý các tài khoản tạm thời để che giấu địa chỉ IP (trong đó có việc chuyển hướng liên kết người dùng đến các trang đóng góp), in đậm tiêu đề trang, và mở các liên kết trong phần tóm lược sửa đổi và thẻ trong tab trình duyệt mới. [https://phabricator.wikimedia.org/T398361][https://phabricator.wikimedia.org/T298919][https://phabricator.wikimedia.org/T273526][https://phabricator.wikimedia.org/T286309] * [[File:Reload icon with two arrows.svg|12px|link=|class=skin-invert|Đề mục định kỳ]] Xem tất cả {{formatnum:28}} {{PLURAL:28|tác vụ}} được tạo bởi cộng đồng đã được [[m:Special:MyLanguage/Tech/News/Recently resolved community tasks|giải quyết vào tuần trước]]. Ví dụ, vấn đề mà việc cấm tài khoản toàn cục không có tùy chọn cấm gửi thư điện tử, nay đã được giải quyết, và sẽ có thể sử dụng kể từ tuần ngày 13 tháng 1. [https://phabricator.wikimedia.org/T401293] '''Cập nhật cho những người đóng góp vào mảng kỹ thuật''' * [[mw:Special:MyLanguage/VisualEditor/Citation tool|Công cụ chú thích của Soạn thảo Trực quan]] và [[mw:Special:MyLanguage/Help:Reference Previews|Xem trước Chú thích]] nay hỗ trợ kiểu chú thích dạng "bản đồ". [https://phabricator.wikimedia.org/T411083] * [[File:Reload icon with two arrows.svg|12px|link=|class=skin-invert|Đề mục định kỳ]] Chi tiết cập nhật mã nguồn sắp tới trong tuần này: [[mw:MediaWiki 1.46/wmf.10|MediaWiki]]/[[mw:MediaWiki 1.46/wmf.11|MediaWiki]] '''''[[m:Special:MyLanguage/Tech/News|Tin tức Kỹ thuật]]''' do [[m:Special:MyLanguage/Tech/News/Writers|các biên tập viên Bản tin Kỹ thuật]] chuẩn bị và được đăng bởi [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]]&nbsp;• [[m:Special:MyLanguage/Tech/News#contribute|Đóng góp]]&nbsp;• [[m:Special:MyLanguage/Tech/News/2026/03|Biên dịch]]&nbsp;• [[m:Tech|Nhờ giúp đỡ]]&nbsp;• [[m:Talk:Tech/News|Phản hồi]]&nbsp;• [[m:Global message delivery/Targets/Tech ambassadors|Đăng ký hoặc huỷ đăng ký]].'' </div><section end="technews-2026-W03"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 19:33, ngày 12 tháng 1 năm 2026 (UTC) <!-- Tin nhắn của Thành viên:STei (WMF)@metawiki gửi cho mọi người trong danh sách tại https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=29907192 --> == Thank You for Last Year – Join Wiki Loves Ramadan 2026 == Dear Wikimedia communities, We hope you are doing well, and we wish you a happy New Year. ''Last year, we captured light. This year, we’ll capture legacy.'' In 2025, communities around the world shared the glow of Ramadan nights and the warmth of collective iftars. In 2026, ''Wiki Loves Ramadan'' is expanding, bringing more stories, more cultures, and deeper global connections across Wikimedia projects. We invite you to explore the ''Wiki Loves Ramadan 2026'' [[m:Special:MyLanguage/Wiki Loves Ramadan 2026|Meta page]] to learn how you can participate and [[m:Special:MyLanguage/Wiki Loves Ramadan 2026/Participating communities|sign up]] your community. 📷 ''Photo campaign on '' [[c:Special:MyLanguage/Commons:Wiki Loves Ramadan 2026|Wikimedia Commons]] If you have questions about the project, please refer to the FAQs: * [[m:Special:MyLanguage/Wiki Loves Ramadan/FAQ/|Meta-Wiki]] * [[c:Special:MyLanguage/Commons:Wiki Loves Ramadan/FAQ|Wikimedia Commons]] ''Early registration for updates is now open via the '''[[m:Special:RegisterForEvent/2710|Event page]]''''' ''Stay connected and receive updates:'' * [https://t.me/WikiLovesRamadan Telegram channel] * [https://lists.wikimedia.org/postorius/lists/wikilovesramadan.lists.wikimedia.org/ Mailing list] We look forward to collaborating with you and your community. '''The Wiki Loves Ramadan 2026 Organizing Team''' 19:45, ngày 16 tháng 1 năm 2026 (UTC) <!-- Tin nhắn của Thành viên:ZI Jony@metawiki gửi cho mọi người trong danh sách tại https://meta.wikimedia.org/w/index.php?title=Distribution_list/Non-Technical_Village_Pumps_distribution_list&oldid=29879549 --> == Bản tin Kỹ thuật: Tuần 04-2026 == <section begin="technews-2026-W04"/><div class="plainlinks"> '''[[m:Special:MyLanguage/Tech/News|Tin tức kỹ thuật]]''' mới nhất từ cộng đồng kỹ thuật Wikimedia. Vui lòng chia sẻ với các thành viên khác về những thay đổi này. Không phải mọi thay đổi đều sẽ ảnh hưởng đến bạn. [[m:Special:MyLanguage/Tech/News/2026/04|Các bản dịch]] của bản tin này cũng có sẵn cho bạn. '''Cập nhật cho biên tập viên''' * Khay được hiển thị trên [[Special:Diff|Đặc biệt:Khác]] trong chế độ xem di động đã được thiết kế lại. Giờ đây nó mặc định được thu gọn, đồng thời tích hợp một liên kết để lùi lại sửa đổi đang được hiển thị trên màn hình, giúp các biên tập viên và người duyệt bài trên điện thoại di động dễ dàng thực hiện tác vụ mà vẫn giữ giao diện thật gọn gàng. [https://phabricator.wikimedia.org/T402297] * [[m:Special:GlobalWatchlist|Danh sách Theo dõi Toàn cục]] cho phép bạn xem các danh sách theo dõi từ nhiều wiki khác nhau trên cùng một trang. [[mw:Special:MyLanguage/Extension:GlobalWatchlist|Phần mở rộng]] này tiếp tục được cải thiện — nay nó có thể tự động xác định hướng văn bản (nhằm đảm bảo việc hiển thị chính xác các trang web mà có tên miền bất thường) và hiển thị chi tiết phần miêu tả cho các tác vụ được lưu trong nhật trình. Cuối tuần này, một liên kết thường trực mới cho các tác vụ tạo trang cùng các lớp CSS cho từng mục nhập sẽ được thêm vào. [https://phabricator.wikimedia.org/T412505][https://phabricator.wikimedia.org/T287929][https://phabricator.wikimedia.org/T262768][https://phabricator.wikimedia.org/T414135] * [[File:Reload icon with two arrows.svg|12px|link=|class=skin-invert|Đề mục định kỳ]] Xem tất cả {{formatnum:32}} {{PLURAL:32|tác vụ}} được tạo bởi cộng đồng đã được [[m:Special:MyLanguage/Tech/News/Recently resolved community tasks|giải quyết vào tuần trước]]. Ví dụ, một vấn đề mà được ghi nhận trước đây trong giao diện Vector 2022 mà các liên kết anchor đích bị che khuất bởi tiêu đề cố định nay đã được giải quyết. [https://phabricator.wikimedia.org/T406114] '''Cập nhật cho những người đóng góp vào mảng kỹ thuật''' * Như đã đề cập trong [[m:Special:MyLanguage/Tech/News/2025/44|thông báo ngừng hỗ trợ vào tháng 10 năm 2025]], nhóm Giao diện MediaWiki sẽ bắt đầu loại bỏ toàn bộ điểm cuối chuyển đổi có dấu gạch chéo ở cuối khỏi API REST của MediaWiki vào tuần từ ngày 26 tháng 1. Những thay đổi này dự kiến sẽ được triển khai tới tất cả các wiki chậm nhất vào ngày 30 tháng 1. Tất cả người dùng API đang gọi những điểm cuối này được khuyên chuyển đổi sang những phiên bản không có dấu gạch chéo ở cuối. Cả hai loại biến thể điểm cuối này đều có thể được tìm thấy, so sánh và kiểm tra sử dụng [https://test.wikipedia.org/wiki/Special:RestSandbox Chỗ thử REST]. Nếu bạn có thắc mắc hay gặp bất kỳ sự cố nào, hãy gửi yêu cầu bằng cách tạo một tác vụ trong Phabricator gửi tới [https://phabricator.wikimedia.org/project/view/6931/ bảng tin #MW-Interfaces-Team]. * Tài liệu tham khảo trực quan cho [[mw:Special:MyLanguage/Wikimedia REST API|API REST của Wikimedia]] đã được chuyển. Những yêu cầu đến các tài liệu API trước đây được lưu trữ thông qua [[mw:Special:MyLanguage/RESTBase|RESTBase]] (v.d.: <code dir=ltr>https://en.wikipedia.org/api/rest_v1/</code>) nay được chuyển hướng tới [[w:en:Special:RestSandbox|Chỗ thử REST]]. * [[mw:Special:MyLanguage/Wikidata Platform|Nhóm Nền tảng Wikidata của WMF]] (WDP) đã phát hành [[d:Special:MyLanguage/Wikidata:Wikidata Platform team/Newsletter|bản tin tháng 1 năm 2026]]. Bản tin bao gồm những cập nhật về việc ngừng hoạt động điểm cuối biểu đồ đầy đủ (full-graph) cũ, thay đổi về chính sách User-Agent, thời gian làm việc hàng tháng của kế hoạch chuyển đổi sang Blazegraph, cùng những nỗ lực nhằm giảm thiểu những lỗi hồi quy gây ra bởi việc ngừng điểm cuối cũ. Xin nhắc lại rằng bạn có thể [[m:Special:MyLanguage/Global message delivery/Targets/WDP team updates|đăng ký nhận bản tin WDP đó]]! * [[File:Reload icon with two arrows.svg|12px|link=|class=skin-invert|Đề mục định kỳ]] Chi tiết cập nhật mã nguồn sắp tới trong tuần này: [[mw:MediaWiki 1.46/wmf.12|MediaWiki]] '''Các cuộc họp và sự kiện''' * [[mw:Wikimedia Hackathon Northwestern Europe 2026|Cuộc thi Hackathon Wikimedia khu vực Tây Bắc Châu Âu năm 2026]] sẽ diễn ra vào ngày 13-14 tháng 3 năm 2026 tại Arnhem, Hà Lan. Cổng đăng ký đã được mở vào giữa tháng 12 và sẽ sớm đóng lại hoặc đóng ngay khi đã đủ số lượng người tham gia. Đây là cuộc thi hackathon kéo dài hai ngày, tập trung vào mảng kỹ thuật và quy tụ các thành viên Wikimedia từ khắp khu vực. Hy vọng sẽ gặp lại bạn tại đó! '''''[[m:Special:MyLanguage/Tech/News|Tin tức Kỹ thuật]]''' do [[m:Special:MyLanguage/Tech/News/Writers|các biên tập viên Bản tin Kỹ thuật]] chuẩn bị và được đăng bởi [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]]&nbsp;• [[m:Special:MyLanguage/Tech/News#contribute|Đóng góp]]&nbsp;• [[m:Special:MyLanguage/Tech/News/2026/04|Biên dịch]]&nbsp;• [[m:Tech|Nhờ giúp đỡ]]&nbsp;• [[m:Talk:Tech/News|Phản hồi]]&nbsp;• [[m:Global message delivery/Targets/Tech ambassadors|Đăng ký hoặc huỷ đăng ký]].'' </div><section end="technews-2026-W04"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 20:29, ngày 19 tháng 1 năm 2026 (UTC) <!-- Tin nhắn của Thành viên:STei (WMF)@metawiki gửi cho mọi người trong danh sách tại https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=29943403 --> == Rà soát thường niên Bộ Quy tắc Ứng xử Chung và Hướng dẫn Thực thi == <section begin="announcement-content" /> Tôi viết thư này để thông báo với bạn rằng thời gian xem xét hàng năm đối với Bộ Quy tắc Ứng xử và Hướng dẫn Thực thi hiện đã bắt đầu. Bạn có thể đưa ra các đề xuất thay đổi đến hết ngày 9 tháng 2 năm 2026. Đây là bước đầu tiên trong nhiều bước cần thực hiện cho quá trình xem xét hàng năm. [[m:Special:MyLanguage/Universal Code of Conduct/Annual review/2026|Đọc thêm thông tin và tìm cuộc thảo luận để tham gia trên trang UCoC trên Meta]]. [[m:Special:MyLanguage/Universal Code of Conduct/Coordinating Committee|Ủy ban Điều phối Bộ Quy tắc Ứng xử Toàn cầu]] (U4C) là một nhóm toàn cầu chuyên trách việc thực hiện Bộ Quy tắc Ứng xử Toàn cầu một cách công bằng và nhất quán. Đánh giá thường niên này được lên kế hoạch và thực hiện bởi U4C. Để biết thêm thông tin và trách nhiệm của U4C, [[m:Special:MyLanguage/Universal Code of Conduct/Coordinating Committee/Charter|bạn có thể xem Hiến chương U4C]]. Vui lòng chia sẻ thông tin này với các thành viên khác trong cộng đồng của bạn ở bất cứ nơi nào phù hợp. -- Hợp tác với U4C, [[m:User:Keegan (WMF)|Keegan (WMF)]] ([[m:User talk:Keegan (WMF)|talk]])<section end="announcement-content" /> 21:02, ngày 19 tháng 1 năm 2026 (UTC) <!-- Tin nhắn của Thành viên:Keegan (WMF)@metawiki gửi cho mọi người trong danh sách tại https://meta.wikimedia.org/w/index.php?title=Distribution_list/Global_message_delivery&oldid=29905753 --> == Bản tin Kỹ thuật: Tuần 05-2026 == <section begin="technews-2026-W05"/><div class="plainlinks"> '''[[m:Special:MyLanguage/Tech/News|Tin tức kỹ thuật]]''' mới nhất từ cộng đồng kỹ thuật Wikimedia. Vui lòng chia sẻ với các thành viên khác về những thay đổi này. Không phải mọi thay đổi đều sẽ ảnh hưởng đến bạn. [[m:Special:MyLanguage/Tech/News/2026/05|Các bản dịch]] của bản tin này cũng có sẵn cho bạn. '''Cập nhật cho biên tập viên''' * Quỹ Wikimedia mời mọi người đóng góp ý kiến cho [[m:Special:MyLanguage/Product and Technology Advisory Council/Year1 Reflections and Proposed Way Forward 2026 Update|đề xuất kế hoạch tương lai]] của [[:m:Special:MyLanguage/Product and Technology Advisory Council|Hội đồng Cố vấn Sản phẩm và Công nghệ]] chậm nhất ngày 28 tháng 2. * Tất cả người dùng đã đăng ký tài khoản nay có thể sử dụng passkey (mã xác thực) cho việc [[m:Special:MyLanguage/Help:Two-factor authentication|xác thực hai yếu tố]] (2FA). Passkey là một cách đơn giản để đăng nhập mà không cần phải sử dụng thiết bị thứ hai. Chúng sẽ xác thực danh tính của người dùng sử dụng vân tay, nhận diện khuôn mặt, hoặc dùng mã PIN. Để thiết lập một passkey, đầu tiên hãy thiết lập phương thức xác thực 2FA thông thường. Hiện tại, để đăng nhập bằng passkey, người dùng cũng phải sử dụng cả mật khẩu. Vào cuối quý này, tính năng đăng nhập không cần mật khẩu sẽ cho phép người dùng đăng nhập chỉ bằng một cú nhấn chuột và passkey. Người dùng có quyền nâng cao cũng sẽ bắt buộc phải kích hoạt xác thực 2FA. Đây là một phần của dự án [[mw:Special:MyLanguage/Product Safety and Integrity/Account Security|Bảo mật Tài khoản]]. * Những người đóng góp chưa đăng ký tài khoản trên các IP hoặc dải IP bị cấm nay có thể tương tác trên wiki để chống lại quyết định cấm trên trang thảo luận thành viên, trừ khi tùy chọn "ngăn người dùng này sửa đổi trang thảo luận của họ" được bật. Điều này giúp giải quyết vấn đề rằng người dùng chưa đăng nhập không thể sử dụng quy trình bỏ cấm mặc định thông qua trang thảo luận thành viên. [https://phabricator.wikimedia.org/T398673] * [[File:Reload icon with two arrows.svg|12px|link=|class=skin-invert|Đề mục định kỳ]] Xem tất cả {{formatnum:20}} {{PLURAL:20|tác vụ}} được tạo bởi cộng đồng đã được [[m:Special:MyLanguage/Tech/News/Recently resolved community tasks|giải quyết vào tuần trước]]. Ví dụ, phần miêu tả phương thức Xác thực hai yếu tố (2FA) trên trang quản lý đã được cập nhật. Giờ đây nó trở nên rõ ràng và dễ hiểu hơn, giúp người dùng dễ dàng sử dụng hơn. [https://phabricator.wikimedia.org/T332385] '''Cập nhật cho những người đóng góp vào mảng kỹ thuật''' * Một biến Bộ lọc Sai phạm mới, <code>account_type</code>, đã được thêm vào để cung cấp một cách đáng tin cậy trong việc xác định loại tài khoản được tạo trong các tác vụ <code>createaccount</code> và <code>autocreateaccount</code>. Là một phần của thay đổi này, biến <code>accountname</code> đã được đổi tên thành <code>account_name</code>, và <code>accountname</code> nay đã lỗi thời. Những người quản lý bộ lọc sai phạm nên cập nhật bất kỳ bộ lọc nào đang sử dụng biến kiểm tra loại tài khoản mã hóa cứng hoặc đã lỗi thời nào nếu có. [https://phabricator.wikimedia.org/T414049] * Các hình thu nhỏ được yêu cầu với kích thước không chuẩn và sử dụng các phương thức không chuẩn như yêu cầu trực tiếp đến <code dir=ltr><nowiki>upload.wikimedia.org/…</nowiki></code> sẽ ngừng hoạt động trong thời gian tới. Thay đổi này nhằm ngăn chặn việc các trình thu thập dữ liệu web và bot từ bên ngoài lạm dụng. Một số người dùng có đoạn mã CSS/JS tùy chỉnh, các bảo quản viên giao diện có thể sửa tiện ích và giao diện cục bộ, cùng người viết công cụ sẽ cần cập nhật đoạn mã của mình để sử dụng kích thước hình thu nhỏ tiêu chuẩn. [[phab:T414805|Thông tin chi tiết, các liên kết tìm kiếm, cùng ví dụ về cách giải quyết chúng có sẵn trong tác vụ này]]. * [[File:Reload icon with two arrows.svg|12px|link=|class=skin-invert|Đề mục định kỳ]] Chi tiết cập nhật mã nguồn sắp tới trong tuần này: [[mw:MediaWiki 1.46/wmf.13|MediaWiki]] '''''[[m:Special:MyLanguage/Tech/News|Tin tức Kỹ thuật]]''' do [[m:Special:MyLanguage/Tech/News/Writers|các biên tập viên Bản tin Kỹ thuật]] chuẩn bị và được đăng bởi [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]]&nbsp;• [[m:Special:MyLanguage/Tech/News#contribute|Đóng góp]]&nbsp;• [[m:Special:MyLanguage/Tech/News/2026/05|Biên dịch]]&nbsp;• [[m:Tech|Nhờ giúp đỡ]]&nbsp;• [[m:Talk:Tech/News|Phản hồi]]&nbsp;• [[m:Global message delivery/Targets/Tech ambassadors|Đăng ký hoặc huỷ đăng ký]].'' </div><section end="technews-2026-W05"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 21:17, ngày 26 tháng 1 năm 2026 (UTC) <!-- Tin nhắn của Thành viên:UOzurumba (WMF)@metawiki gửi cho mọi người trong danh sách tại https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=29969530 --> == Bản tin Kỹ thuật: Tuần 06-2026 == <section begin="technews-2026-W06"/><div class="plainlinks"> '''[[m:Special:MyLanguage/Tech/News|Tin tức kỹ thuật]]''' mới nhất từ cộng đồng kỹ thuật Wikimedia. Vui lòng chia sẻ với các thành viên khác về những thay đổi này. Không phải mọi thay đổi đều sẽ ảnh hưởng đến bạn. [[m:Special:MyLanguage/Tech/News/2026/06|Các bản dịch]] của bản tin này cũng có sẵn cho bạn. '''Cập nhật cho biên tập viên''' * Tính năng "{{int:pageinfo-toolboxlink}}", một tính năng cung cấp thông tin xác thực về một trang ([{{fullurl:{{FULLPAGENAME}}|action=info}} ví dụ]), nay có thêm cả phần mục lục được tạo tự động. Nếu có trang [[MediaWiki:Pageinfo-header]] được người dùng tạo cục bộ, giờ nó có thể được xóa đi. [https://phabricator.wikimedia.org/T363726] * [[File:Reload icon with two arrows.svg|12px|link=|class=skin-invert|Đề mục định kỳ]] Xem tất cả {{formatnum:21}} {{PLURAL:21|tác vụ}} được tạo bởi cộng đồng đã được [[m:Special:MyLanguage/Tech/News/Recently resolved community tasks|giải quyết vào tuần trước]]. Ví dụ, Trình Soạn thảo Trực quan trước đây đã thêm chức năng in đậm hoặc nghiêng vào phần miêu tả liên kết, làm cho mã wiki trở nên phức tạp. Vấn đề này hiện đã được giải quyết. [https://phabricator.wikimedia.org/T409669] '''Cập nhật cho những người đóng góp vào mảng kỹ thuật''' * Không có bản dump XML nào được tạo ra vào ngày 20 tháng 1. Ngoài ra, kể từ giờ, các bản dump sẽ chỉ được tạo một lần mỗi tháng. [https://phabricator.wikimedia.org/T414389] * Nhóm Giao diện MediaWiki đã ngừng hỗ trợ tất cả điểm cuối chuyển đổi có dấu gạch chéo ở cuối khỏi [https://www.mediawiki.org/wiki/Special:MyLanguage/API:REST%20API API REST của MediaWiki]. Tất cả người dùng API hiện đang gọi những điểm cuối đó được khuyến khích chuyển sang các bản không có dấu gạch chéo ở cuối. Nếu bạn có thắc mắc hoặc gặp bất kỳ sự cố nào, vui lòng gửi tác vụ phabricator tới [https://phabricator.wikimedia.org/project/view/6931/ bảng tin của #MW-Interfaces-Team]. * [[File:Reload icon with two arrows.svg|12px|link=|class=skin-invert|Đề mục định kỳ]] Chi tiết cập nhật mã nguồn sắp tới trong tuần này: [[mw:MediaWiki 1.46/wmf.14|MediaWiki]] '''Nổi bật trong tuần''' * Xin nhắc tới người dùng rằng Quỹ Wikimedia đã chia sẻ một số câu hỏi định hướng cho Kế hoạch Hàng năm giai đoạn tháng 7 năm 2026–tháng 6 năm 2027 trên [[m:Special:MyLanguage/Wikimedia Foundation Annual Plan/2026-2027/Product & Technology OKRs|Meta]] và ''[[diffblog:2025/12/10/shaping-wikimedia-foundations-2026-2027-annual-goals-key-questions-for-the-wikimedia-movement/|Diff]]''. Những câu hỏi này tập trung vào những xu hướng toàn cầu, thử nghiệm nhanh hơn và hiệu quả hơn, hỗ trợ tốt hơn cho người mới, nâng cao năng lực cho biên tập viên và người dùng có quyền nâng cao, cải thiện việc cộng tác giữa các dự án, cũng như phát triển và giữ chân độc giả. Mọi phản hồi và ý kiến đóng góp đều được hoan nghênh trên [[m:Talk:Wikimedia Foundation Annual Plan/2026-2027|trang thảo luận]]. '''''[[m:Special:MyLanguage/Tech/News|Tin tức Kỹ thuật]]''' do [[m:Special:MyLanguage/Tech/News/Writers|các biên tập viên Bản tin Kỹ thuật]] chuẩn bị và được đăng bởi [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]]&nbsp;• [[m:Special:MyLanguage/Tech/News#contribute|Đóng góp]]&nbsp;• [[m:Special:MyLanguage/Tech/News/2026/06|Biên dịch]]&nbsp;• [[m:Tech|Nhờ giúp đỡ]]&nbsp;• [[m:Talk:Tech/News|Phản hồi]]&nbsp;• [[m:Global message delivery/Targets/Tech ambassadors|Đăng ký hoặc huỷ đăng ký]].'' </div><section end="technews-2026-W06"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 17:43, ngày 2 tháng 2 năm 2026 (UTC) <!-- Tin nhắn của Thành viên:STei (WMF)@metawiki gửi cho mọi người trong danh sách tại https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=30000986 --> == Bản tin Kỹ thuật: Tuần 07-2026 == <section begin="technews-2026-W07"/><div class="plainlinks"> '''[[m:Special:MyLanguage/Tech/News|Tin tức kỹ thuật]]''' mới nhất từ cộng đồng kỹ thuật Wikimedia. Vui lòng chia sẻ với các thành viên khác về những thay đổi này. Không phải mọi thay đổi đều sẽ ảnh hưởng đến bạn. [[m:Special:MyLanguage/Tech/News/2026/07|Các bản dịch]] của bản tin này cũng có sẵn cho bạn. '''Cập nhật cho biên tập viên''' * [[File:Maki-gift-15.svg|12px|link=|class=skin-invert|Mục Mong muốn cộng đồng]] <span lang="en" dir="ltr" class="mw-content-ltr">Logged-in contributors who manage large or complex watchlists can now organise and filter watched pages in ways that improve their workflows with the new [[mw:Special:MyLanguage/Help:Watchlist labels|Watchlist labels]] feature. By adding custom labels (for example: pages you created, pages being monitored for vandalism, or discussion pages) users can more quickly identify what needs attention, reduce cognitive load, and respond more efficiently. This improves watchlist usability, especially for highly active editors.</span> * <span lang="en" dir="ltr" class="mw-content-ltr">A new feature available on [[Special:Contributions|Special:Contributions]] shows [[mw:Special:MyLanguage/Trust and Safety Product/Temporary Accounts|temporary accounts]] that are likely operated by the same person, and so makes patrolling less time-consuming. Upon checking contributions of a temporary account, users with access to temporary account IP addresses can now see a view of contributions from the related temporary accounts. The feature looks up all the IPs associated with a given temporary account within the data retention period and shows all the contributions of all temporary accounts that have used these IPs. [[mw:Special:MyLanguage/Trust and Safety Product/Temporary Accounts#February 2026: Improvements to the patroller tooling|Learn more]].</span> [https://phabricator.wikimedia.org/T415674] * <span lang="en" dir="ltr" class="mw-content-ltr">When editors preview a wikitext edit, the reminder box that they are only seeing a preview (which is shown at the top), now has a grey/neutral background instead of a yellow/warning background. This makes it easier to distinguish preview notes from actual warnings (for example, edit conflicts or problematic redirect targets), which will now be shown in separate warning or error boxes.</span> [https://phabricator.wikimedia.org/T414742] * <span lang="en" dir="ltr" class="mw-content-ltr">The [[m:Special:GlobalWatchlist|Global Watchlist]] lets you view your watchlists from multiple wikis on one page. The [[mw:Special:MyLanguage/Extension:GlobalWatchlist|extension]] continues to improve — it now properly supports more than one Wikibase site, for example both [[d:|Wikidata]] and [[testwikidata:|testwikidata]]. In addition, issues regarding text direction have been fixed for users who prefer Wikidata or other Wikibase sites in right-to-left (RTL) languages.</span> [https://phabricator.wikimedia.org/T415440][https://phabricator.wikimedia.org/T415458] * <span lang="en" dir="ltr" class="mw-content-ltr">The automatic "magic links" for ISBN, RFC, and PMID numbers have been [[mw:Special:MyLanguage/Help:Magic links|deprecated in wikitext since 2021]] due to inflexibility and difficulties with localization. Several wikis have successfully replaced RFC and PMID magic links with equivalent external links, but a template was often required to replace the functionality of the ISBN magic link. There is now a new [[mw:Special:MyLanguage/Help:Magic words#isbn|built-in parser function]] <code dir=ltr><nowiki>{{#isbn}}</nowiki></code> available to replace the basic functionality of the ISBN magic link. This makes it easier for wikis who wish to migrate off of the deprecated magic link functionality to do so.</span> [https://phabricator.wikimedia.org/T145604] * <span lang="en" dir="ltr" class="mw-content-ltr">Two new wikis have been created:</span> ** <span lang="en" dir="ltr" class="mw-content-ltr">a {{int:project-localized-name-group-wikipedia}} in [[d:Q35401|Jju]]</span> ([[w:kaj:|<code>w:kaj:</code>]]) [https://phabricator.wikimedia.org/T413283] ** <span lang="en" dir="ltr" class="mw-content-ltr">a {{int:project-localized-name-group-wikipedia}} in [[d:Q1186896|Nawat]]</span> ([[w:ppl:|<code>w:ppl:</code>]]) [https://phabricator.wikimedia.org/T413273] * [[File:Reload icon with two arrows.svg|12px|link=|class=skin-invert|Đề mục định kỳ]] Xem tất cả {{formatnum:23}} {{PLURAL:23|tác vụ}} được tạo bởi cộng đồng đã được [[m:Special:MyLanguage/Tech/News/Recently resolved community tasks|giải quyết vào tuần trước]]. '''Cập nhật cho những người đóng góp vào mảng kỹ thuật''' * <span lang="en" dir="ltr" class="mw-content-ltr">A new global user group has been created: [[{{int:grouppage-local-bot}}|{{int:group-local-bot}}]]. It will be used internally by the software to allow community bots to bypass rate limits that are applied to abusive [[w:en:Web scraping|web scrapers]]. Accounts that are approved as bots on at least one Wikimedia wiki will be automatically added to this group. It will not change what user permissions the bot has.</span> [https://phabricator.wikimedia.org/T415588] * [[File:Reload icon with two arrows.svg|12px|link=|class=skin-invert|Đề mục định kỳ]] Chi tiết cập nhật mã nguồn sắp tới trong tuần này: [[mw:MediaWiki 1.46/wmf.15|MediaWiki]] '''Các cuộc họp và sự kiện''' * <span lang="en" dir="ltr" class="mw-content-ltr">The [[mw:Special:MyLanguage/MediaWiki Users and Developers Conference Spring 2026|MediaWiki Users and Developers Conference, Spring 2026]] will be held March 25–27 in Salt Lake City, USA. This event is organized by and for the third-party MediaWiki community. You can propose sessions and register to attend.</span> [https://lists.wikimedia.org/hyperkitty/list/wikitech-l@lists.wikimedia.org/thread/AZBWVI46SDEB65PGR5J6E4TYOQQEZXM7/] '''''[[m:Special:MyLanguage/Tech/News|Tin tức Kỹ thuật]]''' do [[m:Special:MyLanguage/Tech/News/Writers|các biên tập viên Bản tin Kỹ thuật]] chuẩn bị và được đăng bởi [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]]&nbsp;• [[m:Special:MyLanguage/Tech/News#contribute|Đóng góp]]&nbsp;• [[m:Special:MyLanguage/Tech/News/2026/07|Biên dịch]]&nbsp;• [[m:Tech|Nhờ giúp đỡ]]&nbsp;• [[m:Talk:Tech/News|Phản hồi]]&nbsp;• [[m:Global message delivery/Targets/Tech ambassadors|Đăng ký hoặc huỷ đăng ký]].'' </div><section end="technews-2026-W07"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 23:30, ngày 9 tháng 2 năm 2026 (UTC) <!-- Tin nhắn của Thành viên:Quiddity (WMF)@metawiki gửi cho mọi người trong danh sách tại https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=30026671 --> == Bản tin Kỹ thuật: Tuần 08-2026 == <section begin="technews-2026-W08"/><div class="plainlinks"> '''[[m:Special:MyLanguage/Tech/News|Tin tức kỹ thuật]]''' mới nhất từ cộng đồng kỹ thuật Wikimedia. Vui lòng chia sẻ với các thành viên khác về những thay đổi này. Không phải mọi thay đổi đều sẽ ảnh hưởng đến bạn. [[m:Special:MyLanguage/Tech/News/2026/08|Các bản dịch]] của bản tin này cũng có sẵn cho bạn. '''Nổi bật trong tuần''' * [[mw:Special:MyLanguage/Wikimedia Site Reliability Engineering|Nhóm SRE]] sẽ tiến hành dọn dẹp phiên bản [[m:Special:MyLanguage/Etherpad|Etherpad]] của Wikimedia, một trình sửa đổi trên web dành cho việc sửa đổi tài liệu cộng tác theo thời gian thực. Tất cả pad sẽ bị xóa vĩnh viễn sau ngày 30 tháng 4 năm 2026 – trường hợp nếu còn dự án vẫn đang được tiến hành di chuyển vào thời điểm đó thì nhóm có thể xem xét lại thời gian đó tùy từng trường hợp. Vui lòng tạo bản sao lưu cục bộ cho bất kỳ nội dung nào mà bạn muốn giữ lại, vì dữ liệu đã bị xóa không thể khôi phục được nữa. Việc dọn dẹp này sẽ giúp giảm bớt kích thước cơ sở dữ liệu và giảm thiểu lãng phí (dấu ấn) cơ sở hạ tầng. Etherpad sẽ tiếp tục hỗ trợ cộng tác theo thời gian thực, nhưng không kỳ vọng vào khả năng lưu trữ lâu dài. Những đợt dọn dẹp khác có thể xảy ra trong tương lai mà không cần báo trước. [https://phabricator.wikimedia.org/T415237] '''Cập nhật cho biên tập viên''' * Nhóm Tìm kiếm Thông tin sẽ triển khai [[mw:Special:MyLanguage/Readers/Information Retrieval/Phase 1|thử nghiệm trên ứng dụng di động dùng Android]] nhằm kiểm tra khả năng tìm kiếm kết hợp, có thể xử lý cả các truy vấn tìm theo ngữ nghĩa và theo từ khóa. Việc cải thiện tìm kiếm trên nền tảng này sẽ giúp người đọc dễ dàng tìm thấy những gì mà họ đang tìm kiếm hơn ngay trên Wikipedia. Thử nghiệm này sẽ bắt đầu được triển khai trước tiên là trên Wikipedia tiếng Hy Lạp vào cuối tháng 2, sau đó là các wiki tiếng Anh, tiếng Pháp và tiếng Bồ Đào Nha vào tháng 3. [https://diff.wikimedia.org/2026/01/08/semantic-search-making-it-easier-to-find-the-information-readers-want/ Đọc thêm] trên blog Diff. [https://www.mediawiki.org/wiki/Readers/Information_Retrieval] * Nhóm Phát triển Độc giả sẽ tiến hành [[mw:Special:MyLanguage/Readers/Reader Growth/WE3.10.2 Mobile Table of Contents|một thử nghiệm]] cho người dùng web trên thiết bị di động nhằm thêm mục lục và tự động mở rộng tất cả các đề mục trong bài viết, nhằm tìm hiểu thêm về những vấn đề về điều hướng mà họ gặp phải. Thử nghiệm này sẽ có mặt trên các Wikipedia tiếng Ả Rập, tiếng Trung, tiếng Anh, tiếng Pháp, tiếng Indonesia và tiếng Việt. * Trước đây, các thông báo đầu trang ([[{{ns:8}}:Sitenotice]] và [[{{ns:8}}:Anonnotice]]) chỉ được hiển thị trên trang web dành cho máy tính để bàn. Giờ đây, chúng sẽ được hiển thị trên mọi nền tảng. Người dùng trên trang web di động nay sẽ thấy được những thông báo này và được thông báo. Các bảo quản viên trang web nên sẵn sàng kiểm tra và sửa các thông báo đầu trang trên các thiết bị di động để tránh xung đột với bài viết. Để từ chối, bảo quản viên giao diện có thể thêm <code dir="ltr">#siteNotice { display: none; }</code> vào [[{{ns:8}}:Minerva.css]]. [https://phabricator.wikimedia.org/T138572][https://phabricator.wikimedia.org/T416644] * [[File:Reload icon with two arrows.svg|12px|link=|class=skin-invert|Đề mục định kỳ]] Xem tất cả {{formatnum:19}} {{PLURAL:19|tác vụ}} được tạo bởi cộng đồng đã được [[m:Special:MyLanguage/Tech/News/Recently resolved community tasks|giải quyết vào tuần trước]]. Ví dụ, một vấn đề trên [[Special:RecentChanges|Đặc biệt:Thay đổi gần đây]] đã được giải quyết. Trước đây, nhấn vào nút ẩn trên các bộ lọc đang được áp dụng khiến cho nút "xem những thay đổi mới từ…" biến mất, dù nó đáng lẽ phải được hiển thị. Nút này giờ đây sẽ hoạt động như mong đợi. [https://phabricator.wikimedia.org/T406339] '''Cập nhật cho những người đóng góp vào mảng kỹ thuật''' * Hiện đã có tài liệu mới giúp biên tập viên gỡ lỗi các tính năng tìm kiếm trên trang. Nó hỗ trợ việc khắc phục sự cố khi các trang xuất hiện trong kết quả tìm kiếm, khi thứ hạng có vẻ không như mong đợi và khi bạn cần kiểm tra nội dung nào đang được lập chỉ mục, giúp việc tìm hiểu và phân tích hành vi tìm kiếm trở nên dễ dàng hơn. [[mw:Help:CirrusSearch/Debug|Tìm hiểu thêm]]. [https://phabricator.wikimedia.org/T411169] * [[File:Reload icon with two arrows.svg|12px|link=|class=skin-invert|Đề mục định kỳ]] Chi tiết cập nhật mã nguồn sắp tới trong tuần này: [[mw:MediaWiki 1.46/wmf.16|MediaWiki]] '''''[[m:Special:MyLanguage/Tech/News|Tin tức Kỹ thuật]]''' do [[m:Special:MyLanguage/Tech/News/Writers|các biên tập viên Bản tin Kỹ thuật]] chuẩn bị và được đăng bởi [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]]&nbsp;• [[m:Special:MyLanguage/Tech/News#contribute|Đóng góp]]&nbsp;• [[m:Special:MyLanguage/Tech/News/2026/08|Biên dịch]]&nbsp;• [[m:Tech|Nhờ giúp đỡ]]&nbsp;• [[m:Talk:Tech/News|Phản hồi]]&nbsp;• [[m:Global message delivery/Targets/Tech ambassadors|Đăng ký hoặc huỷ đăng ký]].'' </div><section end="technews-2026-W08"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 19:17, ngày 16 tháng 2 năm 2026 (UTC) <!-- Tin nhắn của Thành viên:STei (WMF)@metawiki gửi cho mọi người trong danh sách tại https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=30086330 --> == Bản tin Kỹ thuật: Tuần 09-2026 == <section begin="technews-2026-W09"/><div class="plainlinks"> '''[[m:Special:MyLanguage/Tech/News|Tin tức kỹ thuật]]''' mới nhất từ cộng đồng kỹ thuật Wikimedia. Vui lòng chia sẻ với các thành viên khác về những thay đổi này. Không phải mọi thay đổi đều sẽ ảnh hưởng đến bạn. [[m:Special:MyLanguage/Tech/News/2026/09|Các bản dịch]] của bản tin này cũng có sẵn cho bạn. '''Nổi bật trong tuần''' * Tính năng [[mw:Special:MyLanguage/Edit check/Reference Check|Kiểm tra Nguồn Tham khảo]] đã được triển khai tới Wikipedia tiếng Anh, điều này có nghĩa là việc triển khai tính năng trên tất cả các trang Wikipedia đã hoàn thành. Tính năng này nhắc những người mới thêm nguồn tham khảo trước khi đăng nội dung mới, giúp giảm thiểu việc lùi sửa liên quan đến các vấn đề nguồn tham khảo phổ biến và cải thiện khả năng kiểm chứng được. Trong quá trình thử nghiệm A/B, tính năng này mang lại hiệu quả rất đáng kể: những người mới có hiển thị Kiểm tra Nguồn Tham khảo có khả năng thêm nguồn tham khảo cao hơn khoảng 2,2 lần trên trang web dành cho máy tính và cao hơn khoảng 17,5 lần trên trang web dành cho di động. [https://analytics.wikimedia.org/published/reports/editing/reference_check_ab_test_report_final_2025.html] '''Cập nhật cho biên tập viên''' * [[mw:Special:MyLanguage/Extension:InterwikiSorting|Phần mở rộng InterwikiSorting]], một phần mở rộng cho phép [[m:Special:MyLanguage/Interwiki sorting order|sắp xếp các liên kết liên wiki]], đã bị gỡ bỏ khỏi Wikipedia. Do đó, những biên tập viên đã bật tính năng sắp xếp liên kết liên wiki ở chế độ không rút gọn (định dạng danh sách đầy đủ) sẽ thấy được rằng các liên kết được sắp xếp lại. Các liên kết từ nay trở đi sẽ được liệt kê theo thứ tự bảng chữ cái dựa trên mã ngôn ngữ. [https://phabricator.wikimedia.org/T253764] * Cuối tuần này, người dùng sửa đổi một đề mục của trang bằng cách sử dụng trình soạn thảo trực quan trên thiết bị di động, sẽ nhìn thấy một nút mới có tên "Sửa đổi toàn bộ trang". Khi chạm vào nút đó, bạn sẽ có thể sửa đổi toàn bộ bài viết. Điều này sẽ giúp ích khi thay đổi bạn muốn thực hiện nằm ngoài đề mục mà bạn mở ban đầu. [https://phabricator.wikimedia.org/T387175][https://phabricator.wikimedia.org/T409112] * [[mw:Special:MyLanguage/Readers/Reader Experience|Nhóm Trải nghiệm Người đọc]] đang mời các biên tập viên đánh giá xem chế độ tối có nên tiếp tục được coi là ở giai đoạn "thử nghiệm" (beta) trên wiki của họ hay không, dựa trên kinh nghiệm của họ về mức độ hoạt động tốt hay không của chế độ này trên máy tính và thiết bị di động. Nếu tính năng này được đánh giá là hoàn thiện rồi, thì các biên tập viên có thể cập nhật các thông báo giao diện trong <code dir=ltr>MediaWiki:skin-theme-description</code> và <code dir=ltr>MediaWiki:Vector-night-mode-beta-tag</code> để cho biết rằng chế độ tối đã sẵn sàng và không còn được coi là trong giai đoạn thử nghiệm nữa. * [[mw:Wikimedia_Apps/Team/iOS/Activity_Tab|Tab Hoạt động]] được cải tiến mà hiển thị thông tin chuyên sâu về người dùng nay có sẵn cho tất cả người dùng ứng dụng Wikipedia trên (phiên bản 7.9.0 trở lên). Sau quá trình thử nghiệm A/B trước đây cho thấy tỷ lệ tạo tài khoản trong số những người dùng có quyền truy cập vào tính năng này cao hơn, tính năng này đã được triển khai cho 100% người dùng kèm vài cập nhật. Tab Hoạt động nay hiển thị các bài viết bạn đã sửa đổi trên dòng thời gian, cung cấp thông tin chi tiết về tác động của việc sửa đổi chẳng hạn như số lượng đóng góp và xu hướng xem bài viết, cùng những tùy chọn tùy chỉnh để cải thiện trải nghiệm dành cho người dùng trong ứng dụng. * [[File:Reload icon with two arrows.svg|12px|link=|class=skin-invert|Đề mục định kỳ]] Xem tất cả {{formatnum:21}} {{PLURAL:21|tác vụ}} được tạo bởi cộng đồng đã được [[m:Special:MyLanguage/Tech/News/Recently resolved community tasks|giải quyết vào tuần trước]]. Ví dụ, một lỗi khiến cho [[mw:Special:MyLanguage/Extension:DiscussionTools|Công cụ Thảo luận (DiscussionTools)]] không thể hoạt động trên thiết bị di động, từ đó khôi phục đầy đủ tất cả chức năng. [https://phabricator.wikimedia.org/T415303] '''Cập nhật cho những người đóng góp vào mảng kỹ thuật''' * [[m:Special:GlobalWatchlist|Danh sách Theo dõi Toàn cục]] cho phép bạn xem các danh sách theo dõi từ nhiều wiki trên cùng một trang. [[mw:Special:MyLanguage/Extension:GlobalWatchlist|Phần mở rộng]] giúp thực hiện được điều này tiếp tục được cải tiến. Cải tiến mới nhất là việc bổ sung [[mw:Extension:GlobalWatchlist#hook|hook mới]], <code dir=ltr>ext.globalwatchlist.rebuild</code>, được kích hoạt sau mỗi lần xây dựng lại danh sách theo dõi. Điều này cho phép bạn chạy các tiện ích và đoạn mã người dùng cho trang Đặc biệt. [https://phabricator.wikimedia.org/T275159] * [[File:Reload icon with two arrows.svg|12px|link=|class=skin-invert|Đề mục định kỳ]] Chi tiết cập nhật mã nguồn sắp tới trong tuần này: [[mw:MediaWiki 1.46/wmf.17|MediaWiki]] '''''[[m:Special:MyLanguage/Tech/News|Tin tức Kỹ thuật]]''' do [[m:Special:MyLanguage/Tech/News/Writers|các biên tập viên Bản tin Kỹ thuật]] chuẩn bị và được đăng bởi [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]]&nbsp;• [[m:Special:MyLanguage/Tech/News#contribute|Đóng góp]]&nbsp;• [[m:Special:MyLanguage/Tech/News/2026/09|Biên dịch]]&nbsp;• [[m:Tech|Nhờ giúp đỡ]]&nbsp;• [[m:Talk:Tech/News|Phản hồi]]&nbsp;• [[m:Global message delivery/Targets/Tech ambassadors|Đăng ký hoặc huỷ đăng ký]].'' </div><section end="technews-2026-W09"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 19:03, ngày 23 tháng 2 năm 2026 (UTC) <!-- Tin nhắn của Thành viên:STei (WMF)@metawiki gửi cho mọi người trong danh sách tại https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=30119102 --> == Bản tin Kỹ thuật: Tuần 10-2026 == <section begin="technews-2026-W10"/><div class="plainlinks"> '''[[m:Special:MyLanguage/Tech/News|Tin tức kỹ thuật]]''' mới nhất từ cộng đồng kỹ thuật Wikimedia. Vui lòng chia sẻ với các thành viên khác về những thay đổi này. Không phải mọi thay đổi đều sẽ ảnh hưởng đến bạn. [[m:Special:MyLanguage/Tech/News/2026/10|Các bản dịch]] của bản tin này cũng có sẵn cho bạn. '''Nổi bật trong tuần''' * [[m:Special:MyLanguage/Wikipedia 25/Easter egg experiments|Chế độ Sinh nhật]] Wikipedia 25 nay đã có mặt trên các trang Wikipedia tiếng Betawi, tiếng Breton, tiếng Trung, tiếng Séc, tiếng Hà Lan, tiếng Anh, tiếng Pháp, tiếng Gorontalo, tiếng Indonesia, tiếng Ý, tiếng Luxembourg, tiếng Madura, tiếng Sicilia, tiếng Tây Ban Nha, tiếng Thái và tiếng Việt! Tính năng chiến dịch hữu hạn này kỷ niệm 25 năm thành lập Wikipedia cùng linh vật cho ngày sinh nhật, Quả cầu Nhỏ (Baby Globe). Khi được bật, Quả cầu Nhỏ được hiển thị trên [[m:Special:MyLanguage/Wikipedia 25/Easter egg experiments/article configuration|~2,500 bài viết]], chờ người đọc khám phá. Cộng đồng có thể chọn bật chế độ Sinh nhật bằng cách đạt đồng thuận từ cộng đồng của mình và yêu cầu một bảo quản viên bật tính năng đó cũng như tùy chỉnh nó thông qua [[m:Special:MyLanguage/Wikipedia 25/Easter egg experiments#Community Configuration Demo|cấu hình cộng đồng]] trên wiki cục bộ. '''Cập nhật cho biên tập viên''' * [[:m:Special:MyLanguage/WMDE Technical Wishes/Sub-referencing|Tham chiếu phụ (sub-referencing)]], một tính năng mới để tái sử dụng nguồn tham khảo với những chi tiết khác đã được triển khai tới Wikipedia tiếng Thụy Điển, Wikipedia tiếng Ba Lan và [[:phab:T418209|một vài trang wiki khác]]. Bạn có thể [[:m:Special:MyLanguage/WMDE Technical Wishes/Sub-referencing#test|thử tính năng này]] trên những dự án đó hoặc trên testwiki và [https://en.wikipedia.beta.wmcloud.org/wiki/Sub-referencing betawiki]. Kinh nghiệm từ wiki thí điểm đầu tiên Wikipedia tiếng Đức đã được [[:m:Special:MyLanguage/WMDE Technical Wishes/Sub-referencing/Learnings|công bố trong báo cáo]]. Hãy liên hệ với nhóm Wikimedia Deutschland nếu bạn [[:m:Talk:WMDE Technical Wishes/Sub-referencing#Pilot wikis|quan tâm đến việc trở thành một wiki thí điểm]]. * [[mw:Special:MyLanguage/Help:Edit check#Paste check|Kiểm tra Chép dán]] (Paste Check) sẽ có mặt trên mọi trang Wikipedia trong tuần này. Tính năng này nhắc những người mới dán các đoạn văn bản mà họ không chắc viết vào Trình Soạn thảo Trực quan cân nhắc xem làm như thế có nguy cơ vi phạm bản quyền hay không. Kiểm tra Chép dán [[mw:Special:MyLanguage/Edit check/Tags|gắn thẻ]] tất cả sửa đổi mà nó hiển thị để có thể xem xét tiếp. Các bảo quản viên cục bộ có thể thiết lập cấu hình cho các khía cạnh khác nhau của tính năng này thông qua [[{{#special:EditChecks}}]]. [[mw:Special:MyLanguage/Edit check/Paste Check#A/B Experiment|Nghiên cứu]] trên 22 wiki cho thấy Kiểm tra Chép dán giúp giảm 18% số lượng sửa đổi bị lùi lại wikis found that so với nhóm đối chứng. Các biên dịch viên có thể [https://translatewiki.net/w/i.php?title=Special%3ATranslate&group=ext-visualeditor-ve-mw-editcheck&filter=&optional=1&action=translate giúp biên dịch] tính năng này cùng những tính năng có liên quan. * [[mw:Special:MyLanguage/Readers/Reader Experience|Nhóm Trải nghiệm Người đọc]] sẽ chuẩn hóa menu người dùng ở góc trên bên phải cho tất cả người dùng di động nhằm giúp nó gần giống trải nghiệm trên máy tính hơn. Hiện tại menu người dùng này chỉ hiển thị cho những người đã bật Chế độ Điều khiển Di động Nâng cao (AMC). Thay đổi duy nhất là một vài nút trước đây ở menu bên trái sẽ chuyển sang góc trên bên phải cho người dùng không bật chế độ AMC. Thay đổi này dự kiến được triển khai vào ngày 9 tháng 3 và nhằm mục đích cải thiện giao diện người dùng. [https://phabricator.wikimedia.org/T413912] * Bắt đầu từ tuần ngày 2 tháng 3, các email được gửi khi thêm, xóa hoặc sửa địa chỉ email của tài khoản sẽ chuyển sang định dạng email HTML đẹp mắt và rõ ràng hơn nhiều so với định dạng email văn bản thuần túy trước đây. [https://phabricator.wikimedia.org/T410807] * Thông báo hiện chỉ giới hạn lưu 2.000 mục lịch sử cho mỗi người dùng, điều này kéo dài trở về năm 2013 khi tính năng này mới được phát hành. Giờ nó sẽ thay đổi thành việc lưu các Thông báo trong 5 năm trở lại đây, nhưng mở rộng lên tối đa 10.000 mục. Điều này sẽ giúp bảo vệ cơ sở hạ tầng và giúp ngăn việc những thông báo xuất hiện gần đây hơn biến mất quá sớm. [https://phabricator.wikimedia.org/T383948] * [[m:Special:GlobalWatchlist|Danh sách Theo dõi Toàn cục]] cho phép bạn xem các danh sách theo dõi của bạn từ nhiều wiki khác nhau trên cùng một trang tiếp tục được cải tiến. Lần cập nhật gần đây nhất cải thiện trải nghiệm sử dụng nhãn. [[mw:Special:MyLanguage/Extension:GlobalWatchlist|Phần mở rộng]] nay cho phép kích hoạt [[mw:Special:MyLanguage/Manual:Language#Fallback languages|hệ thống ngôn ngữ dự phòng]] cho các khoản mục Wikidata không có nhãn bằng ngôn ngữ được xem, đồng thời hiển thị những nhãn đó trong ngôn ngữ Wikidata yêu thích của người dùng nếu không cung cấp tham số URL <code dir=ltr>uselang=</code>. [https://phabricator.wikimedia.org/T373686][https://phabricator.wikimedia.org/T416111] * Nhóm Wikipedia dành cho Android đã bắt đầu cuộc thử nghiệm beta cho tính năng [[mw:Special:MyLanguage/Readers/Information Retrieval/Phase 1|tìm kiếm kết hợp]] (hybrid search) trên Wikipedia tiếng Hy Lạp. Khả năng tìm kiếm kết hợp có thể xử lý cả truy vấn ngữ nghĩa và từ khóa giúp người đọc dễ dàng tìm kiếm những gì họ muốn tìm kiếm ngay trên Wikipedia hơn. * Vì lý do bảo mật, thành viên của một vài nhóm người dùng nhất định [[m:Special:MyLanguage/Mandatory two-factor authentication for users with some extended rights|bắt buộc phải bật tính năng xác thực hai yếu tố]] (2FA). Hiện tại, 2FA bắt buộc phải được bật để sử dụng nhóm người dùng, nhưng không cần phải là để trở thành thành viên nhóm đó. Do mô hình này vẫn còn một vài lỗ hổng, tình hình này sẽ [[phab:T418580|dần dần thay đổi vào tháng 3]]. Các thành viên thuộc những nhóm người dùng đó sẽ không thể tắt phương thức 2FA cuối cùng có trên tài khoản của họ, và sẽ không thể thêm người dùng không dùng 2FA vào những nhóm này. Người dùng vẫn sẽ có thể thêm phương thức xác thực mới hoặc loại bỏ chúng, miễn là còn ít nhất một phương thức được bật. Trong khoảng nửa sau của tháng 3, những người dùng mà không có 2FA sẽ bị loại bỏ khỏi những nhóm này. Điều này áp dụng cho: Bảo quản viên Thông báo Trung ương, kiểm định viên, bảo quản viên giao diện, giám sát viên, nhân viên Wikidata, nhân viên Wikifunctions, bộ phận CNTT của Văn phòng WMF và bộ phận Tin cậy & An toàn của and WMF. Sẽ không có gì thay đổi với những người dùng khác. Xem tác vụ được liên kết để biết khung thời gian triển khai. [https://phabricator.wikimedia.org/T418580] * [[File:Reload icon with two arrows.svg|12px|link=|class=skin-invert|Đề mục định kỳ]] Xem tất cả {{formatnum:27}} {{PLURAL:27|tác vụ}} được tạo bởi cộng đồng đã được [[m:Special:MyLanguage/Tech/News/Recently resolved community tasks|giải quyết vào tuần trước]]. Ví dụ, một vấn đề ngăn người dùng tạo một phiên bản trong [https://www.wikibase.cloud/ Wikibase.cloud] hiện đã được giải quyết. [https://phabricator.wikimedia.org/T416807] '''Cập nhật cho những người đóng góp vào mảng kỹ thuật''' * Để giúp đảm bảo việc [[mw:Special:MyLanguage/MediaWiki Product Insights/Responsible Reuse|sử dụng cơ sở hạ tầng một cách hợp lý]], trong tháng tới Quỹ Wikimedia sẽ triển khai giới hạn truy cập API toàn cục trên tất cả các API của chúng tôi. Vào đầu tháng 3, các giới hạn nghiêm ngặt hơn sẽ được áp dụng cho các yêu cầu không xác định từ bên ngoài Toolforge/WMCS và các yêu cầu API được thực hiện từ các trình duyệt web. Vào tháng 4, những giới hạn cao hơn sẽ được áp dụng cho lưu lượng truy cập được xác định. Những giới hạn này được cố ý đặt ở mức cao nhất có thể nhằm giảm thiểu tác động đến cộng đồng. Các bot chạy trong Toolforge/WMCS hoặc có quyền thành viên bot trên bất kỳ wiki nào sẽ không bị ảnh hưởng vào lúc này. Tuy vậy, mọi nhà phát triển được khuyến cáo làm theo những lời khuyên thực tiễn được cập nhật. Để biết thêm thông tin, hãy xem [[mw:Special:MyLanguage/Wikimedia APIs/Rate limits|API Wikimedia/Giới hạn truy cập]]. * Điểm cuối Truy vấn Dữ liệu được Liên kết (LDF) của Dịch vụ Truy vấn Wikidata sẽ ngừng hoạt động vào tháng 2. Điểm cuối này phục vụ lưu lượng truy cập hạn chế, lưu lượng này đã được chuyển đổi thành công sang các phương thức truy cập dữ liệu khác phù hợp hơn để hỗ trợ các trường hợp sử dụng (use case) hiện có. Phần cứng được sử dụng để hỗ trợ điểm cuối LDF sẽ được phân bổ lại để hỗ trợ những nỗ lực chuyển đổi hệ thống backend đang diễn ra. [https://phabricator.wikimedia.org/T415696] * Trình phân tích cú pháp Parsoid mới [[mw:Special:MyLanguage/Parsoid/Parser Unification/Updates|tiếp tục được triển khai đến nhiều wiki hơn]], nhằm cải thiện tính bền vững của nền tảng và giúp việc giới thiệu các tính năng đọc và sửa đổi mới trở nên dễ dàng hơn. Parsoid nay là trình phân tích cú pháp mặc định trên 488 trang wiki của WMF (268 trang Wikipedia), hiện chiếm hơn 10% tổng số lượt xem trang Wikipedia. * Quy trình và tiêu chí để [[Special:MyLanguage/Wikimedia Enterprise#Access|yêu cầu quyền truy cập đặc biệt]] vào nguồn cấp dữ liệu khối lượng lớn của API ''Wikimedia Enterprise'' (miễn phí cho các trường hợp sử dụng phù hợp với nhiệm vụ), [[m:Talk:Wikimedia Enterprise#Exceptional access criteria|hiện đã được công bố]]. Điều này nhằm cung cấp tài liệu đầy đủ và rõ ràng hơn cho người dùng. * [https://techblog.wikimedia.org/ Blog Kỹ thuật], một blog dành riêng cho cộng đồng kỹ thuật Wikimedia [https://techblog.wikimedia.org/2026/02/24/a-tech-blog-diff/ sẽ được chuyển] sang [[diffblog:|Diff]], blog tin tức và sự kiện cộng đồng. Việc chuyển đổi dự kiến sẽ được hoàn thành vào tháng 4 năm 2026, sau thời điểm này các bài viết mới sẽ được chấp nhận xuất bản. Người đọc sẽ có thể truy cập các bài đăng – cả bài cũ và mới – trên trang đích này tại https://diff.wikimedia.org/techblog. * [[File:Reload icon with two arrows.svg|12px|link=|class=skin-invert|Đề mục định kỳ]] Chi tiết cập nhật mã nguồn sắp tới trong tuần này: [[mw:MediaWiki 1.46/wmf.18|MediaWiki]] '''''[[m:Special:MyLanguage/Tech/News|Tin tức Kỹ thuật]]''' do [[m:Special:MyLanguage/Tech/News/Writers|các biên tập viên Bản tin Kỹ thuật]] chuẩn bị và được đăng bởi [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]]&nbsp;• [[m:Special:MyLanguage/Tech/News#contribute|Đóng góp]]&nbsp;• [[m:Special:MyLanguage/Tech/News/2026/10|Biên dịch]]&nbsp;• [[m:Tech|Nhờ giúp đỡ]]&nbsp;• [[m:Talk:Tech/News|Phản hồi]]&nbsp;• [[m:Global message delivery/Targets/Tech ambassadors|Đăng ký hoặc huỷ đăng ký]].'' </div><section end="technews-2026-W10"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 17:51, ngày 2 tháng 3 năm 2026 (UTC) <!-- Tin nhắn của Thành viên:STei (WMF)@metawiki gửi cho mọi người trong danh sách tại https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=30137798 --> == Bản tin Kỹ thuật: Tuần 11-2026 == <section begin="technews-2026-W11"/><div class="plainlinks"> '''[[m:Special:MyLanguage/Tech/News|Tin tức kỹ thuật]]''' mới nhất từ cộng đồng kỹ thuật Wikimedia. Vui lòng chia sẻ với các thành viên khác về những thay đổi này. Không phải mọi thay đổi đều sẽ ảnh hưởng đến bạn. [[m:Special:MyLanguage/Tech/News/2026/11|Các bản dịch]] của bản tin này cũng có sẵn cho bạn. '''Nổi bật trong tuần''' * [[m:Special:MyLanguage/Tech/Server switch|Tất cả các wiki sẽ chuyển sang chế độ chỉ đọc trong vòng vài phút]] vào thứ 4, ngày 25 tháng 3 năm 2026 lúc [https://zonestamp.toolforge.org/1774450800 15:00 UTC]. Điều này là nhằm phục vụ cho việc thử nghiệm chuyển đổi máy chủ cơ sở dữ liệu dự phòng, [[wikitech:Deployments/Yearly calendar|diễn ra hai lần trong một năm]]. Trong quá trình chuyển đổi này, toàn bộ lưu lượng trên các trang web của Wikimedia được chuyển từ trung tâm dữ liệu chính sang trung tâm dữ liệu dự phòng nhằm kiểm tra tính khả dụng và ngăn ngừa việc gián đoạn dịch vụ ngay cả trong những trường hợp khẩn cấp. * Tuần trước, tất cả các wiki đều bị giới hạn ở chế độ chỉ đọc trong vòng 2 giờ đồng hồ, cùng với đó các đoạn mã người dùng và tiện ích cũng không khả dụng trong thời gian được kéo dài. Điều này là do một sự cố bảo mật mà đã được khắc phục sau đó. Chúng tôi đang tiếp tục cố gắng để ngăn điều này tái diễn. Để cập nhật thông tin vui lòng xem [[m:Steward's noticeboard#Statement on Meta about today's user script security incident|bài đăng trên bảng tin của Nhân viên]] ([[m:Special:MyLanguage/Wikimedia Foundation/Product and Technology/Product Safety and Integrity/March 2026 User Script Incident|bản dịch]]). '''Cập nhật cho biên tập viên''' * Người dùng đang gặp phải nhiều lệnh cấm trên thiết bị di động nay sẽ thấy lý do cấm cho từng lần cấm riêng thay vì một thông báo chung chung. Điều này giúp họ hiểu tại sao mình bị cấm và cần thực hiện những bước nào để giải quyết vấn đề. Ví dụ, người dùng bị ảnh hưởng do sử dụng VPN phổ biến (chẳng hạn như [[Special:MyLanguage/Apple iCloud Private Relay|iCloud Private Relay]]) sẽ nhận được hướng dẫn rõ ràng hơn những việc cần làm để bắt đầu lại việc sửa đổi. [https://phabricator.wikimedia.org/T357118] * Cuối tuần này, [[mw:Special:MyLanguage/VisualEditor/Suggestion Mode|Chế độ Đề xuất]] sẽ được cung cấp dưới dạng tính năng beta trong trình soạn thảo trực quan trên tất cả các trang Wikipedia. Tính năng này chủ động đề xuất nhiều loại hành động mà người dùng có thể cân nhắc thực hiện để cải thiện các bài viết trên Wikipedia, đồng thời tìm hiểu về các hướng dẫn có liên quan. Tính năng này có thể được cấu hình cục bộ và cũng có thể được mở rộng cục bộ với bằng việc tùy chỉnh Đề xuất. Cài đặt hiện tại có thể xem được tại trang [[Special:EditChecks]] và có [[mw:Special:MyLanguage/Help:Suggestion mode#For administrators %E2%80%93 local customization|hướng dẫn cách bảo quản viên có thể tùy chỉnh]] các liên kết để chỉ tới những trang hướng dẫn cục bộ. Tính năng này được kết nối với tính năng [[mw:Special:MyLanguage/Help:Edit check|Kiểm tra sửa đổi]], một tính năng đưa ra đề xuất cải thiện trong khi người nào đó viết nội dung mới. Trong tương lai, nhóm Sửa đổi dự kiến đánh giá tác động của tính năng này đối với người dùng mới thông qua một thử nghiệm có kiểm soát. [https://phabricator.wikimedia.org/T404600] * [[File:Reload icon with two arrows.svg|12px|link=|class=skin-invert|Đề mục định kỳ]] Xem tất cả {{formatnum:23}} {{PLURAL:23|tác vụ}} được tạo bởi cộng đồng đã được [[m:Special:MyLanguage/Tech/News/Recently resolved community tasks|giải quyết vào tuần trước]]. Ví dụ, một sự cố liên quan đến việc con trỏ bị lệch khi sử dụng tính năng tô sáng cú pháp của CodeMirror, một tính năng giúp mã wiki (wikitext) và mã code dễ đọc hơn, nay đã được giải quyết. Vấn đề này đặc biệt ảnh hưởng đến những người dùng đã định nghĩa quy tắc phông chữ trong stylesheet tùy chỉnh khi tạo chủ đề mới bằng Công cụ Thảo luận. [https://phabricator.wikimedia.org/T418793] '''Cập nhật cho những người đóng góp vào mảng kỹ thuật''' * Cập nhật về giới hạn truy vấn API: Để giúp đảm bảo việc [[mw:Special:MyLanguage/MediaWiki Product Insights/Responsible Reuse|sử dụng hợp lý cơ sở hạ tầng]], giới hạn truy vấn API toàn cục sẽ được áp dụng trong tuần này cho các yêu cầu không có User-Agent hợp lệ bắt nguồn từ bên ngoài Toolforge/WMCS cùng các yêu cầu chưa được xác thực được thực hiện từ trình duyệt web. Trong tháng 4 tới sẽ thiết lập giới hạn cao hơn cho lưu lượng truy cập được xác định. Các bot chạy trên Toolforge/WMCS hoặc có quyền thành viên bot trên bất kỳ wiki nào hiện sẽ không bị ảnh hưởng vì điều này. Tuy vậy, mọi nhà phát triển được khuyến cáo nên tuân theo những hướng dẫn thực tiễn tốt nhất được cập nhật. Để biết thêm thông tin, hãy xem [[mw:Special:MyLanguage/Wikimedia APIs/Rate limits|API Wikimedia/Giới hạn truy vấn]]. * API GraphQL mới đã được phát hành. API này được phát triển như một giải pháp thay thế linh hoạt cho một số tính năng nhất định của Dịch vụ Truy vấn Wikidata (WDQS), nhằm cải thiện trải nghiệm và khả năng thích ứng của nhà phát triển, đồng thời giúp truy cập dữ liệu hiệu quả. Hãy dùng thử và [[d:Wikidata:Wikibase GraphQL#Feedback and development|gửi phản hồi]] của mình. Bạn cũng có thể [https://greatquestion.co/wikimediadeutschland/GraphQLAPI/apply đăng ký tham gia các bài kiểm tra về khả năng sẵn dùng]. * Vào tháng 2 [[m:Special:MyLanguage/Product and Technology Advisory Council/Unsupported Tools Working Group|Nhóm Làm việc cho Công cụ Không được Hỗ trợ PTAC]] đã tiếp tục cải tiến [[commons:Special:MyLanguage/Commons:Video2commons#|Video2Commons]], trong đó sửa các lỗi liên quan đến lỗi xác thực, xử lý tệp lớn, khả năng hiển thị hàng đợi tác vụ và làm rõ hơn hành vi tải lên. Hiện một số lĩnh vực vẫn đang được tiến hành thực hiện, trong đó có những thay đổi liên quan đến việc tải lên từ phía máy chủ đã lỗi thời. Hãy đọc [[m:Special:MyLanguage/Product and Technology Advisory Council/Unsupported Tools Working Group#February 2026|phần cập nhật này]] để tìm hiểu thêm. * [[File:Reload icon with two arrows.svg|12px|link=|class=skin-invert|Đề mục định kỳ]] Chi tiết cập nhật mã nguồn sắp tới trong tuần này: [[mw:MediaWiki 1.46/wmf.19|MediaWiki]] '''Chuyên sâu''' * Nhóm Hướng dẫn Bài viết mời các biên tập viên Wikipedia có kinh nghiệm từ một số [[mw:Special:MyLanguage/Article guidance/Pilot wikis and collaborators#Collaborators|wiki thí điểm]] được chọn cùng những người đóng góp có quan tâm từ các trang Wikipedia khác điền vào bảng câu hỏi này, có sẵn bằng [https://docs.google.com/forms/d/e/1FAIpQLSfmLeVWnxmsCbPoI_UF2jyRcn73WRGWCVPHzerXb4Cz97X_Ag/viewform tiếng Anh], [https://docs.google.com/forms/d/e/1FAIpQLSd6rzr4XXQw8r4024fE3geTPFe13M_6w7Mitj-YJi0sOlWTAw/viewform?usp=header tiếng Ả Rập], [https://docs.google.com/forms/d/e/1FAIpQLSdok3-RfB18lcugYTUMGkpwmqG_8p760Wv4dCXitOXOszjUDw/viewform?usp=header tiếng Bengali], [https://docs.google.com/forms/d/e/1FAIpQLSfjTfYp4jEo0akA4B1e-Nfg3QZPCudUjhJzHzzDi6AHyAaMGA/viewform?usp=header tiếng Nhật], [https://docs.google.com/forms/d/e/1FAIpQLScteVoI29Aue4xc72dekk-6RYtvmMgQxzMI900UOawrFrSTWg/viewform?usp=header tiếng Bồ Đào Nha], [https://docs.google.com/forms/d/e/1FAIpQLSetdxnYwL3ub2vqA7awCg5hJZPMIYcDPaiTe12rY9h0GYnVlw/viewform?usp=header tiếng Ba Tư] và [https://docs.google.com/forms/d/e/1FAIpQLScNvfJF-Ot-4pzA4qAN771_0QDJ4Li19YcUsaTgSKW8Nc7U_Q/viewform?usp=header tiếng Thổ Nhĩ Kỳ]. Phản hồi của bạn sẽ giúp nhóm tùy chỉnh hướng dẫn cho các biên tập viên ít kinh nghiệm hơn và giúp họ tìm hiểu các chính sách và thực tiễn của cộng đồng khi tạo bài viết. Tìm hiểu thêm [[mw:Special:MyLanguage/Article guidance|trên trang dự án]]. '''''[[m:Special:MyLanguage/Tech/News|Tin tức Kỹ thuật]]''' do [[m:Special:MyLanguage/Tech/News/Writers|các biên tập viên Bản tin Kỹ thuật]] chuẩn bị và được đăng bởi [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]]&nbsp;• [[m:Special:MyLanguage/Tech/News#contribute|Đóng góp]]&nbsp;• [[m:Special:MyLanguage/Tech/News/2026/11|Biên dịch]]&nbsp;• [[m:Tech|Nhờ giúp đỡ]]&nbsp;• [[m:Talk:Tech/News|Phản hồi]]&nbsp;• [[m:Global message delivery/Targets/Tech ambassadors|Đăng ký hoặc huỷ đăng ký]].'' </div><section end="technews-2026-W11"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 18:53, ngày 9 tháng 3 năm 2026 (UTC) <!-- Tin nhắn của Thành viên:STei (WMF)@metawiki gửi cho mọi người trong danh sách tại https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=30213008 --> == Bản tin Kỹ thuật: Tuần 12-2026 == <section begin="technews-2026-W12"/><div class="plainlinks"> '''[[m:Special:MyLanguage/Tech/News|Tin tức kỹ thuật]]''' mới nhất từ cộng đồng kỹ thuật Wikimedia. Vui lòng chia sẻ với các thành viên khác về những thay đổi này. Không phải mọi thay đổi đều sẽ ảnh hưởng đến bạn. [[m:Special:MyLanguage/Tech/News/2026/12|Các bản dịch]] của bản tin này cũng có sẵn cho bạn. '''Cập nhật cho biên tập viên''' * Tính năng beta [[mw:Special:MyLanguage/Help:Extension:CodeMirror|{{int:codemirror-beta-feature-title}}]], còn được biết đến với tên [[mw:Special:MyLanguage/Extension:CodeMirror|CodeMirror 6]], được sử dụng để tô sáng cú pháp mã wiki kể từ tháng 11 năm 2024. Tính năng này sẽ chính thức kết thúc giai đoạn thử nghiệm beta vào tháng 5 năm 2026 nhằm đưa những cải tiến và [[mw:Special:MyLanguage/Help:Extension:CodeMirror#Features|tính năng]] mới cho tất cả biên tập viên sử dụng trình tô sáng cú pháp tiêu chuẩn. Nếu bạn có bất kỳ câu hỏi hoặc thắc mắc nào về việc kết thúc giai đoạn thử nghiệm beta cho tính năng này, [[mw:Special:MyLanguage/Help talk:Extension:CodeMirror|vui lòng chia sẻ với chúng tôi]]. [https://phabricator.wikimedia.org/T259059] * Một số thay đổi đối với quyền nhóm người dùng cục bộ được tiếp viên trên Meta-Wiki thực hiện và nhật trình về những thay đổi này chỉ được ghi lại trên đó. Giờ đây, thay đổi về quyền liên wiki sẽ được ghi lại trên cả Meta-Wiki và wiki của người dùng mục tiêu để giúp dễ dàng truy cập vào toàn bộ bản ghi thay đổi quyền người dùng trên wiki cục bộ hơn. Những mục nhật trình trước đây về những thay đổi này sẽ được cập nhật trong những tuần tiếp theo. [https://phabricator.wikimedia.org/T6055] * Trên các wiki sử dụng [[m:Special:MyLanguage/Flagged Revisions|Thay đổi Được gắn cờ (Flagged Revisions)]], số lượng thay đổi đang chờ được hiển thị trên [[{{#Special:PendingChanges}}]] trước đây tính cả những trang mà không còn ở trong trạng thái đang chờ xem xét, do chúng đã bị xóa khỏi hệ thống mà không được xem xét lại, v.d. do bị xóa, được di chuyển sang không gian tên khác, hoặc do thay đổi cấu hình wiki. Bộ đếm giờ sẽ được hiển thị chính xác. Trên một số wiki số lượng thay đổi được hiển thị sẽ nhỏ hơn nhiều so với trước đây. Bản thân danh sách các trang sẽ không có thay đổi gì. [https://phabricator.wikimedia.org/T413016] * Ngôn ngữ soạn thảo của Wikifunctions đã được viết lại, tạo ra một phiên bản mới của ngôn ngữ này. Thay đổi này nhằm mục đích tăng cường tính ổn định của dịch vụ bằng cách giảm mức tiêu thụ bộ nhớ của trình điều phối. Việc viết lại này cũng giúp cho phép giảm đáng kể độ trễ, đơn giản hóa mã nguồn và tạo ra các lớp trừu tượng tốt hơn, nhằm mở ra cơ hội bổ sung thêm các tính năng khác trong tương lai. Đọc thêm về [[f:Special:MyLanguage/Wikifunctions:Status updates/2026-03-11|các thay đổi này]]. * Người dùng nay có thể sắp xếp kết quả tìm kiếm theo thứ tự bảng chữ cái dựa trên tiêu đề trang. Lần cập nhật này cung cấp thêm một tùy chọn giúp cho việc tìm kiếm trang trở nên dễ dàng và nhanh chóng hơn. Trước đây, kết quả có thể được sắp xếp theo Ngày sửa đổi, Ngày tạo, hoặc Mức độ liên quan. Để sử dụng tùy chọn mới này, hãy mở 'Tìm kiếm nâng cao' trên trang kết quả tìm kiếm và chọn 'Thứ tự bảng chữ cái' trong mục 'Thứ tự sắp xếp'. [https://phabricator.wikimedia.org/T403775] * [[File:Reload icon with two arrows.svg|12px|link=|class=skin-invert|Đề mục định kỳ]] Xem tất cả {{formatnum:28}} {{PLURAL:28|tác vụ}} được tạo bởi cộng đồng đã được [[m:Special:MyLanguage/Tech/News/Recently resolved community tasks|giải quyết vào tuần trước]]. Ví dụ, một lỗi khiến cho Trình tải lên tập tin (UploadWizard) trên Wikimedia Commons không thể nhập tập tin từ Flickr nay đã được giải quyết. [https://phabricator.wikimedia.org/T419263] '''Cập nhật cho những người đóng góp vào mảng kỹ thuật''' * Một trang đặc biệt mới, [[{{#special:LintTemplateErrors}}]], đã được tạo ra để liệt kê các trang nhúng được đánh dấu là chứa lỗi lint để giúp người dùng dễ dàng phát hiện chúng hơn. Danh sách được sắp xếp theo số lượng các trang được nhúng mà có lỗi. Ví dụ: [[{{#special:LintTemplateErrors}}/night-mode-unaware-background-color]]. [https://phabricator.wikimedia.org/T170874] * Người dùng tính năng beta [[mw:Special:MyLanguage/Help:Extension:CodeMirror|{{int:codemirror-beta-feature-title}}]] hiện đang sử dụng [[mw:Special:MyLanguage/Extension:CodeMirror|CodeMirror]] thay vì [[mw:Special:MyLanguage/Extension:CodeEditor|CodeEditor]] để tô sáng cú pháp khi sửa đổi các trang nội dung JavaScript, CSS, JSON, Vue và Lua, trong một khoảng thời gian. Cùng với việc kết thúc thử nghiệm beta cho CodeMirror 6, kế hoạch là thay thế CodeEditor để trở thành trình soạn thảo tiêu chuẩn cho những kiểu nội dung này vào tháng 5 năm 2026. [[mw:Special:MyLanguage/Help talk:Extension:CodeMirror|Mọi phản hồi hoặc ý kiến đóng góp đều được hoan nghênh]]. [https://phabricator.wikimedia.org/T419332] * Các mô đun JavaScript cho [[mw:Special:MyLanguage/Extension:CodeMirror|CodeMirror]] JavaScript sẽ sớm được nâng cấp lên CodeMirror 6. Trước thời điểm nâng cấp này, việc tải các mô đun <code dir=ltr>ext.CodeMirror</code> hoặc <code dir=ltr>ext.CodeMirror.lib</code> từ các tiện ích và đoạn mã người dùng đã bị loại bỏ vào tháng 7 năm 2025. Việc sử dụng hook <code dir=ltr>ext.CodeMirror.switch</code> cũng đã bị loại bỏ vào tháng 3 năm 2025. Những người đóng góp nay có thể làm cho các đoạn mã hoặc tiện ích của mình tương thích với CodeMirror 6. Xem [[mw:Special:MyLanguage/Extension:CodeMirror#Gadgets and user scripts|hướng dẫn chuyển đổi]] để biết thêm thông tin. [https://phabricator.wikimedia.org/T373720] * Nhóm Giao diện MediaWiki đang mở rộng phạm vi định nghĩa mô đun API REST để bao gồm cả [[mw:Special:MyLanguage/API:REST API/Extensions|các API mở rộng]]. Mô đun API REST là nhóm các điểm cuối có liên quan mà có thể được quản lý và đánh phiên bản độc lập. Hiện đã có các mô đun cho API [https://phabricator.wikimedia.org/T414470 GrowthExperiments] và [https://phabricator.wikimedia.org/T419053 Wikifunctions]. Khi chúng tôi chuyển đổi các API mở rộng sang cấu trúc này, tài liệu sẽ được chuyển ra khỏi phần đặc tả chính cho OpenAPI của MediaWiki cùng chế độ xem REST Sandbox, và thay vào đó sẽ có thể truy cập được thông qua tùy chọn dành riêng cho mô đun trong menu thả xuống trên [https://test.wikipedia.org/wiki/Special:RestSandbox REST Sandbox] (nghĩa là, [[{{#Special:RestSandbox}}]], có sẵn trên tất cả các dự án wiki). * Phần mở rộng [[mw:Special:MyLanguage/Extension:Scribunto|Scribunto]] cung cấp nhiều thông tin khác nhau về wiki nơi mô đun đang được sử dụng thông qua thư viện [[mw:Special:MyLanguage/Extension:Scribunto/Lua reference manual|mw.site]]. Kể từ tuần trước, thư viện này cũng cung cấp một [[mw:Special:MyLanguage/Extension:Scribunto/Lua reference manual#mw.site.wikiId|cách]] truy cập [[mw:Special:MyLanguage/Manual:Wiki ID|ID của wiki]] có thể được sử dụng để hỗ trợ bảo trì mô đun liên wiki. [https://phabricator.wikimedia.org/T146616] * [[File:Reload icon with two arrows.svg|12px|link=|class=skin-invert|Đề mục định kỳ]] Chi tiết cập nhật mã nguồn sắp tới trong tuần này: [[mw:MediaWiki 1.46/wmf.20|MediaWiki]] '''Chuyên sâu''' * [[m:Special:MyLanguage/Coolest Tool Award|Giải thưởng Công cụ Tuyệt vời nhất năm 2026]] nhằm tôn vinh những công cụ xuất sắc do cộng đồng tạo ra, nay đã mở nhận đề cử! Hãy đề cử công cụ yêu thích của bạn bằng cách sử dụng biểu mẫu [https://wikimediafoundation.limesurvey.net/435684?lang=en khảo sát đề cử] trước ngày 23 tháng 3 năm 2026. Để biết thêm thông tin về quyền riêng tư và xử lý dữ liệu, vui lòng xem [[foundation:Special:MyLanguage/Legal:Coolest_Tool_Award_2026_Survey_Privacy_Statement|tuyên bố về quyền riêng tư của khảo sát]]. '''''[[m:Special:MyLanguage/Tech/News|Tin tức Kỹ thuật]]''' do [[m:Special:MyLanguage/Tech/News/Writers|các biên tập viên Bản tin Kỹ thuật]] chuẩn bị và được đăng bởi [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]]&nbsp;• [[m:Special:MyLanguage/Tech/News#contribute|Đóng góp]]&nbsp;• [[m:Special:MyLanguage/Tech/News/2026/12|Biên dịch]]&nbsp;• [[m:Tech|Nhờ giúp đỡ]]&nbsp;• [[m:Talk:Tech/News|Phản hồi]]&nbsp;• [[m:Global message delivery/Targets/Tech ambassadors|Đăng ký hoặc huỷ đăng ký]].'' </div><section end="technews-2026-W12"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 19:35, ngày 16 tháng 3 năm 2026 (UTC) <!-- Tin nhắn của Thành viên:STei (WMF)@metawiki gửi cho mọi người trong danh sách tại https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=30260505 --> == Bản tin Kỹ thuật: Tuần 13-2026 == <section begin="technews-2026-W13"/><div class="plainlinks"> '''[[m:Special:MyLanguage/Tech/News|Tin tức kỹ thuật]]''' mới nhất từ cộng đồng kỹ thuật Wikimedia. Vui lòng chia sẻ với các thành viên khác về những thay đổi này. Không phải mọi thay đổi đều sẽ ảnh hưởng đến bạn. [[m:Special:MyLanguage/Tech/News/2026/13|Các bản dịch]] của bản tin này cũng có sẵn cho bạn. '''Nổi bật trong tuần''' * Người dùng các trang Wikimedia nay có thể đăng nhập mà không cần mật khẩu bằng cách sử dụng khóa truy cập (passkey). Đây là một phương thức bảo mật sử dụng vân tay, nhận diện khuôn mặt hoặc mã PIN. Với thay đổi này, tất cả người dùng chọn đăng nhập không cần mật khẩu sẽ có thể đăng nhập vào tài khoản của mình một cách dễ dàng, nhanh chóng và an toàn hơn trên mọi thiết bị. Tùy chọn đăng nhập mới bằng khóa truy cập hiện hiển thị dưới dạng gợi ý tự động điền trong trường tên người dùng. [[phab:T417120|Nút "Đăng nhập bằng khóa truy cập"]] bổ sung sẽ sớm được cung cấp cho những người dùng đã bật tùy chọn sử dụng khóa truy cập. Lần cập nhật này sẽ cải thiện bảo mật cũng như trải nghiệm người dùng. [[c:File:Passwordless_login_screencast.webm|Bản ghi lại màn hình]] này sẽ minh họa từng bước quy trình đăng nhập không cần mật khẩu. * [[m:Special:MyLanguage/Tech/Server switch|Tất cả các wiki sẽ chuyển sang chế độ chỉ đọc trong vòng vài phút]] vào thứ 4, ngày 25 tháng 3 năm 2026 lúc [https://zonestamp.toolforge.org/1774450800 15:00 UTC]. Điều này là nhằm phục vụ cho việc thử nghiệm chuyển đổi máy chủ cơ sở dữ liệu dự phòng, [[wikitech:Deployments/Yearly calendar|diễn ra hai lần trong một năm]]. Trong quá trình chuyển đổi này, toàn bộ lưu lượng trên các trang web của Wikimedia được chuyển từ trung tâm dữ liệu chính sang trung tâm dữ liệu dự phòng nhằm kiểm tra tính khả dụng và ngăn ngừa việc gián đoạn dịch vụ ngay cả trong những trường hợp khẩn cấp. '''Cập nhật cho biên tập viên''' * Người dùng các trang web của Wikimedia nay có thể xuất các thông báo cách đây hơn 5 năm của mình bằng cách sử dụng [[toolforge:echo-chamber|công cụ Toolforge mới]]. Điều này sẽ đảm bảo rằng người dùng có thể giữ lại được những thông báo quan trọng và tránh bị mất chúng do việc thay đổi theo kế hoạch nhằm xóa đi các thông báo cũ hơn 5 năm, như đã thông báo trước đó. [https://phabricator.wikimedia.org/T383948] * Các biên tập viên Wikipedia tiếng Indonesia, tiếng Thái, tiếng Thổ Nhĩ Kỳ, và tiếng Anh Đơn giản nay có thể truy cập vào Đặc biệt:Bảng điều khiển cá nhân. Đây là [[mw:Special:MyLanguage/Moderator Tools/Dashboard|phiên bản trải nghiệm sớm]] giúp các biên tập viên mới làm quen với quy trình tuần tra, giúp họ dễ dàng chuyển từ việc sửa đổi sang tham gia vào những công việc kiểm duyệt nâng cao hơn trên dự án của mình. [https://phabricator.wikimedia.org/T402647] * Trang [[vi:Special:Block|Đặc_biệt:Cấm]] nay có hai thay đổi nhỏ về mặt giao diện. Bảo quản viên nay có thể dễ dàng thực hiện lệnh cấm vô hạn thông qua nút chọn (nút radio) chuyên dụng trong mục thời hạn. Ngoài ra, việc chọn thời hạn là vô hạn sẽ cung cấp một bộ lý do phổ biến khác để lựa chọn, nó có thể được thay đổi tại: [[MediaWiki:Ipbreason-indef-dropdown]]. [https://phabricator.wikimedia.org/T401823] * Biên tập viên sử dụng thiết bị di động [[mw:Special:MyLanguage/Contributors/Account Creation Experiments#Logged-out|tại một số wiki]] nay có thể nhìn thấy cải tiến về cảnh báo sửa đổi khi chưa đăng nhập, điều này là nhờ cập nhật gần đây từ nhóm Phát triển. Những thay đổi được phát hành vào tuần trước này là một phần trong những nỗ lực và thử nghiệm đang được thực hiện nhằm nâng cao [[mw:Special:MyLanguage/Contributors/Account Creation Experiments|trải nghiệm trong việc tạo tài khoản trên thiết bị di động]] và từ đó giúp tăng cường sự tham gia của họ. [https://phabricator.wikimedia.org/T408484] * [[File:Reload icon with two arrows.svg|12px|link=|class=skin-invert|Đề mục định kỳ]] Xem tất cả {{formatnum:36}} {{PLURAL:36|tác vụ}} được tạo bởi cộng đồng đã được [[m:Special:MyLanguage/Tech/News/Recently resolved community tasks|giải quyết vào tuần trước]]. Ví dụ, một lỗi khiến người dùng web trên thiết bị di động không thể nhìn thấy thông tin cấm khi có nhiều lệnh cấm đồng thời được áp dụng đã được giải quyết. Họ giờ có thể xem được tin nhắn cho tất cả các lệnh cấm hiện đang được áp dụng cho họ khi họ truy cập Wikipedia. '''Cập nhật cho những người đóng góp vào mảng kỹ thuật''' * Những image (ảnh) được dựng bằng Toolforge sẽ sớm được nâng cấp lên phiên bản buildpack mới, mang đến việc hỗ trợ các phiên bản ngôn ngữ mới hơn cùng những cải tiến và sửa lỗi khác tại thượng nguồn. Nếu bạn sử dụng Dịch vụ Dựng của Toolforge, hãy xem lại [https://lists.wikimedia.org/hyperkitty/list/cloud-announce@lists.wikimedia.org/thread/EMYTA32EV2V5SQ2JIEOD2CL66YFIZEKV/ email cloud-announce] gần đây và cập nhật cấu hình bản dựng của bạn nếu cần để đảm bảo các công cụ của bạn tương thích với phiên bản mới này. [https://wikitech.wikimedia.org/w/index.php?title=Help:Toolforge/Building_container_images&oldid=2392097#Buildpack_environment_upgrade_process][https://phabricator.wikimedia.org/T380127] * Wiki tài liệu [https://api.wikimedia.org/wiki/Main_Page Cổng API] sẽ ngừng hoạt động vào tháng 6 năm 2026. Các khóa API được tạo trên Cổng API sẽ tiếp tục hoạt động bình thường. Các điểm cuối của api.wikimedia.org sẽ dần bị loại bỏ bắt đầu từ tháng 7 năm 2026. Tài liệu trên Cổng API đang được chuyển sang [[mw:Wikimedia APIs|mediawiki.org]]. Tìm hiểu thêm trên [[wikitech:API Portal/Deprecation|trang dự án]]. * [[File:Reload icon with two arrows.svg|12px|link=|class=skin-invert|Đề mục định kỳ]] Chi tiết cập nhật mã nguồn sắp tới trong tuần này: [[mw:MediaWiki 1.46/wmf.21|MediaWiki]] '''Chuyên sâu''' * [[m:Special:MyLanguage/WMDE Technical Wishes|Nhóm Mong muốn – Kỹ thuật của WMDE]] đang xem xét cải tiến [[m:WMDE Technical Wishes/References/VisualEditor automatic reference names|tên chú thích được tạo tự động trong Trình Soạn thảo Trực quan (VisualEditor)]]. Vui lòng xem qua [[m:WMDE Technical Wishes/References/VisualEditor automatic reference names#Proposed solutions|những giải pháp được đề xuất]] và tham gia vào [[m:Talk:WMDE Technical Wishes/References/VisualEditor automatic reference names#Request for comment|thảo luận này]]. '''''[[m:Special:MyLanguage/Tech/News|Tin tức Kỹ thuật]]''' do [[m:Special:MyLanguage/Tech/News/Writers|các biên tập viên Bản tin Kỹ thuật]] chuẩn bị và được đăng bởi [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]]&nbsp;• [[m:Special:MyLanguage/Tech/News#contribute|Đóng góp]]&nbsp;• [[m:Special:MyLanguage/Tech/News/2026/13|Biên dịch]]&nbsp;• [[m:Tech|Nhờ giúp đỡ]]&nbsp;• [[m:Talk:Tech/News|Phản hồi]]&nbsp;• [[m:Global message delivery/Targets/Tech ambassadors|Đăng ký hoặc huỷ đăng ký]].'' </div><section end="technews-2026-W13"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 16:51, ngày 23 tháng 3 năm 2026 (UTC) <!-- Tin nhắn của Thành viên:UOzurumba (WMF)@metawiki gửi cho mọi người trong danh sách tại https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=30268305 --> == Bản tin Kỹ thuật: Tuần 14-2026 == <section begin="technews-2026-W14"/><div class="plainlinks"> '''[[m:Special:MyLanguage/Tech/News|Tin tức kỹ thuật]]''' mới nhất từ cộng đồng kỹ thuật Wikimedia. Vui lòng chia sẻ với các thành viên khác về những thay đổi này. Không phải mọi thay đổi đều sẽ ảnh hưởng đến bạn. [[m:Special:MyLanguage/Tech/News/2026/14|Các bản dịch]] của bản tin này cũng có sẵn cho bạn. '''Nổi bật trong tuần''' * Phiên bản Beta của [[abstract:|Abstract Wikipedia]] một dự án Wikimedia mới không phụ thuộc ngôn ngữ, đã được khởi động vào tuần trước. Dự án cho phép các cộng đồng xây dựng các bài viết Wikipedia bằng ngôn ngữ mẹ đẻ của họ, và các thành viên khác có thể dễ dàng truy cập các bài viết đó bằng ngôn ngữ của riêng họ. Wiki này hoạt động dựa trên chỉ dẫn từ Wikifunctions và cũng dựa trên nội dung có cấu trúc từ Wikidata. [[:f:Special:MyLanguage/Wikifunctions:Status updates/2026-03-26|Đọc thêm]]. '''Cập nhật cho biên tập viên''' * Nhóm Phát triển đang tiến hành thử nghiệm A/B để đánh giá cho một thông điệp rõ ràng hơn, thân thiện hơn với người dùng nhằm khuyến khích việc tạo tài khoản trên wiki. Hiện tại, khi người dùng di động chưa đăng nhập bắt đầu sửa đổi, họ sẽ thấy một thông báo cảnh báo khó chịu, có thể khiến cho họ có cảm giác đột ngột và nản lòng. Điều này cũng làm cho việc sửa đổi bằng tài khoản tạm thời trở thành mặc định thay vì khuyến khích việc tạo tài khoản. Thử nghiệm đang được thực hiện trên mười trang Wikipedia, bao gồm tiếng Ả Rập, tiếng Pháp, tiếng Tây Ban Nha và tiếng Đức. [[mw:Special:MyLanguage/Contributors/Account Creation Experiments#2. Improve logged-out warning message (T415160)|Đọc thêm]]. * Nhóm Ứng dụng Wikimedia đang mời mọi người đóng góp ý kiến về [[mw:Special:MyLanguage/Wikimedia Apps/Team/Future of Editing on the Mobile Apps|việc sửa đổi trên ứng dụng Wikipedia dành cho thiết bị di động nên hoạt động như thế nào]]. Thảo luận tập trung vào việc cải thiện cách người dùng truy cập công cụ sửa đổi khi họ nhấn vào nút "Sửa đổi". Đây là một phần trong nỗ lực rộng lớn hơn nhằm chuyển đổi những người đọc mà có hứng thú với việc sửa đổi sang một con đường thân thiện hơn với người dùng để có thể bắt đầu đóng góp. * [[File:Reload icon with two arrows.svg|12px|link=|class=skin-invert|Đề mục định kỳ]] Xem tất cả {{formatnum:45}} {{PLURAL:45|tác vụ}} được tạo bởi cộng đồng đã được [[m:Special:MyLanguage/Tech/News/Recently resolved community tasks|giải quyết vào tuần trước]]. Ví dụ, một sự cố khiến việc lấy chú thích từ kho lưu trữ báo chí lớn [https://www.newspapers.com Newspapers.com] không còn hoạt động, do bị chặn trong các yêu cầu của [[mw:Special:MyLanguage/Citoid|Citoid]], nay đã được khắc phục. [https://phabricator.wikimedia.org/T419903] '''Cập nhật cho những người đóng góp vào mảng kỹ thuật''' * [[File:Reload icon with two arrows.svg|12px|link=|class=skin-invert|Đề mục định kỳ]] Chi tiết cập nhật mã nguồn sắp tới trong tuần này: [[mw:MediaWiki 1.46/wmf.22|MediaWiki]] '''''[[m:Special:MyLanguage/Tech/News|Tin tức Kỹ thuật]]''' do [[m:Special:MyLanguage/Tech/News/Writers|các biên tập viên Bản tin Kỹ thuật]] chuẩn bị và được đăng bởi [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]]&nbsp;• [[m:Special:MyLanguage/Tech/News#contribute|Đóng góp]]&nbsp;• [[m:Special:MyLanguage/Tech/News/2026/14|Biên dịch]]&nbsp;• [[m:Tech|Nhờ giúp đỡ]]&nbsp;• [[m:Talk:Tech/News|Phản hồi]]&nbsp;• [[m:Global message delivery/Targets/Tech ambassadors|Đăng ký hoặc huỷ đăng ký]].'' </div><section end="technews-2026-W14"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 19:25, ngày 30 tháng 3 năm 2026 (UTC) <!-- Tin nhắn của Thành viên:STei (WMF)@metawiki gửi cho mọi người trong danh sách tại https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=30329462 --> 59sne80biwrl1fb9xcm8n3l70w8s0ff mused 0 123344 2341442 1877334 2026-03-31T03:50:27Z Apisite 39795 + Volapük 2341442 wikitext text/x-wiki {{-eng-}} {{-verb-}} '''mused''' # {{past of|[[muse]]}} {{-forms-}} {{eng-verb|base=muse|mus|ing}} {{-adj-}} '''mused''' # [[mơ|Mơ]] [[mơ màng]] [[màng]]. # [[lơ|Lơ]] đễnh, đãng [[trí]], [[vô]] ý. # [[luống cuống|Luống cuống]], [[ngượng]] [[ngiụ]]. # [[kinh ngạc|Kinh ngạc]], [[sửng sốt]], [[bối rối]]. {{-ref-}} {{R:FVDP|db=en}} [[Thể loại:Tính từ tiếng Anh]] [[Thể loại:Động từ tiếng Anh]] =={{langname|vo}}== ==={{đm|noun}}=== {{vo-noun}} # [[viện bảo tàng|Viện bảo tàng]], nhà [[bảo tàng]]. ===={{đm|decl}}==== {{vo-decl-noun}} 25x14f7ekkv1fwfcuk91h910wqsy2db curricular 0 158390 2341402 2150640 2026-03-30T13:51:26Z Hiyuune 50834 2341402 wikitext text/x-wiki =={{langname|en}}== ==={{section|etym}}=== Từ {{affix|en|curriculum|-ar|id2=tính từ}}.<ref>{{R:Merriam-Webster Online}}</ref> ==={{section|pron}}=== * {{IPA4|en|/kəˈɹɪk.jə.lə/|/kɜːɹˈɪk.juː.lə/|a=RP}} * {{IPA4|en|/kəˈɹɪkjəlɚ/|/kɚˈɪkjəlɚ/|a=GenAm}} * {{audio|en|LL-Q1860 (eng)-Flame, not lame-curricular.wav|a=US}} * {{rhymes|en|ɪkjʊlə(ɹ)|s=4}} ==={{section|adj}}=== {{en-adj|-}} # Liên quan đến [[chương trình]] học, theo chương trình học, chương trình [[giảng dạy]]. ===={{section|drv}}==== {{col|en|cross-curricular|curricularize|intercurricular|intracurricular|precurricular|extracurricular|cocurricular|multicurricular|noncurricular|supercurricular}} ==={{section|ref}}=== <references/> * {{R:FVDP|db=ev}} =={{langname|ca}}== ==={{section|adj}}=== * {{ca-IPA|[a(rr)]}}<!-- theo GDLC --> ==={{section|adj}}=== {{ca-adj}} # Liên quan đến [[chương trình]] học, theo chương trình học, chương trình [[giảng dạy]]. ==={{section|further}}=== * {{R:ca:IEC2}} * {{R:ca:GDLC}} * {{R:ca:DNV}} hvwmx9u1drgo7783hbnvlslrakqc3ey uncountable 0 160930 2341400 2161955 2026-03-30T13:48:17Z Hiyuune 50834 2341400 wikitext text/x-wiki =={{langname|en}}== ==={{section|etym}}=== Từ {{affix|en|un-|countable|id1=phủ định}}. ==={{section|pron}}=== * {{IPA4|en|/ʌnˈkaʊntəbl̩/}} * {{audio|en|LL-Q1860 (eng)-Vealhurl-uncountable.wav|a=Southern England}} ==={{section|adj}}=== {{en-adj|-}} # Không đếm được, không [[tính]] được, [[vô kể]], [[vô số]]. ==={{section|ref}}=== * {{R:FVDP|db=ev}} 2l7z1cmdu6jiefcfsvrsitpu028w7cx 2341401 2341400 2026-03-30T13:48:46Z Hiyuune 50834 2341401 wikitext text/x-wiki =={{langname|en}}== ==={{section|etym}}=== Từ {{affix|en|un-|countable|id1=phủ định}}. ==={{section|pron}}=== * {{IPA4|en|/ʌnˈkaʊntəbl̩/}} * {{audio|en|LL-Q1860 (eng)-Vealhurl-uncountable.wav|a=Southern England}} ==={{section|adj}}=== {{en-adj|-}} # Không đếm được, không [[tính]] được, [[vô kể]], [[vô số]]. ===={{section|drv}}==== {{col3|en |uncountable noun |uncountable set |uncountably |uncountability }} ==={{section|ref}}=== * {{R:FVDP|db=ev}} fq2hj0va5gzf0gi9fk9h3p2k252gliv threefold 0 161972 2341398 2058213 2026-03-30T13:46:07Z Hiyuune 50834 2341398 wikitext text/x-wiki =={{langname|en}}== {{number box|en|3}} ==={{section|alt}}=== * {{alter|en|three-fold|3-fold}} ==={{section|etym}}=== Từ {{inh|en|enm|threfold}}, từ {{inh|en|ang|þrīfeald}}. Tương đương từ {{suffix|en|three|fold}}. ==={{section|pron}}=== * {{audio|en|En-us-threefold.ogg|a=US}} ==={{section|adj}}=== {{en-adj|-}} # [[gấp|Gấp]] [[ba]], [[ba]] [[lần]]. ===={{section|drv}}==== {{col|en|thick and threefold|threefold law}} ==={{section|ref}}=== * {{R:FVDP|db=ev}} 5untd6sk5cjozxt378dccy1h5upibnw peridermal 0 162295 2341394 2087601 2026-03-30T13:12:56Z Hiyuune 50834 2341394 wikitext text/x-wiki =={{langname|en}}== ==={{section|etym}}=== Từ {{prefix|en|peri|dermal}}. ==={{section|adj}}=== {{en-adj|-}} # {{lb|en|anatomy}} Liên quan đến [[chu]] [[bì]]. ==={{section|ref}}=== * {{R:FVDP|db=ev}} 8zo08p50axkfyh5sxio76dgivb5u2l2 puberal 0 163078 2341393 2152950 2026-03-30T13:11:15Z Hiyuune 50834 2341393 wikitext text/x-wiki =={{langname|en}}== ==={{section|adj}}=== {{en-adj|-}} # {{synonym of|en|pubertal}} ==={{section|ref}}=== * {{R:FVDP|db=ev}} fmaor1xsiqqsnri1pyyz4eo86zd0drz astrometric 0 165213 2341391 2053650 2026-03-30T13:06:27Z Hiyuune 50834 2341391 wikitext text/x-wiki =={{langname|en}}== ==={{section|etym}}=== Từ {{confix|en|astro|metric}}. ==={{section|pron}}=== * {{IPA4|en|/ˌastɹəʊˈmɛtɹɪk/|a=UK}} * {{IPA4|en|/ˌastɹəˈmɛtɹɪk/|a=US}} * {{audio|en|LL-Q1860 (eng)-Flame, not lame-astrometric.wav|a=US}} ==={{section|adj}}=== {{head|en|adjective}} # {{lb|en|Tính từ}} [[trắc lượng|Trắc lượng]] học [[thiên thể]]. ===={{section|drv}}==== {{col|en|astrometrically|spectroastrometric}} ===={{section|rel}}==== * {{l|en|astrometry}} * {{l|en|astrometrician}} ==={{section|ref}}=== * {{R:FVDP|db=ev}} ==={{section|ana}}=== * {{anagrams|en|a=aceimorrstt|meritocrats|semi-tractor|semitractor}} =={{langname|ro}}== ==={{section|etym}}=== {{bor+|ro|fr|astrometric}}. ==={{section|adj}}=== {{ro-adj}} # {{lb|ro|astronomy}} [[trắc lượng|Trắc lượng]] học [[thiên thể]]. ===={{section|decl}}==== {{ro-decl-adj}} 7q55zemqmxscupcu8l1wxjvvr3qf4gz 2341392 2341391 2026-03-30T13:06:52Z Hiyuune 50834 /* {{section|adj}} */ 2341392 wikitext text/x-wiki =={{langname|en}}== ==={{section|etym}}=== Từ {{confix|en|astro|metric}}. ==={{section|pron}}=== * {{IPA4|en|/ˌastɹəʊˈmɛtɹɪk/|a=UK}} * {{IPA4|en|/ˌastɹəˈmɛtɹɪk/|a=US}} * {{audio|en|LL-Q1860 (eng)-Flame, not lame-astrometric.wav|a=US}} ==={{section|adj}}=== {{head|en|Tính từ}} # {{lb|en|astronomy}} [[trắc lượng|Trắc lượng]] học [[thiên thể]]. ===={{section|drv}}==== {{col|en|astrometrically|spectroastrometric}} ===={{section|rel}}==== * {{l|en|astrometry}} * {{l|en|astrometrician}} ==={{section|ref}}=== * {{R:FVDP|db=ev}} ==={{section|ana}}=== * {{anagrams|en|a=aceimorrstt|meritocrats|semi-tractor|semitractor}} =={{langname|ro}}== ==={{section|etym}}=== {{bor+|ro|fr|astrometric}}. ==={{section|adj}}=== {{ro-adj}} # {{lb|ro|astronomy}} [[trắc lượng|Trắc lượng]] học [[thiên thể]]. ===={{section|decl}}==== {{ro-decl-adj}} 4wvfptbgrmgwst27tw8enlyldiux70k unwithered 0 166199 2341390 2074407 2026-03-30T13:01:11Z Hiyuune 50834 2341390 wikitext text/x-wiki =={{langname|en}}== ==={{section|etym}}=== Từ {{affix|en|un-|withered}}. ==={{section|adj}}=== {{en-adj|-}} # Không bị [[héo]]. # Không [[héo hắt]] đi. # {{term|Nghĩa bóng}} Không bị áp đo, không bị làm cho [[bàng hoàng]]. ==={{section|ref}}=== * {{R:FVDP|db=ev}} ==={{section|ana}}=== * {{anagrams|en|a=deehinrtuw|wheredunit}} azwimtiufeuyovcpr8mr4cpnpf6w3xr tomato 0 168679 2341545 2326005 2026-03-31T08:38:15Z Apisite 39795 2341545 wikitext text/x-wiki {{-eng-}} [[Hình:Tomato.jpg|thumb|tomato]] {{-pron-}} {{pron-audio|place=Anh|file=En-uk-tomato.ogg|pron=tə.ˈmɑː.təʊ}} {{pron-audio|place=Hoa Kỳ (California)|file=En-us-tomato.ogg|pron=tə.ˈmeɪ.ɾoʊ}} {{pron-audio|place=Úc|file=En-au-tomato.ogg|pron=tə.ˈmaː.təʉ}} {{-noun-}} '''tomato''' {{IPA|/tə.ˈmɑː.təʊ/}} {{plur}} tomatoes # {{term|Thực vật học}} [[cây|Cây]] [[cà chua]]. # [[quả|Quả]] [[cà chua]]. #: '''''tomato''' sauce'' — nước xốt cà chua {{-ref-}} {{R:FVDP}} [[Thể loại:Danh từ tiếng Anh]] =={{langname|ycr}}== ==={{ĐM|etym}}=== Từ {{derived|ycr|ja|トマト|tr=tomato}}, từ {{derived|ycr|en|tomato}}. ==={{ĐM|noun}}=== {{head|ycr|Danh từ}} # [[cà chua]]. ==={{ĐM|ref}}=== * {{R:ycr:sound substitution}} 6j2rh293sm64nrk4vz3vjo6ruvwkr39 triglyphical 0 170148 2341389 2142520 2026-03-30T12:58:30Z Hiyuune 50834 2341389 wikitext text/x-wiki =={{langname|en}}== ==={{section|adj}}=== {{en-adj|-}} # {{synonym of|en|triglyphic}} ==={{section|ref}}=== * {{R:FVDP|db=ev}} ieqswr5ym9teh9r2bvptam0m7es7knk tomat 0 189732 2341546 1931497 2026-03-31T08:38:57Z Apisite 39795 + Volapük 2341546 wikitext text/x-wiki {{-nor-}} {{-noun-}} {{nor-noun|word=tomat|root=tomat|defsg=tomat|indefsg=tomaten|defpl=tomater|indefpl=tomatene}} '''tomat''' {{m}} # [[cà chua|Cà chua]], [[cà]] [[tô-mát]]. #: '''''Tomater''' dyrkes mye i drivhus. # [[nước xốt|Nước xốt]] [[cà chua]]. #: ''sardiner i '''tomat''' {{-drv-}} * (1) [[tomatketchup]] {{m}}: [[xốt|Xốt]] [[cà chua]]. * (1) [[tomatpuré]] {{m}}: [[cà chua|Cà chua]] [[nghiền]] đóng [[hộp]]. {{-ref-}} {{R:FVDP}} [[Thể loại:Danh từ tiếng Na Uy]] =={{langname|vo}}== ==={{đm|noun}}=== {{vo-noun}} # [[quả|Quả]] [[cà chua]]. ===={{đm|decl}}==== {{vo-decl-noun}} g14zuxgznc0d7uxajp6br5p49b9khzw 2341569 2341546 2026-03-31T11:12:11Z Hiyuune 50834 2341569 wikitext text/x-wiki {{also|Tomat}} =={{langname|ca}}== ==={{đm|participle}}=== {{ca-pp}} # {{past participle of|ca|tomar}} =={{langname|vo}}== ==={{đm|noun}}=== {{vo-noun}} # [[quả|Quả]] [[cà chua]]. ===={{đm|decl}}==== {{vo-decl-noun}} jr7obvxvige355u8frlelcrc9wa5ya1 tịnh độ 0 192791 2341524 2161172 2026-03-31T08:04:21Z Hiyuune 50834 Đã lùi lại sửa đổi của [[Special:Contributions/Từ bi (maitrīkaruṇā)|Từ bi (maitrīkaruṇā)]] ([[User talk:Từ bi (maitrīkaruṇā)|thảo luận]]) quay về phiên bản cuối của [[User:Tildebot|Tildebot]] 1320588 wikitext text/x-wiki {{-vie-}} {{-pron-}} {{vie-pron|tịnh|độ}} {{-paro-}} :* [[tinh đồ]] {{-dfn-}} '''tịnh độ''' # [[cứu|Cứu]] với mọi [[loài]]. #: ''Phật '''tịnh độ''' chúng sinh.'' {{-trans-}} {{-ref-}} {{R:FVDP}} <!-- Unknown category --> lwfqf32zw5ae0wtscid0msiclotsogw 2341525 2341524 2026-03-31T08:07:14Z Hiyuune 50834 2341525 wikitext text/x-wiki =={{langname|vi}}== {{wp|vi:}} ==={{section|etym}}=== {{vi-etym-sino|淨土}}. ==={{section|pron}}=== {{vi-IPA}} ==={{section|n}}=== {{vi-noun}} # {{lb|vi|Buddhism}} [[cứu|Cứu]] với mọi [[loài]]. #: {{ux|vi|Phật '''tịnh độ''' chúng sinh.}} ===={{section|trans}}==== {{trans-top|{{pagename}}}} * {{langname|en}}: {{t+|en|pure land}} * {{langname|ja}}: {{t+|ja|浄土|tr=じょうど, jōdo}} * {{langname|ko}}: {{t+|ko|정토}} * {{langname|zh}}: *: {{langname|cmn}}: {{t+|cmn|淨土|tr=jìngtǔ}} *: {{langname|yue}}: {{t+|yue|淨土|tr=zing6 tou2}} {{trans-bottom}} ==={{section|ref}}=== * {{R:FVDP}} fzqza7v804br481jduu0zasiv2ze1d2 từ bi 0 199859 2341487 2164869 2026-03-31T07:15:14Z Hiyuune 50834 Restored revision 2002510 by [[Special:Contributions/Atcovi|Atcovi]] ([[en:w:User:BrandonXLF/Restorer|Restorer]]) 2341487 wikitext text/x-wiki {{-vie-}} {{-pron-}} {{vie-pron|từ|bi}} {{-paro-}} :* [[]] {{-noun-}} '''từ bi''' # {{term|Ph.}} . Đại [[bi]]. {{-adj-}} '''từ bi''' # [[có lòng|Có lòng]] [[yêu]] và [[thương]] [[người]] theo [[quan niệm]] của đạo [[Phật]]. #: ''Đức Phật '''từ bi'''.'' #: ''Nương nhờ cửa '''từ bi''' (cửa Phật).'' # có lòng [[vị tha]] {{-trans-}} * tiếng Anh: [[mercy]] {{-ref-}} {{R:FVDP}} [[Thể loại:Danh từ tiếng Việt]] [[Thể loại:Tính từ tiếng Việt]] ezn0zcv4mypgwfmbupzjs9uly1m7n6f 2341488 2341487 2026-03-31T07:16:28Z Hiyuune 50834 2341488 wikitext text/x-wiki =={{langname|vi}}== ==={{section|etym}}=== {{vi-etym-sino|慈悲}}. ==={{section|pron}}=== {{vi-IPA}} ==={{section|adj}}=== {{vi-adj}} # {{lb|vi|originally|Buddhism}} [[có lòng|Có lòng]] [[yêu]] và [[thương]] [[người]] theo [[quan niệm]] của đạo [[Phật]]. #: {{ux|vi|Đức Phật '''từ bi'''.}} #: {{ux|vi|Nương nhờ cửa '''từ bi''' (cửa Phật).}} ==={{section|ref}}=== * {{R:FVDP|db=ev}} fjvahbovwo3tyw6vnvlhrxgm50kmmzu 2341489 2341488 2026-03-31T07:16:42Z Hiyuune 50834 /* {{section|ref}} */ 2341489 wikitext text/x-wiki =={{langname|vi}}== ==={{section|etym}}=== {{vi-etym-sino|慈悲}}. ==={{section|pron}}=== {{vi-IPA}} ==={{section|adj}}=== {{vi-adj}} # {{lb|vi|originally|Buddhism}} [[có lòng|Có lòng]] [[yêu]] và [[thương]] [[người]] theo [[quan niệm]] của đạo [[Phật]]. #: {{ux|vi|Đức Phật '''từ bi'''.}} #: {{ux|vi|Nương nhờ cửa '''từ bi''' (cửa Phật).}} ==={{section|ref}}=== * {{R:FVDP}} 9p7wsn1vyj7uvibxeatu3c2wu8lxi1n 自动化 0 215602 2341450 1988133 2026-03-31T04:40:15Z Kelly zhrm 58416 2341450 wikitext text/x-wiki {{also|自動化}} =={{langname|zh}}== {{zh-see|自動化}} ltyrb1ettqr6zeuokwxr6vi87f1uv9o 秋天 0 215626 2341460 1987913 2026-03-31T05:37:56Z Kelly zhrm 58416 2341460 wikitext text/x-wiki =={{langname|zh}}== {{zh-forms}} ==={{đm|pron}}=== {{zh-pron |m=qiūtiān,tl=y,er=y |ma=zh-qiūtiān.ogg |dg=чю1тян2 |c=cau1 tin1 |h=pfs=chhiû-thiên |mb=chiú-tíng |mn=ml,tp,kh,lk,yl,tn,km,mg,hc,tc,ph:chhiu-thiⁿ |mn-t=ciu1 tin1 |w=sh:1chieu thi1;sz:1tsheu thie1 |mc=y |cat=n }} ==={{đm|n}}=== {{head|zh|Danh từ}} # [[mùa thu|Mùa thu]]. # {{lb|zh|literary}} [[bầu trời|Bầu trời]] [[mùa thu]]. ===={{đm|syn}}==== * {{q|văn chương}} {{zh-l|旻天}} * {{q|tiếng Triều Châu}} {{zh-l|秋天時}} {{zh-dial}} {{C|zh|Mùa|Mùa thu}} 8z5evchykqlbz4vas1z2yqjsv12c0pj 副教授 0 215787 2341454 1986552 2026-03-31T04:54:54Z Kelly zhrm 58416 2341454 wikitext text/x-wiki =={{langname|zh}}== {{zh-forms|type=12}} ==={{đm|pron}}=== {{zh-pron |m=fùjiàoshòu |c=fu3 gaau3 sau6 |cat=n }} ==={{đm|n}}=== {{head|zh|Danh từ}} # [[phó|Phó]] [[giáo sư]]. ===={{đm|hyper}}==== * {{zh-l|學銜}} {{C|zh|Giáo dục|Nghề nghiệp|Mọi người}} p3uunp2ky2w06ghivy01w2szka2zfxr babbling 0 230536 2341405 2162816 2026-03-30T14:15:34Z Hiyuune 50834 2341405 wikitext text/x-wiki =={{langname|en}}== ==={{section|v}}=== {{head|en|Biến thể hình thái động từ}} # {{infl of|en|babble||ing-form}}. ==={{section|ana}}=== * {{anagrams|en|a=abbbgiln|blabbing}} jcr4xyt8dyx0y5ob4dpanlsufswv9s9 0 233897 2341425 2026527 2026-03-31T01:03:00Z Hiyuune 50834 2341425 wikitext text/x-wiki {{also|榲}} {{character info}} =={{langname|mul}}== ==={{section|han}}=== {{Han char|rn=75|rad=木|as=09|sn=13|four=46912|canj=DABT|ids=⿰木昷}} ===={{section|ref}}==== {{Han ref|kx=0542.191|hdz=21249.050|uh=6985}} tjfz9uukwtnozrtiwpgyt8r8cwi2xir 0 234207 2341428 2026520 2026-03-31T01:10:20Z Hiyuune 50834 2341428 wikitext text/x-wiki {{character info}} =={{langname|mul}}== ==={{section|han}}=== {{Han char|rn=75|rad=木|as=09|sn=13|four=47947|canj=DHJE|ids=⿰木段}} ===={{section|ref}}==== {{Han ref|kx=0537.230|dkj=15075|hdz=21251.080|uh=6934}} =={{langname|ja}}== ==={{section|kanji}}=== {{ja-kanji|grade=|rs=木09}} # [[cây|Cây]] [[bạch dương]]. ===={{section|reading}}==== {{ja-readings |goon=だん |kanon=たん |kun=むくげ-, くい, とどまつ }} =={{langname|zh}}== {{zh-forms}} ==={{section|glyph origin}}=== {{Han etym}} ==={{section|pron}}=== {{zh-pron |m=duàn |c=dyun6 |mc=y |oc=y |ma= |cat=n }} ==={{section|dfn}}=== {{head|zh|Hanzi}} # [[cây|Cây]] [[bạch dương]]. qf5zdoo2pcwz2jvoi65oi22j70pv0z6 0 234343 2341426 2026526 2026-03-31T01:06:23Z Hiyuune 50834 2341426 wikitext text/x-wiki {{also|樂|乐}} {{character info}} =={{langname|mul}}== {{Han simplified forms|樂|楽|乐}} ==={{section|han}}=== {{Han char|rn=75|rad=木|as=09|sn=13|four=32904|canj=IOD,XIOD|ids=⿱⿰𪞜⿱丿丶木}} ===={{section|drv}}==== * {{charlist|sc=Hani|檪䃯薬}} {{col-top|1|Các ký tự dẫn xuất}} * {{charlist|sc=Hani|𭢫𰔰𭶒𮝩𮣏𪴞𣛙}} {{col-bottom}} ===={{section|ref}}==== {{Han ref|kx=0542.191|dkj=15213|dj=0930.200|hdz=80020.140|uh=697D}} lnopg9d8pdt1axqw7qpb7sydcts5dz7 by and large 0 237285 2341388 2043932 2026-03-30T12:57:19Z Hiyuune 50834 2341388 wikitext text/x-wiki =={{langname|en}}== ==={{section|pron}}=== * {{audio|en|en-au-by and large.ogg|a=AU}} * {{audio|en|LL-Q1860 (eng)-Naomi Persephone Amethyst (NaomiAmethyst)-by and large.wav|a=GA}} ==={{section|v}}=== {{en-adv|-}} # {{lb|en|idiomatic|focus}} [[nói chung]], [[nhìn chung]], [[hầu như]] #:{{ux|en|It was, '''by and large''', an unexceptional presentation.|Nhìn chung, đó là một bài thuyết trình không có gì đặc biệt.}} #: {{syn|en|for the most part|generally|mostly|on the whole|usually|Kho từ vựng:mostly}} ==={{section|ref}}=== * {{R:OED Online|pos=adv}} * {{R:Merriam Webster Online}} 9yru0pkm60w6oefpwihezw33cc0cuc7 A-la-hán 0 259912 2341484 2066052 2026-03-31T07:14:20Z Hiyuune 50834 Hiyuune đã đổi [[a la hán]] thành [[A-la-hán]] 2066052 wikitext text/x-wiki {{-vie-}} {{-info-}} {{-pron-}} {{vie-pron}} {{-noun-}} '''A-la-hán''' # {{term|Phật giáo}} [[bậc]] [[tu hành]] đã [[dứt]] được mọi [[phiền não]]. {{-syn-}} * [[la hán|La hán]] {{-trans-}} {{trans-top|A-la-hán}} * {{en}}: {{t+|en|arahant}}, {{t+|en|arhat}} * {{pi}}: {{t|pi|arahant}} * {{sa}}: {{t+|sa|अर्हत्|tr=árhat}} * {{zh}}: {{t|zh|阿羅漢}}, {{t|zh|阿罗汉}} {{trans-bottom}} [[Thể loại:Danh từ tiếng Việt]] [[Thể loại:Phật giáo]] nvgxapcf6kpg5v7gufs3j4c7pf6kuqc Mô đun:quote 828 259961 2341481 2331557 2026-03-31T07:10:05Z Hiyuune 50834 2341481 Scribunto text/plain --[=[ This module contains functions to implement quote-* templates. Author: Benwing2; conversion into Lua of {{quote-meta/source}} template, written by Sgconlaw with some help from Erutuon and Benwing2. The main interface is quote_t(). Note that the source display is handled by source(), which reads both the arguments passed to it *and* the arguments passed to the parent template, with the former overriding the latter. ]=] local export = {} -- Named constants for all modules used, to make it easier to swap out sandbox versions. local check_isxn_module = "Module:check isxn" local debug_track_module = "Module:debug/track" local en_utilities_module = "Module:en-utilities" local italics_module = "Module:italics" local labels_module = "Module:labels" local languages_module = "Module:languages" local languages_error_module = "Module:languages/error" local links_module = "Module:links" local number_utilities_module = "Module:number utilities" local parameters_module = "Module:parameters" local parse_utilities_module = "Module:parse utilities" local qualifier_module = "Module:qualifier" local roman_numerals_module = "Module:roman numerals" local scribunto_module = "Module:Scribunto" local script_utilities_module = "Module:script utilities" local scripts_module = "Module:scripts" local string_pattern_escape_module = "Module:string/patternEscape" local string_replacement_escape_module = "Module:string/replacementEscape" local string_utilities_module = "Module:string utilities" local table_module = "Module:table" local template_parser_module = "Module:template parser" local usex_module = "Module:usex" local usex_templates_module = "Module:usex/templates" local utilities_module = "Module:utilities" local yesno_module = "Module:yesno" local concat = table.concat local insert = table.insert local new_title = mw.title.new local remove = table.remove local require = require local sort = table.sort local u = mw.ustring.char local ugsub = mw.ustring.gsub local umatch = mw.ustring.match local unpack = unpack or table.unpack -- Lua 5.2 compatibility -- Use HTML entities here to avoid parsing issues (esp. with brackets) local SEMICOLON_SPACE = "&#59; " local SPACE_LBRAC = " &#91;" local RBRAC = "&#93;" local TEMP_LT = u(0xFFF1) local TEMP_GT = u(0xFFF2) local TEMP_LBRAC = u(0xFFF3) local TEMP_RBRAC = u(0xFFF4) local TEMP_SEMICOLON = u(0xFFF5) local function apply_subst(...) apply_subst = require(usex_module).apply_subst return apply_subst(...) end local function check_isbn(...) check_isbn = require(check_isxn_module).check_isbn return check_isbn(...) end local function check_issn(...) check_issn = require(check_isxn_module).check_issn return check_issn(...) end local function debug_track(...) debug_track = require(debug_track_module) return debug_track(...) end local function decode_entities(...) decode_entities = require(string_utilities_module).decode_entities return decode_entities(...) end local function embedded_language_links(...) embedded_language_links = require(links_module).embedded_language_links return embedded_language_links(...) end local function escape_wikicode(...) escape_wikicode = require(parse_utilities_module).escape_wikicode return escape_wikicode(...) end local function find_best_script_without_lang(...) find_best_script_without_lang = require(scripts_module).findBestScriptWithoutLang return find_best_script_without_lang(...) end local function find_parameters(...) find_parameters = require(template_parser_module).find_parameters return find_parameters(...) end local function format_categories(...) format_categories = require(utilities_module).format_categories return format_categories(...) end local function format_processed_labels(...) format_processed_labels = require(labels_module).format_processed_labels return format_processed_labels(...) end local function format_qualifier(...) format_qualifier = require(qualifier_module).format_qualifier return format_qualifier(...) end local function format_usex(...) format_usex = require(usex_module).format_usex return format_usex(...) end local function get_lang(...) get_lang = require(languages_module).getByCode return get_lang(...) end local function get_number(...) get_number = require(number_utilities_module).get_number return get_number(...) end local function get_script(...) get_script = require(scripts_module).getByCode return get_script(...) end local function gsplit(...) gsplit = require(string_utilities_module).gsplit return gsplit(...) end local function page_should_be_ignored(...) page_should_be_ignored = require(usex_templates_module).page_should_be_ignored return page_should_be_ignored(...) end local function parse_inline_modifiers(...) parse_inline_modifiers = require(parse_utilities_module).parse_inline_modifiers return parse_inline_modifiers(...) end local function parse_inline_modifiers_from_segments(...) parse_inline_modifiers_from_segments = require(parse_utilities_module).parse_inline_modifiers_from_segments return parse_inline_modifiers_from_segments(...) end local function parse_multi_delimiter_balanced_segment_run(...) parse_multi_delimiter_balanced_segment_run = require(parse_utilities_module).parse_multi_delimiter_balanced_segment_run return parse_multi_delimiter_balanced_segment_run(...) end local function parse_term_with_lang(...) parse_term_with_lang = require(parse_utilities_module).parse_term_with_lang return parse_term_with_lang(...) end local function pattern_escape(...) pattern_escape = require(string_pattern_escape_module) return pattern_escape(...) end local function pluralize(...) pluralize = require(en_utilities_module).pluralize return pluralize(...) end local function process_params(...) process_params = require(parameters_module).process return process_params(...) end local function remove_links(...) remove_links = require(links_module).remove_links return remove_links(...) end local function roman_to_arabic(...) roman_to_arabic = require(roman_numerals_module).roman_to_arabic return roman_to_arabic(...) end local function replacement_escape(...) replacement_escape = require(string_replacement_escape_module) return replacement_escape(...) end local function scribunto_parameter_key(...) scribunto_parameter_key = require(scribunto_module).scribunto_parameter_key return scribunto_parameter_key(...) end local function serial_comma_join(...) serial_comma_join = require(table_module).serialCommaJoin return serial_comma_join(...) end local function shallow_copy(...) shallow_copy = require(table_module).shallowCopy return shallow_copy(...) end local function split(...) split = require(string_utilities_module).split return split(...) end local function split_alternating_runs(...) split_alternating_runs = require(parse_utilities_module).split_alternating_runs return split_alternating_runs(...) end local function split_and_process_raw_labels(...) split_and_process_raw_labels = require(labels_module).split_and_process_raw_labels return split_and_process_raw_labels(...) end local function split_on_comma(...) split_on_comma = require(parse_utilities_module).split_on_comma return split_on_comma(...) end local function tag_text(...) tag_text = require(script_utilities_module).tag_text return tag_text(...) end local function tag_transcription(...) tag_transcription = require(script_utilities_module).tag_transcription return tag_transcription(...) end local function tag_translit(...) tag_translit = require(script_utilities_module).tag_translit return tag_translit(...) end local function ulen(...) ulen = require(string_utilities_module).len return ulen(...) end local function unitalicize_brackets(...) unitalicize_brackets = require(italics_module).unitalicize_brackets return unitalicize_brackets(...) end local function upper(...) upper = require(string_utilities_module).upper return upper(...) end local function usub(...) usub = require(string_utilities_module).sub return usub(...) end local function yesno(...) yesno = require(yesno_module) return yesno(...) end local function track(page) debug_track("quote/" .. page) end local function maintenance_line(text) return '<span class="maintenance-line">(' .. text .. ")</span>" end local function isbn(text) return "[[Special:BookSources/" .. text .. "|→ISBN]]" .. check_isbn( text, '&nbsp;<span class="error" style="font-size:88%">Invalid&nbsp;ISBN</span>[[Category:Pages with ISBN errors]]' ) end local function issn(text) return "[https://www.worldcat.org/issn/" .. text .. " →ISSN]" .. check_issn( text, '&nbsp;<span class="error" style="font-size:88%">Invalid&nbsp;ISSN</span>[[Category:Pages with ISSN errors]]' ) end local function lccn(text) text = text:gsub(" ", "") if text:find("-") then -- old-style LCCN; reformat per request by [[User:The Editor's Apprentice]] local prefix, part1, part2 = text:match("^(.-)(%d+)%-(%d+)$") if prefix then if ulen(part2) < 6 then part2 = ("0"):rep(6 - ulen(part2)) .. part2 end text = prefix .. part1 .. part2 end end return "[https://lccn.loc.gov/" .. mw.uri.encode(text) .. " →LCCN]" end local function format_date(text) return mw.getCurrentFrame():callParserFunction("#formatdate", text, "dmy") end -- Parse a raw lb= param (or nil) to individual label info objects and then concatenate them appropriately into a -- qualifier input, respecting flags like `omit_preComma` and `omit_postSpace` in the label specs. local function parse_and_format_labels(raw_lb, lang) if not raw_lb then return nil end local labels = split_and_process_raw_labels{labels = raw_lb, lang = lang, nocat = true} labels = format_processed_labels{labels = labels, lang = lang, no_ib_content = true} if labels ~= "" then -- not sure labels can be an empty string but it seems possible in some circumstances return {labels} end end -- Convert a comma-separated list of language codes to a comma-separated list of language names. `fullname` is the -- name of the parameter from which the list of language codes was fetched. local function format_langs(langs) local names = {} for i, lang in ipairs(langs) do names[i] = lang:getCanonicalName() end if #names == 1 then return names[1] end return serial_comma_join(names) end local function get_first_lang(langs) return langs[1] or get_lang("und") end --[=[ Normally we parse off inline modifiers and language code prefixes in various places, e.g. he:מרים<tr:Miryem>. But we exclude HTML entries with <span ...>, <i ...>, <br/> or similar in it, caused by wrapping an argument in {{l|...}}, {{lang|...}} or similar. Basically, all tags of the sort we parse here should consist of a less-than sign, plus letters, plus a colon, e.g. <tr:...>, so if we see a tag on the outer level that isn't in this format, we don't try to parse it. The restriction to the outer level is to allow generated HTML inside of e.g. qualifier modifiers, such as foo<q:similar to {{m|fr|bar}}> (if we end up supporting such modifiers). Also exclude things that look like URL's from being parsed as having language code prefixes. ]=] local function val_should_not_be_parsed_for_annotations(val) return val:find("^[^<]*<%l*[^%l:]") or val:find("^%l+://") end local param_mods = { t = { -- <t:...> and <gloss:...> are aliases. item_dest = "gloss", }, gloss = {}, alt = {}, tr = {}, ts = {}, subst = {}, sc = {type = "script"}, f = { convert = function(arg, parse_err) local prefix, val = arg:match("^(.-):([^ ].*)$") if not prefix then prefix = "" val = arg end local tags, sc_code, sc = prefix:match("^(.*)/(.-)$") if sc_code then sc = get_script(sc_code) or require(languages_error_module)(sc_code, parse_err, "script code", nil, "not real lang") else tags = prefix end local quals if tags ~= "" then quals = split_on_comma(tags) for i, qual in ipairs(quals) do local obj = get_lang(qual, nil, "allow etym") or get_script(qual) quals[i] = obj or qual end end return { quals = quals, sc = sc, val = val, } end, store = "insert", }, q = {}, qq = {}, } local function generate_obj_annotated_text(text, parse_err, paramname) local obj = {} if text:find(":[^ ]") or text:find("%[%[") then local display, is_wikipedia_wikisource obj.text, obj.lang, obj.link, display, is_wikipedia_wikisource = parse_term_with_lang { term = text, parse_err = parse_err, paramname = paramname } -- HACK: If object is a Wikipedia or Wikisource link, we need to convert it to a two-part link -- to avoid the w: or s: prefix showing. We should probably avoid this by calling -- language_link() (in [[Module:links]]) in format_annotated_text() instead of the hacky stuff -- that we currently do; but we need to test that carefully to make sure it doesn't do things like -- munge % signs. if is_wikipedia_wikisource and not obj.text:find("%[%[") and not obj.text:find("%]%]") then -- Don't directly set .alt, because then if the user specifies <alt:...>, it will cause an error in -- parse_inline_modifiers(). obj.display = display end else obj.text = text obj.link = text end return obj end --[=[ Parse a textual property that may be in a foreign language or script and may be annotated with a language prefix and/or inline modifiers. `val` is the value of the parameter and `fullname` is the name of the parameter from which the value was retrieved. `explicit_gloss`, if specified and non-nil, overrides any gloss specified using the <t:...> or <gloss:...> inline modifier. If `val` is nil, the return value of this function is nil. Otherwise it is parsed for a language prefix (e.g. 'ar:مُؤَلِّف') and inline modifiers (e.g. 'ar:مُؤَلِّف<t:Author>'), and the return value is an object with the following fields: `lang`: The language object corresponding to the language prefix, if specified, or nil if no language prefix is given. `text`: The text after stripping off any language prefix and inline modifiers. `link`: The link part of the text if it consists of a two-part link; otherwise, same as `text`. `alt`: Display text specified using the <alt:...> modifier, if given; otherwise, nil. `subst`: Substitutions used to generate the transliteration, in the same format as the subst= parameter. `sc`: The script object corresponding to the <sc:...> modifier, if given; otherwise nil. `tr`: The transliteration corresponding to the <tr:...> modifier, if given; otherwise nil. `ts`: The transcription corresponding to the <ts:...> modifier, if given; otherwise nil. `gloss`: The gloss/translation corresponding to the `explicit_gloss` parameter (if given and non-nil), otherwise the <t:...> or <gloss:...> modifiers if given, otherwise nil. `f`: Foreign versions of the text. `q`: Left qualifiers. `qq`: Right qualifiers. Note that as a special case, if `val` contains HTML tags at the top level (e.g. '<span class="Arab">...</span>', as might be generated by specifying {{lang|ar|مُؤَلِّف}}), no language prefix or inline modifiers are parsed, and the return value has the `noscript` field set to true, which tells format_annotated_text() not to try to identify the script of the text and CSS-tag the text accordingly, but to leave the text untagged. This object can be passed to format_annotated_text() to format a string displaying the text (appropriately script-tagged, unless `noscript` is set, as described above) and modifiers. ]=] local function parse_annotated_text(val, fullname, explicit_gloss) if not val then return nil end -- When checking for inline modifiers, exclude HTML entry with <span ...>, <i ...>, <br/> or similar in it, caused -- by wrapping an argument in {{l|...}}, {{lang|...}} or similar. Also exclude URL's from being parsed as having -- language code prefixes. See val_should_not_be_parsed_for_annotations() for more information. If we find a -- parameter value with top-level HTML in it, add 'noscript = true' to indicate that we should not try to do script -- inference and tagging. (Otherwise, e.g. if you specify {{lang|ar|مُؤَلِّف}} as the author, you'll get an extra big -- font coming from the fact that {{lang|...}} wraps the Arabic text in CSS that increases the size from the -- default, and then we do script detection and again wrap the text in the same CSS, which increases the size even -- more.) if val_should_not_be_parsed_for_annotations(val) then return {text = val, link = val, noscript = true, gloss = explicit_gloss} end local obj if val:find("<") then -- Check for inline modifier. obj = parse_inline_modifiers(val, { paramname = fullname, param_mods = param_mods, generate_obj = generate_obj_annotated_text, }) else obj = generate_obj_annotated_text(val, nil, fullname) end if explicit_gloss then obj.gloss = explicit_gloss end return obj end local html_entity_char_to_replacement = { ["<"] = TEMP_LT, [">"] = TEMP_GT, ["["] = TEMP_LBRAC, ["]"] = TEMP_RBRAC, } local function html_entity_replacement(entity, code_without_semicolon, hash, xcode, x, code) -- Try to decode the entity. If successful, Replace certain special HTML entities (those that are bracket-like) -- with single Unicode characters; otherwise, replace the semicolon with a special character so it won't get -- interpreted as a delimiter. local ch = decode_entities(entity) if ch ~= entity then return html_entity_char_to_replacement[ch] or code_without_semicolon .. TEMP_SEMICOLON end -- If the entity doesn't decode, escape it anyway iff it follows a valid format. if hash == "" then -- Any nonstandard MediaWiki-only entities have now been filtered off, so treat any non-ASCII characters as -- invalid. return xcode:match("^[^\128-\255]+$") and code_without_semicolon .. TEMP_SEMICOLON or entity elseif x == "" then return xcode:match("^%d+$") and code_without_semicolon .. TEMP_SEMICOLON or entity end return code:match("^%x+$") and code_without_semicolon .. TEMP_SEMICOLON or entity end local html_entity_replacement_to_char = { [TEMP_LT] = "&lt;", [TEMP_GT] = "&gt;", [TEMP_LBRAC] = "&#91;", [TEMP_RBRAC] = "&#93;", [TEMP_SEMICOLON] = ";", } local function undo_html_entity_replacement(txt) -- Pattern covers everything in html_entity_replacement_to_char. return (txt:gsub("\239\191[\177-\181]", html_entity_replacement_to_char)) end -- NOTE: We try hard to optimize this function for the common cases and avoid loading [[Module:parse utilities]] -- in such cases. The cases we can handle without loading [[Module:parse utilities]] are single values (no -- semicolons present) without inline modifiers or language prefixes, and multi-entity values (semicolons present) -- without (a) brackets of any kind (including parens, braces and angle brackets; angle brackets typically indicate -- inline modifiers and other brackets may protect a semicolon from being interpreted as a delimiter); -- (b) ampersands (which may indicate HTML entities, which protect a semicolon from being interpreted as a -- delimiter); and (c) colons not followed by a space (which may indicate a language prefix). local function generate_obj_multivalued_annotated_text(text, parse_err, paramname, no_undo_html_entity_replacement) local obj = generate_obj_annotated_text(text, parse_err, paramname) if not no_undo_html_entity_replacement then obj.text = undo_html_entity_replacement(obj.text) obj.link = undo_html_entity_replacement(obj.link) end return obj end --[=[ Similar to parse_annotated_text() but the parameter value may contain multiple semicolon-separated entities, each with their own inline modifiers. Some examples: * mainauthor=Paula Pattengale; Terea Sonsthagen * author=Katie Brick; J. Cody Nielsen; Greg Jao; Eric Paul Rogers; John A. Monson * author=Suzanne Brockmann; Patrick G. Lawlor (Patrick Girard); Melanie Ewbank * author=G Ristori; et al. * author=Jason Scott; zh:王晰宁<t:Wang Xining> * editors=zh:包文俊; zh:金心雯 * quotee=zh:張福運<t:Chang Fu-yun>; zh:張景文<t:Chang Ching-wen> There may be embedded semicolons within brackets, braces or parens that should not be treated as delimiters, e.g.: * author=Oliver Optic [pseudonym; {{w|William Taylor Adams}}] * author=author=Shannon Drake (pen name; {{w|Heather Graham Pozzessere}}) * author=James (the Elder;) Humphrys There may also be HTML entities with semicolons in them: * author=&#91;{{w|Gilbert Clerke}}&#93; * 2ndauthor=Martin Biddle &amp; Sally Badham * author=Peter Christen Asbj&oslash;rnsen There may be both embedded semicolons and HTML entities with semicolons in them: * author=&#91;{{w|Voltaire}} [pseudonym; François-Marie Arouet]&#93; In general we want to treat &#91; like an opening bracket and &#93; like a closing bracket. Beware that they may be mismatched: * author=Anonymous &#91;{{w|Karl Maria Kertbeny}}] Here, `val` is the value of the parameter and `fullname` is the name of the parameter from which the value was retrieved. `explicit_gloss`, if specified and non-nil, overrides any gloss specified using the <t:...> or <gloss:...> inline modifier, and `explicit_gloss_fullname` is the name of the parameter from which this value was retrieved. (If `explicit_gloss` is specified and multiple values were seen, an error results.) Return value is a list of objects of the same sort as returned by parse_annotated_text(). ]=] local function parse_multivalued_annotated_text(val, fullname, explicit_gloss, explicit_gloss_fullname) if not val then return nil end -- NOTE: In the code that follows, we use `entity` most of the time to refer to one of the semicolon-separated -- values in the multivalued param. Entities are most commonly people (typically authors, editors, translators or -- the like), but may be the names of publishers, locations, or other entities. "Entity" can also refer to HTML -- entities; in the places where this occurs, the variable name contains 'html' in it. local splitchar, english_delim if val:find("^,") then splitchar = "," english_delim = "comma" val = val:gsub("^,", "") else splitchar = ";" english_delim = "semicolon" end -- Optimization #1: No semicolons/commas or angle brackets (indicating inline modifiers). if not val:find("[<" .. splitchar .. "]") then if val_should_not_be_parsed_for_annotations(val) then return {{text = val, link = val, noscript = true}} else return {generate_obj_multivalued_annotated_text(val, nil, fullname, "no undo html entity replacement")} end end -- Optimization #2: Semicolons/commas but no angle brackets (indicating inline modifiers), braces, brackets, or -- parens (any of which would protect the semicolon/comma from interpretation as a delimiter), and no ampersand -- (which might indicate an HTML entity with a terminating semicolon, which should not be interpreted as a -- delimiter). if not val:find("[<>%[%](){}&]") then local entity_objs = {} for entity in gsplit(val, "%s*" .. splitchar .. "%s*") do if val_should_not_be_parsed_for_annotations(entity) then insert(entity_objs, { text = entity, link = entity, noscript = true }) else insert(entity_objs, generate_obj_multivalued_annotated_text(entity, nil, fullname, "no undo html entity replacement")) end end return entity_objs end -- Escape HTML entities, and get rid of directionality markers. local amp = val:find("&", nil, true) if amp then -- The pattern is more permissive than the usual entity pattern, as MediaWiki has some nonstandard entities -- that have non-ASCII characters in their codes. val = val:gsub("((&(#?)(([xX]?)([%w\128-\255]+)));)", html_entity_replacement) end -- Pattern covers left-to-right (U+200E) and right-to-left (U+200F). val = val:gsub("\226\128[\142\143]", "") -- Parse balanced segment runs, treating HTML entities for left and right bracket and left and right angle bracket -- as matching literal versions of the same characters. local entity_runs = parse_multi_delimiter_balanced_segment_run( val, {{"[" .. TEMP_LBRAC, "]" .. TEMP_RBRAC}, {"(", ")"}, {"{", "}"}, {"<" .. TEMP_LT, ">" .. TEMP_GT}}, true ) if type(entity_runs) == "string" then local undo_val = undo_html_entity_replacement(val) -- Parse error due to unbalanced delimiters. Don't throw an error here; instead, don't attempt to parse off -- any annotations, but return the value directly, maybe allowing script tagging (not allowing it if it appears -- the text is already script-tagged). return {{text = undo_val, link = undo_val, noscript = not not val_should_not_be_parsed_for_annotations(val)}} end -- Split on semicolon (or comma), possibly surrounded by whitespace. local separated_groups = split_alternating_runs(entity_runs, "%s*" .. splitchar .. "%s*") -- Process each value. local entity_objs = {} for _, entity_group in ipairs(separated_groups) do -- Rejoin runs that don't involve <...>. local j = 2 while j <= #entity_group do if not entity_group[j]:find("^<.*>$") then entity_group[j - 1] = entity_group[j - 1] .. entity_group[j] .. entity_group[j + 1] remove(entity_group, j) remove(entity_group, j) else j = j + 2 end end local oneval = undo_html_entity_replacement(concat(entity_group)) -- When checking for inline modifiers, exclude HTML entry with <span ...>, <i ...>, <br/> or similar in it, -- caused by wrapping an argument in {{l|...}}, {{lang|...}} or similar. Also exclude URL's from being parsed -- as having language code prefixes. This works analogously to parse_annotated_text(); see there for more. if val_should_not_be_parsed_for_annotations(oneval) then insert(entity_objs, { text = oneval, link = oneval, noscript = true }) else local obj if #entity_group > 1 then -- Check for inline modifier. obj = parse_inline_modifiers_from_segments({ group = entity_group, arg = oneval, props = { paramname = fullname, param_mods = param_mods, generate_obj = generate_obj_multivalued_annotated_text, }, }) else obj = generate_obj_multivalued_annotated_text(entity_group[1], nil, fullname) end insert(entity_objs, obj) end end if explicit_gloss then if #entity_objs > 1 then error( ( "Can't specify |%s= along with multiple %s-separated entities in |%s=; use the <t:...> " .. "inline modifier attached to the individual entities" ):format(explicit_gloss_fullname, english_delim, fullname) ) end entity_objs[1].gloss = explicit_gloss end return entity_objs end --[=[ Format a text property that may be in a foreign language or script, along with annotations. This is conceptually similar to the full_link() function in [[Module:links]], but displays the annotations in a different format that is more appropriate for bibliographic entries. The output looks like this: TEXT [TRANSLIT /TRANSCRIPTION/, GLOSS] `textobj` is as returned by parse_annotated_text(). `tag_text_func`, if supplied, is a function of one argument to further wrap the text after it has been processed and CSS-tagged appropriately, directly before insertion. `tag_gloss_func` is a similar function for the gloss. ]=] local function format_annotated_text(textobj, tag_text_func, tag_gloss_func) if not textobj then return nil end local text, link = textobj.text, textobj.link local subst, tr, ts, f, gloss = textobj.subst, textobj.tr, textobj.ts, textobj.f, textobj.gloss -- Retrieve the display text, either specified by the user (.alt) or by parse_annotated_text() (.display) when a -- Wikipedia link is given. local alt = textobj.alt or textobj.display if alt then if link:find("%[%[") or link:find("%]%]") then local errmsg = ("Can't currently handle embedded links in '%s', with <alt:...> text '%s'"):format(link, alt) error(escape_wikicode(errmsg)) end text = ("[[%s|%s]]"):format(link, alt) end -- See above for `noscript`, meaning HTML was found in the text value, probably generated using {{lang|...}}. -- {{lang}} already script-tags the text and processes embedded language links, so we don't want to do it again (in -- fact, the code below within the if-clause is similar to what {{lang}} does). In such a case, an explicit language -- won't be available and find_best_script_without_lang() may not be accurate, so we can't do automatic transliteration. if not textobj.noscript then local lang = textobj.lang -- As an optimization, don't do script detection on an argument that contains only ASCII. local sc = textobj.sc or lang and lang:findBestScript(text) or not text:find("^[ -~]$") and find_best_script_without_lang(text) or nil -- As an optimization, don't do any of the following if there's no language, script, translit or transcription, -- as will be the case with simple ASCII values. if lang or sc or tr or ts then if not lang then lang = get_lang("und") end if tr == "-" then tr = nil elseif not tr and sc and not sc:getCode():find("Lat") then -- Latn, Latf, Latg, pjt-Latn -- might return nil local text_for_tr = text if subst then text_for_tr = apply_subst(text_for_tr, subst) else text_for_tr = remove_links(text) end tr = (lang:transliterate(text_for_tr, sc)) end if text:find("%[%[") then -- FIXME: embedded_language_links() replaces % signs with their URL-encoded equivalents, -- which messes up URL's that may be present (e.g. if chapterurl= is given). IMO this -- should not happen, and embedded_language_links() should do nothing if no embedded links -- are present. To work around this, only call embedded_language_links() when there are -- embedded links present. text = embedded_language_links({ term = text, lang = lang, sc = sc, }) end if lang:getCode() ~= "und" or sc:getCode() ~= "Latn" then text = tag_text(text, lang, sc) end if tr then -- Should we link to the transliteration of languages with lang:link_tr()? Probably not because `text` is not -- likely to be a term that has an entry. tr = tag_translit(tr, lang, "usex") end if ts then ts = tag_transcription(ts, lang, "usex") end end end text = unitalicize_brackets(text) if tag_text_func then text = tag_text_func(text) end local parts = {} if textobj.q then insert(parts, format_qualifier(textobj.q) .. " ") end insert(parts, text) if tr or ts or f or gloss then insert(parts, SPACE_LBRAC) local subparts = {} if tr or ts then local tr_ts if ts then ts = "/" .. ts .. "/" end if tr and ts then tr_ts = tr .. " " .. ts else tr_ts = tr or ts end insert(subparts, tr_ts) end if f then for _, ff in ipairs(f) do local sc = ff.sc local lang if not sc and ff.quals then local qual = ff.quals[1] if type(qual) == "string" then -- do nothing; we'll do script detection farther down elseif qual:hasType("script") then sc = qual else -- language sc = qual:findBestScript(ff.val) lang = qual end end if not lang then lang = get_lang("und") end sc = sc or find_best_script_without_lang(ff.val) local val = embedded_language_links({ term = ff.val, lang = lang, sc = sc, }) if lang:getCode() ~= "und" or sc:getCode() ~= "Latn" then val = tag_text(val, lang, sc) end local qual_prefix if ff.quals then for i, qual in ipairs(ff.quals) do if type(qual) ~= "string" and (qual:hasType("script") or qual:hasType("language")) then ff.quals[i] = qual:getCanonicalName() end end qual_prefix = concat(ff.quals, "/") .. ": " else qual_prefix = "" end insert(subparts, qual_prefix .. val) end end if gloss then gloss = '<span class="e-translation">' .. gloss .. "</span>" gloss = unitalicize_brackets(gloss) if tag_gloss_func then gloss = tag_gloss_func(gloss) end insert(subparts, gloss) end insert(parts, concat(subparts, ", ")) insert(parts, RBRAC) end if textobj.qq then insert(parts, " " .. format_qualifier(textobj.qq)) end return concat(parts) end --[=[ Format a multivalued text property that may be in a foreign language or script, along with annotations. This is the multivalued analog to format_annotated_text(), and formats each individual entity using format_annotated_text(), joining the results with `delimiter`, which defaults to ", ". It `delimiter` is "and" or "or", join the results using serial_comma_join() with the specified conjunction. `textobjs` is as returned by parse_multivalued_annotated_text(). `tag_text_func` and `tag_gloss_func` are as in format_annotated_text(). ]=] local function format_multivalued_annotated_text(textobjs, delimiter, tag_text_func, tag_gloss_func) if not textobjs then return nil end if #textobjs == 1 then return format_annotated_text(textobjs[1], tag_text_func, tag_gloss_func) end local parts = {} for _, textobj in ipairs(textobjs) do insert(parts, format_annotated_text(textobj, tag_text_func, tag_gloss_func)) end -- Change delimiter to semicolon if the items themselves contain commas (e.g., in ", Jr.") local use_semicolon = false for _, obj in ipairs(textobjs) do -- Use remove_links to ignore commas in links if obj.text and remove_links(obj.text):find(", ") then use_semicolon = true break end end local n = #parts if n > 0 and parts[n]:match("^'*et al[.']*$") then -- Special handling for 'et al.' parts[n] = "''và đồng nghiệp''" if n == 2 then -- author et al. return concat(parts, " ") else -- author 1, author 2, et al. return concat(parts, (use_semicolon and "; ") or ", ") end if delimiter == "và" or delimiter == "hoặc" then delimiter = ", " end return concat(parts, delimiter) end if delimiter == "và" or delimiter == "hoặc" then return serial_comma_join(parts, {conj = delimiter}) end return concat(parts, delimiter or ((use_semicolon and "; ") or ", ")) end -- Fancy version of ine() (if-not-empty). Converts empty string to nil, but also strips leading/trailing space. local function ine(arg) if not arg then return nil elseif type(arg) ~= "string" then return arg end arg = mw.text.trim(arg) if arg == "" then return nil end return arg end local abbrs = { ["a."] = {anchor = "a.", full = "trước"}, ["c."] = {anchor = "kh.", full = "khoảng"}, ["kh."] = {anchor = "kh.", full = "khoảng"}, ["p."] = {anchor = "p.", full = "sau"}, } -- Process prefixes 'a.' (ante), 'c.' (circa) and 'p.' (post) at the beginning of an arbitrary date or year spec. -- Returns two values, the formatted version of the prefix and the date spec minus the prefix. If no prefix is found, -- returns an empty string and the full date. local function process_ante_circa_post(date) local prefix = usub(date, 1, 2) local abbr = abbrs[prefix] local abbr_prefix = "" if abbr then abbr_prefix = "''[[Phụ lục:Từ điển thuật ngữ#" .. abbr.anchor .. '|<abbr title="' .. abbr.full .. '">' .. abbr.anchor .. "</abbr>]]'' " -- Remove lowercase letter, period, and space from beginning of date parameter. date = ugsub(date, "^%l%.%s*", "") end return abbr_prefix, date end -- Format the arguments that specify the date of the quotation. These include the following: -- |date=: The date. If |start_date= is given, this is the end date. -- |year=, |month=: Year and month of quotation date or end of range, if |date= isn't given. -- |start_date=: The start date, to specify a range. -- |start_year=, |start_month=: Year and month of start of range, if |start_date= isn't given. -- |accessdate=: Date a website was accessed; processed if no other date was given. -- |nodate=: Indicate that no date is present; otherwise a maintenance line will be displayed if there is no date. -- -- If `parampref` and/or `paramsuf` are given, this modifies all the date arguments accordingly. For example, if -- `parampref` == "orig" and `paramsuf` is omitted, the date is specified using |origdate= or |origyear=/|origmonth=, -- and the start of the range is |origstart_date=, etc. Similarly, if `parampref` is omitted and `paramsuf` is -- "_published", the date is specified using |date_published= or |year_published=/|month_published=, and the start of -- the range is |start_date_published=, etc. -- -- `a` and `get_full_paramname` are functions with the same interpretation as the local functions of the same name in -- source(). These are used to fetch parameters and get their full names. Note that this may cause all arguments to -- have an index added to them (|date2=, |year2=, |month2=, etc.). -- -- `alias_map` is as in source() and is used to map canonical arguments to their aliases when aliases were used. -- -- If `bold_year` is given, displayed years are boldfaced unless boldface is present in the parameter value. -- -- If `maintenance_line_no_date` is specified, it should be a string that will be returned if no date is found (i.e. -- neither |date= nor |year=, or their appropriate equivalents per `parampref` and `paramsuf`, are specified, and -- neither |nodate= is given to indicate that there is no date, or |accessdate= is given). -- -- Returns two values: the formatted date and a boolean indicating whether to add a maintenance category -- [[:Category:Requests for date in LANG entries]]. The first return value will be nil if nothing is to be added -- (in which case the scond return value will always be nil). local function format_date_args( a, get_full_paramname, alias_map, parampref, paramsuf, bold_year, maintenance_line_no_date, year_last ) local output = {} parampref = parampref or "" paramsuf = paramsuf or "" local function getp(param) return a(parampref .. param .. paramsuf) end local function pname(param) local fullname = get_full_paramname(parampref .. param .. paramsuf) return alias_map[fullname] or fullname end -- Format `timestamp` (a timestamp referencing a date) according to the spec in `code`. `param` is the base name of -- the parameter from which the timestamp was fetched, for error messages. local function format_date_with_code(code, timestamp, param) local language = mw.getContentLanguage() local ok, date = pcall(language.formatDate, language, code, timestamp) if ok then return date else -- All the formats used in format_date_args() are fine, so the timestamp must be at fault. error( ( "Timestamp |%s=%s (possibly canonicalized from its original format) could not be parsed; see the " .. "[[mw:Help:Extension:ParserFunctions##time|documentation for the #time parser function]]" ):format(pname(param), tostring(timestamp)) ) end end -- Try to figure out if the given timestamp has the day of the month explicitly given. We use the following -- algorithm: -- 1. Format as year-month-day; if the day is not 1, the day was explicitly given, since if only the year/month are -- given, the day shows up as 1. -- 2. If the day shows up as 1 and there isn't a 1 or 01 in the timestamp, the day wasn't explicitly given. -- 3. Otherwise, if there are three separate numbers (e.g. 2022-07-01), or two separate numbers plus a capitalized -- letter (taken as an English month, e.g. 2022 July 1), the day was explicitly given, otherwise not. -- -- `param` is the base name of the parameter from which the timestamp was fetched. local function date_has_day_specified(timestamp, param) local day = format_date_with_code("j", timestamp, param) if day ~= "1" then return true end local english_month = timestamp:find("%u") local canon_timestamp = mw.text.trim((timestamp:gsub("%D+", " "))) local seen_nums = split(canon_timestamp, " ", true) local saw_one = false for _, num in ipairs(seen_nums) do if num == "1" or num == "01" then saw_one = true break end end if not saw_one then return false end return #seen_nums >= 3 or english_month and #seen_nums >= 2 end -- Format a date with boldfaced year, as e.g. '''2023''' August 3. `explicit_day_given` indicates whether to include -- the day; if false, the return value will be e.g. '''2023''' August. `date_param` is the base name of the param -- from which the date was fetched, for error messages. local function format_bold_date(date, explicit_day_given, date_param) local day_month_code = explicit_day_given and "j F" or "F" local month_day_code = explicit_day_given and "d/m/" or "F" if year_last then if bold_year then -- This formats like "3 August '''2023'''" (or "August '''2023'''" if day not explicitly given). return format_date_with_code(day_month_code .. " '''Y'''", date, date_param) else -- This formats like "3 August 2023" (or "August 2023" if day not explicitly given). return format_date_with_code(day_month_code .. " Y", date, date_param) end else if bold_year then -- This formats like "'''2023''' August 3" (or "'''2023''' August" if day not explicitly given). return format_date_with_code("'''" .. month_day_code .. "Y'''", date, date_param) else -- This formats like "2023 August 3" (or "2023 August" if day not explicitly given). return format_date_with_code(month_day_code .. "Y", date, date_param) end end end -- The formatDate method of the mw.language object behaves like the {{#time:}} parser function, which doesn't -- accept the formats "monthday monthname, year" or "year monthname monthday", but outputs garbage when it receives -- them, behavior inherited from PHP. {{#formatdate:}} magic word is more forgiving. Fix dates so that, for -- instance, the |date= parameter of {{quote-journal}} (which uses this code) and the |accessdate= parameter (which -- uses {{#formatdate:}}) accept similar date formats. See: -- * [[mw:Extension:Scribunto/Lua_reference_manual#mw.language:formatDate]] -- * [[mw:Help:Extension:ParserFunctions##time]] -- * [[mw:Help:Magic_words#Formatting]] -- `date` is the date spec from the user, which is assumed to come from a parameter whose base name ends in "date"; -- `parampref` is the prefix added to "date" to get the parameter name. local function fix_date(date, param_pref) if tonumber(date) ~= nil then error( ("|%s= should contain a full date (year, month, day of month); use |%s= for year"):format( pname(param_pref .. "date"), pname(param_pref .. "year") ) ) elseif date and date:find("%s*%a+,%s*%d+%s*$") then error( ("|%s= should contain a full date (year, month, day of month); use |%s=, |%s= for month and year"):format( pname(param_pref .. "date"), pname(param_pref .. "month"), pname(param_pref .. "year") ) ) end if date then -- Commas are replaced with spaces to prevent parsing issues local fixed_date = ugsub(date, ", *", " ") return (ugsub(ugsub(fixed_date or date, "(%d+ %a+),", "%1"), "^(%d%d%d%d) (%a+ %d%d?)$", "%2 %1")) end end local start_date, date = fix_date(getp("start_date"), "start_"), fix_date(getp("date"), "") local year = getp("year") local month = getp("month") local start_year = getp("start_year") local start_month = getp("start_month") if date and year then error(("Only one of |%s= or |%s= should be specified"):format(pname("date"), pname("year"))) end if date and month then error( ("|%s= should only be specified in conjunction with |%s=, not with |%s="):format( pname("month"), pname("year"), pname("date") ) ) end if start_date and start_year then error(("Only one of |%s= or |%s= should be specified"):format(pname("start_date"), pname("start_year"))) end if start_date and start_month then error( ("|%s= should only be specified in conjunction with |%s=, not with |%s="):format( pname("start_month"), pname("start_year"), pname("start_date") ) ) end if (start_date or start_year) and not (date or year) then error( ("|%s= or |%s=/|%s= cannot be specified without specifying |%s= or |%s=/|%s="):format( pname("start_date"), pname("start_year"), pname("start_month"), pname("date"), pname("year"), pname("month") ) ) end local dash = "&nbsp;– " local day_explicitly_given = date and date_has_day_specified(date, "date") local start_day_explicitly_given = start_date and date_has_day_specified(start_date, "start_date") -- Format a date with boldfaced year, as e.g. '''2023''' August 3 (if `explicit_day_given` specified) or -- '''2023''' August (if `explicit_day_given` not specified). If no date specified, fall back to formatting based -- on the year and (optionally) month params given in `yearobj` and `monthobj`, boldfacing the year if not already. -- `date_param` is the base name of the param from which the date was fetched, for error messages. local function format_date_or_year_month(date, yearobj, monthobj, explicit_day_given, date_param) if date then return format_bold_date(date, explicit_day_given, date_param) else -- Boldface a year spec if it's not already boldface. if bold_year and not yearobj.text:find("'''") then -- Clone the year object before modifying it because we may use it later to check against the current -- year (if we're dealing with start_year). yearobj = shallow_copy(yearobj) yearobj.text = "'''" .. yearobj.text .. "'''" if yearobj.alt then yearobj.alt = "'''" .. yearobj.alt .. "'''" end end if year_last then return (monthobj and format_annotated_text(monthobj) .. " " or "") .. format_annotated_text(yearobj) else return format_annotated_text(yearobj) .. (monthobj and " " .. format_annotated_text(monthobj) or "") end end end local yearobj = parse_annotated_text(year, pname("year")) local monthobj = parse_annotated_text(month, pname("month")) local start_yearobj = parse_annotated_text(start_year, pname("start_year")) local start_monthobj = parse_annotated_text(start_month, pname("start_month")) if start_yearobj then local abbr_prefix abbr_prefix, start_yearobj.text = process_ante_circa_post(start_yearobj.text) start_yearobj.link = select(2, process_ante_circa_post(start_yearobj.link)) insert(output, abbr_prefix) elseif yearobj then local abbr_prefix abbr_prefix, yearobj.text = process_ante_circa_post(yearobj.text) yearobj.link = select(2, process_ante_circa_post(yearobj.link)) insert(output, abbr_prefix) end if start_date or start_year then local cur_year = yearobj and yearobj.text or format_date_with_code("Y", date, "date") local cur_month = monthobj and monthobj.text or date and format_date_with_code("F", date, "date") or nil local cur_day = date and day_explicitly_given and format_date_with_code("j", date, "date") or nil local beg_year = start_yearobj and start_yearobj.text or format_date_with_code("Y", start_date, "start_date") local beg_month = start_monthobj and start_monthobj.text or start_date and format_date_with_code("F", start_date, "start_date") or nil local beg_day = start_date and start_day_explicitly_given and format_date_with_code("j", start_date, "start_date") or nil if year_last then if beg_day then insert(output, beg_day .. " " .. beg_month) else insert(output, beg_month) end if beg_year ~= cur_year then insert(output, " " .. beg_year) end else insert(output, format_date_or_year_month( start_date, start_yearobj, start_monthobj, start_day_explicitly_given, "start_date" )) end if cur_year ~= beg_year then -- Different years; insert current date in full. if beg_month or cur_month then insert(output, dash) else insert(output, "–") end insert(output, format_date_or_year_month(date, yearobj, monthobj, day_explicitly_given, "date")) elseif cur_month and cur_month ~= beg_month then local month_ins = monthobj and format_annotated_text(monthobj) or cur_month -- Same year but different months; insert current month and (if available) current day. if cur_day then insert(output, dash) if year_last then insert(output, cur_day .. " " .. month_ins) else insert(output, month_ins .. " " .. cur_day) end else if beg_day then insert(output, dash) else insert(output, "–") end insert(output, month_ins) end elseif cur_day and cur_day ~= beg_day then -- Same year and month but different days; insert current day. insert(output, "–") insert(output, cur_day) else -- Same year, month and day; or same year and month, and day not available; or same year, and month and -- day not available. Do nothing. FIXME: Should we throw an error? end if year_last and beg_year == cur_year then if cur_month then insert(output, " " .. cur_year) else insert(output, " " .. cur_year) end end elseif date or yearobj then insert(output, format_date_or_year_month(date, yearobj, monthobj, day_explicitly_given, "date")) elseif not maintenance_line_no_date then -- Not main quote date. Return nil, caller will handle. return nil, nil elseif not getp("nodate") then local accessdate = getp("accessdate") if accessdate then local explicit_day_given = date_has_day_specified(accessdate, "accessdate") insert(output, format_bold_date(accessdate, explicit_day_given, "accessdate") .. " (truy cập lần cuối)") else if mw.title.getCurrentTitle().namespace ~= 10 then return maintenance_line(maintenance_line_no_date), true end return nil, nil end end return ine(concat(output)), nil end local function tag_with_cite(txt) return "<cite>" .. txt .. "</cite>" end -- Display the source line of the quote, above the actual quote text. This contains the majority of the logic of this -- module (formerly contained in {{quote-meta/source}}). function export.source(args, alias_map, format_as_cite, other_controls) local tracking_categories = {} local argslang = args[1] or args.lang if not argslang then -- For the moment, only trigger an error on mainspace pages and -- other pages that are not user pages or pages containing discussions. -- These are the same pages that appear in the appropriate tracking -- categories. User and discussion pages have not generally been -- fixed up to include a language code and so it's more helpful -- to use a maintenance line than signal an error. local current_title = mw.title.getCurrentTitle() if not (current_title.namespace == 10 or page_should_be_ignored(current_title.fullText)) then require(languages_error_module)(nil, 1) end end -- Given a canonical param, convert it to the original parameter specified by the user (which may have been an -- alias). local function alias(param) return alias_map[param] or param end local output, sep = {} local overrides = other_controls and other_controls.overrides or {} -- Add text to the output. The text goes into a list, and we concatenate all the list components together at the -- end. To make it easier to handle comma-separated items, we keep track (in `sep`) of the separator (if any) that -- needs to be inserted before the next item added. For example, if we're in the "newversion" code (ind ~= ""), and -- there's no title and no URL, then the first time we add anything after the title, we don't want to add a -- separating comma because the preceding text will say "republished " or "republished as " or "translated as " or -- similar. In all- other cases, we do want to add a separating comma. The bare add() function reset the separator -- to be nothing, while the add_with_sep() function resets the separator to be the value of `next_sep` (defaulting -- to ", "), so the next time around we do add a comma to separate `text` from the preceding piece of text. local function add(text) if sep then insert(output, sep) end insert(output, text) sep = nil end local function add_with_sep(text, next_sep) add(text) sep = next_sep or ", " end -- FIXME: This is all very over-engineered, which makes it slow and memory-inefficient. -- Return a function that generates the actual parameter name associated with a base param (e.g. "author", "last"). -- The actual parameter name may have an index added (an empty string for the first set of params, e.g. author=, -- last=, or a numeric index for further sets of params, e.g. author2=, last2=, etc.). local function make_get_full_paramname(ind) return function(param) return param .. ind end end -- Function to fetch the actual parameter name associated with a base param (see make_get_full_paramname() above). -- Assigned at various times below by calling make_get_full_paramname(). We do it this way so that we can have -- wrapper functions that access params and define them only once. local get_full_paramname -- Return two values: the value of a parameter given the base param name (which may have a numeric index added), -- and the parameter name from which the value was fetched (which may be an alias, i.e. you can't necessarily fetch -- the parameter value from args[] given this name). The base parameter can be a list of such base params, which -- are checked in turn, or nil, in which case nil is returned. local function a_with_name(param) if not param then return nil elseif type(param) ~= "table" then local fullname = get_full_paramname(param) return args[fullname], alias(fullname) end for _, par in ipairs(param) do local val, fullname = a_with_name(par) if val then return val, alias(fullname) end end return nil end -- Fetch the value of a parameter given the base param name (which may have a numeric index added). The base -- parameter can be a list of such base params, which are checked in turn, or nil, in which case nil is returned. local function a(param) return (a_with_name(param)) end -- Identical to a_with_name(param) except that it verifies that no space is present. Should be used for URL's. local function aurl_with_name(param) local value, fullname = a_with_name(param) if value and value:find(" ") and not value:find("%[") then error(("URL not allowed to contain a space, but saw |%s=%s"):format(fullname, value)) end return value, fullname end -- Identical to a(param) except that it verifies that no space is present. Should be used for URL's. local function aurl(param) return (aurl_with_name(param)) end -- Convenience function to fetch a parameter that may be in a foreign language or text (and may consequently have -- a language prefix and/or inline modifiers), parse the annotations and convert the result into a formatted string. -- This is the same as parse_and_format_annotated_text() below but also returns the full param name as the second -- return value. local function parse_and_format_annotated_text_with_name(param, tag_text_func, tag_gloss_func) local val, fullname = a_with_name(param) local obj = parse_annotated_text(val, fullname) return format_annotated_text(obj, tag_text_func, tag_gloss_func), fullname end -- Convenience function to fetch a parameter that may be in a foreign language or text (and may consequently have -- a language prefix and/or inline modifiers), parse the modifiers and convert the result into a formatted string. -- This is a wrapper around parse_annotated_text() and format_annotated_text(). `param` is the base parameter name (see -- a_with_name()), `tag_text_func` is an optional function to tag the parameter text after all other processing (e.g. -- wrap in <cite>...</cite> tags), and `tag_gloss_func` is a similar function for the parameter translation/gloss. local function parse_and_format_annotated_text(param, tag_text_func, tag_gloss_func) return (parse_and_format_annotated_text_with_name(param, tag_text_func, tag_gloss_func)) end -- Convenience function to fetch a multivalued parameter that may be in a foreign language or text (and may -- consequently have a language prefix and/or inline modifiers), parse the modifiers and convert the result into a -- formatted string. This is the multivalued analog to parse_and_format_annotated_text_with_name() and returns two -- values, the formatted string and the full name of the parameter fetched. `delimiter` is as in -- format_multivalued_annotated_text(). local function parse_and_format_multivalued_annotated_text_with_name(param, delimiter, tag_text_func, tag_gloss_func) local val, fullname = a_with_name(param) local objs = parse_multivalued_annotated_text(val, fullname) local num_objs = objs and #objs or 0 return format_multivalued_annotated_text(objs, delimiter, tag_text_func, tag_gloss_func), fullname, num_objs end -- Convenience function to fetch a multivalued parameter that may be in a foreign language or text (and may -- consequently have a language prefix and/or inline modifiers), parse the modifiers and convert the result into a -- formatted string. This is the multivalued analog to parse_and_format_annotated_text(). `delimiter` is as in -- format_multivalued_annotated_text(). local function parse_and_format_multivalued_annotated_text(param, delimiter, tag_text_func, tag_gloss_func) return (parse_and_format_multivalued_annotated_text_with_name(param, delimiter, tag_text_func, tag_gloss_func)) end -- This determines whether to display "Mary Bloggs, transl." (if there's no author preceding) or "translated by -- Mary Bloggs" (if there's an author preceding). local author_outputted = false -- When formatting as a citation, the priority is to display a name and a date before the book/chapter title -- this tracks whether or not the author/date has been displayed local date_outputted, formatted_date, formatted_origdate = false local function add_date(no_paren) if not date_outputted then if no_paren then sep = ", " else sep = " " end if formatted_date then if no_paren then add(formatted_date) else add("(" .. formatted_date .. ")") end end if formatted_origdate then add(SPACE_LBRAC .. formatted_origdate .. RBRAC) end sep = ", " date_outputted = true end end local function is_anonymous(val) return val:match("^[Aa]nonymous$") or val:match("^[Aa]non%.?$") end -- Add a formatted author (whose values may be specified using `author` or, for compatibility purposes, split -- among various parameters): -- * `author` is the value of the author param (e.g. "author", "author2" or "2ndauthor"), and `author_fullname` is -- the full parameter name holding that value; -- * `trans_author` is the optional value of the param holding the gloss/translation of the author, and -- `trans_author_fullname` is the full parameter name holding that value (or nil for no such parameter); -- * `authorlink` is the value of the authorlink param, which holds the Wikipedia link of the author(s) in `author`, -- and `authorlink_fullname` is the full parameter name holding that value; -- * `trans_authorlink` is the optional value of the param holding the Wikipedia link of the gloss/translation of -- the author, and `trans_authorlink_fullname` is the full parameter name holding that value (or nil for no such -- parameter); -- * `first` is the value of the parameter holding the first name of the author, and `first_fullname` is the full -- parameter name holding that value; -- * `trans_first` is the value of the corresponding parameter holding the gloss/translation of the first name -- (e.g. "trans-first"), and `trans_first_fullname` is the full parameter name holding that value (or nil for -- no such parameter); -- * `last` is the value of the parameter holding the last name of the author, and `last_fullname` is the full -- parameter name holding that value; -- * `trans_last` is the value of the corresponding parameter holding the gloss/translation of the last name -- (e.g. "trans-last"), and `trans_last_fullname` is the full parameter name holding that value (or nil for -- no such parameter). -- * `last_first` if set, when parameters `first` and `last` are used, display the author name as "last, first" local function add_author( author, author_fullname, trans_author, trans_author_fullname, authorlink, authorlink_fullname, trans_authorlink, trans_authorlink_fullname, first, first_fullname, trans_first, trans_first_fullname, last, last_fullname, trans_last, trans_last_fullname, last_first ) local function make_author_with_url(txt, txtparam, authorlink, authorlink_param) if authorlink then if authorlink:find("%[%[") then error(("Can't specify links in |%s=%s"):format(authorlink_param, authorlink)) end if txt:find("%[%[") then error(("Can't specify links in %s=%s"):format(txtparam, txt)) end return "[[w:" .. authorlink .. "|" .. txt .. "]]" else return txt end end local num_authorobjs if author then local authorobjs = parse_multivalued_annotated_text(author, author_fullname, trans_author, trans_author_fullname) num_authorobjs = #authorobjs if num_authorobjs == 1 then if is_anonymous(authorobjs[1].text) then authorobjs[1].text = "Tác giả khuyết danh" authorobjs[1].link = "Tác giả khuyết danh" end if authorlink then authorobjs[1].text = make_author_with_url( authorobjs[1].text, "|" .. author_fullname, authorlink, "|" .. authorlink_fullname ) authorobjs[1].link = make_author_with_url( authorobjs[1].link, "|" .. author_fullname, authorlink, "|" .. authorlink_fullname ) end if authorobjs[1].gloss and trans_authorlink then authorobjs[1].gloss = make_author_with_url( authorobjs[1].gloss, ("<t:...> in |%s"):format(author_fullname), trans_authorlink, "|" .. trans_author_fullname ) end add(format_multivalued_annotated_text(authorobjs)) elseif trans_authorlink then error( ( "Can't specify |%s= along with multiple semicolon-separated entities in |%s=; use the " .. "<t:...> inline modifier attached to the individual entities and put the link directly " .. "in the value of the inline modifier" ):format(trans_authorlink_fullname, author_fullname) ) else -- Allow an authorlink with multiple authors, e.g. for use with |author=Max Mills; Harvey Mills -- with |authorlink=Max and Harvey. For this we have to generate the entire text and link it -- all. local formatted_text = format_multivalued_annotated_text(authorobjs) if authorlink then formatted_text = make_author_with_url( formatted_text, "|" .. author_fullname, authorlink, "|" .. authorlink_fullname ) end add(formatted_text) end else num_authorobjs = 1 -- Author separated into first name + last name. We don't currently support non-Latin-script -- authors separated this way and probably never will. if first then if last_first then author = last .. ", " .. first else author = first .. " " .. last end else author = last end if authorlink then local authorparam = first and ("|%s |%s"):format(first_fullname, last_fullname) or "|" .. last_fullname author = make_author_with_url(author, authorparam, authorlink, authorlink_fullname) end local trans_author if trans_last then if trans_first then trans_author = trans_first .. " " .. trans_last else trans_author = trans_last end if trans_authorlink then local trans_authorparam = trans_first and ("|%s |%s"):format(trans_first_fullname, trans_last_fullname) or "|" .. trans_last_fullname trans_author = make_author_with_url( trans_author, trans_authorparam, trans_authorlink, trans_authorlink_fullname ) end end add(author) if trans_author then add(SPACE_LBRAC) add(trans_author) add(RBRAC) end end author_outputted = true return num_authorobjs end local function add_authorlike( param, prefix_with_preceding_authors, suffix_without_preceding_authors, suffix_if_multiple, anonymous_suffix ) local delimiter = author_outputted and "và" or ", " local entities, _, num_entities = parse_and_format_multivalued_annotated_text_with_name(param, delimiter) if not entities then return end if is_anonymous(entities) then -- If tlr=anonymous or similar given, display as "anonymous translator" or similar. If a specific -- anonymous suffix not given, try to derive the anonymous suffix from the non-preceding-author suffix. if not anonymous_suffix then local cleaned_suffix = suffix_without_preceding_authors :gsub("&#32;", " ") :gsub("&nbsp;", " ") :gsub("&#160;", " ") :gsub("&#91;", "[") :gsub("&#93;", "]") cleaned_suffix = mw.text.trim(cleaned_suffix) if not anonymous_suffix then anonymous_suffix = " " .. cleaned_suffix:match("^, (.*)$") end if not anonymous_suffix then anonymous_suffix = " " .. cleaned_suffix:match("^%((.*)%)$") end if not anonymous_suffix then anonymous_suffix = " " .. cleaned_suffix:match("^%[(.*)%]$") end if not anonymous_suffix then anonymous_suffix = suffix_without_preceding_authors end end add_with_sep("anonymous" .. anonymous_suffix) elseif prefix_with_preceding_authors and (author_outputted or not suffix_without_preceding_authors) then add_with_sep(entities .. prefix_with_preceding_authors) elseif suffix_if_multiple and num_entities > 1 then add_with_sep(entities .. suffix_if_multiple) else add_with_sep(entities .. prefix_with_preceding_authors) end author_outputted = true end local function add_authorlabel() local default_authorlabel = a("default-authorlabel") if default_authorlabel and yesno(a("authorlabel"), true) then sep = nil add_with_sep(" " .. default_authorlabel) end end local function has_new_title_or_author() return args["2ndauthor"] or args["2ndlast"] or args.chapter2 or args.title2 or args.tlr2 or args.mainauthor2 or args.editor2 or args.editors2 or args.compiler2 or args.compilers2 or args.director2 or args.directors2 end local function has_newversion() return args.newversion or args.location2 or has_new_title_or_author() end -- Handle chapter=, section=, etc. `param` is the base name of the parameter in question, e.g. "chapter" or -- "section". If numeric (either Arabic or Roman), add `numeric_prefix`; otherwise, parse as textual (allowing for -- language prefixes, inline modifiers, etc.), prefix with `textual_prefix` (if given) and suffix with -- `textual_suffix` (if given). Also checks for and handles the following (assuming param == "chapter"): -- * chapterurl=: URL of the chapter. -- * trans-chapter=: Chapter translation (can be given using an inline modifier <t:...>). -- * chapter_number=: Chapter number, when chapter= is also given (otherwise put the chapter number in chapter=). -- * chapter_plain=: Plain version of the chapter number; the "chapter " prefix isn't added. -- * chapter_series=: Series that the chapter is within (used e.g. for journal articles part of a series). -- * chapter_seriesvolume=: Volume of the series (compare seriesvolume=). -- -- Returns nil if no value specified for the main parameter, otherwise the formatted value. local function format_chapterlike(param, numeric_prefix, textual_prefix, textual_suffix) local chap, chap_fullname = a_with_name(param) local chap_num, chap_num_fullname = a_with_name(param .. "_number") local chap_plain, chap_plain_fullname = parse_and_format_annotated_text_with_name(param .. "_plain") if chap_num and chap_plain then error(("Specify only one of |%s= or %s="):format(chap_num_fullname, chap_plain_fullname)) end local chap_series, chap_series_fullname = parse_and_format_annotated_text_with_name(param .. "_series", tag_with_cite, tag_with_cite) local chap_seriesvolume, chap_seriesvolume_fullname = parse_and_format_annotated_text_with_name(param .. "_seriesvolume") if chap_series then chap_series = ", " .. chap_series end if chap_seriesvolume then if not chap_series then error(("Cannot specify |%s= without %s="):format(chap_series_fullname, chap_seriesvolume_fullname)) end chap_series = chap_series .. " (" .. chap_seriesvolume .. ")" end local chapterurl local function make_chapter_with_url(chap) if chapterurl then return "[" .. chapterurl .. " " .. chap .. "]" else return chap end end if not chap then if chap_num then error( ("Cannot specify |%s= without |%s=; put the numeric value in |%s= directly"):format( chap_num_fullname, chap_fullname, chap_fullname ) ) end if chap_plain then chapterurl = aurl(param .. "url") return make_chapter_with_url(chap_plain .. (chap_series or "")) end return nil end local cleaned_chap = chap:gsub("<sup>[^<>]*</sup>", ""):gsub("[*+#]", "") chapterurl = aurl(param .. "url") local formatted if numeric_prefix and get_number(cleaned_chap) then -- Arabic chapter number formatted = numeric_prefix .. make_chapter_with_url(chap) elseif numeric_prefix and cleaned_chap:match("^[mdclxviMDCLXVI]+$") and roman_to_arabic(cleaned_chap, true) and (not overrides[param] or not overrides[param].noroman) then -- Roman chapter number formatted = numeric_prefix .. make_chapter_with_url(upper(chap)) else -- strip leading ! (used to force text-mode for titles that look like Roman numerals like "mil" and "dill") if chap:find("^!") then chap = chap:gsub("^!", "") end -- Must be a chapter name local chapterobj = parse_annotated_text(chap, chap_fullname, a("trans-" .. param)) chapterobj.text = make_chapter_with_url(chapterobj.text) chapterobj.link = make_chapter_with_url(chapterobj.link) formatted = (textual_prefix or "") .. format_annotated_text(chapterobj) .. (textual_suffix or "") end if chap_num or chap_plain then -- NOTE: Up above we throw an error if both chap_num and chap_plain are specified. formatted = formatted .. " (" .. (chap_plain or numeric_prefix .. chap_num) .. ")" end if chap_series then formatted = formatted .. chap_series end return formatted end -- This handles everything after displaying the author, starting with the chapter and ending with page, column, -- line and then other=. It is currently called twice: Once to handle the main portion of the citation, and once to -- handle a "newversion" citation. `ind` is either "" for the main portion or a number (currently only 2) for a -- "newversion" citation. In a few places we conditionalize on `ind` to take actions depending on its value. local function postauthor(ind, num_authors, format_as_cite) get_full_paramname = make_get_full_paramname(ind) if author_outputted then add_authorlabel() end local coauthors = parse_and_format_multivalued_annotated_text("coauthors", "và") if coauthors then local with_prefix = "" if author_outputted then with_prefix = "; " if num_authors == 1 then sep = "" end end add_with_sep(with_prefix .. coauthors) author_outputted = true end add_authorlike("quotee", " (trích dẫn gốc) ", ", quotee", ", quotees") if format_as_cite and author_outputted and not date_outputted then add_date() sep = " " end add_authorlike("chapter_tlr", " (dịch)", " (dịch)", nil, " translator") local function add_sg_and_pl_authorlike(noun, verbed) local sgparam = noun local plparam = noun .. "s" local sgval, sgval_fullname = a_with_name(sgparam) local plval, plval_fullname = a_with_name(plparam) if sgval and plval then error(("Can't specify both |%s= and |%s="):format(sgval_fullname, plval_fullname)) end if sgval or plval then local verbed_by = " (" .. verbed .. ")" local comma_sgnoun = " (" .. noun .. ")" local comma_plnoun = " (" .. noun .. ")" add_authorlike(sgparam, verbed_by, comma_sgnoun, comma_plnoun) add_authorlike(plparam, verbed_by, comma_plnoun) end end local formatted_entry = format_chapterlike("entry", nil, "“", "”") local formatted_chapter = format_chapterlike("chapter", "chương ", "“", "”") local function add_entry() if formatted_entry then add_with_sep(formatted_entry) if not a("notitle") then add("trong ") author_outputted = false else author_outputted = true end formatted_entry = nil end end local function add_chapter() add_entry() if formatted_chapter then add_with_sep(formatted_chapter) if not a("notitle") then add("trong ") author_outputted = false end formatted_chapter = nil end end local function add_actor_role(format_as_cite) local role = parse_and_format_multivalued_annotated_text("role", "và") local actor_val, actor_fullname = a_with_name("actor") local actor_objs = parse_multivalued_annotated_text(actor_val, actor_fullname) local actor = format_multivalued_annotated_text(actor_objs, "và") if format_as_cite then if role then if actor then add_with_sep(actor) end sep = nil add_with_sep(" as " .. role) elseif actor then add_with_sep(actor .. " (" .. (#actor_objs > 1 and "actors" or "actor") .. ")") end else if role then add_with_sep("spoken by " .. role) if actor then sep = nil add_with_sep(" (" .. actor .. ")") end elseif actor then add_with_sep(actor .. " (" .. (#actor_objs > 1 and "actors" or "actor") .. ")") end end end if format_as_cite then if date_outputted then add_chapter() end local output_len = #output local mainauthor = parse_and_format_multivalued_annotated_text("mainauthor") if mainauthor then add_with_sep(mainauthor) end -- quote-* templates display "jobbed by name" after the author, controlled by the author_outputted flag author_outputted = false add_authorlike("tlr", " (dịch)", " (dịch)", nil, " translator") author_outputted = false add_authorlike("editor", " (biên tập viên)") add_authorlike("editors", " (biên tập viên)") add_sg_and_pl_authorlike("compiler", "compiled") add_sg_and_pl_authorlike("director", "directed") add_authorlike("lyricist", nil, " (lời)", nil, " lyricist") add_authorlike("lyrics-translator", nil, " (translation)", nil, " lyrics translator") add_authorlike("composer", nil, " (music)", nil, " composer") add_actor_role("format_as_cite") -- if the output length has changed, a credit name has been printed -- and we can print the date if output_len ~= #output then author_outputted = true add_date() end add_chapter() else add_chapter() local mainauthor = parse_and_format_multivalued_annotated_text("mainauthor") if mainauthor then add_with_sep(mainauthor) author_outputted = true end add_authorlike("tlr", " (dịch)", " (dịch)", nil, " translator") add_authorlike("editor", " (biên tập viên)") add_authorlike("editors", " (biên tập viên)") add_sg_and_pl_authorlike("compiler", "compiled") add_sg_and_pl_authorlike("director", "directed") add_authorlike("lyricist", nil, " (lời)", nil, " lyricist") add_authorlike("lyrics-translator", nil, " (translation)", nil, " lyrics translator") add_authorlike("composer", nil, " (music)", nil, " composer") end local title, title_fullname = a_with_name("title") local need_comma = false if title then local titleobj = parse_annotated_text(title, title_fullname, a("trans-title")) add(format_annotated_text(titleobj, tag_with_cite, tag_with_cite)) local series = parse_and_format_annotated_text("series") if series then add(" (" .. series) local seriesvolume = parse_and_format_annotated_text("seriesvolume") if seriesvolume then add(SEMICOLON_SPACE .. seriesvolume) end add(")") end need_comma = true elseif ind == "" then if not a("notitle") then add(maintenance_line("Vui lòng cung cấp tên cuốn sách hoặc tên tạp chí")) need_comma = true end end local archiveurl, archiveurl_fullname = aurl_with_name("archiveurl") local url, url_fullname = aurl_with_name("url") local urls, urls_fullname = aurl_with_name("urls") if url and urls then error(("Supply only one of |%s= and |%s="):format(url_fullname, urls_fullname)) end local function verify_title_supplied(url_name) -- There are too many cases of this to throw an error at this time. -- if not title then -- error(("If |%s= is given, |%s= must also be supplied"):format(url_name, title_fullname)) -- end end if archiveurl or url then verify_title_supplied(archiveurl and archiveurl_fullname or url_fullname) sep = nil add("&lrm;<sup>[" .. (archiveurl or url) .. "]</sup>") elseif urls then verify_title_supplied(urls_fullname) sep = nil add("&lrm;<sup>" .. urls .. "</sup>") end -- display (in Language) if language is provided and is not English and not overriden by termlang or worklang if format_as_cite and ind == "" and not (args.termlang or args.worklang) and (args[1] or args.lang) then local lang = get_first_lang(args[1] or args.lang) if lang then local langcode = lang:getCode() if not (langcode == "und" or langcode == "vi") then local langs = format_langs(args[1] or args.lang) if langs then add(" (bằng " .. langs .. ")") end end end end if need_comma then sep = ", " end local edition, edition_fullname = parse_and_format_annotated_text_with_name("edition") local edition_plain, edition_plain_fullname = parse_and_format_annotated_text_with_name("edition_plain") if edition and edition_plain then error(("Supply only one of |%s= and |%s="):format(edition_fullname, edition_plain_fullname)) end if edition then add_with_sep("ấn bản " .. edition) end if edition_plain then add_with_sep(edition_plain) end -- Display a numeric param such as page=, volume=, column=. For each `paramname`, four params are actually -- recognized, e.g. for paramname == "page", the params page=, pages=, page_plain= and pageurl= are recognized -- and checked (or the same with an index, e.g. page2=, pages2=, page_plain2= and pageurl2= respectively if -- ind == "2"). Only one of the first three can be specified; an error results if more than one are given. -- If none are given, the return value is nil; otherwise it is a string. The numeric spec is taken directly -- from e.g. page_plain= if given; otherwise if e.g. pages= is given, or if page= is given and looks like a -- combination of numbers (i.e. it has a hyphen or dash in it, a comma, or the word " and "), it is prefixed -- by `singular_desc` + "s" (e.g. "pages "), otherwise it is prefixed by just `singular_desc` (e.g. "page "). -- (As a special case, if either e.g. page=unnumbered or pages=unnumbered is given, the numeric spec is -- "unnumbered page".) The resulting spec is returned directly unless e.g. pageurl= is given, in which case -- it is linked to the specified URL. Note that any of the specs can be foreign text, e.g. foreign numbers -- (including with optional inline modifiers), and such text is handled appropriately. local function format_numeric_param(paramname, singular_desc) local sgval = a_with_name(paramname) local sgobj = parse_annotated_text(sgval, paramname) local plparamname = paramname .. "s" local plval = a_with_name(plparamname) local plobj = parse_annotated_text(plval, plparamname) local plainval, plain_fullname = parse_and_format_annotated_text_with_name(paramname .. "_plain") local numspec if not sgval and not plval and not plainval then return elseif plainval and (sgval or plval) then error(("Can't specify " .. plain_fullname .. " with " .. paramname .. " or " .. plparamname)) elseif sgval and plval then -- if both singular and plural, display "page 1 of 1-10" numspec = singular_desc .. " " .. sgval .. " of " .. plval else -- Merge page= and pages= and treat alike because people often mix them up in both directions. if plainval then numspec = plainval else local val = sgobj and sgobj.text or plobj.text if val == "unnumbered" then numspec = "unnumbered " .. singular_desc else local desc if val:find("^!") then val = val:gsub("^!", "") desc = sgval and singular_desc or pluralize(singular_desc) else local check_val = val if check_val:find("%[") then check_val = remove_links(check_val) -- convert URL's of the form [URL DISPLAY] to the displayed value check_val = check_val:gsub("%[[^ %[%]]* ([^%[%]]*)%]", "%1") end -- in case of negative page numbers (do they exist?), don't treat as multiple pages check_val = check_val:gsub("^%-", "") -- replace HTML entity en-dashes and em-dashes with their literal codes check_val = check_val:gsub("&ndash;", "–") check_val = check_val:gsub("&#8211;", "–") check_val = check_val:gsub("&mdash;", "—") check_val = check_val:gsub("&#8212;", "—") -- Check for en-dash or em-dash, or two numbers (possibly with stuff after like 12a-15b) -- separated by a hyphen or by comma a followed by a space (to avoid firing on thousands separators). if umatch(check_val, "[–—]") or check_val:find(" and ") or check_val:match("%d+[^ ]* *%- *%d+") or check_val:match("%d+[^ ]* *, +%d+") then desc = singular_desc else desc = singular_desc end end local obj = sgobj or plobj obj.text = val if obj.link:find("^!") then obj.link = obj.link:gsub("^!", "") end val = format_annotated_text(obj) numspec = desc .. " " .. val end end end local url = a(paramname .. "url") if url then return "[" .. url .. " " .. numspec .. "]" else return numspec end end local volume = format_numeric_param("volume", a("volume_prefix") or "tập") if volume then add_with_sep(volume) end local issue = format_numeric_param("issue", a("issue_prefix") or "số") if issue then add_with_sep(issue) end -- number= is an alias for issue= (except in {{quote-av}}, where it is the episode number) local number = format_numeric_param("number", a("number_prefix") or "số") if number then add_with_sep(number) end local annotations = {} local genre = a("genre") if genre then insert(annotations, genre) end local format = a("format") if format then insert(annotations, format) end local medium = a("medium") if medium then insert(annotations, medium) end -- Now handle the display of language annotations like "(in French)" or -- "(quotation in Nauruan; overall work in German)". local quotelang = args[1] or args.lang if not quotelang then if ind == "" then -- This can only happen for certain non-mainspace pages, e.g. Talk pages; otherwise an error is thrown -- above. insert(annotations, maintenance_line("Please specify the language of the quote using |1=")) else -- do nothing in newversion= portion end elseif ind == "" then local worklang = a("worklang") local termlang = a("termlang") worklang = worklang or quotelang termlang = termlang or quotelang if worklang == quotelang then if worklang == termlang then -- do nothing else insert(annotations, "bằng " .. format_langs(quotelang)) end else if quotelang ~= termlang then insert(annotations, "quotation in " .. format_langs(quotelang)) end insert(annotations, "toàn bộ nội dung viết bằng " .. format_langs(worklang)) end else local lang2 = a("lang2") if lang2 then insert(annotations, "in " .. format_langs(lang2)) end end if #annotations > 0 then sep = nil add_with_sep(" (" .. concat(annotations, SEMICOLON_SPACE) .. ")") end local artist = parse_and_format_multivalued_annotated_text("artist", "và") if artist then add_with_sep(artist .. " biểu diễn") end local feat = parse_and_format_multivalued_annotated_text("feat", "và") if feat then sep = " " add_with_sep("ft. " .. feat) end if not format_as_cite then add_actor_role() end local others = parse_and_format_annotated_text("others") if others then add_with_sep(others) end local quoted_in = parse_and_format_annotated_text("quoted_in", tag_with_cite, tag_with_cite) if quoted_in then add_with_sep("dẫn trong " .. quoted_in) insert(tracking_categories, "Quotations using quoted-in parameter") end local location = parse_and_format_multivalued_annotated_text("location") local publisher = parse_and_format_multivalued_annotated_text("publisher", "; ") if publisher then if location then add_with_sep(location) -- colon sep = "&#58; " -- colon end add_with_sep(publisher) elseif location then add_with_sep(location) end if not date_outputted then add_date("no_paren") end local source = parse_and_format_multivalued_annotated_text("source", "và") if source then add_with_sep("sourced from " .. source) end local original = parse_and_format_annotated_text("bản gốc", tag_with_cite, tag_with_cite) local by = parse_and_format_multivalued_annotated_text("by", "và") local origtype = a("deriv") or "bản gốc" if original or by then add_with_sep(origtype .. " " .. (original or "bản gốc") .. (by and " của " .. by or "")) end -- Handle origlang=, origworklang=. How we handle them depends on whether the original title or author are explicitly -- given. local origlang = a("origlang") local origworklang = a("origworklang") local origlangtext, origworklangtext if origlang then origlangtext = "từ " .. format_langs(origlang) end if origworklang then origworklangtext = "overall work in " .. format_langs(origworklang) end if origlang or origworklang then if original or by then local orig_annotations = {} if origlangtext then insert(orig_annotations, origlangtext) end if origworklangtext then insert(orig_annotations, origworklangtext) end sep = nil add_with_sep(" (" .. concat(orig_annotations, SEMICOLON_SPACE) .. ")") else add_with_sep(origtype .. " có nguồn gốc" .. (origlangtext and " " .. origlangtext or "")) if origworklangtext then sep = nil add_with_sep(" (" .. origworklangtext .. ")") end end end if ind ~= "" and has_newversion() then local formatted_new_date = format_date_args(a, get_full_paramname, alias_map, "", "", nil, "Please provide a date or year", true) if formatted_new_date then add_with_sep(formatted_new_date) end end -- Fetch date_published=/year_published=/month_published= and format appropriately. local formatted_date_published = format_date_args(a, get_full_paramname, alias_map, "", "_published", nil, nil, true) local platform = parse_and_format_multivalued_annotated_text("platform", "and") if formatted_date_published then add_with_sep("xuất bản " .. formatted_date_published .. (platform and " via " .. platform or "")) elseif platform then add_with_sep("via " .. platform) end -- From here on out, there should always be a preceding item, so we -- can dispense with add_with_sep() and always insert the comma. sep = nil local function small(txt) add(", <small>") add(txt) add("</small>") end -- Add an identifier to a book or article database such as DOI, ISBN, JSTOR, etc. `param_or_params` -- is a string identifying the base param, or a list of such strings to check in turn. If found, the value -- of the parameter is processed using `process` (a function of one argument, defaulting to mw.uri.encode()), -- and then the actual URL to insert is generated by preceding with `pretext`, following with `posttext`, -- and running the resulting string through small(), which first adds a comma and then the URL in small font. local function add_identifier(param_or_params, pretext, posttext, process) local val = a(param_or_params) if val then val = (process or mw.uri.encode)(val) small(pretext .. val .. posttext) end end add_identifier("bibcode", "[https://adsabs.harvard.edu/abs/", " →Bibcode]") add_identifier("doi", '<span class="neverexpand">[https://doi.org/', " →DOI]</span>") add_identifier("isbn", "", "", isbn) add_identifier("issn", "", "", issn) add_identifier("jstor", "[https://www.jstor.org/stable/", " →JSTOR]") add_identifier("lccn", "", "", lccn) add_identifier("oclc", "[https://search.worldcat.org/title/", " →OCLC]") add_identifier("ol", "[https://openlibrary.org/works/OL", "/ →OL]") add_identifier("pmid", "[https://www.ncbi.nlm.nih.gov/pubmed/", " →PMID]") add_identifier("pmcid", "[https://www.ncbi.nlm.nih.gov/pmc/articles/", "/ →PMCID]") add_identifier("ssrn", "[https://ssrn.com/abstract=", " →SSRN]") -- add_identifier("urn", "", "", urn) local id = a("id") if id then small(id) end archiveurl, archiveurl_fullname = aurl_with_name("archiveurl") if archiveurl then add(", [" .. url .. " bản gốc]") local url, url_fullname = aurl_with_name("url") if not url then -- attempt to infer original URL from archive URL; this works at -- least for Wayback Machine (web.archive.org) URL's url = archiveurl:match("/(https?:.*)$") if not url then error( ("When |%s= is specified, |%s= must also be included"):format(archiveurl_fullname, url_fullname) ) end end add(" lưu trữ ") local archivedate, archivedate_fullname = a_with_name("archivedate") if archivedate then add(format_date(archivedate)) elseif string.sub(archiveurl, 1, 28) == "https://web.archive.org/web/" then -- If the archive is from the Wayback Machine, then it already contains the date -- Get the date and format it local wayback_date = string.sub(archiveurl, 29, 29 + 7) wayback_date = string.sub(wayback_date, 1, 4) .. "-" .. string.sub(wayback_date, 5, 6) .. "-" .. string.sub(wayback_date, 7, 8) add(format_date(wayback_date)) else error( ("When |%s= is specified, |%s= must also be included"):format( archiveurl_fullname, archivedate_fullname ) ) end end if a("accessdate") then --Otherwise do not display here, as already used as a fallback for missing date= or year= earlier. if (a("date") or a("nodate") or a("year")) and not a("archivedate") then add(", truy cập " .. format_date(a("accessdate"))) end end local formatted_section = format_chapterlike("section", "mục ") if formatted_section then add(", ") add(formatted_section) end -- video game stuff local system = parse_and_format_annotated_text("system") if system then add(", " .. system) end local scene = parse_and_format_annotated_text("scene") if scene then add(", scene: " .. scene) end local level = parse_and_format_annotated_text("level") if level then add(", level/area: " .. level) end local note = parse_and_format_annotated_text("note") if note then add(", " .. note) end local note_plain = parse_and_format_annotated_text("note_plain") if note_plain then add(" " .. note_plain) end -- Wrapper around format_numeric_param that inserts the formatted text with optional preceding text. local function handle_numeric_param(paramname, singular_desc, pretext) local numspec = format_numeric_param(paramname, singular_desc) if numspec then add((pretext or "") .. numspec) end end handle_numeric_param("page", a("page_prefix") or "tr.", ", ") handle_numeric_param("column", a("column_prefix") or "cột", ", ") handle_numeric_param("line", a("line_prefix") or "dòng", ", ") -- FIXME: Does this make sense? What is other=? local other = parse_and_format_annotated_text("other") if other then add(", " .. other) end end local function add_authors(args, last_first) -- Find maximum indexed author or last name. local maxind = math.max(args.author.maxindex, args.last.maxindex) -- Include max index of ancillary params so we get an error message about their use without the primary params. local ancillary_params = {"trans-author", "authorlink", "trans-authorlink", "first", "trans-first", "trans-last"} for _, ancillary in ipairs(ancillary_params) do maxind = math.max(maxind, args[ancillary].maxindex) end local num_authors = 0 for i = 1, maxind do local ind = i == 1 and "" or i local author, last = args.author[i], args.last[i] if author or last then local this_num_authors = add_author( author, "author" .. ind, args["trans-author"][i], "trans-author" .. ind, args.authorlink[i], "authorlink" .. ind, args["trans-authorlink"][i], "trans-authorlink" .. ind, args.first[i], "first" .. ind, args["trans-first"][i], "trans-first" .. ind, last, "last" .. ind, args["trans-last"][i], "trans-last" .. ind, last_first ) num_authors = num_authors + this_num_authors sep = last_first and "; " or ", " else for _, cant_have in ipairs(ancillary_params) do if args[cant_have][i] then error(("Can't have |%s%s= without |author%s= or |last%s="):format(cant_have, ind, ind, ind)) end end end end return num_authors end local function add_newversion() -- If there's a "newversion" section, add the new-version text. if has_newversion() then sep = nil --Test for new version of work. add(SEMICOLON_SPACE) if args.newversion then -- newversion= is intended for English text, e.g. "quoted in" or "republished as". add(args.newversion) elseif not args.edition2 then if has_new_title_or_author() then add("tái bản: ") else add("republished") end end add(" ") return "" else return ", " end end ------------------- Now we start outputting text ---------------------- local need_comma = false -- Set this now so a() works just below. get_full_paramname = make_get_full_paramname("") if args.brackets then add("[") end bold_year = not format_as_cite year_last = format_as_cite formatted_date, need_date = format_date_args( a, get_full_paramname, alias_map, nil, nil, bold_year, "Can we [[:Category:Requests for date|date]] this quote?", year_last ) -- Fetch origdate=/origyear=/origmonth= and format appropriately. formatted_origdate = format_date_args(a, get_full_paramname, alias_map, "orig", nil, nil, nil, year_last) local num_authors, need_date if format_as_cite then num_authors = add_authors(args, "last_first") if author_outputted then sep = " " end -- Display all the text that comes after the author, for the main portion. postauthor("", num_authors, "format_as_cite") author_outputted = false sep = add_newversion() -- Add the newversion author(s). if args["2ndauthor"] or args["2ndlast"] then num_authors = add_author( args["2ndauthor"], "2ndauthor", nil, nil, args["2ndauthorlink"], "2ndauthorlink", nil, nil, args["2ndfirst"], "2ndfirst", nil, nil, args["2ndlast"], "2ndlast", nil, nil, "last_first" ) sep = ", " else for _, cant_have in ipairs{"2ndauthorlink", "2ndfirst"} do if args[cant_have] then error(("Can't have |%s= without |2ndauthor= or |2ndlast="):format(cant_have)) end end end -- Display all the text that comes after the author, for the "newversion" section. postauthor(2, num_authors, "format_as_cite") else if formatted_date then need_comma = true add(formatted_date) end if formatted_origdate then need_comma = true add(SPACE_LBRAC .. formatted_origdate .. RBRAC) end if need_comma then sep = ", " end date_outputted = true num_authors = add_authors(args) -- Display all the text that comes after the author, for the main portion. postauthor("", num_authors) author_outputted = false sep = add_newversion() -- Add the newversion author(s). if args["2ndauthor"] or args["2ndlast"] then num_authors = add_author( args["2ndauthor"], "2ndauthor", nil, nil, args["2ndauthorlink"], "2ndauthorlink", nil, nil, args["2ndfirst"], "2ndfirst", nil, nil, args["2ndlast"], "2ndlast", nil, nil ) sep = ", " else for _, cant_have in ipairs{"2ndauthorlink", "2ndfirst"} do if args[cant_have] then error(("Can't have |%s= without |2ndauthor= or |2ndlast="):format(cant_have)) end end end -- Display all the text that comes after the author, for the "newversion" section. postauthor(2, num_authors) end if not args.nocolon then sep = nil add(":") elseif args.usenodot and not args.nodot then add(".") end -- Concatenate output portions to form output text. local output_text = concat(output) -- Remainder of code handles adding categories. We add one or more of the following categories: -- -- 1. [[Category:LANG terms with quotations]], based on the first language code in termlang= or 1=. Added to -- mainspace, Reconstruction: and Appendix: pages as well as Citations: pages if the corresponding mainspace -- page exists. Not added if nocat= is given. Note that [[Module:usex]] adds the same category using the same -- logic, but we do it here too because we may not have a quotation to format. (We add in those circumstances -- because typically when there's no quotation to format, it's because it's formatted manually underneath the -- citation, or using {{ja-x}}, {{th-x}} or similar.) -- 2. [[Category:Requests for date in LANG entries]], based on the first language code in 1=. Added to mainspace, -- Reconstruction:, Appendix: and Citations: pages unless nocat= is given. -- 3. [[Category:Quotations using nocat parameter]], if nocat= is given. Added to mainspace, Reconstruction:, -- Appendix: and Citations: pages. local categories = {} local termlang = get_first_lang(args.termlang or argslang) if args.nocat then if format_as_cite then insert(tracking_categories, "Citations using nocat parameter") else insert(tracking_categories, "Quotations using nocat parameter") end else -- don't create language tracking categories for citations if not format_as_cite then local title if args.pagename then -- for testing, doc pages, etc. title = mw.title.new(args.pagename) if not title then error(("Bad value for `args.pagename`: '%s'"):format(args.pagename)) end else title = mw.title.getCurrentTitle() end -- Only add [[Citations:foo]] to [[:Category:LANG terms with quotations]] if [[foo]] exists. local ok_to_add_cat if title.nsText ~= "Citations" then ok_to_add_cat = true else local mainspace_title = mw.title.new(title.text) if mainspace_title and mainspace_title.exists then ok_to_add_cat = true end end if ok_to_add_cat then insert(categories, termlang:getFullName() .. " terms with quotations") end end if need_date then local argslangobj = get_first_lang(argslang) insert(categories, "Requests for date in " .. argslangobj:getCanonicalName() .. " entries") end end return output_text .. ( not lang and "" or (#categories > 0 and format_categories(categories, lang, args.sort) or "") .. ( #tracking_categories > 0 and format_categories( tracking_categories, lang, args.sort, nil, not page_should_be_ignored(mw.title.getCurrentTitle().fullText) ) or "" ) ) end -- Alias specs for type= and type2=. Each spec is `{canon, aliases, with_newversion}` where `canon` is the canonical -- parameter (with "2" added if type2= is being handled), `aliases` is a comma-separated string of aliases (with "2" -- added if type2= is being handled, except for numeric params), and `with_newversion` indicates whether we should -- process this spec if type2= is being handled. local type_alias_specs = { book = { {"author", "3"}, {"title", "4"}, {"url", "5"}, {"year", "2"}, {"page", "6"}, {"text", "7"}, {"t", "8"}, }, journal = { {"year", "2"}, {"author", "3"}, {"chapter", "title,article,4", true}, {"chapterurl", "titleurl,articleurl", true}, {"trans-chapter", "trans-title,trans-article", true}, {"chapter_tlr", "article_tlr", true}, {"chapter_series", "article_series", true}, {"chapter_seriesvolume", "article_seriesvolume", true}, {"chapter_number", "article_number", true}, {"chapter_plain", "title_plain,article_plain", true}, {"title", "journal,magazine,newspaper,work,5", true}, {"trans-title", "trans-journal,trans-magazine,trans-newspaper,trans-work", true}, {"url", "6"}, {"page", "7"}, {"source", "newsagency", true}, {"text", "8"}, {"t", "9"}, }, } -- Process interally-handled aliases related to type= or type2=. `args` is a table of arguments; `typ` is the value of -- type= or type2=; newversion=true if we're dealing with type2=; alias_map is used to keep track of alias mappings -- seen. local function process_type_aliases(args, typ, newversion, alias_map) local ind = newversion and "2" or "" local deprecated = ine(args.lang) if not type_alias_specs[typ] then local possible_values = {} for possible, _ in pairs(type_alias_specs) do insert(possible_values, possible) end sort(possible_values) error( ("Unrecognized value '%s' for type%s=; possible values are %s"):format( typ, ind, concat(possible_values, ",") ) ) end for _, alias_spec in ipairs(type_alias_specs[typ]) do local canon, aliases, with_newversion = unpack(alias_spec) if with_newversion or not newversion then canon = canon .. ind aliases = split(aliases, ",", true) local saw_alias = nil for _, alias in ipairs(aliases) do if alias:match("^%d+$") then alias = tonumber(alias) if deprecated then alias = alias - 1 end else alias = alias .. ind end if args[alias] then if saw_alias == nil then saw_alias = alias else error(("|%s= and |%s= are aliases; cannot specify a value for both"):format(saw_alias, alias)) end end end if saw_alias and (not newversion or type(saw_alias) == "string") then if args[canon] then error(("|%s= is an alias of |%s=; cannot specify a value for both"):format(saw_alias, canon)) end args[canon] = args[saw_alias] -- Wipe out the original after copying. This is important in case of a param that has general significance -- but has been redefined (e.g. {{quote-av}} redefines number= for the episode number, and -- {{quote-journal}} redefines title= for the chapter= (article). It's also important due to unhandled -- parameter checking. args[saw_alias] = nil alias_map[canon] = saw_alias end end end end -- Clone and combine frame's and parent's args while also assigning nil to empty strings. Handle aliases and ignores. local function clone_args(direct_args, parent_args) local args = {} -- Processing parent args must come first so that direct args override parent args. Note that if a direct arg is -- specified but is blank, it will still override the parent arg (with nil). for pname, param in pairs(parent_args) do -- [[Special:WhatLinksHere/Wiktionary:Tracking/quote/param/PARAM]] track("param/" .. pname) args[pname] = ine(param) end -- Process ignores. The value of `ignore` is a comma-separated list of parameter names to ignore (erase). We need to -- do this before aliases due to {{quote-song}}, which sets chapter= to the value of title= in the direct params and -- sets title= to the value of album= using an alias. If we do the ignores after aliases, we get an error during alias -- processing, saying that title= and its alias album= are both present. local ignores = ine(direct_args.ignore) if ignores then for ignore in gsplit(ignores, "%s*,%s*") do args[ignore] = nil end end local alias_map = {} local other_controls = {} -- noroman local noroman = ine(direct_args.noroman) if noroman then other_controls.overrides = other_controls.overrides or {} for param in gsplit(noroman, "%s*,%s*") do other_controls.overrides[param] = (other_controls.overrides[param] or {}) other_controls.overrides[param].noroman = true end end -- Process internally-specified aliases using type= or type2=. local typ = args.type or direct_args.type if typ then process_type_aliases(args, typ, false, alias_map) end local typ2 = args.type2 or direct_args.type2 if typ2 then process_type_aliases(args, typ2, true, alias_map) end -- Process externally-specified aliases. The value of `alias` is a list of semicolon-separated specs, each of which -- is of the form DEST:SOURCE,SOURCE,... where DEST is the canonical name of a parameter and SOURCE refers to an -- alias. Whitespace is allowed between all delimiters. The order of aliases may be important. For example, for -- {{quote-journal}}, title= contains the article name and is an alias of underlying chapter=, while journal= or -- work= contains the journal name and is an alias of underlying title=. As a result, the title -> chapter alias -- must be specified before the journal/work -> title alias. -- -- Whenever we copy a value from argument SOURCE to argument DEST, we record an entry for the pair in alias_map, so -- that when we would display an error message about DEST, we display SOURCE instead. -- -- Do alias processing (and ignore and error_if processing) before processing direct_args so that e.g. we can set up -- an alias of title -> chapter and then set title= to something else in the direct args ({{quote-hansard}} does -- this). -- -- FIXME: Delete this once we've converted all alias processing to internal. local aliases = ine(direct_args.alias) if aliases then -- Allow and discard a trailing semicolon, to make managing multiple aliases easier. aliases = ugsub(aliases, "%s*;$", "") for alias_spec in gsplit(aliases, "%s*;%s*") do local alias_spec_parts = split(alias_spec, "%s*:%s*") if #alias_spec_parts ~= 2 then error(("Alias spec '%s' should have one colon in it"):format(alias_spec)) end local dest, sources = unpack(alias_spec_parts) sources = split(sources, "%s*,%s*") local saw_source = nil for _, source in ipairs(sources) do if source:match("^%d+$") then source = tonumber(source) end if args[source] then if saw_source == nil then saw_source = source else error(("|%s= and |%s= are aliases; cannot specify a value for both"):format(saw_source, source)) end end end if saw_source then if args[dest] then error(("|%s= is an alias of |%s=; cannot specify a value for both"):format(saw_source, dest)) end args[dest] = args[saw_source] -- Wipe out the original after copying. This important in case of a param that has general significance -- but has been redefined (e.g. {{quote-av}} redefines number= for the episode number, and -- {{quote-journal}} redefines title= for the chapter= (article). It's also important due to unhandled -- parameter checking. args[saw_source] = nil alias_map[dest] = saw_source end end end -- Process error_if. The value of `error_if` is a comma-separated list of parameter names to throw an error if seen -- in parent_args (they are params we overwrite in the direct args). local error_ifs = ine(direct_args.error_if) if error_ifs then for error_if in gsplit(error_ifs, "%s*,%s*") do if ine(parent_args[error_if]) then error( ("Cannot specify a value |%s=%s as it would be overwritten or ignored"):format( error_if, ine(parent_args[error_if]) ) ) end end end for pname, param in pairs(direct_args) do -- ignore control params if pname ~= "ignore" and pname ~= "alias" and pname ~= "error_if" and pname ~= "noroman" then args[pname] = ine(param) end end return args, alias_map, other_controls end local function get_args(frame_args, parent_args, require_lang) -- FIXME: We are processing arguments twice, once in clone_args() and then again in [[Module:parameters]]. This is -- wasteful of memory. local cloned_args, alias_map, other_controls = clone_args(frame_args, parent_args) local deprecated = ine(parent_args.lang) local alias_of_t = {alias_of = "t"} local boolean = {type = "boolean"} local language_sublist = {type = "language", sublist = true} local list_allow_holes = {list = true, allow_holes = true} local script = {type = "script"} -- First, the "single" params that don't have FOO2 or FOOn versions. local params = { [deprecated and "lang" or 1] = {required = require_lang, type = "language", sublist = true, default = "und"}, ["lang2"] = language_sublist, ["newversion"] = true, ["author"] = list_allow_holes, ["2ndauthor"] = true, ["trans-author"] = list_allow_holes, ["authorlink"] = list_allow_holes, ["2ndauthorlink"] = true, ["trans-authorlink"] = list_allow_holes, ["first"] = list_allow_holes, ["2ndfirst"] = true, ["trans-first"] = list_allow_holes, ["last"] = list_allow_holes, ["2ndlast"] = true, ["trans-last"] = list_allow_holes, ["nocat"] = boolean, ["nocolon"] = boolean, -- quote params text = true, passage = {alias_of = "text"}, tr = true, transliteration = {alias_of = "tr"}, ts = true, transcription = {alias_of = "ts"}, norm = true, normalization = {alias_of = "norm"}, sc = script, normsc = script, sort = true, subst = true, footer = true, lit = true, t = true, translation = alias_of_t, gloss = alias_of_t, lb = true, brackets = boolean, -- original quote params origtext = true, origtr = true, origts = true, orignorm = true, origsc = script, orignormsc = script, origsubst = true, origlb = true, usenodot = boolean, nodot = boolean, inline = boolean, asquote = boolean, ascite = boolean, } -- Most params have PARAM2 variants for use with `newversion`. FIXME: We should generalize this to -- allow PARAMN variants for any N. local function add_with_2(param, value) params[param] = value params[param .. "2"] = value end local function alias_with_2(alias, canon) params[alias] = {alias_of = canon} params[alias .. "2"] = {alias_of = canon .. "2"} end for _, param12 in ipairs{ "worklang", "termlang", "origlang", "origworklang" } do add_with_2(param12, language_sublist) end -- Then the newversion params (which have FOO2 versions). for _, param12 in ipairs{ -- author-like params; author params themselves are either list params (author=, last=, etc.) or single params -- (2ndauthor=, 2ndlast=, etc.) "coauthors", "quotee", "tlr", "editor", "editors", "mainauthor", "compiler", "compilers", "director", "directors", "lyricist", "lyrics-translator", "composer", "role", "actor", "artist", "feat", -- author control params "default-authorlabel", "authorlabel", -- title "title", "trans-title", "series", "seriesvolume", "notitle", -- entry "entry", "entryurl", "trans-entry", -- chapter "chapter", "chapterurl", "chapter_number", "chapter_plain", "chapter_series", "chapter_seriesvolume", "trans-chapter", "chapter_tlr", -- section "section", "sectionurl", "section_number", "section_plain", "section_series", "section_seriesvolume", "trans-section", -- other video-game params "system", "scene", "level", -- URL "url", "urls", "archiveurl", -- edition "edition", "edition_plain", -- ID params "bibcode", "doi", "isbn", "issn", "jstor", "lccn", "oclc", "ol", "pmid", "pmcid", "ssrn", "urn", "id", -- misc date params; most date params handled below "archivedate", "accessdate", "nodate", -- numeric params handled below -- other params "type", "genre", "format", "medium", "others", "quoted_in", "location", "publisher", "original", "by", "deriv", "note", "note_plain", "other", "source", "platform", } do add_with_2(param12, true) end -- Then the aliases of newversion params (which have FOO2 versions). for _, param12_aliased in ipairs{ {"role", "roles"}, {"role", "speaker"}, {"tlr", "translator"}, {"tlr", "translators"}, {"doi", "DOI"}, {"isbn", "ISBN"}, {"issn", "ISSN"}, {"jstor", "JSTOR"}, {"lccn", "LCCN"}, {"oclc", "OCLC"}, {"ol", "OL"}, {"pmid", "PMID"}, {"pmcid", "PMCID"}, {"ssrn", "SSRN"}, {"urn", "URN"}, } do local canon, alias = unpack(param12_aliased) alias_with_2(alias, canon) end -- Then the date params. for _, datelike in ipairs{{"", ""}, {"orig", ""}, {"", "_published"}} do local pref, suf = unpack(datelike) for _, arg in ipairs{"date", "year", "month", "start_date", "start_year", "start_month"} do add_with_2(pref .. arg .. suf, true) end end local numeric_param_suffixes = {"", "s", "_plain", "url", "_prefix"} -- Then the numeric params. for _, numeric in ipairs{"volume", "issue", "number", "line", "page", "column"} do for _, suf in ipairs(numeric_param_suffixes) do add_with_2(numeric .. suf, true) end end -- And the aliases of numeric params. for _, numeric_aliased in ipairs{{"volume", "vol"}} do local canon, alias = unpack(numeric_aliased) for _, suf in ipairs(numeric_param_suffixes) do alias_with_2(alias .. suf, canon .. suf) end end return process_params(cloned_args, params), alias_map, other_controls end local function get_origtext_params(args) local origtext, origtextlang, origsc, orignormsc if args.origtext then -- Wiktionary language codes have at least two lowercase letters followed possibly by lowercase letters and/or -- hyphens (there are more restrictions but this is close enough). Also check for nonstandard Latin etymology -- language codes (e.g. VL. or LL.). (There used to be more nonstandard codes but they have all been -- eliminated.) origtextlang, origtext = args.origtext:match("^(%l%l[%l-]*):([^ ].*)$") if not origtextlang then -- Special hack for Latin variants, which can have nonstandard etym codes, e.g. VL., LL. origtextlang, origtext = args.origtext:match("^(%uL%.):([^ ].*)$") end if not origtextlang then error("origtext= should begin with a language code prefix") end origtextlang = get_lang(origtextlang, nil, "allow etym") or error("origtext= should begin with a language code prefix") origsc = args.origsc orignormsc = args.orignormsc else for _, noparam in ipairs{"origtr", "origts", "origsc", "orignorm", "orignormsc", "origsubst", "origlb"} do if args[noparam] then error(("Cannot specify %s= without origtext="):format(noparam)) end end end return origtext, origtextlang, origsc, orignormsc end local function get_quote(args, is_cite) local text = args.text local gloss = args.t local tr = args.tr local ts = args.ts local norm = args.norm local sc = args.sc local normsc = args.normsc -- Fetch original-text parameters. local origtext, origtextlang, origsc, orignormsc = get_origtext_params(args) -- If any quote-related args are present, display the actual quote; otherwise, display nothing. if text or gloss or tr or ts or norm or args.origtext then -- Pass "und" here rather than cause an error; there will be an error on mainspace, Citations, etc. pages -- in any case in source() if the language is omitted. local lang = get_first_lang(args[1] or args.lang) local termlang = args.termlang and get_first_lang(args.termlang) or lang local usex_data = { lang = lang, termlang = termlang, usex = text, sc = sc, translation = gloss, normalization = norm, normsc = normsc, transliteration = tr, transcription = ts, brackets = args.brackets, subst = args.subst, lit = args.lit, footer = args.footer, qq = parse_and_format_labels(args.lb, lang), quote = "quote-meta", orig = origtext, origlang = origtextlang, origsc = origsc, orignorm = args.orignorm, orignormsc = orignormsc, origtr = args.origtr, origts = args.origts, origsubst = args.origsubst, origqq = parse_and_format_labels(args.origlb, lang), noreq = args.noreq, nocat = is_cite or args.nocat, } if args.inline then -- don't let usex format the footer, otherwise it gets inlined with the rest of the quoted text usex_data.footer = nil usex_data.inline = 1 text = format_usex(usex_data) if text then text = " “" .. text .. "”" else text = "" end if args.footer then text = text .. "<dl><dd>" .. args.footer .. "</dd></dl>" end else text = "<dl><dd>" .. format_usex(usex_data) .. "</dd></dl>" end elseif args.footer then text = "<dl><dd>" .. args.footer .. "</dd></dl>" end return text end -- External interface, meant to be called from a template. Replaces {{quote-meta}} and meant to be the primary -- interface for {{quote-*}} templates. function export.quote_t(frame) local args, alias_map, other_controls = get_args(frame.args, frame:getParent().args, "require_lang") if args.ascite then return export.cite_t(frame) end return show_quote(args, alias_map, other_controls) end function show_quote(args, alias_map, other_controls) local parts = {} insert(parts, '<div class="citation-whole"><span class="cited-source">') insert(parts, export.source(args, alias_map, nil, other_controls)) insert(parts, "</span>") insert(parts, get_quote(args)) insert(parts, "</div>") local retval = concat(parts) return deprecated and frame:expandTemplate({ title = "check deprecated lang param usage", args = {retval, lang = args.lang}, }) or retval end -- External interface, meant to be called from a template. Replaces {{cite-meta}} and meant to be the primary -- interface for {{cite-*}} templates. function export.cite_t(frame) local parent_args = {} for k, v in pairs(frame:getParent().args) do parent_args[k] = v end -- use "und" as lang if none provided if parent_args[1] == nil then parent_args[1] = "und" end local args, alias_map, other_controls = get_args(frame.args, parent_args) if args.asquote then return show_quote(args, alias_map, other_controls) end return show_cite(args, alias_map, other_controls) end function show_cite(args, alias_map, other_controls) local parts = {} -- don't nag for translations if args.text and not args.t then args.noreq = 1 end local len_visible = args.text and ulen((args.text:gsub("<[^<>]+>", ""))) or 0 if len_visible == 0 then if not args.t or args.t == "-" then args.nocolon = true end elseif args.inline == nil then args.inline = not ( args.block_text or len_visible > 300 or (args.t and not args.t == "-" and len_visible < 80) or string.match(args.text, "<br>") ) end insert(parts, '<span class="citation-whole"><span class="cited-source">') insert(parts, export.source(args, alias_map, "format_as_cite", other_controls)) insert(parts, "</span>") insert(parts, get_quote(args, "is_cite")) insert(parts, "</span>") local retval = concat(parts) return deprecated and frame:expandTemplate({ title = "check deprecated lang param usage", args = {retval, lang = args.lang}, }) or retval end -- External interface, meant to be called from a template. function export.call_quote_template(frame) return export.call_template(frame) end -- External interface, for calling a template with overloaded parameters. function export.overload(frame) local iargs, overloaded_args = process_params(frame.args, { [1] = {required = true} }, true) local parent_args = frame:getParent().args for k, v in pairs(parent_args) do overloaded_args[k] = v end return frame:expandTemplate{title = iargs[1], args = overloaded_args} end -- External interface, meant to be called from a template. function export.call_template(frame) local parameter_sublist = {type = "parameter", sublist = true} local iargs, other_direct_args = process_params(frame.args, { ["template"] = true, ["textparam"] = parameter_sublist, ["pageparam"] = parameter_sublist, ["propagateparams"] = parameter_sublist, ["allowparams"] = {sublist = true}, -- Doesn't use type = "parameter", because any that end in :list get processed differently. }, true) local function fetch_param(source, params) for _, param in ipairs(params) do if source[param] then return source[param] end end return nil end local params = { ["text"] = true, ["passage"] = true, ["footer"] = true, -- always propagates, but gets special formatting } -- paramaters that can be used during template declaration or included in template calls -- if the template is called with param=- it will set any declared value to nil local always_propagate = { ["brackets"] = true, ["usenodot"] = true, ["nodot"] = true, ["ascite"] = true, ["asquote"] = true, } for k,v in pairs(always_propagate) do params[k] = v end local textparam = iargs.textparam or {} for _, param in ipairs(textparam) do params[param] = true end local pageparam = iargs.pageparam or {} local pageparam1 = pageparam[1] if pageparam1 ~= nil then params["page"], params["pages"] = true, true for _, param in ipairs(pageparam) do params[param] = true end end local allowparams, allow_all, list = iargs.allowparams, false if allowparams ~= nil then for _, allow in ipairs(allowparams) do local param = allow:match("^(.*):list$") if param then if list == nil then list = {list = true} end params[scribunto_parameter_key(param)] = list elseif allow == "*" then track("no parameter checking") allow_all = true else params[scribunto_parameter_key(allow)] = true end end else local parent = frame:getParent() local template_name = parent:getTitle() local template_title = new_title(template_name) local content = template_title:getContent() local allowed_params, seen = {}, {} -- Detect all params used by the parent template. param:get_name() takes the -- parent frame arg table as an argument so that preprocessing will take -- them into account, since it will matter if the name contains another -- parameter (e.g. the outer param in "{{{foo{{{bar}}}baz}}}" will change -- depending on the value for bar=). `seen` memoizes results based on the -- raw parameter text (which is stored as a string in the parameter object), -- which avoids unnecessary param:get_name() calls, which are non-trivial. for param in find_parameters(content) do local raw = param.raw if not seen[raw] then allow = param:get_name(template_args) params[scribunto_parameter_key(allow)] = true seen[raw] = true end end end local propagateparams = iargs.propagateparams or {} for _, param in ipairs(propagateparams) do params[param] = true end local parent_args = frame:getParent().args local args = process_params(parent_args, params, allow_all) parent_args = shallow_copy(parent_args) if textparam[1] ~= "-" then other_direct_args.passage = args.text or args.passage or fetch_param(args, textparam) end if not (pageparam1 == nil or pageparam1 == "-") then other_direct_args.page = fetch_param(args, pageparam) or args.page or other_direct_args.page or nil other_direct_args.pages = args.pages or other_direct_args.pages or nil if other_direct_args.page == "-" then other_direct_args.page = nil end if other_direct_args.pages == "-" then other_direct_args.pages = nil end end if args.footer then other_direct_args.footer = frame:expandTemplate{title = "small", args = {args.footer}} end for param, _ in pairs(always_propagate) do if args[param] == "-" then other_direct_args[param] = nil else other_direct_args[param] = args[param] or other_direct_args[param] or nil end end -- authorlink=- can be used to prevent copying of author= to authorlink= but we don't want to propagate this to -- the actual {{quote-*}} code. if other_direct_args.authorlink == "-" then other_direct_args.authorlink = nil end for _, param in ipairs(propagateparams) do if args[param] then other_direct_args[param] = args[param] end end return frame:expandTemplate{title = iargs.template or "quote-book", args = other_direct_args} end local paramdoc_param_replacements = { passage = { param_with_synonym = "<<synonym>>, {{para|text}}, or {{para|passage}}", param_no_synonym = "{{para|text}} or {{para|passage}}", text = [=[ * <<params>> – the passage to be quoted.]=], }, page = { param_with_synonym = "<<synonym>> or {{para|page}}, or {{para|pages}}", param_no_synonym = "{{para|page}} or {{para|pages}}", text = [=[ * <<params>> – '''mandatory in some cases''': the page number(s) quoted from. When quoting a range of pages, note the following: ** Separate the first and last pages of the range with an [[en dash]], like this: {{para|pages|10–11}}. ** You must also use {{para|pageref}} to indicate the page to be linked to (usually the page on which the Wiktionary entry appears). : This parameter must be specified to have the template link to the online version of the work.]=], }, page_with_roman_preface = { param_with_synonym = {"inherit", "page"}, param_no_synonym = {"inherit", "page"}, text = [=[ * <<params>> – '''mandatory in some cases''': the page number(s) quoted from. If quoting from the preface, specify the page number(s) in lowercase Roman numerals. When quoting a range of pages, note the following: ** Separate the first and last page number of the range with an [[en dash]], like this: {{para|pages|10–11}} or {{para|pages|iii–iv}}. ** You must also use {{para|pageref}} to indicate the page to be linked to (usually the page on which the Wiktionary entry appears). : This parameter must be specified to have the template link to the online version of the work.]=], }, chapter = { param_with_synonym = "<<synonym>> or {{para|chapter}}", param_no_synonym = "{{para|chapter}}", text = [=[ * <<params>> – the name of the chapter quoted from.]=], }, roman_chapter = { param_with_synonym = {"inherit", "chapter"}, param_no_synonym = {"inherit", "chapter"}, text = [=[ * <<params>> – the chapter number quoted from in uppercase Roman numerals.]=], }, arabic_chapter = { param_with_synonym = {"inherit", "chapter"}, param_no_synonym = {"inherit", "chapter"}, text = [=[ * <<params>> – the chapter number quoted from in Arabic numerals.]=], }, trailing_params = { text = [=[ * {{para|footer}} – a comment on the passage quoted. * {{para|brackets}} – use {{para|brackets|on}} to surround a quotation with [[bracket#Noun|brackets]]. This indicates that the quotation either contains a mere mention of a term (for example, “some people find the word '''''manoeuvre''''' hard to spell”) rather than an actual use of it (for example, “we need to '''manoeuvre''' carefully to avoid causing upset”), or does not provide an actual instance of a term but provides information about related terms.]=], }, } function export.paramdoc(frame) local parargs = frame:getParent().args local args = process_params(parargs, { [1] = true, }) local text = args[1] local function do_param_with_optional_synonym(param, text_to_sub, paramtext_synonym, paramtext_no_synonym) local function sub_param(synonym) local subbed_paramtext if synonym then subbed_paramtext = paramtext_synonym:gsub("<<synonym>>", "{{para|" .. replacement_escape(synonym) .. "}}") else subbed_paramtext = paramtext_no_synonym end return frame:preprocess((text_to_sub:gsub("<<params>>", replacement_escape(subbed_paramtext)))) end text = text:gsub("<<" .. pattern_escape(param) .. ">>", function() return sub_param() end) text = text:gsub("<<" .. pattern_escape(param) .. ":(.-)>>", sub_param) end local function fetch_text(param_to_replace, key) local spec = paramdoc_param_replacements[param_to_replace] local val = spec[key] if type(val) == "string" then return val end if type(val) == "table" and val[1] == "inherit" then return fetch_text(val[2], key) end error( "Internal error: Unrecognized value for param '" .. param_to_replace .. "', key '" .. key .. "': " .. mw.dumpObject(val) ) end for param_to_replace, spec in pairs(paramdoc_param_replacements) do if not spec.param_no_synonym then -- Text to substitute directly. text = text:gsub("<<" .. pattern_escape(param_to_replace) .. ">>", function() return frame:preprocess(fetch_text(param_to_replace, "text")) end) else do_param_with_optional_synonym( param_to_replace, fetch_text(param_to_replace, "text"), fetch_text(param_to_replace, "param_with_synonym"), fetch_text(param_to_replace, "param_no_synonym") ) end end -- Remove final newline so template code can add a newline after invocation text = text:gsub("\n$", "") return text end return export fot0yebzhpnqs59di9j34l9554340wa khôông 0 264027 2341464 2049562 2026-03-31T06:18:54Z Hiyuune 50834 2341464 wikitext text/x-wiki =={{langname|scb}}== ==={{section|adv}}=== {{head|scb|Phó từ}} # [[không|Không]]. fcuwhcmak0arunt781im5rumh37gvsk Mô đun:ltc-pron 828 264666 2341430 2216536 2026-03-31T01:24:11Z Hiyuune 50834 2341430 Scribunto text/plain local export = {} local m_string_utils = require("Module:string utilities") local codepoint = m_string_utils.codepoint local gsub = m_string_utils.gsub local len = m_string_utils.len local match = m_string_utils.match local safe_require = require("Module:load").safe_require local u = m_string_utils.char local m_ltc_predict = require("Module:ltc-pron/predict") local m_cmn_pron = require("Module:cmn-pron") local m_baxter = require("Module:ltc-pron/baxter") local data = mw.loadData("Module:ltc-pron/data") function export.infer_categories(text) local t = mw.text.split(text, "", true) local initial, final, deng, openness, tone = t[1], t[2], t[3], t[4], t[6] if match(text, "-") then deng = mw.text.split(text, "-")[2] .. deng end if tone == "入" then final = data.fin_conv[final] or final end local initial_type = data.init_type[initial] local tone_label = data.tone_symbol[tone] local final_type if match(final, data.final_type_1) then final_type = data.fin_type_open[final..openness] elseif match(final, data.final_type_2) then final_type = data.final_deng[final..deng] elseif match(final, data.final_type_3) then final_type = data.fin_type_deng_open[final..deng..openness] elseif match(final, data.final_type_4) then if deng == "重鈕三" then final_type = data.final_openness[final..openness] else final_type = data.final_deng[final..deng] end elseif match(final, data.final_type_5) then final_type = data.fin_type[final] else return error("Final not recognised.") end return initial_type, final_type, tone_label end local function zh_fmt(text) return '<span class="Hani" lang="zh">' .. text .. '</span>' end local function ltc_table(titlechar, text, indiv_num, count) local people = { "Zhengzhang", "Pan", "Shao", "Pulleyblank", "Li", "Wang", "Karlgren" } local pronunciation = {} local t = mw.text.split(text, "", true) local initial, final, deng, openness, she, tone, fanqieA, fanqieB = t[1], t[2], t[3], t[4], t[5], t[6], t[7], t[8] if tone == "入" then final = data.fin_conv[final] or final end local initial_type, final_type, tone_label = export.infer_categories(text) for ind, person in ipairs(people) do table.insert(pronunciation, '<span class="IPAchar" lang="zh">/' .. data.initialConv[person][initial_type] .. data.finalConv[person][final_type] .. "<sup>" .. tone_label .. "</sup>" .. "/</span>") end local baxter = '<span lang="zh">' .. m_baxter.baxter(initial_type, final_type, tone_label) .. "</span>" return { nil, '<b>'..zh_fmt(titlechar)..'</b>', indiv_num .. "/" .. count, zh_fmt("[[Phụ lục:Tiếng Hán trung cổ#Thanh mẫu|"..initial.."]]") .. " (" .. initial_type .. ")", zh_fmt("[[Phụ lục:Tiếng Hán trung cổ#Vận mẫu|"..final.."]]") .. " (" .. final_type .. ")", data.tonality[tone], data.open_closed[openness], data.division[deng], fanqieB and zh_fmt(gsub(fanqieA .. fanqieB, "(.)", "[[%1]]") .. "切") or "", baxter, nil, pronunciation[1], pronunciation[2], pronunciation[3], pronunciation[4], pronunciation[5], pronunciation[6], pronunciation[7], m_cmn_pron.py_number_to_mark(m_ltc_predict.predict_cmn(initial_type, final_type, data.tone_number[tone])), m_ltc_predict.predict_yue(initial_type, final_type, data.tone_number[tone]), } end function export.ipa(index_text, preview) local titlechar = mw.loadData("Module:headword/data").pagename local reading_index = mw.text.split(index_text, ",") local ltc_indiv_pronunciation = {} local output_text = {} local fields = { "Vần", "<small>Ký tự</small>", "<small>Âm đọc #</small>", "<small>Thanh mẫu</small> (" .. zh_fmt("聲") .. ")", "<small>Vận mẫu</small> (" .. zh_fmt("韻") .. ")", "<small>Thanh điệu</small> (" .. zh_fmt("調") .. ")", "<small>Độ mở</small> (" .. zh_fmt("開合") .. ")", "<small>Tách âm</small> (" .. zh_fmt("等") .. ")", "<small>[[w:Phiên thiết Hán-Việt|Phiên thiết]]</small>", "<small>[[w:Baxter%27s_transcription_for_Middle_Chinese|Baxter]]</small>", "Reconstructions", "<small>[[w:Zhengzhang Shangfang|Zhengzhang<br>Shangfang]]</small>", "<small>[[w:Pan Wuyun|Pan<br>Wuyun]]</small>", "<small>[[w:zh:邵荣芬|Shao<br>Rongfen]]</small>", "<small>[[w:Edwin G. Pulleyblank|Edwin<br>Pulleyblank]]</small>", "<small>[[w:Li Rong (linguist)|Li<br>Rong]]</small>", "<small>[[w:Wang Li (linguist)|Wang<br>Li]]</small>", "<small>[[w:Bernhard Karlgren|Bernhard<br>Karlgren]]</small>", "<small>Expected<br>Mandarin<br>Reflex</small>", "<small>Expected<br>Cantonese<br>Reflex</small>", } for i, cp in ipairs { codepoint(titlechar, 1, -1) } do local ch = u(cp) local data_module = safe_require("Mô đun:zh/data/ltc-pron/" .. ch) if data_module then local reading_number = reading_index[i] or "y" local count = 0 for index, value in ipairs(data_module) do count = count + 1 end if reading_number == "y" then for ltc_reading_no, position in ipairs(data_module) do table.insert(ltc_indiv_pronunciation, ltc_table(ch, position, ltc_reading_no, count)) end elseif reading_number == "n" then break else for indiv_number in mw.text.gsplit(reading_number, '%+') do table.insert(ltc_indiv_pronunciation, ltc_table(ch, data_module[tonumber(indiv_number)], indiv_number, count)) end end end end if ltc_indiv_pronunciation[1] then local hash, results, value_eff = {}, {} for _, value in ipairs(ltc_indiv_pronunciation) do table.remove(value, 11) table.remove(value, 1) value_eff = table.concat(value) if (not hash[value_eff]) then hash[value_eff] = true table.insert(value, 1, nil) table.insert(value, 11, nil) results[#results + 1] = value end end local rand = require("Module:string utilities").gsub("mc-" .. value_eff, "[^A-Za-z0-9]", codepoint('%1')) local fmt = { fold = '\n* <div title="expand" class="mw-customtoggle-mc' .. rand .. '"> ' .. '[[w:Tiếng Hán trung cổ|trung cổ]]: <span class="zhpron-monospace">' .. preview .. '</span><span style="float:right; border:1px solid var(--wikt-palette-lightgrey,#ccc); border-radius:1px;' .. ' padding:0 0; font-size:90%">▼</span></div>\n', header = '{| class="wikitable mw-collapsible mw-collapsed" id="mw-customcollapsible-mc' .. rand .. '" style="width:100%; margin:0; text-align:center; border-collapse: collapse; border-style: hidden; display: table;"', lv1 = '\n|-\n! style="background-color:' .. data.colour_1 .. ';color:inherit;" colspan=' .. #results+1 .. '|', lv2 = '\n|-\n! style="background-color:' .. data.colour_2 .. ';color:inherit; width:8em"|', lv3 = '\n| style="background-color:' .. data.colour_3 .. ';color:inherit;"|', closing = '\n|}' } for field_index, field in ipairs(fields) do if match(field, "small") then local field_set = {} for _, result in ipairs(results) do table.insert(field_set, result[field_index]) end table.insert(output_text, fmt.lv2 .. field .. fmt.lv3 .. table.concat(field_set, fmt.lv3)) else table.insert(output_text, fmt.lv1 .. field) end end return fmt.fold .. fmt.header .. table.concat(output_text) .. fmt.closing else return "" end end function export.retrieve_pron(text, reconstruction, index, no_intro) if type(text) == "table" then text = text.args[1] end local underline_format = "<span style=\"font-style: normal\">[[w:Tiếng Hán trung cổ|trung cổ]]</span> " local separator = len(text) == 1 and (no_intro and ", ") or '<span style="padding-left:2px; padding-right:2px">|</span>' -- remove link brackets from text, at least -- as [[美姫#Etymology]] text = text:gsub("[%[%]]", "") if reconstruction then return underline_format .. reconstruction else local index_set, retrieve_result = {}, {} if index and index ~= "y" then index_set = mw.text.split(index, ",") end for char_index, cp in ipairs { codepoint(text, 1, -1) } do local char_pronunciation = {} local ch = u(cp) local data_module = safe_require("Module:zh/data/ltc-pron/" .. ch) if data_module then local reading_no = index_set[char_index] or "y" if reading_no == "n" then table.insert(char_pronunciation, "?") elseif reading_no == "y" then local initial, final, tone for _, reading in ipairs(data_module) do initial, final, tone = export.infer_categories(reading) table.insert(char_pronunciation, m_baxter.baxter(initial, final, tone)) end else for number in mw.text.gsplit(reading_no, "+") do initial, final, tone = export.infer_categories(data_module[tonumber(number)]) table.insert(char_pronunciation, m_baxter.baxter(initial, final, tone)) end end table.insert(retrieve_result, table.concat(char_pronunciation, separator)) end end return retrieve_result[1] and (no_intro and "" or underline_format) .. table.concat(retrieve_result, " ") or nil end end function export.link(frame) local args = frame:getParent().args local text, meaning, lit = args[1], args[2] or args['gloss'] or nil, args['lit'] or nil return require("Module:zh/link").link(frame, nil, { "*" .. text, tr = export.retrieve_pron(text, args["tr"] or false, args["id"] or false, false), gloss = meaning, lit = lit }, mw.loadData("Module:headword/data").pagename) end return export atuws6tvrd5ngpfn52h4vno25n50g36 Mô đun:ltc-pron/predict 828 264667 2341431 2051800 2026-03-31T01:25:09Z Hiyuune 50834 2341431 Scribunto text/plain local export = {} local fully_voiced_initial = { [3] = true, [7] = true, [11] = true, [15] = true, [17] = true, [20] = true, [22] = true, [25] = true, [27] = true, [30] = true, [33] = true, } local partially_voiced_initial = { [4] = true, [8] = true, [12] = true, [31] = true, [35] = true, [36] = true, [37] = true, [38] = true, } local fricativisation_inducing = { [2] = true, [4] = true, [7] = true, [8] = true, [21] = true, [24] = true, [28] = true, [59] = true, [60] = true, [66] = true, [68] = true, [106] = true, [108] = true, [136] = true, [146] = true, [148] = true, } local m_lenition_inducing = { [21] = true, [24] = true, [59] = true, [60] = true, [66] = true, [68] = true, [106] = true, [146] = true, } local devoicing_outcomes = { ["b"] = "p", ["d"] = "t", ["z"] = "c", ["g"] = "k", ["zh"] = "ch", ["sh"] = "ch", } local function has(str, index, ...) if index ~= 0 then str = mw.ustring.sub(str, index, index) end for i, v in ipairs{...} do if str == v then return true end end return false end local initial_outcomes_cmn = { [1] = "b", [2] = "p", [3] = "b", [4] = "m", [5] = "d", [6] = "t", [7] = "d", [8] = "n", [9] = "zh", [10] = "ch", [11] = "zh", [12] = "n", [13] = "z", [14] = "c", [15] = "z", [16] = "s", [17] = "s", [18] = "zh", [19] = "ch", [20] = "zh", [21] = "sh", [22] = "sh", [23] = "zh", [24] = "ch", [25] = "sh", [26] = "sh", [27] = "sh", [28] = "g", [29] = "k", [30] = "g", [32] = "h", [33] = "h", [31] = "", [34] = "", [35] = "", [36] = "", [37] = "l", [38] = "r", } local devoicing_initial_cmn = { [3] = true, [7] = true, [11] = true, [15] = true, [20] = true, [25] = true, [30] = true, } local palatalisation_outcomes_cmn = { ["g"] = "j", ["k"] = "q", ["h"] = "x", ["z"] = "j", ["c"] = "q", ["s"] = "x", } local final_simplification_outcomes_cmn = { ["iou"] = "iu", ["uei"] = "ui", ["uen"] = "un", ["ueng"] = "ong", } local rhyme_outcomes_cmn = { [1] = "ueng", [2] = { "ueng", 3, "iong" }, [3] = "u", [4] = { "u", 3, "ü" }, [5] = "ueng", [6] = "u", [7] = { "ueng", 3, "iong" }, [8] = { "u", 3, "ü" }, [9] = { "uang", 3, "iang" }, [10] = { "uo", 3, "üe" }, [11] = { "er", 3, "i" }, [12] = { "uei", 2, "uai" }, [13] = { "er", 3, "i" }, [14] = { "uei", 2, "uai" }, [15] = { "er", 3, "i" }, [16] = { "uei", 2, "uai" }, [17] = { "er", 3, "i" }, [18] = { "uei", 2, "uai" }, [19] = { "er", 3, "i" }, [20] = { "er", 3, "i" }, [21] = { "uei", 2, "uai" }, [22] = "ü", [23] = "u", [24] = "ü", [25] = "ai", [26] = "uei", [27] = "i", [28] = "uei", [29] = { "ai", 3, "ie" }, [30] = "uai", [31] = { "ai", 3, "ia" }, [32] = { "uai", 3, "ua" }, [33] = { "ai", 3, "ie" }, [34] = "uai", [35] = "i", [36] = { "uei", 2, "uai" }, [37] = "i", [38] = { "uei", 2, "uai" }, [39] = "i", [40] = "uei", [41] = "ai", [42] = "uei", [43] = "in", [44] = "in", [45] = "ün", [46] = "en", [47] = "ün", [48] = "i", [49] = "i", [50] = { "ü", 2, "uai" }, [51] = "e", [52] = { "ü", 2, "uai" }, [53] = { "uen", 3, "en" }, [54] = "e", [55] = "uen", [56] = { "u", 1, "o" }, [57] = "in", [58] = "i", [59] = { "uen", 3, "ün" }, [60] = "ü", [61] = "an", [62] = "uan", [63] = { "a", 3, "e" }, [64] = "uo", [65] = "ian", [66] = "üan", [67] = "ie", [68] = { "a", 3, "üe" }, [69] = { "an", 3, "ian" }, [70] = "uan", [71] = { "a", 3, "ia" }, [72] = "ua", [73] = { "an", 3, "ian" }, [74] = "uan", [75] = { "a", 3, "ia" }, [76] = "ua", [77] = "ian", [78] = "üan", [79] = "ian", [80] = "üan", [81] = "ie", [82] = "üe", [83] = "ie", [84] = "üe", [85] = "ian", [86] = "üan", [87] = "ie", [88] = "üe", [89] = "ao", [90] = { "ao", 3, "iao" }, [91] = "iao", [92] = "iao", [93] = "iao", [94] = { "uo", 3, "e" }, [95] = "uo", [96] = "ie", [97] = "üe", [98] = { "a", 3, "ia" }, [99] = "ua", [100] = "ie", [101] = "ang", [102] = "uang", [103] = { "uo", 3, "e" }, [104] = "uo", [105] = { "iang", 2, "uang" }, [106] = "uang", [107] = { "üe", 1, "o" }, [108] = { "üe", 1, "o" }, [109] = "eng", [110] = "ueng", [111] = "ing", [112] = "iong", [113] = "e", [114] = "uo", [115] = "i", [116] = "ü", [117] = "eng", [118] = "ueng", [119] = "e", [120] = "uo", [121] = "ing", [122] = "iong", [123] = "i", [124] = "ü", [125] = "ing", [126] = "iong", [127] = "i", [128] = "ü", [129] = "eng", [130] = "ueng", [131] = "e", [132] = "uo", [133] = "ing", [134] = { "i", 2, "e" }, [135] = "ü", [136] = { "iou", 1, "ou" }, [137] = "ou", [138] = { "iou", 1, "iao" }, [139] = "in", [140] = "in", [141] = { "i", 2, "e" }, [142] = { "i", 2, "e" }, [143] = "an", [144] = { "a", 3, "e" }, [145] = { "an", 3, "ian" }, [146] = "uan", [147] = "ie", [148] = { "a", 3, "ia" }, [149] = { "an", 3, "ian" }, [150] = { "a", 3, "ia" }, [151] = { "an", 3, "ian" }, [152] = { "a", 3, "ia" }, [153] = "ian", [154] = "ian", [155] = "ie", [156] = "ie", [157] = "ian", [158] = "ie", [159] = "an", [160] = { "a", 3, "e" }, } local labial_openness_normalisation_cmn = { [12] = 11, [14] = 13, [16] = 15, [18] = 17, [21] = 20, [25] = 26, [28] = 27, [36] = 35, [38] = 37, [40] = 39, [63] = 64, [67] = 68, [105] = 106, [112] = 111, [113] = 114, [119] = 120, [122] = 121, [126] = 125, [131] = 132, } function export.predict_cmn(initial, final, tone) local initial_result = initial_outcomes_cmn[initial] if fricativisation_inducing[final] and initial <= 3 then initial_result = "f" elseif m_lenition_inducing[final] and initial == 4 then initial_result = "w" elseif tone == 1 and devoicing_initial_cmn[initial] then initial_result = devoicing_outcomes[initial_result] end if initial <= 4 then final = labial_openness_normalisation_cmn[final] or final end local final_result = rhyme_outcomes_cmn[final] if type(final_result) == "table" then if final_result[2] == 1 and initial <= 4 or final_result[2] == 2 and initial >= 18 and initial <= 22 or final_result[2] == 3 and initial >= 28 and initial <= 36 then final_result = final_result[3] else final_result = final_result[1] end end if has(final_result, 1, "i", "ü") then initial_result = palatalisation_outcomes_cmn[initial_result] or initial_result end if final_result == "er" then if initial_result == "r" then initial_result = "" else final_result = "i" end end if has(initial_result, 0, "zh", "ch", "sh", "r") then final_result = mw.ustring.gsub(final_result, "^in", "en") final_result = mw.ustring.gsub(final_result, "^i(.)", "%1") final_result = mw.ustring.gsub(final_result, "^üe$", "uo") end if initial <= 4 then final_result = mw.ustring.gsub(final_result, "^u(.)", "%1") if has(initial_result, 0, "f", "w") then final_result = mw.ustring.gsub(final_result, "^[iü](.)", "%1") final_result = mw.ustring.gsub(final_result, "^i$", "ei") else final_result = mw.ustring.gsub(final_result, "^ü", "i") end end if has(initial_result, 0, "n", "l") and has(final_result, 0, "ua", "uai", "uang", "uei") then final_result = mw.ustring.gsub(final_result, "^u", "") end if has(final_result, 1, "ü") and not (has(initial_result, 0, "n", "l") and has(final_result, 0, "ü", "üe")) then if initial_result == "" then initial_result = "y" end final_result = mw.ustring.gsub(final_result, "^ü", "u") end if initial_result == "" then if has(final_result, 1, "i") then initial_result = "y" end if has(final_result, 1, "u") then initial_result = "w" end if initial_result ~= "" then final_result = mw.ustring.gsub(final_result, "^.([^n])", "%1") end end final_result = final_simplification_outcomes_cmn[final_result] or final_result local tone_result if tone == 1 then if fully_voiced_initial[initial] or partially_voiced_initial[initial] then tone_result = 2 else tone_result = 1 end elseif tone == 2 then if fully_voiced_initial[initial] then tone_result = 4 else tone_result = 3 end elseif tone == 3 then tone_result = 4 else if fully_voiced_initial[initial] then tone_result = 2 elseif partially_voiced_initial[initial] then tone_result = 4 else tone_result = "" end end return initial_result .. final_result .. tone_result end local initial_outcomes_yue = { [1] = "b", [2] = "p", [3] = "b", [4] = "m", [5] = "d", [6] = "t", [7] = "d", [8] = "n", [9] = "z", [10] = "c", [11] = "z", [12] = "n", [13] = "z", [14] = "c", [15] = "z", [16] = "s", [17] = "z", [18] = "z", [19] = "c", [20] = "z", [21] = "s", [22] = "z", [23] = "z", [24] = "c", [25] = "s", [26] = "s", [27] = "s", [28] = "g", [29] = "k", [30] = "g", [31] = "ng", [32] = "h", [33] = "h", [34] = "", [35] = "", [36] = "", [37] = "l", [38] = "j", } local devoicing_initial_yue = { [3] = true, [7] = true, [11] = true, [15] = true, [17] = true, [20] = true, [22] = true, [30] = true, } local initial_class_yue = { [1] = 1, [2] = 1, [3] = 1, [4] = 1, [5] = 2, [6] = 2, [7] = 2, [8] = 2, [9] = 3, [10] = 3, [11] = 3, [12] = 2, [13] = 4, [14] = 4, [15] = 4, [16] = 4, [17] = 4, [18] = 5, [19] = 5, [20] = 5, [21] = 5, [22] = 5, [23] = 6, [24] = 6, [25] = 6, [26] = 6, [27] = 6, [28] = 7, [29] = 7, [30] = 7, [31] = 8, [32] = 7, [33] = 7, [34] = 8, [35] = 8, [36] = 8, [37] = 2, [38] = 6, } local final_class_yue = { [1] = 20, [2] = 20, [3] = 20, [4] = 20, [5] = 20, [6] = 20, [7] = 20, [8] = 20, [9] = 34, [10] = 34, [11] = 35, [12] = 21, [13] = 35, [14] = 21, [15] = 35, [16] = 21, [17] = 35, [18] = 21, [19] = 35, [20] = 35, [21] = 21, [22] = 36, [23] = 24, [24] = 36, [25] = 39, [26] = 28, [27] = 6, [28] = 6, [29] = 2, [30] = 33, [31] = 2, [32] = 33, [33] = 2, [34] = 33, [35] = 6, [36] = 21, [37] = 6, [38] = 21, [39] = 6, [40] = 6, [41] = 17, [42] = 25, [43] = 8, [44] = 8, [45] = 22, [46] = 8, [47] = 22, [48] = 8, [49] = 8, [50] = 22, [51] = 8, [52] = 22, [53] = 8, [54] = 8, [55] = 38, [56] = 38, [57] = 8, [58] = 8, [59] = 8, [60] = 8, [61] = 31, [62] = 32, [63] = 31, [64] = 32, [65] = 26, [66] = 27, [67] = 26, [68] = 27, [69] = 4, [70] = 4, [71] = 4, [72] = 4, [73] = 4, [74] = 4, [75] = 4, [76] = 4, [77] = 13, [78] = 30, [79] = 13, [80] = 30, [81] = 13, [82] = 30, [83] = 13, [84] = 30, [85] = 13, [86] = 30, [87] = 13, [88] = 30, [89] = 19, [90] = 5, [91] = 15, [92] = 15, [93] = 15, [94] = 16, [95] = 16, [96] = 11, [97] = 29, [98] = 1, [99] = 1, [100] = 11, [101] = 18, [102] = 18, [103] = 18, [104] = 18, [105] = 37, [106] = 18, [107] = 37, [108] = 18, [109] = 9, [110] = 9, [111] = 40, [112] = 40, [113] = 9, [114] = 9, [115] = 14, [116] = 14, [117] = 9, [118] = 9, [119] = 9, [120] = 9, [121] = 14, [122] = 14, [123] = 14, [124] = 14, [125] = 14, [126] = 14, [127] = 14, [128] = 14, [129] = 9, [130] = 9, [131] = 9, [132] = 9, [133] = 14, [134] = 14, [135] = 14, [136] = 10, [137] = 10, [138] = 10, [139] = 7, [140] = 7, [141] = 7, [142] = 7, [143] = 23, [144] = 23, [145] = 12, [146] = 3, [147] = 12, [148] = 3, [149] = 3, [150] = 3, [151] = 3, [152] = 3, [153] = 12, [154] = 12, [155] = 12, [156] = 12, [157] = 12, [158] = 12, [159] = 23, [160] = 23, } local rhyme_outcomes_yue = { [1] = "A", [2] = "Ai", [3] = "Am", [4] = "An", [5] = "Au", [6] = "ai", [7] = "am", [8] = "an", [9] = "aN", [10] = "au", [11] = "e", [12] = "im", [13] = "in", [14] = "IN", [15] = "iu", [16] = "o", [17] = "oi", [18] = "oN", [19] = "ou", [20] = "UN", [21] = { "ei", "Ei", "ai" }, [22] = { "En", "En", "an" }, [23] = { "Am", "Am", "om" }, [24] = { "ou", "ou", "u" }, [25] = { "ui", "Ei", "ui" }, [26] = { "An", "in", "in" }, [27] = { "An", "Yn", "Yn" }, [28] = { "ai", "Ei", "ui" }, [29] = { "e", "O", "O" }, [30] = { "in", "Yn", "Yn" }, [31] = { "un", "An", "on" }, [32] = { "un", "Yn", "un" }, [33] = { "Ai", "Ei", "Ai" }, [34] = { "oN", "oN", "oN" }, [35] = { "ei", "ei", "i", "i", "i", "i", "ei", "i" }, [36] = { "u", "Ei", "Y", "Ei", "o", "Y", "Ei", "Y" }, [37] = { "oN", "ON", "ON", "ON", "oN", "ON", "ON", "ON" }, [38] = { "un", "En", "En", "Yn", "Yn", "Yn", "an", "an" }, [39] = { "ui", "Ai", "Ai", "oi", "Ai", "Ai", "oi", "oi" }, [40] = { "IN", "IN", "IN", "IN", "aN", "IN", "IN", "IN" }, } local palatalisation_inducing_yue = { [2] = true, [4] = true, [7] = true, [8] = true, [11] = true, [12] = true, [13] = true, [14] = true, [15] = true, [16] = true, [17] = true, [18] = true, [19] = true, [20] = true, [21] = true, [22] = true, [24] = true, [27] = true, [28] = true, [35] = true, [36] = true, [37] = true, [38] = true, [39] = true, [40] = true, [43] = true, [44] = true, [45] = true, [46] = true, [47] = true, [48] = true, [49] = true, [50] = true, [51] = true, [52] = true, [57] = true, [58] = true, [59] = true, [60] = true, [65] = true, [66] = true, [67] = true, [68] = true, [77] = true, [78] = true, [79] = true, [80] = true, [81] = true, [82] = true, [83] = true, [84] = true, [85] = true, [86] = true, [87] = true, [88] = true, [91] = true, [92] = true, [93] = true, [96] = true, [97] = true, [100] = true, [105] = true, [106] = true, [107] = true, [108] = true, [111] = true, [112] = true, [115] = true, [116] = true, [121] = true, [122] = true, [123] = true, [124] = true, [125] = true, [126] = true, [127] = true, [128] = true, [133] = true, [134] = true, [135] = true, [136] = true, [138] = true, [139] = true, [140] = true, [141] = true, [142] = true, [145] = true, [146] = true, [147] = true, [148] = true, [153] = true, [154] = true, [155] = true, [156] = true, [157] = true, [158] = true, } local labialisation_inducing_yue = { [12] = true, [14] = true, [16] = true, [18] = true, [21] = true, [23] = true, [24] = true, [26] = true, [28] = true, [30] = true, [32] = true, [34] = true, [36] = true, [38] = true, [40] = true, [42] = true, [45] = true, [47] = true, [50] = true, [52] = true, [55] = true, [56] = true, [59] = true, [60] = true, [62] = true, [64] = true, [66] = true, [68] = true, [70] = true, [72] = true, [74] = true, [76] = true, [78] = true, [80] = true, [82] = true, [84] = true, [86] = true, [88] = true, [95] = true, [97] = true, [99] = true, [102] = true, [104] = true, [106] = true, [108] = true, [110] = true, [112] = true, [114] = true, [116] = true, [118] = true, [120] = true, [122] = true, [124] = true, [126] = true, [128] = true, [130] = true, [132] = true, [135] = true, [146] = true, [148] = true, } local glide_inducing_yue = { [40] = true, [85] = true, [86] = true, [87] = true, [88] = true, [93] = true, [125] = true, [126] = true, [127] = true, [128] = true, [157] = true, [158] = true, } local debuccalisation_inducing_yue = { [1] = true, [2] = true, [3] = true, [4] = true, [5] = true, [6] = true, [7] = true, [8] = true, [9] = true, [10] = true, [11] = true, [12] = true, [13] = true, [14] = true, [15] = true, [16] = true, [17] = true, [18] = true, [19] = true, [20] = true, [21] = true, [22] = true, [23] = true, [24] = true, [25] = true, [26] = true, [27] = true, [28] = true, [29] = true, [30] = true, [31] = true, [32] = true, [33] = true, [34] = true, [35] = true, [36] = true, [37] = true, [38] = true, [39] = true, [40] = true, [41] = true, [42] = true, [43] = true, [44] = true, [45] = true, [46] = true, [47] = true, [48] = true, [49] = true, [50] = true, [51] = true, [52] = true, [53] = true, [54] = true, [55] = true, [56] = true, [57] = true, [58] = true, [59] = true, [60] = true, [61] = true, [62] = true, [63] = true, [64] = true, [65] = true, [66] = true, [67] = true, [68] = true, [69] = true, [70] = true, [71] = true, [72] = true, [73] = true, [74] = true, [75] = true, [76] = true, [77] = true, [78] = true, [79] = true, [80] = true, [81] = true, [82] = true, [83] = true, [84] = true, [85] = true, [86] = true, [87] = true, [88] = true, [89] = true, [90] = true, [91] = true, [92] = true, [93] = true, [94] = true, [95] = true, [96] = true, [97] = true, [98] = true, [99] = true, [100] = true, [101] = true, [102] = true, [103] = true, [104] = true, [105] = true, [106] = true, [107] = true, [108] = true, [109] = true, [110] = true, [111] = true, [112] = true, [113] = true, [114] = true, [115] = true, [116] = true, [117] = true, [118] = true, [119] = true, [120] = true, [121] = true, [122] = true, [123] = true, [124] = true, [125] = true, [126] = true, [127] = true, [128] = true, [129] = true, [130] = true, [131] = true, [132] = true, [133] = true, [134] = true, [135] = true, [136] = true, [137] = true, [138] = true, [139] = true, [140] = true, [141] = true, [142] = true, [143] = true, [144] = true, [145] = true, [146] = true, [147] = true, [148] = true, [149] = true, [150] = true, [151] = true, [152] = true, [153] = true, [154] = true, [155] = true, [156] = true, [157] = true, [158] = true, [159] = true, [160] = true, } function export.predict_yue(initial, final, tone) local initial_result = initial_outcomes_yue[initial] if fricativisation_inducing[final] and initial <= 3 then initial_result = "f" elseif tone == 1 and devoicing_initial_yue[initial] then initial_result = devoicing_outcomes[initial_result] elseif initial == 17 and labialisation_inducing_yue[final] then initial_result = "s" end if initial == 29 and debuccalisation_inducing_yue[final] then initial_result = "h" elseif initial == 29 and (final == 136 or final >= 139 and final <= 142) or initial == 32 and (final == 136 or final == 57) or initial == 33 and (labialisation_inducing_yue[final] or glide_inducing_yue[final]) or initial_result == "" and palatalisation_inducing_yue[final] then initial_result = "j" end local final_result if (final == 36 or final == 38) and initial == 36 then final_result = "Ei" elseif (final == 26 or final == 42) and initial == 31 then final_result = "oi" elseif final == 23 and initial == 31 then final_result = "" elseif (final == 22 or final == 24) and initial == 4 then final_result = "ou" else local final_class = final_class_yue[final] final_result = rhyme_outcomes_yue[final_class] if final_class >= 35 then final_result = final_result[initial_class_yue[initial]] elseif final_class >= 21 then final_result = final_result[math.floor((initial_class_yue[initial] + 8) / 5)] end end if initial == 31 and mw.ustring.find(final_result, "^[iuIUOEY]") ~= nil then initial_result = "j" end if labialisation_inducing_yue[final] and mw.ustring.find(final_result, "^[OEY]") == nil then if initial_result == "h" and mw.ustring.find(final_result, "^[iI]") == nil then initial_result = "f" elseif initial_result == "j" or initial_result == "" then initial_result = "w" elseif initial_result == "g" and mw.ustring.find(final_result, "^[uU]") == nil then initial_result = "gw" elseif initial_result == "k" and mw.ustring.find(final_result, "^[iuIU]") == nil then initial_result = "kw" end end local tone_result if tone == 4 then if fully_voiced_initial[initial] or partially_voiced_initial[initial] then tone_result = 6 elseif mw.ustring.find(final_result, "^[AiouOY]") ~= nil then tone_result = 3 else tone_result = 1 end elseif tone == 2 and fully_voiced_initial[initial] then tone_result = 6 elseif fully_voiced_initial[initial] or partially_voiced_initial[initial] then tone_result = 3 + tone else tone_result = tone end final_result = mw.ustring.gsub(final_result, "om", "am") if initial <= 4 then final_result = mw.ustring.gsub(final_result, "m$", "n") end if tone == 4 then final_result = mw.ustring.gsub(final_result, "m$", "p") final_result = mw.ustring.gsub(final_result, "n$", "t") final_result = mw.ustring.gsub(final_result, "N$", "k") end final_result = mw.ustring.gsub(final_result, "A", "aa") final_result = mw.ustring.gsub(final_result, "I", "i") final_result = mw.ustring.gsub(final_result, "U", "u") final_result = mw.ustring.gsub(final_result, "O", "oe") final_result = mw.ustring.gsub(final_result, "E", "eo") final_result = mw.ustring.gsub(final_result, "Y", "yu") final_result = mw.ustring.gsub(final_result, "N", "ng") return initial_result .. final_result .. "<sup>" .. tone_result .. "</sup>" end return export gvitn5num7i2s1pkvbuhsi0s9gozn17 Mô đun:languages/data/3/s 828 271066 2341465 2338154 2026-03-31T06:19:40Z Hiyuune 50834 2341465 Scribunto text/plain local m_langdata = require("Module:languages/data") -- Loaded on demand, as it may not be needed (depending on the data). local function u(...) u = require("Module:string utilities").char return u(...) end local c = m_langdata.chars local p = m_langdata.puaChars local s = m_langdata.shared local m = {} m["saa"] = { "tiếng Saba", 3914885, "cdc-est", "Latn", "Tiếng Saba", "Saba", } m["sab"] = { "Buglere", 3368506, "cba", "Latn", } m["sac"] = { "tiếng Fox", 12714767, "alg-sfk", "Latn", "Tiếng Fox", "Fox", } m["sad"] = { "Sandawe", 34016, "qfa-iso", "Latn", } m["sae"] = { "Sabanê", 3460478, "sai-nmk", "Latn", } m["saf"] = { "Safaliba", 36432, "nic-mre", "Latn", } m["sah"] = { "tiếng Yakut", 34299, "trk-nsb", "Cyrl", "Tiếng Yakut", "Yakut", translit = "sah-translit", override_translit = true, } m["saj"] = { "Sahu", 7399757, "paa-nha", "Latn", } m["sak"] = { "Sake", 36425, "bnt-kel", "Latn", } m["sam"] = { "Samaritan Aramaic", 56612, "sem-arw", "Samr", entry_name = {remove_diacritics = u(0x0816) .. "-" .. u(0x082D)}, translit = "Samr-translit", } m["sao"] = { "Sause", 4409155, "paa-tkw", "Latn", } m["saq"] = { "Samburu", 56536, "sdv-lma", } m["sar"] = { "Saraveca", 3450556, "awd", } m["sas"] = { "Sasak", 1294047, "poz-mcm", "Latn", } m["sat"] = { "tiếng Santal", 33965, "mun", "Olck, Deva, Beng, Orya", "Tiếng Santal", "Santal", translit = "Olck-translit", override_translit = true, } m["sau"] = { "Saleman", 7404262, "poz-cet", } m["sav"] = { "Saafi-Saafi", 36308, "alv-cng", "Arab, Latn", } m["saw"] = { "Sawi", 677064, "ngf", "Latn", } m["sax"] = { "Sa", 3460352, "poz-vnc", "Latn", } m["say"] = { "Saya", 3914431, "cdc-wst", "Latn", } m["saz"] = { "tiếng Saurashtra", 13292, "inc-wes", "Saur, Latn, Taml, Deva", "Tiếng Saurashtra", "Saurashtra", translit = { Saur = "saz-translit", Taml = "ta-translit", }, ancestors = "inc-ogu", } m["sba"] = { "Ngambay", 2372207, "csu-sar", } m["sbb"] = { "Simbo", 3484101, "poz-ocw", } m["sbc"] = { "Gele'", 3194847, "poz-oce", } m["sbd"] = { "Southern Samo", 33122730, "dmn-sam", "Latn", } m["sbe"] = { "Saliba (New Guinea)", 3469737, "poz-ocw", } m["sbf"] = { "Shabo", 36342, "ssa", "Latn", } m["sbg"] = { "Seget", 7446237, } m["sbh"] = { "Sori-Harengan", 36515, "poz-aay", "Latn", } m["sbi"] = { "Seti", 7456682, "qfa-tor", "Latn", } m["sbj"] = { "Surbakhal", 759995, } m["sbk"] = { "Safwa", 4121160, "bnt-mby", "Latn", } m["sbl"] = { "Botolan Sambal", 4095195, "phi", } m["sbm"] = { "Sagala", 11732610, "bnt-ruv", "Latn", } m["sbn"] = { "Sindhi Bhil", 25559289, "inc-snd", "Arab, Deva, Sind, Guru", ancestors = "sd", } m["sbo"] = { "tiếng Sabüm", 7396535, "mkh-asl", nil, "Tiếng Sabüm", "Sabüm", } m["sbp"] = { "Sangu (Tanzania)", 7418149, "bnt-bki", "Latn", } m["sbq"] = { "Sileibi", 7514337, "ngf-mad", } m["sbr"] = { "Sembakung Murut", 7449148, "poz-san", } m["sbs"] = { "Subiya", 6442073, "bnt-bot", "Latn", } m["sbt"] = { "Kimki", 6410160, "paa-pau", } m["sbu"] = { "Stod Bhoti", 15622700, "sit-las", } m["sbv"] = { "Sabine", nil, "itc-sbl", "Latn", } m["sbw"] = { "Simba", 36430, "bnt-tso", "Latn", } m["sbx"] = { "Seberuang", 12473470, "poz-mly", } m["sby"] = { "Soli", 7557754, "bnt-bot", "Latn", } m["sbz"] = { "Sara Kaba", 25559318, "csu-kab", "Latn", } m["scb"] = { "tiếng Chứt", 2967709, "mkh-vie", "Latn", "Tiếng Chứt", "Chứt", } m["sce"] = { "tiếng Đông Hương", 32947, "xgn-shr", "Arab, Latn", "Tiếng Đông Hương", "Đông Hương", } m["scf"] = { "San Miguel Creole French", 12953094, "crp", "Latn", ancestors = "gcf", sort_key = s["roa-oil-sortkey"], } m["scg"] = { "Sanggau", 12473466, "day", } m["sch"] = { "Sakachep", 37054, "tbq-kuk", } m["sci"] = { "Sri Lankan Creole Malay", 1089151, "crp", "Latn", ancestors = "ms", } m["sck"] = { "tiếng Sadri", 765922, "inc-bih", "Deva, Kthi, Beng, Orya", translit = { Deva = "hi-translit", Kthi = "bho-Kthi-translit", }, "Tiếng Sadri", "Sadri", } m["scl"] = { "tiếng Shina", 1353320, "inc-shn", "ur-Arab, Deva", "Tiếng Shina", "Shina", } m["scn"] = { "tiếng Sicily", 33973, "roa-itd", "Latn", "Tiếng Sicily", "Sicily", } m["sco"] = { "tiếng Scots", 14549, "gmw-ang", "Latn", "Tiếng Scots", "Scots", ancestors = "sco-smi", } m["scp"] = { "tiếng Yolmo", 22662107, "sit-kyk", "Deva", "Tiếng Yolmo", "Yolmo", } m["scq"] = { "Sa'och", 6583617, "mkh-pea", } m["scs"] = { "tiếng Bắc Slavey", 20628, "den", "Latn, Cans", "Tiếng Bắc Slavey", "Bắc Slavey", } m["scu"] = { "Shumcho", 22077739, "sit-kin", } m["scv"] = { "Sheni", 11015820, "nic-jer", "Latn", ancestors = "zir", } m["scw"] = { "Sha", 3438816, "cdc-wst", "Latn", } m["scx"] = { "tiếng Sicel", 36667, "itc", "Polyt", "Tiếng Sicel", "Sicel", translit = "grc-translit", display_text = s["Polyt-displaytext"], entry_name = s["Polyt-entryname"], sort_key = s["Polyt-sortkey"], } m["sda"] = { "Toraja-Sa'dan", 36673, "poz-ssw", } m["sdb"] = { "tiếng Shabak", 3289596, "ira-zgr", "Arab", "Tiếng Shabak", "Shabak", ancestors = "hac", } m["sdc"] = { "Sassarese", 845441, "roa-itd", "Latn", } m["sde"] = { "Surubu", 3913336, "nic-kau", "Latn", } m["sdf"] = { "Sarli", 7424256, "ira-zgr", ancestors = "hac", } m["sdg"] = { "tiếng Savi", 3474654, "inc-shn", "ur-Arab", "Tiếng Savi", "Savi", } m["sdh"] = { "Southern Kurdish", 1496597, "ku", "ku-Arab", translit = "sdh-translit", entry_name = {remove_diacritics = c.kasra .. c.sukun}, } m["sdj"] = { "Suundi", 7650407, "bnt-kng", "Latn", } m["sdk"] = { "Sos Kundi", 7563811, "paa-spk", "Latn", } m["sdl"] = { "Saudi Arabian Sign Language", 3504160, "sgn", } m["sdm"] = { "Semandang", 7449012, "day", } m["sdn"] = { "tiếng Gallura", 612220, "roa-itd", "Latn", "Tiếng Gallura", "Gallura", ancestors = "co", } m["sdo"] = { "Bukar-Sadung Bidayuh", 2927799, "day", } m["sdp"] = { "Sherdukpen", 7494785, "sit-khb", } m["sdr"] = { "Oraon Sadri", 12953860, "inc-eas", ancestors = "bh", } m["sds"] = { "Tunisian Berber", 5329732, "ber", } m["sdu"] = { "Sarudu", 7424700, "poz-cet", } m["sdx"] = { "Sibu Melanau", 18642842, "poz-bnn", } m["sea"] = { "tiếng Semai", 3135426, "mkh-asl", "Latn", "Tiếng Semai", "Semai", } -- seb is a duplicate code of spp m["sec"] = { "tiếng Sechelt", 7442898, "sal", "Latn", "Tiếng Sechelt", "Sechelt", } m["sed"] = { "tiếng Xơ Đăng", 56448, "mkh-nbn", "Latn", "Tiếng Xơ Đăng", "Xơ Đăng", } m["see"] = { "tiếng Seneca", 1185133, "iro-nor", "Latn", "Tiếng Seneca", "Seneca", } m["sef"] = { "Cebaara Senoufo", 10975121, "alv-snr", } m["seg"] = { "Segeju", 17584599, "bnt-mij", "Latn", } m["seh"] = { "tiếng Sena", 2964008, "bnt-sna", "Latn", "Tiếng Sena", "Sena", } m["sei"] = { "tiếng Seri", 36583, "qfa-iso", "Latn", "Tiếng Seri", "Seri", } m["sej"] = { "Sene", 7450252, } m["sek"] = { "Sekani", 28562, "ath-nor", "Latn", } m["sel"] = { "tiếng Selkup", 34008, "syd", "Cyrl", "Tiếng Selkup", "Selkup", } m["sen"] = { "Nanerigé Sénoufo", 36002, "alv-sma", } m["seo"] = { "Suarmin", 7630513, "paa", } m["sep"] = { "Sìcìté Sénoufo", 56787, "alv-sma", } m["seq"] = { "Senara Sénoufo", 35210, "alv-snr", } m["ser"] = { "Serrano", 3479942, "azc-tak", "Latn", } m["ses"] = { "tiếng Senni Koyraboro", 35655, "son", "Latn, Arab", "Tiếng Senni Koyraboro", "Senni Koyraboro", } m["set"] = { "Sentani", 3441672, "paa-sen", "Latn", } m["seu"] = { "Serui-Laut", 7455503, "poz-hce", "Latn", } m["sev"] = { "tiếng Senoufo Nyarafolo", 36306, "alv-snr", "Latn", "Tiếng Senoufo Nyarafolo", "Senoufo Nyarafolo", } m["sew"] = { "Sewa Bay", 7458126, "poz-ocw", } m["sey"] = { "Secoya", 3477218, "sai-tuc", "Latn", } m["sez"] = { "Senthang Chin", 7451223, "tbq-kuk", } m["sfb"] = { "French Belgian Sign Language", 3217332, "sgn", } m["sfe"] = { "Eastern Subanun", Q63311321, "phi", "Latn", } m["sfm"] = { "Small Flowery Miao", 7542773, "hmn", } m["sfs"] = { "South African Sign Language", 3322093, "sgn", } m["sfw"] = { "Sehwi", 36593, "alv-ctn", "Latn", } m["sga"] = { "tiếng Ireland cổ", 35308, "cel-gae", "Latn", "Tiếng Ireland cổ", "Ireland cổ", entry_name = {remove_diacritics = c.dotabove .. c.diaer .. "·"}, sort_key = "sga-sortkey", standardChars = "AaÁáBbCcDdEeÉéFfGgHhIiÍíLlMmNnOoÓóPpRrSsTtUuÚú0123456789" .. c.punc, } m["sgb"] = { "Mag-Anchi Ayta", 4356243, "phi", } m["sgc"] = { "Kipsigis", 56339, "sdv-nma", } m["sgd"] = { "Surigaonon", 34140, "phi", "Latn", } m["sge"] = { "Segai", 7446180, } m["sgg"] = { "Swiss-German Sign Language", 35150, "sgn", } m["sgh"] = { "tiếng Shughnan", 34053, "ira-shy", "Latn, Cyrl, Arab", "Tiếng Shughnan", "Shughnan", ancestors = "ira-shr-pro", translit = "sgh-translit", override_translit = true, } m["sgi"] = { "Suga", 36475, "nic-mmb", "Latn", } m["sgk"] = { "Sangkong", 2945610, "tbq-bis", } m["sgm"] = { "Singa", 7522797, "bnt-lok", "Latn", } m["sgp"] = { "Singpho", 7524158, "sit-jnp", } m["sgr"] = { "tiếng Sangisar", 3394363, "ira-kms", "Arab", "Tiếng Sangisar", "Sangisar", } m["sgs"] = { "tiếng Samogitia", 213434, "bat-eas", "Latn", "Tiếng Samogitia", "Samogitia", ancestors = "olt", wikimedia_codes = "bat-smg", } m["sgt"] = { "Brokpake", 56603, "sit-tib", "Tibt", translit = "Tibt-translit", override_translit = true, display_text = s["Tibt-displaytext"], entry_name = s["Tibt-entryname"], sort_key = "Tibt-sortkey", } m["sgu"] = { "Salas", 7403694, "poz-cma", } m["sgw"] = { "tiếng Sebat Bet Gurage", 2707343, "sem-eth", "Ethi", "Tiếng Sebat Bet Gurage", "Sebat Bet Gurage", } m["sgx"] = { "Sierra Leone Sign Language", 7511448, "sgn", } m["sgy"] = { "Sanglechi", 3472220, "ira-sgi", } m["sgz"] = { "Sursurunga", 36511, "poz-ocw", "Latn", } m["sha"] = { "Shall-Zwall", 3915355, "nic-beo", } m["shb"] = { "Ninam", 3436586, } m["shc"] = { "Sonde", 7560881, "bnt-pen", "Latn", } m["shd"] = { "tiếng Kundal Shahi", 6444265, "inc-shn", "Arab", "Tiếng Kundal Shahi", "Kundal Shahi", } m["she"] = { "Sheko", 3183355, "omv-diz", } m["shg"] = { "Shua", 3501092, "khi-kal", "Latn", } m["shh"] = { "Shoshone", 33811, "azc-num", "Latn", } m["shi"] = { "tiếng Tashelhit", 34152, "ber", "Tfng, Arab, Latn", "Tiếng Tashelhit", "Tashelhit", translit = "Tfng-translit", -- put Judeo-Berber (Hebrew-script Tashelhit) under the category header -- U+FB21 HEBREW LETTER WIDE ALEF so that it sorts after Tifinagh script titles sort_key = { from = {"^%f[" .. u(0x5D0) .. "-" .. u(0x5EA) .. "]"}, to = {u(0xFB21)}, }, } m["shj"] = { "Shatt", 56344, "sdv-daj", } m["shk"] = { "Shilluk", 36486, "sdv-lon", "Latn", } m["shl"] = { "Shendu", 22074616, "tbq-kuk", } m["shm"] = { "Shahrudi", 7462280, "xme-ttc", ancestors = "xme-ttc-cen", } m["shn"] = { "tiếng Shan", 56482, "tai-swe", "Mymr", "Tiếng Shan", "Shan", translit = "shn-translit", sort_key = { from = {"[ၢႃ]", "ဵ", "ႅ", "ႇ", "ႈ", "း", "ႉ", "ႊ"}, to = {"ာ", "ေ", "ႄ", "႒", "႓", "႔", "႕", "႖"} }, } m["sho"] = { "Shanga", 3913931, "dmn-bbu", "Latn", } m["shp"] = { "Shipibo-Conibo", 2671988, "sai-pan", "Latn", } m["shq"] = { "Sala", 10961665, "bnt-bot", "Latn", } m["shr"] = { "Shi", 3481999, "bnt-shh", "Latn", } m["shs"] = { "tiếng Shuswap", 3482685, "sal", "Latn", "Tiếng Shuswap", "Shuswap", } m["sht"] = { "Shasta", 56396, "nai-shs", "Latn", } m["shu"] = { "tiếng Ả Rập Tchad", 56497, "sem-arb", "Arab", "Tiếng Ả Rập Tchad", "Ả Rập Tchad", entry_name = { remove_diacritics = c.kashida .. c.fathatan .. c.dammatan .. c.kasratan .. c.fatha .. c.damma .. c.kasra .. c.shadda .. c.sukun .. c.superalef, from = {u(0x0671)}, to = {u(0x0627)} }, } m["shv"] = { "Shehri", 33445, "sem-sar", "Arab, Latn", } m["shw"] = { "Shwai", 36527, "alv-hei", } m["shx"] = { "She", 2605689, "hmn", } m["shy"] = { "tiếng Tachawit", 33274, "ber", "Tfng, Arab, Latn", "Tiếng Tachawit", "Tachawit", translit = "Tfng-translit", } m["shz"] = { "Syenara Senoufo", 36316, "alv-snr", } m["sia"] = { "tiếng Sami Akkala", 35241, "smi", "Cyrl, Latn", "Tiếng Sami Akkala", "Sami Akkala", translit = "sia-translit", display_text = { from = {"'"}, to = {"ˈ"} }, entry_name = {remove_diacritics = "'ˈ"}, } m["sib"] = { "Sebop", 7442799, "poz-swa", "Latn", } m["sid"] = { "tiếng Sidamo", 33786, "cus-hec", "Latn, Ethi", "Tiếng Sidamo", "Sidamo", } m["sie"] = { "Simaa", 7517329, "bnt-kav", "Latn", } m["sif"] = { "Siamou", 36252, } m["sig"] = { "Paasaal", 36426, "nic-sis", "Latn", } m["sih"] = { "Zire", 8072753, "poz-cln", } m["sii"] = { "tiếng Shompen", 1039346, "aav", "Latn", "Tiếng Shompen", "Shompen" } m["sij"] = { "Numbami", 3346277, "poz-ocw", } m["sik"] = { "Sikiana", 3443734, "sai-prk", "Latn", } m["sil"] = { "Tumulung Sisaala", 25383006, "nic-sis", "Latn", } m["sim"] = { "Seim", 7446815, "paa-spk", } m["sip"] = { "tiếng Sikkim", 35285, "sit-tib", "Tibt", "Tiếng Sikkim", "Sikkim", ancestors = "xct", translit = "Tibt-translit", override_translit = true, display_text = s["Tibt-displaytext"], entry_name = s["Tibt-entryname"], sort_key = "Tibt-sortkey", } m["siq"] = { "Sonia", 7561770, } m["sir"] = { "Siri", 3438729, "cdc-wst", "Latn", } m["sis"] = { "Siuslaw", 2315424, } m["siu"] = { "Sinagen", 7521655, "qfa-tor", "Latn", } m["siv"] = { "Sumariup", 7636966, "paa-spk", "Latn", } m["siw"] = { "Siwai", 7532519, "paa-sbo", } m["six"] = { "Sumau", 7637021, "ngf-mad", "Latn", } m["siy"] = { "Sivandi", 13269, "xme", ancestors = "xme-mid", } m["siz"] = { "tiếng Siwi", 36814, "ber", "Tfng, Arab, Latn", "Tiếng Siwi", "Siwi", } m["sja"] = { "Epena", 3055682, "sai-chc", } m["sjb"] = { "Sajau Basap", 4684353, "poz-bnn", } m["sjd"] = { "tiếng Sami Kildin", 33656, "smi", "Cyrl", "Tiếng Sami Kildin", "Sami Kildin", translit = "sjd-translit", display_text = { from = {"'"}, to = {"ˈ"} }, entry_name = {remove_diacritics = "'ˈ"}, } m["sje"] = { "Pite Sami", 56314, "smi", "Latn", display_text = { from = {"'"}, to = {"ˈ"} }, entry_name = {remove_diacritics = c.macron .. "'ˈ"}, sort_key = "sje-sortkey", } m["sjg"] = { "Assangori", 3502255, "sdv-tmn", } m["sjk"] = { "Kemi Sami", 35871, "smi", "Latn", display_text = { from = {"'"}, to = {"ˈ"} }, entry_name = {remove_diacritics = "'ˈ"}, } m["sjl"] = { "Miji", 6845470, "sit-hrs", } m["sjm"] = { "Mapun", 3287253, "poz-sbj", } m["sjn"] = { "Sindarin", 56437, "art", "Latn, Teng", type = "appendix-constructed", } m["sjo"] = { "tiếng Tích Bá", 13223, "tuw-jrc", "sjo-Mong", "Tiếng Tích Bá", "Tích Bá", ancestors = "mnc", } m["sjp"] = { "tiếng Surjapur", 7645351, "inc-krn", "Deva, as-Beng, Kthi", "Tiếng Surjapur", "Surjapur", } m["sjr"] = { "Siar-Lak", 3482907, "poz-ocw", } m["sjs"] = { "tiếng Senhaja De Srair", 56744, "ber", "Latn", "Tiếng Senhaja De Srair", "Senhaja De Srair", } m["sjt"] = { "tiếng Sami Ter", 36656, "smi", "Latn, Cyrl", "Tiếng Sami Ter", "Sami Ter", display_text = { from = {"'"}, to = {"ˈ"} }, entry_name = {remove_diacritics = "'ˈ"}, } m["sju"] = { "tiếng Sami Ume", 56415, "smi", "Latn", "Tiếng Sami Ume", "Sami Ume", entry_name = {remove_diacritics = c.macron .. "'ˈ"}, display_text = { from = {"'"}, to = {"ˈ"} }, sort_key = "sju-sortkey", } m["sjw"] = { "Shawnee", 2669206, "alg", "Latn", } m["ska"] = { "Skagit", 25559652, "sal", "Latn", } m["skb"] = { "tiếng Saek", 36437, "tai-nor", "Thai", "Tiếng Saek", "Saek", sort_key = "Thai-sortkey", } m["skc"] = { "Ma Manda", 6720783, "ngf-fin", } m["skd"] = { "Southern Sierra Miwok", 3492334, "nai-utn", "Latn", } m["ske"] = { "Ske", 7534244, "poz-vnc", "Latn", } m["skf"] = { "Mekéns", 3304806, "tup", "Latn", } m["skh"] = { "Sikule", 3121081, "poz-nws", } m["ski"] = { "Sika", 33960, "poz-cet", "Latn", } m["skj"] = { -- compare 'ths' "Seke", 30226846, "sit-tam", } m["skk"] = { "Sok", 12953887, "mkh-ban", } m["skm"] = { "Sakam", 6448517, "ngf-fin", } m["skn"] = { "Kolibugan Subanon", 18755617, "phi", "Latn", } m["sko"] = { "Seko Tengah", 15613270, "poz", } m["skp"] = { "Sekapan", 7447132, "poz-bnn", } m["skq"] = { "Sininkere", 3914896, "dmn-man", "Latn", } m["skr"] = { "tiếng Saraiki", 33902, "inc-pan", "pa-Arab, Mult, Deva", "Tiếng Saraiki", "Saraiki", ancestors = "lah", entry_name = {remove_diacritics = c.fathatan .. c.dammatan .. c.kasratan .. c.fatha .. c.damma .. c.kasra .. c.shadda .. c.sukun}, translit = { ["pa-Arab"] = "pa-Arab-translit", Mult = "Mult-translit", }, } m["sks"] = { "Maia", 12952760, "ngf-mad", "Latn", } m["skt"] = { "Sakata", 36691, "bnt-bnm", "Latn", } m["sku"] = { "Sakao", 3298421, "poz-vnc", "Latn", } m["skv"] = { "Skou", 3915200, "paa-msk", "Latn", } m["skw"] = { "tiếng Skepi", 2522153, "crp", "Latn", "Tiếng Skepi", "Skepi", ancestors = "nl", } m["skx"] = { "Seko Padang", 15613282, "poz-ssw", } m["sky"] = { "Sikaiana", 7439242, "poz-pnp", "Latn", } m["skz"] = { "Sekar", 7447136, "poz-cet", } m["slc"] = { "Saliba (Colombia)", 3441097, } m["sld"] = { "Sissala", 11020264, "nic-sis", "Latn", } m["sle"] = { "tiếng Sholaga", 7500203, "dra-kan", "Knda", "Tiếng Sholaga", "Sholaga", translit = "kn-translit" } m["slf"] = { "Swiss-Italian Sign Language", 12953479, "sgn", } m["slg"] = { "Selungai Murut", 7448844, "poz-san", } m["slh"] = { "Southern Puget Sound Salish", 12642471, "sal", "Latn", } -- "sli" "Silesian German" IS SUBSUMED INTO "gmw-ecg" "East Central German" m["slj"] = { "Salumá", 7406296, "sai-prk", "Latn", } m["sll"] = { "Salt-Yui", 7405785, } m["slm"] = { "Pangutaran Sama", 3362086, "poz-sbj", } m["sln"] = { "Salinan", 1568938, } m["slp"] = { "Lamaholot", 6480777, "poz-cet", "Latn", } m["slq"] = { "Salchuq", 56752, "trk", } m["slr"] = { "tiếng Salar", 33963, "trk-ogz", "Arab, Latn", "Tiếng Salar", "Salar", } m["sls"] = { "Singapore Sign Language", 7512563, "sgn", } m["slt"] = { "Sila", 7514021, "tbq-sil", } m["slu"] = { "Selaru", 7447500, "poz-cet", } m["slw"] = { "Sialum", 7506694, "ngf", } m["slx"] = { "Salampasu", 7403607, "bnt-lun", "Latn", } m["sly"] = { "Selayar", 7447520, "poz-ssw", } m["slz"] = { "Ma'ya", 2291492, "poz-hce", } m["sma"] = { "tiếng Nam Sami", 13293, "smi", "Latn", "Tiếng Nam Sami", "Nam Sami", display_text = { from = {"'"}, to = {"ˈ"} }, entry_name = {remove_diacritics = "'ˈ"}, sort_key = "sma-sortkey", } m["smb"] = { "Simbari", 7517427, "ngf", } m["smc"] = { "Som", 7559081, "ngf-fin", "Latn", } m["smd"] = { "Sama", 6407456, "bnt-kmb", "Latn", } m["smf"] = { "Auwe", 3502072, "paa-brd", ancestors = "dnd", } m["smg"] = { "Simbali", 56692, "paa-bng", } m["smh"] = { "tiếng Thát Mai", 7409269, "tbq-axi", nil, "Tiếng Thát Mai", "Thát Mai", } m["smj"] = { "Lule Sami", 56322, "smi", "Latn", display_text = { from = {"'"}, to = {"ˈ"} }, entry_name = {remove_diacritics = c.macron .. "'ˈ"}, sort_key = "smj-sortkey", } m["smk"] = { "Bolinao", 2669235, "phi", } m["sml"] = { "tiếng Sama Trung", 3470593, "poz-sbj", "Latn", "Tiếng Sama Trung", "Sama Trung", } m["smm"] = { "Musasa", 6940122, "inc-eas", ancestors = "bh", } m["smn"] = { "tiếng Sami Inari", 33462, "smi", "Latn", "Tiếng Sami Inari", "Sami Inari", display_text = { from = {"'"}, to = {"ˈ"} }, entry_name = {remove_diacritics = c.dotbelow .. "'ˈ"}, sort_key = "smn-sortkey", } m["smp"] = { "Samaritan Hebrew", 56502, "sem-can", "Samr", entry_name = {remove_diacritics = u(0x0816) .. "-" .. u(0x082D)}, } m["smq"] = { "tiếng Samo", 7409884, "ngf-est", "Latn", "Tiếng Samo", "Samo", } m["smr"] = { "Simeulue", 2992833, "poz-nws", "Latn", } m["sms"] = { "tiếng Sami Skolt", 13271, "smi", "Latn", "Tiếng Sami Skolt", "Sami Skolt", display_text = { from = {"'"}, to = {"ˈ"} }, entry_name = {remove_diacritics = c.dotbelow .. "'ˈ"}, sort_key = "sms-sortkey", } m["smt"] = { "Simte", 7521268, "tbq-kuk", } m["smu"] = { "Somray", 6583612, "mkh-pea", } m["smv"] = { "Samvedi", 6345632, "inc-sou", } m["smw"] = { "Sumbawa", 3182585, "poz-mcm", "Latn", } m["smx"] = { "Samba", 11120157, "bnt-pen", "Latn", } m["smy"] = { "Semnani", 14531212, "xme", } m["smz"] = { "Simeku", 7517534, "paa-sbo", } m["snb"] = { "Sebuyau", 7442836, "poz-mly", } m["snc"] = { "Sinaugoro", 4170719, "poz-ocw", } m["sne"] = { "tiếng Bidayuh Bau", 2891938, "day", "Latn", "Tiếng Bidayuh Bau", "Bidayuh Bau", } m["snf"] = { "tiếng Noon", 36304, "alv-cng", "Latn", "Tiếng Noon", "Noon", } m["sng"] = { "Sanga (Congo)", 3438316, "bnt-lub", "Latn", } m["sni"] = { "Sensi", 7451029, "sai-pan", "Latn", } m["snj"] = { "Riverain Sango", 25559751, "crp", "Latn", ancestors = "ngb", } m["snk"] = { "tiếng Soninke", 36660, "dmn-snb", "Latn, Arab", "Tiếng Soninke", "Soninke", } m["snl"] = { "Sangil", 3472206, "phi", } m["snm"] = { "Southern Ma'di", 15637273, "csu-mma", } m["snn"] = { "Siona", 3485116, "sai-tuc", "Latn", } m["sno"] = { "Snohomish", 25559662, "sal", "Latn", } m["snp"] = { "Siane", 7506812, "paa-kag", "Latn", } m["snq"] = { "Sangu (Gabon)", 36609, "bnt-sir", "Latn", } m["snr"] = { "Sihan", 7513400, "ngf-mad", } m["sns"] = { "Nahavaq", 2160435, "poz-vnc", } m["snu"] = { "Senggi", 7929052, "paa-brd" } m["snv"] = { "Sa'ban", 3474891, "poz-swa", "Latn", } m["snw"] = { "Selee", 36272, "alv-ntg", "Latn", } m["snx"] = { "Sam", 7408387, } m["sny"] = { "Saniyo-Hiyewe", 7418302, "paa-spk", "Latn", } m["snz"] = { "Kou", 7525035, -- also 4803639 "ngf-mad", "Latn", } m["soa"] = { "tiếng Thái Tống", 7709159, "tai-swe", "Tavt, Thai", "Tiếng Thái Tống", "Thái Tống", --translit = "Tavt-translit", sort_key = { from = {"([ꪵꪶꪹꪻꪼ])([ꪀ-ꪯ])", "([เแโใไ])([ก-ฮ])"}, to = {"%2%1", "%2%1"} }, } m["sob"] = { "Sobei", 3121035, "poz-ocw", } m["soc"] = { "Soko", 7555138, "bnt-ske", "Latn", } m["sod"] = { "Songoora", 7561296, "bnt-lgb", "Latn", } m["soe"] = { "Songomeno", 5713543, "bnt-bsh", "Latn", } m["sog"] = { "tiếng Sogdia", 205979, "ira-sgc", "Sogd, Mani, Syrc, Sogo", "Tiếng Sogdia", "Sogdia", translit = { Sogd = "Sogd-translit", Mani = "Mani-translit", Sogo = "Sogo-translit", }, } m["soh"] = { "Aka (Sudan)", 3450949, "sdv-eje", "Latn", } m["soi"] = { "Sonha", 12953890, "inc-eas", } m["sok"] = { "Sokoro", 3441303, "cdc-est", "Latn", } m["sol"] = { "Solos", 3489591, "poz-ocw", } m["soo"] = { "Nsong", 12953148, "bnt-bdz", "Latn", } m["sop"] = { "Songe", 3130911, "bnt-lbn", "Latn", } m["soq"] = { "Kanasi", 11732656, } m["sor"] = { "Somrai", 3123566, "cdc-est", "Latn", } m["sos"] = { "Seenku", 36274, "dmn-smg", } m["sou"] = { "tiếng Nam Thái", 56508, "tai-swe", "Thai", "Tiếng Nam Thái", "Nam Thái", sort_key = "Thai-sortkey", } m["sov"] = { "tiếng Sonsorol", 13281, "poz-mic", "Latn", "Tiếng Sonsorol", "Sonsorol", } m["sow"] = { "Sowanda", 7571845, "paa-brd" } m["sox"] = { "Swo", 36604, "bnt-mka", "Latn", } m["soy"] = { "Miyobe", 35913, "alv-sav", "Latn", } m["soz"] = { "Temi", 13278, "bnt-kka", "Latn", } m["spb"] = { "Sepa (Indonesia)", 18603687, "poz-cma", "Latn", } m["spc"] = { "Sapé", 2888158, nil, "Latn", } m["spd"] = { "Saep", 7398312, "ngf-mad", } m["spe"] = { "Sepa (New Guinea)", 7451725, "poz-ocw", "Latn", } m["spg"] = { "Sian", 7506806, "poz-bnn", } m["spi"] = { "Saponi", 3915418, "paa", } m["spk"] = { "Sengo", 7450584, "paa-spk", "Latn", } m["spl"] = { "Selepet", 7447917, "ngf", } m["spm"] = { "Sepen", 4701931, "paa", "Latn", } m["spn"] = { "Sanapaná", 3033556, "sai-mas", "Latn", } m["spo"] = { "Spokane", 3493704, "sal", } m["spp"] = { "Supyire", 56284, "alv-sma", "Latn", } m["spr"] = { "Saparua", 7420921, "poz-cma", } m["sps"] = { "tiếng Saposa", 3473187, "poz-ocw", nil, "Tiếng Saposa", "Saposa", } m["spt"] = { "Spiti Bhoti", 22080879, "sit-las", } m["spu"] = { "Sapuan", 7421168, "mkh-ban", } m["spv"] = { "tiếng Sambalpur", 6433240, "inc-eas", "Orya", "Tiếng Sambalpur", "Sambalpur", translit = "or-translit", ancestors = "or", } m["spx"] = { "tiếng Piceni Nam", 36688, "itc-sbl", "Ital, Latn", "Tiếng Piceni Nam", "Piceni Nam", translit = "Ital-translit", } m["spy"] = { "Sabaot", 7395896, "sdv-kln", } m["sqa"] = { "Shama-Sambuga", 3914392, "nic-kmk", "Latn", } m["sqh"] = { "Shau", 3913925, "nic-jer", "Latn", } m["sqk"] = { "Albanian Sign Language", 4709168, "sgn", } m["sqm"] = { "Suma", 11008431, "alv-gbw", } m["sqn"] = { "Susquehannock", 3505736, "iro-nor", } m["sqo"] = { "Sorkhei", 3491964, "ira-kms", } m["sqq"] = { "Sou", 16979751, "mkh-ban", } m["sqr"] = { "Siculo-Arabic", 1069489, "sem-arb", } m["sqs"] = { "Sri Lankan Sign Language", 3915466, "sgn", } m["sqt"] = { "tiếng Socotra", 13283, "sem-sar", "Arab, Latn", "Tiếng Socotra", "Socotra", } m["squ"] = { "tiếng Squamish", 2484579, "sal", "Latn", "Tiếng Squamish", "Squamish", } m["sra"] = { "Saruga", 7424699, "ngf-mad", "Latn", } m["srb"] = { "tiếng Sora", 13284, "mun", "Sora, Orya", "Tiếng Sora", "Sora", } m["sre"] = { "Sara", 33957, "day", } m["srf"] = { "Nafi", 6958174, "poz-ocw", } m["srg"] = { "Sulod", 7636489, "phi", } m["srh"] = { "tiếng Sarikol", 33873, "ira-shr", "Latn, ug-Arab, Cyrl", "Tiếng Sarikol", "Sarikol", } m["sri"] = { "Siriano", 3485264, "sai-tuc", "Latn", } m["srk"] = { "Serudung Murut", 7455497, "poz-san", } m["srl"] = { "Isirawa", 4203802, "paa-tkw", } m["srm"] = { "tiếng Saramacca", 33779, "crp", "Latn", "Tiếng Saramacca", "Saramacca", ancestors = "en, pt", } m["srn"] = { "tiếng Sranan Tongo", 33989, "crp", "Latn", "Tiếng Sranan Tongo", "Sranan Tongo", } m["srq"] = { "Sirionó", 3027953, "tup-gua", "Latn", } m["srr"] = { "tiếng Serer", 36284, "alv-fwo", "Latn, Arab", "Tiếng Serer", "Serer", } m["srs"] = { "tiếng Tsuut'ina", 20825, "ath-nor", "Latn", "Tiếng Tsuut'ina", "Tsuut'ina", } m["srt"] = { "Sauri", 7427547, "paa-egb", } m["sru"] = { "Suruí", 7646993, "tup", "Latn", } m["srv"] = { "Waray Sorsogon", 18755610, "phi", } m["srw"] = { "Serua", 14916905, "poz-cet", } m["srx"] = { "tiếng Sirmaur", 7530505, "him", "Deva", "Tiếng Sirmaur", "Sirmaur", } m["sry"] = { "Sera", 7452602, "poz-ocw", "Latn", } m["srz"] = { "Shahmirzadi", 12953126, "ira-msh", "fa-Arab", } m["ssb"] = { "Southern Sama", 3470594, "poz-sbj", "Latn", } m["ssc"] = { "Suba-Simbiti", 7630687, "bnt-lok", "Latn", } m["ssd"] = { "Siroi", 10771067, "ngf-mad", "Latn", } m["sse"] = { "Balangingi", 2880535, "poz-sbj", "Latn", } m["ssf"] = { "Thao", 676492, "map", "Latn", } m["ssg"] = { "Seimat", 3182581, "poz-aay", } m["ssh"] = { "Shihhi Arabic", 56571, "sem-arb", "Arab", entry_name = { remove_diacritics = c.kashida .. c.fathatan .. c.dammatan .. c.kasratan .. c.fatha .. c.damma .. c.kasra .. c.shadda .. c.sukun .. c.superalef, from = {u(0x0671)}, to = {u(0x0627)} }, } m["ssi"] = { "Sansi", 3309366, "inc-nwe", } m["ssj"] = { "Sausi", 7427605, "ngf-mad", "Latn", } m["ssk"] = { "Sunam", 11002210, "sit-kin", } m["ssl"] = { "Western Sisaala", 11154776, "nic-sis", "Latn", } m["ssm"] = { "tiếng Semnam", 7449713, "mkh-asl", "Latn", "Tiếng Semnam", "Semnam", } m["ssn"] = { "tiếng Waata", 7449713, "cus-eas", nil, "Tiếng Waata", "Waata", } m["sso"] = { "tiếng Sissano", 7530937, "poz-ocw", "Latn", "Tiếng Sissano", "Sissano", } m["ssp"] = { "Spanish Sign Language", 3100814, "sgn", } m["ssq"] = { "So'a", 7572120, "poz-cet", "Latn", } m["ssr"] = { "Swiss-French Sign Language", 12953483, "sgn", } m["sss"] = { "tiếng Sô", 3082037, "mkh-kat", "Thai", "Tiếng Sô", "Sô", } m["sst"] = { "Sinasina", 7521813, "ngf", "Latn", } m["ssu"] = { "Susuami", 7649752, "ngf", "Latn", } m["ssv"] = { "Shark Bay", 7489783, "poz-vnc", } m["ssx"] = { "Samberigi", 7409020, "paa-eng", "Latn", } m["ssy"] = { "tiếng Saho", 36353, "cus-eas", "Latn, Ethi, Arab", "Tiếng Saho", "Saho", } m["ssz"] = { "Sengseng", 7450601, "poz-ocw", "Latn", } m["stb"] = { "Northern Subanen", 12953892, "phi", "Latn", } m["std"] = { "Sentinelese", 568377, } m["ste"] = { "Liana-Seti", 6539924, "poz-cma", } m["stf"] = { "Seta", 7456326, "qfa-tor", "Latn", } m["stg"] = { "Trieng", 22694648, "mkh-ban", } m["sth"] = { "Shelta", 36705, "crp", "Latn", ancestors = "en", } m["sti"] = { "tiếng Xtiêng", 15771431, "mkh-ban", "Khmr, Latn", "Tiếng Xtiêng", "Xtiêng", } m["stj"] = { "Matya Samo", 10974879, "dmn-sam", "Latn", } m["stk"] = { "Arammba", 3502094, "ngf", } m["stm"] = { "Setaman", 7456333, "ngf-okk", "Latn", } m["stn"] = { "Owa", 1324132, "poz-sls", "Latn", } m["sto"] = { "Stoney", 3033570, "sio-dkt", } m["stp"] = { "tiếng Tepehuan Đông Nam", 12953917, "azc", "Latn", "Tiếng Tepehuan Đông Nam", "Tepehuan Đông Nam", } m["stq"] = { "tiếng Frisia Saterland", 27154, "gmw-fri", "Latn", "Tiếng Frisia Saterland", "Frisia Saterland", } m["str"] = { "tiếng Saanich", 36444, "sal", "Latn", "Tiếng Saanich", "Saanich", } m["sts"] = { "Shumashti", 33777, "inc-kun", } m["stt"] = { "tiếng Xtiêng Bù Đeh", 12953891, "mkh-ban", "Latn", "Tiếng Xtiêng Bù Đeh", "Xtiêng Bù Đeh", } m["stu"] = { "tiếng Samtao", 25559550, "mkh-pal", "Latn, Mymr", "Tiếng Samtao", "Samtao" } m["stv"] = { "tiếng Siltʼe", nil, "sem-eth", "Ethi", "Tiếng Siltʼe", "Siltʼe", } m["stw"] = { "Satawalese", 28477, "poz-mic", } m["sty"] = { "tiếng Tatar Siberia", 4418344, "trk-kno", "Cyrl", "Tiếng Tatar Siberia", "Tatar Siberia", translit = "sty-translit" } m["sua"] = { "Sulka", 7636341, "qfa-iso", } m["sub"] = { "Suku", 12953160, "bnt-yak", "Latn", } m["suc"] = { "Western Subanon", 16113894, "phi", "Latn", } m["sue"] = { "Suena", 7634386, "ngf", "Latn", } m["sug"] = { "Suganga", 7634706, "ngf-okk", "Latn", } m["sui"] = { "Suki", 2089984, "ngf", "Latn", } m["suk"] = { "Sukuma", 2638144, "bnt-tkm", "Latn", } m["suq"] = { "tiếng Suri", 5364172, "sdv", "Latn, Ethi", "Tiếng Suri", "Suri", } m["sur"] = { "Mwaghavul", 3440486, "cdc-wst", "Latn", } m["sus"] = { "Susu", 33990, "dmn-sya", "Latn", } m["sut"] = { "Subtiaba", 3915405, "omq", "Latn", } m["suv"] = { "Sulung", 56408, "sit-khb", } m["suw"] = { "Sumbwa", 7637055, "bnt-glb", "Latn", } m["sux"] = { "tiếng Sumer", 36790, "qfa-iso", "Xsux, Latn", "Tiếng Sumer", "Sumer", } m["suy"] = { "Suyá", 3505859, "sai-nje", "Latn", } m["suz"] = { "Sunwar", 56549, "sit-kiw", "Deva, Sunu" } m["sva"] = { "tiếng Svan", 34067, "ccs", "Geor, Cyrl", "Tiếng Svan", "Svan", translit = "sva-translit", override_translit = true, } m["svb"] = { "Ulau-Suain", 7878769, "poz-ocw", "Latn", } m["svc"] = { "Vincentian Creole English", 3501785, "crp", "Latn", ancestors = "en", } m["sve"] = { "Serili", 7454834, "poz-tim", } m["svk"] = { "Slovakian Sign Language", 7541557, "sgn", } m["svm"] = { "Slavomolisano", 36254, "zls", "Latn", ancestors = "sh", } m["svs"] = { "Savosavo", 3130296, "paa", "Latn", } m["svx"] = { "Skalvian", 3486125, "bat-wes", "Latn", } m["swb"] = { "tiếng Comoros Maore", 34075, "bnt-com", "Latn, Arab", "Tiếng Comoros Maore", "Comoros Maore", sort_key = "bnt-com-sortkey", } m["swf"] = { "Sere", 7453056, "nic-ser", "Latn", } m["swg"] = { "Swabian", 327274, "gmw-hgm", "Latn", ancestors = "gsw", } m["swi"] = { "tiếng Thủy", 3112388, "qfa-kms", "Latn, Shui, Hani", "Tiếng Thủy", "Thủy", sort_key = {Hani = "Hani-sortkey"}, } m["swj"] = { "Sira", 36599, "bnt-sir", "Latn", } m["swl"] = { "Swedish Sign Language", 36558, "sgn", } m["swm"] = { "Samosa", 7410037, "ngf-mad", "Latn", } m["swn"] = { "tiếng Sokna", 2988323, "ber", nil, "Tiếng Sokna", "Sokna", } m["swo"] = { "Shanenawa", nil, "sai-pan", "Latn", } m["swp"] = { "Suau", 3502368, "poz-ocw", } m["swq"] = { "Sharwa", 56791, "cdc-cbm", "Latn", } m["swr"] = { "Saweru", 3474649, } m["sws"] = { "Seluwasan", 7448845, "poz-cet", } m["swt"] = { "Sawila", 7428639, } m["swu"] = { "Suwawa", 7650588, "phi", } m["sww"] = { "Sowa", 7571843, "poz-vnc", } m["swx"] = { "Suruahá", 3114402, "auf", } m["swy"] = { "Sarua", 56261, "cdc-est", "Latn", } m["sxb"] = { "Suba", 33916, "bnt-lok", "Latn", } m["sxc"] = { "Sicanian", 36335, } m["sxe"] = { "Sighu", 36431, "bnt-kel", "Latn", } m["sxg"] = { "Shixing", 56337, "sit-nax", "Latn", } m["sxk"] = { "Southern Kalapuya", 3192122, "nai-klp", } m["sxl"] = { "Selonian", 36491, "bat-eas", "Latn", } m["sxm"] = { "Samre", 6583615, "mkh-pea", } m["sxn"] = { "tiếng Sangir", 25714758, "phi", "Latn", "Tiếng Sangir", "Sangir", } m["sxo"] = { "Sorothaptic", 2762254, } m["sxr"] = { "tiếng Saaroa", 716599, "map-tsu", "Latn", "Tiếng Saaroa", "Saaroa", } m["sxs"] = { "Sasaru", 3913384, "alv-yek", "Latn", } -- "sxu" "Upper Saxon" IS SUBSUMED INTO "gmw-ecg" "East Central German" m["sxw"] = { "tiếng Gbe Saxwe", 7428892, "alv-pph", nil, "Tiếng Gbe Saxwe", "Gbe Saxwe", } m["sya"] = { "Siang", 3482903, } m["syb"] = { "Central Subanen", 12953893, "phi", "Latn", } m["syc"] = { "tiếng Syriac cổ điển", 33538, "sem-are", "Syrc", "Tiếng Syriac cổ điển", "Syriac cổ điển", entry_name = {remove_diacritics = c.macron .. c.diaer .. c.macronbelow .. u(0x0730) .. "-" .. u(0x0748)}, } m["syi"] = { "Seki", 36547, "bnt-kel", "Latn", } m["syk"] = { "Sukur", 56292, "cdc-cbm", "Latn", } m["syl"] = { "tiếng Sylhet", 2044560, "inc-eas", "Sylo, Beng", "Tiếng Sylhet", "Sylhet", ancestors = "inc-obn", translit = "syl-translit", } m["sym"] = { "Maya Samo", 10950421, "dmn-sam", "Latn", } m["syn"] = { "Senaya", 33914, "sem-nna", } m["syo"] = { "Suoy", 7641864, "mkh-pea", } m["sys"] = { "Sinyar", 56840, "csu", "Latn", } m["syw"] = { "Kagate", 12952538, "sit-kyk", "Deva", } m["syx"] = { "Osamayi", 7408415, "bnt-kel", "Latn", } m["syy"] = { "Al-Sayyid Bedouin Sign Language", 2915457, "sgn", } m["sza"] = { "tiếng Semelai", 3111827, "mkh-asl", "Latn", "Tiếng Semelai", "Semelai", } m["szb"] = { "tiếng Ngalum", 11732516, "ngf-okk", "Latn", "Tiếng Ngalum", "Ngalum", } m["szc"] = { "tiếng Semaq Beri", 7449119, "mkh-asl", "Latn", "Tiếng Semaq Beri", "Semaq Beri", } m["szd"] = { "Seru", 7455488, "poz-bnn", "Latn", } m["sze"] = { "tiếng Seze", 373683, "omv-mao", "Latn", "Tiếng Seze", "Seze", } m["szg"] = { "Sengele", 7450555, "bnt-mon", "Latn", } m["szl"] = { "tiếng Silesia", 30319, "zlw-lch", "Latn", "Tiếng Silesia", "Silesia", ancestors = "zlw-opl", } m["szn"] = { "Sula", 3503403, "poz-cma", "Latn", } m["szp"] = { "Suabo", 7630429, "ngf-sbh", "Latn", } m["szv"] = { "Isubu", 35431, "bnt-saw", "Latn", } m["szw"] = { "Sawai", 3447258, "poz-hce", "Latn", } m["szy"] = { "tiếng Sakizaya", 718269, "map", "Latn", "Tiếng Sakizaya", "Sakizaya", } return require("Module:languages").finalizeData(m, "language") fqwf4ni64vn2zawcu1x6nk6uz605bj6 2341466 2341465 2026-03-31T06:39:14Z Hiyuune 50834 2341466 Scribunto text/plain local m_langdata = require("Module:languages/data") -- Loaded on demand, as it may not be needed (depending on the data). local function u(...) u = require("Module:string utilities").char return u(...) end local c = m_langdata.chars local p = m_langdata.puaChars local s = m_langdata.shared local m = {} m["saa"] = { "tiếng Saba", 3914885, "cdc-est", "Latn", "Tiếng Saba", "Saba", } m["sab"] = { "Buglere", 3368506, "cba", "Latn", } m["sac"] = { "tiếng Fox", 12714767, "alg-sfk", "Latn", "Tiếng Fox", "Fox", } m["sad"] = { "Sandawe", 34016, "qfa-iso", "Latn", } m["sae"] = { "Sabanê", 3460478, "sai-nmk", "Latn", } m["saf"] = { "Safaliba", 36432, "nic-mre", "Latn", } m["sah"] = { "tiếng Yakut", 34299, "trk-nsb", "Cyrl", "Tiếng Yakut", "Yakut", translit = "sah-translit", override_translit = true, } m["saj"] = { "Sahu", 7399757, "paa-nha", "Latn", } m["sak"] = { "Sake", 36425, "bnt-kel", "Latn", } m["sam"] = { "Samaritan Aramaic", 56612, "sem-arw", "Samr", entry_name = {remove_diacritics = u(0x0816) .. "-" .. u(0x082D)}, translit = "Samr-translit", } m["sao"] = { "Sause", 4409155, "paa-tkw", "Latn", } m["saq"] = { "Samburu", 56536, "sdv-lma", } m["sar"] = { "Saraveca", 3450556, "awd", } m["sas"] = { "tiếng Sasak", 1294047, "poz-mcm", "Latn", "Tiếng Sasak", "Sasak", } m["sat"] = { "tiếng Santal", 33965, "mun", "Olck, Deva, Beng, Orya", "Tiếng Santal", "Santal", translit = "Olck-translit", override_translit = true, } m["sau"] = { "Saleman", 7404262, "poz-cet", } m["sav"] = { "Saafi-Saafi", 36308, "alv-cng", "Arab, Latn", } m["saw"] = { "Sawi", 677064, "ngf", "Latn", } m["sax"] = { "Sa", 3460352, "poz-vnc", "Latn", } m["say"] = { "Saya", 3914431, "cdc-wst", "Latn", } m["saz"] = { "tiếng Saurashtra", 13292, "inc-wes", "Saur, Latn, Taml, Deva", "Tiếng Saurashtra", "Saurashtra", translit = { Saur = "saz-translit", Taml = "ta-translit", }, ancestors = "inc-ogu", } m["sba"] = { "Ngambay", 2372207, "csu-sar", } m["sbb"] = { "Simbo", 3484101, "poz-ocw", } m["sbc"] = { "Gele'", 3194847, "poz-oce", } m["sbd"] = { "Southern Samo", 33122730, "dmn-sam", "Latn", } m["sbe"] = { "Saliba (New Guinea)", 3469737, "poz-ocw", } m["sbf"] = { "Shabo", 36342, "ssa", "Latn", } m["sbg"] = { "Seget", 7446237, } m["sbh"] = { "Sori-Harengan", 36515, "poz-aay", "Latn", } m["sbi"] = { "Seti", 7456682, "qfa-tor", "Latn", } m["sbj"] = { "Surbakhal", 759995, } m["sbk"] = { "Safwa", 4121160, "bnt-mby", "Latn", } m["sbl"] = { "Botolan Sambal", 4095195, "phi", } m["sbm"] = { "Sagala", 11732610, "bnt-ruv", "Latn", } m["sbn"] = { "Sindhi Bhil", 25559289, "inc-snd", "Arab, Deva, Sind, Guru", ancestors = "sd", } m["sbo"] = { "tiếng Sabüm", 7396535, "mkh-asl", nil, "Tiếng Sabüm", "Sabüm", } m["sbp"] = { "Sangu (Tanzania)", 7418149, "bnt-bki", "Latn", } m["sbq"] = { "Sileibi", 7514337, "ngf-mad", } m["sbr"] = { "Sembakung Murut", 7449148, "poz-san", } m["sbs"] = { "Subiya", 6442073, "bnt-bot", "Latn", } m["sbt"] = { "Kimki", 6410160, "paa-pau", } m["sbu"] = { "Stod Bhoti", 15622700, "sit-las", } m["sbv"] = { "Sabine", nil, "itc-sbl", "Latn", } m["sbw"] = { "Simba", 36430, "bnt-tso", "Latn", } m["sbx"] = { "Seberuang", 12473470, "poz-mly", } m["sby"] = { "Soli", 7557754, "bnt-bot", "Latn", } m["sbz"] = { "Sara Kaba", 25559318, "csu-kab", "Latn", } m["scb"] = { "tiếng Chứt", 2967709, "mkh-vie", "Latn", "Tiếng Chứt", "Chứt", } m["sce"] = { "tiếng Đông Hương", 32947, "xgn-shr", "Arab, Latn", "Tiếng Đông Hương", "Đông Hương", } m["scf"] = { "San Miguel Creole French", 12953094, "crp", "Latn", ancestors = "gcf", sort_key = s["roa-oil-sortkey"], } m["scg"] = { "Sanggau", 12473466, "day", } m["sch"] = { "Sakachep", 37054, "tbq-kuk", } m["sci"] = { "Sri Lankan Creole Malay", 1089151, "crp", "Latn", ancestors = "ms", } m["sck"] = { "tiếng Sadri", 765922, "inc-bih", "Deva, Kthi, Beng, Orya", translit = { Deva = "hi-translit", Kthi = "bho-Kthi-translit", }, "Tiếng Sadri", "Sadri", } m["scl"] = { "tiếng Shina", 1353320, "inc-shn", "ur-Arab, Deva", "Tiếng Shina", "Shina", } m["scn"] = { "tiếng Sicily", 33973, "roa-itd", "Latn", "Tiếng Sicily", "Sicily", } m["sco"] = { "tiếng Scots", 14549, "gmw-ang", "Latn", "Tiếng Scots", "Scots", ancestors = "sco-smi", } m["scp"] = { "tiếng Yolmo", 22662107, "sit-kyk", "Deva", "Tiếng Yolmo", "Yolmo", } m["scq"] = { "Sa'och", 6583617, "mkh-pea", } m["scs"] = { "tiếng Bắc Slavey", 20628, "den", "Latn, Cans", "Tiếng Bắc Slavey", "Bắc Slavey", } m["scu"] = { "Shumcho", 22077739, "sit-kin", } m["scv"] = { "Sheni", 11015820, "nic-jer", "Latn", ancestors = "zir", } m["scw"] = { "Sha", 3438816, "cdc-wst", "Latn", } m["scx"] = { "tiếng Sicel", 36667, "itc", "Polyt", "Tiếng Sicel", "Sicel", translit = "grc-translit", display_text = s["Polyt-displaytext"], entry_name = s["Polyt-entryname"], sort_key = s["Polyt-sortkey"], } m["sda"] = { "Toraja-Sa'dan", 36673, "poz-ssw", } m["sdb"] = { "tiếng Shabak", 3289596, "ira-zgr", "Arab", "Tiếng Shabak", "Shabak", ancestors = "hac", } m["sdc"] = { "Sassarese", 845441, "roa-itd", "Latn", } m["sde"] = { "Surubu", 3913336, "nic-kau", "Latn", } m["sdf"] = { "Sarli", 7424256, "ira-zgr", ancestors = "hac", } m["sdg"] = { "tiếng Savi", 3474654, "inc-shn", "ur-Arab", "Tiếng Savi", "Savi", } m["sdh"] = { "Southern Kurdish", 1496597, "ku", "ku-Arab", translit = "sdh-translit", entry_name = {remove_diacritics = c.kasra .. c.sukun}, } m["sdj"] = { "Suundi", 7650407, "bnt-kng", "Latn", } m["sdk"] = { "Sos Kundi", 7563811, "paa-spk", "Latn", } m["sdl"] = { "Saudi Arabian Sign Language", 3504160, "sgn", } m["sdm"] = { "Semandang", 7449012, "day", } m["sdn"] = { "tiếng Gallura", 612220, "roa-itd", "Latn", "Tiếng Gallura", "Gallura", ancestors = "co", } m["sdo"] = { "Bukar-Sadung Bidayuh", 2927799, "day", } m["sdp"] = { "Sherdukpen", 7494785, "sit-khb", } m["sdr"] = { "Oraon Sadri", 12953860, "inc-eas", ancestors = "bh", } m["sds"] = { "Tunisian Berber", 5329732, "ber", } m["sdu"] = { "Sarudu", 7424700, "poz-cet", } m["sdx"] = { "Sibu Melanau", 18642842, "poz-bnn", } m["sea"] = { "tiếng Semai", 3135426, "mkh-asl", "Latn", "Tiếng Semai", "Semai", } -- seb is a duplicate code of spp m["sec"] = { "tiếng Sechelt", 7442898, "sal", "Latn", "Tiếng Sechelt", "Sechelt", } m["sed"] = { "tiếng Xơ Đăng", 56448, "mkh-nbn", "Latn", "Tiếng Xơ Đăng", "Xơ Đăng", } m["see"] = { "tiếng Seneca", 1185133, "iro-nor", "Latn", "Tiếng Seneca", "Seneca", } m["sef"] = { "Cebaara Senoufo", 10975121, "alv-snr", } m["seg"] = { "Segeju", 17584599, "bnt-mij", "Latn", } m["seh"] = { "tiếng Sena", 2964008, "bnt-sna", "Latn", "Tiếng Sena", "Sena", } m["sei"] = { "tiếng Seri", 36583, "qfa-iso", "Latn", "Tiếng Seri", "Seri", } m["sej"] = { "Sene", 7450252, } m["sek"] = { "Sekani", 28562, "ath-nor", "Latn", } m["sel"] = { "tiếng Selkup", 34008, "syd", "Cyrl", "Tiếng Selkup", "Selkup", } m["sen"] = { "Nanerigé Sénoufo", 36002, "alv-sma", } m["seo"] = { "Suarmin", 7630513, "paa", } m["sep"] = { "Sìcìté Sénoufo", 56787, "alv-sma", } m["seq"] = { "Senara Sénoufo", 35210, "alv-snr", } m["ser"] = { "Serrano", 3479942, "azc-tak", "Latn", } m["ses"] = { "tiếng Senni Koyraboro", 35655, "son", "Latn, Arab", "Tiếng Senni Koyraboro", "Senni Koyraboro", } m["set"] = { "Sentani", 3441672, "paa-sen", "Latn", } m["seu"] = { "Serui-Laut", 7455503, "poz-hce", "Latn", } m["sev"] = { "tiếng Senoufo Nyarafolo", 36306, "alv-snr", "Latn", "Tiếng Senoufo Nyarafolo", "Senoufo Nyarafolo", } m["sew"] = { "Sewa Bay", 7458126, "poz-ocw", } m["sey"] = { "Secoya", 3477218, "sai-tuc", "Latn", } m["sez"] = { "Senthang Chin", 7451223, "tbq-kuk", } m["sfb"] = { "French Belgian Sign Language", 3217332, "sgn", } m["sfe"] = { "Eastern Subanun", Q63311321, "phi", "Latn", } m["sfm"] = { "Small Flowery Miao", 7542773, "hmn", } m["sfs"] = { "South African Sign Language", 3322093, "sgn", } m["sfw"] = { "Sehwi", 36593, "alv-ctn", "Latn", } m["sga"] = { "tiếng Ireland cổ", 35308, "cel-gae", "Latn", "Tiếng Ireland cổ", "Ireland cổ", entry_name = {remove_diacritics = c.dotabove .. c.diaer .. "·"}, sort_key = "sga-sortkey", standardChars = "AaÁáBbCcDdEeÉéFfGgHhIiÍíLlMmNnOoÓóPpRrSsTtUuÚú0123456789" .. c.punc, } m["sgb"] = { "Mag-Anchi Ayta", 4356243, "phi", } m["sgc"] = { "Kipsigis", 56339, "sdv-nma", } m["sgd"] = { "Surigaonon", 34140, "phi", "Latn", } m["sge"] = { "Segai", 7446180, } m["sgg"] = { "Swiss-German Sign Language", 35150, "sgn", } m["sgh"] = { "tiếng Shughnan", 34053, "ira-shy", "Latn, Cyrl, Arab", "Tiếng Shughnan", "Shughnan", ancestors = "ira-shr-pro", translit = "sgh-translit", override_translit = true, } m["sgi"] = { "Suga", 36475, "nic-mmb", "Latn", } m["sgk"] = { "Sangkong", 2945610, "tbq-bis", } m["sgm"] = { "Singa", 7522797, "bnt-lok", "Latn", } m["sgp"] = { "Singpho", 7524158, "sit-jnp", } m["sgr"] = { "tiếng Sangisar", 3394363, "ira-kms", "Arab", "Tiếng Sangisar", "Sangisar", } m["sgs"] = { "tiếng Samogitia", 213434, "bat-eas", "Latn", "Tiếng Samogitia", "Samogitia", ancestors = "olt", wikimedia_codes = "bat-smg", } m["sgt"] = { "Brokpake", 56603, "sit-tib", "Tibt", translit = "Tibt-translit", override_translit = true, display_text = s["Tibt-displaytext"], entry_name = s["Tibt-entryname"], sort_key = "Tibt-sortkey", } m["sgu"] = { "Salas", 7403694, "poz-cma", } m["sgw"] = { "tiếng Sebat Bet Gurage", 2707343, "sem-eth", "Ethi", "Tiếng Sebat Bet Gurage", "Sebat Bet Gurage", } m["sgx"] = { "Sierra Leone Sign Language", 7511448, "sgn", } m["sgy"] = { "Sanglechi", 3472220, "ira-sgi", } m["sgz"] = { "Sursurunga", 36511, "poz-ocw", "Latn", } m["sha"] = { "Shall-Zwall", 3915355, "nic-beo", } m["shb"] = { "Ninam", 3436586, } m["shc"] = { "Sonde", 7560881, "bnt-pen", "Latn", } m["shd"] = { "tiếng Kundal Shahi", 6444265, "inc-shn", "Arab", "Tiếng Kundal Shahi", "Kundal Shahi", } m["she"] = { "Sheko", 3183355, "omv-diz", } m["shg"] = { "Shua", 3501092, "khi-kal", "Latn", } m["shh"] = { "Shoshone", 33811, "azc-num", "Latn", } m["shi"] = { "tiếng Tashelhit", 34152, "ber", "Tfng, Arab, Latn", "Tiếng Tashelhit", "Tashelhit", translit = "Tfng-translit", -- put Judeo-Berber (Hebrew-script Tashelhit) under the category header -- U+FB21 HEBREW LETTER WIDE ALEF so that it sorts after Tifinagh script titles sort_key = { from = {"^%f[" .. u(0x5D0) .. "-" .. u(0x5EA) .. "]"}, to = {u(0xFB21)}, }, } m["shj"] = { "Shatt", 56344, "sdv-daj", } m["shk"] = { "Shilluk", 36486, "sdv-lon", "Latn", } m["shl"] = { "Shendu", 22074616, "tbq-kuk", } m["shm"] = { "Shahrudi", 7462280, "xme-ttc", ancestors = "xme-ttc-cen", } m["shn"] = { "tiếng Shan", 56482, "tai-swe", "Mymr", "Tiếng Shan", "Shan", translit = "shn-translit", sort_key = { from = {"[ၢႃ]", "ဵ", "ႅ", "ႇ", "ႈ", "း", "ႉ", "ႊ"}, to = {"ာ", "ေ", "ႄ", "႒", "႓", "႔", "႕", "႖"} }, } m["sho"] = { "Shanga", 3913931, "dmn-bbu", "Latn", } m["shp"] = { "Shipibo-Conibo", 2671988, "sai-pan", "Latn", } m["shq"] = { "Sala", 10961665, "bnt-bot", "Latn", } m["shr"] = { "Shi", 3481999, "bnt-shh", "Latn", } m["shs"] = { "tiếng Shuswap", 3482685, "sal", "Latn", "Tiếng Shuswap", "Shuswap", } m["sht"] = { "Shasta", 56396, "nai-shs", "Latn", } m["shu"] = { "tiếng Ả Rập Tchad", 56497, "sem-arb", "Arab", "Tiếng Ả Rập Tchad", "Ả Rập Tchad", entry_name = { remove_diacritics = c.kashida .. c.fathatan .. c.dammatan .. c.kasratan .. c.fatha .. c.damma .. c.kasra .. c.shadda .. c.sukun .. c.superalef, from = {u(0x0671)}, to = {u(0x0627)} }, } m["shv"] = { "Shehri", 33445, "sem-sar", "Arab, Latn", } m["shw"] = { "Shwai", 36527, "alv-hei", } m["shx"] = { "She", 2605689, "hmn", } m["shy"] = { "tiếng Tachawit", 33274, "ber", "Tfng, Arab, Latn", "Tiếng Tachawit", "Tachawit", translit = "Tfng-translit", } m["shz"] = { "Syenara Senoufo", 36316, "alv-snr", } m["sia"] = { "tiếng Sami Akkala", 35241, "smi", "Cyrl, Latn", "Tiếng Sami Akkala", "Sami Akkala", translit = "sia-translit", display_text = { from = {"'"}, to = {"ˈ"} }, entry_name = {remove_diacritics = "'ˈ"}, } m["sib"] = { "Sebop", 7442799, "poz-swa", "Latn", } m["sid"] = { "tiếng Sidamo", 33786, "cus-hec", "Latn, Ethi", "Tiếng Sidamo", "Sidamo", } m["sie"] = { "Simaa", 7517329, "bnt-kav", "Latn", } m["sif"] = { "Siamou", 36252, } m["sig"] = { "Paasaal", 36426, "nic-sis", "Latn", } m["sih"] = { "Zire", 8072753, "poz-cln", } m["sii"] = { "tiếng Shompen", 1039346, "aav", "Latn", "Tiếng Shompen", "Shompen" } m["sij"] = { "Numbami", 3346277, "poz-ocw", } m["sik"] = { "Sikiana", 3443734, "sai-prk", "Latn", } m["sil"] = { "Tumulung Sisaala", 25383006, "nic-sis", "Latn", } m["sim"] = { "Seim", 7446815, "paa-spk", } m["sip"] = { "tiếng Sikkim", 35285, "sit-tib", "Tibt", "Tiếng Sikkim", "Sikkim", ancestors = "xct", translit = "Tibt-translit", override_translit = true, display_text = s["Tibt-displaytext"], entry_name = s["Tibt-entryname"], sort_key = "Tibt-sortkey", } m["siq"] = { "Sonia", 7561770, } m["sir"] = { "Siri", 3438729, "cdc-wst", "Latn", } m["sis"] = { "Siuslaw", 2315424, } m["siu"] = { "Sinagen", 7521655, "qfa-tor", "Latn", } m["siv"] = { "Sumariup", 7636966, "paa-spk", "Latn", } m["siw"] = { "Siwai", 7532519, "paa-sbo", } m["six"] = { "Sumau", 7637021, "ngf-mad", "Latn", } m["siy"] = { "Sivandi", 13269, "xme", ancestors = "xme-mid", } m["siz"] = { "tiếng Siwi", 36814, "ber", "Tfng, Arab, Latn", "Tiếng Siwi", "Siwi", } m["sja"] = { "Epena", 3055682, "sai-chc", } m["sjb"] = { "Sajau Basap", 4684353, "poz-bnn", } m["sjd"] = { "tiếng Sami Kildin", 33656, "smi", "Cyrl", "Tiếng Sami Kildin", "Sami Kildin", translit = "sjd-translit", display_text = { from = {"'"}, to = {"ˈ"} }, entry_name = {remove_diacritics = "'ˈ"}, } m["sje"] = { "Pite Sami", 56314, "smi", "Latn", display_text = { from = {"'"}, to = {"ˈ"} }, entry_name = {remove_diacritics = c.macron .. "'ˈ"}, sort_key = "sje-sortkey", } m["sjg"] = { "Assangori", 3502255, "sdv-tmn", } m["sjk"] = { "Kemi Sami", 35871, "smi", "Latn", display_text = { from = {"'"}, to = {"ˈ"} }, entry_name = {remove_diacritics = "'ˈ"}, } m["sjl"] = { "Miji", 6845470, "sit-hrs", } m["sjm"] = { "Mapun", 3287253, "poz-sbj", } m["sjn"] = { "Sindarin", 56437, "art", "Latn, Teng", type = "appendix-constructed", } m["sjo"] = { "tiếng Tích Bá", 13223, "tuw-jrc", "sjo-Mong", "Tiếng Tích Bá", "Tích Bá", ancestors = "mnc", } m["sjp"] = { "tiếng Surjapur", 7645351, "inc-krn", "Deva, as-Beng, Kthi", "Tiếng Surjapur", "Surjapur", } m["sjr"] = { "Siar-Lak", 3482907, "poz-ocw", } m["sjs"] = { "tiếng Senhaja De Srair", 56744, "ber", "Latn", "Tiếng Senhaja De Srair", "Senhaja De Srair", } m["sjt"] = { "tiếng Sami Ter", 36656, "smi", "Latn, Cyrl", "Tiếng Sami Ter", "Sami Ter", display_text = { from = {"'"}, to = {"ˈ"} }, entry_name = {remove_diacritics = "'ˈ"}, } m["sju"] = { "tiếng Sami Ume", 56415, "smi", "Latn", "Tiếng Sami Ume", "Sami Ume", entry_name = {remove_diacritics = c.macron .. "'ˈ"}, display_text = { from = {"'"}, to = {"ˈ"} }, sort_key = "sju-sortkey", } m["sjw"] = { "Shawnee", 2669206, "alg", "Latn", } m["ska"] = { "Skagit", 25559652, "sal", "Latn", } m["skb"] = { "tiếng Saek", 36437, "tai-nor", "Thai", "Tiếng Saek", "Saek", sort_key = "Thai-sortkey", } m["skc"] = { "Ma Manda", 6720783, "ngf-fin", } m["skd"] = { "Southern Sierra Miwok", 3492334, "nai-utn", "Latn", } m["ske"] = { "Ske", 7534244, "poz-vnc", "Latn", } m["skf"] = { "Mekéns", 3304806, "tup", "Latn", } m["skh"] = { "Sikule", 3121081, "poz-nws", } m["ski"] = { "Sika", 33960, "poz-cet", "Latn", } m["skj"] = { -- compare 'ths' "Seke", 30226846, "sit-tam", } m["skk"] = { "Sok", 12953887, "mkh-ban", } m["skm"] = { "Sakam", 6448517, "ngf-fin", } m["skn"] = { "Kolibugan Subanon", 18755617, "phi", "Latn", } m["sko"] = { "Seko Tengah", 15613270, "poz", } m["skp"] = { "Sekapan", 7447132, "poz-bnn", } m["skq"] = { "Sininkere", 3914896, "dmn-man", "Latn", } m["skr"] = { "tiếng Saraiki", 33902, "inc-pan", "pa-Arab, Mult, Deva", "Tiếng Saraiki", "Saraiki", ancestors = "lah", entry_name = {remove_diacritics = c.fathatan .. c.dammatan .. c.kasratan .. c.fatha .. c.damma .. c.kasra .. c.shadda .. c.sukun}, translit = { ["pa-Arab"] = "pa-Arab-translit", Mult = "Mult-translit", }, } m["sks"] = { "Maia", 12952760, "ngf-mad", "Latn", } m["skt"] = { "Sakata", 36691, "bnt-bnm", "Latn", } m["sku"] = { "Sakao", 3298421, "poz-vnc", "Latn", } m["skv"] = { "Skou", 3915200, "paa-msk", "Latn", } m["skw"] = { "tiếng Skepi", 2522153, "crp", "Latn", "Tiếng Skepi", "Skepi", ancestors = "nl", } m["skx"] = { "Seko Padang", 15613282, "poz-ssw", } m["sky"] = { "Sikaiana", 7439242, "poz-pnp", "Latn", } m["skz"] = { "Sekar", 7447136, "poz-cet", } m["slc"] = { "Saliba (Colombia)", 3441097, } m["sld"] = { "Sissala", 11020264, "nic-sis", "Latn", } m["sle"] = { "tiếng Sholaga", 7500203, "dra-kan", "Knda", "Tiếng Sholaga", "Sholaga", translit = "kn-translit" } m["slf"] = { "Swiss-Italian Sign Language", 12953479, "sgn", } m["slg"] = { "Selungai Murut", 7448844, "poz-san", } m["slh"] = { "Southern Puget Sound Salish", 12642471, "sal", "Latn", } -- "sli" "Silesian German" IS SUBSUMED INTO "gmw-ecg" "East Central German" m["slj"] = { "Salumá", 7406296, "sai-prk", "Latn", } m["sll"] = { "Salt-Yui", 7405785, } m["slm"] = { "Pangutaran Sama", 3362086, "poz-sbj", } m["sln"] = { "Salinan", 1568938, } m["slp"] = { "Lamaholot", 6480777, "poz-cet", "Latn", } m["slq"] = { "Salchuq", 56752, "trk", } m["slr"] = { "tiếng Salar", 33963, "trk-ogz", "Arab, Latn", "Tiếng Salar", "Salar", } m["sls"] = { "Singapore Sign Language", 7512563, "sgn", } m["slt"] = { "Sila", 7514021, "tbq-sil", } m["slu"] = { "Selaru", 7447500, "poz-cet", } m["slw"] = { "Sialum", 7506694, "ngf", } m["slx"] = { "Salampasu", 7403607, "bnt-lun", "Latn", } m["sly"] = { "Selayar", 7447520, "poz-ssw", } m["slz"] = { "Ma'ya", 2291492, "poz-hce", } m["sma"] = { "tiếng Nam Sami", 13293, "smi", "Latn", "Tiếng Nam Sami", "Nam Sami", display_text = { from = {"'"}, to = {"ˈ"} }, entry_name = {remove_diacritics = "'ˈ"}, sort_key = "sma-sortkey", } m["smb"] = { "Simbari", 7517427, "ngf", } m["smc"] = { "Som", 7559081, "ngf-fin", "Latn", } m["smd"] = { "Sama", 6407456, "bnt-kmb", "Latn", } m["smf"] = { "Auwe", 3502072, "paa-brd", ancestors = "dnd", } m["smg"] = { "Simbali", 56692, "paa-bng", } m["smh"] = { "tiếng Thát Mai", 7409269, "tbq-axi", nil, "Tiếng Thát Mai", "Thát Mai", } m["smj"] = { "Lule Sami", 56322, "smi", "Latn", display_text = { from = {"'"}, to = {"ˈ"} }, entry_name = {remove_diacritics = c.macron .. "'ˈ"}, sort_key = "smj-sortkey", } m["smk"] = { "Bolinao", 2669235, "phi", } m["sml"] = { "tiếng Sama Trung", 3470593, "poz-sbj", "Latn", "Tiếng Sama Trung", "Sama Trung", } m["smm"] = { "Musasa", 6940122, "inc-eas", ancestors = "bh", } m["smn"] = { "tiếng Sami Inari", 33462, "smi", "Latn", "Tiếng Sami Inari", "Sami Inari", display_text = { from = {"'"}, to = {"ˈ"} }, entry_name = {remove_diacritics = c.dotbelow .. "'ˈ"}, sort_key = "smn-sortkey", } m["smp"] = { "Samaritan Hebrew", 56502, "sem-can", "Samr", entry_name = {remove_diacritics = u(0x0816) .. "-" .. u(0x082D)}, } m["smq"] = { "tiếng Samo", 7409884, "ngf-est", "Latn", "Tiếng Samo", "Samo", } m["smr"] = { "Simeulue", 2992833, "poz-nws", "Latn", } m["sms"] = { "tiếng Sami Skolt", 13271, "smi", "Latn", "Tiếng Sami Skolt", "Sami Skolt", display_text = { from = {"'"}, to = {"ˈ"} }, entry_name = {remove_diacritics = c.dotbelow .. "'ˈ"}, sort_key = "sms-sortkey", } m["smt"] = { "Simte", 7521268, "tbq-kuk", } m["smu"] = { "Somray", 6583612, "mkh-pea", } m["smv"] = { "Samvedi", 6345632, "inc-sou", } m["smw"] = { "Sumbawa", 3182585, "poz-mcm", "Latn", } m["smx"] = { "Samba", 11120157, "bnt-pen", "Latn", } m["smy"] = { "Semnani", 14531212, "xme", } m["smz"] = { "Simeku", 7517534, "paa-sbo", } m["snb"] = { "Sebuyau", 7442836, "poz-mly", } m["snc"] = { "Sinaugoro", 4170719, "poz-ocw", } m["sne"] = { "tiếng Bidayuh Bau", 2891938, "day", "Latn", "Tiếng Bidayuh Bau", "Bidayuh Bau", } m["snf"] = { "tiếng Noon", 36304, "alv-cng", "Latn", "Tiếng Noon", "Noon", } m["sng"] = { "Sanga (Congo)", 3438316, "bnt-lub", "Latn", } m["sni"] = { "Sensi", 7451029, "sai-pan", "Latn", } m["snj"] = { "Riverain Sango", 25559751, "crp", "Latn", ancestors = "ngb", } m["snk"] = { "tiếng Soninke", 36660, "dmn-snb", "Latn, Arab", "Tiếng Soninke", "Soninke", } m["snl"] = { "Sangil", 3472206, "phi", } m["snm"] = { "Southern Ma'di", 15637273, "csu-mma", } m["snn"] = { "Siona", 3485116, "sai-tuc", "Latn", } m["sno"] = { "Snohomish", 25559662, "sal", "Latn", } m["snp"] = { "Siane", 7506812, "paa-kag", "Latn", } m["snq"] = { "Sangu (Gabon)", 36609, "bnt-sir", "Latn", } m["snr"] = { "Sihan", 7513400, "ngf-mad", } m["sns"] = { "Nahavaq", 2160435, "poz-vnc", } m["snu"] = { "Senggi", 7929052, "paa-brd" } m["snv"] = { "Sa'ban", 3474891, "poz-swa", "Latn", } m["snw"] = { "Selee", 36272, "alv-ntg", "Latn", } m["snx"] = { "Sam", 7408387, } m["sny"] = { "Saniyo-Hiyewe", 7418302, "paa-spk", "Latn", } m["snz"] = { "Kou", 7525035, -- also 4803639 "ngf-mad", "Latn", } m["soa"] = { "tiếng Thái Tống", 7709159, "tai-swe", "Tavt, Thai", "Tiếng Thái Tống", "Thái Tống", --translit = "Tavt-translit", sort_key = { from = {"([ꪵꪶꪹꪻꪼ])([ꪀ-ꪯ])", "([เแโใไ])([ก-ฮ])"}, to = {"%2%1", "%2%1"} }, } m["sob"] = { "Sobei", 3121035, "poz-ocw", } m["soc"] = { "Soko", 7555138, "bnt-ske", "Latn", } m["sod"] = { "Songoora", 7561296, "bnt-lgb", "Latn", } m["soe"] = { "Songomeno", 5713543, "bnt-bsh", "Latn", } m["sog"] = { "tiếng Sogdia", 205979, "ira-sgc", "Sogd, Mani, Syrc, Sogo", "Tiếng Sogdia", "Sogdia", translit = { Sogd = "Sogd-translit", Mani = "Mani-translit", Sogo = "Sogo-translit", }, } m["soh"] = { "Aka (Sudan)", 3450949, "sdv-eje", "Latn", } m["soi"] = { "Sonha", 12953890, "inc-eas", } m["sok"] = { "Sokoro", 3441303, "cdc-est", "Latn", } m["sol"] = { "Solos", 3489591, "poz-ocw", } m["soo"] = { "Nsong", 12953148, "bnt-bdz", "Latn", } m["sop"] = { "Songe", 3130911, "bnt-lbn", "Latn", } m["soq"] = { "Kanasi", 11732656, } m["sor"] = { "Somrai", 3123566, "cdc-est", "Latn", } m["sos"] = { "Seenku", 36274, "dmn-smg", } m["sou"] = { "tiếng Nam Thái", 56508, "tai-swe", "Thai", "Tiếng Nam Thái", "Nam Thái", sort_key = "Thai-sortkey", } m["sov"] = { "tiếng Sonsorol", 13281, "poz-mic", "Latn", "Tiếng Sonsorol", "Sonsorol", } m["sow"] = { "Sowanda", 7571845, "paa-brd" } m["sox"] = { "Swo", 36604, "bnt-mka", "Latn", } m["soy"] = { "Miyobe", 35913, "alv-sav", "Latn", } m["soz"] = { "Temi", 13278, "bnt-kka", "Latn", } m["spb"] = { "Sepa (Indonesia)", 18603687, "poz-cma", "Latn", } m["spc"] = { "Sapé", 2888158, nil, "Latn", } m["spd"] = { "Saep", 7398312, "ngf-mad", } m["spe"] = { "Sepa (New Guinea)", 7451725, "poz-ocw", "Latn", } m["spg"] = { "Sian", 7506806, "poz-bnn", } m["spi"] = { "Saponi", 3915418, "paa", } m["spk"] = { "Sengo", 7450584, "paa-spk", "Latn", } m["spl"] = { "Selepet", 7447917, "ngf", } m["spm"] = { "Sepen", 4701931, "paa", "Latn", } m["spn"] = { "Sanapaná", 3033556, "sai-mas", "Latn", } m["spo"] = { "Spokane", 3493704, "sal", } m["spp"] = { "Supyire", 56284, "alv-sma", "Latn", } m["spr"] = { "Saparua", 7420921, "poz-cma", } m["sps"] = { "tiếng Saposa", 3473187, "poz-ocw", nil, "Tiếng Saposa", "Saposa", } m["spt"] = { "Spiti Bhoti", 22080879, "sit-las", } m["spu"] = { "Sapuan", 7421168, "mkh-ban", } m["spv"] = { "tiếng Sambalpur", 6433240, "inc-eas", "Orya", "Tiếng Sambalpur", "Sambalpur", translit = "or-translit", ancestors = "or", } m["spx"] = { "tiếng Piceni Nam", 36688, "itc-sbl", "Ital, Latn", "Tiếng Piceni Nam", "Piceni Nam", translit = "Ital-translit", } m["spy"] = { "Sabaot", 7395896, "sdv-kln", } m["sqa"] = { "Shama-Sambuga", 3914392, "nic-kmk", "Latn", } m["sqh"] = { "Shau", 3913925, "nic-jer", "Latn", } m["sqk"] = { "Albanian Sign Language", 4709168, "sgn", } m["sqm"] = { "Suma", 11008431, "alv-gbw", } m["sqn"] = { "Susquehannock", 3505736, "iro-nor", } m["sqo"] = { "Sorkhei", 3491964, "ira-kms", } m["sqq"] = { "Sou", 16979751, "mkh-ban", } m["sqr"] = { "Siculo-Arabic", 1069489, "sem-arb", } m["sqs"] = { "Sri Lankan Sign Language", 3915466, "sgn", } m["sqt"] = { "tiếng Socotra", 13283, "sem-sar", "Arab, Latn", "Tiếng Socotra", "Socotra", } m["squ"] = { "tiếng Squamish", 2484579, "sal", "Latn", "Tiếng Squamish", "Squamish", } m["sra"] = { "Saruga", 7424699, "ngf-mad", "Latn", } m["srb"] = { "tiếng Sora", 13284, "mun", "Sora, Orya", "Tiếng Sora", "Sora", } m["sre"] = { "Sara", 33957, "day", } m["srf"] = { "Nafi", 6958174, "poz-ocw", } m["srg"] = { "Sulod", 7636489, "phi", } m["srh"] = { "tiếng Sarikol", 33873, "ira-shr", "Latn, ug-Arab, Cyrl", "Tiếng Sarikol", "Sarikol", } m["sri"] = { "Siriano", 3485264, "sai-tuc", "Latn", } m["srk"] = { "Serudung Murut", 7455497, "poz-san", } m["srl"] = { "Isirawa", 4203802, "paa-tkw", } m["srm"] = { "tiếng Saramacca", 33779, "crp", "Latn", "Tiếng Saramacca", "Saramacca", ancestors = "en, pt", } m["srn"] = { "tiếng Sranan Tongo", 33989, "crp", "Latn", "Tiếng Sranan Tongo", "Sranan Tongo", } m["srq"] = { "Sirionó", 3027953, "tup-gua", "Latn", } m["srr"] = { "tiếng Serer", 36284, "alv-fwo", "Latn, Arab", "Tiếng Serer", "Serer", } m["srs"] = { "tiếng Tsuut'ina", 20825, "ath-nor", "Latn", "Tiếng Tsuut'ina", "Tsuut'ina", } m["srt"] = { "Sauri", 7427547, "paa-egb", } m["sru"] = { "Suruí", 7646993, "tup", "Latn", } m["srv"] = { "Waray Sorsogon", 18755610, "phi", } m["srw"] = { "Serua", 14916905, "poz-cet", } m["srx"] = { "tiếng Sirmaur", 7530505, "him", "Deva", "Tiếng Sirmaur", "Sirmaur", } m["sry"] = { "Sera", 7452602, "poz-ocw", "Latn", } m["srz"] = { "Shahmirzadi", 12953126, "ira-msh", "fa-Arab", } m["ssb"] = { "Southern Sama", 3470594, "poz-sbj", "Latn", } m["ssc"] = { "Suba-Simbiti", 7630687, "bnt-lok", "Latn", } m["ssd"] = { "Siroi", 10771067, "ngf-mad", "Latn", } m["sse"] = { "Balangingi", 2880535, "poz-sbj", "Latn", } m["ssf"] = { "Thao", 676492, "map", "Latn", } m["ssg"] = { "Seimat", 3182581, "poz-aay", } m["ssh"] = { "Shihhi Arabic", 56571, "sem-arb", "Arab", entry_name = { remove_diacritics = c.kashida .. c.fathatan .. c.dammatan .. c.kasratan .. c.fatha .. c.damma .. c.kasra .. c.shadda .. c.sukun .. c.superalef, from = {u(0x0671)}, to = {u(0x0627)} }, } m["ssi"] = { "Sansi", 3309366, "inc-nwe", } m["ssj"] = { "Sausi", 7427605, "ngf-mad", "Latn", } m["ssk"] = { "Sunam", 11002210, "sit-kin", } m["ssl"] = { "Western Sisaala", 11154776, "nic-sis", "Latn", } m["ssm"] = { "tiếng Semnam", 7449713, "mkh-asl", "Latn", "Tiếng Semnam", "Semnam", } m["ssn"] = { "tiếng Waata", 7449713, "cus-eas", nil, "Tiếng Waata", "Waata", } m["sso"] = { "tiếng Sissano", 7530937, "poz-ocw", "Latn", "Tiếng Sissano", "Sissano", } m["ssp"] = { "Spanish Sign Language", 3100814, "sgn", } m["ssq"] = { "So'a", 7572120, "poz-cet", "Latn", } m["ssr"] = { "Swiss-French Sign Language", 12953483, "sgn", } m["sss"] = { "tiếng Sô", 3082037, "mkh-kat", "Thai", "Tiếng Sô", "Sô", } m["sst"] = { "Sinasina", 7521813, "ngf", "Latn", } m["ssu"] = { "Susuami", 7649752, "ngf", "Latn", } m["ssv"] = { "Shark Bay", 7489783, "poz-vnc", } m["ssx"] = { "Samberigi", 7409020, "paa-eng", "Latn", } m["ssy"] = { "tiếng Saho", 36353, "cus-eas", "Latn, Ethi, Arab", "Tiếng Saho", "Saho", } m["ssz"] = { "Sengseng", 7450601, "poz-ocw", "Latn", } m["stb"] = { "Northern Subanen", 12953892, "phi", "Latn", } m["std"] = { "Sentinelese", 568377, } m["ste"] = { "Liana-Seti", 6539924, "poz-cma", } m["stf"] = { "Seta", 7456326, "qfa-tor", "Latn", } m["stg"] = { "Trieng", 22694648, "mkh-ban", } m["sth"] = { "Shelta", 36705, "crp", "Latn", ancestors = "en", } m["sti"] = { "tiếng Xtiêng", 15771431, "mkh-ban", "Khmr, Latn", "Tiếng Xtiêng", "Xtiêng", } m["stj"] = { "Matya Samo", 10974879, "dmn-sam", "Latn", } m["stk"] = { "Arammba", 3502094, "ngf", } m["stm"] = { "Setaman", 7456333, "ngf-okk", "Latn", } m["stn"] = { "Owa", 1324132, "poz-sls", "Latn", } m["sto"] = { "Stoney", 3033570, "sio-dkt", } m["stp"] = { "tiếng Tepehuan Đông Nam", 12953917, "azc", "Latn", "Tiếng Tepehuan Đông Nam", "Tepehuan Đông Nam", } m["stq"] = { "tiếng Frisia Saterland", 27154, "gmw-fri", "Latn", "Tiếng Frisia Saterland", "Frisia Saterland", } m["str"] = { "tiếng Saanich", 36444, "sal", "Latn", "Tiếng Saanich", "Saanich", } m["sts"] = { "Shumashti", 33777, "inc-kun", } m["stt"] = { "tiếng Xtiêng Bù Đeh", 12953891, "mkh-ban", "Latn", "Tiếng Xtiêng Bù Đeh", "Xtiêng Bù Đeh", } m["stu"] = { "tiếng Samtao", 25559550, "mkh-pal", "Latn, Mymr", "Tiếng Samtao", "Samtao" } m["stv"] = { "tiếng Siltʼe", nil, "sem-eth", "Ethi", "Tiếng Siltʼe", "Siltʼe", } m["stw"] = { "Satawalese", 28477, "poz-mic", } m["sty"] = { "tiếng Tatar Siberia", 4418344, "trk-kno", "Cyrl", "Tiếng Tatar Siberia", "Tatar Siberia", translit = "sty-translit" } m["sua"] = { "Sulka", 7636341, "qfa-iso", } m["sub"] = { "Suku", 12953160, "bnt-yak", "Latn", } m["suc"] = { "Western Subanon", 16113894, "phi", "Latn", } m["sue"] = { "Suena", 7634386, "ngf", "Latn", } m["sug"] = { "Suganga", 7634706, "ngf-okk", "Latn", } m["sui"] = { "Suki", 2089984, "ngf", "Latn", } m["suk"] = { "Sukuma", 2638144, "bnt-tkm", "Latn", } m["suq"] = { "tiếng Suri", 5364172, "sdv", "Latn, Ethi", "Tiếng Suri", "Suri", } m["sur"] = { "Mwaghavul", 3440486, "cdc-wst", "Latn", } m["sus"] = { "Susu", 33990, "dmn-sya", "Latn", } m["sut"] = { "Subtiaba", 3915405, "omq", "Latn", } m["suv"] = { "Sulung", 56408, "sit-khb", } m["suw"] = { "Sumbwa", 7637055, "bnt-glb", "Latn", } m["sux"] = { "tiếng Sumer", 36790, "qfa-iso", "Xsux, Latn", "Tiếng Sumer", "Sumer", } m["suy"] = { "Suyá", 3505859, "sai-nje", "Latn", } m["suz"] = { "Sunwar", 56549, "sit-kiw", "Deva, Sunu" } m["sva"] = { "tiếng Svan", 34067, "ccs", "Geor, Cyrl", "Tiếng Svan", "Svan", translit = "sva-translit", override_translit = true, } m["svb"] = { "Ulau-Suain", 7878769, "poz-ocw", "Latn", } m["svc"] = { "Vincentian Creole English", 3501785, "crp", "Latn", ancestors = "en", } m["sve"] = { "Serili", 7454834, "poz-tim", } m["svk"] = { "Slovakian Sign Language", 7541557, "sgn", } m["svm"] = { "Slavomolisano", 36254, "zls", "Latn", ancestors = "sh", } m["svs"] = { "Savosavo", 3130296, "paa", "Latn", } m["svx"] = { "Skalvian", 3486125, "bat-wes", "Latn", } m["swb"] = { "tiếng Comoros Maore", 34075, "bnt-com", "Latn, Arab", "Tiếng Comoros Maore", "Comoros Maore", sort_key = "bnt-com-sortkey", } m["swf"] = { "Sere", 7453056, "nic-ser", "Latn", } m["swg"] = { "Swabian", 327274, "gmw-hgm", "Latn", ancestors = "gsw", } m["swi"] = { "tiếng Thủy", 3112388, "qfa-kms", "Latn, Shui, Hani", "Tiếng Thủy", "Thủy", sort_key = {Hani = "Hani-sortkey"}, } m["swj"] = { "Sira", 36599, "bnt-sir", "Latn", } m["swl"] = { "Swedish Sign Language", 36558, "sgn", } m["swm"] = { "Samosa", 7410037, "ngf-mad", "Latn", } m["swn"] = { "tiếng Sokna", 2988323, "ber", nil, "Tiếng Sokna", "Sokna", } m["swo"] = { "Shanenawa", nil, "sai-pan", "Latn", } m["swp"] = { "Suau", 3502368, "poz-ocw", } m["swq"] = { "Sharwa", 56791, "cdc-cbm", "Latn", } m["swr"] = { "Saweru", 3474649, } m["sws"] = { "Seluwasan", 7448845, "poz-cet", } m["swt"] = { "Sawila", 7428639, } m["swu"] = { "Suwawa", 7650588, "phi", } m["sww"] = { "Sowa", 7571843, "poz-vnc", } m["swx"] = { "Suruahá", 3114402, "auf", } m["swy"] = { "Sarua", 56261, "cdc-est", "Latn", } m["sxb"] = { "Suba", 33916, "bnt-lok", "Latn", } m["sxc"] = { "Sicanian", 36335, } m["sxe"] = { "Sighu", 36431, "bnt-kel", "Latn", } m["sxg"] = { "Shixing", 56337, "sit-nax", "Latn", } m["sxk"] = { "Southern Kalapuya", 3192122, "nai-klp", } m["sxl"] = { "Selonian", 36491, "bat-eas", "Latn", } m["sxm"] = { "Samre", 6583615, "mkh-pea", } m["sxn"] = { "tiếng Sangir", 25714758, "phi", "Latn", "Tiếng Sangir", "Sangir", } m["sxo"] = { "Sorothaptic", 2762254, } m["sxr"] = { "tiếng Saaroa", 716599, "map-tsu", "Latn", "Tiếng Saaroa", "Saaroa", } m["sxs"] = { "Sasaru", 3913384, "alv-yek", "Latn", } -- "sxu" "Upper Saxon" IS SUBSUMED INTO "gmw-ecg" "East Central German" m["sxw"] = { "tiếng Gbe Saxwe", 7428892, "alv-pph", nil, "Tiếng Gbe Saxwe", "Gbe Saxwe", } m["sya"] = { "Siang", 3482903, } m["syb"] = { "Central Subanen", 12953893, "phi", "Latn", } m["syc"] = { "tiếng Syriac cổ điển", 33538, "sem-are", "Syrc", "Tiếng Syriac cổ điển", "Syriac cổ điển", entry_name = {remove_diacritics = c.macron .. c.diaer .. c.macronbelow .. u(0x0730) .. "-" .. u(0x0748)}, } m["syi"] = { "Seki", 36547, "bnt-kel", "Latn", } m["syk"] = { "Sukur", 56292, "cdc-cbm", "Latn", } m["syl"] = { "tiếng Sylhet", 2044560, "inc-eas", "Sylo, Beng", "Tiếng Sylhet", "Sylhet", ancestors = "inc-obn", translit = "syl-translit", } m["sym"] = { "Maya Samo", 10950421, "dmn-sam", "Latn", } m["syn"] = { "Senaya", 33914, "sem-nna", } m["syo"] = { "Suoy", 7641864, "mkh-pea", } m["sys"] = { "Sinyar", 56840, "csu", "Latn", } m["syw"] = { "Kagate", 12952538, "sit-kyk", "Deva", } m["syx"] = { "Osamayi", 7408415, "bnt-kel", "Latn", } m["syy"] = { "Al-Sayyid Bedouin Sign Language", 2915457, "sgn", } m["sza"] = { "tiếng Semelai", 3111827, "mkh-asl", "Latn", "Tiếng Semelai", "Semelai", } m["szb"] = { "tiếng Ngalum", 11732516, "ngf-okk", "Latn", "Tiếng Ngalum", "Ngalum", } m["szc"] = { "tiếng Semaq Beri", 7449119, "mkh-asl", "Latn", "Tiếng Semaq Beri", "Semaq Beri", } m["szd"] = { "Seru", 7455488, "poz-bnn", "Latn", } m["sze"] = { "tiếng Seze", 373683, "omv-mao", "Latn", "Tiếng Seze", "Seze", } m["szg"] = { "Sengele", 7450555, "bnt-mon", "Latn", } m["szl"] = { "tiếng Silesia", 30319, "zlw-lch", "Latn", "Tiếng Silesia", "Silesia", ancestors = "zlw-opl", } m["szn"] = { "Sula", 3503403, "poz-cma", "Latn", } m["szp"] = { "Suabo", 7630429, "ngf-sbh", "Latn", } m["szv"] = { "Isubu", 35431, "bnt-saw", "Latn", } m["szw"] = { "Sawai", 3447258, "poz-hce", "Latn", } m["szy"] = { "tiếng Sakizaya", 718269, "map", "Latn", "Tiếng Sakizaya", "Sakizaya", } return require("Module:languages").finalizeData(m, "language") 1hmjzuy7hr0tbq1a0t97vpdp1z1u90r yel 0 273880 2341479 2082683 2026-03-31T07:02:26Z Apisite 39795 + Volapük 2341479 wikitext text/x-wiki =={{langname|qxq}}== ==={{đm|noun}}=== {{pn}} # [[gió]]. [[Thể loại:Danh từ tiếng Qashqai]] =={{langname|vo}}== ==={{đm|noun}}=== {{vo-noun}} # [[năm|Năm]]. ===={{đm|decl}}==== {{vo-decl-noun}} j72i9bmkjzflr370bpfkyjvvtvsbm1n Mô đun:languages/canonical names 828 273923 2341467 2338763 2026-03-31T06:39:43Z Hiyuune 50834 2341467 Scribunto text/plain return { ["Tiếng A'ou"] = "aou", ["Aba"] = "utp", ["Abai Sungai"] = "abf", ["Tiếng Abanyom"] = "abm", ["Abenlen Ayta"] = "abp", ["Abipon"] = "axb", ["Abishira"] = "ash", ["Abom"] = "aob", ["Tiếng Abon"] = "abo", ["Tiếng Abron"] = "abr", ["Abu"] = "ado", ["Abu' Arapesh"] = "aah", ["Abua"] = "abn", ["Tiếng Abui"] = "abz", ["Abun"] = "kgr", ["Abung"] = "abl", ["Tiếng Abure"] = "abu", ["Abureni"] = "mgj", ["Abé"] = "aba", ["Acatepec Me'phaa"] = "tpx", ["Ache"] = "yif", ["Tiếng Achi"] = "acr", ["Tiếng Achuar"] = "acu", ["Achumawi"] = "acv", ["Aché"] = "guq", ["Acroá"] = "acs", ["Adabe"] = "adb", ["Adai"] = "xad", ["Adamorobe Sign Language"] = "ads", ["Adang"] = "adn", ["Adangbe"] = "adq", ["Adap"] = "adp", ["Adasen"] = "tiu", ["Adele"] = "ade", ["Adhola"] = "adh", ["Tiếng Adi"] = "adi", ["Adioukrou"] = "adj", ["Adithinngithigh"] = "dth", ["Tiếng Adnyamathanha"] = "adt", ["Adonara"] = "adr", ["Aduge"] = "adu", ["Aeka"] = "aez", ["Aekyom"] = "awi", ["Aequian"] = "xae", ["Aer"] = "aeq", ["Afade"] = "aal", ["Afghan Sign Language"] = "afg", ["Afitti"] = "aft", ["Afra"] = "ulf", ["Afrihili"] = "afh", ["Afro-Seminole Creole"] = "afs", ["Agarabi"] = "agd", ["Agariya"] = "agi", ["Tiếng Agatu"] = "agc", ["Agavotaguerra"] = "avo", ["Aghu"] = "ahh", ["Aghu Tharrnggala"] = "gtu", ["Agi"] = "aif", ["Agob"] = "kit", ["Agoi"] = "ibm", ["Tiếng Aguacateca"] = "agu", ["Aguano"] = "aga", ["Aguaruna"] = "agr", ["Aguna"] = "aug", ["Agusan Manobo"] = "msm", ["Agutaynen"] = "agn", ["Agwagwune"] = "yay", ["Ahanta"] = "aha", ["Ahirani"] = "ahr", ["Ahwai"] = "nfd", ["Ai-Cham"] = "aih", ["Aighon"] = "aix", ["Aikanã"] = "tba", ["Aiklep"] = "mwg", ["Aimele"] = "ail", ["Ainbai"] = "aic", ["Aiome"] = "aki", ["Airoran"] = "air", ["Aisi"] = "mmq", ["Aiwoo"] = "nfl", ["Aja"] = "aja", ["Ajagua"] = "sai-ajg", ["Ajawa"] = "ajw", ["Ajyíninka Apurucayali"] = "cpc", ["Ak"] = "akq", ["Aka (Central Africa)"] = "axk", ["Aka (Sudan)"] = "soh", ["Aka-Bea"] = "abj", ["Aka-Cari"] = "aci", ["Aka-Kede"] = "akx", ["Aka-Kol"] = "aky", ["Aka-Kora"] = "ack", ["Akar-Bale"] = "acl", ["Akaselem"] = "aks", ["Akatek"] = "knj", ["Ake"] = "aik", ["Akebu"] = "keu", ["Akei"] = "tsr", ["Akeu"] = "aeu", ["Akolet"] = "akt", ["Akoose"] = "bss", ["Akoye"] = "miw", ["Akpa"] = "akf", ["Akpes"] = "ibe", ["Akrukay"] = "afi", ["Akuku"] = "ayk", ["Akum"] = "aku", ["Tiếng Akuntsu"] = "aqz", ["Akurio"] = "ako", ["Akuwagel"] = "bey", ["Akwa"] = "akw", ["Akyaung Ari"] = "nqy", ["Al-Sayyid Bedouin Sign Language"] = "syy", ["Alabat Island Agta"] = "dul", ["Alacatlatzala Mixtec"] = "mim", ["Alago"] = "ala", ["Tiếng Alamblak"] = "amp", ["Tiếng Alangan"] = "alj", ["Alapmunte"] = "apv", ["Alas-Kluet Batak"] = "btz", ["Alazapa"] = "nai-ala", ["Albanian Sign Language"] = "sqk", ["Tiếng Mixtec Alcozauca"] = "xta", ["Alege"] = "alf", ["Algerian Sign Language"] = "asp", ["Ali"] = "aiy", ["Alladian"] = "ald", ["Allar"] = "all", ["Tiếng Alyentiyak"] = "sai-all", ["Alngith"] = "aid", ["Alo Phola"] = "ypo", ["Alor"] = "aol", ["Aloápam Zapotec"] = "zaq", ["Alu"] = "mte", ["Tiếng Kurumba Alu"] = "xua", ["Alugu"] = "aub", ["Tiếng Alumu-Tesu"] = "aab", ["Alune"] = "alp", ["Alungul"] = "aus-alu", ["Aluo"] = "yna", ["Alur"] = "alz", ["Alutiiq"] = "ems", ["Alviri-Vidari"] = "avd", ["Alyawarr"] = "aly", ["Amahai"] = "amq", ["Tiếng Amal"] = "aad", ["Tiếng Amanab"] = "amn", ["Amanayé"] = "ama", ["Amara"] = "aie", ["Amarakaeri"] = "amr", ["Amarizana"] = "awd-ama", ["Amasi"] = "alv-ama", ["Amatlán Zapotec"] = "zpo", ["Amba"] = "rwm", ["Tiếng Ambai"] = "amk", ["Ambakich"] = "aew", ["Ambala Ayta"] = "abc", ["Ambelau"] = "amv", ["Ambele"] = "ael", ["Amblong"] = "alm", ["Ambo"] = "amb", ["Ambul"] = "apo", ["Tiếng Ambulas"] = "abt", ["Amele"] = "aey", ["Amganad Ifugao"] = "ifa", ["Ami"] = "amy", ["Ammonite"] = "sem-amm", ["Amo"] = "amo", ["Amol"] = "alx", ["Amoltepec Mixtec"] = "mbz", ["Amondawa"] = "adw", ["Amorite"] = "sem-amo", ["Ampanang"] = "apg", ["Ampari Dogon"] = "aqd", ["Amri Karbi"] = "ajz", ["Amto"] = "amt", ["Ana Tinga Dogon"] = "dti", ["Anaang"] = "anw", ["Anakalangu"] = "akg", ["Anam"] = "pda", ["Anambé"] = "aan", ["Anamgura"] = "imi", ["Anasi"] = "bpo", ["Tiếng Anauyá"] = "awd-ana", ["Ancient Ligurian"] = "xlg", ["Ancient North Arabian"] = "xna", ["Ancient Zapotec"] = "xzp", ["Andai"] = "afd", ["Andajin"] = "ajn", ["Tiếng Ả Rập Andalusia"] = "xaa", ["Andaman Creole Hindi"] = "hca", ["Andaqui"] = "ana", ["Andarum"] = "aod", ["Andegerebinha"] = "adg", ["Andh"] = "anr", ["Andio"] = "bzb", ["Andjingith"] = "aus-and", ["Andoa"] = "anb", ["Andoque"] = "ano", ["Andoquero"] = "sai-and", ["Andra-Hus"] = "anx", ["Aneityum"] = "aty", ["Anem"] = "anz", ["Aneme Wake"] = "aby", ["Anfillo"] = "myo", ["Angaataha"] = "agm", ["Angaité"] = "aqt", ["Angal"] = "age", ["Angal Enen"] = "aoe", ["Angal Heneng"] = "akh", ["Tiếng Angami"] = "njm", ["Angevin"] = "roa-ang", ["Tiếng Yali Angguruk"] = "yli", ["Angkamuthi"] = "avm", ["Angkola Batak"] = "akb", ["Tiếng Angkula"] = "aus-ang", ["Angloromani"] = "rme", ["Angor"] = "agg", ["Angoram"] = "aog", ["Angosturas Tunebo"] = "tnd", ["Anguthimri"] = "awg", ["Ani Phowa"] = "ypn", ["Animere"] = "anf", ["Anindilyakwa"] = "aoi", ["Anjam"] = "boj", ["Anmatyerre"] = "amx", ["Tiếng Annobón"] = "fab", ["Anong"] = "nun", ["Anor"] = "anj", ["Anserma"] = "ans", ["Ansus"] = "and", ["Antakarinya"] = "ant", ["Antigua and Barbuda Creole English"] = "aig", ["Tiếng Creole Antilles"] = "gcf", ["Anu"] = "anl", ["Anuak"] = "anu", ["Anufo"] = "cko", ["Anus"] = "auq", ["Anuta"] = "aud", ["Anyin Morofo"] = "mtb", ["Tiếng Ao"] = "njo", ["Aoheng"] = "pni", ["Aore"] = "aor", ["Ap Ma"] = "kbx", ["Apalachee"] = "xap", ["Apali"] = "ena", ["Apasco-Apoala Mixtec"] = "mip", ["Tiếng Apatani"] = "apt", ["Apiaká"] = "api", ["Apma"] = "app", ["Apolista"] = "awd-apo", ["Aproumu Aizi"] = "ahp", ["Apurinã"] = "apu", ["Arabana"] = "ard", ["Arabela"] = "arl", ["Aralle-Tabulahan"] = "atq", ["Arammba"] = "stk", ["Aranama-Tamique"] = "xrt", ["Arandai"] = "jbj", ["Araona"] = "aro", ["Tiếng Arapaho"] = "arp", ["Arapaso"] = "arj", ["Arara-Karo"] = "arr", ["Ararandewára"] = "xaj", ["Arawum"] = "awm", ["Arbore"] = "arv", ["Are"] = "mwc", ["Areba"] = "aea", ["Argentine Sign Language"] = "aed", ["Arguni"] = "agf", ["Arhuaco"] = "arh", ["Arhâ"] = "aqr", ["Arhö"] = "aok", ["Tiếng Ari"] = "aac", ["Aribwatsa"] = "laz", ["Aribwaung"] = "ylu", ["Arifama-Miniafia"] = "aai", ["Arigidi"] = "aqg", ["Arikapú"] = "ark", ["Arikara"] = "ari", ["Arikem"] = "ait", ["Tiếng Arin"] = "xrn", ["Aringa"] = "luc", ["Armazic"] = "xrm", ["Armenian Sign Language"] = "aen", ["Arop-Lokep"] = "apr", ["Arop-Sissano"] = "aps", ["Arosi"] = "aia", ["Arritinngithigh"] = "rrt", ["Arta"] = "atz", ["Arua"] = "aru", ["Aruamu"] = "msy", ["Aruek"] = "aur", ["Aruop"] = "lsr", ["Arutani"] = "atx", ["Aruá"] = "arx", ["As"] = "asz", ["Asaro'o"] = "mtv", ["Ashe"] = "ahs", ["Tiếng Ashkun"] = "ask", ["Asho Chin"] = "csh", ["Asháninka"] = "cni", ["Tiếng Ashéninka Pajonal"] = "cjo", ["Ashéninka Perené"] = "prq", ["Tiếng Asi"] = "bno", ["Asilulu"] = "asl", ["Asoa"] = "asv", ["Assangori"] = "sjg", ["Tiếng Assiniboine"] = "asb", ["Asu"] = "aum", ["Asue Awyu"] = "psa", ["Tiếng Asumboa"] = "aua", ["Asunción Mixtepec Zapotec"] = "zoo", ["Ata"] = "atm", ["Ata Manobo"] = "atd", ["Atakapa"] = "aqp", ["Atampaya"] = "amz", ["Atanques"] = "cba-ata", ["Atatláhuca Mixtec"] = "mib", ["Tiếng Atemble"] = "ate", ["Ateso"] = "teo", ["Ati"] = "atk", ["Atohwaim"] = "aqm", ["Atong (Cameroon)"] = "ato", ["Atorada"] = "aox", ["Tiếng Atsahuaca"] = "atc", ["Atsam"] = "cch", ["Atsugewi"] = "atw", ["Attié"] = "ati", ["Au"] = "avt", ["Aulua"] = "aul", ["Aurá"] = "aux", ["Aushi"] = "auh", ["Aushiri"] = "avs", ["Auslan"] = "asf", ["Austral"] = "aut", ["Australian Aboriginal Sign Language"] = "asw", ["Austrian Sign Language"] = "asq", ["Austronesian Mari"] = "hob", ["Auwe"] = "smf", ["Auyana"] = "auy", ["Auye"] = "auu", ["Auyokawa"] = "auo", ["Avatime"] = "avn", ["Avau"] = "avb", ["Avava"] = "tmb", ["Avikam"] = "avi", ["Avá-Canoeiro"] = "avv", ["Awa (China)"] = "vwa", ["Awa (New Guinea)"] = "awb", ["Awa-Cuaiquer"] = "kwi", ["Awabakal"] = "awk", ["Awak"] = "awo", ["Awar"] = "aya", ["Awara"] = "awx", ["Awbono"] = "awh", ["Aweer"] = "bob", ["Awera"] = "awr", ["Awetí"] = "awe", ["Tiếng Awjila"] = "auj", ["Awngthim"] = "gwm", ["Awtuw"] = "kmn", ["Awun"] = "aww", ["Awutu"] = "afu", ["Awyi"] = "auw", ["Axamb"] = "ahb", ["Ayabadhu"] = "ayd", ["Ayautla Mazatec"] = "vmy", ["Ayerrerenge"] = "axe", ["Ayi"] = "ayq", ["Ayizi"] = "yyz", ["Ayizo"] = "ayb", ["Ayomán"] = "sai-ayo", ["Ayoquesco Zapotec"] = "zaf", ["Ayoreo"] = "ayo", ["Ayu"] = "ayu", ["Ayutla Mixtec"] = "miy", ["Azha"] = "aza", ["Azhe"] = "yiz", ["Azoyú Me'phaa"] = "tpc", ["Baa"] = "kwb", ["Tiếng Baagandji"] = "drl", ["Baan"] = "bvj", ["Baangi"] = "bqx", ["Baatonum"] = "bba", ["Baba"] = "bbw", ["Babango"] = "bbm", ["Babanki"] = "bbk", ["Babine-Witsuwit'en"] = "bcr", ["Babole"] = "bvx", ["Tiếng Bacama"] = "bcy", ["Tiếng Mã Lai Bacan"] = "btj", ["Bada"] = "bhz", ["Bade"] = "bde", ["Badeshi"] = "bdz", ["Badimaya"] = "bia", ["Badyara"] = "pbp", ["Baeggu"] = "bvd", ["Baelelea"] = "bvc", ["Baenan"] = "sai-bae", ["Baetora"] = "btr", ["Bafanji"] = "bfj", ["Bafaw"] = "bwt", ["Bafia"] = "ksf", ["Bafut"] = "bfd", ["Baga Kaloum"] = "bqf", ["Baga Koga"] = "bgo", ["Baga Manduri"] = "bmd", ["Baga Pokur"] = "bcg", ["Baga Sitemu"] = "bsp", ["Baga Sobané"] = "bsv", ["Bagheli"] = "bfy", ["Bagirmi"] = "bmi", ["Bago-Kusuntu"] = "bqg", ["Bagri"] = "bgq", ["Tiếng Bagua"] = "sai-bag", ["Bagupi"] = "bpi", ["Bagusa"] = "bqb", ["Baha"] = "yha", ["Baham"] = "bdw", ["Bahamian Creole"] = "bah", ["Baharna Arabic"] = "abv", ["Bahau"] = "bhv", ["Bahinemo"] = "bjh", ["Bahonsuai"] = "bsu", ["Bai"] = "bdj", ["Baibai"] = "bbf", ["Baikeno"] = "bkx", ["Baima"] = "bqh", ["Baimak"] = "bmx", ["Bainouk-Gunyaamolo"] = "bcz", ["Bainouk-Samik"] = "bcb", ["Baissa Fali"] = "fah", ["Bajan"] = "bjs", ["Bajelani"] = "bjm", ["Bajjika"] = "vjk", ["Baka"] = "bkc", ["Bakairí"] = "bkq", ["Bakaka"] = "bqz", ["Baki"] = "bki", ["Bakoko"] = "bkh", ["Bakole"] = "kme", ["Bakpinka"] = "bbs", ["Bakulung"] = "bbu", ["Bakumpai"] = "bkr", ["Tiếng Bakung"] = "xkl", ["Bakwé"] = "bjw", ["Balaesang"] = "bls", ["Balangao"] = "blw", ["Balangingi"] = "sse", ["Tiếng Balantak"] = "blz", ["Balau"] = "blg", ["Baldemu"] = "bdn", ["Bali"] = "bcp", ["Baliledo"] = "poz-bal", ["Balinese Malay"] = "mhp", ["Balkan Romani"] = "rmn", ["Balo"] = "bqo", ["Baloi"] = "biz", ["Balong"] = "bnt-bal", ["Baltic Romani"] = "rml", ["Baluan-Pam"] = "blq", ["Bamako Sign Language"] = "bog", ["Bamali"] = "bbq", ["Bambalang"] = "bmo", ["Bambam"] = "ptu", ["Bambili-Bambui"] = "baw", ["Bamenyam"] = "bce", ["Bamu"] = "bcf", ["Bamukumbit"] = "bqt", ["Bamum"] = "bax", ["Bamunka"] = "bvm", ["Bamwe"] = "bmg", ["Ban Khor Sign Language"] = "bfk", ["Bana"] = "bcw", ["Banam Bay"] = "vrt", ["Banao Itneg"] = "bjx", ["Banaro"] = "byz", ["Banda"] = "bnd", ["Banda Malay"] = "bpq", ["Banda-Bambari"] = "liy", ["Banda-Banda"] = "bpd", ["Banda-Mbrès"] = "bqk", ["Banda-Ndélé"] = "bfl", ["Banda-Yangere"] = "yaj", ["Bandi"] = "bza", ["Bandial"] = "bqj", ["Tiếng Bandjalang"] = "bdy", ["Bangala"] = "bxg", ["Bangandu"] = "bgf", ["Bangba"] = "bbe", ["Tiếng Banggai"] = "bgz", ["Bangi"] = "bni", ["Bangime"] = "dba", ["Bangka"] = "mfb", ["Bangolan"] = "bgj", ["Bangubangu"] = "bnx", ["Bangwinji"] = "bsj", ["Baniva"] = "bvv", ["Baniwa"] = "bwi", ["Banka"] = "bxw", ["Bankan Tey Dogon"] = "dbw", ["Tiếng Bankon"] = "abb", ["Banoni"] = "bcm", ["Bantayanon"] = "bfx", ["Bantik"] = "bnq", ["Banyumasan"] = "map-bms", ["Baraamu"] = "brd", ["Baram Kayan"] = "kys", ["Barama"] = "bbg", ["Barambu"] = "brm", ["Baramu"] = "bmz", ["Barapasi"] = "brp", ["Baras"] = "brs", ["Barasana"] = "bsn", ["Barbareño"] = "boi", ["Barclayville Grebo"] = "gry", ["Bardi"] = "bcj", ["Barein"] = "bva", ["Bargam"] = "mlp", ["Bariai"] = "bch", ["Bariji"] = "bjc", ["Barikanchi"] = "bxo", ["Tiếng Barikewa"] = "jbk", ["Barngarla"] = "bjb", ["Barok"] = "bjk", ["Tiếng Barombi"] = "bbi", ["Barranbinya"] = "aus-bra", ["Barro Negro Tunebo"] = "tbn", ["Barrow Point"] = "bpt", ["Baruga"] = "bjz", ["Barunggam"] = "aus-brm", ["Baruya"] = "byr", ["Barwe"] = "bwg", ["Barí"] = "mot", ["Basa"] = "bzw", ["Basa-Gumna"] = "bsl", ["Basa-Gurmana"] = "buj", ["Basap"] = "bdb", ["Bashkardi"] = "bsg", ["Bassa-Kontagora"] = "bsr", ["Bassari"] = "bsc", ["Bassossi"] = "bsi", ["Bata"] = "bta", ["Bataan Ayta"] = "ayt", ["Batad Ifugao"] = "ifb", ["Batanga"] = "bnm", ["Bateri"] = "btv", ["Bathari"] = "bhm", ["Bati (Cameroon)"] = "btc", ["Bati (Indonesia)"] = "bvt", ["Batu"] = "btu", ["Batui"] = "zbt", ["Bau"] = "bbd", ["Bauchi"] = "bsf", ["Baure"] = "brg", ["Bauria"] = "bge", ["Bauro"] = "bxa", ["Bauwaki"] = "bwk", ["Bauzi"] = "bvz", ["Bawm Chin"] = "bgr", ["Bay Miwok"] = "mkq", ["Bayali"] = "bjy", ["Baybayanon"] = "bvy", ["Baygo"] = "byg", ["Bayogoula"] = "nai-bay", ["Bayono"] = "byl", ["Bayot"] = "bda", ["Bayungu"] = "bxj", ["Bazigar"] = "bfr", ["Baïnounk Gubëeher"] = "alv-bgu", ["Beami"] = "beo", ["Beaver"] = "bea", ["Beba"] = "bfp", ["Bebe"] = "bzv", ["Bebele"] = "beb", ["Bebeli"] = "bek", ["Bebil"] = "bxp", ["Bedik"] = "tnr", ["Bedjond"] = "bjv", ["Bedoanas"] = "bed", ["Beeke"] = "bkf", ["Beele"] = "bxq", ["Beembe"] = "beq", ["Beezen"] = "bnz", ["Befang"] = "bby", ["Begbere-Ejar"] = "bqv", ["Bekati'"] = "bei", ["Bekwarra"] = "bkv", ["Bekwel"] = "bkw", ["Belait"] = "beg", ["Belanda Bor"] = "bxb", ["Belanda Viri"] = "bvi", ["Belizean Creole"] = "bzj", ["Bembe"] = "bmb", ["Ben Tey"] = "dbt", ["Bena"] = "yun", ["Benabena"] = "bef", ["Bende"] = "bdp", ["Bendi"] = "bct", ["Beneraf"] = "bnv", ["Beng"] = "nhb", ["Benga"] = "bng", ["Benggoi"] = "bgy", ["Bengkala Sign Language"] = "bqy", ["Bentong"] = "bnu", ["Benyadu'"] = "byd", ["Beothuk"] = "bue", ["Bepour"] = "bie", ["Bera"] = "brf", ["Berakou"] = "bxv", ["Berau Malay"] = "bve", ["Berawan"] = "lod", ["Bergish"] = "gmw-bgh", ["Berinomo"] = "bit", ["Berom"] = "bom", ["Berta"] = "wti", ["Berti"] = "byt", ["Besme"] = "bes", ["Besoa"] = "bep", ["Betaf"] = "bfe", ["Bete"] = "byf", ["Bete-Bendi"] = "btt", ["Betoi"] = "sai-bet", ["Betta Kurumba"] = "xub", ["Bhadrawahi"] = "bhd", ["Bhalay"] = "bhx", ["Bharia"] = "bha", ["Bhatri"] = "bgw", ["Bhattiyali"] = "bht", ["Bhaya"] = "bhe", ["Bhele"] = "bhy", ["Bhilali"] = "bhi", ["Bhoti Kinnauri"] = "nes", ["Bhunjia"] = "bhu", ["Biafada"] = "bif", ["Biage"] = "bdf", ["Biak"] = "bhw", ["Biali"] = "beh", ["Bian Marind"] = "bpv", ["Biangai"] = "big", ["Biao"] = "byk", ["Biao Mon"] = "bmt", ["Biao-Jiao Mien"] = "bje", ["Bibaali"] = "bcn", ["Bibbulman"] = "xbp", ["Bidiyo"] = "bid", ["Bidyara"] = "bym", ["Bidyogo"] = "bjg", ["Biem"] = "bmc", ["Bierebo"] = "bnk", ["Bieria"] = "brj", ["Biete"] = "biu", ["Big Nambas"] = "nmb", ["Biga"] = "bhc", ["Bigambal"] = "xbe", ["Bikaru"] = "bic", ["Bikya"] = "byb", ["Bila"] = "bip", ["Bilakura"] = "bql", ["Bilba"] = "bpz", ["Bilbil"] = "brz", ["Bile"] = "bil", ["Biliau"] = "bcu", ["Biloxi"] = "bll", ["Tiếng Bilua"] = "blb", ["Bilur"] = "bxf", ["Tiếng Bima"] = "bhp", ["Bimin"] = "bhl", ["Bimoba"] = "bim", ["Bina"] = "bmn", ["Binahari"] = "bxz", ["Binandere"] = "bhg", ["Binawa"] = "byj", ["Bindal"] = "xbd", ["Bine"] = "bon", ["Binji"] = "bpj", ["Binongan Itneg"] = "itb", ["Bintauna"] = "bne", ["Bintulu"] = "bny", ["Binukid"] = "bkd", ["Binumarien"] = "bjr", ["Bipi"] = "biq", ["Birgid"] = "brk", ["Birgit"] = "btf", ["Biri"] = "bzr", ["Biritai"] = "bqq", ["Birri"] = "bvq", ["Birrpayi"] = "xbj", ["Birwa"] = "brl", ["Biseni"] = "ije", ["Bishuo"] = "bwh", ["Bisis"] = "bnw", ["Bisorio"] = "bir", ["Tiếng Bissa"] = "bib", ["Bitare"] = "brt", ["Bitur"] = "mcc", ["Biwat"] = "bwm", ["Biyo"] = "byo", ["Biyom"] = "bpm", ["Blablanga"] = "blp", ["Black Speech"] = "art-bsp", ["Blafe"] = "bfh", ["Bo"] = "bgl", ["Bo-Rukul"] = "mae", ["Bo-Ung"] = "mux", ["Boano (Maluku)"] = "bzn", ["Boano (Sulawesi)"] = "bzl", ["Bobongko"] = "bgb", ["Bobot"] = "bty", ["Bodo (Central Africa)"] = "boy", ["Tiếng Gadaba Bodo"] = "gbj", ["Bodo Parja"] = "bdv", ["Bofi"] = "bff", ["Boga"] = "bvw", ["Bogaya"] = "boq", ["Boguru"] = "bqu", ["Tiếng Tân Aram Bohtan"] = "bhn", ["Boikin"] = "bzf", ["Bokha"] = "ybk", ["Boko"] = "bqc", ["Bokoto"] = "bdt", ["Bokyi"] = "bky", ["Tiếng Bola"] = "bnp", ["Bolak"] = "art-blk", ["Bolango"] = "bld", ["Bole"] = "bol", ["Bolgo"] = "bvo", ["Bolia"] = "bli", ["Bolinao"] = "smk", ["Bolivian Sign Language"] = "bvl", ["Boloki"] = "bkt", ["Bolon"] = "bof", ["Bolondo"] = "bzm", ["Bolongan"] = "blj", ["Bom"] = "bmf", ["Boma Nkuu"] = "bnt-bon", ["Boma Yumu"] = "bnt-boy", ["Bomboli"] = "bml", ["Bomboma"] = "bws", ["Bomitaba"] = "zmx", ["Bomu"] = "bmq", ["Bomwali"] = "bmw", ["Bon Gula"] = "glc", ["Bondei"] = "bou", ["Bondoukou Kulango"] = "kzc", ["Bondum Dom Dogon"] = "dbu", ["Bonerate"] = "bna", ["Bonggi"] = "bdg", ["Bonggo"] = "bpg", ["Bongili"] = "bui", ["Bongo"] = "bot", ["Bongu"] = "bpu", ["Bonjo"] = "bok", ["Bonkeng"] = "bvg", ["Bonkiman"] = "bop", ["Bookan"] = "bnb", ["Boor"] = "bvf", ["Bora"] = "boa", ["Border Kuna"] = "kvn", ["Borei"] = "gai", ["Boro"] = "xxb", ["Borong"] = "ksr", ["Boruca"] = "brn", ["Boselewa"] = "bwf", ["Bosngun"] = "bqs", ["Bote-Majhi"] = "bmj", ["Botolan Sambal"] = "sbl", ["Bouna Kulango"] = "nku", ["Bourbonnais-Berrichon"] = "roa-bbn", ["Tiếng Bourguignon"] = "roa-brg", ["Bozaba"] = "bzo", ["Bragat"] = "aof", ["Brazilian Sign Language"] = "bzs", ["Brek Karen"] = "kvl", ["Brem"] = "buq", ["Bribri"] = "bzd", ["British Sign Language"] = "bfi", ["Brokkat"] = "bro", ["Brokpake"] = "sgt", ["Brokskat"] = "bkk", ["Broome Pearling Lugger Pidgin"] = "bpl", ["Brunei Bisaya"] = "bsb", ["Bruny Island"] = "xpz", ["Bu"] = "jid", ["Bu-Nao Bunu"] = "bwx", ["Bua"] = "bub", ["Bualkhaw Chin"] = "cbl", ["Buamu"] = "box", ["Tiếng Bube"] = "bvb", ["Bubi"] = "buw", ["Bubia"] = "bbx", ["Budibud"] = "btp", ["Budong-Budong"] = "bdx", ["Budu"] = "buu", ["Buduma"] = "bdm", ["Budza"] = "bja", ["Buena Vista Yokuts"] = "nai-bvy", ["Buglere"] = "sab", ["Bugun"] = "bgg", ["Buhi'non Bikol"] = "ubl", ["Tiếng Buhid"] = "bku", ["Buhutu"] = "bxh", ["Bujhyal"] = "byh", ["Bukar-Sadung Bidayuh"] = "sdo", ["Bukat"] = "bvk", ["Bukawa"] = "buk", ["Bukit Malay"] = "bvu", ["Bukitan"] = "bkn", ["Bukiyip"] = "ape", ["Buksa"] = "tkb", ["Bukusu"] = "bxk", ["Bulgarian Sign Language"] = "bqn", ["Bulgebi"] = "bmp", ["Buli (Ghana)"] = "bwu", ["Buli (Indonesia)"] = "bzq", ["Bulu (Cameroon)"] = "bum", ["Bulu (New Guinea)"] = "bjl", ["Bum"] = "bmv", ["Bumaji"] = "byp", ["Bumbita Arapesh"] = "aon", ["Bumthangkha"] = "kjz", ["Bun"] = "buv", ["Buna"] = "bvn", ["Bunaba"] = "bck", ["Bunak"] = "bfn", ["Bunama"] = "bdd", ["Bundeli"] = "bns", ["Bung"] = "bqd", ["Bungain"] = "but", ["Bunganditj"] = "xbg", ["Tiếng Bungku"] = "bkz", ["Bungu"] = "wun", ["Bunoge"] = "dgb", ["Buol"] = "blf", ["Bura"] = "bwr", ["Burak"] = "bys", ["Buraka"] = "bkg", ["Burarra"] = "bvr", ["Burate"] = "bti", ["Burduna"] = "bxn", ["Bure"] = "bvh", ["Burgundian"] = "gem-bur", ["Burmeso"] = "bzu", ["Buru (Indonesia)"] = "mhs", ["Buru (Nigeria)"] = "bqw", ["Burui"] = "bry", ["Burumakok"] = "aip", ["Burun"] = "bdi", ["Burusu"] = "bqr", ["Buruwai"] = "asi", ["Busam"] = "bxs", ["Busami"] = "bsm", ["Busang Kayan"] = "bfg", ["Bushoong"] = "buf", ["Buso"] = "bso", ["Busoa"] = "bup", ["Bussa"] = "dox", ["Busuu"] = "bju", ["Butbut Kalinga"] = "kyb", ["Butchulla"] = "xby", ["Butmas-Tur"] = "bnr", ["Tiếng Butuanon"] = "btw", ["Buwal"] = "bhs", ["Buyeo"] = "xpy", ["Buyu"] = "byi", ["Buyuan Jino"] = "jiy", ["Bwa"] = "bww", ["Bwaidoka"] = "bwd", ["Bwala"] = "bnt-bwa", ["Bwanabwana"] = "tte", ["Bwatoo"] = "bwa", ["Bwela"] = "bwl", ["Bwile"] = "bwc", ["Bwisi"] = "bwz", ["Byangsi"] = "bee", ["Byep"] = "mkk", ["Bädi Kanum"] = "khd", ["Caac"] = "msq", ["Cabiyarí"] = "cbb", ["Cabécar"] = "cjp", ["Cacaloxtepec Mixtec"] = "miu", ["Cacaopera"] = "ccr", ["Cacua"] = "cbv", ["Cacán"] = "sai-cac", ["Caddo"] = "cad", ["Cafundó"] = "ccd", ["Cahuarano"] = "cah", ["Cajonos Zapotec"] = "zad", ["Caka"] = "ckx", ["Cakchiquel-Quiché Mixed Language"] = "ckz", ["Cakfem-Mushere"] = "cky", ["Calabrian Greek"] = "grk-cal", ["Calamian Tagbanwa"] = "tbk", ["Callawalla"] = "caw", ["Calusa"] = "nai-cal", ["Caluyanun"] = "clu", ["Caló"] = "rmq", ["Camarines Norte Agta"] = "abd", ["Cameroon Mambila"] = "mcu", ["Cameroon Pidgin"] = "wes", ["Campalagian"] = "cml", ["Camsá"] = "kbh", ["Camtho"] = "cmt", ["Camunic"] = "xcc", ["Candoshi-Shapra"] = "cbu", ["Canichana"] = "caz", ["Cao Miao"] = "cov", ["Tiếng Capanahua"] = "kaq", ["Capiznon"] = "cps", ["Caquinte"] = "cot", ["Cara"] = "cfd", ["Carabayo"] = "cby", ["Caramanta"] = "crf", ["Caranqui"] = "sai-caq", ["Carapana"] = "cbc", ["Carian"] = "xcr", ["Cariay"] = "awd-kar", ["Carijona"] = "cbd", ["Carolina Algonquian"] = "crr", ["Carolinian"] = "cal", ["Carpathian Romani"] = "rmc", ["Cashibo-Cacataibo"] = "cbr", ["Cashinahua"] = "cbs", ["Casiguran Dumagat Agta"] = "dgc", ["Casuarina Coast Asmat"] = "asc", ["Catacao"] = "sai-cat", ["Catalan Sign Language"] = "csc", ["Tiếng Catawba"] = "chc", ["Catuquinaru"] = "sai-ctq", ["Catío Chibcha"] = "cba-cat", ["Cauca"] = "cca", ["Cavere"] = "awd-cav", ["Cavineña"] = "cav", ["Cayubaba"] = "cyb", ["Cayuse"] = "xcy", ["Cazcan"] = "azc-caz", ["Cañari"] = "sai-cnr", ["Cebaara Senoufo"] = "sef", ["Cemuhî"] = "cam", ["Cen"] = "cen", ["Central Asmat"] = "cns", ["Central Awyu"] = "awu", ["Tiếng Bạch Trung"] = "bca", ["Central Bontoc"] = "lbk", ["Central Cagayan Agta"] = "agt", ["Tiếng Trung Dusun"] = "dtp", ["Central Grebo"] = "grv", ["Central Huishui Hmong"] = "hmc", ["Central Maewo"] = "mwo", ["Central Mahuatlán Zapoteco"] = "zam", ["Central Malay"] = "pse", ["Central Masela"] = "mxz", ["Central Mashan Hmong"] = "hmm", ["Central Melanau"] = "mel", ["Central Ojibwa"] = "ojc", ["Central Palawano"] = "plc", ["Central Pame"] = "pbs", ["Central Pomo"] = "poo", ["Central Puebla Nahuatl"] = "ncx", ["Central Sama"] = "sml", ["Central Siberian Yupik"] = "ess", ["Central Sierra Miwok"] = "csm", ["Central Subanen"] = "syb", ["Central Tagbanwa"] = "tgt", ["Central Tarahumara"] = "tar", ["Central Teke"] = "nzu", ["Central Tunebo"] = "tuf", ["Centúúm"] = "cet", ["Cerma"] = "cme", ["Ch'olti'"] = "myn-chl", ["Chaap Wuurong"] = "tjw", ["Chadian Sign Language"] = "cds", ["Chaha"] = "sem-cha", ["Chairel"] = "sit-cha", ["Chak"] = "ckh", ["Chakali"] = "cli", ["Chala"] = "cll", ["Chaldean Neo-Aramaic"] = "cld", ["Chali"] = "tgf", ["Chamacoco"] = "ceg", ["Chamba Daka"] = "ccg", ["Chamba Leko"] = "ndi", ["Chambri"] = "can", ["Champenois"] = "roa-cha", ["Chang"] = "nbc", ["Changriwa"] = "cga", ["Changthang"] = "cna", ["Chantyal"] = "chx", ["Chaná"] = "sai-chn", ["Chané"] = "caj", ["Chapacura"] = "sai-chp", ["Chara"] = "cra", ["Charrua"] = "sai-chr", ["Chaudangsi"] = "cdn", ["Chayahuita"] = "cbt", ["Chazumba Mixtec"] = "xtb", ["Che"] = "ruk", ["Cheke Holo"] = "mrn", ["Chemakum"] = "xch", ["Chenapian"] = "cjn", ["Chenchu"] = "cde", ["Chenoua"] = "cnu", ["Chepya"] = "ycp", ["Cherepon"] = "cpn", ["Chesu"] = "ych", ["Chetco-Tolowa"] = "ctc", ["Chhintange"] = "ctn", ["Chhulung"] = "cur", ["Chiangmai Sign Language"] = "csd", ["Chiapanec"] = "cip", ["Tiếng Triqui Chicahuaxtla"] = "trs", ["Chichicapan Zapotec"] = "zpv", ["Chichimeca-Jonaz"] = "pei", ["Chichonyi-Chidzihana-Chikauma"] = "coh", ["Chicomuceltec"] = "cob", ["Chiduruma"] = "dug", ["Chigmecatitlán Mixtec"] = "mii", ["Chilcotin"] = "clc", ["Chilean Sign Language"] = "csg", ["Chilisso"] = "clh", ["Chiltepec Chinantec"] = "csa", ["Chimalapa Zoque"] = "zoh", ["Chimariko"] = "cid", ["Chimila"] = "cbg", ["Chimwiini"] = "bnt-cmw", ["Chinali"] = "cih", ["Chinbon Chin"] = "cnb", ["Chinese Pidgin English"] = "cpi", ["Chinese Sign Language"] = "csl", ["Chipaya"] = "cap", ["Chiquihuitlán Mazatec"] = "maq", ["Chiquimulilla"] = "nai-chi", ["Chiquitano"] = "cax", ["Tiếng Chiricahua"] = "apm", ["Chirino"] = "sai-chi", ["Chiripá"] = "nhd", ["Chitimacha"] = "ctm", ["Chitkuli Kinnauri"] = "cik", ["Chitwania Tharu"] = "the", ["Choapan Zapotec"] = "zpc", ["Chochotec"] = "coz", ["Chokri Naga"] = "nri", ["Chokwe"] = "cjk", ["Tiếng Chol"] = "ctu", ["Cholón"] = "cht", ["Chono"] = "sai-cno", ["Chopi"] = "cce", ["Chuabo"] = "chw", ["Chuanqiandian Cluster Miao"] = "cqd", ["Chuave"] = "cjv", ["Chug"] = "cvg", ["Chuj"] = "cac", ["Chuka"] = "cuh", ["Chukwa"] = "cuw", ["Chumburung"] = "ncu", ["Tiếng Churah"] = "cdj", ["Churuya"] = "sai-chu", ["Chácobo"] = "cao", ["Ci Gbe"] = "cib", ["Cibak"] = "ckl", ["Cicipu"] = "awc", ["Ciguayo"] = "nai-cig", ["Cinamiguin Manobo"] = "mkx", ["Cinda-Regi-Tiyal"] = "cdr", ["Cineni"] = "cie", ["Cinta Larga"] = "cin", ["Cishingini"] = "asg", ["Citak"] = "txt", ["Ciwogai"] = "tgd", ["Classical Gaelic"] = "ghc", ["Classical Guaraní"] = "gn-cls", ["Classical Mandaic"] = "myz", ["Classical Newar"] = "nwc", ["Classical Quechua"] = "qwc", ["Coahuilteco"] = "xcw", ["Coast Miwok"] = "csi", ["Tiếng Kadazan bờ biển"] = "kzj", ["Coastal Konjo"] = "kjc", ["Coatecas Altas Zapotec"] = "zca", ["Coatepec Nahuatl"] = "naz", ["Coatlán Mixe"] = "mco", ["Coatlán Zapotec"] = "zps", ["Coatzospan Mixtec"] = "miz", ["Tiếng Cocama"] = "cod", ["Tiếng Cochimi"] = "coj", ["Cocopa"] = "coc", ["Cocos Islands Malay"] = "coa", ["Coeruna"] = "sai-coe", ["Coeur d'Alene"] = "crd", ["Cogui"] = "kog", ["Col"] = "liw", ["Colombian Sign Language"] = "csn", ["Colonia Tovar German"] = "gct", ["Columbia-Wenatchi"] = "col", ["Colán"] = "sai-col", ["Comaltepec Chinantec"] = "cco", ["Comechingon"] = "sai-cmg", ["Comecrudo"] = "xcm", ["Communicationssprache"] = "art-com", ["Como Karim"] = "cfg", ["Con"] = "cno", ["Coos"] = "csz", ["Copainalá Zoque"] = "zoc", ["Copala Triqui"] = "trc", ["Copallén"] = "sai-cop", ["Coquille"] = "coq", ["Cora"] = "crn", ["Cori"] = "cry", ["Coroado Puri"] = "sai-crd", ["Cosoleacaque Nahuatl"] = "nhk", ["Costa Rican Sign Language"] = "csr", ["Cotabato Manobo"] = "mta", ["Cotoname"] = "xcn", ["Tiếng Cowlitz"] = "cow", ["Coyaima"] = "coy", ["Coyotepec Popoloca"] = "pbf", ["Coyutla Totonac"] = "toc", ["Crimean Gothic"] = "gme-cgo", ["Croatian Sign Language"] = "csq", ["Cross River Mbembe"] = "mfn", ["Cruzeño"] = "crz", ["Cuban Sign Language"] = "csf", ["Cubeo"] = "cub", ["Cueva"] = "sai-cva", ["Cuiba"] = "cui", ["Cuitlatec"] = "cuy", ["Culina"] = "cul", ["Culli"] = "sai-cul", ["Cumanagoto"] = "cuo", ["Cumbric"] = "xcb", ["Cun"] = "cuq", ["Cung"] = "cug", ["Curonian"] = "xcu", ["Curripaco"] = "kpc", ["Cutchi-Swahili"] = "ccl", ["Cuvok"] = "cuv", ["Cuyamecalco Mixtec"] = "xtu", ["Tiếng Cuyunon"] = "cyo", ["Cwi Bwamu"] = "bwy", ["Czech Sign Language"] = "cse", ["Tiếng Cống"] = "cnc", ["Da'a Kaili"] = "kzf", ["Daai Chin"] = "dao", ["Daantanai'"] = "lni", ["Daba"] = "dbq", ["Dabe"] = "dbe", ["Dadanitic"] = "sem-dad", ["Dadi Dadi"] = "dda", ["Dadiya"] = "dbd", ["Daga"] = "dgz", ["Dagaari Dioula"] = "dgd", ["Dagba"] = "dgk", ["Dagik"] = "dec", ["Dagoman"] = "dgn", ["Daho-Doo"] = "das", ["Dai"] = "dij", ["Dair"] = "drb", ["Dairi Batak"] = "btd", ["Dakaka"] = "bpa", ["Dakka"] = "dkk", ["Dakpa"] = "dka", ["Daloa Bété"] = "bev", ["Dama (Nigeria)"] = "dmm", ["Dama (Sierra Leone)"] = "dmn-dam", ["Damakawa"] = "dam", ["Damal"] = "uhn", ["Dameli"] = "dml", ["Dampelas"] = "dms", ["Danaru"] = "dnr", ["Dandami Maria"] = "daq", ["Dangaura Tharu"] = "thl", ["Danish Sign Language"] = "dsl", ["Dano"] = "aso", ["Dao"] = "daz", ["Daonda"] = "dnd", ["Dar Daju Daju"] = "djc", ["Dar Fur Daju"] = "daj", ["Dar Sila Daju"] = "dau", ["Darai"] = "dry", ["Darkinjung"] = "xda", ["Darlong"] = "dln", ["Darmiya"] = "drd", ["Daro-Matu Melanau"] = "dro", ["Darumbal"] = "xgm", ["Dass"] = "dot", ["Datooga"] = "tcc", ["Daungwurrung"] = "dgw", ["Davawenyo"] = "daw", ["Dawawa"] = "dww", ["Dawera-Daweloor"] = "ddw", ["Day"] = "dai", ["Dayi"] = "dax", ["Dazaga"] = "dzg", ["Deccani"] = "dcc", ["Dedua"] = "ded", ["Defaka"] = "afn", ["Defi Gbe"] = "gbh", ["Deg"] = "mzw", ["Tiếng Deg Xinag"] = "ing", ["Degenan"] = "dge", ["Dehwari"] = "deh", ["Dek"] = "dek", ["Dela-Oenale"] = "row", ["Delo"] = "ntr", ["Delta Yokuts"] = "nai-dly", ["Dem"] = "dem", ["Dema"] = "dmx", ["Demisa"] = "dei", ["Demta"] = "dmy", ["Dena'ina"] = "tfn", ["Dendi"] = "ddn", ["Dengese"] = "dez", ["Dengka"] = "dnk", ["Deno"] = "dbb", ["Denya"] = "anv", ["Dení"] = "dny", ["Deori"] = "der", ["Desano"] = "des", ["Dewas Rai"] = "dwz", ["Dewoin"] = "dee", ["Dezfuli"] = "def", ["Dghwede"] = "dgh", ["Dhaiso"] = "dhs", ["Dhalandji"] = "dhl", ["Dhangu"] = "dhg", ["Dhao"] = "nfa", ["Tiếng Dharug"] = "xdk", ["Dhatki"] = "mki", ["Dhimal"] = "dhi", ["Dhofari Arabic"] = "adf", ["Dhudhuroa"] = "ddr", ["Dhungaloo"] = "dhx", ["Dhurga"] = "dhu", ["Dhuwal"] = "dwu", ["Dhuwaya"] = "dwy", ["Dia"] = "dia", ["Dibiyaso"] = "dby", ["Dibo"] = "dio", ["Dicamay Agta"] = "duy", ["Didinga"] = "did", ["Tiếng Dieri"] = "dif", ["Digo"] = "dig", ["Dii"] = "dur", ["Dijim-Bwilim"] = "cfa", ["Dilling"] = "dil", ["Dima"] = "jma", ["Tiếng Dimasa"] = "dis", ["Dimbong"] = "dii", ["Dime"] = "dim", ["Dinapigue Agta"] = "phi-din", ["Dineor"] = "mrx", ["Ding"] = "diz", ["Diodio"] = "ddi", ["Diri"] = "dwa", ["Dirim"] = "dir", ["Disa"] = "dsi", ["Diuwe"] = "diy", ["Diuxi-Tilantongo Mixtec"] = "xtd", ["Dixon Reef"] = "dix", ["Djadjawurrung"] = "dja", ["Djambarrpuyngu"] = "djr", ["Djangun"] = "djf", ["Djauan"] = "djn", ["Djawi"] = "djw", ["Djimini"] = "dyi", ["Djinang"] = "dji", ["Djinba"] = "djb", ["Djiwarli"] = "djl", ["Dobel"] = "kvo", ["Dobu"] = "dob", ["Doe"] = "doe", ["Doga"] = "dgg", ["Doghoro"] = "dgx", ["Dogoso"] = "dgs", ["Dogosé"] = "dos", ["Dogul Dom"] = "dbg", ["Doka"] = "dbi", ["Doko-Uyanga"] = "uya", ["Dom"] = "doa", ["Domaaki"] = "dmk", ["Dominican Sign Language"] = "doq", ["Dompo"] = "doy", ["Domu"] = "dof", ["Domung"] = "dev", ["Dondo"] = "dok", ["Dong"] = "doh", ["Dongo"] = "doo", ["Dongotono"] = "ddd", ["Dongshanba Lalo"] = "yik", ["Donno So Dogon"] = "dds", ["Doondo"] = "dde", ["Dorasque"] = "cba-dor", ["Dori'o"] = "dor", ["Dorig"] = "wwo", ["Doromu-Koki"] = "kqc", ["Dorze"] = "doz", ["Doso"] = "dol", ["Tiếng Doteli"] = "dty", ["Dothraki"] = "art-dtk", ["Doura"] = "don", ["Doutai"] = "tds", ["Doyayo"] = "dow", ["Drehu"] = "dhv", ["Duala"] = "dua", ["Duano"] = "dup", ["Duau"] = "dva", ["Dubu"] = "dmu", ["Dugun"] = "ndu", ["Duguri"] = "dbm", ["Dugwor"] = "dme", ["Duhwa"] = "kbz", ["Duit"] = "cba-dui", ["Duke"] = "nke", ["Dulbu"] = "dbo", ["Duli"] = "duz", ["Duma"] = "dma", ["Dumaitic"] = "sem-dum", ["Dumbea"] = "duf", ["Dumi"] = "dus", ["Dumpas"] = "dmv", ["Dumun"] = "dui", ["Duna"] = "duc", ["Dungmali"] = "raa", ["Dungu"] = "dbv", ["Tiếng Agta Dupaningan"] = "duo", ["Dura"] = "drq", ["Duri"] = "mvp", ["Duriankere"] = "dbn", ["Tiếng Duruwa"] = "pci", ["Dusner"] = "dsn", ["Dusun Deyah"] = "dun", ["Dusun Malang"] = "duq", ["Tiếng Dusun Witu"] = "duw", ["Tiếng Hạ Saxon Hà Lan"] = "nds-nl", ["Dutch Sign Language"] = "dse", ["Duupa"] = "dae", ["Duvle"] = "duv", ["Duwai"] = "dbp", ["Duwet"] = "gve", ["Dwang"] = "nnu", ["Dyaabugay"] = "dyy", ["Dyaberdyaber"] = "dyb", ["Dyan"] = "dya", ["Dyangadi"] = "dyn", ["Dyugun"] = "dyd", ["Tiếng Dyula"] = "dyu", ["Dza"] = "jen", ["Dzala"] = "dzl", ["Dzando"] = "dzn", ["Dzao Min"] = "bpn", ["Dzodinka"] = "add", ["Dâw"] = "kwa", ["Tiếng Ai"] = "eee", ["E'ma Buyang"] = "yzg", ["Tiếng Assam cận đại"] = "inc-oas", ["Early Modern Korean"] = "ko-ear", ["Early Tripuri"] = "xtr", ["East Damar"] = "dmr", ["East Franconian"] = "vmf", ["East Kewa"] = "kjs", ["East Limba"] = "lma", ["East Makian"] = "mky", ["East Masela"] = "vme", ["East Nyala"] = "nle", ["East Tarangan"] = "tre", ["Eastern Acipa"] = "acp", ["Tiếng Arrernte Đông"] = "aer", ["Eastern Bolivian Guaraní"] = "gui", ["Eastern Canadian Inuktitut"] = "ike", ["Eastern Durango Nahuatl"] = "azd", ["Eastern Gurung"] = "ggn", ["Eastern Highland Chatino"] = "cly", ["Eastern Highland Otomi"] = "otm", ["Eastern Huasteca Nahuatl"] = "nhe", ["Eastern Huishui Hmong"] = "hme", ["Eastern Karaboro"] = "xrb", ["Eastern Kayah"] = "eky", ["Eastern Keres"] = "kee", ["Eastern Krahn"] = "kqo", ["Eastern Lalu"] = "yit", ["Eastern Maninkakan"] = "emk", ["Eastern Meohang"] = "emg", ["Eastern Muria"] = "emu", ["Eastern Ngad'a"] = "nea", ["Eastern Nisu"] = "nos", ["Eastern Ojibwa"] = "ojg", ["Eastern Penan"] = "pez", ["Eastern Pomo"] = "peb", ["Eastern Qiandong Miao"] = "hmq", ["Eastern Subanun"] = "sfe", ["Eastern Tawbuid"] = "bnj", ["Eastern Xiangxi Miao"] = "muq", ["Eastern Xwla Gbe"] = "gbx", ["Ebira"] = "igb", ["Ecuadorian Sign Language"] = "ecs", ["Ede Cabe"] = "cbj", ["Ede Ica"] = "ica", ["Ede Ije"] = "ijj", ["Edera Awyu"] = "awy", ["Edolo"] = "etr", ["Edomite"] = "xdm", ["Edopi"] = "dbf", ["Efutop"] = "ofu", ["Egyptian Sign Language"] = "esl", ["Ejamat"] = "eja", ["Ekajuk"] = "eka", ["Ekari"] = "ekg", ["Ekele"] = "khy", ["Eki"] = "eki", ["Ekit"] = "eke", ["Ekpeye"] = "ekp", ["El Alto Zapotec"] = "zpp", ["El Hugeirat"] = "elh", ["Eleme"] = "elm", ["Elepi"] = "ele", ["Elip"] = "ekm", ["Elkei"] = "elk", ["Eloi"] = "art-elo", ["Elotepec Zapotec"] = "zte", ["Eloyi"] = "afo", ["Elseng"] = "mrf", ["Elu"] = "elu", ["Emae"] = "mmw", ["Emai"] = "ema", ["Eman"] = "emn", ["Embaloh"] = "emb", ["Emberá-Baudó"] = "bdc", ["Emberá-Catío"] = "cto", ["Emem"] = "enr", ["Emerillon"] = "eme", ["Emplawas"] = "emw", ["Enawené-Nawé"] = "unk", ["Ende"] = "end", ["Enga"] = "enq", ["Enggano"] = "eno", ["Enlhet"] = "enl", ["Enrekang"] = "ptt", ["Enu"] = "enu", ["Enwan"] = "env", ["Enwang"] = "enw", ["Enxet"] = "enx", ["Enya"] = "gey", ["Epena"] = "sja", ["Epi-Olmec"] = "xep", ["Epigraphic Mayan"] = "emy", ["Eravallan"] = "era", ["Erave"] = "kjy", ["Ere"] = "twp", ["Erie"] = "iro-ere", ["Eritai"] = "ert", ["Erokwanas"] = "erw", ["Erre"] = "err", ["Erromintxela"] = "emx", ["Eruwa"] = "erh", ["Ese Ejja"] = "ese", ["Eshtehardi"] = "esh", ["Eskayan"] = "esy", ["Esmeralda"] = "sai-esm", ["Esselen"] = "esq", ["Estado de México Otomi"] = "ots", ["Estonian Sign Language"] = "eso", ["Esuma"] = "esm", ["Etchemin"] = "etc", ["Etebi"] = "etb", ["Eten"] = "etx", ["Eteocypriot"] = "ecy", ["Ethiopian Sign Language"] = "eth", ["Etkywan"] = "ich", ["Eton (Cameroon)"] = "eto", ["Eton (Vanuatu)"] = "etn", ["Etulo"] = "utr", ["Evant"] = "bzz", ["Ewage-Notu"] = "nou", ["Ewarhuyana"] = "sai-ewa", ["Ewondo"] = "ewo", ["Extremaduran"] = "ext", ["Eyak"] = "eya", ["Ezaa"] = "eza", ["Fagani"] = "faf", ["Faire Atta"] = "azt", ["Faita"] = "faj", ["Faiwol"] = "fai", ["Fakkanci"] = "gel", ["Falam Chin"] = "cfm", ["Fali"] = "fli", ["Fam"] = "fam", ["Tiếng Fanagalo"] = "fng", ["Fanamaket"] = "bjp", ["Fang (Bantu)"] = "fan", ["Fang (Beboid)"] = "fak", ["Fania"] = "fni", ["Far Western Muria"] = "fmu", ["Fas"] = "fqs", ["Fasu"] = "faa", ["Fataleka"] = "far", ["Fataluku"] = "ddg", ["Fayu"] = "fau", ["Fedan"] = "pdn", ["Fembe"] = "agl", ["Fer"] = "kah", ["Feroge"] = "fer", ["Filomena Mata-Coahuitlán Totonac"] = "tlp", ["Finisterre Yau"] = "yuw", ["Finnish Sign Language"] = "fse", ["Finnish-Swedish Sign Language"] = "fss", ["Finongan"] = "fag", ["Fipa"] = "fip", ["Firan"] = "fir", ["Fiwaga"] = "fiw", ["Flemish Sign Language"] = "vgt", ["Flinders Island"] = "fln", ["Foau"] = "flh", ["Tiếng Foi"] = "foi", ["Foia Foia"] = "ffi", ["Folopa"] = "ppo", ["Foma"] = "fom", ["Fongoro"] = "fgr", ["Foodo"] = "fod", ["Forak"] = "frq", ["Fordata"] = "frd", ["Fore"] = "for", ["Forest Nenets"] = "syd-fne", ["Fortsenal"] = "frt", ["Franc-Comtois"] = "roa-fcm", ["Francisco León Zoque"] = "zos", ["French Belgian Sign Language"] = "sfb", ["French Sign Language"] = "fsl", ["Fuliiru"] = "flr", ["Fulniô"] = "fun", ["Fum"] = "fum", ["Fungwa"] = "ula", ["Furu"] = "fuu", ["Futuna-Aniwa"] = "fut", ["Fuyug"] = "fuy", ["Fwe"] = "fwe", ["Fwâi"] = "fwa", ["Fyam"] = "pym", ["Fyer"] = "fie", ["Ga'anda"] = "gqa", ["Ga'dang"] = "gdg", ["Gaa"] = "ttb", ["Gaam"] = "tbi", ["Gabadi"] = "kbt", ["Gabi"] = "gbw", ["Gabrielino-Fernandeño"] = "xgf", ["Gadang"] = "gdk", ["Gaddi"] = "gbk", ["Gade"] = "ged", ["Gadjerawang"] = "gdh", ["Gadsup"] = "gaj", ["Gafat"] = "gft", ["Gagadu"] = "gbu", ["Gagnoa Bété"] = "btg", ["Gahri"] = "bfu", ["Gaikundi"] = "gbf", ["Gaina"] = "gcn", ["Gal"] = "gap", ["Galambu"] = "glo", ["Galela"] = "gbi", ["Galeya"] = "gar", ["Galice"] = "gce", ["Galindian"] = "xgl", ["Gallaecian"] = "cel-gal", ["Tiếng Gallo"] = "roa-gal", ["Tiếng Gallura"] = "sdn", ["Tiếng Galo"] = "adl", ["Galoli"] = "gal", ["Gambera"] = "gma", ["Gamela"] = "sai-gam", ["Tiếng Gamilaraay"] = "kld", ["Gamkonora"] = "gak", ["Gamo-Ningi"] = "bte", ["Gana"] = "gnq", ["Ganang"] = "gne", ["Gane"] = "gzn", ["Ganggalida"] = "gcd", ["Ganglau"] = "ggl", ["Gangte"] = "gnb", ["Gangulu"] = "gnl", ["Gants"] = "gao", ["Ganzi"] = "gnz", ["Gao"] = "gga", ["Gapapaiwa"] = "pwg", ["Garawa"] = "wrk", ["Garhwali"] = "gbm", ["Tiếng Garifuna"] = "cab", ["Garingbal"] = "xgi", ["Garus"] = "gyb", ["Garza"] = "xgr", ["Gashowu"] = "nai-gsy", ["Gaulish"] = "cel-gau", ["Gavak"] = "dmc", ["Gavar"] = "gou", ["Gavião do Jiparaná"] = "gvo", ["Tiếng Gawwada"] = "gwd", ["Tiếng Gayil"] = "gyl", ["Gayo"] = "gay", ["Gayón"] = "sai-gay", ["Gbagyi"] = "gbr", ["Gban"] = "ggu", ["Gbanu"] = "gbv", ["Gbanziri"] = "gbg", ["Gbari"] = "gby", ["Gbaya"] = "gba", ["Gbaya-Bossangoa"] = "gbp", ["Gbaya-Bozoum"] = "gbq", ["Gbaya-Mbodomo"] = "gmm", ["Gbayi"] = "gyg", ["Gbesi Gbe"] = "gbs", ["Gbii"] = "ggb", ["Gbin"] = "xgb", ["Tiếng Gbiri-Niragu"] = "grh", ["Gboloo Grebo"] = "gec", ["Gciriku"] = "diu", ["Gcwi"] = "gwj", ["Ge"] = "hmj", ["Gebe"] = "gei", ["Gedaged"] = "gdd", ["Geji"] = "gji", ["Gela"] = "nlg", ["Gelao"] = "gio", ["Gele'"] = "sbc", ["Geme"] = "geq", ["Gen"] = "gej", ["Gende"] = "gaf", ["Gengle"] = "geg", ["Gepo"] = "ygp", ["Gera"] = "gew", ["German Sign Language"] = "gsg", ["Geruma"] = "gea", ["Geser-Gorom"] = "ges", ["Gey"] = "guv", ["Ghanaian Sign Language"] = "gse", ["Ghandruk Sign Language"] = "gds", ["Ghanongga"] = "ghn", ["Ghari"] = "gri", ["Ghayavi"] = "bmk", ["Ghera"] = "ghr", ["Ghomara"] = "gho", ["Tiếng Ghotuo"] = "aaa", ["Ghulfan"] = "ghl", ["Giangan"] = "bgi", ["Gibanawa"] = "gib", ["Gidar"] = "gid", ["Gikyode"] = "acd", ["Gilima"] = "gix", ["Gimi (Austronesian)"] = "gip", ["Gimme"] = "kmp", ["Gimnime"] = "gmn", ["Ginuman"] = "gnm", ["Girawa"] = "bbr", ["Giryama"] = "nyf", ["Githabul"] = "gih", ["Gitua"] = "ggt", ["Gitxsan"] = "git", ["Giyug"] = "giy", ["Gizrra"] = "tof", ["Glaro-Twabo"] = "glr", ["Glavda"] = "glw", ["Glio-Oubi"] = "oub", ["Gnau"] = "gnu", ["Goa'uld"] = "art-gld", ["Goaria"] = "gig", ["Gobasi"] = "goi", ["Gobu"] = "gox", ["Godié"] = "god", ["Godwari"] = "gdx", ["Goemai"] = "ank", ["Gogo"] = "gog", ["Gogodala"] = "ggw", ["Gojri"] = "gju", ["Gokana"] = "gkn", ["Gokhy"] = "sit-gkh", ["Gola"] = "gol", ["Golin"] = "gvf", ["Golpa"] = "lja", ["Gondi"] = "gon", ["Gongduk"] = "goe", ["Gonja"] = "gjn", ["Goo"] = "gov", ["Tiếng Gooniyandi"] = "gni", ["Gor"] = "gqr", ["Gorakor"] = "goc", ["Gorap"] = "goq", ["Goreng"] = "xgg", ["Tiếng Gorontalo"] = "gor", ["Gorovu"] = "grq", ["Gottscheerish"] = "gmw-gts", ["Goundo"] = "goy", ["Gourmanchéma"] = "gux", ["Gowlan"] = "goj", ["Gowro"] = "gwf", ["Gozarkhani"] = "goz", ["Grangali"] = "nli", ["Grass Koiari"] = "kbk", ["Grebo"] = "grb", ["Greek Sign Language"] = "gss", ["Green Gelao"] = "giq", ["Green Hmong"] = "hnj", ["Grenadian Creole English"] = "gcl", ["Gresi"] = "grs", ["Groma"] = "gro", ["Gros Ventre"] = "ats", ["Gua"] = "gwx", ["Guahibo"] = "guh", ["Guambiano"] = "gum", ["Guamo"] = "sai-gmo", ["Guanano"] = "gvc", ["Guatemalan Sign Language"] = "gsm", ["Guató"] = "gta", ["Guayabero"] = "guo", ["Guazacapán"] = "nai-guz", ["Gudang"] = "xgd", ["Gudanji"] = "nji", ["Gude"] = "gde", ["Gudu"] = "gdu", ["Guduf-Gava"] = "gdf", ["Guerrero Nahuatl"] = "ngu", ["Guevea de Humboldt Zapotec"] = "zpg", ["Gugadj"] = "ggd", ["Gugu Badhun"] = "gdc", ["Gugu Warra"] = "wrw", ["Guhu-Samane"] = "ghs", ["Guianese Creole"] = "gcr", ["Guiberoua Bété"] = "bet", ["Guinau"] = "awd-gnu", ["Guinea Kpelle"] = "gkp", ["Guinea-Bissau Creole"] = "pov", ["Guinea-Bissau Sign Language"] = "lgs", ["Guinean Sign Language"] = "gus", ["Guiqiong"] = "gqi", ["Gula"] = "glu", ["Gula'alaa"] = "gmb", ["Gule"] = "gly", ["Gullah"] = "gul", ["Gumalu"] = "gmu", ["Gumatj"] = "gnn", ["Gumawana"] = "gvs", ["Gundi"] = "gdi", ["Gunditjmara"] = "gjm", ["Gundungurra"] = "xrd", ["Gungabula"] = "gyf", ["Gungu"] = "rub", ["Guntai"] = "gnt", ["Gunu"] = "yas", ["Gunwinggu"] = "gup", ["Gunya"] = "gyy", ["Gupa-Abawa"] = "gpa", ["Gupapuyngu"] = "guf", ["Gur Lama"] = "las", ["Guragone"] = "gge", ["Guramalum"] = "grz", ["Tiếng Goran"] = "hac", ["Gureng Gureng"] = "gnr", ["Gurgula"] = "ggg", ["Guriaso"] = "grx", ["Gurindji"] = "gue", ["Gurjar Apabhramsa"] = "inc-gup", ["Gurmana"] = "gvm", ["Guro"] = "goa", ["Guruntum"] = "grd", ["Gusan"] = "gsn", ["Gusii"] = "guz", ["Gusilay"] = "gsl", ["Gutnish"] = "gmq-gut", ["Guwa"] = "xgw", ["Guwamu"] = "gwu", ["Guwar"] = "aus-guw", ["Guya"] = "gka", ["Guyanese Creole English"] = "gyn", ["Guyani"] = "gvy", ["Guébie"] = "gie", ["Gvoko"] = "ngs", ["Gwa"] = "gwb", ["Gwahatike"] = "dah", ["Gwak"] = "jgk", ["Gwamhi-Wuri"] = "bga", ["Gwandara"] = "gwn", ["Gwara"] = "alv-gwa", ["Gweda"] = "grw", ["Gweno"] = "gwe", ["Gwere"] = "gwr", ["Gyalsumdo"] = "gyo", ["Gyele"] = "gyi", ["Gyem"] = "gye", ["Güenoa"] = "sai-gue", ["Habu"] = "hbu", ["Hadothi"] = "hoj", ["Hadrami"] = "xhd", ["Hadza"] = "hts", ["Haeke"] = "aek", ["Hahon"] = "hah", ["Haigwai"] = "hgw", ["Hainyaxo Bozo"] = "bzx", ["Haiphong Sign Language"] = "haf", ["Haisla"] = "has", ["Haitian Vodoun Culture Language"] = "hvc", ["Haiǁom"] = "hgm", ["Haji"] = "hji", ["Hakö"] = "hao", ["Halang Doan"] = "hld", ["Halia"] = "hla", ["Hamap"] = "hmu", ["Hamba"] = "hba", ["Hamtai"] = "hmt", ["Hanga"] = "hag", ["Hanga Hundi"] = "wos", ["Hanoi Sign Language"] = "hab", ["Harami"] = "xha", ["Haraza"] = "nub-har", ["Harijan Kinnauri"] = "kjo", ["Tiếng Harsusi"] = "hss", ["Haruai"] = "tmd", ["Haruku"] = "hrk", ["Haryanvi"] = "bgc", ["Harzani"] = "hrz", ["Hasaitic"] = "sem-has", ["Hasha"] = "ybj", ["Hassaniya Arabic"] = "mey", ["Hatam"] = "had", ["Hausa Sign Language"] = "hsl", ["Haveke"] = "hvk", ["Havu"] = "hav", ["Hawai'i Pidgin Sign Language"] = "hps", ["Hawaiian Creole"] = "hwc", ["Haya"] = "hay", ["Hdi"] = "xed", ["Hehe"] = "heh", ["Heiban"] = "hbn", ["Helong"] = "heg", ["Helu"] = "elu-prk", ["Hema"] = "nix", ["Hemba"] = "hem", ["Herdé"] = "hed", ["Hermit"] = "llf", ["Tiếng Hernici"] = "xhr", ["Hewa"] = "ham", ["Heyo"] = "auk", ["Hibito"] = "hib", ["Hidatsa"] = "hid", ["Highland Konjo"] = "kjk", ["Highland Oaxaca Chontal"] = "chd", ["Highland Puebla Nahuatl"] = "azz", ["Tiếng Totonac cao nguyên"] = "tos", ["Hijuk"] = "hij", ["Hill Maria"] = "mrr", ["Himarimã"] = "hir", ["Himyaritic"] = "sem-him", ["Hindi Dogri"] = "dgo", ["Hinduri"] = "hii", ["Hinukh"] = "gin", ["Hismaic"] = "sem-his", ["Hitchiti"] = "nai-hit", ["Hitu"] = "htu", ["Hiw"] = "hiw", ["Hixkaryana"] = "hix", ["Hlepho Phowa"] = "yhl", ["Hlersu"] = "hle", ["Hmar"] = "hmr", ["Hmong Dô"] = "hmv", ["Hmong Shua"] = "hmz", ["Hmwaveke"] = "mrk", ["Ho Chi Minh City Sign Language"] = "hos", ["Hobyót"] = "hoh", ["Hoia Hoia"] = "hhi", ["Holikachuk"] = "hoi", ["Holiya"] = "hoy", ["Holma"] = "hod", ["Holoholo"] = "hoo", ["Holu"] = "hol", ["Homa"] = "hom", ["Honduran Lenca"] = "len", ["Honduras Sign Language"] = "hds", ["Hone"] = "juh", ["Hong Kong Sign Language"] = "hks", ["Honi"] = "how", ["Tiếng Hopi"] = "hop", ["Horned Miao"] = "hrm", ["Horo"] = "hor", ["Horom"] = "hoe", ["Hote"] = "hot", ["Hoti"] = "hti", ["Hovongan"] = "hov", ["Hoyahoya"] = "hhy", ["Hrangkhol"] = "hra", ["Hruso"] = "hru", ["Huachipaeri"] = "hug", ["Huambisa"] = "hub", ["Huaorani"] = "auc", ["Huarijio"] = "var", ["Huaulu"] = "hud", ["Huautla Mazatec"] = "mau", ["Huave"] = "huv", ["Huaxcaleca Nahuatl"] = "nhq", ["Huba"] = "hbb", ["Huehuetla Tepehua"] = "tee", ["Huetar"] = "cba-hue", ["Huichol"] = "hch", ["Huilliche"] = "huh", ["Huitepec Mixtec"] = "mxs", ["Hukumina"] = "huw", ["Hula"] = "hul", ["Huli"] = "hui", ["Hulung"] = "huk", ["Humburi Senni"] = "hmb", ["Humene"] = "huf", ["Hun"] = "uth", ["Hunde"] = "hke", ["Hungana"] = "hum", ["Hungarian Sign Language"] = "hsh", ["Hungworo"] = "nat", ["Hunjara-Kaina Ke"] = "hkk", ["Hunnic"] = "xhc", ["Hupdë"] = "jup", ["Hupla"] = "hap", ["Hutterisch"] = "geh", ["Hwana"] = "hwo", ["Hya"] = "hya", ["Hän"] = "haa", ["Hértevin"] = "hrt", ["I-Wak"] = "iwk", ["Iamalele"] = "yml", ["Iatmul"] = "ian", ["Iau"] = "tmu", ["Ibali Teke"] = "tek", ["Tiếng Ibanag"] = "ibg", ["Ibani"] = "iby", ["Iberian"] = "xib", ["Iboko"] = "bkp", ["Ibu"] = "ibu", ["Icelandic Sign Language"] = "icl", ["Iceve-Maci"] = "bec", ["Tiếng Ida'an"] = "dbj", ["Idakho-Isukha-Tiriki"] = "ida", ["Idaté"] = "idt", ["Idere"] = "ide", ["Idesa"] = "ids", ["Idi"] = "idi", ["Idoma"] = "idu", ["Idon"] = "idc", ["Tiếng Idu"] = "clk", ["Idun"] = "ldb", ["Iduna"] = "viv", ["Ifo"] = "iff", ["Igana"] = "igg", ["Igede"] = "ige", ["Ignaciano"] = "ign", ["Igo"] = "ahl", ["Iguta"] = "nar", ["Igwe"] = "igw", ["Iha"] = "ihp", ["Ihievbe"] = "ihi", ["Ija-Zuba"] = "vki", ["Ik"] = "ikx", ["Ika"] = "ikk", ["Ikaranggal"] = "ikr", ["Ikizu"] = "ikz", ["Iko"] = "iki", ["Ikobi-Mena"] = "meb", ["Ikoma"] = "ntk", ["Ikpeng"] = "txi", ["Ikpeshi"] = "ikp", ["Ikposo"] = "kpo", ["Iku-Gora-Ankwa"] = "ikv", ["Ikulu"] = "ikl", ["Ikwo"] = "iqw", ["Ila"] = "ilb", ["Ile Ape"] = "ila", ["Ilgar"] = "ilg", ["Ili'uun"] = "ilu", ["Ilianen Manobo"] = "mbi", ["Illyrian"] = "xil", ["Ilongot"] = "ilk", ["Ilue"] = "ilv", ["Ilwana"] = "mlk", ["Imbongu"] = "imo", ["Imonda"] = "imn", ["Imroing"] = "imr", ["Inabaknon"] = "abx", ["Inapang"] = "mzu", ["Indanga"] = "bnt-ind", ["Indian Sign Language"] = "ins", ["Indonesian Bajau"] = "bdl", ["Indonesian Sign Language"] = "inl", ["Indri"] = "idr", ["Indus Valley Language"] = "xiv", ["Inebu One"] = "oin", ["Ineseño"] = "inz", ["Inga"] = "inb", ["Inlaod Itneg"] = "iti", ["Inoke-Yate"] = "ino", ["Inonhan"] = "loc", ["Inpui Naga"] = "nkf", ["International Sign"] = "ils", ["Inuinnaqtun"] = "esx-inq", ["Inuit Sign Language"] = "iks", ["Inuktun"] = "esx-ink", ["Inuvialuktun"] = "ikt", ["Ipai"] = "nai-ipa", ["Ipalapa Amuzgo"] = "azm", ["Ipiko"] = "ipo", ["Ipili"] = "ipi", ["Ipulo"] = "ass", ["Iquito"] = "iqu", ["Ir"] = "irr", ["Irantxe"] = "irn", ["Iranun"] = "ill", ["Tiếng Ả Rập Iraq"] = "acm", ["Irarutu"] = "irh", ["Iraya"] = "iry", ["Iresim"] = "ire", ["Iriga Bicolano"] = "bto", ["Irish Sign Language"] = "isg", ["Tiếng Irula"] = "iru", ["Isabi"] = "isa", ["Isanzu"] = "isn", ["Isarog Agta"] = "agk", ["Isaurian"] = "und-isa", ["Isconahua"] = "isc", ["Isebe"] = "igo", ["Ishkashimi"] = "isk", ["Isinai"] = "inn", ["Isirawa"] = "srl", ["Islander Creole English"] = "icr", ["Israeli Sign Language"] = "isr", ["Isthmus Mixe"] = "mir", ["Tiếng Zapotec Isthmus"] = "zai", ["Isu"] = "isu", ["Isubu"] = "szv", ["Italian Sign Language"] = "ise", ["Itawit"] = "itv", ["Itene"] = "ite", ["Iteri"] = "itr", ["Itik"] = "itx", ["Ito"] = "itw", ["Itundujia Mixtec"] = "mce", ["Itzá"] = "itz", ["Iwal"] = "kbm", ["Iwam"] = "iwm", ["Iwur"] = "iwo", ["Ixcatec"] = "ixc", ["Ixcatlán Mazatec"] = "mzi", ["Ixtayutla Mixtec"] = "vmj", ["Ixtenco Otomi"] = "otz", ["Iyayu"] = "iya", ["Iyive"] = "uiv", ["Iyo"] = "nca", ["Iyo'wujwa Chorote"] = "crq", ["Iyojwa'ja Chorote"] = "crt", ["Izere"] = "izr", ["Izi"] = "izz", ["Izi-Ezaa-Ikwo-Mgbo"] = "izi", ["Tiếng Izon"] = "ijc", ["Izora"] = "cbo", ["Iñapari"] = "inp", ["Jabem"] = "jae", ["Jabutí"] = "jbt", ["Jad"] = "jda", ["Jadgali"] = "jdg", ["Jahanka"] = "jad", ["Jair Awyu"] = "awv", ["Jakati"] = "jat", ["Jalapa de Díaz Mazatec"] = "maj", ["Jalkunan"] = "bxl", ["Jamaican Country Sign Language"] = "jcs", ["Jamaican Sign Language"] = "jls", ["Jambi Malay"] = "jax", ["Jamiltepec Mixtec"] = "mxt", ["Jaminjung"] = "djd", ["Jamsay"] = "djm", ["Jamtish"] = "gmq-jmk", ["Jandavra"] = "jnd", ["Janday"] = "jan", ["Jangkang"] = "djo", ["Jangshung"] = "jna", ["Janji"] = "jni", ["Japanese Sign Language"] = "jsl", ["Japrería"] = "jru", ["Jara"] = "jaf", ["Jaru"] = "ddj", ["Jassic"] = "ysc", ["Jaunsari"] = "jns", ["Jawe"] = "jaz", ["Jaya"] = "jyy", ["Jebero"] = "jeb", ["Jeikó"] = "sai-jko", ["Tiếng Jemez"] = "tow", ["Jenaama Bozo"] = "bze", ["Jeng"] = "jeg", ["Jennu Kurumba"] = "xuj", ["Jere"] = "jer", ["Jeri Kuo"] = "jek", ["Jerung"] = "jee", ["Jhankot Sign Language"] = "jhs", ["Jiamao"] = "jio", ["Jiba"] = "juo", ["Jibu"] = "jib", ["Tiếng Jicarilla"] = "apj", ["Jilbe"] = "jie", ["Jili"] = "mgi", ["Jilim"] = "jil", ["Jimi"] = "jmi", ["Jimjimen"] = "jim", ["Tiếng Tấn"] = "cjy", ["Jina"] = "jia", ["Jingulu"] = "jig", ["Jiongnai Bunu"] = "pnu", ["Jirajara"] = "sai-jrj", ["Jirel"] = "jul", ["Jiru"] = "jrr", ["Jita"] = "jit", ["Jju"] = "kaj", ["Joba"] = "job", ["Jofotek-Bromnya"] = "jbr", ["Jola-Fonyi"] = "dyo", ["Jola-Kasa"] = "csk", ["Jonkor Bourmataguil"] = "jeu", ["Jordanian Sign Language"] = "jos", ["Jorá"] = "jor", ["Jowulu"] = "jow", ["Ju"] = "juu", ["Jukun Takum"] = "jbu", ["Tiếng Jumaytepeque"] = "nai-jum", ["Jumla Sign Language"] = "jus", ["Jumli"] = "jml", ["Jungle Inga"] = "inj", ["Juquila Mixe"] = "mxq", ["Jur Modo"] = "bex", ["Tiếng Juray"] = "juy", ["Jurúna"] = "jur", ["Jutiapa"] = "nai-jtp", ["Juwal"] = "mwb", ["Juxtlahuaca Mixtec"] = "vmc", ["Jwira-Pepesa"] = "jwi", ["Júma"] = "jua", ["Kaamba"] = "xku", ["Kaan"] = "ldl", ["Kaang Chin"] = "ckn", ["Kaansa"] = "gna", ["Kaapor Sign Language"] = "uks", ["Kaba"] = "ksp", ["Kabalai"] = "kvf", ["Kabatei"] = "xkp", ["Kabba-Laka"] = "lap", ["Kabishiana"] = "tup-kab", ["Kabola"] = "klz", ["Kabore One"] = "onk", ["Kabras"] = "lkb", ["Kaburi"] = "uka", ["Kabutra"] = "kbu", ["Tiếng Kabuverdianu"] = "kea", ["Kabwa"] = "cwa", ["Kabwari"] = "kcw", ["Tiếng Kachama-Ganjule"] = "kcx", ["Kachari"] = "xac", ["Kachi Koli"] = "gjk", ["Kacipo-Balesi"] = "koe", ["Kaco'"] = "xkk", ["Kadai"] = "kzd", ["Kadar"] = "kej", ["Kadara"] = "kad", ["Kadaru"] = "kdu", ["Kadiwéu"] = "kbc", ["Kado"] = "kdv", ["Kadugli"] = "xtc", ["Kaduo"] = "ktp", ["Kaera"] = "jka", ["Kafoa"] = "kpu", ["Kagan Kalagan"] = "kll", ["Kagate"] = "syw", ["Tiếng Kagayanen"] = "cgc", ["Kagoma"] = "kdm", ["Kagoro"] = "xkg", ["Kagulu"] = "kki", ["Kahe"] = "hka", ["Kahua"] = "agw", ["Kaian"] = "kct", ["Kaibobo"] = "kzb", ["Kaidipang"] = "kzp", ["Kaiep"] = "kbw", ["Kaikadi"] = "kep", ["Kaike"] = "kzq", ["Kaiku"] = "kkq", ["Kaimbulawa"] = "zka", ["Kaimbé"] = "xai", ["Kairak"] = "ckr", ["Kairiru"] = "kxa", ["Kairui-Midiki"] = "krd", ["Kais"] = "kzm", ["Kaivi"] = "kce", ["Kaiwá"] = "kgk", ["Kaiy"] = "tcq", ["Kajakse"] = "ckq", ["Kajali"] = "xkj", ["Kajaman"] = "kag", ["Kakabe"] = "kke", ["Kakanda"] = "kka", ["Tiếng Kaki Ae"] = "tbd", ["Kakihum"] = "kxe", ["Kako"] = "kkj", ["Kakwa"] = "keo", ["Kala"] = "kcl", ["Kala Lagaw Ya"] = "mwp", ["Kalaamaya"] = "lkm", ["Kalabakan"] = "kve", ["Kalabari"] = "ijn", ["Kalabra"] = "kzz", ["Kalagan"] = "kqe", ["Kalaktang Monpa"] = "kkf", ["Kalam"] = "kmh", ["Kalamsé"] = "knz", ["Kalanadi"] = "wkl", ["Kalanga"] = "kck", ["Kalapuya"] = "kyl", ["Kalarko"] = "kba", ["Kalasuri"] = "xme-kls", ["Kalenjin"] = "kln", ["Kalinago"] = "crb", ["Kalkatungu"] = "ktg", ["Kalkoti"] = "xka", ["Kalou"] = "ywa", ["Kaluli"] = "bco", ["Kalumpang"] = "kli", ["Kam"] = "kdx", ["Kamakan"] = "vkm", ["Kamang"] = "woi", ["Kamano"] = "kbq", ["Kamantan"] = "kci", ["Kamar"] = "keq", ["Kamara"] = "jmr", ["Kamarian"] = "kzx", ["Kamaru"] = "kgx", ["Kamarupi Prakrit"] = "inc-kam", ["Kamasa"] = "klp", ["Kamasau"] = "kms", ["Tiếng Kamayo"] = "kyk", ["Kamayurá"] = "kay", ["Kamba"] = "kam", ["Kambaira"] = "kyy", ["Tiếng Kambera"] = "xbr", ["Kamberataro"] = "kbv", ["Kamberau"] = "irx", ["Kambiwá"] = "xbw", ["Kami"] = "kmi", ["Kamkata-viri"] = "bsh", ["Kamo"] = "kcq", ["Kamoro"] = "kgq", ["Kamu"] = "xmu", ["Tiếng Kamula"] = "xla", ["Kamwe"] = "hig", ["Kanakuru"] = "kna", ["Kanamari"] = "knm", ["Kanashi"] = "xns", ["Kanasi"] = "soq", ["Kandas"] = "kqw", ["Kandawo"] = "gam", ["Kande"] = "kbs", ["Kang"] = "kyp", ["Kanga"] = "kcp", ["Kanggape"] = "igm", ["Kango"] = "kty", ["Kango-Sua"] = "kzy", ["Kangri"] = "xnr", ["Kaniet"] = "ktk", ["Kanikkaran"] = "kev", ["Kaningdon-Nindem"] = "kdp", ["Kaningi"] = "kzo", ["Kaningra"] = "knr", ["Kaninuwa"] = "wat", ["Kanite"] = "kmu", ["Kanjari"] = "kft", ["Kanju"] = "kbe", ["Tiếng Kankanaey"] = "kne", ["Kannada Kurumba"] = "kfi", ["Kanowit"] = "kxn", ["Kanoé"] = "kxo", ["Kansa"] = "ksk", ["Kantosi"] = "xkt", ["Kanu"] = "khx", ["Kanufi"] = "kni", ["Kanyok"] = "kny", ["Kao"] = "kax", ["Kaonde"] = "kqn", ["Kap"] = "ykm", ["Kapauri"] = "khp", ["Kapin"] = "tbx", ["Kapinawá"] = "xpn", ["Kapriman"] = "dju", ["Kaptiau"] = "kbi", ["Kapya"] = "klo", ["Tiếng Kaqchikel"] = "cak", ["Kara (New Guinea)"] = "leu", ["Kara (Tanzania)"] = "reg", ["Karadjeri"] = "gbd", ["Karaga Mandaya"] = "mry", ["Karami"] = "xar", ["Karamojong"] = "kdj", ["Karang"] = "kzr", ["Karanga"] = "kth", ["Karankawa"] = "zkk", ["Karas"] = "kgv", ["Karawa"] = "xrw", ["Kare (Africa)"] = "kbn", ["Kare (New Guinea)"] = "kmf", ["Tiếng Karekare"] = "kai", ["Karey"] = "kyd", ["Kari"] = "kbj", ["Karingani"] = "kgn", ["Karipuna"] = "kuq", ["Karipúna"] = "kgm", ["Karipúna Creole French"] = "kmv", ["Tiếng Kariri"] = "kzw", ["Tiếng Karitiâna"] = "ktn", ["Kariya"] = "kil", ["Kariyarra"] = "vka", ["Karkar-Yuri"] = "yuj", ["Karkin"] = "krb", ["Karko"] = "kko", ["Karnai"] = "bbv", ["Karo"] = "kxh", ["Karo Batak"] = "btx", ["Karok"] = "kyh", ["Karolanos"] = "kyn", ["Karon"] = "krx", ["Karon Dori"] = "kgw", ["Karore"] = "xkx", ["Karranga"] = "xrq", ["Karuwali"] = "rxw", ["Kasanga"] = "ccj", ["Kasem"] = "xsm", ["Kasiguranin"] = "ksn", ["Kaska"] = "kkz", ["Kaskean"] = "zsk", ["Kaskihá"] = "gva", ["Kassite"] = "und-kas", ["Kassonke"] = "kao", ["Kasua"] = "khs", ["Kataang"] = "kgd", ["Katabaga"] = "ktq", ["Katawixi"] = "xat", ["Katembri"] = "sai-kat", ["Kathlamet"] = "nai-kat", ["Kathoriya Tharu"] = "tkt", ["Kathu"] = "ykt", ["Katkari"] = "kfu", ["Katla"] = "kcr", ["Kato"] = "ktw", ["Katso"] = "kaf", ["Katukina"] = "knt", ["Kaulong"] = "pss", ["Kaur"] = "vkk", ["Kaure"] = "bpp", ["Tiếng Kaurna"] = "zku", ["Kauwera"] = "xau", ["Kawacha"] = "kcb", ["Kawaiisu"] = "xaw", ["Kawe"] = "kgb", ["Kawishana"] = "awd-kaw", ["Kaxararí"] = "ktx", ["Kaxuyana"] = "kbb", ["Kaya"] = "zra", ["Kayabí"] = "kyz", ["Kayagar"] = "kyt", ["Kayan"] = "pdu", ["Kayan Mahakam"] = "xay", ["Kayan River Kayan"] = "xkn", ["Tiếng Kalanguya"] = "kak", ["Kayardild"] = "gyd", ["Kayeli"] = "kzl", ["Kaytetye"] = "gbb", ["Kayupulau"] = "kzu", ["Kazukuru"] = "kzk", ["Ke'o"] = "xxk", ["Keak"] = "keh", ["Keapara"] = "khz", ["Kedah Malay"] = "meo", ["Kedang"] = "ksx", ["Keder"] = "kdy", ["Kehu"] = "khh", ["Kei"] = "kei", ["Keiga"] = "kec", ["Kein"] = "bmh", ["Keiyo"] = "eyo", ["Kela-Yela"] = "kel", ["Kelabit"] = "kzi", ["Keley-I Kallahan"] = "ify", ["Keliko"] = "kbo", ["Kelo"] = "xel", ["Kelon"] = "kyo", ["Kemak"] = "kem", ["Kembayan"] = "xem", ["Kemberano"] = "bzp", ["Kembra"] = "xkw", ["Kemezung"] = "dmo", ["Kemi Sami"] = "sjk", ["Kemiehua"] = "kfj", ["Kemtuik"] = "kmt", ["Kenaboi"] = "xbn", ["Kenati"] = "gat", ["Kendayan"] = "knx", ["Kendeje"] = "klf", ["Kendem"] = "kvm", ["Kenga"] = "kyq", ["Keningau Murut"] = "kxi", ["Keninjal"] = "knl", ["Kenswei Nsei"] = "ndb", ["Kenyan Sign Language"] = "xki", ["Kenyang"] = "ken", ["Kenyi"] = "lke", ["Keoru-Ahia"] = "xeu", ["Kepkiriwát"] = "kpn", ["Kepo'"] = "kuk", ["Kera"] = "ker", ["Kerak"] = "hhr", ["Kereho"] = "xke", ["Kerek"] = "krk", ["Kerewe"] = "ked", ["Kerewo"] = "kxz", ["Kerinci"] = "kvr", ["Tiếng Kerman"] = "xme-ker", ["Kesawai"] = "xes", ["Ketangalan"] = "kae", ["Kete"] = "kcv", ["Ketengban"] = "xte", ["Ketum"] = "ktt", ["Kewa"] = "kew", ["Keyagana"] = "kyg", ["Kgalagadi"] = "xkv", ["Khana"] = "ogo", ["Khandeshi"] = "khn", ["Khao"] = "xao", ["Kharam Naga"] = "kfw", ["Kharia Thar"] = "ksy", ["Khayo"] = "lko", ["Khe"] = "kqg", ["Khehek"] = "tlx", ["Khetrani"] = "xhe", ["Khezha Naga"] = "nkh", ["Khirwar"] = "kwx", ["Khisa"] = "kqm", ["Khlor"] = "llo", ["Khlula"] = "ykl", ["Khoibu Naga"] = "nkb", ["Khoini"] = "xkc", ["Kholok"] = "ktc", ["Tiếng Kholosi"] = "inc-kho", ["Khotanese"] = "kho", ["Khroskyabs"] = "jiq", ["Khumi Chin"] = "cnk", ["Khwe"] = "xuu", ["Kibala"] = "blv", ["Kibena"] = "bez", ["Kibet"] = "kie", ["Kibiri"] = "prm", ["Kichwa"] = "qwe-kch", ["Kikami"] = "kcu", ["Kilit"] = "xme-klt", ["Kilivila"] = "kij", ["Kiliwa"] = "klb", ["Kilmeri"] = "kih", ["Kim"] = "kia", ["Kimaama"] = "kig", ["Kimaragang"] = "kqr", ["Kimbu"] = "kiv", ["Kimki"] = "sbt", ["Kimré"] = "kqp", ["Kinabalian"] = "cbw", ["Kinalakna"] = "kco", ["Tiếng Kinaray-a"] = "krj", ["Kinga"] = "zga", ["Kings River Yokuts"] = "nai-kry", ["Kinikinao"] = "gqn", ["Tiếng Kinnaur"] = "kfk", ["Kinuku"] = "kkd", ["Kioko"] = "ues", ["Kiong"] = "kkm", ["Kiorr"] = "xko", ["Kipfokomo"] = "pkb", ["Kipsigis"] = "sgc", ["Kiput"] = "kyi", ["Kir-Balar"] = "kkr", ["Kire"] = "geb", ["Kirfi"] = "kks", ["Kirikiri"] = "kiy", ["Kirya-Konzel"] = "fkk", ["Kis"] = "kis", ["Kisa"] = "lks", ["Kisankasa"] = "kqh", ["Kisar"] = "kje", ["Kisi"] = "kiz", ["Kita Maninkakan"] = "mwk", ["Kitanemuk"] = "azc-ktn", ["Kitembo"] = "tbt", ["Kitja"] = "gia", ["Kitsai"] = "kii", ["Kiunum"] = "wei", ["Kla"] = "lda", ["Klamath-Modoc"] = "kla", ["Klao"] = "klu", ["Klias River Kadazan"] = "kqt", ["Ko"] = "fuj", ["Tiếng Koalib"] = "kib", ["Koasati"] = "cku", ["Koba"] = "kpd", ["Kobiana"] = "kcj", ["Kobol"] = "kgu", ["Kochila Tharu"] = "thq", ["Kodaku"] = "ksz", ["Kodeoha"] = "vko", ["Kodi"] = "kod", ["Kodia"] = "kwp", ["Koenoem"] = "kcs", ["Kofa"] = "kso", ["Kofei"] = "kpi", ["Kofyar"] = "kwl", ["Kohin"] = "kkx", ["Kohumono"] = "bcs", ["Koi"] = "kkt", ["Koireng"] = "nkd", ["Koitabu"] = "kqi", ["Koiwat"] = "kxt", ["Kok-Nar"] = "gko", ["Kok-Paponk"] = "okg", ["Kokata"] = "ktd", ["Koke"] = "kou", ["Koko-Bera"] = "kkp", ["Kokoda"] = "xod", ["Kokola"] = "kzn", ["Kokota"] = "kkk", ["Kol (Cameroon)"] = "biw", ["Kol (New Guinea)"] = "kol", ["Kola"] = "kvv", ["Kolbila"] = "klc", ["Kolibugan Subanon"] = "skn", ["Kolom"] = "klm", ["Koluwawa"] = "klx", ["Kom (India)"] = "kmm", ["Koma"] = "kmy", ["Komba"] = "kpf", ["Kombai"] = "tyn", ["Kombio"] = "xbi", ["Komering"] = "kge", ["Tiếng Komi-Yazva"] = "urj-kya", ["Kominimung"] = "xoi", ["Komo"] = "xom", ["Tiếng Komodo"] = "kvh", ["Kompane"] = "kvp", ["Komyandaret"] = "kzv", ["Kon Keu"] = "kkn", ["Konabéré"] = "bbo", ["Konai"] = "kxw", ["Konda"] = "knd", ["Konda-Dora"] = "kfc", ["Kondekor"] = "gau", ["Koneraw"] = "kdw", ["Konkomba"] = "xon", ["Konni"] = "kma", ["Kono (Guinea)"] = "knu", ["Kono (Nigeria)"] = "klk", ["Kono (Sierra Leone)"] = "kno", ["Konomala"] = "koa", ["Konomihu"] = "nai-knm", ["Konongo"] = "kcz", ["Konyak Naga"] = "nbe", ["Konyanka Maninka"] = "mku", ["Konzo"] = "koo", ["Kopar"] = "xop", ["Kopkaka"] = "opk", ["Korafe-Yegha"] = "kpr", ["Korak"] = "koz", ["Korana"] = "kqz", ["Korandje"] = "kcy", ["Korean Sign Language"] = "kvk", ["Koreguaje"] = "coe", ["Koresh-e Rostam"] = "okh", ["Korlai Creole Portuguese"] = "vkp", ["Koro (India)"] = "jkr", ["Koro (New Guinea)"] = "kxr", ["Koro (Vanuatu)"] = "krf", ["Koro (West Africa)"] = "kfo", ["Koromfé"] = "kfz", ["Koromira"] = "kqj", ["Koronadal Blaan"] = "bpr", ["Koroni"] = "xkq", ["Korop"] = "krp", ["Koropó"] = "xxr", ["Koroshi"] = "ktl", ["Korowai"] = "khe", ["Korubo"] = "xor", ["Korupun-Sela"] = "kpq", ["Tiếng Korwa"] = "kfp", ["Kosadle"] = "kiq", ["Kosarek Yale"] = "kkl", ["Kosena"] = "kze", ["Koshin"] = "kid", ["Kota (Gabon)"] = "koq", ["Kota (India)"] = "kfe", ["Kota Bangun Kutai Malay"] = "mqg", ["Kota Marudu Talantang"] = "grm", ["Kota Marudu Tinagas"] = "ktr", ["Kotafon Gbe"] = "kqk", ["Koti"] = "eko", ["Tiếng Kott"] = "zko", ["Kou"] = "snz", ["Kouya"] = "kyf", ["Kovai"] = "kqb", ["Kove"] = "kvc", ["Kowaki"] = "xow", ["Kowiai"] = "kwh", ["Koy Sanjaq Surat"] = "kqd", ["Koya"] = "kff", ["Koyaga"] = "kga", ["Koyo"] = "koh", ["Koyra Chiini"] = "khq", ["Koyukon"] = "koy", ["Kpagua"] = "kuw", ["Kpala"] = "kpl", ["Kpan"] = "kpk", ["Kpasam"] = "pbn", ["Kpati"] = "koc", ["Kpatili"] = "kym", ["Kpee"] = "cpo", ["Kpelle"] = "kpe", ["Kpessi"] = "kef", ["Kplang"] = "kph", ["Krache"] = "kye", ["Krahô"] = "xra", ["Krenak"] = "kqq", ["Kresh"] = "krs", ["Krevinian"] = "zkv", ["Kreye"] = "xre", ["Krikati-Timbira"] = "xri", ["Krim"] = "krm", ["Tiếng Kriol Úc"] = "rop", ["Krisa"] = "ksi", ["Kristang"] = "mcm", ["Krobu"] = "kxb", ["Krongo"] = "kgo", ["Kua"] = "tyu", ["Kua-nsi"] = "ykn", ["Kuamasi"] = "yku", ["Kuan"] = "uan", ["Kuanhua"] = "xnh", ["Kube"] = "kgf", ["Kubi"] = "kof", ["Kubo"] = "jko", ["Kubu"] = "kvb", ["Kucong"] = "lkc", ["Tiếng Kudiya"] = "kfg", ["Kudu-Camo"] = "kov", ["Kugama"] = "kow", ["Kugbo"] = "kes", ["Kugu-Muminh"] = "xmh", ["Kui (India)"] = "kxu", ["Kui (Indonesia)"] = "kvd", ["Kuijau"] = "dkr", ["Kuikúro"] = "kui", ["Kujarge"] = "vkj", ["Kuk"] = "kfn", ["Kukatja"] = "kux", ["Kukele"] = "kez", ["Kukkuzi"] = "urj-kuk", ["Kuku-Mangk"] = "xmq", ["Kuku-Mu'inh"] = "xmp", ["Kuku-Thaypan"] = "typ", ["Kuku-Ugbanh"] = "ugb", ["Kuku-Uwanh"] = "uwa", ["Kuku-Yalanji"] = "gvn", ["Kula"] = "tpg", ["Kulaal"] = "glj", ["Kulere"] = "kul", ["Kulfa"] = "kxj", ["Kulina"] = "xpk", ["Kulisusu"] = "vkl", ["Kulon"] = "uon", ["Kulung"] = "kle", ["Kumak"] = "nee", ["Kumalu"] = "ksl", ["Kumam"] = "kdi", ["Kuman"] = "kue", ["Kumaoni"] = "kfy", ["Kumba"] = "ksm", ["Kumbainggar"] = "kgs", ["Kumbaran"] = "wkb", ["Tiếng Kumeyaay"] = "nai-kum", ["Kumhali"] = "kra", ["Kumu"] = "kmw", ["Kumukio"] = "kuo", ["Tiếng Kuna"] = "cuk", ["Kunama"] = "kun", ["Kunbarlang"] = "wlg", ["Kunda"] = "kdn", ["Kunduvadi"] = "wku", ["Kung"] = "kfl", ["Kungarakany"] = "ggk", ["Kungardutyi"] = "gdt", ["Kunggari"] = "kgl", ["Kungkari"] = "lku", ["Kuni"] = "kse", ["Kuni-Boazi"] = "kvg", ["Kunimaipa"] = "kup", ["Kunja"] = "pep", ["Kunjen"] = "kjn", ["Kunyi"] = "njx", ["Kunza"] = "kuz", ["Kuo"] = "xuo", ["Kuot"] = "kto", ["Kupa"] = "kug", ["Kupang Malay"] = "mkn", ["Kupia"] = "key", ["Kupsabiny"] = "kpz", ["Kur"] = "kuv", ["Kura Ede Nago"] = "nqk", ["Kurama"] = "krh", ["Kuranko"] = "knk", ["Kuri"] = "nbn", ["Kuria"] = "kuj", ["Kurichiya"] = "kfh", ["Kurmukar"] = "kfv", ["Kurnai"] = "unn", ["Kurrama"] = "vku", ["Kurti"] = "ktm", ["Kurtjar"] = "gdj", ["Kurudu"] = "kjr", ["Kurukh"] = "kru", ["Kuruáya"] = "kyr", ["Kusaal"] = "kus", ["Kusaghe"] = "ksg", ["Kushi"] = "kuh", ["Kustenau"] = "awd-kus", ["Kusu"] = "ksv", ["Kusunda"] = "kgg", ["Kutang Ghale"] = "ght", ["Tiếng Ktunaxa"] = "kut", ["Kutep"] = "kub", ["Kuthant"] = "xut", ["Kutto"] = "kpa", ["Kutu"] = "kdc", ["Kuturmi"] = "khj", ["Kuuk Thaayorre"] = "thd", ["Kuuk Yak"] = "uky", ["Kuuku-Ya'u"] = "kuy", ["Kuvale"] = "olu", ["Kuwaa"] = "blh", ["Kuwaataay"] = "cwt", ["Kuwani"] = "paa-kwn", ["Tiếng Kven"] = "fkv", ["Kwa'"] = "bko", ["Kwaami"] = "ksq", ["Kwadi"] = "kwz", ["Kwaio"] = "kwd", ["Kwaja"] = "kdz", ["Kwak"] = "kwq", ["Kwakum"] = "kwu", ["Kwalhioqua-Tlatskanai"] = "qwt", ["Kwama"] = "kmq", ["Kwambi"] = "kwm", ["Kwamera"] = "tnk", ["Kwami"] = "ktf", ["Kwamtim One"] = "okk", ["Kwang"] = "kvi", ["Kwanga"] = "kwj", ["Kwangali"] = "kwn", ["Kwanja"] = "knp", ["Kwanka"] = "bij", ["Kwara'ae"] = "kwf", ["Kwasio"] = "nmg", ["Kwaya"] = "kya", ["Kwaza"] = "xwa", ["Kwegu"] = "xwg", ["Kwer"] = "kwr", ["Kwerba"] = "kwe", ["Kwerba Mamberamo"] = "xwr", ["Kwere"] = "cwe", ["Kwerisa"] = "kkb", ["Kwese"] = "kws", ["Kwesten"] = "kwt", ["Kwini"] = "gww", ["Kwinsu"] = "kuc", ["Tiếng Kwinti"] = "kww", ["Kwoma"] = "kmo", ["Kwomtari"] = "kwo", ["Kyak"] = "bka", ["Kyaka"] = "kyc", ["Kyan-Karyaw Naga"] = "nqq", ["Kyenele"] = "kql", ["Kyenga"] = "tye", ["Kyerung"] = "kgy", ["Kélé"] = "keb", ["Kómnzo"] = "paa-kom", ["La'bi"] = "lbi", ["Laal"] = "gdm", ["Tiếng Laalaa"] = "cae", ["Laba"] = "lau", ["Label"] = "lbb", ["Labir"] = "jku", ["Labo"] = "mwi", ["Labo Phowa"] = "ypb", ["Labu"] = "lbu", ["Labuk-Kinabatangan Kadazan"] = "dtb", ["Lacandon"] = "lac", ["Lachi"] = "lbt", ["Lachiguiri Zapotec"] = "zpa", ["Lachixío Zapotec"] = "zpl", ["Ladji-Ladji"] = "llj", ["Laeko-Libuat"] = "lkl", ["Lafofa"] = "laf", ["Laghu"] = "lgb", ["Laghuu"] = "lgh", ["Lagwan"] = "kot", ["Laha (Indonesia)"] = "lhh", ["Laha (Vietnam)"] = "lha", ["Lahanan"] = "lhn", ["Lahta Karen"] = "kvt", ["Lahu Shi"] = "lhi", ["Lahul Lohar"] = "lhl", ["Lai"] = "cnh", ["Laimbue"] = "lmx", ["Laitu Chin"] = "clj", ["Laiyolo"] = "lji", ["Laka"] = "lak", ["Tiếng Lakalei"] = "lka", ["Lake Miwok"] = "lmw", ["Lakha"] = "lkh", ["Laki"] = "lki", ["Lakkia"] = "lbc", ["Lakon"] = "lkn", ["Lakondê"] = "lkd", ["Lakota Dida"] = "dic", ["Lala (New Guinea)"] = "nrz", ["Lala (South Africa)"] = "bnt-lal", ["Lala-Bisa"] = "leb", ["Lala-Roba"] = "lla", ["Lalana Chinantec"] = "cnl", ["Tiếng Bạch Lạp Mã"] = "lay", ["Lamaholot"] = "slp", ["Lamalera"] = "lmr", ["Lamang"] = "hia", ["Lamatuka"] = "lmq", ["Lamba"] = "lam", ["Lambichhong"] = "lmh", ["Lambya"] = "lai", ["Lame"] = "bma", ["Lamenu"] = "lmu", ["Lamet"] = "lbn", ["Lamja-Dengsa-Tola"] = "ldh", ["Lamkang"] = "lmk", ["Lamma"] = "lev", ["Lamnso'"] = "lns", ["Lamogai"] = "lmg", ["Lampung Api"] = "ljp", ["Lamu"] = "llh", ["Lamu-Lamu"] = "lby", ["Lanas Lobu"] = "ruu", ["Landoma"] = "ldm", ["Lang'e"] = "yne", ["Langam"] = "lnm", ["Langbashe"] = "lna", ["Langi"] = "lag", ["Langnian Buyang"] = "yln", ["Lango (Sudan)"] = "lno", ["Lango (Uganda)"] = "laj", ["Lanima"] = "lnw", ["Lao Naga"] = "nlq", ["Laopang"] = "lbg", ["Laos Sign Language"] = "lso", ["Lapaguía-Guivini Zapotec"] = "ztl", ["Lapine"] = "art-lap", ["Lapuyan Subanun"] = "laa", ["Laragia"] = "lrg", ["Larantuka Malay"] = "lrt", ["Lardil"] = "lbz", ["Larevat"] = "lrv", ["Larike-Wakasihu"] = "alo", ["Laro"] = "lro", ["Larteh"] = "lar", ["Laru"] = "lan", ["Lasgerdi"] = "lsa", ["Lasi"] = "lss", ["Latu"] = "ltu", ["Latvian Sign Language"] = "lsl", ["Lau"] = "llu", ["Laua"] = "luf", ["Lauan"] = "llx", ["Lauje"] = "law", ["Laura"] = "lur", ["Laurentian"] = "lre", ["Tiếng Lutuv"] = "clt", ["Lavatbura-Lamusong"] = "lbv", ["Lawangan"] = "lbx", ["Tiếng Lawi"] = "lvi", ["Lawu"] = "lwu", ["Lawunuia"] = "tgi", ["Layakha"] = "lya", ["Laze"] = "tbq-laz", ["Lealao Chinantec"] = "cle", ["Leco"] = "lec", ["Ledo Kaili"] = "lew", ["Leelau"] = "ldk", ["Lefa"] = "lfa", ["Lega-Mwenga"] = "lgm", ["Lega-Shabunda"] = "lea", ["Legbo"] = "agb", ["Legenyem"] = "lcc", ["Lehali"] = "tql", ["Lehalurup"] = "urr", ["Leinong Naga"] = "lzn", ["Leipon"] = "lek", ["Lela"] = "dri", ["Lelak"] = "llk", ["Lele (Chad)"] = "lln", ["Lele (Congo)"] = "lel", ["Lele (Guinea)"] = "llc", ["Lele (New Guinea)"] = "lle", ["Lelemi"] = "lef", ["Lelepa"] = "lpa", ["Lembena"] = "leq", ["Lemerig"] = "lrz", ["Lemio"] = "lei", ["Lemolang"] = "ley", ["Lemoro"] = "ldj", ["Lenakel"] = "tnl", ["Lendu"] = "led", ["Lengilu"] = "lgi", ["Lengo"] = "lgr", ["Lengola"] = "lej", ["Lenje"] = "leh", ["Lenkau"] = "ler", ["Lenyima"] = "ldg", ["Tiếng León"] = "roa-leo", ["Lepki"] = "lpe", ["Lere"] = "gnh", ["Lese"] = "les", ["Lesing-Gelimi"] = "let", ["Letemboi"] = "nms", ["Leti (Cameroon)"] = "leo", ["Leti (Indonesia)"] = "lti", ["Levuka"] = "lvu", ["Lewo"] = "lww", ["Lewo Eleng"] = "lwe", ["Lewotobi"] = "lwt", ["Leyigha"] = "ayi", ["Lhokpu"] = "lhp", ["Li'o"] = "ljl", ["Liana-Seti"] = "ste", ["Liangmai Naga"] = "njn", ["Liberia Kpelle"] = "xpe", ["Liberian Kreyol"] = "lir", ["Libinza"] = "liz", ["Libon Bikol"] = "lbl", ["Liburnian"] = "xli", ["Libyan Sign Language"] = "lbs", ["Ligbi"] = "lig", ["Ligenza"] = "lgz", ["Lihir"] = "lih", ["Lika"] = "lik", ["Liki"] = "lio", ["Likila"] = "lie", ["Likuba"] = "kxx", ["Likum"] = "lib", ["Likwala"] = "kwc", ["Lilau"] = "lll", ["Limassa"] = "bme", ["Limbu"] = "lif", ["Limbum"] = "lmp", ["Limi"] = "ylm", ["Limilngan"] = "lmc", ["Tiếng Lindu"] = "klw", ["Linear A"] = "lab", ["Tiếng Lâm Cao"] = "onb", ["Lingkhim"] = "lii", ["Lingua Franca Nova"] = "lfn", ["Linngithigh"] = "lnj", ["Tiếng Lipan"] = "apl", ["Lipo"] = "lpo", ["Lisabata-Nuniali"] = "lcs", ["Lisela"] = "lcl", ["Lish"] = "lsh", ["Lishán Didán"] = "trg", ["Literary Chinese"] = "lzh", ["Lithuanian Sign Language"] = "lls", ["Little Swanport"] = "aus-lsw", ["Litzlitz"] = "lzl", ["Lizu"] = "sit-liz", ["Lo-Toga"] = "lht", ["Loarki"] = "lrk", ["Lobala"] = "loq", ["Lobi"] = "lob", ["Lodhi"] = "lbm", ["Logba"] = "lgq", ["Logo"] = "log", ["Logol"] = "lof", ["Logooli"] = "rag", ["Logorik"] = "liu", ["Lokaa"] = "yaz", ["Loko"] = "lok", ["Lokoya"] = "lky", ["Lola"] = "lcd", ["Lolak"] = "llq", ["Lole"] = "llg", ["Lolo"] = "llb", ["Loloda"] = "loa", ["Lolopo"] = "ycl", ["Loma"] = "lom", ["Lomaiviti"] = "lmv", ["Lomakka"] = "loi", ["Lomavren"] = "rmi", ["Lombi"] = "lmi", ["Lombo"] = "loo", ["Lomwe"] = "ngl", ["Loncong"] = "lce", ["Long Phuri Naga"] = "lpn", ["Long Wat"] = "ttw", ["Longgu"] = "lgu", ["Longto"] = "wok", ["Longuda"] = "lnu", ["Loniu"] = "los", ["Lonwolwol"] = "crc", ["Loo"] = "ldo", ["Lopa"] = "lop", ["Lope"] = "yiu", ["Lopi"] = "lov", ["Lopit"] = "lpx", ["Lorang"] = "lrn", ["Lorediakarkar"] = "lnn", ["Tiếng Lorrain"] = "roa-lor", ["Lote"] = "uvl", ["Lotha Naga"] = "njh", ["Lotud"] = "dtr", ["Lotuko"] = "lot", ["Loun"] = "lox", ["Loup A"] = "xlo", ["Loup B"] = "xlb", ["Lovono"] = "vnk", ["Lower Burdekin"] = "xbb", ["Lower Chehalis"] = "cea", ["Lower Grand Valley Dani"] = "dni", ["Lower Nossob"] = "nsb", ["Lower Southern Aranda"] = "axl", ["Lower Ta'oih"] = "tto", ["Tiếng Hạ Tanana"] = "taa", ["Lowland Oaxaca Chontal"] = "clo", ["Lowland Tarahumara"] = "tac", ["Loxicha Zapotec"] = "ztp", ["Lozi"] = "loz", ["Luang"] = "lex", ["Luba-Kasai"] = "lua", ["Lubila"] = "kcc", ["Lubu"] = "lcf", ["Lubuagan Kalinga"] = "knb", ["Luchazi"] = "lch", ["Tiếng Lucumí"] = "luq", ["Lufu"] = "ldq", ["Lugbara"] = "lgg", ["Luguru"] = "ruf", ["Luhu"] = "lcq", ["Tiếng Luhya"] = "luy", ["Luimbi"] = "lum", ["Luiseño"] = "lui", ["Lukpa"] = "dop", ["Lule"] = "ule", ["Lule Sami"] = "smj", ["Lumba-Yakkha"] = "luu", ["Lumbee"] = "lmz", ["Lumbu"] = "lup", ["Lumun"] = "lmd", ["Lun Bawang"] = "lnd", ["Luna"] = "luj", ["Lunanakha"] = "luk", ["Lunda"] = "lun", ["Lungga"] = "lga", ["Luo"] = "luo", ["Luopohe Hmong"] = "hml", ["Luri (Nigeria)"] = "ldd", ["Lusengo"] = "lse", ["Lusi"] = "khl", ["Lusitanian"] = "xls", ["Lutachoni"] = "lts", ["Lutos"] = "ndy", ["Luvale"] = "lue", ["Luwati"] = "luv", ["Luwo"] = "lwo", ["Luyana"] = "lyn", ["Lwalu"] = "lwa", ["Lwel"] = "bnt-lwl", ["Tiếng Lycia"] = "xlc", ["Lyélé"] = "lee", ["Láadan"] = "ldn", ["Láá Láá Bwamu"] = "bwj", ["Ma"] = "msj", ["Ma Manda"] = "skc", ["Ma'di"] = "mhi", ["Ma'ya"] = "slz", ["Tiếng Maay"] = "ymm", ["Maba"] = "mqa", ["Mabaale"] = "mmz", ["Tiếng Mabaan"] = "mfz", ["Mabaka Valley Kalinga"] = "kkg", ["Mabire"] = "muj", ["Maca"] = "mca", ["Macaguaje"] = "mcl", ["Macaguán"] = "mbn", ["Macanese"] = "mzs", ["Macau Pidgin Portuguese"] = "crp-mpp", ["Machame"] = "jmc", ["Machiguenga"] = "mcb", ["Machinere"] = "mpd", ["Machinga"] = "mvw", ["Macoris"] = "nai-mac", ["Macuna"] = "myy", ["Mada (Cameroon)"] = "mxu", ["Mada (Nigeria)"] = "mda", ["Madagascar Sign Language"] = "mzc", ["Madak"] = "mmx", ["Maden"] = "xmx", ["Madhi Madhi"] = "dmd", ["Madi"] = "grg", ["Madngele"] = "zml", ["Madukayang Kalinga"] = "kmd", ["Mae"] = "mme", ["Maek"] = "hmk", ["Maeng Itneg"] = "itt", ["Mafa"] = "maf", ["Mafea"] = "mkv", ["Mag-Anchi Ayta"] = "sgb", ["Mag-Indi Ayta"] = "blx", ["Magahat"] = "mtw", ["Tiếng Magaha"] = "mag", ["Magdalena Peñasco Mixtec"] = "xtm", ["Magiyi"] = "gmg", ["Magoma"] = "gmx", ["Magɨ"] = "gkd", ["Mahasu Pahari"] = "bfz", ["Mahican"] = "mjy", ["Mahongwe"] = "mhb", ["Mahou"] = "mxx", ["Maia"] = "sks", ["Maiadomu"] = "mzz", ["Maiani"] = "tnh", ["Maii"] = "mmm", ["Mailu"] = "mgu", ["Maindo"] = "cwb", ["Mairasi"] = "zrs", ["Maisin"] = "mbq", ["Maiwa (Indonesia)"] = "wmm", ["Maiwa (New Guinea)"] = "mti", ["Maiwala"] = "mum", ["Majang"] = "mpe", ["Majera"] = "xmj", ["Tiếng Majhi"] = "mjz", ["Majhwar"] = "mmj", ["Mak (China)"] = "mkg", ["Mak (Nigeria)"] = "pbl", ["Makaa"] = "mcp", ["Makah"] = "myh", ["Makalero"] = "mjb", ["Makasae"] = "mkz", ["Tiếng Makassar"] = "mak", ["Makassar Malay"] = "mfp", ["Makayam"] = "aup", ["Makhuwa"] = "vmw", ["Makhuwa-Marrevone"] = "xmc", ["Makhuwa-Meetto"] = "mgh", ["Makhuwa-Moniga"] = "mhm", ["Makhuwa-Saka"] = "xsq", ["Makhuwa-Shirima"] = "vmk", ["Maklew"] = "mgf", ["Makolkol"] = "zmh", ["Makonde"] = "kde", ["Maku"] = "xak", ["Maku'a"] = "lva", ["Makuri Naga"] = "jmn", ["Makuráp"] = "mpu", ["Makwe"] = "ymk", ["Makyan Naga"] = "umn", ["Mal"] = "mlf", ["Mal Paharia"] = "mkb", ["Mala (New Guinea)"] = "ped", ["Mala (Nigeria)"] = "ruy", ["Mala Malasar"] = "ima", ["Malaccan Creole Malay"] = "ccm", ["Malalamai"] = "mmt", ["Malalí"] = "sai-mal", ["Malango"] = "mln", ["Malankuravan"] = "mjo", ["Malapandaram"] = "mjp", ["Malaryan"] = "mjq", ["Malas"] = "mkr", ["Malasanga"] = "mqz", ["Malasar"] = "ymr", ["Malavedan"] = "mjr", ["Malawi Lomwe"] = "lon", ["Malawian Sign Language"] = "lws", ["Malayic Dayak"] = "xdy", ["Malaynon"] = "mlz", ["Malaysian Sign Language"] = "xml", ["Malba Birifor"] = "bfo", ["Male"] = "mdc", ["Tiếng Malecite-Passamaquoddy"] = "pqm", ["Maleu-Kilenge"] = "mgl", ["Malfaxal"] = "mlx", ["Malgana"] = "vml", ["Malgbe"] = "mxf", ["Mali"] = "gcc", ["Malibu"] = "sai-mlb", ["Malila"] = "mgq", ["Malimba"] = "mzd", ["Malimpung"] = "mli", ["Malinaltepec Tlapanec"] = "tcf", ["Malol"] = "mbk", ["Maltese Sign Language"] = "mdl", ["Malua Bay"] = "mll", ["Malvi"] = "mup", ["Maléku Jaíka"] = "gut", ["Mam"] = "mam", ["Mama"] = "mma", ["Mamaa"] = "mhf", ["Mamaindé"] = "wmd", ["Mamanwa"] = "mmn", ["Mamara Senoufo"] = "myk", ["Mamasa"] = "mqj", ["Mambae"] = "mgm", ["Mambai"] = "mcs", ["Mamboru"] = "mvd", ["Mambwe-Lungu"] = "mgr", ["Mamuju"] = "mqx", ["Mamulique"] = "emm", ["Mamusi"] = "kdf", ["Mamvu"] = "mdi", ["Man Met"] = "mml", ["Manado Malay"] = "xmm", ["Manam"] = "mva", ["Manambu"] = "mle", ["Manangba"] = "nmm", ["Manangkari"] = "znk", ["Manao"] = "awd-man", ["Manda (Australia)"] = "zma", ["Manda (Tanzania)"] = "mgs", ["Tiếng Mandahuaca"] = "mht", ["Mandaic"] = "mid", ["Mandailing Batak"] = "btm", ["Mandalorian"] = "art-man", ["Mandan"] = "mhq", ["Mandandanyi"] = "zmk", ["Mandar"] = "mdr", ["Mandari"] = "mqu", ["Mandeali"] = "mjl", ["Mander"] = "mqr", ["Mandingo"] = "man", ["Mandjak"] = "mfv", ["Mandobo Atas"] = "aax", ["Mandobo Bawah"] = "bwp", ["Manem"] = "jet", ["Mangala"] = "mem", ["Mangarayi"] = "mpc", ["Mangarevan"] = "mrv", ["Mangayat"] = "myj", ["Mangbetu"] = "mdj", ["Mangbutu"] = "mdk", ["Mangerr"] = "zme", ["Mangga Buang"] = "mmo", ["Mango"] = "mge", ["Mangole"] = "mqc", ["Mangseng"] = "mbh", ["Manigri-Kambolé Ede Nago"] = "xkb", ["Manikion"] = "mnx", ["Manipa"] = "mqp", ["Mankiyali"] = "nlm", ["Manna-Dora"] = "mju", ["Tiếng Mannan"] = "mjv", ["Manombai"] = "woo", ["Tiếng Mansaka"] = "msk", ["Mansoanka"] = "msw", ["Manta"] = "myg", ["Mantsi"] = "nty", ["Manusela"] = "wha", ["Manya"] = "mzj", ["Manyawa"] = "mny", ["Manza"] = "mzv", ["Mao Naga"] = "nbi", ["Mape"] = "mlh", ["Mapena"] = "mnm", ["Mapia"] = "mpy", ["Mapidian"] = "mpw", ["Mapos Buang"] = "bzh", ["Mapoyo"] = "mcg", ["Mapun"] = "sjm", ["Mara"] = "mec", ["Mara Chin"] = "mrh", ["Marachi"] = "lri", ["Maraghei"] = "vmh", ["Maragus"] = "mrs", ["Maram Naga"] = "nma", ["Marama"] = "lrm", ["Tiếng Maranao"] = "mrw", ["Maranungku"] = "zmr", ["Mararit"] = "mgb", ["Maratino"] = "sai-mar", ["Marau"] = "mvr", ["Marawan"] = "awd-mar", ["Marba"] = "mpg", ["Marenje"] = "vmr", ["Marfa"] = "mvu", ["Margany"] = "zmc", ["Marghi South"] = "mfm", ["Margi"] = "mrt", ["Maria"] = "mds", ["Mariaté"] = "awd-mrt", ["Tiếng Maricopa"] = "mrc", ["Maridan"] = "zmd", ["Maridjabin"] = "zmj", ["Marik"] = "dad", ["Marimanindji"] = "zmm", ["Marind"] = "mrz", ["Maring"] = "mbw", ["Maring Naga"] = "nng", ["Maringarr"] = "zmt", ["Marino"] = "mrb", ["Mariri"] = "mqi", ["Maritime Sign Language"] = "nsr", ["Maritsauá"] = "msp", ["Mariyedi"] = "zmy", ["Marka"] = "rkm", ["Markweeta"] = "enb", ["Maroon Spirit Language"] = "cpe-mar", ["Marovo"] = "mvo", ["Marrgu"] = "mhg", ["Marriammu"] = "xru", ["Marrithiyel"] = "mfr", ["Marrucinian"] = "umc", ["Marsian"] = "ims", ["Martha's Vineyard Sign Language"] = "mre", ["Marti Ke"] = "zmg", ["Martu Wangka"] = "mpj", ["Tiếng Martuthunira"] = "vma", ["Marúbo"] = "mzr", ["Masaba"] = "myx", ["Masadiit Itneg"] = "tis", ["Masakará"] = "sai-msk", ["Masalit"] = "mls", ["Masana"] = "mcn", ["Masbate Sorsogon"] = "bks", ["Tiếng Masbatenyo"] = "msb", ["Mashco Piro"] = "cuj", ["Mashi"] = "mho", ["Masimasi"] = "ism", ["Masiwang"] = "bnf", ["Maskelynes"] = "klv", ["Maslam"] = "msv", ["Masmaje"] = "mes", ["Massachusett"] = "wam", ["Massalat"] = "mdg", ["Massep"] = "mvs", ["Matagalpa"] = "mtn", ["Tiếng Matal"] = "mfh", ["Matanawi"] = "sai-mat", ["Matbat"] = "xmt", ["Matengo"] = "mgv", ["Matepi"] = "mqe", ["Matigsalug Manobo"] = "mbt", ["Matipuhy"] = "mzo", ["Matlatzinca"] = "mat", ["Mato"] = "met", ["Mato Grosso Arára"] = "axg", ["Matsés"] = "mcf", ["Mattole"] = "mvb", ["Matukar"] = "mjk", ["Matumbi"] = "mgw", ["Matya Samo"] = "stj", ["Matís"] = "mpq", ["Maung"] = "mph", ["Tiếng Creole Mauritius"] = "mfe", ["Mauritian Sign Language"] = "lsy", ["Mauwake"] = "mhl", ["Mawa"] = "mcw", ["Mawak"] = "mjj", ["Mawan"] = "mcz", ["Mawayana"] = "mzx", ["Mawchi"] = "mke", ["Mawes"] = "mgk", ["Maxakalí"] = "mbl", ["Maxi Gbe"] = "mxl", ["Maya Samo"] = "sym", ["Mayaguduna"] = "xmy", ["Mayangna"] = "yan", ["Mayawali"] = "yxa", ["Maybrat"] = "ayz", ["Mayeka"] = "myc", ["Mayi-Thakurti"] = "xyt", ["Maykulan"] = "mnt", ["Maynas"] = "sai-mys", ["Mayo"] = "mfy", ["Mayogo"] = "mdm", ["Mayoyao Ifugao"] = "ifu", ["Maypure"] = "awd-mpr", ["Mazagway"] = "dkx", ["Mazaltepec Zapotec"] = "zpy", ["Mazatlán Mazatec"] = "vmz", ["Mazatlán Mixe"] = "mzl", ["Mba"] = "mfc", ["Mbala"] = "mdp", ["Mbalanhu"] = "lnb", ["Mbandja"] = "zmz", ["Mbangala"] = "mxg", ["Mbangi"] = "mgn", ["Mbangwe"] = "zmn", ["Mbara (Australia)"] = "mvl", ["Mbara (Chad)"] = "mpk", ["Mbariman-Gudhinma"] = "zmv", ["Mbati"] = "mdn", ["Mbato"] = "gwa", ["Mbay"] = "myb", ["Mbe"] = "mfo", ["Mbe'"] = "mtk", ["Mbelime"] = "mql", ["Mbere"] = "mdt", ["Mbesa"] = "zms", ["Mbiywom"] = "aus-mbi", ["Mbo (Cameroon)"] = "mbo", ["Mbo (Congo)"] = "zmw", ["Mboi"] = "moi", ["Mboko"] = "mdu", ["Mbole"] = "mdq", ["Mbonga"] = "xmb", ["Mbongno"] = "bgu", ["Mbosi"] = "mdw", ["Mbowe"] = "mxo", ["Mbre"] = "mka", ["Mbu'"] = "muc", ["Mbudum"] = "xmd", ["Mbugu"] = "mhd", ["Mbugwe"] = "mgz", ["Mbuko"] = "mqb", ["Mbukushu"] = "mhw", ["Mbula"] = "mna", ["Mbula-Bwazza"] = "mbu", ["Mbule"] = "mlb", ["Mbulungish"] = "mbv", ["Mbum"] = "mdd", ["Mbunda"] = "mck", ["Mbunga"] = "mgy", ["Mburku"] = "bbt", ["Mbuun"] = "zmp", ["Mbwela"] = "mfu", ["Mea"] = "meg", ["Mebu"] = "mjn", ["Mecayapan Nahuatl"] = "nhx", ["Medebur"] = "mjm", ["Medefaidrin"] = "dmf", ["Media Lengua"] = "mue", ["Mednyj Aleut"] = "mud", ["Mefele"] = "mfj", ["Megam"] = "mef", ["Mehek"] = "nux", ["Mehináku"] = "mmh", ["Mekeo"] = "mek", ["Mekmek"] = "mvk", ["Mekwei"] = "msf", ["Mekéns"] = "skf", ["Mel-Khaonh"] = "hkn", ["Mele-Fila"] = "mxe", ["Tiếng Melo"] = "mfx", ["Melpa"] = "med", ["Mendalam Kayan"] = "xkd", ["Mendankwe-Nkwen"] = "mfd", ["Mengaka"] = "xmg", ["Mengen"] = "mee", ["Menien"] = "sai-men", ["Menka"] = "mea", ["Tiếng Menominee"] = "mez", ["Tiếng Mentawai"] = "mwv", ["Menya"] = "mcr", ["Meoswar"] = "mvx", ["Mer"] = "mnu", ["Meramera"] = "mxm", ["Merei"] = "lmb", ["Merey"] = "meq", ["Merlav"] = "mrm", ["Meroitic"] = "xmr", ["Meru"] = "mer", ["Tiếng Mesaka"] = "iyo", ["Mese"] = "mci", ["Mesme"] = "zim", ["Mesmes"] = "mys", ["Mesqan"] = "mvz", ["Messapic"] = "cms", ["Meta'"] = "mgo", ["Metlatónoc Mixtec"] = "mxv", ["Mewari"] = "mtr", ["Mewati"] = "wtm", ["Mexican Sign Language"] = "mfs", ["Meyah"] = "mej", ["Mezontla Popoloca"] = "pbe", ["Tiếng Meänkieli"] = "fit", ["Mfinu"] = "zmf", ["Mfumte"] = "nfu", ["Mgbo"] = "gmz", ["Mian"] = "mpt", ["Miani"] = "pla", ["Micha"] = "yiq", ["Michif"] = "crg", ["Michigamea"] = "cmm", ["Michoacán Nahuatl"] = "ncl", ["Mid Grand Valley Dani"] = "dnt", ["Mid-Southern Banda"] = "bjo", ["Middle Assamese"] = "inc-mas", ["Middle Bengali"] = "inc-mbn", ["Middle Cornish"] = "cnx", ["Middle Gujarati"] = "inc-mgu", ["Middle Kannada"] = "dra-mkn", ["Middle Median"] = "xme-mid", ["Middle Newar"] = "nwx", ["Middle Norwegian"] = "gmq-mno", ["Middle Oriya"] = "inc-mor", ["Middle Watut"] = "mpl", ["Tiếng Wales trung đại"] = "wlm", ["Midob"] = "mei", ["Migaama"] = "mmy", ["Migabac"] = "mpp", ["Miji"] = "sjl", ["Miju"] = "mxj", ["Mikasuki"] = "mik", ["Milang"] = "und-mil", ["Mili"] = "ymh", ["Millcayac"] = "sai-mil", ["Miltu"] = "mlj", ["Miluk"] = "iml", ["Milyan"] = "imy", ["Mimi of Decorse"] = "und-mmd", ["Mimi of Nachtigal"] = "und-mmn", ["Mina"] = "hna", ["Minaean"] = "inm", ["Minang"] = "xrg", ["Tiếng Minangkabau"] = "min", ["Minanibai"] = "mcv", ["Minaveha"] = "mvn", ["Minderico"] = "drc", ["Mindiri"] = "mpn", ["Mingang Doso"] = "mko", ["Mingo"] = "iro-min", ["Minica Huitoto"] = "hto", ["Minidien"] = "wii", ["Minigir"] = "vmg", ["Minjungbal"] = "xjb", ["Minkin"] = "xxm", ["Minoan"] = "omn", ["Minokok"] = "mqq", ["Miraya Bikol"] = "rbl", ["Mire"] = "mvh", ["Mirgan"] = "zrg", ["Miriti"] = "mmv", ["Miriwoong Sign Language"] = "rsm", ["Miriwung"] = "mep", ["Mirpur Panjabi"] = "pmu", ["Misantla Totonac"] = "tlc", ["Miship"] = "mjs", ["Misima-Paneati"] = "mpx", ["Mising"] = "mrg", ["Tiếng Miskito"] = "miq", ["Mitla Zapotec"] = "zaw", ["Mitlatongo Mixtec"] = "vmm", ["Mittu"] = "mwu", ["Mituku"] = "zmq", ["Miu"] = "mpo", ["Miwa"] = "vmi", ["Mixed Great Andamanese"] = "gac", ["Mixifore"] = "mfg", ["Mixtepec Mixtec"] = "mix", ["Mixtepec Zapotec"] = "zpm", ["Miya"] = "mkf", ["Miyobe"] = "soy", ["Mlahsö"] = "lhs", ["Mlap"] = "kja", ["Mlomp"] = "mlo", ["Mmaala"] = "mmu", ["Mmani"] = "buy", ["Mmen"] = "bfm", ["Mo"] = "wkd", ["Mo'da"] = "gbn", ["Moabite"] = "obm", ["Moba"] = "mfq", ["Mobilian"] = "mod", ["Mobumrin Aizi"] = "ahm", ["Mocana"] = "sai-mcn", ["Mochi"] = "old", ["Mochica"] = "omc", ["Mocho"] = "mhc", ["Mocoví"] = "moc", ["Modang"] = "mxd", ["Modole"] = "mqo", ["Moere"] = "mvq", ["Mofu-Gudur"] = "mif", ["Mogum"] = "mou", ["Mohegan-Pequot"] = "xpq", ["Moi (Congo)"] = "mow", ["Moi (Indonesia)"] = "mxn", ["Moikodi"] = "mkp", ["Moingi"] = "mwz", ["Mojave"] = "mov", ["Moji"] = "ymi", ["Mok"] = "mqt", ["Mokerang"] = "mft", ["Mokole"] = "mkl", ["Mokpwe"] = "bri", ["Molale"] = "mbe", ["Tiếng Molbog"] = "pwm", ["Moldova Sign Language"] = "vsi", ["Molengue"] = "bxc", ["Molima"] = "mox", ["Molmo One"] = "aun", ["Molo"] = "zmo", ["Molof"] = "msl", ["Moloko"] = "mlw", ["Mom Jango"] = "ver", ["Moma"] = "myl", ["Momare"] = "msz", ["Mombo Dogon"] = "dmb", ["Mombum"] = "mso", ["Momina"] = "mmb", ["Momuna"] = "mqf", ["Monastic Sign Language"] = "mzg", ["Mondropolon"] = "npn", ["Mondé"] = "mnd", ["Tiếng Mongo"] = "lol", ["Mongol"] = "mgt", ["Mongolian Sign Language"] = "msr", ["Tiếng Mongondow"] = "mog", ["Moni"] = "mnz", ["Monimbo"] = "mom", ["Mono (California)"] = "mnr", ["Mono (Cameroon)"] = "mru", ["Mono (Congo)"] = "mnh", ["Monsang Naga"] = "nmh", ["Montagnais"] = "moe", ["Montana Salish"] = "fla", ["Montol"] = "mtl", ["Monumbo"] = "mxk", ["Monzombo"] = "moj", ["Moo"] = "gwg", ["Moose Cree"] = "crm", ["Mopan Maya"] = "mop", ["Mor (Austronesian)"] = "mhz", ["Mor (Papuan)"] = "moq", ["Moraid"] = "msg", ["Moran"] = "sit-mor", ["Morawa"] = "mze", ["Morelos Nahuatl"] = "nhm", ["Morerebi"] = "xmo", ["Moresada"] = "msx", ["Mori Atas"] = "mzq", ["Mori Bawah"] = "xmz", ["Morigi"] = "mdb", ["Moro"] = "mor", ["Moroccan Amazigh"] = "zgh", ["Moroccan Sign Language"] = "xms", ["Morom"] = "bdo", ["Moronene"] = "mqn", ["Morori"] = "mok", ["Morouas"] = "mrp", ["Mortlockese"] = "mrl", ["Moru"] = "mgd", ["Mosimo"] = "mqv", ["Moskona"] = "mtj", ["Mota"] = "mtt", ["Motembo"] = "tmv", ["Mouk-Aria"] = "mwh", ["Mount Iraya Agta"] = "atl", ["Mount Iriga Agta"] = "agz", ["Mountain Koiari"] = "kpx", ["Mouwase"] = "jmw", ["Movima"] = "mzp", ["Moyadan Itneg"] = "ity", ["Moyon Naga"] = "nmo", ["Mozambican Sign Language"] = "mzy", ["Mpade"] = "mpi", ["Mpalitjanh"] = "xpj", ["Mpi"] = "mpz", ["Mpiemo"] = "mcx", ["Mpiin"] = "bnt-mpi", ["Mpinda"] = "pnd", ["Mpongmpong"] = "mgg", ["Mpoto"] = "mpa", ["Mpotovoro"] = "mvt", ["Mpuono"] = "bnt-mpu", ["Mpur"] = "akc", ["Mro Chin"] = "cmr", ["Mru"] = "mro", ["Mser"] = "kqx", ["Mualang"] = "mtd", ["Mubami"] = "tsx", ["Mubi"] = "mub", ["Mucuchí"] = "sai-muc", ["Muda"] = "ymd", ["Tiếng Mudburra"] = "dmw", ["Muduapa"] = "wiv", ["Muduga"] = "udg", ["Muellama"] = "sai-mue", ["Mufian"] = "aoj", ["Muher"] = "sem-mhr", ["Muinane"] = "bmr", ["Mukha-Dora"] = "mmk", ["Mukulu"] = "moz", ["Mulaha"] = "mfw", ["Mulam"] = "mlm", ["Mulao"] = "giu", ["Mullu Kurumba"] = "kpb", ["Mullukmulluk"] = "mpb", ["Muluridyi"] = "vmu", ["Mum"] = "kqa", ["Mumuye"] = "mzm", ["Tiếng Muna"] = "mnb", ["Munda"] = "unx", ["Tiếng Mundabli"] = "boe", ["Mundang"] = "mua", ["Mundani"] = "mnf", ["Mundat"] = "mmf", ["Mundolinco"] = "art-mun", ["Mundurukú"] = "myu", ["Mungaka"] = "mhk", ["Mungbam"] = "mij", ["Munggui"] = "mth", ["Mungkip"] = "mpv", ["Muniche"] = "myr", ["Munit"] = "mtc", ["Tiếng Munsee"] = "umu", ["Mur Pano"] = "tkv", ["Muratayak"] = "asx", ["Murik (Malaysia)"] = "mxr", ["Murik (New Guinea)"] = "mtf", ["Murkim"] = "rmh", ["Murle"] = "mur", ["Murrinh-Patha"] = "mwf", ["Murui Huitoto"] = "huu", ["Murupi"] = "mqw", ["Muruwari"] = "zmu", ["Musan"] = "mmp", ["Musar"] = "mmi", ["Musasa"] = "smm", ["Musey"] = "mse", ["Musgu"] = "mug", ["Musi"] = "mui", ["Muskum"] = "mje", ["Musom"] = "msu", ["Mussau-Emira"] = "emi", ["Muthuvan"] = "muv", ["Mutu"] = "tuc", ["Muya"] = "mvm", ["Muyang"] = "muy", ["Muyuw"] = "myw", ["Muzi"] = "ymz", ["Muzo"] = "sai-muz", ["Mvanip"] = "mcj", ["Mvuba"] = "mxh", ["Mwaghavul"] = "sur", ["Mwali Comorian"] = "wlc", ["Mwan"] = "moa", ["Mwani"] = "wmw", ["Mwatebu"] = "mwa", ["Mwera"] = "mwe", ["Mwimbi-Muthambi"] = "mws", ["Mycenaean Greek"] = "gmy", ["Myene"] = "mye", ["Mysian"] = "yms", ["Mzieme Naga"] = "nme", ["Mághdì"] = "gmd", ["Mòcheno"] = "mhn", ["Mün Chin"] = "mwq", ["Mündü"] = "muh", ["N'Ko"] = "nqo", ["Na"] = "nbt", ["Na'vi"] = "art-nav", ["Naaba"] = "nao", ["Naba"] = "mne", ["Nabak"] = "naf", ["Nabi"] = "mty", ["Nachering"] = "ncd", ["Nadruvian"] = "ndf", ["Nadëb"] = "mbj", ["Tiếng Nafaanra"] = "nfr", ["Nafi"] = "srf", ["Nafri"] = "nxx", ["Naga Pidgin"] = "nag", ["Nagarchal"] = "nbg", ["Nage"] = "nxe", ["Nagtipunan Agta"] = "phi-nag", ["Nagu"] = "ngr", ["Nagumi"] = "ngv", ["Nahali"] = "nlx", ["Nahari"] = "nhh", ["Nahavaq"] = "sns", ["Nai"] = "bio", ["Najdi Arabic"] = "ars", ["Naka'ela"] = "nae", ["Nakai"] = "nkj", ["Nakame"] = "nib", ["Nakanai"] = "nak", ["Nakara"] = "nck", ["Nake"] = "nbk", ["Naki"] = "mff", ["Nakwi"] = "nax", ["Nalca"] = "nlc", ["Nali"] = "nss", ["Nalik"] = "nal", ["Nalu"] = "naj", ["Nalögo"] = "nlz", ["Namakura"] = "nmk", ["Namat"] = "nkm", ["Tiếng Nambikwara"] = "nab", ["Nambo"] = "ncm", ["Nambya"] = "nmq", ["Namia"] = "nnm", ["Namiae"] = "nvm", ["Namibian Sign Language"] = "nbs", ["Namla"] = "naa", ["Namo"] = "mxw", ["Namonuito"] = "nmt", ["Namosi-Naitasiri-Serua"] = "bwb", ["Namuyi"] = "nmy", ["Nancere"] = "nnc", ["Nande"] = "nnb", ["Nandi"] = "niq", ["Nanerigé Sénoufo"] = "sen", ["Nanga Dama Dogon"] = "nzz", ["Nankina"] = "nnk", ["Nanti"] = "cox", ["Nanticoke"] = "nnt", ["Nanubae"] = "afk", ["Naolan"] = "nai-nao", ["Napu"] = "npy", ["Nar Phu"] = "npa", ["Nara"] = "nrb", ["Narak"] = "nac", ["Narango"] = "nrg", ["Narau"] = "nxu", ["Narim"] = "loh", ["Naro"] = "nhr", ["Narom"] = "nrm", ["Narragansett"] = "xnt", ["Narungga"] = "nnr", ["Naruo"] = "ylo", ["Nasal"] = "nsy", ["Nasarian"] = "nvh", ["Nasioi"] = "nas", ["Naskapi"] = "nsk", ["Nasu"] = "ywq", ["Natagaimas"] = "nts", ["Natchez"] = "ncz", ["Nateni"] = "ntm", ["Nathembo"] = "nte", ["Natioro"] = "nti", ["Natú"] = "sai-nat", ["Natügu"] = "ntu", ["Nauete"] = "nxa", ["Naukanski"] = "ynk", ["Nauna"] = "ncn", ["Nauo"] = "nwo", ["Navarro-Aragonese"] = "roa-oan", ["Navut"] = "nsw", ["Nawaru"] = "nwr", ["Nawathinehena"] = "nwa", ["Nawdm"] = "nmz", ["Nawuri"] = "naw", ["Nayi"] = "noz", ["Ncane"] = "ncr", ["Nchumbulu"] = "nlu", ["Nda'nda'"] = "nnz", ["Ndai"] = "gke", ["Ndaka"] = "ndk", ["Ndali"] = "ndh", ["Ndam"] = "ndm", ["Ndamba"] = "ndj", ["Ndambomo"] = "nxo", ["Ndasa"] = "nda", ["Ndau"] = "ndc", ["Nde-Gbite"] = "ned", ["Nde-Nsele-Nta"] = "ndd", ["Ndemli"] = "nml", ["Ndendeule"] = "dne", ["Ndengereko"] = "ndg", ["Nding"] = "eli", ["Ndjébbana"] = "djj", ["Ndo"] = "ndp", ["Ndobo"] = "ndw", ["Ndoe"] = "nbb", ["Ndolo"] = "ndl", ["Ndom"] = "nqm", ["Ndombe"] = "ndq", ["Ndoola"] = "ndr", ["Ndrulo"] = "dno", ["Nduga"] = "ndx", ["Ndumu"] = "nmd", ["Ndunda"] = "nuh", ["Ndunga"] = "ndt", ["Ndut"] = "ndv", ["Ndyuka-Trio Pidgin"] = "njt", ["Ndzwani Comorian"] = "wni", ["Nedebang"] = "nec", ["Nefamese"] = "nef", ["Negeri Sembilan Malay"] = "zmi", ["Nehan"] = "nsn", ["Nek"] = "nif", ["Nekgini"] = "nkg", ["Neko"] = "nej", ["Neku"] = "nek", ["Neme"] = "nex", ["Nemi"] = "nem", ["Nen"] = "nqn", ["Nend"] = "anh", ["Nengone"] = "nen", ["Neo"] = "neu", ["Nepalese Sign Language"] = "nsp", ["Nepali Kurux"] = "kxl", ["Nete"] = "net", ["Neve'ei"] = "vnm", ["Neverver"] = "lgk", ["New Caledonian Javanese"] = "jas", ["New River Shasta"] = "nai-nrs", ["New Zealand Sign Language"] = "nzs", ["Neyo"] = "ney", ["Nez Perce"] = "nez", ["Nga La"] = "hlt", ["Ngaanyatjarra"] = "ntj", ["Tiếng Ngadha"] = "nxg", ["Ngadjunmaya"] = "nju", ["Ngadjuri"] = "jui", ["Ngaing"] = "nnf", ["Ngaju"] = "nij", ["Ngala"] = "nud", ["Ngalakan"] = "nig", ["Ngalkbun"] = "ngk", ["Ngam"] = "nmc", ["Ngamambo"] = "nbv", ["Ngambay"] = "sba", ["Ngamini"] = "nmv", ["Ngamo"] = "nbh", ["Ngan'gityemerri"] = "nam", ["Nganakarti"] = "xnk", ["Ngandi"] = "nid", ["Ngando (Central African Republic)"] = "ngd", ["Ngando (Congo)"] = "nxd", ["Ngandyera"] = "nne", ["Ngangam"] = "gng", ["Ngantangarra"] = "ntg", ["Nganyaywana"] = "nyx", ["Ngardi"] = "rxd", ["Ngarigu"] = "xni", ["Ngarinman"] = "nbj", ["Ngarinyin"] = "ung", ["Ngarla"] = "nrk", ["Ngarluma"] = "nrl", ["Ngarrindjeri"] = "nay", ["Ngasa"] = "nsg", ["Ngatik Men's Creole"] = "ngm", ["Ngawn Chin"] = "cnw", ["Ngawun"] = "nxn", ["Ngazidja Comorian"] = "zdj", ["Ngbaka"] = "nga", ["Ngbaka Ma'bo"] = "nbm", ["Ngbaka Manza"] = "ngg", ["Ngbee"] = "jgb", ["Ngbinda"] = "nbd", ["Ngbundu"] = "nuu", ["Ngelima"] = "agh", ["Ngemba"] = "nge", ["Ngen"] = "gnj", ["Ngendelengo"] = "nql", ["Ngeq"] = "ngt", ["Ngete"] = "nnn", ["Nggem"] = "nbq", ["Nggwahyi"] = "ngx", ["Ngie"] = "ngj", ["Ngile"] = "jle", ["Ngindo"] = "nnq", ["Ngiti"] = "niy", ["Tiếng Ngiyambaa"] = "wyb", ["Ngizim"] = "ngi", ["Ngkoth"] = "aus-ngk", ["Ngkâlmpw Kanum"] = "kcd", ["Ngochang"] = "tbq-ngo", ["Ngom"] = "nra", ["Ngombale"] = "nla", ["Ngombe (Central African Republic)"] = "nmj", ["Tiếng Ngombe (Congo)"] = "ngc", ["Ngong"] = "nnx", ["Ngongo"] = "noq", ["Ngoni"] = "ngo", ["Ngoreme"] = "ngq", ["Ngoshie"] = "nsh", ["Ngul"] = "nlo", ["Ngulu"] = "ngp", ["Nguluwan"] = "nuw", ["Ngumbi"] = "nui", ["Ngunawal"] = "xul", ["Ngundi"] = "ndn", ["Ngundu"] = "nue", ["Ngungwel"] = "ngz", ["Ngurmbur"] = "nrx", ["Ngwaba"] = "ngw", ["Ngwe"] = "nwe", ["Ngwo"] = "ngn", ["Ngäbere"] = "gym", ["Nhanda"] = "nha", ["Nhirrpi"] = "hrp", ["Nhuwala"] = "nhf", ["Nicaraguan Creole"] = "bzk", ["Nicaraguan Sign Language"] = "ncs", ["Nicola"] = "ath-nic", ["Niellim"] = "nie", ["Nigeria Mambila"] = "mzk", ["Nigerian Pidgin"] = "pcm", ["Nigerian Sign Language"] = "nsi", ["Nihali"] = "nll", ["Nii"] = "nii", ["Niksek"] = "gbe", ["Nila"] = "nil", ["Nilamba"] = "nim", ["Nimadi"] = "noe", ["Nimanbur"] = "nmp", ["Nimbari"] = "nmr", ["Nimboran"] = "nir", ["Nimi"] = "nis", ["Nimo"] = "niw", ["Nimoa"] = "nmw", ["Ninam"] = "shb", ["Nindi"] = "nxi", ["Ningera"] = "nby", ["Ninggerum"] = "nxr", ["Ningil"] = "niz", ["Ninia Yali"] = "nlk", ["Ninzo"] = "nin", ["Nipsan"] = "nps", ["Nisa"] = "njs", ["Nisenan"] = "nsz", ["Nisga'a"] = "ncg", ["Nisi"] = "yso", ["Niuafo'ou"] = "num", ["Niuatoputapu"] = "nkp", ["Tiếng Nivaclé"] = "cag", ["Niwer Mil"] = "hrc", ["Njalgulgule"] = "njl", ["Njebi"] = "nzb", ["Njen"] = "njj", ["Njerep"] = "njr", ["Njyem"] = "njy", ["Nkami"] = "nkq", ["Nkangala"] = "nkn", ["Nkem-Nkum"] = "isi", ["Nkhumbi"] = "khu", ["Nkongho"] = "nkc", ["Nkoroo"] = "nkx", ["Nkoya"] = "nka", ["Nkukoli"] = "nbo", ["Nkutu"] = "nkw", ["Nnam"] = "nbp", ["Nobonob"] = "gaw", ["Nocamán"] = "nom", ["Nocte Naga"] = "njb", ["Noiri"] = "noi", ["Nokuku"] = "nkk", ["Nomaande"] = "lem", ["Nomane"] = "nof", ["Nomatsiguenga"] = "not", ["Nomlaki"] = "nol", ["Nomu"] = "noh", ["Nonuya"] = "noj", ["Nooksack"] = "nok", ["Noon"] = "snf", ["Noone"] = "nhu", ["Nopala Chatino"] = "cya", ["Norn"] = "nrn", ["Norra"] = "nrr", ["North Ambrym"] = "mmg", ["North Asmat"] = "nks", ["North Awyu"] = "yir", ["North Babar"] = "bcd", ["North Boma"] = "boh", ["North Central Mixe"] = "neq", ["North Efate"] = "llp", ["North Fali"] = "fll", ["North Giziga"] = "gis", ["North Marquesan"] = "mrq", ["North Mesopotamian Arabic"] = "ayp", ["North Mofu"] = "mfk", ["North Muyu"] = "kti", ["North Nuaulu"] = "nni", ["North Picene"] = "nrp", ["North Tairora"] = "tbg", ["North Tanna"] = "tnn", ["North Wahgi"] = "whg", ["North Watut"] = "una", ["Northeast Kiwai"] = "kiw", ["Northeast Maidu"] = "nmu", ["Northeast Pashayi"] = "aee", ["Northeastern Dinka"] = "dip", ["Northeastern Pomo"] = "pef", ["Northern Alta"] = "aqn", ["Northern Bontoc"] = "rbk", ["Tiếng Bắc Catanduanes Bikol"] = "cts", ["Northern Dagara"] = "dgi", ["Northern East Cree"] = "crl", ["Northern Ghale"] = "ghh", ["Northern Grebo"] = "gbo", ["Northern Guiyang Hmong"] = "huj", ["Northern Haida"] = "hdn", ["Northern Huishui Hmong"] = "hmi", ["Northern Kalapuya"] = "nrt", ["Northern Kam"] = "doc", ["Northern Kankanay"] = "xnn", ["Northern Khanty"] = "kca-nor", ["Northern Kissi"] = "kqs", ["Northern Lorung"] = "lbr", ["Northern Mashan Hmong"] = "hmp", ["Northern Muji"] = "ymx", ["Northern Ngbandi"] = "ngb", ["Northern Nuni"] = "nuv", ["Northern Oaxaca Nahuatl"] = "nhy", ["Northern Ohlone"] = "cst", ["Northern One"] = "onr", ["Tiếng Bắc Paiute"] = "pao", ["Northern Pame"] = "pmq", ["Northern Pinghua"] = "cnp", ["Northern Pomo"] = "pej", ["Northern Puebla Nahuatl"] = "ncj", ["Northern Pumi"] = "pmi", ["Northern Qiandong Miao"] = "hea", ["Northern Rengma Naga"] = "nnl", ["Northern Sierra Miwok"] = "nsq", ["Northern Subanen"] = "stb", ["Northern Tarahumara"] = "thh", ["Northern Tepehuan"] = "ntp", ["Northern Tidong"] = "ntd", ["Northern Tlaxiaco Mixtec"] = "xtn", ["Northern Toussian"] = "tsp", ["Northern Tutchone"] = "ttm", ["Northern Valley Yokuts"] = "nai-nvy", ["Northwest Gbaya"] = "gya", ["Northwest Maidu"] = "mjd", ["Northwest Oaxaca Mixtec"] = "mxa", ["Northwest Pashayi"] = "glh", ["Northwestern Dinka"] = "diw", ["Northwestern Fars"] = "faz", ["Northwestern Ojibwa"] = "ojb", ["Northwestern Tamang"] = "tmk", ["Norwegian Sign Language"] = "nsl", ["Notre"] = "bly", ["Notsi"] = "ncf", ["Nottoway"] = "ntw", ["Nottoway-Meherrin"] = "nwy", ["Noxilo"] = "art-nox", ["Noy"] = "noy", ["Nsari"] = "asj", ["Nsenga"] = "nse", ["Nshi"] = "nsc", ["Nsong"] = "soo", ["Nsongo"] = "nsx", ["Ntcham"] = "bud", ["Ntomba"] = "nto", ["Ntra'ngith"] = "dgt", ["Nuguria"] = "nur", ["Nuk"] = "noc", ["Nukak Makú"] = "mbr", ["Nukna"] = "klt", ["Nukuini"] = "nuc", ["Nukumanu"] = "nuq", ["Nukunu"] = "nnv", ["Nukunul"] = "xnu", ["Nukuoro"] = "nkr", ["Numana"] = "nbr", ["Numanggang"] = "nop", ["Numbami"] = "sij", ["Nume"] = "tgs", ["Numee"] = "kdk", ["Numidian"] = "nxm", ["Nungali"] = "nug", ["Nunggubuyu"] = "nuy", ["Nungon"] = "paa-nun", ["Nungu"] = "rin", ["Nupbikha"] = "npb", ["Tiếng Nupe"] = "nup", ["Nusa Laut"] = "nul", ["Nusu"] = "nuf", ["Nutabe"] = "cba-nut", ["Nyabwa"] = "nwb", ["Nyaheun"] = "nev", ["Nyakyusa"] = "nyy", ["Nyali"] = "nlj", ["Nyam"] = "nmi", ["Nyamal"] = "nly", ["Nyambo"] = "now", ["Nyamusa-Molo"] = "nwm", ["Nyamwanga"] = "mwn", ["Nyamwezi"] = "nym", ["Nyaneka"] = "nyk", ["Nyang'i"] = "nyp", ["Nyanga (Congo)"] = "nyj", ["Nyanga (Togo)"] = "ayg", ["Nyanga-li"] = "nyc", ["Nyangatom"] = "nnj", ["Nyangbo"] = "nyb", ["Nyangga"] = "nny", ["Nyangumarta"] = "nna", ["Nyankole"] = "nyn", ["Nyaturu"] = "rim", ["Nyawaygi"] = "nyt", ["Nyemba"] = "nba", ["Nyengo"] = "nye", ["Nyenkha"] = "neh", ["Nyigina"] = "nyh", ["Nyiha"] = "nih", ["Nyika"] = "nkt", ["Nyimang"] = "nyi", ["Nyindrou"] = "lid", ["Nyindu"] = "nyg", ["Nyishi"] = "njz", ["Nyiyaparli"] = "xny", ["Nyokon"] = "nvo", ["Nyole (Kenya)"] = "nyd", ["Nyole (Uganda)"] = "nuj", ["Nyong"] = "muo", ["Nyoro"] = "nyo", ["Nyulnyul"] = "nyv", ["Tiếng Nyunga"] = "nys", ["Nyungwe"] = "nyu", ["Nyâlayu"] = "yly", ["Tiếng Nzadi"] = "nzd", ["Nzakambay"] = "nzy", ["Nzakara"] = "nzk", ["Nzanyi"] = "nja", ["Nzima"] = "nzi", ["Nüpode Huitoto"] = "hux", ["Tiếng Nǀuu"] = "ngh", ["O'chi'chi'"] = "xoc", ["Obanliku"] = "bzy", ["Obispeño"] = "obi", ["Oblo"] = "obl", ["Obo Manobo"] = "obo", ["Obokuitai"] = "afz", ["Obolo"] = "ann", ["Obulom"] = "obu", ["Ocotepec Mixtec"] = "mie", ["Ocotlán Zapotec"] = "zac", ["Od"] = "odk", ["Odiai"] = "bhf", ["Odoodee"] = "kkc", ["Odual"] = "odu", ["Odut"] = "oda", ["Ofayé"] = "opy", ["Ofo"] = "ofo", ["Ogbah"] = "ogc", ["Ogbia"] = "ogb", ["Ogbogolo"] = "ogg", ["Ogea"] = "eri", ["Oirata"] = "oia", ["Okiek"] = "oki", ["Oko-Eni-Osayen"] = "oks", ["Oko-Juwoi"] = "okj", ["Okobo"] = "okb", ["Okodia"] = "okd", ["Okolod"] = "kqv", ["Okpamheri"] = "opa", ["Okpe (Northwestern Edo)"] = "okx", ["Okpe (Southwestern Edo)"] = "oke", ["Okpela"] = "atg", ["Oksapmin"] = "opm", ["Oku"] = "oku", ["Okwanuchu"] = "nai-okw", ["Old Avar"] = "oav", ["Old Bengali"] = "inc-obn", ["Tiếng Catalan cổ"] = "roa-oca", ["Tiếng Cornwall cổ"] = "oco", ["Old Gujarati"] = "inc-ogu", ["Old Hindi"] = "inc-ohi", ["Tiếng Hungary cổ"] = "ohu", ["Old Kamta"] = "inc-ork", ["Tiếng Kannada cổ"] = "dra-okn", ["Tiếng Telugu cổ"] = "dra-ote", ["Old Kentish Sign Language"] = "okl", ["Old Leonese"] = "roa-ole", ["Tiếng Navarro-Aragon"] = "roa-ona", ["Tiếng Litva cổ"] = "olt", ["Old Manipuri"] = "omp", ["Old Marathi"] = "omr", ["Old Nubian"] = "onw", ["Old Oriya"] = "inc-oor", ["Tiếng Punjab cổ"] = "inc-opa", ["Tiếng Nam Ả Rập cổ"] = "sem-srb", ["Old Tati"] = "xme-ott", ["Tiếng Tây Tạng cổ"] = "otb", ["Old Welsh"] = "owl", ["Olekha"] = "ole", ["Ollari"] = "gdb", ["Olo"] = "ong", ["Oloma"] = "olm", ["Olrat"] = "olr", ["Olu'bo"] = "lul", ["Olulumo-Ikom"] = "iko", ["Oluta Popoluca"] = "plo", ["Olutsotso"] = "lto", ["Omagua"] = "omg", ["Omba"] = "omb", ["Ombamba"] = "mbm", ["Ombo"] = "oml", ["Ometepec Nahuatl"] = "nht", ["Omi"] = "omi", ["Omotik"] = "omt", ["Omurano"] = "omu", ["Oneida"] = "one", ["Ong"] = "oog", ["Ongota"] = "bxe", ["Onin"] = "oni", ["Onjob"] = "onj", ["Ono"] = "ons", ["Onobasulu"] = "onn", ["Onondaga"] = "ono", ["Ontenu"] = "ont", ["Ontong Java"] = "ojv", ["Oorlams"] = "oor", ["Opao"] = "opo", ["Opata"] = "opt", ["Opuuo"] = "lgn", ["Opón"] = "sai-opo", ["Oraon Sadri"] = "sdr", ["Orejón"] = "ore", ["Oring"] = "org", ["Orizaba Nahuatl"] = "nlv", ["Orléanais"] = "roa-orl", ["Oro"] = "orx", ["Oro Win"] = "orw", ["Oroha"] = "ora", ["Orokaiva"] = "okv", ["Oroko"] = "bdu", ["Orokolo"] = "oro", ["Orowe"] = "bpk", ["Oruma"] = "orr", ["Orya"] = "ury", ["Osamayi"] = "syx", ["Osing"] = "osi", ["Ososo"] = "oso", ["Ot Danum"] = "otd", ["Otank"] = "uta", ["Oti"] = "oti", ["Otomaco"] = "sai-oto", ["Otoro"] = "otr", ["Ottawa"] = "otw", ["Ouma"] = "oum", ["Oune"] = "oue", ["Owa"] = "stn", ["Owenia"] = "wsr", ["Owiniga"] = "owi", ["Oy"] = "oyb", ["Oya'oya"] = "oyy", ["Tiếng Oyda"] = "oyd", ["Ozolotepec Zapotec"] = "zao", ["Pa"] = "ppt", ["Pa Di"] = "pdi", ["Pa'a"] = "pqa", ["Paama"] = "pma", ["Paasaal"] = "sig", ["Pacahuara"] = "pcp", ["Padoe"] = "pdo", ["Paelignian"] = "pgn", ["Paeonian"] = "ine-pae", ["Pagi"] = "pgi", ["Pagibete"] = "pae", ["Tiếng Pagu"] = "pgu", ["Pahanan Agta"] = "apf", ["Tiếng Pothohar"] = "phr", ["Pahi"] = "lgt", ["Pahlavani"] = "phv", ["Pai Tavytera"] = "pta", ["Pai-lang"] = "tbq-plg", ["Paicî"] = "pri", ["Paikoneka"] = "awd-pai", ["Paipai"] = "ppi", ["Pajapan Nahuatl"] = "nhp", ["Pak-Tong"] = "pkg", ["Pakanha"] = "pkn", ["Pakistan Sign Language"] = "pks", ["Tiếng Paku"] = "pku", ["Paku Karen"] = "kpp", ["Pal"] = "abw", ["Palaka Senoufo"] = "plr", ["Palantla Chinantec"] = "cpa", ["Palawan Batak"] = "bya", ["Paleni"] = "pnl", ["Palenquero"] = "pln", ["Palewyami"] = "nai-ply", ["Palikur"] = "plu", ["Paliyan"] = "pcf", ["Pallanganmiddang"] = "pmd", ["Palor"] = "fap", ["Palta"] = "sai-pal", ["Palu'e"] = "ple", ["Paluan"] = "plz", ["Palya Bareli"] = "bpx", ["Pam"] = "pmn", ["Pambia"] = "pmb", ["Pamigua"] = "sai-pam", ["Pamlico"] = "pmk", ["Pamona"] = "pmf", ["Pamosu"] = "hih", ["Pamplona Atta"] = "att", ["Pana (Central Africa)"] = "pnz", ["Pana (West Africa)"] = "pnq", ["Panamanian Sign Language"] = "lsp", ["Panamint"] = "par", ["Panare"] = "pbh", ["Panará"] = "kre", ["Panasuan"] = "psn", ["Panawa"] = "pwb", ["Pande"] = "bkj", ["Pangseng"] = "pgs", ["Pangutaran Sama"] = "slm", ["Pangwa"] = "pbr", ["Panim"] = "pnr", ["Paniya"] = "pcg", ["Pankararé"] = "pax", ["Pankararú"] = "paz", ["Pankhu"] = "pkh", ["Pannei"] = "pnc", ["Panobo"] = "pno", ["Panyi Bai"] = "bfc", ["Panyjima"] = "pnw", ["Panzaleo"] = "sai-pnz", ["Pao"] = "ppa", ["Tiếng Totonac Papantla"] = "top", ["Papapana"] = "ppn", ["Papar"] = "dpp", ["Papasena"] = "pas", ["Papel"] = "pbo", ["Papi"] = "ppe", ["Papitalai"] = "pat", ["Papora"] = "ppu", ["Papua New Guinean Sign Language"] = "pgz", ["Papuan Malay"] = "pmy", ["Papuma"] = "ppm", ["Para Naga"] = "pzn", ["Parachi"] = "prc", ["Tiếng Guarani Paraguay"] = "gug", ["Paraguayan Sign Language"] = "pys", ["Parakanã"] = "pak", ["Paranan"] = "prf", ["Paranawát"] = "paf", ["Paratió"] = "sai-par", ["Tiếng Paraujano"] = "pbg", ["Parawen"] = "prw", ["Pardhan"] = "pch", ["Pardhi"] = "pcl", ["Pare"] = "asa", ["Tiếng Pareci"] = "pab", ["Paredarerme"] = "xpd", ["Parenga"] = "pcj", ["Parya"] = "paq", ["Pará Arára"] = "aap", ["Pará Gavião"] = "gvp", ["Pasi"] = "psq", ["Pass Valley Yali"] = "yac", ["Passé"] = "awd-pas", ["Patagón"] = "sai-ptg", ["Patamona"] = "pbc", ["Patani"] = "ptn", ["Pataxó Hã-Ha-Hãe"] = "pth", ["Patep"] = "ptp", ["Pathiya"] = "pty", ["Patpatar"] = "gfk", ["Pattani"] = "lae", ["Tiếng Mã Lai Pattani"] = "mfa", ["Pattapu"] = "ptq", ["Patwin"] = "pwi", ["Paulohi"] = "plh", ["Paumarí"] = "pad", ["Pauri Bareli"] = "bfb", ["Pauserna"] = "psm", ["Pawaia"] = "pwa", ["Payaguá"] = "sai-pyg", ["Paynamar"] = "pmr", ["Pe"] = "pai", ["Pech"] = "pay", ["Peerapper"] = "xpw", ["Peere"] = "pfe", ["Pei"] = "ppq", ["Pekal"] = "pel", ["Pele-Ata"] = "ata", ["Penang Sign Language"] = "psg", ["Penchal"] = "pek", ["Pendau"] = "ums", ["Pennsylvania German"] = "pdc", ["Penrhyn"] = "pnh", ["Pentlatch"] = "ptw", ["Perai"] = "wet", ["Perema"] = "wom", ["Pericú"] = "nai-per", ["Pero"] = "pip", ["Persian Sign Language"] = "psc", ["Peruvian Sign Language"] = "prl", ["Petapa Zapotec"] = "zpe", ["Petats"] = "pex", ["Peñoles Mixtec"] = "mil", ["Phala"] = "ypa", ["Phana'"] = "phq", ["Phangduwali"] = "phw", ["Phende"] = "pem", ["Philippine Sign Language"] = "psp", ["Philistine"] = "und-phi", ["Phimbi"] = "phm", ["Phola"] = "ypg", ["Pholo"] = "yip", ["Phom"] = "nph", ["Phudagi"] = "phd", ["Phuie"] = "pug", ["Phukha"] = "phh", ["Phuma"] = "ypm", ["Phunoi"] = "pho", ["Phupa"] = "ypp", ["Phupha"] = "yph", ["Phuthi"] = "bnt-phu", ["Phuza"] = "ypz", ["Piamatsina"] = "ptr", ["Piame"] = "pin", ["Piapoco"] = "pio", ["Piaroa"] = "pid", ["Pichinglis"] = "fpe", ["Pichis Ashéninka"] = "cpu", ["Pictish"] = "xpi", ["Picuris"] = "nai-pic", ["Pidgin Delaware"] = "dep", ["Pidgin Iha"] = "ihb", ["Pidgin Onin"] = "onx", ["Pijao"] = "pij", ["Pije"] = "piz", ["Pijin"] = "pis", ["Pileni"] = "piv", ["Pima Bajo"] = "pia", ["Pimbwe"] = "piw", ["Pinai-Hagahai"] = "pnn", ["Pingelapese"] = "pif", ["Pini"] = "pii", ["Pinigura"] = "pnv", ["Pinjarup"] = "pnj", ["Pinji"] = "pic", ["Pinotepa Nacional Mixtec"] = "mio", ["Pintiini"] = "pti", ["Pintupi-Luritja"] = "piu", ["Pirahã"] = "myp", ["Piratapuyo"] = "pir", ["Pirlatapa"] = "bxi", ["Piro"] = "pie", ["Pirriya"] = "xpa", ["Pisabo"] = "pig", ["Pisaflores Tepehua"] = "tpp", ["Piscataway"] = "psy", ["Pisidian"] = "xps", ["Pitcairn-Norfolk"] = "pih", ["Pite Sami"] = "sje", ["Piti"] = "pcn", ["Pitjantjatjara"] = "pjt", ["Pitta-Pitta"] = "pit", ["Piu"] = "pix", ["Piya-Kwonci"] = "piy", ["Tiếng Apache đồng bằng"] = "apk", ["Plains Indian Sign Language"] = "psd", ["Plains Miwok"] = "pmw", ["Plapo Krumen"] = "ktj", ["Playero"] = "gob", ["Pochuri Naga"] = "npo", ["Pochutec"] = "xpo", ["Podoko"] = "pbi", ["Pogali"] = "hkh", ["Pogolo"] = "poy", ["Poitevin-Saintongeais"] = "roa-poi", ["Pokangá"] = "pok", ["Poke"] = "pof", ["Pol"] = "pmm", ["Polci"] = "plj", ["Polish Sign Language"] = "pso", ["Polonombauk"] = "plb", ["Pom"] = "pmo", ["Ponam"] = "ncc", ["Pongu"] = "png", ["Ponyo"] = "npg", ["Poqomam"] = "poc", ["Poqomchi'"] = "poh", ["Porohanon"] = "prh", ["Port Sandwich"] = "psw", ["Port Sorell"] = "xpl", ["Port Vato"] = "ptv", ["Portuguese Sign Language"] = "psr", ["Potiguára"] = "pog", ["Poumei Naga"] = "pmx", ["Pouye"] = "bye", ["Powari"] = "pwr", ["Powhatan"] = "pim", ["Poyanáwa"] = "pyn", ["Primitive Irish"] = "pgl", ["Principense"] = "pre", ["Tiếng Algic nguyên thủy"] = "aql-pro", ["Proto-Amuesha-Chamicuro"] = "awd-amc-pro", ["Proto-Anatolian"] = "ine-ana-pro", ["Proto-Apachean"] = "apa-pro", ["Proto-Arawa"] = "auf-pro", ["Tiếng Arawak nguyên thủy"] = "awd-pro", ["Proto-Armenian"] = "hyx-pro", ["Proto-Arnhem"] = "aus-arn-pro", ["Tiếng Aari nguyên thủy"] = "omv-aro-pro", ["Proto-Atayalic"] = "map-ata-pro", ["Proto-Athabaskan"] = "ath-pro", ["Proto-Atlantic-Congo"] = "alv-pro", ["Tiếng Avar-Andic nguyên thủy"] = "cau-ava-pro", ["Proto-Bantoid"] = "nic-bod-pro", ["Proto-Batak"] = "btk-pro", ["Tiếng Bối-Thái nguyên thủy"] = "qfa-bet-pro", ["Proto-Benue-Congo"] = "nic-bco-pro", ["Proto-Bongo-Bagirmi"] = "csu-bba-pro", ["Proto-Boran"] = "sai-bor-pro", ["Proto-Bua"] = "alv-bua-pro", ["Proto-Bungku-Tolaki"] = "poz-btk-pro", ["Proto-Caddoan"] = "cdd-pro", ["Proto-Cangin"] = "alv-cng-pro", ["Proto-Central Chadic"] = "cdc-cbm-pro", ["Proto-Central Indo-Aryan"] = "inc-cen-pro", ["Proto-Central Jê"] = "sai-cje-pro", ["Proto-Central New South Wales"] = "aus-cww-pro", ["Proto-Central Sudanic"] = "csu-pro", ["Proto-Central Togo"] = "alv-gtm-pro", ["Proto-Chadic"] = "cdc-pro", ["Proto-Chatino"] = "omq-cha-pro", ["Proto-Chibchan"] = "cba-pro", ["Proto-Chimakuan"] = "chi-pro", ["Proto-Chinookan"] = "nai-ckn-pro", ["Proto-Chukotko-Kamchatkan"] = "qfa-cka-pro", ["Proto-Chumash"] = "nai-chu-pro", ["Proto-Cupan"] = "azc-cup-pro", ["Proto-Daju"] = "sdv-daj-pro", ["Proto-Daly"] = "aus-dal-pro", ["Tiếng Dizi nguyên thủy"] = "omv-diz-pro", ["Proto-Eastern Jebel"] = "sdv-eje-pro", ["Proto-Eastern Oti-Volta"] = "nic-eov-pro", ["Proto-Edoid"] = "alv-edo-pro", ["Tiếng Eskimo-Aleut nguyên thủy"] = "esx-pro", ["Proto-Fali"] = "alv-fli-pro", ["Proto-Grassfields"] = "nic-grf-pro", ["Proto-Great Andamanese"] = "qfa-adm-pro", ["Proto-Guang"] = "alv-gng-pro", ["Proto-Gur"] = "nic-gur-pro", ["Proto-Gurunsi"] = "nic-gns-pro", ["Proto-Halmahera-Cenderawasih"] = "poz-hce-pro", ["Proto-Heiban"] = "alv-hei-pro", ["Proto-Highland East Cushitic"] = "cus-hec-pro", ["Proto-Hmong"] = "hmn-pro", ["Proto-Hrusish"] = "sit-hrs-pro", ["Proto-Huitoto-Ocaina"] = "sai-hoc-pro", ["Proto-Hurro-Urartian"] = "qfa-hur-pro", ["Proto-Idomoid"] = "alv-ido-pro", ["Proto-Igboid"] = "alv-igb-pro", ["Proto-Ijoid"] = "ijo-pro", ["Proto-Iwaidjan"] = "aus-wdj-pro", ["Proto-Jukunoid"] = "nic-jkn-pro", ["Proto-Kadu"] = "qfa-kad-pro", ["Proto-Kalamian"] = "phi-kal-pro", ["Proto-Kalapuyan"] = "nai-klp-pro", ["Proto-Kam-Sui"] = "qfa-kms-pro", ["Proto-Kampa"] = "awd-kmp-pro", ["Proto-Kham"] = "sit-kha-pro", ["Proto-Khoe"] = "khi-kho-pro", ["Tiếng Koman nguyên thủy"] = "ssa-kom-pro", ["Proto-Komisenian"] = "ira-kms-pro", ["Tiếng Kra nguyên thủy"] = "qfa-kra-pro", ["Tiếng Kra-Dai nguyên thủy"] = "qfa-tak-pro", ["Proto-Kru"] = "kro-pro", ["Proto-Kuki-Chin"] = "tbq-kuk-pro", ["Proto-Kuliak"] = "ssa-klk-pro", ["Proto-Kurdish"] = "ku-pro", ["Proto-Kwa"] = "alv-kwa-pro", ["Proto-Lalo"] = "tbq-lal-pro", ["Proto-Lampungic"] = "poz-lgx-pro", ["Proto-Lolo-Burmese"] = "tbq-lob-pro", ["Proto-Loloish"] = "tbq-lol-pro", ["Proto-Lower Cross River"] = "nic-lcr-pro", ["Proto-Luish"] = "sit-luu-pro", ["Proto-Maidun"] = "nai-mdu-pro", ["Proto-Mande"] = "dmn-pro", ["Proto-Mangbetu"] = "csu-maa-pro", ["Tiếng Mari nguyên thủy"] = "chm-pro", ["Proto-Masa"] = "cdc-mas-pro", ["Proto-Mazatec"] = "omq-maz-pro", ["Proto-Medo-Parthian"] = "ira-mpr-pro", ["Tiếng Miền nguyên thủy"] = "hmx-mie-pro", ["Proto-Mixe-Zoque"] = "nai-miz-pro", ["Proto-Mixtec"] = "omq-mxt-pro", ["Proto-Mixtecan"] = "omq-mix-pro", ["Proto-Mumuye"] = "alv-mum-pro", ["Proto-Munji-Yidgha"] = "ira-mny-pro", ["Proto-Na-Dene"] = "xnd-pro", ["Proto-Nahuan"] = "azc-nah-pro", ["Proto-Nawiki"] = "awd-nwk-pro", ["Proto-Nguni"] = "bnt-ngu-pro", ["Tiếng Niger-Congo nguyên thủy"] = "nic-pro", ["Tiếng Nin-Sahara nguyên thủy"] = "ssa-pro", ["Proto-Nilotic"] = "sdv-nil-pro", ["Proto-Norse"] = "gmq-pro", ["Proto-North Caucasian"] = "ccn-pro", ["Proto-North Halmahera"] = "paa-nha-pro", ["Proto-North Sarawak"] = "poz-swa-pro", ["Proto-Nubian"] = "nub-pro", ["Proto-Numic"] = "azc-num-pro", ["Proto-Nupoid"] = "alv-nup-pro", ["Tiếng Nuristan nguyên thủy"] = "iir-nur-pro", ["Proto-Nyima"] = "sdv-nyi-pro", ["Proto-Nyulnyulan"] = "aus-nyu-pro", ["Proto-Ogoni"] = "nic-ogo-pro", ["Tiếng Omo nguyên thủy"] = "omv-pro", ["Tiếng Önge nguyên thủy"] = "qfa-ong-pro", ["Proto-Ossetic"] = "os-pro", ["Proto-Oti-Volta"] = "nic-ovo-pro", ["Proto-Oto-Manguean"] = "omq-pro", ["Proto-Oto-Pamean"] = "omq-otp-pro", ["Proto-Otomi"] = "oto-otm-pro", ["Proto-Otomian"] = "oto-pro", ["Proto-Paresi-Waura"] = "awd-prw-pro", ["Proto-Plateau"] = "nic-plt-pro", ["Proto-Plateau Penutian"] = "nai-plp-pro", ["Proto-Pnar-Khasi-Lyngngam"] = "aav-pkl-pro", ["Proto-Pomeranian"] = "zlw-pom-pro", ["Proto-Pomo"] = "nai-pom-pro", ["Tiếng Rukai nguyên thủy"] = "dru-pro", ["Tiếng Lưu Cầu nguyên thủy"] = "jpx-ryu-pro", ["Proto-Saka"] = "xsc-sak-pro", ["Proto-Saka-Wakhi"] = "xsc-skw-pro", ["Proto-Sanglechi-Ishkashimi"] = "ira-sgi-pro", ["Proto-Sara"] = "csu-sar-pro", ["Proto-Scythian"] = "xsc-pro", ["Proto-Shughni-Roshani"] = "ira-shr-pro", ["Proto-Shughni-Yazghulami"] = "ira-shy-pro", ["Proto-Shughni-Yazghulami-Munji"] = "ira-sym-pro", ["Proto-Siouan-Catawban"] = "nai-sca-pro", ["Proto-Songhay"] = "son-pro", ["Proto-Sotho-Tswana"] = "bnt-sts-pro", ["Proto-South Sulawesi"] = "poz-ssw-pro", ["Proto-Southern Jê"] = "sai-sje-pro", ["Proto-Sunda-Sulawesi"] = "poz-sus-pro", ["Proto-Ta-Arawak"] = "awd-taa-pro", ["Proto-Takic"] = "azc-tak-pro", ["Proto-Taman"] = "sdv-tmn-pro", ["Proto-Tani"] = "sit-tan-pro", ["Proto-Taranoan"] = "sai-tar-pro", ["Proto-Tatic"] = "xme-ttc-pro", ["Proto-Totozoquean"] = "nai-tot-pro", ["Proto-Trans-New Guinea"] = "ngf-pro", ["Proto-Trique"] = "omq-tri-pro", ["Proto-Tsezian"] = "cau-tsz-pro", ["Proto-Tsimshianic"] = "nai-tsi-pro", ["Tiếng Tupi nguyên thủy"] = "tup-pro", ["Proto-Ubangian"] = "nic-ubg-pro", ["Proto-Upper Cross River"] = "nic-ucr-pro", ["Proto-Utian"] = "nai-utn-pro", ["Tiếng Ute-Aztec nguyên thủy"] = "azc-pro", ["Proto-Volta-Congo"] = "nic-vco-pro", ["Proto-Volta-Niger"] = "alv-von-pro", ["Tiếng Semit Tây nguyên thủy"] = "sem-wes-pro", ["Proto-Western Mande"] = "dmn-mdw-pro", ["Proto-Witotoan"] = "sai-wit-pro", ["Proto-Yeniseian"] = "qfa-yen-pro", ["Proto-Yupik"] = "ypk-pro", ["Proto-Zapotec"] = "omq-zpc-pro", ["Proto-Zapotecan"] = "omq-zap-pro", ["Proto-Zaza-Gorani"] = "ira-zgr-pro", ["Providencia Sign Language"] = "prz", ["Psikye"] = "kvj", ["Puare"] = "pux", ["Pudtol Atta"] = "atp", ["Puebla Mazatec"] = "pbm", ["Puelche"] = "pue", ["Puerto Rican Sign Language"] = "psl", ["Puimei Naga"] = "npu", ["Puinave"] = "pui", ["Puiron"] = "sit-prn", ["Pukapukan"] = "pkp", ["Pulabu"] = "pup", ["Puluwat"] = "puw", ["Puma"] = "pum", ["Tiếng Pumpokol"] = "xpm", ["Pumé"] = "yae", ["Punan Aput"] = "pud", ["Punan Bah-Biau"] = "pna", ["Punan Batu"] = "pnm", ["Punan Merah"] = "puf", ["Punan Merap"] = "puc", ["Punan Tubu"] = "puj", ["Punu"] = "puu", ["Puquina"] = "puq", ["Puragi"] = "pru", ["Purari"] = "iar", ["Purepecha"] = "pua", ["Puri"] = "prr", ["Purik"] = "prx", ["Purisimeño"] = "puy", ["Puruborá"] = "pur", ["Puruhá"] = "sai-prh", ["Purukotó"] = "sai-pur", ["Purum"] = "pub", ["Putai"] = "mfl", ["Putoh"] = "put", ["Putukwam"] = "afe", ["Puyo-Paekche"] = "xpp", ["Pwaamei"] = "pme", ["Pwapwa"] = "pop", ["Pyapun"] = "pcw", ["Pye Krumen"] = "pye", ["Pyemmairre"] = "xpb", ["Pyen"] = "pyy", ["Pykobjê"] = "sai-pyk", ["Pyu"] = "pby", ["Páez"] = "pbb", ["Pááfang"] = "pfa", ["Päri"] = "lkr", ["Pémono"] = "pev", ["Pévé"] = "lme", ["Pökoot"] = "pko", ["Q'anjob'al"] = "kjb", ["Q'eqchi"] = "kek", ["Qabiao"] = "laq", ["Qaqet"] = "byx", ["Qatabanian"] = "xqt", ["Qau"] = "gqu", ["Qila Muji"] = "ymq", ["Tiếng Qimant"] = "ahg", ["Quebec Sign Language"] = "fcs", ["Querétaro Otomi"] = "otq", ["Quetzaltepec Mixe"] = "pxm", ["Queyu"] = "qvy", ["Quiavicuzas Zapotec"] = "zpj", ["Quileute"] = "qui", ["Quimbaya"] = "sai-qmb", ["Quinault"] = "qun", ["Quinigua"] = "nai-qng", ["Quinqui"] = "quq", ["Quioquitani-Quierí Zapotec"] = "ztq", ["Quiotepec Chinantec"] = "chq", ["Quitemo"] = "sai-qtm", ["Tiếng Quốc tế ngữ"] = "eo", ["Rabona"] = "sai-rab", ["Raga"] = "lml", ["Rahambuu"] = "raz", ["Rajah Kabunsuwan Manobo"] = "mqk", ["Raji"] = "rji", ["Rajong"] = "rjg", ["Rakahanga-Manihiki"] = "rkh", ["Ralte"] = "ral", ["Ramandi"] = "tks", ["Ramanos"] = "sai-ram", ["Ramoaaina"] = "rai", ["Ramopa"] = "kjx", ["Rampi"] = "lje", ["Rana Tharu"] = "thr", ["Rang"] = "rax", ["Rangkas"] = "rgk", ["Ranglong"] = "rnl", ["Rao"] = "rao", ["Rapa"] = "ray", ["Rapoisi"] = "kyx", ["Rapting"] = "rpt", ["Rara Bakati'"] = "lra", ["Tiếng Ratagnon"] = "btn", ["Ratahan"] = "rth", ["Rathawi"] = "rtw", ["Rathwi Bareli"] = "bgd", ["Rawa"] = "rwo", ["Rawat"] = "jnl", ["Rawo"] = "rwa", ["Rayón Zoque"] = "zor", ["Razajerdi"] = "rat", ["Razihi"] = "rzh", ["Reang"] = "ria", ["Red Gelao"] = "gir", ["Reel"] = "atu", ["Rejang Kayan"] = "ree", ["Reli"] = "rei", ["Rema"] = "bow", ["Rembarunga"] = "rmb", ["Rembong"] = "reb", ["Remo"] = "rem", ["Remontado Agta"] = "agv", ["Rempi"] = "rmp", ["Remun"] = "lkj", ["Rennellese"] = "mnv", ["Repanbitip"] = "rpn", ["Rer Bare"] = "rer", ["Rerau"] = "rea", ["Rerep"] = "pgk", ["Reshe"] = "res", ["Resígaro"] = "rgr", ["Retta"] = "ret", ["Reyesano"] = "rey", ["Rhine Franconian"] = "gmw-rfr", ["Riang"] = "ril", ["Riantana"] = "ran", ["Ribun"] = "rir", ["Rigwe"] = "iri", ["Rikbaktsa"] = "rkb", ["Rincón Zapotec"] = "zar", ["Ringgou"] = "rgu", ["Ririo"] = "rri", ["Ritarungo"] = "rit", ["Riung"] = "riu", ["Riverain Sango"] = "snj", ["Rogo"] = "rod", ["Roma"] = "rmm", ["Romani Greek"] = "rge", ["Romanian Sign Language"] = "rms", ["Romano-Serbian"] = "rsb", ["Romanova"] = "rmv", ["Romblomanon"] = "rol", ["Rombo"] = "rof", ["Romkun"] = "rmk", ["Ron"] = "cla", ["Ronga"] = "rng", ["Rongga"] = "ror", ["Rongmei Naga"] = "nbu", ["Rongpo"] = "rnp", ["Ronji"] = "roe", ["Roon"] = "rnn", ["Roria"] = "rga", ["Roro"] = "rro", ["Rotokas"] = "roo", ["Rotuman"] = "rtm", ["Roviana"] = "rug", ["Rudbari"] = "rdb", ["Rufiji"] = "rui", ["Ruga"] = "ruh", ["Rukiga"] = "cgg", ["Ruma"] = "ruz", ["Rumu"] = "klq", ["Runga"] = "rou", ["Rungtu"] = "rtc", ["Rungwa"] = "rnw", ["Russenorsk"] = "crp-rsn", ["Russian Sign Language"] = "rsl", ["Ruuli"] = "ruc", ["Ruwund"] = "rnd", ["Rwa"] = "rwk", ["Rwanda-Rundi"] = "rw", ["Réunion Creole French"] = "rcf", ["Sa"] = "sax", ["Sa'a"] = "apb", ["Sa'ban"] = "snv", ["Sa'och"] = "scq", ["Saafi-Saafi"] = "sav", ["Saam"] = "raq", ["Saamia"] = "lsm", ["Saare"] = "uss", ["Saba"] = "saa", ["Tiếng Bisaya Sabah"] = "bsy", ["Sabah Malay"] = "msi", ["Sabanê"] = "sae", ["Sabaot"] = "spy", ["Sabine"] = "sbv", ["Sabir"] = "pml", ["Sabu"] = "hvn", ["Sacapulteco"] = "quv", ["Saep"] = "spd", ["Safaitic"] = "sem-saf", ["Safaliba"] = "saf", ["Safeyoka"] = "apz", ["Safwa"] = "sbk", ["Sagala"] = "sbm", ["Sagalla"] = "tga", ["Sahaptin"] = "nai-spt", ["Sahu"] = "saj", ["Sajau Basap"] = "sjb", ["Sakachep"] = "sch", ["Sakam"] = "skm", ["Sakao"] = "sku", ["Sakata"] = "skt", ["Sake"] = "sak", ["Sala"] = "shq", ["Salampasu"] = "slx", ["Salas"] = "sgu", ["Salchuq"] = "slq", ["Saleman"] = "sau", ["Saliba (Colombia)"] = "slc", ["Saliba (New Guinea)"] = "sbe", ["Salinan"] = "sln", ["Salt-Yui"] = "sll", ["Saluan"] = "loe", ["Salumá"] = "slj", ["Salvadoran Lenca"] = "nai-sln", ["Salvadoran Sign Language"] = "esn", ["Sam"] = "snx", ["Sama"] = "smd", ["Samaritan Aramaic"] = "sam", ["Samaritan Hebrew"] = "smp", ["Samarokena"] = "tmj", ["Samatao"] = "ysd", ["Samba"] = "smx", ["Tiếng Sambali"] = "xsb", ["Sambalpuri"] = "spv", ["Sambe"] = "xab", ["Samberigi"] = "ssx", ["Samburu"] = "saq", ["Tiếng Thát Mai"] = "smh", ["Tiếng Samo"] = "smq", ["Samoan Plantation Pidgin"] = "cpe-spp", ["Samosa"] = "swm", ["Sampang"] = "rav", ["Samre"] = "sxm", ["Samvedi"] = "smv", ["San Agustín Mixtepec Zapotec"] = "ztm", ["San Baltazar Loxicha Zapotec"] = "zpx", ["San Felipe Otlaltepec Popoloca"] = "pow", ["San Jerónimo Tecóatl Mazatec"] = "maa", ["San Juan Atzingo Popoloca"] = "poe", ["San Juan Colorado Mixtec"] = "mjc", ["Tiếng Zapotec San Juan Guelavía"] = "zab", ["San Juan Quiahije Chatino"] = "ctp-san", ["San Juan Teita Mixtec"] = "xtj", ["San Luís Temalacayuca Popoloca"] = "pps", ["San Marcos Tlalcoyalco Popoloca"] = "pls", ["Tiếng Triqui San Martín Itunyoso"] = "trq", ["San Miguel Creole French"] = "scf", ["San Miguel Piedras Mixtec"] = "xtp", ["San Miguel el Grande Mixtec"] = "mig", ["San Pablo Güilá Zapotec"] = "ztu", ["San Pedro Amuzgos Amuzgo"] = "azg", ["San Pedro Quiatoni Zapotec"] = "zpf", ["San Vicente Coatlán Zapotec"] = "zpt", ["Sanapaná"] = "spn", ["Sanaviron"] = "sai-san", ["Sandawe"] = "sad", ["Sanga (Congo)"] = "sng", ["Sanga (Nigeria)"] = "xsn", ["Sanggau"] = "scg", ["Sangil"] = "snl", ["Tiếng Sangir"] = "sxn", ["Sangisari"] = "sgr", ["Sangkong"] = "sgk", ["Sanglechi"] = "sgy", ["Sangtam Naga"] = "nsa", ["Sangu (Gabon)"] = "snq", ["Sangu (Tanzania)"] = "sbp", ["Sani"] = "ysn", ["Sanie"] = "ysy", ["Saniyo-Hiyewe"] = "sny", ["Sankaran Maninka"] = "msc", ["Sansi"] = "ssi", ["Santa Catarina Albarradas Zapotec"] = "ztn", ["Santa Inés Ahuatempan Popoloca"] = "pca", ["Santa Inés Yatzechi Zapotec"] = "zpn", ["Santa Lucía Monteverde Mixtec"] = "mdv", ["Santa María La Alta Nahuatl"] = "nhz", ["Santa María Quiegolani Zapotec"] = "zpi", ["Santa María Zacatepec Mixtec"] = "mza", ["Santa Teresa Cora"] = "cok", ["Santiago Xanica Zapotec"] = "zpr", ["Santo Domingo Albarradas Zapotec"] = "zas", ["Sanumá"] = "xsu", ["Saparua"] = "spr", ["Sapará"] = "sai-sap", ["Sapo"] = "krn", ["Saponi"] = "spi", ["Sapuan"] = "spu", ["Sapé"] = "spc", ["Sar"] = "mwm", ["Sara"] = "sre", ["Sara Kaba"] = "sbz", ["Sara Kaba Deme"] = "kwg", ["Sara Kaba Náà"] = "kwv", ["Sarangani Blaan"] = "bps", ["Sarangani Manobo"] = "mbs", ["Sarasira"] = "zsa", ["Saraveca"] = "sar", ["Tiếng Sarikol"] = "srh", ["Sarli"] = "sdf", ["Sartang"] = "onp", ["Sarua"] = "swy", ["Sarudu"] = "sdu", ["Saruga"] = "sra", ["Tiếng Sasak"] = "sas", ["Sasaru"] = "sxs", ["Sassarese"] = "sdc", ["Satawalese"] = "stw", ["Sateré-Mawé"] = "mav", ["Sathmar Swabian"] = "gmw-stm", ["Saudi Arabian Sign Language"] = "sdl", ["Sauraseni Apabhramsa"] = "inc-sap", ["Saurashtra"] = "saz", ["Sauri"] = "srt", ["Sause"] = "sao", ["Sausi"] = "ssj", ["Savi"] = "sdg", ["Savosavo"] = "svs", ["Sawai"] = "szw", ["Saweru"] = "swr", ["Sawi"] = "saw", ["Sawila"] = "swt", ["Saya"] = "say", ["Sayula Popoluca"] = "pos", ["Scanian"] = "gmq-scy", ["Seba"] = "kdg", ["Seberuang"] = "sbx", ["Sebop"] = "sib", ["Sebuyau"] = "snb", ["Sechelt"] = "sec", ["Sechura"] = "sai-sec", ["Secoya"] = "sey", ["Sedoa"] = "tvw", ["Seenku"] = "sos", ["Segai"] = "sge", ["Segeju"] = "seg", ["Seget"] = "sbg", ["Sehwi"] = "sfw", ["Seim"] = "sim", ["Seimat"] = "ssg", ["Seit-Kaitetu"] = "hik", ["Sekani"] = "sek", ["Sekapan"] = "skp", ["Sekar"] = "skz", ["Seke"] = "skj", ["Sekele"] = "vaj", ["Seki"] = "syi", ["Seko Padang"] = "skx", ["Seko Tengah"] = "sko", ["Sekpele"] = "lip", ["Selangor Sign Language"] = "kgi", ["Selaru"] = "slu", ["Selayar"] = "sly", ["Selee"] = "snw", ["Selepet"] = "spl", ["Selk'nam"] = "ona", ["Selonian"] = "sxl", ["Selungai Murut"] = "slg", ["Seluwasan"] = "sws", ["Sema"] = "nsm", ["Semandang"] = "sdm", ["Sembakung Murut"] = "sbr", ["Semimi"] = "etz", ["Semnani"] = "smy", ["Sempan"] = "xse", ["Tiếng Sena"] = "seh", ["Senara Sénoufo"] = "seq", ["Senaya"] = "syn", ["Sene"] = "sej", ["Sengele"] = "szg", ["Senggi"] = "snu", ["Sengo"] = "spk", ["Sengseng"] = "ssz", ["Senhaja De Srair"] = "sjs", ["Sensi"] = "sni", ["Sentani"] = "set", ["Senthang Chin"] = "sez", ["Sentinelese"] = "std", ["Sepa (Indonesia)"] = "spb", ["Sepa (New Guinea)"] = "spe", ["Sepen"] = "spm", ["Sepik Iwam"] = "iws", ["Sepik Mari"] = "mbx", ["Sera"] = "sry", ["Sere"] = "swf", ["Serer"] = "srr", ["Serili"] = "sve", ["Seroa"] = "kqu", ["Serrano"] = "ser", ["Seru"] = "szd", ["Serua"] = "srw", ["Serudung Murut"] = "srk", ["Serui-Laut"] = "seu", ["Seta"] = "stf", ["Setaman"] = "stm", ["Seti"] = "sbi", ["Severn Ojibwa"] = "ojs", ["Sewa Bay"] = "sew", ["Seychellois Creole"] = "crs", ["Sha"] = "scw", ["Shabak"] = "sdb", ["Shabo"] = "sbf", ["Shahmirzadi"] = "srz", ["Shahrudi"] = "shm", ["Shall-Zwall"] = "sha", ["Shama-Sambuga"] = "sqa", ["Shamang"] = "xsh", ["Shambala"] = "ksb", ["Shanenawa"] = "swo", ["Shanga"] = "sho", ["Shangzhai"] = "jih", ["Shaozhou Tuhua"] = "zhx-sht", ["Sharanahua"] = "mcd", ["Shark Bay"] = "ssv", ["Sharwa"] = "swq", ["Shasta"] = "sht", ["Shatt"] = "shj", ["Shau"] = "sqh", ["Shawnee"] = "sjw", ["She"] = "shx", ["Tiếng Shebayo"] = "awd-she", ["Shehri"] = "shv", ["Shekkacho"] = "moy", ["Sheko"] = "she", ["Shelta"] = "sth", ["Shendu"] = "shl", ["Sheni"] = "scv", ["Sherbro"] = "bun", ["Sherdukpen"] = "sdp", ["Tiếng Kham Sheshi"] = "kip", ["Shi"] = "shr", ["Shihhi Arabic"] = "ssh", ["Shiki"] = "gua", ["Shilluk"] = "shk", ["Tiếng Shinasha"] = "bwo", ["Shipibo-Conibo"] = "shp", ["Shixing"] = "sxg", ["Shoo-Minda-Nye"] = "bcv", ["Shoshone"] = "shh", ["Shua"] = "shg", ["Shuar"] = "jiv", ["Shuba"] = "cbq", ["Tiếng Shughnan"] = "sgh", ["Shumashti"] = "sts", ["Shumcho"] = "scu", ["Shuwa-Zamani"] = "ksa", ["Shwai"] = "shw", ["Sialum"] = "slw", ["Siamou"] = "sif", ["Sian"] = "spg", ["Siane"] = "snp", ["Siang"] = "sya", ["Siar-Lak"] = "sjr", ["Sibe"] = "nco", ["Sibu Melanau"] = "sdx", ["Sicanian"] = "sxc", ["Siculo-Arabic"] = "sqr", ["Sidetic"] = "xsd", ["Sie"] = "erg", ["Sierra Leone Sign Language"] = "sgx", ["Sierra Negra Nahuatl"] = "nsu", ["Sierra de Juárez Zapotec"] = "zaa", ["Sighu"] = "sxe", ["Sihan"] = "snr", ["Sika"] = "ski", ["Sikaiana"] = "sky", ["Sikaritai"] = "tty", ["Sikiana"] = "sik", ["Sikule"] = "skh", ["Sila"] = "slt", ["Silacayoapan Mixtec"] = "mks", ["Sileibi"] = "sbq", ["Silimo"] = "wul", ["Siliput"] = "mkc", ["Silopi"] = "xsp", ["Simaa"] = "sie", ["Simba"] = "sbw", ["Simbali"] = "smg", ["Simbari"] = "smb", ["Simbo"] = "sbb", ["Simeku"] = "smz", ["Simeulue"] = "smr", ["Simte"] = "smt", ["Sinacantán"] = "nai-sin", ["Sinagen"] = "siu", ["Sinasina"] = "sst", ["Sinaugoro"] = "snc", ["Sindarin"] = "sjn", ["Sindhi Bhil"] = "sbn", ["Sindihui Mixtec"] = "xts", ["Singa"] = "sgm", ["Singapore Sign Language"] = "sls", ["Singpho"] = "sgp", ["Sinicahua Mixtec"] = "xti", ["Sininkere"] = "skq", ["Sinte Romani"] = "rmo", ["Sinyar"] = "sys", ["Sinúfana"] = "sai-sin", ["Sio"] = "xsi", ["Siona"] = "snn", ["Sipakapense"] = "qum", ["Sira"] = "swj", ["Sirenik"] = "ysr", ["Siri"] = "sir", ["Siriano"] = "sri", ["Sirionó"] = "srq", ["Sirmauri"] = "srx", ["Siroi"] = "ssd", ["Sissala"] = "sld", ["Tiếng Tứ Thổ"] = "sit-sit", ["Siuslaw"] = "sis", ["Sivandi"] = "siy", ["Siwai"] = "siw", ["Siwu"] = "akp", ["Siyin Chin"] = "csy", ["Skagit"] = "ska", ["Skalvian"] = "svx", ["Ske"] = "ske", ["Skou"] = "skv", ["Slavomolisano"] = "svm", ["Slovakian Sign Language"] = "svk", ["Small Flowery Miao"] = "sfm", ["Smärky Kanum"] = "kxq", ["Snohomish"] = "sno", ["So'a"] = "ssq", ["Sobei"] = "sob", ["Sochiapam Chinantec"] = "cso", ["Soga"] = "xog", ["Sok"] = "skk", ["Soko"] = "soc", ["Sokoro"] = "sok", ["Solano"] = "xso", ["Soli"] = "sby", ["Solos"] = "sol", ["Som"] = "smc", ["Somba-Siawari"] = "bmu", ["Somra"] = "ntx", ["Somrai"] = "sor", ["Somray"] = "smu", ["Somyev"] = "kgt", ["Sonaga"] = "ysg", ["Sonde"] = "shc", ["Songe"] = "sop", ["Songlai Chin"] = "csj", ["Songomeno"] = "soe", ["Songoora"] = "sod", ["Sonha"] = "soi", ["Sonia"] = "siq", ["Soninke"] = "snk", ["Soo"] = "teu", ["Sop"] = "urw", ["Sori-Harengan"] = "sbh", ["Sorkhei"] = "sqo", ["Sorothaptic"] = "sxo", ["Sorsogon Ayta"] = "ays", ["Sos Kundi"] = "sdk", ["Sota Kanum"] = "krz", ["Sou"] = "sqq", ["South African Sign Language"] = "sfs", ["South Awyu"] = "aws", ["South Boma"] = "bnt-sbo", ["South Central Banda"] = "lnl", ["South Central Dinka"] = "dib", ["South Efate"] = "erk", ["South Fali"] = "fal", ["South Giziga"] = "giz", ["South Lembata"] = "lmf", ["South Marquesan"] = "mqm", ["South Muyu"] = "kts", ["South Nuaulu"] = "nxl", ["South Tairora"] = "omw", ["South Ucayali Ashéninka"] = "cpy", ["South Watut"] = "mcy", ["Southeast Ambrym"] = "tvk", ["Southeast Babar"] = "vbb", ["Southeast Ijo"] = "ijs", ["Southeast Pashayi"] = "psi", ["Southeast Tasmanian"] = "xpf", ["Southeastern Dinka"] = "dks", ["Southeastern Ixtlán Zapotec"] = "zpd", ["Southeastern Nochixtlán Mixtec"] = "mxy", ["Southeastern Pomo"] = "pom", ["Southeastern Puebla Nahuatl"] = "npl", ["Southeastern Tarahumara"] = "tcu", ["Southern Alta"] = "agy", ["Tiếng Bạch Nam"] = "bfs", ["Southern Birifor"] = "biv", ["Southern Bobo"] = "bwq", ["Southern Bontoc"] = "obk", ["Southern Carrier"] = "caf", ["Southern Catanduanes Bicolano"] = "bln", ["Southern Dagaare"] = "dga", ["Southern East Cree"] = "crj", ["Southern Ghale"] = "ghe", ["Southern Grebo"] = "grj", ["Southern Guiyang Hmong"] = "hmy", ["Southern Haida"] = "hax", ["Southern Hindko"] = "hnd", ["Southern Kalapuya"] = "sxk", ["Southern Kalinga"] = "ksc", ["Southern Khanty"] = "kca-sou", ["Southern Kissi"] = "kss", ["Southern Kiwai"] = "kjd", ["Southern Kurdish"] = "sdh", ["Southern Lolopo"] = "ysp", ["Southern Lorung"] = "lrr", ["Southern Ma'di"] = "snm", ["Southern Mashan Hmong"] = "hma", ["Southern Muji"] = "ymc", ["Southern Ngbandi"] = "nbw", ["Southern Nisu"] = "nsd", ["Southern Nuni"] = "nnw", ["Southern Ohlone"] = "css", ["Southern One"] = "osu", ["Southern Pame"] = "pmz", ["Southern Pinghua"] = "csp", ["Southern Pomo"] = "peq", ["Southern Puebla Mixtec"] = "mit", ["Southern Puget Sound Salish"] = "slh", ["Southern Pumi"] = "pmj", ["Southern Qiandong Miao"] = "hms", ["Tiếng Khương Nam"] = "qxs", ["Southern Rengma Naga"] = "nre", ["Southern Rincon Zapotec"] = "zsr", ["Southern Sama"] = "ssb", ["Southern Samo"] = "sbd", ["Southern Sierra Miwok"] = "skd", ["Southern Tidong"] = "itd", ["Southern Tiwa"] = "tix", ["Southern Toussian"] = "wib", ["Southern Tutchone"] = "tce", ["Southern Valley Yokuts"] = "nai-svy", ["Southwest Gbaya"] = "gso", ["Southwest Palawano"] = "plv", ["Southwest Pashayi"] = "psh", ["Southwest Tanna"] = "nwi", ["Southwestern Bontoc"] = "vbk", ["Southwestern Dinka"] = "dik", ["Southwestern Fars"] = "fay", ["Southwestern Guiyang Hmong"] = "hmg", ["Southwestern Huishui Hmong"] = "hmh", ["Southwestern Nisu"] = "nsv", ["Southwestern Tamang"] = "tsf", ["Southwestern Tarahumara"] = "twr", ["Southwestern Tepehuan"] = "tla", ["Southwestern Tlaxiaco Mixtec"] = "meh", ["Sowa"] = "sww", ["Sowanda"] = "sow", ["Soyaltepec Mazatec"] = "vmp", ["Soyaltepec Mixtec"] = "vmq", ["Spanish Sign Language"] = "ssp", ["Spiti Bhoti"] = "spt", ["Spokane"] = "spo", ["Squamish"] = "squ", ["Sri Lankan Creole Malay"] = "sci", ["Sri Lankan Sign Language"] = "sqs", ["Stod Bhoti"] = "sbu", ["Stoney"] = "sto", ["Suabo"] = "szp", ["Suarmin"] = "seo", ["Suau"] = "swp", ["Suba"] = "sxb", ["Suba-Simbiti"] = "ssc", ["Subi"] = "xsj", ["Subiya"] = "sbs", ["Subtiaba"] = "sut", ["Sudest"] = "tgo", ["Sudovian"] = "xsv", ["Suena"] = "sue", ["Suga"] = "sgi", ["Suganga"] = "sug", ["Sugut Dusun"] = "kzs", ["Suki"] = "sui", ["Suku"] = "sub", ["Sukuma"] = "suk", ["Sukur"] = "syk", ["Sukurum"] = "zsu", ["Sula"] = "szn", ["Sulka"] = "sua", ["Sulod"] = "srg", ["Sulung"] = "suv", ["Suma"] = "sqm", ["Sumariup"] = "siv", ["Sumau"] = "six", ["Sumbawa"] = "smw", ["Sumbwa"] = "suw", ["Sumtu Chin"] = "csv", ["Sunam"] = "ssk", ["Sunum"] = "ymn", ["Sunwar"] = "suz", ["Suoy"] = "syo", ["Supyire"] = "spp", ["Sur"] = "tdl", ["Surbakhal"] = "sbj", ["Surigaonon"] = "sgd", ["Sursurunga"] = "sgz", ["Suruahá"] = "swx", ["Surubu"] = "sde", ["Suruí"] = "sru", ["Suruí Do Pará"] = "mdz", ["Susquehannock"] = "sqn", ["Susu"] = "sus", ["Susuami"] = "ssu", ["Suundi"] = "sdj", ["Suwawa"] = "swu", ["Suyá"] = "suy", ["Swabian"] = "swg", ["Swampy Cree"] = "csw", ["Swedish Sign Language"] = "swl", ["Swiss-French Sign Language"] = "ssr", ["Swiss-German Sign Language"] = "sgg", ["Swiss-Italian Sign Language"] = "slf", ["Swo"] = "sox", ["Syenara Senoufo"] = "shz", ["Sácata"] = "sai-sac", ["São Paulo Kaingáng"] = "zkp", ["Sãotomense"] = "cri", ["Sìcìté Sénoufo"] = "sep", ["T'en"] = "tct", ["Tabaa Zapotec"] = "zat", ["Tabancale"] = "sai-tab", ["Tabaru"] = "tby", ["Tabasco Chontal"] = "chf", ["Tabasco Nahuatl"] = "nhc", ["Tabasco Zoque"] = "zoq", ["Tabla"] = "tnm", ["Tabo"] = "knv", ["Tabriak"] = "tzx", ["Tacahua Mixtec"] = "xtt", ["Tacana"] = "tna", ["Tadaksahak"] = "dsq", ["Tiếng Tadyawan"] = "tdy", ["Tae'"] = "rob", ["Tafi"] = "tcd", ["Tafreshi"] = "xme-taf", ["Tagabawa"] = "bgs", ["Tagakaulu Kalagan"] = "klg", ["Tagbanwa"] = "tbw", ["Tagbu"] = "tbm", ["Tagdal"] = "tda", ["Tagish"] = "tgx", ["Tagwana Senoufo"] = "tgw", ["Tahltan"] = "tht", ["Tai"] = "taw", ["Tai Hang Tong"] = "thc", ["Tai Hongjin"] = "tiz", ["Tai Long"] = "thi", ["Tai Thanh"] = "tmm", ["Tai Ya"] = "cuu", ["Taiap"] = "gpn", ["Taikat"] = "aos", ["Tiếng Nga bồi Taimyr"] = "crp-tpr", ["Tainae"] = "ago", ["Tairuma"] = "uar", ["Taita"] = "dav", ["Tiếng Taivoan"] = "tvx", ["Taiwan Sign Language"] = "tss", ["Taje"] = "pee", ["Tajio"] = "tdj", ["Tajuasohn"] = "tja", ["Takelma"] = "tkm", ["Takia"] = "tbc", ["Takka Apabhramsa"] = "inc-tak", ["Takua"] = "tkz", ["Takuu"] = "nho", ["Takwane"] = "tke", ["Talaud"] = "tld", ["Taliabu"] = "tlv", ["Talieng"] = "tdf", ["Talinga-Bwisi"] = "tlj", ["Talise"] = "tlr", ["Tallán"] = "sai-tal", ["Talodi"] = "tlo", ["Taloki"] = "tlk", ["Talondo'"] = "tln", ["Talu"] = "yta", ["Tama (Chad)"] = "tma", ["Tama (Colombia)"] = "ten", ["Tamagario"] = "tcg", ["Tamambo"] = "mla", ["Taman (Indonesia)"] = "tmn", ["Taman (Myanmar)"] = "tcl", ["Tamanaku"] = "tmz", ["Tamazola Mixtec"] = "vmx", ["Tambas"] = "tdk", ["Tambora"] = "xxt", ["Tambotalo"] = "tls", ["Tambunan Dusun"] = "kzt", ["Tami"] = "tmy", ["Tamnim Citak"] = "tml", ["Tampias Lobu"] = "low", ["Tampulma"] = "tpm", ["Tanacross"] = "tcb", ["Tanahmerah"] = "tcm", ["Tanapag"] = "tpv", ["Tandaganon"] = "tgn", ["Tandia"] = "tni", ["Tanema"] = "tnx", ["Tangale"] = "tan", ["Tangam"] = "sit-tgm", ["Tanggu"] = "tgu", ["Tangko"] = "tkx", ["Tangoa"] = "tgp", ["Tangsa"] = "nst", ["Tanguat"] = "tbs", ["Tanimuca-Retuarã"] = "tnc", ["Tanjijili"] = "uji", ["Tanudan Kalinga"] = "kml", ["Tanzanian Sign Language"] = "tza", ["Tapachultec"] = "nai-tap", ["Taparita"] = "sai-tpr", ["Tapayuna"] = "sai-tap", ["Tapeba"] = "tbb", ["Tapei"] = "afp", ["Tapieté"] = "tpj", ["Tar Gula"] = "kcm", ["Tarairiú"] = "sai-trr", ["Tiếng Tarantino"] = "roa-tar", ["Tarao"] = "tro", ["Taraon"] = "mhu", ["Tareng"] = "tgr", ["Tarjumo"] = "txj", ["Tarok"] = "yer", ["Tarpia"] = "tpf", ["Tartessian"] = "txr", ["Taruma"] = "tdm", ["Tasawaq"] = "twq", ["Tasmate"] = "tmt", ["Tiếng Tat"] = "ttt", ["Tataltepec Chatino"] = "cta", ["Tatana"] = "txx", ["Tataviam"] = "azc-tat", ["Tauade"] = "ttd", ["Taulil"] = "tuh", ["Taupota"] = "tpa", ["Taushiro"] = "trr", ["Tauya"] = "tya", ["Taveta"] = "tvs", ["Tawala"] = "tbo", ["Tawandê"] = "xtw", ["Tawang Monpa"] = "twm", ["Tawasa"] = "nai-taw", ["Taworta"] = "tbp", ["Tawoyan"] = "twy", ["Tawr Chin"] = "tcp", ["Tay Khang"] = "tnu", ["Tayabas Ayta"] = "ayy", ["Tiếng Tayma"] = "sem-tay", ["Tayo"] = "cks", ["Tiếng Taíno"] = "tnq", ["Tboli"] = "tbl", ["Tchitchege"] = "tck", ["Tchumbuli"] = "bqa", ["Te'un"] = "tve", ["Teanu"] = "tkw", ["Tebul Sign Language"] = "tsy", ["Tebul Ure Dogon"] = "dtu", ["Tecpatlán Totonac"] = "tcw", ["Tedaga"] = "tuq", ["Tedim Chin"] = "ctd", ["Tee"] = "tkq", ["Tefaro"] = "tfo", ["Tegali"] = "ras", ["Tehit"] = "kps", ["Tehuelche"] = "teh", ["Teiwa"] = "twe", ["Tejalapan Zapotec"] = "ztt", ["Teke-Fuumu"] = "ifm", ["Teke-Kukuya"] = "kkw", ["Teke-Laali"] = "lli", ["Teke-Tege"] = "teg", ["Teke-Tsaayi"] = "tyi", ["Teke-Tyee"] = "tyx", ["Tektiteko"] = "ttc", ["Tela-Masbuar"] = "tvm", ["Telefol"] = "tlf", ["Teluti"] = "tlt", ["Tembé"] = "tqb", ["Teme"] = "tdo", ["Temein"] = "teq", ["Temi"] = "soz", ["Temne"] = "tem", ["Temoaya Otomi"] = "ott", ["Tempasuk Dusun"] = "tdu", ["Tenango Otomi"] = "otn", ["Tene Kan Dogon"] = "dtk", ["Tenggarong Kutai Malay"] = "vkt", ["Tengger"] = "tes", ["Tenino"] = "tqn", ["Tenis"] = "tns", ["Tennet"] = "tex", ["Teojomulco Chatino"] = "omq-teo", ["Teop"] = "tio", ["Teor"] = "tev", ["Tepecano"] = "tep", ["Tepetotutla Chinantec"] = "cnt", ["Tepeuxila Cuicatec"] = "cux", ["Tepo Krumen"] = "ted", ["Teposcolula Mixtec"] = "omq-tel", ["Tequistlatec"] = "nai-teq", ["Ter Sami"] = "sjt", ["Tera"] = "ttr", ["Terebu"] = "trb", ["Terei"] = "buo", ["Tereno"] = "ter", ["Tereweng"] = "twg", ["Tiếng Teribe"] = "tfr", ["Terik"] = "tec", ["Termanu"] = "twu", ["Ternateño"] = "tmg", ["Tese"] = "keg", ["Teshenawa"] = "twc", ["Tetela"] = "tll", ["Tetelcingo Nahuatl"] = "nhg", ["Tetete"] = "teb", ["Tetserret"] = "tez", ["Tetun Dili"] = "tdt", ["Teushen"] = "sai-teu", ["Teutila Cuicatec"] = "cut", ["Tewa"] = "tew", ["Texcatepec Otomi"] = "otx", ["Texistepec Popoluca"] = "poq", ["Texmelucan Zapotec"] = "zpz", ["Tezoatlán Mixtec"] = "mxb", ["Tha"] = "thy", ["Thachanadan"] = "thn", ["Thado Chin"] = "tcz", ["Thai Sign Language"] = "tsq", ["Thaiphum Chin"] = "cth", ["Thakali"] = "ths", ["Thamudic"] = "sem-tha", ["Thangal Naga"] = "nki", ["Thangmi"] = "thf", ["Thao"] = "ssf", ["Tharaka"] = "thk", ["Tharrgari"] = "dhr", ["Thawa"] = "xtv", ["Thompson"] = "thp", ["Thopho"] = "ytp", ["Thu Lao"] = "tyl", ["Thulung"] = "tdh", ["Thurawal"] = "tbh", ["Thuri"] = "thu", ["Tiagbamrin Aizi"] = "ahi", ["Tiale"] = "mnl", ["Tibea"] = "ngy", ["Ticuna"] = "tca", ["Tidaá Mixtec"] = "mtx", ["Tidore"] = "tvo", ["Tiemacèwè Bozo"] = "boo", ["Tiene"] = "tii", ["Tifal"] = "tif", ["Tigak"] = "tgc", ["Tigon Mbembe"] = "nza", ["Tii"] = "txq", ["Tijaltepec Mixtec"] = "xtl", ["Tikar"] = "tik", ["Tikopia"] = "tkp", ["Tilapa Otomi"] = "otl", ["Tillamook"] = "til", ["Tilquiapan Zapotec"] = "zts", ["Tilung"] = "tij", ["Tima"] = "tms", ["Timbe"] = "tim", ["Timor Pidgin"] = "tvy", ["Timote"] = "sai-tim", ["Timucua"] = "tjm", ["Timugon Murut"] = "tih", ["Tinani"] = "lbf", ["Tingui-Boto"] = "tgv", ["Tinigua"] = "tit", ["Tinoc Kallahan"] = "tne", ["Tinputz"] = "tpz", ["Tiếng Tipai"] = "nai-tip", ["Tippera"] = "tpe", ["Tira"] = "tic", ["Tirahi"] = "tra", ["Tiranige Diga Dogon"] = "tde", ["Tircul"] = "pyx", ["Tiri"] = "cir", ["Tita"] = "tdq", ["Titan"] = "ttv", ["Tiv"] = "tiv", ["Tiwa"] = "lax", ["Tiếng Tiwi"] = "tiw", ["Tiéfo"] = "tiq", ["Tiéyaxo Bozo"] = "boz", ["Tjurruru"] = "tju", ["Tiếng Tepehua Tlachichilco"] = "tpt", ["Tlacoapa Me'phaa"] = "tpl", ["Tlacoatzintepec Chinantec"] = "ctl", ["Tlacolulita Zapotec"] = "zpk", ["Tlahuica"] = "ocu", ["Tlahuitoltepec Mixe"] = "mxp", ["Tlamacazapa Nahuatl"] = "nuz", ["Tlazoyaltepec Mixtec"] = "mqh", ["To"] = "toz", ["To'abaita"] = "mlu", ["Toaripi"] = "tqo", ["Toba"] = "tob", ["Toba Batak"] = "bbc", ["Toba-Maskoy"] = "tmf", ["Tobagonian Creole English"] = "tgh", ["Tobanga"] = "tng", ["Tobati"] = "tti", ["Tobelo"] = "tlb", ["Tobilung"] = "tgb", ["Tobo"] = "tbv", ["Tocantins Asurini"] = "asu", ["Tofanma"] = "tlg", ["Tofin Gbe"] = "tfi", ["Togbo-Vara Banda"] = "tor", ["Togoyo"] = "tgy", ["Tojolabal"] = "toj", ["Toka-Leya"] = "dov", ["Tokano"] = "zuh", ["Tol"] = "jic", ["Tolai"] = "ksd", ["Tolaki"] = "lbw", ["Tolomako"] = "tlm", ["Tolowa"] = "tol", ["Toloza"] = "ytl", ["Toma"] = "tod", ["Tomadino"] = "tdi", ["Tombelala"] = "ttp", ["Tombonuo"] = "txa", ["Tombulu"] = "tom", ["Tomini"] = "txm", ["Tommeginne"] = "xpv", ["Tommo So"] = "dto", ["Tomo Kan Dogon"] = "dtm", ["Tomoip"] = "tqp", ["Tondano"] = "tdn", ["Tonga (Malawi)"] = "tog", ["Tonga (Mozambique)"] = "toh", ["Tonga (Zambia)"] = "toi", ["Tongwe"] = "tny", ["Tonjon"] = "tjn", ["Tiếng Tonkawa"] = "tqw", ["Tonsawang"] = "tnw", ["Tonsea"] = "txs", ["Tontemboan"] = "tnt", ["Toogee"] = "xpx", ["Topoiyo"] = "toy", ["Toposa"] = "toq", ["Toraja-Sa'dan"] = "sda", ["Toram"] = "trj", ["Torau"] = "ttu", ["Toro"] = "tdv", ["Toro So Dogon"] = "dts", ["Toro Tegu Dogon"] = "dtt", ["Toromono"] = "tno", ["Torona"] = "tqr", ["Torres Strait Creole"] = "tcs", ["Torricelli"] = "tei", ["Torricelli Yau"] = "yyu", ["Torá"] = "trz", ["Tosu"] = "sit-tos", ["Totela"] = "ttl", ["Totoli"] = "txe", ["Totomachapan Zapotec"] = "zph", ["Totontepec Mixe"] = "mto", ["Totoro"] = "ttk", ["Touo"] = "tqu", ["Toura"] = "neb", ["Tourangeau"] = "roa-tou", ["Towei"] = "ttn", ["Transylvanian Saxon"] = "gmw-tsx", ["Traveller Danish"] = "rmd", ["Traveller Norwegian"] = "rmg", ["Traveller Scottish"] = "trl", ["Tregami"] = "trm", ["Tremembé"] = "tme", ["Trieng"] = "stg", ["Trimuris"] = "tip", ["Tring"] = "tgq", ["Tringgus"] = "trx", ["Trinidad and Tobago Sign Language"] = "lst", ["Trinidadian Creole English"] = "trf", ["Trinitario"] = "trn", ["Truká"] = "tka", ["Trumai"] = "tpy", ["Ts'ün-Lao"] = "tsl", ["Tsaangi"] = "tsa", ["Tsafiki"] = "cof", ["Tsakwambo"] = "kvz", ["Tsetsaut"] = "txc", ["Tsez"] = "ddo", ["Tshobdun"] = "sit-tsh", ["Tshwa"] = "hio", ["Tsikimba"] = "kdl", ["Tsimané"] = "cas", ["Tsishingini"] = "tsw", ["Tso"] = "ldp", ["Tsogo"] = "tsv", ["Tsotsitaal"] = "fly", ["Tsum"] = "ttz", ["Tsuvadi"] = "tvd", ["Tsuvan"] = "tsh", ["Tswa"] = "tsc", ["Tswapong"] = "two", ["Tubar"] = "tbu", ["Tucano"] = "tuo", ["Tugen"] = "tuy", ["Tugun"] = "tzn", ["Tugutil"] = "tuj", ["Tukpa"] = "tpq", ["Tukudede"] = "tkd", ["Tukumanféd"] = "tkf", ["Tula"] = "tul", ["Tule-Kaweah Yokuts"] = "nai-tky", ["Tulehu"] = "tlu", ["Tulishi"] = "tey", ["Tulu-Bohuai"] = "rak", ["Tulua"] = "aus-tul", ["Tuma-Irumu"] = "iou", ["Tumak"] = "tmc", ["Tumi"] = "kku", ["Tumleo"] = "tmq", ["Tumshuqese"] = "xtq", ["Tumtum"] = "tbr", ["Tumulung Sisaala"] = "sil", ["Tunen"] = "tvu", ["Tungag"] = "lcm", ["Tunggare"] = "trt", ["Tunia"] = "tug", ["Tiếng Tunica"] = "tun", ["Tunisian Arabic"] = "aeb", ["Tunisian Berber"] = "sds", ["Tunisian Sign Language"] = "tse", ["Tunjung"] = "tjg", ["Tunumiisut"] = "esx-tut", ["Tunzu"] = "dza", ["Tuotomb"] = "ttf", ["Tuparí"] = "tpr", ["Tupinikin"] = "tpk", ["Tupuri"] = "tui", ["Turaka"] = "trh", ["Turi"] = "trd", ["Turiwára"] = "twt", ["Turka"] = "tuz", ["Turkana"] = "tuv", ["Turkish Sign Language"] = "tsm", ["Turks and Caicos Creole English"] = "tch", ["Tiếng Turoyo"] = "tru", ["Turumsa"] = "tqm", ["Turung"] = "try", ["Tuscarora"] = "tus", ["Tutelo"] = "tta", ["Tutong"] = "ttg", ["Tutsa Naga"] = "tvt", ["Tutuba"] = "tmi", ["Tututepec Mixtec"] = "mtu", ["Tututni"] = "tuu", ["Tuwali Ifugao"] = "ifk", ["Tuwari"] = "tww", ["Tuwuli"] = "bov", ["Tuxináwa"] = "tux", ["Tuxá"] = "tud", ["Tuyuca"] = "tue", ["Twana"] = "twa", ["Twendi"] = "twn", ["Tiếng Tyap"] = "kcg", ["Tyaraity"] = "woa", ["Tyerrernotepanner"] = "xph", ["Tz'utujil"] = "tzj", ["Tzeltal"] = "tzh", ["Tiếng Tzotzil"] = "tzo", ["Tày Tac"] = "tyt", ["Tiếng Tây Bồi"] = "tas", ["Téén"] = "lor", ["Tübatulabal"] = "tub", ["Tiếng U"] = "uuu", ["Uab Meto"] = "aoz", ["Uamué"] = "uam", ["Uare"] = "ksj", ["Ubaghara"] = "byc", ["Ubang"] = "uba", ["Ubi"] = "ubi", ["Ubir"] = "ubr", ["Ucayali-Yurúa Ashéninka"] = "cpb", ["Uda"] = "uda", ["Tiếng Uduk"] = "udu", ["Ufim"] = "ufi", ["Ugandan Sign Language"] = "ugn", ["Ughele"] = "uge", ["Uhami"] = "uha", ["Uisai"] = "uis", ["Ujir"] = "udj", ["Ukaan"] = "kcf", ["Ukhwejo"] = "ukh", ["Ukit"] = "umi", ["Ukpe-Bayobiri"] = "ukp", ["Ukpet-Ehom"] = "akd", ["Ukrainian Sign Language"] = "ukl", ["Ukue"] = "uku", ["Ukuriguma"] = "ukg", ["Ukwa"] = "ukq", ["Ukwuani-Aboh-Ndoni"] = "ukw", ["Ulau-Suain"] = "svb", ["Tiếng Ulch"] = "ulc", ["Uldeme"] = "udl", ["Ulithian"] = "uli", ["Ullatan"] = "ull", ["Ulumanda'"] = "ulm", ["Ulwa"] = "ulw", ["Uma"] = "ppk", ["Uma' Lasan"] = "xky", ["Uma' Lung"] = "ulu", ["Umanakaina"] = "gdn", ["Umatilla"] = "uma", ["Umbindhamu"] = "umd", ["Umbu-Ungu"] = "ubu", ["Umbugarla"] = "umr", ["Tiếng Umbundu"] = "umb", ["Umbuygamu"] = "umg", ["Umeda"] = "upi", ["Umiida"] = "xud", ["Umiray Dumaget Agta"] = "due", ["Umon"] = "umm", ["Umotína"] = "umo", ["Umpila"] = "ump", ["Una"] = "mtg", ["Unami"] = "unm", ["Unas"] = "art-una", ["Unde Kaili"] = "unz", ["Uneme"] = "une", ["Unggaranggu"] = "xun", ["Unggumi"] = "xgu", ["Unserdeutsch"] = "uln", ["Unua"] = "onu", ["Unubahe"] = "unu", ["Uokha"] = "uok", ["Upper Chehalis"] = "cjh", ["Upper Grand Valley Dani"] = "dna", ["Tiếng Thượng Kinabatangan"] = "dmg", ["Upper Kuskokwim"] = "kuu", ["Upper Necaxa Totonac"] = "tku", ["Upper Tanana"] = "tau", ["Upper Taromi"] = "tov", ["Upper Umpqua"] = "xup", ["Ura (New Guinea)"] = "uro", ["Ura (Vanuatu)"] = "uur", ["Uradhi"] = "urf", ["Urali"] = "url", ["Urapmin"] = "urm", ["Urarina"] = "ura", ["Urat"] = "urt", ["Urhobo"] = "urh", ["Uri"] = "uvh", ["Urigina"] = "urg", ["Urim"] = "uri", ["Urimo"] = "urx", ["Uripiv-Wala-Rano-Atchin"] = "upv", ["Urningangg"] = "urc", ["Uru"] = "ure", ["Uru-Eu-Wau-Wau"] = "urz", ["Uru-Pa-In"] = "urp", ["Uruangnirin"] = "urn", ["Uruava"] = "urv", ["Uruguayan Sign Language"] = "ugy", ["Urumi"] = "uru", ["Usaghade"] = "usk", ["Usan"] = "wnu", ["Usarufa"] = "usa", ["Usila Chinantec"] = "cuc", ["Uspanteco"] = "usp", ["Usui"] = "usi", ["Utarmbung"] = "omo", ["Ute"] = "ute", ["Utu"] = "utu", ["Tiếng Uvbie"] = "evh", ["Uwinymil"] = "aus-uwi", ["Uya"] = "usu", ["Uyajitaya"] = "duk", ["Uzekwe"] = "eze", ["Vaagri Booli"] = "vaa", ["Vaghua"] = "tva", ["Vagla"] = "vag", ["Vai"] = "vai", ["Vaiphei"] = "vap", ["Vale"] = "vae", ["Valencian Sign Language"] = "vsv", ["Valle Nacional Chinantec"] = "cvn", ["Valley Maidu"] = "vmv", ["Valman"] = "van", ["Valpei"] = "vlp", ["Vamale"] = "mkt", ["Vame"] = "mlr", ["Vandalic"] = "xvn", ["Vangunu"] = "mpr", ["Vanimo"] = "vam", ["Vanji"] = "ira-wnj", ["Vanuma"] = "vau", ["Vao"] = "vao", ["Varhadi"] = "vah", ["Varisi"] = "vrs", ["Vayu"] = "vay", ["Veddah"] = "ved", ["Vehes"] = "val", ["Vemgo-Mabas"] = "vem", ["Venezuelan Sign Language"] = "vsl", ["Ventureño"] = "veo", ["Vera'a"] = "vra", ["Vestinian"] = "xvs", ["Vidunda"] = "vid", ["Viemo"] = "vig", ["Vilela"] = "vil", ["Vili"] = "vif", ["Villa Viciosa Agta"] = "dyg", ["Vincentian Creole English"] = "svc", ["Virgin Islands Creole"] = "vic", ["Vishavan"] = "vis", ["Viti"] = "vit", ["Vitou"] = "vto", ["Viya"] = "gev", ["Vlax Romani"] = "rmy", ["Volga German"] = "gmw-vog", ["Vono"] = "kch", ["Voro"] = "vor", ["Vracada Apabhramsa"] = "inc-vra", ["Vumbu"] = "vum", ["Vunapu"] = "vnp", ["Vunjo"] = "vun", ["Vute"] = "vut", ["Tiếng Võro"] = "vro", ["Wa"] = "wbm", ["Wa'ema"] = "wag", ["Waama"] = "wwa", ["Waamwang"] = "wmn", ["Wab"] = "wab", ["Wabo"] = "wbb", ["Waboda"] = "kmx", ["Waci Gbe"] = "wci", ["Wadaginam"] = "wdg", ["Waddar"] = "wbq", ["Wadi Wadi"] = "xwd", ["Wadjabangayi"] = "wdy", ["Wadjiginy"] = "wdj", ["Wadjigu"] = "wdu", ["Wae Rana"] = "wrx", ["Waffa"] = "waj", ["Wagawaga"] = "wgb", ["Wagaya"] = "wga", ["Wagdi"] = "wbr", ["Wageman"] = "waq", ["Wagi"] = "fad", ["Wahau Kayan"] = "whu", ["Wahau Kenyah"] = "whk", ["Tiếng Wahgi"] = "wgi", ["Waigali"] = "wbk", ["Waigeo"] = "wgo", ["Waikuri"] = "nai-wai", ["Wailaki"] = "wlk", ["Wailapa"] = "wlr", ["Waima'a"] = "wmh", ["Waimiri-Atroari"] = "atr", ["Wainumá"] = "awd-wai", ["Waioli"] = "wli", ["Waitaká"] = "sai-wai", ["Waja"] = "wja", ["Wajarri"] = "wbv", ["Wajuk"] = "xwj", ["Waka"] = "wav", ["Wakawaka"] = "wkw", ["Wakoná"] = "waf", ["Wala"] = "lgl", ["Walak"] = "wlw", ["Walangama"] = "nlw", ["Wali (Ghana)"] = "wlx", ["Wali (Sudan)"] = "wll", ["Waling"] = "wly", ["Walio"] = "wla", ["Walla Walla"] = "waa", ["Walmajarri"] = "wmt", ["Wam"] = "wmo", ["Wamas"] = "wmc", ["Wambaya"] = "wmb", ["Wambon"] = "wms", ["Wamey"] = "cou", ["Wamin"] = "wmi", ["Wampar"] = "lbq", ["Wampur"] = "waz", ["Wan"] = "wan", ["Wanambre"] = "wnb", ["Wanap"] = "wnp", ["Wancho"] = "nnp", ["Wanda"] = "wbh", ["Wandala"] = "mfi", ["Wandamen"] = "wad", ["Wandarang"] = "wnd", ["Wandji"] = "wdd", ["Wanga"] = "lwg", ["Wanggamala"] = "wnm", ["Wangganguru"] = "wgg", ["Wanggom"] = "wng", ["Wangkayutyuru"] = "wky", ["Wangkumara"] = "xwk", ["Wanham"] = "sai-wnm", ["Wanji"] = "wbi", ["Wanman"] = "wbt", ["Wannu"] = "jub", ["Wano"] = "wno", ["Wantoat"] = "wnc", ["Wanukaka"] = "wnk", ["Wanyi"] = "wny", ["Wané"] = "hwa", ["Wapan"] = "juk", ["Wapishana"] = "wap", ["Wappo"] = "wao", ["Wara"] = "wbf", ["Warao"] = "wba", ["Warapu"] = "wra", ["Waray Sorsogon"] = "srv", ["Tiếng Wardaman"] = "wrr", ["Wardandi"] = "wxw", ["Warembori"] = "wsa", ["Wari'"] = "pav", ["Waris"] = "wrs", ["Waritai"] = "wbe", ["Wariyangga"] = "wri", ["Warkay-Bipim"] = "bgv", ["Warlmanpa"] = "wrl", ["Warlpiri"] = "wbp", ["Warluwara"] = "wrb", ["Warnang"] = "wrn", ["Waropen"] = "wrp", ["Warray"] = "wrz", ["Warrgamay"] = "wgy", ["Warrwa"] = "wwr", ["Waru"] = "wru", ["Warumungu"] = "wrm", ["Waruna"] = "wrv", ["Warungu"] = "wrg", ["Warwar Feni"] = "hrw", ["Wasa"] = "wss", ["Wasco-Wishram"] = "wac", ["Wasembo"] = "gsp", ["Washo"] = "was", ["Waskia"] = "wsk", ["Tiếng Wastek"] = "hus", ["Wasu"] = "wsu", ["Watakataui"] = "wtk", ["Watam"] = "wax", ["Wathaurong"] = "wth", ["Watiwa"] = "wtf", ["Watubela"] = "wah", ["Waube"] = "kop", ["Wauja"] = "wau", ["Wauyai"] = "wuy", ["Wawa"] = "www", ["Wawonii"] = "wow", ["Waxiang"] = "wxa", ["Wayanad Chetti"] = "ctt", ["Wayoró"] = "wyr", ["Wayumará"] = "sai-way", ["Wedau"] = "wed", ["Weh"] = "weh", ["Welaung"] = "weu", ["Weliki"] = "klh", ["Welsh Romani"] = "rmw", ["Wemale"] = "weo", ["Tiếng Wemba-Wemba"] = "xww", ["Weme Gbe"] = "wem", ["Wendat"] = "wdt", ["Weri"] = "wer", ["Wersing"] = "kvw", ["West Albay Bikol"] = "fbl", ["West Ambae"] = "nnd", ["West Central Banda"] = "bbp", ["Tiếng Tây Duyên hải Bajau"] = "bdr", ["West Damar"] = "drn", ["West Greenlandic Pidgin"] = "crp-gep", ["West Lembata"] = "lmj", ["West Masela"] = "mss", ["West Tarangan"] = "txn", ["West Uvean"] = "uve", ["West-Central Limba"] = "lia", ["Western Arrernte"] = "are", ["Western Bolivian Guaraní"] = "gnw", ["Western Bukidnon Manobo"] = "mbb", ["Western Dani"] = "dnw", ["Western Durango Nahuatl"] = "azn", ["Western Fijian"] = "wyy", ["Western Gurung"] = "gvr", ["Western Jicaque"] = "und-wji", ["Western Juxtlahuaca Mixtec"] = "jmx", ["Western Karaboro"] = "kza", ["Western Keres"] = "kjq", ["Western Krahn"] = "krw", ["Western Lalu"] = "ywl", ["Western Maninkakan"] = "mlq", ["Tiếng Mari Tây"] = "mrj", ["Western Mashan Hmong"] = "hmw", ["Western Meohang"] = "raf", ["Western Muria"] = "mut", ["Tiếng Tân Aram Tây"] = "amw", ["Western Ojibwa"] = "ojw", ["Western Panjabi"] = "pnb", ["Western Penan"] = "pne", ["Western Sisaala"] = "ssl", ["Western Subanon"] = "suc", ["Western Tawbuid"] = "twb", ["Western Totonac"] = "tqt", ["Western Tunebo"] = "tnb", ["Western Xwla Gbe"] = "xwl", ["Westrobothnian"] = "gmq-bot", ["Weyewa"] = "wew", ["White Lachi"] = "lwh", ["Whitesands"] = "tnp", ["Wiarumus"] = "tua", ["Wichita"] = "wic", ["Wichí Lhamtés Güisnay"] = "mzh", ["Wichí Lhamtés Nocten"] = "mtp", ["Wichí Lhamtés Vejoz"] = "wlv", ["Wik-Epa"] = "wie", ["Wik-Iiyanh"] = "wij", ["Wik-Keyangan"] = "wif", ["Wik-Me'anha"] = "wih", ["Wik-Mungkan"] = "wim", ["Wik-Ngathana"] = "wig", ["Wikalkan"] = "wik", ["Wikngenchera"] = "wua", ["Wilawila"] = "wil", ["Wintu"] = "wnw", ["Winyé"] = "kst", ["Wipi"] = "gdr", ["Tiếng Wiradjuri"] = "wrh", ["Wiraféd"] = "wir", ["Wirangu"] = "wgu", ["Wiru"] = "wiu", ["Wirö"] = "wpc", ["Wiwa"] = "mbp", ["Tiếng Wiyot"] = "wiy", ["Woccon"] = "xwc", ["Wogamusin"] = "wog", ["Wogeo"] = "woc", ["Woi"] = "wbw", ["Tiếng Woiwurrung"] = "wyi", ["Wojenaka"] = "jod", ["Wolane"] = "wle", ["Wolani"] = "wod", ["Woleaian"] = "woe", ["Womo"] = "wmx", ["Wong-gie"] = "aus-won", ["Wongo"] = "won", ["Woods Cree"] = "cwd", ["Woria"] = "wor", ["Worimi"] = "kda", ["Worodougou"] = "jud", ["Worora"] = "wro", ["Wotapuri-Katarqalai"] = "wsv", ["Woun Meu"] = "noa", ["Wudu"] = "wud", ["Wulguru"] = "aus-wul", ["Wuliwuli"] = "wlu", ["Wulna"] = "wux", ["Wumboko"] = "bqm", ["Wumbvu"] = "wum", ["Wumeng"] = "ywu", ["Wunai Bunu"] = "bwn", ["Wunambal"] = "wub", ["Wurrugu"] = "wur", ["Wusa"] = "yig", ["Wushi"] = "bse", ["Wusi"] = "wsi", ["Wutung"] = "wut", ["Wuvulu-Aua"] = "wuv", ["Wyandot"] = "wya", ["Wára"] = "tci", ["Wãpha"] = "juw", ["Wè Southern"] = "gxx", ["Wè Western"] = "wec", ["Xadani Zapotec"] = "zax", ["Xakriabá"] = "xkr", ["Xanaguía Zapotec"] = "ztg", ["Xaragure"] = "axx", ["Tiếng Xavante"] = "xav", ["Xerénte"] = "xer", ["Xetá"] = "xet", ["Xicotepec de Juárez Totonac"] = "too", ["Xinca"] = "xin", ["Xingú Asuriní"] = "asn", ["Xipaya"] = "xiy", ["Xiri"] = "xii", ["Xiriâna"] = "xir", ["Xishanba Lalo"] = "ywt", ["Xocó"] = "sai-xoc", ["Xokleng"] = "xok", ["Xukurú"] = "xoo", ["Xwela Gbe"] = "xwe", ["Yaa"] = "iyx", ["Tiếng Yaaku"] = "muu", ["Yabarana"] = "yar", ["Yabaâna"] = "ybn", ["Yaben"] = "ybm", ["Yabong"] = "ybo", ["Yabula Yabula"] = "yxy", ["Yace"] = "ekr", ["Yafi"] = "wfg", ["Yagara"] = "yxg", ["Yagaria"] = "ygr", ["Yagomi"] = "ygm", ["Yagua"] = "yad", ["Yagwoia"] = "ygw", ["Yahadian"] = "ner", ["Yahang"] = "rhp", ["Yahuna"] = "ynu", ["Yaka"] = "yaf", ["Yakaikeke"] = "ykk", ["Yakoma"] = "yky", ["Yala"] = "yba", ["Yalahatan"] = "jal", ["Yalakalore"] = "xyl", ["Yalarnnga"] = "ylr", ["Yale"] = "nce", ["Yaleba"] = "ylb", ["Yalunka"] = "yal", ["Yalálag Zapotec"] = "zpu", ["Yamap"] = "ymp", ["Yamba"] = "yam", ["Yambes"] = "ymb", ["Yambeta"] = "yat", ["Yamdena"] = "jmd", ["Yameo"] = "yme", ["Yaminahua"] = "yaa", ["Yamongeri"] = "ymg", ["Yamphu"] = "ybi", ["Yan-nhangu"] = "jay", ["Yana"] = "ynn", ["Yanda"] = "yda", ["Yanda Dogon"] = "dym", ["Yandjibara"] = "xyb", ["Yandruwandha"] = "ynd", ["Yanesha'"] = "ame", ["Yangben"] = "yav", ["Yangkaal"] = "aus-ynk", ["Yangkam"] = "bsx", ["Yangman"] = "jng", ["Yango"] = "yng", ["Yangulam"] = "ynl", ["Yangum Dey"] = "yde", ["Yangum Gel"] = "ygl", ["Yangum Mon"] = "ymo", ["Yankunytjatjara"] = "kdd", ["Yanomamö"] = "guu", ["Yanomámi"] = "wca", ["Yansi"] = "yns", ["Tiếng Yanyuwa"] = "jao", ["Tiếng Yao"] = "yao", ["Yaosakor Asmat"] = "asy", ["Yaouré"] = "yre", ["Yaqay"] = "jaq", ["Yaqui"] = "yaq", ["Yarawata"] = "yrw", ["Yareba"] = "yrb", ["Yareni Zapotec"] = "zae", ["Yarli"] = "yxl", ["Yarluyandi"] = "yry", ["Yarumá"] = "sai-yar", ["Yarí"] = "yri", ["Yasa"] = "yko", ["Yatay"] = "yty", ["Yatee Zapotec"] = "zty", ["Tiếng Zapotec Yatzachi"] = "zav", ["Yaul"] = "yla", ["Yaur"] = "jau", ["Yautepec Zapotec"] = "zpb", ["Yavitero"] = "yvt", ["Yawa"] = "yva", ["Yawalapití"] = "yaw", ["Yawanawa"] = "ywn", ["Yawarawarga"] = "yww", ["Yaweyuha"] = "yby", ["Yawijibaya"] = "jbw", ["Yawiyo"] = "ybx", ["Yawuru"] = "ywr", ["Yaygir"] = "xya", ["Tiếng Yazghulom"] = "yah", ["Yei"] = "jei", ["Yekhee"] = "ets", ["Yekora"] = "ykr", ["Yelmek"] = "jel", ["Yelogu"] = "ylg", ["Yemba"] = "ybb", ["Yemeni Arabic"] = "ayn", ["Yendang"] = "yen", ["Yeni"] = "yei", ["Yeniche"] = "yec", ["Yerakai"] = "yra", ["Yeretuar"] = "gop", ["Yerukula"] = "yeu", ["Yeskwa"] = "yes", ["Yessan-Mayo"] = "yss", ["Yetfa"] = "yet", ["Yeyi"] = "yey", ["Yil"] = "yll", ["Tiếng Creole Nghi Lan"] = "ycr", ["Yimas"] = "yee", ["Yimchungru Naga"] = "yim", ["Yinbaw Karen"] = "kvu", ["Yinchia"] = "yin", ["Tiếng Yindjibarndi"] = "yij", ["Yindjilandji"] = "yil", ["Yine"] = "pib", ["Yinggarda"] = "yia", ["Yinhawangka"] = "ywg", ["Yiningayi"] = "ygi", ["Yintale Karen"] = "kvy", ["Yinwum"] = "yxm", ["Yir-Yoront"] = "yiy", ["Yirandali"] = "ljw", ["Yis"] = "yis", ["Yitha Yitha"] = "xth", ["Yoba"] = "yob", ["Yocoboué Dida"] = "gud", ["Yoidik"] = "ydk", ["Yoke"] = "yki", ["Yolmo"] = "scp", ["Yolngu Sign Language"] = "ygs", ["Yoloxochitl Mixtec"] = "xty", ["Yom"] = "pil", ["Yombe"] = "yom", ["Yopno"] = "yut", ["Yora"] = "mts", ["Yorta Yorta"] = "xyy", ["Tiếng Mixtec Yosondúa"] = "mpm", ["Younuo Bunu"] = "buh", ["Yout Wam"] = "ytw", ["Yuaga"] = "nua", ["Yucatec Maya Sign Language"] = "msd", ["Yuchi"] = "yuc", ["Yucuañe Mixtec"] = "mvg", ["Yucuna"] = "ycn", ["Yugambal"] = "yub", ["Yugoslavian Sign Language"] = "ysl", ["Yugul"] = "ygu", ["Yuhup"] = "yab", ["Yuki"] = "yuk", ["Yukpa"] = "yup", ["Yukuben"] = "ybl", ["Yulu"] = "yul", ["Yuma"] = "yum", ["Yumana"] = "awd-yum", ["Yupiltepeque"] = "nai-yup", ["Yupua"] = "sai-yup", ["Yuqui"] = "yuq", ["Yuracare"] = "yuz", ["Yuru"] = "ljx", ["Yurumanguí"] = "sai-yur", ["Yurutí"] = "yui", ["Yutanduchi Mixtec"] = "mab", ["Yuwana"] = "yau", ["Yuyu"] = "yxu", ["Yámana"] = "yag", ["Zaachila Zapotec"] = "ztx", ["Zabana"] = "kji", ["Zacatepec Chatino"] = "ctz", ["Zacatlán-Ahuacatlán-Tepetzintla Nahuatl"] = "nhi", ["Zakhring"] = "zkr", ["Zambian Sign Language"] = "zsl", ["Zan Gula"] = "zna", ["Zanaki"] = "zak", ["Zande"] = "zne", ["Zangskari"] = "zau", ["Zangwal"] = "zah", ["Tiếng Zapotec Zaniza"] = "zpw", ["Tiếng Zapotec"] = "zap", ["Zaramo"] = "zaj", ["Zari"] = "zaz", ["Zauzou"] = "zal", ["Tiếng Karen Zayein"] = "kxk", ["Zazao"] = "jaj", ["Zbu"] = "sit-zbu", ["Zeem"] = "zua", ["Zemba"] = "dhm", ["Zeme Naga"] = "nzm", ["Zemgalian"] = "xzm", ["Zenag"] = "zeg", ["Zenzontepec Chatino"] = "czn", ["Zhang-Zhung"] = "xzh", ["Zhire"] = "zhi", ["Zhoa"] = "zhw", ["Zhár"] = "jjr", ["Zia"] = "zia", ["Zialo"] = "zil", ["Zigula"] = "ziw", ["Zimakani"] = "zik", ["Zimba"] = "zmb", ["Zimbabwe Sign Language"] = "zib", ["Zinza"] = "zin", ["Zipser German"] = "gmw-zps", ["Zire"] = "sih", ["Ziriya"] = "zir", ["Zizilivakan"] = "ziz", ["Zo'é"] = "pto", ["Zokhuo"] = "yzk", ["Tiếng Zapotec Zoogocho"] = "zpq", ["Zotung Chin"] = "czt", ["Zou"] = "zom", ["Zulgo-Gemzek"] = "gnd", ["Zumaya"] = "zuy", ["Zuni"] = "zun", ["Zuwara"] = "ber-zuw", ["Zyphe"] = "zyp", ["Záparo"] = "zro", ["biệt ngữ Chinook"] = "chn", ["không xác định ngôn ngữ"] = "und", ["ngôn ngữ ký hiệu Mỹ"] = "ase", ["Tiếng 'Are'are"] = "alu", ["Tiếng A Xương"] = "acn", ["Tiếng A-Hmao"] = "hmd", ["Tiếng Aari"] = "aiw", ["Tiếng Aasax"] = "aas", ["Tiếng Abaga"] = "abg", ["Tiếng Abai"] = "poz-abi", ["Tiếng Abau"] = "aau", ["Tiếng Abaza"] = "abq", ["Tiếng Abidji"] = "abi", ["Tiếng Abinomn"] = "bsa", ["Tiếng Abkhaz"] = "ab", ["Tiếng Abkhaz-Abaza nguyên thủy"] = "cau-abz-pro", ["Tiếng Aceh"] = "ace", ["Tiếng Achawa"] = "aca", ["Tiếng Acheron"] = "acz", ["Tiếng Acholi"] = "ach", ["Tiếng Adangme"] = "ada", ["Tiếng Adja"] = "ajg", ["Tiếng Adygea"] = "ady", ["Tiếng Adzera"] = "adz", ["Tiếng Afar"] = "aa", ["Tiếng Afrikaans"] = "af", ["Tiếng Agawam"] = "alg-aga", ["Tiếng Aghem"] = "agq", ["Tiếng Aghul"] = "agx", ["Tiếng Aghwan"] = "xag", ["Tiếng Ahom"] = "aho", ["Tiếng Ahtna"] = "aht", ["Tiếng Ai Cập"] = "egy", ["Tiếng Ai Cập bình dân"] = "egx-dem", ["Tiếng Aimol"] = "aim", ["Tiếng Ainu"] = "ain", ["Tiếng Aiton"] = "aio", ["Tiếng Ajië"] = "aji", ["Tiếng Aka-Bo"] = "akm", ["Tiếng Aka-Jeru"] = "akj", ["Tiếng Akan"] = "ak", ["Tiếng Akawaio"] = "ake", ["Tiếng Akha"] = "ahk", ["Tiếng Akhvakh"] = "akv", ["Tiếng Akkad"] = "akk", ["Tiếng Aklanon"] = "akl", ["Tiếng Alaba-K’abeena"] = "alw", ["Tiếng Alabama"] = "akz", ["Tiếng Alagwa"] = "wbj", ["Tiếng Alak"] = "alk", ["Tiếng Alawa"] = "alh", ["Tiếng Albani"] = "sq", ["Tiếng Albani nguyên thủy"] = "sqj-pro", ["Tiếng Alchuka"] = "tuw-alk", ["Tiếng Alekano"] = "gah", ["Tiếng Aleut"] = "ale", ["Tiếng Algonquin"] = "alq", ["Tiếng Algonquin nguyên thủy"] = "alg-pro", ["Tiếng Alsea"] = "aes", ["Tiếng Alutor"] = "alr", ["Tiếng Ama"] = "amm", ["Tiếng Amahuaca"] = "amc", ["Tiếng Amaimon"] = "ali", ["Tiếng Amarasi"] = "aaz", ["Tiếng Ambrak"] = "aag", ["Tiếng Amdang"] = "amj", ["Tiếng Amhara"] = "am", ["Tiếng Amis"] = "ami", ["Tiếng Amurdag"] = "amg", ["Tiếng Amuzgo"] = "amu", ["Tiếng Anal"] = "anm", ["Tiếng Andi"] = "ani", ["Tiếng Angika"] = "anp", ["Tiếng Angola"] = "aoa", ["Tiếng Anh"] = "en", ["Tiếng Anh Solombala"] = "crp-slb", ["Tiếng Anh cổ"] = "ang", ["Tiếng Anh trung đại"] = "enm", ["Tiếng Anii"] = "blo", ["Tiếng Ankave"] = "aak", ["Tiếng Anuki"] = "aui", ["Tiếng Anyi"] = "any", ["Tiếng Apache Tây"] = "apw", ["Tiếng Aparaí"] = "apy", ["Tiếng Apinayé"] = "apn", ["Tiếng Aputai"] = "apx", ["Tiếng Aquitani"] = "xaq", ["Tiếng Aragon"] = "an", ["Tiếng Araki"] = "akr", ["Tiếng Arakwal"] = "rkw", ["Tiếng Aram"] = "arc", ["Tiếng Aranadan"] = "aaf", ["Tiếng Araweté"] = "awt", ["Tiếng Archi"] = "aqc", ["Tiếng Arem"] = "aem", ["Tiếng Argobba"] = "agj", ["Tiếng Armenia"] = "hy", ["Tiếng Armenia cổ"] = "xcl", ["Tiếng Armenia trung đại"] = "axm", ["Tiếng Aromania"] = "rup", ["Tiếng Ashraaf"] = "cus-ash", ["Tiếng Askopan"] = "eiv", ["Tiếng Asli nguyên thủy"] = "mkh-asl-pro", ["Tiếng Assam"] = "as", ["Tiếng Assan"] = "xss", ["Tiếng Asturias"] = "ast", ["Tiếng Asur"] = "asr", ["Tiếng Atayal"] = "tay", ["Tiếng Athpariya"] = "aph", ["Tiếng Atikamekw"] = "atj", ["Tiếng Atong (Ấn Độ)"] = "aot", ["Tiếng Auhelawa"] = "kud", ["Tiếng Aukan"] = "djk", ["Tiếng Avar"] = "av", ["Tiếng Avesta"] = "ae", ["Tiếng Avokaya"] = "avu", ["Tiếng Awadh"] = "awa", ["Tiếng Awing"] = "azo", ["Tiếng Awngi"] = "awn", ["Tiếng Axi"] = "yix", ["Tiếng Ayere"] = "aye", ["Tiếng Aymara"] = "ay", ["Tiếng Azerbaijan"] = "az", ["Tiếng Ba Lan"] = "pl", ["Tiếng Ba Lan cổ"] = "zlw-opl", ["Tiếng Ba Na"] = "bdq", ["Tiếng Ba Tư"] = "fa", ["Tiếng Ba Tư cổ"] = "peo", ["Tiếng Ba Tư trung đại"] = "pal", ["Tiếng Ba Tư-Do Thái"] = "jpr", ["Tiếng Babatana"] = "baa", ["Tiếng Babungo"] = "bav", ["Tiếng Babuza"] = "bzg", ["Tiếng Bactria"] = "xbc", ["Tiếng Badaga"] = "bfq", ["Tiếng Badanchi"] = "bau", ["Tiếng Badui"] = "bac", ["Tiếng Bagvalal"] = "kva", ["Tiếng Bahing"] = "bhj", ["Tiếng Bahnar nguyên thủy"] = "mkh-ban-pro", ["Tiếng Bainouk-Gunyuño"] = "bab", ["Tiếng Baiso"] = "bsw", ["Tiếng Bakhtiari"] = "bqi", ["Tiếng Bala"] = "tuw-bal", ["Tiếng Balanta-Ganja"] = "bjt", ["Tiếng Balanta-Kentohe"] = "ble", ["Tiếng Bali"] = "ban", ["Tiếng Baloch"] = "bal", ["Tiếng Balt-Slav nguyên thủy"] = "ine-bsl-pro", ["Tiếng Balti"] = "bft", ["Tiếng Bambara"] = "bm", ["Tiếng Bambassi"] = "myf", ["Tiếng Banjar"] = "bjn", ["Tiếng Bantawa"] = "bap", ["Tiếng Bantu nguyên thủy"] = "bnt-pro", ["Tiếng Baoule"] = "bci", ["Tiếng Barai"] = "bbb", ["Tiếng Barakai"] = "baj", ["Tiếng Bari"] = "bfa", ["Tiếng Baré"] = "bae", ["Tiếng Basaa"] = "bas", ["Tiếng Basay"] = "byq", ["Tiếng Bashkir"] = "ba", ["Tiếng Basketo"] = "bst", ["Tiếng Basque"] = "eu", ["Tiếng Basque nguyên thủy"] = "euq-pro", ["Tiếng Bassa"] = "bsq", ["Tiếng Batak Simalungun"] = "bts", ["Tiếng Batek"] = "btq", ["Tiếng Bats"] = "bbl", ["Tiếng Batuley"] = "bay", ["Tiếng Bayern"] = "bar", ["Tiếng Beja"] = "bej", ["Tiếng Belarus"] = "be", ["Tiếng Belhariya"] = "byw", ["Tiếng Beli"] = "blm", ["Tiếng Bella Coola"] = "blc", ["Tiếng Bellara"] = "brw", ["Tiếng Belnəng"] = "glb", ["Tiếng Bemba"] = "bem", ["Tiếng Bench"] = "bcq", ["Tiếng Bengal"] = "bn", ["Tiếng Berber Bắc Sahara"] = "mzb", ["Tiếng Berber nguyên thủy"] = "ber-pro", ["Tiếng Berber-Do Thái"] = "jbe", ["Tiếng Berik"] = "bkl", ["Tiếng Betawi"] = "bew", ["Tiếng Bezhta"] = "kap", ["Tiếng Bhil"] = "bhb", ["Tiếng Bhil Dungra"] = "duh", ["Tiếng Bhnong"] = "mkh-bhn", ["Tiếng Bhojpur"] = "bho", ["Tiếng Bhumij"] = "aav-bhu", ["Tiếng Bidayuh Biatah"] = "bth", ["Tiếng Bih"] = "ibh", ["Tiếng Bihari"] = "bh", ["Tiếng Bilaspur"] = "kfs", ["Tiếng Bilen"] = "byn", ["Tiếng Birao"] = "brr", ["Tiếng Birhor"] = "biy", ["Tiếng Birjia"] = "bix", ["Tiếng Bishnupriya"] = "bpy", ["Tiếng Bislama"] = "bi", ["Tiếng Bisu"] = "bzi", ["Tiếng Bit"] = "bgk", ["Tiếng Blackfoot"] = "bla", ["Tiếng Blagar"] = "beu", ["Tiếng Blang"] = "blr", ["Tiếng Bodo (Ấn Độ)"] = "brx", ["Tiếng Bodo-Garo nguyên thủy"] = "tbq-bdg-pro", ["Tiếng Boghom"] = "bux", ["Tiếng Bokar"] = "sit-bok", ["Tiếng Bokobaru"] = "bus", ["Tiếng Bondo"] = "bfw", ["Tiếng Boon"] = "bnl", ["Tiếng Borôro"] = "bor", ["Tiếng Botlikh"] = "bph", ["Tiếng Brahui"] = "brh", ["Tiếng Braj"] = "bra", ["Tiếng Breri"] = "brq", ["Tiếng Breton"] = "br", ["Tiếng Breton cổ"] = "obt", ["Tiếng Breton trung đại"] = "xbm", ["Tiếng Britton nguyên thủy"] = "cel-bry-pro", ["Tiếng Bru"] = "bru", ["Tiếng Bru Tây"] = "brv", ["Tiếng Brâu"] = "brb", ["Tiếng Budukh"] = "bdk", ["Tiếng Bughotu"] = "bgt", ["Tiếng Bugis"] = "bug", ["Tiếng Bukhara"] = "bhh", ["Tiếng Bulgar"] = "xbo", ["Tiếng Bulgari"] = "bg", ["Tiếng Bunun"] = "bnn", ["Tiếng Burji"] = "bji", ["Tiếng Burunge"] = "bds", ["Tiếng Burushaski"] = "bsk", ["Tiếng Buryat"] = "bua", ["Tiếng Busa"] = "bqp", ["Tiếng Bushi"] = "buc", ["Tiếng Bách Tế"] = "pkc", ["Tiếng Bảo An"] = "peh", ["Tiếng Bắc Altai"] = "atv", ["Tiếng Bắc Amami Ōshima"] = "ryn", ["Tiếng Bắc Emberá"] = "emp", ["Tiếng Bắc Friesland"] = "frr", ["Tiếng Bắc Iroquois nguyên thủy"] = "iro-nor-pro", ["Tiếng Bắc Mansi"] = "mns-nor", ["Tiếng Bắc Ndebele"] = "nd", ["Tiếng Bắc Nisu"] = "yiv", ["Tiếng Bắc Sami"] = "se", ["Tiếng Bắc Slavey"] = "scs", ["Tiếng Bắc Thái"] = "nod", ["Tiếng Bắc Yukaghir"] = "ykg", ["Tiếng Bắc Âu cổ"] = "non", ["Tiếng Bố Cam"] = "bbh", ["Tiếng Bố Lưu"] = "ply", ["Tiếng Bố Mang"] = "bvp", ["Tiếng Bố Y"] = "pcc", ["Tiếng Bồ Đào Nha"] = "pt", ["Tiếng Bổ trợ Quốc tế"] = "ia", ["Tiếng Ca Dong"] = "kxy", ["Tiếng Ca Tua"] = "kta", ["Tiếng Cahuilla"] = "chl", ["Tiếng Camling"] = "rab", ["Tiếng Canela"] = "ram", ["Tiếng Cao Câu Ly"] = "zkg", ["Tiếng Carib nguyên thủy"] = "sai-car-pro", ["Tiếng Carrier"] = "crx", ["Tiếng Catalan"] = "ca", ["Tiếng Cayuga"] = "cay", ["Tiếng Cebu"] = "ceb", ["Tiếng Celt nguyên thủy"] = "cel-pro", ["Tiếng Celtiberi"] = "xce", ["Tiếng Cerrado nguyên thủy"] = "sai-cer-pro", ["Tiếng Ch'orti'"] = "caa", ["Tiếng Chachi"] = "cbi", ["Tiếng Chagatai"] = "chg", ["Tiếng Chakma"] = "ccp", ["Tiếng Chăm cổ"] = "ocm", ["Tiếng Chamalal"] = "cji", ["Tiếng Chamba"] = "cdh", ["Tiếng Chamicuro"] = "ccc", ["Tiếng Chamorro"] = "ch", ["Tiếng Chatino cao nguyên Tây"] = "ctp", ["Tiếng Chaura"] = "crv", ["Tiếng Chavacano"] = "cbk", ["Tiếng Chechen"] = "ce", ["Tiếng Chepang"] = "cdm", ["Tiếng Cherokee"] = "chr", ["Tiếng Chewong"] = "cwg", ["Tiếng Cheyenne"] = "chy", ["Tiếng Chhattisgarh"] = "hne", ["Tiếng Chibcha"] = "chb", ["Tiếng Chichewa"] = "ny", ["Tiếng Chickasaw"] = "cic", ["Tiếng Chinantec Ojitlán"] = "chj", ["Tiếng Chinantec Ozumacín"] = "chz", ["Tiếng Chinantec Tepinapa"] = "cte", ["Tiếng Chinook"] = "chh", ["Tiếng Chiru"] = "cdf", ["Tiếng Chittagong"] = "ctg", ["Tiếng Chiwere"] = "iow", ["Tiếng Chocangacakha"] = "cgk", ["Tiếng Choctaw"] = "cho", ["Tiếng Chodri"] = "cdi", ["Tiếng Chong"] = "cog", ["Tiếng Chu Ru"] = "cje", ["Tiếng Chukot"] = "ckt", ["Tiếng Chulym"] = "clw", ["Tiếng Chuuk"] = "chk", ["Tiếng Chuvan"] = "xcv", ["Tiếng Chuvash"] = "cv", ["Tiếng Châu Đại Dương nguyên thủy"] = "poz-oce-pro", ["Tiếng Chăm Tây"] = "cja", ["Tiếng Chăm nguyên thủy"] = "cmc-pro", ["Tiếng Chăm Đông"] = "cjm", ["Tiếng Chơ Ro"] = "crw", ["Tiếng Chứt"] = "scb", ["Tiếng Cia-Cia"] = "cia", ["Tiếng Cimbri"] = "cim", ["Tiếng Circassia nguyên thủy"] = "cau-cir-pro", ["Tiếng Co"] = "cua", ["Tiếng Cofán"] = "con", ["Tiếng Comanche"] = "com", ["Tiếng Comoros Maore"] = "swb", ["Tiếng Comox"] = "coo", ["Tiếng Copt"] = "cop", ["Tiếng Cornwall"] = "kw", ["Tiếng Corse"] = "co", ["Tiếng Cree"] = "cr", ["Tiếng Cree đồng bằng"] = "crk", ["Tiếng Creole Hà Lan Berbice"] = "brc", ["Tiếng Creole Jamaica"] = "jam", ["Tiếng Creole Louisiana"] = "lou", ["Tiếng Crow"] = "cro", ["Tiếng Cuman"] = "qwm", ["Tiếng Cupeño"] = "cup", ["Tiếng Cushit nguyên thủy"] = "cus-pro", ["Tiếng Càn-đà-la"] = "pgd", ["Tiếng Cơ Nặc Du Lạc"] = "jiu", ["Tiếng Cơ Tu"] = "ktv", ["Tiếng Cơ Tu Phương"] = "phg", ["Tiếng Cơ Tu Tây"] = "kuf", ["Tiếng Cơ Tu nguyên thủy"] = "mkh-kat-pro", ["Tiếng Cám"] = "gan", ["Tiếng Cờ Lao Trắng"] = "giw", ["Tiếng Daasanach"] = "dsh", ["Tiếng Dabarre"] = "dbr", ["Tiếng Dacia"] = "xdc", ["Tiếng Dadibi"] = "mps", ["Tiếng Dagbani"] = "dag", ["Tiếng Dahalik"] = "dlk", ["Tiếng Dahalo"] = "dal", ["Tiếng Dakota"] = "dak", ["Tiếng Dalmatia"] = "dlm", ["Tiếng Dambi"] = "dac", ["Tiếng Dan"] = "dnj", ["Tiếng Danau"] = "dnu", ["Tiếng Dangaléat"] = "daa", ["Tiếng Danu"] = "dnv", ["Tiếng Danuwar"] = "dhw", ["Tiếng Dargwa"] = "dar", ["Tiếng Dargwa nguyên thủy"] = "cau-drg-pro", ["Tiếng Daur"] = "dta", ["Tiếng Dawro"] = "dwr", ["Tiếng Degema"] = "deg", ["Tiếng Denesuline"] = "chp", ["Tiếng Desiya"] = "dso", ["Tiếng Dhanka"] = "dhn", ["Tiếng Dhivehi"] = "dv", ["Tiếng Dhodia"] = "dho", ["Tiếng Dibabawon"] = "mbd", ["Tiếng Digan"] = "rom", ["Tiếng Digan Tavringer"] = "rmu", ["Tiếng Dinka"] = "din", ["Tiếng Dirasha"] = "gdl", ["Tiếng Ditidaht"] = "dtd", ["Tiếng Dizi"] = "mdx", ["Tiếng Do Thái"] = "he", ["Tiếng Dogri"] = "doi", ["Tiếng Dogrib"] = "dgr", ["Tiếng Dolgan"] = "dlg", ["Tiếng Domari"] = "rmt", ["Tiếng Dongolawi"] = "kzh", ["Tiếng Dravida nguyên thủy"] = "dra-pro", ["Tiếng Dubla"] = "dub", ["Tiếng Dukha"] = "trk-dkh", ["Tiếng Duun"] = "dux", ["Tiếng Duy Ngô Nhĩ"] = "ug", ["Tiếng Duy Ngô Nhĩ cổ"] = "oui", ["Tiếng Dyirbal"] = "dbl", ["Tiếng Dzongkha"] = "dz", ["Tiếng Dzuun"] = "dnn", ["Tiếng Ebla"] = "xeb", ["Tiếng Ebrié"] = "ebr", ["Tiếng Ebughu"] = "ebg", ["Tiếng Ede Idaca"] = "idd", ["Tiếng Ede Nago"] = "nqg", ["Tiếng Edekiri nguyên thủy"] = "alv-edk-pro", ["Tiếng Edo"] = "bin", ["Tiếng Efai"] = "efa", ["Tiếng Efe"] = "efe", ["Tiếng Efik"] = "efi", ["Tiếng Ega"] = "ega", ["Tiếng Eggon"] = "ego", ["Tiếng Ehueun"] = "ehu", ["Tiếng Eipomek"] = "eip", ["Tiếng Eitiep"] = "eit", ["Tiếng Ejagham"] = "etu", ["Tiếng El Molo"] = "elo", ["Tiếng Elam"] = "elx", ["Tiếng Elymi"] = "xly", ["Tiếng Emberá-Chamí"] = "cmi", ["Tiếng Emberá-Tadó"] = "tdc", ["Tiếng Embu"] = "ebu", ["Tiếng Emilia"] = "egl", ["Tiếng Enets lãnh nguyên"] = "enh", ["Tiếng Enets rừng"] = "enf", ["Tiếng Engenni"] = "enn", ["Tiếng Eotile"] = "eot", ["Tiếng Epie"] = "epi", ["Tiếng Erzya"] = "myv", ["Tiếng Esan"] = "ish", ["Tiếng Ese"] = "mcq", ["Tiếng Esimbi"] = "ags", ["Tiếng Eskimo nguyên thủy"] = "esx-esk-pro", ["Tiếng Estonia"] = "et", ["Tiếng Eteocrete"] = "ecr", ["Tiếng Etrusca"] = "ett", ["Tiếng Even"] = "eve", ["Tiếng Evenk"] = "evn", ["Tiếng Ewe"] = "ee", ["Tiếng Fala"] = "fax", ["Tiếng Falisci"] = "xfa", ["Tiếng Faroe"] = "fo", ["Tiếng Fe'fe'"] = "fmp", ["Tiếng Fiji"] = "fj", ["Tiếng Finn nguyên thủy"] = "urj-fin-pro", ["Tiếng Flemish Tây"] = "vls", ["Tiếng Fogaha"] = "ber-fog", ["Tiếng Fon"] = "fon", ["Tiếng Fox"] = "sac", ["Tiếng Franco-Provençal"] = "frp", ["Tiếng Franken Trung"] = "gmw-cfr", ["Tiếng Frisia Saterland"] = "stq", ["Tiếng Frisia cổ"] = "ofs", ["Tiếng Friuli"] = "fur", ["Tiếng Fula"] = "ff", ["Tiếng Fur"] = "fvr", ["Tiếng Ga"] = "gaa", ["Tiếng Gabri"] = "gab", ["Tiếng Gaddang"] = "gad", ["Tiếng Gael Scotland"] = "gd", ["Tiếng Gagauz"] = "gag", ["Tiếng Galati"] = "xga", ["Tiếng Galicia"] = "gl", ["Tiếng Galicia-Bồ Đào Nha"] = "roa-opt", ["Tiếng Gamit"] = "gbl", ["Tiếng Gamo"] = "gmv", ["Tiếng Ganza"] = "gza", ["Tiếng Garasia Adiwasi"] = "gas", ["Tiếng Garasia Rajput"] = "gra", ["Tiếng Garo"] = "grt", ["Tiếng Garre"] = "gex", ["Tiếng Gata'"] = "gaq", ["Tiếng Gawar-Bati"] = "gwt", ["Tiếng Gbe Saxwe"] = "sxw", ["Tiếng Gbe nguyên thủy"] = "alv-gbe-pro", ["Tiếng Gedeo"] = "drs", ["Tiếng German Tây nguyên thủy"] = "gmw-pro", ["Tiếng German nguyên thủy"] = "gem-pro", ["Tiếng Geʽez"] = "gez", ["Tiếng Ghadames"] = "gha", ["Tiếng Ghomala'"] = "bbj", ["Tiếng Gia Rai"] = "jra", ["Tiếng Gikuyu"] = "ki", ["Tiếng Gilak"] = "glk", ["Tiếng Gimi (Goroka)"] = "gim", ["Tiếng Girirra"] = "gii", ["Tiếng Giẻ"] = "jeh", ["Tiếng Glosa"] = "igs", ["Tiếng Godoberi"] = "gdo", ["Tiếng Gofa"] = "gof", ["Tiếng Gone Dau"] = "goo", ["Tiếng Gorowa"] = "gow", ["Tiếng Goth"] = "got", ["Tiếng Greenland"] = "kl", ["Tiếng Gruzia"] = "ka", ["Tiếng Gruzia cổ"] = "oge", ["Tiếng Gruzia-Do Thái"] = "jge", ["Tiếng Gruzia-Zan nguyên thủy"] = "ccs-gzn-pro", ["Tiếng Guajajára"] = "gub", ["Tiếng Guajá"] = "gvj", ["Tiếng Guanche"] = "gnc", ["Tiếng Guaraní"] = "gn", ["Tiếng Guarani Mbya"] = "gun", ["Tiếng Guarayu"] = "gyr", ["Tiếng Gujarat"] = "gu", ["Tiếng Gulay"] = "gvl", ["Tiếng Gumuz"] = "guk", ["Tiếng Gun"] = "guw", ["Tiếng Gurenne"] = "gur", ["Tiếng Guugu Yimidhirr"] = "kky", ["Tiếng Gwichʼin"] = "gwi", ["Tiếng H'Mông Tương Tây Tây"] = "mmr", ["Tiếng H'Mông-Miền nguyên thủy"] = "hmx-pro", ["Tiếng H'roi"] = "hro", ["Tiếng Hachijō"] = "jpx-hcj", ["Tiếng Hadiyya"] = "hdy", ["Tiếng Haida"] = "hai", ["Tiếng Creole Haiti"] = "ht", ["Tiếng Hajong"] = "haj", ["Tiếng Halba"] = "hlb", ["Tiếng Halkomelem"] = "hur", ["Tiếng Hamer-Banna"] = "amf", ["Tiếng Hanunoo"] = "hnn", ["Tiếng Harari"] = "har", ["Tiếng Hatti"] = "xht", ["Tiếng Hausa"] = "ha", ["Tiếng Haush"] = "sai-hau", ["Tiếng Havasupai-Walapai-Yavapai"] = "yuf", ["Tiếng Hawaii"] = "haw", ["Tiếng Hazara"] = "haz", ["Tiếng Heiltsuk"] = "hei", ["Tiếng Hellen nguyên thủy"] = "grk-pro", ["Tiếng Herero"] = "hz", ["Tiếng Higaonon"] = "mba", ["Tiếng Hiligaynon"] = "hil", ["Tiếng Hindi"] = "hi", ["Tiếng Hindi Fiji"] = "hif", ["Tiếng Hindko Bắc"] = "hno", ["Tiếng Hindustan Caribe"] = "hns", ["Tiếng Hiri Motu"] = "ho", ["Tiếng Hitti"] = "hit", ["Tiếng Hlai"] = "lic", ["Tiếng Hlai nguyên thủy"] = "qfa-lic-pro", ["Tiếng Ho"] = "hoc", ["Tiếng Hoava"] = "hoa", ["Tiếng Hocak"] = "win", ["Tiếng Horpa"] = "ero", ["Tiếng Hozo"] = "hoz", ["Tiếng Hpon"] = "hpo", ["Tiếng Hrê"] = "hre", ["Tiếng Hu"] = "huo", ["Tiếng Hulaulá"] = "huy", ["Tiếng Hungary"] = "hu", ["Tiếng Hunsrik"] = "hrx", ["Tiếng Hunzib"] = "huz", ["Tiếng Hupa"] = "hup", ["Tiếng Hurri"] = "xhu", ["Tiếng Huy"] = "czh", ["Tiếng Hy Lạp"] = "el", ["Tiếng Hy Lạp Cappadocia"] = "cpg", ["Tiếng Hy Lạp Italiot"] = "grk-ita", ["Tiếng Hy Lạp Mariupol"] = "grk-mar", ["Tiếng Hy Lạp Pontos"] = "pnt", ["Tiếng Hy Lạp cổ"] = "grc", ["Tiếng Hyam"] = "jab", ["Tiếng Hà Lan"] = "nl", ["Tiếng Hà Lan Jersey"] = "gmw-jdt", ["Tiếng Hà Lan cổ"] = "odt", ["Tiếng Hà Lan trung đại"] = "dum", ["Tiếng Hà Lăng"] = "hal", ["Tiếng Hà Nhì"] = "hni", ["Tiếng Hán thượng cổ"] = "och", ["Tiếng Hán trung cổ"] = "ltc", ["Tiếng Hán-Tạng nguyên thủy"] = "sit-pro", ["Tiếng Hạ Sorb"] = "dsb", ["Tiếng Hạ Đức"] = "nds", ["Tiếng Hạ Đức Mennonite"] = "pdt", ["Tiếng Hạ Đức trung đại"] = "gml", ["Tiếng Hạ Đức tại Đức"] = "nds-de", ["Tiếng Iaai"] = "iai", ["Tiếng Ibaloi"] = "ibl", ["Tiếng Iban"] = "iba", ["Tiếng Ibatan"] = "ivb", ["Tiếng Ibibio"] = "ibb", ["Tiếng Ibino"] = "ibn", ["Tiếng Ibuoro"] = "ibr", ["Tiếng Iceland"] = "is", ["Tiếng Ido"] = "io", ["Tiếng Ifè"] = "ife", ["Tiếng Igala"] = "igl", ["Tiếng Igbo"] = "ig", ["Tiếng Ikwere"] = "ikw", ["Tiếng Ili Turki"] = "ili", ["Tiếng Ilokano"] = "ilo", ["Tiếng Indo-Bồ Đào Nha"] = "idb", ["Tiếng Indonesia"] = "id", ["Tiếng Indonesia Peranakan"] = "pea", ["Tiếng Ingria"] = "izh", ["Tiếng Ingush"] = "inh", ["Tiếng Inor"] = "ior", ["Tiếng Interlingue"] = "ie", ["Tiếng Intha"] = "int", ["Tiếng Inuit nguyên thủy"] = "esx-inu-pro", ["Tiếng Inuktitut"] = "iu", ["Tiếng Inupiaq"] = "ik", ["Tiếng Iran nguyên thủy"] = "ira-pro", ["Tiếng Iraqw"] = "irk", ["Tiếng Ireland"] = "ga", ["Tiếng Ireland cổ"] = "sga", ["Tiếng Ireland trung đại"] = "mga", ["Tiếng Iroquois nguyên thủy"] = "iro-pro", ["Tiếng Isan"] = "tts", ["Tiếng Isnag"] = "isd", ["Tiếng Isoko"] = "iso", ["Tiếng Istria"] = "ist", ["Tiếng Istria Rumani"] = "ruo", ["Tiếng Italic nguyên thủy"] = "itc-pro", ["Tiếng Itaŋikom"] = "bkm", ["Tiếng Itelmen"] = "itl", ["Tiếng Itonama"] = "ito", ["Tiếng Itsekiri"] = "its", ["Tiếng Itu Mbon Uzo"] = "itm", ["Tiếng Ivatan"] = "ivv", ["Tiếng Iwaidja"] = "ibd", ["Tiếng Ixil"] = "ixl", ["Tiếng Jacaltec"] = "jac", ["Tiếng Jah Hut"] = "jah", ["Tiếng Jamamadí"] = "jaa", ["Tiếng Japhug"] = "sit-jap", ["Tiếng Jaqaru"] = "jqr", ["Tiếng Jarawa"] = "anq", ["Tiếng Java"] = "jv", ["Tiếng Java Caribe"] = "jvn", ["Tiếng Java cổ"] = "kaw", ["Tiếng Javindo"] = "jvd", ["Tiếng Jehai"] = "jhi", ["Tiếng Jeju"] = "jje", ["Tiếng Jiiddu"] = "jii", ["Tiếng Jru'"] = "lbo", ["Tiếng Juang"] = "jun", ["Tiếng Jumjum"] = "jum", ["Tiếng Juǀ'hoan"] = "ktz", ["Tiếng Jylland"] = "jut", ["Tiếng Jê Bắc nguyên thủy"] = "sai-nje-pro", ["Tiếng Jê nguyên thủy"] = "sai-jee-pro", ["Tiếng K'Ho"] = "kpm", ["Tiếng K'iche'"] = "quc", ["Tiếng Kabardia"] = "kbd", ["Tiếng Kabiye"] = "kbp", ["Tiếng Kabyle"] = "kab", ["Tiếng Kachin"] = "kac", ["Tiếng Kadu"] = "zkd", ["Tiếng Kafa"] = "kbr", ["Tiếng Kaingang"] = "kgp", ["Tiếng Kakabai"] = "kqf", ["Tiếng Kalam"] = "gwc", ["Tiếng Kalao"] = "kly", ["Tiếng Kalash"] = "kls", ["Tiếng Kalinga Limos"] = "kmk", ["Tiếng Kalmyk"] = "xal", ["Tiếng Kalo Phần Lan"] = "rmf", ["Tiếng Kamassia"] = "xas", ["Tiếng Kambaata"] = "ktb", ["Tiếng Kanakanavu"] = "xnb", ["Tiếng Kangean"] = "kkv", ["Tiếng Kannada"] = "kn", ["Tiếng Kannauj"] = "bjj", ["Tiếng Kanuri"] = "kr", ["Tiếng Kapampangan"] = "pam", ["Tiếng Kapingamarangi"] = "kpg", ["Tiếng Karachay-Balkar"] = "krc", ["Tiếng Karaim"] = "kdr", ["Tiếng Karajá"] = "kpj", ["Tiếng Karakalpak"] = "kaa", ["Tiếng Karakhanid"] = "xqa", ["Tiếng Karao"] = "kyj", ["Tiếng Karata"] = "kpt", ["Tiếng Karbi"] = "mjw", ["Tiếng Karelia"] = "krl", ["Tiếng Karen Bwe"] = "bwe", ["Tiếng Karen Geba"] = "kvq", ["Tiếng Karen Geko"] = "ghk", ["Tiếng Karen Mobwa"] = "jkm", ["Tiếng Karen Paku"] = "jkp", ["Tiếng Karen S'gaw"] = "ksw", ["Tiếng Karen nguyên thủy"] = "kar-pro", ["Tiếng Kari'na"] = "car", ["Tiếng Kartvelia nguyên thủy"] = "ccs-pro", ["Tiếng Kashaya"] = "kju", ["Tiếng Kashmir"] = "ks", ["Tiếng Kaszëb"] = "csb", ["Tiếng Katang Bắc"] = "ncq", ["Tiếng Kavalan"] = "ckv", ["Tiếng Kavet"] = "krv", ["Tiếng Kawésqar"] = "alc", ["Tiếng Kayapó"] = "txu", ["Tiếng Kayort"] = "kyv", ["Tiếng Kazakh"] = "kk", ["Tiếng Kensiu"] = "kns", ["Tiếng Ket"] = "ket", ["Tiếng Khakas"] = "kjh", ["Tiếng Khalaj"] = "klj", ["Tiếng Khaling"] = "klr", ["Tiếng Kham Gamale"] = "kgj", ["Tiếng Kham Parbate Tây"] = "kjl", ["Tiếng Kham Parbate Đông"] = "kif", ["Tiếng Khamti"] = "kht", ["Tiếng Khamyang"] = "ksu", ["Tiếng Khang Gia"] = "kxs", ["Tiếng Khanty"] = "kca", ["Tiếng Kharia"] = "khr", ["Tiếng Khasa Prakrit"] = "inc-kha", ["Tiếng Khasi"] = "kha", ["Tiếng Khasi nguyên thủy"] = "aav-khs-pro", ["Tiếng Khazar"] = "zkz", ["Tiếng Khengkha"] = "xkf", ["Tiếng Khiamniungan"] = "kix", ["Tiếng Khinalug"] = "kjj", ["Tiếng Khiết Đan"] = "zkt", ["Tiếng Khmer"] = "km", ["Tiếng Khmer Surin"] = "kxm", ["Tiếng Khmer cổ"] = "okz", ["Tiếng Khmer nguyên thủy"] = "mkh-kmr-pro", ["Tiếng Khmer trung đại"] = "xhm", ["Tiếng Khoekhoe"] = "naq", ["Tiếng Khowar"] = "khw", ["Tiếng Khuen"] = "khf", ["Tiếng Khvarshi"] = "khv", ["Tiếng Khwarezm"] = "xco", ["Tiếng Khách Gia"] = "hak", ["Tiếng Kháng"] = "kjm", ["Tiếng Khün"] = "kkh", ["Tiếng Khùa"] = "xhv", ["Tiếng Khơ Mú"] = "kjg", ["Tiếng Khơ Mú nguyên thủy"] = "mkh-khm-pro", ["Tiếng Khương Bắc"] = "cng", ["Tiếng Kickapoo"] = "kic", ["Tiếng Kikai"] = "kzg", ["Tiếng Kili"] = "tuw-kil", ["Tiếng Kim Môn"] = "mji", ["Tiếng Kimbundu"] = "kmb", ["Tiếng Kintaq"] = "knq", ["Tiếng Kiowa"] = "kio", ["Tiếng Kiribati"] = "gil", ["Tiếng Kirike"] = "okr", ["Tiếng Kisan"] = "xis", ["Tiếng Kistane"] = "gru", ["Tiếng Kituba"] = "ktu", ["Tiếng Klallam"] = "clm", ["Tiếng Klingon"] = "tlh", ["Tiếng Knaan"] = "czk", ["Tiếng Kobon"] = "kpw", ["Tiếng Koch"] = "kdq", ["Tiếng Koda"] = "cdz", ["Tiếng Kodava"] = "kfa", ["Tiếng Kohistan"] = "mvy", ["Tiếng Koibal"] = "zkb", ["Tiếng Kok Borok"] = "trp", ["Tiếng Kolami"] = "kfb", ["Tiếng Kolhe"] = "ekl", ["Tiếng Koli Parkar"] = "kvx", ["Tiếng Koli Wadiyara"] = "kxp", ["Tiếng Komi cổ"] = "urj-koo", ["Tiếng Komi-Permyak"] = "koi", ["Tiếng Komi-Zyrian"] = "kpv", ["Tiếng Kongo"] = "kg", ["Tiếng Konkan"] = "kok", ["Tiếng Konso"] = "kxc", ["Tiếng Koonzime"] = "ozm", ["Tiếng Koore"] = "kqy", ["Tiếng Koraga Korra"] = "kfd", ["Tiếng Koraga Mudu"] = "vmd", ["Tiếng Korku"] = "kfq", ["Tiếng Koryak"] = "kpy", ["Tiếng Kosrae"] = "kos", ["Tiếng Kotava"] = "avk", ["Tiếng Kraol"] = "rka", ["Tiếng Krio"] = "kri", ["Tiếng Krung"] = "krr", ["Tiếng Krymchak"] = "jct", ["Tiếng Kryts"] = "kry", ["Tiếng Kudmal"] = "kyw", ["Tiếng Kui Dawik"] = "dwk", ["Tiếng Kukna"] = "kex", ["Tiếng Kullu"] = "kfx", ["Tiếng Kulon-Pazeh"] = "uun", ["Tiếng Kumbewaha"] = "xks", ["Tiếng Kumyk"] = "kum", ["Tiếng Kumzar"] = "zum", ["Tiếng Kundal Shahi"] = "shd", ["Tiếng Kunigami"] = "xug", ["Tiếng Kurmanji"] = "kmr", ["Tiếng Kurtokha"] = "xkz", ["Tiếng Kurumba Attapady"] = "pkr", ["Tiếng Kutch"] = "kfr", ["Tiếng Kuvi"] = "kxv", ["Tiếng Kuy"] = "kdt", ["Tiếng Kw'adza"] = "wka", ["Tiếng Kwak'wala"] = "kwk", ["Tiếng Kwanyama"] = "kj", ["Tiếng Kyakala"] = "tuw-kkl", ["Tiếng Kyrgyz"] = "ky", ["Tiếng Kyrgyz Phú Dụ"] = "trk-fyk", ["Tiếng Kâte"] = "kmg", ["Tiếng La Hủ"] = "lhu", ["Tiếng Ladakh"] = "lbj", ["Tiếng Ladin"] = "lld", ["Tiếng Ladino"] = "lad", ["Tiếng Lahnda"] = "lah", ["Tiếng Lak"] = "lbe", ["Tiếng Lakota"] = "lkt", ["Tiếng Lambadi"] = "lmn", ["Tiếng Lamboya"] = "lmy", ["Tiếng Lanoh"] = "lnh", ["Tiếng Laomian"] = "lwm", ["Tiếng Lar"] = "lrl", ["Tiếng Lasalimu"] = "llm", ["Tiếng Lashi"] = "lsi", ["Tiếng Latgale"] = "ltg", ["Tiếng Latinh"] = "la", ["Tiếng Latundê"] = "ltn", ["Tiếng Latvia"] = "lv", ["Tiếng Lavukaleve"] = "lvk", ["Tiếng Lawa Tây"] = "lcp", ["Tiếng Lawa Đông"] = "lwl", ["Tiếng Laz"] = "lzz", ["Tiếng Lemnos"] = "xle", ["Tiếng Lepcha"] = "lep", ["Tiếng Leponti"] = "xlp", ["Tiếng Lezghi nguyên thủy"] = "cau-lzg-pro", ["Tiếng Lezgi"] = "lez", ["Tiếng Lhao Vo"] = "mhx", ["Tiếng Liabuku"] = "lix", ["Tiếng Libido"] = "liq", ["Tiếng Liguria"] = "lij", ["Tiếng Lillooet"] = "lil", ["Tiếng Limburg"] = "li", ["Tiếng Lingala"] = "ln", ["Tiếng Lishana Deni"] = "lsd", ["Tiếng Lishanid Noshan"] = "aij", ["Tiếng Lisu"] = "lis", ["Tiếng Litva"] = "lt", ["Tiếng Livonia"] = "liv", ["Tiếng Livvi"] = "olo", ["Tiếng Lojban"] = "jbo", ["Tiếng Lokono"] = "arw", ["Tiếng Lombard"] = "lmo", ["Tiếng Lou"] = "loj", ["Tiếng Luba-Katanga"] = "lu", ["Tiếng Luganda"] = "lg", ["Tiếng Lur Bắc"] = "lrc", ["Tiếng Lur Nam"] = "luz", ["Tiếng Lushootseed"] = "lut", ["Tiếng Luwi"] = "xlu", ["Tiếng Luxembourg"] = "lb", ["Tiếng Lydia"] = "xld", ["Tiếng Lyngngam"] = "lyg", ["Tiếng Lyydi"] = "lud", ["Tiếng Lào"] = "lo", ["Tiếng Lô Lô"] = "ii", ["Tiếng Lư Nhân"] = "sit-lrn", ["Tiếng Lự"] = "khb", ["Tiếng M'Nông Nam"] = "mnn", ["Tiếng M'Nông Trung"] = "cmo", ["Tiếng M'Nông Đông"] = "mng", ["Tiếng Ma Thoa"] = "nru", ["Tiếng Ma'anyan"] = "mhy", ["Tiếng Maaka"] = "mew", ["Tiếng Maale"] = "mdy", ["Tiếng Maasai"] = "mas", ["Tiếng Mabang"] = "mde", ["Tiếng Macedoni"] = "mk", ["Tiếng Macedoni cổ đại"] = "xmk", ["Tiếng Macushi"] = "mbc", ["Tiếng Madura"] = "mad", ["Tiếng Magar Tây"] = "mrd", ["Tiếng Magar Đông"] = "mgp", ["Tiếng Magori"] = "zgr", ["Tiếng Maguindanao"] = "mdh", ["Tiếng Mah Meri"] = "mhe", ["Tiếng Mahal"] = "mjx", ["Tiếng Maithil"] = "mai", ["Tiếng Malagasy"] = "mg", ["Tiếng Malayalam"] = "ml", ["Tiếng Malta"] = "mt", ["Tiếng Mampruli"] = "maw", ["Tiếng Man"] = "gv", ["Tiếng Manda (Ấn Độ)"] = "mha", ["Tiếng Mandara"] = "tbf", ["Tiếng Mandinka"] = "mnk", ["Tiếng Mangas"] = "zns", ["Tiếng Manggarai"] = "mqy", ["Tiếng Mangghuer"] = "xgn-mgr", ["Tiếng Manipur"] = "mni", ["Tiếng Mankanya"] = "knf", ["Tiếng Mano"] = "mev", ["Tiếng Mansi nguyên thủy"] = "mns-pro", ["Tiếng Manumanaw"] = "kxf", ["Tiếng Mao Nam"] = "mmd", ["Tiếng Maori"] = "mi", ["Tiếng Mapuche"] = "arn", ["Tiếng Marathi"] = "mr", ["Tiếng Mari Đông"] = "mhr", ["Tiếng Marma"] = "rmz", ["Tiếng Marshall"] = "mh", ["Tiếng Marwar"] = "mwr", ["Tiếng Mator"] = "mtm", ["Tiếng Maya Yucatán"] = "yua", ["Tiếng Maya nguyên thủy"] = "myn-pro", ["Tiếng Mazahua Michoacán"] = "mmc", ["Tiếng Mazahua Trung"] = "maz", ["Tiếng Mazandaran"] = "mzn", ["Tiếng Mbabaram"] = "vmb", ["Tiếng Me'en"] = "mym", ["Tiếng Media cổ"] = "xme-old", ["Tiếng Medumba"] = "byv", ["Tiếng Mehri"] = "gdq", ["Tiếng Memon"] = "mby", ["Tiếng Mende"] = "men", ["Tiếng Meriam"] = "ulk", ["Tiếng Mi'kmaq"] = "mic", ["Tiếng Miami"] = "mia", ["Tiếng Mingrelia"] = "xmf", ["Tiếng Minriq"] = "mnq", ["Tiếng Mintil"] = "mzt", ["Tiếng Miranda"] = "mwl", ["Tiếng Mixtec Chayuco"] = "mih", ["Tiếng Miyako"] = "mvi", ["Tiếng Mizo"] = "lus", ["Tiếng Miến Điện"] = "my", ["Tiếng Miến Điện cổ"] = "obr", ["Tiếng Mlabri"] = "mra", ["Tiếng Mogholi"] = "mhj", ["Tiếng Moglena-Rumani"] = "ruq", ["Tiếng Mohawk"] = "moh", ["Tiếng Moken"] = "mwt", ["Tiếng Mokil"] = "mkj", ["Tiếng Moklen"] = "mkm", ["Tiếng Moksha"] = "mdf", ["Tiếng Mongghul"] = "xgn-mgl", ["Tiếng Mooré"] = "mos", ["Tiếng Mordvin nguyên thủy"] = "urj-mdv-pro", ["Tiếng Morokodo"] = "mgc", ["Tiếng Motu"] = "meu", ["Tiếng Mozarab"] = "mxi", ["Tiếng Muak Sa-aak"] = "ukk", ["Tiếng Munda nguyên thủy"] = "mun-pro", ["Tiếng Mundari"] = "unr", ["Tiếng Munji"] = "mnj", ["Tiếng Mursi"] = "muz", ["Tiếng Muscogee"] = "mus", ["Tiếng Muskogee nguyên thủy"] = "nai-mus-pro", ["Tiếng Mwotlap"] = "mlv", ["Tiếng Mân Bắc"] = "mnp", ["Tiếng Mân Nam"] = "nan", ["Tiếng Mân Trung"] = "czo", ["Tiếng Mân Tuyền Chương"] = "nan-hbl", ["Tiếng Mân nguyên thủy"] = "zhx-min-pro", ["Tiếng Mân Đông"] = "cdo", ["Tiếng Mã Lai"] = "ms", ["Tiếng Mã Lai Ambon"] = "abs", ["Tiếng Mã Lai Baba"] = "mbf", ["Tiếng Mã Lai Brunei"] = "kxd", ["Tiếng Mã Lai Bắc Maluku"] = "max", ["Tiếng Mã Lai cổ"] = "omy", ["Tiếng Mã Lai nguyên thủy"] = "poz-mly-pro", ["Tiếng Mã Lai-Chăm nguyên thủy"] = "poz-mcm-pro", ["Tiếng Mã Lai-Sumbawa nguyên thủy"] = "poz-msa-pro", ["Tiếng Mã Lai-Đa Đảo Trung Đông nguyên thủy"] = "poz-cet-pro", ["Tiếng Mã Lai-Đa Đảo nguyên thủy"] = "poz-pro", ["Tiếng Mã Lai-Đa Đảo Đông nguyên thủy"] = "pqe-pro", ["Tiếng Mã Liềng"] = "pkt", ["Tiếng Mãn Châu"] = "mnc", ["Tiếng Môn"] = "mnw", ["Tiếng Môn Thái"] = "mnw-tha", ["Tiếng Môn cổ"] = "omx", ["Tiếng Môn nguyên thủy"] = "mkh-mnc-pro", ["Tiếng Môn trung đại"] = "mkh-mmn", ["Tiếng Môn-Khmer nguyên thủy"] = "mkh-pro", ["Tiếng Mông"] = "hmf", ["Tiếng Mông Cổ"] = "mn", ["Tiếng Mông Cổ Khamnigan"] = "ykh", ["Tiếng Mông Cổ cổ điển"] = "cmg", ["Tiếng Mông Cổ nguyên thủy"] = "xgn-pro", ["Tiếng Mông Cổ trung đại"] = "xng", ["Tiếng Mông Trắng"] = "mww", ["Tiếng Mơ Nâm"] = "moo", ["Tiếng Mường"] = "mtq", ["Tiếng Mạ"] = "cma", ["Tiếng Mảng"] = "zng", ["Tiếng Na Miểu"] = "neo", ["Tiếng Na Uy"] = "no", ["Tiếng Na Uy (Bokmål)"] = "nb", ["Tiếng Na Uy (Nynorsk)"] = "nn", ["Tiếng Naga Chothe"] = "nct", ["Tiếng Nahuatl"] = "nah", ["Tiếng Nahuatl Temascaltepec"] = "nhv", ["Tiếng Nahuatl cổ điển"] = "nci", ["Tiếng Nakh nguyên thủy"] = "cau-nkh-pro", ["Tiếng Nam Altai"] = "alt", ["Tiếng Nam Amami Ōshima"] = "ams", ["Tiếng Nam Kolami"] = "nit", ["Tiếng Nam Mansi"] = "mns-sou", ["Tiếng Nam Ndebele"] = "nr", ["Tiếng Nam Sami"] = "sma", ["Tiếng Nam Slavey"] = "xsl", ["Tiếng Nam Thái"] = "sou", ["Tiếng Nam Uzbek"] = "uzs", ["Tiếng Nam Yukaghir"] = "yux", ["Tiếng Nam Á nguyên thủy"] = "aav-pro", ["Tiếng Nam Đảo nguyên thủy"] = "map-pro", ["Tiếng Nam Động"] = "kmc", ["Tiếng Nanai"] = "gld", ["Tiếng Napoli"] = "nap", ["Tiếng Nauru"] = "na", ["Tiếng Navajo"] = "nv", ["Tiếng Ndogo"] = "ndz", ["Tiếng Ndonga"] = "ng", ["Tiếng Nefusa"] = "jbn", ["Tiếng Negerhollands"] = "dcr", ["Tiếng Negidal"] = "neg", ["Tiếng Nenets lãnh nguyên"] = "yrk", ["Tiếng Nepal"] = "ne", ["Tiếng Newa"] = "new", ["Tiếng Nga"] = "ru", ["Tiếng Ngalum"] = "szb", ["Tiếng Nganasan"] = "nio", ["Tiếng Ngas"] = "anc", ["Tiếng Ngiemboon"] = "nnh", ["Tiếng Ngomba"] = "jgo", ["Tiếng Nguồn"] = "nuo", ["Tiếng Ngô"] = "wuu", ["Tiếng Ngũ Đồn"] = "wuh", ["Tiếng Nha Lang"] = "yrn", ["Tiếng Nheengatu"] = "yrl", ["Tiếng Nhu Nhiên"] = "qfa-xgx-rou", ["Tiếng Nhĩ Tô"] = "ers", ["Tiếng Nhật"] = "ja", ["Tiếng Nhật Bản nguyên thủy"] = "jpx-pro", ["Tiếng Nhật cổ"] = "ojp", ["Tiếng Nias"] = "nia", ["Tiếng Nicobar Car"] = "caq", ["Tiếng Nicobar Nam"] = "nik", ["Tiếng Nicobar Trung"] = "ncb", ["Tiếng Nicobar nguyên thủy"] = "aav-nic-pro", ["Tiếng Niue"] = "niu", ["Tiếng Nivkh"] = "niv", ["Tiếng Nkari"] = "nkz", ["Tiếng Nkonya"] = "nko", ["Tiếng Nobiin"] = "fia", ["Tiếng Nogai"] = "nog", ["Tiếng Noreia"] = "nrc", ["Tiếng Norman"] = "nrf", ["Tiếng Novgorod cổ"] = "zle-ono", ["Tiếng Novial"] = "nov", ["Tiếng Nubaca"] = "baf", ["Tiếng Nubi"] = "kcn", ["Tiếng Nuer"] = "nus", ["Tiếng Nuu-chah-nulth"] = "nuk", ["Tiếng Nyah Kur"] = "cbn", ["Tiếng Nyaw"] = "nyw", ["Tiếng Nyeu"] = "nyl", ["Tiếng Nùng"] = "nut", ["Tiếng Nùng Vẻn"] = "enc", ["Tiếng Nạp Tây"] = "nxq", ["Tiếng Nữ Chân"] = "juc", ["Tiếng O'odham"] = "ood", ["Tiếng Ocaina"] = "oca", ["Tiếng Occitan"] = "oc", ["Tiếng Occitan cổ"] = "pro", ["Tiếng Ogbronuagum"] = "ogu", ["Tiếng Oirat"] = "xwo", ["Tiếng Ojibwe"] = "oj", ["Tiếng Okanagan"] = "oka", ["Tiếng Okinawa"] = "ryu", ["Tiếng Okinoerabu"] = "okn", ["Tiếng Olukumi"] = "ulb", ["Tiếng Omaha-Ponca"] = "oma", ["Tiếng Omok"] = "omk", ["Tiếng Oriya"] = "or", ["Tiếng Oriya Adiwasi"] = "ort", ["Tiếng Orma"] = "orc", ["Tiếng Ormu"] = "orz", ["Tiếng Ormur"] = "oru", ["Tiếng Oroch"] = "oac", ["Tiếng Orok"] = "oaa", ["Tiếng Oromo"] = "om", ["Tiếng Oromo Nam"] = "gax", ["Tiếng Oromo Đông"] = "hae", ["Tiếng Oroqen"] = "orh", ["Tiếng Osage"] = "osa", ["Tiếng Osatu"] = "ost", ["Tiếng Osci"] = "osc", ["Tiếng Ossetia"] = "os", ["Tiếng Ossetia cổ"] = "oos", ["Tiếng Otomi Mezquital"] = "ote", ["Tiếng Otuke"] = "otu", ["Tiếng Pa Kô"] = "pac", ["Tiếng Pa'O"] = "blk", ["Tiếng Paharia Kumarbhag"] = "kmj", ["Tiếng Paharia Sauria"] = "mjt", ["Tiếng Paite"] = "pck", ["Tiếng Paiwan"] = "pwn", ["Tiếng Pakan nguyên thủy"] = "mkh-pkn-pro", ["Tiếng Pala"] = "plq", ["Tiếng Palau"] = "pau", ["Tiếng Palaung Ruching"] = "pce", ["Tiếng Palaung Rumai"] = "rbb", ["Tiếng Palaung Shwe"] = "pll", ["Tiếng Palaung nguyên thủy"] = "mkh-pal-pro", ["Tiếng Palawano Brooke's Point"] = "plw", ["Tiếng Pali"] = "pi", ["Tiếng Pama-Nyungar nguyên thủy"] = "aus-pam-pro", ["Tiếng Pancana"] = "pnp", ["Tiếng Panchpargania"] = "tdb", ["Tiếng Pangasinan"] = "pag", ["Tiếng Pangwala"] = "pgg", ["Tiếng Papiamento"] = "pap", ["Tiếng Parauk"] = "prk", ["Tiếng Parthia"] = "xpr", ["Tiếng Pashtun"] = "ps", ["Tiếng Pathan nguyên thủy"] = "ira-pat-pro", ["Tiếng Pauna"] = "pnk", ["Tiếng Pawnee"] = "paw", ["Tiếng Pazeh"] = "pzh", ["Tiếng Pear"] = "pcb", ["Tiếng Pear nguyên thủy"] = "mkh-pea-pro", ["Tiếng Pecheneg"] = "xpc", ["Tiếng Pela"] = "bxd", ["Tiếng Pemon"] = "aoc", ["Tiếng Pengo"] = "peg", ["Tiếng Perm nguyên thủy"] = "urj-prm-pro", ["Tiếng Petjo"] = "pey", ["Tiếng Phai"] = "prt", ["Tiếng Phake"] = "phk", ["Tiếng Phalura"] = "phl", ["Tiếng Phi-Á nguyên thủy"] = "afa-pro", ["Tiếng Philippines nguyên thủy"] = "phi-pro", ["Tiếng Phoenicia"] = "phn", ["Tiếng Phong-Kniang"] = "pnx", ["Tiếng Phrygia"] = "xpg", ["Tiếng Phu Thái"] = "pht", ["Tiếng Phuan"] = "phu", ["Tiếng Pháp"] = "fr", ["Tiếng Pháp cổ"] = "fro", ["Tiếng Pháp trung đại"] = "frm", ["Tiếng Phạn"] = "sa", ["Tiếng Phần Lan"] = "fi", ["Tiếng Phổ Hiền"] = "cpx", ["Tiếng Phổ cổ"] = "prg", ["Tiếng Picard"] = "pcd", ["Tiếng Piceni Nam"] = "spx", ["Tiếng Piemonte"] = "pms", ["Tiếng Pilagá"] = "plg", ["Tiếng Pinyin"] = "pny", ["Tiếng Pipil"] = "ppl", ["Tiếng Pnar"] = "pbv", ["Tiếng Pohnpei"] = "pon", ["Tiếng Polabia"] = "pox", ["Tiếng Ponosakan"] = "pns", ["Tiếng Popoluca cao nguyên"] = "poi", ["Tiếng Potawatomi"] = "pot", ["Tiếng Prakrit"] = "pra", ["Tiếng Prakrit Ashoka"] = "inc-ash", ["Tiếng Prakrit Niya"] = "pra-niy", ["Tiếng Prakrit Paisaci"] = "inc-psc", ["Tiếng Prakrit Saurasen"] = "psu", ["Tiếng Prasuni"] = "prn", ["Tiếng Pucikwar"] = "apq", ["Tiếng Punic"] = "xpu", ["Tiếng Punjab"] = "pa", ["Tiếng Puyuma"] = "pyu", ["Tiếng Pwo Bắc"] = "pww", ["Tiếng Pwo Phrae"] = "kjt", ["Tiếng Pwo Tây"] = "pwo", ["Tiếng Pwo Đông"] = "kjp", ["Tiếng Pà Thẻn"] = "pha", ["Tiếng Pọng"] = "hnu", ["Tiếng Qashqai"] = "qxq", ["Tiếng Quan Thoại"] = "cmn", ["Tiếng Quapaw"] = "qua", ["Tiếng Quechua"] = "qu", ["Tiếng Quenya"] = "qya", ["Tiếng Quiripi"] = "qyp", ["Tiếng Quảng Đông"] = "yue", ["Tiếng Ra Glai Bắc"] = "rog", ["Tiếng Ra Glai Cát Gia"] = "roc", ["Tiếng Ra Glai Nam"] = "rgs", ["Tiếng Rabha"] = "rah", ["Tiếng Raetia"] = "xrr", ["Tiếng Rajasthan"] = "raj", ["Tiếng Rajbanshi"] = "rjs", ["Tiếng Rakhine"] = "rki", ["Tiếng Rama"] = "rma", ["Tiếng Rangpur"] = "rkt", ["Tiếng Rapa Nui"] = "rap", ["Tiếng Rarotonga"] = "rar", ["Tiếng Rasawa"] = "rac", ["Tiếng Raute"] = "rau", ["Tiếng Ravula"] = "yea", ["Tiếng Rawang"] = "raw", ["Tiếng Rejang"] = "rej", ["Tiếng Rendille"] = "rel", ["Tiếng Rohingya"] = "rhg", ["Tiếng Romagnol"] = "rgn", ["Tiếng Romansh"] = "rm", ["Tiếng Rukai"] = "dru", ["Tiếng Rumani"] = "ro", ["Tiếng Rungus"] = "drg", ["Tiếng Rusnak"] = "rsk", ["Tiếng Rusyn"] = "rue", ["Tiếng Ruthenia cổ"] = "zle-ort", ["Tiếng Rutul"] = "rut", ["Tiếng Rơ Măm"] = "rmx", ["Tiếng Rơ Ngao"] = "ren", ["Tiếng Saanich"] = "str", ["Tiếng Saaroa"] = "sxr", ["Tiếng Saba"] = "xsa", ["Tiếng Sabüm"] = "sbo", ["Tiếng Sadri"] = "sck", ["Tiếng Saek"] = "skb", ["Tiếng Saho"] = "ssy", ["Tiếng Saisiyat"] = "xsy", ["Tiếng Sakizaya"] = "szy", ["Tiếng Salar"] = "slr", ["Tiếng Salish nguyên thủy"] = "sal-pro", ["Tiếng Sami Akkala"] = "sia", ["Tiếng Sami Inari"] = "smn", ["Tiếng Sami Kildin"] = "sjd", ["Tiếng Sami Skolt"] = "sms", ["Tiếng Sami Ume"] = "sju", ["Tiếng Sami nguyên thủy"] = "smi-pro", ["Tiếng Samoa"] = "sm", ["Tiếng Samogitia"] = "sgs", ["Tiếng Samoyed nguyên thủy"] = "syd-pro", ["Tiếng Samtao"] = "stu", ["Tiếng Sango"] = "sg", ["Tiếng Santal"] = "sat", ["Tiếng Saposa"] = "sps", ["Tiếng Saraiki"] = "skr", ["Tiếng Saramacca"] = "srm", ["Tiếng Sardegna"] = "sc", ["Tiếng Saxon cổ"] = "osx", ["Tiếng Scots"] = "sco", ["Tiếng Sebat Bet Gurage"] = "sgw", ["Tiếng Selkup"] = "sel", ["Tiếng Semai"] = "sea", ["Tiếng Semaq Beri"] = "szc", ["Tiếng Semelai"] = "sza", ["Tiếng Semit nguyên thủy"] = "sem-pro", ["Tiếng Semnam"] = "ssm", ["Tiếng Seneca"] = "see", ["Tiếng Senni Koyraboro"] = "ses", ["Tiếng Senoufo Nyarafolo"] = "sev", ["Tiếng Serbia-Croatia"] = "sh", ["Tiếng Seri"] = "sei", ["Tiếng Seze"] = "sze", ["Tiếng Shan"] = "shn", ["Tiếng Sherpa"] = "xsr", ["Tiếng Shina"] = "scl", ["Tiếng Shina Kohistan"] = "plk", ["Tiếng Sholaga"] = "sle", ["Tiếng Shompen"] = "sii", ["Tiếng Shona"] = "sn", ["Tiếng Shor"] = "cjs", ["Tiếng Shuswap"] = "shs", ["Tiếng Sicel"] = "scx", ["Tiếng Sicily"] = "scn", ["Tiếng Sidamo"] = "sid", ["Tiếng Sikkim"] = "sip", ["Tiếng Silesia"] = "szl", ["Tiếng Siltʼe"] = "stv", ["Tiếng Sindh"] = "sd", ["Tiếng Bidayuh Bau"] = "sne", ["Tiếng Sinhala"] = "si", ["Tiếng Sioux nguyên thủy"] = "sio-pro", ["Tiếng Siraya"] = "fos", ["Tiếng Sissano"] = "sso", ["Tiếng Siwi"] = "siz", ["Tiếng Skepi"] = "skw", ["Tiếng Slav Giáo hội"] = "zls-chs", ["Tiếng Slav Giáo hội cổ"] = "cu", ["Tiếng Slav nguyên thủy"] = "sla-pro", ["Tiếng Slav Đông cổ"] = "orv", ["Tiếng Slovak"] = "sk", ["Tiếng Slovene"] = "sl", ["Tiếng Slovincia"] = "zlw-slv", ["Tiếng Socotra"] = "sqt", ["Tiếng Sogdia"] = "sog", ["Tiếng Sogdia nguyên thủy"] = "ira-sgc-pro", ["Tiếng Sokna"] = "swn", ["Tiếng Solon"] = "tuw-sol", ["Tiếng Solong"] = "aaw", ["Tiếng Somali"] = "so", ["Tiếng Sonsorol"] = "sov", ["Tiếng Sora"] = "srb", ["Tiếng Soran"] = "ckb", ["Tiếng Sotho"] = "st", ["Tiếng Sotho Bắc"] = "nso", ["Tiếng Soyot"] = "trk-soy", ["Tiếng Sranan Tongo"] = "srn", ["Tiếng Sumer"] = "sux", ["Tiếng Sunda"] = "su", ["Tiếng Sunda cổ"] = "osn", ["Tiếng Suri"] = "suq", ["Tiếng Surjapur"] = "sjp", ["Tiếng Svan"] = "sva", ["Tiếng Swahili"] = "sw", ["Tiếng Swazi"] = "ss", ["Tiếng Sylhet"] = "syl", ["Tiếng Syriac cổ điển"] = "syc", ["Tiếng Sán Chay"] = "mlc", ["Tiếng Séc"] = "cs", ["Tiếng Séc cổ"] = "zlw-ocs", ["Tiếng Sô"] = "sss", ["Tiếng Taabwa"] = "tap", ["Tiếng Tabasaran"] = "tab", ["Tiếng Tachawit"] = "shy", ["Tiếng Tagal Murut"] = "mvv", ["Tiếng Tagalog"] = "tl", ["Tiếng Tagoi"] = "tag", ["Tiếng Tahiti"] = "ty", ["Tiếng Tai Loi"] = "tlq", ["Tiếng Tai Tây Nam nguyên thủy"] = "tai-swe-pro", ["Tiếng Tajik"] = "tg", ["Tiếng Tal"] = "tal", ["Tiếng Tala"] = "tak", ["Tiếng Talossa"] = "tzl", ["Tiếng Talysh"] = "tly", ["Tiếng Tamang Gorkha Đông"] = "tge", ["Tiếng Tamang Tây"] = "tdg", ["Tiếng Tamang Đông"] = "taj", ["Tiếng Tamazight Trung Atlas"] = "tzm", ["Tiếng Tamil"] = "ta", ["Tiếng Tamil cổ"] = "oty", ["Tiếng Tamki"] = "tax", ["Tiếng Tammari"] = "tbz", ["Tiếng Tampuan"] = "tpu", ["Tiếng Tanchangya"] = "tnv", ["Tiếng Tangkhul Naga"] = "nmf", ["Tiếng Tangut"] = "txg", ["Tiếng Tanimbili"] = "tbe", ["Tiếng Taos"] = "twf", ["Tiếng Tapirapé"] = "taf", ["Tiếng Tara Baka"] = "bdh", ["Tiếng Tariana"] = "tae", ["Tiếng Tarifit"] = "rif", ["Tiếng Tashelhit"] = "shi", ["Tiếng Tat-Do Thái"] = "jdt", ["Tiếng Tatar"] = "tt", ["Tiếng Tatar Crưm"] = "crh", ["Tiếng Tatar Siberia"] = "sty", ["Tiếng Tatuyo"] = "tav", ["Tiếng Taungyo"] = "tco", ["Tiếng Tause"] = "tad", ["Tiếng Tausug"] = "tsg", ["Tiếng Tavoy"] = "tvn", ["Tiếng Tay Dọ"] = "tyj", ["Tiếng Taz"] = "zhx-taz", ["Tiếng Telugu"] = "te", ["Tiếng Tem"] = "kdh", ["Tiếng Temiar"] = "tea", ["Tiếng Temoq"] = "tmo", ["Tiếng Ten'edn"] = "tnz", ["Tiếng Tenharim"] = "pah", ["Tiếng Tepehuan Đông Nam"] = "stp", ["Tiếng Teressa"] = "tef", ["Tiếng Ternate"] = "tft", ["Tiếng Tetum"] = "tet", ["Tiếng Thavưng"] = "thm", ["Tiếng Thracia"] = "txh", ["Tiếng Thác Bạt"] = "qfa-xgx-tuo", ["Tiếng Thái"] = "th", ["Tiếng Thái Hàng Tổng"] = "tpo", ["Tiếng Thái Lai"] = "tjl", ["Tiếng Thái Na"] = "tdd", ["Tiếng Thái Trắng"] = "twh", ["Tiếng Thái Song"] = "soa", ["Tiếng Thái nguyên thủy"] = "tai-pro", ["Tiếng Thái Đen"] = "blt", ["Tiếng Thái Đỏ"] = "tyr", ["Tiếng Thượng Sorb"] = "hsb", ["Tiếng Thổ"] = "tou", ["Tiếng Thổ Dục Hồn"] = "qfa-xgx-tuh", ["Tiếng Thổ Gia Bắc"] = "tji", ["Tiếng Thổ Gia Nam"] = "tjs", ["Tiếng Thổ Nhĩ Kỳ"] = "tr", ["Tiếng Thổ Nhĩ Kỳ Anatolia cổ"] = "trk-oat", ["Tiếng Thổ Nhĩ Kỳ Gagauz Balkan"] = "bgx", ["Tiếng Thổ Nhĩ Kỳ Ottoman"] = "ota", ["Tiếng Thụy Điển"] = "sv", ["Tiếng Thụy Điển cổ"] = "gmq-osw", ["Tiếng Thủy"] = "swi", ["Tiếng Tiang"] = "tbj", ["Tiếng Tigre"] = "tig", ["Tiếng Tigrinya"] = "ti", ["Tiếng Tindi"] = "tin", ["Tiếng Tiruray"] = "tiy", ["Tiếng Tiên Ti"] = "qfa-xgx-xbi", ["Tiếng Tlingit"] = "tli", ["Tiếng Tobi"] = "tox", ["Tiếng Tochari A"] = "xto", ["Tiếng Tochari B"] = "txb", ["Tiếng Tochari nguyên thủy"] = "ine-toc-pro", ["Tiếng Tocho"] = "taz", ["Tiếng Toda"] = "tcx", ["Tiếng Tofa"] = "kim", ["Tiếng Tok Pisin"] = "tpi", ["Tiếng Tokelau"] = "tkl", ["Tiếng Toki Pona"] = "tok", ["Tiếng Tokunoshima"] = "tkn", ["Tiếng Tonga"] = "to", ["Tiếng Tooro"] = "ttj", ["Tiếng Torwali"] = "trw", ["Tiếng Toto"] = "txo", ["Tiếng Tráng Tả Giang"] = "zzj", ["Tiếng Trió"] = "tri", ["Tiếng Triều Châu"] = "nan-tws", ["Tiếng Triều Tiên"] = "ko", ["Tiếng Triều Tiên cổ"] = "oko", ["Tiếng Triều Tiên nguyên thủy"] = "qfa-kor-pro", ["Tiếng Triều Tiên trung đại"] = "okm", ["Tiếng Truku"] = "trv", ["Tiếng Trung Bikol"] = "bcl", ["Tiếng Trung Mansi"] = "mns-cen", ["Tiếng Trung Nahuatl"] = "nhn", ["Tiếng Trung Nahuatl Huasteca"] = "nch", ["Tiếng Trung Quốc"] = "zh", ["Tiếng Trà Động"] = "cdy", ["Tiếng Trác Ni"] = "cda", ["Tiếng Tráng"] = "za", ["Tiếng Tráng Nông"] = "zhn", ["Tiếng Tráng Đức Tĩnh"] = "zyg", ["Tiếng Trát Bá"] = "zhb", ["Tiếng Tsakhur"] = "tkr", ["Tiếng Tsakonia"] = "tsd", ["Tiếng Tsamai"] = "tsb", ["Tiếng Tsat"] = "huq", ["Tiếng Tshangla"] = "tsj", ["Tiếng Tsimshian"] = "tsi", ["Tiếng Tsonga"] = "ts", ["Tiếng Tsou"] = "tsu", ["Tiếng Tsuut'ina"] = "srs", ["Tiếng Tswana"] = "tn", ["Tiếng Tuamotu"] = "pmt", ["Tiếng Tuareg"] = "tmh", ["Tiếng Tukang Besi Bắc"] = "khc", ["Tiếng Tukang Besi Nam"] = "bhq", ["Tiếng Tuki"] = "bag", ["Tiếng Tulu"] = "tcy", ["Tiếng Tumbuka"] = "tum", ["Tiếng Tungus nguyên thủy"] = "tuw-pro", ["Tiếng Tunni"] = "tqq", ["Tiếng Tupi"] = "tpn", ["Tiếng Tupi cổ"] = "tpw", ["Tiếng Tupi-Guarani nguyên thủy"] = "tup-gua-pro", ["Tiếng Turk Khorasan"] = "kmz", ["Tiếng Turk Khorezm"] = "zkh", ["Tiếng Turk cổ"] = "otk", ["Tiếng Turk nguyên thủy"] = "trk-pro", ["Tiếng Turkmen"] = "tk", ["Tiếng Tuva"] = "tyv", ["Tiếng Tuvalu"] = "tvl", ["Tiếng Tà Mun"] = "aav-tam", ["Tiếng Tà Ôi Thượng"] = "tth", ["Tiếng Tày"] = "tyz", ["Tiếng Tày Sa Pa"] = "tys", ["Tiếng Tân Aram Assyria"] = "aii", ["Tiếng Tân Aram Do Thái Barzani"] = "bjf", ["Tiếng Tây Abenaki"] = "abe", ["Tiếng Tây Ban Nha"] = "es", ["Tiếng Tây Ban Nha cổ"] = "osp", ["Tiếng Tây Bắc Kavkaz nguyên thủy"] = "cau-nwc-pro", ["Tiếng Tây Frisia"] = "fy", ["Tiếng Tây Huasteca Nahuatl"] = "nhw", ["Tiếng Tây Kayah"] = "kyu", ["Tiếng Tây Makian"] = "mqs", ["Tiếng Tây Tạng"] = "bo", ["Tiếng Tây Tạng cổ điển"] = "xct", ["Tiếng Tây Yugur"] = "ybe", ["Tiếng Tích Bá"] = "sjo", ["Tiếng Tơ Đrá"] = "tdr", ["Tiếng Tương"] = "hsn", ["Tiếng Chaima"] = "ciy", ["Tiếng Ubykh"] = "uby", ["Tiếng Udi"] = "udi", ["Tiếng Udihe"] = "ude", ["Tiếng Udmurt"] = "udm", ["Tiếng Ugarit"] = "uga", ["Tiếng Ugong"] = "ugo", ["Tiếng Ugria nguyên thủy"] = "urj-ugr-pro", ["Tiếng Ukraina"] = "uk", ["Tiếng Umbria"] = "xum", ["Tiếng Uneapa"] = "bbn", ["Tiếng Urak Lawoi'"] = "urk", ["Tiếng Ural nguyên thủy"] = "urj-pro", ["Tiếng Urartu"] = "xur", ["Tiếng Urdu"] = "ur", ["Tiếng Urubú-Kaapor"] = "urb", ["Tiếng Urum"] = "uum", ["Tiếng Ushojo"] = "ush", ["Tiếng Uzbek"] = "uz", ["Tiếng Vaghri"] = "vgr", ["Tiếng Varli"] = "vav", ["Tiếng Vasavi"] = "vas", ["Tiếng Venda"] = "ve", ["Tiếng Veneti"] = "xve", ["Tiếng Veneto"] = "vec", ["Tiếng Veps"] = "vep", ["Tiếng Việt"] = "vi", ["Tiếng Việt trung cổ"] = "mkh-mvi", ["Tiếng Việt-Mường nguyên thủy"] = "mkh-vie-pro", ["Tiếng Volapük"] = "vo", ["Tiếng Volsci"] = "xvo", ["Tiếng Vot"] = "vot", ["Tiếng Vurës"] = "msn", ["Tiếng Waata"] = "ssn", ["Tiếng Waimaha"] = "bao", ["Tiếng Waiwai"] = "waw", ["Tiếng Wakhi"] = "wbl", ["Tiếng Wales"] = "cy", ["Tiếng Wallis"] = "wls", ["Tiếng Wallon"] = "wa", ["Tiếng Wambule"] = "wme", ["Tiếng Waneci"] = "wne", ["Tiếng War-Jaintia"] = "aml", ["Tiếng Waray"] = "war", ["Tiếng Warekena"] = "gae", ["Tiếng Warji"] = "wji", ["Tiếng Wayampi"] = "oym", ["Tiếng Wayana"] = "way", ["Tiếng Wayuu"] = "guc", ["Tiếng Wewaw"] = "wea", ["Tiếng Wobé"] = "wob", ["Tiếng Wolaytta"] = "wal", ["Tiếng Wolio"] = "wlo", ["Tiếng Wolof"] = "wo", ["Tiếng Wotu"] = "wtw", ["Tiếng Wymysorys"] = "wym", ["Tiếng Xamtanga"] = "xan", ["Tiếng Xhosa"] = "xh", ["Tiếng Xinh Mun"] = "puo", ["Tiếng Xtiêng"] = "sti", ["Tiếng Xtiêng Bù Đeh"] = "stt", ["Tiếng Xârâcùù"] = "ane", ["Tiếng Xơ Đăng"] = "sed", ["Tiếng Yaeyama"] = "rys", ["Tiếng Yaghnob"] = "yai", ["Tiếng Yakan"] = "yka", ["Tiếng Yakima"] = "yak", ["Tiếng Yakkha"] = "ybh", ["Tiếng Yakut"] = "sah", ["Tiếng Yami"] = "tao", ["Tiếng Yao (Nam Mĩ)"] = "sai-yao", ["Tiếng Yap"] = "yap", ["Tiếng Yapunda"] = "yev", ["Tiếng Ye'kwana"] = "mch", ["Tiếng Yele"] = "yle", ["Tiếng Yemsa"] = "jnj", ["Tiếng Yevan"] = "yej", ["Tiếng Yiddish"] = "yi", ["Tiếng Yidgha"] = "ydg", ["Tiếng Yidiny"] = "yii", ["Tiếng Yiwom"] = "gek", ["Tiếng Yogad"] = "yog", ["Tiếng Yola"] = "yol", ["Tiếng Yonaguni"] = "yoi", ["Tiếng Yong"] = "yno", ["Tiếng Yongkom"] = "yon", ["Tiếng Yoron"] = "yox", ["Tiếng Yoruba"] = "yo", ["Tiếng Yoruba nguyên thủy"] = "alv-yor-pro", ["Tiếng Yoy"] = "yoy", ["Tiếng Yugh"] = "yug", ["Tiếng Yukaghir nguyên thủy"] = "qfa-yuk-pro", ["Tiếng Yup'ik"] = "esu", ["Tiếng Yuri"] = "sai-yri", ["Tiếng Yurok"] = "yur", ["Tiếng Zaghawa"] = "zag", ["Tiếng Zaiwa"] = "atb", ["Tiếng Zarma"] = "dje", ["Tiếng Zarphat"] = "zrp", ["Tiếng Zay"] = "zwa", ["Tiếng Zayse-Zergulla"] = "zay", ["Tiếng Zaza"] = "zza", ["Tiếng Zeeland"] = "zea", ["Tiếng Zenaga"] = "zen", ["Tiếng Zirenkel"] = "zrn", ["Tiếng Zulu"] = "zu", ["Tiếng Zumbun"] = "jmb", ["Tiếng Äynu"] = "aib", ["Tiếng Ê Đê"] = "rad", ["Tiếng Ông Bối nguyên thủy"] = "qfa-onb-pro", ["Tiếng Övdal"] = "ovd", ["Tiếng Ý"] = "it", ["Tiếng Ý-Do Thái"] = "itk", ["Tiếng Đa Đảo hạt nhân nguyên thủy"] = "poz-pnp-pro", ["Tiếng Đa Đảo nguyên thủy"] = "poz-pol-pro", ["Tiếng Đa Đảo Đông nguyên thủy"] = "poz-pep-pro", ["Tiếng Đan Mạch"] = "da", ["Tiếng Đan Mạch cổ"] = "gmq-oda", ["Tiếng Đài Sơn"] = "zhx-tai", ["Tiếng Đông Abenaki"] = "aaq", ["Tiếng Đông Bontoc"] = "ebk", ["Tiếng Đông Bắc Kavkaz nguyên thủy"] = "cau-nec-pro", ["Tiếng Đông Can"] = "dng", ["Tiếng Đông Futuna"] = "fud", ["Tiếng Đông Hương"] = "sce", ["Tiếng Đông Khanty"] = "kca-eas", ["Tiếng Đông Yugur"] = "yuy", ["Tiếng Đường Uông"] = "zhx-twa", ["Tiếng Độc Long"] = "duu", ["Tiếng Đức"] = "de", ["Tiếng Đức Alemanni"] = "gsw", ["Tiếng Đức cao địa cổ"] = "goh", ["Tiếng Đức cao địa trung đại"] = "gmh", ["Tiếng Đức Đông Trung"] = "gmw-ecg", ["Tiếng Ơ Đu"] = "tyh", ["Tiếng Ưu Miền"] = "ium", ["Tiếng ǃXóõ"] = "nmn", ["Tiếng Ả Rập"] = "ar", ["Tiếng Ả Rập Ai Cập"] = "arz", ["Tiếng Ả Rập Algérie"] = "arq", ["Tiếng Ả Rập Bắc Levant"] = "apc", ["Tiếng Ả Rập Hijazi"] = "acw", ["Tiếng Ả Rập Juba"] = "pga", ["Tiếng Ả Rập Libya"] = "ayl", ["Tiếng Ả Rập Maroc"] = "ary", ["Tiếng Ả Rập Nam Levant"] = "ajp", ["Tiếng Ả Rập Oman"] = "acx", ["Tiếng Ả Rập Sudan"] = "apd", ["Tiếng Ả Rập Síp"] = "acy", ["Tiếng Ả Rập Tajikistan"] = "abh", ["Tiếng Ả Rập Tchad"] = "shu", ["Tiếng Ả Rập Uzbekistan"] = "auz", ["Tiếng Ả Rập vùng Vịnh"] = "afb", ["Tiếng Ấn-Arya nguyên thủy"] = "inc-pro", ["Tiếng Ấn-Iran nguyên thủy"] = "iir-pro", ["Tiếng Ấn-Âu nguyên thủy"] = "ine-pro", ["Tiếng Ỹaroamë"] = "yro", ["Àhàn"] = "ahn", ["Áncá"] = "acb", ["Ömie"] = "aom", ["Tiếng Önge"] = "oon", ["Đa ngữ"] = "mul", ["ǀXam"] = "xam", ["ǁAni"] = "hnh", ["ǁGana"] = "gnk", ["ǁXegwi"] = "xeg", ["ǂHoan"] = "huc", ["ǃKung"] = "khi-kun", ["Tiếng Bắc Selkup"] = "sel-nor", ["Tiếng Nam Selkup"] = "sel-sou", ["Tiếng Selkup nguyên thủy"] = "sel-pro", ["Tiếng Slovak cổ"] = "zlw-osk", ["Proto-Central Naga"] = "sit-aao-pro", ["Tiếng Bạch nguyên thủy"] = "sit-bai-pro", ["Bangru"] = "sit-ban", ["Proto-Bodish"] = "sit-bdi-pro", ["Tiếng Tứ Xuyên"] = "zhx-sic", ["Tiếng Quảng Lâm"] = "aav-qal", } 8m1xufxss9nr0388ed4yihk881d8kim yat 0 274350 2341463 2285544 2026-03-31T06:14:09Z Apisite 39795 + Volapük 2341463 wikitext text/x-wiki {{-ili-}} {{-verb-}} {{pn}} # [[nằm]]. [[Thể loại:Động từ tiếng Ili Turki]] =={{langname|mng}}== ==={{ĐM|verb}}=== {{head|mng|Động từ}} # {{label|mng|Rơlơm}} [[đánh]]. ==={{ĐM|ref}}=== * Blood, Evangeline; Blood, Henry (1972) ''Vietnam word list (revised): Mnong Rolom''. SIL International. =={{langname|vo}}== ==={{đm|noun}}=== {{vo-noun}} # [[con|Con]] [[sóc]]. ===={{đm|decl}}==== {{vo-decl-noun}} prgwgvqeqlha8dgtvpybsa6qt7w8k81 A La Hán 0 277884 2341486 2298580 2026-03-31T07:14:33Z Hiyuune 50834 /* Tiếng Việt */ (sử dụng [[MediaWiki:Gadget-AjaxEdit.js|AjaxEdit]]) 2341486 wikitext text/x-wiki {{also|alahan}} =={{langname|vi}}== ==={{ĐM|pron}}=== {{vi-pron}} ==={{ĐM|n}}=== {{vi-noun|cls=vị|head=A La Hán}} # {{lb|vi|Phật giáo}} {{alternative form of|vi|A-la-hán}} pqoq7v7wgvqvsj19q4jxbeiyuzea9gz अक्षयता 0 277977 2341539 2092664 2026-03-31T08:25:53Z Hiyuune 50834 2341539 wikitext text/x-wiki =={{langname|sa}}== ==={{section|alternative script}}=== {{san-alt}} ==={{section|pron}}=== * {{sa-IPA}} ==={{section|n}}=== {{sa-noun|g=f}} # Sự [[bất diệt]]. gafzlzdv0r0ou0bj0nwanwtiq1x5hvs 𣕇 0 281561 2341423 2130395 2026-03-31T01:00:41Z Hiyuune 50834 2341423 wikitext text/x-wiki {{character info}} =={{langname|mul}}== ==={{section|han}}=== {{Han char|rn=75|rad=木|as=9|sn=13|four=|canj=|ids=⿱削木}} ===={{section|ref}}==== * {{Han ref|kx=0540.190|dkj=|dj=|hdz=21248.010|uh=23547}} lss76xzm8j8djobc05ekqav0iza7m4u 0 298705 2341560 2144894 2026-03-31T09:38:06Z WhoAlone 40420 2341560 wikitext text/x-wiki {{zho-prefix}} {{also|庆}} {{-Hani-}} {{character info}} {{zh-forms|s=庆|alt=𢙎,𢞢,𢝑}} {{-dictionary-}} {{Han char|rn=61|rad=心|as=11|sn=15|four=00247|canj=IXE|ids=⿸⿸广⿻コ⿰丨丨⿱乛𢖻}} {{-translit-}} *{{Latn}} **{{hanviet|[[khánh]]|[[khanh]]|[[khương]]}} {{-reference-}} {{Han ref|kx=0400.130|dkj=11145|dj=0740.080|hdz=20903.090|uh=6176|ud=24950|bh=BC79|bd=48249}} {{-vie-n-}} {{quốc ngữ|khánh|khương}} {{-pron-}} :{{vie-pron|khánh}} *{{vie-Nom form of|khánh}} *:{{ux2|vi|具'''慶'''|tr=cụ '''khánh'''|[[phước lành]], song thân còn khỏe|inline=1}} :{{vie-pron|khương}} *{{vie-Nom form of|khương}} {{-reference-}} #{{Chú thích sách|author=Anthony Trần Văn Kiệm|title=[http://www.nomfoundation.org/nom-tools/Giup-Doc?uiLang=en Giúp đọc Nôm và Hán Việt]|year=2004}} #[[w:Huỳnh Tịnh Của|Huỳnh Tịnh Của]] (1895) [[s:Đại Nam Quấc âm tự vị/Tome I/K|''Đại Nam Quấc âm tự vị'', quyển I]], tr. 481 =={{langname|ja}}== {{wikipedia|lang=ja}} ==={{ĐM|Kanji}}=== {{ja-kanji|grade=c|rs=心11}} ==={{ĐM|reading}}=== {{ja-readings |goon=きょう |kanon=けい |kun=よ-い, よろこ-ぶ }} ==={{ĐM|pron}}=== {{ja-pron|けい}} ==={{ĐM|noun}}=== {{ja-noun|けい}} #Sự [[vui mừng]], [[hân hoan]]. #:{{ux2|ja|'''慶'''祝|tr=けいしゅく|[[chúc mừng]]|inline=1}} {{-ojp-}} {{-etymology-}} {{etym-from|lang=ltc|term=慶}} {{-pron-}} *{{IPA4|ojp|[ke̞ː]}} {{-adjective-}} {{head|ojp|Tính từ|けい|tr=kei}} #[[khánh|Khánh]]. #:{{quote-book|ojp|year=~300TCN|author={{w|Mạnh Tử}} ({{lang|ojp|[[w:ja:孟子|孟子]]}})|title=[[w:Mạnh Tử (sách)|Sách Mạnh Tử]] ({{lang|ojp|[[w:ojp:孟子 (書物)|孟子]]}})|chapter=[[s:jp:孟子/告子下|告子下]]|passage=則有'''慶''','''慶'''以地|transliteration=ち慶あり。慶するに地を以てす (tắc hữu '''khánh''', '''khánh''' dĩ địa)|translation=tất vui, vui gia thêm vào điền thổ}} {{-ryu-}} {{-kanji-}} {{ja-kanji|grade=c|rs=心11}} {{-pron-}} * {{IPA4|ryu|[ki]}} {{-letter-}} {{ja-noun|き}} # [[khánh|Khánh]]. #:{{ux2|ryu|'''慶'''良間|tr='''き'''らま|{{w|quần đảo Kerama}} (Khánh Lương Gian)|inline=1}} {{-reference-}} #{{Chú thích web|work=[https://mmsrv.ninjal.ac.jp/okinawago/okinawa_02.xlsx 沖縄語辞典 データ集]|publisher=National Institute for Japanese Language and Linguistics|year=2001|edition=9}} {{-kor-}} {{-pron-}} {{ko-hanja-pron|경|l=y}} {{-hanja-}} {{pn}} (''eumhun'' {{l|ko|경사}} {{l|ko|경}}) # {{ko-hanja form of‎|경}} #:{{ux2|ko|國'''慶'''日|tr=국'''경'''일|[[ngày]] [[quốc khánh]]|inline=1}} {{-reference-}} #{{lang|ko|국제퇴계학회 대구경북지부 (國際退溪學會 大邱慶北支部)}} (2007). Digital Hanja Dictionary, {{lang|ko|전자사전/電子字典}}. [http://hanjadoc.com/dic/read.asp?table=board&page=1&m_no=3643&str1=1&str2=%CC%D4 慶] {{-okm-}} {{-etymology-}} {{etym-from|lang=ltc|term=慶}} {{-pron-}} *{{IPA4|okm|[kjɘ(ː)ŋ]}} {{-hanja-}} {{pn}} # Dạng Hán tự của {{l|okm|경|t=khánh}}. #:{{quote-book|okm|year=Thế kỷ 18|author=Liễu Đắc Cung (柳得恭) ({{lang|okm|[[s:ko:저자:류득공|류득공]]}})|title=[[w:ko:발해고|발해고]] (渤海考)|trans-title=Bột Hải khảo|chapter=[[s:ko:발해고/신고/양방경|양방'''경''']] (楊方'''慶''')|trans-chapter=Dương phương '''khánh'''}} {{-zho-|title=no}} {{-glyph origin-}} {{Han etym}} Trong {{w|Giáp cốt văn}} {{Han compound|廌|心|t1={{w|giải trãi}}|ls=ic}}. Thành tố {{lang|zh|心}} biểu trưng cho vẻ đẹp thần thú, chỉ phước lành. Trong {{w|Kim văn}} {{lang|zh|心}} thường cũng được viết như {{lang|zh|文}}. Vào thời {{w|Chiến Quốc}} vĩ tố của {{zh-l|*廌}} bị biến thành {{lang|zh|个}}, rồi thành {{lang|zh|夂}} thời {{w|nhà Tần}}. Dựa trên sự tương đồng giữa các biến thể cổ, Quý Húc Thăng (2004) gợi ý rằng tất cả {{zh-l|*麕}}, {{zh-l|*廌}}, {{zh-l|*麐}}, {{zh-l|*鹿}} đều chỉ về những loài hươu quý giá (lộc) khi săn được thì phải ăn mừng. Tác giả cũng kết luận có đủ bằng chứng cho thấy {{lang|zh|慶}} và {{zh-l|*麐}} từng là một chữ. Vì {{lang|zh|麐}} là loài hươu quý giá nhất, chữ đó dùng để chỉ sự ăn mừng vui sướng. {{-etymology-}} Không chắc chắn. {{zh-ref|Schuessler (2007)}} thấy có thể cùng nguồn gốc với {{etym-cog|bo|གཡང||hạnh phúc, phước, thịnh vượng}} mà Bodman (1980) liên hệ với {{och-l|祥}}. {{-pron-}} {{zh-pron |m=qìng |m-s=qin4 |c=hing3 |c-t=hen1 |g=qin3 |h=pfs=khin;gd=kin4 |j=qing3 |mb=ke̿ng |md=kéng |mn=ml,jj,tw:khèng/ml:khiàⁿ |mn-t=kêng3 |w=2qin |x=qin4 |mc=y |oc=y |cat=v,n,a,pn }} {{-verb-}} {{head|zh|Động từ}} # [[chúc mừng|Chúc mừng]]; [[khánh chúc]]. #:{{ux2|zh|慶祝|[[khánh chúc]]|inline=1}} #:{{quote|zh|把那肥牛犢牽來宰了,我們來吃喝'''慶'''祝;|Hãy bắt bò con mập làm thịt đi. Chúng ta hãy '''ăn mừng''', (''[[s:Lu-ca/15|Lu-ca 15:23]]'')|inline=1}} {{-noun-}} {{head|zh|Danh từ}} # [[ngày|Ngày]] [[kỷ niệm]]. #: {{ux2|zh|國慶|ngày [[quốc khánh]]|inline=1}} {{-pr-noun-}} {{head|zh|Danh từ}} # ({{surname|zh}}) Khánh. {{-compound-}} {{col3|zh|慶祝|慶大霉素|慶典|慶賀|慶壽|慶幸|國慶日|不通弔慶|慶成|慶雲|寶慶|嘉慶|慶生|慶流子孫|慶曆|慶忌|慶士|慶功宴|慶功|慶伯利|具慶|吉慶|弄璋之慶|彈冠相慶|慶弔|家慶|婚喪喜慶|大慶|慶喜|慶生會|國慶|喜慶|同慶|吉慶無虞|天慶|吉凶慶弔|慶賞|懸弧之慶|普天同慶|率土同慶|積善餘慶|稱慶|祥風慶雲|拜家慶|溥天同慶|校慶|景星慶雲|週年慶|長慶集|衍慶|額手稱慶|重慶|節慶|餘慶|螽斯之慶|長慶體|誌慶|舉觴稱慶|一人有慶|休慶|作慶|先號後慶|具慶下|冥慶|協慶|合慶|吉慶花|善慶|嘉慶子|國慶節|展慶|延慶|延慶節|弔慶|忻慶|恩慶|悚慶|慶仰|慶削|慶勉|慶卹|慶卿|慶吊|慶命|慶唁|慶問|慶善|慶基|慶室|慶宥|慶幣|慶幫|慶廉|慶延|慶忌冠|慶快|慶忭|慶恤|慶悅|慶惠|慶慰|慶成宴|慶戴|慶抃|慶拜|慶施|慶旦|慶會|慶期|慶殃|慶氏學|慶泰|慶洽|慶渥|慶演|慶澤|慶煖|慶煙|慶父|慶牘|慶瑞|慶祉|慶祚|慶祥|慶福|慶禮|慶笑|慶節|慶綿|慶緒|慶羨|慶育|慶膺|慶色|慶荷|慶薀|慶裔|慶覃|慶觴|慶誕|慶謁|慶譽|慶豐司|慶賚|慶賜|慶賴|慶躍|慶輝|慶都|慶門|慶閥|慶陰|慶隆|慶霄|慶靈|慶餘|慶騰|成慶|拜慶|朝慶|榮慶|欣慶|歡慶|河清雲慶|洽慶|珍慶|瑞慶|瑞慶節|皇慶|祚慶|祝慶|祥慶|福慶|福慶錢|積慶|興慶|舉手相慶|行慶|表慶|覃慶|誕慶|貤慶|賀慶|賜慶|賞慶|贊慶|遐慶|遺慶|鍾慶|長慶|長慶赤|門慶|隆慶|隆慶窯|靈慶|額慶|額手慶|額手相慶|顯慶|顯慶輅|鴻慶|鴻慶宮|安慶|安慶梆子|婚慶|慶叶弄璋|慶叶弄瓦|慶溢北堂|慶衍龍孫|懋遷有慶|桐枝衍慶}} {{-desc-}} * {{desc|otk||bor=1}} ** {{desc|tk|geň}} {{-reference-}} #{{cite-web|entryurl=https://humanum.arts.cuhk.edu.hk/Lexis/lexi-mf/search.php?word=%E6%85%B6|entry=慶|work={{lang|zh|sc=Hant|漢語多功能字庫}} (Hán ngữ đa công năng tự khố)|url=https://humanum.arts.cuhk.edu.hk/Lexis/lexi-mf/|publisher={{w|lang=zh|香港中文大學|{{lang|zh|sc=Hant|香港中文大學}}|tr=-}} ({{w|Đại học Trung văn Hồng Kông}})|year=2014&ndash;}} #{{cite-web|entryurl=https://dict.variants.moe.edu.tw/variants/rbt/word_attribute.rbt?quote_code=QTAxNDI0|entry=慶|work={{lang|zh|sc=Hant|教育部異體字字典}} (Giáo dục bộ dị thể tự tự điển)|url=https://dict.variants.moe.edu.tw/variants/rbt/home.do|publisher=Ministry of Education, R.O.C.|year=2017}} #{{Chú thích sách|author=Viện Khoa học Xã hội Việt Nam|title=Từ điển Trung Việt|year=2008|location=[[Hà Nội]]|publisher=Nhà xuất bản Khoa học Xã hội|page=984}} 8duoy6lvsszwj87rxyzipx5bhbscnri 華人 0 298941 2341496 2145418 2026-03-31T07:26:31Z WhoAlone 40420 2341496 wikitext text/x-wiki {{also|华人}} =={{langname|zh}}== {{zh-forms|s=华人}} ==={{ĐM|pron}}=== {{zh-pron |m=Huárén |dg=хуа1жын1 |c=waa4 jan4 |c-t=va3 ngin3 |h=pfs=Fà-ngìn |md=Huà-ìng |mn=xm,qz,tp:Hôa-lîn/zz,kh:Hôa-jîn |mn-t=hua5 ring5 |w=3hho nyin |cat=n }} ==={{ĐM|noun}}=== {{zh-noun}} # [[người Hoa|Người Hoa]]; người gốc Hoa. ===={{ĐM|usage}}==== Thường dùng để chỉ những người sinh sống ở bên ngoài Trung Quốc. ===={{ĐM|derived}}==== {{columns|zh|2||馬來西亞華人公會|外籍華人}} [[Thể loại:Tiếng Quan Thoại trung cấp]] =={{langname|ja}}== {{ja-kanjitab|か|じん|yomi=on}} ==={{ĐM|etym}}=== Từ {{suffix|ja|華|人|t1=Trung Hoa|t2=người|sort=かじん}}. ==={{ĐM|noun}}=== {{ja-noun|かじん}} # [[người Hoa|Người Hoa]]. jqaymr5jp3x96pmnk8fcgc6dg22zwe1 babook 0 299853 2341414 2202651 2026-03-30T14:23:58Z Hiyuune 50834 2341414 wikitext text/x-wiki =={{langname|ssm}}== ==={{section|n}}=== {{head|ssm|Danh từ}} # [[phụ nữ|Phụ nữ]]. # [[vợ|Vợ]]. 7bt1x2fs75xazn4kba80nydsclyoizq baba babanggi 0 301247 2341403 2149928 2026-03-30T14:14:05Z Hiyuune 50834 2341403 wikitext text/x-wiki =={{langname|zns}}== ==={{section|pron}}=== * {{IPA4|zns|[bàbá bàba᷄ŋɡî]}} ==={{section|n}}=== {{head|zns|Danh từ}} # [[ông|Ông]]. ==={{section|ref}}=== * Blench, Roger. 2020. ''An introduction to Mantsi, a South Bauchi language of Central Nigeria''. 7800cb0ue4djiimm2ef70l744qlyihx Mô đun:ltc-pron/data 828 303616 2341432 2156354 2026-03-31T01:25:54Z Hiyuune 50834 2341432 Scribunto text/plain local data = {} data.init_type = { ["幫"] = 1, ["帮"] = 1, ["非"] = 1, ["滂"] = 2, ["敷"] = 2, ["並"] = 3, ["并"] = 3, ["奉"] = 3, ["明"] = 4, ["微"] = 4, ["端"] = 5, ["透"] = 6, ["定"] = 7, ["泥"] = 8, ["知"] = 9, ["徹"] = 10, ["澄"] = 11, ["孃"] = 12, ["娘"] = 12, ["精"] = 13, ["清"] = 14, ["從"] = 15, ["从"] = 15, ["心"] = 16, ["邪"] = 17, ["莊"] = 18, ["庄"] = 18, ["初"] = 19, ["崇"] = 20, ["生"] = 21, ["俟"] = 22, ["章"] = 23, ["昌"] = 24, ["常"] = 25, ["禪"] = 25, ["禅"] = 25, ["書"] = 26, ["书"] = 26, ["船"] = 27, ["見"] = 28, ["见"] = 28, ["溪"] = 29, ["谿"] = 29, ["羣"] = 30, ["群"] = 30, ["疑"] = 31, ["曉"] = 32, ["晓"] = 32, ["匣"] = 33, ["影"] = 34, ["于"] = 35, ["云"] = 35, ["雲"] = 35, ["以"] = 36, ["來"] = 37, ["来"] = 37, ["日"] = 38 } data.fin_conv = { ["冬"] = "沃", ["東"] = "屋", ["江"] = "覺", ["鍾"] = "燭", ["眞"] = "質", ["臻"] = "櫛", ["諄"] = "術", ["痕"] = "麧", ["魂"] = "沒", ["欣"] = "迄", ["文"] = "物", ["寒"] = "曷", ["桓"] = "末", ["元"] = "月", ["刪"] = "黠", ["山"] = "鎋", ["仙"] = "薛", ["先"] = "屑", ["唐"] = "鐸", ["陽"] = "藥", ["庚"] = "陌", ["耕"] = "麥", ["清"] = "昔", ["青"] = "錫", ["登"] = "德", ["蒸"] = "職", ["侵"] = "緝", ["談"] = "盍", ["嚴"] = "業", ["凡"] = "乏", ["銜"] = "狎", ["咸"] = "洽", ["鹽"] = "葉", ["添"] = "怗", ["覃"] = "合" } data.fin_type = { ["冬"] = 5, ["沃"] = 6, ["鍾"] = 7, ["燭"] = 8, ["江"] = 9, ["覺"] = 10, ["之"] = 19, ["魚"] = 22, ["模"] = 23, ["虞"] = 24, ["咍"] = 41, ["灰"] = 42, ["臻"] = 46, ["諄"] = 47, ["櫛"] = 51, ["術"] = 52, ["痕"] = 53, ["麧"] = 54, ["魂"] = 55, ["沒"] = 56, ["欣"] = 57, ["迄"] = 58, ["文"] = 59, ["物"] = 60, ["寒"] = 61, ["桓"] = 62, ["曷"] = 63, ["末"] = 64, ["豪"] = 89, ["肴"] = 90, ["蕭"] = 93, ["歌"] = 94, ["蒸"] = 133, ["尤"] = 136, ["侯"] = 137, ["幽"] = 138, ["談"] = 143, ["盍"] = 144, ["嚴"] = 145, ["凡"] = 146, ["業"] = 147, ["乏"] = 148, ["銜"] = 149, ["狎"] = 150, ["咸"] = 151, ["洽"] = 152, ["添"] = 157, ["怗"] = 158, ["帖"] = 158, ["覃"] = 159, ["合"] = 160 } data.fin_type_open = { ["微開"] = 20, ["微合"] = 21, ["泰開"] = 25, ["泰合"] = 26, ["廢開"] = 27, ["廢合"] = 28, ["夬開"] = 29, ["夬合"] = 30, ["佳開"] = 31, ["佳合"] = 32, ["皆開"] = 33, ["皆合"] = 34, ["齊開"] = 39, ["齊合"] = 40, ["元開"] = 65, ["元合"] = 66, ["月開"] = 67, ["月合"] = 68, ["刪開"] = 69, ["刪合"] = 70, ["黠開"] = 71, ["黠合"] = 72, ["山開"] = 73, ["山合"] = 74, ["鎋開"] = 75, ["鎋合"] = 76, ["先開"] = 85, ["先合"] = 86, ["屑開"] = 87, ["屑合"] = 88, ["唐開"] = 101, ["唐合"] = 102, ["鐸開"] = 103, ["鐸合"] = 104, ["陽開"] = 105, ["陽合"] = 106, ["藥開"] = 107, ["藥合"] = 108, ["耕開"] = 117, ["耕合"] = 118, ["麥開"] = 119, ["麥合"] = 120, ["清開"] = 121, ["清合"] = 122, ["昔開"] = 123, ["昔合"] = 124, ["青開"] = 125, ["青合"] = 126, ["錫開"] = 127, ["錫合"] = 128, ["登開"] = 129, ["登合"] = 130, ["德開"] = 131, ["德合"] = 132, ["職開"] = 134, ["職合"] = 135 } data.fin_type_deng_open = { ["支三開"] = 11, ["支三合"] = 12, ["支重鈕三開"] = 13, ["支重鈕三合"] = 14, ["脂三開"] = 15, ["脂三合"] = 16, ["脂重鈕四開"] = 15, ["脂重鈕四合"] = 16, ["脂重鈕三開"] = 17, ["脂重鈕三合"] = 18, ["祭三開"] = 35, ["祭三合"] = 36, ["祭重鈕四開"] = 35, ["祭重鈕四合"] = 36, ["祭重鈕三開"] = 37, ["祭重鈕三合"] = 38, ["戈一合"] = 95, ["戈三開"] = 96, ["戈三合"] = 97, ["仙三開"] = 77, ["仙三合"] = 78, ["仙重鈕三開"] = 79, ["仙重鈕三合"] = 80, ["薛三開"] = 81, ["薛三合"] = 82, ["薛重鈕三開"] = 83, ["薛重鈕三合"] = 84, ["麻二開"] = 98, ["麻二合"] = 99, ["麻三開"] = 100, ["陌二開"] = 113, ["陌二合"] = 114, ["陌三開"] = 115, ["陌三合"] = 116, ["庚二開"] = 109, ["庚二合"] = 110, ["庚三開"] = 111, ["庚三合"] = 112, ["庚重鈕三開"] = 111, ["庚重鈕三合"] = 112 } data.initialConv = { ["Zhengzhang"] = { [1] = "p", [2] = "pʰ", [3] = "b", [4] = "m", [5] = "t", [6] = "tʰ", [7] = "d", [8] = "n", [9] = "ʈ", [10] = "ʈʰ", [11] = "ɖ", [12] = "ɳ", [13] = "t͡s", [14] = "t͡sʰ", [15] = "d͡z", [16] = "s", [17] = "z", [18] = "t͡ʃ", [19] = "t͡ʃʰ", [20] = "d͡ʒ", [21] = "ʃ", [22] = "ʒ", [23] = "t͡ɕ", [24] = "t͡ɕʰ", [25] = "d͡ʑ", [26] = "ɕ", [27] = "ʑ", [28] = "k", [29] = "kʰ", [30] = "ɡ", [31] = "ŋ", [32] = "h", [33] = "ɦ", [34] = "ʔ", [35] = "ɦ", [36] = "j", [37] = "l", [38] = "ȵ" }, ["Karlgren"] = { [1] = "p", [2] = "pʰ", [3] = "bʱ", [4] = "m", [5] = "t", [6] = "tʰ", [7] = "dʱ", [8] = "n", [9] = "ȶ", [10] = "ȶʰ", [11] = "ȡʱ", [12] = "n", [13] = "t͡s", [14] = "t͡sʰ", [15] = "d͡zʱ", [16] = "s", [17] = "z", [18] = "ʈ͡ʂ", [19] = "ʈ͡ʂʰ", [20] = "ɖ͡ʐʱ", [21] = "ʂ", [22] = "ɖ͡ʐʰ", [23] = "t͡ɕ", [24] = "t͡ɕʰ", [25] = "ʑ", [26] = "ɕ", [27] = "d͡ʑʰ", [28] = "k", [29] = "kʰ", [30] = "g", [31] = "ŋ", [32] = "x", [33] = "ɣ", [34] = "ʔ", [35] = "", [36] = "", [37] = "l", [38] = "ȵʑ" }, ["Li"] = { [1] = "p", [2] = "pʰ", [3] = "b", [4] = "m", [5] = "t", [6] = "tʰ", [7] = "d", [8] = "n", [9] = "ȶ", [10] = "ȶʰ", [11] = "ȡ", [12] = "n", [13] = "t͡s", [14] = "t͡sʰ", [15] = "d͡z", [16] = "s", [17] = "z", [18] = "t͡ʃ", [19] = "t͡ʃʰ", [20] = "d͡ʒ", [21] = "ʃ", [22] = "ʒ", [23] = "t͡ɕ", [24] = "t͡ɕʰ", [25] = "ʑ", [26] = "ɕ", [27] = "d͡ʑ", [28] = "k", [29] = "kʰ", [30] = "ɡ", [31] = "ŋ", [32] = "x", [33] = "ɣ", [34] = "ʔ", [35] = "ɣ", [36] = "", [37] = "l", [38] = "ȵ" }, ["Pan"] = { [1] = "p", [2] = "pʰ", [3] = "b", [4] = "m", [5] = "t", [6] = "tʰ", [7] = "d", [8] = "n", [9] = "ʈ", [10] = "ʈʰ", [11] = "ɖ", [12] = "ɳ", [13] = "t͡s", [14] = "t͡sʰ", [15] = "d͡z", [16] = "s", [17] = "z", [18] = "ʈ͡ʂ", [19] = "ʈ͡ʂʰ", [20] = "ɖ͡ʐ", [21] = "ʃ", [22] = "ʐ", [23] = "t͡ɕ", [24] = "t͡ɕʰ", [25] = "d͡ʑ", [26] = "ɕ", [27] = "ʑ", [28] = "k", [29] = "kʰ", [30] = "ɡ", [31] = "ŋ", [32] = "h", [33] = "ɦ", [34] = "ʔ", [35] = "ɦ", [36] = "j", [37] = "l", [38] = "ȵ" }, ["Pulleyblank"] = { [1] = "p", [2] = "pʰ", [3] = "b", [4] = "m", [5] = "t", [6] = "tʰ", [7] = "d", [8] = "n", [9] = "ʈ", [10] = "ʈʰ", [11] = "ɖ", [12] = "ɳ", [13] = "t͡s", [14] = "t͡sʰ", [15] = "d͡z", [16] = "s", [17] = "z", [18] = "ʈ͡ʂ", [19] = "ʈ͡ʂʰ", [20] = "ɖ͡ʐ", [21] = "ʂ", [22] = "ʐ", [23] = "c", [24] = "cʰ", [25] = "d͡ʑ", [26] = "ɕ", [27] = "ʑ", [28] = "k", [29] = "kʰ", [30] = "g", [31] = "ŋ", [32] = "h", [33] = "ɦ", [34] = "ʔ", [35] = "ɦ", [36] = "j", [37] = "l", [38] = "ȵ" }, ["Wang"] = { [1] = "p", [2] = "pʰ", [3] = "b", [4] = "m", [5] = "t", [6] = "tʰ", [7] = "d", [8] = "n", [9] = "ȶ", [10] = "ȶʰ", [11] = "ȡ", [12] = "n", [13] = "t͡s", [14] = "t͡sʰ", [15] = "d͡z", [16] = "s", [17] = "z", [18] = "t͡ʃ", [19] = "t͡ʃʰ", [20] = "d͡ʒ", [21] = "ʃ", [22] = "ʒ", [23] = "t͡ɕ", [24] = "t͡ɕʰ", [25] = "ʑ", [26] = "ɕ", [27] = "d͡ʑ", [28] = "k", [29] = "kʰ", [30] = "ɡ", [31] = "ŋ", [32] = "x", [33] = "ɣ", [34] = "", [35] = "ɣ", [36] = "j", [37] = "l", [38] = "ȵʑ" }, ["Shao"] = { [1] = "p", [2] = "pʰ", [3] = "b", [4] = "m", [5] = "t", [6] = "tʰ", [7] = "d", [8] = "n", [9] = "ȶ", [10] = "ȶʰ", [11] = "ȡ", [12] = "n", [13] = "t͡s", [14] = "t͡sʰ", [15] = "d͡z", [16] = "s", [17] = "z", [18] = "t͡ʃ", [19] = "t͡ʃʰ", [20] = "d͡ʒ", [21] = "ʃ", [22] = "ʒ", [23] = "t͡ɕ", [24] = "t͡ɕʰ", [25] = "d͡ʑ", [26] = "ɕ", [27] = "ʑ", [28] = "k", [29] = "kʰ", [30] = "ɡ", [31] = "ŋ", [32] = "x", [33] = "ɣ", [34] = "ʔ", [35] = "ɣ", [36] = "", [37] = "l", [38] = "ȵʑ" }, } data.finalConv = { ["Zhengzhang"] = { [1] = "uŋ", [2] = "ɨuŋ", [3] = "uk̚", [4] = "ɨuk̚", [5] = "uoŋ", [6] = "uok̚", [7] = "ɨoŋ", [8] = "ɨok̚", [9] = "ˠʌŋ", [10] = "ˠʌk̚", [11] = "iᴇ", [12] = "iuᴇ", [13] = "ˠiᴇ", [14] = "ˠiuᴇ", [15] = "iɪ", [16] = "iuɪ", [17] = "ˠiɪ", [18] = "ˠiuɪ", [19] = "ɨ", [20] = "ɨi", [21] = "ʉi", [22] = "ɨʌ", [23] = "uo", [24] = "ɨo", [25] = "ɑi", [26] = "uɑi", [27] = "ɨɐi", [28] = "ʉɐi", [29] = "ˠai", [30] = "ˠuai", [31] = "ˠɛ", [32] = "ˠuɛ", [33] = "ˠɛi", [34] = "ˠuɛi", [35] = "iᴇi", [36] = "iuᴇi", [37] = "ˠiᴇi", [38] = "ˠiuᴇi", [39] = "ei", [40] = "wei", [41] = "ʌi", [42] = "uʌi", [43] = "iɪn", [44] = "ˠiɪn", [45] = "ˠiuɪn", [46] = "ɪn", [47] = "iuɪn", [48] = "iɪt̚", [49] = "ˠiɪt̚", [50] = "ˠiuɪt̚", [51] = "ɪt̚", [52] = "iuɪt̚", [53] = "ən", [54] = "ət̚", [55] = "uən", [56] = "uət̚", [57] = "ɨn", [58] = "ɨt̚", [59] = "ɨun", [60] = "ɨut̚", [61] = "ɑn", [62] = "uɑn", [63] = "ɑt̚", [64] = "uɑt̚", [65] = "ɨɐn", [66] = "ʉɐn", [67] = "ɨɐt̚", [68] = "ʉɐt̚", [69] = "ˠan", [70] = "ˠuan", [71] = "ˠat̚", [72] = "ˠuat̚", [73] = "ˠɛn", [74] = "ˠuɛn", [75] = "ˠɛt̚", [76] = "ˠuɛt̚", [77] = "iᴇn", [78] = "iuᴇn", [79] = "ˠiᴇn", [80] = "ˠiuᴇn", [81] = "iᴇt̚", [82] = "iuᴇt̚", [83] = "ˠiᴇt̚", [84] = "ˠiuᴇt̚", [85] = "en", [86] = "wen", [87] = "et̚", [88] = "wet̚", [89] = "ɑu", [90] = "ˠau", [91] = "iᴇu", [92] = "ˠiᴇu", [93] = "eu", [94] = "ɑ", [95] = "uɑ", [96] = "ɨɑ", [97] = "ɨuɑ", [98] = "ˠa", [99] = "ˠua", [100] = "ia", [101] = "ɑŋ", [102] = "wɑŋ", [103] = "ɑk̚", [104] = "wɑk̚", [105] = "ɨɐŋ", [106] = "ʉɐŋ", [107] = "ɨɐk̚", [108] = "ʉɐk̚", [109] = "ˠæŋ", [110] = "ˠwæŋ", [111] = "ˠiæŋ", [112] = "ˠwiæŋ", [113] = "ˠæk̚", [114] = "ˠwæk̚", [115] = "ˠiæk̚", [116] = "ˠwiæk̚", [117] = "ˠɛŋ", [118] = "ˠwɛŋ", [119] = "ˠɛk̚", [120] = "ˠwɛk̚", [121] = "iᴇŋ", [122] = "wiᴇŋ", [123] = "iᴇk̚", [124] = "wiᴇk̚", [125] = "eŋ", [126] = "weŋ", [127] = "ek̚", [128] = "wek̚", [129] = "əŋ", [130] = "wəŋ", [131] = "ək̚", [132] = "wək̚", [133] = "ɨŋ", [134] = "ɨk̚", [135] = "wɨk̚", [136] = "ɨu", [137] = "əu", [138] = "iɪu", [139] = "iɪm", [140] = "ˠiɪm", [141] = "iɪp̚", [142] = "ˠiɪp̚", [143] = "ɑm", [144] = "ɑp̚", [145] = "ɨɐm", [146] = "ɨɐm", [147] = "ɨɐp̚", [148] = "ɨɐp̚", [149] = "ˠam", [150] = "ˠap̚", [151] = "ˠɛm", [152] = "ˠɛp̚", [153] = "iᴇm", [154] = "ˠiᴇm", [155] = "iᴇp̚", [156] = "ˠiᴇp̚", [157] = "em", [158] = "ep̚", [159] = "ʌm", [160] = "ʌp̚" }, ["Karlgren"] = { [1] = "uŋ", [2] = "i̯uŋ", [3] = "uk̚", [4] = "i̯uk̚", [5] = "uoŋ", [6] = "uok̚", [7] = "i̯woŋ", [8] = "i̯wok̚", [9] = "ɔŋ", [10] = "ɔk̚", [11] = "ie̯", [12] = "wie̯", [13] = "ie̯", [14] = "wie̯", [15] = "i", [16] = "wi", [17] = "i", [18] = "wi", [19] = "i", [20] = "e̯i", [21] = "we̯i", [22] = "i̯wo", [23] = "uo", [24] = "i̯u", [25] = "ɑi", [26] = "uɑi", [27] = "i̯ɐi", [28] = "i̯wɐi", [29] = "ai", [30] = "wai", [31] = "ai", [32] = "wai", [33] = "ăi", [34] = "wăi", [35] = "i̯ɛi", [36] = "i̯wɛi", [37] = "i̯ɛi", [38] = "i̯wɛi", [39] = "iei", [40] = "iwei", [41] = "ɑ̆i", [42] = "uɑ̆i", [43] = "i̯ĕn", [44] = "i̯ĕn", [45] = "i̯ĕn", [46] = "i̯æn", [47] = "i̯uĕn", [48] = "i̯ĕt̚", [49] = "i̯ĕt̚", [50] = "i̯ĕt̚", [51] = "i̯æt̚", [52] = "i̯uĕt̚", [53] = "ən", [54] = "ət̚", [55] = "uən", [56] = "uət̚", [57] = "i̯ən", [58] = "i̯ət̚", [59] = "i̯uən", [60] = "i̯uət̚", [61] = "ɑn", [62] = "uɑn", [63] = "ɑt̚", [64] = "uɑt̚", [65] = "ɨ̯ɐn", [66] = "i̯wɐn", [67] = "ɨ̯ɐt̚", [68] = "i̯wɐt̚", [69] = "an", [70] = "wan", [71] = "ăt̚", [72] = "wăt̚", [73] = "ăn", [74] = "wăn", [75] = "at̚", [76] = "wat̚", [77] = "i̯ɛn", [78] = "i̯wɛn", [79] = "i̯ɛn", [80] = "i̯wɛn", [81] = "i̯ɛt̚", [82] = "i̯wɛt̚", [83] = "i̯ɛt̚", [84] = "i̯wɛt̚", [85] = "ien", [86] = "iwen", [87] = "iet̚", [88] = "iwet̚", [89] = "ɑu", [90] = "au", [91] = "i̯ɛu", [92] = "i̯ɛu", [93] = "ieu", [94] = "ɑ", [95] = "uɑ", [96] = "i̯ɑ", [97] = "i̯wɑ", [98] = "a", [99] = "wa", [100] = "i̯a", [101] = "ɑŋ", [102] = "wɑŋ", [103] = "ɑk̚", [104] = "wɑk̚", [105] = "i̯aŋ", [106] = "iwaŋ", [107] = "i̯ak̚", [108] = "iwak̚", [109] = "ɐŋ", [110] = "wɐŋ", [111] = "i̯ɐŋ", [112] = "i̯wɐŋ", [113] = "ɐk̚", [114] = "wɐk̚", [115] = "iɐk̚", [116] = "iwɐk̚", [117] = "æŋ", [118] = "wæŋ", [119] = "æk̚", [120] = "wæk̚", [121] = "i̯ɛŋ", [122] = "i̯wɛŋ", [123] = "i̯ɛk̚", [124] = "i̯wɛk̚", [125] = "ieŋ", [126] = "iweŋ", [127] = "iek̚", [128] = "iwek̚", [129] = "əŋ", [130] = "wəŋ", [131] = "ək̚", [132] = "wək̚", [133] = "i̯əŋ", [134] = "i̯ək̚", [135] = "i̯wək̚", [136] = "i̯ə̯u", [137] = "ə̯u", [138] = "ieu", [139] = "i̯əm", [140] = "i̯əm", [141] = "i̯əp̚", [142] = "i̯əp̚", [143] = "ɑm", [144] = "ɑp̚", [145] = "i̯ɐm", [146] = "i̯wɐm", [147] = "i̯ɐp̚", [148] = "i̯wɐp̚", [149] = "am", [150] = "ap̚", [151] = "ăm", [152] = "ăp̚", [153] = "i̯ɛm", [154] = "i̯ɛm", [155] = "i̯ɛp̚", [156] = "i̯ɛp̚", [157] = "iem", [158] = "iep̚", [159] = "ăm", [160] = "ăp̚" }, ["Li"] = { [1] = "uŋ", [2] = "iuŋ", [3] = "uk̚", [4] = "iuk̚", [5] = "oŋ", [6] = "ok̚", [7] = "ioŋ", [8] = "iok̚", [9] = "ɔŋ", [10] = "ɔk̚", [11] = "ie", [12] = "iue", [13] = "je", [14] = "jue", [15] = "i", [16] = "ui", [17] = "ji", [18] = "jui", [19] = "iə", [20] = "iəi", [21] = "iuəi", [22] = "iɔ", [23] = "o", [24] = "io", [25] = "ɑi", [26] = "uɑi", [27] = "iɐi", [28] = "iuɐi", [29] = "ai", [30] = "uai", [31] = "ɛ", [32] = "uɛ", [33] = "ɛi", [34] = "uɛi", [35] = "iɛi", [36] = "iuɛi", [37] = "jɛi", [38] = "juɛi", [39] = "ei", [40] = "uei", [41] = "ᴀi", [42] = "uᴀi", [43] = "iĕn", [44] = "jĕn", [45] = "juĕn", [46] = "iĕn", [47] = "iuĕn", [48] = "iĕt̚", [49] = "jĕt̚", [50] = "juĕt̚", [51] = "iĕt̚", [52] = "iuĕt̚", [53] = "ən", [54] = "ət̚", [55] = "uən", [56] = "uət̚", [57] = "iən", [58] = "iət̚", [59] = "iuən", [60] = "iuət̚", [61] = "ɑn", [62] = "uɑn", [63] = "ɑt̚", [64] = "uɑt̚", [65] = "iɐn", [66] = "iuɐn", [67] = "iɐt̚", [68] = "iuɐt̚", [69] = "an", [70] = "uan", [71] = "at̚", [72] = "uat̚", [73] = "ɛn", [74] = "uɛn", [75] = "ɛt̚", [76] = "uɛt̚", [77] = "iɛn", [78] = "iuɛn", [79] = "jɛn", [80] = "juɛn", [81] = "iɛt̚", [82] = "iuɛt̚", [83] = "jɛt̚", [84] = "juɛt̚", [85] = "en", [86] = "uen", [87] = "et̚", [88] = "uet̚", [89] = "ɑu", [90] = "au", [91] = "iɛu", [92] = "jɛu", [93] = "eu", [94] = "ɑ", [95] = "uɑ", [96] = "iɑ", [97] = "iuɑ", [98] = "a", [99] = "ua", [100] = "ia", [101] = "ɑŋ", [102] = "uɑŋ", [103] = "ɑk̚", [104] = "uɑk̚", [105] = "iaŋ", [106] = "iuaŋ", [107] = "iak̚", [108] = "iuak̚", [109] = "ɐŋ", [110] = "uɐŋ", [111] = "iɐŋ", [112] = "iuɐŋ", [113] = "ɐk̚", [114] = "uɐk̚", [115] = "iɐk̚", [116] = "iuɐk̚", [117] = "ɛŋ", [118] = "uɛŋ", [119] = "ɛk̚", [120] = "uɛk̚", [121] = "iɛŋ", [122] = "iuɛŋ", [123] = "iɛk̚", [124] = "iuɛk̚", [125] = "eŋ", [126] = "ueŋ", [127] = "ek̚", [128] = "uek̚", [129] = "əŋ", [130] = "uəŋ", [131] = "ək̚", [132] = "uək̚", [133] = "iəŋ", [134] = "iək̚", [135] = "iuək̚", [136] = "iu", [137] = "u", [138] = "iĕu", [139] = "iəm", [140] = "jəm", [141] = "iəp̚", [142] = "jəp̚", [143] = "ɑm", [144] = "ɑp̚", [145] = "iɐm", [146] = "iɐm", [147] = "iap̚", [148] = "iɐp̚", [149] = "am", [150] = "ap̚", [151] = "ɐm", [152] = "ɐp̚", [153] = "iɛm", [154] = "jɛm", [155] = "iɛp̚", [156] = "jɛp̚", [157] = "em", [158] = "ep̚", [159] = "ᴀm", [160] = "ᴀp̚" }, ["Pan"] = { [1] = "uŋ", [2] = "iuŋ", [3] = "uk̚", [4] = "iuk̚", [5] = "uoŋ", [6] = "uok̚", [7] = "ioŋ", [8] = "iok̚", [9] = "ᵚɔŋ", [10] = "ᵚɔk̚", [11] = "iɛ", [12] = "ʷiɛ", [13] = "ᵚiɛ", [14] = "ʷᵚiɛ", [15] = "i", [16] = "ʷi", [17] = "ᵚi", [18] = "ʷᵚi", [19] = "ɨ", [20] = "ɨi", [21] = "ʷɨi", [22] = "iɔ", [23] = "uo", [24] = "io", [25] = "ɑi", [26] = "ʷɑi", [27] = "iɐi", [28] = "ʷiɐi", [29] = "ᵚai", [30] = "ʷᵚai", [31] = "ᵚæ", [32] = "ʷᵚæ", [33] = "ᵚæi", [34] = "ʷᵚæi", [35] = "iɛi", [36] = "ʷiɛi", [37] = "ᵚiɛi", [38] = "ʷᵚiei", [39] = "ei", [40] = "ʷei", [41] = "əi", [42] = "uoi", [43] = "in", [44] = "ᵚin", [45] = "ʷᵚin", [46] = "ɪn", [47] = "ʷin", [48] = "it̚", [49] = "ᵚit̚", [50] = "ʷᵚit̚", [51] = "ɪt̚", [52] = "ʷit̚", [53] = "ən", [54] = "ət̚", [55] = "uon", [56] = "uot̚", [57] = "ɨn", [58] = "ɨt̚", [59] = "iun", [60] = "iut̚", [61] = "ɑn", [62] = "ʷɑn", [63] = "ɑt̚", [64] = "ʷɑt̚", [65] = "iɐn", [66] = "ʷiɐn", [67] = "iɐt̚", [68] = "ʷiɐt̚", [69] = "ᵚan", [70] = "ʷᵚan", [71] = "ᵚat̚", [72] = "ʷᵚat̚", [73] = "ᵚæn", [74] = "ʷᵚæn", [75] = "ᵚæt̚", [76] = "ʷᵚæt̚", [77] = "iɛn", [78] = "ʷiɛn", [79] = "ᵚiɛn", [80] = "ʷᵚiɛn", [81] = "iɛt̚", [82] = "ʷiɛt̚", [83] = "ᵚiɛt̚", [84] = "ʷᵚiet̚", [85] = "en", [86] = "ʷen", [87] = "et̚", [88] = "ʷet̚", [89] = "ɑu", [90] = "ᵚau", [91] = "iɛu", [92] = "ᵚiɛu", [93] = "eu", [94] = "ɑ", [95] = "uɑ", [96] = "iɑ", [97] = "ʷiɑ", [98] = "ᵚa", [99] = "ʷᵚa", [100] = "ia", [101] = "ɑŋ", [102] = "ʷɑŋ", [103] = "ɑk̚", [104] = "ʷɑk̚", [105] = "iɐŋ", [106] = "ʷiɐŋ", [107] = "iɐk̚", [108] = "ʷiɐk̚", [109] = "ᵚaŋ", [110] = "ʷᵚaŋ", [111] = "ᵚiaŋ", [112] = "ʷᵚiaŋ", [113] = "ᵚak̚", [114] = "ʷᵚak̚", [115] = "ᵚiak̚", [116] = "ʷᵚiak̚", [117] = "ᵚæŋ", [118] = "ʷᵚæŋ", [119] = "ᵚæk̚", [120] = "ʷᵚæk̚", [121] = "iɛŋ", [122] = "ʷiɛŋ", [123] = "iɛk̚", [124] = "ʷiɛk̚", [125] = "eŋ", [126] = "ʷeŋ", [127] = "ek̚", [128] = "ʷek̚", [129] = "əŋ", [130] = "ʷəŋ", [131] = "ək̚", [132] = "ʷək̚", [133] = "ɨŋ", [134] = "ɨk̚", [135] = "ʷɨk̚", [136] = "iu", [137] = "əu", [138] = "ɨu", [139] = "im", [140] = "ᵚim", [141] = "ip̚", [142] = "ᵚip̚", [143] = "ɑm", [144] = "ɑp̚", [145] = "iɐm", [146] = "iɐm", [147] = "iɐp̚", [148] = "iɐp̚", [149] = "ᵚam", [150] = "ᵚap̚", [151] = "ᵚæm", [152] = "ᵚæp̚", [153] = "iɛm", [154] = "ᵚiɛm", [155] = "iɛp̚", [156] = "ᵚiɛp̚", [157] = "em", [158] = "ep̚", [159] = "əm", [160] = "əp̚" }, ["Pulleyblank"] = { [1] = "əwŋ", [2] = "uwŋ", [3] = "əwk̚", [4] = "uwk̚", [5] = "awŋ", [6] = "awk̚", [7] = "uawŋ", [8] = "uawk̚", [9] = "aɨwŋ", [10] = "aɨwk̚", [11] = "iə̆", [12] = "wiə̆", [13] = "jiə̆", [14] = "jwiə̆", [15] = "i", [16] = "wi", [17] = "ji", [18] = "jwi", [19] = "ɨ", [20] = "ɨj", [21] = "uj", [22] = "ɨə̆", [23] = "ɔ", [24] = "uə̆", [25] = "aj", [26] = "waj", [27] = "ɨaj", [28] = "uaj", [29] = "aɨjs", [30] = "waɨjs", [31] = "aɨj", [32] = "waɨj", [33] = "əɨj", [34] = "wəɨj", [35] = "iaj", [36] = "wiaj", [37] = "jiaj", [38] = "jwiaj", [39] = "ɛj", [40] = "wɛj", [41] = "əj", [42] = "wəj", [43] = "in", [44] = "jin", [45] = "jin", [46] = "in", [47] = "win", [48] = "it̚", [49] = "jit̚", [50] = "jit̚", [51] = "it̚", [52] = "wit̚", [53] = "ən", [54] = "ət̚", [55] = "wən", [56] = "wət̚", [57] = "ɨn", [58] = "ɨt̚", [59] = "un", [60] = "ut̚", [61] = "an", [62] = "wan", [63] = "at̚", [64] = "wat̚", [65] = "ɨan", [66] = "uan", [67] = "ɨat̚", [68] = "uat̚", [69] = "aɨn", [70] = "waɨn", [71] = "aɨt̚", [72] = "waɨt̚", [73] = "əɨn", [74] = "wəɨn", [75] = "əɨt̚", [76] = "wəɨt̚", [77] = "ian", [78] = "wian", [79] = "ian", [80] = "wian", [81] = "iat̚", [82] = "wiat̚", [83] = "iat̚", [84] = "wiat̚", [85] = "ɛn", [86] = "wɛn", [87] = "ɛt̚", [88] = "wɛt̚", [89] = "aw", [90] = "aɨw", [91] = "iaw", [92] = "iaw", [93] = "ɛw", [94] = "a", [95] = "wa", [96] = "ɨa", [97] = "ua", [98] = "aɨ", [99] = "waɨ", [100] = "ia", [101] = "aŋ", [102] = "waŋ", [103] = "ak̚", [104] = "wak̚", [105] = "ɨaŋ", [106] = "uaŋ", [107] = "ɨak̚", [108] = "uak̚", [109] = "aɨjŋ", [110] = "waɨjŋ", [111] = "iajŋ", [112] = "wiajŋ", [113] = "aɨjk̚", [114] = "waɨjk̚", [115] = "iajk̚", [116] = "wiajk̚", [117] = "əɨjŋ", [118] = "wəɨjŋ", [119] = "əɨjk̚", [120] = "wəɨjk̚", [121] = "iajŋ", [122] = "wiajŋ", [123] = "iajk̚", [124] = "wiajk̚", [125] = "ɛjŋ", [126] = "wɛjŋ", [127] = "ɛjk̚", [128] = "wɛjk̚", [129] = "əŋ", [130] = "wəŋ", [131] = "ək̚", [132] = "wək̚", [133] = "iŋ", [134] = "ik̚", [135] = "wik̚", [136] = "uw", [137] = "əw", [138] = "jiw", [139] = "im", [140] = "jim", [141] = "ip̚", [142] = "jip̚", [143] = "am", [144] = "ap̚", [145] = "ɨam", [146] = "uam", [147] = "ɨap̚", [148] = "uap̚", [149] = "aɨm", [150] = "aɨp̚", [151] = "əɨm", [152] = "əɨp̚", [153] = "iam", [154] = "jiam", [155] = "iap̚", [156] = "jiap̚", [157] = "ɛm", [158] = "ɛp̚", [159] = "əm", [160] = "əp̚" }, ["Wang"] = { [1] = "uŋ", [2] = "ĭuŋ", [3] = "uk̚", [4] = "ĭuk̚", [5] = "uoŋ", [6] = "uok̚", [7] = "ĭwoŋ", [8] = "ĭwok̚", [9] = "ɔŋ", [10] = "ɔk̚", [11] = "ǐe", [12] = "ǐwe", [13] = "ǐe", [14] = "ǐwe", [15] = "i", [16] = "wi", [17] = "i", [18] = "wi", [19] = "ĭə", [20] = "ĭəi", [21] = "ĭwəi", [22] = "ĭo", [23] = "u", [24] = "ĭu", [25] = "ɑi", [26] = "uɑi", [27] = "ĭɐi", [28] = "ĭwɐi", [29] = "æi", [30] = "wæi", [31] = "ai", [32] = "wai", [33] = "ɐi", [34] = "wɐi", [35] = "ĭɛi", [36] = "ĭwɛi", [37] = "ĭɛi", [38] = "ĭwɛi", [39] = "iei", [40] = "iwei", [41] = "ɒi", [42] = "uɒi", [43] = "ĭĕn", [44] = "ǐĕn", [45] = "ǐĕn", [46] = "ĭen", [47] = "ĭuĕn", [48] = "ĭĕt̚", [49] = "ĭĕt̚", [50] = "ĭĕt̚", [51] = "ĭet̚", [52] = "ĭuĕt̚", [53] = "ən", [54] = "ət̚", [55] = "uən", [56] = "uət̚", [57] = "ĭən", [58] = "ĭət̚", [59] = "ĭuən", [60] = "ĭuət̚", [61] = "ɑn", [62] = "uɑn", [63] = "ɑt̚", [64] = "uɑt̚", [65] = "ĭɐn", [66] = "ĭwɐn", [67] = "ĭɐt̚", [68] = "ĭwɐt̚", [69] = "an", [70] = "wan", [71] = "at̚", [72] = "wat̚", [73] = "æn", [74] = "wæn", [75] = "æt̚", [76] = "wæt̚", [77] = "ĭɛn", [78] = "ĭwɛn", [79] = "ĭɛn", [80] = "ĭwɛn", [81] = "ĭɛt̚", [82] = "ĭuɛt̚", [83] = "ĭɛt̚", [84] = "ĭuɛt̚", [85] = "ien", [86] = "iwen", [87] = "iet̚", [88] = "iwet̚", [89] = "ɑu", [90] = "au", [91] = "ĭɛu", [92] = "ĭɛu", [93] = "ieu", [94] = "ɑ", [95] = "uɑ", [96] = "ǐɑ", [97] = "ĭuɑ", [98] = "a", [99] = "wa", [100] = "ĭa", [101] = "ɑŋ", [102] = "uɑŋ", [103] = "ɑk̚", [104] = "uɑk̚", [105] = "ĭaŋ", [106] = "ĭwaŋ", [107] = "ĭak̚", [108] = "ĭak̚", [109] = "ɐŋ", [110] = "wɐŋ", [111] = "ĭɐŋ", [112] = "ĭwɐŋ", [113] = "ɐk̚", [114] = "wɐk̚", [115] = "ĭɐk̚", [116] = "ĭwɐk̚", [117] = "æŋ", [118] = "wæŋ", [119] = "æk̚", [120] = "wæk̚", [121] = "ĭɛŋ", [122] = "ĭwɛŋ", [123] = "ĭɛk̚", [124] = "ĭwɛk̚", [125] = "ieŋ", [126] = "iweŋ", [127] = "iek̚", [128] = "iwek̚", [129] = "əŋ", [130] = "uəŋ", [131] = "ək̚", [132] = "uək̚", [133] = "ĭəŋ", [134] = "ĭək̚", [135] = "ĭwək̚", [136] = "ĭəu", [137] = "əu", [138] = "iəu", [139] = "ĭĕm", [140] = "ĭĕm", [141] = "ĭĕp̚", [142] = "ĭĕp̚", [143] = "ɑm", [144] = "ɑp̚", [145] = "ĭɐm", [146] = "ĭwɐm", [147] = "ĭɐp̚", [148] = "ĭwɐp̚", [149] = "am", [150] = "ap̚", [151] = "ɐm", [152] = "ɐp̚", [153] = "ĭɛm", [154] = "ĭɛm", [155] = "ĭɛp̚", [156] = "ĭɛp̚", [157] = "iem", [158] = "iep̚", [159] = "ɒm", [160] = "ɒp̚" }, ["Shao"] = { [1] = "uŋ", [2] = "iuŋ", [3] = "uk̚", [4] = "iuk̚", [5] = "oŋ", [6] = "ok̚", [7] = "ioŋ", [8] = "iok̚", [9] = "ɔŋ", [10] = "ɔk̚", [11] = "jɛ", [12] = "juɛ", [13] = "iɛ", [14] = "iuɛ", [15] = "jɪ", [16] = "juɪ", [17] = "iɪ", [18] = "iuɪ", [19] = "ie", [20] = "iəi", [21] = "iuəi", [22] = "iɔ", [23] = "o", [24] = "io", [25] = "ɑi", [26] = "uɑi", [27] = "iɐi", [28] = "iuɐi", [29] = "ai", [30] = "uai", [31] = "æi", [32] = "uæi", [33] = "ɐi", [34] = "uɐi", [35] = "jæi", [36] = "iuæi", [37] = "iæi", [38] = "iuæi", [39] = "ɛi", [40] = "uɛi", [41] = "ɒi", [42] = "uɒi", [43] = "jen", [44] = "ien", [45] = "iuen", [46] = "ien", [47] = "juen", [48] = "jet̚", [49] = "iet̚", [50] = "iuet̚", [51] = "iet̚", [52] = "juet̚", [53] = "ən", [54] = "ət̚", [55] = "uən", [56] = "uət̚", [57] = "iən", [58] = "iət̚", [59] = "iuən", [60] = "iuət̚", [61] = "ɑn", [62] = "uɑn", [63] = "ɑt̚", [64] = "uɑt̚", [65] = "iɐn", [66] = "iuɐn", [67] = "iɐt̚", [68] = "iuɐt̚", [69] = "ɐn", [70] = "uɐn", [71] = "ɐt̚", [72] = "uɐt̚", [73] = "æn", [74] = "uæn", [75] = "æt̚", [76] = "uæt̚", [77] = "jæn", [78] = "juæn", [79] = "iæn", [80] = "iuæn", [81] = "jæt̚", [82] = "juæt̚", [83] = "iæt̚", [84] = "iuæt̚", [85] = "ɛn", [86] = "uɛn", [87] = "ɛt̚", [88] = "uɛt̚", [89] = "ɑu", [90] = "au", [91] = "jæu", [92] = "iæu", [93] = "eu", [94] = "ɑ", [95] = "uɑ", [96] = "iɑ", [97] = "iuɑ", [98] = "a", [99] = "ua", [100] = "ia", [101] = "ɑŋ", [102] = "uɑŋ", [103] = "ɑk̚", [104] = "uɑk̚", [105] = "iɑŋ", [106] = "iuɑŋ", [107] = "iɑk̚", [108] = "iuɑk̚", [109] = "aŋ", [110] = "uaŋ", [111] = "iaŋ", [112] = "iuaŋ", [113] = "ak̚", [114] = "uak̚", [115] = "iak̚", [116] = "iuak̚", [117] = "ɐŋ", [118] = "uɐŋ", [119] = "ɐk̚", [120] = "uɐk̚", [121] = "iæŋ", [122] = "iuæŋ", [123] = "iæk̚", [124] = "iuæk̚", [125] = "ɛŋ", [126] = "uɛŋ", [127] = "ɛk̚", [128] = "uɛk̚", [129] = "əŋ", [130] = "uəŋ", [131] = "ək̚", [132] = "uək̚", [133] = "ieŋ", [134] = "iek̚", [135] = "iuek̚", [136] = "iəu", [137] = "əu", [138] = "ieu", [139] = "jem", [140] = "iem", [141] = "jep̚", [142] = "iep̚", [143] = "ɑm", [144] = "ɑp̚", [145] = "iɐm", [146] = "iɐm", [147] = "iɐp̚", [148] = "iɐp̚", [149] = "am", [150] = "ap̚", [151] = "ɐm", [152] = "ɐp̚", [153] = "jæm", [154] = "iæm", [155] = "jæp̚", [156] = "iæp̚", [157] = "ɛm", [158] = "ɛp̚", [159] = "ɒm", [160] = "ɒp̚" }, } data.divisions = { [1]=1, [2]=3, [3]=1, [4]=3, [5]=1, [6]=1, [7]=3, [8]=3, [9]=2, [10]=2, [11]=3, [12]=3, [13]=3, [14]=3, [15]=3, [16]=3, [17]=3, [18]=3, [19]=3, [20]=3, [21]=3, [22]=3, [23]=1, [24]=3, [25]=1, [26]=1, [27]=3, [28]=3, [29]=2, [30]=2, [31]=2, [32]=2, [33]=2, [34]=2, [35]=3, [36]=3, [37]=3, [38]=3, [39]=4, [40]=4, [41]=1, [42]=1, [43]=3, [44]=3, [45]=3, [46]=3, [47]=3, [48]=3, [49]=3, [50]=3, [51]=3, [52]=3, [53]=1, [54]=1, [55]=1, [56]=1, [57]=3, [58]=3, [59]=3, [60]=3, [61]=1, [62]=1, [63]=1, [64]=1, [65]=3, [66]=3, [67]=3, [68]=3, [69]=2, [70]=2, [71]=2, [72]=2, [73]=2, [74]=2, [75]=2, [76]=2, [77]=3, [78]=3, [79]=3, [80]=3, [81]=3, [82]=3, [83]=3, [84]=3, [85]=4, [86]=4, [87]=4, [88]=4, [89]=1, [90]=2, [91]=3, [92]=3, [93]=4, [94]=1, [95]=1, [96]=3, [97]=3, [98]=2, [99]=2, [100]=3, [101]=1, [102]=1, [103]=1, [104]=1, [105]=3, [106]=3, [107]=3, [108]=3, [109]=2, [110]=2, [111]=3, [112]=3, [113]=2, [114]=2, [115]=3, [116]=3, [117]=2, [118]=2, [119]=2, [120]=2, [121]=3, [122]=3, [123]=3, [124]=3, [125]=4, [126]=4, [127]=4, [128]=4, [129]=1, [130]=1, [131]=1, [132]=1, [133]=3, [134]=3, [135]=3, [136]=3, [137]=1, [138]=3, [139]=3, [140]=3, [141]=3, [142]=3, [143]=1, [144]=1, [145]=3, [146]=3, [147]=3, [148]=3, [149]=2, [150]=2, [151]=2, [152]=2, [153]=3, [154]=3, [155]=3, [156]=3, [157]=4, [158]=4, [159]=1, [160]=1, } data.final_deng = { ["東一"] = 1, ["東三"] = 2, ["屋一"] = 3, ["屋三"] = 4, ["宵三"] = 91, ["宵重鈕四"] = 91, ["宵重鈕三"] = 92, ["侵三"] = 139, ["侵重鈕三"] = 140, ["緝三"] = 141, ["緝重鈕三"] = 142, ["葉三"] = 155, ["葉重鈕三"] = 156, ["鹽三"] = 153, ["鹽重鈕三"] = 154, ["真三"] = 43, ["真重鈕四"] = 43, ["眞三"] = 43, ["眞重鈕四"] = 43, ["質三"] = 48, ["質重鈕四"] = 48 } data.division = { ["一"] = 'I', ["二"] = 'II', ["三"] = 'III', ["四"] = 'IV', ["重鈕三"]="''Chongniu'' III", ["重鈕四"]="''Chongniu'' IV" } data.open_closed = { ["開"] = "Open", ["合"] = "Closed" } data.tonality = { ["上"] = "Rising (X)", ["去"] = "Departing (H)", ["平"] = "Level (Ø)", ["入"] = "Checked (Ø)" } data.tone_symbol = { ["平"] = "", ["上"] = "X", ["去"] = "H", ["入"] = "" } data.tone_number = { ["平"] = 1, ["上"] = 2, ["去"] = 3, ["入"] = 4 } data.final_openness = { ["真開"] = 44, ["真合"] = 45, ["眞開"] = 44, ["眞合"] = 45, ["質開"] = 49, ["質合"] = 50 } data.final_type_1 = "[微泰廢夬佳皆齊元月刪黠山鎋先屑唐鐸陽藥耕麥清昔青錫登德職]" data.final_type_2 = "[東屋宵侵緝葉鹽]" data.final_type_3 = "[支脂祭戈仙薛麻陌庚]" data.final_type_4 = "[真眞質]" data.final_type_5 = "[冬沃鍾燭江覺之魚模虞咍灰臻諄櫛術痕麧魂沒欣迄文物寒桓曷末豪肴蕭歌蒸尤侯幽談盍嚴凡業乏銜狎咸洽添怗帖覃合]" data.colour_1 = "var(--wikt-palette-lightblue, #d9ebff)" data.colour_2 = "var(--wikt-palette-cyan, #eaffff)" data.colour_3 = "var(--wikt-palette-paleblue, #f8f9fa)" return data sep269ve711z037kawz0p26hxl7k8qk davvisámegiella 0 304437 2341410 2284847 2026-03-30T14:20:47Z Hiyuune 50834 2341410 wikitext text/x-wiki =={{langname|se}}== ==={{section|etym}}=== {{com+|se|davvi|sámegiella}}. ==={{section|pron}}=== * {{se-IPA}} ==={{section|n}}=== {{se-noun|head=davvisámẹgiella}} # {{topics|se|Tên ngôn ngữ}} Tiếng [[bắc|Bắc]] [[Sami]]. ===={{section|infl}}==== {{se-infl-noun-even|davvisámẹgiella}} ===={{section|drv}}==== * {{l|se|davvisámẹgiel}} * {{l|se|davvisámẹgielat}} jvpwy85xnxjfrt5xz9evrr0hlnz1s6h karuṇā 0 304774 2341535 2159591 2026-03-31T08:23:19Z Hiyuune 50834 2341535 wikitext text/x-wiki =={{langname|pi}}== ==={{section|alt}}=== {{pi-alt}} ==={{section|etym}}=== {{inh+|pi|sa|करुणा}}. Cùng gốc với {{cog|pra|𑀓𑀭𑀼𑀡𑀸}}, {{mention|pra|𑀓𑀮𑀼𑀡𑀸}}, {{cog|pgd|𐨐𐨪𐨂𐨣}}. ==={{section|n}}=== {{pi-noun|f}} # [[từ bi|Từ bi]]. ===={{section|decl}}==== {{pi-decl-noun|g=f}} ==={{section|ref}}=== * {{R:pi:PTS|pg=197}} * {{R:CDIAL|káruṇā|hw=1|pg=142}} 0neo5cghirho7m9niusr95mwh8o2nqc मैत्रीकरुणा 0 304914 2341540 2159761 2026-03-31T08:27:42Z Hiyuune 50834 Requesting deletion ([[:m:Special:MyLanguage/User:TenWhile6/XReport|XReport]] v3.1b) 2341540 wikitext text/x-wiki <noinclude>{{delete|từ bịa <small>[[:m:Special:MyLanguage/User:TenWhile6/XReport|XReport]]</small>}}</noinclude> {{-san-}} {{-noun-}} '''मैत्रीकरुणा''' ([[maitrīkaruṇā]]) # (Phật giáo) [[từ bi]] {{-trans-}} # {{en}}: [[benevolence]] [[and]] [[compassion]] # {{zh}}: [[慈悲]] nevdtxrto33x4ui4c5uch6ph632ehdh ध्यान 0 304966 2341441 2159767 2026-03-31T02:35:44Z Hiyuune 50834 2341441 wikitext text/x-wiki =={{langname|sa}}== ==={{section|alternative script}}=== {{sa-alt}} ==={{section|pron}}=== * {{sa-IPA}} ==={{section|n}}=== {{sa-noun|g=n}} # [[thiền định|Thiền định]]. ===={{section|decl}}==== {{sa-decl-noun-n}} ==={{section|further}}=== * {{R:MW|521|col=1}} * {{R:sa:EWAia|vol=1|pages=777-778; 798}} * {{R:ira:Cheung|pages=48-50}} 9hy7nubzvak1vsmc6kh46l989y2b1am buddhi 0 305124 2341533 2223045 2026-03-31T08:21:20Z Hiyuune 50834 2341533 wikitext text/x-wiki =={{langname|en}}== {{wp|en:}} ==={{section|etym}}=== {{root|en|sa|बुध्}} Từ {{bor|en|sa|बुद्धि}}. ==={{section|n}}=== {{en-noun|-}} # {{lb|en|Hinduism}} Sự [[thông mình]], [[trí tuệ]]. e9y118b4dh53imolgxz43s9u8ke78xf jñāna 0 305125 2341532 2160055 2026-03-31T08:20:29Z Hiyuune 50834 Requesting deletion ([[:m:Special:MyLanguage/User:TenWhile6/XReport|XReport]] v3.1b) 2341532 wikitext text/x-wiki <noinclude>{{delete|từ bịa <small>[[:m:Special:MyLanguage/User:TenWhile6/XReport|XReport]]</small>}}</noinclude> {{-san-}} {{-noun-}} {{pn}} (ज्ञान) # (Phật giáo) trí, trí thức, kiến thức, sự nhận thức {{-trans-}} * {{en}}: [[jnana]], [[knowledge]] * {{zh}}: 若那, 智, 智慧 jrbtghs4cmzo8c96kahx5m0vswf2cst विद्या 0 305126 2341537 2160054 2026-03-31T08:24:30Z Hiyuune 50834 Requesting deletion ([[:m:Special:MyLanguage/User:TenWhile6/XReport|XReport]] v3.1b) 2341537 wikitext text/x-wiki <noinclude>{{delete|từ do rối bịa ra <small>[[:m:Special:MyLanguage/User:TenWhile6/XReport|XReport]]</small>}}</noinclude> {{-san-}} {{-noun-}} {{pn}} (विद्या) * (Phật giáo) minh, trí tuệ, tri thức, kiến thức. {{-trans-}} * {{en}}: [[vidya]], [[science]], [[knowledge]] * {{zh}}: 明, 智慧, 知識 insofmkyfrx93n72c62szjq9zn107za ātman 0 305128 2341534 2160064 2026-03-31T08:21:38Z Hiyuune 50834 Requesting deletion ([[:m:Special:MyLanguage/User:TenWhile6/XReport|XReport]] v3.1b) 2341534 wikitext text/x-wiki <noinclude>{{delete|từ bịa <small>[[:m:Special:MyLanguage/User:TenWhile6/XReport|XReport]]</small>}}</noinclude> {{-san-}} {{-noun-}} {{pn}} (आत्मन्) * (Ấn Độ giáo, Phật giáo) cái tôi, cái ta, bản ngã. {{-trans-}} * {{en}}: atmam, attā, ego, self * {{zh}}: 我, 自我, 本我 {{-paro-}} * [[anātman]] (अनात्मन्) * anattā (𑀅𑀦𑀢𑁆𑀢𑀸) 7fc307epkwztglu1m0eeeshxusqxcr5 śūnyatā 0 305208 2341544 2161605 2026-03-31T08:34:23Z Hiyuune 50834 Requesting deletion ([[:m:Special:MyLanguage/User:TenWhile6/XReport|XReport]] v3.1b) 2341544 wikitext text/x-wiki <noinclude>{{delete|từ bịa <small>[[:m:Special:MyLanguage/User:TenWhile6/XReport|XReport]]</small>}}</noinclude> {{-san-}} {{-pron-}} * [[Wiktionary:IPA|IPA]]: {{IPA|/ʃuːnjəˈtɑː/; /shoon-yə-TAH/}} {{-noun-}} {{pn}} ([[शून्यता]]) * Sự trống rỗng * (Phật giáo) [[Tính Không]] {{-trans-}} * {{en}}: [[Sunyata]], [[Shunyata]], [[Emptiness]] * {{zh}}: [[空性]] m9xuwiqm6wcb1mnzdd8m0xpu4ph9jo7 स्थविर 0 305213 2341543 2160386 2026-03-31T08:34:01Z Hiyuune 50834 Requesting deletion ([[:m:Special:MyLanguage/User:TenWhile6/XReport|XReport]] v3.1b) 2341543 wikitext text/x-wiki <noinclude>{{delete|SOP + từ không đủ nổi bật <small>[[:m:Special:MyLanguage/User:TenWhile6/XReport|XReport]]</small>}}</noinclude> {{-san-}} {{-noun-}} {{pn}} ([[स्थविर]]) # (Phật giáo) [[Thượng tọa]], [[Trưởng lão]]. {{-syn-}} * [[Thera]] {{-trans-}} * {{en}}: [[Thera]]/[[Sthavira]] * {{zh}}: [[上座]], [[長老]] {{-paro-}} * [[Upādhyāya]] 0p8cqqdk8t1ilm66tzx4g65imjdwk81 Pure Land 0 305399 2341526 2305148 2026-03-31T08:08:17Z Hiyuune 50834 /* Tiếng Anh */ (sử dụng [[MediaWiki:Gadget-AjaxEdit.js|AjaxEdit]]) 2341526 wikitext text/x-wiki =={{langname|en}}== {{wp|en:+ Buddhism}} ==={{section|pr-noun}}=== {{en-proper noun|head=[[pure land|Pure Land]]}} # {{nhãn|en|Phật giáo}} [[Tịnh độ tông]]. # {{nhãn|en|Phật giáo}} Tịnh độ cụ thể của Đức Phật A Di Đà, thường được hiểu là thiên đường nơi các tín đồ sẽ được dẫn đến giác ngộ. chvhy0qmg9r9rpozfegyjp02ngthk1y 2341527 2341526 2026-03-31T08:08:41Z Hiyuune 50834 2341527 wikitext text/x-wiki =={{langname|en}}== {{wp|en:+ Buddhism}} ==={{section|pr-noun}}=== {{en-proper noun|head=[[pure land|Pure Land]]}} # {{nhãn|en|Phật giáo}} [[Tịnh độ tông]]. # {{nhãn|en|Phật giáo}} Tịnh độ cụ thể của Đức Phật A Di Đà, thường được hiểu là thiên đường nơi các tín đồ sẽ được dẫn đến giác ngộ. ==={{section|noun}}=== {{en-noun|head=[[pure land|Pure Land]]}} # {{lb|en|Buddhism}} {{alternative case form of|en|pure land}} g0jn9vh3l2e4ttsqro2cbxwmkkbyln4 Śākyamuni Buddha 0 305452 2341439 2161163 2026-03-31T02:31:11Z Hiyuune 50834 viết tầm bậy, bịa từ 2341439 wikitext text/x-wiki =={{langname|en}}== ==={{section|alt}}=== * {{alt|en|Sakyamuni Buddha|Shakyamuni Buddha}} ==={{section|pr-noun}}=== {{en-prop}} # {{lb|en|religion}} [[Thích-ca Mâu-ni]]. #: {{syn|en|Gautama}} {{C|en|Phật|Phật giáo}} rnah911t17gppgqadvqyen1yd4c4q57 निर्वाण 0 305508 2341528 2226185 2026-03-31T08:09:46Z Hiyuune 50834 Requesting deletion ([[:m:Special:MyLanguage/User:TenWhile6/XReport|XReport]] v3.1b) 2341528 wikitext text/x-wiki <noinclude>{{delete|tiếng Phạn không dùng chữ Latinh làm hệ thống viết bản địa <small>[[:m:Special:MyLanguage/User:TenWhile6/XReport|XReport]]</small>}}</noinclude> =={{langname|sa}}== ==={{ĐM|n}}=== {{sa-noun}} # {{nhãn|sa|Buddhism}} Niết-bàn. sahn9m1mbk5fpr35q5gps7io1pokahi 覺悟 0 306182 2341529 2164328 2026-03-31T08:11:45Z Hiyuune 50834 2341529 wikitext text/x-wiki {{also|覚悟|觉悟}} =={{langname|ja}}== {{ja-kanjitab|かく|ご|yomi=o}} {{ja-gv|覚悟}} =={{langname|zh}}== {{zh-forms|s=觉悟}} ==={{section|pron}}=== {{zh-pron |m=juéwù,tl=y |ma=Zh-juéwù.ogg |dg=җүә1ву3 |c=gok3 ng6 |h=pfs=kok-ngu |mn=xm,qz,tw:kak-ngō͘/zz,twvk:kak-gō͘ |mn-t=gag4 ngo6 |w=sh:7ciaq ngu |mc=2 |oc=2 |cat=v,n }} ==={{section|n}}=== {{head|zh|noun}} # Sự [[nhận thức]]. # {{lb|zh|Buddhism}} [[giác ngộ|Giác ngộ]]. ==={{section|desc}}=== {{CJKV||s=覚%悟|かく%ご|각오|giác ngộ}} h2w05whncea7h3792q8to0c75n8v7zg 2341530 2341529 2026-03-31T08:11:56Z Hiyuune 50834 /* {{langname|ja}} */ 2341530 wikitext text/x-wiki {{also|覚悟|觉悟}} =={{langname|ja}}== {{ja-kanjitab|かく|ご|yomi=o}} {{ja-gv|覚悟}} {{-}} =={{langname|zh}}== {{zh-forms|s=觉悟}} ==={{section|pron}}=== {{zh-pron |m=juéwù,tl=y |ma=Zh-juéwù.ogg |dg=җүә1ву3 |c=gok3 ng6 |h=pfs=kok-ngu |mn=xm,qz,tw:kak-ngō͘/zz,twvk:kak-gō͘ |mn-t=gag4 ngo6 |w=sh:7ciaq ngu |mc=2 |oc=2 |cat=v,n }} ==={{section|n}}=== {{head|zh|noun}} # Sự [[nhận thức]]. # {{lb|zh|Buddhism}} [[giác ngộ|Giác ngộ]]. ==={{section|desc}}=== {{CJKV||s=覚%悟|かく%ご|각오|giác ngộ}} tnkdaz4pth4n1l6tv3nbvbee7l30mo7 開悟 0 306303 2341490 2284442 2026-03-31T07:20:10Z Hiyuune 50834 2341490 wikitext text/x-wiki =={{langname|vi}}== ==={{section|han}}=== {{vi-readings|readings=[[khai ngộ]]}} # {{vi-Han form of|khai ngộ}} =={{langname|zh}}== {{zh-forms|s=开悟}} ==={{section|pron}}=== {{zh-pron |m=kāiwù |mc=y |cat=v,n |mn=khai-ngō͘ }} ==={{section|n}}=== {{head|zh|Danh từ}} # {{lb|zh|Buddhism|philosophy|psychology}} [[khai ngộ|Khai ngộ]]. doenctmecs84zooyvazrqbkwaf8f7ih bábir 0 306867 2341406 2284857 2026-03-30T14:16:20Z Hiyuune 50834 2341406 wikitext text/x-wiki =={{langname|sme}}== ==={{section|etym}}=== {{rfe|se}} ==={{section|pron}}=== * {{se-IPA}} ==={{section|noun}}=== {{se-noun}} # [[giấy|Giấy]]. ===={{section|infl}}==== {{se-infl-noun-odd|báhpir}} ==={{section|further}}=== * {{R:Álgu|25445}} bn5q6cymlhjijh22iyczdy50we6ecbc 2341407 2341406 2026-03-30T14:16:34Z Hiyuune 50834 2341407 wikitext text/x-wiki =={{langname|se}}== ==={{section|etym}}=== {{rfe|se}} ==={{section|pron}}=== * {{se-IPA}} ==={{section|noun}}=== {{se-noun}} # [[giấy|Giấy]]. ===={{section|infl}}==== {{se-infl-noun-odd|báhpir}} ==={{section|further}}=== * {{R:Álgu|25445}} ixrkbh7jcmnv2mlqjuu0n019ayk2kza babang 0 313737 2341404 2180832 2026-03-30T14:14:55Z Hiyuune 50834 2341404 wikitext text/x-wiki =={{langname|kxd}}== ==={{section|n}}=== {{head|kxd|Danh từ}} # [[đập|Đập]] [[nước]]. ==={{section|ref}}=== * H. B. Marshall (With notes by J. C. Moulton). ''A Vocabulary of Brunei Malay''. Jour. Straits Branch R. A. Soc., No. 83, 1921. 1atq6ghnr57qvcjiluwlyvngwj93301 公開プロキシ 0 317361 2341503 2187306 2026-03-31T07:29:43Z WhoAlone 40420 2341503 wikitext text/x-wiki =={{langname|ja}}== ==={{ĐM|pron}}=== {{jpn-pron|こうかい ぷろ きし}} ==={{ĐM|noun}}=== {{jpn-noun|こうかい ぷろ きし}} # {{nhãn|ja|computing}} {{w|Proxy mở}} e4mlzhzei3d0q0ijq6eiwgkih0gi5j1 仮想マシン 0 317848 2341506 2188056 2026-03-31T07:32:19Z WhoAlone 40420 2341506 wikitext text/x-wiki =={{langname|ja}}== {{jpn-kanjitab|か|そう|yomi=on}} ==={{ĐM|pron}}=== {{jpn-pron|かそう マシン}} ==={{ĐM|noun}}=== {{jpn-noun|かそう マシン}} # {{nhãn|ja|computing}} [[máy ảo|Máy ảo]] ===={{ĐM|syn}}==== * {{jpn-r|仮%想%機%械|か%そう% き%かい}} 6byd0mtz1y5x381nrz5t2p1p3ij4iwy 血圧 0 319517 2341548 2191908 2026-03-31T09:27:11Z WhoAlone 40420 2341548 wikitext text/x-wiki {{also|血壓|血压}} =={{langname|ja}}== {{jpn-kanjitab|けつ|あつ|yomi=o}} ==={{ĐM|pron}}=== * {{jpn-pron|けつあつ|acc=0}} ==={{ĐM|noun}}=== {{jpn-noun|けつあつ}} # [[huyết áp|Huyết áp]]. ===={{ĐM|derived}}==== * {{jpn-r|血圧計|けつあつけい}} * {{jpn-r|高血圧|こうけつあつ}} ==={{ĐM|ref}}=== * {{R:Shogakukan}} fbws1asucj1sws609j0b2kbtf3wljlr 2341549 2341548 2026-03-31T09:29:30Z WhoAlone 40420 2341549 wikitext text/x-wiki {{also|血壓|血压}} =={{langname|ja}}== {{jpn-kanjitab|けつ|あつ|yomi=o}} ==={{ĐM|pron}}=== * {{jpn-pron|けつあつ|acc=0}} ==={{ĐM|noun}}=== {{jpn-pos|noun|けつあつ}} # [[huyết áp|Huyết áp]]. ===={{ĐM|derived}}==== * {{jpn-r|血圧計|けつあつけい}} * {{jpn-r|高血圧|こうけつあつ}} ==={{ĐM|ref}}=== * {{R:Shogakukan}} sjtkscsw3zh512dakgy9tpn9b9eokzs make into 0 324539 2341384 2284702 2026-03-30T12:52:26Z Hiyuune 50834 2341384 wikitext text/x-wiki =={{langname|en}}== ==={{section|v}}=== {{en-verb|<,,made>}} # {{label|en|ditransitive}} [[thay đổi|Thay đổi]], [[biến đổi]]. #: {{ux|en|Basic training will '''make''' you '''into''' a man.|Huấn luyện cơ bản sẽ giúp bạn làm người.}} #: {{ux|en|The potion '''made''' him '''into''' a toad.|Thuốc độc đã '''biến''' anh ta '''thành''' một con cóc.}} #: {{ux|en|I'll '''make''' a dry academic discipline '''into''' a living subject.|Tôi sẽ '''biến''' một ngành học khô khan '''thành''' một môn học sống động. }} ===={{section|syn}}==== * {{l|en|make}}<!--a sense--> * {{l|en|turn into}} 275ram24bbmx2igz7dq1pnnvfp3ea2n 学識 0 327087 2341516 2208320 2026-03-31T07:38:14Z WhoAlone 40420 2341516 wikitext text/x-wiki {{also|学识|學識}} =={{langname|ja}}== {{ja-kanjitab|がく|しき|yomi=on}} ==={{ĐM|pron}}=== {{ja-pron|がくしき|acc=0|dev=3|acc_ref=DJR,NHK}} ==={{ĐM|noun}}=== {{ja-noun|がくしき}} # sự [[nhận biết]], [[hiểu biết]] ==={{ĐM|ref}}=== <references/> k4y20ip5tf15oa1monfv8n6rdcuvwql 寄生 0 346884 2341556 2242105 2026-03-31T09:35:01Z WhoAlone 40420 2341556 wikitext text/x-wiki =={{langname|vi}}== {{vi-hantutab}} ==={{ĐM|verb}}=== {{vi-verb|sc=Hani}} # {{vi-Han form of|kí sinh}} =={{langname|ja}}== {{wikipedia|lang=ja}} {{ja-kanjitab|き|せい|yomi=o}} ==={{ĐM|pron}}=== {{ja-pron|きせい|acc=h|dev=1}} ==={{ĐM|n}}=== {{ja-noun|きせい}} # {{nhãn|ja|ecology}} Sự [[ký sinh]]; sự [[ăn bám]] ==={{ĐM|v}}=== {{ja-verb-suru|tr=intrans|きせい}} # {{nhãn|ja|ecology|sort=きせい}} [[ký sinh]]; [[ăn bám]] ===={{ĐM|forms}}==== {{ja-suru|きせい}} dtvrxbr9ehgdrqdv9l9xij7mi8x048o 0 355016 2341417 2257884 2026-03-30T15:06:37Z Hiyuune 50834 /* Ký tự chữ Hán */ 2341417 wikitext text/x-wiki {{also|鍾|钟|鈡}} {{character info}} == {{langname|mul}} == === {{ĐM|han}} === {{Han char|rn=167|rad=金|as=12|sn=20|four=80114|canj=CYTG|ids=⿰釒童}} ==== {{ĐM|ref}} ==== * {{Han ref|kx=1323.020|dkj=40902|dj=1822.180|hdz=64258.060|uh=9418|ud=37912|bh=C4C1|bd=50369}} == {{langname|zh}} == {{zh-forms|s=钟|alt=*鍾,銿,鈡}} {{zh-wp|zh:鐘姓}} === {{ĐM|pron}} === {{zh-pron |m=zhōng |m-s=zong1 |dg=җун1 |c=zung1 |c-t=zuung1 |g=zung1 |h=pfs=chûng;gd=zung1 |j=zung1 |mb=cé̤ng |md=cṳ̆ng |mn=cheng/chiong |mn_note=cheng - vernacular; chiong - literary |mn-t=zêng1 |w=sh:1tson |x=zhong1 |mc=y |oc=y |cat=n }} === {{ĐM|dfn}} === {{head|zh|Hán tự}} # [[chuông|Chuông]]. {{zh-mw|架|座}} #: {{zh-x|那 個 鐘 每 小時 響 一次。|Chiếc '''chuông''' đó reo mỗi giờ một lần.}} # [[đồng hồ|Đồng hồ]]. {{zh-mw|架|座}} #: {{zh-x|這 個 鐘 快 了,所以 我 把 它 校{jiào}準 了。|'''Đồng hồ''' chạy nhanh nên tôi đã chỉnh lại.}} # [[thời gian|Thời gian]] đo bằng giờ và phút. #: {{zh-x|點鐘|giờ tròn}} #: {{zh-x|分鐘|phút}} #: {{zh-x|秒鐘|giây}} # {{label|zh|Cantonese}} [[giờ|Giờ]]; [[tiếng]]. {{zh-mw|個|粒|句}} #: {{zh-co|一 個 '''鐘''' 零 十五 分鐘|một '''giờ''' mười lăm phút|C}} #: {{zh-co|斷 鐘 計|được tính bằng '''giờ'''|C}} # {{label|zh|Cantonese|nói chung}} Thời gian; [[thì giờ]]. #: {{zh-co|夠鐘|đã đến '''lúc'''|C}} #: {{zh-co|揼{dam6}波鐘|câu '''giờ'''|C}} # {{label|zh|Cantonese|colloquial}} (Khoảng thời gian hoặc thời lượng của) các [[dịch vụ]] [[tình dục]], như [[mại dâm]]. #: {{zh-co|彈鐘|từ chối gái mại dâm|C}} #: {{zh-co|落鐘|(của dịch vụ tình dục) chấm dứt|C}} # {{label|zh|historical}} Chuông {{gloss|nhạc cụ gõ dùng cho nghi lễ, làm bằng kim loại, được treo trên giá và đánh bằng [[vồ]]}}. # {{alt form|zh|鍾|t=đơn vị [[dung lượng]]}}. # {{surname|zh}}. ==== {{ĐM|usage}} ==== * Không nên nhầm lẫn hai họ khác nhau là {{zh-l|鐘}} và {{zh-l|鍾/锺}}. ==== {{ĐM|syn}} ==== {{zh-dial|小時}} === {{ĐM|compound}} === {{col3|zh|鎛鐘|香鐘|時鐘|鬧鐘|警鐘|編鐘|掛鐘|原子鐘|老爺鐘|分鐘|秒鐘|鐘點|鐘頭|鐘樓|鐘擺|鐘點工|掩耳盜鐘|鐘琴|鐘片琴|管鐘|鐘乳石|鐘鼎文|棋鐘|鐘虡|鐘簴|過鐘|彈鐘|買鐘|揼波鐘|試鐘|私鐘|出鐘|打鐘|旺鐘|齋鐘|A鐘}} === {{ĐM|desc}} === {{CJKV||しょう|종}} ''Khác'' * {{desctree|mkh-mvi|chuâng|bor=1}} === {{ĐM|ref}} === * {{R:yue:Hanzi}} szwmwyebgzhttzok62wc84h9gipzgt9 2341419 2341417 2026-03-31T00:54:46Z Hiyuune 50834 /* Tiếng Trung Quốc */ (sử dụng [[MediaWiki:Gadget-AjaxEdit.js|AjaxEdit]]) 2341419 wikitext text/x-wiki {{also|鍾|钟|鈡}} {{character info}} == {{langname|mul}} == === {{ĐM|han}} === {{Han char|rn=167|rad=金|as=12|sn=20|four=80114|canj=CYTG|ids=⿰釒童}} ==== {{ĐM|ref}} ==== * {{Han ref|kx=1323.020|dkj=40902|dj=1822.180|hdz=64258.060|uh=9418|ud=37912|bh=C4C1|bd=50369}} == {{langname|zh}} == {{zh-forms|s=钟|alt=*鍾,銿,鈡}} {{wp|zh:鐘姓}} === {{ĐM|pron}} === {{zh-pron |m=zhōng |m-s=zong1 |dg=җун1 |c=zung1 |c-t=zuung1 |g=zung1 |h=pfs=chûng;gd=zung1 |j=zung1 |mb=cé̤ng |md=cṳ̆ng |mn=cheng/chiong |mn_note=cheng - vernacular; chiong - literary |mn-t=zêng1 |w=sh:1tson |x=zhong1 |mc=y |oc=y |cat=n }} === {{ĐM|dfn}} === {{head|zh|Hán tự}} # [[chuông|Chuông]]. {{zh-mw|架|座}} #: {{zh-x|那 個 鐘 每 小時 響 一次。|Chiếc '''chuông''' đó reo mỗi giờ một lần.}} # [[đồng hồ|Đồng hồ]]. {{zh-mw|架|座}} #: {{zh-x|這 個 鐘 快 了,所以 我 把 它 校{jiào}準 了。|'''Đồng hồ''' chạy nhanh nên tôi đã chỉnh lại.}} # [[thời gian|Thời gian]] đo bằng giờ và phút. #: {{zh-x|點鐘|giờ tròn}} #: {{zh-x|分鐘|phút}} #: {{zh-x|秒鐘|giây}} # {{label|zh|Cantonese}} [[giờ|Giờ]]; [[tiếng]]. {{zh-mw|個|粒|句}} #: {{zh-co|一 個 '''鐘''' 零 十五 分鐘|một '''giờ''' mười lăm phút|C}} #: {{zh-co|斷 鐘 計|được tính bằng '''giờ'''|C}} # {{label|zh|Cantonese|nói chung}} Thời gian; [[thì giờ]]. #: {{zh-co|夠鐘|đã đến '''lúc'''|C}} #: {{zh-co|揼{dam6}波鐘|câu '''giờ'''|C}} # {{label|zh|Cantonese|colloquial}} (Khoảng thời gian hoặc thời lượng của) các [[dịch vụ]] [[tình dục]], như [[mại dâm]]. #: {{zh-co|彈鐘|từ chối gái mại dâm|C}} #: {{zh-co|落鐘|(của dịch vụ tình dục) chấm dứt|C}} # {{label|zh|historical}} Chuông {{gloss|nhạc cụ gõ dùng cho nghi lễ, làm bằng kim loại, được treo trên giá và đánh bằng [[vồ]]}}. # {{alt form|zh|鍾|t=đơn vị [[dung lượng]]}}. # {{surname|zh}}. ==== {{ĐM|usage}} ==== * Không nên nhầm lẫn hai họ khác nhau là {{zh-l|鐘}} và {{zh-l|鍾/锺}}. ==== {{ĐM|syn}} ==== {{zh-dial|小時}} === {{ĐM|compound}} === {{col3|zh|鎛鐘|香鐘|時鐘|鬧鐘|警鐘|編鐘|掛鐘|原子鐘|老爺鐘|分鐘|秒鐘|鐘點|鐘頭|鐘樓|鐘擺|鐘點工|掩耳盜鐘|鐘琴|鐘片琴|管鐘|鐘乳石|鐘鼎文|棋鐘|鐘虡|鐘簴|過鐘|彈鐘|買鐘|揼波鐘|試鐘|私鐘|出鐘|打鐘|旺鐘|齋鐘|A鐘}} === {{ĐM|desc}} === {{CJKV||しょう|종}} ''Khác'' * {{desctree|mkh-mvi|chuâng|bor=1}} === {{ĐM|ref}} === * {{R:yue:Hanzi}} jw3lzi53ouf0jlscbkz17cprt1412nd makes into 0 390877 2341385 2026-03-30T12:53:21Z Hiyuune 50834 + en 2341385 wikitext text/x-wiki =={{langname|en}}== ==={{section|v}}=== {{head|en|Biến thể hình thái động từ}} # {{infl of|en|make into||s-verb-form}} 9np650bjc55cunuulxu3de2uow0iusx making into 0 390878 2341386 2026-03-30T12:54:35Z Hiyuune 50834 + en 2341386 wikitext text/x-wiki =={{langname|en}}== ==={{section|v}}=== {{head|en|Biến thể hình thái động từ}} # {{infl of|en|make into||ing-form}} d3ythub1538392mjl0fo10cp7ifuac9 made into 0 390879 2341387 2026-03-30T12:55:14Z Hiyuune 50834 + en 2341387 wikitext text/x-wiki =={{langname|en}}== ==={{section|v}}=== {{head|en|Biến thể hình thái động từ}} # {{infl of|en|make into||ed-form}} i7tczch6nir5w7mhtu3vlmuz81dl3z6 ṯnḥr 0 390880 2341399 2026-03-30T13:47:59Z Kelly zhrm 58416 Trang mới: “=={{langname|egy}}== [[File:Accipiter nisus kill.jpg|thumb|<hiero>T:n-Hr:r-nw-G39</hiero>]] ==={{ĐM|pron}}=== {{egy-pr}} ==={{ĐM|n}}=== {{egy-noun|m|head=<hiero>T:n-Hr:r-nw-G39</hiero>}} # [[diều hâu|Diều hâu]]. ===={{ĐM|infl}}==== {{egy-decl-noun|g=m|ṯnḥr}} ==={{ĐM|ref}}=== * {{R:egy:Faulkner}} {{C|egy|Lớp Chim}}” 2341399 wikitext text/x-wiki =={{langname|egy}}== [[File:Accipiter nisus kill.jpg|thumb|<hiero>T:n-Hr:r-nw-G39</hiero>]] ==={{ĐM|pron}}=== {{egy-pr}} ==={{ĐM|n}}=== {{egy-noun|m|head=<hiero>T:n-Hr:r-nw-G39</hiero>}} # [[diều hâu|Diều hâu]]. ===={{ĐM|infl}}==== {{egy-decl-noun|g=m|ṯnḥr}} ==={{ĐM|ref}}=== * {{R:egy:Faulkner}} {{C|egy|Lớp Chim}} ponnkleuwwsy6e53wchvvghdc8opgnv nevad 0 390881 2341408 2026-03-30T14:17:19Z Hiyuune 50834 + es 2341408 wikitext text/x-wiki =={{langname|es}}== ==={{section|v}}=== {{head|es|Biến thể hình thái động từ}} # {{es-verb form of|nevar<ie>}} 0l9h04keelcr3jq954wxde4v7hdzequ báhpára 0 390882 2341409 2026-03-30T14:19:18Z Hiyuune 50834 + se 2341409 wikitext text/x-wiki =={{langname|se}}== ==={{section|n}}=== {{head|se|Biến thể hình thái danh từ}} # {{infl of|se|bábir||acc//gen|s}} o005cikzppdiimxvwl0ibafubcza31v Thể loại:se:Tên ngôn ngữ 14 390883 2341411 2026-03-30T14:21:05Z Hiyuune 50834 Trang mới: “{{auto cat}}” 2341411 wikitext text/x-wiki {{auto cat}} eomzlm5v4j7ond1phrju7cnue91g5qx Thể loại:se:Danh sách chủ đề thuộc nhóm tên gọi 14 390884 2341412 2026-03-30T14:21:43Z Hiyuune 50834 Trang mới: “{{auto cat}}” 2341412 wikitext text/x-wiki {{auto cat}} eomzlm5v4j7ond1phrju7cnue91g5qx Thể loại:se:Tất cả chủ đề 14 390885 2341413 2026-03-30T14:22:05Z Hiyuune 50834 Trang mới: “{{auto cat}}” 2341413 wikitext text/x-wiki {{auto cat}} eomzlm5v4j7ond1phrju7cnue91g5qx liễu Chương Đài 0 390886 2341416 2026-03-30T14:47:44Z TheHighFighter2 42988 Trang mới: “=={{langname|vi}}== ==={{section|etym}}=== Lấy trong [[s:zh:寄柳氏|bài thơ]] của [[w:zh:韓翃|Hàn Hoành]] đời Đường gửi cho Liễu thị. ==={{section|pron}}=== {{vi-IPA}} ==={{section|noun}}=== {{vi-noun|head=[[liễu]] Chương Đài}} # {{nhãn|vi|nghĩa bóng|văn chương}} [[người yêu|Người yêu]], [[tình nhân]]. #: {{syn|vi|khách Chương Đài}} #* {{RQ:Truyện Kiều|year_published=1866|line=1261-1262|passage=欺𧗱𠳨'''柳…” 2341416 wikitext text/x-wiki =={{langname|vi}}== ==={{section|etym}}=== Lấy trong [[s:zh:寄柳氏|bài thơ]] của [[w:zh:韓翃|Hàn Hoành]] đời Đường gửi cho Liễu thị. ==={{section|pron}}=== {{vi-IPA}} ==={{section|noun}}=== {{vi-noun|head=[[liễu]] Chương Đài}} # {{nhãn|vi|nghĩa bóng|văn chương}} [[người yêu|Người yêu]], [[tình nhân]]. #: {{syn|vi|khách Chương Đài}} #* {{RQ:Truyện Kiều|year_published=1866|line=1261-1262|passage=欺𧗱𠳨'''柳章臺'''</br>梗春㐌𢯏朱𠊛專𢬣|tr=Khi về hỏi '''liễu Chương Đài''',</br>Cành xuân đã bẻ cho người chuyên tay!}} #* {{w|Nguyễn Khuyến}}, "[[s:Văn đàn bảo giám/Quyển thứ nhất/Lục bát|Chế bác đồ mắc lừa gái]]": #*: {{quote|vi|Từ ngày gặp '''liễu chương-đài''',</br>Càng sâu nghĩa bể, càng dài tình sông.}} ez05kniaf3wp921c7yrozq109fr7bdn 2341542 2341416 2026-03-31T08:32:41Z TheHighFighter2 42988 /* Tiếng Việt */ 2341542 wikitext text/x-wiki =={{langname|vi}}== ==={{section|etym}}=== Lấy trong [[s:zh:寄柳氏|bài thơ]] của [[w:zh:韓翃|Hàn Hoành]] đời Đường gửi cho Liễu thị. ==={{section|pron}}=== {{vi-IPA}} ==={{section|noun}}=== {{vi-noun|head=[[liễu]] Chương Đài}} # {{nhãn|vi|nghĩa bóng|thơ ca}} [[người yêu|Người yêu]], [[tình nhân]]. #: {{syn|vi|khách Chương Đài}} #* {{RQ:Truyện Kiều|year_published=1866|line=1261-1262|passage=欺𧗱𠳨'''柳章臺'''</br>梗春㐌𢯏朱𠊛專𢬣|tr=Khi về hỏi '''liễu Chương Đài''',</br>Cành xuân đã bẻ cho người chuyên tay!}} #* {{w|Nguyễn Khuyến}}, "[[s:Văn đàn bảo giám/Quyển thứ nhất/Lục bát|Chế bác đồ mắc lừa gái]]": #*: {{quote|vi|Từ ngày gặp '''liễu chương-đài''',</br>Càng sâu nghĩa bể, càng dài tình sông.}} ok7oif6ld0dv1aymcnyh9irucpcu8cn 0 390887 2341420 2026-03-31T00:58:34Z Hiyuune 50834 + mul, ja 2341420 wikitext text/x-wiki {{also|镫}} {{character info}} =={{langname|mul}}== ==={{section|han}}=== {{Han char|rn=167|rad=金|as=12|sn=20|four=82118|canj=CNOT|ids=⿰釒登}} ===={{section|ref}}==== * {{Han ref|kx=1323.040|dkj=40904|dj=1822.200|hdz=64260.040|uh=9419}} =={{langname|ja}}== ==={{section|kanji}}=== {{ja-kanji|grade=|rs=金12}} # [[bàn đạp|Bàn đạp]]. ===={{section|reading}}==== {{ja-readings |goon=とう<とう |kanon=とう<とう |kun=あぶみ-, たかつき, ひともし |nanori=のぼる }} ===={{section|compound}}==== * {{ja-r|鐙%骨|とう%こつ}} ==={{section|etym}}=== {{ja-kanjitab|あぶみ|yomi=k}} {{wp|ja:}} {{ja-compound|足|あ|踏み|ふみ|t1=foot|pos2=dạng tiếp diễn của {{ja-r|踏む|ふむ}}|sort=あぶみ}}. {{ja-rendaku2|fumi|bumi|sort=あぶみ}} ==={{section|pron}}=== {{ja-pron|あぶみ|acc=0}} ==={{section|n}}=== {{ja-noun|あぶみ|hhira=あぶみ}} # [[bàn đạp|Bàn đạp]]. j8xlglckdyon7s07zp76z6yslbto9y4 あぶみ 0 390888 2341421 2026-03-31T00:59:02Z Hiyuune 50834 Trang mới: “=={{langname|ja}}== {{ja-see|鐙}}” 2341421 wikitext text/x-wiki =={{langname|ja}}== {{ja-see|鐙}} tqylb9db2gjb5ela2e3wmafwcdywbeu 2341422 2341421 2026-03-31T00:59:22Z Hiyuune 50834 /* Tiếng Nhật */ (sử dụng [[MediaWiki:Gadget-AjaxEdit.js|AjaxEdit]]) 2341422 wikitext text/x-wiki {{also|あふみ}} =={{langname|ja}}== {{ja-see|鐙}} sx1wyizrzcoiel59po63rfgbu7qlnnb 𣛙 0 390889 2341427 2026-03-31T01:08:20Z Hiyuune 50834 + mul, zh 2341427 wikitext text/x-wiki {{also|藥}} {{character info}} =={{langname|mul}}== ==={{section|han}}=== {{Han char|rn=75|rad=木|as=12|sn=16|four=|canj=TIOD|ids=⿱䒑楽}} ===={{section|ref}}==== * {{Han ref|kx=|dkj=|dj=|hdz=|uh=236D9}} =={{langname|zh}}== {{zh-see|藥|v}} s3stzwrzs8u0pu8w181ori4bkm1hm42 Mô đun:zh/data/ltc-pron/鍛 828 390890 2341429 2026-03-31T01:15:10Z Hiyuune 50834 Trang mới: “return { "端桓一合 去丁貫" }” 2341429 Scribunto text/plain return { "端桓一合 去丁貫" } ekpfs5qy7pzrcev13xhkxrdudmk21i7 Mô đun:ltc-pron/table 828 390891 2341433 2026-03-31T01:26:25Z Hiyuune 50834 Trang mới: “local export = {} local m_baxter = require("Module:ltc-pron/baxter") local data = mw.loadData("Module:ltc-pron/data") local people = { Baxter = {"B", "[[w:Baxter%27s_transcription_for_Middle_Chinese|Baxter]]"}, Karlgren = {"K", "[[w:Bernhard Karlgren|Bernhard Karlgren]]"}, Shao = {"S", "[[w:zh:邵荣芬|Shao Rongfen]]"}, Wang = {"W", "[[w:Wang Li (linguist)|Wang Li]]"}, Pulleyblank = {"Pb", "[[w:Edwin G. Pulleyblank|Edwin Pulleyblank]]"}, Zhengzhang = {"Zz", "[[w:Z…” 2341433 Scribunto text/plain local export = {} local m_baxter = require("Module:ltc-pron/baxter") local data = mw.loadData("Module:ltc-pron/data") local people = { Baxter = {"B", "[[w:Baxter%27s_transcription_for_Middle_Chinese|Baxter]]"}, Karlgren = {"K", "[[w:Bernhard Karlgren|Bernhard Karlgren]]"}, Shao = {"S", "[[w:zh:邵荣芬|Shao Rongfen]]"}, Wang = {"W", "[[w:Wang Li (linguist)|Wang Li]]"}, Pulleyblank = {"Pb", "[[w:Edwin G. Pulleyblank|Edwin Pulleyblank]]"}, Zhengzhang = {"Zz", "[[w:Zhengzhang Shangfang|Zhengzhang Shangfang]]"}, Li = {"Li", "[[w:Li Rong (linguist)|Li Rong]]"}, Pan = {"Pan", "[[w:Pan Wuyun|Pan Wuyun]]"} } -- synchronize with [[Module:ltc-pron/baxter]] local baxter_1992_to_2014_map = { {pattern = "ɛɨ", replace = "ɛ"}, {pattern = "ɛ", replace = "ea"}, {pattern = "æ", replace = "ae"}, {pattern = "ɨ", replace = "+"}, {pattern = "ʔ", replace = "'"}, } local function baxter_1992_to_2014(text) for _, item in ipairs(baxter_1992_to_2014_map) do text = text:gsub(item.pattern, item.replace) end return text end local function show(N,info,prons,division) local reconstructions = {} for key,val in pairs(prons) do table.insert(reconstructions,key) for i=1,N do info[i].pron[key] = val[i] end end local res = '(Keys: ' for key,val in pairs(people) do res = res .. val[1] .. '=' .. val[2] .. ', ' end res = res:sub(1,-3) res = res .. ')\n {| class="wikitable" \n' .. '! scope=col | # \n' .. '! scope=col | Name \n' .. (division and '! scope=col | Div. \n' or '') .. '! scope=col | B \n' for _,person in ipairs(reconstructions) do res = res .. ' ! scope=col | ' .. people[person][1] .. '\n' end res = res .. '\n' local ncol = #reconstructions + (division and 4 or 3) for i=1,N do if info[i].caption then res = res .. '|-\n' res = res .. '| colspan=' .. ncol .. ' align=center | ' .. info[i].caption .. '\n' end res = res .. '|-\n' res = res .. '! scope=row | ' .. i .. '\n' res = res .. '|' .. table.concat(info[i].names,'/') .. '\n' if division then res = res .. '|' .. division[i] .. '\n' end res = res .. '|' .. baxter_1992_to_2014(info[i].baxter) .. '\n' for _,person in ipairs(reconstructions) do res = res .. '|' .. info[i].pron[person] .. '\n' end end res = res .. '|}' return res end function export.init(frame) local N = 38 local inits = {} for i=1,N do inits[i] = {names={}, pron={}} inits[i].baxter = m_baxter.baxter_initial[i] end for key,val in pairs(data.init_type) do table.insert(inits[val].names,key) end inits[1].caption = "脣音 / bilabial" inits[5].caption = "舌頭音 / alveolar" inits[9].caption = "舌上音 / retroflex" inits[13].caption = "齒頭音 / dental" inits[18].caption = "正齒音 / retroflex?" inits[23].caption = "正齒音 / post-alveolar" inits[28].caption = "? / velar" inits[32].caption = "喉音 / glottal" inits[36].caption = "miscellaneous" return show(N,inits,data.initialConv) end function export.final(frame) local N = 160 local finals = {} for i=1,N do finals[i] = {names={}, pron={}} finals[i].baxter = m_baxter.baxter_final[i] end local sources = { data.fin_type, data.fin_type_open, data.fin_type_deng_open, data.final_deng, data.final_openness } for _,s in ipairs(sources) do for key,val in pairs(s) do table.insert(finals[val].names,key) end end finals[1].caption = "通攝 ung" finals[9].caption = "江攝 ong" finals[11].caption = "止攝 i" finals[22].caption = "遇攝 o" finals[25].caption = "蟹攝 ai" finals[43].caption = "臻攝 en" finals[61].caption = "山攝 an" finals[89].caption = "效攝 au" finals[94].caption = "果攝 ar" finals[98].caption = "假攝 a" finals[101].caption = "宕攝 ang" finals[109].caption = "梗攝 eng" finals[133].caption = "曾攝 erng" finals[136].caption = "流攝 eu" finals[139].caption = "深攝 em" finals[143].caption = "咸攝 am" return show(N,finals,data.finalConv,data.divisions) end return export ib3h5hmftixtcdxm3pzdqnkbi5a97en Mô đun:number list/data/pi 828 390892 2341434 2026-03-31T02:15:33Z Hiyuune 50834 Trang mới: “local export = {numbers = {}} local numbers = export.numbers numbers[0] = { cardinal = "suñña", } numbers[1] = { cardinal = "eka", ordinal = "paṭhama", } numbers[2] = { cardinal = "dvi", ordinal = "dutiya", } numbers[3] = { cardinal = "ti", ordinal = "tatiya", } numbers[4] = { cardinal = "catur", ordinal = "catuttha", } numbers[5] = { cardinal = "pañca", ordinal = "pañcama", } numbers[6] = { cardinal = "cha", ordinal = "chaṭṭha", } nu…” 2341434 Scribunto text/plain local export = {numbers = {}} local numbers = export.numbers numbers[0] = { cardinal = "suñña", } numbers[1] = { cardinal = "eka", ordinal = "paṭhama", } numbers[2] = { cardinal = "dvi", ordinal = "dutiya", } numbers[3] = { cardinal = "ti", ordinal = "tatiya", } numbers[4] = { cardinal = "catur", ordinal = "catuttha", } numbers[5] = { cardinal = "pañca", ordinal = "pañcama", } numbers[6] = { cardinal = "cha", ordinal = "chaṭṭha", } numbers[7] = { cardinal = "satta", ordinal = "sattama", } numbers[8] = { cardinal = "aṭṭha", ordinal = "aṭṭhama", } numbers[9] = { cardinal = "nava", ordinal = "navama", } numbers[10] = { cardinal = "dasa", ordinal = "dasama", } numbers[11] = { cardinal = "ekādasa", ordinal = "ekādasama", } numbers[12] = { cardinal = "dvādasa", ordinal = "dvādasama", } numbers[13] = { cardinal = "terasa", ordinal = "terasama", } return export pwm1ed4v7fmm669uclylaxnovirsm0f suñña 0 390893 2341435 2026-03-31T02:18:36Z Hiyuune 50834 + pi 2341435 wikitext text/x-wiki =={{langname|pi}}== {{number box|pi}} ==={{section|alternative script}}=== {{pi-alt}} ==={{section|etym}}=== {{inh+|pi|sa|शून्य|tr=śūnyá}}. ==={{section|adj}}=== {{pi-adj}} # [[trống rỗng|Trống rỗng]]. # [[không|Không]] [[có]]. ===={{section|decl}}==== {{pi-decl-noun|g=m}} {{pi-decl-noun|suññā|g=f}} {{pi-decl-noun|g=n}} ===={{section|desc}}==== * {{desc|lo|ສູນ|bor=1|t=không}} * {{desc|my|သုည|bor=1|t=không}} ** {{desc|shn|သုင်ႇၺႃႉ|bor=1|t=không}} * {{desc|mnw|သုည|bor=1|t=không}} * {{desc|th|สูญ|bor=1|t=không; trống rỗng, biến mất}} ** {{desc|shn|သူၼ်|bor=1|t=không}} * {{desc|khb|ᦉᦳᧃ|bor=1|t=không; biến mất}} ==={{section|further}}=== * {{R:pi:PTS}} raqq0d0m9pmhn3n0bis2j1ii26jf4hn abbhāgato 0 390894 2341436 2026-03-31T02:21:33Z Hiyuune 50834 + pi 2341436 wikitext text/x-wiki =={{langname|pi}}== ==={{section|alt-sp}}=== {{pi-alt|Latn=abbhāgato}} ==={{section|adj}}=== {{head|pi|Biến thể hình thái tính từ}} # {{inflection of|pi|abbhāgata||nom|ở|m|s}} ==={{section|n}}=== {{head|pi|Biến thể hình thái danh từ}} # {{inflection of|pi|abbhāgata||nom|s}} el5067v20zxtv8npq1g61tquomijhlt 2341437 2341436 2026-03-31T02:21:56Z Hiyuune 50834 /* Tên đề mục không đúng hoặc không có sẫn */ (sử dụng [[MediaWiki:Gadget-AjaxEdit.js|AjaxEdit]]) 2341437 wikitext text/x-wiki =={{langname|pi}}== ==={{section|alt}}=== {{pi-alt|Latn=abbhāgato}} ==={{section|adj}}=== {{head|pi|Biến thể hình thái tính từ}} # {{inflection of|pi|abbhāgata||nom|ở|m|s}} ==={{section|n}}=== {{head|pi|Biến thể hình thái danh từ}} # {{inflection of|pi|abbhāgata||nom|s}} o2ay0nzr0lt9zoit5wqvjroi9wjfokv ekacattālīsā 0 390895 2341438 2026-03-31T02:28:03Z Hiyuune 50834 + pi 2341438 wikitext text/x-wiki =={{langname|pi}}== ==={{section|alt}}=== {{pi-alt}} ==={{section|etym}}=== {{compound|pi|eka|cattālīsā|t1=một|t2=bốn mươi}} ==={{section|num}}=== {{head|pi|Số từ}} # {{cln|pi|Số đếm}} [[bốn mươi|Bốn mươi]] [[mốt]]. ===={{section|decl}}==== {{pi-decl-noun|g=f|number=s |noms_mod=replace|noms=ekacattālīsaṃ |vocs_mod=replace|vocs=ekacattālīsaṃ}} r67u5eubkvojdkqv6wmzp907b1zqapo 鱷魚的眼淚 0 390896 2341443 2026-03-31T04:32:55Z Kelly zhrm 58416 Trang mới: “=={{langname|zh}}== {{zh-forms|s=鳄鱼的眼泪|type=212}} ==={{đm|etym}}=== {{calque|zh|en|crocodile tears}}. ==={{đm|pron}}=== {{zh-pron |m=èyú de yǎnlèi |cat=n }} ==={{đm|n}}=== {{head|zh|Danh từ}} # {{lb|zh|idiomatic}} [[nước mắt cá sấu|Nước mắt cá sấu]]. ===={{đm|syn}}==== * {{zh-l|鱷魚眼淚}}” 2341443 wikitext text/x-wiki =={{langname|zh}}== {{zh-forms|s=鳄鱼的眼泪|type=212}} ==={{đm|etym}}=== {{calque|zh|en|crocodile tears}}. ==={{đm|pron}}=== {{zh-pron |m=èyú de yǎnlèi |cat=n }} ==={{đm|n}}=== {{head|zh|Danh từ}} # {{lb|zh|idiomatic}} [[nước mắt cá sấu|Nước mắt cá sấu]]. ===={{đm|syn}}==== * {{zh-l|鱷魚眼淚}} dlfrpyredxzt8jlls19grxg3fdswrr4 鳄鱼的眼泪 0 390897 2341444 2026-03-31T04:33:12Z Kelly zhrm 58416 Trang mới: “=={{langname|zh}}== {{zh-see|鱷魚的眼淚}}” 2341444 wikitext text/x-wiki =={{langname|zh}}== {{zh-see|鱷魚的眼淚}} j987t8ys7ssl20229a3jj64bxn73qho èyú de yǎnlèi 0 390898 2341445 2026-03-31T04:33:29Z Kelly zhrm 58416 Creating forms of tiếng Quan Thoại [[鱷魚的眼淚]] ([[WT:ACCEL|Accelerated]]) 2341445 wikitext text/x-wiki =={{langname|cmn}}== ==={{đm|rom}}=== {{cmn-pinyin}} # {{cmn-pinyin of|鱷魚的眼淚}} 7lc50p4t0gtyomj39wyt59pxd2s5txa Thể loại:Từ dẫn xuất từ tiếng Anh tiếng Trung Quốc 14 390899 2341446 2026-03-31T04:34:01Z Kelly zhrm 58416 Trang mới: “{{auto cat}}” 2341446 wikitext text/x-wiki {{auto cat}} eomzlm5v4j7ond1phrju7cnue91g5qx Thể loại:Từ dịch sao phỏng từ tiếng Anh tiếng Trung Quốc 14 390900 2341447 2026-03-31T04:35:00Z Kelly zhrm 58416 Trang mới: “{{auto cat}}” 2341447 wikitext text/x-wiki {{auto cat}} eomzlm5v4j7ond1phrju7cnue91g5qx Thể loại:Từ dịch sao phỏng từ tiếng Anh theo ngôn ngữ 14 390901 2341448 2026-03-31T04:36:34Z Kelly zhrm 58416 Trang mới: “{{auto cat}}” 2341448 wikitext text/x-wiki {{auto cat}} eomzlm5v4j7ond1phrju7cnue91g5qx Thể loại:Từ vay mượn từ tiếng Anh tiếng Trung Quốc 14 390902 2341449 2026-03-31T04:37:20Z Kelly zhrm 58416 Trang mới: “{{auto cat}}” 2341449 wikitext text/x-wiki {{auto cat}} eomzlm5v4j7ond1phrju7cnue91g5qx 自動化 0 390903 2341451 2026-03-31T04:44:15Z Kelly zhrm 58416 Trang mới: “{{also|自动化}} =={{langname|vi}}== {{vi-hantutab}} ==={{đm|v}}=== {{vi-verb|sc=Hani}} # {{vi-Han form of|tự động hóa}} =={{langname|ja}}== {{ja-kanjitab|じ|どう|か|yomi=on|alt=自働化}} ==={{đm|etym}}=== {{ja-com|自動|じどう|化|-か}} ==={{đm|pron}}=== {{ja-pron|じどうか|acc=0|acc_ref=DJR}} ==={{đm|n}}=== {{ja-noun|じどうか|hhira=じどうくわ}} # Sự [[tự động hóa]]. ==={{đm|v}}=== {{ja-verb-suru|じどうか}} # t…” 2341451 wikitext text/x-wiki {{also|自动化}} =={{langname|vi}}== {{vi-hantutab}} ==={{đm|v}}=== {{vi-verb|sc=Hani}} # {{vi-Han form of|tự động hóa}} =={{langname|ja}}== {{ja-kanjitab|じ|どう|か|yomi=on|alt=自働化}} ==={{đm|etym}}=== {{ja-com|自動|じどう|化|-か}} ==={{đm|pron}}=== {{ja-pron|じどうか|acc=0|acc_ref=DJR}} ==={{đm|n}}=== {{ja-noun|じどうか|hhira=じどうくわ}} # Sự [[tự động hóa]]. ==={{đm|v}}=== {{ja-verb-suru|じどうか}} # [[tự động hóa|Tự động hóa]]. ===={{đm|forms}}==== {{ja-suru|じどうか}} ==={{đm|ref}}=== <references/> =={{langname|zh}}== {{zh-forms|s=自动化|type=21|2=-ize}} ==={{đm|pron}}=== {{zh-pron |m=zìdònghuà |c=zi6 dung6 faa3 |h=pfs=chhṳ-thung-fa;hrs=h:cii˖ tung˖ faˇ |mn=xm,zz,tw:chū-tōng-hòa/qz:chīr-tōng-hòa |mn-t=ze6 dong6 huê3 |px=pt,xy:zo5# dang5 *hua4 |cat=v }} ==={{đm|v}}=== {{zh-verb}} # [[tự động hóa|Tự động hóa]]. ===={{đm|drv}}==== {{col3|zh|自動化機器學習|辦公自動化}} ==={{đm|ref}}=== * {{R:cpx:PHDB|pp=40}} =={{langname|ko}}== {{ko-hanjatab}} ==={{đm|n}}=== {{ko-noun|hj|hangeul=자동화}} # {{hanja form of|자동화|sự [[tự động hóa]]}} qi6h0vsnbtyc623w249pfd1ok8d0oqj zìdònghuà 0 390904 2341452 2026-03-31T04:46:19Z Kelly zhrm 58416 Creating forms of tiếng Quan Thoại [[自動化]] ([[WT:ACCEL|Accelerated]]) 2341452 wikitext text/x-wiki =={{langname|cmn}}== ==={{đm|rom}}=== {{cmn-pinyin}} # {{cmn-pinyin of|自動化}} sqbde9z8hshaer1yt6mq7e6uixyfyw0 автоматизувати 0 390905 2341453 2026-03-31T04:49:49Z Kelly zhrm 58416 Trang mới: “=={{langname|uk}}== ==={{đm|etym}}=== Từ {{affix|uk|автоматиза́ція|alt1=автоматиз(а́ція)|-ува́ти}}. So sánh với {{cog|ru|автоматизи́ровать}}, {{cog|be|аўтаматызава́ць}}, {{cog|pl|automatyzować}}. ==={{đm|pron}}=== * {{uk-IPA|автоматизува́ти}} * {{audio|uk|LL-Q8798 (ukr)-Tohaomg-автоматизувати.wav}} ==={{đm|v}}=== {{uk-verb|автоматизува́ти|both}} # {{l…” 2341453 wikitext text/x-wiki =={{langname|uk}}== ==={{đm|etym}}=== Từ {{affix|uk|автоматиза́ція|alt1=автоматиз(а́ція)|-ува́ти}}. So sánh với {{cog|ru|автоматизи́ровать}}, {{cog|be|аўтаматызава́ць}}, {{cog|pl|automatyzować}}. ==={{đm|pron}}=== * {{uk-IPA|автоматизува́ти}} * {{audio|uk|LL-Q8798 (ukr)-Tohaomg-автоматизувати.wav}} ==={{đm|v}}=== {{uk-verb|автоматизува́ти|both}} # {{lb|uk|transitive}} [[tự động hóa|Tự động hóa]]. ===={{đm|forms}}==== {{uk-conj|автоматизува́ти<2a.both.tr.ppp>}} ===={{đm|drv}}==== {{col3|uk |автоматизо́ваний |автоматизува́ння<g:n> |автоматизува́тися<g:impf,pf> }} ===={{đm|rel}}==== {{col3|uk |автома́т<g:m> |автоматиза́ція<g:f> |автомати́зм<g:m> |автома́тика<g:f> |автомати́чний }} ==={{đm|further}}=== * {{R:uk:SUM-11}} * {{R:uk:Horokh}} * {{R:uk:Kyiv}} * {{R:uk:Slovnyk}} cgqgrzc823g2uy9e51cwe66tk72v8r9 Thể loại:zh:Giáo dục 14 390906 2341455 2026-03-31T04:55:13Z Kelly zhrm 58416 Trang mới: “{{auto cat}}” 2341455 wikitext text/x-wiki {{auto cat}} eomzlm5v4j7ond1phrju7cnue91g5qx Thể loại:zh:Nghề nghiệp 14 390907 2341456 2026-03-31T04:56:09Z Kelly zhrm 58416 Trang mới: “{{auto cat}}” 2341456 wikitext text/x-wiki {{auto cat}} eomzlm5v4j7ond1phrju7cnue91g5qx Thể loại:zh:Mọi người 14 390908 2341457 2026-03-31T04:57:11Z Kelly zhrm 58416 Trang mới: “{{auto cat}}” 2341457 wikitext text/x-wiki {{auto cat}} eomzlm5v4j7ond1phrju7cnue91g5qx fùjiàoshòu 0 390909 2341458 2026-03-31T04:58:00Z Kelly zhrm 58416 Creating forms of tiếng Quan Thoại [[副教授]] ([[WT:ACCEL|Accelerated]]) 2341458 wikitext text/x-wiki =={{langname|cmn}}== ==={{đm|rom}}=== {{cmn-pinyin}} # {{cmn-pinyin of|副教授}} j0v9mmvv3nssuqrdxrrofhqihi9dkvb Thể loại:zh:Công việc 14 390910 2341459 2026-03-31T04:58:41Z Kelly zhrm 58416 Trang mới: “{{auto cat}}” 2341459 wikitext text/x-wiki {{auto cat}} eomzlm5v4j7ond1phrju7cnue91g5qx Thể loại:Từ đánh vần với 秋 tiếng Trung Quốc 14 390911 2341461 2026-03-31T05:38:16Z Kelly zhrm 58416 Trang mới: “{{auto cat}}” 2341461 wikitext text/x-wiki {{auto cat}} eomzlm5v4j7ond1phrju7cnue91g5qx qiūtiān 0 390912 2341462 2026-03-31T05:39:59Z Kelly zhrm 58416 Creating forms of tiếng Quan Thoại [[秋天]] ([[WT:ACCEL|Accelerated]]) 2341462 wikitext text/x-wiki {{also|Qiūtián}} =={{langname|cmn}}== ==={{đm|rom}}=== {{cmn-pinyin}} # {{cmn-pinyin of|秋天}} 5hu9sg36co7azwnc1rdd3e4bhrmsuye bagus 0 390913 2341468 2026-03-31T06:40:30Z Hiyuune 50834 + sas 2341468 wikitext text/x-wiki =={{langname|sas}}== ==={{section|etym}}=== Từ {{inh|sas|poz-pro|*bagus}}. ==={{section|adj}}=== {{head|sas|Tính từ}} # [[đẹp trai|Đẹp trai]]. tg4jwxg6d4oar6vcd5s9fpi3m3nuofr Thể loại:Tính từ tiếng Sasak 14 390914 2341470 2026-03-31T06:41:37Z Hiyuune 50834 Trang mới: “{{auto cat}}” 2341470 wikitext text/x-wiki {{auto cat}} eomzlm5v4j7ond1phrju7cnue91g5qx Thể loại:Mục từ tiếng Sasak 14 390915 2341471 2026-03-31T06:41:52Z Hiyuune 50834 Trang mới: “{{auto cat}}” 2341471 wikitext text/x-wiki {{auto cat}} eomzlm5v4j7ond1phrju7cnue91g5qx Thể loại:Tiếng Sasak 14 390916 2341472 2026-03-31T06:42:20Z Hiyuune 50834 Trang mới: “{{auto cat|Indonesia}}” 2341472 wikitext text/x-wiki {{auto cat|Indonesia}} 01h53yg80fh05kvird2xxpz90w4io83 akah 0 390917 2341473 2026-03-31T06:45:16Z Hiyuune 50834 + sas 2341473 wikitext text/x-wiki =={{langname|sas}}== ==={{section|alt}}=== * {{alter|sas|akar}} ==={{section|etym}}=== Từ {{inh|sas|poz-pro|*wakaʀ}}. ==={{section|n}}=== {{head|sas|Danh từ}} # [[rễ|Rễ]] [[cây]]. ==={{section|ref}}=== * {{R:map:ACD|wakaR}} 7oad4s81j4m6sj5oi2z8rkm941jp1n2 Thể loại:Danh từ tiếng Sasak 14 390918 2341474 2026-03-31T06:45:26Z Hiyuune 50834 Trang mới: “{{auto cat}}” 2341474 wikitext text/x-wiki {{auto cat}} eomzlm5v4j7ond1phrju7cnue91g5qx Thể loại:Từ kế thừa từ tiếng Mã Lai-Đa Đảo nguyên thủy tiếng Sasak 14 390919 2341475 2026-03-31T06:45:55Z Hiyuune 50834 Trang mới: “{{auto cat}}” 2341475 wikitext text/x-wiki {{auto cat}} eomzlm5v4j7ond1phrju7cnue91g5qx Thể loại:Từ kế thừa từ tiếng Mã Lai-Đa Đảo nguyên thủy theo ngôn ngữ 14 390920 2341476 2026-03-31T06:47:22Z Hiyuune 50834 Trang mới: “{{auto cat}}” 2341476 wikitext text/x-wiki {{auto cat}} eomzlm5v4j7ond1phrju7cnue91g5qx Thể loại:Từ dẫn xuất từ tiếng Mã Lai-Đa Đảo nguyên thủy theo ngôn ngữ 14 390921 2341477 2026-03-31T06:48:29Z Hiyuune 50834 Trang mới: “{{auto cat}}” 2341477 wikitext text/x-wiki {{auto cat}} eomzlm5v4j7ond1phrju7cnue91g5qx a la hán 0 390922 2341485 2026-03-31T07:14:20Z Hiyuune 50834 Hiyuune đã đổi [[a la hán]] thành [[A-la-hán]] 2341485 wikitext text/x-wiki #đổi [[A-la-hán]] 3pqtusdk0q5s04yj8rp0d1ouqo5czf5 开悟 0 390923 2341491 2026-03-31T07:20:35Z Hiyuune 50834 Trang mới: “=={{langname|zh}}== {{zh-see|開悟}}” 2341491 wikitext text/x-wiki =={{langname|zh}}== {{zh-see|開悟}} 43jfms4rwriu6f4onw3l5suzum2f9ty 語學學校 0 390924 2341492 2026-03-31T07:23:34Z WhoAlone 40420 Trang mới: “=={{langname|ja}}== {{ja-see|語学学校}}” 2341492 wikitext text/x-wiki =={{langname|ja}}== {{ja-see|語学学校}} tl9he99fkgq7fz14i0eks0jx43hc54t きんしんさうかん 0 390925 2341493 2026-03-31T07:24:49Z WhoAlone 40420 Trang mới: “=={{langname|ja}}== {{ja-see|近親相姦}}” 2341493 wikitext text/x-wiki =={{langname|ja}}== {{ja-see|近親相姦}} p3mxls98jbjc6anq3cw9buwrshli188 きんしんそうかん 0 390926 2341494 2026-03-31T07:24:55Z WhoAlone 40420 Trang mới: “=={{langname|ja}}== {{ja-see|近親相姦}}” 2341494 wikitext text/x-wiki =={{langname|ja}}== {{ja-see|近親相姦}} p3mxls98jbjc6anq3cw9buwrshli188 かじん 0 390927 2341495 2026-03-31T07:25:37Z WhoAlone 40420 Trang mới: “=={{langname|ja}}== {{ja-see|佳人|家人|歌人|華人|火神}}” 2341495 wikitext text/x-wiki =={{langname|ja}}== {{ja-see|佳人|家人|歌人|華人|火神}} 7p04278by8an70b3n1wuzit109jlufo 华人 0 390928 2341497 2026-03-31T07:26:53Z WhoAlone 40420 Trang mới: “{{also|華人}} =={{langname|zh}}== {{zh-see|華人}}” 2341497 wikitext text/x-wiki {{also|華人}} =={{langname|zh}}== {{zh-see|華人}} 2frpvz4szmf8sdezo4ggpqac1d87ds1 かけら 0 390929 2341498 2026-03-31T07:27:40Z WhoAlone 40420 Trang mới: “=={{langname|ja}}== {{ja-see|欠片}}” 2341498 wikitext text/x-wiki =={{langname|ja}}== {{ja-see|欠片}} m3o6dascu7f5cjl0ro168bwt3rm6oxn 缺片 0 390930 2341499 2026-03-31T07:27:45Z WhoAlone 40420 Trang mới: “=={{langname|ja}}== {{ja-see|欠片}}” 2341499 wikitext text/x-wiki =={{langname|ja}}== {{ja-see|欠片}} m3o6dascu7f5cjl0ro168bwt3rm6oxn 欠けら 0 390931 2341500 2026-03-31T07:27:58Z WhoAlone 40420 Trang mới: “=={{langname|ja}}== {{ja-kanjitab|か|sort=かけら}} {{ja-see|欠片}}” 2341500 wikitext text/x-wiki =={{langname|ja}}== {{ja-kanjitab|か|sort=かけら}} {{ja-see|欠片}} p4fuxup5mb593ln586a8bnl4lv66tbf 缺けら 0 390932 2341501 2026-03-31T07:28:19Z WhoAlone 40420 Trang mới: “=={{langname|ja}}== {{ja-see|欠けら}}” 2341501 wikitext text/x-wiki =={{langname|ja}}== {{ja-see|欠けら}} 5m3m8wc8tuke4fyas2cwd62722ztqb9 こうかいぷろきし 0 390933 2341502 2026-03-31T07:29:19Z WhoAlone 40420 Trang mới: “=={{langname|ja}}== {{ja-see|公開プロキシ}}” 2341502 wikitext text/x-wiki =={{langname|ja}}== {{ja-see|公開プロキシ}} oxozbpacg62lybfnk0oya0pw82qjucw 金𫞂日 0 390934 2341504 2026-03-31T07:30:36Z WhoAlone 40420 Trang mới: “=={{langname|ja}}== {{ja-kanjitab|きん|よう|ひ|k3=び|r=y|y=o2,k}} {{ja-see|金曜日}}” 2341504 wikitext text/x-wiki =={{langname|ja}}== {{ja-kanjitab|きん|よう|ひ|k3=び|r=y|y=o2,k}} {{ja-see|金曜日}} mf3pxetpw6wvk1t13c0eni2b94b1exy けふくわい 0 390935 2341505 2026-03-31T07:31:11Z WhoAlone 40420 Trang mới: “=={{langname|ja}}== {{ja-see|協会}}” 2341505 wikitext text/x-wiki =={{langname|ja}}== {{ja-see|協会}} egzb39unzsx32l2tp8m8mircfqe5kmn かそうマシン 0 390936 2341507 2026-03-31T07:32:38Z WhoAlone 40420 Trang mới: “=={{langname|ja}}== {{ja-see|仮想マシン}}” 2341507 wikitext text/x-wiki =={{langname|ja}}== {{ja-see|仮想マシン}} 8q49uyus81eyjx9fi4je7ygg26d53bl 假想マシン 0 390937 2341508 2026-03-31T07:32:41Z WhoAlone 40420 Trang mới: “=={{langname|ja}}== {{ja-see|仮想マシン}}” 2341508 wikitext text/x-wiki =={{langname|ja}}== {{ja-see|仮想マシン}} 8q49uyus81eyjx9fi4je7ygg26d53bl 自働化 0 390938 2341509 2026-03-31T07:33:52Z WhoAlone 40420 Trang mới: “=={{langname|ja}}== {{ja-kanjitab|じ|どう|か|yomi=o}} {{ja-see|自動化}}” 2341509 wikitext text/x-wiki =={{langname|ja}}== {{ja-kanjitab|じ|どう|か|yomi=o}} {{ja-see|自動化}} 25dhvi1gpm9e4wdn2n4f82ami0b63no じどうか 0 390939 2341510 2026-03-31T07:34:25Z WhoAlone 40420 Trang mới: “=={{langname|ja}}== {{ja-see|自動化}}” 2341510 wikitext text/x-wiki =={{langname|ja}}== {{ja-see|自動化}} l6s424wzeicfmotrxmuirkprozf1cp3 じどうくわ 0 390940 2341511 2026-03-31T07:34:29Z WhoAlone 40420 Trang mới: “=={{langname|ja}}== {{ja-see|自動化}}” 2341511 wikitext text/x-wiki =={{langname|ja}}== {{ja-see|自動化}} l6s424wzeicfmotrxmuirkprozf1cp3 げんまいパン 0 390941 2341512 2026-03-31T07:35:25Z WhoAlone 40420 Trang mới: “=={{langname|ja}}== {{ja-see|玄米パン}}” 2341512 wikitext text/x-wiki =={{langname|ja}}== {{ja-see|玄米パン}} i0qg01rxyfv3lcbdaflg6lpgc0oxbt7 かし 0 390942 2341513 2026-03-31T07:36:22Z WhoAlone 40420 Trang mới: “=={{langname|ja}}== {{ja-see|花糸|貸し|菓子|歌詞|下歯|仮死|樫|カシ|可視|華氏|瑕疵|歌誌|下賜|下肢|下士|戕牁|訶子}}” 2341513 wikitext text/x-wiki =={{langname|ja}}== {{ja-see|花糸|貸し|菓子|歌詞|下歯|仮死|樫|カシ|可視|華氏|瑕疵|歌誌|下賜|下肢|下士|戕牁|訶子}} 84hglfy506jqcx2yfyf1p69ednh4l9o 牫牱 0 390943 2341514 2026-03-31T07:36:42Z WhoAlone 40420 Trang mới: “=={{langname|ja}}== {{ja-see|戕牁}}” 2341514 wikitext text/x-wiki =={{langname|ja}}== {{ja-see|戕牁}} 8m31syl2dyt1yhqs3k9bgf82pvtx1tq がくしき 0 390944 2341515 2026-03-31T07:37:50Z WhoAlone 40420 Trang mới: “=={{langname|ja}}== {{ja-see|学識}}” 2341515 wikitext text/x-wiki =={{langname|ja}}== {{ja-see|学識}} 9jl52cb6svxfqrw4hn2wv1c46psmks1 かき冰 0 390945 2341517 2026-03-31T07:38:53Z WhoAlone 40420 Trang mới: “=={{langname|ja}}== {{ja-see|かき氷}}” 2341517 wikitext text/x-wiki =={{langname|ja}}== {{ja-see|かき氷}} mm9ehd1u6gszb9vdjzrdfamcncpupt6 かきごおり 0 390946 2341518 2026-03-31T07:38:56Z WhoAlone 40420 Trang mới: “=={{langname|ja}}== {{ja-see|かき氷}}” 2341518 wikitext text/x-wiki =={{langname|ja}}== {{ja-see|かき氷}} mm9ehd1u6gszb9vdjzrdfamcncpupt6 かきごほり 0 390947 2341519 2026-03-31T07:38:59Z WhoAlone 40420 Trang mới: “=={{langname|ja}}== {{ja-see|かき氷}}” 2341519 wikitext text/x-wiki =={{langname|ja}}== {{ja-see|かき氷}} mm9ehd1u6gszb9vdjzrdfamcncpupt6 企鹅 0 390948 2341520 2026-03-31T07:39:45Z WhoAlone 40420 Trang mới: “{{also|企鵝}} =={{langname|ja}}== {{zh-see|企鵝}}” 2341520 wikitext text/x-wiki {{also|企鵝}} =={{langname|ja}}== {{zh-see|企鵝}} dqc115z0e9e7xe67pbhl6o89jp80xbi 寬骨 0 390949 2341521 2026-03-31T07:40:54Z WhoAlone 40420 Trang mới: “=={{langname|ja}}== {{ja-see|寛骨}}” 2341521 wikitext text/x-wiki =={{langname|ja}}== {{ja-see|寛骨}} d0w9bntq67xwzp3egshv5w80x1fe2ow かんこつ 0 390950 2341522 2026-03-31T07:40:56Z WhoAlone 40420 Trang mới: “=={{langname|ja}}== {{ja-see|寛骨}}” 2341522 wikitext text/x-wiki =={{langname|ja}}== {{ja-see|寛骨}} d0w9bntq67xwzp3egshv5w80x1fe2ow くわんこつ 0 390951 2341523 2026-03-31T07:40:59Z WhoAlone 40420 Trang mới: “=={{langname|ja}}== {{ja-see|寛骨}}” 2341523 wikitext text/x-wiki =={{langname|ja}}== {{ja-see|寛骨}} d0w9bntq67xwzp3egshv5w80x1fe2ow 觉悟 0 390952 2341531 2026-03-31T08:12:33Z Hiyuune 50834 + zh 2341531 wikitext text/x-wiki =={{langname|zh}}== {{zh-see|覺悟}} i00um5hr7p2h2rdkdmg0h3r7xzq83j9 けつあつ 0 390953 2341547 2026-03-31T09:26:30Z WhoAlone 40420 Trang mới: “=={{langname|ja}}== {{ja-see|血圧}}” 2341547 wikitext text/x-wiki =={{langname|ja}}== {{ja-see|血圧}} avihmu4ps0zhl7i9kx0klqry0vmdtxb 2341550 2341547 2026-03-31T09:31:28Z WhoAlone 40420 2341550 wikitext text/x-wiki =={{langname|ja}}== {{ja-see|血圧}} [[Thể loại:Mục từ tiếng Nhật]] 5hjj5brf3yg5qp034ldwf9b2wqe9ptw きのこ雲 0 390954 2341551 2026-03-31T09:31:58Z WhoAlone 40420 Trang mới: “=={{langname|ja}}== {{ja-kanjitab|くも|k1=ぐも|r=y|y=k}} {{ja-see|茸雲}}” 2341551 wikitext text/x-wiki =={{langname|ja}}== {{ja-kanjitab|くも|k1=ぐも|r=y|y=k}} {{ja-see|茸雲}} h19bkw40vh1gw30x1nm1ijrtjo5ka4q キノコ雲 0 390955 2341552 2026-03-31T09:32:19Z WhoAlone 40420 Trang mới: “=={{langname|ja}}== {{ja-kanjitab|くも|k1=ぐも|r=y|y=k}} {{ja-see|茸雲}}” 2341552 wikitext text/x-wiki =={{langname|ja}}== {{ja-kanjitab|くも|k1=ぐも|r=y|y=k}} {{ja-see|茸雲}} h19bkw40vh1gw30x1nm1ijrtjo5ka4q がくしふ 0 390956 2341553 2026-03-31T09:33:28Z WhoAlone 40420 Trang mới: “=={{langname|ja}}== {{ja-see|学習}}” 2341553 wikitext text/x-wiki =={{langname|ja}}== {{ja-see|学習}} cbsd0626oyjdafq6same2qaj0sscp16 かくまく 0 390957 2341554 2026-03-31T09:34:00Z WhoAlone 40420 Trang mới: “=={{langname|ja}}== {{ja-see|核膜}}” 2341554 wikitext text/x-wiki =={{langname|ja}}== {{ja-see|核膜}} 39nz1w5ilvz2jmuayccq9r8312ojj7r ぎしゆ 0 390958 2341555 2026-03-31T09:34:28Z WhoAlone 40420 Trang mới: “=={{langname|ja}}== {{ja-see|義手}}” 2341555 wikitext text/x-wiki =={{langname|ja}}== {{ja-see|義手}} 3ue8rcel7pjv80yt0nu00eyvz45s1lf きせい 0 390959 2341557 2026-03-31T09:35:26Z WhoAlone 40420 Trang mới: “=={{langname|ja}}== {{ja-see|既成|既済|帰省|奇声|寄生|気勢|希世|奇正|季世|祈誓|祈請|既製|棋聖|機制}}” 2341557 wikitext text/x-wiki =={{langname|ja}}== {{ja-see|既成|既済|帰省|奇声|寄生|気勢|希世|奇正|季世|祈誓|祈請|既製|棋聖|機制}} kf1u6dlcxi4bjpr1nh5k4grqnu2scfn ぐわいがふ 0 390960 2341558 2026-03-31T09:36:01Z WhoAlone 40420 Trang mới: “=={{langname|ja}}== {{ja-see|外合}}” 2341558 wikitext text/x-wiki =={{langname|ja}}== {{ja-see|外合}} agcsbzwx7irvwhftc8yt1q6atcsc23i けい 0 390961 2341559 2026-03-31T09:37:17Z WhoAlone 40420 Trang mới: “{{also|げい|Phụ lục:Biến thể của "kei"}} =={{langname|ja}}== {{ja-see|兄|刑|圭|形|恵|啓|京|珪|系|計|蛍|慧|軽|景|桂|経|敬|怪異|圣|卿|径|罫|奎|磬|頃|褻居|契}}” 2341559 wikitext text/x-wiki {{also|げい|Phụ lục:Biến thể của "kei"}} =={{langname|ja}}== {{ja-see|兄|刑|圭|形|恵|啓|京|珪|系|計|蛍|慧|軽|景|桂|経|敬|怪異|圣|卿|径|罫|奎|磬|頃|褻居|契}} abw7zpggb5cutndm7e805vflo18l5j2 2341561 2341559 2026-03-31T09:38:30Z WhoAlone 40420 2341561 wikitext text/x-wiki {{also|げい|Phụ lục:Biến thể của "kei"}} =={{langname|ja}}== {{ja-see|慶|兄|刑|圭|形|恵|啓|京|珪|系|計|蛍|慧|軽|景|桂|経|敬|怪異|圣|卿|径|罫|奎|磬|頃|褻居|契}} e680vyf51g3av0090pck7ime1yt6fpm 顯彰 0 390962 2341562 2026-03-31T09:42:40Z WhoAlone 40420 Trang mới: “{{also|顕彰}} =={{langname|ja}}== {{ja-kanjitab|けん|しょう|yomi=on}} {{ja-gv|顕彰}} =={{langname|ko}}== {{ko-hanjatab}} ==={{ĐM|noun}}=== {{ko-noun|hangeul=현창}} # {{hanja form of|현창|}}” 2341562 wikitext text/x-wiki {{also|顕彰}} =={{langname|ja}}== {{ja-kanjitab|けん|しょう|yomi=on}} {{ja-gv|顕彰}} =={{langname|ko}}== {{ko-hanjatab}} ==={{ĐM|noun}}=== {{ko-noun|hangeul=현창}} # {{hanja form of|현창|}} 8guxlwlaeh5x8xa5o4poo9sbp88r41p 현창 0 390963 2341563 2026-03-31T09:43:57Z WhoAlone 40420 Trang mới: “=={{langname|ko}}== ==={{ĐM|etym}}=== {{ko-etym-Sino|舷窓}}. ==={{ĐM|pron}}=== {{ko-ipa}} ==={{ĐM|noun}}=== {{ko-noun|hanja=舷窓}} # [[cửa sổ]] [[tròn]] trên [[tàu thủy]]. ===={{ĐM|see also}}==== * {{ko-l|창|窓|cửa sổ}} {{C|ko|Hàng hải}}” 2341563 wikitext text/x-wiki =={{langname|ko}}== ==={{ĐM|etym}}=== {{ko-etym-Sino|舷窓}}. ==={{ĐM|pron}}=== {{ko-ipa}} ==={{ĐM|noun}}=== {{ko-noun|hanja=舷窓}} # [[cửa sổ]] [[tròn]] trên [[tàu thủy]]. ===={{ĐM|see also}}==== * {{ko-l|창|窓|cửa sổ}} {{C|ko|Hàng hải}} ihegx562lh72fpll8u24m45303ge5hh けんしょう 0 390964 2341564 2026-03-31T09:44:47Z WhoAlone 40420 Trang mới: “{{also|けんじょう|げんしょう|げんじょう}} =={{langname|ja}}== {{ja-see-kango|見性|見証|肩章|兼掌|健勝|検証|腱鞘|憲章|賢相|賢将|嶮峭|謙称|顕正|顕証|顕象|顕彰|顕賞|懸賞}}” 2341564 wikitext text/x-wiki {{also|けんじょう|げんしょう|げんじょう}} =={{langname|ja}}== {{ja-see-kango|見性|見証|肩章|兼掌|健勝|検証|腱鞘|憲章|賢相|賢将|嶮峭|謙称|顕正|顕証|顕象|顕彰|顕賞|懸賞}} 92y1cbkpyntocxngnddmi3d2sx9ug41 けんしやう 0 390965 2341565 2026-03-31T09:45:10Z WhoAlone 40420 Trang mới: “{{also|けんじやう|げんしやう|げんじやう}} =={{langname|ja}}== {{ja-see-kango|見性|肩章|兼掌|憲章|賢相|賢将|顕正|顕象|顕彰|顕賞|懸賞}}” 2341565 wikitext text/x-wiki {{also|けんじやう|げんしやう|げんじやう}} =={{langname|ja}}== {{ja-see-kango|見性|肩章|兼掌|憲章|賢相|賢将|顕正|顕象|顕彰|顕賞|懸賞}} 6m1xmr5mjx2kn6xn6drm0zq2m19tkk1 硏鑽 0 390966 2341566 2026-03-31T09:45:47Z WhoAlone 40420 Trang mới: “=={{langname|ja}}== {{ja-see|研鑽}}” 2341566 wikitext text/x-wiki =={{langname|ja}}== {{ja-see|研鑽}} 6sexw3s8xekbyli84gfnwtd052xefc4 けんさん 0 390967 2341567 2026-03-31T09:45:50Z WhoAlone 40420 Trang mới: “=={{langname|ja}}== {{ja-see|研鑽}}” 2341567 wikitext text/x-wiki =={{langname|ja}}== {{ja-see|研鑽}} 6sexw3s8xekbyli84gfnwtd052xefc4 げんいん 0 390968 2341568 2026-03-31T09:47:11Z WhoAlone 40420 Trang mới: “=={{langname|ja}}== {{ja-see|原因}}” 2341568 wikitext text/x-wiki =={{langname|ja}}== {{ja-see|原因}} 7u1w9rz0u1znwak3n4a3f5yatueobr7