Wiktionary
viwiktionary
https://vi.wiktionary.org/wiki/Wiktionary:Trang_Ch%C3%ADnh
MediaWiki 1.47.0-wmf.23
case-sensitive
Phương tiện
Đặc biệt
Thảo luận
Thành viên
Thảo luận Thành viên
Wiktionary
Thảo luận Wiktionary
Tập tin
Thảo luận Tập tin
MediaWiki
Thảo luận MediaWiki
Bản mẫu
Thảo luận Bản mẫu
Trợ giúp
Thảo luận Trợ giúp
Thể loại
Thảo luận Thể loại
Phụ lục
Thảo luận Phụ lục
TimedText
TimedText talk
Mô đun
Thảo luận Mô đun
Sự kiện
Thảo luận Sự kiện
astrobiology
0
7784
2569443
2372021
2026-10-10T08:05:33Z
Hiyuune
50834
2569443
wikitext
text/x-wiki
=={{langname|en}}==
==={{section|etym}}===
{{ety|en|:af|astro-|biology|text=+|tree=1}}
==={{section|pron}}===
* {{audio|en|LL-Q1860 (eng)-Flame, not lame-astrobiology.wav|a=US}}
==={{section|n}}===
{{en-noun|-}}
# [[sinh vật học|Sinh vật học]] [[vũ trụ]], [[sinh học]] [[thiên văn]].
===={{section|rel}}====
{{col|en
|astronomy
|astrophysics
|astrovirology
}}
==={{section|ref}}===
* {{R:FVDP|db=ev}}
kwe0apqivitrp41vaenvq5jbf006phl
окачивать
0
89734
2569421
2552297
2026-10-10T03:43:57Z
Hiyuune
50834
2569421
wikitext
text/x-wiki
=={{langname|ru}}==
==={{section|alt}}===
* {{alt|ru|ока́тывать}}
==={{section|etym}}===
{{af|ru|окати́ть|-ивать}}
==={{section|pron}}===
* {{ru-IPA|ока́чивать}}
==={{section|v}}===
{{ru-verb|ока́чивать|impf|pf=окати́ть}}
# [[dội|Dội]], [[xối]], [[tưới]].
===={{section|forms}}====
{{ru-conj|impf|1a|ока́чивать}}
===={{section|rel}}====
{{col|ru
|кати́ть<g:impf>,покати́ть<g:pf>
|кати́ться<g:impf>,покати́ться<g:pf>
|ката́ть<g:impf>,поката́ть<g:pf>,вы́катать<g:pf>
|ката́ться<g:impf>,поката́ться<g:pf>
|като́к
|кату́шка
|ката́лка
}}
==={{section|ref}}===
* {{R:FVDP|db=rv}}
jheu9ty6s3rg7wxof02c3t4tj1o12dl
thiết quân luật
0
94627
2569395
1928891
2026-10-09T15:40:23Z
TienMinh-mun6xnChing
57893
/* */
2569395
wikitext
text/x-wiki
{{-vie-}}
{{-info-}}
{{-pron-}}
{{vie-pron|thiết|quân|luật}}
{{-noun-}}
{{pn}}
# Lệnh [[áp đặt]] [[kiểm soát]] [[quân sự]] ban hành bởi [[chính phủ]] trong [[tình thế]] [[khẩn cấp]] nhằm thay thế [[chính quyền]] [[dân sự]] trong việc [[quản lý]] vùng được [[chỉ định]].
{{-trans-}}
{{trans-top|Lệnh áp đặt quân đội kiểm soát}}
{{catname|Danh từ|tiếng Việt}}
j55m59c59452u9benmlq4jw7yyg1ozj
2569397
2569395
2026-10-09T15:41:42Z
TienMinh-mun6xnChing
57893
/* */ có thể là emergency martial law
2569397
wikitext
text/x-wiki
{{-vie-}}
{{-info-}}
{{-pron-}}
{{vie-pron|thiết|quân|luật}}
{{-noun-}}
{{pn}}
# Lệnh [[áp đặt]] [[kiểm soát]] [[quân sự]] ban hành bởi [[chính phủ]] trong [[tình thế]] [[khẩn cấp]] nhằm thay thế [[chính quyền]] [[dân sự]] trong việc [[quản lý]] vùng được [[chỉ định]].
{{-trans-}}
{{trans-top|Lệnh áp đặt kiểm soát quân sự}}
* {{eng}}: [[martial law]]
{{trans-bottom}}
{{catname|Danh từ|tiếng Việt}}
l4afw6rbdh4l73q44eg26gnehfhdfuh
2569405
2569397
2026-10-09T15:50:55Z
Hiyuune
50834
2569405
wikitext
text/x-wiki
=={{langname|vi}}==
{{wp}}
==={{section|etym}}===
{{vi-etym-sino|設||軍律}}.
==={{section|pron}}===
{{vi-pron}}
==={{section|n}}===
{{vi-noun}}
# {{lb|vi|politics}} Lệnh [[áp đặt]] [[kiểm soát]] [[quân sự]] ban hành bởi [[chính phủ]] trong [[tình thế]] [[khẩn cấp]] nhằm thay thế [[chính quyền]] [[dân sự]] trong việc [[quản lý]] vùng được [[chỉ định]].
===={{section|trans}}====
{{trans-top|lệnh áp đặt kiểm soát quân sự}}
* {{langname|ar}}: {{t|ar|حُكْم عُرْفِيّ|m}}
* {{langname|en}}: {{t+|en|martial law}}
* {{langname|eu}}: {{t|eu|gerra-lege|s}}
* {{langname|bg}}: {{t|bg|вое́нно положе́ние|n}}
* {{langname|ca}}: {{t|ca|llei marcial|f}}
* {{langname|he}}: {{t|he|מקטר צבאי|tr=mishtar tsva'i}}, {{t|he|ממשל צבאי}}
* {{langname|et}}: {{t|et|sõjaseisukord}}, {{t|et|kaitseseisukord}}
* {{langname|nl}}: {{t+|nl|krijgswet|f}}, {{t|nl|staat van beleg|m}}
* {{langname|hu}}: {{t+|hu|statárium}}, {{t|hu|[[rögtönítélő]] [[bíráskodás]]}}, {{t+|hu|rögtönbíráskodás}}
* {{langname|is}}: {{t|is|herlög|n-p}}
* {{langname|io}}: {{t|io|militala judicio}}
* {{langname|id}}: {{t|id|darurat militer}}
* {{langname|kk}}: {{t|kk|соғыс күйі}}, {{t|kk|соғыс жағдайы}}
* {{langname|km}}: {{t|km|យុទ្ធនីតិ}}, {{t|km|អយ្យការសឹក}}, {{t|km|ច្បាប់អាជ្ញាសឹក}}
* {{langname|kum}}: {{t|kum|дав гьал}}
* {{langname|ky}}: {{t|ky|согуштук абал}}
* {{langname|la}}: {{t|la|lēx mīlitāris|f}}
* {{langname|my}}: {{t+|my|စစ်အုပ်ချုပ်ရေးအမိန့်}}
* {{langname|ru}}: {{t+|ru|вое́нное положе́ние|n}}
* {{langname|ja}}: {{t+|ja|戒厳|tr=かいげん, kaigen}}, {{t+|ja|戒厳令|tr=かいげんれい, kaigenrei}}
* {{langname|fi}}: {{t|fi|poikkeustila}}, {{t|fi|sotatilalaki}}
* {{langname|fr}}: {{t+|fr|loi martiale|f}}
* {{langname|eo}}: {{t|eo|militjuro}}
* {{langname|tl}}: {{t|tl|batas militar}}
* {{langname|tg}}: {{t|tg|ҳолати ҳарбӣ}}, {{t|tg|вазъияти низомӣ}}
* {{langname|ko}}: {{t+|ko|계엄(戒嚴)}}, {{t|ko|계엄령(戒嚴令)}}
* {{langname|zh}}:
*: {{langname|cmn}}: {{t+|cmn|戒嚴}}, {{t+|cmn|戒嚴令}}
*: {{langname|yue}}: {{t|yue|戒嚴}}, {{t|yue|戒嚴令}}
* {{langname|it}}: {{t|it|legge marziale|f}}
{{trans-bottom}}
ctges42c4m9zjaulej0g82ipdn931iv
2569417
2569405
2026-10-10T02:44:03Z
Hiyuune
50834
2569417
wikitext
text/x-wiki
=={{langname|vi}}==
{{wp}}
==={{section|etym}}===
{{vi-etym-sino|設||軍律}}.
==={{section|pron}}===
{{vi-pron}}
==={{section|n}}===
{{vi-noun}}
# {{lb|vi|politics}} Lệnh [[áp đặt]] [[kiểm soát]] [[quân sự]] ban hành bởi [[chính phủ]] trong [[tình thế]] [[khẩn cấp]] nhằm thay thế [[chính quyền]] [[dân sự]] trong việc [[quản lý]] vùng được [[chỉ định]].
===={{section|trans}}====
{{trans-top|lệnh áp đặt kiểm soát quân sự}}
* {{langname|ar}}: {{t|ar|حُكْم عُرْفِيّ|m}}
* {{langname|af}}: {{t|af|krygswet}}
* {{langname|sq}}: {{t|sq|ligj ushtarak|m}}
* {{langname|en}}: {{t+|en|martial law}}
* {{langname|hy}}: {{t+|hy|ռազմական դրություն}}
* {{langname|ast}}: {{t|ast|llei marcial|f}}
* {{langname|az}}: {{t|az|hərbi vəziyyət}}
* {{langname|pl}}: {{t+|pl|stan wojenny|m}}
* {{langname|fa}}: {{t+|fa|حکومت نظامی|tr=hokumat-e nezâmi}}
* {{langname|ba}}: {{t|ba|хәрби хәл}}
* {{langname|eu}}: {{t|eu|gerra-lege|s}}
* {{langname|be}}: {{t|be|вае́ннае стано́вішча|n}}
* {{langname|bn}}: {{t|bn|সামরিক শাসন}}
* {{langname|pt}}: {{t+|pt|lei marcial|f}}
* {{langname|bg}}: {{t|bg|вое́нно положе́ние|n}}
* {{langname|ca}}: {{t|ca|llei marcial|f}}
* {{langname|he}}: {{t|he|מקטר צבאי|tr=mishtar tsva'i}}, {{t|he|ממשל צבאי}}
* {{langname|da}}: {{t|da|undtagelsestilstand|c}}, {{t|da|krigsretstilstand|c}}, {{t|da|krigsret|c}}
* {{langname|de}}: {{t+|de|Kriegsrecht|n}}, {{t+|de|Ausnahmezustand|m}}
* {{langname|et}}: {{t|et|sõjaseisukord}}, {{t|et|kaitseseisukord}}
* {{langname|gl}}: {{t+|gl|lei marcial|f}}
* {{langname|ka}}: {{t|ka|სამხედრო მდგომარეობა}}, {{t|ka|სამხედრო კანონი}}, {{t|ka|სამხედრო სამართალი}}
* {{langname|nl}}: {{t+|nl|krijgswet|f}}, {{t|nl|staat van beleg|m}}
* {{langname|hi}}: {{t|hi|सैनिक क़ानून|m}}
* {{langname|hu}}: {{t+|hu|statárium}}, {{t|hu|[[rögtönítélő]] [[bíráskodás]]}}, {{t+|hu|rögtönbíráskodás}}
* {{langname|el}}: {{t+|el|στρατιωτικός νόμος|m}}
* {{langname|is}}: {{t|is|herlög|n-p}}
* {{langname|io}}: {{t|io|militala judicio}}
* {{langname|id}}: {{t|id|darurat militer}}
* {{langname|kk}}: {{t|kk|соғыс күйі}}, {{t|kk|соғыс жағдайы}}
* {{langname|km}}: {{t|km|យុទ្ធនីតិ}}, {{t|km|អយ្យការសឹក}}, {{t|km|ច្បាប់អាជ្ញាសឹក}}
* {{langname|kum}}: {{t|kum|дав гьал}}
* {{langname|ky}}: {{t|ky|согуштук абал}}
* {{langname|la}}: {{t|la|lēx mīlitāris|f}}
* {{langname|lv}}: {{t|lv|kara stāvoklis|m}}
* {{langname|lt}}: {{t|lt|karo padėtis|f}}
* {{langname|mk}}: {{t|mk|воена состојба|f}}
* {{langname|ms}}: {{t+|ms|undang-undang tentera}}, {{t|ms|pemerintahan tentera}}
* {{langname|my}}: {{t+|my|စစ်အုပ်ချုပ်ရေးအမိန့်}}
* {{langname|no}}:
*: {{langname|nb}}: {{t+|nb|unntakstilstand|m}}, {{t|nb|militær unntakstilstand|m}}, {{t|nb|krigsrett|m}}
* {{langname|ru}}: {{t+|ru|вое́нное положе́ние|n}}
* {{langname|ja}}: {{t+|ja|戒厳|tr=かいげん, kaigen}}, {{t+|ja|戒厳令|tr=かいげんれい, kaigenrei}}
* {{langname|fi}}: {{t|fi|poikkeustila}}, {{t|fi|sotatilalaki}}
* {{langname|fr}}: {{t+|fr|loi martiale|f}}
* {{langname|eo}}: {{t|eo|militjuro}}
* {{langname|ro}}: {{t+|ro|lege marțială|f}}, {{t+|ro|stare de război|f}}
* {{langname|cs}}: {{t+|cs|stanné právo|n}}
* {{langname|sh}}:
*: Kirin: {{t|sh|ратно законодавство|n}}
*: Latinh: {{t|sh|ratno zakonodavstvo|n}}
* {{langname|sk}}: {{t|sk|stanné právo|n}}, {{t|sk|štatárium|n}}
* {{langname|sl}}: {{t|sl|vojno stanje|n}}
* {{langname|es}}: {{t|es|ley marcial|f}}, {{t|es|estado de excepción|m}}
* {{langname|tl}}: {{t|tl|batas militar}}
* {{langname|tg}}: {{t|tg|ҳолати ҳарбӣ}}, {{t|tg|вазъияти низомӣ}}
* {{langname|th}}: {{t+|th|กฎอัยการศึก}}
* {{langname|tr}}: {{t+|tr|sıkıyönetim}}
* {{langname|sv}}: {{t|sv|krigslagar|c-p}}, {{t+|sv|krigsrätt|c}}, {{t+|sv|krigstillstånd|n}}, {{t+|sv|undantagstillstånd|n}}
* {{langname|ko}}: {{t+|ko|계엄(戒嚴)}}, {{t|ko|계엄령(戒嚴令)}}
* {{langname|zh}}:
*: {{langname|cmn}}: {{t+|cmn|戒嚴}}, {{t+|cmn|戒嚴令}}
*: {{langname|yue}}: {{t|yue|戒嚴}}, {{t|yue|戒嚴令}}
* {{langname|uk}}: {{t|uk|воє́нний ста́н|m}}
* {{langname|ur}}: {{t|ur|فوجی قانون|m|tr=favjī qānūn}}
* {{langname|uz}}: {{t|uz|harbiy holat}}
* {{langname|it}}: {{t|it|legge marziale|f}}
{{trans-bottom}}
adhussvgjlajjg5mj9xakze72b1pdn8
astrobotany
0
112903
2569445
2053640
2026-10-10T08:07:09Z
Hiyuune
50834
2569445
wikitext
text/x-wiki
=={{langname|en}}==
==={{section|etym}}===
Từ {{af|en|astro-|botany}}.
==={{section|pron}}===
* {{IPA|en|/ˌæstɹəˈbɒtənɪ/}}
* {{hyphenation|en|as|tro|bo|tany}}
==={{section|n}}===
{{en-noun|-}}
# {{synonym of|en|xenobotany}}
==={{section|ref}}===
* {{R:FVDP|db=ev}}
epq345vofncn0prdlan9yhrmhvgyof1
astrochemistry
0
112907
2569452
2053641
2026-10-10T08:14:27Z
Hiyuune
50834
2569452
wikitext
text/x-wiki
=={{langname|en}}==
{{wp|en:}}
==={{section|etym}}===
{{ety|en|:af|astro-|chemistry|text=+|tree=1}}
==={{section|n}}===
{{en-noun|-}}
# {{lb|en|chemistry|astronomy}} [[hoá học|Hoá học]] [[thiên thể]], hoá học [[thiên văn]].
===={{section|rel}}====
{{col|en|astrochemist}}
==={{section|see}}===
{{col4|en
|chemistry
|cosmochemistry
|xenochemistry
|astrophysics
}}
==={{section|ref}}===
* {{R:FVDP|db=ev}}
8rlpr1lr4dr7nx9t6eipchxadx4xbz0
astrogeology
0
112910
2569457
2053643
2026-10-10T08:29:02Z
Hiyuune
50834
2569457
wikitext
text/x-wiki
=={{langname|en}}==
{{wp|en:}}
==={{section|etym}}===
{{ety|en|:af|astro-|geology|text=+|tree=1}}
==={{section|pron}}===
* {{audio|en|LL-Q1860 (eng)-Flame, not lame-astrogeology.wav|a=US}}
==={{section|n}}===
{{en-noun|-}}
# {{lb|en|astronomy|geology}} [[địa chất học|Địa chất học]] [[vũ trụ]], địa chất học [[thiên văn]].
===={{section|syn}}====
* {{l|en|exogeology}}
===={{section|drv}}====
* {{l|en|astrogeological}}
* {{l|en|astrogeologist}}
==={{section|ref}}===
* {{R:FVDP|db=ev}}
{{cln|en|Từ có hậu tố -ology}}
{{C|en|Khoa học}}
fv93tz9szzadmx3ompedl5k832udq6c
astroid
0
112912
2569460
2536372
2026-10-10T08:34:14Z
Hiyuune
50834
2569460
wikitext
text/x-wiki
=={{langname|en}}==
[[Hình:Astroid 2.svg|nhỏ|phải|astroid]]
==={{section|etym}}===
Từ {{der|en|grc|ἄστρον}} + {{m|grc|εἶδος}}.
==={{section|pron}}===
* {{IPA|en|/ˈæstɹɔɪd/}}
* {{audio|en|LL-Q1860 (eng)-Flame, not lame-astroid.wav|a=US}}
* {{homophone|en|asteroid|qq1=one pronunciation}}
==={{section|n}}===
{{en-noun}}
# {{lb|en|geometry}} Đường [[hình]] [[sao]]; [[hypocycloid]] có bốn [[điểm]] [[lùi]].
===={{section|usage}}====
Đừng nhầm với {{m|en|asteroid}}.
===={{section|rel}}====
* {{l|en|asteroid}}
* {{l|en|astronomy}}
===={{section|see}}====
* {{l|en|asteroid}}
==={{section|ref}}===
* {{R:FVDP|db=ev}}
===={{section|further}}====
* {{R:Century}}
==={{section|ana}}===
* {{anagrams|en|a=adiorst|Tirados}}
fzc6nrgsd10a2at8idb5grmyqy5oa59
baptismally
0
156766
2569439
2453087
2026-10-10T07:07:36Z
Hiyuune
50834
2569439
wikitext
text/x-wiki
=={{langname|en}}==
==={{section|etym}}===
{{ety|en|:af|baptismal|-ly<id:phó từ>|text=+|tree=1}}
==={{section|adv}}===
{{en-adv|-}}
# Liên quan đến phép [[rửa tội]].
==={{section|ref}}===
* {{R:FVDP|db=ev}}
1z1fvma7dukc8x1e7n9z076z2y3l68g
astrodynamics
0
214698
2569453
2053642
2026-10-10T08:17:46Z
Hiyuune
50834
2569453
wikitext
text/x-wiki
=={{langname|en}}==
==={{section|etym}}===
{{etymon|en|:af|astro-|dynamics|tree=1|text=+}}
==={{section|n}}===
{{en-noun|-}}
# [[động lực học|Động lực học]] [[thiên thể]].
#: {{syn|en|orbital mechanics}}
{{C|en|Ngành du hành vũ trụ|Quỹ đạo}}
ipp7wnm9830agvf51ytw4dbu3edfw6y
2569454
2569453
2026-10-10T08:18:12Z
Hiyuune
50834
2569454
wikitext
text/x-wiki
=={{langname|en}}==
==={{section|etym}}===
{{etymon|en|:af|astro-|dynamics|tree=1|text=+}}
==={{section|n}}===
{{en-noun|-}}
# [[động lực học|Động lực học]] [[thiên thể]].
#: {{syn|en|orbital mechanics}}
{{C|en|Du hành vũ trụ|Quỹ đạo}}
2imq22pj33xupz4bvr3j64sbo1uzffc
瘤胃
0
215748
2569390
1987788
2026-10-09T15:33:49Z
Hiyuune
50834
2569390
wikitext
text/x-wiki
=={{langname|zh}}==
{{zh-forms}}
{{wp|zh:}}
==={{section|pron}}===
{{zh-pron
|m=liúwèi
|cat=n
}}
==={{section|n}}===
{{head|zh|Danh từ}}
# [[dạ cỏ|Dạ cỏ]].
===={{section|coord}}====
* {{zh-l|網胃}}, {{zh-l|蜂巢胃}}, {{zh-l|蜂窩胃}}
* {{zh-l|瓣胃}}, {{zh-l|重瓣胃}}
* {{zh-l|皺胃}}
{{C|zh|Bộ phận}}
llchxwpy5vt0vic8nk1zcji2q1m68r0
whirled
0
227982
2569440
1946702
2026-10-10T07:08:37Z
Hiyuune
50834
2569440
wikitext
text/x-wiki
=={{langname|en}}==
==={{section|pron}}===
* {{IPA|en|/wɜːld/|a=RP}}
* {{IPA|en|/ʍɜːld/|a=non-wine-whine,non-rhotic}}
* {{enPR|(h)wûrld|a=GA}}, {{IPA|en|/(h)wɝld/}}
* {{homophones|en|whorled<aa:UK>|;|world<aa:wine-whine>}}
* {{rhymes|en|ɜː(ɹ)ld|s=1}}
==={{section|n}}===
{{en-noun}}
# {{eye dialect of|en|world}}.
==={{section|v}}===
{{head|en|vf}}
# {{infl of|en|whirl||ed-form}}
mbqmh550ivyj0qadc30fdzfnoej17fj
astroids
0
235999
2569459
2170922
2026-10-10T08:32:06Z
Hiyuune
50834
2569459
wikitext
text/x-wiki
=={{langname|en}}==
==={{section|n}}===
{{head|en|Biến thể hình thái danh từ}}
# {{plural of|en|astroid}}
==={{section|ana}}===
* {{anagrams|en|a=adiorsst|sarodist}}
advxb0z9u33pjfvcxuc48gzfy1soh7o
timescape
0
249942
2569450
2538695
2026-10-10T08:12:45Z
Hiyuune
50834
2569450
wikitext
text/x-wiki
=={{langname|en}}==
==={{section|etym}}===
Từ {{suffix|en|time|scape}}, có lẽ tương tự như từ {{m|en|landscape}}.
===Pronunciation===
* {{IPA|en|/ˈtaɪmskeɪp/|a=RP,GA}}
* {{audio|en|en-au-timescape.ogg|a=AU}}
* {{hyphenation|en|time|scape}}
==={{section|n}}===
{{en-noun}}
# {{lb|en|science fiction}} [[bàn luận|Bàn luận]] tính đa chiều của thời gian.
# [[biến đổi|Biến đổi]] của thời gian mà [[phụ thuộc]] vào [[vị trí]] của [[người quan sát]]; [[hàm]] thời gian biến đổi tùy thuộc vào vị trí của người quan sát; [[hoạt động]] của thời gian [[thay đổi]] tùy thuộc vào vị trí của người quan sát.
==={{section|ana}}===
* {{anagrams|en|a=aceeimpst|empaestic|space-time|spacetime}}
{{C|en|Thời gian|Du hành thời gian}}
54pzv1uw8ljdi1h6lcpw5lv6csdi1t0
2569451
2569450
2026-10-10T08:13:14Z
Hiyuune
50834
/* {{langname|en}} */
2569451
wikitext
text/x-wiki
=={{langname|en}}==
==={{section|etym}}===
Từ {{suffix|en|time|scape}}, có lẽ tương tự như {{m|en|landscape}}.
==={{section|pron}}===
* {{IPA|en|/ˈtaɪmskeɪp/|a=RP,GA}}
* {{audio|en|en-au-timescape.ogg|a=AU}}
* {{hyphenation|en|time|scape}}
==={{section|n}}===
{{en-noun}}
# {{lb|en|science fiction}} [[bàn luận|Bàn luận]] tính đa chiều của thời gian.
# [[biến đổi|Biến đổi]] của thời gian mà [[phụ thuộc]] vào [[vị trí]] của [[người quan sát]]; [[hàm]] thời gian biến đổi tùy thuộc vào vị trí của người quan sát; [[hoạt động]] của thời gian [[thay đổi]] tùy thuộc vào vị trí của người quan sát.
==={{section|ana}}===
* {{anagrams|en|a=aceeimpst|empaestic|space-time|spacetime}}
{{C|en|Thời gian|Du hành thời gian}}
tgx76s1nmwazlbnqygelbjis0oroz2o
eylül
0
257801
2569359
2260009
2026-10-09T12:40:43Z
Ziv
58397
([[c:GR|GR]]) [[File:Eylül.ogg]] → [[File:Tr-eylül.oga]] [[c:COM:FR#FR4|Criterion 4]] · Harmonisation of a fileset
2569359
wikitext
text/x-wiki
{{also|Eylül}}
=={{langname|tr}}==
==={{ĐM|alt}}===
* {{alter|tr|Eylûl}} {{q|cổ xưa}}
==={{ĐM|etym}}===
Từ {{etym-inh|tr|ota|ایلول|tr=eylul}}, từ {{derived|tr|ar|أَيْلُول}}.
==={{ĐM|pron}}===
* {{tr-IPA}}
* {{audio|tr|Tr-eylül.oga}}
==={{ĐM|n}}===
{{tr-noun|ü|ler}}
# [[tháng Chín|Tháng Chín]]
===={{ĐM|decl}}====
{{tr-infl-noun-c|ü|poss=1}}
==={{ĐM|ref}}===
* {{R:ota:Kelekian|ایلول|page=225}}
q8ommgm4mixhqq5o0v9feeyut7bcqdx
Mô đun:it-headword
828
262506
2569428
2362772
2026-10-10T04:02:20Z
Hiyuune
50834
2569428
Scribunto
text/plain
-- This module contains code for Italian headword templates.
-- Templates covered are:
-- * {{it-noun}}, {{it-proper noun}};
-- * {{it-verb}};
-- * {{it-adj}}, {{it-adj-comp}}, {{it-adj-sup}};
-- * {{it-det}};
-- * {{it-art}};
-- * {{it-pron-adj}};
-- * {{it-pp}};
-- * {{it-presp}};
-- * {{it-card-noun}}, {{it-card-adj}}, {{it-card-inv}};
-- * {{it-adv}};
-- * {{it-pos}};
-- * {{it-suffix form}}.
-- See [[Module:it-verb]] for Italian conjugation templates.
local export = {}
local pos_functions = {}
local force_cat = false -- for testing; if true, categories appear in non-mainspace pages
local m_links = require("Module:links")
local m_table = require("Module:table")
local en_utilities_module = "Module:en-utilities"
local headword_module = "Module:headword"
local inflection_utilities_module = "Module:inflection utilities"
local it_verb_module = "Module:it-verb"
local parse_interface_module = "Module:parse interface"
local romut_module = "Module:romance utilities"
local string_utilities_module = "Module:string utilities"
local com = require("Module:it-common")
local lang = require("Module:languages").getByCode("it")
local langname = lang:getCanonicalName()
local m_str_utils = require(string_utilities_module)
local rsubn = m_str_utils.gsub
local rsplit = m_str_utils.split
local u = m_str_utils.char
local usub = m_str_utils.sub
local GR = u(0x0300)
local V = "[aeiou]"
local NV = "[^aeiou]"
local AV = "[àèéìòóù]"
-- version of rsubn() that discards all but the first return value
local function rsub(term, foo, bar)
local retval = rsubn(term, foo, bar)
return retval
end
local function track(page)
require("Module:debug/track")("it-headword/" .. page)
return true
end
local function glossary_link(entry, text)
text = text or entry
return "[[Phụ lục:Từ điển thuật ngữ#" .. entry .. "|" .. text .. "]]"
end
local function check_all_missing(forms, plpos, tracking_categories)
for _, form in ipairs(forms) do
if type(form) == "table" then
form = form.term
end
if form then
local title = mw.title.new(form)
if title and not title.exists then
table.insert(tracking_categories,"Mục từ " .. langname .. " có liên kết đỏ trong dòng tiêu đề")
end
end
end
end
local no_split_apostrophe_words = {
["c'è"] = true,
["c'era"] = true,
["c'erano"] = true,
}
-- The main entry point.
function export.show(frame)
local poscat = frame.args[1]
or error("Part of speech has not been specified. Please pass parameter 1 to the module invocation.")
local parargs = frame:getParent().args
local params = {
["head"] = {list = true},
["id"] = {},
["sort"] = {},
["apoc"] = {type = "boolean"},
["splithyph"] = {type = "boolean"},
["nolinkhead"] = {type = "boolean"},
["json"] = {type = "boolean"},
["pagename"] = {}, -- for testing
}
if pos_functions[poscat] then
for key, val in pairs(pos_functions[poscat].params) do
params[key] = val
end
end
local args = require("Module:parameters").process(parargs, params)
local pagename = args.pagename or mw.loadData("Module:headword/data").pagename
local user_specified_heads = args.head
local heads = user_specified_heads
if args.nolinkhead then
if #heads == 0 then
heads = {pagename}
end
else
local romut = require(romut_module)
local auto_linked_head = romut.add_links_to_multiword_term(pagename, args.splithyph,
no_split_apostrophe_words)
if #heads == 0 then
heads = {auto_linked_head}
else
for i, head in ipairs(heads) do
if head:find("^~") then
head = romut.apply_link_modifiers(auto_linked_head, usub(head, 2))
heads[i] = head
end
if head == auto_linked_head then
track("redundant-head")
end
end
end
end
local data = {
lang = lang,
pos_category = poscat,
categories = {},
heads = heads,
user_specified_heads = user_specified_heads,
no_redundant_head_cat = #user_specified_heads == 0,
genders = {},
inflections = {},
pagename = pagename,
id = args.id,
sort_key = args.sort,
force_cat_output = force_cat,
}
local is_suffix = false
if pagename:find("^%-") and poscat ~= "suffix forms" then
is_suffix = true
data.pos_category = "suffixes"
local singular_poscat = require(en_utilities_module).singularize(poscat)
table.insert(data.categories, langname .. " " .. singular_poscat .. "-forming suffixes")
table.insert(data.inflections, {label = singular_poscat .. "-forming suffix"})
end
local tracking_categories = {}
if pos_functions[poscat] then
pos_functions[poscat].func(args, data, tracking_categories, frame, is_suffix)
end
if args.apoc then
-- Apocopated form of a term; do this after calling pos_functions[], because the function might modify
-- data.pos_category.
local pos = data.pos_category
if not pos:find(" forms") then
-- Apocopated forms are non-lemma forms.
local singular_poscat = require(en_utilities_module).singularize(pos)
data.pos_category = singular_poscat .. " forms"
end
-- If this is a suffix, insert label 'apocopated' after 'FOO-forming suffix', otherwise insert at the beginning.
table.insert(data.inflections, is_suffix and 2 or 1, {label = glossary_link("apocopated")})
end
if args.json then
return require("Module:JSON").toJSON(data)
end
return require(headword_module).full_headword(data)
.. (#tracking_categories > 0 and require("Module:utilities").format_categories(tracking_categories, lang, args.sort, nil, force_cat) or "")
end
local function fetch_qualifiers(qual, existing)
if not qual then
return existing
end
if not existing then
return {qual}
end
local retval = {}
for _, e in ipairs(existing) do
table.insert(retval, e)
end
table.insert(retval, qual)
return retval
end
local function process_terms_with_qualifiers(terms, quals)
local infls = {}
for i, term in ipairs(terms) do
table.insert(infls, {term = term, q = fetch_qualifiers(quals[i])})
end
return infls
end
local function replace_hash_with_lemma(term, lemma)
-- If there is a % sign in the lemma, we have to replace it with %% so it doesn't get interpreted as a capture replace
-- expression.
lemma = lemma:gsub("%%", "%%%%")
-- Assign to a variable to discard second return value.
term = term:gsub("#", lemma)
return term
end
local deriv_params = {
{"dim", glossary_link("diminutive")},
{"aug", glossary_link("augmentative")},
{"pej", glossary_link("pejorative")},
{"derog", glossary_link("derogatory")},
{"end", glossary_link("endearing")},
{"dim_aug", glossary_link("diminutive") .. "-" .. glossary_link("augmentative")},
{"dim_pej", glossary_link("diminutive") .. "-" .. glossary_link("pejorative")},
{"dim_derog", glossary_link("diminutive") .. "-" .. glossary_link("derogatory")},
{"dim_end", glossary_link("diminutive") .. "-" .. glossary_link("endearing")},
{"aug_pej", glossary_link("augmentative") .. "-" .. glossary_link("pejorative")},
{"aug_derog", glossary_link("augmentative") .. "-" .. glossary_link("derogatory")},
{"aug_end", glossary_link("augmentative") .. "-" .. glossary_link("endearing")},
{"end_derog", glossary_link("endearing") .. "-" .. glossary_link("derogatory")},
}
local function insert_deriv_params(params)
local list_spec = {list = true}
for _, deriv_param in ipairs(deriv_params) do
local param, desc = unpack(deriv_param)
params[param] = list_spec
end
end
local param_mods = {
t = {
-- We need to store the <t:...> inline modifier into the "gloss" key of the parsed part, because that is what
-- [[Module:links]] expects.
item_dest = "gloss",
},
gloss = {},
-- no 'tr' or 'ts', doesn't make sense for Italian
g = {
-- We need to store the <g:...> inline modifier into the "genders" key of the parsed part, because that is what
-- [[Module:links]] expects.
item_dest = "genders",
sublist = true,
},
id = {},
alt = {},
q = {type = "qualifier"},
qq = {type = "qualifier"},
lit = {},
pos = {},
-- no 'sc', doesn't make sense for Italian
}
local function parse_term_with_modifiers(paramname, val)
local function generate_obj(term)
local decomp = com.decompose(term)
local lemma = com.remove_non_final_accents(decomp)
if lemma ~= decomp then
term = com.compose("[[" .. lemma .. "|" .. decomp .. "]]")
end
return {term = term}
end
local retval = require(parse_interface_module).parse_inline_modifiers(val, {
paramname = paramname,
param_mods = param_mods,
generate_obj = generate_obj,
splitchar = "[/;,]",
preserve_splitchar = true,
})
for _, obj in ipairs(retval) do
if obj.delimiter == ";" then
obj.separator = "; "
elseif obj.delimiter == "/" then
obj.separator = "/"
-- default to nil for comma
end
end
return retval
end
local function insert_deriv_inflections(data, args, plpos)
for _, deriv_param in ipairs(deriv_params) do
local param, desc = unpack(deriv_param)
if #args[param] > 0 then
local inflection = {label = desc}
for i, term in ipairs(args[param]) do
local parsed_terms = parse_term_with_modifiers(param, term)
for _, parsed_term in ipairs(parsed_terms) do
table.insert(inflection, parsed_term)
end
end
-- These will typically be missing for now so it doesn't help to do this.
-- check_all_missing(inflection, plpos, tracking_categories)
table.insert(data.inflections, inflection)
end
end
end
-----------------------------------------------------------------------------------------
-- Danh từ --
-----------------------------------------------------------------------------------------
local allowed_genders = m_table.listToSet(
{"m", "f", "mf", "mfbysense", "n", "m-p", "f-p", "mf-p", "mfbysense-p", "n-p", "?", "?-p"}
)
local function process_genders(data, genders, g_qual)
for i, g in ipairs(genders) do
if not allowed_genders[g] then
error("Unrecognized gender: " .. g)
end
if g_qual[i] then
table.insert(data.genders, {spec = g, qualifiers = {g_qual[i]}})
else
table.insert(data.genders, g)
end
end
end
local function do_noun(args, data, tracking_categories, pos, is_suffix, is_proper)
local is_plurale_tantum = false
local has_singular = false
if is_suffix then
pos = "suffix"
end
local plpos = pos
data.genders = {}
local saw_m = false
local saw_f = false
local gender_for_default_plural = args[1][1]
process_genders(data, args[1], args.g_qual)
-- Check for specific genders and pluralia tantum.
for _, g in ipairs(args[1]) do
if g:find("-p$") then
is_plurale_tantum = true
else
has_singular = true
if g == "m" or g == "mf" or g == "mfbysense" then
saw_m = true
end
if g == "f" or g == "mf" or g == "mfbysense" then
saw_f = true
end
end
end
if saw_m and saw_f then
gender_for_default_plural = "mf"
end
local lemma = m_links.remove_links(data.heads[1]) -- should always be specified
local function insert_inflection(list, term, accel, qualifiers, genders, no_inv)
if genders then
for _, g in ipairs(genders) do
if g == "m" and not saw_m or g == "f" and not saw_f then
table.insert(data.categories, langname .. " " .. plpos .. " that change gender in the plural")
end
end
end
local infl = {q = qualifiers, accel = accel, genders = genders}
if term == lemma and not no_inv then
infl.label = glossary_link("bất biến")
else
infl.term = term
end
infl.term_for_further_inflection = term
table.insert(list, infl)
end
-- Plural
local plurals = {}
local args_mpl = args.mpl
local args_fpl = args.fpl
local args_pl = args[2]
if is_plurale_tantum and not has_singular then
if #args_pl > 0 then
error("Can't specify plurals of plurale tantum " .. pos)
end
table.insert(data.inflections, {label = glossary_link("plural only")})
elseif args.apoc then
-- apocopated noun
if #args_pl > 0 then
error("Can't specify plurals of apocopated " .. pos)
end
else
if is_plurale_tantum then
-- both singular and plural
table.insert(data.inflections, {label = "sometimes " .. glossary_link("plural only") .. ", in variation"})
end
-- If no plurals, use the default plural unless mpl= or fpl= explicitly given.
if #args_pl == 0 and #args_mpl == 0 and #args_fpl == 0 and not is_proper then
args_pl = {"+"}
end
-- If only ~ given (countable and uncountable), add the default plural after it.
if #args_pl == 1 and args_pl[1] == "~" then
args_pl = {"~", "+"}
end
-- Gather plurals, handling requests for default plurals
for i, pl in ipairs(args_pl) do
local function insert_pl(term)
if term == lemma and i == 1 then
-- Invariable
-- If plural forms were given explicitly, then show "usually"
if #args_pl > 1 then
table.insert(data.inflections, {label = "thường " .. glossary_link("bất biến")})
else
table.insert(data.inflections, {label = glossary_link("bất biến")})
end
table.insert(data.categories, plpos .. " " .. langname .. " không biến cách ")
else
insert_inflection(plurals, term, nil, fetch_qualifiers(args.pl_qual[i]),
args.pl_g[i] and rsplit(args.pl_g[i], "%s*,%s*") or nil)
end
table.insert(data.categories, plpos .. " đếm được " .. langname)
end
local function make_gendered_plural(form, gender, special)
if gender == "mf" then
local default_mpl = com.make_plural(lemma, "m", special)
local default_fpl = com.make_plural(lemma, "f", special)
if default_mpl then
if default_mpl == default_fpl then
insert_pl(default_mpl)
else
if #args_mpl > 0 or #args_fpl > 0 then
error("Can't specify gendered plural spec '" .. (special or "+") .. "' along with gender=" .. gender
.. " and also specify mpl= or fpl=")
end
args_mpl = {default_mpl}
args_fpl = {default_fpl}
end
end
else
local pl = com.make_plural(lemma, gender, special)
if pl then
insert_pl(pl)
end
end
end
if pl == "cap*" or pl == "cap*+" then
make_gendered_plural(lemma, gender_for_default_plural, pl)
elseif pl == "+" then
make_gendered_plural(lemma, gender_for_default_plural)
elseif pl:find("^%+") then
pl = require(romut_module).get_special_indicator(pl)
make_gendered_plural(lemma, gender_for_default_plural, pl)
elseif pl == "?" or pl == "!" then
if i > 1 or #args_pl > 1 then
error("Can't specify ? or ! with other plurals")
end
if pl == "?" then
-- Plural is unknown
table.insert(data.inflections, {label = "plural unknown or uncertain"})
table.insert(data.categories, langname .. " " .. plpos .. " with unknown or uncertain plurals")
else
-- Plural is not attested
table.insert(data.inflections, {label = "plural not attested"})
table.insert(data.categories, langname .. " " .. plpos .. " with unattested plurals")
end
elseif pl == "-" then
if i > 1 then
error("Plural specifier - must be first")
end
-- Uncountable noun; may occasionally have a plural
table.insert(data.categories, plpos .. " không đếm được " .. langname)
-- If plural forms were given explicitly, then show "usually"
if #args_pl > 1 then
table.insert(data.inflections, {label = "thường " .. glossary_link("không đếm được")})
table.insert(data.categories, plpos .. " đếm được " .. langname)
else
table.insert(data.inflections, {label = glossary_link("không đếm được")})
end
elseif pl == "~" then
if i > 1 then
error("Plural specifier ~ must be first")
end
-- Countable and uncountable noun; will have a plural
table.insert(data.categories, plpos .. " đếm được " .. langname)
table.insert(data.categories, plpos .. " không đếm được " .. langname)
table.insert(data.inflections, {label = glossary_link("đếm được") .. " và " .. glossary_link("không đếm được")})
else
insert_pl(replace_hash_with_lemma(pl, lemma))
end
end
end
if #plurals > 1 then
table.insert(data.categories, langname .. " " .. plpos .. " with multiple plurals")
end
-- Gather masculines/feminines. For each one, generate the corresponding plural(s).
local function handle_mf(mfs, qualifiers, gender, inflect, default_plurals)
local retval = {}
for i, mf in ipairs(mfs) do
local function insert_infl(list, term, accel, existing_qualifiers)
insert_inflection(list, term, accel, fetch_qualifiers(qualifiers[i], existing_qualifiers), nil, "no inv")
end
if mf == "+" then
-- Generate default feminine.
mf = inflect(lemma)
else
mf = replace_hash_with_lemma(mf, lemma)
end
local special = require(romut_module).get_special_indicator(mf)
if special then
mf = inflect(lemma, special)
end
insert_infl(retval, mf)
local mfpl = com.make_plural(mf, gender, special)
if mfpl then
-- Add an accelerator for each masculine/feminine plural whose lemma
-- is the corresponding singular, so that the accelerated entry
-- that is generated has a definition that looks like
-- # {{plural of|es|MFSING}}
insert_infl(default_plurals, mfpl, {form = "p", lemma = mf})
end
end
return retval
end
local default_feminine_plurals = {}
local feminine_plurals = {}
local feminines = handle_mf(args.f, args.f_qual, "f", com.make_feminine, default_feminine_plurals)
local default_masculine_plurals = {}
local masculine_plurals = {}
local masculines = handle_mf(args.m, args.m_qual, "m", com.make_masculine, default_masculine_plurals)
local function handle_mf_plural(mfpl, qualifiers, gender, default_plurals, singulars)
local new_mfpls = {}
for i, mfpl in ipairs(mfpl) do
local function insert_infl(term, accel, existing_qualifiers, no_inv)
insert_inflection(new_mfpls, term, accel, fetch_qualifiers(qualifiers[i], existing_qualifiers), nil, no_inv)
end
local accel
if #mfpl == #singulars then
-- If same number of overriding masculine/feminine plurals as singulars,
-- assume each plural goes with the corresponding singular
-- and use each corresponding singular as the lemma in the accelerator.
-- The generated entry will have # {{plural of|it|SINGULAR}} as the
-- definition.
accel = {form = "p", lemma = singulars[i].term}
else
accel = nil
end
if mfpl == "+" then
if #default_plurals > 0 then
for _, defpl in ipairs(default_plurals) do
-- defpl is a table
-- don't use "invariable" because the plural is not with respect to the lemma but
-- with respect to the masc/fem singular
insert_infl(defpl.term_for_further_inflection, defpl.accel, defpl.qualifiers, "no inv")
end
else
-- mf is a table
local default_mfpl = com.make_plural(lemma, gender)
if default_mfpl then
insert_infl(default_mfpl, accel)
end
end
elseif mfpl == "cap*" or mfpl == "cap*+" or mfpl:find("^%+") then
if mfpl:find("^%+") then
mfpl = require(romut_module).get_special_indicator(mfpl)
end
if #singulars > 0 then
for _, mf in ipairs(singulars) do
-- mf is a table
local default_mfpl = com.make_plural(mf.term_for_further_inflection, gender, mfpl)
if default_mfpl then
-- don't use "invariable" because the plural is not with respect to the lemma but
-- with respect to the masc/fem singular
insert_infl(default_mfpl, accel, mf.qualifiers, "no inv")
end
end
else
local default_mfpl = com.make_plural(lemma, gender, mfpl)
if default_mfpl then
insert_infl(default_mfpl, accel)
end
end
else
mfpl = replace_hash_with_lemma(mfpl, lemma)
-- don't use "invariable" if masc/fem singular present because the plural is not with respect to
-- the lemma but with respect to the masc/fem singular
insert_infl(mfpl, accel, nil, #singulars > 0)
end
end
return new_mfpls
end
-- FIXME: We should generate feminine plurals by default from feminine singulars given, and vice-versa.
-- To do that, eliminate the distinction between `default_feminine_plurals` and `feminine_plurals`,
-- as in [[Module:es-headword]].
if #args_fpl > 0 then
-- Set feminine plurals.
feminine_plurals = handle_mf_plural(args_fpl, args.fpl_qual, "f", default_feminine_plurals, feminines)
end
if #args_mpl > 0 then
-- Set masculine plurals.
masculine_plurals = handle_mf_plural(args_mpl, args.mpl_qual, "m", default_masculine_plurals, masculines)
end
check_all_missing(plurals, plpos, tracking_categories)
check_all_missing(feminines, plpos, tracking_categories)
check_all_missing(feminine_plurals, plpos, tracking_categories)
check_all_missing(masculines, plpos, tracking_categories)
check_all_missing(masculine_plurals, plpos, tracking_categories)
local function redundant_plural(pl)
for _, p in ipairs(plurals) do
if p.term_for_further_inflection == pl.term_for_further_inflection then
return true
end
end
return false
end
for _, mpl in ipairs(masculine_plurals) do
if redundant_plural(mpl) then
track("noun-redundant-mpl")
end
end
for _, fpl in ipairs(feminine_plurals) do
if redundant_plural(fpl) then
track("noun-redundant-fpl")
end
end
if #plurals > 0 then
plurals.label = "số nhiều"
plurals.accel = {form = "p"}
table.insert(data.inflections, plurals)
end
if #masculines > 0 then
masculines.label = "giống đực"
table.insert(data.inflections, masculines)
end
if #masculine_plurals > 0 then
masculine_plurals.label = "số nhiều giống đực"
table.insert(data.inflections, masculine_plurals)
end
if #feminines > 0 then
feminines.label = "giống cái"
feminines.accel = {form = "f"}
table.insert(data.inflections, feminines)
end
if #feminine_plurals > 0 then
feminine_plurals.label = "số nhiều giống cái"
table.insert(data.inflections, feminine_plurals)
end
insert_deriv_inflections(data, args, plpos)
-- Maybe add category 'Italian nouns with irregular gender' (or similar)
local irreg_gender_lemma = rsub(lemma, " .*", "") -- only look at first word
if (irreg_gender_lemma:find("o$") and (gender_for_default_plural == "f" or gender_for_default_plural == "mf"
or gender_for_default_plural == "mfbysense")) or
(irreg_gender_lemma:find("a$") and (gender_for_default_plural == "m" or gender_for_default_plural == "mf"
or gender_for_default_plural == "mfbysense")) then
table.insert(data.categories, plpos .. " " .. langname .. " có giống bất quy tắc")
end
end
local function get_noun_params(nountype)
local params = {
[1] = {list = "g", required = nountype ~= "proper", default = "?"},
[2] = {list = "pl"},
["g_qual"] = {list = "g\1_qual", allow_holes = true},
["pl_qual"] = {list = "pl\1_qual", allow_holes = true},
["pl_g"] = {list = "pl\1_g", allow_holes = true},
["m"] = {list = true},
["m_qual"] = {list = "m\1_qual", allow_holes = true},
["f"] = {list = true},
["f_qual"] = {list = "f\1_qual", allow_holes = true},
["mpl"] = {list = true},
["mpl_qual"] = {list = "mpl\1_qual", allow_holes = true},
["fpl"] = {list = true},
["fpl_qual"] = {list = "fpl\1_qual", allow_holes = true},
}
insert_deriv_params(params)
return params
end
pos_functions["Danh từ"] = {
params = get_noun_params("base"),
func = function(args, data, tracking_categories, frame, is_suffix)
do_noun(args, data, tracking_categories, "Danh từ", is_suffix)
end,
}
pos_functions["Danh từ riêng"] = {
params = get_noun_params("proper"),
func = function(args, data, tracking_categories, frame, is_suffix)
do_noun(args, data, tracking_categories, "Danh từ riêng", is_suffix, "is proper noun")
end,
}
pos_functions["cardinal nouns"] = {
params = get_noun_params("base"),
func = function(args, data, tracking_categories)
do_noun(args, data, tracking_categories, "numeral")
data.pos_category = "numerals"
table.insert(data.categories, 1, langname .. " cardinal numbers")
end,
}
-----------------------------------------------------------------------------------------
-- Adjectives --
-----------------------------------------------------------------------------------------
local function do_adjective(args, data, tracking_categories, pos, is_suffix, is_superlative)
local feminines = {}
local masculine_plurals = {}
local feminine_plurals = {}
if is_suffix then
pos = "suffix"
end
local plpos = pos
if not is_suffix then
data.pos_category = plpos
end
if args.sp then
local romut = require(romut_module)
if not romut.allowed_special_indicators[args.sp] then
local indicators = {}
for indic, _ in pairs(romut.allowed_special_indicators) do
table.insert(indicators, "'" .. indic .. "'")
end
table.sort(indicators)
error("Special inflection indicator beginning can only be " ..
mw.text.listToText(indicators) .. ": " .. args.sp)
end
end
local lemma = m_links.remove_links(data.heads[1]) -- should always be specified
local function insert_inflection(forms, label, accel)
if #forms > 0 then
if forms[1].term == "-" then
table.insert(data.inflections, {label = "no " .. label})
else
forms.label = label
forms.accel = {form = accel}
table.insert(data.inflections, forms)
end
end
end
if args.inv then
-- invariable adjective
table.insert(data.inflections, {label = glossary_link("bất biến")})
table.insert(data.categories, plpos .. " " .. langname .. " không biến cách ")
end
if args.noforms then
-- [[bello]] and any others too complicated to describe in headword
table.insert(data.inflections, {label = "see below for inflection"})
end
if args.inv or args.apoc or args.noforms then
if args.sp or #args.f > 0 or #args.pl > 0 or #args.mpl > 0 or #args.fpl > 0 then
error("Can't specify inflections with an invariable or apocopated adjective or with noforms=")
end
elseif args.fonly then
-- feminine-only
if #args.f > 0 then
error("Can't specify explicit feminines with feminine-only adjective")
end
if #args.pl > 0 then
error("Can't specify explicit plurals with feminine-only adjective, use fpl=")
end
if #args.mpl > 0 then
error("Can't specify explicit masculine plurals with feminine-only adjective")
end
local argsfpl = args.fpl
if #argsfpl == 0 then
argsfpl = {"+"}
end
for i, fpl in ipairs(argsfpl) do
if fpl == "+" then
local defpl = com.make_plural(lemma, "f", args.sp)
if not defpl then
error("Unable to generate default plural of '" .. lemma .. "'")
end
fpl = defpl
else
fpl = replace_hash_with_lemma(fpl, lemma)
end
table.insert(feminine_plurals, {term = fpl, q = fetch_qualifiers(args.fpl_qual[i])})
end
check_all_missing(feminine_plurals, plpos, tracking_categories)
table.insert(data.inflections, {label = "feminine-only"})
insert_inflection(feminine_plurals, "feminine plural", "f|p")
else
-- Gather feminines.
local argsf = args.f
if #argsf == 0 then
argsf = {"+"}
end
for i, f in ipairs(argsf) do
if f == "+" then
-- Generate default feminine.
f = com.make_feminine(lemma, args.sp)
else
f = replace_hash_with_lemma(f, lemma)
end
table.insert(feminines, {term = f, q = fetch_qualifiers(args.f_qual[i])})
end
local argsmpl = args.mpl
local argsmpl_qual = args.mpl_qual
local argsfpl = args.fpl
local argsfpl_qual = args.fpl_qual
if #args.pl > 0 then
if #argsmpl > 0 or #argsfpl > 0 then
error("Can't specify both pl= and mpl=/fpl=")
end
argsmpl = args.pl
argsmpl_qual = args.pl_qual
argsfpl = args.pl
argsfpl_qual = args.pl_qual
end
if #argsmpl == 0 then
argsmpl = {"+"}
end
if #argsfpl == 0 then
argsfpl = {"+"}
end
for i, mpl in ipairs(argsmpl) do
if mpl == "+" then
-- Generate default masculine plural.
local defpl = com.make_plural(lemma, "m", args.sp)
if not defpl then
error("Unable to generate default plural of '" .. lemma .. "'")
end
mpl = defpl
else
mpl = replace_hash_with_lemma(mpl, lemma)
end
table.insert(masculine_plurals, {term = mpl, q = fetch_qualifiers(argsmpl_qual[i])})
end
for i, fpl in ipairs(argsfpl) do
if fpl == "+" then
for _, f in ipairs(feminines) do
-- Generate default feminine plural; f is a table.
local defpl = com.make_plural(f.term, "f", args.sp)
if not defpl then
error("Unable to generate default plural of '" .. f.term .. "'")
end
table.insert(feminine_plurals, {term = defpl, q = fetch_qualifiers(argsfpl_qual[i], f.qualifiers)})
end
else
fpl = replace_hash_with_lemma(fpl, lemma)
table.insert(feminine_plurals, {term = fpl, q = fetch_qualifiers(argsfpl_qual[i])})
end
end
check_all_missing(feminines, plpos, tracking_categories)
check_all_missing(masculine_plurals, plpos, tracking_categories)
check_all_missing(feminine_plurals, plpos, tracking_categories)
-- Make sure there are feminines given and not same as lemma.
if not (#feminines == 1 and feminines[1].term == lemma and not feminines[1].qualifiers) then
insert_inflection(feminines, "giống cái", "f|s")
end
if #masculine_plurals > 0 and #feminine_plurals > 0 and
m_table.deepEquals(masculine_plurals, feminine_plurals) then
insert_inflection(masculine_plurals, "số nhiều", "p")
else
insert_inflection(masculine_plurals, "giống đực số nhiều", "m|p")
insert_inflection(feminine_plurals, "giống cái số nhiều", "f|p")
end
end
if args.comp and #args.comp > 0 then
local comps = process_terms_with_qualifiers(args.comp, args.comp_qual)
check_all_missing(comps, plpos, tracking_categories)
comps.label = "comparative"
table.insert(data.inflections, comps)
end
if args.sup and #args.sup > 0 then
local sups = process_terms_with_qualifiers(args.sup, args.sup_qual)
check_all_missing(sups, plpos, tracking_categories)
sups.label = "superlative"
table.insert(data.inflections, sups)
end
insert_deriv_inflections(data, args, plpos)
if args.irreg and is_superlative then
table.insert(data.categories, langname .. " irregular superlative adjectives")
end
end
local function get_adjective_params(adjtype)
local params = {
["inv"] = {type = "boolean"}, --invariable
["noforms"] = {type = "boolean"}, --too complicated to list forms except in a table
["sp"] = {}, -- special indicator: "first", "first-last", etc.
["f"] = {list = true}, --feminine form(s)
["f_qual"] = {list = "f\1_qual", allow_holes = true},
["pl"] = {list = true}, --plural override(s)
["pl_qual"] = {list = "pl\1_qual", allow_holes = true},
["fpl"] = {list = true}, --feminine plural override(s)
["fpl_qual"] = {list = "fpl\1_qual", allow_holes = true},
["mpl"] = {list = true}, --masculine plural override(s)
["mpl_qual"] = {list = "mpl\1_qual", allow_holes = true},
}
if adjtype == "base" or adjtype == "part" or adjtype == "det" then
params["comp"] = {list = true} --comparative(s)
params["comp_qual"] = {list = "comp\1_qual", allow_holes = true}
params["sup"] = {list = true} --superlative(s)
params["sup_qual"] = {list = "sup\1_qual", allow_holes = true}
params["fonly"] = {type = "boolean"} -- feminine only
end
if adjtype == "sup" then
params["irreg"] = {type = "boolean"}
end
insert_deriv_params(params)
return params
end
pos_functions["Tính từ"] = {
params = get_adjective_params("base"),
func = function(args, data, tracking_categories, frame, is_suffix)
do_adjective(args, data, tracking_categories, "Tính từ", is_suffix)
end,
}
pos_functions["comparative adjectives"] = {
params = get_adjective_params("comp"),
func = function(args, data, tracking_categories, frame, is_suffix)
do_adjective(args, data, tracking_categories, "adjective", is_suffix)
end,
}
pos_functions["superlative adjectives"] = {
params = get_adjective_params("sup"),
func = function(args, data, tracking_categories, frame, is_suffix)
do_adjective(args, data, tracking_categories, "adjective", is_suffix, "is superlative")
end,
}
pos_functions["cardinal adjectives"] = {
params = get_adjective_params("card"),
func = function(args, data, tracking_categories, frame, is_suffix)
do_adjective(args, data, tracking_categories, "numeral", is_suffix)
table.insert(data.categories, 1, langname .. " cardinal numbers")
end,
}
pos_functions["Phân từ quá khứ"] = {
params = get_adjective_params("part"),
func = function(args, data, tracking_categories, frame, is_suffix)
do_adjective(args, data, tracking_categories, "Phân từ", is_suffix)
data.pos_category = "Phân từ"
end,
}
pos_functions["present participles"] = {
params = get_adjective_params("part"),
func = function(args, data, tracking_categories, frame, is_suffix)
do_adjective(args, data, tracking_categories, "participle", is_suffix)
data.pos_category = "present participles"
end,
}
pos_functions["determiners"] = {
params = get_adjective_params("det"),
func = function(args, data, tracking_categories, frame, is_suffix)
do_adjective(args, data, tracking_categories, "determiner", is_suffix)
end,
}
pos_functions["articles"] = {
params = get_adjective_params("det"),
func = function(args, data, tracking_categories, frame, is_suffix)
do_adjective(args, data, tracking_categories, "article", is_suffix)
end,
}
pos_functions["adjective-like pronouns"] = {
params = get_adjective_params("pron"),
func = function(args, data, tracking_categories, frame, is_suffix)
do_adjective(args, data, tracking_categories, "pronoun", is_suffix)
end,
}
pos_functions["cardinal invariable"] = {
params = {},
func = function(args, data, tracking_categories)
data.pos_category = "numerals"
table.insert(data.categories, langname .. " cardinal numbers")
table.insert(data.categories, langname .. " indeclinable numerals")
table.insert(data.inflections, {label = glossary_link("invariable")})
end,
}
-----------------------------------------------------------------------------------------
-- Adverbs --
-----------------------------------------------------------------------------------------
local function do_adverb(args, data, tracking_categories, pos, is_suffix)
if is_suffix then
pos = "suffix"
end
local plpos = pos
if not is_suffix then
data.pos_category = plpos
end
if args.comp and #args.comp > 0 then
local comps = process_terms_with_qualifiers(args.comp, args.comp_qual)
check_all_missing(comps, "adverbs", tracking_categories)
comps.label = "comparative"
table.insert(data.inflections, comps)
end
if args.sup and #args.sup > 0 then
local sups = process_terms_with_qualifiers(args.sup, args.sup_qual)
check_all_missing(sups, "adverbs", tracking_categories)
sups.label = "superlative"
table.insert(data.inflections, sups)
end
end
local function get_adverb_params(advtype)
local params = {}
if advtype == "base" then
params["comp"] = {list = true} --comparative(s)
params["comp_qual"] = {list = "comp\1_qual", allow_holes = true}
params["sup"] = {list = true} --superlative(s)
params["sup_qual"] = {list = "sup\1_qual", allow_holes = true}
end
return params
end
pos_functions["Phó từ"] = {
params = get_adverb_params("base"),
func = function(args, data, tracking_categories, frame, is_suffix)
do_adverb(args, data, tracking_categories, "Phó từ", is_suffix)
end,
}
pos_functions["comparative adverbs"] = {
params = get_adverb_params("comp"),
func = function(args, data, tracking_categories, frame, is_suffix)
do_adverb(args, data, tracking_categories, "adverb", is_suffix)
end,
}
pos_functions["superlative adverbs"] = {
params = get_adverb_params("sup"),
func = function(args, data, tracking_categories, frame, is_suffix)
do_adverb(args, data, tracking_categories, "adverb", is_suffix)
end,
}
-----------------------------------------------------------------------------------------
-- Verbs --
-----------------------------------------------------------------------------------------
pos_functions["Động từ"] = {
params = {
[1] = {},
["noautolinktext"] = {type = "boolean"},
["noautolinkverb"] = {type = "boolean"},
},
func = function(args, data, tracking_categories, frame)
if args[1] then
local preses, prets, parts
local def_forms
local alternant_multiword_spec = require(it_verb_module).do_generate_forms(args, "from headword", data.heads[1])
local function do_verb_form(slot, label, rowslot, rowlabel)
local forms = alternant_multiword_spec.forms[slot]
local retval
if alternant_multiword_spec.rowprops.all_defective[rowslot] then
if not alternant_multiword_spec.rowprops.defective[rowslot] then
-- No forms, but none expected; don't display anything
return
end
retval = {label = "no " .. rowlabel}
elseif not forms then
retval = {label = "no " .. label}
elseif alternant_multiword_spec.rowprops.all_unknown[rowslot] then
retval = {label = "unknown " .. rowlabel}
elseif forms[1].form == "?" then
retval = {label = "unknown " .. label}
else
-- Disable accelerators for now because we don't want the added accents going into the headwords.
-- FIXME: We now have support in [[Module:accel]] to specify the target explicitly; we can use this
-- so we can add the accelerators back with a param to avoid the accents.
local accel_form = nil -- all_verb_slots[slot]
retval = {label = label, accel = accel_form and {form = accel_form} or nil}
local prev_footnotes = nil
-- If the footnotes for this form are the same as the footnotes for the preceding form or
-- contain the preceding footnotes, replace the footnotes that are the same with "ditto".
-- This avoids repetition on pages like [[succedere]] where the form ''succedétti'' has a long
-- footnote which gets repeated in the traditional form ''succedètti'' (which also has the
-- footnote "[traditional]").
for _, form in ipairs(forms) do
local quals, refs = require(inflection_utilities_module).
convert_footnotes_to_qualifiers_and_references(form.footnotes)
local quals_with_ditto = quals
if quals and prev_footnotes then
local quals_contains_previous = true
for _, qual in ipairs(prev_footnotes) do
if not m_table.contains(quals, qual) then
quals_contains_previous = false
break
end
end
if quals_contains_previous then
local inserted_ditto = false
quals_with_ditto = {}
for _, qual in ipairs(quals) do
if m_table.contains(prev_footnotes, qual) then
if not inserted_ditto then
table.insert(quals_with_ditto, "ditto")
inserted_ditto = true
end
else
table.insert(quals_with_ditto, qual)
end
end
end
end
prev_footnotes = quals
table.insert(retval, {term = form.form, q = quals_with_ditto, refs = refs})
end
end
table.insert(data.inflections, retval)
end
if alternant_multiword_spec.props.is_pronominal then
table.insert(data.inflections, {label = glossary_link("pronominal")})
end
if alternant_multiword_spec.props.impers then
table.insert(data.inflections, {label = glossary_link("impersonal")})
end
if alternant_multiword_spec.props.thirdonly then
table.insert(data.inflections, {label = "third-person only"})
end
local thirdonly = alternant_multiword_spec.props.impers or alternant_multiword_spec.props.thirdonly
local sing_label = thirdonly and "third-person singular" or "first-person singular"
for _, rowspec in ipairs {
{"pres", "present", true},
{"phis", "past historic", true},
{"pp", "past participle", true},
{"imperf", "imperfect"},
{"fut", "future"},
{"sub", "subjunctive"},
{"impsub", "imperfect subjunctive"},
} do
local rowslot, desc, always_show = unpack(rowspec)
local slot = rowslot .. (thirdonly and "3s" or "1s")
local must_show = alternant_multiword_spec.is_irreg[slot]
if always_show then
must_show = true
elseif rowslot == "imperf" and alternant_multiword_spec.props.has_explicit_stem_spec then
-- If there is an explicit stem spec, make sure it gets displayed; the imperfect is a good way of
-- showing this.
must_show = true
elseif not alternant_multiword_spec.forms[slot] then
-- If the principal part is unexpectedly missing, make sure we show this.
must_show = true
elseif alternant_multiword_spec.forms[slot][1].form == "?" then
-- If the principal part is unknown, make sure we show this.
must_show = true
end
if must_show then
if rowslot == "pp" then
do_verb_form(rowslot, desc, rowslot, desc)
else
do_verb_form(slot, sing_label .. " " .. desc, rowslot, desc)
end
end
end
-- Also do the imperative, but not for third-only verbs, which are always missing the imperative.
if not thirdonly and (alternant_multiword_spec.is_irreg.imp2s
or not alternant_multiword_spec.forms.imp2s) then
do_verb_form("imp2s", "second-person singular imperative", "imp", "imperative")
end
-- If there is a past participle but no auxiliary (e.g. [[malfare]]), explicitly add "no auxiliary". In
-- cases where there's no past participle and no auxiliary (e.g. [[irrompere]]), we don't do this as we
-- already get "no past participle" displayed. Don't display an auxiliary in any case if the lemma
-- consists entirely of reflexive verbs (for which the auxiliary is always [[essere]]).
if alternant_multiword_spec.props.is_non_reflexive and (
alternant_multiword_spec.forms.aux or alternant_multiword_spec.forms.pp
) then
do_verb_form("aux", "auxiliary", "aux", "auxiliary")
end
-- Add categories.
for _, cat in ipairs(alternant_multiword_spec.categories) do
table.insert(data.categories, cat)
end
-- If the user didn't explicitly specify head=, or specified exactly one head (not 2+) and we were able to
-- incorporate any links in that head into the 1= specification, use the infinitive generated by
-- [[Module:it-verb]] it in place of the user-specified or auto-generated head so that we get accents marked
-- on the verb(s). Don't do this if the user gave multiple heads or gave a head with a multiword-linked
-- verbal expression such as '[[dare esca]] [[al]] [[fuoco]]'.
if #data.user_specified_heads == 0 or (
#data.user_specified_heads == 1 and alternant_multiword_spec.incorporated_headword_head_into_lemma
) then
data.heads = {}
for _, lemma_obj in ipairs(alternant_multiword_spec.forms.inf) do
local quals, refs = require(inflection_utilities_module).
convert_footnotes_to_qualifiers_and_references(lemma_obj.footnotes)
table.insert(data.heads, {term = lemma_obj.form, q = quals, refs = refs})
end
end
end
end
}
-----------------------------------------------------------------------------------------
-- Suffix forms --
-----------------------------------------------------------------------------------------
pos_functions["suffix forms"] = {
params = {
[1] = {required = true, list = true},
["g"] = {list = true},
["g_qual"] = {list = "g\1_qual", allow_holes = true},
},
func = function(args, data, tracking_categories, frame)
data.genders = {}
process_genders(data, args.g, args.g_qual)
local suffix_type = {}
for _, typ in ipairs(args[1]) do
table.insert(suffix_type, typ .. "-forming suffix")
end
table.insert(data.inflections, {label = "non-lemma form of " .. m_table.serialCommaJoin(suffix_type, {conj = "hoặc"})})
end,
}
-----------------------------------------------------------------------------------------
-- Arbitrary parts of speech --
-----------------------------------------------------------------------------------------
pos_functions["arbitrary part of speech"] = {
params = {
[1] = {required = true},
["g"] = {list = true},
["g_qual"] = {list = "g\1_qual", allow_holes = true},
},
func = function(args, data, tracking_categories, frame, is_suffix)
if is_suffix then
error("Can't use [[Template:it-pos]] with suffixes")
end
data.genders = {}
process_genders(data, args.g, args.g_qual)
local plpos = require(en_utilities_module).pluralize(args[1])
data.pos_category = plpos
end,
}
return export
3ltsb2z83qckxj43gs1mn4q50qvimjd
luur
0
263077
2569388
2568289
2026-10-09T15:30:55Z
Hiyuune
50834
2569388
wikitext
text/x-wiki
=={{langname|nl}}==
==={{section|pron}}===
* {{IPA|nl|/lyːr/}}
* {{audio|nl|Nl-luur.ogg}}
* {{hyphenation|nl|luur}}
* {{rhymes|nl|yr|s=1}}
==={{section|n}}===
{{nl-noun|f|-en|-}}
# {{lb|nl|dialectal}} {{alternative form of|nl|luier}}
===={{section|drv}}====
* {{l|nl|in de luren leggen}}
=={{langname|fro}}==
==={{section|n}}===
{{fro-noun|f}}
# {{lb|fro|Anglo-Norman}} {{alternative form of|fro|luor}}
=={{langname|yuy}}==
==={{section|n}}===
{{head|yuy|Danh từ}}
# [[hồ|Hồ]].
{{c|yuy|Vùng nước}}
la62kp7p6rn3zd42463z1m41iq73ar7
xun
0
265217
2569378
2568333
2026-10-09T15:19:34Z
Hiyuune
50834
2569378
wikitext
text/x-wiki
{{also|xún|xùn|xūn|x̱'ún}}
=={{langname|mul}}==
==={{section|symbol}}===
{{mul-symbol}}
# {{ISO 639|3}}
=={{langname|enm}}==
==={{section|n}}===
{{head|enm|vf}}
# {{tlb|enm|East Anglia}} {{alt form|enm|schun}}
=={{langname|az}}==
==={{section|etym}}===
{{bor+|az|fa-cls|خون|tr=xun}}.
==={{section|n}}===
{{az-noun}}
# {{tlb|az|Classical}} [[máu|Máu]].
#: {{syn|az|qan}}
=={{langname|mnc}}==
==={{section|rom}}===
{{head|mnc|Latinh hóa|sc=Latn}}
# {{alt sp|mnc|šun|sc=Latn}}
=={{langname|so}}==
==={{section|etym}}===
Cùng gốc với {{cog|om|hamaa|t=cruel}}. So sánh thêm với {{cog|irk|hhaam}}.
==={{section|adj}}===
{{head|so|Tính từ|số nhiều|xunxun|thực tế|xunee}}
# [[tệ|Tệ]]; [[xấu]].
==={{section|ref}}===
* {{R:Reinisch1902|page=224}}
=={{langname|cmn}}==
==={{section|rom}}===
{{cmn-pinyin|notr=1}}
# {{nonstandard spelling of|cmn|sc=Latn|xūn}}
# {{nonstandard spelling of|cmn|sc=Latn|xún}}
# {{nonstandard spelling of|cmn|sc=Latn|xùn}}
=={{langname|yuy}}==
==={{section|n}}===
{{head|yuy|Danh từ}}
# [[đám cưới|Đám cưới]].
{{c|yuy|Hôn nhân}}
mkirz69dm0514nypijdr4sc480yzutx
2569379
2569378
2026-10-09T15:19:47Z
Hiyuune
50834
2569379
wikitext
text/x-wiki
{{also|xún|xùn|xūn|x̱'ún}}
=={{langname|mul}}==
==={{section|symbol}}===
{{mul-symbol}}
# {{ISO 639|3}}
=={{langname|enm}}==
==={{section|n}}===
{{head|enm|vf}}
# {{tlb|enm|East Anglia}} {{alt form|enm|schun}}
=={{langname|az}}==
==={{section|etym}}===
{{bor+|az|fa-cls|خون|tr=xun}}.
==={{section|n}}===
{{az-noun}}
# {{tlb|az|Classical}} [[máu|Máu]].
#: {{syn|az|qan}}
=={{langname|mnc}}==
==={{section|rom}}===
{{head|mnc|Latinh hóa|sc=Latn}}
# {{alt sp|mnc|šun|sc=Latn}}
=={{langname|so}}==
==={{section|etym}}===
Cùng gốc với {{cog|om|hamaa}}. So sánh thêm với {{cog|irk|hhaam}}.
==={{section|adj}}===
{{head|so|Tính từ|số nhiều|xunxun|thực tế|xunee}}
# [[tệ|Tệ]]; [[xấu]].
==={{section|ref}}===
* {{R:Reinisch1902|page=224}}
=={{langname|cmn}}==
==={{section|rom}}===
{{cmn-pinyin|notr=1}}
# {{nonstandard spelling of|cmn|sc=Latn|xūn}}
# {{nonstandard spelling of|cmn|sc=Latn|xún}}
# {{nonstandard spelling of|cmn|sc=Latn|xùn}}
=={{langname|yuy}}==
==={{section|n}}===
{{head|yuy|Danh từ}}
# [[đám cưới|Đám cưới]].
{{c|yuy|Hôn nhân}}
lp5w59ysub43zopoz6lc95qrukgysd8
2569381
2569379
2026-10-09T15:19:56Z
Hiyuune
50834
2569381
wikitext
text/x-wiki
{{also|xún|xùn|xūn|x̱'ún}}
=={{langname|mul}}==
==={{section|symbol}}===
{{mul-symbol}}
# {{ISO 639|3}}
=={{langname|enm}}==
==={{section|n}}===
{{head|enm|vf}}
# {{tlb|enm|East Anglia}} {{alt form|enm|schun}}
=={{langname|az}}==
==={{section|etym}}===
{{bor+|az|fa-cls|خون|tr=xun}}.
==={{section|n}}===
{{az-noun}}
# {{tlb|az|cổ điển}} [[máu|Máu]].
#: {{syn|az|qan}}
=={{langname|mnc}}==
==={{section|rom}}===
{{head|mnc|Latinh hóa|sc=Latn}}
# {{alt sp|mnc|šun|sc=Latn}}
=={{langname|so}}==
==={{section|etym}}===
Cùng gốc với {{cog|om|hamaa}}. So sánh thêm với {{cog|irk|hhaam}}.
==={{section|adj}}===
{{head|so|Tính từ|số nhiều|xunxun|thực tế|xunee}}
# [[tệ|Tệ]]; [[xấu]].
==={{section|ref}}===
* {{R:Reinisch1902|page=224}}
=={{langname|cmn}}==
==={{section|rom}}===
{{cmn-pinyin|notr=1}}
# {{nonstandard spelling of|cmn|sc=Latn|xūn}}
# {{nonstandard spelling of|cmn|sc=Latn|xún}}
# {{nonstandard spelling of|cmn|sc=Latn|xùn}}
=={{langname|yuy}}==
==={{section|n}}===
{{head|yuy|Danh từ}}
# [[đám cưới|Đám cưới]].
{{c|yuy|Hôn nhân}}
i1n2v9w896l3ykgait6c5sdwcyllzhz
Thành viên:TienMinh-mun6xnChing
2
268038
2569368
2569100
2026-10-09T14:59:29Z
TienMinh-mun6xnChing
57893
2569368
wikitext
text/x-wiki
__TOC__
{{ombox
|image=<imagemap>File:Nuvola filesystems folder home.svg|60px|link= </imagemap>|text='''Nhà wiki chính của thành viên này là dự án Wikipedia tiếng Anh, cũng hoạt động với tư cách là Người duyệt bài của dự án. Liên hệ trang thảo luận tôi tại [[:w:en:User talk:TienMinh-mun6xnChing|đây]] để được hỗ trợ tư vấn nếu gặp sự cố tại dự án đó.'''}}{{Message box|backgroundcolor=#FFD700|image=Emblem-unblock-granted.svg|heading=As a Vietnamese Wikipedia administrator, I agree to lift the block on DefenderTienMinh07 after more than a year of probation under the indefinite block, as I find some of the information above to be reasonable, and overall, he is not a sockpuppet of "Trieu Thuan Son". However, it should also be noted that this user has previously engaged in "[[:en:Wikipedia:Gaming the system|gaming the system]]" behavior within the Vietnamese Wikipedia community. Therefore, I hope that he will make improvements to interact harmoniously with the community. Let me reiterate that the Vietnamese Wikipedia community is facing an intense situation with sockpuppet accounts, and mistakes are always possible and unavoidable. We have done our best within our capacity, even though this is only a voluntary role, and it is passion alone that keeps us going on this journey. Thank you to anyone who has read this.|message=I placed the text Vietnamese Wikipedia administrator Plantaest wrote here to thanks him for accepting my appeal on 28 September 2024, the year Vietnamese Wikipedia is still under marshal law to block the sockpuppet from vandalising, somehow confused my account as one of it.}}
{{/Welcome}}
{{/Thời gian}}
{{Trang thành viên}}
== Dự án tôi đang hoạt động ==
* Hoạt động trên Wiktionary tiếng Việt hiện là '''Người lùi sửa''' của dự án.
* Hoạt động Wikimedia Commons và Meta với tư cách là '''Người tự đánh dấu tuần tra''' của dự án. {{ý kiến|1=Ghi chú:}} Tôi thường khá để ý trường hợp vi phạm bản quyền nghiêm trọng.
* Hoạt động trên Wikipedia tiếng Nga là '''Người tải lên''' của dự án.
===Quyền của thành viên ===
==== Quyền hạn và vai trò ====
* [[Wiktionary:Người lùi sửa|Người lùi sửa]]
==== Ngầm thuộc nhóm ====
* [[Wiktionary:Thành viên tự xác nhận|Thành viên tự xác nhận]]
==== Bảo mật ====
* Chế độ an toàn: ''Tắt'' (cần có quyền [[Wiktionary:Bảo quản viên|Bảo quản viên]] để bật Chế độ an toàn<ref>Nếu được đặt thành "Bật", mọi tác vụ như sửa các trang MediaWiki hay gửi thư điện tử đều sẽ bị vô hiệu hóa hoàn toàn.</ref>)
** ''Tình trạng: Không xác định''
** ''Mức báo động: Thấp''
** ''Nhật ký hoạt động: [[Đặc biệt:Nhật trình/DefenderTienMinh07|[nhấn để xem]]]''
{{Message box|image=Editing 1.png|heading=Trạng thái:|backgroundcolor=#8cbed6|message=<sup><span style="color:red; font-family: Georgia; font-weight: bold; font-style: italic;">♥️</span></sup> (nếu trái tim chuyển sang màu xám tức là tôi không hoạt động)}}
* Nhóm toàn cục: Người dùng được miễn cấm IP toàn cục, Người dùng được sử dụng xác thực hai yếu tố ({{Ý kiến|1=Ghi chú:}} Tài khoản của tôi hiện được trang bị '''tính năng xác thực hai yếu tố''' nên tôi cũng chả việc gì phải lo lắng cũng như chả sợ bị hacker đột nhập. <( ̄︶ ̄)>)
== Thông tin ngôn ngữ thành viên ==
Hiện tại tôi đang có chứng chỉ HSK cấp độ 3 với chứng chỉ ngoại ngữ IELTS điểm là 6.0 (mức B2) ở cấp độ Academic, do đó tôi tự tin rằng tiếng Anh của mình là gần với mức chuyên gia. Tôi hiện đang du học và làm việc với tư cách thực tập sinh tại đại học Quảng Tây để mang về thành tích là một tấm bằng Cử nhân Quốc tế danh giá và bằng Thạc sĩ của trường với luận văn tiếng Trung 150 chữ.
Tôi học tiếng Anh tại Bộ phận hỗ trợ Trao đổi sinh viên của Ban công tác kinh doanh của một trường Đại học ở Việt Nam. Các tài liệu học tập về tiếng Anh tôi đăng trên Wiktionary tiếng Anh đơn giản, xem tài liệu chính của tôi ở [[simple:User:TienMinh-mun6xnChing/Basic English learning|đây]].
[[File:Guangxi University of Finance and Economics, Xiangsihu campus (20240216183717).jpg|thumb|Đại học Quảng Tây là nơi tôi đang theo học và sống tại ký túc xá của trường để làm việc]]
{{#babel:vi-N|simple-5|en-4|ja-1|zh-2|zh-Hans-1}}
== Mục từ được thành viên này nâng cấp ==
=== Mục từ cổ đại ===
==== Tiếng Việt ====
* [[Thái hoàng thái thượng]] (hoặc [[thái hoàng thái thượng]]) ([[Đặc biệt:So sánh di động/2084572|phiên bản 2084572]])
* [[Thái Dương Hệ]] ([[Đặc biệt:So sánh di động/2074740|phiên bản 2074740]])
* [[chống lưng]] ([[Đặc biệt:So sánh di động/2080368|phiên bản 2080368]])
* [[sinh ra]] ([[Đặc biệt:So sánh di động/2123145|phiên bản 2123145]])
* [[nhà nho]] ([[Đặc biệt:So sánh di động/2080371)|phiên bản 2080371]])
* [[thi hương]] ([[Đặc biệt:So sánh di động/2080425|phiên bản 2080425]])
* [[trung hòa]] ([[Đặc biệt:So sánh di động/2103129|phiên bản 2103129]])
* [[chủ chốt]] ([[Đặc biệt:So sánh di động/2118720|phiên bản 2118720]])
* [[nhìn thấy]] ([[Đặc biệt:So sánh di động/2123174|phiên bản 2123174]])
* [[tiên kinh]] ([[Đặc biệt:So sánh di động/2123060|phiên bản 2123060]])
* [[ích kỉ]] ([[Đặc biệt:So sánh di động/2123155|phiên bản 2123155]])
* [[đàn nguyệt]] ([[Đặc biệt:So sánh di động/2123120|phiên bản 2123120]])
* [[đàn Kìm]] ([[Đặc biệt:So sánh di động/2123119|phiên bản 2123119]])
* [[nhà đoan]] ([[Đặc biệt:So sánh di động/2123065|phiên bản 2123065]])
* [[bộ gõ]] ([[Đặc biệt:So sánh di động/2123103|phiên bản 2123103]])
* [[chính xác]] ([[Đặc biệt:So sánh di động/2119543|phiên bản 2119543]])
* [[đào lẳng]] ([[Đặc biệt:So sánh di động/2123107|phiên bản 2123107]])
* [[nhà nòi]] ([[Đặc biệt:So sánh di động/2123054|phiên bản 2123054]])
* [[nghiên cứu]] ([[Đặc biệt:So sánh di động/2125346|phiên bản 2125346]])
* [[Vọng Nguyệt cầm]] ([[Đặc biệt:So sánh di động/2123098|phiên bản 2123098]])
* [[nhà dây thép]] ([[Đặc biệt:So sánh di động/2123057|phiên bản 2123057]])
* [[khay liên hợp]] ([[Đặc biệt:So sánh di động/2123047|phiên bản 2123047]])
* [[cây bài chặt]] ([[Đặc biệt:So sánh di động/2123043|phiên bản 2123043]])
==== Tiếng Trung Quốc ====
* [[机甲战士]] ([[Đặc biệt:So sánh di động/2066745|phiên bản 2066745]])
* [[平视显示器]] ([[Đặc biệt:So sánh di động/2125151|phiên bản 2125151]])
== Các mục từ đã tạo ==
=== Mục từ tiếng Việt có nghĩa nhiều chữ nhất không phải thành ngữ hay danh từ riêng ===
{{ombox
|image=<imagemap>
Image:Art Word Cloud.png|65px
default [[Discord]]
desc none </imagemap>
|text=Hiện tại, mục từ tiếng Việt dài nhiều chữ nhất mà không xét về thành ngữ hay danh từ riêng duy nhất được chấp nhận trên dự án theo quy định, mục từ đó nắm giữ kỷ lục về số từ ngữ câu chữ và số ký tự chính là "[[vận tốc căn quân phương]]" với 5 chữ và 18 ký tự, có người [https://vi.wiktionary.org/w/index.php?title=v%E1%BA%ADn_t%E1%BB%91c_c%C4%83n_qu%C3%A2n_ph%C6%B0%C6%A1ng&diff=prev&oldid=2562825 đã chứng minh] điều này là đúng.
}}
* [[tốc độ căn quân phương]] (danh từ, 5 chữ, 17 ký tự)
* (áng) [[thiên cổ hùng văn]] (danh từ, 5 chữ, 17 ký tự)
* [[bội số chung nhỏ nhất]] (danh từ, 5 chữ, 17 ký tự)
* [[ước số chung lớn nhất]] (danh từ, 5 chữ, 17 ký tự)
* [[áng thiên cổ kỳ bút]] (danh từ, 5 chữ, 15 ký tự)
* [[gia tốc trọng trường]] (danh từ, 4 chữ 16 ký tự)
* [[lực lượng chức năng]] (danh từ, 4 chữ, 16 ký tự)
* [[tác chiến chiều sâu]] (danh từ, 4 chữ, 16 ký tự)
* [[lực lượng vũ trang]] (danh từ, 4 chữ, 15 ký tự)
* [[tam giác vuông cân]] (danh từ, 4 chữ, 15 ký tự)
* [[bội chung nhỏ nhất]] (danh từ, 4 chữ, 15 ký tự)
* [[ước chung lớn nhất]] (danh từ, 4 chữ, 15 ký tự)
* [[độ lệch tiêu chuẩn]] (danh từ, 4 chữ, 15 ký tự)
* [[phó đại đội trưởng]] (danh từ, 4 chữ, 15 ký tự)
* [[biên độ dao động]] (danh từ, 4 chữ, 14 ký tự)
* [[làm công ăn lương]] (động từ, 4 chữ, 14 ký tự)
* [[thiên cổ kỳ bút]] (danh từ, 4 chữ, 12 ký tự)
{{/Các mục từ đã tạo}}
== Giấy phép ==
=== Tôi, người giữ bản quyền trang thành viên này, từ nay sẽ phát hành nó theo giấy phép sau: ===
==== Creative Commons - Attribution-Share Alike ====
[[File:CC-BY-SA.svg|giữa]]
===== This user page is licensed under the [[en:Creative Commons|Creative Commons]] [https://creativecommons.org/licenses/by-sa/4.0/deed.en Attribution-Share Alike 4.0 International] license. =====
* You are free:
** '''to share''' – to copy, distribute and transmit the work
** '''to remix''' – to adapt the work
* Under the following conditions:
** '''attribution''' – You must give appropriate credit, provide a link to the license, and indicate if changes were made. You may do so in any reasonable manner, but not in any way that suggests the licensor endorses you or your use.
** '''share alike''' – If you remix, transform, or build upon the material, you must distribute your contributions under the [https://creativecommons.org/share-your-work/licensing-considerations/compatible-licenses same or compatible license] as the original.
===== Trang thành viên này được phát hành theo [[wikipedia:vi:Giấy phép Creative Commons|Giấy phép Creative Commons]] [https://creativecommons.org/licenses/by-sa/4.0/deed.vi Ghi công–Chia sẻ tương tự 4.0 Quốc tế]. =====
* Bạn được tự do:
** '''chia sẻ''' – sao chép, phân phối và chuyển giao tác phẩm
** '''pha trộn''' – để chuyển thể tác phẩm
* Theo các điều kiện sau:
** '''ghi công''' – Bạn phải ghi công tương ứng, cung cấp một liên kết đến giấy phép, và cho thấy các thay đổi có được thực hiện hay không. Bạn có thể làm điều đó bằng bất ký cách nào hợp lý, nhưng không phải bằng các cách gợi ý rằng người cho phép ủng hộ bạn hay việc sử dụng của bạn.
** '''chia sẻ tương tự''' – Nếu bạn thay thế, biến đổi, hoặc làm tác phẩm khác dựa trên tác phẩm này, bạn chỉ được phân phối tác phẩm mới tạo ra với [https://creativecommons.org/share-your-work/licensing-considerations/compatible-licenses một giấy phép y hệt, tương tự hoặc tương thích] với tác phẩm gốc.
==Ghi chú==
<references/>
[[Thể loại:Thành viên Wiktionary]]
[[Thể loại:Thành viên Wikipedia]]
p72fzbfxgqubrz5gxs94y97tw3zqmf9
2569377
2569368
2026-10-09T15:19:03Z
TienMinh-mun6xnChing
57893
2569377
wikitext
text/x-wiki
__TOC__
{{ombox
|image=<imagemap>File:Nuvola filesystems folder home.svg|60px|link= </imagemap>|text='''Nhà wiki chính của thành viên này là dự án Wikipedia tiếng Anh, cũng hoạt động với tư cách là Người duyệt bài của dự án. Liên hệ trang thảo luận tôi tại [[:w:en:User talk:TienMinh-mun6xnChing|đây]] để được hỗ trợ tư vấn nếu gặp sự cố tại dự án đó.'''}}{{Message box|backgroundcolor=#FFD700|image=Emblem-unblock-granted.svg|heading=As a Vietnamese Wikipedia administrator, I agree to lift the block on DefenderTienMinh07 after more than a year of probation under the indefinite block, as I find some of the information above to be reasonable, and overall, he is not a sockpuppet of "Trieu Thuan Son". However, it should also be noted that this user has previously engaged in "[[:en:Wikipedia:Gaming the system|gaming the system]]" behavior within the Vietnamese Wikipedia community. Therefore, I hope that he will make improvements to interact harmoniously with the community. Let me reiterate that the Vietnamese Wikipedia community is facing an intense situation with sockpuppet accounts, and mistakes are always possible and unavoidable. We have done our best within our capacity, even though this is only a voluntary role, and it is passion alone that keeps us going on this journey. Thank you to anyone who has read this.|message=I placed the text Vietnamese Wikipedia administrator Plantaest wrote here to thanks him for accepting my appeal on 28 September 2024, the year Vietnamese Wikipedia is still under marshal law to block the sockpuppet from vandalising, somehow confused my account as one of it.}}
{{/Welcome}}
{{/Thời gian}}
{{Trang thành viên}}
== Dự án tôi đang hoạt động ==
* Hoạt động trên Wiktionary tiếng Việt hiện là '''Người lùi sửa''' của dự án.
* Hoạt động Wikimedia Commons và Meta với tư cách là '''Người tự đánh dấu tuần tra''' của dự án. {{ý kiến|1=Ghi chú:}} Tôi thường khá để ý trường hợp vi phạm bản quyền nghiêm trọng.
* Hoạt động trên Wikipedia tiếng Nga là '''Người tải lên''' của dự án.
===Quyền của thành viên ===
==== Quyền hạn và vai trò ====
* [[Wiktionary:Người lùi sửa|Người lùi sửa]]
==== Ngầm thuộc nhóm ====
* [[Wiktionary:Thành viên tự xác nhận|Thành viên tự xác nhận]]
==== Bảo mật ====
* Chế độ an toàn: ''Tắt'' (cần có quyền [[Wiktionary:Bảo quản viên|Bảo quản viên]] để bật Chế độ an toàn<ref>Nếu được đặt thành "Bật", mọi tác vụ như sửa các trang MediaWiki hay gửi thư điện tử đều sẽ bị vô hiệu hóa hoàn toàn.</ref>)
** ''Tình trạng: Không xác định''
** ''Mức báo động: Thấp''
** ''Nhật ký hoạt động: [[Đặc biệt:Nhật trình/DefenderTienMinh07|[nhấn để xem]]]''
{{Message box|image=Editing 1.png|heading=Trạng thái:|backgroundcolor=#8cbed6|message=<sup><span style="color:red; font-family: Georgia; font-weight: bold; font-style: italic;">♥️</span></sup> (nếu trái tim chuyển sang màu xám tức là tôi không hoạt động)}}
* Nhóm toàn cục: Người dùng được miễn cấm IP toàn cục, Người dùng được sử dụng xác thực hai yếu tố ({{Ý kiến|1=Ghi chú:}} Tài khoản của tôi hiện được trang bị '''tính năng xác thực hai yếu tố''' nên tôi cũng chả việc gì phải lo lắng cũng như chả sợ bị hacker đột nhập. <( ̄︶ ̄)>)
== Thông tin ngôn ngữ thành viên ==
Hiện tại tôi đang có chứng chỉ HSK cấp độ 3 với chứng chỉ ngoại ngữ IELTS điểm là 6.0 (mức B2) ở cấp độ Academic, do đó tôi tự tin rằng tiếng Anh của mình là gần với mức chuyên gia. Tôi hiện đang du học và làm việc với tư cách thực tập sinh tại đại học Quảng Tây để mang về thành tích là một tấm bằng Cử nhân Quốc tế danh giá và bằng Thạc sĩ của trường với luận văn tiếng Trung 150 chữ.
Tôi học tiếng Anh tại Bộ phận hỗ trợ Trao đổi sinh viên của Ban công tác kinh doanh của một trường Đại học ở Việt Nam. Các tài liệu học tập về tiếng Anh tôi đăng trên Wiktionary tiếng Anh đơn giản, xem tài liệu chính của tôi ở [[simple:User:TienMinh-mun6xnChing/Basic English learning|đây]].
[[File:Guangxi University of Finance and Economics, Xiangsihu campus (20240216183717).jpg|thumb|Đại học Quảng Tây là nơi tôi đang theo học và sống tại ký túc xá của trường để làm việc]]
{{#babel:vi-N|simple-5|en-4|ja-1|zh-2|zh-Hans-1}}
== Mục từ được thành viên này nâng cấp ==
=== Mục từ cổ đại ===
==== Tiếng Việt ====
* [[Thái hoàng thái thượng]] (hoặc [[thái hoàng thái thượng]]) ([[Đặc biệt:So sánh di động/2084572|phiên bản 2084572]])
* [[Thái Dương Hệ]] ([[Đặc biệt:So sánh di động/2074740|phiên bản 2074740]])
* [[chống lưng]] ([[Đặc biệt:So sánh di động/2080368|phiên bản 2080368]])
* [[sinh ra]] ([[Đặc biệt:So sánh di động/2123145|phiên bản 2123145]])
* [[nhà nho]] ([[Đặc biệt:So sánh di động/2080371)|phiên bản 2080371]])
* [[thi hương]] ([[Đặc biệt:So sánh di động/2080425|phiên bản 2080425]])
* [[trung hòa]] ([[Đặc biệt:So sánh di động/2103129|phiên bản 2103129]])
* [[chủ chốt]] ([[Đặc biệt:So sánh di động/2118720|phiên bản 2118720]])
* [[nhìn thấy]] ([[Đặc biệt:So sánh di động/2123174|phiên bản 2123174]])
* [[tiên kinh]] ([[Đặc biệt:So sánh di động/2123060|phiên bản 2123060]])
* [[ích kỉ]] ([[Đặc biệt:So sánh di động/2123155|phiên bản 2123155]])
* [[đàn nguyệt]] ([[Đặc biệt:So sánh di động/2123120|phiên bản 2123120]])
* [[đàn Kìm]] ([[Đặc biệt:So sánh di động/2123119|phiên bản 2123119]])
* [[nhà đoan]] ([[Đặc biệt:So sánh di động/2123065|phiên bản 2123065]])
* [[bộ gõ]] ([[Đặc biệt:So sánh di động/2123103|phiên bản 2123103]])
* [[chính xác]] ([[Đặc biệt:So sánh di động/2119543|phiên bản 2119543]])
* [[đào lẳng]] ([[Đặc biệt:So sánh di động/2123107|phiên bản 2123107]])
* [[nhà nòi]] ([[Đặc biệt:So sánh di động/2123054|phiên bản 2123054]])
* [[nghiên cứu]] ([[Đặc biệt:So sánh di động/2125346|phiên bản 2125346]])
* [[Vọng Nguyệt cầm]] ([[Đặc biệt:So sánh di động/2123098|phiên bản 2123098]])
* [[nhà dây thép]] ([[Đặc biệt:So sánh di động/2123057|phiên bản 2123057]])
* [[khay liên hợp]] ([[Đặc biệt:So sánh di động/2123047|phiên bản 2123047]])
* [[cây bài chặt]] ([[Đặc biệt:So sánh di động/2123043|phiên bản 2123043]])
==== Tiếng Trung Quốc ====
* [[机甲战士]] ([[Đặc biệt:So sánh di động/2066745|phiên bản 2066745]])
* [[平视显示器]] ([[Đặc biệt:So sánh di động/2125151|phiên bản 2125151]])
== Các mục từ đã tạo ==
=== Mục từ tiếng Việt có nghĩa nhiều chữ nhất không phải thành ngữ hay danh từ riêng ===
{{ombox
|image=<imagemap>
Image:Art Word Cloud.png|65px
default [[Discord]]
desc none </imagemap>
|text=Hiện tại, mục từ tiếng Việt dài nhiều chữ nhất mà không xét về thành ngữ hay danh từ riêng duy nhất được chấp nhận trên dự án theo quy định, mục từ đó nắm giữ kỷ lục về số từ ngữ câu chữ và số ký tự chính là "[[vận tốc căn quân phương]]" với 5 chữ và 18 ký tự, có người [https://vi.wiktionary.org/w/index.php?title=v%E1%BA%ADn_t%E1%BB%91c_c%C4%83n_qu%C3%A2n_ph%C6%B0%C6%A1ng&diff=prev&oldid=2562825 đã chứng minh] điều này là đúng.
}}
* [[tốc độ căn quân phương]] (danh từ, 5 chữ, 17 ký tự)
* (áng) [[thiên cổ hùng văn]] (danh từ, 5 chữ, 17 ký tự)
* [[bội số chung nhỏ nhất]] (danh từ, 5 chữ, 17 ký tự)
* [[ước số chung lớn nhất]] (danh từ, 5 chữ, 17 ký tự)
* [[áng thiên cổ kỳ bút]] (danh từ, 5 chữ, 15 ký tự)
* [[phòng vệ chính đáng]] (động từ, 4 chữ, 16 ký tự)
* [[gia tốc trọng trường]] (danh từ, 4 chữ, 16 ký tự)
* [[lực lượng chức năng]] (danh từ, 4 chữ, 16 ký tự)
* [[tác chiến chiều sâu]] (danh từ, 4 chữ, 16 ký tự)
* [[lực lượng vũ trang]] (danh từ, 4 chữ, 15 ký tự)
* [[tam giác vuông cân]] (danh từ, 4 chữ, 15 ký tự)
* [[bội chung nhỏ nhất]] (danh từ, 4 chữ, 15 ký tự)
* [[ước chung lớn nhất]] (danh từ, 4 chữ, 15 ký tự)
* [[độ lệch tiêu chuẩn]] (danh từ, 4 chữ, 15 ký tự)
* [[phó đại đội trưởng]] (danh từ, 4 chữ, 15 ký tự)
* [[biên độ dao động]] (danh từ, 4 chữ, 14 ký tự)
* [[làm công ăn lương]] (động từ, 4 chữ, 14 ký tự)
* [[thiên cổ kỳ bút]] (danh từ, 4 chữ, 12 ký tự)
{{/Các mục từ đã tạo}}
== Giấy phép ==
=== Tôi, người giữ bản quyền trang thành viên này, từ nay sẽ phát hành nó theo giấy phép sau: ===
==== Creative Commons - Attribution-Share Alike ====
[[File:CC-BY-SA.svg|giữa]]
===== This user page is licensed under the [[en:Creative Commons|Creative Commons]] [https://creativecommons.org/licenses/by-sa/4.0/deed.en Attribution-Share Alike 4.0 International] license. =====
* You are free:
** '''to share''' – to copy, distribute and transmit the work
** '''to remix''' – to adapt the work
* Under the following conditions:
** '''attribution''' – You must give appropriate credit, provide a link to the license, and indicate if changes were made. You may do so in any reasonable manner, but not in any way that suggests the licensor endorses you or your use.
** '''share alike''' – If you remix, transform, or build upon the material, you must distribute your contributions under the [https://creativecommons.org/share-your-work/licensing-considerations/compatible-licenses same or compatible license] as the original.
===== Trang thành viên này được phát hành theo [[wikipedia:vi:Giấy phép Creative Commons|Giấy phép Creative Commons]] [https://creativecommons.org/licenses/by-sa/4.0/deed.vi Ghi công–Chia sẻ tương tự 4.0 Quốc tế]. =====
* Bạn được tự do:
** '''chia sẻ''' – sao chép, phân phối và chuyển giao tác phẩm
** '''pha trộn''' – để chuyển thể tác phẩm
* Theo các điều kiện sau:
** '''ghi công''' – Bạn phải ghi công tương ứng, cung cấp một liên kết đến giấy phép, và cho thấy các thay đổi có được thực hiện hay không. Bạn có thể làm điều đó bằng bất ký cách nào hợp lý, nhưng không phải bằng các cách gợi ý rằng người cho phép ủng hộ bạn hay việc sử dụng của bạn.
** '''chia sẻ tương tự''' – Nếu bạn thay thế, biến đổi, hoặc làm tác phẩm khác dựa trên tác phẩm này, bạn chỉ được phân phối tác phẩm mới tạo ra với [https://creativecommons.org/share-your-work/licensing-considerations/compatible-licenses một giấy phép y hệt, tương tự hoặc tương thích] với tác phẩm gốc.
==Ghi chú==
<references/>
[[Thể loại:Thành viên Wiktionary]]
[[Thể loại:Thành viên Wikipedia]]
bvz7jehfs5znekdykum0ttrhd7ydfgo
2569402
2569377
2026-10-09T15:46:34Z
TienMinh-mun6xnChing
57893
2569402
wikitext
text/x-wiki
__TOC__
{{ombox
|image=<imagemap>File:Nuvola filesystems folder home.svg|60px|link= </imagemap>|text='''Nhà wiki chính của thành viên này là dự án Wikipedia tiếng Anh, cũng hoạt động với tư cách là Người duyệt bài của dự án. Liên hệ trang thảo luận tôi tại [[:w:en:User talk:TienMinh-mun6xnChing|đây]] để được hỗ trợ tư vấn nếu gặp sự cố tại dự án đó.'''}}{{Message box|backgroundcolor=#FFD700|image=Emblem-unblock-granted.svg|heading=As a Vietnamese Wikipedia administrator, I agree to lift the block on DefenderTienMinh07 after more than a year of probation under the indefinite block, as I find some of the information above to be reasonable, and overall, he is not a sockpuppet of "Trieu Thuan Son". However, it should also be noted that this user has previously engaged in "[[:en:Wikipedia:Gaming the system|gaming the system]]" behavior within the Vietnamese Wikipedia community. Therefore, I hope that he will make improvements to interact harmoniously with the community. Let me reiterate that the Vietnamese Wikipedia community is facing an intense situation with sockpuppet accounts, and mistakes are always possible and unavoidable. We have done our best within our capacity, even though this is only a voluntary role, and it is passion alone that keeps us going on this journey. Thank you to anyone who has read this.|message=I placed the text Vietnamese Wikipedia administrator Plantaest wrote here to thanks him for accepting my appeal on 28 September 2024, the year Vietnamese Wikipedia is still under marshal law to block the sockpuppet from vandalising, somehow confused my account as one of it.}}
{{/Welcome}}
{{/Thời gian}}
{{Trang thành viên}}
== Dự án tôi đang hoạt động ==
* Hoạt động trên Wiktionary tiếng Việt hiện là '''Người lùi sửa''' của dự án.
* Hoạt động Wikimedia Commons và Meta với tư cách là '''Người tự đánh dấu tuần tra''' của dự án. {{ý kiến|1=Ghi chú:}} Tôi thường khá để ý trường hợp vi phạm bản quyền nghiêm trọng.
* Hoạt động trên Wikipedia tiếng Nga là '''Người tải lên''' của dự án.
===Quyền của thành viên ===
==== Quyền hạn và vai trò ====
* [[Wiktionary:Người lùi sửa|Người lùi sửa]]
==== Ngầm thuộc nhóm ====
* [[Wiktionary:Thành viên tự xác nhận|Thành viên tự xác nhận]]
==== Bảo mật ====
* Chế độ an toàn: ''Tắt'' (cần có quyền [[Wiktionary:Bảo quản viên|Bảo quản viên]] để bật Chế độ an toàn<ref>Nếu được đặt thành "Bật", mọi tác vụ như sửa các trang MediaWiki hay gửi thư điện tử đều sẽ bị vô hiệu hóa hoàn toàn.</ref>)
** ''Tình trạng: Không xác định''
** ''Mức báo động: Thấp''
** ''Nhật ký hoạt động: [[Đặc biệt:Nhật trình/DefenderTienMinh07|[nhấn để xem]]]''
{{Message box|image=Editing 1.png|heading=Trạng thái:|backgroundcolor=#8cbed6|message=<sup><span style="color:red; font-family: Georgia; font-weight: bold; font-style: italic;">♥️</span></sup> (nếu trái tim chuyển sang màu xám tức là tôi không hoạt động)}}
* Nhóm toàn cục: Người dùng được miễn cấm IP toàn cục, Người dùng được sử dụng xác thực hai yếu tố ({{Ý kiến|1=Ghi chú:}} Tài khoản của tôi hiện được trang bị '''tính năng xác thực hai yếu tố''' nên tôi cũng chả việc gì phải lo lắng cũng như chả sợ bị hacker đột nhập. <( ̄︶ ̄)>)
== Thông tin ngôn ngữ thành viên ==
Hiện tại tôi đang có chứng chỉ HSK cấp độ 3 với chứng chỉ ngoại ngữ IELTS điểm là 6.0 (mức B2) ở cấp độ Academic, do đó tôi tự tin rằng tiếng Anh của mình là gần với mức chuyên gia. Tôi hiện đang du học và làm việc với tư cách thực tập sinh tại đại học Quảng Tây để mang về thành tích là một tấm bằng Cử nhân Quốc tế danh giá và bằng Thạc sĩ của trường với luận văn tiếng Trung 150 chữ.
Tôi học tiếng Anh tại Bộ phận hỗ trợ Trao đổi sinh viên của Ban công tác kinh doanh của một trường Đại học ở Việt Nam. Các tài liệu học tập về tiếng Anh tôi đăng trên Wiktionary tiếng Anh đơn giản, xem tài liệu chính của tôi ở [[simple:User:TienMinh-mun6xnChing/Basic English learning|đây]].
[[File:Guangxi University of Finance and Economics, Xiangsihu campus (20240216183717).jpg|thumb|Đại học Quảng Tây là nơi tôi đang theo học và sống tại ký túc xá của trường để làm việc]]
{{#babel:vi-N|simple-5|en-4|ja-1|zh-2|zh-Hans-1}}
== Mục từ được thành viên này nâng cấp ==
=== Mục từ cổ đại ===
==== Tiếng Việt ====
* [[Thái hoàng thái thượng]] (hoặc [[thái hoàng thái thượng]]) ([[Đặc biệt:So sánh di động/2084572|phiên bản 2084572]])
* [[Thái Dương Hệ]] ([[Đặc biệt:So sánh di động/2074740|phiên bản 2074740]])
* [[chống lưng]] ([[Đặc biệt:So sánh di động/2080368|phiên bản 2080368]])
* [[sinh ra]] ([[Đặc biệt:So sánh di động/2123145|phiên bản 2123145]])
* [[nhà nho]] ([[Đặc biệt:So sánh di động/2080371)|phiên bản 2080371]])
* [[thi hương]] ([[Đặc biệt:So sánh di động/2080425|phiên bản 2080425]])
* [[trung hòa]] ([[Đặc biệt:So sánh di động/2103129|phiên bản 2103129]])
* [[chủ chốt]] ([[Đặc biệt:So sánh di động/2118720|phiên bản 2118720]])
* [[nhìn thấy]] ([[Đặc biệt:So sánh di động/2123174|phiên bản 2123174]])
* [[tiên kinh]] ([[Đặc biệt:So sánh di động/2123060|phiên bản 2123060]])
* [[ích kỉ]] ([[Đặc biệt:So sánh di động/2123155|phiên bản 2123155]])
* [[đàn nguyệt]] ([[Đặc biệt:So sánh di động/2123120|phiên bản 2123120]])
* [[đàn Kìm]] ([[Đặc biệt:So sánh di động/2123119|phiên bản 2123119]])
* [[nhà đoan]] ([[Đặc biệt:So sánh di động/2123065|phiên bản 2123065]])
* [[bộ gõ]] ([[Đặc biệt:So sánh di động/2123103|phiên bản 2123103]])
* [[chính xác]] ([[Đặc biệt:So sánh di động/2119543|phiên bản 2119543]])
* [[đào lẳng]] ([[Đặc biệt:So sánh di động/2123107|phiên bản 2123107]])
* [[nhà nòi]] ([[Đặc biệt:So sánh di động/2123054|phiên bản 2123054]])
* [[nghiên cứu]] ([[Đặc biệt:So sánh di động/2125346|phiên bản 2125346]])
* [[Vọng Nguyệt cầm]] ([[Đặc biệt:So sánh di động/2123098|phiên bản 2123098]])
* [[nhà dây thép]] ([[Đặc biệt:So sánh di động/2123057|phiên bản 2123057]])
* [[khay liên hợp]] ([[Đặc biệt:So sánh di động/2123047|phiên bản 2123047]])
* [[cây bài chặt]] ([[Đặc biệt:So sánh di động/2123043|phiên bản 2123043]])
==== Tiếng Trung Quốc ====
* [[机甲战士]] ([[Đặc biệt:So sánh di động/2066745|phiên bản 2066745]])
* [[平视显示器]] ([[Đặc biệt:So sánh di động/2125151|phiên bản 2125151]])
== Các mục từ đã tạo ==
=== Mục từ tiếng Việt có nghĩa nhiều chữ nhất không phải thành ngữ hay danh từ riêng ===
{{ombox
|image=<imagemap>
Image:Art Word Cloud.png|65px
default [[Discord]]
desc none </imagemap>
|text=Hiện tại, mục từ tiếng Việt dài nhiều chữ nhất mà không xét về thành ngữ hay danh từ riêng duy nhất được chấp nhận trên dự án theo quy định, mục từ đó nắm giữ kỷ lục về số từ ngữ câu chữ và số ký tự chính là "[[vận tốc căn quân phương]]" với 5 chữ và 18 ký tự, có người [https://vi.wiktionary.org/w/index.php?title=v%E1%BA%ADn_t%E1%BB%91c_c%C4%83n_qu%C3%A2n_ph%C6%B0%C6%A1ng&diff=prev&oldid=2562825 đã chứng minh] điều này là đúng.
}}
* [[tốc độ căn quân phương]] (danh từ, 5 chữ, 17 ký tự)
* (áng) [[thiên cổ hùng văn]] (danh từ, 5 chữ, 17 ký tự)
* [[bội số chung nhỏ nhất]] (danh từ, 5 chữ, 17 ký tự)
* [[ước số chung lớn nhất]] (danh từ, 5 chữ, 17 ký tự)
* [[áng thiên cổ kỳ bút]] (danh từ, 5 chữ, 15 ký tự)
* [[phòng vệ chính đáng]] (động từ, 4 chữ, 16 ký tự)
* [[gia tốc trọng trường]] (danh từ, 4 chữ, 16 ký tự)
* [[lực lượng chức năng]] (danh từ, 4 chữ, 16 ký tự)
* [[tác chiến chiều sâu]] (danh từ, 4 chữ, 16 ký tự)
* [[lực lượng vũ trang]] (danh từ, 4 chữ, 15 ký tự)
* [[tình thế cấp thiết]] (định nghĩa, 4 chữ, 15 ký tự)
* [[tam giác vuông cân]] (danh từ, 4 chữ, 15 ký tự)
* [[bội chung nhỏ nhất]] (danh từ, 4 chữ, 15 ký tự)
* [[ước chung lớn nhất]] (danh từ, 4 chữ, 15 ký tự)
* [[độ lệch tiêu chuẩn]] (danh từ, 4 chữ, 15 ký tự)
* [[phó đại đội trưởng]] (danh từ, 4 chữ, 15 ký tự)
* [[biên độ dao động]] (danh từ, 4 chữ, 14 ký tự)
* [[làm công ăn lương]] (động từ, 4 chữ, 14 ký tự)
* [[xung đột lợi ích]] (định nghĩa, 4 chữ, 14 ký tự)
* [[thiên cổ kỳ bút]] (danh từ, 4 chữ, 12 ký tự)
{{/Các mục từ đã tạo}}
== Giấy phép ==
=== Tôi, người giữ bản quyền trang thành viên này, từ nay sẽ phát hành nó theo giấy phép sau: ===
==== Creative Commons - Attribution-Share Alike ====
[[File:CC-BY-SA.svg|giữa]]
===== This user page is licensed under the [[en:Creative Commons|Creative Commons]] [https://creativecommons.org/licenses/by-sa/4.0/deed.en Attribution-Share Alike 4.0 International] license. =====
* You are free:
** '''to share''' – to copy, distribute and transmit the work
** '''to remix''' – to adapt the work
* Under the following conditions:
** '''attribution''' – You must give appropriate credit, provide a link to the license, and indicate if changes were made. You may do so in any reasonable manner, but not in any way that suggests the licensor endorses you or your use.
** '''share alike''' – If you remix, transform, or build upon the material, you must distribute your contributions under the [https://creativecommons.org/share-your-work/licensing-considerations/compatible-licenses same or compatible license] as the original.
===== Trang thành viên này được phát hành theo [[wikipedia:vi:Giấy phép Creative Commons|Giấy phép Creative Commons]] [https://creativecommons.org/licenses/by-sa/4.0/deed.vi Ghi công–Chia sẻ tương tự 4.0 Quốc tế]. =====
* Bạn được tự do:
** '''chia sẻ''' – sao chép, phân phối và chuyển giao tác phẩm
** '''pha trộn''' – để chuyển thể tác phẩm
* Theo các điều kiện sau:
** '''ghi công''' – Bạn phải ghi công tương ứng, cung cấp một liên kết đến giấy phép, và cho thấy các thay đổi có được thực hiện hay không. Bạn có thể làm điều đó bằng bất ký cách nào hợp lý, nhưng không phải bằng các cách gợi ý rằng người cho phép ủng hộ bạn hay việc sử dụng của bạn.
** '''chia sẻ tương tự''' – Nếu bạn thay thế, biến đổi, hoặc làm tác phẩm khác dựa trên tác phẩm này, bạn chỉ được phân phối tác phẩm mới tạo ra với [https://creativecommons.org/share-your-work/licensing-considerations/compatible-licenses một giấy phép y hệt, tương tự hoặc tương thích] với tác phẩm gốc.
==Ghi chú==
<references/>
[[Thể loại:Thành viên Wiktionary]]
[[Thể loại:Thành viên Wikipedia]]
bnr93gkgitzfpmcihtglp8ho231bv7q
2569403
2569402
2026-10-09T15:47:02Z
TienMinh-mun6xnChing
57893
2569403
wikitext
text/x-wiki
__TOC__
{{ombox
|image=<imagemap>File:Nuvola filesystems folder home.svg|60px|link= </imagemap>|text='''Nhà wiki chính của thành viên này là dự án Wikipedia tiếng Anh, cũng hoạt động với tư cách là Người duyệt bài của dự án. Liên hệ trang thảo luận tôi tại [[:w:en:User talk:TienMinh-mun6xnChing|đây]] để được hỗ trợ tư vấn nếu gặp sự cố tại dự án đó.'''}}{{Message box|backgroundcolor=#FFD700|image=Emblem-unblock-granted.svg|heading=As a Vietnamese Wikipedia administrator, I agree to lift the block on DefenderTienMinh07 after more than a year of probation under the indefinite block, as I find some of the information above to be reasonable, and overall, he is not a sockpuppet of "Trieu Thuan Son". However, it should also be noted that this user has previously engaged in "[[:en:Wikipedia:Gaming the system|gaming the system]]" behavior within the Vietnamese Wikipedia community. Therefore, I hope that he will make improvements to interact harmoniously with the community. Let me reiterate that the Vietnamese Wikipedia community is facing an intense situation with sockpuppet accounts, and mistakes are always possible and unavoidable. We have done our best within our capacity, even though this is only a voluntary role, and it is passion alone that keeps us going on this journey. Thank you to anyone who has read this.|message=I placed the text Vietnamese Wikipedia administrator Plantaest wrote here to thanks him for accepting my appeal on 28 September 2024, the year Vietnamese Wikipedia is still under marshal law to block the sockpuppet from vandalising, somehow confused my account as one of it.}}
{{/Welcome}}
{{/Thời gian}}
{{Trang thành viên}}
== Dự án tôi đang hoạt động ==
* Hoạt động trên Wiktionary tiếng Việt hiện là '''Người lùi sửa''' của dự án.
* Hoạt động Wikimedia Commons và Meta với tư cách là '''Người tự đánh dấu tuần tra''' của dự án. {{ý kiến|1=Ghi chú:}} Tôi thường khá để ý trường hợp vi phạm bản quyền nghiêm trọng.
* Hoạt động trên Wikipedia tiếng Nga là '''Người tải lên''' của dự án.
===Quyền của thành viên ===
==== Quyền hạn và vai trò ====
* [[Wiktionary:Người lùi sửa|Người lùi sửa]]
==== Ngầm thuộc nhóm ====
* [[Wiktionary:Thành viên tự xác nhận|Thành viên tự xác nhận]]
==== Bảo mật ====
* Chế độ an toàn: ''Tắt'' (cần có quyền [[Wiktionary:Bảo quản viên|Bảo quản viên]] để bật Chế độ an toàn<ref>Nếu được đặt thành "Bật", mọi tác vụ như sửa các trang MediaWiki hay gửi thư điện tử đều sẽ bị vô hiệu hóa hoàn toàn.</ref>)
** ''Tình trạng: Không xác định''
** ''Mức báo động: Thấp''
** ''Nhật ký hoạt động: [[Đặc biệt:Nhật trình/DefenderTienMinh07|[nhấn để xem]]]''
{{Message box|image=Editing 1.png|heading=Trạng thái:|backgroundcolor=#8cbed6|message=<sup><span style="color:red; font-family: Georgia; font-weight: bold; font-style: italic;">♥️</span></sup> (nếu trái tim chuyển sang màu xám tức là tôi không hoạt động)}}
* Nhóm toàn cục: Người dùng được miễn cấm IP toàn cục, Người dùng được sử dụng xác thực hai yếu tố ({{Ý kiến|1=Ghi chú:}} Tài khoản của tôi hiện được trang bị '''tính năng xác thực hai yếu tố''' nên tôi cũng chả việc gì phải lo lắng cũng như chả sợ bị hacker đột nhập. <( ̄︶ ̄)>)
== Thông tin ngôn ngữ thành viên ==
Hiện tại tôi đang có chứng chỉ HSK cấp độ 3 với chứng chỉ ngoại ngữ IELTS điểm là 6.0 (mức B2) ở cấp độ Academic, do đó tôi tự tin rằng tiếng Anh của mình là gần với mức chuyên gia. Tôi hiện đang du học và làm việc với tư cách thực tập sinh tại đại học Quảng Tây để mang về thành tích là một tấm bằng Cử nhân Quốc tế danh giá và bằng Thạc sĩ của trường với luận văn tiếng Trung 150 chữ.
Tôi học tiếng Anh tại Bộ phận hỗ trợ Trao đổi sinh viên của Ban công tác kinh doanh của một trường Đại học ở Việt Nam. Các tài liệu học tập về tiếng Anh tôi đăng trên Wiktionary tiếng Anh đơn giản, xem tài liệu chính của tôi ở [[simple:User:TienMinh-mun6xnChing/Basic English learning|đây]].
[[File:Guangxi University of Finance and Economics, Xiangsihu campus (20240216183717).jpg|thumb|Đại học Quảng Tây là nơi tôi đang theo học và sống tại ký túc xá của trường để làm việc]]
{{#babel:vi-N|simple-5|en-4|ja-1|zh-2|zh-Hans-1}}
== Mục từ được thành viên này nâng cấp ==
=== Mục từ cổ đại ===
==== Tiếng Việt ====
* [[Thái hoàng thái thượng]] (hoặc [[thái hoàng thái thượng]]) ([[Đặc biệt:So sánh di động/2084572|phiên bản 2084572]])
* [[Thái Dương Hệ]] ([[Đặc biệt:So sánh di động/2074740|phiên bản 2074740]])
* [[chống lưng]] ([[Đặc biệt:So sánh di động/2080368|phiên bản 2080368]])
* [[sinh ra]] ([[Đặc biệt:So sánh di động/2123145|phiên bản 2123145]])
* [[nhà nho]] ([[Đặc biệt:So sánh di động/2080371)|phiên bản 2080371]])
* [[thi hương]] ([[Đặc biệt:So sánh di động/2080425|phiên bản 2080425]])
* [[trung hòa]] ([[Đặc biệt:So sánh di động/2103129|phiên bản 2103129]])
* [[chủ chốt]] ([[Đặc biệt:So sánh di động/2118720|phiên bản 2118720]])
* [[nhìn thấy]] ([[Đặc biệt:So sánh di động/2123174|phiên bản 2123174]])
* [[tiên kinh]] ([[Đặc biệt:So sánh di động/2123060|phiên bản 2123060]])
* [[ích kỉ]] ([[Đặc biệt:So sánh di động/2123155|phiên bản 2123155]])
* [[đàn nguyệt]] ([[Đặc biệt:So sánh di động/2123120|phiên bản 2123120]])
* [[đàn Kìm]] ([[Đặc biệt:So sánh di động/2123119|phiên bản 2123119]])
* [[nhà đoan]] ([[Đặc biệt:So sánh di động/2123065|phiên bản 2123065]])
* [[bộ gõ]] ([[Đặc biệt:So sánh di động/2123103|phiên bản 2123103]])
* [[chính xác]] ([[Đặc biệt:So sánh di động/2119543|phiên bản 2119543]])
* [[đào lẳng]] ([[Đặc biệt:So sánh di động/2123107|phiên bản 2123107]])
* [[nhà nòi]] ([[Đặc biệt:So sánh di động/2123054|phiên bản 2123054]])
* [[nghiên cứu]] ([[Đặc biệt:So sánh di động/2125346|phiên bản 2125346]])
* [[Vọng Nguyệt cầm]] ([[Đặc biệt:So sánh di động/2123098|phiên bản 2123098]])
* [[nhà dây thép]] ([[Đặc biệt:So sánh di động/2123057|phiên bản 2123057]])
* [[khay liên hợp]] ([[Đặc biệt:So sánh di động/2123047|phiên bản 2123047]])
* [[cây bài chặt]] ([[Đặc biệt:So sánh di động/2123043|phiên bản 2123043]])
==== Tiếng Trung Quốc ====
* [[机甲战士]] ([[Đặc biệt:So sánh di động/2066745|phiên bản 2066745]])
* [[平视显示器]] ([[Đặc biệt:So sánh di động/2125151|phiên bản 2125151]])
== Các mục từ đã tạo ==
=== Mục từ tiếng Việt có nghĩa nhiều chữ nhất không phải thành ngữ hay danh từ riêng ===
{{ombox
|image=<imagemap>
Image:Art Word Cloud.png|65px
default [[Discord]]
desc none </imagemap>
|text=Hiện tại, mục từ tiếng Việt dài nhiều chữ nhất mà không xét về thành ngữ hay danh từ riêng duy nhất được chấp nhận trên dự án theo quy định, mục từ đó nắm giữ kỷ lục về số từ ngữ câu chữ và số ký tự chính là "[[vận tốc căn quân phương]]" với 5 chữ và 18 ký tự, có người [https://vi.wiktionary.org/w/index.php?title=v%E1%BA%ADn_t%E1%BB%91c_c%C4%83n_qu%C3%A2n_ph%C6%B0%C6%A1ng&diff=prev&oldid=2562825 đã chứng minh] điều này là đúng.
}}
* [[tốc độ căn quân phương]] (danh từ, 5 chữ, 17 ký tự)
* (áng) [[thiên cổ hùng văn]] (danh từ, 5 chữ, 17 ký tự)
* [[bội số chung nhỏ nhất]] (danh từ, 5 chữ, 17 ký tự)
* [[ước số chung lớn nhất]] (danh từ, 5 chữ, 17 ký tự)
* [[áng thiên cổ kỳ bút]] (danh từ, 5 chữ, 15 ký tự)
* [[phòng vệ chính đáng]] (động từ, 4 chữ, 16 ký tự)
* [[gia tốc trọng trường]] (danh từ, 4 chữ, 16 ký tự)
* [[lực lượng chức năng]] (danh từ, 4 chữ, 16 ký tự)
* [[tác chiến chiều sâu]] (danh từ, 4 chữ, 16 ký tự)
* [[lực lượng vũ trang]] (danh từ, 4 chữ, 15 ký tự)
* [[tình thế cấp thiết]] (định nghĩa, 4 chữ, 15 ký tự)
* [[tam giác vuông cân]] (danh từ, 4 chữ, 15 ký tự)
* [[bội chung nhỏ nhất]] (danh từ, 4 chữ, 15 ký tự)
* [[ước chung lớn nhất]] (danh từ, 4 chữ, 15 ký tự)
* [[độ lệch tiêu chuẩn]] (danh từ, 4 chữ, 15 ký tự)
* [[phó đại đội trưởng]] (danh từ, 4 chữ, 15 ký tự)
* [[biên độ dao động]] (danh từ, 4 chữ, 14 ký tự)
* [[làm công ăn lương]] (động từ, 4 chữ, 14 ký tự)
* [[xung đột lợi ích]] (định nghĩa, 4 chữ, 13 ký tự)
* [[thiên cổ kỳ bút]] (danh từ, 4 chữ, 12 ký tự)
{{/Các mục từ đã tạo}}
== Giấy phép ==
=== Tôi, người giữ bản quyền trang thành viên này, từ nay sẽ phát hành nó theo giấy phép sau: ===
==== Creative Commons - Attribution-Share Alike ====
[[File:CC-BY-SA.svg|giữa]]
===== This user page is licensed under the [[en:Creative Commons|Creative Commons]] [https://creativecommons.org/licenses/by-sa/4.0/deed.en Attribution-Share Alike 4.0 International] license. =====
* You are free:
** '''to share''' – to copy, distribute and transmit the work
** '''to remix''' – to adapt the work
* Under the following conditions:
** '''attribution''' – You must give appropriate credit, provide a link to the license, and indicate if changes were made. You may do so in any reasonable manner, but not in any way that suggests the licensor endorses you or your use.
** '''share alike''' – If you remix, transform, or build upon the material, you must distribute your contributions under the [https://creativecommons.org/share-your-work/licensing-considerations/compatible-licenses same or compatible license] as the original.
===== Trang thành viên này được phát hành theo [[wikipedia:vi:Giấy phép Creative Commons|Giấy phép Creative Commons]] [https://creativecommons.org/licenses/by-sa/4.0/deed.vi Ghi công–Chia sẻ tương tự 4.0 Quốc tế]. =====
* Bạn được tự do:
** '''chia sẻ''' – sao chép, phân phối và chuyển giao tác phẩm
** '''pha trộn''' – để chuyển thể tác phẩm
* Theo các điều kiện sau:
** '''ghi công''' – Bạn phải ghi công tương ứng, cung cấp một liên kết đến giấy phép, và cho thấy các thay đổi có được thực hiện hay không. Bạn có thể làm điều đó bằng bất ký cách nào hợp lý, nhưng không phải bằng các cách gợi ý rằng người cho phép ủng hộ bạn hay việc sử dụng của bạn.
** '''chia sẻ tương tự''' – Nếu bạn thay thế, biến đổi, hoặc làm tác phẩm khác dựa trên tác phẩm này, bạn chỉ được phân phối tác phẩm mới tạo ra với [https://creativecommons.org/share-your-work/licensing-considerations/compatible-licenses một giấy phép y hệt, tương tự hoặc tương thích] với tác phẩm gốc.
==Ghi chú==
<references/>
[[Thể loại:Thành viên Wiktionary]]
[[Thể loại:Thành viên Wikipedia]]
3pbduw5ebn8s12d2sk8ekjywotf2u7x
2569413
2569403
2026-10-09T15:59:26Z
TienMinh-mun6xnChing
57893
2569413
wikitext
text/x-wiki
__TOC__
{{ombox
|image=<imagemap>File:Nuvola filesystems folder home.svg|60px|link= </imagemap>|text='''Nhà wiki chính của thành viên này là dự án Wikipedia tiếng Anh, cũng hoạt động với tư cách là Người duyệt bài của dự án. Liên hệ trang thảo luận tôi tại [[:w:en:User talk:TienMinh-mun6xnChing|đây]] để được hỗ trợ tư vấn nếu gặp sự cố tại dự án đó.'''}}{{Message box|backgroundcolor=#FFD700|image=Emblem-unblock-granted.svg|heading=As a Vietnamese Wikipedia administrator, I agree to lift the block on DefenderTienMinh07 after more than a year of probation under the indefinite block, as I find some of the information above to be reasonable, and overall, he is not a sockpuppet of "Trieu Thuan Son". However, it should also be noted that this user has previously engaged in "[[:en:Wikipedia:Gaming the system|gaming the system]]" behavior within the Vietnamese Wikipedia community. Therefore, I hope that he will make improvements to interact harmoniously with the community. Let me reiterate that the Vietnamese Wikipedia community is facing an intense situation with sockpuppet accounts, and mistakes are always possible and unavoidable. We have done our best within our capacity, even though this is only a voluntary role, and it is passion alone that keeps us going on this journey. Thank you to anyone who has read this.|message=I placed the text Vietnamese Wikipedia administrator Plantaest wrote here to thanks him for accepting my appeal on 28 September 2024, the year Vietnamese Wikipedia is still under marshal law to block the sockpuppet from vandalising, somehow confused my account as one of it.}}
{{/Welcome}}
{{/Thời gian}}
{{Trang thành viên}}
== Dự án tôi đang hoạt động ==
* Hoạt động trên Wiktionary tiếng Việt hiện là '''Người lùi sửa''' của dự án.
* Hoạt động Wikimedia Commons và Meta với tư cách là '''Người tự đánh dấu tuần tra''' của dự án. {{ý kiến|1=Ghi chú:}} Tôi thường khá để ý trường hợp vi phạm bản quyền nghiêm trọng.
* Hoạt động trên Wikipedia tiếng Nga là '''Người tải lên''' của dự án.
===Quyền của thành viên ===
==== Quyền hạn và vai trò ====
* [[Wiktionary:Người lùi sửa|Người lùi sửa]]
==== Ngầm thuộc nhóm ====
* [[Wiktionary:Thành viên tự xác nhận|Thành viên tự xác nhận]]
==== Bảo mật ====
* Chế độ an toàn: ''Tắt'' (cần có quyền [[Wiktionary:Bảo quản viên|Bảo quản viên]] để bật Chế độ an toàn<ref>Nếu được đặt thành "Bật", mọi tác vụ như sửa các trang MediaWiki hay gửi thư điện tử đều sẽ bị vô hiệu hóa hoàn toàn.</ref>)
** ''Tình trạng: Không xác định''
** ''Mức báo động: Thấp''
** ''Nhật ký hoạt động: [[Đặc biệt:Nhật trình/DefenderTienMinh07|[nhấn để xem]]]''
{{Message box|image=Editing 1.png|heading=Trạng thái:|backgroundcolor=#8cbed6|message=<sup><span style="color:red; font-family: Georgia; font-weight: bold; font-style: italic;">♥️</span></sup> (nếu trái tim chuyển sang màu xám tức là tôi không hoạt động)}}
* Nhóm toàn cục: Người dùng được miễn cấm IP toàn cục, Người dùng được sử dụng xác thực hai yếu tố ({{Ý kiến|1=Ghi chú:}} Tài khoản của tôi hiện được trang bị '''tính năng xác thực hai yếu tố''' nên tôi cũng chả việc gì phải lo lắng cũng như chả sợ bị hacker đột nhập. <( ̄︶ ̄)>)
== Thông tin ngôn ngữ thành viên ==
Hiện tại tôi đang có chứng chỉ HSK cấp độ 3 với chứng chỉ ngoại ngữ IELTS điểm là 6.0 (mức B2) ở cấp độ Academic, do đó tôi tự tin rằng tiếng Anh của mình là gần với mức chuyên gia. Tôi hiện đang du học và làm việc với tư cách thực tập sinh tại đại học Quảng Tây để mang về thành tích là một tấm bằng Cử nhân Quốc tế danh giá và bằng Thạc sĩ của trường với luận văn tiếng Trung 150 chữ.
Tôi học tiếng Anh tại Bộ phận hỗ trợ Trao đổi sinh viên của Ban công tác kinh doanh của một trường Đại học ở Việt Nam. Các tài liệu học tập về tiếng Anh tôi đăng trên Wiktionary tiếng Anh đơn giản, xem tài liệu chính của tôi ở [[simple:User:TienMinh-mun6xnChing/Basic English learning|đây]].
[[File:Guangxi University of Finance and Economics, Xiangsihu campus (20240216183717).jpg|thumb|Đại học Quảng Tây là nơi tôi đang theo học và sống tại ký túc xá của trường để làm việc]]
{{#babel:vi-N|simple-5|en-4|ja-1|zh-2|zh-Hans-1}}
== Mục từ được thành viên này nâng cấp ==
=== Mục từ cổ đại ===
==== Tiếng Việt ====
* [[Thái hoàng thái thượng]] (hoặc [[thái hoàng thái thượng]]) ([[Đặc biệt:So sánh di động/2084572|phiên bản 2084572]])
* [[Thái Dương Hệ]] ([[Đặc biệt:So sánh di động/2074740|phiên bản 2074740]])
* [[chống lưng]] ([[Đặc biệt:So sánh di động/2080368|phiên bản 2080368]])
* [[sinh ra]] ([[Đặc biệt:So sánh di động/2123145|phiên bản 2123145]])
* [[nhà nho]] ([[Đặc biệt:So sánh di động/2080371)|phiên bản 2080371]])
* [[thi hương]] ([[Đặc biệt:So sánh di động/2080425|phiên bản 2080425]])
* [[trung hòa]] ([[Đặc biệt:So sánh di động/2103129|phiên bản 2103129]])
* [[chủ chốt]] ([[Đặc biệt:So sánh di động/2118720|phiên bản 2118720]])
* [[nhìn thấy]] ([[Đặc biệt:So sánh di động/2123174|phiên bản 2123174]])
* [[tiên kinh]] ([[Đặc biệt:So sánh di động/2123060|phiên bản 2123060]])
* [[ích kỉ]] ([[Đặc biệt:So sánh di động/2123155|phiên bản 2123155]])
* [[đàn nguyệt]] ([[Đặc biệt:So sánh di động/2123120|phiên bản 2123120]])
* [[đàn Kìm]] ([[Đặc biệt:So sánh di động/2123119|phiên bản 2123119]])
* [[nhà đoan]] ([[Đặc biệt:So sánh di động/2123065|phiên bản 2123065]])
* [[bộ gõ]] ([[Đặc biệt:So sánh di động/2123103|phiên bản 2123103]])
* [[chính xác]] ([[Đặc biệt:So sánh di động/2119543|phiên bản 2119543]])
* [[đào lẳng]] ([[Đặc biệt:So sánh di động/2123107|phiên bản 2123107]])
* [[nhà nòi]] ([[Đặc biệt:So sánh di động/2123054|phiên bản 2123054]])
* [[nghiên cứu]] ([[Đặc biệt:So sánh di động/2125346|phiên bản 2125346]])
* [[Vọng Nguyệt cầm]] ([[Đặc biệt:So sánh di động/2123098|phiên bản 2123098]])
* [[nhà dây thép]] ([[Đặc biệt:So sánh di động/2123057|phiên bản 2123057]])
* [[khay liên hợp]] ([[Đặc biệt:So sánh di động/2123047|phiên bản 2123047]])
* [[cây bài chặt]] ([[Đặc biệt:So sánh di động/2123043|phiên bản 2123043]])
==== Tiếng Trung Quốc ====
* [[机甲战士]] ([[Đặc biệt:So sánh di động/2066745|phiên bản 2066745]])
* [[平视显示器]] ([[Đặc biệt:So sánh di động/2125151|phiên bản 2125151]])
== Các mục từ đã tạo ==
=== Mục từ tiếng Việt có nghĩa nhiều chữ nhất không phải thành ngữ hay danh từ riêng ===
{{ombox
|image=<imagemap>
Image:Art Word Cloud.png|65px
default [[Discord]]
desc none </imagemap>
|text=Hiện tại, mục từ tiếng Việt dài nhiều chữ nhất mà không xét về thành ngữ hay danh từ riêng duy nhất được chấp nhận trên dự án theo quy định, mục từ đó nắm giữ kỷ lục về số từ ngữ câu chữ và số ký tự chính là "[[vận tốc căn quân phương]]" với 5 chữ và 18 ký tự, có người [https://vi.wiktionary.org/w/index.php?title=v%E1%BA%ADn_t%E1%BB%91c_c%C4%83n_qu%C3%A2n_ph%C6%B0%C6%A1ng&diff=prev&oldid=2562825 đã chứng minh] điều này là đúng.
}}
* [[tốc độ căn quân phương]] (danh từ, 5 chữ, 17 ký tự)
* (áng) [[thiên cổ hùng văn]] (danh từ, 5 chữ, 17 ký tự)
* [[bội số chung nhỏ nhất]] (danh từ, 5 chữ, 17 ký tự)
* [[ước số chung lớn nhất]] (danh từ, 5 chữ, 17 ký tự)
* [[áng thiên cổ kỳ bút]] (danh từ, 5 chữ, 15 ký tự)
* [[dân quân thường trực]] (danh từ, 4 chữ, 17 ký tự)
* [[phòng vệ chính đáng]] (động từ, 4 chữ, 16 ký tự)
* [[gia tốc trọng trường]] (danh từ, 4 chữ, 16 ký tự)
* [[lực lượng chức năng]] (danh từ, 4 chữ, 16 ký tự)
* [[tác chiến chiều sâu]] (danh từ, 4 chữ, 16 ký tự)
* [[lực lượng vũ trang]] (danh từ, 4 chữ, 15 ký tự)
* [[tình thế cấp thiết]] (định nghĩa, 4 chữ, 15 ký tự)
* [[tam giác vuông cân]] (danh từ, 4 chữ, 15 ký tự)
* [[bội chung nhỏ nhất]] (danh từ, 4 chữ, 15 ký tự)
* [[ước chung lớn nhất]] (danh từ, 4 chữ, 15 ký tự)
* [[độ lệch tiêu chuẩn]] (danh từ, 4 chữ, 15 ký tự)
* [[phó đại đội trưởng]] (danh từ, 4 chữ, 15 ký tự)
* [[biên độ dao động]] (danh từ, 4 chữ, 14 ký tự)
* [[làm công ăn lương]] (động từ, 4 chữ, 14 ký tự)
* [[xung đột lợi ích]] (định nghĩa, 4 chữ, 13 ký tự)
* [[thiên cổ kỳ bút]] (danh từ, 4 chữ, 12 ký tự)
{{/Các mục từ đã tạo}}
== Giấy phép ==
=== Tôi, người giữ bản quyền trang thành viên này, từ nay sẽ phát hành nó theo giấy phép sau: ===
==== Creative Commons - Attribution-Share Alike ====
[[File:CC-BY-SA.svg|giữa]]
===== This user page is licensed under the [[en:Creative Commons|Creative Commons]] [https://creativecommons.org/licenses/by-sa/4.0/deed.en Attribution-Share Alike 4.0 International] license. =====
* You are free:
** '''to share''' – to copy, distribute and transmit the work
** '''to remix''' – to adapt the work
* Under the following conditions:
** '''attribution''' – You must give appropriate credit, provide a link to the license, and indicate if changes were made. You may do so in any reasonable manner, but not in any way that suggests the licensor endorses you or your use.
** '''share alike''' – If you remix, transform, or build upon the material, you must distribute your contributions under the [https://creativecommons.org/share-your-work/licensing-considerations/compatible-licenses same or compatible license] as the original.
===== Trang thành viên này được phát hành theo [[wikipedia:vi:Giấy phép Creative Commons|Giấy phép Creative Commons]] [https://creativecommons.org/licenses/by-sa/4.0/deed.vi Ghi công–Chia sẻ tương tự 4.0 Quốc tế]. =====
* Bạn được tự do:
** '''chia sẻ''' – sao chép, phân phối và chuyển giao tác phẩm
** '''pha trộn''' – để chuyển thể tác phẩm
* Theo các điều kiện sau:
** '''ghi công''' – Bạn phải ghi công tương ứng, cung cấp một liên kết đến giấy phép, và cho thấy các thay đổi có được thực hiện hay không. Bạn có thể làm điều đó bằng bất ký cách nào hợp lý, nhưng không phải bằng các cách gợi ý rằng người cho phép ủng hộ bạn hay việc sử dụng của bạn.
** '''chia sẻ tương tự''' – Nếu bạn thay thế, biến đổi, hoặc làm tác phẩm khác dựa trên tác phẩm này, bạn chỉ được phân phối tác phẩm mới tạo ra với [https://creativecommons.org/share-your-work/licensing-considerations/compatible-licenses một giấy phép y hệt, tương tự hoặc tương thích] với tác phẩm gốc.
==Ghi chú==
<references/>
[[Thể loại:Thành viên Wiktionary]]
[[Thể loại:Thành viên Wikipedia]]
ryo7cnn3fkaq5sjsjlz3zzv2vsgotbx
Mô đun:languages/data/3/l
828
272290
2569415
2568389
2026-10-09T17:13:14Z
Lcsnes
40261
2569415
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["laa"] = {
"Lapuyan Subanun",
12635302,
"phi",
}
m["lab"] = {
"Linear A",
nil,
}
m["lac"] = {
"Lacandon",
35766,
"myn",
}
m["lad"] = {
"tiếng Ladino",
36196,
"roa-ibe",
"Hebr, Latn, Cyrl",
"Tiếng Ladino",
"Ladino",
ancestors = "osp",
}
m["lae"] = {
"Pattani",
7148323,
"sit-whm",
}
m["laf"] = {
"Lafofa",
35711,
"alv",
}
m["lag"] = {
"Langi",
584983,
"bnt-mra",
}
m["lah"] = {
"tiếng Lahnda",
1334774,
"inc-pan",
"pa-Arab",
"Tiếng Lahnda",
"Lahnda",
ancestors = "inc-opa",
}
m["lai"] = {
"Lambya",
6481626,
"bnt-mby",
}
m["laj"] = {
"Lango (Uganda)",
35670,
"sdv-los",
"Latn",
}
m["lak"] = {
"Laka",
6474529, -- also Q55616620
"csu-sar", -- formerly classified as "alv-mbm"; see [[w:Lau Laka language]]
}
m["lam"] = {
"Lamba",
36098,
"bnt-sbi",
"Latn",
}
m["lan"] = {
"Laru",
3913987,
"nic-knj",
"Latn",
}
m["lap"] = {
"Kabba-Laka",
6474528,
"csu-sar",
}
m["laq"] = {
"Qabiao",
3436700,
"qfa-kra",
}
m["lar"] = {
"Larteh",
35639,
"alv-gng",
"Latn",
}
m["las"] = {
"tiếng Lama Gur",
35652,
"nic-gne",
"Latn",
"Tiếng Lama Gur",
"Lama Gur",
}
m["lau"] = {
"Laba",
12952694,
"paa-nha"
}
m["law"] = {
"Lauje",
6498258,
"poz",
"Latn",
}
m["lax"] = {
"tiếng Tiwa",
7810466,
"tbq-bdg",
"Latn, Beng",
"Tiếng Tiwa",
"Tiwa",
}
m["lay"] = {
"tiếng Bạch Lạp Mã",
6480756,
"sit-nba",
"Hani, Latn",
sort_key = {Hani = "Hani-sortkey"},
"Tiếng Bạch Lạp Mã",
"Bạch Lạp Mã",
}
m["laz"] = {
"Aribwatsa",
3502104,
"poz-ocw",
"Latn",
}
m["lbb"] = {
"Label",
3214296,
"poz-ocw",
"Latn",
}
m["lbc"] = {
"Lakkia",
3027879,
"qfa-tak",
}
m["lbe"] = {
"tiếng Lak",
36206,
"cau-nec",
"Cyrl, Latn, Arab, Geor",
"Tiếng Lak",
"Lak",
translit = {Cyrl = "lbe-translit"},
override_translit = true,
display_text = {Cyrl = s["cau-Cyrl-displaytext"]},
entry_name = {
Cyrl = s["cau-Cyrl-entryname"],
Latn = s["cau-Latn-entryname"],
},
sort_key = "lbe-sortkey",
}
m["lbf"] = {
"Tinani",
784502,
"sit-whm",
}
m["lbg"] = {
"Laopang",
12952711,
"tbq-bis",
}
m["lbi"] = {
"La'bi",
6460637,
"alv-mbm",
}
m["lbj"] = {
"tiếng Ladakh",
35833,
"sit-lab",
"Tibt, Arab",
"Tiếng Ladakh",
"Ladakh",
translit = { Tibt = "Tibt-translit" },
override_translit = true,
display_text = s["Tibt-displaytext"],
entry_name = s["Tibt-entryname"],
sort_key = "Tibt-sortkey",
}
m["lbk"] = {
"Central Bontoc",
nil,
"phi",
"Latn",
}
m["lbl"] = {
"Libon Bikol",
18664462,
"phi",
}
m["lbm"] = {
"tiếng Lodha",
6666374,
"mun",
"Deva, Orya",
"Tiếng Lodha",
"Lodha",
translit = { Orya = "or-translit" },
}
m["lbn"] = {
"tiếng Lamet",
3216723,
"mkh-pal",
"Laoo",
"Tiếng Lamet",
"Lamet",
}
m["lbo"] = {
"tiếng Jru'",
6298648,
"mkh-ban",
"Latn",
"Tiếng Jru'",
"Jru'"
}
m["lbq"] = {
"Wampar",
7966946,
"poz-ocw",
"Latn",
}
m["lbr"] = {
"Northern Lorung",
6668040,
"sit-kie",
}
m["lbs"] = {
"Libyan Sign Language",
11775688,
"sgn",
}
m["lbt"] = {
"Lachi",
6583606,
"qfa-kra",
}
m["lbu"] = {
"Labu",
6467660,
"poz-ocw",
"Latn",
}
m["lbv"] = {
"Lavatbura-Lamusong",
2405981,
"poz-ocw",
"Latn",
}
m["lbw"] = {
"Tolaki",
3033597,
"poz-btk",
"Latn",
}
m["lbx"] = {
"Lawangan",
3120345,
"poz-bre",
"Latn",
}
m["lby"] = {
"Lamu-Lamu",
6482727,
nil,
"Latn",
}
m["lbz"] = {
"Lardil",
3915688,
"aus-tnk",
"Latn",
}
m["lcc"] = {
"Legenyem",
12952713,
"poz-hce",
"Latn",
}
m["lcd"] = {
"Lola",
6668867,
"poz-cet",
"Latn",
}
m["lce"] = {
"Loncong",
3058192,
}
m["lcf"] = {
"Lubu",
3264685,
}
m["lch"] = {
"Luchazi",
3265143,
"bnt-clu",
}
m["lcl"] = {
"Lisela",
6558753,
"poz-cma",
"Latn",
}
m["lcm"] = {
"Tungag",
3542085,
"poz-ocw",
"Latn",
}
m["lcp"] = {
"tiếng Lawa Tây",
18644465,
"mkh-pal",
"Thai",
"Tiếng Lawa Tây",
"Lawa Tây",
sort_key = "Thai-sortkey",
}
m["lcq"] = {
"Luhu",
6699890,
"poz-cma",
"Latn",
}
m["lcs"] = {
"Lisabata-Nuniali",
6558534,
}
m["lda"] = {
"Kla",
nil,
"dmn-mda",
"Latn",
}
m["ldb"] = {
"Idun",
3914441,
"nic-plc",
"Latn",
}
m["ldd"] = {
"Luri (Nigeria)",
4701277,
"cdc-wst",
}
m["ldg"] = {
"Lenyima",
3914423,
"nic-uce",
"Latn",
}
m["ldh"] = {
"Lamja-Dengsa-Tola",
11001739,
"nic-dak",
}
m["ldj"] = {
"Lemoro",
3912761,
"nic-jer",
}
m["ldk"] = {
"Leelau",
3914465,
"alv-bwj",
}
m["ldl"] = {
"Kaan",
3914501,
"alv-yun",
}
m["ldm"] = {
"Landoma",
35568,
"alv-mel",
}
m["ldn"] = {
"tiếng Láadan",
35757,
"art",
"Latn",
type = "appendix-constructed",
}
m["ldo"] = {
"Loo",
3915378,
"alv-bwj",
}
m["ldp"] = {
"Tso",
3913953,
"alv-wjk",
}
m["ldq"] = {
"Lufu",
35796,
"nic-ykb",
"Latn",
}
m["lea"] = {
"Lega-Shabunda",
12952719,
"bnt-lgb",
}
m["leb"] = {
"Lala-Bisa",
6480112,
"bnt-sbi",
}
m["lec"] = {
"Leco",
2625398,
"qfa-iso",
}
m["led"] = {
"Lendu",
523823,
"csu-lnd",
"Latn",
}
m["lee"] = {
"Lyélé",
3089032,
"nic-gnn",
}
m["lef"] = {
"tiếng Lelemi",
35585,
"alv-ntg",
"Latn",
"Tiếng Lelemi",
"Lelemi",
}
m["leh"] = {
"Lenje",
6522666,
"bnt-bot",
}
m["lei"] = {
"Lemio",
6521165,
"ngf-mad",
}
m["lej"] = {
"Lengola",
6522474,
"bnt-leb",
}
m["lek"] = {
"Leipon",
3229216,
"poz-aay",
"Latn",
}
m["lel"] = {
"Lele (Congo)",
56733,
"bnt-bsh",
}
m["lem"] = {
"Nomaande",
13479983,
"nic-mbw",
"Latn",
}
m["len"] = {
"Honduran Lenca",
36189,
"nai-len",
"Latn",
}
m["leo"] = {
"Leti (Cameroon)",
1345684,
"nic-mba",
ancestors = "bag",
}
m["lep"] = {
"tiếng Lepcha",
35990,
"sit",
"Lepc",
"Tiếng Lepcha",
"Lepcha",
translit = "lep-translit",
}
m["leq"] = {
"Lembena",
6521067,
"paa-eng",
}
m["ler"] = {
"Lenkau",
3229472,
"poz-aay",
"Latn",
}
m["les"] = {
"Lese",
11033939,
"csu-mle",
}
m["let"] = {
"Lesing-Gelimi",
12635445,
"poz-ocw",
"Latn",
}
m["leu"] = {
"Kara (New Guinea)",
3192889,
"poz-ocw",
"Latn",
}
m["lev"] = {
"Lamma",
6583582,
"ngf",
}
m["lew"] = { -- this code was basically assigned as a catch-all for things that aren't brs, kzf or unz
"Ledo Kaili",
35877,
"poz-kal",
"Latn",
}
m["lex"] = {
"Luang",
6695015,
"poz-tim",
}
m["ley"] = {
"Lemolang",
3033560,
}
m["lez"] = {
"tiếng Lezgi",
31746,
"cau-esm",
"Cyrl, Latn, Arab",
"Tiếng Lezgi",
"Lezgi",
translit = "lez-translit",
override_translit = true,
display_text = {Cyrl = s["cau-Cyrl-displaytext"]},
entry_name = {
Cyrl = s["cau-Cyrl-entryname"],
Latn = s["cau-Latn-entryname"],
},
}
m["lfa"] = {
"Lefa",
35643,
"bnt-baf",
}
m["lfn"] = {
"Lingua Franca Nova",
146803,
"art",
"Latn, Cyrl",
type = "appendix-constructed",
}
m["lga"] = {
"Lungga",
3267590,
"poz-ocw",
"Latn",
}
m["lgb"] = {
"Laghu",
3216169,
"poz-ocw",
"Latn",
}
m["lgg"] = {
"Lugbara",
3272737,
"csu-mma",
}
m["lgh"] = {
"Laghuu",
6472114,
"tbq-muj",
}
m["lgi"] = {
"Lengilu",
6522465,
"poz-swa",
"Latn",
}
m["lgk"] = {
"Neverver",
3241515,
"poz-vnc",
"Latn",
}
m["lgl"] = {
"Wala",
3565284,
"poz-sls",
}
m["lgm"] = {
"Lega-Mwenga",
14916883,
"bnt-lgb",
}
m["lgn"] = {
"Opuuo",
3354339,
"ssa-kom",
}
m["lgq"] = {
"tiếng Logba",
35813,
"alv-ntg",
"Latn",
"Tiếng Logba",
"Logba",
}
m["lgr"] = {
"Lengo",
3229454,
"poz-sls",
"Latn",
}
m["lgs"] = {
"Guinea-Bissau Sign Language",
5616441,
"sgn",
}
m["lgt"] = {
"Pahi",
7124545,
"paa-spk",
"Latn",
}
m["lgu"] = {
"Longgu",
3259105,
"poz-sls",
}
m["lgz"] = {
"Ligenza",
5531038,
"bnt-bun",
}
m["lha"] = {
"tiếng La Ha",
3112363,
"qfa-kra",
}
m["lhh"] = {
"Laha (Indonesia)",
6473107,
"poz-cma",
}
m["lhi"] = {
"Lahu Shi",
25559457,
"tbq-lho",
}
m["lhl"] = {
"tiếng Lahul Lohar",
12953672,
"inc",
"Takr",
"Tiếng Lahul Lohar",
"Lahul Lohar",
}
m["lhm"] = {
"tiếng Lhomi",
14240916,
"sit-tib",
"Deva",
"Tiếng Lhomi",
"Lhomi",
}
m["lhn"] = {
"Lahanan",
12953660,
}
m["lhp"] = {
"Lhokpu",
3436603,
"sit-dhi",
}
m["lhs"] = {
"tiếng Mlahsö",
3393063,
"sem-cna",
"Syrc",
"Tiếng Mlahsö",
"Mlahsö",
}
m["lht"] = {
"Lo-Toga",
3257566,
"poz-vnc",
"Latn",
}
m["lhu"] = {
"tiếng La Hủ",
35780,
"tbq-lho",
"Latn",
"Tiếng La Hủ",
"La Hủ",
}
m["lia"] = {
"West-Central Limba",
32867815,
"alv-lim",
}
m["lib"] = {
"Likum",
3240737,
"poz-aay",
"Latn",
}
m["lic"] = {
"tiếng Hlai",
934738,
"qfa-lic",
"Latn",
"Tiếng Hlai",
"Hlai",
}
m["lid"] = {
"Nyindrou",
3346666,
"poz-aay",
"Latn",
}
m["lie"] = {
"Likila",
11011614,
"bnt-ngn",
}
m["lif"] = {
"Limbu",
56477,
"sit-kir",
"Limb",
translit = "lif-translit",
}
m["lig"] = {
"Ligbi",
33594,
"dmn-jje",
}
m["lih"] = {
"Lihir",
6546938,
"poz-ocw",
"Latn",
}
m["lii"] = {
"Lingkhim",
12635536,
}
m["lij"] = {
"tiếng Liguria",
36106,
"roa-git",
"Latn",
"Tiếng Liguria",
"Liguria",
}
m["lik"] = {
"Lika",
1530394,
"bnt-boa",
}
m["lil"] = {
"tiếng Lillooet",
34154,
"sal",
nil,
"Tiếng Lillooet",
"Lillooet",
}
m["lio"] = {
"Liki",
4261493,
"poz-ocw",
"Latn",
}
m["lip"] = {
"Sekpele",
36257,
"alv-ntg",
}
m["liq"] = {
"tiếng Libido",
35691,
"cus-hec",
nil,
"Tiếng Libido",
"Libido",
}
m["lir"] = {
"Liberian Kreyol",
6541128,
"crp",
"Latn",
ancestors = "en",
}
m["lis"] = {
"tiếng Lisu",
56480,
"tbq-lso",
"Lisu, Latn",
"Tiếng Lisu",
"Lisu",
translit = {Lisu = "Lisu-translit"},
override_translit = true,
sort_key = {Lisu = s["Lisu-sortkey"]},
}
m["liu"] = {
"Logorik",
6667811,
"sdv-daj",
}
m["liv"] = {
"tiếng Livonia",
33698,
"urj-fin",
"Latn",
"Tiếng Livonia",
"Livonia",
entry_name = {
remove_diacritics = "'" .. u(0x2019),
from = {"Ǭ", "ǭ"},
to = {"Ō", "ō"}
},
}
m["liw"] = {
"Col",
2981948,
}
m["lix"] = {
"tiếng Liabuku",
13580912,
"poz-mun",
nil,
"Tiếng Liabuku",
"Liabuku"
}
m["liy"] = {
"tiếng Banda-Bambari",
11051591,
"bad-cnt",
"Latn",
"Tiếng Banda-Bambari",
"Banda-Bambari",
}
m["liz"] = {
"Libinza",
4914576,
"bnt-zbi",
}
m["lja"] = {
"Golpa",
nil,
"aus-yol",
"Latn",
}
m["lje"] = {
"Rampi",
7290041,
"poz",
}
m["lji"] = {
"Laiyolo",
6474218,
}
m["ljl"] = {
"Li'o",
2697010,
"poz",
}
m["ljp"] = {
"Lampung Api",
49215,
"poz-lgx",
"Latn",
}
m["ljw"] = {
"Yirandali",
17059380,
}
m["ljx"] = {
"Yuru",
nil,
}
m["lka"] = {
"tiếng Lakalei",
12952700,
"poz-tim",
"Latn",
"Tiếng Lakalei",
"Lakalei",
}
m["lkb"] = {
"Kabras",
nil,
"bnt-msl",
ancestors = "luy",
}
m["lkc"] = {
"Kucong",
6441572,
"tbq-lho",
}
m["lkd"] = {
"Lakondê",
20527166,
"sai-nmk",
"Latn",
}
m["lke"] = {
"Kenyi",
12952628,
"bnt-nyg",
}
m["lkh"] = {
"Lakha",
56606,
"sit-tib",
}
m["lki"] = {
"tiếng Laki",
56483,
"ku",
"fa-Arab",
"Tiếng Laki",
"Laki",
translit = "lki-translit",
entry_name = {remove_diacritics = c.kasra .. c.sukun},
}
m["lkj"] = {
"Remun",
7312239,
}
m["lkl"] = {
"Laeko-Libuat",
3504331,
"qfa-tor",
}
m["lkm"] = {
"Kalaamaya",
6349988,
}
m["lkn"] = {
"Lakon",
3216494,
"poz-vnc",
"Latn",
}
m["lko"] = {
"Khayo",
6401095,
"bnt-msl",
}
m["lkr"] = {
"Päri",
36487,
"sdv-lon",
}
m["lks"] = {
"Kisa",
nil,
"bnt-msl",
ancestors = "luy",
}
m["lkt"] = {
"tiếng Lakota",
33537,
"sio-dkt",
"Latn",
"Tiếng Lakota",
"Lakota",
}
m["lku"] = {
"Kungkari",
6444526,
}
m["lky"] = {
"Lokoya",
56687,
"sdv-lma",
}
m["lla"] = {
"Lala-Roba",
3914878,
"alv-yun",
}
m["llb"] = {
"Lolo",
11006056,
"bnt-mak",
ancestors = "vmw",
}
m["llc"] = {
"Lele (Guinea)",
6520837,
"dmn-mok",
}
m["lld"] = {
"tiếng Ladin",
36202,
"roa-rhe",
"Latn",
"Tiếng Ladin",
"Ladin",
}
m["lle"] = {
"Lele (New Guinea)",
3229269,
"poz-oce",
"Latn",
}
m["llf"] = {
"Hermit",
3134240,
"poz-aay",
"Latn",
}
m["llg"] = {
"Lole",
6668883,
"poz-tim",
}
m["llh"] = {
"Lamu",
6482736,
"tbq-lso",
}
m["lli"] = {
"Teke-Laali",
36543,
"bnt-nze",
}
m["llj"] = {
"Ladji-Ladji",
6512694,
"aus-pam",
}
m["llk"] = {
"Lelak",
3229263,
"poz-swa",
"Latn",
}
m["lll"] = {
"Lilau",
6547570,
"qfa-tor",
}
m["llm"] = {
"tiếng Lasalimu",
6492774,
"poz-mun",
"Latn",
"Tiếng Lasalimu",
"Lasalimu"
}
m["lln"] = {
"Lele (Chad)",
1641493,
"cdc-est",
}
m["llo"] = {
"Khlor",
27921409,
"mkh-kat",
}
m["llp"] = {
"tiếng Efate Bắc",
3580152,
"poz-vnc",
"Latn",
"Tiếng Efate Bắc",
"Efate Bắc",
}
m["llq"] = {
"Lolak",
12953679,
"phi",
}
m["lls"] = {
"Lithuanian Sign Language",
3915480,
"sgn",
}
m["llu"] = {
"Lau",
3218574,
"poz-sls",
"Latn",
}
m["llx"] = {
"Lauan",
35682,
"poz-occ",
"Latn",
}
m["lma"] = {
"East Limba",
11034212,
"alv-lim",
}
m["lmb"] = {
"Merei",
12952843,
"poz-vnc",
"Latn",
}
m["lmc"] = {
"Limilngan",
6549414,
}
m["lmd"] = {
"Lumun",
35777,
"alv-tal",
}
m["lme"] = {
"Pévé",
56249,
"cdc-mas",
}
m["lmf"] = {
"South Lembata",
7567815,
}
m["lmg"] = {
"Lamogai",
278365,
"poz-ocw",
"Latn",
}
m["lmh"] = {
"Lambichhong",
6481472,
"sit-kie",
ancestors = "ybh",
}
m["lmi"] = {
"Lombi",
11259563,
"csu-maa",
}
m["lmj"] = {
"West Lembata",
6864697,
}
m["lmk"] = {
"tiếng Lamkang",
12952703,
"tbq-kuk",
"Latn, Mymr",
"Tiếng Lamkang",
"Lamkang",
}
m["lml"] = {
"tiếng Hano",
3063193,
"poz-vnc",
"Latn",
"Tiếng Hano",
"Hano",
}
m["lmn"] = {
"tiếng Lambadi",
33474,
"inc-wes",
ancestors = "raj",
"Knda, Deva, Telu",
"Tiếng Lambadi",
"Lambadi",
}
m["lmo"] = {
"tiếng Lombard",
33754,
"roa-git",
"Latn",
"Tiếng Lombard",
"Lombard",
}
m["lmp"] = {
"tiếng Limbum",
35801,
"nic-nka",
"Latn",
"Tiếng Limbum",
"Limbum",
}
m["lmq"] = {
"Lamatuka",
6480982,
}
m["lmr"] = {
"Lamalera",
6480787,
}
m["lmu"] = {
"Lamenu",
740604,
"poz-vnc",
"Latn",
}
m["lmv"] = {
"Lomaiviti",
3130221,
"poz-occ",
"Latn",
}
m["lmw"] = {
"Lake Miwok",
3216471,
"nai-you",
"Latn",
}
m["lmx"] = {
"Laimbue",
6473933,
"nic-rnw",
}
m["lmy"] = {
"tiếng Lamboya",
6481538,
"poz-cet",
"Latn",
"Tiếng Lamboya",
"Lamboya",
sort_key = "lmy-sortkey",
}
m["lmz"] = {
"Lumbee",
12635887,
nil,
"Latn",
}
m["lna"] = {
"Langbashe",
11137550,
"bad",
}
m["lnb"] = {
"Mbalanhu",
12952830,
"bnt-ova",
}
m["lnd"] = {
"Lun Bawang",
13479839,
"poz-swa",
"Latn",
}
m["lnh"] = {
"tiếng Lanoh",
6487291,
"mkh-asl",
nil,
"Tiếng Lanoh",
"Lanoh",
}
m["lni"] = {
"Daantanai'",
5207384,
"paa-sbo",
}
m["lnj"] = {
"Linngithigh",
3915694,
"aus-pmn",
"Latn",
}
m["lnl"] = {
"tiếng Banda Trung Nam",
41354532,
"bad",
"Latn",
"Tiếng Banda Trung Nam",
"Banda Trung Nam",
}
m["lnm"] = {
"Langam",
6485678,
"paa",
"Latn",
}
m["lnn"] = {
"Lorediakarkar",
6680287,
"poz-vnc",
"Latn",
}
m["lno"] = {
"Lango (Sudan)",
223306,
"sdv-lma",
}
m["lns"] = {
"Lamnso'",
35788,
"nic-rng",
}
m["lnu"] = {
"Longuda",
35797,
"alv-bam",
"Latn",
}
m["lnw"] = {
"Lanima",
nil,
"aus-pam",
"Latn",
}
m["loa"] = {
"Loloda",
6669025,
"paa-nha",
"Latn",
}
m["lob"] = {
"tiếng Lobi",
35807,
"nic-gur",
"Latn",
"Tiếng Lobi",
"Lobi",
}
m["loc"] = {
"Inonhan",
2400870,
"phi",
}
m["lod"] = {
"Berawan",
4891018,
"poz-swa",
"Latn",
}
m["loe"] = {
"Saluan",
12953867,
"poz",
}
m["lof"] = {
"Logol",
35779,
"alv-hei",
}
m["log"] = {
"Logo",
2613477,
"csu-mma",
}
m["loh"] = {
"Narim",
56353,
"sdv",
}
m["loi"] = {
"Lomakka",
3913961,
"alv-kul",
}
m["loj"] = {
"tiếng Lou",
3260104,
"poz-aay",
"Latn",
"Tiếng Lou",
"Lou",
}
m["lok"] = {
"Loko",
3914912,
"dmn-msw",
"Latn",
}
m["lol"] = {
"tiếng Mongo",
112893,
"bnt-mon",
"Latn",
"Tiếng Mongo",
"Mongo",
}
m["lom"] = {
"tiếng Loma",
35885,
"dmn-msw",
"Latn, Loma",
"Tiếng Loma",
"Loma",
}
m["lon"] = {
"Malawi Lomwe",
10975286,
}
m["loo"] = {
"Lombo",
11167192,
"bnt-ske",
}
m["lop"] = {
"Lopa",
3914875,
}
m["loq"] = {
"Lobala",
4849710,
"bnt-ngn",
}
m["lor"] = {
"Téén",
36467,
"alv-kul",
}
m["los"] = {
"Loniu",
3259202,
"poz-aay",
"Latn",
}
m["lot"] = {
"Lotuko",
56672,
"sdv-lma",
}
m["lou"] = {
"tiếng Creole Louisiana",
1185127,
"crp",
"Latn",
ancestors = "fr",
sort_key = s["roa-oil-sortkey"],
"Tiếng Creole Louisiana",
"Creole Louisiana",
}
m["lov"] = {
"Lopi",
12952740,
"tbq-tal",
}
m["low"] = {
"Tampias Lobu",
12953674,
}
m["lox"] = {
"Loun",
6689636,
"poz-cet",
"Latn",
}
m["loy"] = {
"tiếng Loke",
12952744,
"sit-tib",
"Tibt, Deva",
"Tiếng Loke",
"Loke",
translit = { Tibt = "Tibt-translit" },
override_translit = true,
display_text = s["Tibt-displaytext"],
entry_name = s["Tibt-entryname"],
sort_key = "Tibt-sortkey",
}
m["loz"] = {
"Lozi",
33628,
"bnt-sts",
"Latn",
}
m["lpa"] = {
"Lelepa",
3229273,
"poz-vnc",
}
m["lpe"] = {
"Lepki",
4259152,
"paa-pau",
}
m["lpn"] = {
"Long Phuri Naga",
6673049,
"sit-aao",
}
m["lpo"] = {
"Lipo",
56921,
"tbq-llo",
"Plrd",
}
m["lpx"] = {
"Lopit",
56684,
"sdv-lma",
}
m["lra"] = {
"Rara Bakati'",
3419746,
"day",
}
m["lrc"] = {
"tiếng Lur Bắc",
19933293,
"ira-swi",
"fa-Arab",
"Tiếng Lur Bắc",
"Lur Bắc",
ancestors = "pal",
}
m["lre"] = {
"Laurentian",
1790301,
"iro-nor",
"Latn",
}
m["lrg"] = {
"Laragia",
2591193,
}
m["lri"] = {
"Marachi",
6754565,
"bnt-msl",
}
m["lrk"] = {
"Loarki",
6663513,
}
m["lrl"] = {
"tiếng Lar",
33468,
"ira-swi",
"fa-Arab",
"Tiếng Lar",
"Lar",
}
m["lrm"] = {
"Marama",
nil,
"bnt-msl",
ancestors = "luy",
}
m["lrn"] = {
"Lorang",
6678781,
}
m["lro"] = {
"Laro",
35687,
"alv-hei",
}
m["lrr"] = {
"Southern Lorung",
12952742,
"sit-kie",
}
m["lrt"] = {
"Larantuka Malay",
6488691,
"poz-mly",
"Latn",
}
m["lrv"] = {
"Larevat",
3217892,
"poz-vnc",
"Latn",
}
m["lrz"] = {
"Lemerig",
2028448,
"poz-vnc",
}
m["lsa"] = {
"Lasgerdi",
3218296,
"ira-kms",
}
m["lsd"] = {
"tiếng Lishana Deni",
3436461,
"sem-nna",
"Hebr",
"Tiếng Lishana Deni",
"Lishana Deni",
}
m["lse"] = {
"Lusengo",
6683546,
"bnt-zbi",
}
m["lsh"] = {
"Lish",
6558822,
"sit-khb",
}
m["lsi"] = {
"tiếng Lashi",
6493203,
"tbq-brm",
nil,
"Tiếng Lashi",
"Lashi",
}
m["lsl"] = {
"Latvian Sign Language",
6497414,
"sgn",
}
m["lsm"] = {
"Saamia",
3739441,
"bnt-msl",
}
m["lso"] = {
"Laos Sign Language",
6488022,
"sgn",
}
m["lsp"] = {
"Panamanian Sign Language",
7129968,
"sgn",
}
m["lsr"] = {
"Aruop",
3450566,
"qfa-tor",
}
m["lss"] = {
"Lasi",
12953669,
"inc-snd",
"Arab",
ancestors = "sd",
}
m["lst"] = {
"Trinidad and Tobago Sign Language",
7842495,
"sgn",
}
m["lsy"] = {
"Mauritian Sign Language",
6793754,
"sgn",
}
m["ltc"] = {
"tiếng Hán trung cổ",
2016252,
"zhx",
"Hant, Phag, Tang",
"Tiếng Hán trung cổ",
"Hán trung cổ",
translit = {Hant = "zh-translit"},
sort_key = {Hant = "Hani-sortkey"},
}
m["ltg"] = {
"tiếng Latgale",
36212,
"bat-eas",
"Latn",
"Tiếng Latgale",
"Latgale",
}
m["lti"] = {
"tiếng Leti (Indonesia)",
3236912,
"poz-tim",
"Latn",
"Tiếng Leti (Indonesia)",
"Leti (Indonesia)",
}
m["ltn"] = {
"tiếng Latundê",
nil,
"sai-nmk",
"Latn",
"Tiếng Latundê",
"Latundê",
}
m["lto"] = {
"Olutsotso",
nil,
"bnt-msl",
ancestors = "luy",
}
m["lts"] = {
"Lutachoni",
nil,
"bnt-msl",
}
m["ltu"] = {
"Latu",
6497181,
"poz-cma",
}
m["lua"] = {
"tiếng Luba-Kasai",
34173,
"bnt-lub",
"Latn",
}
m["luc"] = {
"Aringa",
56556,
"csu-mma",
}
m["lud"] = {
"tiếng Lyydi",
33918,
"urj-fin",
"Latn, Cyrl",
"Tiếng Lyydi",
"Lyydi",
}
m["lue"] = {
"Luvale",
33597,
"bnt-clu",
"Latn",
}
m["luf"] = {
"Laua",
6497673,
}
m["lui"] = {
"Luiseño",
56236,
"azc-cup",
"Latn",
entry_name = {remove_diacritics = c.acute .. c.circ},
}
m["luj"] = {
"Luna",
11003832,
"bnt-lbn",
}
m["luk"] = {
"tiếng Lunana",
56446,
"sit-tib",
"Tibt",
"Tiếng Lunana",
"Lunana",
ancestors = "dz",
translit = "Tibt-translit",
override_translit = true,
display_text = s["Tibt-displaytext"],
entry_name = s["Tibt-entryname"],
sort_key = "Tibt-sortkey",
}
m["lul"] = {
"Olu'bo",
6589401,
"csu-mma",
}
m["lum"] = {
"Luimbi",
10963134,
"bnt-clu",
}
m["lun"] = {
"Lunda",
33607,
"bnt-lun",
"Latn",
}
m["luo"] = {
"Luo",
5414796,
"sdv-los",
"Latn",
}
m["lup"] = {
"tiếng Lumbu",
35793,
"bnt-sir",
"Latn",
"Tiếng Lumbu",
"Lumbu",
}
m["luq"] = {
"tiếng Lucumí",
1768321,
"alv-yor",
"Latn",
"Tiếng Lucumí",
"Lucumí",
ancestors = "yo",
sort_key = {
remove_diacritics = c.acute,
},
}
m["lur"] = {
"Laura",
2984540,
}
m["lus"] = {
"tiếng Mizo",
36147,
"tbq-kuk",
"Latn",
"Tiếng Mizo",
"Mizo",
}
m["lut"] = {
"tiếng Lushootseed",
33658,
"sal",
"Latn",
"Tiếng Lushootseed",
"Lushootseed",
}
m["luu"] = {
"Lumba-Yakkha",
6703050,
"sit-kie",
ancestors = "ybh",
}
m["luv"] = {
"Luwati",
33402,
"inc-snd",
"Khoj",
}
m["luy"] = {
"tiếng Luhya",
35893,
"bnt-msl",
"Latn",
"Tiếng Luhya",
"Luhya",
}
m["luz"] = {
"tiếng Lur Nam",
12952748,
"ira-swi",
"fa-Arab",
"Tiếng Lur Nam",
"Lur Nam",
ancestors = "pal",
}
m["lva"] = {
"Maku'a",
35790,
"poz-tim",
}
m["lvi"] = {
"tiếng Lawi",
6502657,
"mkh-ban",
"Latn",
"Tiếng Lawi",
"Lawi",
}
m["lvk"] = {
"tiếng Lavukaleve",
770547,
"paa",
"Latn",
"Tiếng Lavukaleve",
"Lavukaleve",
}
m["lvl"] = {
"Lwel",
93936908,
"bnt-bdz",
"Latn",
}
m["lvu"] = {
"Levuka",
6535860,
}
m["lwa"] = {
"Lwalu",
6706953,
"bnt-lbn",
}
m["lwe"] = {
"Lewo Eleng",
6537465,
}
m["lwg"] = {
"Wanga",
nil,
"bnt-msl",
ancestors = "luy",
}
m["lwh"] = {
"White Lachi",
8842956,
"qfa-kra",
}
m["lwl"] = {
"tiếng Lawa Đông",
18644464,
"mkh-pal",
"Thai",
"Tiếng Lawa Đông",
"Lawa Đông",
sort_key = "Thai-sortkey",
}
m["lwm"] = {
"tiếng Laomian",
19597674,
"tbq-bis",
"Thai",
"Tiếng Laomian",
"Laomian",
}
m["lwo"] = {
"Luwo",
56362,
"sdv-lon",
"Latn",
}
m["lws"] = {
"Malawian Sign Language",
47522462,
"sgn",
}
m["lwt"] = {
"Lewotobi",
14916885,
}
m["lwu"] = {
"Lawu",
6505073,
"tbq-lwo",
}
m["lww"] = {
"tiếng Lewo",
3237321,
"poz-vnc",
"Latn",
"Tiếng Lewo",
"Lewo",
}
m["lya"] = {
"tiếng Laya",
56602,
"sit-tib",
"Tibt",
"Tiếng Laya",
"Laya",
ancestors = "dz",
translit = "Tibt-translit",
override_translit = true,
display_text = s["Tibt-displaytext"],
entry_name = s["Tibt-entryname"],
sort_key = "Tibt-sortkey",
}
m["lyg"] = {
"tiếng Lyngngam",
12635902,
"aav-pkl",
nil,
"Tiếng Lyngngam",
"Lyngngam",
}
m["lyn"] = {
"Luyana",
3268098,
}
m["lzh"] = {
"tiếng Văn ngôn",
37041,
"zhx",
"Hant",
"Tiếng Văn ngôn",
"Văn ngôn",
wikimedia_codes = "zh-classical",
translit = "zh-translit",
sort_key = "Hani-sortkey",
}
m["lzl"] = {
"Litzlitz",
6653424,
"poz-vnc",
"Latn",
}
m["lzn"] = {
"Leinong Naga",
5924455,
"sit-kch",
}
m["lzz"] = {
"tiếng Laz",
1160372,
"ccs-zan",
"Geor, Latn",
"Tiếng Laz",
"Laz",
translit = {Geor = "lzz-translit"},
override_translit = true,
entry_name = {remove_diacritics = c.grave .. c.acute .. c.circ},
}
return require("Module:languages").finalizeData(m, "language")
c6ou9pu7azhn6jv5lcus5mmbn3qng19
ciluu
0
274049
2569385
2568312
2026-10-09T15:26:37Z
Hiyuune
50834
2569385
wikitext
text/x-wiki
=={{langname|yuy}}==
==={{section|n}}===
{{head|yuy|Danh từ}}
# [[hòn đá|Hòn đá]].
{{c|yuy|Địa chất học}}
qi3b0a9rp21evqq168xxkvyirla6qgc
hönegen
0
282038
2569411
2102007
2026-10-09T15:57:08Z
Hiyuune
50834
2569411
wikitext
text/x-wiki
=={{langname|yuy}}==
==={{section|alt}}===
* {{alt|yuy|henegen}}
==={{section|n}}===
{{head|yuy|Danh từ}}
# [[con]] [[cáo]].
klcetpu7eooqqjnwgqfzuxvijeppddw
henegen
0
282040
2569410
2568257
2026-10-09T15:56:15Z
Hiyuune
50834
2569410
wikitext
text/x-wiki
=={{langname|yuy}}==
==={{section|alt}}===
* {{alt|yuy|hönegen}}
==={{section|n}}===
{{head|yuy|Danh từ}}
# [[con]] [[cáo]].
{{c|yuy|Họ Chó}}
cd74w1rubd29irycykw8tn6f41j7wy6
xuur
0
282043
2569374
2568336
2026-10-09T15:15:55Z
Hiyuune
50834
2569374
wikitext
text/x-wiki
=={{langname|yuy}}==
==={{section|n}}===
{{head|yuy|Danh từ}}
# [[đàn]] [[luýt]].
{{c|yuy|Nhạc cụ}}
rq4bteulj2rpeu5npclr61wps36pyps
labcigh
0
283407
2569389
2568288
2026-10-09T15:32:14Z
Hiyuune
50834
2569389
wikitext
text/x-wiki
=={{langname|yuy}}==
==={{section|n}}===
{{head|yuy|Danh từ}}
# [[lá|Lá]].
==={{section|ref}}===
* Juha Janhunen, ''The Mongolic Languages'' (2006) {{ISBN|1135796904}}
{{c|yuy|Thực vật}}
2r064ys38jbknh2k8w7yc6k9md1ot6z
jirghal
0
283419
2569409
2568271
2026-10-09T15:54:47Z
Hiyuune
50834
2569409
wikitext
text/x-wiki
=={{langname|yuy}}==
==={{section|n}}===
{{head|yuy|Danh từ}}
# [[niềm]] [[hạnh phúc]].
==={{section|ref}}===
* Juha Janhunen, ''The Mongolic Languages'' (2006) {{ISBN|1135796904}}
{{c|yuy|Đức hạnh}}
3ljkagnruy4fyfc0xkufj8t5a1k9ok6
shiwge
0
283422
2569396
2568277
2026-10-09T15:41:01Z
Hiyuune
50834
2569396
wikitext
text/x-wiki
=={{langname|yuy}}==
==={{section|n}}===
{{head|yuy|Danh từ}}
# [[dùi|Dùi]].
==={{section|ref}}===
* Juha Janhunen, ''The Mongolic Languages'' (2006) {{ISBN|1135796904}}
{{c|yuy|Dụng cụ}}
6cdkckzi4tsato60gf8ma2wwjkzxekz
Mô đun:ru-verb
828
283801
2569422
2264200
2026-10-10T03:46:15Z
Hiyuune
50834
2569422
Scribunto
text/plain
--[=[
This module contains functions for creating inflection tables for Russian
verbs.
Author: Benwing, rewritten from early version by Atitarev, earliest version by CodeCat
NOTE: This module is partly converted to support manual translit, in the
form CYRILLIC//LATIN (i.e. with a // separating the Cyrillic and Latin
parts). All the general infrastructure supports manual translit; the
only thing that doesn't is some of the specific verb conjugation functions.
In particular, all of the class 1, 2, 3 and 4 conjugation functions support
manual translit, and the rest don't. To convert another, follow the
model of one of the already-converted functions.
Note that an individual form (an entry in the 'forms' table) can be
either a string (no special manual translit; generally this originates
from the portion of the code that doesn't support manual translit), or
a one-element list {CYRILLIC} (no special manual translit), or a
two-element list {CYRILLIC, LATIN} with manual translit specified.
The code is careful only to generate manual translit when it's needed,
to avoid penalizing the majority of cases where manual transit isn't
needed.
]=]
local m_str_utils = require("Module:string utilities")
local m_utilities = require("Module:utilities")
local m_table = require("Module:table")
local m_links = require("Module:links")
local com = require("Module:ru-common")
local m_debug = require("Module:debug")
local m_table_tools = require("Module:table tools")
-- If enabled, compare this module with new version of module to make
-- sure all conjugations are the same.
local test_new_ru_verb_module = false
local export = {}
-- Within this module, conjugations are the functions that do the actual
-- conjugating by creating the forms of a basic verb.
-- They are defined further down.
local conjugations = {}
local lang = require("Module:languages").getByCode("ru")
local u = m_str_utils.char
local rfind = m_str_utils.find
local rsubn = m_str_utils.gsub
local rmatch = m_str_utils.match
local rsplit = m_str_utils.split
local usub = m_str_utils.sub
local AC = u(0x0301) -- acute = ́
local DIA = u(0x0308) -- diaeresis = ̈
local PSEUDOCONS = u(0xFFF2) -- pseudoconsonant placeholder, matching ru-common
local IRREG = "△"
-- version of rsubn() that discards all but the first return value
local function rsub(term, foo, bar)
local retval = rsubn(term, foo, bar)
return retval
end
-- version of rsubn() that returns a 2nd argument boolean indicating whether
-- a substitution was made.
local function rsubb(term, foo, bar)
local retval, nsubs = rsubn(term, foo, bar)
return retval, nsubs > 0
end
-- Fancy version of ine() (if-not-empty). Converts empty string to nil,
-- but also strips leading/trailing space and then single or double quotes,
-- to allow for embedded spaces.
local function ine(arg)
if not arg then return nil end
arg = rsub(arg, "^%s*(.-)%s*$", "%1")
if arg == "" then return nil end
local inside_quotes = rmatch(arg, '^"(.*)"$')
if inside_quotes then
return inside_quotes
end
inside_quotes = rmatch(arg, "^'(.*)'$")
if inside_quotes then
return inside_quotes
end
return arg
end
local function is_vowel_stem(stem)
return rfind(stem, "[" .. com.vowel .. AC .. DIA .. "]$")
end
-- Return the next number to use as an internal note symbol, starting at 1.
-- We look at existing internal notes to see if the symbol is already used.
local function next_note_symbol(data)
local nextsym = 1
while true do
local sym_already_seen = false
for _, note in ipairs(data.internal_notes) do
if rfind(note, "^" .. nextsym .. " ") then
sym_already_seen = true
break
end
end
if sym_already_seen then
nextsym = nextsym + 1
else
break
end
end
return nextsym
end
-- FIXME: Move to utils
-- Iterate over a chain of parameters, FIRST then PREF2, PREF3, ...,
-- inserting into LIST (newly created if omitted). Return LIST.
local function get_arg_chain(args, first, pref, list)
if not list then
list = {}
end
local val = args[first]
local i = 2
while val do
table.insert(list, val)
val = args[pref .. i]
i = i + 1
end
return list
end
-- FIXME: Move to utils
-- Set a chain of parameters, FIRST then PREF2, PREF3, ..., from LIST.
local function set_arg_chain(args, first, pref, list)
local param = first
local i = 2
for _, val in ipairs(list) do
args[param] = val
param = pref .. i
i = i + 1
end
end
local function normalize_form(form)
if type(form) == "table" and m_table.length(form) == 1 then
return form[1]
end
return form
end
-- For a given form in a conjugation table, we allow either strings or
-- two-element lists {RUSSIAN, TRANSLIT}, where TRANSLIT can be nil
-- (equivalent to a one-element list). When comparing them, we have to take
-- this into account.
local function forms_equal(form1, form2)
return m_table.deepEquals(normalize_form(form1), normalize_form(form2))
end
local function contains_form(forms, form)
for _, f in ipairs(forms) do
if forms_equal(f, form) then
return true
end
end
return false
end
-- FIXME: Move to utils
-- Append to the end of a chain of parameters, FIRST then PREF2, PREF3, ...,
-- if the value isn't already present.
local function append_to_arg_chain(args, first, pref, newval)
local nextarg = first
local i = 2
if newval == "" then
error("Internal error: attempt to insert blank value into arg chain")
end
while true do
if not args[nextarg] then break end
if forms_equal(args[nextarg], newval) then
return nil
end
nextarg = pref .. i
i = i + 1
end
args[nextarg] = newval
return nextarg
end
local function get_true_arg(arg, not_off_by_1)
-- We normally move all params down by one because the first param is the
-- verb type; so reflect this correctly if the arg is numeric and
-- not_off_by_1 isn't given
return (not_off_by_1 or type(arg) ~= "number") and arg or arg + 1
end
local function getarg(args, arg, default, paramdesc, not_off_by_1)
paramdesc = paramdesc or "Parameter " .. get_true_arg(arg, not_off_by_1)
default = default or "-"
--PAGENAME = mw.title.getCurrentTitle().text
local NAMESPACE = mw.title.getCurrentTitle().nsText
return args[arg] or (NAMESPACE == "Template" and default) or error(paramdesc .. " has not been provided")
end
local function check_stressed_arg(val, arg)
-- don't consider suffixes
if not rfind(val, "^%-") and not com.is_nonsyllabic(val) and not com.is_stressed(val) then
error("Argument value " .. val .. " (parameter " .. get_true_arg(arg) .. ") must be stressed")
end
return val
end
local function get_stressed_arg(args, arg, default, paramdesc)
local retval = getarg(args, arg, default, paramdesc)
check_stressed_arg(retval, arg)
return retval
end
local function get_opt_stressed_arg(args, arg)
return args[arg] and get_stressed_arg(args, arg) or nil
end
local function check_unstressed_arg(val, arg)
if com.is_stressed(val) then
error("Argument value " .. val .. " (parameter " .. get_true_arg(arg) .. ") should not be stressed")
end
return val
end
local function get_unstressed_arg(args, arg, default, paramdesc)
local retval = getarg(args, arg, default, paramdesc)
check_unstressed_arg(retval, arg)
return retval
end
local function get_opt_unstressed_arg(args, arg)
return args[arg] and get_unstressed_arg(args, arg) or nil
end
local function no_stray_args(args, maxarg)
for i=(maxarg + 1), 20 do
if args[i] then
error("Value for argument " .. get_true_arg(i) .. " not allowed ("
.. args[i] .. " supplied)")
end
end
end
-- Extract a form spec (either a single string or a two-element table {RU, TR}
-- into the component Russian and transliterated components. Normally, if
-- an explicit manual translit wasn't given, the resulting translit will be
-- nil; but if ALWAYS_TRANSLIT is given, it will be auto-transliterated from
-- the Russian as needed.
local function extract_russian_tr(form, always_translit)
local ru, tr
if type(form) == "table" then
ru, tr = form[1], form[2]
else
ru = form
end
if not tr and always_translit then
tr = ru and com.translit(ru)
end
return ru, tr
end
local function strip_arg_status_prefix(arg)
if not arg then
return arg, ""
end
local subbed
arg, subbed = rsubb(arg, "^awkward%-", "")
if subbed then
return arg, "awkward-"
end
arg, subbed = rsubb(arg, "^none%-", "")
if subbed then
return arg, "none-"
end
return arg, ""
end
local function track(page)
m_debug.track("ru-verb/" .. page)
return true
end
-- Forward functions
local present_e_a
local present_e_b
local present_e_c
local present_je
local present_i
local make_reflexive
local make_pre_reform
local parse_and_stress_override
local handle_forms_and_overrides
local finish_generating_forms
local make_table
local all_verb_types = {
"pf", "pf-intr", "pf-refl",
"pf-impers", "pf-intr-impers", "pf-refl-impers",
"impf", "impf-intr", "impf-refl",
"impf-impers", "impf-intr-impers", "impf-refl-impers"}
-- Examples of alternatives in use:
-- past_m2: со́здал/созда́л, пе́редал/переда́л, о́тдал/отда́л, при́нялся/принялся́
-- past_m3: for verbs with three past masculine sg forms: за́нялся, заня́лся, занялс́я (заня́ться)
-- past_n2: да́ло, дал́о; вз́яло, взяло́
-- past_pl2: разобрали́сь (разобрали́)
-- past_m_short: short forms in 3a (исчез, сох, etc.)
-- past_f_short: short forms in 3a (исчезла, сохла, etc.)
-- past_n_short: short forms in 3a (исчезло, сохло, etc.)
-- past_pl_short: short forms in 3a (исчезли, сохли, etc.)
-- past_adv_parts:
-- тереть: тере́вши, тёрши, short: тере́в
-- умереть: умере́вши, у́мерши, short: умере́в
-- pres_adv_part: сыпля, сыпя, лёжа (лежать)
-- pres_2sg2: сыплешь, сыпешь
-- pres_3sg2: сыплет, сыпет
-- pres_1pl2: сыплем, сыпем
-- pres_2pl2: сыплете, сыпете
-- pres_3pl2: сыплют, сыпют
-- futr_2sg2: насыплешь, насыпешь
-- futr_3sg2: насыплет, насыпет
-- futr_1pl2: насыплем, насыпем
-- futr_2pl2: насыплете, насыпете
-- futr_3pl2: насыплют, насыпют
-- List of all main verb forms. Short forms (those ending in "_short")
-- must be listed after the corresponding non-short forms.
local all_main_verb_forms = {
-- present tense
"pres_1sg", "pres_2sg", "pres_3sg", "pres_1pl", "pres_2pl", "pres_3pl",
-- future tense
"futr_1sg", "futr_2sg", "futr_3sg", "futr_1pl", "futr_2pl", "futr_3pl",
-- present-future tense. The conjugation functions generate the
-- "present-future" tense instead of either the present or future tense,
-- since the same forms are used in the present imperfect and future
-- perfect. These forms are later copied into the present or future in
-- finish_generating_forms().
"pres_futr_1sg", "pres_futr_2sg", "pres_futr_3sg", "pres_futr_1pl", "pres_futr_2pl", "pres_futr_3pl",
-- imperative
"impr_sg", "impr_pl",
-- past
"past_m", "past_f", "past_n", "past_pl",
"past_m_short", "past_f_short", "past_n_short", "past_pl_short",
-- active participles
"pres_actv_part", "past_actv_part",
-- passive participles
"pres_pasv_part", "past_pasv_part",
-- adverbial participles
"pres_adv_part", "past_adv_part", "past_adv_part_short",
-- infinitive
"infinitive"
}
-- List of all verb forms. Each element is a list, where the first element
-- is the "main" form and the remainder are alternatives. The following
-- *MUST* hold:
-- 1. Forms must be given in the order they will appear in the outputted
-- table.
-- 2. Short forms (those ending in "_short") must be listed after the
-- corresponding non-short forms.
-- 3. For each person, e.g. '2sg', there must be the same number of
-- futr_PERSON, pres_PERSON and pres_futr_PERSON forms, and the alternative
-- forms must be listed in the same order.
--
-- FIXME!!! We should fix things so we no longer need to compute this table.
local all_verb_forms = {}
-- Compile all_verb_forms
for _, mainform in ipairs(all_main_verb_forms) do
local entry = {}
table.insert(entry, mainform)
for i=2,9 do
table.insert(entry, mainform .. i)
end
table.insert(all_verb_forms, entry)
end
local prop_aliases = {
pap="past_actv_part",
paptail="past_actv_part_tail",
paptailall="past_actv_part_tailall",
ppp="past_pasv_part",
ppptail="past_pasv_part_tail",
ppptailall="past_pasv_part_tailall",
prap="pres_actv_part",
praptail="pres_actv_part_tail",
praptailall="pres_actv_part_tailall",
prpp="pres_pasv_part",
prpptail="pres_pasv_part_tail",
prpptailall="pres_pasv_part_tailall",
padp="past_adv_part",
padptail="past_adv_part_tail",
padptailall="past_adv_part_tailall",
padp_short="past_adv_part_short",
padp_shorttail="past_adv_part_short_tail",
padp_shorttailall="past_adv_part_short_tailall",
pradp="pres_adv_part",
pradptail="pres_adv_part_tail",
pradptailall="pres_adv_part_tailall",
}
-- Table mapping "main" to the list of all forms in the series (e.g.
-- past_m, past_m2, past_m3, etc.). If a main form (e.g. past_m) is missing,
-- it needs to end up with a value of "", whereas the alternatives
-- (e.g. past_m2, past_m3) need to end up with a value of nil.
local main_to_all_verb_forms = {}
-- List of the main verb forms for the past.
local past_verb_forms = {"past_m", "past_f", "past_n", "past_pl"}
-- List of the main verb forms for the present.
local pres_verb_forms = {"pres_1sg", "pres_2sg", "pres_3sg",
"pres_1pl", "pres_2pl", "pres_3pl"}
-- List of the main verb forms for the future.
local futr_verb_forms = {"futr_1sg", "futr_2sg", "futr_3sg",
"futr_1pl", "futr_2pl", "futr_3pl"}
-- List of the main verb forms for the imperative.
local impr_verb_forms = {"impr_sg", "impr_pl"}
-- List of the main verb forms for participles.
local part_verb_forms = {"pres_actv_part", "past_actv_part",
"pres_pasv_part", "past_pasv_part",
"pres_adv_part", "past_adv_part", "past_adv_part_short"}
-- List of the main verb forms for present participles.
local pres_part_verb_forms = {"pres_actv_part", "pres_pasv_part",
"pres_adv_part"}
-- List of the main verb forms for past participles.
local past_part_verb_forms = {"past_actv_part", "past_pasv_part",
"past_adv_part", "past_adv_part_short"}
-- Compile main_to_all_verb_forms.
for _, proplist in ipairs(all_verb_forms) do
main_to_all_verb_forms[proplist[1]] = proplist
end
-- Map listing the forms to be displayed, and the verb forms used to generate
-- the displayed form, in order. For example, under past_m will be found
-- {"past_m_short", "past_m", "past_m2", "past_m3"} because those forms in
-- that order are displayed in the table under "masculine singular past".
local disp_verb_form_map = {}
for _, proplist in ipairs(all_verb_forms) do
local key = proplist[1]
-- if we find short forms, insert them at the beginning of the list for
-- the corresponding full forms. This requires that short forms are
-- listed in all_verb_forms after the corresponding full forms.
if rfind(key, "_short$") then
local full_key = rsub(key, "_short$", "")
-- short forms should occur in list after full forms
assert(#(disp_verb_form_map[full_key]) > 0)
-- build entry for full form, consisting first of the short forms,
-- in order, then the full forms, in order.
local new_entry = {}
for _, form in ipairs(proplist) do
table.insert(new_entry, form)
end
for _, form in ipairs(disp_verb_form_map[full_key]) do
table.insert(new_entry, form)
end
disp_verb_form_map[full_key] = new_entry
elseif rfind(key, "^pres_futr") then
-- skip these forms, not displayed
else
disp_verb_form_map[key] = mw.clone(proplist)
end
end
local all_verb_props = mw.clone(all_verb_forms)
local non_form_props = {"title", "perf", "intr", "impers", "categories", "notes", "internal_notes"}
for _, prop in ipairs(non_form_props) do
table.insert(all_verb_props, {prop})
end
-- Clone parent's args while also assigning nil to empty strings and splitting
-- arg sets (numeric args separated by "or"), assigning named args to
-- all all sets. Handle aliases in the process. Extract conjugation type
-- from the first arg of the arg set (for the initial arg set, this will be
-- arg 2 because arg 1 is the verb type), assigning to '.conj_type' of the
-- arg set. Return arg sets.
local function split_args_handle_aliases(frame)
local args = frame:getParent().args
local arg_sets = {}
local arg_set = {}
-- Verb type, e.g. impf, pf, impf-intr, pf-intr, impf-refl, pf-refl, etc.
-- Default to impf on the template page so that there is no script error.
local verb_type = getarg(args, 1, "impf", "Verb type (first parameter)")
local offset = 1
-- Find maximum-numbered arg, allowing for holes.
local max_arg = 1 -- needs to be 1 not 0 so template pages display ok
for pname in pairs(args) do
if type(pname) == "number" and pname > max_arg then
max_arg = pname
end
end
-- Now gather the numbered arguments.
for i=2,(max_arg + 1) do
local end_arg_set = false
if i == max_arg + 1 or args[i] == "or" then
end_arg_set = true
end
if end_arg_set then
table.insert(arg_sets, arg_set)
arg_set = {}
offset = i
else
arg_set[i - offset] = ine(args[i])
end
end
-- Insert named arguments into all arg sets, mapping aliases appropriately.
for pname, param in pairs(args) do
if type(pname) == "string" then
local argval = ine(param)
local mainprop, num = rmatch(pname, "^([a-z_]+)([0-9]*)$")
for i=1,#arg_sets do
if not mainprop then
arg_sets[i][pname] = argval
else
mainprop = prop_aliases[mainprop] or mainprop
arg_sets[i][mainprop .. num] = argval
end
end
end
end
-- If we're conjugating a suffix, insert a pseudoconsonant at the beginning
-- of all forms, so they get conjugated as if ending in a consonant.
-- We remove the pseudoconsonant later.
for i=1,#arg_sets do
local asif_prefix = (arg_sets[i]["asif_prefix"] or
arg_sets[i][2] and rfind(arg_sets[i][2], "^%-") and PSEUDOCONS)
if asif_prefix then
for k, v in pairs(arg_sets[i]) do
arg_sets[i][k] = rsub(v, "^%-", "-" .. asif_prefix)
end
end
end
-- Frob conjugation type.
for i=1,#arg_sets do
local arg1 = arg_sets[i][1]
local conj_type
if arg1 then
local orig_arg1 = arg1
-- This complex spec matches matches 3°a, 3oa, 4a1a, 6c1a,
-- 1a6a, 6a1as13, 6a1as14, 11*b, etc.
conj_type = rmatch(arg1, "^([0-9]+[*°o0-9abc]*[abc]s?1?[34]?)")
arg1 = rsub(arg1, "^[0-9]+[*°o0-9abc]*[abc]s?1?[34]?", "")
if not conj_type then
if rfind(arg1, "^irreg") then
conj_type = "irreg"
arg1 = rsub(arg1, "^irreg", "")
end
if not conj_type then
-- Check for Cyrillic, a common mistake (esp. Cyrillic а)
if rfind(orig_arg1, "[абцдеѣфгчийклмнопярстувшхызёюжэщьъ]") then
error("Unrecognized conjugation type (WARNING, has Cyrillic in it): " .. orig_arg1)
else
error("Unrecognized conjugation type: " .. orig_arg1)
end
end
end
-- The * variant is conventionally written e.g. 11*b; if found in
-- the conj_type, move it to the beginning of the remainder
if rfind(conj_type, "%*") then
conj_type = rsub(conj_type, "%*", "")
arg1 = "*" .. arg1
end
arg_sets[i][1] = arg1
else
local NAMESPACE = mw.title.getCurrentTitle().nsText
if NAMESPACE == "Template" and i == 1 then
conj_type = "1a"
else
error("Must specify argument 2 (conjugation type)")
end
end
arg_sets[i]["conj_type"] = conj_type
end
return arg_sets, verb_type
end
function export.do_generate_forms(arg_sets, verb_type, old)
local set1 = arg_sets[1]
local notes = get_arg_chain(set1, "notes", "notes")
local forms = {}
local categories = {}
if not m_table.contains(all_verb_types, verb_type) then
error("Invalid verb type " .. verb_type)
end
local data = {}
data.verb_type = verb_type
--impersonal
data.impers = rfind(verb_type, "impers")
data.intr = rfind(verb_type, "intr")
data.perf = rfind(verb_type, "^pf")
data.iter = set1["iter"]
data.nopres = set1["nopres"]
data.nopast = set1["nopast"]
data.nofutr = set1["nofutr"]
data.noimpr = set1["noimpr"]
if data.iter and data.perf then
error("Iterative verbs must be imperfective")
end
data.old = old
data.has_ppp = set1["has_ppp"]
data.has_prpp = set1["has_prpp"]
data.ppp_override = false
data.prpp_override = false
for _, form in ipairs(main_to_all_verb_forms["past_pasv_part"]) do
if set1[form] then
data.ppp_override = true
break
end
end
data.main_ppp_override = not not set1["past_pasv_part"]
for _, form in ipairs(main_to_all_verb_forms["pres_pasv_part"]) do
if set1[form] then
data.prpp_override = true
break
end
end
data.internal_notes = {}
local titles = {}
for i=1,#arg_sets do
local args = arg_sets[i]
local conj_type = args.conj_type
-- Support e.g. 3oa in place of 3°a
conj_type = rsub(conj_type, "o", "°")
track("conj-" .. conj_type) -- FIXME, convert to regular category
track("conj-" .. conj_type .. "/" .. verb_type) -- FIXME, convert to regular category
data.conj_type = conj_type
data.cat_conj_types = {conj_type}
if conj_type == "irreg" then
data.title = "irregular"
else
data.title = conj_type
end
if not conjugations[conj_type] then
error("Unknown conjugation type '" .. conj_type .. "'")
end
if args[2] then
local inf, tr = com.split_russian_tr(args[2])
if rfind(inf, "[тч]ься$") then
inf = rsub(inf, "ся$", "")
tr = com.strip_tr_ending(tr, "ся")
data.refl = true
elseif rfind(inf, "ти́?сь$") then
-- 7a (вы́вестись), 7b (вести́сь) or derivative of -йти́ (разойти́сь)
inf = rsub(inf, "сь$", "")
tr = com.strip_tr_ending(tr, "сь")
data.refl = true
elseif rfind(inf, "[тч]ь$") then
-- Allow monosyllabic infinitives to be specified without stress
if com.is_monosyllabic(inf) and not rfind(inf, "^%-") then
inf, tr = com.make_ending_stressed(inf, tr)
end
end
if tr then
args[2] = inf .. "//" .. tr
else
args[2] = inf
end
end
if data.refl and data.intr then
error("Can't specify -intr with reflexive verbs")
end
if data.has_ppp or data.has_prpp then
if data.refl then
error("Can't specify has_ppp=y or has_prpp=y with reflexive verbs")
end
if not data.intr then
error("Can only specify has_ppp=y or has_prpp=y with intransitive verbs")
end
end
data.shouldnt_have_ppp = data.refl or not data.has_ppp and data.intr
data.shouldnt_have_prpp = data.refl or not data.has_prpp and data.intr
if data.ppp_override and data.shouldnt_have_ppp then
error("Shouldn't specify past passive participle with reflexive or intransitive verbs, if it's needed use has_ppp=y")
elseif data.perf and not data.shouldnt_have_ppp and not data.ppp_override then
-- possible omissions
track("perfective-no-ppp")
end
if data.prpp_override and data.shouldnt_have_prpp then
error("Shouldn't specify present passive participle with reflexive or intransitive verbs, if it's needed use has_prpp=y")
end
-- Call conjugation function. It will return a table of forms
-- as if it's the first arg set. If it is in fact the first
-- arg set, we just use the table directly (we may destructively
-- modify it if there are later arg sets, but this is OK because
-- no one else but us uses the table). Otherwise we need to
-- append the values from the table to those of the previous
-- arg sets.
local arg_set_forms = conjugations[conj_type](args, data)
if i == 1 then
forms = arg_set_forms
else
for _, all_forms in pairs(main_to_all_verb_forms) do
for _, form in ipairs(all_forms) do
if arg_set_forms[form] then
append_to_arg_chain(forms, all_forms[1], all_forms[1],
arg_set_forms[form])
end
end
end
end
m_table.insertIfNot(titles, data.title)
if conj_type == "irreg" then
table.insert(categories, "Russian irregular verbs")
end
-- For irregular verbs, if the verb didn't set a specific cat_conj_type,
-- it will be the same as the conj_type and be "irreg". In that case,
-- replace it with the title, which might be a proper conjugation type
-- like 4a or 8c/b (and remove anything starting with a slash, to
-- account for cases like 8c/b). After doing this, the cat_conj_type
-- might still begin with "irreg" (for sufficiently irregular verbs that
-- they can't be assigned to any of the normal classes), in which case
-- we don't create a class for the verb beyond "Russian irregular verbs"
-- (set above).
if data.cat_conj_types[1] == "irreg" then
data.cat_conj_types = {rsub(rsub(data.title, "/.*", ""), "[*⑨]", "")}
end
for _, cat_conj_type in ipairs(data.cat_conj_types) do
if not rmatch(cat_conj_type, "^irreg") then
local class_num = rmatch(cat_conj_type, "^([0-9]+)")
assert(class_num and class_num ~= "")
table.insert(categories, "Động từ lớp " .. class_num .. " tiếng Nga")
table.insert(categories, "Động từ lớp " .. cat_conj_type .. " tiếng Nga")
end
end
end
data.title = "lớp " .. table.concat(titles, " // ") ..
(data.perf and ", thể hoàn thành" or ", thể chưa hoàn thành") ..
(data.refl and " reflexive" or data.intr and ", nội động từ" or ", ngoại động từ") ..
(data.impers and " impersonal" or "") ..
(data.iter and " iterative" or "")
-- Perfective/imperfective
if data.perf then
table.insert(categories, "Động từ hoàn thành tiếng Nga")
else
table.insert(categories, "Động từ chưa hoàn thành tiếng Nga")
end
handle_forms_and_overrides(set1, forms, data)
local function remove_pseudo(str)
local toremove = set1["asif_prefix"] or PSEUDOCONS
if str == nil then
return str
end
str = rsub(str, "^%-" .. toremove, "-")
-- also handle prefix after space, e.g. in futures
str = rsub(str, " %-" .. toremove, " -")
return str
end
-- Remove pseudoconsonant we may have inserted; if no ending, insert
-- "(no suffix)".
for k in pairs(forms) do
if forms[k] == "-" .. PSEUDOCONS or type(forms[k] == "table") and forms[k][1] == "-" .. PSEUDOCONS then
-- Make the translit empty.
forms[k] = {"(no suffix)", ""}
else
if type(forms[k]) == "table" then
forms[k][1] = remove_pseudo(forms[k][1])
forms[k][2] = remove_pseudo(forms[k][2])
else
forms[k] = remove_pseudo(forms[k])
end
end
end
-- Catch errors in verb arguments that lead to the infinitive not matching
-- page title, but only in the main namespace.
local NAMESPACE = mw.title.getCurrentTitle().nsText
if NAMESPACE == "" then
local PAGENAME = mw.title.getCurrentTitle().text
for _, form in ipairs(main_to_all_verb_forms["infinitive"]) do
local inf = extract_russian_tr(forms[form])
if inf then
inf, _ = m_table_tools.separate_notes(inf) -- remove any footnote symbols (e.g. грясти́)
local inf_noaccent = com.remove_accents(inf)
if inf ~= "-" then
if data.refl then
if rfind(inf_noaccent, "и$") then
inf_noaccent = inf_noaccent .. "сь"
inf = inf .. "сь"
else
inf_noaccent = inf_noaccent .. "ся"
inf = inf .. "ся"
end
end
if inf_noaccent ~= PAGENAME then
error("Infinitive " .. inf .. " doesn't match pagename " ..
PAGENAME)
end
end
end
end
end
-- Reflexive/intransitive/transitive
if set1["reflex_stress"] then
track("reflex-stress")
end
if data.refl then
local reflex_stress = set1["reflex_stress"] or data.default_reflex_stress -- "ся́"
make_reflexive(forms, reflex_stress and reflex_stress ~= "n" and
reflex_stress ~= "no")
table.insert(categories, "Russian reflexive verbs")
elseif data.intr then
table.insert(categories, "Nội động từ tiếng Nga")
else
table.insert(categories, "Ngoại động từ tiếng Nga")
end
-- Impersonal
if data.impers then
table.insert(categories, "Russian impersonal verbs")
end
-- Iterative
if data.iter then
table.insert(categories, "Russian iterative verbs")
end
if data.old then
make_pre_reform(forms)
end
finish_generating_forms(forms, data)
return forms, data.title, data.perf, data.intr or data.refl, data.impers, categories, notes, data.internal_notes
end
local function fetch_forms(forms)
local function fetch_one_form(form)
local val = forms[form]
local ru, tr
if type(val) == "table" then
ru, tr = val[1], val[2]
elseif type(val) == "string" and val ~= "" and val ~= "-" then
ru = val
end
if not ru then
return nil
end
local ruentry = m_table_tools.separate_and_superscript_notes(ru)
local trentry, trnotes
if tr then
trentry, trnotes = m_table_tools.separate_and_superscript_notes(tr)
end
-- There shouldn't be any links.
-- ruentry = m_links.remove_links(ruentry)
-- There shouldn't be any vertical bars.
-- ruentry = rsub(ruentry, "|", "<!>")
-- if trentry then
-- trentry = rsub(trentry, "|", "<!>")
-- end
return trentry and ruentry .. "//" .. trentry or ruentry
end
local vals = {}
for _, proplist in ipairs(all_verb_forms) do
local vallist = {}
local propname = proplist[1]
if not rfind(propname, "^pres_futr") then
for _, prop in ipairs(proplist) do
local val = fetch_one_form(prop)
if val then
table.insert(vallist, val)
end
end
if #vallist > 0 then
table.insert(vals, propname .. "=" .. table.concat(vallist, ","))
end
end
end
return table.concat(vals, "|")
end
function export.generate_forms(frame)
local arg_sets, verb_type = split_args_handle_aliases(frame)
local old = frame.args["old"] or arg_sets[1]["old"]
local forms = export.do_generate_forms(arg_sets, verb_type, old)
return fetch_forms(forms)
end
-- The main entry point.
-- This is the only function that can be invoked from a template.
function export.show(frame)
local arg_sets, verb_type = split_args_handle_aliases(frame)
local old = frame.args["old"] or arg_sets[1]["old"]
local arg_sets_clone
if test_new_ru_verb_module then
-- arg_sets may be modified by do_generate_forms()
arg_sets_clone = mw.clone(arg_sets)
end
local forms, title, perf, intr, impers, categories, notes, internal_notes =
export.do_generate_forms(arg_sets, verb_type, old)
-- Test code to compare existing module to new one.
if test_new_ru_verb_module then
local m_new_ru_verb = require("Module:User:Benwing2/ru-verb")
local newforms, newtitle, newperf, newintr, newimpers, newcategories, newnotes, newinternal_notes =
m_new_ru_verb.do_generate_forms(arg_sets_clone, verb_type, old)
local vals = mw.clone(forms)
vals.title = title
vals.perf = perf
vals.intr = intr
vals.impers = impers
vals.categories = categories
vals.notes = notes
vals.internal_notes = internal_notes
local newvals = mw.clone(newforms)
newvals.title = newtitle
newvals.perf = newperf
newvals.intr = newintr
newvals.impers = newimpers
newvals.categories = newcategories
newvals.notes = newnotes
newvals.internal_notes = newinternal_notes
local difconj = false
for _, proplist in ipairs(all_verb_props) do
for _, prop in ipairs(proplist) do
local val = vals[prop]
local newval = newvals[prop]
-- deal with impedance mismatch between old style (plain string)
-- and new style (Russian/translit array), and empty string vs. nil
if not m_table.contains(non_form_props, prop) then
if type(val) == "string" then val = {val} end
if val and val[1] == "" then val = nil end
if type(newval) == "string" then newval = {newval} end
if newval and newval[1] == "" then newval = nil end
end
-- Ignore changes in pres_futr_*, which aren't displayed
if not forms_equal(val, newval) and not rfind(prop, "^pres_futr") then
-- Uncomment this to display the particular case and
-- differing forms.
--error(prop .. " " .. (val and concat_vals(val) or "nil") .. " || " .. (newval and concat_vals(newval) or "nil"))
difconj = true
break
end
end
end
track(difconj and "different-conj" or "same-conj")
end
return make_table(forms, title, perf, intr, impers, notes, internal_notes, old) .. m_utilities.format_categories(categories, lang)
end
--[=[
Functions for working with stems, paradigms, Russian/translit
]=]
-- Combine a stem with optional translit with an ending and possibly a foonote
-- symbol (which may be a tuple {RUNOTES, TRNOTES}), returning a tuple
-- {RUSSIAN, TR}.
local function combine(stem, tr, ending, note)
if not ending or ending == "-" then
return nil
end
local arg_status
ending, arg_status = strip_arg_status_prefix(ending)
if stem ~= "" and com.is_stressed(ending) then
stem, tr = com.make_unstressed_once(stem, tr)
end
stem = arg_status .. stem
if not note then
return com.concat_russian_tr(stem, tr, ending, nil, "dopair")
else
local runotes, trnotes = extract_russian_tr(note)
local ruending, trending = com.concat_russian_tr(ending, nil, runotes, trnotes)
return com.concat_russian_tr(stem, tr, ruending, trending, "dopair")
end
end
-- Set an individual form PARAM in FORMS with value based on stem STEM (with
-- optional translit TR), ENDINGS (either a single string or a list of strings)
-- and NOTE (nil, a string, or a tuple {RUSSIAN, TR}). If there are multiple
-- endings listed, they will go successively into PARAM, PARAM2, etc.
-- (e.g. past_m, past_m2, etc.).
local function set_form(forms, param, stem, tr, endings, note)
if type(endings) ~= "table" then
endings = {endings}
end
local entries = {}
for _, val in ipairs(endings) do
m_table.insertIfNot(entries, combine(stem, tr, val, note))
end
set_arg_chain(forms, param, param, entries)
end
-- Append to an individual form PARAM in FORMS with value based on stem STEM
-- (with optional translit TR), ENDINGS (either a single string or a list of
-- strings) and NOTE (nil, a string, or a tuple {RUSSIAN, TR}). If there are
-- multiple endings listed, they will go successively into PARAM, PARAM2, etc.
-- (e.g. past_m, past_m2, etc.), provided there are no existing forms already
-- present. Duplicate forms aren't inserted.
local function append_form(forms, param, stem, tr, endings, note)
if type(endings) ~= "table" then
endings = {endings}
end
for _, val in ipairs(endings) do
append_to_arg_chain(forms, param, param, combine(stem, tr, val, note))
end
end
local function append_pres_futr(forms, stem, tr,
sg1, sg2, sg3, pl1, pl2, pl3, note)
append_form(forms, "pres_futr_1sg", stem, tr, sg1, note)
append_form(forms, "pres_futr_2sg", stem, tr, sg2, note)
append_form(forms, "pres_futr_3sg", stem, tr, sg3, note)
append_form(forms, "pres_futr_1pl", stem, tr, pl1, note)
append_form(forms, "pres_futr_2pl", stem, tr, pl2, note)
append_form(forms, "pres_futr_3pl", stem, tr, pl3, note)
end
local function append_participles_2stem(forms,
pres_stem, pres_tr, past_stem, past_tr,
pres_actv, pres_pasv, pres_adv, past_actv, past_adv, past_adv_short,
pres_note, past_note)
append_form(forms, "pres_actv_part", pres_stem, pres_tr, pres_actv, pres_note)
append_form(forms, "pres_pasv_part", pres_stem, pres_tr, pres_pasv, pres_note)
append_form(forms, "pres_adv_part", pres_stem, pres_tr, pres_adv, pres_note)
append_form(forms, "past_actv_part", past_stem, past_tr, past_actv, past_note)
append_form(forms, "past_adv_part", past_stem, past_tr, past_adv, past_note)
append_form(forms, "past_adv_part_short", past_stem, past_tr, past_adv_short, past_note)
end
local function append_participles(forms, stem, tr,
pres_actv, pres_pasv, pres_adv, past_actv, past_adv, past_adv_short, note)
append_participles_2stem(forms, stem, tr, stem, tr,
pres_actv, pres_pasv, pres_adv, past_actv, past_adv, past_adv_short, note, note)
end
local function set_ppp(forms, stem, tr, ending, note)
set_form(forms, "past_pasv_part", stem, tr, ending, note)
end
local function append_ppp(forms, stem, tr, ending, note)
append_form(forms, "past_pasv_part", stem, tr, ending, note)
end
local function append_imper(forms, stem, tr, sg, pl, note)
append_form(forms, "impr_sg", stem, tr, sg, note)
append_form(forms, "impr_pl", stem, tr, pl, note)
end
local function set_past(forms, stem, tr, m, f, n, pl, note)
set_form(forms, "past_m", stem, tr, m, note)
set_form(forms, "past_f", stem, tr, f, note)
set_form(forms, "past_n", stem, tr, n, note)
set_form(forms, "past_pl", stem, tr, pl, note)
end
local function append_past(forms, stem, tr, m, f, n, pl, note)
append_form(forms, "past_m", stem, tr, m, note)
append_form(forms, "past_f", stem, tr, f, note)
append_form(forms, "past_n", stem, tr, n, note)
append_form(forms, "past_pl", stem, tr, pl, note)
end
-- Prepend a possibly-stressed prefix to all forms; if prefix is stressed,
-- destress the forms before prepending. FIXME: Should support explicit
-- manual translit.
local function prepend_prefix(forms, prefix, pre_two_cons_prefix)
pre_two_cons_prefix = pre_two_cons_prefix or prefix
local stressed_prefix = com.is_stressed(prefix)
for key, form in pairs(forms) do
local ru, tr = extract_russian_tr(form)
if tr then
error("Explicit manual translit not yet supported")
end
-- check for empty string, dashes and nil's
if ru and ru ~= "" and ru ~= "-" then
if stressed_prefix then
ru = com.make_unstressed(ru)
end
if rfind(ru, "^[" .. com.cons .. "][" .. com.cons .. "]") then
forms[key] = pre_two_cons_prefix .. ru
else
forms[key] = prefix .. ru
end
end
end
end
-- Apply regex substitution FROM -> TO to all forms. FIXME: Should support
-- explicit manual translit.
local function rsub_forms(forms, from, to)
for key, form in pairs(forms) do
local ru, tr = extract_russian_tr(form)
if tr then
error("Explicit manual translit not yet supported")
end
-- check for empty string, dashes and nil's
if ru and ru ~= "" and ru ~= "-" then
forms[key] = rsub(ru, from, to)
end
end
end
local variant_to_title = {
["[(2)]"] = "[②]",
["(2)"] = "②",
["[(3)]"] = "[③]",
["(3)"] = "③",
["[(4)]"] = "[④]",
["(4)"] = "④",
["[(5)]"] = "[⑤]",
["(5)"] = "⑤",
["[(6)]"] = "[⑥]",
["(6)"] = "⑥",
["[(7)]"] = "[⑦]",
["(7)"] = "⑦",
["[(8)]"] = "[⑧]",
["(8)"] = "⑧",
["(9)"] = "⑨",
["щ"] = "(-щ-)",
["ё"] = "(-ё-)",
["о"] = "(-о-)",
["жд"] = "(-жд-)",
}
local function prepare_past_stress_indicator(past_stress)
if not past_stress or past_stress == "a" then
return ""
end
past_stress = rsub(past_stress, "%(1%)", "①")
past_stress = rsub(past_stress, "(.),%1①", "%1[①]")
past_stress = rsub(past_stress, "(.)①,%1", "%1[①]")
past_stress = rsub(past_stress, "''", "''")
past_stress = rsub(past_stress, "-nd", "")
past_stress = rsub(past_stress, "-bd", "")
return "/" .. past_stress
end
local function parse_variants(data, variants, allowed)
-- Need to set these to nil in case of multiple arg sets
data.imper_variant = nil
data.var4 = nil
data.var5 = nil
data.var6 = nil
data.ppp = nil
data.var9 = nil
data.shch = nil
data.yo = nil
data.o = nil
data.zhd = nil
data.star = nil
variants = variants or ""
local variant_title = ""
if variants ~= "" then -- short-circuit the most common case
-- Only recognize * variant for long-variant prefix at the beginning
-- of the variant code block (where it gets moved if it's in the
-- middle of the conjugation type, as it normally is) because a *
-- also occurs in b*, a past stress variant code.
if rfind(variants, "^%*") then
-- Specify that the present/future tense has extra -о in the prefix:
-- types 9*b (e.g. растере́ть, futr_1sg разотру́) and 11*b (e.g. изли́ть,
-- futr_1sg изолью́). It can also occur with type 7*b (in -че́сть,
-- e.g. счесть, сочту́; расче́сть, разочту́) and type 8*b (in -же́чь, e.g.
-- сжечь, сожгу́) but these are always irregular and require the
-- present tense to be specified explicitly. It can also occur
-- with type 14*b (e.g. размя́ть, разомну́; сжать, сожну́; подожа́ть, подожму́),
-- but for these verbs the present tense is unpredictable and
-- must be specified explicitly.
--
-- This can also occur where the extra -о occurs in the infinitive
-- and past, but not the present tense: type 5*c (in -гна́ть, e.g.
-- согна́ть, сгоню́; разогна́ться, разгоню́сь), type 6*c (in -стла́ть, e.g.
-- подостла́ть, подстелю́; разостла́ть, расстелю́), type 6°*c
-- (in -зва́ть, -бра́ть, -дра́ть, e.g. подозва́ть, подзову́; разобра́ться, разберу́сь);
-- but these are always irregular and require the present tense
-- to be specified explicitly.
if not m_table.contains(allowed, "*") then
error("Variant " .. var .. " not allowed for this verb class")
end
data.star = true
variants = rsub(variants, "^*", "")
end
-- Allow brackets around both 5 and 6, e.g. [(5)(6)]
variants = rsub(variants, "%[(%([56]%))(%([56]%))%]", "[%1][%2]")
-- Handle all remaining variants. We do this using an rsub() function,
-- where we pull out, parse and remove each variant in turn.
variants = rsub(variants, "(%[?%(?[23456789ёощийьж+][дp]?%)?%]?)", function(var)
if m_table.contains({"(2)", "[(2)]", "(3)", "[(3)]", "и", "й", "ь"}, var) then
if data.imper_variant then
error("Saw two imperative variants " .. data.imper_variant ..
" and " .. var)
end
local is_23 = m_table.contains({"(2)", "[(2)]", "(3)", "[(3)]"}, var)
if is_23 and not m_table.contains(allowed, "23") or
not is_23 and not m_table.contains(allowed, "и") then
error("Variant " .. var .. " not allowed for this verb class")
end
data.imper_variant = var
elseif m_table.contains({"(4)", "[(4)]"}, var) then
if data.var4 then
error("Saw two variant-4 specs " .. data.var4 .. " and " .. var)
end
if not m_table.contains(allowed, "4") then
error("Variant " .. var .. " not allowed for this verb class")
end
data.var4 = var == "(4)" and "req" or "opt"
elseif m_table.contains({"(5)", "[(5)]"}, var) then
if data.var5 then
error("Saw two variant-5 specs " .. data.var5 .. " and " .. var)
end
if not m_table.contains(allowed, "5") then
error("Variant " .. var .. " not allowed for this verb class")
end
data.var5 = var == "(5)" and "req" or "opt"
elseif m_table.contains({"(6)", "[(6)]"}, var) then
if data.var6 then
error("Saw two variant-6 specs " .. data.var6 .. " and " .. var)
end
if not m_table.contains(allowed, "6") then
error("Variant " .. var .. " not allowed for this verb class")
end
data.var6 = var == "(6)" and "req" or "opt"
elseif m_table.contains({"(7)", "[(7)]", "(8)", "[(8)]", "+p"}, var) then
if data.shouldnt_have_ppp then
error("Shouldn't specify past passive participle with reflexive or intransitive verbs, if it's needed use has_ppp=y")
end
if data.ppp then
error("Saw two past passive participle specs " .. data.ppp .. " and " .. var)
end
if m_table.contains({"(7)", "[(7)]"}, var) and not m_table.contains(allowed, "7") or
m_table.contains({"(8)", "[(8)]"}, var) and not m_table.contains(allowed, "8") or
var == "+p" and not m_table.contains(allowed, "+p") then
error("Variant " .. var .. " not allowed for this verb class")
end
data.ppp = var
elseif var == "(9)" then
if data.var9 then
error("Saw (9) twice")
end
if not m_table.contains(allowed, "9") then
error("Variant " .. var .. " not allowed for this verb class")
end
data.var9 = true
elseif var == "щ" then
-- specify that the 1sg pres/futr and past passive participle
-- of class 4/5/6 verbs iotate -т to -щ instead of -ч; cf.
-- похи́тить (похи́щу) (4a), защити́ть (защищу́) (4b),
-- поглоти́ть (поглощу́) (4c), клевета́ть (клевещу́) (6c)
if data.shch then
error("Saw щ twice")
end
if not m_table.contains(allowed, "щ") then
error("Variant " .. var .. " not allowed for this verb class")
end
data.shch = "щ"
elseif var == "ё" then
-- specify that the past passive participle has ё instead of е
if data.yo then
error("Saw ё twice")
end
if not m_table.contains(allowed, "ё") then
error("Variant " .. var .. " not allowed for this verb class")
end
data.yo = true
elseif var == "о" then
-- specify that the past passive participle has о instead of е
-- NOTE: Not currently allowed as a user-specifiable variant
if data.o then
error("Saw о twice")
end
if not m_table.contains(allowed, "о") then
error("Variant " .. var .. " not allowed for this verb class")
end
data.o = true
elseif var == "жд" then
-- specify that the past passive participle of class 4/5/6 verbs
-- iotates -д to -жд instead of -ж
if data.zhd then
error("Saw жд twice")
end
if not m_table.contains(allowed, "жд") then
error("Variant " .. var .. " not allowed for this verb class")
end
data.zhd = true
else
error("Unrecognized variant spec: " .. var)
end
variant_title = variant_title .. (variant_to_title[var] or "")
return ""
end)
variant_title = rsub(variant_title, "%[⑤%]%[⑥%]", "[⑤⑥]")
end
if variants ~= "" and not m_table.contains(allowed, "past") then
error("Past stress " .. variants .. " not allowed for this verb class")
end
if data.yo and not data.ppp then
error("Variant ё specified without calling for past passive participle")
end
if data.o and not data.ppp then
error("Variant о specified without calling for past passive participle")
end
if data.zhd and not data.ppp then
error("Variant жд specified without calling for past passive participle")
end
if data.perf and not data.ppp and not data.ppp_override and not data.shouldnt_have_ppp and not data.impers then
error("For perfective transitive verbs, need to specify past passive participle by variant or override; use |ppp=- if no such participle")
end
data.past_stress = variants == "" and "a" or rsub(variants, "/", "")
data.title = data.title ..
prepare_past_stress_indicator(data.past_stress) ..
variant_title
if data.star then
data.title = rsub(data.title, "^([0-9]+°?)", "%1*")
end
-- If there's an override of past_pasv_part, generate the normal participle
-- so we can determine whether the override is irregular. But set a flag
-- so we erase any automatically generated past passive participles that
-- aren't overridden. This happens for example in обнять, where there are
-- two automatically generated past passive participles but a single
-- ppp=о́внятый override.
if not data.ppp and data.main_ppp_override then
data.ppp = "+p"
data.ppp_auto_generated = true
end
end
local function set_past_by_stress(forms, past_stresses, prefix, prefixtr, base,
basetr, args, data, no_pastml, note)
-- If there isn't manual translit for the prefix, we need to supply it
-- if there's manual translit for the base, because we often concatenate
-- prefix to the base.
local prefixtr = prefixtr or basetr and com.translit(prefix)
for _, past_stress in ipairs(rsplit(past_stresses, ",")) do
local pastml = no_pastml and "" or "л"
local stressed_prefix, stressed_prefixtr
if prefix == "пере" then
stressed_prefix = "пе́ре"
stressed_prefixtr = "pe" .. AC .. "re"
elseif prefix == "раз" then
stressed_prefix = "ро́з"
stressed_prefixtr = "ro" .. AC .. "z"
elseif prefix == "рас" then
-- Does this ever occur?
stressed_prefix = "ро́с"
stressed_prefixtr = "ro" .. AC .. "s"
elseif prefix == "ра" and rfind(base, "^[сз]") then
-- Type 9/11/14/16 with automatically split prefix; may never happen.
stressed_prefix = "ро́"
stressed_prefixtr = "ro" .. AC
else
stressed_prefix, stressed_prefixtr =
com.make_ending_stressed(prefix, prefixtr)
end
-- Normally the base is stressed and the prefix isn't, but it could
-- be the other way around, e.g. in запереть and запереться, where
-- the stress on the prefix is used to get prefix-stressed participles.
-- To deal with this, we usually combine base and prefix unchanged,
-- but in combination with stressed_prefix we always want an unstressed
-- base, and when a stressed -ся́ is called for, we want both of them
-- unstressed.
local ubase, ubasetr = com.make_unstressed(base, basetr)
local uprefix, uprefixtr = com.make_unstressed(prefix, prefixtr)
-- If the prefix is stressed (вы́-), we need to use the unstressed base to avoid getting double stress.
local prefixbase = com.is_stressed(prefix) and prefix .. ubase or prefix .. base
local prefixbasetr = basetr and (com.is_stressed(prefix) and prefixtr .. ubasetr or prefixtr .. basetr)
local stressed_prefix_ubase = stressed_prefix .. ubase
local stressed_prefix_ubasetr = ubasetr and stressed_prefixtr .. ubasetr
local uprefixubase = uprefix .. ubase
local uprefixubasetr = ubasetr and uprefixtr .. ubasetr
if past_stress == "a" then
-- (/под/пере/при/по)забы́ть, раздобы́ть, (/пере/по)забы́ться
append_past(forms, prefixbase, prefixbasetr, pastml,
"ла", "ло", "ли", note)
elseif past_stress == "a(1)" then
-- вы́дать, вы́быть, etc.; also проби́ть with the meaning
-- "to strike (of a clock)" (which is a(1),a or similar)
append_past(forms, stressed_prefix_ubase,
stressed_prefix_ubasetr, pastml, {}, "ло", "ли", note)
-- Retraction to prefix doesn't happen in feminine singular, see the
-- bottom of page 81 of Zaliznyak's 1980 grammar.
append_past(forms, prefixbase, prefixbasetr, {}, "ла", {}, {}, note)
elseif past_stress == "b" then
append_past(forms, prefixbase, prefixbasetr, pastml,
"ла́", "ло́", "ли́", note)
elseif past_stress == "b*" then
if not data.refl then
error("Only reflexive verbs can take past stress variant " .. past_stress)
end
-- See comment in type c''. We want to see whether we actually
-- added an argument, and if so, where.
local argset = append_to_arg_chain(forms, "past_m", "past_m",
combine(uprefixubase, uprefixubasetr, pastml .. (note or "")))
if argset and not args[argset] and not data.impers then
data.default_reflex_stress = "ся́"
end
append_past(forms, prefixbase, prefixbasetr, {}, "ла́", "ло́", "ли́", note)
elseif past_stress == "c" then
-- изда́ть, возда́ть, сдать, пересозда́ть, воссозда́ть, надда́ть, наподда́ть, etc.
-- быть, избы́ть, сбыть
-- клясть, закля́сть
append_past(forms, prefixbase, prefixbasetr, pastml, "ла́", "ло", "ли", note)
elseif past_stress == "c(1)" then
-- прибы́ть, убы́ть
-- прокля́сть
-- also, c(1),c:
-- зада́ть, обда́ть, отда́ть, подда́ть, переда́ть (пе́редал), преда́ть, прода́ть, разда́ть (ро́здал), созда́ть, etc.
-- отбы́ть, побы́ть, пробы́ть
-- also, c,c(1):
-- добы́ть
-- Because the prefix may vary depending on stress (esp. for
-- раздать [ро́здал/раздала́]), we need to separate the endings that
-- take the stressed prefix and those that take the unstressed
-- prefix with stressed ending.
append_past(forms, stressed_prefix_ubase, stressed_prefix_ubasetr,
pastml, {}, "ло", "ли", note)
append_past(forms, prefixbase, prefixbasetr, {}, "ла́", {}, {}, note)
elseif past_stress == "c'" then
-- дать
--same with "взять"
append_past(forms, prefixbase, prefixbasetr,
pastml, "ла́", {"ло", "ло́"}, "ли", note)
elseif past_stress == "c''" or past_stress == "c''-nd" or past_stress == "c''-bd" then
if not data.refl then
error("Only reflexive verbs can take past stress variant " .. past_stress)
end
-- c'' (-ся́ dated): all verbs in -да́ться; избы́ться, сбы́ться; all verbs in -кля́сться
-- c''-nd (-ся́ not dated): various verbs in -ня́ться per Zaliznyak
-- c''-bd (-ся́ becoming dated): various verbs in -ня́ться per ruwikt
local note_symbol = past_stress == "c''-nd" and "" or
next_note_symbol(data)
append_past(forms, prefixbase, prefixbasetr,
pastml, "ла́", {"ло́", "ло"}, {"ли́", "ли"})
-- We want to see whether we actually added an argument, and if
-- so, where.
local argset = append_to_arg_chain(forms, "past_m", "past_m",
combine(uprefixubase, uprefixubasetr, pastml .. note_symbol .. (note or "")))
-- Only display the internal note and set the default reflex
-- stress if the form with the note will be displayed (i.e. not
-- impersonal, and no override of this form). FIXME: We should
-- have a more general mechanism to check for this.
if not args[argset] and not data.impers then
local note = past_stress == "c''" and note_symbol .. " Dated." or
past_stress == "c''-bd" and note_symbol .. " Becoming dated." or
nil
if note then
m_table.insertIfNot(data.internal_notes, note)
end
data.default_reflex_stress = "ся́"
end
elseif past_stress == "c''(1)" then
-- запере́ться
-- See comment in type c''. We want to see whether we actually
-- added an argument, and if so, where.
local argset = append_to_arg_chain(forms, "past_m", "past_m",
combine(uprefixubase, uprefixubasetr, pastml .. (note or "")))
if argset and not args[argset] and not data.impers then
data.default_reflex_stress = "ся́"
end
append_past(forms, prefixbase, prefixbasetr, {}, "ла́", "ло́", "ли́", note)
append_past(forms, stressed_prefix_ubase, stressed_prefix_ubasetr,
pastml, {}, "ло", "ли", note)
else
error("Unrecognized past-stress value " .. past_stress .. ", should be a, a(1), b, b*, c, c(1), c', c'', c''-nd, c''-bd, c''(1) or comma-separated list")
end
end
end
-- Split a verb stem into a possibly multisyllabic prefix (пере-, переиз-,
-- воссоз-, повы́-, etc.) and a single-syllable main verb (-тер-, -ли́-, -гре́-,
-- etc.). Normally the splitting is done simply by looking for alternating
-- vowel/consonant sequences, meaning that e.g. разгре́ will be split as
-- ра + згре́ and растер will be split as ра + стер. For most purposes, this
-- doesn't matter, but for the * variant it does; in that case, if it is
-- known that the main verb base always begins with a single consonant,
-- specify SINGLE_CONS_BASE and then e.g. растер will be split as рас + тер.
local function split_monosyllabic_main_verb(ru, tr, single_cons_base)
local rusyl, trsyl = com.split_syllables(ru, tr)
local last_ru = rusyl[#rusyl]
local last_tr = trsyl and trsyl[#trsyl]
table.remove(rusyl, #rusyl)
local prefix_ru = table.concat(rusyl, "")
local prefix_tr
if trsyl then
table.remove(trsyl, #trsyl)
prefix_tr = table.concat(trsyl, "")
end
if single_cons_base then
local cons_to_move, rest = rmatch(last_ru, "^([" .. com.cons .. "]+)([" .. com.cons .. "].*)$")
if cons_to_move then
prefix_ru = prefix_ru .. cons_to_move
last_ru = rest
end
if last_tr then
cons_to_move, rest = rmatch(last_tr, "^([" .. com.tr_cons .. "]+)([" .. com.tr_cons .. "].*)$")
if cons_to_move then
prefix_tr = prefix_tr .. cons_to_move
last_tr = rest
end
end
end
return prefix_ru, prefix_tr, last_ru, last_tr
end
local function split_known_main_verb(arg, mains)
-- Given an argument (which may be RUSSIAN//TR), split the prefix from
-- the main verb, which should be one of the verbs in MAINS (which can be
-- a -- single verb or a list of verbs, but in either case all verbs
-- need to be stressed). This correctly handles stressed and unstressed
-- prefixes.
local stem, tr = com.split_russian_tr(arg)
if type(mains) ~= "table" then
mains = {mains}
end
for _, main in ipairs(mains) do
assert(com.is_stressed(main))
if rfind(stem, main .. "$") then
stem, tr = com.strip_ending(stem, tr, main)
if com.is_stressed(stem) then
error("Two stresses in " .. arg)
end
return stem, tr, main, nil
end
main = com.make_unstressed_once(main)
if rfind(stem, main .. "$") then
stem, tr = com.strip_ending(stem, tr, main)
if com.is_unstressed(stem) then
error("No stresses in " .. arg)
end
return stem, tr, main, nil
end
end
if #mains == 1 then
error("Argument " .. arg .. " doesn't end in " .. mains[1])
else
error("Argument " .. arg .. " doesn't end in any of " .. table.concat(mains, ","))
end
end
local function construct_long_prefix_variant(prefix)
if rfind(prefix, "рас$") then
return rsub(prefix, "рас$", "разо")
end
if rfind(prefix, "ис$") then
return rsub(prefix, "ис$", "изо")
end
if rfind(prefix, "вс$") then
return rsub(prefix, "вс$", "взо")
end
return prefix .. "о"
end
local function append_imper_by_variant(forms, stem, tr, variant, verbclass, note)
local vowel_stem = is_vowel_stem(stem)
local stress = rmatch(verbclass, "([abc])$")
if not stress then
error("Unrecognized verb class '" .. verbclass .. "', should end with a, b or c")
end
local longend = stress == "a" and "и" or "и́"
local shortend = vowel_stem and (com.is_unstressed(stem) and "́й" -- accent on previous vowel
or "й") or "ь"
local function append_short_imper()
append_imper(forms, stem, tr, shortend, shortend .. "те", note)
end
local function append_long_imper()
append_imper(forms, stem, tr, longend, longend .. "те", note)
end
if variant and variant ~= "" then
track("explicit-imper")
track("explicit-imper/" .. verbclass)
end
if variant == "(2)" then
-- use short variants with вы́- (for these verbs, long is expected)
if not rfind(stem, "^вы́-") then
error("Should only specify imperative variant (2) with verbs in вы́-, not " .. stem)
end
append_short_imper()
elseif variant == "[(2)]" then
-- use both long and short variants
append_long_imper()
append_short_imper()
elseif variant == "(3)" then
-- long in singular, short in plural
append_imper(forms, stem, tr, longend, shortend .. "те", note)
elseif variant == "[(3)]" then
-- long and short in singular, short in plural
append_imper(forms, stem, tr, {longend, shortend}, shortend .. "те", note)
elseif variant == "ь" or variant == "й" then
-- short variants wanted
append_short_imper()
elseif variant == "и" then
-- long variants wanted
append_long_imper()
else
assert(not variant or variant == "")
if vowel_stem then
if verbclass == "4b" or verbclass == "4c" or (
verbclass == "4a" and rfind(stem, "^вы́-")) then
append_long_imper()
else
append_short_imper()
end
else -- consonant stem
if stress == "b" or stress == "c" then
append_long_imper()
else
assert(stress == "a")
-- "и" after вы́-, e.g. вы́садить
-- "и" after final щ, e.g. тара́щиться (although this particular
-- verb has a [(3)] spec attached to it)
if rfind(stem, "^вы́-") or rfind(stem, "щ$") or
-- "и" after two consonants in a row (мо́рщить, зафре́ндить)
rfind(stem, "[бвгджзклмнпрстфхцчшщь][бвгджзклмнпрстфхцчшщ]$") then
append_long_imper()
else
-- "ь" after a single consonant (бре́дить)
append_short_imper()
end
end
end
end
end
-- Compute the past passive participle stem for verbs that require it to be
-- iotated (class 4, and class 5 in -еть).
local function iotated_ppp(data, stem, tr)
local iotated_stem, iotated_tr
if data.zhd then
local subbed
iotated_stem, subbed = rsubb(stem, "з?д$", "жд")
if not subbed then
error("Variant -жд- specified but stem " .. stem .. " doesn't end in -д")
end
if tr then
iotated_tr, subbed = rsubb(tr, "z?d$", "žd")
if not subbed then
error("Variant -жд- specified but translit " .. tr .. " doesn't end in -d")
end
end
else
iotated_stem, iotated_tr = com.iotation(stem, tr, data.shch)
end
return iotated_stem, iotated_tr
end
-- Set the past passive participle of verbs where the stress is moved left
-- from the ending by one syllable (if possible) if the ending is stressed,
-- otherwise left as-is (except class 1a in -е́ть, which has ending-stressed
-- -ённый). This applies to classes 1, 2, 3, 5, 6, 10 and 13. The stem comes
-- from the infinitive, iotated in class 5 -еть/-ѣть verbs. The participle
-- ending is -анный/-янный for verbs in -ать/-ять, -енный/-ённый for verbs in -еть,
-- -ѣнный/-ѣ̈нный for verbs in -ѣть, otherwise -тый.
local function set_moving_ppp(forms, data)
if not data.ppp then
return
end
-- NOTE: No need to check for multiple infinitives because no verbs have
-- them normally, and we probably don't want to check for overrides here
-- (e.g. it would break достичь and related verbs, which have participles
-- based on the infinitive достигнуть).
local infinitive, infinitivetr = extract_russian_tr(forms["infinitive"])
local stem, ending = rmatch(infinitive, "^(.*)([аеѣоуя]́?ть)$")
if not stem then
error("Strange infinitive " .. infinitive .. " when trying to create participle")
end
local tr, endingtr
if infinitivetr then
if ending == "ять" or ending == "я́ть" then
tr, endingtr = rmatch(infinitivetr, "^(.*)(ja" .. AC .. "?tʹ)$")
else
tr, endingtr = rmatch(infinitivetr, "^(.*)([aeěou]" .. AC .. "?tʹ)$")
end
if not tr then
error("Translit " .. infinitivetr .. " doesn't match Cyrillic " ..
infinitive)
end
end
local ending_vowel = usub(ending, 1, 1)
local ppptype = data.ppp
if com.is_nonsyllabic(stem) then
-- e.g. 3b гну́ть (гну́тый); but not -нуть (type 3a, as a suffix)
ppptype = "(7)"
end
if m_table.contains({"5a", "5b", "5c"}, data.conj_type) and
(ending_vowel == "е" or ending_vowel == "ѣ") then
stem, tr = iotated_ppp(data, stem, tr)
end
if not com.is_stressed(stem) then
stem, tr = com.make_ending_stressed(stem, tr)
end
if data.o then
-- цев -> цо́в, e.g. (об)лицева́ть -> (об)лицо́ванный
stem = rsub(stem, "е́", "о́") -- Cyrillic
if tr then
tr = rsub(tr, "e" .. AC, "o" .. AC) -- Latin
end
elseif data.yo then
-- ё occurs with e.g. 1a наверста́ть (навёрстанный)
-- ё occurs with e.g. 3b поверну́ть (повёрнутый)
-- ё occurs with e.g. 5b лежа́ть (лёжанный) but not with 5c держа́ть
-- (де́ржанный)
-- ё occurs always with class 2 in -ева́ть, e.g.
-- (за)тушева́ть ((за)тушёванный) and (за)клева́ть ((за)клёванный)
local subbed
stem, subbed = rsubb(stem, "е́", "ё") -- Cyrillic
if not subbed and data.old then
stem, subbed = rsub(stem, "ѣ́", "ѣ̈")
end
if not subbed then
error("No stressed е" .. (data.old and " or ѣ" or "") ..
" in stem " .. stem ..
" to replace with ё" .. (data.old and " or ѣ̈" or "") ..
" when trying to create participle")
end
if tr then
tr, subbed = rsub(tr, "j[eě]" .. AC, "jo" .. AC) -- Latin
if not subbed then
tr, subbed = rsub(tr, "[eě]" .. AC, "jo" .. AC) -- Latin
end
if not subbed then
error("No stressed е in translit " .. tr .. " to replace with jo when trying to create participle")
end
end
end
if data.conj_type == "1a" and ending_vowel == "е" then
-- 1a, only одоле́ть, преодоле́ть, verbs in -печатле́ть
set_ppp(forms, stem, tr, "ённый")
elseif data.conj_type == "1a" and ending_vowel == "ѣ" then
set_ppp(forms, stem, tr, "ѣ̈нный")
else
local stressed_ending, unstressed_ending
if ending_vowel == "е" then
stressed_ending = "ённый"
unstressed_ending = "енный"
elseif ending_vowel == "ѣ" then
stressed_ending = "ѣ̈нный"
unstressed_ending = "ѣнный"
else
local ppp_ending =
(ending_vowel == "а" or ending_vowel == "я") and "нный" or "тый"
stressed_ending = ending_vowel .. AC .. ppp_ending
unstressed_ending = ending_vowel .. ppp_ending
end
set_ppp(forms, stem, tr,
-- (7) occurs with 1a обуя́ть (обуя́нный)
ppptype == "(7)" and stressed_ending or
-- [(7)] -- when does it occur? may only occur in class 4
ppptype == "[(7)]" and {unstressed_ending, stressed_ending} or
unstressed_ending)
end
end
-- Iterate over the values of a property (e.g. past_m, past_f), handling
-- overrides properly. Call FN on each one, passing in RU, TR, NOTE.
local function iterate_over_prop(forms, args, prop, fn)
for _, form in ipairs(main_to_all_verb_forms[prop]) do
local ru, tr
if args[form] then
local orig_forms = {}
for _, form2 in ipairs(main_to_all_verb_forms[prop]) do
if forms[form2] then
table.insert(orig_forms, forms[form2])
end
end
local override = parse_and_stress_override(form, args[form], forms[form], orig_forms)
ru, tr = extract_russian_tr(override)
end
if (not ru or ru == "" or ru == "-") and forms[form] then
ru, tr = extract_russian_tr(forms[form])
end
-- skip unstressed forms (may occur in the past_m when a stressed
-- reflexive -ся́ should occur; these occur only in запереться and
-- опереться, where they're used to generate the past active part
-- and past adverbial part, and end-stressed forms shouldn't be
-- generated)
if ru and ru ~= "" and ru ~= "-" and not com.is_unstressed(ru) then
local ruentry, runotes = m_table_tools.separate_notes(ru)
local trentry, trnotes
if tr then
trentry, trnotes = m_table_tools.separate_notes(tr)
end
fn(ruentry, trentry, {runotes, trnotes})
end
end
end
-- Set the past passive participle for those classes where it is derived
-- from the past tense masculine singular (9, 11, 12, 14, 15, 16). We need
-- to apply any relevant overrides.
local function set_ppp_from_past_m(forms, args, data)
if not data.ppp then
return
end
iterate_over_prop(forms, args, "past_m", function(ru, tr, note)
if rfind(ru, "л$") then
ru = rsub(ru, "л$", "")
if tr then
tr = rsub(tr, "l$", "")
end
end
append_ppp(forms, ru, tr, "тый", note)
end)
end
-- Set the past passive participle for class-4 verbs.
local function set_class_4_ppp(forms, data, stem, tr, vclass)
if not data.ppp then
return
end
local iotated_stem, iotated_tr = iotated_ppp(data, stem, tr)
vclass = vclass or data.conj_type
if vclass == "4b" then
local stressed_iotated_stem, stressed_iotated_tr =
com.make_ending_stressed(iotated_stem, iotated_tr)
set_ppp(forms, stressed_iotated_stem, stressed_iotated_tr,
-- (8) occurs with 4b скрои́ть (скро́енный)
data.ppp == "(8)" and "енный" or
-- [(8)] occurs with 4b разгроми́ть (разгромлённый, разгро́мленный)
data.ppp == "[(8)]" and {"ённый", "енный"} or "ённый")
else
set_ppp(forms, iotated_stem, iotated_tr,
-- (7) occurs with 4c раздели́ть (разделённый)
data.ppp == "(7)" and "ённый" or
-- [(7)] occurs with 4a осве́домить (осве́домленный, осведомлённый)
-- [(7)] occurs with 4c иссуши́ть (иссу́шенный, иссушённый)
data.ppp == "[(7)]" and {"енный", "ённый"} or "енный")
end
end
-- Set the past passive participle for class-7 and class-8 verbs. These
-- form the PPP by adding to the base of the 3sg pres/futr (i.e. minus
-- -ет/-ёт). The stress follows the stress of the past singular feminine.
-- Only types a, a(1) and b exist, meaning that if the past singular feminine
-- is ending-stressed then the PPP ending is -ённый, otherwise it is -енный
-- with the stress of the 3sg pres/futr base preserved (and added to the
-- last syllable if the base has no stress, as in 7b укра́сть, 3sg украдёт,
-- fem sg past укра́ла, PPP укра́денный).
local function set_class_7_8_ppp(forms, args, data)
if not data.ppp then
return
end
local sg3_bases = {}
-- Extract 3sg bases. There may be more than one possible form, e.g. in
-- обокра́сть, so support this.
-- FIXME: We don't support checking for overrides here; doing so isn't
-- overly hard but is a bit tricky because the overrides will be either
-- pres_3sg or futr_3sg, depending on the aspect of the verb.
-- FIXME: We don't support manual translit here, because neither 7 nor 8
-- support it elsewhere.
for _, form in ipairs(main_to_all_verb_forms["pres_futr_3sg"]) do
local ru, tr
if forms[form] then
ru, tr = extract_russian_tr(forms[form])
end
if ru and ru ~= "" and ru ~= "-" then
local ruentry, runotes = m_table_tools.separate_notes(ru)
ruentry = rsub(ruentry, "[её]т$", "")
if com.is_unstressed(ruentry) then
ruentry = com.make_ending_stressed(ruentry)
end
m_table.insertIfNot(sg3_bases, {ruentry, runotes})
end
end
-- Here we do the same rigmarole as in set_ppp_from_past_m(), to respect
-- any past_f overrides that might have been set. It's unlikely that
-- there is more than one possible form but we support it.
iterate_over_prop(forms, args, "past_f", function(ru, tr, note)
for _, base_and_notes in ipairs(sg3_bases) do
local base, notes = base_and_notes[1], base_and_notes[2]
append_ppp(forms, base, nil,
-- check if past_f is ending-stressed
rfind(ru, AC .. "$") and "ённый" or "енный", notes)
end
end)
end
--[=[
Conjugation functions
]=]
conjugations["1a"] = function(args, data)
local forms = {}
parse_variants(data, args[1], {"+p", "7", "ё"})
local stem, tr = com.split_russian_tr(get_stressed_arg(args, 2))
if stem == "-" and not tr then
-- Template space; leave it
else
stem, tr = com.strip_ending(stem, tr, "ть")
end
no_stray_args(args, 2)
forms["infinitive"] = combine(stem, tr, "ть")
append_participles(forms, stem, tr, "ющий", "емый", "я", "вший", "вши", "в")
set_moving_ppp(forms, data)
present_je(forms, stem, tr, "a")
append_imper(forms, stem, tr, "й", "йте")
set_past(forms, stem, tr, "л", "ла", "ло", "ли")
return forms
end
local function guts_of_2(args, data)
local forms = {}
local inf_stem, inf_tr = com.split_russian_tr(get_stressed_arg(args, 2))
inf_stem, inf_tr = com.strip_ending(inf_stem, inf_tr, "ть")
no_stray_args(args, 2)
local pres_stem, pres_tr = inf_stem, inf_tr
local variants = args[1] or ""
parse_variants(data, variants, {"+p", "7"})
-- If stem ends in -ева́ть and a past passive participle is called for
-- with stress on the -е-, automatically set -о- or -ё- as required.
if data.ppp and data.ppp ~= "(7)" then
if rfind(inf_stem, "цева́") then
if data.ppp == "[(7)]" then
-- FIXME. Theoretically we should support this but there
-- aren't any verbs requiring it. It won't work properly
-- currently because we need the о to appear only when
-- stressed.
error("Variant [(7)] not supported for class 2")
end
-- цев -> цо́в, e.g. (об)лицева́ть -> (об)лицо́ванный
data.o = true
data.title = data.title .. "(-о-)"
elseif rfind(inf_stem, "ева́") then
data.yo = true
data.title = data.title .. "(-ё-)"
end
end
-- all -ова- change to -у-
pres_stem = rsub(pres_stem, "о(́?)ва(́?)$", "у%1%2")
pres_tr = pres_tr and rsub(pres_tr, "o(́?)va(́?)$", "u%1%2")
-- -ева- change to -ю- after most consonants and vowels, to -у- after hissing sounds and ц
if rfind(pres_stem, "[бвгдзклмнпрстфхь" .. com.vowel .. AC .. "]е(́?)ва(́?)$") then
pres_stem = rsub(pres_stem, "е(́?)ва(́?)$", "ю%1%2")
pres_tr = pres_tr and rsub(pres_tr, "e(́?)va(́?)$", "ju%1%2")
elseif rfind(pres_stem, "[жцчшщ]е(́?)ва(́?)$") then
pres_stem = rsub(pres_stem, "е(́?)ва(́?)$", "у%1%2")
pres_tr = pres_tr and rsub(pres_tr, "e(́?)va(́?)$", "u%1%2")
end
forms["infinitive"] = combine(inf_stem, inf_tr, "ть")
if data.conj_type == "2a" then
append_participles_2stem(forms, pres_stem, pres_tr, inf_stem, inf_tr,
"ющий", "емый", "я", "вший", "вши", "в")
present_je(forms, pres_stem, pres_tr, "a")
else
append_participles_2stem(forms, pres_stem, pres_tr, inf_stem, inf_tr,
"ю́щий", "-", "я́", "вший", "вши", "в")
present_je(forms, pres_stem, pres_tr, "b")
end
set_moving_ppp(forms, data)
append_imper(forms, pres_stem, pres_tr, "й", "йте")
set_past(forms, inf_stem, inf_tr, "л", "ла", "ло", "ли")
return forms
end
conjugations["2a"] = function(args, data)
return guts_of_2(args, data)
end
conjugations["2b"] = function(args, data)
return guts_of_2(args, data)
end
conjugations["3°a"] = function(args, data)
local forms = {}
-- (5), [(6)] or similar; imperative indicators
parse_variants(data, args[1], {"5", "6", "23", "и", "+p", "7", "ё"})
local stem, tr = com.split_russian_tr(get_stressed_arg(args, 2))
stem, tr = com.strip_ending(stem, tr, "нуть")
local vowel_stem = is_vowel_stem(stem)
no_stray_args(args, 2)
forms["infinitive"] = combine(stem, tr, "нуть")
append_participles(forms, stem, tr,
-- default is blank for pres passive and adverbial
"нущий", "-", "-",
data.var6 == "req" and "нувший" or
data.var6 == "opt" and (vowel_stem and {"вший", "нувший"} or {"ший", "нувший"}) or
vowel_stem and "вший" or "ший",
data.var6 == "req" and "нувши" or
data.var6 == "opt" and (vowel_stem and {"вши", "нувши"} or {"ши", "нувши"}) or
vowel_stem and "вши" or "ши",
data.var6 == "req" and "нув" or
data.var6 == "opt" and (vowel_stem and {"в", "нув"} or "нув") or
vowel_stem and "в" or "-")
set_moving_ppp(forms, data)
present_e_a(forms, stem .. "н", tr and tr .. "n")
append_imper_by_variant(forms, stem .. "н", tr and tr .. "n", data.imper_variant, "3°a")
forms["past_m"] = data.var5 and combine(stem, tr, "нул") or "-"
forms["past_m_short"] = data.var5 ~= "req" and combine(stem, tr, (vowel_stem and "л" or "")) or nil
forms["past_f_short"] = combine(stem, tr, "ла")
forms["past_n_short"] = combine(stem, tr, "ло")
forms["past_pl_short"] = combine(stem, tr, "ли")
return forms
end
conjugations["3a"] = function(args, data)
local forms = {}
parse_variants(data, args[1], {"23", "и", "+p", "7", "ё"})
local stem, tr = com.split_russian_tr(get_stressed_arg(args, 2))
-- make sure we can strip нуть from the stem and any translit;
com.strip_ending(stem, tr, "нуть")
-- but then just strip the -уть and leave the н
stem, tr = com.strip_ending(stem, tr, "уть")
no_stray_args(args, 2)
forms["infinitive"] = combine(stem, tr, "уть")
append_participles(forms, stem, tr,
-- default is blank for pres passive and adverbial
"ущий", "-", "-", "увший", "увши", "ув")
set_moving_ppp(forms, data)
present_e_a(forms, stem, tr)
append_imper_by_variant(forms, stem, tr, data.imper_variant, "3a")
set_past(forms, stem .. "ул", tr and tr .. "ul", "", "а", "о", "и")
return forms
end
local function guts_of_3b_3c(args, data, vclass)
local forms = {}
parse_variants(data, args[1], {"+p", "7", "ё"})
local stem, tr = com.split_russian_tr(get_stressed_arg(args, 2))
-- make sure we can strip нуть from the stem and any translit;
com.strip_ending(stem, tr, "ну́ть")
-- but then just strip the -у́ть and leave the н
stem, tr = com.strip_ending(stem, tr, "у́ть")
no_stray_args(args, 2)
forms["infinitive"] = combine(stem, tr, "у́ть")
append_participles(forms, stem, tr,
-- default is blank for pres passive and adverbial
"у́щий", "-", "-", "у́вший", "у́вши", "у́в")
set_moving_ppp(forms, data)
append_imper(forms, stem, tr, "и́", "и́те")
set_past(forms, stem, tr, "у́л", "у́ла", "у́ло", "у́ли")
if data.conj_type == "3b" then
present_e_b(forms, stem, tr)
else
stem, tr = com.make_ending_stressed(stem, tr)
present_e_c(forms, stem, tr)
end
return forms
end
conjugations["3b"] = function(args, data)
return guts_of_3b_3c(args, data)
end
conjugations["3c"] = function(args, data)
return guts_of_3b_3c(args, data)
end
conjugations["4a"] = function(args, data)
local forms = {}
-- imperative variants, also щ, used for verbs like похитить (похи́щу) (4a),
-- защитить (защищу́) (4b), поглотить (поглощу́) (4c) with a different
-- iotation (т -> щ, not ч)
parse_variants(data, args[1], {"23", "и", "щ", "past", "+p", "7", "жд"})
local stem, tr = com.split_russian_tr(get_stressed_arg(args, 2))
stem, tr = com.strip_ending(stem, tr, "ить")
no_stray_args(args, 2)
forms["infinitive"] = combine(stem, tr, "ить")
-- Verbs ending in a hushing consonant do not get j-vowels in the endings.
local hushing = rfind(stem, "[шщжч]$")
append_participles(forms, stem, tr, hushing and "ащий" or "ящий",
"awkward-имый", hushing and "а" or "я", "ивший", "ивши", "ив")
set_class_4_ppp(forms, data, stem, tr)
present_i(forms, stem, tr, "a", data.shch)
append_imper_by_variant(forms, stem, tr, data.imper_variant, "4a")
-- set prefix to "" as past stem may vary in length and no (1) variants
set_past_by_stress(forms, data.past_stress, "", nil, stem .. "и",
tr and tr .. "i", args, data)
return forms
end
conjugations["4a1a"] = function(args, data)
local forms = {}
data.title = "4a // 1a"
data.cat_conj_types = {"1a", "4a"}
-- imperative variants, also щ, used for verbs like похитить (похи́щу) (4a),
-- защитить (защищу́) (4b), поглотить (поглощу́) (4c) with a different
-- iotation (т -> щ, not ч)
parse_variants(data, args[1], {"23", "и", "щ", "past", "+p", "7", "жд"})
local stem4, tr4 = com.split_russian_tr(get_stressed_arg(args, 2))
stem4, tr4 = com.strip_ending(stem4, tr4, "ить")
local hushing = rfind(stem4, "[шщжч]$")
local stem1, tr1
if hushing then
stem1 = stem4 .. "а"
tr1 = tr4 and tr4 .. "a"
else
stem1 = stem4 .. "я"
tr1 = tr4 and tr4 .. "ja"
end
no_stray_args(args, 2)
forms["infinitive"] = combine(stem4, tr4, "ить")
-- Verbs ending in a hushing consonant do not get j-vowels in the endings.
append_participles(forms, stem4, tr4, hushing and "ащий" or "ящий",
"awkward-имый", hushing and "а" or "я", "ивший", "ивши", "ив")
append_participles(forms, stem1, tr1, "ющий", "емый", "я", {}, {}, {})
set_class_4_ppp(forms, data, stem4, tr4)
present_i(forms, stem4, tr4, "a", data.shch)
present_je(forms, stem1, tr1, "a", data.shch)
append_imper_by_variant(forms, stem4, tr4, data.imper_variant, "4a")
append_imper(forms, stem1, tr1, "й", "йте")
-- set prefix to "" as past stem may vary in length and no (1) variants
set_past_by_stress(forms, data.past_stress, "", nil, stem4 .. "и",
tr4 and tr4 .. "i", args, data)
return forms
end
conjugations["4b"] = function(args, data)
local forms = {}
parse_variants(data, args[1], {"щ", "past", "+p", "8", "жд"})
local stem, tr = com.split_russian_tr(get_stressed_arg(args, 2))
stem, tr = com.strip_ending(stem, tr, "и́ть")
no_stray_args(args, 2)
forms["infinitive"] = combine(stem, tr, "и́ть")
-- Verbs ending in a hushing consonant do not get j-vowels in the endings.
local hushing = rfind(stem, "[шщжч]$")
append_participles(forms, stem, tr, hushing and "а́щий" or "я́щий",
"awkward-и́мый", hushing and "а́" or "я́", "и́вший", "и́вши", "и́в")
set_class_4_ppp(forms, data, stem, tr)
present_i(forms, stem, tr, "b", data.shch)
append_imper(forms, stem, tr, "и́", "и́те")
-- set prefix to "" as past stem may vary in length and no (1) variants
local stem_noa, tr_noa = com.make_unstressed_once(stem, tr)
set_past_by_stress(forms, data.past_stress, "", nil, stem_noa .. "и́",
tr_noa and tr_noa .. "i" .. AC, args, data)
return forms
end
conjugations["4c"] = function(args, data)
local forms = {}
parse_variants(data, args[1], {"щ", "4", "past", "+p", "7", "жд"})
local stem, tr = com.split_russian_tr(get_stressed_arg(args, 2))
stem, tr = com.strip_ending(stem, tr, "и́ть")
stem, tr = com.make_ending_stressed(stem, tr)
no_stray_args(args, 2)
forms["infinitive"] = combine(stem, tr, "и́ть")
-- Verbs ending in a hushing consonant do not get j-vowels in the endings.
local hushing = rfind(stem, "[шщжч]$")
local prap_end_stressed = hushing and "а́щий" or "я́щий"
local prap_stem_stressed = hushing and "ащий" or "ящий"
append_participles(forms, stem, tr, data.var4 == "req" and prap_stem_stressed
or data.var4 == "opt" and {prap_end_stressed, prap_stem_stressed}
or prap_end_stressed,
"awkward-и́мый", hushing and "а́" or "я́", "и́вший", "и́вши", "и́в")
set_class_4_ppp(forms, data, stem, tr)
present_i(forms, stem, tr, "c", data.shch)
append_imper(forms, stem, tr, "и́", "и́те")
local stem_noa, tr_noa = com.make_unstressed_once(stem, tr)
set_past_by_stress(forms, data.past_stress, "", nil, stem_noa .. "и́",
tr_noa and tr_noa .. "i" .. AC, args, data)
return forms
end
-- Combined class 5. But there's enough conditional code that it might make
-- more sense to separate them again.
local function guts_of_5(args, data)
local forms = {}
local is5a = data.conj_type == "5a"
local is5b = data.conj_type == "5b"
-- imperative ending (выгнать - выгони) and past stress; imperative is
-- "й" after any vowel (e.g. выстоять), with or without an acute accent,
-- otherwise ь or и
if is5a or is5b then
parse_variants(data, args[1], {"23", "и", "past", "+p", "7", "ё"})
else
parse_variants(data, args[1], {"23", "и", "past", "+p", "7", "ё", "4"})
end
local inf = get_stressed_arg(args, 2)
local past_stem = com.strip_ending(inf, nil, "ть")
local stem = is5b and get_opt_unstressed_arg(args, 3) or get_opt_stressed_arg(args, 3)
local default_stem = rmatch(past_stem, "^(.*)[еѣая]́?$")
if not default_stem then
error("Argument " .. inf .. " doesn't end in еть, ѣть, ать or ять")
end
if not is5a and not is5b then
default_stem = com.make_ending_stressed(default_stem)
end
stem = stem or default_stem
local pres_note = stem ~= default_stem and IRREG
no_stray_args(args, 3)
forms["infinitive"] = past_stem .. "ть"
-- Verbs ending in a hushing consonant do not get j-vowels in the endings.
local hushing = rfind(stem, "[шщжч]$")
if is5a then
append_participles_2stem(forms, stem, nil, past_stem, nil,
hushing and "ащий" or "ящий", "имый", hushing and "а" or "я",
"вший", "вши", "в", pres_note)
elseif is5b then
append_participles_2stem(forms, stem, nil, past_stem, nil,
hushing and "а́щий" or "я́щий", "и́мый", hushing and "а́" or "я́",
"вший", "вши", "в", pres_note)
else
-- var4 occurs with at least терпре́ть and дыша́ть
local prap_end_stressed = hushing and "а́щий" or "я́щий"
local prap_stem_stressed = hushing and "ащий" or "ящий"
append_participles_2stem(forms, stem, nil, past_stem, nil,
data.var4 == "req" and prap_stem_stressed
or data.var4 == "opt" and {prap_end_stressed, prap_stem_stressed}
or prap_end_stressed,
"и́мый", hushing and "а́" or "я́", "вший", "вши", "в", pres_note)
end
set_moving_ppp(forms, data)
present_i(forms, stem, nil, is5a and "a" or is5b and "b" or "c", nil, pres_note)
append_imper_by_variant(forms, stem, nil, data.imper_variant, data.conj_type, pres_note)
-- set prefix to "" as past stem may vary in length and no (1) variants
set_past_by_stress(forms, data.past_stress, "", nil, past_stem, nil,
args, data)
return forms
end
conjugations["5a"] = function(args, data)
return guts_of_5(args, data)
end
conjugations["5b"] = function(args, data)
return guts_of_5(args, data)
end
conjugations["5c"] = function(args, data)
return guts_of_5(args, data)
end
-- Implement 6a, 6°a, 6a1as13, 6a1as14, and 1a6a.
local function guts_of_6a(args, data, vclass)
local forms = {}
-- Type 6a1a, section 13:
-- Forms of both 6a and 1a can occur. They are the same in the infinitive
-- and past. In the present active participle and the present/future, the
-- type 6 forms are preferred and the type 1a forms are colloquial. In the
-- remaining present forms and the imperative, both are equally preferred
-- (we put the type-6 forms first because Zaliznyak lists them first).
-- Type 6a1a section 14, type 1a6a:
-- Forms of both 6a and 1a can occur. They are the same in the infinitive
-- and past. In the present adverbial participle and the imperative, the
-- type 1a forms are preferred and the type 6a forms are dated. In the
-- remaining present forms, one or the other is slightly preferred (type
-- 6a for 6a1a, type 1a for 1a6a).
if vclass == "6a1as13" or vclass == "6a1as14" then
data.title = "6a // 1a"
data.cat_conj_types = {"1a", "6a"}
elseif vclass == "1a6a" then
data.title = "1a // 6a"
data.cat_conj_types = {"1a", "6a"}
end
parse_variants(data, args[1], {"23", "и", "past", "+p", "7", "ё"})
local inf = get_stressed_arg(args, 2)
local inf_past_stem = com.strip_ending(inf, nil, "ть")
local stem = rmatch(inf_past_stem, "^(.*)[ая]́?$")
if not stem then
error("Argument " .. inf .. " doesn't end in ать or ять")
end
if com.is_unstressed(stem) then
-- колыха́ть, колеба́ть, etc.
stem = com.make_ending_stressed(stem)
end
-- вызвать - вы́зову (в́ызов)
local pres_stem = get_opt_stressed_arg(args, 3) or stem
no_stray_args(args, 3)
local pres_note = pres_stem ~= stem and IRREG
-- no iotation, e.g. вырвать - вы́рву
local no_iotation = vclass == "6°a"
-- replace consonants for 1st person singular present/future
local iotated_stem = no_iotation and pres_stem or com.iotation(pres_stem)
forms["infinitive"] = inf_past_stem .. "ть"
-- Verbs ending in a hushing consonant do not get j-vowels in the endings.
local hushing = rfind(iotated_stem, "[шщжч]$") or no_iotation
-- Participles
-- pres_pasv_part is normal if infinitive ends in -ять, nonexistent except
-- with certain lexical exceptions (колеба́ть, колыха́ть, глаго́лать,
-- дви́гать with exceptional form дви́жимый) if infinitive ends in -ать
local prpp_status = rfind(inf_past_stem, "я́?$") and "" or "none-"
if vclass == "6a" or vclass == "6°a" or vclass == "6a1as13" then
append_participles_2stem(forms, iotated_stem, nil, inf_past_stem, nil,
hushing and "ущий" or "ющий", prpp_status .. "емый", hushing and "а" or "я",
"вший", "вши", "в", pres_note)
if vclass == "6a1as13" then
-- then all the type 1a forms (both are the same in the past)
append_participles(forms, inf_past_stem, nil, "ющий*", prpp_status .. "емый", "я")
end
elseif vclass == "6a1as14" then
-- first the preferred type 6a present active/passive participles
append_participles(forms, iotated_stem, nil,
hushing and "ущий" or "ющий", prpp_status .. "емый", {}, {}, {}, {}, pres_note)
-- then all the type 1a forms (both are the same in the past)
append_participles(forms, inf_past_stem, nil, "ющий", "емый", "я",
"вший", "вши", "в")
-- then the dated type 6a present adverbial participle
append_participles(forms, iotated_stem, nil,
{}, {}, hushing and "а*" or "я*", {}, {}, {}, pres_note)
else -- type 1a6a
-- first the preferred type 1a forms (both are the same in the past)
append_participles(forms, inf_past_stem, nil, "ющий", "емый", "я",
"вший", "вши", "в")
-- then the type 6a forms (dated in present adverbial participle)
append_participles(forms, iotated_stem, nil,
hushing and "ущий" or "ющий", prpp_status .. "емый", hushing and "а*" or "я*",
{}, {}, {}, pres_note)
end
set_moving_ppp(forms, data)
-- Present/future tense
local function class_6_present()
if no_iotation then
present_e_a(forms, pres_stem, nil, pres_note)
else
present_je(forms, pres_stem, nil, "a", nil, pres_note)
end
end
if vclass == "6a" or vclass == "6°a" then
class_6_present()
elseif vclass == "1a6a" then
-- Do type 1a forms
present_je(forms, inf_past_stem, nil, "a")
class_6_present()
elseif vclass == "6a1as14" then
class_6_present()
-- Do type 1a forms
present_je(forms, inf_past_stem, nil, "a")
else
-- 6a1as13
class_6_present()
-- Do type 1a forms
present_je(forms, inf_past_stem, nil, "a", nil, "*")
end
-- Imperative forms; if 1a6a or 6a1as14, type 6a forms are dated;
-- if 6a1as13, type 6a forms go first.
local function class_1_impr()
append_imper(forms, inf_past_stem, nil, "й", "йте")
end
local function class_6_impr()
local dated_note = ((vclass == "6a1as14" or vclass == "1a6a") and "*" or "") ..
(pres_note or "")
append_imper_by_variant(forms, iotated_stem, nil, data.imper_variant,
"6a", dated_note)
end
if vclass == "6a1as14" or vclass == "1a6a" then
class_1_impr()
class_6_impr()
elseif vclass == "6a1as13" then
class_6_impr()
class_1_impr()
else
class_6_impr()
end
-- set prefix to "" as past stem may vary in length and no (1) variants
set_past_by_stress(forms, data.past_stress, "", nil, inf_past_stem, nil,
args, data)
if vclass == "6a1as14" or vclass == "1a6a" then
m_table.insertIfNot(data.internal_notes, "* Dated.")
elseif vclass == "6a1as13" then
m_table.insertIfNot(data.internal_notes, "* Colloquial; type-6 forms preferred.")
end
return forms
end
conjugations["6a"] = function(args, data)
return guts_of_6a(args, data, "6a")
end
conjugations["6°a"] = function(args, data)
return guts_of_6a(args, data, "6°a")
end
conjugations["6a1as13"] = function(args, data)
return guts_of_6a(args, data, "6a1as13")
end
conjugations["6a1as14"] = function(args, data)
return guts_of_6a(args, data, "6a1as14")
end
conjugations["1a6a"] = function(args, data)
return guts_of_6a(args, data, "1a6a")
end
-- implement 6b, 6°b
local function guts_of_6b(args, data, vclass)
local forms = {}
parse_variants(data, args[1], {"past", "+p", "7", "ё"})
local inf = get_stressed_arg(args, 2)
local stem = rmatch(inf, "^(.*)[ая]́ть$")
if not stem then
error("Argument " .. inf .. " doesn't end in ать or ять")
end
-- звать - зов, драть - дер
local pres_stem = get_opt_unstressed_arg(args, 3) or stem
no_stray_args(args, 3)
-- no iotation, e.g. рвать - рву
local no_iotation = vclass == "6°b"
local vowel_end_stem = is_vowel_stem(stem)
local pres_note = pres_stem ~= stem and IRREG
if no_iotation then
present_e_b(forms, pres_stem, nil, pres_note)
else
present_je(forms, pres_stem, nil, "b", nil, pres_note)
end
local impr_end = vowel_end_stem and "́й" -- accent on the preceding vowel
or "и́"
append_imper(forms, pres_stem, nil, impr_end, impr_end .. "те", pres_note)
-- Verbs ending in a hushing consonant do not get j-vowels in the endings.
local hushing = rfind(pres_stem, "[шщжч]$")
-- no pres_pasv_part
local past_stem_with_vowel = stem .. (vowel_end_stem and "я́" or "а́")
append_participles_2stem(
forms, pres_stem, nil, past_stem_with_vowel, nil,
((hushing or no_iotation) and "у́щий" or "ю́щий"), {}, (hushing and "а́" or "я́"),
"вший", "вши", "в", pres_note)
forms["infinitive"] = combine(past_stem_with_vowel, nil, "ть")
set_moving_ppp(forms, data)
-- past_f for ждала́, подождала́ now handled through general mechanism
--for разобрало́сь, past_n2 разобрало́ now handled through general mechanism
--for разобрали́сь, past_pl2 разобрали́ now handled through general mechanism
-- set prefix to "" as past stem may vary in length and no (1) variants
set_past_by_stress(forms, data.past_stress, "", nil,
stem .. (vowel_end_stem and "я́" or "а́"), nil, args, data)
return forms
end
conjugations["6b"] = function(args, data)
return guts_of_6b(args, data, "6b")
end
conjugations["6°b"] = function(args, data)
return guts_of_6b(args, data, "6°b")
end
-- Implement 6c, 6°c and 6c1a.
local function guts_of_6c(args, data, vclass)
local forms = {}
-- In type 6c1a, forms of both 6c and 1a can occur. They are
-- the same in the infinitive and past. In the present active participle
-- and the present/future, the type 6c forms are preferred and the type 1a
-- forms are colloquial. In the remaining present forms and the imperative,
-- both are equally preferred (we put the 6c forms first because Zaliznyak
-- lists 6c first).
if vclass == "6c1a" then
data.title = "6c // 1a"
data.cat_conj_types = {"1a", "6c"}
end
-- optional щ parameter for verbs like клеветать (клевещу́), past stress
parse_variants(data, args[1], {"щ", "past", "+p", "7", "ё"})
local stem = com.strip_ending(get_stressed_arg(args, 2), nil, "а́ть")
stem = com.make_ending_stressed(stem)
-- разостла́ть - расстелю́, рассте́лешь
local pres_stem = get_opt_stressed_arg(args, 3) or stem
no_stray_args(args, 3)
local pres_note = pres_stem ~= stem and IRREG
-- remove accent for some forms
local stem_noa = com.make_unstressed(stem)
-- applies only to стона́ть, застона́ть, простона́ть
local no_iotation = vclass == "6°c"
-- iotate the stem
local iotated_stem =
no_iotation and pres_stem or com.iotation(pres_stem, nil, data.shch)
local stem1a = stem_noa .. "а́"
forms["infinitive"] = stem_noa .. "а́ть"
-- Verbs ending in a hushing consonant do not get j-vowels in the endings.
local hushing = rfind(iotated_stem, "[шщжч]$")
-- Participles
append_participles_2stem(forms, iotated_stem, nil, stem_noa, nil,
(hushing or no_iotation) and "ущий" or "ющий", {},
hushing and "а́" or "я́", "а́вший", "а́вши", "а́в", pres_note)
if vclass == "6c1a" then
-- then all the type 1a forms (both are the same in the past)
append_participles(forms, stem1a, nil, "ющий*", "емый", "я")
end
set_moving_ppp(forms, data)
if no_iotation then
present_e_c(forms, pres_stem, nil, pres_note)
else
present_je(forms, pres_stem, nil, "c", data.shch, pres_note)
end
append_imper(forms, iotated_stem, nil, "и́", "и́те", pres_note)
if vclass == "6c1a" then
present_je(forms, stem1a, nil, "a", nil, "*")
append_imper(forms, stem1a, nil, "й", "йте")
end
-- set prefix to "" as past stem may vary in length and no (1) variants
set_past_by_stress(forms, data.past_stress, "", nil, stem_noa .. "а́", nil,
args, data)
if vclass == "6c1a" then
m_table.insertIfNot(data.internal_notes, "* Colloquial; type-6 forms preferred.")
end
return forms
end
conjugations["6c"] = function(args, data)
return guts_of_6c(args, data, "6c")
end
conjugations["6°c"] = function(args, data)
return guts_of_6c(args, data, "6°c")
end
conjugations["6c1a"] = function(args, data)
return guts_of_6c(args, data, "6c1a")
end
local function convert_last_e_to_yo(form)
return rsub(form,
"([еѣ])[́̀̈]*([^" .. com.vowel .. "]*)$",
function(e, nonvowels)
return (e == "е" and "ё" or "ѣ̈") .. nonvowels
end)
end
local function guts_of_7(args, data, forms)
local is7b = data.conj_type == "7b"
local full_inf = get_stressed_arg(args, 2)
local pres_stems = is7b and get_unstressed_arg(args, 3) or get_stressed_arg(args, 3)
pres_stems = rsplit(pres_stems, ",")
local past_stem
if past_stem ~= "ёе" then
past_stem = get_opt_stressed_arg(args, 4)
end
local past_stem_vowel_alt = past_stem == "ёе"
if past_stem_vowel_alt then
past_stem = nil
end
no_stray_args(args, 4)
forms["infinitive"] = full_inf
-- Construct the default past and present stem by a combination of
-- infinitive and present final consonant.
-- (1) Deduce the final consonant.
local final_cons
for _, pres_stem in ipairs(pres_stems) do
-- Final cons is -ст if pres stem ends in vowel + ст, else
-- single final cons [дтсзбп] (no actual examples of final п).
-- Note that final -з can occur after a consonant (e.g. ползти́).
local this_final_cons = rmatch(pres_stem,
"[" .. com.vowel .. "]" .. AC .. "?(ст)$")
if not this_final_cons then
this_final_cons = rmatch(pres_stem, "([дтсзбп])$")
end
if not this_final_cons then
error("Unable to determine final consonant from present stem " .. pres_stem)
end
if final_cons and this_final_cons ~= final_cons then
error("Present stems with conflicting final consonants specified: " ..
table.concat(pres_stems, ","))
end
final_cons = this_final_cons
end
-- (2) Find the infinitive minus the termination.
local prefix = rmatch(full_inf, "^(.*)[сз]т[иь]" .. AC .."?$")
if not prefix then
error("Strange infinitive " .. full_inf .. "in class 7")
end
-- (3) Combine infinitive with final consonant.
local default_pres_stem = prefix .. final_cons
if is7b then
default_pres_stem = com.make_unstressed(default_pres_stem)
end
local default_past_stem = default_pres_stem
if com.is_unstressed(default_past_stem) then
default_past_stem = com.make_ending_stressed(default_past_stem)
end
-- (4) Past stems ending in -д and -т when the infinitive ends in -сть (but not -сти or -сти́)
-- lose this consonant (page 85 of Zaliznyak, see also footnote 2 on that page).
if rfind(full_inf, "сть$") then
default_past_stem = rsub(default_past_stem, "[дт]$", "")
end
-- (5) If 7b and the past stem wasn't originally specified as ёе, the past stem gets
-- ё in place of е.
if is7b and not past_stem_vowel_alt then
default_past_stem = convert_last_e_to_yo(default_past_stem)
end
for _, pres_stem in ipairs(pres_stems) do
local pres_note = pres_stem ~= default_pres_stem and IRREG
if is7b then
present_e_b(forms, pres_stem, nil, pres_note)
append_imper(forms, pres_stem, nil, "и́", "и́те", pres_note)
else
present_e_a(forms, pres_stem, nil, pres_note)
append_imper_by_variant(forms, pres_stem, nil, data.imper_variant,
"7a", pres_note)
end
end
-- Construct the past stem if not specified. Note that we then derive a separate
-- past-tense stem from this stem, and this stem as such ends up applying only
-- to the past active and adverbial participles.
if not past_stem then
past_stem = default_past_stem
end
local past_note = past_stem ~= default_past_stem and IRREG
-- Derive the past tense stem from the past stem derived above. This has ё instead of е
-- in 7b verbs; it also loses д and т in all cases, when the past stem derived above only loses
-- these consonants in some cases.
local past_tense_stem = past_stem
if is7b then
past_tense_stem = convert_last_e_to_yo(past_tense_stem)
end
past_tense_stem = rsub(past_tense_stem, "[дт]$", "")
local vowel_pp = is_vowel_stem(past_stem)
local pap = vowel_pp and "вши" or "ши"
local var9_note_symbol = next_note_symbol(data)
for _, pres_stem in ipairs(pres_stems) do
local pres_note = pres_stem ~= default_pres_stem and IRREG
append_participles_2stem(forms, pres_stem, nil, past_stem, nil,
is7b and "у́щий" or "ущий", "-", is7b and "я́" or "я",
vowel_pp and "вший" or "ший",
data.var9 and {is7b and "я́" or "я", pap .. var9_note_symbol} or pap,
vowel_pp and not data.var9 and "в" or "-", pres_note, past_note)
end
if data.var9 then
m_table.insertIfNot(data.internal_notes, var9_note_symbol .. " Dated.")
end
-- set prefix to "" as past stem may vary in length and no (1) variants
set_past_by_stress(forms, data.past_stress, "", nil, past_tense_stem, nil,
args, data,
-- 0 ending if the past stem ends in a consonant
not is_vowel_stem(past_tense_stem) and "no-pastml", past_note)
-- set PPP; must be done after both present 3sg and past fem have been set
set_class_7_8_ppp(forms, args, data)
end
conjugations["7a"] = function(args, data)
local forms = {}
parse_variants(data, args[1], {"23", "и", "9","past", "+p"})
-- лезть - ле́зши - non-existent past_actv_part handled through general mechanism
guts_of_7(args, data, forms)
return forms
end
conjugations["7b"] = function(args, data)
local forms = {}
parse_variants(data, args[1], {"9", "past", "+p"})
guts_of_7(args, data, forms)
return forms
end
local function class_8a_stem_to_infinitive(stem)
-- map e.g. вы́сек back to высе́чь
return rsub(stem, "[гк]$", "чь")
end
local function class_8b_stem_to_infinitive(stem)
-- map e.g. отвлёк back to отвле́чь
-- map e.g. зажёг back to заже́чь
return com.make_ending_stressed(rsub(rsub(rsub(stem, "ё", "е"), "ѣ̈", "ѣ"), "[гк]$", "чь"))
end
conjugations["8a"] = function(args, data)
local forms = {}
parse_variants(data, args[1], {"past", "+p"})
local full_inf = get_stressed_arg(args, 2)
local stem = get_stressed_arg(args, 3)
local stressed_past_stem = get_opt_stressed_arg(args, 4) or stem
no_stray_args(args, 4)
forms["infinitive"] = full_inf
local pres_note = class_8a_stem_to_infinitive(stem) ~= full_inf and IRREG
local stressed_past_note =
class_8a_stem_to_infinitive(stressed_past_stem) ~= full_inf and IRREG
-- default for pres_pasv_part is blank
append_participles_2stem(forms, stem, nil, stressed_past_stem, nil,
"ущий", "-", "-", "ший", "ши", "-", pres_note, stressed_past_note)
local iotated_stem = com.iotation(stem)
append_pres_futr(forms, iotated_stem, nil, {}, "ешь", "ет", "ем", "ете", {}, pres_note)
append_pres_futr(forms, stem, nil, "у", {}, {}, {}, {}, "ут", pres_note)
append_imper(forms, stem, nil, "и", "ите", pres_note)
-- set prefix to "" as stem may vary in length and no (1) variants
set_past_by_stress(forms, data.past_stress, "", nil, stem, nil, args, data,
"no-pastml", pres_note)
forms["past_m"] = stressed_past_stem .. (stressed_past_note or "")
-- set PPP; must be done after both present 3sg and past fem have been set
set_class_7_8_ppp(forms, args, data)
return forms
end
conjugations["8b"] = function(args, data)
local forms = {}
parse_variants(data, args[1], {"past", "+p"})
local full_inf = get_stressed_arg(args, 2)
local stem = get_unstressed_arg(args, 3)
local stressed_past_stems = rsplit(args[4] or "ё", ",")
for _, stressed_past_stem in ipairs(stressed_past_stems) do
if stressed_past_stem ~= "е" then
check_stressed_arg(stressed_past_stem, 4)
end
end
no_stray_args(args, 4)
forms["infinitive"] = full_inf
local pres_note = class_8b_stem_to_infinitive(stem) ~= full_inf and IRREG
local iotated_stem = com.iotation(stem)
append_pres_futr(forms, iotated_stem, nil, {}, "ёшь", "ёт", "ём", "ёте", {}, pres_note)
append_pres_futr(forms, stem, nil, "у́", {}, {}, {}, {}, "у́т", pres_note)
append_imper(forms, stem, nil, "и́", "и́те", pres_note)
-- set prefix to "" as stem may vary in length and no (1) variants
set_past_by_stress(forms, data.past_stress, "", nil,
com.make_ending_stressed(stem), nil, args, data, "no-pastml", pres_note)
forms["past_m"] = nil
for _, stressed_past_stem in ipairs(stressed_past_stems) do
local pastm_stem, past_part_stem
if stressed_past_stem == "е" then
past_part_stem = com.make_ending_stressed(stem)
pastm_stem = past_part_stem
elseif stressed_past_stem == "ё" then
past_part_stem = convert_last_e_to_yo(com.make_ending_stressed(stem))
pastm_stem = past_part_stem
elseif stressed_past_stem == "ёе" then
past_part_stem = com.make_ending_stressed(stem)
pastm_stem = convert_last_e_to_yo(past_part_stem)
else
pastm_stem = stressed_past_stem
past_part_stem = stressed_past_stem
end
local past_note =
class_8b_stem_to_infinitive(pastm_stem) ~= full_inf and IRREG
-- default for pres_pasv_part is blank; влечь -> влеко́мый handled through
-- general override mechanism
append_participles_2stem(forms, stem, nil, past_part_stem, nil,
"у́щий", "-", "-", "ший", "ши", "-", pres_note, past_note)
append_form(forms, "past_m", pastm_stem, nil, "", past_note)
end
-- set PPP; must be done after both present 3sg and past fem have been set
set_class_7_8_ppp(forms, args, data)
return forms
end
conjugations["9a"] = function(args, data)
local forms = {}
parse_variants(data, args[1], {"past", "+p"})
local stem = com.strip_ending(get_stressed_arg(args, 2), nil, "еть")
local pres_stem = get_opt_stressed_arg(args, 3)
no_stray_args(args, 3)
local prefix, _, base, _ = split_monosyllabic_main_verb(stem)
local default_pres_stem = prefix .. rsub(base, "е", "")
pres_stem = pres_stem or default_pres_stem
local pres_note = pres_stem ~= default_pres_stem and IRREG
forms["infinitive"] = stem .. "еть"
-- perfective only
append_participles(forms, stem, nil, "-", "-", "-", "ший", "ши", "ев")
present_e_a(forms, pres_stem, nil, pres_note)
append_imper(forms, pres_stem, nil, "и", "ите", pres_note)
-- past_m doesn't end in л
set_past_by_stress(forms, data.past_stress, prefix, nil, base, nil,
args, data, "no-pastml")
set_ppp_from_past_m(forms, args, data)
return forms
end
conjugations["9b"] = function(args, data)
local forms = {}
--for this type, it's important to distinguish impf and pf
local impf = rfind(data.verb_type, "^impf")
parse_variants(data, args[1], {"past", "+p", "*"})
local stem_noa = com.strip_ending(get_stressed_arg(args, 2), nil, "е́ть")
local stem = rsub(stem_noa, "(.*)е", "%1ё")
local pres_stem = get_opt_unstressed_arg(args, 3)
-- stem used for past active and adverbial participles; defaults to past_m
local past_part_stem = get_opt_stressed_arg(args, 4)
no_stray_args(args, 4)
local prefix, _, base, _ = split_monosyllabic_main_verb(stem, nil, "single_cons_base")
local default_pres_stem =
data.star and construct_long_prefix_variant(prefix) .. rsub(base, "[её]", "") or
prefix .. rsub(base, "[её]", "")
pres_stem = pres_stem or default_pres_stem
local pres_note = pres_stem ~= default_pres_stem and IRREG
forms["infinitive"] = stem_noa .. "е́ть"
present_e_b(forms, pres_stem, nil, pres_note)
append_imper(forms, pres_stem, nil, "и́", "и́те", pres_note)
-- past_m doesn't end in л
set_past_by_stress(forms, data.past_stress, prefix, nil, base, nil,
args, data, "no-pastml")
set_ppp_from_past_m(forms, args, data)
append_participles_2stem(forms, pres_stem, nil, stem, nil, "у́щий", {}, {},
-- impf: тереть -> тёрши
-- pf: растереть -> растёрши, растере́в
-- we handle (рас)тёрши down below because the stress depends on the
-- past_m: запереть -> за́пер, за́перши(й)
{}, {}, impf and {} or "е́в", pres_note)
if past_part_stem then
for _, ppstem in ipairs(rsplit(past_part_stem, ",")) do
append_participles(forms, ppstem, nil, {}, {}, {}, "ший", "ши", {})
end
else
iterate_over_prop(forms, args, "past_m", function(ru, tr, note)
append_participles(forms, ru, tr, {}, {}, {}, "ший", "ши", {}, note)
end)
end
return forms
end
conjugations["10a"] = function(args, data)
local forms = {}
parse_variants(data, args[1], {"+p", "7"})
local stem = com.strip_ending(get_stressed_arg(args, 2), nil, "оть")
no_stray_args(args, 2)
forms["infinitive"] = stem .. "оть"
-- These verbs are perfective-only, no present participles
append_participles(forms, stem, nil, "-", "-", "-", "овший", "овши", "ов")
set_moving_ppp(forms, data)
present_je(forms, stem, nil, "a")
append_imper(forms, stem, nil, "и", "ите")
set_past(forms, stem .. "ол", nil, "", "а", "о", "и")
return forms
end
conjugations["10c"] = function(args, data)
local forms = {}
parse_variants(data, args[1], {"+p", "7"})
local inf_stem = com.strip_ending(get_stressed_arg(args, 2), nil, "ть")
-- present tense stressed stem "моло́ть" - ме́лет
local pres_stem = get_opt_stressed_arg(args, 3)
no_stray_args(args, 3)
local default_pres_stem =
com.make_ending_stressed(com.strip_ending(inf_stem, nil, "о́"))
pres_stem = pres_stem or default_pres_stem
-- remove accent for some forms
local pres_stem_noa = com.remove_accents(pres_stem)
local pres_note = pres_stem ~= default_pres_stem and IRREG
forms["infinitive"] = inf_stem .. "ть"
-- default for pres_pasv_part is blank
append_participles_2stem(forms, pres_stem, nil, inf_stem, nil,
"ющий", "-", "я́", "вший", "вши", "в", pres_note)
set_moving_ppp(forms, data)
present_je(forms, pres_stem, nil, "c", nil, pres_note)
append_imper(forms, pres_stem_noa, nil, "и́", "и́те", pres_note)
set_past(forms, inf_stem .. "л", nil, "", "а", "о", "и")
return forms
end
conjugations["11a"] = function(args, data)
local forms = {}
parse_variants(data, args[1], {"past", "+p"})
local stem = com.strip_ending(get_stressed_arg(args, 2), nil, "ить")
no_stray_args(args, 2)
local prefix, _, base, _ = split_monosyllabic_main_verb(stem .. "и")
forms["infinitive"] = stem .. "ить"
-- perfective only
append_participles(forms, stem, nil, "-", "-", "-", "ивший", "ивши", "ив")
present_je(forms, stem .. "ь", nil, "a")
append_imper(forms, stem .. "ей", nil, "", "те")
set_past_by_stress(forms, data.past_stress, prefix, nil, base, nil,
args, data)
set_ppp_from_past_m(forms, args, data)
return forms
end
conjugations["11b"] = function(args, data)
local forms = {}
parse_variants(data, args[1], {"past", "+p", "*"})
local stem = com.strip_ending(get_stressed_arg(args, 2), nil, "и́ть")
local pres_stem = get_opt_unstressed_arg(args, 3)
no_stray_args(args, 3)
local prefix, _, base, _ = split_monosyllabic_main_verb(stem .. "и́", nil, "single_cons_base")
local default_pres_stem =
data.star and construct_long_prefix_variant(prefix) .. rsub(base, "и́$", "") or
stem
pres_stem = pres_stem or default_pres_stem
local pres_note = pres_stem ~= default_pres_stem and IRREG
forms["infinitive"] = stem .. "и́ть"
append_participles_2stem(forms, pres_stem, nil, stem, nil,
"ью́щий", "-", "ья́", "и́вший", "и́вши", "и́в", pres_note)
present_je(forms, pres_stem .. "ь", nil, "b", nil, pres_note)
append_imper(forms, stem .. "е́й", nil, "", "те")
-- e.g. пила́, лила́
set_past_by_stress(forms, data.past_stress, prefix, nil, base, nil,
args, data)
set_ppp_from_past_m(forms, args, data)
return forms
end
conjugations["12a"] = function(args, data)
local forms = {}
parse_variants(data, args[1], {"past", "+p"})
local stem = com.strip_ending(get_stressed_arg(args, 2), nil, "ть")
local pres_stem = get_opt_stressed_arg(args, 3)
no_stray_args(args, 3)
local default_pres_stem = stem
pres_stem = pres_stem or default_pres_stem
local pres_note = pres_stem ~= default_pres_stem and IRREG
local prefix, _, base, _ = split_monosyllabic_main_verb(stem)
forms["infinitive"] = stem .. "ть"
append_participles_2stem(forms, pres_stem, nil, stem, nil,
"ющий", "емый", "я", "вший", "вши", "в", pres_note)
present_je(forms, pres_stem, nil, "a", nil, pres_note)
append_imper(forms, pres_stem .. "й", nil, "", "те", pres_note)
set_past_by_stress(forms, data.past_stress, prefix, nil, base, nil,
args, data)
set_ppp_from_past_m(forms, args, data)
return forms
end
conjugations["12b"] = function(args, data)
local forms = {}
parse_variants(data, args[1], {"past", "+p"})
local stem = com.strip_ending(get_stressed_arg(args, 2), nil, "ть")
local pres_stem = get_opt_unstressed_arg(args, 3)
no_stray_args(args, 3)
local default_pres_stem = com.make_unstressed_once(stem)
pres_stem = pres_stem or default_pres_stem
local pres_note = pres_stem ~= default_pres_stem and IRREG
local prefix, _, base, _ = split_monosyllabic_main_verb(stem)
forms["infinitive"] = stem .. "ть"
-- no pres_pasv_part
append_participles_2stem(forms, pres_stem, nil, stem, nil,
"ю́щий", "-", "я́", "вший", "вши", "в", pres_note)
present_je(forms, pres_stem, nil, "b", nil, pres_note)
-- the preceding vowel is stressed
append_imper(forms, pres_stem .. "́й", nil, "", "те", pres_note)
-- e.g. гнила́ but пе́ла
set_past_by_stress(forms, data.past_stress, prefix, nil, base, nil,
args, data)
set_ppp_from_past_m(forms, args, data)
return forms
end
conjugations["13b"] = function(args, data)
local forms = {}
parse_variants(data, args[1], {"+p"})
local stem = com.strip_ending(get_stressed_arg(args, 2), nil, "ть")
local pres_stem = com.strip_ending(stem, nil, "ва́")
no_stray_args(args, 2)
forms["infinitive"] = stem .. "ть"
-- tricky to use append_participles_2stem() because only pres_actv_part
-- uses pres_stem, not all present participles
forms["pres_actv_part"] = pres_stem .. "ю́щий"
forms["pres_pasv_part"] = stem .. "емый"
forms["pres_adv_part"] = stem .. "я"
forms["past_actv_part"] = stem .. "вший"
forms["past_adv_part"] = stem .. "вши"
forms["past_adv_part_short"] = stem .. "в"
set_moving_ppp(forms, data)
present_je(forms, pres_stem, nil, "b")
forms["impr_sg"] = stem .. "й"
forms["impr_pl"] = stem .. "йте"
set_past(forms, stem .. "л", nil, "", "а", "о", "и")
return forms
end
conjugations["14a"] = function(args, data)
-- only one verb: вы́жать
local forms = {}
parse_variants(data, args[1], {"past", "+p"})
local stem = com.strip_ending(get_stressed_arg(args, 2), nil, "ть")
local pres_stem = get_stressed_arg(args, 3)
no_stray_args(args, 3)
local prefix, _, base, _ = split_monosyllabic_main_verb(stem)
forms["infinitive"] = stem .. "ть"
-- perfective only
append_participles(forms, stem, nil, "-", "-", "-", "вший", "вши", "в")
present_e_a(forms, pres_stem)
forms["impr_sg"] = pres_stem .. "и"
forms["impr_pl"] = pres_stem .. "ите"
set_past_by_stress(forms, data.past_stress, prefix, nil, base, nil,
args, data)
set_ppp_from_past_m(forms, args, data)
return forms
end
conjugations["14b"] = function(args, data)
local forms = {}
parse_variants(data, args[1], {"past", "+p"})
local stem = com.strip_ending(get_stressed_arg(args, 2), nil, "ть")
local pres_stem = get_unstressed_arg(args, 3)
no_stray_args(args, 3)
local prefix, _, base, _ = split_monosyllabic_main_verb(stem)
forms["infinitive"] = stem .. "ть"
-- no pres_pasv_part
append_participles_2stem(forms, pres_stem, nil, stem, nil,
"у́щий", "-", "я́", "вший", "вши", "в")
present_e_b(forms, pres_stem)
forms["impr_sg"] = pres_stem .. "и́"
forms["impr_pl"] = pres_stem .. "и́те"
set_past_by_stress(forms, data.past_stress, prefix, nil, base, nil,
args, data)
set_ppp_from_past_m(forms, args, data)
return forms
end
conjugations["14c"] = function(args, data)
local forms = {}
parse_variants(data, args[1], {"past", "+p"})
local stem = com.strip_ending(get_stressed_arg(args, 2), nil, "ть")
local pres_stem = get_stressed_arg(args, 3)
local pres_stem_noa = com.make_unstressed(pres_stem)
no_stray_args(args, 3)
local prefix, _, base, _ = split_monosyllabic_main_verb(stem)
forms["infinitive"] = stem .. "ть"
-- no pres_pasv_part
append_participles_2stem(forms, pres_stem, nil, stem, nil,
"у́щий", "-", "я́", "вший", "вши", "в")
present_e_c(forms, pres_stem)
forms["impr_sg"] = pres_stem_noa .. "и́"
forms["impr_pl"] = pres_stem_noa .. "и́те"
--two forms for past_m: при́нялся, приня́лся
--изъя́ла but приняла́
set_past_by_stress(forms, data.past_stress, prefix, nil, base, nil,
args, data)
set_ppp_from_past_m(forms, args, data)
return forms
end
conjugations["15a"] = function(args, data)
local forms = {}
parse_variants(data, args[1], {"+p"})
local stem = com.strip_ending(get_stressed_arg(args, 2), nil, "ть")
no_stray_args(args, 2)
forms["infinitive"] = stem .. "ть"
-- no pres_pasv_part
-- no pres_adv_part
append_participles(forms, stem, nil, "нущий", "-", "-", "вший", "вши", "в")
present_e_a(forms, stem .. "н")
forms["impr_sg"] = stem .. "нь"
forms["impr_pl"] = stem .. "ньте"
set_past(forms, stem .. "л", nil, "", "а", "о", "и")
set_ppp_from_past_m(forms, args, data)
return forms
end
conjugations["16a"] = function(args, data)
local forms = {}
parse_variants(data, args[1], {"past", "+p"})
local stem = com.strip_ending(get_stressed_arg(args, 2), nil, "ть")
no_stray_args(args, 2)
local prefix, _, base, _ = split_monosyllabic_main_verb(stem)
forms["infinitive"] = stem .. "ть"
-- no pres_pasv_part
-- no pres_adv_part
append_participles(forms, stem, nil, "ву́щий", "-", "-", "вший", "вши", "в")
present_e_a(forms, stem .. "в")
forms["impr_sg"] = stem .. "ви"
forms["impr_pl"] = stem .. "вите"
set_past_by_stress(forms, data.past_stress, prefix, nil, base, nil,
args, data)
set_ppp_from_past_m(forms, args, data)
return forms
end
conjugations["16b"] = function(args, data)
local forms = {}
parse_variants(data, args[1], {"past", "+p"})
local stem = com.strip_ending(get_stressed_arg(args, 2), nil, "ть")
local stem_noa = com.make_unstressed(stem)
no_stray_args(args, 2)
local prefix, _, base, _ = split_monosyllabic_main_verb(stem)
forms["infinitive"] = stem .. "ть"
-- no pres_pasv_part
append_participles(forms, stem, nil, "ву́щий", "-", "вя́", "вший", "вши", "в")
present_e_b(forms, stem_noa .. "в")
forms["impr_sg"] = stem_noa .. "ви́"
forms["impr_pl"] = stem_noa .. "ви́те"
-- e.g. прижило́сь, прижи́лось
set_past_by_stress(forms, data.past_stress, prefix, nil, base, nil,
args, data)
set_ppp_from_past_m(forms, args, data)
return forms
end
conjugations["irreg"] = function(args, data)
local main = select(3, split_known_main_verb(get_stressed_arg(args, 2),
-- честь must go before есть
{"бежа́ть", "бѣжа́ть", "хоте́ть", "хотѣ́ть", "да́ть", "че́сть",
"е́сть", "ѣ́сть", "сы́пать", "лга́ть", "мо́чь", "идти́", "йти́",
"е́хать", "ѣ́хать", "мину́ть", "живописа́ть", "ле́чь",
"зи́ждить", "зы́бить", "кля́сть", "стели́ть", "бы́ть", "сса́ть", "сца́ть",
"чти́ть", "шиби́ть", "реве́ть", "има́ть", "вня́ть", "обя́зывать"}))
main = com.make_unstressed_once(main)
if not conjugations["irreg-" .. main] then
error("Strange, can't find conjugation for main verb " .. main)
end
return conjugations["irreg-" .. main](args, data)
end
conjugations["irreg-бежать"] = function(args, data)
-- irregular, only for verbs derived from бежать with the same stress pattern
local forms = {}
local prefix = split_known_main_verb(get_stressed_arg(args, 2),
{"бежа́ть", "бѣжа́ть"})
data.title = com.is_stressed(prefix) and "5a" or "5b"
-- no past passive participles of any verbs of this type
parse_variants(data, args[1], {})
no_stray_args(args, 2)
forms["infinitive"] = "бежа́ть"
append_participles_2stem(forms, "бег", nil, "бежа́", nil,
"у́щий", "-", "-", "вший", "вши", "в", IRREG)
append_imper(forms, "беги́", nil, "", "те", IRREG)
append_pres_futr(forms, "бе", nil,
"гу́" .. IRREG, "жи́шь", "жи́т", "жи́м", "жи́те", "гу́т" .. IRREG)
set_past(forms, "бежа́л", nil, "", "а", "о", "и")
if data.old then
rsub_forms(forms, "^бе", "бѣ")
end
prepend_prefix(forms, prefix)
-- no PPP's for any derivatives of бежать
return forms
end
conjugations["irreg-бѣжать"] = conjugations["irreg-бежать"]
conjugations["irreg-хотеть"] = function(args, data)
-- irregular, only for verbs derived from хотеть with the same stress pattern
local forms = {}
local prefix = split_known_main_verb(get_stressed_arg(args, 2),
{"хоте́ть", "хотѣ́ть"})
data.title = "5c'"
data.cat_conj_types = {"5c"} -- no class for 5c', no point in creating for just this verb
-- no past passive participles of any verbs of this type
parse_variants(data, args[1], {})
no_stray_args(args, 2)
forms["infinitive"] = "хоте́ть"
append_participles_2stem(forms, "хот", nil, "хоте́", nil,
"я́щий", "-", "я́", "вший", "вши", "в")
append_imper(forms, "хоти́", nil, "", "те")
append_pres_futr(forms, "", nil,
"хочу́", "хо́чешь" .. IRREG, "хо́чет" .. IRREG, "хоти́м", "хоти́те", "хотя́т")
set_past(forms, "хоте́л", nil, "", "а", "о", "и")
if data.old then
rsub_forms(forms, "^хоте", "хотѣ")
end
prepend_prefix(forms, prefix)
return forms
end
conjugations["irreg-хотѣть"] = conjugations["irreg-хотеть"]
conjugations["irreg-дать"] = function(args, data)
-- irregular, only for verbs derived from дать with the same stress pattern and вы́дать
local forms = {}
--for this type, it's important to distinguish if it's reflexive to set some stress patterns
local prefix = split_known_main_verb(get_stressed_arg(args, 2), "да́ть")
data.title = com.is_stressed(prefix) and "irreg-a" or "irreg-b"
parse_variants(data, args[1], {"past", "+p"})
no_stray_args(args, 2)
forms["infinitive"] = "да́ть"
-- no pres_pasv_part
-- no pres_adv_part
append_participles(forms, "", nil, "даю́щий", "-", "-",
"да́вший", "да́вши", "да́в")
append_imper(forms, "да́й", nil, "", "те")
append_pres_futr(forms, "", nil,
"да́м", "да́шь", "да́ст", "дади́м", "дади́те", "даду́т")
prepend_prefix(forms, prefix)
set_past_by_stress(forms, data.past_stress, prefix, nil, "да́", nil,
args, data)
if data.ppp then
if prefix == "пере" then
set_ppp(forms, "", nil, "пе́реданный")
elseif prefix == "раз" then
set_ppp(forms, "", nil, "ро́зданный")
else
set_moving_ppp(forms, data)
end
end
return forms
end
conjugations["irreg-есть"] = function(args, data)
-- irregular, only for verbs derived from есть
local forms = {}
local prefix = split_known_main_verb(get_stressed_arg(args, 2),
{"е́сть", "ѣ́сть"})
data.title = com.is_stressed(prefix) and "irreg-a" or "irreg-b"
parse_variants(data, args[1], {"+p"})
no_stray_args(args, 2)
forms["infinitive"] = "е́сть"
append_participles_2stem(forms, "ед", nil, "е́", nil,
"я́щий", "о́мый", "я́", "вший", "вши", "в")
if data.ppp then
set_ppp(forms, "е́д", nil, "енный")
end
append_imper(forms, "е́шь", nil, "", "те")
append_pres_futr(forms, "е́", nil,
"м", "шь", "ст", "ди́м", "ди́те", "дя́т")
set_past(forms, "е́л", nil, "", "а", "о", "и")
if data.old then
rsub_forms(forms, "^е", "ѣ")
end
prepend_prefix(forms, prefix)
return forms
end
conjugations["irreg-ѣсть"] = conjugations["irreg-есть"]
conjugations["irreg-сыпать"] = function(args, data)
-- irregular, only for verbs derived from сыпать
local forms = {}
--for this type, it's important to distinguish if it's reflexive for вы́сыпаться vs. вы́сыпать imperative
local prefix = split_known_main_verb(get_stressed_arg(args, 2), "сы́пать")
data.title = "6a"
parse_variants(data, args[1], {"+p"})
no_stray_args(args, 2)
forms["infinitive"] = "сы́пать"
append_participles(forms, "сы́п", nil,
"лющий", "лемый", {"ля", "я" .. IRREG}, "авший", "авши", "ав")
append_imper(forms, "сы́п", nil,
-- вы́сыпать (but not вы́сыпаться) has two imperative singulars
com.is_stressed(prefix) and not data.refl and {"и", "ь"} or "ь", "ьте", IRREG)
present_je(forms, "сы́пл", nil, "a")
append_pres_futr(forms, "сы́п", nil,
{}, "ешь", "ет", "ем", "ете", {}, IRREG)
set_past(forms, "сы́пал", nil, "", "а", "о", "и")
prepend_prefix(forms, prefix)
set_moving_ppp(forms, data)
return forms
end
conjugations["irreg-лгать"] = function(args, data)
-- irregular, only for verbs derived from лгать with the same stress pattern
local forms = {}
local prefix = split_known_main_verb(get_stressed_arg(args, 2), "лга́ть")
data.title = "6°b/c"
parse_variants(data, args[1], {"+p"})
no_stray_args(args, 2)
forms["infinitive"] = "лга́ть"
-- no pres_pasv_part
-- no pres_adv_part
append_participles(forms, "лг", nil,
"у́щий", "-", "-", "а́вший", "а́вши", "а́в")
append_imper(forms, "лги́", nil, "", "те")
append_pres_futr(forms, "", nil,
"лгу́", "лжёшь" .. IRREG, "лжёт" .. IRREG, "лжём" .. IRREG, "лжёте" .. IRREG, "лгу́т")
set_past(forms, "лга́л", nil, "", "а́", "о", "и")
prepend_prefix(forms, prefix)
set_moving_ppp(forms, data)
return forms
end
conjugations["irreg-мочь"] = function(args, data)
-- irregular, only for verbs derived from мочь with the same stress pattern
local forms = {}
local prefix = split_known_main_verb(get_stressed_arg(args, 2), "мо́чь")
data.title = "8c/b"
-- no past passive participles of any verbs of this type
parse_variants(data, args[1], {})
no_stray_args(args, 2)
forms["infinitive"] = "мо́чь"
-- no passive or adverbial participles
append_participles(forms, "мо́г", nil,
"у́щий", "-", "-", "ший", "-", "-")
append_imper(forms, "моги́", nil, "", "те")
append_pres_futr(forms, "", nil,
"могу́", "мо́жешь", "мо́жет", "мо́жем", "мо́жете", "мо́гут")
set_past(forms, "мо́г", nil, "", "ла́", "ло́", "ли́")
prepend_prefix(forms, prefix)
return forms
end
conjugations["irreg-идти"] = function(args, data)
-- irregular, only for verbs derived from идти, including прийти́ and в́ыйти
local forms = {}
local prefix = args[2] == "идти́" and "" or
split_known_main_verb(get_stressed_arg(args, 2), "йти́")
data.title = com.is_stressed(prefix) and "irreg-a" or "irreg-b/b"
parse_variants(data, args[1], {"+p"})
no_stray_args(args, 2)
-- no pres_pasv_part
if prefix == "" then
-- only идти, present imperfective
forms["infinitive"] = "идти́"
append_imper(forms, "иди́", nil, "", "те")
present_e_b(forms, "ид")
-- no past_adv_part_short
append_participles(forms, "", nil,
"иду́щий", "-", "идя́", "ше́дший", "ше́дши", "-")
elseif rfind(prefix, "и$") then -- при
forms["infinitive"] = "йти́"
append_imper(forms, "ди́", nil, "", "те")
present_e_b(forms, "д")
append_participles(forms, "", nil,
"-", "-", "-", "ше́дший", "ше́дши", "дя́")
else
forms["infinitive"] = "йти́"
append_imper(forms, "йди́", nil, "", "те")
present_e_b(forms, "йд")
append_participles(forms, "", nil,
"-", "-", "-", "ше́дший", "ше́дши", "йдя́")
end
set_past(forms, "", nil, "шёл", "шла́", "шло́", "шли́")
prepend_prefix(forms, prefix)
if data.ppp then
if prefix == "на" or prefix == "про" then
-- найти́ and пройти́ exceptionally have the stress on the prefix
set_ppp(forms, prefix, nil, "́йденный")
else
-- вы́йти and прийти́ are intransitive so we don't have to worry about them
set_ppp(forms, prefix, nil, "йдённый")
end
end
return forms
end
conjugations["irreg-йти"] = conjugations["irreg-идти"]
conjugations["irreg-ехать"] = function(args, data)
-- irregular, only for verbs derived from ехать
local forms = {}
local prefix = split_known_main_verb(get_stressed_arg(args, 2),
{"е́хать", "ѣ́хать"})
data.title = "irreg-a"
-- no past passive participles of any verbs of this type
parse_variants(data, args[1], {})
no_stray_args(args, 2)
forms["infinitive"] = "е́хать"
-- no pres_pasv_part
-- no pres_adv_part
append_participles_2stem(forms, "е́д", nil, "е́х", nil,
"ущий", "-", "-", "авший", "авши", "ав")
present_e_a(forms, "е́д")
set_past(forms, "е́хал", nil, "", "а", "о", "и")
if data.old then
rsub_forms(forms, "^е", "ѣ")
end
prepend_prefix(forms, prefix)
--special-case the imperative
--literary (special) imperative forms for ехать are поезжа́й, поезжа́йте
local impstem = data.old and "ѣзжа́й" or "езжа́й"
if prefix == "" then
append_imper(forms, "по" .. impstem, nil, "", "те")
append_imper(forms, impstem, nil, "", "те")
elseif com.is_stressed(prefix) then
append_imper(forms, com.make_unstressed_once(prefix) .. impstem, nil, "", "те")
else
append_imper(forms, prefix .. impstem, nil, "", "те")
end
return forms
end
conjugations["irreg-ѣхать"] = conjugations["irreg-ехать"]
conjugations["irreg-минуть"] = function(args, data)
-- for the irregular verb "мину́ть"
local forms = {}
local prefix = split_known_main_verb(get_stressed_arg(args, 2), "мину́ть")
data.title = "3c"
parse_variants(data, args[1], {"+p"})
no_stray_args(args, 2)
forms["infinitive"] = "мину́ть"
-- no pres_pasv_part
-- no pres_adv_part
append_participles(forms, "ми́н", nil,
"у́щий", "-", "-", "у́вший", "у́вши", "у́в")
present_e_c(forms, "ми́н")
forms["pres_futr_1sg"] = "-" -- no futr 1sg
-- no imperative
-- two possible variants, one with root-only stress, the other with
-- either root or suffix stress.
if not args["root_past_stress"] then
append_past(forms, "мину́л", nil, "", "а", "о", "и")
end
append_past(forms, "ми́нул", nil, "", "а", "о", "и", IRREG)
prepend_prefix(forms, prefix)
set_moving_ppp(forms, data)
return forms
end
conjugations["irreg-живописать"] = function(args, data)
-- for irregular verb "живописа́ть", mixture of types 1 and 2
local forms = {}
local inf = get_stressed_arg(args, 2)
data.title = "1a"
parse_variants(data, args[1], {"+p"})
local inf_stem = com.strip_ending(inf, nil, "ть")
local pres_stem = rfind(inf_stem, "а́$") and rsub(inf_stem, "а́$", "у́")
or error("Unexpected infinitive " .. inf)
no_stray_args(args, 2)
forms["infinitive"] = inf_stem .. "ть"
-- no pres_pasv_part
append_participles_2stem(forms, pres_stem, nil, inf_stem, nil,
"ющий", "-", "я", "вший", "вши", "в", IRREG)
set_moving_ppp(forms, data)
present_je(forms, pres_stem, nil, "a", nil, IRREG)
append_imper(forms, pres_stem .. "й", nil, "", "те", IRREG)
set_past(forms, inf_stem .. "л", nil, "", "а", "о", "и")
return forms
end
conjugations["irreg-лечь"] = function(args, data)
-- irregular, only for verbs derived from лечь with the same stress pattern
local forms = {}
local prefix = split_known_main_verb(get_stressed_arg(args, 2), "ле́чь")
data.title = "8a/b"
-- no past passive participles of any verbs of this type
parse_variants(data, args[1], {})
no_stray_args(args, 2)
forms["infinitive"] = "ле́чь"
-- no pres parts because always perfective
-- no past_adv_part_short
append_participles(forms, "лёг", nil,
"-", "-", "-", "ший", "ши", "-")
append_imper(forms, "ля́г", nil, "", "те", IRREG)
append_pres_futr(forms, "ля́", nil,
"гу", "жешь", "жет", "жем", "жете", "гут", IRREG)
set_past(forms, "", nil, "лёг", "легла́", "легло́", "легли́")
prepend_prefix(forms, prefix)
return forms
end
conjugations["irreg-честь"] = function(args, data)
-- irregular, only for verbs derived from идти, including прийти́ and в́ыйти
local forms = {}
local prefix = split_known_main_verb(get_stressed_arg(args, 2), "че́сть")
local pre_two_cons_prefix =
prefix == "об" and "обо" or
prefix == "с" and "со" or
prefix == "рас" and "разо" or
prefix
data.title = prefix == "" and "7b/b" or com.is_stressed(prefix) and "7a⑨" or
pre_two_cons_prefix ~= prefix and "7*b/b⑨" or "7b/b⑨"
parse_variants(data, args[1], {"+p"})
no_stray_args(args, 2)
-- no pres_pasv_part
forms["infinitive"] = "че́сть"
append_imper(forms, "чти́", nil, "", "те", IRREG)
present_e_b(forms, "чт", nil, IRREG)
if prefix == "" then
append_participles(forms, "", nil,
"чту́щий", "-", "чтя́", "чти́вший", "чти́вши", "чти́в", IRREG)
elseif com.is_stressed(prefix) then
append_participles(forms, "", nil,
"-", "-", "-", "-", "чтя́", "-", IRREG)
else
append_participles(forms, "", nil,
"-", "-", "-", "-", {"чтя́" .. IRREG, "чётши*"}, "-")
m_table.insertIfNot(data.internal_notes, "* Dated.")
end
if data.ppp then
set_ppp(forms, "", nil, "чтённый" .. IRREG)
end
set_past(forms, "", nil, "чёл", "чла́" .. IRREG, "чло́" .. IRREG, "чли́" .. IRREG)
prepend_prefix(forms, prefix, pre_two_cons_prefix)
return forms
end
conjugations["irreg-зиждить"] = function(args, data)
-- irregular, only for verbs derived from зиждить(ся) with the same stress pattern
local forms = {}
local prefix = split_known_main_verb(get_stressed_arg(args, 2), "зи́ждить")
data.title = "irreg-a"
parse_variants(data, args[1], {"+p"})
no_stray_args(args, 2)
forms["infinitive"] = "зи́ждить"
append_participles(forms, "зи́жд", nil,
"ущий", "емый", "я", "ивший", "ивши", "ив")
if data.ppp then
set_ppp(forms, "зи́жд", nil, "енный")
end
append_imper(forms, "зи́жди", nil, "", "те")
present_e_a(forms, "зи́жд")
set_past(forms, "зи́ждил", nil, "", "а", "о", "и")
prepend_prefix(forms, prefix)
return forms
end
conjugations["irreg-зыбить"] = function(args, data)
-- irregular, only for verbs derived from зыбить
local forms = {}
local prefix = split_known_main_verb(get_stressed_arg(args, 2), "зы́бить")
data.title = "irreg-a"
-- no past passive participles of any verbs of this type
parse_variants(data, args[1], {})
no_stray_args(args, 2)
forms["infinitive"] = "зы́бить"
append_participles(forms, "зы́б", nil,
"лющий", "лемый", "ля", "ивший", "ивши", "ив")
append_imper(forms, "зы́бли", nil, "", "те")
present_je(forms, "зы́б", nil, "a")
set_past(forms, "зы́бил", nil, "", "а", "о", "и")
prepend_prefix(forms, prefix)
return forms
end
conjugations["irreg-клясть"] = function(args, data)
-- irregular, only for verbs derived from клясть with the same stress pattern
local forms = {}
--for this type, it's important to distinguish if it's reflexive to set some stress patterns
local prefix = split_known_main_verb(get_stressed_arg(args, 2), "кля́сть")
data.title = "irreg-b"
parse_variants(data, args[1], {"past", "+p"})
no_stray_args(args, 2)
forms["infinitive"] = "кля́сть"
append_participles_2stem(forms, "клян", nil, "кля́", nil,
"у́щий", "и́мый", "я́", "вший", "вши", "в")
append_imper(forms, "кляни́", nil, "", "те")
present_e_b(forms, "клян")
prepend_prefix(forms, prefix)
set_past_by_stress(forms, data.past_stress, prefix, nil, "кля́", nil,
args, data)
set_ppp_from_past_m(forms, args, data)
return forms
end
conjugations["irreg-стелить"] = function(args, data)
-- irregular, only for verbs derived from стелить
local forms = {}
local prefix = split_known_main_verb(get_stressed_arg(args, 2), "стели́ть")
data.title = com.is_stressed(prefix) and "4a" or "4c"
parse_variants(data, args[1], {"+p"})
no_stray_args(args, 2)
forms["infinitive"] = "стели́ть"
append_participles(forms, "сте́л", nil,
"ющий" .. IRREG, "и́мый", "я́", "и́вший", "и́вши", "и́в")
set_class_4_ppp(forms, data, "сте́л", nil, data.title)
append_imper(forms, "стели́", nil, "", "те")
append_pres_futr(forms, "сте́л", nil, "ю́", {}, {}, {}, {}, {})
append_pres_futr(forms, "сте́л", nil, {}, "ешь", "ет", "ем", "ете", "ют", IRREG)
set_past(forms, "стели́л", nil, "", "а", "о", "и")
prepend_prefix(forms, prefix)
return forms
end
conjugations["irreg-быть"] = function(args, data)
-- irregular, only for verbs derived from быть with various stress patterns, the actual verb быть different from its derivatives
local forms = {}
--for this type, it's important to distinguish if it's reflexive to set some stress patterns
local prefix = split_known_main_verb(get_stressed_arg(args, 2), "бы́ть")
data.title = "irreg-a"
parse_variants(data, args[1], {"past", "+p"})
no_stray_args(args, 2)
forms["infinitive"] = "бы́ть"
-- no pres_pasv_part
append_participles(forms, "", nil, "су́щий", "-", "бу́дучи",
"бы́вший", "бы́вши", "бы́в")
append_imper(forms, "бу́дь", nil, "", "те")
prepend_prefix(forms, prefix)
-- only for "бы́ть", some forms are archaic
if forms["infinitive"] == "бы́ть" then
append_pres_futr(forms, "", nil, "есть", "есть", "есть", "есть", "есть", "есть")
elseif com.is_stressed(prefix) then
-- if the prefix is stressed, e.g. "вы́быть"
present_e_a(forms, prefix .. "буд")
else
present_e_a(forms, prefix .. "бу́д")
end
set_past_by_stress(forms, data.past_stress, prefix, nil, "бы́", nil,
args, data)
set_ppp_from_past_m(forms, args, data)
return forms
end
conjugations["irreg-ссать-сцать"] = function(args, data)
-- irregular, only for verbs derived from ссать and сцать (both vulgar!)
local forms = {}
local prefix, _, stem = split_known_main_verb(get_stressed_arg(args, 2),
{"сса́ть", "сца́ть"})
data.title = com.is_stressed(prefix) and "irreg-a" or "irreg-b"
-- no past passive participles of any verbs of this type
parse_variants(data, args[1], {})
stem = com.strip_ending(stem, nil, "ть")
local pres_stem = rsub(stem, "а́?$", "")
no_stray_args(args, 2)
forms["infinitive"] = stem .. "ть"
-- no pres_pasv_part
-- no pres_adv_part
append_participles(forms, pres_stem, nil, "у́щий", "-", "-",
"а́вший", "а́вши", "а́в")
append_imper(forms, pres_stem, nil, "ы́", "ы́те")
append_pres_futr(forms, pres_stem, nil,
"у́", "ы́шь", "ы́т", "ы́м", "ы́те", "у́т")
set_past(forms, stem .. "л", nil, "", "а", "о", "и")
prepend_prefix(forms, prefix)
return forms
end
conjugations["irreg-ссать"] = conjugations["irreg-ссать-сцать"]
conjugations["irreg-сцать"] = conjugations["irreg-ссать-сцать"]
conjugations["irreg-чтить"] = function(args, data)
-- irregular, only for verbs derived from чтить
local forms = {}
local prefix = split_known_main_verb(get_stressed_arg(args, 2), "чти́ть")
data.title = "4b"
parse_variants(data, args[1], {"+p"})
no_stray_args(args, 2)
forms["infinitive"] = "чти́ть"
append_participles_2stem(forms, "чт", nil, "чти́", nil,
{"я́щий", "у́щий" .. IRREG}, "и́мый", "я́", "вший", "вши", "в")
if data.ppp then
set_ppp(forms, "чт", nil, "ённый")
end
append_imper(forms, "чти́", nil, "", "те")
append_pres_futr(forms, "чт", nil,
"у́" .. IRREG, "и́шь", "и́т", "и́м", "и́те", {"я́т", "у́т" .. IRREG})
set_past(forms, "чти́л", nil, "", "а", "о", "и")
prepend_prefix(forms, prefix)
return forms
end
conjugations["irreg-шибить"] = function(args, data)
-- irregular, only for verbs in -шибить(ся)
local forms = {}
local prefix = split_known_main_verb(get_stressed_arg(args, 2), "шиби́ть")
data.title = com.is_stressed(prefix) and "irreg-a" or "irreg-b"
parse_variants(data, args[1], {"+p"})
no_stray_args(args, 2)
-- no present participles
forms["infinitive"] = "шиби́ть"
append_participles(forms, "шиби́", nil,
"-", "-", "-", "вший", "вши", "в")
if data.ppp then
set_ppp(forms, "ши́бл", nil, "енный")
end
append_imper(forms, "шиби́", nil, "", "те")
present_e_b(forms, "шиб")
set_past(forms, "ши́б", nil, "", "ла", "ло", "ли")
prepend_prefix(forms, prefix)
return forms
end
conjugations["irreg-реветь"] = function(args, data)
-- irregular, only for verbs derived from "реветь"
local forms = {}
local prefix = split_known_main_verb(get_stressed_arg(args, 2), "реве́ть")
data.title = "irreg-b"
-- no past passive participles of any verbs of this type
parse_variants(data, args[1], {})
no_stray_args(args, 2)
forms["infinitive"] = "реве́ть"
-- no pres_pasv_part
append_participles_2stem(forms, "рев", nil, "реве́", nil,
"у́щий", "-", "я́", "вший", "вши", "в")
present_e_b(forms, "рев")
append_imper(forms, "реви́", nil, "", "те")
set_past(forms, "реве́л", nil, "", "а", "о", "и")
prepend_prefix(forms, prefix)
return forms
end
conjugations["irreg-имать"] = function(args, data)
-- irregular, only for внимать and certain archaic verbs (e.g. имать as
-- conjugated in the 18th century, отъимать)
local forms = {}
local prefix = split_known_main_verb(get_stressed_arg(args, 2), "има́ть")
data.title = "1a // 6a"
data.cat_conj_types = {"1a", "6a"}
parse_variants(data, args[1], {"+p"})
no_stray_args(args, 2)
forms["infinitive"] = "има́ть"
-- handle внемл- forms
append_participles(forms, "е́мл", nil,
"ющий", "емый", {"я", "я́"}, {}, {}, {})
-- handle внима́- forms
append_participles(forms, "има́", nil,
"ющий", "емый", "я", "вший", "вши", "в")
if data.ppp then
-- FIXME, do class-1a-type ppp's (e.g. вни́манный) exist?
-- ruwikt marks them with a *
set_ppp(forms, "е́мл", nil, "енный")
end
append_imper(forms, "", nil, {"е́мли", "емли́", "има́й"},
{"е́млите", "емли́те", "има́йте"})
present_je(forms, "е́мл", nil, "a")
-- Both вне́млю and внемлю́ are possible
append_pres_futr(forms, "емл", nil, "ю́", {}, {}, {}, {}, {})
present_je(forms, "има́", nil, "a")
set_past(forms, "има́л", nil, "", "а", "о", "и")
prepend_prefix(forms, prefix)
return forms
end
conjugations["irreg-внять"] = function(args, data)
-- irregular, only for внять
local forms = {}
local prefix = split_known_main_verb(get_stressed_arg(args, 2), "вня́ть")
data.title = "14c/c"
parse_variants(data, args[1], {"+p"})
no_stray_args(args, 2)
forms["infinitive"] = "вня́ть"
-- perfective only; no present participles
append_participles(forms, "вня́", nil,
"-", "-", "-", "вший", "вши", "в")
append_imper(forms, "вними́", nil, "", "те")
append_imper(forms, "вонми́", nil, "", "те")
present_e_c(forms, "вни́м")
present_e_c(forms, "во́нм")
set_past(forms, "вня́л", nil, "", "а́", "о", "и")
set_ppp_from_past_m(forms, args, data)
prepend_prefix(forms, prefix)
return forms
end
conjugations["irreg-обязывать"] = function(args, data)
-- irregular, only for обязывать and обязываться
local forms = {}
local prefix = split_known_main_verb(get_stressed_arg(args, 2), "обя́зывать")
data.title = "1a"
-- no past passive participles of any verbs of this type
parse_variants(data, args[1], {})
no_stray_args(args, 2)
forms["infinitive"] = "обя́зывать"
append_participles_2stem(forms, "обя́з", nil, "обя́зыва", nil,
{"ывающий", "у́ющий"}, {"ываемый", "у́емый"}, {"ывая", "у́я"}, "вший", "вши", "в")
append_imper(forms, "обя́зывай", nil, "", "те")
append_imper(forms, "обязу́й", nil, "", "те")
present_je(forms, "обя́зыва", nil, "a")
present_je(forms, "обязу́", nil, "a")
set_past(forms, "обя́зывал", nil, "", "а", "о", "и")
prepend_prefix(forms, prefix)
return forms
end
--[=[
Partial conjugation functions
]=]
-- Present forms with -e-, no j-vowels.
present_e_a = function(forms, stem, tr, note)
append_pres_futr(forms, stem, tr, "у", "ешь", "ет", "ем", "ете", "ут", note)
end
present_e_b = function(forms, stem, tr, note)
append_pres_futr(forms, stem, tr, "у́", "ёшь", "ёт", "ём", "ёте", "у́т", note)
end
present_e_c = function(forms, stem, tr, note)
append_pres_futr(forms, stem, tr, "у́", "ешь", "ет", "ем", "ете", "ут", note)
end
-- Present forms with -e- and iotated stem. ABC = "a", "b" or "c", indicating
-- the accent pattern. If SHCH is set, iotate final т as щ, not ч. If NOTE
-- is given, add it to each form.
present_je = function(forms, stem, tr, abc, shch, note)
local iotated_stem, iotated_tr = com.iotation(stem, tr, shch)
assert(abc == "a" or abc == "b" or abc == "c")
-- Verbs ending in a hushing consonant do not get j-vowels in the endings.
local hushing = rfind(iotated_stem, "[шщжч]$") -- or no_iotation
local ending_1sg =
hushing and (abc == "a" and "у" or "у́") or
not hushing and (abc == "a" and "ю" or "ю́")
if abc == "b" then
append_pres_futr(forms, iotated_stem, iotated_tr,
{}, "ёшь", "ёт", "ём", "ёте", (hushing and "у́т" or "ю́т"), note)
else
append_pres_futr(forms, iotated_stem, iotated_tr,
{}, "ешь", "ет", "ем", "ете", (hushing and "ут" or "ют"), note)
end
append_pres_futr(forms, iotated_stem, iotated_tr,
ending_1sg, {}, {}, {}, {}, {}, note)
end
-- Present forms with -i- (and iotated stem in the 1sg). ABC = "a", "b" or "c",
-- indicating the accent pattern. If SHCH is set, iotate final т as щ, not ч.
-- If NOTE is given, add it to each form.
present_i = function(forms, stem, tr, abc, shch, note)
local iotated_stem, iotated_tr = com.iotation(stem, tr, shch)
assert(abc == "a" or abc == "b" or abc == "c")
-- Verbs ending in a hushing consonant do not get j-vowels in the endings.
local iotated_hushing = rfind(iotated_stem, "[шщжч]$")
local hushing = rfind(stem, "[шщжч]$")
local ending_1sg =
iotated_hushing and (abc == "a" and "у" or "у́") or
not iotated_hushing and (abc == "a" and "ю" or "ю́")
if abc == "b" then
append_pres_futr(forms, stem, tr,
{}, "и́шь", "и́т", "и́м", "и́те", hushing and "а́т" or "я́т", note)
else
append_pres_futr(forms, stem, tr,
{}, "ишь", "ит", "им", "ите", hushing and "ат" or "ят", note)
end
append_pres_futr(forms, iotated_stem, iotated_tr,
ending_1sg, {}, {}, {}, {}, {}, note)
end
-- Add the reflexive particle to all verb forms
make_reflexive = function(forms, reflex_stress)
for key, form in pairs(forms) do
local ru, tr = extract_russian_tr(form)
-- check for empty string, dashes and nil's
if ru and ru ~= "" and ru ~= "-" then
local ruentry, runotes = m_table_tools.separate_notes(ru)
local trentry, trnotes
if tr then
trentry, trnotes = m_table_tools.separate_notes(tr)
end
if is_vowel_stem(ruentry) then
forms[key] = {ruentry .. "сь" .. runotes, trentry and trentry .. "sʹ" .. trnotes}
-- if a past_m form doesn't contain a stress, add a stressed
-- particle "ся́" if called for
elseif reflex_stress and com.is_unstressed(ruentry) and rfind(key, "^past_m") then
forms[key] = {ruentry .. "ся́" .. runotes, trentry and trentry .. "sja" .. AC .. trnotes}
else
forms[key] = {ruentry .. "ся" .. runotes, trentry and trentry .. "sja" .. trnotes}
end
end
end
end
-- Convert verb forms to pre-reform style by adding ъ to consonant-final
-- forms (excluding those ending in й and ь) and converting -ий to -ій and
-- -ийся to -ійся
make_pre_reform = function(forms)
for key, form in pairs(forms) do
local ru, tr = extract_russian_tr(form)
-- check for empty string, dashes and nil's
if ru and ru ~= "" and ru ~= "-" then
local ruentry, runotes = m_table_tools.separate_notes(ru)
if rfind(ruentry, "[бцдфгчклмнпрствшхзжщ]$") then
forms[key] = {ruentry .. "ъ" .. runotes, tr}
else
forms[key] = {rsub(rsub(ruentry, "ий$", "ій"), "ийся$", "ійся") .. runotes, tr}
end
end
end
end
local function setup_pres_futr(forms, perf, old)
-- Copy the main form FROMFORM to the main form TOFORM, and copy all
-- associated alternative forms.
local function copy_form(fromform, toform)
local fromforms = main_to_all_verb_forms[fromform]
local toforms = main_to_all_verb_forms[toform]
local numforms = #fromforms
assert(#toforms == numforms)
for i=1,numforms do
forms[toforms[i]] = forms[fromforms[i]]
end
end
-- Copy pres_futr_* to pres_* (imperfective) or futr_* (perfective).
if perf then
copy_form("pres_futr_1sg", "futr_1sg")
copy_form("pres_futr_2sg", "futr_2sg")
copy_form("pres_futr_3sg", "futr_3sg")
copy_form("pres_futr_1pl", "futr_1pl")
copy_form("pres_futr_2pl", "futr_2pl")
copy_form("pres_futr_3pl", "futr_3pl")
else
copy_form("pres_futr_1sg", "pres_1sg")
copy_form("pres_futr_2sg", "pres_2sg")
copy_form("pres_futr_3sg", "pres_3sg")
copy_form("pres_futr_1pl", "pres_1pl")
copy_form("pres_futr_2pl", "pres_2pl")
copy_form("pres_futr_3pl", "pres_3pl")
end
local futr_data = {
{"futr_1sg", "бу́ду", "búdu"},
{"futr_2sg", "бу́дешь", "búdešʹ"},
{"futr_3sg", "бу́дет" .. (old and "ъ" or ""), "búdet"},
{"futr_1pl", "бу́дем" .. (old and "ъ" or ""), "búdem"},
{"futr_2pl", "бу́дете", "búdete"},
{"futr_3pl", "бу́дут" .. (old and "ъ" or ""), "búdut"}
}
local function insert_future(inf, inf_tr)
for _, fut in ipairs(futr_data) do
append_to_arg_chain(forms, fut[1], fut[1],
{fut[2] .. inf, inf_tr and fut[3] .. inf_tr})
end
end
-- Insert future, if required (there may conceivably be multiple infitives).
for _, form in ipairs(main_to_all_verb_forms["infinitive"]) do
local infinitive = forms[form]
if infinitive then
local inf, inf_tr = extract_russian_tr(forms[form])
-- only for "бы́ть" the future forms are бу́ду, бу́дешь, etc.
if inf == "бы́ть" then
insert_future("", nil)
elseif not perf then
insert_future(" " .. inf, inf_tr and " " .. inf_tr)
end
end
end
end
parse_and_stress_override = function(form, val, existing, all_existing)
if rfind(form, "^pres_futr") then
error("Overrides of pres_futr* are illegal, use pres_* or futr_*")
end
local allow_unaccented
val, allow_unaccented = rsubb(val, "^%*", "")
local ru, tr = com.split_russian_tr(val)
-- past_m can be unaccented in connection with reflex_stress=ся́
if not allow_unaccented and not rfind(form, "^past_m") then
if tr and com.is_unstressed(ru) ~= com.is_unstressed(tr) then
error("Override " .. form .. "=" .. ru .. " and translit " .. tr .. " must have same accent pattern")
end
if com.is_monosyllabic(ru) then
ru, tr = com.make_ending_stressed(ru, tr)
elseif com.needs_accents(ru) then
error("Override " .. form .. "=" .. ru .. " requires an accent")
end
end
if rfind(ru, "%+") then
-- If either the existing or override has manual translit, the resulting
-- form should have manual translit. We specify ALWAYS_TRANSLIT if
-- the override has manual translit, so that we can substitute the
-- existing translit into the override translit.
local existing_ru, existing_tr = extract_russian_tr(existing, not not tr)
-- used especially for present participles; substitute existing form,
-- minus any "awkward-" or "none-" prefixes.
ru = rsub(ru, "%+", strip_arg_status_prefix(existing_ru))
-- If there's existing translit but not in the override, make sure it's
-- carried along.
if existing_tr and not tr then
tr = com.translit(ru)
end
tr = tr and rsub(tr, "%+", strip_arg_status_prefix(existing_tr))
end
-- If there's an override and it doesn't match an existing form, it's
-- irregular and indicate it using the IRREG marker. We don't do this if
-- the override simply removes a form. We do do this if there aren't any
-- existing forms, on the theory that the presence of a form when none is
-- normally called for is an irregularity. When comparing against the
-- existing forms, strip any status prefix (e.g. 'awkward-').
if all_existing then
local all_existing_stripped = {}
for _, ae in ipairs(all_existing) do
local existing_ru, existing_tr = extract_russian_tr(ae)
existing_ru = strip_arg_status_prefix(existing_ru)
existing_tr = existing_tr and strip_arg_status_prefix(existing_tr)
table.insert(all_existing_stripped, {existing_ru, existing_tr})
end
if ru ~= "-" and not contains_form(all_existing_stripped, {ru, tr}) then
ru = ru .. IRREG
tr = tr and tr .. IRREG
end
end
return {ru, tr}
end
-- Set up pres_* or futr_*; handle *sym/*tail/*tailall notes and overrides.
handle_forms_and_overrides = function(args, forms, data)
setup_pres_futr(forms, data.perf, data.old)
--handle overrides (formerly we only had past_pasv_part as a
--general override, plus scattered main-form overrides in particular
--conjugation classes)
for _, all_forms in pairs(main_to_all_verb_forms) do
local i = 0
local orig_forms = {}
for _, form in ipairs(all_forms) do
if forms[form] then
table.insert(orig_forms, forms[form])
end
end
for _, form in ipairs(all_forms) do
i = i + 1
-- If we auto-generated the past passive participle in order to
-- check for irregular overrides, make sure to erase any such
-- participles that weren't overridden. This happens for example
-- in обнять, where there are two automatically generated past
-- passive participles but a single ppp=о́внятый override.
local override = args[form] or (
data.ppp_auto_generated and rfind(form, "^past_pasv_part") and "-"
)
if override then
forms[form] = parse_and_stress_override(form, override,
forms[form], orig_forms)
elseif i == 1 then
forms[form] = forms[form] or ""
end
end
end
local function append_value(forms, prop, value)
if forms[prop] and forms[prop] ~= "" and forms[prop] ~= "-" then
value = com.split_russian_tr(value, "dopair")
local curval = forms[prop]
if type(curval) == "string" then
curval = {curval}
end
forms[prop] = com.concat_paired_russian_tr(curval, value)
end
end
local function append_note_all(forms, proplist, value)
for _, prop in ipairs(proplist) do
append_value(forms, prop, value)
end
end
local function append_note_last(forms, proplist, value, gt_one)
local numprops = 0
local lastprop
-- Find the last property in the series with a value
for _, prop in ipairs(proplist) do
if forms[prop] and forms[prop] ~= "" and forms[prop] ~= "-" then
numprops = numprops + 1
lastprop = prop
end
end
if numprops > (gt_one and 1 or 0) then
append_value(forms, lastprop, value)
end
end
for _, proplist in ipairs(all_verb_forms) do
-- Handle PROP_sym, which applies to all overridable properties, including
-- alternative forms, and applies to exactly that property.
for _, prop in ipairs(proplist) do
if args[prop .. "_sym"] then
append_value(forms, prop, args[prop .. "_sym"])
end
end
local propname = proplist[1]
-- Handle PROP_tail, which applies to a series of properties (e.g. past_m,
-- past_m2, ...) and appends to the last one.
if args[propname .. "_tail"] then
append_note_last(forms, proplist, args[propname .. "_tail"])
end
-- Handle PROP_tailall, which applies to a series of properties and
-- appends to all.
if args[propname .. "_tailall"] then
append_note_all(forms, proplist, args[propname .. "_tailall"])
end
end
-- Now handle pasttail, pasttailall, prestail, prestailall, etc.
-- Table listing tail-arg prefix and corresponding verb forms.
local tailargs = {
{"past", past_verb_forms},
{"pres", pres_verb_forms},
{"futr", futr_verb_forms},
{"impr", impr_verb_forms},
{"part", part_verb_forms},
{"prespart", pres_part_verb_forms},
{"pastpart", past_part_verb_forms},
{"", all_main_verb_forms}
}
for _, tailspec in ipairs(tailargs) do
local tailforms = tailspec[2]
-- Handle the ...tail variants.
local tailarg = tailspec[1] .. "tail"
if args[tailarg] then
track(tailarg)
for _, prop in ipairs(tailforms) do
append_note_last(forms, main_to_all_verb_forms[prop], args[tailarg], ">1")
end
end
-- Handle the ...tailall variants.
local tailallarg = tailspec[1] .. "tailall"
if args[tailallarg] then
track(tailallarg)
for _, prop in ipairs(tailforms) do
append_note_all(forms, main_to_all_verb_forms[prop], args[tailallarg])
end
end
end
end
-- Finish generating the forms; primarily, clear out unused forms.
finish_generating_forms = function(forms, data)
-- Convert any main form that's nil (meaning no forms at all corresponding
-- to this main form) to the empty string.
for main_form, _ in pairs(main_to_all_verb_forms) do
if not forms[main_form] then
forms[main_form] = ""
end
end
-- Set the main form FORM to the empty string, and corresponding alt forms
-- to nil.
local function clear_form(form)
local i = 0
for _, altform in ipairs(main_to_all_verb_forms[form]) do
i = i + 1
if i == 1 then
forms[altform] = ""
else
forms[altform] = nil
end
end
end
-- Intransitive and reflexive verbs have no passive participles
-- (unless has_prpp=y and/or has_ppp=y).
if data.intr or data.refl then
if not data.has_prpp then
clear_form("pres_pasv_part")
end
if not data.has_ppp then
clear_form("past_pasv_part")
end
end
if data.refl then
-- no past_adv_part_short for reflexive verbs
clear_form("past_adv_part_short")
end
-- Impersonal verbs normally have no passive participles, but allow them
-- if there's specifically an override. We only do this for the present
-- passive participle because the past passive participle isn't inserted
-- by default, and we still want +p to work, which doesn't currently set
-- data.ppp_override.
if data.impers and not data.prpp_override then
clear_form("pres_pasv_part")
end
if data.impers then
clear_form("pres_1sg")
clear_form("pres_2sg")
clear_form("pres_1pl")
clear_form("pres_2pl")
clear_form("pres_3pl")
clear_form("futr_1sg")
clear_form("futr_2sg")
clear_form("futr_1pl")
clear_form("futr_2pl")
clear_form("futr_3pl")
clear_form("past_m")
clear_form("past_f")
clear_form("past_pl")
clear_form("past_m_short")
clear_form("past_f_short")
clear_form("past_pl_short")
clear_form("pres_actv_part")
clear_form("past_actv_part")
clear_form("pres_adv_part")
clear_form("past_adv_part")
clear_form("past_adv_part_short")
clear_form("impr_sg")
clear_form("impr_pl")
end
-- Perfective and iterative verbs have no present forms, as well as
-- verbs marked nopres=1.
if data.perf or data.iter or data.nopres then
clear_form("pres_actv_part")
clear_form("pres_pasv_part")
clear_form("pres_adv_part")
clear_form("pres_1sg")
clear_form("pres_2sg")
clear_form("pres_3sg")
clear_form("pres_1pl")
clear_form("pres_2pl")
clear_form("pres_3pl")
end
-- Some verbs (e.g. грясти́, густи́) have no past
if data.nopast then
clear_form("past_m")
clear_form("past_f")
clear_form("past_n")
clear_form("past_pl")
clear_form("past_m_short")
clear_form("past_f_short")
clear_form("past_n_short")
clear_form("past_pl_short")
clear_form("past_actv_part")
clear_form("past_pasv_part")
clear_form("past_adv_part")
clear_form("past_adv_part_short")
end
-- Iterative verbs and verbs marked noimpr=1 have no imperative forms.
if data.iter or data.noimpr then
clear_form("impr_sg")
clear_form("impr_pl")
end
-- Iterative verbs and verbs marked nofutr=1 have no future forms.
if data.iter or data.nofutr then
clear_form("futr_1sg")
clear_form("futr_2sg")
clear_form("futr_3sg")
clear_form("futr_1pl")
clear_form("futr_2pl")
clear_form("futr_3pl")
end
--handle "none-" and "awkward-" prefixes (used especially for pres_pasv_part)
local footnote_sym = nil
for _, all_forms in pairs(main_to_all_verb_forms) do
local i = 0
for _, form in ipairs(all_forms) do
i = i + 1
if forms[form] then
local formru, formtr = extract_russian_tr(forms[form])
if rfind(formru, "^none%-") then
if i == 1 then
forms[form] = ""
else
forms[form] = nil
end
elseif rfind(formru, "^awkward%-") then
if not footnote_sym then
footnote_sym = next_note_symbol(data)
m_table.insertIfNot(data.internal_notes, footnote_sym .. " Hiếm và ngượng nghịu.")
end
forms[form] = {rsub(formru, "^awkward%-", "") .. footnote_sym,
formtr and rsub(formtr, "^awkward%-", "") .. footnote_sym}
end
end
end
end
--Insert footnote for IRREG symbol if present.
for _, all_forms in pairs(main_to_all_verb_forms) do
for _, form in ipairs(all_forms) do
if forms[form] then
local formru = extract_russian_tr(forms[form])
if rfind(formru, IRREG) then
m_table.insertIfNot(data.internal_notes, IRREG .. " Irregular.")
end
end
end
end
end
local accel_forms = {
-- present tense
pres_1sg = "1|s|pres|ind",
pres_2sg = "2|s|pres|ind",
pres_3sg = "3|s|pres|ind",
pres_1pl = "1|p|pres|ind",
pres_2pl = "2|p|pres|ind",
pres_3pl = "3|p|pres|ind",
-- future tense
futr_1sg = "1|s|fut|ind",
futr_2sg = "2|s|fut|ind",
futr_3sg = "3|s|fut|ind",
futr_1pl = "1|p|fut|ind",
futr_2pl = "2|p|fut|ind",
futr_3pl = "3|p|fut|ind",
-- imperative
impr_sg = "2|s|imp",
impr_pl = "2|p|imp",
-- past
past_m = "m|s|past|ind",
past_f = "f|s|past|ind",
past_n = "n|s|past|ind",
past_pl = "p|past|ind",
past_m_short = "short|m|s|past|ind",
past_f_short = "short|f|s|past|ind",
past_n_short = "short|n|s|past|ind",
past_pl_short = "short|p|past|ind",
-- active participles
pres_actv_part = "pres|act|part",
past_actv_part = "past|act|part",
-- passive participles
pres_pasv_part = "pres|pass|part",
past_pasv_part = "past|pass|part",
-- adverbial participles
pres_adv_part = "pres|adv|part",
past_adv_part = "past|adv|part",
past_adv_part_short = "short|past|adv|part",
-- infinitive
infinitive = "inf",
}
-- Make the table
make_table = function(forms, title, perf, intr, impers, notes, internal_notes, old)
local infinitives = {}
for _, form in ipairs(main_to_all_verb_forms["infinitive"]) do
local infinitive = forms[form]
if infinitive then
local inf = extract_russian_tr(forms[form])
if inf ~= "-" then
m_table.insertIfNot(infinitives, inf)
end
end
end
-- Group forms together for a given key and combine adjacent forms with the same
-- Russian (they should always have different translits). Take care not to introduce
-- manual translit unnecessarily.
local grouped_forms = {}
for dispform, sourceforms in pairs(disp_verb_form_map) do
local entry = {}
for _, form in ipairs(sourceforms) do
local ru, tr = extract_russian_tr(forms[form])
-- check for empty strings, dashes and nil's
if ru and ru ~= "" and ru ~= "-" and ru ~= "—" then
if #entry > 0 then
local lastru, lasttr = extract_russian_tr(entry[#entry])
if lastru == ru then
if not lasttr and not tr or lasttr == tr then
error("Russian form " .. ru .. " is duplicated, probably due to a duplicative override")
end
lasttr = lasttr or com.translit(lastru)
tr = tr or com.translit(ru)
entry[#entry] = {ru, lasttr .. " ''or'' " .. tr}
else
table.insert(entry, {ru, tr})
end
else
table.insert(entry, {ru, tr})
end
end
end
grouped_forms[dispform] = entry
end
local title = (old and "Bảng chia động từ trước cải cách" or "Bảng chia động từ") .. (#infinitives == 0 and "" or
" của <span lang=\"ru\" class=\"Cyrl\">''" .. table.concat(infinitives, ", ") .. "''</span>") ..
(title and " (" .. title .. ")" or "")
local function add_links(ru, rusuf, runotes, tr, trnotes, accel)
local ruspan
ruspan = m_links.full_link({lang = lang, term = ru, accel = accel, tr = "-"})
if rusuf ~= "" then
rusuf = "<span lang=\"ru\" class=\"Cyrl\">" .. rusuf .. "</span>"
end
return ruspan .. rusuf .. runotes .. "<br/>" .. require("Module:script utilities").tag_translit(tr .. trnotes, lang, "default", 'style="color:#888;"')
end
-- NOTE: No need to check for multiple infinitives because the accel system
-- doesn't support multiple lemmas.
local lemma, lemmatr = extract_russian_tr(forms["infinitive"])
-- check for empty strings, dashes and nil's
if lemma and lemma ~= "" and lemma ~= "-" and lemma ~= "—" then
lemma = m_table_tools.separate_notes(lemma)
if lemmatr then
lemmatr = m_table_tools.separate_notes(lemmatr)
end
else
-- In case the lemma is an empty string or dash, set to nil so we don't
-- set a lemma in the accelerator and fall back to the page name.
lemma = nil
lemmatr = nil
end
-- Convert to displayed form
local disp = {}
for key, entry in pairs(grouped_forms) do
for i, form in ipairs(entry) do
local ru, origtr = extract_russian_tr(form)
local tr = origtr or ru and com.translit(ru)
local ruentry, runotes = m_table_tools.separate_and_superscript_notes(ru)
local trentry, trnotes = m_table_tools.separate_and_superscript_notes(tr)
local accel_form = accel_forms[key]
if not accel_form then
error("Unrecognized key " .. key .. " when looking up accelerator form")
end
local accel
if origtr and origtr:find(" ''or'' ") then
-- Multiple translits for a given Russian term.
-- FIXME! Support this.
accel = nil
else
accel = { form = accel_form, translit = origtr,
lemma = lemma, lemma_translit = lemmatr}
end
if rfind(key, "^futr") then
-- Add link to first word (form of 'to be')
local tobe, inf = rmatch(ruentry, "^([^ ]*) ([^ ]*)$")
if tobe then
-- No accelerators for imperfective future, as it's just the future of "to be"
-- plus the infinitive.
entry[i] = add_links(tobe, " " .. inf, runotes, trentry, trnotes, nil)
else
entry[i] = add_links(ruentry, "", runotes, trentry, trnotes, accel)
end
else
entry[i] = add_links(ruentry, "", runotes, trentry, trnotes, accel)
end
end
disp[key] = table.concat(entry, ",<br/>")
if disp[key] == "" then
disp[key] = "—"
end
end
local all_notes = {}
for _, note in ipairs(internal_notes) do
local symbol, entry = m_table_tools.get_initial_notes(note)
table.insert(all_notes, symbol .. entry)
end
for _, note in ipairs(notes) do
local symbol, entry = m_table_tools.get_initial_notes(note)
table.insert(all_notes, symbol .. entry)
end
local notes_text
table.insert(all_notes, 1,
"Lưu ý: Đối với biến cách của phân từ, xem các mục tương ứng của chúng. Phân từ trạng ngữ không biến cách.")
notes_text = table.concat(all_notes, "<br />") .. "\n"
return [=[<div class="NavFrame" style="max-width:49.6em;">
<div class="NavHead" style="text-align:left; background:var(--wikt-palette-lightindigo, #e9e9ff);color:inherit;">]=] .. title .. [=[</div>
<div class="NavContent">
{| class="inflection inflection-ru inflection-verb inflection-table"
|+ ]=] .. notes_text .. [=[
|- class="rowgroup"
! colspan="3" | ]=] .. (perf and [=[[[совершенный вид|thể hoàn thành]]]=] or [=[[[несовершенный вид|thể chưa hoàn thành]]]=]) .. [=[
|-
! [[неопределённая форма|nguyên mẫu]]
| colspan="2" | ]=] .. disp.infinitive .. [=[
|- class="rowgroup"
! style="width:15em" | [[причастие|phân từ]]
! [[настоящее время|thì hiện tại]]
! [[прошедшее время|thì quá khứ]]
|-
! [[действительный залог|chủ động]]
| ]=] .. disp.pres_actv_part .. [=[ || ]=] .. disp.past_actv_part .. [=[
|-
! [[страдательный залог|bị động]]
| ]=] .. disp.pres_pasv_part .. [=[ || ]=] .. disp.past_pasv_part .. [=[
|-
! [[деепричастие|trạng động từ]]
| ]=] .. disp.pres_adv_part .. [=[ || ]=] .. disp.past_adv_part .. [=[
|- class="rowgroup"
!
! [[настоящее время|thì hiện tại]]
! [[будущее время|thì tương lai]]
|-
! [[первое лицо|ngôi thứ nhất]] [[единственное число|số ít]] (<span lang="ru" class="Cyrl">я</span>)
| ]=] .. disp.pres_1sg .. [=[ || ]=] .. disp.futr_1sg .. [=[
|-
! [[второе лицо|ngôi thứ hai]] [[единственное число|số ít]] (<span lang="ru" class="Cyrl">ты</span>)
| ]=] .. disp.pres_2sg .. [=[ || ]=] .. disp.futr_2sg .. [=[
|-
! [[третье лицо|ngôi thứ ba]] [[единственное число|số ít]] (<span lang="ru" class="Cyrl">он/она́/оно́</span>)
| ]=] .. disp.pres_3sg .. [=[ || ]=] .. disp.futr_3sg .. [=[
|-
! [[первое лицо|ngôi thứ nhất]] [[множественное число|số nhiều]] (<span lang="ru" class="Cyrl">мы</span>)
| ]=] .. disp.pres_1pl .. [=[ || ]=] .. disp.futr_1pl .. [=[
|-
! [[второе лицо|ngôi thứ hai]] [[множественное число|số nhiều]] (<span lang="ru" class="Cyrl">вы</span>)
| ]=] .. disp.pres_2pl .. [=[ || ]=] .. disp.futr_2pl .. [=[
|-
! [[третье лицо|ngôi thứ ba]] [[множественное число|số nhiều]] (<span lang="ru" class="Cyrl">они́</span>)
| ]=] .. disp.pres_3pl .. [=[ || ]=] .. disp.futr_3pl .. [=[
|- class="rowgroup"
! [[повелительное наклонение|thức mệnh lệnh]]
! [[единственное число|số ít]]
! [[множественное число|số nhiều]]
|-
!
| ]=] .. disp.impr_sg .. [=[ || ]=] .. disp.impr_pl .. [=[
|- class="rowgroup"
! [[прошедшее время|thì quá khứ]]
! [[единственное число|số ít]]
! [[множественное число|số nhiều]]<br/>(<span lang="ru" class="Cyrl">мы/вы/они́</span>)
|-
! [[мужской род|giống đực]] (<span lang="ru" class="Cyrl">я/ты/он</span>)
| ]=] .. disp.past_m .. [=[ || rowspan="3" | ]=] .. disp.past_pl .. [=[
|-
! [[женский род|giống cái]] (<span lang="ru" class="Cyrl">я/ты/она́</span>)
| ]=] .. disp.past_f .. [=[
|-
! [[средний род|giống trung]] (<span lang="ru" class="Cyrl">оно́</span>)
| ]=] .. disp.past_n .. [=[
|}
</div>
</div>]=]
end
return export
9o6215se0xtewkswrqn03y7mx5ezw7j
Mô đun:Cyrs-translit
828
303479
2569456
2155922
2026-10-10T08:22:23Z
Hiyuune
50834
2569456
Scribunto
text/plain
local export = {}
local numbers = mw.loadData("Module:Cyrs-translit/numbers")
local ugsub = mw.ustring.gsub
local toNFC = mw.ustring.toNFC
local toNFD = mw.ustring.toNFD
local U = mw.ustring.char
local umatch = mw.ustring.match
local usub = mw.ustring.sub
local ulower = mw.ustring.lower
local acute = U(0x301)
local grave = U(0x300)
local circumflex = U(0x302)
local kamora = U(0x0311)
local palatalization = U(0x0484)
local titlo = U(0x0483)
local dasia = U(0x0485)
local psili = U(0x0486)
local pokryt = U(0x0487)
local vzmet = U(0xA66F)
local breathing = psili .. dasia
local accent = "[" .. acute .. grave .. circumflex .. breathing .. "]*"
local vowels = "aAæÆeEiIoOœŒꝏꝎuUyY"
local common_letters = {
["А"] = 'A', ["а"] = 'a',
["Б"] = 'B', ["б"] = 'b',
["В"] = 'V', ["в"] = 'v',
["Г"] = 'G', ["г"] = 'g',
["Д"] = 'D', ["д"] = 'd',
["Е"] = 'E', ["е"] = 'e',
["Ж"] = 'Ž', ["ж"] = 'ž',
["Ѕ"] = 'Dz', ["ѕ"] = 'dz',
["З"] = 'Z', ["з"] = 'z',
["И"] = 'I', ["и"] = 'i',
["І"] = 'I', ["і"] = 'i', -- Contrastive with "И".
["Й"] = 'J', ["й"] = 'j',
["Ꙉ"] = 'Gʹ', ["ꙉ"] = 'gʹ',
["К"] = 'K', ["к"] = 'k',
["Л"] = 'L', ["л"] = 'l',
["М"] = 'M', ["м"] = 'm',
["Н"] = 'N', ["н"] = 'n',
["О"] = 'O', ["о"] = 'o',
["Ꚙ"] = 'Ꝏ', ["ꚙ"] = 'ꝏ',
["П"] = 'P', ["п"] = 'p',
["Р"] = 'R', ["р"] = 'r',
["С"] = 'S', ["с"] = 's',
["Т"] = 'T', ["т"] = 't',
["У"] = 'U', ["у"] = 'u',
["Ꙋ"] = 'U', ["ꙋ"] = 'u',
["Ф"] = 'F', ["ф"] = 'f',
["Х"] = 'X', ["х"] = 'x',
["Ѡ"] = 'Ō', ["ѡ"] = 'ō', -- Contrastive with "О".
["Ѿ"] = 'Ōt', ["ѿ"] = 'ōt', -- Becomes "otŭ" as appropriate.
["Ѽ"] = 'Ô', ["ѽ"] = 'ô',
["Ц"] = 'C', ["ц"] = 'c',
["Ꙡ"] = 'Cʹ', ["ꙡ"] = 'cʹ', -- From a merger of "Ц" and "Ч" in Old Novgorodian.
["Ч"] = 'Č', ["ч"] = 'č',
["Џ"] = 'Dž', ["џ"] = 'dž',
["Ш"] = 'Š', ["ш"] = 'š',
["Щ"] = 'Št', ["щ"] = 'št',
["Ъ"] = 'Ŭ', ["ъ"] = 'ŭ',
["Ꙏ"] = 'Ü̆', ["ꙏ"] = 'ü̆',
["Ꙑ"] = 'Y', ["ꙑ"] = 'y',
["Ь"] = 'Ĭ', ["ь"] = 'ĭ',
["Ѣ"] = 'Ě', ["ѣ"] = 'ě',
["Ꙓ"] = 'Jě', ["ꙓ"] = 'jě',
["Ю"] = 'Ju', ["ю"] = 'ju',
["Ꙗ"] = 'Ja', ["ꙗ"] = 'ja',
["Ѥ"] = 'Je', ["ѥ"] = 'je',
["Ѧ"] = 'Ę', ["ѧ"] = 'ę',
["Ѫ"] = 'Ǫ', ["ѫ"] = 'ǫ',
["Ѩ"] = 'Ję', ["ѩ"] = 'ję',
["Ѭ"] = 'Jǫ', ["ѭ"] = 'jǫ',
["Ꙛ"] = 'Œ', ["ꙛ"] = 'œ', -- Becomes "œ̨".
["Ѯ"] = 'Ks', ["ѯ"] = 'ks',
["Ѱ"] = 'Ps', ["ѱ"] = 'ps',
["Ѳ"] = 'Θ', ["ѳ"] = 'θ',
["Ѵ"] = 'Ü', ["ѵ"] = 'ü',
["Ѷ"] = 'Ü', ["ѷ"] = 'ü', -- Contrastive with "Ѵ".
["Ҁ"] = 'Q', ["ҁ"] = 'q',
[psili] = '',
[kamora] = circumflex,
["҂"] = '',
["ⷠ"] = '<sup>b</sup>', ["ⷡ"] = '<sup>v</sup>', ["ⷢ"] = '<sup>g</sup>', ["ⷣ"] = '<sup>d</sup>', ["ⷤ"] = '<sup>ž</sup>',
["ⷥ"] = '<sup>z</sup>', ["ⷦ"] = '<sup>k</sup>', ["ⷧ"] = '<sup>l</sup>', ["ⷨ"] = '<sup>m</sup>', ["ⷩ"] = '<sup>n</sup>',
["ⷪ"] = '<sup>o</sup>', ["ⷫ"] = '<sup>p</sup>', ["ⷬ"] = '<sup>r</sup>', ["ⷭ"] = '<sup>s</sup>', ["ⷮ"] = '<sup>t</sup>',
["ⷯ"] = '<sup>x</sup>', ["ⷰ"] = '<sup>c</sup>', ["ⷱ"] = '<sup>č</sup>', ["ⷲ"] = '<sup>š</sup>', ["ⷳ"] = '<sup>št</sup>',
["ⷴ"] = '<sup>θ</sup>', ["ⷵ"] = '<sup>st</sup>', ["ⷶ"] = '<sup>a</sup>', ["ⷷ"] = '<sup>e</sup>', ["ⷸ"] = '<sup>gʹ</sup>',
["ⷹ"] = '<sup>u</sup>', ["ⷺ"] = '<sup>ě</sup>', ["ⷻ"] = '<sup>ju</sup>', ["ⷽ"] = '<sup>ę</sup>', ["ⷾ"] = '<sup>ǫ</sup>',
["ⷿ"] = '<sup>jǫ</sup>',
}
local variants = {
["ᲀ"] = 'в',
["Ґ"] = 'Г', ["ґ"] = 'г',
-- ["Ђ"] = 'Ꙉ', ["ђ"] = 'ꙉ',
["ᲁ"] = 'д',
["Ꙣ"] = 'Д' .. palatalization, ["ꙣ"] = 'д' .. palatalization,
["Є"] = 'Е', ["є"] = 'е',
["Э"] = 'Е', ["э"] = 'е',
["Ꙃ"] = 'Ѕ', ["ꙃ"] = 'ѕ',
["Ꙅ"] = 'Ѕ', ["ꙅ"] = 'ѕ',
["Ꙁ"] = 'З', ["ꙁ"] = 'з',
["Ӥ"] = 'И', ["ӥ"] = 'и',
["Ї"] = 'І', ["ї"] = 'і',
["Ꙇ"] = 'І', ["ꙇ"] = 'і',
-- ["Ћ"] = 'Ꙉ', ["ћ"] = 'ꙉ',
["Ꙥ"] = 'Л' .. palatalization, ["ꙥ"] = 'л' .. palatalization,
["Ꙧ"] = 'М' .. palatalization, ["ꙧ"] = 'м' .. palatalization,
["Ҥ"] = 'Н' .. palatalization, ["ҥ"] = 'н' .. palatalization,
["Ѻ"] = 'О', ["ѻ"] = 'о',
["Ꙩ"] = 'О', ["ꙩ"] = 'о',
["Ꙫ"] = 'О', ["ꙫ"] = 'о',
["Ꚛ"] = 'О', ["ꚛ"] = 'о',
["Ꙭ"] = 'Ꚙ', ["ꙭ"] = 'ꚙ',
["ꙮ"] = 'о',
["ᲂ"] = 'о',
["ᲃ"] = 'с',
["ᲄ"] = 'т',
["ᲅ"] = 'т',
["Ѹ"] = 'Ꙋ', ["ѹ"] = 'ꙋ', ["ᲈ"] = 'ꙋ',
["Ꙍ"] = 'Ѡ', ["ꙍ"] = 'ѡ',
["Ы"] = 'Ꙑ', ["ы"] = 'ꙑ',
["ᲆ"] = 'ъ',
["ꙿ"] = 'ꙏ',
["ᲇ"] = 'ѣ',
["Я"] = 'Ꙗ', ["я"] = 'ꙗ',
["Ꙕ"] = 'Ю', ["ꙕ"] = 'ю',
["Ꙙ"] = 'Ѧ', ["ꙙ"] = 'ѧ',
["Ꙝ"] = 'Ѩ', ["ꙝ"] = 'ѩ',
}
-- A second round of substitutions, e.g. if the final output isn't a precomposed character, but needs to behave like one during processing.
local final_substitutions = {
["Œ"] = "Œ̨", ["œ"] = "œ̨",
[titlo] = ":", [pokryt] = "<sup>:</sup>", [vzmet] = ":"
}
-- Letters converted to their iotated equivalents when word-initial.
local common_iotated_initial = {
["Ѣ"] = 'Ꙓ', ["ѣ"] = 'ꙓ',
}
-- Letters converted to their iotated equivalents after vowels.
local common_iotated_after_vowel = {
["Е"] = 'Ѥ', ["е"] = 'ѥ',
["Ѣ"] = 'Ꙓ', ["ѣ"] = 'ꙓ',
["Ѧ"] = 'Ѩ', ["ѧ"] = 'ѩ',
}
local lang_letters = {}
local lang_iotated_initial = {}
local lang_iotated_after_vowel = {}
local uo_is_u = {}
-- Old East Slavic
lang_letters["orv"] = setmetatable({
["Ѕ"] = 'Z', ["ѕ"] = 'z',
["Щ"] = 'Šč', ["щ"] = 'šč',
["ⷳ"] = '<sup>šč</sup>',
}, {__index = common_letters})
lang_iotated_initial["orv"] = setmetatable({
["Е"] = 'Ѥ', ["е"] = 'ѥ',
["Ѧ"] = 'Ѩ', ["ѧ"] = 'ѩ',
}, {__index = common_iotated_initial})
-- Old Novgorodian
lang_letters["zle-ono"] = setmetatable({
["Ѕ"] = 'Z', ["ѕ"] = 'z',
["Ц"] = 'Cʹ', ["ц"] = 'cʹ',
["Ч"] = 'Cʹ', ["ч"] = 'cʹ',
["Щ"] = 'Scʹ', ["щ"] = 'scʹ',
["ⷰ"] = '<sup>cʹ</sup>', ["ⷱ"] = '<sup>cʹ</sup>', ["ⷳ"] = '<sup>scʹ</sup>',
}, {__index = common_letters})
lang_iotated_initial["zle-ono"] = lang_iotated_initial["orv"]
uo_is_u["zle-ono"] = true
-- Old Pskovian
lang_letters["zle-ops"] = setmetatable({ -- In addition to zle-ono above.
["Щ"] = 'Śk', ["щ"] = 'śk',
["Ѣ"] = 'Æ', ["ѣ"] = 'æ',
["Ꙓ"] = 'Jæ', ["ꙓ"] = 'jæ',
["ⷳ"] = '<sup>śk</sup>',
}, {__index = lang_letters["zle-ono"]})
lang_iotated_initial["zle-ops"] = setmetatable({ -- In addition to zle-ono above.
["Ѫ"] = 'Ѭ', ["ѫ"] = 'ѭ',
}, {__index = lang_iotated_initial["zle-ono"]})
lang_iotated_after_vowel["zle-ops"] = setmetatable({
["Ѫ"] = 'Ѭ', ["ѫ"] = 'ѭ',
}, {__index = common_iotated_after_vowel})
uo_is_u["zle-ops"] = true
local function handle_v(prev, v)
return prev .. (v == "Ѵ" and "В" or "в")
end
local function handle_ou(o, ac)
return (ulower(o) == o and "у" or "У") .. ac
end
local function handle_rough_breathing(base1, base2, diacritics)
-- Mark rough breathing with "h".
local base2_lower = ulower(base2)
if not vowels:match(base2_lower) then
return base1 .. base2 .. diacritics .. "h"
end
local base1_lower = ulower(base1)
if not vowels:match(base1_lower) then
return base1 .. (base2_lower == base2 and "h" or "H") .. base2_lower .. diacritics
end
return (base1_lower == base1 and "h" or "H") .. base1 .. base2 .. diacritics
end
function export.tr(text, lang, sc)
if not sc then
sc = require("Module:languages").getByCode(lang, nil, true):findBestScript(text):getCode()
end
if sc ~= "Cyrs" then
return nil
end
local input = text
-- Decompose any acute and grave accents.
text = ugsub(toNFD(text), "[^" .. acute .. grave .. "]+", toNFC)
-- Canonicalize any variants.
text = text:gsub(".[\128-\191]*", variants)
if lang == "zle-ono" or lang == "zle-ops" then
text = ugsub(text, "([ꙠꙡЦцЧчЩщ])([ꙖꙗѤѥꙒꙓѨѩѬѭЮю])", function (consonant, vowel)
return consonant..({
["Ꙗ"] = 'А', ["ꙗ"] = 'а',
["Ѥ"] = 'Е', ["ѥ"] = 'е',
["Ꙓ"] = 'Ѣ', ["ꙓ"] = 'ѣ',
["Ѩ"] = 'Ѧ', ["ѩ"] = 'ѧ',
["Ѭ"] = 'Ѫ', ["ѭ"] = 'ѫ',
["Ю"] = 'У', ["ю"] = 'у',
})[vowel]
end)
text = ugsub(text, "([жЖ][гГ])", "%1"..palatalization)
text = ugsub(text, "([ГгКкХх])([Вв]?[ИиІіЬьѢѣѴѵ])", "%1"..palatalization.."%2")
end
if lang == "zle-ops" then
text = ugsub(text, "([ЗзЖжСсШшѮѯѰѱЅѕЏџ])([ИиІіЬьѢѣѦѧАаЕе])", function(consonant, vowel)
consonant = ({
["Ж"] = "З", ["ж"] = "з",
["Ш"] = "С", ["ш"] = "с",
["Џ"] = "Ѕ", ["џ"] = "ѕ",
})[consonant] or consonant
return consonant..palatalization..vowel
end)
end
-- Transliterate the palatalization mark as prime.
text = text:gsub(palatalization, "ʹ")
-- Treat "Ѵ" as the consonant "В" (transliterated "V") in diphthongs that
-- correspond to Ancient Greek "αυ", "ευ" and "ηυ" (equivalent to "аѵ", "еѵ"
-- and "иѵ"). Note that "ιυ" ("іѵ") is not a diphthong, and "ου" ("оѵ") is
-- a long vowel. However, this doesn't apply to "Ѷ", as the diacritic means
-- it must be treated as a vowel.
text = ugsub(text, "([аАеЕиИꙗꙖѥѤ]" .. accent .. ")([ѵѴ])", handle_v)
local letters = lang_letters[lang] or common_letters
-- Convert "ѿ" to "ѡт" if followed by a non-iotated vowel (including those
-- which iotate only after vowels) or a palatalization mark, and "ѡтъ" in
-- all other cases.
text = ugsub(text, "([ѿѾ])(" .. accent .. ")()", function(ot, ac, loc)
ot = (ot == "Ѿ" and "Ѡ" or "ѡ") .. ac .. "т"
local nxt = toNFD(usub(text, loc, loc):gsub(".[\128-\191]*", letters))
if not umatch(nxt, "^[" .. vowels .. "ʹ]") then
ot = ot .. "ъ"
end
return ot
end)
-- Handle any vowels which are iotated at the start of words.
local iotated_initial = lang_iotated_initial[lang] or common_iotated_initial
-- Not possible to input iotated_initial directly, as mw.ustring.gsub
-- doesn't respect metamethods...
text = ugsub(text, "^.", function (m)
return iotated_initial[m]
end)
text = ugsub(text, "([^-%(%)%[%]%{%}…%w])(.)", function (a, b)
local iotated = iotated_initial[b] or b
return a..iotated
end)
-- Handle any vowels which are iotated after another vowel.
local iotated_after_vowel = lang_iotated_after_vowel[lang] or common_iotated_after_vowel
text = ugsub(text, "()(" .. accent .. ")(.)", function(loc, ac, letter)
local iotated = iotated_after_vowel[letter]
if iotated then
loc = loc - 1
local prev = toNFD((loc == 0 and "" or usub(text, loc, loc)):gsub(".[\128-\191]*", letters))
if umatch(prev, "[" .. vowels .. "]%W*$") then
return ac .. iotated
end
end
end)
-- Treat "ъі" as "ꙑ", and make "ъ" tense ("ŷ") before "и" or an iotated
-- vowel.
text = ugsub(text, "([Ъъ])(" .. accent .. ")()([иИіІ]?)", function(yer, ac, loc, i)
local nxt = toNFD(usub(text, loc, loc):gsub(".[\128-\191]*", letters)):match("^[iIjJ]")
if nxt ~= nil then
return (yer == "Ъ" and "Ꙑ" or "ꙑ") .. ((i == "і" or i == "І") and ac or circumflex .. ac .. i)
end
end)
-- In some languages, treat "уо" ("uo") as "у" ("u").
if uo_is_u[lang] then
-- Not "ꚙ", which is an orthographically doubled "о".
text = ugsub(text, "([уУѵѴѷѶ]" .. accent .. ")[оО]", "%1")
end
-- гг transliterated as нг
text = ugsub(text, "([гГ])(["..titlo.."]?[гГ])", function (a, b)
return ({ ["г"] = "н", ["Г"] = "Н" })[a] .. b
end)
-- Treat "оу" ("ou") as "у" ("u") (but not "ꚙ").
text = ugsub(text, "([оО])(" .. accent .. ")[уУѵѴѷѶ]", handle_ou)
-- Substitute any numbers.
for key, repl in pairs(numbers) do
text = ugsub(text, key, repl)
end
-- Main substitution.
text = text:gsub(".[\128-\191]*", letters)
-- Handle any rough breathing marks.
-- FIXME: this can't handle various edge cases.
text = ugsub(toNFD(text), "(%w)(%w?)([^%w%s]*)[" .. dasia .. "]", handle_rough_breathing)
if umatch(text, "[" .. breathing .. "]") then
error("Invalid breathing marks in input " .. mw.dumpObject(input))
end
-- Final substitutions.
text = text:gsub(".[\128-\191]*", final_substitutions)
return toNFC(text)
end
return export
37zi2ahzj3va59v6vphjvpymo0ebti2
Thành viên:TienMinh-mun6xnChing/Các mục từ đã tạo
2
317919
2569404
2569101
2026-10-09T15:48:46Z
TienMinh-mun6xnChing
57893
/* */
2569404
wikitext
text/x-wiki
Có thể xem: https://xtools.wmflabs.org/pages/vi.wiktionary.org/DefenderTienMinh07/all?uselang=vi (223 mục từ)
#tinh linh
#ấn triện
#phong ấn
#phỏng tác
#hiến tế
#tấu sớ
#cố tổng
#mơ mẩn
#trí huệ
#huyền thuật
#ấn chương
#vệ úy
#biến âm
#bồ chính
#đại họa
#Lạc dân
#Lạc tướng
#(c)ương ngạnh
#cối tẩu
#lai hóa
#sứ đồ
#lai hóa
#xuất nguồn
#hồi tỵ
#kỹ trị
#uổng công
#bình thủy
#mất mật
#bươn trải
#ế độ
#gượng sống
#đồ họa
#chính ủy
#ma pháp
#huyền thuật
#lùm xùm
#thủy quái
#bêu rếu
#thủy tổ
#đại tướng
#đại (trùng) tu
#lạc dân
#uyên thúy
#chia trí
#công đạo
#hưng cảm
#xị mặt
#miễn thị thực
#miễn nhiễm
#tia số
#trục số
#bén rễ
#đại siêu thị
#tạm ngừng
#tạm hoãn
#chấp điếu
#cúng điếu
#song tiện
#cạn phước
#phước đức
#phước báu
#công đức vô lượng
#tích đức
#khăn tang
#lễ tang
#kết trái
#ươm mầm
#hưu miên
#tùy miên
#kỳ án
#tạo phước
#phước lành
#trai tân
#xì trây
#dương hoà
#ngồng tỏi
#nhân tướng học
#bá khí
#miễn tội
#miễn truy tố
#miễn tố
#lãnh án
#lĩnh án
#tép tỏi
#búp măng
#đại thánh
#độ lớn
#tam giác vuông cân
#đun sôi
#trại ca
#tót vót
#song ca
#hòa ca
#khúc ca
#khúc nhạc
#điệp từ
#điệp cấu trúc
#tốc độ căn quân phương
#hoạt náo
#làm công ăn lương
#gầm cầu
#trụ cầu
#phạt nóng
#phạt nguội
#tin nóng
#đại án
#lực lượng chức năng
#người lính
#hình thoi
#vị thần
#đại nhân
#viên quan
#lương sư
#hưng quốc
#quy án
#láo liếng
#trật khớp
#khuỷu tay
#khớp gối
#khuỷu chân
#chia hết
#nhân tử
#ước (số) chung lớn nhất
#bội (số) chung nhỏ nhất
#gia tốc trọng trường
#mu bàn tay
#mu bàn chân
#lòng bàn chân
#lòng se điếu
#viêm da cơ địa
#chàm thể tạng
#bù giờ
#ngũ vị hương
#diệt khẩu
#cửu vĩ hồ
#tụ đề
#tụ ngậm
#cường kinh
#thống kinh
#bế kinh
#mạng nội bộ
#toàn thư
#biên độ dao động
#độ lệch chuẩn
#độ lệch tiêu chuẩn
#tân sinh viên
#mất tiêu
#láo lường
#phông bạt
#khẩu ước
#kiếm sĩ
#máy kiểm kho
#nợ công
#vốn mồi
#mồi xả
#kim bài
#xá lị
#người đồng mình
#đại đội
#phó đại đội trưởng
#đại đội phó
#thăng cấp
#truyền chức
#áng văn
#thiên cổ kỳ bút
#áng thiên cổ kỳ bút
#thiên cổ hùng văn
#phòng vệ chính đáng
#tình thế cấp thiết
#xung đột lợi ích
t2th8lkum4twdn1l660vjv86rvcmzj1
2569414
2569404
2026-10-09T16:01:14Z
TienMinh-mun6xnChing
57893
/* */
2569414
wikitext
text/x-wiki
Có thể xem: https://xtools.wmflabs.org/pages/vi.wiktionary.org/DefenderTienMinh07/all?uselang=vi (223 mục từ)
#tinh linh
#ấn triện
#phong ấn
#phỏng tác
#hiến tế
#tấu sớ
#cố tổng
#mơ mẩn
#trí huệ
#huyền thuật
#ấn chương
#vệ úy
#biến âm
#bồ chính
#đại họa
#Lạc dân
#Lạc tướng
#(c)ương ngạnh
#cối tẩu
#lai hóa
#sứ đồ
#lai hóa
#xuất nguồn
#hồi tỵ
#kỹ trị
#uổng công
#bình thủy
#mất mật
#bươn trải
#ế độ
#gượng sống
#đồ họa
#chính ủy
#ma pháp
#huyền thuật
#lùm xùm
#thủy quái
#bêu rếu
#thủy tổ
#đại tướng
#đại (trùng) tu
#lạc dân
#uyên thúy
#chia trí
#công đạo
#hưng cảm
#xị mặt
#miễn thị thực
#miễn nhiễm
#tia số
#trục số
#bén rễ
#đại siêu thị
#tạm ngừng
#tạm hoãn
#chấp điếu
#cúng điếu
#song tiện
#cạn phước
#phước đức
#phước báu
#công đức vô lượng
#tích đức
#khăn tang
#lễ tang
#kết trái
#ươm mầm
#hưu miên
#tùy miên
#kỳ án
#tạo phước
#phước lành
#trai tân
#xì trây
#dương hoà
#ngồng tỏi
#nhân tướng học
#bá khí
#miễn tội
#miễn truy tố
#miễn tố
#lãnh án
#lĩnh án
#tép tỏi
#búp măng
#đại thánh
#độ lớn
#tam giác vuông cân
#đun sôi
#trại ca
#tót vót
#song ca
#hòa ca
#khúc ca
#khúc nhạc
#điệp từ
#điệp cấu trúc
#tốc độ căn quân phương
#hoạt náo
#làm công ăn lương
#gầm cầu
#trụ cầu
#phạt nóng
#phạt nguội
#tin nóng
#đại án
#lực lượng chức năng
#người lính
#hình thoi
#vị thần
#đại nhân
#viên quan
#lương sư
#hưng quốc
#quy án
#láo liếng
#trật khớp
#khuỷu tay
#khớp gối
#khuỷu chân
#chia hết
#nhân tử
#ước (số) chung lớn nhất
#bội (số) chung nhỏ nhất
#gia tốc trọng trường
#mu bàn tay
#mu bàn chân
#lòng bàn chân
#lòng se điếu
#viêm da cơ địa
#chàm thể tạng
#bù giờ
#ngũ vị hương
#diệt khẩu
#cửu vĩ hồ
#tụ đề
#tụ ngậm
#cường kinh
#thống kinh
#bế kinh
#mạng nội bộ
#toàn thư
#biên độ dao động
#độ lệch chuẩn
#độ lệch tiêu chuẩn
#tân sinh viên
#mất tiêu
#láo lường
#phông bạt
#khẩu ước
#kiếm sĩ
#máy kiểm kho
#nợ công
#vốn mồi
#mồi xả
#kim bài
#xá lị
#người đồng mình
#đại đội
#phó đại đội trưởng
#đại đội phó
#thăng cấp
#truyền chức
#loa phóng thanh
#loa phát thanh
#áng văn
#thiên cổ kỳ bút
#áng thiên cổ kỳ bút
#thiên cổ hùng văn
#phòng vệ chính đáng
#tình thế cấp thiết
#dân quân tự vệ
#dân quân thường trực
#xung đột lợi ích
7kejbso909f6vtnpi7jctdcb4rwyz7h
krijgswet
0
321239
2569418
2537547
2026-10-10T02:45:26Z
Hiyuune
50834
2569418
wikitext
text/x-wiki
=={{langname|nl}}==
==={{section|etym}}===
Từ {{compound|nl|krijg|t1=chiến tranh|-s-|wet|t3=luật}}.
==={{section|pron}}===
* {{IPA|nl|/ˈkrɛi̯xs.ʋɛt/}}
* {{audio|nl|Nl-krijgswet.ogg}}
* {{hyphenation|nl|krijgs|wet}}
==={{section|n}}===
{{nl-noun|f|-en|-}}
# [[thiết quân luật|Thiết quân luật]]
{{C|nl|Luật pháp|Quân đội}}
05xjr7rb0hr6c6cjmqghqepzu3g6fin
krijgswetten
0
321240
2569419
2194995
2026-10-10T02:46:23Z
Hiyuune
50834
2569419
wikitext
text/x-wiki
=={{langname|nl}}==
==={{section|pron}}===
* {{audio|nl|nl-{{pagename}}.ogg}}
==={{section|n}}===
{{head|nl|Biến thể hình thái danh từ}}
# {{plural of|nl|krijgswet}}
j3styn5kzglw8no6emi9b5gb11vfmtp
Mô đun:category tree/topic/Culture
828
324840
2569447
2364912
2026-10-10T08:09:40Z
Hiyuune
50834
2569447
Scribunto
text/plain
local labels = {}
labels["Văn hóa"] = {
type = "chủ đề thuộc nhóm liên quan",
description = "default",
parents = {"Xã hội"},
wpcat = true,
}
labels["Nền văn hóa"] = {
type = "chủ đề thuộc nhóm liên quan",
description = "default",
parents = {"Văn hóa"},
wpcat = true,
}
labels["Văn hóa quân đội"] = {
type = "chủ đề thuộc nhóm liên quan",
description = "default",
parents = {"Nền văn hóa","Quân sự"},
wpcat = true,
}
labels["Ẩm thực"] = {
type = "chủ đề thuộc nhóm liên quan",
description = "default",
parents = {"Ăn uống","Văn hóa"},
wpcat = true,
}
labels["Món ăn"] = {
type = "chủ đề thuộc nhóm liên quan",
description = "default",
parents = {"Ẩm thực"},
wpcat = true,
}
labels["Món ngọt"] = {
type = "chủ đề thuộc nhóm liên quan",
description = "default",
parents = {"Món ăn","Món tráng miệng","Thực phẩm"},
wpcat = true,
}
labels["Mứt"] = {
type = "chủ đề thuộc nhóm liên quan",
description = "default",
parents = {"Món ngọt"},
wpcat = true,
}
labels["Chè"] = {
type = "chủ đề thuộc nhóm liên quan",
description = "default",
parents = {"Món ngọt"},
wpcat = true,
}
labels["A Christmas Carol"] = {
type = "chủ đề thuộc nhóm liên quan",
wikidata = 62879,
displaytitle = "''A Christmas Carol''",
description = "{{{langname}}} terms that are used in the context of the tale ''{{w|A Christmas Carol}}'', by {{w|Charles Dickens}}, such as the names of its characters or author.",
parents = {"British fiction", "Charles Dickens"},
}
labels["A Song of Ice and Fire"] = {
type = "chủ đề thuộc nhóm liên quan",
wikidata = 45875,
displaytitle = "''A Song of Ice and Fire''",
description = "{{{langname}}} terms used in context of the ''{{w|Song of Ice and Fire}}'' novel series and its television adaptation ''{{w|Game of Thrones}}''.",
parents = {"American fiction", "fantasy", "literature"},
}
labels["acting"] = {
type = "chủ đề thuộc nhóm liên quan",
description = "default",
parents = {"art"},
}
labels["alternate history"] = {
type = "chủ đề thuộc nhóm liên quan",
description = "default",
parents = {"giả tưởng suy đoán", "history"},
}
labels["American fiction"] = {
type = "chủ đề thuộc nhóm liên quan",
description = "=works of American fiction",
parents = {"giả tưởng", "United States"},
}
labels["animation"] = {
type = "chủ đề thuộc nhóm liên quan",
description = "default",
parents = {"mass media"},
}
labels["Arabic fiction"] = {
type = "chủ đề thuộc nhóm liên quan",
description = "=works of [[fiction]] of [[Arabic]] origin",
parents = {"giả tưởng"},
}
labels["Arabian deities"] = {
type = "chủ đề thuộc nhóm tên gọi",
description = "default",
parents = {"gods", "Arabian mythology"},
}
labels["Arabian mythology"] = {
type = "chủ đề thuộc nhóm liên quan",
description = "default",
parents = {"mythology"},
}
labels["Armenian mythology"] = {
type = "chủ đề thuộc nhóm liên quan",
description = "default",
parents = {"mythology", "Armenia"},
}
labels["Nghệ thuật"] = {
type = "chủ đề thuộc nhóm liên quan",
description = "default",
parents = {"Văn hóa"},
}
labels["Arthurian mythology"] = {
type = "chủ đề thuộc nhóm liên quan",
description = "default",
parents = {"mythology", "United Kingdom"},
}
labels["Tác phẩm nghệ thuật"] = {
type = "chủ đề thuộc nhóm tên gọi,chủ đề thuộc nhóm loại hình",
description = "default",
parents = {"Nghệ thuật"},
}
labels["astrobiology"] = {
type = "chủ đề thuộc nhóm liên quan",
description = "default",
parents = {"astronomy", "biology", "geology"},
}
labels["astrology"] = {
type = "chủ đề thuộc nhóm liên quan",
description = "default",
parents = {"divination", "pseudoscience", "obsolete scientific theories"},
}
labels["Asturian mythology"] = {
type = "chủ đề thuộc nhóm liên quan",
description = "default",
parents = {"mythology", "Spain"},
}
labels["Avatar: The Last Airbender"] = {
type = "chủ đề thuộc nhóm liên quan",
wikidata = 11572,
displaytitle = "''Avatar: The Last Airbender''",
description = "{{{langname}}} terms derived from and/or related to the animated television series ''{{w|Avatar: The Last Airbender}}'' and its spin-off ''{{w|The Legend of Korra}}''.",
parents = {"American fiction", "animation"},
}
labels["Australian Aboriginal mythology"] = {
type = "chủ đề thuộc nhóm liên quan",
description = "default",
parents = {"mythology", "Australia"},
}
labels["ballet"] = {
type = "chủ đề thuộc nhóm liên quan",
description = "default",
parents = {"dance"},
}
labels["Barbie"] = {
type = "chủ đề thuộc nhóm liên quan",
wikidata = 167447,
description = "=the {{w|Barbie}} fashion doll produced by Mattel",
parents = {"toys"},
}
labels["Batman"] = {
type = "chủ đề thuộc nhóm liên quan",
wikidata = 2695156,
description = "=the fictional [[superhero]] [[Batman]]",
parents = {"DC Comics", "fictional characters"},
}
labels["bibliography"] = {
type = "chủ đề thuộc nhóm liên quan",
description = "default",
parents = {"books"},
}
labels["Bilibili"] = {
type = "chủ đề thuộc nhóm liên quan",
wikidata = 3077586,
description = "=the video-sharing website {{w|bilibili}}",
parents = {"social media", "World Wide Web"},
}
labels["blogging"] = {
type = "chủ đề thuộc nhóm liên quan",
description = "default",
parents = {"social media"},
}
labels["Bluesky"] = {
type = "chủ đề thuộc nhóm liên quan",
wikidata = 78194383,
description = "=the microblogging and social networking service {{w|Bluesky}}",
parents = {"social media", "World Wide Web"},
}
labels["body art"] = {
type = "chủ đề thuộc nhóm liên quan",
description = "default",
parents = {"art", "fashion"},
}
labels["Bollywood"] = {
type = "chủ đề thuộc nhóm liên quan",
wikidata = 93196,
description = "default",
parents = {"India", "film"},
}
labels["Sách"] = {
type = "chủ đề thuộc nhóm liên quan",
description = "default",
parents = {"Truyền thông đại chúng", "Văn học"},
}
labels["books of the Poetic Edda"] = {
type = "chủ đề thuộc nhóm tên gọi",
displaytitle = "books of the ''Poetic Edda''",
description = "=[[book]]s of the ''[[Poetic Edda]]''",
parents = {"books"},
}
labels["Brazilian folklore"] = {
type = "chủ đề thuộc nhóm liên quan",
description = "default",
parents = {"folklore", "Brazil"},
}
labels["British fiction"] = {
type = "chủ đề thuộc nhóm liên quan",
description = "=works of [[fiction]] of [[British]] origin",
parents = {"giả tưởng"},
}
labels["Buffy the Vampire Slayer"] = {
type = "chủ đề thuộc nhóm liên quan",
wikidata = 183513,
displaytitle = "''Buffy the Vampire Slayer''",
description = "=the television series ''{{w|Buffy the Vampire Slayer}}'' (1997–2003)",
parents = {"American fiction", "Truyền hình", "vampires"},
}
labels["Canadian fiction"] = {
type = "chủ đề thuộc nhóm liên quan",
description = "=works of [[fiction]] of [[Canada|Canadian]] origin",
parents = {"Canada", "giả tưởng"},
}
labels["calligraphy"] = {
type = "chủ đề thuộc nhóm liên quan",
description = "default",
parents = {"art", "writing"},
}
labels["cartomancy"] = {
type = "chủ đề thuộc nhóm liên quan",
description = "default",
parents = {"divination"},
}
labels["castells"] = {
type = "chủ đề thuộc nhóm liên quan",
description = "=[[castell]]s, the Catalan tradition of human tower building",
additional = "See {{w|castells}}.",
parents = {"culture", "sports"},
}
labels["celestial inhabitants"] = {
type = "set",
description = "=inhabitants of known [[celestial body|celestial bodies]]",
parents = {"fictional characters", "khoa học viễn tưởng", "demonyms"},
}
labels["Celtic mythology"] = {
type = "chủ đề thuộc nhóm liên quan",
description = "default",
parents = {"mythology"},
}
labels["characters from folklore"] = {
type = "chủ đề thuộc nhóm liên quan",
description = "default",
parents = {"fictional characters", "folklore"},
}
labels["cheerleading"] = {
type = "chủ đề thuộc nhóm liên quan",
description = "default",
parents = {"dance", "gymnastics", "sports"},
}
labels["Church of England"] = {
type = "chủ đề thuộc nhóm liên quan",
description = "default with the",
parents = {"Anglicanism", "England"},
}
labels["Chinese fiction"] = {
type = "chủ đề thuộc nhóm liên quan",
description = "=works of [[fiction]], including [[anime]]s, [[manhua]]s, [[novel]]s, [[series]] and [[video game]]s, whose origin is of [[China]]",
parents = {"giả tưởng", "China"},
}
labels["Chinese mythology"] = {
type = "chủ đề thuộc nhóm liên quan",
description = "default",
parents = {"mythology", "China"},
}
labels["cinematography"] = {
type = "chủ đề thuộc nhóm liên quan",
description = "default",
parents = {"film"},
}
labels["Xiếc"] = {
type = "chủ đề thuộc nhóm liên quan",
description = "default no singularize",
parents = {"Giải trí", "Sân khấu"},
}
labels["Hài kịch"] = {
type = "chủ đề thuộc nhóm liên quan",
description = "default",
parents = {"Kịch"},
}
labels["comics"] = {
type = "chủ đề thuộc nhóm liên quan",
description = "default no singularize",
parents = {"literature"},
}
-- Confucianism: see Module:category tree/topic cat/data/Philosophy
labels["conlanging"] = {
type = "chủ đề thuộc nhóm liên quan",
description = "=[[conlanging]] (the making of [[constructed language]]s)",
parents = {"language", "culture"},
}
labels["conspiracy theories"] = {
type = "chủ đề thuộc nhóm liên quan,set",
description = "=[[conspiracy theory|conspiracy theories]] and theorists",
parents = {"culture"},
}
labels["constellations in the zodiac"] = {
type = "chủ đề thuộc nhóm tên gọi",
description = "=the ring of [[constellations]] that line the [[ecliptic]], the apparent path of the [[Sun]] across the [[celestial sphere]] over the course of a year",
parents = {"constellations", "astrology"},
}
labels["cosmetics"] = {
type = "set",
description = "default",
parents = {"toiletries", "fashion"},
}
labels["cosplay"] = {
type = "chủ đề thuộc nhóm liên quan",
description = "default",
parents = {"fandom"},
}
labels["dance"] = {
type = "chủ đề thuộc nhóm liên quan",
description = "default",
parents = {"art", "recreation"},
}
labels["dances"] = {
type = "set",
description = "default",
parents = {"dance"},
}
labels["DC Comics"] = {
type = "chủ đề thuộc nhóm liên quan",
wikidata = 2924461,
description = "={{w|DC Comics}}",
parents = {"American fiction", "comics"},
}
labels["demoscene"] = {
type = "chủ đề thuộc nhóm liên quan",
description = "default",
parents = {"culture", "computing"},
}
labels["design"] = {
type = "chủ đề thuộc nhóm liên quan",
description = "default",
parents = {"art"},
}
labels["dictionaries"] = {
type = "type,chủ đề thuộc nhóm tên gọi",
description = "default",
parents = {"reference works", "lexicography"},
}
labels["Disney"] = {
type = "chủ đề thuộc nhóm liên quan",
wikidata = 7414,
description = "=the properties of {{w|The Walt Disney Company}}",
additional = "This includes properties acquired jointly with or from other companies.",
parents = {"American fiction", "comics", "film", "Truyền hình"},
}
labels["divination"] = {
type = "chủ đề thuộc nhóm liên quan",
description = "default",
parents = {"occult"},
}
labels["Doctor Who"] = {
type = "chủ đề thuộc nhóm liên quan",
wikidata = 34316,
displaytitle = "''Doctor Who''",
description = "=the ''{{w|Doctor Who}}'' franchise",
parents = {"British fiction", "khoa học viễn tưởng", "Truyền hình"},
}
labels["Dracula"] = {
type = "chủ đề thuộc nhóm liên quan",
wikidata = 41542,
displaytitle = "''Dracula''",
description = "=the 1897 gothic horror novel ''{{w|Dracula}}'' by {{w|Bram Stoker}}, and its cultural derivations.",
parents = {"fantasy", "literature", "vampires"},
}
labels["dragons"] = {
type = "chủ đề thuộc nhóm liên quan,type",
description = "default",
parents = {"mythological creatures"},
}
labels["Kịch"] = {
type = "chủ đề thuộc nhóm liên quan",
description = "default",
parents = {"Sân khấu"},
}
labels["Egyptian deities"] = {
type = "chủ đề thuộc nhóm tên gọi",
description = "default",
parents = {"gods", "Egyptian mythology"},
}
labels["Egyptian mythology"] = {
type = "chủ đề thuộc nhóm liên quan",
description = "default",
parents = {"mythology", "Ancient Egypt"},
}
labels["Giải trí"] = {
type = "chủ đề thuộc nhóm liên quan",
description = "default",
parents = {"Văn hóa"},
}
labels["erotic literature"] = {
type = "chủ đề thuộc nhóm liên quan",
description = "default",
parents = {"giả tưởng", "literary genres", "sex"},
}
labels["Etruscan mythology"] = {
type = "chủ đề thuộc nhóm liên quan",
description = "default",
parents = {"mythology"},
}
labels["European folklore"] = {
type = "chủ đề thuộc nhóm liên quan",
description = "default",
parents = {"folklore", "Europe"},
}
labels["fairy tale"] = {
type = "chủ đề thuộc nhóm liên quan",
description = "=[[fairy tale]]s",
parents = {"giả tưởng"},
}
labels["fairy tale characters"] = {
type = "chủ đề thuộc nhóm tên gọi",
description = "=[[fairy tale]] [[character]]s",
parents = {"fictional characters", "fairy tale"},
}
labels["fairy tales"] = {
type = "chủ đề thuộc nhóm tên gọi",
description = "default",
parents = {"fairy tale"},
}
labels["fan fiction"] = {
type = "chủ đề thuộc nhóm liên quan",
description = "default",
parents = {"giả tưởng", "fandom", "literature"},
}
labels["fandom"] = {
type = "chủ đề thuộc nhóm liên quan",
description = "{{{langname}}} terms arising from [[fandom]] culture.",
parents = {"culture"},
}
labels["Kỳ ảo"] = {
type = "chủ đề thuộc nhóm liên quan",
description = "=the [[genre]] of [[fantasy]]",
parents = {"giả tưởng", "Giả tưởng suy đoán"},
}
labels["fashion"] = {
type = "chủ đề thuộc nhóm liên quan",
description = "default",
parents = {"culture", "clothing"},
}
labels["faster-than-light travel"] = {
type = "chủ đề thuộc nhóm liên quan",
description = "default",
parents = {"travel", "khoa học viễn tưởng", "astrophysics", "relativity"},
}
labels["giả tưởng"] = {
type = "chủ đề thuộc nhóm liên quan",
description = "=specific works of [[fiction]]",
parents = {"Tác phẩm nghệ thuật"},
}
labels["fictional abilities"] = {
type = "chủ đề thuộc nhóm liên quan,type",
description = "=fictional [[ability|abilities]] and [[superpower]]s",
parents = {"giả tưởng", "giả tưởng suy đoán"},
}
labels["fictional characters"] = {
type = "chủ đề thuộc nhóm tên gọi,type",
description = "default",
parents = {"giả tưởng"},
}
labels["fictional locations"] = {
type = "chủ đề thuộc nhóm tên gọi,type",
description = "default",
parents = {"giả tưởng"},
}
labels["fictional planets"] = {
type = "chủ đề thuộc nhóm tên gọi",
description = "default",
parents = {"fictional locations"},
}
labels["fictional universes"] = {
type = "chủ đề thuộc nhóm tên gọi,type",
description = "default",
parents = {"fictional locations"},
}
labels["Điện ảnh"] = {
type = "chủ đề thuộc nhóm liên quan",
description = "default",
parents = {"Truyền thông đại chúng", "Giải trí"},
}
labels["F/F ships (fandom)"] = {
type = "chủ đề thuộc nhóm tên gọi",
description = "{{{langname}}} names used in [[fandom]] for specific {{l|en|ship|ships|id=fandomnoun}} between two female characters.",
parents = {"LGBTQ", "ships (fandom) by relationship type"},
}
labels["film genres"] = {
type = "type,chủ đề thuộc nhóm liên quan",
description = "default",
parents = {"film", "genres"},
}
labels["film industries"] = {
type = "chủ đề thuộc nhóm tên gọi",
description = "default",
parents = {"film"},
}
labels["Finnic mythology"] = {
type = "chủ đề thuộc nhóm liên quan",
description = "=the [[mythology]] of the [[Finnic]] peoples",
additional = "This includes (but is not limited to) [[Finnish]] and [[Estonian]] mythology.",
parents = {"mythology", "Finland", "Estonia"},
}
labels["flamenco"] = {
type = "chủ đề thuộc nhóm liên quan",
description = "default",
parents = {"dance"},
}
labels["Văn hóa dân gian"] = {
type = "chủ đề thuộc nhóm liên quan",
description = "default",
parents = {"Văn hóa"},
}
labels["furry fandom"] = {
type = "chủ đề thuộc nhóm liên quan",
description = "default",
parents = {"fandom"},
}
labels["Germanic deities"] = {
type = "chủ đề thuộc nhóm tên gọi",
description = "default",
parents = {"gods", "Germanic mythology"},
}
labels["Germanic mythology"] = {
type = "chủ đề thuộc nhóm tên gọi",
description = "=the [[mythology]] of the [[Germanic]] peoples",
parents = {"mythology"},
}
labels["Loại hình"] = {
type = "chủ đề thuộc nhóm hỗn hợp","chủ đề thuộc nhóm liên quan",
description = "=[[genre]]s and genre classifications",
parents = {"Giải trí"},
}
labels["ghosts"] = {
type = "chủ đề thuộc nhóm liên quan",
description = "default",
parents = {"afterlife", "Siêu nhiên", "characters from folklore", "death", "fantasy", "horror", "mythological creatures", "occult"},
}
labels["Glee (TV series)"] = {
type = "chủ đề thuộc nhóm liên quan",
wikidata = 152178,
displaytitle = "''Glee'' (TV series)",
description = "=the television series ''[[w:Glee (TV series)|Glee]]'' (2009–2015)",
parents = {"American fiction", "Truyền hình"},
}
labels["graphic design"] = {
type = "chủ đề thuộc nhóm liên quan",
description = "default",
parents = {"design"},
}
labels["Greek deities"] = {
type = "chủ đề thuộc nhóm tên gọi",
description = "default",
parents = {"gods", "Greek mythology"},
}
labels["Greek mythology"] = {
type = "chủ đề thuộc nhóm liên quan",
description = "=the [[mythology]] of [[Ancient Greece]]",
parents = {"mythology", "Ancient Greece"},
}
labels["Gulliver's Travels"] = {
type = "chủ đề thuộc nhóm liên quan",
wikidata = 181488,
displaytitle = "''Gulliver's Travels''",
description = "=''[[w:Gulliver's Travels|Gulliver’s Travels]]''",
parents = {"literature"},
}
labels["Harry Potter"] = {
type = "chủ đề thuộc nhóm liên quan",
wikidata = 8337,
displaytitle = "''Harry Potter''",
description = "{{{langname}}} terms used in context of the ''{{w|Harry Potter}}'' franchise.",
parents = {"British fiction", "fantasy", "literature", "fictional characters"},
}
labels["Hawaiian mythology"] = {
type = "chủ đề thuộc nhóm liên quan",
description = "default",
parents = {"mythology", "Hawaii, USA"},
}
labels["F/M ships"] = {
type = "chủ đề thuộc nhóm tên gọi",
description = "{{{langname}}} names used in [[fandom]] for specific {{l|en|ship|ships|id=fandomnoun}} between female and male characters.",
parents = {"ships (fandom) by relationship type"},
}
labels["Hindu deities"] = {
type = "name",
description = "default",
parents = {"gods", "Hindu mythology"},
}
labels["Hindu mythology"] = {
type = "chủ đề thuộc nhóm liên quan",
description = "default",
parents = {"mythology", "Hinduism"},
}
labels["Homestuck"] = {
type = "chủ đề thuộc nhóm liên quan",
displaytitle ="''Homestuck''",
wikidata = 2618713,
description = "=the ''{{w|Homestuck}}'' multimedia fiction series",
parents = {"American fiction", "comics"},
}
labels["Hopi culture"] = {
type = "chủ đề thuộc nhóm liên quan",
description = "default",
parents = {"United States"},
}
labels["horror"] = {
type = "chủ đề thuộc nhóm liên quan",
description = "=the [[horror]] [[genre]]",
parents = {"literature", "giả tưởng suy đoán"},
}
labels["horse given names"] = {
type = "name",
description = "{{{langname}}} given names used for [[horse]]s.",
parents = {"horses"},
}
labels["humanities"] = {
type = "chủ đề thuộc nhóm liên quan",
description = "default no singularize",
parents = {"culture"},
commonscat = true;
}
labels["incestuous ships (fandom)"] = {
type = "name",
description = "{{{langname}}} names used in [[fandom]] for specific {{l|en|ship|ships|id=fandomnoun}} involving fictional incestuous relationships.",
parents = {"incest", "ships (fandom) by relationship type"},
}
labels["idol fandom"] = {
type = "chủ đề thuộc nhóm liên quan",
description = "default",
parents = {"fandom"},
}
labels["Instagram"] = {
type = "chủ đề thuộc nhóm liên quan",
wikidata = 209330,
description = "=the photo sharing and social networking service [[Instagram]]",
parents = {"photography", "social media", "World Wide Web"},
}
labels["Iranian mythology"] = {
type = "chủ đề thuộc nhóm liên quan",
description = "default",
parents = {"mythology", "Iran"},
}
labels["Irish mythology"] = {
type = "chủ đề thuộc nhóm liên quan",
description = "default",
parents = {"Celtic mythology", "Ireland"},
}
labels["James Bond"] = {
type = "chủ đề thuộc nhóm liên quan",
wikidata = 844,
displaytitle = "''James Bond''",
description = "=the ''[[James Bond]]'' franchise",
parents = {"British fiction", "film"},
}
labels["Japanese deities"] = {
type = "name",
description = "default",
parents = {"gods", "Japanese mythology"},
}
labels["tác phẩm giả tưởng Nhật Bản"] = {
type = "chủ đề thuộc nhóm liên quan",
description = "=các tác phẩm [[giả tưởng]], bao gồm [[anime]], [[manga]], [[tiểu thuyết]] và [[trò chơi điện tử]] có xuất xứ từ [[Nhật Bản]]",
parents = {"giả tưởng", "Nhật Bản"},
}
labels["thần thoại Nhật Bản"] = {
type = "chủ đề thuộc nhóm liên quan",
description = "default",
parents = {"thần thoại", "Nhật Bản"},
}
labels["job titles in Romance of the Three Kingdoms"] = {
type = "type",
displaytitle = "job titles in ''Romance of the Three Kingdoms''",
description = "=job titles in ''{{w|Romance of the Three Kingdoms}}''",
parents = {"Romance of the Three Kingdoms", "titles"},
}
labels["journalism"] = {
type = "chủ đề thuộc nhóm liên quan",
description = "default",
parents = {"writing"},
}
labels["Kachinas"] = {
type = "name",
description = "default",
parents = {"Hopi culture"},
}
labels["Komi mythology"] = {
type = "chủ đề thuộc nhóm liên quan",
description = "default",
parents = {"mythology", "Komi Republic"},
}
labels["Korean fiction"] = {
type = "chủ đề thuộc nhóm liên quan",
description = "=works of [[fiction]], including [[anime]]s, [[manhwa]]s, [[novel]]s, [[series]] and [[video game]]s, whose origin is of [[Korea]]",
parents = {"giả tưởng", "Korea"},
}
labels["literary genres"] = {
type = "type",
description = "{{{langname}}} terms for [[literary]] [[genre]]s.",
parents = {"giả tưởng", "literature", "genres"},
}
labels["Văn học"] = {
type = "chủ đề thuộc nhóm liên quan",
description = "default",
parents = {"Văn hóa", "Giải trí", "Viết"},
}
labels["Lost (TV series)"] = {
type = "chủ đề thuộc nhóm liên quan",
wikidata = 23567,
displaytitle = "''Lost'' (TV series)",
description = "=the television series ''{{w|Lost (2004 TV series)|Lost}}'' (2004–2010)",
parents = {"American fiction", "khoa học viễn tưởng", "Truyền hình"},
}
labels["Lovecraftian horror"] = {
type = "chủ đề thuộc nhóm liên quan",
wikidata = 2448865,
description = "=the [[literature|literary]] works of {{w|H. P. Lovecraft}}",
parents = {"horror", "literature", "giả tưởng", "Siêu nhiên"},
}
labels["magic"] = {
type = "chủ đề thuộc nhóm liên quan",
description = "default",
parents = {"Siêu nhiên"},
}
labels["magic words"] = {
type = "set",
wikidata = 1135882,
description = "{{{langname}}} magic words; terms that serve the purpose of effectively or apparently triggering a [[magical]] or [[illusionist]] event.",
parents = {"giả tưởng", "plot devices"},
}
labels["manga genres"] = {
type = "type",
description = "{{{langname}}} terms for [[manga]] [[genre]]s.",
parents = {"literary genres"},
}
labels["Hôn nhân"] = {
type = "chủ đề thuộc nhóm liên quan",
description = "default",
parents = {"Văn hóa", "Gia đình"},
}
labels["Marvel Comics"] = {
type = "chủ đề thuộc nhóm liên quan",
wikidata = 173496,
description = "={{w|Marvel Comics}}",
parents = {"American fiction", "comics"},
}
labels["Truyền thông đại chúng"] = {
type = "chủ đề thuộc nhóm liên quan",
description = "default",
parents = {"Phương tiện truyền thông", "Văn hóa"},
}
labels["Mastodon"] = {
type = "chủ đề thuộc nhóm liên quan",
wikidata = 27986619,
description = "=the open-source decentralised social network and microblogging platform {{w|Mastodon (social network)|Mastodon}}",
parents = {"social media", "World Wide Web"},
}
labels["Meitei deities"] = {
type = "name",
description = "default",
parents = {"gods", "Meitei mythology"},
}
labels["Meitei mythology"] = {
type = "chủ đề thuộc nhóm liên quan",
description = "default",
parents = {"mythology"},
}
labels["merpeople"] = {
type = "chủ đề thuộc nhóm liên quan",
description = "default",
parents = {"mythological creatures"},
}
labels["Mesopotamian deities"] = {
type = "name",
description = "default",
parents = {"gods", "Cận Đông cổ đại", "Thần thoại Lưỡng Hà"},
}
labels["Thần thoại Lưỡng Hà"] = {
type = "chủ đề thuộc nhóm liên quan",
description = "=the [[mythology]] of ancient [[Mesopotamia]]",
parents = {"Thần thoại", "Cận Đông cổ đại"},
}
labels["M/M ships (fandom)"] = {
type = "name",
description = "{{{langname}}} names used in [[fandom]] for specific {{l|en|ship|ships|id=fandomnoun}} between two male characters.",
parents = {"LGBTQ", "ships (fandom) by relationship type"},
}
labels["modern art"] = {
type = "chủ đề thuộc nhóm liên quan",
description = "default",
parents = {"art"},
}
labels["Mongolian tribes"] = {
type = "name",
description = "{{{langname}}} names for Mongolian tribes.",
parents = {"ethnonyms", "Mongolia"},
}
labels["moustaches"] = {
type = "type",
description = "default",
parents = {"face", "fashion", "hair"},
}
labels["My Hero Academia"] = {
type = "chủ đề thuộc nhóm liên quan",
wikidata = 18047903,
displaytitle ="''My Hero Academia''",
description = "=the ''{{w|My Hero Academia}}'' series",
parents = {"Japanese fiction", "animation", "comics"},
}
labels["My Little Pony"] = {
type = "chủ đề thuộc nhóm liên quan",
wikidata = 1071312,
displaytitle = "''My Little Pony''",
description = "=the ''{{w|My Little Pony}}'' franchise (which includes toys and animated series) and its fandom",
parents = {"American fiction", "animation", "toys"},
}
labels["Sinh vật thần thoại"] = {
type = "chủ đề thuộc nhóm loại hình",
description = "default",
parents = {"Thần thoại", "Kỳ ảo"},
}
labels["mythological figures"] = {
type = "name",
description = "default",
parents = {"mythology"},
}
labels["mythological locations"] = {
type = "name",
description = "default",
parents = {"mythology"},
}
labels["mythological plants"] = {
type = "type,name",
description = "default",
parents = {"mythology", "plants"},
}
labels["Thần thoại"] = {
type = "chủ đề thuộc nhóm liên quan",
description = "default",
parents = {"Văn hóa"},
}
labels["narratology"] = {
type = "chủ đề thuộc nhóm liên quan",
description = "default",
parents = {"literature", "Kịch"},
}
labels["newspapers"] = {
type = "name",
description = "default",
parents = {"periodicals"},
}
labels["Niconico"] = {
type = "chủ đề thuộc nhóm liên quan",
wikidata = 697233,
description = "=the video-sharing website {{w|Niconico}}",
parents = {"social media", "World Wide Web"},
}
labels["Norse deities"] = {
type = "name",
description = "default",
parents = {"gods", "Germanic deities", "Norse mythology"},
}
labels["Norse mythology"] = {
type = "chủ đề thuộc nhóm liên quan",
description = "default",
parents = {"mythology", "Germanic mythology"},
}
labels["occult"] = {
type = "chủ đề thuộc nhóm liên quan",
description = "default with the",
parents = {"Siêu nhiên", "forteana"},
}
labels["omegaverse"] = {
type = "chủ đề thuộc nhóm liên quan",
wikidata = 96397374,
description = "=the [[omegaverse]] genre",
parents = {"erotic literature", "fan fiction", "giả tưởng suy đoán"},
}
labels["Omori"] = {
type = "chủ đề thuộc nhóm liên quan",
wikidata = 105618699,
displaytitle ="''Omori''",
description = "=the ''{{w|Omori (video game)|Omori}}'' series",
parents = {"American fiction", "video games"},
}
labels["Once Upon a Time"] = {
type = "chủ đề thuộc nhóm liên quan",
wikidata = 23673,
displaytitle = "''Once Upon a Time''",
description = "=the television series ''{{w|Once Upon a Time (TV series)|Once Upon a Time}}'' (2011–2018)",
parents = {"American fiction", "Disney", "Truyền hình"},
}
labels["painting"] = {
type = "chủ đề thuộc nhóm liên quan",
description = "default",
parents = {"art"},
}
labels["palmistry"] = {
type = "chủ đề thuộc nhóm liên quan",
description = "default",
parents = {"divination"},
}
labels["parties"] = {
type = "type,chủ đề thuộc nhóm liên quan",
description = "default",
parents = {"culture", "Giải trí"},
}
labels["people in Romance of the Three Kingdoms"] = {
type = "name",
displaytitle = "people in ''Romance of the Three Kingdoms''",
description = "=people in ''{{w|Romance of the Three Kingdoms}}''",
parents = {"Romance of the Three Kingdoms"},
}
labels["perfumes"] = {
type = "type",
description = "default",
parents = {"fashion"},
}
labels["periodicals"] = {
type = "type,chủ đề thuộc nhóm liên quan",
description = "default",
parents = {"mass media", "literature"},
}
labels["personifications"] = {
type = "name",
description = "default",
parents = {"narratology"},
}
labels["places in Romance of the Three Kingdoms"] = {
type = "name",
displaytitle = "places in ''Romance of the Three Kingdoms''",
description = "=places in ''{{w|Romance of the Three Kingdoms}}''",
parents = {"Romance of the Three Kingdoms", "China"},
}
labels["plot devices"] = {
type = "type",
description = "default",
parents = {"narratology", "giả tưởng"},
}
labels["poetry"] = {
type = "chủ đề thuộc nhóm liên quan",
description = "default",
parents = {"literature", "art"},
}
labels["polyamorous ships (fandom)"] = {
type = "name",
description = "{{{langname}}} names used in [[fandom]] for specific {{l|en|ship|ships|id=fandomnoun}} between three or more characters.",
parents = {"ships (fandom) by relationship type"},
}
labels["Private Eye"] = {
type = "chủ đề thuộc nhóm liên quan",
displaytitle = "''Private Eye''",
description = "=the ''{{w|Private Eye}}'' franchise",
parents = {"British fiction"},
}
labels["Reddit"] = {
type = "chủ đề thuộc nhóm liên quan",
wikidata = 2195701,
description = "=the social news aggregation and discussion website {{w|Reddit}}",
parents = {"social media", "World Wide Web"},
}
labels["Tài liệu tham khảo"] = {
type = "chủ đề thuộc nhóm loại hình",
description = "default",
parents = {"Sách"},
}
labels["Roman deities"] = {
type = "name",
description = "default",
parents = {"gods", "Roman mythology"},
}
labels["Roman mythology"] = {
type = "chủ đề thuộc nhóm liên quan",
description = "default",
parents = {"mythology", "Ancient Rome"},
}
labels["romance fiction"] = {
type = "chủ đề thuộc nhóm liên quan",
description = "default",
parents = {"literary genres", "love"},
}
labels["Romance of the Three Kingdoms"] = {
type = "chủ đề thuộc nhóm liên quan",
wikidata = 70806,
displaytitle = "''Romance of the Three Kingdoms''",
description = "=''{{w|Romance of the Three Kingdoms}}''",
parents = {"giả tưởng", "literature"},
}
labels["RPF ships (fandom)"] = {
type = "name",
description = "{{{langname}}} names used in [[fandom]] for specific {{l|en|ship|ships|id=fandomnoun}} involving real people in a fictional relationship.",
additional = "For actual relationships between real people, see [[:Category:Couple nicknames]].",
parents = {"ships (fandom) by relationship type"},
}
labels["khoa học viễn tưởng"] = {
type = "chủ đề thuộc nhóm liên quan",
description = "default",
parents = {"giả tưởng", "giả tưởng suy đoán"},
}
labels["SCP Foundation"] = {
type = "chủ đề thuộc nhóm liên quan",
wikidata = 17439649,
description = "English terms related to the SCP Wiki collaborative writing website and its setting of the {{w|SCP Foundation}}.",
parents = {"fantasy", "giả tưởng", "horror", "khoa học viễn tưởng", "Siêu nhiên"},
}
labels["sculpture"] = {
type = "chủ đề thuộc nhóm liên quan",
description = "default",
parents = {"art"},
}
labels["Shahnameh"] = {
type = "chủ đề thuộc nhóm liên quan",
wikidata = 8279,
displaytitle = "''Shahnameh''",
description = "=''Shahnameh''",
parents = {"giả tưởng", "poetry", "literature"},
}
labels["Shahnameh characters"] = {
type = "name",
description = "=characters in the [[Shahnameh]]",
parents = {"Shahnameh"},
}
labels["shapeshifters"] = {
type = "chủ đề thuộc nhóm liên quan,type",
description = "default",
parents = {"mythological creatures", "characters from folklore"},
}
labels["Sherlock Holmes"] = {
type = "chủ đề thuộc nhóm liên quan",
wikidata = 2316684,
description = "=the [[Sherlock Holmes]] stories by {{w|Arthur Conan Doyle}} and adaptations of them",
parents = {"British fiction", "literature"},
}
labels["Sherlock (TV series)"] = {
type = "chủ đề thuộc nhóm liên quan",
wikidata = 192837,
displaytitle = "''Sherlock'' (TV series)",
description = "=the television series ''[[w:Sherlock (TV series)|Sherlock]]'' (2010–2017)",
parents = {"Sherlock Holmes", "Truyền hình"},
}
labels["shipping (fandom)"] = {
type = "chủ đề thuộc nhóm liên quan",
description = "={{l|en|ship|shipping|id=fandomverb}} (i.e., in [[fandom]], supporting a fictional romantic relationship between two characters)",
parents = {"fandom", "romance fiction"},
}
labels["ships (fandom)"] = {
type = "grouping",
description = "=names used in [[fandom]] for specific {{l|en|ship|ships|id=fandomnoun}} i.e., a fictional relationship between two fictional characters or real people)",
parents = {"shipping (fandom)"},
}
labels["ships (fandom) by relationship type"] = {
type = "grouping",
description = "={{l|en|ship|ship|id=fandomnoun}} names organized by the type of relationship (e.g, [[heterosexual]], [[homosexual]], etc.)",
parents = {"ships (fandom)"},
}
labels["shippers (fandom)"] = {
type = "type",
description = "=[[shipper]]s (i.e., people who support a romantic or sexual relationship between characters or real people)",
parents = {"shipping (fandom)"},
}
labels["Slavic deities"] = {
type = "name",
description = "default",
parents = {"gods", "Slavic mythology"},
}
labels["Slavic mythology"] = {
type = "chủ đề thuộc nhóm liên quan",
description = "=the [[mythology]] of the [[Slav]]s",
parents = {"mythology"},
}
labels["Smallville (TV series)"] = {
type = "chủ đề thuộc nhóm liên quan",
wikidata = 180228,
displaytitle = "''Smallville'' (TV series)",
description = "=the television series ''{{w|Smallville}}'' (2001–2011)",
parents = {"American fiction", "Superman", "Truyền hình"},
}
labels["social media"] = {
type = "chủ đề thuộc nhóm liên quan",
wikidata = 202833,
description = "default",
parents = {"mass media", "Internet"},
}
labels["South Korean idol fandom"] = {
type = "chủ đề thuộc nhóm liên quan",
wikidata = 39086123,
description = "=[[South Korea|South Korean]] [[idol]] [[fandom]]",
parents = {"idol fandom", "South Korea"},
}
labels["South Park"] = {
type = "chủ đề thuộc nhóm liên quan",
wikidata = 16538,
displaytitle = "''South Park''",
description = "{{{langname}}} terms derived from and/or related to the animated television series ''{{w|South Park}}''.",
parents = {"American fiction", "animation"},
}
labels["Star Trek"] = {
type = "chủ đề thuộc nhóm liên quan",
wikidata = 1092,
displaytitle = "''Star Trek''",
description = "=the ''{{w|Star Trek}}'' franchise",
parents = {"American fiction", "film", "khoa học viễn tưởng", "Truyền hình"},
}
labels["Star Wars"] = {
type = "chủ đề thuộc nhóm liên quan",
wikidata = 462,
displaytitle = "''Star Wars''",
description = "=the ''{{w|Star Wars}}'' franchise",
parents = {"American fiction", "film", "khoa học viễn tưởng", "Disney"},
}
labels["Steven Universe"] = {
type = "chủ đề thuộc nhóm liên quan",
wikidata = 7615342,
displaytitle = "''Steven Universe''",
description = "=the animated television series ''{{w|Steven Universe}}''",
parents = {"American fiction", "animation"},
}
labels["stock characters"] = {
type = "type",
wikidata = 636497,
description = "default",
parents = {"fictional characters"},
}
labels["Giả tưởng suy đoán"] = {
type = "chủ đề thuộc nhóm liên quan",
wikidata = 9326077,
description = "default",
parents = {"giả tưởng", "genres"},
}
labels["Chọi nhện"] = {
type = "chủ đề thuộc nhóm liên quan",
wikidata = 7577058,
description = "={{w|spider fighting}}",
parents = {"Nhện", "Hoạt động của con người"},
}
labels["superheroes"] = {
type = "name",
wikidata = 188784,
description = "=[[superhero]]es",
parents = {"fictional characters"},
}
labels["Superman"] = {
type = "chủ đề thuộc nhóm liên quan",
wikidata = 79015,
description = "=the fictional [[superhero]] [[Superman]]",
parents = {"DC Comics", "fictional characters"},
}
labels["Siêu nhiên"] = {
type = "chủ đề thuộc nhóm liên quan",
wikidata = 80837,
description = "default",
parents = {"Văn hóa dân gian"},
wpcat = true,
}
labels["Supernatural (TV series)"] = {
type = "chủ đề thuộc nhóm liên quan",
wikidata = 130585,
displaytitle = "''Supernatural'' (TV series)",
description = "=the television series ''[[w:Supernatural (American TV series)|Supernatural]]'' (2005–2020)",
parents = {"American fiction", "Truyền hình"},
}
labels["Tamil deities"] = {
type = "name",
description = "default",
additional = "See [[w:Dravidian folk religion|Dravidian religion]] or [[w:Religion in ancient Tamilakam|Tamil region]] for more.",
parents = {"gods", "Hindu deities", "Tamil mythology"},
}
labels["Tamil mythology"] = {
type = "name",
description = "default",
additional = "See [[w:Dravidian folk religion|Dravidian religion]] or [[w:Religion in ancient Tamilakam|Tamil region]] for more.",
parents = {"mythology", "Hindu mythology"},
}
labels["truyền hình"] = {
type = "chủ đề thuộc nhóm liên quan",
wikidata = 289,
description = "default",
parents = {"Truyền thông đại chúng", "Phát sóng"},
}
labels["The Handmaid's Tale"] = {
type = "chủ đề thuộc nhóm liên quan",
wikidata = 25207350,
displaytitle = "''The Handmaid's Tale''",
description = "=the 1985 novel ''{{w|The Handmaid's Tale}}'' by {{w|Margaret Atwood}} and its [[w:The Handmaid's Tale (TV series)|television adaptation]] (2017–)",
parents = {"Canadian fiction", "utopian and dystopian fiction", "literature"},
}
labels["The Hunger Games"] = {
type = "chủ đề thuộc nhóm liên quan",
wikidata = 11679,
displaytitle = "''The Hunger Games''",
description = "=''{{w|The Hunger Games}}'' novel series by {{w|Suzanne Collins}} and its film adaptations",
parents = {"American fiction", "khoa học viễn tưởng", "utopian and dystopian fiction", "literature"},
}
labels["The Matrix"] = {
type = "chủ đề thuộc nhóm liên quan",
wikidata = 83495,
displaytitle = "''The Matrix''",
description = "=''{{w|The Matrix}}''",
parents = {"American fiction", "khoa học viễn tưởng", "utopian and dystopian fiction"},
}
labels["The Simpsons"] = {
type = "chủ đề thuộc nhóm liên quan",
wikidata = 886,
displaytitle = "''The Simpsons''",
description = "{{{langname}}} terms derived from and/or related to the animated television series ''{{w|The Simpsons}}''.",
parents = {"American fiction", "animation", "Disney"},
}
labels["The Walking Dead"] = {
type = "chủ đề thuộc nhóm liên quan",
wikidata = 232737,
displaytitle = "''The Walking Dead''",
description = "=the television series ''[[w:The Walking Dead (TV series)|The Walking Dead]]'' (2010–2022) and the comic series from which it was adapted",
parents = {"American fiction", "Truyền hình", "utopian and dystopian fiction", "zombies"},
}
labels["The Wizard of Oz"] = {
type = "chủ đề thuộc nhóm liên quan",
wikidata = 130295,
displaytitle = "''The Wizard of Oz''",
description = "{{{langname}}} terms and phrases which have entered the vernacular as a result of the cultural impact of ''{{w|The Wonderful Wizard of Oz}}'' and ''[[w:The Wizard of Oz (1939 film)|The Wizard of Oz]]''.",
parents = {"American fiction", "literature"},
}
labels["The X-Files"] = {
type = "chủ đề thuộc nhóm liên quan",
wikidata = 2744,
displaytitle = "''The X-Files''",
description = "=the ''{{w|The X-Files}}'' franchise",
parents = {"American fiction", "khoa học viễn tưởng", "Truyền hình"},
}
labels["Sân khấu"] = {
type = "chủ đề thuộc nhóm liên quan",
description = "default",
parents = {"Nghệ thuật", "Giải trí"},
}
labels["TikTok"] = {
type = "chủ đề thuộc nhóm liên quan",
wikidata = 48938223,
description = "=the video-sharing and social-networking service {{w|TikTok}}",
parents = {"social media", "World Wide Web"},
}
labels["Tupi mythology"] = {
type = "chủ đề thuộc nhóm liên quan",
description = "default",
parents = {"mythology"},
}
labels["Twilight (novel series)"] = {
type = "chủ đề thuộc nhóm liên quan",
wikidata = 44523,
displaytitle = "''Twilight'' (novel series)",
description = "=the ''[[w:Twilight (series)|Twilight]]'' franchise",
parents = {"American fiction", "fantasy", "literature", "vampires"},
}
labels["Twitter"] = {
type = "chủ đề thuộc nhóm liên quan",
wikidata = 918,
description = "=the social networking and microblogging service {{w|Twitter}}",
parents = {"social media", "World Wide Web"},
}
labels["Tumblr"] = {
type = "chủ đề thuộc nhóm liên quan",
wikidata = 384060,
description = "=the microblogging and social networking service {{w|Tumblr}}",
parents = {"social media", "World Wide Web"},
}
labels["utopian and dystopian fiction"] = {
type = "chủ đề thuộc nhóm liên quan",
description = "default",
parents = {"giả tưởng suy đoán"},
}
labels["Ma cà rồng"] = {
type = "chủ đề thuộc nhóm liên quan,type",
description = "default",
parents = {"mythological creatures", "characters from folklore", "death", "horror", "blood"},
}
labels["Virtual YouTuber"] = {
type = "chủ đề thuộc nhóm liên quan",
wikidata = 55155641,
description = "=[[virtual YouTuber]]s ([[VTuber]]s)",
parents = {"YouTube", "Giải trí"},
}
labels["web design"] = {
type = "chủ đề thuộc nhóm liên quan",
description = "default",
parents = {"design", "World Wide Web"},
}
labels["werewolves"] = {
type = "chủ đề thuộc nhóm liên quan,type",
description = "default",
parents = {"mythological creatures", "characters from folklore", "shapeshifters", "horror"},
}
labels["worldbuilding"] = {
type = "chủ đề thuộc nhóm liên quan",
description = "default",
parents = {"narratology", "giả tưởng suy đoán"},
}
labels["Xena: Warrior Princess"] = {
type = "chủ đề thuộc nhóm liên quan",
wikidata = 38497,
displaytitle = "''Xena: Warrior Princess''",
description = "=the television series ''{{w|Xena: Warrior Princess}}'' (1995–2001)",
parents = {"American fiction", "Truyền hình"},
}
labels["YouTube"] = {
type = "chủ đề thuộc nhóm liên quan",
wikidata = 866,
description = "=the video-sharing website {{w|YouTube}}",
parents = {"social media", "World Wide Web", "Google"},
}
labels["zombies"] = {
type = "chủ đề thuộc nhóm liên quan,type",
description = "default",
parents = {"mythological creatures", "characters from folklore", "death", "horror"},
}
return labels
cx5ndcdfkrzdca7d98oba2qyay463xy
human right
0
343551
2569360
2569330
2026-10-09T13:54:18Z
TheHighFighter2
42988
/* Đọc thêm */
2569360
wikitext
text/x-wiki
=={{langname|en}}==
==={{ĐM|pron}}===
* {{audio|en|LL-Q1860 (eng)-Vealhurl-human right.wav|a=Southern England}}
==={{ĐM|n}}===
{{en-noun}}
# [[nhân quyền|Nhân quyền]].
===={{ĐM|rel}}====
{{col3|en
|absolute right
|animal rights
|civil right
|fundamental right
|human rights
|natural right
|neuroright
}}
==={{ĐM|further}}===
* {{pedia|Human rights|lang=en}}
{{C|en|Luật pháp}}
pco27a2dt07xox82n0cyuomfkd6ijzh
ɛ̈
0
419559
2569407
2569164
2026-10-09T15:54:12Z
Hiyuune
50834
2569407
wikitext
text/x-wiki
=={{langname|mul}}==
==={{ĐM|etym}} 1===
===={{ĐM|desction}}====
{{mul-letter}}
#[[chữ cái|Chữ cái]] '''[[ɛ]] viết thường''' với dấu tách đôi [[◌̈]] ([[diaeresis]]).
===={{ĐM|see}}====
{{Latn-script}}
==={{ĐM|etym}} 2===
===={{ĐM|symbol}}====
{{mul-symbol}}
#{{lb|mul|NAPA}} Nguyên âm không tròn môi sau nửa mở (IPA [{{IPAfont|[[ʌ]]}}]).
=={{langname|lnl}}==
==={{ĐM|letter}}===
{{letter|lnl}}
# Chữ '''{{l|lnl|ɛ}} viết thường''' với dấu thanh trung.
#:{{ux|lnl|'''ɛ̈'''wo|[[bó]] [[củi]]|inline=1}}
==={{ĐM|see}}===
*{{letters|lang=lnl|sc=Latn|qual=Bảng chữ cái Latinh tiếng Banda Trung Nam|Aa|Bb|Bh/bh|Ch/ch|Dd|Dh/dh|Dj/dj|Ee|Ɛɛ|Əə|Ff|Gg|Gb/gb|Hh|Ii|Ɨɨ|Jj|Kk|Kp/kp|Ll|Mm|Nn|Ny/ny|Oo|Pp|Rr|Ss|Tt|Tch/tch|Uu|Ʉʉ|Vv|Ww|Yy|Zz}}
==={{ĐM|ref}}===
*{{Chú thích sách|fr|title=[https://www.sil.org/system/files/reapdata/15/49/43/154943126251497472753085640904124620086/precis_orthographe_ngbugu_2020.pdf Précis d'orthographe du ngbugu]|author=Jessé-Joël Adoumacho, Tychique Longbo, Guy-Florent Matchi, Kenneth S. Olson|year=2020|page=5}}
*{{Chú thích web|lnl|work=Mbëtï Ndjapä: TÄFO MADƗ̈|author=Wycliffe Bible Translators, Inc.|year=2026|entryurl=https://www.bible.com/bible/3068/1CO.7.LNL|entry=Dokʉ̈ Körɛ̂nte 7}}
=={{langname|din}}==
==={{ĐM|pron}}===
*{{IPA|din|/ɛ̤/}}
==={{ĐM|letter}}===
{{letter|din}}
#Chữ cái thứ 10 viết thường trong bảng chữ cái Latinh tiếng Dinka.
#:{{ux|din|thi'''ɛ̈'''k|[[chôn]]|inline=1}}
==={{ĐM|see}}===
*{{letters|lang=din|sc=Latn|qual=Bảng chữ cái Latinh tiếng Dinka|Aa|Ää|Bb|Cc|Dd|Dh/dh|Ee|Ëë|Ɛɛ|Ɛ̈/ɛ̈|Gg|Ɣɣ|Ii|Ïï|Jj|Kk|Ll|Mm|Nn|Nh/nh|Ny/ny|Ŋŋ|Oo|Öö|Ɔɔ|Ɔ̈/ɔ̈|Pp|Rr|Tt|Th/th|Uu|Ww|Yy}}
==={{ĐM|ref}}===
* {{Chú thích sách|url=https://web.archive.org/web/20160304185854/http://www.rogerblench.info/Language/Nilo-Saharan/Nilotic/Comparative%20Dinka%20lexicon%20converted.pdf|title=Dinka-English Dictionary|year=2005|page=44}}
=={{langname|gbo}}==
==={{ĐM|letter}}===
{{letter|gbo}}
# Chữ '''{{l|gbo|ɛ}} viết thường''' với dấu tách đôi.
#:{{quote|gbo|A nu dɛ wùɛ a wɔ̀le je ba nuu '''ɛ̈''' di ɛɛ numa ně bo wnawnaǒ Ngmà Je Ne Sùsu nye amoo ɛ miě a slè ne '''ɛ̈'''ǒ poǒ aa tàa do.|dùng dây hòa-bình mà giữ-gìn sự hiệp một của Thánh-Linh. ([[s:Ê-phê-sô/4#4:3|Ê-phê-sô 4:3]])}}
==={{ĐM|ref}}===
*{{Chú thích web|gbo|work=Nyesoaa Kuo Win Jajle|author=Bible Society in Liberia|year=1989|entryurl=https://www.bible.com/bible/2829/EPH.4.NKWJ|entry=Ifisiɛ̌n 4}}
=={{langname|mcx}}==
==={{ĐM|pron}}===
*{{IPA|mcx|/ɛ̀/}}
==={{ĐM|letter}}===
{{letter|mcx}}
#Chữ '''{{l|mcx|ɛ}} viết thường''' với dấu tách đôi.
#:{{ux|mcx|b'''ɛ̈'''|[[họ]]|inline=1}}
==={{ĐM|see}}===
*{{letters|lang=mcx|sc=Latn|qual=Bảng chữ cái Latinh tiếng Mpiemo|Aa|Bb|Dd|Ee|Ɛɛ|(Ff)|Gg|Hh|Ii|Jj|Kk|Kp/kp|Ll|Mm|Nn|Ŋŋ|Oo|Ɔɔ|Pp|Rr|Ss|Tt|Uu|(Vv)|Ww|Yy|(Zz)}}
==={{ĐM|ref}}===
*{{Chú thích web|work=Mpyemo - French Dictionary|editor=Bradley Festen & Paul Murrell|year=2020|entryurl=https://www.webonary.org/mpyemo/en/gbb7c46bc-0d0d-4f6e-aa8c-aaaeb8d88ed7/|entry=bɛ̈|publisher=SIL International®}}
=={{langname|nus}}==
==={{ĐM|pron}}===
*{{IPA|nus|/æ/}}
==={{ĐM|letter}}===
{{letter|nus}}
#Chữ cái thứ 13 viết thường trong bảng chữ cái Latinh tiếng Nuer.
#:{{ux|nus|m'''ɛ̈ɛ̈'''c|[[rễ]]|inline=1}}
==={{ĐM|see}}===
*{{letters|lang=nus|sc=Latn|qual=Bảng chữ cái Latinh tiếng Nuer|Aa|A̱/a̱|Ää|Bb|Cc|Dd|Dh/dh|Ee|E̱/e̱|Ëë|Ɛɛ|Ɛ̱/ɛ̱|Ɛ̈/ɛ̈|Gg|Ɣɣ|Hh|Ii|I̱/i̱|Jj|Kk|Ll|Mm|Nn|Ŋŋ|Nh/nh|Ny/ny|Oo|O̱/o̱|Öö|Ɔɔ|Ɔ̱/ɔ̱|Pp|Rr|Tt|Th/th|Uu|Ww|Yy}}
==={{ĐM|ref}}===
*{{Chú thích web|entryurl=https://www.nuerlexicon.com/nuer-english-dictionary.php#m|entry=M|work=Nuer-English Dictionary|year=2020}}
clhsisuzb087hecxk2jqh4ao8cc9fdm
Thể loại:Danh từ tiếng Araweté
14
419688
2569361
2026-10-09T14:00:38Z
TheHighFighter2
42988
Trang mới: “{{auto cat}}”
2569361
wikitext
text/x-wiki
{{auto cat}}
eomzlm5v4j7ond1phrju7cnue91g5qx
Bản mẫu:R:awt:Solano, 2009
10
419689
2569362
2026-10-09T14:04:15Z
TheHighFighter2
42988
Trang mới: “{{#invoke:quote|call_template |template=cite-book |pt |last=Solano |first=Eliete de Jesus Bararuá |year=2009 |title=Descrição gramatical da Língua Araweté<t:Mô tả ngữ pháp ngôn ngữ Araweté> |location=Brasília |publisher=UnB |pageparam=1 |pageurl=https://repositorio.unb.br/bitstream/10482/5237/1/TESE%20ELIETE%20SOLANO.pdf#page={{#expr:{{{page|}}}-1}}}}<noinclude>{{documentation}}</noinclude>”
2569362
wikitext
text/x-wiki
{{#invoke:quote|call_template
|template=cite-book
|pt
|last=Solano
|first=Eliete de Jesus Bararuá
|year=2009
|title=Descrição gramatical da Língua Araweté<t:Mô tả ngữ pháp ngôn ngữ Araweté>
|location=Brasília
|publisher=UnB
|pageparam=1
|pageurl=https://repositorio.unb.br/bitstream/10482/5237/1/TESE%20ELIETE%20SOLANO.pdf#page={{#expr:{{{page|}}}-1}}}}<noinclude>{{documentation}}</noinclude>
rdz4v92gmyt9xkpwe00rtneuvz641u1
Bản mẫu:R:awt:Alves, 2008
10
419690
2569363
2026-10-09T14:09:34Z
TheHighFighter2
42988
Trang mới: “{{#invoke:quote|call_template |template=cite-book |pt |last=Alves |first=Juliana Ferreira |year=2008 |title=Fonética e fonologia da lingua Araweté: uma nova contribuição<t:Ngữ âm học và âm vị học tiếng Araweté: một đóng góp mới> |location=Brasília |publisher=UnB |pageparam=1 |pageurl=https://repositorio.unb.br/bitstream/10482/3582/1/2008_JulianaFerreiraAlves.pdf#page={{{page|}}}}}<noinclude>{{documentation}}</noinclude>”
2569363
wikitext
text/x-wiki
{{#invoke:quote|call_template
|template=cite-book
|pt
|last=Alves
|first=Juliana Ferreira
|year=2008
|title=Fonética e fonologia da lingua Araweté: uma nova contribuição<t:Ngữ âm học và âm vị học tiếng Araweté: một đóng góp mới>
|location=Brasília
|publisher=UnB
|pageparam=1
|pageurl=https://repositorio.unb.br/bitstream/10482/3582/1/2008_JulianaFerreiraAlves.pdf#page={{{page|}}}}}<noinclude>{{documentation}}</noinclude>
t3qko16cu5pb5m3vxtnrlgjsxh75fbf
axaʼɨ
0
419691
2569364
2026-10-09T14:21:44Z
TheHighFighter2
42988
Trang mới: “{{also|axai}} =={{langname|awt}}== ==={{ĐM|etym}}=== {{etymon|awt|:inh|tup-gua-pro:*wat͡saʔi<id:acai>|text=++|id=acai}} ==={{ĐM|pron}}=== * {{IPA|awt|/at͡ʃaˈ(ʔ)ɨ/}} * {{rhyme|awt|ɨ|s=3}} * {{hyph|awt|a|xa|ʼɨ}} ==={{ĐM|noun}}=== {{head|awt|noun}} # Quả [[acai]]. ==={{ĐM|ref}}=== * {{R:awt:Solano, 2009|65}} {{C|awt|Trái cây}}”
2569364
wikitext
text/x-wiki
{{also|axai}}
=={{langname|awt}}==
==={{ĐM|etym}}===
{{etymon|awt|:inh|tup-gua-pro:*wat͡saʔi<id:acai>|text=++|id=acai}}
==={{ĐM|pron}}===
* {{IPA|awt|/at͡ʃaˈ(ʔ)ɨ/}}
* {{rhyme|awt|ɨ|s=3}}
* {{hyph|awt|a|xa|ʼɨ}}
==={{ĐM|noun}}===
{{head|awt|noun}}
# Quả [[acai]].
==={{ĐM|ref}}===
* {{R:awt:Solano, 2009|65}}
{{C|awt|Trái cây}}
9iy28cio2kbfuvrzxm1tr2wddbzatit
សិទ្ធិមនុស្ស
0
419692
2569365
2026-10-09T14:22:19Z
Hiyuune
50834
+ km
2569365
wikitext
text/x-wiki
=={{langname|km}}==
==={{section|etym}}===
{{com|km|សិទ្ធិ|មនុស្ស}}
==={{section|pron}}===
{{km-IPA|សិទ្ធិ មនុស}}
==={{section|n}}===
{{km-noun}}
# [[nhân quyền]].
qipxzuaa16plkdufcnt31hppsctfaqn
ܙܕܩܐ ܐܢܫܝܐ
0
419693
2569366
2026-10-09T14:26:24Z
Hiyuune
50834
Trang mới: “=={{langname|aii}}== ==={{section|pron}}=== * {{IPA|aii|[zɪð.qɑː‿nɑːʃɑːjɑː]|a=tiêu chuẩn|aa=số ít}} * {{IPA|aii|[zɪð.qeː‿nɑːʃɑːjeː]|a=tiêu chuẩn|aa=số nhiều}} ==={{section|n}}=== {{aii-noun|[[ܙܸܕ݂ܩܵܐ]] [[ܐ݇ܢܵܫܵܝܵܐ]]|m|pl=ܙܸܕ݂ܩܹ̈ܐ ܐ݇ܢܵܫܵܝܹ̈ܐ}} # [[nhân quyền]]. #: {{uxa|aii|ܗ̇ܘ ܝܠܹܗ ܥܵܒ݂ܘܿܕ݂ܵܝܵܐ ܕ'''ܙܸܕ݂ܩܹ̈ܐ ܐ݇ܢܵܫܵܝܹ̈ܐ'''|subst=ܥܵܒ݂ܘܿܕ݂ܵܝܵܐ ܕ//ܥ…”
2569366
wikitext
text/x-wiki
=={{langname|aii}}==
==={{section|pron}}===
* {{IPA|aii|[zɪð.qɑː‿nɑːʃɑːjɑː]|a=tiêu chuẩn|aa=số ít}}
* {{IPA|aii|[zɪð.qeː‿nɑːʃɑːjeː]|a=tiêu chuẩn|aa=số nhiều}}
==={{section|n}}===
{{aii-noun|[[ܙܸܕ݂ܩܵܐ]] [[ܐ݇ܢܵܫܵܝܵܐ]]|m|pl=ܙܸܕ݂ܩܹ̈ܐ ܐ݇ܢܵܫܵܝܹ̈ܐ}}
# [[nhân quyền]].
#: {{uxa|aii|ܗ̇ܘ ܝܠܹܗ ܥܵܒ݂ܘܿܕ݂ܵܝܵܐ ܕ'''ܙܸܕ݂ܩܹ̈ܐ ܐ݇ܢܵܫܵܝܹ̈ܐ'''|subst=ܥܵܒ݂ܘܿܕ݂ܵܝܵܐ ܕ//ܥܵܒ݂ܘܿܕ݂ܵܝܵܐ ܕ-|Anh ấy là một nhà hoạt động '''nhân quyền'''.}}
===={{section|usage}}====
* Dạng số nhiều thường phổ biến hơn so với dạng số ít.
===={{section|rel}}====
* {{l|aii|ܙܸܕ݂ܩܹ̈ܐ ܚܲܝ݇ܘܬ݂ܵܢܵܝܹ̈ܐ|t=quyền động vật}}
* {{l|aii|ܙܸܕ݂ܩܹ̈ܐ ܡܕ݂ܝܼܢܵܝܹ̈ܐ|t=quyền dân sự}}
2wjmv3254s7zxifbglkc2p8905059mk
Thể loại:Mục từ có ví dụ cách sử dụng tiếng Tân Aram Assyria
14
419694
2569367
2026-10-09T14:26:49Z
Hiyuune
50834
Trang mới: “{{auto cat}}”
2569367
wikitext
text/x-wiki
{{auto cat}}
eomzlm5v4j7ond1phrju7cnue91g5qx
reálné číslo
0
419695
2569369
2026-10-09T14:59:44Z
Kelly zhrm
58416
Trang mới: “=={{langname|cs}}== ==={{ĐM|pron}}=== * {{cs-IPA}} ==={{ĐM|n}}=== {{cs-noun|n|head=[[reálný|reálné]] [[číslo]]}} # {{lb|cs|mathematics}} [[số thực|Số thực]]. ===={{ĐM|decl}}==== {{cs-ndecl|[[reálný|reálné]]<+> číslo<n.loce:u>}}”
2569369
wikitext
text/x-wiki
=={{langname|cs}}==
==={{ĐM|pron}}===
* {{cs-IPA}}
==={{ĐM|n}}===
{{cs-noun|n|head=[[reálný|reálné]] [[číslo]]}}
# {{lb|cs|mathematics}} [[số thực|Số thực]].
===={{ĐM|decl}}====
{{cs-ndecl|[[reálný|reálné]]<+> číslo<n.loce:u>}}
di5ansoyprmc9748z9jfcv26ucsd4yw
loa phóng thanh
0
419696
2569370
2026-10-09T15:06:27Z
TienMinh-mun6xnChing
57893
/* */
2569370
wikitext
text/x-wiki
=={{langname|vi}}==
{{wikipedia|Loa phóng thanh}}
==={{section|pron}}===
{{vi-pron}}
==={{section|n}}===
{{vi-noun}}
# Loại [[loa]] chuyên dụng âm lượng lớn.
0b0x06f7wqge6kbj33m01okkgx97w4a
2569406
2569370
2026-10-09T15:52:33Z
Hiyuune
50834
/* Tiếng Việt */ (sử dụng [[MediaWiki:Gadget-AjaxEdit.js|AjaxEdit]])
2569406
wikitext
text/x-wiki
=={{langname|vi}}==
{{wikipedia}}
==={{section|pron}}===
{{vi-pron}}
==={{section|n}}===
{{vi-noun|head=[[loa]] [[phát thanh]]}}
# Loại [[loa]] chuyên dụng âm lượng lớn.
f0yqc0nkn77rupio5t91y5zddntgj59
loa phát thanh
0
419697
2569371
2026-10-09T15:08:22Z
TienMinh-mun6xnChing
57893
/* */
2569371
wikitext
text/x-wiki
=={{langname|vi}}==
==={{section|pron}}===
{{vi-pron}}
==={{section|n}}===
{{vi-noun}}
# {{like-entry|loa phóng thanh}}.
8m03binglg6iulilb900by16tnt7dc5
2569438
2569371
2026-10-10T07:04:46Z
Hiyuune
50834
/* Tiếng Việt */ (sử dụng [[MediaWiki:Gadget-AjaxEdit.js|AjaxEdit]])
2569438
wikitext
text/x-wiki
=={{langname|vi}}==
==={{section|pron}}===
{{vi-pron}}
==={{section|n}}===
{{vi-noun|head=[[loa]] [[phát thanh]]}}
# {{like-entry|loa phóng thanh}}.
gk59fz2akuvv4jjqd04btlagmhmdyk1
phòng vệ chính đáng
0
419698
2569372
2026-10-09T15:12:39Z
TienMinh-mun6xnChing
57893
/* */
2569372
wikitext
text/x-wiki
=={{langname|vi}}==
==={{section|pron}}===
{{vi-pron}}
==={{section|v}}===
{{vi-verb}}
# [[hành động|Hành động]] chống trả mang tính [[quyết liệt]] đối với người gây ảnh hưởng đến [[lợi ích]] [[thiết thực]] hay người dùng [[vũ lực]], [[đe dọa]] đến [[tính mạng]].
ophdd0do5644qcpte1hena3v15h5f0h
2569373
2569372
2026-10-09T15:15:30Z
TienMinh-mun6xnChing
57893
/* Động từ */
2569373
wikitext
text/x-wiki
=={{langname|vi}}==
==={{section|pron}}===
{{vi-pron}}
==={{section|n}}===
{{vi-noun}}
# [[hành động|Hành động]] chống trả mang tính [[quyết liệt]] đối với người gây ảnh hưởng đến [[lợi ích]] [[thiết thực]] hay người dùng [[vũ lực]] [[đe dọa]] đến [[tính mạng]], người có hành động này thường được [[miễn trừ]] [[trách nhiệm]] [[hình sự]].
6rvvgejxmtfyjrpv1fdli4oxw3ttskb
2569375
2569373
2026-10-09T15:16:05Z
TienMinh-mun6xnChing
57893
2569375
wikitext
text/x-wiki
=={{langname|vi}}==
==={{section|pron}}===
{{vi-pron}}
==={{section|n}}===
{{vi-noun}}
# [[hành động|Hành động]] chống trả mang tính [[quyết liệt]] đối với người gây ảnh hưởng đến [[lợi ích]] [[thiết thực]] đến mình hay người dùng [[vũ lực]] [[đe dọa]] đến [[tính mạng]], người có hành động này thường được [[miễn trừ]] [[trách nhiệm]] [[hình sự]].
b8qgsxd455xtmiesdfymtumcac2jqu6
2569376
2569375
2026-10-09T15:17:39Z
TienMinh-mun6xnChing
57893
/* Danh từ */
2569376
wikitext
text/x-wiki
=={{langname|vi}}==
==={{section|pron}}===
{{vi-pron}}
==={{section|n}}===
{{vi-noun}}
# [[hành động|Hành động]] chống trả mang tính [[thiết thực]], [[quyết liệt]] đối với người gây ảnh hưởng đến [[quyền lợi]], [[lợi ích]] [[hợp pháp]] của mình hay người dùng [[vũ lực]] [[đe dọa]] đến [[tính mạng]], người có hành động này thường được [[miễn trừ]] [[trách nhiệm]] [[hình sự]].
dcio174wl7obqon7c0985skgn95h1yq
2569380
2569376
2026-10-09T15:19:57Z
TienMinh-mun6xnChing
57893
2569380
wikitext
text/x-wiki
=={{langname|vi}}==
==={{section|pron}}===
{{vi-pron}}
==={{section|n}}===
{{vi-noun}}
# [[hành động|Hành động]] chống trả mang tính [[thiết thực]], [[quyết liệt]] đối với người gây ảnh hưởng đến [[quyền lợi]], [[lợi ích]] [[hợp pháp]] của mình hay người dùng [[vũ lực]] [[đe dọa]] đến [[tính mạng]], người có hành động này thường được [[miễn trừ]] [[trách nhiệm]] [[hình sự]].
#: {{syn|vi|phòng thân}}
5ek7a42w6a01xom990q6e4d4kj0m8id
2569398
2569380
2026-10-09T15:43:16Z
TienMinh-mun6xnChing
57893
2569398
wikitext
text/x-wiki
=={{langname|vi}}==
==={{section|pron}}===
{{vi-pron}}
==={{section|v}}===
{{vi-verb}}
# [[hành động|Hành động]] chống trả mang tính [[thiết thực]], [[quyết liệt]] đối với người gây ảnh hưởng đến [[quyền lợi]], [[lợi ích]] [[hợp pháp]] của mình hay người dùng [[vũ lực]] [[đe dọa]] đến [[tính mạng]], người có hành động này thường được [[miễn trừ]] [[trách nhiệm]] [[hình sự]].
#: {{syn|vi|phòng thân}}
lkoic4ha5j3nfk8xqnlgq5c5of1mtfm
2569437
2569398
2026-10-10T04:13:47Z
Hiyuune
50834
/* Tiếng Việt */ (sử dụng [[MediaWiki:Gadget-AjaxEdit.js|AjaxEdit]])
2569437
wikitext
text/x-wiki
=={{langname|vi}}==
==={{section|pron}}===
{{vi-pron}}
==={{section|v}}===
{{vi-verb|head=[[phòng vệ]] [[chính đáng]]}}
# [[hành động|Hành động]] chống trả mang tính [[thiết thực]], [[quyết liệt]] đối với người gây ảnh hưởng đến [[quyền lợi]], [[lợi ích]] [[hợp pháp]] của mình hay người dùng [[vũ lực]] [[đe dọa]] đến [[tính mạng]], người có hành động này thường được [[miễn trừ]] [[trách nhiệm]] [[hình sự]].
#: {{syn|vi|phòng thân}}
rlrnjj0hrff3e0377p6jn498urry487
xùn
0
419699
2569382
2026-10-09T15:22:41Z
Hiyuune
50834
Trang mới: “{{also|xun|xún|xūn|x̱'ún}} =={{langname|cmn}}== ==={{section|rom}}=== {{cmn-pinyin}} # {{cmn-pinyin of|伨}} # {{cmn-pinyin of|侚}} # {{cmn-pinyin of|噀}} # {{cmn-pinyin of|圿}} # {{cmn-pinyin of|埈}} # {{cmn-pinyin of|壞}} # {{cmn-pinyin of|奞}} # {{cmn-pinyin of|孜}} # {{cmn-pinyin of|巺}} # {{cmn-pinyin of|巽}} # {{cmn-pinyin of|徆}} # {{cmn-pinyin of|徇}} # {{cmn-pinyin of|愭}} # {{cmn-pinyin of|梭}} # {{cmn-pinyin of|殉}} # {{cmn-pinyin of|汛}} #…”
2569382
wikitext
text/x-wiki
{{also|xun|xún|xūn|x̱'ún}}
=={{langname|cmn}}==
==={{section|rom}}===
{{cmn-pinyin}}
# {{cmn-pinyin of|伨}}
# {{cmn-pinyin of|侚}}
# {{cmn-pinyin of|噀}}
# {{cmn-pinyin of|圿}}
# {{cmn-pinyin of|埈}}
# {{cmn-pinyin of|壞}}
# {{cmn-pinyin of|奞}}
# {{cmn-pinyin of|孜}}
# {{cmn-pinyin of|巺}}
# {{cmn-pinyin of|巽}}
# {{cmn-pinyin of|徆}}
# {{cmn-pinyin of|徇}}
# {{cmn-pinyin of|愭}}
# {{cmn-pinyin of|梭}}
# {{cmn-pinyin of|殉}}
# {{cmn-pinyin of|汛}}
# {{cmn-pinyin of|洒}}
# {{cmn-pinyin of|浒}}
# {{cmn-pinyin of|熆}}
# {{cmn-pinyin of|爋}}
# {{cmn-pinyin of|狥}}
# {{cmn-pinyin of|狹}}
# {{cmn-pinyin of|蕈}}
# {{cmn-pinyin of|訊}}
# {{cmn-pinyin of|訓}}
# {{cmn-pinyin of|訙}}
# {{cmn-pinyin of|训}}
# {{cmn-pinyin of|讯}}
# {{cmn-pinyin of|賐}}
# {{cmn-pinyin of|迅}}
# {{cmn-pinyin of|迿}}
# {{cmn-pinyin of|逊}}
# {{cmn-pinyin of|逡}}
# {{cmn-pinyin of|遜}}
# {{cmn-pinyin of|鑂}}
# {{cmn-pinyin of|鑥}}
# {{cmn-pinyin of|陖}}
# {{cmn-pinyin of|韗}}
# {{cmn-pinyin of|顨}}
# {{cmn-pinyin of|馲}}
# {{cmn-pinyin of|驯}}
# {{cmn-pinyin of|鵔}}
# {{cmn-pinyin of|鵕}}
1tsz5t16va33ddcusgdml0xgomu24en
Callorhinus ursinus
0
419700
2569383
2026-10-09T15:25:39Z
Hiyuune
50834
Trang mới: “=={{langname|mul}}== [[File:Alaska 2007 056.jpg|thumb|''[[Callorhinus ursinus]]'']] ==={{section|pr-noun}}=== {{taxoninfl|head=[[Callorhinus]] {{epinew|ursinus||la}}|i=1|g=m}} # {{taxon|loài|họ|Otariidae|{{w|Hải cẩu lông mao bắc Thái Bình Dương}}}} ===={{section|syn}}==== * {{sense|loài}} {{taxlink|Phoca ursina|loài}} - original scientific name; {{taxlink|Arctocephalus ursinus|loài}}, {{taxlink|Callorhinus alascanus|loài}}, {{taxlink|Callorhinus…”
2569383
wikitext
text/x-wiki
=={{langname|mul}}==
[[File:Alaska 2007 056.jpg|thumb|''[[Callorhinus ursinus]]'']]
==={{section|pr-noun}}===
{{taxoninfl|head=[[Callorhinus]] {{epinew|ursinus||la}}|i=1|g=m}}
# {{taxon|loài|họ|Otariidae|{{w|Hải cẩu lông mao bắc Thái Bình Dương}}}}
===={{section|syn}}====
* {{sense|loài}} {{taxlink|Phoca ursina|loài}} - original scientific name; {{taxlink|Arctocephalus ursinus|loài}}, {{taxlink|Callorhinus alascanus|loài}}, {{taxlink|Callorhinus californianus|loài}}, {{taxlink|Callorhinus curilensis|loài}}, {{taxlink|Callorhinus cynocephala|loài}}, {{taxlink|Callorhinus krachenninikowii|loài}}, {{taxlink|Callorhinus mimica|loài}}, {{taxlink|Callorhinus nigra|loài}} - junior synonyms
==={{section|further}}===
* {{pedia|Hải cẩu lông mao bắc Thái Bình Dương}}
* {{specieslite|i=1}}
* {{comcatlite|i=1}}
* {{R:ITIS|180627}}
* {{R:EOL|328618}}
* {{R:NCBI|34884}}
* {{R:Animal Diversity Web|Callorhinus_ursinus}}
* {{R:WoRMS|254997}}
* {{R:Mammals|14001009}}
* {{R:AnimalBase|speciestaxon|344}}
* {{R:Fossilworks|72012}}
i5wyl3tnkzkbwf0q5tlsl2njpdnynvm
2569462
2569383
2026-10-10T10:56:39Z
TheHighFighter2
42988
/* Đa ngữ */
2569462
wikitext
text/x-wiki
=={{langname|mul}}==
[[File:Alaska 2007 056.jpg|thumb|''[[Callorhinus ursinus]]'']]
==={{section|pr-noun}}===
{{taxoninfl|head=[[Callorhinus]] {{epinew|ursinus||la}}|i=1|g=m}}
# {{taxon|loài|họ|Otariidae|{{w|hải cẩu lông mao bắc Thái Bình Dương}}}}
===={{section|syn}}====
* {{sense|loài}} {{taxlink|Phoca ursina|loài}} - tên khoa học gốc; {{taxlink|Arctocephalus ursinus|loài}}, {{taxlink|Callorhinus alascanus|loài}}, {{taxlink|Callorhinus californianus|loài}}, {{taxlink|Callorhinus curilensis|loài}}, {{taxlink|Callorhinus cynocephala|loài}}, {{taxlink|Callorhinus krachenninikowii|loài}}, {{taxlink|Callorhinus mimica|loài}}, {{taxlink|Callorhinus nigra|loài}} - đồng nghĩa muộn
==={{section|further}}===
* {{pedia|Hải cẩu lông mao bắc Thái Bình Dương}}
* {{specieslite|i=1}}
* {{comcatlite|i=1}}
* {{R:ITIS|180627}}
* {{R:EOL|328618}}
* {{R:NCBI|34884}}
* {{R:Animal Diversity Web|Callorhinus_ursinus}}
* {{R:WoRMS|254997}}
* {{R:Mammals|14001009}}
* {{R:AnimalBase|speciestaxon|344}}
* {{R:Fossilworks|72012}}
qd0xyoyjvlnoebg1odtwqo65j0813ku
tình thế cấp thiết
0
419701
2569384
2026-10-09T15:26:13Z
TienMinh-mun6xnChing
57893
/* */
2569384
wikitext
text/x-wiki
=={{langname|vi}}==
==={{section|pron}}===
{{vi-pron}}
==={{section|n}}===
{{vi-noun}}
# Hành vi gây nên [[thiệt hại]] nhưng nhằm ngăn chặn [[nguy cơ]] [[ảnh hưởng]] đến [[quyền lợi]], [[lợi ích]] [[hợp pháp]] của mình, thường dẫn đến [[xung đột]] lợi ích.
n0w15isec3uhqsb0po01np5vq54o949
2569399
2569384
2026-10-09T15:43:50Z
TienMinh-mun6xnChing
57893
/* Định nghĩa */
2569399
wikitext
text/x-wiki
=={{langname|vi}}==
==={{section|pron}}===
{{vi-pron}}
==={{section|dfn}}===
{{vi-dfn}}
# Hành vi gây nên [[thiệt hại]] nhưng nhằm ngăn chặn [[nguy cơ]] [[ảnh hưởng]] đến [[quyền lợi]], [[lợi ích]] [[hợp pháp]] của mình, thường dẫn đến [[xung đột]] lợi ích.
jfa8x64eb9wlu3rerlqzjaeutb4yfqy
2569400
2569399
2026-10-09T15:43:58Z
TienMinh-mun6xnChing
57893
2569400
wikitext
text/x-wiki
=={{langname|vi}}==
==={{section|pron}}===
{{vi-pron}}
==={{section|dfn}}===
{{pn}}
# Hành vi gây nên [[thiệt hại]] nhưng nhằm ngăn chặn [[nguy cơ]] [[ảnh hưởng]] đến [[quyền lợi]], [[lợi ích]] [[hợp pháp]] của mình, thường dẫn đến [[xung đột]] lợi ích.
n07vvbtwr178ue9djdnbl7wvjohrh12
2569435
2569400
2026-10-10T04:12:50Z
Hiyuune
50834
tất cả mục từ đều bắt buộc phải có headword
2569435
wikitext
text/x-wiki
=={{langname|vi}}==
==={{section|pron}}===
{{vi-pron}}
==={{section|dfn}}===
{{vi-noun|head=[[tình thế]] [[cấp thiết]]}}
# Hành vi gây nên [[thiệt hại]] nhưng nhằm ngăn chặn [[nguy cơ]] [[ảnh hưởng]] đến [[quyền lợi]], [[lợi ích]] [[hợp pháp]] của mình, thường dẫn đến [[xung đột]] lợi ích.
ghrkcbqxmx2thbyy4xmbtelt2zucc4n
2569436
2569435
2026-10-10T04:13:20Z
Hiyuune
50834
/* {{section|dfn}} */
2569436
wikitext
text/x-wiki
=={{langname|vi}}==
==={{section|pron}}===
{{vi-pron}}
==={{section|n}}===
{{vi-noun|head=[[tình thế]] [[cấp thiết]]}}
# Hành vi gây nên [[thiệt hại]] nhưng nhằm ngăn chặn [[nguy cơ]] [[ảnh hưởng]] đến [[quyền lợi]], [[lợi ích]] [[hợp pháp]] của mình, thường dẫn đến [[xung đột]] lợi ích.
ssaq7rn6ed015zg3obm0xhjqaw6d6qd
xung đột lợi ích
0
419702
2569386
2026-10-09T15:27:43Z
TienMinh-mun6xnChing
57893
/* */
2569386
wikitext
text/x-wiki
=={{langname|vi}}==
==={{section|pron}}===
{{vi-pron}}
==={{section|n}}===
{{vi-noun}}
# {{see-entry|tình thế cấp thiết}}.
mcf7rf5pfmxnwzl3bu6wpd4wuf3xx82
2569387
2569386
2026-10-09T15:29:48Z
TienMinh-mun6xnChing
57893
/* Tiếng Việt */
2569387
wikitext
text/x-wiki
=={{langname|vi}}==
{{wikipedia|Xung đột lợi ích}}
==={{section|pron}}===
{{vi-pron}}
==={{section|n}}===
{{vi-noun}}
# {{see-entry|tình thế cấp thiết}}.
kuhe7q4hrm7rhpvuaylgsgbcur50bsx
2569401
2569387
2026-10-09T15:44:30Z
TienMinh-mun6xnChing
57893
2569401
wikitext
text/x-wiki
=={{langname|vi}}==
{{wikipedia|Xung đột lợi ích}}
==={{section|pron}}===
{{vi-pron}}
==={{section|dfn}}===
{{pn}}
# {{see-entry|tình thế cấp thiết}}.
ldlbi89a3j63cxq5bt18s39gv0vzrqh
2569434
2569401
2026-10-10T04:12:13Z
Hiyuune
50834
/* Tiếng Việt */ (sử dụng [[MediaWiki:Gadget-AjaxEdit.js|AjaxEdit]])
2569434
wikitext
text/x-wiki
=={{langname|vi}}==
{{wikipedia}}
==={{section|pron}}===
{{vi-pron}}
==={{section|n}}===
{{vi-noun|head=[[xung đột]] [[lợi ích]]}}
# {{see-entry|tình thế cấp thiết}}.
b1bg18liazt6uvpv8flqs1zxrpxhtqg
𬙾
0
419703
2569391
2026-10-09T15:36:36Z
Hiyuune
50834
Trang mới: “{{character info}} =={{langname|mul}}== ==={{ĐM|han}}=== {{Han char|rn=123|rad=羊|as=12|sn=18|four=|canj=|ids=⿰美枼}} ===={{ĐM|ref}}==== {{Han ref|uh=2C67E}} =={{langname|vi}}== ==={{ĐM|glyph origin}}=== {{Han compound|lang=vi|ls=psc|美|枼|tr={{vi-l|đẹp}}|c1=s|t1=[[đẹp]]|c2=p|tr2={{vi-l|điệp}}}}. ==={{ĐM|han}}=== {{vi-readings |rs=羊12 |nom=đẹp-tdcndg;tdcntd;btcn }} # {{vi-Nom form of|đẹp}} ==={{ĐM|ref}}=== <references/>”
2569391
wikitext
text/x-wiki
{{character info}}
=={{langname|mul}}==
==={{ĐM|han}}===
{{Han char|rn=123|rad=羊|as=12|sn=18|four=|canj=|ids=⿰美枼}}
===={{ĐM|ref}}====
{{Han ref|uh=2C67E}}
=={{langname|vi}}==
==={{ĐM|glyph origin}}===
{{Han compound|lang=vi|ls=psc|美|枼|tr={{vi-l|đẹp}}|c1=s|t1=[[đẹp]]|c2=p|tr2={{vi-l|điệp}}}}.
==={{ĐM|han}}===
{{vi-readings
|rs=羊12
|nom=đẹp-tdcndg;tdcntd;btcn
}}
# {{vi-Nom form of|đẹp}}
==={{ĐM|ref}}===
<references/>
efz2353oeksayhd74ihe9y5olfz634k
hoorde
0
419704
2569392
2026-10-09T15:38:52Z
Hiyuune
50834
Trang mới: “=={{langname|nl}}== ==={{section|pron}}=== * {{audio|nl|Nl-hoorde.ogg}} ==={{section|v}}=== {{head|nl|vf}} # {{infl of|nl|horen||past-sg}} =={{langname|dum}}== ==={{section|v}}=== {{head|dum|vf|head=hôorde}} # {{inflection of|dum|hôren||indc//subj|past|ở|1//3|s}}”
2569392
wikitext
text/x-wiki
=={{langname|nl}}==
==={{section|pron}}===
* {{audio|nl|Nl-hoorde.ogg}}
==={{section|v}}===
{{head|nl|vf}}
# {{infl of|nl|horen||past-sg}}
=={{langname|dum}}==
==={{section|v}}===
{{head|dum|vf|head=hôorde}}
# {{inflection of|dum|hôren||indc//subj|past|ở|1//3|s}}
s1u89wbr26e32ddtp3dc3dr8ki5at11
Thể loại:Biến thể hình thái động từ tiếng Hà Lan trung đại
14
419705
2569393
2026-10-09T15:39:38Z
Hiyuune
50834
Trang mới: “{{auto cat}}”
2569393
wikitext
text/x-wiki
{{auto cat}}
eomzlm5v4j7ond1phrju7cnue91g5qx
Thể loại:Mục từ biến thể hình thái tiếng Hà Lan trung đại
14
419706
2569394
2026-10-09T15:39:53Z
Hiyuune
50834
Trang mới: “{{auto cat}}”
2569394
wikitext
text/x-wiki
{{auto cat}}
eomzlm5v4j7ond1phrju7cnue91g5qx
dân quân tự vệ
0
419707
2569408
2026-10-09T15:54:34Z
TienMinh-mun6xnChing
57893
/* */
2569408
wikitext
text/x-wiki
=={{langname|vi}}==
{{wikipedia|Dân quân tự vệ (Việt Nam)}}
==={{section|pron}}===
{{vi-pron}}
==={{section|n}}===
{{vi-noun}}
# {{lb|vi|quân sự}} [[phòng tuyến|Phòng tuyến]] huy động [[quần chúng]] [[bảo vệ]] đất nước, là một phần của [[lực lượng]] vũ trang [[nhân dân]] [[Việt Nam]].
gj9nou1sc3izulexyj8uxxmheph8ts7
2569432
2569408
2026-10-10T04:10:00Z
Hiyuune
50834
/* Tiếng Việt */ (sử dụng [[MediaWiki:Gadget-AjaxEdit.js|AjaxEdit]])
2569432
wikitext
text/x-wiki
=={{langname|vi}}==
{{wikipedia|+ (Việt Nam)}}
==={{section|pron}}===
{{vi-pron}}
==={{section|n}}===
{{vi-noun|head=[[dân quân]] [[tự vệ]]}}
# {{lb|vi|quân sự}} [[phòng tuyến|Phòng tuyến]] huy động [[quần chúng]] [[bảo vệ]] đất nước, là một phần của [[lực lượng]] vũ trang [[nhân dân]] [[Việt Nam]].
25s0nduejm348ysmuaenru9nw1owgn0
dân quân thường trực
0
419708
2569412
2026-10-09T15:58:15Z
TienMinh-mun6xnChing
57893
/* */
2569412
wikitext
text/x-wiki
=={{langname|vi}}==
==={{section|pron}}===
{{vi-pron}}
==={{section|n}}===
{{vi-noun}}
# {{like-entry|dân quân tự vệ}}.
nhl9ejoe4xotpfxhu3nn3vg8cjpu7a6
2569433
2569412
2026-10-10T04:11:06Z
Hiyuune
50834
/* Tiếng Việt */ (sử dụng [[MediaWiki:Gadget-AjaxEdit.js|AjaxEdit]])
2569433
wikitext
text/x-wiki
=={{langname|vi}}==
==={{section|pron}}===
{{vi-pron}}
==={{section|n}}===
{{vi-noun|head=[[dân quân]] [[thường trực]]}}
# {{like-entry|dân quân tự vệ}}.
hz4oyc91cglx6bztjns3nefkrz2g57r
2569461
2569433
2026-10-10T10:17:53Z
TheHighFighter2
42988
/* Tiếng Việt */ DQTT là lực lượng thuộc DQTV, nó không phải là "như DQTV"
2569461
wikitext
text/x-wiki
=={{langname|vi}}==
==={{ĐM|etym}}===
Từ {{ghép|vi|dân quân|thường trực}}.
==={{section|pron}}===
{{vi-pron}}
==={{section|n}}===
{{vi-noun|head=[[dân quân]] [[thường trực]]}}
# Một [[lực lượng]] thuộc [[dân quân tự vệ]].
gvwj66r1wr3ivp1yf33b0u6p9u5rkwr
𑚠
0
419709
2569416
2026-10-09T17:13:41Z
Lcsnes
40261
Trang mới: “{{cảnh báo Unicode}} {{minitoc}} {{-Takr-}} {{character info}} ==={{ĐM|letter}}=== {{head|mul|Chữ cái|tr=ba}} #Chữ Takri ''ba''. =={{langname|bhd}}== {| class="floatright wikitable" style="text-align:center;" |- ! Devanagari | [[ब#Tiếng_Bhadarwah|ब]] |- ! Ả Rập | [[ب#Tiếng_Bhadarwah|ب]] |- ! Takri | {{pn}} |- |} ==={{ĐM|pron}}=== *{{IPA4|bhd|[ba]}} ==={{ĐM|letter}}=== {{head|bhd|Chữ cái|tr=ba}} #{{n-g|Chữ Takri biểu thị phụ âm '''{{IP…”
2569416
wikitext
text/x-wiki
{{cảnh báo Unicode}}
{{minitoc}}
{{-Takr-}}
{{character info}}
==={{ĐM|letter}}===
{{head|mul|Chữ cái|tr=ba}}
#Chữ Takri ''ba''.
=={{langname|bhd}}==
{| class="floatright wikitable" style="text-align:center;"
|-
! Devanagari
| [[ब#Tiếng_Bhadarwah|ब]]
|-
! Ả Rập
| [[ب#Tiếng_Bhadarwah|ب]]
|-
! Takri
| {{pn}}
|-
|}
==={{ĐM|pron}}===
*{{IPA4|bhd|[ba]}}
==={{ĐM|letter}}===
{{head|bhd|Chữ cái|tr=ba}}
#{{n-g|Chữ Takri biểu thị phụ âm '''{{IPAchar|/b/}}''' trong tiếng Bhadarwah.}}
#:{{ux|bhd|'''𑚠'''𑚖𑚴|tr='''ba'''ḍo|[[nhiều]]|inline=1}}
==={{ĐM|ref}}===
*{{Chú thích web|bhd|author=Beyond Translation|work=भड्लाई भाषाई मां पवित्र शास्त्र|year=2020|entry=1 पतरस 1|entryurl=https://www.bible.com/bible/2767/1PE.1.BHDNT}}
=={{langname|bht}}==
{| class="floatright wikitable" style="text-align:center;"
|-
! Devanagari
| [[ब#Tiếng_Bhattiyat|ब]]
|-
! Takri
| {{pn}}
|-
|}
==={{ĐM|pron}}===
*{{IPA4|bht|[ba]}}
==={{ĐM|letter}}===
{{head|bht|Chữ cái|tr=pa}}
#{{n-g|Chữ Takri biểu thị phụ âm '''{{IPAchar|/b/}}''' trong tiếng Bhattiyat.}}
#:{{ux|bht|'''𑚠'''𑚖𑚶𑚖𑚭|tr='''ba'''ḍḍā|[[to]]|inline=1}}
==={{ĐM|ref}}===
*{{Chú thích web|bht|author=Beyond Translation|work=भटियाली नोआ नियम|year=2020|entry=मत्ती 1|entryurl=https://www.bible.com/bible/3245/MAT.1.BHTNT}}
=={{langname|kfs}}==
{| class="floatright wikitable" style="text-align:center;"
|-
! Devanagari
| {{l|kfs|ब}}
|-
! Takri
| {{pn}}
|-
|}
==={{ĐM|pron}}===
*{{IPA4|kfs|[ba]}}
==={{ĐM|letter}}===
{{head|kfs|Chữ cái|tr=ba}}
#{{n-g|Phụ âm thứ 24 trong tiếng Bilaspur, viết bằng chữ Takri.}}
#:{{ux|kfs|'''𑚠𑚮'''𑚥𑚭𑚨𑚞𑚱𑚤𑚯|tr='''bi'''lāsapurī|[[:Thể loại:Tiếng Bilaspur|tiếng Bilaspur]]|inline=1}}
==={{ĐM|see}}===
*{{list helper 2|title=Chữ Takri tiếng Bilaspur|list={{l-self|kfs|𑚀}}, {{l-self|kfs|𑚁}}, {{l-self|kfs|𑚂}}, {{l-self|kfs|𑚃}}, {{l-self|kfs|𑚄}}, {{l-self|kfs|𑚅}}, {{l-self|kfs|𑚆}}, {{l-self|kfs|𑚇}}, {{l-self|kfs|𑚊}}, {{l-self|kfs|𑚋}}, {{l-self|kfs|𑚌}}, {{l-self|kfs|𑚍}}, {{l-self|kfs|𑚎}}, {{l-self|kfs|𑚏}}, {{l-self|kfs|𑚐}}, {{l-self|kfs|𑚑}}, {{l-self|kfs|𑚒}}, {{l-self|kfs|𑚓}}, {{l-self|kfs|𑚔}}, {{l-self|kfs|𑚕}}, {{l-self|kfs|𑚖}}, {{l-self|kfs|𑚪}}, {{l-self|kfs|𑚗}}, {{l-self|kfs|𑚘}}, {{l-self|kfs|𑚙}}, {{l-self|kfs|𑚚}}, {{l-self|kfs|𑚛}}, {{l-self|kfs|𑚜}}, {{l-self|kfs|𑚝}}, {{l-self|kfs|𑚞}}, {{l-self|kfs|𑚟}}, {{l-self|kfs|𑚠}}, {{l-self|kfs|𑚡}}, {{l-self|kfs|𑚢}}, {{l-self|kfs|𑚣}}, {{l-self|kfs|𑚤}}, {{l-self|kfs|𑚥}}, {{l-self|kfs|𑚦}}, {{l-self|kfs|𑚥𑚷}}, {{l-self|kfs|𑚧}}, {{l-self|kfs|𑚨}}, {{l-self|kfs|𑚩}}}}
==={{ĐM|ref}}===
*{{Chú thích web|kfs|author=The Love Fellowship|work=बिलासपुरी नौआं नियम|year=2025|entry=मत्ती 11|entryurl=https://www.bible.com/bible/2768/MAT.11.KFSNT}}
=={{langname|cdh}}==
{| class="floatright wikitable" style="text-align:center;"
|-
! Devanagari
| [[ब#Tiếng_Chamba|ब]]
|-
! Takri
| {{pn}}
|-
|}
==={{ĐM|pron}}===
*{{IPA4|cdh|[bə]}}
==={{ĐM|letter}}===
{{head|cdh|Chữ cái|tr=ba}}
#{{n-g|Phụ âm thứ 23 trong tiếng Chamba, viết bằng chữ Takri.}}
#:{{ux|cdh|𑚠𑚭𑚠𑚭|tr=bābā|[[bố]]|inline=1}}
==={{ĐM|see}}===
*{{list helper 2|title=Chữ Takri tiếng Chamba|list={{l-self|cdh|𑚀}}, {{l-self|cdh|𑚁}}, {{l-self|cdh|𑚂}}, {{l-self|cdh|𑚃}}, {{l-self|cdh|𑚄}}, {{l-self|cdh|𑚅}}, {{l-self|cdh|𑚆}}, {{l-self|cdh|𑚇}}, {{l-self|cdh|𑚈}}, {{l-self|cdh|𑚉}}, {{l-self|cdh|𑚀𑚫}}, {{l-self|cdh|𑚀𑚬}}, {{l-self|cdh|𑚊}}, {{l-self|cdh|𑚚}}/{{l-self|cdh|𑚸}}, {{l-self|cdh|𑚌}}, {{l-self|cdh|𑚍}}, {{l-self|cdh|𑚎}}, {{l-self|cdh|𑚏}}, {{l-self|cdh|𑚐}}, {{l-self|cdh|𑚑}}, {{l-self|cdh|𑚒}}, {{l-self|cdh|𑚓}}, {{l-self|cdh|𑚔}}, {{l-self|cdh|𑚕}}, {{l-self|cdh|𑚖}}, {{l-self|cdh|𑚗}}, {{l-self|cdh|𑚘}}, {{l-self|cdh|𑚙}}, {{l-self|cdh|𑚚}}, {{l-self|cdh|𑚛}}, {{l-self|cdh|𑚜}}, {{l-self|cdh|𑚝}}, {{l-self|cdh|𑚞}}, {{l-self|cdh|𑚟}}, {{l-self|cdh|𑚠}}, {{l-self|cdh|𑚡}}, {{l-self|cdh|𑚢}}, {{l-self|cdh|𑚣}}, {{l-self|cdh|𑚤}}, {{l-self|cdh|𑚥}}, {{l-self|cdh|𑚦}}, {{l-self|cdh|𑚧}}/{{l-self|cdh|𑚨𑚷}}, {{l-self|cdh|𑚋}}, {{l-self|cdh|𑚨}}, {{l-self|cdh|𑚩}}, {{l-self|cdh|𑚪}}/{{l-self|cdh|𑚖𑚷}}, {{l-self|cdh|𑚗𑚷}}, {{l-self|cdh|𑚥𑚷}}}}
==={{ĐM|ref}}===
*{{Chú thích web|author=Julia Bischoffberger|title=The ASJP Database|year=2025|work=[https://asjp.clld.org/languages/CHAMBEALI Wordlist Chambeali]}}
*{{Chú thích web|cdh|author=The Love Fellowship|work=चम्बयाली नौआ नियम|year=2025|entry=गलातियों 1|entryurl=https://www.bible.com/bible/2968/GAL.1.CDHNT}}
=={{langname|cih}}==
{| class="floatright wikitable" style="text-align:center;"
|-
! Devanagari
| [[ब#Tiếng_Chinal|ब]]
|-
! Takri
| {{pn}}
|-
|}
==={{ĐM|pron}}===
*{{IPA4|cih|[bə]}}
==={{ĐM|letter}}===
{{head|cih|Chữ cái|tr=ba}}
#{{n-g|Chữ Takri biểu thị phụ âm '''{{IPAchar|/p/}}''' trong tiếng Chinal.}}
#:{{ux|cih|'''𑚠'''𑚝|tr='''ba'''na|[[rừng]]|inline=1}}
=={{langname|cdj}}==
{| class="floatright wikitable" style="text-align:center;"
|-
! Devanagari
| [[ब#Tiếng_Churah|ब]]
|-
! Takri
| {{pn}}
|-
|}
==={{ĐM|pron}}===
*{{IPA4|cdj|[bə]}}
==={{ĐM|letter}}===
{{head|cdj|Chữ cái|tr=ba}}
#{{n-g|Chữ Takri biểu thị phụ âm '''{{IPAchar|/b/}}''' trong tiếng Churah.}}
#:{{ux|cdj|𑚥𑚭𑚢𑚶'''𑚠𑚭'''|tr=lām'''bā'''|[[dài]]|inline=1}}
==={{ĐM|ref}}===
*{{Chú thích web|cdj|author=Beyond Translation|work=चुराही नवाँ नियम|year=2020|entry=लूका 1|entryurl=https://www.bible.com/bible/3250/LUK.1.CDJNT}}
=={{langname|doi}}==
{| class="floatright wikitable" style="text-align:center;"
|-
! Devanagari
| [[ब#Tiếng_Dogri|ब]]
|-
! Takri
| {{pn}}
|-
! Dogri
| [[𑠠#Tiếng_Dogri|𑠠]]
|-
! Ả Rập
| [[ب#Tiếng_Dogri|ب]]
|-
|}
==={{ĐM|pron}}===
*{{IPA4|doi|[bə]}}
==={{ĐM|letter}}===
{{head|doi|Chữ cái|tr=ba}}
#{{n-g|Phụ âm thứ 23 trong tiếng Dogri, viết bằng chữ Takri.}}
#:{{ux|doi|'''𑚠'''𑚊𑚶𑚊𑚤𑚮|tr='''ba'''kkarī|[[dê]]|inline=1}}
==={{ĐM|see}}===
*{{list helper 2|title=Chữ Takri tiếng Dogri|list={{l-self|doi|𑚀}}, {{l-self|doi|𑚁}}, {{l-self|doi|𑚂}}, {{l-self|doi|𑚃}}, {{l-self|doi|𑚄}}, {{l-self|doi|𑚅}}, {{l-self|doi|𑚆}}, {{l-self|doi|𑚇}}, {{l-self|doi|𑚈}}, {{l-self|doi|𑚉}}, {{l-self|doi|𑚀𑚫}}, {{l-self|doi|𑚊}}, {{l-self|doi|𑚚}}, {{l-self|doi|𑚌}}, {{l-self|doi|𑚍}}, {{l-self|doi|𑚎}}, {{l-self|doi|𑚏}}, {{l-self|doi|𑚐}}, {{l-self|doi|𑚑}}, {{l-self|doi|𑚒}}, {{l-self|doi|𑚓}}, {{l-self|doi|𑚔}}, {{l-self|doi|𑚕}}, {{l-self|doi|𑚖}}, {{l-self|doi|𑚗}}, {{l-self|doi|𑚘}}, {{l-self|doi|𑚙}}, {{l-self|doi|𑚚}}, {{l-self|doi|𑚛}}, {{l-self|doi|𑚜}}, {{l-self|doi|𑚝}}, {{l-self|doi|𑚞}}, {{l-self|doi|𑚟}}, {{l-self|doi|𑚠}}, {{l-self|doi|𑚡}}, {{l-self|doi|𑚢}}, {{l-self|doi|𑚣}}, {{l-self|doi|𑚤}}, {{l-self|doi|𑚥}}, {{l-self|doi|𑚦}}, {{l-self|doi|𑚧}}, {{l-self|doi|𑚋}}, {{l-self|doi|𑚨}}, {{l-self|doi|𑚩}}, {{l-self|doi|𑚊𑚶𑚋}}, {{l-self|doi|𑚙𑚶𑚤}}, {{l-self|doi|𑚑𑚶𑚓}}, {{l-self|doi|𑚑𑚷}}, {{l-self|doi|𑚚𑚷}}, {{l-self|doi|𑚪}}, {{l-self|doi|𑚗𑚷}}, {{l-self|doi|𑚟𑚷}}}}
=={{langname|dgo}}==
{| class="floatright wikitable" style="text-align:center;"
|-
! Devanagari
| [[ब#Tiếng_Dogri_Hindi|ब]]
|-
! Takri
| {{pn}}
|-
! Ả Rập
| [[ب#Tiếng_Dogri_Hindi|ب]]
|-
|}
==={{ĐM|pron}}===
*{{IPA4|dgo|[bə]}}
==={{ĐM|letter}}===
{{head|dgo|Chữ cái|tr=ba}}
#{{n-g|Chữ Takri biểu thị phụ âm '''{{IPAchar|/b/}}''' trong tiếng Dogri Hindi.}}
#:{{ux|dgo|𑚣𑚭𑚊𑚱'''𑚠'''|tr=yākū'''ba'''|[[s:Gia-cơ|Gia-cơ]]|inline=1}}
==={{ĐM|ref}}===
*{{Chú thích web|dgo|author=The Love Fellowship|work=डोगरी नवां नियम|year=2026|entry=याकूब 1|entryurl=https://www.bible.com/bible/2958/JAS.1.DOG}}
=={{langname|gbk}}==
{| class="floatright wikitable" style="text-align:center;"
|-
! Devanagari
| [[ब#Tiếng_Gaddi|ब]]
|-
! Takri
| {{pn}}
|-
|}
==={{ĐM|pron}}===
*{{IPA4|gbk|[ba]}}
==={{ĐM|letter}}===
{{head|gbk|Chữ cái|tr=ba}}
#{{n-g|Phụ âm thứ 21 trong tiếng Gaddi, viết bằng chữ Takri.}}
#:{{ux|gbk|𑚨'''𑚠'''|tr=sa'''b'''|[[tất cả]]|inline=1}}
==={{ĐM|see}}===
*{{list helper 2|title=Chữ Takri tiếng Gaddi|list={{l-self|gbk|𑚀}}, {{l-self|gbk|𑚁}}, {{l-self|gbk|𑚂}}, {{l-self|gbk|𑚃}}, {{l-self|gbk|𑚄}}/{{l-self|gbk|𑚅}}, {{l-self|gbk|𑚆}}, {{l-self|gbk|𑚇}}, {{l-self|gbk|𑚣𑚴}}/{{l-self|gbk|𑚈}}, {{l-self|gbk|𑚉}}, {{l-self|gbk|𑚀𑚫}}, {{l-self|gbk|𑚊}}, {{l-self|gbk|𑚋}}/{{l-self|gbk|𑚸}}, {{l-self|gbk|𑚌}}, {{l-self|gbk|𑚍}}, {{l-self|gbk|𑚏}}, {{l-self|gbk|𑚐}}, {{l-self|gbk|𑚑}}, {{l-self|gbk|𑚒}}, {{l-self|gbk|𑚔}}, {{l-self|gbk|𑚕}}, {{l-self|gbk|𑚖}}, {{l-self|gbk|𑚗}}, {{l-self|gbk|𑚘}}, {{l-self|gbk|𑚙}}, {{l-self|gbk|𑚚}}, {{l-self|gbk|𑚛}}, {{l-self|gbk|𑚜}}, {{l-self|gbk|𑚝}}, {{l-self|gbk|𑚞}}, {{l-self|gbk|𑚟}}, {{l-self|gbk|𑚠}}, {{l-self|gbk|𑚡}}, {{l-self|gbk|𑚢}}, {{l-self|gbk|𑚣}}, {{l-self|gbk|𑚤}}, {{l-self|gbk|𑚥}}, {{l-self|gbk|𑚣𑚴}}/{{l-self|gbk|𑚦}}, {{l-self|gbk|𑚧}}/{{l-self|gbk|𑚨}}, {{l-self|gbk|𑚩}}, {{l-self|gbk|𑚥𑚷}}, {{l-self|gbk|𑚪}}}}
==={{ĐM|ref}}===
*{{Chú thích web|gbk|author=The Love Fellowship|work=गददी|year=2025|entry=मरकुस 1|entryurl=https://www.bible.com/bible/2959/MRK.1.GBKNT}}
=={{langname|bfu}}==
{| class="floatright wikitable" style="text-align:center;"
|-
! Devanagari
| [[ब#Tiếng_Gahri|ब]]
|-
! Takri
| {{pn}}
|-
! Tạng
| [[བ#Tiếng_Gahri|བ]]
|-
|}
==={{ĐM|pron}}===
*{{IPA4|bfu|[bə]}}
==={{ĐM|letter}}===
{{head|bfu|Chữ cái|tr=ba}}
#{{n-g|Chữ Takri biểu thị phụ âm '''{{IPAchar|/b/}}''' trong tiếng Gahri.}}
#:{{ux|bfu|'''𑚠'''𑚥|tr='''ba'''la|[[hoa hồng]]|inline=1}}
==={{ĐM|n}}===
{{head|bfu|Danh từ|tr=ba}}
#[[tường|Tường]].
=={{langname|gju}}==
{| class="floatright wikitable" style="text-align:center;"
|-
! Ả Rập
| [[ب#Tiếng_Gujar|ب]]
|-
! Devanagari
| [[ब#Tiếng_Gujar|ब]]
|-
! Takri
| {{pn}}
|-
|}
==={{ĐM|pron}}===
*{{IPA4|gju|[bə]}}
==={{ĐM|letter}}===
{{head|gju|Chữ cái|tr=ba}}
#{{n-g|Chữ Takri biểu thị phụ âm '''{{IPAchar|/b/}}''' trong tiếng Gujar.}}
#:{{ux|gju|'''𑚠𑚳'''𑚙|tr='''bai'''t|[[sậy]]|inline=1}}
==={{ĐM|ref}}===
*{{Chú thích web|editor=Dr. Rafique Anjum|work=Gojri - English - Urdu Dictionary|year=2021|publisher=SIL International|entry=ب|entryurl=https://www.webonary.org/gojri/en/browse/browse-vernacular/?key=gju&letter=%D8%A8}}
=={{langname|hii}}==
{| class="floatright wikitable" style="text-align:center;"
|-
! Devanagari
| [[ब#Tiếng_Hinduri|ब]]
|-
! Takri
| {{pn}}
|-
|}
==={{ĐM|pron}}===
*{{IPA4|hii|[ba]}}
==={{ĐM|letter}}===
{{head|hii|Chữ cái|tr=ba}}
#{{n-g|Chữ Takri biểu thị phụ âm '''{{IPAchar|/b/}}''' trong tiếng Hinduri.}}
=={{langname|jna}}==
==={{ĐM|pron}}===
*{{IPA4|jna|[ba]}}
==={{ĐM|letter}}===
{{head|jna|Chữ cái|tr=ba}}
#{{n-g|Chữ Takri biểu thị phụ âm '''{{IPAchar|/b/}}''' trong tiếng Jangshung.}}
=={{langname|xnr}}==
{| class="floatright wikitable" style="text-align:center;"
|-
! Devanagari
| [[ब#Tiếng_Kangra|ब]]
|-
! Takri
| {{pn}}
|-
|}
==={{ĐM|pron}}===
*{{IPA4|xnr|[b]}}
==={{ĐM|letter}}===
{{head|xnr|Chữ cái|tr=ba}}
#{{n-g|Chữ Takri biểu thị phụ âm '''{{IPAchar|/b/}}''' trong tiếng Kangra.}}
#:{{ux|xnr|'''𑚠'''𑚤𑚋𑚭|tr='''ba'''rkhā|[[mưa]]|inline=1}}
==={{ĐM|ref}}===
*{{Chú thích web|xnr|author=The Love Fellowship|work=काँगड़ी|year=2025|entry=मत्ती 1|entryurl=https://www.bible.com/bible/2962/MAT.1.XNR}}
=={{langname|kfk}}==
{| class="floatright wikitable" style="text-align:center;"
|-
! Takri
| {{pn}}
|-
! Devanagari
| [[ब#Tiếng_Kinnaur|ब]]
|-
! Latinh
| [[B#Tiếng_Kinnaur|B]] [[b#Tiếng_Kinnaur|b]]
|-
|}
==={{ĐM|pron}}===
*{{IPA4|kfk|[bə]}}
==={{ĐM|letter}}===
{{head|kfk|Chữ cái|tr=ba}}
#{{n-g|Chữ Takri biểu thị phụ âm '''{{IPAchar|/b/}}''' trong tiếng Kinnaur.}}
#:{{ux|kfk|'''𑚠'''𑚥𑚶|tr='''ba'''l|[[đầu]]|inline=1}}
=={{langname|kjo}}==
==={{ĐM|pron}}===
*{{IPA4|kjo|[bə]}}
==={{ĐM|letter}}===
{{head|kjo|Chữ cái|tr=ba}}
#{{n-g|Chữ Takri biểu thị phụ âm '''{{IPAchar|/b/}}''' trong tiếng Kinnaur Harija.}}
#:{{ux|kjo|'''𑚠𑚭'''𑚥|tr='''bā'''la|[[tóc]]|inline=1}}
==={{ĐM|ref}}===
*{{Chú thích web|kjo|author=New Life Computer Institute |work=Kinauri, Paharia|year=2022|entry=मत्तीयेह चेमाउन सुसमाचार 1|entryurl=https://live.bible.is/bible/KJONLC/MAT/1}}
=={{langname|kfx}}==
{| class="floatright wikitable" style="text-align:center;"
|-
! Devanagari
| [[ब#Tiếng_Kullu|ब]]
|-
! Takri
| {{pn}}
|-
|}
==={{ĐM|pron}}===
*{{IPA4|kfx|[ba]}}
==={{ĐM|letter}}===
{{head|kfx|Chữ cái|tr=ba}}
#{{n-g|Phụ âm thứ 24 trong tiếng Kullu, viết bằng chữ Takri.}}
#:{{ux|kfx|'''𑚠'''𑚌𑚶|tr='''ba'''g|[[vườn]]|inline=1}}
===={{ĐM|see}}====
*{{list helper 2|title=Chữ Takri tiếng Kullu|list={{l-self|kfx|𑚀}}, {{l-self|kfx|𑚁}}, {{l-self|kfx|𑚂}}, {{l-self|kfx|𑚃}}, {{l-self|kfx|𑚄}}, {{l-self|kfx|𑚆}}, {{l-self|kfx|𑚇}}, {{l-self|kfx|𑚈}}, {{l-self|kfx|𑚊}}, {{l-self|kfx|𑚋}}, {{l-self|kfx|𑚌}}, {{l-self|kfx|𑚍}}, {{l-self|kfx|𑚌𑚫}}, {{l-self|kfx|𑚏}}, {{l-self|kfx|𑚐}}, {{l-self|kfx|𑚑}}, {{l-self|kfx|𑚒}}, {{l-self|kfx|𑚓}}, {{l-self|kfx|𑚔}}, {{l-self|kfx|𑚕}}, {{l-self|kfx|𑚖}}, {{l-self|kfx|𑚪}}, {{l-self|kfx|𑚗}}, {{l-self|kfx|𑚘}}, {{l-self|kfx|𑚙}}, {{l-self|kfx|𑚚}}, {{l-self|kfx|𑚛}}, {{l-self|kfx|𑚜}}, {{l-self|kfx|𑚝}}, {{l-self|kfx|𑚞}}, {{l-self|kfx|𑚟}}, {{l-self|kfx|𑚠}}, {{l-self|kfx|𑚡}}, {{l-self|kfx|𑚢}}, {{l-self|kfx|𑚤}}, {{l-self|kfx|𑚥}}, {{l-self|kfx|𑚥𑚷}}, {{l-self|kfx|𑚨}}, {{l-self|kfx|𑚨}}, {{l-self|kfx|𑚩}}, {{l-self|kfx|𑚂𑚁}}/{{l-self|kfx|𑚣}}, {{l-self|kfx|𑚄𑚁}}/{{l-self|kfx|𑚦}}}}
==={{ĐM|ref}}===
*{{Chú thích sách|title=[https://pahari-languages.ru/wp-content/uploads/2023/07/Kullui-Eng-Rus-Dictionary-July2023.pdf Kullui-English-Russian Dictionary]|year=2023|publisher=Pahari languages|page=2}}
=={{langname|kfy}}==
{| class="floatright wikitable" style="text-align:center;"
|-
! Devanagari
| [[ब#Tiếng_Kumaon|ब]]
|-
! Takri
| {{pn}}
|-
|}
==={{ĐM|pron}}===
*{{IPA4|kfy|[bə]}}
==={{ĐM|letter}}===
{{head|kfy|Chữ cái|tr=ba}}
#{{n-g|Chữ Takri biểu thị phụ âm '''{{IPAchar|/b/}}''' trong tiếng Kumaon.}}
#:{{ux|kfy|'''𑚠'''𑚊𑚥𑚴|tr='''ba'''kalo|[[dày]]|inline=1}}
==={{ĐM|ref}}===
*{{Chú thích web|kfy|author=Beyond Translation|work=सोरियाली नय्या नियम|year=2020|entry=मत्ती 1|entryurl=https://www.bible.com/bible/3246/MAT.1.SORNT}}
=={{langname|lhl}}==
==={{ĐM|pron}}===
*{{IPA4|lhl|[bə]}}
==={{ĐM|letter}}===
{{head|lhl|Chữ cái|tr=ba}}
#{{n-g|Chữ Takri biểu thị phụ âm '''{{IPAchar|/b/}}''' trong tiếng Lahul Lohar.}}
=={{langname|mjl}}==
{| class="floatright wikitable" style="text-align:center;"
|-
! Devanagari
| [[ब#Tiếng_Mandi|ब]]
|-
! Takri
| {{pn}}
|-
|}
==={{ĐM|pron}}===
*{{IPA4|mjl|[ba]}}
==={{ĐM|letter}}===
{{head|mjl|Chữ cái|tr=ba}}
#{{n-g|Phụ âm thứ 21 trong tiếng Mandi, viết bằng chữ Takri.}}
#:{{ux|mjl|'''𑚠'''𑚝𑚩𑚶𑚘𑚰|tr='''ba'''nhṇu|[[buộc]]|inline=1}}
==={{ĐM|see}}===
*{{list helper 2|title=Chữ Takri tiếng Mandi|list={{l-self|mjl|𑚀}}, {{l-self|mjl|𑚁}}, {{l-self|mjl|𑚂}}, {{l-self|mjl|𑚃}}, {{l-self|mjl|𑚄}}, {{l-self|mjl|𑚆}}, {{l-self|mjl|𑚇}}, {{l-self|mjl|𑚣𑚴}}/{{l-self|mjl|𑚈}}, {{l-self|mjl|𑚀𑚫}}, {{l-self|mjl|𑚊}}, {{l-self|mjl|𑚋}}/{{l-self|mjl|𑚸}}, {{l-self|mjl|𑚌}}, {{l-self|mjl|𑚍}}, {{l-self|mjl|𑚏}}, {{l-self|mjl|𑚐}}, {{l-self|mjl|𑚑}}, {{l-self|mjl|𑚒}}, {{l-self|mjl|𑚔}}, {{l-self|mjl|𑚕}}, {{l-self|mjl|𑚖}}, {{l-self|mjl|𑚗}}, {{l-self|mjl|𑚘}}, {{l-self|mjl|𑚙}}, {{l-self|mjl|𑚚}}, {{l-self|mjl|𑚛}}, {{l-self|mjl|𑚜}}, {{l-self|mjl|𑚝}}, {{l-self|mjl|𑚞}}, {{l-self|mjl|𑚟}}, {{l-self|mjl|𑚠}}, {{l-self|mjl|𑚡}}, {{l-self|mjl|𑚢}}, {{l-self|mjl|𑚣}}, {{l-self|mjl|𑚤}}, {{l-self|mjl|𑚥}}, {{l-self|mjl|𑚣𑚴}}/{{l-self|mjl|𑚦}}, {{l-self|mjl|𑚨}}, {{l-self|mjl|𑚩}}, {{l-self|mjl|𑚥𑚷}}, {{l-self|mjl|𑚪}}}}
==={{ĐM|ref}}===
*{{Chú thích web|mjl|author=The Love Fellowship|work=मंडयाली नंऊँआं नियम|year=2025|entry=याकूब 1|entryurl=https://www.bible.com/bible/2769/JAS.1.MJLNT}}
=={{langname|bfz}}==
{| class="floatright wikitable" style="text-align:center;"
|-
! Devanagari
| [[ब#Tiếng_Pahari_Mahasu|ब]]
|-
! Takri
| {{pn}}
|-
|}
==={{ĐM|pron}}===
*{{IPA4|bfz|[ba]}}
==={{ĐM|letter}}===
{{head|bfz|Chữ cái|tr=ba}}
#{{n-g|Chữ Takri biểu thị phụ âm '''{{IPAchar|/b/}}''' trong tiếng Pahari Mahasu.}}
#:{{ux|bfz|'''𑚠'''𑚖𑚮𑚣𑚭|tr='''ba'''ṛiyā|[[tốt]]|inline=1}}
==={{ĐM|ref}}===
*{{Chú thích web|bfz|author=The Love Fellowship|work=पहाड़ी महासुई|year=2025|entry=मत्ती 1|entryurl=https://www.bible.com/bible/2778/MAT.1.BFZ-NT}}
=={{langname|pgg}}==
{| class="floatright wikitable" style="text-align:center;"
|-
! Devanagari
| [[ब#Tiếng_Pangwala|ब]]
|-
! Takri
| {{pn}}
|-
|}
==={{ĐM|pron}}===
*{{IPA4|pgg|[bɑ]}}
==={{ĐM|letter}}===
{{head|pgg|Chữ cái|tr=ba}}
#{{n-g|Phụ âm thứ 23 trong tiếng Pangwala, viết bằng chữ Takri.}}
#:{{ux|pgg|'''𑚠'''𑚛𑚲|tr='''ba'''de|[[mây]]|inline=1}}
===={{ĐM|see}}====
*{{list helper 2|title=Chữ Takri tiếng Pangwala|list={{l-self|pgg|𑚀}}, {{l-self|pgg|𑚁}}, {{l-self|pgg|𑚂}}, {{l-self|pgg|𑚃}}, {{l-self|pgg|𑚄}}, {{l-self|pgg|𑚅}}, {{l-self|pgg|𑚆}}, {{l-self|pgg|𑚇}}, {{l-self|pgg|𑚈}}, {{l-self|pgg|𑚉}}, {{l-self|pgg|𑚀𑚫 }}, {{l-self|pgg|𑚀𑚬}}, {{l-self|pgg|𑚊}}, {{l-self|pgg|𑚸}}, {{l-self|pgg|𑚌}}, {{l-self|pgg|𑚍}}, {{l-self|pgg|𑚎}}, {{l-self|pgg|𑚏}}, {{l-self|pgg|𑚐}}, {{l-self|pgg|𑚑}}, {{l-self|pgg|𑚒}}, {{l-self|pgg|𑚓}}, {{l-self|pgg|𑚔}}, {{l-self|pgg|𑚕}}, {{l-self|pgg|𑚖}}, {{l-self|pgg|𑚗}}, {{l-self|pgg|𑚘}}, {{l-self|pgg|𑚙}}, {{l-self|pgg|𑚚}}, {{l-self|pgg|𑚛}}, {{l-self|pgg|𑚜}}, {{l-self|pgg|𑚝}}, {{l-self|pgg|𑚞}}, {{l-self|pgg|𑚟}}, {{l-self|pgg|𑚠}}, {{l-self|pgg|𑚡}}, {{l-self|pgg|𑚢}}, {{l-self|pgg|𑚣}}, {{l-self|pgg|𑚤}}, {{l-self|pgg|𑚥}}, {{l-self|pgg|𑚦}}, {{l-self|pgg|𑚧}}, {{l-self|pgg|𑚋}}, {{l-self|pgg|𑚨}}, {{l-self|pgg|𑚩}}, {{l-self|pgg|𑚪}}, {{l-self|pgg|𑚥𑚷}}}}
==={{ĐM|ref}}===
*{{Chú thích web|pgg|author=Wycliffe Bible Translators|entryurl=https://www.bible.com/bible/3555/ROM.1.PGG|entry=रोमी 1|work=Walangi|year=2023}}
[[Thể loại:Khối ký tự Takri|A0]]
fmi4cilgj8bku8mevx3fu4n5cta88e3
2569420
2569416
2026-10-10T02:47:08Z
Hiyuune
50834
2569420
wikitext
text/x-wiki
{{cảnh báo Unicode}}
{{minitoc}}
{{character info}}
=={{langname|mul}}==
==={{ĐM|letter}}===
{{head|mul|Chữ cái|tr=ba}}
#Chữ Takri ''ba''.
=={{langname|bhd}}==
{| class="floatright wikitable" style="text-align:center;"
|-
! Devanagari
| [[ब#Tiếng_Bhadarwah|ब]]
|-
! Ả Rập
| [[ب#Tiếng_Bhadarwah|ب]]
|-
! Takri
| {{pn}}
|-
|}
==={{ĐM|pron}}===
*{{IPA4|bhd|[ba]}}
==={{ĐM|letter}}===
{{head|bhd|Chữ cái|tr=ba}}
#{{n-g|Chữ Takri biểu thị phụ âm '''{{IPAchar|/b/}}''' trong tiếng Bhadarwah.}}
#:{{ux|bhd|'''𑚠'''𑚖𑚴|tr='''ba'''ḍo|[[nhiều]]|inline=1}}
==={{ĐM|ref}}===
*{{Chú thích web|bhd|author=Beyond Translation|work=भड्लाई भाषाई मां पवित्र शास्त्र|year=2020|entry=1 पतरस 1|entryurl=https://www.bible.com/bible/2767/1PE.1.BHDNT}}
=={{langname|bht}}==
{| class="floatright wikitable" style="text-align:center;"
|-
! Devanagari
| [[ब#Tiếng_Bhattiyat|ब]]
|-
! Takri
| {{pn}}
|-
|}
==={{ĐM|pron}}===
*{{IPA4|bht|[ba]}}
==={{ĐM|letter}}===
{{head|bht|Chữ cái|tr=pa}}
#{{n-g|Chữ Takri biểu thị phụ âm '''{{IPAchar|/b/}}''' trong tiếng Bhattiyat.}}
#:{{ux|bht|'''𑚠'''𑚖𑚶𑚖𑚭|tr='''ba'''ḍḍā|[[to]]|inline=1}}
==={{ĐM|ref}}===
*{{Chú thích web|bht|author=Beyond Translation|work=भटियाली नोआ नियम|year=2020|entry=मत्ती 1|entryurl=https://www.bible.com/bible/3245/MAT.1.BHTNT}}
=={{langname|kfs}}==
{| class="floatright wikitable" style="text-align:center;"
|-
! Devanagari
| {{l|kfs|ब}}
|-
! Takri
| {{pn}}
|-
|}
==={{ĐM|pron}}===
*{{IPA4|kfs|[ba]}}
==={{ĐM|letter}}===
{{head|kfs|Chữ cái|tr=ba}}
#{{n-g|Phụ âm thứ 24 trong tiếng Bilaspur, viết bằng chữ Takri.}}
#:{{ux|kfs|'''𑚠𑚮'''𑚥𑚭𑚨𑚞𑚱𑚤𑚯|tr='''bi'''lāsapurī|[[:Thể loại:Tiếng Bilaspur|tiếng Bilaspur]]|inline=1}}
==={{ĐM|see}}===
*{{list helper 2|title=Chữ Takri tiếng Bilaspur|list={{l-self|kfs|𑚀}}, {{l-self|kfs|𑚁}}, {{l-self|kfs|𑚂}}, {{l-self|kfs|𑚃}}, {{l-self|kfs|𑚄}}, {{l-self|kfs|𑚅}}, {{l-self|kfs|𑚆}}, {{l-self|kfs|𑚇}}, {{l-self|kfs|𑚊}}, {{l-self|kfs|𑚋}}, {{l-self|kfs|𑚌}}, {{l-self|kfs|𑚍}}, {{l-self|kfs|𑚎}}, {{l-self|kfs|𑚏}}, {{l-self|kfs|𑚐}}, {{l-self|kfs|𑚑}}, {{l-self|kfs|𑚒}}, {{l-self|kfs|𑚓}}, {{l-self|kfs|𑚔}}, {{l-self|kfs|𑚕}}, {{l-self|kfs|𑚖}}, {{l-self|kfs|𑚪}}, {{l-self|kfs|𑚗}}, {{l-self|kfs|𑚘}}, {{l-self|kfs|𑚙}}, {{l-self|kfs|𑚚}}, {{l-self|kfs|𑚛}}, {{l-self|kfs|𑚜}}, {{l-self|kfs|𑚝}}, {{l-self|kfs|𑚞}}, {{l-self|kfs|𑚟}}, {{l-self|kfs|𑚠}}, {{l-self|kfs|𑚡}}, {{l-self|kfs|𑚢}}, {{l-self|kfs|𑚣}}, {{l-self|kfs|𑚤}}, {{l-self|kfs|𑚥}}, {{l-self|kfs|𑚦}}, {{l-self|kfs|𑚥𑚷}}, {{l-self|kfs|𑚧}}, {{l-self|kfs|𑚨}}, {{l-self|kfs|𑚩}}}}
==={{ĐM|ref}}===
*{{Chú thích web|kfs|author=The Love Fellowship|work=बिलासपुरी नौआं नियम|year=2025|entry=मत्ती 11|entryurl=https://www.bible.com/bible/2768/MAT.11.KFSNT}}
=={{langname|cdh}}==
{| class="floatright wikitable" style="text-align:center;"
|-
! Devanagari
| [[ब#Tiếng_Chamba|ब]]
|-
! Takri
| {{pn}}
|-
|}
==={{ĐM|pron}}===
*{{IPA4|cdh|[bə]}}
==={{ĐM|letter}}===
{{head|cdh|Chữ cái|tr=ba}}
#{{n-g|Phụ âm thứ 23 trong tiếng Chamba, viết bằng chữ Takri.}}
#:{{ux|cdh|𑚠𑚭𑚠𑚭|tr=bābā|[[bố]]|inline=1}}
==={{ĐM|see}}===
*{{list helper 2|title=Chữ Takri tiếng Chamba|list={{l-self|cdh|𑚀}}, {{l-self|cdh|𑚁}}, {{l-self|cdh|𑚂}}, {{l-self|cdh|𑚃}}, {{l-self|cdh|𑚄}}, {{l-self|cdh|𑚅}}, {{l-self|cdh|𑚆}}, {{l-self|cdh|𑚇}}, {{l-self|cdh|𑚈}}, {{l-self|cdh|𑚉}}, {{l-self|cdh|𑚀𑚫}}, {{l-self|cdh|𑚀𑚬}}, {{l-self|cdh|𑚊}}, {{l-self|cdh|𑚚}}/{{l-self|cdh|𑚸}}, {{l-self|cdh|𑚌}}, {{l-self|cdh|𑚍}}, {{l-self|cdh|𑚎}}, {{l-self|cdh|𑚏}}, {{l-self|cdh|𑚐}}, {{l-self|cdh|𑚑}}, {{l-self|cdh|𑚒}}, {{l-self|cdh|𑚓}}, {{l-self|cdh|𑚔}}, {{l-self|cdh|𑚕}}, {{l-self|cdh|𑚖}}, {{l-self|cdh|𑚗}}, {{l-self|cdh|𑚘}}, {{l-self|cdh|𑚙}}, {{l-self|cdh|𑚚}}, {{l-self|cdh|𑚛}}, {{l-self|cdh|𑚜}}, {{l-self|cdh|𑚝}}, {{l-self|cdh|𑚞}}, {{l-self|cdh|𑚟}}, {{l-self|cdh|𑚠}}, {{l-self|cdh|𑚡}}, {{l-self|cdh|𑚢}}, {{l-self|cdh|𑚣}}, {{l-self|cdh|𑚤}}, {{l-self|cdh|𑚥}}, {{l-self|cdh|𑚦}}, {{l-self|cdh|𑚧}}/{{l-self|cdh|𑚨𑚷}}, {{l-self|cdh|𑚋}}, {{l-self|cdh|𑚨}}, {{l-self|cdh|𑚩}}, {{l-self|cdh|𑚪}}/{{l-self|cdh|𑚖𑚷}}, {{l-self|cdh|𑚗𑚷}}, {{l-self|cdh|𑚥𑚷}}}}
==={{ĐM|ref}}===
*{{Chú thích web|author=Julia Bischoffberger|title=The ASJP Database|year=2025|work=[https://asjp.clld.org/languages/CHAMBEALI Wordlist Chambeali]}}
*{{Chú thích web|cdh|author=The Love Fellowship|work=चम्बयाली नौआ नियम|year=2025|entry=गलातियों 1|entryurl=https://www.bible.com/bible/2968/GAL.1.CDHNT}}
=={{langname|cih}}==
{| class="floatright wikitable" style="text-align:center;"
|-
! Devanagari
| [[ब#Tiếng_Chinal|ब]]
|-
! Takri
| {{pn}}
|-
|}
==={{ĐM|pron}}===
*{{IPA4|cih|[bə]}}
==={{ĐM|letter}}===
{{head|cih|Chữ cái|tr=ba}}
#{{n-g|Chữ Takri biểu thị phụ âm '''{{IPAchar|/p/}}''' trong tiếng Chinal.}}
#:{{ux|cih|'''𑚠'''𑚝|tr='''ba'''na|[[rừng]]|inline=1}}
=={{langname|cdj}}==
{| class="floatright wikitable" style="text-align:center;"
|-
! Devanagari
| [[ब#Tiếng_Churah|ब]]
|-
! Takri
| {{pn}}
|-
|}
==={{ĐM|pron}}===
*{{IPA4|cdj|[bə]}}
==={{ĐM|letter}}===
{{head|cdj|Chữ cái|tr=ba}}
#{{n-g|Chữ Takri biểu thị phụ âm '''{{IPAchar|/b/}}''' trong tiếng Churah.}}
#:{{ux|cdj|𑚥𑚭𑚢𑚶'''𑚠𑚭'''|tr=lām'''bā'''|[[dài]]|inline=1}}
==={{ĐM|ref}}===
*{{Chú thích web|cdj|author=Beyond Translation|work=चुराही नवाँ नियम|year=2020|entry=लूका 1|entryurl=https://www.bible.com/bible/3250/LUK.1.CDJNT}}
=={{langname|doi}}==
{| class="floatright wikitable" style="text-align:center;"
|-
! Devanagari
| [[ब#Tiếng_Dogri|ब]]
|-
! Takri
| {{pn}}
|-
! Dogri
| [[𑠠#Tiếng_Dogri|𑠠]]
|-
! Ả Rập
| [[ب#Tiếng_Dogri|ب]]
|-
|}
==={{ĐM|pron}}===
*{{IPA4|doi|[bə]}}
==={{ĐM|letter}}===
{{head|doi|Chữ cái|tr=ba}}
#{{n-g|Phụ âm thứ 23 trong tiếng Dogri, viết bằng chữ Takri.}}
#:{{ux|doi|'''𑚠'''𑚊𑚶𑚊𑚤𑚮|tr='''ba'''kkarī|[[dê]]|inline=1}}
==={{ĐM|see}}===
*{{list helper 2|title=Chữ Takri tiếng Dogri|list={{l-self|doi|𑚀}}, {{l-self|doi|𑚁}}, {{l-self|doi|𑚂}}, {{l-self|doi|𑚃}}, {{l-self|doi|𑚄}}, {{l-self|doi|𑚅}}, {{l-self|doi|𑚆}}, {{l-self|doi|𑚇}}, {{l-self|doi|𑚈}}, {{l-self|doi|𑚉}}, {{l-self|doi|𑚀𑚫}}, {{l-self|doi|𑚊}}, {{l-self|doi|𑚚}}, {{l-self|doi|𑚌}}, {{l-self|doi|𑚍}}, {{l-self|doi|𑚎}}, {{l-self|doi|𑚏}}, {{l-self|doi|𑚐}}, {{l-self|doi|𑚑}}, {{l-self|doi|𑚒}}, {{l-self|doi|𑚓}}, {{l-self|doi|𑚔}}, {{l-self|doi|𑚕}}, {{l-self|doi|𑚖}}, {{l-self|doi|𑚗}}, {{l-self|doi|𑚘}}, {{l-self|doi|𑚙}}, {{l-self|doi|𑚚}}, {{l-self|doi|𑚛}}, {{l-self|doi|𑚜}}, {{l-self|doi|𑚝}}, {{l-self|doi|𑚞}}, {{l-self|doi|𑚟}}, {{l-self|doi|𑚠}}, {{l-self|doi|𑚡}}, {{l-self|doi|𑚢}}, {{l-self|doi|𑚣}}, {{l-self|doi|𑚤}}, {{l-self|doi|𑚥}}, {{l-self|doi|𑚦}}, {{l-self|doi|𑚧}}, {{l-self|doi|𑚋}}, {{l-self|doi|𑚨}}, {{l-self|doi|𑚩}}, {{l-self|doi|𑚊𑚶𑚋}}, {{l-self|doi|𑚙𑚶𑚤}}, {{l-self|doi|𑚑𑚶𑚓}}, {{l-self|doi|𑚑𑚷}}, {{l-self|doi|𑚚𑚷}}, {{l-self|doi|𑚪}}, {{l-self|doi|𑚗𑚷}}, {{l-self|doi|𑚟𑚷}}}}
=={{langname|dgo}}==
{| class="floatright wikitable" style="text-align:center;"
|-
! Devanagari
| [[ब#Tiếng_Dogri_Hindi|ब]]
|-
! Takri
| {{pn}}
|-
! Ả Rập
| [[ب#Tiếng_Dogri_Hindi|ب]]
|-
|}
==={{ĐM|pron}}===
*{{IPA4|dgo|[bə]}}
==={{ĐM|letter}}===
{{head|dgo|Chữ cái|tr=ba}}
#{{n-g|Chữ Takri biểu thị phụ âm '''{{IPAchar|/b/}}''' trong tiếng Dogri Hindi.}}
#:{{ux|dgo|𑚣𑚭𑚊𑚱'''𑚠'''|tr=yākū'''ba'''|[[s:Gia-cơ|Gia-cơ]]|inline=1}}
==={{ĐM|ref}}===
*{{Chú thích web|dgo|author=The Love Fellowship|work=डोगरी नवां नियम|year=2026|entry=याकूब 1|entryurl=https://www.bible.com/bible/2958/JAS.1.DOG}}
=={{langname|gbk}}==
{| class="floatright wikitable" style="text-align:center;"
|-
! Devanagari
| [[ब#Tiếng_Gaddi|ब]]
|-
! Takri
| {{pn}}
|-
|}
==={{ĐM|pron}}===
*{{IPA4|gbk|[ba]}}
==={{ĐM|letter}}===
{{head|gbk|Chữ cái|tr=ba}}
#{{n-g|Phụ âm thứ 21 trong tiếng Gaddi, viết bằng chữ Takri.}}
#:{{ux|gbk|𑚨'''𑚠'''|tr=sa'''b'''|[[tất cả]]|inline=1}}
==={{ĐM|see}}===
*{{list helper 2|title=Chữ Takri tiếng Gaddi|list={{l-self|gbk|𑚀}}, {{l-self|gbk|𑚁}}, {{l-self|gbk|𑚂}}, {{l-self|gbk|𑚃}}, {{l-self|gbk|𑚄}}/{{l-self|gbk|𑚅}}, {{l-self|gbk|𑚆}}, {{l-self|gbk|𑚇}}, {{l-self|gbk|𑚣𑚴}}/{{l-self|gbk|𑚈}}, {{l-self|gbk|𑚉}}, {{l-self|gbk|𑚀𑚫}}, {{l-self|gbk|𑚊}}, {{l-self|gbk|𑚋}}/{{l-self|gbk|𑚸}}, {{l-self|gbk|𑚌}}, {{l-self|gbk|𑚍}}, {{l-self|gbk|𑚏}}, {{l-self|gbk|𑚐}}, {{l-self|gbk|𑚑}}, {{l-self|gbk|𑚒}}, {{l-self|gbk|𑚔}}, {{l-self|gbk|𑚕}}, {{l-self|gbk|𑚖}}, {{l-self|gbk|𑚗}}, {{l-self|gbk|𑚘}}, {{l-self|gbk|𑚙}}, {{l-self|gbk|𑚚}}, {{l-self|gbk|𑚛}}, {{l-self|gbk|𑚜}}, {{l-self|gbk|𑚝}}, {{l-self|gbk|𑚞}}, {{l-self|gbk|𑚟}}, {{l-self|gbk|𑚠}}, {{l-self|gbk|𑚡}}, {{l-self|gbk|𑚢}}, {{l-self|gbk|𑚣}}, {{l-self|gbk|𑚤}}, {{l-self|gbk|𑚥}}, {{l-self|gbk|𑚣𑚴}}/{{l-self|gbk|𑚦}}, {{l-self|gbk|𑚧}}/{{l-self|gbk|𑚨}}, {{l-self|gbk|𑚩}}, {{l-self|gbk|𑚥𑚷}}, {{l-self|gbk|𑚪}}}}
==={{ĐM|ref}}===
*{{Chú thích web|gbk|author=The Love Fellowship|work=गददी|year=2025|entry=मरकुस 1|entryurl=https://www.bible.com/bible/2959/MRK.1.GBKNT}}
=={{langname|bfu}}==
{| class="floatright wikitable" style="text-align:center;"
|-
! Devanagari
| [[ब#Tiếng_Gahri|ब]]
|-
! Takri
| {{pn}}
|-
! Tạng
| [[བ#Tiếng_Gahri|བ]]
|-
|}
==={{ĐM|pron}}===
*{{IPA4|bfu|[bə]}}
==={{ĐM|letter}}===
{{head|bfu|Chữ cái|tr=ba}}
#{{n-g|Chữ Takri biểu thị phụ âm '''{{IPAchar|/b/}}''' trong tiếng Gahri.}}
#:{{ux|bfu|'''𑚠'''𑚥|tr='''ba'''la|[[hoa hồng]]|inline=1}}
==={{ĐM|n}}===
{{head|bfu|Danh từ|tr=ba}}
#[[tường|Tường]].
=={{langname|gju}}==
{| class="floatright wikitable" style="text-align:center;"
|-
! Ả Rập
| [[ب#Tiếng_Gujar|ب]]
|-
! Devanagari
| [[ब#Tiếng_Gujar|ब]]
|-
! Takri
| {{pn}}
|-
|}
==={{ĐM|pron}}===
*{{IPA4|gju|[bə]}}
==={{ĐM|letter}}===
{{head|gju|Chữ cái|tr=ba}}
#{{n-g|Chữ Takri biểu thị phụ âm '''{{IPAchar|/b/}}''' trong tiếng Gujar.}}
#:{{ux|gju|'''𑚠𑚳'''𑚙|tr='''bai'''t|[[sậy]]|inline=1}}
==={{ĐM|ref}}===
*{{Chú thích web|editor=Dr. Rafique Anjum|work=Gojri - English - Urdu Dictionary|year=2021|publisher=SIL International|entry=ب|entryurl=https://www.webonary.org/gojri/en/browse/browse-vernacular/?key=gju&letter=%D8%A8}}
=={{langname|hii}}==
{| class="floatright wikitable" style="text-align:center;"
|-
! Devanagari
| [[ब#Tiếng_Hinduri|ब]]
|-
! Takri
| {{pn}}
|-
|}
==={{ĐM|pron}}===
*{{IPA4|hii|[ba]}}
==={{ĐM|letter}}===
{{head|hii|Chữ cái|tr=ba}}
#{{n-g|Chữ Takri biểu thị phụ âm '''{{IPAchar|/b/}}''' trong tiếng Hinduri.}}
=={{langname|jna}}==
==={{ĐM|pron}}===
*{{IPA4|jna|[ba]}}
==={{ĐM|letter}}===
{{head|jna|Chữ cái|tr=ba}}
#{{n-g|Chữ Takri biểu thị phụ âm '''{{IPAchar|/b/}}''' trong tiếng Jangshung.}}
=={{langname|xnr}}==
{| class="floatright wikitable" style="text-align:center;"
|-
! Devanagari
| [[ब#Tiếng_Kangra|ब]]
|-
! Takri
| {{pn}}
|-
|}
==={{ĐM|pron}}===
*{{IPA4|xnr|[b]}}
==={{ĐM|letter}}===
{{head|xnr|Chữ cái|tr=ba}}
#{{n-g|Chữ Takri biểu thị phụ âm '''{{IPAchar|/b/}}''' trong tiếng Kangra.}}
#:{{ux|xnr|'''𑚠'''𑚤𑚋𑚭|tr='''ba'''rkhā|[[mưa]]|inline=1}}
==={{ĐM|ref}}===
*{{Chú thích web|xnr|author=The Love Fellowship|work=काँगड़ी|year=2025|entry=मत्ती 1|entryurl=https://www.bible.com/bible/2962/MAT.1.XNR}}
=={{langname|kfk}}==
{| class="floatright wikitable" style="text-align:center;"
|-
! Takri
| {{pn}}
|-
! Devanagari
| [[ब#Tiếng_Kinnaur|ब]]
|-
! Latinh
| [[B#Tiếng_Kinnaur|B]] [[b#Tiếng_Kinnaur|b]]
|-
|}
==={{ĐM|pron}}===
*{{IPA4|kfk|[bə]}}
==={{ĐM|letter}}===
{{head|kfk|Chữ cái|tr=ba}}
#{{n-g|Chữ Takri biểu thị phụ âm '''{{IPAchar|/b/}}''' trong tiếng Kinnaur.}}
#:{{ux|kfk|'''𑚠'''𑚥𑚶|tr='''ba'''l|[[đầu]]|inline=1}}
=={{langname|kjo}}==
==={{ĐM|pron}}===
*{{IPA4|kjo|[bə]}}
==={{ĐM|letter}}===
{{head|kjo|Chữ cái|tr=ba}}
#{{n-g|Chữ Takri biểu thị phụ âm '''{{IPAchar|/b/}}''' trong tiếng Kinnaur Harija.}}
#:{{ux|kjo|'''𑚠𑚭'''𑚥|tr='''bā'''la|[[tóc]]|inline=1}}
==={{ĐM|ref}}===
*{{Chú thích web|kjo|author=New Life Computer Institute |work=Kinauri, Paharia|year=2022|entry=मत्तीयेह चेमाउन सुसमाचार 1|entryurl=https://live.bible.is/bible/KJONLC/MAT/1}}
=={{langname|kfx}}==
{| class="floatright wikitable" style="text-align:center;"
|-
! Devanagari
| [[ब#Tiếng_Kullu|ब]]
|-
! Takri
| {{pn}}
|-
|}
==={{ĐM|pron}}===
*{{IPA4|kfx|[ba]}}
==={{ĐM|letter}}===
{{head|kfx|Chữ cái|tr=ba}}
#{{n-g|Phụ âm thứ 24 trong tiếng Kullu, viết bằng chữ Takri.}}
#:{{ux|kfx|'''𑚠'''𑚌𑚶|tr='''ba'''g|[[vườn]]|inline=1}}
===={{ĐM|see}}====
*{{list helper 2|title=Chữ Takri tiếng Kullu|list={{l-self|kfx|𑚀}}, {{l-self|kfx|𑚁}}, {{l-self|kfx|𑚂}}, {{l-self|kfx|𑚃}}, {{l-self|kfx|𑚄}}, {{l-self|kfx|𑚆}}, {{l-self|kfx|𑚇}}, {{l-self|kfx|𑚈}}, {{l-self|kfx|𑚊}}, {{l-self|kfx|𑚋}}, {{l-self|kfx|𑚌}}, {{l-self|kfx|𑚍}}, {{l-self|kfx|𑚌𑚫}}, {{l-self|kfx|𑚏}}, {{l-self|kfx|𑚐}}, {{l-self|kfx|𑚑}}, {{l-self|kfx|𑚒}}, {{l-self|kfx|𑚓}}, {{l-self|kfx|𑚔}}, {{l-self|kfx|𑚕}}, {{l-self|kfx|𑚖}}, {{l-self|kfx|𑚪}}, {{l-self|kfx|𑚗}}, {{l-self|kfx|𑚘}}, {{l-self|kfx|𑚙}}, {{l-self|kfx|𑚚}}, {{l-self|kfx|𑚛}}, {{l-self|kfx|𑚜}}, {{l-self|kfx|𑚝}}, {{l-self|kfx|𑚞}}, {{l-self|kfx|𑚟}}, {{l-self|kfx|𑚠}}, {{l-self|kfx|𑚡}}, {{l-self|kfx|𑚢}}, {{l-self|kfx|𑚤}}, {{l-self|kfx|𑚥}}, {{l-self|kfx|𑚥𑚷}}, {{l-self|kfx|𑚨}}, {{l-self|kfx|𑚨}}, {{l-self|kfx|𑚩}}, {{l-self|kfx|𑚂𑚁}}/{{l-self|kfx|𑚣}}, {{l-self|kfx|𑚄𑚁}}/{{l-self|kfx|𑚦}}}}
==={{ĐM|ref}}===
*{{Chú thích sách|title=[https://pahari-languages.ru/wp-content/uploads/2023/07/Kullui-Eng-Rus-Dictionary-July2023.pdf Kullui-English-Russian Dictionary]|year=2023|publisher=Pahari languages|page=2}}
=={{langname|kfy}}==
{| class="floatright wikitable" style="text-align:center;"
|-
! Devanagari
| [[ब#Tiếng_Kumaon|ब]]
|-
! Takri
| {{pn}}
|-
|}
==={{ĐM|pron}}===
*{{IPA4|kfy|[bə]}}
==={{ĐM|letter}}===
{{head|kfy|Chữ cái|tr=ba}}
#{{n-g|Chữ Takri biểu thị phụ âm '''{{IPAchar|/b/}}''' trong tiếng Kumaon.}}
#:{{ux|kfy|'''𑚠'''𑚊𑚥𑚴|tr='''ba'''kalo|[[dày]]|inline=1}}
==={{ĐM|ref}}===
*{{Chú thích web|kfy|author=Beyond Translation|work=सोरियाली नय्या नियम|year=2020|entry=मत्ती 1|entryurl=https://www.bible.com/bible/3246/MAT.1.SORNT}}
=={{langname|lhl}}==
==={{ĐM|pron}}===
*{{IPA4|lhl|[bə]}}
==={{ĐM|letter}}===
{{head|lhl|Chữ cái|tr=ba}}
#{{n-g|Chữ Takri biểu thị phụ âm '''{{IPAchar|/b/}}''' trong tiếng Lahul Lohar.}}
=={{langname|mjl}}==
{| class="floatright wikitable" style="text-align:center;"
|-
! Devanagari
| [[ब#Tiếng_Mandi|ब]]
|-
! Takri
| {{pn}}
|-
|}
==={{ĐM|pron}}===
*{{IPA4|mjl|[ba]}}
==={{ĐM|letter}}===
{{head|mjl|Chữ cái|tr=ba}}
#{{n-g|Phụ âm thứ 21 trong tiếng Mandi, viết bằng chữ Takri.}}
#:{{ux|mjl|'''𑚠'''𑚝𑚩𑚶𑚘𑚰|tr='''ba'''nhṇu|[[buộc]]|inline=1}}
==={{ĐM|see}}===
*{{list helper 2|title=Chữ Takri tiếng Mandi|list={{l-self|mjl|𑚀}}, {{l-self|mjl|𑚁}}, {{l-self|mjl|𑚂}}, {{l-self|mjl|𑚃}}, {{l-self|mjl|𑚄}}, {{l-self|mjl|𑚆}}, {{l-self|mjl|𑚇}}, {{l-self|mjl|𑚣𑚴}}/{{l-self|mjl|𑚈}}, {{l-self|mjl|𑚀𑚫}}, {{l-self|mjl|𑚊}}, {{l-self|mjl|𑚋}}/{{l-self|mjl|𑚸}}, {{l-self|mjl|𑚌}}, {{l-self|mjl|𑚍}}, {{l-self|mjl|𑚏}}, {{l-self|mjl|𑚐}}, {{l-self|mjl|𑚑}}, {{l-self|mjl|𑚒}}, {{l-self|mjl|𑚔}}, {{l-self|mjl|𑚕}}, {{l-self|mjl|𑚖}}, {{l-self|mjl|𑚗}}, {{l-self|mjl|𑚘}}, {{l-self|mjl|𑚙}}, {{l-self|mjl|𑚚}}, {{l-self|mjl|𑚛}}, {{l-self|mjl|𑚜}}, {{l-self|mjl|𑚝}}, {{l-self|mjl|𑚞}}, {{l-self|mjl|𑚟}}, {{l-self|mjl|𑚠}}, {{l-self|mjl|𑚡}}, {{l-self|mjl|𑚢}}, {{l-self|mjl|𑚣}}, {{l-self|mjl|𑚤}}, {{l-self|mjl|𑚥}}, {{l-self|mjl|𑚣𑚴}}/{{l-self|mjl|𑚦}}, {{l-self|mjl|𑚨}}, {{l-self|mjl|𑚩}}, {{l-self|mjl|𑚥𑚷}}, {{l-self|mjl|𑚪}}}}
==={{ĐM|ref}}===
*{{Chú thích web|mjl|author=The Love Fellowship|work=मंडयाली नंऊँआं नियम|year=2025|entry=याकूब 1|entryurl=https://www.bible.com/bible/2769/JAS.1.MJLNT}}
=={{langname|bfz}}==
{| class="floatright wikitable" style="text-align:center;"
|-
! Devanagari
| [[ब#Tiếng_Pahari_Mahasu|ब]]
|-
! Takri
| {{pn}}
|-
|}
==={{ĐM|pron}}===
*{{IPA4|bfz|[ba]}}
==={{ĐM|letter}}===
{{head|bfz|Chữ cái|tr=ba}}
#{{n-g|Chữ Takri biểu thị phụ âm '''{{IPAchar|/b/}}''' trong tiếng Pahari Mahasu.}}
#:{{ux|bfz|'''𑚠'''𑚖𑚮𑚣𑚭|tr='''ba'''ṛiyā|[[tốt]]|inline=1}}
==={{ĐM|ref}}===
*{{Chú thích web|bfz|author=The Love Fellowship|work=पहाड़ी महासुई|year=2025|entry=मत्ती 1|entryurl=https://www.bible.com/bible/2778/MAT.1.BFZ-NT}}
=={{langname|pgg}}==
{| class="floatright wikitable" style="text-align:center;"
|-
! Devanagari
| [[ब#Tiếng_Pangwala|ब]]
|-
! Takri
| {{pn}}
|-
|}
==={{ĐM|pron}}===
*{{IPA4|pgg|[bɑ]}}
==={{ĐM|letter}}===
{{head|pgg|Chữ cái|tr=ba}}
#{{n-g|Phụ âm thứ 23 trong tiếng Pangwala, viết bằng chữ Takri.}}
#:{{ux|pgg|'''𑚠'''𑚛𑚲|tr='''ba'''de|[[mây]]|inline=1}}
===={{ĐM|see}}====
*{{list helper 2|title=Chữ Takri tiếng Pangwala|list={{l-self|pgg|𑚀}}, {{l-self|pgg|𑚁}}, {{l-self|pgg|𑚂}}, {{l-self|pgg|𑚃}}, {{l-self|pgg|𑚄}}, {{l-self|pgg|𑚅}}, {{l-self|pgg|𑚆}}, {{l-self|pgg|𑚇}}, {{l-self|pgg|𑚈}}, {{l-self|pgg|𑚉}}, {{l-self|pgg|𑚀𑚫 }}, {{l-self|pgg|𑚀𑚬}}, {{l-self|pgg|𑚊}}, {{l-self|pgg|𑚸}}, {{l-self|pgg|𑚌}}, {{l-self|pgg|𑚍}}, {{l-self|pgg|𑚎}}, {{l-self|pgg|𑚏}}, {{l-self|pgg|𑚐}}, {{l-self|pgg|𑚑}}, {{l-self|pgg|𑚒}}, {{l-self|pgg|𑚓}}, {{l-self|pgg|𑚔}}, {{l-self|pgg|𑚕}}, {{l-self|pgg|𑚖}}, {{l-self|pgg|𑚗}}, {{l-self|pgg|𑚘}}, {{l-self|pgg|𑚙}}, {{l-self|pgg|𑚚}}, {{l-self|pgg|𑚛}}, {{l-self|pgg|𑚜}}, {{l-self|pgg|𑚝}}, {{l-self|pgg|𑚞}}, {{l-self|pgg|𑚟}}, {{l-self|pgg|𑚠}}, {{l-self|pgg|𑚡}}, {{l-self|pgg|𑚢}}, {{l-self|pgg|𑚣}}, {{l-self|pgg|𑚤}}, {{l-self|pgg|𑚥}}, {{l-self|pgg|𑚦}}, {{l-self|pgg|𑚧}}, {{l-self|pgg|𑚋}}, {{l-self|pgg|𑚨}}, {{l-self|pgg|𑚩}}, {{l-self|pgg|𑚪}}, {{l-self|pgg|𑚥𑚷}}}}
==={{ĐM|ref}}===
*{{Chú thích web|pgg|author=Wycliffe Bible Translators|entryurl=https://www.bible.com/bible/3555/ROM.1.PGG|entry=रोमी 1|work=Walangi|year=2023}}
[[Thể loại:Khối ký tự Takri|A0]]
fhwzwewve1kda23ie05vaovuwgyyin3
окачивающий
0
419710
2569423
2026-10-10T03:47:44Z
Hiyuune
50834
+ ru
2569423
wikitext
text/x-wiki
=={{langname|ru}}==
==={{section|pron}}===
* {{ru-IPA|ока́чивающий}}
==={{section|ptcp}}===
{{head|ru|Phân từ hiện tại chủ động|head=ока́чивающий}}
# {{participle of|ru|ока́чивать||impfv|pres|act}}
===={{section|decl}}====
{{ru-decl-adj|ока́чивающий|-}}
di64d2o5fufjpwnhm1ybievax7y410i
окачивавший
0
419711
2569424
2026-10-10T03:49:25Z
Hiyuune
50834
+ ru
2569424
wikitext
text/x-wiki
=={{langname|ru}}==
==={{section|pron}}===
* {{ru-IPA|ока́чивавший}}
==={{section|ptcp}}===
{{head|ru|Phân từ quá khứ chủ động|head=ока́чивавший}}
# {{participle of|ru|ока́чивать||impfv|past|act}}
===={{section|ptcp}}====
{{ru-decl-adj|ока́чивавший|-}}
4ry0z1zetke1wj7d3s83lsj8d7gpa3b
bai6
0
419712
2569425
2026-10-10T03:59:47Z
Hiyuune
50834
Trang mới: “=={{langname|yue}}== ==={{section|pron}}=== {{Jyutping-IPA|bai6}} ==={{section|rom}}=== {{yue-jyut}} # {{yue-jyutping of|㗑}} # {{yue-jyutping of|𡃇}} # {{yue-jyutping of|坒}} # {{yue-jyutping of|㙄}} # {{yue-jyutping of|𡚁}} # {{yue-jyutping of|㡀}} # {{yue-jyutping of|幣}} # {{yue-jyutping of|弊}} # {{yue-jyutping of|敝}} # {{yue-jyutping of|斃}} # {{yue-jyutping of|梐}} # {{yue-jyutping of|㯇}} # {{yue-jyutping of|㶔}} # {{yue-jyutping of|狴}} # {{yu…”
2569425
wikitext
text/x-wiki
=={{langname|yue}}==
==={{section|pron}}===
{{Jyutping-IPA|bai6}}
==={{section|rom}}===
{{yue-jyut}}
# {{yue-jyutping of|㗑}}
# {{yue-jyutping of|𡃇}}
# {{yue-jyutping of|坒}}
# {{yue-jyutping of|㙄}}
# {{yue-jyutping of|𡚁}}
# {{yue-jyutping of|㡀}}
# {{yue-jyutping of|幣}}
# {{yue-jyutping of|弊}}
# {{yue-jyutping of|敝}}
# {{yue-jyutping of|斃}}
# {{yue-jyutping of|梐}}
# {{yue-jyutping of|㯇}}
# {{yue-jyutping of|㶔}}
# {{yue-jyutping of|狴}}
# {{yue-jyutping of|獘}}
# {{yue-jyutping of|稗}}
# {{yue-jyutping of|粺}}
# {{yue-jyutping of|薜}}
# {{yue-jyutping of|蜌}}
# {{yue-jyutping of|䢙}}
# {{yue-jyutping of|鄨}}
# {{yue-jyutping of|陛}}
9ikx8naxnih9o86k3myjc2r3u4rieyz
㗑
0
419713
2569426
2026-10-10T04:00:30Z
Hiyuune
50834
Trang mới: “{{character info}} =={{langname|mul}}== ==={{ĐM|han}}=== {{Han char|rn=30|rad=口|as=09|sn=12|four=|canj=RHQJ|ids=⿰口拜}} ===={{ĐM|ref}}==== * {{Han ref|kx=0201.121|dkj=|dj=|hdz=10656.060|uh=35D1}}”
2569426
wikitext
text/x-wiki
{{character info}}
=={{langname|mul}}==
==={{ĐM|han}}===
{{Han char|rn=30|rad=口|as=09|sn=12|four=|canj=RHQJ|ids=⿰口拜}}
===={{ĐM|ref}}====
* {{Han ref|kx=0201.121|dkj=|dj=|hdz=10656.060|uh=35D1}}
3xgubuufuvie3eadbkw53lvj7pktfsw
ortogonalizzato
0
419714
2569427
2026-10-10T04:01:01Z
Hiyuune
50834
Trang mới: “=={{langname|it}}== ==={{section|participle}}=== {{it-pp}} # {{past participle of|it|ortogonalizzare}}”
2569427
wikitext
text/x-wiki
=={{langname|it}}==
==={{section|participle}}===
{{it-pp}}
# {{past participle of|it|ortogonalizzare}}
f113ay0bmxkmv9dlod0u4amnjcsym9w
ᜆᜂ
0
419715
2569429
2026-10-10T04:04:15Z
Hiyuune
50834
Trang mới: “=={{langname|tl}}== ==={{section|n}}=== {{tl-noun}} # {{tl-bay|tao}}”
2569429
wikitext
text/x-wiki
=={{langname|tl}}==
==={{section|n}}===
{{tl-noun}}
# {{tl-bay|tao}}
j7916pik11vfx5m9pbvwqo8u7204zkx
ᜆᜂ ᜉᜓ
0
419716
2569430
2026-10-10T04:04:42Z
Hiyuune
50834
Trang mới: “=={{langname|tl}}== ==={{section|interj}}=== {{tl-head|Thán từ}} # {{tl-bay|tao po}}”
2569430
wikitext
text/x-wiki
=={{langname|tl}}==
==={{section|interj}}===
{{tl-head|Thán từ}}
# {{tl-bay|tao po}}
61vlmp3kapuahltjr4qwqt9g1a2mjvx
a disinuwebe
0
419717
2569431
2026-10-10T04:09:10Z
Hiyuune
50834
Trang mới: “{{also|adisinuwebe|a-disinuwebe}} =={{langname|tl}}== ==={{section|n}}=== {{tl-noun|b=+}} # {{alt sp|tl|a-disinuwebe}}”
2569431
wikitext
text/x-wiki
{{also|adisinuwebe|a-disinuwebe}}
=={{langname|tl}}==
==={{section|n}}===
{{tl-noun|b=+}}
# {{alt sp|tl|a-disinuwebe}}
ncc9lq9gdu7wv9zkup5g96oixq2uuzf
окачиваемый
0
419718
2569441
2026-10-10T07:46:52Z
Hiyuune
50834
Trang mới: “=={{langname|ru}}== ==={{section|pron}}=== * {{ru-IPA|ока́чиваемый}} ==={{section|ptcp}}=== {{head|ru|Phân từ hiện tại bị động|head=ока́чиваемый}} # {{participle of|ru|ока́чивать||impfv|pres|pass}} ===={{section|decl}}==== {{ru-decl-adj|ока́чиваемый|a}}”
2569441
wikitext
text/x-wiki
=={{langname|ru}}==
==={{section|pron}}===
* {{ru-IPA|ока́чиваемый}}
==={{section|ptcp}}===
{{head|ru|Phân từ hiện tại bị động|head=ока́чиваемый}}
# {{participle of|ru|ока́чивать||impfv|pres|pass}}
===={{section|decl}}====
{{ru-decl-adj|ока́чиваемый|a}}
no7h2pohe1kwu82re46urpyjtpo5x7a
окачиваю
0
419719
2569442
2026-10-10T07:52:32Z
Hiyuune
50834
Trang mới: “=={{langname|ru}}== ==={{section|pron}}=== * {{ru-IPA|ока́чиваю}} ==={{section|v}}=== {{head|ru|vf|head=ока́чиваю}} # {{inflection of|ru|ока́чивать||ind|impfv|pres|ở|1|s}}”
2569442
wikitext
text/x-wiki
=={{langname|ru}}==
==={{section|pron}}===
* {{ru-IPA|ока́чиваю}}
==={{section|v}}===
{{head|ru|vf|head=ока́чиваю}}
# {{inflection of|ru|ока́чивать||ind|impfv|pres|ở|1|s}}
82tzvt2qqw746x24nylaxn4mx3ebpa8
xenobotany
0
419720
2569444
2026-10-10T08:06:27Z
Hiyuune
50834
Trang mới: “=={{langname|en}}== ==={{section|etym}}=== Từ {{af|en|xeno-|botany}}. ==={{section|n}}=== {{en-noun|-}} # {{lb|en|science fiction}}# [[thực vật học|Thực vật học]] [[vũ trụ]].”
2569444
wikitext
text/x-wiki
=={{langname|en}}==
==={{section|etym}}===
Từ {{af|en|xeno-|botany}}.
==={{section|n}}===
{{en-noun|-}}
# {{lb|en|science fiction}}# [[thực vật học|Thực vật học]] [[vũ trụ]].
1a231mqs0a3x0ho7bx2pkk1usna8wky
2569446
2569444
2026-10-10T08:07:33Z
Hiyuune
50834
/* Danh từ */ (sử dụng [[MediaWiki:Gadget-AjaxEdit.js|AjaxEdit]])
2569446
wikitext
text/x-wiki
=={{langname|en}}==
==={{section|etym}}===
Từ {{af|en|xeno-|botany}}.
==={{section|n}}===
{{en-noun|-}}
# {{lb|en|science fiction}} [[thực vật học|Thực vật học]] [[vũ trụ]].
6kwc9giihtwjr9l79ga9kab2c9i9zrt
Thể loại:en:Khoa học viễn tưởng
14
419721
2569448
2026-10-10T08:09:52Z
Hiyuune
50834
Trang mới: “{{auto cat}}”
2569448
wikitext
text/x-wiki
{{auto cat}}
eomzlm5v4j7ond1phrju7cnue91g5qx
Thể loại:Khoa học viễn tưởng
14
419722
2569449
2026-10-10T08:10:16Z
Hiyuune
50834
Trang mới: “{{auto cat}}”
2569449
wikitext
text/x-wiki
{{auto cat}}
eomzlm5v4j7ond1phrju7cnue91g5qx
Mô đun:Cyrs-translit/numbers
828
419723
2569455
2026-10-10T08:22:06Z
Hiyuune
50834
Trang mới: “return { ["[:·.]а҃[.·:]"] = "1", ["[:·.]в҃[.·:]"] = "2", ["[:·.]г҃[.·:]"] = "3", ["[:·.]д҃[.·:]"] = "4", ["[:·.]е҃[.·:]"] = "5", ["[:·.]є҃[.·:]"] = "5", ["[:·.]ѕ҃[.·:]"] = "6", ["[:·.]ꙅ҃[.·:]"] = "6", ["[:·.]з҃[.·:]"] = "7", ["[:·.]ꙁ҃[.·:]"] = "7", ["[:·.]и҃[.·:]"] = "8", ["[:·.]ѳ҃[.·:]"] = "9", ["[:·.]і҃[.·:]"] = "10", ["[:·.]а҃і[.·:]"] = "11", ["[:·.]в҃і[.·:]"] = "12", ["[:·.]г҃і[.·:]"]…”
2569455
Scribunto
text/plain
return {
["[:·.]а҃[.·:]"] = "1",
["[:·.]в҃[.·:]"] = "2",
["[:·.]г҃[.·:]"] = "3",
["[:·.]д҃[.·:]"] = "4",
["[:·.]е҃[.·:]"] = "5",
["[:·.]є҃[.·:]"] = "5",
["[:·.]ѕ҃[.·:]"] = "6",
["[:·.]ꙅ҃[.·:]"] = "6",
["[:·.]з҃[.·:]"] = "7",
["[:·.]ꙁ҃[.·:]"] = "7",
["[:·.]и҃[.·:]"] = "8",
["[:·.]ѳ҃[.·:]"] = "9",
["[:·.]і҃[.·:]"] = "10",
["[:·.]а҃і[.·:]"] = "11",
["[:·.]в҃і[.·:]"] = "12",
["[:·.]г҃і[.·:]"] = "13",
["[:·.]д҃і[.·:]"] = "14",
["[:·.]е҃і[.·:]"] = "15",
["[:·.]є҃і[.·:]"] = "15",
["[:·.]ѕ҃і[.·:]"] = "16",
["[:·.]ꙅ҃і[.·:]"] = "16",
["[:·.]з҃і[.·:]"] = "17",
["[:·.]ꙁ҃і[.·:]"] = "17",
["[:·.]и҃і[.·:]"] = "18",
["[:·.]ѳ҃і[.·:]"] = "19",
["[:·.]к҃[.·:]"] = "20",
["[:·.]к҃а[.·:]"] = "21",
["[:·.]к҃в[.·:]"] = "22",
["[:·.]к҃г[.·:]"] = "23",
["[:·.]к҃д[.·:]"] = "24",
["[:·.]к҃е[.·:]"] = "25",
["[:·.]к҃є[.·:]"] = "25",
["[:·.]к҃ѕ[.·:]"] = "26",
["[:·.]к҃ꙅ[.·:]"] = "26",
["[:·.]к҃з[.·:]"] = "27",
["[:·.]к҃ꙁ[.·:]"] = "27",
["[:·.]к҃и[.·:]"] = "28",
["[:·.]к҃ѳ[.·:]"] = "29",
["[:·.]л҃[.·:]"] = "30",
["[:·.]л҃а[.·:]"] = "31",
["[:·.]л҃в[.·:]"] = "32",
["[:·.]л҃г[.·:]"] = "33",
["[:·.]л҃д[.·:]"] = "34",
["[:·.]л҃е[.·:]"] = "35",
["[:·.]л҃є[.·:]"] = "35",
["[:·.]л҃ѕ[.·:]"] = "36",
["[:·.]л҃ꙅ[.·:]"] = "36",
["[:·.]л҃з[.·:]"] = "37",
["[:·.]л҃ꙁ[.·:]"] = "37",
["[:·.]л҃и[.·:]"] = "38",
["[:·.]л҃ѳ[.·:]"] = "39",
["[:·.]м҃[.·:]"] = "40",
["[:·.]м҃а[.·:]"] = "41",
["[:·.]м҃в[.·:]"] = "42",
["[:·.]м҃г[.·:]"] = "43",
["[:·.]м҃д[.·:]"] = "44",
["[:·.]м҃е[.·:]"] = "45",
["[:·.]м҃є[.·:]"] = "45",
["[:·.]м҃ѕ[.·:]"] = "46",
["[:·.]м҃ꙅ[.·:]"] = "46",
["[:·.]м҃з[.·:]"] = "47",
["[:·.]м҃ꙁ[.·:]"] = "47",
["[:·.]м҃и[.·:]"] = "48",
["[:·.]м҃ѳ[.·:]"] = "49",
["[:·.]н҃[.·:]"] = "50",
["[:·.]н҃а[.·:]"] = "51",
["[:·.]н҃в[.·:]"] = "52",
["[:·.]н҃г[.·:]"] = "53",
["[:·.]н҃д[.·:]"] = "54",
["[:·.]н҃е[.·:]"] = "55",
["[:·.]н҃є[.·:]"] = "55",
["[:·.]н҃ѕ[.·:]"] = "56",
["[:·.]н҃ꙅ[.·:]"] = "56",
["[:·.]н҃з[.·:]"] = "57",
["[:·.]н҃ꙁ[.·:]"] = "57",
["[:·.]н҃и[.·:]"] = "58",
["[:·.]н҃ѳ[.·:]"] = "59",
["[:·.]ѯ҃[.·:]"] = "60",
["[:·.]ѯ҃а[.·:]"] = "61",
["[:·.]ѯ҃в[.·:]"] = "62",
["[:·.]ѯ҃г[.·:]"] = "63",
["[:·.]ѯ҃д[.·:]"] = "64",
["[:·.]ѯ҃е[.·:]"] = "65",
["[:·.]ѯ҃є[.·:]"] = "65",
["[:·.]ѯ҃ѕ[.·:]"] = "66",
["[:·.]ѯ҃ꙅ[.·:]"] = "66",
["[:·.]ѯ҃з[.·:]"] = "67",
["[:·.]ѯ҃ꙁ[.·:]"] = "67",
["[:·.]ѯ҃и[.·:]"] = "68",
["[:·.]ѯ҃ѳ[.·:]"] = "69",
["[:·.]о҃[.·:]"] = "70",
["[:·.]о҃а[.·:]"] = "71",
["[:·.]о҃в[.·:]"] = "72",
["[:·.]о҃г[.·:]"] = "73",
["[:·.]о҃д[.·:]"] = "74",
["[:·.]о҃е[.·:]"] = "75",
["[:·.]о҃є[.·:]"] = "75",
["[:·.]о҃ѕ[.·:]"] = "76",
["[:·.]о҃ꙅ[.·:]"] = "76",
["[:·.]о҃з[.·:]"] = "77",
["[:·.]о҃ꙁ[.·:]"] = "77",
["[:·.]о҃и[.·:]"] = "78",
["[:·.]о҃ѳ[.·:]"] = "79",
["[:·.]ѻ҃[.·:]"] = "70",
["[:·.]ѻ҃а[.·:]"] = "71",
["[:·.]ѻ҃в[.·:]"] = "72",
["[:·.]ѻ҃г[.·:]"] = "73",
["[:·.]ѻ҃д[.·:]"] = "74",
["[:·.]ѻ҃е[.·:]"] = "75",
["[:·.]ѻ҃є[.·:]"] = "75",
["[:·.]ѻ҃ѕ[.·:]"] = "76",
["[:·.]ѻ҃ꙅ[.·:]"] = "76",
["[:·.]ѻ҃з[.·:]"] = "77",
["[:·.]ѻ҃ꙁ[.·:]"] = "77",
["[:·.]ѻ҃и[.·:]"] = "78",
["[:·.]ѻ҃ѳ[.·:]"] = "79",
["[:·.]п҃[.·:]"] = "80",
["[:·.]п҃а[.·:]"] = "81",
["[:·.]п҃в[.·:]"] = "82",
["[:·.]п҃г[.·:]"] = "83",
["[:·.]п҃д[.·:]"] = "84",
["[:·.]п҃е[.·:]"] = "85",
["[:·.]п҃є[.·:]"] = "85",
["[:·.]п҃ѕ[.·:]"] = "86",
["[:·.]п҃ꙅ[.·:]"] = "86",
["[:·.]п҃з[.·:]"] = "87",
["[:·.]п҃ꙁ[.·:]"] = "87",
["[:·.]п҃и[.·:]"] = "88",
["[:·.]п҃ѳ[.·:]"] = "89",
["[:·.]ч҃[.·:]"] = "90",
["[:·.]ч҃а[.·:]"] = "91",
["[:·.]ч҃в[.·:]"] = "92",
["[:·.]ч҃г[.·:]"] = "93",
["[:·.]ч҃д[.·:]"] = "94",
["[:·.]ч҃е[.·:]"] = "95",
["[:·.]ч҃є[.·:]"] = "95",
["[:·.]ч҃ѕ[.·:]"] = "96",
["[:·.]ч҃ꙅ[.·:]"] = "96",
["[:·.]ч҃з[.·:]"] = "97",
["[:·.]ч҃ꙁ[.·:]"] = "97",
["[:·.]ч҃и[.·:]"] = "98",
["[:·.]ч҃ѳ[.·:]"] = "99",
["[:·.]ҁ҃[.·:]"] = "90",
["[:·.]ҁ҃а[.·:]"] = "91",
["[:·.]ҁ҃в[.·:]"] = "92",
["[:·.]ҁ҃г[.·:]"] = "93",
["[:·.]ҁ҃д[.·:]"] = "94",
["[:·.]ҁ҃е[.·:]"] = "95",
["[:·.]ҁ҃є[.·:]"] = "95",
["[:·.]ҁ҃ѕ[.·:]"] = "96",
["[:·.]ҁ҃ꙅ[.·:]"] = "96",
["[:·.]ҁ҃з[.·:]"] = "97",
["[:·.]ҁ҃ꙁ[.·:]"] = "97",
["[:·.]ҁ҃и[.·:]"] = "98",
["[:·.]ҁ҃ѳ[.·:]"] = "99",
["[:·.]р҃[.·:]"] = "100",
["[:·.]р҃а[.·:]"] = "101",
["[:·.]р҃в[.·:]"] = "102",
["[:·.]р҃г[.·:]"] = "103",
["[:·.]р҃д[.·:]"] = "104",
["[:·.]р҃е[.·:]"] = "105",
["[:·.]р҃є[.·:]"] = "105",
["[:·.]р҃ѕ[.·:]"] = "106",
["[:·.]р҃ꙅ[.·:]"] = "106",
["[:·.]р҃з[.·:]"] = "107",
["[:·.]р҃ꙁ[.·:]"] = "107",
["[:·.]р҃и[.·:]"] = "108",
["[:·.]р҃ѳ[.·:]"] = "109",
["[:·.]р҃і[.·:]"] = "110",
["[:·.]ра҃і[.·:]"] = "111",
["[:·.]рв҃і[.·:]"] = "112",
["[:·.]рг҃і[.·:]"] = "113",
["[:·.]рд҃і[.·:]"] = "114",
["[:·.]ре҃і[.·:]"] = "115",
["[:·.]рє҃і[.·:]"] = "115",
["[:·.]рѕ҃і[.·:]"] = "116",
["[:·.]рꙅ҃і[.·:]"] = "116",
["[:·.]рз҃і[.·:]"] = "117",
["[:·.]рꙁ҃і[.·:]"] = "117",
["[:·.]ри҃і[.·:]"] = "118",
["[:·.]рѳ҃і[.·:]"] = "119",
["[:·.]р҃к[.·:]"] = "120",
["[:·.]рк҃а[.·:]"] = "121",
["[:·.]рк҃в[.·:]"] = "122",
["[:·.]рк҃г[.·:]"] = "123",
["[:·.]рк҃д[.·:]"] = "124",
["[:·.]рк҃е[.·:]"] = "125",
["[:·.]рк҃є[.·:]"] = "125",
["[:·.]рк҃ѕ[.·:]"] = "126",
["[:·.]рк҃ꙅ[.·:]"] = "126",
["[:·.]рк҃з[.·:]"] = "127",
["[:·.]рк҃ꙁ[.·:]"] = "127",
["[:·.]рк҃и[.·:]"] = "128",
["[:·.]рк҃ѳ[.·:]"] = "129",
["[:·.]р҃л[.·:]"] = "130",
["[:·.]рл҃а[.·:]"] = "131",
["[:·.]рл҃в[.·:]"] = "132",
["[:·.]рл҃г[.·:]"] = "133",
["[:·.]рл҃д[.·:]"] = "134",
["[:·.]рл҃е[.·:]"] = "135",
["[:·.]рл҃є[.·:]"] = "135",
["[:·.]рл҃ѕ[.·:]"] = "136",
["[:·.]рл҃ꙅ[.·:]"] = "136",
["[:·.]рл҃з[.·:]"] = "137",
["[:·.]рл҃ꙁ[.·:]"] = "137",
["[:·.]рл҃и[.·:]"] = "138",
["[:·.]рл҃ѳ[.·:]"] = "139",
["[:·.]р҃м[.·:]"] = "140",
["[:·.]рм҃а[.·:]"] = "141",
["[:·.]рм҃в[.·:]"] = "142",
["[:·.]рм҃г[.·:]"] = "143",
["[:·.]рм҃д[.·:]"] = "144",
["[:·.]рм҃е[.·:]"] = "145",
["[:·.]рм҃є[.·:]"] = "145",
["[:·.]рм҃ѕ[.·:]"] = "146",
["[:·.]рм҃ꙅ[.·:]"] = "146",
["[:·.]рм҃з[.·:]"] = "147",
["[:·.]рм҃ꙁ[.·:]"] = "147",
["[:·.]рм҃и[.·:]"] = "148",
["[:·.]рм҃ѳ[.·:]"] = "149",
["[:·.]р҃н[.·:]"] = "150",
["[:·.]рн҃а[.·:]"] = "151",
["[:·.]рн҃в[.·:]"] = "152",
["[:·.]рн҃г[.·:]"] = "153",
["[:·.]рн҃д[.·:]"] = "154",
["[:·.]рн҃е[.·:]"] = "155",
["[:·.]рн҃є[.·:]"] = "155",
["[:·.]рн҃ѕ[.·:]"] = "156",
["[:·.]рн҃ꙅ[.·:]"] = "156",
["[:·.]рн҃з[.·:]"] = "157",
["[:·.]рн҃ꙁ[.·:]"] = "157",
["[:·.]рн҃и[.·:]"] = "158",
["[:·.]рн҃ѳ[.·:]"] = "159",
["[:·.]р҃ѯ[.·:]"] = "160",
["[:·.]рѯ҃а[.·:]"] = "161",
["[:·.]рѯ҃в[.·:]"] = "162",
["[:·.]рѯ҃г[.·:]"] = "163",
["[:·.]рѯ҃д[.·:]"] = "164",
["[:·.]рѯ҃е[.·:]"] = "165",
["[:·.]рѯ҃є[.·:]"] = "165",
["[:·.]рѯ҃ѕ[.·:]"] = "166",
["[:·.]рѯ҃ꙅ[.·:]"] = "166",
["[:·.]рѯ҃з[.·:]"] = "167",
["[:·.]рѯ҃ꙁ[.·:]"] = "167",
["[:·.]рѯ҃и[.·:]"] = "168",
["[:·.]рѯ҃ѳ[.·:]"] = "169",
["[:·.]р҃о[.·:]"] = "170",
["[:·.]ро҃а[.·:]"] = "171",
["[:·.]ро҃в[.·:]"] = "172",
["[:·.]ро҃г[.·:]"] = "173",
["[:·.]ро҃д[.·:]"] = "174",
["[:·.]ро҃е[.·:]"] = "175",
["[:·.]ро҃є[.·:]"] = "175",
["[:·.]ро҃ѕ[.·:]"] = "176",
["[:·.]ро҃ꙅ[.·:]"] = "176",
["[:·.]ро҃з[.·:]"] = "177",
["[:·.]ро҃ꙁ[.·:]"] = "177",
["[:·.]ро҃и[.·:]"] = "178",
["[:·.]ро҃ѳ[.·:]"] = "179",
["[:·.]р҃ѻ[.·:]"] = "170",
["[:·.]рѻ҃а[.·:]"] = "171",
["[:·.]рѻ҃в[.·:]"] = "172",
["[:·.]рѻ҃г[.·:]"] = "173",
["[:·.]рѻ҃д[.·:]"] = "174",
["[:·.]рѻ҃е[.·:]"] = "175",
["[:·.]рѻ҃є[.·:]"] = "175",
["[:·.]рѻ҃ѕ[.·:]"] = "176",
["[:·.]рѻ҃ꙅ[.·:]"] = "176",
["[:·.]рѻ҃з[.·:]"] = "177",
["[:·.]рѻ҃ꙁ[.·:]"] = "177",
["[:·.]рѻ҃и[.·:]"] = "178",
["[:·.]рѻ҃ѳ[.·:]"] = "179",
["[:·.]р҃п[.·:]"] = "180",
["[:·.]рп҃а[.·:]"] = "181",
["[:·.]рп҃в[.·:]"] = "182",
["[:·.]рп҃г[.·:]"] = "183",
["[:·.]рп҃д[.·:]"] = "184",
["[:·.]рп҃е[.·:]"] = "185",
["[:·.]рп҃є[.·:]"] = "185",
["[:·.]рп҃ѕ[.·:]"] = "186",
["[:·.]рп҃ꙅ[.·:]"] = "186",
["[:·.]рп҃з[.·:]"] = "187",
["[:·.]рп҃ꙁ[.·:]"] = "187",
["[:·.]рп҃и[.·:]"] = "188",
["[:·.]рп҃ѳ[.·:]"] = "189",
["[:·.]р҃ч[.·:]"] = "190",
["[:·.]рч҃а[.·:]"] = "191",
["[:·.]рч҃в[.·:]"] = "192",
["[:·.]рч҃г[.·:]"] = "193",
["[:·.]рч҃д[.·:]"] = "194",
["[:·.]рч҃е[.·:]"] = "195",
["[:·.]рч҃є[.·:]"] = "195",
["[:·.]рч҃ѕ[.·:]"] = "196",
["[:·.]рч҃ꙅ[.·:]"] = "196",
["[:·.]рч҃з[.·:]"] = "197",
["[:·.]рч҃ꙁ[.·:]"] = "197",
["[:·.]рч҃и[.·:]"] = "198",
["[:·.]рч҃ѳ[.·:]"] = "199",
["[:·.]р҃ҁ[.·:]"] = "190",
["[:·.]рҁ҃а[.·:]"] = "191",
["[:·.]рҁ҃в[.·:]"] = "192",
["[:·.]рҁ҃г[.·:]"] = "193",
["[:·.]рҁ҃д[.·:]"] = "194",
["[:·.]рҁ҃е[.·:]"] = "195",
["[:·.]рҁ҃є[.·:]"] = "195",
["[:·.]рҁ҃ѕ[.·:]"] = "196",
["[:·.]рҁ҃ꙅ[.·:]"] = "196",
["[:·.]рҁ҃з[.·:]"] = "197",
["[:·.]рҁ҃ꙁ[.·:]"] = "197",
["[:·.]рҁ҃и[.·:]"] = "198",
["[:·.]рҁ҃ѳ[.·:]"] = "199",
["[:·.]с҃[.·:]"] = "200",
["[:·.]т҃[.·:]"] = "300",
["[:·.]у҃[.·:]"] = "400",
["[:·.]ѵ҃[.·:]"] = "400",
["[:·.]ф҃[.·:]"] = "500",
["[:·.]х҃[.·:]"] = "600",
["[:·.]ѱ҃[.·:]"] = "700",
["[:·.]ѡ҃[.·:]"] = "800",
["[:·.]ѿ҃[.·:]"] = "800",
["[:·.]ц҃[.·:]"] = "900",
["[:·.]ѧ҃[.·:]"] = "900",
["[:·.]҂а[.·:]"] = "1000",
["[:·.]҂в[.·:]"] = "2000",
["[:·.]҂г[.·:]"] = "3000",
["[:·.]҂д[.·:]"] = "4000",
["[:·.]҂е[.·:]"] = "5000",
["[:·.]҂є[.·:]"] = "5000",
["[:·.]҂ѕ[.·:]"] = "6000",
["[:·.]҂ꙅ[.·:]"] = "6000",
["҂ꙅ҃ · х҃ · н҃ꙅ"] = "6657",
["[:·.]҂з[.·:]"] = "7000",
["[:·.]҂и[.·:]"] = "8000",
["[:·.]҂ѳ[.·:]"] = "9000",
["[:·.]҂і[.·:]"] = "10,000",
["[:·.]҂к[.·:]"] = "20,000",
["[:·.]҂л[.·:]"] = "30,000",
["[:·.]҂м[.·:]"] = "40,000",
["[:·.]҂н[.·:]"] = "50,000",
["[:·.]҂ѯ[.·:]"] = "60,000",
["[:·.]҂о[.·:]"] = "70,000",
["[:·.]҂ѻ[.·:]"] = "70,000",
["[:·.]҂п[.·:]"] = "80,000",
["[:·.]҂ч[.·:]"] = "90,000",
["[:·.]҂ҁ[.·:]"] = "90,000",
["[:·.]҂р[.·:]"] = "100,000",
["[:·.]҂с[.·:]"] = "200,000",
["[:·.]҂т[.·:]"] = "300,000",
["[:·.]҂у[.·:]"] = "400,000",
["[:·.]҂ѵ[.·:]"] = "400,000",
["[:·.]҂ф[.·:]"] = "500,000",
["[:·.]҂х[.·:]"] = "600,000",
["[:·.]҂ѱ[.·:]"] = "700,000",
["[:·.]҂ѡ[.·:]"] = "800,000",
["[:·.]҂ѿ[.·:]"] = "800,000",
["[:·.]҂ц[.·:]"] = "900,000",
["[:·.]҂ѧ[.·:]"] = "900,000",
["[:·.]҂҂а[.·:]"] = "1,000,000",
}
4ltewyit7vjxqzvdz2wpa193hxznecm
réaltgheolaíocht
0
419724
2569458
2026-10-10T08:30:05Z
Hiyuune
50834
Trang mới: “=={{langname|ga}}== ==={{section|etym}}=== {{prefix|ga|réalt|geolaíocht}} ==={{section|n}}=== {{ga-noun|f|~a|-}} # {{lb|ga|astronomy|geology}} [[địa chất học|Địa chất học]] [[vũ trụ]], địa chất học [[thiên văn]]. ===={{section|decl}}==== {{ga-decl-f3-nopl|r|éaltgheolaíocht|éaltgheolaíochta}}”
2569458
wikitext
text/x-wiki
=={{langname|ga}}==
==={{section|etym}}===
{{prefix|ga|réalt|geolaíocht}}
==={{section|n}}===
{{ga-noun|f|~a|-}}
# {{lb|ga|astronomy|geology}} [[địa chất học|Địa chất học]] [[vũ trụ]], địa chất học [[thiên văn]].
===={{section|decl}}====
{{ga-decl-f3-nopl|r|éaltgheolaíocht|éaltgheolaíochta}}
rcur56rki69ta7m7grw0yfq6vp6mi75