Wiktionary zhwiktionary https://zh.wiktionary.org/wiki/Wiktionary:%E9%A6%96%E9%A1%B5 MediaWiki 1.47.0-wmf.1 case-sensitive Media Special Talk User User talk Wiktionary Wiktionary talk File File talk MediaWiki MediaWiki talk Template Template talk Help Help talk Category Category talk Appendix Appendix talk Transwiki Transwiki talk Rhymes Rhymes talk Thesaurus Thesaurus talk Citations Citations talk Reconstruction Reconstruction talk TimedText TimedText talk Module Module talk Event Event talk Wiktionary:统计 4 1718 9752984 9751997 2026-05-06T04:40:35Z TongcyBot 83009 機器人:更新每日統計數據 (2026-05-06) 9752984 wikitext text/x-wiki {{Interwiki}} {{shortcut|WT:STAT}} ==基本資料== {| class="wikitable" ! 項目 !! 資料 |- ! MediaWiki版本 | {{CURRENTVERSION}} |- ! 詞條數量 | [[Special:Statistics|'''{{NUMBEROFARTICLES}}''']] |- ! 總頁面數 | {{NUMBEROFPAGES}} |- ! 已編碼的語言數量 | {{#invoke:list of languages|count}} |- ! 檔案數量 | {{NUMBEROFFILES}} |- ! 註冊用戶數 | {{NUMBEROFUSERS}} |- ! 活躍用戶數 | {{NUMBEROFACTIVEUSERS}} |- ! 管理員數量 | {{NUMBEROFADMINS}} |- ! 全站頁面編輯次數 | {{NUMBEROFEDITS}} |} 其他資料請參考[[Special:Statistics]]。 ==頁面== 本表是中文维基詞典詞條数依日期到達的里程碑,以每一万个词条为单位计数。<!-- 以下內容已不再更新 * 近期統計圖表(區分機器人與一般用戶,選擇zhwiktionary_p,每日自動更新):[https://tools.wmflabs.org/wmcharts/wmchart0001.php 編輯次數]{{·}}[https://tools.wmflabs.org/wmcharts/wmchart0002.php 新增詞條數量]--> * 目前的詞條數:'''{{NUMBEROFARTICLES}}'''({{重新整理|更新}})。 {{Milestone}} ==与相邻语言版本的比较== 中文维基词典词条收录量为'''{{NUMBEROFARTICLES}}''',在所有语言版本的詞典中[[meta:Wiktionary#List of Wiktionaries|'''位列第4''']]。 {{autoStat | 2026-05-01 | fr | mg | zh | th | el | 6910311 | 5911338 | 2317075 | 2180613 | 1578407 | 6910465 | 5911778 | 2317733 | 2180625 | 1578438 | 6910902 | 5911947 | 2318306 | 2180659 | 1578642 | 6911431 | 5912087 | 2318644 | 2180659 | 1578727 | 6911789 | 5912618 | 2319200 | 2180693 | 1578858 | 6912182 | 5912774 | 2319756 | 2180695 | 1578878 | 6912997 | 5913101 | 2320558 | 2180707 | 1578945 }} * 来源:[https://wikistats.wmcloud.org/display.php?t=wt Wikistats] 统计的具体时间为当日1时(UTC)左右,近似表示前一天的数据 * 关于里程碑,参见[[Wiktionary:宣告]] ==页面访问统计== 历史数据参见:[[Wiktionary:统计/存档]] ===总页面浏览量=== {{Collapse2|header=最近一年中文維基詞典的存取量|float=right |{{Graph:PageViews| 365 | _ |scale=sqrt}} }} {{Collapse2|header=自2016年起中文維基詞典總頁面瀏覽量(時間單位:月)|float=right |{{Graph:Chart | width = 800 | height = 300 | xAxisTitle = 時間 | yAxisTitle = 瀏覽量(次) | x = 2016/01/01,2016/02/01,2016/03/01,2016/04/01,2016/05/01,2016/06/01,2016/07/01,2016/08/01,2016/09/01,2016/10/01,2016/11/01,2016/12/01,2017/01/01,2017/02/01,2017/03/01,2017/04/01,2017/05/01,2017/06/01,2017/07/01,2017/08/01,2017/09/01,2017/10/01,2017/11/01,2017/12/01,2018/01/01,2018/02/01,2018/03/01,2018/04/01,2018/05/01,2018/06/01,2018/07/01,2018/08/01,2018/09/01,2018/10/01,2018/11/01,2018/12/01,2019/01/01,2019/02/01,2019/03/01,2019/04/01,2019/05/01,2019/06/01,2019/07/01,2019/08/01,2019/09/01,2019/10/01,2019/11/01,2019/12/01,2020/01/01,2020/02/01,2020/03/01,2020/04/01,2020/05/01,2020/06/01,2020/07/01,2020/08/01,2020/09/01,2020/10/01,2020/11/01,2020/12/01,2021/01/01,2021/02/01,2021/03/01,2021/04/01,2021/05/01,2021/06/01,2021/07/01,2021/08/01,2021/09/01,2021/10/01,2021/11/01,2021/12/01,2022/01/01,2022/02/01,2022/03/01,2022/04/01,2022/05/01,2022/06/01,2022/07/01,2022/08/01,2022/09/01,2022/10/01,2022/11/01,2022/12/01,2023/01/01,2023/02/01,2023/03/01,2023/04/01,2023/05/01,2023/06/01,2023/07/01,2023/08/01,2023/09/01,2023/10/01,2023/11/01,2023/12/01,2024/01/01,2024/02/01,2024/03/01,2024/04/01,2024/05/01,2024/06/01,2024/07/01,2024/08/01,2024/09/01,2024/10/01,2024/11/01,2024/12/01,2025/01/01,2025/02/01,2025/03/01,2025/04/01,2025/05/01,2025/06/01,2025/07/01,2025/08/01,2025/09/01,2025/10/01,2025/11/01,2025/12/01,2026/01/01,2026/02/01,2026/03/01,2026/04/01 | xType = date | yAxisFormat = | showSymbols = | y1 = 10097003,10370374,8792159,8941196,7730585,8096248,6653053,7707543,10114598,7503416,6761878,8479478,6306309,7029498,7793566,8952099,7201718,7403015,9094546,8753927,8887701,8836025,7012428,8297104,9776325,7383846,6846537,6478883,7844796,6800241,7032236,8907342,8070578,8878639,7374038,10399016,8843049,11735279,15986235,6536323,7794540,6340229,6963086,7077486,7262235,8135613,7350657,5924829,5389757,6706817,5468323,6028296,7420864,8089314,9463391,8952807,8032717,7976343,8839864,8511738,9062568,9099531,9196338,11036657,13507384,12075399,13497219,15603301,16689908,15728651,14140022,16914100,13589392,14818070,19016624,15144543,14891967,17026541,17298554,14032388,14847453,17608848,19967345,16730368,14386645,12098112,13610799,13122059,13901295,13433194,15511876,15674859,17748912,26144678,22153348,21554742,23027727,29476088,31116352,31891299,31844500,26251290,24446253,43524978,42154325,30934003,60141744,38114834,35256147,36402985,32703811,27105782,45361042,55198883,39017796,28042128,37231311,52390983,65887852,43219295,50138160,26315414,38336237,63309024 }} }} {| class="wikitable mw-collapsible mw-collapsed" ! 日期 !! 浏览量 |- | 2026-04-01 || 63,309,024 |- | 2026-03-01 || 38,336,237 |- | 2026-02-01 || 26,315,414 |- | 2026-01-01 || 50,138,160 |- | 2025-12-01 || 43,219,295 |- | 2025-11-01 || 65,887,852 |- | 2025-10-01 || 52,390,983 |- | 2025-09-01 || 37,231,311 |- | 2025-08-01 || 28,042,128 |- | 2025-07-01 || 39,017,796 |- | 2025-06-01 || 55,198,883 |- | 2025-05-01 || 45,361,042 |- | 2025-04-01 || 27,105,782 |- | 2025-03-01 || 32,703,811 |- | 2025-02-01 || 36,402,985 |- | 2025-01-01 || 35,256,147 |- | 2024-12-01 || 38,114,834 |- | 2024-11-01 || 60,141,744 |- | 2024-10-01 || 30,934,003 |- | 2024-09-01 || 42,154,325 |- | 2024-08-01 || 43,524,978 |- | 2024-07-01 || 24,446,253 |- | 2024-06-01 || 26,251,290 |- | 2024-05-01 || 31,844,500 |- | 2024-04-01 || 31,891,299 |- | 2024-03-01 || 31,116,352 |- | 2024-02-01 || 29,476,088 |- | 2024-01-01 || 23,027,727 |- | 2023-12-01 || 21,554,742 |- | 2023-11-01 || 22,153,348 |- | 2023-10-01 || 26,144,678 |- | 2023-09-01 || 17,748,912 |- | 2023-08-01 || 15,674,859 |- | 2023-07-01 || 15,511,876 |- | 2023-06-01 || 13,433,194 |- | 2023-05-01 || 13,901,295 |- | 2023-04-01 || 13,122,059 |- | 2023-03-01 || 13,610,799 |- | 2023-02-01 || 12,098,112 |- | 2023-01-01 || 14,386,645 |- | 2022-12-01 || 16,730,368 |- | 2022-11-01 || 19,967,345 |- | 2022-10-01 || 17,608,848 |- | 2022-09-01 || 14,847,453 |- | 2022-08-01 || 14,032,388 |- | 2022-07-01 || 17,298,554 |- | 2022-06-01 || 17,026,541 |- | 2022-05-01 || 14,891,967 |- | 2022-04-01 || 15,144,543 |- | 2022-03-01 || 19,016,624 |- | 2022-02-01 || 14,818,070 |- | 2022-01-01 || 13,589,392 |- | 2021-12-01 || 16,914,100 |- | 2021-11-01 || 14,140,022 |- | 2021-10-01 || 15,728,651 |- | 2021-09-01 || 16,689,908 |- | 2021-08-01 || 15,603,301 |- | 2021-07-01 || 13,497,219 |- | 2021-06-01 || 12,075399 |- | 2021-05-01 || 13,507,384 |- | 2021-04-01 || 11,036,657 |- | 2021-03-01 || 9,196,338 |- | 2021-02-01 || 9,099,531 |- | 2021-01-01 || 9,062,568 |- | 2020-12-01 || 8,511,738 |- | 2020-11-01 || 8,839,864 |- | 2020-10-01 || 7,976,343 |- | 2020-09-01 || 8,032,717 |- | 2020-08-01 || 8,952,807 |- | 2020-07-01 || 9,463,391 |- | 2020-06-01 || 8,089,314 |- | 2020-05-01 || 7,420,864 |- | 2020-04-01 || 6,028,296 |- | 2020-03-01 || 5,468,323 |- | 2020-02-01 || 6,706,817 |- | 2020-01-01 || 5,389,757 |- | 2019-12-01 || 5,924,829 |- | 2019-11-01 || 7,350,657 |- | 2019-10-01 || 8,135,613 |- | 2019-09-01 || 7,262,235 |- | 2019-08-01 || 7,077,486 |- | 2019-07-01 || 6,963,086 |- | 2019-06-01 || 6,340,229 |- | 2019-05-01 || 7,794,540 |- | 2019-04-01 || 6,536,323 |- | 2019-03-01 || 15,986,235 |- | 2019-02-01 || 11,735,279 |- | 2019-01-01 || 8,843,049 |- | 2018-12-01 || 10,399,016 |- | 2018-11-01 || 7,374,038 |- | 2018-10-01 || 8,878,639 |- | 2018-09-01 || 8,070,578 |- | 2018-08-01 || 8,907,342 |- | 2018-07-01 || 7,032,236 |- | 2018-06-01 || 6,800,241 |- | 2018-05-01 || 7,844,796 |- | 2018-04-01 || 6,478,883 |- | 2018-03-01 || 6,846,537 |- | 2018-02-01 || 7,383,846 |- | 2018-01-01 || 9,776,325 |- | 2017-12-01 || 8,297,104 |- | 2017-11-01 || 7,012,428 |- | 2017-10-01 || 8,836,025 |- | 2017-09-01 || 8,887,701 |- | 2017-08-01 || 8,753,927 |- | 2017-07-01 || 9,094,546 |- | 2017-06-01 || 7,403,015 |- | 2017-05-01 || 7,201,718 |- | 2017-04-01 || 8,952,099 |- | 2017-03-01 || 7,793,566 |- | 2017-02-01 || 7,029,498 |- | 2017-01-01 || 6,306,309 |- | 2016-12-01 || 8,479,478 |- | 2016-11-01 || 6,761,878 |- | 2016-10-01 || 7,503,416 |- | 2016-09-01 || 10,114,598 |- | 2016-08-01 || 7,707,543 |- | 2016-07-01 || 6,653,053 |- | 2016-06-01 || 8,096,248 |- | 2016-05-01 || 7,730,585 |- | 2016-04-01 || 8,941,196 |- | 2016-03-01 || 8,792,159 |- | 2016-02-01 || 10,370,374 |- | 2016-01-01 || 10,097,003 |} 数据来源:[https://stats.wikimedia.org/#/zh.wiktionary.org/reading/total-page-views/normal|table|1-year|~total|monthly Total page views] ===热词=== 页面浏览量最高的词条: {{Wiktionary:統計/熱詞 |year=2024 |month=6 |t1=尛 |cat1=[[:Category:漢字|漢字]] |v1=5,385 |m1=82.8 |t2=。 |cat2=[[:Category:標點符號|標點符號]] |v2=5,355 |m2=94.4 |t3=! |cat3=[[:Category:標點符號|標點符號]] |v3=3,407 |m3=74.2 |t4=凪 |cat4=[[:Category:和製漢字|和製漢字]]|v4=3,120 |m4=62.0 |t5=雫 |cat5=[[:Category:和製漢字|和製漢字]] |v5= 3,114 |m5=64.6 |t6=又双叒叕 |cat6=[[:Category:漢語副詞|漢語副詞]] |v6=2,528 |m6=73.4 |t7=你好 |cat7=[[:Category:漢語感嘆詞|漢語感嘆詞]] |v7=2,513 |m7=41.1 |t8=昶 |cat8=[[:Category:漢字|漢字]] |v8=2,412 |m8=56.7 |t9=肉便器 |cat9=[[:Category:漢語名詞|漢語名詞]] |v9=2,345 |m9=78.4 |t10=辻 |cat10=[[:Category:和製漢字|和製漢字]] |v10=2,150 |m10=71.8 }} 数据来源:[https://pageviews.toolforge.org/topviews/?project=zh.wiktionary.org&platform=all-access&date={{CURRENTYEAR}}-{{CURRENTMONTH}}&excludes= Topviews Analysis - Most viewed pages of a project] ==收录词条== {{See|Wiktionary:统计/各语言词条}} ==参看== *[[Special:Statistics|基本统计]] [[Category:維基詞典統計]] dsuguhb2scedjf3942cexsrew5bmqg8 三不五時 0 138706 9752878 7228777 2026-05-05T13:20:00Z Fglffer 55252 9752878 wikitext text/x-wiki ==漢語== {{zh-forms|s=三不五时}} ===發音=== {{zh-pron |m=sān不wǔshí |c=saam1 bat1 ng5 si4 |h=pfs=sâm-put-ńg-sṳ̀ |mn=xm,zz,tw:sam-put-gō͘-sî/qz,jj,ph:sam-put-gǒ͘-sî |cat=cy }} ===成語=== {{head|zh|成語}} # {{lb|zh|Cantonese|Southern Min|Taiwanese Mandarin|Taiwanese Hakka}} [[不時]],[[經常]],[[時常]] #* {{quote-song|zh|year=1997|title=w:[[世界第一等 (歌曲)|世界第一等]]|artist=w:劉德華|composer=w:伍佰|lyricist=w:李安修;陳富榮}} #*: {{zh-q|一 杯 酒 兩{nn̄g} 角 銀 三不五時 嘛 來 鬥陣|一杯酒 兩分錢 '''經常'''湊在一起|TW}} #* {{zh-x|她 說:「^剃頭 不 好看;我 要 做 菜姑。三不五時 還 可以 去 看 歌仔戲、歌劇。」||M-TW|ref='''2005年12月20日''',{{lang|zh|釋悟因}},{{lang|zh|〈戰後佛教在台灣——佛教面對現代挑戰的回應〉}},刊於{{lang|zh|《香光莊嚴雜誌》}}第84期[https://books.google.com/books?id=E6H_AgAAQBAJ&pg=PA19 第19頁]}} ====同義詞==== * {{zh-l|隔三差五}} * {{qual|客家語}} {{zh-l|三不二時}} ===來源=== * {{thcwd|242}} lgebhx8f35mqzil6xilllp5uy1kiqv0 斯威士蘭 0 144711 9752912 9752853 2026-05-05T14:46:38Z TongcyDai 53191 9752912 wikitext text/x-wiki ==漢語== {{zh-forms|s=斯威士兰|gloss=-}} ===發音=== {{zh-pron |m=Sīwēishìlán |c=si1 wai1 si6 laan4 |mn=qz:Sir-ui-sǐr-lân/xm,zz:Su-ui-sū-lân |cat=pn }} ===專有名詞=== {{head|zh|專有名詞}} # {{lb|zh|中國大陸|香港}} {{place|zh|國家|r/南部非洲}} ====用法說明==== * 雖然該國官方名稱已於2018年從 Swaziland 更改為 eSwatini in 2018,中國大陸仍用譯名{{zh-l|斯威士蘭|tr=-}}作為該國的正式名稱。臺灣則隨著國名變更將譯名替換為{{zh-l|史瓦帝尼|tr-}}。 ====近義詞==== * {{qualifier|臺灣}} {{zh-l|史瓦帝尼}} imynf37pgzvu8bhowryhtcpbr3p3c23 9752913 9752912 2026-05-05T14:46:46Z TongcyDai 53191 9752913 wikitext text/x-wiki ==漢語== {{zh-forms|s=斯威士兰|gloss=-}} ===發音=== {{zh-pron |m=Sīwēishìlán |c=si1 wai1 si6 laan4 |mn=qz:Sir-ui-sǐr-lân/xm,zz:Su-ui-sū-lân |cat=pn }} ===專有名詞=== {{head|zh|專有名詞}} # {{lb|zh|中國大陸|香港}} {{place|zh|國家|r/南部非洲}} ====用法說明==== * 雖然該國官方名稱已於2018年從 Swaziland 更改為 eSwatini in 2018,中國大陸仍用譯名{{zh-l|斯威士蘭|tr=-}}作為該國的正式名稱。臺灣則隨著國名變更將譯名替換為{{zh-l|史瓦帝尼|tr=-}}。 ====近義詞==== * {{qualifier|臺灣}} {{zh-l|史瓦帝尼}} bdpn2yzreg9p0i9ctj5ql3krxcyog8w doch 0 296526 9752927 9556618 2026-05-05T19:08:06Z Tc14Hd 98425 /* 语气助词 */ 9752927 wikitext text/x-wiki ==德语== ===发音=== * {{IPA|de|/dɔx/}} {{a|de|standard}} * {{IPA|de|/dɔ/|/do/}} {{a|de|主要见于德国南部和奥地利;在德国北部,处于部分位置,如{{l|de|nicht}}前时会如此发音}} * {{audio|de|De-doch.ogg}} * {{audio|de|De-doch2.ogg|a=柏林}} ===连词=== #可是、然而、但仍然、不过另一方面、却 ===副词=== #却、还是、仍然 #[重读](用于对否定的问题作肯定回答) #因为… ===语气助词=== #但是、不过、然而 #::''[[ich|Ich]] [[sehe]] [[ihn]] [[oft]], doch [[kennen]] [[wir]] [[uns]] [[kaum]].'' 我们常见面,但不熟。 #[重读]毕竟、究竟、归根结底、还是、依然 #::''[[ich|Ich]] [[habe]] [[ihm]] [[abgeraten]], [[aber]] [[er]] [[hat]] [[es]] ([[nun]]) doch [[getan]].'' 我劝过他了,但他还是照做不误。 #::''[[also|Also]] doch!'' 我跟你说过了的。 #(用于加强命令式的语气,表示请求或不耐烦;''doch [[mal]]'' 表示鼓励) #::''[[lassen|Lassen]] [[Sie]] [[mich]] doch [[mal]] [[das]] [[Foto]] [[sehen]]!'' 让我看那张照片! #::''[[aufregen|Reg]] [[dich]] doch [[nicht]] [[so]] [[aufregen|auf]]!'' 不要那么激动 #::''[[gehen|Gehen]] [[Sie]] doch [[mal]] [[nach]] [[Italien]]!'' 你为什么不去意大利呢? #(将陈述句转变为问句,期望对方给出肯定或有利的回复)= ''[[nicht wahr]]'' #::''[[du|Du]] [[kannst]] [[mir]] doch [[helfen]]?'' 你能帮我的,对吧? #::''[[er|Er]] [[kommt]] doch [[heute]]?'' 他今天要来的,对吧? #::''[[du|Du]] [[glaubst]] doch [[nicht]], [[dass]] [[ich]] [[es]] [[getan]] [[habe]]?'' 你不认为那件事是我做的吗? #(对另一讲话者进行回应) ##(对另一讲话者的否定陈述句表示不同意) ##::''[[er|Er]] [[hat]] [[nie]] [[etwas]] [[für]] [[uns]] [[getan]]. — Doch, [[er]] [[hat]] [[mir]] [[einmal]] 100 [[Mark]] [[geliehen]].'' 他从来没为我们做过什么。—不的,以前他有借100马克给我。 ##(对另一讲话者的肯定陈述句表示同意) ##::''[[er|Er]] [[ist]] [[eigentlich]] [[ganz]] [[intelligent]]. — Doch, (doch).'' 他真的很聪明。—嗯。 ##(用反语、讽刺的手法达到强调目的) ##::''[[und|Und]] [[die]] [[Anzeigen]], doch, [[das]] [[interessiert]] [[mich]] [[immer]]''. 还有那些总是很“有意思”的通告。 ##(对否定疑问句作出肯定答复,=法:''[[si]]'') ##::''[[bist|Bist]] [[du]] [[nicht]] [[zufrieden]]? — Doch!'' 你不满意吗?—不,我很满意了。 ##(单用或与 ''[[ich]] [[glaube]]/[[denke]]/[[dächte]]'' 连用,表达肯定/同意语气) ##::''[[kommt|Kommt]] [[er]] [[bald]]? — Doch!'' 他很快就到吗?—嗯。 ##(在否定答复中加强 ''[[nein]]/[[nicht]]'' 的语气) ##::''[[Mutti]], [[kann]] [[ich]] [[ein]] [[Stück]] [[Schokolade]] [[haben]]? — [[nein|Nein]] doch, [[du]] [[hast]] [[jetzt]] [[genug]] [[gegessen]].'' 妈妈,我能再吃一块巧克力吗?—不行,吃的已经够多了。 #(加强感叹句的语气) #::''[[wie|Wie]] [[haben]] [[wir]] doch [[gelacht]]!'' 我们那笑的啊 #::''[[wie|Wie]] [[winzig]] doch [[alles]] [[von]] [[hier]] [[oben]] [[aussieht]]!'' 从这里看去,一切都多么的渺小啊! #(用在表达愿望的感叹句中) #::''[[wenn|Wenn]] [[er]] doch [[jetzt]] [[käme]]!'' 他要是现在来多好。 #(表示记忆/理解能力受限,想不起来/无法理解) #::''[[wie|Wie]] [[hieß]] [[er]] doch/[[noch]]?'' 他叫什么来着? #::''[[was|Was]] [[hat]] [[er]] doch [[gesagt]]?'' 他说什么来着? #::''[[wie|Wie]] [[konnte]] [[er]] doch [[so]] [[was]] [[tun]]?''  #(''[[oder]] doch'')至少,无论怎样 #::''[[es|Es]] [[geht]] [[ihm]] [[wieder]] [[gut]], [[oder]] doch [[viel]] [[besser]].'' 他又恢复健康了——至少是好多了。 [[Category:德语连词]] [[Category:德语副词]] bai1b8qhdwa1wfyb3mpdsc406y7iicn gesehen 0 297055 9752910 8941991 2026-05-05T14:43:27Z TongcyDai 53191 9752910 wikitext text/x-wiki ==德語== ===發音=== * {{IPA|de|/ɡəˈzeːən/}} * {{audio|de|LL-Q188 (deu)-Sebastian Wallroth-gesehen.wav}} * {{audio|de|De-gesehen.ogg|a=柏林}} * {{rhymes|de|eːən|s=3}} ===分詞=== {{head|de|過去分詞}} # {{past participle of|de|sehen}} ====變格==== {{de-adecl}} grg1z265xdw7wka1lzcyspusslmw0vd 0 306477 9752879 8537597 2026-05-05T13:22:40Z Fglffer 55252 /* 釋義 */ 9752879 wikitext text/x-wiki {{character info}} ==跨語言== {{stroke order|strokes=8}} ===漢字=== {{Han char|rn=38|rad=女|as=05|sn=8|four=47492|canj=VNF|ids=⿰女尔}} ====來源==== * {{Han ref|kx=0257.200|dkj=06130|dj=0522.160|hdz=21039.090|ch=3830002.08|uh=59B3|ud=22963|bh=A970|bd=43376}} ==漢語== ===字源=== ; 詞源1 : 衍生自{{zh-l|*你}},將偏旁{{zh-l|*亻}}變為{{zh-l|*女}}。對照{{zh-l|*她}},來自{{zh-l|*他}}。 ; 詞源2 : {{Han simp|嬭|f=爾|t=尔}}。 ===詞源1=== {{zh-forms|t2=你|s=你}} ====發音==== {{zh-pron |m=nǐ |m-s=nyi3 |c=nei5 |c-t=nei1 |g=n3 |h=pfs=ngì/ǹ/n:ǹg/n:nì;gd=ngi2/n2 |j=ni2 |md=nī |mn=xm,zz,kh,tn,tc,yl,hc,sg:lí/qz,lk,sx,km,hc,sg:lír/tp,mg,sg,pn:lú/ní |mn_note=lí/lír/lú - 白讀 (代替{{zh-l|*汝}}); ní - 文讀 |mn-t=le2 |w=sh:6gni,5ni |x=nyi3 |ma=y |ca=yue-nei5.ogg |cat=pron }} ====釋義==== {{head|zh|漢字}} # {{lb|zh|chiefly|Taiwanese|香港}} [[稱呼]][[女性]]的第三人稱 =====使用說明===== 該字主要用於繁體中文,雖然簡體中文很少用該字,但某些情況下仍會出現。 =====參見===== {{cmn-personal pronouns}} ===詞源2=== {{zh-see|嬭|v}} ===組詞=== {{col3|zh|妳們|乾阿妳|小妳妳|芋妳|阿妳|馬妳子|黃妳}} ==日語== {{ja-kanji forms|妳|嬭|ex=y}} ===漢字=== {{ja-kanji|grade=|rs=女05}} # {{ja-ex shin|嬭|sort=女05}} ====讀法==== {{ja-readings |goon=ない, ね, に |kanon=だい, でい, じ |kun=はは-, はぐく-む, あね-}} jbwg3udfzkigu90y0oavlfljt01ps5d 0 310217 9752914 6765243 2026-05-05T14:48:40Z Fglffer 55252 9752914 wikitext text/x-wiki {{character info}} ==跨語言== ===漢字=== {{Han char|rn=86|rad=火|as=10|sn=14|four=98861|canj=FOIR|ids=⿰火倉}} ====來源==== * {{Han ref|kx=0680.101|hdz=32223.170|uh=7197}} ==漢語== {{zh-forms|s=炝}} ===發音=== {{zh-pron |m=qiàng |c=coeng3 |mn=tw:chhèng |cat=v }} ===釋義=== {{head|zh|漢字}} # 先用[[沸水]]或[[油]]稍微[[烹調]],再加[[醬汁]][[調味]] # {{alt form|zh|嗆|tr=qiàng}} ===來源=== * {{thcwd|10647}} 7pkolxo8lae59y4v2x4fmoja4l34u1g 阿媽 0 573464 9752900 9367871 2026-05-05T13:53:02Z Fglffer 55252 /* 漢語 */ 9752900 wikitext text/x-wiki ==漢語== ===詞源1=== ====發音1==== {{zh-forms|s=阿妈|alt=亞媽}} {{zh-pron |m=āmā |c=aa3 maa1 |mn=a-mâ |mn-t=a1 ma5 |cat=n,pn }} =====名詞===== {{head|zh|名詞}} # {{lb|zh|regional}} [[媽媽]],[[母親]] # {{lb|zh|regional}} [[女傭]],[[奶媽]] ======近義詞====== {{zh-dial|媽媽}} =====衍生詞===== {{col3|zh|阿媽係女人|阿媽都唔認得}} ====發音2==== {{zh-forms|s=阿妈|alt=阿嬤,俺媽,俺嬤,阿罵-臺灣;非標準:āmà}} {{zh-pron |m=āmā,āmà,2n=發音模仿閩南語 |c=aa3 maa5 |mn=a-má |mn-t=a1 ma2 |cat=n }} =====名詞===== {{head|zh|名詞}} # {{lb|zh|chiefly|Taiwan Mandarin|Southern Min|Puxian Min|dialectal Eastern Min|Zhao'an Hakka}} [[祖母]];[[外祖母]] # {{lb|zh|閩南語}} [[年長]][[女性]] ======近義詞====== {{zh-dial|祖母}} {{zh-dial|外祖母}} ====派生詞==== * {{desc|en|ama|bor=1}} * {{desc|tl|ama|bor=1}} =====專有名詞===== {{zh-proper noun}} # {{lb|zh|Hong Kong|chiefly|Tanka|Weitou|Hakka|religion}} [[媽祖]] ===詞源2=== {{zh-forms|s=阿妈|alt=阿馬,阿瑪|gloss=-}} 源自{{bor|zh|juc|-}}或{{bor|zh|mnc|ᠠᠮᠠ}}。 ====發音==== {{zh-pron |m=àmā,āmā,tl=y |c=aa3 maa5,aa3 maa1 |cat=n }} ====名詞==== {{head|zh|名詞}} # {{lb|zh|historical}} {{zh-alt-form|阿瑪||[[父親]]:常見於蒙古語、女真語、滿語的語境下}} ===來源=== * {{thcwd|4621}} * {{cite-book|2009|周樹佳|香港諸神——起源、廟宇與崇拜|pageurl=https://books.google.ca/books?id=6TqqAAAAQBAJ&pg=PA49||49}} {{zh-cat|女性家庭成員}} 56q9omj4nlf4mxssjcp61lekvw005g7 不同凡響 0 588106 9752876 7618227 2026-05-05T13:10:50Z Fglffer 55252 Fglffer移动页面[[不同凡响]]至[[不同凡響]],不留重定向 7618227 wikitext text/x-wiki ==漢語== ===寫法=== {{漢語寫法|简=[[不]][[同]][[凡]][[响]]|正=}} ===讀音=== {{zh-pron|m=bùtóngfánxiǎng}} ===翻譯=== {{翻译-顶}} *德语: *英语: *西班牙语: *葡萄牙语: *法语: *意大利语: *俄语:[[необычное]] [[звучание]], [[необычный]] [[голос]] (''[[обр.]]'' [[в]] знач. [[выдающийся]], [[незаурядный]], [[необычный]], [[исключительный]]) *日语: *韩语: *越南语: {{翻译-底}} taoou0t7cv96ur9kpzdzipi2uf52krq 9752877 9752876 2026-05-05T13:13:23Z Fglffer 55252 9752877 wikitext text/x-wiki ==漢語== {{zh-forms|type=22|s=不同凡响|lit=不平凡的和弦}} ===發音=== {{zh-pron |m=不tóngfánxiǎng |c=bat1 tung4 faan4 hoeng2 |cat=cy }} ===成語=== {{head|zh|成語}} # {{lb|zh|比喻}} [[特出]]、不[[平凡]]的[[人]]或[[事物]] ====同義詞==== * {{zh-l|非同凡響}} ====衍生詞==== {{col3|zh|神仙放屁——不同凡響}} s0m2y18gcg9jcb50l7m0pn1a4w77ao8 步人後塵 0 589169 9753749 8165359 2026-05-06T07:30:21Z Fglffer 55252 9753749 wikitext text/x-wiki ==漢語== {{zh-forms|s=步人后尘|type=112}} ===發音=== {{zh-pron |m=bùrénhòuchén |c=bou6 jan4 hau6 can4 |cat=cy }} ===成語=== {{head|zh|成語}} # [[跟隨]][[別人]]的[[腳印]][[前進]] # {{lb|zh|比喻}} [[追隨]]或[[效仿]]他人的[[言行]],缺乏[[創見]] ====同義詞==== * {{zh-l|步後塵}} cnesf81lr62yqstsb21cvnobiki7p06 孤苦伶仃 0 609235 9752952 9245078 2026-05-05T22:55:51Z Fglffer 55252 /* 漢語 */ 9752952 wikitext text/x-wiki ==漢語== {{zh-forms|alt=孤苦零丁,孤苦伶丁,孤苦零仃|type=22}} ===發音=== {{zh-pron |m=gūkǔlíngdīng |c=gu1 fu2 ling4 ding1 |cat=cy }} ===成語=== {{head|zh|成語}} # [[孤單]][[貧苦]],[[無依無靠]] ====近義詞==== * {{zh-l|舉目無親}} * {{zh-l|孤身隻影}} * {{zh-l|顧影自憐}} * {{zh-l|形影相弔}} * {{zh-l|形單影隻}} * {{zh-l|孑然一身}} 9thv4b2ja56w65hh485uj0yp63czn68 9752955 9752952 2026-05-05T23:01:52Z Fglffer 55252 /* 近義詞 */ 9752955 wikitext text/x-wiki ==漢語== {{zh-forms|alt=孤苦零丁,孤苦伶丁,孤苦零仃|type=22}} ===發音=== {{zh-pron |m=gūkǔlíngdīng |c=gu1 fu2 ling4 ding1 |cat=cy }} ===成語=== {{head|zh|成語}} # [[孤單]][[貧苦]],[[無依無靠]] ====同義詞==== * {{zh-l|舉目無親}} * {{zh-l|孤身隻影}} * {{zh-l|形單影隻}} * {{zh-l|形影相弔}} * {{zh-l|顧影自憐}} * {{zh-l|孑然一身}} 2jgzthqhmopmso9ieg11zhchiu0hj7p 後塵 0 629300 9753166 8136731 2026-05-06T06:41:45Z Fglffer 55252 9753166 wikitext text/x-wiki ==漢語== {{zh-forms|s=后尘}} ===發音=== {{zh-pron |m=hòuchén |c=hau6 can4 |mn=qz:hiǒ-tîn/tw,xm,zz:hō͘-tîn/xm:āu-tîn |cat=n }} ===名詞=== {{head|zh|名詞}} # {{lb|zh|formal}} [[行走]]時後面[[揚起]]的[[塵土]] # {{lb|zh|figurative}} 某人的[[腳步]]後 # {{lb|zh|figurative}} [[生命]][[歷程]];[[前人]]走過的[[道路]] ====衍生詞==== {{col3|zh|步人後塵}} 99snvbsd6p6rxluaj5riauipyub6bar 9753751 9753166 2026-05-06T07:34:43Z Sayonzei 40728 /* 名詞 */ 9753751 wikitext text/x-wiki ==漢語== {{zh-forms|s=后尘}} ===發音=== {{zh-pron |m=hòuchén |c=hau6 can4 |mn=qz:hiǒ-tîn/tw,xm,zz:hō͘-tîn/xm:āu-tîn |cat=n }} ===名詞=== {{head|zh|名詞}} # {{lb|zh|formal}} [[行走]]時後面[[揚起]]的[[塵土]] # {{lb|zh|figurative}} 某人的[[腳步]]後 # {{lb|zh|figurative}} [[生命]][[歷程]];[[前人]]走過的[[道路]] ====衍生詞==== {{col3|zh|步人後塵}} ==日語== {{ja-kanjitab|こう|じん|yomi=o}} ===發音=== {{ja-pron|こうじん|acc=0|acc_ref=DJR,NHK,NKD2}} ===名詞=== {{ja-noun|こうじん|hhira=こうぢん}} # [[行走]]時後面[[揚起]]的[[塵土]] ====衍生詞==== * {{ja-r|後塵を拝する|こうじん を はい する}} ===參考資料=== <references/> ==朝鮮語== {{ko-hanjatab}} ===名詞=== {{ko-noun|hangeul=후진}} # {{hanja form of|후진}} e1ftovle9j70f7ps54c7oludk75ur8h 跡象 0 635463 9752873 8295336 2026-05-05T12:37:56Z ~2026-27332-72 133188 /* */ 我多數我和第一位 9752873 wikitext text/x-wiki 呼籲警方團體反對的童話阿道歉地鐵qi愛誒二誒黃浦江唔拖地 ==漢語== {{zh-forms|s=迹象}} ===讀音=== {{zh-pron |m=跡xiàng |c=zik1 zoeng6 |mn=xm:chek-siōng/qz:chiak-siǒng/zz:chek-chhiāng |cat=n}} ===名詞=== {{head|zh|名詞}} # [[表露]]出的不[[明显]]的[[痕迹]]、[[现象]](可借以[[推断]][[过去]]或[[将来]])。 ===翻譯=== {{翻译-顶}} *俄语:[[следы]], [[признаки]] {{翻译-底}} 3vtsk5r2he5cssi76t361dkndcjhpax 9752888 9752873 2026-05-05T13:35:48Z Sayonzei 40728 取消[[Special:Contributions/~2026-27332-72|~2026-27332-72]] ([[User talk:~2026-27332-72|对话]])的编辑;更改回[[Special:Contributions/TongcyBot|TongcyBot]]的最后一个版本 8295336 wikitext text/x-wiki ==漢語== {{zh-forms|s=迹象}} ===讀音=== {{zh-pron |m=跡xiàng |c=zik1 zoeng6 |mn=xm:chek-siōng/qz:chiak-siǒng/zz:chek-chhiāng |cat=n}} ===名詞=== {{head|zh|名詞}} # [[表露]]出的不[[明显]]的[[痕迹]]、[[现象]](可借以[[推断]][[过去]]或[[将来]])。 ===翻譯=== {{翻译-顶}} *俄语:[[следы]], [[признаки]] {{翻译-底}} qiux10f9zpxjxv5p92jjtgxajdolaji 舉目無親 0 639715 9752953 8122094 2026-05-05T22:59:16Z Fglffer 55252 9752953 wikitext text/x-wiki ==漢語== {{zh-forms|s=举目无亲|type=211|lit=四處張望看不到親人}} ===發音=== {{zh-pron |m=jǔmùwúqīn |c=geoi2 muk6 mou4 can1 |cat=cy }} ===成語=== {{head|zh|成語}} # 一人[[單身]]在外,[[孤單]]無[[依靠]] hfwowxygzfz1pyy75ovb1g93ca5o99h 落胎 0 669130 9752891 9694908 2026-05-05T13:40:05Z Fglffer 55252 9752891 wikitext text/x-wiki ==漢語== {{zh-forms}} ===發音=== {{zh-pron |m=luòtāi |c=lok6 toi1 |h=pfs=lau-thôi |mn=xm,zz,tp,kh,hc,mg,tc,tn,yl:làu-the/qz,km,hc,lk,sx:làu-ther/sg:làu-thai |cat=v }} ===動詞=== {{zh-verb}} # [[墮胎]] # {{lb|zh|chiefly|Southern Min|Taiwanese Hakka|Taiwanese Mandarin}} [[流產]] ====同義詞==== {{zh-dial|墮胎}} {{zh-dial|流產}} {{C|zh|醫學|流產}} ==朝鮮語== {{ko-hanjatab}} ===名詞=== {{ko-noun|hj|hangeul=낙태}} # {{hanja form of|낙태|流產}} gl3xwr9h64i0x3e39flapx3mpsagg80 こぐ 0 715958 9752887 5490422 2026-05-05T13:34:43Z Sayonzei 40728 9752887 wikitext text/x-wiki ==日語== {{ja-see|漕ぐ}} nqurg630kk5sbpi8c2yehnkaxnz55xq せんこう 0 726749 9752906 5444945 2026-05-05T14:03:20Z Fglffer 55252 9752906 wikitext text/x-wiki {{also|せんごう|ぜんこう|ぜんごう}} ==日語== {{ja-see|先行|選考|専攻|線香|閃光|選好|潜航|穿孔|戦功|潜行|専行|先公|先攻|鮮紅|繊巧|選鉱|浅香|先考|遷幸|潜幸|銑鋼|潜降|先后|先後|先皇|千行|染工|浅紅|浅黄|潜考|践行|占考|宣誥|扇工|旋行|栓孔|船工|賤工|跣行|餞行|鮮好|旋光}} fweyyteye88e41v1eymkp9t5ctdz78c 専攻 0 920536 9752907 7326829 2026-05-05T14:41:52Z Fglffer 55252 9752907 wikitext text/x-wiki ==日語== {{ja-kanjitab|せん|こう|yomi=o}} ===發音=== {{ja-pron|せんこう|acc=0|acc_ref=NHK}} {{ja-suru-acc-table|せんこう|acc=0}} ===名詞=== {{ja-noun|せんこう}} # [[專業]][[領域]] ====同義詞==== * {{ja-r|専門|せんもん|專業科目}} ===動詞=== {{ja-verb-suru|せんこう|tr=transitive}} # [[專攻]] #* {{quote-web|ja |work=ja:国会会議録検索システム |publisher=ja:国立国会図書館 |title=ja:第204回国会 参議院 憲法審査会 第4号 令和3年6月2日 |date=2021-06-02 |url=https://kokkai.ndl.go.jp/txt/120414183X00420210602/4 |quotee=ja:飯島滋明 |text=経済学部の教員ですけれども、憲法を'''専攻'''しています名古屋学院大学の飯島と申します。 |transliteration=Keizai gakubu no kyōin desu keredo mo, kenpō o '''senkō''' shite i-masu Nagoya Gakuin Daigaku no Ījima to mōshi-masu. |translation=我叫飯島,是名古屋學院大學經濟學系的教授,'''專攻'''憲法。}} ====活用==== {{ja-suru|せんこう}} ===來源=== <references/> :* {{R:Kanjipedia Kotoba|0004055100}} e7e9c5cedbg1gg5nt7g276k1ipsw6zd 友邦 0 991064 9752863 7771466 2026-05-05T12:11:48Z Fglffer 55252 9752863 wikitext text/x-wiki ==漢語== {{zh-forms}} ===發音=== {{zh-pron |m=yǒubāng |c=jau5 bong1 |h=pfs=yû-pâng |mn=iú-pang |cat=n }} ===名詞=== {{head|zh|名詞}} # [[保持]][[親密]][[友好]]關係的[[國家]] ====同義詞==== {{syn-saurus|zh|盟國}} ====反義詞==== {{ant-saurus|zh|盟國}} ==日語== {{ja-kanjitab|ゆう|ほう|yomi=o}} ===發音=== {{ja-pron|ゆうほう|acc=0|acc_ref=DJR}} ===名詞=== {{ja-noun|ゆうほう}} # [[保持]][[親密]][[友好]]關係的[[國家]] ===來源=== <references/> ==朝鮮語== {{ko-hanjatab}} ===Noun=== {{ko-noun|hangeul=우방}} # {{hanja form of|우방}} ==越南語== {{vi-hantutab}} ===名詞=== {{vi-noun|sc=Hani}} # {{han tu form of|hữu bang}} llw4iuzziq1mb7k3diuxq7b4msn4ih8 9752864 9752863 2026-05-05T12:12:02Z Fglffer 55252 /* 朝鮮語 */ 9752864 wikitext text/x-wiki ==漢語== {{zh-forms}} ===發音=== {{zh-pron |m=yǒubāng |c=jau5 bong1 |h=pfs=yû-pâng |mn=iú-pang |cat=n }} ===名詞=== {{head|zh|名詞}} # [[保持]][[親密]][[友好]]關係的[[國家]] ====同義詞==== {{syn-saurus|zh|盟國}} ====反義詞==== {{ant-saurus|zh|盟國}} ==日語== {{ja-kanjitab|ゆう|ほう|yomi=o}} ===發音=== {{ja-pron|ゆうほう|acc=0|acc_ref=DJR}} ===名詞=== {{ja-noun|ゆうほう}} # [[保持]][[親密]][[友好]]關係的[[國家]] ===來源=== <references/> ==朝鮮語== {{ko-hanjatab}} ===名詞=== {{ko-noun|hangeul=우방}} # {{hanja form of|우방}} ==越南語== {{vi-hantutab}} ===名詞=== {{vi-noun|sc=Hani}} # {{han tu form of|hữu bang}} cpx0xqmq5vp7p95gydqwjdczudnycjd 𩢦 0 1030466 9752939 5634008 2026-05-05T20:16:49Z Fglffer 55252 9752939 wikitext text/x-wiki {{character info}} ==跨語言== ===漢字=== {{Han char|rn=187|rad=馬|as=05|sn=15|four=|canj=SFHEY|ids=⿰馬冬}} ====來源==== * {{Han ref|kx=1437.121|uh=298A6}} ==漢語== {{zh-forms}} ===發音=== {{zh-pron |m=dōng |c= |cat= }} ===釋義=== {{head|zh|漢字}} # {{lb|zh|Taiwan}} {{zh-used2|n}} ==越南語== ===字源=== {{Han compound|lang=vi|ls=psc|馬|冬|c1=s|c2=p|tr2={{vi-l|đông}}}}。 ===漢字=== {{vi-readings |rs=馬05 |nom=rong-tdcndg;gdhn;btcn, giong-tdcndg;btcn }} # {{vi-Nom form of|rong|[[漫遊]]}} ====組詞==== {{col3|vi |{{vi-l|𩢦𩧍|[[rong ruổi]], [[giong ruổi]]}} }} ===來源=== <references/> bq8m9e8bixwm3e0hj4tiww9el73t6cm 閃光 0 1055318 9752903 9185577 2026-05-05T14:01:57Z Fglffer 55252 /* 漢語 */ 9752903 wikitext text/x-wiki ==漢語== {{zh-forms|s=闪光}} ===發音=== {{zh-pron |m=shǎnguāng |c=sim2 gwong1 |mn=qz,tw,xm:siám-kng/zz:siám-kuiⁿ/qz,xm:siám-kong |cat=n,v }} ===名詞=== {{head|zh|名詞}} # [[突然]]一現或[[忽明忽暗]]的[[光亮]] # {{lb|zh|網路|新詞|臺灣}} 指自己的[[男朋友]]、[[女朋友]] ===動詞=== {{zh-verb}} # [[光亮]]突然一現或忽明忽暗 ====同義詞==== {{syn-saurus|zh|閃動}} ===衍生詞=== {{col3|zh|閃光彈|閃光燈|閃光點}} ==日語== {{ja-kanjitab|せん|こう|yomi=o}} ===發音=== {{ja-pron|せんこう|acc=0|acc_ref=DJR}} ===名詞=== {{ja-noun|せんこう|hhira=せんくわう}} # [[突然]]一現或[[忽明忽暗]]的[[光亮]] ====衍生詞==== * {{ja-r|緑閃光|りょくせんこう|gloss=[[green flash]]}} ===來源=== <references/> :* {{R:Kanjipedia Kotoba|0004070600|<sup>▲</sup>閃光}} ==朝鮮語== {{ko-hanjatab}} ===名詞=== {{ko-noun|hj|hangeul=섬광}} # {{hanja form of|섬광}} ==日語== {{ja-kanjitab|せん|こう|yomi=o}} ===發音=== {{ja-pron|せんこう|acc=0|acc_ref=DJR}} ===名詞=== {{ja-noun|せんこう|hhira=せんくわう}} # 突然一現或忽明忽暗的[[光亮]] ====派生詞彙==== * {{ja-r|緑閃光|りょくせんこう}} ===參考資料=== <references/> 5qbyey7cunsz520thlhul56qswxsahs 9752904 9752903 2026-05-05T14:02:21Z Fglffer 55252 9752904 wikitext text/x-wiki ==漢語== {{zh-forms|s=闪光}} ===發音=== {{zh-pron |m=shǎnguāng |c=sim2 gwong1 |mn=qz,tw,xm:siám-kng/zz:siám-kuiⁿ/qz,xm:siám-kong |cat=n,v }} ===名詞=== {{head|zh|名詞}} # [[突然]]一現或[[忽明忽暗]]的[[光亮]] # {{lb|zh|網路|新詞|臺灣}} 指自己的[[男朋友]]、[[女朋友]] ===動詞=== {{zh-verb}} # [[光亮]]突然一現或忽明忽暗 ====同義詞==== {{syn-saurus|zh|閃動}} ===衍生詞=== {{col3|zh|閃光彈|閃光燈|閃光點}} ==日語== {{ja-kanjitab|せん|こう|yomi=o}} ===發音=== {{ja-pron|せんこう|acc=0|acc_ref=DJR}} ===名詞=== {{ja-noun|せんこう|hhira=せんくわう}} # [[突然]]一現或[[忽明忽暗]]的[[光亮]] ====衍生詞==== * {{ja-r|緑閃光|りょくせんこう|gloss=[[green flash]]}} ===來源=== <references/> :* {{R:Kanjipedia Kotoba|0004070600|<sup>▲</sup>閃光}} ==朝鮮語== {{ko-hanjatab}} ===名詞=== {{ko-noun|hj|hangeul=섬광}} # {{hanja form of|섬광}} rklwv9l5d13oc6nkeqbybcbhcanofl8 9752905 9752904 2026-05-05T14:02:54Z Fglffer 55252 9752905 wikitext text/x-wiki ==漢語== {{zh-forms|s=闪光}} ===發音=== {{zh-pron |m=shǎnguāng |c=sim2 gwong1 |mn=qz,tw,xm:siám-kng/zz:siám-kuiⁿ/qz,xm:siám-kong |cat=n,v }} ===名詞=== {{head|zh|名詞}} # [[突然]]一現或[[忽明忽暗]]的[[光亮]] # {{lb|zh|網路|新詞|臺灣}} 指自己的[[男朋友]]、[[女朋友]] ===動詞=== {{zh-verb}} # [[光亮]]突然一現或忽明忽暗 ====同義詞==== {{syn-saurus|zh|閃動}} ===衍生詞=== {{col3|zh|閃光彈|閃光燈|閃光點}} ==日語== {{ja-kanjitab|せん|こう|yomi=o}} ===發音=== {{ja-pron|せんこう|acc=0|acc_ref=DJR}} ===名詞=== {{ja-noun|せんこう|hhira=せんくわう}} # [[突然]]一現或[[忽明忽暗]]的[[光亮]] ====衍生詞==== * {{ja-r|緑閃光|りょくせんこう}} ===來源=== <references/> :* {{R:Kanjipedia Kotoba|0004070600|<sup>▲</sup>閃光}} ==朝鮮語== {{ko-hanjatab}} ===名詞=== {{ko-noun|hj|hangeul=섬광}} # {{hanja form of|섬광}} ms2w3cyp6f9msezk3qb8cy19hrxygij 特務 0 1071446 9752928 8172721 2026-05-05T19:44:43Z Fglffer 55252 9752928 wikitext text/x-wiki ==漢語== {{zh-forms|s=特务}} ===詞源=== {{bor+|zh|ja|[[特務]][[機関]]}} - 日本帝國陸軍在佔領區或戰區內的情報機構。參見{{w|特務機関|lang=ja}}。 ===發音=== {{zh-pron |m=tèwù |c=dak6 mou6 |mn=qz:tia̍k-bū/tw,xm,zz:te̍k-bū |cat=n }} ===名詞=== {{head|zh|名詞}} # 從事[[特別]][[任務]]的[[人員]] ====同義詞==== {{syn-saurus|zh|間諜}} ====衍生詞==== {{col3|zh|敵特}} {{zh-cat|Intermediate}} {{C|zh|諜報|職業|人}} ==日語== {{ja-kanjitab|とく|む|yomi=o}} ===發音=== * {{ja-pron|とくむ|acc=1|acc_ref=DJR,NHK}} ===名詞=== {{ja-noun|とくむ}} # [[特別]][[任務]] ===來源=== <references/> :* {{R:Kanjipedia Kotoba|0005302200}} ==越南語== {{vi-hantutab}} ===名詞=== {{vi-noun|sc=Hani}} # {{vi-Han form of|đặc vụ}} 1sn5gpw3o65dsdluwml51oc9n3rzkvv 9752930 9752928 2026-05-05T19:51:35Z Fglffer 55252 9752930 wikitext text/x-wiki ==漢語== {{zh-forms|s=特务}} ===詞源=== {{bor+|zh|ja|[[特務]][[機関]]}} - 日本帝國陸軍在佔領區或戰區內的情報機構。參見{{w|特務機関|lang=ja}}。 ===發音=== {{zh-pron |m=tèwù |c=dak6 mou6 |mn=qz:tia̍k-bū/tw,xm,zz:te̍k-bū |cat=n }} ===名詞=== {{head|zh|名詞}} # 從事[[特別]][[任務]]的[[人員]] ====同義詞==== {{syn-saurus|zh|間諜}} ====衍生詞==== {{col3|zh|敵特}} {{zh-cat|Intermediate}} {{C|zh|諜報|職業|人}} ==日語== {{ja-kanjitab|とく|む|yomi=o}} ===發音=== * {{ja-pron|とくむ|acc=1|acc_ref=DJR,NHK}} ===名詞=== {{ja-noun|とくむ}} # [[特別]][[任務]] ===來源=== <references/> :* {{R:Kanjipedia Kotoba|0005302200}} ==朝鮮語== {{ko-hanjatab}} ===名詞=== {{ko-noun|hangeul=특무}} # {{hanja form of|특무}} ==越南語== {{vi-hantutab}} ===名詞=== {{vi-noun|sc=Hani}} # {{vi-Han form of|đặc vụ}} kntbfsmelrnrnno43mucqvlvh3naxf7 形影相弔 0 1084241 9753752 8150877 2026-05-06T07:42:37Z Fglffer 55252 9753752 wikitext text/x-wiki ==漢語== {{zh-forms|s=形影相吊|type=22|lit=身體和影子互相慰問}} ===發音=== {{zh-pron |m=xíngyǐngxiàngdiào |cat=cy }} ===成語=== {{head|zh|成語}} # [[孤獨]]無[[依靠]] msey440hvijn4onqfu8flo2ybhv0n93 下腳 0 1112698 9752983 8511677 2026-05-06T02:38:15Z Sayonzei 40728 /* 漢語 */ 9752983 wikitext text/x-wiki ==漢語== {{zh-forms|s=下脚}} ===詞源1=== ====發音==== {{zh-pron |m=xiàjiǎo |cat=n,v }} ====名詞==== {{head|zh|名詞}} # [[狎妓]]的[[赏钱]]。 # [[原材料]][[加工]]、[[利用]]後剩下的[[材料]]。 ====衍生词==== {{col3|zh|下腳料}} ====動詞==== {{zh-verb}} # [[站立]] #: {{zh-x|沒有 下腳 的 地方。}} ===詞源2=== {{zh-see|下跤}} c17bi1gwupoc15lzgd1hvac8nfm2uja 族長 0 1124556 9752931 9311943 2026-05-05T20:00:45Z Fglffer 55252 9752931 wikitext text/x-wiki ==漢語== {{zh-forms|s=族长}} ===發音=== {{zh-pron |m=zúzhǎng |c=zuk6 zoeng2 |md=cŭk-diōng |mn=xm,qz,tw:cho̍k-tiúⁿ/zz:cho̍k-tióⁿ |w=nb:8dzoq cian3 |cat=n }} ===名詞=== {{head|zh|名詞}} # 一族中[[輩分]]、[[權勢]]或[[地位]]最高的人 ====相關詞==== * {{zh-l|酋長}} ====派生詞==== {{CJKV||ぞくちょう|족장|tộc trưởng}} {{C|zh|人}} ==日語== {{wp|ja:[[族長|族長:聖經首長]]}} {{ja-kanjitab|ぞく|ちょう|yomi=o}} ===詞源=== 來自{{der|ja|zhx|sort=ぞくちょう}} {{m|zh|族長}}。 ===發音=== {{ja-pron|ぞくちょう}} ===名詞=== {{ja-noun|ぞくちょう}} # 一族中[[輩分]]、[[權勢]]或[[地位]]最高的人 # [[聖經]][[記載]]的[[古代]][[以色列]][[首長]] ====使用說明==== 從歷史上看,這個角色通常由男性擔任。然而,這個詞本身通常不具性別特徵,可以指代男性或女性的首長。若要指明特定性別,可在詞前加上{{m|ja|女|tr=onna}}或{{m|ja|男|tr=otoko}}。 ====同義詞==== * {{sense|一族首領}} {{ja-r|家長|かちょう}} ====衍生詞==== * {{ja-r|族長時代|^ぞくちょう ^じだい}}:族長時代 ====參見==== * {{ja-r|女族長|おんな ぞくちょう}} * {{ja-r|男族長|おとこ ぞくちょう}} * {{ja-r|女家長|おんな かちょう}} * {{ja-r|男家長|おとこ かちょう}} ==朝鮮語== {{ko-hanjatab}} ===名詞=== {{ko-noun|hj|hangeul=족장}} # {{hanja form of|족장}} ==越南語== {{vi-hantutab}} ===名詞=== {{vi-noun|sc=Hani}} # {{vi-Han form of|tộc trưởng}} mkqggaw4diq42cquql16tvzmhrz8ls3 9752958 9752931 2026-05-06T01:40:40Z Sayonzei 40728 /* 日語 */ 9752958 wikitext text/x-wiki ==漢語== {{zh-forms|s=族长}} ===發音=== {{zh-pron |m=zúzhǎng |c=zuk6 zoeng2 |md=cŭk-diōng |mn=xm,qz,tw:cho̍k-tiúⁿ/zz:cho̍k-tióⁿ |w=nb:8dzoq cian3 |cat=n }} ===名詞=== {{head|zh|名詞}} # 一族中[[輩分]]、[[權勢]]或[[地位]]最高的人 ====相關詞==== * {{zh-l|酋長}} ====派生詞==== {{CJKV||ぞくちょう|족장|tộc trưởng}} {{C|zh|人}} ==日語== {{wp|ja:[[族長|族長:聖經首長]]}} {{ja-kanjitab|ぞく|ちょう|yomi=o}} ===詞源=== 來自{{der|ja|zhx|sort=ぞくちょう}} {{m|zh|族長}}。 ===發音=== {{ja-pron|ぞくちょう|acc=0|acc_ref=DJR,NHK,SMK7,NKD2}} ===名詞=== {{ja-noun|ぞくちょう|hhira=ぞくちやう}} # 一族中[[輩分]]、[[權勢]]或[[地位]]最高的人 # [[聖經]][[記載]]的[[古代]][[以色列]][[首長]] ====使用說明==== 從歷史上看,這個角色通常由男性擔任。然而,這個詞本身通常不具性別特徵,可以指代男性或女性的首長。若要指明特定性別,可在詞前加上{{m|ja|女|tr=onna}}或{{m|ja|男|tr=otoko}}。 ====同義詞==== * {{sense|一族首領}} {{ja-r|家%長|か%ちょう}} ====衍生詞==== * {{ja-r|族%長%時%代|^ぞく%ちょう% ^じ%だい}} ====參見==== * {{ja-r|女%族%長|おんな% ぞく%ちょう}} * {{ja-r|男%族%長|おとこ% ぞく%ちょう}} * {{ja-r|女%家%長|おんな% か%ちょう}} * {{ja-r|男%家%長|おとこ% か%ちょう}} ===参考资料=== <references/> ==朝鮮語== {{ko-hanjatab}} ===名詞=== {{ko-noun|hj|hangeul=족장}} # {{hanja form of|족장}} ==越南語== {{vi-hantutab}} ===名詞=== {{vi-noun|sc=Hani}} # {{vi-Han form of|tộc trưởng}} ch3oxdqrhvqzqph2tcqw47r9xdriu0v 克羅埃西亞 0 1143186 9752874 7456866 2026-05-05T12:38:12Z Fglffer 55252 9752874 wikitext text/x-wiki ==漢語== {{zh-forms|s=克罗埃西亚|gloss=-}} ===發音=== {{zh-pron |m=Kèluó'āixī亞 |c=hak1 lo4 oi1 sai1 aa3 |cat=pn }} ===專有名詞=== {{head|zh|專有名詞}} # {{lb|zh|臺灣}} [[國家]]名,位於[[中歐]]、[[地中海]]和[[巴爾幹半島]]交會處 ====同義詞==== * {{qualifier|中國大陸|香港|澳門}} {{zh-l|克羅地亞}} ===翻譯=== {{trans-see|國家|克羅地亞}} {{zh-cat|歐洲國家|國家}} asw07u84m6nlbnymlhxbi2wdr7bvte7 國民中學 0 1162509 9752871 8300842 2026-05-05T12:35:13Z Fglffer 55252 9752871 wikitext text/x-wiki ==漢語== {{zh-forms|s=国民中学|type=22}} {{zh-wp}} ===發音=== {{zh-pron |m=guómín zhōngxué |cat=n }} ===名詞=== {{head|zh|名詞}} # {{lb|zh|臺灣}} [[中學]] ====同義詞==== * {{zh-l|國中}}{{gl|簡稱}} qbun2keu284myjd3tf2p7hg6vxyxicr 基金會 0 1165379 9752921 8373175 2026-05-05T17:15:39Z TongcyDai 53191 9752921 wikitext text/x-wiki {{also|基金会}} ==漢語== {{zh-forms|s=基金会|type=21}} ===發音=== {{zh-pron |m=jījīnhuì |c=gei1 gam1 wui6-2 |h=pfs=kî-kîm-fi;hrs=h:giˋ gimˋ fui˖ |mn=ml,tw:ki-kim-hōe |cat=n }} ===名詞=== {{head|zh|名詞}} # 利用[[自然人]]、[[法人]]或者其他組織捐贈的[[財產]],從事[[慈善]]、[[公益]]事業的非營利性[[社會]][[組織]] #: {{zh-x|^維基詞典 是 ^維基 ^媒體 ^基金會 代管 的 專案 之一。|}} ====翻譯==== {{trans-top|一種非營利性社會組織}} {{trans-top|endowed institution or charity}} * 阿拉伯語:{{t+|ar|مُؤَسَّسَة|f}} * 亞美尼亞語:{{t+|hy|հիմնադրամ}} * 巴什基爾語:{{t|ba|хәйриә}} * 布列塔尼語:{{t|br|diazezadur|m}} * 保加利亞語:{{t|bg|фонда́ция|f}} * 加泰羅尼亞語:{{t+|ca|fundació|f}} * 切羅基語:{{t|chr|ᎦᎫᏍᏓᎥ}} * 捷克語:{{t+|cs|nadace|f}} * 荷蘭語:{{t+|nl|stichting|f}} * 英語:{{t+|en|foundation}} * 世界語:{{t|eo|fondaĵo}} * 芬蘭語:{{t+|fi|säätiö}} * 法語:{{t+|fr|fondation|f}} * 加利西亞語:{{t+|gl|fundación|f}} * 德語:{{t+|de|Stiftung|f}} * 希臘語:{{t+|el|ίδρυμα|n}} * 希伯來語:{{t+|he|קֶרֶן|f|tr=kéren}} * 匈牙利語:{{t+|hu|alapítvány}} * 冰島語:{{t|is|stofnun|f}} * 意大利語:{{t+|it|fondazione|f}} * 日語:{{t+|ja|基金|tr=ききん, kikin}}、{{t+|ja|財団|tr=ざいだん, zaidan}} * 哈薩克語:{{t|kk|қор}} * 庫爾德語: *: 中庫爾德語:{{t|ckb|دەسگا}}、{{t|ckb|دەزگا}} * 馬來語:{{t|ms|yayasan}} * 梅安語:{{t|fit|stiftelsi}} * 挪威語: *: 書面挪威語:{{t|nb|stiftelse|m}} *: 新挪威語:{{t|nn|stiftelse|m}}、{{t|nn|stifting|f}} * 奧克語:{{t+|oc|fondacion|f}} * 波蘭語:{{t+|pl|fundacja|f}} * 葡萄牙語:{{t+|pt|fundação|f}} * 羅馬尼亞語:{{t+|ro|fundație|f}}、{{t+|ro|așezământ|n}} * 俄語:{{t+|ru|фонд|m}} * 信德語:{{t|sd|پِيڙهڪا|f}} * 索布語: *: 下索布語:{{t|dsb|załožba|f}} *: 上索布語:{{t|hsb|załožba|f}} * 西班牙語:{{t+|es|fundación|f}} * 瑞典語:{{t+|sv|stiftelse|c}}、{{t+|sv|fond|c}} * 泰語:{{t+|th|มูลนิธิ}} * 土耳其語:{{t+|tr|vakıf}}、{{t|tr|yardım kurumu}} * 烏克蘭語:{{t|uk|фонд|m}}、{{t|uk|фундація|f}} * 威爾士語:{{t+|cy|sefydliad|m}} {{trans-bottom}} {{C|zh|集體}} o9s4623t0woixyejmvyc607dh8ig06g 9752922 9752921 2026-05-05T17:16:06Z TongcyDai 53191 9752922 wikitext text/x-wiki {{also|基金会}} ==漢語== {{zh-forms|s=基金会|type=21}} ===發音=== {{zh-pron |m=jījīnhuì |c=gei1 gam1 wui6-2 |h=pfs=kî-kîm-fi;hrs=h:giˋ gimˋ fui˖ |mn=ml,tw:ki-kim-hōe |cat=n }} ===名詞=== {{head|zh|名詞}} # 利用[[自然人]]、[[法人]]或者其他組織捐贈的[[財產]],從事[[慈善]]、[[公益]]事業的非營利性[[社會]][[組織]] #: {{zh-x|^維基詞典 是 ^維基 ^媒體 ^基金會 代管 的 專案 之一。|}} ====翻譯==== {{trans-top|一種非營利性社會組織}} * 阿拉伯語:{{t+|ar|مُؤَسَّسَة|f}} * 亞美尼亞語:{{t+|hy|հիմնադրամ}} * 巴什基爾語:{{t|ba|хәйриә}} * 布列塔尼語:{{t|br|diazezadur|m}} * 保加利亞語:{{t|bg|фонда́ция|f}} * 加泰羅尼亞語:{{t+|ca|fundació|f}} * 切羅基語:{{t|chr|ᎦᎫᏍᏓᎥ}} * 捷克語:{{t+|cs|nadace|f}} * 荷蘭語:{{t+|nl|stichting|f}} * 英語:{{t+|en|foundation}} * 世界語:{{t|eo|fondaĵo}} * 芬蘭語:{{t+|fi|säätiö}} * 法語:{{t+|fr|fondation|f}} * 加利西亞語:{{t+|gl|fundación|f}} * 德語:{{t+|de|Stiftung|f}} * 希臘語:{{t+|el|ίδρυμα|n}} * 希伯來語:{{t+|he|קֶרֶן|f|tr=kéren}} * 匈牙利語:{{t+|hu|alapítvány}} * 冰島語:{{t|is|stofnun|f}} * 意大利語:{{t+|it|fondazione|f}} * 日語:{{t+|ja|基金|tr=ききん, kikin}}、{{t+|ja|財団|tr=ざいだん, zaidan}} * 哈薩克語:{{t|kk|қор}} * 庫爾德語: *: 中庫爾德語:{{t|ckb|دەسگا}}、{{t|ckb|دەزگا}} * 馬來語:{{t|ms|yayasan}} * 梅安語:{{t|fit|stiftelsi}} * 挪威語: *: 書面挪威語:{{t|nb|stiftelse|m}} *: 新挪威語:{{t|nn|stiftelse|m}}、{{t|nn|stifting|f}} * 奧克語:{{t+|oc|fondacion|f}} * 波蘭語:{{t+|pl|fundacja|f}} * 葡萄牙語:{{t+|pt|fundação|f}} * 羅馬尼亞語:{{t+|ro|fundație|f}}、{{t+|ro|așezământ|n}} * 俄語:{{t+|ru|фонд|m}} * 信德語:{{t|sd|پِيڙهڪا|f}} * 索布語: *: 下索布語:{{t|dsb|załožba|f}} *: 上索布語:{{t|hsb|załožba|f}} * 西班牙語:{{t+|es|fundación|f}} * 瑞典語:{{t+|sv|stiftelse|c}}、{{t+|sv|fond|c}} * 泰語:{{t+|th|มูลนิธิ}} * 土耳其語:{{t+|tr|vakıf}}、{{t|tr|yardım kurumu}} * 烏克蘭語:{{t|uk|фонд|m}}、{{t|uk|фундація|f}} * 威爾士語:{{t+|cy|sefydliad|m}} {{trans-bottom}} {{C|zh|集體}} braofjsmgsxh333g2bnm8sjbb0c902o 𠀐 0 1172250 9753758 8325873 2026-05-06T07:52:49Z Fglffer 55252 9753758 wikitext text/x-wiki {{character info}} ==跨語言== ===漢字=== {{Han char|rn=1|rad=一|as=4|sn=5|four=|canj=LM|ids=⿱中一}} ====衍生字==== * {{charlist|sc=Hani|貴𭑲𣆊𥅌𠳋貴𮓱𮓰}} * {{charlist|sc=Hani|𭲑𱧹𣻲𰮺𮈨𥀒𥀖𫁁𦃠𰹟𩞒𩞮𩻨𩺅𦵰𦸜𥲞𡔽𧕕𢈮}} ====來源==== {{Han ref|kx=0078.021|uh=20010}} ==漢語== {{zh-forms}} ===發音=== {{zh-pron |m=zhōng |cat= }} ===釋義=== {{head|zh|漢字}} # {{lb|zh|Taiwanese}} {{n-g|僅用於人名。}} ===來源=== * {{R:zh:CNS|f|213f}} ==日語== ===漢字=== {{ja-kanji}} ====讀法==== {{ja-readings |goon=き<き<くゐ, ちゅう<ちゆう |kanon=き<き<くゐ, ちゅう<ちゆう |kun=むし}} hzjsff3zq1nh66polcwj5djdu61qtuc 𠨏 0 1176772 9752949 5647614 2026-05-05T21:08:40Z Fglffer 55252 9752949 wikitext text/x-wiki {{character info}} ==跨語言== ===漢字=== {{Han char|rn=26|rad=卩|as=2|sn=4|four=|canj=NKSL|ids=⿰又卩}} ====來源==== * {{Han ref|kx=0159.021|dkj=|dj=|hdz=|uh=20A0F}} ==漢語== {{zh-forms}} ===發音=== {{zh-pron |m=yòu |cat= }} ===釋義=== {{head|zh|漢字}} # {{lb|zh|Taiwanese}} {{zh-used2|n}} sa1tbwgvx6kq1k3lb1x6ab6mihj5xzd 𠩇 0 1176893 9753761 5647819 2026-05-06T08:09:31Z Fglffer 55252 9753761 wikitext text/x-wiki {{character info}} ==跨語言== ===漢字=== {{Han char|rn=27|rad=厂|as=05|sn=7|canj=MKNH|four=71212|ids=⿸厂𢒂}} ====來源==== * {{Han ref|kx=161.061|dkj=|dj=|hdz=|uh=20A47}} ==漢語== {{zh-forms}} ===詞源1=== ====發音==== {{zh-pron |m=páng |cat=pn }} ====釋義==== {{head|zh|漢字}} # {{lb|zh|Taiwanese}} {{zh-used2|n}} ===詞源2=== {{zh-see|厖|v}} ==越南語== ===漢字=== {{vi-readings|rs=厂05|hanviet=bàng}} # {{m|vi|龐}}的異體字 nxg3ay90gelut4k4xl5ewfi28po2yo4 孑然一身 0 1176903 9752956 6973870 2026-05-05T23:05:38Z Fglffer 55252 9752956 wikitext text/x-wiki ==漢語== {{zh-forms|type=22}} ===發音=== {{zh-pron |m=jiérán一shēn |c=kit3 jin4 jat1 san1 |mn=xm:kiat-liân-it-sin/twk:kiat-jiân-it-sin |cat=cy }} ===成語=== {{head|zh|成語}} # 形容[[孤獨]]而沒有[[依靠]] mznuj6gl6gidpo7ip47huei6okjlxx9 孤身隻影 0 1177778 9752954 6974128 2026-05-05T23:00:49Z Fglffer 55252 9752954 wikitext text/x-wiki ==漢語== {{zh-forms|s=孤身只影|type=211|lit=自己孤獨的身影}} ===發音=== {{zh-pron |m=gūshēnzhīyǐng |c=gu1 san1 zek3 jing2 |cat=ch }} ===成語=== {{head|zh|成語}} # [[孤單]][[一人]] sy0v2jvm3p7yli52yvmwjira5nu3gwe 妙探 0 1178260 9752865 6974293 2026-05-05T12:12:12Z Fglffer 55252 Fglffer移动页面[[妙探尋兇]]至[[妙探]],不留重定向 6974293 wikitext text/x-wiki ==漢語== {{百科}} * 简体:<big>'''-{[[妙]]}- -{[[探]]}- -{[[寻]]}- -{[[凶]]}-'''</big> * 繁体:<big>'''-{[[妙]]}- -{[[探]]}- -{[[尋]]}- -{[[兇]]}-'''</big> ===讀音=== * 汉语拼音:Miào tàn xún xiōng ===翻譯=== {{翻譯-頂}} * {{en}}:Cluedo (board game); {{翻譯-底}} {{CC-CEDICT}} [[Category:待分類的漢語詞]] [[Category:漢語|女04手08寸09儿04]] n2cyqmsn4uycscougmyhrn62hw0yczv 9752867 9752865 2026-05-05T12:19:37Z Fglffer 55252 9752867 wikitext text/x-wiki ==漢語== {{zh-forms}} ===發音=== {{zh-pron |m=miàotàn |cat=n }} ===名詞=== {{head|zh|名詞}} # [[巧妙]][[機智]]的[[偵探]]、[[調查員]] 81q6j2h5nxe7di7r3idfblm7rweg9ik 𦓑 0 1213923 9752951 5669108 2026-05-05T22:11:35Z Fglffer 55252 9752951 wikitext text/x-wiki {{character info}} ==跨語言== ===漢字=== {{Han char|rn=126|rad=而|as=2|sn=8|four=|canj=|ids=⿱而九}} ====來源==== * {{Han ref|kx=0961.211|dkj=|dj=|hdz=|uh=264D1}} ==漢語== {{zh-forms}} ===發音=== {{zh-pron |m=jiǔ |cat= }} ===釋義=== {{head|zh|漢字}} # {{lb|zh|Taiwanese}} {{zh-used2|n}} l3quysdr2lzrcm2y5cka22441ww8br4 𧈸 0 1219489 9753759 5672128 2026-05-06T07:55:02Z Fglffer 55252 9753759 wikitext text/x-wiki {{character info}} ==跨語言== ===漢字=== {{Han char|rn=142|rad=虫|as=03|sn=9|canj=HELMI|four=27136|ids=⿱夂虫}} ====衍生字==== * {{charlist|sc=Hani|𭫂𧎓𮬃𡩓𧊮}} ===來源=== * {{Han ref|kx=1077.111|uh=27238}} ==漢語== ===詞源1=== {{zh-forms}} 可能是{{Han compound|夂|虫|ls=psc|c1=p|c2=s|t2=昆蟲|nocap=1}}。 ====發音==== {{zh-pron |m=zǐ |cat=pn }} ====釋義==== {{head|zh|漢字}} # {{lb|zh|Taiwanese}} {{zh-used2|n}} ===詞源2=== {{zh-see|蚤|o}} ===詞源3=== {{zh-see|螽|o}} ==日語== ===漢字=== {{ja-kanji|rs=虫03}} {{ja-see|蚤}} ====讀法==== {{ja-readings|on=しょう,そう|kun=のみ-,はや-い}} rvs1k2t1ptpdv5lsfkqm2bk08vs9xyk 𧈹 0 1219490 9753760 6987691 2026-05-06T07:56:45Z Fglffer 55252 9753760 wikitext text/x-wiki {{character info}} ==跨語言== ===漢字=== {{Han char|rn=142|rad=虫|as=03|sn=9|canj=KLMI|four=40136|ids=⿱大虫}} ===來源=== * {{Han ref|kx=1077.111|dkj=32841|hdz=42834.130|uh=27239}} ==漢語== ===詞源1=== {{zh-forms}} {{Han compound|大|虫|ls=psc|c1=p|c2=s}}。 ====發音==== {{zh-pron |m=dà |cat=pn }} ====釋義==== {{head|zh|漢字}} # {{lb|zh|Taiwanese}} {{zh-used2|n}} ===詞源2=== {{zh-see|蚤|o}} ===來源=== * {{R:zh:CNS|15|2D41}} nq9aoka0ox8e63b8352ed1d2w3lpqd7 𧦌 0 1221789 9753755 5673742 2026-05-06T07:46:24Z Fglffer 55252 9753755 wikitext text/x-wiki {{character info}} ==Translingual== ===Han character=== {{Han char|rn=149|rad=言|as=4|sn=11|four=|canj=|ids=⿰訁手}} ====References==== * {{Han ref|kx=1152.121|dkj=|dj=|hdz=|uh=2798C}} ==漢語== {{zh-forms}} ===詞源1=== ====發音==== {{zh-pron |m=shǒu |c= |cat= }} ====釋義==== {{head|zh|漢字}} # {{lb|zh|Taiwanese}} {{zh-used2|n}} ===詞源2=== {{zh-pron |m=fēng |c= |cat= }} ====釋義==== {{head|zh|漢字}} # {{def-uncertain|zh|nohypothesis=1}} e1zeoogb979dzo27n19h4jut1l24hxz 9753756 9753755 2026-05-06T07:46:45Z Fglffer 55252 9753756 wikitext text/x-wiki {{character info}} ==跨語言== ===漢字=== {{Han char|rn=149|rad=言|as=4|sn=11|four=|canj=|ids=⿰訁手}} ====來源==== * {{Han ref|kx=1152.121|dkj=|dj=|hdz=|uh=2798C}} ==漢語== {{zh-forms}} ===詞源1=== ====發音==== {{zh-pron |m=shǒu |c= |cat= }} ====釋義==== {{head|zh|漢字}} # {{lb|zh|Taiwanese}} {{zh-used2|n}} ===詞源2=== {{zh-pron |m=fēng |c= |cat= }} ====釋義==== {{head|zh|漢字}} # {{def-uncertain|zh|nohypothesis=1}} 64cl7rmws7o5j5olstt21pz8l8a1ll4 9753757 9753756 2026-05-06T07:46:56Z Fglffer 55252 /* 漢語 */ 9753757 wikitext text/x-wiki {{character info}} ==跨語言== ===漢字=== {{Han char|rn=149|rad=言|as=4|sn=11|four=|canj=|ids=⿰訁手}} ====來源==== * {{Han ref|kx=1152.121|dkj=|dj=|hdz=|uh=2798C}} ==漢語== {{zh-forms}} ===詞源1=== ====發音==== {{zh-pron |m=shǒu |c= |cat= }} ====釋義==== {{head|zh|漢字}} # {{lb|zh|Taiwanese}} {{zh-used2|n}} ===詞源2=== ====發音==== {{zh-pron |m=fēng |c= |cat= }} ====釋義==== {{head|zh|漢字}} # {{def-uncertain|zh|nohypothesis=1}} qbso3the9qktqe50qlemh6v7at5cx72 𧦱 0 1221860 9753754 5673774 2026-05-06T07:44:57Z Fglffer 55252 9753754 wikitext text/x-wiki {{character info}} ==跨語言== ===漢字=== {{Han char|rn=149|rad=言|as=5|sn=12|four=|canj=|ids=⿱穴言}} ====來源==== * {{Han ref|kx=1156.171|dkj=|dj=|hdz=|uh=279B1}} ==漢語== ===詞源1=== {{zh-see|䛎|v}} ===詞源2=== {{zh-forms}} ====發音==== {{zh-pron |m=xuè |cat= }} ====釋義==== {{head|zh|漢字}} # {{lb|zh|Taiwanese}} {{zh-used2|n}} idit861rat53vxr8rlwyua2iz9fenri 𧦲 0 1221862 9753753 5673775 2026-05-06T07:43:51Z Fglffer 55252 9753753 wikitext text/x-wiki {{character info}} ==跨語言== ===漢字=== {{Han char|rn=149|rad=言|as=5|sn=12|four=|canj=|ids=⿱加言}} ====來源==== * {{Han ref|kx=1156.171|dkj=|dj=|hdz=|uh=279B2}} ==漢語== ===詞源1=== {{zh-see|𧦤|v}} ===詞源2=== {{zh-forms}} ====發音==== {{zh-pron |m=jiā |c= |mc= |oc= |cat= }} ====釋義==== {{head|zh|漢字}} # {{lb|zh|Taiwanese}} {{zh-used2|n}} 30g2werp01hj9w55r8gswakchdrqmjc 𧩌 0 1222117 9752948 5673925 2026-05-05T21:07:48Z Fglffer 55252 9752948 wikitext text/x-wiki {{character info}} ==跨語言== ===漢字=== {{Han char|rn=149|rad=言|as=8|sn=15|four=|canj=YRNDT|ids=⿰訁孟}} ====來源==== * {{Han ref|kx=1169.151|dkj=|dj=|hdz=|uh=27A4C}} ==漢語== ===發音=== {{zh-pron |m=měng |cat= }} ===釋義=== {{head|zh|漢字}} # {{lb|zh|Taiwanese}} {{zh-used2|n}} 26cdlkqoy0w1m1uvzrrah3svjnmvfd3 𨄥 0 1223942 9752947 5639056 2026-05-05T21:07:07Z Fglffer 55252 9752947 wikitext text/x-wiki {{character info}} ==跨語言== ===漢字=== {{Han char|rn=157|rad=足|as=11|sn=18|canj=RMYPD|four=61149|ids=⿰𧾷虖}} ====來源==== {{Han ref|kx=1232.441|dkj=|dj=|hdz=|uh=28125}} ==漢語== ===字源1=== {{zh-forms}} {{Han etym}} {{Han compound|足|虖|ls=psc|c1=s|t1=腳|c2=p}}。 ====發音==== {{zh-pron |m=hū |cat=pn }} ====釋義==== {{head|zh|漢字}} # {{lb|zh|Taiwanese}} {{zh-used2|n}} ===字源2=== {{zh-m|*罅}}的訛化。 ====詞源==== {{zh-see|罅|err}} b2hidsvax2h2qzwppnsvynblp9eygrl 𨩝 0 1227566 9752944 5644401 2026-05-05T21:01:40Z Fglffer 55252 9752944 wikitext text/x-wiki {{also|𨩽}} {{character info}} ==跨語言== ===漢字=== {{Han char|rn=167|rad=金|as=09|sn=17|canj=CYPM|four=81174|ids=⿰金𫊞}} ====來源==== * {{Han ref|kx=1316.111|dkj=|dj=|hdz=|uh=28A5D}} ==漢語== ===字源1=== {{zh-forms}} {{Han etym}} {{Han compound|金|虐|alt2=𫊞|ls=psc|c1=s|t1=金屬|c2=p}}。 ====發音==== {{zh-pron |m=nüè |mc=y |oc=y |cat=pn }} ====釋義==== {{head|zh|漢字}} # {{lb|zh|Taiwanese}} {{zh-used2|n}} ===字源2=== {{zh-m|*罅}}的訛化。 ====詞源==== {{zh-see|罅|err}} 77j7tjcfe28jid86wqk90gsb4294h8h 𨰼 0 1228356 9752945 5645499 2026-05-05T21:02:24Z Fglffer 55252 9752945 wikitext text/x-wiki {{character info}} ==跨語言== ===漢字=== {{Han char|rn=167|rad=金|as=27|sn=35|ids=⿰釒鑾}} ====來源==== {{Han ref|kx=1328.061|uh=28C3C}} ==漢語== {{zh-forms}} ===發音=== {{zh-pron |m=luán |cat= }} ===釋義=== {{head|zh|漢字}} # {{lb|zh|Taiwanese}} {{zh-used2|n}} 4sah5u3a4dxlboabfubewj9b3vslbwq 𩾐 0 1234689 9752937 7778484 2026-05-05T20:14:26Z Fglffer 55252 9752937 wikitext text/x-wiki {{character info}} ==跨語言== ===漢字=== {{Han char|rn=196|rad=鳥|as=1|sn=12|four=|canj=|ids=⿰鳥乚}} ====來源==== * {{Han ref|kx=1481.021|dkj=|dj=|hdz=|uh=29F90}} ==漢語== {{zh-forms|s=𬷻}} ===詞源1=== {{zh-see|鳦|v}} ===詞源2=== ====發音==== {{zh-pron |m=yǐ |c= }} ====釋義==== {{head|zh|漢字}} # {{lb|zh|Taiwanese}} {{zh-used2|n}} d8poae56tjftsnywrqlxrr47nz0zuou 𪋿 0 1235777 9752935 5661014 2026-05-05T20:09:57Z Fglffer 55252 9752935 wikitext text/x-wiki {{character info}} ==跨語言== ===漢字=== {{Han char|rn=199|rad=麥|as=2|sn=13|four=|canj=JNY|ids=⿺麥卜}} ====來源==== {{Han ref|kx=1512.121|uh=2A2FF}} ==漢語== {{zh-forms|s=𫧮}} ===發音=== {{zh-pron |m=bǔ |c=buk1 |cat= }} ===釋義=== {{head|zh|漢字}} # {{lb|zh|Taiwanese}} {{zh-used2|n}} aei00dk4l3dsc8e8gsidghipbfsgiv8 𫧮 0 1241735 9752936 5676758 2026-05-05T20:10:57Z Fglffer 55252 9752936 wikitext text/x-wiki {{character info}} ==跨語言== ===漢字=== {{Han char|rn=25|rad=卜|as=6|sn=9|four=|canj=|ids=⿺麦卜}} ====來源==== {{Han ref|uh=2B9EE}} ==漢語== {{zh-see|𪋿}} ani0138msgidna4n4cef30s1vn0hhnn 𬷻 0 1248202 9752938 5685066 2026-05-05T20:15:01Z Fglffer 55252 9752938 wikitext text/x-wiki {{character info}} ==跨語言== ===漢字=== {{Han char|rn=196|rad=鸟|as=1|sn=6|four=|canj=|ids=⿰鸟乚}} ====來源==== {{Han ref|uh=2CDFB}} ==漢語== {{zh-see|𩾐}} tug1uq60o0wrq120i917lwr4oa7lifa soliloquy 0 1280926 9753762 6671407 2026-05-06T08:26:12Z Chihunglu83 87715 9753762 wikitext text/x-wiki ==英語== {{wikipedia|lang=en}} ===發音=== * {{enPR|səlĭlʹəkwē}}, {{IPA|en|/səˈlɪləkwi/}} * {{audio|en|en-us-soliloquy.ogg|a=US}} * {{audio|en|en-au-soliloquy.ogg|a=AU}} * {{hyph|en|so|lil|o|quy}} ===名詞=== {{en-noun|~}} {{翻譯-頂}} * {{zh-hans}}:-{[[独语]]}- * {{zh-hant}}:-{[[獨語]]}- {{翻譯-底}} {{CC-CEDICT}} [[Category:待分類的英語詞]] [[Category:英語]] [[分类:拉丁文字]] 5rihzuj2ujyua6crbtux5pg69rtxez5 芭樂 0 1316960 9752889 9728532 2026-05-05T13:37:52Z Fglffer 55252 9752889 wikitext text/x-wiki ==漢語== {{zh-forms|s=芭乐|gloss=-|alt=巴樂}} {{wp|zh:}} ===發音=== {{zh-pron |m=bālè |cat=n }} ===詞源1=== {{bor+|cmn|nan-hbl|菝仔|tr=pa̍t-á}}。 ====名詞==== {{head|zh|名詞}} # [[番石榴]] =====同義詞===== {{zh-dial|番石榴}} =====衍生詞===== {{col3|zh|土芭樂}} ===詞源2=== {{psm|zh|en|ballad}} ====名詞==== {{head|zh|名詞}} # {{lb|zh|music|chiefly|Taiwan}} [[民謠]] {{C|zh|果實|桃金孃科植物}} 6mertbwwom6u8x03opj6yfafgqw9wh9 9752890 9752889 2026-05-05T13:38:05Z Fglffer 55252 9752890 wikitext text/x-wiki ==漢語== {{zh-forms|s=芭乐|gloss=-|alt=巴樂}} {{wp|zh:}} ===發音=== {{zh-pron |m=bālè |cat=n }} ===詞源1=== {{bor+|cmn|nan-hbl|菝仔|tr=pa̍t-á}}。 ====名詞==== {{head|zh|名詞}} # [[番石榴]] =====同義詞===== {{zh-dial|番石榴}} =====衍生詞===== {{col3|zh|土芭樂}} ===詞源2=== {{psm|zh|en|ballad}}。 ====名詞==== {{head|zh|名詞}} # {{lb|zh|music|chiefly|Taiwan}} [[民謠]] {{C|zh|果實|桃金孃科植物}} 9krb4x76n2znpck8bnv0xxosif2nwx3 走山 0 1327296 9752894 9172206 2026-05-05T13:45:49Z Fglffer 55252 /* 漢語 */ 9752894 wikitext text/x-wiki ==漢語== {{zh-forms}} ===發音=== {{zh-pron |m=zǒushān |mn=xm,tw:cháu-soaⁿ |cat=v }} ===動詞=== {{zh-verb}} # {{lb|zh|Xiamen|&|Taiwanese Hokkien|Taiwan Mandarin}} [[山體]][[滑坡]] #* {{quote-song|nan-hbl|year=2015|lyricist=武雄|composer=w:陳建瑋|title=傷心的我傷心的歌|album=古倫美亞|artist=w:陳建瑋|titleurl=https://www.youtube.com/watch?v=xGrXISLgvec}} #*: {{zh-q|海水 無 變~乾{ta} 你 的 愛 竟然{liân} 先 走山|海水未乾枯 你的愛竟然先'''走山'''|TW}} # {{lb|zh|奉節|_|官話方言}} [[地震]] # {{lb|zh|忻州|_|晉語}} 趕[[牲畜]]到山上[[放牧]] ===參考資料=== *{{R:zh:HYFYDCD}} 1gubl1x846sz2ww01xyimfh1bxa0b22 阿姨洗鐵路 0 1357901 9752982 9747641 2026-05-06T02:34:38Z InternetArchiveBot 95668 Rescuing 0 sources and tagging 1 as dead.) #IABot (v2.0.9.5 9752982 wikitext text/x-wiki ==漢語== {{zh-forms|s=阿姨洗铁路|type=212}} ===詞源=== {{translit|zh|ja|-|nocap=y}} {{ja-r|愛 してる|あい してる|gloss=我愛你}}。來自中國大陸網民對《[[w:聰明的一休|聰明的一休]]》、《[[w:創聖的大天使|創聖的大天使]]》主題曲的惡搞。 ===發音=== {{zh-pron |m=āyí xǐ tiělù |c=aa3 ji4-1 sai2 tit3 lou6 |cat=ph }} ===短語=== {{head|zh|短語}} # {{lb|zh|網路用語|新詞}} [[我愛你]] ===延伸閱讀=== *[http://zh.moegirl.org/%E9%98%BF%E5%A7%A8%E6%B4%97%E9%93%81%E8%B7%AF 阿姨洗铁路 - 萌娘百科 万物皆可萌的百科全书]{{Dead link|date=May 2026 |bot=InternetArchiveBot |fix-attempted=yes }} *[http://jp.hjenglish.com/new/p193264/ 【网络热词的日语说法】打酱油、YY、阿姨洗铁路_新沪江日语网] fo0uk0b54q4gy3cg2r2lvwb7rhk0uls 喺度 0 1376616 9752920 9255702 2026-05-05T16:36:09Z TongcyDai 53191 9752920 wikitext text/x-wiki ==漢語== {{zh-forms|alt=喺道}} ===發音=== {{zh-pron |c=hai2 dou6 |cat=v,adv }} ===動詞=== {{zh-verb|type=vo}} # {{lb|zh|粵語}} (在)[[這裏]] #: {{zh-x|我 喺度!|我'''在這裏'''!|C}} #: {{zh-x|有 隻 雀{zoek3-2} 死 咗 喺度。|有隻鳥死'''在這'''。|C}} #: {{zh-x|全部 都 '''@喺''' 嗮 '''@度'''。|全部都'''在這裡'''。|C}} #: {{zh-x|你 喺度 睇 住 我 啲 嘢。|你'''在這'''看好我的東西。|C}} ====近義詞==== * {{qualifier|粵語}} {{zh-l|喺處}}、{{zh-l|響度|tr=-}}、{{zh-l|響處}} * {{qualifier|潮州話}} {{zh-l|在塊}} ====派生詞彙==== {{col3|zh|唔喺度}} ===副詞=== {{head|zh|副詞}} # {{lb|zh|粵語|通常接{{zh-l|緊|tr=-}}}} [[現在]];[[正在]] #: {{zh-x|我 喺度 食 緊 飯。|我'''在'''吃飯。|C}} #: {{zh-x|做 咩 啫 你,喺度?|你到底'''在'''幹嘛?<!-- {{qualifier|with {{zh-l|喺度|tr=-}} moved to the end of the sentence}}-->|C}} #* {{quote-song|zh|artist={{w|陳慧嫻}}|title=《{{w|紅茶館_(歌曲)|紅茶館}}》|year=1992}} #*: {{zh-q|欸{e1}!'''喺度''' 諗 '''緊''' 咩 呀?|欸!你'''在'''想些甚麽呀?}} ====近義詞==== {{zh-dial|正在}} e5uxhgjz0m88x2kae5wvcpw3wrrtidl 黑輪 0 1429875 9752901 8303561 2026-05-05T13:57:46Z Fglffer 55252 /* 漢語 */ 9752901 wikitext text/x-wiki ==漢語== {{zh-forms|s=黑轮}} ===詞源=== {{calque|zh|nan|烏輪|tr=o͘-lián}},衍生自{{der|zh|ja|-}} {{ja-r|御%田|お%でん}}。 ===發音=== {{zh-pron |m=hēilún |cat=n }} ===名詞=== {{head|zh|名詞}} # {{label|zh|臺灣}} [[關東煮]] # {{label|zh|臺灣}} [[甜不辣]] mzusig4tqgg8mrvcgkfadm3h28f0023 9752902 9752901 2026-05-05T13:58:14Z Fglffer 55252 /* 漢語 */ 9752902 wikitext text/x-wiki ==漢語== {{zh-forms|s=黑轮}} ===詞源=== {{calque|zh|nan|烏輪|tr=o͘-lián}},衍生自{{der|zh|ja|-}} {{ja-r|御%田|お%でん}}。 ===發音=== {{zh-pron |m=hēilún |cat=n }} ===名詞=== {{head|zh|名詞}} # {{lb|zh|臺灣}} [[關東煮]] # {{lb|zh|臺灣}} [[甜不辣]] c2ei2f8xv063r38uyoduh2o9d4t6pbf Module:Zh/data/dial-syn/鋸末 828 1469226 9752896 5898209 2026-05-05T13:48:46Z Fglffer 55252 9752896 Scribunto text/plain local export = {} export.list = { ["meaning"] = "sawdust", ["note"] = "GT - 通用臺灣話(無地區差異)", ["Classical"] = { "" }, ["Formal"] = { "鋸末", "鋸屑", "木屑" }, ["Taxonomic"] = { "" }, ["Beijing"] = { "" }, ["Beijing-PG"] = { "" }, ["Beijing-MY"] = { "" }, ["Beijing-HR"] = { "" }, ["Beijing-YQ"] = { "" }, ["Beijing-CP"] = { "" }, ["Beijing-MTG"] = { "" }, ["Beijing-FS"] = { "" }, ["Taiwan"] = { "" }, ["Tianjin-WQ"] = { "" }, ["Langfang"] = { "" }, ["Chengde"] = { "" }, ["Ulan Hot"] = { "" }, ["Tongliao"] = { "" }, ["Chifeng"] = { "" }, ["Hailar"] = { "" }, ["Heihe"] = { "" }, ["Nenjiang"] = { "" }, ["Mohe"] = { "" }, ["Qiqihar"] = { "" }, ["Tailai"] = { "" }, ["Jixian-HLJ"] = { "" }, ["Lanxi-M"] = { "" }, ["Boli"] = { "" }, ["Jiayin"] = { "" }, ["Muling"] = { "" }, ["Dongning"] = { "" }, ["Ning'an"] = { "" }, ["Linkou"] = { "" }, ["Zhaozhou"] = { "" }, ["Zhaodong"] = { "" }, ["Jixi-M"] = { "" }, ["Mishan"] = { "" }, ["Harbin"] = { "鋸末子" }, ["Shangzhi"] = { "" }, ["Yingchengzi"] = { "" }, ["Jiamusi"] = { "" }, ["Tongjiang-M"] = { "" }, ["Baicheng"] = { "" }, ["Da'an"] = { "" }, ["Songyuan"] = { "" }, ["Changchun"] = { "" }, ["Yushu"] = { "" }, ["Jilin"] = { "" }, ["Siping"] = { "" }, ["Liaoyuan"] = { "" }, ["Dunhua"] = { "" }, ["Hunchun"] = { "" }, ["Baishan"] = { "" }, ["Tonghua"] = { "" }, ["Shenyang"] = { "" }, ["Anshan"] = { "" }, ["Tieling"] = { "" }, ["Jinzhou"] = { "" }, ["Malaysia-M"] = { "" }, ["Singapore-M"] = { "" }, ["Taz"] = { "" }, ["Tianjin"] = { "" }, ["Tianjin-JZ"] = { "" }, ["Tianjin-BD"] = { "" }, ["Tianjin-NH"] = { "" }, ["Tianjin-HG"] = { "" }, ["Tianjin-TG"] = { "" }, ["Tianjin-DG"] = { "" }, ["Tianjin-JN"] = { "" }, ["Tianjin-DL"] = { "" }, ["Tianjin-JH"] = { "" }, ["Tianjin-XQ"] = { "" }, ["Tianjin-BC"] = { "" }, ["Tangshan"] = { "" }, ["Qinhuangdao"] = { "" }, ["Cangzhou"] = { "" }, ["Xianxian"] = { "" }, ["Xianxian-XY"] = { "" }, ["Baoding"] = { "" }, ["Dingxing"] = { "" }, ["Xiong'an"] = { "" }, ["Shijiazhuang"] = { "" }, ["Xingtai"] = { "" }, ["Hengshui"] = { "" }, ["Lijin"] = { "" }, ["Binzhou"] = { "" }, ["Wudi"] = { "" }, ["Weicheng"] = { "" }, ["Fangzi"] = { "" }, ["Changle-WF"] = { "" }, ["Shouguang"] = { "" }, ["Rizhao"] = { "" }, ["Wulian"] = { "" }, ["Jinan"] = { "鋸末" }, ["Zhangqiu"] = { "" }, ["Liaocheng"] = { "" }, ["Dezhou"] = { "" }, ["Tai'an"] = { "" }, ["Xintai"] = { "" }, ["Zibo"] = { "" }, ["Zichuan"] = { "" }, ["Boshan"] = { "" }, ["Yinan"] = { "" }, ["Dalian"] = { "" }, ["Dandong"] = { "" }, ["Yantai"] = { "" }, ["Muping"] = { "" }, ["Laizhou"] = { "" }, ["Weihai"] = { "" }, ["Rongcheng"] = { "" }, ["Qingdao"] = { "" }, ["Hanting"] = { "" }, ["Changyi"] = { "" }, ["Gaomi"] = { "" }, ["Zhucheng"] = { "" }, ["Anqiu"] = { "" }, ["Linqu"] = { "" }, ["Qingzhou"] = { "" }, ["Yishui"] = { "" }, ["Hulin-XL"] = { "" }, ["Linjiang"] = { "" }, ["Ji'an-M"] = { "" }, ["Luoyang"] = { "鋸末兒" }, ["Luoning"] = { "" }, ["Sanmenxia"] = { "" }, ["Lingbao"] = { "" }, ["Luohe"] = { "" }, ["Zhumadian"] = { "" }, ["Biyang"] = { "" }, ["Zhoukou"] = { "" }, ["Dancheng"] = { "" }, ["Xuchang"] = { "" }, ["Changge"] = { "" }, ["Pingdingshan"] = { "" }, ["Lushan-M"] = { "" }, ["Nanyang"] = { "" }, ["Xixia"] = { "" }, ["Dengzhou"] = { "" }, ["Zaozhuang"] = { "" }, ["Ningyang"] = { "" }, ["Jining-M"] = { "" }, ["Linyi"] = { "" }, ["Heze"] = { "" }, ["Daming"] = { "" }, ["Yuncheng"] = { "" }, ["Wenxi"] = { "" }, ["Longxing"] = { "" }, ["Yongji"] = { "" }, ["Wanrong"] = { "" }, ["Ronghe"] = { "" }, ["Linfen"] = { "" }, ["Jixian"] = { "" }, ["Huozhou"] = { "" }, ["Hongtong"] = { "" }, ["Shangqiu"] = { "" }, ["Yongcheng"] = { "" }, ["Yuanyang"] = { "" }, ["Zhengzhou"] = { "" }, ["Kaifeng"] = { "" }, ["Lankao"] = { "" }, ["Changyuan"] = { "" }, ["Xunxian"] = { "" }, ["Puyang"] = { "" }, ["Fanxian"] = { "" }, ["Xinyang"] = { "" }, ["Gushi"] = { "" }, ["Shangluo"] = { "" }, ["Luonan"] = { "" }, ["Danfeng"] = { "" }, ["Shangnan"] = { "" }, ["Shanyang"] = { "" }, ["Zhen'an"] = { "" }, ["Hanbin"] = { "" }, ["Hanbin-XH"] = { "" }, ["Baihe"] = { "" }, ["Baihe-MP"] = { "" }, ["Pingli"] = { "" }, ["Xunyang"] = { "" }, ["Lueyang"] = { "" }, ["Mianxian"] = { "" }, ["Yangxian"] = { "" }, ["Xi'an"] = { "鋸末子" }, ["Weiyang"] = { "" }, ["Baqiao"] = { "" }, ["Yanliang"] = { "" }, ["Lintong"] = { "" }, ["Chang'an"] = { "" }, ["Huyi"] = { "" }, ["Gaoling"] = { "" }, ["Zhouzhi"] = { "" }, ["Lantian"] = { "" }, ["Xianyang"] = { "" }, ["Xingping"] = { "" }, ["Wugong"] = { "" }, ["Qianxian"] = { "" }, ["Liquan"] = { "" }, ["Jingyang"] = { "" }, ["Sanyuan-M"] = { "" }, ["Yongshou"] = { "" }, ["Changwu"] = { "" }, ["Tongchuan"] = { "" }, ["Yaozhou"] = { "" }, ["Yijun"] = { "" }, ["Weinan"] = { "" }, ["Weinan-HZ"] = { "" }, ["Hancheng"] = { "" }, ["Huayin"] = { "" }, ["Tongguan"] = { "" }, ["Dali-SX"] = { "" }, ["Heyang"] = { "" }, ["Chengcheng"] = { "" }, ["Baishui"] = { "" }, ["Pucheng-M"] = { "" }, ["Fuping"] = { "" }, ["Huanglong"] = { "" }, ["Yichuan"] = { "" }, ["Huangling"] = { "" }, ["Luochuan"] = { "" }, ["Fuxian"] = { "" }, ["Dingbian"] = { "" }, ["Baoji"] = { "" }, ["Baoji-CC"] = { "" }, ["Fengxiang"] = { "" }, ["Qishan"] = { "" }, ["Fufeng"] = { "" }, ["Meixian-M"] = { "" }, ["Taibai"] = { "" }, ["Fengxian-SX"] = { "" }, ["Qianyang"] = { "" }, ["Longxian"] = { "" }, ["Linyou"] = { "" }, ["Tongxin"] = { "" }, ["Yanchi"] = { "" }, ["Guyuan"] = { "" }, ["Xiji"] = { "" }, ["Longde"] = { "" }, ["Jingyuan"] = { "" }, ["Tianshui"] = { "" }, ["Xining"] = { "鋸末" }, ["Menyuan"] = { "" }, ["Yanqi"] = { "" }, ["Xuzhou"] = { "鋸末", "鋸末兒" }, ["Xuzhou-JW"] = { "" }, ["Pizhou"] = { "" }, ["Suining"] = { "" }, ["Peixian"] = { "" }, ["Xinyi-M"] = { "" }, ["Fengxian-M"] = { "" }, ["Suqian"] = { "" }, ["Ganyu"] = { "" }, ["Donghai"] = { "" }, ["Fuyang"] = { "" }, ["Bengbu"] = { "" }, ["Suzhou-M"] = { "" }, ["Huaibei"] = { "" }, ["Bozhou"] = { "" }, ["Guangde-QC"] = { "" }, ["Qimen-AL-Jun"] = { "" }, ["Anji-HN"] = { "" }, ["Gansu-DG"] = { "" }, ["Shaanxi-DG"] = { "" }, ["Yinchuan"] = { "鋸末渣" }, ["Wuzhong"] = { "" }, ["Zhongwei"] = { "" }, ["Bayanhot"] = { "" }, ["Lanzhou"] = { "" }, ["Jiuquan"] = { "" }, ["Dunhuang"] = { "" }, ["Shandan"] = { "" }, ["Tianzhu"] = { "" }, ["Hami"] = { "" }, ["Changji"] = { "" }, ["Ürümqi"] = { "鋸末子" }, ["Dabancheng-XG"] = { "" }, ["Midong-CSZ"] = { "" }, ["Ürümqi-BFG"] = { "" }, ["Jimsar"] = { "" }, ["Chengdu"] = { "鋸末子", "鋸木麵" }, ["Xindu"] = { "" }, ["Xindu-XF"] = { "" }, ["Huayang"] = { "" }, ["Pidu"] = { "" }, ["Wenjiang"] = { "" }, ["Shuangliu"] = { "" }, ["Xinjin"] = { "" }, ["Jintang"] = { "" }, ["Pengzhou"] = { "" }, ["Dujiangyan"] = { "" }, ["Chongzhou"] = { "" }, ["Dayi"] = { "" }, ["Pujiang-M"] = { "" }, ["Qionglai"] = { "" }, ["Jianyang-M"] = { "" }, ["Xiaojin"] = { "" }, ["Jinchuan"] = { "" }, ["Songpan"] = { "" }, ["Maoxian"] = { "" }, ["Lixian"] = { "" }, ["Wenchuan"] = { "" }, ["Deyang"] = { "" }, ["Luojiang"] = { "" }, ["Mianzhu"] = { "" }, ["Shifang"] = { "" }, ["Guanghan"] = { "" }, ["Zhongjiang"] = { "" }, ["Ziyang-SC"] = { "" }, ["Anyue"] = { "" }, ["Lezhi"] = { "" }, ["Mianyang"] = { "" }, ["Anzhou"] = { "" }, ["Zitong"] = { "" }, ["Jiangyou"] = { "" }, ["Jiangyou-ZM"] = { "" }, ["Pingwu"] = { "" }, ["Beichuan"] = { "" }, ["Yanting"] = { "" }, ["Santai"] = { "" }, ["Guangyuan"] = { "" }, ["Zhaohua"] = { "" }, ["Cangxi"] = { "" }, ["Jiange"] = { "" }, ["Meishan"] = { "" }, ["Pengshan"] = { "" }, ["Danling"] = { "" }, ["Hongya"] = { "" }, ["Qingshen"] = { "" }, ["Renshou"] = { "" }, ["Luzhou"] = { "" }, ["Naxi"] = { "" }, ["Luxian"] = { "" }, ["Xuyong"] = { "" }, ["Gulin"] = { "" }, ["Hejiang"] = { "" }, ["Yibin"] = { "" }, ["Nanxi"] = { "" }, ["Pingshan-M"] = { "" }, ["Gaoxian"] = { "" }, ["Changning-M"] = { "" }, ["Gongxian"] = { "" }, ["Xingwen-GS"] = { "" }, ["Xingwen-BWS"] = { "" }, ["Jiang'an"] = { "" }, ["Junlian"] = { "" }, ["Leshan"] = { "" }, ["Jiajiang"] = { "" }, ["Emeishan"] = { "" }, ["Ebian"] = { "" }, ["Qianwei"] = { "" }, ["Mabian"] = { "" }, ["Jingyan"] = { "" }, ["Neijiang"] = { "" }, ["Zizhong"] = { "" }, ["Weiyuan"] = { "" }, ["Longchang"] = { "" }, ["Suining-SC"] = { "" }, ["Pengxi"] = { "" }, ["Shehong"] = { "" }, ["Guang'an"] = { "" }, ["Yuechi"] = { "" }, ["Wusheng"] = { "" }, ["Linshui"] = { "" }, ["Nanchong"] = { "" }, ["Nanbu"] = { "" }, ["Langzhong"] = { "" }, ["Yilong"] = { "" }, ["Yingshan"] = { "" }, ["Peng'an"] = { "" }, ["Dazhou"] = { "" }, ["Dazhu"] = { "" }, ["Kaijiang"] = { "" }, ["Wanyuan"] = { "" }, ["Xuanhan"] = { "" }, ["Bazhong"] = { "" }, ["Tongjiang"] = { "" }, ["Nanjiang"] = { "" }, ["Hanyuan"] = { "" }, ["Xichang"] = { "" }, ["Zigong"] = { "" }, ["Fushun"] = { "" }, ["Rongxian-M"] = { "" }, ["Muli"] = { "" }, ["Leibo"] = { "" }, ["Chongqing"] = { "" }, ["Chongqing-JB"] = { "" }, ["Chongqing-JLP"] = { "" }, ["Chongqing-DDK"] = { "" }, ["Chongqing-SPB"] = { "" }, ["Chongqing-BN"] = { "" }, ["Chongqing-NA"] = { "" }, ["Chongqing-QIJ"] = { "" }, ["Chongqing-QJ-WS"] = { "" }, ["Chongqing-YB"] = { "" }, ["Chongqing-BB"] = { "" }, ["Chongqing-NC"] = { "" }, ["Chongqing-WL"] = { "" }, ["Chongqing-DZ"] = { "" }, ["Chongqing-RC"] = { "" }, ["Chongqing-YC"] = { "" }, ["Chongqing-BS"] = { "" }, ["Chongqing-TL"] = { "" }, ["Chongqing-TN"] = { "" }, ["Chongqing-HC"] = { "" }, ["Chongqing-CS"] = { "" }, ["Chongqing-FL"] = { "" }, ["Chongqing-JJ"] = { "" }, ["Chongqing-WZ"] = { "" }, ["Chongqing-SZ"] = { "" }, ["Chongqing-KZ"] = { "" }, ["Chongqing-CK"] = { "" }, ["Chongqing-DJ"] = { "" }, ["Chongqing-LP"] = { "" }, ["Chongqing-FD"] = { "" }, ["Chongqing-ZX"] = { "" }, ["Chongqing-QJ"] = { "" }, ["Chongqing-PS"] = { "" }, ["Chongqing-YY"] = { "" }, ["Chongqing-XS"] = { "" }, ["Chongqing-YNY"] = { "" }, ["Chongqing-WX"] = { "" }, ["Chongqing-FJ"] = { "" }, ["Chongqing-WS"] = { "" }, ["Wuhan"] = { "鋸末子" }, ["Jiangxia"] = { "" }, ["Caidian"] = { "" }, ["Xinzhou-HB"] = { "" }, ["Huangpi"] = { "" }, ["Hanchuan"] = { "" }, ["Suizhou"] = { "" }, ["Suixian"] = { "" }, ["Yichang"] = { "" }, ["Dangyang"] = { "" }, ["Zhijiang"] = { "" }, ["Yidu"] = { "" }, ["Changyang"] = { "" }, ["Xingshan"] = { "" }, ["Zigui"] = { "" }, ["Wufeng"] = { "" }, ["Enshi"] = { "" }, ["Hefeng"] = { "" }, ["Badong"] = { "" }, ["Xuan'en"] = { "" }, ["Laifeng"] = { "" }, ["Lichuan-M"] = { "" }, ["Jianshi"] = { "" }, ["Xianfeng"] = { "" }, ["Xiangyang"] = { "" }, ["Laohekou"] = { "" }, ["Baokang"] = { "" }, ["Nanzhang"] = { "" }, ["Zaoyang"] = { "" }, ["Yicheng"] = { "" }, ["Gucheng"] = { "" }, ["Jingzhou"] = { "" }, ["Jingzhou-SS"] = { "" }, ["Jiangling"] = { "" }, ["Shishou"] = { "" }, ["Gong'an"] = { "" }, ["Songzi"] = { "" }, ["Jingmen"] = { "" }, ["Zhongxiang"] = { "" }, ["Jingshan"] = { "" }, ["Tianmen"] = { "" }, ["Xiantao"] = { "" }, ["Qianjiang"] = { "" }, ["Shennongjia"] = { "" }, ["Shiyan"] = { "" }, ["Zhuxi"] = { "" }, ["Zhushan"] = { "" }, ["Yunxi"] = { "" }, ["Yunyang"] = { "" }, ["Danjiangkou"] = { "" }, ["Fangxian"] = { "" }, ["Lhasa"] = { "" }, ["Guiyang"] = { "鋸木麵" }, ["Huaxi"] = { "" }, ["Zunyi"] = { "" }, ["Tongzi"] = { "" }, ["Renhuai"] = { "" }, ["Bijie"] = { "" }, ["Jinsha-M"] = { "" }, ["Dafang"] = { "" }, ["Weining"] = { "" }, ["Liupanshui"] = { "" }, ["Liuzhi"] = { "" }, ["Xingyi"] = { "" }, ["Anshun"] = { "" }, ["Duyun"] = { "" }, ["Pingtang"] = { "" }, ["Fuquan"] = { "" }, ["Weng'an"] = { "" }, ["Kaili"] = { "" }, ["Liping-GZ"] = { "" }, ["Zhenyuan"] = { "" }, ["Tongren"] = { "" }, ["Sinan"] = { "" }, ["Yuping"] = { "" }, ["Liping"] = { "" }, ["Zhaotong"] = { "" }, ["Baoshan-M"] = { "" }, ["Dali"] = { "" }, ["Kunming"] = { "" }, ["Qujing"] = { "" }, ["Wenshan"] = { "" }, ["Mengzi"] = { "" }, ["Lancang"] = { "" }, ["Weixi"] = { "" }, ["Pu'er"] = { "" }, ["Lincang"] = { "" }, ["Guilin"] = { "" }, ["Lingui"] = { "" }, ["Guanyang"] = { "" }, ["Lipu"] = { "" }, ["Pingle"] = { "" }, ["Yangshuo"] = { "" }, ["Liuzhou"] = { "木糠" }, ["Liuzhou-LR"] = { "" }, ["Luzhai"] = { "" }, ["Sanjiang-DZ"] = { "" }, ["Nanning-M"] = { "" }, ["Yongning-FJ"] = { "" }, ["Wuming"] = { "" }, ["Wuming-FC"] = { "" }, ["Binyang-M"] = { "" }, ["Shanglin"] = { "" }, ["Yizhou"] = { "" }, ["Jinchengjiang"] = { "" }, ["Luocheng"] = { "" }, ["Fengshan"] = { "" }, ["Tianlin-LP"] = { "" }, ["Tianlin-PT"] = { "" }, ["Leye"] = { "" }, ["Lingyun"] = { "" }, ["Longlin"] = { "" }, ["Xilin"] = { "" }, ["Xiangzhou-NL"] = { "" }, ["Qinzhou-M"] = { "" }, ["Jishou"] = { "" }, ["Changde"] = { "" }, ["Zhangjiajie"] = { "" }, ["Yongzhou"] = { "" }, ["Chenzhou"] = { "" }, ["Huaihua"] = { "" }, ["Huitong"] = { "" }, ["Xiangtan-JN"] = { "" }, ["Ganzhou-M"] = { "" }, ["Shiquan"] = { "" }, ["Ziyang"] = { "" }, ["Ningshan"] = { "" }, ["Langao"] = { "" }, ["Zhenping"] = { "" }, ["Hanzhong"] = { "" }, ["Nanzheng"] = { "" }, ["Ningqiang"] = { "" }, ["Liuba"] = { "" }, ["Chenggu"] = { "" }, ["Foping"] = { "" }, ["Xixiang"] = { "" }, ["Zhenba"] = { "" }, ["Anji-HB"] = { "" }, ["Kokang"] = { "" }, ["Dagudi"] = { "" }, ["Reshuitang"] = { "" }, ["Mae Salong"] = { "" }, ["Mae Sai"] = { "" }, ["Oudomxay"] = { "" }, ["Siantar"] = { "" }, ["Nanjing"] = { "鋸木屑兒" }, ["Pukou"] = { "" }, ["Luhe-M"] = { "" }, ["Lishui-M"] = { "" }, ["Yangzhou"] = { "鋸屑", "鋸屑子" }, ["Jiangdu"] = { "" }, ["Baoying"] = { "" }, ["Gaoyou"] = { "" }, ["Yizheng"] = { "" }, ["Taizhou-M"] = { "" }, ["Taixing"] = { "" }, ["Jiangyan"] = { "" }, ["Jingjiang-DX"] = { "" }, ["Zhenjiang"] = { "" }, ["Jurong"] = { "" }, ["Yangzhong"] = { "" }, ["Lianyungang"] = { "" }, ["Haizhou"] = { "" }, ["Guanyun"] = { "" }, ["Guannan"] = { "" }, ["Huai'an"] = { "" }, ["Huai'an-HA"] = { "" }, ["Huaiyin"] = { "" }, ["Hongze"] = { "" }, ["Lianshui"] = { "" }, ["Xuyi"] = { "" }, ["Jinhu"] = { "" }, ["Xinghua"] = { "" }, ["Nantong"] = { "" }, ["Rugao"] = { "" }, ["Rudong"] = { "" }, ["Hai'an"] = { "" }, ["Yancheng"] = { "" }, ["Dongtai"] = { "" }, ["Binhai"] = { "" }, ["Sheyang"] = { "" }, ["Dafeng"] = { "" }, ["Funing"] = { "" }, ["Jianhu"] = { "" }, ["Xiangshui"] = { "" }, ["Shuyang"] = { "" }, ["Sihong"] = { "" }, ["Siyang"] = { "" }, ["Anqing"] = { "" }, ["Tongcheng"] = { "" }, ["Zongyang"] = { "" }, ["Chizhou"] = { "" }, ["Qingyang"] = { "" }, ["Wuhu"] = { "" }, ["Wuhu-QS"] = { "" }, ["Wanzhi"] = { "" }, ["Jinghu"] = { "" }, ["Fanchang"] = { "" }, ["Wuwei"] = { "" }, ["Hanshan"] = { "" }, ["Hexian"] = { "" }, ["Ma'anshan"] = { "" }, ["Dangtu"] = { "" }, ["Xuancheng"] = { "" }, ["Tongling"] = { "" }, ["Hefei"] = { "" }, ["Feidong"] = { "" }, ["Feixi"] = { "" }, ["Chaohu"] = { "" }, ["Lujiang"] = { "" }, ["Changfeng"] = { "" }, ["Huainan"] = { "" }, ["Lu'an"] = { "" }, ["Jin'an-QSH"] = { "" }, ["Shucheng"] = { "" }, ["Huoshan"] = { "" }, ["Chuzhou"] = { "" }, ["Lai'an"] = { "" }, ["Quanjiao"] = { "" }, ["Mingguang"] = { "" }, ["Tianchang"] = { "" }, ["Echeng"] = { "" }, ["Huangshi"] = { "" }, ["Huanggang"] = { "" }, ["Hong'an"] = { "" }, ["Macheng"] = { "" }, ["Luotian"] = { "" }, ["Yingshan-HB"] = { "" }, ["Xishui"] = { "" }, ["Huangmei"] = { "" }, ["Wuxue"] = { "" }, ["Qichun"] = { "" }, ["Xiaogan"] = { "" }, ["Anlu"] = { "" }, ["Yingcheng"] = { "" }, ["Yunmeng"] = { "" }, ["Dawu"] = { "" }, ["Guangshui"] = { "" }, ["Zhashui"] = { "" }, ["Jiujiang"] = { "" }, ["Ruichang"] = { "" }, ["Anji-AQ"] = { "" }, ["Najiahu"] = { "" }, ["Dianbai-Jun"] = { "" }, ["Ningguo-GK"] = { "" }, ["Langxi"] = { "" }, ["Changle-QJ"] = { "" }, ["Yanping"] = { "" }, ["Jiangshan-M-NBD"] = { "" }, ["Kaihua-M-HB"] = { "" }, ["Yushan-M-HY"] = { "" }, ["Juexi"] = { "" }, ["Taiyuan"] = { "鋸末" }, ["Jiancaoping"] = { "" }, ["Jinyuan"] = { "" }, ["Qingxu"] = { "" }, ["Loufan"] = { "" }, ["Taigu"] = { "" }, ["Pingyao"] = { "" }, ["Heshun"] = { "" }, ["Qixian"] = { "" }, ["Yangyuan"] = { "" }, ["Datong"] = { "" }, ["Yunzhou"] = { "" }, ["Yunzhou-XCT"] = { "" }, ["Tianzhen"] = { "" }, ["Guangling"] = { "" }, ["Shuozhou"] = { "" }, ["Shanyin"] = { "" }, ["Pinglu"] = { "" }, ["Pingding"] = { "" }, ["Xinzhou"] = { "鋸木麵子" }, ["Wutai"] = { "" }, ["Daixian"] = { "" }, ["Wuzhai"] = { "" }, ["Lishi"] = { "" }, ["Shilou"] = { "" }, ["Fenyang"] = { "" }, ["Lanxian"] = { "" }, ["Linxian"] = { "" }, ["Wenshui"] = { "" }, ["Xiaoyi"] = { "" }, ["Fenxi"] = { "" }, ["Xixian"] = { "" }, ["Changzhi"] = { "" }, ["Tunliu"] = { "" }, ["Baochang"] = { "" }, ["Linhe"] = { "" }, ["Pingshun"] = { "" }, ["Zhangzi"] = { "" }, ["Qinxian"] = { "" }, ["Jincheng"] = { "" }, ["Lingchuan"] = { "" }, ["Yangcheng"] = { "" }, ["Gaoping"] = { "" }, ["Jining"] = { "" }, ["Liangcheng"] = { "" }, ["Hohhot"] = { "" }, ["Baotou"] = { "" }, ["Dongsheng"] = { "" }, ["Haibowan"] = { "" }, ["Erenhot"] = { "" }, ["Pingshan"] = { "" }, ["Zhangjiakou"] = { "" }, ["Chongli"] = { "" }, ["Handan"] = { "" }, ["Linzhang"] = { "" }, ["Anyang"] = { "" }, ["Linzhou"] = { "" }, ["Hebi"] = { "" }, ["Xinxiang"] = { "" }, ["Jiaozuo"] = { "" }, ["Qinyang"] = { "" }, ["Wenxian"] = { "" }, ["Wuzhi"] = { "" }, ["Jiyuan"] = { "" }, ["Suide"] = { "" }, ["Zizhou"] = { "" }, ["Mizhi"] = { "" }, ["Jiaxian"] = { "" }, ["Wubu"] = { "" }, ["Shenmu"] = { "" }, ["Fugu"] = { "" }, ["Yulin-J"] = { "" }, ["Hengshan-J"] = { "" }, ["Jingbian"] = { "" }, ["Yan'an"] = { "" }, ["Ansai"] = { "" }, ["Ganquan"] = { "" }, ["Zhidan"] = { "" }, ["Wuqi-J"] = { "" }, ["Qingjian"] = { "" }, ["Zichang"] = { "" }, ["Yanchuan"] = { "" }, ["Yanchang"] = { "" }, ["Shanghai"] = { "木屑" }, ["Yangpu"] = { "" }, ["Xinzhuang"] = { "" }, ["Zhenru"] = { "" }, ["Songjiang"] = { "" }, ["Chuansha"] = { "" }, ["Nanhui"] = { "" }, ["Zhoupu"] = { "" }, ["Huinan"] = { "" }, ["Fengxian"] = { "" }, ["Jinshan"] = { "" }, ["Qingpu"] = { "" }, ["Jiading"] = { "" }, ["Baoshan-SCD"] = { "" }, ["Baoshan-LD"] = { "" }, ["Baoshan-YP"] = { "" }, ["Chongming"] = { "木屑" }, ["Suzhou"] = { "木屑" }, ["Shengpu"] = { "" }, ["Xishan"] = { "" }, ["Wujiang-SL"] = { "" }, ["Wujiang-LL"] = { "" }, ["Wujiang-SZ"] = { "" }, ["Wuxi"] = { "" }, ["Changshu"] = { "" }, ["Kunshan"] = { "" }, ["Taicang"] = { "" }, ["Zhangjiagang"] = { "" }, ["Tongzhou"] = { "" }, ["Qidong"] = { "" }, ["Qidong-LS"] = { "" }, ["Haimen"] = { "" }, ["Haimen-SJ"] = { "" }, ["Rudong-W"] = { "" }, ["Jiaxing"] = { "" }, ["Jiashan"] = { "" }, ["Pinghu"] = { "" }, ["Haining-YG"] = { "" }, ["Haining-XS"] = { "" }, ["Tongxiang"] = { "" }, ["Haiyan"] = { "" }, ["Changzhou"] = { "" }, ["Liyang"] = { "" }, ["Jintan"] = { "" }, ["Yixing"] = { "" }, ["Danyang"] = { "木屑" }, ["Danyang-TJQ"] = { "" }, ["Jingjiang"] = { "" }, ["Jiangyin"] = { "" }, ["Gaochun"] = { "" }, ["Gaochun-ZB"] = { "" }, ["Huzhou"] = { "" }, ["Huzhou-SL"] = { "" }, ["Changxing"] = { "" }, ["Anji"] = { "" }, ["Anji-XF"] = { "" }, ["Deqing-W"] = { "" }, ["Deqing-GT"] = { "" }, ["Hangzhou"] = { "" }, ["Yuhang"] = { "" }, ["Lin'an"] = { "" }, ["Lin'an-CH"] = { "" }, ["Lin'an-YQ"] = { "" }, ["Fuyang-W"] = { "" }, ["Fuyang-XD"] = { "" }, ["Xiaoshan"] = { "" }, ["Tonglu"] = { "" }, ["Fenshui-WS"] = { "" }, ["Shaoxing"] = { "" }, ["Shaoxing-KQ"] = { "" }, ["Shangyu"] = { "" }, ["Zhuji"] = { "" }, ["Zhuji-WJJ"] = { "" }, ["Shengzhou"] = { "" }, ["Shengzhou-CR"] = { "" }, ["Shengzhou-TP"] = { "" }, ["Xinchang"] = { "" }, ["Ningbo"] = { "鋸屑" }, ["Zhenhai"] = { "" }, ["Fenghua"] = { "" }, ["Beilun"] = { "" }, ["Yinzhou"] = { "" }, ["Yuyao"] = { "" }, ["Cixi"] = { "" }, ["Xiangshan"] = { "" }, ["Ninghai"] = { "" }, ["Zhoushan"] = { "" }, ["Dinghai"] = { "" }, ["Daishan"] = { "" }, ["Shengsi"] = { "" }, ["Jiaojiang"] = { "" }, ["Huangyan"] = { "" }, ["Tiantai"] = { "" }, ["Xianju"] = { "" }, ["Sanmen"] = { "" }, ["Linhai"] = { "" }, ["Wenling"] = { "" }, ["Yuhuan"] = { "" }, ["Yuhuan-DMY"] = { "" }, ["Yuhuan-CM"] = { "" }, ["Wenzhou"] = { "鋸末" }, ["Yueqing"] = { "" }, ["Yongjia"] = { "" }, ["Yongjia-FL"] = { "" }, ["Rui'an"] = { "" }, ["Longgang"] = { "" }, ["Dongtou"] = { "" }, ["Cangnan-JX"] = { "" }, ["Pingyang"] = { "" }, ["Taishun"] = { "" }, ["Wencheng"] = { "" }, ["Lishui"] = { "" }, ["Qingtian"] = { "" }, ["Jinyun"] = { "" }, ["Xuanping"] = { "" }, ["Songyang-XP"] = { "" }, ["Songyang-GS"] = { "" }, ["Yunhe"] = { "" }, ["Jingning"] = { "" }, ["Qingyuan-W"] = { "" }, ["Longquan"] = { "" }, ["Quzhou"] = { "" }, ["Qujiang-DZ"] = { "" }, ["Suichang"] = { "" }, ["Jiangshan"] = { "" }, ["Changshan"] = { "" }, ["Kaihua"] = { "" }, ["Longyou"] = { "" }, ["Jinhua"] = { "鋸末" }, ["Tangxi"] = { "" }, ["Yiwu"] = { "" }, ["Yongkang"] = { "" }, ["Pujiang"] = { "" }, ["Dongyang"] = { "" }, ["Pan'an"] = { "" }, ["Wuyi"] = { "" }, ["Lanxi"] = { "" }, ["Shangrao"] = { "" }, ["Shangrao-Rail"] = { "" }, ["Guangfeng"] = { "" }, ["Yushan"] = { "" }, ["Xuancheng-YC"] = { "" }, ["Xuancheng-JP"] = { "" }, ["Wuhu-LL"] = { "" }, ["Tongling-W"] = { "" }, ["Nanling"] = { "" }, ["Yi'an-WS"] = { "" }, ["Huangshan"] = { "" }, ["Jingxian"] = { "" }, ["Jingxian-ZJ"] = { "" }, ["Shitai-JZ"] = { "" }, ["Pucheng"] = { "" }, ["Changsha"] = { "鋸木屑", "鋸木灰" }, ["Yiyang-X"] = { "" }, ["Liuyang-YA"] = { "" }, ["Xiangtan"] = { "" }, ["Miluo-CL"] = { "" }, ["Xiangxiang"] = { "" }, ["Xiangxiang-MQ"] = { "" }, ["Loudi"] = { "" }, ["Shuangfeng"] = { "" }, ["Xinhua"] = { "" }, ["Lianyuan"] = { "" }, ["Shaoyang"] = { "" }, ["Lengshuitan"] = { "" }, ["Zhuzhou"] = { "" }, ["Longhui"] = { "" }, ["Suining-X"] = { "" }, ["Dongkou-HQ"] = { "" }, ["Wugang"] = { "" }, ["Hengyang"] = { "" }, ["Hengshan"] = { "" }, ["Hengshan-BG"] = { "" }, ["Qiyang"] = { "" }, ["Quanzhou-X"] = { "" }, ["Guanyang-X"] = { "" }, ["Qinglong-CL"] = { "" }, ["Nanchong-CL"] = { "" }, ["Nanchang"] = { "鋸屑" }, ["Xinjian-WC"] = { "" }, ["Nanchang-TC"] = { "" }, ["Anyi"] = { "" }, ["Hukou"] = { "" }, ["Lushan"] = { "" }, ["Yongxiu"] = { "" }, ["Gongqingcheng-JY"] = { "" }, ["Xiushui"] = { "" }, ["Pengze"] = { "" }, ["Duchang"] = { "" }, ["Duchang-TT"] = { "" }, ["Duchang-YF"] = { "" }, ["Wuning-QK"] = { "" }, ["Poyang"] = { "" }, ["Poyang-MT"] = { "" }, ["Yugan"] = { "" }, ["Wannian"] = { "" }, ["Yiyang"] = { "" }, ["Hengfeng"] = { "" }, ["Yanshan-HK"] = { "" }, ["Yanshan-YP"] = { "" }, ["Shangrao-SX"] = { "" }, ["Shangrao-HM"] = { "" }, ["Jingdezhen"] = { "" }, ["Leping"] = { "" }, ["Yichun"] = { "" }, ["Yifeng"] = { "" }, ["Gao'an"] = { "" }, ["Fengxin"] = { "" }, ["Shanggao"] = { "" }, ["Wanzai"] = { "" }, ["Fengcheng"] = { "" }, ["Fengcheng-ST"] = { "" }, ["Xinyu"] = { "" }, ["Fuzhou-G"] = { "" }, ["Linchuan-SDD"] = { "" }, ["Dongxiang"] = { "" }, ["Nancheng"] = { "" }, ["Nanfeng"] = { "" }, ["Yihuang"] = { "" }, ["Lichuan"] = { "鋸屑" }, ["Chongren"] = { "" }, ["Pingxiang"] = { "鋸屑" }, ["Lianhua"] = { "" }, ["Luxi"] = { "" }, ["Ji'an"] = { "" }, ["Jishui-LT"] = { "" }, ["Yongfeng"] = { "" }, ["Taihe"] = { "" }, ["Xiajiang"] = { "" }, ["Yongxin"] = { "" }, ["Yingtan"] = { "" }, ["Yujiang"] = { "" }, ["Guixi"] = { "" }, ["Susong"] = { "" }, ["Susong-HT"] = { "" }, ["Susong-GL"] = { "" }, ["Wangjiang"] = { "" }, ["Qianshan"] = { "" }, ["Huaining"] = { "" }, ["Huaining-SP"] = { "" }, ["Yuexi"] = { "" }, ["Taihu"] = { "" }, ["Dongzhi"] = { "" }, ["Shitai"] = { "" }, ["Yangxin"] = { "" }, ["Yangxin-GH"] = { "" }, ["Daye"] = { "" }, ["Xianning"] = { "" }, ["Xianning-MQ"] = { "" }, ["Jiayu"] = { "" }, ["Chongyang"] = { "" }, ["Chibi"] = { "" }, ["Tongshan"] = { "" }, ["Tongcheng-G"] = { "" }, ["Jianli"] = { "" }, ["Yueyang"] = { "" }, ["Yueyang-BX"] = { "" }, ["Linxiang"] = { "" }, ["Pingjiang-XJ"] = { "" }, ["Pingjiang-NJ"] = { "" }, ["Liuyang"] = { "" }, ["Liuyang-DY"] = { "" }, ["Liuyang-FY"] = { "" }, ["Liling-BTT"] = { "" }, ["Liling-BS"] = { "" }, ["Youxian"] = { "" }, ["Chaling"] = { "" }, ["Changning"] = { "" }, ["Changning-TS"] = { "" }, ["Leiyang"] = { "" }, ["Anren"] = { "" }, ["Zixing-XN"] = { "" }, ["Longhui-LDZ"] = { "" }, ["Dongkou"] = { "" }, ["Dongkou-SJ"] = { "" }, ["Jianning"] = { "" }, ["Taining"] = { "" }, ["Hanbin-NT"] = { "" }, ["Jinxian"] = { "" }, ["Jinxi"] = { "" }, ["Le'an"] = { "" }, ["Guangchang"] = { "" }, ["Anfu"] = { "" }, ["Suichuan"] = { "" }, ["Wan'an"] = { "" }, ["Jing'an"] = { "" }, ["Zhangshu"] = { "" }, ["Xingan"] = { "" }, ["Fenyi"] = { "" }, ["Meixian"] = { "鋸屎", "木糠" }, ["Xingning"] = { "" }, ["Dabu-XH"] = { "" }, ["Dabu-GB"] = { "" }, ["Fengshun-TK"] = { "" }, ["Fengshun-LH"] = { "" }, ["Fengshun-HJ"] = { "" }, ["Fengshun-FL"] = { "" }, ["Fengshun-PT"] = { "" }, ["Huizhou"] = { "" }, ["Huizhou-SK"] = { "" }, ["Huizhou-HL"] = { "" }, ["Huiyang"] = { "" }, ["Huidong-PS"] = { "" }, ["Huidong-DL"] = { "" }, ["Dongguan-H"] = { "" }, ["Longmen-PL"] = { "" }, ["Longmen-LX"] = { "" }, ["Boluo"] = { "" }, ["Shenzhen-H"] = { "" }, ["Shenzhen-H-LH"] = { "" }, ["Zengcheng-ZG"] = { "" }, ["Zhongshan-WGS"] = { "" }, ["Zhongshan-NLHS"] = { "" }, ["Wuhua-SZ"] = { "" }, ["Wuhua-HC"] = { "" }, ["Wuhua-CB"] = { "" }, ["Wuhua-MY"] = { "" }, ["Wuhua-ML"] = { "" }, ["Heyuan"] = { "" }, ["Zijin"] = { "" }, ["Zijin-GZ"] = { "" }, ["Longchuan-TC"] = { "" }, ["Longchuan-SD"] = { "" }, ["Heping-LZ"] = { "" }, ["Lianping"] = { "" }, ["Lianping-ZX"] = { "" }, ["Lianping-LJ"] = { "" }, ["Wengyuan"] = { "" }, ["Nanxiong-ZJ"] = { "木屎" }, ["Qujiang"] = { "" }, ["Xinfeng-MT"] = { "" }, ["Xinfeng-DX"] = { "" }, ["Xiaosanjiang"] = { "" }, ["Liannan"] = { "" }, ["Conghua-H"] = { "" }, ["Jiexi"] = { "" }, ["Luhe"] = { "" }, ["Raoping-XF"] = { "" }, ["Xiuzhuan"] = { "" }, ["Pinghe-JF"] = { "" }, ["Nanjing-ML"] = { "" }, ["Nanjing-BL"] = { "" }, ["Changting"] = { "" }, ["Shanghang"] = { "" }, ["Yongding"] = { "" }, ["Yongding-XY"] = { "" }, ["Yongding-GB"] = { "" }, ["Yongding-HK"] = { "" }, ["Wuping"] = { "" }, ["Wuping-ZS"] = { "" }, ["Wuping-Y"] = { "" }, ["Wuping-WD"] = { "" }, ["Pingyu"] = { "" }, ["Liancheng"] = { "" }, ["Liancheng-PT"] = { "" }, ["Liancheng-JX"] = { "" }, ["Liancheng-ZB"] = { "" }, ["Liancheng-LY"] = { "" }, ["Ninghua"] = { "" }, ["Qingliu"] = { "" }, ["Yudu"] = { "" }, ["Ningdu"] = { "" }, ["Ruijin"] = { "" }, ["Shicheng"] = { "" }, ["Shangyou"] = { "" }, ["Sandu"] = { "" }, ["Ganzhou-PL"] = { "" }, ["Nankang"] = { "" }, ["Dayu"] = { "" }, ["Quannan"] = { "" }, ["Dingnan"] = { "" }, ["Longnan"] = { "" }, ["Xunwu"] = { "" }, ["Anyuan"] = { "" }, ["Huichang"] = { "" }, ["Chongyi"] = { "" }, ["Xingguo"] = { "" }, ["Yunhe-JST"] = { "" }, ["Tonggu"] = { "" }, ["Fengxin-ZX"] = { "" }, ["Taoyuan"] = { "" }, ["Miaoli"] = { "鋸屑", "鋸屎" }, ["Zaoqiao"] = { "" }, ["Touwu"] = { "" }, ["Nanzhuang"] = { "" }, ["Shitan"] = { "" }, ["Sanwan"] = { "" }, ["Toufen"] = { "" }, ["Gongguan"] = { "" }, ["Zhuolan-SX"] = { "" }, ["Liudui"] = { "鋸屑", "鋸屎" }, ["Wuluo"] = { "" }, ["Meinong"] = { "" }, ["Shanlin"] = { "" }, ["Hsinchu"] = { "鋸屑", "鋸屎" }, ["Dongshi"] = { "鋸屑" }, ["Raoping"] = { "鋸屑", "鋸屎" }, ["Zhuolan-RP"] = { "" }, ["Yunlin"] = { "鋸屑", "鋸屎" }, ["Guoxing"] = { "" }, ["Hong Kong-H"] = { "" }, ["Tangkou"] = { "" }, ["Sanjia"] = { "" }, ["Sihe"] = { "" }, ["Qianpai"] = { "" }, ["Xindong"] = { "" }, ["Shalang"] = { "" }, ["Xin'an"] = { "" }, ["Shijiao"] = { "" }, ["Qingping"] = { "" }, ["Xihe"] = { "" }, ["Fumian-XS"] = { "" }, ["Luchuan-LC"] = { "" }, ["Luchuan-DQ"] = { "" }, ["Luchuan-SH"] = { "" }, ["Bobai-SH"] = { "" }, ["Bobai-LT"] = { "" }, ["Bobai-LP"] = { "" }, ["Bobai-LJ"] = { "" }, ["Bobai-CT"] = { "" }, ["Tang'an"] = { "" }, ["Beiliu-GH"] = { "" }, ["Beiliu-MM"] = { "" }, ["Xingye-GF"] = { "" }, ["Rongxian-XD"] = { "" }, ["Mashan-PL"] = { "" }, ["Binyang-WL"] = { "" }, ["Hengxian-XY"] = { "" }, ["Lingui-H-XJ"] = { "" }, ["Lipu-SDT"] = { "" }, ["Lipu-DSG"] = { "" }, ["Pingle-H"] = { "" }, ["Yangshuo-JB"] = { "" }, ["Tianlin-GL"] = { "" }, ["Qinzhou-H"] = { "" }, ["Guidong"] = { "" }, ["Rongchang-PL"] = { "" }, ["Chengdu-H-LT"] = { "" }, ["Longquanyi-H-SL"] = { "" }, ["Qingbaijiang-H-LW"] = { "" }, ["Xindu-H-SBT"] = { "" }, ["Xindu-H-HXC"] = { "" }, ["Xindu-H-XD"] = { "" }, ["Weiyuan-H"] = { "" }, ["Yilong-H"] = { "" }, ["Xichang-H"] = { "" }, ["Sabah-B"] = { "" }, ["Sabah-L"] = { "" }, ["Sabah-HY"] = { "" }, ["Sabah-HP"] = { "" }, ["Kuala Lumpur-H-HY"] = { "" }, ["Kuala Lumpur-H"] = { "" }, ["Senai"] = { "" }, ["Senai-JX"] = { "" }, ["Kuching"] = { "" }, ["Sungai Tapang"] = { "" }, ["Singkawang"] = { "" }, ["Pontianak-MX"] = { "" }, ["Mempawah"] = { "" }, ["Metal"] = { "" }, ["Singapore-MX"] = { "" }, ["Singapore-DB"] = { "" }, ["Belait-H"] = { "" }, ["Bangkok-MX"] = { "" }, ["Bangkok-FS"] = { "" }, ["Bangkok-JX"] = { "" }, ["Yangon-H"] = { "" }, ["Ho Chi Minh City-H"] = { "" }, ["Jixi"] = { "" }, ["Shexian"] = { "" }, ["Shexian-XG"] = { "" }, ["Shexian-DGY"] = { "" }, ["Tunxi"] = { "" }, ["Huizhou-HZ"] = { "" }, ["Xiuning"] = { "" }, ["Yixian"] = { "" }, ["Qimen"] = { "" }, ["Qimen-AL-Min"] = { "" }, ["Wuyuan"] = { "" }, ["Fuliang"] = { "" }, ["Dexing"] = { "" }, ["Jingde"] = { "" }, ["Zhanda"] = { "" }, ["Chun'an"] = { "" }, ["Sui'an"] = { "" }, ["Jiande"] = { "" }, ["Shouchang"] = { "" }, ["Guangzhou"] = { "木糠" }, ["Hong Kong"] = { "木糠" }, ["HK Weitou"] = { "" }, ["Kam Tin"] = { "" }, ["Shek Pik"] = { "" }, ["Ting Kok"] = { "" }, ["Tung Ping Chau"] = { "" }, ["Macau"] = { "" }, ["Panyu"] = { "" }, ["Huadu"] = { "" }, ["Conghua"] = { "" }, ["Zengcheng"] = { "" }, ["Foshan"] = { "" }, ["Nanhai"] = { "" }, ["Shunde"] = { "" }, ["Sanshui"] = { "" }, ["Gaoming"] = { "" }, ["Zhongshan"] = { "" }, ["Zhongshan-HC"] = { "" }, ["Zhongshan-NL"] = { "" }, ["Zhongshan-CKM"] = { "" }, ["Zhongshan-XL"] = { "" }, ["Zhongshan-DS"] = { "" }, ["Zhongshan-TB"] = { "" }, ["Zhongshan-HL"] = { "" }, ["Zhongshan-DF"] = { "" }, ["Zhongshan-NT"] = { "" }, ["Zhongshan-FS"] = { "" }, ["Zhongshan-SL"] = { "" }, ["Zhongshan-GK"] = { "" }, ["Zhongshan-HP"] = { "" }, ["Zhongshan-SJ"] = { "" }, ["Zhongshan-LW"] = { "" }, ["Zhongshan-MZ"] = { "" }, ["Zhongshan-GZ"] = { "" }, ["Zhongshan-BF"] = { "" }, ["Zhongshan-TZ"] = { "" }, ["Zhuhai"] = { "" }, ["Doumen-T"] = { "" }, ["Doumen-S"] = { "" }, ["Jiangmen"] = { "" }, ["Xinhui"] = { "" }, ["Taishan"] = { "" }, ["Taishan-GH"] = { "" }, ["Kaiping"] = { "" }, ["Enping"] = { "" }, ["Heshan"] = { "" }, ["Malan"] = { "" }, ["Malan-BTQ"] = { "" }, ["Malan-MHD"] = { "" }, ["Malan-SZP"] = { "" }, ["Malan-BLH"] = { "" }, ["Dongguan"] = { "" }, ["Shenzhen-C-LH"] = { "" }, ["Bao'an"] = { "" }, ["Dapeng"] = { "" }, ["Shenzhen-PD"] = { "" }, ["Pingshan-ZM"] = { "" }, ["Ebu-ZM"] = { "" }, ["Qingyuan"] = { "" }, ["Fogang"] = { "" }, ["Yingde"] = { "" }, ["Yangshan"] = { "" }, ["Lianshan"] = { "" }, ["Lianshan-YH"] = { "" }, ["Lianzhou"] = { "" }, ["Shaoguan"] = { "" }, ["Qujiang-C"] = { "" }, ["Renhua"] = { "" }, ["Lechang"] = { "" }, ["Gaoyao"] = { "" }, ["Sihui"] = { "" }, ["Guangning"] = { "" }, ["Deqing"] = { "" }, ["Huaiji"] = { "" }, ["Fengkai"] = { "" }, ["Yunfu"] = { "" }, ["Xinxing"] = { "" }, ["Luoding"] = { "" }, ["Yunan"] = { "" }, ["Yangjiang"] = { "" }, ["Yangdong"] = { "" }, ["Yangdong-YS"] = { "" }, ["Yangchun"] = { "" }, ["Yangxi"] = { "" }, ["Xinyi"] = { "" }, ["Maoming"] = { "" }, ["Maoming-YJ"] = { "" }, ["Gaozhou"] = { "" }, ["Huazhou"] = { "" }, ["Huazhou-CQ"] = { "" }, ["Zhanjiang"] = { "" }, ["Lianjiang"] = { "" }, ["Wuchuan"] = { "" }, ["Nanning"] = { "" }, ["Nanning-Tanka"] = { "" }, ["Wuzhou"] = { "" }, ["Cangwu-LB"] = { "" }, ["Yulin"] = { "" }, ["Rongxian"] = { "" }, ["Hepu"] = { "" }, ["Hepu-ST"] = { "" }, ["Guiping"] = { "" }, ["Guiping-JT"] = { "" }, ["Guiping-JK"] = { "" }, ["Guiping-MD"] = { "" }, ["Guiping-ML"] = { "" }, ["Pingnan-PN"] = { "" }, ["Pingnan-DZ"] = { "" }, ["Mengshan"] = { "" }, ["Mengshan-XX"] = { "" }, ["Mengshan-CT"] = { "" }, ["Guigang-GC"] = { "" }, ["Guigang-NJ"] = { "" }, ["Guigang-PD"] = { "" }, ["Beiliu"] = { "" }, ["Beiliu-TL"] = { "" }, ["Beiliu-XL"] = { "" }, ["Baise"] = { "" }, ["Tiandong"] = { "" }, ["Tiandong-LF"] = { "" }, ["Tianyang"] = { "" }, ["Pingguo"] = { "" }, ["Pingguo-SX"] = { "" }, ["Bobai"] = { "" }, ["Lingshan"] = { "" }, ["Pubei"] = { "" }, ["Qinzhou"] = { "" }, ["Qinzhou-XD"] = { "" }, ["Qinzhou-CT"] = { "" }, ["Qinzhou-NS"] = { "" }, ["Qinzhou-XNJ"] = { "" }, ["Beihai"] = { "" }, ["Beihai-NK"] = { "" }, ["Beihai-YP"] = { "" }, ["Beihai-QG"] = { "" }, ["Beihai-QG-CB"] = { "" }, ["Ningming"] = { "" }, ["Hengxian"] = { "" }, ["Pumen"] = { "" }, ["Fangchenggang-FC"] = { "" }, ["Dongxing"] = { "" }, ["Chongzuo-LT"] = { "" }, ["Fusui-QJ"] = { "" }, ["Lingchuan-C-YJ"] = { "" }, ["Pingle-C-MJ"] = { "" }, ["Pingle-C-SS"] = { "" }, ["Lipu-ZC"] = { "" }, ["Danzhou"] = { "" }, ["Sanya-YL"] = { "" }, ["Kuala Lumpur"] = { "" }, ["Penang-C"] = { "" }, ["Ipoh"] = { "" }, ["Sarikei-C"] = { "" }, ["Singapore-C"] = { "" }, ["Jakarta-C"] = { "" }, ["Ho Chi Minh City"] = { "" }, ["Mong Cai"] = { "" }, ["Phnom Penh-C"] = { "" }, ["Yangon-C"] = { "" }, ["Mandalay-C"] = { "" }, ["Bangkok-C"] = { "" }, ["Betong"] = { "" }, ["Manila-C"] = { "" }, ["Nanning-P"] = { "木糠" }, ["Nanning-P-SJ"] = { "" }, ["Nanning-P-GJY"] = { "" }, ["Nanning-P-ZGL"] = { "" }, ["Nanning-P-XXJD"] = { "" }, ["Nanning-P-SL"] = { "" }, ["Nanning-P-XX"] = { "" }, ["Nanning-P-SC"] = { "" }, ["Binyang"] = { "" }, ["Binyang-XQ"] = { "" }, ["Hengxian-P"] = { "" }, ["Wuxuan-JJ"] = { "" }, ["Chongzuo-P"] = { "" }, ["Liucheng-P"] = { "" }, ["Liucheng-P-GZ"] = { "" }, ["Yizhou-P-DS"] = { "" }, ["Luocheng-P"] = { "" }, ["Guilin-P"] = { "" }, ["Guilin-P-CY"] = { "" }, ["Guilin-P-DBZ"] = { "" }, ["Guilin-P-ZY"] = { "" }, ["Guilin-P-DB"] = { "" }, ["Guilin-P-YJ"] = { "" }, ["Guilin-P-QJ"] = { "" }, ["Lingui-P-WT"] = { "" }, ["Lingui-P-HS"] = { "" }, ["Lingui-P-LJ"] = { "" }, ["Lingui-P-LT"] = { "" }, ["Lingchuan-P"] = { "" }, ["Lingchuan-P-GQ"] = { "" }, ["Lingchuan-P-GD"] = { "" }, ["Lingchuan-P-TX"] = { "" }, ["Lingchuan-P-SZ"] = { "" }, ["Lingchuan-P-GP"] = { "" }, ["Lingchuan-P-LT"] = { "" }, ["Guanyang-P"] = { "" }, ["Quanzhou-P"] = { "" }, ["Pingle-P"] = { "" }, ["Pingle-P-XTM"] = { "" }, ["Yangshuo-P"] = { "" }, ["Yangshuo-P-PT"] = { "" }, ["Yongfu-P-JX"] = { "" }, ["Yongfu-P-CS"] = { "" }, ["Zhongshan-GA"] = { "" }, ["Xiamen"] = { "柴幼", "鋸屑麩", "鋸屑" }, ["Xiamen-HS"] = { "" }, ["Tong'an"] = { "" }, ["Quanzhou"] = { "鋸屑" }, ["Jinjiang"] = { "" }, ["Nan'an"] = { "" }, ["Shishi"] = { "" }, ["Hui'an"] = { "" }, ["Anxi"] = { "" }, ["Yongchun"] = { "" }, ["Dehua"] = { "" }, ["Zhangzhou"] = { "柴幼", "鋸屑麩" }, ["Longhai"] = { "" }, ["Changtai"] = { "" }, ["Hua'an"] = { "" }, ["Nanjing-MN"] = { "" }, ["Pinghe"] = { "" }, ["Zhangpu"] = { "" }, ["Yunxiao"] = { "" }, ["Zhao'an"] = { "" }, ["Zhao'an-SD"] = { "" }, ["Zhao'an-TY"] = { "" }, ["Zhao'an-WS"] = { "" }, ["Dongshan"] = { "" }, ["Taipei"] = { "" }, ["Wanhua"] = { "" }, ["Tamsui"] = { "" }, ["Sanxia"] = { "" }, ["Pingxi"] = { "" }, ["Kaohsiung"] = { "" }, ["Cijin"] = { "" }, ["Hongmaogang"] = { "" }, ["Dalinpu"] = { "" }, ["Tianliao"] = { "" }, ["Yilan"] = { "" }, ["Luodong"] = { "" }, ["Toucheng"] = { "" }, ["Lukang"] = { "" }, ["Yongjing-MN"] = { "" }, ["Taichung"] = { "" }, ["Wuqi"] = { "" }, ["Tainan"] = { "鋸屑麩", "柴屑:GT" }, --鋸屑麩 written as 鋸屑灰 ["Anping"] = { "" }, ["Shanhua"] = { "" }, ["Taitung"] = { "" }, ["Green Island"] = { "" }, ["Hsinchu-MN"] = { "" }, ["Miaoli-MN"] = { "" }, ["Mailiao"] = { "" }, ["Chiayi"] = { "" }, ["Chiayi-DS"] = { "" }, ["Baoli"] = { "" }, ["Liuqiu"] = { "" }, ["Kinmen"] = { "" }, ["Jinsha"] = { "" }, ["Magong"] = { "" }, ["Pengnan"] = { "" }, ["Xiyu"] = { "" }, ["Huxi"] = { "" }, ["Wangan"] = { "" }, ["Cimei"] = { "" }, ["Huayu"] = { "" }, ["Zhongtun"] = { "" }, ["Houliao"] = { "" }, ["Tongliang"] = { "" }, ["Jibei"] = { "" }, ["Malaysia-MN"] = { "" }, ["Melaka"] = { "" }, ["Labuan"] = { "" }, ["Singapore-MN"] = { "" }, ["Philippine-MN"] = { "柴屑" }, ["Medan"] = { "" }, ["Seri Begawan"] = { "" }, ["Ho Chi Minh City-MN"] = { "" }, ["Yangon-MN"] = { "" }, ["Longyan"] = { "" }, ["Zhangping"] = { "" }, ["Yongfu"] = { "" }, ["Datian"] = { "" }, ["Datian-GP"] = { "" }, ["Youxi-JM"] = { "" }, ["Youxi-XQ"] = { "" }, ["Shunchang-PS"] = { "" }, ["Pingnan"] = { "" }, ["Pingnan-PT"] = { "" }, ["Pingnan-SJ"] = { "" }, ["Guiping-XW"] = { "" }, ["Guiping-DS"] = { "" }, ["Guilin-MN-BYG"] = { "" }, ["Pingle-MN"] = { "" }, ["Qinzhou-MN"] = { "" }, ["Lechang-TT"] = { "" }, ["Renhua-CSB"] = { "" }, ["Yingde-YZ"] = { "" }, ["Yunan-LT"] = { "" }, ["Hangzhou-PF"] = { "" }, ["Cangnan-MN"] = { "" }, ["Yuhuan-KM"] = { "" }, ["Wenling-RS"] = { "" }, ["Yixing-SB"] = { "" }, ["Langxi-FL"] = { "" }, ["Chaozhou"] = { "柴粕" }, --solely based on Teochew entry in Wiktionary ["Raoping-MN-T"] = { "" }, ["Shantou"] = { "鋸屑" }, ["Chenghai"] = { "" }, ["Chenghai-DX"] = { "" }, ["Chaoyang"] = { "" }, ["Nan'ao-HZ"] = { "" }, ["Nan'ao-YA"] = { "" }, ["Jieyang"] = { "鋸屑" }, ["Puning"] = { "" }, ["Lufeng"] = { "" }, ["Haifeng"] = { "" }, ["Fengshun-MN-LH"] = { "" }, ["Fengshun-MN-HJ"] = { "" }, ["Yuen Chau Tsai-MN"] = { "" }, ["Sha Tau Kok-MN"] = { "" }, ["Thailand-MN-T"] = { "" }, ["Chiang Mai-MN-T"] = { "" }, ["Hat Yai-MN-T"] = { "" }, ["Cambodia-MN-T"] = { "" }, ["Ho Chi Minh City-MN-T"] = { "" }, ["Vientiane-MN-T"] = { "" }, ["Johor Bahru"] = { "" }, ["Penang-MN-T"] = { "" }, ["Singapore-MN-T"] = { "" }, ["Batam-MN-T"] = { "" }, ["Pontianak-MN-T"] = { "" }, ["Leizhou"] = { "鋸糠" }, ["Dianbai-XD"] = { "" }, ["Wenchang"] = { "" }, ["Haikou"] = { "" }, ["Chengmai"] = { "" }, ["Qionghai"] = { "" }, ["Wanning"] = { "" }, ["Tunchang"] = { "" }, ["Singapore-MN-H"] = { "" }, ["Belait-MN-H"] = { "" }, ["Putian"] = { "" }, ["Putian-DH"] = { "" }, ["Putian-JK"] = { "" }, ["Putian-NR"] = { "" }, ["Xianyou"] = { "柴幼" }, ["Xianyou-FT"] = { "" }, ["Xianyou-YY"] = { "" }, ["Fuding-AY"] = { "" }, ["Shaxi"] = { "" }, ["Sanxiang"] = { "" }, ["Fuzhou"] = { "鋸糠" }, ["Changle"] = { "" }, ["Lianjiang-MD"] = { "" }, ["Fuqing"] = { "" }, ["Pingtan"] = { "" }, ["Yongtai"] = { "" }, ["Minqing"] = { "" }, ["Gutian"] = { "" }, ["Pingnan-MD"] = { "" }, ["Luoyuan"] = { "" }, ["Fu'an"] = { "" }, ["Ningde"] = { "" }, ["Xiapu"] = { "" }, ["Zherong"] = { "" }, ["Shouning"] = { "" }, ["Zhouning"] = { "" }, ["Fuding"] = { "" }, ["Youxi"] = { "" }, ["Youxi-XY"] = { "" }, ["Youxi-YZ"] = { "" }, ["Youxi-TC"] = { "" }, ["Youxi-ZX"] = { "" }, ["Matsu"] = { "" }, ["Taishun-MD"] = { "" }, ["Cangnan-MD"] = { "" }, ["Guanhaiwei"] = { "" }, ["Singapore-MD-FQ"] = { "" }, ["Sitiawan-MD-GT"] = { "" }, ["Sibu-MD-MQ"] = { "" }, ["Jian'ou"] = { "鋸屑" }, ["Dikou"] = { "" }, ["Yanping-XY"] = { "" }, ["Songxi"] = { "" }, ["Zhenghe"] = { "" }, ["Zhenqian"] = { "" }, ["Shunchang-YD"] = { "" }, ["Jianyang"] = { "" }, ["Huangkeng"] = { "" }, ["Wuyishan"] = { "" }, ["Shibei"] = { "" }, ["Yong'an"] = { "" }, ["Sanyuan"] = { "" }, ["Shaxian"] = { "" }, ["Yanping-WT"] = { "" }, ["Shaowu"] = { "" }, ["Guangze"] = { "" }, ["Jiangle"] = { "" }, ["Mingxi"] = { "" }, ["Shunchang"] = { "" }, ["Ningde-She"] = { "" }, ["Fu'an-She"] = { "" }, ["Fuding-She"] = { "" }, ["Zhouning-She"] = { "" }, ["Xiapu-She"] = { "" }, ["Shouning-She"] = { "" }, ["Gutian-She"] = { "" }, ["Luoyuan-She"] = { "" }, ["Sanming-She"] = { "" }, ["Shunchang-She"] = { "" }, ["Hua'an-She"] = { "" }, ["Guixi-She"] = { "" }, ["Yanshan-She"] = { "" }, ["Cangnan-She"] = { "" }, ["Jingning-She"] = { "" }, ["Jingning-ZK-She"] = { "" }, ["Lishui-She"] = { "" }, ["Longyou-She"] = { "" }, ["Lin'an-She"] = { "" }, ["Jiande-She"] = { "" }, ["Ningguo-She"] = { "" }, ["Chaozhou-She"] = { "" }, ["Fengshun-She"] = { "" }, ["Guzhang-WX"] = { "" }, ["Yuanling-WX"] = { "" }, ["Luxi-WX"] = { "" }, ["Luxi-WX-LJT"] = { "" }, ["Luxi-WX-LJT-2"] = { "" }, ["Chengbu-WX"] = { "" }, ["Jiande-JXYM"] = { "" }, ["Jinhua-JXYM"] = { "" }, ["Lanxi-JXYM"] = { "" }, ["Tunxi-JXYM"] = { "" }, ["Jiangyong"] = { "" }, ["Dong'an"] = { "" }, ["Qujiang-DC"] = { "" }, ["Wujiang-XY"] = { "" }, ["Zhenjiang-SB"] = { "" }, ["Renhua-ZT"] = { "" }, ["Renhua-ST"] = { "" }, ["Ruyuan-GT"] = { "" }, ["Lechang-CL"] = { "" }, ["Lechang-BX"] = { "" }, ["Lechang-HP"] = { "" }, ["Lechang-GT"] = { "" }, ["Lechang-SX"] = { "" }, } return export k1iessx8gxv37w722v1rslc19s7js9e 鋸木屑 0 1469302 9752895 8304107 2026-05-05T13:47:35Z Fglffer 55252 /* 漢語 */ 9752895 wikitext text/x-wiki ==漢語== {{zh-forms|s=锯木屑}} ===發音=== {{zh-pron |m=jùmùxiè |x=ge4 mo6 sie6 |cat=n }} ===名詞=== {{head|zh|名詞}} # {{lb|zh|湘語}} [[鋸末]],鋸[[木材]]時落下的[[細末]] ====同義詞==== {{zh-dial|鋸末}} mvxwm33zf25hgwlaho0lc8fv0cuxp0d 塞爾維亞-克羅埃西亞語 0 1494697 9752875 9127353 2026-05-05T12:40:27Z Fglffer 55252 9752875 wikitext text/x-wiki ==漢語== {{zh-forms|s=塞尔维亚-克罗埃西亚语|type=451}} {{zh-wp}} ===發音=== {{zh-pron |m=Sài'ěrwéi亚-kèluó'āixī亚yǔ |c=coi3 ji5 wai4 aa3 hak1 lo4 oi1 sai1 aa3 jyu5 |cat=propn }} ===專有名詞=== {{head|zh|專有名詞}} # {{lb|zh|臺灣}} 一種通行在[[東南歐]][[巴爾幹半島]]前[[南斯拉夫]]諸國的[[語言]] ====同義詞==== * {{qual|中國大陸|香港}} {{zh-l|塞爾維亞-克羅地亞語}} ====翻譯==== {{trans-see|斯拉夫語族語言|塞爾維亞-克羅地亞語}} {{C|zh|語言名稱}} in57gih6l4ged2rq9pga05mjhlcnu91 Cungguek Gungcanjdangj 0 1502673 9753775 6020378 2026-05-06T08:43:59Z TongcyDai 53191 9753775 wikitext text/x-wiki ==壯語== ===詞源=== {{com|za|Cungguek|gungcanjdangj}}。 ===發音=== * {{za-pron|new_bor=2}} ===專有名詞=== {{za-head|專有名詞}} # [[中國共產黨]] #: {{syn|za|Cunghgoz Gungcanjdangj}} csdxqwe65pqxxc6f9t2px3rv39sc7oh Adomas ir Ieva 0 1518796 9753780 6051444 2026-05-06T08:54:14Z TongcyDai 53191 9753780 wikitext text/x-wiki ==立陶宛語== {{wp|lt:}} ===發音=== {{lt-pr|Adõmas ir̃ Ievà}} ===專有名詞=== {{head|lt|專有名詞|g=m|g2=f|head=[[Adõmas]] [[ir̃]] [[Ievà]]}} # [[亞當和伊夫]],[[亞當和夏娃]] ====變格==== {{lt-decl-noun-unc|Adõmas ir Ievà|Adõmo ir Ievõs|Adõmui ir Iẽvai|Adõmą ir Iẽvą|Adomù ir Ievà|Adomè ir Ievojè|Adõmai ir Iẽva}} {{C|lt|聖經人物}} ggjxeuv1hoeh7qpkgawybjq666r4xi7 demokratinis socializmas 0 1522663 9753776 6057020 2026-05-06T08:50:53Z TongcyDai 53191 9753776 wikitext text/x-wiki ==立陶宛語== {{wp|lt:}} ===發音=== {{lt-pr|demokrãtinis socialìzmas}} ===名詞=== {{lt-noun|m|-|head=[[demokrãtinis]] [[socialìzmas]]}} # [[民主社會主義]] ====變格==== {{lt-adj+noun|demokrat|inis|socializm|as}} {{C|lt|社會主義}} mnitibzmoscjyrwbsq608lv0rgwgu7r gimtoji kalba 0 1524806 9752943 9120732 2026-05-05T20:36:33Z TongcyDai 53191 9752943 wikitext text/x-wiki ==立陶宛語== ===發音=== * {{IPA|lt|[ɡʲɪm¹ˈtoːjɪ kɐlˈbɐ]}} ===名詞=== {{lt-noun|f|gimtosios kalbos|head=[[gimtas|gimtóji]] [[kalbà]]}} # [[母語]],[[本族語]] ====變格==== {{lt-adj+noun|gimt|oji|kalb|a}} grco7qpn80gn61tgl45l6f03zxiwew3 indoeuropiečių prokalbė 0 1535886 9752941 9530771 2026-05-05T20:30:26Z TongcyDai 53191 9752941 wikitext text/x-wiki ==立陶宛語== ===發音=== * {{IPA|lt|[ɪndɔ.ɛʊrɔ²ˈpʲiɛt͡ʃʲu̟ː ¹ˈproːkɐlʲbʲeː]}} ===名詞=== {{lt-noun|f|head=[[indoeuropietis|indoeuropiẽčių]] [[prókalbė]]}} # {{lb|lt|語言學}} [[Proto-Indo-European]] ====變格==== {{lt-noun-f-ė-1|indoeuropiẽčių prokalb|indoeuropiẽčių prókalb|n=s}} 72rd8mcbwyyfek4wslj3tbrfwja169h 9752942 9752941 2026-05-05T20:30:39Z TongcyDai 53191 9752942 wikitext text/x-wiki ==立陶宛語== ===發音=== * {{IPA|lt|[ɪndɔ.ɛʊrɔ²ˈpʲiɛt͡ʃʲu̟ː ¹ˈproːkɐlʲbʲeː]}} ===名詞=== {{lt-noun|f|head=[[indoeuropietis|indoeuropiẽčių]] [[prókalbė]]}} # {{lb|lt|語言學}} [[原始印歐語]] ====變格==== {{lt-noun-f-ė-1|indoeuropiẽčių prokalb|indoeuropiẽčių prókalb|n=s}} 50fdjk6s7wv1j3961idtat2dw59keva taip 0 1543783 9752917 6089169 2026-05-05T16:29:38Z TongcyDai 53191 9752917 wikitext text/x-wiki ==立陶宛語== ===詞源=== 源自 {{af|lt|taĩ|t1=那|-aĩp|t2=副詞後綴}}。更多資訊請見 {{m|lt|-aĩp}}。 {{m|lt||taĩp}} 這個形式是從[[小立陶宛]]引入標準立陶宛語的,而非[[蘇瓦爾基亞]]的 {{m|lt||teĩp, tèp}}。<ref>{{cite-journal|title=Dėl lietuvių bendrinės kalbos kilmės|author=Zigmas Zinkevičius|year=1994|journal=Baltistica|doi=10.15388/baltistica.0.4.829|page=147}}</ref> ===發音=== * {{IPA|lt|[tɐjp]}} ===副詞=== {{lt-adv|-|head=taĩp}} # [[是]],[[對]] # [[好的]],[[當然]] # [[如此]],[[這樣]],[[這麼]] #: {{coi|lt|'''taip''' lengviau|t='''這樣'''比較容易}} ====近義詞==== * {{qualifier|好的}} {{l|lt|gerai}} ====反義詞==== * {{l|lt|ne}} ====派生詞彙==== * {{l|lt|taip pat}} ===參考資料=== <references/> ===延伸閱讀=== * {{R:LKZ}} * {{R:lt:LKEŽDUB}} * {{cite-book|title=Lithuanian Grammar|author= Vytautas Ambrazas|year=2006|chapter=3. Morphology § 6.8|edition=2nd revised|page=381|isbn=9955230355}} ==馬來語== ===詞源=== {{bor+|ms|en|type}}。 ===發音=== {{ms-IPA}} ===動詞=== {{ms-verb|j=تاءيڤ}} # to [[type]] {{gl|of keyboard, typewriter}} ====派生詞彙==== {{ms-der|21|310|310+221 |mesin taip:[[typewriter]] |muka taip:[[typeface]] |rupa taip:[[typeface]] }} ===延伸閱讀=== * {{R:PRPM}} bu9p2nb156ghuip14be9xvjzxi49uey 9752919 9752917 2026-05-05T16:30:47Z TongcyDai 53191 9752919 wikitext text/x-wiki ==立陶宛語== ===詞源=== 源自 {{af|lt|taĩ|t1=那|-aĩp|t2=副詞後綴}}。更多資訊請見 {{m|lt|-aĩp}}。 {{m|lt||taĩp}} 這個形式是從[[小立陶宛]]引入標準立陶宛語的,而非[[蘇瓦爾基亞]]的 {{m|lt||teĩp, tèp}}。<ref>{{cite-journal|title=Dėl lietuvių bendrinės kalbos kilmės|author=Zigmas Zinkevičius|year=1994|journal=Baltistica|doi=10.15388/baltistica.0.4.829|page=147}}</ref> ===發音=== * {{IPA|lt|[tɐjp]}} ===副詞=== {{lt-adv|-|head=taĩp}} # [[是]],[[對]] # [[好的]],[[當然]] # [[如此]],[[這樣]],[[這麼]] #: {{coi|lt|'''taip''' lengviau|t='''這樣'''比較容易}} ====近義詞==== * {{qualifier|好的}} {{l|lt|gerai}} ====反義詞==== * {{l|lt|ne}} ====派生詞彙==== * {{l|lt|taip pat}} ===參考資料=== <references/> ===延伸閱讀=== * {{R:LKZ}} * {{R:lt:LKEŽDUB}} * {{cite-book|title=Lithuanian Grammar|author= Vytautas Ambrazas|year=2006|chapter=3. Morphology § 6.8|edition=2nd revised|page=381|isbn=9955230355}} ==馬來語== ===詞源=== {{bor+|ms|en|type}}。 ===發音=== {{ms-IPA}} ===動詞=== {{ms-verb|j=تاءيڤ}} # [[打字]]{{gl|鍵盤、打字機等}} ====派生詞彙==== {{ms-der|21|310|310+221 |mesin taip:[[打字機]] |muka taip:[[字體]] |rupa taip:[[字體]] }} ===延伸閱讀=== * {{R:PRPM}} tsomd6gfnmsncroedn2exkfx8q941p0 米克斯 0 1632024 9752880 6236533 2026-05-05T13:28:59Z Fglffer 55252 /* 漢語 */ 9752880 wikitext text/x-wiki ==漢語== {{zh-forms|gloss=-}} ===詞源=== 源自{{der|zh|en|mix}}。 ===發音=== {{zh-pron |m=mǐkèsī |cat=n }} ===名詞=== {{head|zh|名詞}} # {{lb|zh|臺灣}} 兩種以上不同[[品種]]的生物交配產生的下代,常用於指稱[[狗]]、[[貓]]等動物 ====近義詞==== * {{zh-l|混種}} * {{zh-l|雜種}} {{qualifier|貶義}} 9g3n1up4888x11bwaibb80pwlvmbc8o 臺灣尾 0 1632456 9752883 9143885 2026-05-05T13:33:35Z Fglffer 55252 /* 漢語 */ 9752883 wikitext text/x-wiki ==漢語== {{zh-forms|s=台湾尾|t2=台灣尾|type=21}} ===發音=== {{zh-pron |m=táiwānwěi |mn=tp,hc,mg:tâi-oân-bé/lk,sx,km,hc:tâi-oân-bér/yl,tn,kh,tc:tâi-oân-bóe |cat=n }} ===名詞=== {{head|zh|名詞}} # {{lb|zh|臺灣話|臺灣}} [[臺灣]]的南端 #: {{zh-x|對 臺灣頭 食 甲 臺灣尾|從臺灣北吃到'''臺灣南'''|TW}} ====相關詞彙==== * {{zh-l|臺灣頭}} ====參考資料==== * {{R:nan:tdj|56719|p=14}} 4rldhvv6u8sqkihae1u74p5613zf3l5 9752885 9752883 2026-05-05T13:34:23Z Fglffer 55252 /* 名詞 */ 9752885 wikitext text/x-wiki ==漢語== {{zh-forms|s=台湾尾|t2=台灣尾|type=21}} ===發音=== {{zh-pron |m=táiwānwěi |mn=tp,hc,mg:tâi-oân-bé/lk,sx,km,hc:tâi-oân-bér/yl,tn,kh,tc:tâi-oân-bóe |cat=n }} ===名詞=== {{head|zh|名詞}} # {{lb|zh|主要用於|_|臺灣|臺灣話}} [[臺灣]]的南端 #: {{zh-x|對 臺灣頭 食 甲 臺灣尾|從臺灣北吃到'''臺灣南'''|TW}} ====相關詞彙==== * {{zh-l|臺灣頭}} ====參考資料==== * {{R:nan:tdj|56719|p=14}} eeggahbq727euxpwyash5lrzinmq311 臺灣頭 0 1632460 9752886 9143886 2026-05-05T13:34:40Z Fglffer 55252 /* 漢語 */ 9752886 wikitext text/x-wiki ==漢語== {{zh-forms|s=台湾头|t2=台灣頭|type=21}} ===發音=== {{zh-pron |m=táiwāntóu |mn=tâi-oân-thâu |cat=n }} ===名詞=== {{head|zh|名詞}} # {{lb|zh|主要用於|_|臺灣|臺灣話}} [[臺灣]]的北端 #: {{zh-x|對 臺灣頭 食 甲 臺灣尾|從'''臺灣北'''吃到臺灣南|TW}} ====相關詞彙==== * {{zh-l|臺灣尾}} ====參考資料==== * {{R:nan:tdj|56721|p=14}} f1apl9r2nwe2xngclfikihwjybw8izq 天道虫 0 1680786 9752950 9747640 2026-05-05T21:36:54Z InternetArchiveBot 95668 Rescuing 0 sources and tagging 1 as dead.) #IABot (v2.0.9.5 9752950 wikitext text/x-wiki {{DEFAULTSORT:てんとうむし}} ==日語== {{ja-kanjitab|yomi=kanon2,kun|てん|とう|むし|alt=てんとう虫,瓢虫,紅娘}} {{wiki|lang=ja|テントウムシ}} [[File:Coccinella_septempunctata_detail.jpg|thumb|250px|{{m|ja||天道虫|tr=tentō mushi}}]] ===詞源=== {{compound|ja|sort=てんとうむし|天道|tr1=tentō|t1=天空;天上的道路;太陽|虫|tr2=mushi|t2=[[蟲子]]}}。 來源有多種說法,包括: * 來自其向上飛朝向太陽的姿勢。 * 來自其降落在枝條上時朝天的姿勢。 衍生種類基本帶 ''-tentō'' 的後綴。 ===發音=== {{ja-pron|てんとう むし|acc=3|acc_ref=DJR}} ===名詞=== {{ja-noun|てんとう むし|テントウ ムシ|hist1=てんたうむし|hist2=テンタウムシ}} # [[瓢蟲]] {{gloss|[[Coccinellidae]]}} #: {{hypernyms|ja|甲虫|tr=kōchū}} # {{synonym of|ja|並瓢虫|tr=namitentō}}:異色瓢蟲,{{taxlink|Harmonia axyridis|species|ver=180426}} ====使用說明==== {{U:ja:biology|テントウムシ}} ====衍生詞==== {{col|ja |{{ja-r|偽瓢虫|てんとう むし だまし}} |{{ja-r|赤%星 瓢虫|あか%ぼし てんとう|{{taxlink|Chilocorus rubidus|species}}}} |{{ja-r|七%星 瓢虫|なな%ほし てんとう}} |{{ja-r|並 瓢虫|なみ てんとう}} |{{ja-r|二%十%八%星 瓢虫|に%じゅう%はち%ほし てんとう|{{taxlink|Henosepilachna vigintioctopunctata|species}}}} }} ===來源=== <references/> :* {{R:Kanjipedia Kotoba|0005044400}} ===延伸閱讀=== * [http://www.nihonjiten.com/data/46555.html {{lang|ja|日本辞典}}]{{Dead link|date=May 2026 |bot=InternetArchiveBot |fix-attempted=yes }} (日語) {{C|ja|甲蟲}} qujjac9y4oibklwn1a276crqn5ssk2z Category:一天裡的時刻 14 1755754 9752940 7060717 2026-05-05T20:27:39Z Fglffer 55252 9752940 wikitext text/x-wiki {{auto cat}} eomzlm5v4j7ond1phrju7cnue91g5qx 再生数 0 1821521 9752898 7177560 2026-05-05T13:49:21Z YeBoy371 43905 /* 名詞 */ 9752898 wikitext text/x-wiki ==日語== {{ja-kanjitab|さい|せい|すう|yomi=o}} ===詞源=== 源自{{ja-compound|再生|さいせい|数|すう|t1=播放(影像、音頻)|t2=數}}。 ===發音=== {{ja-pron|さいせいすう|acc=3}} ===名詞=== {{ja-noun|さいせいすう|hhira=さいせいすう}} # {{lb|ja|網際網路|sort=さいせいすう}} [[影片]]/[[視頻]]的[[播放]]次數 #: {{syn|ja|再生回数<tr:saisei kaisū>|視聴回数<tr:shichō kaisū>}} {{C|ja|社群媒體|sort=さいせいすう}} dj2lfz7psdily1iejl1v37jlrqg4zo6 再生回数 0 1821522 9752897 7177561 2026-05-05T13:49:18Z YeBoy371 43905 /* 名詞 */ 9752897 wikitext text/x-wiki ==日語== {{ja-kanjitab|さい|せい|かい|すう|yomi=o}} ===詞源=== 源自{{ja-compound|再生|さいせい|回数|かいすう|t1=播放(影像、音頻)|t2=次數}}。 ===發音=== {{ja-pron|さいせい かいすう|acc=5}} ===名詞=== {{ja-noun|head=[[再生]][[回数]]|さいせい かいすう|hhira=さいせいくわいすう}} # {{lb|ja|網際網路|sort=さいせいかいすう}} [[影片]]/[[視頻]]的[[播放]]次數 #: {{syn|ja|再生数<tr:saiseisū>|視聴回数<tr:shichō kaisū>}} {{C|ja|社群媒體|sort=さいせいかいすう}} 7qotpfl57tqlhco4rpnqh7dq4f3g7br 9752899 9752897 2026-05-05T13:50:01Z YeBoy371 43905 /* 發音 */ 9752899 wikitext text/x-wiki ==日語== {{ja-kanjitab|さい|せい|かい|すう|yomi=o}} ===詞源=== 源自{{ja-compound|再生|さいせい|回数|かいすう|t1=播放(影像、音頻)|t2=次數}}。 ===發音=== {{ja-pron|さいせい かいすう|acc=7|acc2=5}} ===名詞=== {{ja-noun|head=[[再生]][[回数]]|さいせい かいすう|hhira=さいせいくわいすう}} # {{lb|ja|網際網路|sort=さいせいかいすう}} [[影片]]/[[視頻]]的[[播放]]次數 #: {{syn|ja|再生数<tr:saiseisū>|視聴回数<tr:shichō kaisū>}} {{C|ja|社群媒體|sort=さいせいかいすう}} ab6qbnuplaq5482hhadbhduhiknxchf ஐரோப்பா 0 1986386 9752925 7352746 2026-05-05T17:18:56Z TongcyDai 53191 9752925 wikitext text/x-wiki ==泰米爾語== ===其他形式=== * {{alter|ta|அய்ரோப்பா||替代拼寫}} ===詞源=== 可能{{bor+|ta|de|Europa}},最终源自{{der|ta|grc|Εὐρώπη}}。 ===發音=== * {{ta-IPA}} * {{audio|ta|LL-Q5885 (tam)-Sriveenkat-ஐரோப்பா.wav|a=India}} ===專有名詞=== {{ta-proper noun}} # [[歐洲]]{{gl|大洲}}{{c|ta|大洲}} #: {{syn|ta|சீமை}} # [[歐羅巴]]{{gl|木星的衛星}} ====變格==== {{ta-decl|num=sg}} ====派生詞彙==== {{col3|ta|ஐரோப்பியர்<t:歐洲人>}} ===參見=== {{table:continents/ta}} {{table:Solar System/ta}} ===參考資料=== * {{R:TAL|ஐரோப்பியன்}} bdio230asbwgk1aa31ickqbfbtpo0dn 複製文 0 2136834 9752893 7559173 2026-05-05T13:42:06Z Fglffer 55252 /* 漢語 */ 9752893 wikitext text/x-wiki ==漢語== {{zh-forms|s=复制文|type=21}} ===發音=== {{zh-pron |m=fùzhìwén |cat=n }} ===名詞=== {{head|zh|名詞}} # {{lb|zh|臺灣|網路俚語}} 從其他地方[[複製]][[貼上]]/[[粘貼]]的長[[文本]] #: {{syn|zh|潮文|q1=香港粵語}} ====翻譯==== {{trans-top|從其他地方複製貼上/粘貼的長文本}} * 英語:{{t+|en|copypasta}} * 法語:{{t+|fr|copié-collé|m}} * 日語:{{t+|ja|コピペ|tr=kopipe}} * 朝鮮語:{{t|ko|복붙}} * 馬其頓語:{{t|mk|копипа́ста|f}} * 葡萄牙語:{{t|pt|copypasta}} * 俄語:{{t+|ru|копипа́ста|f}} {{trans-bottom}} h517mq33yl172ksx4li8nvpzmaks4s1 菜瓜布 0 2220463 9752881 9580269 2026-05-05T13:32:15Z Fglffer 55252 /* 漢語 */ 9752881 wikitext text/x-wiki ==漢語== {{zh-forms|type=21}} {{wikipedia|zh:}} [[File:Luffa sponge.png|thumb|200px|right]] ===發音=== {{zh-pron |m=càiguābù |h=pfs=chhoi-kôa-pu;hrs=h:coiˇ guaˋ buˇ |mn=tw:chhài-koe-pò͘ |cat=n }} ===名詞=== {{head|zh|名詞}} {{tlb|zh|mainly|臺灣|臺灣話|臺灣客家語}} # [[絲瓜]][[乾燥]][[成熟]][[果實]]的[[維管束]],常用於[[清潔]][[器皿]] # {{lb|zh|引申}} 清潔器皿用的[[海綿]] ====近義詞==== {{syn-saurus|zh|絲瓜絡}} ===參考資料=== * {{thcwd|8941}} * {{R:hak:HDT}} dwlffqxfg1mqn4h40iy8ie3u2esx310 9752882 9752881 2026-05-05T13:32:27Z Fglffer 55252 /* 漢語 */ 9752882 wikitext text/x-wiki ==漢語== {{zh-forms|type=21}} {{wp|zh:}} [[File:Luffa sponge.png|thumb|200px|right]] ===發音=== {{zh-pron |m=càiguābù |h=pfs=chhoi-kôa-pu;hrs=h:coiˇ guaˋ buˇ |mn=tw:chhài-koe-pò͘ |cat=n }} ===名詞=== {{head|zh|名詞}} {{tlb|zh|mainly|臺灣|臺灣話|臺灣客家語}} # [[絲瓜]][[乾燥]][[成熟]][[果實]]的[[維管束]],常用於[[清潔]][[器皿]] # {{lb|zh|引申}} 清潔器皿用的[[海綿]] ====近義詞==== {{syn-saurus|zh|絲瓜絡}} ===參考資料=== * {{thcwd|8941}} * {{R:hak:HDT}} hnyhsl4eq5dr8nzqdm0px1m2bjjud0h ㄅㄧㄤˋ 0 2266828 9752870 7914495 2026-05-05T12:32:26Z Fglffer 55252 9752870 wikitext text/x-wiki ==漢語== {{zh-forms|type=4|delink=y|gloss=-}} ===詞源=== {{contraction|zh|不一樣}}。 ===發音=== {{zh-pron |m=biàng |cat=a }} ===形容詞=== {{head|zh|形容詞}} # {{lb|zh|Taiwan|俚語}} 很[[酷]],很[[厲害]] #* {{quote-song|zh|lyricist=阿雅、于光中|artist=w:阿雅|year=1998|title=ㄘㄨㄚˋ冰進行曲}} #*: {{zh-q|立.正 站 好 看 這裡 太 緊張 的 先 稍息{xí} 英雄 馬上 就要 出現 最 ㄅ{}ㄧ{}ㄤ{}ˋ{biàng} 的 人 得 第 一||M-TW}} #* {{quote-song|zh|lyricist=Izumi, {{lang|zh|石三浩}}, G-NICE|artist={{lw|zh|丁小芹}}, G-NICE|year=1999|title=Walking 2000}} #*: {{zh-q|穿.上 你 最 ㄅ{}ㄧ{}ㄤ{}ˋ{biàng} 的 衣服 走 上 街頭 秀 自己||M-TW}} #* {{quote-song|zh|lyricist=|artist=鐵竹堂|year=2003|title=你殺不了我}} #*: {{zh-q|我 看 很 多 人 在 裝 流氓 他們 的 幫 自以為{wéi} 自己 很 ㄅ{}ㄧ{}ㄤ{}ˋ{biàng} 我 兄弟 馬上 開.槍||M-TW}} #* {{quote-song|zh|lyricist={{lang|zh|徐光義}}, {{lang|zh|王美蓮}}|artist=火星人|year=2006|title=不同凡響}} #*: {{zh-q|我 的 世界 就 是 ㄅ{}ㄧ{}ㄤ{}ˋ{biàng} 不.同.凡.響||M-TW}} {{cat|zh|臺灣華語}} rv3036g6rr6vilkz7ppt5dwdqw2k4d8 Stryj 0 2366523 9752916 8755870 2026-05-05T16:24:01Z Ziv 125057 ([[c:GR|GR]]) [[c:COM:Duplicate|Duplicate]]: [[File:Budynek Stryjskiej Miejskiej Rady.jpg]] → [[File:ВП Стрый горсовет.jpg]] Exact or scaled-down duplicate: [[c::File:ВП Стрый горсовет.jpg]] 9752916 wikitext text/x-wiki {{also|stryj}} ==波蘭語== {{wikipedia|lang=pl}} [[File:ВП Стрый горсовет.jpg|thumb|Stryj (#2.1)]] [[File:Ukraine-Stryi River-3.jpg|thumb|Stryj (2.2)]] ===發音=== {{pl-pr|hh=stryj}} ===詞源1=== 源自 {{m|pl|stryj}}。 ====專有名詞==== {{pl-prop|m-pr}} # {{surname|pl|g=m}} =====變格===== {{pl-decl-noun-m-pr|nomp=Stryjowie|genp=Stryjów}} =====其他形式===== * {{alt|pl|Stryi}} ====專有名詞==== {{pl-prop|m-in|adj=stryjski}} # {{place|pl|村|co:Suf/雷基|voi/盧布林|c/波蘭}} =====變格===== {{pl-decl-noun-m-in|gens=Stryja|tantum=s}} ====專有名詞==== {{pl-prop|f|indecl=1}} # {{surname|pl|g=f}} ===詞源2=== {{bor+|pl|uk|Стрий}}。 ====專有名詞==== {{pl-prop|m-in|adj=stryjski}} # {{place|pl|城市/行政中心/and/區|obl/利沃夫|c/烏克蘭|t=斯特雷}} # {{place|pl|河|c/烏克蘭|t=謝伊姆河}} =====變格===== {{pl-decl-noun-m-in|gens=Stryja|tantum=s}} ===延伸閱讀=== * {{R:pl:PWN}} * {{R:pl:PWN Encyclopedia}} {{cln|pl|外名}} 64szee2mnhlpayx52t9alj0kan0kk7o 蛋雕 0 2980957 9752892 9081868 2026-05-05T13:41:17Z Fglffer 55252 /* 漢語 */ 9752892 wikitext text/x-wiki ==漢語== {{zh-forms}} ===詞源=== ;“丟掉” {{bor+|cmn|nan-hbl|[[掟]][[掉]]|tr=tàn tiāu}}。 ===發音=== {{zh-pron |m=dàndiāo |cat=n,v }} ===名詞=== {{head|zh|名詞}} # 用[[蛋殼]]作為材料的[[工藝]]或[[藝術]][[作品]] ===動詞=== {{zh-verb}} # {{lb|zh|臺灣華語|俚語}} [[丟掉]] lqyowevxfpab2bkck7mur0eaia0jglf Category:臺灣華語 14 3139504 9752872 9285300 2026-05-05T12:36:22Z Fglffer 55252 9752872 wikitext text/x-wiki {{auto cat|lect=1}} ertee7cys9kcm61xm19ibbz6xr74sxz 𲠆 0 3229160 9752933 9405894 2026-05-05T20:05:24Z Fglffer 55252 9752933 wikitext text/x-wiki {{character info}} ==跨語言== ===漢字=== {{Han char|rn=61|rad=心|as=08|sn=11|canj=PUMJ|four=92041|ids=⿰忄岸}} ===來源=== {{Han ref|kx=392.181|uh=32806}} ==漢語== {{zh-forms}} ===字源=== {{Han compound|心|岸|ls=psc|c1=s|c2=p|t1=內心,心靈|tr2=àn}}。 ===發音=== {{zh-pron |m=àn |ma=y |cat=pn }} ===釋義=== {{head|zh|漢字}} # {{lb|zh|Taiwan}} {{n-g|用於[[公司]]名}} ===來源=== * {{R:zh:CNS|11|7B4F}} ==越南語== ===字源=== {{Han compound|lang=vi|心|alt1=忄|岸|ls=psc|tr=|c1=s|c2=p|t1=內心,心靈|tr2=ngạn}}。 ===漢字=== {{vi-readings|rs=心08|nom=ngẩn-tdcndg}} # {{vi-Nom form of|ngẩn|恍惚}} ====組詞==== {{col|vi |{{vi-l|𲠆䁩|ngẩn ngơ}} }} ===來源=== <references/> jh3n3kw93u5qeotri4rgvd0469aj0ri 𲤖 0 3229429 9752934 9406163 2026-05-05T20:08:34Z Fglffer 55252 9752934 wikitext text/x-wiki {{character info}} ==跨語言== ===漢字=== {{Han char|rn=72|rad=日|as=05|sn=9|canj=AHMY|four=62041(G),62031(T)|ids=⿰日斥}} ===來源=== * {{Han ref|kx=494.181|uh=32916}} ==漢語== {{zh-forms}} ===字源=== {{Han compound|日|斥|ls=psc|c1=s|c2=p}}。 ===詞源1=== ====發音==== {{zh-pron |m=sù |ma=y |cat=pn }} ====釋義==== {{head|zh|漢字}} # {{lb|zh|Taiwan}} {{zh-used2|n}} ===詞源2=== {{zh-see|坼|o}} ===來源=== * {{R:zh:CNS|12|3C6F}} m5rg3l25druc6qrt8dh3st8h04lksis 扮蟹 0 3433402 9752909 9752854 2026-05-05T14:43:18Z Sayonzei 40728 /* 動詞 */ 9752909 wikitext text/x-wiki ==漢語== {{zh-forms}} ===發音=== {{zh-pron |c=baan6 haai5 |cat=v }} ===動詞=== {{zh-verb|type=vo}} # {{lb|zh|粵語}} [[裝模作樣]],[[不懂裝懂]] #: {{zh-x|你 唔好 喺度 '''@扮''' 嗮 '''@蟹''' 喎{wo3}。|你別在這裡'''裝模作樣'''的。|C}} ====派生詞彙==== {{col3|zh|扮死蟹}} 45dozo193gxyg16jrn16lgzmega8uwt ゆうほう 0 3433408 9752866 2026-05-05T12:13:15Z Fglffer 55252 新詞條 9752866 wikitext text/x-wiki ==日語== {{ja-see|友邦|有朋|雄峰}} giw8an6hnusg32dcnfuahnz6ynq4z0v 作育英才 0 3433409 9752868 2026-05-05T12:21:53Z Fglffer 55252 新詞條 9752868 wikitext text/x-wiki ==漢語== {{zh-forms|type=22}} ===發音=== {{zh-pron |m=zuòyùyīngcái |cat=cy }} ===成語=== {{head|zh|成語}} # [[培育]][[優秀]]的[[人才]] 565remih91zvz9zupxr34ppepi9wi0e 貝戈戈 0 3433410 9752869 2026-05-05T12:28:31Z Fglffer 55252 新詞條 9752869 wikitext text/x-wiki ==漢語== {{zh-forms|s=贝戈戈}} ===詞源=== 漢字{{zh-l|*賤}}的字符分解。 ===發音=== {{zh-pron |m=bèigēgē |cat=a }} ===形容詞=== {{head|zh|形容詞}} # {{lb|zh|Taiwan}} {{syn of|zh|賤|t=卑鄙}} ====參見==== * {{zh-l|春虫虫}} 3xr6n5he3ryfqmx5rs0z9njoyt2u5lf sōtō 0 3433411 9752884 2026-05-05T13:33:46Z Sayonzei 40728 [[w:WP:AES|←]]建立內容為「{{also|Appendix:"soto"的變體}} ==日語== ===羅馬化=== {{ja-romaji}} # {{ja-romanization of|そうとう}}」的新頁面 9752884 wikitext text/x-wiki {{also|Appendix:"soto"的變體}} ==日語== ===羅馬化=== {{ja-romaji}} # {{ja-romanization of|そうとう}} bnz5i0eord3rkupdwg90e6xv07be0rn Template:Ja-suru-acc-table 10 3433412 9752908 2026-05-05T14:43:08Z Fglffer 55252 新詞條 9752908 wikitext text/x-wiki <includeonly>{{#if:{{{acc|}}}|{{ja-acc-table|verb-suru|する|acc=0|て-form-acc=0|lemma={{{lemma|{{SUBPAGENAME}}}}}する|complex={{{1|{{SUBPAGENAME}}}}} kana = {{replace|plain=false|1={{replace|plain=false|1={{replace|plain=false|1=,{{replace|plain=false|1={{{acc}}}|2=,%s+|3=,}}|2=,%s*([^A-Za-z0-9]+)%s*([ A-Za-z0-9%+]+)%s*[^,]*|3=,%1+kana %2+acc}}|2=,%s*([A-Za-z0-9]+)%s*[^,]*|3=,{{{1|{{SUBPAGENAME}}}}}+kana %1+acc}}|2=^,|3=}}}}|{{error|acc is required}}}}</includeonly><noinclude>{{documentation}}</noinclude> sf6ur6jq7melexk11utznm6e69onqb3 senkō 0 3433413 9752911 2026-05-05T14:43:50Z Sayonzei 40728 [[w:WP:AES|←]]建立內容為「==日語== ===羅馬化=== {{ja-romaji}} # {{ja-romanization of|せんこう}}」的新頁面 9752911 wikitext text/x-wiki ==日語== ===羅馬化=== {{ja-romaji}} # {{ja-romanization of|せんこう}} i1aqctvlr77zqwva5ml1tixs4pxq2vf Čekijos Respublika 0 3433414 9752915 2026-05-05T15:25:01Z TongcyDai 53191 [[w:WP:AES|←]]建立內容為「{{also|Čekijos Respubliką}} ==立陶宛語== ===發音=== * {{IPA|lt|[ˈt͡ʃʲɛkʲɪjo̟ːs rʲɛˈspʊbʲlʲɪkɐ]}} ===專有名詞=== {{lt-proper noun|f|head=[[Čèkijos]] [[respublika|Respùblika]]|1}} # {{place|lt|t=捷克共和國|國家|r/中歐}} ====變格==== {{lt-noun-f-a-unc-1|Čekijos Respublik|Čèkijos Respùblik}} ====近義詞==== * {{l|lt|Čèkija}} ====參見==== {{list:countries in Europe/lt}}」的新頁面 9752915 wikitext text/x-wiki {{also|Čekijos Respubliką}} ==立陶宛語== ===發音=== * {{IPA|lt|[ˈt͡ʃʲɛkʲɪjo̟ːs rʲɛˈspʊbʲlʲɪkɐ]}} ===專有名詞=== {{lt-proper noun|f|head=[[Čèkijos]] [[respublika|Respùblika]]|1}} # {{place|lt|t=捷克共和國|國家|r/中歐}} ====變格==== {{lt-noun-f-a-unc-1|Čekijos Respublik|Čèkijos Respùblik}} ====近義詞==== * {{l|lt|Čèkija}} ====參見==== {{list:countries in Europe/lt}} qvri5dttbj8jhhvbvnylryxxybrr5fb Category:含有後綴-aip的立陶宛語詞 14 3433415 9752918 2026-05-05T16:30:06Z TongcyBot 83009 養貓 9752918 wikitext text/x-wiki {{auto cat}} eomzlm5v4j7ond1phrju7cnue91g5qx Category:帶「熗」的漢語詞 14 3433416 9752923 2026-05-05T17:16:32Z TongcyBot 83009 養貓 9752923 wikitext text/x-wiki {{auto cat}} eomzlm5v4j7ond1phrju7cnue91g5qx Category:帶「熗」的詞 14 3433417 9752924 2026-05-05T17:16:38Z TongcyBot 83009 養貓 9752924 wikitext text/x-wiki {{auto cat}} eomzlm5v4j7ond1phrju7cnue91g5qx とくむ 0 3433419 9752929 2026-05-05T19:46:27Z Fglffer 55252 新詞條 9752929 wikitext text/x-wiki ==日語== {{ja-see|特務}} ji4i0i59zz83ay4gzwz5q0g9eqti9hg ぞくちょう 0 3433420 9752932 2026-05-05T20:02:04Z Fglffer 55252 新詞條 9752932 wikitext text/x-wiki ==日語== {{ja-see|族長|俗調|続貂}} awkg8px97c758ce818otkh0x9qk7lsg しんちょく 0 3433421 9752946 2026-05-05T21:04:11Z Fglffer 55252 新詞條 9752946 wikitext text/x-wiki ==日語== {{ja-see|真直|進捗}} tpnpgop4h0cxkl5ubcmsw6jycm8u602 sumata 0 3433422 9752957 2026-05-06T01:38:20Z Sayonzei 40728 [[w:WP:AES|←]]建立內容為「==哥特語== ===羅馬化=== {{got-rom}} # {{romanization of|got|𐍃𐌿𐌼𐌰𐍄𐌰}} ==日語== ===羅馬化=== {{ja-romaji}} # {{ja-romanization of|すまた}}」的新頁面 9752957 wikitext text/x-wiki ==哥特語== ===羅馬化=== {{got-rom}} # {{romanization of|got|𐍃𐌿𐌼𐌰𐍄𐌰}} ==日語== ===羅馬化=== {{ja-romaji}} # {{ja-romanization of|すまた}} 0s5og52syeigve3c4vbr2w8id8vm1hl abusaba 0 3433425 9752985 2026-05-06T06:37:49Z TongcyBot 83009 半自動導入非詞元形式 9752985 wikitext text/x-wiki ==西班牙語== ===動詞=== {{head|es|動詞變位形式}} # {{es-verb form of|abusar}} rvf4bpawehbqgsktrfz6d8vx99ghtr4 abusabais 0 3433426 9752986 2026-05-06T06:37:50Z TongcyBot 83009 半自動導入非詞元形式 9752986 wikitext text/x-wiki ==西班牙語== ===動詞=== {{head|es|動詞變位形式}} # {{es-verb form of|abusar}} rvf4bpawehbqgsktrfz6d8vx99ghtr4 abusaban 0 3433427 9752987 2026-05-06T06:37:52Z TongcyBot 83009 半自動導入非詞元形式 9752987 wikitext text/x-wiki ==西班牙語== ===動詞=== {{head|es|動詞變位形式}} # {{es-verb form of|abusar}} rvf4bpawehbqgsktrfz6d8vx99ghtr4 abusabas 0 3433428 9752988 2026-05-06T06:37:53Z TongcyBot 83009 半自動導入非詞元形式 9752988 wikitext text/x-wiki ==西班牙語== ===動詞=== {{head|es|動詞變位形式}} # {{es-verb form of|abusar}} rvf4bpawehbqgsktrfz6d8vx99ghtr4 abusad 0 3433429 9752989 2026-05-06T06:37:54Z TongcyBot 83009 半自動導入非詞元形式 9752989 wikitext text/x-wiki ==西班牙語== ===動詞=== {{head|es|動詞變位形式}} # {{es-verb form of|abusar}} rvf4bpawehbqgsktrfz6d8vx99ghtr4 abusada 0 3433430 9752990 2026-05-06T06:37:55Z TongcyBot 83009 半自動導入非詞元形式 9752990 wikitext text/x-wiki ==加泰羅尼亞語== ===發音=== * {{ca-IPA}} ===分詞=== {{head|ca|過去分詞變格形|g=f-s}} # {{feminine singular of|ca|abusat}} ==葡萄牙語== ===分詞=== {{head|pt|過去分詞變格形|g=f-s}} # {{feminine singular of|pt|abusado}} ==西班牙語== ===發音=== {{es-pr}} ===形容詞=== {{head|es|形容詞變格形|g=f}} # {{adj form of|es|abusado||f|s}} ===分詞=== {{head|es|過去分詞變格形|g=f-s}} # {{feminine singular of|es|abusado}} ==他加祿語== ===詞源=== {{bor+|tl|es|abusada}}。 ===發音=== {{tl-pr|audio=LL-Q34057 (tgl)-Geoffjop0908-abusada.wav}} ===形容詞=== {{tl-adj|b=+}} # {{feminine of|tl|abusado}} b0lxdxonn0skh9f95x5fwh8il4f1dm5 abusadas 0 3433431 9752991 2026-05-06T06:37:57Z TongcyBot 83009 半自動導入非詞元形式 9752991 wikitext text/x-wiki ==葡萄牙語== ===分詞=== {{head|pt|過去分詞變格形|g=f-p}} # {{feminine plural of|pt|abusado}} ==西班牙語== ===發音=== {{es-pr}} ===形容詞=== {{head|es|形容詞變格形|g=f-p}} # {{adj form of|es|abusado||f|p}} ===分詞=== {{head|es|過去分詞變格形|g=f-p}} # {{feminine plural of|es|abusado}} 08xj0cqmpkac45qdw6612iykhv82t69 abusades 0 3433432 9752992 2026-05-06T06:37:58Z TongcyBot 83009 半自動導入非詞元形式 9752992 wikitext text/x-wiki ==加泰羅尼亞語== ===發音=== * {{ca-IPA}} ===分詞=== {{head|ca|過去分詞變格形|g=f-p}} # {{feminine plural of|ca|abusat}} 0x3bdw074vwszu5esq228gd8v9wc6tm abusado 0 3433433 9752993 2026-05-06T06:37:59Z TongcyBot 83009 半自動導入非詞元形式 9752993 wikitext text/x-wiki ==葡萄牙語== ===詞源=== 源自 {{af|pt|abusar|-ado}}。 ===發音=== {{pt-IPA}} ===形容詞=== {{pt-adj}} # {{lb|pt|Brazil|非正式}} [[cheeky]], [[sassy]], [[impertinent]], [[meddlesome]] #: {{syn|pt|atrevido}} ===分詞=== {{pt-pp}} # {{past participle of|pt|abusar}} ===延伸閱讀=== * {{R:pt:Aulete}} * {{R:pt:Priberam}} ==西班牙語== ===發音=== {{es-pr}} ===詞源1=== ====分詞==== {{es-past participle}} # {{past participle of|es|abusar}} ===詞源2=== 源自 {{m|es|aguzado|t=sharp}}, influenced by {{m|es|abusar}}。 ====形容詞==== {{es-adj}} # {{lb|es|Mexico|Central America}} [[witty]], [[sharp]], [[shrewd]] ===延伸閱讀=== * {{R:es:DRAE}} ==他加祿語== ===詞源=== {{bor+|tl|es|abusado|t=abused}}。 {{surf|tl|abuso|-ado}}。 ===發音=== {{tl-pr|audio=LL-Q34057 (tgl)-Geoffjop0908-abusado.wav}} ===形容詞=== {{tl-adj|b=+|f=abusada}} # [[abusive]] #: {{syn|tl|mapagmalabis|mapagsamantala|mapang-api|abusero<q:male>|abusera<q:female>|mapang-abuso|abusibo}} ====相關詞彙==== {{col|tl|abusada|abuso|abusero|abusera|abusibo|abusyon}} ===延伸閱讀=== * {{R:KWF Diksiyonaryo}} * {{R:Pambansang Diksiyonaryo}} * {{R:tl:Hispanismos 1972|page=5|q=abusado}} alfu99y5ke8dbhkqof6r8m1n5b65wkz 9753736 9752993 2026-05-06T07:18:20Z Sayonzei 40728 9753736 wikitext text/x-wiki ==葡萄牙語== ===詞源=== 源自 {{af|pt|abusar|-ado}}。 ===發音=== {{pt-IPA}} ===形容詞=== {{pt-adj}} # [[滥用]]的 # {{lb|pt|Brazil|非正式}} [[胆大妄为]]的;[[爱管闲事]]的 #: {{syn|pt|atrevido}} ===分詞=== {{pt-pp}} # {{past participle of|pt|abusar}} ===延伸閱讀=== * {{R:pt:Aulete}} * {{R:pt:Priberam}} ==西班牙語== ===發音=== {{es-pr}} ===詞源1=== ====分詞==== {{es-past participle}} # {{past participle of|es|abusar}} ===詞源2=== 源自 {{m|es|aguzado|t=锐利,锋利;敏锐}},受 {{m|es|abusar}} 的影响。 ====形容詞==== {{es-adj}} # {{lb|es|Mexico|Central America}} [[机智]]的,[[敏锐]]的,[[聪明]]的 ===延伸閱讀=== * {{R:es:DRAE}} ==他加祿語== ===詞源=== {{bor+|tl|es|abusado}}。{{surf|tl|abuso|-ado}}。 ===發音=== {{tl-pr|audio=LL-Q34057 (tgl)-Geoffjop0908-abusado.wav}} ===形容詞=== {{tl-adj|b=+|f=abusada}} # [[滥用]]的 #: {{syn|tl|mapagmalabis|mapagsamantala|mapang-api|abusero<q:男性>|abusera<q:女性>|mapang-abuso|abusibo}} ====相關詞彙==== {{col|tl|abusada|abuso|abusero|abusera|abusibo|abusyon}} ===延伸閱讀=== * {{R:KWF Diksiyonaryo}} * {{R:Pambansang Diksiyonaryo}} * {{R:tl:Hispanismos 1972|page=5|q=abusado}} fhtxpci1mvrj8wpi2i80dcn1wdp983v abusados 0 3433434 9752994 2026-05-06T06:38:00Z TongcyBot 83009 半自動導入非詞元形式 9752994 wikitext text/x-wiki ==葡萄牙語== ===分詞=== {{head|pt|過去分詞變格形|g=m-p}} # {{masculine plural of|pt|abusado}} ==西班牙語== ===發音=== {{es-pr}} ===形容詞=== {{head|es|形容詞變格形|g=m-p}} # {{adj form of|es|abusado||m|p}} ===分詞=== {{head|es|過去分詞變格形|g=m-p}} # {{masculine plural of|es|abusado}} r394vzbr1eku7mfqjrlt38a7jlofs3f abusam 0 3433435 9752995 2026-05-06T06:38:02Z TongcyBot 83009 半自動導入非詞元形式 9752995 wikitext text/x-wiki ==拉丁語== ===發音=== * {{la-IPA|abūsam}} ===分詞=== {{head|la|分詞變格形|head=abūsam}} # {{infl of|la|abūsus||acc|f|s}} ==葡萄牙語== ===動詞=== {{head|pt|動詞變位形式}} # {{pt-verb form of|abusar}} 1t3eip98yoi6mzmqto2slkbl5n2ud0w abusamos 0 3433436 9752996 2026-05-06T06:38:03Z TongcyBot 83009 半自動導入非詞元形式 9752996 wikitext text/x-wiki {{also|abusámos}} ==葡萄牙語== ===動詞=== {{head|pt|動詞變位形式}} # {{pt-verb form of|abusar}} ==西班牙語== ===發音=== {{es-pr}} ===動詞=== {{head|es|動詞變位形式}} # {{es-verb form of|abusar}} 9d4qwqdiwui9zv73ad1fiug72duwuzb abusan 0 3433437 9752997 2026-05-06T06:38:04Z TongcyBot 83009 半自動導入非詞元形式 9752997 wikitext text/x-wiki ==日語== ===羅馬化=== {{ja-romaji}} # {{ja-romanization of|アブサン}} ==西班牙語== ===動詞=== {{head|es|動詞變位形式}} # {{es-verb form of|abusar}} 0ouix9thd2idztbimi0k2htyek8bufx abusara 0 3433438 9752998 2026-05-06T06:38:06Z TongcyBot 83009 半自動導入非詞元形式 9752998 wikitext text/x-wiki {{also|abusará}} ==葡萄牙語== ===動詞=== {{head|pt|動詞變位形式}} # {{pt-verb form of|abusar}} ==西班牙語== ===動詞=== {{head|es|動詞變位形式}} # {{es-verb form of|abusar}} 9393jdgo3zuzcmbwby0f7xre7dhd1fg abusarais 0 3433439 9752999 2026-05-06T06:38:07Z TongcyBot 83009 半自動導入非詞元形式 9752999 wikitext text/x-wiki ==西班牙語== ===動詞=== {{head|es|動詞變位形式}} # {{es-verb form of|abusar}} rvf4bpawehbqgsktrfz6d8vx99ghtr4 abusaram 0 3433440 9753000 2026-05-06T06:38:08Z TongcyBot 83009 半自動導入非詞元形式 9753000 wikitext text/x-wiki ==葡萄牙語== ===動詞=== {{head|pt|動詞變位形式}} # {{pt-verb form of|abusar}} rxne0i8755xlwrkl9hzr8f9jvnglvnm abusaran 0 3433441 9753001 2026-05-06T06:38:09Z TongcyBot 83009 半自動導入非詞元形式 9753001 wikitext text/x-wiki {{also|abusarán}} ==加泰羅尼亞語== ===動詞=== {{head|ca|動詞變位形式}} # {{ca-verb form of|abusar}} ==西班牙語== ===動詞=== {{head|es|動詞變位形式}} # {{es-verb form of|abusar}} evdc7al1pk27d5wo1z8aaga9s220dsx abusaras 0 3433442 9753002 2026-05-06T06:38:11Z TongcyBot 83009 半自動導入非詞元形式 9753002 wikitext text/x-wiki {{also|abusarás}} ==葡萄牙語== ===動詞=== {{head|pt|動詞變位形式}} # {{pt-verb form of|abusar}} ==西班牙語== ===動詞=== {{head|es|動詞變位形式}} # {{es-verb form of|abusar}} fo17ke5ni9kqgmifyndpg7tdaxhp7jq abusardes 0 3433443 9753003 2026-05-06T06:38:13Z TongcyBot 83009 半自動導入非詞元形式 9753003 wikitext text/x-wiki ==葡萄牙語== ===動詞=== {{head|pt|動詞變位形式}} # {{pt-verb form of|abusar}} rxne0i8755xlwrkl9hzr8f9jvnglvnm abusarei 0 3433444 9753004 2026-05-06T06:38:14Z TongcyBot 83009 半自動導入非詞元形式 9753004 wikitext text/x-wiki ==葡萄牙語== ===動詞=== {{head|pt|動詞變位形式}} # {{pt-verb form of|abusar}} rxne0i8755xlwrkl9hzr8f9jvnglvnm abusareis 0 3433445 9753005 2026-05-06T06:38:15Z TongcyBot 83009 半自動導入非詞元形式 9753005 wikitext text/x-wiki {{also|abusaréis|abusáreis}} ==葡萄牙語== ===動詞=== {{head|pt|動詞變位形式}} # {{pt-verb form of|abusar}} ==西班牙語== ===動詞=== {{head|es|動詞變位形式}} # {{es-verb form of|abusar}} bae6a9ccmwwq4cjvyd0m39il97nlzk1 abusarem 0 3433446 9753006 2026-05-06T06:38:16Z TongcyBot 83009 半自動導入非詞元形式 9753006 wikitext text/x-wiki ==加泰羅尼亞語== ===動詞=== {{head|ca|動詞變位形式}} # {{ca-verb form of|abusar}} ==葡萄牙語== ===動詞=== {{head|pt|動詞變位形式}} # {{pt-verb form of|abusar}} aayx2698ggub8wqyf0d2r32ryw12myt abusaremos 0 3433447 9753007 2026-05-06T06:38:18Z TongcyBot 83009 半自動導入非詞元形式 9753007 wikitext text/x-wiki {{also|abusáremos}} ==葡萄牙語== ===動詞=== {{head|pt|動詞變位形式}} # {{pt-verb form of|abusar}} ==西班牙語== ===動詞=== {{head|es|動詞變位形式}} # {{es-verb form of|abusar}} mp31q42bkvd7wl86eq076zx372ltim1 abusaren 0 3433448 9753008 2026-05-06T06:38:19Z TongcyBot 83009 半自動導入非詞元形式 9753008 wikitext text/x-wiki ==加泰羅尼亞語== ===動詞=== {{head|ca|動詞變位形式}} # {{ca-verb form of|abusar}} ==西班牙語== ===動詞=== {{head|es|動詞變位形式}} # {{es-verb form of|abusar}} 8cqns5clk9ik41fwa88oqrfgfr94982 abusares 0 3433449 9753009 2026-05-06T06:38:20Z TongcyBot 83009 半自動導入非詞元形式 9753009 wikitext text/x-wiki ==加泰羅尼亞語== ===動詞=== {{head|ca|動詞變位形式}} # {{ca-verb form of|abusar}} ==葡萄牙語== ===動詞=== {{head|pt|動詞變位形式}} # {{pt-verb form of|abusar}} ==西班牙語== ===動詞=== {{head|es|動詞變位形式}} # {{es-verb form of|abusar}} iu802iqpzgatkttd0qahz40espfr3m6 abusareu 0 3433450 9753010 2026-05-06T06:38:21Z TongcyBot 83009 半自動導入非詞元形式 9753010 wikitext text/x-wiki ==加泰羅尼亞語== ===動詞=== {{head|ca|動詞變位形式}} # {{ca-verb form of|abusar}} 4ltsj1wid3wmnubzphq8qul3l2h9s1b abusaria 0 3433451 9753011 2026-05-06T06:38:23Z TongcyBot 83009 半自動導入非詞元形式 9753011 wikitext text/x-wiki {{also|abusaría}} ==加泰羅尼亞語== ===動詞=== {{head|ca|動詞變位形式}} # {{ca-verb form of|abusar}} ==葡萄牙語== ===動詞=== {{head|pt|動詞變位形式}} # {{pt-verb form of|abusar}} dszc4g4etsp00mlzuou8tdqptdydv0j abusariam 0 3433452 9753012 2026-05-06T06:38:24Z TongcyBot 83009 半自動導入非詞元形式 9753012 wikitext text/x-wiki ==葡萄牙語== ===動詞=== {{head|pt|動詞變位形式}} # {{pt-verb form of|abusar}} rxne0i8755xlwrkl9hzr8f9jvnglvnm abusarias 0 3433453 9753013 2026-05-06T06:38:26Z TongcyBot 83009 半自動導入非詞元形式 9753013 wikitext text/x-wiki {{also|abusarías}} ==葡萄牙語== ===動詞=== {{head|pt|動詞變位形式}} # {{pt-verb form of|abusar}} prsxk07rjogk9668m1vhja6zmfsplgs abusarien 0 3433454 9753014 2026-05-06T06:38:27Z TongcyBot 83009 半自動導入非詞元形式 9753014 wikitext text/x-wiki ==加泰羅尼亞語== ===動詞=== {{head|ca|動詞變位形式}} # {{ca-verb form of|abusar}} 4ltsj1wid3wmnubzphq8qul3l2h9s1b abusaries 0 3433455 9753015 2026-05-06T06:38:28Z TongcyBot 83009 半自動導入非詞元形式 9753015 wikitext text/x-wiki ==加泰羅尼亞語== ===動詞=== {{head|ca|動詞變位形式}} # {{ca-verb form of|abusar}} 4ltsj1wid3wmnubzphq8qul3l2h9s1b abusarla 0 3433456 9753016 2026-05-06T06:38:30Z TongcyBot 83009 半自動導入非詞元形式 9753016 wikitext text/x-wiki ==意大利語== ===動詞=== {{head|it|動詞變位形式}} # {{it-compound of}} ==西班牙語== ===動詞=== {{head|es|動詞變位形式}} # {{es-verb form of|abusar}} 6tb3zi79hu6v2x221yctt4d19a4136f abusarlas 0 3433457 9753017 2026-05-06T06:38:31Z TongcyBot 83009 半自動導入非詞元形式 9753017 wikitext text/x-wiki ==西班牙語== ===動詞=== {{head|es|動詞變位形式}} # {{es-verb form of|abusar}} rvf4bpawehbqgsktrfz6d8vx99ghtr4 abusarle 0 3433458 9753018 2026-05-06T06:38:32Z TongcyBot 83009 半自動導入非詞元形式 9753018 wikitext text/x-wiki ==意大利語== ===動詞=== {{head|it|動詞變位形式}} # {{it-compound of}} ===異序詞=== * {{anagrams|it|a=aabelrsu|sbaulare}} ==西班牙語== ===動詞=== {{head|es|動詞變位形式}} # {{es-verb form of|abusar}} b88xnkmo02dw4wj2m5m9s0q0f6hzj6c abusarles 0 3433459 9753019 2026-05-06T06:38:33Z TongcyBot 83009 半自動導入非詞元形式 9753019 wikitext text/x-wiki ==西班牙語== ===動詞=== {{head|es|動詞變位形式}} # {{es-verb form of|abusar}} rvf4bpawehbqgsktrfz6d8vx99ghtr4 abusarlo 0 3433460 9753020 2026-05-06T06:38:35Z TongcyBot 83009 半自動導入非詞元形式 9753020 wikitext text/x-wiki ==意大利語== ===動詞=== {{head|it|動詞變位形式}} # {{it-compound of}} ==西班牙語== ===動詞=== {{head|es|動詞變位形式}} # {{es-verb form of|abusar}} 6tb3zi79hu6v2x221yctt4d19a4136f abusarlos 0 3433461 9753021 2026-05-06T06:38:36Z TongcyBot 83009 半自動導入非詞元形式 9753021 wikitext text/x-wiki ==西班牙語== ===動詞=== {{head|es|動詞變位形式}} # {{es-verb form of|abusar}} rvf4bpawehbqgsktrfz6d8vx99ghtr4 abusarme 0 3433462 9753022 2026-05-06T06:38:37Z TongcyBot 83009 半自動導入非詞元形式 9753022 wikitext text/x-wiki ==西班牙語== ===動詞=== {{head|es|動詞變位形式}} # {{es-verb form of|abusar}} rvf4bpawehbqgsktrfz6d8vx99ghtr4 abusarmos 0 3433463 9753023 2026-05-06T06:38:38Z TongcyBot 83009 半自動導入非詞元形式 9753023 wikitext text/x-wiki ==葡萄牙語== ===動詞=== {{head|pt|動詞變位形式}} # {{pt-verb form of|abusar}} rxne0i8755xlwrkl9hzr8f9jvnglvnm abusarnos 0 3433464 9753024 2026-05-06T06:38:40Z TongcyBot 83009 半自動導入非詞元形式 9753024 wikitext text/x-wiki ==西班牙語== ===動詞=== {{head|es|動詞變位形式}} # {{es-verb form of|abusar}} rvf4bpawehbqgsktrfz6d8vx99ghtr4 abusaron 0 3433465 9753025 2026-05-06T06:38:41Z TongcyBot 83009 半自動導入非詞元形式 9753025 wikitext text/x-wiki ==西班牙語== ===動詞=== {{head|es|動詞變位形式}} # {{es-verb form of|abusar}} rvf4bpawehbqgsktrfz6d8vx99ghtr4 abusaros 0 3433466 9753026 2026-05-06T06:38:42Z TongcyBot 83009 半自動導入非詞元形式 9753026 wikitext text/x-wiki ==西班牙語== ===動詞=== {{head|es|動詞變位形式}} # {{es-verb form of|abusar}} rvf4bpawehbqgsktrfz6d8vx99ghtr4 abusarse 0 3433467 9753027 2026-05-06T06:38:44Z TongcyBot 83009 半自動導入非詞元形式 9753027 wikitext text/x-wiki ==西班牙語== ===動詞=== {{head|es|動詞變位形式}} # {{es-verb form of|abusar}} rvf4bpawehbqgsktrfz6d8vx99ghtr4 abusarte 0 3433468 9753028 2026-05-06T06:38:45Z TongcyBot 83009 半自動導入非詞元形式 9753028 wikitext text/x-wiki ==西班牙語== ===動詞=== {{head|es|動詞變位形式}} # {{es-verb form of|abusar}} rvf4bpawehbqgsktrfz6d8vx99ghtr4 abusarà 0 3433469 9753029 2026-05-06T06:38:46Z TongcyBot 83009 半自動導入非詞元形式 9753029 wikitext text/x-wiki ==加泰羅尼亞語== ===動詞=== {{head|ca|動詞變位形式}} # {{ca-verb form of|abusar}} 4ltsj1wid3wmnubzphq8qul3l2h9s1b abusaràs 0 3433470 9753030 2026-05-06T06:38:47Z TongcyBot 83009 半自動導入非詞元形式 9753030 wikitext text/x-wiki ==加泰羅尼亞語== ===動詞=== {{head|ca|動詞變位形式}} # {{ca-verb form of|abusar}} 4ltsj1wid3wmnubzphq8qul3l2h9s1b abusará 0 3433471 9753031 2026-05-06T06:38:49Z TongcyBot 83009 半自動導入非詞元形式 9753031 wikitext text/x-wiki {{also|abusara}} ==葡萄牙語== ===動詞=== {{head|pt|動詞變位形式}} # {{pt-verb form of|abusar}} ==西班牙語== ===動詞=== {{head|es|動詞變位形式}} # {{es-verb form of|abusar}} 69isw6pj6ltagoxtm8w35lv4waq0w32 abusarán 0 3433472 9753032 2026-05-06T06:38:50Z TongcyBot 83009 半自動導入非詞元形式 9753032 wikitext text/x-wiki {{also|abusaran}} ==西班牙語== ===動詞=== {{head|es|動詞變位形式}} # {{es-verb form of|abusar}} 012kgcqqjmsuwba5zsc83wq6n7txdxb abusarás 0 3433473 9753033 2026-05-06T06:38:51Z TongcyBot 83009 半自動導入非詞元形式 9753033 wikitext text/x-wiki {{also|abusaras}} ==葡萄牙語== ===動詞=== {{head|pt|動詞變位形式}} # {{pt-verb form of|abusar}} ==西班牙語== ===動詞=== {{head|es|動詞變位形式}} # {{es-verb form of|abusar}} 4l2dzivcoh8tspxovhnt34whzq8z8dn abusarão 0 3433474 9753034 2026-05-06T06:38:52Z TongcyBot 83009 半自動導入非詞元形式 9753034 wikitext text/x-wiki ==葡萄牙語== ===動詞=== {{head|pt|動詞變位形式}} # {{pt-verb form of|abusar}} rxne0i8755xlwrkl9hzr8f9jvnglvnm abusaré 0 3433475 9753035 2026-05-06T06:38:54Z TongcyBot 83009 半自動導入非詞元形式 9753035 wikitext text/x-wiki {{also|abusare}} ==加泰羅尼亞語== ===動詞=== {{head|ca|動詞變位形式}} # {{ca-verb form of|abusar}} ==西班牙語== ===動詞=== {{head|es|動詞變位形式}} # {{es-verb form of|abusar}} 7rlh2d32y8p7p6qn9vuudem3hs0gzdv abusaréis 0 3433476 9753036 2026-05-06T06:38:55Z TongcyBot 83009 半自動導入非詞元形式 9753036 wikitext text/x-wiki {{also|abusareis|abusáreis}} ==西班牙語== ===動詞=== {{head|es|動詞變位形式}} # {{es-verb form of|abusar}} tpjbsj1cgjiyoi7sdd54fj3c21mvplo abusaría 0 3433477 9753037 2026-05-06T06:38:57Z TongcyBot 83009 半自動導入非詞元形式 9753037 wikitext text/x-wiki {{also|abusaria}} ==西班牙語== ===動詞=== {{head|es|動詞變位形式}} # {{es-verb form of|abusar}} iuz5rrjulzejewknwnbdxoevsg5c1t3 abusaríais 0 3433478 9753038 2026-05-06T06:38:58Z TongcyBot 83009 半自動導入非詞元形式 9753038 wikitext text/x-wiki ==西班牙語== ===動詞=== {{head|es|動詞變位形式}} # {{es-verb form of|abusar}} rvf4bpawehbqgsktrfz6d8vx99ghtr4 abusaríamos 0 3433479 9753039 2026-05-06T06:39:00Z TongcyBot 83009 半自動導入非詞元形式 9753039 wikitext text/x-wiki ==葡萄牙語== ===動詞=== {{head|pt|動詞變位形式}} # {{pt-verb form of|abusar}} ==西班牙語== ===動詞=== {{head|es|動詞變位形式}} # {{es-verb form of|abusar}} eyg9aw65ku9ovcbmgg3769zigvv7ywu abusarían 0 3433480 9753040 2026-05-06T06:39:00Z TongcyBot 83009 半自動導入非詞元形式 9753040 wikitext text/x-wiki ==西班牙語== ===動詞=== {{head|es|動詞變位形式}} # {{es-verb form of|abusar}} rvf4bpawehbqgsktrfz6d8vx99ghtr4 abusarías 0 3433481 9753041 2026-05-06T06:39:02Z TongcyBot 83009 半自動導入非詞元形式 9753041 wikitext text/x-wiki {{also|abusarias}} ==西班牙語== ===動詞=== {{head|es|動詞變位形式}} # {{es-verb form of|abusar}} 5f0nac7lt29qxbbqb7d0nc348pfalt3 abusaríeis 0 3433482 9753042 2026-05-06T06:39:03Z TongcyBot 83009 半自動導入非詞元形式 9753042 wikitext text/x-wiki ==葡萄牙語== ===動詞=== {{head|pt|動詞變位形式}} # {{pt-verb form of|abusar}} rxne0i8755xlwrkl9hzr8f9jvnglvnm abusaríem 0 3433483 9753043 2026-05-06T06:39:05Z TongcyBot 83009 半自動導入非詞元形式 9753043 wikitext text/x-wiki ==加泰羅尼亞語== ===動詞=== {{head|ca|動詞變位形式}} # {{ca-verb form of|abusar}} 4ltsj1wid3wmnubzphq8qul3l2h9s1b abusaríeu 0 3433484 9753044 2026-05-06T06:39:08Z TongcyBot 83009 半自動導入非詞元形式 9753044 wikitext text/x-wiki ==加泰羅尼亞語== ===動詞=== {{head|ca|動詞變位形式}} # {{ca-verb form of|abusar}} 4ltsj1wid3wmnubzphq8qul3l2h9s1b abusase 0 3433485 9753045 2026-05-06T06:39:09Z TongcyBot 83009 半自動導入非詞元形式 9753045 wikitext text/x-wiki ==西班牙語== ===動詞=== {{head|es|動詞變位形式}} # {{es-verb form of|abusar}} rvf4bpawehbqgsktrfz6d8vx99ghtr4 abusaseis 0 3433486 9753046 2026-05-06T06:39:10Z TongcyBot 83009 半自動導入非詞元形式 9753046 wikitext text/x-wiki ==西班牙語== ===動詞=== {{head|es|動詞變位形式}} # {{es-verb form of|abusar}} rvf4bpawehbqgsktrfz6d8vx99ghtr4 abusasen 0 3433487 9753047 2026-05-06T06:39:12Z TongcyBot 83009 半自動導入非詞元形式 9753047 wikitext text/x-wiki ==西班牙語== ===動詞=== {{head|es|動詞變位形式}} # {{es-verb form of|abusar}} rvf4bpawehbqgsktrfz6d8vx99ghtr4 abusases 0 3433488 9753048 2026-05-06T06:39:13Z TongcyBot 83009 半自動導入非詞元形式 9753048 wikitext text/x-wiki ==西班牙語== ===動詞=== {{head|es|動詞變位形式}} # {{es-verb form of|abusar}} rvf4bpawehbqgsktrfz6d8vx99ghtr4 abusassem 0 3433489 9753049 2026-05-06T06:39:14Z TongcyBot 83009 半自動導入非詞元形式 9753049 wikitext text/x-wiki ==葡萄牙語== ===動詞=== {{head|pt|動詞變位形式}} # {{pt-verb form of|abusar}} rxne0i8755xlwrkl9hzr8f9jvnglvnm abusasteis 0 3433490 9753050 2026-05-06T06:39:16Z TongcyBot 83009 半自動導入非詞元形式 9753050 wikitext text/x-wiki ==西班牙語== ===動詞=== {{head|es|動詞變位形式}} # {{es-verb form of|abusar}} rvf4bpawehbqgsktrfz6d8vx99ghtr4 abusastes 0 3433491 9753051 2026-05-06T06:39:17Z TongcyBot 83009 半自動導入非詞元形式 9753051 wikitext text/x-wiki ==葡萄牙語== ===動詞=== {{head|pt|動詞變位形式}} # {{pt-verb form of|abusar}} rxne0i8755xlwrkl9hzr8f9jvnglvnm abusat 0 3433492 9753052 2026-05-06T06:39:18Z TongcyBot 83009 半自動導入非詞元形式 9753052 wikitext text/x-wiki ==加泰羅尼亞語== ===發音=== * {{ca-IPA}} * {{rhymes|ca|at|s=3}} ===分詞=== {{ca-pp}} # {{past participle of|ca|abusar}} pbgrxrock523ot5veun0ov8couhvno1 abusats 0 3433493 9753053 2026-05-06T06:39:21Z TongcyBot 83009 半自動導入非詞元形式 9753053 wikitext text/x-wiki ==加泰羅尼亞語== ===發音=== * {{ca-IPA}} * {{rhymes|ca|ats|s=3}} ===分詞=== {{head|ca|過去分詞變格形|g=m-p}} # {{masculine plural of|ca|abusat}} dtgrv5ds17mbzi3x9pauelganlayvmp abusavam 0 3433494 9753054 2026-05-06T06:39:22Z TongcyBot 83009 半自動導入非詞元形式 9753054 wikitext text/x-wiki ==葡萄牙語== ===動詞=== {{head|pt|動詞變位形式}} # {{pt-verb form of|abusar}} rxne0i8755xlwrkl9hzr8f9jvnglvnm abusavas 0 3433495 9753055 2026-05-06T06:39:24Z TongcyBot 83009 半自動導入非詞元形式 9753055 wikitext text/x-wiki ==葡萄牙語== ===動詞=== {{head|pt|動詞變位形式}} # {{pt-verb form of|abusar}} rxne0i8755xlwrkl9hzr8f9jvnglvnm abusaven 0 3433496 9753056 2026-05-06T06:39:25Z TongcyBot 83009 半自動導入非詞元形式 9753056 wikitext text/x-wiki ==加泰羅尼亞語== ===動詞=== {{head|ca|動詞變位形式}} # {{ca-verb form of|abusar}} 4ltsj1wid3wmnubzphq8qul3l2h9s1b abusaves 0 3433497 9753057 2026-05-06T06:39:27Z TongcyBot 83009 半自動導入非詞元形式 9753057 wikitext text/x-wiki ==加泰羅尼亞語== ===動詞=== {{head|ca|動詞變位形式}} # {{ca-verb form of|abusar}} 4ltsj1wid3wmnubzphq8qul3l2h9s1b abusei 0 3433498 9753058 2026-05-06T06:39:28Z TongcyBot 83009 半自動導入非詞元形式 9753058 wikitext text/x-wiki ==葡萄牙語== ===動詞=== {{head|pt|動詞變位形式}} # {{pt-verb form of|abusar}} rxne0i8755xlwrkl9hzr8f9jvnglvnm abuseis 0 3433499 9753059 2026-05-06T06:39:29Z TongcyBot 83009 半自動導入非詞元形式 9753059 wikitext text/x-wiki {{also|abuséis}} ==葡萄牙語== ===動詞=== {{head|pt|動詞變位形式}} # {{pt-verb form of|abusar}} sqtrzg5uoxwsv1i2gwamkrapyfevx7b abusem 0 3433500 9753060 2026-05-06T06:39:30Z TongcyBot 83009 半自動導入非詞元形式 9753060 wikitext text/x-wiki ==加泰羅尼亞語== ===動詞=== {{head|ca|動詞變位形式}} # {{ca-verb form of|abusar}} ==葡萄牙語== ===動詞=== {{head|pt|動詞變位形式}} # {{pt-verb form of|abusar}} aayx2698ggub8wqyf0d2r32ryw12myt abusemos 0 3433501 9753061 2026-05-06T06:39:32Z TongcyBot 83009 半自動導入非詞元形式 9753061 wikitext text/x-wiki ==葡萄牙語== ===動詞=== {{head|pt|動詞變位形式}} # {{pt-verb form of|abusar}} ==西班牙語== ===動詞=== {{head|es|動詞變位形式}} # {{es-verb form of|abusar}} eyg9aw65ku9ovcbmgg3769zigvv7ywu abusen 0 3433502 9753062 2026-05-06T06:39:33Z TongcyBot 83009 半自動導入非詞元形式 9753062 wikitext text/x-wiki {{also|Abusen}} ==加泰羅尼亞語== ===動詞=== {{head|ca|動詞變位形式}} # {{ca-verb form of|abusar}} ==中古英語== ===詞源=== {{bor+|enm|fro|abuser}}。 ===發音=== * {{IPA|enm|/aˈbiu̯zən/}} ===動詞=== {{head|enm|動詞}} # To [[misuse]]; to [[use]] [[improperly]]. # To [[injure]]; to [[mistreat]]: ## {{lb|enm|rare}} To [[mislead]]; to [[abuse]] trust. ## {{lb|enm|rare}} To [[sexually]] [[abuse]]. # {{lb|enm|rare}} To [[adulterate]]. # {{lb|enm|rare}} To [[behave]] [[poorly]]. ====變位==== {{enm-conj-wk|abus|y=0}} ====派生語彙==== * {{desc|en|abuse}} * {{desc|sco|abuise|alts=1}} ====參考資料==== * {{R:MED Online|entry=abūsen|pos=v|id=MED240}} ==西班牙語== ===動詞=== {{head|es|動詞變位形式}} # {{es-verb form of|abusar}} 5r98kyd069s5f454w3stpev9qq735ru 9753738 9753062 2026-05-06T07:19:48Z Sayonzei 40728 /* 動詞 */ 9753738 wikitext text/x-wiki {{also|Abusen}} ==加泰羅尼亞語== ===動詞=== {{head|ca|動詞變位形式}} # {{ca-verb form of|abusar}} ==中古英語== ===詞源=== {{bor+|enm|fro|abuser}}。 ===發音=== * {{IPA|enm|/aˈbiu̯zən/}} ===動詞=== {{head|enm|動詞}} # [[誤用]] # [[傷害]];[[虐待]] ## {{lb|enm|rare}} [[誤導]];[[濫用]]他人的[[信任]] ## {{lb|enm|rare}} [[性虐待]] # {{lb|enm|rare}} [[摻假]] # {{lb|enm|rare}} [[行為]][[不端]] ====變位==== {{enm-conj-wk|abus|y=0}} ====派生語彙==== * {{desc|en|abuse}} * {{desc|sco|abuise|alts=1}} ====參考資料==== * {{R:MED Online|entry=abūsen|pos=v|id=MED240}} ==西班牙語== ===動詞=== {{head|es|動詞變位形式}} # {{es-verb form of|abusar}} 53i6fa13aerf783osmqpaf8b9umdlyf abusessin 0 3433503 9753063 2026-05-06T06:39:34Z TongcyBot 83009 半自動導入非詞元形式 9753063 wikitext text/x-wiki ==加泰羅尼亞語== ===動詞=== {{head|ca|動詞變位形式}} # {{ca-verb form of|abusar}} 4ltsj1wid3wmnubzphq8qul3l2h9s1b abusessis 0 3433504 9753064 2026-05-06T06:39:36Z TongcyBot 83009 半自動導入非詞元形式 9753064 wikitext text/x-wiki ==加泰羅尼亞語== ===動詞=== {{head|ca|動詞變位形式}} # {{ca-verb form of|abusar}} 4ltsj1wid3wmnubzphq8qul3l2h9s1b abuseu 0 3433505 9753065 2026-05-06T06:39:37Z TongcyBot 83009 半自動導入非詞元形式 9753065 wikitext text/x-wiki ==加泰羅尼亞語== ===動詞=== {{head|ca|動詞變位形式}} # {{ca-verb form of|abusar}} 4ltsj1wid3wmnubzphq8qul3l2h9s1b abusin 0 3433506 9753066 2026-05-06T06:39:38Z TongcyBot 83009 半自動導入非詞元形式 9753066 wikitext text/x-wiki ==加泰羅尼亞語== ===動詞=== {{head|ca|動詞變位形式}} # {{ca-verb form of|abusar}} 4ltsj1wid3wmnubzphq8qul3l2h9s1b abusis 0 3433507 9753067 2026-05-06T06:39:39Z TongcyBot 83009 半自動導入非詞元形式 9753067 wikitext text/x-wiki ==加泰羅尼亞語== ===動詞=== {{head|ca|動詞變位形式}} # {{ca-verb form of|abusar}} ==康沃爾語== ===動詞=== {{head|kw|vf}} # {{infl of|kw|abusya||1|s|pret:ind}} ==拉丁語== ===發音=== * {{la-IPA|abūsīs}} ===分詞=== {{head|la|分詞變格形|head=abūsīs}} # {{infl of|la|abūsus||dat//abl|m//f//n|p}} p738hqiz15btiudho55po7bx3hu8jgu 9753737 9753067 2026-05-06T07:18:49Z Sayonzei 40728 /* 康沃爾語 */ 9753737 wikitext text/x-wiki ==加泰羅尼亞語== ===動詞=== {{head|ca|動詞變位形式}} # {{ca-verb form of|abusar}} ==康沃爾語== ===動詞=== {{head|kw|動詞變位形式}} # {{infl of|kw|abusya||1|s|pret:ind}} ==拉丁語== ===發音=== * {{la-IPA|abūsīs}} ===分詞=== {{head|la|分詞變格形|head=abūsīs}} # {{infl of|la|abūsus||dat//abl|m//f//n|p}} osx6m3hcq2hs4dzbrsi836edtr88763 abusou 0 3433508 9753068 2026-05-06T06:39:40Z TongcyBot 83009 半自動導入非詞元形式 9753068 wikitext text/x-wiki ==葡萄牙語== ===動詞=== {{head|pt|動詞變位形式}} # {{pt-verb form of|abusar}} rxne0i8755xlwrkl9hzr8f9jvnglvnm abusà 0 3433509 9753069 2026-05-06T06:39:42Z TongcyBot 83009 半自動導入非詞元形式 9753069 wikitext text/x-wiki ==加泰羅尼亞語== ===動詞=== {{head|ca|動詞變位形式}} # {{ca-verb form of|abusar}} 4ltsj1wid3wmnubzphq8qul3l2h9s1b abusàrem 0 3433510 9753070 2026-05-06T06:39:43Z TongcyBot 83009 半自動導入非詞元形式 9753070 wikitext text/x-wiki ==加泰羅尼亞語== ===動詞=== {{head|ca|動詞變位形式}} # {{ca-verb form of|abusar}} 4ltsj1wid3wmnubzphq8qul3l2h9s1b abusàreu 0 3433511 9753071 2026-05-06T06:39:44Z TongcyBot 83009 半自動導入非詞元形式 9753071 wikitext text/x-wiki ==加泰羅尼亞語== ===動詞=== {{head|ca|動詞變位形式}} # {{ca-verb form of|abusar}} 4ltsj1wid3wmnubzphq8qul3l2h9s1b abusàvem 0 3433512 9753072 2026-05-06T06:39:46Z TongcyBot 83009 半自動導入非詞元形式 9753072 wikitext text/x-wiki ==加泰羅尼亞語== ===動詞=== {{head|ca|動詞變位形式}} # {{ca-verb form of|abusar}} 4ltsj1wid3wmnubzphq8qul3l2h9s1b abusàveu 0 3433513 9753073 2026-05-06T06:39:47Z TongcyBot 83009 半自動導入非詞元形式 9753073 wikitext text/x-wiki ==加泰羅尼亞語== ===動詞=== {{head|ca|動詞變位形式}} # {{ca-verb form of|abusar}} 4ltsj1wid3wmnubzphq8qul3l2h9s1b abusá 0 3433514 9753074 2026-05-06T06:39:48Z TongcyBot 83009 半自動導入非詞元形式 9753074 wikitext text/x-wiki {{also|abusa}} ==西班牙語== ===動詞=== {{head|es|動詞變位形式}} # {{es-verb form of|abusar}} h2tppkv41mzit5xhwgksp1a94w49m8j abusábamos 0 3433515 9753075 2026-05-06T06:39:49Z TongcyBot 83009 半自動導入非詞元形式 9753075 wikitext text/x-wiki ==西班牙語== ===動詞=== {{head|es|動詞變位形式}} # {{es-verb form of|abusar}} rvf4bpawehbqgsktrfz6d8vx99ghtr4 abusáis 0 3433516 9753076 2026-05-06T06:39:50Z TongcyBot 83009 半自動導入非詞元形式 9753076 wikitext text/x-wiki {{also|abusais}} ==西班牙語== ===動詞=== {{head|es|動詞變位形式}} # {{es-verb form of|abusar}} hrc4xova1dpexjpokryfy4j7ie06zeg abusámos 0 3433517 9753077 2026-05-06T06:39:51Z TongcyBot 83009 半自動導入非詞元形式 9753077 wikitext text/x-wiki {{also|abusamos}} ==葡萄牙語== ===動詞=== {{head|pt|動詞變位形式}} # {{pt-verb form of|abusar}} 5kpqt22p3ipzq93oz3gcsxy8c2viko0 abusándola 0 3433518 9753078 2026-05-06T06:39:53Z TongcyBot 83009 半自動導入非詞元形式 9753078 wikitext text/x-wiki {{also|abusandola}} ==西班牙語== ===動詞=== {{head|es|動詞變位形式}} # {{es-verb form of|abusar}} 3n062fpjigeljflaqynij5olcv8zzsz abusándolas 0 3433519 9753079 2026-05-06T06:39:54Z TongcyBot 83009 半自動導入非詞元形式 9753079 wikitext text/x-wiki ==西班牙語== ===動詞=== {{head|es|動詞變位形式}} # {{es-verb form of|abusar}} rvf4bpawehbqgsktrfz6d8vx99ghtr4 abusándole 0 3433520 9753080 2026-05-06T06:39:55Z TongcyBot 83009 半自動導入非詞元形式 9753080 wikitext text/x-wiki {{also|abusandole}} ==西班牙語== ===動詞=== {{head|es|動詞變位形式}} # {{es-verb form of|abusar}} ddm3l02xun6306if5k9na2ty2mbv16j abusándoles 0 3433521 9753081 2026-05-06T06:39:57Z TongcyBot 83009 半自動導入非詞元形式 9753081 wikitext text/x-wiki ==西班牙語== ===動詞=== {{head|es|動詞變位形式}} # {{es-verb form of|abusar}} rvf4bpawehbqgsktrfz6d8vx99ghtr4 abusándolo 0 3433522 9753082 2026-05-06T06:39:58Z TongcyBot 83009 半自動導入非詞元形式 9753082 wikitext text/x-wiki {{also|abusandolo}} ==西班牙語== ===動詞=== {{head|es|動詞變位形式}} # {{es-verb form of|abusar}} ilvwawa4hx7qovgzl8ff5nxdppnejed abusándolos 0 3433523 9753083 2026-05-06T06:39:59Z TongcyBot 83009 半自動導入非詞元形式 9753083 wikitext text/x-wiki ==西班牙語== ===動詞=== {{head|es|動詞變位形式}} # {{es-verb form of|abusar}} rvf4bpawehbqgsktrfz6d8vx99ghtr4 abusándome 0 3433524 9753084 2026-05-06T06:40:00Z TongcyBot 83009 半自動導入非詞元形式 9753084 wikitext text/x-wiki ==西班牙語== ===動詞=== {{head|es|動詞變位形式}} # {{es-verb form of|abusar}} rvf4bpawehbqgsktrfz6d8vx99ghtr4 abusándonos 0 3433525 9753085 2026-05-06T06:40:01Z TongcyBot 83009 半自動導入非詞元形式 9753085 wikitext text/x-wiki ==西班牙語== ===動詞=== {{head|es|動詞變位形式}} # {{es-verb form of|abusar}} rvf4bpawehbqgsktrfz6d8vx99ghtr4 abusándoos 0 3433526 9753086 2026-05-06T06:40:03Z TongcyBot 83009 半自動導入非詞元形式 9753086 wikitext text/x-wiki ==西班牙語== ===動詞=== {{head|es|動詞變位形式}} # {{es-verb form of|abusar}} rvf4bpawehbqgsktrfz6d8vx99ghtr4 abusándose 0 3433527 9753087 2026-05-06T06:40:04Z TongcyBot 83009 半自動導入非詞元形式 9753087 wikitext text/x-wiki ==西班牙語== ===動詞=== {{head|es|動詞變位形式}} # {{es-verb form of|abusar}} rvf4bpawehbqgsktrfz6d8vx99ghtr4 abusándote 0 3433528 9753088 2026-05-06T06:40:05Z TongcyBot 83009 半自動導入非詞元形式 9753088 wikitext text/x-wiki ==西班牙語== ===動詞=== {{head|es|動詞變位形式}} # {{es-verb form of|abusar}} rvf4bpawehbqgsktrfz6d8vx99ghtr4 abusáreis 0 3433529 9753089 2026-05-06T06:40:08Z TongcyBot 83009 半自動導入非詞元形式 9753089 wikitext text/x-wiki {{also|abusareis|abusaréis}} ==葡萄牙語== ===動詞=== {{head|pt|動詞變位形式}} # {{pt-verb form of|abusar}} rpbc5vc99v3zf3swbdwc7d4ecjcht37 abusáramos 0 3433530 9753090 2026-05-06T06:40:07Z TongcyBot 83009 半自動導入非詞元形式 9753090 wikitext text/x-wiki ==葡萄牙語== ===動詞=== {{head|pt|動詞變位形式}} # {{pt-verb form of|abusar}} ==西班牙語== ===動詞=== {{head|es|動詞變位形式}} # {{es-verb form of|abusar}} eyg9aw65ku9ovcbmgg3769zigvv7ywu abusáremos 0 3433531 9753091 2026-05-06T06:40:11Z TongcyBot 83009 半自動導入非詞元形式 9753091 wikitext text/x-wiki {{also|abusaremos}} ==西班牙語== ===動詞=== {{head|es|動詞變位形式}} # {{es-verb form of|abusar}} nlg1navne40860ydwc73x5pgxs4gmw9 abusás 0 3433532 9753092 2026-05-06T06:40:12Z TongcyBot 83009 半自動導入非詞元形式 9753092 wikitext text/x-wiki {{also|abusas}} ==西班牙語== ===動詞=== {{head|es|動詞變位形式}} # {{es-verb form of|abusar}} 0wlw1zwabnrub3r5kmqaqrvzod99x42 abusásemos 0 3433533 9753093 2026-05-06T06:40:13Z TongcyBot 83009 半自動導入非詞元形式 9753093 wikitext text/x-wiki ==西班牙語== ===動詞=== {{head|es|動詞變位形式}} # {{es-verb form of|abusar}} rvf4bpawehbqgsktrfz6d8vx99ghtr4 abusásseis 0 3433534 9753094 2026-05-06T06:40:14Z TongcyBot 83009 半自動導入非詞元形式 9753094 wikitext text/x-wiki ==葡萄牙語== ===動詞=== {{head|pt|動詞變位形式}} # {{pt-verb form of|abusar}} rxne0i8755xlwrkl9hzr8f9jvnglvnm abusássemos 0 3433535 9753095 2026-05-06T06:40:15Z TongcyBot 83009 半自動導入非詞元形式 9753095 wikitext text/x-wiki ==葡萄牙語== ===動詞=== {{head|pt|動詞變位形式}} # {{pt-verb form of|abusar}} rxne0i8755xlwrkl9hzr8f9jvnglvnm abusávamos 0 3433536 9753096 2026-05-06T06:40:17Z TongcyBot 83009 半自動導入非詞元形式 9753096 wikitext text/x-wiki ==葡萄牙語== ===動詞=== {{head|pt|動詞變位形式}} # {{pt-verb form of|abusar}} rxne0i8755xlwrkl9hzr8f9jvnglvnm abuséis 0 3433537 9753097 2026-05-06T06:40:19Z TongcyBot 83009 半自動導入非詞元形式 9753097 wikitext text/x-wiki {{also|abuseis}} ==西班牙語== ===動詞=== {{head|es|動詞變位形式}} # {{es-verb form of|abusar}} 3nc109fktunaepht46ia2dm3sbhmdwm abusáveis 0 3433538 9753098 2026-05-06T06:40:18Z TongcyBot 83009 半自動導入非詞元形式 9753098 wikitext text/x-wiki ==葡萄牙語== ===形容詞=== {{head|pt|形容詞變格形}} # {{plural of|pt|abusável}} ===動詞=== {{head|pt|動詞變位形式}} # {{pt-verb form of|abusar}} 0kup7h1skubebgrdahujgi3l69fac1j abuséssim 0 3433539 9753099 2026-05-06T06:40:22Z TongcyBot 83009 半自動導入非詞元形式 9753099 wikitext text/x-wiki ==加泰羅尼亞語== ===動詞=== {{head|ca|動詞變位形式}} # {{ca-verb form of|abusar}} 4ltsj1wid3wmnubzphq8qul3l2h9s1b abuséssiu 0 3433540 9753100 2026-05-06T06:40:23Z TongcyBot 83009 半自動導入非詞元形式 9753100 wikitext text/x-wiki ==加泰羅尼亞語== ===動詞=== {{head|ca|動詞變位形式}} # {{ca-verb form of|abusar}} 4ltsj1wid3wmnubzphq8qul3l2h9s1b abusí 0 3433541 9753101 2026-05-06T06:40:24Z TongcyBot 83009 半自動導入非詞元形式 9753101 wikitext text/x-wiki ==加泰羅尼亞語== ===動詞=== {{head|ca|動詞變位形式}} # {{ca-verb form of|abusar}} 4ltsj1wid3wmnubzphq8qul3l2h9s1b abusó 0 3433542 9753102 2026-05-06T06:40:25Z TongcyBot 83009 半自動導入非詞元形式 9753102 wikitext text/x-wiki {{also|abuso|abusò}} ==西班牙語== ===動詞=== {{head|es|動詞變位形式}} # {{es-verb form of|abusar}} 3cov885b34cyfjdz8xnlo9p428q6zyy acercaba 0 3433543 9753103 2026-05-06T06:40:26Z TongcyBot 83009 半自動導入非詞元形式 9753103 wikitext text/x-wiki ==西班牙語== ===動詞=== {{head|es|動詞變位形式}} # {{es-verb form of|acercar}} ca5qyuuxh99lq1y90rdevii2p508dvp acercabais 0 3433544 9753104 2026-05-06T06:40:28Z TongcyBot 83009 半自動導入非詞元形式 9753104 wikitext text/x-wiki ==西班牙語== ===動詞=== {{head|es|動詞變位形式}} # {{es-verb form of|acercar}} ca5qyuuxh99lq1y90rdevii2p508dvp acercaban 0 3433545 9753105 2026-05-06T06:40:29Z TongcyBot 83009 半自動導入非詞元形式 9753105 wikitext text/x-wiki ==西班牙語== ===動詞=== {{head|es|動詞變位形式}} # {{es-verb form of|acercar}} ca5qyuuxh99lq1y90rdevii2p508dvp acercabas 0 3433546 9753106 2026-05-06T06:40:30Z TongcyBot 83009 半自動導入非詞元形式 9753106 wikitext text/x-wiki ==西班牙語== ===動詞=== {{head|es|動詞變位形式}} # {{es-verb form of|acercar}} ca5qyuuxh99lq1y90rdevii2p508dvp acercad 0 3433547 9753107 2026-05-06T06:40:31Z TongcyBot 83009 半自動導入非詞元形式 9753107 wikitext text/x-wiki ==西班牙語== ===動詞=== {{head|es|動詞變位形式}} # {{es-verb form of|acercar}} ca5qyuuxh99lq1y90rdevii2p508dvp acercada 0 3433548 9753108 2026-05-06T06:40:32Z TongcyBot 83009 半自動導入非詞元形式 9753108 wikitext text/x-wiki ==葡萄牙語== ===分詞=== {{head|pt|過去分詞變格形|g=f-s}} # {{feminine singular of|pt|acercado}} ==西班牙語== ===發音=== {{es-pr}} ===分詞=== {{head|es|過去分詞變格形|g=f-s}} # {{feminine singular of|es|acercado}} 57jnth4n27u3v9a21xn9oc3rzd03xbo acercadas 0 3433549 9753109 2026-05-06T06:40:34Z TongcyBot 83009 半自動導入非詞元形式 9753109 wikitext text/x-wiki ==葡萄牙語== ===分詞=== {{head|pt|過去分詞變格形|g=f-p}} # {{feminine plural of|pt|acercado}} ==西班牙語== ===發音=== {{es-pr}} ===分詞=== {{head|es|過去分詞變格形|g=f-p}} # {{feminine plural of|es|acercado}} irey234isu0tpovwl7n5z5h0uyhvxkb acercado 0 3433550 9753110 2026-05-06T06:40:35Z TongcyBot 83009 半自動導入非詞元形式 9753110 wikitext text/x-wiki ==葡萄牙語== ===分詞=== {{pt-pp}} # {{past participle of|pt|acercar}} ==西班牙語== ===發音=== {{es-pr}} ===分詞=== {{es-past participle}} # {{past participle of|es|acercar}} mo44i1ibbiy7954kpupfctlyqovzpyg acercados 0 3433551 9753111 2026-05-06T06:40:36Z TongcyBot 83009 半自動導入非詞元形式 9753111 wikitext text/x-wiki ==葡萄牙語== ===分詞=== {{head|pt|過去分詞變格形|g=m-p}} # {{masculine plural of|pt|acercado}} ==西班牙語== ===發音=== {{es-pr}} ===分詞=== {{head|es|過去分詞變格形|g=m-p}} # {{masculine plural of|es|acercado}} 5fcyhtqta44rynedmels05ggm1ip1ci acercai 0 3433552 9753112 2026-05-06T06:40:38Z TongcyBot 83009 半自動導入非詞元形式 9753112 wikitext text/x-wiki ==葡萄牙語== ===動詞=== {{head|pt|動詞變位形式}} # {{pt-verb form of|acercar}} h6pufag1d41224lzukiicw4j1x532ad acercais 0 3433553 9753113 2026-05-06T06:40:38Z TongcyBot 83009 半自動導入非詞元形式 9753113 wikitext text/x-wiki {{also|acercáis}} ==葡萄牙語== ===動詞=== {{head|pt|動詞變位形式}} # {{pt-verb form of|acercar}} kbmd2g8eb4uca3kfu3ixi3hayj7886e acercam 0 3433554 9753114 2026-05-06T06:40:40Z TongcyBot 83009 半自動導入非詞元形式 9753114 wikitext text/x-wiki ==葡萄牙語== ===動詞=== {{head|pt|動詞變位形式}} # {{pt-verb form of|acercar}} h6pufag1d41224lzukiicw4j1x532ad acercamos 0 3433555 9753115 2026-05-06T06:40:41Z TongcyBot 83009 半自動導入非詞元形式 9753115 wikitext text/x-wiki {{also|acercámos}} ==葡萄牙語== ===動詞=== {{head|pt|動詞變位形式}} # {{pt-verb form of|acercar}} ==西班牙語== ===發音=== {{es-pr}} ===動詞=== {{head|es|動詞變位形式}} # {{es-verb form of|acercar}} llpnt2huav8ooh3xlzq0636c4o4abbj acercan 0 3433556 9753116 2026-05-06T06:40:43Z TongcyBot 83009 半自動導入非詞元形式 9753116 wikitext text/x-wiki ==西班牙語== ===動詞=== {{head|es|動詞變位形式}} # {{es-verb form of|acercar}} ca5qyuuxh99lq1y90rdevii2p508dvp acercando 0 3433557 9753117 2026-05-06T06:40:44Z TongcyBot 83009 半自動導入非詞元形式 9753117 wikitext text/x-wiki ==葡萄牙語== ===動詞=== {{head|pt|動名詞}} # {{gerund of|pt|acercar}} ==西班牙語== ===動詞=== {{head|es|動名詞}} # {{es-verb form of|acercar}} iy6bceye4gi7fj59ogngvjcjj8fxt4h acercaos 0 3433558 9753118 2026-05-06T06:40:45Z TongcyBot 83009 半自動導入非詞元形式 9753118 wikitext text/x-wiki ==西班牙語== ===動詞=== {{head|es|動詞變位形式}} # {{es-verb form of|acercar}} ca5qyuuxh99lq1y90rdevii2p508dvp acercara 0 3433559 9753119 2026-05-06T06:40:46Z TongcyBot 83009 半自動導入非詞元形式 9753119 wikitext text/x-wiki {{also|acercará}} ==葡萄牙語== ===動詞=== {{head|pt|動詞變位形式}} # {{pt-verb form of|acercar}} ==西班牙語== ===動詞=== {{head|es|動詞變位形式}} # {{es-verb form of|acercar}} sxneuqoex4nrtvulhg1p0cxuj5nbg2m acercarais 0 3433560 9753120 2026-05-06T06:40:48Z TongcyBot 83009 半自動導入非詞元形式 9753120 wikitext text/x-wiki ==西班牙語== ===動詞=== {{head|es|動詞變位形式}} # {{es-verb form of|acercar}} ca5qyuuxh99lq1y90rdevii2p508dvp acercaram 0 3433561 9753121 2026-05-06T06:40:49Z TongcyBot 83009 半自動導入非詞元形式 9753121 wikitext text/x-wiki ==葡萄牙語== ===動詞=== {{head|pt|動詞變位形式}} # {{pt-verb form of|acercar}} h6pufag1d41224lzukiicw4j1x532ad acercaran 0 3433562 9753122 2026-05-06T06:40:50Z TongcyBot 83009 半自動導入非詞元形式 9753122 wikitext text/x-wiki {{also|acercarán}} ==西班牙語== ===動詞=== {{head|es|動詞變位形式}} # {{es-verb form of|acercar}} s9451k59ve1bwmf1u6qipux36ru6a1k acercaras 0 3433563 9753123 2026-05-06T06:40:51Z TongcyBot 83009 半自動導入非詞元形式 9753123 wikitext text/x-wiki {{also|acercarás}} ==葡萄牙語== ===動詞=== {{head|pt|動詞變位形式}} # {{pt-verb form of|acercar}} ==西班牙語== ===動詞=== {{head|es|動詞變位形式}} # {{es-verb form of|acercar}} 7sbqnt98wu6mimjlmxtg4qnuodq41bh acercardes 0 3433564 9753124 2026-05-06T06:40:52Z TongcyBot 83009 半自動導入非詞元形式 9753124 wikitext text/x-wiki ==葡萄牙語== ===動詞=== {{head|pt|動詞變位形式}} # {{pt-verb form of|acercar}} h6pufag1d41224lzukiicw4j1x532ad acercare 0 3433565 9753125 2026-05-06T06:40:54Z TongcyBot 83009 半自動導入非詞元形式 9753125 wikitext text/x-wiki {{also|acercaré}} ==西班牙語== ===動詞=== {{head|es|動詞變位形式}} # {{es-verb form of|acercar}} iz3ybo6y8gzpihxgqujf0f3tbzyvn0s acercarei 0 3433566 9753126 2026-05-06T06:40:55Z TongcyBot 83009 半自動導入非詞元形式 9753126 wikitext text/x-wiki ==葡萄牙語== ===動詞=== {{head|pt|動詞變位形式}} # {{pt-verb form of|acercar}} h6pufag1d41224lzukiicw4j1x532ad acercareis 0 3433567 9753127 2026-05-06T06:40:56Z TongcyBot 83009 半自動導入非詞元形式 9753127 wikitext text/x-wiki {{also|acercaréis|acercáreis}} ==葡萄牙語== ===動詞=== {{head|pt|動詞變位形式}} # {{pt-verb form of|acercar}} ==西班牙語== ===動詞=== {{head|es|動詞變位形式}} # {{es-verb form of|acercar}} lu7cv9hlhysvwul5ovndj47y5i3lnvv acercarem 0 3433568 9753128 2026-05-06T06:40:57Z TongcyBot 83009 半自動導入非詞元形式 9753128 wikitext text/x-wiki ==葡萄牙語== ===動詞=== {{head|pt|動詞變位形式}} # {{pt-verb form of|acercar}} h6pufag1d41224lzukiicw4j1x532ad acercaremos 0 3433569 9753129 2026-05-06T06:40:58Z TongcyBot 83009 半自動導入非詞元形式 9753129 wikitext text/x-wiki {{also|acercáremos}} ==葡萄牙語== ===動詞=== {{head|pt|動詞變位形式}} # {{pt-verb form of|acercar}} ==西班牙語== ===動詞=== {{head|es|動詞變位形式}} # {{es-verb form of|acercar}} a0g4ze012s09q8pon32cqog560zry8n acercaren 0 3433570 9753130 2026-05-06T06:41:00Z TongcyBot 83009 半自動導入非詞元形式 9753130 wikitext text/x-wiki ==西班牙語== ===動詞=== {{head|es|動詞變位形式}} # {{es-verb form of|acercar}} ca5qyuuxh99lq1y90rdevii2p508dvp acercares 0 3433571 9753131 2026-05-06T06:41:02Z TongcyBot 83009 半自動導入非詞元形式 9753131 wikitext text/x-wiki ==葡萄牙語== ===動詞=== {{head|pt|動詞變位形式}} # {{pt-verb form of|acercar}} ==西班牙語== ===動詞=== {{head|es|動詞變位形式}} # {{es-verb form of|acercar}} ehh5scfrvov2265lu8rgsje7i69ns2l acercaria 0 3433572 9753132 2026-05-06T06:41:02Z TongcyBot 83009 半自動導入非詞元形式 9753132 wikitext text/x-wiki {{also|acercaría}} ==葡萄牙語== ===動詞=== {{head|pt|動詞變位形式}} # {{pt-verb form of|acercar}} 9pvzl4pwyj0b4ohm30558qdkapsi2os acercariam 0 3433573 9753133 2026-05-06T06:41:04Z TongcyBot 83009 半自動導入非詞元形式 9753133 wikitext text/x-wiki ==葡萄牙語== ===動詞=== {{head|pt|動詞變位形式}} # {{pt-verb form of|acercar}} h6pufag1d41224lzukiicw4j1x532ad acercarias 0 3433574 9753134 2026-05-06T06:41:05Z TongcyBot 83009 半自動導入非詞元形式 9753134 wikitext text/x-wiki {{also|acercarías}} ==葡萄牙語== ===動詞=== {{head|pt|動詞變位形式}} # {{pt-verb form of|acercar}} c7m2gf6lspoo7fp8upfgpszzny2vxjc acercarla 0 3433575 9753135 2026-05-06T06:41:06Z TongcyBot 83009 半自動導入非詞元形式 9753135 wikitext text/x-wiki ==西班牙語== ===動詞=== {{head|es|動詞變位形式}} # {{es-verb form of|acercar}} ca5qyuuxh99lq1y90rdevii2p508dvp acercarlas 0 3433576 9753136 2026-05-06T06:41:08Z TongcyBot 83009 半自動導入非詞元形式 9753136 wikitext text/x-wiki ==西班牙語== ===動詞=== {{head|es|動詞變位形式}} # {{es-verb form of|acercar}} ca5qyuuxh99lq1y90rdevii2p508dvp acercarle 0 3433577 9753137 2026-05-06T06:41:09Z TongcyBot 83009 半自動導入非詞元形式 9753137 wikitext text/x-wiki ==西班牙語== ===動詞=== {{head|es|動詞變位形式}} # {{es-verb form of|acercar}} ca5qyuuxh99lq1y90rdevii2p508dvp acercarles 0 3433578 9753138 2026-05-06T06:41:10Z TongcyBot 83009 半自動導入非詞元形式 9753138 wikitext text/x-wiki ==西班牙語== ===動詞=== {{head|es|動詞變位形式}} # {{es-verb form of|acercar}} ca5qyuuxh99lq1y90rdevii2p508dvp acercarlo 0 3433579 9753139 2026-05-06T06:41:11Z TongcyBot 83009 半自動導入非詞元形式 9753139 wikitext text/x-wiki ==西班牙語== ===動詞=== {{head|es|動詞變位形式}} # {{es-verb form of|acercar}} ca5qyuuxh99lq1y90rdevii2p508dvp acercarlos 0 3433580 9753140 2026-05-06T06:41:13Z TongcyBot 83009 半自動導入非詞元形式 9753140 wikitext text/x-wiki ==西班牙語== ===動詞=== {{head|es|動詞變位形式}} # {{es-verb form of|acercar}} ca5qyuuxh99lq1y90rdevii2p508dvp acercarme 0 3433581 9753141 2026-05-06T06:41:14Z TongcyBot 83009 半自動導入非詞元形式 9753141 wikitext text/x-wiki ==西班牙語== ===動詞=== {{head|es|動詞變位形式}} # {{es-verb form of|acercar}} ca5qyuuxh99lq1y90rdevii2p508dvp acercarmos 0 3433582 9753142 2026-05-06T06:41:15Z TongcyBot 83009 半自動導入非詞元形式 9753142 wikitext text/x-wiki ==葡萄牙語== ===動詞=== {{head|pt|動詞變位形式}} # {{pt-verb form of|acercar}} h6pufag1d41224lzukiicw4j1x532ad acercarnos 0 3433583 9753143 2026-05-06T06:41:16Z TongcyBot 83009 半自動導入非詞元形式 9753143 wikitext text/x-wiki ==西班牙語== ===動詞=== {{head|es|動詞變位形式}} # {{es-verb form of|acercar}} ca5qyuuxh99lq1y90rdevii2p508dvp acercaron 0 3433584 9753144 2026-05-06T06:41:18Z TongcyBot 83009 半自動導入非詞元形式 9753144 wikitext text/x-wiki ==西班牙語== ===動詞=== {{head|es|動詞變位形式}} # {{es-verb form of|acercar}} ca5qyuuxh99lq1y90rdevii2p508dvp acercaros 0 3433585 9753145 2026-05-06T06:41:19Z TongcyBot 83009 半自動導入非詞元形式 9753145 wikitext text/x-wiki ==西班牙語== ===動詞=== {{head|es|動詞變位形式}} # {{es-verb form of|acercar}} ca5qyuuxh99lq1y90rdevii2p508dvp acercarte 0 3433586 9753146 2026-05-06T06:41:21Z TongcyBot 83009 半自動導入非詞元形式 9753146 wikitext text/x-wiki ==西班牙語== ===動詞=== {{head|es|動詞變位形式}} # {{es-verb form of|acercar}} ca5qyuuxh99lq1y90rdevii2p508dvp acercará 0 3433587 9753147 2026-05-06T06:41:22Z TongcyBot 83009 半自動導入非詞元形式 9753147 wikitext text/x-wiki {{also|acercara}} ==葡萄牙語== ===動詞=== {{head|pt|動詞變位形式}} # {{pt-verb form of|acercar}} ==西班牙語== ===動詞=== {{head|es|動詞變位形式}} # {{es-verb form of|acercar}} 3gcoknkzyp37vx7s9e2ukl6rm1ghg5u acercarán 0 3433588 9753148 2026-05-06T06:41:23Z TongcyBot 83009 半自動導入非詞元形式 9753148 wikitext text/x-wiki {{also|acercaran}} ==西班牙語== ===動詞=== {{head|es|動詞變位形式}} # {{es-verb form of|acercar}} 16xnb69t9op8kf599wxzyszii2kargi acercarás 0 3433589 9753149 2026-05-06T06:41:24Z TongcyBot 83009 半自動導入非詞元形式 9753149 wikitext text/x-wiki {{also|acercaras}} ==葡萄牙語== ===動詞=== {{head|pt|動詞變位形式}} # {{pt-verb form of|acercar}} ==西班牙語== ===動詞=== {{head|es|動詞變位形式}} # {{es-verb form of|acercar}} adhb6gi1pqrlcceg2dyd1d09yq8makq acercarão 0 3433590 9753150 2026-05-06T06:41:25Z TongcyBot 83009 半自動導入非詞元形式 9753150 wikitext text/x-wiki ==葡萄牙語== ===動詞=== {{head|pt|動詞變位形式}} # {{pt-verb form of|acercar}} h6pufag1d41224lzukiicw4j1x532ad acercaré 0 3433591 9753151 2026-05-06T06:41:26Z TongcyBot 83009 半自動導入非詞元形式 9753151 wikitext text/x-wiki {{also|acercare}} ==西班牙語== ===動詞=== {{head|es|動詞變位形式}} # {{es-verb form of|acercar}} ckbrv96gh6y8jfts04nnkuixzn31od6 acercaréis 0 3433592 9753152 2026-05-06T06:41:27Z TongcyBot 83009 半自動導入非詞元形式 9753152 wikitext text/x-wiki {{also|acercareis|acercáreis}} ==西班牙語== ===動詞=== {{head|es|動詞變位形式}} # {{es-verb form of|acercar}} 3mzosrrej9jra8kppneu7p4b8anjrda acercaría 0 3433593 9753153 2026-05-06T06:41:29Z TongcyBot 83009 半自動導入非詞元形式 9753153 wikitext text/x-wiki {{also|acercaria}} ==西班牙語== ===動詞=== {{head|es|動詞變位形式}} # {{es-verb form of|acercar}} den2b6n0xkfmwbisrc2pgxcdrq0oyjf acercaríais 0 3433594 9753154 2026-05-06T06:41:30Z TongcyBot 83009 半自動導入非詞元形式 9753154 wikitext text/x-wiki ==西班牙語== ===動詞=== {{head|es|動詞變位形式}} # {{es-verb form of|acercar}} ca5qyuuxh99lq1y90rdevii2p508dvp acercaríamos 0 3433595 9753155 2026-05-06T06:41:31Z TongcyBot 83009 半自動導入非詞元形式 9753155 wikitext text/x-wiki ==葡萄牙語== ===動詞=== {{head|pt|動詞變位形式}} # {{pt-verb form of|acercar}} ==西班牙語== ===動詞=== {{head|es|動詞變位形式}} # {{es-verb form of|acercar}} ehh5scfrvov2265lu8rgsje7i69ns2l acercarían 0 3433596 9753156 2026-05-06T06:41:33Z TongcyBot 83009 半自動導入非詞元形式 9753156 wikitext text/x-wiki ==西班牙語== ===動詞=== {{head|es|動詞變位形式}} # {{es-verb form of|acercar}} ca5qyuuxh99lq1y90rdevii2p508dvp acercarías 0 3433597 9753157 2026-05-06T06:41:34Z TongcyBot 83009 半自動導入非詞元形式 9753157 wikitext text/x-wiki {{also|acercarias}} ==西班牙語== ===動詞=== {{head|es|動詞變位形式}} # {{es-verb form of|acercar}} eds5ywvsuzckefcxo18028hfzx5vylg acercaríeis 0 3433598 9753158 2026-05-06T06:41:35Z TongcyBot 83009 半自動導入非詞元形式 9753158 wikitext text/x-wiki ==葡萄牙語== ===動詞=== {{head|pt|動詞變位形式}} # {{pt-verb form of|acercar}} h6pufag1d41224lzukiicw4j1x532ad acercas 0 3433599 9753159 2026-05-06T06:41:36Z TongcyBot 83009 半自動導入非詞元形式 9753159 wikitext text/x-wiki {{also|acercás}} ==葡萄牙語== ===動詞=== {{head|pt|動詞變位形式}} # {{pt-verb form of|acercar}} ==西班牙語== ===動詞=== {{head|es|動詞變位形式}} # {{es-verb form of|acercar}} d0ag6gv7a3n56k8x2cph1zhe3s29xsf acercase 0 3433600 9753160 2026-05-06T06:41:38Z TongcyBot 83009 半自動導入非詞元形式 9753160 wikitext text/x-wiki ==西班牙語== ===動詞=== {{head|es|動詞變位形式}} # {{es-verb form of|acercar}} ca5qyuuxh99lq1y90rdevii2p508dvp acercaseis 0 3433601 9753161 2026-05-06T06:41:39Z TongcyBot 83009 半自動導入非詞元形式 9753161 wikitext text/x-wiki ==西班牙語== ===動詞=== {{head|es|動詞變位形式}} # {{es-verb form of|acercar}} ca5qyuuxh99lq1y90rdevii2p508dvp acercasen 0 3433602 9753162 2026-05-06T06:41:40Z TongcyBot 83009 半自動導入非詞元形式 9753162 wikitext text/x-wiki ==西班牙語== ===動詞=== {{head|es|動詞變位形式}} # {{es-verb form of|acercar}} ca5qyuuxh99lq1y90rdevii2p508dvp acercases 0 3433603 9753163 2026-05-06T06:41:41Z TongcyBot 83009 半自動導入非詞元形式 9753163 wikitext text/x-wiki ==西班牙語== ===動詞=== {{head|es|動詞變位形式}} # {{es-verb form of|acercar}} ca5qyuuxh99lq1y90rdevii2p508dvp acercasse 0 3433604 9753164 2026-05-06T06:41:43Z TongcyBot 83009 半自動導入非詞元形式 9753164 wikitext text/x-wiki ==葡萄牙語== ===動詞=== {{head|pt|動詞變位形式}} # {{pt-verb form of|acercar}} h6pufag1d41224lzukiicw4j1x532ad acercassem 0 3433605 9753165 2026-05-06T06:41:44Z TongcyBot 83009 半自動導入非詞元形式 9753165 wikitext text/x-wiki ==葡萄牙語== ===動詞=== {{head|pt|動詞變位形式}} # {{pt-verb form of|acercar}} h6pufag1d41224lzukiicw4j1x532ad acercasses 0 3433606 9753167 2026-05-06T06:41:46Z TongcyBot 83009 半自動導入非詞元形式 9753167 wikitext text/x-wiki ==葡萄牙語== ===動詞=== {{head|pt|動詞變位形式}} # {{pt-verb form of|acercar}} h6pufag1d41224lzukiicw4j1x532ad acercaste 0 3433607 9753168 2026-05-06T06:41:47Z TongcyBot 83009 半自動導入非詞元形式 9753168 wikitext text/x-wiki ==葡萄牙語== ===動詞=== {{head|pt|動詞變位形式}} # {{pt-verb form of|acercar}} ==西班牙語== ===動詞=== {{head|es|動詞變位形式}} # {{es-verb form of|acercar}} ehh5scfrvov2265lu8rgsje7i69ns2l acercasteis 0 3433608 9753169 2026-05-06T06:41:48Z TongcyBot 83009 半自動導入非詞元形式 9753169 wikitext text/x-wiki ==西班牙語== ===動詞=== {{head|es|動詞變位形式}} # {{es-verb form of|acercar}} ca5qyuuxh99lq1y90rdevii2p508dvp acercastes 0 3433609 9753170 2026-05-06T06:41:49Z TongcyBot 83009 半自動導入非詞元形式 9753170 wikitext text/x-wiki ==葡萄牙語== ===動詞=== {{head|pt|動詞變位形式}} # {{pt-verb form of|acercar}} h6pufag1d41224lzukiicw4j1x532ad acercava 0 3433610 9753171 2026-05-06T06:41:51Z TongcyBot 83009 半自動導入非詞元形式 9753171 wikitext text/x-wiki ==葡萄牙語== ===動詞=== {{head|pt|動詞變位形式}} # {{pt-verb form of|acercar}} h6pufag1d41224lzukiicw4j1x532ad acercavam 0 3433611 9753172 2026-05-06T06:41:52Z TongcyBot 83009 半自動導入非詞元形式 9753172 wikitext text/x-wiki ==葡萄牙語== ===動詞=== {{head|pt|動詞變位形式}} # {{pt-verb form of|acercar}} h6pufag1d41224lzukiicw4j1x532ad acercavas 0 3433612 9753173 2026-05-06T06:41:53Z TongcyBot 83009 半自動導入非詞元形式 9753173 wikitext text/x-wiki ==葡萄牙語== ===動詞=== {{head|pt|動詞變位形式}} # {{pt-verb form of|acercar}} h6pufag1d41224lzukiicw4j1x532ad acerco 0 3433613 9753174 2026-05-06T06:41:55Z TongcyBot 83009 半自動導入非詞元形式 9753174 wikitext text/x-wiki {{also|acercó}} ==葡萄牙語== ===動詞=== {{head|pt|動詞變位形式}} # {{pt-verb form of|acercar}} ==西班牙語== ===動詞=== {{head|es|動詞變位形式}} # {{es-verb form of|acercar}} q6tjias518pcm4t3byvuwt1eujecr35 acercou 0 3433614 9753175 2026-05-06T06:41:56Z TongcyBot 83009 半自動導入非詞元形式 9753175 wikitext text/x-wiki ==葡萄牙語== ===動詞=== {{head|pt|動詞變位形式}} # {{pt-verb form of|acercar}} h6pufag1d41224lzukiicw4j1x532ad acercá 0 3433615 9753176 2026-05-06T06:41:59Z TongcyBot 83009 半自動導入非詞元形式 9753176 wikitext text/x-wiki {{also|acerca}} ==西班牙語== ===動詞=== {{head|es|動詞變位形式}} # {{es-verb form of|acercar}} aqnescju8zqfppgkt2k4nu0qzi8dqjo acercábamos 0 3433616 9753177 2026-05-06T06:42:00Z TongcyBot 83009 半自動導入非詞元形式 9753177 wikitext text/x-wiki ==西班牙語== ===動詞=== {{head|es|動詞變位形式}} # {{es-verb form of|acercar}} ca5qyuuxh99lq1y90rdevii2p508dvp acercáis 0 3433617 9753178 2026-05-06T06:42:01Z TongcyBot 83009 半自動導入非詞元形式 9753178 wikitext text/x-wiki {{also|acercais}} ==西班牙語== ===動詞=== {{head|es|動詞變位形式}} # {{es-verb form of|acercar}} imz01f8td23tz3o9k2jyi44hgms2bas acercámos 0 3433618 9753179 2026-05-06T06:42:02Z TongcyBot 83009 半自動導入非詞元形式 9753179 wikitext text/x-wiki {{also|acercamos}} ==葡萄牙語== ===動詞=== {{head|pt|動詞變位形式}} # {{pt-verb form of|acercar}} 3o1vo5a4745agpbq1oh35uf5bl3wv3u acercándola 0 3433619 9753180 2026-05-06T06:42:03Z TongcyBot 83009 半自動導入非詞元形式 9753180 wikitext text/x-wiki ==西班牙語== ===動詞=== {{head|es|動詞變位形式}} # {{es-verb form of|acercar}} ca5qyuuxh99lq1y90rdevii2p508dvp acercándolas 0 3433620 9753181 2026-05-06T06:42:04Z TongcyBot 83009 半自動導入非詞元形式 9753181 wikitext text/x-wiki ==西班牙語== ===動詞=== {{head|es|動詞變位形式}} # {{es-verb form of|acercar}} ca5qyuuxh99lq1y90rdevii2p508dvp acercándole 0 3433621 9753182 2026-05-06T06:42:06Z TongcyBot 83009 半自動導入非詞元形式 9753182 wikitext text/x-wiki ==西班牙語== ===動詞=== {{head|es|動詞變位形式}} # {{es-verb form of|acercar}} ca5qyuuxh99lq1y90rdevii2p508dvp acercándoles 0 3433622 9753183 2026-05-06T06:42:07Z TongcyBot 83009 半自動導入非詞元形式 9753183 wikitext text/x-wiki ==西班牙語== ===動詞=== {{head|es|動詞變位形式}} # {{es-verb form of|acercar}} ca5qyuuxh99lq1y90rdevii2p508dvp acercándolo 0 3433623 9753184 2026-05-06T06:42:08Z TongcyBot 83009 半自動導入非詞元形式 9753184 wikitext text/x-wiki ==西班牙語== ===動詞=== {{head|es|動詞變位形式}} # {{es-verb form of|acercar}} ca5qyuuxh99lq1y90rdevii2p508dvp acercándolos 0 3433624 9753185 2026-05-06T06:42:10Z TongcyBot 83009 半自動導入非詞元形式 9753185 wikitext text/x-wiki ==西班牙語== ===動詞=== {{head|es|動詞變位形式}} # {{es-verb form of|acercar}} ca5qyuuxh99lq1y90rdevii2p508dvp acercándome 0 3433625 9753186 2026-05-06T06:42:11Z TongcyBot 83009 半自動導入非詞元形式 9753186 wikitext text/x-wiki ==西班牙語== ===動詞=== {{head|es|動詞變位形式}} # {{es-verb form of|acercar}} ca5qyuuxh99lq1y90rdevii2p508dvp acercándonos 0 3433626 9753187 2026-05-06T06:42:12Z TongcyBot 83009 半自動導入非詞元形式 9753187 wikitext text/x-wiki ==西班牙語== ===動詞=== {{head|es|動詞變位形式}} # {{es-verb form of|acercar}} ca5qyuuxh99lq1y90rdevii2p508dvp acercándoos 0 3433627 9753188 2026-05-06T06:42:14Z TongcyBot 83009 半自動導入非詞元形式 9753188 wikitext text/x-wiki ==西班牙語== ===動詞=== {{head|es|動詞變位形式}} # {{es-verb form of|acercar}} ca5qyuuxh99lq1y90rdevii2p508dvp acercándose 0 3433628 9753189 2026-05-06T06:42:15Z TongcyBot 83009 半自動導入非詞元形式 9753189 wikitext text/x-wiki ==西班牙語== ===動詞=== {{head|es|動詞變位形式}} # {{es-verb form of|acercar}} ca5qyuuxh99lq1y90rdevii2p508dvp acercándote 0 3433629 9753190 2026-05-06T06:42:17Z TongcyBot 83009 半自動導入非詞元形式 9753190 wikitext text/x-wiki ==西班牙語== ===動詞=== {{head|es|動詞變位形式}} # {{es-verb form of|acercar}} ca5qyuuxh99lq1y90rdevii2p508dvp acercáramos 0 3433630 9753191 2026-05-06T06:42:18Z TongcyBot 83009 半自動導入非詞元形式 9753191 wikitext text/x-wiki ==葡萄牙語== ===動詞=== {{head|pt|動詞變位形式}} # {{pt-verb form of|acercar}} ==西班牙語== ===動詞=== {{head|es|動詞變位形式}} # {{es-verb form of|acercar}} ehh5scfrvov2265lu8rgsje7i69ns2l acercáreis 0 3433631 9753192 2026-05-06T06:42:19Z TongcyBot 83009 半自動導入非詞元形式 9753192 wikitext text/x-wiki {{also|acercareis|acercaréis}} ==葡萄牙語== ===動詞=== {{head|pt|動詞變位形式}} # {{pt-verb form of|acercar}} qpq0t5qr6pyay9ky8yn2lafekdo8n7z acercáremos 0 3433632 9753193 2026-05-06T06:42:21Z TongcyBot 83009 半自動導入非詞元形式 9753193 wikitext text/x-wiki {{also|acercaremos}} ==西班牙語== ===動詞=== {{head|es|動詞變位形式}} # {{es-verb form of|acercar}} 5nd5a7hmc43thyiru13gpdhl3dsdeb9 acercás 0 3433633 9753194 2026-05-06T06:42:22Z TongcyBot 83009 半自動導入非詞元形式 9753194 wikitext text/x-wiki {{also|acercas}} ==西班牙語== ===動詞=== {{head|es|動詞變位形式}} # {{es-verb form of|acercar}} f4ah8vcypvo4zerh89mw9bbxrrzuzhx acercásemos 0 3433634 9753195 2026-05-06T06:42:23Z TongcyBot 83009 半自動導入非詞元形式 9753195 wikitext text/x-wiki ==西班牙語== ===動詞=== {{head|es|動詞變位形式}} # {{es-verb form of|acercar}} ca5qyuuxh99lq1y90rdevii2p508dvp acercásseis 0 3433635 9753196 2026-05-06T06:42:25Z TongcyBot 83009 半自動導入非詞元形式 9753196 wikitext text/x-wiki ==葡萄牙語== ===動詞=== {{head|pt|動詞變位形式}} # {{pt-verb form of|acercar}} h6pufag1d41224lzukiicw4j1x532ad acercássemos 0 3433636 9753197 2026-05-06T06:42:26Z TongcyBot 83009 半自動導入非詞元形式 9753197 wikitext text/x-wiki ==葡萄牙語== ===動詞=== {{head|pt|動詞變位形式}} # {{pt-verb form of|acercar}} h6pufag1d41224lzukiicw4j1x532ad acercávamos 0 3433637 9753198 2026-05-06T06:42:27Z TongcyBot 83009 半自動導入非詞元形式 9753198 wikitext text/x-wiki ==葡萄牙語== ===動詞=== {{head|pt|動詞變位形式}} # {{pt-verb form of|acercar}} h6pufag1d41224lzukiicw4j1x532ad acercáveis 0 3433638 9753199 2026-05-06T06:42:28Z TongcyBot 83009 半自動導入非詞元形式 9753199 wikitext text/x-wiki ==葡萄牙語== ===動詞=== {{head|pt|動詞變位形式}} # {{pt-verb form of|acercar}} h6pufag1d41224lzukiicw4j1x532ad acercó 0 3433639 9753200 2026-05-06T06:42:31Z TongcyBot 83009 半自動導入非詞元形式 9753200 wikitext text/x-wiki {{also|acerco}} ==西班牙語== ===動詞=== {{head|es|動詞變位形式}} # {{es-verb form of|acercar}} a9rl06bzunsttqu258ugt0tbgowph41 acerque 0 3433640 9753201 2026-05-06T06:42:32Z TongcyBot 83009 半自動導入非詞元形式 9753201 wikitext text/x-wiki {{also|acerqué}} ==葡萄牙語== ===動詞=== {{head|pt|動詞變位形式}} # {{pt-verb form of|acercar}} ==西班牙語== ===動詞=== {{head|es|動詞變位形式}} # {{es-verb form of|acercar}} p2320ok6e3f2xcykq1owb3kwi6ugqla acerquei 0 3433641 9753202 2026-05-06T06:42:33Z TongcyBot 83009 半自動導入非詞元形式 9753202 wikitext text/x-wiki ==葡萄牙語== ===動詞=== {{head|pt|動詞變位形式}} # {{pt-verb form of|acercar}} h6pufag1d41224lzukiicw4j1x532ad acerqueis 0 3433642 9753203 2026-05-06T06:42:35Z TongcyBot 83009 半自動導入非詞元形式 9753203 wikitext text/x-wiki {{also|acerquéis}} ==葡萄牙語== ===動詞=== {{head|pt|動詞變位形式}} # {{pt-verb form of|acercar}} aarvshvb83dnu1cx3wtb45f94w3gxs8 acerquem 0 3433643 9753204 2026-05-06T06:42:36Z TongcyBot 83009 半自動導入非詞元形式 9753204 wikitext text/x-wiki ==葡萄牙語== ===動詞=== {{head|pt|動詞變位形式}} # {{pt-verb form of|acercar}} h6pufag1d41224lzukiicw4j1x532ad acerquemos 0 3433644 9753205 2026-05-06T06:42:37Z TongcyBot 83009 半自動導入非詞元形式 9753205 wikitext text/x-wiki ==葡萄牙語== ===動詞=== {{head|pt|動詞變位形式}} # {{pt-verb form of|acercar}} ==西班牙語== ===動詞=== {{head|es|動詞變位形式}} # {{es-verb form of|acercar}} ehh5scfrvov2265lu8rgsje7i69ns2l acerquen 0 3433645 9753206 2026-05-06T06:42:39Z TongcyBot 83009 半自動導入非詞元形式 9753206 wikitext text/x-wiki ==西班牙語== ===動詞=== {{head|es|動詞變位形式}} # {{es-verb form of|acercar}} ca5qyuuxh99lq1y90rdevii2p508dvp acerques 0 3433646 9753207 2026-05-06T06:42:40Z TongcyBot 83009 半自動導入非詞元形式 9753207 wikitext text/x-wiki {{also|acerqués}} ==葡萄牙語== ===動詞=== {{head|pt|動詞變位形式}} # {{pt-verb form of|acercar}} ==西班牙語== ===動詞=== {{head|es|動詞變位形式}} # {{es-verb form of|acercar}} 5wkdspv1qutwskw3vqawy3aog97kjnj acerqué 0 3433647 9753208 2026-05-06T06:42:41Z TongcyBot 83009 半自動導入非詞元形式 9753208 wikitext text/x-wiki {{also|acerque}} ==西班牙語== ===動詞=== {{head|es|動詞變位形式}} # {{es-verb form of|acercar}} 4ohp4g8fh96iw63gvwx6fkvv42c41kv acerquéis 0 3433648 9753209 2026-05-06T06:42:42Z TongcyBot 83009 半自動導入非詞元形式 9753209 wikitext text/x-wiki {{also|acerqueis}} ==西班牙語== ===動詞=== {{head|es|動詞變位形式}} # {{es-verb form of|acercar}} e8vl9bm7h8h38rnrnjqpixkl2xklt56 acerquémonos 0 3433649 9753210 2026-05-06T06:42:44Z TongcyBot 83009 半自動導入非詞元形式 9753210 wikitext text/x-wiki ==西班牙語== ===動詞=== {{head|es|動詞變位形式}} # {{es-verb form of|acercar}} ca5qyuuxh99lq1y90rdevii2p508dvp acerquémosla 0 3433650 9753211 2026-05-06T06:42:45Z TongcyBot 83009 半自動導入非詞元形式 9753211 wikitext text/x-wiki ==西班牙語== ===動詞=== {{head|es|動詞變位形式}} # {{es-verb form of|acercar}} ca5qyuuxh99lq1y90rdevii2p508dvp acerqués 0 3433651 9753212 2026-05-06T06:42:47Z TongcyBot 83009 半自動導入非詞元形式 9753212 wikitext text/x-wiki {{also|acerques}} ==西班牙語== ===動詞=== {{head|es|動詞變位形式}} # {{es-verb form of|acercar}} 3e7dqrdxm3o6icg984j2pewcvqx1d0f acérquense 0 3433652 9753213 2026-05-06T06:42:48Z TongcyBot 83009 半自動導入非詞元形式 9753213 wikitext text/x-wiki ==西班牙語== ===動詞=== {{head|es|動詞變位形式}} # {{es-verb form of|acercar}} ca5qyuuxh99lq1y90rdevii2p508dvp acérquese 0 3433653 9753214 2026-05-06T06:42:50Z TongcyBot 83009 半自動導入非詞元形式 9753214 wikitext text/x-wiki ==西班牙語== ===動詞=== {{head|es|動詞變位形式}} # {{es-verb form of|acercar}} ca5qyuuxh99lq1y90rdevii2p508dvp validaba 0 3433654 9753215 2026-05-06T06:42:50Z TongcyBot 83009 半自動導入非詞元形式 9753215 wikitext text/x-wiki ==西班牙語== ===動詞=== {{head|es|動詞變位形式}} # {{es-verb form of|validar}} 9rknu8i59birhzbkgvnm4r2jl67m5t0 validabais 0 3433655 9753216 2026-05-06T06:42:52Z TongcyBot 83009 半自動導入非詞元形式 9753216 wikitext text/x-wiki ==西班牙語== ===動詞=== {{head|es|動詞變位形式}} # {{es-verb form of|validar}} 9rknu8i59birhzbkgvnm4r2jl67m5t0 validaban 0 3433656 9753217 2026-05-06T06:42:53Z TongcyBot 83009 半自動導入非詞元形式 9753217 wikitext text/x-wiki ==西班牙語== ===動詞=== {{head|es|動詞變位形式}} # {{es-verb form of|validar}} 9rknu8i59birhzbkgvnm4r2jl67m5t0 validabas 0 3433657 9753218 2026-05-06T06:42:55Z TongcyBot 83009 半自動導入非詞元形式 9753218 wikitext text/x-wiki ==西班牙語== ===動詞=== {{head|es|動詞變位形式}} # {{es-verb form of|validar}} 9rknu8i59birhzbkgvnm4r2jl67m5t0 validad 0 3433658 9753219 2026-05-06T06:42:56Z TongcyBot 83009 半自動導入非詞元形式 9753219 wikitext text/x-wiki ==西班牙語== ===動詞=== {{head|es|動詞變位形式}} # {{es-verb form of|validar}} 9rknu8i59birhzbkgvnm4r2jl67m5t0 validada 0 3433659 9753220 2026-05-06T06:42:57Z TongcyBot 83009 半自動導入非詞元形式 9753220 wikitext text/x-wiki ==葡萄牙語== ===分詞=== {{head|pt|過去分詞變格形|g=f-s}} # {{feminine singular of|pt|validado}} ==西班牙語== ===發音=== {{es-pr}} ===分詞=== {{head|es|過去分詞變格形|g=f-s}} # {{feminine singular of|es|validado}} h1zlfuwdyqy6tnnhojxov7h25p6ikz7 validadas 0 3433660 9753221 2026-05-06T06:42:59Z TongcyBot 83009 半自動導入非詞元形式 9753221 wikitext text/x-wiki ==葡萄牙語== ===分詞=== {{head|pt|過去分詞變格形|g=f-p}} # {{feminine plural of|pt|validado}} ==西班牙語== ===發音=== {{es-pr}} ===分詞=== {{head|es|過去分詞變格形|g=f-p}} # {{feminine plural of|es|validado}} 6zsvk9b8gqn5m7fgbhyjms0svxmxjpu validades 0 3433661 9753222 2026-05-06T06:43:00Z TongcyBot 83009 半自動導入非詞元形式 9753222 wikitext text/x-wiki ==葡萄牙語== ===名詞=== {{head|pt|名詞變格形}} # {{plural of|pt|validade}} 823f7wddmixq6gx0u4turdibb4d8ppm validado 0 3433662 9753223 2026-05-06T06:43:02Z TongcyBot 83009 半自動導入非詞元形式 9753223 wikitext text/x-wiki ==葡萄牙語== ===分詞=== {{pt-pp}} # {{past participle of|pt|validar}} ==西班牙語== ===發音=== {{es-pr}} ===分詞=== {{es-past participle}} # {{past participle of|es|validar}} guolo9fdbiyt3c8rq2kjiopavroy79f validados 0 3433663 9753224 2026-05-06T06:43:03Z TongcyBot 83009 半自動導入非詞元形式 9753224 wikitext text/x-wiki ==葡萄牙語== ===分詞=== {{head|pt|過去分詞變格形|g=m-p}} # {{masculine plural of|pt|validado}} ==西班牙語== ===發音=== {{es-pr}} ===分詞=== {{head|es|過去分詞變格形|g=m-p}} # {{masculine plural of|es|validado}} rpqh8utgpi83zx1j04bj4yxm51gn3fk validai 0 3433664 9753225 2026-05-06T06:43:04Z TongcyBot 83009 半自動導入非詞元形式 9753225 wikitext text/x-wiki ==法語== ===發音=== * {{fr-IPA|pos=v}} * {{homophones|fr|validé|validée|validées|valider|validés|validez}} ===動詞=== {{head|fr|動詞變位形式}} # {{inflection of|fr|valider||1|s|phis}} ==意大利語== ===發音=== {{it-pr|validài}} ===動詞=== {{head|it|動詞變位形式}} # {{inflection of|it|validare||1|s|phis}} ===異序詞=== * {{anagrams|it|a=aadiilv|alidiva|dilavai}} ==葡萄牙語== ===動詞=== {{head|pt|動詞變位形式}} # {{pt-verb form of|validar}} i6e082w1luxwiw1ypr3q1262boktqbp validais 0 3433665 9753226 2026-05-06T06:43:05Z TongcyBot 83009 半自動導入非詞元形式 9753226 wikitext text/x-wiki {{also|validáis}} ==法語== ===發音=== * {{fr-IPA}} ===動詞=== {{head|fr|動詞變位形式}} # {{inflection of|fr|valider||1//2|s|impf|indc}} ==葡萄牙語== ===動詞=== {{head|pt|動詞變位形式}} # {{pt-verb form of|validar}} 9tfncu78iwvra5005prsekb7kq57jl9 validam 0 3433666 9753227 2026-05-06T06:43:07Z TongcyBot 83009 半自動導入非詞元形式 9753227 wikitext text/x-wiki ==拉丁語== ===發音=== * {{la-IPA}} ===形容詞=== {{head|la|形容詞變格形}} # {{inflection of|la|validus||acc|f|s}} ==葡萄牙語== ===動詞=== {{head|pt|動詞變位形式}} # {{pt-verb form of|validar}} cz0ycz98sprmbpy7rajqnfwh670brgt validamos 0 3433667 9753228 2026-05-06T06:43:08Z TongcyBot 83009 半自動導入非詞元形式 9753228 wikitext text/x-wiki {{also|validámos}} ==葡萄牙語== ===動詞=== {{head|pt|動詞變位形式}} # {{pt-verb form of|validar}} ==西班牙語== ===發音=== {{es-pr}} ===動詞=== {{head|es|動詞變位形式}} # {{es-verb form of|validar}} ad5q7xt32i3myorjr6wb55bhfeg9yaq validando 0 3433668 9753229 2026-05-06T06:43:10Z TongcyBot 83009 半自動導入非詞元形式 9753229 wikitext text/x-wiki ==意大利語== ===發音=== {{it-pr}} ===動詞=== {{head|it|動名詞}} # {{gerund of|it|validare}} ===異序詞=== * {{anagrams|it|a=aaddilnov|dilavando}} ==葡萄牙語== ===動詞=== {{head|pt|動名詞}} # {{pt-verb form of|validar}} ==西班牙語== ===發音=== {{es-pr}} ===動詞=== {{head|es|動名詞}} # {{es-verb form of|validar}} rbiqams3f678t6cqmdoayz70wq36x6o validant 0 3433669 9753230 2026-05-06T06:43:11Z TongcyBot 83009 半自動導入非詞元形式 9753230 wikitext text/x-wiki ==法語== ===分詞=== {{head|fr|現在分詞}} # {{present participle of|fr|valider}} a8bocp0n9y57gttw1wx6vwas6mh27vd validara 0 3433670 9753231 2026-05-06T06:43:13Z TongcyBot 83009 半自動導入非詞元形式 9753231 wikitext text/x-wiki {{also|validará}} ==葡萄牙語== ===動詞=== {{head|pt|動詞變位形式}} # {{pt-verb form of|validar}} ==西班牙語== ===發音=== {{es-pr}} ===動詞=== {{head|es|動詞變位形式}} # {{es-verb form of|validar}} 6cyd4b41gl6l7ykruroeeaql1ogmn9i validarais 0 3433671 9753232 2026-05-06T06:43:14Z TongcyBot 83009 半自動導入非詞元形式 9753232 wikitext text/x-wiki ==西班牙語== ===動詞=== {{head|es|動詞變位形式}} # {{es-verb form of|validar}} 9rknu8i59birhzbkgvnm4r2jl67m5t0 validaram 0 3433672 9753233 2026-05-06T06:43:15Z TongcyBot 83009 半自動導入非詞元形式 9753233 wikitext text/x-wiki ==葡萄牙語== ===動詞=== {{head|pt|動詞變位形式}} # {{pt-verb form of|validar}} dlitofm44z7iyha0pyc4s8lebbmmss0 validaran 0 3433673 9753234 2026-05-06T06:43:16Z TongcyBot 83009 半自動導入非詞元形式 9753234 wikitext text/x-wiki {{also|validarán}} ==西班牙語== ===動詞=== {{head|es|動詞變位形式}} # {{es-verb form of|validar}} 8qel5ybru5thbsg7e34hokymik9lyc5 validaras 0 3433674 9753235 2026-05-06T06:43:17Z TongcyBot 83009 半自動導入非詞元形式 9753235 wikitext text/x-wiki {{also|validarás}} ==葡萄牙語== ===動詞=== {{head|pt|動詞變位形式}} # {{pt-verb form of|validar}} ==西班牙語== ===發音=== {{es-pr}} ===動詞=== {{head|es|動詞變位形式}} # {{es-verb form of|validar}} 1w2b5ey89qo9rscudovxl2rziroljxy validardes 0 3433675 9753236 2026-05-06T06:43:19Z TongcyBot 83009 半自動導入非詞元形式 9753236 wikitext text/x-wiki ==葡萄牙語== ===動詞=== {{head|pt|動詞變位形式}} # {{pt-verb form of|validar}} dlitofm44z7iyha0pyc4s8lebbmmss0 validare 0 3433676 9753237 2026-05-06T06:43:20Z TongcyBot 83009 半自動導入非詞元形式 9753237 wikitext text/x-wiki {{also|validaré}} ==意大利語== ===詞源=== 源自{{der|it|la|valido|validāre}},源自 {{m|la|validus}}。 ===發音=== {{it-pr}} ===動詞=== {{it-verb|a/à}} # {{lb|it|及物}} to [[validate]] #: {{syn|it|convalidare}} ====變位==== {{it-conj|a/à}} ====相關詞彙==== * {{l|it|validatrice}} * {{l|it|valido}} * {{l|it|validazione}} * {{l|it|convalidare}} ===異序詞=== * {{anagrams|it|a=aadeilrv|delirava|dilavare|dilaverà|validerà}} ==拉丁語== ===發音=== * {{la-IPA|validāre}} ===動詞=== {{head|la|動詞變位形式|head=validāre}} # {{inflection of|la|validō||pres|actv|inf|;|2|s|pres|pasv|imp//ind}} ==羅馬尼亞語== ===詞源=== 源自 {{suffix|ro|valida|-re}}。 ===名詞=== {{ro-noun|f|validări}} # [[validation]] ====變格==== {{ro-noun-f-e|validar|validăr}} ==西班牙語== ===動詞=== {{head|es|動詞變位形式}} # {{es-verb form of|validar}} ef7mrm7cskok0c91h7ybkbjbi6rgvby 9753740 9753237 2026-05-06T07:23:06Z Sayonzei 40728 9753740 wikitext text/x-wiki {{also|validaré}} ==意大利語== ===詞源=== 源自{{der|it|la|valido|validāre}},源自 {{m|la|validus}}。 ===發音=== {{it-pr}} ===動詞=== {{it-verb|a/à}} # {{lb|it|及物}} 使[[生效]],[[確認]],[[驗證]] #: {{syn|it|convalidare}} ====變位==== {{it-conj|a/à}} ====相關詞彙==== * {{l|it|validatrice}} * {{l|it|valido}} * {{l|it|validazione}} * {{l|it|convalidare}} ===異序詞=== * {{anagrams|it|a=aadeilrv|delirava|dilavare|dilaverà|validerà}} ==拉丁語== ===發音=== * {{la-IPA|validāre}} ===動詞=== {{head|la|動詞變位形式|head=validāre}} # {{inflection of|la|validō||pres|actv|inf|;|2|s|pres|pasv|imp//ind}} ==羅馬尼亞語== ===詞源=== 源自 {{suffix|ro|valida|-re}}。 ===名詞=== {{ro-noun|f|validări}} # [[確認]],[[驗證]] ====變格==== {{ro-noun-f-e|validar|validăr}} ==西班牙語== ===動詞=== {{head|es|動詞變位形式}} # {{es-verb form of|validar}} e62xt6rd1xllfl2syr1o6x5o3wxsmcy validarei 0 3433677 9753238 2026-05-06T06:43:21Z TongcyBot 83009 半自動導入非詞元形式 9753238 wikitext text/x-wiki ==葡萄牙語== ===動詞=== {{head|pt|動詞變位形式}} # {{pt-verb form of|validar}} dlitofm44z7iyha0pyc4s8lebbmmss0 validareis 0 3433678 9753239 2026-05-06T06:43:24Z TongcyBot 83009 半自動導入非詞元形式 9753239 wikitext text/x-wiki {{also|validaréis|validáreis}} ==葡萄牙語== ===動詞=== {{head|pt|動詞變位形式}} # {{pt-verb form of|validar}} ==西班牙語== ===發音=== {{es-pr}} ===動詞=== {{head|es|動詞變位形式}} # {{es-verb form of|validar}} aytpnkm4748uo09506mrl3dkrgyp11j validarem 0 3433679 9753240 2026-05-06T06:43:25Z TongcyBot 83009 半自動導入非詞元形式 9753240 wikitext text/x-wiki ==葡萄牙語== ===動詞=== {{head|pt|動詞變位形式}} # {{pt-verb form of|validar}} dlitofm44z7iyha0pyc4s8lebbmmss0 validaremos 0 3433680 9753241 2026-05-06T06:43:26Z TongcyBot 83009 半自動導入非詞元形式 9753241 wikitext text/x-wiki {{also|validáremos}} ==葡萄牙語== ===動詞=== {{head|pt|動詞變位形式}} # {{pt-verb form of|validar}} ==西班牙語== ===發音=== {{es-pr}} ===動詞=== {{head|es|動詞變位形式}} # {{es-verb form of|validar}} 1u7ei2rhqk9gckfhkk29tm10uotl4w9 validaren 0 3433681 9753242 2026-05-06T06:43:27Z TongcyBot 83009 半自動導入非詞元形式 9753242 wikitext text/x-wiki ==西班牙語== ===動詞=== {{head|es|動詞變位形式}} # {{es-verb form of|validar}} 9rknu8i59birhzbkgvnm4r2jl67m5t0 validares 0 3433682 9753243 2026-05-06T06:43:29Z TongcyBot 83009 半自動導入非詞元形式 9753243 wikitext text/x-wiki ==葡萄牙語== ===動詞=== {{head|pt|動詞變位形式}} # {{pt-verb form of|validar}} ==西班牙語== ===發音=== {{es-pr}} ===動詞=== {{head|es|動詞變位形式}} # {{es-verb form of|validar}} iesxvw5n0dz352b3vqny1fidcounu5e validaria 0 3433683 9753244 2026-05-06T06:43:30Z TongcyBot 83009 半自動導入非詞元形式 9753244 wikitext text/x-wiki {{also|validaría}} ==葡萄牙語== ===動詞=== {{head|pt|動詞變位形式}} # {{pt-verb form of|validar}} 5q5c8br9ls8jr5zfet6xbsmsn584ujm validariam 0 3433684 9753245 2026-05-06T06:43:31Z TongcyBot 83009 半自動導入非詞元形式 9753245 wikitext text/x-wiki ==葡萄牙語== ===動詞=== {{head|pt|動詞變位形式}} # {{pt-verb form of|validar}} dlitofm44z7iyha0pyc4s8lebbmmss0 validarias 0 3433685 9753246 2026-05-06T06:43:32Z TongcyBot 83009 半自動導入非詞元形式 9753246 wikitext text/x-wiki {{also|validarías}} ==葡萄牙語== ===動詞=== {{head|pt|動詞變位形式}} # {{pt-verb form of|validar}} 8o7w5vlcxgbqbo7sop4m1fw85ks2u4f validarla 0 3433686 9753247 2026-05-06T06:43:34Z TongcyBot 83009 半自動導入非詞元形式 9753247 wikitext text/x-wiki ==西班牙語== ===動詞=== {{head|es|動詞變位形式}} # {{es-verb form of|validar}} 9rknu8i59birhzbkgvnm4r2jl67m5t0 validarlas 0 3433687 9753248 2026-05-06T06:43:35Z TongcyBot 83009 半自動導入非詞元形式 9753248 wikitext text/x-wiki ==西班牙語== ===動詞=== {{head|es|動詞變位形式}} # {{es-verb form of|validar}} 9rknu8i59birhzbkgvnm4r2jl67m5t0 validarle 0 3433688 9753249 2026-05-06T06:43:37Z TongcyBot 83009 半自動導入非詞元形式 9753249 wikitext text/x-wiki ==西班牙語== ===動詞=== {{head|es|動詞變位形式}} # {{es-verb form of|validar}} 9rknu8i59birhzbkgvnm4r2jl67m5t0 validarles 0 3433689 9753250 2026-05-06T06:43:38Z TongcyBot 83009 半自動導入非詞元形式 9753250 wikitext text/x-wiki ==西班牙語== ===動詞=== {{head|es|動詞變位形式}} # {{es-verb form of|validar}} 9rknu8i59birhzbkgvnm4r2jl67m5t0 validarlo 0 3433690 9753251 2026-05-06T06:43:40Z TongcyBot 83009 半自動導入非詞元形式 9753251 wikitext text/x-wiki ==西班牙語== ===動詞=== {{head|es|動詞變位形式}} # {{es-verb form of|validar}} 9rknu8i59birhzbkgvnm4r2jl67m5t0 validarlos 0 3433691 9753252 2026-05-06T06:43:41Z TongcyBot 83009 半自動導入非詞元形式 9753252 wikitext text/x-wiki ==西班牙語== ===動詞=== {{head|es|動詞變位形式}} # {{es-verb form of|validar}} 9rknu8i59birhzbkgvnm4r2jl67m5t0 validarme 0 3433692 9753253 2026-05-06T06:43:43Z TongcyBot 83009 半自動導入非詞元形式 9753253 wikitext text/x-wiki ==西班牙語== ===動詞=== {{head|es|動詞變位形式}} # {{es-verb form of|validar}} 9rknu8i59birhzbkgvnm4r2jl67m5t0 validarmos 0 3433693 9753254 2026-05-06T06:43:44Z TongcyBot 83009 半自動導入非詞元形式 9753254 wikitext text/x-wiki ==葡萄牙語== ===動詞=== {{head|pt|動詞變位形式}} # {{pt-verb form of|validar}} dlitofm44z7iyha0pyc4s8lebbmmss0 validarnos 0 3433694 9753255 2026-05-06T06:43:45Z TongcyBot 83009 半自動導入非詞元形式 9753255 wikitext text/x-wiki ==西班牙語== ===動詞=== {{head|es|動詞變位形式}} # {{es-verb form of|validar}} 9rknu8i59birhzbkgvnm4r2jl67m5t0 validaron 0 3433695 9753256 2026-05-06T06:43:46Z TongcyBot 83009 半自動導入非詞元形式 9753256 wikitext text/x-wiki ==西班牙語== ===動詞=== {{head|es|動詞變位形式}} # {{es-verb form of|validar}} 9rknu8i59birhzbkgvnm4r2jl67m5t0 validaros 0 3433696 9753257 2026-05-06T06:43:48Z TongcyBot 83009 半自動導入非詞元形式 9753257 wikitext text/x-wiki ==西班牙語== ===動詞=== {{head|es|動詞變位形式}} # {{es-verb form of|validar}} 9rknu8i59birhzbkgvnm4r2jl67m5t0 validarse 0 3433697 9753258 2026-05-06T06:43:49Z TongcyBot 83009 半自動導入非詞元形式 9753258 wikitext text/x-wiki ==西班牙語== ===動詞=== {{head|es|動詞變位形式}} # {{es-verb form of|validar}} 9rknu8i59birhzbkgvnm4r2jl67m5t0 validarte 0 3433698 9753259 2026-05-06T06:43:50Z TongcyBot 83009 半自動導入非詞元形式 9753259 wikitext text/x-wiki ==西班牙語== ===動詞=== {{head|es|動詞變位形式}} # {{es-verb form of|validar}} 9rknu8i59birhzbkgvnm4r2jl67m5t0 validará 0 3433699 9753260 2026-05-06T06:43:51Z TongcyBot 83009 半自動導入非詞元形式 9753260 wikitext text/x-wiki {{also|validara}} ==葡萄牙語== ===動詞=== {{head|pt|動詞變位形式}} # {{pt-verb form of|validar}} ==西班牙語== ===發音=== {{es-pr}} ===動詞=== {{head|es|動詞變位形式}} # {{es-verb form of|validar}} 5zhpyhaeqgm1liusddz1w3g1hek12xv validarán 0 3433700 9753261 2026-05-06T06:43:52Z TongcyBot 83009 半自動導入非詞元形式 9753261 wikitext text/x-wiki {{also|validaran}} ==西班牙語== ===動詞=== {{head|es|動詞變位形式}} # {{es-verb form of|validar}} 3hqn7la3b5vkzdm7yzryt6pxs03lxym validarás 0 3433701 9753262 2026-05-06T06:43:54Z TongcyBot 83009 半自動導入非詞元形式 9753262 wikitext text/x-wiki {{also|validaras}} ==葡萄牙語== ===動詞=== {{head|pt|動詞變位形式}} # {{pt-verb form of|validar}} ==西班牙語== ===發音=== {{es-pr}} ===動詞=== {{head|es|動詞變位形式}} # {{es-verb form of|validar}} hgxuqna7d28e99cjzmdwz04nmm0see3 validarão 0 3433702 9753263 2026-05-06T06:43:55Z TongcyBot 83009 半自動導入非詞元形式 9753263 wikitext text/x-wiki ==葡萄牙語== ===動詞=== {{head|pt|動詞變位形式}} # {{pt-verb form of|validar}} dlitofm44z7iyha0pyc4s8lebbmmss0 validaré 0 3433703 9753264 2026-05-06T06:43:57Z TongcyBot 83009 半自動導入非詞元形式 9753264 wikitext text/x-wiki {{also|validare}} ==西班牙語== ===動詞=== {{head|es|動詞變位形式}} # {{es-verb form of|validar}} 5w62o1saodnmj25ezrndtdjq5x05ben validaréis 0 3433704 9753265 2026-05-06T06:43:58Z TongcyBot 83009 半自動導入非詞元形式 9753265 wikitext text/x-wiki {{also|validareis|validáreis}} ==西班牙語== ===動詞=== {{head|es|動詞變位形式}} # {{es-verb form of|validar}} hw6rsm93uro2mhcl0no9fjccqtyc5zz validaría 0 3433705 9753266 2026-05-06T06:44:00Z TongcyBot 83009 半自動導入非詞元形式 9753266 wikitext text/x-wiki {{also|validaria}} ==西班牙語== ===動詞=== {{head|es|動詞變位形式}} # {{es-verb form of|validar}} h3oj7n6squejrh2gijr3vax5aq8cf0y validaríais 0 3433706 9753267 2026-05-06T06:44:01Z TongcyBot 83009 半自動導入非詞元形式 9753267 wikitext text/x-wiki ==西班牙語== ===動詞=== {{head|es|動詞變位形式}} # {{es-verb form of|validar}} 9rknu8i59birhzbkgvnm4r2jl67m5t0 validaríamos 0 3433707 9753268 2026-05-06T06:44:03Z TongcyBot 83009 半自動導入非詞元形式 9753268 wikitext text/x-wiki ==葡萄牙語== ===動詞=== {{head|pt|動詞變位形式}} # {{pt-verb form of|validar}} ==西班牙語== ===發音=== {{es-pr}} ===動詞=== {{head|es|動詞變位形式}} # {{es-verb form of|validar}} iesxvw5n0dz352b3vqny1fidcounu5e validarían 0 3433708 9753269 2026-05-06T06:44:04Z TongcyBot 83009 半自動導入非詞元形式 9753269 wikitext text/x-wiki ==西班牙語== ===動詞=== {{head|es|動詞變位形式}} # {{es-verb form of|validar}} 9rknu8i59birhzbkgvnm4r2jl67m5t0 validarías 0 3433709 9753270 2026-05-06T06:44:05Z TongcyBot 83009 半自動導入非詞元形式 9753270 wikitext text/x-wiki {{also|validarias}} ==西班牙語== ===動詞=== {{head|es|動詞變位形式}} # {{es-verb form of|validar}} 0vxzvfqveaf4pvyjwi8t29qt6ss3bxr validaríeis 0 3433710 9753271 2026-05-06T06:44:06Z TongcyBot 83009 半自動導入非詞元形式 9753271 wikitext text/x-wiki ==葡萄牙語== ===動詞=== {{head|pt|動詞變位形式}} # {{pt-verb form of|validar}} dlitofm44z7iyha0pyc4s8lebbmmss0 validas 0 3433711 9753272 2026-05-06T06:44:08Z TongcyBot 83009 半自動導入非詞元形式 9753272 wikitext text/x-wiki {{also|validás|válidas}} ==法語== ===動詞=== {{head|fr|動詞變位形式}} # {{inflection of|fr|valider||2|s|phis}} ==拉丁語== ===形容詞=== {{head|la|形容詞變格形|head=validās}} # {{inflection of|la|validus||acc|f|p}} ==葡萄牙語== ===詞源1=== ====形容詞==== {{head|pt|形容詞變格形}} # {{adj form of|pt|valido||f|p}} ====分詞==== {{head|pt|過去分詞變格形}} # {{feminine plural of|pt|valido}} ===詞源2=== ====動詞==== {{head|pt|動詞變位形式}} # {{pt-verb form of|validar}} ==西班牙語== ===發音=== {{es-pr}} ===形容詞=== {{head|es|形容詞變格形|g=f-p}} # {{adj form of|es|valido||f|p}} ===分詞=== {{head|es|過去分詞變格形|g=f-p}} # {{feminine plural of|es|valido}} ===動詞=== {{head|es|動詞變位形式}} # {{es-verb form of|validar}} 75nlrcudcl8m9mjw5yor9owsxfbueaj validase 0 3433712 9753273 2026-05-06T06:44:09Z TongcyBot 83009 半自動導入非詞元形式 9753273 wikitext text/x-wiki ==西班牙語== ===動詞=== {{head|es|動詞變位形式}} # {{es-verb form of|validar}} 9rknu8i59birhzbkgvnm4r2jl67m5t0 validaseis 0 3433713 9753274 2026-05-06T06:44:10Z TongcyBot 83009 半自動導入非詞元形式 9753274 wikitext text/x-wiki ==西班牙語== ===動詞=== {{head|es|動詞變位形式}} # {{es-verb form of|validar}} 9rknu8i59birhzbkgvnm4r2jl67m5t0 validasen 0 3433714 9753275 2026-05-06T06:44:11Z TongcyBot 83009 半自動導入非詞元形式 9753275 wikitext text/x-wiki ==西班牙語== ===動詞=== {{head|es|動詞變位形式}} # {{es-verb form of|validar}} 9rknu8i59birhzbkgvnm4r2jl67m5t0 validases 0 3433715 9753276 2026-05-06T06:44:12Z TongcyBot 83009 半自動導入非詞元形式 9753276 wikitext text/x-wiki ==西班牙語== ===動詞=== {{head|es|動詞變位形式}} # {{es-verb form of|validar}} 9rknu8i59birhzbkgvnm4r2jl67m5t0 validasse 0 3433716 9753277 2026-05-06T06:44:13Z TongcyBot 83009 半自動導入非詞元形式 9753277 wikitext text/x-wiki ==法語== ===發音=== * {{fr-IPA}} ===動詞=== {{head|fr|動詞變位形式}} # {{inflection of|fr|valider||1|s|impf|subj}} ===異序詞=== * {{anagrams|fr|a=aadeilssv|dévalisas}} ==意大利語== ===發音=== {{it-pr|validàsse}} ===動詞=== {{head|it|動詞變位形式}} # {{inflection of|it|validare||3|s|impf|subj}} ===異序詞=== * {{anagrams|it|a=aadeilssv|dilavasse}} ==葡萄牙語== ===動詞=== {{head|pt|動詞變位形式}} # {{pt-verb form of|validar}} ie3v9x6yxnb6vhcvm3artge2lmf8t2y validassem 0 3433717 9753278 2026-05-06T06:44:15Z TongcyBot 83009 半自動導入非詞元形式 9753278 wikitext text/x-wiki ==葡萄牙語== ===動詞=== {{head|pt|動詞變位形式}} # {{pt-verb form of|validar}} dlitofm44z7iyha0pyc4s8lebbmmss0 validasses 0 3433718 9753279 2026-05-06T06:44:16Z TongcyBot 83009 半自動導入非詞元形式 9753279 wikitext text/x-wiki ==法語== ===發音=== * {{fr-IPA}} ===動詞=== {{head|fr|動詞變位形式}} # {{inflection of|fr|valider||2|s|impf|subj}} ==葡萄牙語== ===動詞=== {{head|pt|動詞變位形式}} # {{pt-verb form of|validar}} hoge83yyhlbtm47zvhhyz8jd1y93pp6 validaste 0 3433719 9753280 2026-05-06T06:44:17Z TongcyBot 83009 半自動導入非詞元形式 9753280 wikitext text/x-wiki ==意大利語== ===發音=== {{it-pr|validàste}} ===動詞=== {{head|it|動詞變位形式}} # {{inflection of|it|validare||2|p|phis|;|2|p|impf|sub}} ===異序詞=== * {{anagrams|it|a=aadeilstv|dilavaste|disvelata|saldatevi}} ==葡萄牙語== ===動詞=== {{head|pt|動詞變位形式}} # {{pt-verb form of|validar}} ==西班牙語== ===發音=== {{es-pr}} ===動詞=== {{head|es|動詞變位形式}} # {{es-verb form of|validar}} aprfdc7xadftda8yhd3i3wrbebhr781 validasteis 0 3433720 9753281 2026-05-06T06:44:19Z TongcyBot 83009 半自動導入非詞元形式 9753281 wikitext text/x-wiki ==西班牙語== ===動詞=== {{head|es|動詞變位形式}} # {{es-verb form of|validar}} 9rknu8i59birhzbkgvnm4r2jl67m5t0 validastes 0 3433721 9753282 2026-05-06T06:44:20Z TongcyBot 83009 半自動導入非詞元形式 9753282 wikitext text/x-wiki ==葡萄牙語== ===動詞=== {{head|pt|動詞變位形式}} # {{pt-verb form of|validar}} dlitofm44z7iyha0pyc4s8lebbmmss0 validat 0 3433722 9753283 2026-05-06T06:44:22Z TongcyBot 83009 半自動導入非詞元形式 9753283 wikitext text/x-wiki ==羅馬尼亞語== ===詞源=== Past participle of {{m|ro|valida}}。 ===形容詞=== {{ro-adj}} # [[validated]] ====變格==== {{ro-decl-adj}} ===動詞=== {{ro-past|valida}} # {{past participle of|ro|valida}} ===參考資料=== * {{R:MDA2}} nn24wzo891zmkjv4le9op8r1hzoy41o 9753739 9753283 2026-05-06T07:21:09Z Sayonzei 40728 9753739 wikitext text/x-wiki ==羅馬尼亞語== ===詞源=== {{m|ro|valida}} 的過去分詞。 ===形容詞=== {{ro-adj}} # 經過[[確認]]的,經過[[驗證]]的 ====變格==== {{ro-decl-adj}} ===動詞=== {{ro-past|valida}} # {{past participle of|ro|valida}} ===參考資料=== * {{R:MDA2}} ntmg57xcq9hydl8ivzqsesborucjtk0 validato 0 3433723 9753284 2026-05-06T06:44:23Z TongcyBot 83009 半自動導入非詞元形式 9753284 wikitext text/x-wiki ==意大利語== ===分詞=== {{it-pp}} # {{past participle of|it|validare}} ===異序詞=== * {{anagrams|it|a=aadilotv|dilatavo|dilavato|lodativa}} 1tv2g0bmlfnxynjfmyrg9qfxm8rpu06 validava 0 3433724 9753285 2026-05-06T06:44:25Z TongcyBot 83009 半自動導入非詞元形式 9753285 wikitext text/x-wiki ==意大利語== ===發音=== {{it-pr|validàva}} ===動詞=== {{head|it|動詞變位形式}} # {{inflection of|it|validare||3|s|impf|indc}} ===異序詞=== * {{anagrams|it|a=aaadilvv|dilavava}} ==葡萄牙語== ===動詞=== {{head|pt|動詞變位形式}} # {{pt-verb form of|validar}} 5uq6jy9co6ihhelw8pyj7qp9x3mltc3 validavam 0 3433725 9753286 2026-05-06T06:44:26Z TongcyBot 83009 半自動導入非詞元形式 9753286 wikitext text/x-wiki ==葡萄牙語== ===動詞=== {{head|pt|動詞變位形式}} # {{pt-verb form of|validar}} dlitofm44z7iyha0pyc4s8lebbmmss0 validavas 0 3433726 9753287 2026-05-06T06:44:27Z TongcyBot 83009 半自動導入非詞元形式 9753287 wikitext text/x-wiki ==葡萄牙語== ===動詞=== {{head|pt|動詞變位形式}} # {{pt-verb form of|validar}} dlitofm44z7iyha0pyc4s8lebbmmss0 validavi 0 3433727 9753288 2026-05-06T06:44:28Z TongcyBot 83009 半自動導入非詞元形式 9753288 wikitext text/x-wiki ==意大利語== ===動詞=== {{head|it|動詞變位形式}} # {{inflection of|it|validare||2|s|impf|indc}} ===異序詞=== * {{anagrams|it|a=aadiilvv|dilavavi}} kttc2ek0rfklxlvdl8gh0906s1ae717 validei 0 3433728 9753289 2026-05-06T06:44:30Z TongcyBot 83009 半自動導入非詞元形式 9753289 wikitext text/x-wiki ==葡萄牙語== ===動詞=== {{head|pt|動詞變位形式}} # {{pt-verb form of|validar}} dlitofm44z7iyha0pyc4s8lebbmmss0 valideis 0 3433729 9753290 2026-05-06T06:44:31Z TongcyBot 83009 半自動導入非詞元形式 9753290 wikitext text/x-wiki {{also|validéis}} ==葡萄牙語== ===動詞=== {{head|pt|動詞變位形式}} # {{pt-verb form of|validar}} iswp437jyserikvt0hekt620wf2ekfu validem 0 3433730 9753291 2026-05-06T06:44:32Z TongcyBot 83009 半自動導入非詞元形式 9753291 wikitext text/x-wiki ==德語== ===發音=== * {{audio|de|De-validem.ogg|a=<<Germany>> (<<Berlin>>)}} ===形容詞=== {{head|de|形容詞變格形}} # {{de-adj form of|valid}} ==葡萄牙語== ===動詞=== {{head|pt|動詞變位形式}} # {{pt-verb form of|validar}} gj4s22104ncpodwdhnsar62588nyx0u validemos 0 3433731 9753292 2026-05-06T06:44:33Z TongcyBot 83009 半自動導入非詞元形式 9753292 wikitext text/x-wiki ==葡萄牙語== ===動詞=== {{head|pt|動詞變位形式}} # {{pt-verb form of|validar}} ==西班牙語== ===發音=== {{es-pr}} ===動詞=== {{head|es|動詞變位形式}} # {{es-verb form of|validar}} iesxvw5n0dz352b3vqny1fidcounu5e validen 0 3433732 9753293 2026-05-06T06:44:35Z TongcyBot 83009 半自動導入非詞元形式 9753293 wikitext text/x-wiki ==德語== ===發音=== * {{audio|de|De-validen.ogg|a=<<Germany>> (<<Berlin>>)}} ===形容詞=== {{head|de|形容詞變格形}} # {{de-adj form of|valid}} ==西班牙語== ===動詞=== {{head|es|動詞變位形式}} # {{es-verb form of|validar}} r18k1sa9a7r8w36ri2j9bu7nne7eege valident 0 3433733 9753294 2026-05-06T06:44:36Z TongcyBot 83009 半自動導入非詞元形式 9753294 wikitext text/x-wiki ==法語== ===動詞=== {{head|fr|動詞變位形式}} # {{inflection of|fr|valider||3|p|pres|ind//sub}} 4y7xaaz6g0wu67v5fbmkdwd0f0pd3yf validere 0 3433734 9753295 2026-05-06T06:44:37Z TongcyBot 83009 半自動導入非詞元形式 9753295 wikitext text/x-wiki ==荷蘭語== ===發音=== * {{audio|nl|Nl-validere.ogg}} ===形容詞=== {{head|nl|形容詞變格形}} # {{inflection of|nl|valide||indef|m|and|f|s|comd|;|indef|p|comd|;|def|comd}} ru22mxzsyh897zzcvkjpp3slsdrgim2 valides 0 3433735 9753296 2026-05-06T06:44:38Z TongcyBot 83009 半自動導入非詞元形式 9753296 wikitext text/x-wiki {{also|validés|vàlides}} ==荷蘭語== ===發音=== * {{audio|nl|Nl-valides.ogg}} ===形容詞=== {{head|nl|形容詞變格形}} # {{inflection of|nl|valide||par}} ==法語== ===發音=== * {{fr-IPA}} * {{homophones|fr|valide}} ===形容詞=== {{head|fr|形容詞變格形}} # {{adj form of|fr|valide||p}} ==德語== ===發音=== * {{audio|de|De-valides.ogg|a=<<Germany>> (<<Berlin>>)}} ===形容詞=== {{head|de|形容詞變格形}} # {{de-adj form of|valid}} ==葡萄牙語== ===動詞=== {{head|pt|動詞變位形式}} # {{pt-verb form of|validar}} ==西班牙語== ===發音=== {{es-pr}} ===動詞=== {{head|es|動詞變位形式}} # {{es-verb form of|validar}} brnoxq0gj6aaugc6ocq4yro5z2w62b4 validi 0 3433736 9753297 2026-05-06T06:44:40Z TongcyBot 83009 半自動導入非詞元形式 9753297 wikitext text/x-wiki ==世界語== ===發音=== {{eo-pr}} ===動詞=== {{eo-head}} # to be [[valid]] ====變位==== {{eo-conj|intr=yes}} ===延伸閱讀=== * {{R:eo:PIV 2020}} * {{R:eo:ReVo}} ==芬蘭語== ===詞源=== {{internationalism|fi}} (see {{cog|en|valid}}),最终源自{{der|fi|la|validus}}。 ===發音=== {{fi-p}} ===形容詞=== {{fi-adj|valid|impi|ein}} # [[valid]] ====變格==== {{fi-decl-risti|pos=adj|valid|||a}} ====派生詞彙==== {{col|fi |validisti |validiteetti |validius }} ====相關詞彙==== * {{l|fi|validiteetti}} ===延伸閱讀=== * {{R:fi:KTSK|accessdate=2023-07-04}} ===異序詞=== * {{anagrams|fi|a=adiilv|divali}} ==意大利語== ===形容詞=== {{head|it|形容詞變格形|g=m-p}} # {{adj form of|it|valido||m|p}} ===動詞=== {{head|it|動詞變位形式}} # {{inflection of|it|validare||2|s|pres|;|1//2//3|s|pres|subj|;|3|s|impr}} ===異序詞=== * {{anagrams|it|a=adiilv|Vidali|dilavi|livida}} ==拉丁語== ===形容詞=== {{head|la|形容詞變格形|head=validī}} # {{inflection of|la|validus||nom//voc|m|p|;|gen|m//n|s}} 0gvybjtr1zd051w5a77dsqtwm9p4u3r 9753743 9753297 2026-05-06T07:25:25Z Sayonzei 40728 9753743 wikitext text/x-wiki ==世界語== ===發音=== {{eo-pr}} ===動詞=== {{eo-head}} # [[有效]] ====變位==== {{eo-conj|intr=yes}} ===延伸閱讀=== * {{R:eo:PIV 2020}} * {{R:eo:ReVo}} ==芬蘭語== ===詞源=== {{internationalism|fi}}(參見{{cog|en|valid}}),最终源自{{der|fi|la|validus}}。 ===發音=== {{fi-p}} ===形容詞=== {{fi-adj|valid|impi|ein}} # [[有效]]的 ====變格==== {{fi-decl-risti|pos=adj|valid|||a}} ====派生詞彙==== {{col|fi |validisti |validiteetti |validius }} ====相關詞彙==== * {{l|fi|validiteetti}} ===延伸閱讀=== * {{R:fi:KTSK|accessdate=2023-07-04}} ===異序詞=== * {{anagrams|fi|a=adiilv|divali}} ==意大利語== ===形容詞=== {{head|it|形容詞變格形|g=m-p}} # {{adj form of|it|valido||m|p}} ===動詞=== {{head|it|動詞變位形式}} # {{inflection of|it|validare||2|s|pres|;|1//2//3|s|pres|subj|;|3|s|impr}} ===異序詞=== * {{anagrams|it|a=adiilv|Vidali|dilavi|livida}} ==拉丁語== ===形容詞=== {{head|la|形容詞變格形|head=validī}} # {{inflection of|la|validus||nom//voc|m|p|;|gen|m//n|s}} fr1hobu237q9pxc7ktml9ch0f2h7moh validis 0 3433737 9753298 2026-05-06T06:44:41Z TongcyBot 83009 半自動導入非詞元形式 9753298 wikitext text/x-wiki ==拉丁語== ===形容詞=== {{head|la|形容詞變格形|head=validīs}} # {{inflection of|la|validus||dat//abl|m//f//n|p}} cuugva1g1514l6pnqs8m232t3d7pun0 validou 0 3433738 9753299 2026-05-06T06:44:43Z TongcyBot 83009 半自動導入非詞元形式 9753299 wikitext text/x-wiki ==葡萄牙語== ===動詞=== {{head|pt|動詞變位形式}} # {{pt-verb form of|validar}} dlitofm44z7iyha0pyc4s8lebbmmss0 validá 0 3433739 9753300 2026-05-06T06:44:44Z TongcyBot 83009 半自動導入非詞元形式 9753300 wikitext text/x-wiki {{also|valida|válida|vàlida}} ==西班牙語== ===動詞=== {{head|es|動詞變位形式}} # {{es-verb form of|validar}} 3y1ixqk7mbepumgoo9nhggiehv8utjz validábamos 0 3433740 9753301 2026-05-06T06:44:46Z TongcyBot 83009 半自動導入非詞元形式 9753301 wikitext text/x-wiki ==西班牙語== ===動詞=== {{head|es|動詞變位形式}} # {{es-verb form of|validar}} 9rknu8i59birhzbkgvnm4r2jl67m5t0 validáis 0 3433741 9753302 2026-05-06T06:44:47Z TongcyBot 83009 半自動導入非詞元形式 9753302 wikitext text/x-wiki {{also|validais}} ==西班牙語== ===動詞=== {{head|es|動詞變位形式}} # {{es-verb form of|validar}} jrssl5u7jvcj3zftmvcf4eu07z60d6o validámos 0 3433742 9753303 2026-05-06T06:44:49Z TongcyBot 83009 半自動導入非詞元形式 9753303 wikitext text/x-wiki {{also|validamos}} ==葡萄牙語== ===動詞=== {{head|pt|動詞變位形式}} # {{pt-verb form of|validar}} fyoqf1headxfkykt2bzgr4z11zpans1 validándola 0 3433743 9753304 2026-05-06T06:44:50Z TongcyBot 83009 半自動導入非詞元形式 9753304 wikitext text/x-wiki ==西班牙語== ===動詞=== {{head|es|動詞變位形式}} # {{es-verb form of|validar}} 9rknu8i59birhzbkgvnm4r2jl67m5t0 validándolas 0 3433744 9753305 2026-05-06T06:44:52Z TongcyBot 83009 半自動導入非詞元形式 9753305 wikitext text/x-wiki ==西班牙語== ===動詞=== {{head|es|動詞變位形式}} # {{es-verb form of|validar}} 9rknu8i59birhzbkgvnm4r2jl67m5t0 validándole 0 3433745 9753306 2026-05-06T06:44:53Z TongcyBot 83009 半自動導入非詞元形式 9753306 wikitext text/x-wiki ==西班牙語== ===動詞=== {{head|es|動詞變位形式}} # {{es-verb form of|validar}} 9rknu8i59birhzbkgvnm4r2jl67m5t0 validándoles 0 3433746 9753307 2026-05-06T06:44:54Z TongcyBot 83009 半自動導入非詞元形式 9753307 wikitext text/x-wiki ==西班牙語== ===動詞=== {{head|es|動詞變位形式}} # {{es-verb form of|validar}} 9rknu8i59birhzbkgvnm4r2jl67m5t0 validándolo 0 3433747 9753308 2026-05-06T06:44:55Z TongcyBot 83009 半自動導入非詞元形式 9753308 wikitext text/x-wiki ==西班牙語== ===動詞=== {{head|es|動詞變位形式}} # {{es-verb form of|validar}} 9rknu8i59birhzbkgvnm4r2jl67m5t0 validándolos 0 3433748 9753309 2026-05-06T06:44:56Z TongcyBot 83009 半自動導入非詞元形式 9753309 wikitext text/x-wiki ==西班牙語== ===動詞=== {{head|es|動詞變位形式}} # {{es-verb form of|validar}} 9rknu8i59birhzbkgvnm4r2jl67m5t0 validándome 0 3433749 9753310 2026-05-06T06:44:58Z TongcyBot 83009 半自動導入非詞元形式 9753310 wikitext text/x-wiki ==西班牙語== ===動詞=== {{head|es|動詞變位形式}} # {{es-verb form of|validar}} 9rknu8i59birhzbkgvnm4r2jl67m5t0 validándonos 0 3433750 9753311 2026-05-06T06:44:59Z TongcyBot 83009 半自動導入非詞元形式 9753311 wikitext text/x-wiki ==西班牙語== ===動詞=== {{head|es|動詞變位形式}} # {{es-verb form of|validar}} 9rknu8i59birhzbkgvnm4r2jl67m5t0 validándoos 0 3433751 9753312 2026-05-06T06:45:01Z TongcyBot 83009 半自動導入非詞元形式 9753312 wikitext text/x-wiki ==西班牙語== ===動詞=== {{head|es|動詞變位形式}} # {{es-verb form of|validar}} 9rknu8i59birhzbkgvnm4r2jl67m5t0 validándose 0 3433752 9753313 2026-05-06T06:45:02Z TongcyBot 83009 半自動導入非詞元形式 9753313 wikitext text/x-wiki ==西班牙語== ===動詞=== {{head|es|動詞變位形式}} # {{es-verb form of|validar}} 9rknu8i59birhzbkgvnm4r2jl67m5t0 validándote 0 3433753 9753314 2026-05-06T06:45:05Z TongcyBot 83009 半自動導入非詞元形式 9753314 wikitext text/x-wiki ==西班牙語== ===動詞=== {{head|es|動詞變位形式}} # {{es-verb form of|validar}} 9rknu8i59birhzbkgvnm4r2jl67m5t0 validáramos 0 3433754 9753315 2026-05-06T06:45:05Z TongcyBot 83009 半自動導入非詞元形式 9753315 wikitext text/x-wiki ==葡萄牙語== ===動詞=== {{head|pt|動詞變位形式}} # {{pt-verb form of|validar}} ==西班牙語== ===發音=== {{es-pr}} ===動詞=== {{head|es|動詞變位形式}} # {{es-verb form of|validar}} iesxvw5n0dz352b3vqny1fidcounu5e validáreis 0 3433755 9753316 2026-05-06T06:45:07Z TongcyBot 83009 半自動導入非詞元形式 9753316 wikitext text/x-wiki {{also|validareis|validaréis}} ==葡萄牙語== ===動詞=== {{head|pt|動詞變位形式}} # {{pt-verb form of|validar}} iwbs3pvhi6wby5svsvavef0er7mz5vz validáremos 0 3433756 9753317 2026-05-06T06:45:08Z TongcyBot 83009 半自動導入非詞元形式 9753317 wikitext text/x-wiki {{also|validaremos}} ==西班牙語== ===動詞=== {{head|es|動詞變位形式}} # {{es-verb form of|validar}} 5y4934fntrzhv3hm5ucmcjeuvmz76eg validás 0 3433757 9753318 2026-05-06T06:45:10Z TongcyBot 83009 半自動導入非詞元形式 9753318 wikitext text/x-wiki {{also|validas|válidas}} ==西班牙語== ===動詞=== {{head|es|動詞變位形式}} # {{es-verb form of|validar}} m54asdzh1cfuzt75twwgiq027t8gnw4 validásemos 0 3433758 9753319 2026-05-06T06:45:11Z TongcyBot 83009 半自動導入非詞元形式 9753319 wikitext text/x-wiki ==西班牙語== ===動詞=== {{head|es|動詞變位形式}} # {{es-verb form of|validar}} 9rknu8i59birhzbkgvnm4r2jl67m5t0 validásseis 0 3433759 9753320 2026-05-06T06:45:13Z TongcyBot 83009 半自動導入非詞元形式 9753320 wikitext text/x-wiki ==葡萄牙語== ===動詞=== {{head|pt|動詞變位形式}} # {{pt-verb form of|validar}} dlitofm44z7iyha0pyc4s8lebbmmss0 validássemos 0 3433760 9753321 2026-05-06T06:45:14Z TongcyBot 83009 半自動導入非詞元形式 9753321 wikitext text/x-wiki ==葡萄牙語== ===動詞=== {{head|pt|動詞變位形式}} # {{pt-verb form of|validar}} dlitofm44z7iyha0pyc4s8lebbmmss0 validávamos 0 3433761 9753322 2026-05-06T06:45:15Z TongcyBot 83009 半自動導入非詞元形式 9753322 wikitext text/x-wiki ==葡萄牙語== ===動詞=== {{head|pt|動詞變位形式}} # {{pt-verb form of|validar}} dlitofm44z7iyha0pyc4s8lebbmmss0 validáveis 0 3433762 9753323 2026-05-06T06:45:16Z TongcyBot 83009 半自動導入非詞元形式 9753323 wikitext text/x-wiki ==葡萄牙語== ===動詞=== {{head|pt|動詞變位形式}} # {{pt-verb form of|validar}} dlitofm44z7iyha0pyc4s8lebbmmss0 validé 0 3433763 9753324 2026-05-06T06:45:18Z TongcyBot 83009 半自動導入非詞元形式 9753324 wikitext text/x-wiki {{also|valide}} ==法語== ===分詞=== {{fr-past participle}} # {{past participle of|fr|valider}} ==皮埃蒙特語== ===發音=== * {{IPA|pms|/valiˈde/}} ===動詞=== {{head|pms|動詞}} # to [[validate]] ==西班牙語== ===動詞=== {{head|es|動詞變位形式}} # {{es-verb form of|validar}} 7vz2vrdd9ay3ih8jey31q0z3vosiuq1 9753746 9753324 2026-05-06T07:25:55Z Sayonzei 40728 /* 動詞 */ 9753746 wikitext text/x-wiki {{also|valide}} ==法語== ===分詞=== {{fr-past participle}} # {{past participle of|fr|valider}} ==皮埃蒙特語== ===發音=== * {{IPA|pms|/valiˈde/}} ===動詞=== {{head|pms|動詞}} # [[確認]],[[驗證]] ==西班牙語== ===動詞=== {{head|es|動詞變位形式}} # {{es-verb form of|validar}} m6yoba2nvap0nm2a2cs6dfy0iawu9uh validéis 0 3433764 9753325 2026-05-06T06:45:19Z TongcyBot 83009 半自動導入非詞元形式 9753325 wikitext text/x-wiki {{also|valideis}} ==西班牙語== ===動詞=== {{head|es|動詞變位形式}} # {{es-verb form of|validar}} ak1selr4jn3epq6h15o09el4cy4ikms validés 0 3433765 9753326 2026-05-06T06:45:20Z TongcyBot 83009 半自動導入非詞元形式 9753326 wikitext text/x-wiki {{also|valides|vàlides}} ==法語== ===分詞=== {{head|fr|過去分詞變格形|g=m-p}} # {{masculine plural of|fr|validé}} ==西班牙語== ===動詞=== {{head|es|動詞變位形式}} # {{es-verb form of|validar}} evv2dg3a69t21wrn4ytd8xwfo05gzk1 validó 0 3433766 9753327 2026-05-06T06:45:21Z TongcyBot 83009 半自動導入非詞元形式 9753327 wikitext text/x-wiki {{also|valido|válido|validò}} ==西班牙語== ===動詞=== {{head|es|動詞變位形式}} # {{es-verb form of|validar}} db69q8otdry8m0cevcoeix2ej82r5io valorice 0 3433767 9753328 2026-05-06T06:45:22Z TongcyBot 83009 半自動導入非詞元形式 9753328 wikitext text/x-wiki {{also|valoricé}} ==西班牙語== ===動詞=== {{head|es|動詞變位形式}} # {{es-verb form of|valorizar}} ktiuh81768znza5j4o1cwkxp8rbe7wu valoricemos 0 3433768 9753329 2026-05-06T06:45:24Z TongcyBot 83009 半自動導入非詞元形式 9753329 wikitext text/x-wiki ==西班牙語== ===動詞=== {{head|es|動詞變位形式}} # {{es-verb form of|valorizar}} f7cle3a8qixw85thxb7kxjpi629rl9r valoricen 0 3433769 9753330 2026-05-06T06:45:25Z TongcyBot 83009 半自動導入非詞元形式 9753330 wikitext text/x-wiki ==西班牙語== ===動詞=== {{head|es|動詞變位形式}} # {{es-verb form of|valorizar}} f7cle3a8qixw85thxb7kxjpi629rl9r valorices 0 3433770 9753331 2026-05-06T06:45:26Z TongcyBot 83009 半自動導入非詞元形式 9753331 wikitext text/x-wiki {{also|valoricés}} ==西班牙語== ===動詞=== {{head|es|動詞變位形式}} # {{es-verb form of|valorizar}} 5l8o4yajps6py173p6chfqelcprxz3k valoricé 0 3433771 9753332 2026-05-06T06:45:27Z TongcyBot 83009 半自動導入非詞元形式 9753332 wikitext text/x-wiki {{also|valorice}} ==西班牙語== ===動詞=== {{head|es|動詞變位形式}} # {{es-verb form of|valorizar}} 6xhu4pxkrx4vil22um4cbio34swmr0m valoricéis 0 3433772 9753333 2026-05-06T06:45:28Z TongcyBot 83009 半自動導入非詞元形式 9753333 wikitext text/x-wiki ==西班牙語== ===動詞=== {{head|es|動詞變位形式}} # {{es-verb form of|valorizar}} f7cle3a8qixw85thxb7kxjpi629rl9r valoricés 0 3433773 9753334 2026-05-06T06:45:29Z TongcyBot 83009 半自動導入非詞元形式 9753334 wikitext text/x-wiki {{also|valorices}} ==西班牙語== ===動詞=== {{head|es|動詞變位形式}} # {{es-verb form of|valorizar}} 3n2g9o3oovmtwgtgkaahjk5x7itydyy valoriza 0 3433774 9753335 2026-05-06T06:45:31Z TongcyBot 83009 半自動導入非詞元形式 9753335 wikitext text/x-wiki {{also|valorizá}} ==葡萄牙語== ===動詞=== {{head|pt|動詞變位形式}} # {{pt-verb form of|valorizar}} ==羅馬尼亞語== ===詞源=== {{bor+|ro|fr|valoriser}}。 ===動詞=== {{ro-verb|conj=1|valorizează|valorizat}} # to [[valorize]] ====變位==== {{ro-conj-a-ez}} ==西班牙語== ===動詞=== {{head|es|動詞變位形式}} # {{es-verb form of|valorizar}} d4rimgom2gmeq4k7yi1vyfb6b4t2cjx 9753741 9753335 2026-05-06T07:24:09Z Sayonzei 40728 /* 動詞 */ 9753741 wikitext text/x-wiki {{also|valorizá}} ==葡萄牙語== ===動詞=== {{head|pt|動詞變位形式}} # {{pt-verb form of|valorizar}} ==羅馬尼亞語== ===詞源=== {{bor+|ro|fr|valoriser}}。 ===動詞=== {{ro-verb|conj=1|valorizează|valorizat}} # 使有[[價值]],[[賦予]]價值 #(通過補貼)[[維持]][[價格]] ====變位==== {{ro-conj-a-ez}} ==西班牙語== ===動詞=== {{head|es|動詞變位形式}} # {{es-verb form of|valorizar}} 37buieu6nvzknrs8jfa24iq0j6na89f valorizaba 0 3433775 9753336 2026-05-06T06:45:32Z TongcyBot 83009 半自動導入非詞元形式 9753336 wikitext text/x-wiki ==西班牙語== ===動詞=== {{head|es|動詞變位形式}} # {{es-verb form of|valorizar}} f7cle3a8qixw85thxb7kxjpi629rl9r valorizabais 0 3433776 9753337 2026-05-06T06:45:33Z TongcyBot 83009 半自動導入非詞元形式 9753337 wikitext text/x-wiki ==西班牙語== ===動詞=== {{head|es|動詞變位形式}} # {{es-verb form of|valorizar}} f7cle3a8qixw85thxb7kxjpi629rl9r valorizaban 0 3433777 9753338 2026-05-06T06:45:34Z TongcyBot 83009 半自動導入非詞元形式 9753338 wikitext text/x-wiki ==西班牙語== ===動詞=== {{head|es|動詞變位形式}} # {{es-verb form of|valorizar}} f7cle3a8qixw85thxb7kxjpi629rl9r valorizabas 0 3433778 9753339 2026-05-06T06:45:36Z TongcyBot 83009 半自動導入非詞元形式 9753339 wikitext text/x-wiki ==西班牙語== ===動詞=== {{head|es|動詞變位形式}} # {{es-verb form of|valorizar}} f7cle3a8qixw85thxb7kxjpi629rl9r valorizad 0 3433779 9753340 2026-05-06T06:45:37Z TongcyBot 83009 半自動導入非詞元形式 9753340 wikitext text/x-wiki ==西班牙語== ===動詞=== {{head|es|動詞變位形式}} # {{es-verb form of|valorizar}} f7cle3a8qixw85thxb7kxjpi629rl9r valorizada 0 3433780 9753341 2026-05-06T06:45:38Z TongcyBot 83009 半自動導入非詞元形式 9753341 wikitext text/x-wiki ==葡萄牙語== ===分詞=== {{head|pt|過去分詞變格形|g=f-s}} # {{feminine singular of|pt|valorizado}} ==西班牙語== ===發音=== {{es-pr}} ===分詞=== {{head|es|過去分詞變格形|g=f-s}} # {{feminine singular of|es|valorizado}} 1ukbx60vmciv5mvdwfbl8u9vdlyf0rh valorizadas 0 3433781 9753342 2026-05-06T06:45:39Z TongcyBot 83009 半自動導入非詞元形式 9753342 wikitext text/x-wiki ==葡萄牙語== ===分詞=== {{head|pt|過去分詞變格形|g=f-p}} # {{feminine plural of|pt|valorizado}} ==西班牙語== ===發音=== {{es-pr}} ===分詞=== {{head|es|過去分詞變格形|g=f-p}} # {{feminine plural of|es|valorizado}} qdmglw5c5eb3lkbjj1nwukrotv2vaa9 valorizado 0 3433782 9753343 2026-05-06T06:45:41Z TongcyBot 83009 半自動導入非詞元形式 9753343 wikitext text/x-wiki ==葡萄牙語== ===分詞=== {{pt-pp}} # {{past participle of|pt|valorizar}} ==西班牙語== ===發音=== {{es-pr}} ===分詞=== {{es-past participle}} # {{past participle of|es|valorizar}} 17lgsk8ah734bthxaz8bv45ggo2elcv valorizados 0 3433783 9753344 2026-05-06T06:45:42Z TongcyBot 83009 半自動導入非詞元形式 9753344 wikitext text/x-wiki ==葡萄牙語== ===分詞=== {{head|pt|過去分詞變格形|g=m-p}} # {{masculine plural of|pt|valorizado}} ==西班牙語== ===發音=== {{es-pr}} ===分詞=== {{head|es|過去分詞變格形|g=m-p}} # {{masculine plural of|es|valorizado}} cnmmsgeqm8ddmom4si2smvys58unlfp valorizai 0 3433784 9753345 2026-05-06T06:45:43Z TongcyBot 83009 半自動導入非詞元形式 9753345 wikitext text/x-wiki ==葡萄牙語== ===動詞=== {{head|pt|動詞變位形式}} # {{pt-verb form of|valorizar}} 0bgllpeh0xck7pxdqk2gofbs39b7fbc valorizais 0 3433785 9753346 2026-05-06T06:45:44Z TongcyBot 83009 半自動導入非詞元形式 9753346 wikitext text/x-wiki {{also|valorizáis}} ==葡萄牙語== ===動詞=== {{head|pt|動詞變位形式}} # {{pt-verb form of|valorizar}} 7wjuabjtxft306z7s4bw0qtel6qtkca valorizam 0 3433786 9753347 2026-05-06T06:45:45Z TongcyBot 83009 半自動導入非詞元形式 9753347 wikitext text/x-wiki ==葡萄牙語== ===動詞=== {{head|pt|動詞變位形式}} # {{pt-verb form of|valorizar}} 0bgllpeh0xck7pxdqk2gofbs39b7fbc valorizamos 0 3433787 9753348 2026-05-06T06:45:47Z TongcyBot 83009 半自動導入非詞元形式 9753348 wikitext text/x-wiki {{also|valorizámos}} ==葡萄牙語== ===動詞=== {{head|pt|動詞變位形式}} # {{pt-verb form of|valorizar}} ==西班牙語== ===動詞=== {{head|es|動詞變位形式}} # {{es-verb form of|valorizar}} czjintmdjsmidrncfokjnipbhacur2u valorizan 0 3433788 9753349 2026-05-06T06:45:48Z TongcyBot 83009 半自動導入非詞元形式 9753349 wikitext text/x-wiki ==西班牙語== ===動詞=== {{head|es|動詞變位形式}} # {{es-verb form of|valorizar}} f7cle3a8qixw85thxb7kxjpi629rl9r valorizando 0 3433789 9753350 2026-05-06T06:45:49Z TongcyBot 83009 半自動導入非詞元形式 9753350 wikitext text/x-wiki ==葡萄牙語== ===動詞=== {{head|pt|動名詞}} # {{pt-verb form of|valorizar}} ==西班牙語== ===動詞=== {{head|es|動名詞}} # {{es-verb form of|valorizar}} c88yqe62ajwthqobgz12oce7ruwlett valorizara 0 3433790 9753351 2026-05-06T06:45:50Z TongcyBot 83009 半自動導入非詞元形式 9753351 wikitext text/x-wiki {{also|valorizará}} ==葡萄牙語== ===動詞=== {{head|pt|動詞變位形式}} # {{pt-verb form of|valorizar}} ==西班牙語== ===動詞=== {{head|es|動詞變位形式}} # {{es-verb form of|valorizar}} mtv6nfss1h2wx5c5ps0lm16ffnamte5 valorizarais 0 3433791 9753352 2026-05-06T06:45:51Z TongcyBot 83009 半自動導入非詞元形式 9753352 wikitext text/x-wiki ==西班牙語== ===動詞=== {{head|es|動詞變位形式}} # {{es-verb form of|valorizar}} f7cle3a8qixw85thxb7kxjpi629rl9r valorizaram 0 3433792 9753353 2026-05-06T06:45:52Z TongcyBot 83009 半自動導入非詞元形式 9753353 wikitext text/x-wiki ==葡萄牙語== ===動詞=== {{head|pt|動詞變位形式}} # {{pt-verb form of|valorizar}} 0bgllpeh0xck7pxdqk2gofbs39b7fbc valorizaran 0 3433793 9753354 2026-05-06T06:45:53Z TongcyBot 83009 半自動導入非詞元形式 9753354 wikitext text/x-wiki {{also|valorizarán}} ==西班牙語== ===動詞=== {{head|es|動詞變位形式}} # {{es-verb form of|valorizar}} 9fl7zkw95bb8oxum0v8i1znzah7gs75 valorizaras 0 3433794 9753355 2026-05-06T06:45:55Z TongcyBot 83009 半自動導入非詞元形式 9753355 wikitext text/x-wiki {{also|valorizarás}} ==葡萄牙語== ===動詞=== {{head|pt|動詞變位形式}} # {{pt-verb form of|valorizar}} ==西班牙語== ===動詞=== {{head|es|動詞變位形式}} # {{es-verb form of|valorizar}} qdej873dmxu66v5fbygv6hjokbt2vlt valorizardes 0 3433795 9753356 2026-05-06T06:45:56Z TongcyBot 83009 半自動導入非詞元形式 9753356 wikitext text/x-wiki ==葡萄牙語== ===動詞=== {{head|pt|動詞變位形式}} # {{pt-verb form of|valorizar}} 0bgllpeh0xck7pxdqk2gofbs39b7fbc valorizare 0 3433796 9753357 2026-05-06T06:45:58Z TongcyBot 83009 半自動導入非詞元形式 9753357 wikitext text/x-wiki {{also|valorizaré}} ==羅馬尼亞語== ===詞源=== 源自 {{suffix|ro|valoriza|-re}}。 ===名詞=== {{ro-noun|f|valorizări}} # [[valorisation]] ====變格==== {{ro-noun-f-e|valorizar|valorizăr}} ==西班牙語== ===動詞=== {{head|es|動詞變位形式}} # {{es-verb form of|valorizar}} kavnyh5f4a54b6e8rvn6evzntvro0z7 9753742 9753357 2026-05-06T07:24:30Z Sayonzei 40728 9753742 wikitext text/x-wiki {{also|valorizaré}} ==羅馬尼亞語== ===詞源=== 源自 {{suffix|ro|valoriza|-re}}。 ===名詞=== {{ro-noun|f|valorizări}} # [[賦予]][[價值]] #(通過補貼)[[維持]][[價格]] ====變格==== {{ro-noun-f-e|valorizar|valorizăr}} ==西班牙語== ===動詞=== {{head|es|動詞變位形式}} # {{es-verb form of|valorizar}} ac62tu8cefbiyo2b02hms4xkfnq40fo valorizarei 0 3433797 9753358 2026-05-06T06:45:58Z TongcyBot 83009 半自動導入非詞元形式 9753358 wikitext text/x-wiki ==葡萄牙語== ===動詞=== {{head|pt|動詞變位形式}} # {{pt-verb form of|valorizar}} 0bgllpeh0xck7pxdqk2gofbs39b7fbc valorizareis 0 3433798 9753359 2026-05-06T06:46:01Z TongcyBot 83009 半自動導入非詞元形式 9753359 wikitext text/x-wiki {{also|valorizáreis|valorizaréis}} ==葡萄牙語== ===動詞=== {{head|pt|動詞變位形式}} # {{pt-verb form of|valorizar}} ==西班牙語== ===動詞=== {{head|es|動詞變位形式}} # {{es-verb form of|valorizar}} lzw7hpc8wjr9p2co5w7mkpodsnes29h valorizarem 0 3433799 9753360 2026-05-06T06:46:02Z TongcyBot 83009 半自動導入非詞元形式 9753360 wikitext text/x-wiki ==葡萄牙語== ===動詞=== {{head|pt|動詞變位形式}} # {{pt-verb form of|valorizar}} 0bgllpeh0xck7pxdqk2gofbs39b7fbc valorizaremos 0 3433800 9753361 2026-05-06T06:46:03Z TongcyBot 83009 半自動導入非詞元形式 9753361 wikitext text/x-wiki {{also|valorizáremos}} ==葡萄牙語== ===動詞=== {{head|pt|動詞變位形式}} # {{pt-verb form of|valorizar}} ==西班牙語== ===動詞=== {{head|es|動詞變位形式}} # {{es-verb form of|valorizar}} nhiqbfvjxh8lxs8jr1k4i3vcqpxpae9 valorizaren 0 3433801 9753362 2026-05-06T06:46:04Z TongcyBot 83009 半自動導入非詞元形式 9753362 wikitext text/x-wiki ==西班牙語== ===動詞=== {{head|es|動詞變位形式}} # {{es-verb form of|valorizar}} f7cle3a8qixw85thxb7kxjpi629rl9r valorizares 0 3433802 9753363 2026-05-06T06:46:06Z TongcyBot 83009 半自動導入非詞元形式 9753363 wikitext text/x-wiki ==葡萄牙語== ===動詞=== {{head|pt|動詞變位形式}} # {{pt-verb form of|valorizar}} ==西班牙語== ===動詞=== {{head|es|動詞變位形式}} # {{es-verb form of|valorizar}} 5ep0x4zcq4mt007r3e1dyl8cto1x1ka valorizaria 0 3433803 9753364 2026-05-06T06:46:07Z TongcyBot 83009 半自動導入非詞元形式 9753364 wikitext text/x-wiki {{also|valorizaría}} ==葡萄牙語== ===動詞=== {{head|pt|動詞變位形式}} # {{pt-verb form of|valorizar}} iem8torq06fqnxht4ce2ex5mfkomyqy valorizariam 0 3433804 9753365 2026-05-06T06:46:09Z TongcyBot 83009 半自動導入非詞元形式 9753365 wikitext text/x-wiki ==葡萄牙語== ===動詞=== {{head|pt|動詞變位形式}} # {{pt-verb form of|valorizar}} 0bgllpeh0xck7pxdqk2gofbs39b7fbc valorizarias 0 3433805 9753366 2026-05-06T06:46:10Z TongcyBot 83009 半自動導入非詞元形式 9753366 wikitext text/x-wiki {{also|valorizarías}} ==葡萄牙語== ===動詞=== {{head|pt|動詞變位形式}} # {{pt-verb form of|valorizar}} 8olhsae358idkslhz1tl9xkkkfghlbp valorizarla 0 3433806 9753367 2026-05-06T06:46:11Z TongcyBot 83009 半自動導入非詞元形式 9753367 wikitext text/x-wiki ==西班牙語== ===動詞=== {{head|es|動詞變位形式}} # {{es-verb form of|valorizar}} f7cle3a8qixw85thxb7kxjpi629rl9r valorizarlas 0 3433807 9753368 2026-05-06T06:46:13Z TongcyBot 83009 半自動導入非詞元形式 9753368 wikitext text/x-wiki ==西班牙語== ===動詞=== {{head|es|動詞變位形式}} # {{es-verb form of|valorizar}} f7cle3a8qixw85thxb7kxjpi629rl9r valorizarle 0 3433808 9753369 2026-05-06T06:46:14Z TongcyBot 83009 半自動導入非詞元形式 9753369 wikitext text/x-wiki ==西班牙語== ===動詞=== {{head|es|動詞變位形式}} # {{es-verb form of|valorizar}} f7cle3a8qixw85thxb7kxjpi629rl9r valorizarles 0 3433809 9753370 2026-05-06T06:46:15Z TongcyBot 83009 半自動導入非詞元形式 9753370 wikitext text/x-wiki ==西班牙語== ===動詞=== {{head|es|動詞變位形式}} # {{es-verb form of|valorizar}} f7cle3a8qixw85thxb7kxjpi629rl9r valorizarlo 0 3433810 9753371 2026-05-06T06:46:17Z TongcyBot 83009 半自動導入非詞元形式 9753371 wikitext text/x-wiki ==西班牙語== ===動詞=== {{head|es|動詞變位形式}} # {{es-verb form of|valorizar}} f7cle3a8qixw85thxb7kxjpi629rl9r valorizarlos 0 3433811 9753372 2026-05-06T06:46:18Z TongcyBot 83009 半自動導入非詞元形式 9753372 wikitext text/x-wiki ==西班牙語== ===動詞=== {{head|es|動詞變位形式}} # {{es-verb form of|valorizar}} f7cle3a8qixw85thxb7kxjpi629rl9r valorizarme 0 3433812 9753373 2026-05-06T06:46:19Z TongcyBot 83009 半自動導入非詞元形式 9753373 wikitext text/x-wiki ==西班牙語== ===動詞=== {{head|es|動詞變位形式}} # {{es-verb form of|valorizar}} f7cle3a8qixw85thxb7kxjpi629rl9r valorizarmos 0 3433813 9753374 2026-05-06T06:46:20Z TongcyBot 83009 半自動導入非詞元形式 9753374 wikitext text/x-wiki ==葡萄牙語== ===動詞=== {{head|pt|動詞變位形式}} # {{pt-verb form of|valorizar}} 0bgllpeh0xck7pxdqk2gofbs39b7fbc valorizarnos 0 3433814 9753375 2026-05-06T06:46:21Z TongcyBot 83009 半自動導入非詞元形式 9753375 wikitext text/x-wiki ==西班牙語== ===動詞=== {{head|es|動詞變位形式}} # {{es-verb form of|valorizar}} f7cle3a8qixw85thxb7kxjpi629rl9r valorizaron 0 3433815 9753376 2026-05-06T06:46:23Z TongcyBot 83009 半自動導入非詞元形式 9753376 wikitext text/x-wiki ==西班牙語== ===動詞=== {{head|es|動詞變位形式}} # {{es-verb form of|valorizar}} f7cle3a8qixw85thxb7kxjpi629rl9r valorizaros 0 3433816 9753377 2026-05-06T06:46:24Z TongcyBot 83009 半自動導入非詞元形式 9753377 wikitext text/x-wiki ==西班牙語== ===動詞=== {{head|es|動詞變位形式}} # {{es-verb form of|valorizar}} f7cle3a8qixw85thxb7kxjpi629rl9r valorizarse 0 3433817 9753378 2026-05-06T06:46:25Z TongcyBot 83009 半自動導入非詞元形式 9753378 wikitext text/x-wiki ==西班牙語== ===動詞=== {{head|es|動詞變位形式}} # {{es-verb form of|valorizar}} f7cle3a8qixw85thxb7kxjpi629rl9r valorizarte 0 3433818 9753379 2026-05-06T06:46:26Z TongcyBot 83009 半自動導入非詞元形式 9753379 wikitext text/x-wiki ==西班牙語== ===動詞=== {{head|es|動詞變位形式}} # {{es-verb form of|valorizar}} f7cle3a8qixw85thxb7kxjpi629rl9r valorizará 0 3433819 9753380 2026-05-06T06:46:27Z TongcyBot 83009 半自動導入非詞元形式 9753380 wikitext text/x-wiki {{also|valorizara}} ==葡萄牙語== ===動詞=== {{head|pt|動詞變位形式}} # {{pt-verb form of|valorizar}} ==西班牙語== ===動詞=== {{head|es|動詞變位形式}} # {{es-verb form of|valorizar}} aefghr6e5r74ta1honcot0oyg3as1sk valorizarán 0 3433820 9753381 2026-05-06T06:46:29Z TongcyBot 83009 半自動導入非詞元形式 9753381 wikitext text/x-wiki {{also|valorizaran}} ==西班牙語== ===動詞=== {{head|es|動詞變位形式}} # {{es-verb form of|valorizar}} 7zz32ygpr6rprzg4118km1qqtd7jev6 valorizarás 0 3433821 9753382 2026-05-06T06:46:30Z TongcyBot 83009 半自動導入非詞元形式 9753382 wikitext text/x-wiki {{also|valorizaras}} ==葡萄牙語== ===動詞=== {{head|pt|動詞變位形式}} # {{pt-verb form of|valorizar}} ==西班牙語== ===動詞=== {{head|es|動詞變位形式}} # {{es-verb form of|valorizar}} 8cjtkdb38l61cwor6kcwq5n1oix5314 valorizarão 0 3433822 9753383 2026-05-06T06:46:31Z TongcyBot 83009 半自動導入非詞元形式 9753383 wikitext text/x-wiki ==葡萄牙語== ===動詞=== {{head|pt|動詞變位形式}} # {{pt-verb form of|valorizar}} 0bgllpeh0xck7pxdqk2gofbs39b7fbc valorizaré 0 3433823 9753384 2026-05-06T06:46:33Z TongcyBot 83009 半自動導入非詞元形式 9753384 wikitext text/x-wiki {{also|valorizare}} ==西班牙語== ===動詞=== {{head|es|動詞變位形式}} # {{es-verb form of|valorizar}} jsy4k8vouwgt2vhvpvuzqc4ioe1p1g3 valorizaréis 0 3433824 9753385 2026-05-06T06:46:34Z TongcyBot 83009 半自動導入非詞元形式 9753385 wikitext text/x-wiki {{also|valorizareis|valorizáreis}} ==西班牙語== ===動詞=== {{head|es|動詞變位形式}} # {{es-verb form of|valorizar}} 9it0iqda2mrciaccowcrigl7ebvho3q valorizaría 0 3433825 9753386 2026-05-06T06:46:36Z TongcyBot 83009 半自動導入非詞元形式 9753386 wikitext text/x-wiki {{also|valorizaria}} ==西班牙語== ===動詞=== {{head|es|動詞變位形式}} # {{es-verb form of|valorizar}} 6l1cwcnjncat7onlypxzja9lb7a42rf valorizaríais 0 3433826 9753387 2026-05-06T06:46:36Z TongcyBot 83009 半自動導入非詞元形式 9753387 wikitext text/x-wiki ==西班牙語== ===動詞=== {{head|es|動詞變位形式}} # {{es-verb form of|valorizar}} f7cle3a8qixw85thxb7kxjpi629rl9r valorizaríamos 0 3433827 9753388 2026-05-06T06:46:39Z TongcyBot 83009 半自動導入非詞元形式 9753388 wikitext text/x-wiki ==葡萄牙語== ===動詞=== {{head|pt|動詞變位形式}} # {{pt-verb form of|valorizar}} ==西班牙語== ===動詞=== {{head|es|動詞變位形式}} # {{es-verb form of|valorizar}} 5ep0x4zcq4mt007r3e1dyl8cto1x1ka valorizarían 0 3433828 9753389 2026-05-06T06:46:40Z TongcyBot 83009 半自動導入非詞元形式 9753389 wikitext text/x-wiki ==西班牙語== ===動詞=== {{head|es|動詞變位形式}} # {{es-verb form of|valorizar}} f7cle3a8qixw85thxb7kxjpi629rl9r valorizarías 0 3433829 9753390 2026-05-06T06:46:41Z TongcyBot 83009 半自動導入非詞元形式 9753390 wikitext text/x-wiki {{also|valorizarias}} ==西班牙語== ===動詞=== {{head|es|動詞變位形式}} # {{es-verb form of|valorizar}} p30dag5ycojr90mnz4yvisvz9tcsds4 valorizaríeis 0 3433830 9753391 2026-05-06T06:46:42Z TongcyBot 83009 半自動導入非詞元形式 9753391 wikitext text/x-wiki ==葡萄牙語== ===動詞=== {{head|pt|動詞變位形式}} # {{pt-verb form of|valorizar}} 0bgllpeh0xck7pxdqk2gofbs39b7fbc valorizas 0 3433831 9753392 2026-05-06T06:46:43Z TongcyBot 83009 半自動導入非詞元形式 9753392 wikitext text/x-wiki {{also|valorizás}} ==葡萄牙語== ===動詞=== {{head|pt|動詞變位形式}} # {{pt-verb form of|valorizar}} ==西班牙語== ===動詞=== {{head|es|動詞變位形式}} # {{es-verb form of|valorizar}} afb5ua1yw48lf698935cdxbkj6oqy90 valorizase 0 3433832 9753393 2026-05-06T06:46:44Z TongcyBot 83009 半自動導入非詞元形式 9753393 wikitext text/x-wiki ==西班牙語== ===動詞=== {{head|es|動詞變位形式}} # {{es-verb form of|valorizar}} f7cle3a8qixw85thxb7kxjpi629rl9r valorizaseis 0 3433833 9753394 2026-05-06T06:46:46Z TongcyBot 83009 半自動導入非詞元形式 9753394 wikitext text/x-wiki ==西班牙語== ===動詞=== {{head|es|動詞變位形式}} # {{es-verb form of|valorizar}} f7cle3a8qixw85thxb7kxjpi629rl9r valorizasen 0 3433834 9753395 2026-05-06T06:46:47Z TongcyBot 83009 半自動導入非詞元形式 9753395 wikitext text/x-wiki ==西班牙語== ===動詞=== {{head|es|動詞變位形式}} # {{es-verb form of|valorizar}} f7cle3a8qixw85thxb7kxjpi629rl9r valorizases 0 3433835 9753396 2026-05-06T06:46:48Z TongcyBot 83009 半自動導入非詞元形式 9753396 wikitext text/x-wiki ==西班牙語== ===動詞=== {{head|es|動詞變位形式}} # {{es-verb form of|valorizar}} f7cle3a8qixw85thxb7kxjpi629rl9r valorizasse 0 3433836 9753397 2026-05-06T06:46:50Z TongcyBot 83009 半自動導入非詞元形式 9753397 wikitext text/x-wiki ==葡萄牙語== ===動詞=== {{head|pt|動詞變位形式}} # {{pt-verb form of|valorizar}} 0bgllpeh0xck7pxdqk2gofbs39b7fbc valorizassem 0 3433837 9753398 2026-05-06T06:46:51Z TongcyBot 83009 半自動導入非詞元形式 9753398 wikitext text/x-wiki ==葡萄牙語== ===動詞=== {{head|pt|動詞變位形式}} # {{pt-verb form of|valorizar}} 0bgllpeh0xck7pxdqk2gofbs39b7fbc valorizasses 0 3433838 9753399 2026-05-06T06:46:52Z TongcyBot 83009 半自動導入非詞元形式 9753399 wikitext text/x-wiki ==葡萄牙語== ===動詞=== {{head|pt|動詞變位形式}} # {{pt-verb form of|valorizar}} 0bgllpeh0xck7pxdqk2gofbs39b7fbc valorizaste 0 3433839 9753400 2026-05-06T06:46:53Z TongcyBot 83009 半自動導入非詞元形式 9753400 wikitext text/x-wiki ==葡萄牙語== ===動詞=== {{head|pt|動詞變位形式}} # {{pt-verb form of|valorizar}} ==西班牙語== ===動詞=== {{head|es|動詞變位形式}} # {{es-verb form of|valorizar}} 5ep0x4zcq4mt007r3e1dyl8cto1x1ka valorizasteis 0 3433840 9753401 2026-05-06T06:46:55Z TongcyBot 83009 半自動導入非詞元形式 9753401 wikitext text/x-wiki ==西班牙語== ===動詞=== {{head|es|動詞變位形式}} # {{es-verb form of|valorizar}} f7cle3a8qixw85thxb7kxjpi629rl9r valorizastes 0 3433841 9753402 2026-05-06T06:46:56Z TongcyBot 83009 半自動導入非詞元形式 9753402 wikitext text/x-wiki ==葡萄牙語== ===動詞=== {{head|pt|動詞變位形式}} # {{pt-verb form of|valorizar}} 0bgllpeh0xck7pxdqk2gofbs39b7fbc valorizava 0 3433842 9753403 2026-05-06T06:46:57Z TongcyBot 83009 半自動導入非詞元形式 9753403 wikitext text/x-wiki ==葡萄牙語== ===動詞=== {{head|pt|動詞變位形式}} # {{pt-verb form of|valorizar}} 0bgllpeh0xck7pxdqk2gofbs39b7fbc valorizavam 0 3433843 9753404 2026-05-06T06:46:59Z TongcyBot 83009 半自動導入非詞元形式 9753404 wikitext text/x-wiki ==葡萄牙語== ===動詞=== {{head|pt|動詞變位形式}} # {{pt-verb form of|valorizar}} 0bgllpeh0xck7pxdqk2gofbs39b7fbc valorizavas 0 3433844 9753405 2026-05-06T06:47:00Z TongcyBot 83009 半自動導入非詞元形式 9753405 wikitext text/x-wiki ==葡萄牙語== ===動詞=== {{head|pt|動詞變位形式}} # {{pt-verb form of|valorizar}} 0bgllpeh0xck7pxdqk2gofbs39b7fbc valorizei 0 3433845 9753406 2026-05-06T06:47:02Z TongcyBot 83009 半自動導入非詞元形式 9753406 wikitext text/x-wiki ==葡萄牙語== ===動詞=== {{head|pt|動詞變位形式}} # {{pt-verb form of|valorizar}} 0bgllpeh0xck7pxdqk2gofbs39b7fbc valorizeis 0 3433846 9753407 2026-05-06T06:47:03Z TongcyBot 83009 半自動導入非詞元形式 9753407 wikitext text/x-wiki ==葡萄牙語== ===動詞=== {{head|pt|動詞變位形式}} # {{pt-verb form of|valorizar}} 0bgllpeh0xck7pxdqk2gofbs39b7fbc valorizem 0 3433847 9753408 2026-05-06T06:47:04Z TongcyBot 83009 半自動導入非詞元形式 9753408 wikitext text/x-wiki ==葡萄牙語== ===動詞=== {{head|pt|動詞變位形式}} # {{pt-verb form of|valorizar}} 0bgllpeh0xck7pxdqk2gofbs39b7fbc valorizemos 0 3433848 9753409 2026-05-06T06:47:05Z TongcyBot 83009 半自動導入非詞元形式 9753409 wikitext text/x-wiki ==葡萄牙語== ===動詞=== {{head|pt|動詞變位形式}} # {{pt-verb form of|valorizar}} 0bgllpeh0xck7pxdqk2gofbs39b7fbc valorizes 0 3433849 9753410 2026-05-06T06:47:07Z TongcyBot 83009 半自動導入非詞元形式 9753410 wikitext text/x-wiki ==英語== ===動詞=== {{head|en|動詞變位形式}} # {{infl of|en|valorize||s-verb-form}} ==葡萄牙語== ===動詞=== {{head|pt|動詞變位形式}} # {{pt-verb form of|valorizar}} hjv5g5dacagrk5ra1x65w03po0shoqg valorizo 0 3433850 9753411 2026-05-06T06:47:08Z TongcyBot 83009 半自動導入非詞元形式 9753411 wikitext text/x-wiki {{also|valorizó}} ==葡萄牙語== ===動詞=== {{head|pt|動詞變位形式}} # {{pt-verb form of|valorizar}} ==西班牙語== ===動詞=== {{head|es|動詞變位形式}} # {{es-verb form of|valorizar}} g3xe5bz23rjufoua1qkyicx0ks2f6tg valorizou 0 3433851 9753412 2026-05-06T06:47:10Z TongcyBot 83009 半自動導入非詞元形式 9753412 wikitext text/x-wiki ==葡萄牙語== ===動詞=== {{head|pt|動詞變位形式}} # {{pt-verb form of|valorizar}} 0bgllpeh0xck7pxdqk2gofbs39b7fbc valorizá 0 3433852 9753413 2026-05-06T06:47:11Z TongcyBot 83009 半自動導入非詞元形式 9753413 wikitext text/x-wiki {{also|valoriza}} ==西班牙語== ===動詞=== {{head|es|動詞變位形式}} # {{es-verb form of|valorizar}} fk2alhwdipnhepp6cf7iyzej08vqye1 valorizábamos 0 3433853 9753414 2026-05-06T06:47:12Z TongcyBot 83009 半自動導入非詞元形式 9753414 wikitext text/x-wiki ==西班牙語== ===動詞=== {{head|es|動詞變位形式}} # {{es-verb form of|valorizar}} f7cle3a8qixw85thxb7kxjpi629rl9r valorizáis 0 3433854 9753415 2026-05-06T06:47:13Z TongcyBot 83009 半自動導入非詞元形式 9753415 wikitext text/x-wiki {{also|valorizais}} ==西班牙語== ===動詞=== {{head|es|動詞變位形式}} # {{es-verb form of|valorizar}} e957ysybc8dzy7vyb4ga60dttq0xfub valorizámos 0 3433855 9753416 2026-05-06T06:47:15Z TongcyBot 83009 半自動導入非詞元形式 9753416 wikitext text/x-wiki {{also|valorizamos}} ==葡萄牙語== ===其他形式=== * {{qualifier|Brazil}} {{l|pt|valorizamos}} ===動詞=== {{head|pt|動詞變位形式}} # {{pt-verb form of|valorizar}} 2xswoqtmp7hys9gb4zmuqp38iwpmak0 valorizándola 0 3433856 9753417 2026-05-06T06:47:16Z TongcyBot 83009 半自動導入非詞元形式 9753417 wikitext text/x-wiki ==西班牙語== ===動詞=== {{head|es|動詞變位形式}} # {{es-verb form of|valorizar}} f7cle3a8qixw85thxb7kxjpi629rl9r valorizándolas 0 3433857 9753418 2026-05-06T06:47:17Z TongcyBot 83009 半自動導入非詞元形式 9753418 wikitext text/x-wiki ==西班牙語== ===動詞=== {{head|es|動詞變位形式}} # {{es-verb form of|valorizar}} f7cle3a8qixw85thxb7kxjpi629rl9r valorizándole 0 3433858 9753419 2026-05-06T06:47:18Z TongcyBot 83009 半自動導入非詞元形式 9753419 wikitext text/x-wiki ==西班牙語== ===動詞=== {{head|es|動詞變位形式}} # {{es-verb form of|valorizar}} f7cle3a8qixw85thxb7kxjpi629rl9r valorizándoles 0 3433859 9753420 2026-05-06T06:47:19Z TongcyBot 83009 半自動導入非詞元形式 9753420 wikitext text/x-wiki ==西班牙語== ===動詞=== {{head|es|動詞變位形式}} # {{es-verb form of|valorizar}} f7cle3a8qixw85thxb7kxjpi629rl9r valorizándolo 0 3433860 9753421 2026-05-06T06:47:21Z TongcyBot 83009 半自動導入非詞元形式 9753421 wikitext text/x-wiki ==西班牙語== ===動詞=== {{head|es|動詞變位形式}} # {{es-verb form of|valorizar}} f7cle3a8qixw85thxb7kxjpi629rl9r valorizándolos 0 3433861 9753422 2026-05-06T06:47:22Z TongcyBot 83009 半自動導入非詞元形式 9753422 wikitext text/x-wiki ==西班牙語== ===動詞=== {{head|es|動詞變位形式}} # {{es-verb form of|valorizar}} f7cle3a8qixw85thxb7kxjpi629rl9r valorizándome 0 3433862 9753423 2026-05-06T06:47:23Z TongcyBot 83009 半自動導入非詞元形式 9753423 wikitext text/x-wiki ==西班牙語== ===動詞=== {{head|es|動詞變位形式}} # {{es-verb form of|valorizar}} f7cle3a8qixw85thxb7kxjpi629rl9r valorizándonos 0 3433863 9753424 2026-05-06T06:47:25Z TongcyBot 83009 半自動導入非詞元形式 9753424 wikitext text/x-wiki ==西班牙語== ===動詞=== {{head|es|動詞變位形式}} # {{es-verb form of|valorizar}} f7cle3a8qixw85thxb7kxjpi629rl9r valorizándoos 0 3433864 9753425 2026-05-06T06:47:26Z TongcyBot 83009 半自動導入非詞元形式 9753425 wikitext text/x-wiki ==西班牙語== ===動詞=== {{head|es|動詞變位形式}} # {{es-verb form of|valorizar}} f7cle3a8qixw85thxb7kxjpi629rl9r valorizándose 0 3433865 9753426 2026-05-06T06:47:28Z TongcyBot 83009 半自動導入非詞元形式 9753426 wikitext text/x-wiki ==西班牙語== ===動詞=== {{head|es|動詞變位形式}} # {{es-verb form of|valorizar}} f7cle3a8qixw85thxb7kxjpi629rl9r valorizándote 0 3433866 9753427 2026-05-06T06:47:29Z TongcyBot 83009 半自動導入非詞元形式 9753427 wikitext text/x-wiki ==西班牙語== ===動詞=== {{head|es|動詞變位形式}} # {{es-verb form of|valorizar}} f7cle3a8qixw85thxb7kxjpi629rl9r valorizáramos 0 3433867 9753428 2026-05-06T06:47:31Z TongcyBot 83009 半自動導入非詞元形式 9753428 wikitext text/x-wiki ==葡萄牙語== ===動詞=== {{head|pt|動詞變位形式}} # {{pt-verb form of|valorizar}} ==西班牙語== ===動詞=== {{head|es|動詞變位形式}} # {{es-verb form of|valorizar}} 5ep0x4zcq4mt007r3e1dyl8cto1x1ka valorizáreis 0 3433868 9753429 2026-05-06T06:47:31Z TongcyBot 83009 半自動導入非詞元形式 9753429 wikitext text/x-wiki {{also|valorizareis|valorizaréis}} ==葡萄牙語== ===動詞=== {{head|pt|動詞變位形式}} # {{pt-verb form of|valorizar}} bwi29yciuu27m7riljbcvhgzwyxecfb valorizáremos 0 3433869 9753430 2026-05-06T06:47:33Z TongcyBot 83009 半自動導入非詞元形式 9753430 wikitext text/x-wiki {{also|valorizaremos}} ==西班牙語== ===動詞=== {{head|es|動詞變位形式}} # {{es-verb form of|valorizar}} igkxm6863qp5h3ko2dju5lsfm4klf7u valorizás 0 3433870 9753431 2026-05-06T06:47:34Z TongcyBot 83009 半自動導入非詞元形式 9753431 wikitext text/x-wiki {{also|valorizas}} ==西班牙語== ===動詞=== {{head|es|動詞變位形式}} # {{es-verb form of|valorizar}} dse324rxp913arn6u8cr24c89cnadf4 valorizásemos 0 3433871 9753432 2026-05-06T06:47:36Z TongcyBot 83009 半自動導入非詞元形式 9753432 wikitext text/x-wiki ==西班牙語== ===動詞=== {{head|es|動詞變位形式}} # {{es-verb form of|valorizar}} f7cle3a8qixw85thxb7kxjpi629rl9r valorizásseis 0 3433872 9753433 2026-05-06T06:47:37Z TongcyBot 83009 半自動導入非詞元形式 9753433 wikitext text/x-wiki ==葡萄牙語== ===動詞=== {{head|pt|動詞變位形式}} # {{pt-verb form of|valorizar}} 0bgllpeh0xck7pxdqk2gofbs39b7fbc valorizássemos 0 3433873 9753434 2026-05-06T06:47:39Z TongcyBot 83009 半自動導入非詞元形式 9753434 wikitext text/x-wiki ==葡萄牙語== ===動詞=== {{head|pt|動詞變位形式}} # {{pt-verb form of|valorizar}} 0bgllpeh0xck7pxdqk2gofbs39b7fbc valorizávamos 0 3433874 9753435 2026-05-06T06:47:40Z TongcyBot 83009 半自動導入非詞元形式 9753435 wikitext text/x-wiki ==葡萄牙語== ===動詞=== {{head|pt|動詞變位形式}} # {{pt-verb form of|valorizar}} 0bgllpeh0xck7pxdqk2gofbs39b7fbc valorizáveis 0 3433875 9753436 2026-05-06T06:47:41Z TongcyBot 83009 半自動導入非詞元形式 9753436 wikitext text/x-wiki ==葡萄牙語== ===動詞=== {{head|pt|動詞變位形式}} # {{pt-verb form of|valorizar}} 0bgllpeh0xck7pxdqk2gofbs39b7fbc valorizó 0 3433876 9753437 2026-05-06T06:47:42Z TongcyBot 83009 半自動導入非詞元形式 9753437 wikitext text/x-wiki {{also|valorizo}} ==西班牙語== ===動詞=== {{head|es|動詞變位形式}} # {{es-verb form of|valorizar}} fqbl6ie69qv18ixiqxvohfnx9zcf473 violaba 0 3433877 9753438 2026-05-06T06:47:43Z TongcyBot 83009 半自動導入非詞元形式 9753438 wikitext text/x-wiki ==西班牙語== ===動詞=== {{head|es|動詞變位形式}} # {{es-verb form of|violar}} 72n095wd4ub5zrdn9uns5y2a4fxbn42 violabais 0 3433878 9753439 2026-05-06T06:47:45Z TongcyBot 83009 半自動導入非詞元形式 9753439 wikitext text/x-wiki ==西班牙語== ===動詞=== {{head|es|動詞變位形式}} # {{es-verb form of|violar}} 72n095wd4ub5zrdn9uns5y2a4fxbn42 violaban 0 3433879 9753440 2026-05-06T06:47:46Z TongcyBot 83009 半自動導入非詞元形式 9753440 wikitext text/x-wiki ==西班牙語== ===動詞=== {{head|es|動詞變位形式}} # {{es-verb form of|violar}} 72n095wd4ub5zrdn9uns5y2a4fxbn42 violabas 0 3433880 9753441 2026-05-06T06:47:48Z TongcyBot 83009 半自動導入非詞元形式 9753441 wikitext text/x-wiki ==拉丁語== ===動詞=== {{head|la|動詞變位形式|head=violābās}} # {{inflection of|la|violō||2|s|impf|actv|indc}} ==西班牙語== ===動詞=== {{head|es|動詞變位形式}} # {{es-verb form of|violar}} jef80ne0o719q0szu2xsrexl5xyxwg1 violad 0 3433881 9753442 2026-05-06T06:47:49Z TongcyBot 83009 半自動導入非詞元形式 9753442 wikitext text/x-wiki ==西班牙語== ===動詞=== {{head|es|動詞變位形式}} # {{es-verb form of|violar}} 72n095wd4ub5zrdn9uns5y2a4fxbn42 violada 0 3433882 9753443 2026-05-06T06:47:50Z TongcyBot 83009 半自動導入非詞元形式 9753443 wikitext text/x-wiki ==加泰羅尼亞語== ===發音=== * {{ca-IPA}} ===形容詞=== {{head|ca|形容詞變格形|g=f-s}} # {{feminine singular of|ca|violat}} ===分詞=== {{head|ca|過去分詞變格形|g=f-s}} # {{feminine singular of|ca|violat}} ==葡萄牙語== ===分詞=== {{head|pt|過去分詞變格形|g=f-s}} # {{feminine singular of|pt|violado}} ==西班牙語== ===發音=== {{es-pr}} ===形容詞=== {{head|es|形容詞變格形|g=f}} # {{adj form of|es|violado||f|s}} ===分詞=== {{head|es|過去分詞變格形|g=f-s}} # {{feminine singular of|es|violado}} sejhqqm9qq8j95d1iwxx1nvo8rw0v0m violadas 0 3433883 9753444 2026-05-06T06:47:52Z TongcyBot 83009 半自動導入非詞元形式 9753444 wikitext text/x-wiki ==葡萄牙語== ===分詞=== {{head|pt|過去分詞變格形|g=f-p}} # {{feminine plural of|pt|violado}} ==西班牙語== ===發音=== {{es-pr}} ===形容詞=== {{head|es|形容詞變格形|g=f-p}} # {{adj form of|es|violado||f|p}} ===分詞=== {{head|es|過去分詞變格形|g=f-p}} # {{feminine plural of|es|violado}} j66rnnl6739jpapy0lwqmewoc246t84 violades 0 3433884 9753445 2026-05-06T06:47:53Z TongcyBot 83009 半自動導入非詞元形式 9753445 wikitext text/x-wiki ==加泰羅尼亞語== ===發音=== * {{ca-IPA}} ===形容詞=== {{head|ca|形容詞變格形|g=f-p}} # {{feminine plural of|ca|violat}} ===分詞=== {{head|ca|過去分詞變格形|g=f-p}} # {{feminine plural of|ca|violat}} l9xa4j7f4c4bfmh3a5jv2e7b7kayt2k violados 0 3433885 9753446 2026-05-06T06:47:54Z TongcyBot 83009 半自動導入非詞元形式 9753446 wikitext text/x-wiki ==葡萄牙語== ===分詞=== {{head|pt|過去分詞變格形|g=m-p}} # {{masculine plural of|pt|violado}} ==西班牙語== ===發音=== {{es-pr}} ===形容詞=== {{head|es|形容詞變格形|g=m-p}} # {{adj form of|es|violado||m|p}} ===分詞=== {{head|es|過去分詞變格形|g=m-p}} # {{masculine plural of|es|violado}} mkrl6me64nhxwsfu0wx9elrayjrzntn violam 0 3433886 9753447 2026-05-06T06:47:55Z TongcyBot 83009 半自動導入非詞元形式 9753447 wikitext text/x-wiki {{also|violăm}} ==拉丁語== ===名詞=== {{head|la|名詞變格形}} # {{inflection of|la|viola||acc|s}} ==葡萄牙語== ===動詞=== {{head|pt|動詞變位形式}} # {{pt-verb form of|violar}} ==羅馬尼亞語== ===發音=== * {{IPA|ro|[vioˈlam]}} ===動詞=== {{head|ro|動詞變位形式}} # {{verb form of|ro|viola||1|s//p|impf|ind}} j41vxlqmbrfyziehutnsbmox327t7ic violamos 0 3433887 9753448 2026-05-06T06:47:56Z TongcyBot 83009 半自動導入非詞元形式 9753448 wikitext text/x-wiki {{also|violámos}} ==葡萄牙語== ===動詞=== {{head|pt|動詞變位形式}} # {{pt-verb form of|violar}} ==西班牙語== ===動詞=== {{head|es|動詞變位形式}} # {{es-verb form of|violar}} sihtpl5eerlumj9pook6dhocsfomfrw violando 0 3433888 9753449 2026-05-06T06:47:58Z TongcyBot 83009 半自動導入非詞元形式 9753449 wikitext text/x-wiki ==意大利語== ===動詞=== {{head|it|動名詞}} # {{gerund of|it|violare}} ==拉丁語== ===分詞=== {{head|la|分詞變格形|head=violandō}} # {{inflection of|la|violandus||dat//abl|m//n|s}} ==葡萄牙語== ===動詞=== {{head|pt|動名詞}} # {{pt-verb form of|violar}} ==西班牙語== ===動詞=== {{head|es|動名詞}} # {{es-verb form of|violar}} 6fnvg2ogyehqww7gc469ns1ol3le6s3 violara 0 3433889 9753450 2026-05-06T06:47:59Z TongcyBot 83009 半自動導入非詞元形式 9753450 wikitext text/x-wiki {{also|violará|violarà}} ==葡萄牙語== ===動詞=== {{head|pt|動詞變位形式}} # {{pt-verb form of|violar}} ==西班牙語== ===動詞=== {{head|es|動詞變位形式}} # {{es-verb form of|violar}} m824vtvovdmq5ot05v3ds8i8rpacvyz violarais 0 3433890 9753451 2026-05-06T06:48:00Z TongcyBot 83009 半自動導入非詞元形式 9753451 wikitext text/x-wiki ==西班牙語== ===動詞=== {{head|es|動詞變位形式}} # {{es-verb form of|violar}} 72n095wd4ub5zrdn9uns5y2a4fxbn42 violaram 0 3433891 9753452 2026-05-06T06:48:01Z TongcyBot 83009 半自動導入非詞元形式 9753452 wikitext text/x-wiki ==葡萄牙語== ===動詞=== {{head|pt|動詞變位形式}} # {{pt-verb form of|violar}} 1e9ecl7n52zmv9jexk1xy5p60qep2dd violaran 0 3433892 9753453 2026-05-06T06:48:03Z TongcyBot 83009 半自動導入非詞元形式 9753453 wikitext text/x-wiki {{also|violarán}} ==加泰羅尼亞語== ===動詞=== {{head|ca|動詞變位形式}} # {{ca-verb form of|violar}} ==西班牙語== ===動詞=== {{head|es|動詞變位形式}} # {{es-verb form of|violar}} atp8gbjrh194gjw9j6v8ugnvtgjd7vf violaras 0 3433893 9753454 2026-05-06T06:48:04Z TongcyBot 83009 半自動導入非詞元形式 9753454 wikitext text/x-wiki {{also|violarás|violaràs}} ==拉丁語== ===動詞=== {{head|la|動詞變位形式|head=violārās}} # {{inflection of|la|violō||2|s|plup|actv|indc}} ==葡萄牙語== ===動詞=== {{head|pt|動詞變位形式}} # {{pt-verb form of|violar}} ==西班牙語== ===動詞=== {{head|es|動詞變位形式}} # {{es-verb form of|violar}} mkzzdc4pvfbntfcxpo2rse44jxy9wh3 violardes 0 3433894 9753455 2026-05-06T06:48:05Z TongcyBot 83009 半自動導入非詞元形式 9753455 wikitext text/x-wiki ==葡萄牙語== ===動詞=== {{head|pt|動詞變位形式}} # {{pt-verb form of|violar}} 1e9ecl7n52zmv9jexk1xy5p60qep2dd violarei 0 3433895 9753456 2026-05-06T06:48:06Z TongcyBot 83009 半自動導入非詞元形式 9753456 wikitext text/x-wiki ==葡萄牙語== ===動詞=== {{head|pt|動詞變位形式}} # {{pt-verb form of|violar}} 1e9ecl7n52zmv9jexk1xy5p60qep2dd violareis 0 3433896 9753457 2026-05-06T06:48:08Z TongcyBot 83009 半自動導入非詞元形式 9753457 wikitext text/x-wiki {{also|violáreis|violaréis}} ==葡萄牙語== ===動詞=== {{head|pt|動詞變位形式}} # {{pt-verb form of|violar}} ==西班牙語== ===動詞=== {{head|es|動詞變位形式}} # {{es-verb form of|violar}} 47xn3aajw1lstwwnwkfsryzekpnp1dq violarem 0 3433897 9753458 2026-05-06T06:48:09Z TongcyBot 83009 半自動導入非詞元形式 9753458 wikitext text/x-wiki {{also|violàrem}} ==加泰羅尼亞語== ===動詞=== {{head|ca|動詞變位形式}} # {{ca-verb form of|violar}} ==拉丁語== ===動詞=== {{head|la|動詞變位形式|head=violārem}} # {{inflection of|la|violō||1|s|impf|actv|subj}} ==葡萄牙語== ===動詞=== {{head|pt|動詞變位形式}} # {{pt-verb form of|violar}} 8wrcdja2t4x7h3c3pi2alhpk3vpin7z violaremos 0 3433898 9753459 2026-05-06T06:48:10Z TongcyBot 83009 半自動導入非詞元形式 9753459 wikitext text/x-wiki {{also|violáremos}} ==葡萄牙語== ===動詞=== {{head|pt|動詞變位形式}} # {{pt-verb form of|violar}} ==西班牙語== ===動詞=== {{head|es|動詞變位形式}} # {{es-verb form of|violar}} 28eodsess0ck9fk0zwkigal50eurze8 violaren 0 3433899 9753460 2026-05-06T06:48:12Z TongcyBot 83009 半自動導入非詞元形式 9753460 wikitext text/x-wiki ==加泰羅尼亞語== ===動詞=== {{head|ca|動詞變位形式}} # {{ca-verb form of|violar}} ==西班牙語== ===動詞=== {{head|es|動詞變位形式}} # {{es-verb form of|violar}} mro4uohbeqdrtn60qz095p7hphk3z4l violares 0 3433900 9753461 2026-05-06T06:48:13Z TongcyBot 83009 半自動導入非詞元形式 9753461 wikitext text/x-wiki ==加泰羅尼亞語== ===動詞=== {{head|ca|動詞變位形式}} # {{ca-verb form of|violar}} ==拉丁語== ===動詞=== {{head|la|動詞變位形式|head=violārēs}} # {{inflection of|la|violō||2|s|impf|actv|subj}} ==葡萄牙語== ===動詞=== {{head|pt|動詞變位形式}} # {{pt-verb form of|violar}} ==西班牙語== ===動詞=== {{head|es|動詞變位形式}} # {{es-verb form of|violar}} 8714m1jeeqwsd6drglrm3agvbgqwtlh violareu 0 3433901 9753462 2026-05-06T06:48:14Z TongcyBot 83009 半自動導入非詞元形式 9753462 wikitext text/x-wiki {{also|violàreu}} ==加泰羅尼亞語== ===動詞=== {{head|ca|動詞變位形式}} # {{ca-verb form of|violar}} bixl1evj212y3tikjo3jfdz8wqj5eix violaria 0 3433902 9753463 2026-05-06T06:48:16Z TongcyBot 83009 半自動導入非詞元形式 9753463 wikitext text/x-wiki {{also|violaría}} ==加泰羅尼亞語== ===動詞=== {{head|ca|動詞變位形式}} # {{ca-verb form of|violar}} ==葡萄牙語== ===動詞=== {{head|pt|動詞變位形式}} # {{pt-verb form of|violar}} lb1dxheulvbci0oiwn09sf83lrfqljh violariam 0 3433903 9753464 2026-05-06T06:48:17Z TongcyBot 83009 半自動導入非詞元形式 9753464 wikitext text/x-wiki ==葡萄牙語== ===動詞=== {{head|pt|動詞變位形式}} # {{pt-verb form of|violar}} 1e9ecl7n52zmv9jexk1xy5p60qep2dd violarias 0 3433904 9753465 2026-05-06T06:48:18Z TongcyBot 83009 半自動導入非詞元形式 9753465 wikitext text/x-wiki {{also|violarías}} ==葡萄牙語== ===動詞=== {{head|pt|動詞變位形式}} # {{pt-verb form of|violar}} btiojr6583278sbwfsg52z4h8rpct7n violarien 0 3433905 9753466 2026-05-06T06:48:19Z TongcyBot 83009 半自動導入非詞元形式 9753466 wikitext text/x-wiki ==加泰羅尼亞語== ===動詞=== {{head|ca|動詞變位形式}} # {{ca-verb form of|violar}} fmupaaricb1vmbijf7jtm1p5uojmv9e violaries 0 3433906 9753467 2026-05-06T06:48:21Z TongcyBot 83009 半自動導入非詞元形式 9753467 wikitext text/x-wiki ==加泰羅尼亞語== ===動詞=== {{head|ca|動詞變位形式}} # {{ca-verb form of|violar}} fmupaaricb1vmbijf7jtm1p5uojmv9e violarla 0 3433907 9753468 2026-05-06T06:48:22Z TongcyBot 83009 半自動導入非詞元形式 9753468 wikitext text/x-wiki ==西班牙語== ===動詞=== {{head|es|動詞變位形式}} # {{es-verb form of|violar}} 72n095wd4ub5zrdn9uns5y2a4fxbn42 violarlas 0 3433908 9753469 2026-05-06T06:48:23Z TongcyBot 83009 半自動導入非詞元形式 9753469 wikitext text/x-wiki ==西班牙語== ===動詞=== {{head|es|動詞變位形式}} # {{es-verb form of|violar}} 72n095wd4ub5zrdn9uns5y2a4fxbn42 violarle 0 3433909 9753470 2026-05-06T06:48:24Z TongcyBot 83009 半自動導入非詞元形式 9753470 wikitext text/x-wiki ==西班牙語== ===動詞=== {{head|es|動詞變位形式}} # {{es-verb form of|violar}} 72n095wd4ub5zrdn9uns5y2a4fxbn42 violarles 0 3433910 9753471 2026-05-06T06:48:25Z TongcyBot 83009 半自動導入非詞元形式 9753471 wikitext text/x-wiki ==西班牙語== ===動詞=== {{head|es|動詞變位形式}} # {{es-verb form of|violar}} 72n095wd4ub5zrdn9uns5y2a4fxbn42 violarlo 0 3433911 9753472 2026-05-06T06:48:26Z TongcyBot 83009 半自動導入非詞元形式 9753472 wikitext text/x-wiki ==西班牙語== ===動詞=== {{head|es|動詞變位形式}} # {{es-verb form of|violar}} 72n095wd4ub5zrdn9uns5y2a4fxbn42 violarlos 0 3433912 9753473 2026-05-06T06:48:28Z TongcyBot 83009 半自動導入非詞元形式 9753473 wikitext text/x-wiki ==西班牙語== ===動詞=== {{head|es|動詞變位形式}} # {{es-verb form of|violar}} 72n095wd4ub5zrdn9uns5y2a4fxbn42 violarme 0 3433913 9753474 2026-05-06T06:48:29Z TongcyBot 83009 半自動導入非詞元形式 9753474 wikitext text/x-wiki ==西班牙語== ===動詞=== {{head|es|動詞變位形式}} # {{es-verb form of|violar}} 72n095wd4ub5zrdn9uns5y2a4fxbn42 violarmos 0 3433914 9753475 2026-05-06T06:48:31Z TongcyBot 83009 半自動導入非詞元形式 9753475 wikitext text/x-wiki ==葡萄牙語== ===動詞=== {{head|pt|動詞變位形式}} # {{pt-verb form of|violar}} 1e9ecl7n52zmv9jexk1xy5p60qep2dd violarnos 0 3433915 9753476 2026-05-06T06:48:32Z TongcyBot 83009 半自動導入非詞元形式 9753476 wikitext text/x-wiki ==西班牙語== ===動詞=== {{head|es|動詞變位形式}} # {{es-verb form of|violar}} 72n095wd4ub5zrdn9uns5y2a4fxbn42 violaron 0 3433916 9753477 2026-05-06T06:48:33Z TongcyBot 83009 半自動導入非詞元形式 9753477 wikitext text/x-wiki ==西班牙語== ===動詞=== {{head|es|動詞變位形式}} # {{es-verb form of|violar}} 72n095wd4ub5zrdn9uns5y2a4fxbn42 violaros 0 3433917 9753478 2026-05-06T06:48:34Z TongcyBot 83009 半自動導入非詞元形式 9753478 wikitext text/x-wiki ==西班牙語== ===動詞=== {{head|es|動詞變位形式}} # {{es-verb form of|violar}} 72n095wd4ub5zrdn9uns5y2a4fxbn42 violarse 0 3433918 9753479 2026-05-06T06:48:36Z TongcyBot 83009 半自動導入非詞元形式 9753479 wikitext text/x-wiki ==西班牙語== ===動詞=== {{head|es|動詞變位形式}} # {{es-verb form of|violar}} 72n095wd4ub5zrdn9uns5y2a4fxbn42 violarte 0 3433919 9753480 2026-05-06T06:48:37Z TongcyBot 83009 半自動導入非詞元形式 9753480 wikitext text/x-wiki ==西班牙語== ===動詞=== {{head|es|動詞變位形式}} # {{es-verb form of|violar}} 72n095wd4ub5zrdn9uns5y2a4fxbn42 violarà 0 3433920 9753481 2026-05-06T06:48:38Z TongcyBot 83009 半自動導入非詞元形式 9753481 wikitext text/x-wiki {{also|violara|violará}} ==加泰羅尼亞語== ===動詞=== {{head|ca|動詞變位形式}} # {{ca-verb form of|violar}} rlju6a1zp8nis0r5x3y2lsiudlq16vz violaràs 0 3433921 9753482 2026-05-06T06:48:40Z TongcyBot 83009 半自動導入非詞元形式 9753482 wikitext text/x-wiki {{also|violaras|violarás}} ==加泰羅尼亞語== ===動詞=== {{head|ca|動詞變位形式}} # {{ca-verb form of|violar}} e01x8ay4qybe65ejnje2rdft4q25t6e violará 0 3433922 9753483 2026-05-06T06:48:41Z TongcyBot 83009 半自動導入非詞元形式 9753483 wikitext text/x-wiki {{also|violara|violarà}} ==葡萄牙語== ===動詞=== {{head|pt|動詞變位形式}} # {{pt-verb form of|violar}} ==西班牙語== ===動詞=== {{head|es|動詞變位形式}} # {{es-verb form of|violar}} gm5eu8cu4fo3cee8xbdd70yt0526zya violarán 0 3433923 9753484 2026-05-06T06:48:42Z TongcyBot 83009 半自動導入非詞元形式 9753484 wikitext text/x-wiki {{also|violaran}} ==西班牙語== ===動詞=== {{head|es|動詞變位形式}} # {{es-verb form of|violar}} bomfplzrdjnmawbsscszaexgfz2neel violarás 0 3433924 9753485 2026-05-06T06:48:43Z TongcyBot 83009 半自動導入非詞元形式 9753485 wikitext text/x-wiki {{also|violaras|violaràs}} ==葡萄牙語== ===動詞=== {{head|pt|動詞變位形式}} # {{pt-verb form of|violar}} ==西班牙語== ===動詞=== {{head|es|動詞變位形式}} # {{es-verb form of|violar}} iy90szwcq3r5ixb6eoy97o57c9cbxz8 violarão 0 3433925 9753486 2026-05-06T06:48:45Z TongcyBot 83009 半自動導入非詞元形式 9753486 wikitext text/x-wiki ==葡萄牙語== ===動詞=== {{head|pt|動詞變位形式}} # {{pt-verb form of|violar}} 1e9ecl7n52zmv9jexk1xy5p60qep2dd violaré 0 3433926 9753487 2026-05-06T06:48:46Z TongcyBot 83009 半自動導入非詞元形式 9753487 wikitext text/x-wiki {{also|violare}} ==加泰羅尼亞語== ===動詞=== {{head|ca|動詞變位形式}} # {{ca-verb form of|violar}} ==西班牙語== ===動詞=== {{head|es|動詞變位形式}} # {{es-verb form of|violar}} jzb4dql8qssi847i903v6vf0ytfpob4 violaréis 0 3433927 9753488 2026-05-06T06:48:47Z TongcyBot 83009 半自動導入非詞元形式 9753488 wikitext text/x-wiki {{also|violareis|violáreis}} ==西班牙語== ===動詞=== {{head|es|動詞變位形式}} # {{es-verb form of|violar}} h3cq80ohne0ihu2m8d88nwjaf3ifsqr violaría 0 3433928 9753489 2026-05-06T06:48:48Z TongcyBot 83009 半自動導入非詞元形式 9753489 wikitext text/x-wiki {{also|violaria}} ==西班牙語== ===動詞=== {{head|es|動詞變位形式}} # {{es-verb form of|violar}} 4kg8gz5br2nyutyftvavrjlzkz8oslz violaríais 0 3433929 9753490 2026-05-06T06:48:49Z TongcyBot 83009 半自動導入非詞元形式 9753490 wikitext text/x-wiki ==西班牙語== ===動詞=== {{head|es|動詞變位形式}} # {{es-verb form of|violar}} 72n095wd4ub5zrdn9uns5y2a4fxbn42 violaríamos 0 3433930 9753491 2026-05-06T06:48:51Z TongcyBot 83009 半自動導入非詞元形式 9753491 wikitext text/x-wiki ==葡萄牙語== ===動詞=== {{head|pt|動詞變位形式}} # {{pt-verb form of|violar}} ==西班牙語== ===動詞=== {{head|es|動詞變位形式}} # {{es-verb form of|violar}} 584xc3mm6ddybz9kbtmntfvz90o7igt violarían 0 3433931 9753492 2026-05-06T06:48:52Z TongcyBot 83009 半自動導入非詞元形式 9753492 wikitext text/x-wiki ==西班牙語== ===動詞=== {{head|es|動詞變位形式}} # {{es-verb form of|violar}} 72n095wd4ub5zrdn9uns5y2a4fxbn42 violarías 0 3433932 9753493 2026-05-06T06:48:54Z TongcyBot 83009 半自動導入非詞元形式 9753493 wikitext text/x-wiki {{also|violarias}} ==西班牙語== ===動詞=== {{head|es|動詞變位形式}} # {{es-verb form of|violar}} 21mhajqb0g9k65b04nl4wyep3gj5oop violaríeis 0 3433933 9753494 2026-05-06T06:48:55Z TongcyBot 83009 半自動導入非詞元形式 9753494 wikitext text/x-wiki ==葡萄牙語== ===動詞=== {{head|pt|動詞變位形式}} # {{pt-verb form of|violar}} 1e9ecl7n52zmv9jexk1xy5p60qep2dd violaríem 0 3433934 9753495 2026-05-06T06:48:56Z TongcyBot 83009 半自動導入非詞元形式 9753495 wikitext text/x-wiki ==加泰羅尼亞語== ===動詞=== {{head|ca|動詞變位形式}} # {{ca-verb form of|violar}} fmupaaricb1vmbijf7jtm1p5uojmv9e violaríeu 0 3433935 9753496 2026-05-06T06:48:58Z TongcyBot 83009 半自動導入非詞元形式 9753496 wikitext text/x-wiki ==加泰羅尼亞語== ===動詞=== {{head|ca|動詞變位形式}} # {{ca-verb form of|violar}} fmupaaricb1vmbijf7jtm1p5uojmv9e violase 0 3433936 9753497 2026-05-06T06:48:58Z TongcyBot 83009 半自動導入非詞元形式 9753497 wikitext text/x-wiki ==羅馬尼亞語== ===發音=== * {{IPA|ro|[vioˈlase]}} ===動詞=== {{head|ro|動詞變位形式}} # {{verb form of|ro|viola||3s|pluperf|ind}} ==西班牙語== ===動詞=== {{head|es|動詞變位形式}} # {{es-verb form of|violar}} s4s4ozwf4y4ivbhujpuibx14ix6vhon violaseis 0 3433937 9753498 2026-05-06T06:49:00Z TongcyBot 83009 半自動導入非詞元形式 9753498 wikitext text/x-wiki ==西班牙語== ===動詞=== {{head|es|動詞變位形式}} # {{es-verb form of|violar}} 72n095wd4ub5zrdn9uns5y2a4fxbn42 violasen 0 3433938 9753499 2026-05-06T06:49:01Z TongcyBot 83009 半自動導入非詞元形式 9753499 wikitext text/x-wiki ==西班牙語== ===動詞=== {{head|es|動詞變位形式}} # {{es-verb form of|violar}} 72n095wd4ub5zrdn9uns5y2a4fxbn42 violases 0 3433939 9753500 2026-05-06T06:49:02Z TongcyBot 83009 半自動導入非詞元形式 9753500 wikitext text/x-wiki ==西班牙語== ===動詞=== {{head|es|動詞變位形式}} # {{es-verb form of|violar}} 72n095wd4ub5zrdn9uns5y2a4fxbn42 violassem 0 3433940 9753501 2026-05-06T06:49:03Z TongcyBot 83009 半自動導入非詞元形式 9753501 wikitext text/x-wiki ==拉丁語== ===動詞=== {{head|la|動詞變位形式|head=violāssem}} # {{inflection of|la|violō||1|s|plup|actv|subj}} ==葡萄牙語== ===動詞=== {{head|pt|動詞變位形式}} # {{pt-verb form of|violar}} mdketr23wopygxgx4tm8u4tg9xlv41z violaste 0 3433941 9753502 2026-05-06T06:49:05Z TongcyBot 83009 半自動導入非詞元形式 9753502 wikitext text/x-wiki ==意大利語== ===動詞=== {{head|it|動詞變位形式}} # {{inflection of|it|violare||2|p|phis|;|2|p|impf|sub}} ===異序詞=== * {{anagrams|it|a=aeilostv|solviate|svoliate}} ==葡萄牙語== ===動詞=== {{head|pt|動詞變位形式}} # {{pt-verb form of|violar}} ==西班牙語== ===動詞=== {{head|es|動詞變位形式}} # {{es-verb form of|violar}} 1jsf6jse3yhrzhurdl6ducqcj8lpr9e violasteis 0 3433942 9753503 2026-05-06T06:49:06Z TongcyBot 83009 半自動導入非詞元形式 9753503 wikitext text/x-wiki ==西班牙語== ===動詞=== {{head|es|動詞變位形式}} # {{es-verb form of|violar}} 72n095wd4ub5zrdn9uns5y2a4fxbn42 violastes 0 3433943 9753504 2026-05-06T06:49:07Z TongcyBot 83009 半自動導入非詞元形式 9753504 wikitext text/x-wiki ==葡萄牙語== ===動詞=== {{head|pt|動詞變位形式}} # {{pt-verb form of|violar}} 1e9ecl7n52zmv9jexk1xy5p60qep2dd violats 0 3433944 9753505 2026-05-06T06:49:08Z TongcyBot 83009 半自動導入非詞元形式 9753505 wikitext text/x-wiki ==加泰羅尼亞語== ===發音=== * {{ca-IPA}} * {{rhymes|ca|ats|s=3}} ===形容詞=== {{head|ca|形容詞變格形|g=m-p}} # {{masculine plural of|ca|violat}} ===名詞=== {{head|ca|名詞變格形|g=m-p}} # {{masculine plural of|ca|violat}} ===分詞=== {{head|ca|過去分詞變格形|g=m-p}} # {{masculine plural of|ca|violat}} 9rn6h4ml7d3rr297w5wwzj1ioiwip57 violava 0 3433945 9753506 2026-05-06T06:49:09Z TongcyBot 83009 半自動導入非詞元形式 9753506 wikitext text/x-wiki ==加泰羅尼亞語== ===動詞=== {{head|ca|動詞變位形式}} # {{ca-verb form of|violar}} ==意大利語== ===動詞=== {{head|it|動詞變位形式}} # {{inflection of|it|violare||3|s|impf|indc}} ==葡萄牙語== ===動詞=== {{head|pt|動詞變位形式}} # {{pt-verb form of|violar}} cfpmnd4qv0ev50n5pt8e0z71zothwin violavam 0 3433946 9753507 2026-05-06T06:49:11Z TongcyBot 83009 半自動導入非詞元形式 9753507 wikitext text/x-wiki ==葡萄牙語== ===動詞=== {{head|pt|動詞變位形式}} # {{pt-verb form of|violar}} 1e9ecl7n52zmv9jexk1xy5p60qep2dd violavas 0 3433947 9753508 2026-05-06T06:49:12Z TongcyBot 83009 半自動導入非詞元形式 9753508 wikitext text/x-wiki ==葡萄牙語== ===動詞=== {{head|pt|動詞變位形式}} # {{pt-verb form of|violar}} 1e9ecl7n52zmv9jexk1xy5p60qep2dd violaven 0 3433948 9753509 2026-05-06T06:49:13Z TongcyBot 83009 半自動導入非詞元形式 9753509 wikitext text/x-wiki ==加泰羅尼亞語== ===動詞=== {{head|ca|動詞變位形式}} # {{ca-verb form of|violar}} fmupaaricb1vmbijf7jtm1p5uojmv9e violaves 0 3433949 9753510 2026-05-06T06:49:14Z TongcyBot 83009 半自動導入非詞元形式 9753510 wikitext text/x-wiki ==加泰羅尼亞語== ===動詞=== {{head|ca|動詞變位形式}} # {{ca-verb form of|violar}} fmupaaricb1vmbijf7jtm1p5uojmv9e violei 0 3433950 9753511 2026-05-06T06:49:15Z TongcyBot 83009 半自動導入非詞元形式 9753511 wikitext text/x-wiki ==葡萄牙語== ===動詞=== {{head|pt|動詞變位形式}} # {{pt-verb form of|violar}} 1e9ecl7n52zmv9jexk1xy5p60qep2dd violeis 0 3433951 9753512 2026-05-06T06:49:17Z TongcyBot 83009 半自動導入非詞元形式 9753512 wikitext text/x-wiki {{also|violéis}} ==葡萄牙語== ===動詞=== {{head|pt|動詞變位形式}} # {{pt-verb form of|violar}} gkvxwx9f2j6eclchf016q1i7z2fj7uz violem 0 3433952 9753513 2026-05-06T06:49:18Z TongcyBot 83009 半自動導入非詞元形式 9753513 wikitext text/x-wiki ==加泰羅尼亞語== ===動詞=== {{head|ca|動詞變位形式}} # {{ca-verb form of|violar}} ==拉丁語== ===動詞=== {{head|la|動詞變位形式}} # {{inflection of|la|violō||1|s|pres|actv|subj}} ==葡萄牙語== ===動詞=== {{head|pt|動詞變位形式}} # {{pt-verb form of|violar}} 7ddnrqtjhweof1b5p8l6g0r5hk8rg3w violemos 0 3433953 9753514 2026-05-06T06:49:19Z TongcyBot 83009 半自動導入非詞元形式 9753514 wikitext text/x-wiki ==葡萄牙語== ===動詞=== {{head|pt|動詞變位形式}} # {{pt-verb form of|violar}} ==西班牙語== ===動詞=== {{head|es|動詞變位形式}} # {{es-verb form of|violar}} 584xc3mm6ddybz9kbtmntfvz90o7igt violen 0 3433954 9753515 2026-05-06T06:49:20Z TongcyBot 83009 半自動導入非詞元形式 9753515 wikitext text/x-wiki ==加泰羅尼亞語== ===動詞=== {{head|ca|動詞變位形式}} # {{ca-verb form of|violar}} ==荷蘭語== ===發音=== * {{IPA|nl|/viˈjoːlə(n)/}} * {{audio|nl|Nl-violen.ogg}} ===名詞=== {{head|nl|名詞變格形}} # {{plural of|nl|viool}} ==西班牙語== ===動詞=== {{head|es|動詞變位形式}} # {{es-verb form of|violar}} ==瑞典語== ===名詞=== {{head|sv|名詞變格形}} # {{noun form of|sv|viol||def|s}} r771iru5xp3xu02t7kvl2495u4um3f9 violessin 0 3433955 9753516 2026-05-06T06:49:21Z TongcyBot 83009 半自動導入非詞元形式 9753516 wikitext text/x-wiki ==加泰羅尼亞語== ===動詞=== {{head|ca|動詞變位形式}} # {{ca-verb form of|violar}} fmupaaricb1vmbijf7jtm1p5uojmv9e violessis 0 3433956 9753517 2026-05-06T06:49:23Z TongcyBot 83009 半自動導入非詞元形式 9753517 wikitext text/x-wiki ==加泰羅尼亞語== ===動詞=== {{head|ca|動詞變位形式}} # {{ca-verb form of|violar}} fmupaaricb1vmbijf7jtm1p5uojmv9e violeu 0 3433957 9753518 2026-05-06T06:49:24Z TongcyBot 83009 半自動導入非詞元形式 9753518 wikitext text/x-wiki ==加泰羅尼亞語== ===動詞=== {{head|ca|動詞變位形式}} # {{ca-verb form of|violar}} fmupaaricb1vmbijf7jtm1p5uojmv9e violis 0 3433958 9753519 2026-05-06T06:49:25Z TongcyBot 83009 半自動導入非詞元形式 9753519 wikitext text/x-wiki ==加泰羅尼亞語== ===動詞=== {{head|ca|動詞變位形式}} # {{ca-verb form of|violar}} ==拉丁語== ===名詞=== {{head|la|名詞變格形|head=violīs}} # {{inflection of|la|viola||dat//abl|p}} l7yqlxqv0hg5lol8zjcghdggq76vja0 violo 0 3433959 9753520 2026-05-06T06:49:26Z TongcyBot 83009 半自動導入非詞元形式 9753520 wikitext text/x-wiki {{also|violó|violò}} ==加泰羅尼亞語== ===動詞=== {{head|ca|動詞變位形式}} # {{ca-verb form of|violar}} ==世界語== ===詞源=== {{bor+|eo|it|viola}}、{{bor|eo|en|violet}}、{{bor|eo|fr|violette}} and {{bor|eo|pl|fiołek}}。 ===發音=== {{eo-pr|a=LL-Q143 (epo)-Lepticed7-violo.wav;LL-Q143 (epo)-Robin van der Vliet-violo.wav}} ===名詞=== {{eo-head}} # [[violet]] {{gloss|flower}} # {{lb|eo|rare}} [[violet]] {{gloss|color}} #: {{syn|eo|violkoloro}} #* {{quote-book|eo|editor=Johannes Dietterle|title=La Vendreda Klubo: 11 Diversaj Originalaj Artikoloj Verkitaj de la “Vendredoklubanoj” en Leipzig<t:The Friday Club: 11 Diverse Original Articles Written by the “Friday Club Members” in Leipzig>|location=Leipzig|publisher=Ferdinand Hirt & Sohn|year=1921|page=77|passage=Kiel la cirklo de l’ puraj koloroj estas ordigota? Ĉu ekzemple la interspaco inter sulfuro kaj oranĝo estas pli aŭ malpli granda ol la interspaco inter '''violo''' kaj cejano?|t=How is the circle of pure colors to be ordered? For example, is the gap between sulfur and orange larger or smaller than the gap between '''violet''' and cyan?}} #* {{quote-book|eo|author=[[w:Montagu C. Butler|Montagu C[hristie] Butler]]|title=Step by Step in Esperanto: A Simple Textbook for English-Speaking Students, with Graduated Reading-Matter and Numerous Exercises for Class Teaching or for Home Study|publisher=The Esperanto Publishing Company Ltd.|year=1948|page=54|passage=La ses koloroj de la ĉielarko (''rainbow'') estas: '''violo''', bluo, verdo, flavo, oranĝo, kaj ruĝo.|t=The six colors of the rainbow are: '''violet''', blue, green, yellow, orange, and red.}} #* {{quote-book|eo|editor=w:Paul Neergaard|title=Sciencaj Studoj: Bazitaj sur Originalaj Esploroj kaj Observoj: Eldonita Okaze de la 50-Jara Jubileo de Internacia Scienca Asocio Esperantista<t:Scientific Studies: Based on Original Research and Observations: Published on the Occasion of the 50th Anniversary of the International Scientific Esperanto Association>|location=Kopenhago<t:Copenhagen>|publisher=Internacia Scienca Asocio Esperantista<t:International Scientific Esperanto Association>|year=1958|page=168|oclc=5579846|passage=Tre maldense okupitaj estas la regionoj de '''violo''' kaj purpuro. Ŝajne ekzistas grandaj diferencoj en la kolorbezonoj.|t=The regions of '''violet''' and purple are very sparsely occupied. Seemingly there exist big differences in the color needs.}} {{Universala Vortaro}} {{c|eo|Colors|Flowers}} ==意大利語== ===詞源1=== ====發音==== {{it-pr|vi.òlo<r:DiPI><r:Olivetti:VIOLO100,alt#violo>}} ====名詞==== {{it-noun|m}} {{tlb|it|regional|Tuscan}} # [[violet]] {{qualifier|plant}} #: {{syn|it|viola|q=normal register}} # [[carnation]] #: {{syn|it|garofano|q=normal register}} ===詞源2=== ====發音==== {{it-pr|vi.òlo<r:Olivetti:VIOLO200,alt#violo>}} ====名詞==== {{it-noun|m}} {{tlb|it|regional|Venetian}} # [[path]] #: {{syn|it|viottolo|q=normal register}} ===詞源3=== ====發音==== {{it-pr|vìolo}} ====動詞==== {{head|it|動詞變位形式}} # {{inflection of|it|violare||1|s|pres|ind}} ===參考資料=== <references /> ===異序詞=== * {{anagrams|it|a=iloov|olivo|ovoli}} ==拉丁語== ===詞源=== {{etymon|la|:from|vīs}} Traditionally derived from {{m|la|vīs|t=strength}}, as if from some diminutive {{m|la||*viola}}。 De Vaan prefers to derive the word instead from a deverbal adjective, which he reconstructs as {{inh|la|ine-pro||*weyh₁-elos}}。 Either way,源自{{der|la|ine-pro|*weyh₁-|t=to chase, strive after}}。<ref>{{R:itc:EDL|page=680}}</ref> ===發音=== * {{la-IPA|violō}} ===動詞=== {{la-verb|1+|violō}} # to treat with [[violence]]; to [[maltreat]] #* {{Q|la||CIL|11|04766|quote=Honce loucom / nequs violatod / neque exvehito neque / exferto quod louci / siet neque cedito / nesei quo die res deina / anua fiat eod die / quod rei dinai causa / [f]iat sine dolo cedre / [l]icetod seiquis // '''violasit''' Iove bovid / piaclum datod / seiquis scies / '''violasit''' dolo malo / Iovei bovid piaclum / datod et a(sses) CCC / moltai suntod / eius piacli / moltaique dicator[e] / exactio est[od]}} # to [[violate]], [[defile]], [[profane]], [[rape]] #: {{syn|la|rumpō|irrumpō|frangō|īnfringō}} #* {{Q|la|Ovid|Fasti|6|167|quote=post illud nec avēs cūnās '''violāsse''' feruntur|trans=''Nor after that were they suffering the birds '''to have violated''' cradles''<br/>(A goddess intervenes after a baby is attacked by [[striges]] and her divine prayers impart lasting protection.)}} ====變位==== {{la-conj|1+.poetsyncperf.sigm|violō}} ====派生詞彙==== * {{l|la|violātor}} * {{l|la|violentus}} ====派生語彙==== {{top3}} * {{desc|ca|violar}} * {{desc|en|violate|bor=1}} * {{desc|fr|violer}} * {{desc|gl|violar}} * {{desc|it|violare}} * {{desc|pms|violé}} * {{desc|pt|violar}} * {{desc|ro|viola}} * {{desc|scn|viulari}} * {{desc|es|violar}} {{bottom}} ===參考資料=== * {{R:la:L&S}} * {{R:la:Elementary Lewis}} * {{R:la:Gaffiot}} * {{R:la:M&A}} <references /> ==葡萄牙語== ===動詞=== {{head|pt|動詞變位形式}} # {{pt-verb form of|violar}} ==西班牙語== ===發音=== {{es-pr}} ===動詞=== {{head|es|動詞變位形式}} # {{es-verb form of|violar}} 5tize0eeu6bszfxemvqn4imv7dfvzpy 9753750 9753520 2026-05-06T07:32:31Z Sayonzei 40728 9753750 wikitext text/x-wiki {{also|violó|violò}} ==加泰羅尼亞語== ===動詞=== {{head|ca|動詞變位形式}} # {{ca-verb form of|violar}} ==世界語== ===詞源=== {{bor+|eo|it|viola}}、{{bor|eo|en|violet}}、{{bor|eo|fr|violette}} 和{{bor|eo|pl|fiołek}}。 ===發音=== {{eo-pr|a=LL-Q143 (epo)-Lepticed7-violo.wav;LL-Q143 (epo)-Robin van der Vliet-violo.wav}} ===名詞=== {{eo-head}} # [[堇菜]];[[紫羅蘭]] # {{lb|eo|rare}} 紫羅蘭色 #: {{syn|eo|violkoloro}} #* {{quote-book|eo|editor=Johannes Dietterle|title=La Vendreda Klubo: 11 Diversaj Originalaj Artikoloj Verkitaj de la “Vendredoklubanoj” en Leipzig<t:星期五俱乐部:莱比锡“星期五俱乐部成员”撰写的 11 篇多样化原创文章>|location=Leipzig|publisher=Ferdinand Hirt & Sohn|year=1921|page=77|passage=Kiel la cirklo de l’ puraj koloroj estas ordigota? Ĉu ekzemple la interspaco inter sulfuro kaj oranĝo estas pli aŭ malpli granda ol la interspaco inter '''violo''' kaj cejano?|t=纯色环应该如何排序?例如,硫磺色和橙色之间的间隔比'''紫色'''和青色之间的间隔大还是小?}} #* {{quote-book|eo|author=[[w:en:Montagu C. Butler|Montagu C[hristie] Butler]]|title=Step by Step in Esperanto: A Simple Textbook for English-Speaking Students, with Graduated Reading-Matter and Numerous Exercises for Class Teaching or for Home Study|publisher=The Esperanto Publishing Company Ltd.|year=1948|page=54|passage=La ses koloroj de la ĉielarko (''rainbow'') estas: '''violo''', bluo, verdo, flavo, oranĝo, kaj ruĝo.|t=彩虹的六种颜色是:'''紫色'''、蓝色、绿色、黄色、橙色和红色。}} #* {{quote-book|eo|editor=w:en:Paul Neergaard|title=Sciencaj Studoj: Bazitaj sur Originalaj Esploroj kaj Observoj: Eldonita Okaze de la 50-Jara Jubileo de Internacia Scienca Asocio Esperantista<t:科学研究:基于原始研究和观察:在国际科学世界语协会成立 50 周年之际出版>|location=Kopenhago<t:哥本哈根>|publisher=Internacia Scienca Asocio Esperantista<t:国际科学世界语协会>|year=1958|page=168|oclc=5579846|passage=Tre maldense okupitaj estas la regionoj de '''violo''' kaj purpuro. Ŝajne ekzistas grandaj diferencoj en la kolorbezonoj.|t='''紫罗兰色'''和紫色的区域人口非常稀少。看来人们对颜色的需求存在很大差异。}} {{Universala Vortaro}} {{c|eo|花|顏色}} ==意大利語== ===詞源1=== ====發音==== {{it-pr|vi.òlo<r:DiPI><r:Olivetti:VIOLO100,alt#violo>}} ====名詞==== {{it-noun|m}} {{tlb|it|regional|Tuscan}} # [[堇菜]];[[紫羅蘭]] #: {{syn|it|viola|q=一般用詞}} # [[康乃馨]] #: {{syn|it|garofano|q=一般用詞}} ===詞源2=== ====發音==== {{it-pr|vi.òlo<r:Olivetti:VIOLO200,alt#violo>}} ====名詞==== {{it-noun|m}} {{tlb|it|regional|Venetian}} # [[路]],[[路徑]] #: {{syn|it|viottolo|q=一般用詞}} ===詞源3=== ====發音==== {{it-pr|vìolo}} ====動詞==== {{head|it|動詞變位形式}} # {{inflection of|it|violare||1|s|pres|ind}} ===參考資料=== <references /> ===異序詞=== * {{anagrams|it|a=iloov|olivo|ovoli}} ==拉丁語== ===詞源=== {{etymon|la|:from|vīs}} 傳統認為派生自 {{m|la|vīs|t=力量}},源自其指小詞 {{m|la||*viola}}。De Vaan 認為本詞不是派生自形容詞(構擬作{{inh|la|ine-pro||*weyh₁-elos}}),而是源自{{der|la|ine-pro|*weyh₁-|t=追逐,追求}}。<ref>{{R:itc:EDL|page=680}}</ref> ===發音=== * {{la-IPA|violō}} ===動詞=== {{la-verb|1+|violō}} # [[虐待]] #* {{Q|la||CIL|11|04766|quote=Honce loucom / nequs violatod / neque exvehito neque / exferto quod louci / siet neque cedito / nesei quo die res deina / anua fiat eod die / quod rei dinai causa / [f]iat sine dolo cedre / [l]icetod seiquis // '''violasit''' Iove bovid / piaclum datod / seiquis scies / '''violasit''' dolo malo / Iovei bovid piaclum / datod et a(sses) CCC / moltai suntod / eius piacli / moltaique dicator[e] / exactio est[od]}} # [[玷污]],[[褻瀆]],[[侵犯]] #: {{syn|la|rumpō|irrumpō|frangō|īnfringō}} #* {{Q|la|Ovid|Fasti|6|167|quote=post illud nec avēs cūnās '''violāsse''' feruntur|trans=此后,他们也不再容忍鸟类'''玷污'''摇篮}} ====變位==== {{la-conj|1+.poetsyncperf.sigm|violō}} ====派生詞彙==== * {{l|la|violātor}} * {{l|la|violentus}} ====派生語彙==== {{top3}} * {{desc|ca|violar}} * {{desc|en|violate|bor=1}} * {{desc|fr|violer}} * {{desc|gl|violar}} * {{desc|it|violare}} * {{desc|pms|violé}} * {{desc|pt|violar}} * {{desc|ro|viola}} * {{desc|scn|viulari}} * {{desc|es|violar}} {{bottom}} ===參考資料=== * {{R:la:L&S}} * {{R:la:Elementary Lewis}} * {{R:la:Gaffiot}} * {{R:la:M&A}} <references /> ==葡萄牙語== ===動詞=== {{head|pt|動詞變位形式}} # {{pt-verb form of|violar}} ==西班牙語== ===發音=== {{es-pr}} ===動詞=== {{head|es|動詞變位形式}} # {{es-verb form of|violar}} oexvom87ulw9o3s6v9epcadlmctyidb violou 0 3433960 9753521 2026-05-06T06:49:27Z TongcyBot 83009 半自動導入非詞元形式 9753521 wikitext text/x-wiki ==葡萄牙語== ===動詞=== {{head|pt|動詞變位形式}} # {{pt-verb form of|violar}} 1e9ecl7n52zmv9jexk1xy5p60qep2dd violàrem 0 3433961 9753522 2026-05-06T06:49:30Z TongcyBot 83009 半自動導入非詞元形式 9753522 wikitext text/x-wiki {{also|violarem}} ==加泰羅尼亞語== ===動詞=== {{head|ca|動詞變位形式}} # {{ca-verb form of|violar}} bjtinbxm0d4iiz6y332juh42bresh8o violàreu 0 3433962 9753523 2026-05-06T06:49:31Z TongcyBot 83009 半自動導入非詞元形式 9753523 wikitext text/x-wiki {{also|violareu}} ==加泰羅尼亞語== ===動詞=== {{head|ca|動詞變位形式}} # {{ca-verb form of|violar}} 058f60qc2kab1oxbslbc9uye99h42rr violàvem 0 3433963 9753524 2026-05-06T06:49:32Z TongcyBot 83009 半自動導入非詞元形式 9753524 wikitext text/x-wiki ==加泰羅尼亞語== ===動詞=== {{head|ca|動詞變位形式}} # {{ca-verb form of|violar}} fmupaaricb1vmbijf7jtm1p5uojmv9e violàveu 0 3433964 9753525 2026-05-06T06:49:34Z TongcyBot 83009 半自動導入非詞元形式 9753525 wikitext text/x-wiki ==加泰羅尼亞語== ===動詞=== {{head|ca|動詞變位形式}} # {{ca-verb form of|violar}} fmupaaricb1vmbijf7jtm1p5uojmv9e violábamos 0 3433965 9753526 2026-05-06T06:49:35Z TongcyBot 83009 半自動導入非詞元形式 9753526 wikitext text/x-wiki ==西班牙語== ===動詞=== {{head|es|動詞變位形式}} # {{es-verb form of|violar}} 72n095wd4ub5zrdn9uns5y2a4fxbn42 violáis 0 3433966 9753527 2026-05-06T06:49:36Z TongcyBot 83009 半自動導入非詞元形式 9753527 wikitext text/x-wiki {{also|violais}} ==西班牙語== ===動詞=== {{head|es|動詞變位形式}} # {{es-verb form of|violar}} paxypb5eql153xqjd2h2g8jxwlso26y violámos 0 3433967 9753528 2026-05-06T06:49:37Z TongcyBot 83009 半自動導入非詞元形式 9753528 wikitext text/x-wiki {{also|violamos}} ==葡萄牙語== ===其他形式=== * {{qualifier|Brazil}} {{l|pt|violamos}} ===動詞=== {{head|pt|動詞變位形式}} # {{pt-verb form of|violar}} 7dhq5gecqfsec7w20lorf5ak6xf4nad violándola 0 3433968 9753529 2026-05-06T06:49:39Z TongcyBot 83009 半自動導入非詞元形式 9753529 wikitext text/x-wiki ==西班牙語== ===動詞=== {{head|es|動詞變位形式}} # {{es-verb form of|violar}} 72n095wd4ub5zrdn9uns5y2a4fxbn42 violándolas 0 3433969 9753530 2026-05-06T06:49:40Z TongcyBot 83009 半自動導入非詞元形式 9753530 wikitext text/x-wiki ==西班牙語== ===動詞=== {{head|es|動詞變位形式}} # {{es-verb form of|violar}} 72n095wd4ub5zrdn9uns5y2a4fxbn42 violándole 0 3433970 9753531 2026-05-06T06:49:42Z TongcyBot 83009 半自動導入非詞元形式 9753531 wikitext text/x-wiki ==西班牙語== ===動詞=== {{head|es|動詞變位形式}} # {{es-verb form of|violar}} 72n095wd4ub5zrdn9uns5y2a4fxbn42 violándoles 0 3433971 9753532 2026-05-06T06:49:43Z TongcyBot 83009 半自動導入非詞元形式 9753532 wikitext text/x-wiki ==西班牙語== ===動詞=== {{head|es|動詞變位形式}} # {{es-verb form of|violar}} 72n095wd4ub5zrdn9uns5y2a4fxbn42 violándolo 0 3433972 9753533 2026-05-06T06:49:45Z TongcyBot 83009 半自動導入非詞元形式 9753533 wikitext text/x-wiki ==西班牙語== ===動詞=== {{head|es|動詞變位形式}} # {{es-verb form of|violar}} 72n095wd4ub5zrdn9uns5y2a4fxbn42 violándolos 0 3433973 9753534 2026-05-06T06:49:46Z TongcyBot 83009 半自動導入非詞元形式 9753534 wikitext text/x-wiki ==西班牙語== ===動詞=== {{head|es|動詞變位形式}} # {{es-verb form of|violar}} 72n095wd4ub5zrdn9uns5y2a4fxbn42 violándome 0 3433974 9753535 2026-05-06T06:49:47Z TongcyBot 83009 半自動導入非詞元形式 9753535 wikitext text/x-wiki ==西班牙語== ===動詞=== {{head|es|動詞變位形式}} # {{es-verb form of|violar}} 72n095wd4ub5zrdn9uns5y2a4fxbn42 violándonos 0 3433975 9753536 2026-05-06T06:49:48Z TongcyBot 83009 半自動導入非詞元形式 9753536 wikitext text/x-wiki ==西班牙語== ===動詞=== {{head|es|動詞變位形式}} # {{es-verb form of|violar}} 72n095wd4ub5zrdn9uns5y2a4fxbn42 violándoos 0 3433976 9753537 2026-05-06T06:49:50Z TongcyBot 83009 半自動導入非詞元形式 9753537 wikitext text/x-wiki ==西班牙語== ===動詞=== {{head|es|動詞變位形式}} # {{es-verb form of|violar}} 72n095wd4ub5zrdn9uns5y2a4fxbn42 violándose 0 3433977 9753538 2026-05-06T06:49:51Z TongcyBot 83009 半自動導入非詞元形式 9753538 wikitext text/x-wiki ==西班牙語== ===動詞=== {{head|es|動詞變位形式}} # {{es-verb form of|violar}} 72n095wd4ub5zrdn9uns5y2a4fxbn42 violándote 0 3433978 9753539 2026-05-06T06:49:53Z TongcyBot 83009 半自動導入非詞元形式 9753539 wikitext text/x-wiki ==西班牙語== ===動詞=== {{head|es|動詞變位形式}} # {{es-verb form of|violar}} 72n095wd4ub5zrdn9uns5y2a4fxbn42 violáramos 0 3433979 9753540 2026-05-06T06:49:54Z TongcyBot 83009 半自動導入非詞元形式 9753540 wikitext text/x-wiki ==葡萄牙語== ===動詞=== {{head|pt|動詞變位形式}} # {{pt-verb form of|violar}} ==西班牙語== ===動詞=== {{head|es|動詞變位形式}} # {{es-verb form of|violar}} 584xc3mm6ddybz9kbtmntfvz90o7igt violáreis 0 3433980 9753541 2026-05-06T06:49:55Z TongcyBot 83009 半自動導入非詞元形式 9753541 wikitext text/x-wiki {{also|violareis|violaréis}} ==葡萄牙語== ===動詞=== {{head|pt|動詞變位形式}} # {{pt-verb form of|violar}} 8ufhm9xvl0lb876zyknyt04gjdqpbfy violáremos 0 3433981 9753542 2026-05-06T06:49:56Z TongcyBot 83009 半自動導入非詞元形式 9753542 wikitext text/x-wiki {{also|violaremos}} ==西班牙語== ===動詞=== {{head|es|動詞變位形式}} # {{es-verb form of|violar}} 852q3g937mvycaugqnfoz61b73493y0 violás 0 3433982 9753543 2026-05-06T06:49:57Z TongcyBot 83009 半自動導入非詞元形式 9753543 wikitext text/x-wiki {{also|violas}} ==西班牙語== ===動詞=== {{head|es|動詞變位形式}} # {{es-verb form of|violar}} ozlzoy9nm7grehjo1hvro7efr63cukp violásemos 0 3433983 9753544 2026-05-06T06:49:59Z TongcyBot 83009 半自動導入非詞元形式 9753544 wikitext text/x-wiki ==西班牙語== ===動詞=== {{head|es|動詞變位形式}} # {{es-verb form of|violar}} 72n095wd4ub5zrdn9uns5y2a4fxbn42 violásseis 0 3433984 9753545 2026-05-06T06:50:00Z TongcyBot 83009 半自動導入非詞元形式 9753545 wikitext text/x-wiki ==葡萄牙語== ===動詞=== {{head|pt|動詞變位形式}} # {{pt-verb form of|violar}} 1e9ecl7n52zmv9jexk1xy5p60qep2dd violássemos 0 3433985 9753546 2026-05-06T06:50:02Z TongcyBot 83009 半自動導入非詞元形式 9753546 wikitext text/x-wiki ==葡萄牙語== ===動詞=== {{head|pt|動詞變位形式}} # {{pt-verb form of|violar}} 1e9ecl7n52zmv9jexk1xy5p60qep2dd violávamos 0 3433986 9753547 2026-05-06T06:50:03Z TongcyBot 83009 半自動導入非詞元形式 9753547 wikitext text/x-wiki ==葡萄牙語== ===動詞=== {{head|pt|動詞變位形式}} # {{pt-verb form of|violar}} 1e9ecl7n52zmv9jexk1xy5p60qep2dd violáveis 0 3433987 9753548 2026-05-06T06:50:04Z TongcyBot 83009 半自動導入非詞元形式 9753548 wikitext text/x-wiki ==葡萄牙語== ===動詞=== {{head|pt|動詞變位形式}} # {{pt-verb form of|violar}} 1e9ecl7n52zmv9jexk1xy5p60qep2dd violéis 0 3433988 9753549 2026-05-06T06:50:06Z TongcyBot 83009 半自動導入非詞元形式 9753549 wikitext text/x-wiki {{also|violeis}} ==西班牙語== ===動詞=== {{head|es|動詞變位形式}} # {{es-verb form of|violar}} 3le22tifwt4aqkywcjffx9dqblt8821 violés 0 3433989 9753550 2026-05-06T06:50:07Z TongcyBot 83009 半自動導入非詞元形式 9753550 wikitext text/x-wiki {{also|violes}} ==加泰羅尼亞語== ===動詞=== {{head|ca|動詞變位形式}} # {{ca-verb form of|violar}} ==法語== ===分詞=== {{head|fr|過去分詞變格形|g=m-p}} # {{masculine plural of|fr|violé}} ===異序詞=== * {{l|fr|solive}} * {{l|fr|voiles}}、{{l|fr|Voiles}}、{{l|fr|voilés}} ==西班牙語== ===動詞=== {{head|es|動詞變位形式}} # {{es-verb form of|violar}} 1t9uvdht3sm3p9wjz6uj4bb40bifwom violéssim 0 3433990 9753551 2026-05-06T06:50:08Z TongcyBot 83009 半自動導入非詞元形式 9753551 wikitext text/x-wiki ==加泰羅尼亞語== ===動詞=== {{head|ca|動詞變位形式}} # {{ca-verb form of|violar}} fmupaaricb1vmbijf7jtm1p5uojmv9e violéssiu 0 3433991 9753552 2026-05-06T06:50:10Z TongcyBot 83009 半自動導入非詞元形式 9753552 wikitext text/x-wiki ==加泰羅尼亞語== ===動詞=== {{head|ca|動詞變位形式}} # {{ca-verb form of|violar}} fmupaaricb1vmbijf7jtm1p5uojmv9e violó 0 3433992 9753553 2026-05-06T06:50:11Z TongcyBot 83009 半自動導入非詞元形式 9753553 wikitext text/x-wiki {{also|violo|violò}} ==西班牙語== ===動詞=== {{head|es|動詞變位形式}} # {{es-verb form of|violar}} sxsgag1595fodibzubf3mtx9e2v52xt vióleme 0 3433993 9753554 2026-05-06T06:50:12Z TongcyBot 83009 半自動導入非詞元形式 9753554 wikitext text/x-wiki ==西班牙語== ===動詞=== {{head|es|動詞變位形式}} # {{es-verb form of|violar}} 72n095wd4ub5zrdn9uns5y2a4fxbn42 zarabutea 0 3433994 9753555 2026-05-06T06:50:13Z TongcyBot 83009 半自動導入非詞元形式 9753555 wikitext text/x-wiki ==西班牙語== ===動詞=== {{head|es|動詞變位形式}} # {{es-verb form of|zarabutear}} hspwkvz2z008rj4hb9mu4t1xweu018q zarabuteaba 0 3433995 9753556 2026-05-06T06:50:14Z TongcyBot 83009 半自動導入非詞元形式 9753556 wikitext text/x-wiki ==西班牙語== ===動詞=== {{head|es|動詞變位形式}} # {{es-verb form of|zarabutear}} hspwkvz2z008rj4hb9mu4t1xweu018q zarabuteabais 0 3433996 9753557 2026-05-06T06:50:16Z TongcyBot 83009 半自動導入非詞元形式 9753557 wikitext text/x-wiki ==西班牙語== ===動詞=== {{head|es|動詞變位形式}} # {{es-verb form of|zarabutear}} hspwkvz2z008rj4hb9mu4t1xweu018q zarabuteaban 0 3433997 9753558 2026-05-06T06:50:17Z TongcyBot 83009 半自動導入非詞元形式 9753558 wikitext text/x-wiki ==西班牙語== ===動詞=== {{head|es|動詞變位形式}} # {{es-verb form of|zarabutear}} hspwkvz2z008rj4hb9mu4t1xweu018q zarabuteabas 0 3433998 9753559 2026-05-06T06:50:19Z TongcyBot 83009 半自動導入非詞元形式 9753559 wikitext text/x-wiki ==西班牙語== ===動詞=== {{head|es|動詞變位形式}} # {{es-verb form of|zarabutear}} hspwkvz2z008rj4hb9mu4t1xweu018q zarabutead 0 3433999 9753560 2026-05-06T06:50:20Z TongcyBot 83009 半自動導入非詞元形式 9753560 wikitext text/x-wiki ==西班牙語== ===動詞=== {{head|es|動詞變位形式}} # {{es-verb form of|zarabutear}} hspwkvz2z008rj4hb9mu4t1xweu018q zarabuteada 0 3434000 9753561 2026-05-06T06:50:21Z TongcyBot 83009 半自動導入非詞元形式 9753561 wikitext text/x-wiki ==西班牙語== ===發音=== {{es-pr}} ===分詞=== {{head|es|分詞變格形}} # {{feminine singular of|es|zarabuteado}} pj5owlijfeoafivctzfdgrg0vafck3f zarabuteadas 0 3434001 9753562 2026-05-06T06:50:22Z TongcyBot 83009 半自動導入非詞元形式 9753562 wikitext text/x-wiki ==西班牙語== ===發音=== {{es-pr}} ===分詞=== {{head|es|分詞變格形}} # {{feminine plural of|es|zarabuteado}} rqwf51q7msgviw78xbnrsrstr3vsnlj zarabuteado 0 3434002 9753563 2026-05-06T06:50:24Z TongcyBot 83009 半自動導入非詞元形式 9753563 wikitext text/x-wiki ==西班牙語== ===發音=== {{es-pr}} ===分詞=== {{es-past participle}} # {{past participle of|es|zarabutear}} ihsfoefsqn0gdvbr9riczlauyu5veri zarabuteados 0 3434003 9753564 2026-05-06T06:50:25Z TongcyBot 83009 半自動導入非詞元形式 9753564 wikitext text/x-wiki ==西班牙語== ===發音=== {{es-pr}} ===分詞=== {{head|es|分詞變格形}} # {{masculine plural of|es|zarabuteado}} np09rb8yos2ubzhg2zm8k4ukma7k1m9 zarabuteamos 0 3434004 9753565 2026-05-06T06:50:26Z TongcyBot 83009 半自動導入非詞元形式 9753565 wikitext text/x-wiki ==西班牙語== ===動詞=== {{head|es|動詞變位形式}} # {{es-verb form of|zarabutear}} hspwkvz2z008rj4hb9mu4t1xweu018q zarabutean 0 3434005 9753566 2026-05-06T06:50:28Z TongcyBot 83009 半自動導入非詞元形式 9753566 wikitext text/x-wiki ==西班牙語== ===動詞=== {{head|es|動詞變位形式}} # {{es-verb form of|zarabutear}} hspwkvz2z008rj4hb9mu4t1xweu018q zarabuteando 0 3434006 9753567 2026-05-06T06:50:29Z TongcyBot 83009 半自動導入非詞元形式 9753567 wikitext text/x-wiki ==西班牙語== ===動詞=== {{head|es|動名詞}} # {{es-verb form of|zarabutear}} go5qzjerxtkl8ftd2be57d2s39otqxb zarabuteara 0 3434007 9753568 2026-05-06T06:50:31Z TongcyBot 83009 半自動導入非詞元形式 9753568 wikitext text/x-wiki ==西班牙語== ===動詞=== {{head|es|動詞變位形式}} # {{es-verb form of|zarabutear}} hspwkvz2z008rj4hb9mu4t1xweu018q zarabutearais 0 3434008 9753569 2026-05-06T06:50:32Z TongcyBot 83009 半自動導入非詞元形式 9753569 wikitext text/x-wiki ==西班牙語== ===動詞=== {{head|es|動詞變位形式}} # {{es-verb form of|zarabutear}} hspwkvz2z008rj4hb9mu4t1xweu018q zarabutearan 0 3434009 9753570 2026-05-06T06:50:34Z TongcyBot 83009 半自動導入非詞元形式 9753570 wikitext text/x-wiki ==西班牙語== ===動詞=== {{head|es|動詞變位形式}} # {{es-verb form of|zarabutear}} hspwkvz2z008rj4hb9mu4t1xweu018q zarabutearas 0 3434010 9753571 2026-05-06T06:50:35Z TongcyBot 83009 半自動導入非詞元形式 9753571 wikitext text/x-wiki ==西班牙語== ===動詞=== {{head|es|動詞變位形式}} # {{es-verb form of|zarabutear}} hspwkvz2z008rj4hb9mu4t1xweu018q zarabuteare 0 3434011 9753572 2026-05-06T06:50:36Z TongcyBot 83009 半自動導入非詞元形式 9753572 wikitext text/x-wiki ==西班牙語== ===動詞=== {{head|es|動詞變位形式}} # {{es-verb form of|zarabutear}} hspwkvz2z008rj4hb9mu4t1xweu018q zarabuteareis 0 3434012 9753573 2026-05-06T06:50:37Z TongcyBot 83009 半自動導入非詞元形式 9753573 wikitext text/x-wiki ==西班牙語== ===動詞=== {{head|es|動詞變位形式}} # {{es-verb form of|zarabutear}} hspwkvz2z008rj4hb9mu4t1xweu018q zarabutearemos 0 3434013 9753574 2026-05-06T06:50:38Z TongcyBot 83009 半自動導入非詞元形式 9753574 wikitext text/x-wiki ==西班牙語== ===動詞=== {{head|es|動詞變位形式}} # {{es-verb form of|zarabutear}} hspwkvz2z008rj4hb9mu4t1xweu018q zarabutearen 0 3434014 9753575 2026-05-06T06:50:40Z TongcyBot 83009 半自動導入非詞元形式 9753575 wikitext text/x-wiki ==西班牙語== ===動詞=== {{head|es|動詞變位形式}} # {{es-verb form of|zarabutear}} hspwkvz2z008rj4hb9mu4t1xweu018q zarabuteares 0 3434015 9753576 2026-05-06T06:50:41Z TongcyBot 83009 半自動導入非詞元形式 9753576 wikitext text/x-wiki ==西班牙語== ===動詞=== {{head|es|動詞變位形式}} # {{es-verb form of|zarabutear}} hspwkvz2z008rj4hb9mu4t1xweu018q zarabutearle 0 3434016 9753577 2026-05-06T06:50:43Z TongcyBot 83009 半自動導入非詞元形式 9753577 wikitext text/x-wiki ==西班牙語== ===動詞=== {{head|es|動詞變位形式}} # {{es-verb form of|zarabutear}} hspwkvz2z008rj4hb9mu4t1xweu018q zarabutearles 0 3434017 9753578 2026-05-06T06:50:44Z TongcyBot 83009 半自動導入非詞元形式 9753578 wikitext text/x-wiki ==西班牙語== ===動詞=== {{head|es|動詞變位形式}} # {{es-verb form of|zarabutear}} hspwkvz2z008rj4hb9mu4t1xweu018q zarabutearme 0 3434018 9753579 2026-05-06T06:50:46Z TongcyBot 83009 半自動導入非詞元形式 9753579 wikitext text/x-wiki ==西班牙語== ===動詞=== {{head|es|動詞變位形式}} # {{es-verb form of|zarabutear}} hspwkvz2z008rj4hb9mu4t1xweu018q zarabutearnos 0 3434019 9753580 2026-05-06T06:50:47Z TongcyBot 83009 半自動導入非詞元形式 9753580 wikitext text/x-wiki ==西班牙語== ===動詞=== {{head|es|動詞變位形式}} # {{es-verb form of|zarabutear}} hspwkvz2z008rj4hb9mu4t1xweu018q zarabutearon 0 3434020 9753581 2026-05-06T06:50:49Z TongcyBot 83009 半自動導入非詞元形式 9753581 wikitext text/x-wiki ==西班牙語== ===動詞=== {{head|es|動詞變位形式}} # {{es-verb form of|zarabutear}} hspwkvz2z008rj4hb9mu4t1xweu018q zarabutearos 0 3434021 9753582 2026-05-06T06:50:50Z TongcyBot 83009 半自動導入非詞元形式 9753582 wikitext text/x-wiki ==西班牙語== ===動詞=== {{head|es|動詞變位形式}} # {{es-verb form of|zarabutear}} hspwkvz2z008rj4hb9mu4t1xweu018q zarabutearse 0 3434022 9753583 2026-05-06T06:50:51Z TongcyBot 83009 半自動導入非詞元形式 9753583 wikitext text/x-wiki ==西班牙語== ===動詞=== {{head|es|動詞變位形式}} # {{es-verb form of|zarabutear}} hspwkvz2z008rj4hb9mu4t1xweu018q zarabutearte 0 3434023 9753584 2026-05-06T06:50:52Z TongcyBot 83009 半自動導入非詞元形式 9753584 wikitext text/x-wiki ==西班牙語== ===動詞=== {{head|es|動詞變位形式}} # {{es-verb form of|zarabutear}} hspwkvz2z008rj4hb9mu4t1xweu018q zarabuteará 0 3434024 9753585 2026-05-06T06:50:54Z TongcyBot 83009 半自動導入非詞元形式 9753585 wikitext text/x-wiki ==西班牙語== ===動詞=== {{head|es|動詞變位形式}} # {{es-verb form of|zarabutear}} hspwkvz2z008rj4hb9mu4t1xweu018q zarabutearán 0 3434025 9753586 2026-05-06T06:50:55Z TongcyBot 83009 半自動導入非詞元形式 9753586 wikitext text/x-wiki ==西班牙語== ===動詞=== {{head|es|動詞變位形式}} # {{es-verb form of|zarabutear}} hspwkvz2z008rj4hb9mu4t1xweu018q zarabutearé 0 3434026 9753587 2026-05-06T06:50:58Z TongcyBot 83009 半自動導入非詞元形式 9753587 wikitext text/x-wiki ==西班牙語== ===動詞=== {{head|es|動詞變位形式}} # {{es-verb form of|zarabutear}} hspwkvz2z008rj4hb9mu4t1xweu018q zarabutearás 0 3434027 9753588 2026-05-06T06:50:59Z TongcyBot 83009 半自動導入非詞元形式 9753588 wikitext text/x-wiki ==西班牙語== ===動詞=== {{head|es|動詞變位形式}} # {{es-verb form of|zarabutear}} hspwkvz2z008rj4hb9mu4t1xweu018q zarabutearéis 0 3434028 9753589 2026-05-06T06:51:01Z TongcyBot 83009 半自動導入非詞元形式 9753589 wikitext text/x-wiki ==西班牙語== ===動詞=== {{head|es|動詞變位形式}} # {{es-verb form of|zarabutear}} hspwkvz2z008rj4hb9mu4t1xweu018q zarabutearía 0 3434029 9753590 2026-05-06T06:51:02Z TongcyBot 83009 半自動導入非詞元形式 9753590 wikitext text/x-wiki ==西班牙語== ===動詞=== {{head|es|動詞變位形式}} # {{es-verb form of|zarabutear}} hspwkvz2z008rj4hb9mu4t1xweu018q zarabutearíais 0 3434030 9753591 2026-05-06T06:51:03Z TongcyBot 83009 半自動導入非詞元形式 9753591 wikitext text/x-wiki ==西班牙語== ===動詞=== {{head|es|動詞變位形式}} # {{es-verb form of|zarabutear}} hspwkvz2z008rj4hb9mu4t1xweu018q zarabutearíamos 0 3434031 9753592 2026-05-06T06:51:04Z TongcyBot 83009 半自動導入非詞元形式 9753592 wikitext text/x-wiki ==西班牙語== ===動詞=== {{head|es|動詞變位形式}} # {{es-verb form of|zarabutear}} hspwkvz2z008rj4hb9mu4t1xweu018q zarabutearían 0 3434032 9753593 2026-05-06T06:51:06Z TongcyBot 83009 半自動導入非詞元形式 9753593 wikitext text/x-wiki ==西班牙語== ===動詞=== {{head|es|動詞變位形式}} # {{es-verb form of|zarabutear}} hspwkvz2z008rj4hb9mu4t1xweu018q zarabutearías 0 3434033 9753594 2026-05-06T06:51:07Z TongcyBot 83009 半自動導入非詞元形式 9753594 wikitext text/x-wiki ==西班牙語== ===動詞=== {{head|es|動詞變位形式}} # {{es-verb form of|zarabutear}} hspwkvz2z008rj4hb9mu4t1xweu018q zarabuteas 0 3434034 9753595 2026-05-06T06:51:09Z TongcyBot 83009 半自動導入非詞元形式 9753595 wikitext text/x-wiki ==西班牙語== ===動詞=== {{head|es|動詞變位形式}} # {{es-verb form of|zarabutear}} hspwkvz2z008rj4hb9mu4t1xweu018q zarabutease 0 3434035 9753596 2026-05-06T06:51:10Z TongcyBot 83009 半自動導入非詞元形式 9753596 wikitext text/x-wiki ==西班牙語== ===動詞=== {{head|es|動詞變位形式}} # {{es-verb form of|zarabutear}} hspwkvz2z008rj4hb9mu4t1xweu018q zarabuteaseis 0 3434036 9753597 2026-05-06T06:51:12Z TongcyBot 83009 半自動導入非詞元形式 9753597 wikitext text/x-wiki ==西班牙語== ===動詞=== {{head|es|動詞變位形式}} # {{es-verb form of|zarabutear}} hspwkvz2z008rj4hb9mu4t1xweu018q zarabuteasen 0 3434037 9753598 2026-05-06T06:51:12Z TongcyBot 83009 半自動導入非詞元形式 9753598 wikitext text/x-wiki ==西班牙語== ===動詞=== {{head|es|動詞變位形式}} # {{es-verb form of|zarabutear}} hspwkvz2z008rj4hb9mu4t1xweu018q zarabuteases 0 3434038 9753599 2026-05-06T06:51:14Z TongcyBot 83009 半自動導入非詞元形式 9753599 wikitext text/x-wiki ==西班牙語== ===動詞=== {{head|es|動詞變位形式}} # {{es-verb form of|zarabutear}} hspwkvz2z008rj4hb9mu4t1xweu018q zarabuteaste 0 3434039 9753600 2026-05-06T06:51:15Z TongcyBot 83009 半自動導入非詞元形式 9753600 wikitext text/x-wiki ==西班牙語== ===動詞=== {{head|es|動詞變位形式}} # {{es-verb form of|zarabutear}} hspwkvz2z008rj4hb9mu4t1xweu018q zarabuteasteis 0 3434040 9753601 2026-05-06T06:51:16Z TongcyBot 83009 半自動導入非詞元形式 9753601 wikitext text/x-wiki ==西班牙語== ===動詞=== {{head|es|動詞變位形式}} # {{es-verb form of|zarabutear}} hspwkvz2z008rj4hb9mu4t1xweu018q zarabutee 0 3434041 9753602 2026-05-06T06:51:18Z TongcyBot 83009 半自動導入非詞元形式 9753602 wikitext text/x-wiki ==西班牙語== ===動詞=== {{head|es|動詞變位形式}} # {{es-verb form of|zarabutear}} hspwkvz2z008rj4hb9mu4t1xweu018q zarabuteemos 0 3434042 9753603 2026-05-06T06:51:19Z TongcyBot 83009 半自動導入非詞元形式 9753603 wikitext text/x-wiki ==西班牙語== ===動詞=== {{head|es|動詞變位形式}} # {{es-verb form of|zarabutear}} hspwkvz2z008rj4hb9mu4t1xweu018q zarabuteen 0 3434043 9753604 2026-05-06T06:51:20Z TongcyBot 83009 半自動導入非詞元形式 9753604 wikitext text/x-wiki ==西班牙語== ===動詞=== {{head|es|動詞變位形式}} # {{es-verb form of|zarabutear}} hspwkvz2z008rj4hb9mu4t1xweu018q zarabutees 0 3434044 9753605 2026-05-06T06:51:21Z TongcyBot 83009 半自動導入非詞元形式 9753605 wikitext text/x-wiki ==西班牙語== ===動詞=== {{head|es|動詞變位形式}} # {{es-verb form of|zarabutear}} hspwkvz2z008rj4hb9mu4t1xweu018q zarabuteo 0 3434045 9753606 2026-05-06T06:51:22Z TongcyBot 83009 半自動導入非詞元形式 9753606 wikitext text/x-wiki ==西班牙語== ===動詞=== {{head|es|動詞變位形式}} # {{es-verb form of|zarabutear}} hspwkvz2z008rj4hb9mu4t1xweu018q zarabuteá 0 3434046 9753607 2026-05-06T06:51:24Z TongcyBot 83009 半自動導入非詞元形式 9753607 wikitext text/x-wiki ==西班牙語== ===動詞=== {{head|es|動詞變位形式}} # {{es-verb form of|zarabutear}} hspwkvz2z008rj4hb9mu4t1xweu018q zarabuteábamos 0 3434047 9753608 2026-05-06T06:51:25Z TongcyBot 83009 半自動導入非詞元形式 9753608 wikitext text/x-wiki ==西班牙語== ===動詞=== {{head|es|動詞變位形式}} # {{es-verb form of|zarabutear}} hspwkvz2z008rj4hb9mu4t1xweu018q zarabuteáis 0 3434048 9753609 2026-05-06T06:51:27Z TongcyBot 83009 半自動導入非詞元形式 9753609 wikitext text/x-wiki ==西班牙語== ===動詞=== {{head|es|動詞變位形式}} # {{es-verb form of|zarabutear}} hspwkvz2z008rj4hb9mu4t1xweu018q zarabuteándola 0 3434049 9753610 2026-05-06T06:51:28Z TongcyBot 83009 半自動導入非詞元形式 9753610 wikitext text/x-wiki ==西班牙語== ===動詞=== {{head|es|動詞變位形式}} # {{es-verb form of|zarabutear}} hspwkvz2z008rj4hb9mu4t1xweu018q zarabuteándole 0 3434050 9753611 2026-05-06T06:51:29Z TongcyBot 83009 半自動導入非詞元形式 9753611 wikitext text/x-wiki ==西班牙語== ===動詞=== {{head|es|動詞變位形式}} # {{es-verb form of|zarabutear}} hspwkvz2z008rj4hb9mu4t1xweu018q zarabuteándolo 0 3434051 9753612 2026-05-06T06:51:30Z TongcyBot 83009 半自動導入非詞元形式 9753612 wikitext text/x-wiki ==西班牙語== ===動詞=== {{head|es|動詞變位形式}} # {{es-verb form of|zarabutear}} hspwkvz2z008rj4hb9mu4t1xweu018q zarabuteándome 0 3434052 9753613 2026-05-06T06:51:32Z TongcyBot 83009 半自動導入非詞元形式 9753613 wikitext text/x-wiki ==西班牙語== ===動詞=== {{head|es|動詞變位形式}} # {{es-verb form of|zarabutear}} hspwkvz2z008rj4hb9mu4t1xweu018q zarabuteándose 0 3434053 9753614 2026-05-06T06:51:33Z TongcyBot 83009 半自動導入非詞元形式 9753614 wikitext text/x-wiki ==西班牙語== ===動詞=== {{head|es|動詞變位形式}} # {{es-verb form of|zarabutear}} hspwkvz2z008rj4hb9mu4t1xweu018q zarabuteándote 0 3434054 9753615 2026-05-06T06:51:34Z TongcyBot 83009 半自動導入非詞元形式 9753615 wikitext text/x-wiki ==西班牙語== ===動詞=== {{head|es|動詞變位形式}} # {{es-verb form of|zarabutear}} hspwkvz2z008rj4hb9mu4t1xweu018q zarabuteáramos 0 3434055 9753616 2026-05-06T06:51:36Z TongcyBot 83009 半自動導入非詞元形式 9753616 wikitext text/x-wiki ==西班牙語== ===動詞=== {{head|es|動詞變位形式}} # {{es-verb form of|zarabutear}} hspwkvz2z008rj4hb9mu4t1xweu018q zarabuteáremos 0 3434056 9753617 2026-05-06T06:51:37Z TongcyBot 83009 半自動導入非詞元形式 9753617 wikitext text/x-wiki ==西班牙語== ===動詞=== {{head|es|動詞變位形式}} # {{es-verb form of|zarabutear}} hspwkvz2z008rj4hb9mu4t1xweu018q zarabuteás 0 3434057 9753618 2026-05-06T06:51:39Z TongcyBot 83009 半自動導入非詞元形式 9753618 wikitext text/x-wiki ==西班牙語== ===動詞=== {{head|es|動詞變位形式}} # {{es-verb form of|zarabutear}} hspwkvz2z008rj4hb9mu4t1xweu018q zarabuteásemos 0 3434058 9753619 2026-05-06T06:51:39Z TongcyBot 83009 半自動導入非詞元形式 9753619 wikitext text/x-wiki ==西班牙語== ===動詞=== {{head|es|動詞變位形式}} # {{es-verb form of|zarabutear}} hspwkvz2z008rj4hb9mu4t1xweu018q zarabuteé 0 3434059 9753620 2026-05-06T06:51:41Z TongcyBot 83009 半自動導入非詞元形式 9753620 wikitext text/x-wiki ==西班牙語== ===動詞=== {{head|es|動詞變位形式}} # {{es-verb form of|zarabutear}} hspwkvz2z008rj4hb9mu4t1xweu018q zarabuteéis 0 3434060 9753621 2026-05-06T06:51:43Z TongcyBot 83009 半自動導入非詞元形式 9753621 wikitext text/x-wiki ==西班牙語== ===動詞=== {{head|es|動詞變位形式}} # {{es-verb form of|zarabutear}} hspwkvz2z008rj4hb9mu4t1xweu018q zarabuteó 0 3434061 9753622 2026-05-06T06:51:45Z TongcyBot 83009 半自動導入非詞元形式 9753622 wikitext text/x-wiki ==西班牙語== ===動詞=== {{head|es|動詞變位形式}} # {{es-verb form of|zarabutear}} hspwkvz2z008rj4hb9mu4t1xweu018q zaragutea 0 3434062 9753623 2026-05-06T06:51:47Z TongcyBot 83009 半自動導入非詞元形式 9753623 wikitext text/x-wiki ==西班牙語== ===動詞=== {{head|es|動詞變位形式}} # {{es-verb form of|zaragutear}} h7jevkxo7eno6obycqnvar53sqjf8lc zarabuteés 0 3434063 9753624 2026-05-06T06:51:48Z TongcyBot 83009 半自動導入非詞元形式 9753624 wikitext text/x-wiki ==西班牙語== ===動詞=== {{head|es|動詞變位形式}} # {{es-verb form of|zarabutear}} hspwkvz2z008rj4hb9mu4t1xweu018q zaraguteaba 0 3434064 9753625 2026-05-06T06:51:49Z TongcyBot 83009 半自動導入非詞元形式 9753625 wikitext text/x-wiki ==西班牙語== ===動詞=== {{head|es|動詞變位形式}} # {{es-verb form of|zaragutear}} h7jevkxo7eno6obycqnvar53sqjf8lc zaraguteabais 0 3434065 9753626 2026-05-06T06:51:51Z TongcyBot 83009 半自動導入非詞元形式 9753626 wikitext text/x-wiki ==西班牙語== ===動詞=== {{head|es|動詞變位形式}} # {{es-verb form of|zaragutear}} h7jevkxo7eno6obycqnvar53sqjf8lc zaraguteaban 0 3434066 9753627 2026-05-06T06:51:52Z TongcyBot 83009 半自動導入非詞元形式 9753627 wikitext text/x-wiki ==西班牙語== ===動詞=== {{head|es|動詞變位形式}} # {{es-verb form of|zaragutear}} h7jevkxo7eno6obycqnvar53sqjf8lc zaraguteabas 0 3434067 9753628 2026-05-06T06:51:53Z TongcyBot 83009 半自動導入非詞元形式 9753628 wikitext text/x-wiki ==西班牙語== ===動詞=== {{head|es|動詞變位形式}} # {{es-verb form of|zaragutear}} h7jevkxo7eno6obycqnvar53sqjf8lc zaragutead 0 3434068 9753629 2026-05-06T06:51:55Z TongcyBot 83009 半自動導入非詞元形式 9753629 wikitext text/x-wiki ==西班牙語== ===動詞=== {{head|es|動詞變位形式}} # {{es-verb form of|zaragutear}} h7jevkxo7eno6obycqnvar53sqjf8lc zaraguteada 0 3434069 9753630 2026-05-06T06:51:56Z TongcyBot 83009 半自動導入非詞元形式 9753630 wikitext text/x-wiki ==西班牙語== ===發音=== {{es-pr}} ===分詞=== {{head|es|分詞變格形}} # {{feminine singular of|es|zaraguteado}} 2qz9uu1mr8cxswe26zrbg5jzevrdhqz zaraguteadas 0 3434070 9753631 2026-05-06T06:51:57Z TongcyBot 83009 半自動導入非詞元形式 9753631 wikitext text/x-wiki ==西班牙語== ===發音=== {{es-pr}} ===分詞=== {{head|es|分詞變格形}} # {{feminine plural of|es|zaraguteado}} 44kt4dn7mf2h89wts03g2u7rx9dfc48 zaraguteado 0 3434071 9753632 2026-05-06T06:51:59Z TongcyBot 83009 半自動導入非詞元形式 9753632 wikitext text/x-wiki ==西班牙語== ===發音=== {{es-pr}} ===分詞=== {{es-past participle}} # {{past participle of|es|zaragutear}} m1d9yv3ncyrsq8kfsr9fvi15rowcd6i zaraguteados 0 3434072 9753633 2026-05-06T06:52:00Z TongcyBot 83009 半自動導入非詞元形式 9753633 wikitext text/x-wiki ==西班牙語== ===發音=== {{es-pr}} ===分詞=== {{head|es|分詞變格形}} # {{masculine plural of|es|zaraguteado}} knzb93fd85ko8c542psjnjfxqyz6dv9 zaraguteamos 0 3434073 9753634 2026-05-06T06:52:02Z TongcyBot 83009 半自動導入非詞元形式 9753634 wikitext text/x-wiki ==西班牙語== ===動詞=== {{head|es|動詞變位形式}} # {{es-verb form of|zaragutear}} h7jevkxo7eno6obycqnvar53sqjf8lc zaragutean 0 3434074 9753635 2026-05-06T06:52:03Z TongcyBot 83009 半自動導入非詞元形式 9753635 wikitext text/x-wiki ==西班牙語== ===動詞=== {{head|es|動詞變位形式}} # {{es-verb form of|zaragutear}} h7jevkxo7eno6obycqnvar53sqjf8lc zaraguteando 0 3434075 9753636 2026-05-06T06:52:05Z TongcyBot 83009 半自動導入非詞元形式 9753636 wikitext text/x-wiki ==西班牙語== ===動詞=== {{head|es|動名詞}} # {{es-verb form of|zaragutear}} 3hqueubu5vvw108xg42mnfarb009ygk zaraguteara 0 3434076 9753637 2026-05-06T06:52:05Z TongcyBot 83009 半自動導入非詞元形式 9753637 wikitext text/x-wiki ==西班牙語== ===動詞=== {{head|es|動詞變位形式}} # {{es-verb form of|zaragutear}} h7jevkxo7eno6obycqnvar53sqjf8lc zaragutearais 0 3434077 9753638 2026-05-06T06:52:08Z TongcyBot 83009 半自動導入非詞元形式 9753638 wikitext text/x-wiki ==西班牙語== ===動詞=== {{head|es|動詞變位形式}} # {{es-verb form of|zaragutear}} h7jevkxo7eno6obycqnvar53sqjf8lc zaragutearan 0 3434078 9753639 2026-05-06T06:52:09Z TongcyBot 83009 半自動導入非詞元形式 9753639 wikitext text/x-wiki ==西班牙語== ===動詞=== {{head|es|動詞變位形式}} # {{es-verb form of|zaragutear}} h7jevkxo7eno6obycqnvar53sqjf8lc zaragutearas 0 3434079 9753640 2026-05-06T06:52:10Z TongcyBot 83009 半自動導入非詞元形式 9753640 wikitext text/x-wiki ==西班牙語== ===動詞=== {{head|es|動詞變位形式}} # {{es-verb form of|zaragutear}} h7jevkxo7eno6obycqnvar53sqjf8lc zaraguteare 0 3434080 9753641 2026-05-06T06:52:12Z TongcyBot 83009 半自動導入非詞元形式 9753641 wikitext text/x-wiki ==西班牙語== ===動詞=== {{head|es|動詞變位形式}} # {{es-verb form of|zaragutear}} h7jevkxo7eno6obycqnvar53sqjf8lc zaraguteareis 0 3434081 9753642 2026-05-06T06:52:13Z TongcyBot 83009 半自動導入非詞元形式 9753642 wikitext text/x-wiki ==西班牙語== ===動詞=== {{head|es|動詞變位形式}} # {{es-verb form of|zaragutear}} h7jevkxo7eno6obycqnvar53sqjf8lc zaragutearemos 0 3434082 9753643 2026-05-06T06:52:14Z TongcyBot 83009 半自動導入非詞元形式 9753643 wikitext text/x-wiki ==西班牙語== ===動詞=== {{head|es|動詞變位形式}} # {{es-verb form of|zaragutear}} h7jevkxo7eno6obycqnvar53sqjf8lc zaragutearen 0 3434083 9753644 2026-05-06T06:52:15Z TongcyBot 83009 半自動導入非詞元形式 9753644 wikitext text/x-wiki ==西班牙語== ===動詞=== {{head|es|動詞變位形式}} # {{es-verb form of|zaragutear}} h7jevkxo7eno6obycqnvar53sqjf8lc zaraguteares 0 3434084 9753645 2026-05-06T06:52:16Z TongcyBot 83009 半自動導入非詞元形式 9753645 wikitext text/x-wiki ==西班牙語== ===動詞=== {{head|es|動詞變位形式}} # {{es-verb form of|zaragutear}} h7jevkxo7eno6obycqnvar53sqjf8lc zaragutearon 0 3434085 9753646 2026-05-06T06:52:18Z TongcyBot 83009 半自動導入非詞元形式 9753646 wikitext text/x-wiki ==西班牙語== ===動詞=== {{head|es|動詞變位形式}} # {{es-verb form of|zaragutear}} h7jevkxo7eno6obycqnvar53sqjf8lc zaraguteará 0 3434086 9753647 2026-05-06T06:52:20Z TongcyBot 83009 半自動導入非詞元形式 9753647 wikitext text/x-wiki ==西班牙語== ===動詞=== {{head|es|動詞變位形式}} # {{es-verb form of|zaragutear}} h7jevkxo7eno6obycqnvar53sqjf8lc zaragutearán 0 3434087 9753648 2026-05-06T06:52:21Z TongcyBot 83009 半自動導入非詞元形式 9753648 wikitext text/x-wiki ==西班牙語== ===動詞=== {{head|es|動詞變位形式}} # {{es-verb form of|zaragutear}} h7jevkxo7eno6obycqnvar53sqjf8lc zaragutearás 0 3434088 9753649 2026-05-06T06:52:22Z TongcyBot 83009 半自動導入非詞元形式 9753649 wikitext text/x-wiki ==西班牙語== ===動詞=== {{head|es|動詞變位形式}} # {{es-verb form of|zaragutear}} h7jevkxo7eno6obycqnvar53sqjf8lc zaragutearé 0 3434089 9753650 2026-05-06T06:52:24Z TongcyBot 83009 半自動導入非詞元形式 9753650 wikitext text/x-wiki ==西班牙語== ===動詞=== {{head|es|動詞變位形式}} # {{es-verb form of|zaragutear}} h7jevkxo7eno6obycqnvar53sqjf8lc zaragutearéis 0 3434090 9753651 2026-05-06T06:52:25Z TongcyBot 83009 半自動導入非詞元形式 9753651 wikitext text/x-wiki ==西班牙語== ===動詞=== {{head|es|動詞變位形式}} # {{es-verb form of|zaragutear}} h7jevkxo7eno6obycqnvar53sqjf8lc zaragutearía 0 3434091 9753652 2026-05-06T06:52:27Z TongcyBot 83009 半自動導入非詞元形式 9753652 wikitext text/x-wiki ==西班牙語== ===動詞=== {{head|es|動詞變位形式}} # {{es-verb form of|zaragutear}} h7jevkxo7eno6obycqnvar53sqjf8lc zaragutearíais 0 3434092 9753653 2026-05-06T06:52:28Z TongcyBot 83009 半自動導入非詞元形式 9753653 wikitext text/x-wiki ==西班牙語== ===動詞=== {{head|es|動詞變位形式}} # {{es-verb form of|zaragutear}} h7jevkxo7eno6obycqnvar53sqjf8lc zaragutearíamos 0 3434093 9753654 2026-05-06T06:52:29Z TongcyBot 83009 半自動導入非詞元形式 9753654 wikitext text/x-wiki ==西班牙語== ===動詞=== {{head|es|動詞變位形式}} # {{es-verb form of|zaragutear}} h7jevkxo7eno6obycqnvar53sqjf8lc zaragutearían 0 3434094 9753655 2026-05-06T06:52:30Z TongcyBot 83009 半自動導入非詞元形式 9753655 wikitext text/x-wiki ==西班牙語== ===動詞=== {{head|es|動詞變位形式}} # {{es-verb form of|zaragutear}} h7jevkxo7eno6obycqnvar53sqjf8lc zaragutearías 0 3434095 9753656 2026-05-06T06:52:32Z TongcyBot 83009 半自動導入非詞元形式 9753656 wikitext text/x-wiki ==西班牙語== ===動詞=== {{head|es|動詞變位形式}} # {{es-verb form of|zaragutear}} h7jevkxo7eno6obycqnvar53sqjf8lc zaraguteas 0 3434096 9753657 2026-05-06T06:52:33Z TongcyBot 83009 半自動導入非詞元形式 9753657 wikitext text/x-wiki ==西班牙語== ===動詞=== {{head|es|動詞變位形式}} # {{es-verb form of|zaragutear}} h7jevkxo7eno6obycqnvar53sqjf8lc zaragutease 0 3434097 9753658 2026-05-06T06:52:34Z TongcyBot 83009 半自動導入非詞元形式 9753658 wikitext text/x-wiki ==西班牙語== ===動詞=== {{head|es|動詞變位形式}} # {{es-verb form of|zaragutear}} h7jevkxo7eno6obycqnvar53sqjf8lc zaraguteaseis 0 3434098 9753659 2026-05-06T06:52:36Z TongcyBot 83009 半自動導入非詞元形式 9753659 wikitext text/x-wiki ==西班牙語== ===動詞=== {{head|es|動詞變位形式}} # {{es-verb form of|zaragutear}} h7jevkxo7eno6obycqnvar53sqjf8lc zaraguteasen 0 3434099 9753660 2026-05-06T06:52:37Z TongcyBot 83009 半自動導入非詞元形式 9753660 wikitext text/x-wiki ==西班牙語== ===動詞=== {{head|es|動詞變位形式}} # {{es-verb form of|zaragutear}} h7jevkxo7eno6obycqnvar53sqjf8lc zaraguteases 0 3434100 9753661 2026-05-06T06:52:38Z TongcyBot 83009 半自動導入非詞元形式 9753661 wikitext text/x-wiki ==西班牙語== ===動詞=== {{head|es|動詞變位形式}} # {{es-verb form of|zaragutear}} h7jevkxo7eno6obycqnvar53sqjf8lc zaraguteaste 0 3434101 9753662 2026-05-06T06:52:40Z TongcyBot 83009 半自動導入非詞元形式 9753662 wikitext text/x-wiki ==西班牙語== ===動詞=== {{head|es|動詞變位形式}} # {{es-verb form of|zaragutear}} h7jevkxo7eno6obycqnvar53sqjf8lc zaraguteasteis 0 3434102 9753663 2026-05-06T06:52:41Z TongcyBot 83009 半自動導入非詞元形式 9753663 wikitext text/x-wiki ==西班牙語== ===動詞=== {{head|es|動詞變位形式}} # {{es-verb form of|zaragutear}} h7jevkxo7eno6obycqnvar53sqjf8lc zaragutee 0 3434103 9753664 2026-05-06T06:52:42Z TongcyBot 83009 半自動導入非詞元形式 9753664 wikitext text/x-wiki ==西班牙語== ===動詞=== {{head|es|動詞變位形式}} # {{es-verb form of|zaragutear}} h7jevkxo7eno6obycqnvar53sqjf8lc zaraguteemos 0 3434104 9753665 2026-05-06T06:52:44Z TongcyBot 83009 半自動導入非詞元形式 9753665 wikitext text/x-wiki ==西班牙語== ===動詞=== {{head|es|動詞變位形式}} # {{es-verb form of|zaragutear}} h7jevkxo7eno6obycqnvar53sqjf8lc zaraguteen 0 3434105 9753666 2026-05-06T06:52:46Z TongcyBot 83009 半自動導入非詞元形式 9753666 wikitext text/x-wiki ==西班牙語== ===動詞=== {{head|es|動詞變位形式}} # {{es-verb form of|zaragutear}} h7jevkxo7eno6obycqnvar53sqjf8lc zaragutees 0 3434106 9753667 2026-05-06T06:52:47Z TongcyBot 83009 半自動導入非詞元形式 9753667 wikitext text/x-wiki ==西班牙語== ===動詞=== {{head|es|動詞變位形式}} # {{es-verb form of|zaragutear}} h7jevkxo7eno6obycqnvar53sqjf8lc zaraguteo 0 3434107 9753668 2026-05-06T06:52:48Z TongcyBot 83009 半自動導入非詞元形式 9753668 wikitext text/x-wiki ==西班牙語== ===動詞=== {{head|es|動詞變位形式}} # {{es-verb form of|zaragutear}} h7jevkxo7eno6obycqnvar53sqjf8lc zaraguteá 0 3434108 9753669 2026-05-06T06:52:49Z TongcyBot 83009 半自動導入非詞元形式 9753669 wikitext text/x-wiki ==西班牙語== ===動詞=== {{head|es|動詞變位形式}} # {{es-verb form of|zaragutear}} h7jevkxo7eno6obycqnvar53sqjf8lc zaraguteábamos 0 3434109 9753670 2026-05-06T06:52:51Z TongcyBot 83009 半自動導入非詞元形式 9753670 wikitext text/x-wiki ==西班牙語== ===動詞=== {{head|es|動詞變位形式}} # {{es-verb form of|zaragutear}} h7jevkxo7eno6obycqnvar53sqjf8lc zaraguteáis 0 3434110 9753671 2026-05-06T06:52:52Z TongcyBot 83009 半自動導入非詞元形式 9753671 wikitext text/x-wiki ==西班牙語== ===動詞=== {{head|es|動詞變位形式}} # {{es-verb form of|zaragutear}} h7jevkxo7eno6obycqnvar53sqjf8lc zaraguteáramos 0 3434111 9753672 2026-05-06T06:52:53Z TongcyBot 83009 半自動導入非詞元形式 9753672 wikitext text/x-wiki ==西班牙語== ===動詞=== {{head|es|動詞變位形式}} # {{es-verb form of|zaragutear}} h7jevkxo7eno6obycqnvar53sqjf8lc zaraguteáremos 0 3434112 9753673 2026-05-06T06:52:55Z TongcyBot 83009 半自動導入非詞元形式 9753673 wikitext text/x-wiki ==西班牙語== ===動詞=== {{head|es|動詞變位形式}} # {{es-verb form of|zaragutear}} h7jevkxo7eno6obycqnvar53sqjf8lc zaraguteás 0 3434113 9753674 2026-05-06T06:52:56Z TongcyBot 83009 半自動導入非詞元形式 9753674 wikitext text/x-wiki ==西班牙語== ===動詞=== {{head|es|動詞變位形式}} # {{es-verb form of|zaragutear}} h7jevkxo7eno6obycqnvar53sqjf8lc zaraguteásemos 0 3434114 9753675 2026-05-06T06:52:58Z TongcyBot 83009 半自動導入非詞元形式 9753675 wikitext text/x-wiki ==西班牙語== ===動詞=== {{head|es|動詞變位形式}} # {{es-verb form of|zaragutear}} h7jevkxo7eno6obycqnvar53sqjf8lc zaraguteé 0 3434115 9753676 2026-05-06T06:52:59Z TongcyBot 83009 半自動導入非詞元形式 9753676 wikitext text/x-wiki ==西班牙語== ===動詞=== {{head|es|動詞變位形式}} # {{es-verb form of|zaragutear}} h7jevkxo7eno6obycqnvar53sqjf8lc zaraguteés 0 3434116 9753677 2026-05-06T06:53:01Z TongcyBot 83009 半自動導入非詞元形式 9753677 wikitext text/x-wiki ==西班牙語== ===動詞=== {{head|es|動詞變位形式}} # {{es-verb form of|zaragutear}} h7jevkxo7eno6obycqnvar53sqjf8lc zaraguteéis 0 3434117 9753678 2026-05-06T06:53:02Z TongcyBot 83009 半自動導入非詞元形式 9753678 wikitext text/x-wiki ==西班牙語== ===動詞=== {{head|es|動詞變位形式}} # {{es-verb form of|zaragutear}} h7jevkxo7eno6obycqnvar53sqjf8lc zaraguteó 0 3434118 9753679 2026-05-06T06:53:03Z TongcyBot 83009 半自動導入非詞元形式 9753679 wikitext text/x-wiki ==西班牙語== ===動詞=== {{head|es|動詞變位形式}} # {{es-verb form of|zaragutear}} h7jevkxo7eno6obycqnvar53sqjf8lc zigzaguea 0 3434119 9753680 2026-05-06T06:53:05Z TongcyBot 83009 半自動導入非詞元形式 9753680 wikitext text/x-wiki {{also|zigzagueá}} ==西班牙語== ===動詞=== {{head|es|動詞變位形式}} # {{es-verb form of|zigzaguear}} 6u0ed73tigsduu022g5tei0jxre1ji7 zigzagueaba 0 3434120 9753681 2026-05-06T06:53:06Z TongcyBot 83009 半自動導入非詞元形式 9753681 wikitext text/x-wiki ==西班牙語== ===動詞=== {{head|es|動詞變位形式}} # {{es-verb form of|zigzaguear}} 8tgbvg0hk78xj97cd1vlptj69fz2isn zigzagueabais 0 3434121 9753682 2026-05-06T06:53:07Z TongcyBot 83009 半自動導入非詞元形式 9753682 wikitext text/x-wiki ==西班牙語== ===動詞=== {{head|es|動詞變位形式}} # {{es-verb form of|zigzaguear}} 8tgbvg0hk78xj97cd1vlptj69fz2isn zigzagueaban 0 3434122 9753683 2026-05-06T06:53:10Z TongcyBot 83009 半自動導入非詞元形式 9753683 wikitext text/x-wiki ==西班牙語== ===動詞=== {{head|es|動詞變位形式}} # {{es-verb form of|zigzaguear}} 8tgbvg0hk78xj97cd1vlptj69fz2isn zigzagueabas 0 3434123 9753684 2026-05-06T06:53:11Z TongcyBot 83009 半自動導入非詞元形式 9753684 wikitext text/x-wiki ==西班牙語== ===動詞=== {{head|es|動詞變位形式}} # {{es-verb form of|zigzaguear}} 8tgbvg0hk78xj97cd1vlptj69fz2isn zigzaguead 0 3434124 9753685 2026-05-06T06:53:14Z TongcyBot 83009 半自動導入非詞元形式 9753685 wikitext text/x-wiki ==西班牙語== ===動詞=== {{head|es|動詞變位形式}} # {{es-verb form of|zigzaguear}} 8tgbvg0hk78xj97cd1vlptj69fz2isn zigzagueada 0 3434125 9753686 2026-05-06T06:53:15Z TongcyBot 83009 半自動導入非詞元形式 9753686 wikitext text/x-wiki ==西班牙語== ===發音=== {{es-pr}} ===分詞=== {{head|es|過去分詞變格形|g=f-s}} # {{feminine singular of|es|zigzagueado}} isb9m96me10igd7bo4xlq0h0oku8mdn zigzagueadas 0 3434126 9753687 2026-05-06T06:53:16Z TongcyBot 83009 半自動導入非詞元形式 9753687 wikitext text/x-wiki ==西班牙語== ===發音=== {{es-pr}} ===分詞=== {{head|es|過去分詞變格形|g=f-p}} # {{feminine plural of|es|zigzagueado}} 07is2gd37vdiepj3oh7yb2ut4u1t24z zigzagueado 0 3434127 9753688 2026-05-06T06:53:17Z TongcyBot 83009 半自動導入非詞元形式 9753688 wikitext text/x-wiki ==西班牙語== ===發音=== {{es-pr}} ===分詞=== {{es-past participle}} # {{past participle of|es|zigzaguear}} 9yunxkilenaffq1f91f2eth9xnc9097 zigzagueados 0 3434128 9753689 2026-05-06T06:53:19Z TongcyBot 83009 半自動導入非詞元形式 9753689 wikitext text/x-wiki ==西班牙語== ===發音=== {{es-pr}} ===分詞=== {{head|es|過去分詞變格形|g=m-p}} # {{masculine plural of|es|zigzagueado}} 4lqkwaagpqgu4u3jk0g3v6350j82g26 zigzagueamos 0 3434129 9753690 2026-05-06T06:53:20Z TongcyBot 83009 半自動導入非詞元形式 9753690 wikitext text/x-wiki ==西班牙語== ===動詞=== {{head|es|動詞變位形式}} # {{es-verb form of|zigzaguear}} 8tgbvg0hk78xj97cd1vlptj69fz2isn zigzaguean 0 3434130 9753691 2026-05-06T06:53:21Z TongcyBot 83009 半自動導入非詞元形式 9753691 wikitext text/x-wiki ==西班牙語== ===動詞=== {{head|es|動詞變位形式}} # {{es-verb form of|zigzaguear}} 8tgbvg0hk78xj97cd1vlptj69fz2isn zigzagueando 0 3434131 9753692 2026-05-06T06:53:22Z TongcyBot 83009 半自動導入非詞元形式 9753692 wikitext text/x-wiki ==西班牙語== ===動詞=== {{head|es|動名詞}} # {{es-verb form of|zigzaguear}} hj3bbncidcsxwimdlq110cfnnjjwh64 zigzagueara 0 3434132 9753693 2026-05-06T06:53:24Z TongcyBot 83009 半自動導入非詞元形式 9753693 wikitext text/x-wiki {{also|zigzagueará}} ==西班牙語== ===發音=== {{es-pr}} ===動詞=== {{head|es|動詞變位形式}} # {{es-verb form of|zigzaguear}} aujkzxnc903bli4j4qfot7t28racuxj zigzaguearais 0 3434133 9753694 2026-05-06T06:53:25Z TongcyBot 83009 半自動導入非詞元形式 9753694 wikitext text/x-wiki ==西班牙語== ===動詞=== {{head|es|動詞變位形式}} # {{es-verb form of|zigzaguear}} 8tgbvg0hk78xj97cd1vlptj69fz2isn zigzaguearan 0 3434134 9753695 2026-05-06T06:53:27Z TongcyBot 83009 半自動導入非詞元形式 9753695 wikitext text/x-wiki {{also|zigzaguearán}} ==西班牙語== ===動詞=== {{head|es|動詞變位形式}} # {{es-verb form of|zigzaguear}} nbgr9mny7t5iln3foblivtzme4o4hlk zigzaguearas 0 3434135 9753696 2026-05-06T06:53:28Z TongcyBot 83009 半自動導入非詞元形式 9753696 wikitext text/x-wiki {{also|zigzaguearás}} ==西班牙語== ===動詞=== {{head|es|動詞變位形式}} # {{es-verb form of|zigzaguear}} 6z51czttejk5lt62bksvu523eiywkak zigzagueare 0 3434136 9753697 2026-05-06T06:53:30Z TongcyBot 83009 半自動導入非詞元形式 9753697 wikitext text/x-wiki {{also|zigzaguearé}} ==西班牙語== ===動詞=== {{head|es|動詞變位形式}} # {{es-verb form of|zigzaguear}} d17279k4ek4044m1zr1ed4h4gfqg4ab zigzagueareis 0 3434137 9753698 2026-05-06T06:53:30Z TongcyBot 83009 半自動導入非詞元形式 9753698 wikitext text/x-wiki {{also|zigzaguearéis}} ==西班牙語== ===動詞=== {{head|es|動詞變位形式}} # {{es-verb form of|zigzaguear}} eaq6ozisgc1at44xiezdq9ajnjwwcy0 zigzaguearemos 0 3434138 9753699 2026-05-06T06:53:32Z TongcyBot 83009 半自動導入非詞元形式 9753699 wikitext text/x-wiki {{also|zigzagueáremos}} ==西班牙語== ===動詞=== {{head|es|動詞變位形式}} # {{es-verb form of|zigzaguear}} 39134g7ynzcvevppl658c8jjpzn2ylh zigzaguearen 0 3434139 9753700 2026-05-06T06:53:33Z TongcyBot 83009 半自動導入非詞元形式 9753700 wikitext text/x-wiki ==西班牙語== ===動詞=== {{head|es|動詞變位形式}} # {{es-verb form of|zigzaguear}} 8tgbvg0hk78xj97cd1vlptj69fz2isn zigzagueares 0 3434140 9753701 2026-05-06T06:53:35Z TongcyBot 83009 半自動導入非詞元形式 9753701 wikitext text/x-wiki ==西班牙語== ===發音=== {{es-pr}} ===動詞=== {{head|es|動詞變位形式}} # {{es-verb form of|zigzaguear}} rkitpl6kd11m6qq6istmnajd8at4m7e zigzaguearon 0 3434141 9753702 2026-05-06T06:53:36Z TongcyBot 83009 半自動導入非詞元形式 9753702 wikitext text/x-wiki ==西班牙語== ===動詞=== {{head|es|動詞變位形式}} # {{es-verb form of|zigzaguear}} 8tgbvg0hk78xj97cd1vlptj69fz2isn zigzagueará 0 3434142 9753703 2026-05-06T06:53:37Z TongcyBot 83009 半自動導入非詞元形式 9753703 wikitext text/x-wiki {{also|zigzagueara}} ==西班牙語== ===動詞=== {{head|es|動詞變位形式}} # {{es-verb form of|zigzaguear}} gx5kh4k5s3i3imq0qoi9resmcj3m1wg zigzaguearán 0 3434143 9753704 2026-05-06T06:53:38Z TongcyBot 83009 半自動導入非詞元形式 9753704 wikitext text/x-wiki {{also|zigzaguearan}} ==西班牙語== ===動詞=== {{head|es|動詞變位形式}} # {{es-verb form of|zigzaguear}} t96go75lpeak4pzelbk87i6vjmiik39 zigzaguearás 0 3434144 9753705 2026-05-06T06:53:40Z TongcyBot 83009 半自動導入非詞元形式 9753705 wikitext text/x-wiki {{also|zigzaguearas}} ==西班牙語== ===動詞=== {{head|es|動詞變位形式}} # {{es-verb form of|zigzaguear}} 7hsp1b500i5lqk1zesit23pviyxb8o1 zigzaguearé 0 3434145 9753706 2026-05-06T06:53:41Z TongcyBot 83009 半自動導入非詞元形式 9753706 wikitext text/x-wiki {{also|zigzagueare}} ==西班牙語== ===動詞=== {{head|es|動詞變位形式}} # {{es-verb form of|zigzaguear}} qrpdytfq24yiwbun7f76i02w8bkmjw8 zigzaguearéis 0 3434146 9753707 2026-05-06T06:53:42Z TongcyBot 83009 半自動導入非詞元形式 9753707 wikitext text/x-wiki {{also|zigzagueareis}} ==西班牙語== ===動詞=== {{head|es|動詞變位形式}} # {{es-verb form of|zigzaguear}} 1rkc91n0fhavck0mf7iweodfahjh45b zigzaguearía 0 3434147 9753708 2026-05-06T06:53:43Z TongcyBot 83009 半自動導入非詞元形式 9753708 wikitext text/x-wiki ==西班牙語== ===動詞=== {{head|es|動詞變位形式}} # {{es-verb form of|zigzaguear}} 8tgbvg0hk78xj97cd1vlptj69fz2isn zigzaguearíais 0 3434148 9753709 2026-05-06T06:53:45Z TongcyBot 83009 半自動導入非詞元形式 9753709 wikitext text/x-wiki ==西班牙語== ===動詞=== {{head|es|動詞變位形式}} # {{es-verb form of|zigzaguear}} 8tgbvg0hk78xj97cd1vlptj69fz2isn zigzaguearíamos 0 3434149 9753710 2026-05-06T06:53:46Z TongcyBot 83009 半自動導入非詞元形式 9753710 wikitext text/x-wiki ==西班牙語== ===動詞=== {{head|es|動詞變位形式}} # {{es-verb form of|zigzaguear}} 8tgbvg0hk78xj97cd1vlptj69fz2isn zigzaguearían 0 3434150 9753711 2026-05-06T06:53:47Z TongcyBot 83009 半自動導入非詞元形式 9753711 wikitext text/x-wiki ==西班牙語== ===動詞=== {{head|es|動詞變位形式}} # {{es-verb form of|zigzaguear}} 8tgbvg0hk78xj97cd1vlptj69fz2isn zigzaguearías 0 3434151 9753712 2026-05-06T06:53:49Z TongcyBot 83009 半自動導入非詞元形式 9753712 wikitext text/x-wiki ==西班牙語== ===動詞=== {{head|es|動詞變位形式}} # {{es-verb form of|zigzaguear}} 8tgbvg0hk78xj97cd1vlptj69fz2isn zigzagueas 0 3434152 9753713 2026-05-06T06:53:50Z TongcyBot 83009 半自動導入非詞元形式 9753713 wikitext text/x-wiki {{also|zigzagueás}} ==西班牙語== ===動詞=== {{head|es|動詞變位形式}} # {{es-verb form of|zigzaguear}} nm0234a6f6i7yy07v5e3i7f0vxw8szx zigzaguease 0 3434153 9753714 2026-05-06T06:53:51Z TongcyBot 83009 半自動導入非詞元形式 9753714 wikitext text/x-wiki ==西班牙語== ===動詞=== {{head|es|動詞變位形式}} # {{es-verb form of|zigzaguear}} 8tgbvg0hk78xj97cd1vlptj69fz2isn zigzagueaseis 0 3434154 9753715 2026-05-06T06:53:53Z TongcyBot 83009 半自動導入非詞元形式 9753715 wikitext text/x-wiki ==西班牙語== ===動詞=== {{head|es|動詞變位形式}} # {{es-verb form of|zigzaguear}} 8tgbvg0hk78xj97cd1vlptj69fz2isn zigzagueasen 0 3434155 9753716 2026-05-06T06:53:54Z TongcyBot 83009 半自動導入非詞元形式 9753716 wikitext text/x-wiki ==西班牙語== ===動詞=== {{head|es|動詞變位形式}} # {{es-verb form of|zigzaguear}} 8tgbvg0hk78xj97cd1vlptj69fz2isn zigzagueases 0 3434156 9753717 2026-05-06T06:53:56Z TongcyBot 83009 半自動導入非詞元形式 9753717 wikitext text/x-wiki ==西班牙語== ===動詞=== {{head|es|動詞變位形式}} # {{es-verb form of|zigzaguear}} 8tgbvg0hk78xj97cd1vlptj69fz2isn zigzagueaste 0 3434157 9753718 2026-05-06T06:53:57Z TongcyBot 83009 半自動導入非詞元形式 9753718 wikitext text/x-wiki ==西班牙語== ===動詞=== {{head|es|動詞變位形式}} # {{es-verb form of|zigzaguear}} 8tgbvg0hk78xj97cd1vlptj69fz2isn zigzagueasteis 0 3434158 9753719 2026-05-06T06:53:58Z TongcyBot 83009 半自動導入非詞元形式 9753719 wikitext text/x-wiki ==西班牙語== ===動詞=== {{head|es|動詞變位形式}} # {{es-verb form of|zigzaguear}} 8tgbvg0hk78xj97cd1vlptj69fz2isn zigzaguee 0 3434159 9753720 2026-05-06T06:54:00Z TongcyBot 83009 半自動導入非詞元形式 9753720 wikitext text/x-wiki {{also|zigzagueé|zigzaguée}} ==西班牙語== ===動詞=== {{head|es|動詞變位形式}} # {{es-verb form of|zigzaguear}} pliwf9fnlxe0uhkjgj6lk0ywt6euf93 zigzagueemos 0 3434160 9753721 2026-05-06T06:54:01Z TongcyBot 83009 半自動導入非詞元形式 9753721 wikitext text/x-wiki ==西班牙語== ===動詞=== {{head|es|動詞變位形式}} # {{es-verb form of|zigzaguear}} 8tgbvg0hk78xj97cd1vlptj69fz2isn zigzagueen 0 3434161 9753722 2026-05-06T06:54:02Z TongcyBot 83009 半自動導入非詞元形式 9753722 wikitext text/x-wiki ==西班牙語== ===動詞=== {{head|es|動詞變位形式}} # {{es-verb form of|zigzaguear}} 8tgbvg0hk78xj97cd1vlptj69fz2isn zigzaguees 0 3434162 9753723 2026-05-06T06:54:03Z TongcyBot 83009 半自動導入非詞元形式 9753723 wikitext text/x-wiki {{also|zigzagueés|zigzaguées}} ==西班牙語== ===動詞=== {{head|es|動詞變位形式}} # {{es-verb form of|zigzaguear}} o340hypxt6sk2mkilg5r6ztljbjzf5y zigzagueo 0 3434163 9753724 2026-05-06T06:54:04Z TongcyBot 83009 半自動導入非詞元形式 9753724 wikitext text/x-wiki {{also|zigzagueó}} ==西班牙語== ===發音=== {{es-pr|+,tsigzagueo}} ===詞源1=== 源自 {{af|es|zigzaguear|gloss1=to zigzag|-eo}}。 ====名詞==== {{es-noun|m}} # the action of [[zigzagging]] ===詞源2=== ====動詞==== {{head|es|動詞變位形式}} # {{es-verb form of|zigzaguear}} ===延伸閱讀=== * {{R:es:DRAE}} toq7vbq814qilq88bkff19h107vuhrj 9753747 9753724 2026-05-06T07:26:38Z Sayonzei 40728 /* 詞源1 */ 9753747 wikitext text/x-wiki {{also|zigzagueó}} ==西班牙語== ===發音=== {{es-pr|+,tsigzagueo}} ===詞源1=== 源自 {{af|es|zigzaguear|-eo}}。 ====名詞==== {{es-noun|m}} # [[蜿蜒]] ===詞源2=== ====動詞==== {{head|es|動詞變位形式}} # {{es-verb form of|zigzaguear}} ===延伸閱讀=== * {{R:es:DRAE}} dx4zy4tb4lah7nefjo8un6yw41x9oid zigzagueá 0 3434164 9753725 2026-05-06T06:54:06Z TongcyBot 83009 半自動導入非詞元形式 9753725 wikitext text/x-wiki {{also|zigzaguea}} ==西班牙語== ===動詞=== {{head|es|動詞變位形式}} # {{es-verb form of|zigzaguear}} ggs9eqh1vmgbqll38z3mafvj6p02t3l zigzagueábamos 0 3434165 9753726 2026-05-06T06:54:08Z TongcyBot 83009 半自動導入非詞元形式 9753726 wikitext text/x-wiki ==西班牙語== ===動詞=== {{head|es|動詞變位形式}} # {{es-verb form of|zigzaguear}} 8tgbvg0hk78xj97cd1vlptj69fz2isn zigzagueáis 0 3434166 9753727 2026-05-06T06:54:09Z TongcyBot 83009 半自動導入非詞元形式 9753727 wikitext text/x-wiki ==西班牙語== ===動詞=== {{head|es|動詞變位形式}} # {{es-verb form of|zigzaguear}} 8tgbvg0hk78xj97cd1vlptj69fz2isn zigzagueáramos 0 3434167 9753728 2026-05-06T06:54:10Z TongcyBot 83009 半自動導入非詞元形式 9753728 wikitext text/x-wiki ==西班牙語== ===動詞=== {{head|es|動詞變位形式}} # {{es-verb form of|zigzaguear}} 8tgbvg0hk78xj97cd1vlptj69fz2isn zigzagueáremos 0 3434168 9753729 2026-05-06T06:54:11Z TongcyBot 83009 半自動導入非詞元形式 9753729 wikitext text/x-wiki {{also|zigzaguearemos}} ==西班牙語== ===動詞=== {{head|es|動詞變位形式}} # {{es-verb form of|zigzaguear}} jnyur1909ry8gxxutcwu5lm946fh7ri zigzagueás 0 3434169 9753730 2026-05-06T06:54:13Z TongcyBot 83009 半自動導入非詞元形式 9753730 wikitext text/x-wiki {{also|zigzagueas}} ==西班牙語== ===動詞=== {{head|es|動詞變位形式}} # {{es-verb form of|zigzaguear}} 1isgmt37whqobng1mthynljhxldsw58 zigzagueásemos 0 3434170 9753731 2026-05-06T06:54:14Z TongcyBot 83009 半自動導入非詞元形式 9753731 wikitext text/x-wiki ==西班牙語== ===動詞=== {{head|es|動詞變位形式}} # {{es-verb form of|zigzaguear}} 8tgbvg0hk78xj97cd1vlptj69fz2isn zigzagueé 0 3434171 9753732 2026-05-06T06:54:15Z TongcyBot 83009 半自動導入非詞元形式 9753732 wikitext text/x-wiki {{also|zigzaguee|zigzaguée}} ==西班牙語== ===動詞=== {{head|es|動詞變位形式}} # {{es-verb form of|zigzaguear}} c9kprpzlskxhnaojwbovl58xmqm2ti0 zigzagueéis 0 3434172 9753733 2026-05-06T06:54:16Z TongcyBot 83009 半自動導入非詞元形式 9753733 wikitext text/x-wiki ==西班牙語== ===動詞=== {{head|es|動詞變位形式}} # {{es-verb form of|zigzaguear}} 8tgbvg0hk78xj97cd1vlptj69fz2isn zigzagueés 0 3434173 9753734 2026-05-06T06:54:17Z TongcyBot 83009 半自動導入非詞元形式 9753734 wikitext text/x-wiki {{also|zigzaguees|zigzaguées}} ==西班牙語== ===動詞=== {{head|es|動詞變位形式}} # {{es-verb form of|zigzaguear}} 9j1uenpopwlrsq6dabxqxops09373gd zigzagueó 0 3434174 9753735 2026-05-06T06:54:19Z TongcyBot 83009 半自動導入非詞元形式 9753735 wikitext text/x-wiki {{also|zigzagueo}} ==西班牙語== ===動詞=== {{head|es|動詞變位形式}} # {{es-verb form of|zigzaguear}} 40sqvkiqnoiwargl7437m18zh9qhss8 validée 0 3434175 9753744 2026-05-06T07:25:42Z Sayonzei 40728 創建法語「[[validé]]」的非詞元形式([[WT:ACCEL|ACCEL]]) 9753744 wikitext text/x-wiki ==法語== ===分詞=== {{head|fr|過去分詞變格形|g=f-s}} # {{feminine singular of|fr|validé}} 3432lwfnxo4vlypq6nvl5b69p5xhlg7 validées 0 3434176 9753745 2026-05-06T07:25:44Z Sayonzei 40728 [[w:WP:AES|←]]建立內容為「==法語== ===分詞=== {{head|fr|過去分詞變格形|g=f-p}} # {{feminine plural of|fr|validé}} ===異序詞=== * {{l|fr|dévalise}}、{{l|fr|dévalisé}}」的新頁面 9753745 wikitext text/x-wiki ==法語== ===分詞=== {{head|fr|過去分詞變格形|g=f-p}} # {{feminine plural of|fr|validé}} ===異序詞=== * {{l|fr|dévalise}}、{{l|fr|dévalisé}} s7u4485xx1xft1mnx7v3ekz646497wo zigzagueos 0 3434177 9753748 2026-05-06T07:26:54Z Sayonzei 40728 [[w:WP:AES|←]]建立內容為「==西班牙語== ===名詞=== {{head|es|名詞變格形}} # {{plural of|es|zigzagueo}}」的新頁面 9753748 wikitext text/x-wiki ==西班牙語== ===名詞=== {{head|es|名詞變格形}} # {{plural of|es|zigzagueo}} mqjo1t0dr1tznazw2k9b84nifjnkedu Category:帶「𠩇」的漢語詞 14 3434178 9753763 2026-05-06T08:31:34Z TongcyBot 83009 養貓 9753763 wikitext text/x-wiki {{auto cat}} eomzlm5v4j7ond1phrju7cnue91g5qx Category:帶「𠩇」的詞 14 3434179 9753764 2026-05-06T08:31:40Z TongcyBot 83009 養貓 9753764 wikitext text/x-wiki {{auto cat}} eomzlm5v4j7ond1phrju7cnue91g5qx Category:帶「𧈹」的漢語詞 14 3434180 9753765 2026-05-06T08:31:47Z TongcyBot 83009 養貓 9753765 wikitext text/x-wiki {{auto cat}} eomzlm5v4j7ond1phrju7cnue91g5qx Category:帶「𧈹」的詞 14 3434181 9753766 2026-05-06T08:31:52Z TongcyBot 83009 養貓 9753766 wikitext text/x-wiki {{auto cat}} eomzlm5v4j7ond1phrju7cnue91g5qx Category:帶「𧈸」的漢語詞 14 3434182 9753767 2026-05-06T08:31:59Z TongcyBot 83009 養貓 9753767 wikitext text/x-wiki {{auto cat}} eomzlm5v4j7ond1phrju7cnue91g5qx Category:帶「𧈸」的詞 14 3434183 9753768 2026-05-06T08:32:05Z TongcyBot 83009 養貓 9753768 wikitext text/x-wiki {{auto cat}} eomzlm5v4j7ond1phrju7cnue91g5qx Category:帶「𧦌」的漢語詞 14 3434184 9753769 2026-05-06T08:32:12Z TongcyBot 83009 養貓 9753769 wikitext text/x-wiki {{auto cat}} eomzlm5v4j7ond1phrju7cnue91g5qx Category:帶「𧦌」的詞 14 3434185 9753770 2026-05-06T08:32:18Z TongcyBot 83009 養貓 9753770 wikitext text/x-wiki {{auto cat}} eomzlm5v4j7ond1phrju7cnue91g5qx Category:帶「𧦱」的漢語詞 14 3434186 9753771 2026-05-06T08:32:25Z TongcyBot 83009 養貓 9753771 wikitext text/x-wiki {{auto cat}} eomzlm5v4j7ond1phrju7cnue91g5qx Category:帶「𧦱」的詞 14 3434187 9753772 2026-05-06T08:32:31Z TongcyBot 83009 養貓 9753772 wikitext text/x-wiki {{auto cat}} eomzlm5v4j7ond1phrju7cnue91g5qx Category:帶「𧦲」的漢語詞 14 3434188 9753773 2026-05-06T08:32:38Z TongcyBot 83009 養貓 9753773 wikitext text/x-wiki {{auto cat}} eomzlm5v4j7ond1phrju7cnue91g5qx Category:帶「𧦲」的詞 14 3434189 9753774 2026-05-06T08:32:44Z TongcyBot 83009 養貓 9753774 wikitext text/x-wiki {{auto cat}} eomzlm5v4j7ond1phrju7cnue91g5qx Module:Lt-pron 828 3434190 9753777 2026-05-06T08:51:32Z TongcyDai 53191 [[w:WP:AES|←]]建立內容為「--[==[ 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_langdata = require("Module:languages/data") local u = m_str.char local ulower = m_str.lower local usub = m_str.sub local ulen = m_str.len -- Accent mark constants local c = m_langdata.chars local GRAVE = c.grave -- U+03…」的新頁面 9753777 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_langdata = require("Module:languages/data") local u = m_str.char local ulower = m_str.lower local usub = m_str.sub local ulen = m_str.len -- Accent mark constants local c = m_langdata.chars local GRAVE = c.grave -- U+0300 local ACUTE = c.acute -- U+0301 local TILDE = c.tilde -- U+0303 -- 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) local function remove_all_accents(text) -- Convert to NFD to separate base characters from combining marks local nfd = mw.ustring.toNFD(text) -- Remove combining accent marks (grave, acute, tilde) local clean = mw.ustring.gsub(nfd, "["..GRAVE..ACUTE..TILDE.."]", "") -- Return as NFD (don't convert back to NFC) return clean 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 = mw.ustring.gsub(input_clean, "[%^%.]", "") -- Remove <base:...> if present input_clean = mw.ustring.gsub(input_clean, "<base:[^>]+>", "") -- Remove literal ˌ input_clean = mw.ustring.gsub(input_clean, "ˌ", "") -- Remove softening mark ʼ input_clean = mw.ustring.gsub(input_clean, "ʼ", "") -- Remove (j) markers - replace with j for comparison input_clean = mw.ustring.gsub(input_clean, "%(j%)", "j") -- Remove spaces for comparison input_clean = mw.ustring.gsub(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 = mw.ustring.gsub(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 <= mw.ustring.len(input_clean) do local input_char = mw.ustring.sub(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 <= mw.ustring.len(pagename_clean) and mw.ustring.sub(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 local function safe_normalize(text) local INVALID_CHARS = { [0xE001] = { replace = "ą́" }, [0xE003] = { replace = "ą̃" }, [0xE005] = { replace = "ę́" }, [0xE007] = { replace = "ę̃" }, [0xE009] = { replace = "ė́" }, [0xE00B] = { replace = "ė̃" }, [0xE00C] = { replace = "i̇̀" }, [0xE00D] = { replace = "i̇́" }, [0xE00E] = { replace = "i̇̃" }, [0xE010] = { replace = "į̇́" }, [0xE012] = { replace = "į̇̃" }, [0xE014] = { replace = "j̇̃" }, [0xE016] = { replace = "l̃" }, [0xE018] = { replace = "m̃" }, [0xE01A] = { replace = "r̃" }, [0xE01C] = { replace = "ų́" }, [0xE01E] = { replace = "ų̃" }, [0xE020] = { replace = "ū́" }, [0xE022] = { replace = "ū̃" }, -- Note: U+0307 (dotabove) is no longer rejected, but normalized below } -- Reject non-standard/PUA characters to enforce clean Wiktionary source for codepoint, data in pairs(INVALID_CHARS) do local char = mw.ustring.char(codepoint) if mw.ustring.find(text, char) then if data.custom_msg then error(data.custom_msg) else local hex_str = string.format("%04X", codepoint) error(string.format( 'lt-pron: Private use area character U+%s "%s" detected. Please use "%s" instead.', hex_str, char, data.replace )) end end end -- Convert to NFD for normalization text = mw.ustring.toNFD(text) -- Track non-standard input formats (before normalization) local DOT_AB = u(0x0307) local OGONEK = u(0x0328) -- Detect dotless i/j if mw.ustring.find(text, "[ıȷ]") then track('dotless-ij') end -- Detect precomposed i/j with accents (should be i + dotabove + accent) if mw.ustring.find(text, "[íìĩ]") then track('precomposed-i-accent') end -- Detect explicit dotabove usage (which is actually correct for accented i/j) if mw.ustring.find(text, "[ij]" .. DOT_AB) then track('explicit-dotabove') end -- Normalize i/j with dotabove (remove dotabove, convert dotless to standard) -- This handles: i̇, j̇, ı, ȷ, į̇ -> i, j, i, j, į text = mw.ustring.gsub(text, "([iıjȷ])(" .. OGONEK .. "?)" .. DOT_AB, function(base, below) base = (base == "ı") and "i" or (base == "ȷ") and "j" or base return base .. below end) -- Convert any remaining dotless forms to standard dotted forms text = mw.ustring.gsub(text, "ı", "i") text = mw.ustring.gsub(text, "ȷ", "j") -- Convert back to NFC and parse tones text = mw.ustring.toNFC(text) local result = {} local i = 1 while i <= mw.ustring.len(text) do local c = mw.ustring.sub(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 = mw.ustring.sub(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 = mw.text.split(TONE_MAP[combined], ",") -- Preserve original case of base character local base_char = parts[1] if c ~= c_lower then base_char = mw.ustring.upper(base_char) end insert(result, {char = base_char, tone = parts[2]}) i = i + 2 elseif TONE_MAP[c_lower] then local parts = mw.text.split(TONE_MAP[c_lower], ",") -- Preserve original case of base character local base_char = parts[1] if c ~= c_lower then base_char = mw.ustring.upper(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 -- Display text helper: Insert dotabove between i/j and accent marks -- (Based on Module:lt-common.makeDisplayText) local function makeDisplayText(text) local DOT_AB = u(0x0307) local OGONEK = u(0x0328) -- Convert to NFD for processing text = mw.ustring.toNFD(text) -- Insert dotabove between i/j and accent marks text = mw.ustring.gsub(text, "([ij])(" .. OGONEK .. "?)([" .. GRAVE .. ACUTE .. TILDE .. "])", function(base, below, accent) return base .. below .. DOT_AB .. accent end) -- Convert back to NFC return mw.ustring.toNFC(text) 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 mw.ustring.sub(word_str, -mw.ustring.len(suff)) == suff then matched_loan_suff = suff; break end end if matched_loan_suff then local suff_len = mw.ustring.len(matched_loan_suff) local acc_len = 0 for i = #tokens, 1, -1 do local t = tokens[i] acc_len = acc_len + mw.ustring.len(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 = mw.ustring.sub(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 = mw.ustring.len(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 = mw.ustring.sub(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 mw.ustring.len(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 = mw.ustring.sub(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 = mw.ustring.sub(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 tok.ipa = CONS_IPA[tok.char] or tok.char end end end end -- ============================================================================ -- SECTION 6: Phonetic Polish Passes -- ============================================================================ -- Pass 1: Palatalization Spreading (Right-to-Left) local function apply_palatalization(syllables) -- 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 = 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 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 if target_voice == nil then -- Establish new assimilation target target_voice = is_voiced(tok.char) and "voiced" or "voiceless" else -- Assimilate local current_is_voiced = is_voiced(tok.char) if target_voice == "voiced" and not current_is_voiced then tok.char = VOICING_PAIRS[tok.char] or tok.char elseif target_voice == "voiceless" and current_is_voiced then tok.char = VOICING_PAIRS[tok.char] or tok.char end -- Update IPA based on new character, preserving palatalization local new_ipa = CONS_IPA[tok.char] or tok.char if tok.is_palatalized and tok.char ~= "k" and tok.char ~= "g" then new_ipa = new_ipa .. "ʲ" end tok.ipa = new_ipa end end end end -- Pass 3: Nasal Assimilation (n -> ŋ before k/g) 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" then -- Check actual IPA string for direct palatalization if mw.ustring.find(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 = mw.ustring.gsub(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) if is_voiced(lc_char) then local devoiced = VOICING_PAIRS[lc_char] if devoiced then last_tok.char = 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 -- ============================================================================ -- Core IPA processor for a single word local function process_single_word_ipa(word, pagename) local tokens = tokenize(word, pagename) merge_geminate_consonants(tokens) local syllables = syllabify(tokens) map_base_phonetics(syllables) -- Phonetic Polish Pipeline apply_terminal_devoicing(syllables) apply_voicing_assimilation(syllables) apply_place_assimilation(syllables) apply_geminate_simplification(syllables) apply_final_consonant_vocalization(syllables) apply_palatalization(syllables) apply_nasal_assimilation(syllables) adjust_vowel_quality(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 liaison `‿` 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 local words = mw.text.split(term, " ") local processed_words = {} for i, word in ipairs(words) do if word ~= "" then local w_ipa = process_single_word_ipa(word, pagename) insert(processed_words, w_ipa) end end local result = "" for i, w_ipa in ipairs(processed_words) do if i == 1 then result = w_ipa else -- If the PREVIOUS word has NO stress mark, use liaison `‿` if not mw.ustring.find(processed_words[i-1], "ˈ") then result = result .. "‿" .. w_ipa else result = result .. " " .. w_ipa end end 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 = mw.ustring.gsub(ipa, "[‿ ]", "") -- Search for the last stress mark from right to left local last_stress_pos = nil for i = mw.ustring.len(clean_ipa), 1, -1 do local char = mw.ustring.sub(clean_ipa, i, i) if char == "ˈ" then -- Skip superscript if present if i > 1 then local prev = mw.ustring.sub(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 = mw.ustring.sub(clean_ipa, last_stress_pos + 1) -- Remove hiatus dots for rhyme grouping after = mw.ustring.gsub(after, "%.", "") -- Find first vowel position (skip onset consonants) local vstart = mw.ustring.match(after, "()[" .. IPA_VOWELS .. "]") if vstart then return mw.ustring.sub(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 local words = mw.text.split(term, " ") local all_word_parts = {} for _, word in ipairs(words) do if word ~= "" then local tokens = tokenize(word, 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 = mw.ustring.len(disp_char) if char_len == 2 then -- Two-character diphthong local v1 = mw.ustring.sub(disp_char, 1, 1) local v2 = mw.ustring.sub(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 = mw.ustring.sub(disp_char, 1, 1) local v2 = mw.ustring.sub(disp_char, 2, 2) local v3 = mw.ustring.sub(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 end -- Build combined string for display (preserves correct formatting) local combined_string = concat(all_word_parts, " ") local final_parts = {} for _, piece in ipairs(mw.text.split(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 = mw.text.split(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 = mw.ustring.len(disp_char) if char_len == 2 then -- Two-character diphthong local v1 = mw.ustring.sub(disp_char, 1, 1) local v2 = mw.ustring.sub(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 = mw.ustring.sub(disp_char, 1, 1) local v2 = mw.ustring.sub(disp_char, 2, 2) local v3 = mw.ustring.sub(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 = mw.ustring.sub(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 mw.ustring.len(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 = mw.ustring.sub(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 = mw.text.split(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 = "Syllabification" }) 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 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 -) if not pt.term:match("%-$") 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 af1ipulmfkk34ui9xxnk13yb2tkal9n 9753779 9753777 2026-05-06T08:52:15Z TongcyDai 53191 9753779 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_langdata = require("Module:languages/data") local u = m_str.char local ulower = m_str.lower local usub = m_str.sub local ulen = m_str.len -- Accent mark constants local c = m_langdata.chars local GRAVE = c.grave -- U+0300 local ACUTE = c.acute -- U+0301 local TILDE = c.tilde -- U+0303 -- 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) local function remove_all_accents(text) -- Convert to NFD to separate base characters from combining marks local nfd = mw.ustring.toNFD(text) -- Remove combining accent marks (grave, acute, tilde) local clean = mw.ustring.gsub(nfd, "["..GRAVE..ACUTE..TILDE.."]", "") -- Return as NFD (don't convert back to NFC) return clean 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 = mw.ustring.gsub(input_clean, "[%^%.]", "") -- Remove <base:...> if present input_clean = mw.ustring.gsub(input_clean, "<base:[^>]+>", "") -- Remove literal ˌ input_clean = mw.ustring.gsub(input_clean, "ˌ", "") -- Remove softening mark ʼ input_clean = mw.ustring.gsub(input_clean, "ʼ", "") -- Remove (j) markers - replace with j for comparison input_clean = mw.ustring.gsub(input_clean, "%(j%)", "j") -- Remove spaces for comparison input_clean = mw.ustring.gsub(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 = mw.ustring.gsub(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 <= mw.ustring.len(input_clean) do local input_char = mw.ustring.sub(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 <= mw.ustring.len(pagename_clean) and mw.ustring.sub(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 local function safe_normalize(text) local INVALID_CHARS = { [0xE001] = { replace = "ą́" }, [0xE003] = { replace = "ą̃" }, [0xE005] = { replace = "ę́" }, [0xE007] = { replace = "ę̃" }, [0xE009] = { replace = "ė́" }, [0xE00B] = { replace = "ė̃" }, [0xE00C] = { replace = "i̇̀" }, [0xE00D] = { replace = "i̇́" }, [0xE00E] = { replace = "i̇̃" }, [0xE010] = { replace = "į̇́" }, [0xE012] = { replace = "į̇̃" }, [0xE014] = { replace = "j̇̃" }, [0xE016] = { replace = "l̃" }, [0xE018] = { replace = "m̃" }, [0xE01A] = { replace = "r̃" }, [0xE01C] = { replace = "ų́" }, [0xE01E] = { replace = "ų̃" }, [0xE020] = { replace = "ū́" }, [0xE022] = { replace = "ū̃" }, -- Note: U+0307 (dotabove) is no longer rejected, but normalized below } -- Reject non-standard/PUA characters to enforce clean Wiktionary source for codepoint, data in pairs(INVALID_CHARS) do local char = mw.ustring.char(codepoint) if mw.ustring.find(text, char) then if data.custom_msg then error(data.custom_msg) else local hex_str = string.format("%04X", codepoint) error(string.format( 'lt-pron: Private use area character U+%s "%s" detected. Please use "%s" instead.', hex_str, char, data.replace )) end end end -- Convert to NFD for normalization text = mw.ustring.toNFD(text) -- Track non-standard input formats (before normalization) local DOT_AB = u(0x0307) local OGONEK = u(0x0328) -- Detect dotless i/j if mw.ustring.find(text, "[ıȷ]") then track('dotless-ij') end -- Detect precomposed i/j with accents (should be i + dotabove + accent) if mw.ustring.find(text, "[íìĩ]") then track('precomposed-i-accent') end -- Detect explicit dotabove usage (which is actually correct for accented i/j) if mw.ustring.find(text, "[ij]" .. DOT_AB) then track('explicit-dotabove') end -- Normalize i/j with dotabove (remove dotabove, convert dotless to standard) -- This handles: i̇, j̇, ı, ȷ, į̇ -> i, j, i, j, į text = mw.ustring.gsub(text, "([iıjȷ])(" .. OGONEK .. "?)" .. DOT_AB, function(base, below) base = (base == "ı") and "i" or (base == "ȷ") and "j" or base return base .. below end) -- Convert any remaining dotless forms to standard dotted forms text = mw.ustring.gsub(text, "ı", "i") text = mw.ustring.gsub(text, "ȷ", "j") -- Convert back to NFC and parse tones text = mw.ustring.toNFC(text) local result = {} local i = 1 while i <= mw.ustring.len(text) do local c = mw.ustring.sub(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 = mw.ustring.sub(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 = mw.text.split(TONE_MAP[combined], ",") -- Preserve original case of base character local base_char = parts[1] if c ~= c_lower then base_char = mw.ustring.upper(base_char) end insert(result, {char = base_char, tone = parts[2]}) i = i + 2 elseif TONE_MAP[c_lower] then local parts = mw.text.split(TONE_MAP[c_lower], ",") -- Preserve original case of base character local base_char = parts[1] if c ~= c_lower then base_char = mw.ustring.upper(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 -- Display text helper: Insert dotabove between i/j and accent marks -- (Based on Module:lt-common.makeDisplayText) local function makeDisplayText(text) local DOT_AB = u(0x0307) local OGONEK = u(0x0328) -- Convert to NFD for processing text = mw.ustring.toNFD(text) -- Insert dotabove between i/j and accent marks text = mw.ustring.gsub(text, "([ij])(" .. OGONEK .. "?)([" .. GRAVE .. ACUTE .. TILDE .. "])", function(base, below, accent) return base .. below .. DOT_AB .. accent end) -- Convert back to NFC return mw.ustring.toNFC(text) 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 mw.ustring.sub(word_str, -mw.ustring.len(suff)) == suff then matched_loan_suff = suff; break end end if matched_loan_suff then local suff_len = mw.ustring.len(matched_loan_suff) local acc_len = 0 for i = #tokens, 1, -1 do local t = tokens[i] acc_len = acc_len + mw.ustring.len(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 = mw.ustring.sub(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 = mw.ustring.len(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 = mw.ustring.sub(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 mw.ustring.len(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 = mw.ustring.sub(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 = mw.ustring.sub(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 tok.ipa = CONS_IPA[tok.char] or tok.char end end end end -- ============================================================================ -- SECTION 6: Phonetic Polish Passes -- ============================================================================ -- Pass 1: Palatalization Spreading (Right-to-Left) local function apply_palatalization(syllables) -- 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 = 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 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 if target_voice == nil then -- Establish new assimilation target target_voice = is_voiced(tok.char) and "voiced" or "voiceless" else -- Assimilate local current_is_voiced = is_voiced(tok.char) if target_voice == "voiced" and not current_is_voiced then tok.char = VOICING_PAIRS[tok.char] or tok.char elseif target_voice == "voiceless" and current_is_voiced then tok.char = VOICING_PAIRS[tok.char] or tok.char end -- Update IPA based on new character, preserving palatalization local new_ipa = CONS_IPA[tok.char] or tok.char if tok.is_palatalized and tok.char ~= "k" and tok.char ~= "g" then new_ipa = new_ipa .. "ʲ" end tok.ipa = new_ipa end end end end -- Pass 3: Nasal Assimilation (n -> ŋ before k/g) 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" then -- Check actual IPA string for direct palatalization if mw.ustring.find(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 = mw.ustring.gsub(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) if is_voiced(lc_char) then local devoiced = VOICING_PAIRS[lc_char] if devoiced then last_tok.char = 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 -- ============================================================================ -- Core IPA processor for a single word local function process_single_word_ipa(word, pagename) local tokens = tokenize(word, pagename) merge_geminate_consonants(tokens) local syllables = syllabify(tokens) map_base_phonetics(syllables) -- Phonetic Polish Pipeline apply_terminal_devoicing(syllables) apply_voicing_assimilation(syllables) apply_place_assimilation(syllables) apply_geminate_simplification(syllables) apply_final_consonant_vocalization(syllables) apply_palatalization(syllables) apply_nasal_assimilation(syllables) adjust_vowel_quality(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 liaison `‿` 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 local words = mw.text.split(term, " ") local processed_words = {} for i, word in ipairs(words) do if word ~= "" then local w_ipa = process_single_word_ipa(word, pagename) insert(processed_words, w_ipa) end end local result = "" for i, w_ipa in ipairs(processed_words) do if i == 1 then result = w_ipa else -- If the PREVIOUS word has NO stress mark, use liaison `‿` if not mw.ustring.find(processed_words[i-1], "ˈ") then result = result .. "‿" .. w_ipa else result = result .. " " .. w_ipa end end 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 = mw.ustring.gsub(ipa, "[‿ ]", "") -- Search for the last stress mark from right to left local last_stress_pos = nil for i = mw.ustring.len(clean_ipa), 1, -1 do local char = mw.ustring.sub(clean_ipa, i, i) if char == "ˈ" then -- Skip superscript if present if i > 1 then local prev = mw.ustring.sub(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 = mw.ustring.sub(clean_ipa, last_stress_pos + 1) -- Remove hiatus dots for rhyme grouping after = mw.ustring.gsub(after, "%.", "") -- Find first vowel position (skip onset consonants) local vstart = mw.ustring.match(after, "()[" .. IPA_VOWELS .. "]") if vstart then return mw.ustring.sub(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 local words = mw.text.split(term, " ") local all_word_parts = {} for _, word in ipairs(words) do if word ~= "" then local tokens = tokenize(word, 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 = mw.ustring.len(disp_char) if char_len == 2 then -- Two-character diphthong local v1 = mw.ustring.sub(disp_char, 1, 1) local v2 = mw.ustring.sub(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 = mw.ustring.sub(disp_char, 1, 1) local v2 = mw.ustring.sub(disp_char, 2, 2) local v3 = mw.ustring.sub(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 end -- Build combined string for display (preserves correct formatting) local combined_string = concat(all_word_parts, " ") local final_parts = {} for _, piece in ipairs(mw.text.split(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 = mw.text.split(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 = mw.ustring.len(disp_char) if char_len == 2 then -- Two-character diphthong local v1 = mw.ustring.sub(disp_char, 1, 1) local v2 = mw.ustring.sub(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 = mw.ustring.sub(disp_char, 1, 1) local v2 = mw.ustring.sub(disp_char, 2, 2) local v3 = mw.ustring.sub(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 = mw.ustring.sub(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 mw.ustring.len(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 = mw.ustring.sub(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 = mw.text.split(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 = "音節化" }) 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 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 -) if not pt.term:match("%-$") 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 07q43hcqw50yzjt0ldmffjgv4bfjc8k 9753781 9753779 2026-05-06T09:13:17Z TongcyDai 53191 9753781 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_langdata = require("Module:languages/data") local u = m_str.char local ulower = m_str.lower local usub = m_str.sub local ulen = m_str.len -- Accent mark constants local c = m_langdata.chars local GRAVE = c.grave -- U+0300 local ACUTE = c.acute -- U+0301 local TILDE = c.tilde -- U+0303 -- 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) local function remove_all_accents(text) -- Convert to NFD to separate base characters from combining marks local nfd = mw.ustring.toNFD(text) -- Remove combining accent marks (grave, acute, tilde) local clean = mw.ustring.gsub(nfd, "["..GRAVE..ACUTE..TILDE.."]", "") -- Return as NFD (don't convert back to NFC) return clean 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 = mw.ustring.gsub(input_clean, "[%^%.]", "") -- Remove <base:...> if present input_clean = mw.ustring.gsub(input_clean, "<base:[^>]+>", "") -- Remove literal ˌ input_clean = mw.ustring.gsub(input_clean, "ˌ", "") -- Remove softening mark ʼ input_clean = mw.ustring.gsub(input_clean, "ʼ", "") -- Remove (j) markers - replace with j for comparison input_clean = mw.ustring.gsub(input_clean, "%(j%)", "j") -- Remove spaces for comparison input_clean = mw.ustring.gsub(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 = mw.ustring.gsub(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 <= mw.ustring.len(input_clean) do local input_char = mw.ustring.sub(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 <= mw.ustring.len(pagename_clean) and mw.ustring.sub(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 local function safe_normalize(text) local INVALID_CHARS = { [0xE001] = { replace = "ą́" }, [0xE003] = { replace = "ą̃" }, [0xE005] = { replace = "ę́" }, [0xE007] = { replace = "ę̃" }, [0xE009] = { replace = "ė́" }, [0xE00B] = { replace = "ė̃" }, [0xE00C] = { replace = "i̇̀" }, [0xE00D] = { replace = "i̇́" }, [0xE00E] = { replace = "i̇̃" }, [0xE010] = { replace = "į̇́" }, [0xE012] = { replace = "į̇̃" }, [0xE014] = { replace = "j̇̃" }, [0xE016] = { replace = "l̃" }, [0xE018] = { replace = "m̃" }, [0xE01A] = { replace = "r̃" }, [0xE01C] = { replace = "ų́" }, [0xE01E] = { replace = "ų̃" }, [0xE020] = { replace = "ū́" }, [0xE022] = { replace = "ū̃" }, -- Note: U+0307 (dotabove) is no longer rejected, but normalized below } -- Reject non-standard/PUA characters to enforce clean Wiktionary source for codepoint, data in pairs(INVALID_CHARS) do local char = mw.ustring.char(codepoint) if mw.ustring.find(text, char) then if data.custom_msg then error(data.custom_msg) else local hex_str = string.format("%04X", codepoint) error(string.format( 'lt-pron: Private use area character U+%s "%s" detected. Please use "%s" instead.', hex_str, char, data.replace )) end end end -- Convert to NFD for normalization text = mw.ustring.toNFD(text) -- Track non-standard input formats (before normalization) local DOT_AB = u(0x0307) local OGONEK = u(0x0328) -- Detect dotless i/j if mw.ustring.find(text, "[ıȷ]") then track('dotless-ij') end -- Detect precomposed i/j with accents (should be i + dotabove + accent) if mw.ustring.find(text, "[íìĩ]") then track('precomposed-i-accent') end -- Detect explicit dotabove usage (which is actually correct for accented i/j) if mw.ustring.find(text, "[ij]" .. DOT_AB) then track('explicit-dotabove') end -- Normalize i/j with dotabove (remove dotabove, convert dotless to standard) -- This handles: i̇, j̇, ı, ȷ, į̇ -> i, j, i, j, į text = mw.ustring.gsub(text, "([iıjȷ])(" .. OGONEK .. "?)" .. DOT_AB, function(base, below) base = (base == "ı") and "i" or (base == "ȷ") and "j" or base return base .. below end) -- Convert any remaining dotless forms to standard dotted forms text = mw.ustring.gsub(text, "ı", "i") text = mw.ustring.gsub(text, "ȷ", "j") -- Convert back to NFC and parse tones text = mw.ustring.toNFC(text) local result = {} local i = 1 while i <= mw.ustring.len(text) do local c = mw.ustring.sub(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 = mw.ustring.sub(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 = mw.text.split(TONE_MAP[combined], ",") -- Preserve original case of base character local base_char = parts[1] if c ~= c_lower then base_char = mw.ustring.upper(base_char) end insert(result, {char = base_char, tone = parts[2]}) i = i + 2 elseif TONE_MAP[c_lower] then local parts = mw.text.split(TONE_MAP[c_lower], ",") -- Preserve original case of base character local base_char = parts[1] if c ~= c_lower then base_char = mw.ustring.upper(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 -- Display text helper: Insert dotabove between i/j and accent marks -- (Based on Module:lt-common.makeDisplayText) local function makeDisplayText(text) local DOT_AB = u(0x0307) local OGONEK = u(0x0328) -- Convert to NFD for processing text = mw.ustring.toNFD(text) -- Insert dotabove between i/j and accent marks text = mw.ustring.gsub(text, "([ij])(" .. OGONEK .. "?)([" .. GRAVE .. ACUTE .. TILDE .. "])", function(base, below, accent) return base .. below .. DOT_AB .. accent end) -- Convert back to NFC return mw.ustring.toNFC(text) 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 mw.ustring.sub(word_str, -mw.ustring.len(suff)) == suff then matched_loan_suff = suff; break end end if matched_loan_suff then local suff_len = mw.ustring.len(matched_loan_suff) local acc_len = 0 for i = #tokens, 1, -1 do local t = tokens[i] acc_len = acc_len + mw.ustring.len(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 = mw.ustring.sub(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 = mw.ustring.len(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 = mw.ustring.sub(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 mw.ustring.len(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 = mw.ustring.sub(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 = mw.ustring.sub(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 tok.ipa = CONS_IPA[tok.char] or tok.char end end end end -- ============================================================================ -- SECTION 6: Phonetic Polish Passes -- ============================================================================ -- Pass 1: Palatalization Spreading (Right-to-Left) local function apply_palatalization(syllables) -- 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 = 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 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 if target_voice == nil then -- Establish new assimilation target target_voice = is_voiced(tok.char) and "voiced" or "voiceless" else -- Assimilate local current_is_voiced = is_voiced(tok.char) if target_voice == "voiced" and not current_is_voiced then tok.char = VOICING_PAIRS[tok.char] or tok.char elseif target_voice == "voiceless" and current_is_voiced then tok.char = VOICING_PAIRS[tok.char] or tok.char end -- Update IPA based on new character, preserving palatalization local new_ipa = CONS_IPA[tok.char] or tok.char if tok.is_palatalized and tok.char ~= "k" and tok.char ~= "g" then new_ipa = new_ipa .. "ʲ" end tok.ipa = new_ipa end end end end -- Pass 3: Nasal Assimilation (n -> ŋ before k/g) 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" then -- Check actual IPA string for direct palatalization if mw.ustring.find(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 = mw.ustring.gsub(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) if is_voiced(lc_char) then local devoiced = VOICING_PAIRS[lc_char] if devoiced then last_tok.char = 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 -- ============================================================================ -- Core IPA processor for a single word local function process_single_word_ipa(word, pagename) local tokens = tokenize(word, pagename) merge_geminate_consonants(tokens) local syllables = syllabify(tokens) map_base_phonetics(syllables) -- Phonetic Polish Pipeline apply_terminal_devoicing(syllables) apply_voicing_assimilation(syllables) apply_place_assimilation(syllables) apply_geminate_simplification(syllables) apply_final_consonant_vocalization(syllables) apply_palatalization(syllables) apply_nasal_assimilation(syllables) adjust_vowel_quality(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 liaison `‿` 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 into words local words = mw.text.split(term, " ") -- Split pagename into words (if available) local pagename_words = nil if pagename then pagename_words = mw.text.split(pagename, " ") -- Verify word count matches (only when both are multi-word) if #words > 1 and #pagename_words > 1 and #words ~= #pagename_words then error("lt-pron: Input has " .. #words .. " words but pagename has " .. #pagename_words .. " words. They must match.") end -- If pagename is single word but input is multi-word, use nil for all words -- (This allows respelling detection to work only on exact matches) if #pagename_words == 1 and #words > 1 then pagename_words = nil end end local processed_words = {} for i, word in ipairs(words) do if word ~= "" then -- Get the corresponding pagename word, or nil if not available local word_pagename = (pagename_words and pagename_words[i]) or nil local w_ipa = process_single_word_ipa(word, word_pagename) insert(processed_words, w_ipa) end end local result = "" for i, w_ipa in ipairs(processed_words) do if i == 1 then result = w_ipa else -- If the PREVIOUS word has NO stress mark, use liaison `‿` if not mw.ustring.find(processed_words[i-1], "ˈ") then result = result .. "‿" .. w_ipa else result = result .. " " .. w_ipa end end 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 = mw.ustring.gsub(ipa, "[‿ ]", "") -- Search for the last stress mark from right to left local last_stress_pos = nil for i = mw.ustring.len(clean_ipa), 1, -1 do local char = mw.ustring.sub(clean_ipa, i, i) if char == "ˈ" then -- Skip superscript if present if i > 1 then local prev = mw.ustring.sub(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 = mw.ustring.sub(clean_ipa, last_stress_pos + 1) -- Remove hiatus dots for rhyme grouping after = mw.ustring.gsub(after, "%.", "") -- Find first vowel position (skip onset consonants) local vstart = mw.ustring.match(after, "()[" .. IPA_VOWELS .. "]") if vstart then return mw.ustring.sub(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 into words local words = mw.text.split(term, " ") -- Split pagename into words (if available) local pagename_words = nil if pagename then pagename_words = mw.text.split(pagename, " ") -- Verify word count matches (only when both are multi-word) if #words > 1 and #pagename_words > 1 and #words ~= #pagename_words then error("lt-pron: Input has " .. #words .. " words but pagename has " .. #pagename_words .. " words. They must match.") end -- If pagename is single word but input is multi-word, use nil for all words if #pagename_words == 1 and #words > 1 then pagename_words = nil end end local all_word_parts = {} for i, word in ipairs(words) do if word ~= "" then -- Get the corresponding pagename word, or nil if not available local word_pagename = (pagename_words and pagename_words[i]) or nil local tokens = tokenize(word, word_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 = mw.ustring.len(disp_char) if char_len == 2 then -- Two-character diphthong local v1 = mw.ustring.sub(disp_char, 1, 1) local v2 = mw.ustring.sub(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 = mw.ustring.sub(disp_char, 1, 1) local v2 = mw.ustring.sub(disp_char, 2, 2) local v3 = mw.ustring.sub(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 end -- Build combined string for display (preserves correct formatting) local combined_string = concat(all_word_parts, " ") local final_parts = {} for _, piece in ipairs(mw.text.split(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 = mw.text.split(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 = mw.ustring.len(disp_char) if char_len == 2 then -- Two-character diphthong local v1 = mw.ustring.sub(disp_char, 1, 1) local v2 = mw.ustring.sub(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 = mw.ustring.sub(disp_char, 1, 1) local v2 = mw.ustring.sub(disp_char, 2, 2) local v3 = mw.ustring.sub(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 = mw.ustring.sub(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 mw.ustring.len(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 = mw.ustring.sub(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 = mw.text.split(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 = "Syllabification" }) 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 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 -) if not pt.term:match("%-$") 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 c2lz576cs35gy0avor7sqm355mw6nki 9753782 9753781 2026-05-06T09:13:41Z TongcyDai 53191 9753782 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_langdata = require("Module:languages/data") local u = m_str.char local ulower = m_str.lower local usub = m_str.sub local ulen = m_str.len -- Accent mark constants local c = m_langdata.chars local GRAVE = c.grave -- U+0300 local ACUTE = c.acute -- U+0301 local TILDE = c.tilde -- U+0303 -- 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) local function remove_all_accents(text) -- Convert to NFD to separate base characters from combining marks local nfd = mw.ustring.toNFD(text) -- Remove combining accent marks (grave, acute, tilde) local clean = mw.ustring.gsub(nfd, "["..GRAVE..ACUTE..TILDE.."]", "") -- Return as NFD (don't convert back to NFC) return clean 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 = mw.ustring.gsub(input_clean, "[%^%.]", "") -- Remove <base:...> if present input_clean = mw.ustring.gsub(input_clean, "<base:[^>]+>", "") -- Remove literal ˌ input_clean = mw.ustring.gsub(input_clean, "ˌ", "") -- Remove softening mark ʼ input_clean = mw.ustring.gsub(input_clean, "ʼ", "") -- Remove (j) markers - replace with j for comparison input_clean = mw.ustring.gsub(input_clean, "%(j%)", "j") -- Remove spaces for comparison input_clean = mw.ustring.gsub(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 = mw.ustring.gsub(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 <= mw.ustring.len(input_clean) do local input_char = mw.ustring.sub(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 <= mw.ustring.len(pagename_clean) and mw.ustring.sub(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 local function safe_normalize(text) local INVALID_CHARS = { [0xE001] = { replace = "ą́" }, [0xE003] = { replace = "ą̃" }, [0xE005] = { replace = "ę́" }, [0xE007] = { replace = "ę̃" }, [0xE009] = { replace = "ė́" }, [0xE00B] = { replace = "ė̃" }, [0xE00C] = { replace = "i̇̀" }, [0xE00D] = { replace = "i̇́" }, [0xE00E] = { replace = "i̇̃" }, [0xE010] = { replace = "į̇́" }, [0xE012] = { replace = "į̇̃" }, [0xE014] = { replace = "j̇̃" }, [0xE016] = { replace = "l̃" }, [0xE018] = { replace = "m̃" }, [0xE01A] = { replace = "r̃" }, [0xE01C] = { replace = "ų́" }, [0xE01E] = { replace = "ų̃" }, [0xE020] = { replace = "ū́" }, [0xE022] = { replace = "ū̃" }, -- Note: U+0307 (dotabove) is no longer rejected, but normalized below } -- Reject non-standard/PUA characters to enforce clean Wiktionary source for codepoint, data in pairs(INVALID_CHARS) do local char = mw.ustring.char(codepoint) if mw.ustring.find(text, char) then if data.custom_msg then error(data.custom_msg) else local hex_str = string.format("%04X", codepoint) error(string.format( 'lt-pron: Private use area character U+%s "%s" detected. Please use "%s" instead.', hex_str, char, data.replace )) end end end -- Convert to NFD for normalization text = mw.ustring.toNFD(text) -- Track non-standard input formats (before normalization) local DOT_AB = u(0x0307) local OGONEK = u(0x0328) -- Detect dotless i/j if mw.ustring.find(text, "[ıȷ]") then track('dotless-ij') end -- Detect precomposed i/j with accents (should be i + dotabove + accent) if mw.ustring.find(text, "[íìĩ]") then track('precomposed-i-accent') end -- Detect explicit dotabove usage (which is actually correct for accented i/j) if mw.ustring.find(text, "[ij]" .. DOT_AB) then track('explicit-dotabove') end -- Normalize i/j with dotabove (remove dotabove, convert dotless to standard) -- This handles: i̇, j̇, ı, ȷ, į̇ -> i, j, i, j, į text = mw.ustring.gsub(text, "([iıjȷ])(" .. OGONEK .. "?)" .. DOT_AB, function(base, below) base = (base == "ı") and "i" or (base == "ȷ") and "j" or base return base .. below end) -- Convert any remaining dotless forms to standard dotted forms text = mw.ustring.gsub(text, "ı", "i") text = mw.ustring.gsub(text, "ȷ", "j") -- Convert back to NFC and parse tones text = mw.ustring.toNFC(text) local result = {} local i = 1 while i <= mw.ustring.len(text) do local c = mw.ustring.sub(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 = mw.ustring.sub(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 = mw.text.split(TONE_MAP[combined], ",") -- Preserve original case of base character local base_char = parts[1] if c ~= c_lower then base_char = mw.ustring.upper(base_char) end insert(result, {char = base_char, tone = parts[2]}) i = i + 2 elseif TONE_MAP[c_lower] then local parts = mw.text.split(TONE_MAP[c_lower], ",") -- Preserve original case of base character local base_char = parts[1] if c ~= c_lower then base_char = mw.ustring.upper(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 -- Display text helper: Insert dotabove between i/j and accent marks -- (Based on Module:lt-common.makeDisplayText) local function makeDisplayText(text) local DOT_AB = u(0x0307) local OGONEK = u(0x0328) -- Convert to NFD for processing text = mw.ustring.toNFD(text) -- Insert dotabove between i/j and accent marks text = mw.ustring.gsub(text, "([ij])(" .. OGONEK .. "?)([" .. GRAVE .. ACUTE .. TILDE .. "])", function(base, below, accent) return base .. below .. DOT_AB .. accent end) -- Convert back to NFC return mw.ustring.toNFC(text) 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 mw.ustring.sub(word_str, -mw.ustring.len(suff)) == suff then matched_loan_suff = suff; break end end if matched_loan_suff then local suff_len = mw.ustring.len(matched_loan_suff) local acc_len = 0 for i = #tokens, 1, -1 do local t = tokens[i] acc_len = acc_len + mw.ustring.len(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 = mw.ustring.sub(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 = mw.ustring.len(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 = mw.ustring.sub(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 mw.ustring.len(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 = mw.ustring.sub(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 = mw.ustring.sub(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 tok.ipa = CONS_IPA[tok.char] or tok.char end end end end -- ============================================================================ -- SECTION 6: Phonetic Polish Passes -- ============================================================================ -- Pass 1: Palatalization Spreading (Right-to-Left) local function apply_palatalization(syllables) -- 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 = 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 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 if target_voice == nil then -- Establish new assimilation target target_voice = is_voiced(tok.char) and "voiced" or "voiceless" else -- Assimilate local current_is_voiced = is_voiced(tok.char) if target_voice == "voiced" and not current_is_voiced then tok.char = VOICING_PAIRS[tok.char] or tok.char elseif target_voice == "voiceless" and current_is_voiced then tok.char = VOICING_PAIRS[tok.char] or tok.char end -- Update IPA based on new character, preserving palatalization local new_ipa = CONS_IPA[tok.char] or tok.char if tok.is_palatalized and tok.char ~= "k" and tok.char ~= "g" then new_ipa = new_ipa .. "ʲ" end tok.ipa = new_ipa end end end end -- Pass 3: Nasal Assimilation (n -> ŋ before k/g) 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" then -- Check actual IPA string for direct palatalization if mw.ustring.find(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 = mw.ustring.gsub(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) if is_voiced(lc_char) then local devoiced = VOICING_PAIRS[lc_char] if devoiced then last_tok.char = 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 -- ============================================================================ -- Core IPA processor for a single word local function process_single_word_ipa(word, pagename) local tokens = tokenize(word, pagename) merge_geminate_consonants(tokens) local syllables = syllabify(tokens) map_base_phonetics(syllables) -- Phonetic Polish Pipeline apply_terminal_devoicing(syllables) apply_voicing_assimilation(syllables) apply_place_assimilation(syllables) apply_geminate_simplification(syllables) apply_final_consonant_vocalization(syllables) apply_palatalization(syllables) apply_nasal_assimilation(syllables) adjust_vowel_quality(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 liaison `‿` 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 into words local words = mw.text.split(term, " ") -- Split pagename into words (if available) local pagename_words = nil if pagename then pagename_words = mw.text.split(pagename, " ") -- Verify word count matches (only when both are multi-word) if #words > 1 and #pagename_words > 1 and #words ~= #pagename_words then error("lt-pron: Input has " .. #words .. " words but pagename has " .. #pagename_words .. " words. They must match.") end -- If pagename is single word but input is multi-word, use nil for all words -- (This allows respelling detection to work only on exact matches) if #pagename_words == 1 and #words > 1 then pagename_words = nil end end local processed_words = {} for i, word in ipairs(words) do if word ~= "" then -- Get the corresponding pagename word, or nil if not available local word_pagename = (pagename_words and pagename_words[i]) or nil local w_ipa = process_single_word_ipa(word, word_pagename) insert(processed_words, w_ipa) end end local result = "" for i, w_ipa in ipairs(processed_words) do if i == 1 then result = w_ipa else -- If the PREVIOUS word has NO stress mark, use liaison `‿` if not mw.ustring.find(processed_words[i-1], "ˈ") then result = result .. "‿" .. w_ipa else result = result .. " " .. w_ipa end end 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 = mw.ustring.gsub(ipa, "[‿ ]", "") -- Search for the last stress mark from right to left local last_stress_pos = nil for i = mw.ustring.len(clean_ipa), 1, -1 do local char = mw.ustring.sub(clean_ipa, i, i) if char == "ˈ" then -- Skip superscript if present if i > 1 then local prev = mw.ustring.sub(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 = mw.ustring.sub(clean_ipa, last_stress_pos + 1) -- Remove hiatus dots for rhyme grouping after = mw.ustring.gsub(after, "%.", "") -- Find first vowel position (skip onset consonants) local vstart = mw.ustring.match(after, "()[" .. IPA_VOWELS .. "]") if vstart then return mw.ustring.sub(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 into words local words = mw.text.split(term, " ") -- Split pagename into words (if available) local pagename_words = nil if pagename then pagename_words = mw.text.split(pagename, " ") -- Verify word count matches (only when both are multi-word) if #words > 1 and #pagename_words > 1 and #words ~= #pagename_words then error("lt-pron: Input has " .. #words .. " words but pagename has " .. #pagename_words .. " words. They must match.") end -- If pagename is single word but input is multi-word, use nil for all words if #pagename_words == 1 and #words > 1 then pagename_words = nil end end local all_word_parts = {} for i, word in ipairs(words) do if word ~= "" then -- Get the corresponding pagename word, or nil if not available local word_pagename = (pagename_words and pagename_words[i]) or nil local tokens = tokenize(word, word_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 = mw.ustring.len(disp_char) if char_len == 2 then -- Two-character diphthong local v1 = mw.ustring.sub(disp_char, 1, 1) local v2 = mw.ustring.sub(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 = mw.ustring.sub(disp_char, 1, 1) local v2 = mw.ustring.sub(disp_char, 2, 2) local v3 = mw.ustring.sub(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 end -- Build combined string for display (preserves correct formatting) local combined_string = concat(all_word_parts, " ") local final_parts = {} for _, piece in ipairs(mw.text.split(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 = mw.text.split(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 = mw.ustring.len(disp_char) if char_len == 2 then -- Two-character diphthong local v1 = mw.ustring.sub(disp_char, 1, 1) local v2 = mw.ustring.sub(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 = mw.ustring.sub(disp_char, 1, 1) local v2 = mw.ustring.sub(disp_char, 2, 2) local v3 = mw.ustring.sub(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 = mw.ustring.sub(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 mw.ustring.len(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 = mw.ustring.sub(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 = mw.text.split(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 = "音節化" }) 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 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 -) if not pt.term:match("%-$") 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 kpf8tlrxic48gm004pdl6qziwgahth3 Template:Lt-pr 10 3434191 9753778 2026-05-06T08:51:37Z TongcyDai 53191 [[w:WP:AES|←]]建立內容為「{{#invoke:lt-pron|show}}<noinclude>{{documentation}}</noinclude>」的新頁面 9753778 wikitext text/x-wiki {{#invoke:lt-pron|show}}<noinclude>{{documentation}}</noinclude> p6h7t8o8qyxdia67brluph5p1k5ncri