Wiktionary viwiktionary https://vi.wiktionary.org/wiki/Wiktionary:Trang_Ch%C3%ADnh MediaWiki 1.47.0-wmf.4 case-sensitive Phương tiện Đặc biệt Thảo luận Thành viên Thảo luận Thành viên Wiktionary Thảo luận Wiktionary Tập tin Thảo luận Tập tin MediaWiki Thảo luận MediaWiki Bản mẫu Thảo luận Bản mẫu Trợ giúp Thảo luận Trợ giúp Thể loại Thảo luận Thể loại Phụ lục Thảo luận Phụ lục TimedText TimedText talk Mô đun Thảo luận Mô đun Event Event talk ho 0 28291 2362904 2356677 2026-05-31T06:39:39Z Trong Dang 52461 /* */ 2362904 wikitext text/x-wiki {{-vie-}} {{-etym-}} Từ {{inh|vi|mkh-vie-pro|*hɔː}}. {{-pron-}} {{vie-pron}} {{-nôm-}} {{top}} *[[𤵡]]: [[ho]] *[[呼]]: [[hao]], [[hố]], [[ho]], [[hú]], [[hò]], [[hô]], [[há]] {{bottom}} {{-paro-}} {{đầu}} :* [[hớ]] :* [[hờ]] :* [[hộ]] :* [[hổ]] :* [[hô]] :* [[họ]] {{giữa}} :* [[hở]] :* [[hơ]] :* [[hố]] :* [[hồ]] :* [[Họ]] :* [[hò]] {{cuối}} {{-verb-}} '''ho''' # [[bật hơi|Bật hơi]] [[ra]] [[từ]] trong [[phổi]], trong [[cổ]], [[đến mức]] [[phát]] thành [[tiếng]]. #: ''Bị '''ho''' và sốt.'' #: ''Thuốc chữa '''ho'''.'' {{-ref-}} {{R:FVDP}} {{R:WinVNKey:Lê Sơn Thanh}} {{-eng-}} {{-pron-}} * [[Wiktionary:IPA|IPA]]: {{IPA|/ˈhoʊ/}} {{-interj-}} '''ho''' {{IPA|/ˈhoʊ/}} # Ô! ồ! [[thế]] à! # Này!; {{term|Hàng hải}} [[kia|Kia]]!, [[kia kìa]]. #: ''land '''ho'''!'' — đất liền kia kìa! kia đất liền! {{-ref-}} {{R:FVDP}} {{-sce-}} {{-noun-}} {{head|sce|Danh từ}} # [[tổ]] [[chim]]. {{-mtq-}} {{-per-pronoun-}} {{pn}} # [[tôi]]. [[Thể loại:Thán từ tiếng Anh]] [[Thể loại:Động từ tiếng Việt]] [[Thể loại:Đại từ tiếng Mường]] {{-aav-tam-}} {{-verb-}} {{head|aav-tam|Động từ}} # [[chảy]]. {{-ref-}} * Phan Trần Công (2017). Tương ứng từ vựng và mối quan hệ giữa các ngôn ngữ trong nhóm Bahnar Nam. Tạp chí Phát triển Khoa học và Công nghệ: Chuyên san Khoa học xã hội và Nhân văn, tập 1, số 4, 2017. f595434zutxpg8lrmw7ilh1mbx2ct24 héo 0 28385 2362903 2273389 2026-05-31T06:38:41Z Trong Dang 52461 /* */ 2362903 wikitext text/x-wiki {{-vie-}} {{-etym-}} Từ {{inh|vi|mkh-vie-pro|*hɛːwʔ}}. So sánh với {{cog|th|เหี่ยว}}. {{-pron-}} {{vie-pron}} {{-nôm-}} {{top}} *[[㭳]]: [[héo]], [[hèo]] *[[痚]]: [[hiêu]], [[héo]] {{mid}} *[[䓔]]: [[hẻo]], [[héo]] *[[𤉗]]: [[héo]] {{bottom}} {{-paro-}} :* [[hèo]] :* [[heo]] {{-adj-}} '''héo''' # [[khô|Khô]] vì [[thiếu]] [[nước]]. #: ''Chê rau muống '''héo''', lại ôm dưa già. ([[tục ngữ]])'' #: ''Không có gốc thì cây '''héo''' ([[w:Hồ Chí Minh|Hồ Chí Minh]])'' #: ''Con không cha thì con trễ, cây không rễ thì cây '''héo'''. ([[tục ngữ]])'' {{-ref-}} {{R:FVDP}} {{R:WinVNKey:Lê Sơn Thanh}} [[Thể loại:Tính từ tiếng Việt]] {{-nut-}} {{-noun-}} {{pn}} # {{context|Nùng An}} [[răng]]. {{-ref-}} * [http://ttoeduclass.weebly.com/uploads/3/1/7/7/31776665/du_lieu_tu_dien_viet_tay_nung.pdf DỮ LIỆU TỪ ĐIỂN VIỆT - TÀY-NÙNG]. [[Thể loại:Danh từ tiếng Nùng]] {{-tyz-}} {{-pron-}} {{tyz-IPA}} {{-adj-}} {{pn}} # [[gầy]]. # [[nhăn nheo]]. {{-drv-}} {{đầu}} * [[héo ngánh]] * [[héo ngắng]] * [[héo nháp]] * [[héo nhỉu]] {{cuối}} {{-ref-}} {{R:Lương Bèn}} [[Thể loại:Tính từ tiếng Tày]] jjqur8i6kxakaph9xan3jj9ic81bjrt nội chiến 0 29032 2362668 2362620 2026-05-30T12:42:59Z TheHighFighter2 42988 /* Dịch */ 2362668 wikitext text/x-wiki =={{langname|vi}}== {{-info-}} ==={{ĐM|etym}}=== {{vi-etym-sino|內戰}}. ==={{ĐM|pron}}=== {{vi-pron}} ==={{ĐM|noun}}=== {{vi-noun|cls=cuộc}} # [[chiến tranh|Chiến tranh]] giữa các [[giai cấp]] hoặc [[lực lượng]] [[xã hội]] [[đối kháng]] trong một [[nước]]. ===={{ĐM|trans}}==== {{trans-top|Chiến tranh}} * {{langname|af}}: {{t+|af|burgeroorlog|s}} * {{langname|egy}}: {{t-egy|ḏꜣjs|h=DA-i-s-A24}} * {{langname|sq}}: {{t|sq|luftë civile|f}} * {{langname|en}}: {{t+|en|civil war}} * {{langname|ar}}: {{t|ar|حَرْب أَهْلِيَّة|f}} * {{langname|arc}}: *: {{langname|aii}}: {{t|aii|ܩܪܵܒ݂ܵܐ ܡܕܝܼܢܵܝܵܐ|m}} * {{langname|hy}}: {{t+|hy|քաղաքացիական պատերազմ}} * {{langname|as}}: {{t|as|গৃহযুদ্ধ}} * {{langname|ast}}: {{t|ast|guerra civil|f}} * {{langname|az}}: {{t|az|vətəndaş müharibəsi}} * {{langname|ba}}: {{t|ba|граждандар һуғышы}} * {{langname|eu}}: {{t|eu|gerra zibil}} * {{langname|be}}: {{t|be|грамадзя́нская вайна́|f}} * {{langname|bn}}: {{t+|bn|গৃহযুদ্ধ}} * {{langname|bg}}: {{t|bg|гра́жданска война́|f}} * {{langname|bua}}: {{t|bua|эрхэтэнэй дайн}} * {{langname|ca}}: {{t|ca|guerra civil|f}} * {{langname|ce}}: {{t|ce|гражданийн тӀом}} * {{langname|cv}}: {{t|cv|граждан вӑрҫи}} * {{langname|he}}: {{t|he|מִלְחֶמֶת אֶזְרָחִים|f|tr=milkhémet ezrakhím}} * {{langname|ug}}: {{t|ug|ئىچكى ئۇرۇش}} * {{langname|da}}: {{t+|da|borgerkrig|c}} * {{langname|de}}: {{t+|de|Bürgerkrieg|m}} * {{langname|myv}}: {{t|myv|потмонь тюрема}}, {{t|myv|кудонь тюрема}} * {{langname|et}}: {{t|et|kodusõda}} * {{langname|fo}}: {{t+|fo|borgarakríggj|n}} * {{langname|gd}}: {{t|gd|cogadh sìobhalta|m}} * {{langname|gl}}: {{t|gl|guerra civil|f}} * {{langname|ka}}: {{t|ka|სამოქალაქო ომი}} * {{langname|gu}}: {{t|gu|આંતરવિગ્રહ}} * {{langname|nl}}: {{t+|nl|burgeroorlog|m}}, {{t|nl|burgerkrijg|m}} * {{langname|haw}}: {{t|haw|kaua kūloko}} * {{langname|hi}}: {{t+|hi|गृहयुद्ध|m}} * {{langname|hu}}: {{t+|hu|polgárháború}} * {{langname|el}}: {{t+|el|εμφύλιος πόλεμος|m}} *: {{langname|grc}}: {{t|grc|[[ἐμφύλιος]] [[πόλεμος]]|m}} * {{langname|my}}: {{t+|my|ပြည်တွင်းစစ်}} * {{langname|no}}: *: {{langname|nb}}: {{t|nb|borgerkrig|m}} *: {{langname|nn}}: {{t|nn|borgarkrig|m}} * {{langname|ja}}: {{t+|ja|内戦|tr=ないせん, naisen}}, {{t+|ja|内乱|tr=ないらん, nairan}} * {{langname|fr}}: {{t+|fr|guerre civile|f}}, {{t|fr|guerre intestine|f}} * {{langname|fi}}: {{t+|fi|sisällissota}} * {{langname|eo}}: {{t|eo|enlanda milito}}, {{t|eo|interna milito}}, {{t|eo|intercivitana milito}}, {{t|eo|civila milito}}, {{t|eo|interfrata milito}} {{qualifier|sách vở}} * {{langname|cs}}: {{t+|cs|občanská válka|f}} * {{langname|sh}}: *: Chữ Kirin: {{t|sh|грађански рат|m}} *: Chữ Latinh: {{t+|sh|građanski rat|m}} * {{langname|sk}}: {{t|sk|občianska vojna|f}} * {{langname|sl}}: {{t+|sl|državljanska vojna|f}} * {{langname|sw}}: {{t|sw|vita vya wenyewe kwa wenyewe}} * {{langname|tl}}: {{t|tl|digmaang sibil}}, {{t|tl|bayanhing digmaan}} * {{langname|tg}}: {{t|tg|ҷанги шаҳрвандӣ}}, {{t|tg|ҷанги гражданӣ}}, {{t|tg|чанги дохилӣ}} * {{langname|ta}}: {{t|ta|உள்நாட்டுப் போர்}} * {{langname|tt}}: {{t|tt|ватандашлар сугышы}}, {{t|tt|гражданнар сугышы}} * {{langname|es}}: {{t+|es|guerra civil|f}} * {{langname|te}}: {{t|te|పౌర యుద్ధం}} * {{langname|th}}: {{t|th|สงครามกลางเมือง}} * {{langname|tr}}: {{t+|tr|iç savaş}} * {{langname|sv}}: {{t+|sv|inbördeskrig|n}} * {{langname|ko}}: {{t+|ko|내전(內戰)}}, {{t+|ko|내란(內亂)}} * {{langname|zh}}: *: {{langname|nan-hbl}}: {{t+|nan-hbl|內戰|tr=lōe-chiàn / lāi-chiàn}} *: {{langname|yue}}: {{t|yue|內戰|tr=noi6 zin3}} *: {{langname|cmn}}: {{t+|cmn|內戰|tr=nèizhàn}}, {{t+|cmn|內亂|tr=nèiluàn}}, {{t|cmn|國內戰爭|tr=guónèi zhànzhēng}}, {{t|cmn|內潰|tr=nèikuì}} * {{langname|tk}}: {{t|tk|halk gozgalaňy}} * {{langname|uk}}: {{t|uk|громадя́нська війна́|f}} * {{langname|ur}}: {{t|ur|خانَہ جَن٘گی|f}} * {{langname|uz}}: {{t|uz|fuqarolar urushi}}, {{t|uz|ichki urush}} * {{langname|cy}}: {{t|cy|rhyfel cartref}} * {{langname|it}}: {{t+|it|guerra civile|f}} * {{langname|yi}}: {{t|yi|בירגער קריג|m}}, {{t|yi|בירגער־מלחמה|f|tr=birger milkhome}}, {{t|yi|ציווילע קריג|m}} {{trans-bottom}} ==={{ĐM|ref}}=== {{R:FVDP}} pri3oc5869unou0pde6bj7fhs97h28w 2362673 2362668 2026-05-30T12:58:03Z TheHighFighter2 42988 /* Tiếng Việt */ 2362673 wikitext text/x-wiki =={{langname|vi}}== {{-info-}} ==={{ĐM|etym}}=== {{vi-etym-sino|內戰}}. ==={{ĐM|pron}}=== {{vi-pron}} ==={{ĐM|noun}}=== {{vi-noun|cls=cuộc}} # [[chiến tranh|Chiến tranh]] giữa các [[giai cấp]] hoặc [[lực lượng]] [[xã hội]] [[đối kháng]] trong một [[nước]]. ===={{ĐM|trans}}==== {{trans-top|Chiến tranh}} * {{langname|af}}: {{t+|af|burgeroorlog|s}} * {{langname|egy}}: {{t-egy|ḏꜣjs|h=DA-i-s-A24}} * {{langname|sq}}: {{t|sq|luftë civile|f}} * {{langname|en}}: {{t+|en|civil war}} * {{langname|ar}}: {{t|ar|حَرْب أَهْلِيَّة|f}} * {{langname|arc}}: *: {{langname|aii}}: {{t|aii|ܩܪܵܒ݂ܵܐ ܡܕܝܼܢܵܝܵܐ|m}} * {{langname|hy}}: {{t+|hy|քաղաքացիական պատերազմ}} * {{langname|as}}: {{t|as|গৃহযুদ্ধ}} * {{langname|ast}}: {{t|ast|guerra civil|f}} * {{langname|az}}: {{t|az|vətəndaş müharibəsi}} * {{langname|ba}}: {{t|ba|граждандар һуғышы}} * {{langname|eu}}: {{t|eu|gerra zibil}} * {{langname|be}}: {{t|be|грамадзя́нская вайна́|f}} * {{langname|bn}}: {{t+|bn|গৃহযুদ্ধ}} * {{langname|bg}}: {{t|bg|гра́жданска война́|f}} * {{langname|bua}}: {{t|bua|эрхэтэнэй дайн}} * {{langname|ca}}: {{t|ca|guerra civil|f}} * {{langname|ce}}: {{t|ce|гражданийн тӀом}} * {{langname|cv}}: {{t|cv|граждан вӑрҫи}} * {{langname|he}}: {{t|he|מִלְחֶמֶת אֶזְרָחִים|f|tr=milkhémet ezrakhím}} * {{langname|ug}}: {{t|ug|ئىچكى ئۇرۇش}} * {{langname|da}}: {{t+|da|borgerkrig|c}} * {{langname|de}}: {{t+|de|Bürgerkrieg|m}} * {{langname|myv}}: {{t|myv|потмонь тюрема}}, {{t|myv|кудонь тюрема}} * {{langname|et}}: {{t|et|kodusõda}} * {{langname|fo}}: {{t+|fo|borgarakríggj|n}} * {{langname|gd}}: {{t|gd|cogadh sìobhalta|m}} * {{langname|gl}}: {{t|gl|guerra civil|f}} * {{langname|ka}}: {{t|ka|სამოქალაქო ომი}} * {{langname|gu}}: {{t|gu|આંતરવિગ્રહ}} * {{langname|nl}}: {{t+|nl|burgeroorlog|m}}, {{t|nl|burgerkrijg|m}} * {{langname|haw}}: {{t|haw|kaua kūloko}} * {{langname|hi}}: {{t+|hi|गृहयुद्ध|m}} * {{langname|hu}}: {{t+|hu|polgárháború}} * {{langname|el}}: {{t+|el|εμφύλιος πόλεμος|m}} *: {{langname|grc}}: {{t|grc|[[ἐμφύλιος]] [[πόλεμος]]|m}} * {{langname|my}}: {{t+|my|ပြည်တွင်းစစ်}} * {{langname|no}}: *: {{langname|nb}}: {{t|nb|borgerkrig|m}} *: {{langname|nn}}: {{t|nn|borgarkrig|m}} * {{langname|ja}}: {{t+|ja|内戦|tr=ないせん, naisen}}, {{t+|ja|内乱|tr=ないらん, nairan}} * {{langname|fr}}: {{t+|fr|guerre civile|f}}, {{t|fr|guerre intestine|f}} * {{langname|fi}}: {{t+|fi|sisällissota}} * {{langname|eo}}: {{t|eo|enlanda milito}}, {{t|eo|interna milito}}, {{t|eo|intercivitana milito}}, {{t|eo|civila milito}}, {{t|eo|interfrata milito}} {{qualifier|sách vở}} * {{langname|cs}}: {{t+|cs|občanská válka|f}} * {{langname|sh}}: *: Chữ Kirin: {{t|sh|грађански рат|m}} *: Chữ Latinh: {{t+|sh|građanski rat|m}} * {{langname|sk}}: {{t|sk|občianska vojna|f}} * {{langname|sl}}: {{t+|sl|državljanska vojna|f}} * {{langname|sw}}: {{t|sw|vita vya wenyewe kwa wenyewe}} * {{langname|tl}}: {{t|tl|digmaang sibil}}, {{t|tl|bayanhing digmaan}} * {{langname|tg}}: {{t|tg|ҷанги шаҳрвандӣ}}, {{t|tg|ҷанги гражданӣ}}, {{t|tg|чанги дохилӣ}} * {{langname|ta}}: {{t|ta|உள்நாட்டுப் போர்}} * {{langname|tt}}: {{t|tt|ватандашлар сугышы}}, {{t|tt|гражданнар сугышы}} * {{langname|es}}: {{t+|es|guerra civil|f}} * {{langname|te}}: {{t|te|పౌర యుద్ధం}} * {{langname|th}}: {{t|th|สงครามกลางเมือง}} * {{langname|tr}}: {{t+|tr|iç savaş}} * {{langname|sv}}: {{t+|sv|inbördeskrig|n}} * {{langname|ko}}: {{t+|ko|내전(內戰)}}, {{t+|ko|내란(內亂)}} * {{langname|zh}}: *: {{langname|nan-hbl}}: {{t+|nan-hbl|內戰|tr=lōe-chiàn / lāi-chiàn}} *: {{langname|yue}}: {{t|yue|內戰|tr=noi6 zin3}} *: {{langname|cmn}}: {{t+|cmn|內戰|tr=nèizhàn}}, {{t+|cmn|內亂|tr=nèiluàn}}, {{t|cmn|國內戰爭|tr=guónèi zhànzhēng}}, {{t|cmn|內潰|tr=nèikuì}} * {{langname|tk}}: {{t|tk|halk gozgalaňy}} * {{langname|uk}}: {{t|uk|громадя́нська війна́|f}} * {{langname|ur}}: {{t|ur|خانَہ جَن٘گی|f}} * {{langname|uz}}: {{t|uz|fuqarolar urushi}}, {{t|uz|ichki urush}} * {{langname|cy}}: {{t|cy|rhyfel cartref}} * {{langname|it}}: {{t+|it|guerra civile|f}} * {{langname|yi}}: {{t|yi|בירגער קריג|m}}, {{t|yi|בירגער־מלחמה|f|tr=birger milkhome}}, {{t|yi|ציווילע קריג|m}} {{trans-bottom}} ==={{ĐM|ref}}=== {{R:FVDP}} {{C|vi|Loại hình chiến tranh}} bb9n823i99y58g3msywcg9ya4g3bo7j 2362685 2362673 2026-05-30T14:10:41Z Hiyuune 50834 /* Dịch */ 2362685 wikitext text/x-wiki =={{langname|vi}}== {{-info-}} ==={{ĐM|etym}}=== {{vi-etym-sino|內戰}}. ==={{ĐM|pron}}=== {{vi-pron}} ==={{ĐM|noun}}=== {{vi-noun|cls=cuộc}} # [[chiến tranh|Chiến tranh]] giữa các [[giai cấp]] hoặc [[lực lượng]] [[xã hội]] [[đối kháng]] trong một [[nước]]. ===={{ĐM|trans}}==== {{trans-top|Chiến tranh}} * {{langname|af}}: {{t+|af|burgeroorlog|s}} * {{langname|egy}}: {{t-egy|ḏꜣjs|h=DA-i-s-A24}} * {{langname|sq}}: {{t|sq|luftë civile|f}} * {{langname|en}}: {{t+|en|civil war}} * {{langname|ang}}: {{t|ang|inġewinn|n}} * {{langname|ar}}: {{t|ar|حَرْب أَهْلِيَّة|f}} * {{langname|arc}}: *: {{langname|aii}}: {{t|aii|ܩܪܵܒ݂ܵܐ ܡܕܝܼܢܵܝܵܐ|m}} * {{langname|hy}}: {{t+|hy|քաղաքացիական պատերազմ}} * {{langname|as}}: {{t|as|গৃহযুদ্ধ}} * {{langname|ast}}: {{t|ast|guerra civil|f}} * {{langname|az}}: {{t|az|vətəndaş müharibəsi}} * {{langname|ba}}: {{t|ba|граждандар һуғышы}} * {{langname|fa}}: *: Tiếng Ba Tư Iran: {{t|fa-ira|جَنْگِ داخِلی}}, {{t|fa-ira|خانِه‌جَنْگی}}, {{t|fa-ira|جَنْگِ شَهْرْوَنْدی}} * {{langname|eu}}: {{t|eu|gerra zibil}} * {{langname|be}}: {{t|be|грамадзя́нская вайна́|f}} * {{langname|bn}}: {{t+|bn|গৃহযুদ্ধ}} * {{langname|bg}}: {{t|bg|гра́жданска война́|f}} * {{langname|bua}}: {{t|bua|эрхэтэнэй дайн}} * {{langname|ca}}: {{t|ca|guerra civil|f}} * {{langname|ce}}: {{t|ce|гражданийн тӀом}} * {{langname|cv}}: {{t|cv|граждан вӑрҫи}} * {{langname|he}}: {{t|he|מִלְחֶמֶת אֶזְרָחִים|f|tr=milkhémet ezrakhím}} * {{langname|ug}}: {{t|ug|ئىچكى ئۇرۇش}} * {{langname|da}}: {{t+|da|borgerkrig|c}} * {{langname|de}}: {{t+|de|Bürgerkrieg|m}} * {{langname|myv}}: {{t|myv|потмонь тюрема}}, {{t|myv|кудонь тюрема}} * {{langname|et}}: {{t|et|kodusõda}} * {{langname|fo}}: {{t+|fo|borgarakríggj|n}} * {{langname|gd}}: {{t|gd|cogadh sìobhalta|m}} * {{langname|gl}}: {{t|gl|guerra civil|f}} * {{langname|ka}}: {{t|ka|სამოქალაქო ომი}} * {{langname|gu}}: {{t|gu|આંતરવિગ્રહ}} * {{langname|nl}}: {{t+|nl|burgeroorlog|m}}, {{t|nl|burgerkrijg|m}} * {{langname|haw}}: {{t|haw|kaua kūloko}} * {{langname|hi}}: {{t+|hi|गृहयुद्ध|m}} * {{langname|hu}}: {{t+|hu|polgárháború}} * {{langname|el}}: {{t+|el|εμφύλιος πόλεμος|m}} *: {{langname|grc}}: {{t|grc|[[ἐμφύλιος]] [[πόλεμος]]|m}} * {{langname|kn}}: {{t+|kn|ಅಂತಃಕಲಹ}} * {{langname|kk}}: {{t|kk|азаматтық соғыс}}, {{t|kk|азамат соғысы}} * {{langname|km}}: {{t|km|សង្គ្រាមក្នុងស្រុក}} * {{langname|ky}}: {{t|ky|жарандык согуш}} * {{langname|lo}}: {{t+|lo|ສົງຄາມກາງເມືອງ}} * {{langname|la}}: {{t|la|bellum cīvīle|n}}, {{t|la|[[bellum]] [[intestīnum]]|n}} * {{langname|lv}}: {{t|lv|pilsoņu karš|m}} * {{langname|lt}}: {{t|lt|pilietinis karas|m}} * {{langname|lb}}: {{t|lb|Biergerkrich|m}} * {{langname|mk}}: {{t|mk|граѓанска војна|f}} * {{langname|ms}}: {{t+|ms|perang saudara}} * {{langname|ml}}: {{t|ml|ആഭ്യന്തരയുദ്ധം}} * {{langname|mi}}: {{t|mi|kaiākiri}} * {{langname|mr}}: {{t|mr|यादवी युद्ध}}, {{t|mr|गृहयुद्ध}} * {{langname|my}}: {{t+|my|ပြည်တွင်းစစ်}} * {{langname|no}}: *: {{langname|nb}}: {{t|nb|borgerkrig|m}} *: {{langname|nn}}: {{t|nn|borgarkrig|m}} * {{langname|ja}}: {{t+|ja|内戦|tr=ないせん, naisen}}, {{t+|ja|内乱|tr=ないらん, nairan}} * {{langname|fr}}: {{t+|fr|guerre civile|f}}, {{t|fr|guerre intestine|f}} * {{langname|fi}}: {{t+|fi|sisällissota}} * {{langname|eo}}: {{t|eo|enlanda milito}}, {{t|eo|interna milito}}, {{t|eo|intercivitana milito}}, {{t|eo|civila milito}}, {{t|eo|interfrata milito}} {{qualifier|sách vở}} * {{langname|cs}}: {{t+|cs|občanská válka|f}} * {{langname|sh}}: *: Chữ Kirin: {{t|sh|грађански рат|m}} *: Chữ Latinh: {{t+|sh|građanski rat|m}} * {{langname|sk}}: {{t|sk|občianska vojna|f}} * {{langname|sl}}: {{t+|sl|državljanska vojna|f}} * {{langname|sw}}: {{t|sw|vita vya wenyewe kwa wenyewe}} * {{langname|tl}}: {{t|tl|digmaang sibil}}, {{t|tl|bayanhing digmaan}} * {{langname|tg}}: {{t|tg|ҷанги шаҳрвандӣ}}, {{t|tg|ҷанги гражданӣ}}, {{t|tg|чанги дохилӣ}} * {{langname|ta}}: {{t|ta|உள்நாட்டுப் போர்}} * {{langname|tt}}: {{t|tt|ватандашлар сугышы}}, {{t|tt|гражданнар сугышы}} * {{langname|es}}: {{t+|es|guerra civil|f}} * {{langname|te}}: {{t|te|పౌర యుద్ధం}} * {{langname|th}}: {{t|th|สงครามกลางเมือง}} * {{langname|tr}}: {{t+|tr|iç savaş}} * {{langname|sv}}: {{t+|sv|inbördeskrig|n}} * {{langname|ko}}: {{t+|ko|내전(內戰)}}, {{t+|ko|내란(內亂)}} * {{langname|zh}}: *: {{langname|nan-hbl}}: {{t+|nan-hbl|內戰|tr=lōe-chiàn / lāi-chiàn}} *: {{langname|yue}}: {{t|yue|內戰|tr=noi6 zin3}} *: {{langname|cmn}}: {{t+|cmn|內戰|tr=nèizhàn}}, {{t+|cmn|內亂|tr=nèiluàn}}, {{t|cmn|國內戰爭|tr=guónèi zhànzhēng}}, {{t|cmn|內潰|tr=nèikuì}} * {{langname|tk}}: {{t|tk|halk gozgalaňy}} * {{langname|uk}}: {{t|uk|громадя́нська війна́|f}} * {{langname|ur}}: {{t|ur|خانَہ جَن٘گی|f}} * {{langname|uz}}: {{t|uz|fuqarolar urushi}}, {{t|uz|ichki urush}} * {{langname|cy}}: {{t|cy|rhyfel cartref}} * {{langname|it}}: {{t+|it|guerra civile|f}} * {{langname|yi}}: {{t|yi|בירגער קריג|m}}, {{t|yi|בירגער־מלחמה|f|tr=birger milkhome}}, {{t|yi|ציווילע קריג|m}} {{trans-bottom}} ==={{ĐM|ref}}=== {{R:FVDP}} {{C|vi|Loại hình chiến tranh}} bjedd48tikjdvuj3tdtmlqydjb3hkhs 2362693 2362685 2026-05-30T14:28:23Z TheHighFighter2 42988 /* Dịch */ 2362693 wikitext text/x-wiki =={{langname|vi}}== {{-info-}} ==={{ĐM|etym}}=== {{vi-etym-sino|內戰}}. ==={{ĐM|pron}}=== {{vi-pron}} ==={{ĐM|noun}}=== {{vi-noun|cls=cuộc}} # [[chiến tranh|Chiến tranh]] giữa các [[giai cấp]] hoặc [[lực lượng]] [[xã hội]] [[đối kháng]] trong một [[nước]]. ===={{ĐM|trans}}==== {{trans-top|Chiến tranh}} * {{langname|af}}: {{t+|af|burgeroorlog|s}} * {{langname|egy}}: {{t-egy|ḏꜣjs|h=DA-i-s-A24}} * {{langname|sq}}: {{t|sq|luftë civile|f}} * {{langname|en}}: {{t+|en|civil war}} * {{langname|ang}}: {{t|ang|inġewinn|n}} * {{langname|ar}}: {{t|ar|حَرْب أَهْلِيَّة|f}} * {{langname|arc}}: *: {{langname|aii}}: {{t|aii|ܩܪܵܒ݂ܵܐ ܡܕܝܼܢܵܝܵܐ|m}} * {{langname|hy}}: {{t+|hy|քաղաքացիական պատերազմ}} * {{langname|as}}: {{t|as|গৃহযুদ্ধ}} * {{langname|ast}}: {{t|ast|guerra civil|f}} * {{langname|az}}: {{t|az|vətəndaş müharibəsi}} * {{langname|ba}}: {{t|ba|граждандар һуғышы}} * {{langname|eu}}: {{t|eu|gerra zibil}} * {{langname|fa}}: *: {{langname|fa-ira}}: {{t|fa-ira|جَنْگِ داخِلی}}, {{t|fa-ira|خانِه‌جَنْگی}}, {{t|fa-ira|جَنْگِ شَهْرْوَنْدی}} * {{langname|be}}: {{t|be|грамадзя́нская вайна́|f}} * {{langname|bn}}: {{t+|bn|গৃহযুদ্ধ}} * {{langname|bg}}: {{t|bg|гра́жданска война́|f}} * {{langname|bua}}: {{t|bua|эрхэтэнэй дайн}} * {{langname|ca}}: {{t|ca|guerra civil|f}} * {{langname|ce}}: {{t|ce|гражданийн тӀом}} * {{langname|cv}}: {{t|cv|граждан вӑрҫи}} * {{langname|he}}: {{t|he|מִלְחֶמֶת אֶזְרָחִים|f|tr=milkhémet ezrakhím}} * {{langname|ug}}: {{t|ug|ئىچكى ئۇرۇش}} * {{langname|da}}: {{t+|da|borgerkrig|c}} * {{langname|de}}: {{t+|de|Bürgerkrieg|m}} * {{langname|myv}}: {{t|myv|потмонь тюрема}}, {{t|myv|кудонь тюрема}} * {{langname|et}}: {{t|et|kodusõda}} * {{langname|fo}}: {{t+|fo|borgarakríggj|n}} * {{langname|gd}}: {{t|gd|cogadh sìobhalta|m}} * {{langname|gl}}: {{t|gl|guerra civil|f}} * {{langname|ka}}: {{t|ka|სამოქალაქო ომი}} * {{langname|gu}}: {{t|gu|આંતરવિગ્રહ}} * {{langname|nl}}: {{t+|nl|burgeroorlog|m}}, {{t|nl|burgerkrijg|m}} * {{langname|haw}}: {{t|haw|kaua kūloko}} * {{langname|hi}}: {{t+|hi|गृहयुद्ध|m}} * {{langname|hu}}: {{t+|hu|polgárháború}} * {{langname|el}}: {{t+|el|εμφύλιος πόλεμος|m}} *: {{langname|grc}}: {{t|grc|[[ἐμφύλιος]] [[πόλεμος]]|m}} * {{langname|is}}: {{t|is|borgarastyrjöld|f}}, {{t|is|borgarastríð|n}} * {{langname|id}}: {{t+|id|perang saudara}} * {{langname|ga}}: {{t|ga|cogadh cathartha|m}} * {{langname|kn}}: {{t+|kn|ಅಂತಃಕಲಹ}} * {{langname|kk}}: {{t|kk|азаматтық соғыс}}, {{t|kk|азамат соғысы}} * {{langname|km}}: {{t|km|សង្គ្រាមក្នុងស្រុក}} * {{langname|ky}}: {{t|ky|жарандык согуш}} * {{langname|lo}}: {{t+|lo|ສົງຄາມກາງເມືອງ}} * {{langname|la}}: {{t|la|bellum cīvīle|n}}, {{t|la|[[bellum]] [[intestīnum]]|n}} * {{langname|lv}}: {{t|lv|pilsoņu karš|m}} * {{langname|lt}}: {{t|lt|pilietinis karas|m}} * {{langname|lb}}: {{t|lb|Biergerkrich|m}} * {{langname|mk}}: {{t|mk|граѓанска војна|f}} * {{langname|ms}}: {{t+|ms|perang saudara}} * {{langname|ml}}: {{t|ml|ആഭ്യന്തരയുദ്ധം}} * {{langname|mi}}: {{t|mi|kaiākiri}} * {{langname|mr}}: {{t|mr|यादवी युद्ध}}, {{t|mr|गृहयुद्ध}} * {{langname|my}}: {{t+|my|ပြည်တွင်းစစ်}} * {{langname|no}}: *: {{langname|nb}}: {{t|nb|borgerkrig|m}} *: {{langname|nn}}: {{t|nn|borgarkrig|m}} * {{langname|new}}: {{t|new|गृह हताः}} * {{langname|ja}}: {{t+|ja|内戦|tr=ないせん, naisen}}, {{t+|ja|内乱|tr=ないらん, nairan}} * {{langname|nrf}}: {{t|nrf|dgèrre civile|f}} * {{langname|oc}}: {{t|oc|guèrra civila|f}} * {{langname|os}}: {{t|os|мидхӕст}} * {{langname|fr}}: {{t+|fr|guerre civile|f}}, {{t|fr|guerre intestine|f}} * {{langname|fi}}: {{t+|fi|sisällissota}} * {{langname|eo}}: {{t|eo|enlanda milito}}, {{t|eo|interna milito}}, {{t|eo|intercivitana milito}}, {{t|eo|civila milito}}, {{t|eo|interfrata milito}} {{qualifier|sách vở}} * {{langname|cs}}: {{t+|cs|občanská válka|f}} * {{langname|sh}}: *: Chữ Kirin: {{t|sh|грађански рат|m}} *: Chữ Latinh: {{t+|sh|građanski rat|m}} * {{langname|sk}}: {{t|sk|občianska vojna|f}} * {{langname|sl}}: {{t+|sl|državljanska vojna|f}} * {{langname|sw}}: {{t|sw|vita vya wenyewe kwa wenyewe}} * {{langname|tl}}: {{t|tl|digmaang sibil}}, {{t|tl|bayanhing digmaan}} * {{langname|tg}}: {{t|tg|ҷанги шаҳрвандӣ}}, {{t|tg|ҷанги гражданӣ}}, {{t|tg|чанги дохилӣ}} * {{langname|ta}}: {{t|ta|உள்நாட்டுப் போர்}} * {{langname|tt}}: {{t|tt|ватандашлар сугышы}}, {{t|tt|гражданнар сугышы}} * {{langname|es}}: {{t+|es|guerra civil|f}} * {{langname|te}}: {{t|te|పౌర యుద్ధం}} * {{langname|th}}: {{t|th|สงครามกลางเมือง}} * {{langname|tr}}: {{t+|tr|iç savaş}} * {{langname|sv}}: {{t+|sv|inbördeskrig|n}} * {{langname|ko}}: {{t+|ko|내전(內戰)}}, {{t+|ko|내란(內亂)}} * {{langname|zh}}: *: {{langname|nan-hbl}}: {{t+|nan-hbl|內戰|tr=lōe-chiàn / lāi-chiàn}} *: {{langname|yue}}: {{t|yue|內戰|tr=noi6 zin3}} *: {{langname|cmn}}: {{t+|cmn|內戰|tr=nèizhàn}}, {{t+|cmn|內亂|tr=nèiluàn}}, {{t|cmn|國內戰爭|tr=guónèi zhànzhēng}}, {{t|cmn|內潰|tr=nèikuì}} * {{langname|tpw}}: {{t|tpw|maramonhanga}} * {{langname|tk}}: {{t|tk|halk gozgalaňy}} * {{langname|uk}}: {{t|uk|громадя́нська війна́|f}} * {{langname|ur}}: {{t|ur|خانَہ جَن٘گی|f}} * {{langname|uz}}: {{t|uz|fuqarolar urushi}}, {{t|uz|ichki urush}} * {{langname|cy}}: {{t|cy|rhyfel cartref}} * {{langname|it}}: {{t+|it|guerra civile|f}} * {{langname|yi}}: {{t|yi|בירגער קריג|m}}, {{t|yi|בירגער־מלחמה|f|tr=birger milkhome}}, {{t|yi|ציווילע קריג|m}} {{trans-bottom}} ==={{ĐM|ref}}=== {{R:FVDP}} {{C|vi|Loại hình chiến tranh}} 69o7ju26dnuyvco3vblkjvt72nmg2x1 2362718 2362693 2026-05-30T22:56:58Z TheHighFighter2 42988 /* Dịch */ 2362718 wikitext text/x-wiki =={{langname|vi}}== {{-info-}} ==={{ĐM|etym}}=== {{vi-etym-sino|內戰}}. ==={{ĐM|pron}}=== {{vi-pron}} ==={{ĐM|noun}}=== {{vi-noun|cls=cuộc}} # [[chiến tranh|Chiến tranh]] giữa các [[giai cấp]] hoặc [[lực lượng]] [[xã hội]] [[đối kháng]] trong một [[nước]]. ===={{ĐM|trans}}==== {{trans-top|Chiến tranh}} * {{langname|af}}: {{t+|af|burgeroorlog|s}} * {{langname|egy}}: {{t-egy|ḏꜣjs|h=DA-i-s-A24}} * {{langname|sq}}: {{t|sq|luftë civile|f}} * {{langname|en}}: {{t+|en|civil war}} * {{langname|ang}}: {{t|ang|inġewinn|n}} * {{langname|ar}}: {{t|ar|حَرْب أَهْلِيَّة|f}} * {{langname|arc}}: *: {{langname|aii}}: {{t|aii|ܩܪܵܒ݂ܵܐ ܡܕܝܼܢܵܝܵܐ|m}} * {{langname|hy}}: {{t+|hy|քաղաքացիական պատերազմ}} * {{langname|as}}: {{t|as|গৃহযুদ্ধ}} * {{langname|ast}}: {{t|ast|guerra civil|f}} * {{langname|az}}: {{t|az|vətəndaş müharibəsi}} * {{langname|pl}}: {{t+|pl|wojna domowa|f}} * {{langname|ba}}: {{t|ba|граждандар һуғышы}} * {{langname|eu}}: {{t|eu|gerra zibil}} * {{langname|fa}}: *: {{langname|fa-ira}}: {{t|fa-ira|جَنْگِ داخِلی}}, {{t|fa-ira|خانِه‌جَنْگی}}, {{t|fa-ira|جَنْگِ شَهْرْوَنْدی}} * {{langname|be}}: {{t|be|грамадзя́нская вайна́|f}} * {{langname|bn}}: {{t+|bn|গৃহযুদ্ধ}} * {{langname|pt}}: {{t+|pt|guerra civil|f}} * {{langname|bg}}: {{t|bg|гра́жданска война́|f}} * {{langname|bua}}: {{t|bua|эрхэтэнэй дайн}} * {{langname|ca}}: {{t|ca|guerra civil|f}} * {{langname|ce}}: {{t|ce|гражданийн тӀом}} * {{langname|cv}}: {{t|cv|граждан вӑрҫи}} * {{langname|he}}: {{t|he|מִלְחֶמֶת אֶזְרָחִים|f|tr=milkhémet ezrakhím}} * {{langname|ug}}: {{t|ug|ئىچكى ئۇرۇش}} * {{langname|da}}: {{t+|da|borgerkrig|c}} * {{langname|de}}: {{t+|de|Bürgerkrieg|m}} * {{langname|myv}}: {{t|myv|потмонь тюрема}}, {{t|myv|кудонь тюрема}} * {{langname|et}}: {{t|et|kodusõda}} * {{langname|fo}}: {{t+|fo|borgarakríggj|n}} * {{langname|gd}}: {{t|gd|cogadh sìobhalta|m}} * {{langname|gl}}: {{t|gl|guerra civil|f}} * {{langname|ka}}: {{t|ka|სამოქალაქო ომი}} * {{langname|gu}}: {{t|gu|આંતરવિગ્રહ}} * {{langname|nl}}: {{t+|nl|burgeroorlog|m}}, {{t|nl|burgerkrijg|m}} * {{langname|haw}}: {{t|haw|kaua kūloko}} * {{langname|hi}}: {{t+|hi|गृहयुद्ध|m}} * {{langname|hu}}: {{t+|hu|polgárháború}} * {{langname|el}}: {{t+|el|εμφύλιος πόλεμος|m}} *: {{langname|grc}}: {{t|grc|[[ἐμφύλιος]] [[πόλεμος]]|m}} * {{langname|is}}: {{t|is|borgarastyrjöld|f}}, {{t|is|borgarastríð|n}} * {{langname|id}}: {{t+|id|perang saudara}} * {{langname|ga}}: {{t|ga|cogadh cathartha|m}} * {{langname|kn}}: {{t+|kn|ಅಂತಃಕಲಹ}} * {{langname|kk}}: {{t|kk|азаматтық соғыс}}, {{t|kk|азамат соғысы}} * {{langname|km}}: {{t|km|សង្គ្រាមក្នុងស្រុក}} * {{langname|ky}}: {{t|ky|жарандык согуш}} * {{langname|lo}}: {{t+|lo|ສົງຄາມກາງເມືອງ}} * {{langname|la}}: {{t|la|bellum cīvīle|n}}, {{t|la|[[bellum]] [[intestīnum]]|n}} * {{langname|lv}}: {{t|lv|pilsoņu karš|m}} * {{langname|lt}}: {{t|lt|pilietinis karas|m}} * {{langname|lb}}: {{t|lb|Biergerkrich|m}} * {{langname|mk}}: {{t|mk|граѓанска војна|f}} * {{langname|ms}}: {{t+|ms|perang saudara}} * {{langname|ml}}: {{t|ml|ആഭ്യന്തരയുദ്ധം}} * {{langname|mi}}: {{t|mi|kaiākiri}} * {{langname|mr}}: {{t|mr|यादवी युद्ध}}, {{t|mr|गृहयुद्ध}} * {{langname|my}}: {{t+|my|ပြည်တွင်းစစ်}} * {{langname|no}}: *: {{langname|nb}}: {{t|nb|borgerkrig|m}} *: {{langname|nn}}: {{t|nn|borgarkrig|m}} * {{langname|new}}: {{t|new|गृह हताः}} * {{langname|ru}}: {{t+|ru|гражда́нская война́|f}} * {{langname|ja}}: {{t+|ja|内戦|tr=ないせん, naisen}}, {{t+|ja|内乱|tr=ないらん, nairan}} * {{langname|nrf}}: {{t|nrf|dgèrre civile|f}} * {{langname|oc}}: {{t|oc|guèrra civila|f}} * {{langname|os}}: {{t|os|мидхӕст}} * {{langname|ps}}: {{t|ps|کورنۍ جګړه|f|tr=koranëy jëgëṛa}} * {{langname|pa}}: {{t|pa|ਖ਼ਾਨਾਜੰਗੀ}} * {{langname|fr}}: {{t+|fr|guerre civile|f}}, {{t|fr|guerre intestine|f}} * {{langname|fi}}: {{t+|fi|sisällissota}} * {{langname|eo}}: {{t|eo|enlanda milito}}, {{t|eo|interna milito}}, {{t|eo|intercivitana milito}}, {{t|eo|civila milito}}, {{t|eo|interfrata milito}} {{qualifier|sách vở}} * {{langname|ro}}: {{t+|ro|război civil|n}} * {{langname|cs}}: {{t+|cs|občanská válka|f}} * {{langname|sh}}: *: Chữ Kirin: {{t|sh|грађански рат|m}} *: Chữ Latinh: {{t+|sh|građanski rat|m}} * {{langname|sk}}: {{t|sk|občianska vojna|f}} * {{langname|sl}}: {{t+|sl|državljanska vojna|f}} * {{langname|sw}}: {{t|sw|vita vya wenyewe kwa wenyewe}} * {{langname|tl}}: {{t|tl|digmaang sibil}}, {{t|tl|bayanhing digmaan}} * {{langname|tg}}: {{t|tg|ҷанги шаҳрвандӣ}}, {{t|tg|ҷанги гражданӣ}}, {{t|tg|чанги дохилӣ}} * {{langname|ta}}: {{t|ta|உள்நாட்டுப் போர்}} * {{langname|tt}}: {{t|tt|ватандашлар сугышы}}, {{t|tt|гражданнар сугышы}} * {{langname|es}}: {{t+|es|guerra civil|f}} * {{langname|te}}: {{t|te|పౌర యుద్ధం}} * {{langname|th}}: {{t|th|สงครามกลางเมือง}} * {{langname|tr}}: {{t+|tr|iç savaş}} * {{langname|sv}}: {{t+|sv|inbördeskrig|n}} * {{langname|ko}}: {{t+|ko|내전(內戰)}}, {{t+|ko|내란(內亂)}} * {{langname|zh}}: *: {{langname|nan-hbl}}: {{t+|nan-hbl|內戰|tr=lōe-chiàn / lāi-chiàn}} *: {{langname|yue}}: {{t|yue|內戰|tr=noi6 zin3}} *: {{langname|cmn}}: {{t+|cmn|內戰|tr=nèizhàn}}, {{t+|cmn|內亂|tr=nèiluàn}}, {{t|cmn|國內戰爭|tr=guónèi zhànzhēng}}, {{t|cmn|內潰|tr=nèikuì}} * {{langname|tpw}}: {{t|tpw|maramonhanga}} * {{langname|tk}}: {{t|tk|halk gozgalaňy}} * {{langname|uk}}: {{t|uk|громадя́нська війна́|f}} * {{langname|ur}}: {{t|ur|خانَہ جَن٘گی|f}} * {{langname|uz}}: {{t|uz|fuqarolar urushi}}, {{t|uz|ichki urush}} * {{langname|cy}}: {{t|cy|rhyfel cartref}} * {{langname|it}}: {{t+|it|guerra civile|f}} * {{langname|yi}}: {{t|yi|בירגער קריג|m}}, {{t|yi|בירגער־מלחמה|f|tr=birger milkhome}}, {{t|yi|ציווילע קריג|m}} {{trans-bottom}} ==={{ĐM|ref}}=== {{R:FVDP}} {{C|vi|Loại hình chiến tranh}} icyltqzi1b3bez9625hi6ooqek2aeqj đêm 0 30394 2362899 2275988 2026-05-31T06:24:54Z Trong Dang 52461 /* */ 2362899 wikitext text/x-wiki {{-vie-}} {{-etym-}} Từ {{inh|vi|mkh-vie-pro|*teːm||đêm}}, có thể từ {{inh|vi|mkh-pro|*btɔm}}. Cùng gốc với {{cog|mtq|têm}}, {{cog|tou|-}} [Cuối Chăm] ''teːm¹''. So sánh với {{cog|sza|petom}}, {{cog|mnw|ဗ္တံ}}, {{cog|kjg|-}} [Cuang] ''psɨəm'', {{cog|ril|-}} [Lang] ''sɔm¹''. {{-pron-}} {{vie-pron}} {{-nôm-}} {{top}} *[[𣎀]]: [[đêm]] *[[𠶧]]: [[đêm]] *[[󰌀]]: [[đêm]] *[[胋]]: [[đêm]] *[[𡖵]]: [[đêm]] {{mid}} *[[𣈔]]: [[đêm]] *[[店]]: [[đêm]], [[điếm]], [[điệm]], [[xóm]], [[tiệm]], [[đám]] *[[𣈘]]: [[đêm]] *[[點]]: [[đém]], [[chấm]], [[đúm]], [[chúm]], [[chuốm]], [[đêm]], [[đóm]], [[điểm]], [[đếm]] {{bottom}} {{-paro-}} :* [[đệm]] :* [[đếm]] :* [[đem]] {{-noun-}} '''đêm''' # {{term|Khoảng thời gian}} [[khoảng|Khoảng]] [[thời gian]] [[từ]] khi [[mặt trời]] [[lặn]] [[hẳn]] [[đến]] khi [[mặt trời]] [[mọc]]. #: ''Thức lâu mới biết '''đêm''' dài. ([[ca dao]])'' #: ''Ngày '''đêm''' anh dũng chiến đấu.'' #: ''Ban '''đêm'''.'' # {{term|Buổi}} [[khoảng|Khoảng]] [[thời gian]] [[từ]] quá buổi [[tối]] đến 0 giờ hôm sau. #: ''Làm việc vào buổi '''đêm'''.'' #: ''Khóc suốt '''đêm'''.'' # {{term|Thường dùng sau những tổ hợp chỉ đơn vị giờ}} [[khoảng|Khoảng]] [[thời gian]] từ 9 giờ tối đến trước 1 giờ sáng. #: ''Tối đi chơi, mãi '''đêm''' mới về.'' #: ''Bây giờ là mười một giờ '''đêm'''.'' {{-trans-}} {{đầu}} :* {{en}}: [[night]] :* {{de}}: [[Nacht]] :* {{rhg}}: [[rait]] {{cuối}} {{-ref-}} {{R:FVDP}} {{R:WinVNKey:Lê Sơn Thanh}} [[Thể loại:Danh từ tiếng Việt]] hh4r54xrrt56pxa5gurob9tqjtx2spi chải 0 30729 2362897 2274969 2026-05-31T06:20:33Z Trong Dang 52461 /* */ 2362897 wikitext text/x-wiki {{-vie-}} {{-etym-}} Từ {{inh|vi|mkh-vie-pro|*caːs||chải}}, từ {{inh|vi|aav-pro|*caːɕ||chải}}. So sánh thêm với {{cog|lbo|-}} ''cas'', {{cog|crw|-}} ''saːs'', {{cog|ngt|-}} ''caːjh''. {{-pron-}} {{vie-pron}} {{-nôm-}} {{top}} *[[豸]]: [[dãi]], [[trễ]], [[sải]], [[chải]], [[chạy]], [[giại]], [[trãi]], [[trĩ]], [[giải]], [[chậy]], [[trải]], [[trại]], [[giãi]], [[trỉ]] *[[𦃀]]: [[chải]] {{mid}} *[[扯]]: [[chải]], [[xé]], [[giẫy]], [[xới]], [[xả]], [[xẻ]], [[xởi]], [[chỉ]], [[chẻ]], [[trải]] *[[𣦆]]: [[chải]], [[trải]] {{bottom}} {{-paro-}} :* [[chài]] :* [[chai]] {{-verb-}} '''chải''' # Làm cho [[sạch]], [[mượt]], [[bằng]] [[lược]] hoặc [[bàn chải]]. #: '''''Chải''' tóc.'' #: '''''Chải''' sợi.'' #: '''''Chải''' áo dạ.'' #: '''''Chải''' sâu (chải cho hết sâu bám vào thân hoặc lá cây).'' {{-ref-}} {{R:FVDP}} {{R:WinVNKey:Lê Sơn Thanh}} [[Thể loại:Động từ tiếng Việt]] rhoi5xaji4tnxeluxy0zwf6awr2yhj2 gặt 0 31173 2362901 2199832 2026-05-31T06:30:04Z Trong Dang 52461 /* */ 2362901 wikitext text/x-wiki {{-vie-}} {{-etym-}} Từ {{inh|vi|mkh-vie-pro|*-kac}}, từ {{inh|vi|aav-pro|*kacˀ||hái, gặt}}. {{doublet|vi|cắt}}. {{-pron-}} {{vie-pron}} {{-nôm-}} {{top}} *[[𥢫]]: [[gặt]] *[[𥝎]]: [[gặt]] *[[𢵷]]: [[cắt]], [[gặt]] {{mid}} *[[𠟸]]: [[gặt]] *[[秸]]: [[kiết]], [[gặt]], [[giai]] *[[拮]]: [[cật]], [[cắt]], [[cất]], [[kiết]], [[gặt]], [[kít]], [[két]], [[gật]] {{bottom}} {{-paro-}} :* {{l|vi|gắt}} :* {{l|vi|gạt}} :* {{l|vi|gật}} {{-verb-}} {{vie-verb}} # [[cắt|Cắt]] [[lúa]] [[chín]] để [[thu hoạch]]. #: {{ux|vi|Mùa '''gặt'''.}} #: {{ux|vi|Cánh đồng đã '''gặt''' xong.}} #: {{ux|vi|Gieo gió '''gặt''' bão.}} {{-reference-}} {{R:FVDP}} {{R:WinVNKey:Lê Sơn Thanh}} ld7tgo15tl4z807cjnxv1f71w9by4p4 hái 0 31250 2362900 2230908 2026-05-31T06:29:01Z Trong Dang 52461 /* */ 2362900 wikitext text/x-wiki {{-vie-}} {{-etym-}} Từ {{inh|vi|mkh-vie-pro|*haːrʔ}}. {{-pron-}} {{vie-pron}} {{-hanviet-}} {{top}} *[[噧]]: [[hái]] *[[妎]]: [[hái]], [[chung]] {{bottom}} {{-nôm-}} {{top}} *[[採]]: [[thái]], [[thăm]], [[táy]], [[hái]], [[xái]] *[[𢲨]]: [[hái]], [[hẩy]] *[[𦷫]]: [[hái]] {{mid}} *[[妎]]: [[hái]] *[[挴]]: [[mói]], [[mỗi]], [[hái]] *[[𨨫]]: [[hái]] {{bottom}} {{-paro-}} {{đầu}} :* [[hãi]] :* [[hai]] {{giữa}} :* [[hài]] :* [[hại]] {{cuối}} {{-noun-}} {{vie-noun}} # [[nông cụ|Nông cụ]] [[gồm]] một [[lưỡi]] [[thép]] có [[răng]] [[gắn]] vào [[thanh]] [[gỗ]] hay [[tre]] có [[móc]] [[dài]], dùng để [[gặt]] [[lúa]]. {{-verb-}} {{vie-verb}} # Dùng [[tay]] làm cho [[hoa]], [[quả]], [[lá]], [[cành]] [[đứt]] [[lìa]] [[khỏi]] [[cây]] để [[lấy]] về. #: '''''Hái''' rau.'' #: '''''Hái''' củi.'' #: '''''Hái''' ra tiền (kng. ; kiếm được nhiều tiền một cách dễ dàng).'' #: ''Ngày xuân đi '''hái''' lộc.'' #: ''Có gieo thì có '''hái''' ([[tục ngữ]]).'' {{-ref-}} {{R:FVDP}} {{R:WinVNKey:Lê Sơn Thanh}} abgz4vhejj11yj5senjvxkg3ak95mpb tăng ni 0 33681 2362918 2159306 2026-05-31T07:01:28Z Trong Dang 52461 /* */ 2362918 wikitext text/x-wiki {{-vie-}} {{-etym-}} {{vi-etym-sino|僧尼}}. {{-pron-}} {{vie-pron}} {{-noun-}} '''tăng ni''' # [[các|Các]] [[nhà sư]], [[nam]] và [[nữ]] (nói tổng quát). #: ''Các '''tăng ni''', phật tử.'' {{-trans-}} # {{en}}: Buddhist monks and nuns # {{san}}: # {{zh}}: 僧尼 {{-ref-}} {{R:FVDP}} [[Thể loại:Danh từ tiếng Việt]] a9rhg3a3v9sya1degoecu2ighmg4h9x âm dương 0 33910 2362921 1948595 2026-05-31T07:04:06Z Trong Dang 52461 /* */ 2362921 wikitext text/x-wiki {{-vie-}} {{-info-}} [[Hình:Yin yang.svg|thumb|âm dương]] {{-etym-}} {{vi-etym-sino|陰陽}}. {{-pron-}} {{vie-pron}} {{-noun-}} '''âm dương''' # [[âm|Âm]] và [[dương]], [[hai mặt]] [[đối lập]] [[nhau]], như [[đêm]] với [[ngày]], [[chết]] với [[sống]], v.v. #: '''''Âm dương''' đôi ngả (kẻ chết, người sống).'' #: '''''Âm dương''' cách biệt.'' {{-ref-}} {{R:FVDP}} [[Thể loại:Danh từ tiếng Việt]] dw2z8vjzgjbpw0ge69orwtizh4nuzpr chimiothérapie 0 40163 2362686 1811253 2026-05-30T14:13:54Z Kelly zhrm 58416 2362686 wikitext text/x-wiki =={{langname|fr}}== ==={{ĐM|etym}}=== {{ety|fr|:af|chimio-|thérapie}} Từ {{affix|fr|chimio-|thérapie}}. ==={{ĐM|pron}}=== * {{fr-IPA}} * {{audio|fr|LL-Q150 (fra)-Pamputt-chimiothérapie.wav|a=Brétigny-sur-Orge}} * {{audio|fr|LL-Q150 (fra)-Bananax47-chimiothérapie.wav|a=Agen}} ==={{ĐM|n}}=== {{fr-noun|f}} # [[hóa trị|Hóa trị]]. ==={{ĐM|ref}}=== {{R:FVDP|db=fv}} ==={{ĐM|further}}=== * {{R:fr:TLFi}} {{C|fr|Ung thư học}} rplvlmu46prytritqvfh8n0ee5k888r xin 0 48421 2362798 2358145 2026-05-31T02:35:35Z Hiyuune 50834 2362798 wikitext text/x-wiki {{also|Xin|xīn|xín|xǐn|xìn}} =={{langname|mul}}== ==={{section|symbol}}=== {{mul-symbol}} # {{ISO 639|3}} =={{langname|vi}}== ==={{section|pron}}=== {{vi-pron}} ==={{section|v}}==== {{vi-verb|[[嗔]], [[吀]]}} # [[tỏ ý|Tỏ ý]] [[muốn]] [[người]] khác cho cái gì hoặc [[cho phép]] làm [[điều]] gì. #: {{ux|vi|'''Xin''' tiền.}} #: {{ux|vi|'''Xin''' nghỉ học.}} #: {{ux|vi|'''Xin''' phát biểu.}} # {{lb|vi|honorific|humble}} [[từ|Từ]] dùng [[đầu]] [[lời]] [[yêu cầu]], lời [[mời mọc]], [[tỏ ý]] [[lịch sự]], [[khiêm nhường]]. #: {{ux|vi|'''Xin''' đến đúng giờ.}} #: {{ux|vi|'''Xin''' tự giới thiệu.}} #: {{ux|vi|'''Xin''' trân trọng cảm tạ.}} ===={{section|drv}}==== {{col|vi|ăn xin|cầu xin|cưới xin|nài xin|van xin|xin âm dương|xin chào|xin đểu|xin đi đằng đầu|xin đủ|xin lỗi|xin quẻ|xin xỏ}} ===={{section|see}}==== * {{l|vi|làm ơn}} ==={{section|ref}}=== * {{R:FVDP}} * {{R:WinVNKey:Lê Sơn Thanh}} =={{langname|aa}}== ==={{section|etym}}=== Từ {{mention|aa|xiiné||ngủ}}. Giống như {{cog|ssy|dhin}}. ==={{section|pron}}=== * {{aa-IPA|xín}} ==={{section|n}}=== {{aa-noun|xín|g=m}} # [[giấc ngủ|Giấc ngủ]]. ===={{section|decl}}==== {{aa-decl|xín|xíini|xintí}} ==={{section|v}}=== {{head|aa|Biến thể hình thái động từ|head=xín}} # {{inflection of|aa|xiiné||imp|sg}} ==={{section|ref}}=== * {{R:aa:Parker:1985|+}} * {{R:aa:Hassan Kamil:2015}} =={{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}} # {{nonstandard spelling of|cmn|sc=Latn|xìn}} =={{langname|sce}}== ==={{section|n}}=== {{head|sce|Danh từ}} # [[sự|Sự]] [[kiên nhẫn]]. jm4cjwguiwn02z0i8lr0qd5mzbo27ww 2362895 2362798 2026-05-31T05:39:58Z Trong Dang 52461 /* Động từ */ 2362895 wikitext text/x-wiki {{also|Xin|xīn|xín|xǐn|xìn}} =={{langname|mul}}== ==={{section|symbol}}=== {{mul-symbol}} # {{ISO 639|3}} =={{langname|vi}}== ==={{section|pron}}=== {{vi-pron}} ==={{section|v}}=== {{vi-verb|[[嗔]], [[吀]]}} # [[tỏ ý|Tỏ ý]] [[muốn]] [[người]] khác cho cái gì hoặc [[cho phép]] làm [[điều]] gì. #: {{ux|vi|'''Xin''' tiền.}} #: {{ux|vi|'''Xin''' nghỉ học.}} #: {{ux|vi|'''Xin''' phát biểu.}} # {{lb|vi|honorific|humble}} [[từ|Từ]] dùng [[đầu]] [[lời]] [[yêu cầu]], lời [[mời mọc]], [[tỏ ý]] [[lịch sự]], [[khiêm nhường]]. #: {{ux|vi|'''Xin''' đến đúng giờ.}} #: {{ux|vi|'''Xin''' tự giới thiệu.}} #: {{ux|vi|'''Xin''' trân trọng cảm tạ.}} ===={{section|drv}}==== {{col|vi|ăn xin|cầu xin|cưới xin|nài xin|van xin|xin âm dương|xin chào|xin đểu|xin đi đằng đầu|xin đủ|xin lỗi|xin quẻ|xin xỏ}} ===={{section|see}}==== * {{l|vi|làm ơn}} ==={{section|ref}}=== * {{R:FVDP}} * {{R:WinVNKey:Lê Sơn Thanh}} =={{langname|aa}}== ==={{section|etym}}=== Từ {{mention|aa|xiiné||ngủ}}. Giống như {{cog|ssy|dhin}}. ==={{section|pron}}=== * {{aa-IPA|xín}} ==={{section|n}}=== {{aa-noun|xín|g=m}} # [[giấc ngủ|Giấc ngủ]]. ===={{section|decl}}==== {{aa-decl|xín|xíini|xintí}} ==={{section|v}}=== {{head|aa|Biến thể hình thái động từ|head=xín}} # {{inflection of|aa|xiiné||imp|sg}} ==={{section|ref}}=== * {{R:aa:Parker:1985|+}} * {{R:aa:Hassan Kamil:2015}} =={{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}} # {{nonstandard spelling of|cmn|sc=Latn|xìn}} =={{langname|sce}}== ==={{section|n}}=== {{head|sce|Danh từ}} # [[sự|Sự]] [[kiên nhẫn]]. 0no2q5cpryoxog78uuwqynre0qwnvko công an 0 92129 2362912 2360436 2026-05-31T06:58:14Z TheHighFighter2 42988 /* */ 2362912 wikitext text/x-wiki =={{langname|vi}}== {{swp|+ nhân dân Việt Nam}} ==={{ĐM|etym}}=== {{vi-etym-sino|公|việc chung|安|yên ổn}}. ==={{ĐM|pron}}=== {{vi-pron}} ==={{ĐM|noun}}=== {{vi-noun}} # [[cơ quan|Cơ quan]] [[nhà nước]] chuyên [[giữ gìn]] [[trật tự]], [[an ninh]] [[chung]]. #: {{ux|vi|Đồn '''công an'''.}} #: {{ux|vi|Ngành '''công an'''.}} # {{nhãn|vi|khẩu ngữ}} [[nhân viên|Nhân viên]] [[công an]]. #: {{ux|vi|Nhờ '''công an''' chỉ đường.}} ===={{ĐM|usage}}==== * Trong khi từ ''công an'' được dùng để chỉ lực lượng thực thi pháp luật tại Cộng hòa Xã hội chủ nghĩa Việt Nam, thì các cơ quan tương đương bên ngoài Việt Nam và Cộng hòa Nhân dân Trung Hoa thường được gọi là {{mention|vi|cảnh sát}}. Từ ''cảnh sát'' cũng được dùng để chỉ các nhánh khác nhau của lực lượng này tại Việt Nam. ===={{ĐM|trans}}==== {{trans-top|Cơ quan nhà nước chuyên giữ gìn trật tự, an ninh chung}} * {{langname|en}}: {{t+|en|public security}} * {{langname|fr}}: {{t|fr|sécurité publique|f}} * {{langname|es}}: {{t|es|seguridad pública|f}} * {{langname|zh}}: *: {{langname|cmn}}: {{t+|cmn|公安|tr=gōng'ān}} {{trans-bottom}} {{trans-top|Nhân viên công an}} * {{langname|en}}: {{t|en|[[public security]] [[officer]]}} * {{langname|zh}}: *: {{langname|cmn}}: {{t+|cmn|公安|tr=gōng'ān}} {{trans-bottom}} ===={{ĐM|desc}}==== * {{desc|km|កុងអាន|bor=1}} ===={{ĐM|see}}==== * {{vi-l|cảnh sát}} * {{vi-l|sen đầm}} * {{vi-l|cảnh}}; {{vi-l|cớm}}; {{vi-l|ông can}} * {{vi-l|an ninh}} * {{vi-l|bảo an}} * {{vi-l|cảnh vệ}} ==={{ĐM|ref}}=== {{R:FVDP}} =={{langname|tyz}}== ==={{ĐM|etymology}}=== Mượn từ {{bor|tyz|vi|công an}}. ==={{ĐM|pron}}=== {{tyz-IPA}} ==={{ĐM|noun}}=== {{tyz-noun}} # [[#Tiếng Việt|Công an]]. ==={{ĐM|ref}}=== * {{R:Lương Bèn}} q7azhb1g4uug2bnckilvw0ooh6q4x8f mốt 0 92848 2362717 2358299 2026-05-30T17:11:42Z Kateru Zakuro 34522 2362717 wikitext text/x-wiki {{-vie-}} {{-pron-}} {{vie-pron}} {{-etymology-}} ; kiểu theo thời trang, [[#Tính từ|tính từ]] : {{etym|lang=vie|from= * [[fra:mode]] }} {{-nôm-}} {{top}} *[[没]]: [[mịt]], [[mốt]], [[một]] *[[蔑]]: [[vạt]], [[mốt]], [[một]], [[miết]], [[mệt]], [[miệt]], [[mít]] {{mid}} *[[𣋻]]: [[mịt]], [[mốt]] *[[沒]]: [[mốt]], [[một]] {{bottom}} {{-paro-}} :* [[mót]] :* [[mọt]] :* [[một]] {{-noun-}} {{pn}} # {{@|địa phương}} [[ngày|Ngày]] [[ba]]. #: ''Mai làm tốt, '''mốt''' đui. ([[tục ngữ]])'' # [[kiểu|Kiểu]] theo [[thời trang]]. #: ''Ăn mặc theo '''mốt''' mới.'' # Một ngày nào đó trong tương lai, chưa biết là ngày nào và chưa xác định được {{-adj-}} {{pn}} # Đúng theo thời trang, [[thời thượng]]. #: ''Như thế mới '''mốt''' chứ!'' {{-num-}} {{pn}} # Từ đặt sau các [[số chẵn]] [[tỏ]] thêm một [[đơn vị]] [[tiếp theo]]. #: ''Hai mươi '''mốt''''' (21). #: ''Một trăm '''mốt'''.'' #: ''Một vạn '''mốt'''.'' #: ''Một mét '''mốt'''.'' {{-ref-}} {{R:FVDP}} {{R:WinVNKey:Lê Sơn Thanh}} [[Thể loại:Danh từ tiếng Việt]] [[Thể loại:Tính từ tiếng Việt]] [[Thể loại:Số tiếng Việt]] mjouv2uqd3kpoqsby4r8rloyuj856sb ngay 0 92867 2362905 2357799 2026-05-31T06:46:07Z Trong Dang 52461 /* */ 2362905 wikitext text/x-wiki {{-vie-}} {{-etym-}} Từ {{inh|vi|mkh-vie-pro|*t-ŋar||ngay}}. Cùng gốc với {{cog|mtq|-}} Bi {{mention|mtq|ngăl}}, {{cog|scb|-}} [Rục] ''təŋal¹''. {{-pron-}} {{vie-pron}} {{-nôm-}} {{top}} *[[𣦍]]: [[ngay]], [[ngây]] *[[󰎟]]: [[ngay]] {{bottom}} {{-paro-}} {{đầu}} :* [[ngày]] :* [[ngây]] :* [[ngấy]] {{giữa}} :* [[ngáy]] :* [[ngầy]] :* [[ngậy]] {{cuối}} {{-adv-}} '''ngay''' # [[tiếp liền|Tiếp liền]] sau đó. #: ''Đi '''ngay''' kẻo muộn.'' #: ''Lời '''ngay'''.'' # [[trt|Trt]]. # [[từ|Từ]] [[biểu thị]] ý [[nhấn mạnh]] đúng vào [[thời gian]] địa điểm [[xác]] định. #: ''Nhà '''ngay''' mặt đường.'' #: '''''Ngay''' chiều nay sẽ chuyển.'' # [[từ|Từ]] dùng để [[nhấn mạnh]] [[mức độ]] của [[sự việc]] [[nêu]] [[ra]]. #: '''''Ngay''' cả.'' #: ''Tết cũng không được nghỉ .'' #: ''Sinh viên gì mà '''ngay''' bài tập về nhà cũng không chịu làm .'' #: '''''Ngay''' thư nó cũng không chịu viết .'' #: ''Nó tệ với '''ngay''' cả bố nó.'' {{-adj-}} '''ngay''' # {{like-entry|thẳng}} #: ''Đứng '''ngay''' .'' #: ''Cây '''ngay''' không sợ chết đứng. ([[tục ngữ]])'' # [[thẳng|Thẳng]] đừ, [[khó]] [[cử]] động hoặc không [[cử]] động được. #: '''''Ngay''' như khúc gỗ.'' #: '''''Ngay''' như tượng.'' # [[thật thà|Thật thà]], không gian dối. #: ''Tấm lòng '''ngay'''.'' #: ''Kẻ gian người '''ngay'''.'' {{-ref-}} {{R:FVDP}} {{R:WinVNKey:Lê Sơn Thanh}} [[Thể loại:Phó từ tiếng Việt]] [[Thể loại:Tính từ tiếng Việt]] {{-hal-}} {{-noun-}} {{head|hal|Danh từ}} # [[ngày]]. =={{langname|cmo}}== ==={{ĐM|adj}}=== {{head|cmo|Tính từ}} # [[xa]]. {{-aav-qal-}} {{-noun-}} {{pn}} # [[mặt trời]]. [[Thể loại:Danh từ tiếng Quảng Lâm]] {{-tyz-}} {{-pron-}} {{tyz-IPA}} {{-adv-}} {{pn}} # [[ngay#Tiếng Việt|ngay]]. #:{{ux|tyz|pây '''ngay'''|đi '''ngay'''|inline=1}} {{-adj-}} {{pn}} # [[ngay thẳng]], [[hiền lành]]. {{-ref-}} {{R:Lương Bèn}} {{catname|Phó từ|tiếng Tày}} {{catname|Tính từ|tiếng Tày}} imspu9bn4asjjivwjrekfbu5ovcg3u1 dày 0 93882 2362898 2361866 2026-05-31T06:22:34Z Trong Dang 52461 /* */ 2362898 wikitext text/x-wiki {{-vie-}} {{-etym-}} Từ {{inh|vi|mkh-vie-pro|*k-daj}}. Cùng gốc với {{cog|mtq|-}} Bi {{mention|mtq|tày}}. {{-pron-}} {{vie-pron}} {{-nôm-}} {{top}} *[[𠫅]]: [[đầy]], [[dầy]], [[dây]], [[dày]] *[[𠫆]]: [[giày]], [[đầy]], [[giầy]], [[dầy]], [[dây]], [[dày]] *[[𠼪]]: [[giày]], [[dầy]], [[dày]] {{mid}} *[[𣹓]]: [[đầy]], [[đày]], [[dày]] *[[苔]]: [[đầy]], [[dầy]], [[thai]], [[đày]], [[đài]], [[dây]], [[dày]] *[[󰐗]]: [[đầy]], [[dầy]], [[đày]], [[dày]] {{bottom}} {{-paro-}} {{đầu}} :* [[đáy]] :* [[đay]] :* [[dấy]] :* [[dạy]] :* [[day]] :* [[đầy]] :* [[đẫy]] :* [[đậy]] {{giữa}} :* [[đày]] :* [[dậy]] :* [[dây]] :* [[dãy]] :* [[đây]] :* [[đẩy]] :* [[đấy]] {{cuối}} {{-adj-}} '''dày''' # {{term|Vật hình khối}} Có [[khoảng cách]] bao nhiêu đó giữa [[hai mặt]] đối [[nhau]], theo [[chiều]] có [[kích thước]] nhỏ [[nhất]] (gọi là bề dày) của [[vật]]. #: ''Tấm ván dài 2 mét, rộng 0,5 mét, '''dày''' 2 centimet.'' # Có [[bề]] [[dày]] lớn [[hơn]] [[mức]] [[bình thường]] hoặc lớn [[hơn]] [[so với]] [[những]] [[vật]] khác. #: ''Vỏ quýt '''dày''' có móng tay nhọn ([[tục ngữ]]).'' #: ''Chiếc áo bông '''dày''' cộm.'' #: ''Tường xây rất '''dày'''.'' # Có [[tương]] đối nhiều [[đơn vị]] hoặc nhiều [[thành tố]] [[sát]] vào [[nhau]]. #: ''Mái tóc '''dày'''.'' #: ''Cấy '''dày'''.'' #: ''Sương mù '''dày'''.'' # Nhiều, [[do]] được [[tích]] [[luỹ]] [[liên tục]] trong [[quá trình]] [[lâu dài]] (nói về yếu tố tinh thần). #: '''''Dày''' kinh nghiệm.'' #: '''''Dày''' công luyện tập.'' #: ''Ơn sâu, nghĩa '''dày'''.'' {{-see also-}} * [[giày]] {{-ref-}} {{R:FVDP}} {{R:WinVNKey:Lê Sơn Thanh}} [[Thể loại:Tính từ tiếng Việt]] {{-tyz-}} {{-pron-}} {{tyz-IPA}} {{-adj-}} {{pn}} # [[xấu]], [[kém]]. # [[yếu]]. {{-ref-}} {{R:Lương Bèn}} {{catname|Tính từ|tiếng Tày}} 1idl6ta62js9jmxgizqpzabdsters8e 0 95471 2362896 2274321 2026-05-31T06:18:05Z Trong Dang 52461 /* */ 2362896 wikitext text/x-wiki {{-vie-}} {{-etym-}} Từ {{inh|vi|mkh-vie-pro|*pɔːʔ}}. Cùng gốc với {{cog|nuo|pỏ}}, {{cog|aem|-}} ''pɑːˀ''. {{-pron-}} {{vie-pron}} {{-nôm-}} {{top}} *[[𣔩]]: [[bó]] *[[咘]]: [[bó]], [[bú]], [[vú]] *[[抪]]: [[bó]], [[phô]] {{mid}} *[[補]]: [[bủa]], [[vỏ]], [[bù]], [[bỏ]], [[bổ]], [[bồ]], [[bõ]], [[bò]], [[bó]] *[[𥿠]]: [[bủa]], [[bố]], [[bó]], [[vó]] {{bottom}} {{-paro-}} {{đầu}} :* [[bộ]] :* [[bổ]] :* [[bô]] :* [[bõ]] :* [[bỏ]] :* [[Bo]] :* [[bờ]] :* [[bợ]] {{giữa}} :* [[bố]] :* [[bồ]] :* [[bọ]] :* [[bõ]] :* [[bò]] :* [[bơ]] :* [[bở]] {{cuối}} {{-noun-}} '''bó''' # [[toàn bộ|Toàn bộ]] [[nói chung]] những [[vật]] [[rời]] được lại [[với nhau]]. #: ''Một '''bó''' hoa.'' #: '''''Bó''' đuốc.'' {{-verb-}} '''bó''' # Làm cho nhiều [[vật]] [[rời]] được [[giữ]] [[chặt]] lại [[với nhau]] bằng [[dây buộc]]. #: ''Lúa đã '''bó''' xong.'' # [[bọc|Bọc]] [[chặt]]. #: ''Chiếc áo '''bó''' sát lấy thân.'' # [[buộc|Buộc]] và [[cố định]] [[chỗ]] [[xương]] bị [[gãy]]. #: '''''Bó''' bột (thạch cao).'' # {{@|kết hợp hạn chế}} [[bao|Bao]] thành một [[vành]] [[xung quanh]]. #: ''Hàng gạch '''bó''' hè.'' #: ''Thềm nhà '''bó''' đá.'' # [[giữ lại|Giữ lại]], [[kìm]] lại trong [[phạm vi]] [[chật hẹp]], không cho [[tự do]] [[hoạt động]]. #: ''Cái khó '''bó''' cái khôn.'' (tục ngữ) #: '''''Bó''' cẳng.'' {{-ref-}} {{R:FVDP}} {{R:WinVNKey:Lê Sơn Thanh}} [[Thể loại:Danh từ tiếng Việt]] [[Thể loại:Động từ tiếng Việt]] {{-tyz-}} {{-pron-}} {{tyz-IPA}} {{-noun-}} {{pn}} # [[nguồn]] [[nước]]. # [[mỏ]]. # [[giếng]]. {{-ref-}} * {{R:Lương Bèn}} {{catname|Danh từ|tiếng Tày}} mzqrsv7lvtubpb2u06f4rd455nr6hz0 fossilology 0 123131 2362695 2362575 2026-05-30T14:41:55Z TheHighFighter2 42988 /* Tiếng Anh */ 2362695 wikitext text/x-wiki =={{langname|en}}== ==={{đm|etym}}=== {{ety|en|:af|fossil|-ology|text=+|tree=1}} ==={{đm|n}}=== {{en-noun|-}} # [[hoá thạch học|Hoá thạch học]]. ===={{đm|syn}}==== * [[fossilogy]] ==={{ĐM|ref}}=== {{R:FVDP|db=ev}} mejokb6886o4vyubj5s2kh53goaoiac ba hoa 0 129900 2362939 2165428 2026-05-31T07:56:07Z Trong Dang 52461 /* */ 2362939 wikitext text/x-wiki {{-vie-}} {{-etym-}} Từ {{bor|vi|fr|bavard}}. {{-pron-}} {{vie-pron}} {{-verb-}} '''ba hoa''' # {{term|Tt.}} [[nói|Nói]] nhiều, [[phóng]] đại quá [[sự thật]], có ý [[khoe khoang]]. #: ''Nó chỉ '''ba hoa''' thế thôi chứ có biết gì đâu.'' #: ''Ăn nói '''ba hoa''' một tấc lên trời.'' {{-ref-}} {{R:FVDP}} [[Thể loại:Động từ tiếng Việt]] 7qzsjzx7tsnizjzs90zco1kmwj9fn9d thưởng thức 0 143093 2362947 2015837 2026-05-31T08:21:16Z Trong Dang 52461 /* */ 2362947 wikitext text/x-wiki {{-vie-}} {{-etym-}} {{vi-etym-sino|賞識}}. {{-pron-}} {{vie-pron}} {{-paro-}} :* [[thương thực]] :* [[thường thức]] {{-verb-}} '''thưởng thức''' # [[xem|Xem]] để [[hưởng]] cái [[hay]], cái [[đẹp]]. #: '''''Thưởng thức''' thơ nôm cổ.'' {{-ref-}} {{R:FVDP}} [[Thể loại:Động từ tiếng Việt]] qe7eyv6em1dklt92sfg5kruscbjmoo6 sư phụ 0 143293 2362919 2007123 2026-05-31T07:02:17Z Trong Dang 52461 /* */ 2362919 wikitext text/x-wiki {{-vie-}} {{-info-}} {{-etym-}} {{vi-etym-sino|師父}}. {{-pron-}} {{vie-pron}} {{-noun-}} '''sư phụ''' # [[từ|Từ]] [[người]] đi [[học]] [[tôn xưng]] [[thầy học]] của [[mình]] (cũ). Thường thì được dùng để gọi [[thầy giáo]] [[dạy]] [[võ]] {{-trans-}} * {{eng}}: [[master]] * {{zh}}: [[师傅]] {{-ref-}} {{R:FVDP}} [[Thể loại:Danh từ tiếng Việt]] 582t5yn4osomj4cf4qvrmc01lpyn5jj sư đệ 0 143296 2362916 1926057 2026-05-31T07:00:44Z Trong Dang 52461 /* */ 2362916 wikitext text/x-wiki {{-vie-}} {{-etym-}} {{vi-etym-sino|師弟}}. {{-pron-}} {{vie-pron}} {{-noun-}} '''sư đệ''' # [[thầy trò|Thầy trò]]. #: ''Tình '''sư đệ'''.'' {{-ref-}} {{R:FVDP}} [[Thể loại:Danh từ tiếng Việt]] sez7670xp8zy55hqf6h359uvo7o1pvx tửu quán 0 192463 2362910 2019093 2026-05-31T06:56:46Z Trong Dang 52461 /* */ 2362910 wikitext text/x-wiki {{-vie-}} {{-etym-}} {{vi-etym-sino|酒館}}. {{-pron-}} {{vie-pron}} {{-noun-}} '''tửu quán''' # [[quán|Quán]] [[bán]] [[rượu]] và đồ [[nhắm]]. {{-ref-}} {{R:FVDP}} [[Thể loại:Danh từ tiếng Việt]] 52t8szyque9hc10p1qeq9imudq4hy4l tế lễ 0 192841 2362909 2016618 2026-05-31T06:55:56Z Trong Dang 52461 /* */ 2362909 wikitext text/x-wiki {{-vie-}} {{-etym-}} {{vi-etym-sino|祭禮}}. {{-pron-}} {{vie-pron}} {{-paro-}} :* [[Tề Lễ]] {{-verb-}} '''tế lễ''' # [[cúng bái|Cúng bái]] [[nói chung]]. {{-ref-}} {{R:FVDP}} [[Thể loại:Động từ tiếng Việt]] 3ivjlntl15g3b82cj3u7jxvi0lw7qz3 khốn đốn 0 193436 2362936 1864361 2026-05-31T07:48:20Z Trong Dang 52461 /* */ 2362936 wikitext text/x-wiki {{-vie-}} {{-etym-}} {{vi-etym-sino|困頓}}. {{-pron-}} {{vie-pron}} {{-adv-}} '''khốn đốn''' # [[cùng khổ|Cùng khổ]], [[khó khăn]]. #: ''Làm công '''khốn đốn''' lắm mới kiếm được hai bữa ăn.'' {{-ref-}} {{R:FVDP}} [[Thể loại:Phó từ tiếng Việt]] 9i1it1us3qen53qmmejt2pkz5atg2jm truyền đạt 0 194595 2362929 2202479 2026-05-31T07:16:25Z Trong Dang 52461 /* Tiếng Việt */ 2362929 wikitext text/x-wiki == {{langname|vi}} == === {{ĐM|etym}} === {{vi-etym-sino|傳達}}. === {{ĐM|pron}} === {{vie-pron}} === {{ĐM|verb}} === {{vie-verb}} # [[báo|Báo]] cho mọi người [[biết]]. #: {{ux|vi|'''Truyền đạt''' một chỉ thị của cấp trên.}} === {{ĐM|reference}} === {{R:FVDP}} 8e2chexa3pd4acxn6fzpz5y5ou0l9bq hồ lô 0 198317 2362906 1855424 2026-05-31T06:54:07Z Trong Dang 52461 /* */ 2362906 wikitext text/x-wiki {{-vie-}} {{-etym-}} {{vi-etym-sino|葫蘆}}. {{-pron-}} {{vie-pron}} {{-paro-}} :* [[hồ lơ]] {{-dfn-}} '''hồ lô''' # [[bầu|Bầu]] đựng [[rượu]]. # [[xe|Xe]] [[lăn]] đường, có [[những]] [[bánh]] [[rộng]] và [[nặng]] dùng để [[nén]] đá xuống đường cho [[phẳng]]. {{-ref-}} {{R:FVDP}} 48ovctb6o8xh9csar6foh8vm8tao9cq tiên tri 0 200153 2362930 2180098 2026-05-31T07:16:57Z Trong Dang 52461 /* */ 2362930 wikitext text/x-wiki {{-vie-}} {{-etym-}} {{vi-etym-sino|先知}}. {{-pron-}} {{vie-pron}} {{-verb-}} '''tiên tri''' # [[biết|Biết]] trước [[những]] [[việc]] [[mãi]] [[về sau]] [[mới]] [[xảy ra]]. #: ''Bậc '''tiên tri'''.'' #: ''Lời '''tiên tri'''.'' {{-ref-}} {{R:FVDP}} [[Thể loại:Động từ tiếng Việt]] c3jm12ceqneiac0a7nd3c0tn4nbjmg5 nghĩa phụ 0 200260 2362911 2010352 2026-05-31T06:57:24Z Trong Dang 52461 /* */ 2362911 wikitext text/x-wiki {{-vie-}} {{-etym-}} {{vi-etym-sino|義父}}. {{-pron-}} {{vie-pron}} {{-noun-}} '''nghĩa phụ''' # [[bố nuôi|Bố nuôi]]. {{-ref-}} {{R:FVDP}} [[Thể loại:Danh từ tiếng Việt]] 79fjdmvhoi9nijkh2ncd2nzsui8q4w7 pháp sư 0 200392 2362926 1892144 2026-05-31T07:12:40Z Trong Dang 52461 /* */ 2362926 wikitext text/x-wiki {{-vie-}} {{-etym-}} {{vi-etym-sino|法師}}. {{-pron-}} {{vie-pron}} {{-noun-}} '''pháp sư''' # [[thầy|Thầy]] [[phù thủy]] (cũ). # Một [[chức sắc]] trong [[Phật giáo]]. {{-ref-}} {{R:FVDP}} [[Thể loại:Danh từ tiếng Việt]] bhz05l0en5fkwff1la8eg77s9qvke9w sư huynh 0 200412 2362917 1926048 2026-05-31T07:01:05Z Trong Dang 52461 /* */ 2362917 wikitext text/x-wiki {{-vie-}} {{-etym-}} {{vi-etym-sino|師兄}}. {{-pron-}} {{vie-pron}} {{-noun-}} '''sư huynh''' # [[từ|Từ]] dùng giữa [[tăng ni]] để [[gọi]] [[thân mật]] [[người]] [[có tuổi]] đạo [[cao]] [[hơn]] [[mình]]. {{-ref-}} {{R:FVDP}} [[Thể loại:Danh từ tiếng Việt]] 0yzoa32hq03bg7glwzljqs33vomrutg 0 235057 2362802 2021556 2026-05-31T02:38:37Z Hiyuune 50834 2362802 wikitext text/x-wiki {{character info}} =={{langname|mul}}== ==={{section|han}}=== {{Han char|rn=30|rad=口|as=10|sn=13|four=61081|canj=RJBC|ids=⿰口真,⿰口眞}} # [[người|Người]] [[đàn bà]] [[bẳn tính]], [[người]] [[đàn bà]] [[hay]] [[gắt gỏng]]; [[người]] [[đàn bà]] [[hay]] [[chửi rủa]]. ===={{section|drv}}==== * {{l|mul|[[𬉌]]}} ===={{section|ref}}==== * {{Han ref|kx=0202.300|dkj=04074|dj=0425.110|hdz=10665.090|uh=55D4}} =={{langname|ja}}== ==={{section|kanji}}=== {{ja-kanji|grade=|rs=口10}} ===={{section|reading}}==== {{ja-readings |goon=しん, でん |kanon=しん, てん |kun=いか-る}} =={{langname|zh}}== {{zh-forms|alt=謓,瞋,㥲}} ==={{section|glyph origin}}=== {{Han etym}} ==={{section|etym}} 1=== ===={{section|pron}}==== {{zh-pron |m=chēn |c=can1,zan1 |mc=y |oc=y |cat=v }} ===={{section|dfn}}==== {{head|zh|hanzi}} # [[giận dữ|Giận dữ]]. # [[la mắng|La mắng]]; [[quở trách]]. # {{alt form|zh|瞋}} ====={{section|compound}}===== {{col3|zh|嗔忿|嗔睨|嬌嗔|嗔色|嗔責|宜嗔宜喜|嗔怒|宜喜宜嗔|嗔詬|嗔怪|回嗔作喜|嗔道|嗔喝|雷嗔電怒|薄面含嗔|立眉嗔目|嗔目}} ==={{section|etym}} 2=== {{zh-see|闐|v}} ==={{section|ref}}=== * {{R:yue:mfccd}} 2nsfabhabrid3eb2vixtxutvbxe15sy ngủ gục 0 236352 2362902 2134480 2026-05-31T06:33:20Z ~2026-32288-27 61341 2362902 wikitext text/x-wiki {{-vie-}} {{-pron-}} {{vie-pron|ngủ|gục}} {{-verb-}} '''ngủ gục''' <!-- === ĐỊNH NGHĨA === --> # Ngủ một cách [[chập chờn]] trong một hoàn cảnh không thích hợp. Là con mẹ khọm già Lupita Jones # # {{-syn-}} <!-- === TỪ ĐỒNG NGHĨA === --> * [[ngủ gật]] {{-trans-}} <!-- === DỊCH === --> * {{eng}}: [[nod]], [[rowse]], [[doze]] * {{fra}}: [[piquer du nez]] [[Thể loại:Động từ tiếng Việt]] qe8zi9wvjuxlt1lbvcc0qzey54nbz3f 2362915 2362902 2026-05-31T07:00:30Z TheHighFighter2 42988 Đã lùi lại sửa đổi của [[Special:Contributions/~2026-32288-27|~2026-32288-27]] ([[User talk:~2026-32288-27|thảo luận]]) quay về phiên bản cuối của [[User:Renamed user 3b0ac64b1d74ce1fbe5382d087ed3d0b|Renamed user 3b0ac64b1d74ce1fbe5382d087ed3d0b]] 2134480 wikitext text/x-wiki {{-vie-}} {{-pron-}} {{vie-pron|ngủ|gục}} {{-verb-}} '''ngủ gục''' <!-- === ĐỊNH NGHĨA === --> # Ngủ một cách [[chập chờn]] trong một hoàn cảnh không thích hợp. # # {{-syn-}} <!-- === TỪ ĐỒNG NGHĨA === --> * [[ngủ gật]] {{-trans-}} <!-- === DỊCH === --> * {{eng}}: [[nod]], [[rowse]], [[doze]] * {{fra}}: [[piquer du nez]] [[Thể loại:Động từ tiếng Việt]] eadz8nulx1v6bukirx9ep806uoeyhyl tại hạ 0 243662 2362920 1936679 2026-05-31T07:02:43Z Trong Dang 52461 /* */ 2362920 wikitext text/x-wiki {{-vie-}} {{-etym-}} {{vi-etym-sino|在下}}. {{-pron-}} {{vie-pron}} {{-pronoun-}} '''tại hạ''' <!-- === ĐỊNH NGHĨA === --> # Xem [[tôi]] {{-trans-}} <!-- === DỊCH === --> * tiếng Anh: [[I]] * * {{mẫu}} [[Thể loại:Đại từ tiếng Việt]] rt1d658wfrwfl9ys8f3gly7fcuhvx0o 臨淄 0 254264 2362679 2000789 2026-05-30T13:58:54Z TheHighFighter2 42988 /* */ 2362679 wikitext text/x-wiki =={{langname|zh}}== {{zh-forms|s=临淄}} {{wp|zh:}} ==={{ĐM|pron}}=== {{zh-pron |m=Línzī |c=lam4 zi1 |oc=1,2,1 |cat=pn }} ==={{ĐM|pr-noun}}=== {{head|zh|Danh từ riêng}} # {{lb|zh|historical}} [[Lâm Truy]] {{gloss|[[kinh đô]] nước [[Tề]] thời [[Xuân Thu]]-[[Chiến Quốc]], ngày nay thuộc [[Truy Bác]]}}. # {{zh-div|區}} {{place|zh|quận|city/Truy Bác|p/Sơn Đông|c/Trung Quốc|t1=Lâm Truy}}. k3embk2m7av05yf5hz4ih3g6up7kxun let it be 0 254823 2362676 2009388 2026-05-30T13:34:03Z TheHighFighter2 42988 /* */ 2362676 wikitext text/x-wiki =={{langname|en}}== ==={{ĐM|pron}}=== * {{audio|en|En-au-let it be.ogg|a=AU}} ==={{ĐM|verb}}=== {{en-verb|<,,let>|head=~let:let be}} # {{lb|en|idiomatic}} Cứ để mọi chuyện diễn ra [[tự nhiên]]; cứ [[mặc kệ]] nó đi. #: {{ux|en|'''Let it be'''. The more you interfere, the worse it will get.|'''Cứ để vậy đi'''. Càng can thiệp mọi chuyện càng tệ hơn.}} ===={{ĐM|rel}}==== {{col|en |let be |so be it }} ===={{ĐM|see}}==== {{col|en |laissez faire }} ==={{ĐM|anagram}}=== * {{anagrams|en|a=beeiltt|betitle}} g75kt21hcooexysxc7ldk89r8744v9p civil war 0 258600 2362675 2014929 2026-05-30T13:25:02Z TheHighFighter2 42988 /* */ 2362675 wikitext text/x-wiki {{also|Civil War}} =={{langname|en}}== {{wp|en:}} ==={{ĐM|pron}}=== * {{audio|en|En-us-civil war.ogg|a=US}} ==={{ĐM|noun}}=== {{en-noun}} # [[nội chiến|Nội chiến]]. ===={{ĐM|der}}==== * {{l|en|Civil War}} {{cln|en|Phép nghịch hợp}} {{C|en|Loại hình chiến tranh}} jdna498777xava5q64aouiypulzq54s guerra civile 0 258622 2362761 2043348 2026-05-31T01:53:17Z TheHighFighter2 42988 /* */ 2362761 wikitext text/x-wiki =={{langname|it}}== {{wp|it:}} ==={{ĐM|noun}}=== {{it-noun|f}} # [[nội chiến|Nội chiến]]. 8pvpwspfiwc6w6t412xkrhbd1y4qpvh 2362770 2362761 2026-05-31T01:59:02Z Hiyuune 50834 2362770 wikitext text/x-wiki =={{langname|it}}== {{wp|it:}} ==={{ĐM|noun}}=== {{it-noun|f}} # [[nội chiến|Nội chiến]]. ===={{ĐM|rel}}==== {{col|it|guerra |guerra batteriologica |guerra biologica |guerriglia}} iozv8d00z7uubzucfpsx2yb81mxc8f1 guerra civil 0 258632 2362689 2040017 2026-05-30T14:17:39Z TheHighFighter2 42988 /* */ 2362689 wikitext text/x-wiki =={{langname|an}}== {{wp|an:}} ==={{ĐM|pron}}=== {{an-pr}} ==={{ĐM|noun}}=== {{an-noun|f|guerras civils}} # [[nội chiến|Nội chiến]]. =={{langname|ast}}== {{wp|ast:}} ==={{ĐM|noun}}=== {{ast-noun|f|guerres civiles}} # [[nội chiến|Nội chiến]]. =={{langname|ca}}== {{wp|ca:}} ==={{ĐM|pron}}=== * {{audio|ca|LL-Q7026 (cat)-Marvives-guerra civil.wav|a=Barcelona}} ==={{ĐM|noun}}=== {{ca-noun|f}} # [[nội chiến|Nội chiến]]. ===={{ĐM|der}}==== * {{l|ca|guerracivilista}} =={{langname|gl}}== {{wp|gl:}} ==={{ĐM|pron}}=== {{gl-pr|guèrra civil}} * {{hyph|gl|gue|rra ci|vil}} ==={{ĐM|noun}}=== {{gl-noun|f}} # [[nội chiến|Nội chiến]]. ===={{ĐM|der}}==== * {{l|gl|guerracivilista}} =={{langname|pt}}== {{wp|pt:}} ==={{ĐM|noun}}=== {{pt-noun|f}} # [[nội chiến|Nội chiến]]. ==={{ĐM|further}}=== * {{R:pt:Priberam}} =={{langname|es}}== {{wp|es:}} ==={{ĐM|pron}}=== {{es-pr|+<audio:LL-Q1321 (spa)-Marreromarco-guerra civil.wav<a:Venezuela>>}} ==={{ĐM|noun}}=== {{es-noun|f}} # [[nội chiến|Nội chiến]]. #* {{quote-journal|es|title=¿Cómo funciona el Partido Comunista de China?|magazine=w:CNN en Español|url=https://cnnespanol.cnn.com/2022/10/18/partido-comunista-china-como-funciona-orix|date=2022-10-18|passage=Las fuerzas de Mao Zedong, histórico líder del PCCh, ganaron la '''guerra civil''' china contra las fuerzas del Partido Nacional (Kuomintang) de Chiang Kai-Shek y fundaron en 1949 la República Popular China, en la que el PCCh es el único partido legal. Actualmente tiene 96.700.000 miembros.}} ===={{ĐM|der}}==== {{col|es|guerracivilismo|guerracivilista}} ===={{ĐM|desc}}==== * {{desc|tl|giyera sibil|bor=1}} ==={{ĐM|further}}=== * {{R:es:DRAE}} {{C|es|Chiến tranh}} gtd4luove3l4s78he5k8k8fq93vqfpv 2362690 2362689 2026-05-30T14:18:21Z TheHighFighter2 42988 2362690 wikitext text/x-wiki =={{langname|an}}== {{wp|an:}} ==={{ĐM|pron}}=== {{an-pr}} ==={{ĐM|noun}}=== {{an-noun|f|guerras civils}} # [[nội chiến|Nội chiến]]. =={{langname|ast}}== {{wp|ast:}} ==={{ĐM|noun}}=== {{ast-noun|f|guerres civiles}} # [[nội chiến|Nội chiến]]. =={{langname|pt}}== {{wp|pt:}} ==={{ĐM|noun}}=== {{pt-noun|f}} # [[nội chiến|Nội chiến]]. ==={{ĐM|further}}=== * {{R:pt:Priberam}} =={{langname|ca}}== {{wp|ca:}} ==={{ĐM|pron}}=== * {{audio|ca|LL-Q7026 (cat)-Marvives-guerra civil.wav|a=Barcelona}} ==={{ĐM|noun}}=== {{ca-noun|f}} # [[nội chiến|Nội chiến]]. ===={{ĐM|der}}==== * {{l|ca|guerracivilista}} =={{langname|gl}}== {{wp|gl:}} ==={{ĐM|pron}}=== {{gl-pr|guèrra civil}} * {{hyph|gl|gue|rra ci|vil}} ==={{ĐM|noun}}=== {{gl-noun|f}} # [[nội chiến|Nội chiến]]. ===={{ĐM|der}}==== * {{l|gl|guerracivilista}} =={{langname|es}}== {{wp|es:}} ==={{ĐM|pron}}=== {{es-pr|+<audio:LL-Q1321 (spa)-Marreromarco-guerra civil.wav<a:Venezuela>>}} ==={{ĐM|noun}}=== {{es-noun|f}} # [[nội chiến|Nội chiến]]. #* {{quote-journal|es|title=¿Cómo funciona el Partido Comunista de China?|magazine=w:CNN en Español|url=https://cnnespanol.cnn.com/2022/10/18/partido-comunista-china-como-funciona-orix|date=2022-10-18|passage=Las fuerzas de Mao Zedong, histórico líder del PCCh, ganaron la '''guerra civil''' china contra las fuerzas del Partido Nacional (Kuomintang) de Chiang Kai-Shek y fundaron en 1949 la República Popular China, en la que el PCCh es el único partido legal. Actualmente tiene 96.700.000 miembros.}} ===={{ĐM|der}}==== {{col|es|guerracivilismo|guerracivilista}} ===={{ĐM|desc}}==== * {{desc|tl|giyera sibil|bor=1}} ==={{ĐM|further}}=== * {{R:es:DRAE}} {{C|es|Chiến tranh}} iejkovdurgli4ciccbogl09p2nfm91h burgeroorlog 0 258652 2362674 2165982 2026-05-30T13:07:02Z TheHighFighter2 42988 /* */ 2362674 wikitext text/x-wiki =={{langname|af}}== ==={{ĐM|etymology}}=== Từ {{inherited|af|nl|burgeroorlog}}. Tương đương với {{compound|af|burger|oorlog}}. ==={{ĐM|pron}}=== * {{IPA4|af|/ˈbœr.χərˌʊə̯r.lɔχ/}} * {{audio|af|LL-Q14196 (afr)-Oesjaar-burgeroorlog.wav}} ==={{ĐM|noun}}=== {{af-noun|burgeroorloë}} # [[nội chiến|Nội chiến]]. {{C|af|Chiến tranh}} =={{langname|nl}}== {{wp|nl:}} ==={{ĐM|etymology}}=== Từ {{affix|nl|burger|t1=công dân, thường dân|oorlog|t2=chiến tranh}}. ==={{ĐM|pron}}=== * {{IPA4|nl|/ˈbʏr.ɣərˌoːr.lɔx/}} * {{audio|nl|Nl-burgeroorlog.ogg}} * {{hyph|nl|bur|ger|oor|log}} ==={{ĐM|noun}}=== {{nl-noun|m|-:en|+}} # [[nội chiến|Nội chiến]]. {{defdate|xuất hiện từ giữa thế kỷ 17}} #: {{syn|nl|burgerkrijg}} ===={{ĐM|der}}==== {{col|nl |burgeroorlogachtig }} ===={{ĐM|desc}}==== * {{desc|af|burgeroorlog}} {{C|nl|Chiến tranh}} 93l1vjgipw7fhm40511jqz0ok4vw9pb Bản mẫu:Tài liệu đề mục 10 260739 2362700 2302989 2026-05-30T15:18:24Z Kateru Zakuro 34522 2362700 wikitext text/x-wiki <div class="documentation" style="display:block; clear:both"> ---- :''[[:en:Help:Documenting templates|Tài liệu]] bên dưới được chuyển tải từ'' ''{{temp|Tài liệu đề mục}}.'' {{#invoke:documentation2|show|hr=above|notsubpage=-|nodoc=1}} === Cách sử dụng === :{{temp|{{PAGENAME}}}} === Xem thêm === *[[:Thể loại:Bản mẫu đề mục]] *[[:Thể loại:Bản mẫu đề mục loại từ]] *[[:Thể loại:Bản mẫu đề mục khác]]<!-- --><includeonly>{{#switch:{{{1}}}|1=[[Thể loại:Bản mẫu đề mục ngôn ngữ]]|2=[[Thể loại:Bản mẫu đề mục loại từ]]|3=[[Thể loại:Bản mẫu đề mục khác]]|[[Thể loại:Bản mẫu đề mục]]}}</includeonly><!-- --></div><noinclude>[[Thể loại:Tài liệu bản mẫu]]</noinclude> 32326wgm2llnwzazpq1r6f2hb00yvg2 Bản mẫu:-aar- 10 261469 2362698 2361282 2026-05-30T15:13:52Z Kateru Zakuro 34522 Thay thế bản mẫu [[:en:User:Ponor/wAwB| #wAwB]] 2362698 wikitext text/x-wiki __NOEDITSECTION__ =={{=nn|tiếng Afar|aar}}== <includeonly>{{Hcat-nn|[[Thể loại:Mục từ tiếng Afar]][[Thể loại:Mục từ dùng cấu trúc mục từ Wiktionary cũ]]}}</includeonly><noinclude> [[Thể loại:Bản mẫu ngôn ngữ|*{{PAGENAME}}]] {{Tài liệu đề mục}} </noinclude> fqnn2ok0fhp3i0df8wmbpswi8uuxqi3 2362703 2362698 2026-05-30T15:21:31Z Kateru Zakuro 34522 Thay thế bản mẫu [[:en:User:Ponor/wAwB| #wAwB]] 2362703 wikitext text/x-wiki __NOEDITSECTION__ =={{=nn|tiếng Afar|aar}}== <includeonly>{{Hcat-nn|[[Thể loại:Mục từ tiếng Afar]][[Thể loại:Mục từ dùng cấu trúc mục từ Wiktionary cũ]]}}</includeonly><noinclude> {{Tài liệu đề mục|1}} </noinclude> 1bwxv6fzwdk60cz77ti9899v6o27def bối cảnh 0 261762 2362913 2039577 2026-05-31T06:58:29Z Trong Dang 52461 /* */ 2362913 wikitext text/x-wiki {{-vie-}} {{-etym-}} {{vi-etym-sino|背景}}. {{-pron-}} {{vie-pron}} {{-noun-}} '''bối cảnh''' # [[điều kiện|Điều kiện]] [[lịch sử]], hoặc [[hoàn cảnh]] [[chung]] có [[tác dụng]] [[đối]] với một [[con người]], hoặc một [[sự kiện]]. #:''trong bối cảnh hội nhập với quốc tế'' #{{like-entry|phông nền}} {{-ref-}} {{R:Tratu}} [[Thể loại:Danh từ tiếng Việt]] 7ds8am9juzz5yx6p1r8qkmbf2uqhd1a Mô đun:it-headword 828 262506 2362772 2300542 2026-05-31T02:00:00Z TheHighFighter2 42988 2362772 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["past 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 = "past participles" 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 tjuk5jihqh72q9piod1k060tsfa7vtm công tử 0 263960 2362914 2049417 2026-05-31T06:59:07Z Trong Dang 52461 /* */ 2362914 wikitext text/x-wiki {{-vie-}} {{-etym-}} {{vi-etym-sino|公子}}. {{-pron-}} {{vie-pron}} {{-noun-}} {{pn}} # [[con trai|Con trai]] [[nhà quan]], [[nhà]] [[quyền quý]] [[thời phong kiến]] (có thể dùng để xưng gọi). #: '''''Công tử''' Bạc Liêu.'' {{-ref-}} {{R:Tratu|vi|vi}} {{catname|Danh từ|tiếng Việt}} 6th0bb96adj1gsqgtcou67fyaztmjuo oʻn 0 265560 2362835 2055468 2026-05-31T03:31:33Z Kelly zhrm 58416 2362835 wikitext text/x-wiki {{also|Phụ lục:Biến thể của "on"}} =={{langname|uz}}== {{number box|uz|10}} {{uz-variant|a=ئون|c=ўн|r=oʻn|af=اۉن}} ==={{ĐM|etym}}=== {{inh+|uz|chg|اون|tr=ʾūn|ts=ʾōn}}, từ {{inh|uz|trk-pro|*ōn|t=mười}}. ==={{ĐM|pron}}=== * {{IPA4|uz|/ʔon/}} * {{hyph|uz|oʻn}} ==={{ĐM|numeral}}=== {{head|uz|Số từ}} # {{cln|uz|Số đếm}} [[mười|Mười]]. r4912ojruopfw271d8erw6wlzwzhro9 Wiktionary:GUS2Wiki 4 267278 2362677 2357393 2026-05-30T13:53:06Z Alexis Jazz 41773 Updating gadget usage statistics from [[Special:GadgetUsage]] ([[phab:T121049]]) 2362677 wikitext text/x-wiki {{#ifexist:Project:GUS2Wiki/top|{{/top}}|This page provides a historical record of [[Special:GadgetUsage]] through its page history. To get the data in CSV format, see wikitext. To customize this message or add categories, create [[/top]].}} Dữ liệu dưới đây được đưa vào vùng nhớ đệm và được cập nhật lần cuối lúc 2026-05-28T23:54:15Z. Tối đa có sẵn {{PLURAL:5000|một kết quả|5000 kết quả}} trong vùng nhớ đệm. {| class="sortable wikitable" ! Tiện ích !! data-sort-type="number" | Số người dùng !! data-sort-type="number" | Số thành viên tích cực |- |AcceleratedFormCreation || 6 || 3 |- |AjaxEdit || 4 || 3 |- |CommentsInLocalTime || 14 || 2 |- |DejaVu Sans || 68 || 3 |- |ShowIDs || 2 || 2 |- |TabbedLanguages || 8 || 3 |- |Twinkle || 7 || 4 |- |UTCLiveClock || 11 || 2 |- |hotcat || 74 || 7 |- |linkify || 32 || 1 |- |navpop || 64 || 2 |- |purgetab || 67 || 3 |- |removeAccessKeys || 14 || 0 |- |tot || 5 || 0 |- |wiked || 58 || 0 |} * [[Đặc biệt:GadgetUsage]] * [[m:Meta:GUS2Wiki/Script|GUS2Wiki]] <!-- data in CSV format: AcceleratedFormCreation,6,3 AjaxEdit,4,3 CommentsInLocalTime,14,2 DejaVu Sans,68,3 ShowIDs,2,2 TabbedLanguages,8,3 Twinkle,7,4 UTCLiveClock,11,2 hotcat,74,7 linkify,32,1 navpop,64,2 purgetab,67,3 removeAccessKeys,14,0 tot,5,0 wiked,58,0 --> q6t078rcrexb57hy3boy87zr4ptd2i8 Thể loại:Mục từ tiếng Newa 14 268287 2362726 2065615 2026-05-31T00:08:24Z TheHighFighter2 42988 /* */ 2362726 wikitext text/x-wiki {{auto cat}} eomzlm5v4j7ond1phrju7cnue91g5qx yigirma 0 270019 2362834 2071119 2026-05-31T03:29:21Z Kelly zhrm 58416 2362834 wikitext text/x-wiki =={{langname|uz}}== {{number box|uz|20}} ==={{ĐM|etym}}=== Từ {{inh|uz|trk-pro|*yẹgirmi|t=hai mươi}}. ==={{ĐM|numeral}}=== {{head|uz|Số từ}} # {{cln|uz|Số đếm}} [[hai mươi|Hai mươi]]. 5cdla6m2xc0om9xoribwh0ev0yunekg hiến tế 0 272716 2362925 2088228 2026-05-31T07:12:04Z Trong Dang 52461 /* */ 2362925 wikitext text/x-wiki {{-vie-}} {{-info-}} {{-etym-}} {{vi-etym-sino|獻祭}}. {{-pron-}} {{vie-pron}} {{-verb-}} {{pn}} # [[hiến tặng|Hiến tặng]], cung cấp [[đồ vật]], thực phẩm hoặc cuộc sống của con người hay động vật cho một mục đích cao hơn như đối với một [[vị thần]], [[thần linh]] như một sự ủng hộ hay [[thờ cúng]]. #: ''Lễ '''hiến tế''' động vật.'' {{-trans-}} * {{eng}}: [[sacrifice]] {{catname|Động từ|tiếng Việt}} 20f5vv6r28bpaspjq5mz7zl6nc2ku5y bình thân 0 276051 2362908 2088137 2026-05-31T06:55:22Z Trong Dang 52461 /* */ 2362908 wikitext text/x-wiki {{-vie-}} {{-etym-}} {{vi-etym-sino|平身}}. {{-pron-}} {{vie-pron}} {{-verb-}} {{pn}} # (Đang [[quỳ]] [[lạy]]) [[đứng dậy]] và [[thẳng]] [[người]] [[lên]] ([[thường dùng]] làm [[tiếng]] [[xướng]] trong [[tế lễ]] [[thời]] trước). #: ''Người chủ tế nghe xướng '''“Bình thân”''' liền đứng thẳng lên.'' {{-ref-}} {{R:Tratu|vi|vi}} {{catname|Động từ|tiếng Việt}} mbqxr30zm03cfkfu8zwhbulakehk7bi dương thế 0 278220 2362922 2190380 2026-05-31T07:05:15Z Trong Dang 52461 /* */ 2362922 wikitext text/x-wiki {{-vie-}} {{-etym-}} {{vi-etym-sino|陽世}}. {{-pron-}} {{vie-pron}} {{-noun-}} {{pn}} # Như '''''[[dương gian]]'''''. {{-syn-}} * [[trần thế]] {{mẫu}} {{catname|Danh từ|tiếng Việt}} {{-vi-m-}} {{-noun-}} {{mkh-mvi-noun}} # {{l|vi|dương thế}}, {{l|vi|dương gian}}. {{-desc-}} * {{desc|vi|dương thế}} {{-ref-}} * {{R:VBL}} 4rlt6ovxxydjf066mbvin7uxtldgxg7 điện báo 0 282406 2362928 2103081 2026-05-31T07:15:58Z Trong Dang 52461 /* */ 2362928 wikitext text/x-wiki {{-vie-}} {{-etym-}} {{vi-etym-sino|電報}}. {{-pron-}} {{vie-pron}} {{-noun-}} {{pn}} # Phương thức truyền [[thông tin]] đi xa bằng [[tín hiệu]] điện. {{catname|Danh từ|tiếng Việt}} gb90gk8ln1s465axo08adbc10ea8307 ýigrimi 0 284639 2362684 2107864 2026-05-30T14:07:28Z Kelly zhrm 58416 2362684 wikitext text/x-wiki =={{langname|tr}}== {{number box|tk|20}} ==={{ĐM|etym}}=== {{inh+|tk|trk-pro|*yẹgirmi|t=hai mươi}}. ==={{ĐM|pron}}=== * {{hyph|tk|ýig|ri|mi}} ==={{ĐM|numeral}}=== {{head|tk|Số từ|cat2=Số đếm}} # [[hai mươi|Hai mươi]]. ==={{ĐM|further}}=== * {{R:tk:Enedilim}} * {{R:tk:webonary}} 42ar12rllyd85dlasux18w3dmkd9okx Bản mẫu:-aak- 10 288365 2362696 2361279 2026-05-30T15:13:16Z Kateru Zakuro 34522 Thay thế bản mẫu [[:en:User:Ponor/wAwB| #wAwB]] 2362696 wikitext text/x-wiki __NOEDITSECTION__ =={{=nn|tiếng Ankave|aak}}== <includeonly>{{Hcat-nn|[[Thể loại:Mục từ tiếng Ankave]][[Thể loại:Mục từ dùng cấu trúc mục từ Wiktionary cũ]]}}</includeonly><noinclude> [[Thể loại:Bản mẫu ngôn ngữ|*{{PAGENAME}}]] {{Tài liệu đề mục}}</noinclude> cvbz9yql5yxxajgkqqj2tqysy683dbe 2362701 2362696 2026-05-30T15:21:09Z Kateru Zakuro 34522 Thay thế bản mẫu [[:en:User:Ponor/wAwB| #wAwB]] 2362701 wikitext text/x-wiki __NOEDITSECTION__ =={{=nn|tiếng Ankave|aak}}== <includeonly>{{Hcat-nn|[[Thể loại:Mục từ tiếng Ankave]][[Thể loại:Mục từ dùng cấu trúc mục từ Wiktionary cũ]]}}</includeonly><noinclude> {{Tài liệu đề mục|1}}</noinclude> eiape27bo54xb2abulinflvmoop0p5v yedi 0 288532 2362680 2158530 2026-05-30T14:01:51Z Kelly zhrm 58416 2362680 wikitext text/x-wiki {{also|yedí|yeᶁi|ýedi}} =={{langname|crh}}== {{crh-variant|c=еди}} {{number box|crh|7}} ==={{ĐM|etym}}=== Từ {{inh|crh|trk-pro|*yẹt(t)i|t=bảy}}. ==={{ĐM|numeral}}=== {{head|crh|Số từ}} # {{cln|crh|Số đếm}} [[bảy|Bảy]]. ==={{ĐM|ref}}=== * {{R:crh:Luğatçıq}} {{c|crh|Bảy}} =={{langname|tr}}== {{number box|tr|7}} ==={{ĐM|pron}}=== * {{IPA4|tr|/je.di/}} * {{audio|tr|LL-Q256 (tur)-ToprakM-yedi.wav}} ==={{ĐM|etym}} 1=== {{inh+|tr|ota|یدی|tr=yedi}}, {{inh|tr|trk-pro|*yẹt(t)i||bảy}}. Cùng gốc với {{cog|otk|𐰘𐰃𐱅𐰃|tr=yeti|t=seven}}.<ref>{{R:otk:Bitig|jiti|110}}</ref> ===={{ĐM|numeral}}==== {{head|tr|Số từ}} # {{cln|tr|Số đếm}} [[bảy|Bảy]]. ==={{ĐM|etym}} 2=== ===={{ĐM|v}}==== {{head|tr|Biến thể hình thái động từ}} # {{tr-verb form of|yemek}} ==={{ĐM|ref}}=== <references/> =={{langname|uz}}== ==={{ĐM|v}}=== {{head|uz|Biến thể hình thái động từ}} # {{infl of|uz|yemoq||3|s|def|past}} 6uzmvh8x2z7ktksjduo6u49q7pkptch 2362681 2362680 2026-05-30T14:02:16Z Kelly zhrm 58416 /* {{ĐM|etym}} 1 */ 2362681 wikitext text/x-wiki {{also|yedí|yeᶁi|ýedi}} =={{langname|crh}}== {{crh-variant|c=еди}} {{number box|crh|7}} ==={{ĐM|etym}}=== Từ {{inh|crh|trk-pro|*yẹt(t)i|t=bảy}}. ==={{ĐM|numeral}}=== {{head|crh|Số từ}} # {{cln|crh|Số đếm}} [[bảy|Bảy]]. ==={{ĐM|ref}}=== * {{R:crh:Luğatçıq}} {{c|crh|Bảy}} =={{langname|tr}}== {{number box|tr|7}} ==={{ĐM|pron}}=== * {{IPA4|tr|/je.di/}} * {{audio|tr|LL-Q256 (tur)-ToprakM-yedi.wav}} ==={{ĐM|etym}} 1=== {{inh+|tr|ota|یدی|tr=yedi}}, {{inh|tr|trk-pro|*yẹt(t)i||bảy}}. Cùng gốc với {{cog|otk|𐰘𐰃𐱅𐰃|tr=yeti|t=bảy}}.<ref>{{R:otk:Bitig|jiti|110}}</ref> ===={{ĐM|numeral}}==== {{head|tr|Số từ}} # {{cln|tr|Số đếm}} [[bảy|Bảy]]. ==={{ĐM|etym}} 2=== ===={{ĐM|v}}==== {{head|tr|Biến thể hình thái động từ}} # {{tr-verb form of|yemek}} ==={{ĐM|ref}}=== <references/> =={{langname|uz}}== ==={{ĐM|v}}=== {{head|uz|Biến thể hình thái động từ}} # {{infl of|uz|yemoq||3|s|def|past}} 70t8b692t9rh271tml1aew7i1qvwyo7 Bản mẫu:-aaq- 10 289065 2362697 2361280 2026-05-30T15:13:37Z Kateru Zakuro 34522 Thay thế bản mẫu [[:en:User:Ponor/wAwB| #wAwB]] 2362697 wikitext text/x-wiki __NOEDITSECTION__ =={{=nn|tiếng Đông Abenaki|aaq}}== <includeonly>{{Hcat-nn|[[Thể loại:Mục từ tiếng Đông Abenaki]][[Thể loại:Mục từ dùng cấu trúc mục từ Wiktionary cũ]]}}</includeonly><noinclude> [[Thể loại:Bản mẫu ngôn ngữ|*{{PAGENAME}}]] {{Tài liệu đề mục}} </noinclude> 8lgejcdr98lb6bdwryabmvv57kd0fl5 2362702 2362697 2026-05-30T15:21:20Z Kateru Zakuro 34522 Thay thế bản mẫu [[:en:User:Ponor/wAwB| #wAwB]] 2362702 wikitext text/x-wiki __NOEDITSECTION__ =={{=nn|tiếng Đông Abenaki|aaq}}== <includeonly>{{Hcat-nn|[[Thể loại:Mục từ tiếng Đông Abenaki]][[Thể loại:Mục từ dùng cấu trúc mục từ Wiktionary cũ]]}}</includeonly><noinclude> {{Tài liệu đề mục|1}} </noinclude> ioc92aopppuawyspfekp9hqoe5bqp3a chư vị 0 299639 2362907 2147268 2026-05-31T06:55:05Z Trong Dang 52461 /* */ 2362907 wikitext text/x-wiki {{-vie-}} {{-etym-}} {{vi-etym-sino|諸位}}. {{-pron-}} {{vie-pron}} {{-noun-}} {{pn}} # ''(Từ cũ, Kiểu cách)'' Từ dùng để [[xưng]] [[gọi]] [[chung]] [[tất cả]] những [[người]] đến [[dự]] cuộc [[họp]]; các vị. #: ''Mời '''chư vị''' an toạ.'' # Các vị [[thần]] [[về]] Đạo giáo. #: ''Thờ '''chư vị'''.'' {{catname|Danh từ|tiếng Việt}} c0vnashhwlqg5eo62z5hr61rwr016e9 Bản mẫu:*đề mục/a 10 306553 2362708 2349664 2026-05-30T16:41:46Z Hiyuune 50834 /* */ 2362708 wikitext text/x-wiki {{-aak-}} {{-aaq-}} {{-aar-}} {{-aas-}} {{-aav-qal-}} {{-aav-tam-}} {{-abg-}} {{-abh-}} {{-abk-}} {{-abq-}} {{-abr-}} {{-abs-}} {{-aca-}} {{-ace-}} {{-ach-}} {{-acw-}} {{-acy-}} {{-acz-}} {{-adj-}} {{-adv-}} {{-adx-}} {{-ady-}} {{-adz-}} {{-aem-}} {{-aes-}} {{-afr-}} {{-agj-}} {{-agq-}} {{-agx-}} {{-ahk-}} {{-aib-}} {{-aii-}} {{-aij-}} {{-aim-}} {{-ain-}} {{-aio-}} {{-aiw-}} {{-ajp-}} {{-aka-}} {{-akj-}} {{-akk-}} {{-akr-}} {{-akv-}} {{-akz-}} {{-alc-}} {{-ale-}} {{-ali-}} {{-alq-}} {{-alr-}} {{-alt-}} {{-alu-}} {{-alw-}} {{-amc-}} {{-amf-}} {{-amh-}} {{-aml-}} {{-ams-}} {{-amu-}} {{-anagram-}} {{-ane-}} {{-ang-}} {{-ani-}} {{-anm-}} {{-anp-}} {{-anq-}} {{-ant-}} {{-any-}} {{-aot-}} {{-apd-}} {{-apn-}} {{-apq-}} {{-apw-}} {{-apy-}} {{-aqc-}} {{-ara-}} {{-arc-}} {{-arg-}} {{-article-}} {{-arz-}} {{-asb-}} {{-ase-}} {{-asm-}} {{-ast-}} {{-atc-}} {{-atv-}} {{-aui-}} {{-aux-verb-}} {{-auz-}} {{-ava-}} {{-ave-}} {{-avk-}} {{-avu-}} {{-awn-}} {{-awx-}} {{-aym-}} {{-aze-}} {{-azo-}} fbfglxooevvgtc4raplqmbus2mz0zmp Bản mẫu:gu-ndecl-table 10 306604 2362973 2286116 2026-05-31T09:52:41Z Hiyuune 50834 2362973 wikitext text/x-wiki {{inflection-table-top|title=Biến cách của {{m-self|gu|{{pagename}}|tr=-}}{{#if:{{{title|}}}|&#32;{{{title}}}}}|palette=blue|tall=yes}} |- ! class="outer" | ! class="outer" | số ít ! class="outer" | số nhiều |- ! [[nominative|danh cách]] | {{l-self|gu|{{{1}}}|accel-form=nom{{! }}s}} | {{#if:{{{3<includeonly>|</includeonly>}}}|{{l-self|gu|[[{{{2}}}]], [[{{{3}}}]]|accel-form=nom{{! }}p}}|{{l-self|gu|{{{2}}}|accel-form=nom{{! }}p}}}} |- ! [[oblique|bổ cách]] | {{l-self|gu|{{{4}}}|accel-form=obl{{! }}s}} | {{l-self|gu|{{{5}}}|accel-form=obl{{! }}p}} |- ! [[vocative|hô cách]] | {{l-self|gu|{{{6}}}|accel-form=voc{{! }}s}} | {{l-self|gu|{{{7}}}|accel-form=voc{{! }}p}} |- ! [[instrumental|cách công cụ]] | {{l-self|gu|{{{8}}}|accel-form=ins{{! }}s}} | {{l-self|gu|{{{9}}}|accel-form=ins{{! }}p}} |- ! [[locative|định vị cách]] | {{l-self|gu|{{{10}}}|accel-form=loc{{! }}s}} | {{l-self|gu|{{{11}}}|accel-form=loc{{! }}p}} {{inflection-table-bottom}}<noinclude>{{tài liệu}}</noinclude> rcltdta9c9mze393prxi6xeqjdkunap Mô đun:id-pron 828 307195 2362988 2223248 2026-05-31T10:53:55Z Hiyuune 50834 2362988 Scribunto text/plain -- Based on [[Module:es-pronunc]] by Benwing2 and [[Module:ceb-pron]] by TagaSanPedroAko. -- Original module by Rex Aurorum, improved by TagaSanPedroAko. -- Partly rewritten by TagaSanPedroAko, merging code from [[Module:es-pronunc]] back into this module; {{tl-pr}} restructured -- to take inline modifiers, like {{es-pr}}. -- Modified for {{id-pr}}. local export = {} --[==[ FIXME: 1. Use apostrophe ' to mark irregular stress instead of macron (e.g 'a not ā) 2. Ability to fully detect plosives cluster with /r/ and /l/ 3. Placement of stress where a word has schwas needs to be smarter (see [[w:Malay phonology]] for details). In entries and [[jenderal]], {{id-pr))/{{id-IPA}} would place the stress on wrong position (i.e. ultimate instead of penultimate) and currently needs adding a macron on vowel at syllable where stress actually applies. This rule doesn't seem to apply to affixed words with penultimate schwas such as [[menentang]] (root [[tentang]], which has ultimate stress), which should be pronounced with ultimate stress, so stress have to be applied manually. 4. Allow Q against K e.g. [[bapak]] respelled 'bapaq' with syllabification 'ba.pak', [[rakyat]] respelled 'raqyat' with syllabification 'rak.yat', . [DONE] 5. Fix syllabification of words with R followed by J e.g. [[kerja]], [[perjalanan]]. [DONE] 6. Fix syllabification of words with K pronounced as glottal stop (and respelled Q) followed by any consonant e.g. [[rakyat]], [[dakwa]], [[bakso]]. [DONE] 7. Allow syllabification of words with E respelled É and È. [DONE] 8. Diphthongs should not be split in syllabification. [DONE] 9. Final /k/ should be devoiced. [DONE] 10. "EU" found in borrowings and place names from Acehnese and Sundanese should be just rendered with schwa. [DONE] 11. Insert a /w/ or /j/ in vowel cluster beginning with /u/ or /i/ respectively. [TODO] 12. Diphthongs (ai, au, ei, ui) should be transcribed in phonemic IPA as vowel+i̯/u̯ instead of vowel+glide (j or w) [DONE] 13. Schwa insertion in pt and ps clusters as standard pronunciation and silent as nonstandard or English influenced pronunciation ]==] local force_cat = false -- enable for testing local m_IPA = require("Module:IPA") local m_str_utils = require("Module:string utilities") local m_table = require("Module:table") local accent_qualifier_module = "Module:accent qualifier" local audio_module = "Module:audio" local headword_data_module = "Module:headword/data" local hyphenation_module = "Module:hyphenation" local labels_module = "Module:labels" local parse_utilities_module = "Module:parse utilities" local rhymes_module = "Module:rhymes" local set_utilities_module = "Module:set utilities" local lang = require("Module:languages").getByCode("id") local rfind = m_str_utils.find local rsubn = m_str_utils.gsub local rsplit = m_str_utils.split local toNFC = mw.ustring.toNFC local toNFD = mw.ustring.toNFD local trim = mw.text.trim local u = m_str_utils.char local ulen = m_str_utils.len local ulower = m_str_utils.lower local unpack = unpack or table.unpack -- Lua 5.2 compatibility local AC = u(0x0301) -- acute = ́ local GR = u(0x0300) -- grave = ̀ local CFLEX = u(0x0302) -- circumflex = ̂ local MAC = u(0x0304) -- macron local BR = u(0x0306) -- breve = ˘ local vowel = "aeéèiɨoòuəɛɔ" -- vowel local V = "[" .. vowel .. "]" local W = "[jw]" -- glide local NV = "[^" .. vowel .. "]" local accent = AC .. GR .. MAC .. BR local accent_c = "[" .. accent .. "]" local stress_c = "[" .. MAC .. BR .. "]" local ipa_stress = "ˈ" local ipa_stress_c = "[" .. ipa_stress .. "]" local separator = accent .. ipa_stress .. "# .-" local C = "[^" .. vowel .. separator .. "]" -- consonant local unstressed_words = m_table.listToSet { --prepositions "di", "ké", -- letter names. Excluding ones that also occur as regular words "a", "bé", "cé", "dé", "é", "èf", "gé", "ha", "i", "jé", "èl", "èm", "èn", "o", "pé", "ki", "èr", "té", "u", "vé", "wé", "èks", "yé", "zèt", "dan" -- conjunction } local unstressed_affixes = m_table.listToSet { -- NOTE: prefixes here aren't currently used with prefixes themselves because they are all assumed unstressed -- in the absence of an explicit accent marker.. "-an", "-in", "ber-", "di-", "meng-", "me-", "peng-", "pe-", "per-", "-nya", "-mu", "-ku" } local function track(page) require("Module:debug/track")("id-pron/" .. page) return true end -- 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 -- apply rsub() repeatedly until no change local function rsub_repeatedly(term, foo, bar) while true do local new_term = rsub(term, foo, bar) if new_term == term then return term end term = new_term end end -- Combine two sets of qualifiers, either of which may be nil or a list of qualifiers. Remove duplicate qualifiers. -- Return value is nil or a list of qualifiers. local function combine_qualifiers(qual1, qual2) if not qual1 then return qual2 end if not qual2 then return qual1 end local qualifiers = m_table.deepCopy(qual1) for _, qual in ipairs(qual2) do m_table.insertIfNot(qualifiers, qual) end return qualifiers end local function decompose(text) -- decompose everything but é, è, Javanese ò text = toNFD(text) text = rsub(text, "." .. "[" .. AC .. CFLEX .. GR .. "]", { ["e" .. AC] = "é", ["e" .. GR] = "è", ["o" .. GR] = "ò", -- O as in the Javanese place names "Solo", "Purwokerto", "Probolinggo" }) return text end local function remove_accents(str) str = decompose(str) str = rsub(str, "(.)" .. accent_c, "%1") return str end local function split_on_comma(term) if term:find(",%s") then return require(parse_utilities_module).split_on_comma(term) else return rsplit(term, ",") end end -- ĵ, ɟ and ć are used internally to represent [d͡ʒ], [j] and [t͡ʃ] -- function export.IPA(text) local debug = {} text = ulower(text) text = decompose(text) -- convert commas and en/en dashes to IPA foot boundaries text = rsub(text, "%s*[,–—]%s*", " | ") -- question mark or exclamation point in the middle of a sentence -> IPA foot boundary text = rsub(text, "([^%s])%s*[!?]%s*([^%s])", "%1 | %2") -- canonicalize multiple spaces and remove leading and trailing spaces local function canon_spaces(text) text = rsub(text, "%s+", " ") text = rsub(text, "^ ", "") text = rsub(text, " $", "") return text end text = canon_spaces(text) -- Make prefixes unstressed unless they have an explicit stress marker; also make certain -- monosyllabic words (e.g. [[di]], [[ke]], [[se-]], [[meng-]], etc.) without stress marks be -- unstressed. local words = rsplit(text, " ") for i, word in ipairs(words) do if rfind(word, "%-$") and not rfind(word, accent_c) or unstressed_words[word] then -- add BR to the last vowel not the first one -- adding the BR after the 'u' words[i] = rsub(word, "^(.*" .. V .. ")", "%1" .. BR) end end text = table.concat(words, " ") -- Convert hyphens to spaces text = rsub(text, "%-", " ") -- canonicalize multiple spaces again, which may have been introduced by hyphens text = canon_spaces(text) -- now eliminate punctuation text = rsub(text, "[!?']", "") -- put # at word beginning and end and double ## at text/foot boundary beginning/end text = rsub(text, " | ", "# | #") text = "##" .. rsub(text, " ", "# #") .. "##" table.insert(debug, text) --"i" or "u" as part of diphthongs. to indicate these should be separate sounds, add a period. text = rsub(text, "(" .. V .. ")i([#.])", "%1i̯%2") text = rsub(text, "(" ..V.. ")u([#.])", "%1u̯%2") -- syllable-initial X (e.g. in [[xenofobia]], [[xenon]], [[xilofon]]) text = rsub(text, "x("..V..")", "s%1") -- handle certain combinations; eu, kh, ng, ny and sy handling needs to go first, so is word-initial ps/pt text = rsub(text, "eu", "ə") -- as used in Acehnese and Sundanese (e.g. [[Lhokseumawe]]) text = rsub(text, "kh", "x") text = rsub(text, "ng", "ŋ") text = rsub(text, "ny", "ɲ") text = rsub(text, "sy", "ʃ") text = rsub(text, "([#])p([st])", "pə.%2") -- e.g. [[psikologi]], [[pterodaktil]] text = rsub(text, "bh", "b") -- in terms from Sanskrit e.g. [[bhakti]], [[bhayangkara]] table.insert(debug, text) --alphabet-to-phoneme text = rsub(text, "[ceéègjòqvy]", --["g"]="ɡ": U+0067 LATIN SMALL LETTER G → U+0261 LATIN SMALL LETTER SCRIPT G { ["c"] = "ć", ["e"] = "ə", ["é"] = "e", ["è"] = "ɛ", ["g"] = "ɡ", ["j"] = "ĵ", ["ò"] = "ɔ", ["q"] = "ʔ", ["y"] = "j" }) -- reduce any remaining double consonants (e.g. [[massa]], [[Makassar]], [[Tallo]]); text = rsub(text, "(" .. C .. ")%1", "%1") --syllable division local vowel_to_glide = { ["i"] = "j", ["o"] = "w", ["u"] = "w" } -- i, o and u between vowels -> j and w e.g. [[rangkaian]]) text = rsub_repeatedly(text, "(" .. V .. accent_c .. "*)([iou])(" .. V .. ")", function(v1, iou, v2) return v1 .. vowel_to_glide[iou] .. v2 end ) table.insert(debug, text) -- "mb", "mp", "nd", "nk", "nt" combinations text = rsub_repeatedly(text, "(m)([bp])([^hlrɟ" .. vowel .. separator .."])(" .. V .. ")", "%1%2.%3%4") text = rsub_repeatedly(text, "(n)([dkt])([^hlrɟ" .. vowel .. separator .. "])(" .. V .. ")", "%1%2.%3%4") text = rsub_repeatedly(text, "(n)([s])([^lrt" .. vowel .. separator .. "])(" .. V .. ")", "%1.%2%3%4") text = rsub_repeatedly(text, "(ŋ)([k])([^hlrɟ" .. vowel .. separator .. "])(" .. V .. ")", "%1%2.%3%4") text = rsub_repeatedly(text, "([r])([bćdfɡklmnpsʃvz])([^hlrɟ" .. vowel .. separator .. "])(" .. V .. ")", "%1%2.%3%4") text = rsub_repeatedly(text, "([r])([t])([sz]?)([^hlrɟsʃ" .. vowel .. separator .. "])(" .. V .. ")", "%1%2%3.%4%5") text = rsub_repeatedly(text, "(" .. V .. accent_c .. "*)(" .. C .. W .. "?" .. V .. ")", "%1.%2") text = rsub_repeatedly(text, "(" .. V .. accent_c .. "*" .. C .. "+)(" .. C .. C .. V .. ")", "%1.%2") text = rsub_repeatedly(text, "(" .. V .. accent_c .. "*" .. C .. ")(" .. C .. V .. ")", "%1.%2") text = rsub_repeatedly(text, "(" .. V .. accent_c .. "*" .. C .. "+)(" .. C .. C .. V .. ")", "%1.%2") text = rsub_repeatedly(text, "(" .. C .. ")%.s(" .. C .. ")", "%1s.%2") text = rsub_repeatedly(text, "(" .. V .. accent_c .. "*)("..V..")", "%1.%2") --fix diphthongs before stress is applied. text = rsub(text, "(" .. V .. ")([.])i̯([#.])", "%1i̯%3") text = rsub(text, "(" ..V.. ")([.])u̯([#.])", "%1u̯%3") table.insert(debug, text) local accent_to_stress_mark = { [MAC] = "ˈ", [BR] = "" } local function accent_word(word, syllables) -- Now stress the word. If any accent exists in the word (including macron indicating an unaccented word), -- put the stress mark(s) at the beginning of the indicated syllable(s). Otherwise, apply the default -- stress rule. if rfind(word, accent_c) then for i = 1, #syllables do syllables[i] = rsub(syllables[i], "^(.*)(" .. accent_c .. ")(.*)$", function(pre, accent, post) return accent_to_stress_mark[accent] .. pre .. post end ) end else -- Default stress rule. Words without vowels (e.g. IPA foot boundaries) don't get stress. if #syllables == 1 and rfind(word, V) then syllables[#syllables] = "ˈ" ..syllables[#syllables] -- Monosyllabic words with schwa don't get stress elseif #syllables == 2 and rfind(word, "([ə])(".. C .."?)([#])") then syllables[#syllables - 1] = "ˈ" .. syllables[#syllables - 1] elseif #syllables == 2 and rfind(word, "([ə])(".. C .."?)([.])") then syllables[#syllables] = "ˈ" .. syllables[#syllables] elseif #syllables >= 3 and rfind(word, "([.])(".. C .."?)([ə])(".. C .."?)([.])(".. C .."?)(".. V ..")(".. V .."?)(".. C .."?)(".. C .."?)([#])") then syllables[#syllables] = "ˈ" .. syllables[#syllables] elseif #syllables > 1 then syllables[#syllables - 1] = "ˈ" .. syllables[#syllables - 1] end end end local words = rsplit(text, " ") for j, word in ipairs(words) do -- accentuation local syllables = rsplit(word, "%.") accent_word(word, syllables) -- Reconstruct the word. words[j] = table.concat(syllables, ".") end text = table.concat(words, " ") -- suppress syllable mark before IPA stress indicator text = rsub(text, "%.(" .. ipa_stress_c .. ")", "%1") --make all primary stresses but the last one be secondary text = rsub_repeatedly(text, "ˈ(.+)ˈ", "ˌ%1ˈ") table.insert(debug,text) --correct final consonant placement before Y or W text = rsub(text,"([.])(".. C ..")([ɟjw])(" .. V .. ")","%2%1%3%4") table.insert(debug,text) text = rsub_repeatedly(text, "^([#]*)([ˈˌ])([#]*)", "%1%3%2") -- Move stress inside word boundary fix at start text = rsub_repeatedly(text, "([ ])([#]*)([ˈˌ])([#]*)", "%1%2%4%3") -- Move stress inside word boundary fix at start local id_IPA_table = { ["phonetic"] = text, ["phonemic"] = text, ["raw"] = text } for key, value in pairs(id_IPA_table) do text = id_IPA_table[key] --phonetic transcription if key == "phonetic" then table.insert(debug, text) --vowel plus glide to diphthong (to handle examples such as [[siomay]], [[Mongondow]], [[kuproy]]) text = rsub(text, "([aeou])([jɟ])([#.ˈ])", "%1i̯%3") text = rsub(text, "([a])w([#.ˈ])", "%1u̯%2") table.insert(debug, text) --change i, u in closed final syllables text = rsub(text, "(".. C .."?)i(".. C ..")([#])","%1ɪ%2%3") text = rsub(text, "(".. C .."?)u(".. C ..")([#])","%1ʊ%2%3") text = rsub(text, "(".. C .."?)e(".. C ..")([#])","%1ɛ%2%3") text = rsub(text, "(".. C .."?)o(".. C ..")([#])","%1ɔ%2%3") table.insert(debug, text) --i, u in closed stressed syllables with nasal coda text = rsub(text, "([ˈ])(".. C .. ")ɪ([mnŋ])([.#])","%1%2i%3%4") text = rsub(text, "([ˈ])(" .. C .. ")ʊ([mnŋ])([.#])","%1%2u%3%4") text = rsub(text, "([ˈ])(".. C .. ")ɛ([mnŋ])([.#])","%1%2e%3%4") text = rsub(text, "([ˈ])(" .. C .. ")ɔ([mnŋ])([.#])","%1%2o%3%4") table.insert(debug, text) -- prevent unreleased plosives before syllables starting with j or w text = rsub(text, "p([#.ˈ])([jw])", "p%1%2") text = rsub(text, "t([#.ˈ])([jw])", "t̪%1%2") text = rsub(text, "k([#.ˈ])([jw])", "k%1%2") text = rsub(text, "b([#.ˈ])([jw])", "b%1%2") text = rsub(text, "d([#.ˈ])([jw])", "d%1%2") text = rsub(text, "ɡ([#.ˈ])([jw])", "ɡ%1%2") -- then apply the usual final-stop unreleased rule safely text = rsub(text, "[bp]([#.ˈ])","p̚%1") text = rsub(text, "[dt]([#.ˈ])","t̚%1") text = rsub(text, "[ɡk]([#.ˈ])","k̚%1") --Indonesian /t/ is dental text = rsub(text, "t","t̪") --/n/ sandhi text = rsub(text,"([n])([ˈˌ# .]*[ćĵʃ])","ɲ%2") text = rsub(text,"([n])([ˈˌ# .]*[t])", "n̪%2") --V to F text = rsub(text, "v","f") --final fix for phonetic diphthongs text = rsub(text,"(".. V ..")ɪ̯","%1i̯") -- ai, ei text = rsub(text,"(".. V ..")ʊ̯","%1u̯") --au -- insert optional glottal stop between identical vowels (e.g., aa → a(ʔ)a) text = rsub(text, "([aeiouɛɔɪʊə])%.?%1", "%1.(ʔ)%1") mw.log(text) end table.insert(debug, text) -- convert fake symbols to real ones local final_conversions = { ["ć"] = "t͡ʃ", -- fake "c" to real "c" ["ɟ"] = "j", -- fake "i" to real "i" ["ĵ"] = "d͡ʒ" -- fake "j" to real "j" } text = rsub(text, "[ćɟĵ]", final_conversions) -- Do not have multiple syllable break consecutively text = rsub_repeatedly(text, "([.]+)", ".") text = rsub_repeatedly(text, "([.]?)(‿)([.]?)", "%2") -- remove # symbols at word and text boundaries text = rsub_repeatedly(text, "([.]?)#([.]?)", "") -- resuppress syllable mark before IPA stress indicator text = rsub(text, "%.(" .. ipa_stress_c .. ")", "%1") text = rsub_repeatedly(text, "([.]?)(" .. ipa_stress_c .. ")([.]?)", "%2") id_IPA_table[key] = canon_spaces(toNFC(text)) end return id_IPA_table end function export.show(frame) local params = { [1] = {}, ["pre"] = {}, ["bullets"] = {type = "number", default = 1}, } local parargs = frame:getParent().args local args = require("Module:parameters").process(parargs, params) local results = {} local text = args[1] or mw.loadData("Module:headword/data").pagename local IPA_result = export.IPA(text) table.insert(results, { pron = "/" .. IPA_result["phonemic"] .. "/" }) table.insert(results, { pron = "[" .. IPA_result["phonetic"] .. "]" }) local pre = args.pre and args.pre .. " " or "" local bullet = (args.bullets ~= 0) and "* " or "" return bullet .. pre .. m_IPA.format_IPA_full { lang = lang, items = results } end local function parse_gloss(arg) local poses, gloss if arg:find("%^") then poses, gloss = arg:match("^(.-)%^(.*)$") if gloss == "" then gloss = nil end else gloss = arg end if poses then poses = split_on_comma(poses) local m_headword_data = mw.loadData(headword_data_module) for i, pos in ipairs(poses) do poses[i] = m_headword_data.pos_aliases[pos] or pos end end return { poses = poses, gloss = gloss, } end -- Parse a raw accent spec, which is one or more comma-separated accent qualifiers. local function parse_accents(arg) return require(labels_module).split_labels_on_comma(arg) end -- Return the number of syllables of a phonemic or phonetic representation, which should have syllable dividers in it -- but no hyphens. local function get_num_syl_from_ipa(pron) -- Maybe we should just count vowels instead of the below code. pron = rsub(pron, "|", " ") -- remove IPA foot boundaries local words = rsplit(pron, " +") for i, word in ipairs(words) do -- IPA stress marks are syllable divisions if between characters; otherwise just remove. word = rsub(word, "(.)[ˌˈ](.)", "%1.%2") word = rsub(word, "[ˌˈ]", "") words[i] = word end -- There should be a syllable boundary between words. pron = table.concat(words, ".") return ulen(rsub(pron, "[^.]", "")) + 1 end -- Get the rhyme by truncating everything up through the last stress mark + any following consonants, and remove -- syllable boundary markers. local function convert_phonemic_to_rhyme(phonemic) -- NOTE: This works because the phonemic vowels are just [aeiou] possibly with diacritics that are separate -- Unicode chars. phonemic = rsplit(phonemic, " ") phonemic = phonemic[#phonemic] phonemic = rsub(rsub(phonemic, ".*[ˌˈ]", ""), "^" .. NV .. "*", ""):gsub("%.", "") phonemic = rsub_repeatedly(phonemic, "^[iu](" .. V .. ")", "%1" ) return phonemic end local function split_syllabified_spelling(spelling) spelling = "#" .. spelling .. "#" spelling = rsub_repeatedly(spelling, "%.([ #])", "·%1") spelling = rsub_repeatedly(spelling, "#", "") spelling = rsplit(spelling, "%.") for key, value in ipairs(spelling) do spelling[key] = rsub_repeatedly(value, "·", ".") end return spelling end -- "Align" syllabified respelling `syllab` to original spelling `spelling` by matching character-by-character, allowing -- for extra syllable and accent markers in the syllabification and certain mismatches in the consonants. The goal is to -- produce the appropriately syllabified version of the original spelling (the pagename) by matching characters in the -- syllabified respelling to the original spelling, putting the syllable boundaries in the appropriate places in the -- original spelling. -- -- If we encounter an extra syllable marker (.), we allow and keep it. If we encounter an extra accent marker in thes -- syllabification, we drop it. We allow for mismatches in capitalization and for certain other mismatches, e.g. extra -- glottal stops (written q), respelling of unadapted loanwords, etc. If we can't match, we return nil -- indicating the alignment failed. local function align_syllabification_to_spelling(syllab, spelling) local result = {} local function concat_result() -- Postprocess to remove dots (syllable boundaries) next to hyphens. return (toNFC(table.concat(result)):gsub("%.%-", "-"):gsub("%-%.", "-")) end -- Replace glottal stop (q) from respelling with k, as found for original -- spelling. (FIXME: Diacritics should be removed , but they're currently removed earlier, in -- syllabify_from_spelling(). We should probably get rid of the removal there and put it here.) syllab = decompose(syllab:gsub("ː", "")):gsub("7", "q") local syll_chars = rsplit(ulower(syllab), "") local spelling_chars = rsplit(spelling, "") local i = 1 local j = 1 local function matches(uci, ucj) -- Return true if a syllabified respelling character (uci) matches the corresponding spelling char (ucj). -- Both uci and ucj should be lowercase. -- Sound is at the key, values are the letters sound can match local matching_chars = { ["e"] = {"e", "a"}, ["k"] = {"k", "q"}, ["s"] = {"j", "c", "x"} } return uci == ucj or (matching_chars[uci] and m_table.contains(matching_chars[uci], ucj) and true) or false end local function silent_spelling_letter(ucj) return ucj == "h" or ucj == "'" or ucj == "-" end local function syll_at(pos) return syll_chars[pos] or "" end local function spell_at(pos) return spelling_chars[pos] or "" end local function uspell_at(pos) local c = spelling_chars[pos] return c and ulower(c) or "" end while i <= #syll_chars or j <= #spelling_chars do local uci = syll_at(i) local cj = spell_at(j) local ucj = uspell_at(j) if uci == "g" and syll_at(i - 1) == "n" and syll_at(i + 1) == "." and matches(syll_at(i + 2), ucj) and not matches(syll_at(i + 2), uspell_at(j + 1)) then -- As a special case, before checking whether the corresponding characters match, we have to skip an extra -- g in an -ng- sequence in the syllabified respelling if the corresponding spelling character matches the -- next respelling character (taking into account the syllable boundary). i = i + 1 elseif uci == "g" and ucj == "g" and uspell_at(j + 1) == TILDE then table.insert(result, cj) table.insert(result, uspell_at(j + 1)) i = i + 1 j = j + 2 elseif matches(uci, ucj) then table.insert(result, cj) i = i + 1 j = j + 1 elseif ucj == uspell_at(j - 1) and uci == "." and ucj ~= syll_at(i + 1) then -- See below. We want to allow for a doubled letter in spelling that is pronounced single, and preserve the -- doubled letter. But it's tricky in the presence of syllable boundaries on both sides of the doubled -- letter as well as doubled letters pronounced double. Specifically, there are three possibilities, -- exemplified by: -- (1) syll='Ma.ka.ssar', spelling='Makassar' -> 'Ma.ka.ssar'; -- (2) syll='Ta.llo', spelling='Tallo' -> 'Ta.llo'. table.insert(result, cj) j = j + 1 elseif silent_spelling_letter(ucj) and uci == "." and ucj ~= syll_at(i + 1) and not rfind(uspell_at(j + 1), V) then -- See below for apostrophe in spelling. This condition is parallel to the one directly above -- for silent doubled letters in spelling and handles the case of syllab='Abdurrahmān', spelling='Abdurahman', -- which should be syllabified 'Ab.du.rrah.man'. But we need a check to see that the next spelling character -- isn't a vowel, because in that case we want the silent letter to go after the period, e.g. -- syllab='Jumu.ah', spelling='Jumu'ah' -> 'Ju.mu.ah'. table.insert(result, cj) j = j + 1 elseif uci == "." then table.insert(result, uci) i = i + 1 elseif ucj == uspell_at(j - 1) then -- A doubled letter in spelling that is pronounced single. Examples: -- * syllab='mas.sa', spelling='massa' -> 'masa' (with s) -- * syllab='Ma.kas.sar', spelling='Makassar' -> 'Ma.ka.ssar' (with s) -- * syllab='Ka.a.ba', spelling='Kaaba' -> 'Kaa.ba' (with a) -- * syllab='Tal.lo', spelling='Tallo' -> 'Tal.lo' (with l) table.insert(result, cj) j = j + 1 elseif silent_spelling_letter(ucj) then -- A silent h, apostrophe or hyphen in spelling. Examples: -- * syllab='Ramadān', spelling='Ramadhan' -> 'Ra.ma.dhan' table.insert(result, cj) j = j + 1 elseif uci == AC or uci == GR or uci == MAC or uci == BR or uci == "y" or uci == "w" then -- skip character i = i + 1 else -- non-matching character mw.log(("Syllabification alignment mismatch for pagename '%s' (position %s, character %s), syllabified respelling '%s' (position %s, character %s), aligned result so far '%s'" ):format(spelling, j, ucj, syllab, i, uci, concat_result())) return nil end end if i <= #syll_chars or j <= #spelling_chars then -- left-over characters on one side or the other mw.log(("Syllabification alignment mismatch for pagename '%s' (%s), syllabified respelling '%s' (%s), aligned result so far '%s'" ):format( spelling, j > #spelling_chars and "end of string" or ("position %s, character %s"):format(j, uspell_at(j)), syllab, i > #syll_chars and "end of string" or ("position %s, character %s"):format(i, syll_at(i)), concat_result())) return nil end return concat_result() end local function generate_syll_obj(term) return {syllabification = term, hyph = split_syllabified_spelling(term)} end -- Word should already be decomposed. local function word_has_vowels(word) word = ulower(word) return rfind(word, V) or word:find("y") end local function any_words_have_vowels(term) local words = rsplit(decompose(term), "[ %-]") for i, word in ipairs(words) do -- Allow empty word; this occurs with prefixes and suffixes. if word_has_vowels(word) then return true end end return false end local function should_generate_rhyme_from_respelling(term) local words = rsplit(decompose(term), " +") local last_word = words[#words] local should_generate_cat = #words == 1 local should_generate_rhyme = not last_word:find("%-$") and -- no if word is a prefix not (last_word:find("^%-") and last_word:find(MAC)) and -- no if word is an unstressed suffix word_has_vowels(last_word) -- no if word has no vowels (e.g. a single letter) return should_generate_rhyme, should_generate_cat end local function should_generate_rhyme_from_ipa(ipa) local should_generate_cat = not ipa:find("%s") local should_generate_rhyme = word_has_vowels(decompose(ipa)) return should_generate_rhyme, should_generate_cat end local function should_generate_rhyme_from_termobj(termobj) if termobj.raw then return should_generate_rhyme_from_ipa(termobj.raw_phonemic or termobj.raw_phonetic) else return should_generate_rhyme_from_respelling(termobj.term) end end local function process_specified_rhymes(rhymes, sylls, parsed_respellings) local rhyme_ret = {} for _, rhyme in ipairs(rhymes) do local num_syl = rhyme.num_syl local no_num_syl = false -- If user explicitly gave the rhyme but didn't explicitly specify the number of syllables, try to take it from -- the syllabification. if not num_syl then num_syl = {} for _, syll in ipairs(sylls) do if should_generate_rhyme_from_respelling(syll.syllabification) then local this_num_syl = 1 + ulen(rsub(syll.syllabification, "[^.]", "")) m_table.insertIfNot(num_syl, this_num_syl) else no_num_syl = true break end end if no_num_syl or #num_syl == 0 then num_syl = nil end end -- If that fails and term is single-word, try to take it from the phonemic. if not no_num_syl and not num_syl then for _, parsed in ipairs(parsed_respellings) do for _, pronun in ipairs(parsed.pronuns) do -- Check that pronun.phonemic exists (it may not if raw phonetic-only pronun is given), and rhyme -- isn't suppressed (which may happen if the term has a qualifier "colloquial", "obsolete" or the -- like or is an auto-generated "glottal stop elision" pronunciation). if pronun.phonemic and not pronun.no_rhyme then if not should_generate_rhyme_from_ipa(pronun.phonemic) then no_num_syl = true break end -- Count number of syllables by looking at syllable boundaries (including stress marks). local this_num_syl = get_num_syl_from_ipa(pronun.phonemic) m_table.insertIfNot(num_syl, this_num_syl) end end if no_num_syl then break end end if no_num_syl or #num_syl == 0 then num_syl = nil end end local rhymeobj = m_table.shallowCopy(rhyme) rhymeobj.num_syl = num_syl table.insert(rhyme_ret, rhymeobj) end end -- Parse a pronunciation modifier in `arg`, the argument portion in an inline modifier (after the prefix), which -- specifies a pronunciation property such as rhyme, syllabification, homophones or audio. The argument can itself have -- inline modifiers, e.g. <audio:Foo.ogg<a:Jakarta>>. The allowed inline modifiers are specified by `param_mods` (of -- the format expected by `parse_inline_modifiers()`); in addition to any modifiers specified there, the modifiers -- <q:...>, <qq:...>, <a:...> and <aa:...> are always accepted (and can be repeated). `generate_obj` and `parse_err` are -- like in `parse_inline_modifiers()` and specify respectively a function to generate the object into which modifier -- properties are stored given the non-modifier part of the argument, and a function to generate an error message (given -- the message). Normally, a comma-separated list of pronunciation properties is accepted and parsed, where each element -- in the list can have its own inline modifiers and where no spaces are allowed next to the commas in order for them to -- be recognized as separators. If `no_split_on_comma` is given, only a single pronunciation property is accepted. If -- `has_outer_container` is given, the list of pronunciation properties is embedded in the `terms` property of an outer -- container, into which other list-level modifiers can also be stored (by setting `overall = "true"` in the respective -- spec in `param_mods`). The return value is a list if neither `no_split_on_comma` nor `has_outer_container` are given, -- otherwise a container object (which, in the case of `has_outer_container`, will contain a list inside of it, in the -- `terms` property). local function parse_pron_modifier(arg, parse_err, generate_obj, param_mods, no_split_on_comma, has_outer_container) if arg:find("<") then local insert = { store = "insert" } param_mods.q = insert param_mods.qq = insert param_mods.a = insert param_mods.aa = insert return require(parse_utilities_module).parse_inline_modifiers(arg, { param_mods = param_mods, generate_obj = generate_obj, parse_err = parse_err, splitchar = not no_split_on_comma and "," or nil, outer_container = has_outer_container and {} or nil, }) elseif no_split_on_comma then return generate_obj(arg) else local retval = {} for _, term in ipairs(split_on_comma(arg)) do table.insert(retval, generate_obj(term)) end if has_outer_container then retval = { terms = retval, } end return retval end end local function parse_rhyme(arg, parse_err) local function generate_obj(term) return {rhyme = term} end local param_mods = { s = { item_dest = "num_syl", type = "number", sublist = true, }, } return parse_pron_modifier(arg, parse_err, generate_obj, param_mods) end local function parse_syll(arg, parse_err) local param_mods = { cap = { overall = true}, } -- We need to pass in has_outer_container because we have an overall property <cap:...> (the caption, defaulting -- to "Syllabification") applying to the whole set of syllabifications. return parse_pron_modifier(arg, parse_err, generate_syll_obj, param_mods, nil, "has outer container") end local function parse_homophone(arg, parse_err) local function generate_obj(term) return {term = term} end local param_mods = { t = { -- [[Module:links]] (called from [[Module:homophones]]) expects the gloss in "gloss". item_dest = "gloss", }, gloss = {}, pos = {}, alt = {}, lit = {}, id = {}, g = { -- [[Module:links]] (called from [[Module:homophones]]) expects the genders in "genders". item_dest = "genders", sublist = true, }, } return parse_pron_modifier(arg, parse_err, generate_obj, param_mods) end local function generate_audio_obj(arg) local file, gloss = arg:match("^(.-)%s*#%s*(.*)$") if not file then file = arg gloss = "Audio" end return {file = file, gloss = gloss} end local function parse_audio(arg, parse_err) -- None other than qualifiers local param_mods = {} -- Don't split on comma because some filenames have embedded commas not followed by a space (typically followed by -- an underscore). return parse_pron_modifier(arg, parse_err, generate_audio_obj, param_mods, "no split on comma") end local function syllabify_from_spelling(text, pagename) -- Auto syllabifications start -- local vowel = vowel .. "ẃý" -- vowel local V = "[" .. vowel .. "]" local NV = "[^" .. vowel .. "]" local C = "[^" .. vowel .. separator .."]" -- consonant text = decompose(text) local origtext = remove_accents(text) text = string.lower(text) text = rsub(text, "[.] ", "․ ") text = rsub(text, "[.]$", "․") -- put # at word beginning and end and double ## at text/foot boundary beginning/end text = rsub(text, " | ", "# | #") text = "##" .. rsub(text, " ", "# #") .. "##" text = rsub_repeatedly(text, "([.]?)#([.]?)", "#") text = rsub(text, "bh", "β") text = rsub(text, "eu", "ɨ") text = rsub(text, "ng", "ŋ") text = rsub(text, "ny", "ɲ") text = rsub(text, "c", "ć") text = rsub(text, "j", "ĵ") text = rsub(text, "kh", "x") text = rsub(text, "sy", "ʃ") text = rsub(text, "ʔ(["..separator.."])", "q%1") text = rsub(text, "(" .. V .. ")(" .. accent_c .. "?)ẃ([bdfgkpt])([r" .. vowel .. separator .."])" ,"%1%2w%3%4") text = rsub(text, "(" .. V .. ")(" .. accent_c .. "?)ẃ([bfgkp])([l" .. vowel .. separator .."])" ,"%1%2w%3%4") text = rsub(text, "(" .. V .. ")(" .. accent_c .. "?)ý([bdfgkpt])([r" .. vowel .. separator .."])" ,"%1%2y%3%4") text = rsub(text, "(" .. V .. ")(" .. accent_c .. "?)ý([bfgkp])([l" .. vowel .. separator .."])" ,"%1%2y%3%4") text = rsub_repeatedly(text, "(" .. V .. accent_c .. "*)(" .. C .. V .. ")", "%1.%2") -- "mb", "mp", "nd", "nk", "nt" combinations text = rsub_repeatedly(text, "(m)([bp])([^lrɟy" .. vowel .. separator .."])(" .. V .. ")", "%1%2.%3%4") text = rsub_repeatedly(text, "(n)([dk])([^lrɟy" .. vowel .. separator .. "])(" .. V .. ")", "%1%2.%3%4") text = rsub_repeatedly(text, "(n)([s])([^ɟy" .. vowel .. separator .. "])(" .. V .. ")", "%1%2.%3%4") text = rsub_repeatedly(text, "(n)([t])([^lrɟys" .. vowel .. separator .. "])(" .. V .. ")", "%1%2.%3%4") text = rsub_repeatedly(text, "(ŋ)([k])([^lrɟy" .. vowel .. separator .. "])(" .. V .. ")", "%1%2.%3%4") text = rsub_repeatedly(text, "([r])([bćdfgklmnpsʃvz])([^lrɟy" .. vowel .. separator .. "])(" .. V .. ")", "%1%2.%3%4") text = rsub_repeatedly(text, "([r])([t])([sz]?)([^lrɟysʃ" .. vowel .. separator .. "])(" .. V .. ")", "%1%2%3.%4%5") text = rsub_repeatedly(text, "(" .. V .. accent_c .. "*)(" .. C .. W .. "?" .. V .. ")", "%1.%2") text = rsub_repeatedly(text, "(" .. V .. accent_c .. "*" .. C .. ")(" .. C .. V .. ")", "%1.%2") text = rsub_repeatedly(text, "(" .. V .. accent_c .. "*" .. C .. "+)(" .. C .. C .. V .. ")", "%1.%2") text = rsub_repeatedly(text, "(" .. C .. ")%.s(" .. C .. ")", "%1s.%2") -- Any aeéèo, or stressed iu, should be syllabically divided from a following aeéèo or stressed iu. text = rsub_repeatedly(text, "([aeéèo]" .. accent_c .. "*)([aeéèo])", "%1.%2") text = rsub_repeatedly(text, "([aeéèo]" .. accent_c .. "*)(" .. V .. accent_c .. ")", "%1.%2") text = rsub(text, "([iu]" .. accent_c .. ")([aeéèo])", "%1.%2") text = rsub_repeatedly(text, "([iu]" .. accent_c .. ")(" .. V .. accent_c .. ")", "%1.%2") text = rsub_repeatedly(text, "i(" .. accent_c .. "*)i", "i%1.i") text = rsub_repeatedly(text, "u(" .. accent_c .. "*)u", "u%1.u") text = rsub_repeatedly(text, "i([aeéèou])", "i.%1") text = rsub_repeatedly(text, "u([aeéèio])", "u.%1") --correct final consonant placement before any glides (e.g. in [[rakyat]], [[dakwa]] [[jadwal]]) text = rsub(text,"([.])(".. C .. ")(".. W ..")(" .. V .. ")","%2%1%3%4") text = rsub(text, "β", "bh") text = rsub(text, "ć", "c") text = rsub(text, "ĵ", "j") text = rsub(text, "x", "kh") text = rsub(text, "ŋ", "ng") text = rsub(text, "ɲ", "ny") text = rsub(text, "ʃ", "sy") text = rsub(text, "q", "k") text = rsub(text, "ɨ", "eu") text = rsub(text, "([éè])", "e") text = rsub(text, "ò", "o") text = remove_accents(text) text = rsub_repeatedly(text, "([.]+)", ".") text = rsub(text, "[.]?-[.]?", "-") text = rsub(text, "[‿]([^ ])", "|%1") text = rsub(text, "[.]([^ ])", "|%1") text = rsub(text, "([|])+", "%1") -- remove # symbols at word and text boundaries text = rsub_repeatedly(text, "([.]?)#([.]?)", "") text = rsub(text, "․", ".") -- Fix Capitalization -- local syllbreak = 0 for i=1, #text do if text:sub(i,i) == "|" and origtext:sub(i-syllbreak, i-syllbreak) ~= "." and origtext:sub(i-syllbreak, i-syllbreak) ~= "7" then syllbreak = syllbreak + 1 elseif origtext:sub(i-syllbreak, i-syllbreak) == text:sub(i,i):upper() then text = table.concat({text:sub(1, i-1), text:sub(i,i):upper(), text:sub(i+1)}) end end -- Fix hyphens -- -- FIXME!!! Why are we relying on looking at the pagename here? This should not be happening. origtext = pagename if (table.concat(rsplit(origtext, "-")) == table.concat(rsplit(table.concat(rsplit(text, "|")), "-"))) then syllbreak = 0 for i=1, #text do if text:sub(i,i) == "|" then if origtext:sub(i-syllbreak, i-syllbreak) == "-" then text = table.concat({text:sub(1, i-1), "-", text:sub(i+1)}) else syllbreak = syllbreak + 1 end end end end -- FIXME! Hack -- up above we changed periods to vertical bars. The rest of the code expects periods so change -- them back. We should clean up the code above to leave the periods alone. return (text:gsub("|", "%.")) end function export.syllabify_and_align(respelling, pagename) local syllabification = syllabify_from_spelling(respelling, pagename) return align_syllabification_to_spelling(syllabification, pagename) end local function css_wrap(text, classes) return ('<span class="%s">%s</span>'):format(classes, text) end local function format_glosses(glosses) if not glosses then return "" end local formatted_glosses = {} for _, glossobj in ipairs(glosses) do local gloss_parts = {} if glossobj.gloss then table.insert(gloss_parts, css_wrap("“", "mention-gloss-double-quote") .. css_wrap(glossobj.gloss, "mention-gloss") .. css_wrap("”", "mention-gloss-double-quote")) end if glossobj.poses then for _, pos in ipairs(glossobj.poses) do table.insert(gloss_parts, css_wrap(pos, "ann-pos")) end end table.insert(formatted_glosses, table.concat(gloss_parts, css_wrap(",", "mention-gloss-comma") .. " ")) end return " " .. css_wrap("(", "mention-gloss-paren annotation-paren") .. table.concat(formatted_glosses, css_wrap(";", "mention-gloss-semicolon") .. " ") .. css_wrap(")", "mention-gloss-paren annotation-paren") end local function format_pronuns(pronuns) local pronunciations = {} -- Loop through each pronunciation. For each one, add the phonemic and phonetic versions to `pronunciations`, -- for formatting by [[Module:IPA]]. for j, pronun in ipairs(pronuns) do local qs = pronun.q local first_pronun = #pronunciations + 1 if not pronun.phonemic and not pronun.phonetic then error("Internal error: Saw neither phonemic nor phonetic pronunciation") end if pronun.phonemic then -- missing if 'raw:[...]' given -- don't display syllable division markers in phonemic local slash_pron = "/" .. pronun.phonemic:gsub("%.", "") .. "/" table.insert(pronunciations, { pron = slash_pron, }) end if pronun.phonetic then -- missing if 'raw:/.../' given local bracket_pron = "[" .. pronun.phonetic .. "]" table.insert(pronunciations, { pron = bracket_pron, }) end local last_pronun = #pronunciations if pronun.q then pronunciations[first_pronun].q = pronun.q end if j > 1 then pronunciations[first_pronun].separator = ", " end if pronun.qq then pronunciations[last_pronun].qq = pronun.qq end if pronun.refs then pronunciations[last_pronun].refs = pronun.refs end if first_pronun ~= last_pronun then pronunciations[last_pronun].separator = " " end end return m_IPA.format_IPA_full { lang = lang, items = pronunciations, separator = "" } end local function format_pronun_line(parsed) local formatted_pronuns = format_pronuns(parsed.pronuns) local pre = is_first and parsed.pre and parsed.pre .. " " or "" local post = is_first and parsed.post and " " .. parsed.post or "" return pre .. formatted_pronuns .. format_glosses(parsed.t) .. post end local function parse_respelling(respelling, pagename, parse_err) local raw_respelling = respelling:match("^raw:(.*)$") if raw_respelling then local raw_phonemic, raw_phonetic = raw_respelling:match("^/(.*)/ %[(.*)%]$") if not raw_phonemic then raw_phonemic = raw_respelling:match("^/(.*)/$") end if not raw_phonemic then raw_phonetic = raw_respelling:match("^%[(.*)%]$") end if not raw_phonemic and not raw_phonetic then parse_err(("Unable to parse raw respelling '%s', should be one of /.../, [...] or /.../ [...]") :format(raw_respelling)) end return { raw = true, raw_phonemic = raw_phonemic, raw_phonetic = raw_phonetic, } end if respelling == "+" then respelling = pagename end return {term = respelling} end -- External entry point for {{id-pr}}. function export.show_full(frame) --------------------------------- 1. Parse the arguments. ------------------------------------ local params = { [1] = {list = true}, ["rhyme"] = {}, ["syll"] = {}, ["hmp"] = {}, ["audio"] = {list = true}, ["pagename"] = {}, } local parargs = frame:getParent().args local args = require("Module:parameters").process(parargs, params) local pagename = args.pagename or mw.loadData("Module:headword/data").pagename local respellings = #args[1] > 0 and args[1] or {"+"} local parsed_respellings = {} local function overall_parse_err(msg, arg, val) error(msg .. ": " .. arg .. "=" .. val) end local overall_rhyme = args.rhyme and parse_rhyme(args.rhyme, function(msg) overall_parse_err(msg, "rhyme", args.rhyme) end) or nil local overall_syll = args.syll and parse_syll(args.syll, function(msg) overall_parse_err(msg, "syll", args.syll) end) or nil local overall_hmp = args.hmp and parse_homophone(args.hmp, function(msg) overall_parse_err(msg, "hmp", args.hmp) end) or nil local overall_audio if #args.audio > 0 then overall_audio = {} for _, audio in ipairs(args.audio) do local parsed_audio = parse_audio(audio, function(msg) overall_parse_err(msg, "audio", audio) end) table.insert(overall_audio, parsed_audio) end end -- Parse each respelling. Individual arguments in 1=, 2=, etc. can consist of one or more comma-separated -- respellings, each of which can have inline modifiers <q:...>, <qq:...>, <a:...>, <aa:...> or <ref:...>. -- In addition, the respellings as a whole of a given argument can be followed by various inline modifiers, -- such as <t:...>, <rhyme:...>, <syll:...>, etc. The result of parsing goes into `parsed_respellings`, which -- is a list of objects (one per numbered argument), each of which is a table of the form -- -- { -- terms = {TERM, TERM, ...}, -- audio = {AUDIO, AUDIO, ...}, -- rhyme = {RHYME, RHYME, ...}, -- syll = {SYLL, SYLL, ...}, -- hmp = {HMP, HMP, ...}, -- t = {GLOSS, GLOSS, ...}, -- pre = "PRE-TEXT" or nil, -- post = "POST-TEXT" or nil, -- bullets = NUM_BULLETS, -- accents = {"ACCENT", "ACCENT", ...}, -- } -- -- In this structure, TERM is an object that usually has the form -- -- { -- term = "RESPELLING", -- ref = {"REF-SPEC", "REF-SPEC", ...}, -- q = {"QUALIFIER", "QUALIFIER", ...}, -- qq = {"QUALIFIER", "QUALIFIER", ...}, -- } -- -- Note that in this structure, "REF-SPEC" of the form parsable by parse_references() in [[Module:references]]. -- -- Alternatively, if phonemic or phonetic IPA is given in place of a respelling, TERM will have the form -- -- { -- raw = true, -- phonemic = "PHONEMIC", -- phonetic = "PHONETIC", -- ref = {"REF-SPEC", "REF-SPEC", ...}, -- q = {"QUALIFIER", "QUALIFIER", ...}, -- qq = {"QUALIFIER", "QUALIFIER", ...}, -- } -- -- AUDIO is a table of the form -- -- { -- file = "FILE", -- gloss = "GLOSS", -- q = {"QUALIFIER", "QUALIFIER", ...}, -- qq = {"QUALIFIER", "QUALIFIER", ...}, -- a = {"ACCENT-QUALIFIER", "ACCENT-QUALIFIER", ...}, -- aa = {"ACCENT-QUALIFIER", "ACCENT-QUALIFIER", ...}, -- } -- -- RHYME is a table of the form -- -- { -- rhyme = "RHYME", -- num_syl = {NUM_SYL, NUM_SYL, ...}, -- q, qq, a, aa = (as for AUDIO), -- } -- -- SYLL is a table of the form (where `hyph` is required to be named this way for [[Module:hyphenation]]) -- -- { -- syllabification = "SYL.LAB.LES", -- hyph = {"SYL", "LAB", "LES"}, -- q, qq, a, aa = (as for AUDIO), -- } -- -- HMP is a table of the form -- -- { -- term = "HOMOPHONE", -- gloss = "GLOSS" or nil, -- pos = "POS" or nil, -- alt = "ALT" or nil, -- lit = "LIT" or nil, -- id = "ID" or nil, -- g = {"G", "G", ...}, -- q, qq, a, aa = (as for AUDIO), -- } -- -- GLOSS is a table of the form -- -- { -- poses = {"POS", "POS", ...} or nil, -- gloss = "GLOSS" or nil, -- } for i, respelling in ipairs(respellings) do if respelling:find("<") then local param_mods = { pre = { overall = true }, post = { overall = true }, bullets = { overall = true, type = "number", }, t = { overall = true, store = "insert", convert = parse_gloss, }, rhyme = { overall = true, store = "insert-flattened", convert = parse_rhyme, }, syll = { overall = true, -- Not `store = "insert-flattened"`. parse_syll() does not generates a list but a structure where -- the syllabifications are in `terms` and there's an additional overall property `cap` for the -- caption (defaulting to "Syllabification"). FIXME: Rethink whether we even want "insert-flattened" -- or just "insert" for the remaining pronunciation properties. convert = parse_syll, }, hmp = { overall = true, store = "insert-flattened", convert = parse_homophone, }, audio = { overall = true, store = "insert", -- not "insert-flattened" because parse_audio returns a single object convert = parse_audio, }, ref = { store = "insert" }, q = { store = "insert" }, qq = { store = "insert" }, a = { item_dest = "accents", overall = true, convert = parse_accents, }, } local parsed = require(parse_utilities_module).parse_inline_modifiers(respelling, { paramname = i, param_mods = param_mods, generate_obj = function(term, parse_err) return parse_respelling(term, pagename, parse_err) end, pre_normalize_modifiers = function(data) local modtext = data.modtext modtext = modtext:match("^<(.*)>$") if not modtext then error(("Internal error: Passed-in modifier isn't surrounded by angle brackets: %s"):format( data.modtext)) end if modtext:find("%^") and not modtext:find("^t:") then modtext = "t:" .. modtext end return "<" .. modtext .. ">" end, splitchar = ",", outer_container = {}, }) if not parsed.bullets then parsed.bullets = 1 end table.insert(parsed_respellings, parsed) else local termobjs = {} local function parse_err(msg) error(msg .. ": " .. i .. "=" .. respelling) end for _, term in ipairs(split_on_comma(respelling)) do table.insert(termobjs, parse_respelling(term, pagename, parse_err)) end table.insert(parsed_respellings, { terms = termobjs, bullets = 1, }) end end --------------------------------- 2. Generate IPA, rhymes and syllabification. ------------------------------------ -- Used for categorization below. local syllabification_alignment_failed = false -- Canonicalize syllabifications in `sylls` by convering '+' to the default syllabification of the pagename, '#' to -- the pagename itself, and '-' to no syllabification (return `null_syll`). If '-' not seen, return `sylls`. local function canonicalize_syllabification(sylls, null_syll) for _, syll in ipairs(sylls.terms) do if syll.syllabification == "+" then syll.syllabification = syllabify_from_spelling(pagename, pagename) syll.hyph = split_syllabified_spelling(syll.syllabification) elseif syll.syllabification == "#" then syll.syllabification = pagename syll.hyph = {syll.syllabification} elseif syll.syllabification == "-" then return null_syll end end return sylls end if overall_syll then overall_syll = canonicalize_syllabification(overall_syll, {}) end local function doesnt_count_for_rhyme(list) if not list then return false end local accent_no_count = {"thông tục", "không còn dùng", "không tiêu chuẩn"} for _, item in ipairs(list) do for _, word_no_count in ipairs(accent_no_count) do if item:find("%f[%w]" .. word_no_count .. "%f[%W]") then return true end end end return false end -- Loop over individual respellings, processing each. for _, parsed in ipairs(parsed_respellings) do -- First, sort the specified accents and default to "Standard Indonesian". local default_accent = "tiếng Indonesia tiêu chuẩn" if not parsed.accents then parsed.accents = {default_accent} end -- If more than one respelling given, then if any accent or qualifier has the words 'colloquial', 'obsolete' or -- 'nonstandard' in them, don't generate a rhyme or a '#-syllable word' category. local more_than_one_respelling = #parsed.terms > 1 or #parsed_respellings > 1 local is_standard = m_table.contains(parsed.accents, default_accent) and true or false local all_terms_no_rhyme = more_than_one_respelling and doesnt_count_for_rhyme(parsed.accents) parsed.pronuns = {} for i, term in ipairs(parsed.terms) do local phonemic, phonetic if term.raw then phonemic = term.raw_phonemic phonetic = term.raw_phonetic else local ret = export.IPA(term.term) phonemic = ret.phonemic phonetic = ret.phonetic end local refs if not term.ref then refs = nil else refs = {} for _, refspec in ipairs(term.ref) do local this_refs = require("Module:references").parse_references(refspec) for _, this_ref in ipairs(this_refs) do table.insert(refs, this_ref) end end end local no_rhyme, rhyme_with_cat -- Same check as above for colloquial/obsolete/relaxed but check the qualifiers, which are attached to -- individual respellings rather than a single-line set of respellings. no_rhyme = all_terms_no_rhyme or more_than_one_respelling and ( doesnt_count_for_rhyme(term.q) or doesnt_count_for_rhyme(term.qq) ) if not no_rhyme then local should_generate_rhyme, should_generate_cat = should_generate_rhyme_from_termobj(term) no_rhyme = not should_generate_rhyme rhyme_with_cat = should_generate_cat end local pronobj = { raw = term.raw, phonemic = phonemic, phonetic = phonetic, refs = refs, q = term.q, qq = term.qq, no_rhyme = no_rhyme, rhyme_with_cat = rhyme_with_cat, } table.insert(parsed.pronuns, pronobj) end if not parsed.syll then if not overall_syll and any_words_have_vowels(pagename) then for _, term in ipairs(parsed.terms) do if not term.raw then local syllabification = syllabify_from_spelling(term.term, pagename) local aligned_syll = align_syllabification_to_spelling(syllabification, pagename) if aligned_syll then if not parsed.syll then parsed.syll = {terms = {}} end m_table.insertIfNot(parsed.syll.terms, generate_syll_obj(aligned_syll)) else syllabification_alignment_failed = true end end end end else parsed.syll = canonicalize_syllabification(parsed.syll, nil) end if not parsed.rhyme then if overall_rhyme then parsed.rhyme = nil else -- Generate the rhymes. for _, pronun in ipairs(parsed.pronuns) do -- We should have already excluded multiword terms and terms without vowels from rhyme generation -- (see `no_auto_rhyme` below). But make sure to check that pronun.phonemic exists (it may not if -- raw phonetic-only pronun is given), and rhyme isn't suppressed (which may happen if the term has -- a qualifier "colloquial", "obsolete" or the like ). if pronun.phonemic and not pronun.no_rhyme then -- Count number of syllables by looking at syllable boundaries (including stress marks). local num_syl = get_num_syl_from_ipa(pronun.phonemic) -- Get the rhyme by truncating everything up through the last stress mark + any following -- consonants, and remove syllable boundary markers. local rhyme = convert_phonemic_to_rhyme(pronun.phonemic) -- Copying qualifiers to rhymes: -- (1) If there's only one pronunciation, displaying any associated qualifier on the rhyme is -- is redundant, so don't do it. -- (2) If there are multiple pronunciations, then we generally do want to copy the qualifier(s) -- from pronunciation to rhyme, but only if a given rhyme either derives from a single -- pronunciation, or derives from multiple pronunciations all of which share the same -- qualifier(s). We do NOT want to combine two different qualifiers from two different -- pronunciations. -- (3) If there are multiple pronunciations that map to a single rhyme, and all pronunciations -- share qualifiers, then we might consider omitting the qualifiers as redundant; but this -- case will rarely happen so it might not be worth worrying about. -- (4) Similarly, if there are multiple pronunciations where some have the rhyme suppressed (see -- above), and all pronunciations share qualifiers, then we might consider omitting the -- qualifiers as redundant; but again, this case will rarely happen (especially since in -- almost all cases the suppressed-rhyme pronunciation will have distinctive qualifiers) so -- it probably isn't worth worrying about. Note that in the common case where the qualifiers -- of the rhyme-suppressed pronunciation differ from those of the rhyme-included -- pronunciation, we do want to include the qualifiers of the rhyme-included pronunciation -- (imagine e.g. there are two pronunciations marked "standard" and "colloquial"; we want to -- mark the rhyme as "standard"). -- (4) There are two different types of qualifiers (left and right); when comparing qualifiers, -- we need to compare the entire set of both qualifiers and make sure they both match -- (although it will be rare to have both left and right qualifiers on a single -- pronunciation). local saw_already = false if not parsed.rhyme then parsed.rhyme = {} end for _, existing in ipairs(parsed.rhyme) do if existing.rhyme == rhyme then saw_already = true -- We already saw this rhyme but possibly with a different number of syllables, -- e.g. if the user specified two pronunciations 'biologi' (4 syllables) and -- 'biologi' (5 syllables), both of which have the same rhyme /ogi/. m_table.insertIfNot(existing.num_syl, num_syl) if not m_table.deepEquals(existing.q, pronun.q) or not m_table.deepEquals(existing.qq, pronun.qq) then existing.q = nil existing.qq = nil end break end end if not saw_already then table.insert(parsed.rhyme, { rhyme = rhyme, num_syl = {num_syl}, q = #parsed.pronuns > 1 and pronun.q or nil, qq = #parsed.pronuns > 1 and pronun.qq or nil, nocat = not pronun.rhyme_with_cat, }) end end end end else local no_rhyme = false for _, rhyme in ipairs(parsed.rhyme) do if rhyme.rhyme == "-" then no_rhyme = true break end end if no_rhyme then parsed.rhyme = nil else parsed.rhyme = process_specified_rhymes(parsed.rhyme, parsed.syll and parsed.syll.terms or {}, {parsed}) end end end if overall_rhyme then local no_overall_rhyme = false for _, orhyme in ipairs(overall_rhyme) do if orhyme.rhyme == "-" then no_overall_rhyme = true break end end if no_overall_rhyme then overall_rhyme = nil else local all_sylls if overall_syll then all_sylls = overall_syll else all_sylls = {} for _, parsed in ipairs(parsed_respellings) do if parsed.syll then for _, syll in ipairs(parsed.syll.terms) do m_table.insertIfNot(all_sylls, syll) end end end end overall_rhyme = process_specified_rhymes(overall_rhyme, all_sylls, parsed_respellings) end end -- Determine whether all sets of pronunciations have the same value for a pronunciation property (rhymes, -- syllabifications or homophones). If so, we display them them only once at the bottom, otherwise beneath each set, -- indented. This function takes one argument, the name of a slot specifying the pronunciation property, and -- returns two values, a boolean indicating whether all values are the same and the first value seen (which will -- be the only value seen if all values are the same). local function all_sets_equal(parsed_slot) local first_set local all_sets_eq = true for j, parsed in ipairs(parsed_respellings) do if j == 1 then first_set = parsed[parsed_slot] elseif not m_table.deepEquals(first_set, parsed[parsed_slot]) then all_sets_eq = false break end end return all_sets_eq, first_set end local all_rhyme_sets_eq, first_rhyme_ret = all_sets_equal("rhyme") local all_syll_sets_eq, first_sylls = all_sets_equal("syll") local all_hmp_sets_eq, first_hmps = all_sets_equal("hmp") ------------------------------ 3. Insert categories as appropriate. --------------------------------- local categories = {} local function get_rhymes_categories(rhymes) if not rhymes then return end end get_rhymes_categories(overall_rhyme) for _, parsed in ipairs(parsed_respellings) do get_rhymes_categories(parsed.rhyme) end local function get_syll_categories(sylls) if not sylls then return end for _, syll in ipairs(sylls.terms) do local syll_no_dot = "#" .. syll.syllabification .. "#" syll_no_dot = syll.syllabification:gsub("%.([^ #])", "%1"):gsub("#", "") if syll_no_dot ~= pagename then mw.log(("For page '%s', saw syllabification '%s' not matching pagename"):format( pagename, syll.syllabification)) m_table.insertIfNot(categories, ("%s terms with syllabification not matching pagename"):format( lang:getCanonicalName())) end end end get_syll_categories(overall_syll) for _, parsed in ipairs(parsed_respellings) do get_syll_categories(parsed.syll) end if syllabification_alignment_failed then table.insert(categories, ("%s terms where syllabification alignment failed"):format(lang:getCanonicalName())) end ---------------------------- 4. Format IPA, rhymes and syllabification for display. ------------------------------- local function bullet_prefix(num_bullets) return string.rep("*", num_bullets) .. " " end local function format_rhyme(rhymes) return require(rhymes_module).format_rhymes { lang = lang, rhymes = rhymes, force_cat = force_cat, } end local function format_syllabifications(syllobj) return require(hyphenation_module).format_hyphenations { lang = lang, hyphs = syllobj.terms, caption = syllobj.cap or "Tách âm" } end local function format_homophones(hmps) return require("Module:homophones").format_homophones { lang = lang, homophones = hmps } end local function format_audio(audios, num_bullets) local ret = {} for i, audio in ipairs(audios) do local text = require(audio_module).format_audio { lang = lang, file = audio.file, caption = audio.gloss, q = audio.q, qq = audio.qq, a = audio.a, aa = audio.aa, } table.insert(ret, bullet_prefix(num_bullets) .. text) end return table.concat(ret, "\n") end -- Implement grouping by accent. If there is a run of more than one consecutive set of pronunciations with the -- same accent, the accent goes on its own line and the pronunciations with this accent go below with an extra -- bullet. local prev_accents local num_seen_with_these_accents for j, parsed in ipairs(parsed_respellings) do if m_table.deepEquals(prev_accents, parsed.accents) then parsed.of_several_accents = "continuation" num_seen_with_these_accents = num_seen_with_these_accents + 1 if num_seen_with_these_accents == 2 then parsed_respellings[j - 1].of_several_accents = "first" end else prev_accents = parsed.accents num_seen_with_these_accents = 1 end end -- Pull out autogenerated pronunciations and move to the next line, indented. for _, parsed in ipairs(parsed_respellings) do local saw_next_line_pronuns = false for _, pronun in ipairs(parsed.pronuns) do if pronun.move_to_next_line then saw_next_line_pronuns = true break end end if saw_next_line_pronuns then local this_line_pronuns = {} local next_line_pronuns = {} for _, pronun in ipairs(parsed.pronuns) do if pronun.move_to_next_line then table.insert(next_line_pronuns, pronun) else table.insert(this_line_pronuns, pronun) end end -- Now see if there are qualifiers shared among all elements of the next-line pronuns and deduplicate if so. local function deduplicate_qualifiers(field, keepfirst) local saw_nil = false for _, pronun in ipairs(next_line_pronuns) do if not pronun[field] then saw_nil = true break end end if not saw_nil then local m_setutil = require(set_utilities_module) local qualifiers = {} for _, pronun in ipairs(next_line_pronuns) do table.insert(qualifiers, m_setutil.list_to_set(pronun[field])) end local all_shared = m_setutil.intersect(unpack(qualifiers)) if next(all_shared) then local first_index, last_index if keepfirst then first_index = 2 last_index = #pronun else first_index = 1 last_index = #pronun - 1 end for i = first_index, last_index do local pronun = next_line_pronuns[i] local new_qualifiers = {} for _, q in ipairs(pronun[field]) do if not all_shared[q] then table.insert(new_qualifiers, q) end end pronun[field] = new_qualifiers end end end end parsed.pronuns = this_line_pronuns parsed.next_line_pronuns = next_line_pronuns end end -- Now actually format the pronunciations. local textparts = {} local first_line = true local function ins_line(linetext, num_bullets) if not first_line then table.insert(textparts, "\n") end first_line = false table.insert(textparts, bullet_prefix(num_bullets) .. linetext) end local min_num_bullets = math.huge for j, parsed in ipairs(parsed_respellings) do if parsed.bullets < min_num_bullets then min_num_bullets = parsed.bullets end local accent_grouping_offset = 0 if parsed.of_several_accents == "first" then ins_line(require(accent_qualifier_module).format_qualifiers(lang, parsed.accents), parsed.bullets) end local pronuns = format_pronun_line(parsed) local accent_prefix if not parsed.of_several_accents then accent_prefix = require(accent_qualifier_module).format_qualifiers(lang, parsed.accents) .. " " else accent_prefix = "" accent_grouping_offset = 1 end ins_line(accent_prefix .. pronuns, parsed.bullets + accent_grouping_offset) if parsed.next_line_pronuns then ins_line(format_pronuns(parsed.next_line_pronuns), parsed.bullets + accent_grouping_offset + 1) end if parsed.audio then -- format_audio() inserts multiple lines and handles bullets by itself. table.insert(textparts, "\n") -- If only one pronunciation set, add the audio with the same number of bullets, otherwise indent audio by -- one more bullet. table.insert(textparts, format_audio(parsed.audio, (#parsed_respellings == 1 and parsed.bullets or parsed.bullets + 1) + accent_grouping_offset)) end if not all_rhyme_sets_eq and parsed.rhyme then ins_line(format_rhyme(parsed.rhyme), parsed.bullets + 1 + accent_grouping_offset) end if not all_syll_sets_eq and parsed.syll then ins_line(format_syllabifications(parsed.syll), parsed.bullets + 1 + accent_grouping_offset) end if not all_hmp_sets_eq and parsed.hmp then ins_line(format_homophones(parsed.hmp), parsed.bullets + 1 + accent_grouping_offset) end end if overall_audio then -- format_audio() inserts multiple lines and handles bullets by itself. table.insert(textparts, "\n") table.insert(textparts, format_audio(overall_audio, min_num_bullets)) end if all_rhyme_sets_eq and first_rhyme_ret then ins_line(format_rhyme(first_rhyme_ret), min_num_bullets) end if overall_rhyme then ins_line(format_rhyme(overall_rhyme), min_num_bullets) end if all_syll_sets_eq and first_sylls then ins_line(format_syllabifications(first_sylls), min_num_bullets) end if overall_syll then ins_line(format_syllabifications(overall_syll), min_num_bullets) end if all_hmp_sets_eq and first_hmps then ins_line(format_homophones(first_hmps), min_num_bullets) end if overall_hmp then ins_line(format_homophones(overall_hmp), min_num_bullets) end return table.concat(textparts) .. require("Module:utilities").format_categories(categories, lang, nil, nil, force_cat) end -- Meant to be called from a bot. function export.pron_json(frame) local iparams = { [1] = {list = true, required = true}, ["pagename"] = {required = true}, } local iargs = require("Module:parameters").process(frame.args, iparams) local data = {} local syllabification_from_pagename = syllabify_from_spelling(iargs.pagename, iargs.pagename) for _, respelling in ipairs(iargs[1]) do local pronun = export.IPA(respelling) local syllabification = export.syllabify_and_align(respelling, iargs.pagename) local num_syl = get_num_syl_from_ipa(pronun.phonemic) local rhyme = convert_phonemic_to_rhyme(pronun.phonemic) table.insert(data, { respelling = respelling, phonemic = pronun.phonemic, phonetic = pronun.phonetic, syllabification = syllabification, num_syl = num_syl, rhyme = rhyme, }) end local retval = { pagename = iargs.pagename, syllabification_from_pagename = syllabification_from_pagename, data = data, } return require("Module:JSON").toJSON(retval) end return export rtpl50eyzjl9fq1u6g8dno1yva65fr1 Thể loại:Danh từ đếm được tiếng Ý 14 316013 2362774 2184795 2026-05-31T02:02:14Z TheHighFighter2 42988 TheHighFighter2 đã đổi [[Thể loại:Danh từ tiếng Ý đếm được]] thành [[Thể loại:Danh từ đếm được tiếng Ý]] (đã tắt đổi hướng) 2184795 wikitext text/x-wiki [[Thể loại:Danh từ tiếng Ý]] [[Thể loại:Danh từ đếm được theo ngôn ngữ]] rgvghxs6f5b4nvv9ms5k0wlcbnz2e2g 2362777 2362774 2026-05-31T02:02:51Z TheHighFighter2 42988 /* */ 2362777 wikitext text/x-wiki {{auto cat}} eomzlm5v4j7ond1phrju7cnue91g5qx askeleessa 0 316964 2362691 2194111 2026-05-30T14:21:27Z Kelly zhrm 58416 2362691 wikitext text/x-wiki =={{langname|fi}}== ==={{ĐM|pron}}=== * {{fi-p}} ==={{ĐM|n}}=== {{head|fi|Biến thể hình thái danh từ}} # {{infl of|fi|askel||ine|s}} ntbznwbc3o21qw7cnixegnk9cnc3hej 2362692 2362691 2026-05-30T14:21:45Z Kelly zhrm 58416 2362692 wikitext text/x-wiki =={{langname|fi}}== ==={{ĐM|pron}}=== {{fi-p}} ==={{ĐM|n}}=== {{head|fi|Biến thể hình thái danh từ}} # {{infl of|fi|askel||ine|s}} hs4qt29j0chrb800ow6ofwvytndm4l9 Faatuma 0 317678 2362792 2187798 2026-05-31T02:10:09Z Hiyuune 50834 2362792 wikitext text/x-wiki =={{langname|aa}}== ==={{section|etym}}=== Từ {{derived|aa|ar|فَاطِمَة}}. ==={{section|pron}}=== * {{aa-IPA|Faatumá}} ==={{section|pr-noun}}=== {{head|aa|Danh từ riêng|head=Faatumá}} # [[Fatima]]. # {{given name|aa|nữ}} ===={{section|decl}}==== {{aa-decl|Faatumá|voc=Faatumáy}} ==={{section|ref}}=== * {{R:aa:Hassan Kamil:2015}} {{C|aa|Hồi giáo|Cá nhân}} exj3tm3oe9ycywxivnc99yxnzqxswu6 Lico 0 317778 2362707 2187950 2026-05-30T16:40:13Z Hiyuune 50834 2362707 wikitext text/x-wiki =={{langname|akm}}== ==={{section|pr-noun}}=== {{head|akm|Danh từ riêng}} # {{given name|akm|nữ}} fkjaqtuvq5yhs9p1b283xt2m505r0dc Thể loại:Mục từ tiếng Aka-Bo 14 317980 2362710 2188273 2026-05-30T16:43:48Z Hiyuune 50834 /* */ 2362710 wikitext text/x-wiki {{auto cat}} eomzlm5v4j7ond1phrju7cnue91g5qx アビシニアジャッカル 0 324108 2362799 2307729 2026-05-31T02:36:07Z WhoAlone 40420 2362799 wikitext text/x-wiki =={{langname|ja}}== {{slim-wikipedia|lang=ja}} ==={{section|etym}}=== {{com+|ja|アビシニア|ジャッカル|tr1=Abishinia|tr2=jakkaru|t1=[[Abyssinia]]|t2=[[chó rừng]]}} ==={{section|n}}=== {{ja-noun|^アビシニア ジャッカル}} # [[sói|Sói]] [[Ethiopia]] ===={{section|syn}}==== * {{jpn-r|アビシニア狼|^アビシニア オオカミ}} * {{jpn-r|エチオピア狼|^エチオピア オオカミ}} * {{jpn-r|^シミエン ジャッカル}} {{C|ja|Họ Chó}} ri81eci9zzr3sn5trebvzf0aes80knd Mô đun:ltg-IPA 828 354331 2362992 2256349 2026-05-31T11:00:32Z Hiyuune 50834 2362992 Scribunto text/plain local export = {} local m_IPA = require("Module:IPA") local lang = require("Module:languages").getByCode("ltg") local rsub = mw.ustring.gsub local rlower = mw.ustring.lower local c = mw.ustring.char(0x0302) local g = mw.ustring.char(0x0300) local s = mw.ustring.char(0x032F) local V = "[aeėiouy]" local R = "[lļr]" local F = "[iìîɛæ]" .. c .. "?" .. g .. "?u?" .. s .. "?ː?" local C = "[bdfɡxjklmnprvʃʒz]" local X = "ˈ?[bcdfghjklmnprstvzčģķļņšž]" local di = { ["aî"]="aqi̯", ["ai"]="awi̯", ["eî"]="æqi̯", ["ei"]="æwi̯", ["ėî"]="ɛqi̯", ["ėi"]="ɛwi̯", ["oî"]="ɔqi̯", ["oi"]="ɔwi̯", ["uî"]="uqi̯", ["ui"]="uwi̯", ["aû"]="aqu̯", ["au"]="awu̯", ["iû"]="iqu̯", ["iu"]="iwu̯", ["yû"]="ɨqu̯", ["yu"]="ɨwu̯", ["oû"]="ɔqu̯", ["ou"]="ɔwu̯", ["uô"]="uqɔ̯", ["uo"]="uwɔ̯", ["iê"]="iqɛ̯", ["ie"]="iwɛ̯", } local phon = { -- non-tonal ["a"]="a", ["b"]="b", ["c"]="ts", ["d"]="d", ["e"]="æ", ["ė"]="ɛ", ["f"]="f", ["g"]="ɡ", ["h"]="x", ["i"]="i", ["j"]="j", ["k"]="k", ["l"]="l", ["m"]="m", ["n"]="n", ["o"]="ɔ", ["p"]="p", ["r"]="r", ["s"]="s", ["t"]="t", ["u"]="u", ["v"]="v", ["y"]="ɨ", ["č"]="tʃ", ["ģ"]="ɡʲ", ["ķ"]="kʲ", ["ļ"]="lʲ", ["ņ"]="nʲ", ["š"]="ʃ", ["ž"]="ʒ", ["'"]="ʲ", -- tonal ["â"]="âː", ["ê"]="æ̂ː", ["î"]="îː", ["û"]="ûː", ["ā"]="àː", ["ē"]="æ̀ː", ["ī"]="ìː", ["ū"]="ùː", } local function phonetic(text) text = rlower(text) -- basic phonology text = rsub(text, "..", di) text = rsub("1" .. text, "..", di) text = rsub(text, "1", "") text = rsub(text, "(" .. V .. ")(" .. R .. ")" .. c, "%1q%2") text = rsub(text, "(" .. V .. ")(" .. R .. X .. ")", "%1w%2") text = rsub(text, "(" .. V .. ")(" .. R .. ")$", "%1w%2") text = rsub(text, ".", phon) text = rsub(text, "q", c) text = rsub(text, "w", g) -- palatalisation text = rsub(text, "([pbfvtdszkɡmnl])(" .. F .. ")", "%1ʲ%2") local i = 0 while i <= 3 do text = rsub(text, "([ts])ʲ([ts])", "%1ʲ%2ʲ") i = i + 1 end i = 0 while i <= 5 do text = rsub(text, "([pbvtdszkɡmnl])(.)ʲ", "%1ʲ%2ʲ") i = i + 1 end i = 0 -- v > w text = rsub(text, "vʲ?(" .. X .. ")", "w%1") -- devoicing text = rsub(text, "b$", "p") text = rsub(text, "d$", "t") text = rsub(text, "ɡ(ʲ?)$", "k%1") text = rsub(text, "z$", "s") text = rsub(text, "v$", "f") text = rsub(text, "ʒ$", "ʃ") while i <= 5 do text = rsub(text, "b(ʲ?)([pstkxfʃ])", "p%1%2") text = rsub(text, "d(ʲ?)([pstkxfʃ])", "t%1%2") text = rsub(text, "ɡ(ʲ?)([pstkxfʃ])", "k%1%2") text = rsub(text, "z(ʲ?)([pstkxfʃ])", "s%1%2") text = rsub(text, "v(ʲ?)([pstkxfʃ])", "f%1%2") text = rsub(text, "ʒ(ʲ?)([pstkxfʃ])", "ʃ%1%2") text = rsub(text, "p(ʲ?)([bzdɡʒ])", "b%1%2") text = rsub(text, "t(ʲ?)([bzdɡʒ])", "d%1%2") text = rsub(text, "k(ʲ?)([bzdɡʒ])", "ɡ%1%2") text = rsub(text, "s(ʲ?)([bzdɡʒ])", "z%1%2") text = rsub(text, "ʃ(ʲ?)([bzdɡʒ])", "ʒ%1%2") i = i + 1 end i = 0 -- affrication text = rsub(text, "n(ʲ?)([sʃzʒ]ʲ?)$", "n%1t%2%1") text = rsub(text, "tʲ?([sʃ])", "t͡%1") text = rsub(text, "dʲ?([zʒ])", "d͡%1") text = rsub(text, "([ʃʒ])ʲ", "%1") text = rsub(text, "ʃsʲ?", "ʃs") text = rsub(text, "ʒzʲ?", "ʒz") -- stress if mw.ustring.find(text, "ˈ") == nil then text = "ˈ" .. text end text = rsub(text, "^ˈ%f[-]", "") text = rsub(text, "%.", "") text = rsub(text, "ʲʲ+", "ʲ") return text end function export.IPA(frame) local words = {} for _, word in ipairs(frame:getParent().args) do table.insert(words, word) end if #words == 0 then words = {mw.loadData("Module:headword/data").pagename} end local IPA_results = {} for _, word in ipairs(words) do table.insert(IPA_results, { pron = "[" .. phonetic(word) .. "]" }) end return m_IPA.format_IPA_full { lang = lang, items = IPA_results } end return export gff7er7nym10tzna3s5ozcd1ev4mpgx wóbá 0 356126 2362711 2328669 2026-05-30T16:44:45Z Hiyuune 50834 /* Tiếng Abanyom */ 2362711 wikitext text/x-wiki =={{langname|abm}}== ==={{ĐM|alt}}=== * {{alter|abm|wùbà}} ==={{ĐM|num}}=== {{head|abm|Số từ|cat2=Số đếm}} # [[mười|Mười]] ==={{ĐM|ref}}=== * R. Blench, ''[https://web.archive.org/web/20250528144729/https://www.rogerblench.info/Language/Niger-Congo/Bantoid/Ekoid/Comparative%20Ekoid.pdf Comparative Ekoid]'' 64rcnxzzblbubwbgm5ird1bs5k01xod Thể loại:Mục từ tiếng Abanyom 14 356127 2362713 2260597 2026-05-30T16:45:37Z Hiyuune 50834 /* */ 2362713 wikitext text/x-wiki {{auto cat}} eomzlm5v4j7ond1phrju7cnue91g5qx wùbà 0 356128 2362712 2260598 2026-05-30T16:45:12Z Hiyuune 50834 /* Tiếng Abanyom */ 2362712 wikitext text/x-wiki {{also|WUBA}} =={{langname|abm}}== ==={{ĐM|num}}=== {{head|abm|Số từ}} # {{alternative form of|abm|wóbá}} ==={{ĐM|ref}}=== * [http://www.sil.org/system/files/reapdata/71/84/01/71840126659330200075289971273378658475/Bakor_Wordlists.pdf Bakor wordlists] 05pgis66fczxpuljw835lnv5uti1y36 Thành viên:Kateru Zakuro/common.js 2 362625 2362714 2361377 2026-05-30T16:56:30Z Kateru Zakuro 34522 2362714 javascript text/javascript mw.loader.load( '//en.wikipedia.org/w/index.php?title=User:Joeytje50/JWB.js/load.js&action=raw&ctype=text/javascript' ); // Backlink: [[en:User:Joeytje50/JWB.js/load.js]] k5hcwxmq8fgo4tijmlfo1g1xo1p6906 あどぅ 0 379589 2362867 2323118 2026-05-31T04:18:08Z WhoAlone 40420 2362867 wikitext text/x-wiki =={{langname|kzg}}== ==={{ĐM|noun}}=== {{kzg-head|noun}} # {{kzg-def|蟻}} [[gót chân]]. =={{langname|mvi}}== ==={{ĐM|pron}}=== * {{IPA4|mvi|/adu/}} ==={{ĐM|noun}}=== {{mvi-head|noun}} # {{mvi-def|踵}} [[gót chân]]. ==={{ĐM|ref}}=== * {{R:Miyako Dialect Dictionary|アドゥ|MY01050}} =={{langname|ryu}}== ==={{ĐM|noun}}=== {{ryu-head|noun}} # {{ryu-def|踵}} [[gót chân]]. gpgeyxjx8dvlqg2fv67tl65eokhkrbl うい 0 380964 2362875 2323120 2026-05-31T04:32:01Z WhoAlone 40420 2362875 wikitext text/x-wiki =={{langname|kzg}}== ==={{ĐM|noun}}=== {{kzg-head|noun}} # {{kzg-def|瓜}} Quả [[bầu]]. =={{langname|ja}}== ===Từ nguyên 1=== {{ja-kanjitab|alt=憂い}} {{IPAchar|⟨usi⟩}} → {{IPAchar|/uɕi/}} → {{IPAchar|/uki/}} → {{IPAchar|/ui/}} {{ja-adj-ku|[[うし|憂し]]|u}}<ref name="KDJ">{{R:Kokugo Dai Jiten}}</ref><ref name="DJS">{{R:Daijisen}}</ref><ref name="DJR"/> ===={{ĐM|pron}}==== {{ja-pron|acc=1|acc_ref=DJR,SMK5}} ===={{ĐM|adj}}==== {{ja-adj|infl=i}} # [[buồn]], [[u ám]]. ====={{ĐM|inflection}}===== {{ja-i|う}} ====={{ĐM|derived}}===== * {{ja-r|愛い|うい}} * {{ja-r|物%憂い|もの%.うい}} * {{ja-r|うきめ}} ====={{ĐM|proverb}}===== * {{ja-r|旅は憂いもの辛いもの|たび は うい も の つらい も の}} ===Từ nguyên 2=== {{ja-kanjitab|alt=愛い}} ===={{ĐM|pron}}==== {{ja-pron}} ===={{ĐM|adj}}==== {{ja-adj}} # {{q|nói về ai đó có địa vị thấp hơn}} [[tốt bụng]], [[tuyệt vời]], đáng [[ngưỡng mộ]]. ===Từ nguyên 3=== {{ja-see|初|愛|有為|羽衣|雨衣|雨意|烏衣}} ==={{ĐM|ref}}=== <references /> =={{langname|ryu}}== ==={{ĐM|noun}}=== {{ryu-head|noun}} # {{ryu-def|瓜}} [[dưa]]. 0fxue20w7l8uhz5eu0tet49pq1etg04 ターチ 0 381200 2362822 2323602 2026-05-31T02:58:27Z WhoAlone 40420 2362822 wikitext text/x-wiki =={{langname|ryu}}== ==={{ĐM|num}}=== {{ryu-head|numeral}} # [[hai]]. =={{langname|yoi}}== ==={{ĐM|num}}=== {{yoi-head|numeral}} # [[hai]]. ==={{ĐM|ref}}=== * [https://www.omniglot.com/language/numbers/yonaguni.htm Số đếm tiếng Yonaguni] trên ''Omniglot''. c26quwj6mu5l8ooxtudxe0rpvk0ej7w ミーチ 0 381201 2362838 2323603 2026-05-31T03:35:09Z WhoAlone 40420 2362838 wikitext text/x-wiki =={{langname|ryu}}== ==={{ĐM|num}}=== {{ryu-head|numeral}} # [[ba]]. =={{langname|yoi}}== ==={{ĐM|num}}=== {{yoi-head|numeral}} # [[ba]]. ==={{ĐM|ref}}=== * [https://www.omniglot.com/language/numbers/yonaguni.htm Số đếm tiếng Yonaguni] trên ''Omniglot''. aal7udy72dy3451b9hqc61cg7vielac イチチ 0 381203 2362840 2352740 2026-05-31T03:35:47Z WhoAlone 40420 2362840 wikitext text/x-wiki =={{langname|ryu}}== ==={{ĐM|num}}=== {{ryu-head|numeral}} # [[năm]]. =={{langname|yoi}}== ==={{ĐM|num}}=== {{yoi-head|numeral}} # [[năm|Năm]]. ==={{ĐM|ref}}=== * [https://www.omniglot.com/language/numbers/yonaguni.htm Số đếm tiếng Yonaguni] trên ''Omniglot''. stl4rupntwgcuoaa0m1qz64ofs9bmjz ムーチ 0 381204 2362841 2323606 2026-05-31T03:36:03Z WhoAlone 40420 2362841 wikitext text/x-wiki =={{langname|ryu}}== ==={{ĐM|num}}=== {{ryu-head|numeral}} # [[sáu]]. =={{langname|yoi}}== ==={{ĐM|num}}=== {{yoi-head|numeral}} # [[sáu]]. ==={{ĐM|ref}}=== * [https://www.omniglot.com/language/numbers/yonaguni.htm Số đếm tiếng Yonaguni] trên ''Omniglot''. rehp4bc2rlya8h561eugivant0epqze ナナチ 0 381205 2362842 2323607 2026-05-31T03:36:17Z WhoAlone 40420 2362842 wikitext text/x-wiki =={{langname|ryu}}== ==={{ĐM|num}}=== {{ryu-head|numeral}} # [[bảy]]. =={{langname|yoi}}== ==={{ĐM|num}}=== {{yoi-head|numeral}} # [[bảy]]. ==={{ĐM|ref}}=== * [https://www.omniglot.com/language/numbers/yonaguni.htm Số đếm tiếng Yonaguni] trên ''Omniglot''. eh7ovfiqphjytq15c6om8mi3yqonx7p あわ 0 384719 2362868 2330134 2026-05-31T04:20:17Z WhoAlone 40420 2362868 wikitext text/x-wiki =={{langname|ja}}== {{ja-see|泡|粟|安房|阿波}} =={{langname|ryu}}== ==={{ĐM|noun}}=== {{ryu-head|noun}} # {{ryu-def|粟}} {{w|Kê vàng}}. ckin3kc5d6vfx782epjq418x16loxuj khu djâ troăng a hdrối 0 392955 2362719 2345247 2026-05-30T23:01:05Z TheHighFighter2 42988 /* Tham khảo */ 2362719 wikitext text/x-wiki =={{langname|sed}}== ==={{ĐM|etym}}=== Từ {{ghép|sed|khu<t:bọn, nhóm>|djâ troăng ahdrối<t:tiên phong>|alt2=djâ troăng a hdrối}}. ==={{ĐM|noun}}=== {{head|sed|Danh từ|head=[[khu]] [[djâ troăng ahdrối|djâ troăng a hdrối]]}} # [[lá cờ đầu|Lá cờ đầu]]. #: {{ux|sed|vâi mê cho '''khu djâ troăng a hdrối'''|Bọn này là '''lá cờ đầu''' trong cách làm ăn mới}} ==={{đm|ref}}=== * {{R:VOV}} 0k2ygd13qzvwtgbw5n6n0wpk2xv5beq Mô đun:lt-pron 828 396574 2362990 2352183 2026-05-31T10:58:13Z Hiyuune 50834 cập nhật để mô đun nhúng với [[Mô đun:lt-common]]. 2362990 Scribunto text/plain --[==[ Backend for {{lt-pr}}: IPA, hyphenation, and rhyme generation. Author: TongcyDai ]==] local export = {} local m_debug = require("Module:debug") local m_str = require("Module:string utilities") local m_lt_common = require("Module:lt-common") local u = m_str.char local ulower = m_str.lower local uupper = m_str.upper local usub = m_str.sub local ulen = m_str.len local ugsub = m_str.gsub local ufind = m_str.find local umatch = m_str.match local rsplit = m_str.split -- Accent mark constants (re-exported from Module:lt-common to keep all -- Lithuanian modules in sync). local GRAVE = m_lt_common.GRAVE -- U+0300 local ACUTE = m_lt_common.ACUTE -- U+0301 local TILDE = m_lt_common.TILDE -- U+0303 local DOTABOVE = m_lt_common.DOTABOVE -- U+0307 local OGONEK = m_lt_common.OGONEK -- U+0328 -- M4: Reuse Module:lt-common's display formatter directly instead of -- maintaining a parallel local copy. local makeDisplayText = m_lt_common.makeDisplayText -- Liaison marker: U+203F UNDERTIE — separates clitics from their stressed host -- in input. The phonological grammar treats it like a "soft" word boundary that -- is transparent to several cross-word processes (palatalization spread, -- geminate / fricative simplification, place assimilation), per VLKK §19–§23. local LIAISON = u(0x203F) -- Lazy-loaded external modules local m_IPA local audio_module = "Module:audio" local homophones_module = "Module:homophones" local hyphenation_module = "Module:hyphenation" local rhymes_module = "Module:rhymes" local parameters_module = "Module:parameters" local parse_util_module = "Module:parse utilities" local concat = table.concat local insert = table.insert local lang_obj local function get_lang() if not lang_obj then lang_obj = require("Module:languages").getByCode("lt") end return lang_obj end local function track(reason) m_debug.track("lt-pron/" .. reason) end -- ============================================================================ -- SECTION 1: Orthography & Phonology Definitions -- ============================================================================ -- Suffix table for automatic phonetic adjustments (currently disabled) -- Exact matching lists (must include precomposed normalized tone markers) --[[ local SUFFIX_LOAN = { ["fòbas"]=true, ["fòbė"]=true, ["fòbija"]=true, ["fònas"]=true, ["fònė"]=true, ["lògas"]=true, ["lògija"]=true, ["skòpas"]=true } --]] -- Consonant classes for syllabification (Sonority Hierarchy) local CLASS = { R = {["l"]=true, ["m"]=true, ["n"]=true, ["r"]=true, ["v"]=true, ["j"]=true}, S = {["s"]=true, ["z"]=true, ["š"]=true, ["ž"]=true, ["f"]=true, ["x"]=true, ["h"]=true, ["ch"]=true}, T = {["p"]=true, ["b"]=true, ["t"]=true, ["d"]=true, ["k"]=true, ["g"]=true, ["c"]=true, ["dz"]=true, ["č"]=true, ["dž"]=true} } -- Front vowels trigger palatalization local FRONT_V = { ["e"]=true, ["ę"]=true, ["ė"]=true, ["i"]=true, ["į"]=true, ["y"]=true, ["ie"]=true, ["ei"]=true, ["eu"]=true } -- Vowel -> Base IPA mapping (Unstressed short/inherent) local V_IPA = { ["a"] = "ɐ", ["ą"] = "ɑː", ["e"] = "ɛ", ["ę"] = "æː", ["ė"] = "eː", ["i"] = "ɪ", ["į"] = "iː", ["y"] = "iː", ["u"] = "ʊ", ["ų"] = "uː", ["ū"] = "uː", ["o"] = "oː", ["ie"] = "iɛ", ["uo"] = "uɔ", -- Unstressed simple diphthongs ["ai"] = "ɐɪ", ["au"] = "ɒʊ", ["ei"] = "ɛɪ", ["eu"] = "ɛʊ", ["ui"] = "ʊɪ", ["oi"] = "ɔɪ", ["ou"] = "ɔʊ" } -- Consonant -> Base IPA mapping (Unpalatalized) local CONS_IPA = { ["b"] = "b", ["c"] = "t͡s", ["č"] = "t͡ʃ", ["d"] = "d", ["dz"] = "d͡z", ["dž"] = "d͡ʒ", ["ch"] = "x", ["f"] = "f", ["g"] = "ɡ", ["h"] = "ɣ", ["j"] = "j", ["k"] = "k", ["l"] = "l", ["m"] = "m", ["n"] = "n", ["p"] = "p", ["r"] = "r", ["s"] = "s", ["š"] = "ʃ", ["t"] = "t", ["v"] = "ʋ", ["z"] = "z", ["ž"] = "ʒ", } -- Voicing pairs for Voicing Assimilation local VOICING_PAIRS = { ["p"]="b", ["b"]="p", ["t"]="d", ["d"]="t", ["k"]="g", ["g"]="k", ["c"]="dz", ["dz"]="c", ["č"]="dž", ["dž"]="č", ["s"]="z", ["z"]="s", ["š"]="ž", ["ž"]="š", ["x"]="ɣ", ["ɣ"]="x" } local function is_voiced(c) local voiced_set = {["b"]=true, ["d"]=true, ["g"]=true, ["dz"]=true, ["dž"]=true, ["z"]=true, ["ž"]=true, ["ɣ"]=true} return voiced_set[c] == true end -- Accent pairs for conjugation module support -- Maps base vowel/diphthong to accented forms (falling/rising) local ACCENT_PAIRS = { -- Long vowels (acute or tilde) ["ą"] = {acute="ą"..ACUTE, tilde="ą"..TILDE}, ["ę"] = {acute="ę"..ACUTE, tilde="ę"..TILDE}, ["ė"] = {acute="ė"..ACUTE, tilde="ė"..TILDE}, ["y"] = {acute="y"..ACUTE, tilde="y"..TILDE}, ["į"] = {acute="į"..ACUTE, tilde="į"..TILDE}, ["ū"] = {acute="ū"..ACUTE, tilde="ū"..TILDE}, ["ų"] = {acute="ų"..ACUTE, tilde="ų"..TILDE}, -- a/e can be short (grave) or long (tilde) ["a"] = {grave="a"..GRAVE, tilde="a"..TILDE}, ["e"] = {grave="e"..GRAVE, tilde="e"..TILDE}, -- o: ó/õ/o are long, ò is short ["o"] = {acute="o"..ACUTE, grave="o"..GRAVE, tilde="o"..TILDE}, -- Short vowels i/u (only grave) ["i"] = {grave="i"..GRAVE}, ["u"] = {grave="u"..GRAVE}, -- Simple diphthongs ["ai"] = {acute="a"..ACUTE.."i", tilde="a".."i"..TILDE}, ["au"] = {acute="a"..ACUTE.."u", tilde="a".."u"..TILDE}, ["ei"] = {acute="e"..ACUTE.."i", tilde="e".."i"..TILDE}, ["ui"] = {grave="u"..GRAVE.."i", tilde="u".."i"..TILDE}, -- Complex diphthongs ["ie"] = {acute="i"..ACUTE.."e", tilde="i".."e"..TILDE}, ["uo"] = {acute="u"..ACUTE.."o", tilde="u".."o"..TILDE}, -- Mixed diphthongs (a series - acute/tilde) ["al"] = {acute="a"..ACUTE.."l", tilde="a".."l"..TILDE}, ["am"] = {acute="a"..ACUTE.."m", tilde="a".."m"..TILDE}, ["an"] = {acute="a"..ACUTE.."n", tilde="a".."n"..TILDE}, ["ar"] = {acute="a"..ACUTE.."r", tilde="a".."r"..TILDE}, -- Mixed diphthongs (e series - acute/grave/tilde, grave for foreign) ["el"] = {acute="e"..ACUTE.."l", grave="e"..GRAVE.."l", tilde="e".."l"..TILDE}, ["em"] = {acute="e"..ACUTE.."m", grave="e"..GRAVE.."m", tilde="e".."m"..TILDE}, ["en"] = {acute="e"..ACUTE.."n", grave="e"..GRAVE.."n", tilde="e".."n"..TILDE}, ["er"] = {acute="e"..ACUTE.."r", grave="e"..GRAVE.."r", tilde="e".."r"..TILDE}, -- Mixed diphthongs (i series - grave/tilde) ["il"] = {grave="i"..GRAVE.."l", tilde="i".."l"..TILDE}, ["im"] = {grave="i"..GRAVE.."m", tilde="i".."m"..TILDE}, ["in"] = {grave="i"..GRAVE.."n", tilde="i".."n"..TILDE}, ["ir"] = {grave="i"..GRAVE.."r", tilde="i".."r"..TILDE}, -- Mixed diphthongs (u series - grave/tilde) ["ul"] = {grave="u"..GRAVE.."l", tilde="u".."l"..TILDE}, ["um"] = {grave="u"..GRAVE.."m", tilde="u".."m"..TILDE}, ["un"] = {grave="u"..GRAVE.."n", tilde="u".."n"..TILDE}, ["ur"] = {grave="u"..GRAVE.."r", tilde="u".."r"..TILDE}, -- Foreign diphthongs (grave only) ["eu"] = {grave="e"..GRAVE.."u"}, ["oi"] = {grave="o"..GRAVE.."i"}, ["ou"] = {grave="o"..GRAVE.."u"}, ["ol"] = {grave="o"..GRAVE.."l"}, ["om"] = {grave="o"..GRAVE.."m"}, ["on"] = {grave="o"..GRAVE.."n"}, ["or"] = {grave="o"..GRAVE.."r"}, } -- ============================================================================ -- SECTION 2: Lexical Normalization (Avoid NFD destruction) -- ============================================================================ -- Helper: Remove all accent marks from text (moved here for early use). -- Delegates to Module:lt-common to keep the de-accenting logic shared. local function remove_all_accents(text) return m_lt_common.to_stem_bare(mw.ustring.toNFD(text)) end -- Extract pagename from input or load from headword data local function get_pagename(input) -- Check for manual override: <base:xxx> local manual = input:match("<base:([^>]+)>") if manual then return manual, input:gsub("<base:[^>]+>", "") end -- Load from headword data local success, data = pcall(function() return mw.loadData("Module:headword/data").pagename end) if success and data then return data, input end return nil, input end -- Identify respelling j and (j) positions local function identify_respelling_glides(input_with_accents, pagename) if not pagename then return {} -- No pagename, no respelling detection end -- Remove all accents from input local input_clean = remove_all_accents(input_with_accents) -- Remove special markers (^, .) input_clean = ugsub(input_clean, "[%^%.]", "") -- Remove <base:...> if present input_clean = ugsub(input_clean, "<base:[^>]+>", "") -- Remove literal ˌ input_clean = ugsub(input_clean, "ˌ", "") -- Remove softening mark ʼ input_clean = ugsub(input_clean, "ʼ", "") -- Remove (j) markers - replace with j for comparison input_clean = ugsub(input_clean, "%(j%)", "j") -- Remove spaces for comparison input_clean = ugsub(input_clean, " ", "") -- Convert to NFC for comparison input_clean = mw.ustring.toNFC(input_clean) -- Normalize pagename (lowercase, remove spaces) local pagename_clean = ulower(pagename) pagename_clean = ugsub(pagename_clean, " ", "") -- Find respelling j positions (j in input but not in pagename) local respelling_positions = {} local input_idx = 1 local page_idx = 1 while input_idx <= ulen(input_clean) do local input_char = usub(input_clean, input_idx, input_idx) if input_char == "j" then -- Check if this j exists in pagename at corresponding position local page_char = page_idx <= ulen(pagename_clean) and usub(pagename_clean, page_idx, page_idx) if page_char ~= "j" then -- This is a respelling j insert(respelling_positions, input_idx) input_idx = input_idx + 1 -- Don't advance page_idx else -- This is an original j input_idx = input_idx + 1 page_idx = page_idx + 1 end else input_idx = input_idx + 1 page_idx = page_idx + 1 end end return respelling_positions end -- Safe mapping to extract tones without destroying precomposed characters local TONE_MAP = { ["á"]="a,acute", ["à"]="a,grave", ["ã"]="a,tilde", ["é"]="e,acute", ["è"]="e,grave", ["ẽ"]="e,tilde", ["í"]="i,acute", ["ì"]="i,grave", ["ĩ"]="i,tilde", ["ý"]="y,acute", ["ỳ"]="y,grave", ["ỹ"]="y,tilde", ["ú"]="u,acute", ["ù"]="u,grave", ["ũ"]="u,tilde", ["ó"]="o,acute", ["ò"]="o,grave", ["õ"]="o,tilde", -- Precomposed vowels with macrons/ogoneks + tones (represented here via standard combinations) ["ą́"]="ą,acute", ["ą̃"]="ą,tilde", ["ę́"]="ę,acute", ["ę̃"]="ę,tilde", ["ė́"]="ė,acute", ["ė̃"]="ė,tilde", ["į́"]="į,acute", ["į̃"]="į,tilde", ["ų́"]="ų,acute", ["ų̃"]="ų,tilde", ["ū́"]="ū,acute", ["ū̃"]="ū,tilde", -- Tilde on liquids (for semi-diphthongs) ["l̃"]="l,tilde", ["m̃"]="m,tilde", ["ñ"]="n,tilde", ["r̃"]="r,tilde", ["j̃"]="j,tilde" } -- Resolves NFD back to safe representation if input was somehow NFD. -- The PUA rejection (with replacement hints), non-standard format tracking, -- and i/j-with-dotabove canonicalization are all delegated to Module:lt-common -- so that all Lithuanian modules share one implementation. Only the -- TONE_MAP-based codepoint parser remains local since it produces the -- token list specifically consumed by lt-pron's tokenizer. local function safe_normalize(text) -- Reject PUA characters with helpful "use X instead" hints. m_lt_common.reject_pua(text) -- Track non-standard input encodings for analytics. Detection runs on -- the raw input (in NFD internally) before any canonicalization, so the -- counts reflect what editors actually typed. local has_dotless, has_precomp_i = m_lt_common.detect_nonstandard(text) if has_dotless then track('dotless-ij') end if has_precomp_i then track('precomposed-i-accent') end -- "Explicit dotabove" (i.e., i/j + U+0307 + accent) is the *correct* -- input form for accented i/j and is tracked separately to monitor -- editor adoption. This check stays local since lt-common's -- detect_nonstandard intentionally only flags the wrong forms. if ufind(mw.ustring.toNFD(text), "[ij]" .. DOTABOVE) then track('explicit-dotabove') end -- Normalize: drops stray dot-aboves between i/j and accents, -- converts dotless ı/ȷ to standard i/j, returns clean NFC. text = m_lt_common.canonicalize_input(text) -- Parse the canonicalized NFC string into {char, tone} tokens. -- TONE_MAP entries are 1- or 2-codepoint precomposed sequences -- (e.g. "á" is one codepoint; "ą́" is "ą" + U+0301). The lookup tries -- the 2-codepoint match first, then falls back to the 1-codepoint match. local result = {} local i = 1 while i <= ulen(text) do local c = usub(text, i, i) local c_lower = ulower(c) -- Convert to lowercase for TONE_MAP lookup -- Look ahead for combining marks if any slipped through local next_c = usub(text, i+1, i+1) local next_c_lower = ulower(next_c) local combined = c_lower .. next_c_lower if TONE_MAP[combined] then local parts = rsplit(TONE_MAP[combined], ",") -- Preserve original case of base character local base_char = parts[1] if c ~= c_lower then base_char = uupper(base_char) end insert(result, {char = base_char, tone = parts[2]}) i = i + 2 elseif TONE_MAP[c_lower] then local parts = rsplit(TONE_MAP[c_lower], ",") -- Preserve original case of base character local base_char = parts[1] if c ~= c_lower then base_char = uupper(base_char) end insert(result, {char = base_char, tone = parts[2]}) i = i + 1 else insert(result, {char = c, tone = nil}) i = i + 1 end end return result end -- ============================================================================ -- SECTION 3: Tokenization & Diphthong/Digraph resolution -- ============================================================================ local function get_type(c) local lc = ulower(c) if V_IPA[lc] then return "V" end if CLASS.R[lc] then return "R" end if CLASS.S[lc] then return "S" end if CLASS.T[lc] then return "T" end return "UNKNOWN" end -- Helper: Convert token array back to NFC string for suffix/prefix matching local function tokens_to_string(tok_list) local s = "" for _, t in ipairs(tok_list) do local c = t.char if t.tone == "grave" then c = c .. GRAVE elseif t.tone == "acute" then c = c .. ACUTE elseif t.tone == "tilde" then c = c .. TILDE end s = s .. c end return mw.ustring.toNFC(s) end -- Apply automatic properties based on word structure (e.g. loanwords) local function apply_auto_properties(tokens) local word_str = ulower(tokens_to_string(tokens)) --[[ Suffix detection for loanword quality (currently disabled) local matched_loan_suff = nil for suff, _ in pairs(SUFFIX_LOAN) do if usub(word_str, -ulen(suff)) == suff then matched_loan_suff = suff; break end end if matched_loan_suff then local suff_len = ulen(matched_loan_suff) local acc_len = 0 for i = #tokens, 1, -1 do local t = tokens[i] acc_len = acc_len + ulen(tokens_to_string({t})) if t.type == "V" and ulower(t.char) == "o" then t.auto_targeted = true if not t.force_default then t.loan_quality = true end end if acc_len >= suff_len then break end end end -- Check for redundant asterisks globally for _, t in ipairs(tokens) do if t.force_default and not t.auto_targeted then track('redundant-asterisk') end end --]] return tokens end -- Strict whitelist for valid diphthong and tone combinations local function is_strict_diphthong(c1, t1, c2, t2) local combo = c1 .. c2 -- Unstressed: neither element has a tone if not t1 and not t2 then return (combo == "ie" or combo == "uo" or combo == "ai" or combo == "au" or combo == "ei" or combo == "ui" or combo == "oi" or combo == "ou" or combo == "eu") end -- Tone on the first element (acute or grave) if t1 and not t2 then if t1 == "acute" then return (combo == "ai" or combo == "au" or combo == "ei" or combo == "ie" or combo == "uo" or combo == "oi") elseif t1 == "grave" then return (combo == "ui" or combo == "oi" or combo == "ou" or combo == "eu") end end -- Tone on the second element (tilde) if not t1 and t2 then if t2 == "tilde" then return (combo == "ai" or combo == "au" or combo == "ei" or combo == "ui" or combo == "ie" or combo == "uo" or combo == "eu") end end return false end local function tokenize(text_str, pagename) local raw_chars = safe_normalize(text_str) -- Identify respelling glides local respelling_j_positions = identify_respelling_glides(text_str, pagename) local tokens = {} local i = 1 while i <= #raw_chars do local curr = raw_chars[i] local nxt = raw_chars[i+1] local lc_curr = ulower(curr.char) local lc_nxt = nxt and ulower(nxt.char) -- Explicit Modifiers if curr.char == "^" then local last_v = nil for j = #tokens, 1, -1 do if tokens[j].type == "V" then last_v = tokens[j]; break end end if last_v then local lc_v = ulower(last_v.char) local base_v = usub(lc_v, -1) -- Last char for silent i combinations local is_e_base = (lc_v == "e") or (base_v == "e") local is_o_base = (lc_v == "o") or (base_v == "o") -- Check for valid e: no tone or grave only if is_e_base then if not last_v.tone or last_v.tone == "grave" then last_v.loan_quality = true elseif last_v.tone == "acute" then error("lt-pron: '^' cannot be used with acute 'é' (use only with plain 'e' or grave 'è')") elseif last_v.tone == "tilde" then error("lt-pron: '^' cannot be used with tilde 'ẽ' (use only with plain 'e' or grave 'è')") end -- Check for valid o: no tone only elseif is_o_base then if not last_v.tone then last_v.loan_quality = true elseif last_v.tone == "grave" then error("lt-pron: '^' is redundant for 'ò' (already pronounced [ɔ])") elseif last_v.tone == "acute" or last_v.tone == "tilde" then error("lt-pron: '^' cannot be used with 'ó' or 'õ' (native long vowels)") end else error("lt-pron: '^' can only be used with 'e' (plain/grave) or 'o' (plain). Found: '" .. lc_v .. "'") end end i = i + 1 -- Check for (j) marker elseif curr.char == "(" and i + 2 <= #raw_chars then local char2 = raw_chars[i+1] local char3 = raw_chars[i+2] if char2.char == "j" and char3.char == ")" then insert(tokens, {char = "j", type = "R", tone = nil, is_respelling = true, is_optional = true, original_char = "-"}) i = i + 3 else error("lt-pron: '(' must be followed by 'j)' to form the (j) glide marker") end --[[ Asterisk modifier (currently disabled) elseif curr.char == "*" then local last_v = nil for j = #tokens, 1, -1 do if tokens[j].type == "V" then last_v = tokens[j]; break end end if last_v then last_v.force_default = true end i = i + 1 --]] elseif curr.char == "." then insert(tokens, {char = ".", type = "BOUNDARY"}) i = i + 1 elseif curr.char == "ˌ" then insert(tokens, {char = "ˌ", type = "SECONDARY_STRESS_BOUNDARY"}) i = i + 1 elseif curr.char == "ʼ" then -- Softening mark: palatalize the preceding consonant for j = #tokens, 1, -1 do local tok = tokens[j] if tok.type == "T" or tok.type == "S" or tok.type == "R" then tok.softening_mark = true break end end i = i + 1 elseif lc_curr == "d" and nxt and (lc_nxt == "z" or lc_nxt == "ž") then insert(tokens, {char = curr.char .. nxt.char, type = "T", tone = nil}) i = i + 2 elseif lc_curr == "c" and nxt and lc_nxt == "h" then insert(tokens, {char = curr.char .. nxt.char, type = "S", tone = nil}) i = i + 2 -- Special handling for V + j̃ (final j with tilde): treat as V + ĩ diphthong elseif curr.type ~= "BOUNDARY" and get_type(curr.char) == "V" and nxt and ulower(nxt.char) == "j" and nxt.tone == "tilde" then -- Check if this is word-final (no more non-boundary tokens after j̃) local is_final = true for k = i + 2, #raw_chars do if raw_chars[k].char ~= " " then is_final = false break end end if is_final then -- Combine V + j̃ as a diphthong V + ĩ (e.g., uj̃ → ui̇̃) local v_char = ulower(curr.char) local combined_char = v_char .. "i" -- e.g., "u" + "i" = "ui" local tone = "tilde" -- j̃'s tilde local tone_position = 2 -- Tilde is on the second vowel (i) insert(tokens, { char = combined_char, type = "V", tone = tone, tone_position = tone_position, original_char = v_char .. "j" -- For hyphenation: display as "uj̃" }) i = i + 2 else -- Not final, treat as regular V + j insert(tokens, {char = curr.char, type = "V", tone = curr.tone}) i = i + 1 end elseif curr.type ~= "BOUNDARY" and get_type(curr.char) == "V" and nxt and get_type(nxt.char) == "V" then local nxt_nxt = raw_chars[i+2] local lc_nxt_nxt = nxt_nxt and ulower(nxt_nxt.char) local back_diph = lc_nxt and lc_nxt_nxt and (lc_nxt .. lc_nxt_nxt) local is_silent_i_diph = (lc_curr == "i" and not curr.tone) and (back_diph == "au" or back_diph == "ai" or back_diph == "ou" or back_diph == "oi" or back_diph == "uo") local is_silent_i_mono = (lc_curr == "i" and not curr.tone) and (lc_nxt == "a" or lc_nxt == "ą" or lc_nxt == "o" or lc_nxt == "u" or lc_nxt == "ų" or lc_nxt == "ū" or lc_nxt == "ɔ") local is_valid_diph = is_strict_diphthong(lc_curr, curr.tone, lc_nxt, nxt and nxt.tone) if is_valid_diph and nxt_nxt and get_type(nxt_nxt.char) == "V" then local lc_nxt_nxt = ulower(nxt_nxt.char) local is_next_valid_diph = is_strict_diphthong(lc_nxt, nxt.tone, lc_nxt_nxt, nxt_nxt.tone) if is_next_valid_diph then -- Resolve ambiguous triplets (e.g., auo -> a.uo is standard) -- Break the first valid diphthong unless explicitly stressed if not curr.tone then is_valid_diph = false end end end if is_silent_i_diph then local tone = nxt.tone or nxt_nxt.tone local tone_position = nil if tone then -- For silent i diphthongs (e.g., iau), position is relative to the full string -- Position 2 = middle vowel, Position 3 = last vowel if nxt.tone then tone_position = 2 elseif nxt_nxt.tone then tone_position = 3 end end insert(tokens, {char = curr.char .. nxt.char .. nxt_nxt.char, type = "V", tone = tone, has_silent_i = true, tone_position = tone_position}) i = i + 3 elseif is_silent_i_mono then local tone = nxt.tone local tone_position = nil if tone then -- For silent i monosyllables (e.g., ia), position 2 = second character tone_position = 2 end insert(tokens, {char = curr.char .. nxt.char, type = "V", tone = tone, has_silent_i = true, tone_position = tone_position}) i = i + 2 elseif is_valid_diph then local tone = curr.tone or nxt.tone local tone_position = nil if tone then -- Record which vowel carries the tone (1 = first, 2 = second) if curr.tone then tone_position = 1 elseif nxt.tone then tone_position = 2 end end insert(tokens, {char = curr.char .. nxt.char, type = "V", tone = tone, tone_position = tone_position}) i = i + 2 else insert(tokens, {char = curr.char, type = "V", tone = curr.tone}) i = i + 1 end else if curr.char ~= " " then local tok_type = get_type(curr.char) local is_respelling_j = false -- Check if this is a respelling j if ulower(curr.char) == "j" and #respelling_j_positions > 0 then -- Build cleaned string up to current position to find clean position local cleaned_so_far = "" for k = 1, i do local c = raw_chars[k] if c.char ~= "^" and c.char ~= "." and c.char ~= " " and c.char ~= "ʼ" and c.char ~= "ˌ" then local char_clean = c.char -- Don't add tone marks to cleaned string if not c.tone then cleaned_so_far = cleaned_so_far .. char_clean else -- Add base character without tone cleaned_so_far = cleaned_so_far .. char_clean end end end local clean_pos = ulen(cleaned_so_far) -- Check if this position is in respelling list for _, pos in ipairs(respelling_j_positions) do if pos == clean_pos then is_respelling_j = true break end end end if ulower(curr.char) == "j" then local tok_data = {char = curr.char, type = tok_type, tone = curr.tone, is_respelling = is_respelling_j, is_optional = false} if is_respelling_j then tok_data.original_char = "-" -- Respelling: use "-" to indicate not in orthography end insert(tokens, tok_data) else insert(tokens, {char = curr.char, type = tok_type, tone = curr.tone}) end end i = i + 1 end end -- Validate respelling glides are between vowels for i, tok in ipairs(tokens) do if tok.is_respelling then local prev_is_vowel = false local next_is_vowel = false -- Check previous non-boundary token for j = i - 1, 1, -1 do if tokens[j].type ~= "BOUNDARY" and tokens[j].type ~= "SECONDARY_STRESS_BOUNDARY" then prev_is_vowel = (tokens[j].type == "V") break end end -- Check next non-boundary token for j = i + 1, #tokens do if tokens[j].type ~= "BOUNDARY" and tokens[j].type ~= "SECONDARY_STRESS_BOUNDARY" then next_is_vowel = (tokens[j].type == "V") break end end if not (prev_is_vowel and next_is_vowel) then error("lt-pron: Respelling glide 'j' or '(j)' must be between two vowels") end end end return apply_auto_properties(tokens) end -- ============================================================================ -- SECTION 4: Syllabification -- ============================================================================ -- Pre-syllabification: Merge geminate (doubled) consonants -- This must happen BEFORE syllabification to prevent false mixed diphthongs -- For example: pérrašo → pér-ra-šo would incorrectly treat ér as a mixed diphthong -- By merging rr→r first, we get pé-ra-šo, correctly keeping é as a pure vowel local function merge_geminate_consonants(tokens) local SIBILANTS = {["s"]=true, ["z"]=true, ["š"]=true, ["ž"]=true} local i = 1 while i < #tokens do local tok = tokens[i] local nxt = tokens[i+1] local tok_is_cons = (tok.type == "T" or tok.type == "S" or tok.type == "R") local nxt_is_cons = (nxt.type == "T" or nxt.type == "S" or nxt.type == "R") if tok_is_cons and nxt_is_cons then local tok_char = ulower(tok.char) local nxt_char = ulower(nxt.char) local tok_is_sib = SIBILANTS[tok_char] local nxt_is_sib = SIBILANTS[nxt_char] -- Merge if: (1) both are sibilants, or (2) identical consonants if (tok_is_sib and nxt_is_sib) or (tok_char == nxt_char) then -- Remove the first token (keep the second) table.remove(tokens, i) -- Don't increment i, check the same position again else i = i + 1 end else i = i + 1 end end end local function syllabify(tokens) local syllables = {} local current_syl = {} -- Check for leading secondary stress marker local has_initial_secondary_stress = false if #tokens > 0 and tokens[1].type == "SECONDARY_STRESS_BOUNDARY" then has_initial_secondary_stress = true end local v_indices = {} for i, tok in ipairs(tokens) do if tok.type == "V" then insert(v_indices, i) end end if #v_indices == 0 then return {tokens} end -- Edge case: no vowels local boundaries = {} -- Sonority Sequencing Algorithm combined with Morphophonological Maximum Onset for idx = 1, #v_indices - 1 do local v1_idx = v_indices[idx] local v2_idx = v_indices[idx + 1] local raw_c_tokens = {} local forced_boundary_idx = nil for i = v1_idx + 1, v2_idx - 1 do if tokens[i].type == "BOUNDARY" or tokens[i].type == "SECONDARY_STRESS_BOUNDARY" then forced_boundary_idx = i else insert(raw_c_tokens, {t=tokens[i], orig_idx=i}) end end if forced_boundary_idx then boundaries[forced_boundary_idx] = true elseif #raw_c_tokens == 0 then -- Hiatus boundaries[v2_idx] = true else -- Macro-Token Grouping: Treat consecutive sibilants (S) as a single phonological unit local macro_c = {} local i = 1 while i <= #raw_c_tokens do local current = raw_c_tokens[i] if current.t.type == "S" then local absorbed = {current} local j = i + 1 -- Absorb any subsequent S tokens into this macro unit, keeping track of them while j <= #raw_c_tokens and raw_c_tokens[j].t.type == "S" do insert(absorbed, raw_c_tokens[j]) j = j + 1 end insert(macro_c, {type = "S", orig_idx = current.orig_idx, tokens = absorbed}) i = j else insert(macro_c, {type = current.t.type, orig_idx = current.orig_idx, tokens = {current}}) i = i + 1 end end local m_count = #macro_c if m_count == 1 then -- V.CV (or V.SSV, e.g., sausšala -> sau.sšala) boundaries[macro_c[1].orig_idx] = true elseif m_count == 2 then local t1, t2 = macro_c[1].type, macro_c[2].type -- ST, SR, TR -> V.CCV if (t1=="S" and t2=="T") or (t1=="S" and t2=="R") or (t1=="T" and t2=="R") then boundaries[macro_c[1].orig_idx] = true else -- Handle TSS and RSS sequences properly (e.g., Oksfordas, transformavo). -- If the macro cluster is T+S or R+S, and the S unit absorbed multiple sibilants, -- split between the first and second sibilant (TS.S, RS.S). if (t1=="T" or t1=="R") and t2=="S" and #macro_c[2].tokens > 1 then boundaries[macro_c[2].tokens[2].orig_idx] = true else -- Default VC.CV boundaries[macro_c[2].orig_idx] = true end end elseif m_count == 3 then local t1, t2, t3 = macro_c[1].type, macro_c[2].type, macro_c[3].type if t1=="S" and t2=="T" and t3=="R" then boundaries[macro_c[1].orig_idx] = true -- V.CCCV elseif (t1=="T" and t2=="S" and t3=="T") or (t1=="R" and t2=="S" and t3=="T") or (t1=="T" and t2=="S" and t3=="R") or (t1=="R" and t2=="T" and t3=="R") or (t1=="T" and t2=="T" and t3=="R") or (t1=="R" and t2=="S" and t3=="R") then boundaries[macro_c[2].orig_idx] = true -- VC.CCV (includes RSR, e.g., konfliktas) else boundaries[macro_c[3].orig_idx] = true -- VCC.CV end elseif m_count == 4 then -- Identify the 4-consonant pattern according to the 8 documented combinations local pattern = macro_c[1].type .. macro_c[2].type .. macro_c[3].type .. macro_c[4].type if pattern == "RSTR" or pattern == "TSTR" then -- R.STR, T.STR -> VC.CCCV boundaries[macro_c[2].orig_idx] = true elseif pattern == "RTRR" or pattern == "TSTS" then -- RTR.R, TST.S -> VCCC.CV boundaries[macro_c[4].orig_idx] = true else -- RT.ST, RT.SR, RT.TR, ST.TR -> VCC.CCV boundaries[macro_c[3].orig_idx] = true end elseif m_count >= 5 then -- Fallback for >=5 logical consonant units track('complex-consonant-cluster') boundaries[macro_c[3].orig_idx] = true end end end -- Construct syllables local secondary_stress_syllables = {} for i, tok in ipairs(tokens) do if boundaries[i] and #current_syl > 0 then insert(syllables, current_syl) -- If this is a secondary stress boundary, mark the NEXT syllable if tok.type == "SECONDARY_STRESS_BOUNDARY" then secondary_stress_syllables[#syllables + 1] = true end current_syl = {} end if tok.type ~= "BOUNDARY" and tok.type ~= "SECONDARY_STRESS_BOUNDARY" then insert(current_syl, tok) end end if #current_syl > 0 then insert(syllables, current_syl) end -- Apply secondary stress marks for idx, _ in pairs(secondary_stress_syllables) do if syllables[idx] then syllables[idx].secondary_stress = true end end -- Apply initial secondary stress if present if has_initial_secondary_stress and #syllables > 0 then syllables[1].secondary_stress = true end return syllables end -- ============================================================================ -- SECTION 5: Base IPA Mapping & Stress Assignment -- ============================================================================ local function is_mixed_diphthong(syl, v_idx) local v_tok = syl[v_idx] local lc_v = ulower(v_tok.char) -- Strip silent 'i' for accurate length calculation if v_tok.has_silent_i then lc_v = usub(lc_v, 2) end -- Digraphs (ie, uo, ai, au, etc.) or natively long vowels (ą, ę, ė, į, y, ų, ū) -- do NOT form mixed diphthongs with subsequent resonants. -- Only short a, e, i, u, o can form true mixed diphthongs. if ulen(lc_v) > 1 then return false end local LONG_V = {["ą"]=true, ["ę"]=true, ["ė"]=true, ["į"]=true, ["y"]=true, ["ų"]=true, ["ū"]=true} if LONG_V[lc_v] then return false end -- V + R in the SAME syllable (coda) if v_idx < #syl and syl[v_idx+1].type == "R" then -- j and v are not considered for typical liquid semi-diphthongs length rules if syl[v_idx+1].char ~= "j" and syl[v_idx+1].char ~= "v" then return true end end return false end local function map_base_phonetics(syllables) local stress_prefix = nil for _, syl in ipairs(syllables) do local v_idx = nil for i, tok in ipairs(syl) do if tok.type == "V" then v_idx = i; break end end if v_idx then local v_tok = syl[v_idx] local v_char = v_tok.char local lc_v_char = ulower(v_char) local tone = v_tok.tone local is_mixed = is_mixed_diphthong(syl, v_idx) if is_mixed and not tone then local r_tok = syl[v_idx+1] if r_tok.tone then tone = r_tok.tone end end if v_tok.has_silent_i then v_tok.silent_i = true local actual_vowel = usub(lc_v_char, 2) v_tok.ipa = V_IPA[actual_vowel] or "ɐ" lc_v_char = actual_vowel else -- Apply loan quality base default for 'o' and 'e' v_tok.ipa = V_IPA[lc_v_char] or "ɐ" if lc_v_char == "o" and v_tok.loan_quality then v_tok.ipa = "ɔ" end if lc_v_char == "e" and v_tok.loan_quality then v_tok.ipa = "e" end -- Automatically prepend glide 'j' to syllable-initial 'ie' if lc_v_char == "ie" and v_idx == 1 then v_tok.ipa = "jiɛ" end end if tone then local s_mark = "" local v_base = usub(lc_v_char, 1, 1) if tone == "acute" then s_mark = "¹ˈ" if lc_v_char == "a" then if is_mixed then v_tok.ipa = "ɑˑ" else v_tok.ipa = "ɑː" end elseif lc_v_char == "e" then -- Note: '^' modifier not allowed with acute 'é' as of current rules -- This code path preserved for consistency if is_mixed and v_tok.loan_quality then v_tok.ipa = "ɛ" -- Loanword é in mixed diphthongs is short /ɛ/ without length elseif is_mixed then v_tok.ipa = "æˑ" -- Mixed diphthong: half-long else v_tok.ipa = "æː" -- Pure vowel: full-long end elseif lc_v_char == "ai" then v_tok.ipa = "ɑˑɪ" elseif lc_v_char == "au" then v_tok.ipa = "ɑˑʊ" elseif lc_v_char == "ei" then v_tok.ipa = "æˑɪ" elseif lc_v_char == "eu" then v_tok.ipa = "æˑʊ" elseif lc_v_char == "oi" then v_tok.ipa = "oˑɪ" end elseif tone == "grave" then if is_mixed and (v_base == "i" or v_base == "u" or v_base == "e" or v_base == "o") then s_mark = "¹ˈ" elseif lc_v_char == "ui" or lc_v_char == "oi" or lc_v_char == "ou" or lc_v_char == "eu" then s_mark = "¹ˈ" else s_mark = "ˈ" end -- Handle loanword variants for grave if lc_v_char == "e" and v_tok.loan_quality then v_tok.ipa = "e" -- è^ (loanword) → [e] end if lc_v_char == "o" then v_tok.ipa = "ɔ" -- ò (always loanword) → [ɔ] end elseif tone == "tilde" then s_mark = "²ˈ" if lc_v_char == "ai" then v_tok.ipa = "ɐɪˑ" elseif lc_v_char == "au" then v_tok.ipa = "ɒʊˑ" elseif lc_v_char == "ei" then v_tok.ipa = "ɛɪˑ" elseif lc_v_char == "eu" then v_tok.ipa = "ɛʊˑ" elseif lc_v_char == "ui" then v_tok.ipa = "ʊɪˑ" elseif lc_v_char == "a" then if is_mixed then v_tok.ipa = "ɐ" else v_tok.ipa = "ɑː" end elseif lc_v_char == "e" then if is_mixed then v_tok.ipa = "ɛ" else v_tok.ipa = "æː" end end end syl.stress = s_mark end -- Set base IPA for consonants (case-insensitive mapping) for i, tok in ipairs(syl) do if tok.type ~= "V" then local lc_c = ulower(tok.char) tok.ipa = CONS_IPA[lc_c] or lc_c end end -- Handle tilde half-length on mixed diphthong coda if tone == "tilde" and is_mixed then local r_tok = syl[v_idx+1] r_tok.half_long = true end else -- Syllable with no vowel (e.g. leftover consonant) for i, tok in ipairs(syl) do local lc_c = ulower(tok.char) tok.ipa = CONS_IPA[lc_c] or lc_c end end end end -- ============================================================================ -- SECTION 6: Phonetic Polish Passes -- ============================================================================ -- Pass 1: Palatalization Spreading (Right-to-Left) -- -- right_context_palatalizing (optional, used by the cross-word pipeline): -- When the current word is followed by a liaisoned word whose first effective -- phoneme is "soft" (front V, j, or a palatalized consonant), pass `true` so -- that: -- 1. spread_active starts true (allowing the word's last consonant to -- receive ʲ even though it has no in-word right neighbour); -- 2. is_direct evaluates to true for that last consonant when it is k/g, -- so VLKK §19's "lyk‿jója → [lʲiːkʲ‿…]" pattern is produced. -- When omitted or false, the function behaves exactly like the within-word -- palatalization that this module has always done. local function apply_palatalization(syllables, right_context_palatalizing) -- Flatten tokens for cross-syllable spreading local flat_tokens = {} for _, syl in ipairs(syllables) do for _, tok in ipairs(syl) do insert(flat_tokens, tok) end end -- First pass: Apply softening marks (no spreading) for i = 1, #flat_tokens do local tok = flat_tokens[i] if tok.softening_mark and tok.ipa ~= "" then tok.ipa = tok.ipa .. "ʲ" tok.is_palatalized = true end end local spread_active = right_context_palatalizing and true or false for i = #flat_tokens, 1, -1 do local tok = flat_tokens[i] local lc_char = ulower(tok.char) if tok.type == "V" then if tok.silent_i or FRONT_V[lc_char] then spread_active = true else spread_active = false end elseif lc_char == "j" then -- Preserve special IPA for final j (ɪ̯), don't override it if tok.ipa ~= "ɪ̯" and tok.ipa ~= "" then tok.ipa = "j" end tok.is_palatalized = true spread_active = true else if spread_active then -- Check if the palatalization is DIRECT (immediate contact with front V or j) local is_direct = false local nxt = flat_tokens[i+1] if nxt then local nxt_lc = ulower(nxt.char) if (nxt.type == "V" and (nxt.silent_i or FRONT_V[nxt_lc])) or nxt_lc == "j" then is_direct = true end elseif right_context_palatalizing then -- No in-word neighbour, but a liaisoned soft phoneme follows. is_direct = true end tok.is_palatalized = true if lc_char == "k" or lc_char == "g" then if is_direct and tok.ipa ~= "" then tok.ipa = tok.ipa .. "ʲ" end -- DO NOT set spread_active to false! k/g are transparent to spreading. else if tok.ipa ~= "" then tok.ipa = tok.ipa .. "ʲ" end end end end end end -- Pass 2: Voicing Assimilation (Right-to-Left) local function apply_voicing_assimilation(syllables) local flat_tokens = {} for _, syl in ipairs(syllables) do for _, tok in ipairs(syl) do insert(flat_tokens, tok) end end local target_voice = nil for i = #flat_tokens, 1, -1 do local tok = flat_tokens[i] if tok.type == "V" or tok.type == "R" then target_voice = nil -- Blocked by vowels and resonants elseif tok.type == "S" or tok.type == "T" then local lc_char = ulower(tok.char) local is_uppercase = (tok.char ~= lc_char) if target_voice == nil then -- Establish new assimilation target target_voice = is_voiced(lc_char) and "voiced" or "voiceless" else -- Assimilate local current_is_voiced = is_voiced(lc_char) if target_voice == "voiced" and not current_is_voiced then local new_char = VOICING_PAIRS[lc_char] or lc_char tok.char = is_uppercase and uupper(new_char) or new_char elseif target_voice == "voiceless" and current_is_voiced then local new_char = VOICING_PAIRS[lc_char] or lc_char tok.char = is_uppercase and uupper(new_char) or new_char end -- Update IPA based on new character, preserving palatalization local lc_new_char = ulower(tok.char) local new_ipa = CONS_IPA[lc_new_char] or lc_new_char if tok.is_palatalized and lc_new_char ~= "k" and lc_new_char ~= "g" then new_ipa = new_ipa .. "ʲ" end tok.ipa = new_ipa end end end end -- Pass 3: Nasal Assimilation (n -> ŋ before velars k/g and post-velar ch/h) -- Per VLKK §6.3, n assimilates to the place of articulation of any following -- velar/uvular consonant, including the fricatives ch [x] and h [ɣ]. local function apply_nasal_assimilation(syllables) local flat_tokens = {} for _, syl in ipairs(syllables) do for _, tok in ipairs(syl) do insert(flat_tokens, tok) end end for i = 1, #flat_tokens - 1 do local tok = flat_tokens[i] -- Ignore vowels for lookahead local lookahead = i + 1 while lookahead <= #flat_tokens and flat_tokens[lookahead].type == "V" do if flat_tokens[lookahead].silent_i then lookahead = lookahead + 1 else break end end local nxt = flat_tokens[lookahead] if nxt and ulower(tok.char) == "n" then local lc_nxt = ulower(nxt.char) if lc_nxt == "k" or lc_nxt == "g" or lc_nxt == "ch" or lc_nxt == "h" then -- Check actual IPA string for direct palatalization if ufind(nxt.ipa, "ʲ") then tok.ipa = "ŋʲ" else tok.ipa = "ŋ" end end end end end -- Pass 4: Vowel Quality Adjustments after Palatalization local function adjust_vowel_quality(syllables) for _, syl in ipairs(syllables) do local has_palatal_onset = false for i, tok in ipairs(syl) do if tok.type ~= "V" and (tok.is_palatalized or ulower(tok.char) == "j") then has_palatal_onset = true elseif tok.type == "V" and has_palatal_onset then local ipa = tok.ipa -- Shift a/e quality if ipa == "ɐ" then ipa = "ɛ" elseif ipa == "ɑː" then ipa = "æː" -- Diphthong shifts for iau / iai elseif ipa == "ɒʊ" then ipa = "ɛʊ" elseif ipa == "ɑˑʊ" then ipa = "æˑʊ" elseif ipa == "ɒʊˑ" then ipa = "ɛʊˑ" elseif ipa == "ɐɪ" then ipa = "ɛɪ" elseif ipa == "ɑˑɪ" then ipa = "æˑɪ" elseif ipa == "ɐɪˑ" then ipa = "ɛɪˑ" end -- Dynamic fronting for u/o/ɔ (adds U+031F) -- Matches ONLY the first character (^) to avoid double fronting in uɔ ipa = ugsub(ipa, "^([uʊoɔ])", "%1̟") tok.ipa = ipa has_palatal_onset = false end end end end -- Pass 5: Terminal Devoicing (Word-final obstruent devoicing) local function apply_terminal_devoicing(syllables) if #syllables == 0 then return end local last_syl = syllables[#syllables] local last_tok = last_syl[#last_syl] if last_tok and (last_tok.type == "S" or last_tok.type == "T") then local lc_char = ulower(last_tok.char) local is_uppercase = (last_tok.char ~= lc_char) if is_voiced(lc_char) then local devoiced = VOICING_PAIRS[lc_char] if devoiced then last_tok.char = is_uppercase and uupper(devoiced) or devoiced local new_ipa = CONS_IPA[devoiced] or devoiced if last_tok.is_palatalized then new_ipa = new_ipa .. "ʲ" end last_tok.ipa = new_ipa end end end end -- Pass 6: Place Assimilation (Sibilant + Affricate) -- When a sibilant meets an affricate, the sibilant adjusts its place of articulation: -- s+č→š, z+dž→ž, š+c→s, ž+dz→z local function apply_place_assimilation(syllables) local flat_tokens = {} for _, syl in ipairs(syllables) do for _, tok in ipairs(syl) do insert(flat_tokens, tok) end end local PLACE_ASSIM = { ["s"] = {["t͡ʃ"] = "ʃ"}, ["z"] = {["d͡ʒ"] = "ʒ"}, ["ʃ"] = {["t͡s"] = "s"}, ["ʒ"] = {["d͡z"] = "z"}, } for i = 1, #flat_tokens - 1 do local tok = flat_tokens[i] local nxt = flat_tokens[i+1] if tok.type == "S" and nxt.type == "T" then local rule = PLACE_ASSIM[tok.ipa] if rule and rule[nxt.ipa] then tok.ipa = rule[nxt.ipa] end end end end -- Pass 7: Geminate Simplification (Double consonant reduction) -- NOTE: Original geminates (rr, ll, etc.) are already merged in merge_geminate_consonants. -- This pass handles geminates created by phonetic rules (e.g., voicing assimilation: td→dd). -- Sibilants: any two sibilants merge into one (keeping the second) -- Other consonants: only identical pairs merge local function apply_geminate_simplification(syllables) local flat_tokens = {} for _, syl in ipairs(syllables) do for _, tok in ipairs(syl) do insert(flat_tokens, tok) end end local SIBILANTS = {["s"]=true, ["z"]=true, ["ʃ"]=true, ["ʒ"]=true} for i = 1, #flat_tokens - 1 do local tok = flat_tokens[i] local nxt = flat_tokens[i+1] local tok_is_cons = (tok.type == "T" or tok.type == "S" or tok.type == "R") local nxt_is_cons = (nxt.type == "T" or nxt.type == "S" or nxt.type == "R") if tok_is_cons and nxt_is_cons then local tok_is_sib = SIBILANTS[tok.ipa] local nxt_is_sib = SIBILANTS[nxt.ipa] if tok_is_sib and nxt_is_sib then tok.ipa = "" elseif tok.ipa == nxt.ipa and tok.ipa ~= "" then tok.ipa = "" end end end end -- Pass 8: Final Consonant Vocalization (v → ʊ̯, j → ɪ̯) -- Word-final v and j (without tilde) become non-syllabic vowels -- Note: j with tilde is already converted to i with tilde in tokenization local function apply_final_consonant_vocalization(syllables) if #syllables == 0 then return end local last_syl = syllables[#syllables] local last_tok = last_syl[#last_syl] if last_tok then local lc_char = ulower(last_tok.char) -- Final v → ʊ̯ if lc_char == "v" then last_tok.ipa = "ʊ̯" -- Keep type as "R" (resonant) for now - it's treated as non-syllabic end -- Final j (without tilde) → ɪ̯ -- Note: j with tilde is already converted to i in tokenization, so won't reach here if lc_char == "j" and last_tok.tone ~= "tilde" then last_tok.ipa = "ɪ̯" -- Keep type as "R" (resonant) for now - it's treated as non-syllabic end end end -- ============================================================================ -- SECTION 7: Output Assembly -- ============================================================================ -- --------------------------------------------------------------------------- -- Cross-word phonology helpers -- --------------------------------------------------------------------------- -- Split a term into segments at spaces only. Returns a plain list of -- non-empty word strings. The liaison marker ‿ is reserved for IPA output -- and must never appear in input; if it does, raise an error so the editor -- knows to use a regular space instead. local function split_into_segments(term) if term and ufind(term, LIAISON) then error("lt-pron: the liaison marker \"" .. LIAISON .. "\" (U+203F) must not appear in the input. Use a regular " .. "space between words; the module decides where to insert ‿ " .. "in the IPA output based on stress.") end local segs = {} for _, w in ipairs(rsplit(term or "", " ")) do if w ~= "" then insert(segs, w) end end return segs end -- True if any syllable in the word has primary or secondary stress. local function word_has_stress(syllables) for _, syl in ipairs(syllables) do if syl.stress or syl.secondary_stress then return true end end return false end -- Compute the clitic group anchor for each word in a phrase. -- -- A "clitic group" is a stressed word together with all unstressed words that -- prosodically attach to it. Two adjacent words share a liaison ‿ iff they -- belong to the same group. The algorithm: -- -- 1. Every stressed word is its own anchor. -- 2. Each unstressed word looks FORWARD for the nearest stressed word -- (proclitic case, e.g., "iš namų̃" — iš leans on namų̃). -- 3. If no stressed word follows, look BACKWARD instead (enclitic case, -- e.g., "sakaũ gi" — gi leans on sakaũ). -- 4. If the entire phrase has no stressed word (rare edge case), all -- unstressed words share a single pseudo-group with anchor 0. -- -- This matches VLKK §4.7 examples like "iš namų̃ [ɪʃ‿nɐ²ˈmuː]" (proclitic) -- and "sakaũ gi [sɐ²ˈkɒʊˑ‿ɡʲɪ]" (enclitic), and produces the correct -- behavior for VLKK §4.9's "išėjaũ į kiẽmą" where the unstressed į proclitic -- to kiẽmą while išėjaũ stands alone. local function compute_clitic_anchors(word_data) local anchors = {} -- Pass 1: stressed words anchor themselves. for i, wd in ipairs(word_data) do if word_has_stress(wd.syllables) then anchors[i] = i end end -- Pass 2: RTL — each unstressed word adopts the next word's anchor. -- Scanning RTL means each position can simply copy anchors[i+1], which -- already points to the nearest stressed word to the right (or nil). for i = #word_data - 1, 1, -1 do if anchors[i] == nil then anchors[i] = anchors[i+1] end end -- Pass 3: LTR — words still without an anchor (no stressed word to the -- right) fall back to the nearest stressed word on the left. for i = 2, #word_data do if anchors[i] == nil then anchors[i] = anchors[i-1] end end -- Pass 4: entire phrase has no stress at all — bundle everything into -- pseudo-group 0 so the words at least share liaison with each other. if #word_data > 0 and anchors[1] == nil then for i = 1, #word_data do anchors[i] = 0 end end return anchors end -- Find the first non-empty token across syllables (skips silent or zero-IPA -- tokens that don't realize a phoneme). local function first_effective_token(syllables) for _, syl in ipairs(syllables) do for _, tok in ipairs(syl) do if tok.ipa ~= "" then return tok end end end return nil end -- Find the last non-empty token across syllables. local function last_effective_token(syllables) for s = #syllables, 1, -1 do local syl = syllables[s] for t = #syl, 1, -1 do if syl[t].ipa ~= "" then return syl[t] end end end return nil end -- Return true if the next word's first effective phoneme triggers -- palatalization across the liaison boundary (front V, j, or an already -- palatalized consonant). Must be called AFTER the next word's palatalization -- pass has run, so `is_palatalized` is reliable. local function first_token_palatalizes(syllables) local tok = first_effective_token(syllables) if not tok then return false end local lc = ulower(tok.char) if tok.type == "V" then return tok.silent_i or FRONT_V[lc] or false end if lc == "j" then return true end return tok.is_palatalized == true end -- VLKK §20: the preposition "už" keeps its [ʒ] (i.e. terminal devoicing is -- skipped) when the next liaisoned word starts with a vowel or sonorant -- consonant (n, m, l, r, j, v). Other words always undergo terminal devoicing. local UZ_SKIP_SONORANTS = { ["n"]=true, ["m"]=true, ["l"]=true, ["r"]=true, ["j"]=true, ["v"]=true, } local function should_skip_devoicing_for_uz(word_text, next_syllables) -- remove_all_accents returns NFD; we have to fold it back to NFC before -- comparing against the literal "už" because ž (U+017E) decomposes to -- z + COMBINING CARON (U+030C) in NFD form. local clean = ulower(mw.ustring.toNFC(remove_all_accents(word_text or ""))) if clean ~= "už" then return false end if not next_syllables then return false end local nxt = first_effective_token(next_syllables) if not nxt then return false end if nxt.type == "V" then return true end return UZ_SKIP_SONORANTS[ulower(nxt.char)] == true end -- VLKK §21b / §22b / §23b: at a liaison boundary, the last consonant of W1 -- and the first consonant of W2 may interact. We mirror within-word place -- assimilation and geminate / sibilant simplification, applied just before -- W1's palatalization pass so that any new ipa (e.g. s → ʃ) gets palatalized -- correctly when needed. local CROSSWORD_PLACE_ASSIM = { ["s"] = {["t͡ʃ"] = "ʃ"}, ["z"] = {["d͡ʒ"] = "ʒ"}, ["ʃ"] = {["t͡s"] = "s"}, ["ʒ"] = {["d͡z"] = "z"}, } local CROSSWORD_SIBILANTS = {["s"]=true, ["z"]=true, ["ʃ"]=true, ["ʒ"]=true} local function strip_trailing_palatal(ipa) if not ipa then return "" end local stripped = ugsub(ipa, "ʲ$", "") return stripped end local function apply_crossword_polish_at_junction(w1_syllables, w2_syllables) local w1_last = last_effective_token(w1_syllables) local w2_first = first_effective_token(w2_syllables) if not (w1_last and w2_first) then return end -- W1's last token has not yet been palatalized at this point in the -- pipeline, so its ipa is the bare base form. W2 has already been fully -- polished, so we must strip a trailing ʲ before using it as a key. local w1_base = w1_last.ipa or "" local w2_base = strip_trailing_palatal(w2_first.ipa) if w1_base == "" or w2_base == "" then return end -- Geminate / sibilant cluster: drop W1's last consonant entirely. if w1_base == w2_base or (CROSSWORD_SIBILANTS[w1_base] and CROSSWORD_SIBILANTS[w2_base]) then w1_last.ipa = "" return end -- Place assimilation: rewrite W1's last consonant base. Palatalization, -- if any, will be re-applied by the palatalization pass. local rule = CROSSWORD_PLACE_ASSIM[w1_base] if rule and rule[w2_base] then w1_last.ipa = rule[w2_base] end end -- --------------------------------------------------------------------------- -- Word-level rendering -- --------------------------------------------------------------------------- -- Tokenize, syllabify, and assign base phonetics for one word. Returns a -- table { text, syllables } with the word's mutable phonological state. local function prepare_word_state(word, pagename) local tokens = tokenize(word, pagename) merge_geminate_consonants(tokens) local syllables = syllabify(tokens) map_base_phonetics(syllables) return {text = word, syllables = syllables} end -- Render a fully polished syllables list into an IPA string. Identical to -- the original tail of process_single_word_ipa. local function render_word_ipa(syllables) local parts = {} for s_idx, syl in ipairs(syllables) do local syl_str = "" local hiatus_sep = "" if s_idx > 1 then local prev_syl = syllables[s_idx - 1] local prev_last_tok = prev_syl[#prev_syl] local curr_first_tok = syl[1] local prev_ends_with_v = (prev_last_tok and prev_last_tok.type == "V" and not prev_last_tok.silent_i) local curr_starts_with_v = (curr_first_tok and curr_first_tok.type == "V" and not curr_first_tok.silent_i) if prev_ends_with_v and curr_starts_with_v then local prev_v_char = ulower(prev_last_tok.char) local curr_v_char = ulower(curr_first_tok.char) -- Only handle ie special case if curr_v_char == "ie" then -- 'ie' has implicit 'j' from map_base_phonetics. syl_str = "" hiatus_sep = "" else -- Standard hiatus without glide insertion syl_str = "." hiatus_sep = "" end end end -- Check for conflict between primary and secondary stress if syl.secondary_stress and syl.stress then error("lt-pron: A syllable cannot have both primary stress (tone mark) and secondary stress (ˌ)") end -- Add stress markers (primary or secondary, mutually exclusive) if syl.secondary_stress then syl_str = syl_str .. "ˌ" elseif syl.stress then syl_str = syl_str .. syl.stress end syl_str = syl_str .. hiatus_sep for _, tok in ipairs(syl) do if tok.is_respelling then if tok.is_optional then syl_str = syl_str .. "(j)" else syl_str = syl_str .. tok.ipa end else syl_str = syl_str .. tok.ipa end if tok.half_long then syl_str = syl_str .. "ˑ" end end insert(parts, syl_str) end return concat(parts, "") end -- --------------------------------------------------------------------------- -- Multi-word IPA assembler with cross-word phonology -- --------------------------------------------------------------------------- -- Pipeline for a phrase made of space-separated words. The liaison marker ‿ -- never appears in input; it is inserted into the rendered IPA according to -- clitic-group anchors computed from per-word stress (see -- compute_clitic_anchors above). -- -- Per-word polish order (unchanged from VLKK §17–§19): -- terminal devoicing → voicing assim → place assim → geminate simp → -- final-cons vocalization → cross-word polish at junction → -- palatalization (with cross-word right context) → nasal assim → -- vowel quality. -- -- Cross-word polish at the junction (§21b/§22b/§23b) runs *before* W1's -- palatalization pass so that any rewritten ipa still receives ʲ correctly. -- Words are processed RTL so that each W_i sees the already-polished state -- of W_{i+1} when computing its cross-word context. local function to_ipa(term, provided_pagename) -- Use provided pagename if available, otherwise try to extract from term local pagename, clean_term if provided_pagename then pagename = provided_pagename clean_term = term else pagename, clean_term = get_pagename(term) end term = clean_term -- Split input and pagename on whitespace; bail out if input contains ‿. local input_segs = split_into_segments(term) local pagename_segs = nil if pagename then pagename_segs = split_into_segments(pagename) -- Verify word count matches (only when both are multi-word) if #input_segs > 1 and #pagename_segs > 1 and #input_segs ~= #pagename_segs then error("lt-pron: Input has " .. #input_segs .. " words but pagename has " .. #pagename_segs .. " words. They must match.") end -- If pagename is a single word but input is multi-word, drop pagename -- alignment (respelling detection only makes sense for exact matches). if #pagename_segs == 1 and #input_segs > 1 then pagename_segs = nil end end -- Stage 1: tokenize / syllabify / map base phonetics for every word. local word_data = {} for i, seg_text in ipairs(input_segs) do local seg_pagename = (pagename_segs and pagename_segs[i]) or nil insert(word_data, prepare_word_state(seg_text, seg_pagename)) end if #word_data == 0 then return "" end -- Stage 2: compute clitic anchors and decide liaison per junction. -- Two adjacent words share a ‿ iff they belong to the same clitic group. local anchors = compute_clitic_anchors(word_data) for i = 1, #word_data - 1 do word_data[i].is_liaison = (anchors[i] == anchors[i+1]) end if word_data[#word_data] then word_data[#word_data].is_liaison = false -- no successor end -- Stage 3: flag the už §20 exception. už keeps its [ʒ] (i.e. terminal -- devoicing is skipped) only when it is in a liaison junction with the -- following word AND that word starts with a vowel or sonorant. Whether -- už is proclitic or enclitic in the group doesn't matter — what matters -- is that ‿ sits between už and the next phoneme. for i = 1, #word_data do local wd = word_data[i] wd.skip_terminal_devoicing = false if wd.is_liaison and word_data[i+1] then if should_skip_devoicing_for_uz(wd.text, word_data[i+1].syllables) then wd.skip_terminal_devoicing = true end end end -- Stage 4: run the polish pipeline RTL across word_data so each W_i sees -- W_{i+1}'s polished state when computing cross-word context. for i = #word_data, 1, -1 do local wd = word_data[i] local next_wd = wd.is_liaison and word_data[i+1] or nil -- Within-word polish (passes 1-5) if not wd.skip_terminal_devoicing then apply_terminal_devoicing(wd.syllables) end apply_voicing_assimilation(wd.syllables) apply_place_assimilation(wd.syllables) apply_geminate_simplification(wd.syllables) apply_final_consonant_vocalization(wd.syllables) -- Cross-word fricative simplification / place assimilation at the -- liaison boundary, before W1 palatalizes (so a freshly assimilated -- s → ʃ can still pick up ʲ). if next_wd then apply_crossword_polish_at_junction(wd.syllables, next_wd.syllables) end -- Determine right palatalization context for the cross-word case. local right_palatalizing = false if next_wd then right_palatalizing = first_token_palatalizes(next_wd.syllables) end -- Pass 6: palatalization (with cross-word context). apply_palatalization(wd.syllables, right_palatalizing) -- Remaining within-word passes. apply_nasal_assimilation(wd.syllables) adjust_vowel_quality(wd.syllables) end -- Stage 5: render each word and join with ‿ (same clitic group) or " ". local result_parts = {} for i, wd in ipairs(word_data) do insert(result_parts, render_word_ipa(wd.syllables)) end local result = result_parts[1] or "" for i = 2, #word_data do local sep = word_data[i-1].is_liaison and LIAISON or " " result = result .. sep .. result_parts[i] end return result end -- Rhyme Extractor local IPA_VOWELS = "aɐɑæɛeəɪiɔoʊuɒɜ" local function get_rhyme(ipa) -- Remove liaison and spaces before rhyme calculation local clean_ipa = ugsub(ipa, "[‿ ]", "") -- Search for the last stress mark from right to left local last_stress_pos = nil for i = ulen(clean_ipa), 1, -1 do local char = usub(clean_ipa, i, i) if char == "ˈ" then -- Skip superscript if present if i > 1 then local prev = usub(clean_ipa, i - 1, i - 1) if prev == "¹" or prev == "²" then last_stress_pos = i -- Point to ˈ, skip superscript else last_stress_pos = i end else last_stress_pos = i end break end end if not last_stress_pos then return nil end -- Extract content after the stress mark local after = usub(clean_ipa, last_stress_pos + 1) -- Remove hiatus dots for rhyme grouping after = ugsub(after, "%.", "") -- Find first vowel position (skip onset consonants) local vstart = umatch(after, "()[" .. IPA_VOWELS .. "]") if vstart then return usub(after, vstart) end return after end -- Hyphenation generator (supports multi-word phrases) local function get_hyphenation(term, provided_pagename) -- Use provided pagename if available, otherwise try to extract from term local pagename, clean_term if provided_pagename then pagename = provided_pagename clean_term = term else pagename, clean_term = get_pagename(term) end term = clean_term -- Split input on both ‿ and space, tracking the separator type so the -- final hyphenation string can preserve liaison markers from the input. local input_segs = split_into_segments(term) local pagename_segs = nil if pagename then pagename_segs = split_into_segments(pagename) -- Verify segment count matches (only when both are multi-segment) if #input_segs > 1 and #pagename_segs > 1 and #input_segs ~= #pagename_segs then error("lt-pron: Input has " .. #input_segs .. " words but pagename has " .. #pagename_segs .. " words. They must match.") end -- If pagename is a single word but input is multi-word, drop alignment if #pagename_segs == 1 and #input_segs > 1 then pagename_segs = nil end end local all_word_parts = {} for i, seg_text in ipairs(input_segs) do -- Get the corresponding pagename word, or nil if not available local seg_pagename = (pagename_segs and pagename_segs[i]) or nil local tokens = tokenize(seg_text, seg_pagename) local syllables = syllabify(tokens) local parts = {} for _, syl in ipairs(syllables) do local text = "" for _, tok in ipairs(syl) do -- Skip respelling characters (original_char == "-" means not in orthography) if tok.original_char ~= "-" then -- Re-attach original tone visually for display local t_mark = "" if tok.tone == "acute" then t_mark = ACUTE elseif tok.tone == "grave" then t_mark = GRAVE elseif tok.tone == "tilde" then t_mark = TILDE end -- Use original_char if set (e.g., j̃ → i internally but j in display) -- Otherwise use tok.char local disp_char = tok.original_char or tok.char -- Restore original orthography for ɔ if disp_char == "ɔ" then disp_char = "o" end if disp_char == "Ɔ" then disp_char = "O" end -- Handle tone placement for diphthongs if tok.tone_position then -- Diphthong: place tone on the specified vowel local char_len = ulen(disp_char) if char_len == 2 then -- Two-character diphthong local v1 = usub(disp_char, 1, 1) local v2 = usub(disp_char, 2, 2) if tok.tone_position == 1 then text = text .. v1 .. t_mark .. v2 else text = text .. v1 .. v2 .. t_mark end elseif char_len == 3 then -- Three-character (silent i) diphthong local v1 = usub(disp_char, 1, 1) local v2 = usub(disp_char, 2, 2) local v3 = usub(disp_char, 3, 3) if tok.tone_position == 1 then text = text .. v1 .. t_mark .. v2 .. v3 elseif tok.tone_position == 2 then text = text .. v1 .. v2 .. t_mark .. v3 else text = text .. v1 .. v2 .. v3 .. t_mark end end else -- Single vowel or consonant: tone goes after the character text = text .. disp_char .. t_mark end end end parts[#parts + 1] = makeDisplayText(text) end insert(all_word_parts, concat(parts, "‧")) -- Use ‧ instead of standard - internally to preserve word boundaries end -- Hyphenation always joins multi-word phrases with a plain space — the -- liaison marker ‿ is purely an IPA-output device and never appears here. local combined_string = concat(all_word_parts, " ") local final_parts = {} for _, piece in ipairs(rsplit(combined_string, "‧")) do insert(final_parts, piece) end -- Calculate actual syllable count (for correct num_syl) local syllable_count = 0 for _, word_part in ipairs(all_word_parts) do local word_syls = rsplit(word_part, "‧") syllable_count = syllable_count + #word_syls end -- Store actual syllable count as a field (since __len doesn't work on tables in Lua 5.1) final_parts.syllable_count = syllable_count return final_parts end -- ============================================================================ -- SECTION 7.5: Conjugation Module Support Functions -- ============================================================================ -- Export: Get syllables as string array with accents function export.get_syllables(term) local pagename, clean_term = get_pagename(term) term = clean_term local tokens = tokenize(term, pagename) local syllables = syllabify(tokens) local result = {} for _, syl in ipairs(syllables) do local text = "" for _, tok in ipairs(syl) do -- Skip respelling glides in syllable output if not tok.is_respelling then -- Re-attach original tone local t_mark = "" if tok.tone == "acute" then t_mark = ACUTE elseif tok.tone == "grave" then t_mark = GRAVE elseif tok.tone == "tilde" then t_mark = TILDE end -- Restore original orthography for ɔ local disp_char = tok.char if disp_char == "ɔ" then disp_char = "o" end if disp_char == "Ɔ" then disp_char = "O" end -- Handle tone placement for diphthongs if tok.tone_position then -- Diphthong: place tone on the specified vowel local char_len = ulen(disp_char) if char_len == 2 then -- Two-character diphthong local v1 = usub(disp_char, 1, 1) local v2 = usub(disp_char, 2, 2) if tok.tone_position == 1 then text = text .. v1 .. t_mark .. v2 else text = text .. v1 .. v2 .. t_mark end elseif char_len == 3 then -- Three-character (silent i) diphthong local v1 = usub(disp_char, 1, 1) local v2 = usub(disp_char, 2, 2) local v3 = usub(disp_char, 3, 3) if tok.tone_position == 1 then text = text .. v1 .. t_mark .. v2 .. v3 elseif tok.tone_position == 2 then text = text .. v1 .. v2 .. t_mark .. v3 else text = text .. v1 .. v2 .. v3 .. t_mark end end else -- Single vowel or consonant: tone goes after the character text = text .. disp_char .. t_mark end end end -- Return NFC format with proper dotabove insertion insert(result, makeDisplayText(text)) end return result end -- Export: Check if a syllable is heavy or light function export.is_heavy_syllable(syllable) local pagename, clean_syllable = get_pagename(syllable) syllable = clean_syllable -- Validate single syllable local tokens = tokenize(syllable, pagename) local syllables = syllabify(tokens) if #syllables ~= 1 then error("is_heavy_syllable: input must be a single syllable, got " .. #syllables .. " syllables") end local syl = syllables[1] -- Find the vowel token local v_idx = nil for i, tok in ipairs(syl) do if tok.type == "V" then v_idx = i break end end if not v_idx then error("is_heavy_syllable: no vowel found in syllable") end local v_tok = syl[v_idx] local lc_v = ulower(v_tok.char) -- Handle silent i (e.g., "iau" where i is silent) if v_tok.has_silent_i then lc_v = usub(lc_v, 2) end -- Long vowels (inherently long, regardless of accent) local LONG_VOWELS = { ["ą"]=true, ["ę"]=true, ["ė"]=true, ["į"]=true, ["y"]=true, ["ų"]=true, ["ū"]=true, ["o"]=true, ["ɔ"]=true -- o/ɔ are always long (except ò, but we treat all o as long) } if LONG_VOWELS[lc_v] then return true end -- Diphthongs (length > 1) if ulen(lc_v) > 1 then return true end -- Mixed diphthongs: short vowel + liquid in coda position local SHORT_VOWELS = {["a"]=true, ["e"]=true, ["i"]=true, ["u"]=true} if SHORT_VOWELS[lc_v] and v_idx < #syl then local next_tok = syl[v_idx + 1] -- Liquid in coda (not j or v, which don't form mixed diphthongs) if next_tok.type == "R" and next_tok.char ~= "j" and next_tok.char ~= "v" then return true end end -- Otherwise, it's a light syllable return false end -- Export: Change accent of a syllable function export.change_accent(syllable, target_accent) local pagename, clean_syllable = get_pagename(syllable) syllable = clean_syllable -- Validate target_accent parameter local VALID_ACCENTS = {acute=true, tilde=true, grave=true, none=true} if not VALID_ACCENTS[target_accent] then error("change_accent: invalid target_accent '" .. tostring(target_accent) .. "', must be 'acute', 'tilde', 'grave', or 'none'") end -- Validate single syllable local tokens = tokenize(syllable, pagename) local syllables = syllabify(tokens) if #syllables ~= 1 then error("change_accent: input must be a single syllable, got " .. #syllables .. " syllables") end -- Remove all existing accents local clean = remove_all_accents(syllable) -- If target is 'none', return clean syllable if target_accent == "none" then return clean end -- Re-tokenize the clean syllable to analyze structure local clean_tokens = tokenize(clean, pagename) local clean_syllables = syllabify(clean_tokens) local syl = clean_syllables[1] -- Find vowel position and extract vowel part local onset = "" local vowel_part = "" local coda = "" local v_idx = nil for i, tok in ipairs(syl) do if tok.type == "V" then v_idx = i break else onset = onset .. tok.char end end if not v_idx then error("change_accent: no vowel found in syllable") end local v_tok = syl[v_idx] vowel_part = ulower(v_tok.char) -- Handle silent i if v_tok.has_silent_i then vowel_part = usub(vowel_part, 2) end -- Check if this is a mixed diphthong local is_mixed = false if v_idx < #syl then local next_tok = syl[v_idx + 1] if next_tok.type == "R" and next_tok.char ~= "j" and next_tok.char ~= "v" then -- Mixed diphthong: vowel + liquid vowel_part = vowel_part .. ulower(next_tok.char) is_mixed = true -- Collect remaining coda after the liquid for i = v_idx + 2, #syl do coda = coda .. syl[i].char end else -- Regular syllable: collect all coda for i = v_idx + 1, #syl do coda = coda .. syl[i].char end end end -- Look up the accented form in ACCENT_PAIRS if not ACCENT_PAIRS[vowel_part] then error("change_accent: vowel/diphthong '" .. vowel_part .. "' not found in accent pairs table") end local accented_vowel = ACCENT_PAIRS[vowel_part][target_accent] if not accented_vowel then error("change_accent: accent type '" .. target_accent .. "' is not allowed for vowel/diphthong '" .. vowel_part .. "'") end -- Reconstruct the syllable with new accent (in NFD format) local result = onset .. accented_vowel .. coda return result end -- ============================================================================ -- SECTION 8: Module Exports & Template Formatting (Preserved) -- ============================================================================ local q_spec = {store = "insert-flattened", type = "qualifier"} local a_spec = {store = "insert-flattened", type = "labels"} local ref_spec = {store = "insert-flattened", item_dest = "refs", type = "references"} -- Generate audio object, supporting file#caption syntax local function generate_audio_obj(arg) local file, caption = arg:match("^(.-)%s*#%s*(.*)$") file = file or arg return {file = file, caption = caption} end -- Parse rhyme specification with optional syllable count local function parse_rhyme(arg, parse_err) local function generate_obj(term) return {rhyme = term} end local param_mods = { s = { item_dest = "num_syl", type = "number", sublist = true, }, } -- Add q/qq/a/aa/ref support if inline modifiers are present if arg:find("<") then param_mods.q = q_spec param_mods.qq = q_spec param_mods.a = a_spec param_mods.aa = a_spec param_mods.ref = ref_spec end return require(parse_util_module).parse_inline_modifiers(arg, { param_mods = param_mods, generate_obj = generate_obj, parse_err = parse_err, splitchar = ",", }) end -- Parse hyphenation specification (dot-separated syllables) local function parse_hyph(arg, parse_err) local function generate_obj(term) local parts = rsplit(term, "%.") return {hyph = parts, syllabification = term} end local param_mods = {} -- Add q/qq/a/aa/ref support if inline modifiers are present if arg:find("<") then param_mods.q = q_spec param_mods.qq = q_spec param_mods.a = a_spec param_mods.aa = a_spec param_mods.ref = ref_spec end return require(parse_util_module).parse_inline_modifiers(arg, { param_mods = param_mods, generate_obj = generate_obj, parse_err = parse_err, splitchar = ",", }) end -- Parse homophone specification local function parse_homophone(arg, parse_err) local function generate_obj(term) return {term = term} end local param_mods = { t = {item_dest = "gloss"}, gloss = {}, pos = {}, alt = {}, lit = {}, id = {}, g = { item_dest = "genders", sublist = true, }, } -- Add q/qq/a/aa/ref support if inline modifiers are present if arg:find("<") then param_mods.q = q_spec param_mods.qq = q_spec param_mods.a = a_spec param_mods.aa = a_spec param_mods.ref = ref_spec end return require(parse_util_module).parse_inline_modifiers(arg, { param_mods = param_mods, generate_obj = generate_obj, parse_err = parse_err, splitchar = ",", }) end local audio_nested_mods = { ["a"] = a_spec, ["aa"] = a_spec, ["q"] = q_spec, ["qq"] = q_spec, ["text"] = {}, ["IPA"] = {sublist = true}, ["t"] = {item_dest = "gloss"}, ["gloss"] = {}, ["pos"] = {}, ["lit"] = {}, ["g"] = { item_dest = "genders", sublist = true, }, } local function parse_one_term(raw, parse_err) if not raw:find("<") then return {term = raw, audio_list = {}, rhyme_list = {}, hyph_list = {}, pagename = nil} end -- Extract base spelling before parse_inline_modifiers local pagename = nil if raw:find("<base:") then pagename = raw:match("<base:([^>]+)>") raw = raw:gsub("<base:[^>]+>", "") end local parsed = require(parse_util_module).parse_inline_modifiers(raw, { param_mods = { ["q"] = q_spec, ["qq"] = q_spec, ["a"] = a_spec, ["aa"] = a_spec, ["ref"] = ref_spec, ["audio"] = { store = "insert", item_dest = "audio_list", convert = function(arg, perr) if arg:find("<") then local parsed_audio = require(parse_util_module).parse_inline_modifiers(arg, { param_mods = audio_nested_mods, generate_obj = generate_audio_obj, parse_err = perr, }) parsed_audio.lang = get_lang() local textobj = require(audio_module).construct_audio_textobj(parsed_audio) parsed_audio.text = textobj parsed_audio.gloss = nil parsed_audio.pos = nil parsed_audio.lit = nil parsed_audio.genders = nil return parsed_audio end local audio_obj = generate_audio_obj(arg) audio_obj.lang = get_lang() local textobj = require(audio_module).construct_audio_textobj(audio_obj) audio_obj.text = textobj return audio_obj end, }, ["rhyme"] = { store = "insert-flattened", item_dest = "rhyme_list", convert = parse_rhyme, }, ["hyph"] = { store = "insert-flattened", item_dest = "hyph_list", convert = parse_hyph, }, ["hmp"] = { store = "insert-flattened", item_dest = "hmp_list", convert = parse_homophone, }, }, generate_obj = function(t) return {term = t, audio_list = {}, rhyme_list = {}, hyph_list = {}, hmp_list = {}} end, parse_err = parse_err, }) parsed.audio_list = parsed.audio_list or {} parsed.rhyme_list = parsed.rhyme_list or {} parsed.hyph_list = parsed.hyph_list or {} parsed.hmp_list = parsed.hmp_list or {} parsed.pagename = pagename return parsed end -- Format rhyme objects with qualifiers local function fmt_rhyme(rhyme_objs, bullet) if not rhyme_objs or #rhyme_objs == 0 then return nil end local rhyme_data = {} for _, robj in ipairs(rhyme_objs) do insert(rhyme_data, { rhyme = robj.rhyme, num_syl = robj.num_syl, q = robj.q, qq = robj.qq, a = robj.a, aa = robj.aa, }) end return bullet .. require(rhymes_module).format_rhymes({ lang = get_lang(), rhymes = rhyme_data }) end -- Format hyphenation objects with qualifiers local function fmt_hyph(hyph_objs, bullet) if not hyph_objs or #hyph_objs == 0 then return nil end local hyph_data = {} for _, hobj in ipairs(hyph_objs) do insert(hyph_data, { hyph = hobj.hyph, q = hobj.q, qq = hobj.qq, a = hobj.a, aa = hobj.aa, }) end return bullet .. require(hyphenation_module).format_hyphenations({ lang = get_lang(), hyphs = hyph_data, caption = "Tách âm" }) end -- Format audio object local function fmt_audio(audio_obj, bullet) return bullet .. require(audio_module).format_audio(audio_obj) end -- Format homophone objects with qualifiers local function fmt_hmp(hmp_objs, bullet) if not hmp_objs or #hmp_objs == 0 then return nil end return bullet .. require(homophones_module).format_homophones({ lang = get_lang(), homophones = hmp_objs, }) end local function is_multiword_term(term) -- split_into_segments returns a list of non-empty word strings. return #split_into_segments(term) > 1 end function export.show(frame) local parargs = frame:getParent().args local args = require(parameters_module).process(parargs, { [1] = {default = "nãmas"}, ["bullets"] = {type = "number", default = 1}, }) local input = args[1] local nb = args.bullets local b1 = string.rep("*", nb) .. " " local b2 = string.rep("*", nb + 1) .. " " local raw_terms = require(parse_util_module).split_escaping(input, ",") local parsed_terms = {} for i, raw in ipairs(raw_terms) do raw = raw:match("^%s*(.-)%s*$") local pt = parse_one_term(raw, function(msg) error("lt-pron: " .. msg .. " (term " .. i .. ")") end) parsed_terms[#parsed_terms + 1] = pt end m_IPA = m_IPA or require("Module:IPA") local text_parts = {} for _, pt in ipairs(parsed_terms) do -- Determine bullet level: same level as IPA for single pronunciation, indented for multiple local content_bullet = (#parsed_terms == 1) and b1 or b2 -- Generate IPA local ipa_str = to_ipa(pt.term, pt.pagename) -- Handle rhyme: manual override, suppression, or auto-generation local rhyme_objs = nil local suppress_rhyme = false if #pt.rhyme_list > 0 then for _, robj in ipairs(pt.rhyme_list) do if robj.rhyme == "-" then suppress_rhyme = true break end end if not suppress_rhyme then rhyme_objs = {} for _, robj in ipairs(pt.rhyme_list) do -- If num_syl not specified, try to get from auto-generated hyphenation if not robj.num_syl then local auto_hyph = get_hyphenation(pt.term, pt.pagename) if auto_hyph and #auto_hyph > 0 then -- Use syllable_count field if available (for multi-word phrases), otherwise use array length local syl_count = auto_hyph.syllable_count or #auto_hyph robj.num_syl = {syl_count} end end insert(rhyme_objs, robj) end end else -- Auto-generate rhyme (skip if term ends with - or is a multiword term) if not pt.term:match("%-$") and not is_multiword_term(pt.term) then local rhyme_str = get_rhyme(ipa_str) if rhyme_str then local auto_hyph = get_hyphenation(pt.term, pt.pagename) -- Use syllable_count field if available (for multi-word phrases), otherwise use array length local num_syl = (auto_hyph and #auto_hyph > 0) and {auto_hyph.syllable_count or #auto_hyph} or nil rhyme_objs = {{rhyme = rhyme_str, num_syl = num_syl}} end end end -- Handle hyphenation: manual override, suppression, or auto-generation local hyph_objs = nil local suppress_hyph = false if #pt.hyph_list > 0 then for _, hobj in ipairs(pt.hyph_list) do if hobj.syllabification == "-" then suppress_hyph = true break end end if not suppress_hyph then hyph_objs = pt.hyph_list end else -- Auto-generate hyphenation local auto_hyph = get_hyphenation(pt.term, pt.pagename) if auto_hyph and #auto_hyph > 0 then hyph_objs = {{hyph = auto_hyph, syllabification = concat(auto_hyph, ".")}} end end -- Format IPA with qualifiers and references local ipa_item = {pron = "[" .. ipa_str .. "]"} if pt.q then ipa_item.q = pt.q end if pt.qq then ipa_item.qq = pt.qq end if pt.a then ipa_item.a = pt.a end if pt.aa then ipa_item.aa = pt.aa end if pt.refs then ipa_item.refs = pt.refs end text_parts[#text_parts + 1] = b1 .. m_IPA.format_IPA_full({ lang = get_lang(), items = {ipa_item} }) -- Audio for _, aud in ipairs(pt.audio_list or {}) do text_parts[#text_parts + 1] = fmt_audio(aud, content_bullet) end -- Rhyme if rhyme_objs then local r = fmt_rhyme(rhyme_objs, content_bullet) if r then text_parts[#text_parts + 1] = r end end -- Hyphenation if hyph_objs then local h = fmt_hyph(hyph_objs, content_bullet) if h then text_parts[#text_parts + 1] = h end end -- Homophones if pt.hmp_list and #pt.hmp_list > 0 then local hmp = fmt_hmp(pt.hmp_list, content_bullet) if hmp then text_parts[#text_parts + 1] = hmp end end end return concat(text_parts, "\n") end export.toIPA = to_ipa export.hyphenate = get_hyphenation export.rhyme = get_rhyme return export jo4alafn4u8vsg6y3f00seaz5dsovup いち 0 398587 2362871 2355919 2026-05-31T04:28:13Z WhoAlone 40420 2362871 wikitext text/x-wiki =={{langname|ja}}== {{ja-see|一|壱|市|位置|逸}} =={{langname|ryu}}== ==={{ĐM|noun}}=== {{ryu-head|noun}} # {{ryu-def|池}} Cái [[ao]]. =={{langname|yoi}}== ==={{ĐM|noun}}=== {{yoi-head|noun}} # {{yoi-def|石}} [[hòn đá]]. g0nrdm78fxyuccyaoi917upnpf4vcn4 Thể loại:Mục từ có bản dịch tiếng Erzya 14 400055 2362666 2026-05-30T12:27:57Z TheHighFighter2 42988 Trang mới: “{{auto cat}}” 2362666 wikitext text/x-wiki {{auto cat}} eomzlm5v4j7ond1phrju7cnue91g5qx Thể loại:Bảo trì mục từ tiếng Erzya 14 400056 2362667 2026-05-30T12:28:21Z TheHighFighter2 42988 Trang mới: “{{auto cat}}” 2362667 wikitext text/x-wiki {{auto cat}} eomzlm5v4j7ond1phrju7cnue91g5qx Thể loại:Mục từ có bản dịch tiếng Chuvash 14 400057 2362669 2026-05-30T12:44:16Z TheHighFighter2 42988 Trang mới: “{{auto cat}}” 2362669 wikitext text/x-wiki {{auto cat}} eomzlm5v4j7ond1phrju7cnue91g5qx Thể loại:Mục từ có bản dịch tiếng Tân Aram Assyria 14 400058 2362670 2026-05-30T12:46:20Z TheHighFighter2 42988 Trang mới: “{{auto cat}}” 2362670 wikitext text/x-wiki {{auto cat}} eomzlm5v4j7ond1phrju7cnue91g5qx Thể loại:Mục từ có bản dịch tiếng Buryat 14 400059 2362671 2026-05-30T12:48:01Z TheHighFighter2 42988 Trang mới: “{{auto cat}}” 2362671 wikitext text/x-wiki {{auto cat}} eomzlm5v4j7ond1phrju7cnue91g5qx Thể loại:Danh từ có loại từ cuộc tiếng Việt 14 400060 2362672 2026-05-30T12:50:34Z TheHighFighter2 42988 Trang mới: “{{auto cat}}” 2362672 wikitext text/x-wiki {{auto cat}} eomzlm5v4j7ond1phrju7cnue91g5qx tehlikeli 0 400061 2362678 2026-05-30T13:56:28Z Kelly zhrm 58416 Trang mới: “=={{langname|tr}}== ==={{ĐM|etym}}=== {{suffix|tr|tehlike|li}} ==={{ĐM|pron}}=== * {{IPA4|tr|[tehliceli]}} * {{audio|tr|LL-Q256 (tur)-ToprakM-tehlikeli.wav}} * {{hyphenation|tr|teh|li|ke|li}} ==={{ĐM|adj}}=== {{tr-adj}} # [[nguy hiểm|Nguy hiểm]]. ===={{ĐM|ant}}==== * {{l|tr|tehlikesiz}}” 2362678 wikitext text/x-wiki =={{langname|tr}}== ==={{ĐM|etym}}=== {{suffix|tr|tehlike|li}} ==={{ĐM|pron}}=== * {{IPA4|tr|[tehliceli]}} * {{audio|tr|LL-Q256 (tur)-ToprakM-tehlikeli.wav}} * {{hyphenation|tr|teh|li|ke|li}} ==={{ĐM|adj}}=== {{tr-adj}} # [[nguy hiểm|Nguy hiểm]]. ===={{ĐM|ant}}==== * {{l|tr|tehlikesiz}} fn85p9xe727s4kcqc5l1m557uh28hrb sriuba 0 400062 2362682 2026-05-30T14:05:11Z Hiyuune 50834 /* */ + lt 2362682 wikitext text/x-wiki {{also|sriubą}} =={{langname|lt}}== {{wp|lt:}} ==={{section|etymology}}=== Dẫn xuất từ {{mention|lt|srė̃bti}}, từ {{der|lt|ine-pro|*srebʰ-}}.<ref>{{R:lt:Smoczynski|page=594|entry=srė̃bti}}</ref> ==={{section|pron}}=== * (sriu'''bà''') {{IPA4|lt|/sʲrʲʊˈbɐ/}} * ('''sriù'''ba) {{IPA4|lt|/ˈsʲrʲʊbɐ/}} ==={{section|n}}=== {{lt-noun|head=sriubà|f|sriùbos|4}} # [[súp|Súp]].<ref>{{R:lt:Martsinkyavitshute2012}}</ref> ===={{section|decl}}==== {{lt-noun-f-a-4|sriub|sriùb}} ===={{section|hypo}}==== * {{l|lt|šaltibarščiai}} ===={{section|see}}==== * {{l|lt|buljonas}}, {{l|lt|nuoviras}}, {{l|lt|sultinys}} ==={{section|ref}}=== <references /> {{C|lt|Ăn uống|Súp}} qhr5699nxeus67lzkhtjatqlm2fotg2 2362683 2362682 2026-05-30T14:05:42Z Hiyuune 50834 /* Tiếng Litva */ 2362683 wikitext text/x-wiki {{also|sriubą}} =={{langname|lt}}== {{wp|lt:}} ==={{section|etymology}}=== Dẫn xuất từ {{mention|lt|srė̃bti}}, từ {{der|lt|ine-pro|*srebʰ-}}.<ref>{{R:lt:Smoczynski|page=594|entry=srė̃bti}}</ref> ==={{section|pron}}=== * (sriu'''bà''') {{IPA4|lt|/sʲrʲʊˈbɐ/}} * ('''sriù'''ba) {{IPA4|lt|/ˈsʲrʲʊbɐ/}} ==={{section|n}}=== {{lt-noun|head=sriubà|f|sriùbos|4}} # [[xúp|Xúp]].<ref>{{R:lt:Martsinkyavitshute2012}}</ref> ===={{section|decl}}==== {{lt-noun-f-a-4|sriub|sriùb}} ===={{section|hypo}}==== * {{l|lt|šaltibarščiai}} ===={{section|see}}==== * {{l|lt|buljonas}}, {{l|lt|nuoviras}}, {{l|lt|sultinys}} ==={{section|ref}}=== <references /> {{C|lt|Ăn uống|Xúp}} ouy8u4qb882kx5zx7c3gdhhyr51wvrv kodusõda 0 400063 2362687 2026-05-30T14:14:59Z Hiyuune 50834 + et 2362687 wikitext text/x-wiki =={{langname|et}}== {{wp|et:}} ==={{section|etym}}=== Từ {{affix|et|kodu|sõdas}}. ==={{section|pron}}=== * {{et-IPA/old|kodu|sõda}} {{rfap|et}} ==={{section|n}}=== {{et-noun|kodusõja|kodusõda}} # [[nội chiến|Nội chiến]]. #:{{ux|et|Myanmari '''kodusõda'''.|Nội chiến Myanmar.}} #:{{ux|et|Sierra Leone '''kodusõda'''.|Nội chiến Sierra Leone.}} ===={{section|decl}}==== {{et-decl-sõda|kodusõ|d|j|a}} ==={{section|further}}=== * {{R:EKSS}} * {{R:et:EÕS}} * {{R:Sõnaveeb}} {{C|et|Chiến tranh}} 56nuu0raq5v1hva45rae5knq8rd0gdq kemoterapia 0 400064 2362688 2026-05-30T14:17:03Z Kelly zhrm 58416 Trang mới: “{{also|kemoterápia}} =={{langname|fi}}== ==={{ĐM|etym}}=== {{internationalism|fi}} (xem {{cog|en|chemotherapy}}). ==={{ĐM|pron}}=== {{fi-p}} ==={{ĐM|n}}=== {{fi-noun}} # [[hóa trị|Hóa trị]]. ===={{ĐM|decl}}==== {{fi-decl-kulkija|kemoterapi|a}} ===={{ĐM|drv}}==== {{col|fi|title=từ ghép |kemoterapia-aine }} ==={{ĐM|further}}=== * {{R:fi:KTSK|accessdate=2023-07-02}}” 2362688 wikitext text/x-wiki {{also|kemoterápia}} =={{langname|fi}}== ==={{ĐM|etym}}=== {{internationalism|fi}} (xem {{cog|en|chemotherapy}}). ==={{ĐM|pron}}=== {{fi-p}} ==={{ĐM|n}}=== {{fi-noun}} # [[hóa trị|Hóa trị]]. ===={{ĐM|decl}}==== {{fi-decl-kulkija|kemoterapi|a}} ===={{ĐM|drv}}==== {{col|fi|title=từ ghép |kemoterapia-aine }} ==={{ĐM|further}}=== * {{R:fi:KTSK|accessdate=2023-07-02}} t9hn1ysupaggqy4t92q68dodrhp0hzy čeburekas 0 400065 2362694 2026-05-30T14:39:36Z Hiyuune 50834 /* */ + lt 2362694 wikitext text/x-wiki =={{langname|lt}}== {{wp|lt:}} ==={{section|etym}}=== Từ {{der|lt|crh|çiberek}}, có thể thông qua {{bor|lt|ru|чебуре́к}}. So sánh với {{cog|uk|чебуре́к}}. ==={{section|pron}}=== {{lt-pr|čeburèkas}} ==={{section|n}}=== {{lt-noun|m|čeburekai|2|head=čeburèkas}} # [[chebureki]]. ===={{section|decl}}==== {{lt-noun-m-as-2|čeburek|čeburèk}} ==={{section|ref}}=== * {{R:lt:DŽ}} {{C|lt|Ăn uống}} 0w17cpdmm3f6bhe2vxia388szn2iada Thể loại:Bản mẫu đề mục ngôn ngữ 14 400066 2362699 2026-05-30T15:17:43Z Kateru Zakuro 34522 Trang mới: “[[Thể loại:Bản mẫu đề mục]]” 2362699 wikitext text/x-wiki [[Thể loại:Bản mẫu đề mục]] h3ly9dp7taik2k0z2lt6f9t41t2r128 ensinistrar 0 400067 2362715 2026-05-30T17:02:24Z Hiyuune 50834 /* */ + ca 2362715 wikitext text/x-wiki =={{langname|ca}}== ==={{section|etym}}=== Từ {{affix|ca|en-|sinistre|-ar}}. ==={{section|pron}}=== * {{audio|ca|LL-Q7026 (cat)-Marvives-ensinistrar.wav|a=Barcelona}} ==={{section|v}}=== {{ca-verb}}{{tlb|ca|transitive}} # [[dạy|Dạy]], [[huấn luyện]], [[đào tạo]]. #: {{syn|ca|ensenyar|instruir}} ===={{section|forms}}==== {{ca-conj}} ===={{section|drv}}==== {{col|ca|ensinistrador|ensinistrament}} ==={{section|further}}=== * {{R:ca:GDLC}} tlcwy0mdu6tgc0jgewlhgq7kjflgybq ensinistro 0 400068 2362716 2026-05-30T17:08:50Z Hiyuune 50834 + ca 2362716 wikitext text/x-wiki =={{langname|ca}}== ==={{section|verb}}=== {{head|ca|Biến thể hình thái động từ}} # {{ca-verb form of|ensinistrar}} pdusc288vkd53w4fneyefwqzg2whorh lá cờ đầu 0 400069 2362720 2026-05-30T23:04:51Z TheHighFighter2 42988 Trang mới: “=={{langname|vi}}== ==={{ĐM|pron}}=== {{vi-pron}} ==={{ĐM|n}}=== {{vi-noun}} # Người hay đơn vị [[tiên tiến]] có tác dụng [[nêu gương]], [[dẫn đầu]] [[phong trào]]. ==={{ĐM|ref}}=== * {{R:Tratu}}” 2362720 wikitext text/x-wiki =={{langname|vi}}== ==={{ĐM|pron}}=== {{vi-pron}} ==={{ĐM|n}}=== {{vi-noun}} # Người hay đơn vị [[tiên tiến]] có tác dụng [[nêu gương]], [[dẫn đầu]] [[phong trào]]. ==={{ĐM|ref}}=== * {{R:Tratu}} oq54a4qipl5567r8jzs4ae1mtwr3pzi 2362721 2362720 2026-05-30T23:12:41Z TheHighFighter2 42988 /* Danh từ */ 2362721 wikitext text/x-wiki =={{langname|vi}}== ==={{ĐM|pron}}=== {{vi-pron}} ==={{ĐM|n}}=== {{vi-noun}} # Người hay đơn vị [[tiên tiến]] có tác dụng [[nêu gương]], [[dẫn đầu]] [[phong trào]]. ===={{ĐM|trans}}==== {{trans-top|Người hay đơn vị tiên tiến có tác dụng nêu gương, dẫn đầu phong trào}} * {{langname|sed}}: {{t|sed|khu djâ troăng a hdrối}} {{trans-bottom}} ==={{ĐM|ref}}=== * {{R:Tratu}} 3t69h0zcf0dfbhbkuv2entsthaxx3gc Thể loại:Mục từ có bản dịch tiếng Tupi cổ 14 400070 2362722 2026-05-31T00:01:28Z TheHighFighter2 42988 Trang mới: “{{auto cat}}” 2362722 wikitext text/x-wiki {{auto cat}} eomzlm5v4j7ond1phrju7cnue91g5qx Thể loại:Bảo trì mục từ tiếng Tupi cổ 14 400071 2362723 2026-05-31T00:02:09Z TheHighFighter2 42988 Trang mới: “{{auto cat}}” 2362723 wikitext text/x-wiki {{auto cat}} eomzlm5v4j7ond1phrju7cnue91g5qx Thể loại:Mục từ có bản dịch tiếng Newa 14 400072 2362724 2026-05-31T00:04:26Z TheHighFighter2 42988 Trang mới: “{{auto cat}}” 2362724 wikitext text/x-wiki {{auto cat}} eomzlm5v4j7ond1phrju7cnue91g5qx Thể loại:Bảo trì mục từ tiếng Newa 14 400073 2362725 2026-05-31T00:04:46Z TheHighFighter2 42988 Trang mới: “{{auto cat}}” 2362725 wikitext text/x-wiki {{auto cat}} eomzlm5v4j7ond1phrju7cnue91g5qx Thể loại:Mục từ có bản dịch tiếng Ossetia 14 400074 2362727 2026-05-31T00:10:06Z TheHighFighter2 42988 Trang mới: “{{auto cat}}” 2362727 wikitext text/x-wiki {{auto cat}} eomzlm5v4j7ond1phrju7cnue91g5qx Thể loại:Bảo trì mục từ tiếng Ossetia 14 400075 2362728 2026-05-31T00:10:30Z TheHighFighter2 42988 Trang mới: “{{auto cat}}” 2362728 wikitext text/x-wiki {{auto cat}} eomzlm5v4j7ond1phrju7cnue91g5qx cavalierkingcharlesinspanielit 0 400076 2362729 2026-05-31T01:20:20Z Hiyuune 50834 + fi 2362729 wikitext text/x-wiki =={{langname|fi}}== ==={{section|n}}=== {{head|fi|Biến thể hình thái danh từ}} # {{inflection of|fi|cavalierkingcharlesinspanieli||nom//acc|p}} qtdgwfbwb32v4jy9mznexybembn7xbz cavalierkingcharlesinspanielin 0 400077 2362730 2026-05-31T01:20:57Z Hiyuune 50834 + fi 2362730 wikitext text/x-wiki =={{langname|fi}}== ==={{section|n}}=== {{head|fi|Biến thể hình thái danh từ}} # {{inflection of|fi|cavalierkingcharlesinspanieli||gen|s}} m6h3wz7ib7vzbpzj4yvtntr9g68jdu5 cavalierkingcharlesinspanielien 0 400078 2362731 2026-05-31T01:22:58Z Hiyuune 50834 + fi 2362731 wikitext text/x-wiki =={{langname|fi}}== ==={{section|n}}=== {{head|fi|Biến thể hình thái danh từ}} # {{inflection of|fi|cavalierkingcharlesinspanieli||gen|p}} ln5ap7rt1evdk1a9lf8gi0rw5hwd3ln cavalierkingcharlesinspanieleitten 0 400079 2362732 2026-05-31T01:26:02Z Hiyuune 50834 + fi 2362732 wikitext text/x-wiki =={{langname|fi}}== ==={{section|n}}=== {{head|fi|Biến thể hình thái danh từ}} # {{inflection of|fi|cavalierkingcharlesinspanieli||gen|p}} ln5ap7rt1evdk1a9lf8gi0rw5hwd3ln cavalierkingcharlesinspanielia 0 400080 2362733 2026-05-31T01:26:45Z Hiyuune 50834 + fi 2362733 wikitext text/x-wiki =={{langname|fi}}== ==={{section|n}}=== {{head|fi|Biến thể hình thái danh từ}} # {{inflection of|fi|cavalierkingcharlesinspanieli||par|s}} ey1v83rjyd0yhdzsyvbhj30ppf0nis1 cavalierkingcharlesinspanieleita 0 400081 2362734 2026-05-31T01:27:34Z Hiyuune 50834 + fi 2362734 wikitext text/x-wiki =={{langname|fi}}== ==={{section|n}}=== {{head|fi|Biến thể hình thái danh từ}} # {{inflection of|fi|cavalierkingcharlesinspanieli||par|p}} alt8436wbli195croo1u5kggi8j3tja cavalierkingcharlesinspanieleja 0 400082 2362735 2026-05-31T01:28:36Z Hiyuune 50834 + fi 2362735 wikitext text/x-wiki =={{langname|fi}}== ==={{section|noun}}=== {{head|fi|Biến thể hình thái danh từ}} # {{inflection of|fi|cavalierkingcharlesinspanieli||par|p}} s19n5gmy0i87sf9o82zd1ps5iua1w9j cavalierkingcharlesinspanielissa 0 400083 2362736 2026-05-31T01:29:10Z Hiyuune 50834 + fi 2362736 wikitext text/x-wiki =={{langname|fi}}== ==={{section|n}}=== {{head|fi|Biến thể hình thái danh từ}} # {{inflection of|fi|cavalierkingcharlesinspanieli||ine|s}} 585ccqiajjbtaqx0xe3ju6h4y267i8m banaaneita 0 400084 2362737 2026-05-31T01:30:36Z Hiyuune 50834 + fi 2362737 wikitext text/x-wiki =={{langname|fi}}== ==={{section|n}}=== {{head|fi|Biến thể hình thái danh từ}} # {{infl of|fi|banaani||ptv|p}} h043j5e9mqqq6l4rbrppfhmnnikdd0e banaaneja 0 400085 2362738 2026-05-31T01:31:38Z Hiyuune 50834 + fi 2362738 wikitext text/x-wiki =={{langname|fi}}== ==={{section|n}}=== {{head|fi|Biến thể hình thái danh từ}} # {{infl of|fi|banaani||ptv|p}} h043j5e9mqqq6l4rbrppfhmnnikdd0e banaaneissa 0 400086 2362739 2026-05-31T01:32:37Z Hiyuune 50834 + fi 2362739 wikitext text/x-wiki =={{langname|fi}}== ==={{section|n}}=== {{head|fi|Biến thể hình thái danh từ}} # {{infl of|fi|banaani||ine|p}} ekwnjndckpwmptkfvrhwya2kr307ne0 banaanista 0 400087 2362740 2026-05-31T01:33:12Z Hiyuune 50834 + fi 2362740 wikitext text/x-wiki =={{langname|fi}}== ==={{section|n}}=== {{head|fi|Biến thể hình thái danh từ}} # {{infl of|fi|banaani||ela|s}} fn1te28kn011e6hxbrj9v758qmcta0y banaaniin 0 400088 2362741 2026-05-31T01:33:50Z Hiyuune 50834 + fi 2362741 wikitext text/x-wiki =={{langname|fi}}== ==={{section|n}}=== {{head|fi|Biến thể hình thái danh từ}} # {{infl of|fi|banaani||ill|s}} paw8mca9idg6mw3v1xmk2qkxz1bms3r banaanilla 0 400089 2362742 2026-05-31T01:34:27Z Hiyuune 50834 + fi 2362742 wikitext text/x-wiki =={{langname|fi}}== ==={{section|n}}=== {{head|fi|Biến thể hình thái danh từ}} # {{infl of|fi|banaani||ade|s}} dfqzouk31jca9nnmzxb3zmnd8f1n4k7 banaanilta 0 400090 2362743 2026-05-31T01:34:59Z Hiyuune 50834 + fi 2362743 wikitext text/x-wiki =={{langname|fi}}== ==={{ĐM|n}}=== {{head|fi|Biến thể hình thái danh từ}} # {{infl of|fi|banaani||abl|s}} du6rpv0iun91yetjygyeg011fipwc1k quǎnkē 0 400091 2362744 2026-05-31T01:35:43Z WhoAlone 40420 Trang mới: “=={{langname|cmn}}== ==={{ĐM|rom}}=== {{cmn-pinyin}} # {{cmn-pinyin of|犬科}}” 2362744 wikitext text/x-wiki =={{langname|cmn}}== ==={{ĐM|rom}}=== {{cmn-pinyin}} # {{cmn-pinyin of|犬科}} snw7lgkmv1yzeqv2h8rg44xwfookidn seguro jakkaru 0 400092 2362745 2026-05-31T01:37:24Z WhoAlone 40420 Trang mới: “=={{langname|ja}}== ==={{ĐM|rom}}=== {{ja-romaji}} # {{ja-romanization of|せぐろジャッカル}} # {{ja-romanization of|セグロジャッカル}}” 2362745 wikitext text/x-wiki =={{langname|ja}}== ==={{ĐM|rom}}=== {{ja-romaji}} # {{ja-romanization of|せぐろジャッカル}} # {{ja-romanization of|セグロジャッカル}} 7w97muuanx4rwwimk2bpqgjourhdikk コヨーテ 0 400093 2362746 2026-05-31T01:39:11Z WhoAlone 40420 Trang mới: “=={{langname|ja}}== {{wp|ja:}} ==={{ĐM|etym}}=== Mượn từ {{bor|ja|es|coyote}}, từ {{der|ja|nah|coyotl}}. ==={{ĐM|pron}}=== {{ja-pron|acc=2|acc_ref=DJR}} ==={{ĐM|noun}}=== {{ja-noun}} # {{w|Sói đồng cỏ}}. ==={{ĐM|see also}}=== {{list:canids/ja}} ==={{ĐM|ref}}=== <references/>” 2362746 wikitext text/x-wiki =={{langname|ja}}== {{wp|ja:}} ==={{ĐM|etym}}=== Mượn từ {{bor|ja|es|coyote}}, từ {{der|ja|nah|coyotl}}. ==={{ĐM|pron}}=== {{ja-pron|acc=2|acc_ref=DJR}} ==={{ĐM|noun}}=== {{ja-noun}} # {{w|Sói đồng cỏ}}. ==={{ĐM|see also}}=== {{list:canids/ja}} ==={{ĐM|ref}}=== <references/> ed52xadnkaxe151hw39kxlz0haw36v2 koyōte 0 400094 2362747 2026-05-31T01:39:35Z WhoAlone 40420 Trang mới: “{{also|koyote}} =={{langname|ja}}== ==={{ĐM|rom}}=== {{ja-romaji}} # {{ja-romanization of|コヨーテ}}” 2362747 wikitext text/x-wiki {{also|koyote}} =={{langname|ja}}== ==={{ĐM|rom}}=== {{ja-romaji}} # {{ja-romanization of|コヨーテ}} rpl0kyfxbun481e0q39dsptehl097ao bananowy 0 400095 2362748 2026-05-31T01:44:41Z Hiyuune 50834 + pl 2362748 wikitext text/x-wiki =={{langname|pl}}== ==={{section|etym}}=== {{etymon|pl|:af|banan|-owy|text=+|tree=1}} ==={{section|pron}}=== {{pl-pr|a=Pl-bananowy.ogg}} ==={{section|adj}}=== {{pl-adj|-|adv=-}} # {{lb|pl|relational}} [[cây|Cây]] [[chuối]]. # {{lb|pl|relational}} [[trái|Trái]] [[chuối]]. # [[màu|Màu]] [[chuối]]. ===={{section|decl}}==== {{pl-adecl}} ===={{section|drv}}==== {{col|pl|title=danh từ|republika bananowa}} ===={{section|rel}}==== {{col|pl|title=tính từ|bananowaty}} {{col|pl|title=danh từ|banan|bananojad|bananówa|bananowate|bananowiec|bananówka|bananownia}} ==={{section|further}}=== * {{R:pl:WSJP}} * {{R:pl:PWN}} {{C|pl|Màu vàng}} qppnv8v6vksgwhhylwtr981tcioibab 狐狸 0 400096 2362749 2026-05-31T01:45:38Z WhoAlone 40420 Trang mới: “{{also|狐貍}} =={{langname|vi}}== {{vi-hantutab}} ==={{ĐM|noun}}=== {{vi-noun|sc=Hani}} # {{vi-Han form of|hồ ly}} =={{langname|ja}}== {{ja-kanjitab|こ|り|yomi=o}} ==={{ĐM|etym}}=== Từ {{der|ja|ltc|-}} {{ltc-l|狐狸}}. ==={{ĐM|pron}}=== {{ja-pron|こり|acc=1|acc_ref=DJR}} ==={{ĐM|noun}}=== {{ja-noun|こり}} # Con [[cáo]] và {{w|lửng chó Nhật Bản}}. # {{lb|ja|figurative}} Người [[ranh mãnh]]; kẻ [[bội bạc]]. ===={{ĐM|derived}}====…” 2362749 wikitext text/x-wiki {{also|狐貍}} =={{langname|vi}}== {{vi-hantutab}} ==={{ĐM|noun}}=== {{vi-noun|sc=Hani}} # {{vi-Han form of|hồ ly}} =={{langname|ja}}== {{ja-kanjitab|こ|り|yomi=o}} ==={{ĐM|etym}}=== Từ {{der|ja|ltc|-}} {{ltc-l|狐狸}}. ==={{ĐM|pron}}=== {{ja-pron|こり|acc=1|acc_ref=DJR}} ==={{ĐM|noun}}=== {{ja-noun|こり}} # Con [[cáo]] và {{w|lửng chó Nhật Bản}}. # {{lb|ja|figurative}} Người [[ranh mãnh]]; kẻ [[bội bạc]]. ===={{ĐM|derived}}==== * {{ja-r|豺狼路に当たれり,安んぞ狐狸を問わん|さいろう みち に あたれり,いずくんぞ こり を とわん}} ==={{ĐM|ref}}=== <references/> :* {{R:Kanjipedia Kotoba|0002052600|<sup>▲</sup>狐<sup>▲</sup>狸}} {{C|ja|Họ Chó|Mọi người}} =={{langname|ko}}== {{ko-hanjatab}} ==={{ĐM|noun}}=== {{ko-noun|hangeul=호리}} # {{hanja form of|호리|[[cáo]] và [[mèo hoang]]}} =={{langname|zh}}== {{zh-forms|t2=狐貍}} {{wp|yue:,hak:fù-lì,cdo:hù-lì,nan:hô͘-lî,wuu:}} ==={{ĐM|pron}}=== {{zh-pron |m=húli,húlí,1nb=dạng tiêu chuẩn ở Đại lục và Đài Loan,2nb=tiêu chuẩn ở Đài Loan |m-s=fu2 ni3 |m-x=húli |m-nj=húli |c=wu4 lei4-2,wu4 lei4 |c_note=wu4 lei4 - literary |c-dg=fu4 ngai4 |c-t=vu3 lei4*,vu3 lei4 |g=fu4 li |h=pfs=fù-lì;hrs=h:fu li;gd=fu2 li2 |j=hu1 li1 |mb=ǔ-lǐ |md=hù-lì |mn=hô͘-lî |mn-t=hou5 lai5/hu5 li5 |mn-t_note=hou5 lai5 - ngôn ngữ nói; hu5 li5 - ngôn ngữ viết |px=pt,xy:hou2 li2 |sp=hu4 li4 |w=sh:6wu li2;sj:2vu li2;cm,hz,sx:2wu li2;sz:6ghou2 li2;nb:6wu2 li2 |x=fu2 li3 |x-h=fu2 li3 |mc=y |oc=y;2,1 |cat=n }} ==={{ĐM|noun}}=== [[File:Vulpes_corsac.jpg|thumb|狐狸]] {{head|zh|Danh từ}} # Con [[cáo]]. {{zh-mw|m,c,mn:隻}} # {{lb|zh|figurative}} Người [[ranh mãnh]]; kẻ [[bội bạc]]. {{zh-mw|m:個|c,mn:隻}} ===={{ĐM|syn}}==== {{zh-dial}} ===={{ĐM|drv}}==== {{col3|zh|狐狸精|狐狸尾巴|狐狸座|簡落狐狸|狐狸狗|野狐狸|露出了狐狸尾巴|老狐狸|九尾狐狸|虎狼當路,不治狐狸|狐狸指|狐狸花貓|狐狸毋知尾下臭|狐狸莫笑貓|狐狸莫笑貓,共樣尾翹翹|狐狸毋好笑貓|狐狸莫話貓,話吔貓來牙牙叫}} ===={{ĐM|desc}}==== {{CJKV||こり|k=狐貍|호리|hồ li}} {{C|zh|Họ Chó|Mọi người}} it94q5ju1sw0944xexq2y7wc175qkzj 2362760 2362749 2026-05-31T01:52:56Z WhoAlone 40420 2362760 wikitext text/x-wiki {{also|狐貍}} =={{langname|vi}}== {{vi-hantutab}} ==={{ĐM|noun}}=== {{vi-noun|sc=Hani}} # {{vi-Han form of|hồ ly}} =={{langname|ja}}== {{ja-kanjitab|こ|り|yomi=o}} ==={{ĐM|etym}}=== Từ {{der|ja|ltc|-}} {{ltc-l|狐狸}}. ==={{ĐM|pron}}=== {{ja-pron|こり|acc=1|acc_ref=DJR}} ==={{ĐM|noun}}=== {{ja-noun|こり}} # Con [[cáo]] và {{w|lửng chó Nhật Bản}}. # {{lb|ja|figurative}} Người [[ranh mãnh]]; kẻ [[bội bạc]]. ===={{ĐM|derived}}==== * {{ja-r|豺狼路に当たれり,安んぞ狐狸を問わん|さいろう みち に あたれり,いずくんぞ こり を とわん}} ==={{ĐM|ref}}=== <references/> :* {{R:Kanjipedia Kotoba|0002052600|<sup>▲</sup>狐<sup>▲</sup>狸}} {{C|ja|Họ Chó|Mọi người}} =={{langname|ko}}== {{ko-hanjatab}} ==={{ĐM|noun}}=== {{ko-noun|hangeul=호리}} # {{hanja form of|호리|[[cáo]] và [[mèo hoang]]}} =={{langname|zh}}== {{zh-forms|t2=狐貍}} {{wp|yue:,hak:fù-lì,cdo:hù-lì,nan:hô͘-lî,wuu:}} ==={{ĐM|pron}}=== {{zh-pron |m=húli,húlí,1nb=dạng tiêu chuẩn ở Đại lục và Đài Loan,2nb=tiêu chuẩn ở Đài Loan |m-s=fu2 ni3 |m-x=húli |m-nj=húli |c=wu4 lei4-2,wu4 lei4 |c_note=wu4 lei4 - literary |c-dg=fu4 ngai4 |c-t=vu3 lei4*,vu3 lei4 |g=fu4 li |h=pfs=fù-lì;hrs=h:fu li;gd=fu2 li2 |j=hu1 li1 |mb=ǔ-lǐ |md=hù-lì |mn=hô͘-lî |mn-t=hou5 lai5/hu5 li5 |mn-t_note=hou5 lai5 - ngôn ngữ nói; hu5 li5 - ngôn ngữ viết |px=pt,xy:hou2 li2 |sp=hu4 li4 |w=sh:6wu li2;sj:2vu li2;cm,hz,sx:2wu li2;sz:6ghou2 li2;nb:6wu2 li2 |x=fu2 li3 |x-h=fu2 li3 |mc=y |oc=y;2,1 |cat=n }} ==={{ĐM|noun}}=== [[File:Vulpes_corsac.jpg|thumb|狐狸]] {{head|zh|Danh từ}} # Con [[cáo]]. {{zh-mw|m,c,mn:隻}} # {{lb|zh|figurative}} Người [[ranh mãnh]]; kẻ [[bội bạc]]. {{zh-mw|m:個|c,mn:隻}} ===={{ĐM|syn}}==== {{zh-dial}} ===={{ĐM|drv}}==== {{col3|zh|狐狸精|狐狸尾巴|狐狸座|簡落狐狸|狐狸狗|野狐狸|露出了狐狸尾巴|老狐狸|九尾狐狸|虎狼當路,不治狐狸|狐狸指|狐狸花貓|狐狸毋知尾下臭|狐狸莫笑貓|狐狸莫笑貓,共樣尾翹翹|狐狸毋好笑貓|狐狸莫話貓,話吔貓來牙牙叫}} ===={{ĐM|desc}}==== {{CJKV||こり|k=狐貍|호리|hồ ly}} {{C|zh|Họ Chó|Mọi người}} 3ikpcxnqpn08vbdyxhd13hsvafpyg57 bananowa 0 400097 2362750 2026-05-31T01:45:55Z Hiyuune 50834 + pl 2362750 wikitext text/x-wiki =={{langname|pl}}== ==={{section|adj}}=== {{head|pl|Biến thể hình thái tính từ}} # {{infl of|pl|bananowy||nom|ở|f|s}} 79i7g23g03xmzm17yhad30x3f8cz0jp bananowe 0 400098 2362751 2026-05-31T01:47:12Z Hiyuune 50834 + pl 2362751 wikitext text/x-wiki =={{langname|pl}}== ==={{section|adj}}=== {{head|pl|Biến thể hình thái tính từ}} # {{infl of|pl|bananowy||nom//acc|ở|n|s|;|nom//acc|ở|nv|p}} gee004aq16v75nvbt7519aayv04nyzq bananowego 0 400099 2362752 2026-05-31T01:48:23Z Hiyuune 50834 + pl 2362752 wikitext text/x-wiki =={{langname|pl}}== ==={{section|adj}}=== {{head|pl|Biến thể hình thái tính từ}} # {{infl of|pl|bananowy||gen|ở|m//n|s|;|acc|ở|m|an|s}} 5nlnhiu4qmfbejq3jpjim3wegq6le25 호리 0 400100 2362753 2026-05-31T01:49:03Z WhoAlone 40420 Trang mới: “=={{langname|ko}}== {{wp|ko:}} ==={{ĐM|pron}}=== {{ko-IPA}} ==={{ĐM|etym}} 1=== {{ko-etym-native}} ===={{ĐM|noun}}==== {{ko-noun}} # [[cày]] do một [[con vật]] kéo thay vì hai con vật kéo ghép đôi. ====={{ĐM|antonym}}===== * {{ko-l|겨리|[[cày]] do hai con vật kéo}} ====={{ĐM|related}}===== * {{ko-l|홀|[[đơn lẻ]]}} ====={{ĐM|see also}}===== * {{ko-l|쟁기|cái [[cày]]}} ==={{ĐM|etym}} 2=== Từ {{ko-l|호로|葫蘆}}. ===={{ĐM|nou…” 2362753 wikitext text/x-wiki =={{langname|ko}}== {{wp|ko:}} ==={{ĐM|pron}}=== {{ko-IPA}} ==={{ĐM|etym}} 1=== {{ko-etym-native}} ===={{ĐM|noun}}==== {{ko-noun}} # [[cày]] do một [[con vật]] kéo thay vì hai con vật kéo ghép đôi. ====={{ĐM|antonym}}===== * {{ko-l|겨리|[[cày]] do hai con vật kéo}} ====={{ĐM|related}}===== * {{ko-l|홀|[[đơn lẻ]]}} ====={{ĐM|see also}}===== * {{ko-l|쟁기|cái [[cày]]}} ==={{ĐM|etym}} 2=== Từ {{ko-l|호로|葫蘆}}. ===={{ĐM|noun}}==== {{ko-noun}} # Quả [[bầu]], [[hồ lô]]. ====={{ĐM|drv}}===== * {{ko-l|호리병|호리甁|quả [[bầu]]}} ====={{ĐM|see also}}===== * {{ko-l|박|[[gourd]]}} ==={{ĐM|etym}} 3=== {{ko-etym-sino|狐貍}} ===={{ĐM|noun}}==== {{ko-noun|hanja=狐貍}} # [[cáo]] và [[mèo hoang]]. 26lpseu1poqity2fdiu0cve85m1venb bananowej 0 400101 2362754 2026-05-31T01:49:04Z Hiyuune 50834 + pl 2362754 wikitext text/x-wiki =={{langname|pl}}== ==={{section|adj}}=== {{head|pl|Biến thể hình thái tính từ}} # {{infl of|pl|bananowy||gen//dat//loc|ở|f|s}} 9jkr0be8ezbq7g8fkpbuo2fl8c8c2zm こり 0 400102 2362755 2026-05-31T01:49:57Z WhoAlone 40420 Trang mới: “=={{langname|ja}}== ==={{ĐM|etym}} 1=== {{ja-see|行李|狐狸}} ==={{ĐM|etym}} 2=== {{ja-verb form}} # {{ja-verb form of|こる|godan|い}}” 2362755 wikitext text/x-wiki =={{langname|ja}}== ==={{ĐM|etym}} 1=== {{ja-see|行李|狐狸}} ==={{ĐM|etym}} 2=== {{ja-verb form}} # {{ja-verb form of|こる|godan|い}} 9xbw2hbusobzw9qfykkix3pyc2fnyyr húli 0 400103 2362756 2026-05-31T01:51:42Z WhoAlone 40420 Trang mới: “{{also|hùlì|hùlǐ}} =={{langname|cmn}}== ==={{ĐM|rom}}=== {{cmn-pinyin}} # {{cmn-pinyin of|狐狸}}” 2362756 wikitext text/x-wiki {{also|hùlì|hùlǐ}} =={{langname|cmn}}== ==={{ĐM|rom}}=== {{cmn-pinyin}} # {{cmn-pinyin of|狐狸}} tmdbmbpju21xzu9vfyl9bbiqwwqdowf bananowemu 0 400104 2362757 2026-05-31T01:51:54Z Hiyuune 50834 + pl 2362757 wikitext text/x-wiki =={{langname|pl}}== ==={{section|adj}}=== {{head|pl|Biến thể hình thái tính từ}} # {{infl of|pl|bananowy||dat|ở|m//n|s}} 8bgl972ti935to3lpysn889umf46u0m húlí 0 400105 2362758 2026-05-31T01:51:55Z WhoAlone 40420 Trang mới: “=={{langname|cmn}}== ==={{ĐM|rom}}=== {{cmn-pinyin}} # {{cmn-pinyin of|狐狸}}” 2362758 wikitext text/x-wiki =={{langname|cmn}}== ==={{ĐM|rom}}=== {{cmn-pinyin}} # {{cmn-pinyin of|狐狸}} jdx4l33vhrjhziqa8uj4x10skd4sgre bananowym 0 400106 2362759 2026-05-31T01:52:45Z Hiyuune 50834 + pl 2362759 wikitext text/x-wiki =={{langname|pl}}== ==={{ĐM|adj}}=== {{head|pl|Biến thể hình thái tính từ}} # {{infl of|pl|bananowy||dat|p|;|ins//loc|ở|m//n|s}} r0i9g3vkuybvcm62o5t6rb9ez6bkz36 bananową 0 400107 2362762 2026-05-31T01:53:24Z Hiyuune 50834 + pl 2362762 wikitext text/x-wiki =={{langname|pl}}== ==={{ĐM|adj}}=== {{head|pl|Biến thể hình thái tính từ}} # {{infl of|pl|bananowy||acc//ins|ở|f|s}} 1pp34eg30smxmeu1vxiv893c61da63p 狐貍 0 400108 2362763 2026-05-31T01:53:39Z WhoAlone 40420 Trang mới: “{{also|狐狸}} =={{langname|zh}}== {{zh-see|狐狸}} =={{langname|ko}}== {{ko-hanjatab}} ==={{ĐM|noun}}=== {{ko-noun|hangeul=호리}} # {{hanja form of|호리|[[cáo]] và [[mèo hoang]]}}” 2362763 wikitext text/x-wiki {{also|狐狸}} =={{langname|zh}}== {{zh-see|狐狸}} =={{langname|ko}}== {{ko-hanjatab}} ==={{ĐM|noun}}=== {{ko-noun|hangeul=호리}} # {{hanja form of|호리|[[cáo]] và [[mèo hoang]]}} dlcljch80wlup05ewcj89x9f7xeyxnh 2362771 2362763 2026-05-31T01:59:37Z Hiyuune 50834 tiếng Triều Tiên nên xếp đầu 2362771 wikitext text/x-wiki {{also|狐狸}} =={{langname|ko}}== {{ko-hanjatab}} ==={{ĐM|noun}}=== {{ko-noun|hangeul=호리}} # {{hanja form of|호리|[[cáo]] và [[mèo hoang]]}} =={{langname|zh}}== {{zh-see|狐狸}} ihqfuadovkd0snytibx2fm8cz80rifa Thể loại:Mục từ tiếng Hán trung cổ 14 400109 2362764 2026-05-31T01:54:03Z WhoAlone 40420 Trang mới: “{{auto cat}}” 2362764 wikitext text/x-wiki {{auto cat}} eomzlm5v4j7ond1phrju7cnue91g5qx 2362767 2362764 2026-05-31T01:54:55Z WhoAlone 40420 2362767 wikitext text/x-wiki {{auto cat}} [[Thể loại:Mục từ tiếng Trung Quốc]] 9n3tflwkvs9coyumd6iveaysnutfisu Thể loại:Mục từ tiếng Hán thượng cổ 14 400110 2362765 2026-05-31T01:54:08Z WhoAlone 40420 Trang mới: “{{auto cat}}” 2362765 wikitext text/x-wiki {{auto cat}} eomzlm5v4j7ond1phrju7cnue91g5qx 2362768 2362765 2026-05-31T01:55:06Z WhoAlone 40420 2362768 wikitext text/x-wiki {{auto cat}} [[Thể loại:Mục từ tiếng Trung Quốc]] 9n3tflwkvs9coyumd6iveaysnutfisu bananowi 0 400111 2362766 2026-05-31T01:54:32Z Hiyuune 50834 + pl 2362766 wikitext text/x-wiki =={{langname|pl}}== ==={{section|adj}}=== {{head|pl|Biến thể hình thái tính từ}} # {{infl of|pl|bananowy||nom|ở|m|p|với|pr}} 6l5jacxcotd2rmpzzgr9dmg6anobddn Thể loại:Tiếng Hán thượng cổ 14 400112 2362769 2026-05-31T01:55:28Z WhoAlone 40420 Trang mới: “{{auto cat|Trung Quốc|extinct=1}}” 2362769 wikitext text/x-wiki {{auto cat|Trung Quốc|extinct=1}} fuo5dw30njhhjq9q9tiahkzdjimpzir hô͘-lî 0 400113 2362773 2026-05-31T02:00:23Z Hiyuune 50834 Trang mới: “=={{langname|nan-hbl}}== {{zh-see|狐狸|poj}}” 2362773 wikitext text/x-wiki =={{langname|nan-hbl}}== {{zh-see|狐狸|poj}} 3vwc4lppbqcvt5ecqag0jc2g29pupn3 Old Japanese 0 400114 2362775 2026-05-31T02:02:33Z Hiyuune 50834 + en 2362775 wikitext text/x-wiki =={{langname|en}}== {{wp|en:}} ==={{section|pr-noun}}=== {{en-proper noun|head=[[old|Old]] [[Japanese]]}} # [[tiếng Nhật|Tiếng Nhật]] [[thượng]] [[cổ]]. ===References=== * {{cite-book |last=Shibatani |first=Masayoshi |title=The Languages of Japan |trans-title=Ngôn ngữ của Nhật Bản |publisher=Nhà xuất bản đại học Cambridge |year=1990 |page=119 |isbn=0-521-36918-5 }} {{C|en|Tên ngôn ngữ}} fuce6e88l72l299v0pyb7tcwjfycfd2 2362776 2362775 2026-05-31T02:02:49Z Hiyuune 50834 /* References */ (sử dụng [[MediaWiki:Gadget-AjaxEdit.js|AjaxEdit]]) 2362776 wikitext text/x-wiki =={{langname|en}}== {{wp|en:}} ==={{section|pr-noun}}=== {{en-proper noun|head=[[old|Old]] [[Japanese]]}} # [[tiếng Nhật|Tiếng Nhật]] [[thượng]] [[cổ]]. ==={{section|ref}}=== * {{cite-book |last=Shibatani |first=Masayoshi |title=The Languages of Japan |trans-title=Ngôn ngữ của Nhật Bản |publisher=Nhà xuất bản đại học Cambridge |year=1990 |page=119 |isbn=0-521-36918-5 }} {{C|en|Tên ngôn ngữ}} atbtvqhk0xqptq0fl1ucqlf34gtkwve 2362781 2362776 2026-05-31T02:06:09Z Hiyuune 50834 /* Tiếng Anh */ (sử dụng [[MediaWiki:Gadget-AjaxEdit.js|AjaxEdit]]) 2362781 wikitext text/x-wiki =={{langname|en}}== {{wp|en:}} ==={{section|pr-noun}}=== {{en-proper noun|head=[[old|Old]] [[Japanese]]}} # [[tiếng Nhật|Tiếng Nhật]] [[thượng cổ]]. ==={{section|ref}}=== * {{cite-book |last=Shibatani |first=Masayoshi |title=The Languages of Japan |trans-title=Ngôn ngữ của Nhật Bản |publisher=Nhà xuất bản đại học Cambridge |year=1990 |page=119 |isbn=0-521-36918-5 }} {{C|en|Tên ngôn ngữ}} i8nykgpn4ejp91eus9beri8djt36n23 jakkaru 0 400115 2362778 2026-05-31T02:05:07Z WhoAlone 40420 Trang mới: “=={{langname|ja}}== ==={{ĐM|rom}}=== {{ja-romaji}} # {{ja-romanization of|ジャッカル}}” 2362778 wikitext text/x-wiki =={{langname|ja}}== ==={{ĐM|rom}}=== {{ja-romaji}} # {{ja-romanization of|ジャッカル}} 8doac5n4s9ggr2r9w3nmafixbtx8e9u Old Chinese 0 400116 2362779 2026-05-31T02:05:41Z Hiyuune 50834 + en 2362779 wikitext text/x-wiki =={{langname|en}}== {{wp|en:}} ==={{section|pron}}=== * {{IPA4|en|/ˈəʊld t͡ʃaɪˈniːz/|a=UK}} * {{IPA4|en|/ˈoʊld ˌt͡ʃaɪˈniz/|a=US}} ==={{section|pr-noun}}=== {{en-proper noun|head=[[old|Old]] [[Chinese]]}} # [[tiếng Hán|Tiếng Hán]] [[thượng cổ]]. #: {{synonyms|en|Archaic Chinese|q1=obsolete}} #: {{coordinate terms|en|Old Chinese|Middle Chinese}} {{C|en|Tên ngôn ngữ}} kb53e0hkh223br201aspkgm9u7urk5s 2362780 2362779 2026-05-31T02:05:55Z Hiyuune 50834 /* Danh từ riêng */ (sử dụng [[MediaWiki:Gadget-AjaxEdit.js|AjaxEdit]]) 2362780 wikitext text/x-wiki =={{langname|en}}== {{wp|en:}} ==={{section|pron}}=== * {{IPA4|en|/ˈəʊld t͡ʃaɪˈniːz/|a=UK}} * {{IPA4|en|/ˈoʊld ˌt͡ʃaɪˈniz/|a=US}} ==={{section|pr-noun}}=== {{en-proper noun|head=[[old|Old]] [[Chinese]]}} # [[tiếng Hán|Tiếng Hán]] [[thượng cổ]]. #: {{synonyms|en|Archaic Chinese|q1=không còn dùng}} #: {{coordinate terms|en|Old Chinese|Middle Chinese}} {{C|en|Tên ngôn ngữ}} 9oanfg38wqn8g20m2uxzed8s27ri5d9 金色ジャッカル 0 400117 2362782 2026-05-31T02:06:30Z WhoAlone 40420 Trang mới: “=={{langname|ja}}== {{ja-kanjitab|きん|いろ|yomi=o,k}} {{swp|ja:キンイロジャッカル}} ==={{ĐM|etym}}=== {{com|ja|金色|ジャッカル|tr1=kin'iro|tr2=jakkaru|t1=[[vàng]]|t2=[[chó rừng]]}} ==={{ĐM|noun}}=== {{ja-noun|きんいろ ジャッカル|キンイロ ジャッカル}} # {{w|Chó rừng lông vàng}}. {{c|ja|Họ Chó}}” 2362782 wikitext text/x-wiki =={{langname|ja}}== {{ja-kanjitab|きん|いろ|yomi=o,k}} {{swp|ja:キンイロジャッカル}} ==={{ĐM|etym}}=== {{com|ja|金色|ジャッカル|tr1=kin'iro|tr2=jakkaru|t1=[[vàng]]|t2=[[chó rừng]]}} ==={{ĐM|noun}}=== {{ja-noun|きんいろ ジャッカル|キンイロ ジャッカル}} # {{w|Chó rừng lông vàng}}. {{c|ja|Họ Chó}} rrcwaacxglvty7hqs8tjh2hhuwcxld4 kin'iro jakkaru 0 400118 2362783 2026-05-31T02:07:14Z WhoAlone 40420 Trang mới: “=={{langname|ja}}== ==={{ĐM|rom}}=== {{ja-romaji}} # {{ja-romanization of|きんいろジャッカル}} # {{ja-romanization of|キンイロジャッカル}}” 2362783 wikitext text/x-wiki =={{langname|ja}}== ==={{ĐM|rom}}=== {{ja-romaji}} # {{ja-romanization of|きんいろジャッカル}} # {{ja-romanization of|キンイロジャッカル}} 14so7hia2rabahlycise8fevpcb4djx きんいろジャッカル 0 400119 2362784 2026-05-31T02:07:36Z WhoAlone 40420 Trang mới: “=={{langname|ja}}== {{ja-see|金色ジャッカル}}” 2362784 wikitext text/x-wiki =={{langname|ja}}== {{ja-see|金色ジャッカル}} rovnjxdtwqum740ojhjlnioni548brv キンイロジャッカル 0 400120 2362785 2026-05-31T02:07:46Z WhoAlone 40420 Trang mới: “=={{langname|ja}}== {{ja-see|金色ジャッカル}}” 2362785 wikitext text/x-wiki =={{langname|ja}}== {{ja-see|金色ジャッカル}} rovnjxdtwqum740ojhjlnioni548brv Thể loại:Từ đánh vần với 色 là いろ tiếng Nhật 14 400121 2362786 2026-05-31T02:07:58Z WhoAlone 40420 Trang mới: “{{auto cat|kun}}” 2362786 wikitext text/x-wiki {{auto cat|kun}} 6sgynwa4ww4n7ynr3errc7yhla69lb0 上古漢語 0 400122 2362787 2026-05-31T02:08:15Z Hiyuune 50834 + zh 2362787 wikitext text/x-wiki {{also|上古汉语}} =={{langname|zh}}== {{zh-forms|s=上古汉语|type=22}} {{wp|zh:,yue:,cdo:Siông-gū Háng-ngṳ̄,nan:Siōng-kó͘ Hàn-gí}} ==={{section|pron}}=== {{zh-pron |m=shànggǔ hànyǔ |c=soeng6 gu2 hon3 jyu5 |md=siông-gū háng-ngṳ̄ |mn=zz,twz:siāng-kó͘ hàn-gí/kh:siōng-kó͘ hàn-gí/qz:siōng-kó͘ hàn-gír/xm,tp:siōng-kó͘ hàn-gú |cat=n }} ==={{section|n}}=== {{head|zh|Danh từ}} # [[tiếng Hán|Tiếng Hán]] [[thượng cổ]]. ===={{section|syn}}==== * {{zh-l|古代漢語}} ===={{section|rel}}==== * {{zh-l|中古漢語}} {{C|zh|Tiếng Trung Quốc}} mn51j9a33rlnsxszungz3p6y6f99kew Thể loại:Từ đánh vần với kanji là いろ tiếng Nhật 14 400123 2362788 2026-05-31T02:08:35Z WhoAlone 40420 Trang mới: “{{auto cat}}” 2362788 wikitext text/x-wiki {{auto cat}} eomzlm5v4j7ond1phrju7cnue91g5qx Thể loại:Kanji đọc là いろ tiếng Nhật 14 400124 2362789 2026-05-31T02:08:58Z WhoAlone 40420 Trang mới: “{{auto cat}}” 2362789 wikitext text/x-wiki {{auto cat}} eomzlm5v4j7ond1phrju7cnue91g5qx Thể loại:Từ đánh vần với 色 tiếng Nhật 14 400125 2362790 2026-05-31T02:09:17Z WhoAlone 40420 Trang mới: “{{auto cat}}” 2362790 wikitext text/x-wiki {{auto cat}} eomzlm5v4j7ond1phrju7cnue91g5qx Thể loại:Từ đánh vần với 色 theo ngôn ngữ 14 400126 2362791 2026-05-31T02:09:40Z WhoAlone 40420 Trang mới: “{{auto cat}}” 2362791 wikitext text/x-wiki {{auto cat}} eomzlm5v4j7ond1phrju7cnue91g5qx ウルフ 0 400127 2362793 2026-05-31T02:25:41Z WhoAlone 40420 Trang mới: “=={{langname|ja}}== {{wp|ja:}} ==={{ĐM|etym}}=== Mượn từ {{bor|ja|en|wolf}}.<ref name="DJR">{{R:Daijirin}}</ref> ==={{ĐM|pron}}=== * {{ja-pron|acc=1|acc_ref=DJR}} ==={{ĐM|noun}}=== {{ja-noun}} # {{lb|ja|informal}} Con [[sói]]. ===={{ĐM|syn}}==== * {{ja-r|狼|おおかみ|rom=-}}, {{ja-r|オオカミ}} ==={{ĐM|ref}}=== <references/> {{C|ja|Họ Chó}}” 2362793 wikitext text/x-wiki =={{langname|ja}}== {{wp|ja:}} ==={{ĐM|etym}}=== Mượn từ {{bor|ja|en|wolf}}.<ref name="DJR">{{R:Daijirin}}</ref> ==={{ĐM|pron}}=== * {{ja-pron|acc=1|acc_ref=DJR}} ==={{ĐM|noun}}=== {{ja-noun}} # {{lb|ja|informal}} Con [[sói]]. ===={{ĐM|syn}}==== * {{ja-r|狼|おおかみ|rom=-}}, {{ja-r|オオカミ}} ==={{ĐM|ref}}=== <references/> {{C|ja|Họ Chó}} p36tc0sbzcu5i3hqibvknkar756p856 オオカミ 0 400128 2362794 2026-05-31T02:29:21Z WhoAlone 40420 Trang mới: “=={{langname|ja}}== [[Image:Canis_lupus_265b.jpg|thumb|right]] ==={{ĐM|etym}}=== {{IPAfont|opokami}} → {{IPAfont|oɸokami}} → {{IPAfont|owokami}} → {{IPAfont|ookami}} → {{IPAfont|oːkami}}. Nghĩa đen là "thần lớn", từ {{mention|ja|大|tr=ō||lớn, đại}} và {{mention|ja|神|tr=kami||thần}}. ==={{ĐM|noun}}=== {{ja-noun|おおかみ|hhira=おほかみ}} # {{ja-def|狼}} Con [[sói]]; {{taxfmt|Canis lupus|species}}. #* {{RQ:Wamyō Ruijushō|7|56|p…” 2362794 wikitext text/x-wiki =={{langname|ja}}== [[Image:Canis_lupus_265b.jpg|thumb|right]] ==={{ĐM|etym}}=== {{IPAfont|opokami}} → {{IPAfont|oɸokami}} → {{IPAfont|owokami}} → {{IPAfont|ookami}} → {{IPAfont|oːkami}}. Nghĩa đen là "thần lớn", từ {{mention|ja|大|tr=ō||lớn, đại}} và {{mention|ja|神|tr=kami||thần}}. ==={{ĐM|noun}}=== {{ja-noun|おおかみ|hhira=おほかみ}} # {{ja-def|狼}} Con [[sói]]; {{taxfmt|Canis lupus|species}}. #* {{RQ:Wamyō Ruijushō|7|56|passage=犲狼 [...] 説文云、狼、音郎、'''於保加美'''、和名二字、本草和名、犲皮、和名'''於保加美'''、雄略紀、豺狼二字同訓、貝原氏曰、狼、'''於保加美''' [...]}} #* {{RQ:Wamyō Ruijushō|18|17}} (Bản thảo Shinpukuji) #*: 犲狼: 兼名苑云狼一名犲音於説文云狼音即和名'''於保加美'''似犬而銃頭白頬者也爾雅注云獥音叫狼子也 #* khoảng '''1177-1188''', [[w:Iroha Jiruishō|Iroha Jiruishō]] #*: {{quote|ja|狼(オホカミ)}} #* '''1444''', [[w:Kagakushū|Kagakushū]] (Tập 13) #*: {{quote|ja|狼(ヲヽカミ)}} ===={{ĐM|usage}}==== オオカミ là từ gắn liền với mùa đông. ===={{ĐM|syn}}==== * {{ja-r|ウルフ}} {{q|không trang trọng}} ===={{ĐM|drv}}==== {{col|ja |{{l|ja|アラビアオオカミ}} (Arabiaōkami) |{{l|ja|イタリアオオカミ}} (Itariaōkami) |{{l|ja|一匹オオカミ}} (ippikiōkami) |{{l|ja|エジプトオオカミ}} (Ejiputoōkami) |{{l|ja|エゾオオカミ}} (ezoōkami) |{{l|ja|オオカミウオ}} (ōkamiuo) |{{l|ja|おおかみ座}} (ōkamiza) |{{l|ja|オオカミ少年}} (ōkamishōnen) |{{l|ja|狼弾き}} (ōkamihajiki) |{{l|ja|送り狼}} (okuriōkami) |{{l|ja|カスピオオカミ}} (Kasupiōkami) |{{l|ja|グレートプレーンズオオカミ}} (Gurētopurēnzuōkami) |{{l|ja|シベリアオオカミ}} (Shiberiōkami) |{{l|ja|シンリンオオカミ}} (shinrin'ōkami) |{{l|ja|タスマニアオオカミ}} (Tasumaniaōkami) |{{l|ja|タテガミオオカミ}} (tategamiōkami) |{{l|ja|チョウセンオオカミ}} (Chōsen'ōkami) |{{l|ja|ツンドラオオカミ}} (tsundoraōkami) |{{l|ja|ニホンオオカミ}} (Nihon'ōkami) |{{l|ja|ネブラスカオオカミ}} (Neburasukaōkami) |{{l|ja|フクロオオカミ}} (fukuroōkami) |{{l|ja|ホッキョクオオカミ}} (hokkyokuōkami) |{{l|ja|メキシコオオカミ}} (Mekishikoōkami) |{{l|ja|ロシアオオカミ}} (Roshiaōkami) |{{l|ja|ヨーロッパオオカミ}} (Yōroppaōkami) }} ==={{ĐM|see also}}=== * {{ja-r|狼|おおかめ}} ==={{ĐM|ref}}=== * {{cite-book |ja |last=Kamei |first=Takashi |title=Kagakushū: Gennabon |publisher=Iwanami Shoten |origyear=1444 |year=1944 |location=Tōkyō }} * {{R:Wamyō Ruijushō}} * {{cite-book |ja |last=Tadakane |first=Tachibana |coauthors=[[w:Masamune Atsuo|Atsuo Masamune]] (biên tập) |title=[[w:Iroha Jiruishō|Iroha Jiruishō]] |publisher=Kazama Shobō |year_published=1971 |year=circa 1177-1188 }} {{C|ja|Họ Chó|sort=おおかみ}} 0hk8viht279tna3mijv5g1hutmdhf1s おほかみ 0 400129 2362795 2026-05-31T02:30:10Z WhoAlone 40420 Trang mới: “=={{langname|ja}}== {{ja-see|狼|オオカミ}}” 2362795 wikitext text/x-wiki =={{langname|ja}}== {{ja-see|狼|オオカミ}} 4unrs5f3jrthpf17cty11annaqhccwk おおかみ 0 400130 2362796 2026-05-31T02:31:08Z WhoAlone 40420 Trang mới: “=={{langname|ja}}== {{ja-see|狼|大神|大上|オオカミ}}” 2362796 wikitext text/x-wiki =={{langname|ja}}== {{ja-see|狼|大神|大上|オオカミ}} an4xi9eugpzc61etqsrcl6jv9akoqaz ōkami 0 400131 2362797 2026-05-31T02:33:01Z WhoAlone 40420 Trang mới: “{{also|okami|Ōkami}} =={{langname|ja}}== ==={{ĐM|rom}}=== {{ja-romaji}} # {{ja-romanization of|オオカミ}} # {{ja-romanization of|おおかみ}}” 2362797 wikitext text/x-wiki {{also|okami|Ōkami}} =={{langname|ja}}== ==={{ĐM|rom}}=== {{ja-romaji}} # {{ja-romanization of|オオカミ}} # {{ja-romanization of|おおかみ}} 3h3e97v0n6nogapz9q8ov3r1xhf0b0e アビシニア狼 0 400132 2362800 2026-05-31T02:37:36Z WhoAlone 40420 Trang mới: “=={{langname|ja}}== ==={{section|etym}}=== {{com+|ja|アビシニア|狼|tr1=Abishinia|tr2=jakkaru|t1=[[Abyssinia]]|t2=[[sói]]}} ==={{section|n}}=== {{ja-noun|^アビシニア おおかみ}} # {{synonym of|ja|アビシニアジャッカル}} {{C|ja|Họ Chó}}” 2362800 wikitext text/x-wiki =={{langname|ja}}== ==={{section|etym}}=== {{com+|ja|アビシニア|狼|tr1=Abishinia|tr2=jakkaru|t1=[[Abyssinia]]|t2=[[sói]]}} ==={{section|n}}=== {{ja-noun|^アビシニア おおかみ}} # {{synonym of|ja|アビシニアジャッカル}} {{C|ja|Họ Chó}} 1e9z3ea59o1s18d720oj5lwq9nph8vg 2362801 2362800 2026-05-31T02:38:04Z WhoAlone 40420 2362801 wikitext text/x-wiki =={{langname|ja}}== ==={{section|etym}}=== {{com+|ja|アビシニア|狼|tr1=Abishinia|tr2=ōkami|t1=[[Abyssinia]]|t2=[[sói]]}} ==={{section|n}}=== {{ja-noun|^アビシニア おおかみ}} # {{synonym of|ja|アビシニアジャッカル}} {{C|ja|Họ Chó}} 2lterieau5ainel0lnh18ojm0vowach Bản mẫu:R:yue:mfccd 10 400133 2362803 2026-05-31T02:39:31Z Hiyuune 50834 Đổi hướng đến [[Bản mẫu:R:yue:Multi-function Chinese Character Database]] 2362803 wikitext text/x-wiki #redirect [[Bản mẫu:R:yue:Multi-function Chinese Character Database]] 4qgfhfmklzk7bvmnmi7wwh3hre6939u シミエンジャッカル 0 400134 2362804 2026-05-31T02:40:05Z WhoAlone 40420 Trang mới: “=={{langname|ja}}== ==={{section|etym}}=== {{com+|ja|シミエン|ジャッカル|tr1=Shimien|tr2=jakkaru|t1=|t2=[[chó rừng]]}} ==={{section|n}}=== {{ja-noun|シミエン ジャッカル}} # {{synonym of|ja|アビシニアジャッカル}} {{C|ja|Họ Chó}}” 2362804 wikitext text/x-wiki =={{langname|ja}}== ==={{section|etym}}=== {{com+|ja|シミエン|ジャッカル|tr1=Shimien|tr2=jakkaru|t1=|t2=[[chó rừng]]}} ==={{section|n}}=== {{ja-noun|シミエン ジャッカル}} # {{synonym of|ja|アビシニアジャッカル}} {{C|ja|Họ Chó}} l8s80sbtr9sw014kqldc5ws57d8v1a6 Mô đun:zh/data/och-pron-ZS/寘 828 400135 2362805 2026-05-31T02:40:08Z Hiyuune 50834 Trang mới: “return { { "17035", "眞", "歌", "2", "寘", "tjels", "" }, }” 2362805 Scribunto text/plain return { { "17035", "眞", "歌", "2", "寘", "tjels", "" }, } s7mclmibi0ekgy3a27o8j2wz6cra8sr エチオピア狼 0 400136 2362806 2026-05-31T02:40:19Z WhoAlone 40420 Trang mới: “=={{langname|ja}}== ==={{section|etym}}=== {{com+|ja|エチオピア|狼|tr1=Ethiopia|tr2=ōkami|t1=[[Ethiopia]]|t2=[[sói]]}} ==={{section|n}}=== {{ja-noun|^エチオピア おおかみ}} # {{synonym of|ja|アビシニアジャッカル}} {{C|ja|Họ Chó}}” 2362806 wikitext text/x-wiki =={{langname|ja}}== ==={{section|etym}}=== {{com+|ja|エチオピア|狼|tr1=Ethiopia|tr2=ōkami|t1=[[Ethiopia]]|t2=[[sói]]}} ==={{section|n}}=== {{ja-noun|^エチオピア おおかみ}} # {{synonym of|ja|アビシニアジャッカル}} {{C|ja|Họ Chó}} bpb37l19c45fd6kfopbrosvolcxbwia 2362807 2362806 2026-05-31T02:40:30Z WhoAlone 40420 2362807 wikitext text/x-wiki =={{langname|ja}}== ==={{section|etym}}=== {{com+|ja|エチオピア|狼|tr1=Echiopia|tr2=ōkami|t1=[[Ethiopia]]|t2=[[sói]]}} ==={{section|n}}=== {{ja-noun|^エチオピア おおかみ}} # {{synonym of|ja|アビシニアジャッカル}} {{C|ja|Họ Chó}} dvs5kpuwru8mioej7jtgma0xjv0oe1n エチオピアおおかみ 0 400137 2362808 2026-05-31T02:40:59Z WhoAlone 40420 Trang mới: “=={{langname|ja}}== {{ja-see|エチオピア狼}}” 2362808 wikitext text/x-wiki =={{langname|ja}}== {{ja-see|エチオピア狼}} e9sag2aqojgxrwkrjblx3z3okrqqwg9 アビシニアおおかみ 0 400138 2362809 2026-05-31T02:41:01Z WhoAlone 40420 Trang mới: “=={{langname|ja}}== {{ja-see|アビシニア狼}}” 2362809 wikitext text/x-wiki =={{langname|ja}}== {{ja-see|アビシニア狼}} mwi3dekthdzd0ozy6jt0tc7kd3hqr4l 𬉌 0 400139 2362810 2026-05-31T02:43:33Z Hiyuune 50834 + mul 2362810 wikitext text/x-wiki {{character info}} =={{langname|mul}}== ==={{section|han}}=== {{Han char|rn=85|rad=水|as=13|sn=|four=|canj=|ids=⿰氵嗔}} ===={{section|ref}}==== * {{Han ref|kx=|dkj=|dj=|hdz=|uh=2C24C}} 517xaywkxw48y3kcm5qu4fed3urvwyb ノロシ 0 400140 2362811 2026-05-31T02:45:50Z WhoAlone 40420 Trang mới: “=={{langname|ja}}== ==={{ĐM|pron}}=== * {{IPA4|ja|/noroɕi/}} ==={{ĐM|noun}}=== {{ja-noun}} # {{label|ja|Kamiuchinami|Ōno|Fukui}} [[tín hiệu]] bằng [[khói]].” 2362811 wikitext text/x-wiki =={{langname|ja}}== ==={{ĐM|pron}}=== * {{IPA4|ja|/noroɕi/}} ==={{ĐM|noun}}=== {{ja-noun}} # {{label|ja|Kamiuchinami|Ōno|Fukui}} [[tín hiệu]] bằng [[khói]]. ffx116bvyigssnfv3hyzh7745667u9v 0 400141 2362812 2026-05-31T02:45:52Z Hiyuune 50834 + mul 2362812 wikitext text/x-wiki {{character info}} =={{langname|mul}}== ==={{section|han}}=== {{Han char|rn=149|rad=言|as=10|sn=17|four=04681|canj=YRJBC|ids=⿰訁真}} # [[tức giận|Tức giận]], nổi lên cơn [[thịnh nộ]]. ===={{section|ref}}==== * {{Han ref|kx=1175.080|dkj=35809|dj=1639.250|hdz=64007.110|uh=8B13}} =={{langname|zh}}== {{zh-see|嗔}} 13cu7iamnkuf2rfx1teyh9k1a8v50j4 オーカミ 0 400142 2362813 2026-05-31T02:46:19Z WhoAlone 40420 Trang mới: “=={{langname|ja}}== ==={{ĐM|pron}}=== * {{IPA4|ja|/oːkami/}} ==={{ĐM|noun}}=== {{ja-noun}} # {{label|ja|Kamiuchinami|Ōno|Fukui}} Con [[sói]].” 2362813 wikitext text/x-wiki =={{langname|ja}}== ==={{ĐM|pron}}=== * {{IPA4|ja|/oːkami/}} ==={{ĐM|noun}}=== {{ja-noun}} # {{label|ja|Kamiuchinami|Ōno|Fukui}} Con [[sói]]. gy2mxnspmcvgp1riyfvr8dnygoqxma5 chen1 0 400143 2362814 2026-05-31T02:48:00Z Hiyuune 50834 + cmn 2362814 wikitext text/x-wiki =={{langname|cmn}}== ==={{ĐM|rom}}=== {{cmn-pinyin}} # {{alternative spelling of|cmn|chēn}} 78ved58l4orn8h3gm6swodvhbqd622i chēn 0 400144 2362815 2026-05-31T02:48:58Z Hiyuune 50834 + ja, cmn 2362815 wikitext text/x-wiki {{also|Phụ lục:Biến thể của "chen"}} =={{langname|ja}}== ==={{section|rom}}=== {{ja-romaji}} # {{ja-romanization of|チェーン}} =={{langname|cmn}}== ==={{section|alt}}=== * {{alt|cmn|chen||nonstandard}} * {{alt|cmn|ĉēn}} ==={{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|郴}} 8wztrsv2i28xrtno4gifpnxwp4apx98 zan1 0 400145 2362816 2026-05-31T02:51:27Z Hiyuune 50834 + cmn, yue 2362816 wikitext text/x-wiki =={{langname|cmn}}== ==={{ĐM|rom}}=== {{cmn-pinyin}} # {{alternative spelling of|cmn|zān}} =={{langname|yue}}== ==={{ĐM|pron}}=== * {{IPA4|yue|/t͡sɐn˥/}} ==={{ĐM|rom}}=== {{yue-jyut}} # {{yue-jyutping of|珍}} # {{yue-jyutping of|真}} bfezn5ew2dwespg5rnu60yyx4mw8fbq zān 0 400146 2362817 2026-05-31T02:52:01Z Hiyuune 50834 + cmn 2362817 wikitext text/x-wiki {{also|Phụ lục:Biến thể của "zan"}} =={{langname|cmn}}== ==={{ĐM|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|鐕}} lvc0aof7fpcruiqw77lddshslafjz84 indabak 0 400147 2362818 2026-05-31T02:54:12Z Hiyuune 50834 + eu 2362818 wikitext text/x-wiki =={{langname|eu}}== ==={{section|n}}=== {{head|eu|Biến thể hình thái danh từ}} # {{infl of|eu|indaba||erg|indef|;|erg|s|;|absv|p}} f5wposqrtwoylp1b0udj9ud6b55829i indabari 0 400148 2362819 2026-05-31T02:54:50Z Hiyuune 50834 + eu 2362819 wikitext text/x-wiki =={{langname|eu}}== ==={{section|n}}=== {{head|eu|Biến thể hình thái danh từ}} # {{infl of|eu|indaba||dat|indef|;|dat|s}} o68wzc6fd6klza6zpddxrrnr6fuspb3 ティーチ 0 400149 2362820 2026-05-31T02:56:12Z WhoAlone 40420 Trang mới: “=={{langname|ryu}}== ==={{ĐM|num}}=== {{ryu-head|numeral}} # [[một]].” 2362820 wikitext text/x-wiki =={{langname|ryu}}== ==={{ĐM|num}}=== {{ryu-head|numeral}} # [[một]]. 8vp6k3q7tzxmht91srtvq81420xj3in Thể loại:Số từ tiếng Okinawa 14 400150 2362821 2026-05-31T02:56:39Z WhoAlone 40420 Trang mới: “{{auto cat}}” 2362821 wikitext text/x-wiki {{auto cat}} eomzlm5v4j7ond1phrju7cnue91g5qx can1 0 400151 2362823 2026-05-31T02:58:43Z Hiyuune 50834 Trang mới: “=={{langname|cmn}}== ==={{ĐM|rom}}=== {{cmn-pinyin}} # {{alternative spelling of|cmn|cān}} =={{langname|yue}}== ==={{ĐM|pron}}=== {{Jyutping-IPA|can1}} ==={{ĐM|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|…” 2362823 wikitext text/x-wiki =={{langname|cmn}}== ==={{ĐM|rom}}=== {{cmn-pinyin}} # {{alternative spelling of|cmn|cān}} =={{langname|yue}}== ==={{ĐM|pron}}=== {{Jyutping-IPA|can1}} ==={{ĐM|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|齓}} i8rapkqzruohzp9nwqtddrmza2fqfxa Thể loại:Số từ tiếng Yonaguni 14 400152 2362824 2026-05-31T02:59:13Z WhoAlone 40420 Trang mới: “{{auto cat}}” 2362824 wikitext text/x-wiki {{auto cat}} eomzlm5v4j7ond1phrju7cnue91g5qx Thể loại:Danh từ riêng tiếng Hán trung cổ 14 400153 2362825 2026-05-31T02:59:44Z WhoAlone 40420 Trang mới: “{{auto cat}}” 2362825 wikitext text/x-wiki {{auto cat}} eomzlm5v4j7ond1phrju7cnue91g5qx Thể loại:Danh từ riêng tiếng Hán thượng cổ 14 400154 2362826 2026-05-31T02:59:47Z WhoAlone 40420 Trang mới: “{{auto cat}}” 2362826 wikitext text/x-wiki {{auto cat}} eomzlm5v4j7ond1phrju7cnue91g5qx Thể loại:Danh từ tiếng Hán trung cổ 14 400155 2362827 2026-05-31T03:00:30Z WhoAlone 40420 Trang mới: “{{auto cat}}” 2362827 wikitext text/x-wiki {{auto cat}} eomzlm5v4j7ond1phrju7cnue91g5qx Thể loại:Danh từ tiếng Hán thượng cổ 14 400156 2362828 2026-05-31T03:00:34Z WhoAlone 40420 Trang mới: “{{auto cat}}” 2362828 wikitext text/x-wiki {{auto cat}} eomzlm5v4j7ond1phrju7cnue91g5qx આંતરવિગ્રહ 0 400157 2362829 2026-05-31T03:01:01Z Hiyuune 50834 + gu 2362829 wikitext text/x-wiki =={{langname|gu}}== ==={{ĐM|n}}=== {{gu-noun|g=m}} # [[nội chiến|Nội chiến]]. dohz4pe73le1afdq3q3od3bpfupm8ac Thể loại:Động từ tiếng Hán thượng cổ 14 400158 2362830 2026-05-31T03:01:15Z WhoAlone 40420 Trang mới: “{{auto cat}}” 2362830 wikitext text/x-wiki {{auto cat}} eomzlm5v4j7ond1phrju7cnue91g5qx Thể loại:Tính từ tiếng Hán thượng cổ 14 400159 2362831 2026-05-31T03:01:18Z WhoAlone 40420 Trang mới: “{{auto cat}}” 2362831 wikitext text/x-wiki {{auto cat}} eomzlm5v4j7ond1phrju7cnue91g5qx Thể loại:Động từ tiếng Hán trung cổ 14 400160 2362832 2026-05-31T03:02:32Z WhoAlone 40420 Trang mới: “{{auto cat}}” 2362832 wikitext text/x-wiki {{auto cat}} eomzlm5v4j7ond1phrju7cnue91g5qx oʻttiz 0 400161 2362833 2026-05-31T03:27:42Z Kelly zhrm 58416 Trang mới: “=={{langname|uz}}== {{number box|uz|30}} ==={{ĐM|etym}}=== Từ {{inh|uz|trk-pro|*otuŕ|t=ba mươi}}. ==={{ĐM|numeral}}=== {{head|uz|Số từ}} # {{cln|uz|Số đếm}} [[ba mươi|Ba mươi]].” 2362833 wikitext text/x-wiki =={{langname|uz}}== {{number box|uz|30}} ==={{ĐM|etym}}=== Từ {{inh|uz|trk-pro|*otuŕ|t=ba mươi}}. ==={{ĐM|numeral}}=== {{head|uz|Số từ}} # {{cln|uz|Số đếm}} [[ba mươi|Ba mươi]]. mdul23267ap4j89r50p9lt8vyvmz26j Thể loại:Từ dẫn xuất từ tiếng Chagatai tiếng Uzbek 14 400162 2362836 2026-05-31T03:32:03Z Kelly zhrm 58416 Trang mới: “{{auto cat}}” 2362836 wikitext text/x-wiki {{auto cat}} eomzlm5v4j7ond1phrju7cnue91g5qx Thể loại:Từ kế thừa từ tiếng Chagatai tiếng Uzbek 14 400163 2362837 2026-05-31T03:34:17Z Kelly zhrm 58416 Trang mới: “{{auto cat}}” 2362837 wikitext text/x-wiki {{auto cat}} eomzlm5v4j7ond1phrju7cnue91g5qx ユーチ 0 400164 2362839 2026-05-31T03:35:25Z WhoAlone 40420 Trang mới: “=={{langname|ryu}}== ==={{ĐM|num}}=== {{ryu-head|numeral}} # [[bốn]].” 2362839 wikitext text/x-wiki =={{langname|ryu}}== ==={{ĐM|num}}=== {{ryu-head|numeral}} # [[bốn]]. r8qd8srimj5m13ym6t2eyg87n0wzqq5 ヤーチ 0 400165 2362843 2026-05-31T03:36:39Z WhoAlone 40420 Trang mới: “=={{langname|ryu}}== ==={{ĐM|num}}=== {{ryu-head|numeral}} # [[tám]].” 2362843 wikitext text/x-wiki =={{langname|ryu}}== ==={{ĐM|num}}=== {{ryu-head|numeral}} # [[tám]]. sb6m155mhfnf07eiqd2amfldgt6zi4f ククヌチ 0 400166 2362844 2026-05-31T03:38:22Z WhoAlone 40420 Trang mới: “=={{langname|ryu}}== ==={{ĐM|num}}=== {{ryu-head|numeral}} # [[chín]].” 2362844 wikitext text/x-wiki =={{langname|ryu}}== ==={{ĐM|num}}=== {{ryu-head|numeral}} # [[chín]]. ckg061zf9hqa8teshs93u0urvd6aqvj トゥー 0 400167 2362845 2026-05-31T03:38:48Z WhoAlone 40420 Trang mới: “=={{langname|ryu}}== ==={{ĐM|num}}=== {{ryu-head|numeral}} # [[mười]].” 2362845 wikitext text/x-wiki =={{langname|ryu}}== ==={{ĐM|num}}=== {{ryu-head|numeral}} # [[mười]]. jmwh6sppbshcyhp4a777rif1nygr78r あーけーずー 0 400168 2362846 2026-05-31T03:42:48Z WhoAlone 40420 Trang mới: “=={{langname|ryu}}== ==={{ĐM|noun}}=== {{ryu-head|noun}} # {{ryu-def|秋津}} [[chuồn chuồn]].” 2362846 wikitext text/x-wiki =={{langname|ryu}}== ==={{ĐM|noun}}=== {{ryu-head|noun}} # {{ryu-def|秋津}} [[chuồn chuồn]]. stdfqt83zmhvprdvdp0lzuwy776s9sn 上がい太陽 0 400169 2362847 2026-05-31T03:43:34Z WhoAlone 40420 Trang mới: “=={{langname|ja}}== {{ryu-kanjitab|あ|てぃーだ2|yomi=k,juku2}} ==={{ĐM|noun}}=== {{ryu-head|noun|あがいてぃーだ}} # {{alt form|ryu|上がい天道}}” 2362847 wikitext text/x-wiki =={{langname|ja}}== {{ryu-kanjitab|あ|てぃーだ2|yomi=k,juku2}} ==={{ĐM|noun}}=== {{ryu-head|noun|あがいてぃーだ}} # {{alt form|ryu|上がい天道}} m8o3inxpospq4qs0tx5k3e8qck10lbq 上がい天道 0 400170 2362848 2026-05-31T03:46:21Z WhoAlone 40420 Trang mới: “=={{langname|ryu}}== {{ryu-kanjitab|あ|てぃーだ2|yomi=k,juku2|alt=上がい太陽}} ==={{ĐM|etym}}=== Ghép từ {{com|ryu|上がい|tr1=agai|pos1={{mention|ja|連用形|tr=ren'yōkei|t=dạng tiếp diễn hoặc dạng gốc}} của {{mention|ryu|上がゆん|tr=agayun|t=mọc}}|{{mention|ryu|天道|sc=Latn}}, {{mention|ryu|太陽|sc=Latn}}|tr2=tīda|t2=mặt trời}}. ==={{ĐM|pron}}=== * {{IPA4|ryu|/ʔaɡaitiːda/}} *: Trọng âm âm vực 1. ==={{ĐM|noun}}…” 2362848 wikitext text/x-wiki =={{langname|ryu}}== {{ryu-kanjitab|あ|てぃーだ2|yomi=k,juku2|alt=上がい太陽}} ==={{ĐM|etym}}=== Ghép từ {{com|ryu|上がい|tr1=agai|pos1={{mention|ja|連用形|tr=ren'yōkei|t=dạng tiếp diễn hoặc dạng gốc}} của {{mention|ryu|上がゆん|tr=agayun|t=mọc}}|{{mention|ryu|天道|sc=Latn}}, {{mention|ryu|太陽|sc=Latn}}|tr2=tīda|t2=mặt trời}}. ==={{ĐM|pron}}=== * {{IPA4|ryu|/ʔaɡaitiːda/}} *: Trọng âm âm vực 1. ==={{ĐM|noun}}=== {{ryu-head|noun|あがいてぃーだ}} # [[mặt trời]] [[mọc]]. ==={{ĐM|ref}}=== * {{R:Okinawago Jiten}} jif1xm7x7hlgvasxnageq4zwdung2on あさってぃ 0 400171 2362849 2026-05-31T03:53:11Z WhoAlone 40420 Trang mới: “=={{langname|ryu}}== ==={{ĐM|noun}}=== {{ryu-head|noun}} # {{ryu-def|明後日}} [[ngày kia]].” 2362849 wikitext text/x-wiki =={{langname|ryu}}== ==={{ĐM|noun}}=== {{ryu-head|noun}} # {{ryu-def|明後日}} [[ngày kia]]. 1qxhx03duaxw5xd81o0ysi2d4qbgwpj 2362858 2362849 2026-05-31T04:08:28Z WhoAlone 40420 2362858 wikitext text/x-wiki =={{langname|ryu}}== ==={{ĐM|noun}}=== {{ryu-head|noun}} # {{ryu-def|明後日}} [[ngày kia]]. =={{langname|yoi}}== ==={{ĐM|noun}}=== {{yoi-head|noun}} # {{label|yoi|Sonai}} {{rys-def|明後日}} [[ngày kia]]. # {{label|yoi|Sonai}} {{rys-def|明後日}} [[hai]] [[ngày]] [[sau]]. 4121wnk0s06bznc3j6ons5qdyw36u0o 2362859 2362858 2026-05-31T04:10:37Z WhoAlone 40420 2362859 wikitext text/x-wiki =={{langname|ryu}}== ==={{ĐM|noun}}=== {{ryu-head|noun}} # {{ryu-def|明後日}} [[ngày kia]]. =={{langname|yoi}}== ==={{ĐM|noun}}=== {{yoi-head|noun}} # {{label|yoi|Sonai}} {{yoi-def|明後日}} [[ngày kia]]. # {{label|yoi|Sonai}} {{yoi-def|明後日}} [[hai]] [[ngày]] [[sau]]. 5lepmf6bm30dnbj9i4g9zhlpd3lv9jo あくひち 0 400172 2362850 2026-05-31T03:53:53Z WhoAlone 40420 Trang mới: “=={{langname|ryu}}== ==={{ĐM|noun}}=== {{ryu-head|noun}} # {{ryu-def|悪筆}} [[chữ viết]] [[tay]] [[cẩu thả]].” 2362850 wikitext text/x-wiki =={{langname|ryu}}== ==={{ĐM|noun}}=== {{ryu-head|noun}} # {{ryu-def|悪筆}} [[chữ viết]] [[tay]] [[cẩu thả]]. 2iae26gtrk455pjkb5mphy08fl8vh45 悪筆 0 400173 2362851 2026-05-31T03:55:56Z WhoAlone 40420 Trang mới: “{{also|惡筆}} =={{langname|ja}}== {{ja-kanjitab|あく|ひつ|yomi=o}} ==={{ĐM|pron}}=== {{ja-pron|あくひつ|acc=0|acc_ref=DJR}} ==={{ĐM|noun}}=== {{ja-noun|あくひつ|hhira=あくひつ}} # [[chữ viết]] [[tay]] [[cẩu thả]]. ==={{ĐM|ref}}=== <references /> :* {{R:Kanjipedia Kotoba|0000045800}} {{C|ja|Thư pháp}} =={{langname|ryu}}== {{ryu-kanjitab|あく|ひち|yomi=o}} ==={{ĐM|pron}}=== {{ryu-pron|あくひち}} ==={{ĐM|noun}}=== {{ryu-noun|…” 2362851 wikitext text/x-wiki {{also|惡筆}} =={{langname|ja}}== {{ja-kanjitab|あく|ひつ|yomi=o}} ==={{ĐM|pron}}=== {{ja-pron|あくひつ|acc=0|acc_ref=DJR}} ==={{ĐM|noun}}=== {{ja-noun|あくひつ|hhira=あくひつ}} # [[chữ viết]] [[tay]] [[cẩu thả]]. ==={{ĐM|ref}}=== <references /> :* {{R:Kanjipedia Kotoba|0000045800}} {{C|ja|Thư pháp}} =={{langname|ryu}}== {{ryu-kanjitab|あく|ひち|yomi=o}} ==={{ĐM|pron}}=== {{ryu-pron|あくひち}} ==={{ĐM|noun}}=== {{ryu-noun|あくひち}} # [[chữ viết]] [[tay]] [[cẩu thả]]. ==={{ĐM|ref}}=== * {{R:JLect|あくひち【悪筆・惡筆】|7815/akuhichi}} {{C|ryu|Thư pháp}} 5h23u3msxlb3g2rjgwyec7bvk49ucp5 惡筆 0 400174 2362852 2026-05-31T03:56:49Z WhoAlone 40420 Trang mới: “{{also|悪筆}} =={{langname|ko}}== {{ko-hanjatab}} ==={{ĐM|noun}}=== {{ko-noun|hangeul=악필}} # {{hanja form of|악필|[[chữ viết]] [[tay]] [[cẩu thả]]}}” 2362852 wikitext text/x-wiki {{also|悪筆}} =={{langname|ko}}== {{ko-hanjatab}} ==={{ĐM|noun}}=== {{ko-noun|hangeul=악필}} # {{hanja form of|악필|[[chữ viết]] [[tay]] [[cẩu thả]]}} ff0jb6d31ahoyz301uhg9azacpq9006 악필 0 400175 2362853 2026-05-31T03:57:58Z WhoAlone 40420 Trang mới: “=={{langname|ko}}== ==={{ĐM|etym}}=== {{ko-etym-sino|惡筆}}. ==={{ĐM|pron}}=== {{ko-IPA}} ==={{ĐM|noun}}=== {{ko-noun|hanja=惡筆}} # [[chữ viết]] [[tay]] [[cẩu thả]].” 2362853 wikitext text/x-wiki =={{langname|ko}}== ==={{ĐM|etym}}=== {{ko-etym-sino|惡筆}}. ==={{ĐM|pron}}=== {{ko-IPA}} ==={{ĐM|noun}}=== {{ko-noun|hanja=惡筆}} # [[chữ viết]] [[tay]] [[cẩu thả]]. kaf46ib0fkm5brjbvuxktmviglibfss あくひつ 0 400176 2362854 2026-05-31T03:59:53Z WhoAlone 40420 Trang mới: “=={{langname|ja}}== {{ja-see|悪筆}}” 2362854 wikitext text/x-wiki =={{langname|ja}}== {{ja-see|悪筆}} ckblxa3vl7nrnvl27kmfdxnamnd6g40 akuhitsu 0 400177 2362855 2026-05-31T04:00:26Z WhoAlone 40420 Trang mới: “=={{langname|ja}}== ==={{ĐM|rom}}=== {{ja-rom}} # {{ja-rom of|あくひつ}}” 2362855 wikitext text/x-wiki =={{langname|ja}}== ==={{ĐM|rom}}=== {{ja-rom}} # {{ja-rom of|あくひつ}} qdyuhd27mk7fv3o3yf7124620jlvpiw あすぅとぅ 0 400178 2362856 2026-05-31T04:06:03Z WhoAlone 40420 Trang mới: “=={{langname|rys}}== ==={{ĐM|noun}}=== {{rys-head|noun}} # {{label|rys|Hateruma}} {{rys-def|明後日}} [[ngày kia]].” 2362856 wikitext text/x-wiki =={{langname|rys}}== ==={{ĐM|noun}}=== {{rys-head|noun}} # {{label|rys|Hateruma}} {{rys-def|明後日}} [[ngày kia]]. 1vqca81gckexooffpcu2rmgopda96fj はすぃてぃ 0 400179 2362857 2026-05-31T04:06:52Z WhoAlone 40420 Trang mới: “=={{langname|rys}}== ==={{ĐM|noun}}=== {{rys-head|noun}} # {{label|rys|Kabira}} {{rys-def|明後日}} [[ngày kia]].” 2362857 wikitext text/x-wiki =={{langname|rys}}== ==={{ĐM|noun}}=== {{rys-head|noun}} # {{label|rys|Kabira}} {{rys-def|明後日}} [[ngày kia]]. 6cc9ev62jc1qvbv88eg00xmh8hwr4d3 あすとぅ 0 400180 2362860 2026-05-31T04:10:50Z WhoAlone 40420 Trang mới: “=={{langname|mvi}}== ==={{ĐM|noun}}=== {{mvi-head|noun}} # {{label|mvi|Minna}} {{mvi-def|明後日}} [[ngày kia]].” 2362860 wikitext text/x-wiki =={{langname|mvi}}== ==={{ĐM|noun}}=== {{mvi-head|noun}} # {{label|mvi|Minna}} {{mvi-def|明後日}} [[ngày kia]]. fm1rmn7ve670xi0wifilavv54zzlj3w あすてぃ 0 400181 2362861 2026-05-31T04:11:20Z WhoAlone 40420 Trang mới: “=={{langname|mvi}}== ==={{ĐM|noun}}=== {{mvi-head|noun}} # {{label|mvi|Sunagawa}} {{mvi-def|明後日}} [[ngày kia]].” 2362861 wikitext text/x-wiki =={{langname|mvi}}== ==={{ĐM|noun}}=== {{mvi-head|noun}} # {{label|mvi|Sunagawa}} {{mvi-def|明後日}} [[ngày kia]]. 9lrtumqcgse4abcaxbela1299to4d0u あさてぃ 0 400182 2362862 2026-05-31T04:13:27Z WhoAlone 40420 Trang mới: “=={{langname|mvi}}== ==={{ĐM|noun}}=== {{mvi-head|noun}} # {{label|mvi|Ikema Nishihara}} {{mvi-def|明後日}} [[ngày kia]]. =={{langname|okn}}== ==={{ĐM|noun}}=== {{okn-head|noun}} # {{okn-def|明後日}} [[ngày kia]].” 2362862 wikitext text/x-wiki =={{langname|mvi}}== ==={{ĐM|noun}}=== {{mvi-head|noun}} # {{label|mvi|Ikema Nishihara}} {{mvi-def|明後日}} [[ngày kia]]. =={{langname|okn}}== ==={{ĐM|noun}}=== {{okn-head|noun}} # {{okn-def|明後日}} [[ngày kia]]. lpac9uu3n0ve1z5he2rgc0e09sbp1dc ‘アサティ 0 400183 2362863 2026-05-31T04:14:12Z WhoAlone 40420 Trang mới: “=={{langname|kzg}}== ==={{ĐM|noun}}=== {{kzg-head|noun}} # {{kzg-def|明後日}} [[ngày kia]].” 2362863 wikitext text/x-wiki =={{langname|kzg}}== ==={{ĐM|noun}}=== {{kzg-head|noun}} # {{kzg-def|明後日}} [[ngày kia]]. 0ipvxwto1bec05lpa5tvlo9o734p1vb ふぃさ 0 400184 2362864 2026-05-31T04:16:05Z WhoAlone 40420 Trang mới: “=={{langname|ryu}}== ==={{ĐM|noun}}== {{ryu-head|noun}} # {{ryu-def|足}} [[bàn chân]].” 2362864 wikitext text/x-wiki =={{langname|ryu}}== ==={{ĐM|noun}}== {{ryu-head|noun}} # {{ryu-def|足}} [[bàn chân]]. lax9gve486219rodj6jysdv2txkqjt3 2362865 2362864 2026-05-31T04:16:13Z WhoAlone 40420 2362865 wikitext text/x-wiki =={{langname|ryu}}== ==={{ĐM|noun}}=== {{ryu-head|noun}} # {{ryu-def|足}} [[bàn chân]]. h40k04rb6swtbg3qmnbewjem44oivms あちゃー 0 400185 2362866 2026-05-31T04:17:38Z WhoAlone 40420 Trang mới: “=={{langname|ryu}}== ==={{ĐM|noun}}=== {{ryu-head|noun}} # {{ryu-def|明日}} [[ngày mai]].” 2362866 wikitext text/x-wiki =={{langname|ryu}}== ==={{ĐM|noun}}=== {{ryu-head|noun}} # {{ryu-def|明日}} [[ngày mai]]. kh8s1fqb7witwprr3su5hkloo9155lf いー 0 400186 2362869 2026-05-31T04:23:45Z WhoAlone 40420 Trang mới: “=={{langname|ryu}}== ==={{ĐM|noun}}=== {{ryu-head|noun}} # {{ryu-def|衣}} [[quần áo]].” 2362869 wikitext text/x-wiki =={{langname|ryu}}== ==={{ĐM|noun}}=== {{ryu-head|noun}} # {{ryu-def|衣}} [[quần áo]]. 1c9e70vtuwd3ny3suk2kjr82jeysdop いーちゅー 0 400187 2362870 2026-05-31T04:25:49Z WhoAlone 40420 Trang mới: “=={{langname|ryu}}== ==={{ĐM|noun}}=== {{ryu-head|noun}} # {{ryu-def|糸}} Sợi [[chỉ]].” 2362870 wikitext text/x-wiki =={{langname|ryu}}== ==={{ĐM|noun}}=== {{ryu-head|noun}} # {{ryu-def|糸}} Sợi [[chỉ]]. 7pp6t9mkbnckc8q8k4pegufak92qqok ぬち 0 400188 2362872 2026-05-31T04:29:28Z WhoAlone 40420 Trang mới: “=={{langname|ryu}}== ==={{ĐM|noun}}=== {{ryu-head|noun}} # {{ryu-def|命}} [[cuộc sống]].” 2362872 wikitext text/x-wiki =={{langname|ryu}}== ==={{ĐM|noun}}=== {{ryu-head|noun}} # {{ryu-def|命}} [[cuộc sống]]. ptw9t2i1ryqnclpliscuhr4m5ovfrc1 いゆまち 0 400189 2362873 2026-05-31T04:30:21Z WhoAlone 40420 Trang mới: “=={{langname|ryu}}== ==={{ĐM|noun}}=== {{ryu-head|noun}} # {{ryu-def|魚町}} [[chợ]] [[cá]].” 2362873 wikitext text/x-wiki =={{langname|ryu}}== ==={{ĐM|noun}}=== {{ryu-head|noun}} # {{ryu-def|魚町}} [[chợ]] [[cá]]. gm5vogv2ew26ibnylc7tea1tg1axzag いりかじ 0 400190 2362874 2026-05-31T04:31:12Z WhoAlone 40420 Trang mới: “=={{langname|ryu}}== ==={{ĐM|noun}}=== {{ryu-head|noun}} # {{ryu-def|西風}} [[gió tây]].” 2362874 wikitext text/x-wiki =={{langname|ryu}}== ==={{ĐM|noun}}=== {{ryu-head|noun}} # {{ryu-def|西風}} [[gió tây]]. 901dywa50tfjkhzykaelfvr0ncqnvh9 ゐきが 0 400191 2362876 2026-05-31T04:32:52Z WhoAlone 40420 Trang mới: “=={{langname|ryu}}== ==={{ĐM|pron}}=== * {{IPA4|ryu|[(w)ikiɡa]}} ==={{ĐM|noun}}=== {{ryu-head|noun}} # {{ryu-def|男}} [[đàn ông]]. ==={{ĐM|ref}}=== * {{R:JLect|ゐきが【男】|103|wikiga}}” 2362876 wikitext text/x-wiki =={{langname|ryu}}== ==={{ĐM|pron}}=== * {{IPA4|ryu|[(w)ikiɡa]}} ==={{ĐM|noun}}=== {{ryu-head|noun}} # {{ryu-def|男}} [[đàn ông]]. ==={{ĐM|ref}}=== * {{R:JLect|ゐきが【男】|103|wikiga}} is92t9dve8ll4u9rx5wtgcnwq7nb6pf ゆきが 0 400192 2362877 2026-05-31T04:33:37Z WhoAlone 40420 Trang mới: “=={{langname|ryu}}== ==={{ĐM|noun}}=== {{ryu-head|noun}} # {{ryu-def|男}} [[đàn ông]].” 2362877 wikitext text/x-wiki =={{langname|ryu}}== ==={{ĐM|noun}}=== {{ryu-head|noun}} # {{ryu-def|男}} [[đàn ông]]. b02ag7j4qgsv2azasf1zi04wzf6vs1w うぅとぅく 0 400193 2362878 2026-05-31T04:33:54Z WhoAlone 40420 Trang mới: “=={{langname|ryu}}== ==={{ĐM|noun}}=== {{ryu-head|noun}} # {{label|ryu|literary}} {{ryu-def|男}} [[đàn ông]].” 2362878 wikitext text/x-wiki =={{langname|ryu}}== ==={{ĐM|noun}}=== {{ryu-head|noun}} # {{label|ryu|literary}} {{ryu-def|男}} [[đàn ông]]. 63jibgrsudjljrm2lhrkzkq55ajvtba うーび 0 400194 2362879 2026-05-31T04:37:54Z WhoAlone 40420 Trang mới: “=={{langname|ryu}}== ==={{ĐM|noun}}=== {{ryu-head|noun}} # {{ryu-def|帯}} [[dải]] [[băng]].” 2362879 wikitext text/x-wiki =={{langname|ryu}}== ==={{ĐM|noun}}=== {{ryu-head|noun}} # {{ryu-def|帯}} [[dải]] [[băng]]. pxmfl9lf86zlugbj8ezotxptyfr1hv9 うしゅー 0 400195 2362880 2026-05-31T04:39:01Z WhoAlone 40420 Trang mới: “=={{langname|ryu}}== ==={{ĐM|noun}}=== {{ryu-head|noun}} # {{ryu-def|御主}} [[vua]] [[Lưu Cầu]].” 2362880 wikitext text/x-wiki =={{langname|ryu}}== ==={{ĐM|noun}}=== {{ryu-head|noun}} # {{ryu-def|御主}} [[vua]] [[Lưu Cầu]]. ktn3rfjq813jgy2500m8mc8lzxtpwgl うすー 0 400196 2362881 2026-05-31T04:39:21Z WhoAlone 40420 Trang mới: “=={{langname|ryu}}== ==={{ĐM|noun}}=== {{ryu-head|noun}} # {{ryu-def|御主}} [[vua]] [[Lưu Cầu]].” 2362881 wikitext text/x-wiki =={{langname|ryu}}== ==={{ĐM|noun}}=== {{ryu-head|noun}} # {{ryu-def|御主}} [[vua]] [[Lưu Cầu]]. ktn3rfjq813jgy2500m8mc8lzxtpwgl うぶく 0 400197 2362882 2026-05-31T04:40:43Z WhoAlone 40420 Trang mới: “=={{langname|ryu}}== ==={{ĐM|noun}}=== {{ryu-head|noun}} # {{ryu-def|御仏供}} [[đồ]] [[cúng]] [[Phật]] (thường là [[cơm]]).” 2362882 wikitext text/x-wiki =={{langname|ryu}}== ==={{ĐM|noun}}=== {{ryu-head|noun}} # {{ryu-def|御仏供}} [[đồ]] [[cúng]] [[Phật]] (thường là [[cơm]]). f5tkmr4kf6tup6omkztnj6dfylb42w8 うふやー 0 400198 2362883 2026-05-31T04:42:05Z WhoAlone 40420 Trang mới: “=={{langname|ryu}}== ==={{ĐM|noun}}=== {{ryu-head|noun}} # {{ryu-def|大家}} [[chủ]] [[đất]].” 2362883 wikitext text/x-wiki =={{langname|ryu}}== ==={{ĐM|noun}}=== {{ryu-head|noun}} # {{ryu-def|大家}} [[chủ]] [[đất]]. ollxpxut8mkznpbfj2s0hflfxcs3o6s うぶるずぃち 0 400199 2362884 2026-05-31T04:42:52Z WhoAlone 40420 Trang mới: “=={{langname|ryu}}== ==={{ĐM|noun}}=== {{ryu-head|noun}} # {{ryu-def|朧月}} [[trăng]] trong đêm [[mờ ảo]].” 2362884 wikitext text/x-wiki =={{langname|ryu}}== ==={{ĐM|noun}}=== {{ryu-head|noun}} # {{ryu-def|朧月}} [[trăng]] trong đêm [[mờ ảo]]. 555jaqwfiqkpo8d45xwtdnhg7qugmdg っんまりびー 0 400200 2362885 2026-05-31T05:05:52Z WhoAlone 40420 Trang mới: “=={{langname|ryu}}== ==={{ĐM|pron}}=== * {{IPA4|ryu|/ʔm̩maɾibiː/}} ==={{ĐM|noun}}=== {{ryu-head|noun}} # {{ryu-def|生日|生まり日}} [[sinh nhật]].” 2362885 wikitext text/x-wiki =={{langname|ryu}}== ==={{ĐM|pron}}=== * {{IPA4|ryu|/ʔm̩maɾibiː/}} ==={{ĐM|noun}}=== {{ryu-head|noun}} # {{ryu-def|生日|生まり日}} [[sinh nhật]]. 2gwq75q2jv7ujw08gzzltiv57tuycm0 がくしー 0 400201 2362886 2026-05-31T05:07:49Z WhoAlone 40420 Trang mới: “=={{langname|ryu}}== ==={{ĐM|noun}}=== {{ryu-head|noun}} # {{ryu-def|学生}} [[sinh nhật]].” 2362886 wikitext text/x-wiki =={{langname|ryu}}== ==={{ĐM|noun}}=== {{ryu-head|noun}} # {{ryu-def|学生}} [[sinh nhật]]. 7kax5iobtl5dsbxrr9ug6ajf4h1ao2u かさ 0 400202 2362887 2026-05-31T05:09:54Z WhoAlone 40420 Trang mới: “=={{langname|ja}}== {{ja-see|傘|笠|暈|瘡|嵩|毬|梂|過差}} =={{langname|ryu}}== ==={{ĐM|noun}}=== {{ryu-head|noun}} # {{ryu-def|傘}} Cái [[ô]].” 2362887 wikitext text/x-wiki =={{langname|ja}}== {{ja-see|傘|笠|暈|瘡|嵩|毬|梂|過差}} =={{langname|ryu}}== ==={{ĐM|noun}}=== {{ryu-head|noun}} # {{ryu-def|傘}} Cái [[ô]]. 1aszog1jpvior2svl4ppbq2wb9yszwy がっこー 0 400203 2362888 2026-05-31T05:10:40Z WhoAlone 40420 Trang mới: “=={{langname|ryu}}== ==={{ĐM|noun}}=== {{ryu-head|noun}} # {{ryu-def|学校}} [[trường học]].” 2362888 wikitext text/x-wiki =={{langname|ryu}}== ==={{ĐM|noun}}=== {{ryu-head|noun}} # {{ryu-def|学校}} [[trường học]]. 8bxy8gi6mx4awerkq77adrjv7umtz5v がに 0 400204 2362889 2026-05-31T05:12:05Z WhoAlone 40420 Trang mới: “=={{langname|ryu}}== ==={{ĐM|noun}}=== {{ryu-head|noun}} # {{ryu-def|蟹}} [[cua]].” 2362889 wikitext text/x-wiki =={{langname|ryu}}== ==={{ĐM|noun}}=== {{ryu-head|noun}} # {{ryu-def|蟹}} [[cua]]. nol5eabt6urnytnkbat02hyeq4wbip5 かみ 0 400205 2362890 2026-05-31T05:12:40Z WhoAlone 40420 Trang mới: “=={{langname|ryu}}== ==={{ĐM|noun}}=== {{ryu-head|noun}} # {{ryu-def|神}} [[linh hồn]], [[thần linh]].” 2362890 wikitext text/x-wiki =={{langname|ryu}}== ==={{ĐM|noun}}=== {{ryu-head|noun}} # {{ryu-def|神}} [[linh hồn]], [[thần linh]]. lc1ilvqp0oqb6vilalotmvkwo2cwpzb かみふとぅき 0 400206 2362891 2026-05-31T05:15:11Z WhoAlone 40420 Trang mới: “=={{langname|ryu}}== ==={{ĐM|noun}}=== {{ryu-head|noun}} # {{ryu-def|神仏}} [[thần]] [[Phật]].” 2362891 wikitext text/x-wiki =={{langname|ryu}}== ==={{ĐM|noun}}=== {{ryu-head|noun}} # {{ryu-def|神仏}} [[thần]] [[Phật]]. 3m43dh7fxcrg2zgmwlbj19uestn939r がらし 0 400207 2362892 2026-05-31T05:16:08Z WhoAlone 40420 Trang mới: “{{also|からし}} =={{langname|ryu}}== ==={{ĐM|noun}}=== {{ryu-head|noun}} # {{ryu-def|烏|鴉}} [[quạ]]. =={{langname|okn}}== ==={{ĐM|noun}}=== {{okn-head|noun}} # {{okn-def|烏|鴉}} [[quạ]].” 2362892 wikitext text/x-wiki {{also|からし}} =={{langname|ryu}}== ==={{ĐM|noun}}=== {{ryu-head|noun}} # {{ryu-def|烏|鴉}} [[quạ]]. =={{langname|okn}}== ==={{ĐM|noun}}=== {{okn-head|noun}} # {{okn-def|烏|鴉}} [[quạ]]. q7s57y6fvk1gtgvsqi4l57xc5p0ubpm Thể loại:Danh từ giống đực tiếng Gujarat 14 400208 2362893 2026-05-31T05:16:18Z TheHighFighter2 42988 Trang mới: “{{auto cat}}” 2362893 wikitext text/x-wiki {{auto cat}} eomzlm5v4j7ond1phrju7cnue91g5qx からた 0 400209 2362894 2026-05-31T05:17:43Z WhoAlone 40420 Trang mới: “=={{langname|ryu}}== ==={{ĐM|noun}}=== {{ryu-head|noun}} # {{ryu-def|体}} [[cơ thể]].” 2362894 wikitext text/x-wiki =={{langname|ryu}}== ==={{ĐM|noun}}=== {{ryu-head|noun}} # {{ryu-def|体}} [[cơ thể]]. n3cv69xoigvjyo2alvk9segbvs16f58 đầu thai 0 400210 2362923 2026-05-31T07:07:54Z Trong Dang 52461 Trang mới: “=={{langname|vi}}== ==={{ĐM|etym}}=== {{vi-etym-sino|投胎}}. ==={{ĐM|pron}}=== {{vi-IPA}} ==={{ĐM|verb}}=== {{vi-verb}} # [[nhập|Nhập]] vào một cái [[thai]] để sinh ra thành [[kiếp]] khác (theo thuyết [[luân hồi]] của [[đạo Phật]]). ==={{ĐM|ref}}=== * {{R:Tratu}}” 2362923 wikitext text/x-wiki =={{langname|vi}}== ==={{ĐM|etym}}=== {{vi-etym-sino|投胎}}. ==={{ĐM|pron}}=== {{vi-IPA}} ==={{ĐM|verb}}=== {{vi-verb}} # [[nhập|Nhập]] vào một cái [[thai]] để sinh ra thành [[kiếp]] khác (theo thuyết [[luân hồi]] của [[đạo Phật]]). ==={{ĐM|ref}}=== * {{R:Tratu}} k6gqzgb2xrd53gynx0u5e8qdgzxy6v3 cô nương 0 400211 2362924 2026-05-31T07:10:28Z Trong Dang 52461 Trang mới: “=={{langname|vi}}== ==={{ĐM|etym}}=== {{vi-etym-sino|姑娘}}. ==={{ĐM|pron}}=== {{vi-IPA}} ==={{ĐM|noun}}=== {{vi-noun}} # {{nhãn|vi|từ cũ|văn chương}} Từ dùng để gọi người [[con gái]] với ý [[coi trọng]] #: {{ux|vi|Mời '''cô nương''' lên xe.}} #: {{ux|vi|Quý '''cô nương'''.}} ==={{ĐM|ref}}=== * {{R:Tratu}}” 2362924 wikitext text/x-wiki =={{langname|vi}}== ==={{ĐM|etym}}=== {{vi-etym-sino|姑娘}}. ==={{ĐM|pron}}=== {{vi-IPA}} ==={{ĐM|noun}}=== {{vi-noun}} # {{nhãn|vi|từ cũ|văn chương}} Từ dùng để gọi người [[con gái]] với ý [[coi trọng]] #: {{ux|vi|Mời '''cô nương''' lên xe.}} #: {{ux|vi|Quý '''cô nương'''.}} ==={{ĐM|ref}}=== * {{R:Tratu}} r716a2izcfc9q074j6j8d4btf63tyg7 thần giao cách cảm 0 400212 2362927 2026-05-31T07:15:38Z Trong Dang 52461 Trang mới: “=={{langname|vi}}== ==={{ĐM|etym}}=== {{vi-etym-sino|神交隔感}}. ==={{ĐM|pron}}=== {{vi-IPA}} ==={{ĐM|noun}}=== {{vi-noun}} # Sự [[truyền đạt]] và [[cảm nhận]] được các [[hiện tượng]] [[tâm lí]] (như [[cảm giác]], [[cảm xúc]], [[ý nghĩ]], [[hình ảnh]], v.v.) từ người này sang người khác qua một khoảng cách rất xa mà không nhờ tới một [[phương tiện]] [[thông tin]] [[kĩ thuật]] nào (không ph…” 2362927 wikitext text/x-wiki =={{langname|vi}}== ==={{ĐM|etym}}=== {{vi-etym-sino|神交隔感}}. ==={{ĐM|pron}}=== {{vi-IPA}} ==={{ĐM|noun}}=== {{vi-noun}} # Sự [[truyền đạt]] và [[cảm nhận]] được các [[hiện tượng]] [[tâm lí]] (như [[cảm giác]], [[cảm xúc]], [[ý nghĩ]], [[hình ảnh]], v.v.) từ người này sang người khác qua một khoảng cách rất xa mà không nhờ tới một [[phương tiện]] [[thông tin]] [[kĩ thuật]] nào (không phải bằng [[thư từ]], [[điện báo]], [[điện thoại]], v.v.). ==={{ĐM|ref}}=== * {{R:Tratu}} 21ozkgzyw2a3grvhd41b8o0varn25in đấu tranh tư tưởng 0 400213 2362931 2026-05-31T07:20:31Z Trong Dang 52461 Trang mới: “=={{langname|vi}}== ==={{ĐM|pron}}=== {{vi-IPA}} ==={{ĐM|noun}}=== {{vi-noun|head=[[đấu tranh]] [[tư tưởng]]}} # [[hình thái|Hình thái]] [[đấu tranh]] [[giai cấp]] trên [[lĩnh vực]] [[tư tưởng]]. # Cuộc đấu tranh [[khắc phục]] những tư tưởng không đúng bằng [[phê bình]] và tự phê bình. ==={{ĐM|ref}}=== * {{R:Tratu}}” 2362931 wikitext text/x-wiki =={{langname|vi}}== ==={{ĐM|pron}}=== {{vi-IPA}} ==={{ĐM|noun}}=== {{vi-noun|head=[[đấu tranh]] [[tư tưởng]]}} # [[hình thái|Hình thái]] [[đấu tranh]] [[giai cấp]] trên [[lĩnh vực]] [[tư tưởng]]. # Cuộc đấu tranh [[khắc phục]] những tư tưởng không đúng bằng [[phê bình]] và tự phê bình. ==={{ĐM|ref}}=== * {{R:Tratu}} 8sn27inllcg5f6856gmdyct7t0f7rfr đầu trâu mặt ngựa 0 400214 2362932 2026-05-31T07:27:12Z Trong Dang 52461 Trang mới: “=={{langname|vi}}== ==={{ĐM|pron}}=== {{vi-IPA}} ==={{ĐM|idiom}}=== {{head|vi|idiom}} # [[ví|Ví]] những kẻ [[côn đồ]] [[hung ác]], không còn tính người. ==={{ĐM|ref}}=== * {{R:Tratu}}” 2362932 wikitext text/x-wiki =={{langname|vi}}== ==={{ĐM|pron}}=== {{vi-IPA}} ==={{ĐM|idiom}}=== {{head|vi|idiom}} # [[ví|Ví]] những kẻ [[côn đồ]] [[hung ác]], không còn tính người. ==={{ĐM|ref}}=== * {{R:Tratu}} 6en5748wr4556iaa2m3ps0znh6ej72l 2362933 2362932 2026-05-31T07:27:32Z Trong Dang 52461 /* Thành ngữ */ 2362933 wikitext text/x-wiki =={{langname|vi}}== ==={{ĐM|pron}}=== {{vi-IPA}} ==={{ĐM|idiom}}=== {{head|vi|Thành ngữ}} # [[ví|Ví]] những kẻ [[côn đồ]] [[hung ác]], không còn tính người. ==={{ĐM|ref}}=== * {{R:Tratu}} agxen491rlcraekb2xos8ggjtxjm8yo 2362956 2362933 2026-05-31T08:35:50Z Trong Dang 52461 /* Thành ngữ */ 2362956 wikitext text/x-wiki =={{langname|vi}}== ==={{ĐM|pron}}=== {{vi-IPA}} ==={{ĐM|idiom}}=== {{vi-idiom}} # [[ví|Ví]] những kẻ [[côn đồ]] [[hung ác]], không còn tính người. ==={{ĐM|ref}}=== * {{R:Tratu}} shk0bi5r9jcpwm8d0uweq92sbds0nym đầu trộm đuôi cướp 0 400215 2362934 2026-05-31T07:30:59Z Trong Dang 52461 Trang mới: “=={{langname|vi}}== ==={{ĐM|pron}}=== {{vi-IPA}} ==={{ĐM|idiom}}=== {{head|vi|Thành ngữ}} # Chỉ những kẻ chuyên nghề [[trộm cướp]]. #: {{ux|vi|Một bọn toàn những '''đầu trộm đuôi cướp'''.}} ==={{ĐM|ref}}=== * {{R:Tratu}}” 2362934 wikitext text/x-wiki =={{langname|vi}}== ==={{ĐM|pron}}=== {{vi-IPA}} ==={{ĐM|idiom}}=== {{head|vi|Thành ngữ}} # Chỉ những kẻ chuyên nghề [[trộm cướp]]. #: {{ux|vi|Một bọn toàn những '''đầu trộm đuôi cướp'''.}} ==={{ĐM|ref}}=== * {{R:Tratu}} pw5s3wq6q3j4thsb9ky56xqoy1jeez2 2362955 2362934 2026-05-31T08:35:40Z Trong Dang 52461 2362955 wikitext text/x-wiki =={{langname|vi}}== ==={{ĐM|pron}}=== {{vi-IPA}} ==={{ĐM|idiom}}=== {{vi-idiom}} # Chỉ những kẻ chuyên nghề [[trộm cướp]]. #: {{ux|vi|Một bọn toàn những '''đầu trộm đuôi cướp'''.}} ==={{ĐM|ref}}=== * {{R:Tratu}} bs38wsgc46jkzprg3f389jgh5mq3wtv ngàn cân treo sợi tóc 0 400216 2362935 2026-05-31T07:37:02Z Trong Dang 52461 Trang mới: “=={{langname|vi}}== ==={{ĐM|pron}}=== {{vi-IPA}} ==={{ĐM|idiom}}=== {{head|vi|Thành ngữ}} # [[ví|Ví]] [[tình thế]], [[tình trạng]] [[hết sức]] [[nguy ngập]], [[hiểm nghèo]], khó bề [[vượt qua]], [[cứu vãn]] nổi #: {{ux|vi|Vận mệnh đất nước đang '''ngàn cân treo sợi tóc'''.}} ===={{ĐM|syn}}==== * {{l|vi|nghìn cân treo sợi tóc}} ==={{ĐM|ref}}=== * {{R:Tratu}}” 2362935 wikitext text/x-wiki =={{langname|vi}}== ==={{ĐM|pron}}=== {{vi-IPA}} ==={{ĐM|idiom}}=== {{head|vi|Thành ngữ}} # [[ví|Ví]] [[tình thế]], [[tình trạng]] [[hết sức]] [[nguy ngập]], [[hiểm nghèo]], khó bề [[vượt qua]], [[cứu vãn]] nổi #: {{ux|vi|Vận mệnh đất nước đang '''ngàn cân treo sợi tóc'''.}} ===={{ĐM|syn}}==== * {{l|vi|nghìn cân treo sợi tóc}} ==={{ĐM|ref}}=== * {{R:Tratu}} 7gc648mzmvrlxpygg71jc18mdhb48jv 2362954 2362935 2026-05-31T08:35:31Z Trong Dang 52461 /* Thành ngữ */ 2362954 wikitext text/x-wiki =={{langname|vi}}== ==={{ĐM|pron}}=== {{vi-IPA}} ==={{ĐM|idiom}}=== {{vi-idiom}} # [[ví|Ví]] [[tình thế]], [[tình trạng]] [[hết sức]] [[nguy ngập]], [[hiểm nghèo]], khó bề [[vượt qua]], [[cứu vãn]] nổi #: {{ux|vi|Vận mệnh đất nước đang '''ngàn cân treo sợi tóc'''.}} ===={{ĐM|syn}}==== * {{l|vi|nghìn cân treo sợi tóc}} ==={{ĐM|ref}}=== * {{R:Tratu}} kbmerk82q3d4amvqq9vgezn3qicrmhz ăn chắc mặc bền 0 400217 2362937 2026-05-31T07:51:46Z Trong Dang 52461 Trang mới: “=={{langname|vi}}== ==={{ĐM|pron}}=== {{vi-IPA}} ==={{ĐM|idiom}}=== {{head|vi|Thành ngữ}} # Trong [[sinh hoạt]] thường ngày [[chú trọng]] về mặt [[chất lượng]] chứ không chú trọng đến vẻ [[hình thức]], [[bề ngoài]] (như ăn thì cần loại thức ăn [[chắc dạ]] còn mặc thì cần loại vải bền). ==={{ĐM|ref}}=== * {{R:Tratu}}” 2362937 wikitext text/x-wiki =={{langname|vi}}== ==={{ĐM|pron}}=== {{vi-IPA}} ==={{ĐM|idiom}}=== {{head|vi|Thành ngữ}} # Trong [[sinh hoạt]] thường ngày [[chú trọng]] về mặt [[chất lượng]] chứ không chú trọng đến vẻ [[hình thức]], [[bề ngoài]] (như ăn thì cần loại thức ăn [[chắc dạ]] còn mặc thì cần loại vải bền). ==={{ĐM|ref}}=== * {{R:Tratu}} ozondjjgk1w326tyxvg313xcelt5ngg 2362953 2362937 2026-05-31T08:35:19Z Trong Dang 52461 /* Thành ngữ */ 2362953 wikitext text/x-wiki =={{langname|vi}}== ==={{ĐM|pron}}=== {{vi-IPA}} ==={{ĐM|idiom}}=== {{vi-idiom}} # Trong [[sinh hoạt]] thường ngày [[chú trọng]] về mặt [[chất lượng]] chứ không chú trọng đến vẻ [[hình thức]], [[bề ngoài]] (như ăn thì cần loại thức ăn [[chắc dạ]] còn mặc thì cần loại vải bền). ==={{ĐM|ref}}=== * {{R:Tratu}} 3sekboo7ua4xxr82ejlnftfb2tx38rt ăn tục nói phét 0 400218 2362938 2026-05-31T07:55:27Z Trong Dang 52461 Trang mới: “=={{langname|vi}}== ==={{ĐM|pron}}=== {{vi-IPA}} ==={{ĐM|idiom}}=== {{head|vi|Thành ngữ}} # {{nhãn|vi|khẩu ngữ}} [[ăn nói|Ăn nói]] [[thô tục]], [[ba hoa]] (thiếu [[văn hoá]]) #: {{ux|vi|Chỉ được cái '''ăn tục nói phét'''!}} ==={{ĐM|ref}}=== * {{R:Tratu}}” 2362938 wikitext text/x-wiki =={{langname|vi}}== ==={{ĐM|pron}}=== {{vi-IPA}} ==={{ĐM|idiom}}=== {{head|vi|Thành ngữ}} # {{nhãn|vi|khẩu ngữ}} [[ăn nói|Ăn nói]] [[thô tục]], [[ba hoa]] (thiếu [[văn hoá]]) #: {{ux|vi|Chỉ được cái '''ăn tục nói phét'''!}} ==={{ĐM|ref}}=== * {{R:Tratu}} rbbb0zfaqlb5ayt60x76x8z1k8klo29 2362952 2362938 2026-05-31T08:35:08Z Trong Dang 52461 /* Thành ngữ */ 2362952 wikitext text/x-wiki =={{langname|vi}}== ==={{ĐM|pron}}=== {{vi-IPA}} ==={{ĐM|idiom}}=== {{vi-idiom}} # {{nhãn|vi|khẩu ngữ}} [[ăn nói|Ăn nói]] [[thô tục]], [[ba hoa]] (thiếu [[văn hoá]]) #: {{ux|vi|Chỉ được cái '''ăn tục nói phét'''!}} ==={{ĐM|ref}}=== * {{R:Tratu}} apxc5deze8opm9piuhcxmwigt7ukx9g bắt cá hai tay 0 400219 2362940 2026-05-31T08:01:06Z Trong Dang 52461 Trang mới: “=={{langname|vi}}== ==={{ĐM|pron}}=== {{vi-IPA}} ==={{ĐM|idiom}}=== {{head|vi|Thành ngữ}} # [[ví|Ví]] việc cùng một lúc hướng vào hai [[đối tượng]], hai [[phía]], v.v. (thường là [[đối nghịch]] nhau) để thu được nhiều [[lợi]] hơn hoặc để [[chắc chắn]], nếu có [[hỏng]] bên này thì cũng còn được bên kia. ==={{ĐM|ref}}=== * {{R:Tratu}}” 2362940 wikitext text/x-wiki =={{langname|vi}}== ==={{ĐM|pron}}=== {{vi-IPA}} ==={{ĐM|idiom}}=== {{head|vi|Thành ngữ}} # [[ví|Ví]] việc cùng một lúc hướng vào hai [[đối tượng]], hai [[phía]], v.v. (thường là [[đối nghịch]] nhau) để thu được nhiều [[lợi]] hơn hoặc để [[chắc chắn]], nếu có [[hỏng]] bên này thì cũng còn được bên kia. ==={{ĐM|ref}}=== * {{R:Tratu}} jzkqd74qlh8x1l1wsb3k94hpen9porg 2362951 2362940 2026-05-31T08:34:57Z Trong Dang 52461 2362951 wikitext text/x-wiki =={{langname|vi}}== ==={{ĐM|pron}}=== {{vi-IPA}} ==={{ĐM|idiom}}=== {{vi-idiom}} # [[ví|Ví]] việc cùng một lúc hướng vào hai [[đối tượng]], hai [[phía]], v.v. (thường là [[đối nghịch]] nhau) để thu được nhiều [[lợi]] hơn hoặc để [[chắc chắn]], nếu có [[hỏng]] bên này thì cũng còn được bên kia. ==={{ĐM|ref}}=== * {{R:Tratu}} 25ttcc2t51grivl5g34qvbjk8dvpanf cây nhà lá vườn 0 400220 2362941 2026-05-31T08:09:51Z Trong Dang 52461 Trang mới: “=={{langname|vi}}== ==={{ĐM|pron}}=== {{vi-IPA}} ==={{ĐM|idiom}}=== {{head|vi|Thành ngữ}} # [[hoa quả|Hoa quả]] và nói chung những [[thứ tự]] nhà mình làm ra (dùng để nói về quà đem biếu hoặc mời khách) #: {{ux|vi|Biếu anh mấy quả cam, '''cây nhà lá vườn'''.}} ==={{ĐM|ref}}=== * {{R:Tratu}}” 2362941 wikitext text/x-wiki =={{langname|vi}}== ==={{ĐM|pron}}=== {{vi-IPA}} ==={{ĐM|idiom}}=== {{head|vi|Thành ngữ}} # [[hoa quả|Hoa quả]] và nói chung những [[thứ tự]] nhà mình làm ra (dùng để nói về quà đem biếu hoặc mời khách) #: {{ux|vi|Biếu anh mấy quả cam, '''cây nhà lá vườn'''.}} ==={{ĐM|ref}}=== * {{R:Tratu}} axch5e0tbhudow1w7i3thk4bhs16gq1 2362942 2362941 2026-05-31T08:10:06Z Trong Dang 52461 2362942 wikitext text/x-wiki =={{langname|vi}}== ==={{ĐM|pron}}=== {{vi-IPA}} ==={{ĐM|idiom}}=== {{head|vi|Thành ngữ}} # [[hoa quả|Hoa quả]] và nói chung những [[thứ tự]] nhà mình làm ra (dùng để nói về quà đem biếu hoặc mời khách). #: {{ux|vi|Biếu anh mấy quả cam, '''cây nhà lá vườn'''.}} ==={{ĐM|ref}}=== * {{R:Tratu}} d7kirc1v39o85ebh932htfeb1o1m8cm 2362950 2362942 2026-05-31T08:34:47Z Trong Dang 52461 /* Thành ngữ */ 2362950 wikitext text/x-wiki =={{langname|vi}}== ==={{ĐM|pron}}=== {{vi-IPA}} ==={{ĐM|idiom}}=== {{vi-idiom}} # [[hoa quả|Hoa quả]] và nói chung những [[thứ tự]] nhà mình làm ra (dùng để nói về quà đem biếu hoặc mời khách). #: {{ux|vi|Biếu anh mấy quả cam, '''cây nhà lá vườn'''.}} ==={{ĐM|ref}}=== * {{R:Tratu}} b0ah0pfcg3mkm5zbyhnze51u13e5gey còn nước còn tát 0 400221 2362943 2026-05-31T08:14:17Z Trong Dang 52461 Trang mới: “=={{langname|vi}}== ==={{ĐM|pron}}=== {{vi-IPA}} ==={{ĐM|idiom}}=== {{head|vi|Thành ngữ}} # [[ví|Ví]] [[trường hợp]] còn một chút [[hi vọng]] nào dù là [[mong manh]], thì còn ra sức [[cứu chữa]] đến cùng #: {{ux|vi|Trúng phong nặng lắm... Nhưng còn nước còn tát, con tin còn cứu được! ([[w:Đoàn Giỏi|Đoàn Giỏi]]; 5)}} ==={{ĐM|ref}}=== * {{R:Tratu}}” 2362943 wikitext text/x-wiki =={{langname|vi}}== ==={{ĐM|pron}}=== {{vi-IPA}} ==={{ĐM|idiom}}=== {{head|vi|Thành ngữ}} # [[ví|Ví]] [[trường hợp]] còn một chút [[hi vọng]] nào dù là [[mong manh]], thì còn ra sức [[cứu chữa]] đến cùng #: {{ux|vi|Trúng phong nặng lắm... Nhưng còn nước còn tát, con tin còn cứu được! ([[w:Đoàn Giỏi|Đoàn Giỏi]]; 5)}} ==={{ĐM|ref}}=== * {{R:Tratu}} mvzdviy88nn3o9unapr3h1uxzldy4ar 2362944 2362943 2026-05-31T08:14:24Z Trong Dang 52461 2362944 wikitext text/x-wiki =={{langname|vi}}== ==={{ĐM|pron}}=== {{vi-IPA}} ==={{ĐM|idiom}}=== {{head|vi|Thành ngữ}} # [[ví|Ví]] [[trường hợp]] còn một chút [[hi vọng]] nào dù là [[mong manh]], thì còn ra sức [[cứu chữa]] đến cùng. #: {{ux|vi|Trúng phong nặng lắm... Nhưng còn nước còn tát, con tin còn cứu được! ([[w:Đoàn Giỏi|Đoàn Giỏi]]; 5)}} ==={{ĐM|ref}}=== * {{R:Tratu}} bgbh4jqdv1mav2s5393pikyx5iecdgw 2362945 2362944 2026-05-31T08:15:21Z Trong Dang 52461 /* Thành ngữ */ 2362945 wikitext text/x-wiki =={{langname|vi}}== ==={{ĐM|pron}}=== {{vi-IPA}} ==={{ĐM|idiom}}=== {{head|vi|Thành ngữ}} # [[ví|Ví]] [[trường hợp]] còn một chút [[hi vọng]] nào dù là [[mong manh]], thì còn ra sức [[cứu chữa]] đến cùng. #: {{ux|vi|Trúng phong nặng lắm... Nhưng '''còn nước còn tát''', con tin còn cứu được! ([[w:Đoàn Giỏi|Đoàn Giỏi]]; 5)}} ==={{ĐM|ref}}=== * {{R:Tratu}} gdx4lg0w1li0ot85ju1bkrzic03xl08 2362949 2362945 2026-05-31T08:34:34Z Trong Dang 52461 /* Thành ngữ */ 2362949 wikitext text/x-wiki =={{langname|vi}}== ==={{ĐM|pron}}=== {{vi-IPA}} ==={{ĐM|idiom}}=== {{vi-idiom}} # [[ví|Ví]] [[trường hợp]] còn một chút [[hi vọng]] nào dù là [[mong manh]], thì còn ra sức [[cứu chữa]] đến cùng. #: {{ux|vi|Trúng phong nặng lắm... Nhưng '''còn nước còn tát''', con tin còn cứu được! ([[w:Đoàn Giỏi|Đoàn Giỏi]]; 5)}} ==={{ĐM|ref}}=== * {{R:Tratu}} alrgf0gp6zu6df5dtn2az2sxuwunpmd đàn gảy tai trâu 0 400222 2362946 2026-05-31T08:20:47Z Trong Dang 52461 Trang mới: “=={{langname|vi}}== ==={{ĐM|pron}}=== {{vi-IPA}} ==={{ĐM|idiom}}=== {{head|vi|Thành ngữ}} # [[ví|Ví]] việc làm [[uổng công]] vì đã đưa cái [[hay]], cái [[đẹp]] đến với một [[đối tượng]] không có [[khả năng]] [[tiếp thu]], không có khả năng [[thưởng thức]]. ==={{ĐM|ref}}=== * {{R:Tratu}}” 2362946 wikitext text/x-wiki =={{langname|vi}}== ==={{ĐM|pron}}=== {{vi-IPA}} ==={{ĐM|idiom}}=== {{head|vi|Thành ngữ}} # [[ví|Ví]] việc làm [[uổng công]] vì đã đưa cái [[hay]], cái [[đẹp]] đến với một [[đối tượng]] không có [[khả năng]] [[tiếp thu]], không có khả năng [[thưởng thức]]. ==={{ĐM|ref}}=== * {{R:Tratu}} qvszg7weupfidebam3valkzw8ulerei 2362948 2362946 2026-05-31T08:34:16Z Trong Dang 52461 2362948 wikitext text/x-wiki =={{langname|vi}}== ==={{ĐM|pron}}=== {{vi-IPA}} ==={{ĐM|idiom}}=== {{vi-idiom}} # [[ví|Ví]] việc làm [[uổng công]] vì đã đưa cái [[hay]], cái [[đẹp]] đến với một [[đối tượng]] không có [[khả năng]] [[tiếp thu]], không có khả năng [[thưởng thức]]. ==={{ĐM|ref}}=== * {{R:Tratu}} pulr39juu4fyqamkkqael30gp7f5p9j tá túc 0 400223 2362957 2026-05-31T08:47:26Z Trong Dang 52461 Trang mới: “=={{langname|vi}}== ==={{ĐM|etym}}=== {{vi-etym-sino|借宿}}. ==={{ĐM|pron}}=== {{vi-IPA}} ==={{ĐM|verb}}=== {{vi-verb}} # [[ngủ|Ngủ]] [[nhờ]] hoặc [[ở]] nhờ. #: {{ux|vi|Xin '''tá túc''' một đêm.}} #: {{ux|vi|'''Tá túc''' ở nhà một người bạn.}} ==={{ĐM|ref}}=== * {{R:Tratu}}” 2362957 wikitext text/x-wiki =={{langname|vi}}== ==={{ĐM|etym}}=== {{vi-etym-sino|借宿}}. ==={{ĐM|pron}}=== {{vi-IPA}} ==={{ĐM|verb}}=== {{vi-verb}} # [[ngủ|Ngủ]] [[nhờ]] hoặc [[ở]] nhờ. #: {{ux|vi|Xin '''tá túc''' một đêm.}} #: {{ux|vi|'''Tá túc''' ở nhà một người bạn.}} ==={{ĐM|ref}}=== * {{R:Tratu}} ttx6uvvzpio9b2l61i3if59evmrtnry tự cung tự cấp 0 400224 2362958 2026-05-31T08:51:49Z Trong Dang 52461 Trang mới: “=={{langname|vi}}== ==={{ĐM|pron}}=== {{vi-IPA}} ==={{ĐM|verb}}=== {{vi-verb}} # {{like-entry|tự cấp tự túc}}. ==={{ĐM|ref}}=== * {{R:Tratu}}” 2362958 wikitext text/x-wiki =={{langname|vi}}== ==={{ĐM|pron}}=== {{vi-IPA}} ==={{ĐM|verb}}=== {{vi-verb}} # {{like-entry|tự cấp tự túc}}. ==={{ĐM|ref}}=== * {{R:Tratu}} 5eahf3fqpgcw1hskj21sn6nqexg9ypz tự cấp tự túc 0 400225 2362959 2026-05-31T08:54:34Z Trong Dang 52461 Trang mới: “=={{langname|vi}}== ==={{ĐM|pron}}=== {{vi-IPA}} ==={{ĐM|verb}}=== {{vi-verb}} # [[sản xuất|Sản xuất]] ra nhằm [[thoả mãn]] [[yêu cầu]] [[tiêu dùng]] của mình, không [[trao đổi]] trên [[thị trường]]. #: {{ux|vi|Nền kinh tế '''tự cấp tự túc'''.}} ===={{ĐM|syn}}==== * {{l|vi|tự cung tự cấp}} ==={{ĐM|ref}}=== * {{R:Tratu}}” 2362959 wikitext text/x-wiki =={{langname|vi}}== ==={{ĐM|pron}}=== {{vi-IPA}} ==={{ĐM|verb}}=== {{vi-verb}} # [[sản xuất|Sản xuất]] ra nhằm [[thoả mãn]] [[yêu cầu]] [[tiêu dùng]] của mình, không [[trao đổi]] trên [[thị trường]]. #: {{ux|vi|Nền kinh tế '''tự cấp tự túc'''.}} ===={{ĐM|syn}}==== * {{l|vi|tự cung tự cấp}} ==={{ĐM|ref}}=== * {{R:Tratu}} gi7g8nzb9rfmqgwz215dygydzo1culz tân trang 0 400226 2362960 2026-05-31T08:58:58Z Trong Dang 52461 Trang mới: “=={{langname|vi}}== ==={{ĐM|etym}}=== {{vi-etym-sino|新裝}}. ==={{ĐM|pron}}=== {{vi-IPA}} ==={{ĐM|verb}}=== {{vi-verb}} # [[sửa sang|Sửa sang]], làm lại cho có vẻ như [[mới]]. #: {{ux|vi|'''Tân trang''' nhà cửa.}} #: {{ux|vi|Chiếc xe cũ mới được '''tân trang'''.}} ==={{ĐM|ref}}=== * {{R:Tratu}}” 2362960 wikitext text/x-wiki =={{langname|vi}}== ==={{ĐM|etym}}=== {{vi-etym-sino|新裝}}. ==={{ĐM|pron}}=== {{vi-IPA}} ==={{ĐM|verb}}=== {{vi-verb}} # [[sửa sang|Sửa sang]], làm lại cho có vẻ như [[mới]]. #: {{ux|vi|'''Tân trang''' nhà cửa.}} #: {{ux|vi|Chiếc xe cũ mới được '''tân trang'''.}} ==={{ĐM|ref}}=== * {{R:Tratu}} eme6bobgdon5d0biaqfdga4b48888t5 ăn may 0 400227 2362961 2026-05-31T09:06:40Z Trong Dang 52461 Trang mới: “=={{langname|vi}}== ==={{ĐM|pron}}=== {{vi-IPA}} ==={{ĐM|verb}}=== {{vi-verb}} # {{nhãn|vi|khẩu ngữ}} [[có|Có]] được, [[đạt]] được do [[may mắn]] chứ không phải do [[thực lực]]. #: {{ux|vi|Trận ấy thắng được là do '''ăn may'''.}} ==={{ĐM|ref}}=== * {{R:Tratu}}” 2362961 wikitext text/x-wiki =={{langname|vi}}== ==={{ĐM|pron}}=== {{vi-IPA}} ==={{ĐM|verb}}=== {{vi-verb}} # {{nhãn|vi|khẩu ngữ}} [[có|Có]] được, [[đạt]] được do [[may mắn]] chứ không phải do [[thực lực]]. #: {{ux|vi|Trận ấy thắng được là do '''ăn may'''.}} ==={{ĐM|ref}}=== * {{R:Tratu}} esq6onw04m5w62dducqizqdyg5nxc0u 2362962 2362961 2026-05-31T09:11:57Z Trong Dang 52461 /* Tiếng Việt */ 2362962 wikitext text/x-wiki =={{langname|vi}}== ==={{ĐM|etym}}=== {{com|vi|ăn|may}}. ==={{ĐM|pron}}=== {{vi-IPA}} ==={{ĐM|verb}}=== {{vi-verb}} # {{nhãn|vi|khẩu ngữ}} [[có|Có]] được, [[đạt]] được do [[may mắn]] chứ không phải do [[thực lực]]. #: {{ux|vi|Trận ấy thắng được là do '''ăn may'''.}} ==={{ĐM|ref}}=== * {{R:Tratu}} 2sdf60f0aaiark8tdusmn8tnktyvcvq lấy độc trị độc 0 400228 2362963 2026-05-31T09:32:48Z Trong Dang 52461 Trang mới: “=={{langname|vi}}== ==={{ĐM|pron}}=== {{vi-IPA}} ==={{ĐM|idiom}}=== {{vi-idiom}} # [[dùng|Dùng]] [[thuốc]] có [[chất độc]] để [[trị bệnh]] [[ác tính]]; thường dùng để ví việc dùng ngay những [[yếu tố]] [[bất lương]] để chống lại cái bất lương, [[lợi dụng]] kẻ ác để trừ kẻ ác. ===={{ĐM|syn}}==== * {{l|vi|dĩ độc trị độc}} ==={{ĐM|ref}}=== * {{R:Tratu}}” 2362963 wikitext text/x-wiki =={{langname|vi}}== ==={{ĐM|pron}}=== {{vi-IPA}} ==={{ĐM|idiom}}=== {{vi-idiom}} # [[dùng|Dùng]] [[thuốc]] có [[chất độc]] để [[trị bệnh]] [[ác tính]]; thường dùng để ví việc dùng ngay những [[yếu tố]] [[bất lương]] để chống lại cái bất lương, [[lợi dụng]] kẻ ác để trừ kẻ ác. ===={{ĐM|syn}}==== * {{l|vi|dĩ độc trị độc}} ==={{ĐM|ref}}=== * {{R:Tratu}} 7kktlahc119mzogvgptd9yf441rb5yj lực bất tòng tâm 0 400229 2362964 2026-05-31T09:35:22Z Trong Dang 52461 Trang mới: “=={{langname|vi}}== ==={{ĐM|pron}}=== {{vi-IPA}} ==={{ĐM|idiom}}=== {{vi-idiom}} # [[khả năng|Khả năng]] không đủ để [[thực hiện]] điều [[mong muốn]]. #: {{ux|vi|Dù đã rất cố gắng, nhưng '''lực bất tòng tâm'''.}} ==={{ĐM|ref}}=== * {{R:Tratu}}” 2362964 wikitext text/x-wiki =={{langname|vi}}== ==={{ĐM|pron}}=== {{vi-IPA}} ==={{ĐM|idiom}}=== {{vi-idiom}} # [[khả năng|Khả năng]] không đủ để [[thực hiện]] điều [[mong muốn]]. #: {{ux|vi|Dù đã rất cố gắng, nhưng '''lực bất tòng tâm'''.}} ==={{ĐM|ref}}=== * {{R:Tratu}} 4e9iax78zhiml1ub1whnoi19fq3xbrf 2362965 2362964 2026-05-31T09:36:02Z Trong Dang 52461 /* Tiếng Việt */ 2362965 wikitext text/x-wiki =={{langname|vi}}== ==={{ĐM|etym}}=== {{vi-etym-sino|力不從心}}. ==={{ĐM|pron}}=== {{vi-IPA}} ==={{ĐM|idiom}}=== {{vi-idiom}} # [[khả năng|Khả năng]] không đủ để [[thực hiện]] điều [[mong muốn]]. #: {{ux|vi|Dù đã rất cố gắng, nhưng '''lực bất tòng tâm'''.}} ==={{ĐM|ref}}=== * {{R:Tratu}} oojudlycgxn2s0glfkd1j5rze2xs3ea phá gia chi tử 0 400230 2362966 2026-05-31T09:39:23Z Trong Dang 52461 Trang mới: “=={{langname|vi}}== ==={{ĐM|pron}}=== {{vi-IPA}} ==={{ĐM|idiom}}=== {{vi-idiom}} # Đứa con làm [[tan nát]] [[tài sản]] của [[gia đình]]; cũng dùng để chỉ kẻ [[ăn chơi]] [[hoang toàng]]. #: {{ux|vi|Đồ '''phá gia chi tử'''!}} ==={{ĐM|ref}}=== * {{R:Tratu}}” 2362966 wikitext text/x-wiki =={{langname|vi}}== ==={{ĐM|pron}}=== {{vi-IPA}} ==={{ĐM|idiom}}=== {{vi-idiom}} # Đứa con làm [[tan nát]] [[tài sản]] của [[gia đình]]; cũng dùng để chỉ kẻ [[ăn chơi]] [[hoang toàng]]. #: {{ux|vi|Đồ '''phá gia chi tử'''!}} ==={{ĐM|ref}}=== * {{R:Tratu}} 5hkn1lovi7cvzjrlmbkg3r05zmt8o0l tai to mặt lớn 0 400231 2362967 2026-05-31T09:42:54Z Trong Dang 52461 Trang mới: “=={{langname|vi}}== ==={{ĐM|pron}}=== {{vi-IPA}} ==={{ĐM|idiom}}=== {{vi-idiom}} # Chỉ người có [[quyền thế]], [[địa vị]] trong [[xã hội]] ([[hàm ý]] không [[coi trọng]]). #: {{ux|vi|Những '''kẻ tai to mặt lớn'''.}} #: {{ux|vi|Thuộc hạng '''tai to mặt lớn''' trong tỉnh.}} ==={{ĐM|ref}}=== * {{R:Tratu}}” 2362967 wikitext text/x-wiki =={{langname|vi}}== ==={{ĐM|pron}}=== {{vi-IPA}} ==={{ĐM|idiom}}=== {{vi-idiom}} # Chỉ người có [[quyền thế]], [[địa vị]] trong [[xã hội]] ([[hàm ý]] không [[coi trọng]]). #: {{ux|vi|Những '''kẻ tai to mặt lớn'''.}} #: {{ux|vi|Thuộc hạng '''tai to mặt lớn''' trong tỉnh.}} ==={{ĐM|ref}}=== * {{R:Tratu}} 9mama5poc3kq0jsth2cozht55ww9s3d tâm phục khẩu phục 0 400232 2362968 2026-05-31T09:45:23Z Trong Dang 52461 Trang mới: “=={{langname|vi}}== ==={{ĐM|pron}}=== {{vi-IPA}} ==={{ĐM|idiom}}=== {{vi-idiom}} # [[phục|Phục]] tự đáy lòng, chứ không phải chỉ nói ngoài miệng. #: {{ux|vi|Sự xét xử công minh của tòa án khiến các bị cáo '''tâm phục khẩu phục'''.}} ==={{ĐM|ref}}=== * {{R:Tratu}}” 2362968 wikitext text/x-wiki =={{langname|vi}}== ==={{ĐM|pron}}=== {{vi-IPA}} ==={{ĐM|idiom}}=== {{vi-idiom}} # [[phục|Phục]] tự đáy lòng, chứ không phải chỉ nói ngoài miệng. #: {{ux|vi|Sự xét xử công minh của tòa án khiến các bị cáo '''tâm phục khẩu phục'''.}} ==={{ĐM|ref}}=== * {{R:Tratu}} t1q4jbf8arseek4zqkipbjrlybvx73u 2362969 2362968 2026-05-31T09:45:53Z Trong Dang 52461 /* Thành ngữ */ 2362969 wikitext text/x-wiki =={{langname|vi}}== ==={{ĐM|pron}}=== {{vi-IPA}} ==={{ĐM|idiom}}=== {{vi-idiom|head=[[tâm phục]] [[khẩu phục]]}} # [[phục|Phục]] tự đáy lòng, chứ không phải chỉ nói ngoài miệng. #: {{ux|vi|Sự xét xử công minh của tòa án khiến các bị cáo '''tâm phục khẩu phục'''.}} ==={{ĐM|ref}}=== * {{R:Tratu}} j3r9xfr4rhrgp3t2g097m5fqwrzij55 thầy bói xem voi 0 400233 2362970 2026-05-31T09:48:30Z Trong Dang 52461 Trang mới: “=={{langname|vi}}== ==={{ĐM|pron}}=== {{vi-IPA}} ==={{ĐM|idiom}}=== {{vi-idiom}} # Ví việc [[đánh giá]] [[sự vật]], [[sự việc]] một cách [[phiếm diện]], [[một chiều]], thiếu sự [[xem xét]] [[toàn diện]]. ==={{ĐM|ref}}=== * {{R:Tratu}}” 2362970 wikitext text/x-wiki =={{langname|vi}}== ==={{ĐM|pron}}=== {{vi-IPA}} ==={{ĐM|idiom}}=== {{vi-idiom}} # Ví việc [[đánh giá]] [[sự vật]], [[sự việc]] một cách [[phiếm diện]], [[một chiều]], thiếu sự [[xem xét]] [[toàn diện]]. ==={{ĐM|ref}}=== * {{R:Tratu}} r6nottfum0w2xjowmqtyi0w9nrz2jty thượng lộ bình an 0 400234 2362971 2026-05-31T09:50:35Z Trong Dang 52461 Trang mới: “=={{langname|vi}}== ==={{ĐM|pron}}=== {{vi-IPA}} ==={{ĐM|idiom}}=== {{vi-idiom}} # [[lên đường|Lên đường]] [[bình yên]] (thường dùng trong lời chúc người đi xa) #: {{ux|vi|Chúc quý khách '''thượng lộ bình an'''.}} ==={{ĐM|ref}}=== * {{R:Tratu}}” 2362971 wikitext text/x-wiki =={{langname|vi}}== ==={{ĐM|pron}}=== {{vi-IPA}} ==={{ĐM|idiom}}=== {{vi-idiom}} # [[lên đường|Lên đường]] [[bình yên]] (thường dùng trong lời chúc người đi xa) #: {{ux|vi|Chúc quý khách '''thượng lộ bình an'''.}} ==={{ĐM|ref}}=== * {{R:Tratu}} 9mzwbn1r6zm20v8jdqqkmpz7hbelhnr 2362972 2362971 2026-05-31T09:51:11Z Trong Dang 52461 2362972 wikitext text/x-wiki =={{langname|vi}}== ==={{ĐM|pron}}=== {{vi-IPA}} ==={{ĐM|idiom}}=== {{vi-idiom}} # [[lên đường|Lên đường]] [[bình yên]] (thường dùng trong lời chúc người đi xa). #: {{ux|vi|Chúc quý khách '''thượng lộ bình an'''.}} ==={{ĐM|ref}}=== * {{R:Tratu}} lxzktz1cj8h3dej0m64h2l48n12zefj tự biên tự diễn 0 400235 2362974 2026-05-31T09:53:59Z Trong Dang 52461 Trang mới: “=={{langname|vi}}== ==={{ĐM|pron}}=== {{vi-IPA}} ==={{ĐM|idiom}}=== {{vi-idiom}} # [[tự|Tự]] [[sáng tác]] và [[biểu diễn]] một cách không [[chuyên nghiệp]]. #: {{ux|vi|Vở chèo do đội văn nghệ xã '''tự biên tự diễn'''.}} ==={{ĐM|ref}}=== * {{R:Tratu}}” 2362974 wikitext text/x-wiki =={{langname|vi}}== ==={{ĐM|pron}}=== {{vi-IPA}} ==={{ĐM|idiom}}=== {{vi-idiom}} # [[tự|Tự]] [[sáng tác]] và [[biểu diễn]] một cách không [[chuyên nghiệp]]. #: {{ux|vi|Vở chèo do đội văn nghệ xã '''tự biên tự diễn'''.}} ==={{ĐM|ref}}=== * {{R:Tratu}} jee0nuxjfdp19xs4w605ckxgk6ykvb1 2362978 2362974 2026-05-31T10:37:15Z Hiyuune 50834 /* Tiếng Việt */ (sử dụng [[MediaWiki:Gadget-AjaxEdit.js|AjaxEdit]]) 2362978 wikitext text/x-wiki =={{langname|vi}}== ==={{ĐM|etym}}=== {{vi-etym-sino|自編自演}}. ==={{ĐM|pron}}=== {{vi-IPA}} ==={{ĐM|v}}=== {{vi-verb}} # {{lb|vi|idiomatic}} [[tự|Tự]] [[sáng tác]] và [[biểu diễn]] một cách không [[chuyên nghiệp]]. #: {{ux|vi|Vở chèo do đội văn nghệ xã '''tự biên tự diễn'''.}} ==={{ĐM|ref}}=== * {{R:Tratu}} lfv63wxyb4d2z68cmr7k2wpl3n3uk6m đồng cam cộng khổ 0 400236 2362975 2026-05-31T09:56:40Z Trong Dang 52461 Trang mới: “=={{langname|vi}}== ==={{ĐM|pron}}=== {{vi-IPA}} ==={{ĐM|idiom}}=== {{vi-idiom}} # [[vui sướng|Vui sướng]] cùng [[hưởng]], [[cực khổ]] cùng [[chịu]] (trong mọi [[hoàn cảnh]] đều có nhau). ==={{ĐM|ref}}=== * {{R:Tratu}}” 2362975 wikitext text/x-wiki =={{langname|vi}}== ==={{ĐM|pron}}=== {{vi-IPA}} ==={{ĐM|idiom}}=== {{vi-idiom}} # [[vui sướng|Vui sướng]] cùng [[hưởng]], [[cực khổ]] cùng [[chịu]] (trong mọi [[hoàn cảnh]] đều có nhau). ==={{ĐM|ref}}=== * {{R:Tratu}} ffpjaappdnw22nor55fd44h3ikm8nsw trường sinh bất lão 0 400237 2362976 2026-05-31T10:06:09Z Trong Dang 52461 Trang mới: “=={{langname|vi}}== ==={{ĐM|pron}}=== {{vi-IPA}} ==={{ĐM|idiom}}=== {{vi-idiom}} # {{nhãn|vi|từ cũ}} [[trẻ|Trẻ]] [[mãi]] không [[già]]. ==={{ĐM|ref}}=== * {{R:Tratu}}” 2362976 wikitext text/x-wiki =={{langname|vi}}== ==={{ĐM|pron}}=== {{vi-IPA}} ==={{ĐM|idiom}}=== {{vi-idiom}} # {{nhãn|vi|từ cũ}} [[trẻ|Trẻ]] [[mãi]] không [[già]]. ==={{ĐM|ref}}=== * {{R:Tratu}} ncx6yb2n9ste067bgn9bud0kjdui3h6 2362977 2362976 2026-05-31T10:06:36Z Trong Dang 52461 /* Tiếng Việt */ 2362977 wikitext text/x-wiki =={{langname|vi}}== ==={{ĐM|pron}}=== {{vi-IPA}} ==={{ĐM|idiom}}=== {{vi-idiom|head=[[trường sinh]] [[bất]] [[lão]]}} # {{nhãn|vi|từ cũ}} [[trẻ|Trẻ]] [[mãi]] không [[già]]. ==={{ĐM|ref}}=== * {{R:Tratu}} apziok9f8kmflp7is5wj61e8wkjkbde 0 400238 2362979 2026-05-31T10:41:14Z Hiyuune 50834 Trang mới: “{{also|谑}} {{character info}} =={{langname|mul}}== ==={{section|han}}=== {{Han char|rn=149|rad=言|as=10|sn=17|four=01614|canj=YRYPM|ids=⿰訁虐}} ===={{section|ref}}==== * {{Han ref|kx=1175.090|dkj=35810|dj=1639.260|hdz=63996.130|uh=8B14}} =={{langname|zh}}== {{zh-forms|s=谑}} ==={{section|glyph origin}}=== {{Han etym}} ==={{section|pron}}=== {{zh-pron |m=謔 |c=joek6 |h=gd=hiog5 |md= |mn=xm,qz,tw:gio̍h/xm,qz,tw:hiok/zz:hiak/tw:giok/twv:giak/xm:hio̍k/tw:gio̍…” 2362979 wikitext text/x-wiki {{also|谑}} {{character info}} =={{langname|mul}}== ==={{section|han}}=== {{Han char|rn=149|rad=言|as=10|sn=17|four=01614|canj=YRYPM|ids=⿰訁虐}} ===={{section|ref}}==== * {{Han ref|kx=1175.090|dkj=35810|dj=1639.260|hdz=63996.130|uh=8B14}} =={{langname|zh}}== {{zh-forms|s=谑}} ==={{section|glyph origin}}=== {{Han etym}} ==={{section|pron}}=== {{zh-pron |m=謔 |c=joek6 |h=gd=hiog5 |md= |mn=xm,qz,tw:gio̍h/xm,qz,tw:hiok/zz:hiak/tw:giok/twv:giak/xm:hio̍k/tw:gio̍k |mn_note=gio̍h - ngôn ngữ bản địa; hiok/hiak - ngôn ngữ văn chương |mn-t=ngiag8 |px=pt:goeh7/xy:gyoeh7 |w= |mc=y |oc=y |cat=v }} ==={{section|dfn}}=== {{head|zh|hanzi}} # {{lb|zh|literary|or|Hokkien}} [[nói|Nói]] [[đùa]], [[giễu cợt]], [[trêu chọc]]. # {{lb|zh|obs-std}} [[vui mừng|Vui mừng]]; [[vui sướng]]. ===={{section|com}}==== {{col3|zh|南樓詠謔|嘲謔|俳謔|戲謔|謔浪笑敖|謔稱|謔而不虐|雅謔|謔謔|謔親|調謔|謔浪|謔浪話頭|諧謔|nan:謔喙訣|nan:謔喙|nan:謔潲|nan:謔燒}} ==={{section|ref}}=== * {{R:cpx:PHMZ|271}} rocc6foc2vw2ttz4w3grb53bjpoxcr4 2362980 2362979 2026-05-31T10:41:58Z Hiyuune 50834 /* Tham khảo */ (sử dụng [[MediaWiki:Gadget-AjaxEdit.js|AjaxEdit]]) 2362980 wikitext text/x-wiki {{also|谑}} {{character info}} =={{langname|mul}}== ==={{section|han}}=== {{Han char|rn=149|rad=言|as=10|sn=17|four=01614|canj=YRYPM|ids=⿰訁虐}} ===={{section|ref}}==== * {{Han ref|kx=1175.090|dkj=35810|dj=1639.260|hdz=63996.130|uh=8B14}} =={{langname|ja}}== ==={{section|kanji}}=== {{ja-kanji|grade=|rs=言10}} ===={{section|reading}}==== {{ja-readings |goon=かく |kanon=きゃく |kanyoon=ぎゃく |kun=たわむ-れる }} =={{langname|zh}}== {{zh-forms|s=谑}} ==={{section|glyph origin}}=== {{Han etym}} ==={{section|pron}}=== {{zh-pron |m=謔 |c=joek6 |h=gd=hiog5 |md= |mn=xm,qz,tw:gio̍h/xm,qz,tw:hiok/zz:hiak/tw:giok/twv:giak/xm:hio̍k/tw:gio̍k |mn_note=gio̍h - ngôn ngữ bản địa; hiok/hiak - ngôn ngữ văn chương |mn-t=ngiag8 |px=pt:goeh7/xy:gyoeh7 |w= |mc=y |oc=y |cat=v }} ==={{section|dfn}}=== {{head|zh|hanzi}} # {{lb|zh|literary|or|Hokkien}} [[nói|Nói]] [[đùa]], [[giễu cợt]], [[trêu chọc]]. # {{lb|zh|obs-std}} [[vui mừng|Vui mừng]]; [[vui sướng]]. ===={{section|com}}==== {{col3|zh|南樓詠謔|嘲謔|俳謔|戲謔|謔浪笑敖|謔稱|謔而不虐|雅謔|謔謔|謔親|調謔|謔浪|謔浪話頭|諧謔|nan:謔喙訣|nan:謔喙|nan:謔潲|nan:謔燒}} ==={{section|ref}}=== * {{R:cpx:PHMZ|271}} fjl97xd80j7a54m23ix080mhn4fkpsi 0 400239 2362981 2026-05-31T10:42:45Z Hiyuune 50834 Trang mới: “{{also|謔}} {{character info}} =={{langname|mul}}== ==={{ĐM|han}}=== {{Han char|rn=149|rad=讠|as=09|sn=11|four=|canj=IVYPM|ids=⿰讠虐}} ===={{ĐM|ref}}==== * {{Han ref|kx=1188.181|hdz=63996.140|uh=8C11}} =={{langname|zh}}== ==={{ĐM|glyph origin}}=== {{Han simp|謔|f=訁|t=讠}}. ==={{ĐM|dfn}}=== {{zh-see|謔}}” 2362981 wikitext text/x-wiki {{also|謔}} {{character info}} =={{langname|mul}}== ==={{ĐM|han}}=== {{Han char|rn=149|rad=讠|as=09|sn=11|four=|canj=IVYPM|ids=⿰讠虐}} ===={{ĐM|ref}}==== * {{Han ref|kx=1188.181|hdz=63996.140|uh=8C11}} =={{langname|zh}}== ==={{ĐM|glyph origin}}=== {{Han simp|謔|f=訁|t=讠}}. ==={{ĐM|dfn}}=== {{zh-see|謔}} s768uxe0dadg2r5cxvfxz75bixvjs04 nüè 0 400240 2362982 2026-05-31T10:43:35Z Hiyuune 50834 + cmn 2362982 wikitext text/x-wiki {{also|nue|nuée|nüe}} =={{langname|cmn}}== ==={{ĐM|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|𨵫}} b8usv5s27cx778ktaqsfaev7yxf5g4c nüe4 0 400241 2362983 2026-05-31T10:44:08Z Hiyuune 50834 Trang mới: “{{also|nue4}} =={{langname|cmn}}== ==={{ĐM|rom}}=== {{cmn-pinyin}} # {{alternative spelling of|cmn|nüè}}” 2362983 wikitext text/x-wiki {{also|nue4}} =={{langname|cmn}}== ==={{ĐM|rom}}=== {{cmn-pinyin}} # {{alternative spelling of|cmn|nüè}} fl3hudfgg1igzuvict55o4pi3p2hzo3 Mô đun:zh/data/ltc-pron/謔 828 400242 2362984 2026-05-31T10:46:21Z Hiyuune 50834 Trang mới: “return { "曉陽三開 入虚約" }” 2362984 Scribunto text/plain return { "曉陽三開 入虚約" } 3z84lxsig1nltguppmg2sgp9mtrxxyw Mô đun:zh/data/och-pron-ZS/謔 828 400243 2362985 2026-05-31T10:47:23Z Hiyuune 50834 Trang mới: “return { { "9638", "虐", "藥", "1", "", "hŋawɢ", "" }, }” 2362985 Scribunto text/plain return { { "9638", "虐", "藥", "1", "", "hŋawɢ", "" }, } i1b8xe9czcsgougpt45p2e7f6aqwk4f joek6 0 400244 2362986 2026-05-31T10:49:55Z Hiyuune 50834 Trang mới: “=={{langname|yue}}== ==={{ĐM|pron}}=== * {{Jyutping-IPA|joek6}} ==={{ĐM|rom}}=== {{yue-jyut}} # {{yue-jyutping of|弱}} # {{yue-jyutping of|若}}” 2362986 wikitext text/x-wiki =={{langname|yue}}== ==={{ĐM|pron}}=== * {{Jyutping-IPA|joek6}} ==={{ĐM|rom}}=== {{yue-jyut}} # {{yue-jyutping of|弱}} # {{yue-jyutping of|若}} a5z35atu4nbju2y4alt911r5x9932wq giok 0 400245 2362987 2026-05-31T10:51:57Z Hiyuune 50834 Trang mới: “{{also|gio̍k}} =={{langname|id}}== ==={{section|etym}}=== Từ {{bor|id|nan-hbl|-}} {{zh-l|玉|tr=gio̍k}}. So sánh với {{cog|th|หยก}}, {{cog|lo|ຢົກ}}. ==={{section|pron}}=== {{id-pr|gyoq,gyok,giok|syll=giok,gi.ok}} ==={{section|n}}=== {{id-noun}} # [[ngọc thạch|Ngọc thạch]]. ==={{section|further}}=== * {{R:KBBI Daring}} =={{langname|jv}}== ==={{section|etym}}=== Cuối cùng từ {{bor|jv|nan-hbl|-}} {{zh-l|玉|tr=gio̍k}}. ==={{section|n}…” 2362987 wikitext text/x-wiki {{also|gio̍k}} =={{langname|id}}== ==={{section|etym}}=== Từ {{bor|id|nan-hbl|-}} {{zh-l|玉|tr=gio̍k}}. So sánh với {{cog|th|หยก}}, {{cog|lo|ຢົກ}}. ==={{section|pron}}=== {{id-pr|gyoq,gyok,giok|syll=giok,gi.ok}} ==={{section|n}}=== {{id-noun}} # [[ngọc thạch|Ngọc thạch]]. ==={{section|further}}=== * {{R:KBBI Daring}} =={{langname|jv}}== ==={{section|etym}}=== Cuối cùng từ {{bor|jv|nan-hbl|-}} {{zh-l|玉|tr=gio̍k}}. ==={{section|n}}=== {{jv-noun}} # [[ngọc thạch|Ngọc thạch]] =={{langname|nan-hbl}}== {{zh-see|逐|poj}} eesumr2pi4tcf81d831kt4o89rzflsc 2362989 2362987 2026-05-31T10:54:54Z Hiyuune 50834 /* Tiếng Mân Tuyền Chương */ (sử dụng [[MediaWiki:Gadget-AjaxEdit.js|AjaxEdit]]) 2362989 wikitext text/x-wiki {{also|gio̍k}} =={{langname|id}}== ==={{section|etym}}=== Từ {{bor|id|nan-hbl|-}} {{zh-l|玉|tr=gio̍k}}. So sánh với {{cog|th|หยก}}, {{cog|lo|ຢົກ}}. ==={{section|pron}}=== {{id-pr|gyoq,gyok,giok|syll=giok,gi.ok}} ==={{section|n}}=== {{id-noun}} # [[ngọc thạch|Ngọc thạch]]. ==={{section|further}}=== * {{R:KBBI Daring}} =={{langname|jv}}== ==={{section|etym}}=== Cuối cùng từ {{bor|jv|nan-hbl|-}} {{zh-l|玉|tr=gio̍k}}. ==={{section|n}}=== {{jv-noun}} # [[ngọc thạch|Ngọc thạch]] =={{langname|nan-hbl}}== {{zh-see|謔|poj}} 0hpgly5elaasprmj9n19qxhyf40mb1j Thể loại:Vần:Tiếng Litva/ɐɪˑɡʒʲdʲɛɪ 14 400246 2362991 2026-05-31T10:59:30Z Hiyuune 50834 Trang mới: “{{auto cat}}” 2362991 wikitext text/x-wiki {{auto cat}} eomzlm5v4j7ond1phrju7cnue91g5qx gio̍h 0 400247 2362993 2026-05-31T11:25:30Z Hiyuune 50834 Trang mới: “=={{langname|nan-hbl}}== {{zh-see|謔|poj}}” 2362993 wikitext text/x-wiki =={{langname|nan-hbl}}== {{zh-see|謔|poj}} rnyndqfpazyne1adxnaejwgaogw8svw hiok 0 400248 2362994 2026-05-31T11:25:34Z Hiyuune 50834 Trang mới: “=={{langname|nan-hbl}}== {{zh-see|謔|poj}}” 2362994 wikitext text/x-wiki =={{langname|nan-hbl}}== {{zh-see|謔|poj}} rnyndqfpazyne1adxnaejwgaogw8svw hiak 0 400249 2362995 2026-05-31T11:25:48Z Hiyuune 50834 Trang mới: “=={{langname|nan-hbl}}== {{zh-see|謔|poj}}” 2362995 wikitext text/x-wiki =={{langname|nan-hbl}}== {{zh-see|謔|poj}} rnyndqfpazyne1adxnaejwgaogw8svw giak 0 400250 2362996 2026-05-31T11:25:52Z Hiyuune 50834 Trang mới: “=={{langname|nan-hbl}}== {{zh-see|謔|poj}}” 2362996 wikitext text/x-wiki =={{langname|nan-hbl}}== {{zh-see|謔|poj}} rnyndqfpazyne1adxnaejwgaogw8svw hio̍k 0 400251 2362997 2026-05-31T11:28:14Z Hiyuune 50834 Trang mới: “=={{langname|nan-hbl}}== {{zh-see|謔|poj}}” 2362997 wikitext text/x-wiki =={{langname|nan-hbl}}== {{zh-see|謔|poj}} rnyndqfpazyne1adxnaejwgaogw8svw gio̍k 0 400252 2362998 2026-05-31T11:28:17Z Hiyuune 50834 Trang mới: “=={{langname|nan-hbl}}== {{zh-see|謔|poj}}” 2362998 wikitext text/x-wiki =={{langname|nan-hbl}}== {{zh-see|謔|poj}} rnyndqfpazyne1adxnaejwgaogw8svw