Wiktionary zhwiktionary https://zh.wiktionary.org/wiki/Wiktionary:%E9%A6%96%E9%A1%B5 MediaWiki 1.47.0-wmf.22 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 世界語 0 912 9938428 9922092 2026-10-04T15:36:02Z Hiyuune 119685 /* 詞源 */ 9938428 wikitext text/x-wiki ==漢語== {{zh-forms|s=世界语|type=21}} {{zh-wp}} {{interwiktionary|code=eo}} ===詞源=== {{wasei kango|世%界%語|せ%かい%ご}}。經過[[:w:二葉亭四迷|二葉亭四迷]]於1906年出版的同名書籍而普及。<ref>{{cite-web|url=http://www.espero.com.cn/2014-01/06/content_31101253.htm|title=Partopreninte la 32-an Komunan Seminarion de Aziaj Junularoj|work=El Popola Ĉinio|eo|date=2014-01-06}}</ref> ===發音=== {{zh-pron |m=shìjièyǔ |c=sai3 gaai3 jyu5 |mn=Sè-kài-gí |cat=pn }} ===專有名詞=== {{zh-proper noun}} # [[波蘭]]籍[[猶太人]][[眼科]][[醫生]]{{w|柴門霍夫}}博士(1859-1917)在1887年公佈的一種[[人造]]的[[國際輔助語]] ====翻譯==== {{trans-top|人工語言}} * 阿尔巴尼亚语:{{t+|sq|esperanto|n}} * 阿拉伯语:{{t+|ar|إِسْبَرَانْتُو|m|tr=ʾisbarantū}}、{{t|ar|إِسْپَرَانْتُو|m|tr=ʾisparantū}} * 亚美尼亚语:{{t+|hy|էսպերանտո}} * 阿萨姆语:{{t|as|এস্পেৰাণ্ট ভাষা}} * 阿斯图里亚斯语:{{t+|ast|esperantu|m}} * 巴斯克语:{{t+|eu|esperanto}} * 白俄罗斯语:{{t+|be|эспера́нта|n}}、{{t|be|эспэра́нта|n}} {{qualifier|傳統正字法}} * 布列塔尼语:{{t+|br|esperanteg|m}} * 保加利亚语:{{t|bg|есперанто}} * 加泰罗尼亚语:{{t+|ca|esperanto|m}} * 捷克语:{{t+|cs|esperanto|n}} * 迪维希语:{{t|dv|އެސްޕެރަންތޯ}} * 荷兰语:{{t+|nl|Esperanto|n}} * 英語:{{t+|en|Esperanto}} * 世界语:{{t+|eo|Esperanto}} * 爱沙尼亚语:{{t+|et|Esperanto}} * 芬兰语:{{t+|fi|esperanto}} * 法语:{{t+|fr|espéranto|m}} * 加利西亚语:{{t+|gl|esperanto|m}} * 格鲁吉亚语:{{t|ka|ესპერანტო}} * 德语:{{t+|de|Esperanto|n}} * 希腊语:{{t|el|Εσπεράντο}} * 格陵兰语:{{t|kl|Esperanto}} * 古吉拉特语:{{t+|gu|એસ્પેરાન્તો}} * 夏威夷语:{{t|haw|‘ōlelo Ekepelānako}} * 希伯来语:{{t+|he|אֶסְפֶּרַנְטוֹ|tr=esperanto}} * 印地语:{{t+|hi|एस्पेरान्तो}} * 匈牙利语:{{t+|hu|eszperantó}} * 伊多语:{{t+|io|Esperanto}}、{{t+|io|Espo}} * 因特语:{{t+|ia|esperanto}} * 因紐特語:{{t+|iu|ᐃᓯᐱᕋᓐᑐ}} * 爱尔兰语:{{t|ga|Esperanto}}、{{t|ga|Sprantais|f}} * 意大利语:{{t+|it|esperanto}} * 日语:{{t+|ja|エスペラント|tr=Esuperanto}}、{{t+|ja|エスペラント語|tr=Esuperanto-go}} * 卡舒比語:{{t|csb|esperanto|n}} * 哈萨克语:{{t|kk|эсперанто}} * 朝鲜语:{{t+|ko|^에스페란토}} * 库尔德语: *: 北库尔德语:{{t+|kmr|esperantoyî|f}} * 拉丁语:{{t|la|Lingua Esperantica|f}}、{{t|la|Lingua Zamenhofiana|f}} * 马其顿语:{{t|mk|еспера́нто|n}} * 马拉雅拉姆语:{{t|ml|എസ്പെരാന്തോ}} * 纳瓦特尔语:{{t|nah|netēmachīliztlahtōlli}}、{{t|nah|esperantotlahtōlli}} * 挪威语:{{t+|no|esperanto}} * 奥克语:{{t+|oc|esperanto|m}} * 波斯语:{{t+|fa|اسپرانتو|tr=esperânto}} * 波兰语:{{t+|pl|esperanto|n}} * 葡萄牙语:{{t+|pt|esperanto|m}} * 罗马尼亚语:{{t+|ro|esperanto}}、{{t|ro|[[limba]] [[esperanto]]}} * 俄语:{{t+|ru|эспера́нто|n}} * 盧森尼亞語:{{t|rue|есперанто|n}} * 盧旺達語:{{t|rw|Icyesiperanto}} * 塞尔维亚-克罗地亚语: *: 西里尔字母:{{t|sh|еспера̀нто|m}}、{{t|sh|есперантски|m}} *: 罗马字母:{{t+|sh|esperànto|m}}、{{t+|sh|esperantski|m}} * 西西里语:{{t+|scn|esperantu|m}} * 西里西亞語:{{t|szl|esperanto|n}} * 斯洛伐克语:{{t+|sk|esperanto|n}} * 斯洛文尼亚语:{{t+|sl|esperanto|n}} * 索布语: *: 下索布语:{{t|dsb|esperanto|n}} *: 上索布语:{{t+|hsb|esperanto|n}} * 西班牙语:{{t+|es|esperanto|m}} * 斯瓦希里语:{{t|sw|Kiesperanto}} * 史瓦濟語:{{t|ss|sí-Speranto}}、{{t|ss|síSperanto}} * 瑞典语:{{t+|sv|esperanto|c}} * 他加禄语:{{t+|tl|Esperanto}} * 泰语:{{t|th|เอสเปรันโต|tr=àyt-bpay-ran-dtoh}}、{{t+|th|ภาษาเอสเปรันโต|tr=paa-săa àyt-bpay-ran-dtoh}} * 土耳其语:{{t+|tr|Esperanto}} * 越南语:{{t+|vi|quốc tế ngữ}}、{{t|vi|tiếng quốc tế ngữ}}、{{t+|vi|thế giới ngữ}} * 沃拉普克语:{{t+|vo|Sperantapük}} * 意第绪语:{{t+|yi|עספּעראַנטאָ|n}} {{trans-bottom}} ===參見=== * {{langcat|eo}} ===參考資料=== {{reflist}} ===延伸閱讀=== * {{ISO 639|ref=1|eo||epo}} * {{ethnologue|epo}} {{zh-cat|人造語言}} ==日語== {{ja-kanjitab|せ|かい|ご|yomi=o}} ===發音=== {{ja-pron|せかいご|acc=h|acc_ref=DJR}} ===名詞=== {{ja-noun|せかいご}} # [[國際輔助語]] # [[世界語言]] ====近義詞==== * {{ja-r|国%際%語|こく%さい%ご}} * {{ja-r|国%際%補%助%語|こく%さい% ほ%じょ%ご}} ====派生語彙==== * {{desc|zh|-|bor=1}} {{zh-l|世界語}} * {{desc|ko|-|bor=1}} {{ko-l|세계어}} * {{desc|vi|-|bor=1}} {{vi-l|thế giới ngữ}} ===參考資料=== {{reflist}} {{c|ja|人造語言|sort=せかいこ'}} ==朝鮮語== {{ko-hanjatab}} ===名詞=== {{ko-noun|hangeul=세계어|head=[[世界]][[語]]}} # {{hanja form of|세계어|[[國際輔助語]]}} ==越南語== {{vi-hantutab}} ===專有名詞=== {{vi-proper noun|sc=Hani}} # {{han tu form of|thế giới ngữ}} 7mfjpt72cp0xr1fk7wyaahb6ffugdn0 Wiktionary:统计 4 1718 9938465 9937942 2026-10-05T02:14:36Z TongcyBot 83009 機器人:更新每日統計數據(2026-10-05) 9938465 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-09-01 | fr | mg | zh | th | el | 6997535 | 6023134 | 2380192 | 2206521 | 1585904 | 6998238 | 6024873 | 2380554 | 2206523 | 1585917 | 7000127 | 6026546 | 2380887 | 2206607 | 1585946 | 7000656 | 6029380 | 2381509 | 2206651 | 1585971 | 7003003 | 6031154 | 2381927 | 2206689 | 1585985 | 7004167 | 6032755 | 2382273 | 2206693 | 1586008 | 7006837 | 6034370 | 2382636 | 2206694 | 1586076 | 7007218 | 6035533 | 2383103 | 2206700 | 1586104 | 7008103 | 6035941 | 2383540 | 2206787 | 1586119 | 7008906 | 6036586 | 2383959 | 2206792 | 1586128 | 7009409 | 6038227 | 2384261 | 2206803 | 1586142 | 7009787 | 6039498 | 2384800 | 2206835 | 1596586 | 7010299 | 6040280 | 2385265 | 2206838 | 1611050 | 7010652 | 6041105 | 2385801 | 2206852 | 1611062 | 7010891 | 6042008 | 2386137 | 2206856 | 1611079 | 7011114 | 6042770 | 2386453 | 2206890 | 1611165 | 7011512 | 6043840 | 2386815 | 2206977 | 1611178 | 7011875 | 6044192 | 2387177 | 2207036 | 1611191 | 7012192 | 6044642 | 2387486 | 2207045 | 1616152 | 7012627 | 6046884 | 2387788 | 2207045 | 1616861 | 7013224 | 6047546 | 2388205 | 2207131 | 1621664 | 7013869 | 6048082 | 2388988 | 2207162 | 1621699 | 7014495 | 6048392 | 2389021 | 2207187 | 1621721 | 7015177 | 6048873 | 2389437 | 2207217 | 1621746 | 7015484 | 6051500 | 2390060 | 2207218 | 1621762 | 7016417 | 6058398 | 2390641 | 2207222 | 1621777 | 7017175 | 6064817 | 2391068 | 2207245 | 1626804 | 7018084 | 6066870 | 2391703 | 2207247 | 1642410 | 7018560 | 6068253 | 2392193 | 2207247 | 1652475 | 7019074 | 6069355 | 2392720 | 2207247 | 1662451 | 7019522 | 6071464 | 2392934 | 2207248 | 1677499 | 7019915 | 6074591 | 2393234 | 2207248 | 1677514 | 7020418 | 6075819 | 2393498 | 2207269 | 1677536 | 7020745 | 6076647 | 2393734 | 2207269 | 1678556 | 7021263 | 6078363 | 2394334 | 2207269 | 1694705 | 7021761 | 6079669 | 2394797 | 2207270 | 1694715 }} * 来源:[https://wikistats.wmcloud.org/display.php?t=wt Wikistats] 统计的具体时间为当日1时(UTC)左右,近似表示前一天的数据 * 关于里程碑,参见[[Wiktionary:宣告]] ==页面访问统计== 历史数据参见:[[Wiktionary:统计/存档]] ===总页面浏览量=== {{Collapse2|header=最近一年中文維基詞典的存取量|float=right |{{Graph:PageViews| 365 | _ |scale=sqrt}} }} {{Chart | chart = ZhWiktionary_Monthly_Pageviews_Since_2016.chart | align = center | title = 中文維基詞典歷年瀏覽量 }} 数据来源:[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] ==收录词条== {{also|Wiktionary:统计/各语言词条}} ==参看== *[[Special:Statistics|基本统计]] [[Category:維基詞典統計]] hdpqndogxbfpssk4gsx1zwpxs2cp2ok Китайская Народная Республика 0 35314 9938418 9438569 2026-10-04T12:59:41Z Vichycombo 128658 9938418 wikitext text/x-wiki ==俄語== {{slim-wikipedia|lang=ru}} [[Image:Flag of the People's Republic of China.svg|thumb|{{lang|ru|[[флаг|Флаг]] [[КНР]]}}|upright=1]] [[Image:中華人民共和國國徽.svg|thumb|{{lang|ru|[[герб|Герб]] [[КНР]]}}|upright=1]] ===詞源=== {{lit|中國人民共和國}}。 ===發音=== * {{ru-IPA|Кита́йская Наро́дная Респу́блика}} * {{audio|ru|Ru-Китайская Народная Республика.ogg}} ===專有名詞=== {{ru-proper noun+|[[китайский|Кита́йская]]|+|_|[[народный|Наро́дная]]|+|_|[[республика|Респу́блика]]}} # {{place|ru|國家|r/東亞|t1=中華人民共和國}} #: {{syn|ru|Кита́й|КНР}} #: {{ux|ru|'''Кита́йская Наро́дная Респу́блика''' явля́ется социалисти́ческим госуда́рством демократи́ческой диктату́ры наро́да, руководи́мым рабо́чим кла́ссом и осно́ванное на сою́зе рабо́чих и крестья́н.|中華人民共和國是工人階級領導的、以工農聯盟為基礎的人民民主專政的社會主義國家。<sub>(1982年中華人民共和國憲法第一條)</sub>}} ====變格==== {{ru-noun-table|[[китайский|Кита́йская]]|+|_|[[народный|Наро́дная]]|+|_|[[республика|Респу́блика]]|n=sg}} ====相關詞==== * {{l|ru|кита́ец}}、{{l|ru|китая́нка}} * {{l|ru|кита́йский}} juz3fhy7necd43mjfqfqdhdp8af65e5 榆 0 308955 9938471 9660233 2026-10-05T07:50:46Z ~2026-53362-38 135581 /* 日語 */ 9938471 wikitext text/x-wiki {{character info/new}} {{漢}} * {{总笔画|13}} * {{部首|木|9}} * 其他变体:-{[[楡]]}- {{字形拆解|2346}} === 参考 === * {{大字源|927|19}} * {{汉语大字典|2|1253|1}} * {{宋本广韵|76|36}} * {{Unihan数据|6986}} === 编码 === {{汉字编码|仓颉=DOMN|四角号码=4892<sub>1</sub>|Unicode|十进制=27014|UTF8=E6 A6 86 |UTF16=6986|UTF32=00006986|Big5=B7AE|CCCII=214530|CNS1986=1-6454|CNS1992=1-6454|EACC=214530|GB80=5160|GB90=5160|KPS2000=4C8A|中文电码|中国大陆=2810|台湾=2810}} ==漢語== {{zh-forms|alt=楡}} ===字源=== {{Han etym}} {{Han compound|木|俞|c1=s|c2=p|t1=|ls=psc}}. ===發音=== {{zh-pron |m=yú |m-s= |c=jyu4 |c-t= |g= |h=pfs= |j= |mb= |md= |mn=qz,xm:û/zz:î/qz,xm:lû/zz:jî/kh:jiû/tp:liû/twvk:jû |mn_note=û/î - 文讀;lû/jî/jiû/liû/jû - 白讀 |mn-t= |w= |x= |mc=y |oc=y |ma= |cat=n }} ===釋義=== {{head|zh|漢字}} # [[榆樹]] ===組詞=== {{col3|zh|暮景桑榆|望杏瞻榆|枌榆|桑榆|桑榆晚景|桑榆暮影|桑榆暮景|桑榆末景|榆塞|榆木|榆枋|榆樹|榆次|榆火|榆白皮|榆瞑豆重|榆社|榆莢|榆莢雨|榆葉梅|榆錢|榆關|榔榆|白榆|豆重榆瞑}} ==日語== {{huge|{{Lang|ja|榆}}|220%}} ===讀音=== {{ja-readings |goon=ゆ |kanon=ゆ |kun=にれ- |kun=のん- }} ==朝鮮語== :{{huge|{{Lang|ko|榆}}|220%}} ===讀音=== {{朝字音||[[유]] (yu)}} {{異體字}} :{| class="wikitable" width=60% border="2" |- |align="center"| <span style="font-size: x-large;"> [http://chardb.iis.sinica.edu.tw/meancompare/6986/6961 楡]</span> |} {{異體字注}} [[Category:待分類的漢語詞]] [[Category:漢語|木09]] [[分類:汉语汉字|木09]] [[Category:待分類的日語詞]] [[Category:日語]] [[Category:待分類的朝鮮語詞]] [[Category:朝鮮語]] oz64h8pzisd9mhds0p03vwpi7oj7p1p 贓 0 314383 9938460 9932600 2026-10-04T23:38:55Z Fglffer 55252 /* 漢語 */ 9938460 wikitext text/x-wiki {{also|赃}} {{character info}} ==跨語言== ===漢字=== {{Han char|rn=154|rad=貝|as=14|sn=21|four=63850|canj=BCIMS|ids=⿰貝臧}} ====參見==== * {{l|mul|臟}} ====參考資料==== {{Han ref|kx=1213.020|dkj=36962|dj=1679.170|hdz=63660.010|uh=8D13|ch=0012790005.010|sbgy=0183.12}} ==漢語== {{zh-forms|t2=贜|s=赃|ns=𰷭|alt=賍,賘}} ===字源=== {{Han etym}} ===發音=== {{zh-pron |m=zāng |m-s= |c=zong1 |c-t= |g= |h=pfs= |j= |mb= |md= |mn=chng/chong |mn_note=chng - 白讀; chong - 文讀 |mn-t= |w= |x= |mc=y |oc=y |cat=n,v }} ===釋義=== {{head|zh|漢字}} # 通過不[[正當]]手段(如盜竊、貪污)得到的[[財物]] # {{†}} [[受賄]] ===組詞=== {{col3|zh|人贓俱獲|併贓拿賊|併贓治罪|倒贓|分贓|坐地分贓|并贓拿敗|拿賊拿贓|拿賊見贓|栽贓|濫吏贓官|真贓|真贓實犯|真贓正賊|誣盜插贓|貪贓|貪贓壞法|貪贓枉法|買物栽贓|賊贓|贓仗|贓埋|贓官|贓款|贓汙|贓汙狼藉|贓物|贓物罪|贓誣|贓證|贓車|贓銀|起贓|追贓|過贓犯法|領贓|銷贓}} ==日語== ===漢字=== {{ja-kanji|grade=|rs=貝14}} # {{rfdef|ja|sort=貝14}} ====讀音==== {{ja-readings |goon=そう |kanon=そう |kanyoon=ぞう |kun=かくす }} ==朝鮮語== ===詞源=== 源自{{der|ko|ltc|sort=장|-}} {{ltc-l|贓}}。 {{hanja-ety |dk={{hanja-dongguk|자ᇰ|càng}} |m={{hanja-hunmong|자ᇰ|càng|雜語#하29B}} |mh=자ᇰ믈〮<ref>{{lang|ko|贓物}} [stolen goods]</ref> 자ᇰ |ref={{reflist}} }} ===發音=== {{ko-hanja-pron|장}} ===漢字=== {{ko-hanja-search}} {{ko-hanja|[[장물]]([[贓物]])|장}} # {{hanja form of|장|[[贓物]]}} ====組詞==== {{der-top3|組詞}} * {{ko-l|장리|贓吏}} * {{ko-l|장물|贓物}} * {{ko-l|장물죄|贓物罪}} {{der-bottom}} ===參考資料=== * {{R:hanjadoc|12134}} ==越南語== ===漢字=== {{vi-readings|rs=貝14|reading=tang}} # {{rfdef|vi|sort=貝14}} 0xzxkzcybcdxhp3i3fkq5uts4beakd7 贜 0 314387 9938463 8428680 2026-10-04T23:41:14Z Fglffer 55252 9938463 wikitext text/x-wiki {{character info}} ==跨語言== ===漢字=== {{Han char|rn=154|rad=貝|as=18|sn=25|four=|canj=BCTIS|ids=⿰貝藏}} ====來源==== * {{Han ref|kx=1213.201|dkj=36990|dj=1680.100|hdz=63661.150|uh=8D1C|ud=36124|ch=0012800002.010}} ==漢語== {{zh-see|贓}} ==日語== ===漢字=== {{ja-kanji|grade=|rs=貝18}} # {{rfdef|ja|sort=貝18}} ====讀音==== * {{ja-readings|on=ぞう,そう|kun=かくす|nanori=}} ==朝鮮語== ===漢字=== {{ko-hanja|hangeul=장|eumhun=|rv=jang|mr=chang|y=cang}} # {{rfdef|ko|sort=貝18}} dguhmlwkfkf228mfxzvjqml21z2b5j4 赃 0 314424 9938459 7695163 2026-10-04T23:38:12Z Fglffer 55252 /* 漢語 */ 9938459 wikitext text/x-wiki {{character info}} ==跨語言== ===漢字=== {{Han char|rn=154|rad=贝|as=06|sn=10|four=|canj=BOIG|ids=⿰贝庄}} ====來源==== * {{Han ref|kx=1213.211|hdz=63640.020|uh=8D43|ud=36163}} ==漢語== ===詞源1=== {{zh-see|贓}} ===詞源2=== {{zh-see|賍}} 146gaswqkeo63u1v8yo0en5eigw86kc 步武 0 589196 9938436 7618269 2026-10-04T16:09:38Z 徐元昊 122104 新詞條 還需完善 9938436 wikitext text/x-wiki ==漢語== {{zh-forms|lit=一步與半步}} ===發音=== {{zh-pron |m=bùwǔ |cat=n }} ===名詞=== {{head|zh|名詞}} # {{lb|zh|literary}} [[腳步]];[[步伐]] #* {{zh-x|循玩 足 忘 疲,稍 覺{jué} 步武 輕。安 能 事 翦伐,持 用 資 徒行。||TCP|ref=唐·{{w|柳宗元}}〈[[s:植靈壽木|植靈壽木]]〉}} #* {{zh-x|積 旬 之 外,玉女 稍稍 與 @^行達 爭先,步武 相接。||CL|ref=唐·{{w|薛用弱}}《[[s:集異記|集異記]]》(見於《[[s:太平廣記/卷第063#玉女|太平廣記·卷六十三·玉女]]》)}} #* {{zh-x|靄靄 祥雲 隨 步武,累累 秋 冢 嘆 蓬蒿。||TCP|ref=唐·{{w|杜牧}}〈[[s:全唐詩/卷521#贈李處士長句四韻|贈李處士長句四韻]]〉}} #* {{zh-x|蹇驢 步武 碎,短 瑟 弦 柱 促。仰 看 泉 落 珮,俯 聽 石 響 轂。||TCP|ref=宋·{{w|蘇軾}}〈次韻高要令劉湜峽山寺見寄〉}} #* {{zh-x|豈但 煙霄 隨 步武,故應{yīng} 冰雪 換 形容。||TCP|ref=宋·{{w|陸游}}〈道室雜詠〉}} # {{lb|zh|literary|figurative}} 極短的[[距離]];[[咫尺]] #* {{zh-x|然 一 旅 之 眾,不.足以 揚 名,步武 之間,不.足以 騁 跡。||CL|ref=三國魏·{{w|吳質}}〈[[s:答東阿王書|答東阿王書]]〉}} #* {{zh-x|彼 雖 尋-飛 絕-景{yǐng},止 而 不 行,則 步武 不-過 焉。||CL|ref=晉·{{w|葛洪}}《[[s:抱朴子/外篇/卷03|抱朴子·外篇·勖學]]》}} #* {{zh-x|隔闊 相{xiāng}思,發 於 寤寐。相{xiāng}去 步武,而 趨舍 異 規,其 為{wéi} 愴恨,胡 可 勝{shēng}言!||CL|ref=南朝宋·{{w|范曄}}《[[s:後漢書/卷58|後漢書·卷五十八·臧洪傳]]》}} #* {{zh-x|w:晉成帝\^成帝 w:咸和\^咸和 元年,大霧,步武 不 相{xiāng}見。||CL|ref=舊晉書,《[[s:太平御覽/0878|太平御覽·卷八百七十八]]》引}} # {{lb|zh|literary|figurative}} [[效法]];[[追隨]] #* {{zh-x|考第 居-甲,自-天 昭回。分命 邦畿,步武 獲-陪。||CL|ref=唐·{{w|柳宗元}}《[[s:|為韋京兆祭杜河中文]]》}} ====衍生詞==== {{col3|zh|步武堂皇|步武前賢}} ===參考資料=== * {{R:zh:cbgycdxdb|22261}} * {{R:zh:HYDCD}} 44soexcegv2qyxzhu0fitu2m6vw1pnw 礼遇 0 660105 9938444 7998705 2026-10-04T17:44:45Z TongcyDai 53191 9938444 wikitext text/x-wiki {{also|禮遇}} ==漢語== {{zh-see|禮遇}} ==日語== {{ja-kanjitab|れい|ぐう|yomi=on}} ===發音=== {{ja-pron|れいぐう|acc=0|acc_ref=SMK7,DJR,NHK,NKD2}} ===名詞=== {{ja-noun|れいぐう}} # [[禮遇]] #: {{ja-x|厚い'''礼%遇'''を受ける|あつい '''れい%ぐう''' を うける|受到盛情'''禮遇'''}} ===動詞=== {{ja-verb-suru|tr=trans|れいぐう}} # [[禮遇]] ====活用==== {{ja-suru|れいぐう}} ===參考資料=== * {{R:Kanjipedia Kotoba|0007241100}} {{reflist}} 2hibhp4ddltfy8vjv26jvaqpmu7d77p エスペラント 0 707982 9938464 9920265 2026-10-04T23:45:46Z Fglffer 55252 /* 日語 */ 9938464 wikitext text/x-wiki ==日語== {{wikipedia|lang=ja}} ===詞源=== 借自{{bor|ja|eo|Esperanto}}。<ref name="KDJ">{{R:Kokugo Dai Jiten}}</ref><ref name="DJR">{{R:Daijirin}}</ref> ===發音=== {{ja-pron|acc=4|dev=2|acc_ref=DJR,NHK,SMK5}} ===專有名詞=== {{ja-pos|proper}} # [[世界語]] ====同義詞==== * {{ja-r|エスペラント語|エスペラント-ご|caps=y}} ===參考資料=== {{reflist}} 0andpsp61e7vj1ee878urwf2ld5848o Freiraum 0 784523 9938442 4832331 2026-10-04T17:07:34Z Hzy980512 19278 9938442 wikitext text/x-wiki ==德语== ===词源=== {{ety|de|:af|frei<t:[[自由]]的>|Raum<t:[[房间]],[[空间]]>}} {{compound|de|frei|Raum|t1=[[自由]]的|t2=[[房间]],[[空间]]}}。 ===发音=== * {{IPA|de|/ˈfʁaɪ̯ˌʁaʊ̯m/}} * {{rhymes|de|aʊ̯m}} * {{hyph|de|Frei|raum}} * {{audio|de|De-Freiraum.ogg|a=<<Germany>> (<<Berlin>>)}} * {{audio|de|De-at-Freiraum.ogg|a=Austria}} ===名词=== {{de-noun|m,(e)s,^e}} # (选择等的)[[空间]],[[自由]],[[余地]] # [[空地]],空间 ====变格==== {{de-ndecl|m,(e)s,^e}} ===延伸阅读=== * {{R:de:DWDS}} * {{R:de:Duden}} dqxqw7uoyflaryza5kmkrbyxvi6jlmu Theke 0 805057 9938421 9549946 2026-10-04T14:18:08Z TongcyDai 53191 9938421 wikitext text/x-wiki ==德语== ===词源=== 原指“纸盒子”,源自{{w|低地法兰克语}}和{{w|西中部德语}}方言(可考自16世纪初),可能经由{{der|de|dum|teke}}(对比过时现代{{cog|nl|teek}}),源自{{der|de|la|thēca}},源自{{der|de|grc|θήκη}}。本词在19世纪被引入现代标准德语,在德国西部比其他地方要更常用。 ===发音=== * {{IPA|de|/ˈteːkə/}} * {{audio|de|De-Theke.ogg}} ===名词=== {{de-noun|f}} # ([[餐厅]]等的)[[柜台]],[[吧檯]] #: {{syn|de|Tresen}} # {{lb|de|方言|主要|德国西部}} (商店等的)[[收银台]],[[柜台]] #: {{syn|de|Ladentisch}} ====变格==== {{de-ndecl|f}} ===延伸阅读=== * {{R:de:Duden}} s749mjj2u9g4phku5usxx1t16zeb8gt pendeln 0 820155 9938441 8865549 2026-10-04T17:01:27Z Hzy980512 19278 9938441 wikitext text/x-wiki {{also|Pendeln}} ==德语== ===词源=== {{ety|de|:af|Pendel|-n}} 源自{{af|de|Pendel|-n}}. ===发音=== * {{audio|de|De-pendeln.ogg|a=<<Germany>> (<<Berlin>>)}} ===动词=== {{de-verb|<haben,sein>}} {{tlb|de|intransitive}} # 来回[[摆动]],[[摇摆]] {{+aux|de|haben}} #: {{uxi|de|den Kopf '''pendeln''' lassen|'''来回摆动'''头;让头晃来晃去}} # 来回走;{{lb|de|尤指}} 上下班,[[通勤]] {{+aux|de|sein}} #: {{ux|de|Jetzt kann ich von zu Hause aus '''pendeln'''.|我现在可以从家里'''通勤'''了。}} # (摆渡车,列车等)来回运行,[[往返]] {{+aux|de|sein}} ====变位==== {{de-conj|<haben,sein>}} ====派生词汇==== {{col|de |Pendler }} ===延伸阅读=== * {{R:de:DWDS}} * {{R:de:UniLeipzig}} * {{R:de:Duden}} * {{R:de:OpenThesaurus}} ==瑞典語== ===名詞=== {{head|sv|名詞變格形}} # {{noun form of|sv|pendel||def|s}} atfhieem0tju7zdrebtk9stsbcvqhsu pendelnd 0 820159 9938482 4999721 2026-10-05T09:05:47Z Sayonzei 40728 9938482 wikitext text/x-wiki ==德語== ===發音=== * {{IPA|de|/ˈpɛndl̩nt/}} * {{audio|de|De-pendelnd.ogg|a=柏林}} ===分詞=== {{head|de|現在分詞}} # {{present participle of|de|pendeln}} ====變格==== {{de-adecl}} 36yjl4r1vpdts20ybnzcbo8zb5i1o3j 行為 0 942483 9938467 9931946 2026-10-05T07:16:11Z Jiba1219 110530 /* 日語 */ 9938467 wikitext text/x-wiki ==漢語== {{zh-forms|s=行为|t2=行爲}} ===發音=== {{zh-pron |m=xíngwéi |c=hang4 wai4 |h=pfs=hàng-vì |md=hèng-òi |mn=hêng-ûi |mn-t=gian5 ui5 |ma=y |cat=n }} ===名詞=== {{head|zh|名詞}} # {{lb|zh|countable|uncountable}} 受[[思想]][[支配]]而[[表現]]在外的[[舉止]][[動作]]{{zh-mw|m:個|m:種}} #: {{zh-x|不 道德 的 行為{wéi} }} #: {{zh-x|自殺 行為{wéi} }} #: {{zh-x|文明 行為{wéi} }} #: {{zh-x|行為{wéi} 不檢}} #: {{zh-x|欺騙 行為{wéi} }} #: {{zh-x|行為{wéi} 規範}} #* {{zh-x|余 之 亡-妻 於 夫人 之 孫女 為{wéi} 第三 而 光祿 之 長{zhǎng}女,知 夫人 之 行為{wéi} 尤 詳,故 為{wéi} 之 銘。||CL|ref=宋·曾鞏《壽安縣太君張氏墓誌銘》}} #* {{zh-x|他 在 這 一天 只有 像 木偶 一般 地{de} 行為{wéi}。||ref=巴金《滅亡》第四章}} #* {{zh-x|^魯 ^@大海:哼{hng}!這 是 假 的,你們 自己 假作 的 電報 來 離間{jiàn} 我們 的。你們 這種 卑鄙 無賴 的 行為{wéi}!||ref=曹禺《雷雨》第二幕}} # {{lb|zh|countable|uncountable}} [[行動]];[[行徑]]{{zh-mw|m:個|m:種}} #: {{zh-x|戰爭 行為{wéi} }} #: {{zh-x|恐怖 行為{wéi} }} #: {{zh-x|違法 行為{wéi} }} ====同義詞==== * {{s|舉止}} {{qual|書面}} {{zh-l|行事}}、{{zh-l|作為}} ====衍生詞==== {{col3|zh|行為藝術|行為科學|行為能力|行為準則|性行為|社會行為|自助行為|行為主義|認知行為治療|侵權行為|長期行為|犯罪行為|認知行為療法|辯證行為療法|辯證行為治療}} ====相關詞==== * {{zh-l|活動}} {{zh-cat|Intermediate}} ==日語== {{ja-kanjitab|こう|い|yomi=kanon,on}} ===發音=== * {{ja-pron|こうい|acc=1|acc_ref=NHK}} ===名詞=== {{ja-noun|hhira=かうゐ|こうい}} # [[行動]],[[舉止]] #: {{ja-usex|[[テロ]]'''行%為'''|テロ '''こう%い'''|恐怖'''行為'''}} #: {{ja-usex|[[核]][[開%発]][[は]][[挑%発]]'''行%為'''[[だ]]。|かく かい%はつ は ちょう%はつ '''こう%い''' だ。|核子開發是挑釁'''行為'''。}} # [[執行]] ===來源=== {{reflist}} ==越南語== {{vi-hantutab}} ===名詞=== {{vi-noun|sc=Hani}} # {{alt form|vi|行爲||{{vi-Han form of|hành vi}}}} 5zmieq28qwphrq11m7s3lt4d4icizco 主観 0 970003 9938469 9922180 2026-10-05T07:38:01Z Jiba1219 110530 9938469 wikitext text/x-wiki ==日語== {{ja-kanjitab|しゅ|かん|yomi=kanon,o}} ===發音=== {{ja-pron|しゅかん|acc=0|dev=1|acc_ref=NHK}} ===名詞=== {{ja-noun|しゅかん|hhira=しゆくわん}} # [[主觀]] ====反義詞==== * {{ja-r|客%観|きゃっ%かん}} ====派生詞彙==== * {{ja-r|主%観%的|しゅ%かん%てき}} ===參考資料=== {{reflist}} {{c|ja|哲學|sort=しゅかん}} i2zgwy3g5p9ok11wjyzkq6nditsq6xz 主管 0 1114668 9938468 8300158 2026-10-05T07:37:00Z Jiba1219 110530 /* 日語 */ 9938468 wikitext text/x-wiki ==漢語== {{zh-forms}} ===發音=== {{zh-pron |m=zhǔguǎn |c=zyu2 gun2 |h=pfs=chú-kón |mn=chú-koán |cat=v,n }} ===動詞=== {{zh-verb}} # [[負擔]][[責任]] #: {{zh-x|主管 部門|}} # [[主持]][[管理]] {{例|宋·王禹偁《謫居感事》詩|縣花聊'''主管''',寺棘且羈縻。}} {{例|宋·吳自牧《夢粱錄‧內司官》|內官散祗候,不記多數,各有所轄職名,'''主管'''事務。}} ====翻譯==== {{trans-top|負擔責任}} * 阿塞拜疆語:{{t|az|məsul}}, {{t|az|cavabdeh}} * 保加利亞語:{{t|bg|отговорен за}} * 荷蘭語:{{t+|nl|verantwoordelijk}} * 英語:{{t+|en|in charge}} * 芬蘭語:參見{{t+|fi|vastata}}, {{t+|fi|vastuu}} * 法語:{{t+|fr|responsable}} * 德語:{{t+|de|verantwortlich}}, {{t+|de|zuständig}} * 希臘語:{{t+|el|υπεύθυνος}}, {{t+|el|αρμόδιος}} * 意大利語:{{t|it|in carica}} * 庫爾德語: *: 中庫爾德語:{{t|ckb|گرتنە ئەستۆ}} * 波斯語:{{t+|fa|مسئول|tr=mas'ul}} * 波蘭語:{{t+|pl|odpowiedzialny}} * 葡萄牙語:{{t+|pt|incumbido}} * 俄語:{{t+|ru|отве́тственный}} {{l|ru|за}}(+賓格), {{t+|ru|отвеча́ющий}} {{l|ru|за}}(+賓格) * 蘇格蘭蓋爾語:{{t|gd|an urra ri}} * 塞爾維亞-克羅地亞語:{{t+|sh|odgovoran}} * 西班牙語:{{t+|es|encargado}},{{t+|es|responsable}}, {{t|es|a cargo}} * 烏茲別克語:{{t+|uz|javobgarlik}} {{trans-bottom}} ===名詞=== {{head|zh|名詞}} # [[掌管]]某種專門[[事務]]的[[職官]] {{例|《文獻通考‧職官十六》|熙寧七年……令杞等提舉,置都大提舉及'''主管'''、同'''主管''',各因其資品高下除授云。}} {{例|《宋史‧職官志十》|宋制,設祠祿之官,以佚老優賢……又有提舉、提點、'''主管'''。}} # [[管家]]。 {{例|《京本通俗小說‧志誠張主管》|一個開線鋪的員外張士廉……家有十萬貲財,用兩個'''主管'''營運。}} {{例|《水滸傳》第六二回|蔡福來到樓上看時,卻是'''主管'''李固。各施禮罷,蔡福道:‘'''主管'''有何見教?’}} # 指[[店鋪]][[掌事]]人 {{例|《古今小說‧新橋市韓五賣春情》|新造一所房屋,令子吳山,再撥'''主管'''幫扶,也好開一個舖。}} # 領導人;[[老闆]];[[首領]];[[監督]] #: {{zh-x|假如 給 你 一個 機會 當 '''主管''',你 如何 解決 實際 問題 ?|}} ====翻譯==== {{trans-top|公司或計畫的領導人}} * 加泰羅尼亞語:{{t|ca|supervisor|m}} * 捷克語:{{t+|cs|dozorce|m}}, {{t+|cs|inspektor|m}}, {{t|cs|dohližitel|m}} * 荷蘭語:{{t+|nl|toezichthouder|m}}, {{t+|nl|leidinggevende}} * 英語:{{t+|en|supervisor}} * 芬蘭語:{{t+|fi|valvoja}}, {{t+|fi|tarkastaja}} * 法語:{{t+|fr|superviseur|m}} * 加利西亞語:{{t+|gl|supervisor|m}} * 格魯吉亞語:{{t|ka|უფროსი}}, {{t|ka|ხელმძღვანელი}}, {{t|ka|მენეჯერი}}, {{t|ka|ზედამხედველი}}, {{t|ka|ინსპექტორი}}, {{t|ka|კონტროლერი}} * 德語:{{t+|de|Aufseher}}, {{t+|de|Vorgesetzter|m}} * 希臘語:{{t+|el|επόπτης|m}} *: 古希臘語:{{t|grc|ἐπόπτης|m}}, {{t|grc|ἐπίσκοπος|m}} * 匈牙利語:{{t+|hu|munkafelügyelő}} * 愛爾蘭語:{{t|ga|maor|m}} * 意大利語:{{t|it|supervisore|m}} * 日語:{{t+|ja|主管|tr=しゅかん, shukan}}, {{t|ja|スーパーバイザー|tr=sūpābaizā}}, {{t+|ja|監督}}, {{t+|ja|監察}}, {{t+|ja|管理者}}, {{t|ja|管理人}} * 高棉語:{{t|km|មេការ|tr=mee kaa}} * 庫爾德語: *: 中庫爾德語:{{t+|ckb|چاودێر}} * 挪威語: *: 書面挪威語:{{t|nb|oppsynsmann|m}} *: 新挪威語:{{t|nn|oppsynsmann|m}} * 門諾低地德語:{{t|pdt|Äwasechta|m}} * 波蘭語:{{t+|pl|naczelnik|m}}, {{t+|pl|nadzorca|m}} * 葡萄牙語:{{t+|pt|supervisor|m}} * 俄語:{{t+|ru|нача́льник|m}}, {{t+|ru|руководи́тель|m}}, {{qualifier|貶義}} {{t+|ru|надсмо́трщик|m}}, {{qualifier|貶義}} {{t+|ru|надзира́тель|m}}, {{qualifier|製造業、建築業}} {{t+|ru|ма́стер|m}}, {{t+|ru|суперва́йзер|m|tr=supervájzɛr}} * 塞爾維亞-克羅地亞語: *: 西里爾字母:{{t|sh|супервизор|m|sc=Cyrl}}, {{t|sh|надзорник|m|sc=Cyrl}}, {{t|sh|надгледник|m|sc=Cyrl}}, {{t|sh|надређени|m|sc=Cyrl}}, {{t|sh|претпостављени|m|sc=Cyrl}} *: 拉丁字母:{{t+|sh|supervizor|m}}, {{t+|sh|nadzornik|m}}, {{t+|sh|nadglednik|m}}, {{t+|sh|nadređeni|m}}, {{t+|sh|pretpostavljeni|m}} * 西班牙語:{{t+|es|supervisor|m}}, {{t+|es|director|m}} * 他加祿語:{{t|tl|tagamasid}} * 意第緒語:{{t|yi|אויגהאַלטער|m}} {{trans-bottom}} {{c|zh|人|職業}} ==日語== {{ja-kanjitab|しゅ|かん|yomi=kanon,on}} ===名詞=== {{ja-noun|しゅかん}} # [[管理]] # [[管理人]]/[[指導者]] ===動詞=== {{ja-verb-suru|tr=trans|しゅかん}} # [[監督]] ====活用==== {{ja-suru|しゅかん}} ==朝鮮語== {{ko-hanjatab}} ===名詞=== {{ko-noun|hangeul=주관}} # {{hanja form of|주관|}} ==越南語== {{vi-hantutab}} ===名詞=== {{vi-noun|sc=Hani}} # {{han tu form of|chủ quản|}} fxhugxwu2ofl110awy3j59cfg0qejc0 9938470 9938468 2026-10-05T07:38:52Z Jiba1219 110530 /* 日語 */ 9938470 wikitext text/x-wiki ==漢語== {{zh-forms}} ===發音=== {{zh-pron |m=zhǔguǎn |c=zyu2 gun2 |h=pfs=chú-kón |mn=chú-koán |cat=v,n }} ===動詞=== {{zh-verb}} # [[負擔]][[責任]] #: {{zh-x|主管 部門|}} # [[主持]][[管理]] {{例|宋·王禹偁《謫居感事》詩|縣花聊'''主管''',寺棘且羈縻。}} {{例|宋·吳自牧《夢粱錄‧內司官》|內官散祗候,不記多數,各有所轄職名,'''主管'''事務。}} ====翻譯==== {{trans-top|負擔責任}} * 阿塞拜疆語:{{t|az|məsul}}, {{t|az|cavabdeh}} * 保加利亞語:{{t|bg|отговорен за}} * 荷蘭語:{{t+|nl|verantwoordelijk}} * 英語:{{t+|en|in charge}} * 芬蘭語:參見{{t+|fi|vastata}}, {{t+|fi|vastuu}} * 法語:{{t+|fr|responsable}} * 德語:{{t+|de|verantwortlich}}, {{t+|de|zuständig}} * 希臘語:{{t+|el|υπεύθυνος}}, {{t+|el|αρμόδιος}} * 意大利語:{{t|it|in carica}} * 庫爾德語: *: 中庫爾德語:{{t|ckb|گرتنە ئەستۆ}} * 波斯語:{{t+|fa|مسئول|tr=mas'ul}} * 波蘭語:{{t+|pl|odpowiedzialny}} * 葡萄牙語:{{t+|pt|incumbido}} * 俄語:{{t+|ru|отве́тственный}} {{l|ru|за}}(+賓格), {{t+|ru|отвеча́ющий}} {{l|ru|за}}(+賓格) * 蘇格蘭蓋爾語:{{t|gd|an urra ri}} * 塞爾維亞-克羅地亞語:{{t+|sh|odgovoran}} * 西班牙語:{{t+|es|encargado}},{{t+|es|responsable}}, {{t|es|a cargo}} * 烏茲別克語:{{t+|uz|javobgarlik}} {{trans-bottom}} ===名詞=== {{head|zh|名詞}} # [[掌管]]某種專門[[事務]]的[[職官]] {{例|《文獻通考‧職官十六》|熙寧七年……令杞等提舉,置都大提舉及'''主管'''、同'''主管''',各因其資品高下除授云。}} {{例|《宋史‧職官志十》|宋制,設祠祿之官,以佚老優賢……又有提舉、提點、'''主管'''。}} # [[管家]]。 {{例|《京本通俗小說‧志誠張主管》|一個開線鋪的員外張士廉……家有十萬貲財,用兩個'''主管'''營運。}} {{例|《水滸傳》第六二回|蔡福來到樓上看時,卻是'''主管'''李固。各施禮罷,蔡福道:‘'''主管'''有何見教?’}} # 指[[店鋪]][[掌事]]人 {{例|《古今小說‧新橋市韓五賣春情》|新造一所房屋,令子吳山,再撥'''主管'''幫扶,也好開一個舖。}} # 領導人;[[老闆]];[[首領]];[[監督]] #: {{zh-x|假如 給 你 一個 機會 當 '''主管''',你 如何 解決 實際 問題 ?|}} ====翻譯==== {{trans-top|公司或計畫的領導人}} * 加泰羅尼亞語:{{t|ca|supervisor|m}} * 捷克語:{{t+|cs|dozorce|m}}, {{t+|cs|inspektor|m}}, {{t|cs|dohližitel|m}} * 荷蘭語:{{t+|nl|toezichthouder|m}}, {{t+|nl|leidinggevende}} * 英語:{{t+|en|supervisor}} * 芬蘭語:{{t+|fi|valvoja}}, {{t+|fi|tarkastaja}} * 法語:{{t+|fr|superviseur|m}} * 加利西亞語:{{t+|gl|supervisor|m}} * 格魯吉亞語:{{t|ka|უფროსი}}, {{t|ka|ხელმძღვანელი}}, {{t|ka|მენეჯერი}}, {{t|ka|ზედამხედველი}}, {{t|ka|ინსპექტორი}}, {{t|ka|კონტროლერი}} * 德語:{{t+|de|Aufseher}}, {{t+|de|Vorgesetzter|m}} * 希臘語:{{t+|el|επόπτης|m}} *: 古希臘語:{{t|grc|ἐπόπτης|m}}, {{t|grc|ἐπίσκοπος|m}} * 匈牙利語:{{t+|hu|munkafelügyelő}} * 愛爾蘭語:{{t|ga|maor|m}} * 意大利語:{{t|it|supervisore|m}} * 日語:{{t+|ja|主管|tr=しゅかん, shukan}}, {{t|ja|スーパーバイザー|tr=sūpābaizā}}, {{t+|ja|監督}}, {{t+|ja|監察}}, {{t+|ja|管理者}}, {{t|ja|管理人}} * 高棉語:{{t|km|មេការ|tr=mee kaa}} * 庫爾德語: *: 中庫爾德語:{{t+|ckb|چاودێر}} * 挪威語: *: 書面挪威語:{{t|nb|oppsynsmann|m}} *: 新挪威語:{{t|nn|oppsynsmann|m}} * 門諾低地德語:{{t|pdt|Äwasechta|m}} * 波蘭語:{{t+|pl|naczelnik|m}}, {{t+|pl|nadzorca|m}} * 葡萄牙語:{{t+|pt|supervisor|m}} * 俄語:{{t+|ru|нача́льник|m}}, {{t+|ru|руководи́тель|m}}, {{qualifier|貶義}} {{t+|ru|надсмо́трщик|m}}, {{qualifier|貶義}} {{t+|ru|надзира́тель|m}}, {{qualifier|製造業、建築業}} {{t+|ru|ма́стер|m}}, {{t+|ru|суперва́йзер|m|tr=supervájzɛr}} * 塞爾維亞-克羅地亞語: *: 西里爾字母:{{t|sh|супервизор|m|sc=Cyrl}}, {{t|sh|надзорник|m|sc=Cyrl}}, {{t|sh|надгледник|m|sc=Cyrl}}, {{t|sh|надређени|m|sc=Cyrl}}, {{t|sh|претпостављени|m|sc=Cyrl}} *: 拉丁字母:{{t+|sh|supervizor|m}}, {{t+|sh|nadzornik|m}}, {{t+|sh|nadglednik|m}}, {{t+|sh|nadređeni|m}}, {{t+|sh|pretpostavljeni|m}} * 西班牙語:{{t+|es|supervisor|m}}, {{t+|es|director|m}} * 他加祿語:{{t|tl|tagamasid}} * 意第緒語:{{t|yi|אויגהאַלטער|m}} {{trans-bottom}} {{c|zh|人|職業}} ==日語== {{ja-kanjitab|しゅ|かん|yomi=kanon,on}} ===發音=== {{ja-pron|しゅかん|acc=0|dev=1|acc_ref=NHK}} ===名詞=== {{ja-noun|しゅかん}} # [[管理]] # [[管理人]]/[[指導者]] ===動詞=== {{ja-verb-suru|tr=trans|しゅかん}} # [[監督]] ====活用==== {{ja-suru|しゅかん}} ===參考資料=== {{reflist}} ==朝鮮語== {{ko-hanjatab}} ===名詞=== {{ko-noun|hangeul=주관}} # {{hanja form of|주관|}} ==越南語== {{vi-hantutab}} ===名詞=== {{vi-noun|sc=Hani}} # {{han tu form of|chủ quản|}} q86ifwyiqafadgvozsg5khrjxbezy0o 賘 0 1159701 9938461 5218352 2026-10-04T23:39:44Z Fglffer 55252 9938461 wikitext text/x-wiki {{character info}} ==跨語言== ===漢字=== {{Han char|rn=154|rad=貝|as=07|sn=14|four=|canj=BCIGI|ids=⿰貝庒}} ====來源==== * {{Han ref|kx=1209.081|hdz=63643.041|uh=8CD8}} ==漢語== {{zh-see|贓|v}} qxh2hq53ycymzzbj3h3vbyyi4lo7ob7 奴工 0 1178820 9938466 6974489 2026-10-05T03:37:56Z Public class 107487 內容擴充 9938466 wikitext text/x-wiki ==漢語== {{zh-forms}} ===發音=== {{zh-pron |m=núgōng |cat=n }} ===名詞=== {{head|zh|名詞}} # 被當成[[奴隸]]般[[役使]]的[[工人]] #* {{quote-journal|zh|date=Oct 4 2026|title=“奴工理論”成為中國網絡流行新詞|journal=聯合早報|url=https://www.zaobao.com.sg/news/china/story20261004-9781063}} #*: {{zh-q|“奴工 理論”稱,無論 一個 系統 看起來 多麼 高端 先進,只要 其中 一個 環節 使用 了“奴工”方式,由於 木桶 效應,最終 整個 系統 提供 的 產品 或 服務 必然 也是 低 質量 的。}} 62om1vjmsxrz7blzd1kf9ghxrl5piyd Module:Th-hom/data 828 1376220 9938472 9045579 2026-10-05T08:42:51Z Octahedron80 9183 9938472 Scribunto text/plain -- Must keep only correct spellings. local hom = { ['กด'] = {'กช','กฎ','กด'}, ['กน'] = {'กน','กล'}, ['กอ'] = {'ก','ก.','กอ'}, ['กอบ'] = {'กอบ','กอปร'}, ['กอ-ระ-กด'] = {'กรกช','กรกฎ','กรกฏ'}, ['กะ-บิน'] = {'กบินทร์','กบิล','กะบิล'}, ['กะ-โบน'] = {'กโบร','กโบล'}, ['กะ-ปิ'] = {'กปิ','กะปิ'}, ['กะ-มะ-ลาด'] = {'กมลาศ','กมลาสน์'}, ['กะ-รัน'] = {'กรัณฑ์','กรัณย์'}, ['กะ-ลา'] = {'กลา','กะลา'}, ['กะ-สัด-ตฺรี'] = {'กษัตรี','กษัตรีย์'}, ['กะ-เสียน'] = {'เกษียณ','เกษียน','เกษียร'}, ['กะ-หฺรีด'] = {'กรีษ','กรีส'}, ['กัด'] = {'กรรตุ','กัด'}, ['กัน'] = {'กรร','กรรฐ์','กรรณ','กรรม์','กัญ','กัณฐ์','กัณฑ์','กัณณ์','กัณห์','กัน','กันต์','กันย์','กัลป์'}, ['กัน-ดาน'] = {'กันดาร','กันดาล'}, ['กัน-ยา'] = {'กัญญา','กันยา'}, ['กัน-แสง'] = {'กรรแสง','กันแสง'}, ['กับ'] = {'กับ','กัป'}, ['กาด'] = {'กาจ','กาฐ','กาด','การ์ด'}, ['ก๊าด'] = {'ก๊าซ','ก๊าด','การ์ด'}, ['กาน'] = {'กาญจน์','กาน','กานต์','กานท์','การ','การณ์','การย์','กาล','กาฬ'}, ['กาบ'] = {'กาบ','กาพย์'}, ['กา-รัน'] = {'การันย์','การันต์'}, ['กา-รุน'] = {'การุญ','การุณย์'}, ['ก้าว'] = {'ก้าว','เก้า'}, ['กำ'] = {'กรรม','กำ'}, ['กำ-นัน'] = {'กำนัน','กำนัล'}, ['กำ-มะ-กอน'] = {'กรรมกร','กรรมกรณ์'}, ['กำ-มาน'] = {'กรรมาร','กัมมาร'}, ['กุด'] = {'กุฏิ','กุด'}, ['กุน'] = {'กุณฑ์','กุน','กุล'}, ['กุม'] = {'กุม','กุมภ์'}, ['กูด'] = {'กูฏ','กูด'}, ['กูน'] = {'กูณฑ์','กูน'}, ['กฺรน'] = {'กรณฑ์','กรน'}, ['กฺระ-ดาด'] = {'กระดาด','กระดาษ'}, ['กฺระ-บวน'] = {'กระบวน','กระบวร'}, ['กฺระ-เบน'] = {'กระเบญ','กระเบน'}, ['กฺระ-สาบ'] = {'กระษาปณ์','กระสาบ'}, ['กฺระ-เสียน'] = {'กระเษียร','กระเสียน','กระเสียร'}, ['กฺระ-ไส'] = {'กระษัย','กระไส'}, ['กฺระ-หฺนก'] = {'กระนก','กระหนก'}, ['กฺราว'] = {'กราว','กราวด์'}, ['กฺรำ'] = {'กรัม','กรำ'}, ['กฺรี-ทา'] = {'กรีฑา','กรีธา'}, ['กฺลด'] = {'กลด','กลศ'}, ['เก'] = {'เก','เกย์'}, ['เกด'] = {'เกด','เกตุ','เกศ','เกส'}, ['เก็ด'] = {'เก็จ','เก็ด'}, ['เกน'] = {'เกณฑ์','เกน'}, ['เก-สา'] = {'เกศา','เกสา'}, ['เก-สี'] = {'เกศี','เกสี'}, ['เกา-บิน'] = {'เกาบิน','เกาบิล'}, ['เกียด'] = {'เกียจ','เกียด','เกียรติ'}, ['โกด'] = {'โกฏิ','โกฐ','โกศ','โกษ','โกส'}, ['โก-สน'] = {'โกศล','โกสน'}, ['โกฺรด'] = {'โกรด','โกรธ','โกรศ'}, ['ไก๊'] = {'ไก๊','ไกด์','ไก๊ด์'}, ['ขอ'] = {'ข','ข.','ขอ','ฃ','ฃอ'}, ['ขอด'] = {'ขอด','คอร์ด','คอร์ต'}, ['ขัด'] = {'ขัช','ขัด'}, ['ขัน'] = {'ขรรค์','ขัณฑ์','ขัน','ขันธ์'}, ['ขาน'] = {'ขาน','ขาล'}, ['ขีด-คั่น'] = {'ขีดขั้น','ขีดคั่น'}, ['เข็น'] = {'เข็ญ','เข็น'}, ['ไข'] = {'ขัย','ไข'}, ['คด'] = {'คช','คด','คต'}, ['คน'] = {'คน','คนธ์','คล'}, ['คม'] = {'คม','คมน์'}, ['ควน'] = {'ควณ','ควน','ควร'}, ['คอ'] = {'ค','ค.','คอ','คอร์','ฅ','ฅอ','ฆ'}, ['ค็่อน'] = {'ข้อน','ค่อน'}, --short ['ค็่อย'] = {'ข้อย','ค่อย'}, --short ['ค้อส'] = {'คอร์ส','คอส'}, ['คะ-นะ'] = {'คณะ','ฆน','ฆนะ'}, ['คัด'] = {'คัด','คัต'}, ['คัน'] = {'ครรภ์','คัน','คันถ์','คันธ์','คัล'}, ['คั่น'] = {'ขั้น','คั่น'}, ['คับ'] = {'ครรภ','คับ','คัป','คัพภ์'}, ['คั่ว'] = {'ขั้ว','คั่ว'}, ['ค่า'] = {'ข้า','ค่า','ฆ่า'}, ['ค่าง'] = {'ข้าง','ค่าง'}, ['คาด'] = {'คาด','คาธ','คาส','ฆาต'}, ['คาน'] = {'คาน','ฆาน'}, ['คำ-นวน'] = {'คำนวณ','คำนวร'}, ['คี่'] = {'ขี้','คี่'}, ['คุด'] = {'คุด','คุต'}, ['คูน'] = {'คูณ','คูน'}, ['คฺราด'] = {'คราด','คราส'}, ['คฺรึน'] = {'คฤนถ์','ครึน'}, ['คฺวั่น'] = {'ขวั้น','ควั่น'}, ['คฺวาน'] = {'ควาญ','ควาน'}, ['เคียน'] = {'เคียน','เคียร'}, ['เคี่ยว'] = {'เขี้ยว','เคี่ยว'}, ['แค'] = {'แค','แคร์'}, ['โคด'] = {'โคตร','โฆษ'}, ['งอ'] = {'ง','ง.','งอ'}, ['จน'] = {'จญ','จน','จล','จลน์'}, ['จอ'] = {'จ','จ.','จอ'}, ['จอน'] = {'จร','จอน'}, ['จะ-หฺรด'] = {'จรด','จรส'}, ['จัก'] = {'จัก','จักร'}, ['จัน'] = {'จรรย์','จัณฑ์','จัน','จันท์','จันทร์','จันทน์'}, ['จัน-โจด'] = {'จันโจษ','จรรโจษ'}, ['จาก'] = {'จาก','จาค'}, ['จาน'] = {'จาน','จาร'}, ['จาบ'] = {'จาบ','จาป'}, ['จำ'] = {'จรรม','จำ'}, ['จำ-นัน'] = {'จำนรรจ์','จำนัล'}, ['จำ-เนียน'] = {'จำเนียน','จำเนียร'}, ['จิด'] = {'จิต','จิตต์','จิตร'}, ['จุน'] = {'จุณ','จุน','จุล'}, ['โจด'] = {'โจท','โจทก์','โจทย์','โจษ'}, ['โจน'] = {'โจน','โจร','โจล'}, ['ไจ'] = {'ใจ','ไจ'}, ['ฉอ'] = {'ฉ','ฉ.'}, ['ฉัด'] = {'ฉัด','ฉัตร'}, ['ฉัน'] = {'ฉัน','ฉันท์'}, ['ฉาบ'] = {'ฉาบ','ฉาป'}, ['ฉิน'] = {'ฉิน','ฉินท์'}, ['เฉด'] = {'เฉด','เฉท'}, ['ชง'] = {'ชง','ชงฆ์'}, ['ชน'] = {'ชน','ชนม์','ชล'}, ['ชวน'] = {'ชวน','ชวร'}, ['ชอ'] = {'ช','ช.','ฌ'}, ['ช่อ'] = {'ฉ้อ','ช่อ'}, ['ช็อก'] = {'ช็อก','ชอล์ก'}, ['ชอน'] = {'ชร','ชอน'}, ['ชะ-เลง'] = {'ชะเลง','เชลง'}, ['ชัก'] = {'ชัก','ชัค'}, ['ชัด'] = {'ชัฏ','ชัด'}, ['ชาด'] = {'ชาด','ชาต','ชาติ'}, ['ช้าด'] = {'ชาด','ชาร์จ','ชาร์ต'}, ['ชาน'] = {'ชาญ','ชาน','ชาร','ชาล','ฌาน'}, ['ชำ-นัน'] = {'ชำนรร','ชำนัญ','ชำนัน'}, ['ชำ-เนียน'] = {'ชำเนียน','ชำเนียร'}, ['ชิด'] = {'ชิด','ชิต'}, ['ชิบ'] = {'ชิบ','ชิป'}, ['เช็ก'] = {'เช็ก','เช็ค'}, ['เชอ'] = {'เชอ','เฌอ'}, ['เชา'] = {'เชาว์','เชาวน์'}, ['เชียน'] = {'เชียร','เชียรณ์'}, ['แช'] = {'แช','แชร์'}, ['โชก'] = {'โชก','โชค'}, ['โชด'] = {'โชต','โชติ'}, ['ไช'] = {'ชัย','ไช','ไชย'}, ['ซวด'] = {'ซวด','ทรวด'}, ['ซอ'] = {'ซ','ซ.','ซอ','ทรอ'}, ['ซ็่อม'] = {'ซ่อม','ส้อม'}, --short ['ซับ'] = {'ซับ','ทรัพย์'}, ['ซ่า'] = {'ซ่า','ซ่าส์'}, ['ซ่าง'] = {'ซ่าง','สร้าง'}, ['ซาบ'] = {'ซาบ','ทราบ'}, ['ซาย'] = {'ไซน์','ทราย'}, ['ซิก'] = {'ซิก','ซิกข์'}, ['ซิ่น'] = {'ซิ่น','สิ้น'}, ['ซิบ'] = {'ซิบ','ซิป'}, ['ซุบ'] = {'ซุบ','ซุป'}, ['ซู่'] = {'ซู่','สู้'}, ['เซ็่น'] = {'เซ่น','เส้น'}, --short ['เซล'] = {'เซล','เซลล์','เซลส์'}, ['เซ่อ'] = {'เซ่อ','เซอร์'}, ['เซ่า'] = {'เศร้า','เส้า'}, ['เซี่ยว'] = {'เซี่ยว','เสี้ยว'}, ['แซ่'] = {'แซ่','แส้'}, ['โซม'] = {'โซม','โซรม','โทรม'}, ['ไซ'] = {'ไซ','ไทร'}, ['ไซ่'] = {'ไส้','ไสร้'}, ['ไซ้'] = {'ไซ้','ไซซ์','ไซต์','ไซร้'}, ['ดวด'] = {'ดวจ','ดวด'}, ['ดอ'] = {'ฎ','ด','ดอ'}, ['ดอน'] = {'ดร','ดอน'}, ['ดาด'] = {'ดาด','ดาษ'}, ['ดาน'] = {'ดาน','ดาร','ดาล'}, ['ดาม'] = {'ดาม','ดามพ์'}, ['ด้าย'] = {'ด้าย','ได้'}, ['ดาว'] = {'ดาว','ดาวน์'}, ['ดำ'] = {'ดำ','ดัมพ์'}, ['ดำ-นาน'] = {'ดำนาณ','ดำนาน'}, ['ดิด'] = {'ดิฐ','ดิตถ์','ดิษฐ์'}, ['ดุด'] = {'ดุจ','ดุด'}, ['ดุน'] = {'ดุน','ดุล','ดุลย์'}, ['ดุ-สิด'] = {'ดุษิต','ดุสิต'}, ['เดด'] = {'เดช','เดชน์','เดต'}, ['เด็ด'] = {'เด็จ','เด็ด'}, ['เดียน'] = {'เดียร','เดียรถ์'}, ['โดน'] = {'โดน','โดร','โดรณ'}, ['ได'] = {'ใด','ได','ไดร์'}, ['ตอ'] = {'ฏ','ต','ต.','ตอ'}, ['ตะ-เค่'] = {'ตะเข้','ตะเฆ่'}, ['ตัก'] = {'ตรรก','ตัก','ตักร'}, ['ตัด'] = {'ตัด','ตัถย์'}, ['ตาน'] = {'ตาน','ตาล','ตาฬ'}, ['ต้าย'] = {'ใต้','ไต้'}, ['ตุน'] = {'ตุน','ตุล','ตุลย์'}, ['ตฺรวด'] = {'ตรวจ','ตรวด'}, ['ตฺรี'] = {'ตรี','ตฤๅ'}, ['เตียน'] = {'เตียน','เตียรถ์'}, ['ไตฺร'] = {'ตรัย','ไตร'}, ['ถอ'] = {'ฐ','ถ','ถ.'}, ['ถะ-หฺวัน'] = {'ถวัล','ถวัลย์'}, ['ถะ-หฺวิน'] = {'ถวิน','ถวิล'}, ['ถาน'] = {'ฐาน','ถาน'}, ['ถุน'] = {'ถุน','ถุล'}, ['เถน'] = {'เถน','เถร'}, ['ทง'] = {'ธง','ธงก์'}, ['ทด'] = {'ทด','ทท','ทศ'}, ['ทน'] = {'ทน','ทนต์','ทล','ธน'}, ['ท่วย'] = {'ถ้วย','ท่วย'}, ['ทอ'] = {'ฑ','ฒ','ท','ท.','ทอ','ธ','ธ.'}, ['ท็่อง'] = {'ถ้อง','ท่อง'}, --short ['ทอน'] = {'ทอน','ธร'}, ['ทอ-ระ-มาน'] = {'ทรมาน','ธรมาน'}, ['ทอ-ระ-ราด'] = {'ทรราช','ทรราชย์'}, ['ทะ-ลาย'] = {'ทลาย','ทะลาย'}, ['ทะ-วาย'] = {'ทวาย','ทะวาย'}, ['ทะ-วิ-บด'] = {'ทวิบถ','ทวิบท'}, ['ทัก'] = {'ทัก','ทักข์','ทักษ์'}, ['ทัด'] = {'ทัด','ทัต','ทัศ','ทัศน์','ธัช'}, ['ทัน'] = {'ทัณฑ์','ทัน','ทันต์','ทันธ์','ธรรม์','ธัญ'}, ['ทับ'] = {'ทรรป','ทรรปณ์','ทับ','ทัพ'}, ['ทับ-ปะ-นะ'] = {'ทรรปณะ','ทัปนะ'}, ['ท่า'] = {'ถ้า','ท่า'}, ['ทาด'] = {'ทาษ','ทาส','ธาตุ'}, ['ทาน'] = {'ทาน','ทานต์','ทาร','ธาร'}, ['ทา-ยาด'] = {'ทายาด','ทายาท'}, ['ท้าว'] = {'ท้าว','เท้า'}, ['ทำ'] = {'ทำ','ธรรม'}, ['ทิ-คำ-พอน'] = {'ทิคัมพร','ทิฆัมพร'}, ['ทิด'] = {'ทิช','ทิด','ทิต','ทิศ'}, ['ทิบ'] = {'ทิป','ทิพ','ทิพย์'}, ['ทุก'] = {'ทุก','ทุกข์'}, ['ทุด'] = {'ทุส','ธุช','ธุต'}, ['ทุ-ระ-กำ'] = {'ทุรกรรม','ธุรกรรม'}, ['ทูน'] = {'ทูน','ทูล'}, ['ทูบ'] = {'ทูบ','ธูป'}, ['เท'] = {'เท','เทห์'}, ['เทด'] = {'เทศ','เทศน์'}, ['เท-พิน'] = {'เทพิน','เทพินทร์'}, ['เท-วัน'] = {'เทวัญ','เทวัน'}, ['เท่า'] = {'เฒ่า','เถ้า','เท่า'}, ['เทิน'] = {'เทอญ','เทิน','เทิร์น'}, ['เทียน'] = {'เทียน','เทียร','เทียรฆ์','เธียร'}, ['โท'] = {'โท','โทร'}, ['โท-ระ-ทัด'] = {'โทรทรรศน์','โทรทัศน์'}, ['ไท'] = {'ไท','ไทย'}, ['นบ'] = {'นบ','นพ','นภ'}, ['นอ'] = {'ณ','น','น.','นอ'}, ['นอ-ระ-กาน'] = {'นรกานต์','นรการ'}, ['นะ'] = {'ณ','นะ'}, ['นัก'] = {'นัก','นัข','นัค'}, ['นัด'] = {'นัจ','นัฏ','นัฑ','นัด','นัตถุ์'}, ['น่า'] = {'น่า','หน้า'}, ['นาก'] = {'นาก','นาค'}, ['นาด'] = {'นาฏ','นาด','นาถ','นาท','นาศ'}, ['นิด'] = {'นิจ','นิด','นิตย์','นิติ','นิทร'}, ['นิ-ติ-กอน'] = {'นิติกร','นิติกรณ์'}, ['นิ-ติ-กาน'] = {'นิติการ','นิติการณ์'}, ['นิ-ทาน'] = {'นิทาน','นิธาน'}, ['นิ-ระ-มาน'] = {'นิรมาณ','นิรมาน'}, ['นิ-โรด'] = {'นิโรช','นิโรธ'}, ['นิ-วาด'] = {'นิวาต','นิวาส'}, ['นิ-สาด'] = {'นิษาท','นิสาท'}, ['นี่'] = {'นี่','หนี้'}, ['นุด'] = {'นุช','นุด','นุต'}, ['เน-ระ-นาด'] = {'เนรนาด','เนรนาถ'}, ['เน่า'] = {'เน่า','เหน้า'}, ['เนียน'] = {'เนียน','เนียร'}, ['ไน'] = {'นัย','นัยน์','ใน','ไน'}, ['บง'] = {'บง','บงก์','บงสุ์'}, ['บด'] = {'บฏ','บด','บถ','บท'}, ['บอ'] = {'บ','บ.','บอ'}, ['บ่อ'] = {'บ่','บ่อ'}, ['บอด'] = {'บอด','บอร์ด'}, ['บอ-พิด'] = {'บพิตร','บพิธ'}, ['บอ-ริ-พัน'] = {'บริพันธ์','บริภัณฑ์'}, ['บะ-หฺรัด'] = {'บรัด','บรัศว์'}, ['บัง-คน'] = {'บังคน','บังคล'}, ['บัด'] = {'บัฏ','บัด','บัตร','บัทม์'}, ['บัน'] = {'บรรณ','บรรพ์','บัน','บัล'}, ['บัน-ดิด'] = {'บัณฑิต','บัณฑิตย์'}, ['บัน-เดาะ'] = {'บัณเฑาะก์','บัณเฑาะว์'}, ['บัน-ยง'] = {'บรรยง','บรรยงก์'}, ['บัน-หฺลาด'] = {'บัลลาด','บัลลาสต์'}, ['บับ'] = {'บรรพ','บัพ'}, ['บา'] = {'บา','บาร์'}, ['บาด'] = {'บาด','บาต','บาตร','บาท','บาศ','บาศก์'}, ['บาน'] = {'บาน','บาล'}, ['บิด'] = {'บิฐ','บิด','บิต'}, ['บิน'] = {'บิณฑ์','บิน','บิล'}, ['บุด'] = {'บุด','บุตร','บุษย์'}, ['บุบ'] = {'บุบ','บุพ'}, ['บูน'] = {'บูร','บูรณ์','บูรพ์'}, ['ไบ'] = {'ใบ','ไบ'}, ['ปอ'] = {'ป','ป.','ปอ'}, ['ปอน'] = {'ปอน','ปอนด์'}, ['ปะ-ติ'] = {'ปฏิ','ปติ'}, ['ปะ-ติ-พาก'] = {'ปฏิพากย์','ปฏิภาค'}, ['ปะ-ติ-วัด'] = {'ปฏิวัติ','ปติวัตร'}, ['ปะ-ถะ-พี'] = {'ปฐพี','ปถพี'}, ['ปะ-ริ-พัน'] = {'ปริพันธ์','ปริภัณฑ์'}, ['ปะ-ริ-พาด'] = {'ปริภาษ','ปริภาษณ์'}, ['ปะ-ริ-หาน'] = {'ปริหาน','ปริหาร'}, ['ปะ-วาน'] = {'ปวาล','ปวาฬ'}, ['ปะ-วิด'] = {'ปวิช','ปวิตร','ปวิธ'}, ['ปะ-สาด'] = {'ปสาท','ปสาสน์'}, ['ปะ-หาน'] = {'ปหาน','ปหาร'}, ['ปะ-หฺรอด'] = {'ปรอด','ปรอท'}, ['ปะ-หฺรัด'] = {'ปรัด','ปรัศว์'}, ['ปัก'] = {'ปัก','ปักข์','ปักษ์'}, ['ปัง'] = {'ปัง','ปังสุ์'}, ['ปัด'] = {'ปัฏ','ปัด','ปัทม์'}, ['ปาด'] = {'ปาด','ปาท','ปาส'}, ['ปาน'] = {'ปาน','ปาล'}, ['ปาม'] = {'ปาม','ปาล์ม'}, ['ปุด'] = {'ปุฏ','ปุด','ปุตต์'}, ['ปฺระ-กิด'] = {'ประกิด','ประกิต'}, ['ปฺระ-กฺริด'] = {'ประกฤต','ประกฤติ'}, ['ปฺระ-จัน'] = {'ประจัญ','ประจัน'}, ['ปฺระ-จาก'] = {'ประจาก','ประจาค'}, ['ปฺระ-ทาน'] = {'ประทาน','ประธาน'}, ['ปฺระ-ทุด'] = {'ประทุฐ','ประทุษ','ประทุษฐ์'}, ['ปฺระ-พัด'] = {'ประพัด','ประพัทธ์'}, ['ปฺระ-พาด'] = {'ประพาต','ประพาส','ประภาษ','ประภาส'}, ['ปฺระ-พฺรึด'] = {'ประพฤติ','ประพฤทธิ์'}, ['ปฺระ-มวน'] = {'ประมวญ','ประมวล'}, ['ปฺระ-วัด'] = {'ประวรรต','ประวรรตน์'}, ['ปฺระ-วาด'] = {'ประวาต','ประวาส'}, ['ปฺระ-วิด'] = {'ประวิช','ประวิตร'}, ['ปฺระ-สบ'] = {'ประสบ','ประสพ'}, ['ปฺระ-สม'] = {'ประศม','ประสม'}, ['ปฺระ-สาด'] = {'ประศาสน์','ประสาท','ประสาธน์'}, ['ปฺระ-สาน'] = {'ประสาน','ประสาร'}, ['ปฺระ-สูด'] = {'ประสูต','ประสูติ'}, ['ปฺระ-หาน'] = {'ประหาณ','ประหาร'}, ['ปฺระ-หฺวัด'] = {'ประวัติ','ประหวัด'}, ['ปฺระ-หฺวัด-กาน'] = {'ประวัติการ','ประวัติการณ์'}, ['ปฺระ-หฺวัด-ติ-กาน'] = {'ประวัติการ','ประวัติการณ์'}, ['ปฺราง'] = {'ปราง','ปรางค์'}, ['ปฺราด'] = {'ปราชญ์','ปราด','ปราศ'}, ['ปฺราน'] = {'ปราณ','ปราน'}, ['ปฺรา-นี'] = {'ปราณี','ปรานี'}, ['ปฺราบ'] = {'ปราบ','ปราปต์'}, ['ปฺรา-ไส'] = {'ปราศรัย','ปราสัย'}, ['ผอ'] = {'ผ','ผ.'}, ['ผะ-เอิน'] = {'เผอิญ','เผอิล'}, ['ฝอ'] = {'ฝ','ฝ.'}, ['พง'] = {'พง','พงศ์'}, ['พด'] = {'พจน์','พด'}, ['พน'] = {'พน','พล'}, ['พบ'] = {'พบ','ภพ'}, ['พอ'] = {'พ','พ.','พอ','ภ','ภ.'}, ['พอน'] = {'พร','พอน'}, ['พะ-นะ'] = {'พน','ภณะ'}, ['พะ-นิด'] = {'พณิช','พณิชย์'}, ['พะ-ยด'] = {'พยชน์','พยศ'}, ['พะ-ยัก'] = {'พยัก','พยัคฆ์'}, ['พะ-ยาน'] = {'พยาน','พยาล'}, ['พะ-ยุ'] = {'พยุ','พยุห์'}, ['พัก'] = {'พรรค','พัก','พักตร์','พักร','ภักดิ์','ภักษ์','ภัค','ภัคน์'}, ['พัด'] = {'พรรษ','พัช','พัฒน์','พัด','พัตร','พัทธ์','พัสตร์','ภัจ','ภัต','ภัตต์','ภัตร','ภัทร'}, ['พัน'] = {'พรรค์','พรรณ','พัญจน์','พัน','พันธ์','พันธน์','พันธุ์','ภัณฑ์'}, ['พับ'] = {'พับ','ภัพ'}, ['พา'] = {'พา','ภา'}, ['พ่า'] = {'ผ้า','พ่าห์'}, ['พาก'] = {'พาก','พากย์','ภาค','ภาคย์'}, ['พา-ชี'] = {'พาชี','ภาชี'}, ['พาด'] = {'พาด','พาต','พาท','พาทย์','พาธ','พาส','พาสน์','ภาษ','ภาษณ์','ภาส','ภาสน์'}, ['พาน'] = {'พาณ','พาน','พาล','พาฬ','ภาณ','ภาร'}, ['พา-นิด'] = {'พาณิช','พาณิชย์','พานิช'}, ['พา-นิ-นี'] = {'พาณินี','ภาณินี'}, ['พา-นี'] = {'พาณี','ภาณี'}, ['พาบ'] = {'ภาพ','ภาพย์'}, ['พาม'] = {'พาม','ภาม'}, ['พาย'] = {'พาย','ภาย'}, ['พ่าย'] = {'ผ้าย','พ่าย'}, ['พา-รา'] = {'พารา','ภารา'}, ['พา-ลี'] = {'พาลี','พาฬี'}, ['พิ-กัด'] = {'พิกัด','พิกัติ'}, ['พิ-จิด'] = {'พิจิต','พิจิตร'}, ['พิด'] = {'พิชญ์','พิตร','พิทย์','พิศ','พิษ','ภิท','ภิส'}, ['พิน'] = {'พิณ','ภิน','ภินท์','ภินทน์'}, ['พิ-นิด'] = {'พินิจ','พินิต','พินิศ'}, ['พิ-พัด'] = {'พิพัฒ','พิพัฒน์','พิภัช'}, ['พิ-พาก'] = {'พิพากษ์','พิภาค'}, ['พิ-รุน'] = {'พิรุณ','พิรุฬห์'}, ['พิ-โลน'] = {'พิโลน','พิโลล'}, ['พิ-สัด'] = {'พิสัช','ภิษัช'}, ['พี่'] = {'ผี้ว์','พี่'}, ['พึ่ง'] = {'ผึ้ง','พึ่ง'}, ['พืด'] = {'พืช','พืด'}, ['พุก'] = {'พุก','ภุกต์'}, ['พุด'] = {'พุฒ','พุด','พุทธ','พุธ','ภุช','ภุต','ภุส'}, ['พู'] = {'พู','ภู'}, ['พู่'] = {'ผู้','พู่','ภู่'}, ['พูด'] = {'พูด','ภูต'}, ['พฺรม'] = {'พรม','พรหม'}, ['พฺรึด'] = {'พฤฒ','พฤต','พฤติ','พฤทธ์','พฤทธิ์','ภฤตย์','ภฤศ','ภฤษฏ์'}, ['พฺรึน'] = {'พฤนต์','พฤนท์'}, ['พฺรู'] = {'พรู','ภรู'}, ['พฺลำ'] = {'พลัม','พลำ'}, ['เพด'] = {'เพฐน์','เพตร','เพท','เพศ','เพส','เภท'}, ['เพ็ด'] = {'เพ็จ','เพชร'}, ['เพียน'] = {'เพียน','เพียร'}, ['เพฺริด'] = {'เพริด','เพริศ'}, ['แพด'] = {'แพทย์','แพศย์'}, ['โพก'] = {'โพก','โภค'}, ['โพด'] = {'โพด','โพธ','โพธิ','โภช','โภชย์','โภชน์'}, ['ไพ'] = {'ไพ','ภัย'}, ['ไพ-ริน'] = {'ไพริน','ไพรินทร์','ไภริน'}, ['ไพ-รี'] = {'ไพรี','ไภรี'}, ['ฟอ'] = {'ฟ','ฟ.'}, ['ฟาย'] = {'ฟาย','ไฟล์'}, ['ฟิด'] = {'ฟิด','ฟิต'}, ['มน'] = {'มณฑ์','มน','มนต์','มนตร์','มนท์','มล'}, ['มวน'] = {'มวน','มวล'}, ['มอ'] = {'ม','ม.','มอ'}, ['มอน'] = {'มรณ์','มอญ','มอน'}, ['ม็อบ'] = {'ม็อบ','ม็อป'}, ['มะ-หัน'] = {'มหันต์','มหัล'}, ['มะ-เห-สัก'] = {'มเหศักดิ์','มเหสักข์'}, ['มัก'] = {'มรรค','มัก','มัคค์'}, ['มัด'] = {'มัด','มัตต์'}, ['มัด-ทะ-ยะ'] = {'มัทยะ','มัธย'}, ['มัน'] = {'มัน','มันส์'}, ['มั่น'] = {'มั่น','หมั้น'}, ['มา'] = {'มา','มาห์'}, ['มาก'] = {'มาก','มารค'}, ['มาด'] = {'มาด','มาตร','มาท','มาศ','มาส'}, ['มาน'] = {'มาน','มาร','มาลย์'}, ['มา-นบ'] = {'มาณพ','มานพ'}, ['มา-นัด'] = {'มานัต','มานัส'}, ['มิด'] = {'มิด','มิตร','มิศร์'}, ['มีน'] = {'มีน','มีฬห์'}, ['มุก'] = {'มุก','มุข','มุคธ์'}, ['มุด-ทา'] = {'มุททา','มุทธา'}, ['มูน'] = {'มูน','มูล'}, ['เม'] = {'เม','เมล์','เมห์'}, ['เมน'] = {'เมน','เมรุ'}, ['เม้า'] = {'เม้า','เมาท์'}, ['เมิน'] = {'เมิน','เมิล'}, ['โม่'] = {'โม่','โม่ห์'}, ['โมก'] = {'โมก','โมกข์'}, ['ไม่'] = {'ไม่','ไหม้'}, ['ไม-ยะ-ราบ'] = {'ไมยราบ','ไมยราพ'}, ['ยน'] = {'ยนต์','ยนตร์','ยล'}, ['ยวน'] = {'ญวน','ยวน'}, ['ยอ'] = {'ญ','ญ.','ย','ยอ'}, ['ยัก'] = {'ยัก','ยักข์','ยักษ์'}, ['ยัด'] = {'ยัชน์','ยัด'}, ['ยัน'] = {'ยัญ','ยัน','ยันต์','ยันตร์'}, ['ย่า'] = {'ย่า','หญ้า'}, ['ยาด'] = {'ญาติ','ยาตร'}, ['ยาน'] = {'ญาณ','ยาน'}, ['ยิบ'] = {'ญิบ','ยิบ'}, ['ยี่'] = {'ยี่','ญี่'}, ['ยุก'] = {'ยุกต์','ยุค'}, ['ยุด'] = {'ยุด','ยุต','ยุทธ์'}, ['ยุบ'] = {'ยุบ','ยุพ'}, ['เยา'] = {'เยา','เยาว์'}, ['โยก'] = {'โยก','โยกต์'}, ['โยด'] = {'โยชน์','โยด','โยต'}, ['ไย'] = {'ใย','ไย'}, ['รง'] = {'รง','รงกุ์','รงค์'}, ['รด'] = {'รด','รถ','รท','รส'}, ['รน'] = {'รณ','รน'}, ['รบ'] = {'รบ','รพ'}, ['รม'] = {'รม','รมย์'}, ['รม-มะ-นี'] = {'รมณี','รมณีย์'}, ['รอ'] = {'ร','ร.','รอ'}, ['ระ-ยะ'] = {'รยะ','ระยะ'}, ['ระ-หัด'] = {'รหัท','รหัส','รหัสย์','ระหัด'}, ['รัก'] = {'รัก','รักข์','รักษ์'}, ['รัง'] = {'รัง','รังค์'}, ['รัด'] = {'รัช','รัชต์','รัชน์','รัฐ','รัด','รัต','รัตน์','รัถ'}, ['รา-ชัน'] = {'ราชัน','ราชันย์'}, ['ราด'] = {'ราช','ราชย์','ราด','ราต','ราตร','ราษฎร์'}, ['ราน'] = {'ราญ','ราน'}, ['ราบ'] = {'ราบ','ราพณ์'}, ['รำ'] = {'รัมย์','รำ'}, ['รำ-หัด'] = {'รำหัด','รำหัส'}, ['ริด'] = {'ริด','ฤทธิ์'}, ['รีด'] = {'รีด','รีต'}, ['รึ'] = {'รึ','ฤ'}, ['รุก'] = {'รุก','รุกข์'}, ['รุด'] = {'รุจ','รุจน์','รุด','รุต','รุทธ์','รุษฏ์'}, ['โรด'] = {'โรจ','โรจน์','โรท','โรธ','โรษ'}, ['โร-มัน'] = {'โรมัญจ์','โรมัน'}, ['ไร'] = {'รัย','ไร'}, ['ไร้'] = {'ไร้','ไรต์'}, ['ลบ'] = {'ลบ','ลพ'}, ['ลอ'] = {'ล','ล.','ลอ','ฬ'}, ['ลัก'] = {'ลัก','ลักข์','ลักษณ์','ลักษมณ์','ลัคน์'}, ['ลัด'] = {'ลัด','ลัทธ์'}, ['ลัน'] = {'ลัญจ์','ลัญฉ์','ลัน'}, ['ลับ'] = {'ลับ','ลัพธ์','ลัภ','ลัภย์'}, ['ล่า'] = {'ล่า','หล้า'}, ['ลาด'] = {'ลาช','ลาด'}, ['ลาน'] = {'ลาญ','ลาน'}, ['ลาบ'] = {'ลาบ','ลาป','ลาภ'}, ['ลิง'] = {'ลิง','ลิงค์'}, ['ลิด'] = {'ลิด','ลิต','ลิตร'}, ['ลิบ'] = {'ลิบ','ลิป','ลิปต์','ลิฟต์'}, ['ลือ'] = {'ลือ','ฦๅ'}, ['ลือ-ชา'] = {'ลือชา','ฦๅชา'}, ['ลือ-สาย'] = {'ลือสาย','ฦๅสาย'}, ['ลุด'] = {'ลุต','ลุท','ลุทธ์'}, ['ลุบ'] = {'ลุปต์','ลุพธ์'}, ['เลก'] = {'เลก','เลข'}, ['เลด'] = {'เลต','เลศ'}, ['เล็น'] = {'เลนส์','เล็น'}, ['เล่า'] = {'เล่า','เหล้า'}, ['โลด'] = {'โลด','โลท'}, ['วง'] = {'วง','วงก์','วงศ์','วงษ์'}, ['วอ'] = {'ว','ว.','วอ','วอร์'}, ['วะ-ตะ'] = {'วฏ','วต','วตะ'}, ['วะ-นิด'] = {'วณิช','วณิชย์'}, ['วะ-ลัน'] = {'วลัญช์','วลัณชน์'}, ['วัก'] = {'วรรค','วรรคย์','วัก','วัค'}, ['วัง'] = {'วัง','วังก์'}, ['วัด'] = {'วรรช','วรรชย์','วรรษ','วัจฉ์','วัจน์','วัช','วัชฌ์','วัฏ','วัฒน์','วัด','วัต','วัตถ์','วัตร','วัติ','วัทน์','วัสตร์','วัสน์'}, ['วัด-สะ'] = {'วรรษ','วัตสะ','วัส','วัสสะ'}, ['วัน'] = {'วรรณ','วัญฌ์','วัณ','วัณฏ์','วัน','วันต์','วันท์','วัลก์','วัลย์'}, ['ว่า'] = {'ว่า','หว้า'}, ['วาด'] = {'วาด','วาต','วาท','วาทย์'}, ['วาน'] = {'วาน','วาร','วาล','วาฬ'}, ['วา-นิด'] = {'วานิช','วาณิชย์'}, ['วาย'] = {'วาย','ไวน์'}, ['ว่าย'] = {'ว่าย','ไหว้'}, ['วาว'] = {'วาล์ว','วาว'}, ['วิ-กาน'] = {'วิการ','วิกาล'}, ['วิ-คาด'] = {'วิฆาต','วิฆาส'}, ['วิ-จิด'] = {'วิจิต','วิจิตร'}, ['วิด'] = {'วิชญ์','วิด','วิทย์','วิธ'}, ['วิ-ทาน'] = {'วิทารณ์','วิทาลน์'}, ['วิ-ทู'] = {'วิทู','วิธู'}, ['วิ-ทูน'] = {'วิฑูรย์','วิทูร'}, ['วิ-นิด'] = {'วินิจ','วินิต'}, ['วิ-พาก'] = {'วิพากษ์','วิภาค'}, ['วิ-พาด'] = {'วิภาช','วิภาษ','วิภาส'}, ['วิ-มน'] = {'วิมน','วิมล'}, ['วิ-รัด'] = {'วิรัช','วิรัติ'}, ['วิ-โรด'] = {'วิโรจ','วิโรจน์','วิโรฒ','วิโรธ','วิโรธน์'}, ['วิ-ลาด'] = {'วิลาด','วิลาศ','วิลาส'}, ['วิ-ไล'] = {'วิลัย','วิไล'}, ['วิ-วัด'] = {'วิวรรธน์','วิวัฏ','วิวัฒน์'}, ['วิ-วิด'] = {'วิวิจ','วิวิต','วิวิธ'}, ['วิ-สาน'] = {'วิษาณ','วิสาร'}, ['วิ-เสด'] = {'วิเศษ','วิเศษณ์','วิเสท'}, ['วุด'] = {'วุฐิ','วุฒ','วุฒิ','วุด'}, ['เวด'] = {'เวช','เวฐน์','เวตน์','เวตร','เวท','เวทย์','เวธ','เวศม์','เวศย์','เวสน์','เวสม์'}, ['เวน'] = {'เวน','เวร'}, ['เวียน'] = {'เวียน','เวียร'}, ['แวด'] = {'แวด','แวตร'}, ['ไว'] = {'วัย','ไว','ไวทย์'}, ['สก'] = {'ศก','สก'}, ['สง'] = {'สง','สงค์','สงฆ์','สรง'}, ['สง-กา'] = {'ศงกา','สงกา'}, ['สน'] = {'สณฑ์','สน'}, ['สน-ทัด'] = {'สนทรรศ','สนทรรศน์'}, ['สบ'] = {'ศพ','สบ'}, ['สม-โพด'] = {'สมโพธน์','สมโพธิ','สมโภช'}, ['สม-รด'] = {'สมรด','สมรส'}, ['สวน'] = {'สรวล','สวน'}, ['สวม'] = {'สรวม','สวม'}, ['สอ'] = {'ศ','ศ.','ศอ','ษ','ส','ส.','สอ'}, ['สอน'] = {'ศร','สร','สอน'}, ['สะ'] = {'สระ','สะ'}, ['สะ-กน'] = {'ศกล','สกนธ์','สกล'}, ['สะ-กะ-ตะ'] = {'ศกฏะ','สกฏ','สกฏะ'}, ['สะ-กุน'] = {'ศกุน','ศกุนต์','สกุณ','สกุน','สกุนต์','สกุล'}, ['สะ-เด็ด'] = {'สะเด็ด','เสด็จ'}, ['สะ-ตะ'] = {'ศต','ศตะ','สต','สตะ'}, ['สะ-ตะ-กะ'] = {'ศตกะ','สตกะ'}, ['สะ-ถน'] = {'สถน','สถล'}, ['สะ-ถะ'] = {'ศฐะ','สฐะ'}, ['สะ-ถาน'] = {'สถาน','สถาล'}, ['สะ-บด'] = {'สบจ','สบถ'}, ['สะ-พาบ'] = {'สพาบ','สภาพ'}, ['สะ-มัด'] = {'สมรรถ','สมัช','สมัต'}, ['สะ-มา'] = {'ษมา','สมา'}, ['สะ-มิด'] = {'สมิต','สมิทธ์'}, ['สะ-ยะ-นะ'] = {'ศยนะ','สยนะ'}, ['สะ-ระ-พะ'] = {'สรพะ','สรภะ'}, ['สะ-หฺนุก'] = {'สนุก','สนุข'}, ['สะ-หฺมุด'] = {'สมุด','สมุทร'}, ['สะ-หฺยาม'] = {'ศยาม','สยาม'}, ['สะ-หฺลิด'] = {'ศลิษฏ์','สลิด'}, ['สะ-เหฺลด'] = {'เศลษ','เศลษม์','เสลด'}, ['สะ-หฺวาด'] = {'สวาด','สวาดิ','สวาท','สวาสดิ์'}, ['สะ-เหฺวด'] = {'เศวต','เศวตร'}, ['สัก'] = {'สัก','สัค','ศักดิ์','ศักย์'}, ['สัง'] = {'สังข์','สังค์'}, ['สัง-กอน'] = {'ศังกร','สังกร'}, ['สัง-กา'] = {'ศังกา','สังกา'}, ['สัด'] = {'ษัฏ','ษัฑ','ษัษ','สัจ','สัด','สัต','สัตย์','สัตว์'}, ['สัด-ทา'] = {'ศรัทธา','สัทธา'}, ['สัน'] = {'ศัล','ศัลย์','สรร','สรรค์','สรรพ์','สัณฑ์','สัณห์','สัน','สันต์'}, ['สัน-ทาน'] = {'สันทาน','สันธาน'}, ['สับ'] = {'ศัพท์','สรรพ','สับ','สัพ'}, ['สาก'] = {'ศาก','สาก'}, ['สาด'] = {'ศราทธ์','ศาต','ศารท','ศาสตร์','ศาสน์','สาด','สาต','สารท','สาสน์'}, ['สา-ทิด'] = {'สาทิส','สาธิต'}, ['สา-ทุ'] = {'สาทุ','สาธุ'}, ['สาน'] = {'ศาณ','ศานต์','ศาล','สาน','สาร'}, ['สาบ'] = {'ศาป','สาบ','สาป'}, ['สา-มน'] = {'สามนต์','สามล'}, ['สา-ระ-บัน'] = {'สารบรรณ','สารบัญ'}, ['สา-ระ-พี'] = {'สารพี','สารภี'}, ['สำ-พาด'] = {'สัมพาธ','สัมภาษณ์'}, ['สำ-ริด'] = {'สัมฤทธิ์','สำริด'}, ['สิ-ขา'] = {'ศิขา','สิขา'}, ['สิง'] = {'สิง','สิงค์','สิงห์'}, ['สิง-คาน'] = {'ศฤงคาร','สิงคาร','สิงคาล'}, ['สิด'] = {'ศิษฏ์','ศิษย์','สิท','สิทธ์','สิทธิ์'}, ['สิน'] = {'ศิลป์','สิญจน์','สิน','สินธุ์'}, ['สี'] = {'ศรี','สี','สีห์'}, ['สึก'] = {'ศึก','สึก'}, ['สุก'] = {'ศุกร์','สุก','สุกข์','สุข'}, ['สุ-จิด'] = {'สุจิต','สุจิตร'}, ['สุด'] = {'สุด','สุต','สุทธ์'}, ['สุด-ทิ'] = {'ศุทธิ','สุทธิ'}, ['สุบ-พะ'] = {'ศุภ','สุภ'}, ['สูด'] = {'ศูทร','สูด','สูต','สูต','สูตร','สูท'}, ['สูน'] = {'ศูนย์','ศูล','สูญ','สูร','สูรย์'}, ['เสด'] = {'เศรษฐ์','เศษ'}, ['เส-นี'] = {'เสณี','เสนี','เสนีย์'}, ['เสา'] = {'เศาร์','เสา','เสาร์'}, ['โสด'] = {'โสด','โสต','โสรจ'}, ['โสม'] = {'โสม','โสมย์'}, ['ไส'] = {'สัยน์','ใส','ไส','ไสย'}, ['ไส-ยา'] = {'ศัยยา','ไสยา'}, ['หง'] = {'หง','หงส์'}, ['หอ'] = {'ห','ห.','หอ'}, ['หัด'] = {'หัจญ์','หัช','หัด','หัต','หัตถ์','หัส','หัสต์'}, ['หาน'] = {'หาญ','หาร'}, ['หิด'] = {'หิด','หิต'}, ['หิ-รัน'] = {'หิรัญ','หิรัณย์'}, ['หฺลอด'] = {'ลอร์ด','หลอด'}, ['หฺย่า'] = {'หย่า','อย่า'}, ['หฺยิบ'] = {'หญิบ','หยิบ'}, ['เห็ด'] = {'เห็จ','เห็ด'}, ['เหฺน็ด'] = {'เน็ต','เหน็ด'}, ['โหน'] = {'โหน','โหร'}, ['โหฺวด'] = {'โหวด','โหวต'}, ['ไห'] = {'หัย','ไห'}, ['อง'] = {'อง','องก์','องค์','องศ์'}, ['อวน'] = {'อวน','อวล'}, ['ออ'] = {'อ','อ.','ออ','ออร์'}, ['ออ-ระ-หัน'] = {'อรหัน','อรหันต์'}, ['อะ-นัน'] = {'อนัญ','อนันต์','อนันตร์'}, ['อะ-นุ-สอน'] = {'อนุสร','อนุสรณ์'}, ['อะ-นุ-สาด'] = {'อนุศาสน์','อนุสาสน์'}, ['อะ-พิ-วัน'] = {'อภิวัน','อภิวันทน์'}, ['อะ-พิ-สิด'] = {'อภิสิต','อภิสิทธิ์'}, ['อะ-รัน'] = {'อรัญ','อรัณย์'}, ['อัก'] = {'อรรค','อรรฆ','อรรฆย์','อัก'}, ['อัง'] = {'อัง','อังก์'}, ['อัง-คาด'] = {'อังคาส','อังฆาต'}, ['อัด'] = {'อรรจน์','อรรถ','อรรธ','อัฏ','อัฐ','อัฒ','อัด','อัต','อัตถ์','อัทธ์'}, ['อัน'] = {'อัน','อันต์'}, ['อา'] = {'อา','อาร์','อาว์'}, ['อา-จาน'] = {'อาจาร','อาจารย์'}, ['อาด'] = {'อาจ','อาด','อาตม์','อาสน์'}, ['อา-ทาน'] = {'อาธาน','อาธาร'}, ['อา-นน'] = {'อานน','อานนท์'}, ['อา-พัด'] = {'อาพัด','อาพัทธ์'}, ['อา-พาด'] = {'อาพาธ','อาภาส'}, ['อา-ยัด'] = {'อายัด','อายัต'}, ['อา-วุด'] = {'อาวุต','อาวุธ'}, ['อา-สิน'] = {'อาสิญจ์','อาสิน'}, ['อำ'] = {'อัม','อำ'}, ['อำ-นาด'] = {'อำนาจ','อำนาถ'}, ['อิง'] = {'อิง','อิงค์'}, ['อิด'] = {'อิฐ','อิด','อิศร','อิษฏ์','อิส'}, ['อิน'] = {'อิน','อินท์','อินทร์','อินธน์'}, ['อิน-ซี'] = {'อินทรี','อินทรีย์'}, ['อี-เมล'] = {'อีเมล','อีเมล์'}, ['อุก'] = {'อุก','อุค'}, ['อุด'] = {'อุจ','อุด'}, ['อุ-ทาน'] = {'อุทาน','อุทาร'}, ['อุ-บาด'] = {'อุบาท','อุบาทว์'}, ['อุ-สา'] = {'อุษา','อุสา'}, ['อูด'] = {'อูฐ','อูด'}, ['เอา-ทาน'] = {'เอาทาร','เอาทารย์'}, ['แอ'] = {'แอ','แอร์'}, ['โอด'] = {'โอช','โอฐ','โอด','โอษฐ์'}, ['โอม'] = {'โอม','โอห์ม'}, ['ฮอ'] = {'ฮ','ฮ.'}, ['ไฮ่'] = {'ให้','ไห้'}, } return hom i8ov2klbwl058flmrop2oikavga8tx9 Module:De-headword 828 1378190 9938446 9515308 2026-10-04T18:09:16Z TongcyDai 53191 同步 enwikt(rev 91628482):頁名取自 Module:headword/data;指小詞的 accel 形式改用 Module:accel 認得的「指小」 9938446 Scribunto text/plain local export = {} local pos_functions = {} local headword_utilities_module = "Module:headword utilities" local inflection_utilities_module = "Module:inflection utilities" local lang = require("Module:languages").getByCode("de") local legal_gender = { ["m"] = true, ["f"] = true, ["n"] = true, ["p"] = true, } local gender_names = { ["m"] = "陽性", ["f"] = "陰性", ["n"] = "中性", } local legal_verb_classes = { ["1"] = true, ["2"] = true, ["3"] = true, ["4"] = true, ["5"] = true, ["6"] = true, ["7"] = true, } local function ine(val) if val == "" then return nil else return val end end local function glossary_link(entry, text) text = text or entry return "[[Appendix:Glossary#" .. entry .. "|" .. text .. "]]" end local function track(page) require("Module:debug").track("de-headword/" .. page) return true end -- The main entry point. -- This is the only function that can be invoked from a template. function export.show(frame) local args = frame:getParent().args PAGENAME = mw.loadData("Module:headword/data").pagename local poscat = frame.args[1] or error("Part of speech has not been specified. Please pass parameter 1 to the module invocation.") local class = frame.args[2]; if class == "" then class = nil end local data = {lang = lang, pos_category = poscat, categories = {}, heads = {}, genders = {}, inflections = {}} if pos_functions[poscat] then pos_functions[poscat](class, args, data) end return require("Module:headword").full_headword(data) end local function old_adjectives(class, args, data) track("de-adj-old") local params = { [1] = {list = "comp"}, [2] = {list = "sup"}, ["head"] = {list = true}, } local args = require("Module:parameters").process(args, params) data.heads = args["head"] if args[1][1] == "-" then table.insert(data.inflections, {label = "無比較級"}) table.insert(data.categories, "德語無比較級形容詞") return end if #args[1] > 0 then for i, form in ipairs(args[1]) do args[1][i] = {term = (form == "er" and PAGENAME .. "er" or form), accel = {form = "比較級"}} end else args[1] = {request = true} track("de-adj lacking comparative") end args[1].label = glossary_link("比較級") table.insert(data.inflections, args[1]) if #args[2] > 0 then for i, form in ipairs(args[2]) do args[2][i] = { term = "am [[" .. ((form == "st" or form == "sten") and PAGENAME .. "sten" or (form == "est" or form == "esten") and PAGENAME .. "esten" or form) .. "]]", accel = {form = "最高級"}} end else args[2] = {request = true} track("de-adj lacking superlative") end args[2].label = glossary_link("最高級") table.insert(data.inflections, args[2]) end pos_functions["形容詞"] = function(class, args, data, proper) -- Compatibility with old calling convention, either if old= is given or any arg no longer supported is given. if ine(args.old) or ine(args[2]) or ine(args.comp1) or ine(args.comp2) or ine(args.comp3) or ine(args.sup1) or ine(args.sup2) or ine(args.sup3) or args[1] == "-" then return old_adjectives(class, args, data) else -- Remove this code once we convert to the new format. track("de-adj-need-old") end local alternant_multiword_spec = require("Module:de-adjective").do_generate_forms(args, nil, "from headword") data.heads = alternant_multiword_spec.args.head data.id = alternant_multiword_spec.args.id data.sort = alternant_multiword_spec.args.sort local function do_adj_form(slot, label, should_be_present, accel_form) local forms = alternant_multiword_spec.forms[slot] local retval if not forms then if not should_be_present then return end retval = {label = "無" .. label} else retval = {label = label, accel = accel_form and {form = accel_form} or nil} local prev_footnotes for _, form in ipairs(forms) do local footnotes = form.footnotes if footnotes and prev_footnotes and require("Module:table").deepEquals(footnotes, prev_footnotes) then footnotes = nil end prev_footnotes = form.footnotes local quals, refs = require(inflection_utilities_module). convert_footnotes_to_qualifiers_and_references(footnotes) local term = form.form table.insert(retval, {term = term, q = quals, refs = refs, genders = genders}) end end table.insert(data.inflections, retval) end if alternant_multiword_spec.props.indecl then table.insert(data.inflections, {label = glossary_link("無詞形變化")}) if alternant_multiword_spec.props.predonly then table.insert(data.inflections, {label = "僅作表語"}) elseif alternant_multiword_spec.props.nopred then table.insert(data.inflections, {label = "無表語形式"}) end else if alternant_multiword_spec.props.nopred then table.insert(data.inflections, {label = "無表語形式"}) end do_adj_form("str_nom_m", "強變化主格陽性單數", true) local should_comp_sup = alternant_multiword_spec.forms.comp_pred or alternant_multiword_spec.forms.sup_pred or alternant_multiword_spec.forms.comp_str_nom_m or alternant_multiword_spec.forms.sup_str_nom_m if not should_comp_sup then table.insert(data.inflections, {label = "無比較級"}) else -- If there is no predicative comparative, but there is an attributive comparative, include it; -- otherwise, include the predicative comparative (if any). If there is no comparative but a superlative, -- this will display "no comparative". if not alternant_multiword_spec.forms.comp_pred and alternant_multiword_spec.forms.comp_str_nom_m then do_adj_form("comp_str_nom_m", "強變化比較級主格陽性單數", true) else do_adj_form("comp_pred", glossary_link("比較級"), true, "比較級") end -- Same as above, for the superlative. if not alternant_multiword_spec.forms.sup_pred and alternant_multiword_spec.forms.sup_str_nom_m then do_adj_form("sup_str_nom_m", "強變化最高級主格陽性單數", true) else do_adj_form("sup_pred", glossary_link("最高級"), true, "最高級") end end end -- Add categories. for _, cat in ipairs(alternant_multiword_spec.categories) do table.insert(data.categories, cat) end -- Use the "linked" form of the lemma as the head if no head= explicitly given. data.no_redundant_head_cat = true -- always set since we have a different lemma linking algorithm from [[Module:headword]]. if #data.heads == 0 then data.heads = {} local lemmas = alternant_multiword_spec.forms.the_lemma or {} for _, lemma_obj in ipairs(lemmas) do local head = alternant_multiword_spec.args.nolinkhead and lemma_obj.form or require(headword_utilities_module).add_links_to_multiword_term(lemma_obj.form, {split_hyphen_when_space = alternant_multiword_spec.args.splithyph}) local quals, refs = require(inflection_utilities_module). convert_footnotes_to_qualifiers_and_references(lemma_obj.footnotes) table.insert(data.heads, {term = head, q = quals, refs = refs}) end end end local function old_nouns(class, args, data) track("de-noun-old") local params = { [1] = {list = "g", default = "?"}, [2] = {list = "gen"}, [3] = {list = "pl"}, [4] = {list = "dim"}, ["head"] = {list = true}, ["m"] = {list = true}, ["f"] = {list = true}, ["old"] = {type = "boolean"}, } local args = require("Module:parameters").process(args, params) data.heads = args["head"] -- Gender for _, g in ipairs(args[1]) do if legal_gender[g] then table.insert(data.genders, g) if g == "p" then table.insert(data.categories, "德語唯複名詞") else table.insert(data.categories, "德語" .. gender_names[g] .. "名詞") end else if g == "m-s" or g == "f-s" or g == "n-s" or g == "m-p" or g == "f-p" or g == "n-p" then require("Module:debug").track("de-headword/genders") end table.insert(data.genders, "?") end end if args[1][1] ~= "p" then -- Genitive if not args[2][1] then if args[1][1] == "m" or args[1][1] == "n" then table.insert(args[2], PAGENAME .. "s") else table.insert(args[2], PAGENAME) end end for i, form in ipairs(args[2]) do args[2][i] = {term = form} end args[2].accel = {form = "gen|s"} args[2].label = "屬格" table.insert(data.inflections, args[2]) -- Plural if not args[3][1] and data.pos_category == "名詞" then table.insert(args[3], PAGENAME .. "en") end if args[3][1] == "-" then table.insert(data.inflections, {label = "無複數"}) table.insert(data.categories, "德語不可數名詞") elseif #args[3] > 0 then for i, form in ipairs(args[3]) do args[3][i] = {term = form} end args[3].accel = {form = "p"} args[3].label = "複數" table.insert(data.inflections, args[3]) end end -- Diminutive if #args[4] > 0 then for i, form in ipairs(args[4]) do args[4][i] = {term = form, genders = {"n"}} end args[4].accel = {form = "指小", gender = "n"} args[4].label = "指小詞" table.insert(data.inflections, args[4]) end -- Other gender if #args.f > 0 then args.f.label = "陰性" if args.f[1] == "in" then args.f[1] = PAGENAME .. "in" end if args.f[1] == PAGENAME .. "in" then args.f.accel = {form = "陰性", gender = "f"} args.f.label = "陰性" end table.insert(data.inflections, args.f) end if #args.m > 0 then args.m.label = "陽性" table.insert(data.inflections, args.m) end end pos_functions["名詞"] = function(class, args, data, proper) -- Compatibility with old calling convention, either if old= is given or any arg no longer supported is given. if ine(args.old) or ine(args[2]) or ine(args[3]) or ine(args[4]) or ine(args.g1) or ine(args.g2) or ine(args.g3) or ine(args.gen1) or ine(args.gen2) or ine(args.gen3) or ine(args.pl1) or ine(args.pl2) or ine(args.pl3) then return old_nouns(class, args, data) end local m_de_noun = require("Module:de-noun") local alternant_multiword_spec = m_de_noun.do_generate_forms(args, nil, "from headword", proper) data.heads = alternant_multiword_spec.args.head data.genders = alternant_multiword_spec.genders data.id = alternant_multiword_spec.args.id data.sort = alternant_multiword_spec.args.sort if not proper then data.pos_category = alternant_multiword_spec.pos if alternant_multiword_spec.pos == "後綴" then table.insert(data.categories, "構成名詞的德語後綴") end end local function get_nom_articles(alternant_multiword_spec) local articles = {} local m_table = require("Module:table") if alternant_multiword_spec.number == "pl" then m_table.insertIfNot(articles, "[[die]]") else for _, gender in ipairs(alternant_multiword_spec.genders) do if gender.spec == "m" then m_table.insertIfNot(articles, "[[der]]") elseif gender.spec == "f" then m_table.insertIfNot(articles, "[[die]]") elseif gender.spec == "n" then m_table.insertIfNot(articles, "[[das]]") else error("Internal error: Unrecognized gender '" .. gender.spec .. "'") end end end return table.concat(articles, "/") end local function get_gen_s_articles(alternant_multiword_spec) local articles = {} local m_table = require("Module:table") if alternant_multiword_spec.number == "pl" then error("Internal error: Should not be called on plural-only nouns") else for _, gender in ipairs(alternant_multiword_spec.genders) do if gender.spec == "m" or gender.spec == "n" then m_table.insertIfNot(articles, "[[des]]") elseif gender.spec == "f" then m_table.insertIfNot(articles, "[[der]]") else error("Internal error: Unrecognized gender '" .. gender.spec .. "'") end end end return table.concat(articles, "/") end local function do_noun_form(slot, label, should_be_present, accel_form, genders, prefix) local forms = alternant_multiword_spec.forms[slot] local retval if not forms then if not should_be_present then return end retval = {label = "無" .. label} else retval = {label = label, accel = accel_form and {form = accel_form} or nil} local prev_footnotes for _, form in ipairs(forms) do local footnotes = form.footnotes if footnotes and prev_footnotes and require("Module:table").deepEquals(footnotes, prev_footnotes) then footnotes = nil end prev_footnotes = form.footnotes local quals, refs = require(inflection_utilities_module).convert_footnotes_to_qualifiers_and_references(footnotes) local term = form.form if prefix then if not term:find("[%[%]]") then term = "[[" .. term .. "]]" end term = prefix .. " " .. term end table.insert(retval, {term = term, q = quals, refs = refs, genders = genders}) end end table.insert(data.inflections, retval) end if proper then table.insert(data.inflections, {label = glossary_link("專有名詞")}) end local decl_types = alternant_multiword_spec.decl_type if decl_types and #decl_types > 0 then local decl_descs = {} for _, decl_type in ipairs(decl_types) do table.insert(decl_descs, glossary_link(decl_type .. "變格", decl_type)) end table.insert(data.inflections, {label = table.concat(decl_descs, " <small>或</small> ")}) end local overall_adj = alternant_multiword_spec.props.overall_adj local article = alternant_multiword_spec.props.article local surname = alternant_multiword_spec.props.surname local langname = alternant_multiword_spec.props.langname local saw_f = false local saw_mn = false for _, gender in ipairs(alternant_multiword_spec.genders) do if gender.spec == "f" then saw_f = true elseif gender.spec == "m" or gender.spec == "n" then saw_mn = true end end local fem_sg_only = not saw_mn and alternant_multiword_spec.number ~= "pl" if not alternant_multiword_spec.first_noun and alternant_multiword_spec.first_adj then table.insert(data.inflections, {label = "形容詞性"}) end if surname then table.insert(data.inflections, {label = "姓氏"}) end if langname then table.insert(data.inflections, {label = "語言名稱"}) end if alternant_multiword_spec.number == "pl" then table.insert(data.inflections, {label = glossary_link("唯複")}) end if article then table.insert(data.inflections, {label = "通常帶定冠詞"}) end if alternant_multiword_spec.number == "pl" then if overall_adj then do_noun_form("wk_nom_p", "定指複數", true, nil, nil, "[[die]]") end elseif surname then do_noun_form("gen_m_s", "陽性屬格", true) do_noun_form("gen_f_s", "陰性屬格", true) do_noun_form("nom_p", "複數", true) elseif langname then do_noun_form("gen_s", "屬格", true) do_noun_form("nom_s_alt", "主格替代形式(搭配定冠詞)", true) do_noun_form("gen_s_alt", "屬格替代形式", true) -- There should be no plural; this will trigger the display of 'no plural'. do_noun_form("nom_p", "複數", true) elseif overall_adj then if article then if not fem_sg_only then do_noun_form("wk_nom_s", "定指主格", true, nil, nil, get_nom_articles(alternant_multiword_spec)) end do_noun_form("wk_gen_s", "定指屬格", true, nil, nil, get_gen_s_articles(alternant_multiword_spec)) do_noun_form("wk_nom_p", "定指複數", not proper, nil, nil, "[[die]]") else do_noun_form("wk_nom_s", "定指主格", true, nil, nil, get_nom_articles(alternant_multiword_spec)) do_noun_form("str_gen_s", "屬格", true, nil, nil, not saw_f and "([[des]])" or nil) if saw_f then do_noun_form("wk_gen_s", "定指屬格", true, nil, nil, get_gen_s_articles(alternant_multiword_spec)) end do_noun_form("str_nom_p", "複數", not proper) do_noun_form("wk_nom_p", "定指複數", nil, nil, nil, "[[die]]") end else if article then do_noun_form("gen_s", "定指屬格", true, nil, nil, get_gen_s_articles(alternant_multiword_spec)) do_noun_form("nom_p", "定指複數", not proper, nil, nil, "[[die]]") else do_noun_form("gen_s", "屬格", true) do_noun_form("nom_p", "複數", not proper) end end -- FIXME: Should we include the article in the singular equivalent if .article is given? I have no examples to go by. do_noun_form("sg", "單數") do_noun_form("dim", "指小詞", nil, "指小", {"n"}, article and "[[das]]" or nil) do_noun_form("m", "陽性", nil, nil, nil, article and "[[der]]" or nil) do_noun_form("f", "陰性", nil, "陰性", nil, article and "[[die]]" or nil) do_noun_form("n", "中性", nil, "中性", nil, article and "[[das]]" or nil) -- Add categories. for _, cat in ipairs(alternant_multiword_spec.categories) do table.insert(data.categories, cat) end -- Use the "linked" form of the lemma as the head if no head= explicitly given. data.no_redundant_head_cat = true -- always set since we have a different lemma linking algorithm from [[Module:headword]]. if #data.heads == 0 then data.heads = {} local lemmas = m_de_noun.get_lemmas(alternant_multiword_spec, "linked variant") for _, lemma_obj in ipairs(lemmas) do local head = alternant_multiword_spec.args.nolinkhead and lemma_obj.form or require(headword_utilities_module).add_links_to_multiword_term(lemma_obj.form, {split_hyphen_when_space = alternant_multiword_spec.args.splithyph}) if article and (not overall_adj or fem_sg_only) then head = get_nom_articles(alternant_multiword_spec) .. " " .. head end local quals, refs = require(inflection_utilities_module). convert_footnotes_to_qualifiers_and_references(lemma_obj.footnotes) table.insert(data.heads, {term = head, q = quals, refs = refs}) end end end pos_functions["專有名詞"] = function(class, args, data) return pos_functions["名詞"](class, args, data, "專有名詞") end pos_functions["動詞"] = function(class, args, data) if args[2] then -- old-style local params = { [1] = {list = "pres", required = true}, ["pres_qual"] = {list = "pres\1_qual", allow_holes = true}, [2] = {list = "past", required = true}, ["past_qual"] = {list = "past\1_qual", allow_holes = true}, [3] = {list = "pp", required = true}, ["pp_qual"] = {list = "pp\1_qual", allow_holes = true}, [4] = {list = "pastsubj"}, ["pastsubj_qual"] = {list = "pastsubj\1_qual", allow_holes = true}, ["aux"] = {list = true}, ["aux_qual"] = {list = "aux\1_qual", allow_holes = true}, ["head"] = {list = true}, ["class"] = {list = true}, } local args = require("Module:parameters").process(args, params) data.heads = args["head"] local function collect_forms(label, accel_form, forms, qualifiers) if forms[1] == "-" then return {label = "無" .. label} else -- Disable this for now as deduplication between headword and conjugation table doesn't work correctly. -- local into_table = accel_form and {label = label, accel = {form = accel_form}} or {label = label} local into_table = {label = label} for i, form in ipairs(forms) do table.insert(into_table, {term = form, q = qualifiers[i] and {qualifiers[i]} or nil}) end return into_table end end if #args.class > 0 then local class_descs, cats = require("Module:de-verb").process_verb_classes(args.class) for _, cats in ipairs(cats) do table.insert(data.categories, cats) end table.insert(data.inflections, {label = require("Module:table").serialCommaJoin(class_descs, {conj = "or"})}) end table.insert(data.inflections, collect_forms("第三人稱單數現在時", "3|s|pres", args[1], args.pres_qual)) table.insert(data.inflections, collect_forms("過去時", "1//3|s|pret", args[2], args.past_qual)) table.insert(data.inflections, collect_forms("過去分詞", "perf|part", args[3], args.pp_qual)) if #args[4] > 0 then table.insert(data.inflections, collect_forms("過去虛擬式", "1//3|s|sub|II", args[4], args.pastsubj_qual)) end if #args.aux > 0 then table.insert(data.inflections, collect_forms("助動詞", nil, args.aux, args.aux_qual)) end return end local function get_headword_inflection(forms, label, accel_form) if forms then -- Disable this for now as deduplication between heardword and conjugation table doesn't work correctly. -- local inflection = accel_form and {label = label, accel = {form = accel_form}} or {label = label} local inflection = {label = label} for _, form in ipairs(forms) do local qualifiers if form.footnotes then qualifiers = {} for _, footnote in ipairs(form.footnotes) do footnote = footnote:gsub("^%[(.*)%]$", "%1") table.insert(qualifiers, footnote) end end table.insert(inflection, {term = form.form, q = qualifiers}) end return inflection elseif label then return {label = "無" .. label} else return {} end end local alternant_multiword_spec = require("Module:de-verb").do_generate_forms(args, "from headword") for _, cat in ipairs(alternant_multiword_spec.categories) do table.insert(data.categories, cat) end table.insert(data.inflections, {label = table.concat(alternant_multiword_spec.verb_types, " <small>或</small> ")}) if #data.heads == 0 then data.no_redundant_head_cat = true for _, head in ipairs(alternant_multiword_spec.forms.infinitive_linked) do table.insert(data.heads, head.form) end end table.insert(data.inflections, get_headword_inflection(alternant_multiword_spec.forms.pres_3s, "第三人稱單數現在時", "3|s|pres")) local pret_3s = alternant_multiword_spec.forms.pret_3s table.insert(data.inflections, get_headword_inflection(pret_3s, "過去式", "1//3|s|pret")) table.insert(data.inflections, get_headword_inflection(alternant_multiword_spec.forms.perf_part, "過去分詞", "perf|part")) -- See if we need the past subjunctive, i.e. there exist past subjunctive forms whose stem is not the -- same as some past tense form. To facilitate comparison, we truncate final -e in both preterite 3s -- and past subjunctive 3s, to handle cases like subjunctive 'ginge aus' vs. preterite 'ging aus'. -- We need to compare 3s forms (and not e.g. 3p forms, where the issue with truncating -e doesn't -- occur) so we work correctly with impersonal verbs. local need_past_subj local truncated_pret_3s_forms = {} if pret_3s then for _, form in ipairs(pret_3s) do local truncated_form = form.form:gsub("e$", ""):gsub("e ", " ") -- discard 2nd retval table.insert(truncated_pret_3s_forms, truncated_form) end end local subii_3s = alternant_multiword_spec.forms.subii_3s local truncated_subii_3s_forms = {} if subii_3s then for _, form in ipairs(subii_3s) do local truncated_form = form.form:gsub("e$", ""):gsub("e ", " ") -- discard 2nd retval table.insert(truncated_subii_3s_forms, truncated_form) end end for _, past_subj_form in ipairs(truncated_subii_3s_forms) do local saw_same = false for _, pret_3s_form in ipairs(truncated_pret_3s_forms) do if past_subj_form == pret_3s_form then saw_same = true break end end if not saw_same then need_past_subj = true break end end if need_past_subj then table.insert(data.inflections, get_headword_inflection(subii_3s, "過去虛擬式", "1//3|s|sub|II")) end local auxes = alternant_multiword_spec.forms.aux table.insert(data.inflections, get_headword_inflection(auxes, "助動詞")) end return export 2paucw8er1udnn7f25plezmc072je52 User:A2093064-bot/task/4/output/list 2 1393351 9938455 9908175 2026-10-04T20:22:12Z A2093064-bot 60065 [[User:A2093064-bot/task/4|機器人4]]:產生未連結到維基數據項目的頁面列表 9938455 wikitext text/x-wiki * 本頁面以特殊條件篩選掉[[Special:UnconnectedPages]]中絕不可能連結的頁面。 * 產生時間:<onlyinclude>2026年10月4日 (日) 20:22 (UTC)</onlyinclude> == Wiktionary == # [[:Wiktionary:每日一詞/2026年/10月10日]] # [[:Wiktionary:每日一詞/2026年/10月9日]] # [[:Wiktionary:每日一詞/2027年/2月25日]] # [[:Wiktionary:外語每日一詞/2026年/9月30日]] # [[:Wiktionary:外語每日一詞/2026年/9月29日]] # [[:Wiktionary:每日一詞/2026年/10月7日]] # [[:Wiktionary:每日一詞/2026年/10月2日]] # [[:Wiktionary:每日一詞/2026年/10月3日]] # [[:Wiktionary:每日一詞/2026年/9月27日]] # [[:Wiktionary:每日一詞/2026年/10月1日]] # [[:Wiktionary:每日一詞/2026年/9月30日]] # [[:Wiktionary:每日一詞/2026年/10月8日]] # [[:Wiktionary:每日一詞/2026年/10月4日]] # [[:Wiktionary:每日一詞/2026年/10月6日]] # [[:Wiktionary:每日一詞/2026年/9月29日]] # [[:Wiktionary:每日一詞/2026年/9月26日]] # [[:Wiktionary:外語每日一詞/2026年/9月28日]] # [[:Wiktionary:外語每日一詞/2026年/9月26日]] # [[:Wiktionary:每日一詞/2026年/9月24日]] # [[:Wiktionary:每日一詞/2026年/9月22日]] # [[:Wiktionary:每日一詞/2026年/9月23日]] # [[:Wiktionary:每日一詞/2026年/9月21日]] # [[:Wiktionary:每日一詞/2026年/9月20日]] # [[:Wiktionary:外語每日一詞/2026年/9月27日]] # [[:Wiktionary:外語每日一詞/2026年/9月25日]] # [[:Wiktionary:外語每日一詞/2026年/9月24日]] # [[:Wiktionary:外語每日一詞/2026年/9月23日]] # [[:Wiktionary:外語每日一詞/2026年/9月22日]] # [[:Wiktionary:外語每日一詞/2026年/9月21日]] # [[:Wiktionary:外語每日一詞/2026年/9月20日]] # [[:Wiktionary:外語每日一詞/2026年/9月19日]] # [[:Wiktionary:外語每日一詞/2026年/9月18日]] # [[:Wiktionary:外語每日一詞/2026年/9月17日]] # [[:Wiktionary:外語每日一詞/2026年/9月16日]] # [[:Wiktionary:外語每日一詞/2026年/9月14日]] # [[:Wiktionary:外語每日一詞/2026年/9月13日]] # [[:Wiktionary:每日一詞/2026年/9月18日]] # [[:Wiktionary:外語每日一詞/2026年/9月10日]] # [[:Wiktionary:外語每日一詞/2026年/9月11日]] # [[:Wiktionary:外語每日一詞/2026年/9月9日]] # [[:Wiktionary:每日一詞/2026年/9月19日]] # [[:Wiktionary:每日一詞/2026年/9月16日]] # [[:Wiktionary:每日一詞/2026年/9月17日]] # [[:Wiktionary:外語每日一詞/2026年/9月12日]] # [[:Wiktionary:每日一詞/2026年/9月12日]] # [[:Wiktionary:每日一詞/2026年/9月11日]] # [[:Wiktionary:每日一詞/2026年/9月13日]] # [[:Wiktionary:每日一詞/2026年/9月10日]] # [[:Wiktionary:外語每日一詞/2026年/9月15日]] # [[:Wiktionary:外語每日一詞/2026年/9月8日]] # [[:Wiktionary:外語每日一詞/2026年/9月4日]] # [[:Wiktionary:外語每日一詞/2026年/9月6日]] # [[:Wiktionary:外語每日一詞/2026年/9月5日]] # [[:Wiktionary:外語每日一詞/2026年/9月3日]] # [[:Wiktionary:外語每日一詞/2026年/9月1日]] # [[:Wiktionary:外語每日一詞/2026年/9月2日]] # [[:Wiktionary:每日一詞/2026年/9月7日]] # [[:Wiktionary:每日一詞/2026年/9月8日]] # [[:Wiktionary:每日一詞/2026年/9月6日]] # [[:Wiktionary:每日一詞/2026年/9月5日]] # [[:Wiktionary:外語每日一詞/2026年/9月7日]] # [[:Wiktionary:外語每日一詞/2026年/8月31日]] # [[:Wiktionary:外語每日一詞/2026年/8月30日]] # [[:Wiktionary:外語每日一詞/2026年/8月29日]] # [[:Wiktionary:外語每日一詞/2026年/8月28日]] # [[:Wiktionary:外語每日一詞/2026年/8月27日]] # [[:Wiktionary:每日一詞/2026年/8月31日]] # [[:Wiktionary:每日一詞/2026年/9月1日]] # [[:Wiktionary:每日一詞/2026年/8月30日]] # [[:Wiktionary:每日一詞/2026年/8月29日]] # [[:Wiktionary:每日一詞/2026年/8月28日]] # [[:Wiktionary:每日一詞/2026年/8月26日]] # [[:Wiktionary:每日一詞/2026年/8月25日]] # [[:Wiktionary:外語每日一詞/2026年/8月26日]] # [[:Wiktionary:外語每日一詞/2026年/8月25日]] # [[:Wiktionary:外語每日一詞/2026年/8月24日]] # [[:Wiktionary:外語每日一詞/2026年/8月23日]] # [[:Wiktionary:每日一詞/2026年/8月24日]] # [[:Wiktionary:每日一詞/2026年/8月23日]] # [[:Wiktionary:外語每日一詞/2026年/8月22日]] # [[:Wiktionary:外語每日一詞/2026年/8月21日]] # [[:Wiktionary:外語每日一詞/2026年/8月20日]] # [[:Wiktionary:每日一詞/2026年/8月27日]] # [[:Wiktionary:每日一詞/2026年/8月20日]] # [[:Wiktionary:每日一詞/2026年/8月19日]] # [[:Wiktionary:每日一詞/2027年/3月20日]] # [[:Wiktionary:每日一詞/2026年/8月21日]] # [[:Wiktionary:每日一詞/2026年/8月18日]] # [[:Wiktionary:每日一詞/2026年/8月17日]] # [[:Wiktionary:每日一詞/2026年/8月14日]] # [[:Wiktionary:每日一詞/2026年/8月13日]] # [[:Wiktionary:每日一詞/2026年/8月12日]] # [[:Wiktionary:外語每日一詞/2026年/8月19日]] # [[:Wiktionary:外語每日一詞/2026年/8月18日]] # [[:Wiktionary:外語每日一詞/2026年/8月17日]] # [[:Wiktionary:外語每日一詞/2026年/8月16日]] # [[:Wiktionary:外語每日一詞/2026年/8月15日]] # [[:Wiktionary:外語每日一詞/2026年/8月14日]] # [[:Wiktionary:外語每日一詞/2026年/8月13日]] # [[:Wiktionary:外語每日一詞/2026年/8月12日]] # [[:Wiktionary:外語每日一詞/2026年/8月11日]] # [[:Wiktionary:每日一詞/2026年/8月11日]] # [[:Wiktionary:每日一詞/2026年/8月22日]] # [[:Wiktionary:每日一詞/2026年/8月10日]] # [[:Wiktionary:外語每日一詞/2026年/8月10日]] # [[:Wiktionary:外語每日一詞/2026年/8月9日]] # [[:Wiktionary:每日一詞/2026年/8月9日]] # [[:Wiktionary:外語每日一詞/2026年/8月8日]] # [[:Wiktionary:每日一詞/2026年/8月8日]] # [[:Wiktionary:每日一詞/2026年/8月7日]] # [[:Wiktionary:每日一詞/2026年/8月6日]] # [[:Wiktionary:每日一詞/2026年/8月4日]] # [[:Wiktionary:外語每日一詞/2026年/8月7日]] # [[:Wiktionary:外語每日一詞/2026年/8月6日]] # [[:Wiktionary:外語每日一詞/2026年/8月4日]] # [[:Wiktionary:外語每日一詞/2026年/8月5日]] # [[:Wiktionary:每日一詞/2026年/8月5日]] # [[:Wiktionary:每日一詞/2026年/8月3日]] # [[:Wiktionary:外語每日一詞/2026年/8月3日]] # [[:Wiktionary:外語每日一詞/2026年/8月2日]] # [[:Wiktionary:外語每日一詞/2026年/8月1日]] # [[:Wiktionary:每日一詞/2026年/8月16日]] # [[:Wiktionary:外語每日一詞/2026年/7月31日]] # [[:Wiktionary:外語每日一詞/2026年/7月30日]] # [[:Wiktionary:外語每日一詞/2026年/7月29日]] # [[:Wiktionary:每日一詞/2026年/8月2日]] # [[:Wiktionary:每日一詞/2026年/8月15日]] # [[:Wiktionary:每日一詞/2026年/7月30日]] # [[:Wiktionary:每日一詞/2026年/7月28日]] # [[:Wiktionary:外語每日一詞/2026年/7月28日]] # [[:Wiktionary:外語每日一詞/2026年/7月27日]] # [[:Wiktionary:外語每日一詞/2026年/7月26日]] # [[:Wiktionary:外語每日一詞/2026年/7月25日]] # [[:Wiktionary:外語每日一詞/2026年/7月24日]] # [[:Wiktionary:外語每日一詞/2026年/7月23日]] # [[:Wiktionary:外語每日一詞/2026年/7月22日]] # [[:Wiktionary:每日一詞/2026年/7月29日]] # [[:Wiktionary:每日一詞/2026年/7月27日]] # [[:Wiktionary:每日一詞/2026年/7月22日]] # [[:Wiktionary:每日一詞/2026年/7月26日]] # [[:Wiktionary:每日一詞/2026年/7月23日]] # [[:Wiktionary:每日一詞/2026年/7月21日]] # [[:Wiktionary:每日一詞/2026年/7月20日]] # [[:Wiktionary:每日一詞/2026年/7月18日]] # [[:Wiktionary:每日一詞/2026年/12月18日]] # [[:Wiktionary:每日一詞/2026年/7月19日]] # [[:Wiktionary:外語每日一詞/2026年/7月20日]] # [[:Wiktionary:外語每日一詞/2026年/7月19日]] # [[:Wiktionary:外語每日一詞/2026年/7月21日]] # [[:Wiktionary:外語每日一詞/2026年/7月18日]] # [[:Wiktionary:外語每日一詞/2026年/7月16日]] # [[:Wiktionary:外語每日一詞/2026年/7月15日]] # [[:Wiktionary:外語每日一詞/2026年/7月17日]] # [[:Wiktionary:外語每日一詞/2026年/7月13日]] # [[:Wiktionary:外語每日一詞/2026年/7月14日]] # [[:Wiktionary:每日一詞/2026年/7月17日]] # [[:Wiktionary:每日一詞/2026年/7月16日]] # [[:Wiktionary:每日一詞/2026年/7月15日]] # [[:Wiktionary:每日一詞/2026年/9月9日]] # [[:Wiktionary:每日一詞/2026年/7月31日]] # [[:Wiktionary:每日一詞/2026年/7月14日]] # [[:Wiktionary:每日一詞/2026年/7月12日]] # [[:Wiktionary:每日一詞/2026年/7月11日]] # [[:Wiktionary:外語每日一詞/2026年/7月12日]] # [[:Wiktionary:外語每日一詞/2026年/7月11日]] # [[:Wiktionary:外語每日一詞/2026年/7月10日]] # [[:Wiktionary:外語每日一詞/2026年/7月9日]] # [[:Wiktionary:每日一詞/2026年/7月10日]] # [[:Wiktionary:每日一詞/2026年/7月9日]] # [[:Wiktionary:每日一詞/2026年/7月8日]] # [[:Wiktionary:每日一詞/2026年/7月7日]] # [[:Wiktionary:外語每日一詞/2026年/7月8日]] # [[:Wiktionary:外語每日一詞/2026年/7月7日]] # [[:Wiktionary:外語每日一詞/2026年/7月6日]] # [[:Wiktionary:每日一詞/2026年/7月6日]] # [[:Wiktionary:每日一詞/2026年/7月5日]] # [[:Wiktionary:外語每日一詞/2026年/7月5日]] # [[:Wiktionary:外語每日一詞/2026年/7月4日]] # [[:Wiktionary:外語每日一詞/2026年/7月3日]] # [[:Wiktionary:每日一詞/2026年/10月5日]] # [[:Wiktionary:每日一詞/2026年/7月4日]] # [[:Wiktionary:每日一詞/2026年/9月3日]] # [[:Wiktionary:每日一詞/2026年/7月3日]] # [[:Wiktionary:每日一詞/2026年/7月2日]] # [[:Wiktionary:每日一詞/2026年/7月1日]] # [[:Wiktionary:每日一詞/2026年/6月30日]] # [[:Wiktionary:每日一詞/2026年/6月29日]] # [[:Wiktionary:每日一詞/2026年/6月27日]] # [[:Wiktionary:每日一詞/2026年/6月28日]] # [[:Wiktionary:外語每日一詞/2026年/7月2日]] # [[:Wiktionary:外語每日一詞/2026年/7月1日]] # [[:Wiktionary:外語每日一詞/2026年/6月30日]] # [[:Wiktionary:外語每日一詞/2026年/6月29日]] # [[:Wiktionary:外語每日一詞/2026年/6月28日]] # [[:Wiktionary:外語每日一詞/2026年/6月27日]] # [[:Wiktionary:外語每日一詞/2026年/6月26日]] # [[:Wiktionary:每日一詞/2026年/6月25日]] # [[:Wiktionary:外語每日一詞/2027年/5月16日]] # [[:Wiktionary:外語每日一詞/2026年/6月25日]] # [[:Wiktionary:外語每日一詞/2026年/6月24日]] # [[:Wiktionary:外語每日一詞/2026年/6月23日]] # [[:Wiktionary:每日一詞/2026年/6月23日]] # [[:Wiktionary:每日一詞/2026年/6月26日]] # [[:Wiktionary:外語每日一詞/2026年/6月22日]] # [[:Wiktionary:外語每日一詞/2026年/6月21日]] # [[:Wiktionary:外語每日一詞/2026年/6月20日]] # [[:Wiktionary:每日一詞/2026年/6月20日]] # [[:Wiktionary:每日一詞/2026年/6月19日]] # [[:Wiktionary:每日一詞/2026年/6月18日]] # [[:Wiktionary:外語每日一詞/2026年/6月18日]] # [[:Wiktionary:外語每日一詞/2026年/6月17日]] # [[:Wiktionary:外語每日一詞/2026年/6月14日]] # [[:Wiktionary:外語每日一詞/2026年/6月13日]] # [[:Wiktionary:每日一詞/2027年/6月1日]] # [[:Wiktionary:每日一詞/2026年/6月17日]] # [[:Wiktionary:每日一詞/2026年/11月4日]] # [[:Wiktionary:每日一詞/2026年/6月16日]] # [[:Wiktionary:每日一詞/2026年/6月22日]] # [[:Wiktionary:外語每日一詞/2026年/6月12日]] # [[:Wiktionary:外語每日一詞/2026年/6月11日]] # [[:Wiktionary:外語每日一詞/2026年/6月16日]] # [[:Wiktionary:外語每日一詞/2026年/6月10日]] # [[:Wiktionary:外語每日一詞/2026年/6月9日]] # [[:Wiktionary:每日一詞/2026年/7月13日]] # [[:Wiktionary:每日一詞/2026年/6月14日]] # [[:Wiktionary:每日一詞/2026年/6月13日]] # [[:Wiktionary:每日一詞/2026年/6月11日]] # [[:Wiktionary:每日一詞/2026年/6月12日]] # [[:Wiktionary:每日一詞/2026年/6月9日]] # [[:Wiktionary:每日一詞/2026年/6月8日]] # [[:Wiktionary:每日一詞/2026年/6月7日]] # [[:Wiktionary:外語每日一詞/2026年/6月7日]] # [[:Wiktionary:外語每日一詞/2026年/6月5日]] # [[:Wiktionary:外語每日一詞/2026年/6月6日]] # [[:Wiktionary:每日一詞/2026年/6月6日]] # [[:Wiktionary:每日一詞/2026年/6月5日]] # [[:Wiktionary:外語每日一詞/2026年/6月8日]] # [[:Wiktionary:外語每日一詞/2026年/6月15日]] # [[:Wiktionary:外語每日一詞/2026年/6月4日]] # [[:Wiktionary:外語每日一詞/2026年/6月3日]] # [[:Wiktionary:每日一詞/2026年/6月3日]] # [[:Wiktionary:每日一詞/2026年/6月4日]] # [[:Wiktionary:外語每日一詞/2026年/6月2日]] # [[:Wiktionary:外語每日一詞/2026年/6月1日]] # [[:Wiktionary:外語每日一詞/2026年/5月31日]] # [[:Wiktionary:外語每日一詞/2026年/5月30日]] # [[:Wiktionary:外語每日一詞/2026年/5月29日]] # [[:Wiktionary:每日一詞/2026年/6月2日]] # [[:Wiktionary:每日一詞/2026年/6月1日]] # [[:Wiktionary:每日一詞/2026年/5月31日]] # [[:Wiktionary:每日一詞/2026年/6月21日]] # [[:Wiktionary:每日一詞/2026年/6月10日]] # [[:Wiktionary:外語每日一詞/2026年/5月28日]] # [[:Wiktionary:外語每日一詞/2026年/5月27日]] # [[:Wiktionary:外語每日一詞/2026年/5月26日]] # [[:Wiktionary:外語每日一詞/2026年/5月25日]] # [[:Wiktionary:每日一詞/2026年/5月30日]] # [[:Wiktionary:每日一詞/2026年/5月29日]] # [[:Wiktionary:每日一詞/2026年/5月28日]] # [[:Wiktionary:每日一詞/2026年/5月26日]] # [[:Wiktionary:每日一詞/2026年/5月27日]] # [[:Wiktionary:每日一詞/2026年/5月25日]] # [[:Wiktionary:每日一詞/2026年/5月24日]] # [[:Wiktionary:每日一詞/2026年/6月24日]] # [[:Wiktionary:每日一詞/2026年/7月25日]] # [[:Wiktionary:每日一詞/2026年/5月23日]] # [[:Wiktionary:外語每日一詞/2026年/5月24日]] # [[:Wiktionary:外語每日一詞/2026年/5月23日]] # [[:Wiktionary:外語每日一詞/2026年/5月22日]] # [[:Wiktionary:外語每日一詞/2026年/5月21日]] # [[:Wiktionary:外語每日一詞/2026年/5月20日]] # [[:Wiktionary:每日一詞/2026年/5月22日]] # [[:Wiktionary:每日一詞/2026年/6月15日]] # [[:Wiktionary:每日一詞/2026年/5月21日]] # [[:Wiktionary:每日一詞/2026年/5月20日]] # [[:Wiktionary:每日一詞/2026年/5月19日]] # [[:Wiktionary:詞頻列表/法文]] # [[:Wiktionary:詞頻列表/捷克文/SYN2015前15,000個捷克文單詞]] # [[:Wiktionary:詞頻列表/捷克文]] # [[:Wiktionary:詞頻列表/英文/Wikipedia (2016)/30001-40000]] # [[:Wiktionary:詞頻列表/英文/Wikipedia (2016)/20001-30000]] # [[:Wiktionary:詞頻列表/英文/Wikipedia (2016)/10001-20000]] # [[:Wiktionary:詞頻列表/英文]] # [[:Wiktionary:詞頻列表]] # [[:Wiktionary:外語每日一詞/2026年/5月19日]] # [[:Wiktionary:外語每日一詞/2026年/5月18日]] # [[:Wiktionary:每日一詞/2026年/5月17日]] # [[:Wiktionary:外語每日一詞/2026年/5月16日]] # [[:Wiktionary:外語每日一詞/2026年/5月17日]] # [[:Wiktionary:每日一詞/2026年/5月16日]] # [[:Wiktionary:每日一詞/2027年/1月15日]] # [[:Wiktionary:每日一詞/2026年/5月15日]] # [[:Wiktionary:每日一詞/2026年/5月14日]] # [[:Wiktionary:每日一詞/2026年/5月13日]] # [[:Wiktionary:每日一詞/2026年/5月12日]] # [[:Wiktionary:外語每日一詞/2026年/5月15日]] # [[:Wiktionary:外語每日一詞/2026年/5月14日]] # [[:Wiktionary:外語每日一詞/2026年/5月13日]] # [[:Wiktionary:外語每日一詞/2026年/5月12日]] # [[:Wiktionary:外語每日一詞/2026年/5月11日]] # [[:Wiktionary:外語每日一詞/2026年/5月10日]] # [[:Wiktionary:外語每日一詞/2026年/5月9日]] # [[:Wiktionary:外語每日一詞/2026年/5月8日]] # [[:Wiktionary:每日一詞/2026年/5月11日]] # [[:Wiktionary:每日一詞/2026年/5月10日]] # [[:Wiktionary:每日一詞/2026年/5月9日]] # [[:Wiktionary:每日一詞/2026年/5月8日]] # [[:Wiktionary:每日一詞/2026年/5月7日]] # [[:Wiktionary:圖片詞典/uk:Fingers]] # [[:Wiktionary:外語每日一詞/2026年/5月6日]] # [[:Wiktionary:外語每日一詞/2026年/5月7日]] # [[:Wiktionary:外語每日一詞/2026年/5月5日]] # [[:Wiktionary:外語每日一詞/2026年/5月4日]] # [[:Wiktionary:每日一詞/2026年/5月6日]] # [[:Wiktionary:每日一詞/2026年/5月4日]] # [[:Wiktionary:每日一詞/2026年/9月28日]] # [[:Wiktionary:每日一詞/2026年/9月15日]] # [[:Wiktionary:每日一詞/2026年/5月3日]] # [[:Wiktionary:每日一詞/2026年/5月2日]] # [[:Wiktionary:外語每日一詞/2026年/5月1日]] # [[:Wiktionary:外語每日一詞/2026年/5月3日]] # [[:Wiktionary:外語每日一詞/2026年/5月2日]] # [[:Wiktionary:外語每日一詞/2026年/4月30日]] # [[:Wiktionary:外語每日一詞/2026年/4月29日]] # [[:Wiktionary:外語每日一詞/2026年/4月28日]] # [[:Wiktionary:每日一詞/2026年/5月1日]] # [[:Wiktionary:每日一詞/2026年/4月30日]] # [[:Wiktionary:每日一詞/2026年/4月28日]] # [[:Wiktionary:每日一詞/2026年/4月29日]] # [[:Wiktionary:外語每日一詞/2026年/4月27日]] # [[:Wiktionary:每日一詞/2026年/4月27日]] # [[:Wiktionary:外語每日一詞/2026年/4月26日]] # [[:Wiktionary:外語每日一詞/2026年/4月25日]] # [[:Wiktionary:外語每日一詞/2026年/4月24日]] # [[:Wiktionary:外語每日一詞/2026年/4月23日]] # [[:Wiktionary:每日一詞/2026年/4月26日]] # [[:Wiktionary:每日一詞/2026年/11月28日]] # [[:Wiktionary:每日一詞/2026年/4月25日]] # [[:Wiktionary:每日一詞/2026年/4月24日]] # [[:Wiktionary:每日一詞/2026年/4月23日]] # [[:Wiktionary:每日一詞/2026年/5月18日]] # [[:Wiktionary:每日一詞/2026年/4月22日]] # [[:Wiktionary:每日一詞/2026年/4月21日]] # [[:Wiktionary:每日一詞/2026年/4月20日]] # [[:Wiktionary:每日一詞/2026年/4月19日]] # [[:Wiktionary:外語每日一詞/2026年/4月21日]] # [[:Wiktionary:外語每日一詞/2026年/4月20日]] # [[:Wiktionary:外語每日一詞/2026年/4月19日]] # [[:Wiktionary:外語每日一詞/2026年/4月18日]] # [[:Wiktionary:外語每日一詞/2026年/4月17日]] # [[:Wiktionary:每日一詞/2027年/2月12日]] # [[:Wiktionary:圖片詞典/hy:Solar System]] # [[:Wiktionary:每日一詞/2026年/4月18日]] # [[:Wiktionary:外語每日一詞/2026年/4月16日]] # [[:Wiktionary:外語每日一詞/2026年/4月15日]] # [[:Wiktionary:外語每日一詞/2026年/4月13日]] # [[:Wiktionary:外語每日一詞/2026年/4月12日]] # [[:Wiktionary:每日一詞/2026年/4月16日]] # [[:Wiktionary:每日一詞/2026年/4月14日]] # [[:Wiktionary:每日一詞/2026年/4月12日]] # [[:Wiktionary:每日一詞/2026年/4月15日]] # [[:Wiktionary:每日一詞/2026年/4月13日]] # [[:Wiktionary:每日一詞/2026年/4月11日]] # [[:Wiktionary:每日一詞/2026年/8月1日]] # [[:Wiktionary:外語每日一詞/2026年/4月14日]] # [[:Wiktionary:每日一詞/2026年/4月10日]] # [[:Wiktionary:每日一詞/2026年/4月9日]] # [[:Wiktionary:外語每日一詞/2026年/4月11日]] # [[:Wiktionary:外語每日一詞/2026年/4月10日]] # [[:Wiktionary:外語每日一詞/2026年/4月9日]] # [[:Wiktionary:外語每日一詞/2026年/4月8日]] # [[:Wiktionary:外語每日一詞/2026年/4月7日]] # [[:Wiktionary:外語每日一詞/2026年/4月6日]] # [[:Wiktionary:外語每日一詞/2026年/4月5日]] # [[:Wiktionary:每日一詞/2026年/11月17日]] # [[:Wiktionary:每日一詞/2026年/4月7日]] # [[:Wiktionary:每日一詞/2026年/4月8日]] # [[:Wiktionary:每日一詞/2026年/4月6日]] # [[:Wiktionary:每日一詞/2026年/4月4日]] # [[:Wiktionary:外語每日一詞/2026年/4月4日]] # [[:Wiktionary:外語每日一詞/2026年/4月3日]] # [[:Wiktionary:外語每日一詞/2026年/4月2日]] # [[:Wiktionary:外語每日一詞/2026年/4月1日]] # [[:Wiktionary:每日一詞/2026年/4月3日]] # [[:Wiktionary:每日一詞/2026年/9月4日]] # [[:Wiktionary:每日一詞/2026年/4月1日]] # [[:Wiktionary:外語每日一詞/2026年/3月31日]] # [[:Wiktionary:外語每日一詞/2026年/3月30日]] # [[:Wiktionary:每日一詞/2026年/3月31日]] # [[:Wiktionary:每日一詞/2026年/3月30日]] # [[:Wiktionary:外語每日一詞/2026年/3月29日]] # [[:Wiktionary:每日一詞/2026年/3月29日]] # [[:Wiktionary:每日一詞/2026年/3月28日]] # [[:Wiktionary:每日一詞/2027年/2月4日]] # [[:Wiktionary:每日一詞/2026年/3月27日]] # [[:Wiktionary:外語每日一詞/2026年/3月28日]] # [[:Wiktionary:外語每日一詞/2026年/3月27日]] # [[:Wiktionary:外語每日一詞/2026年/3月26日]] # [[:Wiktionary:每日一詞/2026年/3月26日]] # [[:Wiktionary:每日一詞/2026年/3月24日]] # [[:Wiktionary:每日一詞/2026年/3月25日]] # [[:Wiktionary:每日一詞/2026年/3月23日]] # [[:Wiktionary:外語每日一詞/2026年/3月25日]] # [[:Wiktionary:外語每日一詞/2026年/3月24日]] # [[:Wiktionary:外語每日一詞/2026年/3月23日]] # [[:Wiktionary:外語每日一詞/2026年/3月22日]] # [[:Wiktionary:外語每日一詞/2026年/3月21日]] # [[:Wiktionary:外語每日一詞/2026年/3月20日]] # [[:Wiktionary:外語每日一詞/2026年/3月19日]] # [[:Wiktionary:外語每日一詞/2026年/3月18日]] # [[:Wiktionary:每日一詞/2026年/4月5日]] # [[:Wiktionary:每日一詞/2026年/3月22日]] # [[:Wiktionary:每日一詞/2026年/10月17日]] # [[:Wiktionary:每日一詞/2026年/4月17日]] # [[:Wiktionary:每日一詞/2026年/4月2日]] # [[:Wiktionary:每日一詞/2026年/3月18日]] # [[:Wiktionary:每日一詞/2026年/3月17日]] # [[:Wiktionary:每日一詞/2026年/3月16日]] # [[:Wiktionary:每日一詞/2026年/3月15日]] # [[:Wiktionary:外語每日一詞/2026年/3月17日]] # [[:Wiktionary:外語每日一詞/2026年/3月16日]] # [[:Wiktionary:外語每日一詞/2026年/3月15日]] # [[:Wiktionary:外語每日一詞/2026年/3月14日]] # [[:Wiktionary:外語每日一詞/2026年/3月13日]] # [[:Wiktionary:外語每日一詞/2026年/3月12日]] # [[:Wiktionary:外語每日一詞/2026年/3月10日]] # [[:Wiktionary:外語每日一詞/2026年/3月11日]] # [[:Wiktionary:外語每日一詞/2027年/3月8日]] # [[:Wiktionary:每日一詞/2026年/3月14日]] # [[:Wiktionary:每日一詞/2026年/3月13日]] # [[:Wiktionary:每日一詞/2026年/3月9日]] # [[:Wiktionary:每日一詞/2026年/9月14日]] # [[:Wiktionary:每日一詞/2026年/3月8日]] # [[:Wiktionary:每日一詞/2026年/3月7日]] # [[:Wiktionary:每日一詞/2026年/3月6日]] # [[:Wiktionary:每日一詞/2026年/3月19日]] # [[:Wiktionary:每日一詞/2026年/3月5日]] # [[:Wiktionary:每日一詞/2026年/3月21日]] # [[:Wiktionary:每日一詞/2026年/3月11日]] # [[:Wiktionary:每日一詞/2026年/3月4日]] # [[:Wiktionary:每日一詞/2026年/3月10日]] # [[:Wiktionary:每日一詞/2026年/3月3日]] # [[:Wiktionary:每日一詞/2026年/9月2日]] # [[:Wiktionary:每日一詞/2026年/3月2日]] # [[:Wiktionary:每日一詞/2026年/2月28日]] # [[:Wiktionary:每日一詞/2026年/2月27日]] # [[:Wiktionary:每日一詞/2026年/2月26日]] # [[:Wiktionary:每日一詞/2026年/2月25日]] # [[:Wiktionary:每日一詞/2026年/2月24日]] # [[:Wiktionary:每日一詞/2026年/2月21日]] # [[:Wiktionary:每日一詞/2026年/2月20日]] # [[:Wiktionary:每日一詞/2026年/2月22日]] # [[:Wiktionary:每日一詞/2026年/2月23日]] # [[:Wiktionary:每日一詞/2026年/2月18日]] # [[:Wiktionary:每日一詞/2026年/2月19日]] # [[:Wiktionary:每日一詞/2026年/2月17日]] # [[:Wiktionary:每日一詞/2026年/2月16日]] # [[:Wiktionary:每日一詞/2026年/2月15日]] # [[:Wiktionary:每日一詞/2026年/2月13日]] # [[:Wiktionary:每日一詞/2026年/2月12日]] # [[:Wiktionary:每日一詞/2026年/2月11日]] # [[:Wiktionary:每日一詞/2026年/2月10日]] # [[:Wiktionary:每日一詞/2026年/2月9日]] # [[:Wiktionary:每日一詞/2026年/2月8日]] # [[:Wiktionary:每日一詞/2026年/2月7日]] # [[:Wiktionary:每日一詞/2026年/2月6日]] # [[:Wiktionary:每日一詞/2026年/2月14日]] # [[:Wiktionary:每日一詞/2026年/2月5日]] # [[:Wiktionary:每日一詞/2026年/2月3日]] # [[:Wiktionary:每日一詞/2026年/2月2日]] # [[:Wiktionary:每日一詞/2026年/2月1日]] # [[:Wiktionary:每日一詞/2026年/1月31日]] # [[:Wiktionary:每日一詞/2026年/5月5日]] # [[:Wiktionary:每日一詞/2026年/1月30日]] # [[:Wiktionary:每日一詞/2026年/1月29日]] # [[:Wiktionary:每日一詞/2026年/1月28日]] # [[:Wiktionary:每日一詞/2026年/1月27日]] # [[:Wiktionary:每日一詞/2026年/1月26日]] # [[:Wiktionary:每日一詞/2026年/1月25日]] # [[:Wiktionary:每日一詞/2026年/7月24日]] # [[:Wiktionary:每日一詞/2026年/1月24日]] # [[:Wiktionary:每日一詞/2026年/1月23日]] # [[:Wiktionary:每日一詞/2026年/1月22日]] # [[:Wiktionary:每日一詞/2026年/1月21日]] # [[:Wiktionary:每日一詞/2026年/1月20日]] # [[:Wiktionary:每日一詞/2026年/1月19日]] # [[:Wiktionary:每日一詞/2026年/1月18日]] # [[:Wiktionary:每日一詞/2026年/1月17日]] # [[:Wiktionary:每日一詞/2026年/1月16日]] # [[:Wiktionary:每日一詞/2026年/1月14日]] # [[:Wiktionary:每日一詞/2026年/1月15日]] # [[:Wiktionary:每日一詞/2026年/1月13日]] # [[:Wiktionary:每日一詞/2026年/1月12日]] # [[:Wiktionary:每日一詞/2026年/1月11日]] # [[:Wiktionary:每日一詞/2026年/1月10日]] # [[:Wiktionary:每日一詞/2026年/1月8日]] # [[:Wiktionary:每日一詞/2026年/1月9日]] # [[:Wiktionary:每日一詞/2026年/1月6日]] # [[:Wiktionary:每日一詞/2026年/1月7日]] # [[:Wiktionary:每日一詞/2026年/1月5日]] # [[:Wiktionary:每日一詞/2026年/1月4日]] # [[:Wiktionary:每日一詞/2026年/1月3日]] # [[:Wiktionary:每日一詞/2026年/1月2日]] # [[:Wiktionary:外語每日一詞/2025年/12月28日]] # [[:Wiktionary:外語每日一詞/2025年/12月27日]] # [[:Wiktionary:外語每日一詞/2025年/12月30日]] # [[:Wiktionary:外語每日一詞/2025年/12月25日]] # [[:Wiktionary:外語每日一詞/2025年/12月26日]] # [[:Wiktionary:外語每日一詞/2025年/12月24日]] # [[:Wiktionary:外語每日一詞/2025年/12月23日]] # [[:Wiktionary:外語每日一詞/2025年/12月21日]] # [[:Wiktionary:外語每日一詞/2025年/12月20日]] # [[:Wiktionary:外語每日一詞/2025年/12月19日]] # [[:Wiktionary:每日一詞/2025年/12月28日]] # [[:Wiktionary:每日一詞/2025年/12月30日]] # [[:Wiktionary:每日一詞/2025年/12月27日]] # [[:Wiktionary:每日一詞/2026年/3月1日]] # [[:Wiktionary:每日一詞/2025年/12月26日]] # [[:Wiktionary:每日一詞/2025年/12月25日]] # [[:Wiktionary:每日一詞/2025年/12月24日]] # [[:Wiktionary:每日一詞/2026年/2月4日]] # [[:Wiktionary:每日一詞/2025年/12月22日]] # [[:Wiktionary:每日一詞/2025年/12月21日]] # [[:Wiktionary:每日一詞/2025年/12月20日]] # [[:Wiktionary:每日一詞/2025年/12月19日]] # [[:Wiktionary:每日一詞/2025年/12月18日]] # [[:Wiktionary:每日一詞/2025年/12月17日]] # [[:Wiktionary:每日一詞/2025年/12月15日]] # [[:Wiktionary:每日一詞/2025年/12月13日]] # [[:Wiktionary:每日一詞/2026年/9月25日]] # [[:Wiktionary:每日一詞/2025年/12月14日]] # [[:Wiktionary:外語每日一詞/2025年/12月18日]] # [[:Wiktionary:每日一詞/2025年/12月12日]] # [[:Wiktionary:每日一詞/2025年/12月11日]] # [[:Wiktionary:每日一詞/2025年/12月10日]] # [[:Wiktionary:每日一詞/2025年/12月29日]] # [[:Wiktionary:每日一詞/2025年/12月23日]] # [[:Wiktionary:每日一詞/2025年/12月16日]] # [[:Wiktionary:每日一詞/2025年/12月9日]] # [[:Wiktionary:每日一詞/2025年/12月8日]] # [[:Wiktionary:每日一詞/2025年/12月7日]] # [[:Wiktionary:每日一詞/2025年/12月6日]] # [[:Wiktionary:外語每日一詞/2025年/12月17日]] # [[:Wiktionary:每日一詞/2025年/12月3日]] # [[:Wiktionary:外語每日一詞/2025年/12月13日]] # [[:Wiktionary:外語每日一詞/2025年/12月16日]] # [[:Wiktionary:外語每日一詞/2025年/12月12日]] # [[:Wiktionary:外語每日一詞/2025年/12月10日]] # [[:Wiktionary:外語每日一詞/2025年/12月29日]] # [[:Wiktionary:每日一詞/2025年/11月30日]] # [[:Wiktionary:每日一詞/2025年/12月4日]] # [[:Wiktionary:每日一詞/2025年/11月28日]] # [[:Wiktionary:每日一詞/2025年/11月29日]] # [[:Wiktionary:每日一詞/2025年/11月27日]] # [[:Wiktionary:每日一詞/2026年/3月12日]] # [[:Wiktionary:每日一詞/2025年/11月23日]] # [[:Wiktionary:每日一詞/2025年/11月26日]] # [[:Wiktionary:每日一詞/2025年/11月25日]] # [[:Wiktionary:每日一詞/2025年/12月5日]] # [[:Wiktionary:每日一詞/2025年/11月24日]] # [[:Wiktionary:外語每日一詞/2025年/12月9日]] # [[:Wiktionary:外語每日一詞/2025年/12月11日]] # [[:Wiktionary:外語每日一詞/2025年/12月22日]] # [[:Wiktionary:外語每日一詞/2025年/12月14日]] # [[:Wiktionary:外語每日一詞/2025年/12月31日]] # [[:Wiktionary:外語每日一詞/2025年/12月7日]] # [[:Wiktionary:外語每日一詞/2025年/12月6日]] # [[:Wiktionary:外語每日一詞/2025年/12月5日]] # [[:Wiktionary:外語每日一詞/2025年/12月4日]] # [[:Wiktionary:外語每日一詞/2025年/12月3日]] # [[:Wiktionary:外語每日一詞/2025年/12月2日]] # [[:Wiktionary:外語每日一詞/2025年/11月29日]] # [[:Wiktionary:外語每日一詞/2025年/11月28日]] # [[:Wiktionary:外語每日一詞/2025年/11月27日]] # [[:Wiktionary:每日一詞/2025年/11月22日]] # [[:Wiktionary:每日一詞/2025年/11月21日]] # [[:Wiktionary:外語每日一詞/2025年/11月25日]] # [[:Wiktionary:外語每日一詞/2025年/11月30日]] # [[:Wiktionary:外語每日一詞/2025年/11月26日]] # [[:Wiktionary:外語每日一詞/2025年/12月15日]] # [[:Wiktionary:外語每日一詞/2025年/12月8日]] # [[:Wiktionary:外語每日一詞/2025年/11月23日]] # [[:Wiktionary:外語每日一詞/2025年/11月22日]] # [[:Wiktionary:外語每日一詞/2025年/11月21日]] # [[:Wiktionary:外語每日一詞/2025年/11月20日]] # [[:Wiktionary:外語每日一詞/2025年/11月19日]] # [[:Wiktionary:外語每日一詞/2025年/11月18日]] # [[:Wiktionary:每日一詞/2025年/11月20日]] # [[:Wiktionary:每日一詞/2025年/11月19日]] # [[:Wiktionary:外語每日一詞/2025年/11月16日]] # [[:Wiktionary:每日一詞/2025年/11月18日]] # [[:Wiktionary:每日一詞/2025年/11月17日]] # [[:Wiktionary:每日一詞/2025年/11月16日]] # [[:Wiktionary:外語每日一詞/2025年/11月15日]] # [[:Wiktionary:外語每日一詞/2025年/11月14日]] # [[:Wiktionary:外語每日一詞/2025年/11月13日]] # [[:Wiktionary:每日一詞/2025年/11月15日]] # [[:Wiktionary:每日一詞/2025年/11月13日]] # [[:Wiktionary:每日一詞/2025年/11月10日]] # [[:Wiktionary:每日一詞/2025年/11月12日]] # [[:Wiktionary:每日一詞/2025年/11月11日]] # [[:Wiktionary:每日一詞/2025年/12月1日]] # [[:Wiktionary:每日一詞/2025年/11月9日]] # [[:Wiktionary:每日一詞/2025年/11月7日]] # [[:Wiktionary:每日一詞/2025年/11月8日]] # [[:Wiktionary:每日一詞/2025年/11月6日]] # [[:Wiktionary:每日一詞/2025年/11月5日]] # [[:Wiktionary:每日一詞/2025年/11月14日]] # [[:Wiktionary:每日一詞/2025年/11月4日]] # [[:Wiktionary:每日一詞/2025年/11月3日]] # [[:Wiktionary:每日一詞/2025年/11月2日]] # [[:Wiktionary:每日一詞/2025年/12月2日]] # [[:Wiktionary:每日一詞/2025年/11月1日]] # [[:Wiktionary:每日一詞/2025年/10月31日]] # [[:Wiktionary:每日一詞/2025年/10月30日]] # [[:Wiktionary:每日一詞/2025年/10月28日]] # [[:Wiktionary:外語每日一詞/2025年/12月1日]] # [[:Wiktionary:每日一詞/2025年/10月27日]] # [[:Wiktionary:外語每日一詞/2025年/11月12日]] # [[:Wiktionary:外語每日一詞/2025年/11月11日]] # [[:Wiktionary:外語每日一詞/2025年/11月8日]] # [[:Wiktionary:外語每日一詞/2025年/11月7日]] # [[:Wiktionary:外語每日一詞/2025年/11月6日]] # [[:Wiktionary:外語每日一詞/2025年/11月5日]] # [[:Wiktionary:外語每日一詞/2025年/11月4日]] # [[:Wiktionary:外語每日一詞/2025年/11月24日]] # [[:Wiktionary:外語每日一詞/2025年/11月3日]] # [[:Wiktionary:外語每日一詞/2025年/11月1日]] # [[:Wiktionary:外語每日一詞/2025年/10月31日]] # [[:Wiktionary:外語每日一詞/2025年/10月30日]] # [[:Wiktionary:外語每日一詞/2025年/10月29日]] # [[:Wiktionary:外語每日一詞/2025年/10月28日]] # [[:Wiktionary:外語每日一詞/2025年/10月27日]] # [[:Wiktionary:每日一詞/2026年/1月1日]] # [[:Wiktionary:每日一詞/2025年/10月25日]] # [[:Wiktionary:外語每日一詞/2025年/11月17日]] # [[:Wiktionary:外語每日一詞/2025年/11月10日]] # [[:Wiktionary:外語每日一詞/2025年/10月25日]] # [[:Wiktionary:每日一詞/2025年/10月23日]] # [[:Wiktionary:每日一詞/2025年/10月24日]] # [[:Wiktionary:每日一詞/2025年/10月22日]] # [[:Wiktionary:每日一詞/2025年/10月20日]] # [[:Wiktionary:外語每日一詞/2025年/10月24日]] # [[:Wiktionary:外語每日一詞/2025年/10月23日]] # [[:Wiktionary:外語每日一詞/2025年/10月21日]] # [[:Wiktionary:外語每日一詞/2025年/10月20日]] # [[:Wiktionary:外語每日一詞/2025年/11月2日]] # [[:Wiktionary:每日一詞/2025年/10月21日]] # [[:Wiktionary:每日一詞/2025年/10月26日]] # [[:Wiktionary:每日一詞/2025年/10月19日]] # [[:Wiktionary:外語每日一詞/2025年/10月26日]] # [[:Wiktionary:外語每日一詞/2025年/10月19日]] # [[:Wiktionary:每日一詞/2025年/10月17日]] # [[:Wiktionary:每日一詞/2025年/12月31日]] # [[:Wiktionary:外語每日一詞/2025年/10月18日]] # [[:Wiktionary:外語每日一詞/2025年/10月17日]] # [[:Wiktionary:外語每日一詞/2025年/10月16日]] # [[:Wiktionary:外語每日一詞/2025年/10月15日]] # [[:Wiktionary:外語每日一詞/2025年/10月14日]] # [[:Wiktionary:外語每日一詞/2025年/10月13日]] # [[:Wiktionary:每日一詞/2025年/10月18日]] # [[:Wiktionary:每日一詞/2025年/10月16日]] # [[:Wiktionary:外語每日一詞/2025年/10月22日]] # [[:Wiktionary:外語每日一詞/2025年/10月12日]] # [[:Wiktionary:外語每日一詞/2025年/10月11日]] # [[:Wiktionary:外語每日一詞/2025年/10月10日]] # [[:Wiktionary:外語每日一詞/2025年/10月8日]] # [[:Wiktionary:外語每日一詞/2025年/10月7日]] # [[:Wiktionary:每日一詞/2025年/10月14日]] # [[:Wiktionary:每日一詞/2025年/10月15日]] # [[:Wiktionary:每日一詞/2025年/10月13日]] # [[:Wiktionary:每日一詞/2025年/10月12日]] # [[:Wiktionary:每日一詞/2025年/10月11日]] # [[:Wiktionary:每日一詞/2025年/10月10日]] # [[:Wiktionary:每日一詞/2025年/10月8日]] # [[:Wiktionary:每日一詞/2025年/10月9日]] # [[:Wiktionary:每日一詞/2025年/10月6日]] # [[:Wiktionary:每日一詞/2025年/10月1日]] # [[:Wiktionary:外語每日一詞/2025年/10月6日]] # [[:Wiktionary:每日一詞/2025年/10月5日]] # [[:Wiktionary:每日一詞/2025年/10月4日]] # [[:Wiktionary:每日一詞/2025年/10月3日]] # [[:Wiktionary:每日一詞/2025年/9月29日]] # [[:Wiktionary:每日一詞/2025年/10月2日]] # [[:Wiktionary:每日一詞/2025年/10月7日]] # [[:Wiktionary:每日一詞/2025年/9月28日]] # [[:Wiktionary:外語每日一詞/2026年/4月22日]] # [[:Wiktionary:外語每日一詞/2025年/10月5日]] # [[:Wiktionary:外語每日一詞/2025年/10月4日]] # [[:Wiktionary:每日一詞/2025年/9月27日]] # [[:Wiktionary:外語每日一詞/2025年/11月9日]] # [[:Wiktionary:外語每日一詞/2025年/9月30日]] # [[:Wiktionary:外語每日一詞/2025年/9月29日]] # [[:Wiktionary:外語每日一詞/2025年/9月28日]] # [[:Wiktionary:外語每日一詞/2025年/9月27日]] # [[:Wiktionary:外語每日一詞/2025年/9月26日]] # [[:Wiktionary:外語每日一詞/2025年/10月9日]] # [[:Wiktionary:外語每日一詞/preload]] # [[:Wiktionary:外語每日一詞/2025年/10月3日]] # [[:Wiktionary:外語每日一詞/2025年/10月2日]] # [[:Wiktionary:外語每日一詞/2025年/9月25日]] # [[:Wiktionary:每日一詞/2025年/9月30日]] # [[:Wiktionary:每日一詞/2025年/9月26日]] # [[:Wiktionary:每日一詞/2025年/9月25日]] # [[:Wiktionary:每日一詞/2025年/9月24日]] # [[:Wiktionary:每日一詞/2025年/9月23日]] # [[:Wiktionary:每日一詞/2025年/9月22日]] # [[:Wiktionary:外語每日一詞/2025年/9月24日]] # [[:Wiktionary:外語每日一詞/2025年/9月23日]] # [[:Wiktionary:外語每日一詞/2025年/9月20日]] # [[:Wiktionary:外語每日一詞/2025年/9月19日]] # [[:Wiktionary:外語每日一詞/2025年/9月18日]] # [[:Wiktionary:外語每日一詞/2025年/9月21日]] # [[:Wiktionary:外語每日一詞/2025年/9月17日]] # [[:Wiktionary:外語每日一詞/2025年/9月16日]] # [[:Wiktionary:每日一詞/2025年/9月21日]] # [[:Wiktionary:每日一詞/2025年/9月20日]] # [[:Wiktionary:每日一詞/2025年/9月19日]] # [[:Wiktionary:每日一詞/2025年/9月18日]] # [[:Wiktionary:每日一詞/2025年/9月17日]] # [[:Wiktionary:每日一詞/2025年/9月16日]] # [[:Wiktionary:每日一詞/2025年/9月15日]] # [[:Wiktionary:外語每日一詞/2025年/9月14日]] # [[:Wiktionary:每日一詞/2025年/9月14日]] # [[:Wiktionary:外語每日一詞/2025年/9月13日]] # [[:Wiktionary:每日一詞/2025年/9月13日]] # [[:Wiktionary:每日一詞/2025年/9月12日]] # [[:Wiktionary:每日一詞/2025年/9月11日]] # [[:Wiktionary:外語每日一詞/2025年/9月12日]] # [[:Wiktionary:外語每日一詞/2025年/9月11日]] # [[:Wiktionary:每日一詞/2025年/9月10日]] # [[:Wiktionary:每日一詞/2025年/9月8日]] # [[:Wiktionary:外語每日一詞/2025年/9月10日]] # [[:Wiktionary:外語每日一詞/2025年/9月9日]] # [[:Wiktionary:外語每日一詞/2025年/9月22日]] # [[:Wiktionary:圖片詞典/la:kinship]] # [[:Wiktionary:外語每日一詞/2025年/10月1日]] # [[:Wiktionary:外語每日一詞/2025年/9月15日]] # [[:Wiktionary:外語每日一詞/2025年/9月8日]] # [[:Wiktionary:每日一詞/2025年/9月7日]] # [[:Wiktionary:每日一詞/2025年/9月9日]] # [[:Wiktionary:每日一詞/2025年/9月6日]] # [[:Wiktionary:外語每日一詞/2025年/9月7日]] # [[:Wiktionary:外語每日一詞/2025年/9月6日]] # [[:Wiktionary:外語每日一詞/2025年/9月5日]] # [[:Wiktionary:外語每日一詞/2025年/9月3日]] # [[:Wiktionary:外語每日一詞/2025年/9月2日]] # [[:Wiktionary:外語每日一詞/2025年/9月4日]] # [[:Wiktionary:每日一詞/2025年/9月5日]] # [[:Wiktionary:每日一詞/2025年/9月4日]] # [[:Wiktionary:外語每日一詞/2025年/8月31日]] # [[:Wiktionary:外語每日一詞/2025年/8月30日]] # [[:Wiktionary:每日一詞/2025年/8月31日]] # [[:Wiktionary:每日一詞/2025年/9月3日]] # [[:Wiktionary:每日一詞/2025年/9月2日]] # [[:Wiktionary:每日一詞/2025年/8月30日]] # [[:Wiktionary:每日一詞/2025年/8月29日]] # [[:Wiktionary:每日一詞/2025年/8月28日]] # [[:Wiktionary:每日一詞/2025年/8月27日]] # [[:Wiktionary:外語每日一詞/2025年/8月29日]] # [[:Wiktionary:外語每日一詞/2025年/8月28日]] # [[:Wiktionary:外語每日一詞/2025年/8月26日]] # [[:Wiktionary:外語每日一詞/2025年/8月25日]] # [[:Wiktionary:外語每日一詞/2025年/8月27日]] # [[:Wiktionary:外語每日一詞/2025年/8月24日]] # [[:Wiktionary:外語每日一詞/2025年/8月23日]] # [[:Wiktionary:外語每日一詞/2025年/8月22日]] # [[:Wiktionary:外語每日一詞/2025年/8月21日]] # [[:Wiktionary:每日一詞/2025年/8月26日]] # [[:Wiktionary:每日一詞/2025年/8月22日]] # [[:Wiktionary:每日一詞/2025年/8月24日]] # [[:Wiktionary:每日一詞/2025年/8月23日]] # [[:Wiktionary:每日一詞/2025年/8月21日]] # [[:Wiktionary:每日一詞/2025年/9月1日]] # [[:Wiktionary:外語每日一詞/2025年/8月20日]] # [[:Wiktionary:每日一詞/2025年/8月20日]] # [[:Wiktionary:外語每日一詞/2025年/8月19日]] # [[:Wiktionary:外語每日一詞/2025年/8月18日]] # [[:Wiktionary:每日一詞/2025年/8月19日]] # [[:Wiktionary:每日一詞/2025年/8月18日]] # [[:Wiktionary:每日一詞/2025年/8月17日]] # [[:Wiktionary:外語每日一詞/2025年/8月16日]] # [[:Wiktionary:外語每日一詞/2025年/8月15日]] # [[:Wiktionary:每日一詞/2025年/8月16日]] # [[:Wiktionary:每日一詞/2025年/8月15日]] # [[:Wiktionary:外語每日一詞/2025年/8月14日]] # [[:Wiktionary:外語每日一詞/2025年/8月13日]] # [[:Wiktionary:外語每日一詞/2025年/8月12日]] # [[:Wiktionary:每日一詞/2025年/8月14日]] # [[:Wiktionary:每日一詞/2025年/8月13日]] # [[:Wiktionary:每日一詞/2025年/8月11日]] # [[:Wiktionary:每日一詞/2025年/8月12日]] # [[:Wiktionary:外語每日一詞/2025年/8月11日]] # [[:Wiktionary:外語每日一詞/2025年/8月10日]] # [[:Wiktionary:每日一詞/2025年/8月9日]] # [[:Wiktionary:外語每日一詞/2025年/9月1日]] # [[:Wiktionary:外語每日一詞/2025年/8月9日]] # [[:Wiktionary:外語每日一詞/2025年/8月8日]] # [[:Wiktionary:每日一詞/2025年/8月6日]] # [[:Wiktionary:每日一詞/2025年/8月7日]] # [[:Wiktionary:每日一詞/2025年/8月8日]] # [[:Wiktionary:每日一詞/2025年/8月5日]] # [[:Wiktionary:每日一詞/2025年/8月4日]] # [[:Wiktionary:每日一詞/2026年/3月20日]] # [[:Wiktionary:外語每日一詞/2025年/8月7日]] # [[:Wiktionary:外語每日一詞/2025年/8月4日]] # [[:Wiktionary:外語每日一詞/2025年/8月6日]] # [[:Wiktionary:外語每日一詞/2025年/8月5日]] # [[:Wiktionary:外語每日一詞/2025年/8月3日]] # [[:Wiktionary:外語每日一詞/2025年/8月2日]] # [[:Wiktionary:外語每日一詞/2025年/8月1日]] # [[:Wiktionary:外語每日一詞/2025年/7月31日]] # [[:Wiktionary:外語每日一詞/2025年/7月30日]] # [[:Wiktionary:外語每日一詞/2025年/7月29日]] # [[:Wiktionary:外語每日一詞/2025年/7月28日]] # [[:Wiktionary:每日一詞/2025年/8月3日]] # [[:Wiktionary:每日一詞/2025年/8月2日]] # [[:Wiktionary:每日一詞/2025年/7月31日]] # [[:Wiktionary:每日一詞/2025年/7月30日]] # [[:Wiktionary:每日一詞/2025年/7月29日]] # [[:Wiktionary:每日一詞/2025年/7月28日]] # [[:Wiktionary:每日一詞/2025年/8月1日]] # [[:Wiktionary:每日一詞/2025年/7月26日]] # [[:Wiktionary:每日一詞/2025年/7月27日]] # [[:Wiktionary:外語每日一詞/2025年/7月25日]] # [[:Wiktionary:外語每日一詞/2025年/7月24日]] # [[:Wiktionary:外語每日一詞/2025年/7月23日]] # [[:Wiktionary:外語每日一詞/2025年/7月22日]] # [[:Wiktionary:每日一詞/2025年/7月24日]] # [[:Wiktionary:每日一詞/2025年/7月25日]] # [[:Wiktionary:每日一詞/2025年/7月23日]] # [[:Wiktionary:每日一詞/2025年/7月22日]] # [[:Wiktionary:外語每日一詞/2025年/7月21日]] # [[:Wiktionary:每日一詞/2025年/7月21日]] # [[:Wiktionary:外語每日一詞/2025年/7月27日]] # [[:Wiktionary:外語每日一詞/2025年/7月20日]] # [[:Wiktionary:外語每日一詞/2025年/7月19日]] # [[:Wiktionary:外語每日一詞/2025年/7月18日]] # [[:Wiktionary:每日一詞/2025年/7月20日]] # [[:Wiktionary:每日一詞/2025年/8月25日]] # [[:Wiktionary:每日一詞/2025年/7月18日]] # [[:Wiktionary:外語每日一詞/2025年/7月17日]] # [[:Wiktionary:外語每日一詞/2025年/7月16日]] # [[:Wiktionary:每日一詞/2025年/7月16日]] # [[:Wiktionary:每日一詞/2025年/7月14日]] # [[:Wiktionary:每日一詞/2025年/7月19日]] # [[:Wiktionary:每日一詞/2025年/7月17日]] # [[:Wiktionary:每日一詞/2025年/7月15日]] # [[:Wiktionary:每日一詞/2025年/7月12日]] # [[:Wiktionary:每日一詞/2025年/10月29日]] # [[:Wiktionary:每日一詞/2025年/7月13日]] # [[:Wiktionary:每日一詞/2025年/7月11日]] # [[:Wiktionary:每日一詞/2025年/7月9日]] # [[:Wiktionary:外語每日一詞/2025年/7月15日]] # [[:Wiktionary:每日一詞/2025年/7月5日]] # [[:Wiktionary:每日一詞/2025年/7月10日]] # [[:Wiktionary:外語每日一詞/2025年/7月14日]] # [[:Wiktionary:外語每日一詞/2025年/7月11日]] # [[:Wiktionary:外語每日一詞/2025年/7月10日]] # [[:Wiktionary:外語每日一詞/2025年/7月9日]] # [[:Wiktionary:外語每日一詞/2025年/7月8日]] # [[:Wiktionary:外語每日一詞/2025年/7月7日]] # [[:Wiktionary:外語每日一詞/2025年/7月12日]] # [[:Wiktionary:外語每日一詞/2025年/7月5日]] # [[:Wiktionary:外語每日一詞/2025年/7月6日]] # [[:Wiktionary:外語每日一詞/2025年/7月13日]] # [[:Wiktionary:外語每日一詞/2025年/7月3日]] # [[:Wiktionary:外語每日一詞/2025年/7月4日]] # [[:Wiktionary:每日一詞/2025年/7月7日]] # [[:Wiktionary:每日一詞/2025年/7月8日]] # [[:Wiktionary:每日一詞/2025年/7月6日]] # [[:Wiktionary:每日一詞/2025年/7月4日]] # [[:Wiktionary:每日一詞/2025年/7月3日]] # [[:Wiktionary:每日一詞/2025年/7月2日]] # [[:Wiktionary:外語每日一詞/2025年/7月2日]] # [[:Wiktionary:外語每日一詞/2025年/6月30日]] # [[:Wiktionary:外語每日一詞/2025年/6月28日]] # [[:Wiktionary:外語每日一詞/2025年/6月27日]] # [[:Wiktionary:每日一詞/2025年/6月30日]] # [[:Wiktionary:每日一詞/2025年/6月28日]] # [[:Wiktionary:每日一詞/2025年/6月26日]] # [[:Wiktionary:外語每日一詞/2025年/8月17日]] # [[:Wiktionary:外語每日一詞/2025年/6月26日]] # [[:Wiktionary:外語每日一詞/2025年/6月25日]] # [[:Wiktionary:外語每日一詞/2025年/7月1日]] # [[:Wiktionary:外語每日一詞/2025年/6月24日]] # [[:Wiktionary:每日一詞/2025年/7月1日]] # [[:Wiktionary:外語每日一詞/2025年/7月26日]] # [[:Wiktionary:每日一詞/2025年/6月29日]] # [[:Wiktionary:每日一詞/2025年/6月27日]] # [[:Wiktionary:每日一詞/2025年/6月24日]] # [[:Wiktionary:每日一詞/2025年/6月25日]] # [[:Wiktionary:每日一詞/2025年/6月22日]] # [[:Wiktionary:每日一詞/2025年/6月23日]] # [[:Wiktionary:每日一詞/2025年/6月21日]] # [[:Wiktionary:外語每日一詞/2025年/6月29日]] # [[:Wiktionary:每日一詞/2025年/6月20日]] # [[:Wiktionary:每日一詞/2025年/6月19日]] # [[:Wiktionary:外語每日一詞/2025年/6月23日]] # [[:Wiktionary:每日一詞/2025年/6月17日]] # [[:Wiktionary:每日一詞/2025年/6月18日]] # [[:Wiktionary:外語每日一詞/2025年/6月22日]] # [[:Wiktionary:外語每日一詞/2025年/6月21日]] # [[:Wiktionary:外語每日一詞/2025年/6月19日]] # [[:Wiktionary:外語每日一詞/2025年/6月18日]] # [[:Wiktionary:外語每日一詞/2025年/6月17日]] # [[:Wiktionary:外語每日一詞/2025年/6月16日]] # [[:Wiktionary:每日一詞/2025年/6月16日]] # [[:Wiktionary:外語每日一詞/2025年/6月20日]] # [[:Wiktionary:外語每日一詞/2025年/6月14日]] # [[:Wiktionary:外語每日一詞/2025年/6月13日]] # [[:Wiktionary:外語每日一詞/2025年/6月15日]] # [[:Wiktionary:外語每日一詞/2025年/6月12日]] # [[:Wiktionary:每日一詞/2025年/6月15日]] # [[:Wiktionary:每日一詞/2025年/6月14日]] # [[:Wiktionary:每日一詞/2025年/6月13日]] # [[:Wiktionary:每日一詞/2025年/6月12日]] # [[:Wiktionary:每日一詞/2025年/6月11日]] # [[:Wiktionary:外語每日一詞/2025年/6月11日]] # [[:Wiktionary:外語每日一詞/2025年/6月10日]] # [[:Wiktionary:每日一詞/2025年/6月10日]] # [[:Wiktionary:每日一詞/2025年/6月9日]] # [[:Wiktionary:每日一詞/2025年/6月8日]] # [[:Wiktionary:外語每日一詞/2025年/6月8日]] # [[:Wiktionary:外語每日一詞/2025年/6月7日]] # [[:Wiktionary:外語每日一詞/2025年/6月6日]] # [[:Wiktionary:外語每日一詞/2025年/6月5日]] # [[:Wiktionary:每日一詞/2025年/6月7日]] # [[:Wiktionary:外語每日一詞/2025年/6月4日]] # [[:Wiktionary:外語每日一詞/2025年/6月3日]] # [[:Wiktionary:每日一詞/2025年/6月4日]] # [[:Wiktionary:每日一詞/2025年/6月6日]] # [[:Wiktionary:外語每日一詞/2025年/6月9日]] # [[:Wiktionary:外語每日一詞/2025年/6月2日]] # [[:Wiktionary:每日一詞/2025年/6月5日]] # [[:Wiktionary:每日一詞/2025年/6月3日]] # [[:Wiktionary:每日一詞/2025年/6月2日]] # [[:Wiktionary:外語每日一詞/2025年/6月1日]] # [[:Wiktionary:外語每日一詞/2026年/6月19日]] # [[:Wiktionary:每日一詞/2025年/6月1日]] # [[:Wiktionary:外語每日一詞/2025年/5月30日]] # [[:Wiktionary:重定向]] # [[:Wiktionary:每日一詞/2025年/5月31日]] # [[:Wiktionary:外語每日一詞/2025年/5月29日]] # [[:Wiktionary:外語每日一詞/2025年/5月31日]] # [[:Wiktionary:每日一詞/2025年/5月30日]] # [[:Wiktionary:每日一詞/2025年/5月29日]] # [[:Wiktionary:每日一詞/2025年/5月28日]] # [[:Wiktionary:外語每日一詞/2025年/5月28日]] # [[:Wiktionary:外語每日一詞/2025年/5月27日]] # [[:Wiktionary:每日一詞/2025年/5月27日]] # [[:Wiktionary:每日一詞/2025年/5月26日]] # [[:Wiktionary:外語每日一詞/2025年/5月26日]] # [[:Wiktionary:每日一詞/2025年/5月25日]] # [[:Wiktionary:外語每日一詞/2025年/5月25日]] # [[:Wiktionary:外語每日一詞/2025年/5月24日]] # [[:Wiktionary:每日一詞/2025年/5月24日]] # [[:Wiktionary:每日一詞/2025年/5月23日]] # [[:Wiktionary:外語每日一詞/2025年/5月23日]] # [[:Wiktionary:每日一詞/2025年/5月22日]] # [[:Wiktionary:每日一詞/2025年/5月21日]] # [[:Wiktionary:每日一詞/2025年/5月20日]] # [[:Wiktionary:每日一詞/2025年/5月19日]] # [[:Wiktionary:外語每日一詞/2025年/5月22日]] # [[:Wiktionary:外語每日一詞/2025年/5月20日]] # [[:Wiktionary:外語每日一詞/2025年/5月21日]] # [[:Wiktionary:每日一詞/2025年/5月18日]] # [[:Wiktionary:外語每日一詞/2025年/5月19日]] # [[:Wiktionary:外語每日一詞/2025年/5月18日]] # [[:Wiktionary:外語每日一詞/2025年/5月17日]] # [[:Wiktionary:外語每日一詞/2025年/5月16日]] # [[:Wiktionary:每日一詞/2025年/5月17日]] # [[:Wiktionary:每日一詞/2025年/5月16日]] # [[:Wiktionary:外語每日一詞/2025年/5月15日]] # [[:Wiktionary:每日一詞/2025年/5月15日]] # [[:Wiktionary:每日一詞/2025年/5月14日]] # [[:Wiktionary:外語每日一詞/2025年/5月14日]] # [[:Wiktionary:外語每日一詞/2025年/5月13日]] # [[:Wiktionary:外語每日一詞/2025年/5月12日]] # [[:Wiktionary:外語每日一詞/2025年/5月11日]] # [[:Wiktionary:每日一詞/2025年/5月13日]] # [[:Wiktionary:每日一詞/2025年/5月11日]] # [[:Wiktionary:每日一詞/2025年/5月12日]] # [[:Wiktionary:每日一詞/2025年/5月10日]] # [[:Wiktionary:外語每日一詞/2025年/5月10日]] # [[:Wiktionary:外語每日一詞/2025年/5月9日]] # [[:Wiktionary:外語每日一詞/2025年/5月8日]] # [[:Wiktionary:外語每日一詞/2025年/5月7日]] # [[:Wiktionary:每日一詞/2025年/5月9日]] # [[:Wiktionary:每日一詞/2025年/5月7日]] # [[:Wiktionary:每日一詞/2025年/5月8日]] # [[:Wiktionary:每日一詞/2025年/5月6日]] # [[:Wiktionary:外語每日一詞/2025年/5月6日]] # [[:Wiktionary:每日一詞/2025年/5月5日]] # [[:Wiktionary:每日一詞/2025年/5月4日]] # [[:Wiktionary:外語每日一詞/2025年/5月4日]] # [[:Wiktionary:每日一詞/2025年/5月3日]] # [[:Wiktionary:外語每日一詞/2025年/5月3日]] # [[:Wiktionary:外語每日一詞/2025年/5月2日]] # [[:Wiktionary:每日一詞/2025年/5月2日]] # [[:Wiktionary:每日一詞/2025年/5月1日]] # [[:Wiktionary:外語每日一詞/2025年/5月1日]] # [[:Wiktionary:外語每日一詞/2025年/4月30日]] # [[:Wiktionary:外語每日一詞/2025年/4月29日]] # [[:Wiktionary:每日一詞/2025年/4月30日]] # [[:Wiktionary:外語每日一詞/2025年/4月28日]] # [[:Wiktionary:每日一詞/2025年/4月28日]] # [[:Wiktionary:外語每日一詞/2025年/4月27日]] # [[:Wiktionary:每日一詞/2025年/4月29日]] # [[:Wiktionary:每日一詞/2025年/4月27日]] # [[:Wiktionary:外語每日一詞/2025年/4月26日]] # [[:Wiktionary:外語每日一詞/2025年/4月25日]] # [[:Wiktionary:每日一詞/2025年/4月25日]] # [[:Wiktionary:外語每日一詞/2025年/4月24日]] # [[:Wiktionary:每日一詞/2025年/4月24日]] # [[:Wiktionary:每日一詞/2025年/4月23日]] # [[:Wiktionary:外語每日一詞/2025年/4月22日]] # [[:Wiktionary:外語每日一詞/2025年/4月23日]] # [[:Wiktionary:外語每日一詞/2025年/4月21日]] # [[:Wiktionary:每日一詞/2025年/4月21日]] # [[:Wiktionary:每日一詞/2025年/4月22日]] # [[:Wiktionary:外語每日一詞/2025年/4月20日]] # [[:Wiktionary:外語每日一詞/2025年/4月19日]] # [[:Wiktionary:每日一詞/2025年/4月20日]] # [[:Wiktionary:每日一詞/2025年/4月19日]] # [[:Wiktionary:朝鮮語]] # [[:Wiktionary:外語每日一詞/2025年/4月18日]] # [[:Wiktionary:每日一詞/2025年/4月17日]] # [[:Wiktionary:每日一詞/2025年/4月18日]] # [[:Wiktionary:每日一詞/2025年/4月16日]] # [[:Wiktionary:外語每日一詞/2025年/4月17日]] # [[:Wiktionary:外語每日一詞/2025年/4月16日]] # [[:Wiktionary:外語每日一詞/2025年/4月15日]] # [[:Wiktionary:外語每日一詞/2025年/4月14日]] # [[:Wiktionary:每日一詞/2025年/4月26日]] # [[:Wiktionary:外語每日一詞/2025年/4月12日]] # [[:Wiktionary:每日一詞/2025年/4月15日]] # [[:Wiktionary:每日一詞/2025年/4月14日]] # [[:Wiktionary:每日一詞/2025年/4月13日]] # [[:Wiktionary:外語每日一詞/2025年/4月13日]] # [[:Wiktionary:外語每日一詞/2025年/4月11日]] # [[:Wiktionary:每日一詞/2025年/4月12日]] # [[:Wiktionary:每日一詞/2025年/4月11日]] # [[:Wiktionary:每日一詞/2025年/4月10日]] # [[:Wiktionary:外語每日一詞/2025年/4月10日]] # [[:Wiktionary:外語每日一詞/2025年/4月9日]] # [[:Wiktionary:外語每日一詞/2025年/4月8日]] # [[:Wiktionary:外語每日一詞/2025年/4月7日]] # [[:Wiktionary:外語每日一詞/2025年/4月6日]] # [[:Wiktionary:外語每日一詞/2025年/4月5日]] # [[:Wiktionary:外語每日一詞/2025年/4月4日]] # [[:Wiktionary:每日一詞/2025年/4月9日]] # [[:Wiktionary:每日一詞/2025年/4月7日]] # [[:Wiktionary:每日一詞/2025年/4月8日]] # [[:Wiktionary:每日一詞/2025年/4月6日]] # [[:Wiktionary:每日一詞/2025年/4月5日]] # [[:Wiktionary:每日一詞/2025年/4月4日]] # [[:Wiktionary:外語每日一詞/2025年/4月3日]] # [[:Wiktionary:每日一詞/2025年/4月3日]] # [[:Wiktionary:外語每日一詞/2025年/4月2日]] # [[:Wiktionary:每日一詞/2025年/4月2日]] # [[:Wiktionary:外語每日一詞/2025年/4月1日]] # [[:Wiktionary:外語每日一詞/2025年/3月31日]] # [[:Wiktionary:每日一詞/2025年/3月31日]] # [[:Wiktionary:外語每日一詞/2025年/3月30日]] # [[:Wiktionary:外語每日一詞/2025年/3月29日]] # [[:Wiktionary:外語每日一詞/2025年/3月28日]] # [[:Wiktionary:外語每日一詞/2025年/3月27日]] # [[:Wiktionary:外語每日一詞/2025年/3月26日]] # [[:Wiktionary:每日一詞/2025年/3月29日]] # [[:Wiktionary:每日一詞/2025年/3月30日]] # [[:Wiktionary:每日一詞/2025年/3月28日]] # [[:Wiktionary:每日一詞/2025年/4月1日]] # [[:Wiktionary:外語每日一詞/2025年/3月25日]] # [[:Wiktionary:外語每日一詞/2025年/3月24日]] # [[:Wiktionary:外語每日一詞/2025年/3月23日]] # [[:Wiktionary:每日一詞/2025年/3月27日]] # [[:Wiktionary:每日一詞/2025年/3月26日]] # [[:Wiktionary:每日一詞/2025年/3月24日]] # [[:Wiktionary:每日一詞/2025年/3月25日]] # [[:Wiktionary:每日一詞/2025年/3月22日]] # [[:Wiktionary:每日一詞/2025年/3月23日]] # [[:Wiktionary:外語每日一詞/2025年/3月22日]] # [[:Wiktionary:外語每日一詞/2025年/3月21日]] # [[:Wiktionary:每日一詞/2025年/3月21日]] # [[:Wiktionary:每日一詞/2025年/3月20日]] # [[:Wiktionary:每日一詞/2025年/3月19日]] # [[:Wiktionary:外語每日一詞/2025年/3月20日]] # [[:Wiktionary:外語每日一詞/2025年/3月19日]] # [[:Wiktionary:外語每日一詞/2025年/3月18日]] # [[:Wiktionary:外語每日一詞/2025年/3月17日]] # [[:Wiktionary:每日一詞/2025年/3月18日]] # [[:Wiktionary:每日一詞/2025年/3月17日]] # [[:Wiktionary:外語每日一詞/2025年/3月16日]] # [[:Wiktionary:每日一詞/2025年/3月16日]] # [[:Wiktionary:外語每日一詞/2025年/3月15日]] # [[:Wiktionary:外語每日一詞/2025年/3月13日]] # [[:Wiktionary:外語每日一詞/2025年/3月12日]] # [[:Wiktionary:外語每日一詞/2025年/3月11日]] # [[:Wiktionary:外語每日一詞/2025年/3月14日]] # [[:Wiktionary:外語每日一詞/2025年/3月10日]] # [[:Wiktionary:外語每日一詞/2025年/3月9日]] # [[:Wiktionary:每日一詞/2025年/3月8日]] # [[:Wiktionary:每日一詞/2025年/3月15日]] # [[:Wiktionary:外語每日一詞/2025年/3月8日]] # [[:Wiktionary:外語每日一詞/2025年/3月7日]] # [[:Wiktionary:外語每日一詞/2025年/3月6日]] # [[:Wiktionary:外語每日一詞/2025年/3月5日]] # [[:Wiktionary:外語每日一詞/2025年/3月4日]] # [[:Wiktionary:外語每日一詞/2025年/3月3日]] # [[:Wiktionary:外語每日一詞/2025年/3月2日]] # [[:Wiktionary:每日一詞/2025年/3月14日]] # [[:Wiktionary:每日一詞/2025年/3月13日]] # [[:Wiktionary:每日一詞/2025年/3月12日]] # [[:Wiktionary:每日一詞/2025年/3月11日]] # [[:Wiktionary:每日一詞/2025年/3月9日]] # [[:Wiktionary:每日一詞/2025年/3月10日]] # [[:Wiktionary:每日一詞/2025年/3月7日]] # [[:Wiktionary:每日一詞/2025年/3月6日]] # [[:Wiktionary:外語每日一詞/2025年/3月1日]] # [[:Wiktionary:外語每日一詞/2025年/2月28日]] # [[:Wiktionary:外語每日一詞/2025年/2月27日]] # [[:Wiktionary:每日一詞/2025年/3月4日]] # [[:Wiktionary:每日一詞/2025年/3月2日]] # [[:Wiktionary:每日一詞/2025年/3月5日]] # [[:Wiktionary:每日一詞/2025年/3月3日]] # [[:Wiktionary:每日一詞/2025年/3月1日]] # [[:Wiktionary:每日一詞/2025年/2月27日]] # [[:Wiktionary:外語每日一詞/2025年/2月26日]] # [[:Wiktionary:外語每日一詞/2025年/2月25日]] # [[:Wiktionary:外語每日一詞/2025年/2月24日]] # [[:Wiktionary:外語每日一詞/2025年/2月23日]] # [[:Wiktionary:外語每日一詞/2025年/2月22日]] # [[:Wiktionary:每日一詞/2025年/2月28日]] # [[:Wiktionary:每日一詞/2025年/2月26日]] # [[:Wiktionary:每日一詞/2025年/2月22日]] # [[:Wiktionary:每日一詞/2025年/2月24日]] # [[:Wiktionary:每日一詞/2025年/2月20日]] # [[:Wiktionary:每日一詞/2025年/2月25日]] # [[:Wiktionary:外語每日一詞/2025年/2月21日]] # [[:Wiktionary:外語每日一詞/2025年/2月20日]] # [[:Wiktionary:外語每日一詞/2025年/2月19日]] # [[:Wiktionary:外語每日一詞/2025年/2月18日]] # [[:Wiktionary:每日一詞/2025年/2月23日]] # [[:Wiktionary:每日一詞/2025年/2月21日]] # [[:Wiktionary:外語每日一詞/2025年/2月17日]] # [[:Wiktionary:外語每日一詞/2025年/2月16日]] # [[:Wiktionary:每日一詞/2025年/2月19日]] # [[:Wiktionary:每日一詞/2025年/2月18日]] # [[:Wiktionary:每日一詞/2025年/2月17日]] # [[:Wiktionary:外語每日一詞/2025年/2月14日]] # [[:Wiktionary:外語每日一詞/2025年/2月15日]] # [[:Wiktionary:外語每日一詞/2025年/2月13日]] # [[:Wiktionary:每日一詞/2025年/2月16日]] # [[:Wiktionary:每日一詞/2025年/2月14日]] # [[:Wiktionary:每日一詞/2025年/2月15日]] # [[:Wiktionary:外語每日一詞/2025年/5月5日]] # [[:Wiktionary:外語每日一詞/2025年/2月11日]] # [[:Wiktionary:外語每日一詞/2025年/2月10日]] # [[:Wiktionary:外語每日一詞/2025年/2月9日]] # [[:Wiktionary:外語每日一詞/2025年/2月8日]] # [[:Wiktionary:每日一詞/2025年/2月12日]] # [[:Wiktionary:外語每日一詞/2025年/2月7日]] # [[:Wiktionary:每日一詞/2025年/2月13日]] # [[:Wiktionary:每日一詞/2025年/2月11日]] # [[:Wiktionary:每日一詞/2025年/2月9日]] # [[:Wiktionary:每日一詞/2025年/2月10日]] # [[:Wiktionary:每日一詞/2025年/2月6日]] # [[:Wiktionary:每日一詞/2025年/2月8日]] # [[:Wiktionary:每日一詞/2025年/8月10日]] # [[:Wiktionary:外語每日一詞/2025年/2月6日]] # [[:Wiktionary:外語每日一詞/2025年/2月12日]] # [[:Wiktionary:每日一詞/2025年/2月7日]] # [[:Wiktionary:每日一詞/2025年/2月5日]] # [[:Wiktionary:每日一詞/2025年/2月4日]] # [[:Wiktionary:外語每日一詞/2025年/2月5日]] # [[:Wiktionary:外語每日一詞/2025年/2月3日]] # [[:Wiktionary:外語每日一詞/2025年/2月2日]] # [[:Wiktionary:外語每日一詞/2025年/1月30日]] # [[:Wiktionary:外語每日一詞/2025年/2月1日]] # [[:Wiktionary:外語每日一詞/2025年/1月31日]] # [[:Wiktionary:外語每日一詞/2025年/1月29日]] # [[:Wiktionary:外語每日一詞/2025年/1月26日]] # [[:Wiktionary:外語每日一詞/2025年/1月25日]] # [[:Wiktionary:外語每日一詞/2025年/1月24日]] # [[:Wiktionary:外語每日一詞/2025年/1月23日]] # [[:Wiktionary:外語每日一詞/2025年/1月27日]] # [[:Wiktionary:每日一詞/2025年/2月3日]] # [[:Wiktionary:外語每日一詞/2025年/2月4日]] # [[:Wiktionary:外語每日一詞/2025年/1月28日]] # [[:Wiktionary:外語每日一詞/2025年/1月22日]] # [[:Wiktionary:每日一詞/2025年/2月2日]] # [[:Wiktionary:每日一詞/2025年/2月1日]] # [[:Wiktionary:每日一詞/2025年/1月31日]] # [[:Wiktionary:每日一詞/2025年/1月30日]] # [[:Wiktionary:每日一詞/2025年/1月27日]] # [[:Wiktionary:每日一詞/2025年/1月28日]] # [[:Wiktionary:每日一詞/2025年/1月25日]] # [[:Wiktionary:每日一詞/2025年/1月26日]] # [[:Wiktionary:每日一詞/2025年/1月24日]] # [[:Wiktionary:每日一詞/2025年/1月22日]] # [[:Wiktionary:每日一詞/2025年/1月23日]] # [[:Wiktionary:每日一詞/2025年/1月21日]] # [[:Wiktionary:每日一詞/2025年/1月19日]] # [[:Wiktionary:外語每日一詞/2025年/1月21日]] # [[:Wiktionary:外語每日一詞/2025年/1月20日]] # [[:Wiktionary:每日一詞/2025年/1月20日]] # [[:Wiktionary:外語每日一詞/2025年/1月19日]] # [[:Wiktionary:外語每日一詞/2025年/1月18日]] # [[:Wiktionary:外語每日一詞/2025年/1月16日]] # [[:Wiktionary:每日一詞/2025年/1月18日]] # [[:Wiktionary:每日一詞/2025年/1月17日]] # [[:Wiktionary:每日一詞/2025年/1月16日]] # [[:Wiktionary:外語每日一詞/2025年/1月14日]] # [[:Wiktionary:外語每日一詞/2025年/1月15日]] # [[:Wiktionary:每日一詞/2025年/1月15日]] # [[:Wiktionary:每日一詞/2025年/1月13日]] # [[:Wiktionary:外語每日一詞/2025年/1月13日]] # [[:Wiktionary:外語每日一詞/2025年/1月12日]] # [[:Wiktionary:外語每日一詞/2025年/1月11日]] # [[:Wiktionary:外語每日一詞/2025年/1月9日]] # [[:Wiktionary:每日一詞/2025年/1月14日]] # [[:Wiktionary:每日一詞/2025年/1月12日]] # [[:Wiktionary:每日一詞/2025年/1月9日]] # [[:Wiktionary:外語每日一詞/2025年/1月8日]] # [[:Wiktionary:外語每日一詞/2025年/1月7日]] # [[:Wiktionary:每日一詞/2025年/1月8日]] # [[:Wiktionary:每日一詞/2025年/1月10日]] # [[:Wiktionary:每日一詞/2025年/1月7日]] # [[:Wiktionary:每日一詞/2025年/1月6日]] # [[:Wiktionary:每日一詞/2025年/1月5日]] # [[:Wiktionary:每日一詞/2025年/1月11日]] # [[:Wiktionary:每日一詞/2025年/1月4日]] # [[:Wiktionary:外語每日一詞/2025年/1月5日]] # [[:Wiktionary:外語每日一詞/2025年/1月4日]] # [[:Wiktionary:每日一詞/2025年/1月3日]] # [[:Wiktionary:外語每日一詞/2025年/1月3日]] # [[:Wiktionary:外語每日一詞/2025年/1月17日]] # [[:Wiktionary:每日一詞/2025年/1月29日]] # [[:Wiktionary:每日一詞/2025年/1月1日]] # [[:Wiktionary:外語每日一詞/2025年/1月2日]] # [[:Wiktionary:外語每日一詞/2025年/1月1日]] # [[:Wiktionary:每日一詞/2025年/1月2日]] # [[:Wiktionary:每日一詞/2024年/12月31日]] # [[:Wiktionary:外語每日一詞/2024年/12月29日]] # [[:Wiktionary:外語每日一詞/2024年/12月28日]] # [[:Wiktionary:外語每日一詞/2024年/12月31日]] # [[:Wiktionary:每日一詞/2024年/12月30日]] # [[:Wiktionary:外語每日一詞/2025年/1月10日]] # [[:Wiktionary:外語每日一詞/2024年/12月27日]] # [[:Wiktionary:外語每日一詞/2025年/1月6日]] # [[:Wiktionary:每日一詞/2024年/12月28日]] # [[:Wiktionary:每日一詞/2024年/12月29日]] # [[:Wiktionary:每日一詞/2024年/12月27日]] # [[:Wiktionary:每日一詞/2024年/12月25日]] # [[:Wiktionary:每日一詞/2024年/12月24日]] # [[:Wiktionary:每日一詞/2024年/12月23日]] # [[:Wiktionary:外語每日一詞/2024年/12月25日]] # [[:Wiktionary:外語每日一詞/2024年/12月26日]] # [[:Wiktionary:外語每日一詞/2024年/12月24日]] # [[:Wiktionary:外語每日一詞/2024年/12月23日]] # [[:Wiktionary:外語每日一詞/2024年/12月21日]] # [[:Wiktionary:每日一詞/2024年/12月22日]] # [[:Wiktionary:外語每日一詞/2024年/12月20日]] # [[:Wiktionary:外語每日一詞/2024年/12月19日]] # [[:Wiktionary:外語每日一詞/2024年/12月18日]] # [[:Wiktionary:外語每日一詞/2024年/12月22日]] # [[:Wiktionary:每日一詞/2024年/12月21日]] # [[:Wiktionary:每日一詞/2024年/12月20日]] # [[:Wiktionary:每日一詞/2024年/12月19日]] # [[:Wiktionary:每日一詞/2024年/12月18日]] # [[:Wiktionary:外語每日一詞/2024年/12月16日]] # [[:Wiktionary:外語每日一詞/2024年/12月15日]] # [[:Wiktionary:外語每日一詞/2024年/12月14日]] # [[:Wiktionary:外語每日一詞/2024年/12月13日]] # [[:Wiktionary:外語每日一詞/2024年/12月12日]] # [[:Wiktionary:外語每日一詞/2024年/12月11日]] # [[:Wiktionary:外語每日一詞/2024年/12月10日]] # [[:Wiktionary:每日一詞/2024年/12月17日]] # [[:Wiktionary:每日一詞/2024年/12月16日]] # [[:Wiktionary:外語每日一詞/2024年/12月9日]] # [[:Wiktionary:每日一詞/2024年/12月15日]] # [[:Wiktionary:每日一詞/2024年/12月14日]] # [[:Wiktionary:外語每日一詞/2024年/12月7日]] # [[:Wiktionary:外語每日一詞/2024年/12月6日]] # [[:Wiktionary:外語每日一詞/2024年/12月4日]] # [[:Wiktionary:外語每日一詞/2024年/12月3日]] # [[:Wiktionary:外語每日一詞/2024年/12月17日]] # [[:Wiktionary:外語每日一詞/2024年/12月2日]] # [[:Wiktionary:每日一詞/2024年/12月13日]] # [[:Wiktionary:每日一詞/2024年/12月12日]] # [[:Wiktionary:每日一詞/2024年/12月10日]] # [[:Wiktionary:每日一詞/2024年/12月8日]] # [[:Wiktionary:每日一詞/2024年/12月11日]] # [[:Wiktionary:每日一詞/2024年/12月6日]] # [[:Wiktionary:每日一詞/2024年/12月9日]] # [[:Wiktionary:每日一詞/2024年/12月4日]] # [[:Wiktionary:外語每日一詞/2024年/12月8日]] # [[:Wiktionary:外語每日一詞/2024年/12月1日]] # [[:Wiktionary:外語每日一詞/2024年/12月5日]] # [[:Wiktionary:外語每日一詞/2024年/11月30日]] # [[:Wiktionary:外語每日一詞/2024年/11月29日]] # [[:Wiktionary:每日一詞/2024年/12月7日]] # [[:Wiktionary:每日一詞/2024年/12月2日]] # [[:Wiktionary:每日一詞/2024年/11月29日]] # [[:Wiktionary:每日一詞/2024年/12月5日]] # [[:Wiktionary:外語每日一詞/2024年/11月28日]] # [[:Wiktionary:每日一詞/2024年/12月3日]] # [[:Wiktionary:每日一詞/2024年/12月1日]] # [[:Wiktionary:每日一詞/2024年/11月30日]] # [[:Wiktionary:每日一詞/2024年/11月28日]] # [[:Wiktionary:外語每日一詞/2024年/11月27日]] # [[:Wiktionary:外語每日一詞/2024年/11月26日]] # [[:Wiktionary:每日一詞/2024年/11月26日]] # [[:Wiktionary:每日一詞/2024年/11月25日]] # [[:Wiktionary:外語每日一詞/2024年/11月25日]] # [[:Wiktionary:外語每日一詞/2024年/11月24日]] # [[:Wiktionary:每日一詞/2024年/11月24日]] # [[:Wiktionary:每日一詞/2024年/11月23日]] # [[:Wiktionary:外語每日一詞/2024年/11月23日]] # [[:Wiktionary:每日一詞/2024年/11月22日]] # [[:Wiktionary:每日一詞/2024年/11月21日]] # [[:Wiktionary:每日一詞/2024年/11月27日]] # [[:Wiktionary:每日一詞/2024年/11月20日]] # [[:Wiktionary:外語每日一詞/2024年/11月22日]] # [[:Wiktionary:每日一詞/2024年/11月19日]] # [[:Wiktionary:外語每日一詞/2024年/11月21日]] # [[:Wiktionary:外語每日一詞/2024年/11月20日]] # [[:Wiktionary:外語每日一詞/2024年/11月19日]] # [[:Wiktionary:每日一詞/2024年/11月18日]] # [[:Wiktionary:每日一詞/2024年/11月17日]] # [[:Wiktionary:外語每日一詞/2024年/11月18日]] # [[:Wiktionary:外語每日一詞/2024年/11月17日]] # [[:Wiktionary:每日一詞/2024年/11月14日]] # [[:Wiktionary:每日一詞/2024年/11月15日]] # [[:Wiktionary:外語每日一詞/2024年/11月16日]] # [[:Wiktionary:外語每日一詞/2024年/11月14日]] # [[:Wiktionary:外語每日一詞/2024年/11月13日]] # [[:Wiktionary:外語每日一詞/2024年/11月12日]] # [[:Wiktionary:外語每日一詞/2024年/11月15日]] # [[:Wiktionary:每日一詞/2024年/11月13日]] # [[:Wiktionary:外語每日一詞/2024年/11月8日]] # [[:Wiktionary:外語每日一詞/2024年/11月11日]] # [[:Wiktionary:每日一詞/2024年/11月11日]] # [[:Wiktionary:每日一詞/2024年/11月12日]] # [[:Wiktionary:每日一詞/2024年/11月16日]] # [[:Wiktionary:每日一詞/2024年/11月9日]] # [[:Wiktionary:每日一詞/2024年/11月10日]] # [[:Wiktionary:每日一詞/2024年/11月8日]] # [[:Wiktionary:外語每日一詞/2024年/11月9日]] # [[:Wiktionary:外語每日一詞/2024年/11月7日]] # [[:Wiktionary:外語每日一詞/2024年/11月4日]] # [[:Wiktionary:外語每日一詞/2024年/11月6日]] # [[:Wiktionary:每日一詞/2024年/11月7日]] # [[:Wiktionary:外語每日一詞/2024年/11月3日]] # [[:Wiktionary:每日一詞/2024年/11月4日]] # [[:Wiktionary:每日一詞/2024年/11月5日]] # [[:Wiktionary:每日一詞/2024年/11月2日]] # [[:Wiktionary:每日一詞/2024年/11月3日]] # [[:Wiktionary:每日一詞/2024年/10月31日]] # [[:Wiktionary:每日一詞/2024年/11月1日]] # [[:Wiktionary:外語每日一詞/2024年/11月1日]] # [[:Wiktionary:外語每日一詞/2024年/11月10日]] # [[:Wiktionary:外語每日一詞/2024年/10月31日]] # [[:Wiktionary:外語每日一詞/2024年/10月30日]] # [[:Wiktionary:外語每日一詞/2024年/10月29日]] # [[:Wiktionary:每日一詞/2024年/10月30日]] # [[:Wiktionary:每日一詞/2024年/10月29日]] # [[:Wiktionary:每日一詞/2024年/10月28日]] # [[:Wiktionary:外語每日一詞/2024年/11月5日]] # [[:Wiktionary:外語每日一詞/2024年/10月28日]] # [[:Wiktionary:每日一詞/2024年/11月6日]] # [[:Wiktionary:每日一詞/2024年/10月27日]] # [[:Wiktionary:每日一詞/2024年/10月26日]] # [[:Wiktionary:每日一詞/2024年/10月25日]] # [[:Wiktionary:外語每日一詞/2024年/10月27日]] # [[:Wiktionary:每日一詞/2024年/10月24日]] # [[:Wiktionary:外語每日一詞/2024年/10月26日]] # [[:Wiktionary:外語每日一詞/2024年/11月2日]] # [[:Wiktionary:每日一詞/2024年/10月23日]] # [[:Wiktionary:每日一詞/2024年/10月22日]] # [[:Wiktionary:每日一詞/2024年/10月21日]] # [[:Wiktionary:每日一詞/2024年/10月20日]] # [[:Wiktionary:每日一詞/2024年/10月19日]] # [[:Wiktionary:外語每日一詞/2024年/10月23日]] # [[:Wiktionary:外語每日一詞/2024年/10月22日]] # [[:Wiktionary:外語每日一詞/2024年/10月25日]] # [[:Wiktionary:每日一詞/2024年/10月18日]] # [[:Wiktionary:每日一詞/2024年/10月17日]] # [[:Wiktionary:每日一詞/2024年/10月16日]] # [[:Wiktionary:每日一詞/2024年/10月15日]] # [[:Wiktionary:每日一詞/2024年/10月14日]] # [[:Wiktionary:每日一詞/2024年/10月13日]] # [[:Wiktionary:每日一詞/2024年/10月12日]] # [[:Wiktionary:每日一詞/2024年/10月11日]] # [[:Wiktionary:外語每日一詞/2024年/10月21日]] # [[:Wiktionary:每日一詞/2024年/10月10日]] # [[:Wiktionary:每日一詞/2024年/10月9日]] # [[:Wiktionary:每日一詞/2024年/10月8日]] # [[:Wiktionary:每日一詞/2024年/10月7日]] # [[:Wiktionary:每日一詞/2024年/10月6日]] # [[:Wiktionary:外語每日一詞/2024年/10月24日]] # [[:Wiktionary:外語每日一詞/2024年/10月20日]] # [[:Wiktionary:外語每日一詞/2024年/10月18日]] # [[:Wiktionary:外語每日一詞/2024年/10月16日]] # [[:Wiktionary:外語每日一詞/2024年/10月15日]] # [[:Wiktionary:外語每日一詞/2024年/10月1日]] # [[:Wiktionary:每日一詞/2024年/9月30日]] # [[:Wiktionary:每日一詞/2024年/10月1日]] # [[:Wiktionary:每日一詞/2024年/9月29日]] # [[:Wiktionary:外語每日一詞/2024年/10月14日]] # [[:Wiktionary:每日一詞/2024年/9月28日]] # [[:Wiktionary:每日一詞/2024年/9月27日]] # [[:Wiktionary:外語每日一詞/2024年/10月19日]] # [[:Wiktionary:外語每日一詞/2024年/10月17日]] # [[:Wiktionary:外語每日一詞/2024年/10月13日]] # [[:Wiktionary:外語每日一詞/2024年/10月12日]] # [[:Wiktionary:外語每日一詞/2024年/10月11日]] # [[:Wiktionary:外語每日一詞/2024年/10月10日]] # [[:Wiktionary:每日一詞/2024年/12月26日]] # [[:Wiktionary:外語每日一詞/2024年/12月30日]] # [[:Wiktionary:外語每日一詞/2024年/10月8日]] # [[:Wiktionary:每日一詞/2024年/10月5日]] # [[:Wiktionary:外語每日一詞/2024年/10月7日]] # [[:Wiktionary:每日一詞/2024年/10月4日]] # [[:Wiktionary:外語每日一詞/2024年/10月6日]] # [[:Wiktionary:每日一詞/2024年/10月2日]] # [[:Wiktionary:外語每日一詞/2024年/10月5日]] # [[:Wiktionary:外語每日一詞/2024年/10月4日]] # [[:Wiktionary:外語每日一詞/2024年/9月30日]] # [[:Wiktionary:外語每日一詞/2024年/10月9日]] # [[:Wiktionary:外語每日一詞/2024年/9月29日]] # [[:Wiktionary:外語每日一詞/2024年/9月28日]] # [[:Wiktionary:外語每日一詞/2024年/9月26日]] # [[:Wiktionary:外語每日一詞/2024年/10月3日]] # [[:Wiktionary:外語每日一詞/2024年/9月25日]] # [[:Wiktionary:外語每日一詞/2024年/9月24日]] # [[:Wiktionary:每日一詞/2024年/9月26日]] # [[:Wiktionary:外語每日一詞/2024年/9月23日]] # [[:Wiktionary:每日一詞/2024年/9月25日]] # [[:Wiktionary:每日一詞/2024年/9月24日]] # [[:Wiktionary:外語每日一詞/2024年/9月22日]] # [[:Wiktionary:每日一詞/2024年/10月3日]] # [[:Wiktionary:外語每日一詞/2024年/9月21日]] # [[:Wiktionary:外語每日一詞/2024年/10月2日]] # [[:Wiktionary:外語每日一詞/2024年/9月20日]] # [[:Wiktionary:外語每日一詞/2024年/9月27日]] # [[:Wiktionary:外語每日一詞/2024年/9月19日]] # [[:Wiktionary:外語每日一詞/2024年/9月18日]] # [[:Wiktionary:外語每日一詞/2024年/9月17日]] # [[:Wiktionary:每日一詞/2024年/9月23日]] # [[:Wiktionary:外語每日一詞/2024年/9月16日]] # [[:Wiktionary:外語每日一詞/2024年/9月15日]] # [[:Wiktionary:每日一詞/2024年/9月22日]] # [[:Wiktionary:每日一詞/2024年/9月21日]] # [[:Wiktionary:每日一詞/2024年/9月20日]] # [[:Wiktionary:外語每日一詞/2024年/9月14日]] # [[:Wiktionary:每日一詞/2024年/9月19日]] # [[:Wiktionary:外語每日一詞/2024年/9月13日]] # [[:Wiktionary:外語每日一詞/2024年/9月12日]] # [[:Wiktionary:每日一詞/2024年/9月18日]] # [[:Wiktionary:每日一詞/2024年/9月17日]] # [[:Wiktionary:每日一詞/2024年/9月16日]] # [[:Wiktionary:外語每日一詞/2024年/9月11日]] # [[:Wiktionary:外語每日一詞/2024年/9月10日]] # [[:Wiktionary:每日一詞/2024年/9月15日]] # [[:Wiktionary:每日一詞/2024年/9月14日]] # [[:Wiktionary:外語每日一詞/2024年/9月9日]] # [[:Wiktionary:外語每日一詞/2024年/9月8日]] # [[:Wiktionary:外語每日一詞/2024年/8月16日]] # [[:Wiktionary:每日一詞/2024年/9月13日]] # [[:Wiktionary:每日一詞/2024年/9月12日]] # [[:Wiktionary:外語每日一詞/2024年/9月7日]] # [[:Wiktionary:外語每日一詞/2024年/9月6日]] # [[:Wiktionary:每日一詞/2024年/9月11日]] # [[:Wiktionary:每日一詞/2024年/9月10日]] # [[:Wiktionary:每日一詞/2024年/9月9日]] # [[:Wiktionary:外語每日一詞/2024年/9月5日]] # [[:Wiktionary:外語每日一詞/2024年/9月4日]] # [[:Wiktionary:外語每日一詞/2024年/9月1日]] # [[:Wiktionary:外語每日一詞/2024年/9月3日]] # [[:Wiktionary:外語每日一詞/2024年/8月14日]] # [[:Wiktionary:外語每日一詞/2024年/8月13日]] # [[:Wiktionary:每日一詞/2024年/9月8日]] # [[:Wiktionary:每日一詞/2024年/9月7日]] # [[:Wiktionary:每日一詞/2024年/9月6日]] # [[:Wiktionary:每日一詞/2024年/9月5日]] # [[:Wiktionary:每日一詞/2024年/9月4日]] # [[:Wiktionary:每日一詞/2024年/9月3日]] # [[:Wiktionary:外語每日一詞/2024年/8月12日]] # [[:Wiktionary:外語每日一詞/2024年/8月11日]] # [[:Wiktionary:外語每日一詞/2024年/8月15日]] # [[:Wiktionary:每日一詞/2024年/9月2日]] # [[:Wiktionary:外語每日一詞/2024年/8月10日]] # [[:Wiktionary:每日一詞/2024年/8月7日]] # [[:Wiktionary:每日一詞/2024年/9月1日]] # [[:Wiktionary:每日一詞/2024年/8月5日]] # [[:Wiktionary:外語每日一詞/2024年/8月9日]] # [[:Wiktionary:外語每日一詞/2024年/8月8日]] # [[:Wiktionary:外語每日一詞/2024年/8月7日]] # [[:Wiktionary:外語每日一詞/2024年/8月6日]] # [[:Wiktionary:外語每日一詞/2024年/8月5日]] # [[:Wiktionary:外語每日一詞/2024年/8月4日]] # [[:Wiktionary:外語每日一詞/2024年/8月3日]] # [[:Wiktionary:每日一詞/2024年/8月6日]] # [[:Wiktionary:每日一詞/2024年/8月4日]] # [[:Wiktionary:每日一詞/2024年/8月3日]] # [[:Wiktionary:每日一詞/2024年/8月2日]] # [[:Wiktionary:外語每日一詞/2024年/8月2日]] # [[:Wiktionary:每日一詞/2024年/8月1日]] # [[:Wiktionary:外語每日一詞/2024年/8月1日]] # [[:Wiktionary:每日一詞/2024年/8月31日]] # [[:Wiktionary:外語每日一詞/2024年/8月31日]] # [[:Wiktionary:每日一詞/2024年/8月30日]] # [[:Wiktionary:每日一詞/2024年/8月29日]] # [[:Wiktionary:外語每日一詞/2024年/8月30日]] # [[:Wiktionary:外語每日一詞/2024年/8月29日]] # [[:Wiktionary:外語每日一詞/2024年/8月28日]] # [[:Wiktionary:外語每日一詞/2024年/8月27日]] # [[:Wiktionary:外語每日一詞/2024年/8月26日]] # [[:Wiktionary:每日一詞/2024年/8月28日]] # [[:Wiktionary:外語每日一詞/2024年/8月25日]] # [[:Wiktionary:每日一詞/2024年/8月27日]] # [[:Wiktionary:每日一詞/2024年/8月26日]] # [[:Wiktionary:每日一詞/2024年/8月25日]] # [[:Wiktionary:每日一詞/2024年/8月24日]] # [[:Wiktionary:每日一詞/2024年/8月23日]] # [[:Wiktionary:外語每日一詞/2024年/8月24日]] # [[:Wiktionary:每日一詞/2024年/8月22日]] # [[:Wiktionary:每日一詞/2024年/8月21日]] # [[:Wiktionary:每日一詞/2024年/8月20日]] # [[:Wiktionary:外語每日一詞/2024年/8月23日]] # [[:Wiktionary:外語每日一詞/2024年/8月22日]] # [[:Wiktionary:每日一詞/2024年/8月19日]] # [[:Wiktionary:外語每日一詞/2024年/8月21日]] # [[:Wiktionary:外語每日一詞/2024年/8月20日]] # [[:Wiktionary:外語每日一詞/2024年/8月19日]] # [[:Wiktionary:每日一詞/2024年/8月18日]] # [[:Wiktionary:每日一詞/2024年/8月17日]] # [[:Wiktionary:外語每日一詞/2024年/8月18日]] # [[:Wiktionary:首頁/分類]] # [[:Wiktionary:外語每日一詞/2024年/8月17日]] # [[:Wiktionary:外語每日一詞/2024年/9月2日]] # [[:Wiktionary:外語每日一詞/預設]] # [[:Wiktionary:每日一詞/2024年/8月16日]] # [[:Wiktionary:每日一詞/2024年/8月15日]] # [[:Wiktionary:每日一詞/2024年/8月14日]] # [[:Wiktionary:每日一詞/2024年/8月13日]] # [[:Wiktionary:每日一詞/2024年/8月12日]] # [[:Wiktionary:每日一詞/2024年/8月11日]] # [[:Wiktionary:每日一詞/2024年/8月10日]] # [[:Wiktionary:每日一詞/2024年/8月9日]] # [[:Wiktionary:每日一詞/預設]] # [[:Wiktionary:每日一詞/2024年/8月8日]] # [[:Wiktionary:首頁/語言入口]] # [[:Wiktionary:首頁/段落]] # [[:Wiktionary:首頁/首頁統計]] # [[:Wiktionary:Picture dictionary/th:prep-place]] # [[:Wiktionary:Picture dictionary/th:head]] # [[:Wiktionary:亞美尼亞語轉寫]] # [[:Wiktionary:蒙古語轉寫]] # [[:Wiktionary:布里亞特語轉寫]] # [[:Wiktionary:科普特語轉寫]] # [[:Wiktionary:藏語轉寫]] # [[:Wiktionary:日語轉寫]] # [[:Wiktionary:馬其頓語轉寫]] # [[:Wiktionary:維吾爾語轉寫]] # [[:Wiktionary:統計/熱詞]] # [[:Wiktionary:坏笑话和删除的胡话/Gates]] # [[:Wiktionary:坏笑话和删除的胡话/Piyush Karia]] # [[:Wiktionary:坏笑话和删除的胡话/甘肃省委组织部]] # [[:Wiktionary:坏笑话和删除的胡话/女性的胸部]] # [[:Wiktionary:坏笑话和删除的胡话/李晓明]] # [[:Wiktionary:坏笑话和删除的胡话/因小失大的出处]] # [[:Wiktionary:坏笑话和删除的胡话/template]] # [[:Wiktionary:新词推荐]] # [[:Wiktionary:佈局解釋/漢語]] # [[:Wiktionary:佈局解釋/日語]] # [[:Wiktionary:创建页面]] # [[:Wiktionary:样式指南]] # [[:Wiktionary:维基词典语言列表]] # [[:Wiktionary:注音索引/ㄓ]] # [[:Wiktionary:WikiProject汉语]] # [[:Wiktionary:茶室/header]] # [[:Wiktionary:注音索引/ㄕ]] # [[:Wiktionary:漢語詞族/于]] # [[:Wiktionary:漢語詞族]] # [[:Wiktionary:漢語詞族/丩]] # [[:Wiktionary:中式英語]] # [[:Wiktionary:洋泾浜英语]] # [[:Wiktionary:维基百科版首页]] # [[:Wiktionary:漢語辭彙索引/冷]] # [[:Wiktionary:德语不规则动词]] # [[:Wiktionary:德语动词]] # [[:Wiktionary:中文数字]] # [[:Wiktionary:漢語辭彙索引/一]] # [[:Wiktionary:漢語辭彙索引/了]] # [[:Wiktionary:现代标准汉语]] # [[:Wiktionary:漢語辭彙索引/就]] # [[:Wiktionary:漢語辭彙索引/欲]] # [[:Wiktionary:漢語辭彙索引/埃]] # [[:Wiktionary:漢語辭彙索引/哀]] # [[:Wiktionary:化學專有名詞 C]] # [[:Wiktionary:化學專有名詞 B]] # [[:Wiktionary:化學專有名詞 A]] # [[:Wiktionary:術語專有名詞]] # [[:Wiktionary:漢字專題/invite]] # [[:Wiktionary:漢字專題/漢字相關資訊參考]] # [[:Wiktionary:漢字專題/編輯參考]] # [[:Wiktionary:漢語發音表記]] # [[:Wiktionary:朝鲜语發音表記]] # [[:Wiktionary:WikiProject 漢字/樣例]] # [[:Wiktionary:Chaguan]] # [[:Wiktionary:諺文索引/ㅎ]] # [[:Wiktionary:諺文索引/ㅍ]] # [[:Wiktionary:諺文索引/ㅌ]] # [[:Wiktionary:諺文索引/ㅋ]] # [[:Wiktionary:諺文索引/ㅊ]] # [[:Wiktionary:諺文索引/ㅈ]] # [[:Wiktionary:諺文索引/ㅇ]] # [[:Wiktionary:諺文索引/ㅅ]] # [[:Wiktionary:諺文索引/ㅂ]] # [[:Wiktionary:諺文索引/ㅁ]] # [[:Wiktionary:諺文索引/ㄹ]] # [[:Wiktionary:諺文索引/ㄷ]] # [[:Wiktionary:諺文索引/ㄴ]] # [[:Wiktionary:諺文索引/ㄱ]] # [[:Wiktionary:粤語常用字]] # [[:Wiktionary:快捷方式]] # [[:Wiktionary:漢語辭彙索引/阿]] # [[:Wiktionary:WikiProject概念分類]] # [[:Wiktionary:快速索引]] # [[:Wiktionary:日语词汇索引]] # [[:Wiktionary:共享资源图像巡视/header]] # [[:Wiktionary:常见问题解答/读者]] # [[:Wiktionary:常见问题解答/项目]] # [[:Wiktionary:antivandaltool.js]] # [[:Wiktionary:其他语言]] # [[:Wiktionary:姊妹项目]] # [[:Wiktionary:动词]] # [[:Wiktionary:形容词]] # [[:Wiktionary:名词]] # [[:Wiktionary:格式]] # [[:Wiktionary:葡萄牙语]] # [[:Wiktionary:英语]] # [[:Wiktionary:意大利语]] # [[:Wiktionary:注音]] # [[:Wiktionary:解释]] # [[:Wiktionary:汉字统一部首表]] # [[:Wiktionary:普通话异读词审音表]] # [[:Wiktionary:越南语基本条目]] # [[:Wiktionary:乌尔都语基本条目]] # [[:Wiktionary:匈牙利语基本条目]] # [[:Wiktionary:芬兰语基本条目]] # [[:Wiktionary:弗里西语基本条目]] # [[:Wiktionary:法罗语基本条目]] # [[:Wiktionary:葡萄牙语基本条目]] # [[:Wiktionary:荷兰语基本条目]] # [[:Wiktionary:波兰语基本条目]] # [[:Wiktionary:斐济语基本条目]] # [[:Wiktionary:所有模板列表/语言]] # [[:Wiktionary:所有模板列表]] # [[:Wiktionary:马尔他语基本条目]] # [[:Wiktionary:希伯来语基本条目]] # [[:Wiktionary:阿拉伯语基本条目]] # [[:Wiktionary:阿姆哈拉语基本条目]] # [[:Wiktionary:斯洛文尼亚语基本条目]] # [[:Wiktionary:斯洛伐克语基本条目]] # [[:Wiktionary:僧伽罗语基本条目]] # [[:Wiktionary:萨丁尼亚语基本条目]] # [[:Wiktionary:梵语基本条目]] # [[:Wiktionary:普什图语基本条目]] # [[:Wiktionary:旁遮普语基本条目]] # [[:Wiktionary:奥塞梯语基本条目]] # [[:Wiktionary:尼泊尔语基本条目]] # [[:Wiktionary:低地德语基本条目]] # [[:Wiktionary:卢森堡语基本条目]] # [[:Wiktionary:康瓦尔语基本条目]] # [[:Wiktionary:印地语基本条目]] # [[:Wiktionary:马恩语基本条目]] # [[:Wiktionary:盖尔语基本条目]] # [[:Wiktionary:爱尔兰语基本条目]] # [[:Wiktionary:法语基本条目]] # [[:Wiktionary:波斯语基本条目]] # [[:Wiktionary:威尔士语基本条目]] # [[:Wiktionary:布列塔尼语基本条目]] # [[:Wiktionary:孟加拉语基本条目]] # [[:Wiktionary:阿萨姆语基本条目]] # [[:Wiktionary:世界语基本条目]] # [[:Wiktionary:伊多语基本条目]] # [[:Wiktionary:道本语基本条目]] # [[:Wiktionary:乌克兰语基本条目]] # [[:Wiktionary:瑞典语基本条目]] # [[:Wiktionary:塞尔维亚语基本条目]] # [[:Wiktionary:西西里语基本条目]] # [[:Wiktionary:俄语基本条目]] # [[:Wiktionary:罗马尼亚语基本条目]] # [[:Wiktionary:挪威语基本条目]] # [[:Wiktionary:新挪威语基本条目]] # [[:Wiktionary:拉脱维亚语基本条目]] # [[:Wiktionary:立陶宛语基本条目]] # [[:Wiktionary:拉丁语基本条目]] # [[:Wiktionary:意大利语基本条目]] # [[:Wiktionary:克罗地亚语基本条目]] # [[:Wiktionary:爱沙尼亚语基本条目]] # [[:Wiktionary:西班牙语基本条目]] # [[:Wiktionary:英语基本条目]] # [[:Wiktionary:德语基本条目]] # [[:Wiktionary:丹麦语基本条目]] # [[:Wiktionary:捷克语基本条目]] # [[:Wiktionary:科西嘉语基本条目]] # [[:Wiktionary:加泰兰语基本条目]] # [[:Wiktionary:保加利亚语基本条目]] # [[:Wiktionary:南非语基本条目]] # [[:Wiktionary:冰岛语基本条目]] # [[:Wiktionary:GNU自由文档许可证文本/非正式翻译]] # [[:Wiktionary:专题/歇后语]] # [[:Wiktionary:专题/成语]] # [[:Wiktionary:度量衡]] # [[:Wiktionary:Block log]] # [[:Wiktionary:藏语词汇索引/བ་]] # [[:Wiktionary:藏语词汇索引]] # [[:Wiktionary:印地语汇索引]] # [[:Wiktionary:法语规则动词变位表]] # [[:Wiktionary:法语]] # [[:Wiktionary:汉语]] # [[:Wiktionary:消息定制]] # [[:Wiktionary:MediaWiki索引]] # [[:Wiktionary:Protection log]] # [[:Wiktionary:删除纪录]] # [[:Wiktionary:图像标记]] # [[:Wiktionary:工具]] # [[:Wiktionary:漢字專題]] # [[:Wiktionary:WikiProject/模板]] # [[:Wiktionary:词典术语]] # [[:Wiktionary:新词新语]] # [[:Wiktionary:上载纪录]] == Template == # [[:Template:Zgh-head]] # [[:Template:Zen-head]] # [[:Template:Tzm-head]] # [[:Template:Tmh-head]] # [[:Template:Tez-head]] # [[:Template:Swn-head]] # [[:Template:Sjs-head]] # [[:Template:Siz-head]] # [[:Template:Shy-head]] # [[:Template:Shi-head]] # [[:Template:Sds-head]] # [[:Template:Rif-head]] # [[:Template:Mzb-head]] # [[:Template:Kab-head]] # [[:Template:Jbn-head]] # [[:Template:Gnc-head]] # [[:Template:Gho-head]] # [[:Template:Gha-head]] # [[:Template:Cnu-head]] # [[:Template:Ber-fog-head]] # [[:Template:Auj-head]] # [[:Template:Gho-conj]] # [[:Template:Rif-conj]] # [[:Template:Name respelling]] # [[:Template:R:Vasmer:1923]] # [[:Template:Table:continents/ar]] # [[:Template:R:mk:SDA]] # [[:Template:R:blc:Nater:2022]] # [[:Template:Table:colors/lbe]] # [[:Template:R:lbe:Gadzhiev]] # [[:Template:R:lbe:Digiev]] # [[:Template:R:zh:academy]] # [[:Template:R:zh:idioms]] # [[:Template:R:alu:Naitoro]] # [[:Template:R:apw:WAED]] # [[:Template:R:bol:Gimba2009]] # [[:Template:R:arp:Cowell & Moss:2008]] # [[:Template:R:pmw:Callaghan:1984]] # [[:Template:R:nsq:Callaghan:1987]] # [[:Template:R:yao:Sanderson:1922]] # [[:Template:R:yao:Hetherwick:1902]] # [[:Template:R:shi:Tunirt]] # [[:Template:R:QAS2012]] # [[:Template:R:qfa-yen:Fortescue–Vajda:2022]] # [[:Template:R:kab:Guerrab:2014]] # [[:Template:R:lmw:Callaghan:1965]] # [[:Template:List:countries in Europe/bhh]] # [[:Template:R:poz-oce:Tyron & Hackman:1983]] # [[:Template:Table:suits/sa]] # [[:Template:Table:hijri calendar/fa]] # [[:Template:Table:hijri calendar/ja]] # [[:Template:Table:hijri calendar/hi]] # [[:Template:Table:musical note values/ja]] # [[:Template:Table:relative dates/ja]] # [[:Template:Table:continents/th]] # [[:Template:Table:continents/ta]] # [[:Template:Table:continents/syl]] # [[:Template:Table:continents/km]] # [[:Template:Table:continents/ka]] # [[:Template:Table:continents/id]] # [[:Template:Table:continents/he]] # [[:Template:Table:continents/bg]] # [[:Template:Table:continents/ajp]] # [[:Template:Table:continents/aii]] # [[:Template:Gadget tag]] # [[:Template:List:blues/pt]] # [[:Template:R:mul:Hong:2024]] # [[:Template:R:kwd:Keesing:1975]] # [[:Template:Talk quote inline]] # [[:Template:R:slr:Ölmez]] # [[:Template:R:pl:Śliwiński:2016]] # [[:Template:U:en:NNES-and-children]] # [[:Template:R:pac:Watson]] # [[:Template:Feminist form of]] # [[:Template:User:Public class/Zh-forms]] # [[:Template:R:cst:Colós-Guzman-Harrington]] # [[:Template:Ms-pr]] # [[:Template:R:fo:Jacobsen:2021]] # [[:Template:Az-inf-p]] # [[:Template:Az-IPA]] # [[:Template:R:Century]] # [[:Template:Huu-class]] # [[:Template:R:cel:EDPC/pageurl]] # [[:Template:Kw-sgl]] # [[:Template:Apheretic form of]] # [[:Template:R:lt:VŽ]] # [[:Template:Wortschatz Leipzig frequency list header]] # [[:Template:Search box]] # [[:Template:Flatlist]] # [[:Template:U:ru:aspectual stress variant]] # [[:Template:R:sva:Saghliani:2016]] # [[:Template:List:countries in Asia/uz]] # [[:Template:List:countries in North America/de]] # [[:Template:List:countries in South America/de]] # [[:Template:R:ssb:Akamine:2003]] # [[:Template:R:nun:Sun:2005]] # [[:Template:Demo2c]] # [[:Template:R:liv:LDW]] # [[:Template:R:ssf:Niida:2018]] # [[:Template:Table:relative dates/it]] # [[:Template:Table:days of the week/enm]] # [[:Template:List:Cereals/en]] # [[:Template:R:sij:Bradshaw:2025]] # [[:Template:R:suc:Bulalang:2024]] # [[:Template:List:constituent countries of the United Kingdom/vi]] # [[:Template:List:countries in South America/ko]] # [[:Template:R:bkz:Andersen:2014]] # [[:Template:R:nmb:Fox:1979]] # [[:Template:R:lzl:Crowley:2006]] # [[:Template:Wal-prop]] # [[:Template:List:continents/wal]] # [[:Template:List:countries in Europe/wal]] # [[:Template:R:Key & Key 1953]] # [[:Template:Mong-decl]] # [[:Template:Xng-pron]] # [[:Template:RQ:Shakespeare Henry 4-1]] # [[:Template:Etystub]] # [[:Template:RQ:Webster Malfi]] # [[:Template:RQ:Shakespeare As You Like It]] # [[:Template:Also/urt]] # [[:Template:Hnn-adv]] # [[:Template:Hil-adv]] # [[:Template:Eggcorn of]] # [[:Template:R:tai:PPT]] # [[:Template:RQ:cather Song of the Lark]] # [[:Template:Trans-top-see]] # [[:Template:Piecewise doublet]] # [[:Template:Lt-noun-m-us-2]] # [[:Template:Interproject-box]] # [[:Template:Fro-conj-frire]] # [[:Template:Jpx-hcj-kanjitab]] # [[:Template:Auto cat/test]] # [[:Template:RQ:amf:Haalin Mallano]] # [[:Template:Fo-decl-noun-n4]] # [[:Template:Fo-decl-noun-m15-p]] # [[:Template:Sh-part form]] # [[:Template:Mn-decl-noun1]] # [[:Template:Xal-verb]] # [[:Template:Mn-verb-form]] # [[:Template:Mn-vh]] # [[:Template:Mn-suffix]] # [[:Template:Izh-decl/kärpäin]] # [[:Template:Ht-ety-z]] # [[:Template:Ba-prondecl-base]] # [[:Template:Mt-conj/I-ae-oo]] # [[:Template:Kzg-kanji]] # [[:Template:Okn-head]] # [[:Template:Orv-decl-noun-u]] # [[:Template:Ofs-conj-wk2]] # [[:Template:Paper-A]] # [[:Template:Paper sizes]] # [[:Template:ISO 216]] # [[:Template:List:seasons/zh]] # [[:Template:List:seasons/vo]] # [[:Template:List:seasons/ug]] # [[:Template:List:leptons/es]] # [[:Template:List:continents/tr]] # [[:Template:List:continents/tl/Tglg]] # [[:Template:List:continents/tl/Latn]] # [[:Template:List:continents/sv]] # [[:Template:List:continents/scn]] # [[:Template:List:continents/rsk]] # [[:Template:List:continents/ro]] # [[:Template:List:continents/pt]] # [[:Template:List:continents/pl]] # [[:Template:List:continents/or]] # [[:Template:List:continents/nn]] # [[:Template:List:continents/nb]] # [[:Template:List:continents/my]] # [[:Template:List:continents/mt]] # [[:Template:List:continents/ms/Arab]] # [[:Template:List:continents/ms]] # [[:Template:List:continents/ml]] # [[:Template:List:continents/mhr]] # [[:Template:List:continents/lt]] # [[:Template:List:continents/kw]] # [[:Template:List:continents/ja/landmasses]] # [[:Template:List:continents/ja/continents]] # [[:Template:List:continents/it]] # [[:Template:List:continents/is]] # [[:Template:List:continents/io]] # [[:Template:List:continents/id]] # [[:Template:List:continents/hu]] # [[:Template:List:continents/hrx]] # [[:Template:List:continents/hi]] # [[:Template:List:continents/fur]] # [[:Template:List:continents/fr]] # [[:Template:List:continents/en]] # [[:Template:List:continents/de]] # [[:Template:List:continents/cy]] # [[:Template:List:continents/cs]] # [[:Template:List:continents/bg]] # [[:Template:List:continents/az/Latn]] # [[:Template:List:continents/an]] # [[:Template:R:te:TVK]] # [[:Template:List:Bengali script letters/bn]] # [[:Template:List:Gregorian calendar months/lb]] # [[:Template:List:Gregorian calendar months/hu]] # [[:Template:List:Gregorian calendar months/de]] # [[:Template:List:terms for fingers/yrl]] # [[:Template:R:ine:IEL]] # [[:Template:R:et:ETY]] # [[:Template:Gem-prefix]] # [[:Template:La-suffix-verb]] # [[:Template:R:eu:EDB]] # [[:Template:Latin script letter names/ko]] # [[:Template:RQ:X]] # [[:Template:Mns-nor-conj-table-reg]] # [[:Template:R:svm:Pangloss]] # [[:Template:R:wied 1841]] # [[:Template:R:say 1823]] # [[:Template:Pejorative of]] # [[:Template:Is-rhymelink]] # [[:Template:Is-rhymesee]] # [[:Template:Osx-decl-noun]] # [[:Template:R:ber:Kossmann 2013]] # [[:Template:Ja-non-lexical-pitch]] # [[:Template:Sla-conj]] # [[:Template:R:pl:Siarkowski:1891]] # [[:Template:Rap-personal pronouns]] # [[:Template:R:pl:Kolberg:1877]] # [[:Template:Tg-numeral]] # [[:Template:Tr-IPA]] # [[:Template:R:tg:Vozhaju]] # [[:Template:R:en:Ying-Han Da Cidian 2]] # [[:Template:Fa-xlit]] # [[:Template:R:ja:Xinshiji Ri-Han Shuangjie Da Cidian]] # [[:Template:R:th:Tai Han Cidian 1990]] # [[:Template:R:egy:TLA]] # [[:Template:R:fa:Bosiyu Hanyu Cidian 1981]] # [[:Template:Nd-adj]] # [[:Template:Nr-adj]] # [[:Template:R:loa:van Baarda:1904]] # [[:Template:List:provinces of Algeria/en]] # [[:Template:Also/aao]] # [[:Template:R:ii:LiMa1981]] # [[:Template:R:vi:TỪ ĐIỄN TỪ HÁN VIỆT]] # [[:Template:Tt-conj-c]] # [[:Template:Tt-conj-v]] # [[:Template:Tt-conj-head]] # [[:Template:R:NHK2016]] # [[:Template:List:elementary particles/es]] # [[:Template:Sw-variant]] # [[:Template:Sga-suffix]] # [[:Template:Mt-suffix]] # [[:Template:Tsg-pr]] # [[:Template:Fr-conj-copier-coller]] # [[:Template:R:ar:Alaboyu Hanyu Cidian 2008]] # [[:Template:R:te:G. N. Reddy 1979]] # [[:Template:Pbg-conj]] # [[:Template:Quote-qualifier]] # [[:Template:R:fa:Bosiyu Hanyu Cidian 1997]] # [[:Template:R:ru:Xinshidai E-Han Xiangjie Da Cidian]] # [[:Template:R:ru:Xinshidai Da E-Han Cidian]] # [[:Template:R:uk:Xinbian Wukelanyu Hanyu Cidian]] # [[:Template:Bbl-IPA]] # [[:Template:Mhr-num]] # [[:Template:R:pl:Sławski]] # [[:Template:R:cdo:Feng 1998]] # [[:Template:RQ:Kim Dung AHXD]] # [[:Template:Okn-kanji]] # [[:Template:Tkn-kanji]] # [[:Template:Picdic/vi/Gesicht]] # [[:Template:La-gerund]] # [[:Template:List:provinces of Laos/lo]] # [[:Template:R:cs:Slovník univerbizátu]] # [[:Template:R:zlw-osk:Rocchi]] # [[:Template:Box]] # [[:Template:Zh-Religion-syn]] # [[:Template:Zle-ono-decl-noun-o-n]] # [[:Template:Tcy-noun]] # [[:Template:R:scn:Traina]] # [[:Template:Bn-formal personal pronoun un]] # [[:Template:R:si:Carter]] # [[:Template:R:cs:Naše přijmení:2019]] # [[:Template:User sl-3]] # [[:Template:R:pl:SgOWiM]] # [[:Template:Uk-1928 superseded spelling of]] # [[:Template:R:ml:Warrier]] # [[:Template:Kn-personal pronouns]] # [[:Template:Ml-personal pronouns]] # [[:Template:R:sq:Svane:1992]] # [[:Template:Hrx-adj]] # [[:Template:Fro-decl-adj-f]] # [[:Template:Eu-personal pronouns/table]] # [[:Template:Fi-decl-kuollut-risti]] # [[:Template:Oc-conj-èsser]] # [[:Template:Oc-conj-viure]] # [[:Template:R:zh:Xiandai Hanyu Fangyan Da Cidian]] # [[:Template:Ryu-pron]] # [[:Template:Wp sup]] # [[:Template:Also/abq]] # [[:Template:Filter-avoidance spelling of]] # [[:Template:Sw-conj/table-intrans]] # [[:Template:Hnn-pr]] # [[:Template:Hnn-head]] # [[:Template:U:de:unadapted]] # [[:Template:Yi-def-art]] # [[:Template:R:ja:YHS]] # [[:Template:R:Gogen Yurai Jiten]] # [[:Template:Ka-decl-adj-auto]] # [[:Template:R:zh:CiYuan3]] # [[:Template:RQ:RFC]] # [[:Template:Mdh-pr]] # [[:Template:U:ca:deprecated use of diacritic]] # [[:Template:Ja-number-counter:つ]] # [[:Template:Mwr-adv]] # [[:Template:Link/sl-tonal]] # [[:Template:Also/કતર]] # [[:Template:R:eo:ReVo]] # [[:Template:R:eo:PIV 2020]] # [[:Template:Troponyms]] # [[:Template:Yue-etym-clip-en]] # [[:Template:Ja-number-counter:分]] # [[:Template:Tl-letter-def]] # [[:Template:Yur-verb]] # [[:Template:Zlw-opl-adj]] # [[:Template:R:cs:Machek:1954]] # [[:Template:Protected page text/template]] # [[:Template:Mhr-adj]] # [[:Template:R:tr:MBTS]] # [[:Template:R:av:Saidov:1967]] # [[:Template:Nb-former-context]] # [[:Template:Vep-decl-kuva]] # [[:Template:Vep-decl-kivi]] # [[:Template:Vep-decl-vezi]] # [[:Template:Izh-decl/kevät]] # [[:Template:Hrx-ndecl-n]] # [[:Template:Hrx-ndecl-f]] # [[:Template:Hrx-decl-cell]] # [[:Template:Hrx-ndecl-blank-full]] # [[:Template:Hrx-ndecl-m]] # [[:Template:Table:USA/lo]] # [[:Template:De-decl-dieser]] # [[:Template:Pi-sc-core]] # [[:Template:Mch-variant]] # [[:Template:Izh-conj/ampua]] # [[:Template:Klj-dial]] # [[:Template:Ur-conj-y]] # [[:Template:Ur-conj-c]] # [[:Template:Ur-conj-head]] # [[:Template:Ur-conj-simp]] # [[:Template:Ur-conj-no-aspect]] # [[:Template:Fi-stats-given-name/num]] # [[:Template:He-ot-lo-sofit]] # [[:Template:He-dagesh-khazak]] # [[:Template:Niqud]] # [[:Template:He-dagesh-kal]] # [[:Template:He-dotless-shin]] # [[:Template:He-conj-pi'el/ע״י]] # [[:Template:Fo-decl-noun-f30]] # [[:Template:Is-decl-noun-dóttir]] # [[:Template:Fi-conj-katketa]] # [[:Template:Fi-conj-juosta]] # [[:Template:Ojp-pron-verb-2-2]] # [[:Template:外語每日一詞]] # [[:Template:每日一詞]] # [[:Template:U:hu:preferred-verbal-prefix]] # [[:Template:Ja-from-kaminidan-ext]] # [[:Template:Ja-from-kaminidan]] # [[:Template:Also/atsi]] # [[:Template:Nv-theme-header]] # [[:Template:Nv-theme-row]] # [[:Template:R:mww:Heimbach]] # [[:Template:Nv-positional-verbs]] # [[:Template:Nv-classificatory-verbs]] # [[:Template:Nv-pos-vowel]] # [[:Template:R:lo:Kerr]] # [[:Template:RQ:Gosenshu]] # [[:Template:Mdash]] # [[:Template:List:Cuneiform letters/peo]] # [[:Template:Nv-possessive pronouns]] # [[:Template:Table:suits/gl]] # [[:Template:R:JC03]] # [[:Template:R:sq:Jungg:1895]] # [[:Template:R:ABC]] # [[:Template:R:zh:Hanyu Wailaici Cidian]] # [[:Template:R:Yoji Jukugo o Shiru Jiten]] # [[:Template:R:Jitsu]] # [[:Template:Mdh-adj]] # [[:Template:R:Daijirin4]] # [[:Template:Table:chess pieces/aii]] # [[:Template:R:be:Skarnik]] # [[:Template:Ga-mut-cons]] # [[:Template:Table:tastes/ja]] # [[:Template:List:senses/ja]] # [[:Template:R:nan-hbl:TLKKS]] # [[:Template:Ko-etym-jamo]] # [[:Template:Glink/ja]] # [[:Template:R:iir:ID]] # [[:Template:Tyz]] # [[:Template:List:states of Brazil/pt]] # [[:Template:Fro-conj-corre]] # [[:Template:Label language-specific data documentation]] # [[:Template:Xug-kanjitab]] # [[:Template:Yoi-kanjitab]] # [[:Template:Tkn-kanjitab]] # [[:Template:Gl-pr]] # [[:Template:Fax-past participle]] # [[:Template:Jam-pron]] # [[:Template:Bar-adverb]] # [[:Template:Mt-hija]] # [[:Template:Mt-infl-personal pronoun]] # [[:Template:Dum-decl-ppron]] # [[:Template:Mt-pronoun]] # [[:Template:Nmy-IPA]] # [[:Template:Ofs-decl-ppron]] # [[:Template:Osx-prep]] # [[:Template:Osx-adv]] # [[:Template:Fo-decl-noun-f17]] # [[:Template:Fo-decl-noun-f18]] # [[:Template:Fo-decl-noun-f14]] # [[:Template:Is-decl-noun-nátt]] # [[:Template:Non-decl-f-c]] # [[:Template:Fo-decl-interrog-pron]] # [[:Template:Aii-infl-noun-f-mascpl]] # [[:Template:Aii-conj-verb/G-3i]] # [[:Template:Aii-infl-noun-f-ircnstr-irmascpl]] # [[:Template:R:Agham]] # [[:Template:Pra-pron]] # [[:Template:Nv-verbtable-ext]] # [[:Template:Category]] # [[:Template:List:en:here-there-where]] # [[:Template:Fr-card-noun]] # [[:Template:List:compass points/jv]] # [[:Template:Gu-g]] # [[:Template:U:ko:Dongguk Jeong'un]] # [[:Template:R:jpx:ONCOJ]] # [[:Template:Topic cat data submodule documentation]] # [[:Template:Nv-verbtable-full]] # [[:Template:Nv-stem-set-row]] # [[:Template:Nv-stem-set-footer]] # [[:Template:R:DiCanio 2014]] # [[:Template:R:cau:Klimov:1994]] # [[:Template:R:ccs:Klimov:1988]] # [[:Template:Vi-suffix]] # [[:Template:R:pl:WSWO]] # [[:Template:Nv-postpositions-lowtone]] # [[:Template:Santali-digits]] # [[:Template:Nv-personal pronouns]] # [[:Template:R:Georges]] # [[:Template:U:en:Forebears 2014]] # [[:Template:U:en:2010 US Census]] # [[:Template:Nv-pos-lowtone-secondary]] # [[:Template:Mdh-IPA]] # [[:Template:Pam-proper noun]] # [[:Template:War-noun]] # [[:Template:Acw-conj/I-a-u]] # [[:Template:La-suffix-adj]] # [[:Template:Aii-infl-noun-f-ircnstr-q]] # [[:Template:Yrk-numeral]] # [[:Template:Aii-infl-noun-f-vowel]] # [[:Template:Ro-conj-a-iez]] # [[:Template:Ro-conj-a-i]] # [[:Template:Ro-conj-a-hez]] # [[:Template:AutoStat]] # [[:Template:Se-table-ppron]] # [[:Template:Pl-pre-1936]] # [[:Template:List:Chinese calendar months/za]] # [[:Template:R:SWO]] # [[:Template:Pl-conj-ap-impersonal]] # [[:Template:Pl-conj-ai-nąć]] # [[:Template:Nv-pos-hightone]] # [[:Template:Nv-stem-set-header]] # [[:Template:R:cs:Nase rec]] # [[:Template:Grk-mar-adverb]] # [[:Template:Grk-mar-preposition]] # [[:Template:Nv-verbtable]] # [[:Template:Sux-possessive pronouns]] # [[:Template:Ko-new]] # [[:Template:List:continents/te]] # [[:Template:El-nM-ης-2a]] # [[:Template:El-nM-ος-3c]] # [[:Template:R:sjd:Antonova:2021]] # [[:Template:My-verb-set]] # [[:Template:Nod-adj]] # [[:Template:Ky-adv]] # [[:Template:Table:days of the week/dng]] # [[:Template:Lij-conj]] # [[:Template:R:myv:Serebrennikov:1993]] # [[:Template:Jv-krama of]] # [[:Template:Jv-krama inggil of]] # [[:Template:Non-decl-f-in]] # [[:Template:Hcol3]] # [[:Template:Kn-decl-a-epi]] # [[:Template:Vep-decl-homen]] # [[:Template:聯綿詞]] # [[:Template:R:es:DAMER]] # [[:Template:Sw-cl]] # [[:Template:Sw-conj/table-trans]] # [[:Template:Ltg-part]] # [[:Template:Hanja form of-lite]] # [[:Template:Xug-kanji]] # [[:Template:Mvi-kanji]] # [[:Template:Mvi-head]] # [[:Template:Vi-l-lite]] # [[:Template:Han tu form of-lite]] # [[:Template:Rys-readings]] # [[:Template:Rys-kanji]] # [[:Template:Rys-head]] # [[:Template:Yoi-kanji]] # [[:Template:Pl-conj-ai-VII]] # [[:Template:R:jam:majstro.com]] # [[:Template:Fi-adv-dir]] # [[:Template:Sla-decl-pron-hard-dual]] # [[:Template:Sa-suffix]] # [[:Template:Ha-pos]] # [[:Template:R:hy:Orengo:2019]] # [[:Template:Hy-decl-աստված]] # [[:Template:Aii-infl-noun-irp-irs]] # [[:Template:Aii-infl-noun-m-ircnstr]] # [[:Template:Aii-infl-noun-f-vowel-irs]] # [[:Template:Syc-decl-noun-f-vowel-stem]] # [[:Template:Aii-infl-noun-f-vowel-irp-irs]] # [[:Template:Aii-infl-noun-constr-pl]] # [[:Template:R:nan:MacGowan]] # [[:Template:R:Useinov 2007]] # [[:Template:Ja-from-shimonidan-ext]] # [[:Template:Mvi-readings]] # [[:Template:Yoi-readings]] # [[:Template:Xug-head]] # [[:Template:Xug-readings]] # [[:Template:Yrk-noun]] # [[:Template:R:pl:SXVI]] # [[:Template:Aii-infl-noun-m-irfempl]] # [[:Template:List:continents/uk]] # [[:Template:Aii-infl-noun-m-irs]] # [[:Template:Mk-decl-noun-m-сиромав]] # [[:Template:Aii-infl-noun-m-irp]] # [[:Template:Aii-infl-noun-m-ircnstr-irs]] # [[:Template:Hy-noun-ոջ-ներ]] # [[:Template:Tru personal pronouns]] # [[:Template:Aii-infl-noun-f-yod]] # [[:Template:Aii-infl-noun-f]] # [[:Template:Aii-infl-noun-m]] # [[:Template:Aii-infl-noun-m-irv1-irs3-irp]] # [[:Template:Syc-decl-noun]] # [[:Template:L-vertical]] # [[:Template:Aii-infl-noun]] # [[:Template:Xcl-noun-ա]] # [[:Template:R:zle-ono:DND₂]] # [[:Template:Ps-decl-adj-ablaut-addition]] # [[:Template:Informal form of]] # [[:Template:Table:國際象棋棋子/yi]] # [[:Template:Table:國際象棋棋子/fi]] # [[:Template:Table:國際象棋棋子/th]] # [[:Template:Table:國際象棋棋子/gl]] # [[:Template:Table:國際象棋棋子/pt]] # [[:Template:Table:國際象棋棋子/la]] # [[:Template:Table:國際象棋棋子/lv]] # [[:Template:Table:國際象棋棋子/he]] # [[:Template:Table:國際象棋棋子/is]] # [[:Template:Table:國際象棋棋子/fo]] # [[:Template:Table:國際象棋棋子/syc]] # [[:Template:Table:國際象棋棋子/ug]] # [[:Template:Table:國際象棋棋子/gd]] # [[:Template:Table:國際象棋棋子/ga]] # [[:Template:Table:國際象棋棋子/ka]] # [[:Template:Table:國際象棋棋子/hy]] # [[:Template:Table:國際象棋棋子/cy]] # [[:Template:Mqs-numeral]] # [[:Template:Table:gregorian calendar/ta]] # [[:Template:Ja-number-counter:月(つき)]] # [[:Template:Table:gregorian calendar/ml]] # [[:Template:Grk-mar-IPA]] # [[:Template:Xcl-noun-?]] # [[:Template:Vep-decl-ilo]] # [[:Template:Fo-decl-noun-n4-s]] # [[:Template:Non-decl-m-nd]] # [[:Template:Osx-decl-noun-nd]] # [[:Template:Ro-conj-duce]] # [[:Template:Osx-decl-noun-z-n]] # [[:Template:Goh-decl-noun]] # [[:Template:Fo-decl-noun-n13]] # [[:Template:Ru-IPA-manual]] # [[:Template:Tyv-adj]] # [[:Template:R:ca:DCVB]] # [[:Template:R:ca:DNV]] # [[:Template:R:ca:GDLC]] # [[:Template:Fax-noun]] # [[:Template:Fro-conj-moudre]] # [[:Template:Izh-dir-see]] # [[:Template:Syc-adj]] # [[:Template:Vep-decl-sana]] # [[:Template:Gem-decl-noun-i-mf]] # [[:Template:Ge'ez Script numerals]] # [[:Template:Klj-v3]] # [[:Template:Klj-v2]] # [[:Template:Klj-v1]] # [[:Template:Klj-infl-noun-table]] # [[:Template:Klj-infl-noun]] # [[:Template:Klj-variant]] # [[:Template:Language extradata documentation]] # [[:Template:Gez-personal pronouns]] # [[:Template:Osx-decl-noun-a-n1]] # [[:Template:Ryu-r/args]] # [[:Template:Ryu-r/multi]] # [[:Template:Ary-conj-fiʕʕal-yfiʕʕal]] # [[:Template:Krl-proper noun]] # [[:Template:Vep-decl-ma]] # [[:Template:Szl-IPA]] # [[:Template:Fi-infl-compound-numeral-partitive]] # [[:Template:Fi-infl-compound-numeral]] # [[:Template:Az-initialism/v]] # [[:Template:Az-initialism]] # [[:Template:Ms-IPA]] # [[:Template:Et-IPA/old]] # [[:Template:Ur-adj-1]] # [[:Template:Is-decl-einn]] # [[:Template:Ps-decl-adj-2]] # [[:Template:Ps-decl-adj-m-consonant]] # [[:Template:Table:chess pieces/oc]] # [[:Template:Zh-new/der]] # [[:Template:RQ:Bacon Sylva Sylvarum]] # [[:Template:Hu-conj-izzik]] # [[:Template:Fa-poss-egân]] # [[:Template:Table:chess pieces/nl]] # [[:Template:Table:chess pieces/mr]] # [[:Template:Table:chess pieces/ast]] # [[:Template:Table:chess pieces/fa]] # [[:Template:Fa-predicative]] # [[:Template:Fa-pred-c]] # [[:Template:Fa-possessive-unc]] # [[:Template:Fa-poss-c-unc]] # [[:Template:Fa-basic-unc]] # [[:Template:Fa-basic-c-unc]] # [[:Template:Fa-decl-c-unc]] # [[:Template:Ro-conj-scrie]] # [[:Template:Fi-infinitive of]] # [[:Template:IPA link]] # [[:Template:R:ine:CIEL]] # [[:Template:Sd-adj]] # [[:Template:RQ:Ibn al-ʿawwām]] # [[:Template:Var]] # [[:Template:Table:hijri calendar/zh]] # [[:Template:R:szl:SGŚ]] # [[:Template:Es-conj-ír]] # [[:Template:R:DGLO]] # [[:Template:Ne-verb set]] # [[:Template:R:gl:DDGM]] # [[:Template:Table:suits/sh]] # [[:Template:Highlight]] # [[:Template:Quoted term]] # [[:Template:Harakat-fa]] # [[:Template:Fo-decl-noun-m6-s]] # [[:Template:Ary-personal pronouns]] # [[:Template:Table:chess pieces/eo]] # [[:Template:Cu-decl-num5]] # [[:Template:Orv-decl-adj-hard]] # [[:Template:Orv-decl-adj]] # [[:Template:Cu-cardinals]] # [[:Template:El-nF-ες-2b]] # [[:Template:R:LOGEION]] # [[:Template:Ug-noun-c]] # [[:Template:Acw-rootbox]] # [[:Template:Ur-decl-pronoun]] # [[:Template:Pa-decl-adj]] # [[:Template:Ur-decl-adj-2]] # [[:Template:Ne-z]] # [[:Template:Ne-decl-adj]] # [[:Template:Gu-decl-adj]] # [[:Template:Gu-adj-c]] # [[:Template:Earthly branch]] # [[:Template:List:earthly branches/vi]] # [[:Template:List:camelids/ja]] # [[:Template:List:camelids/en]] # [[:Template:Heavenly stem]] # [[:Template:Fj-personal pronouns]] # [[:Template:Punjabi-digits]] # [[:Template:Gu-noun-m-c]] # [[:Template:Ps-noun-f-ai]] # [[:Template:Nb-verb-comireg]] # [[:Template:Vot-decl-pron/miä]] # [[:Template:Lb-decl-dësen]] # [[:Template:List:basic character strokes/zh]] # [[:Template:Fi-personal pronouns]] # [[:Template:Sjd-adj]] # [[:Template:Cs-decl-noun/čedič]] # [[:Template:Cs-decl-noun/zámek]] # [[:Template:Cs-decl-noun/Václav]] # [[:Template:Cs-decl-noun/vlk]] # [[:Template:Cs-decl-noun/učitel]] # [[:Template:Cs-decl-noun/tuleň]] # [[:Template:Cs-decl-noun/tanec]] # [[:Template:Cs-decl-noun/stroj]] # [[:Template:Cs-decl-noun/starosta]] # [[:Template:Cs-decl-noun/soudce]] # [[:Template:Cs-decl-noun/Robátko]] # [[:Template:Cs-decl-noun/pán]] # [[:Template:Cs-decl-noun/občan]] # [[:Template:Cs-decl-noun/muž]] # [[:Template:Cs-decl-noun/král]] # [[:Template:Cs-decl-noun/kabel]] # [[:Template:Cs-decl-noun/hrad]] # [[:Template:Cs-decl-noun/hodnostář]] # [[:Template:Cs-decl-noun/hnůj]] # [[:Template:Cs-decl-noun/datel]] # [[:Template:Cs-decl-noun/cizinec]] # [[:Template:Cs-decl-noun/Bulhar]] # [[:Template:Cs-decl-noun/bratr]] # [[:Template:Cs-decl-noun/admirál]] # [[:Template:Cs-decl-noun/tuk]] # [[:Template:Ro-ord]] # [[:Template:It-card-inv]] # [[:Template:List:hundreds/gl]] # [[:Template:Ml-verb set]] # [[:Template:Table:chess pieces/ajp]] # [[:Template:Te-verbtable]] # [[:Template:Telugu 3rd person pronouns]] # [[:Template:Ta-conj-auto]] # [[:Template:Ta-decl]] # [[:Template:Tamil-digits]] # [[:Template:Kannada-digits]] # [[:Template:Kn-decl-e-i-ai]] # [[:Template:Malayalam-digits]] # [[:Template:Table:chess pieces/ml]] # [[:Template:Table:gregorian calendar/ar]] # [[:Template:List:Gregorian calendar months/fa/dari]] # [[:Template:Ps-noun-f-o]] # [[:Template:Pnb-noun-m-c]] # [[:Template:Sl-decl-noun-otrok]] # [[:Template:Mai-IPA]] # [[:Template:Mai-noun]] # [[:Template:Hu-conj-alkuszik]] # [[:Template:List:Chinese sexagenary cycle terms/ja]] # [[:Template:U:tr:homograph pronunciation]] # [[:Template:Sexagenary cycle]] # [[:Template:Hu-conj-metsz]] # [[:Template:Table:chess pieces/fy]] # [[:Template:Li-decl-adj]] # [[:Template:Fo-decl-noun-f33-s]] # [[:Template:Nn-verb-comireg]] # [[:Template:El-nM-ας-2a]] # [[:Template:R:grc:NA28]] # [[:Template:Mt-interjection]] # [[:Template:Buc reading of]] # [[:Template:Km-letter]] # [[:Template:Ky-verb]] # [[:Template:Pi-decl-adj]] # [[:Template:Ur-x]] # [[:Template:Kls-personal pronouns]] # [[:Template:Kls-pronoun]] # [[:Template:Uk-ndecl-manual-pl]] # [[:Template:Ru-acronym of]] # [[:Template:Sgs-noun]] # [[:Template:Ps-noun-m-animate]] # [[:Template:La-praenominal abbreviation of]] # [[:Template:Az-comp/v]] # [[:Template:Az-comp/q]] # [[:Template:Az-comp/k]] # [[:Template:Az-comp/cc]] # [[:Template:Az-comp/c]] # [[:Template:Katharevousa]] # [[:Template:Nominalization of]] # [[:Template:Table:聲調/zh]] # [[:Template:+plural]] # [[:Template:Ko-root of]] # [[:Template:Table:days of the week/sla-pro]] # [[:Template:Osx-decl-noun-n-n]] # [[:Template:Goh-decl-noun-o-f]] # [[:Template:He-verb-conjugation]] # [[:Template:He-conj-table]] # [[:Template:He-adj form of]] # [[:Template:He-adj form]] # [[:Template:Sui personal pronouns]] # [[:Template:List:brain lobes/ja]] # [[:Template:Sl-decl-adj-table-single]] # [[:Template:Sl-decl-num-dva]] # [[:Template:El-prefix]] # [[:Template:Ko-l/args]] # [[:Template:Ko-l/multi]] # [[:Template:He-excessive spelling of]] # [[:Template:U:ru:numeral]] # [[:Template:He-prep-inflection]] # [[:Template:List:earthly branches/zh]] # [[:Template:List:Hebrew calendar months/he]] # [[:Template:Xcl-noun-ի-?]] # [[:Template:Hy-noun-ու-իկ]] # [[:Template:Xcl-noun-ի-ա-pl]] # [[:Template:Xcl-noun-հայր]] # [[:Template:Hy-noun-որ-եր]] # [[:Template:Xcl-noun-ն]] # [[:Template:Xcl-noun-ն-3-pl]] # [[:Template:Xcl-noun-ու-pl]] # [[:Template:Xcl-noun-ն-2]] # [[:Template:Xcl-noun-կին]] # [[:Template:Xcl-decl-noun-pl]] # [[:Template:Xcl-noun-ո-ա-unc]] # [[:Template:Xcl-noun-ի]] # [[:Template:Ko-adj-form]] # [[:Template:R:slr:Lianyun]] # [[:Template:Izh-decl/lähe]] # [[:Template:Ba-noun-c-pl]] # [[:Template:Roa-gal-noun]] # [[:Template:List:Gregorian calendar months/sh/Cyrl]] # [[:Template:Mn-adverb]] # [[:Template:Uk-ndecl-manual-sg]] # [[:Template:SeeSynonyms]] # [[:Template:Neuter singular past participle of]] # [[:Template:Passive participle of]] # [[:Template:Ps-noun-m-ay-finalstress]] # [[:Template:Nn-decl-adj-table]] # [[:Template:Nn-decl-adj]] # [[:Template:Cu-decl-of-тъ]] # [[:Template:Pl-decl-numeral]] # [[:Template:Pl-decl-numeral-coll]] # [[:Template:Pl-decl-numeral2]] # [[:Template:Xcl-noun-ի-ա-unc]] # [[:Template:RQ:Cantigas de Santa Maria]] # [[:Template:Xcl-noun-ի-unc]] # [[:Template:Xcl-noun-ա-unc]] # [[:Template:Nog-noun]] # [[:Template:Ky-adj]] # [[:Template:Trk-cmn-decl-noun]] # [[:Template:Az-arabic-noun-decl-v]] # [[:Template:Cv-personal pronouns]] # [[:Template:Cv-decl-pron]] # [[:Template:Tdd-noun]] # [[:Template:Kpv-decl-ppron]] # [[:Template:R:cel:Zair:2012]] # [[:Template:Collapse2]] # [[:Template:Kpv-personal pronouns]] # [[:Template:Is-conj-preterite]] # [[:Template:Pl-conj-ai-X]] # [[:Template:Ltg-IPA]] # [[:Template:Table:mines/trk-pro]] # [[:Template:Xcl-noun-ո]] # [[:Template:Xcl-noun-ու]] # [[:Template:Bulgarian demonstrative pronouns]] # [[:Template:Tby-noun]] # [[:Template:Kpv-demonstratives]] # [[:Template:Xal-personal pronouns]] # [[:Template:Bua-personal pronouns]] # [[:Template:Table:minerals/sah]] # [[:Template:List:countries in Europe/be]] # [[:Template:Te-noun-decl]] # [[:Template:Table:days of the week/ml]] # [[:Template:Tyz-Nom form of]] # [[:Template:Ky-letter]] # [[:Template:Pl-conj-ai-impersonal]] # [[:Template:Hi-adecl]] # [[:Template:RQ:Stevenson Osbourne Wrecker]] # [[:Template:RQ:Reade Simpleton]] # [[:Template:R:sla:Zhivlov:2016]] # [[:Template:R:mdf:Bereczki:1986]] # [[:Template:Got-rom-categoryTOC]] # [[:Template:El-nM-ων-ονες-2b]] # [[:Template:Ja-kanji forms-IVS/關於IVS]] # [[:Template:Mn-see]] # [[:Template:Mn-IPA-see]] # [[:Template:Numrad]] # [[:Template:R:AJaszo 2007]] # [[:Template:R:Aikio 2018]] # [[:Template:R:Eory 2007]] # [[:Template:Uz-stem-specify]] # [[:Template:Uz-verb-stem]] # [[:Template:R:cs:XJHCD]] # [[:Template:Fro-conj-vivre]] # [[:Template:Vec-conj-auto]] # [[:Template:Sga-adj]] # [[:Template:Ast-verb-er]] # [[:Template:M/sl-tonal]] # [[:Template:Izh-conj/kyntää]] # [[:Template:Fi-conj-soutaa]] # [[:Template:Fro-conj-pondre]] # [[:Template:R:inc:IAIL]] # [[:Template:R:gju:Rahi:2015]] # [[:Template:Qfliteral]] # [[:Template:Ndash]] # [[:Template:Fro-conj-salir]] # [[:Template:Map-bms-rom]] # [[:Template:Table-of-niqqud]] # [[:Template:He-table-of-niqqud]] # [[:Template:He-numeral form]] # [[:Template:He-noun form]] # [[:Template:Yi-possessive pronouns]] # [[:Template:Yi-decl-poss]] # [[:Template:Yi-unpointed form of]] # [[:Template:Lb-conj-irregular]] # [[:Template:Yi-personal pronouns]] # [[:Template:Judeo-Arabic spelling of]] # [[:Template:El-nN-ο-α-3c]] # [[:Template:Is-verb-ri]] # [[:Template:He-personal pronouns]] # [[:Template:He-interj]] # [[:Template:R:ru:AN1891]] # [[:Template:Izh-decl/vahti]] # [[:Template:Phonetic alphabet]] # [[:Template:Nup-pos]] # [[:Template:Nup-noun]] # [[:Template:Fro-conj-metre]] # [[:Template:Odt-decl-noun-n-m]] # [[:Template:漢語家世]] # [[:Template:Uk-decl-pron]] # [[:Template:Uk-pro-sam]] # [[:Template:Be-decl-pron]] # [[:Template:Be-pro-sam]] # [[:Template:CategoryTOC/ru]] # [[:Template:Tt-personal pronouns]] # [[:Template:Ro-noun-n-uri-Cyrl]] # [[:Template:Meod-ref]] # [[:Template:My-suffix]] # [[:Template:My-particle]] # [[:Template:My-adj]] # [[:Template:Nl-pronadv of]] # [[:Template:List:continents/bn]] # [[:Template:1]] # [[:Template:Ja-usex/example]] # [[:Template:Xcl-noun-ո-ա]] # [[:Template:Fro-decl-adj-mf]] # [[:Template:Gmq-osw-conj-st]] # [[:Template:Used in phrasal verbs]] # [[:Template:Related terms]] # [[:Template:Frr-f-cardinals]] # [[:Template:Fro-conj-rover]] # [[:Template:Nl-noun-adj]] # [[:Template:West Frisian personal pronouns]] # [[:Template:Ro-pp-s]] # [[:Template:Koi-IPA]] # [[:Template:Koi-noun]] # [[:Template:Fro-conj-aidier]] # [[:Template:Non-decl-blank-sing]] # [[:Template:R:ZH-PSWT]] # [[:Template:Non-decl-adj-comp]] # [[:Template:Gmq-osw-decl-cell]] # [[:Template:Gmq-osw-decl-noun-a-m]] # [[:Template:Fro-conj-traire]] # [[:Template:Nrf-conj-traire]] # [[:Template:U:fr:may take être]] # [[:Template:Non-decl-f-o]] # [[:Template:R:pcc:BYHCD]] # [[:Template:Kpv-decl-noun]] # [[:Template:Kjh-decl-noun-man]] # [[:Template:Se-infl-adj-even]] # [[:Template:Izh-conj/oppia]] # [[:Template:Se-infl-noun-odd]] # [[:Template:Se-infl-noun-odd-ng]] # [[:Template:Se-infl-noun-contr]] # [[:Template:Se-infl-noun-even-ng]] # [[:Template:Smn-decl-noun-even-u-oin]] # [[:Template:Gmq-osw-conj-table]] # [[:Template:Gmq-osw-conj-wk1-long]] # [[:Template:Nl-conj-wk-cht]] # [[:Template:Fo-decl-noun-n5-s]] # [[:Template:Nn-decl-cell]] # [[:Template:Nn-decl-blank-full2]] # [[:Template:Nn-decl-m-an]] # [[:Template:Mkh-mvi-pron]] # [[:Template:Co-conj/à]] # [[:Template:Mkh-mvi-noun]] # [[:Template:Nl-decl-past-ptc]] # [[:Template:R:za:GFCY1]] # [[:Template:R:za:GFCY2]] # [[:Template:R:za:GFCY5]] # [[:Template:R:za:GFCY4]] # [[:Template:Picdic/de/Gesicht]] # [[:Template:Kw-mut-cons]] # [[:Template:Fa-conjunction]] # [[:Template:Lisu-def]] # [[:Template:Ug-conj]] # [[:Template:Mdf-noun-def-gen]] # [[:Template:Mdf-noun-gen]] # [[:Template:Mdf-noun-def-manual]] # [[:Template:Mdf-noun-manual]] # [[:Template:Udm-pers-pron]] # [[:Template:Tr-verb form of]] # [[:Template:Bg-reflexive-си]] # [[:Template:Tibetan-digits]] # [[:Template:Trk-pro-decl-noun]] # [[:Template:Mfe-verb]] # [[:Template:R:Robert]] # [[:Template:R:Larousse]] # [[:Template:Ru-mult-adverbs]] # [[:Template:Is-conj-w1]] # [[:Template:R:Pons]] # [[:Template:Goh-decl-noun-n-m]] # [[:Template:Fro-conj-faire]] # [[:Template:R:Anglo-Norman On-Line Hub]] # [[:Template:Perfective form of]] # [[:Template:R:ar:Oxford]] # [[:Template:R:ar:Langenscheidt]] # [[:Template:Ru-phrase]] # [[:Template:Evn-verb]] # [[:Template:R:sh:Skok1971]] # [[:Template:Xal-numeral]] # [[:Template:Pl-conj-ap-X]] # [[:Template:Pl-decl-pronoun]] # [[:Template:Pl-decl-generic]] # [[:Template:Mt-noun-pl]] # [[:Template:R:ine:Mallory 2006]] # [[:Template:Pl-conj-ap-XI]] # [[:Template:Pl-conj-ap-eć]] # [[:Template:Pl-conj-ap-eję]] # [[:Template:Pl-conj-ap-IX]] # [[:Template:Rhyme cat]] # [[:Template:Pl-conj-defective]] # [[:Template:Pl-verb-defective]] # [[:Template:Pl-conj-ai-IX]] # [[:Template:List:Western astrology signs/en]] # [[:Template:Pl-conj-ap-yć]] # [[:Template:Pl-conj-see]] # [[:Template:Pl-conj-ai-ić]] # [[:Template:Pl-conj-ap-nąć]] # [[:Template:Grk-mar-noun]] # [[:Template:Grk-mar-personal pronouns]] # [[:Template:Nrf-conj-craithe]] # [[:Template:Te-categoryTOC]] # [[:Template:Palindrome appendix]] # [[:Template:Mul-proper noun]] # [[:Template:ISO 3166]] # [[:Template:R:xcl:Godel]] # [[:Template:Zh-pronunciation spelling of]] # [[:Template:R:olo:Zarinova:2012]] # [[:Template:Ja-name-to]] # [[:Template:R:ine:Sihler:1995]] # [[:Template:Rhymes row]] # [[:Template:R:Browne 1927]] # [[:Template:Table:zodiac/zh]] # [[:Template:R:bsl:Matasović:2013]] # [[:Template:Cu-conj-нести]] # [[:Template:Ko-lenis form of]] # [[:Template:Ko-yin form of]] # [[:Template:U:ru:large numeral]] # [[:Template:List:shi'er-lü/ja]] # [[:Template:List:shi'er-lü/ko]] # [[:Template:Quote-meta/paramdoc]] # [[:Template:Charles Dickens quotation templates]] # [[:Template:RQ:Dickens David Copperfield]] # [[:Template:William Shakespeare quotation templates]] # [[:Template:RQ:Shakespeare Henry 5]] # [[:Template:之過去被動分詞]] # [[:Template:R:rue:Kercha:2012]] # [[:Template:Character info/A]] # [[:Template:Character info/A]] # [[:Template:Double image aside]] # [[:Template:Non-noun form]] # [[:Template:Sh-decl-noun-m]] # [[:Template:Da-letter]] # [[:Template:It-letter]] # [[:Template:Ga-letter]] # [[:Template:Ia-letter]] # [[:Template:Id-letter]] # [[:Template:Nv-letter]] # [[:Template:La-letter]] # [[:Template:Tg-adv]] # [[:Template:Rom-verb]] # [[:Template:Diagonal split header]] # [[:Template:Tlw]] # [[:Template:Zh-list]] # [[:Template:La-suffix-noun]] # [[:Template:Syndiff]] # [[:Template:So-letter]] # [[:Template:Nup-letter]] # [[:Template:Ryu-kyujitai spelling of]] # [[:Template:Scots personal pronouns]] # [[:Template:Ro-letter]] # [[:Template:Q-lite]] # [[:Template:Nn-pronu-note]] # [[:Template:Vi-letter]] # [[:Template:Headtempdocboiler]] # [[:Template:Headtempdocboiler:letter]] # [[:Template:Tl-letter]] # [[:Template:Cite]] # [[:Template:Yo-personal pronouns]] # [[:Template:IPAchar-lite]] # [[:Template:IPA-lite]] # [[:Template:Latn-def-lite]] # [[:Template:G-lite/node]] # [[:Template:G-lite]] # [[:Template:Bg-PRO]] # [[:Template:Bg-reflexive]] # [[:Template:Zu-combining stem of]] # [[:Template:Xh-combining stem of]] # [[:Template:Ny-pronoun]] # [[:Template:It-adj-sup]] # [[:Template:Fo-decl-noun-f1-s]] # [[:Template:Izh-decl/patsas]] # [[:Template:Non-decl-m-i2]] # [[:Template:U:egy:suffix pronoun]] # [[:Template:Nci-proper noun]] # [[:Template:SI-unit-abb2]] # [[:Template:R:LBG]] # [[:Template:RQ:DTC DTD CPN]] # [[:Template:Ko-ref]] # [[:Template:Bn-decl-noun-c]] # [[:Template:Bn-noun-ô-anim]] # [[:Template:It-adj-form]] # [[:Template:Non-decl-f-i]] # [[:Template:Hu-months-abbr]] # [[:Template:Mul-numberchart/86]] # [[:Template:Mul-numberchart/88]] # [[:Template:Mul-numberchart/89]] # [[:Template:Mul-numberchart/91]] # [[:Template:Mul-numberchart/92]] # [[:Template:Mul-numberchart/93]] # [[:Template:Mul-numberchart/94]] # [[:Template:Mul-numberchart/95]] # [[:Template:Mul-numberchart/96]] # [[:Template:Mul-numberchart/97]] # [[:Template:Mul-numberchart/98]] # [[:Template:Mul-numberchart/99]] # [[:Template:Mul-numberchart/85]] # [[:Template:Mul-numberchart/84]] # [[:Template:Mul-numberchart/83]] # [[:Template:Mul-numberchart/82]] # [[:Template:Mul-numberchart/81]] # [[:Template:Mul-numberchart/100]] # [[:Template:Mul-numberchart/10]] # [[:Template:Mul-numberchart/90]] # [[:Template:Mul-numberchart/80]] # [[:Template:Mul-numberchart/20]] # [[:Template:Mul-numberchart/30]] # [[:Template:Mul-numberchart/40]] # [[:Template:Mul-numberchart/50]] # [[:Template:Mul-numberchart/60]] # [[:Template:Mul-numberchart/70]] # [[:Template:Sort]] # [[:Template:Is-decl-noun-base/sgindef]] # [[:Template:Pronunciation variant of]] # [[:Template:R:cdy:Wang 2010]] # [[:Template:R:MYYJ]] # [[:Template:Ny-new]] # [[:Template:Uk-ordinals]] # [[:Template:Rue-decl-noun]] # [[:Template:U:uk:у-в]] # [[:Template:R:zhx-teo:Diopou 2010]] # [[:Template:RQ:Tran Trong Kim VNSL]] # [[:Template:Rm-verb]] # [[:Template:Uk-adecl-manual]] # [[:Template:Sdc-adj]] # [[:Template:R:egx-dem:DG]] # [[:Template:RQ:Milton Paradise Lost]] # [[:Template:R:Bader2007]] # [[:Template:R:egy:Gardiner]] # [[:Template:R:egy:Calligraphy]] # [[:Template:R:egy:Loprieno]] # [[:Template:Charlotte Bronte quotation templates]] # [[:Template:RQ:Charlotte Bronte Shirley]] # [[:Template:Hy-conj-ալ]] # [[:Template:Sdc-noun]] # [[:Template:Th-cls]] # [[:Template:Sh-coll-link]] # [[:Template:Transterm]] # [[:Template:RQ:Shakespeare Othello]] # [[:Template:Kpv-decl/unc]] # [[:Template:Kpv-decl-hard/unc]] # [[:Template:Bulgarian cardinal numerals]] # [[:Template:Emojipic]] # [[:Template:Aii-decl-noun]] # [[:Template:Th-morse letter]] # [[:Template:El-pron-form]] # [[:Template:El-art-def]] # [[:Template:Swadesh list 207 trans pronunciation]] # [[:Template:Nn-noun-f2/2012]] # [[:Template:Uz-adv]] # [[:Template:Ja-toyo-depre]] # [[:Template:Tg-predicative]] # [[:Template:Tg-pred-c]] # [[:Template:Bulgarian possessive pronouns]] # [[:Template:El-nN-ο-3ab]] # [[:Template:Hu-conj-choose-long-or-short]] # [[:Template:Hu-conj-suf]] # [[:Template:Perfectives]] # [[:Template:Lld-adj/l/pl]] # [[:Template:Lld-adj/l/fpl]] # [[:Template:Lld-adj/l/f]] # [[:Template:Sah-personal pronouns]] # [[:Template:Orv-verb]] # [[:Template:Ba-беҙ]] # [[:Template:Sga-decl-a-fem]] # [[:Template:Table:days of the week/et]] # [[:Template:Csb-decl-noun/table]] # [[:Template:Sk-môj]] # [[:Template:Sk-tvoj]] # [[:Template:Hsb-decl-poss-pron]] # [[:Template:Hsb-decl-pron-60]] # [[:Template:Dsb-decl-pron-60]] # [[:Template:Sk-svoj]] # [[:Template:Sh-adj-indef]] # [[:Template:Hsb-decl-adj1]] # [[:Template:Lt-form-part]] # [[:Template:Pl-conj-ai-yć]] # [[:Template:Sl-decl-noun-table-unc2]] # [[:Template:Sl-decl-num]] # [[:Template:Fr-dualh]] # [[:Template:Tg-adj]] # [[:Template:Rebracketing]] # [[:Template:Mdf-verb-manual-table]] # [[:Template:Mdf-verb-manual]] # [[:Template:Xcl-decl-noun]] # [[:Template:Xcl-noun-ի-ա]] # [[:Template:Ru-ordinals]] # [[:Template:参考书籍]] # [[:Template:Is-decl-noun-base/pl]] # [[:Template:RQ:Douglass Bondage]] # [[:Template:RQ:Pyle Robin Hood]] # [[:Template:RQ:Thackeray Vanity Fair]] # [[:Template:Sq-case]] # [[:Template:Sl-infl-dati]] # [[:Template:Imperfective form of]] # [[:Template:Zh-hypo]] # [[:Template:Zh-hyper]] # [[:Template:Morse links]] # [[:Template:Mn-noun-form]] # [[:Template:Ru-initialism of]] # [[:Template:Az-noun-cyrl-v]] # [[:Template:PIE numerals]] # [[:Template:Mdf-noun-pos-table]] # [[:Template:Mdf-noun-pos]] # [[:Template:Ko-numeral usage note]] # [[:Template:R:ga:Finck]] # [[:Template:RQ:I Am a Cat]] # [[:Template:List:Western astrology signs/th]] # [[:Template:Ch-personal pronouns]] # [[:Template:Kpv-decl/prop]] # [[:Template:Kpv-decl-hard/prop]] # [[:Template:Sl-decl-noun-m-ov]] # [[:Template:Kpv-decl-soft]] # [[:Template:RQ:Bibbja]] # [[:Template:Orv-table entry]] # [[:Template:Ru-decl-noun-irreg-unc]] # [[:Template:Gl-conj-table]] # [[:Template:Fo-decl-noun-n3-s]] # [[:Template:Upright]] # [[:Template:Is-decl-noun-base/sg]] # [[:Template:Is-decl-noun-base/sgpl]] # [[:Template:Section link-lite]] # [[:Template:Ro-conj-veni]] # [[:Template:Relational adjective of]] # [[:Template:Foreign name]] # [[:Template:Ny-proper noun]] # [[:Template:Uncommon form of]] # [[:Template:Tyv-v2-v4]] # [[:Template:Tyv-v4]] # [[:Template:Tyv-v2]] # [[:Template:Ru-decl-adj-irreg]] # [[:Template:Ru-abbrev of]] # [[:Template:Ru-Zodiac]] # [[:Template:Hy-noun-ու-ներ-inf]] # [[:Template:Hy-conj]] # [[:Template:Hy-conj-ել]] # [[:Template:Xcl-decl-noun-unc]] # [[:Template:Xcl-noun-ո-unc]] # [[:Template:Hy-decl-verb]] # [[:Template:Xcl-verb-form]] # [[:Template:Non-decl-adj-weak]] # [[:Template:Non-decl-m-an]] # [[:Template:Okm-noun]] # [[:Template:Kpv-decl-vowel]] # [[:Template:Kpv-decl-hard]] # [[:Template:Kpv-decl-adj]] # [[:Template:Sux-signs]] # [[:Template:Vo-conj]] # [[:Template:Sumerogram of]] # [[:Template:R:sux:ePSD2]] # [[:Template:R:sux:DGS]] # [[:Template:Sux-alts]] # [[:Template:Xgn-comparison-Cyrl]] # [[:Template:Ko-div]] # [[:Template:Uk-decl-num3]] # [[:Template:Rue-cardinals]] # [[:Template:越南语猪商行话数词]] # [[:Template:Sga-decl-o-masc]] # [[:Template:Uk-conj-buty]] # [[:Template:Uk-categoryTOC]] # [[:Template:Ru-pre-reform]] # [[:Template:Sla-alt-pal2]] # [[:Template:Sla-alt-pal1]] # [[:Template:Sla-decl-adj-hard]] # [[:Template:Sla-adj]] # [[:Template:Mk-decl-adj-table-full]] # [[:Template:R:OpenThesaurus]] # [[:Template:Az-question]] # [[:Template:El-nN-μα-ματα-3b1]] # [[:Template:Pitjantjatjara bound pronoun]] # [[:Template:Pitjantjatjara pronouns]] # [[:Template:Japanese first-person pronouns]] # [[:Template:Tts-pronoun]] # [[:Template:Pi-pronoun]] # [[:Template:El-nN-α-2a]] # [[:Template:Izh-decl/kolmas]] # [[:Template:Nl-decl-pres-ptc]] # [[:Template:El-nM-ης-εις-2a]] # [[:Template:Zu-phrase]] # [[:Template:El-nN-εν-εντα-2b]] # [[:Template:El-nF-η-εις-3b2]] # [[:Template:Ar-quran-def]] # [[:Template:Vi-prep]] # [[:Template:Zh-alt-lb]] # [[:Template:Ko-suffix]] # [[:Template:Mak-verb form]] # [[:Template:R:rom:Boretzky-Igla]] # [[:Template:R:Basrim 2008]] # [[:Template:Grc-conj]] # [[:Template:El-nN-η-3b]] # [[:Template:Omr-noun]] # [[:Template:Ko-etym-nativised]] # [[:Template:Table:days of the week/uz]] # [[:Template:Ancient Greek personal pronouns 2]] # [[:Template:El-nN-αν-αντα-2b]] # [[:Template:El-nN-ος-οτα-1]] # [[:Template:El-army-ranks]] # [[:Template:As-proper noun]] # [[:Template:Bengali-digits]] # [[:Template:Ja-adj-ku]] # [[:Template:El-nN-α-3b]] # [[:Template:El-nF-α-ες-3c]] # [[:Template:List:prefectures of Japan/ja]] # [[:Template:List:prefectures of Japan/en]] # [[:Template:El-nN-ι-ια-2a1]] # [[:Template:Fi-alt-personal]] # [[:Template:Ko-interj]] # [[:Template:El-nM-ας-ες-2d]] # [[:Template:El-nM-ους-ουδες-1]] # [[:Template:El-nN-αν-αντα-0]] # [[:Template:El-nN-ι-ια-3a1]] # [[:Template:El-nN-υ-εα-1]] # [[:Template:El-nM-ιας-ιες-2b]] # [[:Template:El-n-genP]] # [[:Template:Tl-personal pronouns]] # [[:Template:El-nI-υς-ύες-1]] # [[:Template:El-nM-ης-ηδες-3b]] # [[:Template:Grc-categoryTOC]] # [[:Template:Tl-infl-table2]] # [[:Template:Tl-infl-in]] # [[:Template:Nap-pronouns]] # [[:Template:Zlw-slv-decl-noun]] # [[:Template:Ancient Greek personal pronouns 1]] # [[:Template:El-nM-ιας-ηδες-3a]] # [[:Template:El-nN-ια-2a2]] # [[:Template:El-nF-αδες-1]] # [[:Template:El-nN-ως-2]] # [[:Template:Is-conj-w2]] # [[:Template:He-root-link]] # [[:Template:Fi-conj-vanheta]] # [[:Template:Km-prep]] # [[:Template:Fi-conj-valita]] # [[:Template:Km-suffix]] # [[:Template:Ug-uly of]] # [[:Template:Ug-latin]] # [[:Template:Sa-sc/label]] # [[:Template:Sa-sc]] # [[:Template:Km-con]] # [[:Template:Pl-conj-ai-XI]] # [[:Template:Pl-conj-ap-uję]] # [[:Template:Pl-conj-ap-ić]] # [[:Template:Ary-pron-inflection]] # [[:Template:Km-prefix]] # [[:Template:Cab-pronouns]] # [[:Template:Km-pronoun]] # [[:Template:El-nM-ωρ-ορες-2b]] # [[:Template:El-nN-ι-2b]] # [[:Template:Fr-conjunction]] # [[:Template:Fi-conj-sallia]] # [[:Template:El-nN-μο-ματα-3b]] # [[:Template:Pl-decl-adj-owy]] # [[:Template:Uses TemplateStyles]] # [[:Template:Tlm]] # [[:Template:Grc-lak]] # [[:Template:Grc-dor]] # [[:Template:Grc-koi]] # [[:Template:Grc-att]] # [[:Template:El-nM-ης-ηδες-1]] # [[:Template:He-wv]] # [[:Template:He-pausal]] # [[:Template:He-noun form of]] # [[:Template:El-nN-μα-3b]] # [[:Template:副詞性賓格]] # [[:Template:El-nN-ον-οντα-2b]] # [[:Template:Zh-CD/link]] # [[:Template:R:Rollov]] # [[:Template:El-nM-ες-εδες-1]] # [[:Template:Des-bottom]] # [[:Template:Ko-verb set]] # [[:Template:Ko-etym-verbal-suffix]] # [[:Template:R:la:Francese]] # [[:Template:R:zle-ono:Mihajlovič 2012]] # [[:Template:El-nM-ας-ες-3c]] # [[:Template:French possessive pronouns]] # [[:Template:French possessive adjectives]] # [[:Template:La-decl-ppron]] # [[:Template:Zh-hg/s]] # [[:Template:RQ:Kokinshū]] # [[:Template:El-n-gen-ff]] # [[:Template:El-nF-η-εις-2a]] # [[:Template:El-nN-ος-η-3b]] # [[:Template:Named-after/list]] # [[:Template:Ps-noun-f-a]] # [[:Template:Portuguese possessive adjectives]] # [[:Template:Gl-pron-possess]] # [[:Template:La-det]] # [[:Template:Lif-adv]] # [[:Template:Lif-adj]] # [[:Template:El-nF-η-ες-3b1]] # [[:Template:El-punctuation]] # [[:Template:El-nM-ης-3a]] # [[:Template:Th-ant-list]] # [[:Template:Nod-noun]] # [[:Template:Shn-adj]] # [[:Template:Vi-conj]] # [[:Template:El-decl-1st-person]] # [[:Template:El-decl-2nd-person]] # [[:Template:El-decl-εγώ]] # [[:Template:El-nF-ος-οι-1]] # [[:Template:El-thirteen]] # [[:Template:El-fourteen]] # [[:Template:G2]] # [[:Template:El-nF-α-αδες-1]] # [[:Template:El-nM-ος-οι-2b]] # [[:Template:El-nM-ων-ωνες-2b]] # [[:Template:El-nF-α-ες-1a]] # [[:Template:Yoi-romanization of]] # [[:Template:Yoi-romaji]] # [[:Template:Wuh-personal pronouns]] # [[:Template:El-nN-ες-η-1]] # [[:Template:El-nN-υ-ια-2b]] # [[:Template:R:aou:HYC2008]] # [[:Template:El-taxonomy]] # [[:Template:El-nM-εας-εις-1]] # [[:Template:El-nM-ας-αδες-1]] # [[:Template:Goh-decl-noun-a-n]] # [[:Template:Goh-decl-noun-i-f]] # [[:Template:R:swi:WXE2020]] # [[:Template:El-decl-3rd-person]] # [[:Template:Cv-decl]] # [[:Template:Pi-conj-special]] # [[:Template:Pi-verb]] # [[:Template:Crx-letter-def]] # [[:Template:Tg-infl-noun/link]] # [[:Template:Mn-numeral-form]] # [[:Template:Lld-adj/-/pl]] # [[:Template:Lld-adj/-/fpl]] # [[:Template:Lld-adj/-/f]] # [[:Template:El-nF-ου-ουδες-1]] # [[:Template:Lb-decl-personal pronouns]] # [[:Template:R:swi:PYX2014]] # [[:Template:El-nN-ας-ατα-2b]] # [[:Template:Xsy-categoryTOC]] # [[:Template:Picdiclabel/label]] # [[:Template:澳門]] # [[:Template:El-n-gen]] # [[:Template:El-nM-εας-εις-1b]] # [[:Template:El-nN-ο-3a]] # [[:Template:File other]] # [[:Template:PD-Layout]] # [[:Template:El-nF-η-3b1]] # [[:Template:El-nN-μα-ματα-2b]] # [[:Template:Th-rel]] # [[:Template:Th-syn-see]] # [[:Template:Ping2]] # [[:Template:Tru-numeral]] # [[:Template:Gmq-rom]] # [[:Template:Holonym]] # [[:Template:Eo-quantities of bytes]] # [[:Template:El-nF-ος-οι-3b1]] # [[:Template:R:ru:Dahl]] # [[:Template:El-nM-ιας-ιες-2c]] # [[:Template:List:compass points/de]] # [[:Template:El-nM-ης-ες-1]] # [[:Template:El-nM-ος-οι-3d]] # [[:Template:El-nN-ι-ια-2b]] # [[:Template:El-nF-η-εις-3b]] # [[:Template:El-nN-ι-ια-1]] # [[:Template:El-nN-ος-η-2c]] # [[:Template:El-nF-η-ες-2a]] # [[:Template:El-nF-α-1]] # [[:Template:El-nM-ης-ηδες-2a]] # [[:Template:El-nN-ο-α-3ab]] # [[:Template:El-nM-ας-ες-2a]] # [[:Template:El-nM-ας-ες-2b]] # [[:Template:El-nN-ο-α-3a]] # [[:Template:El-nF-α-ες-1]] # [[:Template:El-nM-ος-3a]] # [[:Template:El-nF-α-ες-3a1]] # [[:Template:El-nF-ος-οι-2a]] # [[:Template:El-nN-ο-α-1]] # [[:Template:El-nN-ος-η-2b]] # [[:Template:Osp-noun]] # [[:Template:El-nF-η-ες-2b]] # [[:Template:Osx-decl-noun-a-m]] # [[:Template:El-nF-α-ες-2d]] # [[:Template:El-nN-ι-ια-2a2]] # [[:Template:El-nN-μα-ματα-3b]] # [[:Template:El-nN-ια-2a1]] # [[:Template:El-nM-ας-ες-3b]] # [[:Template:Ha-adj]] # [[:Template:La-interj]] # [[:Template:El-nF-α-ες-2c]] # [[:Template:El-nF-η-ες-2b1]] # [[:Template:El-nM-ας-3b]] # [[:Template:El-n-genS]] # [[:Template:El-nN-ο-1]] # [[:Template:El-nM-ος-οι-3a]] # [[:Template:El-nM-ος-3b]] # [[:Template:El-nF-α-ες-3b1]] # [[:Template:El-nM-ος-οι-3c]] # [[:Template:El-nF-ος-2a]] # [[:Template:El-nF-η-3b]] # [[:Template:El-nF-α-ες-3b2]] # [[:Template:El-nM-ας-1]] # [[:Template:El-nN-ο-2a]] # [[:Template:El-nM-ος-1]] # [[:Template:El-nF-η-1]] # [[:Template:De-conj-old]] # [[:Template:RQ:Rəsulzadə]] # [[:Template:世界語詞條模板]] # [[:Template:世界語詞條分類]] # [[:Template:Zu-infl-verb]] # [[:Template:Scn-article]] # [[:Template:Az-noun-form]] # [[:Template:Gn-personal pronouns]] # [[:Template:Az-decl-comp/k]] # [[:Template:Az-decl-comp/cc]] # [[:Template:Az-decl-comp/c]] # [[:Template:Az-decl-comp/q]] # [[:Template:Az-decl-comp/v]] # [[:Template:R:Oxford English Dictionary]] # [[:Template:RQ:Scott Ivanhoe]] # [[:Template:Az-letter]] # [[:Template:Eu-letter]] # [[:Template:Pt-letter]] # [[:Template:Yue-jyut]] # [[:Template:List:states of India/bn]] # [[:Template:Fa-preposition]] # [[:Template:Sco-past of]] # [[:Template:Frm-past participle]] # [[:Template:Is-patronymics]] # [[:Template:Ro-conj-aux]] # [[:Template:It-pron-adj]] # [[:Template:Odt-decl-table]] # [[:Template:Kaw-noun]] # [[:Template:Jv-rom]] # [[:Template:R:King James Version]] # [[:Template:Pcd-adj]] # [[:Template:Frm-present participle]] # [[:Template:R:ine:Cheung2007]] # [[:Template:R:ine:IELC]] # [[:Template:Non-decl-n-an]] # [[:Template:R:ms:BSJ1950]] # [[:Template:Mul-kangxi radical-def/def]] # [[:Template:Ja-r/args]] # [[:Template:Ja-r/multi]] # [[:Template:Japanese number]] # [[:Template:Mul-kangxi radical-def/switch]] # [[:Template:Gv-adj]] # [[:Template:Lt-numeral]] # [[:Template:Pt-cardinal]] # [[:Template:Non-decl-n-a]] # [[:Template:Et-decl-puri]] # [[:Template:Fo-conj-56s]] # [[:Template:Scn-adj-iu]] # [[:Template:Pi-adj]] # [[:Template:Non-decl-f-on]] # [[:Template:Khb-verb]] # [[:Template:Lt-decl-pers-pron]] # [[:Template:Lt-3rd-person-m]] # [[:Template:Sq-personal pronouns]] # [[:Template:Ro-decl-adj-2]] # [[:Template:Gd-adj]] # [[:Template:Ro-name]] # [[:Template:Ro-conj-e-ut]] # [[:Template:Izh-personal pronouns]] # [[:Template:Izh-decl/maa]] # [[:Template:Izh-decl-ppron]] # [[:Template:T-simple]] # [[:Template:缅甸文]] # [[:Template:R:Okinawa Goten]] # [[:Template:Mk-decl-noun-око]] # [[:Template:Sga-decl-noun-table]] # [[:Template:Zh-no-solo]] # [[:Template:Kw mut cons]] # [[:Template:Sv-cardinal]] # [[:Template:Sa-decl-noun-ās-m]] # [[:Template:Sa-decl-noun-ās-f]] # [[:Template:Sa-decl-noun-n-n]] # [[:Template:Sa-decl-noun-i-m]] # [[:Template:Sa-decl-noun-as-n]] # [[:Template:Mk-decl-num]] # [[:Template:Mk-decl-num-два]] # [[:Template:Mk-decl-adj-е]] # [[:Template:R:mk:DRMJ]] # [[:Template:Mk-conj-table-impersonal]] # [[:Template:Mk-conj-сум]] # [[:Template:Mk-conj-и-е]] # [[:Template:Mk-conj-и-impersonal]] # [[:Template:Mk-conj-и-3]] # [[:Template:Mk-conj-и-2]] # [[:Template:Mk-conj-е-а-impersonal]] # [[:Template:Mk-conj-е-4]] # [[:Template:Mk-conj-е-2]] # [[:Template:Mk-conj-2-е-о]] # [[:Template:Mk-conj-и-а]] # [[:Template:Mk-conj-и-1]] # [[:Template:Mk-conj-е-0]] # [[:Template:Mk-conj-е-е]] # [[:Template:Mk-conj-е-о]] # [[:Template:Mk-conj-е-а]] # [[:Template:Mk-conj-е-1]] # [[:Template:Desc/sl-tonal]] # [[:Template:Bho-verb]] # [[:Template:Tr-decl-pronoun]] # [[:Template:Legend]] # [[:Template:Lo-adj]] # [[:Template:Te-verb form]] # [[:Template:R:ami:Jiang2012]] # [[:Template:Hit-decl-an]] # [[:Template:Hit-decl-adj]] # [[:Template:Hit-decl-adj-aš]] # [[:Template:Et-decl-nõder]] # [[:Template:R:az:Huseynov]] # [[:Template:R:EKSS]] # [[:Template:R:ii:600]] # [[:Template:Gs]] # [[:Template:R:lis:LHCD]] # [[:Template:臺灣原住民族人名說明]] # [[:Template:Fix]] # [[:Template:Ml]] # [[:Template:Latin script letter names/ja]] # [[:Template:Ja-hentaigana-dakuten2]] # [[:Template:Ja-hentaigana-dakuten]] # [[:Template:Li-adj]] # [[:Template:Projectlink/wikipedia]] # [[:Template:Date.day+n]] # [[:Template:Rounddown]] # [[:Template:MilestonePrediction]] # [[:Template:Milestone]] # [[:Template:NS1]] # [[:Template:Milestoneitem]] # [[:Template:Ja-hentaigana-def]] # [[:Template:Ja-etym hentaigana]] # [[:Template:Ja-hentaigana]] # [[:Template:古日語假名]] # [[:Template:Span-tt/tooltip]] # [[:Template:Span-tt]] # [[:Template:變體假名字體]] # [[:Template:Cquote]] # [[:Template:List:上標數字/mul]] # [[:Template:R:hi:Chaturvedi]] # [[:Template:List helper-3]] # [[:Template:Lv-decl-AdjN-def-1]] # [[:Template:List:continents/lv]] # [[:Template:Lv-pronoun]] # [[:Template:Lv-categoryTOC]] # [[:Template:User gender]] # [[:Template:Az-c2]] # [[:Template:Az-c1]] # [[:Template:Az-verb-stem-last]] # [[:Template:Az-verb-stem]] # [[:Template:Lv-decl-AdjN-def-2]] # [[:Template:Lv-reflexive of]] # [[:Template:Lv-decl-AdjN-def-4]] # [[:Template:Lv-decl-AdjN]] # [[:Template:Eu-adv]] # [[:Template:Ms-categoryTOC]] # [[:Template:List:coffees/ms/Arab]] # [[:Template:List:coffees/ms/Latn]] # [[:Template:Ms-prefix]] # [[:Template:Lv-conj-3]] # [[:Template:Lv-conj-2]] # [[:Template:En-prep phrase]] # [[:Template:Ms-der]] # [[:Template:Ms-prep]] # [[:Template:Nb-verb-4]] # [[:Template:Lt-conj-1-circum]] # [[:Template:Brai-script/extensions/boiler]] # [[:Template:List:antileptons/lt]] # [[:Template:Ro-adv]] # [[:Template:Pt-obsolete-hellenism]] # [[:Template:Inc-opa-adj]] # [[:Template:Ja-kana-mannyogana-etym]] # [[:Template:Kmr-verb]] # [[:Template:RQ:Sanchez Pell freda]] # [[:Template:RQ:Leizarraga]] # [[:Template:Kok-pos]] # [[:Template:R:gl:CX]] # [[:Template:Egy-glyph]] # [[:Template:R:Poerwadarminta 1939]] # [[:Template:User:QFQ/formatnoun]] # [[:Template:Table:國際象棋棋子/sw]] # [[:Template:User:QFQ/formatipa]] # [[:Template:R:szy:語法概論]] # [[:Template:Table:紙牌/sw]] # [[:Template:List:continents/sw]] # [[:Template:幽]] # [[:Template:達悟語時間詞]] # [[:Template:Indonesian informal you]] # [[:Template:User:QFQ/formatformof]] # [[:Template:Realtemplate]] # [[:Template:User:QFQ/faketemplate]] # [[:Template:List:states of India/hi]] # [[:Template:Table:suits/hi]] # [[:Template:R:Cantalausa]] # [[:Template:Spanish conjugation type]] # [[:Template:Langhd/cat]] # [[:Template:Languages by country]] # [[:Template:Table:紙牌/cs]] # [[:Template:Table:季節/cs]] # [[:Template:Fmbox/warning ruler]] # [[:Template:Editnotices/Page/User:CrowleyBot]] # [[:Template:Oldid]] # [[:Template:幽默存檔]] # [[:Template:坏笑话和删除的胡话]] # [[:Template:語後綴]] # [[:Template:瓦鄉]] # [[:Template:潮州]] # [[:Template:Zodiac]] # [[:Template:De-pronoun]] # [[:Template:R:kac:JXL]] # [[:Template:晉]] # [[:Template:Lic-categoryTOC]] # [[:Template:R:族語學習手冊/code]] # [[:Template:Verb form of]] # [[:Template:R:族語學習手冊]] # [[:Template:黎語人稱代詞]] # [[:Template:R:ycr:真田信治 2015]] # [[:Template:R:ycr:真田信治 簡月真 2012]] # [[:Template:R:ycr:簡月真 2018a]] # [[:Template:R:ycr:簡月真 真田信治 2011]] # [[:Template:R:ycr:黃美金 2010]] # [[:Template:哥特聖經]] # [[:Template:Ami-syn/table]] # [[:Template:Trv-syn/table]] # [[:Template:Trv-syn]] # [[:Template:User th-4]] # [[:Template:User th-1]] # [[:Template:User nan-taiwan]] # [[:Template:User nan]] # [[:Template:Ami-syn]] # [[:Template:秀姑巒阿美]] # [[:Template:恆春阿美]] # [[:Template:海岸阿美]] # [[:Template:馬蘭阿美]] # [[:Template:南勢阿美]] # [[:Template:R:族語學習詞表]] # [[:Template:R:部落核定彙整表]] # [[:Template:Num2rad]] # [[:Template:Han character variant]] # [[:Template:滇]] # [[:Template:家名]] # [[:Template:氏族名]] # [[:Template:Ja-vb-1-s-う]] # [[:Template:Mn-adjective]] # [[:Template:R:族語新詞/103]] # [[:Template:R:族語新詞]] # [[:Template:R:臺灣原住民族語言分布參考表]] # [[:Template:湘]] # [[:Template:Zh-syn-list]] # [[:Template:Col2]] # [[:Template:Poj reading of]] # [[:Template:Kaifang]] # [[:Template:IPA letters/getstressed]] # [[:Template:Inflection]] # [[:Template:R:lmy:verdizade19b]] # [[:Template:De-verb-irregular]] # [[:Template:De-adnj]] # [[:Template:Yi]] # [[:Template:Mi]] # [[:Template:Km]] # [[:Template:Nds-de]] # [[:Template:R:Xin Shidai Ri-han Cidian]] # [[:Template:Mnw]] # [[:Template:R:hy:Trq]] # [[:Template:Mt-rootbox]] # [[:Template:HSK]] # [[:Template:Rhyme list end]] # [[:Template:Rhyme list begin]] # [[:Template:Table:德國紙牌/sh]] # [[:Template:政]] # [[:Template:CategoryTOC/sh]] # [[:Template:Table:西班牙牌/sh]] # [[:Template:Table:紙牌/sh]] # [[:Template:PL:1911]] # [[:Template:Ky]] # [[:Template:Kaifang-EO]] # [[:Template:List:continents/ru]] # [[:Template:振假名/表示]] # [[:Template:De-interjection]] # [[:Template:Nb]] # [[:Template:韻書列表]] # [[:Template:R:svenska.se]] # [[:Template:Mg]] # [[:Template:Nv]] # [[:Template:Examples-right]] # [[:Template:Bg-noun-m-i]] # [[:Template:Bg-noun-f-a1]] # [[:Template:Ba-decl-noun]] # [[:Template:Hi-decl-adj]] # [[:Template:Table:Zodiac/ja]] # [[:Template:Table:Zodiac/ko]] # [[:Template:Table:Zodiac/en]] # [[:Template:Table:Zodiac/zh]] # [[:Template:Table:Zodiac]] # [[:Template:Table:Chinese Zodiac/en]] # [[:Template:Table:Chinese Zodiac/zh]] # [[:Template:Table:Chinese Zodiac]] # [[:Template:Table:Solar System/zh]] # [[:Template:Table:Solar system]] # [[:Template:Table:days of the week/zh]] # [[:Template:Table:days of the week]] # [[:Template:漳州]] # [[:Template:閩東]] # [[:Template:閩北]] # [[:Template:Uk-adj-и́й]] # [[:Template:Uk-decl-noun]] # [[:Template:化 ja]] # [[:Template:化 en]] # [[:Template:Bg-noun-f-ya1]] # [[:Template:Uk-decl-noun-unc]] # [[:Template:Uk-adj-table]] # [[:Template:Uk-adj-ий]] # [[:Template:Uk-decl-adj]] # [[:Template:Redirect4]] # [[:Template:Jbovlaste]] # [[:Template:ArabForm]] # [[:Template:Mul]] # [[:Template:Or]] # [[:Template:Midashi]] # [[:Template:Ja-conj]] # [[:Template:Ja-v]] # [[:Template:Ja-n]] # [[:Template:Inline tag]] # [[:Template:Yomi/ap]] # [[:Template:Yomi]] # [[:Template:Rmjsup]] # [[:Template:Pah]] # [[:Template:Pahl]] # [[:Template:香港]] # [[:Template:矿]] # [[:Template:平水韻]] # [[:Template:Messagebox]] # [[:Template:Experimental]] # [[:Template:List:fractions/mul]] # [[:Template:Kk]] # [[:Template:客家]] # [[:Template:釋名]] # [[:Template:Mns]] # [[:Template:Cdo]] # [[:Template:Wikipedia multiplearticle]] # [[:Template:-ba-]] # [[:Template:Ojp-conj/verbconj]] # [[:Template:Ojp-conj]] # [[:Template:Ojp-verbconj]] # [[:Template:Inf-ojp]] # [[:Template:Inf-ja-aux2]] # [[:Template:In category]] # [[:Template:Protection Templates]] # [[:Template:Lua]] # [[:Template:管理員名單]] # [[:Template:日正字]] # [[:Template:日俗字]] # [[:Template:汉语读音/lua]] # [[:Template:Py]] # [[:Template:Hanindex]] # [[:Template:-pn-]] # [[:Template:De-decl-noun-sg]] # [[:Template:De-vb-2/Sandbox]] # [[:Template:De-vb-tb/Sandbox]] # [[:Template:Da-nm]] # [[:Template:粵語人稱代詞]] # [[:Template:Zh-pronoun]] # [[:Template:Mandarin TOC]] # [[:Template:Cantonese TOC]] # [[:Template:Yale reading of]] # [[:Template:It-nm]] # [[:Template:Main Page Talk Header]] # [[:Template:Lb-nm]] # [[:Template:Is-nm]] # [[:Template:Fo-prnc]] # [[:Template:Fo-nm]] # [[:Template:Ca-aj]] # [[:Template:Rm-nm]] # [[:Template:Ca-nm]] # [[:Template:满文及转写/手动]] # [[:Template:Yi-vb]] # [[:Template:Vo-nm]] # [[:Template:Yi-nm]] # [[:Template:Ja-vb-1-う]] # [[:Template:De-nm-prefix]] # [[:Template:De-vb-prefix]] # [[:Template:Ja-vb-1-む]] # [[:Template:ManchuUnicode]] # [[:Template:满文及转写]] # [[:Template:閩南參/han]] # [[:Template:閩南參/seng]] # [[:Template:閩南參/khi]] # [[:Template:閩南參/loan]] # [[:Template:閩南參/cha]] # [[:Template:閩南參/thai]] # [[:Template:閩南參/ko]] # [[:Template:閩南參/hong]] # [[:Template:閩南參/ho]] # [[:Template:閩南參/bo]] # [[:Template:閩南參]] # [[:Template:相似白話字]] # [[:Template:Ja-vb-1-つ]] # [[:Template:Ja-vb-2]] # [[:Template:Ja-vb]] # [[:Template:Blocksnotice]] # [[:Template:Chem/initialA]] # [[:Template:Dummy ref]] # [[:Template:Documentation subpage]] # [[:Template:错字重定向]] # [[:Template:-n p-]] # [[:Template:汉语词汇專題]] # [[:Template:Ms-cat]] # [[:Template:Es-aj]] # [[:Template:Nl-cat]] # [[:Template:Es-cat]] # [[:Template:Es-nm]] # [[:Template:Ja-cat]] # [[:Template:粵台]] # [[:Template:粵台/轉]] # [[:Template:He-aj]] # [[:Template:台華雙語辭典]] # [[:Template:Ja-aj-い]] # [[:Template:Ja-aj-tb]] # [[:Template:Ar-nm-tb]] # [[:Template:Ja-vb-1-く]] # [[:Template:Ko-conj-adj-darata]] # [[:Template:Quotation]] # [[:Template:Ja-vb-1-す]] # [[:Template:No documentation]] # [[:Template:論述列表]] # [[:Template:方針列表]] # [[:Template:User JS-0]] # [[:Template:User coder-0]] # [[:Template:Babel field 1]] # [[:Template:Babel field]] # [[:Template:Babel field 0]] # [[:Template:Ja-vb-1-る]] # [[:Template:Ja-vb-tb]] # [[:Template:Forcevariant]] # [[:Template:Novariant]] # [[:Template:Citation/core]] # [[:Template:Ton]] # [[:Template:粵新]] # [[:Template:藏轉/表]] # [[:Template:藏轉/濾]] # [[:Template:藏轉/碼]] # [[:Template:藏轉/音節]] # [[:Template:藏轉]] # [[:Template:El-l]] # [[:Template:Link/en]] # [[:Template:Fa-gen-c]] # [[:Template:Phli]] # [[:Template:中國大陸]] # [[:Template:日字見]] # [[:Template:土庫曼語]] # [[:Template:越漢詞]] # [[:Template:朝漢詞]] # [[:Template:粵音/ø]] # [[:Template:漢詞新]] # [[:Template:國際音標/判]] # [[:Template:Ar-root-entry]] # [[:Template:阿塞拜疆语]] # [[:Template:例注]] # [[:Template:奧斯曼土耳其語]] # [[:Template:LR]] # [[:Template:圖2]] # [[:Template:여씨-존]] # [[:Template:閩南]] # [[:Template:첩해신어(원간본)]] htgkf9avtsgjyeij0ovxlv0kqrlmnjt Module:Inflection utilities 828 1416279 9938445 9504755 2026-10-04T18:09:15Z TongcyDai 53191 同步 enwikt(rev 92734074):form object metadata 處理、scrape_inflection()、移除舊式註腳符號支援;本地化不變 9938445 Scribunto text/plain local export = {} local m_links = require("Module:links") local m_str_utils = require("Module:string utilities") local m_table = require("Module:table") local put = require("Module:parse utilities") local headword_data_module = "Module:headword/data" local script_utilities_module = "Module:script utilities" local pages_module = "Module:pages" local template_parser_module = "Module:template parser" local is_callable = require("Module:fun").is_callable local split = m_str_utils.split local ufind = m_str_utils.find local usub = m_str_utils.sub local ucfirst = m_str_utils.ucfirst local unpack = unpack or table.unpack -- Lua 5.2 compatibility local dump = mw.dumpObject local new_title = mw.title.new local insert = table.insert local concat = table.concat local insert_if_not = m_table.insertIfNot local shallow_copy = m_table.shallowCopy local function track(page) require("Module:debug/track")("inflection utilities/" .. page) return true end local footnote_abbrevs = { ["a"] = "古舊", ["c"] = "口語", ["d"] = "方言", ["fp"] = "民歌", ["l"] = "書面", ["lc"] = "低級口語", ["p"] = "詩歌化", ["pej"] = "貶義", ["r"] = "罕用", } --[==[ intro: The following code is used in building up the inflection of terms in inflected languages, where a term can potentially consist of several inflected words, each surrounded by fixed text, and a given slot (e.g. accusative singular) of a given word can potentially consist of multiple possible inflected forms. In addition, each form may be associated with a manual transliteration and/or a list of footnotes (or qualifiers, in the case of headword lines). The following terminology is helpful to understand: * A '''term''' is a word or multiword expression that can be inflected. A multiword term may in turn consist of several single-word inflected terms with surrounding fixed text. A term belongs to a particular '''part of speech''' (e.g. noun, verb, adjective, etc.). * An '''inflection dimension''' is a particular dimension over which a term may be inflected, such as case, number, gender, person, tense, mood, voice, aspect, etc. * The '''lemma''' is the particular form of a term under which the term is entered into a dictionary. For example, for verbs, it is most commonly the infinitive, but this differs for some languages: e.g. Latin, Greek and Bulgarian use the first-person singular present indicative (active voice in the case of Latin and Greek); Sanskrit and Macedonian use the third-person singular present indicative (active voice in the case of Sanskrit); Hebrew and Arabic use the third-person singular masculine past (aka "perfect"); etc. For nouns, the lemma form is most commonly the nominative singular, but e.g. for Old French it is the objective singular and for Sanskrit it is the root. * A '''slot''' is a particular combination of inflection dimensions. An example might be "accusative plural" for a noun, or "first-person singular present indicative" for a verb. Slots are named in a language-specific fashion. For example, the slot "accusative plural" might have a name `accpl`, while "first-person singular present indicative" might be variously named `pres1s`, `pres_ind_1_sg`, etc. Each slot is filled with zero or more '''forms'''. * A '''form''' is a particular inflection of a slot for a particular term. Note that a given slot may (and often does) have more than one associated form; these different forms are termed '''variants'''. An example is {{m+|de|Bug||bow (of a ship)}}, which has two genitive singular forms ''Buges'' and ''Bugs''; two plural forms in all cases, e.g. nominative plural ''Buge'' and ''Büge''; and two dative singular forms ''Bug'' and rare/archaic ''Buge''. The form variants for a given slot are ordered, and generally should have the more common and/or preferred variants first, along with rare, archaic or obsolete variants last (if they are included at all). * Forms are described using '''form objects''', which are Lua objects taking the form `{form="``form_value``", translit="``manual_translit``", footnotes={"``footnote``", "``footnote``", ...}}`. (Additional '''metadata''' may be present in a form object, although the support for preserving such metadata when transformations are applied to form objects isn't yet complete.) ``form_value`` is a '''form value''' specifying the value of the form itself in the term's script. ``manual_translit`` specifies optional manual transliteration for the form, in case (a) the form value is in a different script; and (b) either the form's automatic transliteration is incorrect and needs to be overridden, or the language of the term has no automatic transliteration (e.g. in the case of Persian and Hebrew). ``footnote`` is a footnote to be attached to the form in question, and should be e.g. {"[archaic]"} or {"[only in the meaning 'to succeed (an officeholder)']"}, i.e. the string must be surrounded by brackets and should begin with a lowercase letter and not end in a period/full stop. When such footnotes are converted to actual footnotes in a table of inflected forms, the brackets will be removed, the first letter will be capitalized and a period/full stop will be added to the end. (However, when such footnotes are used as qualifiers in headword lines, only the brackets will be removed, with no capitalization or final period.) Note that only ``form_value`` is mandatory. * A list of zero or more form objects is termed a '''form object list''', or usually just a '''form list'''. Such lists are ordered and go into form tables (see below). * A '''form table''' is a Lua table (i.e. a dictionary) describing all the possible inflections of a given term. The keys in such a table are slots (strings) and the values are form lists. '''NOTE:''' All inflection code assumes and maintains the invariant that no two slots, and no two forms in a single slot, share the same form object (by reference, i.e. the Lua object describing a form object should never be shared in two places). This allows for safely side-effecting form objects in certain sorts of operations. This same invariant necessarily applies to the Lua list objects containing the form objects, but does '''NOT''' apply to metadata inside of form objects. In particular, a list of footnotes may well be shared among different form objects. This means it is '''NOT''' safe to side-effect such lists, and in fact no code in this module that manipulates footnote lists will ever side-effect such lists; they are treated as immutable. * Some functions, to save memory, accept and work with abbreviated forms of form objects and/or form lists. Specifically, an '''abbreviated form object''' is either a form object or a string, the latter corresponding to a form object whose form value is the string and all other properties are nil. Similarly, an '''abbreviated form list''' is either a single abbreviated form object or a list of such objects, i.e. any of a string, form object or list of strings and/or form objects. Functions that do not accept such abbreviated structures may be said to insist on being passed form objects in '''full form''', or form lists in '''full list form'''. * Each slot is associated with an '''accelerator tag set''', which is a list of inflection tags that are used when generating an accelerator entry for the forms in the slot (see [[WT:ACCEL]]). For example, the first singular present indicative of a verb might have slot name `pres_1sg` and corresponding accelerator tag set `1|s|pres|ind`. As shown, the accelerator tag set is a string consisting of inflection tags (as used in {{tl|inflection of}}) separated by `|`. Despite the terminology ''tag set'', the tags in a tag set are ordered, although the same tag should never occur twice. * Some inflected terms are '''multiword''', i.e. they consist of multiple '''words''', where each word is generally separated by spaces or sometimes hyphens. In such a term, some of the words inflect, while others remain fixed. Words that inflect are termed '''inflecting words''' (or more correctly '''inflecting parts''', since in some circumstances, parts of a word can inflect). The '''fixed text''' is all the parts of a multiword term that do not inflect. * The descriptor that describes how a given term inflects is called an '''inflection spec''', and consists of the lemma form of the term itself, annotated with an '''angle bracket spec''' after each inflecting word. As the name implies, an angle bracket spec is surrounded by angle brackets (`<...>`). A simple example is {{m+|de|Feder||feather}}, whose inflection spec looks like `Feder<f>`, where `f` specifies the feminine gender. In this case, although there are several properties that could be specified between angle brackets, all except the gender are optional and have been left out, indicating that defaults should be used. Another example is {{m+|de|Baske|Basque person}}, whose inflection spec looks like `Baske<m.weak>`, where `m` specifies the masculine gender and `weak` specifies the weak inflection. Note that individual components of an angle bracket spec like `m` and `weak` are termed '''indicators''' and are separated by periods/full stops. A slightly more complex example is {{m+|de|Zeitgeist||zeitgeist}}, whose inflection spec looks like `Zeitgeist<m,es:s,er>` and which specifies three things in a single '''compound indicator''': `m` (the masculine gender); `es:s` (the genitive singular, which can end in either ''-es'' or ''-s''); and `er` (the nomininative plural, which ends in ''-er''). * If there are several inflecting words in a term, each one will be followed by its own angle bracket spec. An example is {{m+|de|schwarzes Loch||black hole}}, whose inflection spec looks like `schwarzes<+> Loch<n,es:s,^er>`. Here, the adjective ''schwarzes'' (the nominative neuter singular of {{m|de|schwarz||black}}) is followed by the angle bracket spec `<+>` specifying that it inflects as an adjective, and the noun ''Loch'' has the angle bracket spec `<n,es:s,^er>`, indicating (similarly to the above example) that it is neuter, has a genitive singular in either ''-es'' or ''-s'', and has a nominative plural in ''-er'' with umlaut, hence ''Löcher'' (the `^` specifies that the form requires umlaut). * Sometimes a given term has multiple ways of inflecting that differ in ways that can't be specified using a single angle bracket spec. This is supported using '''alternants''', which are specified using double parentheses. (This is so that terms that themselves contain parentheses can be specified without interference.) An example is {{m+|uk|русин||Rusyn}}, which can be stressed either as ''ру́син'' (stress on the first syllable and following accent paradigm ''a'', hence genitive singular ''ру́сина'') or ''руси́н'' (stress on the second syllable and following accent paradigm ''b'', hence genitive singular ''русина́''; note how the stress moves onto the ending, in accordance with the accent paradigm). This is specified using `((ру́син<pr>,руси́н<b.pr>))`, i.e. each separate the alternants with a comma and surround them with double parentheses. (Here, `pr` means that the terms belong to the personal animacy class, and `b` specifies the accent paradigm; paradigm ''a'' is the default and hence is omitted.) * Note that occasionally, parts of a single space-delimited word can inflect separately. An example is {{m+|la|rōsmarīnus||rosemary}}, which is a compound of {{m+|la|rōs||dew}} and {{m|la|marīnus||marine, of the sea}}. In this compound, both parts of the compound can inflect separately; hence genitive singular ''rōrismarīnī'', accusative singular ''rōremmarīnum'', etc. Alternatively, only the second part inflects; hence genitive singular ''rōsmarīnī'', accusative singular ''rōsmarīnum'', etc. This is specified as `((rōs/rōr<3.M>marīnus<2>,rōsmarīnus<2>))`. Here, the term {{m|la|rōs}} by itself would have inflection spec `rōs/rōr<3.M>` (indicating that it is third declension masculine with a non-nominative-singular stem ''rōr-'') and the term {{m|la|marīnus}} would have inflection spec `<2>` (indicating that it is second declension; the masculine gender is inferred from the ''-us'' ending). When combined in a single inflection spec, the doubly-inflecting alternant is written `rōs/rōr<3.M>marīnus<2>`, with each inflecting part followed by its corresponding angle bracket spec, and the singly-inflecting alternant is written `rōsmarīnus<2>`. As this example shows, the two alternants need not correspond in how many inflecting parts there are. It should also be noted that fixed text can surround an alternant and it is even possible to supply multiple alternants in a single inflection spec (e.g. if the term has two words in it and each word requires an alternant to inflect). * The result of parsing a single angle bracket spec is stored into a '''word spec'''. The structure of a word spec is fairly arbitrary and is determined by the user-written `parse_indicator_spec` function, but always contains a form table under the `forms` key that is populated during inflection (see below). A parameter or local variable that holds a word spec is conventionally named `base` for historical reasons. Word specs are grouped together into a structure termed a '''multiword spec''', which describes one or more word specs along with the fixed text in between and around the inflected words. Multiword specs are in turn grouped into structures termed '''alternant specs''', indicating the distinct alternants and the words in each alternant. Finally, multiword specs and alternant specs are grouped into an '''alternant multiword spec''', which is the top-level object describing an inflection spec. Each of these different specs has a form table in it stored in the `forms` key that is populated during the inflection process and contains the form objects that specify the inflections of this part of the full multiword term. (It should be noted that the term '''spec''' is overloaded to mean two different things: the user-specified descriptor that specifies the lemma form of the term and associated inflection, and the associated internal Lua object that encapsulates all information derived from the descriptor, along with later-generated information on how to inflect the term(s) being described.) * Among these various "spec" structures, the two most important are the top-level alternant multiword spec and the bottom-level word spec or "base". You will rarely find it necessary to manipulate the intermediate structures or concern yourself with the details of their formation. * The term ''form'' is unfortunately overloaded in various modules to mean several things. In particular, for historical reasons, the form value inside of a form object is stored using the key `form`; the form table inside of an alternant multiword spec, a word spec (or "base") and the intermediate structures is stored using the key `forms`; and the accelerator tag set is internally referred to in [[WT:ACCEL]] as a "form". To avoid confusion, the following conventions are followed in code in this module, and should be followed for code in invoking modules as well: *# Functions that accept form objects often name the relevant parameter `form` (if a single form object is required) or `forms` (if a list of form objects, aka form list, is required). *# Functions that accept abbreviated form objects should (but don't always) indicate this by naming the parameter `abform` (for a single abbreviated form object) or `abforms` (for an abbreviated form list). *# Functions that accept a form value (the native-script string portion of a form object, stored for historical reasons in the `.form` property) should '''not''' call such a parameter `form`, but instead use something that makes clear that a form value is required, such as `formval` or sometimes just `val`. *# Similarly, functions that accept a form table should '''not''' call such a parameter `forms` (although for historical reasons the form table in an alternant multiword spec is stored in the field `forms`). Instead, use `formtable` or `formtab`, or similar name that makes clear that the value is a form table (i.e. a map from slot to form list). ====Footnote handling==== Each form can have one or more attached footnotes. The form of a footnote as specified by the user and stored in form values is e.g. {"[archaic]"} or {"[only in the meaning 'to succeed (an officeholder)']"}, i.e. the string must be surrounded by brackets and should begin with a lowercase letter and not end in a period/full stop. When such footnotes are converted to actual footnotes in a table of inflected forms, the brackets will be removed, the first letter will be capitalized and a period/full stop will be added to the end. (However, when such footnotes are used as qualifiers in headword lines, only the brackets will be removed, with no capitalization or final period.) When merging two forms into one, such as when concatenating the form objects of two inflected words in a multiword term or deduplicating form objects sharing the same form value during `show_forms()`, the footnotes are generally combined as well. This means that if one form object has footnotes and the other doesn't, the resulting form object inherits the footnotes of the object that has them, and if both form objects have footnotes, the resulting form object gets all footnotes from both source form objects, with duplicates removed. However, when inserting a form into a form table slot that already has a form whose form value and translit are identical to the new form, the behavior is different. In under normal circumstances the footnotes of the new form are ''not'' incorporated into those of the existing form (if any), but are simply dropped. To understand why this makes sense, consider a term that has two possible forms of its lemma (e.g. two forms differing in stress or in vowel length), where the second form is archaic, rare, colloquial or the like, and has an attached footnote indicating this. An example of this is {{m+|ru|кожух||sheepskin coat; bullet shell}}, where the form ''кожу́х'' with accent pattern ''b'' is more common overall but the form ''ко́жух'' with accent pattern ''c(1)'' is more common among professionals. On first glance, this could be indicated using `((кожу́х&lt;b>,ко́жух<c(1).[professional usage only]>))`. But some forms of these two declensions are the same (in particular, the genitive, dative, instrumental and prepositional plural). If for these slots, the footnotes of the duplicate forms were combined (i.e. the footnotes of the second declension pattern were added to the already-existing form taken from the first declension pattern), these forms would wrongly be labeled as ''professional usage only''. For this reason, it makes more sense to drop the footnotes of the second form when deduplicating. The same sort of behavior makes sense when a single lemma can have two different declensions, the second of which requires a footnote and where some forms in the two declensions are shared. An example of this is {{m+|uk|окови́та||strong, high-quality liquor}}, which can be inflected adjectivally or (rarely) nominally. This would be indicated as `((окови́та<sg.+>,окови́та<sg.[rare]>))` where the `+` indicates adjectival declension and the `sg` indicates that this term only exists in the singular. Here, the two declensions differ in the genitive, dative/locative and vocative (respectively, adjectival ''окови́тої'', ''окови́тій'', ''окови́та'' vs. nominal ''окови́ти'', ''окови́ті'', ''окови́то'') but are the same in the accusative (''окови́ту'') and instrumental (''окови́тою''). Again, dropping the footnotes of the second form when deduplicating is correct and including them would be wrong. This behavior can be changed by attaching a '''footnote modifier''' to the footnote associated the second form. A footnote modifier is a symbol attached to the beginning of a footnote, directly following the opening bracket. The following modifiers are currently recognized: * `!` or `+`: If placed on a footnote of the second form, combine that footnote with those of the first form (if any) rather than dropping it. * `*`: If placed on a footnote of the first form, drop that footnote when merging a second form with any footnotes. An example where the `*` modifier makes sense is a modification of the above example with {{m+|ru|кожух}}. If we notated it as `((кожу́х<b.[more common among laymen]>,ко́жух<c(1).[more common among professionals]>))`, the shared forms would wrongly have the footnote ''more common among laymen'' when in fact they are the only possible forms. If instead we used `((кожу́х<b.[*more common among laymen]>,ко́жух<c(1).[more common among professionals]>))`, the shared forms would correctly have no footnote. ]==] local function extract_footnote_modifiers(footnote) local footnote_mods, footnote_without_mods = footnote:match("^%[([!*+]?)(.*)%]$") if not footnote_mods then error("Saw footnote '" .. footnote .. "' not surrounded by brackets") end return footnote_mods, footnote_without_mods end function export.deduplicate_footnotes(existing, new) if not new then return existing end -- Check to see if there are existing footnotes with *; if so, remove them. if existing then local any_footnotes_with_asterisk = false for _, footnote in ipairs(existing) do local footnote_mods, _ = extract_footnote_modifiers(footnote) if footnote_mods:find("%*") then any_footnotes_with_asterisk = true break end end if any_footnotes_with_asterisk then local filtered_footnotes = {} for _, footnote in ipairs(existing) do local footnote_mods, _ = extract_footnote_modifiers(footnote) if not footnote_mods:find("%*") then insert(filtered_footnotes, footnote) end end if #filtered_footnotes > 0 then existing = filtered_footnotes else existing = nil end end end -- The behavior here has changed; track cases where the old behavior might -- be needed by adding ! to the footnote. track("combining-footnotes") local any_footnotes_with_bang = false for _, footnote in ipairs(new) do local footnote_mods, _ = extract_footnote_modifiers(footnote) if footnote_mods:find("[!+]") then any_footnotes_with_bang = true break end end if any_footnotes_with_bang then if not existing then existing = {} else existing = shallow_copy(existing) end for _, footnote in ipairs(new) do local already_seen = false local footnote_mods, footnote_without_mods = extract_footnote_modifiers(footnote) if footnote_mods:find("[!+]") then for _, existing_footnote in ipairs(existing) do local _, existing_footnote_without_mods = extract_footnote_modifiers(existing_footnote) if existing_footnote_without_mods == footnote_without_mods then already_seen = true break end end if not already_seen then insert(existing, footnote) end end end end return existing end --[==[ Combine two sets of footnotes. If either is {nil}, just return the other, and if both are {nil}, return {nil}. ]==] function export.combine_footnotes(notes1, notes2) if not notes1 and not notes2 then return nil end if not notes1 then return notes2 end if not notes2 then return notes1 end local combined = shallow_copy(notes1) for _, note in ipairs(notes2) do insert_if_not(combined, note) end return combined end function export.combine_formobj_lists(list1, list2, metadata) if not list1 and not list2 then return nil end if not list1 then return list2 end if not list2 then return list1 end return export.insert_formobjs_into_list { existing_list = list1, formobjs = list2, metadata = metadata, } end function export.looks_like_formobj_list(list) if list == nil then return true end if type(list) ~= "table" then return false end for k, v in pairs(list) do if type(k) ~= "number" then return false end if type(v) ~= "table" then return false end if type(v.form) ~= "string" then return false end end return true end function export.looks_like_boolean(object) return object == nil or type(object) == "boolean" end function export.default_fallback_deduplicate_handler(_prop, existing, _new) return existing, true end function export.default_fallback_combine_handler(_prop, existing, new) if export.looks_like_formobj_list(existing) and export.looks_like_formobj_list(new) then return export.combine_formobj_lists(existing, new), true end if export.looks_like_boolean(existing) and export.looks_like_boolean(new) then return existing or new, true end if existing ~= nil then return existing, true end return new, true end --[=[ Default handler functions for working with form object metadata. The user-specific metadata structure has the same format. The key is a specific metadata field and the value is an object with fields specifying handlers and other properties of the metadata. The recognized per-metadata fields are: * `deduplicate`: Handler to deduplicate form objects when inserting a form object into an existing list (e.g. in a form table) and two form objects have the same form value and translit. It is passed two values, respectively the metadata property from the existing list object and the new object being inserted into the list. The default and most common behavior here is to preserve the property from the existing object, even if {nil}, and discard the value from the new object. This is what is done in footnotes, for example, unless the existing footnote is preceded by a * (meaning to discard both values) or the new one is preceded by a + (meaning to preserve and combine both values, which is not currrently used anywhere and may not make sense). This ensures, for example, that if a noun can be declined according to two paradigms and the second one is rare, the {"rare"} footnote on the second one gets discarded whenever the two paradigms coincide. * `combine`: Handler to combine form objects when deriving a new object from an existing one. This is conceptually very different from deduplication. In this situation, the existing and new objects may or may not match in form value and translit, and since the new form object is a derivative of the existing one, it should combine the metadata properties of both, preserving as much information as possible and not discarding anything. Combining footnotes, for example, means taking the footnotes from either one, and if both exising and new objects have footnotes, merging the two lists and removing duplicates. (The only exception is if a new footnote is preceded by !, which causes existing footnotes to be discarded. This is termed an ''override'', and allows e.g. for one form of a paradigm to override the footnote associated with the paradigm as a whole, as for example if a paradigm is archaic except for one of the forms.) The default `combine` strategy is as follows: *# If both the existing and new objects are {nil} or "look like" form object lists (i.e. are tables where all keys are numeric and all values are tables with a `form` key whose value is a string), combine them using `insert_formobjs_into_list`. *# If both the existing and new objects are {nil} or boolean, combine them using `A or B`. *# Otherwise, take the existing value if it is non-{nil}, and if not, take the new value. Note that this means that the existing value will be kept even if it is {false} (which would not happen if the new value were {true}); this allows for metadata where {false} is a special signal and keys are otherwise strings or objects. However, in general if the metadata objects are not boolean and not form object lists, they will need a custom combine handler. Some keys in the metadata handler object are special: * `*`: This provides "fallback" handlers. These handlers are called for all metadata fields without dedicated handlers. These handlers work similar to normal `deduplicate` and `combine` handlers except (a) they are passed three values, first the metadata property name and then the existing and new values; (b) they should return two values, first the appropriate merged value and second a boolean indicating whether the property was handled. (If {false} is returned, the first value is ignored and should be {nil}.) Dedicated and fallback handlers are called in the following order: (1) dedicated user-specified handlers; (2) dedicated default handlers; (3) fallback user-specified handlers; (4) fallback default handlers. This ensures that standard dedicated default handlers (particularly for footnotes) get run prior to the user-specified fallback handlers; otherwise, practically all such fallback handlers will need to check for and ignore footnotes. * `_side_effect_formobjs`: If true, existing form objects can be side-effected during deduplication or combining. This requires that two logically distinct form objects in a given form table never have the same reference. (Generally two such objects should be in different slots. If two references to the same object occur in different positions in the list of form objects under a single slot, it indicates an internal error in the deduplication mechanism.) This means that user code that generates form objects for insertion into a table must take care never to reuse existing form objects (e.g. when setting one slot equal to another slot), but must always shallow-copy the form objects. This is not the default for this reason, and in fact it's not clear that implementing this results in any efficiency gain (it may actually be the reverse, since form objects have to be copied that could otherwise be shared). ]=] local default_metadata_handlers = { footnotes = { deduplicate = export.deduplicate_footnotes, combine = export.combine_footnotes, }, ["*"] = { deduplicate = export.default_fallback_deduplicate_handler, combine = export.default_fallback_combine_handler, } } local function is_non_metadata_property(k) return k == "form" or k == "translit" end -- Call the appropriate handler for merging the metadata for property `prop` with values `existing_val` and `new_val`, -- using method `method` (either "deduplicate" or "combine"). `metadata` is the structure describing all properties of -- all metadata in a given form object. This looks for, in order: -- 1. A handler for the specific property in `metadata`. -- 2. A default handler for the specific property. -- 3. A fallback handler in `metadata`. -- 4. A default fallback handler. -- Return the new value. local function call_merge_metadata_handler(metadata, prop, method, existing_val, new_val) local function try_specific(handler_struct, prop) if handler_struct and handler_struct[prop] and handler_struct[prop][method] then return (handler_struct[prop][method](existing_val, new_val)), true end return nil, false end local function try_fallback(handler_struct, prop) if handler_struct and handler_struct["*"] and handler_struct["*"][method] then -- Two values are returned from the handler, the new value and whether the property was handled. return handler_struct["*"][method](prop, existing_val, new_val) end return nil, false end local retval, matched = try_specific(metadata, prop) if matched then return retval end retval, matched = try_specific(default_metadata_handlers, prop) if matched then return retval end retval, matched = try_fallback(metadata, prop) if matched then return retval end retval, matched = try_fallback(default_metadata_handlers, prop) return retval end -- Merge the metadata of two form objects using `method` (either "deduplicate" or "combine"). `metadata` is the -- structure describing all properties of all metadata in a given form object. Metadata is merged between -- `existing_formobj` (on the left) and `new_formobj` (on the right), and is normally stored into `existing_formobj`, -- but will be stored into `new_formobj` if `merge_into_new` is given. If `metadata` allows for side-effecting, the -- changes will be made by side-effecting the object to be changed; otherwise, a shallow copy of the object will be -- made if necessary (only if the new value is not equal to the existing value). Returns two values, the changed form -- object (which may be the same as one of the passed-in objects) and a flag which is true if a copy was made of a form -- object. local function merge_metadata(metadata, method, existing_formobj, new_formobj, merge_into_new) local props_of_either = nil for k, _ in pairs(existing_formobj) do if not is_non_metadata_property(k) then props_of_either = props_of_either or {} props_of_either[k] = true end end for k, _ in pairs(new_formobj) do if not is_non_metadata_property(k) then props_of_either = props_of_either or {} props_of_either[k] = true end end local store_object = merge_into_new and new_formobj or existing_formobj if props_of_either then if metadata._side_effect_formobjs then for k, _ in pairs(props_of_either) do store_object[k] = call_merge_metadata_handler(metadata, k, method, existing_formobj[k], new_formobj[k]) end else local need_to_copy = false local new_values = {} for k, _ in pairs(props_of_either) do local newval = call_merge_metadata_handler(metadata, k, method, existing_formobj[k], new_formobj[k]) if newval ~= store_object[k] and not m_table.deepEquals(newval, store_object[k]) then need_to_copy = true end new_values[k] = newval end if need_to_copy then store_object = shallow_copy(store_object) for k, _ in pairs(props_of_either) do store_object[k] = new_values[k] end end return store_object, need_to_copy end else return store_object, false end end --[==[ Insert a form object (see above) into a list of such objects. If the form is already present (i.e. both the form value and translit, if any, match), the footnotes of the existing and new form might be combined (specifically, footnotes in the new form beginning with `+` will be combined). ]==] function export.insert_formobj_into_list(data) local existing_list = data.existing_list local formobj = data.formobj -- Don't do anything if the form object is nil. if not formobj then return existing_list end for i, existing_formobj in ipairs(existing_list) do if existing_formobj.form == formobj.form and existing_formobj.translit == formobj.translit then local new_existing, copied = merge_metadata(data.metadata, "deduplicate", existing_formobj, formobj) if copied then local list_copy = shallow_copy(existing_list) list_copy[i] = new_existing return list_copy end return existing_list end end -- Form not found. insert(existing_list, formobj) return existing_list end --[==[ Insert a list of form objects (see above) into an existing list of such objects. ``forms`` can be {nil}, in which case nothing happens. This is equivalent to calling `insert_form_into_list` for each form object. ]==] function export.insert_formobjs_into_list(data) local existing_list = data.existing_list local formobjs = data.formobjs if not formobjs then return existing_list end for _, formobj in ipairs(formobjs) do existing_list = export.insert_formobj_into_list { existing_list = existing_list, formobj = formobj, metadata = data.metadata, } end return existing_list end --[==[ Insert a form object (see above) into the given slot in the given form table. On input, `data` is an object with the following fields: * `formtable`: A form table (see above). * `slot`: A slot in the form table, i.e. a key whose value is a form object list. * `formobj`: A form object to be inserted into the slot. Can be {nil}, in which case nothing happens. * `metadata`: The metadata structure describing how to combine user-specified metadata. Can be {nil} if there is no user-specified metadata or the default fallback metadata handlers are sufficient (which is usually the case if the all user-specified metadata is boolean). ]==] function export.insert_formobj_into_form_table(data) local formtable, slot, formobj, metadata = data.formtable, data.slot, data.formobj, data.metadata -- Don't do anything if the form object is nil. if not formobj then return end if not formtable[slot] then formtable[slot] = {} end formtable[slot] = export.insert_formobj_into_list { existing_list = formtable[slot], formobj = formobj, metadata = metadata, } end --[==[ Insert a list of form objects (see above) into the given slot in the given form table. On input, `data` is an object with the following fields: * `formtable`: A form table (see above). * `slot`: A slot in the form table, i.e. a key whose value is a form object list. * `formobjs`: A list of form objects (in "full list" form) to be inserted into the slot. Can be {nil} or an empty list, in which case nothing happens. * `metadata`: The metadata structure describing how to combine user-specified metadata. Can be {nil} if there is no user-specified metadata or the default fallback metadata handlers are sufficient (which is usually the case if the all user-specified metadata is boolean). ]==] function export.insert_formobjs_into_form_table(data) local formtable, slot, formobjs, metadata = data.formtable, data.slot, data.formobjs, data.metadata if not formobjs or not formobjs[1] then return end if not formtable[slot] then formtable[slot] = {} end formtable[slot] = export.insert_formobjs_into_list { existing_list = formtable[slot], formobjs = formobjs, metadata = metadata, } end --[==[ Flatmap a function over a list of form objects and return the (potentially flattened) results. Flatmapping is like a normal mapping operation except that the function being called may return a list, and all values returned are concatenated into a single flattened list. On input, `data` is an object with the following fields: * `formobjs`: A list of form objects to map over, in "full list form" (see above). * `fn`: The function to map over each form object. If a form object's value is {"?"}, the form object is preserved on output and the function is not called. Otherwise, the function is called with one argument, the form object, and should {nil} (equivalent to returning an empty list) or an abbreviated form list (i.e. anything that is convertible into a full list form, such as a single form value, a list of form values, a form object or a list of form objects). For each form object in the return value, the metadata of the object mapped over is combined with the metadata of the returned object, unless `no_combine_metadata` is given. The resulting form objects from all function calls are flattened into a list and deduplicated in the same fashion as `insert_formobj_into_list()` (in case two different form objects map to the same form value). * `metadata`: The metadata structure describing how to combine user-specified metadata. Can be {nil} if there is no user-specified metadata or the default fallback metadata handlers are sufficient (which is usually the case if the all user-specified metadata is boolean). * `no_combine_metadata`: See `fn` above. If given, metadata from objects mapped over will not be combined into the returned objects. NOTE: There is no `map_formobjs` function provided because `flatmap_formobjs` will correctly handle functions that return single form objects. ]==] function export.flatmap_formobjs(data) local formobjs, fn, metadata, no_combine_metadata = data.formobjs, data.fn, data.metadata, data.no_combine_metadata if not formobjs then return nil end local retval = {} for _, formobj in ipairs(formobjs) do local funret if formobj.form == "?" then if metadata and metadata._side_effect_formobjs then funret = shallow_copy(formobj) else funret = formobj end else funret = fn(formobj) end if funret then funret = export.convert_to_full_list_form(funret) for _, fr in ipairs(funret) do if not no_combine_metadata then fr = merge_metadata(metadata, "combine", formobj, fr, "merge_into_new") end retval = export.insert_formobj_into_list { existing_list = retval, formobj = fr, metadata = metadata, } end end end return retval end --[==[ Insert a form object (see above) into a list of such objects. If the form is already present (i.e. both the form value and translit, if any, match), the footnotes of the existing and new form might be combined (specifically, footnotes in the new form beginning with `!` will be combined). ]==] function export.insert_form_into_list(list, form) -- Don't do anything if the form object or the form inside it is nil. This simplifies -- form insertion in the presence of inflection generating functions that may return nil, -- such as generate_noun_vocative() and generate_noun_count_form(). if not form or not form.form then return end for _, listform in ipairs(list) do if listform.form == form.form and listform.translit == form.translit then listform.footnotes = export.deduplicate_footnotes(listform.footnotes, form.footnotes) return end end -- Form not found. insert(list, form) end --[==[ Insert a list of form objects (see above) into an existing list of such objects. ``forms`` can be {nil}, in which case nothing happens. This is equivalent to calling `insert_form_into_list` for each form object. ]==] function export.insert_forms_into_list(list, forms) if not forms then return end for _, form in ipairs(forms) do export.insert_form_into_list(list, form) end end --[==[ Insert a form object (see above) into the given slot in the given form table. ``form`` can be {nil}, in which case nothing happens. ]==] function export.insert_form(formtable, slot, form) -- Don't do anything if the form object or the form inside it is nil. This simplifies -- form insertion in the presence of inflection generating functions that may return nil, -- such as generate_noun_vocative() and generate_noun_count_form(). if not form or not form.form then return end if not formtable[slot] then formtable[slot] = {} end export.insert_form_into_list(formtable[slot], form) end --[==[ Insert a list of form objects (see above) into the given slot in the given form table. ``forms`` can be {nil}, in which case nothing happens. ]==] function export.insert_forms(formtable, slot, forms) if not forms then return end for _, form in ipairs(forms) do export.insert_form(formtable, slot, form) end end --[==[ Identity mapping function. ]==] function export.identity(formval, translit) return formval, translit end local function form_value_transliterable(formval) return formval ~= "?" and formval ~= "—" end local function call_map_function_str(str, fun) if str == "?" then return "?" end local newformval, newtranslit = fun(str) if newtranslit then return {form=newformval, translit=newtranslit} else return newformval end end -- FIXME: This doesn't correctly handle metadata. local function call_map_function_obj(form, fun) if form.form == "?" then return {form = "?", footnotes = form.footnotes} end local newformval, newtranslit = fun(form.form, form.translit) return {form = newformval, translit = newtranslit, footnotes = form.footnotes} end --[==[ Map a function over the form values in ``forms`` (a list of form objects in "full list form"; see above). If an input form value is {"?"}, it is preserved on output and the function is not called. Otherwise, the function is called with two arguments, the original form and manual translit; if manual translit isn't relevant, it's fine to declare the function with only one argument. The return value is either a single value (the new form) or two values (the new form and new manual translit). The footnotes (if any) from the input form objects are preserved on output. Uses `insert_form_into_list()` to insert the resulting form objects into the returned list in case two different forms map to the same thing. FIXME: Expand this to correctly handle metadata, or create a variant that correctly handles metadata. ]==] function export.map_forms(forms, fun) if not forms then return nil end local retval = {} for _, form in ipairs(forms) do export.insert_form_into_list(retval, call_map_function_obj(form, fun)) end return retval end --[==[ Map a list-returning function over the form values in ``forms`` (a list of form objects in "full list form"; see above). If an input form value is {"?"}, it is preserved on output and the function is not called. Otherwise, the function is called with two arguments, the original form and manual translit; if manual translit isn't relevant, it's fine to declare the function with only one argument. The return value of the function can be {nil} or an abbreviated form list (i.e. anything that is convertible into a full list form, such as a single form value, a list of form values, a form object or a list of form objects). For each form object in the return value, the footnotes of that form object (if any) are combined with any footnotes from the input form object, and the result inserted into the returned list using `insert_form_into_list()` in case two different forms map to the same thing. ]==] function export.flatmap_forms(forms, fun) if not forms then return nil end local retval = {} for _, form in ipairs(forms) do local funret = form.form == "?" and form or fun(form.form, form.translit) if funret then funret = export.convert_to_general_list_form(funret) for _, fr in ipairs(funret) do local newform = { form = fr.form, translit = fr.translit, footnotes = export.combine_footnotes(form.footnotes, fr.footnotes) } export.insert_form_into_list(retval, newform) end end end return retval end --[==[ Map a function over the form values in ``abforms`` (an abbreviated form list). If the input form value is {"?"}, it is preserved on output and the function is not called. If ``first_only`` is given and ``abforms`` is a list, only map over the first element. Return value is of the same form as ``abforms``, unless ``abforms`` is a string and the function returns both form value and manual translit (in which case the return value is a form object). The function is called with two arguments, the original form value and manual translit; if manual translit isn't relevant, it's fine to declare the function with only one argument. The return value is either a single value (the new form value) or two values (the new form value and new manual translit). The footnotes (if any) from the input form objects are preserved on output. FIXME: This function is used only in [[Module:bg-verb]] and should be moved into that module. ]==] function export.map_form_or_forms(abforms, fun, first_only) if not abforms then return nil elseif type(abforms) == "string" then return call_map_function_str(abforms, fun) elseif abforms.form then return call_map_function_obj(abforms, fun) else local retval = {} for i, abform in ipairs(abforms) do if first_only then return export.map_form_or_forms(abform, fun) end insert(retval, export.map_form_or_forms(abform, fun)) end return retval end end --[==[ Expand a given footnote (as specified by the user, including the surrounding brackets) into the form to be inserted into the final generated table. If ``no_parse_refs`` is not given and the footnote is a reference (of the form {"[ref:...]"}), parse and return the specified reference(s). Two values are returned, `footnote_string` (the expanded footnote, or nil if the second value is present) and `references` (a list of objects of the form `{text = ``text``, name = ``name``, group = ``group``}` if the footnote is a reference and ``no_parse_refs`` is not given, otherwise {nil}). Unless ``return_raw`` is given, the returned footnote string is capitalized and has a final period added. ]==] function export.expand_footnote_or_references(note, return_raw, no_parse_refs) local _, notetext = extract_footnote_modifiers(note) if not no_parse_refs and notetext:find("^ref:") then -- a reference notetext = notetext:gsub("^ref:", "") local parsed_refs = require("Module:references").parse_references(notetext) for i, ref in ipairs(parsed_refs) do if type(ref) == "string" then parsed_refs[i] = {text = ref} end end return nil, parsed_refs end if footnote_abbrevs[notetext] then notetext = footnote_abbrevs[notetext] track("footnote-whole-abbrev") else local split_notes = split(notetext, "<(.-)>") for i, split_note in ipairs(split_notes) do if i % 2 == 0 then split_notes[i] = footnote_abbrevs[split_note] track("footnote-angle-bracket-abbrev") if not split_notes[i] then -- Don't error for now, because HTML might be in the footnote. -- Instead we should switch the syntax here to e.g. <<a>> to avoid -- conflicting with HTML. split_notes[i] = "<" .. split_note .. ">" track("footnote-unrecognized-angle-bracket-abbrev") --error("Unrecognized footnote abbrev: <" .. split_note .. ">") else track("footnote-recognized-angle-bracket-abbrev") end end end notetext = concat(split_notes) end return return_raw and notetext or ucfirst(notetext) .. "。" end --[==[ Convert a list of foonotes to qualifiers and references for use in [[Module:headword]] or similar. Returns two values, a list of qualifiers (possibly {nil}) and a list of reference structures (possibly {nil}), following the structure defined in [[Module:references]]). ]==] function export.convert_footnotes_to_qualifiers_and_references(footnotes) if not footnotes then return nil end local quals, refs for _, qualifier in ipairs(footnotes) do local this_footnote, this_refs = export.expand_footnote_or_references(qualifier, "return raw") if this_refs then if not refs then refs = this_refs else for _, ref in ipairs(this_refs) do insert(refs, ref) end end else if not quals then quals = {this_footnote} else insert(quals, this_footnote) end end end return quals, refs end --[==[ Combine an abbreviated form object (either a string or a table) with additional footnotes, possibly replacing the form value and/or translit in the process. Normally called in one of two ways: (1) `combine_form_and_footnotes(``form_obj``, ``addl_footnotes``, ``new_form``, ``new_translit``)` where ``form_obj`` is an existing abbreviated form object; ``addl_footnotes`` is either {nil}, a single string (a footnote) or a list of footnotes; ``new_formval`` is either {nil} or the new form value to substitute; and ``new_translit`` is either {nil} or the new translit string to substitute. (2) `combine_form_and_footnotes(``form_value``, ``footnotes``)`, where ``form_value`` is a form value (a string) and ``footnotes`` is either {nil}, a single string (a footnote) or a list of footnotes. In either case, a form object is returned, preserving as many properties as possible from any existing form object in ``abform``. Do the minimal amount of work; e.g. if ``abform`` is a form object and ``addl_footnotes``, ``new_formval`` and ``new_translit`` are all {nil}, the same object as passed in is returned. Under no circumstances is the existing form object side-effected. '''FIXME:''' This does not correctly preserve metadata. ]==] function export.combine_form_and_footnotes(abform, addl_footnotes, new_formval, new_translit) if type(addl_footnotes) == "string" then addl_footnotes = {addl_footnotes} end if not addl_footnotes and not new_formval and not new_translit then return abform end if type(abform) == "string" then new_formval = new_formval or abform return {form = new_formval, translit = new_translit, footnotes = addl_footnotes} end abform = shallow_copy(abform) if new_formval then abform.form = new_formval end if new_translit then abform.translit = new_translit end if addl_footnotes then abform.footnotes = export.combine_footnotes(abform.footnotes, addl_footnotes) end return abform end --[==[ Convert an abbreviated form list (either a string, form object, or list of either) into full list form. This function does not side-effect any of the objects passed into ``abforms``, but will return ``abforms`` unchanged if already in full list form. ]==] function export.convert_to_full_list_form(abforms) if type(abforms) == "string" then return {{form = abforms}} elseif abforms.form then return {abforms} else -- Check if already in full list form and return directly if so. local must_convert = false for _, form in ipairs(abforms) do if type(form) == "string" then must_convert = true break end end if not must_convert then return abforms end end local retval = {} for _, form in ipairs(abforms) do if type(form) == "string" then insert(retval, {form = form}) else insert(retval, form) end end return retval end --[==[ Convert an abbreviated form list (either a string, form object, or list of either) into full list form. If ``footnotes`` is supplied, then for each form in the form list, combine the form's footnotes with ``footnotes``. This function does not side-effect any of the objects passed into ``abforms``, but will return ``abforms`` unchanged if already in full list form and ``footnotes`` is {nil}. '''FIXME:''' This does not correctly preserve metadata. ]==] function export.convert_to_general_list_form(abforms, footnotes) if type(footnotes) == "string" then footnotes = {footnotes} end if type(abforms) == "string" then return {{form = abforms, footnotes = footnotes}} elseif abforms.form then return {export.combine_form_and_footnotes(abforms, footnotes)} elseif not footnotes then -- Check if already in full list form and return directly if so. local must_convert = false for _, form in ipairs(abforms) do if type(form) == "string" then must_convert = true break end end if not must_convert then return abforms end end local retval = {} for _, form in ipairs(abforms) do if type(form) == "string" then insert(retval, {form = form, footnotes = footnotes}) else insert(retval, export.combine_form_and_footnotes(form, footnotes)) end end return retval end local function is_table_of_strings(forms) for k, v in pairs(forms) do if type(k) ~= "number" or type(v) ~= "string" then return false end end return true end local function lang_or_func_transliterate(func, lang, text) local retval if func then retval = func(text) else retval = (lang:transliterate(text)) end -- FIXME! Hack to work around bug in ...:transliterate(). Remove me as soon as this bug is fixed. if not retval and (text == " " or text == "-" or text == "-́" or text == "?" or text == "-∅") then retval = text end if not retval then error(("Unable to transliterate text '%s'"):format(text)) end return retval end --[==[ Combine ``stems`` and ``endings`` and store into slot ``slot`` of form table ``formtable``. Either of ``stems`` and ``endings`` can be {nil} or an abbreviated form list. The combination of a given stem and ending happens using ``combine_stem_ending``, which takes two parameters (stem and ending, each a string) and returns one value (a string). If manual transliteration is present in either ``stems`` or ``endings``, ``lang`` (a language object or a function of one argument to transliterate a string) along with ``combine_stem_ending_tr`` (a function for combining manual transliterations that works much like ``combine_stem_ending``) must be given. ``footnotes``, if specified, is a list of additional footnotes to attach to the resulting inflections (stem+ending combinations). The resulting inflections are inserted into the form table using `insert_form()`, in case of duplication. ]==] function export.add_forms(formtable, slot, stems, endings, combine_stem_ending, lang, combine_stem_ending_tr, footnotes) if stems == nil or endings == nil then return end local function combine(stem, ending) if stem == "?" or ending == "?" then return "?" end return combine_stem_ending(stem, ending) end local function transliterate(text) return lang_or_func_transliterate(is_callable(lang) and lang or nil, lang, text) end if type(stems) == "string" and type(endings) == "string" then export.insert_form(formtable, slot, {form = combine(stems, endings), footnotes = footnotes}) elseif type(stems) == "string" and is_table_of_strings(endings) then for _, ending in ipairs(endings) do export.insert_form(formtable, slot, {form = combine(stems, ending), footnotes = footnotes}) end else stems = export.convert_to_general_list_form(stems) endings = export.convert_to_general_list_form(endings, footnotes) for _, stem in ipairs(stems) do for _, ending in ipairs(endings) do local new_footnotes = nil if stem.footnotes and ending.footnotes then new_footnotes = shallow_copy(stem.footnotes) for _, footnote in ipairs(ending.footnotes) do insert_if_not(new_footnotes, footnote) end elseif stem.footnotes then new_footnotes = stem.footnotes elseif ending.footnotes then new_footnotes = ending.footnotes end local new_form = combine(stem.form, ending.form) local new_translit if new_form ~= "?" and (stem.translit or ending.translit) then if not lang or not combine_stem_ending_tr then error("Internal error: With manual translit, 'lang' and 'combine_stem_ending_tr' must be passed to 'add_forms'") end local stem_tr = stem.translit or transliterate(m_links.remove_links(stem.form)) local ending_tr = ending.translit or transliterate(m_links.remove_links(ending.form)) new_translit = combine_stem_ending_tr(stem_tr, ending_tr) end export.insert_form(formtable, slot, {form = new_form, translit = new_translit, footnotes = new_footnotes}) end end end end --[==[ Combine any number of form components and store into slot ``slot`` of form table ``formtable``. ``components`` is a list of abbreviated form lists which should be concatenated similarly to how `add_forms()` does it, and stored in ``slot`` along with any footnotes in ``footnotes``. More specifically: # If there are no components, nothing happens. # If there is one component, it is converted to full list form and `insert_forms()` called. # If there are two components, they are treated as stems and endings respectively and `add_forms()` is called. # If there are three or more components, they are concatenated left-to-right in the manner of a `reduce()` operation: the first two components are combined using `add_forms()` and stored into a temporary table, then the next component is combined with the result of the previous operation, etc. In the last combination, footnotes in `footnotes` are combined in, and the result stored into `formtable`. This should generally be used when you are likely to have three or more components, as in [[Module:ar-verb]] (prefixes, stems and endings) and [[Module:de-verb]] (which in some situations has five components combined together). ``combine_stem_ending``, ``lang``, ``combine_stem_ending_tr`` and ``footnotes`` are as in `add_forms()`. ]==] function export.add_multiple_forms(formtable, slot, components, combine_stem_ending, lang, combine_stem_ending_tr, footnotes) if #components == 0 then return elseif #components == 1 then local forms = export.convert_to_general_list_form(components[1], footnotes) export.insert_forms(formtable, slot, forms) elseif #components == 2 then local stems = components[1] local endings = components[2] export.add_forms(formtable, slot, stems, endings, combine_stem_ending, lang, combine_stem_ending_tr, footnotes) else local prev = components[1] for i=2, #components do local temptable = {} export.add_forms(temptable, slot, prev, components[i], combine_stem_ending, lang, combine_stem_ending_tr, i == #components and footnotes or nil) prev = temptable[slot] end export.insert_forms(formtable, slot, prev) end end local function iterate_slot_list_or_table(props, do_slot) if props.slot_list then for _, slot_and_accel_tag_set in ipairs(props.slot_list) do local slot, accel_tag_set = unpack(slot_and_accel_tag_set) do_slot(slot, accel_tag_set) end else for slot, accel_tag_set in pairs(props.slot_table) do do_slot(slot, accel_tag_set) end end end function export.default_split_bracketed_runs_into_words(bracketed_runs, data) -- If the text begins with a hyphen, include the hyphen in the set of allowed characters -- for an inflected segment. This way, e.g. conjugating "-ir" is treated as a regular -- -ir verb rather than a hyphen + irregular [[ir]]. local is_suffix = (not data or data.text_index == 1) and bracketed_runs[1]:find("^%-") local split_pattern = is_suffix and " " or "[ %-]" return put.split_alternating_runs(bracketed_runs, split_pattern, "preserve splitchar") end local function props_transliterate(props, text) return lang_or_func_transliterate(props.transliterate, props.lang, text) end local function parse_before_or_post_text(data) -- NOTE: data.text_index is also used (in `default_split_bracketed_runs_into_words`). local props, text, segments, lemma_is_last = data.props, data.text, data.segments, data.lemma_is_last -- Call parse_balanced_segment_run() to keep multiword links together. local bracketed_runs = put.parse_balanced_segment_run(text, "[", "]") -- Split normally on space or hyphen (but customizable). Use preserve_splitchar so we know whether the separator was -- a space or hyphen. local space_separated_groups if props.split_bracketed_runs_into_words then space_separated_groups = props.split_bracketed_runs_into_words(bracketed_runs) end if not space_separated_groups then space_separated_groups = export.default_split_bracketed_runs_into_words(bracketed_runs, data) end local parsed_components = {} local parsed_components_translit = {} local saw_manual_translit = false local lemma for j, space_separated_group in ipairs(space_separated_groups) do local component = concat(space_separated_group) if lemma_is_last and j == #space_separated_groups then lemma = component if lemma == "" and not props.allow_blank_lemma then error("Word is blank: '" .. concat(segments) .. "'") end elseif component:find("//") then -- Manual translit or respelling specified. if not props.lang then error("Manual translit not allowed for this language; if this is incorrect, 'props.lang' must be set internally") end saw_manual_translit = true local split_components = split(component, "//", "plain") if #split_components ~= 2 then error("Term with translit or respelling should have only one // in it: " .. component) end local translit component, translit = unpack(split_components) if props.transliterate_respelling then translit = props.transliterate_respelling(translit) end insert(parsed_components, component) insert(parsed_components_translit, translit) else insert(parsed_components, component) insert(parsed_components_translit, false) -- signal that it may need later transliteration end end if saw_manual_translit then for j, parsed_component in ipairs(parsed_components) do if not parsed_components_translit[j] then parsed_components_translit[j] = props_transliterate(props, m_links.remove_links(parsed_component)) end end end text = concat(parsed_components) local translit if saw_manual_translit then translit = concat(parsed_components_translit) end return text, translit, lemma end --[=[ Parse a segmented multiword spec such as "[[медичний|меди́чна]]<+> [[сестра́]]<*,*#.pr>" (in Ukrainian). "Segmented" here means it is broken up on <...> segments using parse_balanced_segment_run(text, "<", ">"), e.g. the above text would be passed in as {"[[медичний|меди́чна]]", "<+>", " [[сестра́]]", "<*,*#.pr>", ""}. The return value is a table of the form { word_specs = {``word_spec``, ``word_spec``, ...}, post_text = "``text-at-end``", post_text_no_links = "``text-at-end-no-links``", post_text_translit = "``manual-translit-of-text-at-end``" or nil (if no manual translit or respelling was specified in the post-text) } where ``word_spec`` describes an individual inflected word and "``text-at-end``" is any raw text that may occur after all inflected words. Individual words or linked text (including multiword text) may be given manual transliteration or respelling in languages that support this using ``text``//``translit`` or ``text``//``respelling``. Each ``word_spec`` is of the form returned by parse_indicator_spec(): { lemma = "``lemma``", before_text = "``text-before-word``", before_text_no_links = "``text-before-word-no-links``", before_text_translit = "``manual-translit-of-text-before-word``" or nil (if no manual translit or respelling was specified in the before-text) -- Fields as described in parse_indicator_spec() ... } For example, the return value for "[[медичний|меди́чна]]<+> [[сестра́]]<*,*#.pr>" is { word_specs = { { lemma = "[[медичний|меди́чна]]", overrides = {}, adj = true, before_text = "", before_text_no_links = "", forms = {}, }, { lemma = "[[сестра́]]", overrides = {}, stresses = { { reducible = true, genpl_reversed = false, }, { reducible = true, genpl_reversed = true, }, }, animacy = "pr", before_text = " ", before_text_no_links = " ", forms = {}, }, }, post_text = "", post_text_no_links = "", } ]=] local function parse_multiword_spec(segments, props, disable_allow_default_indicator) local multiword_spec = { word_specs = {} } if not disable_allow_default_indicator then if #segments == 1 then if props.allow_default_indicator then insert(segments, "<>") insert(segments, "") elseif props.angle_brackets_omittable then segments[1] = "<" .. segments[1] .. ">" insert(segments, 1, "") insert(segments, "") end end end -- Loop over every other segment. The even-numbered segments are angle-bracket specs while -- the odd-numbered segments are the text between them. for i = 2, #segments - 1, 2 do local before_text, before_text_translit, lemma = parse_before_or_post_text { props = props, text = segments[i - 1], text_index = i - 1, segments = segments, lemma_is_last = true } local base = props.parse_indicator_spec(segments[i], lemma) base.before_text = before_text base.before_text_no_links = m_links.remove_links(base.before_text) base.before_text_translit = before_text_translit base.lemma = base.lemma or lemma insert(multiword_spec.word_specs, base) end multiword_spec.post_text, multiword_spec.post_text_translit = parse_before_or_post_text { props = props, text = segments[#segments], text_index = #segments, segments = segments, lemma_is_last = false } multiword_spec.post_text_no_links = m_links.remove_links(multiword_spec.post_text) return multiword_spec end --[=[ Parse an alternant, e.g. "((родо́вий,родови́й))" or "((ру́син<pr>,руси́н<b.pr>))" (both in Ukrainian). The return value is a table of the form { alternants = {``multiword_spec``, ``multiword_spec``, ...} } where ``multiword_spec`` describes a given alternant and is as returned by parse_multiword_spec(). ]=] local function parse_alternant(alternant, props) local alternant_text = alternant:match("^%(%((.*)%)%)$") local segments = put.parse_balanced_segment_run(alternant_text, "<", ">") local comma_separated_groups = put.split_alternating_runs(segments, "%s*,%s*") local alternant_spec = {alternants = {}} for _, comma_separated_group in ipairs(comma_separated_groups) do insert(alternant_spec.alternants, parse_multiword_spec(comma_separated_group, props)) end return alternant_spec end --[==[ Top-level parsing function. Parse text describing one or more inflected words. `text` is the inflected text to parse, which generally has `<...>` specs following words to be inflected, and may have alternants indicated using double parens. Examples: * {"[[медичний|меди́чна]]<+> [[сестра́]]<*,*#.pr>"} (Ukrainian, for {{m|uk|меди́чна сестра́||nurse|lit=medical sister}}); * {"((ру́син<pr>,руси́н<b.pr>))"} (Ukrainian, for {{m|uk|русин||Rusyn}}, with two possible stress patterns); * {"पंचायती//पंचाय*ती राज<M>"} (Hindi, for {{m|hi|पंचायती राज||village council}}, with phonetic respelling in the before-text component); * {"((<M>,<M.plstem:फ़तूह.dirpl:फ़तूह>))"} (Hindi, for {{m|hi|फ़तह||win, victory}} when used on that page, where the lemma is omitted and taken from the pagename); * {""} (for any number of Hindi adjectives, where the lemma is omitted and taken from the pagename, and the angle bracket spec <> is assumed); * {"काला<+>धन<M>"} (Hindi, for {{m|hi|कालाधन||black money}}, showing that closed compounds where each part is declined can be correctly handled). `props` is an object specifying properties used during parsing, as follows: ```{ parse_indicator_spec = __function__(``angle_bracket_spec``, ``lemma``) `''(required)''`, lang = __lang object__, transliterate_respelling = __function__(``respelling_or_translit``) `''(optional)''`, split_bracketed_runs_into_words = __function__(``bracket_split_runs``) `''(optional)''`, allow_default_indicator = __boolean__, angle_brackets_omittable = __boolean__, allow_blank_lemma = __boolean__, }``` `parse_indicator_spec` is a required function that takes two arguments, a string surrounded by angle brackets and the lemma, and should return an arbitrary object containing properties describing the indicators inside of the angle brackets). This object is often called a '''base''' and given the argument name `base` in inflection code. `lang` is the language object for the language in question; only needed if manual translit or respelling may be present using `//`. `transliterate_respelling` is a function that is only needed if respelling is allowed in place of manual translit after `//`. It takes one argument, the respelling or translit, and should return the transliteration of any respelling but return any translit unchanged. `split_bracketed_runs_into_words` is an optional function to split the passed-in text into words. It is used, for example, to determine what text constitutes a word when followed by an angle-bracket spec, i.e. what the lemma to be inflected is vs. surrounding fixed text. It takes one argument, the result of splitting the original text on brackets, and should return alternating runs of words and split characters, or nil to apply the default algorithm. Specifically, the value passed in is the result of calling `parse_balanced_segment_run(``text``, "[", "]")` from [[Module:parse utilities]] on the original text, and the default version of this function calls `split_alternating_runs(``bracketed_runs``, ``pattern``, "preserve splitchar")`, where ``bracketed_runs`` is the value passed in and ``pattern`` splits on either spaces or hyphens (unless the text begins with a hyphen, in which case splitting is only on spaces, so that suffixes can be inflected). `allow_default_indicator` should be {true} if an empty indicator in angle brackets `<>` can be omitted and should be automatically added at the end of the multiword text (if no alternants) or at the end of each alternant (if alternants present). `angle_brackets_omittable` should be {true} if angle brackets can be omitted around a non-empty indicator in the presence of a blank lemma. In this case, if the combined indicator spec has no angle brackets, they will be added around the indicator (or around all indicators, if alternants are present). This only makes sense when `allow_blank_lemma` is specified. `allow_blank_lemma` should be {true} of if a blank lemma is allowed; in such a case, the calling function should substitute a default lemma, typically taken from the pagename. The return value is a table referred to as an '''alternant multiword spec''', and is of the form ```{ alternant_or_word_specs = {``alternant_or_word_spec``, ``alternant_or_word_spec``, ...}, post_text = "``text_at_end``", post_text_no_links = "``text_at_end_no_links``", post_text_translit = "``translit_of_text_at_end``" `(or nil)`, }``` where `alternant_or_word_spec` is either an '''alternant spec''' as returned by `parse_alternant()` or a '''multiword spec''' as described in the comment above `parse_multiword_spec()`. An alternant spec looks as follows: ```{ alternants = {``multiword_spec``, ``multiword_spec``, ...}, before_text = "``text_before_alternant``", before_text_no_links = "``text_before_alternant``", before_text_translit = "``translit_of_text_before_alternant``" `(or nil)`, }``` i.e. it is like what is returned by `parse_alternant()` but has extra `before_text` and `before_text_no_links` fields. ]==] function export.parse_inflected_text(text, props) if props.angle_brackets_omittable and not props.allow_blank_lemma then error("If 'angle_brackets_omittable' is specified, so should 'allow_blank_lemma'") end local alternant_multiword_spec = {alternant_or_word_specs = {}} local alternant_segments = split(text, "(%(%(.-%)%))") local last_post_text, last_post_text_no_links, last_post_text_translit for i = 1, #alternant_segments do if i % 2 == 1 then local segments = put.parse_balanced_segment_run(alternant_segments[i], "<", ">") -- Disable allow_default_indicator if alternants are present and we're processing -- the non-alternant text. Otherwise we will try to treat the non-alternant text -- surrounding the alternants as an inflected word rather than as raw text. local multiword_spec = parse_multiword_spec(segments, props, #alternant_segments ~= 1) for _, word_spec in ipairs(multiword_spec.word_specs) do insert(alternant_multiword_spec.alternant_or_word_specs, word_spec) end last_post_text = multiword_spec.post_text last_post_text_no_links = multiword_spec.post_text_no_links last_post_text_translit = multiword_spec.post_text_translit else local alternant_spec = parse_alternant(alternant_segments[i], props) alternant_spec.before_text = last_post_text alternant_spec.before_text_no_links = last_post_text_no_links alternant_spec.before_text_translit = last_post_text_translit insert(alternant_multiword_spec.alternant_or_word_specs, alternant_spec) end end alternant_multiword_spec.post_text = last_post_text alternant_multiword_spec.post_text_no_links = last_post_text_no_links alternant_multiword_spec.post_text_translit = last_post_text_translit -- Save boolean properties from `props`. We need at least `allow_default_indicator` when implementing -- `reconstruct_original_spec()`. alternant_multiword_spec.allow_default_indicator = props.allow_default_indicator alternant_multiword_spec.angle_brackets_omittable = props.angle_brackets_omittable alternant_multiword_spec.allow_blank_lemma = props.allow_blank_lemma return alternant_multiword_spec end -- Inflect alternants in ``alternant_spec`` (an object as returned by parse_alternant()). -- This sets the form values in ```alternant_spec``.forms` for all slots. -- (If a given slot has no values, it will not be present in ```alternant_spec``.forms`). local function inflect_alternants(alternant_spec, props) alternant_spec.forms = {} for _, multiword_spec in ipairs(alternant_spec.alternants) do export.inflect_multiword_or_alternant_multiword_spec(multiword_spec, props) iterate_slot_list_or_table(props, function(slot) if not props.skip_slot or not props.skip_slot(slot) then export.insert_forms(alternant_spec.forms, slot, multiword_spec.forms[slot]) end end) end end --[=[ Subfunction of `inflect_multiword_or_alternant_multiword_spec()`. This is used in building up the inflections of multiword expressions. The basic purpose of this function is to append a set of forms representing the inflections of a given inflected term in a given slot onto the existing forms for that slot. Given a multiword expression potentially consisting of several inflected terms along with fixed text in between, we work iteratively from left to right, adding the new forms onto the existing ones. Normally, all combinations of new and existing forms are created, meaning if there are M existing forms and N new ones, we will end up with M*N forms. However, some of these combinations can be rejected using the variant mechanism (see the description of get_variants below). Specifically, `formtable` is a table of per-slot forms, where the key is a slot and the value is a list of form objects (objects of the form {form=``form``, translit=``manual_translit``, footnotes=``footnotes``}). `slot` is the slot in question. `forms` specifies the forms to be appended onto the existing forms, and is likewise a list of form objects. `props` is the same as in `inflect_multiword_or_alternant_multiword_spec()`. `before_text` is the fixed text that goes before the forms to be added. `before_text_no_links` is the same as `before_text` but with any links (i.e. hyperlinks of the form [[``term``]] or [[``term``|``display``]]) converted into raw terms using remove_links() in [[Module:links]], and `before_text_translit` is optional manual translit of `before_text_no_links`. Note that the value "?" in a form is "infectious" in that if either the existing or new form has the value "?", the resulting combination will also be "?". This allows "?" to be used to mean "unknown". ]=] local function append_forms(props, formtable, slot, forms, before_text, before_text_no_links, before_text_translit) if not forms then return end local old_forms = formtable[slot] or {{form = ""}} local ret_forms = {} for _, old_form in ipairs(old_forms) do for _, form in ipairs(forms) do local old_form_vars = props.get_variants and props.get_variants(old_form.form) or "" local form_vars = props.get_variants and props.get_variants(form.form) or "" if old_form_vars ~= "" and form_vars ~= "" and old_form_vars ~= form_vars then -- Reject combination due to non-matching variant codes. else local new_formval local new_translit if old_form.form == "?" or form.from == "?" then new_formval = "?" else new_formval = old_form.form .. before_text .. form.form if old_form.translit or before_text_translit or form.translit then if not props.lang then error("Internal error: If manual translit is given, 'props.lang' must be set") end if not before_text_translit then before_text_translit = props_transliterate(props, before_text_no_links) or "" end local old_translit = old_form.translit or props_transliterate(props, m_links.remove_links(old_form.form)) or "" local translit = form.translit or props_transliterate(props, m_links.remove_links(form.form)) or "" new_translit = old_translit .. before_text_translit .. translit end end local new_formobj local new_footnotes = export.combine_footnotes(old_form.footnotes, form.footnotes) if new_formval == form.form and new_translit == form.translit then -- Automatically preserve metadata when possible. new_formobj = shallow_copy(form) new_formobj.footnotes = new_footnotes else new_formobj = {form=new_formval, translit=new_translit, footnotes=new_footnotes} if props.combine_metadata then props.combine_metadata { slot = slot, dest_form = new_formobj, form1 = old_form, form2 = form, between_text = before_text, between_text_no_links = before_text_no_links, between_text_translit = before_text_translit, } end end insert(ret_forms, new_formobj) end end end formtable[slot] = ret_forms end --[==[ Top-level inflection function. Create the inflections of a noun, verb, adjective or similar. `alternant_multiword_spec` is as returned by `parse_inflected_text` and describes the properties of the term to be inflected, including all the user-provided inflection specifications (e.g. the number, gender, conjugation/declension/etc. of each word) and the surrounding text. `props` indicates how to do the actual inflection (see below). The resulting inflected forms are stored into the `.forms` property of `multiword_spec`. This property holds a table whose keys are slots (i.e. ID's of individual inflected forms, such as "pres_1sg" for the first-person singular present indicative tense of a verb) and whose values are lists of the form `{ form = ``form``, translit = ``manual_translit_or_nil``, footnotes = ``footnote_list_or_nil``}`, where ``form`` is a string specifying the value of the form (e.g. "ouço" for the first-person singular present indicative of the Portuguese verb [[ouvir]]); ``manual_translit_or_nil`` is the corresponding manual transliteration if needed (i.e. if the form is in a non-Latin script and the automatic transliteration is incorrect or unavailable), otherwise nil; and ``footnote_list_or_nil`` is a list of footnotes to be attached to the form, or nil for no footnotes. Note that currently footnotes must be surrounded by brackets, e.g "[archaic]", and should not begin with a capital letter or end with a period. (Conversion from "[archaic]" to "Archaic." happens automatically.) This function has no return value, but modifies `multiword_spec` in-place, adding the `forms` table as described above. After calling this function, call show_forms() on the `forms` table to convert the forms and footnotes given in this table to strings suitable for display. `props` is an object specifying properties used during inflection, as follows: ```{ slot_list = {{"``slot``", "``accel``"}, {"``slot``", "``accel``"}, ...}, slot_table = {``slot`` = "``accel``", ``slot`` = "``accel``", ...}, skip_slot = nil `or` __function__(slot), lang = nil `or` __lang_object__, inflect_word_spec = __function__(base), get_variants = nil 'or` __function__(formval), combine_metadata = nil `or` __function__(data), include_user_specified_links = __boolean__, }``` `slot_list` is a list of two-element lists of slots and associated accelerator tags. ``slot`` is arbitrary but should correspond with slot names as generated by `inflect_word_spec`. ``accel`` is the corresponding accelerator tags; e.g. if ``slot`` is "pres_1sg", ``accel`` might be "1|s|pres|ind". ``accel`` is actually unused during inflection, but is used during `show_forms()`, which takes the same `slot_list` as a property upon input. `slot_table` is a table mapping slots to associated accelerator tags and serves the same function as `slot_list`. Only one of `slot_list` or `slot_table` must be given. For new code it is preferable to use `slot_list` because this allows you to control the order of processing slots, which may occasionally be important. `skip_slot` is a function of one argument, a slot name, and should return a boolean indicating whether to skip the given slot during inflection. It can be used, for example, to skip singular slots if the overall term being inflected is plural-only, and vice-versa. `lang` is a language object. This is only used to generate manual transliteration. If the language is written in the Latin script or manual transliteration cannot be specified in the input to parse_inflected_text(), this can be omitted. (Manual transliteration is allowed if the `lang` object is set in the `props` passed to parse_inflected_text().) `inflect_word_spec` is the function to do the actual inflection. It is passed a single argument, which is a ``word_spec`` object describing the word to be inflected and the user-provided inflection specifications. It is exactly the same as was returned by the `parse_indicator_spec` function provided in the `props` sent on input to `parse_inflected_text`, but has additional fields describing the word to be inflected and the surrounding text, as follows: ```{ lemma = "``lemma``", before_text = "``text-before-word``", before_text_no_links = "``text-before-word-no-links``", before_text_translit = "``manual-translit-of-text-before-word``" or nil (if no manual translit or respelling was specified in the before-text) -- Fields as described in parse_indicator_spec() ... }``` Here ``lemma`` is the word to be inflected as specified by the user (including any links if so given), and the `before_text*` fields describe the raw text preceding the word to be inflected. Any other fields in this object are as set by `parse_inflected_text`, and describe things like the gender, number, conjugation/declension, etc. as specified by the user in the <...> spec following the word to be inflected. `inflect_word_spec` should initialize the `.forms` property of the passed-in ``word_spec`` object to the inflected forms of the word in question. The value of this property is a table of the same format as the `.forms` property that is ultimately generated by inflect_multiword_or_alternant_multiword_spec() and described above near the top of this documentation: i.e. a table whose keys are slots and whose values are lists of the form `{ form = ``form``, translit = ``manual_translit_or_nil``, footnotes = ``footnote_list_or_nil``}`. `get_variants` is either {nil} or a function of one argument (a string, a form value). The purpose of this function is to ensure that in a multiword term where a given slot has more than one possible variant, the final output has only parallel variants in it. For example, feminine nouns and adjectives in Russian have two possible endings, one typically in -ой (-oj) and the other in -ою (-oju). If we have a feminine adjective-noun combination (or a hyphenated feminine noun-noun combination, or similar), and we don't specify `get_variants`, we'll end up with four values for the instrumental singular: one where both adjective and noun end in -ой, one where both end in -ою, and two where one of the words ends in -ой and the other in -ою. In general if we have N words each with K variants, we'll end up with an explosion of N^K possibilities. `get_variants` avoids this by returning a variant code (an arbitary string) for each variant. If two words each have a non-empty variant code, and the variant codes disagree, the combination will be rejected. If `get_variants` is not provided, or either variant code is an empty string, or the variant codes agree, the combination is allowed. The recommended way to use `get_variants` is as follows: 1. During inflection in `inflect_word_spec`, add a special character or string to each of the variants generated for a given slot when there is more than one. (As an optimization, do this only when there is more than one word being inflected.) Special Unicode characters can be used for this purpose, e.g. U+FFF0, U+FFF1, ..., U+FFFD, which have no meaning in Unicode. 2. Specify `get_variants` as a function that pulls out and returns the special character(s) or string included in the variant forms. 3. When calling show_forms(), specify a `canonicalize` function that removes the variant code character(s) or string from each form before converting to the display form. See [[Module:hi-verb]] and [[Module:hi-common]] for an example of doing this in a generalized fashion. (Look for add_variant_codes(), get_variants() and remove_variant_codes().) `combine_metadata` is a function that is invoked when combining two form objects along along with in-between text and storing into a destination form object. When this happens, if the the form value and translit in the first form object is empty and the in-between text is likewise empty (which regularly happens when appending the form object describing the first word in a multiword expression to empty base text), the second form object is simply shallow-copied along with all of its metadata, and any footnotes are combined appropriately (normally the first form object is such a case won't have footnotes). Otherwise, a new form object is constructed by combining the form values, translit and footnotes from the two objects and in-between text, and calling `combine_metadata` to combine any other metadata. Leave this unspecified if there is no additional metadata or if you don't want any metadata carried over. (Examples of metadata that should generally not be carried over are glosses of individual words, sense ID's and similar word-level properties that can't easily be combined to generate a multiword equivalent. Examples of metadata that should be carried over and combined are qualifiers, labels and certain boolean properties such as an uncertainty flag indicating that a given form is uncertain. For some metadata, it is more complex; for example, if both source words have the same gender or part of speech, the destination should keep that value, but if they differ, it may be safest to leave the field blank.) This function, if specified, is called with a single argument as follows: ```{ slot = "__string__", dest_form = __formobj__, form1 = __formobj__, form2 = __formobj__, between_text = "__string__", between_text_no_links = "__string__", between_text_translit = "__string__" `or` nil }``` Here, `slot` is the slot whose forms are being constructed. `dest_form` is the destination form object into which the combined metadata should be written, and is pre-populated with appropriate `form`, `translit` and `footnotes` fields. `form1` and `form2` are the two source forms being combined, and `between_text` is the text to be inserted between the two source forms. `between_text_no_links` is the same as `between_text` but with double-bracket links removed, and `between_text_translit` is the manual transliteration of `between_text_no_links`, if specified. The function should return nothing, but should side-effect `dest_form` as appropriate. `include_user_specified_links`, if given, ensures that user-specified links in the raw text surrounding a given word are preserved in the output. If omitted or set to false, such links will be removed and the whole multiword expression will be linked. ]==] function export.inflect_multiword_or_alternant_multiword_spec(multiword_spec, props) multiword_spec.forms = {} local is_alternant_multiword = not not multiword_spec.alternant_or_word_specs for _, word_spec in ipairs(is_alternant_multiword and multiword_spec.alternant_or_word_specs or multiword_spec.word_specs) do if word_spec.alternants then inflect_alternants(word_spec, props) else props.inflect_word_spec(word_spec) end iterate_slot_list_or_table(props, function(slot) if not props.skip_slot or not props.skip_slot(slot) then append_forms(props, multiword_spec.forms, slot, word_spec.forms[slot], (slot:find("linked") or props.include_user_specified_links) and word_spec.before_text or word_spec.before_text_no_links, word_spec.before_text_no_links, word_spec.before_text_translit ) end end) end if multiword_spec.post_text ~= "" then local pseudoform = {{form=""}} iterate_slot_list_or_table(props, function(slot) -- If slot is empty or should be skipped, don't try to append post-text. if (not props.skip_slot or not props.skip_slot(slot)) and multiword_spec.forms[slot] then append_forms(props, multiword_spec.forms, slot, pseudoform, (slot:find("linked") or props.include_user_specified_links) and multiword_spec.post_text or multiword_spec.post_text_no_links, multiword_spec.post_text_no_links, multiword_spec.post_text_translit ) end end) end end function export.map_word_specs(alternant_multiword_spec, fun) for _, alternant_or_word_spec in ipairs(alternant_multiword_spec.alternant_or_word_specs) do if alternant_or_word_spec.alternants then for _, multiword_spec in ipairs(alternant_or_word_spec.alternants) do for _, word_spec in ipairs(multiword_spec.word_specs) do fun(word_spec) end end else fun(alternant_or_word_spec) end end end function export.create_footnote_obj() return { notes = {}, seen_notes = {}, noteindex = 1, seen_refs = {}, } end function export.get_footnote_text(footnotes, footnote_obj) if not footnotes then return "" end local link_indices = {} local all_refs = {} for _, footnote in ipairs(footnotes) do local refs footnote, refs = export.expand_footnote_or_references(footnote) if footnote then local this_noteindex = footnote_obj.seen_notes[footnote] if not this_noteindex then -- Generate a footnote index. this_noteindex = footnote_obj.noteindex footnote_obj.noteindex = footnote_obj.noteindex + 1 insert(footnote_obj.notes, '<sup style="color: var(--wikt-palette-red, red)">' .. this_noteindex .. '</sup>' .. footnote) footnote_obj.seen_notes[footnote] = this_noteindex end insert_if_not(link_indices, this_noteindex) end if refs then for _, ref in ipairs(refs) do if not ref.name then local this_refhash = footnote_obj.seen_refs[ref.text] if not this_refhash then -- Different text needs to have different auto-generated names, globally across the entire page, -- including across different invocations of {{it-verb}} or {{it-conj}}. The easiest way to accomplish -- this is to use a message-digest hashing function. It does not have to be cryptographically secure -- (MD5 is insecure); it just needs to have low probability of collisions. this_refhash = mw.hash.hashValue("md5", ref.text) footnote_obj.seen_refs[ref.text] = this_refhash end ref.autoname = this_refhash end -- I considered using "n" as the default group rather than nothing, to more clearly distinguish regular -- footnotes from references, but this requires referencing group "n" as <references group="n"> below, -- which is non-obvious. insert_if_not(all_refs, ref) end end end table.sort(link_indices) local function sort_refs(r1, r2) -- FIXME, we are now sorting on an arbitrary hash. Should we keep track of the order we -- saw the autonamed references and sort on that? if r1.autoname and r2.name then return true elseif r1.name and r2.autoname then return false elseif r1.name and r2.name then return r1.name < r2.name else return r1.autoname < r2.autoname end end table.sort(all_refs, sort_refs) for i, ref in ipairs(all_refs) do local refargs = {name = ref.name or ref.autoname, group = ref.group} all_refs[i] = mw.getCurrentFrame():extensionTag("ref", ref.text, refargs) end local link_text if #link_indices > 0 then link_text = '<sup style="color: var(--wikt-palette-red, red)">' .. concat(link_indices, ",") .. '</sup>' else link_text = "" end local ref_text = concat(all_refs) if link_text ~= "" and ref_text ~= "" then return link_text .. "<sup>,</sup>" .. ref_text else return link_text .. ref_text end end --[==[ Add links around words in a term. If multiword_only, do it only in multiword terms. ]==] function export.add_links(form, multiword_only) if form == "" or form == " " then return form end if not form:find("%[%[") then if ufind(form, "[%s%p]") then --optimization to avoid loading [[Module:headword]] on single-word forms local m_headword = require("Module:headword") if m_headword.head_is_multiword(form) then form = m_headword.add_multiword_links(form) end end if not multiword_only and not form:find("%[%[") then form = "[[" .. form .. "]]" end end return form end --[==[ Remove redundant link surrounding entire term. ]==] function export.remove_redundant_links(term) return (term:gsub("^%[%[([^%[%]|]*)%]%]$", "%1")) end --[==[ Add links to all before and after text; for use in inflection modules that preserve links in multiword lemmas and include links in non-lemma forms rather than allowing the entire form to be a link. If `remember_original`, remember the original user-specified before/after text so we can reconstruct the original spec later. `add_links` is a function of one argument to add links to a given piece of text; if unspecified, it defaults to `export.add_links`. ]==] function export.add_links_to_before_and_after_text(alternant_multiword_spec, remember_original, add_links) add_links = add_links or export.add_links local function add_links_remember_original(object, field) if remember_original then object["user_specified_" .. field] = object[field] end object[field] = add_links(object[field]) end for _, alternant_or_word_spec in ipairs(alternant_multiword_spec.alternant_or_word_specs) do add_links_remember_original(alternant_or_word_spec, "before_text") if alternant_or_word_spec.alternants then for _, multiword_spec in ipairs(alternant_or_word_spec.alternants) do for _, word_spec in ipairs(multiword_spec.word_specs) do add_links_remember_original(word_spec, "before_text") end add_links_remember_original(multiword_spec, "post_text") end end end add_links_remember_original(alternant_multiword_spec, "post_text") end --[==[ Reconstruct the original overall spec from the output of parse_inflected_text(), so we can use it in the language-specific acceleration module in the implementation of {{tl|pt-verb form of}} and the like. `props` is an optional table of properties. Currently only `preprocess_angle_bracket_spec` is recognized, and is an optional function of one argument that is called to process an angle-bracket spec before inserting into the reconstructed spec. ]==] function export.reconstruct_original_spec(alternant_multiword_spec, props) local parts = {} props = props or {} local function ins(txt) insert(parts, txt) end local function insert_angle_bracket_spec(spec) if props.preprocess_angle_bracket_spec then spec = props.preprocess_angle_bracket_spec(spec) end ins(spec) end for _, alternant_or_word_spec in ipairs(alternant_multiword_spec.alternant_or_word_specs) do ins(alternant_or_word_spec.user_specified_before_text) if alternant_or_word_spec.alternants then ins("((") for i, multiword_spec in ipairs(alternant_or_word_spec.alternants) do if i > 1 then ins(",") end for _, word_spec in ipairs(multiword_spec.word_specs) do ins(word_spec.user_specified_before_text) ins(word_spec.user_specified_lemma) insert_angle_bracket_spec(word_spec.angle_bracket_spec) end ins(multiword_spec.user_specified_post_text) end ins("))") else ins(alternant_or_word_spec.user_specified_lemma) insert_angle_bracket_spec(alternant_or_word_spec.angle_bracket_spec) end end ins(alternant_multiword_spec.user_specified_post_text) local retval = concat(parts) if alternant_multiword_spec.allow_default_indicator then -- As a special case, if we see e.g. "amar<>", remove the <>. Don't do this if there are spaces or alternants. if not retval:find(" ") and not retval:find("%(%(") then local retval_no_angle_brackets = retval:match("^(.*)<>$") if retval_no_angle_brackets then return retval_no_angle_brackets end end end return retval end --[==[ Convert the forms in ``formtable`` (a form table, whose keys are slots and whose values are lists of form objects, each of which is a table of the form `form = ``form``, translit = ``manual_translit_or_nil``, footnotes = ``footnote_list_or_nil``, no_accel = ``true_to_suppress_accelerators``, ... `) into strings. The form table is side-effected. Each form list turns into a string consisting of a comma-separated list of linked forms, with accelerators (unless `no_accel` is set in a given form object). If `include_translit` is specified, each string consists of a comma-separated list of form values (each formatted as a link), an HTML `&lt;br/>`, and a comma-separated list of transliterations. `props` is a table used in generating the strings, as follows: ```{ lang = __lang_object__, lemmas = {"``lemma``", "``lemma``", ...}, slot_list = {{"``slot``", "``accel``"}, {"``slot``", "``accel``"}, ...}, slot_table = {``slot`` = "``accel``", ``slot`` = "``accel``", ...}, include_translit = __boolean__, create_footnote_obj = nil `or` __function__(), canonicalize = nil or __function__(formval), preprocess_forms = nil `or` __function__(data), no_deduplicate_forms = __boolean__, combine_metadata_during_dedup = nil `or` __function__(data), transform_accel_obj = nil `or` __function__(slot, form, accel_obj), format_forms = nil `or` __function__(data), generate_link = nil `or` __function__(data), format_tr = nil `or` __function__(data), join_spans = nil `or` __function__(data), footnotes = nil or {"``extra_footnote``", "``extra_footnote``", ...}, }``` `lemmas` is the list of lemmas, used in the accelerators. `slot_list` is a list of two-element lists of slots and associated accelerator tag sets. ``slot`` should correspond to slots generated during `inflect_multiword_or_alternant_multiword_spec()`. ``accel`` is the corresponding accelerator tag set; e.g. if ``slot`` is "pres_1sg", ``accel`` might be "1|s|pres|ind". ``accel`` is used in generating entries for accelerator support (see [[WT:ACCEL]]). `slot_table` is a table mapping slots to associated accelerator tag sets and serves the same function as `slot_list`. Only one of `slot_list` or `slot_table` must be given. For new code it is preferable to use `slot_list` because this allows you to control the order of processing slots, which may occasionally be important. `include_translit`, if given, causes transliteration to be included in the generated strings. The function works as follows: # Create an object to hold footnotes (customizable using `create_footnote_obj`). # Generate the comma-separated lemma form values and store in `.lemma` in the form table. # Loop over the slots specified using `slot_list` or `slot_table`. For each slot: ## Canonicalize the form values (customizable using `canonicalize`; by default does nothing). ## Preprocess the forms (customizable using `preprocess_forms`; by default does nothing). ## Unless `no_deduplicate_forms` is set, deduplicate forms in a slot sharing the same form value but possibly different transliteration. (This happens e.g. in Russian, where it is relatively common for a given form to have two possible transliterations, one reflecting a more nativized pronunciation where Cyrillic е triggers palatalization of the preceding consonant, and one reflecting a more "foreign" pronunciation where this palatalization does not happen. In such a case, the automatic transliteration would normally suffice for the more nativized pronunciation but the more "foreign" pronunciation will need manual transliteration.) As part of deduplication, footnotes will be combined using `combine_footnotes`; distinct manual transliterations will be combined into a list (meaning the `translit` field of form objects in some subsequent `props` functions may hold a list; this will be noted when possible); and any remaining metadata will be combined using the `combine_metadata_during_dedup` method, if provided. ## Add acceleration to all forms. The acceleration tag set associated with a given form comes from `slot_list` or `slot_table`, i.e. all forms in a given slot have the same tag set. However, different forms will have different associated transliterations stored into the accelerator object associated with the form, as well as possibly different lemmas. In particular, when there are multiple lemma forms, this is often due to alternative ways to pronounce the lemma (e.g. alternative stress positions or vowel lengths), and there are often associated non-lemma forms that match each lemma. An example given in the introduction is {{m+|uk|русин||Rusyn}}, stressed in the lemma as ''ру́син'' or ''руси́н'' with associated genitive singulars ''ру́сина'' and ''русина́''. We would like the auto-generated accelerator entry for {{m|uk|русина}} to show the variant ''ру́сина'' as having lemma ''ру́син'' and the variant ''русина́'' as having the lemma ''руси́н'', rather than showing both variants as having both lemmas, which is less accurate. As a result, the code that generates acceleration objects for forms matches up forms and lemmas one-to-one if possible. If this is not possible, the matching is usually one lemma to many forms, as in {{m+|uk|міст||bridge}} with genitive singular ''мо́сту'' or ''моста́'' (in which case all forms get the same lemma), or many lemmas to one form, as in {{m+|uk|черга||turn, queue}} stressed either ''че́рга'' or ''черга́'' with nominative singular only ''че́рги'' (in which case the single form gets assicated all lemmas). If there are multiple lemmas and multiple forms, the algorithm attempts to align them as evenly as possible (e.g. two lemma variants to four forms means the first two forms get assigned the first lemma variant and the last two forms get assigned the second lemma variant); this is often going to be incorrect, but (a) there's unlikely to be a single algorithm that works in all such circumstances, and (b) these cases are very rare. Finally, note the following: ##* No acceleration is assigned to a form if any of the following apply: (a) there are no lemmas given in `props.lemmas`; (b) the `no_accel` key in the form object has a non-falsy value; (c) the form value of the form is {"?"} or an em-dash ({"—"}); (d) the accelerator tag set is given as a hyphen {"-"}); or (e) the form value contains an internal link. ##* The accelerator code sets the `formval_for_link` key in each form object to the version of the form value that should be passed to `full_link()` in [[Module:links]]. This is usually the same as the passed-in form value, but differs when the entire form value is surrounded with a redundant internal link (which is removed). ##* The resulting accelerator object can be modified (or replaced entirely) by the `transform_accel_obj` function. This is used, for example, in [[Module:es-verb]], [[Module:pt-verb]] and other Romance-language verb conjugation modules (likewise [[Module:ar-verb]]) to replace the tag set with the original verb spec used to generate the verb, so that the accelerator code can generate the appropriate call to {{tl|es-verb form of}}, {{tl|pt-verb form of}} or the like, which computes the inflections, instead of directly listing the inflections. ## Format the forms into strings. The entire default process can be replaced using `format_forms`; otherwise the default algorithm works as follows: ### Generate the '''form value spans''', with one entry (a linked HTML-ized version of the form value) per form. This can be customized using `generate_link`. (Various modules do this. For example, the Arabic verb module includes qualifiers, labels, ID's and the like that can be specified by the user; the Portuguese and reintegrated Galician verb modules italicize certain superseded or otherwise less-desirable forms instead of linking them normally; the German verb module adds {{m|de|dass}} to subjunctive forms and optional pronouns to imperative forms; and the German adjective module adds articles to adjective forms normally accompanied by articles and the equivalent of "he/she is" etc. to predicate forms.) The default uses `full_link()` in [[Module:links]] (with transliteration generation disabled) concatenated with the appropriate footnote symbol(s) (if any). ### Generate the '''transliteration spans''', with one entry per distinct translit, auto-generated if manual translit isn't available. Note that, due to the earlier form value deduplication step, there may be multiple translits per form object. These translits are themselves deduplicated to get the list of spans. (Such duplication can happen, for example, in Arabic with terms containing a glottal stop in them; there may be multiple ways of spelling the glottal stop or ''hamza'' in Arabic, but only one way of transliterating it.) Each span consists of an object specifying the translit and the list of footnotes. These objects are then converted to formatted strings, either using `format_tr` if supplied or else calling `tag_translit()` in [[Module:script utilities]] and concatenating the appropriate footnote symbol(s) (if any). ### Combine the form value and transliteration spans. If `join_spans` is supplied, use it; otherwise, concatenate the form value spans (comma-separated) and (if available) transliteration spans (comma-separated), and (if appropriate) combine them using {<br />}. `create_footnote_obj` is an optional function of no arguments to create the footnote object used to track footnotes; see `create_footnote_obj()`. Customizing it is useful to prepopulate the footnote table using `get_footnote_text()`. `canonicalize` is an optional function of one argument (a form value) to canonicalize each form before processing; it can return nil for no change. The most common purpose of this function is to remove variant codes from the form value. See the documentation for `inflect_multiword_or_alternant_multiword_spec()` for a description of variant codes and their purpose. `preprocess_forms` is an optional function of one argument (a table of properties) to preprocess the form objects as a whole. It runs after `canonicalize` (meaning that the form values passed in are canonicalized) and before deduplication and the addition of acceleration info. The property table passed in has the following properties: * `slot`: The slot being processed. * `forms`: The list of form objects for this slot. * `accel_tag_set`: The accelerator tag set for this slot, taken from `slot_list` or `slot_table`. * `footnote_obj`: The footnote object returned by the `create_footnote_obj` property or the default `create_footnote_obj()` function. `preprocess_forms` should return a list of preprocessed form objects, or {nil} to use the passed-in `forms`. If this function does deduplication, you should set `no_deduplicate_forms` to disable the default deduplication process. `no_deduplicate_forms`, if set, disables the deduplication step (see above). `combine_metadata_during_dedup` is an optional function of one argument (a table of properties) to combine the metadata of deduplicated form objects. The property table passed in has the following properties: * `slot`: The slot being processed. * `existing_form`: The existing form object into which a duplicated form is being combined. * `dup_form`: The duplicated form being combined into `existing_form`. * `existing_form_pos`: The one-based position of the existing form in the deduplicated form list (not necessarily its original position). * `dup_form_pos`: The one-based position of the duplicated form in its original list. The following should be noted about the form objects passed in: # The form values in `.form` have been canonicalized using `.canonicalize`, if provided. # The form values in `existing_form` and `dup_form` are always the same. # The footnotes in `existing_form` have already been combined with those in `dup_form`. # If there was manual translit either in `existing_form` (prior to deduplication) or in `dup_form`, there will be manual translit in `existing_form.translit` that is a list and combines any previous accumulated translits in `existing_form` as well as the translit in `dup_form` (even if one of them was specified as {nil} indicating an automatic translit). This means that the translit in `existing_form.translit` is always either {nil} or a list of strings (and the same applies to `dup_form.translit`). `transform_accel_obj` is an optional function of three arguments (``slot``, ``formobj``, ``accel_obj``) to transform the default constructed accelerator object in ``accel_obj`` into an object that should be passed to `full_link()` in [[Module:links]]. It should return the new accelerator object, or {nil} for no acceleration. (If {nil} is returned, the corresponding form has no acceleration; this is unlike most customization functions, where returning {nil} causes the default algorithm to be invoked.) The function can destructively modify the accelerator object passed in. '''NOTE''': This is called even when the passed-in ``accel_obj`` is {nil} (see the (a) through (e) reasons above why no acceleration may be assigned to a form). Thus, your code needs to do something sensible in this case. The description above of how `show_forms()` works inclues various examples of modules that supply a `transform_accel_obj` function and the reasons for doing so. `format_forms`, if supplied, is a function that entirely replaces the formatting portion of `show_forms()`. An example of why you might want to do this is to get a different layout than the default, e.g. one where translit is displayed next to each form value instead of the form values and translits grouped and displayed on separate lines. Under normal circumstances, you should not do this, but instead customize the functions that replace specific parts of the default formatting algorithm (see below). This function is passed one argument (a table of properties) and should return a string (the formatted forms, ready to store into the slot in the form table) or {nil} to proceed with the default algorithm (see above). The property table passed in has the following properties: * `slot`: The slot being processed. * `forms`: The list of form objects, deduplicated and with accelerator info added. * `footnote_obj`: The footnote object returned by the `create_footnote_obj` property or the default `create_footnote_obj()` function. The following should be noted about the form objects in `forms`: # There are extra fields `formval_for_link` and `accel_obj`. The first one is as described above under the paragraph beginning "Add acceleration to all forms" under "The function works as follows". The second one is the accelerator object in the format expected by [[Module:links]]. # The `translit` field, if non-{nil}, is a list of transliterations rather than a single transliteration; this is due to the form value deduplication step. `generate_link` is an optional function to generate the link text for a given form value. It is passed a single argument (a table of properties) and should return a string, the formatted link. If it returns {nil}, the default algorithm (see above) is invoked. The property table passed in has the following properties: * `slot`: The slot being processed. * `form`: The form to be converted to a formatted link. As with the `format_forms` function described above, the form objects passed in contain extra fields `formval_for_link` and `accel_obj` (both of which will normally be used), and the `translit` field, if non-{nil}, is a list. * `pos`: The one-based position of the form being processed, in the list of form value spans. Rarely used. * `footnote_obj`: The footnote object returned by the `create_footnote_obj` property or the default `create_footnote_obj()` function. Normally used in order to get the footnote symbol associated with any footnotes in `footnotes`. The description above of how `show_forms()` works inclues various examples of modules that supply a `generate_link` function and the reasons for doing so. `format_tr` is an optional function to generate the formatted text for a given transliteration. It is passed a single argument (a table of properties) and should return a string, the formatted transliteration text. If it returns {nil}, the default algorithm (see above) is invoked. The property table passed in has the following properties: * `slot`: The slot being processed. * `tr_for_tag`: The transliteration to process. * `pos`: The one-based position of the transliteration being processed, in the list of transliteration spans. Rarely used. * `footnotes`: The list of footnotes associated with all form objects with this transliteration. (If there were multiple form objects with the same transliteration, the list of footnotes will have been generated using `combine_footnotes()`.) * `footnote_obj`: The footnote object returned by the `create_footnote_obj` property or the default `create_footnote_obj()` function. Normally used in order to get the footnote symbol associated with any footnotes in `footnotes`. `join_spans` is an optional function to join the processed form value and transliteration spans into a formatted string. It is passed a single argument (a table of properties) and should return the final string to store into the form table slot. If it returns {nil}, the default algorithm (see above) is invoked. The property table passed in has the following properties: * `slot`: The slot being processed. * `formval_spans`: A list of strings, the formatted form value spans. * `tr_spans`: A list of strings, the formatted transliteration spans. If there is no transliteration, this will be an empty list. A custom `join_spans` is provided by [[Module:de-verb]], which concatenates the form value spans vertically (using {"<br />"}) instead of horizontally using a comma, as is normal; this is because there is no translit and the form values are often long, containing extra words attached during `generate_link()`. The only exception is the `aux` slot holding the auxiliaries, which is concatenated horizontally using {" or "}. [[Module:de-adjective]] similarly provides a custom `join_spans` function that concatenates the form value spans vertically. ]==] function export.show_forms(formtable, props) local footnote_obj = props.create_footnote_obj and props.create_footnote_obj() or export.create_footnote_obj() local function fetch_formval_and_translit(entry, remove_links) local formval, translit if type(entry) == "table" then formval, translit = entry.form, entry.translit else formval = entry end if remove_links then formval = m_links.remove_links(formval) end return formval, translit end local lemma_formvals = {} for _, lemma in ipairs(props.lemmas) do local lemma_formval, _ = fetch_formval_and_translit(lemma) insert_if_not(lemma_formvals, lemma_formval) end formtable.lemma = #lemma_formvals > 0 and concat(lemma_formvals, ", ") or mw.loadData(headword_data_module).pagename -- For safety, since we in-place modify `lemmas` usually before processing a given slot, make a copy. local props_lemmas = shallow_copy(props.lemmas) for i, lemma in ipairs(props_lemmas) do props_lemmas[i] = shallow_copy(lemma) end local function do_slot(slot, accel_tag_set) local formobjs = formtable[slot] if formobjs then if type(formobjs) ~= "table" then error("Internal error: For slot '" .. slot .. "', expected table but saw " .. dump(formobjs)) end -- Maybe canonicalize the form values (e.g. remove variant codes and monosyllabic accents). if props.canonicalize then for _, form in ipairs(formobjs) do form.form = props.canonicalize(form.form) or form.form end end -- Preprocess the forms as a whole if called for. if props.preprocess_forms then formobjs = props.preprocess_forms { slot = slot, forms = formobjs, accel_tag_set = accel_tag_set, footnote_obj = footnote_obj, } or formobjs end -- Maybe deduplicate form values (happens e.g. in Russian with two terms with the same Russian form but -- different translits). if not props.no_deduplicate_forms then local deduped_formobjs = {} for i, form in ipairs(formobjs) do local function combine_forms(existing_form, dup_form, pos) assert(existing_form.form == dup_form.form) -- Combine footnotes. existing_form.footnotes = export.combine_footnotes(existing_form.footnotes, dup_form.footnotes) -- If translit is being generated, and there's manual translit associated with either form, we -- need to generate any missing translits and combine them, taking into account the fact that a -- translit value may actually be a list of translits (particularly with the existing form if we -- already combined an item with manual translit into it). if props.include_translit and form_value_transliterable(existing_form.form) and ( existing_form.translit or dup_form.translit) then local combined_translit if not existing_form.translit then combined_translit = { props_transliterate(props, m_links.remove_links(existing_form.form)) } elseif type(existing_form.translit) == "string" then combined_translit = {existing_form.translit} else combined_translit = existing_form.translit end local dup_form_translit = dup_form.translit if not dup_form_translit then -- dup_form.form is the same as existing_form.form (see assert above), but this is -- defensive programming in case that changes dup_form_translit = {props_transliterate(props, m_links.remove_links(dup_form.form))} elseif type(dup_form_translit) == "string" then dup_form_translit = {dup_form_translit} end for _, translit in ipairs(dup_form_translit) do insert_if_not(combined_translit, translit) end existing_form.translit = combined_translit end if props.combine_metadata_during_dedup then props.combine_metadata_during_dedup { slot = slot, existing_form = existing_form, existing_form_pos = pos, dup_form = dup_form, dup_form_pos = i, } end end insert_if_not(deduped_formobjs, form, { key = function(formobj) return formobj.form end, combine = combine_forms, }) end formobjs = deduped_formobjs end -- Add acceleration info to form objects. for i, form in ipairs(formobjs) do local formval = form.form if not form_value_transliterable(formval) then form.formval_for_link = formval else local formval_for_link formval_for_link = formval -- remove redundant link surrounding entire form formval_for_link = export.remove_redundant_links(formval_for_link) form.formval_for_link = formval_for_link -------------------- Compute the accelerator object. ----------------- local accel_obj -- Check if form still has links; if so, don't add accelerators because the resulting entries will -- be wrong. if props_lemmas[1] and not form.no_accel and accel_tag_set ~= "-" and not formval_for_link:find("%[%[") then -- If there is more than one form or more than one lemma, things get tricky. Often, there are -- the same number of forms as lemmas, e.g. for Ukrainian [[зимовий]] "wintry; winter (rel.)", -- which can be stressed зимо́вий or зимови́й with corresponding masculine/neuter genitive -- singulars зимо́вого or зимово́го etc. In this case, usually the forms and lemmas match up so -- we do this. If there are different numbers of forms than lemmas, it's usually one lemma -- against several forms e.g. Ukrainian [[міст]] "bridge" with genitive singular мо́сту or моста́ -- (accent patterns b or c) or [[ложка|ло́жка]] "spoon" with nominative plural ло́жки or ложки́ -- (accent patterns a or c). Here, we should assign the same lemma to both forms. The opposite -- can happen, e.g. [[черга]] "turn, queue" stressed че́рга or черга́ with nominative plural only -- че́рги (accent patterns a or d). Here we should assign both lemmas to the same form. In more -- complicated cases, with more than one lemma and form and different numbers of each, we try -- to align them as much as possible, e.g. if there are somehow eight forms and three lemmas, -- we assign lemma 1 to forms 1-3, lemma 2 to forms 4-6 and lemma 3 to forms 7 and 8, and -- conversely if there are somehow three forms and eight lemmas. This is likely to be wrong, but -- (a) there's unlikely to be a single algorithm that works in all such circumstances, and (b) -- these cases are vanishingly rare or nonexistent. Properly we should try to remember which -- form was generated by which lemma, but that is significant extra work for little gain. local first_lemma, last_lemma if #formobjs >= #props_lemmas then -- More forms than lemmas. Try to even out the forms assigned per lemma. local forms_per_lemma = math.ceil(#formobjs / #props_lemmas) first_lemma = math.floor((i - 1) / forms_per_lemma) + 1 last_lemma = first_lemma else -- More lemmas than forms. Try to even out the lemmas assigned per form. local lemmas_per_form = math.ceil(#props_lemmas / #formobjs) first_lemma = (i - 1) * lemmas_per_form + 1 last_lemma = math.min(first_lemma + lemmas_per_form - 1, #props_lemmas) end local accel_lemma, accel_lemma_translit if first_lemma == last_lemma then accel_lemma, accel_lemma_translit = fetch_formval_and_translit(props_lemmas[first_lemma], "remove links") else accel_lemma = {} accel_lemma_translit = {} for j=first_lemma, last_lemma do local this_accel_lemma, this_accel_lemma_translit = fetch_formval_and_translit(props_lemmas[j], "remove links") -- Do not use insert() especially for the translit because it may be nil and in -- that case we want gaps in the array. accel_lemma[j - first_lemma + 1] = this_accel_lemma accel_lemma_translit[j - first_lemma + 1] = this_accel_lemma_translit end end local accel_translit if props.include_translit and form.translit then if type(form.translit) == "table" then accel_translit = concat(form.translit, ", ") elseif type(form.translit) == "string" then accel_translit = form.translit else error(("Internal error: For slot '%s', form translit is not a table or string: %s"): format(slot, dump(form.translit))) end end accel_obj = { form = accel_tag_set, translit = accel_translit, lemma = accel_lemma, lemma_translit = props.include_translit and accel_lemma_translit or nil, } end -- Postprocess if requested. if props.transform_accel_obj then accel_obj = props.transform_accel_obj(slot, form, accel_obj) end form.accel_obj = accel_obj end end -- Format the form objects into a string for insertion into the table. local formatted_forms if props.format_forms then formatted_forms = props.format_forms { slot = slot, forms = formobjs, footnote_obj = footnote_obj, } end if not formatted_forms then -- Default algorithm: Separate form values and translits and concatenate on separate lines. -- Form values have already been deduplicated but we may need to deduplicate translits (this happens -- e.g. in Arabic where there may be multiple ways of spelling a hamza in the Arabic script but only -- one way in transliteration). local formval_spans = {} local tr_spans = {} for i, form in ipairs(formobjs) do local link if props.generate_link then link = props.generate_link { slot = slot, pos = i, form = form, footnote_obj = footnote_obj, } end if not link then link = m_links.full_link { lang = props.lang, term = form.formval_for_link, tr = "-", accel = form.accel_obj } .. export.get_footnote_text(form.footnotes, footnote_obj) end formval_spans[i] = link if props.include_translit then local translits = form.translit or props_transliterate(props, m_links.remove_links(form.form)) if type(translits) == "string" then translits = {translits} end for _, tr in ipairs(translits) do local tr_for_tag = tr -- formerly may have differed due to old-style footnote symbols insert_if_not(tr_spans, { tr_for_tag = tr_for_tag, footnotes = form.footnotes, }, { key = function(trobj) return trobj.tr_for_tag end, combine = function(trobj, newtrobj) -- Combine footnotes. trobj.footnotes = export.combine_footnotes(trobj.footnotes, newtrobj.footnotes) end, }) end end end for i, tr_span in ipairs(tr_spans) do local formatted_tr if props.format_tr then formatted_tr = props.format_tr { slot = slot, pos = i, tr_for_tag = tr_span.tr_for_tag, footnotes = tr_span.footnotes, footnote_obj = footnote_obj, } end if not formatted_tr then formatted_tr = require(script_utilities_module).tag_translit(tr_span.tr_for_tag, props.lang, "default", " style=\"color: var(--wikt-palette-grey-8,#888);\"") .. export.get_footnote_text(tr_span.footnotes, footnote_obj) end tr_spans[i] = formatted_tr end if props.join_spans then formatted_forms = props.join_spans { slot = slot, formval_spans = formval_spans, tr_spans = tr_spans, } end if not formatted_forms then local formval_span = concat(formval_spans, ", ") local tr_span if #tr_spans > 0 then tr_span = concat(tr_spans, ", ") end if tr_span then formatted_forms = formval_span .. "<br />" .. tr_span else formatted_forms = formval_span end end end formtable[slot] = formatted_forms else formtable[slot] = "—" end end iterate_slot_list_or_table(props, do_slot) formtable.footnote = concat(footnote_obj.notes, "<br />") end --[==[ Find the inflection spec for a given lemma by scraping the contents of the section for the lemma's language, looking for the appropriate inflection template (which may in some cases be a headword template with inflections specified in the headword, as for {{tl|en-verb}}). An inflection ID can be given; in that case, the value of the appropriate ID param (usually `id=`) must match the specified ID; otherwise, any inflection template call of the right name will work. If anything goes wrong in the process, a string is returned describing the error message; otherwise an object is returned, where `template` is the template found (an object of the form returned by `find_templates` in [[Module:template parser]]). There is one param, an object with the following fields: * `lemma`: The page to scrape for inflection calls. * `langname`: The name of the language of the lemma (e.g. {"English"} or {"Icelandic"}). Only that section is scraped. * `infltemp`: A string specifying the name of the template containing the inflections, or a function of one argument, the template object (an object of the form returned by `find_templates` in [[Module:template parser]]), which should return true if the given object specifies an appropriate inflection template. * `idparam`: The name of the parameter holding the inflection ID used to disambiguate lemmas with multiple inflections. * `inflid`: The inflection ID that must match the value of the `idparam` parameter specified by the inflection template. If not specified, there must be exactly one matching inflection template present, and it must not have a value given for the `idparam` parameter. Otherwise, all matching inflection templates must have a value specified for the `idparam` parameter of the template, and there must be exactly one template whose `idparam` parameter value is the same as the value of `inflid`. Find the inflection spec by scraping the contents of the Icelandic section of `lemma`, looking for `infltemp` calls (where template is e.g. "is-ndecl", "is-adecl" or "is-conj") If `inflid` is given, it must match the value of the |id= param specified to the inflection template; otherwise, any inflection template call will work. If anything goes wrong in the process, a string is returned describing the error message; otherwise a table of inflections is returned, each containing a field `infl` with the inflection spec. The inflection spec comes from the |deriv=, |deriv2=, etc. params in the inflection template if specified and `is_deriv` is given; otherwise from 1=, 2=, etc. If `allow_empty_infl` is given, a missing inflection spec in 1= is allowed and converted to an empty string; otherwise, an error is signaled. ]==] function export.scrape_inflection(data) local langname, lemma, infltemp, inflid, idparam = data.langname, data.lemma, data.infltemp, data.inflid, data.idparam local lang_lemma = ("%s base lemma '[[%s]]'"):format(langname, lemma) local title = new_title(lemma) if title then local content = title:getContent() if content then local langtext = require(pages_module).get_section(content, langname) if langtext then local inflobjs_by_id = {} local inflobjs_without_id = {} local ordered_seen_ids = {} for template in require(template_parser_module).find_templates(langtext) do local matches if type(infltemp) == "string" then matches = template:get_name() == infltemp else matches = infltemp(template) end if matches then local inflobj = {template = template} local args = template:get_arguments() local tid = args[idparam] if tid then if inflobjs_by_id[tid] then return ("For %s base lemma '[[%s]]', saw id='%s' twice"):format( langname, lemma, tid ) end inflobjs_by_id[tid] = inflobj insert_if_not(ordered_seen_ids, tid) else insert(inflobjs_without_id, inflobj) end end end local function concat_ordered_seen_ids() local quoted_seen_ids = {} for _, seen_id in ipairs(ordered_seen_ids) do insert(quoted_seen_ids, "'" .. seen_id .. "'") end return m_table.serialCommaJoin(quoted_seen_ids, {dontTag = true}) end local formatted_template = type(infltemp) == "string" and ("[[Template:%s]]"):format(infltemp) or "inflection template" local formatted_template_sing_article = type(infltemp) == "string" and ("[[Template:%s]]"):format(infltemp) or "an inflection template" local formatted_template_plural = type(infltemp) == "string" and "'s" or "s" if ordered_seen_ids[1] and inflobjs_without_id[1] then return ("For %s, saw %s %s%s with id=%s as well as %s %s%s without ID; this is not allowed; " .. "with multiple %s calls, all must have id= params"):format(lang_lemma, #ordered_seen_ids, formatted_template, ordered_seen_ids[2] and formatted_template_plural or "", concat_ordered_seen_ids(), #inflobjs_without_id, formatted_template, inflobjs_without_id[2] and formatted_template_plural or "", formatted_template) elseif not ordered_seen_ids[1] and not inflobjs_without_id[1] then return ("For %s, found %s section but couldn't find any calls to %s"):format( lang_lemma, langname, formatted_template_sing_article) elseif #inflobjs_without_id > 1 then return ("For %s, found %s %s%s without ID's; this is not allowed; with multiple %s calls, " .. "all must have id= params"):format(lang_lemma, #inflobjs_without_id, formatted_template, formatted_template_plural, formatted_template) elseif inflid then if inflobjs_by_id[inflid] then return inflobjs_by_id[inflid] elseif ordered_seen_ids[1] then return ("For %s, found %s section but couldn't find any inflections matching ID '%s'; " .. "instead found ID's %s; you may have misspelled the ID"):format(lang_lemma, langname, inflid, concat_ordered_seen_ids()) else return ("For %s, found %s section with a single %s without ID, but ID requirement '%s' " .. "specified; consider removing the ID requirement"):format(lang_lemma, langname, formatted_template, inflid) end elseif inflobjs_without_id[1] then -- only one infl template, and it doesn't have an id=; return it return inflobjs_without_id[1] elseif ordered_seen_ids[2] then return ("For %s, saw %s %s%s with id=%s but with a request to return the inflection without " .. "ID; consider adding an ID restriction to the scrape request, e.g. '@@:%s' for " .. "self-scraping or '@%s:%s' for scraping from another page"):format(lang_lemma, #ordered_seen_ids, formatted_template, formatted_template_plural, concat_ordered_seen_ids(), ordered_seen_ids[1], usub(lemma, 1, 1), ordered_seen_ids[1]) else return ("For %s, found %s section with a single %s with id=%s, but the scrape request didn't " .. "specify an ID; consider removing the id= param from the %s call unless you expect to add " .. "more such calls to the page in the future (in which case add the ID to the scrape request, " .. "e.g. '@@:%s' for self-scraping or '@%s:%s' for scraping from another page"):format(lang_lemma, langname, formatted_template, concat_ordered_seen_ids(), formatted_template, ordered_seen_ids[1], usub(lemma, 1, 1), ordered_seen_ids[1]) end else return ("For %s, page exists but has no %s section"):format(lang_lemma, langname) end else return ("For %s, couldn't fetch contents for page; page may not exist"):format(lang_lemma) end else return ("Bad %s; couldn't create title object"):format(lang_lemma) end end return export htx0q5b25q5r599t1ps38dw6lkwlswa Template:De-verb/doc 10 1426056 9938451 9521771 2026-10-04T18:20:08Z TongcyDai 53191 加上大寫可分成分的例子(Rad.fahren) 9938451 wikitext text/x-wiki {{documentation subpage}} ==简介== 模板使用的参数与{{temp|de-conj-auto}}一样,会生成德语动词的合适标题行。您应该从{{temp|de-conj-auto}}复制参数给{{temp|de-verb}}。 ==范例== ===弱变化动词=== <code><nowiki>{{de-verb}}</nowiki></code> (位于{{m|de|herrschen}}) ⇒<br style="line-height: 200%;"/> {{de-verb|herrschen}} <code><nowiki>{{de-verb}}</nowiki></code> (位于{{m|de|spazieren}}) ⇒<br style="line-height: 200%;"/> {{de-verb|spazieren}} {{temp demo|de-verb|führen<haben,sein>}} {{temp demo|de-verb|an.beraumen}} {{temp demo|de-verb|wieder.gut.machen}} <code><nowiki>{{de-verb}}</nowiki></code>(位于{{m|de|atmen}}) ⇒<br style="line-height: 200%;"/> {{de-verb|atmen}} <code><nowiki>{{de-verb}}</nowiki></code> (位于{{m|de|verhandeln}}) ⇒<br style="line-height: 200%;"/> {{de-verb|verhandeln}} <code><nowiki>{{de-verb}}</nowiki></code> (位于{{m|de|geifern}}) ⇒<br style="line-height: 200%;"/> {{de-verb|geifern}} <code><nowiki>{{de-verb}}</nowiki></code> (位于{{m|de|entern}}) ⇒<br style="line-height: 200%;"/> {{de-verb|entern}} <code><nowiki>{{de-verb}}</nowiki></code> (位于{{m|de|fensterln}}) ⇒<br style="line-height: 200%;"/> {{de-verb|fensterln}} {{temp demo|de-verb|offenbaren<-ge,+ge>}} {{temp demo|de-verb|knien<einfix>}} {{temp demo|de-verb|bringen<brachte,gebracht,brächte>}} {{temp demo|de-verb|senden<sendete:sandte,gesendet:gesandt>}} {{temp demo|de-verb|((managen,managen<managete,gemanaget:gemanaged.einfix.[更罕用]>))}} <code><nowiki>{{de-verb|[[Hand|Hände]]_[[schütteln]]}}</nowiki></code> ⇒<br style="line-height: 200%;"/> {{de-verb|[[Hand|Hände]]_[[schütteln]]}} <code><nowiki>{{de-verb|[[sich]]<accpron>_[[auf]]_[[sein]]en<pron>_[[Lorbeer]]en_[[aus.ruhen]]}}</nowiki></code> ⇒<br style="line-height: 200%;"/> {{de-verb|[[sich]]<accpron>_[[auf]]_[[sein]]en<pron>_[[Lorbeer]]en_[[aus.ruhen]]}} ===强变化动词=== {{temp demo|de-verb|singen<sang,gesungen,sänge>}} {{temp demo|de-verb|geben<gibt#gab,gegeben,gäbe>}} {{temp demo|de-verb|laufen<läuft#lief,gelaufen.sein>}} {{temp demo|de-verb|Rad.fahren<fährt#fuhr,gefahren,führe.sein>}} {{temp demo|de-verb|speien<spie,gespien>}} {{temp demo|de-verb|fahren<fährt#fuhr,gefahren,führe.haben,sein>}} {{temp demo|de-verb|auf.bekommen<bekam,bekommen,bekäme>}} {{temp demo|de-verb|ab.blasen<bläst#blies,geblasen>}} {{temp demo|de-verb|über.treten<tritt-#trat,getreten,träte.sein>}} {{temp demo|de-verb|übertreten<übertritt-#übertrat,übertreten,überträte>}} {{temp demo|de-verb|bersten<birst-#barst,geborsten,bärste>}} {{temp demo|de-verb|fechten<ficht-:fechtet#focht,gefochten,föchte>}} {{temp demo|de-verb|beheben<behob:behub[古舊],behoben,behöbe:behübe>}} {{temp demo|de-verb|spazieren_gehen<ging,gegangen.sein>}} {{temp demo|de-verb|zu.treffen<trifft#traf,getroffen,träfe.only3s>}} {{temp demo|de-verb|aus.erkiesen<erkor[古舊],erkoren[古舊],erköre[古舊].inf[棄用]>}} <code><nowiki>{{de-verb|aus.schneiden<schnitt,geschnitten> [[und]] ein.fügen<>}}</nowiki></code> ⇒<br style="line-height: 200%;"/> {{de-verb|aus.schneiden<schnitt,geschnitten> [[und]] ein.fügen<>}} ===过去现在动词=== {{temp demo|de-verb|können<pretpres.kann#konnte,gekonnt,könnte>}} ===不规则动词=== {{temp demo|de-verb|sein<irreg.sein>}} {{temp demo|de-verb|weh.tun<irreg>}} {{temp demo|de-verb|behaben<irreg>}} {{temp demo|de-verb|auf.behaben<irreg>}} {{temp demo|de-verb|auf.thun<irreg>}} ==手动参数== 有时可能会遇到(尤其是已弃用或方言的)某些{{temp|de-conj-auto}}无法处理的动词。虽然更长远的解决方法是给{{temp|de-conj-auto}}添加这个动词的支持,但目前您可以手动指定该动词的重要词形。 ===范例=== <code><nowiki>{{de-verb|class=6|schläht|schlug|geschlagen|schlüge|aux=haben}}</nowiki></code> ⇒<br style="line-height: 200%;"/> {{de-verb|head=schlahn|class=6|schläht|schlug|geschlagen|schlüge|aux=haben}} <code><nowiki>{{de-verb|class=irregstrong|staht|stand|past2=stund|gestanden|pp2=gestahn}}</nowiki></code> ⇒<br style="line-height: 200%;"/> {{de-verb|head=stahn|class=irregstrong|staht|stand|past2=stund|gestanden|pp2=gestahn}} ===参数=== ; {{para|1|req=1}}、{{para|pres2}}、{{para|pres3}}, ... : 指定第三人称单数现在时。<code>-</code>表示没有。 ; {{para|2|req=1}}、{{para|past2}}、{{para|past3}}, ... : 指定第一/第三人称单数过去式。<code>-</code>表示没有。 ; {{para|3|req=1}}、{{para|pp2}}、{{para|pp3}}, ... : 指定过去分词。<code>-</code>表示没有。 ; {{para|4}}、{{para|pastsubj2}}、{{para|pastsubj3}}, ... : 指定第一/第三人称单数过去虚拟式。<code>-</code>表示没有。若省略,则认为使用与过去式相同的词干。 ; {{para|aux}}、{{para|aux2}}, ... : 指定助词(一般是<code>haben</code>或<code>sein</code>)。 ; {{para|class}}、{{para|class2}}, ... : 指定词类。允许的值有<code>weak</code>(弱变化)、<code>1</code> .. <code>7</code>(强变化动词类别)、<code>irregweak</code>(不规则弱变化)、<code>irregstrong</code>(不规则强变化)、<code>mixed</code>(混合强弱)、<code>pretpres</code>(过去现在)、<code>irreg</code>(不规则)。 <includeonly> {{hwcat}} </includeonly> 2gtw4qzt9jgaxaqbvqwbuu2jegzlsvz 𰷭 0 1449075 9938462 5864108 2026-10-04T23:40:47Z Fglffer 55252 9938462 wikitext text/x-wiki {{character info}} ==跨語言== ===漢字=== {{Han char|rn=154|rad=贝|as=14|sn=18|four=|canj=|ids=⿰贝臧}} ====來源==== * {{Han ref|kx=|dkj=|dj=|hdz=|uh=30DED}} ==漢語== {{zh-see|贓|ns}} 5gqv5r5ywqi73gurxol8rdt5zhptna4 Module:De-verb 828 1450782 9938427 9495934 2026-10-04T14:48:41Z TongcyDai 53191 同步 enwikt(rev 91628980):json=、pagename=、Rad.fahren 式可分前綴、註腳與 accel 修正;本地化 9938427 Scribunto text/plain local export = {} --[=[ Authorship: Ben Wing <benwing2> ]=] --[=[ TERMINOLOGY: -- "slot" = A particular combination of tense/mood/person/number/etc. Example slot names for verbs are "pres_1s" (present first singular) and "subc_subii_3p" (subordinate-clause subjunctive II third plural). Each slot is filled with zero or more forms. -- "form" = The conjugated German form representing the value of a given slot. -- "lemma" = The dictionary form of a given German term. For German, always the infinitive. ]=] --[=[ FIXME: 1. Handle fensterln. (DONE) 2. Handle spie- past tense of speien. (DONE) 3. Make sure rathen, verheirathen work. (DONE) 4. Modify einfix to better handle managen, framen. (DONE) 5. Use variant codes so variant imperatives with and without -e match up in conjoined verbs e.g. [[ausschneiden und einfügen]]. 6. In conjoined verbs e.g. [[ausschneiden und einfügen]], don't repeat auxiliaries. 7. Support 'nosplitprefix' meaning that no forms exist where the prefix is split form the main verb, e.g. [[voreinstellen]]. (DONE) --]=] local lang = require("Module:languages").getByCode("de") local m_string_utilities = require("Module:string utilities") local m_links = require("Module:links") local m_table = require("Module:table") local iut = require("Module:inflection utilities") local put = require("Module:parse utilities") local rfind = m_string_utilities.find local rmatch = m_string_utilities.match local rsplit = m_string_utilities.split local lcfirst = m_string_utilities.lcfirst local function link_term(term, face) return m_links.full_link({ lang = lang, term = term }, face) end local vowel = "aeiouyäëïöüÿáéíóúýàèìòùỳâêîôûŷãẽĩõũỹ" local vowel_c = "[" .. vowel .. "]" local not_vowel_c = "[^" .. vowel .. "]" local function ends_in_dt(stem) return stem:find("[dt]h?$") end local inseparable_prefixes = { "be", "emp", "ent", "er", "ge", "miss", "miß", "ver", "zer", -- can also be separable "durch", "hinter", "über", "um", "unter", "voll", "wider", "wieder", } local wuerde = link_term("würde", "term") local past_subjunctive_single_word_preferred = m_table.listToSet { "haben", "sein", "können", "müssen", "dürfen", "mögen", "sollen", "wollen", "werden" } local past_subjunctive_single_word_preferred_footnote = "[更常用。避免使用帶" .. wuerde .. "的形式]" local past_subjunctive_single_word_often_used = m_table.listToSet { "bleiben", "brauchen", "bringen", "fallen", "finden", "geben", "gehen", "halten", "heißen", "heissen", "kommen", "laufen", "lassen", "liegen", "nehmen", "sehen", "stehen", "tun", "thun", "wissen" } local past_subjunctive_single_word_often_used_footnote = "[這一形式和使用" .. wuerde .. "的用法均存在]" local past_subjunctive_single_word_rare_footnote = "[罕用,除非在非常正式的場合,否則一般使用" .. wuerde .. "代替]" local schst_footnote = "[德語區的口語中均有使用,且奧地利官方承認]" local all_persons_numbers = { ["1s"] = "1|s", ["2s"] = "2|s", ["3s"] = "3|s", ["1p"] = "1|p", ["2p"] = "2|p", ["3p"] = "3|p", } local person_number_list = { "1s", "2s", "3s", "1p", "2p", "3p", } local persnum_to_index = {} for k, v in pairs(person_number_list) do persnum_to_index[v] = k end local imp_person_number_list = { "2s", "2p", } local verb_slots_basic = { {"infinitive", "inf"}, {"infinitive_linked", "inf"}, {"pres_part", "pres|part"}, {"perf_part", "past|part"}, {"zu_infinitive", "zu"}, -- will be handled specially by [[Module:accel/de]] {"aux", "-"}, } local verb_slots_subordinate_clause = { } local verb_slots_composed = { } -- Add entries for a slot with person/number variants. -- `verb_slots` is the table to add to. -- `slot_prefix` is the prefix of the slot, typically specifying the tense/aspect. -- `tag_suffix` is the set of inflection tags to add after the person/number tags, -- or "-" to use "-" as the inflection tags (which indicates that no accelerator entry -- should be generated). local function add_slot_personal(verb_slots, slot_prefix, tag_suffix) for persnum, persnum_tag in pairs(all_persons_numbers) do local slot = slot_prefix .. "_" .. persnum if tag_suffix == "-" then table.insert(verb_slots, {slot, "-"}) else table.insert(verb_slots, {slot, persnum_tag .. "|" .. tag_suffix}) end end end add_slot_personal(verb_slots_basic, "pres", "pres") add_slot_personal(verb_slots_basic, "subi", "sub:I") add_slot_personal(verb_slots_basic, "pret", "pret") add_slot_personal(verb_slots_basic, "subii", "sub:II") table.insert(verb_slots_basic, {"imp_2s", "s|imp"}) table.insert(verb_slots_basic, {"imp_2p", "p|imp"}) add_slot_personal(verb_slots_subordinate_clause, "subc_pres", "dep|pres") add_slot_personal(verb_slots_subordinate_clause, "subc_subi", "dep|sub:I") add_slot_personal(verb_slots_subordinate_clause, "subc_pret", "dep|pret") add_slot_personal(verb_slots_subordinate_clause, "subc_subii", "dep|sub:II") add_slot_personal(verb_slots_composed, "perf_ind", "-") add_slot_personal(verb_slots_composed, "perf_sub", "-") add_slot_personal(verb_slots_composed, "plup_ind", "-") add_slot_personal(verb_slots_composed, "plup_sub", "-") table.insert(verb_slots_composed, {"futi_inf", "-"}) add_slot_personal(verb_slots_composed, "futi_subi", "-") add_slot_personal(verb_slots_composed, "futi_ind", "-") add_slot_personal(verb_slots_composed, "futi_subii", "-") table.insert(verb_slots_composed, {"futii_inf", "-"}) add_slot_personal(verb_slots_composed, "futii_subi", "-") add_slot_personal(verb_slots_composed, "futii_ind", "-") add_slot_personal(verb_slots_composed, "futii_subii", "-") local all_verb_slots = {} for _, slot_and_accel in ipairs(verb_slots_basic) do table.insert(all_verb_slots, slot_and_accel) end for _, slot_and_accel in ipairs(verb_slots_subordinate_clause) do table.insert(all_verb_slots, slot_and_accel) end for _, slot_and_accel in ipairs(verb_slots_composed) do table.insert(all_verb_slots, slot_and_accel) end local pronouns = { "ich", "du", "er", "wir", "ihr", "sie", } local irreg_verbs = { ["haben"] = { ["pres"] = { "habe", "hast", "hat", "haben", "habt", "haben", }, ["pret"] = { "hatte", "hattest", "hatte", "hatten", "hattet", "hatten", }, ["subi"] = { "habe", "habest", "habe", "haben", "habet", "haben", }, ["subii"] = { "hätte", "hättest", "hätte", "hätten", "hättet", "hätten", }, ["imp"] = { {"hab", "habe"}, "habt", }, ["presp"] = "habend", ["pp"] = "habt", }, ["sein"] = { ["pres"] = { "bin", "bist", "ist", "sind", "seid", "sind", }, ["pret"] = { "war", "warst", "war", "waren", "wart", "waren", }, ["subi"] = { "sei", {"seist", "seiest"}, "sei", "seien", "seiet", "seien", }, ["subii"] = { "wäre", {"wärst", "wärest"}, "wäre", "wären", {"wärt", "wäret"}, "wären", }, ["imp"] = { "sei", "seid", }, ["presp"] = "seiend", ["pp"] = "wesen", }, ["tun"] = { ["pres"] = { "tue", "tust", "tut", "tun", "tut", "tun", }, ["pret"] = { "tat", {"tatest", "tatst"}, "tat", "taten", "tatet", "taten", }, ["subi"] = { "tue", "tuest", "tue", "tuen", "tuet", "tuen", }, ["subii"] = { "täte", "tätest", "täte", "täten", "tätet", "täten", }, ["imp"] = { {"tu", "tue"}, "tut", }, ["presp"] = "tuend", ["pp"] = "tan", }, -- FIXME, maybe we should construct this automatically from "tun". ["thun"] = { ["pres"] = { "thue", "thust", "thut", "thun", "thut", "thun", }, ["pret"] = { "that", {"thatest", "thatst"}, "that", "thaten", "thatet", "thaten", }, ["subi"] = { "thue", "thuest", "thue", "thuen", "thuet", "thuen", }, ["subii"] = { "thäte", "thätest", "thäte", "thäten", "thätet", "thäten", }, ["imp"] = { {"thu", "thue"}, "thut", }, ["presp"] = "thuend", ["pp"] = "than", }, ["werden"] = { ["pres"] = { "werde", "wirst", "wird", "werden", "werdet", "werden", }, ["pret"] = { {"wurde", {form = "ward", footnotes = {"[古舊]"}}}, {"wurdest", {form = "wardst", footnotes = {"[古舊]"}}}, {"wurde", {form = "ward", footnotes = {"[古舊]"}}}, "wurden", "wurdet", "wurden", }, ["subi"] = { "werde", "werdest", "werde", "werden", "werdet", "werden", }, ["subii"] = { "würde", "würdest", "würde", "würden", "würdet", "würden", }, ["imp"] = { {"werd", "werde"}, "werdet", }, ["presp"] = "werdend", ["pp"] = "worden", }, } local reflexive_possessive_forms = { ["sein"] = {"mein", "dein", "sein", "unser", "euer", "ihr"}, ["seine"] = {"meine", "deine", "seine", "unsere", "eure", "ihre"}, ["seinen"] = {"meinen", "deinen", "seinen", "unseren", "euren", "ihren"}, ["seinem"] = {"meinem", "deinem", "seinem", "unserem", "eurem", "ihrem"}, ["seiner"] = {"meiner", "deiner", "seiner", "unserer", "eurer", "ihrer"}, ["seines"] = {"meines", "deines", "seines", "unseses", "eures", "ihres"}, } local reflexive_case_forms = { ["accpron"] = {"mich", "dich", "sich", "uns", "euch", "sich"}, ["datpron"] = {"mir", "dir", "sich", "uns", "euch", "sich"}, } local function skip_slot(base, slot) if not slot:find("[123]") then -- Don't skip non-personal slots. return false end if base.nofinite then return true end if base.nosplitprefix then -- Verbs that don't allow split prefixes, e.g. [[voreinstellen]], don't have forms where the prefix is -- split from the main verb, including the present, preterite, subjunctive I and II and imperative (but -- not the subordinate clause equivalents). return slot:find("^pre[st]") or slot:find("^subi") or slot:find("^imp_") end if base.only3s and not slot:find("3s") or base.only3sp and not slot:find("3[sp]") then return true end return false end local function strip_spaces(text) return text:gsub("^%s*(.-)%s*", "%1") end local function escape_sein_sich_indicators(arg1) if not arg1:find("pron>") then return arg1 end local segments = put.parse_balanced_segment_run(arg1, "<", ">") -- Loop over every other segment. The even-numbered segments are angle-bracket specs while -- the odd-numbered segments are the text between them. for i = 2, #segments - 1, 2 do if segments[i] == "<accpron>" then segments[i] = "⦃⦃accpron⦄⦄" elseif segments[i] == "<datpron>" then segments[i] = "⦃⦃datpron⦄⦄" elseif segments[i] == "<pron>" then segments[i] = "⦃⦃pron⦄⦄" end end return table.concat(segments) end local function undo_escape_form(form) -- assign to var to throw away second value local newform = form:gsub("⦃⦃", "<"):gsub("⦄⦄", ">") return newform end local function remove_sein_sich_indicators(form) -- assign to var to throw away second value local newform = form:gsub("⦃⦃.-⦄⦄", "") return newform end local function replace_sein_sich_indicators(slot, form) if not form:find("⦃") then return form end local persnum = slot:match("^.*_([123][sp])$") local index if persnum then index = persnum_to_index[persnum] else index = 3 end form = form:gsub("sich(%]*)⦃⦃accpron⦄⦄", function(brackets) return reflexive_case_forms.accpron[index] .. brackets end) form = form:gsub("sich(%]*)⦃⦃datpron⦄⦄", function(brackets) return reflexive_case_forms.datpron[index] .. brackets end) form = form:gsub("(seine?[mnrs]?)(%]*)⦃⦃pron⦄⦄", function(sein_form, brackets) if reflexive_possessive_forms[sein_form] then return reflexive_possessive_forms[sein_form][index] .. brackets else error("Unrecognized sein-form '" .. sein_form .. "' in slot " .. slot .. ": " .. undo_escape_form(form)) end end) form = form:gsub("sein%]%]e?[mnrs]?⦃⦃pron⦄⦄", function(sein_ending) local sein_form = "sein" .. sein_ending if reflexive_possessive_forms[sein_form] then return reflexive_possessive_forms["sein"][index] .. "|" .. reflexive_possessive_forms[sein_form][index] .. "]]" else error("Unrecognized sein-form '" .. sein_form .. "' in slot " .. slot .. ": " .. undo_escape_form(form)) end end) if form:find("⦃⦃") or form:find("⦄⦄") then error("Unrecognized pronoun substitution in slot " .. slot .. ": " .. undo_escape_form(form)) end return form end local function combine_stem_ending(slot, stem, ending) local ending_with_pound = ending .. "#" if ending_with_pound:find("^st[ #]") then if rfind(stem, "[sxzß]$") then ending = ending:gsub("^s", "") elseif stem:find("st$") then -- bersten ending = ending:gsub("^st", "") end elseif ending_with_pound:find("^t[ #]") and stem:find("th?$") then ending = ending:gsub("^t", "") end return replace_sein_sich_indicators(slot, stem .. ending) end local function add(base, slot, stems, endings, footnotes) if skip_slot(base, slot) then return end local function do_combine_stem_ending(stem, ending) return combine_stem_ending(slot, stem, ending) end iut.add_forms(base.forms, slot, stems, endings, do_combine_stem_ending, nil, nil, iut.combine_footnotes(footnotes, base.all_footnotes)) end local function add_multi(base, slot, stems_and_endings, footnotes) if skip_slot(base, slot) then return end local function do_combine_stem_ending(stem, ending) return combine_stem_ending(slot, stem, ending) end iut.add_multiple_forms(base.forms, slot, stems_and_endings, do_combine_stem_ending, nil, nil, iut.combine_footnotes(footnotes, base.all_footnotes)) end local function add3(base, slot, stems1, stems2, endings, footnotes) return add_multi(base, slot, {stems1, stems2, endings}, footnotes) end local function add4(base, slot, stems1, stems2, stems3, endings, footnotes) return add_multi(base, slot, {stems1, stems2, stems3, endings}, footnotes) end local function add5(base, slot, stems1, stems2, stems3, stems4, endings, footnotes) return add_multi(base, slot, {stems1, stems2, stems3, stems4, endings}, footnotes) end local function get_subii_note(base) if base.from_headword then -- don't include autogenerated note if from_headword, so it doesn't end up in the headword qualifiers return nil end if past_subjunctive_single_word_preferred[base.base_verb] then return {past_subjunctive_single_word_preferred_footnote} elseif past_subjunctive_single_word_often_used[base.base_verb] then return {past_subjunctive_single_word_often_used_footnote} end return {past_subjunctive_single_word_rare_footnote} end local function add_zu_infinitive(base) if base.any_pre_pref then local zu if base.pre_pref == "" or base.pre_pref:find(" $") then zu = "zu " else zu = "zu" end add(base, "zu_infinitive", base.pre_pref .. zu, base.bare_infinitive) end end local function add_present(base, pretpres) local stems = base.infstem local stems23 = base.pres_23 or stems local function doadd(slot_pref, form_pref) -- Do forms based off the infinitive stem. for _, stemform in ipairs(stems) do local prefixed_stem = form_pref .. stemform.form local syncopated_stem = base.unstressed_el_er and prefixed_stem:gsub("e([lr])$", "%1") local function addit(slot, stem, ending, footnotes) add(base, slot_pref .. slot, stem, ending .. (slot_pref == "" and base.post_pref or ""), iut.combine_footnotes(footnotes, stemform.footnotes)) end -- first singular present indicative if not pretpres then -- pres_1s for preterite-present verbs used pres23 stem if base.unstressed_el_er then addit("pres_1s", syncopated_stem, "e") addit("pres_1s", prefixed_stem, "e") addit("pres_1s", prefixed_stem, "") else addit("pres_1s", prefixed_stem, "e") end end -- plural present indicative local e_in_2p = ends_in_dt(prefixed_stem) or base.unstressed_e_infix if e_in_2p then addit("pres_2p", prefixed_stem, "et") else addit("pres_2p", prefixed_stem, "t") end if base.unstressed_el_er or base.unstressed_erl then addit("pres_1p", prefixed_stem, "n") addit("pres_3p", prefixed_stem, "n") else addit("pres_1p", prefixed_stem, "en") addit("pres_3p", prefixed_stem, "en") end -- subjunctive I addit("subi_1s", prefixed_stem, "e") addit("subi_2s", prefixed_stem, "est") addit("subi_3s", prefixed_stem, "e") addit("subi_2p", prefixed_stem, "et") if base.unstressed_el_er then addit("subi_1s", syncopated_stem, "e") addit("subi_2s", syncopated_stem, "est") addit("subi_3s", syncopated_stem, "e") addit("subi_2p", syncopated_stem, "et") end if base.unstressed_el_er then addit("subi_1p", prefixed_stem, "n") addit("subi_3p", prefixed_stem, "n") else addit("subi_1p", prefixed_stem, "en") addit("subi_3p", prefixed_stem, "en") end -- imperative plural; most preterite-present verbs don't have it, and [[wissen]] is handled below if slot_pref == "" and not pretpres then if e_in_2p then addit("imp_2p", prefixed_stem, "et") else addit("imp_2p", prefixed_stem, "t") end end end -- Do forms based off of pres23 stem (also includes pres_1sg in preterite-present verbs). for _, stem23form in ipairs(stems23) do local prefixed_stem23 = form_pref .. stem23form.form local function addit(slot, stem, ending, footnotes) add(base, slot_pref .. slot, stem, ending .. (slot_pref == "" and base.post_pref or ""), iut.combine_footnotes(footnotes, stem23form.footnotes)) end if pretpres then -- Totally different code for preterite-present singular and imperative. addit("pres_1s", prefixed_stem23, "") addit("pres_2s", prefixed_stem23, "st") addit("pres_3s", prefixed_stem23, "") if slot_pref == "" and base.base_verb == "wissen" then -- Only [[wissen]] among the preterite-present verbs has an imperative. addit("imp_2s", "wiss", "e") -- dewikt mentions 'wisset' as an alternative, but not in Duden addit("imp_2p", "wiss", "t") end else -- Normal code path. local stem23_is_same_as_stem for _, stemform in ipairs(stems) do if stemform.form == stem23form.form then stem23_is_same_as_stem = true break end end -- present 2/3 singular local e_in_23s = base.unstressed_e_infix or stem23_is_same_as_stem and ends_in_dt(prefixed_stem23) if e_in_23s then addit("pres_2s", prefixed_stem23, "est") addit("pres_3s", prefixed_stem23, "et") else addit("pres_2s", prefixed_stem23, "st") if prefixed_stem23:find("sch$") then addit("pres_2s", prefixed_stem23, "t", not base.from_headword and {schst_footnote} or nil) end addit("pres_3s", prefixed_stem23, "t") end -- imperative singular; this may or may not be based off the pres23 stem -- Specifically, if the pres23 stem is different from the infinitive stem and does not have an ä or ö -- in it ([[fahren]], er [[fährt]] but imperative [[fahr]]/[[fahre]]; [[stoßen]], er [[stößt]] but -- imperative [[stoß]]/[[stoße]]), use it. Don't add -e unless '.longimp' is given (for [[sehen]], with -- imperatives [[sieh]] and [[siehe]]; but normally [[geben]] with imperative only [[gib]], similarly -- for [[treten]], [[gelten]], [[bergen]], [[etc.]]). In all other cases, use the infinitive stem, and -- under normal circumstances include two variants, without -e and with -e. We include only the variant -- with -e if '.e' is given ([[atmen]], [[zeichnen]], etc.), and we include only the variant without -e -- if '.shortimp' is given (unclear if this is needed for any verb). if slot_pref == "" then if not rfind(prefixed_stem23, "[äö]") and not stem23_is_same_as_stem then addit("imp_2s", prefixed_stem23, "") if base.longimp then addit("imp_2s", prefixed_stem23, "e") end else assert(form_pref == "") for _, stemform in ipairs(stems) do local function addimp(stem, ending) add(base, "imp_2s", stem, ending .. base.post_pref, stemform.footnotes) end local stem = stemform.form if base.unstressed_el_er then local syncopated_stem = stem:gsub("e([lr])$", "%1") addimp(syncopated_stem, "e") end if base.unstressed_e_infix then addimp(stem, "e") elseif base.shortimp then addimp(stem, "") else addimp(stem, "") addimp(stem, "e") end end end end end end end -- Do the basic forms doadd("", "") -- Also do the subordinate clause forms if any alternants have a prefix. if base.any_pre_pref then doadd("subc_", base.pre_pref) end -- Do the miscellaneous non-finite forms add3(base, "pres_part", base.pre_pref, base.bare_infinitive, "d") add_zu_infinitive(base) end -- Add the past forms and/or subjunctive II forms. `is_past` should be true if we're conjugating the past tense -- (not the past subjunctive), in which case the stems in `stem` should be the actual 1s/3s forms, ending in -te -- or -de if weak. If `is_past` is false, we're conjugating the past subjunctive. In that case, the stems passed -- in should include -e if that needs to be preserved in all forms (specifically, for [[spie]] past of [[speien]]; -- syncopated #'spist' is not allowed). (In practice, we chop off the final -e of explicitly user-specified past -- subjunctive forms and otherwise pass in the actual past tense. This means that user-specified past subjunctives -- in -te (e.g. [[brächte]]) will be passed in as 'brächt' but past subjunctives defaulted from the past tense -- will be passed in e.g. as 'lachte'. This works because for stems in -t and -d, the result is the same.) local function add_past_or_subii(base, slot_pref, stems, is_past) local function doadd(full_slot_pref, form_pref) for _, stemform in ipairs(stems) do local prefixed_stem = form_pref .. stemform.form local ends_in_e = prefixed_stem:find("e$") -- Normally, the weak past tense ends in -te and the strong past does not end in -e. An exception is -- [[spie]] (past tense of [[speien]]), which will be treated as weak (superseded spellings like -- 'spieen' will not be generated). local is_strong = is_past and not ends_in_e prefixed_stem = prefixed_stem:gsub("e$", "") local stem_ends_in_dt = ends_in_dt(prefixed_stem) local function addit(slot, ending, footnotes) local subii_footnotes if full_slot_pref:find("subii") then subii_footnotes = get_subii_note(base) end add(base, full_slot_pref .. slot, prefixed_stem, ending .. (full_slot_pref == slot_pref and base.post_pref or ""), iut.combine_footnotes(subii_footnotes, iut.combine_footnotes(footnotes, stemform.footnotes))) end if is_strong then addit("1s", "") addit("3s", "") if not stem_ends_in_dt then if rfind(prefixed_stem, "[sxzß]$") then addit("2s", "est") end addit("2s", "st") addit("2p", "t") else -- bitten -> batest or batst, similarly for laden, raten, etc. addit("2s", "est") if not prefixed_stem:find("st$") then -- bersten addit("2s", "st") end addit("2p", "et") end else -- Weak past and past subjunctive have same endings when ending in -d or -t (always the case for weak past). addit("1s", "e") addit("3s", "e") if not stem_ends_in_dt and not ends_in_e then addit("2s", "est") -- more formal; FIXME: should we footnote this? addit("2p", "et") -- more formal; FIXME: should we footnote this? addit("2s", "st") addit("2p", "t") else addit("2s", "est") addit("2p", "et") end end -- Both pasts, as well as past subjunctive, have same endings in 1p and 3p. addit("1p", "en") addit("3p", "en") end end -- Do the basic forms doadd(slot_pref, "") -- Also do the subordinate clause forms if any alternants have a prefix. if base.any_pre_pref then doadd("subc_" .. slot_pref, base.pre_pref) end end local conjs = {} conjs["normal"] = function(base) add_present(base) add_past_or_subii(base, "pret_", base.past, "past") add_past_or_subii(base, "subii_", base.past_sub or base.past) end conjs["pretpres"] = function(base) add_present(base, "pretpres") add_past_or_subii(base, "pret_", base.past, "past") add_past_or_subii(base, "subii_", base.past_sub or base.past) end conjs["irreg"] = function(base) local function doadd(slot_pref) local function addit(slot, forms, footnotes) if slot_pref == "" then add3(base, slot, base.insep_prefix, forms, base.post_pref, footnotes) else add(base, slot_pref .. slot, base.pre_pref .. base.insep_prefix, forms, footnotes) end end -- Do present, preterite, subjunctive I and II. for _, slot_tense in ipairs({"pres", "pret", "subi", "subii"}) do for index, forms in ipairs(base.irregverbobj[slot_tense]) do local persnum = person_number_list[index] local footnotes if slot_tense == "subii" then footnotes = get_subii_note(base) end addit(slot_tense .. "_" .. persnum, forms, footnotes) end end -- Do imperative. if slot_pref == "" then for index, forms in ipairs(base.irregverbobj["imp"]) do local persnum = imp_person_number_list[index] addit("imp_" .. persnum, forms) end end end -- Do the basic forms doadd("") -- Also do the subordinate clause forms if any alternants have a prefix. if base.any_pre_pref then doadd("subc_") end -- Do the miscellaneous non-finite forms iut.add_multiple_forms(base, "pp", {base.ge_prefix, base.insep_prefix, base.irregverbobj["pp"]}, -- We don't want to use combine_stem_ending because we want sein-sich indicators to be left alone, -- so they get replaced later when constructing composed forms. function(stem, ending) return stem .. ending end) add(base, "perf_part", base.pre_pref, base.pp) -- only [[werden]] by itself; not [[loswerden]], [[fertigwerden]], etc. if base.lemma == "werden" then iut.insert_form(base.forms, "perf_part", {form = "worden", footnotes = {"[作助動詞時]"}}) end add(base, "pres_part", base.pre_pref .. base.insep_prefix, base.irregverbobj["presp"]) add_zu_infinitive(base) end local function add_composed_forms(base) local function add_composed(tense_mood, index, persnum, auxforms, participle, suffix, footnotes) local pers_auxforms = iut.convert_to_general_list_form(auxforms[index]) local linked_pers_auxforms = iut.map_forms(pers_auxforms, function(form) return "[[" .. form .. "]] " end) add4(base, tense_mood .. "_" .. persnum, linked_pers_auxforms, "[[" .. base.pre_pref, participle, "]]" .. suffix, footnotes) end local function add_composed_perf(tense_mood, index, persnum, haben_auxforms, sein_auxforms, haben_suffix, sein_suffix) for _, auxform in ipairs(base.aux) do if auxform.form == "haben" then add_composed(tense_mood, index, persnum, haben_auxforms, base.pp, haben_suffix, auxform.footnotes) end if auxform.form == "sein" then add_composed(tense_mood, index, persnum, sein_auxforms, base.pp, sein_suffix, auxform.footnotes) end end end local haben_forms = irreg_verbs["haben"] local sein_forms = irreg_verbs["sein"] local werden_forms = irreg_verbs["werden"] for index, persnum in ipairs(person_number_list) do add_composed_perf("perf_ind", index, persnum, haben_forms["pres"], sein_forms["pres"], "", "") add_composed_perf("perf_sub", index, persnum, haben_forms["subi"], sein_forms["subi"], "", "") add_composed_perf("plup_ind", index, persnum, haben_forms["pret"], sein_forms["pret"], "", "") add_composed_perf("plup_sub", index, persnum, haben_forms["subii"], sein_forms["subii"], "", "") for _, mood in ipairs({"ind", "subi", "subii"}) do local tense = mood == "ind" and "pres" or mood add_composed("futi_" .. mood, index, persnum, werden_forms[tense], base.bare_infinitive, "") add_composed_perf("futii_" .. mood, index, persnum, werden_forms[tense], werden_forms[tense], " [[haben]]", " [[sein]]") end end add3(base, "futi_inf", "[[" .. base.pre_pref, base.bare_infinitive, "]] [[werden]]") add5(base, "futii_inf", "[[" .. base.pre_pref, base.pp, "]] [[", base.aux, "]] [[werden]]") end local function handle_derived_slots(base) -- Compute linked versions of potential lemma slots, for use in {{de-verb}}. -- We substitute the original lemma (before removing links) for forms that -- are the same as the lemma, if the original lemma has links. for _, slot in ipairs({"infinitive"}) do iut.insert_forms(base.forms, slot .. "_linked", iut.map_forms(base.forms[slot], function(form) if form == base.lemma and rfind(base.linked_lemma, "%[%[") then return base.linked_lemma else return form end end)) end end local function conjugate_verb(base) if not conjs[base.conj] then error("Internal error: Unrecognized conjugation type '" .. base.conj .. "'") end conjs[base.conj](base) add_composed_forms(base) -- No overrides implemented currently. -- process_slot_overrides(base) handle_derived_slots(base) end local function parse_indicator_spec(angle_bracket_spec) local base = {} local function parse_err(msg) error(msg .. ": " .. angle_bracket_spec) end local function fetch_footnotes(separated_group) local footnotes for j = 2, #separated_group - 1, 2 do if separated_group[j + 1] ~= "" then parse_err("Extraneous text after bracketed footnotes: '" .. table.concat(separated_group) .. "'") end if not footnotes then footnotes = {} end table.insert(footnotes, separated_group[j]) end return footnotes end local function fetch_specs(comma_separated_group, transform_form) if not comma_separated_group then return {{}} end local specs = {} local colon_separated_groups = put.split_alternating_runs(comma_separated_group, ":") for _, colon_separated_group in ipairs(colon_separated_groups) do local form = colon_separated_group[1] if transform_form then form = transform_form(form) end table.insert(specs, {form = form, footnotes = fetch_footnotes(colon_separated_group)}) end return specs end local inside = angle_bracket_spec:match("^<(.*)>$") assert(inside) if inside == "" then return base end local segments = put.parse_balanced_segment_run(inside, "[", "]") local dot_separated_groups = put.split_alternating_runs(segments, "%.") for i, dot_separated_group in ipairs(dot_separated_groups) do local comma_separated_groups = put.split_alternating_runs(dot_separated_group, "%s*[,#]%s*", "preserve splitchar") local first_element = comma_separated_groups[1][1] if first_element == "haben" or first_element == "sein" then for j = 1, #comma_separated_groups, 2 do if j > 1 and strip_spaces(comma_separated_groups[j - 1][1]) ~= "," then parse_err("Separator of # not allowed with haben or sein") end local aux = comma_separated_groups[j][1] if aux ~= "haben" and aux ~= "sein" then parse_err("Unrecognized auxiliary '" .. aux .. "'") end if base.aux then for _, existing_aux in ipairs(base.aux) do if existing_aux.form == aux then parse_err("Auxiliary '" .. aux .. "' specified twice") end end else base.aux = {} end table.insert(base.aux, {form = aux, footnotes = fetch_footnotes(comma_separated_groups[j])}) end elseif first_element == "-ge" or first_element == "+ge" then for j = 1, #comma_separated_groups, 2 do if j > 1 and strip_spaces(comma_separated_groups[j - 1][1]) ~= "," then parse_err("Separator of # not allowed with +ge or -ge") end local prefix = comma_separated_groups[j][1] if prefix ~= "+ge" and prefix ~= "-ge" then parse_err("Unrecognized ge- prefix '" .. prefix .. "'") end local ge_prefix if prefix == "+ge" then ge_prefix = "ge" else ge_prefix = "" end if base.ge_prefix then for _, existing_prefix in ipairs(base.ge_prefix) do if existing_prefix.form == ge_prefix then parse_err("Ge- prefix '" .. prefix .. "' specified twice") end end else base.ge_prefix = {} end table.insert(base.ge_prefix, {form = ge_prefix, footnotes = fetch_footnotes(comma_separated_groups[j])}) end elseif #comma_separated_groups > 1 then -- principal parts specified if base.past then parse_err("Can't specify principal parts twice") end assert(#comma_separated_groups[2] == 1) local past_index local first_separator = strip_spaces(comma_separated_groups[2][1]) if first_separator == "#" then -- present 3rd singular specified base.pres_23 = fetch_specs(comma_separated_groups[1], function(form) local stem if base.conj == "pretpres" then stem = form else stem = form:match("^(.-)%-$") if not stem then stem = form:match("^(.-)e?t$") end end if stem then return stem else parse_err("Present 3sg form '" .. form .. "' should end in - (for the stem) or -t") end end) past_index = 3 else past_index = 1 end base.past = fetch_specs(comma_separated_groups[past_index], function(form) return form end) if #comma_separated_groups < past_index + 2 then parse_err("Missing past participle spec") end assert(#comma_separated_groups[past_index + 1] == 1) if strip_spaces(comma_separated_groups[past_index + 1][1]) ~= "," then parse_err("Only first separator can be a #") end base.pp = fetch_specs(comma_separated_groups[past_index + 2], function(form) if form:find("e[nd]$") or form:find("t$") then return form else parse_err("Past participle '" .. form .. "' should end in -en, -t, or -ed") end end) if #comma_separated_groups > past_index + 2 then assert(#comma_separated_groups[past_index + 3] == 1) if strip_spaces(comma_separated_groups[past_index + 3][1]) ~= "," then parse_err("Only first separator can be a #") end base.past_sub = fetch_specs(comma_separated_groups[past_index + 4], function(form) local stem = form:match("^(.-)e$") if not stem then parse_err("Past subjunctive '" .. form .. "' should end in -e") end return stem end) if #comma_separated_groups > past_index + 4 then parse_err("Too many specs given") end end elseif first_element == "pretpres" or first_element == "irreg" then if #comma_separated_groups[1] > 1 then parse_err("No footnotes allowed with '" .. first_element .. "' spec") end if base.conj then parse_err("Conjugation specified as '" .. first_element .. "' but already specified or autodetermined as '" .. base.conj .. "'") end base.conj = first_element elseif first_element == "einfix" or first_element == "-einfix" then if #comma_separated_groups[1] > 1 then parse_err("No footnotes allowed with '" .. first_element .. "' spec") end base.unstressed_e_infix = first_element == "einfix" elseif first_element == "shortimp" or first_element == "longimp" or first_element == "only3s" or first_element == "only3sp" or first_element == "nofinite" or first_element == "nosplitprefix" then if #comma_separated_groups[1] > 1 then parse_err("No footnotes allowed with '" .. first_element .. "' spec") end base[first_element] = true elseif first_element == "" or first_element == "inf" then local footnotes = fetch_footnotes(comma_separated_groups[1]) if not footnotes then parse_err("Empty spec and 'inf' spec without footnotes not allowed") end if first_element == "inf" then base.infstem_footnotes = footnotes else base.all_footnotes = footnotes end else parse_err("Unrecognized spec '" .. comma_separated_groups[1][1] .. "'") end end return base end -- Normalize all lemmas, splitting off separable prefixes and substituting the pagename for blank lemmas. local function normalize_all_lemmas(alternant_multiword_spec, from_headword, pagename) local any_pre_pref iut.map_word_specs(alternant_multiword_spec, function(base) if base.lemma == "" then base.lemma = pagename end if base.lemma:find("_") and not base.lemma:find("%[%[") then -- If lemma is multiword and has no links, add links automatically. base.lemma= "[[" .. base.lemma:gsub("_", "]]_[[") .. "]]" end base.orig_lemma = base.lemma base.orig_lemma_no_links = m_links.remove_links(base.lemma) -- Normalize the linked lemma by removing dot, underscore, and <pron> and such indicators. base.linked_lemma = remove_sein_sich_indicators(base.lemma:gsub("%.", ""):gsub("_", " ")) base.lemma = m_links.remove_links(base.linked_lemma) local lemma = base.orig_lemma_no_links base.pre_pref, base.post_pref = "", "" local prefix, verb = lemma:match("^(.*)_(.-)$") if prefix then prefix = prefix:gsub("_", " ") -- in case of multiple preceding words base.pre_pref = base.pre_pref .. prefix .. " " base.post_pref = base.post_pref .. " " .. prefix else verb = lemma end prefix, base.base_verb = verb:match("^(.*)%.(.-)$") if prefix then -- Lowercase the separable prefixes (but not postfixes) to allow for specified infinitive `Rad.fahren`, -- which becomes actual infinitive [[radfahren]] but 'ich fahre Rad' etc. local prefix_parts = rsplit(prefix, "%.") for i, prefix_part in ipairs(prefix_parts) do prefix_parts[i] = lcfirst(prefix_part) end -- There may be multiple separable prefixes (e.g. [[wiedergutmachen]], ich mache wieder gut) base.pre_pref = base.pre_pref .. table.concat(prefix_parts) base.post_pref = base.post_pref .. " " .. prefix:gsub("%.", " ") else base.base_verb = verb end if base.pre_pref ~= "" then any_pre_pref = true end if base.only3s then alternant_multiword_spec.only3s = true end if base.only3sp then alternant_multiword_spec.only3sp = true end -- Remove <pron> indicators and such. local reconstructed_lemma = remove_sein_sich_indicators(base.pre_pref .. base.base_verb) base.lemma = reconstructed_lemma base.from_headword = from_headword end) if any_pre_pref then iut.map_word_specs(alternant_multiword_spec, function(base) base.any_pre_pref = true end) end if alternant_multiword_spec.only3s then iut.map_word_specs(alternant_multiword_spec, function(base) if not base.only3s then error("If some alternants specify 'only3s', all must") end end) end if alternant_multiword_spec.only3sp then iut.map_word_specs(alternant_multiword_spec, function(base) if not base.only3sp then error("If some alternants specify 'only3sp', all must") end end) end end local function detect_verb_type(base, verb_types) local this_verb_types = {} local function set_verb_type() base.verb_types = this_verb_types if verb_types then for _, verb_type in ipairs(this_verb_types) do m_table.insertIfNot(verb_types, verb_type) end end end if base.conj == "pretpres" then m_table.insertIfNot(this_verb_types, "pretpres") set_verb_type() return elseif base.conj == "irreg" then m_table.insertIfNot(this_verb_types, "irreg") set_verb_type() return end local infstem = m_table.deepCopy(base.infstem) local past = m_table.deepCopy(base.past) local pp = m_table.deepCopy(base.pp) local function matches_forms(forms, expected, ending_to_chop) expected = expected:gsub("C", not_vowel_c) .. "$" local seen = false for _, form in ipairs(forms) do local stem if ending_to_chop then stem = rmatch(form.form, "^(.*)" .. ending_to_chop .. "$") else stem = form.form end if stem and rfind("#" .. stem, expected) then seen = true form.seen = form.seen or "maybe" end end return seen end local function reset_maybes(forms, value) for _, form in ipairs(forms) do if form.seen == "maybe" then form.seen = value end end end local function reset_all_maybes(value) reset_maybes(infstem, value) reset_maybes(past, value) reset_maybes(pp, value) end local function has_unseen_weak_pp() for _, form in ipairs(pp) do if not form.seen and form.form:find("[dt]$") then return true end end return false end local function has_unseen_strong_pp() for _, form in ipairs(pp) do if not form.seen and form.form:find("n$") then return true end end return false end local function check(verbtype, infre, pastre, ppre, exclude) if exclude then for _, form in ipairs(infstem) do if exclude(form.form) then return end end end if matches_forms(infstem, infre) and matches_forms(past, pastre) and matches_forms(pp, ppre, "en") then m_table.insertIfNot(this_verb_types, verbtype) reset_all_maybes(true) else reset_all_maybes(false) end end local function check_strong() check("1", "Ce[iy]C*", "CieC*", "Cie?C*") -- beigen, bleiben, gedeihen, leihen, meiden, preisen, reiben, reihen, -- scheiden, scheinen, schreiben, schreien, schweigen, speiben, speien, speisen, steigen, treiben, weisen, -- zeihen; use 'Cie?C*' for past participle to handle 'schrien', 'spien' check("1", "Ce[iy]C*", "CiC*", "CiC*") -- beißen/beissen/beyßen/beyssen, bleichen, fleißen/fleissen, gleichen, -- gleiten, greifen, kneifen, kreischen, leiden, pfeifen, reißen/reissen, reiten, scheißen/scheissen, -- schleichen, schleifen, schleißen/schleissen, schmeißen/schmeissen, schneiden/schneyden, schreiten, -- spleißen/spleissen, streichen, streiten, weichen check("2", "CieC*", "CoC*", "CoC*") -- biegen, bieten, fliegen, fliehen, fließen/fliessen, frieren, -- genießen/geniessen, gießen/giessen, kiesen, kriechen, riechen, schieben, schießen/schiessen, schliefen, -- schließen/schliessen, sieden, sprießen/spriessen, stieben, triefen, verdrießen/verdriessen, verlieren, -- wiegen, ziehen check("2", "CauC*", "CoC*", "CoC*") -- krauchen, saufen, saugen check("2", "CüC", "CoC", "CoC") -- lügen, trügen local function exclude_nehmen_sprechen(form) -- need to exclude nehmen, stehlen, befehlen/empfehlen, sprechen, brechen, stechen return rfind(form, vowel_c .. "ch$") or rfind(form, vowel_c .. "h" .. not_vowel_c .. "$") end check("3", "C[ei]CC+", "CaCC+", "C[ou]CC+", exclude_nehmen_sprechen) -- [with e, + o in pp]: bergen, bersten, -- gelten, helfen, schelten, sterben, verderben, werben, werfen; [with i, + u in pp]: binden, brinnen, dringen, -- finden, gelingen, klingen, misslingen, ringen, schlingen, schwinden, schwingen, singen, sinken, springen, -- stinken, trinken, winden, wringen, zwingen; [with i, + o in pp]: rinnen, gewinnen, schwimmen, sinnen, -- spinnen check("3", "C[eiaö]CC+", "CoCC+", "CoCC+", exclude_nehmen_sprechen) -- [with e]: dreschen, fechten, flechten, melken, quellen, schmelzen, schwellen; [with i]: glimmen, klimmen; -- [with a]: schallen (geschallt), erschallen; [with ö]: erlöschen check("3", "quell", "quoll", "quoll") -- need to special-case quellen due to u preceding e check("3", "schind", "schund", "schund") -- need to special-case due to 'u' in past check("4", "C[eäo]C*", "Cah?Ch?", "CoC*") -- [with e]: befehlen, brechen, schrecken, nehmen, sprechen, stechen, -- stecken (gesteckt), stehlen, treffen; [with ä]: gebären; [with o]: kommen check("4", "C[äe]C", "Coh?C", "Coh?C", function(form) return form:find("heb$") end) -- [with ä]: gären, wägen, schwären; [with e]: bewegen, weben, scheren (but not heben) check("5", "C[ei]C*", "CaC", "CeC*") -- [with e, one C]: geben, genesen, geschehen, lesen, meßen, sehen, treten; -- [with e, two C]: essen, fressen, messen, vergessen; [with i, two C]: bitten, sitzen check("5", "C[ei]C*", "Cass", "Cess") -- essen, fressen, messen, sitzen in Swiss spelling check("5", "CieC", "CaC", "CeC") -- liegen check("6", "CaC*", "CuC*", "CaC*") -- backen, fragen (gefragt), graben, laden, mahlen, schaffen, schlagen, -- tragen, wachsen, waschen check("6", "heb", "h[ou]b", "hob") -- we need to special-case this because heben (class 6 per Wikipedia) has the -- exact same vowels as weben (class 4 per Wikipedia) check("6", "schwör", "schw[ou]r", "schwor") -- only strong verb with these vowels check("7", "CaC*", "CieC*", "CaC*") -- blasen, braten, fallen, halten, lassen, raten/rathen, schlafen check("7", "C[aäe]C*", "CiC*", "CaC*") -- [with a]: fangen; [with ä]: hängen; [with e]: gehen check("7", "Ce[iy]C*", "CieC*", "Ce[iy]C*") -- heißen/heissen/heyßen/heyssen check("7", "CauC*", "CieC*", "CauC*") -- hauen, laufen check("7", "CoC*", "CieC*", "CoC*") -- stoßen/stossen check("7", "CuC*", "CieC*", "CuC*") -- rufen end for _, form in ipairs(past) do local past_stem = form.form:match("^(.*)te$") -- matches_forms() expects a Lua pattern so we need to escape special pattern chars (e.g. * in [[f*cken]]) past_stem = past_stem and m_string_utilities.pattern_escape(past_stem) or nil if past_stem then if matches_forms(infstem, "#" .. past_stem) then -- Need to run matches_forms() on all possibilities even if earlier ones match, -- to mark the seen forms correctly. local matches_pp = matches_forms(pp, "#" .. past_stem .. "t") matches_pp = matches_forms(pp, "#ge" .. past_stem .. "t") or matches_pp if matches_pp then m_table.insertIfNot(this_verb_types, "weak") form.seen = true reset_all_maybes(true) else reset_all_maybes(false) end end end if not form.seen and form.form:find("ete$") then if matches_forms(infstem, "#" .. past_stem:gsub("e$", "")) then -- Need to run matches_forms() on all possibilities even if earlier ones match, -- to mark the seen forms correctly. local matches_pp = matches_forms(pp, "#" .. past_stem .. "t") matches_pp = matches_forms(pp, "#ge" .. past_stem .. "t") or matches_pp matches_pp = matches_forms(pp, "#" .. past_stem .. "d") or matches_pp matches_pp = matches_forms(pp, "#ge" .. past_stem .. "d") or matches_pp if matches_pp then m_table.insertIfNot(this_verb_types, "weak") form.seen = true reset_all_maybes(true) else reset_all_maybes(false) end end end if past_stem and not form.seen then if not has_unseen_weak_pp() and has_unseen_strong_pp() then m_table.insertIfNot(this_verb_types, "mixed") else m_table.insertIfNot(this_verb_types, "irregweak") end matches_forms(pp, "#" .. past_stem .. "t") matches_forms(pp, "#ge" .. past_stem .. "t") form.seen = true reset_all_maybes(true) end if not form.seen then check_strong() end if not form.seen then if not has_unseen_strong_pp() and has_unseen_weak_pp() then m_table.insertIfNot(this_verb_types, "mixed") else m_table.insertIfNot(this_verb_types, "irregstrong") end end end for _, form in ipairs(pp) do if not form.seen then if form.form:find("n$") then if m_table.contains(this_verb_types, "strong") then m_table.insertIfNot(this_verb_types, "irregstrong") elseif m_table.contains(this_verb_types, "weak") then m_table.insertIfNot(this_verb_types, "mixed") end elseif form.form:find("[dt]$") then if m_table.contains(this_verb_types, "weak") then m_table.insertIfNot(this_verb_types, "irregweak") elseif m_table.contains(this_verb_types, "strong") then m_table.insertIfNot(this_verb_types, "mixed") end end end end base.verb_types = this_verb_types if verb_types then for _, verb_type in ipairs(this_verb_types) do m_table.insertIfNot(verb_types, verb_type) end end set_verb_type() end local function detect_indicator_spec(base) base.forms = {} base.aux = base.aux or {{form = "haben"}} base.bare_infinitive = {{form = base.base_verb, footnotes = base.infstem_footnotes}} add(base, "infinitive", base.pre_pref, base.bare_infinitive) if base.only3s and base.only3sp then error("'only3s' and 'only3sp' cannot both be specified") end if base.conj == "irreg" then for irregverb, verbobj in pairs(irreg_verbs) do base.insep_prefix = base.base_verb:match("^(.-)" .. irregverb .. "$") if base.insep_prefix then base.irregverb = irregverb base.irregverbobj = verbobj if not base.ge_prefix then if base.insep_prefix ~= "" then base.ge_prefix = {{form = ""}} else base.ge_prefix = {{form = "ge"}} end end return end end error("Unrecognized irregular base verb '" .. base.base_verb .. "'") end -- The following applies to everything but 'irreg' verbs. local infstem, infroot = base.base_verb:match("^((.*)e[lr])n$") if infstem then base.unstressed_el_er = true else infstem, infroot = base.base_verb:match("^((.*)erl)n$") -- [[fensterln]] if infstem then base.unstressed_erl = true else infstem = base.base_verb:match("^(.*)en$") infroot = infstem if not infstem then error("Unrecognized infinitive, should end in -en, -eln, -ern or -erln: '" .. base.base_verb .. "'") end end end base.infstem = {{form = infstem, footnotes = base.infstem_footnotes}} if base.unstressed_e_infix == nil then -- Autodetect whether we need an -e- infix in the pres_2s and pres_3s ([[atmen]], [[eignen]], etc.). -- Almost all such cases have -Cmen or -Cnen where C is a consonant other than r or l and other than the -- following m or n (hence [[meinen]], [[lernen]], [[filmen]], [[schwimmen]] should be excluded); we also -- need to exclue -Vhmen and -Vhnen ([[wohnen]], [[rühmen]]), but not -Chmen and -Chnen ([[zeichnen]]). if base.base_verb:find("[mn]en$") and not base.base_verb:find("([mn])%1en$") and not rfind(base.base_verb, vowel_c .. "[hrl]?[mn]en$") then base.unstressed_e_infix = true end end if not base.conj then base.conj = "normal" end if base.conj == "normal" then local weak_past if not base.past then if base.unstressed_e_infix or ends_in_dt(infstem) then weak_past = infstem .. "et" else weak_past = infstem .. "t" end base.past = {{form = weak_past .. "e"}} end if not base.pp then if not weak_past then error("Internal error: past was explicitly given but not past participle") end if not base.ge_prefix then local no_ge for _, insep_prefix in ipairs(inseparable_prefixes) do -- There must be a vowel following the inseparable prefix; excludes beben, bechern, belfern, bellen, bessern, -- beten, betteln, betten, erben, erden, ernten, erzen, entern, gecken, gehren, gellen, gerben, geten, missen, -- zergen, zerren, etc. if rfind(infroot, "^" .. insep_prefix .. ".*" .. vowel_c .. ".*") and -- Exclude cases like beigen, beichten, beugen, beulen, geifern; this also wrongly excludes -- beirren, which needs -ge. not rfind(infroot, "^[bg]e[iu]" .. not_vowel_c .. "*$") then no_ge = true break end -- Check for -ier preceded by a vowel (excludes bieren, frieren, gieren, schmieren, stieren, zieren, etc.) if not base.unstressed_el_er and not base.unstressed_erl and rfind(infroot, "^.*" .. vowel_c .. ".*ier$") then no_ge = true break end end if no_ge then base.ge_prefix = {{form = ""}} else base.ge_prefix = {{form = "ge"}} end end base.pp = iut.map_forms(base.ge_prefix, function(form) if base.unstressed_el_er or base.unstressed_erl then return form .. base.base_verb:gsub("n$", "") .. "t" else return form .. weak_past end end) end else if not base.pp then error("For '" .. base.conj .. "' type verbs, past participle must be explicitly given") end end add(base, "perf_part", base.pre_pref, base.pp) end local function detect_all_indicator_specs(alternant_multiword_spec) iut.map_word_specs(alternant_multiword_spec, function(base) detect_indicator_spec(base) detect_verb_type(base) end) end -- Set the overall auxiliary or auxiliaries. We can't do this using the normal inflection -- code as it will produce e.g. '[[haben]] und [[haben]]' for conjoined verbs. local function compute_auxiliary(alternant_multiword_spec) iut.map_word_specs(alternant_multiword_spec, function(base) iut.insert_forms(alternant_multiword_spec.forms, "aux", base.aux) end) end function export.process_verb_classes(classes) local class_descs = {} local cats = {} local function insert_desc(desc) m_table.insertIfNot(class_descs, desc) end local function insert_cat(cat) m_table.insertIfNot(cats, "德語" .. cat) end for _, class in ipairs(classes) do if class == "weak" then insert_desc("[[Appendix:Glossary#weak verb|弱變化]]") insert_cat("弱變化動詞") elseif class == "irregweak" then insert_desc("[[Appendix:Glossary#irregular|不規則]][[Appendix:Glossary#weak verb|弱變化]]") insert_cat("弱變化動詞") insert_cat("不規則弱變化動詞") elseif class == "pretpres" then insert_desc("[[Appendix:Glossary#preterite-present verb|過去形現在式]]") insert_cat("過去形現在式動詞") elseif class == "irreg" then insert_desc("[[Appendix:Glossary#irregular|不規則]]") insert_cat("不規則動詞") elseif class == "mixed" then insert_desc("混合變化") insert_cat("混合變化動詞") elseif class == "irregstrong" then insert_desc("[[Appendix:Glossary#irregular|不規則]][[Appendix:Glossary#strong verb|強變化]]") insert_cat("強變化動詞") insert_cat("不規則強變化動詞") elseif class:find("^[1-7]$") then insert_desc(class .. "類[[Appendix:Glossary#strong verb|強變化]]") insert_cat("強變化動詞") insert_cat(class .. "類強變化動詞") else error("Unrecognized verb class '" .. class .. "'") end end return class_descs, cats end local function add_categories_and_annotation(alternant_multiword_spec, base, from_headword, manual) local function insert_cat(full_cat) m_table.insertIfNot(alternant_multiword_spec.categories, full_cat) end if not from_headword then for _, slot_and_accel in ipairs(all_verb_slots) do local slot = slot_and_accel[1] local forms = base.forms[slot] local must_break = false if forms then for _, form in ipairs(forms) do if not form.form:find("%[%[") then local title = mw.title.new(form.form) if title and not title.exists then insert_cat("變位模板中帶紅鏈的德語動詞") must_break = true break end end end end if must_break then break end end end if manual then return end local class_descs, cats = export.process_verb_classes(base.verb_types) for _, desc in ipairs(class_descs) do m_table.insertIfNot(alternant_multiword_spec.verb_types, desc) end -- Don't place multiword terms in categories like 'German class 4 strong verbs' to avoid spamming the -- categories with such terms. if from_headword and not base.lemma:find(" ") then for _, cat in ipairs(cats) do insert_cat(cat) end end for _, aux in ipairs(base.aux) do m_table.insertIfNot(alternant_multiword_spec.auxiliaries, link_term(aux.form, "term")) if from_headword and not base.lemma:find(" ") then -- see above insert_cat("使用" .. aux.form .. "作為助動詞的德語動詞") -- Set flags for use below in adding 'German verbs using haben and sein as auxiliary' alternant_multiword_spec["saw_" .. aux.form] = true end end end -- Compute the categories to add the verb to, as well as the annotation to display in the -- conjugation title bar. We combine the code to do these functions as both categories and -- title bar contain similar information. local function compute_categories_and_annotation(alternant_multiword_spec, from_headword, manual) alternant_multiword_spec.categories = {} alternant_multiword_spec.verb_types = {} alternant_multiword_spec.auxiliaries = {} iut.map_word_specs(alternant_multiword_spec, function(base) add_categories_and_annotation(alternant_multiword_spec, base, from_headword) end) if manual then alternant_multiword_spec.annotation = "" return end local ann_parts = {} table.insert(ann_parts, table.concat(alternant_multiword_spec.verb_types, " <small>或</small> ")) if #alternant_multiword_spec.auxiliaries > 0 then table.insert(ann_parts, ",助動詞" .. table.concat(alternant_multiword_spec.auxiliaries, " <small>或</small> ")) end if from_headword and alternant_multiword_spec.saw_haben and alternant_multiword_spec.saw_sein then m_table.insertIfNot(alternant_multiword_spec.categories, "使用haben和sein作為助動詞的德語動詞") end alternant_multiword_spec.annotation = table.concat(ann_parts) end local function show_forms(alternant_multiword_spec) local lemmas = iut.map_forms(alternant_multiword_spec.forms.infinitive, remove_sein_sich_indicators) alternant_multiword_spec.lemmas = lemmas -- save for later use in make_table() local linked_pronouns = {} for index, pronoun in ipairs(pronouns) do -- use 'es' instead of 'er' for 3s-only verbs if index == 3 and alternant_multiword_spec.only3s then linked_pronouns[index] = link_term("es") else linked_pronouns[index] = link_term(pronoun) end end local dass = link_term("dass") .. " " local function generate_link(data) local link = m_links.full_link { lang = lang, term = data.form.formval_for_link, tr = "-", accel = data.form.accel_obj } local footnote_text = iut.get_footnote_text(data.form.footnotes, data.footnote_obj) local persnum = data.slot:match("^imp_(2[sp])$") if persnum then link = link .. " (" .. linked_pronouns[persnum_to_index[persnum]] .. ")" else persnum = data.slot:match("^.*_([123][sp])$") if persnum then link = linked_pronouns[persnum_to_index[persnum]] .. " " .. link end if data.slot:find("^subc_") then link = dass .. link end end return link .. footnote_text end local function join_spans(data) if data.slot == "aux" then return table.concat(data.formval_spans, " <small>或</small> ") else return table.concat(data.formval_spans, "<br />") end end local props = { lang = lang, lemmas = lemmas, generate_link = generate_link, join_spans = join_spans, } props.slot_list = verb_slots_basic iut.show_forms(alternant_multiword_spec.forms, props) alternant_multiword_spec.footnote_basic = alternant_multiword_spec.forms.footnote props.slot_list = verb_slots_subordinate_clause iut.show_forms(alternant_multiword_spec.forms, props) alternant_multiword_spec.footnote_subordinate_clause = alternant_multiword_spec.forms.footnote props.slot_list = verb_slots_composed iut.show_forms(alternant_multiword_spec.forms, props) alternant_multiword_spec.footnote_composed = alternant_multiword_spec.forms.footnote end local notes_template = [=[ <div style="width:100%;text-align:left;background:var(--wikt-palette-grey-blue-1,#d9ebff)"> <div style="display:inline-block;text-align:left;padding-left:1em;padding-right:1em"> {footnote} </div></div> ]=] local zu_infinitive_table = [=[ |- ! colspan=2 style="background:var(--wikt-palette-grey-2,#d0d0d0)" | zu-不定式 | colspan=4 data-accel-col=1 | {zu_infinitive} ]=] local basic_table = [=[ <div class="NavFrame" style=""> <div class="NavHead" style="">{title}的變位形式</div> <div class="NavContent"> {\op}| style="border: 1px solid var(--wikt-palette-black,#000000); border-collapse:collapse; background:var(--wikt-palette-white,#fafafa); text-align:center; width:100%" class="inflection-table" |- ! colspan=2 style="background:var(--wikt-palette-grey-2,#d0d0d0)" | <span title="Infinitiv">不定式</span> | colspan=4 data-accel-col=1 | {infinitive} |- ! colspan=2 style="background:var(--wikt-palette-grey-2,#d0d0d0)" | <span title="Partizip I (Partizip Präsens)">現在分詞</span> | colspan=4 data-accel-col=20 | {pres_part} |- ! colspan=2 style="background:var(--wikt-palette-grey-2,#d0d0d0)" | <span title="Partizip II (Partizip Perfekt)">過去分詞</span> | colspan=4 data-accel-col=20 | {perf_part} {zu_infinitive_table}|- ! colspan=2 style="background:var(--wikt-palette-grey-2,#d0d0d0)" | <span title="Hilfsverb">助動詞</span> | colspan=4 | {aux} |- | rowspan=2 style="background:var(--wikt-palette-grey-indigo-3,#a0ade3)" | ! colspan=2 style="background:var(--wikt-palette-grey-indigo-3,#a0ade3)" | <span title="Indikativ">直陳式</span> | rowspan=2 style="background:var(--wikt-palette-grey-indigo-3,#a0ade3)" | ! colspan=2 style="background:var(--wikt-palette-grey-indigo-3,#a0ade3)" | <span title="Konjunktiv">虛擬式</span> |- ! style="background:var(--wikt-palette-grey-indigo-3,#a0ade3)" | 單數 ! style="background:var(--wikt-palette-grey-indigo-3,#a0ade3)" | 複數 ! style="background:var(--wikt-palette-grey-indigo-3,#a0ade3)" | 單數 ! style="background:var(--wikt-palette-grey-indigo-3,#a0ade3)" | 複數 |- ! rowspan=3 style="background:var(--wikt-palette-grey-blue-3,#c0cfe4); width:7em" | <span title="Präsens">現在時</span> | data-accel-col=2 | {pres_1s} | data-accel-col=3 | {pres_1p} ! rowspan=3 style="background:var(--wikt-palette-grey-blue-3,#c0cfe4); width:7em" | <span title="Konjunktiv I (Konjunktiv Präsens)">i</span> | data-accel-col=10 | {subi_1s} | data-accel-col=11 | {subi_1p} |- | data-accel-col=2 | {pres_2s} | data-accel-col=3 | {pres_2p} | data-accel-col=10 | {subi_2s} | data-accel-col=11 | {subi_2p} |- | data-accel-col=2 | {pres_3s} | data-accel-col=3 | {pres_3p} | data-accel-col=10 | {subi_3s} | data-accel-col=11 | {subi_3p} |- | colspan=6 style="background:var(--wikt-palette-grey-2,#d5d5d5); height: .25em" | |- ! rowspan=3 style="background:var(--wikt-palette-grey-blue-3,#c0cfe4)" | <span title="Präteritum">過去式</span> | data-accel-col=6 | {pret_1s} | data-accel-col=7 | {pret_1p} ! rowspan=3 style="background:var(--wikt-palette-grey-blue-3,#c0cfe4)" | <span title="Konjunktiv II (Konjunktiv Präteritum)">ii</span> | data-accel-col=14 | {subii_1s} | data-accel-col=15 | {subii_1p} |- | data-accel-col=6 | {pret_2s} | data-accel-col=7 | {pret_2p} | data-accel-col=14 | {subii_2s} | data-accel-col=15 | {subii_2p} |- | data-accel-col=6 | {pret_3s} | data-accel-col=7 | {pret_3p} | data-accel-col=14 | {subii_3s} | data-accel-col=15 | {subii_3p} |- | colspan=6 style="background:var(--wikt-palette-grey-2,#d5d5d5); height: .25em" | |- ! style="background:var(--wikt-palette-grey-blue-3,#c0cfe4)" | <span title="Imperativ">命令式</span> | data-accel-col=18 | {imp_2s} | data-accel-col=19 | {imp_2p} | colspan=3 style="background:var(--wikt-palette-grey-1,#e0e0e0)" | |{\cl}{notes_clause}</div></div> ]=] local subordinate_clause_table = [=[ <div class="NavFrame" style=""> <div class="NavHead" style="">{title}的從句形式</div> <div class="NavContent"> {\op}| style="border: 1px solid var(--wikt-palette-black,#000000); border-collapse:collapse; background:var(--wikt-palette-white,#fafafa); text-align:center; width:100%" class="inflection-table" |- | style="background:var(--wikt-palette-grey-indigo-3,#a0ade3)" | ! colspan=2 style="background:var(--wikt-palette-grey-indigo-3,#a0ade3)" | <span title="Indikativ">直陳式</span> | style="background:var(--wikt-palette-grey-indigo-3,#a0ade3)" | ! colspan=2 style="background:var(--wikt-palette-grey-indigo-3,#a0ade3)" | <span title="Konjunktiv">虛擬式</span> |- ! rowspan=3 style="background:var(--wikt-palette-grey-blue-3,#c0cfe4); width:7em" | <span title="Präsens">現在時</span> | data-accel-col=4 | {subc_pres_1s} | data-accel-col=5 | {subc_pres_1p} ! rowspan=3 style="background:var(--wikt-palette-grey-blue-3,#c0cfe4); width:7em" | <span title="Konjunktiv I (Konjunktiv Präsens)">i</span> | data-accel-col=12 | {subc_subi_1s} | data-accel-col=13 | {subc_subi_1p} |- | data-accel-col=4 | {subc_pres_2s} | data-accel-col=5 | {subc_pres_2p} | data-accel-col=12 | {subc_subi_2s} | data-accel-col=13 | {subc_subi_2p} |- | data-accel-col=4 | {subc_pres_3s} | data-accel-col=5 | {subc_pres_3p} | data-accel-col=12 | {subc_subi_3s} | data-accel-col=13 | {subc_subi_3p} |- | colspan=6 style="background:var(--wikt-palette-grey-2,#d5d5d5); height: .25em" | |- ! rowspan=3 style="background:var(--wikt-palette-grey-blue-3,#c0cfe4)" | <span title="Präteritum">過去式</span> | data-accel-col=8 | {subc_pret_1s} | data-accel-col=9 | {subc_pret_1p} ! rowspan=3 style="background:var(--wikt-palette-grey-blue-3,#c0cfe4)" | <span title="Konjunktiv II (Konjunktiv Präteritum)">ii</span> | data-accel-col=16 | {subc_subii_1s} | data-accel-col=17 | {subc_subii_1p} |- | data-accel-col=8 | {subc_pret_2s} | data-accel-col=9 | {subc_pret_2p} | data-accel-col=16 | {subc_subii_2s} | data-accel-col=17 | {subc_subii_2p} |- | data-accel-col=8 | {subc_pret_3s} | data-accel-col=9 | {subc_pret_3p} | data-accel-col=16 | {subc_subii_3s} | data-accel-col=17 | {subc_subii_3p} |{\cl}{notes_clause}</div></div> ]=] local composed_table = [=[ <div class="NavFrame" style=""> <div class="NavHead" style="">{title}的複合形式</div> <div class="NavContent"> {\op}| style="border: 1px solid var(--wikt-palette-black,#000000); border-collapse:collapse; background:var(--wikt-palette-white,#fafafa); text-align:center; width:100%" class="inflection-table" |- ! colspan=6 style="background:var(--wikt-palette-grey-green-4,#99cc99)" | <span title="Perfekt">完成時</span> |- ! style="background:var(--wikt-palette-grey-green-4,#99cc99)" | ! style="background:var(--wikt-palette-grey-green-4,#99cc99)" | 單數 ! style="background:var(--wikt-palette-grey-green-4,#99cc99)" | 複數 ! style="background:var(--wikt-palette-grey-green-4,#99cc99)" | ! style="background:var(--wikt-palette-grey-green-4,#99cc99)" | 單數 ! style="background:var(--wikt-palette-grey-green-4,#99cc99)" | 複數 |- ! rowspan=3 style="background:var(--wikt-palette-grey-green-2,#cfedcc); width:7em" | <span title="Indikativ">直陳式</span> | {perf_ind_1s} | {perf_ind_1p} ! rowspan=3 style="background:var(--wikt-palette-grey-green-2,#cfedcc); width:7em" | <span title="Konjunktiv">虛擬式</span> | {perf_sub_1s} | {perf_sub_1p} |- | {perf_ind_2s} | {perf_ind_2p} | {perf_sub_2s} | {perf_sub_2p} |- | {perf_ind_3s} | {perf_ind_3p} | {perf_sub_3s} | {perf_sub_3p} |- ! colspan=6 style="background:var(--wikt-palette-grey-green-4,#99CC99)" | <span title="Plusquamperfekt">過去完成時</span> |- ! rowspan=3 style="background:var(--wikt-palette-grey-green-2,#cfedcc)" | <span title="Indikativ">直陳式</span> | {plup_ind_1s} | {plup_ind_1p} ! rowspan=3 style="background:var(--wikt-palette-grey-green-2,#cfedcc)" | <span title="Konjunktiv">虛擬式</span> | {plup_sub_1s} | {plup_sub_1p} |- | {plup_ind_2s} | {plup_ind_2p} | {plup_sub_2s} | {plup_sub_2p} |- | {plup_ind_3s} | {plup_ind_3p} | {plup_sub_3s} | {plup_sub_3p} |- ! colspan=6 style="background:var(--wikt-palette-grey-indigo-4,#9999DF)" | <span title="Futur I">將來一式</span> |- ! rowspan=3 style="background:var(--wikt-palette-grey-indigo-2,#ccccff)" | <span title="Infinitiv">不定式</span> | rowspan=3 colspan=2 | {futi_inf} ! rowspan=3 style="background:var(--wikt-palette-grey-indigo-2,#ccccff)" | <span title="Konjunktiv I (Konjunktiv Präsens)">虛擬一式</span> | {futi_subi_1s} | {futi_subi_1p} |- | {futi_subi_2s} | {futi_subi_2p} |- | {futi_subi_3s} | {futi_subi_3p} |- ! colspan=6 style="background:var(--wikt-palette-grey-2,#d5d5d5); height: .25em" | |- ! rowspan=3 style="background:var(--wikt-palette-grey-indigo-2,#ccccff)" | <span title="Indikativ">直陳式</span> | {futi_ind_1s} | {futi_ind_1p} ! rowspan=3 style="background:var(--wikt-palette-grey-indigo-2,#ccccff)" | <span title="Konjunktiv II (Konjunktiv Präteritum)">虛擬二式</span> | {futi_subii_1s} | {futi_subii_1p} |- | {futi_ind_2s} | {futi_ind_2p} | {futi_subii_2s} | {futi_subii_2p} |- | {futi_ind_3s} | {futi_ind_3p} | {futi_subii_3s} | {futi_subii_3p} |- ! colspan=6 style="background:var(--wikt-palette-grey-indigo-4,#9999DF)" | <span title="Futur II">將來二式</span> |- ! rowspan=3 style="background:var(--wikt-palette-grey-indigo-2,#ccccff)" | <span title="Infinitiv">不定式</span> | rowspan=3 colspan=2 | {futii_inf} ! rowspan=3 style="background:var(--wikt-palette-grey-indigo-2,#ccccff)" | <span title="Konjunktiv I (Konjunktiv Präsens)">虛擬一式</span> | {futii_subi_1s} | {futii_subi_1p} |- | {futii_subi_2s} | {futii_subi_2p} |- | {futii_subi_3s} | {futii_subi_3p} |- ! colspan=6 style="background:var(--wikt-palette-grey-2,#d5d5d5); height: .25em" | |- ! rowspan=3 style="background:var(--wikt-palette-grey-indigo-2,#ccccff)" | <span title="Indikativ">直陳式</span> | {futii_ind_1s} | {futii_ind_1p} ! rowspan=3 style="background:var(--wikt-palette-grey-indigo-2,#ccccff)" | <span title="Konjunktiv II (Konjunktiv Präteritum)">虛擬二式</span> | {futii_subii_1s} | {futii_subii_1p} |- | {futii_ind_2s} | {futii_ind_2p} | {futii_subii_2s} | {futii_subii_2p} |- | {futii_ind_3s} | {futii_ind_3p} | {futii_subii_3s} | {futii_subii_3p} |{\cl}{notes_clause}</div></div>]=] local function make_table(alternant_multiword_spec) local forms = alternant_multiword_spec.forms forms.title = link_term(alternant_multiword_spec.lemmas[1].form, "term") if alternant_multiword_spec.annotation ~= "" then forms.title = forms.title .. " (" .. alternant_multiword_spec.annotation .. ")" end -- Maybe format the subordinate clause table. local formatted_subordinate_clause_table if forms.subc_pres_3s ~= "—" then -- use 3s in case of only3s verb forms.zu_infinitive_table = m_string_utilities.format(zu_infinitive_table, forms) forms.footnote = alternant_multiword_spec.footnote_subordinate_clause forms.notes_clause = forms.footnote ~= "" and m_string_utilities.format(notes_template, forms) or "" formatted_subordinate_clause_table = m_string_utilities.format(subordinate_clause_table, forms) else forms.zu_infinitive_table = "" formatted_subordinate_clause_table = "" end -- Format the basic table. forms.footnote = alternant_multiword_spec.footnote_basic forms.notes_clause = forms.footnote ~= "" and m_string_utilities.format(notes_template, forms) or "" local formatted_basic_table = m_string_utilities.format(basic_table, forms) -- Format the composed table. forms.footnote = alternant_multiword_spec.footnote_composed forms.notes_clause = forms.footnote ~= "" and m_string_utilities.format(notes_template, forms) or "" local formatted_composed_table = m_string_utilities.format(composed_table, forms) -- Paste them together. return formatted_basic_table .. formatted_subordinate_clause_table .. formatted_composed_table end -- Externally callable function to parse and conjugate a verb given user-specified arguments. -- Return value is WORD_SPEC, an object where the conjugated forms are in `WORD_SPEC.forms` -- for each slot. If there are no values for a slot, the slot key will be missing. The value -- for a given slot is a list of objects {form=FORM, footnotes=FOOTNOTES}. function export.do_generate_forms(parent_args, from_headword, def) local params = { [1] = true, pagename = true, json = {type = "boolean"}, -- for bot use } if from_headword then params["lemma"] = {list = true} params["id"] = true end local args = require("Module:parameters").process(parent_args, params) local pagename = args.pagename or mw.loadData("Module:headword/data").pagename if not args[1] then if pagename == "De-conj" or pagename == "De-verb" then -- l10n: page titles begin with a capital letter on this wiki args[1] = def or "aus.fahren<fährt#fuhr,gefahren,führe.haben,sein>" else args[1] = pagename -- If pagename has spaces in it, add links around each word if args[1]:find(" ") then args[1] = "[[" .. args[1]:gsub(" ", "]] [[") .. "]]" end end end local parse_props = { parse_indicator_spec = parse_indicator_spec, lang = lang, allow_default_indicator = true, allow_blank_lemma = true, } local escaped_arg1 = escape_sein_sich_indicators(args[1]) local alternant_multiword_spec = iut.parse_inflected_text(escaped_arg1, parse_props) alternant_multiword_spec.pos = "verbs" alternant_multiword_spec.args = args normalize_all_lemmas(alternant_multiword_spec, from_headword, pagename) detect_all_indicator_specs(alternant_multiword_spec) local inflect_props = { slot_list = all_verb_slots, lang = lang, inflect_word_spec = conjugate_verb, -- We add links around the generated verbal forms rather than allow the entire multiword -- expression to be a link, so ensure that user-specified links get included as well. include_user_specified_links = true, } iut.inflect_multiword_or_alternant_multiword_spec(alternant_multiword_spec, inflect_props) compute_auxiliary(alternant_multiword_spec) compute_categories_and_annotation(alternant_multiword_spec, from_headword) if args.json then return require("Module:JSON").toJSON(alternant_multiword_spec) end return alternant_multiword_spec end -- Entry point for {{de-conj}}. Template-callable function to parse and conjugate a verb given -- user-specified arguments and generate a displayable table of the conjugated forms. function export.show(frame) local parent_args = frame:getParent().args local alternant_multiword_spec = export.do_generate_forms(parent_args) if type(alternant_multiword_spec) == "string" then -- json=1 specified return alternant_multiword_spec end show_forms(alternant_multiword_spec) return make_table(alternant_multiword_spec) .. require("Module:utilities").format_categories(alternant_multiword_spec.categories, lang) end local numbered_params = { -- required params [1] = "infinitive", [2] = "pres_part", [3] = "perf_part", [4] = "aux", [5] = "pres_1s", [6] = "pres_2s", [7] = "pres_3s", [8] = "pres_1p", [9] = "pres_2p", [10] = "pres_3p", [11] = "pret_1s", [12] = "pret_2s", [13] = "pret_3s", [14] = "pret_1p", [15] = "pret_2p", [16] = "pret_3p", [17] = "subi_1s", [18] = "subi_2s", [19] = "subi_3s", [20] = "subi_1p", [21] = "subi_2p", [22] = "subi_3p", [23] = "subii_1s", [24] = "subii_2s", [25] = "subii_3s", [26] = "subii_1p", [27] = "subii_2p", [28] = "subii_3p", [29] = "imp_2s", [30] = "imp_2p", -- [31] formerly the 2nd variant of imp_2s; now no longer allowed (use comma-separated 29=) -- [32] formerly indicated whether the 2nd variant of imp_2s was present -- optional params [33] = "subc_pres_1s", [34] = "subc_pres_2s", [35] = "subc_pres_3s", [36] = "subc_pres_1p", [37] = "subc_pres_2p", [38] = "subc_pres_3p", [39] = "subc_pret_1s", [40] = "subc_pret_2s", [41] = "subc_pret_3s", [42] = "subc_pret_1p", [43] = "subc_pret_2p", [44] = "subc_pret_3p", [45] = "subc_subi_1s", [46] = "subc_subi_2s", [47] = "subc_subi_3s", [48] = "subc_subi_1p", [49] = "subc_subi_2p", [50] = "subc_subi_3p", [51] = "subc_subii_1s", [52] = "subc_subii_2s", [53] = "subc_subii_3s", [54] = "subc_subii_1p", [55] = "subc_subii_2p", [56] = "subc_subii_3p", [57] = "zu_infinitive", } local max_required_param = 30 -- Externally callable function to parse and conjugate a verb where all forms are given manually. -- Return value is WORD_SPEC, an object where the conjugated forms are in `WORD_SPEC.forms` -- for each slot. If there are no values for a slot, the slot key will be missing. The value -- for a given slot is a list of objects {form=FORM, footnotes=FOOTNOTES}. function export.do_generate_forms_manual(parent_args) local params = { json = {type = "boolean"}, } for paramnum, _ in pairs(numbered_params) do params[paramnum] = {required = paramnum <= max_required_param} end local args = require("Module:parameters").process(parent_args, params) local base = { forms = {}, manual = true, } local function process_numbered_param(paramnum) local argval = args[paramnum] if paramnum == 4 then if argval == "h" then base.aux = {{form = "haben"}} elseif argval == "s" then base.aux = {{form = "sein"}} elseif argval == "hs" then base.aux = {{form = "haben"}, {form = "sein"}} elseif argval == "sh" then base.aux = {{form = "sein"}, {form = "haben"}} elseif not argval then error("Missing auxiliary in 4=") else error("Unrecognized auxiliary 4=" .. argval) end elseif argval and argval ~= "-" then local split_vals = rsplit(argval, "%s*,%s*") for _, val in ipairs(split_vals) do -- FIXME! This won't work with commas or brackets in footnotes. -- To fix this, use functions from [[Module:inflection utilities]]. local form, footnote = val:match("^(.-)%s*(%[[^%]%[]-%])$") local footnotes if form then footnotes = {footnote} else form = val end local slot = numbered_params[paramnum] --if slot:find("subii") then -- local subii_footnotes = get_subii_note(base) -- footnotes = iut.combine_footnotes(subii_footnotes, footnotes) --end iut.insert_form(base.forms, slot, {form = form, footnotes = footnotes}) end end end -- Do the infinitive first as we need to reference it in subjunctive II footnotes. process_numbered_param(1) for paramnum, _ in pairs(numbered_params) do if paramnum ~= 1 then process_numbered_param(paramnum) end end add_composed_forms(base) compute_categories_and_annotation(base, nil, "manual") return base, args.json end -- Entry point for {{de-conj-table}}. Template-callable function to parse and conjugate a verb given -- manually-specified inflections and generate a displayable table of the conjugated forms. function export.show_manual(frame) local parent_args = frame:getParent().args local base, json = export.do_generate_forms_manual(parent_args) if json then return require("Module:JSON").toJSON(base) end show_forms(base) return make_table(base) .. require("Module:utilities").format_categories(base.categories, lang) end return export 017yb910un5nahrwj1424tgh4eosx2d Module:Accel/de 828 1511604 9938447 8113960 2026-10-04T18:09:17Z TongcyDai 53191 accel 形式名稱對齊 Module:De-headword 傳入的中文名稱(指小、陰性、中性) 9938447 Scribunto text/plain return {generate = function (params, entry) local template = { ["alternative"] = "alternative form of", } if params.form == "zu" then entry.def = "{{de-zu-infinitive of|" .. params.origin .. "}}" elseif template[params.form] then entry.def = entry.make_def(template[params.form]) end if params.form == "指小" then -- l10n entry.head = "{{de-noun|n}}" entry.declension = "{{de-ndecl|n}}" end if params.form == "陰性" then -- l10n entry.head = "{{de-noun|f}}" entry.def = "{{female equivalent of|de|" .. params.origin .. "}}" entry.declension = "{{de-ndecl|f}}" end if params.form == "中性" then -- l10n entry.pos = "noun" entry.head = "{{de-noun|+}}" local adj = mw.getContentLanguage():lcfirst(params.target):gsub("es$", "") entry.def = "{{nominalization of|de|" .. adj .. "}}" entry.declension = "{{de-ndecl|+}}" end local ending = params.form:match("^adj%-form%-(.*)$") if ending then local auto_ending = require("Module:de-inflections").determine_adj_ending(params.origin, params.target) if auto_ending and auto_ending == ending then entry.def = "{{de-adj form of|" .. params.origin .. "}}" else entry.def = "{{de-adj form of|" .. params.origin .. "|" .. ending .. "}}" end end end} dqyyqayj7zur6qdv4tl1zh06vkuxoai Spielothek 0 1540495 9938414 9549464 2026-10-04T12:22:46Z TongcyDai 53191 9938414 wikitext text/x-wiki ==德語== ===詞源=== {{ety|de|:af|Spiel|-o-|-thek}} {{compound|de|Spiel|-o-|-thek}}。 ===發音=== * {{IPA|de|/ʃpiloˈteːk/}} * {{hyph|de|Spie|lo|thek}} * {{audio|de|De-Spielothek.ogg}} ===名詞=== {{de-noun|f}} # [[遊戲廳]],[[遊藝場]] ====變格==== {{de-ndecl|f}} ===延伸閱讀=== * {{R:de:Duden}} i4juppr75fa5oylj2jsvb3ii4euiigf Template:De-conj/doc 10 1689141 9938449 9523276 2026-10-04T18:19:59Z TongcyDai 53191 補上大寫可分成分(Rad.fahren)、pagename=、json= 的說明;修正一處少了右方括號的範例 9938449 wikitext text/x-wiki {{documentation subpage}}{{uses lua|Module:de-verb}} ==參數== ===弱變化動詞=== 對於大多數弱變化動詞,無需指定任何參數。例如,對於 {{m|de|verwandeln||變形}},只需寫: :{{temp|de-conj}} 這會產生: {{de-conj|verwandeln}} 注意,本模組會自動識別以 {{m|de||-eln}} 結尾的動詞需要特殊處理,且以 {{m|de||ver-}} 開頭的動詞在過去分詞中不加 {{m|de||ge-}} 前綴。 您也可以明確指定動詞,這在(例如)於「User:……」或其他測試頁面上調用 {{temp|de-conj}} 時很有用: :{{temp|de-conj|verwandeln}} 結果與上面相同,但適用於任何頁面。 如果動詞帶有可分前綴(separable prefix),請在前綴和主動詞之間加上 <code>.</code>,例如對於 {{m|de|abzeichnen||描繪、素描}},請使用: :{{temp|de-conj|ab.zeichnen}} 這會產生: {{de-conj|ab.zeichnen}} 注意,本模組會自動識別此特定動詞需要在某些詞尾前插入額外的 {{m|de||e}}(例如第三人稱單數現在時 {{m|de||zeichnet ab}},相較於 {{m|de||verwandelt}} 或 {{m|de||macht auf}} 沒有這個額外的 {{m|de||e}});會根據形式正確處理可分前綴位於主動詞之前或之後的情況;並會為有限形式(finite forms)的從屬子句變體添加第三個區塊。 可以處理多個可分前綴,例如對於 {{m|de|wiedergutmachen||補償、彌補}}: :{{temp|de-conj|wieder.gut.machen}} 這會產生: {{de-conj|wieder.gut.machen}} 如果可分前綴後面寫有空格,請用下劃線(<code>_</code>)代替點號,例如對於 {{m|de|kennen lernen||認識、了解}}: :{{temp|de-conj|kennen_lernen}} 這會產生: {{de-conj|kennen_lernen}} 注意,本模組會自動生成帶空格的 zu-不定式 {{m|de||kennen zu lernen}}(在 {{m|de|zu}} 後),而另一種/舊式拼寫 {{m|de|kennenlernen}}(使用 {{temp|de-conj|kennen.lernen}})則會生成 zu-不定式 {{m|de||kennenzulernen}}。 可以使用多個下劃線,就像多個點號一樣,並且下劃線可以與點號結合使用,如 {{m|de|fest einprogrammieren||(在軟體中)寫死/硬編碼}}: :{{temp|de-conj|fest_ein.programmieren}} ===強變化動詞=== 對於強變化動詞,您必須指定基本形式(principal parts);最少需要過去式和過去分詞,如果第三人稱單數現在時和/或過去虛擬式不可預測,也需一併指定。例如,對於 {{m|de|rufen||呼叫、喊}},請使用: :{{temp|de-conj|rufen<rief,gerufen>}} 這會產生: {{de-conj|rufen<rief,gerufen>}} 這裡不需要給出第三人稱單數或過去虛擬式,因為它們可以分別從不定式和過去式推導出來。 對於可分前綴,如上所述使用 <code>.</code>,例如對於 {{m|de|anrufen||打電話}}: :{{temp|de-conj|an.rufen<rief,gerufen>}} 注意,可分前綴只需寫一次,而在 <code><...></code> 內的形式不帶前綴。 然而,如果是不可分前綴,則必須重複寫出,例如對於 {{m|de|berufen||引用、訴諸}}: :{{temp|de-conj|berufen<berief,berufen>}} 如果過去虛擬式的詞幹與過去式不同,請在尖括號內指定第一人稱單數過去虛擬式作為第三個基本形式,例如對於 {{m|de|finden||找到}},其第一人稱單數過去虛擬式為 {{m|de||fände}}: :{{temp|de-conj|finden<fand,gefunden,fände>}} 如果第二和第三人稱單數直陳現在時的詞幹與不定式不同,請在過去式'''之前'''指定第三人稱單數直陳現在時,並用 <code>#</code> 分隔,如 {{m|de|verlassen||離開}}: :{{temp|de-conj|verlassen<verlässt#verließ,verlassen>}} 有時,您可能需要同時指定第三人稱單數直陳現在時和過去虛擬式,如 {{m|de|sprechen||說話}}: :{{temp|de-conj|sprechen<spricht#sprach,gesprochen,spräche>}} 如果第三人稱單數直陳現在時以構成詞幹一部分的 {{m|de||-t}} 結尾,請在該形式後加上 <code>-</code> 來表示這是一個詞幹,如 {{m|de|raten||建議、猜測}},其第三人稱單數現在時為 {{m|de||rät}}(第二人稱單數現在時為 {{m|de||rätst}} 而非 #{{m|de||räst}}): :{{temp|de-conj|raten<rät-#riet,geraten>}} ===指定助動詞=== 有些動詞使用 {{m|de|sein}} 作為助動詞,代替或加上 {{m|de|haben}}。例如 {{m|de|gehen}} 使用 {{m|de|sein}},如 {{m|de||ich bin gegangen|我走了/我已經走了}}。要指示這一點,請在尖括號內寫上 <code>sein</code>,如下所示: :{{temp|de-conj|gehen<ging,gegangen.sein>}} 這會產生: {{de-conj|gehen<ging,gegangen.sein>}} 這裡,<code>.</code> 用於分隔尖括號內不同的「指示符」(規格);基本形式算作一個指示符,助動詞算作另一個。 若要指示弱變化動詞使用 {{m|de|sein}},如 {{m|de|spazieren||散步、溜達}},請寫作: :{{temp|de-conj|<sein>}} 或者: :{{temp|de-conj|spazieren<sein>}} 這裡,因為尖括號內只有一個指示符,所以不需要分隔用的 <code>.</code>。 如果動詞可以接 <code>haben</code> 或 <code>sein</code>,如 {{m|de|fahren||行駛、駕駛}},請將兩者都指定出來,用逗號分隔: :{{temp|de-conj|fahren<fährt#fuhr,gefahren,führe.haben,sein>}} 這會產生: {{de-conj|fahren<fährt#fuhr,gefahren,führe.haben,sein>}} ===控制是否顯示 {{m|de||ge-}}=== 在弱變化動詞中,本模組會嘗試預測是否在過去分詞中包含 {{m|de|ge-}} 前綴。大多數情況下它能正確運作,使用的演算法如下: # 如果動詞以 {{m|de|-ieren}} 結尾且前面至少有一個母音,如 {{m|de|studieren}} 或 {{m|de|fotografieren}},則不加 {{m|de||ge-}}。(「前面有一個母音」的規則是為了避免誤判 {{m|de|frieren}}、{{m|de|gieren}}、{{m|de|schmieren}}、{{m|de|stieren}}、{{m|de|zieren}} 等詞。) # 如果動詞以可識別的不可分前綴開頭,且詞幹中隨後至少有一個母音,則不加 {{m|de||ge-}}。 #* 不可分前綴列表如下:{{m|de|be-}}、{{m|de|emp-}}、{{m|de|ent-}}、{{m|de|er-}}、{{m|de|ge-}}、{{m|de|miss-}}、{{m|de|miß-}}、{{m|de|ver-}} 和 {{m|de|zer-}},以及以下既可是可分也可是不可分的前綴:{{m|de|durch-}}、{{m|de|hinter-}}、{{m|de|über-}}、{{m|de|um-}}、{{m|de|unter-}}、{{m|de|voll-}}、{{m|de|wider-}}、{{m|de|wieder-}}。 #* 「隨後有一個母音」的規則是為了避免誤判 {{m|de|beben}}、{{m|de|bechern}}、{{m|de|belfern}}、{{m|de|bellen}}、{{m|de|bessern}}、{{m|de|beten}}、{{m|de|betteln}}、{{m|de|betten}}、{{m|de|erben}}、{{m|de|erden}}、{{m|de|ernten}}、{{m|de|erzen}}、{{m|de|entern}}、{{m|de|gecken}}、{{m|de|gehren}}、{{m|de|gellen}}、{{m|de|gerben}}、{{m|de|geten}}、{{m|de|missen}}、{{m|de|zergen}}、{{m|de|zerren}} 等詞。 #* 作為此規則的例外,對於以{{m|de||bei-}}、{{m|de||beu-}}、{{m|de||gei-}} 或 {{m|de||geu-}} 開頭且詞幹中隨後沒有母音的動詞,此規則'''不'''生效。這避免了誤判 {{m|de|beigen}}、{{m|de|beichten}}、{{m|de|beugen}}、{{m|de|beulen}} 和 {{m|de|geifern}}。(這也錯誤地排除了 {{m|de|beirren}},該詞需要明確使用 <code>-ge</code> 指示符;見下文。) # 所有其他動詞預設加上 {{m|de||ge-}} 前綴。 偶爾此演算法會失效。對於這些情況,請在尖括號內顯式指定 <code>+ge</code> 或 <code>-ge</code>。例如,{{m|de|posaunen||吹號、大聲宣佈}} 不帶 {{m|de||ge-}},但既不以可識別的不可分前綴開頭,也不以 {{m|de||-ieren}} 結尾。請如下指定此動詞: :{{temp|de-conj|<-ge>}} 相反地,{{m|de|beamen||傳送(科幻或投影機)}} 並非以帶有後續母音的不可分前綴 {{m|de|be-}} 開頭,但確實需要 {{m|de||ge-}}。請如下指定: :{{temp|de-conj|<+ge>}} 如果動詞兩種情況皆可,即帶或不帶 {{m|de||ge-}} 均可,請指定兩種變體,例如 {{m|de|offenbaren||揭示、透露}},其過去分詞可以是 {{m|de||offenbart}} 或 {{m|de||geoffenbart}}: :{{temp|de-conj|<-ge,+ge>}} 如上所述,像 <code>-ge</code> 這樣的設定是一個「指示符」。如果你需要在尖括號內指定多個指示符,請用點號分隔。例如 {{m|de|karriolen||乘馬車奔馳}},它同時需要 <code>-ge</code> 和 <code>sein</code>。請如下指定: :{{temp|de-conj|<-ge.sein>}} ===控制是否顯示 {{m|de||-e-}} 中綴=== 有些弱變化動詞,例如 {{m|de|atmen||呼吸}} 和 {{m|de|zeichnen||繪畫}},在某些形式中有額外的 {{m|de||-e-}}({{m|de||du atmest}}, {{m|de||er atmet}}, {{m|de||ich atmete}}),且裸命令式 #{{m|de||atm}} 被抑制。通常這是自動判定的: # 動詞詞幹以 {{m|de||r}} 或 {{m|de||l}} 以外的輔音結尾,後面接 {{m|de||m}} 或 {{m|de||n}} 者,會有額外的 {{m|de||-e-}}。(因此 {{m|de|lernen||學習}} 和 {{m|de|filmen||拍攝}} 沒有。) # 但以 母音 + {{m|de||h}} + {{m|de||m}}/{{m|de||n}}' 結尾的動詞(如 {{m|de|wohnen||居住}}、{{m|de|rühmen||讚揚、誇耀}})沒有。 # 以 {{m|de||-mmen}} 或 {{m|de||-nnen}}' 結尾的動詞(如 {{m|de|stimmen||調音、正確}}、{{m|de|spannen||拉緊}})也沒有。 這可以使用 <code>einfix</code> 指示符強制顯示額外的 {{m|de||-e-}},或用 <code>-einfix</code> 強制不顯示。例如,{{m|de|knien||跪}} 的第二人稱單數為 {{m|de||du kniest}}(而非 #{{m|de||du knist}}),可用於此詞: :{{temp|de-conj|<einfix>}} 一些借自英語的動詞,如 {{m|de|managen||管理}} 和 {{m|de|framen||(誣陷/構陷/制定框架)}},變位時可以帶或不帶額外的 {{m|de||-e-}}。要指定這一點,請使用交替形式,詳見下文 [[#其他變位方式|#其他變位方式]]。 ===長與短命令式=== 大多數動詞都有以 {{m|de||-e}} 結尾的「長」命令式和不以 {{m|de||-e}} 結尾的「短」命令式。例外如下: # 具有獨特第三人稱單數詞幹的動詞(如 {{m|de|treten||踏}},第三人稱單數 {{m|de||er tritt}})使用該詞幹作為命令式,並且只有「短」變體:{{m|de||tritt!}} 而非 #{{m|de||tritte!}}。例外:如果第三人稱單數詞幹中有 {{m|de||ä}}或{{m|de||ö}}(如 {{m|de|fahren||行駛}},{{m|de||er fährt}};{{m|de|stoßen||推、撞}},{{m|de||er stößt}}),則'''不'''使用此詞幹。取而代之的是使用不定式詞幹,且同時存在「長」和「短」變體:{{m|de||fahr!}} 或 {{m|de||fahre!}}。 # 在第二和第三人稱單數現在時具有 {{m|de||-e-}} 中綴的動詞(見上文 [[#控制是否顯示_-{-e-}-_中綴|#控制是否顯示 {{m|de||-e-}} 中綴]])只有「長」變體:{{m|de||atme!|呼吸!}}、{{m|de||zeichne!|繪畫!}},而非 #{{m|de||atm!}} 或 #{{m|de||zeichn!}}。 # 其他動詞同時具有「長」和「短」變體。 對於只有短命令式的第 (1) 類動詞,可以使用指示符 <code>longimp</code> 強制同時顯示長短變體。例如用於 {{m|de|sehen||看}},其第三人稱單數現在時為 {{m|de||er sieht}},命令式可以是 {{m|de||sieh!}}或{{m|de||siehe!}}: :{{temp|de-conj|sehen<sieht#sah,gesehen,sähe.longimp>}} 對於同時具有長短命令式的第 (3) 類動詞,可以使用指示符 <code>shortimp</code> 抑制長變體並強制只顯示短變體。 ===不規則弱變化動詞=== 有些動詞在過去式中作為弱變化動詞變位,但形式不規則。例如 {{m|de|bringen||帶來}}(過去式 {{m|de||brachte}})和 {{m|de|andenken||考慮、打算}}(過去式 {{m|de||dachte an}})。要指定例如 {{m|de|andenken}} 的變位,請使用以下格式: :{{temp|de-conj|an.denken<dachte,gedacht,dächte>}} 注意其格式與強變化動詞完全相同,指定了所有必要的基本形式。模組知道這是一個弱變化動詞,因為過去式以 {{m|de||-te}} 結尾,而強變化動詞的過去式以其他內容(通常是輔音)結尾。 ===不規則動詞=== 少數動詞的不規則程度超出了指定基本形式所能處理的正常變化範圍。這些動詞是 {{m|de|sein||是}}、{{m|de|haben||有}}、{{m|de|werden||變成}} 和 {{m|de|tun||做}},以及它們的派生詞。對於這些動詞,請使用指示符 <code>irreg</code>。無需指定任何基本形式,因為模組對這些特定動詞有特殊處理。例如,對於 {{m|de|sein}}: :{{temp|de-conj|<irreg.sein>}} 這裡我們只指定了指示符 <code>irreg</code>(表示該動詞不規則)和 <code>sein</code>(表示助動詞)。 ===過去形現在式動詞=== 對於像 {{m|de|können||能夠、會}} 和 {{m|de|wissen||知道}} 這樣的過去形現在式動詞(preterite-present verbs),請使用指示符 <code>pretpres</code> 並照常指定基本形式。這些動詞與強變化動詞的主要區別在於,通常作為第二和第三人稱單數現在時的詞幹,在這些動詞中用於整個單數現在時,且詞尾類似於強變化動詞。例如,對於 {{m|de|können}}: :{{temp|de-conj|können<pretpres.kann#konnte,gekonnt,könnte>}} 這會產生: {{de-conj|können<pretpres.kann#konnte,gekonnt,könnte>}} 唯一具有命令式的過去-現在時動詞是 {{m|de|wissen}},模組會對其命令式進行特殊處理。 ===多種變體基本形式=== 有些動詞有多個可能的過去式、過去分詞或過去虛擬式。要指示這點,請用冒號分隔變體。例如 {{m|de|heben}},其過去虛擬式為 {{m|de||höbe}}或{{m|de||hübe}}: :{{temp|de-conj|heben<hob,gehoben,höbe:hübe>}} 這會產生: {{de-conj|heben<hob,gehoben,höbe:hübe>}} 另一個例子是 {{m|de|senden||發送}},過去式為 {{m|de||sendete}}或{{m|de||sandte}},對應的過去分詞為 {{m|de||gesendet}}或{{m|de||gesandt}}: :{{temp|de-conj|senden<sendete:sandte,gesendet:gesandt>}} ===腳註=== 當有多種變體可能時,通常並非所有變體都同樣常見。例如,{{m|de|schwimmen||游泳}} 通常過去式為 {{m|de||schwamm}},過去虛擬式為 {{m|de||schwämme}},但也有罕見的過去虛擬式 {{m|de||schwömme}} 和古舊的過去式 {{m|de||schwomm}}(使用至19世紀)。這可以用放在相關形式後方括號內的腳註來表示: :{{temp|de-conj|schwimmen<schwamm:schwomm[古舊;一直沿用至19世紀],geschwommen,schwämme:schwömme[罕用]>}} 這會產生: {{de-conj|schwimmen<schwamm:schwomm[古舊;一直沿用至19世紀],geschwommen,schwämme:schwömme[罕用]>}} 注意,腳註會自動大寫首字母並加上結尾句點,且適用於從該基本形式派生的所有形式。還要注意,在腳註中使用逗號、句點,甚至括號或尖括號都沒有問題(只要括號和尖括號正確配對)。這允許您在腳註中插入連結(包括通過使用生成 HTML 的模板如 {{temp|m}})。 即使某個基本形式是唯一的,您也可以為其添加腳註。此外,您可以通過單獨放置腳註作為指示符來為不定式詞幹添加腳註。例如,這對動詞 {{m|de|auserkiesen||選擇}} 很有用,其不定式及所有派生形式皆已廢棄,而過去式 {{m|de||erkor aus{{m|de||和過去分詞}}auserkoren}} 僅是古舊用法,偶爾使用。指定如下: :{{temp|de-conj|aus.erkiesen<erkor[古舊],erkoren[古舊],erköre[古舊].[棄用]>}} 這會產生: {{de-conj|aus.erkiesen<erkor[古舊],erkoren[古舊],erköre[古舊].[棄用]>}} 注意這裡 <code>[棄用]</code> 腳註是如何單獨懸掛的;這實際上是為不定式添加了腳註。 您也可以為助動詞以及 <code>+ge</code> 和 <code>-ge</code> 指示符添加腳註。您可以像這樣用於 {{m|de|offenbaren||揭示、透露}}: :{{temp|de-conj|offenbaren<-ge[推薦用法,更常見],+ge[並不少見]>}} 這會產生: {{de-conj|offenbaren<-ge[推薦用法,更常見],+ge[並不少見]>}} 這裡,過去分詞 {{m|de||offenbart}}是官方指定的形式且較常見,但替代形式{{m|de||geoffenbart}} 也相當常見。 ===其他變位方式=== 有些動詞有多種可能的變位方式。例如 {{m|de|auslöschen}},可以是弱變化或強變化。要指示此類替代方案,請將不同的變位方式放在雙括號 <code>((...))</code> 內,用逗號分隔。例如: :{{temp|de-conj|((aus.löschen,aus.löschen<lischt#losch,geloschen,lösche>))}} 這會產生: {{de-conj|((aus.löschen,aus.löschen<lischt#losch,geloschen,lösche>))}} 注意變體是如何合併的,以便消除變體之間的冗餘形式。 另一種偶爾出現且可使用此語法的情況是,動詞的前綴既可是可分也可是不可分。例如 {{m|de|obwalten||盛行、存在}},其現在時為 {{m|de||er obwalte}}(重音在第二個音節,過去分詞 {{m|de||obwalten}})或 {{m|de||er walte ob}}(重音在第一個音節,過去分詞 {{m|de||obgewalten}})。指定如下: :{{temp|de-conj|((obwalten<-ge>,ob.walten))}} 這會產生: {{de-conj|((obwalten<-ge>,ob.walten))}} 另一個此語法很有用的例子是 {{m|de|framen||(誣陷/構陷/制定框架)}},它有不帶額外 {{m|de||-e-}} 中綴的形式({{m|de||er framt}})和帶有它的形式({{m|de||er framet}})。關於此中綴的資訊請見上文 [[#控制是否顯示_-{-e-}-_中綴|#控制是否顯示 {{m|de||-e-}} 中綴]]。這可以指定如下: :{{temp|de-conj|((framen,framen<einfix>))}} 或者甚至只需: :{{temp|de-conj|((,<einfix>))}} 一個類似但更複雜的例子是 {{m|de|managen||管理}},其中帶 {{m|de||-e-}} 中綴的形式({{m|de||er managet}})比不帶的形式({{m|de||er managt}})少見。這可以用腳註表示: :{{temp|de-conj|((managen,managen<einfix.[較不常見].managete[較不常見],gemanaget[較不常見]:gemanaged[較不常見]>))}} 這會產生: {{de-conj|((managen,managen<einfix.[較不常見].managete[較不常見],gemanaget[較不常見]:gemanaged[較不常見]>))}} 這裡,我們添加了一個不定式腳註(第一個腳註,不附屬於任何內容),以及過去式和過去分詞的腳註,包括兩個過去分詞變體({{m|de||gemanaget}}和{{m|de||gemanaged}})。注意,當對重複形式進行去重時,腳註(或無腳註)來自第一個形式。這意味著只有在兩種替代變位之間不同的形式才會獲得腳註,這通常是正確的。 ===僅第三人稱動詞=== 有些動詞僅在第三人稱變位,僅單數或單數和複數。要指示這點,對於僅在第三人稱單數變位的動詞(通常是無人稱動詞),請使用 <code>only3s</code>;對於僅在第三人稱單數和複數變位的動詞,請使用 <code>only3sp</code>。前者的例子是 {{m|de|schwerfallen||感到困難}}: :{{temp|de-conj|schwer.fallen<fällt#fiel,gefallen.only3s>}} 這會產生: {{de-conj|schwer.fallen<fällt#fiel,gefallen.only3s>}} 後者的例子是 {{m|de|schiefgehen||出差錯}}: :{{temp|de-conj|schief.gehen<ging,gegangen.sein.only3sp>}} 僅第三人稱單數的動詞將代詞從 {{m|de|er}} 更改為 {{m|de|es}},與其主要或僅有的無人稱用法一致,但僅在第三人稱單數和複數變位的動詞不進行此更改,因為它們可以接受無生命物體(包括陽性和陰性)作為主語。 ===連接動詞=== 像 {{m|de|ausschneiden und einfügen||剪下並貼上}} 這樣的連接動詞,可以通過在每個動詞後放置適當的尖括號規格來變位。例如: :<code><nowiki>{{de-conj|aus.schneiden<schnitt,geschnitten> [[und]] ein.fügen<>}}</nowiki></code> 這會產生: {{de-conj|aus.schneiden<schnitt,geschnitten> [[und]] ein.fügen<>}} 與單個弱變化動詞不同,這裡 {{m|de|einfügen}} 的尖括號不能省略。 ===不可分的可分動詞=== 像 {{m|de|voreinstellen}} 這樣的不可分的可分動詞,無法變位成需要拆分前綴的形式。這特別發生在有多個可分動詞前綴的情況下。例如: :<code><nowiki>{{de-conj|vorein.stellen<nosplitprefix>}}</nowiki></code> 這會產生: {{de-conj|vorein.stellen<nosplitprefix>}} ===大寫的可分成分=== 有些可分動詞的可分成分原本是名詞,合寫時小寫,分開時則要大寫,例如 {{m|de|radfahren}}(''ich fahre Rad'')。這時把可分成分寫成大寫即可: :<code><nowiki>{{de-conj|Rad.fahren<fährt#fuhr,gefahren,führe.sein>}}</nowiki></code> 這會產生: {{de-conj|Rad.fahren<fährt#fuhr,gefahren,führe.sein>|pagename=radfahren}} 不定式、分詞這些合寫的形式會自動改成小寫,分開的形式保留大寫。 ==其他參數== ; {{para|pagename}} : 指定要當作頁面名稱的詞,取代實際的頁面名稱。用於說明頁、測試頁,或要在別的頁面上示範時。 ; {{para|json|1}} : 不顯示表格,改以 JSON 格式輸出所有屈折形式及相關資訊,供機器人使用。 <includeonly> [[Category:德語動詞變位表模板]] </includeonly> m5ec40xlhztxu21q26wsskdnss9abpk Template:Auto-archive/doc 10 1757231 9938456 9685734 2026-10-04T21:17:41Z Cewbot 61744 [[User:Cewbot/log/20211203/configuration|同步通用頁面]]: [[w:zh:Template:Auto-archive/doc]] [[w:zh:Special:PermanentLink/94597739|2026-09-27]] (輔助理解用的模板說明文件) 9938456 wikitext text/x-wiki <noinclude><!-- 本頁面複製自[[w:zh:Template:Auto-archive/doc]],由機器人定期更新。請直接編輯原維基項目頁面,或自設定頁面[[User:Cewbot/log/20211203/configuration]]去除本頁面之後再編輯。 --></noinclude>{{NoteTA|G1=MediaWiki}}{{Documentation subpage}}<!-- 在本行下編輯模板說明 --> {{Bot use warning|bots=[[User:Cewbot]]}}{{templates|archives}} == 概要 == 本模板用於設定機器人自動存檔。機器人每天運行一次程序。 == 如何設定討論頁 == 本模板必須嵌入於欲存檔頁面,包含於header頁面無效,反而會處理header頁面本身。機器人只處理明確[[Wikipedia:嵌入包含|嵌入引用]]本模板,且不活躍指定時間的討論頁。 常用的標記模板是{{tlc|Auto-archive}}、{{tlc|Auto-archive|...}}。 === 範例 === ; {{tlc|Auto-archive}}: 一周內無人回應則存檔。 ; {{tlc|Auto-archive|archive_after_last_comment{{=}}1m}}: 一個月內無人回應則存檔。 ; {{tlc|Auto-archive|archive_to_subpage{{=}}存檔 %Y年%2m月}}: 以年份與月份存檔。 == 注意事項 == * 寫入存檔失敗則不刪除原討論頁內容。 === 如何避免被存檔 === 您可採用{{tl|不存檔}}。這定義於[[User:Cewbot/log/20210429/configuration]]。 == 參數及使用方法 == {{TemplateData header}} <templatedata> { "description": "機器人的傳統討論頁面存檔設置", "params": { "archive_after_last_comment": { "label": "時間長度", "description": "最後討論日期開始,經過特定日數才存檔。", "default": "1 week", "type": "line", "required": false, "suggestedvalues": ["7d", "7 days", "1w", "1 week", "1m", "1 month"] }, "archive_to_subpage": { "label": "存檔到哪個子頁面", "description": "若未設定本參數,機器人會自動偵測子頁面名稱。若無此頁面將會新建出來。建議採用自動偵測,如此可在存檔頁面過大時跳到下個編號。", "default": "Archive %1", "type": "line", "required": false, "suggestedvalues": ["存檔%1", "Archive %1", "Archive %Y-%2m", "Archive %Y"] }, "section_level": { "label": "存檔章節級數", "description": "一般都是存檔2級章節", "default": "2", "type": "number", "required": false, "suggestedvalues": ["2", "3"] }, "hide": { "label": "隱藏存檔框", "description": "設為 「yes」以隱藏頁面右上方的存檔框,這通常適用於使用了自訂存檔框的討論頁上。", "suggestedvalues": ["yes", "no"], "type": "line", "default": "no" } } } </templatedata> <!-- == 重定向 == == 模板編輯說明 == --> == 參見 == * https://www.mediawiki.org/wiki/Manual:Pywikibot/archivebot.py * https://en.wikipedia.org/wiki/User:MiszaBot/config * https://en.wikipedia.org/wiki/User:Lowercase_sigmabot_III/Archive_HowTo * https://en.wikipedia.org/wiki/User:ClueBot_III/ArchiveThis * https://zh.wikipedia.org/wiki/User:Wcam/ArchiveConfig * https://zh.wikipedia.org/wiki/User:Bluedeck/haystack/easy-archive * https://www.wikidata.org/wiki/User:SpBot <includeonly>{{Sandbox other||<!-- 本行下加入模板的分類 --> [[Category:存档模板]] }}</includeonly> 8ua057b1xfll2tdf8s5417efaek4pi9 Module:De-common 828 1783202 9938424 9511347 2026-10-04T14:48:09Z TongcyDai 53191 同步 enwikt(rev 92526902):add_angle_brackets()、module loader;修正多詞交替項掉空格 9938424 Scribunto text/plain local export = {} --[=[ Authorship: <benwing2> ]=] local M = require("Module:module loader").init { require = { put = "Module:parse utilities", }, } local rmatch = mw.ustring.match local vowels = "aeiouyäöüAEIOUYÄÖÜ" local capletters = "A-ZÄÖÜ" export.CAP = "[" .. capletters .. "]" export.V = "[" .. vowels .. "]" export.NV = "[^" .. vowels .. "]" export.articles = { ["m"] = { ind_nom = "ein", def_nom = "der", ind_gen = "eines", def_gen = "des", ind_dat = "einem", def_dat = "dem", ind_acc = "einen", def_acc = "den", ind_abl = "einen", def_abl = "den", ind_voc = "einen", def_voc = "den", }, ["f"] = { ind_nom = "eine", def_nom = "die", ind_gen = "einer", def_gen = "der", ind_dat = "einer", def_dat = "der", ind_acc = "eine", def_acc = "die", ind_abl = "eine", def_abl = "die", ind_voc = "eine", def_voc = "die", }, ["n"] = { ind_nom = "ein", def_nom = "das", ind_gen = "eines", def_gen = "des", ind_dat = "einem", def_dat = "dem", ind_acc = "ein", def_acc = "das", ind_abl = "ein", def_abl = "das", ind_voc = "ein", def_voc = "das", }, ["p"] = { ind_nom = "([[keine]])", def_nom = "die", ind_gen = "([[keiner]])", def_gen = "der", ind_dat = "([[keinen]])", def_dat = "den", ind_acc = "([[keine]])", def_acc = "die", ind_abl = "?", def_abl = "?", ind_voc = "?", def_voc = "?", }, } local umlaut = { ["a"] = "ä", ["A"] = "Ä", ["o"] = "ö", ["O"] = "Ö", ["u"] = "ü", ["U"] = "Ü", } function export.apply_umlaut(term, origterm) local stem, after = term:match("^(.*[^e])(e[lmnr]?)$") if stem then -- Nagel -> Nägel, Garten -> Gärten return export.apply_umlaut(stem, term) .. after end -- Haus -> Häuschen local before_v, v, after_v = rmatch(term, "^(.*)([Aa])([Uu]" .. export.NV .. "-)$") if not before_v then -- Haar -> Härchen before_v, v, after_v = rmatch(term, "^(.*)([Aa])[Aa](" .. export.NV .. "-)$") end if not before_v then -- Boot -> Bötchen before_v, v, after_v = rmatch(term, "^(.*)([Oo])[Oo](" .. export.NV .. "-)$") end if not before_v then -- regular umlaut before_v, v, after_v = rmatch(term, "^(.*)([AaOouU])(" .. export.NV .. "-)$") end if before_v then return before_v .. umlaut[v] .. after_v end error("Can't umlaut " .. (origterm or term) .. " because the last vowel isn't a, o, u or au") end function export.fetch_footnotes(separated_group, parse_err) local footnotes for j = 2, #separated_group - 1, 2 do if separated_group[j + 1] ~= "" then parse_err("Extraneous text after bracketed footnotes: '" .. table.concat(separated_group) .. "'") end if not footnotes then footnotes = {} end table.insert(footnotes, separated_group[j]) end return footnotes end function export.fetch_specs(segments, separator, spectype, allow_blank, parse_err) local separated_groups = M.put.split_alternating_runs_and_strip_spaces(segments, separator) if allow_blank and #separated_groups == 1 and #separated_groups[1] == 1 and separated_groups[1][1] == "" then return nil end local specs = {} for _, separated_group in ipairs(separated_groups) do local form = separated_group[1] if form == "" then parse_err("Blank form not allowed here, but saw '" .. table.concat(segments) .. "'") end local new_spec = {form = form, footnotes = export.fetch_footnotes(separated_group, parse_err)} for _, existing_spec in ipairs(specs) do if existing_spec.form == new_spec.form then parse_err("Duplicate " .. spectype .. " spec '" .. table.concat(separated_group) .. "'") end end table.insert(specs, new_spec) end return specs end function export.add_angle_brackets(text) local function add_to_one(txt) if txt:find("<") then local segments = M.put.parse_multi_delimiter_balanced_segment_run(txt, {{"<", ">"}, {"[", "]"}}) for i = 2, #segments, 2 do if segments[i]:find("^<.*>$") then return txt end end end return "<" .. txt .. ">" end if not text:find("%(%(") then return add_to_one(text) end return (text:gsub("%(%((.-)%)%)", function(alternants) local segments = M.put.parse_multi_delimiter_balanced_segment_run(alternants, {{"<", ">"}, {"[", "]"}}) -- Strip only the spaces around each alternant. Stripping every raw-text segment, as the enwikt version does, -- removes the space between the words of a multiword alternant ("lüttje<+> [[Lage]]<f>"). local comma_separated_groups = M.put.split_alternating_runs(segments, ",") local parts = {} for _, group in ipairs(comma_separated_groups) do table.insert(parts, add_to_one(M.put.strip_spaces(table.concat(group)))) end return "((" .. table.concat(parts, ",") .. "))" end)) end return export dqfw6xjedtcejm7tye40bk0ofkduysr Module:De-noun 828 1783205 9938426 9909052 2026-10-04T14:48:37Z TongcyDai 53191 同步 enwikt(rev 92540766):改用 Module:inflection-table 與 palette;本地化 9938426 Scribunto text/plain local export = {} --[=[ Authorship: <benwing2> ]=] --[=[ TERMINOLOGY: -- "slot" = A particular combination of case/number. Example slot names for nouns are "voc_s" (vocative singular) and "gen_p" (genitive plural). Each slot is filled with zero or more forms. -- "form" = The declined German form representing the value of a given slot. -- "lemma" = The dictionary form of a given German term. Generally the nominative masculine singular, but may occasionally be another form if the nominative masculine singular is missing. ]=] --[=[ FIXME: 1. Qualifiers in genders should appear as footnotes on the articles. 2. Support notation like <g:f> on feminine/diminutive/masculine, e.g. used for [[Gespons]] (neuter with the meaning "wife", masculine with the meaning "husband"). 3. Fix CSS gender-specific class in table. 4. Support adjectival nouns and adjective-noun combinations. (DONE) 5. Allow period and comma in forms e.g. for [[Eigent.-Whg.]], [[Eigt.-Whg.]] (using a backslash). (DONE) 6. Allow embedded links in genitive/plural/feminine/diminutive/masculine specs, e.g. 'f=![[weiblich]]er Geschäftspartner'. 7. Add 'prop' indicator to indicate proper nouns and suppress the indefinite article. 8. Add 'surname' indicator to indicate surnames, decline appropriately and include both masc and fem variants in the table. (DONE) 9. Add 'langname' indicator to indicate langnames and decline appropriately with its own table with two alternatives. (DONE) ]=] local M = require("Module:module loader").init { require = { com = "Module:de-common", de_adjective = "Module:de-adjective", iut = "Module:inflection utilities", inflection_table = "Module:inflection-table", JSON = "Module:JSON", debug = "Module:debug", links = "Module:links", parameters = "Module:parameters", put = "Module:parse utilities", string_utilities = "Module:string utilities", table = "Module:table", utilities = "Module:utilities", }, loadData = { headword_data = "Module:headword/data", }, lazy = { lang = function() return require("Module:languages").getByCode("de") end, }, } local pretend_from_headword = false -- may be set during debugging local force_cat = false -- may be set during debugging local u = M.string_utilities.char local rfind = M.string_utilities.find local rmatch = M.string_utilities.match local rsubn = M.string_utilities.gsub local unpack = unpack or table.unpack -- Lua 5.2 compatibility local usub = M.string_utilities.sub local SUB_ESCAPED_PERIOD = u(0xFFF0) local SUB_ESCAPED_COMMA = u(0xFFF1) local archaic_dative_note = "[現已不常用,[[:en:Wiktionary:German entry guidelines#Dative_singular_-e_in_noun_declension|參見註解]]]" -- version of rsubn() that discards all but the first return value local function rsub(term, foo, bar) local retval = rsubn(term, foo, bar) return retval end local function track(page) M.debug.track("de-noun/" .. page) return true end local states = { "str", "wk", "mix" } local definitenesses = { "ind", "def" } local cases_with_abl_voc = { "nom", "gen", "dat", "acc", "abl", "voc" } local basic_cases = { "nom", "gen", "dat", "acc" } local numbers = { "s", "p" } local gender_spec_to_full_gender = { m = "陽性", f = "陰性", n = "中性", } local case_set_with_abl_voc = M.table.listToSet(cases_with_abl_voc) local function add_equiv(slot_list) table.insert(slot_list, {"m_equiv", "-"}) -- masculine equivalent of a feminine or neuter noun table.insert(slot_list, {"f_equiv", "-"}) -- feminine equivalent of a masculine or neuter noun table.insert(slot_list, {"n_equiv", "-"}) -- neuter equivalent of a masculine or feminine noun end -- Construct noun slots. local noun_slot_list = {} add_equiv(noun_slot_list) local noun_slot_set = {} for _, number in ipairs(numbers) do for _, case in ipairs(number == "s" and cases_with_abl_voc or basic_cases) do local slot = case .. "_" .. number local accel = case .. "|" .. number table.insert(noun_slot_list, {slot, accel}) noun_slot_set[slot] = true end end -- Construct noun surname slots. local surname_slot_list = { } local surname_slot_set = {} local surname_endings = { {"m_s", "m|s"}, {"f_s", "f|s"}, {"p", "p"}, } for _, case in ipairs(basic_cases) do for _, ending_and_accel in ipairs(surname_endings) do local ending, ending_accel = unpack(ending_and_accel) local slot = case .. "_" .. ending local accel = case .. "|" .. ending_accel table.insert(surname_slot_list, {slot, accel}) surname_slot_set[slot] = true end end -- Construct noun langname slots. local langname_slot_list = { } local langname_slot_set = {} for _, case in ipairs(basic_cases) do for _, number in ipairs(numbers) do for _, is_alt in ipairs { false, true } do local slot = case .. "_" .. number .. (is_alt and "_alt" or "") -- FIXME: We should add accelerators for the alternative forms, but this requires hacking the accelerator -- code in [[Module:inflection utilities]] to specify the alternative lemma; e.g. genitive singular -- ''Deutschen'' needs to have lemma [[Deutsche]] not [[Deutsch]]. local accel = is_alt and "-" or case .. "|" .. number table.insert(langname_slot_list, {slot, accel}) langname_slot_set[slot] = true end end end -- Construct adjectival slots. local adjectival_slot_list = {} add_equiv(adjectival_slot_list) local adjectival_slot_set = {} for _, state in ipairs(states) do for _, case in ipairs(basic_cases) do for _, number in ipairs(numbers) do local slot = state .. "_" .. case .. "_" .. number local accel = state .. "|" .. case .. "|" .. number table.insert(adjectival_slot_list, {slot, accel}) adjectival_slot_set[slot] = true end end end -- Construct expanded slot lists including linked variants. local noun_slot_list_with_linked = M.table.shallowCopy(noun_slot_list) table.insert(noun_slot_list_with_linked, {"nom_s_linked", "nom|s"}) table.insert(noun_slot_list_with_linked, {"nom_p_linked", "nom|p"}) local surname_slot_list_with_linked = M.table.shallowCopy(surname_slot_list) table.insert(surname_slot_list_with_linked, {"nom_m_s_linked", "nom|m|s"}) local langname_slot_list_with_linked = M.table.shallowCopy(langname_slot_list) table.insert(langname_slot_list_with_linked, {"nom_s_linked", "nom|s"}) local adjectival_slot_list_with_linked = M.table.shallowCopy(adjectival_slot_list) table.insert(adjectival_slot_list_with_linked, {"str_nom_s_linked", "str|nom|s"}) table.insert(adjectival_slot_list_with_linked, {"str_nom_p_linked", "str|nom|p"}) -- Construct expanded slot lists including linked variants and articles. local function add_slot_articles(slot_list, cases, numbers) for _, case in ipairs(cases) do for _, number in ipairs(numbers) do for _, def in ipairs(definitenesses) do local slotaccel = {"art_" .. def .. "_" .. case .. "_" .. number, "-"} table.insert(slot_list, slotaccel) end end end end local noun_slot_list_with_linked_and_articles = M.table.shallowCopy(noun_slot_list_with_linked) add_slot_articles(noun_slot_list_with_linked_and_articles, cases_with_abl_voc, numbers) local surname_slot_list_with_linked_and_articles = M.table.shallowCopy(surname_slot_list_with_linked) add_slot_articles(surname_slot_list_with_linked_and_articles, basic_cases, {"m_s", "f_s", "p"}) local langname_slot_list_with_linked_and_articles = M.table.shallowCopy(langname_slot_list_with_linked) add_slot_articles(langname_slot_list_with_linked_and_articles, basic_cases, {"s"}) local adjectival_slot_list_with_linked_and_articles = M.table.shallowCopy(adjectival_slot_list_with_linked) add_slot_articles(adjectival_slot_list_with_linked_and_articles, basic_cases, numbers) -- Return true if `prop` is a recognized indicator that can be specified on adjectives in [[Module:de-adjective]]. local function is_adjectival_decl_indicator(prop) return prop == "ss" or prop == "sync_n" or prop == "sync_mn" or prop == "sync_mns" end local function skip_slot(number, slot) return number == "sg" and rfind(slot, "_p$") or number == "pl" and rfind(slot, "_s$") end local function combine_stem_ending(props, stem, ending) if ending:find("^%^") then -- Umlaut requested ending = rsub(ending, "^%^", "") stem = M.com.apply_umlaut(stem) end if props.ss and stem:find("ß$") and rfind(ending, "^" .. M.com.V) then stem = rsub(stem, "ß$", "ss") end return stem .. ending end -- Add a form (a combination of `stem` and `ending`, where either may be a single string, a list of strings, or a -- list of objects of the form {form=FORM, footnotes=FOOTNOTES}, where FOOTNOTES can be nil or a list of strings) -- to the given slot `slot`. `gender` specifies the gender of the resulting form ("m", "f" or "n") or nil. (This is -- used to ensure that the correct article is attached to the form when there are multiple forms with differing -- genders. If `gender` is nil, articles of all relevant genders will be included. `gender` should only be nil -- when the slot is plural or when the gender cannot be determined, e.g. in overrides.) `footnotes` specifies -- any extra footnotes to add to the resulting form, and should be either nil or a list of strings. -- `process_combined_stem_ending` is a function to process the resulting form before it is inserted. (This is used -- currently to add an -n to the dative plural.) local function add(base, slot, stem, ending, gender, footnotes, process_combined_stem_ending) if not ending or skip_slot(base.number, slot) then return end local function do_combine_stem_ending(stem, ending) local retval = combine_stem_ending(base.props, stem, ending) if process_combined_stem_ending then retval = process_combined_stem_ending(retval) end -- For now, don't do this. -- If gender specified, add a special character to the beginning of the value to indicate the -- gender. This gets propagated to the end and used in [[Module:de-headword]]. -- if gender then -- retval = gender_to_gender_char[gender] .. retval -- end return retval end footnotes = M.iut.combine_footnotes(base.footnotes, footnotes) local ending_obj = M.iut.combine_form_and_footnotes(ending, footnotes) -- If we're declining an adjectival noun or adjective-noun combination, and the slot is a noun slot, convert it to -- the equivalent adjective slots (e.g. gen_s -> str_gen_s/wk_gen_s/mix_gen_s). But don't do that for "m_equiv", -- "f_equiv", "n_equiv", which are the same in nouns and adjectives. if base.props.overall_adj and noun_slot_set[slot] and not rfind(slot, "equiv$") then for _, state in ipairs(states) do M.iut.add_forms(base.forms, state .. "_" .. slot, stem or base.lemma, ending_obj, do_combine_stem_ending) end else M.iut.add_forms(base.forms, slot, stem or base.lemma, ending_obj, do_combine_stem_ending) end end -- Process an ending spec such as "s", "(e)s", "^er", "^lein", "!Pizzen", etc. as might be found in the genitive, -- plural, an override, the value of dim=/m=/f=/n=, etc. `endings` is a list of such specs, where each entry of the -- list is of the form {form=FORM, footnotes=FOOTNOTES} where FOOTNOTES is either nil or {FOOTNOTE, FOOTNOTE, ...}. If -- `literal_endings` is given, the FORM values should be interpreted literally (i.e. as full forms) rather than as -- ending specs. `default` is what to substitute if an ending spec is "+", and should be either in the same format as -- `endings` or something that can be converted to that format, e.g. a string. `literal_default`, if given, indicates -- that the FORM values in `default` should be interpreted literally, similar to `literal_endings`. `desc` is an -- English description of what kind of spec is being processed, for error messages. `process` is called for each -- generated form and is a function of two arguments, STEM and ENDING. If the spec is a full form, STEM will be that -- form (in the form of an object {form=FORM, footnotes=FOOTNOTES}) and ENDING will be an empty string; otherwise, STEM -- will be nil and ENDING will be the the ending to process in the form {form=FORM, footnotes=FOOTNOTES}. Note that -- umlauts are not handled in process_spec(); if the spec passed in specifies an umlaut, e.g. "^chen", process() -- will be called with a FORM beginning with "^", and must handle the umlaut itself. (Umlauts are properly handled -- inside of add().) local function process_spec(endings, literal_endings, default, literal_default, desc, process) for _, ending in ipairs(endings) do local function sub_form(form) return {form = form, footnotes = ending.footnotes} end if ending.form == "--" then -- do nothing elseif ending.form == "+" then if not default then -- Could happen if e.g. gen is given as -- and then a gen_s override with + is specified, or with n= for neuter, -- where no default is available. error("Form '+' found for " .. desc .. " but no default is available") end process_spec(M.iut.convert_to_general_list_form(default, ending.footnotes), literal_default, nil, nil, desc, process) else local full_eform if literal_endings or rfind(ending.form, "^" .. M.com.CAP) then full_eform = true elseif rfind(ending.form, "^!") then full_eform = true ending = sub_form(rsub(ending.form, "^!", "")) end if full_eform then process(ending, "") else local expanded_endings local umlaut = rmatch(ending.form, "^(%^?)%(e%)s$" ) if umlaut then expanded_endings = {"es", "s"} end if not umlaut then umlaut = rmatch(ending.form, "^(%^?)%(s%)$") if umlaut then expanded_endings = {"s", ""} end end if not umlaut then umlaut = rmatch(ending.form, "^(%^?)%(es%)$") if umlaut then expanded_endings = {"es", ""} end end if expanded_endings then local new_endings = {} for _, expanded_ending in ipairs(expanded_endings) do table.insert(new_endings, sub_form(umlaut .. expanded_ending)) end process(nil, new_endings) else if ending.form == "-" then ending = sub_form("") end process(nil, ending) end end end end end -- Add an ending spec such as "s", "(e)s", "^er", "^lein", "!Pizzen", etc. as might be found in the genitive, plural, -- an override, the value of dim=/m=/f=/n=, etc., to the slot `slot` (e.g. "gen_s"). `endings` is a list of such specs, -- where each entry of the list is of the form {form=FORM, footnotes=FOOTNOTES} where FOOTNOTES is either nil or -- {FOOTNOTE, FOOTNOTE, ...}. For the meaning of `gender`, `footnotes` and `process_combined_stem_ending`, see add(). -- For the meaning of `default` and `literal_default`, see process_spec(). local function add_spec(base, slot, endings, gender, default, literal_default, footnotes, process_combined_stem_ending) local function do_add(stem, ending) add(base, slot, stem, ending, gender, footnotes, process_combined_stem_ending) end process_spec(endings, nil, default, literal_default, "slot '" .. slot .. "'", do_add) end local function process_slot_overrides(base) for slot, overrides in pairs(base.overrides) do if skip_slot(base.number, slot) then error("Override specified for invalid slot '" .. slot .. "' due to '" .. base.number .. "' number restriction") end local origforms = base.forms[slot] base.forms[slot] = nil -- Gender is not given by the user. add_spec(base, slot, overrides, nil, origforms, "literal default") end end local function add_archaic_dative_singular(base, gender, def_gen) for _, ending in ipairs(base.gens) do local dat_ending local ending_form = ending.form if ending_form == "+" then ending_form = def_gen end if ending_form == "es" or ending_form == "(e)s" then dat_ending = "e" elseif ending_form == "ses" then dat_ending = "se" elseif base.props.dat_with_e then dat_ending = "e" end if dat_ending then add(base, "dat_s", nil, dat_ending, gender, M.iut.combine_footnotes(ending.footnotes, {archaic_dative_note})) end end end local function get_n_ending(base, stem, is_sg) if rfind(stem, "e$") then -- typical feminine or weak masculine in -e return "n" elseif rfind(stem, "e[lr]$") and not rfind(stem, M.com.NV .. "[ei]e[lr]$") then -- [[Kammer]], [[Feier]], [[Leier]], but not [[Spur]], [[Beer]], [[Manier]], [[Schmier]] or [[Vier]] -- similarly, [[Achsel]], [[Gabel]], [[Tafel]], etc. but not [[Ziel]] return "n" elseif base.props.weak_n then -- ''des Nachbarn'', ''des Herrn'', ''des Satyrn'', etc. return "n" elseif rfind(stem, "[^aeAE]in$") then -- [[Chinesin]], [[Doktorin]], etc.; but not words in -ein or -ain such as [[Pein]] return "nen" else return "en" end end local function get_default_gen(base, gender) if gender == "f" then return "" elseif base.props.weak then return get_n_ending(base, base.lemma, "is singular") elseif rfind(base.lemma, "nis$") then -- neuter like [[Erlebnis]], [[Geheimnis]] or occasional masculine like [[Firnis]], [[Penis]] return "ses" elseif rfind(base.lemma, M.com.NV .. "us$") then -- [[Euphemismus]], [[Exitus]], [[Exodus]], etc. return "" elseif rfind(base.lemma, "[sßxz]$") then return "es" else return "s" end end local function get_default_pl(base, gender) if rfind(base.lemma, "nis$") then -- neuter like [[Erlebnis]], [[Geheimnis]] or feminine like [[Kenntnis]], [[Wildnis]], -- or occasional masculine like [[Firnis]], [[Penis]] return "se" elseif gender == "f" or base.props.weak then return get_n_ending(base, base.lemma) elseif rfind(base.lemma, "e$") then track("default-pl-e-not-f-or-weak") -- FIXME: This should return "s" return get_n_ending(base, base.lemma) elseif gender == "n" and rfind(base.lemma, "lein$") then -- Diminutives in -lein (those in -chen will automatically get a null ending from -en below) return "" elseif gender == "n" and rfind(base.lemma, "um$") then -- [[Museum]] -> [[Museen]], [[Vakuum]] -> [[Vakuen]]; not masculine [[Baum]] (plural [[Bäume]]) -- or [[Reichtum]] (plural [[Reichtümer]]) return "!" .. rsub(base.lemma, "um$", "en") elseif rfind(base.lemma, "mus$") then -- Algorithmus -> Algorithmen, Aphorismus -> Aphorismen return "!" .. rsub(base.lemma, "us$", "en") elseif rfind(base.lemma, M.com.NV .. "us$") then -- [[Abakus]] -> [[Abakusse]], [[Zirkus]] -> [[Zirkusse]], [[Autobus]] -> [[Autobusse]]; -- not [[Applaus]] (plural [[Applause]]) return "se" elseif rfind(base.lemma, "e[lmnr]$") and not rfind(base.lemma, M.com.NV .. "[ei]e[lnmr]$") then -- check for weak ending -el, -em, -en, -er, e.g. [[Adler]], [[Meier]], [[Riedel]]; but exclude [[Heer]], -- [[Bier]], [[Ziel]], which take -e by default return "" else return "e" end end local function decline_singular(base, gender, def_gen) add(base, "nom_s", nil, "", gender) add_spec(base, "gen_s", base.gens, gender, def_gen) if base.props.weak then local ending = get_n_ending(base, base.lemma, "is singular") add(base, "dat_s", nil, ending, gender) add(base, "acc_s", nil, gender == "m" and ending or "", gender) else add(base, "dat_s", nil, "", gender) add_archaic_dative_singular(base, gender, def_gen) add(base, "acc_s", nil, "", gender) end end local function decline_plural(base, def_pl) local function process_nom_pl_for_decl_type(stem_ending) if base.props.saw_mn and base.number ~= "pl" then if base.props.weak then M.table.insertIfNot(base.decl_type, "弱變化") elseif stem_ending == base.lemma .. "n" or stem_ending == base.lemma .. "en" then M.table.insertIfNot(base.decl_type, "混合變化") else M.table.insertIfNot(base.decl_type, "強變化") end end return stem_ending end local function process_dat_pl_to_add_n(stem_ending) if base.props.nodatpln then return stem_ending elseif rfind(stem_ending, "e[lr]?$") or rfind(stem_ending, "erl$") then return stem_ending .. "n" else return stem_ending end end add_spec(base, "nom_p", base.pls, nil, def_pl, nil, nil, process_nom_pl_for_decl_type) add_spec(base, "gen_p", base.pls, nil, def_pl) add_spec(base, "dat_p", base.pls, nil, def_pl, nil, nil, process_dat_pl_to_add_n) add_spec(base, "acc_p", base.pls, nil, def_pl) end local function decline_noun(base) if base.number == "pl" then decline_plural(base, "") if rfind(base.lemma, "innen$") then --- Ends in -innen, likely feminine. Chop off, and convert e.g. Chinesinnen -> Chinesen. local masc = rsub(base.lemma, "innen$", "") if rfind(masc, "es$") then masc = masc .. "en" end -- No need to specify gender for *_equiv; will be handled correctly in [[Module:de-headword]]. add(base, "m_equiv", masc, "") else -- Likely masculine. Try to convert Chinesen -> Chinesinnen, and -er -> -erinnen. local femstem = rsub(base.lemma, "en$", "") add(base, "f_equiv", femstem, "innen") end else base.decl_type = {} for _, genderspec in ipairs(base.genders) do local gender = genderspec.form decline_singular(base, gender, get_default_gen(base, gender)) decline_plural(base, get_default_pl(base, gender)) if gender == "m" then add(base, "f_equiv", rsub(base.lemma, "e$", ""), "in") -- feminine elseif gender == "f" then -- Try (sort of) to get the masculine. Remove final -in, and if the result ends in -es, convert to -ese -- (e.g. Chinesin -> Chinese). local masc = rsub(base.lemma, "in$", "") if rfind(masc, "es$") then masc = masc .. "e" end add(base, "m_equiv", masc, "") end -- do nothing for neuter end end end local function decline_surname(base) -- We don't specify gender here. There are always two genders, m and f, which will be handled correctly in -- [[Module:de-headword]]. add(base, "nom_m_s", nil, "") add(base, "nom_f_s", nil, "") local gen_m_s if rfind(base.lemma, "[sxzß]$") or rfind(base.lemma, "ce$") then -- [[Marx]], [[Engels]], [[Weiß]], [[Schulz]] -- also names with silent -s or -x like [[Delacroix]] gen_m_s = "'" else gen_m_s = "s" end add_spec(base, "gen_m_s", base.gens, nil, gen_m_s) add(base, "gen_m_s", nil, "", nil, {"[帶冠詞]"}) add(base, "gen_f_s", nil, "") add(base, "dat_m_s", nil, "") add(base, "dat_f_s", nil, "") add(base, "acc_m_s", nil, "") add(base, "acc_f_s", nil, "") local pl_ending if rfind(base.lemma, "[sxß]$") then -- [[Marx]], [[Engels]], [[Weiß]] pl_ending = {"", "ens"} elseif rfind(base.lemma, "z$") then -- [[Schulz]], [[Schmitz]] pl_ending = {"", "es", "ens"} elseif rfind(base.lemma, "ce$") then pl_ending = {"", "ns"} elseif rfind(base.lemma, "e[nlr]?$") then -- [[Müller]], [[Goethe]], [[Dürer]], [[Schlegel]], [[Münchhausen]] pl_ending = {"s", ""} else -- [[Schmidt]], [[Bergmann]], [[Brentano]] pl_ending = {"s"} end add_spec(base, "nom_p", base.pls, nil, pl_ending) add_spec(base, "gen_p", base.pls, nil, pl_ending) add_spec(base, "dat_p", base.pls, nil, pl_ending) add_spec(base, "acc_p", base.pls, nil, pl_ending) end local function decline_toponym(base) -- We don't specify gender here, which is always neuter. add(base, "nom_s", nil, "") local gen_s local null_footnote if rfind(base.lemma, "[sxzß]$") then gen_s = "'" null_footnote = "[帶冠詞]" else gen_s = "s" null_footnote = "[可帶可不帶冠詞]" end add_spec(base, "gen_s", base.gens, nil, gen_s) add(base, "gen_s", nil, "", nil, {null_footnote}) add(base, "dat_s", nil, "") add(base, "acc_s", nil, "") if base.number == "both" then -- only with explicitly given plural add_spec(base, "nom_p", base.pls) add_spec(base, "gen_p", base.pls) add_spec(base, "dat_p", base.pls) add_spec(base, "acc_p", base.pls) end end local function decline_langname(base) -- We don't specify gender here, which is always neuter. add(base, "nom_s", nil, "") add(base, "gen_s", nil, "") -- If explicit genitive singular given, add it (in addition to the null genitive singular), otherwise default to -s. add_spec(base, "gen_s", base.gens, nil, "s") add(base, "dat_s", nil, "") add(base, "acc_s", nil, "") add(base, "nom_s_alt", nil, "e") add(base, "gen_s_alt", nil, "en") add(base, "dat_s_alt", nil, "en") add(base, "acc_s_alt", nil, "e") end local function decline_adjective(base) -- Construct an equivalent call to {{de-adecl}} based on the adjective indicators we fetched. local adj_spec_parts = {} local function ins(val) table.insert(adj_spec_parts, val) end local function ins_dot() if #adj_spec_parts > 0 then ins(".") end end local function insert_footnotes(footnotes) if footnotes then for _, footnote in ipairs(footnotes) do ins(footnote) end end end if base.adj_stem then ins("stem") for _, stem in ipairs(base.adj_stem) do ins(":") ins(stem.form) insert_footnotes(stem.footnotes) end end if base.adj_suppress then ins_dot() ins("suppress:") ins(base.adj_suppress) end if base.footnotes then ins_dot() insert_footnotes(base.footnotes) end for prop, _ in pairs(base.props) do if is_adjectival_decl_indicator(prop) then ins_dot() ins(prop) end end local adj_alternant_multiword_spec = M.de_adjective.do_generate_forms( {base.lemma .. "<" .. table.concat(adj_spec_parts) .. ">"} ) local function copy(from_slot, to_slot) base.forms[to_slot] = adj_alternant_multiword_spec.forms[from_slot] end local function copy_gender_forms(gender) local number = gender == "p" and "p" or "s" for _, state in ipairs(states) do for _, case in ipairs(basic_cases) do copy(state .. "_" .. case .. "_" .. gender, state .. "_" .. case .. "_" .. number) end end end if base.number == "pl" then copy_gender_forms("p") -- No need to specify gender for *_equiv; will be handled correctly in [[Module:de-headword]]. add(base, "m_equiv", base.lemma, "e") add(base, "f_equiv", base.lemma, "e") add(base, "n_equiv", base.lemma, "e") else -- Normally there should be only one gender. for _, genderspec in ipairs(base.genders) do local gender = genderspec.form copy_gender_forms(gender) -- No need to specify gender for *_equiv; will be handled correctly in [[Module:de-headword]]. add(base, "m_equiv", base.lemma, "er") -- masculine add(base, "f_equiv", base.lemma, "e") -- feminine add(base, "n_equiv", base.lemma, "es") -- neuter end if base.number ~= "sg" then copy_gender_forms("p") end end end -- Return the slots that may contain a lemma, in the order they should be checked. `props` is a property table, -- coming either from `base` or `alternant_multiword_spec`. local function get_lemma_slots(props) if props.surname then return {"nom_m_s"} elseif props.overall_adj then return {"str_nom_s", "str_nom_p"} else return {"nom_s", "nom_p"} end end -- Return the lemmas for this term. The return value is a list of {form = FORM, footnotes = FOOTNOTES}. -- If `linked_variant` is given, return the linked variants (with embedded links if specified that way by the user), -- otherwies return variants with any embedded links removed. If `remove_footnotes` is given, remove any -- footnotes attached to the lemmas. function export.get_lemmas(alternant_multiword_spec, linked_variant, remove_footnotes) local slots_to_fetch = get_lemma_slots(alternant_multiword_spec.props) local linked_suf = linked_variant and "_linked" or "" for _, slot in ipairs(slots_to_fetch) do if alternant_multiword_spec.forms[slot .. linked_suf] then local lemmas = alternant_multiword_spec.forms[slot .. linked_suf] if remove_footnotes then local lemmas_no_footnotes = {} for _, lemma in ipairs(lemmas) do table.insert(lemmas_no_footnotes, {form = lemma.form}) end return lemmas_no_footnotes else return lemmas end end end return {} end local function handle_derived_slots_and_overrides(base) process_slot_overrides(base) -- Compute linked versions of potential lemma slots, for use in {{de-noun}}. -- We substitute the original lemma (before removing links) for forms that -- are the same as the lemma, if the original lemma has links. for _, slot in ipairs(get_lemma_slots(base.props)) do M.iut.insert_forms(base.forms, slot .. "_linked", M.iut.map_forms(base.forms[slot], function(form) if form == base.orig_lemma_no_links and rfind(base.orig_lemma, "%[%[") then return base.orig_lemma else return form end end)) end end -- Like M.put.split_alternating_runs_and_strip_spaces(), but ensure that backslash-escaped commas and periods are not -- treated as separators. local function split_alternating_runs_with_escapes(segments, splitchar) for i, segment in ipairs(segments) do segments[i] = rsub(segment, "\\,", SUB_ESCAPED_COMMA) segments[i] = rsub(segment, "\\%.", SUB_ESCAPED_PERIOD) end local separated_groups = M.put.split_alternating_runs_and_strip_spaces(segments, splitchar) for _, separated_group in ipairs(separated_groups) do for i, segment in ipairs(separated_group) do separated_group[i] = rsub(segment, SUB_ESCAPED_COMMA, ",") separated_group[i] = rsub(segment, SUB_ESCAPED_PERIOD, ".") end end return separated_groups end --[=[ Parse an indicator spec (text consisting of angle brackets and zero or more dot-separated indicators within them). Return value is an object of the form { overrides = { SLOT = {OVERRIDE, OVERRIDE, ...}, ... }, -- where OVERRIDE is {form = FORM, footnotes = FOOTNOTES}; same as `forms` table; FORM can be a full form (only if beginning with a capital letter or !), otherwise an ending; "-" for an ending means a null ending, while "--" suppresses the slot entirely, i.e. it is defective gens = {GEN_SG_SPEC, GEN_SG_SPEC, ...}, same form as OVERRIDE above pls = {PL_SPEC, PL_SPEC, ...}, same form as OVERRIDE above forms = {}, -- forms for a single spec alternant; see `forms` below props = { PROP = true, PROP = true, ... }, -- misc Boolean properties: "weak" (weak noun); "adj" (adjectival noun; set using "+"); "ss" (lemma in -ß changes to -ss- before endings beginning with a vowel; pre-1996 spelling); "nodatpln" (suppress automatic addition of 'n' in the dative plural after '-e', '-er', '-el') number = "NUMBER", -- "sg", "pl", "both"; may be missing adj = true, -- may be missing -- The following additional fields are added by other functions: orig_lemma = "ORIGINAL-LEMMA", -- as given by the user or taken from pagename orig_lemma_no_links = "ORIGINAL-LEMMA-NO-LINKS", -- links removed lemma = "LEMMA", -- `orig_lemma_no_links`, forms = { SLOT = { { form = "FORM", footnotes = {"FOOTNOTE", "FOOTNOTE", ...} -- may be missing }, ... }, ... }, } ]=] local function parse_indicator_spec(angle_bracket_spec, lemma, pagename, proper_noun) if lemma == "" then lemma = pagename end local base = {forms = {}, overrides = {}, props = {prop = proper_noun}} base.orig_lemma = lemma base.orig_lemma_no_links = M.links.remove_links(lemma) base.lemma = base.orig_lemma_no_links local inside = rmatch(angle_bracket_spec, "^<(.*)>$") assert(inside) local function parse_err(msg) error(msg .. ": <" .. inside .. ">") end --[=[ Parse a single override spec and return three values: the slot the override applies to, the original indicator spec used to specify the slot, and the override specs. The input is a list where the footnotes have been separated out. For example, given the spec 'dat:-[referring to a card suit, as a term of endearment, and generally in speech]:en[in most cases in writing]', the input will be a list {"dat:-", "[referring to a card suit, as a term of endearment, and generally in speech]", ":en", "[in most cases in writing]", ""} ]=] local function parse_override(segments) local part = segments[1] local offset = 4 local case = usub(part, 1, 3) if not case_set_with_abl_voc[case] then parse_err("Internal error: unrecognized case in override: '" .. table.concat(segments) .. "'") end local indicator = case local rest = usub(part, offset) local slot if rfind(rest, "^pl") then rest = rsub(rest, "^pl", "") slot = case .. "_p" indicator = indicator .. "pl" else slot = case .. "_s" end if rfind(rest, "^:") then rest = rsub(rest, "^:", "") else parse_err("Slot indicator '" .. indicator .. "' must be followed by a colon: '" .. table.concat(segments) .. "'") end if not noun_slot_set[slot] then parse_err("Unrecognized slot indicator '" .. indicator .. "': '" .. table.concat(segments) .. "'") end segments[1] = rest return slot, indicator, M.com.fetch_specs(segments, ":", "override", nil, parse_err) end if inside ~= "" then local segments = M.put.parse_balanced_segment_run(inside, "[", "]") local dot_separated_groups = split_alternating_runs_with_escapes(segments, "%.") for i, dot_separated_group in ipairs(dot_separated_groups) do local part = dot_separated_group[1] if i == 1 then local comma_separated_groups = split_alternating_runs_with_escapes(dot_separated_group, ",") base.genders = M.com.fetch_specs(comma_separated_groups[1], ":", "gender", nil, parse_err) local saw_sg = false local saw_pl = false local saw_gendered_pl = false local saw_non_gendered_pl = false local saw_adj = false local special_variant = nil for _, genderspec in ipairs(base.genders) do local g = genderspec.form if g == "m" or g == "n" then -- Set this on `base.props` as it's used in various other places. base.props.saw_mn = true saw_sg = true elseif g == "f" then saw_sg = true elseif g == "p" then saw_pl = true saw_non_gendered_pl = true elseif rfind(g, "^[mfn]p$") then saw_pl = true saw_gendered_pl = true elseif g == "+" or g == "p+" or g == "+p" then if #base.genders > 1 then parse_err("Can't specify multiple genders with adjectival declension") end saw_adj = true if g ~= "+" then saw_pl = true end elseif g == "surname" or g == "toponym" or g == "langname" then if #base.genders > 1 then parse_err("Can't specify multiple genders with " .. g .. " declension") end special_variant = g else parse_err("Unrecognized gender spec '" .. g .. "'") end end if saw_sg and saw_pl then parse_err("Can't specify both singular and plural gender specs") end if saw_gendered_pl and saw_non_gendered_pl then parse_err("Can't specify both 'p' and gendered plural specs") end local gen_index = (base.props.saw_mn or special_variant) and 2 or 1 local pl_index = (saw_adj or saw_pl) and 1 or (base.props.saw_mn or special_variant == "surname" or special_variant == "toponym") and 3 or 2 if #comma_separated_groups > pl_index then if saw_adj then parse_err("Can't specify plurals or genitives with adjectival declension") elseif saw_pl then parse_err("Can't specify plurals or genitives with plural-only nouns") elseif base.props.saw_mn then parse_err("Can specify at most three comma-separated specs when the gender is masculine or " .. "neuter (gender, genitive, plural)") elseif special_variant == "surname" or special_variant == "toponym" then parse_err("Can specify at most three comma-separated specs with '" .. special_variant .. "' " .. "nouns ('" .. special_variant .. "', genitive, plural)") elseif special_variant == "langname" then parse_err("Can specify at most two comma-separated specs with 'langname' " .. " ('langname', genitive)") else parse_err("Can specify at most two comma-separated specs when the gender is feminine " .. "(gender, plural)") end end if #comma_separated_groups >= gen_index and gen_index > 1 then base.gens = M.com.fetch_specs(comma_separated_groups[gen_index], ":", "genitive", "allow blank", parse_err) end if #comma_separated_groups >= pl_index and pl_index > gen_index then base.pls = M.com.fetch_specs(comma_separated_groups[pl_index], ":", "plural", "allow blank", parse_err) end if special_variant then if #base.genders > 1 then parse_err("Internal error: More than one gender spec for '" .. special_variant .. "'") else base.props[special_variant] = true if special_variant == "surname" then -- FIXME, does it make sense to put the footnotes on the feminine gender (they appear after the gender)? base.genders = {{form = "m"}, {form = "f", footnotes = base.genders[1].footnotes}} else base.genders = {{form = "n", footnotes = base.genders[1].footnotes}} end end elseif saw_adj then if #base.genders > 1 then parse_err("Internal error: More than one gender spec for adjectival declension") else base.props.adj = true if saw_pl then base.number = "pl" base.genders = {{form = "p", footnotes = base.genders[1].footnotes}} else -- Stash the footnotes into `adj_footnotes`; we will put them onto the autodetected gender -- in determine_adjectival_genders(), which will set base.genders appropriately. base.adj_footnotes = base.genders[1].footnotes base.genders = {} end end elseif saw_pl then -- Convert 'mp' to 'm-p', 'fp' to 'f-p', etc. as that's what [[Module:gender and number]] expects. for _, genderspec in ipairs(base.genders) do local gender = rmatch(genderspec.form, "^([mfn])p$") if gender then genderspec.form = gender .. "-p" end end base.number = "pl" end elseif base.props.adj and part:find("^stem:") then dot_separated_group[1] = rsub(part, "^stem:", "") base.adj_stem = M.com.fetch_specs(dot_separated_group, ":", "adjectival stem", nil, parse_err) elseif base.props.adj and part:find("^suppress:") then if #dot_separated_group > 1 then parse_err("Can't specify footnotes with suppress: '" .. table.concat(dot_separated_group) .. "'") end -- No need to parse or validate more. Will happen in [[Module:de-adjective]]. base.adj_suppress = rsub(part, "suppress:", "") elseif part == "" then if #dot_separated_group == 1 then parse_err("Blank indicator") end base.footnotes = M.com.fetch_footnotes(dot_separated_group, parse_err) elseif part:find(":") then -- override -- FIXME: Handle adjectival overrides local case_prefix = usub(part, 1, 3) if case_set_with_abl_voc[case_prefix] then local slot, slot_indicator, override = parse_override(dot_separated_group) if base.overrides[slot] then parse_err("Can't specify override twice for slot '" .. slot_indicator .. "'") else base.overrides[slot] = override end else parse_err("Unrecognized indicator '" .. part .. "'") end elseif #dot_separated_group > 1 then local errmsg if base.props.adj then errmsg = "Footnotes only allowed with slot overrides, 'stem:' or by themselves" else errmsg = "Footnotes only allowed with genitive, plural, slot overrides or by themselves" end parse_err(errmsg .. ": '" .. table.concat(dot_separated_group) .. "'") elseif part == "sg" or part == "both" then if base.number then if base.number ~= part then parse_err("Can't specify '" .. part .. "' along with '" .. base.number .. "'") else parse_err("Can't specify '" .. part .. "' twice") end end base.number = part elseif not base.props.adj and (part == "weak" or part == "weak_n" or part == "ss" or part == "nodatpln" or part == "article" or part == "dat_with_e") then if base.props[part] then parse_err("Can't specify '" .. part .. "' twice") end base.props[part] = true if part == "weak_n" then -- weak_n implies weak base.props.weak = true end elseif base.props.adj and (part == "article" or is_adjectival_decl_indicator(part)) then if base.props[part] then parse_err("Can't specify '" .. part .. "' twice") end base.props[part] = true else parse_err("Unrecognized indicator '" .. part .. "'") end end end return base end -- For an adjectival lemma, synthesize the predicative (lemma) form. It doesn't have to be perfect in that the -- predicative form itself isn't used, so we don't have to try to convert -abler -> -abel or anything like that. local function synthesize_adj_lemma(base) local stem, ending = rmatch(base.lemma, "^(.*)(e[rs]?)$") if not stem then error("Unrecognized adjectival lemma, should end in '-er', '-e' or '-es': '" .. base.lemma .. "'") end base.lemma = stem -- Will be ignored if number == "pl" if ending == "er" then base.autodetected_gender = "m" elseif ending == "e" then base.autodetected_gender = "f" else base.autodetected_gender = "n" end end local function detect_indicator_spec(alternant_multiword_spec, base) if base.props.article then alternant_multiword_spec.props.article = true end for _, prop in ipairs {"surname", "toponym", "langname"} do if alternant_multiword_spec.props[prop] == nil then alternant_multiword_spec.props[prop] = base.props[prop] elseif alternant_multiword_spec.props[prop] ~= base.props[prop] then -- We do this because we have a special table with its own slots for each of these special variants. -- FIXME: Consider supporting adjectives with these variants. That requires that we copy the adjectival -- declensions to the appropriate per-variant slots. error("If some alternants set '" .. prop .. "', all must do so") end end if base.props.adj then alternant_multiword_spec.props.overall_adj = true synthesize_adj_lemma(base) else -- Set default values. base.number = base.number or base.props.surname and "both" or base.pls and "both" or (alternant_multiword_spec.props.is_proper or base.props.toponym or base.props.langname) and "sg" or "both" if not base.props.surname then if base.number == "pl" then if base.gens then error("Internal error: With plural-only noun, no genitive singular specs should be allowed") end if base.pls then error("Internal error: With plural-only noun, no plural specs should be allowed") end end if base.pls and base.number == "sg" then error("Can't specify explicit plural specs along with explicit '.sg'") end end base.gens = base.gens or {{form = "+"}} base.pls = base.pls or {{form = "+"}} end end local function detect_all_indicator_specs(alternant_multiword_spec) M.iut.map_word_specs(alternant_multiword_spec, function(base) detect_indicator_spec(alternant_multiword_spec, base) end) -- Now propagate some properties downwards. M.iut.map_word_specs(alternant_multiword_spec, function(base) base.props.overall_adj = alternant_multiword_spec.props.overall_adj end) end local propagate_multiword_properties local function propagate_alternant_properties(alternant_spec, property, mixed_value, nouns_only) local seen_property for _, multiword_spec in ipairs(alternant_spec.alternants) do propagate_multiword_properties(multiword_spec, property, mixed_value, nouns_only) if seen_property == nil then seen_property = multiword_spec[property] elseif multiword_spec[property] and seen_property ~= multiword_spec[property] then seen_property = mixed_value end end alternant_spec[property] = seen_property end propagate_multiword_properties = function(multiword_spec, property, mixed_value, nouns_only) local seen_property = nil local last_seen_nounal_pos = 0 local word_specs = multiword_spec.alternant_or_word_specs or multiword_spec.word_specs for i = 1, #word_specs do local is_nounal if word_specs[i].alternants then propagate_alternant_properties(word_specs[i], property, mixed_value) is_nounal = not not word_specs[i][property] elseif nouns_only then is_nounal = not word_specs[i].props.adj else is_nounal = not not word_specs[i][property] end if is_nounal then if not word_specs[i][property] then error("Internal error: noun-type word spec without " .. property .. " set") end for j = last_seen_nounal_pos + 1, i - 1 do word_specs[j][property] = word_specs[j][property] or word_specs[i][property] end last_seen_nounal_pos = i if seen_property == nil then seen_property = word_specs[i][property] elseif seen_property ~= word_specs[i][property] then seen_property = mixed_value end end end if last_seen_nounal_pos > 0 then for i = last_seen_nounal_pos + 1, #word_specs do word_specs[i][property] = word_specs[i][property] or word_specs[last_seen_nounal_pos][property] end end multiword_spec[property] = seen_property end local function propagate_properties_downward(alternant_multiword_spec, property, default_propval) local propval1 = alternant_multiword_spec[property] or default_propval alternant_multiword_spec[property] = propval1 for _, alternant_or_word_spec in ipairs(alternant_multiword_spec.alternant_or_word_specs) do local propval2 = alternant_or_word_spec[property] or propval1 if alternant_or_word_spec.alternants then for _, multiword_spec in ipairs(alternant_or_word_spec.alternants) do local propval3 = multiword_spec[property] or propval2 for _, word_spec in ipairs(multiword_spec.word_specs) do local propval4 = word_spec[property] or propval3 if propval4 == "mixed" then error("Attempt to assign mixed " .. property .. " to word") end word_spec[property] = propval4 end end else if propval2 == "mixed" then error("Attempt to assign mixed " .. property .. " to word") end alternant_or_word_spec[property] = propval2 end end end --[=[ Propagate `property` ("genders" or "number") from nouns to adjacent adjectives. We proceed as follows: 1. We assume the properties in question are already set on all nouns. This should happen in parse_indicator_spec(). 2. We first propagate properties upwards and sideways. We recurse downwards from the top. When we encounter a multiword spec, we proceed left to right looking for a noun. When we find a noun, we fetch its property (recursing if the noun is an alternant), and propagate it to any adjectives to its left, up to the next noun to the left. When we have processed the last noun, we also propagate its property value to any adjectives to the right. Finally, we set the property value for the multiword spec itself by combining all the non-nil properties of the individual elements. If all non-nil properties have the same value, the result is that value, otherwise it is `mixed_value` (which is "mixed" gender, but "both" for number). 3. When we encounter an alternant spec in this process, we recursively process each alternant (which is a multiword spec) using the previous step, and combine any non-nil properties we encounter the same way as for multiword specs. 4. The effect of steps 2 and 3 is to set the property of each alternant and multiword spec based on its children or its neighbors. ]=] local function propagate_properties(alternant_multiword_spec, property, default_propval, mixed_value) propagate_multiword_properties(alternant_multiword_spec, property, mixed_value, "nouns only") propagate_multiword_properties(alternant_multiword_spec, property, mixed_value, false) propagate_properties_downward(alternant_multiword_spec, property, default_propval) end -- Set the gender of adjectives and adjectival nouns to the gender autodetected during synthesize_adj_lemma(), -- unless the form is plural. We don't just set the gender directly in synthesize_adj_lemma() because we don't know -- until later (i.e. when propagate_properties() is called) whether an adjectival form in -e is feminine or plural. -- We set the footnotes (i.e. qualifiers) of the gender to the footnotes (if any) specified directly after '+'. local function determine_adjectival_genders(alternant_multiword_spec) M.iut.map_word_specs(alternant_multiword_spec, function(base) if base.props.adj and #base.genders == 0 then base.genders = {{form = base.number == "pl" and "p" or base.autodetected_gender, footnotes = base.adj_footnotes}} end end) end -- Find the first noun in a multiword expression and set alternant_multiword_spec.first_noun -- to the index of that noun. Also find the first adjective and set alternant_multiword_spec.first_adj -- similarly. If there is a first noun, we use its properties to determine the overall expression's -- properties; otherwise we use the first adjective's properties, otherwise the first word's properties. -- If the "word" located this way is not an alternant spec, we just use its properties directly, otherwise -- we use the properties of the first noun (or failing that the first adjective, or failing that the -- first word) in each alternative alternant in the alternant spec. For this reason, we need to set the -- the .first_noun of and .first_adj of each multiword expression embedded in the first noun alternant spec, -- and the .first_adj of each multiword expression in each adjective alternant spec leading up to the -- first noun alternant spec. local function determine_noun_status(alternant_multiword_spec) for i, alternant_or_word_spec in ipairs(alternant_multiword_spec.alternant_or_word_specs) do if alternant_or_word_spec.alternants then local alternant_type for _, multiword_spec in ipairs(alternant_or_word_spec.alternants) do for j, word_spec in ipairs(multiword_spec.word_specs) do if not word_spec.props.adj then multiword_spec.first_noun = j alternant_type = "noun" break elseif not multiword_spec.first_adj then multiword_spec.first_adj = j if not alternant_type then alternant_type = "adj" end end end end if alternant_type == "noun" then alternant_multiword_spec.first_noun = i return elseif alternant_type == "adj" and not alternant_multiword_spec.first_adj then alternant_multiword_spec.first_adj = i end else if not alternant_or_word_spec.props.adj then alternant_multiword_spec.first_noun = i return elseif not alternant_multiword_spec.first_adj then alternant_multiword_spec.first_adj = i end end end end local function decline_noun_or_adjective(base) if base.props.surname then decline_surname(base) elseif base.props.toponym then decline_toponym(base) elseif base.props.langname then decline_langname(base) elseif base.props.adj then decline_adjective(base) else decline_noun(base) end handle_derived_slots_and_overrides(base) end -- Set the overall articles. We can't do this using the normal inflection code as it will produce e.g. -- '[[der]] [[und]] [[der]]' for conjoined nouns. local function compute_non_surname_articles(alternant_multiword_spec) if alternant_multiword_spec.number ~= "pl" then M.iut.map_word_specs(alternant_multiword_spec, function(base) for _, genderspec in ipairs(base.genders) do for _, case in ipairs(cases_with_abl_voc) do for _, def in ipairs(definitenesses) do M.iut.insert_form(alternant_multiword_spec.forms, "art_" .. def .. "_" .. case .. "_s", {form = M.com.articles[genderspec.form][def .. "_" .. case]}) end end end end) end for _, case in ipairs(basic_cases) do for _, def in ipairs(definitenesses) do M.iut.insert_form(alternant_multiword_spec.forms, "art_" .. def .. "_" .. case .. "_p", {form = M.com.articles.p[def .. "_" .. case]}) end end end -- Set the overall surname articles. We can't do this using the normal inflection code as it will produce e.g. -- '[[der]] [[und]] [[der]]' for conjoined nouns. local function compute_surname_articles(alternant_multiword_spec) for _, gender in ipairs {"m", "f"} do for _, case in ipairs(basic_cases) do for _, def in ipairs(definitenesses) do M.iut.insert_form(alternant_multiword_spec.forms, "art_" .. def .. "_" .. case .. "_" .. gender .. "_s", {form = "([[" .. M.com.articles[gender][def .. "_" .. case] .. "]])"}) end end end for _, case in ipairs(basic_cases) do M.iut.insert_form(alternant_multiword_spec.forms, "art_def_" .. case .. "_p", {form = "([[" .. M.com.articles.p["def_" .. case] .. "]])"}) end end local function compute_articles(alternant_multiword_spec) if alternant_multiword_spec.props.surname then compute_surname_articles(alternant_multiword_spec) else compute_non_surname_articles(alternant_multiword_spec) end end -- Call a function `fun` over the first noun in the `alternant_multiword_spec`, or over the first noun in each -- alternant if there is more than one alternant. If there are no nouns, use the first adjective (in the case of an -- adjectival noun). local function map_first_noun(alternant_multiword_spec, fun) local key_entry = alternant_multiword_spec.first_noun or alternant_multiword_spec.first_adj or 1 if #alternant_multiword_spec.alternant_or_word_specs >= key_entry then local alternant_or_word_spec = alternant_multiword_spec.alternant_or_word_specs[key_entry] if alternant_or_word_spec.alternants then for _, multiword_spec in ipairs(alternant_or_word_spec.alternants) do key_entry = multiword_spec.first_noun or multiword_spec.first_adj or 1 if #multiword_spec.word_specs >= key_entry then fun(multiword_spec.word_specs[key_entry]) end end else fun(alternant_or_word_spec) end end end -- Compute the categories to add the noun to, as well as the annotation to display in the -- declension title bar. We combine the code to do these functions as both categories and -- title bar contain similar information. local function compute_categories_and_annotation(alternant_multiword_spec) alternant_multiword_spec.categories = {} alternant_multiword_spec.decl_type = {} local function insert(cattype) cattype = rsub(cattype, "~", alternant_multiword_spec.pos) M.table.insertIfNot(alternant_multiword_spec.categories, cattype:find("的") and cattype:gsub("的", "的德語") or "德語" .. cattype) -- L10N end if not alternant_multiword_spec.props.is_proper and alternant_multiword_spec.number == "sg" then insert("不可數~") elseif alternant_multiword_spec.number == "pl" then insert("唯複名詞") end local annotation local annparts = {} local genderdescs = {} local decldescs = {} if alternant_multiword_spec.number == "sg" then table.insert(annparts, "僅單數") elseif alternant_multiword_spec.number == "pl" and alternant_multiword_spec.genders[1].spec ~= "p" then -- If the gender is just 'p', we use "pl-only" below as a substitute for the gender and hook any qualifiers -- onto it. Note that when 'p' is the gender, there can be only one gender. table.insert(annparts, "僅複數") end for i, genderspec in ipairs(alternant_multiword_spec.genders) do local genderdesc_parts = {} local gender = genderspec.spec if gender == "p" then table.insert(genderdesc_parts, "僅複數") else gender = rsub(gender, "%-p$", "") table.insert(genderdesc_parts, gender_spec_to_full_gender[gender]) end if genderspec.q then table.insert(genderdesc_parts, " (") -- l10n: no italics table.insert(genderdesc_parts, table.concat(genderspec.q, ", ")) table.insert(genderdesc_parts, ")") end table.insert(genderdescs, table.concat(genderdesc_parts)) end local function insert_decl_type(decl_type) M.table.insertIfNot(decldescs, decl_type) M.table.insertIfNot(alternant_multiword_spec.decl_type, decl_type) end local function do_word_spec(base) if base.props.surname then M.table.insertIfNot(decldescs, "姓氏") elseif base.props.toponym then M.table.insertIfNot(decldescs, "地名") elseif base.props.langname then M.table.insertIfNot(decldescs, "語言名") elseif base.decl_type and #base.decl_type > 0 then -- strong/weak/mixed declension type; should only be present on masculine or neuter nouns with a plural for _, decl_type in ipairs(base.decl_type) do if decl_type == "弱變化" then insert("弱變化~") elseif decl_type == "混合變化" then insert("混合變化~") end insert_decl_type(decl_type) end elseif base.props.saw_mn then -- For singular-only masculine or neuter nouns, we can still classify as strong or weak. -- We don't try to classify plural-only nouns. Even for nouns in -n or -en, we have no idea if they are -- strong (-en is part of the stem), mixed or weak. if base.props.weak then insert("弱變化~") insert_decl_type("弱變化") else insert_decl_type("強變化") end end end -- Use the surname/toponym/langname/weak/strong properties of the noun(s). map_first_noun(alternant_multiword_spec, do_word_spec) if #genderdescs > 0 then table.insert(annparts, table.concat(genderdescs, " // ")) end if #decldescs > 0 then table.insert(annparts, table.concat(decldescs, " // ")) end if not alternant_multiword_spec.first_noun and alternant_multiword_spec.first_adj then insert("形容詞性~") table.insert(annparts, "形容詞性") end if alternant_multiword_spec.props.langname then insert("特殊變化語言名稱") end alternant_multiword_spec.annotation = table.concat(annparts, ", ") end local function compute_headword_genders(alternant_multiword_spec) alternant_multiword_spec.genders = {} -- Compute the genders based on the nouns. We don't want to use the adjectives in adjective-noun combinations -- because that will cause issues in plural-only expressions like [[Kanarische Inseln]], where ''Inseln'' may be -- 'f-p' but ''Kanarische'' will be just 'p', and we'd end up with both genders. map_first_noun(alternant_multiword_spec, function(base) for _, genderspec in ipairs(base.genders) do -- Create the new spec to insert. local spec = {spec = genderspec.form, q = genderspec.footnotes} -- See if the gender of the spec is already present; if so, combine qualifiers. local saw_existing = false for _, existing_spec in ipairs(alternant_multiword_spec.genders) do if existing_spec.spec == spec.spec then existing_spec.q = M.iut.combine_footnotes(existing_spec.q, spec.q) saw_existing = true break end end -- If not, add gender. if not saw_existing then table.insert(alternant_multiword_spec.genders, spec) end end end) -- Now convert the footnotes in the gender specs to qualifiers. This involves removing brackets and expanding any -- footnote abbreviations. for _, genderspec in ipairs(alternant_multiword_spec.genders) do if genderspec.q then local processed_q = {} for _, q in ipairs(genderspec.q) do M.table.insertIfNot(processed_q, M.iut.expand_footnote_or_references(q, "return raw", "no parse refs")) end genderspec.q = processed_q end end end -- Process the specs in `arg_specs` given for dim=, m=, f=, n= or sg= and store the results in `slot` in -- `alternant_multiword_spec.forms`. `arg_specs` is a list of specs, each of which is a comma-separated or -- colon-separated string of specs, where each spec may be a suffix like "in", or a suffix with umlaut like -- "^chen", or a full form beginning with a capital letter or exclamation point. Suffixes are added onto the lemma -- with -e removed if present. `default` is the default value to use if "+" is given as a spec, and `literal_default`, -- if given, indicates that `default` is always a literal (full) form; otherwise, it `default` begins with a -- lowercase letter, it is taken as a suffix. (This is used in cases like the feminine of [[ordenlicher Professor]], -- which is generated as "ordentiche Professorin"; we don't want this interpreted as a suffix.) `desc` is an English -- description of the form whose specs are being processed, for display in error messages. local function process_dim_m_f_n(alternant_multiword_spec, arg_specs, default, literal_default, slot, desc) -- We don't want footnotes attached to a lemma to end up in the output. These footnotes typically get there if the -- syntax `.[footnote]` is used, which attaches a footnote to every form. local lemmas = export.get_lemmas(alternant_multiword_spec, nil, "remove footnotes") lemmas = M.iut.map_forms(lemmas, function(form) return rsub(form, "e$", "") end) for _, spec in ipairs(arg_specs) do local function parse_err(msg) error(msg .. ": " .. spec) end local segments = M.put.parse_balanced_segment_run(spec, "[", "]") -- Allow comma (preferred) or colon as separator. local ending_specs = M.com.fetch_specs(segments, "[,:]", desc, nil, parse_err) -- FIXME, this should propagate the 'ss' property upwards local props = {} local function do_combine_stem_ending(stem, ending) return combine_stem_ending(props, stem, ending) end local function process(stem, ending) M.iut.add_forms(alternant_multiword_spec.forms, slot, stem or lemmas, ending, do_combine_stem_ending) end process_spec(ending_specs, nil, default, literal_default, desc, process) end end local function show_forms(alternant_multiword_spec) local lemmas = export.get_lemmas(alternant_multiword_spec) local props = { lang = M.lang, lemmas = lemmas, slot_list = alternant_multiword_spec.props.surname and surname_slot_list_with_linked_and_articles or alternant_multiword_spec.props.langname and langname_slot_list_with_linked_and_articles or alternant_multiword_spec.props.overall_adj and adjectival_slot_list_with_linked_and_articles or noun_slot_list_with_linked_and_articles, } M.iut.show_forms(alternant_multiword_spec.forms, props) end local noun_template_both = [=[ ! class="outer" style="width:15%" | ! colspan="3" class="outer" style="width:46%" | 單數 ! colspan="2" class="outer" style="width:39%" | 複數 |- ! ! style="width:7%" | [[不定冠詞|不定]] ! style="width:7%" | [[定冠詞|定指]] ! style="width:32%" | 名詞 ! style="width:7%" | [[定冠詞|定指]] ! style="width:32%" | 名詞 |- ! 主格 | class="secondary" | {art_ind_nom_s} | class="secondary" | {art_def_nom_s} | {nom_s} | class="secondary" | {art_def_nom_p} | {nom_p} |- ! 屬格 | class="secondary" | {art_ind_gen_s} | class="secondary" | {art_def_gen_s} | {gen_s} | class="secondary" | {art_def_gen_p} | {gen_p} |- ! 與格 | class="secondary" | {art_ind_dat_s} | class="secondary" | {art_def_dat_s} | {dat_s} | class="secondary" | {art_def_dat_p} | {dat_p} |- ! 賓格 | class="secondary" | {art_ind_acc_s} | class="secondary" | {art_def_acc_s} | {acc_s} | class="secondary" | {art_def_acc_p} | {acc_p} ]=] local noun_template_both_no_indef = [=[ ! class="outer" style="width:15%" | ! colspan="2" class="outer" style="width:39%" | 單數 ! colspan="2" class="outer" style="width:39%" | 複數 |- ! ! style="width:7%" | [[定冠詞|定指]] ! style="width:32%" | 名詞 ! style="width:7%" | [[定冠詞|定指]] ! style="width:32%" | 名詞 |- ! 主格 | class="secondary" | {art_def_nom_s} | {nom_s} | class="secondary" | {art_def_nom_p} | {nom_p} |- ! 屬格 | class="secondary" | {art_def_gen_s} | {gen_s} | class="secondary" | {art_def_gen_p} | {gen_p} |- ! 與格 | class="secondary" | {art_def_dat_s} | {dat_s} | class="secondary" | {art_def_dat_p} | {dat_p} |- ! 賓格 | class="secondary" | {art_def_acc_s} | {acc_s} | class="secondary" | {art_def_acc_p} | {acc_p} ]=] local noun_template_abl_voc = [=[ |- ! 離格 | class="secondary" | {art_ind_abl_s} | class="secondary" | {art_def_abl_s} | {abl_s} |- ! 呼格 | class="secondary" | {art_ind_voc_s} | class="secondary" | {art_def_voc_s} | {voc_s}]=] local noun_template_sg = [=[ ! class="outer" style="width:24.6%" | ! colspan="3" class="outer" | 單數 |- ! ! style="width:11.5%" | [[不定冠詞|不定]] ! style="width:11.5%" | [[定冠詞|定指]] ! style="width:52.5%" | 名詞 |- ! 主格 | class="secondary" | {art_ind_nom_s} | class="secondary" | {art_def_nom_s} | {nom_s} |- ! 屬格 | class="secondary" | {art_ind_gen_s} | class="secondary" | {art_def_gen_s} | {gen_s} |- ! 與格 | class="secondary" | {art_ind_dat_s} | class="secondary" | {art_def_dat_s} | {dat_s} |- ! 賓格 | class="secondary" | {art_ind_acc_s} | class="secondary" | {art_def_acc_s} | {acc_s}{abl_voc_clause} ]=] local noun_template_sg_no_indef = [=[ ! class="outer" style="width:24.6%" | ! colspan="2" class="outer" | 單數 |- ! ! style="width:11.5%" | [[定冠詞|定指]] ! style="width:52.5%" | 名詞 |- ! 主格 | class="secondary" | {art_def_nom_s} | {nom_s} |- ! 屬格 | class="secondary" | {art_def_gen_s} | {gen_s} |- ! 與格 | class="secondary" | {art_def_dat_s} | {dat_s} |- ! 賓格 | class="secondary" | {art_def_acc_s} | {acc_s}{abl_voc_clause} ]=] local noun_template_pl = [=[ ! class="outer" style="width:24.6%" | ! colspan="2" class="outer" | 複數 |- ! ! style="width:11.5%" | [[定冠詞|定指]] ! style="width:52.5%" | 名詞 |- ! 主格 | class="secondary" | {art_def_nom_p} | {nom_p} |- ! 屬格 | class="secondary" | {art_def_gen_p} | {gen_p} |- ! 與格 | class="secondary" | {art_def_dat_p} | {dat_p} |- ! 賓格 | class="secondary" | {art_def_acc_p} | {acc_p} ]=] local noun_template_surname = [=[ ! rowspan="2" class="outer" style="width:11%" | ! colspan="6" class="outer" | 單數 ! colspan="2" rowspan="2" class="outer" | 複數 |- ! colspan="3" class="outer" | 陽性 ! colspan="3" class="outer" | 陰性 |- ! ! style="width:4%" | [[不定冠詞|不定]] ! style="width:4%" | [[定冠詞|定指]] ! style="width:23%" | 名詞 ! style="width:4%" | [[不定冠詞|不定]] ! style="width:4%" | [[定冠詞|定指]] ! style="width:23%" | 名詞 ! style="width:4%" | [[定冠詞|定指]] ! style="width:23%" | 名詞 |- ! 主格 | class="secondary" | {art_ind_nom_m_s} | class="secondary" | {art_def_nom_m_s} | {nom_m_s} | class="secondary" | {art_ind_nom_f_s} | class="secondary" | {art_def_nom_f_s} | {nom_f_s} | class="secondary" | {art_def_nom_p} | {nom_p} |- ! 屬格 | class="secondary" | {art_ind_gen_m_s} | class="secondary" | {art_def_gen_m_s} | {gen_m_s} | class="secondary" | {art_ind_gen_f_s} | class="secondary" | {art_def_gen_f_s} | {gen_f_s} | class="secondary" | {art_def_gen_p} | {gen_p} |- ! 與格 | class="secondary" | {art_ind_dat_m_s} | class="secondary" | {art_def_dat_m_s} | {dat_m_s} | class="secondary" | {art_ind_dat_f_s} | class="secondary" | {art_def_dat_f_s} | {dat_f_s} | class="secondary" | {art_def_dat_p} | {dat_p} |- ! 賓格 | class="secondary" | {art_ind_acc_m_s} | class="secondary" | {art_def_acc_m_s} | {acc_m_s} | class="secondary" | {art_ind_acc_f_s} | class="secondary" | {art_def_acc_f_s} | {acc_f_s} | class="secondary" | {art_def_acc_p} | {acc_p} ]=] local noun_template_langname = [=[ ! class="outer" style="width:15%" | ! colspan="4" class="outer" style="width:85%" | 單數([[:en:Wiktionary:German entry guidelines#Declension of language names|表格的用途和意義的解釋]]) |- ! ! style="width:14%" | (通常無冠詞) ! style="width:32%" | 名詞 ! style="width:7%" | [[定冠詞|定指]] ! style="width:32%" | 名詞 |- ! 主格 | class="secondary" | ({art_def_nom_s}) | {nom_s} | class="secondary" | {art_def_nom_s} | {nom_s_alt} |- ! 屬格 | class="secondary" | ({art_def_gen_s}) | {gen_s} | class="secondary" | {art_def_gen_s} | {gen_s_alt} |- ! 與格 | class="secondary" | ({art_def_dat_s}) | {dat_s} | class="secondary" | {art_def_dat_s} | {dat_s_alt} |- ! 賓格 | class="secondary" | ({art_def_acc_s}) | {acc_s} | class="secondary" | {art_def_acc_s} | {acc_s_alt} ]=] local adjectival_template_both = [=[ ! style="width:15%" | ! colspan="2" | 單數 ! colspan="2" | 複數 |- data-wikt-palette-p="blue" ! class="outer" | {gender} ! colspan="4" class="outer" | 強變化 |- data-wikt-palette-p="blue" ! 主格 | colspan="2" | {str_nom_s} | colspan="2" | {str_nom_p} |- data-wikt-palette-p="blue" ! 屬格 | colspan="2" | {str_gen_s} | colspan="2" | {str_gen_p} |- data-wikt-palette-p="blue" ! 與格 | colspan="2" | {str_dat_s} | colspan="2" | {str_dat_p} |- data-wikt-palette-p="blue" ! 賓格 | colspan="2" | {str_acc_s} | colspan="2" | {str_acc_p} |- data-wikt-palette-p="green" ! class="outer" | ! colspan="4" class="outer" | 弱變化 |- data-wikt-palette-p="green" ! 主格 | class="secondary" style="width:5em" | {art_def_nom_s} | {wk_nom_s} | class="secondary" style="width:5em" | {art_def_nom_p} | {wk_nom_p} |- data-wikt-palette-p="green" ! 屬格 | class="secondary" style="width:5em" | {art_def_gen_s} | {wk_gen_s} | class="secondary" style="width:5em" | {art_def_gen_p} | {wk_gen_p} |- data-wikt-palette-p="green" ! 與格 | class="secondary" style="width:5em" | {art_def_dat_s} | {wk_dat_s} | class="secondary" style="width:5em" | {art_def_dat_p} | {wk_dat_p} |- data-wikt-palette-p="green" ! 賓格 | class="secondary" style="width:5em" | {art_def_acc_s} | {wk_acc_s} | class="secondary" style="width:5em" | {art_def_acc_p} | {wk_acc_p} |- data-wikt-palette-p="orange" ! class="outer" | ! colspan="4" class="outer" | 混合變化 |- data-wikt-palette-p="orange" ! 主格 | class="secondary" style="width:5em" | {art_ind_nom_s} | {mix_nom_s} | class="secondary" style="width:5em" | {art_ind_nom_p} | {mix_nom_p} |- data-wikt-palette-p="orange" ! 屬格 | class="secondary" style="width:5em" | {art_ind_gen_s} | {mix_gen_s} | class="secondary" style="width:5em" | {art_ind_gen_p} | {mix_gen_p} |- data-wikt-palette-p="orange" ! 與格 | class="secondary" style="width:5em" | {art_ind_dat_s} | {mix_dat_s} | class="secondary" style="width:5em" | {art_ind_dat_p} | {mix_dat_p} |- data-wikt-palette-p="orange" ! 賓格 | class="secondary" style="width:5em" | {art_ind_acc_s} | {mix_acc_s} | class="secondary" style="width:5em" | {art_ind_acc_p} | {mix_acc_p} ]=] local adjectival_template_sg = [=[ ! style="width:15%" | ! colspan="2" | 單數 |- data-wikt-palette-p="blue" ! class="outer" | {gender} ! colspan="2" class="outer" | 強變化 |- data-wikt-palette-p="blue" ! 主格 | colspan="2" | {str_nom_s} |- data-wikt-palette-p="blue" ! 屬格 | colspan="2" | {str_gen_s} |- data-wikt-palette-p="blue" ! 與格 | colspan="2" | {str_dat_s} |- data-wikt-palette-p="blue" ! 賓格 | colspan="2" | {str_acc_s} |- data-wikt-palette-p="green" ! class="outer" | ! colspan="2" class="outer" | 弱變化 |- data-wikt-palette-p="green" ! 主格 | class="secondary" style="width:5em" | {art_def_nom_s} | {wk_nom_s} |- data-wikt-palette-p="green" ! 屬格 | class="secondary" style="width:5em" | {art_def_gen_s} | {wk_gen_s} |- data-wikt-palette-p="green" ! 與格 | class="secondary" style="width:5em" | {art_def_dat_s} | {wk_dat_s} |- data-wikt-palette-p="green" ! 賓格 | class="secondary" style="width:5em" | {art_def_acc_s} | {wk_acc_s} |- data-wikt-palette-p="orange" ! class="outer" | ! colspan="2" class="outer" | 混合變化 |- data-wikt-palette-p="orange" ! 主格 | class="secondary" style="width:5em" | {art_ind_nom_s} | {mix_nom_s} |- data-wikt-palette-p="orange" ! 屬格 | class="secondary" style="width:5em" | {art_ind_gen_s} | {mix_gen_s} |- data-wikt-palette-p="orange" ! 與格 | class="secondary" style="width:5em" | {art_ind_dat_s} | {mix_dat_s} |- data-wikt-palette-p="orange" ! 賓格 | class="secondary" style="width:5em" | {art_ind_acc_s} | {mix_acc_s} ]=] local function make_table(alternant_multiword_spec) local forms = alternant_multiword_spec.forms if alternant_multiword_spec.title then forms.title = alternant_multiword_spec.title else forms.title = '<i lang="de" class="Latn">' .. forms.lemma .. '</i> 的變格' end local annotation = alternant_multiword_spec.annotation if annotation == "" then forms.annotation = "" else forms.annotation = " [<span style=\"font-size: smaller;\">" .. annotation .. "</span>]" end local table_spec if alternant_multiword_spec.props.surname then table_spec = noun_template_surname elseif alternant_multiword_spec.props.langname then table_spec = noun_template_langname elseif alternant_multiword_spec.props.overall_adj then table_spec = alternant_multiword_spec.number == "sg" and adjectival_template_sg or alternant_multiword_spec.number == "pl" and rsub(rsub(adjectival_template_sg, "單數", "複數"), "_s}", "_p}") or adjectival_template_both if alternant_multiword_spec.number == "pl" then forms.gender = "" else local genderdesc_parts = {} for _, gender in ipairs(alternant_multiword_spec.genders) do table.insert(genderdesc_parts, gender_spec_to_full_gender[gender.spec]) end forms.gender = table.concat(genderdesc_parts, "<small>或</small>") -- l10n: no italics, no word for "gender" end else local no_indef = alternant_multiword_spec.props.toponym or alternant_multiword_spec.props.article table_spec = alternant_multiword_spec.number == "sg" and (no_indef and noun_template_sg_no_indef or noun_template_sg) or alternant_multiword_spec.number == "pl" and noun_template_pl or (no_indef and noun_template_both_no_indef or noun_template_both) if forms.abl_s ~= "—" or forms.voc_s ~= "—" then forms.abl_voc_clause = M.string_utilities.format(noun_template_abl_voc, forms) else forms.abl_voc_clause = "" end end return M.string_utilities.format(M.inflection_table.make_top { lang = "de", title = "{title}{annotation}", palette = "blue", tall = "yes", } .. table_spec .. M.inflection_table.make_bottom { notes = forms.footnote ~= "" and "{footnote}" or nil, }, forms) end -- Externally callable function to parse and decline a noun given user-specified arguments. Return value is -- ALTERNANT_MULTIWORD_SPEC, an object where the declined forms are in `ALTERNANT_MULTIWORD_SPEC.forms` for each slot. -- If there are no values for a slot, the slot key will be missing. The value for a given slot is a list of objects -- {form=FORM, footnotes=FOOTNOTES}. function export.do_generate_forms(parent_args, pos, from_headword, is_proper, def) local params = { [1] = {required = true, default = "Haus<n,es,^er>"}, pagename = true, json = {type = "boolean"}, -- for bot use } if from_headword or pretend_from_headword then params["head"] = {list = true} params["f"] = {list = true} params["m"] = {list = true} params["n"] = {list = true} params["dim"] = {list = true} params["sg"] = {list = true} params["id"] = {} params["sort"] = {} params["splithyph"] = {type = "boolean"} params["nolinkhead"] = {type = "boolean"} end local args = M.parameters.process(parent_args, params) local arg1 = M.com.add_angle_brackets(args[1]) local pagename = args.pagename or M.headword_data.pagename local function do_parse_indicator_spec(angle_bracket_spec, lemma) return parse_indicator_spec(angle_bracket_spec, lemma, pagename) end local parse_props = { parse_indicator_spec = do_parse_indicator_spec, allow_default_indicator = true, allow_blank_lemma = true, } local alternant_multiword_spec = M.iut.parse_inflected_text(arg1, parse_props) alternant_multiword_spec.args = args alternant_multiword_spec.props = {} alternant_multiword_spec.props.is_proper = is_proper detect_all_indicator_specs(alternant_multiword_spec) local default_number = (alternant_multiword_spec.props.is_proper or alternant_multiword_spec.props.toponym) and "sg" or "both" propagate_properties(alternant_multiword_spec, "number", default_number, "both") -- FIXME, maybe should check that noun genders match adjective genders determine_adjectival_genders(alternant_multiword_spec) determine_noun_status(alternant_multiword_spec) local inflect_props = { skip_slot = function(slot) return skip_slot(alternant_multiword_spec.number, slot) end, slot_list = alternant_multiword_spec.props.surname and surname_slot_list_with_linked or alternant_multiword_spec.props.langname and langname_slot_list_with_linked or alternant_multiword_spec.props.overall_adj and adjectival_slot_list_with_linked or noun_slot_list_with_linked, inflect_word_spec = decline_noun_or_adjective, } M.iut.inflect_multiword_or_alternant_multiword_spec(alternant_multiword_spec, inflect_props) compute_articles(alternant_multiword_spec) compute_headword_genders(alternant_multiword_spec) if not pos then -- Compute part of speech for categories. Fetch the first lemma, or failing that (which would only happen -- if the user overrides the nom_sg and nom_p to be missing) the pagename. If it begins with a hyphen, -- it's a suffix, else a noun (proper nouns get categorized like nouns). local lemmas = export.get_lemmas(alternant_multiword_spec) local first_lemma = #lemmas > 0 and lemmas[1].form or pagename pos = rfind(first_lemma, "^%-") and "後綴" or "名詞" end alternant_multiword_spec.pos = pos compute_categories_and_annotation(alternant_multiword_spec) if from_headword or pretend_from_headword then process_dim_m_f_n(alternant_multiword_spec, args.dim, "^chen", nil, "dim", "diminutive") process_dim_m_f_n(alternant_multiword_spec, args.f, alternant_multiword_spec.forms.f_equiv, "literal default", "f", "feminine equivalent") process_dim_m_f_n(alternant_multiword_spec, args.m, alternant_multiword_spec.forms.m_equiv, "literal default", "m", "masculine equivalent") process_dim_m_f_n(alternant_multiword_spec, args.n, alternant_multiword_spec.forms.n_equiv, "literal default", "n", "neuter equivalent") process_dim_m_f_n(alternant_multiword_spec, args.sg, nil, nil, "sg", "singular") end if args.json then return M.JSON.toJSON(alternant_multiword_spec) end return alternant_multiword_spec end -- Entry point for {{de-ndecl}}. Template-callable function to parse and decline a noun given -- user-specified arguments and generate a displayable table of the declined forms. function export.show(frame) local parent_args = frame:getParent().args local alternant_multiword_spec = export.do_generate_forms(parent_args) if type(alternant_multiword_spec) == "string" then -- json=1 specified return alternant_multiword_spec end show_forms(alternant_multiword_spec) return make_table(alternant_multiword_spec) .. M.utilities.format_categories( alternant_multiword_spec.categories, M.lang, nil, nil, force_cat) end return export a7sdj2bj73bptkojj2co25klp8ucpav Module:De-adjective 828 1848456 9938425 9511359 2026-10-04T14:48:35Z TongcyDai 53191 同步 enwikt(rev 92527526):改用 Module:inflection-table 與 palette、json=;本地化 9938425 Scribunto text/plain local export = {} --[=[ Authorship: <benwing2> ]=] --[=[ TERMINOLOGY: -- "slot" = A particular combination of state/case/gender/number. Example slot names for adjectives are "mix_nom_m" (mixed nominative masculine singular), "sup_str_dat_p" (superlative strong dative plural) and "comp_pred" (comparative predicative). Each slot is filled with zero or more forms. -- "form" = The declined German form representing the value of a given slot. -- "lemma" = The dictionary form of a given German term. Generally the predicative, but may be the strong nominative masculine singular or other form. ]=] local M = require("Module:module loader").init { require = { com = "Module:de-common", iut = "Module:inflection utilities", inflection_table = "Module:inflection-table", JSON = "Module:JSON", links = "Module:links", parameters = "Module:parameters", put = "Module:parse utilities", string_utilities = "Module:string utilities", table = "Module:table", utilities = "Module:utilities", }, loadData = { headword_data = "Module:headword/data", }, lazy = { lang = function() return require("Module:languages").getByCode("de") end, }, } local pretend_from_headword = false local u = mw.ustring.char local rsplit = mw.text.split local rfind = mw.ustring.find local rmatch = mw.ustring.match local rgmatch = mw.ustring.gmatch local rsubn = mw.ustring.gsub local ulen = mw.ustring.len local unpack = unpack or table.unpack -- Lua 5.2 compatibility local uupper = mw.ustring.upper local OMITTED_E = u(0xFFF0) -- version of rsubn() that discards all but the first return value local function rsub(term, foo, bar) local retval = rsubn(term, foo, bar) return retval end -- version of rsubn() that returns a 2nd argument boolean indicating whether -- a substitution was made. local function rsubb(term, foo, bar) local retval, nsubs = rsubn(term, foo, bar) return retval, nsubs > 0 end local function link_term(term, face) return M.links.full_link({ lang = M.lang, term = term }, face) end local endings = { ["str"] = { ["m"] = {"er", "en", "em", "en"}, ["f"] = {"e", "er", "er", "e"}, ["n"] = {"es", "en", "em", "es"}, ["p"] = {"e", "er", "en", "e"}, }, ["wk"] = { ["m"] = {"e", "en", "en", "en"}, ["f"] = {"e", "en", "en", "e"}, ["n"] = {"e", "en", "en", "e"}, ["p"] = {"en", "en", "en", "en"}, }, ["mix"] = { ["m"] = {"er", "en", "en", "en"}, ["f"] = {"e", "en", "en", "e"}, ["n"] = {"es", "en", "en", "es"}, ["p"] = {"en", "en", "en", "en"}, }, } local cases = { "nom", "gen", "dat", "acc" } local genders = { "m", "f", "n", "p" } local states = { "str", "wk", "mix" } local comps = { "", "comp", "sup" } local adjective_slot_list_positive = { -- We generate the lemma into `the_lemma` because `lemma` is special-cased in M.iut.show_forms() -- to hold the lemma string. {"the_lemma", "-"}, } local adjective_slot_list_comparative = { } local adjective_slot_list_superlative = { } for _, comp in ipairs(comps) do local slot_list = comp == "" and adjective_slot_list_positive or comp == "comp" and adjective_slot_list_comparative or adjective_slot_list_superlative local compsup = comp ~= "" and comp .. "_" or "" for _, state in ipairs(states) do for _, gender in ipairs(genders) do local case_endings = endings[state][gender] for i, case in ipairs(cases) do local slot = compsup .. state .. "_" .. case .. "_" .. gender local comp_ending = comp == "comp" and "er" or comp == "sup" and "st" or "" local accel = "adj-form-" .. comp_ending .. case_endings[i] table.insert(slot_list, {slot, accel}) end end end table.insert(slot_list, {compsup .. "pred", "-"}) for _, gender in ipairs(genders) do table.insert(slot_list, {compsup .. "pred_" .. gender, "-"}) end end local adjective_slot_set = {} local all_adjective_slot_list = {} local function add_slots(slot_list) for _, slot_accel in ipairs(slot_list) do table.insert(all_adjective_slot_list, slot_accel) local slot, accel = unpack(slot_accel) if slot ~= "the_lemma" then adjective_slot_set[slot] = true end end end add_slots(adjective_slot_list_positive) add_slots(adjective_slot_list_comparative) add_slots(adjective_slot_list_superlative) local function add(base, slot, stem, ending, footnotes) if not ending or base.suppress and base.suppress[ending] then return end local function do_combine_stem_ending(stem, ending) return rsub(stem, OMITTED_E, "") .. ending end if ending == "en" and (base.props.sync_n or base.props.sync_mn or base.props.sync_mns) then ending = "n" elseif ending == "em" and (base.props.sync_mn or base.props.sync_mns) then ending = "m" elseif ending == "es" and base.props.sync_mns then ending = "s" end footnotes = M.iut.combine_footnotes(base.footnotes, footnotes) local ending_obj = M.iut.combine_form_and_footnotes(ending, footnotes) M.iut.add_forms(base.forms, slot, stem, ending_obj, do_combine_stem_ending) end local function decline(base, stem, compsup) for _, state in ipairs(states) do local prefix = compsup .. state .. "_" for _, gender in ipairs(genders) do for i, case in ipairs(cases) do add(base, prefix .. case .. "_" .. gender, stem, endings[state][gender][i]) end end end end local function parse_indicator_spec(angle_bracket_spec, lemma, pagename) if lemma == "" then lemma = pagename end local base = {forms = {}, stems = {}, overrides = {}, props = {}} base.orig_lemma = lemma base.orig_lemma_no_links = M.links.remove_links(lemma) base.lemma = base.orig_lemma_no_links local inside = rmatch(angle_bracket_spec, "^<(.*)>$") assert(inside) local function parse_err(msg) error(msg .. ": <" .. inside .. ">") end --[=[ Parse a single override spec and return two values: the slot the override applies to and the override specs. The input is a list where the footnotes have been separated out, i.e. parse_balanced_segment_run(..., "[", "]") has already been called. ]=] local function parse_override(segments) local part = segments[1] local slot, rest = rmatch(part, "^(.-):(.*)$") if not adjective_slot_set[slot] then parse_err("Unrecognized slot '" .. slot .. "' in override: '" .. table.concat(segments) .. "'") end segments[1] = rest return slot, M.com.fetch_specs(segments, ":", "override", nil, parse_err) end if inside ~= "" then local segments = M.put.parse_balanced_segment_run(inside, "[", "]") local dot_separated_groups = M.put.split_alternating_runs_and_strip_spaces(segments, "%.") for i, dot_separated_group in ipairs(dot_separated_groups) do local part = dot_separated_group[1] if part == "comp" then part = "comp:+" end if rfind(part, "^comp:") or rfind(part, "^sup:") or rfind(part, "^stem:") then local spectype, rest = rmatch(part, "^(.-):(.*)$") if base[spectype] then parse_err("Can't specify value for '" .. spectype .. "' twice") end dot_separated_group[1] = rest base[spectype] = M.com.fetch_specs(dot_separated_group, ":", spectype, nil, parse_err) elseif rfind(part, "^state:") then if #dot_separated_group > 1 then parse_err("Can't specify footnotes with 'state': '" .. table.concat(dot_separated_group) .. "'") end if base.state then parse_err("Can't specify value for 'state:' twice") end local state = rsub(part, "state:", "") if not M.table.contains(states, state) then parse_err("Unrecognized state '" .. state .. "', should be one of " .. table.concat(states, "/")) end base.state = state elseif rfind(part, "^suppress:") then if #dot_separated_group > 1 then parse_err("Can't specify footnotes with 'suppress': '" .. table.concat(dot_separated_group) .. "'") end if base.suppress then parse_err("Can't specify value for 'suppress:' twice") end part = rsub(part, "suppress:", "") local endings = rsplit(part, "%s*:%s*") local suppress = {} for _, ending in ipairs(endings) do if ending ~= "e" and ending ~= "em" and ending ~= "en" and ending ~= "er" and ending ~= "es" then parse_err("Unrecognized ending '" .. ending .. "' in suppress: spec: '" .. table.concat(dot_separated_group) .. "'") end suppress[ending] = true end base.suppress = suppress elseif part:find(":") then local slot, override = parse_override(dot_separated_group) if base.overrides[slot] then parse_err("Can't specify override twice for slot '" .. slot .. "'") else base.overrides[slot] = override end elseif part == "" then if #dot_separated_group == 1 then parse_err("Blank indicator") end base.footnotes = M.com.fetch_footnotes(dot_separated_group, parse_err) elseif #dot_separated_group > 1 then parse_err("Footnotes only allowed with slot overrides, comp:, sup:, stem: or by themselves: '" .. table.concat(dot_separated_group) .. "'") elseif part == "ss" or part == "indecl" or part == "predonly" or part == "sync_n" or part == "sync_mn" or part == "sync_mns" then if base.props[part] then parse_err("Can't specify '" .. part .. "' twice") end base.props[part] = true else parse_err("Unrecognized indicator '" .. part .. "'") end end end return base end local function generate_default_stem(base) if base.props.ss then return rsub(base.lemma, "ß$", "ss") end if base.lemma:find("e$") then return rsub(base.lemma, "e$", "") end return rsub(base.lemma, "([ai])bel$", "%1b" .. OMITTED_E .. "l") end local function generate_default_comp(base, stem) return stem .. "er" end local function generate_default_sup(base, stem) if rfind(stem, OMITTED_E .. "[lmnr]$") then -- If we omitted -e- in the stem, put it back. E.g. [[simpel]], stem ''simpl-'', comparative -- ''simpler'', superlative ''simpelst-'', or [[abgeschlossen]], comparative ''abgeschlossener'' or -- ''abgeschlossner'', superlative just ''abgeschlossenst-''. local non_ending, ending = rmatch(stem, "^(.*)" .. OMITTED_E .. "([lmnr])$") if base.props.ss then -- [[abgeschlossen]] -> ''abgeschloßner'' -> ''abgeschlossenst'' (pre-1996 spelling) non_ending = rsub(non_ending, "ß$", "ss") end return non_ending .. "e" .. ending .. "st" elseif rfind(stem, "gr[oö]ß$") or rfind(stem, "gr[oö]ss$") then -- Write this way so we can be called either on positive or comparative stem. return stem .. "t" elseif rfind(stem, "h[oö]h$") then -- [[hoch]], [[ranghoch]], etc. -- Write this way so we can be called either on positive or comparative stem. return rsub(stem, "..$", "öchst") elseif rfind(stem, "n[aä]h$") then -- [[nah]], [[äquatornah]], [[bahnhofsnah]], [[bodennah]], [[citynah]], [[hautnah]] (has no comp in dewikt), -- [[körpernah]], [[zeitnah]], etc. -- NOTE: [[erdnah]], [[praxisnah]] can be either regular (like [[froh]] below) or following [[nah]]. -- Write this way so we can be called either on positive or comparative stem. return rsub(stem, "..$", "ächst") elseif rfind(stem, "[aeiouäöü]h$") then -- [[froh]], [[farbenfroh]], [[lebensfroh]], [[schadenfroh]], [[früh]], [[jäh]] (has only jähest in dewikt), [[rauh]], -- [[roh]], [[weh]], [[zäh]] return {stem .. "st", stem .. "est"} elseif rfind(stem, "e[rl]?nd$") then -- Present participles; non-present-participles like [[elend]], [[behend]]/[[behende]], [[horrend]] need special-casing return stem .. "st" elseif rfind(stem, "[^wi]e[rl]?t$") then -- Most adjectives in -et, -elt, -ert (past participles specifically), but not adjectives in -iert, -ielt or -- non-past-participles in -wert; other non-past-participles like [[alert]], [[inert]], [[concret]], [[discret]], -- [[obsolet]] need special-casing return stem .. "st" elseif rfind(stem, "[^e]igt$") then -- Most adjectives in -igt (past participles specifically), but not adjectives in -eigt such as [[abgeneigt]]; -- exceptions like [[gewitzigt]], [[gerechtfertigt]] need special-casing return stem .. "st" elseif rfind(stem, "[ae][iuwy]$") then -- Those ending in diphthongs can take either -est -or -st (scheu, neu, schlau, frei, blau/blaw, etc.) return {stem .. "est", stem .. "st"} elseif rfind(stem, "[szxßdt]$") then if base.props.ss and rfind(stem, "ß$") then return rsub(stem, ".$", "ssest") end return stem .. "est" elseif rfind(stem, "sk$") then -- [[burlesk]], [[chevaleresk]], [[dantesk]], [[grotesk]], [[pittoresk]], [[pythonesk]]; also [[brüsk]], [[promisk]] return stem .. "est" elseif rfind(stem, "[^i]sch$") then -- Adjectives in -sch where it is not an adjective-forming ending typically can take either -est or -st; examples -- are [[barsch]], [[falsch]], [[fesch]], [[forsch]]/[[nassforsch]], [[frisch]]/[[taufrisch]], [[harsch]], -- [[keusch]]/[[unkeusch]], [[lasch]], [[morsch]], [[rasch]], [[wirsch]]/[[unwirsch]]; maybe [[krüsch]]/[[krütsch]]? -- (dewikt says sup. only ''krüschst'', Duden says only ''krüschest''); a few can take only -est per dewikt -- [[deutsch]]/[[süddeutsch]]/[[teutsch]], [[hübsch]], [[krosch]], [[resch]], [[rösch]] -- Cases where -sch without -isch occurs that is an adjective-forming ending need special-casing, e.g. -- [[figelinsch]] return {stem .. "est", stem .. "st"} else return stem .. "st" end end local function process_spec(base, destforms, slot, specs, base_stem, form_default) local function do_form_default(form) local retval = form_default(base, form) if type(retval) ~= "table" then retval = {retval} end return retval end specs = specs or {{form = "+"}} for _, spec in ipairs(specs) do local forms if spec.form == "-" then -- Skip "-"; effectively, no forms get inserted into output.comp. elseif spec.form == "+" then forms = M.iut.flatmap_forms(base_stem, do_form_default) elseif rfind(spec.form, "^%+") then local ending = rsub(spec.form, "^%+", "") forms = M.iut.map_forms(base_stem, function(form) return form .. ending end) elseif spec.form == "^" then forms = M.iut.flatmap_forms(base_stem, function(form) return do_form_default(M.com.apply_umlaut(form)) end) elseif rfind(spec.form, "^%^") then local ending = rsub(spec.form, "^%^", "") forms = M.iut.map_forms(base_stem, function(form) return M.com.apply_umlaut(form) .. ending end) elseif spec.form == "-e" then forms = M.iut.flatmap_forms(base_stem, function(form) local non_ending, ending = rmatch(form, "^(.*)e([lmnr])$") if not non_ending then error("Can't use '-e' with stem '" .. form .. "'; should end in -el, -em, -en or -er") end if base.props.ss then non_ending = rsub(non_ending, "ss$", "ß") end return do_form_default(non_ending .. OMITTED_E .. ending) end) else M.iut.insert_form(destforms, slot, spec) end if forms then forms = M.iut.convert_to_general_list_form(forms, spec.footnotes) M.iut.insert_forms(destforms, slot, forms) end end end local function detect_indicator_spec(alternant_multiword_spec, base) -- First generate the stem(s), substituting + with the default formed from the lemma. process_spec(base, base.stems, "stem", base.stem, {{form = generate_default_stem(base)}}, function(base, stem) return stem end) -- Next process the superative, if specified. We do this first so that if there is a superative and no -- comparative specified, we add a comparative; but if sup:- is given, we don't add a comparative. if base.sup then process_spec(base, base.stems, "sup", base.sup, base.stems.stem, generate_default_sup) if base.stems.sup and not base.comp then base.comp = {{form = "+"}} end end -- Next process the comparative, if specified (or defaulted because a superlative was specified). if base.comp then process_spec(base, base.stems, "comp", base.comp, base.stems.stem, generate_default_comp) end -- Next, if comparative specified but not superlative, derive the superlative(s) from the comparative(s). if base.stems.comp and not base.sup then local sups = M.iut.flatmap_forms(base.stems.comp, function(form) if not rfind(form, "er$") then error("Don't know how to derive superlative from comparative '" .. form .. "' because it doesn't end in -er; specify the superlative explicitly using sup:...") end local retval = generate_default_sup(base, rsub(form, "er$", "")) if type(retval) ~= "table" then retval = {retval} end return retval end) M.iut.insert_forms(base.stems, "sup", sups) end -- Make sure all alternants agree in having a comparative and/or superlative. for _, compsup in ipairs { {"comp", "has_comp", "comparative"}, {"sup", "has_sup", "superlative"} } do local stem, altprop, desc = unpack(compsup) local has_stem = not not base.stems[stem] if alternant_multiword_spec.props[altprop] == nil then alternant_multiword_spec.props[altprop] = has_stem elseif alternant_multiword_spec.props[altprop] ~= has_stem then error("If one alternant has a " .. desc .. ", all must") end end if base.props.predonly then base.props.indecl = true end if base.overrides.pred and base.overrides.pred[1].form == "-" then base.props.nopred = true end if base.props.predonly and base.props.nopred then error("Can't be both 'predonly' and 'pred:-'") end -- Make sure all alternants agree in 'state' if specified. local stateval = base.state or false if alternant_multiword_spec.state == nil then alternant_multiword_spec.state = stateval elseif alternant_multiword_spec.state ~= stateval then error("All alternants must agree in the value of 'state', if specified") end -- Make sure all alternants agree in various properties. for _, propdesc in ipairs { {"indecl"}, {"nopred", "pred:-"}, {"predonly"} } do local prop, desc = unpack(propdesc) desc = desc or prop local val = not not base.props[prop] if alternant_multiword_spec.props[prop] == nil then alternant_multiword_spec.props[prop] = val elseif alternant_multiword_spec.props[prop] ~= val then error("If one alternant specifies '" .. desc .. "', all must") end end end local function detect_all_indicator_specs(alternant_multiword_spec) M.iut.map_word_specs(alternant_multiword_spec, function(base) detect_indicator_spec(alternant_multiword_spec, base) end) end local function process_slot_overrides(base) for slot, overrides in pairs(base.overrides) do local origforms = base.forms[slot] base.forms[slot] = nil process_spec(base, base.forms, slot, overrides, origforms, function(base, form) return form end) end end local function decline_adjective(base) decline(base, base.stems.stem, "") if base.stems.comp then decline(base, base.stems.comp, "comp_") end if base.stems.sup then decline(base, base.stems.sup, "sup_") end add(base, "the_lemma", base.orig_lemma, "") add(base, "pred", base.lemma, "") if base.stems.comp and not base.props.nopred then add(base, "comp_pred", base.stems.comp, "") end if base.stems.sup and not base.props.nopred then add(base, "sup_pred", M.iut.map_forms(base.stems.sup, function(form) if not rfind(form, "[%[%]]") then form = "[[" .. form .. "en]]" elseif rfind(form, "%]%]$") then form = rsub(form, "%]%]$", "en]]") else form = form .. "en" end return "[[am]] " .. form end), "") end process_slot_overrides(base) end -- Compute the categories to add the adjective to, as well as the annotation to display in the -- declension title bar. We combine the code to do these functions as both categories and -- title bar contain similar information. local function compute_categories_and_annotation(alternant_multiword_spec) alternant_multiword_spec.categories = {} local function insert(cattype) cattype = rsub(cattype, "~", alternant_multiword_spec.pos) M.table.insertIfNot(alternant_multiword_spec.categories, "德語" .. cattype) end local annotation local annparts = {} if not alternant_multiword_spec.props.has_comp then table.insert(annparts, "無比較級") insert("無比較級~") end if not alternant_multiword_spec.forms.pred then table.insert(annparts, "無謂語") insert("無謂語~") end alternant_multiword_spec.annotation = table.concat(annparts, ", ") end local function show_forms(alternant_multiword_spec) local lemmas = alternant_multiword_spec.forms.the_lemma or {} local function generate_link(data) local slot = data.slot local link = M.links.full_link { lang = M.lang, term = data.form.formval_for_link, tr = "-", accel = data.form.accel_obj } local footnote_text = M.iut.get_footnote_text(data.form.footnotes, data.footnote_obj) link = link .. footnote_text if rfind(slot, "pred_m$") then return link_term("[[er]] [[ist]]") .. " " .. link elseif rfind(slot, "pred_f$") then return link_term("[[sie]] [[ist]]") .. " " .. link elseif rfind(slot, "pred_n$") then return link_term("[[es]] [[ist]]") .. " " .. link elseif rfind(slot, "pred_p$") then return link_term("[[sie]] [[sind]]") .. " " .. link elseif rfind(slot, "wk_") then local case, gender = rmatch(slot, ".*wk_(.*)_([mfnp])$") return link_term(M.com.articles[gender]["def_" .. case]) .. " " .. link elseif rfind(slot, "mix_") then local case, gender = rmatch(slot, ".*mix_(.*)_([mfnp])$") return link_term(M.com.articles[gender]["ind_" .. case]) .. " " .. link else return link end end local function join_spans(data) return table.concat(data.formval_spans, "<br />") end local function copy_predicate_forms(compsup) for _, gender in ipairs(genders) do alternant_multiword_spec.forms[compsup .. "pred_" .. gender] = alternant_multiword_spec.forms[compsup .. "pred"] end end copy_predicate_forms("") copy_predicate_forms("comp_") copy_predicate_forms("sup_") local props = { lang = M.lang, lemmas = lemmas, generate_link = generate_link, join_spans = join_spans, } props.slot_list = adjective_slot_list_positive M.iut.show_forms(alternant_multiword_spec.forms, props) alternant_multiword_spec.footnote_positive = alternant_multiword_spec.forms.footnote if alternant_multiword_spec.props.has_comp then props.slot_list = adjective_slot_list_comparative M.iut.show_forms(alternant_multiword_spec.forms, props) alternant_multiword_spec.footnote_comparative = alternant_multiword_spec.forms.footnote end if alternant_multiword_spec.props.has_sup then props.slot_list = adjective_slot_list_superlative M.iut.show_forms(alternant_multiword_spec.forms, props) alternant_multiword_spec.footnote_superlative = alternant_multiword_spec.forms.footnote end end local single_state_table_spec = [=[ ! 主格 | {COMPSUPSTATE_nom_m} | {COMPSUPSTATE_nom_f} | {COMPSUPSTATE_nom_n} | {COMPSUPSTATE_nom_p} |- data-wikt-palette-p="PALETTE" ! 屬格 | {COMPSUPSTATE_gen_m} | {COMPSUPSTATE_gen_f} | {COMPSUPSTATE_gen_n} | {COMPSUPSTATE_gen_p} |- data-wikt-palette-p="PALETTE" ! 與格 | {COMPSUPSTATE_dat_m} | {COMPSUPSTATE_dat_f} | {COMPSUPSTATE_dat_n} | {COMPSUPSTATE_dat_p} |- data-wikt-palette-p="PALETTE" ! 賓格 | {COMPSUPSTATE_acc_m} | {COMPSUPSTATE_acc_f} | {COMPSUPSTATE_acc_n} | {COMPSUPSTATE_acc_p} ]=] local function state_rows(state, palette) return rsub(rsub(single_state_table_spec, "PALETTE", palette), "STATE", state) end local function make_table(alternant_multiword_spec) if alternant_multiword_spec.props.indecl then if alternant_multiword_spec.props.predonly then return "無詞形變化,僅表語。" elseif alternant_multiword_spec.props.nopred then return "無詞形變化,無表語形式。" else return "無詞形變化。" end end local forms = alternant_multiword_spec.forms local table_spec = (alternant_multiword_spec.state and -- Single-state table ([=[ ! rowspan="2" class="outer" | 數和性 ! colspan="3" class="outer" | 單數 ! rowspan="2" class="outer" | 複數 |- ! class="outer" | 陽性 ! class="outer" | 陰性 ! class="outer" | 中性 |- data-wikt-palette-p="indigo" ]=] .. state_rows(alternant_multiword_spec.state, "indigo")) or not alternant_multiword_spec.args.truncate and -- Normal (non-truncated) table ([=[ ! colspan="2" rowspan="2" class="outer" | 數和性 ! colspan="3" class="outer" | 單數 ! rowspan="2" class="outer" | 複數 |- ! class="outer" | 陽性 ! class="outer" | 陰性 ! class="outer" | 中性 |- data-wikt-palette-p="yellow" ! colspan="2" class="outer" | 表語 | {COMPSUPpred_m} | {COMPSUPpred_f} | {COMPSUPpred_n} | {COMPSUPpred_p} |- data-wikt-palette-p="blue" ! rowspan="4" class="outer" | 強變化<br/>(無冠詞) ]=] .. state_rows("str", "blue") .. [=[ |- data-wikt-palette-p="green" ! rowspan="4" class="outer" | 弱變化<br/>(帶定冠詞) ]=] .. state_rows("wk", "green") .. [=[ |- data-wikt-palette-p="orange" ! rowspan="4" class="outer" | 混合變化<br/>(帶不定冠詞) ]=] .. state_rows("mix", "orange")) or -- Truncated table, for the documentation page where otherwise we'd hit the template expand limit [=[ ! colspan="2" rowspan="2" class="outer" | 數和性 ! colspan="3" class="outer" | 單數 ! rowspan="2" class="outer" | 複數 |- ! class="outer" | 陽性 ! class="outer" | 陰性 ! class="outer" | 中性 |- data-wikt-palette-p="yellow" ! colspan="2" class="outer" | 表語 | {COMPSUPpred_m} | {COMPSUPpred_f} | {COMPSUPpred_n} | {COMPSUPpred_p} |- data-wikt-palette-p="blue" ! rowspan="2" class="outer" | 強變化<br/>(無冠詞) ! 主格 | {COMPSUPstr_nom_m} | {COMPSUPstr_nom_f} | {COMPSUPstr_nom_n} | {COMPSUPstr_nom_p} |- data-wikt-palette-p="blue" ! ... | colspan="4" | ... |- data-wikt-palette-p="green" ! rowspan="2" class="outer" | 弱變化<br/>(帶定冠詞) ! 主格 | {COMPSUPwk_nom_m} | {COMPSUPwk_nom_f} | {COMPSUPwk_nom_n} | {COMPSUPwk_nom_p} |- data-wikt-palette-p="green" ! ... | colspan="4" | ... |- data-wikt-palette-p="orange" ! rowspan="2" class="outer" | 混合變化<br/>(帶不定冠詞) ! 主格 | {COMPSUPmix_nom_m} | {COMPSUPmix_nom_f} | {COMPSUPmix_nom_n} | {COMPSUPmix_nom_p} |- data-wikt-palette-p="orange" ! ... | colspan="4" | ... ]=]) local ital_lemma = '<i lang="de" class="Latn">' .. forms.lemma .. "</i>" local annotation = alternant_multiword_spec.annotation if annotation ~= "" then annotation = " (<span style=\"font-size: smaller;\">" .. annotation .. "</span>)" end local function format_degree(compsup, title, footnote) forms.footnote = footnote return M.string_utilities.format(M.inflection_table.make_top { lang = "de", title = ital_lemma .. " 的" .. title .. annotation, -- l10n: word order tall = "yes", } .. rsub(table_spec, "COMPSUP", compsup) .. M.inflection_table.make_bottom { notes = footnote ~= "" and "{footnote}" or nil, }, forms) end local degrees = {format_degree("", "原級", alternant_multiword_spec.footnote_positive)} if alternant_multiword_spec.props.has_comp then table.insert(degrees, format_degree("comp_", "比較級", alternant_multiword_spec.footnote_comparative)) end if alternant_multiword_spec.props.has_sup then table.insert(degrees, format_degree("sup_", "最高級", alternant_multiword_spec.footnote_superlative)) end if #degrees == 1 then return degrees[1] end return M.inflection_table.make_box({ title = "-", flow = "vertical", }, "\n" .. table.concat(degrees, "\n") .. "\n") end local boolean_param = {type = "boolean"} -- Externally callable function to parse and decline a noun given user-specified arguments. -- Return value is ALTERNANT_MULTIWORD_SPEC, an object where the declined forms are in `ALTERNANT_MULTIWORD_SPEC.forms` -- for each slot. If there are no values for a slot, the slot key will be missing. The value for a given slot is a -- list of objects {form=FORM, footnotes=FOOTNOTES}. function export.do_generate_forms(parent_args, pos, from_headword, def) local params = { [1] = true, pagename = true, -- If truncate=1 is specified, truncate the tables to reduce the template expansion size, -- for use on documentation and test pages. truncate = boolean_param, json = boolean_param, -- for bot use } if from_headword or pretend_from_headword then params["head"] = {list = true} params["id"] = true params["sort"] = true params["splithyph"] = boolean_param params["nolinkhead"] = boolean_param params["new"] = boolean_param end local args = M.parameters.process(parent_args, params) local pagename = args.pagename or M.headword_data.pagename if not args[1] then if pagename == "De-adecl" then -- l10n: page titles begin with a capital letter on this wiki args[1] = def or "lang<comp:^>" else args[1] = "" end end local arg1 = M.com.add_angle_brackets(args[1]) local function do_parse_indicator_spec(angle_bracket_spec, lemma) return parse_indicator_spec(angle_bracket_spec, lemma, pagename) end local parse_props = { parse_indicator_spec = do_parse_indicator_spec, allow_default_indicator = true, allow_blank_lemma = true, } local alternant_multiword_spec = M.iut.parse_inflected_text(arg1, parse_props) alternant_multiword_spec.pos = pos or "形容詞" alternant_multiword_spec.args = args alternant_multiword_spec.forms = {} alternant_multiword_spec.props = {} detect_all_indicator_specs(alternant_multiword_spec) local inflect_props = { lang = M.lang, skip_slot = function(slot) return false end, slot_list = all_adjective_slot_list, inflect_word_spec = decline_adjective, } M.iut.inflect_multiword_or_alternant_multiword_spec(alternant_multiword_spec, inflect_props) compute_categories_and_annotation(alternant_multiword_spec) if args.json then return M.JSON.toJSON(alternant_multiword_spec) end return alternant_multiword_spec end -- Entry point for {{de-adecl}}. Template-callable function to parse and decline -- an adjective given user-specified arguments and generate a displayable table -- of the declined forms. function export.show(frame) local parent_args = frame:getParent().args local alternant_multiword_spec = export.do_generate_forms(parent_args) if type(alternant_multiword_spec) == "string" then -- json=1 specified return alternant_multiword_spec end show_forms(alternant_multiword_spec) return make_table(alternant_multiword_spec) .. M.utilities.format_categories( alternant_multiword_spec.categories, M.lang) end return export 9gmdanxo5gms9oprrsuyvbdxbloko54 User:Sayonzei/Kotori 2 2129326 9938561 9938060 2026-10-05T09:26:39Z Sayonzei 40728 9938561 wikitext text/x-wiki 精製鳥飼料:[[User:KotoriBot]] ==列表== ===法語=== *一個-er結尾的第一類法語動詞(連同本體)理論上可產出'''40'''個新詞條。<br> :{{col3|fr|}}<!--明日: ;需自行創建 :{{col3|fr|retransmigrer|redésentrelacer|retransfigurer|réobséder|désobséder|désamocher|réamocher|rebuissonner|débuissonner|recolmater|décolmater|désaffréter|redélester|réindividuer|recharrier|recémenter|décémenter|réabsolutiser|désabsolutiser|désacadémiser|désaccastiller|réaccompagner|désaccompagner|réagrémenter|désagrémenter|désalambiquer|désanalphabétiser|désanathématiser|réapostropher|réajourner|désajourner|redétremper|redogmatiser|dédogmatiser|réextirper|réintituler|resolutionner|resouscrire|resulfater|désulfater|réagenouiller|désagenouiller|débouillir|désaccomplir|réaccomplir|réaccoutrer|hâbler}}--> ===加泰=== *一個-ar結尾的普通加泰羅尼亞語動詞(連同本體)理論上可產出'''44'''個新詞條。<br> :{{col3|ca|}} ===葡加利=== *一個-ar結尾的普通葡萄牙語動詞(連同本體)理論上可產出'''53'''個新詞條。<br> :{{col3|pt|}}<!--明日:--> ===西=== *一個-ar結尾的普通西班牙語動詞(連同本體、不含合詞)理論上可產出'''58'''個新詞條。<br> :{{col3|es|}}<!--明日: ;需自行創建 :{{col3|es|}}--> ===德語=== :{{col3|de|}} ===拉丁語=== :{{col3|la|}}<!--明日:--> :{{col3|la|}}<!--明日:--> ===意大利語=== :{{col3|it|nebulizzare|negreggiare|nereggiare|neologizzare|nichelare|niellare|ninfeggiare}}<!--明日:--> ===俄語=== :{{col3|ru|}} :{{col3|ru|}} iddu8i9r67o50eibylhxnsvv2yxddif 易子而食 0 2535278 9938457 8391181 2026-10-04T23:12:04Z Fglffer 55252 9938457 wikitext text/x-wiki ==漢語== {{zh-forms}} ===詞源=== 來自《左傳.宣公十五年》: : {{zh-x|敝邑 易子而食,析骸以爨。|在我的城邦,人們'''交換小孩煮食充飢''',分解骸骨來燒火做飯。|ref=Zuozhuan|collapsed=y}} ===發音=== {{zh-pron |m=yìzǐ'érshí |c=jik6 zi2 ji4 sik6 |cat=cy }} ===成語=== {{head|zh|成語}} # 形容[[天災人禍]]時,極[[飢餓]]的[[慘況]] {{cln|zh|來自《左傳》的成語}} awgvlnba0trbjsves0ihkwewwfon2w1 Template:De-ndecl/doc 10 3178006 9938448 9387692 2026-10-04T18:19:56Z TongcyDai 53191 補上 pagename=、json= 參數的說明 9938448 wikitext text/x-wiki {{documentation subpage}} {{uses lua|Module:de-noun}} ==介紹== 這個模板應該用來變格所有德語名詞和專有名詞,優先於任何其他可能仍然存在的舊模板。(最終這些舊模板都會被淘汰。) ===陽性和中性名詞=== 通常向模板提供一個參數,用來指定性別,可選擇性地指定屬格單數和/或複數。例如,對於名詞 {{m|de|Alarm}},使用: {{temp|de-ndecl|m,s,e}} 會產生 {{de-ndecl|m,s,e|pagename=Alarm}} 這裡,<code>m</code> 指定性別,<code>s</code> 指定屬格單數詞尾,<code>e</code> 指定複數詞尾。注意該模組足夠智能,會自動在與格複數後加上 ''-n''。 對於屬格單數和複數提供了合理的預設值。在這個例子中,包括 {{m|de|Alarm}} 在內的大多數名詞的預設屬格單數加上 ''-s'',預設複數加上 ''-e'',所以屬格單數和複數都可以省略: {{temp|de-ndecl|m}} 這會產生與上面相同的結果。 如果某個詞尾有多種可能,用冒號分隔各種可能,如 {{m|de|Fisch||魚}}: {{temp|de-ndecl|m,es:s,e}} 會產生 {{de-ndecl|m,es:s,e|pagename=Fisch}} 由於屬格單數使用 ''-es'' 或 ''-s'' 非常常見,提供了簡寫 <code>(e)s</code>。連同預設複數,上面的例子可以等價地寫成: {{temp|de-ndecl|m,(e)s}} 其他這樣的簡寫還有 <code>(s)</code>(''-s'' 或無詞尾)和 <code>(es)</code>(''-es'' 或無詞尾)。 使用 <code>-</code> 來指定空詞尾,例如對於 {{m|de|Mädchen||女孩}},複數 ''Mädchen'': {{temp|de-ndecl|n,s,-}} 會產生 {{de-ndecl|n,s,-|pagename=Mädchen}} ===陰性名詞=== 陰性名詞通常在屬格單數中有空詞尾。因此,陰性名詞的語法省略屬格單數,僅指定複數,如 {{m|de|Ordnung||排列、次序、等級}},複數 ''Ordnungen'': {{temp|de-ndecl|f,en}} 會產生 {{de-ndecl|f,en|pagename=Ordnung}} 陰性名詞預設為複數 ''-en''(或在 ''e'' 後僅為 ''-n''),所以這可以等價地寫成: {{temp|de-ndecl|f}} ===變音=== 要包含變音,在詞尾前加上 <code>^</code>。例如,對於 {{m|de|Haus||房子}},複數 ''Häuser'',使用以下寫法: {{temp|de-ndecl|n,es,^er}} 會產生 {{de-ndecl|n,es,^er|pagename=Haus}} 該模組知道變音的正確規則,例如 {{m|de|Apfel||蘋果}} 在複數中變音為 ''Äpfel'': {{temp|de-ndecl|m,s,^}} 會產生 {{de-ndecl|m,s,^|pagename=Apfel}} 由於 ''-s'' 在大多數情況下是預設的屬格詞尾,這可以等價地寫成: {{temp|de-ndecl|m,,^}} ===弱變化名詞=== 性別、屬格單數和複數之外的其他修飾符稱為''指示符''。這些在句號(<code>.</code>)後指定。一個常見的指示符是 <code>weak</code>,表示弱變化名詞,例如 {{m|de|Präsident||總統}}: {{temp|de-ndecl|m.weak}} 會產生 {{de-ndecl|m.weak|pagename=Präsident}} 代碼會自動在名詞以 ''-e'' 結尾時用 ''-n'' 代替 ''-en''。但是,如果名詞在輔音後用 ''-n'' 代替 ''-en'',如 {{m|de|Herr}}、{{m|de|Nachbar}}、{{m|de|Satyr}} 及其複合詞,使用 <code>weak_n</code>。例如,{{m|de|Nachbar}} 的一種變格可以這樣表示: {{temp|de-ndecl|m.weak_n}} 會產生 {{de-ndecl|m.weak_n|pagename=Nachbar}} 如果名詞在單數中用 ''-n'' 但在複數中用 ''-en'',這是 {{m|de|Herr}} 及其複合詞的典型情況,明確指定複數,如下所示: {{temp|de-ndecl|m,,en.weak_n}} 會產生 {{de-ndecl|m,,en.weak_n|pagename=Herr}} 對於有多種可能變格的名詞,例如弱變化或強變化,使用[[#變體|變體]]記號,如下所述。例如,{{m|de|Diakon||執事,助祭}} 可以強變化或弱變化,可以這樣表示: {{temp|de-ndecl|((<m>,<m.weak>))}} 會產生 {{de-ndecl|((<m>,<m.weak>))|pagename=Diakon}} 這裡的一般語法是用角括號圍繞每個變格,用逗號分隔它們,並在整個內容外面加上雙重括號。可以有兩個以上的變體;例如對於 {{m|de|Satyr}},它可以是強變化、屬格為 ''-n'' 的弱變化或屬格為 ''-en'' 的弱變化,使用以下寫法: {{temp|de-ndecl|((<m,s,n>,<m.weak_n>,<m,,n.weak>))}} 會產生 {{de-ndecl|((<m,s,n>,<m.weak_n>,<m,,n.weak>))|pagename=Satyr}} 在這種情況下,複數總是 ''-n'',所以預設會產生其他複數的變體必須明確給出複數。 ===其他指示符=== 除了 <code>weak</code> 和 <code>weak_n</code>,其他支援的指示符如下: * <code>sg</code>:僅單數 * <code>article</code>:表示該詞通常與定冠詞一起使用 * <code>nodatpln</code>:在通常會加上的情況下不要在與格複數後加 ''-n'' * <code>ss</code>:在以母音開頭的詞尾前將 ''-ß'' 改為 ''-ss''(在 1996 年前的拼寫中常見) * <code>dat_with_e</code>:即使不存在帶有 ''-e-'' 的屬格,也包含帶腳註的 ''-e'' 與格變體;見下文 例子: 1. <code>sg</code> 用於僅單數,例如 {{m|de|Butter||奶油,黃油}}: {{temp|de-ndecl|f.sg}} 會產生 {{de-ndecl|f.sg|pagename=Butter}} 2. <code>article</code> 用於通常與定冠詞一起使用的名詞,例如 {{m|de|Sternenmeer||繁星點點的夜空 {{qual|詩歌語}}}}: {{temp|de-ndecl|n,s:es.sg.article}} 會產生 {{de-ndecl|n,s:es.sg.article|pagename=Sternenmeer}} 這個指示符在詞頭模板 {{temp|de-noun}} 中特別有用,例如: {{temp|de-noun|n,s:es.sg.article}} 會產生 {{de-noun|n,s:es.sg.article|pagename=Sternenmeer}} 3. <code>nodatpln</code> 用於抑制在最後的 ''-e''、''-er'' 或 ''-el'' 後與格複數的最後 ''-n'',例如 {{m|de|Retina||視網膜}}: {{temp|de-ndecl|f,e.nodatpln}} 會產生 {{de-ndecl|f,e.nodatpln|pagename=Retina}} 4. <code>ss</code> 表示最後的 ''-ß'' 在以母音開頭的詞尾前變為 ''-ss''(用於 1996 年前的拼寫),例如 {{m|de|Schluß||結束,結論}}(已廢棄的拼寫): {{temp|de-ndecl|m,es,^e.ss}} 會產生 {{de-ndecl|m,es,^e.ss|pagename=Schluß}} 5. <code>dat_with_e</code> 用於明確包含帶腳註的 ''-e'' 與格變體,即使不存在帶有 ''-e-'' 的屬格,例如對於 {{m|de|Admiral||海軍上將}}: {{temp|de-ndecl|m,,e:^e.dat_with_e}} 會產生 {{de-ndecl|m,,e:^e.dat_with_e|pagename=Admiral}} 注意,預設情況下,當屬格形式包含 ''-e-''(屬格指定為 <code>es</code>、<code>(e)s</code> 或 <code>ses</code>)時,會出現 ''-e'' 變體及相關腳註。要抑制其出現,如在新造詞中,使用覆寫 <code>dat:-</code>(見下面的[[#覆寫|覆寫]])。 ===不規則屬格和複數=== 如果屬格或複數相當不規則,無法使用詞尾和/或使用 <code>^</code> 表示變音來指定。在這些情況下,指定完整形式,例如對於 {{m|de|Vakuum||真空}},複數 ''Vakua'' 或 ''Vakuen'': {{temp|de-ndecl|m,s,Vakua:Vakuen}} 會產生 {{de-ndecl|m,s,Vakua:Vakuen|pagename=Vakuum}} 注意以 ''-um'' 結尾的中性名詞的預設複數將 ''-um'' 變為 ''-en''(見下文),所以以下寫法等價有效: {{temp|de-ndecl|m,s,Vakua:+}} 這裡,<code>+</code> 明確請求預設值。 完整形式通過以大寫字母開頭來識別。在少數情況下必須給出完整形式且以小寫字母開頭時,在完整形式前加上 <code>!</code>。例如,對於 {{m|de|deus ex machina}}({{m|de|Deus ex Machina}} 的另一種字母大小寫形式),使用: {{temp|de-ndecl|m,-,!dei ex machina}} 會產生 {{de-ndecl|m,-,!dei ex machina|pagename=deus ex machina}} ===角括號記號=== 有一種可選的記號,明確指定詞條及其變格。例如對於 {{m|de|Haus}},可以使用以下寫法: {{temp|de-ndecl|Haus<n,es,^er>}} 由於這裡的詞條與角括號附加的詞條相同,可以省略: {{temp|de-ndecl|<n,es,^er>}} 兩種記號都等價於以下寫法: {{temp|de-ndecl|n,es,^er}} 對於單詞詞條,通常不需要角括號,但在[[#多詞表達式|多詞表達式]]和[[#變體|變體]]中它們變得必要;見下文。 ===預設屬格和複數演算法=== 以下演算法產生預設屬格單數: # 如果名詞是陰性,使用空詞尾。 # 否則,如果名詞是弱變化,在 ''-e'' 後使用 ''-n'',在輔音 + ''-in'' 後使用 ''-nen'',否則使用 ''-en''。 # 否則,如果名詞以 ''-nis'' 結尾(中性如 {{m|de|Erlebnis}}、{{m|de|Geheimnis}} 等,或偶爾陽性如 {{m|de|Firnis}}),使用 ''-ses''。 # 否則,如果名詞以輔音 + ''-us'' 結尾,使用空詞尾,如 {{m|de|Euphemismus}}、{{m|de|Exitus}}、{{m|de|Exodus}} 等。 # 否則,如果名詞以 ''s/ß/x/z'' 結尾,使用 ''-es''。 # 否則,使用 ''-s''。 以下演算法產生預設複數: # 如果名詞以 ''-nis'' 結尾(中性如 {{m|de|Erlebnis}} 或 {{m|de|Geheimnis}},陰性如 {{m|de|Kenntnis}} 或 {{m|de|Wildnis}},或偶爾陽性如 {{m|de|Firnis}}),使用 ''-se''。 # 否則,如果名詞是陰性或弱變化,在 ''-e'' 後使用 ''-n'',在輔音 + ''-in'' 後使用 ''-nen'',否則使用 ''-en''。 # 否則,如果名詞以 ''-e'' 結尾,使用 ''-n''。 # 否則,如果名詞是中性且以 ''-lein'' 結尾,使用空詞尾。 # 否則,如果名詞是中性且以 ''-um'' 結尾(例如 {{m|de|Museum}} 或 {{m|de|Vakuum}}),將 ''-um'' 替換為 ''-en''。 # 否則,如果名詞以 ''-mus'' 結尾(例如 {{m|de|Algorithmus}} 或 {{m|de|Aphorismus}}),將 ''-mus'' 替換為 ''-men''。 # 否則,如果名詞以輔音 + ''-us'' 結尾(例如 {{m|de|Abakus}}、{{m|de|Zirkus}}、{{m|de|Autobus}}),使用 ''-se''。 # 否則,如果名詞以 ''-el''、''-em''、''-en'' 或 ''-er'' 結尾(例如 {{m|de|Adler}}、{{m|de|Meier}}、{{m|de|Riedel}}),使用空詞尾。(但這不適用於輔音 + ''-eer/-ier''、''-eel/-iel'' 等結尾的名詞,如 {{m|de|Heer}}、{{m|de|Bier}}、{{m|de|Ziel}},它們預設為下面的 ''-e''。) # 否則,使用 ''-e''。 ===多性別名詞=== 如果名詞有多個可能的性別,用冒號分隔性別,例如 {{m|de|Abszess||膿腫,潰瘍}}: {{temp|de-ndecl|m:n}} 會產生 {{de-ndecl|m:n|pagename=Abszess}} 您也可以在給定性別後的方括號中放置腳註/限定語。例如,{{m|de|Abszess}} 主要在奧地利是中性;要註明這一點,使用以下寫法: {{temp|de-ndecl|m:n[主要用於奧地利]}} 性別限定語不會出現在變格表中,但會出現在詞頭中,這樣指定: {{temp|de-noun|m:n[主要用於奧地利]}} 會產生 {{de-noun|m:n[主要用於奧地利]|pagename=Abszess}} ===唯複名詞=== 要指定唯複名詞,使用 <code>p</code> 代替性別,例如對於 {{m|de|Achtzigerjahre||八十年代}}: {{temp|de-ndecl|p}} 會產生 {{de-ndecl|p|pagename=Achtzigerjahre}} 唯複名詞不能指定屬格或複數形式,否則會導致錯誤。 ===腳註=== 腳註可以通過在給定形式後的方括號中放置文字來表示。例如,{{m|de|Geschlecht||性別,類型}} 有現代複數 ''Geschlechter'' 以及過時複數 ''Geschlechte''。要表示這一點,使用以下寫法: {{temp|de-ndecl|n,s:es,er:e[棄用]}} 會產生 {{de-ndecl|n,s:es,er:e[棄用]|pagename=Geschlecht}} 這樣的腳註在詞頭中顯示為限定語: {{de-noun|n,s:es,er:e[棄用]|pagename=Geschlecht}} 您也可以為個別性別、覆寫或整個變格加腳註。例如,{{m|de|Hanf}} 通常是陽性但很少是中性。這樣表示: <code><nowiki>{{de-ndecl|m:n[罕用],(e)s.sg}}</nowiki></code> 會產生 {{de-ndecl|m:n[罕用],(e)s.sg|pagename=Hanf}} 腳註在詞頭中顯示為限定語: {{de-noun|m:n[罕用],(e)s.sg|pagename=Hanf}} 要為整個變格加腳註,將腳註放在句號後的方括號中。例子見下面的[[#變體|變體]]。 ===覆寫=== 您可以使用形式 <code>SLOT:VALUE:VALUE:...</code> 覆寫特定的格/數組合,其中 <code>SLOT</code> 指定要覆寫的特定位置,例如 <code>acc</code> 表示賓格單數,<code>datpl</code> 表示與格複數。例如,對於名詞 {{m|de|Häusle||房子 {{qual|指小詞}}}},其複數是 ''Häusle'',與格複數可以是 ''Häuslen'' 或 ''Häusle'',使用以下寫法: {{temp|de-ndecl|n,-:s,-.datpl:n:-}} 會產生 {{de-ndecl|n,-:s,-.datpl:n:-|pagename=Häusle}} 覆寫的另一個用途是為陰性名詞指定不同的屬格。一個例子是 {{m|de|Quinquagesima||[[五旬節日]]}},它有另一個拉丁語屬格單數 ''Quinquagesimä'',主要在沒有冠詞時使用。這樣指定: {{temp|de-ndecl|f.gen:-:Quinquagesimä[特別於無冠詞時使用].sg}} 會產生 {{de-ndecl|f.gen:-:Quinquagesimä[特別於無冠詞時使用].sg|pagename=Quinquagesima}} 這裡,我們在方括號中指定腳註,如上面[[#腳註|腳註]]部分所述。關於在覆寫中使用腳註的另一個例子,見下面 {{m|de|Spätzle}} 的變格[[#缺陷形式|下文]]。 已識別的位置名稱如下: {|class="wikitable" ! 格 !! 單數位置 !! 複數位置 |- | 主格 || <code>nom</code> || <code>nompl</code> |- | 屬格 || <code>gen</code> || <code>genpl</code> |- | 賓格 || <code>acc</code> || <code>accpl</code> |- | 與格 || <code>dat</code> || <code>datpl</code> |- | 奪格 || <code>abl</code> || — |- | 呼格 || <code>voc</code> || — |} 奪格和呼格僅用於某些具有特殊拉丁語變格的詞條,例如 {{m|de|Jesus Christus||耶穌基督}}。 ===缺陷形式=== 如果某個形式完全缺失,使用 <code>--</code> 來表示。一個例子是 {{m|de|Spätzle||德國麵疙瘩}},它缺少屬格單數。這樣表示: {{temp|de-ndecl|n,--,-.datpl:-:n[不常見]}} 會產生 {{de-ndecl|n,--,-.datpl:-:n[不常見]|pagename=Spätzle}} 在詞頭中使用時,顯示如下: {{de-noun|n,--,-.datpl:-:n[不常見]|pagename=Spätzle}} 但是,對於沒有複數形式的名詞,應該使用 <code>.sg</code> 而不是 <code>--</code>。 ===嵌入的逗號和句號=== 如果您需要包含含有嵌入逗號或句號的形式,在逗號或句號前加反斜槓。例如,對於 {{m|de|Vf.}}({{m|de|Verfasser||作者}} 的縮寫),複數為 ''Vf.'' 或 ''Vff.'',使用以下寫法: {{temp|de-ndecl|m,-,-:Vff\.}} 會產生 {{de-ndecl|m,-,-:Vff\.|pagename=Vf.}} ===多詞表達式=== 要變格多詞表達式,在 {{para|1}} 中包含表達式的文字,並在每個詞後放置被角括號圍繞的該詞的規格。例如,對於 {{m|de|Gesellschaft mit beschränkter Haftung||有限責任公司}}: <code><nowiki>{{de-ndecl|[[Gesellschaft]]<f> [[mit]] [[beschränkt|beschränkter]] [[Haftung]]}}</nowiki></code> 會產生 {{de-ndecl|[[Gesellschaft]]<f> [[mit]] [[beschränkt|beschränkter]] [[Haftung]]}} 另一個例子,對於 {{m|de|Jäger und Sammler||狩獵採集者}}: <code><nowiki>{{de-ndecl|[[Jäger]]<m> [[und]] [[Sammler]]<m>}}</nowiki></code> 會產生 {{de-ndecl|[[Jäger]]<m> [[und]] [[Sammler]]<m>}} 不必用方括號圍繞每個詞,但在 {{temp|de-noun}} 中使用時,它確保詞在詞頭中被單獨連結。 任意規格可以包含在角括號內,例如對於 {{m|de|Mittelwort der Gegenwart||現在分詞}}: <code><nowiki>{{de-ndecl|[[Mittelwort]]<n,(e)s,^er> [[der]] [[Gegenwart]]}}</nowiki></code> 會產生 {{de-ndecl|[[Mittelwort]]<n,(e)s,^er> [[der]] [[Gegenwart]]}} 對於僅單數名詞,在角括號內包含指示符 <code>.sg</code>,如對於 {{m|de|Kreuz des Südens||[[南十字星]]}}: <code><nowiki>{{de-ndecl|[[Kreuz]]<n.sg> [[des]] [[Süden]]s}}</nowiki></code> 會產生 {{de-ndecl|[[Kreuz]]<n.sg> [[des]] [[Süden]]s}} 可以包含任意數量的變格成分,並會被正確處理。一個有三個的例子是 {{m|de|Heiliges Römisches Reich||[[神聖羅馬帝國]]}}: <code><nowiki>{{de-ndecl|[[heilig|Heiliges]]<+> [[römisch|Römisches]]<+> [[Reich]]<n,s:es.sg>}}</nowiki></code> 會產生 {{de-ndecl|[[heilig|Heiliges]]<+> [[römisch|Römisches]]<+> [[Reich]]<n,s:es.sg>}} ===形容詞性名詞和形容詞-名詞組合=== 有些名詞像形容詞一樣變格。一個例子是 {{m|de|Erwachsener||成人}}(定指主格 ''der Erwachsene'',不定指主格 ''ein Erwachsener'',定指屬格 ''des Erwachsenen'',裸複數 ''Erwachsene'',定指複數 ''die Erwachsenen'' 等)。要表示這一點,用 <code>+</code> 代替變格: {{temp|de-ndecl|+}} 會產生 {{de-ndecl|+|pagename=Erwachsener}} 詞頭顯示如下: {{de-noun|+|pagename=Erwachsener}} 注意變格表如何包含強變化(即裸形)、弱變化(即定指)和混合變化(即不定指)形式,詞頭包含主格單數、屬格單數和主格複數的裸形和定指版本。對於這樣的陽性和中性名詞,裸形和定指屬格有相同的詞尾,所以詞頭變位將兩者結合,但對於陰性名詞,它們會被分開。一個例子是 {{m|de|Erwachsene||成年女性}}: {{temp|de-ndecl|+}} 會產生 {{de-ndecl|+|pagename=Erwachsene}} 詞頭顯示如下: {{de-noun|+|pagename=Erwachsene}} 您同樣可以使用 <code>+</code> 來對形容詞-名詞組合變格,例如 {{m|de|schwarzes Loch||黑洞}}: <code><nowiki>{{temp|de-ndecl|[[schwarz]]es<+> [[Loch]]<n,(e)s,^er>}}</nowiki></code> 會產生 {{de-ndecl|[[schwarz]]es<+> [[Loch]]<n,(e)s,^er>}} 詞頭顯示如下: {{de-noun|[[schwarz]]es<+> [[Loch]]<n,(e)s,^er>}} 這裡,必須使用角括號的替代記號來表示各個詞的變格。必須包含連結以便在詞頭中有到各個詞的連結。 注意性別不需要與 <code>+</code> 一起指定,因為它可以從詞尾自動推斷出來。與名詞一起使用時,形容詞的複數狀態也不需要給出,如 {{m|de|Kanarische Inseln}}: <code><nowiki>{{temp|de-ndecl|[[kanarisch|Kanarische]]<+> [[Insel]]n<p>}}</nowiki></code> 會產生 {{de-ndecl|[[kanarisch|Kanarische]]<+> [[Insel]]n<p>}} 詞頭顯示如下: {{de-noun|[[kanarisch|Kanarische]]<+> [[Insel]]n<p>}} 但是,這對僅複數的形容詞性名詞不起作用,因為 ''-e'' 詞尾會被推斷為陰性單數。如果由於某種原因您需要指定這樣的名詞,使用 <code>p+</code> 或 <code>+p</code>,例如對於 {{m|de|Miese}}: {{temp|de-ndecl|p+}} 會產生 {{de-ndecl|p+|pagename=Miese}} 詞頭顯示如下: {{de-noun|p+|pagename=Miese}} ===變體=== 有時給定表達式有多種可能的變格,無法使用指定多個性別或替代屬格或複數詞尾的現有可能性來輕鬆指定。例如,一些名詞可以強變化或弱變化,在一些多詞表達式中,一個詞可能變格也可能不變格。一個例子是 {{m|de|Hirsch}},通常強變化但有時弱變化(特別是在德國南部和奧地利)。要表示這一點,使用這樣的語法:<code>((ALTERNANT1,ALTERNANT2,...))</code>,其中每個變體必須包含角括號: {{temp|de-ndecl|((<m,(e)s>,<m.weak.[也用於南德和奧地利]>))}} 會產生 {{de-ndecl|((<m,(e)s>,<m.weak.[也用於南德和奧地利]>))|pagename=Hirsch}} 這裡第一個變體是強變化,第二個是弱變化並包含整個變格腳註(見上面的[[#腳註|腳註]])。詞頭顯示如下: {{de-noun|((<m,(e)s>,<m.weak.[也用於南德和奧地利]>))|pagename=Hirsch}} 另一個例子是 {{m|de|lüttje Lage||加了一杯[[科恩酒]]的啤酒}},其中 ''lüttje''(低地德語詞)可能變位也可能不變位為正常形容詞: <code><nowiki>{{de-ndecl|((lüttje<+> [[Lage]]<f>,lüttje [[Lage]]<f>))}}</nowiki></code> 會產生 {{de-ndecl|((lüttje<+> [[Lage]]<f>,lüttje [[Lage]]<f>))}} 詞頭顯示如下: {{de-noun|((lüttje<+> [[Lage]]<f>,lüttje [[Lage]]<f>))}} 注意變格和詞頭都使用形容詞形式,儘管兩個變體中只有一個包含形容詞。這也是一個我們故意避免連結其中一個成分的例子,因為 ''lüttje'' 本身不是德語詞。 ==其他參數== ; {{para|pagename}} : 指定要當作頁面名稱的詞,取代實際的頁面名稱。用於說明頁、測試頁,或要在別的頁面上示範時。 ; {{para|json|1}} : 不顯示表格,改以 JSON 格式輸出所有屈折形式及相關資訊,供機器人使用。 <includeonly> [[Category:德語名詞變格表模板]] </includeonly> f1kydbudicfqh61aw670btci52j6ysf Template:De-noun/doc 10 3178014 9938450 9453492 2026-10-04T18:20:07Z TongcyDai 53191 同步 enwikt:加上僅單數名詞的例子(Schnee) 9938450 wikitext text/x-wiki {{documentation subpage}} 這個模板用於所有德語名詞。這個模板會自動將頁面加入到[[:Category:德語名詞]]。由 [[Module:de-headword]] 實現。 {{isAccelerated}} ==用法== 在「詞性」標題(例如 {{m|de|Baum}})下直接使用: <pre> ==德語== ===名詞=== {{de-noun|m,(e)s,^e|dim=^chen}} # [[樹]] </pre> ==參數== 這個模板可以接受各種參數,包括編號參數和命名參數。關於模板和參數的一般幫助,請參見 [[m:Help:Template]]。 ; {{para|1}} : 指定性別、屬格和複數形式。格式與 {{temp|de-ndecl}} 相同;見該模板和下面的例子。 ; {{para|dim}} : 指定名詞的指小形式。格式與 {{para|1}} 中的屬格單數和複數規格相同,但在加上任何詞尾之前會從詞條中移除最後的 ''-e''。如果留空,則不顯示指小詞。 ; {{para|f}}, {{para|m}} : 指定另一性別的等價名詞,用於根據所指對象的自然性別而不同的詞。這些特別用於表示職業的名詞。格式與 {{para|1}} 中的屬格單數和複數規格相同,但在加上任何詞尾之前會從詞條中移除最後的 ''-e''。使用 <code>+</code> 來請求預設值(這對於形容詞變格的名詞如 {{m|de|Erziehungsberechtigter}} 特別有效,會自動生成正確的陰性 {{m|de|Erziehungsberechtigte}})。 ; {{para|n}} : 指定中性等價詞,用於有中性等價詞的形容詞變格名詞,指代性別不明的兒童(比較 {{m|de|Frühgeborenes||早產兒}})。 ; {{para|sg}} : 指定單數等價詞,用於有偶爾單數形式的唯複名詞(plurale tantum)。 ; {{para|nolinkhead|1}} : 在多詞表達式中不自動連結各個詞。 ; {{para|splithyph|1}} : 當有空格時自動連結連字符詞的各個部分(如果沒有空格會自動發生)。 ; {{para|head}}, {{para|head2}}, ... : 明確指定詞頭。只有在多詞表達式中預設自動連結不正確時才需要,即使如此也很少需要;優先使用 {{para|1}} 中帶明確連結的角括號語法。在某些多詞表達式中偶爾有用,其中最好將表達式作為變格的一個單位來處理;例子見 {{temp|de-proper noun}}。 ==例子== {|class="wikitable" ! 名詞 !! 代碼 !! 結果 |- | {{m|de|Buch}} || {{temp|de-noun|n,(e)s,^er|dim=^lein}} || {{de-noun|n,(e)s,^er|dim=^lein|pagename=Buch}} |- | {{m|de|Fuhrmann}} || {{temp|de-noun|m,(e)s,^er:Fuhrleute}} || {{de-noun|m,(e)s,^er:Fuhrleute|pagename=Fuhrmann}} |- | {{m|de|Aar}} || {{temp|de-noun|m,(e)s:en,e:en}} || {{de-noun|m,(e)s:en,e:en|pagename=Aar}} |- | {{m|de|Park}} || {{temp|de-noun|m,(e)s,s:e:^e}} || {{de-noun|m,(e)s,s:e:^e|pagename=Park}} |- | {{m|de|Filter}} || {{temp|de-noun|m:n}} || {{de-noun|m:n|pagename=Filter}} |- | {{m|de|Lehrer}} || {{temp|de-noun|m|f=in}} || {{de-noun|m|f=in|pagename=Lehrer}} |- | {{m|de|Lehrerin}} || {{temp|de-noun|f|m=Lehrer}} || {{de-noun|f|m=Lehrer|pagename=Lehrerin}} |- | {{m|de|Student}} || {{temp|de-noun|m.weak|f=in}} || {{de-noun|m.weak|f=in|pagename=Student}} |- | {{m|de|Name}} || {{temp|de-noun|m,ns.weak}} || {{de-noun|m,ns.weak|pagename=Name}} |- | {{m|de|Schnee}} || {{temp|de-noun|m.sg}} || {{de-noun|m.sg|pagename=Schnee}} |- | {{m|de|Haus}} || {{temp|de-noun|n,es,^er |dim=^chen,^lein,^le,^el ,^'l,^l,^li[rare, dialectal]}} | {{de-noun|n,es,^er|dim=^chen,^lein,^le,^el,^'l,^l,^li[rare, dialectal]|pagename=Haus}} |- | {{m|de|Agent Provocateur}} || {{temp|de-noun|m,-,Agents Provocateurs:-|nolinkhead=1}} || {{de-noun|m,-,Agents Provocateurs:-|nolinkhead=1|pagename=Agent Provocateur}} |- | {{m|de|Abszess}} || {{temp|de-noun|m:n[主要用於奧地利]}} || {{de-noun|m:n[主要用於奧地利]|pagename=Abszess}} |- | {{m|de|Geizhals}} || {{temp|de-noun|m,,^e|f=^in[rare]}} || {{de-noun|m,,^e|f=^in[rare]|pagename=Geizhals}} |- | {{m|de|schwarzes Loch}} || <code><nowiki>{{de-noun|[[schwarz]]es<+> [[Loch]]<n,es:s,^er>}}</nowiki></code> || {{de-noun|[[schwarz]]es<+> [[Loch]]<n,es:s,^er>}} |- | {{m|de|Erwachsener}} || {{temp|de-noun|+|f=+}} || {{de-noun|+|f=+|pagename=Erwachsener}} |- | {{m|de|Wessi}} || {{temp|de-noun|m,s:-,s}} <code><nowiki>''or''&lt;br /&gt;</nowiki></code><br/>{{temp|de-noun|f[referring to a female],s}} || {{de-noun|m,s:-,s|pagename=Wessi}} ''or''<br /> {{de-noun|f[referring to a female],s|pagename=Wessi}} |- |} <includeonly>{{hwcat}}</includeonly> d2tlxrr1anl1fh3xvmbetgop2bd1w31 Module:Inflection-table 828 3515052 9938423 9863173 2026-10-04T14:48:07Z TongcyDai 53191 同步 enwikt(rev 92527507):無標題的 inflection box;預設標題本地化 9938423 Scribunto text/plain local export = {} local M = require("Module:module loader").init({ require = { parameters = "Module:parameters", }, loadData = { headword_data = "Module:headword/data", }, }) local concat = table.concat local insert = table.insert local WRAPPER_CLASS = "inflection-table-wrapper" local TABLE_CLASS = "inflection-table" local TITLE_CLASS = "inflection-table-title" local NO_TITLE_CLASS = "inflection-table-no-title" local NOTES_CLASS = "inflection-table-notes" local COLLAPSIBLE_CLASSES = "inflection-table-collapsible inflection-table-collapsed no-vc" local VS_SWITCHER_CLASS = "vsSwitcher" local VS_TOGGLE_CLASS = "vsToggleElement" local BOX_CLASS = "inflection-box" local BOX_CONTENT_CLASS = "inflection-box-content" local BOX_NARROW_CLASS = "inflection-table-narrow" local TR_ALONGSIDE_CLASS = "tr-alongside" local FLOW_VERTICAL_CLASS = "flow-vertical" local NO_TITLE_MARKER = "-" local DEFAULT_PALETTE = "grey" local DEFAULT_TOGGLE_CATEGORY = "屈折" -- l10n local DEFAULT_TITLE_FORMAT = "''%s'' 的屈折" -- l10n local VERTICAL_FLOW = "vertical" local BASE_STYLE = "width: fit-content" -- Palettes recognized by [[MediaWiki:Gadget-Palette.css]]. local PALETTES = { red = true, scarlet = true, orange = true, amber = true, yellow = true, lime = true, green = true, teal = true, cyan = true, blue = true, indigo = true, purple = true, magenta = true, rose = true, grey = true, brown = true, } local top_params = { title = true, tall = true, class = true, ["min-width"] = true, palette = true, category = true, lang = true, ["vs-category"] = true, vsToggleElement = true, } local bottom_params = { notes = true, } local box_top_params = { title = true, flow = true, category = true, } local function nonempty(value) return value ~= nil and value ~= "" and value or nil end -- Builds the opening <div> and the wikitable header. The markup is deliberately -- unbalanced -- {{inflection-table-bottom}} closes both -- so this is assembled -- as text rather than through mw.html, which cannot emit an unclosed node. function export.make_top(args) local palette = args.palette or DEFAULT_PALETTE if not PALETTES[palette] then error(("Unrecognized palette '%s'; see [[MediaWiki:Gadget-Palette.css]] for the recognized palettes.") :format(palette)) end local no_title = args.title == NO_TITLE_MARKER local wrapper_classes = { WRAPPER_CLASS } if no_title then insert(wrapper_classes, NO_TITLE_CLASS) end if nonempty(args.tall) then insert(wrapper_classes, COLLAPSIBLE_CLASSES) end if nonempty(args.class) then insert(wrapper_classes, args.class) end local style = BASE_STYLE local min_width = nonempty(args["min-width"]) if min_width then style = ("%s; min-width: %s"):format(style, min_width) end local vs_category = nonempty(args["vs-category"]) local table_classes = { TABLE_CLASS } if nonempty(args.lang) then insert(table_classes, ("%s-%s"):format(TABLE_CLASS, args.lang)) end if vs_category then insert(table_classes, VS_SWITCHER_CLASS) end local lines = { ('<div class="%s" style="%s" data-wikt-palette-p="%s" data-toggle-category="%s">'):format( concat(wrapper_classes, " "), style, palette, args.category or DEFAULT_TOGGLE_CATEGORY ), ('{| class="%s"%s'):format( concat(table_classes, " "), vs_category and (' data-toggle-category="%s"'):format(vs_category) or "" ), } if not no_title then insert(lines, ('|+ class="%s%s" | %s'):format( TITLE_CLASS, nonempty(args.vsToggleElement) and " " .. VS_TOGGLE_CLASS or "", args.title or DEFAULT_TITLE_FORMAT:format(M.headword_data.pagename) )) insert(lines, "|-") end return concat(lines, "\n") .. "\n" end -- Builds the opening markup for {{inflection-box-top}}, a wrapper holding -- several complete inflection tables side by side. Boxes always place -- transliterations alongside, so that class is fixed. No palette is emitted: -- each table inside the box carries its own. -- {{inflection-table-bottom}} closes this too. function export.make_box_top(args) local no_title = args.title == NO_TITLE_MARKER local classes = { WRAPPER_CLASS, BOX_CLASS, BOX_NARROW_CLASS, } if no_title then insert(classes, NO_TITLE_CLASS) -- zeroes the wrapper's border and padding else insert(classes, COLLAPSIBLE_CLASSES) end insert(classes, TR_ALONGSIDE_CLASS) if args.flow == VERTICAL_FLOW then insert(classes, FLOW_VERTICAL_CLASS) end local style, table_style = BASE_STYLE, "" if no_title then style = style .. "; background: none" table_style = ' style="background: none"' end local lines = { ('<div class="%s" style="%s" data-toggle-category="%s">'):format( concat(classes, " "), style, args.category or DEFAULT_TOGGLE_CATEGORY ), ('{| class="%s"%s'):format(BOX_CONTENT_CLASS, table_style), } if not no_title then insert(lines, ('|+ class="%s" | %s'):format( TITLE_CLASS, args.title or DEFAULT_TITLE_FORMAT:format(M.headword_data.pagename) )) end insert(lines, "|-") insert(lines, "|") return concat(lines, "\n") .. "\n" end -- Closes the wikitable and the wrapper opened by make_top, with the notes block -- in between. function export.make_bottom(args) local notes = args and nonempty(args.notes) if not notes then -- The blank line is what the template emitted; kept so the parser sees -- byte-identical wikitext. return "|}\n\n</div>" end return ('|}\n<div class="%s">\n%s\n</div>\n</div>'):format(NOTES_CLASS, notes) end local function split_args(args) local top_args, bottom_args = {}, {} for k, v in pairs(args or {}) do if bottom_params[k] then bottom_args[k] = v else top_args[k] = v end end return top_args, bottom_args end -- Builds a complete table around `contents`. function export.make_table(args, contents) local top_args, bottom_args = split_args(args) return export.make_top(top_args) .. contents .. export.make_bottom(bottom_args) end -- As export.make_table, for boxes. function export.make_box(args, contents) local top_args, bottom_args = split_args(args) return export.make_box_top(top_args) .. contents .. export.make_bottom(bottom_args) end -- Implementation of {{inflection-table-top}}. Other modules should call -- make_top directly instead. function export.top(frame) local args = M.parameters.process(frame:getParent().args, top_params, nil, "inflection-table", "top") return export.make_top(args) end -- Implementation of {{inflection-table-bottom}}. See the note on export.top. function export.bottom(frame) local args = M.parameters.process(frame:getParent().args, bottom_params, nil, "inflection-table", "bottom") return export.make_bottom(args) end -- Implementation of {{inflection-box-top}}. See the note on export.top. function export.box_top(frame) local args = M.parameters.process(frame:getParent().args, box_top_params, nil, "inflection-table", "box_top") return export.make_box_top(args) end -- Boxes close exactly like plain tables, so these are aliases rather than -- separate implementations. export.make_box_bottom = export.make_bottom export.box_bottom = export.bottom return export s0qctwsftddsvavhe0z4nxd87v26eaj belligerati 0 3542993 9938416 9938141 2026-10-04T12:29:51Z Sayonzei 40728 /* 英語 */ 9938416 wikitext text/x-wiki ==英語== ===詞源=== {{blend|en|belligerent|literati}},同時亦是 {{m|la|belligerātus}} 的複數。 ===名詞=== {{en-noun|p}} # [[鼓吹]][[戰爭]]的[[文人]] #* {{quote-book|en|year=2005|author=Tariq Ali|title=Street Fighting Years: An Autobiography Of The Sixties|page=19|passage=I am not, in this instance, referring to the '''belligerati''' - Salman Rushdie, Martin Amis and chums - ever-present in the liberal press on both sides of the Atlantic.}} #* {{quote-book|en|year=2011|author=Andrew Charlton|title=Man-Made World|page=88|passage=They are the '''belligerati''' who are given opinion columns and radio talkback programs; who are accorded the status of minor celebrities; and there can at times seem no end to the uniquely Australian cross of their public bullying}} #* {{quote-text|en|year=2011|author=Richard Seymour|title=American Insurgents: A Brief History of American Anti-Imperialism|page=xviii |passage=Since neoconservatives and the liberal '''belligerati''' have sought to appropriate these ideological resources on behalf of imperialism, aspects of this question will be examined in chapter 1.}} ==拉丁語== ===分詞=== {{head|la|分詞變格形|head=belligerātī}} # {{inflection of|la|belligerātus||nom//voc|m|p|;|gen|m//n|s}} pprurkszcajdq2ikfg36o88pxw19gzf belligerator 0 3542996 9938417 9938144 2026-10-04T12:30:11Z Sayonzei 40728 /* 拉丁語 */ 9938417 wikitext text/x-wiki ==拉丁語== ===詞源=== {{ety|la|title=belligerātor|:af|belligerō<t:發動戰爭>|-tor|text=+|tree=1}} ===發音=== * {{la-IPA|belligerātor}} ===名詞=== {{la-noun|belligerātor<3>|g=m}} # [[戰士]],[[鬥士]] ====變格==== {{la-ndecl|belligerātor<3>}} ===動詞=== {{head|la|動詞變位形式|head=belligerātor}} # {{inflection of|la|belligerō||2//3|s|futr|pasv|impr}} ===參考資料=== * {{R:la:L&S}} * {{R:la:Gaffiot}} 2luizynqi0pp3khtp4ky1xo1x6frwwz Spielotheken 0 3543263 9938413 2026-10-04T12:22:18Z TongcyDai 53191 [[w:WP:AES|←]]建立內容為「==德語== ===發音=== * {{IPA|de|/ʃpiːloˈteːkn̩/}} * {{audio|de|De-Spielotheken.ogg|a=柏林}} ===名詞=== {{head|de|名詞變格形}} # {{infl of|de|Spielothek||p}}」的新頁面 9938413 wikitext text/x-wiki ==德語== ===發音=== * {{IPA|de|/ʃpiːloˈteːkn̩/}} * {{audio|de|De-Spielotheken.ogg|a=柏林}} ===名詞=== {{head|de|名詞變格形}} # {{infl of|de|Spielothek||p}} 9clnj1o5840etiqg8ke0c1313afl53h Category:含有後綴-thek的德語詞 14 3543264 9938415 2026-10-04T12:23:07Z TongcyBot 83009 養貓 9938415 wikitext text/x-wiki {{auto cat}} eomzlm5v4j7ond1phrju7cnue91g5qx Reconstruction:原始西日耳曼語/oʀd 118 3543265 9938419 2026-10-04T14:16:40Z TongcyDai 53191 [[w:WP:AES|←]]建立內容為「{{reconstructed}} ==原始西日耳曼語== ===詞源=== {{inh+|gmw-pro|gem-pro|*uzdaz}}。 ===名詞=== {{head|gmw-pro|名詞|g=m}} # [[銳利]]的[[尖端]],[[矛]][[尖]],矛 # [[地方]] ====屈折==== {{gmw-infl-noun-a|g=m}} ====派生語彙==== {{top3}} * {{desctree|ang|ord}} * {{desc|ofs|ord}} ** {{desc|frr|od}} ** {{desc|stq|Oud}} ** {{desc|fy|oerd|oarde}} * {{desc|osx|ord}} ** {{desc|gml|ort}} *** {{desc|nds-de|Oort}} *** {{…」的新頁面 9938419 wikitext text/x-wiki {{reconstructed}} ==原始西日耳曼語== ===詞源=== {{inh+|gmw-pro|gem-pro|*uzdaz}}。 ===名詞=== {{head|gmw-pro|名詞|g=m}} # [[銳利]]的[[尖端]],[[矛]][[尖]],矛 # [[地方]] ====屈折==== {{gmw-infl-noun-a|g=m}} ====派生語彙==== {{top3}} * {{desctree|ang|ord}} * {{desc|ofs|ord}} ** {{desc|frr|od}} ** {{desc|stq|Oud}} ** {{desc|fy|oerd|oarde}} * {{desc|osx|ord}} ** {{desc|gml|ort}} *** {{desc|nds-de|Oort}} *** {{desc|sv|ort|bor=1}} * {{desc|odt|ort}} ** {{desc|dum|ort|oort}} *** {{desctree|nl|oord}} * {{desctree|goh|ort}} * {{desc|fro|ordé|urdee|t2=尖的|bor=1|der=1}} ** {{desc|enm|urde|urdy|bor=1}} *** {{desc|en|urdé|urdy}} {{bottom}} fd9oyw1jyregf9qdt7t2immmjunf7s1 Reconstruction:原始日耳曼語/uzdaz 118 3543266 9938420 2026-10-04T14:16:43Z TongcyDai 53191 [[w:WP:AES|←]]建立內容為「{{reconstructed}} ==原始日耳曼語== ===詞源=== 可能來自{{der|gem-pro|ine-pro|*úd|*úd-s|t=向上,離開}}(> {{m|gem-pro|*uz|t=從……出來}})+ {{m|ine-pro|*dʰeh₁-|t=放置}}。<ref name=EDPG>{{R:gem:EDPG|page=563|head=*uzda-}}</ref> 或者與詞根 {{m|ine-pro|*wes-|t=刺}} 有關(與阿爾巴尼亞語 {{m|sq|usht|t=薊}} 相關)。<ref>{{R:de:EWbD|Ort}}</ref> ===發音=== * {{IPA|gem-pro|/ˈuz.dɑz/}} ===名詞…」的新頁面 9938420 wikitext text/x-wiki {{reconstructed}} ==原始日耳曼語== ===詞源=== 可能來自{{der|gem-pro|ine-pro|*úd|*úd-s|t=向上,離開}}(> {{m|gem-pro|*uz|t=從……出來}})+ {{m|ine-pro|*dʰeh₁-|t=放置}}。<ref name=EDPG>{{R:gem:EDPG|page=563|head=*uzda-}}</ref> 或者與詞根 {{m|ine-pro|*wes-|t=刺}} 有關(與阿爾巴尼亞語 {{m|sq|usht|t=薊}} 相關)。<ref>{{R:de:EWbD|Ort}}</ref> ===發音=== * {{IPA|gem-pro|/ˈuz.dɑz/}} ===名詞=== {{gem-noun|m}}<ref name=EDPG /> # [[銳利]]的[[尖端]] # [[地方]] ====屈折==== {{gem-decl-noun}} ====派生詞彙==== * {{l|gem-pro|*uzdijaną}} ====派生語彙==== * {{desctree|gmw-pro|*oʀd}} * {{desctree|non|oddr}} ===參考資料=== {{reflist}} hppqmzkzts3ylhdreh0a5nog1jtnl6g Theken 0 3543267 9938422 2026-10-04T14:18:20Z TongcyDai 53191 [[w:WP:AES|←]]建立內容為「==德語== ===發音=== * {{IPA|de|/ˈteːkn̩/}} * {{audio|de|De-Theken.ogg|a=柏林}} * {{audio|de|De-Theken2.ogg|a=柏林}} ===名詞=== {{head|de|名詞變格形}} # {{plural of|de|Theke}}」的新頁面 9938422 wikitext text/x-wiki ==德語== ===發音=== * {{IPA|de|/ˈteːkn̩/}} * {{audio|de|De-Theken.ogg|a=柏林}} * {{audio|de|De-Theken2.ogg|a=柏林}} ===名詞=== {{head|de|名詞變格形}} # {{plural of|de|Theke}} 0d9br8h3vpfoj4gksrjy7yje5dww51u infographic 0 3543268 9938429 2026-10-04T15:54:23Z Pristome 131990 翻译自[[en:infographic]] 9938429 wikitext text/x-wiki ==英语== ===词源=== 源自{{af|en|info-|graphic}}。 ===名词=== {{en-noun}} # [[信息图形]]。 ====派生词汇==== {{col|en|disinfographic |misinfographic }} ====相关词汇==== * {{l|en|infography}} ===形容词=== {{en-adj|-}} # 与信息图形的[[生产]]相关的。 m0otp4bvdbn2jg36ovccz1fue9ourna 9938433 9938429 2026-10-04T16:00:09Z Pristome 131990 9938433 wikitext text/x-wiki ==英语== ===词源=== 源自{{af|en|info-|graphic}}。 ===名词=== {{en-noun}} # [[信息图形]]([[信息]]的[[可视化]][[展示]])。 ====派生词汇==== {{col|en|disinfographic |misinfographic }} ====相关词汇==== * {{l|en|infography}} ===形容词=== {{en-adj|-}} # 与信息图形的[[产生]]相关的。 8l3i1u8b353z03nts411k5xhlyc0ui2 infographics 0 3543269 9938430 2026-10-04T15:56:03Z Pristome 131990 翻译自[[en:infographics]] 9938430 wikitext text/x-wiki ==英语== ===名词=== {{en-noun|-}} # [[数据图形]] ===名词=== {{head|en|noun form}} # {{plural of|en|infographic}} aj43zidm6yrv1dvtx6stlabn2sid1rf 9938434 9938430 2026-10-04T16:02:14Z Pristome 131990 9938434 wikitext text/x-wiki ==英语== ===名词=== {{en-noun|-}} # [[数据图形]]([[数据]]的[[可视化]][[展示]]) ===名词=== {{head|en|noun form}} # {{plural of|en|infographic}} 2xht6asnv1f4n1zo3bjbzzercl4xps9 infography 0 3543270 9938431 2026-10-04T15:57:48Z Pristome 131990 翻译自[[en:infography]] 9938431 wikitext text/x-wiki ==英语== ===词源=== 源自{{confix|en|info|graphy}}。 ===名词=== {{en-noun|-}} # [[信息图形]]的[[生产]]。 qomyeh7pulw5mtpiud7kwcs0gizk4c9 9938432 9938431 2026-10-04T15:58:31Z Pristome 131990 9938432 wikitext text/x-wiki ==英语== ===词源=== 源自{{confix|en|info|graphy}}。 ===名词=== {{en-noun|-}} # [[信息图形]]的[[产生]]。 t69uhvtax2t46d2kyqdvw3aa7fopr8s disinfographic 0 3543271 9938435 2026-10-04T16:09:07Z Pristome 131990 [[w:WP:AES|←]]建立內容為「==英语== ===词源=== {{blend|en|disinformation|infographic}},等同于{{affix|en|dis-|infographic}}。 ===名词=== {{en-noun}} # [[错误]]的[[信息图形]] ====参见==== * {{l|en|misinfographic}}」的新頁面 9938435 wikitext text/x-wiki ==英语== ===词源=== {{blend|en|disinformation|infographic}},等同于{{affix|en|dis-|infographic}}。 ===名词=== {{en-noun}} # [[错误]]的[[信息图形]] ====参见==== * {{l|en|misinfographic}} i155oj82kwgr52cwzla0g94c83c1676 9938440 9938435 2026-10-04T16:17:01Z Pristome 131990 9938440 wikitext text/x-wiki ==英语== ===词源=== {{blend|en|disinformation|infographic}},等同于{{affix|en|dis-|infographic}}。 ===名词=== {{en-noun}} # [[错误]]的[[信息图形]]。 ====参见==== * {{l|en|misinfographic}} 1d4k0hf3wlrmsknc3p0zwqv6qbabm2h disinfographics 0 3543272 9938437 2026-10-04T16:09:50Z Pristome 131990 [[w:WP:AES|←]]建立內容為「==英语== ===名词=== {{head|en|noun form}} # {{plural of|en|disinfographic}}」的新頁面 9938437 wikitext text/x-wiki ==英语== ===名词=== {{head|en|noun form}} # {{plural of|en|disinfographic}} dlnpfwch0sq3mwa2p9crp0dr3i9e0ll misinfographic 0 3543273 9938438 2026-10-04T16:12:57Z Pristome 131990 [[w:WP:AES|←]]建立內容為「==英语== ===词源=== {{blend|en|misinformation|infographic}},等同于{{affix|en|mis-|infographic}}。 ===名词=== {{en-noun}} # [[易误解]]的[[信息图形]]。 ====参见==== * {{l|en|disinfographic}}」的新頁面 9938438 wikitext text/x-wiki ==英语== ===词源=== {{blend|en|misinformation|infographic}},等同于{{affix|en|mis-|infographic}}。 ===名词=== {{en-noun}} # [[易误解]]的[[信息图形]]。 ====参见==== * {{l|en|disinfographic}} adzxikse4x4ht1sppscyoo8m7qebyzb misinfographics 0 3543274 9938439 2026-10-04T16:13:37Z Pristome 131990 [[w:WP:AES|←]]建立內容為「==英语== ===名词=== {{head|en|noun form}} # {{plural of|en|misinfographic}}」的新頁面 9938439 wikitext text/x-wiki ==英语== ===名词=== {{head|en|noun form}} # {{plural of|en|misinfographic}} ef75okaql713e7qw7vftin5cep3u57b forex 0 3543275 9938443 2026-10-04T17:22:50Z Hzy980512 19278 [[w:WP:AES|←]]建立內容為「==英语== ===词源=== [[File:Forex Aalborg ubt.jpeg|thumb|{{lang|en|A branch of {{w|lang=en|Forex Bank}} in [[Aalborg]], [[Denmark]]. It specializes in forex (foreign exchange) services.}}<br />丹麦奥尔堡的一家{{w|en:Forex Bank|FOREX银行}}支行,这家银行专门提供外汇业务。]] {{blend|en|foreign|alt1=for(eign)|exchange|alt2=ex(change)}}. ===发音=== * {{IPA|en|/ˈfɔɹˌɛks/|a=RP,GA}} * {{audio|en|en-au-forex.ogg|…」的新頁面 9938443 wikitext text/x-wiki ==英语== ===词源=== [[File:Forex Aalborg ubt.jpeg|thumb|{{lang|en|A branch of {{w|lang=en|Forex Bank}} in [[Aalborg]], [[Denmark]]. It specializes in forex (foreign exchange) services.}}<br />丹麦奥尔堡的一家{{w|en:Forex Bank|FOREX银行}}支行,这家银行专门提供外汇业务。]] {{blend|en|foreign|alt1=for(eign)|exchange|alt2=ex(change)}}. ===发音=== * {{IPA|en|/ˈfɔɹˌɛks/|a=RP,GA}} * {{audio|en|en-au-forex.ogg|a=AU}} * {{hyphenation|en|for|ex}} ===名词=== {{en-noun|~}} # {{abbr of|en|foreign exchange||外币兑换}}:[[外汇]] #* {{quote-journal|en|magazine=Bankers Monthly|location=Northbrook, Ill.|publisher=Hanover Publishers|year=1974|page=199|column=1|oclc=421859190|passage=If the results of talks with a number of American bankers in Europe reporting on the new scale (post Herstatt) of their '''forex''' dealings, plus what they say of their European colleagues and what "reliable sources" in London project, go into a pocket electronic calculator the display lights up with figures which indicate that '''forex''' staffs in European banks now have at least three quarters of every day free for whittling or reading the classified ads.}} #* {{quote-book|en|title=Uganda: Industrial Revitalization and Reorientation|location=[Vienna]|publisher=w:United Nations Industrial Development Organization|year=1992|page=10|oclc=782139631|passage=The number of '''forexes''' has increased steadily and 41 had been licensed by December, 1990, of which 33 were active.}} #* {{quote-book|en|author=Abe Cofnas|chapter=Trading Styles and Strategies|title=The Forex Trading Course: A Self-study Guide to Becoming a Successful Currency Trader|edition=2nd|location=Hoboken, N.J.|publisher=w:en:John Wiley & Sons|year=2015|section=part II (Timing the Trade with Technical Analysis)|page=157|pageurl=https://books.google.com/books?id=FR_YCQAAQBAJ&pg=PA157|isbn=978-1-118-99865-6|passage=The set-and-forget trader is playing fundamental direction and is seeking very large moves of 150 to 300 pips. This trader doesn't want to sit and watch the screen but play the longer moves and forces behind '''forex'''.}} ===延伸阅读=== * {{pedia|lang=en|foreign exchange market}} ===异序词=== * {{anagrams|en|a=eforx|foxer}} {{C|en|金融}} ==西班牙语== ===名词=== {{es-noun|m|-}} # [[外汇]] kjtsnii4is8qfnpdy1emoxsrid2gw4q 9938480 9938443 2026-10-05T09:04:29Z Sayonzei 40728 /* 名词 */ 9938480 wikitext text/x-wiki ==英语== ===词源=== [[File:Forex Aalborg ubt.jpeg|thumb|{{lang|en|A branch of {{w|lang=en|Forex Bank}} in [[Aalborg]], [[Denmark]]. It specializes in forex (foreign exchange) services.}}<br />丹麦奥尔堡的一家{{w|en:Forex Bank|FOREX银行}}支行,这家银行专门提供外汇业务。]] {{blend|en|foreign|alt1=for(eign)|exchange|alt2=ex(change)}}. ===发音=== * {{IPA|en|/ˈfɔɹˌɛks/|a=RP,GA}} * {{audio|en|en-au-forex.ogg|a=AU}} * {{hyphenation|en|for|ex}} ===名词=== {{en-noun|~}} # {{abbr of|en|foreign exchange||外币兑换}}:[[外汇]] #* {{quote-journal|en|magazine=Bankers Monthly|location=Northbrook, Ill.|publisher=Hanover Publishers|year=1974|page=199|column=1|oclc=421859190|passage=If the results of talks with a number of American bankers in Europe reporting on the new scale (post Herstatt) of their '''forex''' dealings, plus what they say of their European colleagues and what "reliable sources" in London project, go into a pocket electronic calculator the display lights up with figures which indicate that '''forex''' staffs in European banks now have at least three quarters of every day free for whittling or reading the classified ads.|t=如果将与一些在欧洲的美国银行家就(赫斯塔特事件后)其'''外汇'''交易的新规模进行的会谈结果,加上他们对欧洲同行的评价,以及伦敦“可靠消息来源”的预测,都输入到袖珍电子计算器中,显示屏就会亮起数字,表明欧洲银行的外汇工作人员现在每天至少有四分之三的时间可以用来削木头或阅读分类广告。}} #* {{quote-book|en|title=Uganda: Industrial Revitalization and Reorientation|location=[Vienna]|publisher=w:United Nations Industrial Development Organization|year=1992|page=10|oclc=782139631|passage=The number of '''forexes''' has increased steadily and 41 had been licensed by December, 1990, of which 33 were active.|t='''外汇'''交易商的数量稳步增长,到1990年12月,已有41家获得许可,其中33家处于活跃状态。 }} #* {{quote-book|en|author=Abe Cofnas|chapter=Trading Styles and Strategies|title=The Forex Trading Course: A Self-study Guide to Becoming a Successful Currency Trader|edition=2nd|location=Hoboken, N.J.|publisher=w:en:John Wiley & Sons|year=2015|section=part II (Timing the Trade with Technical Analysis)|page=157|pageurl=https://books.google.com/books?id=FR_YCQAAQBAJ&pg=PA157|isbn=978-1-118-99865-6|passage=The set-and-forget trader is playing fundamental direction and is seeking very large moves of 150 to 300 pips. This trader doesn't want to sit and watch the screen but play the longer moves and forces behind '''forex'''.|t=“设定后就不用管”的交易者关注基本面,追求150到300点的大幅波动。这类交易者不想一直盯着屏幕,而是想把握'''外汇'''市场更长远的走势和背后的驱动力。}} ===延伸阅读=== * {{pedia|lang=en|foreign exchange market}} ===异序词=== * {{anagrams|en|a=eforx|foxer}} {{C|en|金融}} ==西班牙语== ===名词=== {{es-noun|m|-}} # [[外汇]] 4edv8rrsuy55tb938qpy0wiha999v92 Template:De-adecl/doc 10 3543276 9938452 2026-10-04T18:20:10Z TongcyDai 53191 譯自 enwikt Template:de-adecl/documentation;另加 pagename=、json=、truncate= 的說明 9938452 wikitext text/x-wiki {{documentation subpage}} ==介紹== 這個模板應該用來變格所有德語形容詞,優先於任何其他可能仍然存在的舊模板。(最終這些舊模板都會被淘汰。) ===快速入門例子=== {|class="wikitable" ! 頁面 !! 例子 !! 說明 |- | {{m|de|binär||二進位的}} || {{temp|de-adecl}} || 無比較級。 |- | {{m|de|klein||小的}} || {{temp|de-adecl|comp}} || 有比較級。 |- | {{m|de|müde||疲倦的}} || {{temp|de-adecl|comp}} || 詞幹自動移除 ''-e'',比較級在 ''-d'' 後加上 ''-est''。 |- | {{m|de|akzeptabel||可接受的}} || {{temp|de-adecl|comp}} || 詞幹和比較級自動以 ''-abl'' 結尾,但最高級以 ''-abel'' 結尾。 |- | {{m|de|neu||新的}} || {{temp|de-adecl|comp}} || 以雙母音結尾的形容詞預設有兩個最高級。 |- | {{m|de|fit||健壯的}} || {{temp|de-adecl|stem:fitt.comp}} || 明確指定詞幹。 |- | {{m|de|simpel||簡單的}} || {{temp|de-adecl|stem:-e.comp}} || 明確請求在詞幹和比較級中抑制 ''-e-''(比較上面的 {{m|de|akzeptabel}})。 |- | {{m|de|gut||好的}} || {{temp|de-adecl|comp:besser.sup:best}} || 明確指定比較級和最高級。 |- | {{m|de|lang||長的}} || {{temp|de-adecl|comp:^}} || 請求在比較級和最高級中變音。 |- | {{m|de|nass||濕的}} || {{temp|de-adecl|comp:+:^}} || 比較級/最高級有兩種形式,不帶變音和帶變音。 |- | {{m|de|abgeschlossen||獨立的,封閉的;僻靜的}} || {{temp|de-adecl|comp:+:-e}} || 比較級有兩種形式,不抑制和抑制 ''-e-''。 |- | {{m|de|aufrecht||直立的}} || {{temp|de-adecl|comp.sup:+est:+st[不常見]}} || 最高級有兩種形式,其中一種標記為不常見。 |- | {{m|de|rosa||粉紅色的}} || {{temp|de-adecl|stem:rosan:+.comp:rosaner.sup:rosanst:rosast}} || 兩個詞幹和最高級,一個帶中綴 ''-n-'',一個不帶。 |- | {{m|de|orange||橙色的}} || {{temp|de-adecl|stem:+[正式]:+en[非正式].comp.sup:orangest[正式]:orangenst[非正式]}} || 與 {{m|de|rosa}} 有些類似的例子,帶限定語。 |- | {{m|de|dunkel||暗的}} || {{temp|de-adecl|stem:-e.comp:+:^[奧地利德語另作].sup:dunkelst}} || 複雜的例子,有帶變音的替代(奧地利)比較級形式。 |- | {{m|de|erste||第一}} || {{temp|de-adecl|pred:-}} || 無表語形式。 |- | {{m|de|allerdurchlauchtig||帝王的;顯赫的}} || {{temp|de-adecl|comp:-.sup:+}} || 有最高級但無比較級。 |} ===無比較級形容詞=== 最簡單的用法是不提供任何參數。這對於大多數沒有比較級或最高級形式的形容詞已經足夠。例如,對於形容詞 {{m|de|binär||二進位的}},使用: {{temp|de-adecl}} 會產生 {{de-adecl|pagename=binär}} ===有比較級形容詞=== 有比較級形容詞(即有比較級和/或最高級形式的形容詞)通常帶一個參數。對於大多數形容詞,這個參數只需由 <code>comp</code> 一詞構成,表示比較級和最高級形式存在,並應由預設演算法生成(該演算法適用於大多數形容詞)。例如,對於 {{m|de|klein||小的}},使用: {{temp|de-adecl|comp}} 會產生 {{de-adecl|comp|pagename=klein}} 預設演算法知道形容詞的許多特殊情況。例如,以 {{m|de|-abel}} 結尾的形容詞,其原級和比較級詞幹以 ''-abl'' 結尾,但最高級詞幹以 ''-abel'' 結尾。預設演算法會自動處理這一點。例如,對於 {{m|de|akzeptabel||可接受的}},使用: {{temp|de-adecl|comp}} 會產生 {{de-adecl|comp|pagename=akzeptabel}} 另一個這樣的情況是 {{m|de|müde||疲倦的}},它去掉 ''-e'' 來構成詞幹,例如原級形式 {{m|de||müder}}、{{m|de||müdes}}、{{m|de||müden}}……;比較級 {{m|de|müder}};以及最高級 ''müdest-''(這裡,在以 ''-d'' 結尾的詞幹後使用最高級詞尾 ''-est'' 而不是 ''-st'')。該模組會自動處理這一點: {{temp|de-adecl|comp}} 會產生 {{de-adecl|comp|pagename=müde}} ===明確指定比較級或最高級詞幹=== 要明確指定比較級和/或最高級詞幹,使用 <code>comp:STEM</code> 和/或 <code>sup:STEM</code>。例如,對於 {{m|de|gut||好的}},使用: {{temp|de-adecl|comp:besser.sup:best}} 會產生 {{de-adecl|comp:besser.sup:best|pagename=gut}} 幾點說明: # 每個像 <code>comp</code> 或 <code>sup:best</code> 這樣的表達式稱為''指示符''。如果需要指定多個指示符,用句號/點(<code>.</code>)分隔它們。 # 您可以指定多個比較級和/或最高級詞幹,用冒號分隔;見下面的例子。 # 如果您只指定比較級或只指定最高級,另一個會被適當地推斷出來。 # 要抑制比較級或最高級其中之一而保留另一個,使用 <code>comp:-</code> 或 <code>sup:-</code>。 # 表達式 <code>comp</code> 等價於 <code>comp:+</code>,後者請求預設的比較級詞幹(由原級詞幹推導出來;關於如何明確指定這個詞幹見下文)。 單個比較級或最高級規格可以是以下之一: # 明確的形式,例如 <code>besser</code> 或 <code>best</code>,如上面的例子。給出的形式應該是比較級或最高級詞幹,詞尾會加在其上。 # 值 <code>+</code>,用來請求預設的比較級或最高級詞幹。預設的比較級詞幹只是在原級詞幹後加上 ''-er'',而預設的最高級詞幹則根據下面[[#預設最高級演算法]]所述的演算法推導出來。 # 像 <code>+est</code> 這樣的值,用來請求將指定的詞尾加在原級詞幹上。 # 值 <code>^</code>,用來請求預設比較級或最高級詞幹的變音變體(即對原級詞幹套用變音,然後使用一般的預設規則生成比較級或最高級詞幹)。 # 像 <code>^est</code> 這樣的值,用來請求將指定的詞尾加在原級詞幹的變音變體上。 # 值 <code>-e</code>,用來請求移除詞尾 ''-el''、''-em''、''-en'' 或 ''-er'' 中的中綴 ''-e-''。更多資訊見下面的[[#明確指定原級詞幹]]。 # 值 <code>-</code>,用來完全抑制比較級或最高級。 注意,由原級詞幹構成形式時,如果有多個原級詞幹,相應地會構成多個形式。 舉例來說,形容詞 {{m|de|aufrecht||直立的}} 有兩個最高級,一個基於詞幹 ''aufrechtest-'',另一個(不常見)基於詞幹 ''aufrechtst-''。這樣指定: {{temp|de-adecl|comp.sup:+est:+st[不常見]}} 會產生 {{de-adecl|comp.sup:+est:+st[不常見]|pagename=aufrecht|truncate=1}} 注意這裡第二個形式後面方括號中的限定語。任何形式都可以加上這樣的限定語;在變格表中它顯示為腳註,而在詞頭中它顯示為位於該形式之前的斜體限定語。 另一個例子是 {{m|de|abgeschlossen||獨立的,封閉的;僻靜的}},它有兩個比較級:{{m|de|abgeschlossener}} 和 {{m|de|abgeschlossner}}。這樣指定: {{temp|de-adecl|comp:+:-e}} 會產生 {{de-adecl|comp:+:-e|pagename=abgeschlossen|truncate=1}} 這裡我們使用值 <code>-e</code> 來抑制最後的 ''-e-''。如[[#明確指定原級詞幹|下文]]所述,當這個規格用於原級或比較級時,''-e-'' 會在最高級中恢復,在這個例子中產生 ''abgeschlossenst-''。 抑制某個形式的一個例子是 {{m|de|allerdurchlauchtig||帝王的;顯赫的}},它有最高級 {{m|de||allerdurchlauchtigst-|最顯赫的}}(通常指君主),但沒有比較級。使用以下寫法: {{temp|de-adecl|comp:-.sup:+}} 會產生 {{de-adecl|comp:-.sup:+|pagename=allerdurchlauchtig|truncate=1}} ===明確指定原級詞幹=== 對於某些形容詞,詞條形式(通常與表語形式相同)與用來推導出原級定語屈折形式的詞幹不同。上面的例子有 {{m|de|akzeptabel||可接受的}},它在屈折形式中使用詞幹 ''akzeptabl-'',以及 {{m|de|müde||疲倦的}},它使用詞幹 ''müd-''。該模組會自動處理這兩種情況;但還有其他情況無法自動處理。其中一個例子是 {{m|de|fit||健壯的}},它使用詞幹 ''fitt-''。要在這種情況下指定詞幹,使用: {{temp|de-adecl|stem:fitt.comp}} 會產生 {{de-adecl|stem:fitt.comp|pagename=fit|truncate=1}} 同一個詞幹 ''fitt-'' 也用於比較級 {{m|de|fitter}} 和最高級 ''fittest-'',它們會自動推導出來(並且在 ''-tt'' 後會自動使用最高級 ''-est'' 代替 ''-st'')。 另一個例子是 {{m|de|simpel||簡單的}},它使用詞幹 ''simpl-'' 來推導出原級({{m|de||simpler}}、{{m|de||simples}}、{{m|de|simplem}}……)和比較級({{m|de|simpler}}),但使用詞條來推導出最高級 ''simpelst-''。您可以明確指定詞幹和最高級兩者,但有提供簡寫: {{temp|de-adecl|stem:-e.comp}} 會產生 {{de-adecl|stem:-e.comp|pagename=simpel|truncate=1}} 在詞幹中使用 <code>-e</code> 會請求這樣的詞幹:從以 ''-el''、''-em''、''-en'' 或 ''-er'' 結尾的詞條中移除中綴 ''-e-''。不過原本的詞條會被記住,並用作最高級詞幹。 另一個更複雜的例子是 {{m|de|rosa||粉紅色的}},它有兩個詞幹 ''rosan-''({{m|de|rosaner}}、{{m|de|rosanem}}、{{m|de|rosanes}}……)和 ''rosa-''({{m|de|rosaer}}、{{m|de|rosaem}}、{{m|de|rosaes}}……),以及單一的比較級 {{m|de|rosaner}} 和最高級詞幹 ''rosanst-'' 與 ''rosast-''。這樣指定: {{temp|de-adecl|stem:rosan:+.comp:rosaner.sup:rosanst:rosast}} 會產生 {{de-adecl|stem:rosan:+.comp:rosaner.sup:rosanst:rosast|pagename=rosa|truncate=1}} 這裡,如果使用 <code>comp</code> 或 <code>comp:+</code>,我們會根據兩個可能的詞幹得到兩個比較級:{{m|de|rosaner}} 和 {{m|de|rosaer}}。 ===指定變音=== 有些形容詞在比較級和/或最高級中有變音。要指定這一點,使用 <code>^</code> 作為比較級詞幹。一個例子是 {{m|de|lang||長的}},比較級 {{m|de|länger}},最高級 ''längst-'': {{temp|de-adecl|comp:^}} 會產生 {{de-adecl|comp:^|pagename=lang|truncate=1}} 如果有兩個詞幹,帶變音和不帶變音,將兩者都指定出來,用冒號分隔,例如對於 {{m|de|nass||濕的}}: {{temp|de-adecl|comp:+:^}} 會產生 {{de-adecl|comp:+:^|pagename=nass|truncate=1}} 這裡,<code>+</code> 明確請求預設的比較級。 一個更複雜的例子是 {{m|de|dunkel||暗的}},它有基於詞幹 ''dunkl-'' 的原級形式和帶變音的替代(奧地利)比較級形式,但最高級沒有變音。這樣指定: {{temp|de-adecl|stem:-e.comp:+:^[奧地利德語另作].sup:dunkelst}} 會產生 {{de-adecl|stem:-e.comp:+:^[奧地利德語另作].sup:dunkelst|pagename=dunkel|truncate=1}} ===其他指示符=== 除了指示符 <code>stem:...</code>、<code>comp</code>、<code>comp:...</code> 和 <code>sup:...</code>,其他支援的指示符如下: * <code>pred:...</code>:覆寫表語形式 * <code>ss</code>:在以母音開頭的詞尾前將 ''-ß'' 改為 ''-ss''(在 1996 年前的拼寫中常見) * <code>indecl</code>:形容詞無詞形變化(主要在詞頭中有用,使用 {{temp|de-adj}}) * <code>predonly</code>:形容詞僅作表語(主要在詞頭中有用,使用 {{temp|de-adj}}) * <code>sync_n</code>:將 ''-en'' 詞尾縮略(即使用詞尾 ''-n'' 代替 ''-en'') * <code>sync_mn</code>:將 ''-em'' 和 ''-en'' 詞尾縮略 * <code>sync_mns</code>:將 ''-em''、''-en'' 和 ''-es'' 詞尾縮略 覆寫表語形式特別適合用來將其完全抑制。適用的一個例子是 {{m|de|erste||第一}}: {{temp|de-adecl|pred:-}} 會產生 {{de-adecl|pred:-|pagename=erste|truncate=1}} ===預設最高級演算法=== 注意:最高級規格中的相對引用(例如 <code>+est</code>、<code>+</code>、<code>^</code>)是以原級詞幹為基礎構成的。但是,如果沒有為最高級給出值,最高級會由比較級詞幹推導出來:移除最後的 ''-er'',再根據下面的演算法構成預設最高級。這表示明確的 <code>sup:+</code> 與省略最高級'''並不'''相同(前者將預設最高級演算法套用於原級詞幹,後者則套用於比較級詞幹)。 以下演算法由原級或比較級詞幹產生預設最高級(見上一段): # 如果詞幹是使用 <code>-e</code> 規格生成的(該規格從以 ''-el''、''-em''、''-en'' 或 ''-er'' 結尾的詞條或詞幹中移除 ''-e-''),則恢復 ''e'',然後加上 ''-st''。例如,如果詞條是 {{m|de|simpel||簡單的}} 並給出了規格 <code>stem:-e</code>,推導出原級詞幹 ''simpl-'' 和比較級詞幹 ''simpler'',則最高級詞幹會是 ''simpelst'',帶有恢復的中綴 ''-e-''。此外,如果給出了指示符 <code>ss</code>(它使用 1996 年前關於 ''ß'' 用法的拼寫慣例來變格形容詞),''ss'' 和 ''ß'' 之間的交替會被正確處理。例如,如果詞條是 {{m|de|abgeschlossen||封閉的;僻靜的}} 並給出了規格 <code>stem:-e.ss</code>,原級詞幹會是 ''abgeschloßn-'',比較級詞幹會是 ''abgeschloßner'',但在最高級中,原本的 ''ss'' 和中綴 ''-e-'' 都會恢復,產生 ''abgeschlossenst-''。 # 否則,我們檢查以下特殊情況: ## 如果詞幹以 ''-groß'' 或 ''-größ''(或以 ''-ss'' 結尾的瑞士變體)結尾,只加上 ''-t''。例如,對於詞條 {{m|de|flächengroß||特別大的}},如果給出規格 <code>comp:^</code>,比較級會是 {{m|de|flächengrößer}}(帶變音),並由此推導出最高級詞幹 ''flächengrößt-''。 ## 如果詞幹以 ''-hoh'' 或 ''-höh'' 結尾,將其替換為 ''-höchst''。例如,對於詞條 {{m|de|ranghoch||位階高的}},如果給出規格 <code>stem:ranghoh.comp:^</code>,原級詞幹會是 ''ranghoh-'',比較級會是 {{m|de|ranghöher}}(帶變音),並由此推導出最高級詞幹 ''ranghöchst-''。 ## 如果詞幹以 ''-nah'' 或 ''-näh'' 結尾,將其替換為 ''-nächst''。例如,對於詞條 {{m|de|citynah||靠近城市的}},如果給出規格 <code>comp:^</code>,比較級會是 {{m|de|citynäher}}(帶變音),並由此推導出最高級詞幹 ''citynächst-''。 # 否則,如果詞幹以母音 + ''-h'' 結尾,會推導出兩個最高級,一個以 ''-st'' 結尾,另一個以 ''-est'' 結尾。例如,詞條 {{m|de|froh||高興的}} 配合規格 <code>comp</code> 會生成兩個最高級 ''frohst-'' 和 ''frohest-''。 # 否則,如果詞幹看起來像詞尾不帶重音的現在分詞或過去分詞,加上 ''-st'' 來構成最高級詞幹。偶爾出現的詞尾相同的非分詞形容詞通常需要特殊處理。我們具體檢查以下情況: ## 以 ''-end''、''-ernd'' 或 ''-elnd'' 結尾的現在分詞。少數形容詞如 {{m|de|elend||悲慘的}}、{{m|de|behend}}/{{m|de|behende||敏捷的}} 和 {{m|de|horrend||駭人的}} 需要特殊處理。 ## 以 ''-et''、''-ert'' 或 ''-elt'' 結尾的過去分詞(但不包括帶重音的詞尾 ''-iert''、''-ielt'' 和 ''-wert'')。少數形容詞如 {{m|de|alert||機敏的}}、{{m|de|inert||惰性的}}、{{m|de|concret||具體的}}、{{m|de|discret||離散的}} 和 {{m|de|obsolet||過時的}} 需要特殊處理。 ## 以 ''-igt'' 結尾的過去分詞(但不包括帶重音的詞尾 ''-eigt'',例如在 {{m|de|abgeneigt||不情願的,厭惡的;反對的}} 中)。少數形容詞如 {{m|de|gewitzigt||(因吃過虧而)學乖的}} 和 {{m|de|gerechtfertigt||有正當理由的}} 需要特殊處理。 # 否則,如果詞幹以雙母音結尾,例如 {{m|de|scheu||害羞的}}、{{m|de|neu||新的}}、{{m|de|schlau||聰明的}}、{{m|de|frei||自由的}}、{{m|de|blau}}/{{m|de|blaw||藍色的}},會推導出兩個最高級,一個以 ''-est'' 結尾,另一個以 ''-st'' 結尾。 # 否則,如果詞幹以 ''-s''、''-z''、''-x''、''-ß''、''-d''、''-t'' 或 ''-sk'' 中的任何一個結尾(參見 {{m|de|burlesk||滑稽的}}、{{m|de|grotesk||怪誕的}}、{{m|de|pittoresk||如畫的}}、{{m|de|brüsk||唐突的}}、{{m|de|promisk||濫交的}} 等),加上 ''-est''。 # 否則,如果詞幹以 ''-sch'' 但不是 ''-sch'' 結尾(參見 {{m|de|barsch||粗暴的,不友善的}}、{{m|de|falsch||錯誤的}}、{{m|de|fesch||時髦的}}、{{m|de|forsch||俐落的,大膽的}}、{{m|de|frisch||新鮮的}}、{{m|de|harsch||粗糙的,嚴厲的}}、{{m|de|keusch||貞潔的}}、{{m|de|lasch||軟弱無力的,鬆散的}}、{{m|de|morsch||腐朽的;易碎的}}、{{m|de|rasch||快速的,迅速的}}、{{m|de|wirsch||生氣的,激動的}} 等),會推導出兩個最高級,一個以 ''-est'' 結尾,另一個以 ''-st'' 結尾。 # 否則,加上 ''-st''。 這個演算法相當複雜,但能正確處理絕大多數情況。 ===腳註=== 腳註可以通過在給定形式後的方括號中放置文字來表示。例如,{{m|de|orange||橙色的}} 有不同的正式和非正式形式。要表示這一點,使用以下寫法: {{temp|de-adecl|stem:+[正式]:+en[非正式].comp.sup:orangest[正式]:orangenst[非正式]}} 會產生 {{de-adecl|stem:+[正式]:+en[非正式].comp.sup:orangest[正式]:orangenst[非正式]|pagename=orange|truncate=1}} 這樣的腳註在詞頭中顯示為限定語: {{de-adj|stem:+[正式]:+en[非正式].comp.sup:orangest[正式]:orangenst[非正式]|pagename=orange}} ===角括號記號和變體=== 有一種可選的記號,明確指定詞條及其變格。例如對於 {{m|de|lang}},可以使用以下寫法: {{temp|de-adecl|lang<comp:^>}} 由於這裡的詞條與角括號附加的詞條相同,可以省略: {{temp|de-adecl|<comp:^>}} 兩種記號都等價於以下寫法,也就是通常的記號: {{temp|de-adecl|comp:^}} 對於單詞詞條,通常不需要角括號,但在[[#多詞表達式|多詞表達式]](見下文)和變體中它們變得必要。當給定的詞或表達式有多種可能的變格,無法使用指定多個原級、比較級或最高級詞幹的現有可能性來輕鬆指定時,就使用變體。一個例子是 {{m|de|anderer||其他的}},它有帶縮略詞尾的替代形式,特別用於口語,但有時也見於書面語。基本上有兩種可能的變格:一種不帶縮略詞尾,另一種將 ''-em'' 和 ''-en'' 分別縮略為 ''-m'' 和 ''-n''。要指定多種變格,使用這樣的語法:<code>((ALTERNANT1,ALTERNANT2,...))</code>,其中每個變體必須包含角括號。對於 {{m|de|anderer}},使用以下寫法: {{temp|de-adecl|((<stem:ander:andr[主要用於口語].pred:->,<stem:ander[主要用於口語].sync_mn.pred:->))}} 會產生 {{de-adecl|((<stem:ander:andr[主要用於口語].pred:->,<stem:ander[主要用於口語].sync_mn.pred:->))|pagename=anderer}} 我們可以這樣拆解這個規格: # 有兩個變體,每個都使用如上所述的角括號記號來表示,其中詞條 <code>anderer</code> 被省略(儘管也可以給出)。 # 第一個變體是 <code>stem:ander:andr[主要用於口語].pred:-</code>。這個變體的運作方式如下: ## 它指定兩個原級詞幹 ''ander-'' 和 ''andr-'',後者附有腳註/限定語「主要用於口語」(見上面的[[#腳註]])。 ## 此外,表語形式被抑制,因為不可能說出像 #{{m|de|er ist ander||他是其他的}} 這樣的話。 ## 沒有指定比較級或最高級形式,所以不會包含任何這類形式。(英語中不可能說 #"he is more other" 或 #"he is most other";德語也是如此。) # 第二個變體是 <code>stem:ander[主要用於口語].sync_mn.pred:-</code>。這個變體的運作方式如下: ## 它指定一個原級詞幹 ''ander-'',附有腳註/限定語「主要用於口語」。 ## 此外,表語形式被抑制,與第一個變體相同。 ## 最後,指示符 <code>sync_mn</code> 使詞尾 ''-em'' 和 ''-en'' 分別縮略為 ''-m'' 和 ''-n''。由於這個指示符包含在只有單一原級詞幹 ''ander-'' 的變體中,縮略詞尾只會加在這個詞幹上,而不會加在第一個變體中的詞幹 ''andr-'' 上。又由於該原級詞幹附有腳註,該腳註會與縮略詞尾一起顯示。最後,注意含有詞尾 ''-er''、''-e'' 和 ''-es'' 的形式也會生成並加在原級詞幹 ''ander-'' 上;但所得的形式 {{m|de|anderer}}、{{m|de|andere}}、{{m|de|anderes}} 與第一個變體生成的形式重複,所以會被抑制。 ===多詞表達式=== 多詞表達式可以使用與名詞相同的語法來指定(見 [[Template:de-ndecl]]),不過用於形容詞時較不常見,用處也較小。 ===覆寫=== 您可以使用指示符 <code>SLOT:VALUE:VALUE:...</code> 覆寫特定的格/數/性別組合,其中 <code>SLOT</code> 指定要覆寫的特定位置,例如 <code>mix_nom_m</code> 表示混合變化主格陽性單數,<code>sup_str_dat_p</code> 表示最高級強變化與格複數,<code>comp_pred</code> 表示比較級表語。<code>VALUE</code> 的可能值與上面[[#明確指定比較級或最高級詞幹]]所述相同:明確的形式;值 <code>+</code>,用來請求預設值;像 <code>+en</code> 這樣的值,用來將詞尾加在原級詞幹上;變音變體;值 <code>-e</code>,用來抑制中綴 ''-e-'';以及值 <code>-</code>,用來完全抑制該形式。方括號中的腳註/限定語可以附加在值的末尾,如同原級、比較級或最高級詞幹。 事實上,用來抑制表語形式的常見指示符 <code>pred:-</code> 只是覆寫的一個特例。 已識別的位置名稱如下: # 原級形式的位置名稱,格式為 <code>STATE_CASE_GENDER</code>。其中: ## <code>STATE</code> 是 <code>str</code>(強變化)、<code>wk</code>(弱變化)或 <code>mix</code>(混合變化)之一; ## <code>CASE</code> 是 <code>nom</code>(主格)、<code>gen</code>(屬格)、<code>dat</code>(與格)或 <code>acc</code>(賓格)之一; ## <code>GENDER</code> 是 <code>m</code>(陽性單數)、<code>f</code>(陰性單數)、<code>n</code>(中性單數)或 <code>p</code>(複數)之一。 # 比較級/最高級形式的位置名稱,格式為 <code>COMP_STATE_CASE_GENDER</code>,其中 <code>COMP</code> 是 <code>comp</code>(比較級)或 <code>sup</code>(最高級),其餘部分同上。 # 表語位置名稱:<code>pred</code>(原級表語)、<code>comp_pred</code>(比較級表語)或 <code>sup_pred</code>(最高級表語)之一。 # 分性別的表語位置名稱:<code>pred_GENDER</code>(原級分性別表語)、<code>comp_pred_GENDER</code>(比較級分性別表語)或 <code>sup_pred_GENDER</code>(最高級分性別表語)之一,其中 <code>GENDER</code> 同上,是 <code>m</code>、<code>f</code>、<code>n</code> 或 <code>p</code> 之一。 ==其他參數== ; {{para|pagename}} : 指定要當作頁面名稱的詞,取代實際的頁面名稱。用於說明頁、測試頁,或要在別的頁面上示範時。 ; {{para|json|1}} : 不顯示表格,改以 JSON 格式輸出所有屈折形式及相關資訊,供機器人使用。 ; {{para|truncate|1}} : 把表格截短(強變化、弱變化、混合變化各只列主格),用來降低說明頁和測試頁的模板展開量。 <includeonly> [[Category:德語形容詞變格表模板]] </includeonly> skagk4b8kspi0yrk9zz91vy118zds0u Template:De-adj/doc 10 3543277 9938453 2026-10-04T18:20:14Z TongcyDai 53191 譯自 enwikt Template:de-adj/documentation 9938453 wikitext text/x-wiki {{documentation subpage}} 這個模板用於所有德語形容詞。這個模板會自動將頁面加入到[[:Category:德語形容詞]]。由 [[Module:de-headword]] 實現。 {{isAccelerated}} ==用法== 在「詞性」標題(例如 {{m|de|klein}})下直接使用: <pre> ==德語== ===形容詞=== {{de-adj|comp}} # [[小]]的 </pre> ==參數== 如果形容詞無比較級(即沒有比較級或最高級形式),這個模板通常不帶參數;如果形容詞有比較級,則帶一個編號參數(通常只是 <code>comp</code>)。 參數: ; {{para|1}} : 指定詞幹、比較級和/或最高級形式。格式與 {{temp|de-adecl}} 相同;見該模板和下面的例子。 ; {{para|nolinkhead|1}} : 在多詞表達式中不自動連結各個詞。 ; {{para|splithyph|1}} : 當有空格時自動連結連字符詞的各個部分(如果沒有空格會自動發生)。 ; {{para|head}}, {{para|head2}}, ... : 明確指定詞頭。只有在多詞表達式中預設自動連結不正確時才需要,即使如此也很少需要;優先使用 {{para|1}} 中帶明確連結的角括號語法。 ==例子== {|class="wikitable" ! 頁面 !! 例子和結果 !! 說明 |- | rowspan=2| {{m|de|binär||二進位的}} || {{temp|de-adj}} || rowspan=2| 無比較級。 |- | {{de-adj|pagename=binär}} |- | rowspan=2| {{m|de|klein||小的}} || {{temp|de-adj|comp}} || rowspan=2| 有比較級。 |- | {{de-adj|comp|pagename=klein}} |- | rowspan=2| {{m|de|müde||疲倦的}} || {{temp|de-adj|comp}} || rowspan=2| 詞幹自動移除 ''-e'',最高級在 ''-d'' 後加上 ''-est''。 |- | {{de-adj|comp|pagename=müde}} |- | rowspan=2| {{m|de|akzeptabel||可接受的}} || {{temp|de-adj|comp}} || rowspan=2| 詞幹和比較級自動以 ''-abl'' 結尾,但最高級以 ''-abel'' 結尾。 |- | {{de-adj|comp|pagename=akzeptabel}} |- | rowspan=2| {{m|de|neu||新的}} || {{temp|de-adj|comp}} || rowspan=2| 以雙母音結尾的形容詞預設有兩個最高級。 |- | {{de-adj|comp|pagename=neu}} |- | rowspan=2| {{m|de|fit||健壯的}} || {{temp|de-adj|stem:fitt.comp}} || rowspan=2| 明確指定詞幹。 |- | {{de-adj|stem:fitt.comp|pagename=fit}} |- | rowspan=2| {{m|de|simpel||簡單的}} || {{temp|de-adj|stem:-e.comp}} || rowspan=2| 明確請求在詞幹和比較級中抑制 ''-e-''(比較上面的 {{m|de|akzeptabel}})。 |- | {{de-adj|stem:-e.comp|pagename=simpel}} |- | rowspan=2| {{m|de|gut||好的}} || {{temp|de-adj|comp:besser.sup:best}} || rowspan=2| 明確指定比較級和最高級。 |- | {{de-adj|comp:besser.sup:best|pagename=gut}} |- | rowspan=2| {{m|de|lang||長的}} || {{temp|de-adj|comp:^}} || rowspan=2| 請求在比較級和最高級中變音。 |- | {{de-adj|comp:^|pagename=lang}} |- | rowspan=2| {{m|de|nass||濕的}} || {{temp|de-adj|comp:+:^}} || rowspan=2| 比較級/最高級有兩種形式,不帶變音和帶變音。 |- | {{de-adj|comp:+:^|pagename=nass}} |- | rowspan=2| {{m|de|abgeschlossen||獨立的,封閉的}} || {{temp|de-adj|comp:+:-e}} || rowspan=2| 比較級有兩種形式,不抑制和抑制 ''-e-''。 |- | {{de-adj|comp:+:-e|pagename=abgeschlossen}} |- | rowspan=2| {{m|de|aufrecht||直立的}} || {{temp|de-adj|comp.sup:+est:+st[不常見]}} || rowspan=2| 最高級有兩種形式,其中一種標記為不常見。 |- | {{de-adj|comp.sup:+est:+st[不常見]|pagename=aufrecht}} |- | rowspan=2| {{m|de|rosa||粉紅色的}} || {{temp|de-adj|stem:rosan:+.comp:rosaner.sup:rosanst:rosast}} || rowspan=2| 兩個詞幹和最高級,一個帶中綴 ''-n-'',一個不帶。 |- | {{de-adj|stem:rosan:+.comp:rosaner.sup:rosanst:rosast|pagename=rosa}} |- | rowspan=2| {{m|de|orange||橙色的}} || {{temp|de-adj|stem:+[正式]:+en[非正式].comp.sup:orangest[正式]:orangenst[非正式]}} || rowspan=2| 與 {{m|de|rosa}} 有些類似的例子,帶限定語。 |- | {{de-adj|stem:+[正式]:+en[非正式].comp.sup:orangest[正式]:orangenst[非正式]|pagename=orange}} |- | rowspan=2| {{m|de|dunkel||暗的}} || {{temp|de-adj|stem:-e.comp:+:^[奧地利德語另作].sup:dunkelst}} || rowspan=2| 複雜的例子,有帶變音的替代(奧地利)比較級形式。 |- | {{de-adj|stem:-e.comp:+:^[奧地利德語另作].sup:dunkelst|pagename=dunkel}} |- | rowspan=2| {{m|de|erste||第一}} || {{temp|de-adj|pred:-}} || rowspan=2| 無表語形式。 |- | {{de-adj|pred:-|pagename=erste}} |- | rowspan=2| {{m|de|allerdurchlauchtig||帝王的;顯赫的}} || {{temp|de-adj|comp:-.sup:+}} || rowspan=2| 有最高級但無比較級。 |- | {{de-adj|comp:-.sup:+|pagename=allerdurchlauchtig}} |- | rowspan=2| {{m|de|Cottbuser||科特布斯的}} || {{temp|de-adj|indecl}} || rowspan=2| 無詞形變化。 |- | {{de-adj|indecl|pagename=Cottbuser}} |} <includeonly>{{hwcat}}</includeonly> pq63uti8z04nvdzysrko253s7iutcxa Template:De-proper-noun/doc 10 3543278 9938454 2026-10-04T18:20:16Z TongcyDai 53191 譯自 enwikt Template:de-proper noun/documentation 9938454 wikitext text/x-wiki {{documentation subpage}} 這個模板用於所有德語專有名詞。在「詞性」標題下直接使用。它的功能與 {{temp|de-noun}} 完全相同,除了以下幾點: # 它將頁面分類到[[:Category:德語專有名詞]],而不是[[:Category:德語名詞]]。 # 它在詞頭的屈折部分顯示「專有名詞」標籤。 # 它預設為僅單數,除非明確給出複數或指定了指示符 <code>.both</code>。 # 對於某些類別的名詞,有特殊的指示符可用,會自動處理正確的性別和變格。同樣的指示符在 {{tl|de-ndecl}} 中也可用。 ## <code>surname</code> 用於姓氏 ## <code>langname</code> 用於以 {{m|de|-isch}} 結尾的語言名稱 ## <code>toponym</code> 用於某種沒有文檔說明的情況,但用於例如 {{m|de|Italien|g=n}} 或 {{m|de|Berlin|g=n}},而不用於例如 {{m|de|Türkei|g=f}} ==例子== 1. 位於 {{m|de|Aachen||[[亞琛]]}}: <pre> {{de-proper noun|toponym}} </pre> 會產生 {{de-proper noun|toponym|pagename=Aachen}} 2. 位於 {{m|de|Grinzens||格林岑斯}}: <pre> {{de-proper noun|n,'}} </pre> 或現在 <pre> {{de-proper noun|toponym}} </pre> 會產生 {{de-proper noun|n,'|pagename=Grinzens}} 或現在 {{de-proper noun|toponym|pagename=Grinzens}} 3. 位於 {{m|de|Golfkrieg||波斯灣戰爭}}: <pre> {{de-proper noun|m,(e)s.both}} </pre> 會產生 {{de-proper noun|m,(e)s.both|pagename=Golfkrieg}} 4. 位於 {{m|de|Hans||[[漢斯]]}}: <pre> {{de-proper noun|m,':ens[過時],^e|dim=^chen,^el,i,^lein}} </pre> 會產生 {{de-proper noun|m,':ens[過時],^e|dim=^chen,^el,i,^lein|pagename=Hans}} 5. 位於 {{m|de|Eva||[[夏娃]],[[伊娃]]}}: <pre> {{de-proper noun|f|dim=Evchen,chen,lein}} </pre> 會產生 {{de-proper noun|f|dim=Evchen,chen,lein|pagename=Eva}} 6. 位於 {{m|de|St. Vincent und die Grenadinen||[[聖文森及格瑞那丁]]}}: <pre> {{de-proper noun|n,St\. Vincent und der Grenadinen|head=[[St. Vincent]] [[und]] [[die]] [[Grenadinen]]}} </pre> 或現在: <pre> {{de-proper noun|toponym,St\. Vincents und der Grenadinen|head=[[St. Vincent]] [[und]] [[die]] [[Grenadinen]]}} </pre> 會產生 {{de-proper noun|n,St\. Vincents und der Grenadinen|head=[[St. Vincent]] [[und]] [[die]] [[Grenadinen]]}} 或現在: {{de-proper noun|toponym,St\. Vincents und der Grenadinen|head=[[St. Vincent]] [[und]] [[die]] [[Grenadinen]]|pagename=St. Vincent und die Grenadinen}} 7. 位於 {{m|de|Maier||[[邁爾]]}}: <pre> {{de-proper noun|surname}} </pre> 會產生 {{de-proper noun|surname|pagename=Maier}} 8. 位於 {{m|de|Englisch||[[英語]]}}: <pre> {{de-proper noun|langname}} </pre> 會產生 {{de-proper noun|langname|pagename=Englisch}} <includeonly>{{hwcat}}</includeonly> e3sqzfaktdjk75ydlcgqnhv67rsxkuv 糧盡援絕 0 3543279 9938458 2026-10-04T23:18:07Z Fglffer 55252 新詞條 9938458 wikitext text/x-wiki ==漢語== {{zh-forms|s=粮尽援绝}} ===發音=== {{zh-pron |m=liángjìnyuánjué |cat=cy }} ===成語=== {{head|zh|成語}} # {{lb|zh|literally|軍隊}} [[糧食]][[用盡]],[[救援]][[斷絕]] # {{lb|zh|figuratively}} 身處極度[[窮困]][[匱乏]]的[[境地]] ====同義詞==== * {{zh-l|彈盡援絕}} cpp8hnhut9zn4knzns0gnqrcaylega9 不足以 0 3543280 9938473 2026-10-05T09:01:42Z Sayonzei 40728 [[w:WP:AES|←]]建立內容為「==漢語== {{zh-forms|type=12}} ===發音=== {{zh-pron |m=不zúyǐ |c=bat1 zuk1 ji5 |cat=adv }} ===副詞=== {{head|zh|副詞}} # {{lb|zh|書面}} [[不夠]],不[[足夠]],未達到應有的程度」的新頁面 9938473 wikitext text/x-wiki ==漢語== {{zh-forms|type=12}} ===發音=== {{zh-pron |m=不zúyǐ |c=bat1 zuk1 ji5 |cat=adv }} ===副詞=== {{head|zh|副詞}} # {{lb|zh|書面}} [[不夠]],不[[足夠]],未達到應有的程度 seddx4korkgw24t3rm0cy47trr7pw45 Freiraumes 0 3543281 9938474 2026-10-05T09:02:02Z Sayonzei 40728 [[w:WP:AES|←]]建立內容為「==德語== ===發音=== * {{IPA|de|[ˈfʁaɪ̯ʁaʊ̯məs]}} * {{audio|de|De-Freiraumes.ogg|a=柏林}} * {{hyph|de|Frei|rau|mes}} ===名詞=== {{head|de|名詞變格形}} # {{inflection of|de|Freiraum||gen|s}}」的新頁面 9938474 wikitext text/x-wiki ==德語== ===發音=== * {{IPA|de|[ˈfʁaɪ̯ʁaʊ̯məs]}} * {{audio|de|De-Freiraumes.ogg|a=柏林}} * {{hyph|de|Frei|rau|mes}} ===名詞=== {{head|de|名詞變格形}} # {{inflection of|de|Freiraum||gen|s}} ahn1iupucpxrg8h1jvhe6juoi0lhmny Freiraums 0 3543282 9938475 2026-10-05T09:02:04Z Sayonzei 40728 [[w:WP:AES|←]]建立內容為「==德語== ===發音=== * {{IPA|de|[ˈfʁaɪ̯ʁaʊ̯ms]}} * {{audio|de|De-Freiraums.ogg|a=柏林}} * {{hyph|de|Frei|raums}} ===名詞=== {{head|de|名詞變格形}} # {{inflection of|de|Freiraum||gen|s}}」的新頁面 9938475 wikitext text/x-wiki ==德語== ===發音=== * {{IPA|de|[ˈfʁaɪ̯ʁaʊ̯ms]}} * {{audio|de|De-Freiraums.ogg|a=柏林}} * {{hyph|de|Frei|raums}} ===名詞=== {{head|de|名詞變格形}} # {{inflection of|de|Freiraum||gen|s}} e32wuee1w6eso74u69xtgtf1zn6n7sa Freiräume 0 3543283 9938476 2026-10-05T09:02:08Z Sayonzei 40728 [[w:WP:AES|←]]建立內容為「==德語== ===發音=== * {{IPA|de|[ˈfʁaɪ̯ʁɔɪ̯mə]}} * {{audio|de|De-Freiräume.ogg|a=柏林}} * {{hyph|de|Frei|räu|me}} * {{audio|de|De-at-Freiräume.ogg|a=Austria}} * {{rhymes|de|ɔɪ̯mə}} ===名詞=== {{head|de|名詞變格形}} # {{inflection of|de|Freiraum||nom//acc//gen|p}}」的新頁面 9938476 wikitext text/x-wiki ==德語== ===發音=== * {{IPA|de|[ˈfʁaɪ̯ʁɔɪ̯mə]}} * {{audio|de|De-Freiräume.ogg|a=柏林}} * {{hyph|de|Frei|räu|me}} * {{audio|de|De-at-Freiräume.ogg|a=Austria}} * {{rhymes|de|ɔɪ̯mə}} ===名詞=== {{head|de|名詞變格形}} # {{inflection of|de|Freiraum||nom//acc//gen|p}} qd24sezulsy0iy074629n87c5jjojdw Freiraume 0 3543284 9938477 2026-10-05T09:02:26Z Sayonzei 40728 [[w:WP:AES|←]]建立內容為「==德語== ===發音=== * {{IPA|de|/ˈfʁaɪ̯ˌʁaʊ̯mə/}} * {{audio|de|De-Freiraume.ogg|a=柏林}} ===名詞=== {{head|de|名詞變格形}} # {{infl of|de|Freiraum||dat|s}}」的新頁面 9938477 wikitext text/x-wiki ==德語== ===發音=== * {{IPA|de|/ˈfʁaɪ̯ˌʁaʊ̯mə/}} * {{audio|de|De-Freiraume.ogg|a=柏林}} ===名詞=== {{head|de|名詞變格形}} # {{infl of|de|Freiraum||dat|s}} 503l12g9274173nf98jys3zi2js694u Freiräumen 0 3543285 9938478 2026-10-05T09:02:28Z Sayonzei 40728 [[w:WP:AES|←]]建立內容為「==德語== ===發音=== * {{IPA|de|/ˈfʁaɪ̯ˌʁɔɪ̯mən/}} * {{audio|de|De-Freiräumen.ogg|a=柏林}} ===名詞=== {{head|de|名詞變格形}} # {{infl of|de|Freiraum||dat|p}}」的新頁面 9938478 wikitext text/x-wiki ==德語== ===發音=== * {{IPA|de|/ˈfʁaɪ̯ˌʁɔɪ̯mən/}} * {{audio|de|De-Freiräumen.ogg|a=柏林}} ===名詞=== {{head|de|名詞變格形}} # {{infl of|de|Freiraum||dat|p}} scrfigzgrd7h9xjhea49g5d2ikj5cdd forexes 0 3543286 9938479 2026-10-05T09:02:57Z Sayonzei 40728 [[w:WP:AES|←]]建立內容為「==英語== ===名詞=== {{head|en|名詞變格形}} # {{plural of|en|forex}} ===異序詞=== * {{anagrams|en|a=eeforsx|foresex}}」的新頁面 9938479 wikitext text/x-wiki ==英語== ===名詞=== {{head|en|名詞變格形}} # {{plural of|en|forex}} ===異序詞=== * {{anagrams|en|a=eeforsx|foresex}} d0vjmov3s8rrtph9pj85bilrg4d0d28 reigū 0 3543287 9938481 2026-10-05T09:04:51Z Sayonzei 40728 [[w:WP:AES|←]]建立內容為「==日語== ===羅馬化=== {{ja-romaji}} # {{ja-romanization of|れいぐう}}」的新頁面 9938481 wikitext text/x-wiki ==日語== ===羅馬化=== {{ja-romaji}} # {{ja-romanization of|れいぐう}} 1f7rk7ys2s9xs44auv93zons066nz2k gependelt 0 3543288 9938483 2026-10-05T09:05:48Z Sayonzei 40728 [[w:WP:AES|←]]建立內容為「==德語== ===發音=== * {{IPA|de|/ɡəˈpɛndl̩t/}} * {{audio|de|De-gependelt.ogg|a=柏林}} ===分詞=== {{head|de|過去分詞}} # {{past participle of|de|pendeln}} ====變格==== {{de-adecl}}」的新頁面 9938483 wikitext text/x-wiki ==德語== ===發音=== * {{IPA|de|/ɡəˈpɛndl̩t/}} * {{audio|de|De-gependelt.ogg|a=柏林}} ===分詞=== {{head|de|過去分詞}} # {{past participle of|de|pendeln}} ====變格==== {{de-adecl}} aee3yq6obntx8rr4ryq8e2978rqo69i pendelnder 0 3543289 9938484 2026-10-05T09:06:32Z Sayonzei 40728 [[w:WP:AES|←]]建立內容為「==德語== ===發音=== * {{IPA|de|/ˈpɛndl̩ndɐ/}} * {{audio|de|De-pendelnder.ogg|a=柏林}} ===分詞=== {{head|de|分詞變格形}} # {{de-adj form of|pendelnd}}」的新頁面 9938484 wikitext text/x-wiki ==德語== ===發音=== * {{IPA|de|/ˈpɛndl̩ndɐ/}} * {{audio|de|De-pendelnder.ogg|a=柏林}} ===分詞=== {{head|de|分詞變格形}} # {{de-adj form of|pendelnd}} gaqe52ajdn4jy5r9gz1unrqmrsrhzww pendelnden 0 3543290 9938485 2026-10-05T09:06:33Z Sayonzei 40728 [[w:WP:AES|←]]建立內容為「==德語== ===發音=== * {{IPA|de|/ˈpɛndl̩ndn̩/}} * {{audio|de|De-pendelnden.ogg|a=柏林}} ===分詞=== {{head|de|分詞變格形}} # {{de-adj form of|pendelnd}}」的新頁面 9938485 wikitext text/x-wiki ==德語== ===發音=== * {{IPA|de|/ˈpɛndl̩ndn̩/}} * {{audio|de|De-pendelnden.ogg|a=柏林}} ===分詞=== {{head|de|分詞變格形}} # {{de-adj form of|pendelnd}} 0fnha8jauuec69tfk4x52lbc2e2klma pendelnde 0 3543291 9938486 2026-10-05T09:06:33Z Sayonzei 40728 [[w:WP:AES|←]]建立內容為「==德語== ===發音=== * {{IPA|de|/ˈpɛndl̩ndə/}} * {{audio|de|De-pendelnde.ogg|a=柏林}} ===分詞=== {{head|de|分詞變格形}} # {{de-adj form of|pendelnd}}」的新頁面 9938486 wikitext text/x-wiki ==德語== ===發音=== * {{IPA|de|/ˈpɛndl̩ndə/}} * {{audio|de|De-pendelnde.ogg|a=柏林}} ===分詞=== {{head|de|分詞變格形}} # {{de-adj form of|pendelnd}} l9t5eqp5xudhl27l7jrgk2mkaahn14w pendelndem 0 3543292 9938487 2026-10-05T09:06:33Z Sayonzei 40728 [[w:WP:AES|←]]建立內容為「==德語== ===發音=== * {{IPA|de|/ˈpɛndl̩ndəm/}} * {{audio|de|De-pendelndem.ogg|a=柏林}} ===分詞=== {{head|de|分詞變格形}} # {{de-adj form of|pendelnd}}」的新頁面 9938487 wikitext text/x-wiki ==德語== ===發音=== * {{IPA|de|/ˈpɛndl̩ndəm/}} * {{audio|de|De-pendelndem.ogg|a=柏林}} ===分詞=== {{head|de|分詞變格形}} # {{de-adj form of|pendelnd}} d3zj6h8rtnrlucm35ysabr453jcg86w pendelndes 0 3543293 9938488 2026-10-05T09:06:34Z Sayonzei 40728 [[w:WP:AES|←]]建立內容為「==德語== ===發音=== * {{IPA|de|/ˈpɛndl̩ndəs/}} * {{audio|de|De-pendelndes.ogg|a=柏林}} ===分詞=== {{head|de|分詞變格形}} # {{de-adj form of|pendelnd}}」的新頁面 9938488 wikitext text/x-wiki ==德語== ===發音=== * {{IPA|de|/ˈpɛndl̩ndəs/}} * {{audio|de|De-pendelndes.ogg|a=柏林}} ===分詞=== {{head|de|分詞變格形}} # {{de-adj form of|pendelnd}} jkowvmved1pj8ga0fpi9i1p2mqaheg7 gependelter 0 3543294 9938489 2026-10-05T09:06:52Z Sayonzei 40728 [[w:WP:AES|←]]建立內容為「==德語== ===發音=== * {{IPA|de|/ɡəˈpɛndl̩tɐ/}} * {{audio|de|De-gependelter.ogg|a=柏林}} ===分詞=== {{head|de|分詞變格形}} # {{de-adj form of|gependelt}}」的新頁面 9938489 wikitext text/x-wiki ==德語== ===發音=== * {{IPA|de|/ɡəˈpɛndl̩tɐ/}} * {{audio|de|De-gependelter.ogg|a=柏林}} ===分詞=== {{head|de|分詞變格形}} # {{de-adj form of|gependelt}} 43xoeqml3f48vziiklwwyoxy4b4vml4 gependeltem 0 3543295 9938490 2026-10-05T09:06:57Z Sayonzei 40728 [[w:WP:AES|←]]建立內容為「==德語== ===發音=== * {{IPA|de|/ɡəˈpɛndl̩təm/}} * {{audio|de|De-gependeltem.ogg|a=柏林}} ===分詞=== {{head|de|分詞變格形}} # {{de-adj form of|gependelt}}」的新頁面 9938490 wikitext text/x-wiki ==德語== ===發音=== * {{IPA|de|/ɡəˈpɛndl̩təm/}} * {{audio|de|De-gependeltem.ogg|a=柏林}} ===分詞=== {{head|de|分詞變格形}} # {{de-adj form of|gependelt}} fm2nh9rcobh65142b5ldkuswmcrsdm0 gependeltes 0 3543296 9938491 2026-10-05T09:06:57Z Sayonzei 40728 [[w:WP:AES|←]]建立內容為「==德語== ===發音=== * {{IPA|de|/ɡəˈpɛndl̩təs/}} * {{audio|de|De-gependeltes.ogg|a=柏林}} ===分詞=== {{head|de|分詞變格形}} # {{de-adj form of|gependelt}}」的新頁面 9938491 wikitext text/x-wiki ==德語== ===發音=== * {{IPA|de|/ɡəˈpɛndl̩təs/}} * {{audio|de|De-gependeltes.ogg|a=柏林}} ===分詞=== {{head|de|分詞變格形}} # {{de-adj form of|gependelt}} 5jlf9kb7i5kmmqhmwrj8j31z6ix2xsk pendelte 0 3543297 9938492 2026-10-05T09:07:08Z Sayonzei 40728 [[w:WP:AES|←]]建立內容為「==德語== ===發音=== * {{IPA|de|/ˈpɛndl̩tə/}} * {{audio|de|De-pendelte.ogg|a=柏林}} ===動詞=== {{head|de|動詞變位形式}} # {{verb form of|de|pendeln||1//3|s|pret|;|1//3|s|sub|II}} ===分詞=== {{head|de|分詞變格形}} # {{de-adj form of|gependelt}}」的新頁面 9938492 wikitext text/x-wiki ==德語== ===發音=== * {{IPA|de|/ˈpɛndl̩tə/}} * {{audio|de|De-pendelte.ogg|a=柏林}} ===動詞=== {{head|de|動詞變位形式}} # {{verb form of|de|pendeln||1//3|s|pret|;|1//3|s|sub|II}} ===分詞=== {{head|de|分詞變格形}} # {{de-adj form of|gependelt}} kzw2yjva51797bqcoprmrz9644s2ywu 9938495 9938492 2026-10-05T09:07:26Z Sayonzei 40728 /* 德語 */ 9938495 wikitext text/x-wiki ==德語== ===發音=== * {{IPA|de|/ˈpɛndl̩tə/}} * {{audio|de|De-pendelte.ogg|a=柏林}} ===動詞=== {{head|de|動詞變位形式}} # {{verb form of|de|pendeln||1//3|s|pret|;|1//3|s|sub|II}} mjhxx1jnraijussh51oj8fz1gbpr1bk pendelten 0 3543298 9938493 2026-10-05T09:07:11Z Sayonzei 40728 [[w:WP:AES|←]]建立內容為「==德語== ===發音=== * {{IPA|de|/ˈpɛndl̩tn̩/}} * {{audio|de|De-pendelten.ogg|a=柏林}} ===動詞=== {{head|de|動詞變位形式}} # {{verb form of|de|pendeln||1//3|p|pret|;|1//3|p|sub|II}} ===分詞=== {{head|de|分詞變格形}} # {{de-adj form of|gependelt}}」的新頁面 9938493 wikitext text/x-wiki ==德語== ===發音=== * {{IPA|de|/ˈpɛndl̩tn̩/}} * {{audio|de|De-pendelten.ogg|a=柏林}} ===動詞=== {{head|de|動詞變位形式}} # {{verb form of|de|pendeln||1//3|p|pret|;|1//3|p|sub|II}} ===分詞=== {{head|de|分詞變格形}} # {{de-adj form of|gependelt}} lw9aid8exza3kba4x8t47ysx22pg32o 9938494 9938493 2026-10-05T09:07:24Z Sayonzei 40728 /* 德語 */ 9938494 wikitext text/x-wiki ==德語== ===發音=== * {{IPA|de|/ˈpɛndl̩tn̩/}} * {{audio|de|De-pendelten.ogg|a=柏林}} ===動詞=== {{head|de|動詞變位形式}} # {{verb form of|de|pendeln||1//3|p|pret|;|1//3|p|sub|II}} jn29wdo4pvta45l5mf1booy551h0qj2 gependelten 0 3543299 9938496 2026-10-05T09:07:50Z Sayonzei 40728 [[w:WP:AES|←]]建立內容為「==德語== ===發音=== * {{IPA|de|/ɡəˈpɛndl̩tn̩/}} * {{audio|de|De-gependelten.ogg|a=柏林}} ===分詞=== {{head|de|分詞變格形}} # {{de-adj form of|gependelt}}」的新頁面 9938496 wikitext text/x-wiki ==德語== ===發音=== * {{IPA|de|/ɡəˈpɛndl̩tn̩/}} * {{audio|de|De-gependelten.ogg|a=柏林}} ===分詞=== {{head|de|分詞變格形}} # {{de-adj form of|gependelt}} 8uno7alp8nyiph8s4rvanu6lv3jra9v gependelte 0 3543300 9938497 2026-10-05T09:07:50Z Sayonzei 40728 [[w:WP:AES|←]]建立內容為「==德語== ===發音=== * {{IPA|de|/ɡəˈpɛndl̩tə/}} * {{audio|de|De-gependelte.ogg|a=柏林}} ===分詞=== {{head|de|分詞變格形}} # {{de-adj form of|gependelt}}」的新頁面 9938497 wikitext text/x-wiki ==德語== ===發音=== * {{IPA|de|/ɡəˈpɛndl̩tə/}} * {{audio|de|De-gependelte.ogg|a=柏林}} ===分詞=== {{head|de|分詞變格形}} # {{de-adj form of|gependelt}} 2px8m49t1dnc1g5pddr2nmmyw1y5him pendeltest 0 3543301 9938498 2026-10-05T09:07:51Z Sayonzei 40728 [[w:WP:AES|←]]建立內容為「==德語== ===發音=== * {{IPA|de|/ˈpɛndl̩təst/}} * {{audio|de|De-pendeltest.ogg|a=柏林}} ===動詞=== {{head|de|動詞變位形式}} # {{verb form of|de|pendeln||2|s|pret|;|2|s|sub|II}}」的新頁面 9938498 wikitext text/x-wiki ==德語== ===發音=== * {{IPA|de|/ˈpɛndl̩təst/}} * {{audio|de|De-pendeltest.ogg|a=柏林}} ===動詞=== {{head|de|動詞變位形式}} # {{verb form of|de|pendeln||2|s|pret|;|2|s|sub|II}} khx0ddq9p42llyi2t5et1vvsrfqk7a6 pendele 0 3543302 9938499 2026-10-05T09:07:51Z Sayonzei 40728 [[w:WP:AES|←]]建立內容為「{{also|Pendélé}} ==荷蘭語== ===動詞=== {{head|nl|動詞變位形式}} # {{infl of|nl|pendelen||s|pres|sub}} ==德語== ===發音=== * {{IPA|de|/ˈpɛndələ/}} * {{audio|de|De-pendele.ogg|a=柏林}} ===動詞=== {{head|de|動詞變位形式}} # {{verb form of|de|pendeln||1|s|pres|;|s|imp|;|1//3|s|sub|I}} ==西班牙語== ===動詞=== {{head|es|動詞變位形式}} # {{es-verb form of|pender}}」的新頁面 9938499 wikitext text/x-wiki {{also|Pendélé}} ==荷蘭語== ===動詞=== {{head|nl|動詞變位形式}} # {{infl of|nl|pendelen||s|pres|sub}} ==德語== ===發音=== * {{IPA|de|/ˈpɛndələ/}} * {{audio|de|De-pendele.ogg|a=柏林}} ===動詞=== {{head|de|動詞變位形式}} # {{verb form of|de|pendeln||1|s|pres|;|s|imp|;|1//3|s|sub|I}} ==西班牙語== ===動詞=== {{head|es|動詞變位形式}} # {{es-verb form of|pender}} 3mmvxrc6fqtyq87g4w4brm0xin0zz5j pendeltet 0 3543303 9938500 2026-10-05T09:07:51Z Sayonzei 40728 [[w:WP:AES|←]]建立內容為「==德語== ===發音=== * {{IPA|de|/ˈpɛndl̩tət/}} * {{audio|de|De-pendeltet.ogg|a=柏林}} ===動詞=== {{head|de|動詞變位形式}} # {{verb form of|de|pendeln||2|p|pret|;|2|p|sub|II}}」的新頁面 9938500 wikitext text/x-wiki ==德語== ===發音=== * {{IPA|de|/ˈpɛndl̩tət/}} * {{audio|de|De-pendeltet.ogg|a=柏林}} ===動詞=== {{head|de|動詞變位形式}} # {{verb form of|de|pendeln||2|p|pret|;|2|p|sub|II}} 0e6yt0gku3tam9wg42ucz6ui4u0b9qq pendelen 0 3543304 9938501 2026-10-05T09:09:14Z Sayonzei 40728 [[w:WP:AES|←]]建立內容為「==荷蘭語== ===詞源=== 和{{cog|de|pendeln}}、{{cog|en|pendulum}} 同源;最終源自{{der|nl|la|pendulus||懸掛}}。 ===發音=== * {{audio|nl|Nl-pendelen.ogg}} * {{rhymes|nl|ɛndələn|s=3}} ===動詞=== {{nl-verb}} # 通過[[鐘擺]]的[[擺動]]來[[占卜]] # [[通勤]];[[往返]] #: {{syn|nl|forenzen}} ====變位==== {{nl-conj-wk|pendel}} ====派生詞彙==== * {{l|nl|pendelbus}} ==書面挪威語== ===名詞=== {{head…」的新頁面 9938501 wikitext text/x-wiki ==荷蘭語== ===詞源=== 和{{cog|de|pendeln}}、{{cog|en|pendulum}} 同源;最終源自{{der|nl|la|pendulus||懸掛}}。 ===發音=== * {{audio|nl|Nl-pendelen.ogg}} * {{rhymes|nl|ɛndələn|s=3}} ===動詞=== {{nl-verb}} # 通過[[鐘擺]]的[[擺動]]來[[占卜]] # [[通勤]];[[往返]] #: {{syn|nl|forenzen}} ====變位==== {{nl-conj-wk|pendel}} ====派生詞彙==== * {{l|nl|pendelbus}} ==書面挪威語== ===名詞=== {{head|nb|名詞變格形|g=m}} # {{inflection of|nb|pendel||definite|s}} ==新挪威語== ===名詞=== {{head|nn|名詞變格形|g=m}} # {{inflection of|nn|pendel||def|s}} nvg6zkolo886lm7gfferriyx5feoapf pendelst 0 3543305 9938502 2026-10-05T09:09:38Z Sayonzei 40728 [[w:WP:AES|←]]建立內容為「==德語== ===發音=== * {{IPA|de|/ˈpɛndl̩st/}} * {{audio|de|De-pendelst.ogg|a=柏林}} ===動詞=== {{head|de|動詞變位形式}} # {{verb form of|de|pendeln||2|s|pres}}」的新頁面 9938502 wikitext text/x-wiki ==德語== ===發音=== * {{IPA|de|/ˈpɛndl̩st/}} * {{audio|de|De-pendelst.ogg|a=柏林}} ===動詞=== {{head|de|動詞變位形式}} # {{verb form of|de|pendeln||2|s|pres}} 8s5p17wgkuh8q0lqryg27bssqdi17gl pendelt 0 3543306 9938503 2026-10-05T09:09:41Z Sayonzei 40728 [[w:WP:AES|←]]建立內容為「==荷蘭語== ===發音=== * {{audio|nl|Nl-pendelt.ogg}} ===動詞=== {{head|nl|動詞變位形式}} # {{infl of|nl|pendelen||pres-t}} ==德語== ===發音=== * {{IPA|de|/ˈpɛndl̩t/}} * {{audio|de|De-pendelt.ogg|a=柏林}} ===動詞=== {{head|de|動詞變位形式}} # {{verb form of|de|pendeln||3|s|pres|;|2|p|pres|;|p|imp}}」的新頁面 9938503 wikitext text/x-wiki ==荷蘭語== ===發音=== * {{audio|nl|Nl-pendelt.ogg}} ===動詞=== {{head|nl|動詞變位形式}} # {{infl of|nl|pendelen||pres-t}} ==德語== ===發音=== * {{IPA|de|/ˈpɛndl̩t/}} * {{audio|de|De-pendelt.ogg|a=柏林}} ===動詞=== {{head|de|動詞變位形式}} # {{verb form of|de|pendeln||3|s|pres|;|2|p|pres|;|p|imp}} g4dhg435gpbepdw0uva3y3usqis4l1g pendelest 0 3543307 9938504 2026-10-05T09:09:53Z Sayonzei 40728 [[w:WP:AES|←]]建立內容為「==德語== ===動詞=== {{head|de|動詞變位形式}} # {{verb form of|de|pendeln||2|s|sub|I}}」的新頁面 9938504 wikitext text/x-wiki ==德語== ===動詞=== {{head|de|動詞變位形式}} # {{verb form of|de|pendeln||2|s|sub|I}} de3qrx8rdh5iyj0uxjlbml36bmqmy16 pendlest 0 3543308 9938505 2026-10-05T09:09:55Z Sayonzei 40728 [[w:WP:AES|←]]建立內容為「==德語== ===發音=== * {{IPA|de|/ˈpɛndləst/}} * {{audio|de|De-pendlest.ogg|a=柏林}} ===動詞=== {{head|de|動詞變位形式}} # {{verb form of|de|pendeln||2|s|sub|I}}」的新頁面 9938505 wikitext text/x-wiki ==德語== ===發音=== * {{IPA|de|/ˈpɛndləst/}} * {{audio|de|De-pendlest.ogg|a=柏林}} ===動詞=== {{head|de|動詞變位形式}} # {{verb form of|de|pendeln||2|s|sub|I}} ooyd5pmlv5t2z163ggo5fmebjnqy51l pendelet 0 3543309 9938506 2026-10-05T09:09:59Z Sayonzei 40728 [[w:WP:AES|←]]建立內容為「==德語== ===動詞=== {{head|de|動詞變位形式}} # {{verb form of|de|pendeln||2|p|sub|I}}」的新頁面 9938506 wikitext text/x-wiki ==德語== ===動詞=== {{head|de|動詞變位形式}} # {{verb form of|de|pendeln||2|p|sub|I}} 1eak1ulffzk6mpj2q5k9h1pdt0z6ezf pendlet 0 3543310 9938507 2026-10-05T09:10:05Z Sayonzei 40728 [[w:WP:AES|←]]建立內容為「==德語== ===發音=== * {{IPA|de|/ˈpɛndlət/}} * {{audio|de|De-pendlet.ogg|a=柏林}} ===動詞=== {{head|de|動詞變位形式}} # {{verb form of|de|pendeln||2|p|sub|I}} ==書面挪威語== ===其他形式=== * {{alt|nb|pendla}} ===動詞=== {{head|nb|動詞f}} # {{inflection of|nb|pendle||簡單過去時|;|past|part}}」的新頁面 9938507 wikitext text/x-wiki ==德語== ===發音=== * {{IPA|de|/ˈpɛndlət/}} * {{audio|de|De-pendlet.ogg|a=柏林}} ===動詞=== {{head|de|動詞變位形式}} # {{verb form of|de|pendeln||2|p|sub|I}} ==書面挪威語== ===其他形式=== * {{alt|nb|pendla}} ===動詞=== {{head|nb|動詞f}} # {{inflection of|nb|pendle||簡單過去時|;|past|part}} tc1gtk59ci1gw1uwtjnnpcxue5y9sj6 9938508 9938507 2026-10-05T09:10:19Z Sayonzei 40728 /* 動詞 */ 9938508 wikitext text/x-wiki ==德語== ===發音=== * {{IPA|de|/ˈpɛndlət/}} * {{audio|de|De-pendlet.ogg|a=柏林}} ===動詞=== {{head|de|動詞變位形式}} # {{verb form of|de|pendeln||2|p|sub|I}} ==書面挪威語== ===其他形式=== * {{alt|nb|pendla}} ===動詞=== {{head|nb|動詞變位形式}} # {{inflection of|nb|pendle||簡單過去時|;|past|part}} pg7muej6z1frdbk5wlvyt1mf057wzfv pendelend 0 3543311 9938509 2026-10-05T09:10:40Z Sayonzei 40728 [[w:WP:AES|←]]建立內容為「==荷蘭語== ===發音=== * {{audio|nl|Nl-pendelend.ogg}} ===分詞=== {{head|nl|現在分詞}} # {{present participle of|nl|pendelen}} ====變格==== {{nl-decl-pres-ptc}} ===異序詞=== * {{l|nl|pendelden}}」的新頁面 9938509 wikitext text/x-wiki ==荷蘭語== ===發音=== * {{audio|nl|Nl-pendelend.ogg}} ===分詞=== {{head|nl|現在分詞}} # {{present participle of|nl|pendelen}} ====變格==== {{nl-decl-pres-ptc}} ===異序詞=== * {{l|nl|pendelden}} s3yz0w0yugs18xqp6zs2fpz179nep8z pendelde 0 3543312 9938510 2026-10-05T09:10:42Z Sayonzei 40728 [[w:WP:AES|←]]建立內容為「==荷蘭語== ===發音=== * {{audio|nl|Nl-pendelde.ogg}} ===動詞=== {{head|nl|動詞變位形式}} # {{infl of|nl|pendelen||past-sg}}」的新頁面 9938510 wikitext text/x-wiki ==荷蘭語== ===發音=== * {{audio|nl|Nl-pendelde.ogg}} ===動詞=== {{head|nl|動詞變位形式}} # {{infl of|nl|pendelen||past-sg}} axir2xifmer5v71wiezkfa4xi4p0jc5 pendelden 0 3543313 9938511 2026-10-05T09:10:47Z Sayonzei 40728 [[w:WP:AES|←]]建立內容為「==荷蘭語== ===發音=== * {{audio|nl|Nl-pendelden.ogg}} ===動詞=== {{head|nl|動詞變位形式}} # {{infl of|nl|pendelen||past-pl}} ===異序詞=== * {{l|nl|pendelend}}」的新頁面 9938511 wikitext text/x-wiki ==荷蘭語== ===發音=== * {{audio|nl|Nl-pendelden.ogg}} ===動詞=== {{head|nl|動詞變位形式}} # {{infl of|nl|pendelen||past-pl}} ===異序詞=== * {{l|nl|pendelend}} ox89s5zzvsmmgjfx1qrbqfevlqviqk3 gependeld 0 3543314 9938512 2026-10-05T09:10:49Z Sayonzei 40728 [[w:WP:AES|←]]建立內容為「==荷蘭語== ===發音=== * {{audio|nl|Nl-gependeld.ogg}} ===分詞=== {{nl-past-ptc}} # {{past participle of|nl|pendelen}} ====變格==== {{nl-decl-past-ptc}}」的新頁面 9938512 wikitext text/x-wiki ==荷蘭語== ===發音=== * {{audio|nl|Nl-gependeld.ogg}} ===分詞=== {{nl-past-ptc}} # {{past participle of|nl|pendelen}} ====變格==== {{nl-decl-past-ptc}} josx48fnacb2mhspubw6ymim1n5lcko pendel 0 3543315 9938513 2026-10-05T09:12:47Z Sayonzei 40728 [[w:WP:AES|←]]建立內容為「{{also|Pendel}} ==荷蘭語== ===發音=== * {{audio|nl|Nl-pendel.ogg}} * {{rhymes|nl|ɛndəl|s=2}} ===動詞=== {{head|nl|動詞變位形式}} # {{infl of|nl|pendelen||bare-verb}} ==德語== ===發音=== * {{IPA|de|/ˈpɛndl̩/}} * {{audio|de|De-pendel.ogg|a=柏林}} ===動詞=== {{head|de|動詞變位形式}} # {{verb form of|de|pendeln||1|s|pres|;|s|imp}} ==書面挪威語== {{wp|no:}} ===詞源=== 源自{{der|nb|la|pendulus}}。…」的新頁面 9938513 wikitext text/x-wiki {{also|Pendel}} ==荷蘭語== ===發音=== * {{audio|nl|Nl-pendel.ogg}} * {{rhymes|nl|ɛndəl|s=2}} ===動詞=== {{head|nl|動詞變位形式}} # {{infl of|nl|pendelen||bare-verb}} ==德語== ===發音=== * {{IPA|de|/ˈpɛndl̩/}} * {{audio|de|De-pendel.ogg|a=柏林}} ===動詞=== {{head|de|動詞變位形式}} # {{verb form of|de|pendeln||1|s|pres|;|s|imp}} ==書面挪威語== {{wp|no:}} ===詞源=== 源自{{der|nb|la|pendulus}}。 ===名詞=== {{nb-noun-m1||pendl}} # [[擺]],[[鐘擺]] ===參考資料=== * {{R:nb:OB}} ==新挪威語== {{wp|nn:}} ===詞源=== 源自{{der|nn|la|pendulus}}。 ===名詞=== {{nn-noun-m1||pendl}} # [[擺]],[[鐘擺]] ===參考資料=== * {{R:nn:OB}} ==瑞典語== ===名詞=== {{sv-noun|c}} # [[擺]],[[鐘擺]] # {{lb|sv|運輸|原為 '''[[pendeltåg]]''' 或較少見的 '''[[pendelbuss]]''' 的縮略}} [[通勤]][[運輸]][[系統]]或其中的[[車輛]] ====變格==== {{sv-infl-noun-c-r|3=pendla}} ====派生詞彙==== * {{l|sv|gränspendel}} {{sense|擺}} {{col|sv |pendelaxel |pendellängd |pendelstång |pendelur<t:擺鐘> }} {{sense|通勤}} {{col|sv |citypendel |pendelbåt<t:通勤渡轮> |pendelparkering<t:通勤泊車> |pendeltåg<t:通勤列车> |pendeltrafik<t:通勤運輸> |pendla<t:通勤> |* pendlare<t:通勤者> }} ====相關詞彙==== * {{l|sv|pendla}} * {{l|sv|pendlare}} * {{l|sv|pendling}} ====參見==== * {{l|sv|skytteltrafik}} ===參考資料=== * {{R:svenska.se|so}} * {{R:svenska.se|saol}} * {{R:svenska.se|saob}} q7ybt54vo2vizder6lgwwpjhb9c5yk9 pendle 0 3543316 9938514 2026-10-05T09:13:15Z Sayonzei 40728 [[w:WP:AES|←]]建立內容為「{{also|Pendle}} ==德語== ===發音=== * {{IPA|de|/ˈpɛndlə/}} * {{audio|de|De-pendle.ogg|a=柏林}} ===動詞=== {{head|de|動詞變位形式}} # {{verb form of|de|pendeln||1|s|pres|;|s|imp|;|1//3|s|sub|I}} ==書面挪威語== ===詞源=== 對照{{cog|de|pendeln}} ===動詞=== {{head|nb|動詞|祈使語氣|pendl|or|pendle|現在時|pendler|被動形|pendles|簡單過去時及過去分詞|pendla|or|pendlet|現在分詞|pendlende}} #…」的新頁面 9938514 wikitext text/x-wiki {{also|Pendle}} ==德語== ===發音=== * {{IPA|de|/ˈpɛndlə/}} * {{audio|de|De-pendle.ogg|a=柏林}} ===動詞=== {{head|de|動詞變位形式}} # {{verb form of|de|pendeln||1|s|pres|;|s|imp|;|1//3|s|sub|I}} ==書面挪威語== ===詞源=== 對照{{cog|de|pendeln}} ===動詞=== {{head|nb|動詞|祈使語氣|pendl|or|pendle|現在時|pendler|被動形|pendles|簡單過去時及過去分詞|pendla|or|pendlet|現在分詞|pendlende}} # [[搖擺]];[[振蕩]] # [[通勤]];[[往返]] ====相關詞彙==== * {{l|nb|pendler}} {{qualifier|名詞}} ===參考資料=== * {{R:nb:OB}} ==新挪威語== ===其他形式=== * {{alt|nn|pendla}} ===動詞=== {{nn-verb-1}} # [[搖擺]];[[振蕩]] # [[通勤]];[[往返]] ===參考資料=== * {{R:nn:OB}} 54pzlarwsirb9x4wmbfb3sgzpuem84j nebulizzare 0 3543317 9938515 2026-10-05T09:15:20Z Sayonzei 40728 [[w:WP:AES|←]]建立內容為「==意大利語== ===詞源=== {{ety|it|:af|nebula|-izzare}} 源自 {{suffix|it|nebula|izzare}}。 ===發音=== {{it-pr}} ===動詞=== {{it-verb|a/ì}} # {{lb|it|及物}} 使[[霧化]] ====變位==== {{it-conj|a/ì}} ====派生詞彙==== * {{l|it|nebulizzatore}} * {{l|it|nebulizzazione}} ===異序詞=== * {{anagrams|it|a=abeeilnruzz|nebulizzerà}}」的新頁面 9938515 wikitext text/x-wiki ==意大利語== ===詞源=== {{ety|it|:af|nebula|-izzare}} 源自 {{suffix|it|nebula|izzare}}。 ===發音=== {{it-pr}} ===動詞=== {{it-verb|a/ì}} # {{lb|it|及物}} 使[[霧化]] ====變位==== {{it-conj|a/ì}} ====派生詞彙==== * {{l|it|nebulizzatore}} * {{l|it|nebulizzazione}} ===異序詞=== * {{anagrams|it|a=abeeilnruzz|nebulizzerà}} 5k8lc9vzqlvqbbo3cx8mr74yphs7oyk nebulizzante 0 3543318 9938516 2026-10-05T09:15:26Z Sayonzei 40728 [[w:WP:AES|←]]建立內容為「==意大利語== ===分詞=== {{it-presp}} # {{present participle of|it|nebulizzare}}」的新頁面 9938516 wikitext text/x-wiki ==意大利語== ===分詞=== {{it-presp}} # {{present participle of|it|nebulizzare}} dfoac9pkjoboufvcmvetkgim8bp2ml3 nebulizzato 0 3543319 9938517 2026-10-05T09:15:28Z Sayonzei 40728 [[w:WP:AES|←]]建立內容為「==意大利語== ===分詞=== {{it-pp}} # {{past participle of|it|nebulizzare}}」的新頁面 9938517 wikitext text/x-wiki ==意大利語== ===分詞=== {{it-pp}} # {{past participle of|it|nebulizzare}} 2slg2zbwbzfo45v9ktsjvqpr1kypxr3 nebulizzanti 0 3543320 9938518 2026-10-05T09:15:49Z Sayonzei 40728 [[w:WP:AES|←]]建立內容為「==意大利語== ===分詞=== {{head|it|分詞變格形}} # {{plural of|it|nebulizzante}}」的新頁面 9938518 wikitext text/x-wiki ==意大利語== ===分詞=== {{head|it|分詞變格形}} # {{plural of|it|nebulizzante}} bnn7bdvmfkz043dorj25ijwt1y3fpkd nebulizzata 0 3543321 9938519 2026-10-05T09:15:51Z Sayonzei 40728 [[w:WP:AES|←]]建立內容為「==意大利語== ===分詞=== {{head|it|過去分詞變格形|g=f-s}} # {{feminine singular of|it|nebulizzato}}」的新頁面 9938519 wikitext text/x-wiki ==意大利語== ===分詞=== {{head|it|過去分詞變格形|g=f-s}} # {{feminine singular of|it|nebulizzato}} dh0t9rocirvlqs7bscrabc4m5i9nwv5 nebulizzati 0 3543322 9938520 2026-10-05T09:15:53Z Sayonzei 40728 [[w:WP:AES|←]]建立內容為「==意大利語== ===分詞=== {{head|it|過去分詞變格形|g=m-p}} # {{masculine plural of|it|nebulizzato}}」的新頁面 9938520 wikitext text/x-wiki ==意大利語== ===分詞=== {{head|it|過去分詞變格形|g=m-p}} # {{masculine plural of|it|nebulizzato}} 2subonmmkktqmtkkc0zn65lmsz164gk nebulizzate 0 3543323 9938521 2026-10-05T09:15:55Z Sayonzei 40728 [[w:WP:AES|←]]建立內容為「==意大利語== ===詞源1=== ====動詞==== {{head|it|動詞變位形式}} # {{inflection of|it|nebulizzare||2|p|pres|indc|;|2|p|impr}} ===詞源2=== ====分詞==== {{head|it|過去分詞變格形|g=f-p}} # {{feminine plural of|it|nebulizzato}}」的新頁面 9938521 wikitext text/x-wiki ==意大利語== ===詞源1=== ====動詞==== {{head|it|動詞變位形式}} # {{inflection of|it|nebulizzare||2|p|pres|indc|;|2|p|impr}} ===詞源2=== ====分詞==== {{head|it|過去分詞變格形|g=f-p}} # {{feminine plural of|it|nebulizzato}} ot9ccvvomy0fxyk61bu02esw5gg9y4m nebulizzatore 0 3543324 9938522 2026-10-05T09:16:03Z Sayonzei 40728 [[w:WP:AES|←]]建立內容為「==意大利語== ===詞源=== {{ety|it|:af|nebulizzare|-tore}} 源自 {{suffix|it|nebulizzare|tore}}。 ===發音=== {{it-pr}} ===名詞=== {{it-noun|m}} # [[噴霧器]]」的新頁面 9938522 wikitext text/x-wiki ==意大利語== ===詞源=== {{ety|it|:af|nebulizzare|-tore}} 源自 {{suffix|it|nebulizzare|tore}}。 ===發音=== {{it-pr}} ===名詞=== {{it-noun|m}} # [[噴霧器]] rqyc6wsss1my0sejbwsqy9oqk91gpyk nebulizzatori 0 3543325 9938523 2026-10-05T09:16:19Z Sayonzei 40728 [[w:WP:AES|←]]建立內容為「==意大利語== ===名詞=== {{head|it|名詞變格形|g=m}} # {{plural of|it|nebulizzatore}}」的新頁面 9938523 wikitext text/x-wiki ==意大利語== ===名詞=== {{head|it|名詞變格形|g=m}} # {{plural of|it|nebulizzatore}} m8q6ezp12lb6xmcyc06il3b2j9mo5ai nebulizzazione 0 3543326 9938524 2026-10-05T09:16:28Z Sayonzei 40728 [[w:WP:AES|←]]建立內容為「==意大利語== ===詞源=== {{ety|it|:af|nebulizzare|-zione}} 源自 {{suffix|it|nebulizzare|zione}}。 ===發音=== {{it-pr}} ===名詞=== {{it-noun|f}} # [[霧化]]」的新頁面 9938524 wikitext text/x-wiki ==意大利語== ===詞源=== {{ety|it|:af|nebulizzare|-zione}} 源自 {{suffix|it|nebulizzare|zione}}。 ===發音=== {{it-pr}} ===名詞=== {{it-noun|f}} # [[霧化]] be6b1nzm344r75eqbpebf1wyhdbvft2 nebulizzazioni 0 3543327 9938525 2026-10-05T09:16:53Z Sayonzei 40728 [[w:WP:AES|←]]建立內容為「==意大利語== ===名詞=== {{head|it|名詞變格形|g=f}} # {{plural of|it|nebulizzazione}}」的新頁面 9938525 wikitext text/x-wiki ==意大利語== ===名詞=== {{head|it|名詞變格形|g=f}} # {{plural of|it|nebulizzazione}} qz32ns072xeutgfrhmbb5bt4zqlucto negreggiare 0 3543328 9938526 2026-10-05T09:17:13Z Sayonzei 40728 [[w:WP:AES|←]]建立內容為「==意大利語== ===詞源=== {{ety|it|:af|negro|-eggiare}} 源自 {{af|it|negro|-eggiare}}。 ===動詞=== {{it-verb|a/é}} # {{tlb|it|不常見|不及物|or|及物}} {{alt form|it|nereggiare}} {{tlb|it|及物}} ====變位==== {{it-conj|a/é}} ===延伸閱讀=== * {{R:it:Treccani}} ===異序詞=== * {{anagrams|it|a=aeeeggginrr|negreggerai}}」的新頁面 9938526 wikitext text/x-wiki ==意大利語== ===詞源=== {{ety|it|:af|negro|-eggiare}} 源自 {{af|it|negro|-eggiare}}。 ===動詞=== {{it-verb|a/é}} # {{tlb|it|不常見|不及物|or|及物}} {{alt form|it|nereggiare}} {{tlb|it|及物}} ====變位==== {{it-conj|a/é}} ===延伸閱讀=== * {{R:it:Treccani}} ===異序詞=== * {{anagrams|it|a=aeeeggginrr|negreggerai}} afxg5izg4tryr36qmzup67i09e8koce negreggiante 0 3543329 9938527 2026-10-05T09:17:17Z Sayonzei 40728 [[w:WP:AES|←]]建立內容為「==意大利語== ===分詞=== {{it-presp}} # {{present participle of|it|negreggiare}}」的新頁面 9938527 wikitext text/x-wiki ==意大利語== ===分詞=== {{it-presp}} # {{present participle of|it|negreggiare}} h3x937dq3h98zz0jz1irtwwnrf6qqkl negreggiato 0 3543330 9938528 2026-10-05T09:17:19Z Sayonzei 40728 [[w:WP:AES|←]]建立內容為「==意大利語== ===分詞=== {{it-pp}} # {{past participle of|it|negreggiare}}」的新頁面 9938528 wikitext text/x-wiki ==意大利語== ===分詞=== {{it-pp}} # {{past participle of|it|negreggiare}} avh5xt67gkk0i03fncg78rtkenlsslm negreggianti 0 3543331 9938529 2026-10-05T09:17:33Z Sayonzei 40728 [[w:WP:AES|←]]建立內容為「==意大利語== ===分詞=== {{head|it|分詞變格形}} # {{plural of|it|negreggiante}}」的新頁面 9938529 wikitext text/x-wiki ==意大利語== ===分詞=== {{head|it|分詞變格形}} # {{plural of|it|negreggiante}} 2g351lmyluxo6to6nqq6r4bg6kzc7si negreggiata 0 3543332 9938530 2026-10-05T09:17:41Z Sayonzei 40728 [[w:WP:AES|←]]建立內容為「==意大利語== ===分詞=== {{head|it|過去分詞變格形|g=f-s}} # {{feminine singular of|it|negreggiato}} ===異序詞=== * {{anagrams|it|a=aaeeggginrt|gareggiante}}」的新頁面 9938530 wikitext text/x-wiki ==意大利語== ===分詞=== {{head|it|過去分詞變格形|g=f-s}} # {{feminine singular of|it|negreggiato}} ===異序詞=== * {{anagrams|it|a=aaeeggginrt|gareggiante}} a0kqsziu9uqjld89jw6qw1u096zuth3 negreggiate 0 3543333 9938531 2026-10-05T09:17:42Z Sayonzei 40728 [[w:WP:AES|←]]建立內容為「==意大利語== ===詞源1=== ====動詞==== {{head|it|動詞變位形式}} # {{inflection of|it|negreggiare||2|p|pres|ind//sub|;|2|p|imp}} ===詞源2=== ====分詞==== {{head|it|過去分詞變格形|g=f-p}} # {{feminine plural of|it|negreggiato}} ===異序詞=== * {{anagrams|it|a=aeeeggginrt|ingaggerete}}」的新頁面 9938531 wikitext text/x-wiki ==意大利語== ===詞源1=== ====動詞==== {{head|it|動詞變位形式}} # {{inflection of|it|negreggiare||2|p|pres|ind//sub|;|2|p|imp}} ===詞源2=== ====分詞==== {{head|it|過去分詞變格形|g=f-p}} # {{feminine plural of|it|negreggiato}} ===異序詞=== * {{anagrams|it|a=aeeeggginrt|ingaggerete}} qvsp5su182lqxbshuuov05st5a1dntr negreggiati 0 3543334 9938532 2026-10-05T09:17:44Z Sayonzei 40728 [[w:WP:AES|←]]建立內容為「==意大利語== ===分詞=== {{head|it|過去分詞變格形|g=m-p}} # {{masculine plural of|it|negreggiato}}」的新頁面 9938532 wikitext text/x-wiki ==意大利語== ===分詞=== {{head|it|過去分詞變格形|g=m-p}} # {{masculine plural of|it|negreggiato}} 8gx4e8vhxry4hmltwdk5kh7bae4ze6m nereggiare 0 3543335 9938533 2026-10-05T09:18:52Z Sayonzei 40728 [[w:WP:AES|←]]建立內容為「==意大利語== ===詞源=== {{ety|it|:af|nero<t:黑色的>|-eggiare}} 源自 {{suffix|it|nero|gloss1=黑色的|eggiare}}。 ===動詞=== {{it-verb|a/é}} {{tlb|it|書面}} # {{lb|it|不及物}} 呈[[黑色]] {{+aux|it|avere}} # {{lb|it|不及物}} 開始變黑 {{qualifier|尤其指水果}} {{+aux|it|avere}} # {{lb|it|rare|及物}} [[染]]成黑色 ====變位==== {{it-conj|a/é}} ====派生詞彙==== * {{l|it|nereggiamento}} * {{l|it|ne…」的新頁面 9938533 wikitext text/x-wiki ==意大利語== ===詞源=== {{ety|it|:af|nero<t:黑色的>|-eggiare}} 源自 {{suffix|it|nero|gloss1=黑色的|eggiare}}。 ===動詞=== {{it-verb|a/é}} {{tlb|it|書面}} # {{lb|it|不及物}} 呈[[黑色]] {{+aux|it|avere}} # {{lb|it|不及物}} 開始變黑 {{qualifier|尤其指水果}} {{+aux|it|avere}} # {{lb|it|rare|及物}} [[染]]成黑色 ====變位==== {{it-conj|a/é}} ====派生詞彙==== * {{l|it|nereggiamento}} * {{l|it|nereggiante}} ===異序詞=== * {{anagrams|it|a=aeeegginrr|nereggerai}} 6il9kim5yko5x4cd3hrvzt3y7eh4sp9 nereggiato 0 3543336 9938534 2026-10-05T09:19:10Z Sayonzei 40728 [[w:WP:AES|←]]建立內容為「==意大利語== ===分詞=== {{it-pp|inv=1}} # {{past participle of|it|nereggiare}} ===異序詞=== * {{anagrams|it|a=aeegginort|tenoreggia|toneggiare}}」的新頁面 9938534 wikitext text/x-wiki ==意大利語== ===分詞=== {{it-pp|inv=1}} # {{past participle of|it|nereggiare}} ===異序詞=== * {{anagrams|it|a=aeegginort|tenoreggia|toneggiare}} j2ndmdkrkgc3iu56ngyugfdo6lsd8xi nereggiante 0 3543337 9938535 2026-10-05T09:20:02Z Sayonzei 40728 [[w:WP:AES|←]]建立內容為「==意大利語== ===發音=== {{it-pr}} ===分詞=== {{it-presp}} # {{present participle of|it|nereggiare}} ===形容詞=== {{it-adj}} {{tlb|it|書面}} #(逐漸)呈現[[黑色]]的 #: {{syn|it|nerastro|nericcio|q2=不不常用|nerigno|q3=書面,罕用|nerognolo}} #: {{ant|it|biancastro|biancheggiante|q2=不不常用|bianchiccio|biancicante|q4=書面|biancoso|q5=書面,古舊}}」的新頁面 9938535 wikitext text/x-wiki ==意大利語== ===發音=== {{it-pr}} ===分詞=== {{it-presp}} # {{present participle of|it|nereggiare}} ===形容詞=== {{it-adj}} {{tlb|it|書面}} #(逐漸)呈現[[黑色]]的 #: {{syn|it|nerastro|nericcio|q2=不不常用|nerigno|q3=書面,罕用|nerognolo}} #: {{ant|it|biancastro|biancheggiante|q2=不不常用|bianchiccio|biancicante|q4=書面|biancoso|q5=書面,古舊}} 7lo9rmpghv6p6ixhdyul6hph0je1f3t nereggianti 0 3543338 9938536 2026-10-05T09:20:20Z Sayonzei 40728 [[w:WP:AES|←]]建立內容為「==意大利語== ===形容詞=== {{head|it|形容詞變格形}} # {{adj form of|it|nereggiante||m//f|p}} ===異序詞=== * {{anagrams|it|a=aeeggiinnrt|agrigentine}}」的新頁面 9938536 wikitext text/x-wiki ==意大利語== ===形容詞=== {{head|it|形容詞變格形}} # {{adj form of|it|nereggiante||m//f|p}} ===異序詞=== * {{anagrams|it|a=aeeggiinnrt|agrigentine}} tmt6oxzzeypjxcvxes1bktta2lsirli neologizzare 0 3543339 9938537 2026-10-05T09:21:07Z Sayonzei 40728 [[w:WP:AES|←]]建立內容為「==意大利語== ===詞源=== {{ety|it|:af|neologia|-izzare}} 源自 {{suffix|it|neologia|izzare}}。 ===動詞=== {{it-verb|a/ì}} # [[創造]][[新詞]] ====變位==== {{it-conj|a/ì}} ===異序詞=== * {{anagrams|it|a=aeegilnoorzz|neologizzerà}}」的新頁面 9938537 wikitext text/x-wiki ==意大利語== ===詞源=== {{ety|it|:af|neologia|-izzare}} 源自 {{suffix|it|neologia|izzare}}。 ===動詞=== {{it-verb|a/ì}} # [[創造]][[新詞]] ====變位==== {{it-conj|a/ì}} ===異序詞=== * {{anagrams|it|a=aeegilnoorzz|neologizzerà}} pw6o9cgb41hpuncc1nxj40kjrfmclr4 neologizzante 0 3543340 9938538 2026-10-05T09:21:31Z Sayonzei 40728 [[w:WP:AES|←]]建立內容為「==意大利語== ===分詞=== {{it-presp}} # {{present participle of|it|neologizzare}}」的新頁面 9938538 wikitext text/x-wiki ==意大利語== ===分詞=== {{it-presp}} # {{present participle of|it|neologizzare}} o7lrnbwpmp7wjolv575igiimtplxcqo neologizzato 0 3543341 9938539 2026-10-05T09:21:33Z Sayonzei 40728 [[w:WP:AES|←]]建立內容為「==意大利語== ===分詞=== {{it-pp|inv=1}} # {{past participle of|it|neologizzare}} ===異序詞=== * {{anagrams|it|a=aegilnoootzz|teologizzano}}」的新頁面 9938539 wikitext text/x-wiki ==意大利語== ===分詞=== {{it-pp|inv=1}} # {{past participle of|it|neologizzare}} ===異序詞=== * {{anagrams|it|a=aegilnoootzz|teologizzano}} m8dvcc9yb4kh6yrvi6su2h1kqq3ew10 nichelare 0 3543342 9938540 2026-10-05T09:22:14Z Sayonzei 40728 [[w:WP:AES|←]]建立內容為「==意大利語== ===其他形式=== * {{alt|it|nichellare||口語}} ===詞源=== {{ety|it|:af|nichel|-are}} 源自 {{af|it|nichel|-are}}。 ===發音=== {{it-pr}} ===動詞=== {{it-verb|a/ì}} # {{lb|it|及物}} [[鍍]][[鎳]] ====變位==== {{it-conj|a/ì}} ====派生詞彙==== * {{l|it|nichelato}} * {{l|it|nichelatore}} * {{l|it|nichelatura}} ===延伸閱讀=== * {{R:it:Treccani}} ===異序詞=== * {{anagrams|it|a=aceehilnr|nichele…」的新頁面 9938540 wikitext text/x-wiki ==意大利語== ===其他形式=== * {{alt|it|nichellare||口語}} ===詞源=== {{ety|it|:af|nichel|-are}} 源自 {{af|it|nichel|-are}}。 ===發音=== {{it-pr}} ===動詞=== {{it-verb|a/ì}} # {{lb|it|及物}} [[鍍]][[鎳]] ====變位==== {{it-conj|a/ì}} ====派生詞彙==== * {{l|it|nichelato}} * {{l|it|nichelatore}} * {{l|it|nichelatura}} ===延伸閱讀=== * {{R:it:Treccani}} ===異序詞=== * {{anagrams|it|a=aceehilnr|nichelerà}} ==羅馬尼亞語== ===詞源=== {{ety|ro|:af|nichela|-re|text=+|tree=1}} ===名詞=== {{ro-noun|f|nichelări}} # [[鍍]][[鎳]] ====變格==== {{ro-noun-f-e|nichelar|nichelăr}} hawwniiuytp2q962rd70q1d88b92yk3 nichela 0 3543343 9938541 2026-10-05T09:22:27Z Sayonzei 40728 [[w:WP:AES|←]]建立內容為「==意大利語== ===動詞=== {{head|it|動詞變位形式}} # {{inflection of|it|nichelare||3|s|pres|indc|;|2|s|impr}} ===異序詞=== * {{anagrams|it|a=acehiln|alcheni}} ==羅馬尼亞語== ===詞源=== {{ety|ro|:bor|fr:nickeler|text=+|tree=1}} ===動詞=== {{ro-verb|conj=1|nichelează|nichelat}} # [[鍍]][[鎳]] ====變位==== {{ro-conj-a-ez}}」的新頁面 9938541 wikitext text/x-wiki ==意大利語== ===動詞=== {{head|it|動詞變位形式}} # {{inflection of|it|nichelare||3|s|pres|indc|;|2|s|impr}} ===異序詞=== * {{anagrams|it|a=acehiln|alcheni}} ==羅馬尼亞語== ===詞源=== {{ety|ro|:bor|fr:nickeler|text=+|tree=1}} ===動詞=== {{ro-verb|conj=1|nichelează|nichelat}} # [[鍍]][[鎳]] ====變位==== {{ro-conj-a-ez}} ffnezlyvwe0sb32mvzy6brycy8oajcg nichelante 0 3543344 9938542 2026-10-05T09:22:30Z Sayonzei 40728 [[w:WP:AES|←]]建立內容為「==意大利語== ===分詞=== {{it-presp}} # {{present participle of|it|nichelare}}」的新頁面 9938542 wikitext text/x-wiki ==意大利語== ===分詞=== {{it-presp}} # {{present participle of|it|nichelare}} 7gxnwj9qxu3i5q5e4xv24kcwhwwi8l2 nichelato 0 3543345 9938543 2026-10-05T09:22:34Z Sayonzei 40728 [[w:WP:AES|←]]建立內容為「==意大利語== ===分詞=== {{it-pp}} # {{past participle of|it|nichelare}} ===形容詞=== {{it-adj}} # [[鍍]][[鎳]]的」的新頁面 9938543 wikitext text/x-wiki ==意大利語== ===分詞=== {{it-pp}} # {{past participle of|it|nichelare}} ===形容詞=== {{it-adj}} # [[鍍]][[鎳]]的 ldw2wr8iv4drvcysy138qe66ch195rj nichelanti 0 3543346 9938544 2026-10-05T09:22:45Z Sayonzei 40728 [[w:WP:AES|←]]建立內容為「==意大利語== ===分詞=== {{head|it|分詞變格形}} # {{plural of|it|nichelante}}」的新頁面 9938544 wikitext text/x-wiki ==意大利語== ===分詞=== {{head|it|分詞變格形}} # {{plural of|it|nichelante}} pfq42jzm0i5ojfmdj1ue248a6qu5l1n nichelata 0 3543347 9938545 2026-10-05T09:22:52Z Sayonzei 40728 [[w:WP:AES|←]]建立內容為「==意大利語== ===分詞=== {{head|it|過去分詞變格形|g=f-s}} # {{feminine singular of|it|nichelato}}」的新頁面 9938545 wikitext text/x-wiki ==意大利語== ===分詞=== {{head|it|過去分詞變格形|g=f-s}} # {{feminine singular of|it|nichelato}} 2gciqg28p84nuhzahqj9u1ajc18l5ud nichelati 0 3543348 9938546 2026-10-05T09:22:54Z Sayonzei 40728 [[w:WP:AES|←]]建立內容為「==意大利語== ===分詞=== {{head|it|過去分詞變格形|g=m-p}} # {{masculine plural of|it|nichelato}}」的新頁面 9938546 wikitext text/x-wiki ==意大利語== ===分詞=== {{head|it|過去分詞變格形|g=m-p}} # {{masculine plural of|it|nichelato}} rm70b80n7s8ul79klduucsrh46e7thg nichelate 0 3543349 9938547 2026-10-05T09:22:55Z Sayonzei 40728 [[w:WP:AES|←]]建立內容為「==意大利語== ===詞源1=== ====動詞==== {{head|it|動詞變位形式}} # {{inflection of|it|nichelare||2|p|pres|indc|;|2|p|impr}} ===詞源2=== ====分詞==== {{head|it|過去分詞變格形|g=f-p}} # {{feminine plural of|it|nichelato}}」的新頁面 9938547 wikitext text/x-wiki ==意大利語== ===詞源1=== ====動詞==== {{head|it|動詞變位形式}} # {{inflection of|it|nichelare||2|p|pres|indc|;|2|p|impr}} ===詞源2=== ====分詞==== {{head|it|過去分詞變格形|g=f-p}} # {{feminine plural of|it|nichelato}} 2iu62q4wkzus5p2chjh59q1hwby25p8 nichelatura 0 3543350 9938548 2026-10-05T09:23:13Z Sayonzei 40728 [[w:WP:AES|←]]建立內容為「==意大利語== ===詞源=== {{ety|it|:af|nichelare|-tura}} 源自 {{af|it|nichelare|-tura}}。 ===名詞=== {{it-noun|f}} # [[鍍]][[鎳]] ===延伸閱讀=== * {{R:it:Treccani}}」的新頁面 9938548 wikitext text/x-wiki ==意大利語== ===詞源=== {{ety|it|:af|nichelare|-tura}} 源自 {{af|it|nichelare|-tura}}。 ===名詞=== {{it-noun|f}} # [[鍍]][[鎳]] ===延伸閱讀=== * {{R:it:Treccani}} 9hjg33es004jymfss705ohuk7oaj56f nichelature 0 3543351 9938549 2026-10-05T09:23:33Z Sayonzei 40728 [[w:WP:AES|←]]建立內容為「==意大利語== ===名詞=== {{head|it|名詞變格形|g=f}} # {{plural of|it|nichelatura}}」的新頁面 9938549 wikitext text/x-wiki ==意大利語== ===名詞=== {{head|it|名詞變格形|g=f}} # {{plural of|it|nichelatura}} klgjhsv6ifwl7i96tvike0xsi6bmogj niellare 0 3543352 9938550 2026-10-05T09:24:07Z Sayonzei 40728 [[w:WP:AES|←]]建立內容為「==意大利語== ===詞源=== {{ety|it|:af|niello|-are}} 源自 {{af|it|niello|-are}}。 ===發音=== {{it-pr|niellàre,#ni.ellàre}} ===動詞=== {{it-verb|a/è}} # {{lb|it|及物}} 用[[烏銀]][[裝飾]] ====變位==== {{it-conj|a/è}} ====派生詞彙==== * {{l|it|niellatore}} * {{l|it|niellatura}} ===異序詞=== * {{anagrams|it|a=aeeillnr|allenire|niellerà}}」的新頁面 9938550 wikitext text/x-wiki ==意大利語== ===詞源=== {{ety|it|:af|niello|-are}} 源自 {{af|it|niello|-are}}。 ===發音=== {{it-pr|niellàre,#ni.ellàre}} ===動詞=== {{it-verb|a/è}} # {{lb|it|及物}} 用[[烏銀]][[裝飾]] ====變位==== {{it-conj|a/è}} ====派生詞彙==== * {{l|it|niellatore}} * {{l|it|niellatura}} ===異序詞=== * {{anagrams|it|a=aeeillnr|allenire|niellerà}} jq2akvsqnykgmqvtmr4m5y7n8fclcss niellante 0 3543353 9938551 2026-10-05T09:24:22Z Sayonzei 40728 [[w:WP:AES|←]]建立內容為「==意大利語== ===分詞=== {{it-presp}} # {{present participle of|it|niellare}}」的新頁面 9938551 wikitext text/x-wiki ==意大利語== ===分詞=== {{it-presp}} # {{present participle of|it|niellare}} 8ujuzxf3ht5sfr6urkt101qq6s7556c niellato 0 3543354 9938552 2026-10-05T09:24:24Z Sayonzei 40728 [[w:WP:AES|←]]建立內容為「==意大利語== ===分詞=== {{it-pp}} # {{past participle of|it|niellare}} ===異序詞=== * {{anagrams|it|a=aeillnot|allenito}}」的新頁面 9938552 wikitext text/x-wiki ==意大利語== ===分詞=== {{it-pp}} # {{past participle of|it|niellare}} ===異序詞=== * {{anagrams|it|a=aeillnot|allenito}} 0mkmlenp5xuqed824ubn4crohtg9aai niellanti 0 3543355 9938553 2026-10-05T09:24:35Z Sayonzei 40728 [[w:WP:AES|←]]建立內容為「==意大利語== ===分詞=== {{head|it|分詞變格形}} # {{plural of|it|niellante}}」的新頁面 9938553 wikitext text/x-wiki ==意大利語== ===分詞=== {{head|it|分詞變格形}} # {{plural of|it|niellante}} 4jfilxq4ot4qzd38ulyqjrai0vyzjjq niellata 0 3543356 9938554 2026-10-05T09:24:38Z Sayonzei 40728 [[w:WP:AES|←]]建立內容為「==意大利語== ===分詞=== {{head|it|過去分詞變格形|g=f-s}} # {{feminine singular of|it|niellato}} ===異序詞=== * {{anagrams|it|a=aaeillnt|alleanti|allenati|allenita|allentai|altaleni|anellati}}」的新頁面 9938554 wikitext text/x-wiki ==意大利語== ===分詞=== {{head|it|過去分詞變格形|g=f-s}} # {{feminine singular of|it|niellato}} ===異序詞=== * {{anagrams|it|a=aaeillnt|alleanti|allenati|allenita|allentai|altaleni|anellati}} ocrbss857fmcwokjbi8u2j7hyz9q547 niellate 0 3543357 9938555 2026-10-05T09:24:41Z Sayonzei 40728 [[w:WP:AES|←]]建立內容為「==意大利語== ===詞源1=== ====動詞==== {{head|it|動詞變位形式}} # {{inflection of|it|niellare||2|p|pres|indc|;|2|p|impr}} ===詞源2=== ====分詞==== {{head|it|過去分詞變格形|g=f-p}} # {{feminine plural of|it|niellato}} ===異序詞=== * {{anagrams|it|a=aeeillnt|allenite}}」的新頁面 9938555 wikitext text/x-wiki ==意大利語== ===詞源1=== ====動詞==== {{head|it|動詞變位形式}} # {{inflection of|it|niellare||2|p|pres|indc|;|2|p|impr}} ===詞源2=== ====分詞==== {{head|it|過去分詞變格形|g=f-p}} # {{feminine plural of|it|niellato}} ===異序詞=== * {{anagrams|it|a=aeeillnt|allenite}} 49ax375c8ozmqgrg4frd4x11o8hjc3o niellati 0 3543358 9938556 2026-10-05T09:24:43Z Sayonzei 40728 [[w:WP:AES|←]]建立內容為「==意大利語== ===分詞=== {{head|it|過去分詞變格形|g=m-p}} # {{masculine plural of|it|niellato}} ===異序詞=== * {{anagrams|it|a=aeiillnt|alleniti}}」的新頁面 9938556 wikitext text/x-wiki ==意大利語== ===分詞=== {{head|it|過去分詞變格形|g=m-p}} # {{masculine plural of|it|niellato}} ===異序詞=== * {{anagrams|it|a=aeiillnt|alleniti}} m9yun6s88t0bx2cn10gk5thyn5qrtvu niella 0 3543359 9938557 2026-10-05T09:25:45Z Sayonzei 40728 [[w:WP:AES|←]]建立內容為「{{also|niellä}} ==加泰羅尼亞語== ===詞源=== {{inh+|ca|la-lat|nigella}},{{inh|ca|la|nigellus|t=呈黑色的}} 的陰性形的名詞化,指的是下述植物的小黑種子。 ===發音=== * {{ca-IPA|é}} ===名詞=== {{ca-noun|f}} # [[麥仙翁]] ({{taxfmt|Agrostemma githago|species}}) #: {{syn|ca|clavell d'ase|clavell de blat}} # [[黑種草]] ({{taxfmt|Nigella damascena|species}}) #: {{syn|ca|flor d'aranya}} ===延伸閱讀…」的新頁面 9938557 wikitext text/x-wiki {{also|niellä}} ==加泰羅尼亞語== ===詞源=== {{inh+|ca|la-lat|nigella}},{{inh|ca|la|nigellus|t=呈黑色的}} 的陰性形的名詞化,指的是下述植物的小黑種子。 ===發音=== * {{ca-IPA|é}} ===名詞=== {{ca-noun|f}} # [[麥仙翁]] ({{taxfmt|Agrostemma githago|species}}) #: {{syn|ca|clavell d'ase|clavell de blat}} # [[黑種草]] ({{taxfmt|Nigella damascena|species}}) #: {{syn|ca|flor d'aranya}} ===延伸閱讀=== * {{R:ca:DCVB}} * {{R:ca:IEC2}} {{C|ca|毛茛科植物|石竹科植物|花}} ==法語== ===發音=== * {{homophones|fr|niellas|niellât}} ===動詞=== {{head|fr|動詞變位形式}} # {{inflection of|fr|nieller||3|s|phis}} ==意大利語== ===發音=== {{it-pr|nièlla,#ni.èlla}} ===動詞=== {{head|it|動詞變位形式}} # {{inflection of|it|niellare||3|s|pres|indc|;|2|s|impr}} ===異序詞=== * {{anagrams|it|a=aeilln|-ellina|Anelli|alleni|allenì|anelli}} e63lxt4rxikkhf191dmlfmia41dj6sw ninfeggiare 0 3543360 9938558 2026-10-05T09:26:31Z Sayonzei 40728 [[w:WP:AES|←]]建立內容為「==意大利語== ===詞源=== {{ety|it|:af|ninfa|-eggiare}} 源自 {{af|it|ninfa|-eggiare}}。 ===動詞=== {{it-verb|a/é}} # {{lb|it|不及物|書面|rare|or|古舊}} [[矯揉造作]],[[扭捏]][[作態]] {{+aux|it|avere}} ====變位==== {{it-conj|a/é}} ===延伸閱讀=== * {{R:it:Treccani}} ===異序詞=== * {{anagrams|it|a=aeefggiinnr|ninfeggerai}}」的新頁面 9938558 wikitext text/x-wiki ==意大利語== ===詞源=== {{ety|it|:af|ninfa|-eggiare}} 源自 {{af|it|ninfa|-eggiare}}。 ===動詞=== {{it-verb|a/é}} # {{lb|it|不及物|書面|rare|or|古舊}} [[矯揉造作]],[[扭捏]][[作態]] {{+aux|it|avere}} ====變位==== {{it-conj|a/é}} ===延伸閱讀=== * {{R:it:Treccani}} ===異序詞=== * {{anagrams|it|a=aeefggiinnr|ninfeggerai}} 1oepjo77gfv39yey34p61zfepmh9jij ninfeggiante 0 3543361 9938559 2026-10-05T09:26:34Z Sayonzei 40728 [[w:WP:AES|←]]建立內容為「==意大利語== ===分詞=== {{it-presp}} # {{present participle of|it|ninfeggiare}}」的新頁面 9938559 wikitext text/x-wiki ==意大利語== ===分詞=== {{it-presp}} # {{present participle of|it|ninfeggiare}} ms9nlpuwfqcseq26m5tbe45i0zqlru9 ninfeggiato 0 3543362 9938560 2026-10-05T09:26:36Z Sayonzei 40728 [[w:WP:AES|←]]建立內容為「==意大利語== ===分詞=== {{it-pp|inv=1}} # {{past participle of|it|ninfeggiare}}」的新頁面 9938560 wikitext text/x-wiki ==意大利語== ===分詞=== {{it-pp|inv=1}} # {{past participle of|it|ninfeggiare}} 8pd3567rvqmzeipyusdpghi6xh1151f ninfeggianti 0 3543363 9938562 2026-10-05T09:26:51Z Sayonzei 40728 [[w:WP:AES|←]]建立內容為「==意大利語== ===分詞=== {{head|it|分詞變格形}} # {{plural of|it|ninfeggiante}}」的新頁面 9938562 wikitext text/x-wiki ==意大利語== ===分詞=== {{head|it|分詞變格形}} # {{plural of|it|ninfeggiante}} emkbnz0nql0mzak61zn8f8yxlsbyrof nebulizza 0 3543364 9938563 2026-10-05T09:27:58Z TongcyBot 83009 半自動導入非詞元形式 9938563 wikitext text/x-wiki ==意大利語== ===動詞=== {{head|it|動詞變位形式}} # {{inflection of|it|nebulizzare||3|s|pres|indc|;|2|s|impr}} 3mcfikwu82hvgvprd0bctsc1ni6gdb6 nebulizzai 0 3543365 9938564 2026-10-05T09:27:59Z TongcyBot 83009 半自動導入非詞元形式 9938564 wikitext text/x-wiki ==意大利語== ===動詞=== {{head|it|動詞變位形式}} # {{inflection of|it|nebulizzare||1|s|phis}} bduh3bjrc9qw1h5cmnq0szh0kt3z8lw nebulizzammo 0 3543366 9938565 2026-10-05T09:28:00Z TongcyBot 83009 半自動導入非詞元形式 9938565 wikitext text/x-wiki ==意大利語== ===動詞=== {{head|it|動詞變位形式}} # {{inflection of|it|nebulizzare||1|p|phis}} pbqqzg11udx1byc06h7ayk8ib6ncw96 nebulizzando 0 3543367 9938566 2026-10-05T09:28:01Z TongcyBot 83009 半自動導入非詞元形式 9938566 wikitext text/x-wiki ==意大利語== ===動詞=== {{head|it|動名詞}} # {{gerund of|it|nebulizzare}} eujzgak90sqntuizc5d4j373axhysil nebulizzano 0 3543368 9938567 2026-10-05T09:28:03Z TongcyBot 83009 半自動導入非詞元形式 9938567 wikitext text/x-wiki ==意大利語== ===動詞=== {{head|it|動詞變位形式}} # {{inflection of|it|nebulizzare||3|p|pres|indc}} 264urmbkpxeb2p5t76xr9gvdi1zqke3 nebulizzassero 0 3543369 9938568 2026-10-05T09:28:06Z TongcyBot 83009 半自動導入非詞元形式 9938568 wikitext text/x-wiki ==意大利語== ===動詞=== {{head|it|動詞變位形式}} # {{inflection of|it|nebulizzare||3|p|impf|subj}} 8j37fs7rwyf19w9wfp8qdza8gcd5yqc nebulizzarono 0 3543370 9938569 2026-10-05T09:28:07Z TongcyBot 83009 半自動導入非詞元形式 9938569 wikitext text/x-wiki ==意大利語== ===動詞=== {{head|it|動詞變位形式}} # {{inflection of|it|nebulizzare||3|p|phis}} mugcwy2r5vzoi9suxzgui4cx5g7d3pa nebulizzasse 0 3543371 9938570 2026-10-05T09:28:08Z TongcyBot 83009 半自動導入非詞元形式 9938570 wikitext text/x-wiki ==意大利語== ===動詞=== {{head|it|動詞變位形式}} # {{inflection of|it|nebulizzare||3|s|impf|subj}} im1kzp1w5csm40c2l4wb3qetnp44zx8 nebulizzassi 0 3543372 9938571 2026-10-05T09:28:09Z TongcyBot 83009 半自動導入非詞元形式 9938571 wikitext text/x-wiki ==意大利語== ===動詞=== {{head|it|動詞變位形式}} # {{inflection of|it|nebulizzare||1//2|s|impf|subj}} nw4ewdilwy2y1axarzotpw0f0pz1mfa nebulizzassimo 0 3543373 9938572 2026-10-05T09:28:10Z TongcyBot 83009 半自動導入非詞元形式 9938572 wikitext text/x-wiki ==意大利語== ===動詞=== {{head|it|動詞變位形式}} # {{inflection of|it|nebulizzare||1|p|impf|subj}} hwr9m368zf3bfbq370kzki146xeamcp nebulizzaste 0 3543374 9938573 2026-10-05T09:28:13Z TongcyBot 83009 半自動導入非詞元形式 9938573 wikitext text/x-wiki ==意大利語== ===動詞=== {{head|it|動詞變位形式}} # {{inflection of|it|nebulizzare||2|p|phis|;|2|p|impf|subj}} beimwf7xz6tndc23ep995vycq4wn7di nebulizzasti 0 3543375 9938574 2026-10-05T09:28:14Z TongcyBot 83009 半自動導入非詞元形式 9938574 wikitext text/x-wiki ==意大利語== ===動詞=== {{head|it|動詞變位形式}} # {{inflection of|it|nebulizzare||2|s|phis}} 2blf1pdbeam24128ynlet22jma3428n nebulizzava 0 3543376 9938575 2026-10-05T09:28:15Z TongcyBot 83009 半自動導入非詞元形式 9938575 wikitext text/x-wiki ==意大利語== ===動詞=== {{head|it|動詞變位形式}} # {{inflection of|it|nebulizzare||3|s|impf|indc}} debhaqjc5i590gqrkx1n46ezgjrid75 nebulizzavamo 0 3543377 9938576 2026-10-05T09:28:17Z TongcyBot 83009 半自動導入非詞元形式 9938576 wikitext text/x-wiki ==意大利語== ===動詞=== {{head|it|動詞變位形式}} # {{inflection of|it|nebulizzare||1|p|impf|indc}} g26n9b8652q18ikytuope2qkrhu62ap nebulizzavano 0 3543378 9938577 2026-10-05T09:28:18Z TongcyBot 83009 半自動導入非詞元形式 9938577 wikitext text/x-wiki ==意大利語== ===動詞=== {{head|it|動詞變位形式}} # {{inflection of|it|nebulizzare||3|p|impf|indc}} k1kaqzknxpprryv6twpzgha6f9le93t nebulizzavate 0 3543379 9938578 2026-10-05T09:28:19Z TongcyBot 83009 半自動導入非詞元形式 9938578 wikitext text/x-wiki ==意大利語== ===動詞=== {{head|it|動詞變位形式}} # {{inflection of|it|nebulizzare||2|p|impf|indc}} qfqc5jiq76uebr17jkjg901tb04ieig nebulizzavi 0 3543380 9938579 2026-10-05T09:28:21Z TongcyBot 83009 半自動導入非詞元形式 9938579 wikitext text/x-wiki ==意大利語== ===動詞=== {{head|it|動詞變位形式}} # {{inflection of|it|nebulizzare||2|s|impf|indc}} gtab0hgxeafw5598x2zct5gyt2qx8w2 nebulizzavo 0 3543381 9938580 2026-10-05T09:28:22Z TongcyBot 83009 半自動導入非詞元形式 9938580 wikitext text/x-wiki ==意大利語== ===動詞=== {{head|it|動詞變位形式}} # {{inflection of|it|nebulizzare||1|s|impf|indc}} chwsgbmpw1uc3yfiu4y1958zp1xi1cv nebulizzerai 0 3543382 9938581 2026-10-05T09:28:23Z TongcyBot 83009 半自動導入非詞元形式 9938581 wikitext text/x-wiki ==意大利語== ===動詞=== {{head|it|動詞變位形式}} # {{inflection of|it|nebulizzare||2|s|futr}} o8lhc744vpynjh1bpngoh88uuo0w1dn nebulizzeranno 0 3543383 9938582 2026-10-05T09:28:25Z TongcyBot 83009 半自動導入非詞元形式 9938582 wikitext text/x-wiki ==意大利語== ===動詞=== {{head|it|動詞變位形式}} # {{inflection of|it|nebulizzare||3|p|futr}} j7vwkl7mvqdm9t45ltxr7jdjzj36uac nebulizzerebbe 0 3543384 9938583 2026-10-05T09:28:26Z TongcyBot 83009 半自動導入非詞元形式 9938583 wikitext text/x-wiki ==意大利語== ===動詞=== {{head|it|動詞變位形式}} # {{inflection of|it|nebulizzare||3|s|cond}} 3o7e5znqpymhrrlckrpj3f7kbukak1v nebulizzerebbero 0 3543385 9938584 2026-10-05T09:28:27Z TongcyBot 83009 半自動導入非詞元形式 9938584 wikitext text/x-wiki ==意大利語== ===動詞=== {{head|it|動詞變位形式}} # {{inflection of|it|nebulizzare||3|p|cond}} 0icg765dl1dfz1uy1rmuf9w0kgnlyn2 nebulizzerei 0 3543386 9938585 2026-10-05T09:28:29Z TongcyBot 83009 半自動導入非詞元形式 9938585 wikitext text/x-wiki ==意大利語== ===動詞=== {{head|it|動詞變位形式}} # {{inflection of|it|nebulizzare||1|s|cond}} ceyu8ro4agkeh9pxt6n5xn9e19d6v3f nebulizzeremmo 0 3543387 9938586 2026-10-05T09:28:30Z TongcyBot 83009 半自動導入非詞元形式 9938586 wikitext text/x-wiki ==意大利語== ===動詞=== {{head|it|動詞變位形式}} # {{inflection of|it|nebulizzare||1|p|cond}} bh47awy1p2dp5ambor3m41l8zluzsif nebulizzeremo 0 3543388 9938587 2026-10-05T09:28:31Z TongcyBot 83009 半自動導入非詞元形式 9938587 wikitext text/x-wiki ==意大利語== ===動詞=== {{head|it|動詞變位形式}} # {{inflection of|it|nebulizzare||1|p|futr}} 9kfsv3ec8r672n03hea2c30p94g8wq7 nebulizzereste 0 3543389 9938588 2026-10-05T09:28:32Z TongcyBot 83009 半自動導入非詞元形式 9938588 wikitext text/x-wiki ==意大利語== ===動詞=== {{head|it|動詞變位形式}} # {{inflection of|it|nebulizzare||2|p|cond}} kyxyp8x7gc7dc55cx79mp2fo4mgipep nebulizzeresti 0 3543390 9938589 2026-10-05T09:28:33Z TongcyBot 83009 半自動導入非詞元形式 9938589 wikitext text/x-wiki ==意大利語== ===動詞=== {{head|it|動詞變位形式}} # {{inflection of|it|nebulizzare||2|s|cond}} e25bl3lgb356zrei56up2akavkox978 nebulizzerete 0 3543391 9938590 2026-10-05T09:28:34Z TongcyBot 83009 半自動導入非詞元形式 9938590 wikitext text/x-wiki ==意大利語== ===動詞=== {{head|it|動詞變位形式}} # {{inflection of|it|nebulizzare||2|p|futr}} 3esl1l7lrtv62uq0ny97iimnwetperw nebulizzerà 0 3543392 9938591 2026-10-05T09:28:36Z TongcyBot 83009 半自動導入非詞元形式 9938591 wikitext text/x-wiki ==意大利語== ===動詞=== {{head|it|動詞變位形式}} # {{inflection of|it|nebulizzare||3|s|futr}} ===異序詞=== * {{anagrams|it|a=abeeilnruzz|nebulizzare}} q30vz3j31vckhzgz3wwcenxxafj8x0r nebulizzerò 0 3543393 9938592 2026-10-05T09:28:38Z TongcyBot 83009 半自動導入非詞元形式 9938592 wikitext text/x-wiki ==意大利語== ===動詞=== {{head|it|動詞變位形式}} # {{inflection of|it|nebulizzare||1|s|futr}} 4h2rrvx6mzijacrnjaq2i6dhn7os0v2 nebulizziamo 0 3543394 9938593 2026-10-05T09:28:40Z TongcyBot 83009 半自動導入非詞元形式 9938593 wikitext text/x-wiki ==意大利語== ===動詞=== {{head|it|動詞變位形式}} # {{inflection of|it|nebulizzare||1|p|pres|ind//sub|;|1|p|impr}} cu453wkxut772p610crq0nkkc3gs9y1 nebulizzi 0 3543395 9938594 2026-10-05T09:28:40Z TongcyBot 83009 半自動導入非詞元形式 9938594 wikitext text/x-wiki ==意大利語== ===動詞=== {{head|it|動詞變位形式}} # {{inflection of|it|nebulizzare||2|s|pres|indc|;|1//2//3|s|pres|subj|;|3|s|impr}} nk2q3pf2tqddo45f7fqzh60bid8fl3c nebulizziate 0 3543396 9938595 2026-10-05T09:28:41Z TongcyBot 83009 半自動導入非詞元形式 9938595 wikitext text/x-wiki ==意大利語== ===動詞=== {{head|it|動詞變位形式}} # {{inflection of|it|nebulizzare||2|p|pres|subj}} fw60su0uxakeaqu3we5nnfivjgc2xq5 nebulizzino 0 3543397 9938596 2026-10-05T09:28:43Z TongcyBot 83009 半自動導入非詞元形式 9938596 wikitext text/x-wiki ==意大利語== ===動詞=== {{head|it|動詞變位形式}} # {{inflection of|it|nebulizzare||3|p|pres|subj|;|3|p|impr}} h57by8ume2gs9d2h0csrbcy64i9h5v0 nebulizzo 0 3543398 9938597 2026-10-05T09:28:44Z TongcyBot 83009 半自動導入非詞元形式 9938597 wikitext text/x-wiki {{also|nebulizzò}} ==意大利語== ===動詞=== {{head|it|動詞變位形式}} # {{inflection of|it|nebulizzare||1|s|pres|indc}} eqdcqi9r6ogge7p9l2t1419z8n2bv15 nebulizzò 0 3543399 9938598 2026-10-05T09:28:45Z TongcyBot 83009 半自動導入非詞元形式 9938598 wikitext text/x-wiki {{also|nebulizzo}} ==意大利語== ===動詞=== {{head|it|動詞變位形式}} # {{inflection of|it|nebulizzare||3|s|phis}} ir6mi30d5239mlmfltkkihk1w252xmm negreggerai 0 3543400 9938599 2026-10-05T09:28:46Z TongcyBot 83009 半自動導入非詞元形式 9938599 wikitext text/x-wiki ==意大利語== ===動詞=== {{head|it|動詞變位形式}} # {{inflection of|it|negreggiare||2|s|fut}} ===異序詞=== * {{anagrams|it|a=aeeeggginrr|negreggiare}} 0w6zjmrhqlma9dwcp1vhtqeh0vurmoh negreggeranno 0 3543401 9938600 2026-10-05T09:28:47Z TongcyBot 83009 半自動導入非詞元形式 9938600 wikitext text/x-wiki ==意大利語== ===動詞=== {{head|it|動詞變位形式}} # {{inflection of|it|negreggiare||3|p|fut}} fqz8avn1w93bpj6rxbta8yp824zq33a negreggerebbe 0 3543402 9938601 2026-10-05T09:28:49Z TongcyBot 83009 半自動導入非詞元形式 9938601 wikitext text/x-wiki ==意大利語== ===動詞=== {{head|it|動詞變位形式}} # {{inflection of|it|negreggiare||3|s|cond}} 1kr2dggv0frpezl53wlptup947vl3yi negreggerebbero 0 3543403 9938602 2026-10-05T09:28:50Z TongcyBot 83009 半自動導入非詞元形式 9938602 wikitext text/x-wiki ==意大利語== ===動詞=== {{head|it|動詞變位形式}} # {{inflection of|it|negreggiare||3|p|cond}} 8ljh7yywefvbu3fmuzead8z4kfv6fu9 negreggerei 0 3543404 9938603 2026-10-05T09:28:52Z TongcyBot 83009 半自動導入非詞元形式 9938603 wikitext text/x-wiki ==意大利語== ===動詞=== {{head|it|動詞變位形式}} # {{inflection of|it|negreggiare||1|s|cond}} 3h3xqz0kzquqkywkxj9ocp9n3rvi94o negreggeremmo 0 3543405 9938604 2026-10-05T09:28:53Z TongcyBot 83009 半自動導入非詞元形式 9938604 wikitext text/x-wiki ==意大利語== ===動詞=== {{head|it|動詞變位形式}} # {{inflection of|it|negreggiare||1|p|cond}} ab11px8etbhumhz321xydp4dn5mu4px negreggeremo 0 3543406 9938605 2026-10-05T09:28:54Z TongcyBot 83009 半自動導入非詞元形式 9938605 wikitext text/x-wiki ==意大利語== ===動詞=== {{head|it|動詞變位形式}} # {{inflection of|it|negreggiare||1|p|fut}} c6d9zna0tua3xm683flwkjx0srz1ugn negreggeresti 0 3543407 9938606 2026-10-05T09:28:56Z TongcyBot 83009 半自動導入非詞元形式 9938606 wikitext text/x-wiki ==意大利語== ===動詞=== {{head|it|動詞變位形式}} # {{inflection of|it|negreggiare||2|s|cond}} 3bpsbdq6pmytqpchhdx3bgdu2j8c09c negreggerete 0 3543408 9938607 2026-10-05T09:28:57Z TongcyBot 83009 半自動導入非詞元形式 9938607 wikitext text/x-wiki ==意大利語== ===動詞=== {{head|it|動詞變位形式}} # {{inflection of|it|negreggiare||2|p|fut}} 3615bu9j9gyczxsceawjz5b6iuof2xi negreggerà 0 3543409 9938608 2026-10-05T09:28:59Z TongcyBot 83009 半自動導入非詞元形式 9938608 wikitext text/x-wiki ==意大利語== ===動詞=== {{head|it|動詞變位形式}} # {{inflection of|it|negreggiare||3|s|fut}} f9oitzkvw54jgbwrepkr9z3wpf5dlen negreggereste 0 3543410 9938609 2026-10-05T09:29:00Z TongcyBot 83009 半自動導入非詞元形式 9938609 wikitext text/x-wiki ==意大利語== ===動詞=== {{head|it|動詞變位形式}} # {{inflection of|it|negreggiare||2|p|cond}} itmrgweav9vy29zmaao9gvc2sfi4sjf negreggerò 0 3543411 9938610 2026-10-05T09:29:01Z TongcyBot 83009 半自動導入非詞元形式 9938610 wikitext text/x-wiki ==意大利語== ===動詞=== {{head|it|動詞變位形式}} # {{inflection of|it|negreggiare||1|s|fut}} hvzc3s8d38xf662k5ggr4xlm683b0kw negreggi 0 3543412 9938611 2026-10-05T09:29:02Z TongcyBot 83009 半自動導入非詞元形式 9938611 wikitext text/x-wiki ==意大利語== ===動詞=== {{head|it|動詞變位形式}} # {{inflection of|it|negreggiare||2|s|pres|ind|;|1//2//3|s|pres|sub|;|3|s|imp}} c717u3r1hnfx5rfckca45inxt3axcsp negreggia 0 3543413 9938612 2026-10-05T09:29:03Z TongcyBot 83009 半自動導入非詞元形式 9938612 wikitext text/x-wiki ==意大利語== ===動詞=== {{head|it|動詞變位形式}} # {{inflection of|it|negreggiare||3|s|pres|ind|;|2|s|imp}} 6omrbqx5tesythxjfsp9ugkhllydb0t negreggiai 0 3543414 9938613 2026-10-05T09:29:04Z TongcyBot 83009 半自動導入非詞元形式 9938613 wikitext text/x-wiki ==意大利語== ===動詞=== {{head|it|動詞變位形式}} # {{inflection of|it|negreggiare||1|s|phis}} ===異序詞=== * {{anagrams|it|a=aeegggiinr|ingaggerei}} 0dh1hm4hcik0s2sbryf2qtvxus6v2n8 negreggiammo 0 3543415 9938614 2026-10-05T09:29:06Z TongcyBot 83009 半自動導入非詞元形式 9938614 wikitext text/x-wiki ==意大利語== ===動詞=== {{head|it|動詞變位形式}} # {{inflection of|it|negreggiare||1|p|phis}} ===異序詞=== * {{anagrams|it|a=aeegggimmnor|ingaggeremmo}} jw6xerg9ooac0vh0a19byyr59yxd7lr negreggiamo 0 3543416 9938615 2026-10-05T09:29:06Z TongcyBot 83009 半自動導入非詞元形式 9938615 wikitext text/x-wiki ==意大利語== ===動詞=== {{head|it|動詞變位形式}} # {{inflection of|it|negreggiare||1|p|pres|ind//sub|;|1|p|imp}} ===異序詞=== * {{anagrams|it|a=aeegggimnor|ingaggeremo}} bttbh81026z1ph9gjiflel084yu2c9n negreggiando 0 3543417 9938616 2026-10-05T09:29:08Z TongcyBot 83009 半自動導入非詞元形式 9938616 wikitext text/x-wiki ==意大利語== ===動詞=== {{head|it|動名詞}} # {{gerund of|it|negreggiare}} 5yov1wcqf2mnfeb2yrib4xsetza7wq3 negreggiarono 0 3543418 9938617 2026-10-05T09:29:10Z TongcyBot 83009 半自動導入非詞元形式 9938617 wikitext text/x-wiki ==意大利語== ===動詞=== {{head|it|動詞變位形式}} # {{inflection of|it|negreggiare||3|p|phis}} rejbho56088vjgjpcepngbhfqz0hl2q negreggiano 0 3543419 9938618 2026-10-05T09:29:11Z TongcyBot 83009 半自動導入非詞元形式 9938618 wikitext text/x-wiki ==意大利語== ===動詞=== {{head|it|動詞變位形式}} # {{inflection of|it|negreggiare||3|p|pres|ind}} aezxuysmpb3gq50h4cufhve9940owg0 negreggiasse 0 3543420 9938619 2026-10-05T09:29:12Z TongcyBot 83009 半自動導入非詞元形式 9938619 wikitext text/x-wiki ==意大利語== ===動詞=== {{head|it|動詞變位形式}} # {{inflection of|it|negreggiare||3|s|impf|sub}} mvf740pxn338yhyock3ajcjdga2eoyx negreggiassero 0 3543421 9938620 2026-10-05T09:29:14Z TongcyBot 83009 半自動導入非詞元形式 9938620 wikitext text/x-wiki ==意大利語== ===動詞=== {{head|it|動詞變位形式}} # {{inflection of|it|negreggiare||3|p|impf|sub}} nifexeptmtm7iyrkqzyxzz4kma3gh19 negreggiassi 0 3543422 9938621 2026-10-05T09:29:15Z TongcyBot 83009 半自動導入非詞元形式 9938621 wikitext text/x-wiki ==意大利語== ===動詞=== {{head|it|動詞變位形式}} # {{inflection of|it|negreggiare||1//2|s|impf|sub}} 60fjj8za546kved42171o80td1swaxu negreggiassimo 0 3543423 9938622 2026-10-05T09:29:16Z TongcyBot 83009 半自動導入非詞元形式 9938622 wikitext text/x-wiki ==意大利語== ===動詞=== {{head|it|動詞變位形式}} # {{inflection of|it|negreggiare||1|p|impf|sub}} sm6m5fwwdt9eoedbjj8gzb04dq80ial negreggiaste 0 3543424 9938623 2026-10-05T09:29:17Z TongcyBot 83009 半自動導入非詞元形式 9938623 wikitext text/x-wiki ==意大利語== ===動詞=== {{head|it|動詞變位形式}} # {{inflection of|it|negreggiare||2|p|phis|;|2|p|impf|sub}} ===異序詞=== * {{anagrams|it|a=aeeeggginrst|ingaggereste}} pa4dlt7dgn9dcyt8knvtlyytvhkjbif negreggiasti 0 3543425 9938624 2026-10-05T09:29:19Z TongcyBot 83009 半自動導入非詞元形式 9938624 wikitext text/x-wiki ==意大利語== ===動詞=== {{head|it|動詞變位形式}} # {{inflection of|it|negreggiare||2|s|phis}} ===異序詞=== * {{anagrams|it|a=aeegggiinrst|ingaggeresti}} 31nthn1ucw0vzzx1e2qhd4h7l7si08y negreggiava 0 3543426 9938625 2026-10-05T09:29:20Z TongcyBot 83009 半自動導入非詞元形式 9938625 wikitext text/x-wiki ==意大利語== ===動詞=== {{head|it|動詞變位形式}} # {{inflection of|it|negreggiare||3|s|impf|ind}} fkdo63c48tkpy6ru9omg37pk6xp8ww5 negreggiavamo 0 3543427 9938626 2026-10-05T09:29:21Z TongcyBot 83009 半自動導入非詞元形式 9938626 wikitext text/x-wiki ==意大利語== ===動詞=== {{head|it|動詞變位形式}} # {{inflection of|it|negreggiare||1|p|impf|ind}} ===異序詞=== * {{anagrams|it|a=aaeegggimnorv|aggavigneremo}} egpqsqkft3yq2wmc90bjvsqcgb4in30 negreggiavano 0 3543428 9938627 2026-10-05T09:29:22Z TongcyBot 83009 半自動導入非詞元形式 9938627 wikitext text/x-wiki ==意大利語== ===動詞=== {{head|it|動詞變位形式}} # {{inflection of|it|negreggiare||3|p|impf|ind}} rhcfj9qc236j82kko7afxtombh8951g negreggiavate 0 3543429 9938628 2026-10-05T09:29:24Z TongcyBot 83009 半自動導入非詞元形式 9938628 wikitext text/x-wiki ==意大利語== ===動詞=== {{head|it|動詞變位形式}} # {{inflection of|it|negreggiare||2|p|impf|ind}} ===異序詞=== * {{anagrams|it|a=aaeeeggginrtv|aggavignerete}} s965l36w4aqs9q6oio55s2o4q0ubkqd negreggiavi 0 3543430 9938629 2026-10-05T09:29:25Z TongcyBot 83009 半自動導入非詞元形式 9938629 wikitext text/x-wiki ==意大利語== ===動詞=== {{head|it|動詞變位形式}} # {{inflection of|it|negreggiare||2|s|impf|ind}} chq62zflx92247cifjdhs03khgofchb negreggiavo 0 3543431 9938630 2026-10-05T09:29:26Z TongcyBot 83009 半自動導入非詞元形式 9938630 wikitext text/x-wiki ==意大利語== ===動詞=== {{head|it|動詞變位形式}} # {{inflection of|it|negreggiare||1|s|impf|ind}} pxz7g54muyv59j7hcs41780hnsq23tv negreggino 0 3543432 9938631 2026-10-05T09:29:28Z TongcyBot 83009 半自動導入非詞元形式 9938631 wikitext text/x-wiki ==意大利語== ===動詞=== {{head|it|動詞變位形式}} # {{inflection of|it|negreggiare||3|p|pres|sub|;|3|p|imp}} fcnmas0feco1izulvkitbktmay46sce negreggio 0 3543433 9938632 2026-10-05T09:29:29Z TongcyBot 83009 半自動導入非詞元形式 9938632 wikitext text/x-wiki {{also|negreggiò}} ==意大利語== ===動詞=== {{head|it|動詞變位形式}} # {{inflection of|it|negreggiare||1|s|pres|ind}} df1i95k49z6g1u788qt8q1sctwaxwij negreggiò 0 3543434 9938633 2026-10-05T09:29:30Z TongcyBot 83009 半自動導入非詞元形式 9938633 wikitext text/x-wiki {{also|negreggio}} ==意大利語== ===動詞=== {{head|it|動詞變位形式}} # {{inflection of|it|negreggiare||3|s|phis}} 793yle0p3914zy3n22b1bsgbxxqceo7 neologizza 0 3543435 9938634 2026-10-05T09:29:31Z TongcyBot 83009 半自動導入非詞元形式 9938634 wikitext text/x-wiki ==意大利語== ===動詞=== {{head|it|動詞變位形式}} # {{inflection of|it|neologizzare||3|s|pres|ind|;|2|s|imp}} fbbtgaxogl4qqmn9nep6dvagwxyup4y neologizzai 0 3543436 9938635 2026-10-05T09:29:32Z TongcyBot 83009 半自動導入非詞元形式 9938635 wikitext text/x-wiki ==意大利語== ===動詞=== {{head|it|動詞變位形式}} # {{inflection of|it|neologizzare||1|s|phis}} l3166iy2jek7xrt55g6ruct8n73k0d9 neologizzammo 0 3543437 9938636 2026-10-05T09:29:34Z TongcyBot 83009 半自動導入非詞元形式 9938636 wikitext text/x-wiki ==意大利語== ===動詞=== {{head|it|動詞變位形式}} # {{inflection of|it|neologizzare||1|p|phis}} f2oxrremnqlqcl424nrk4pk7p0nhu3w neologizzando 0 3543438 9938637 2026-10-05T09:29:35Z TongcyBot 83009 半自動導入非詞元形式 9938637 wikitext text/x-wiki ==意大利語== ===動詞=== {{head|it|動名詞}} # {{gerund of|it|neologizzare}} djbif8avucbvfqozxchymink3el9m5x neologizzano 0 3543439 9938638 2026-10-05T09:29:36Z TongcyBot 83009 半自動導入非詞元形式 9938638 wikitext text/x-wiki ==意大利語== ===動詞=== {{head|it|動詞變位形式}} # {{inflection of|it|neologizzare||3|p|pres|ind}} 43gggg1biug3panefdm5s9n375f0hdw neologizzarono 0 3543440 9938639 2026-10-05T09:29:37Z TongcyBot 83009 半自動導入非詞元形式 9938639 wikitext text/x-wiki ==意大利語== ===動詞=== {{head|it|動詞變位形式}} # {{inflection of|it|neologizzare||3|p|phis}} 2yxsuvapnt6opv1axu2w4331xblxxtt neologizzasse 0 3543441 9938640 2026-10-05T09:29:39Z TongcyBot 83009 半自動導入非詞元形式 9938640 wikitext text/x-wiki ==意大利語== ===動詞=== {{head|it|動詞變位形式}} # {{inflection of|it|neologizzare||3|s|impf|sub}} 6966yy8h108k17botp3h5gbif101if8 neologizzassero 0 3543442 9938641 2026-10-05T09:29:41Z TongcyBot 83009 半自動導入非詞元形式 9938641 wikitext text/x-wiki ==意大利語== ===動詞=== {{head|it|動詞變位形式}} # {{inflection of|it|neologizzare||3|p|impf|sub}} atve4fxxez287m01be4f7o4dw5pm2t2 neologizzassi 0 3543443 9938642 2026-10-05T09:29:42Z TongcyBot 83009 半自動導入非詞元形式 9938642 wikitext text/x-wiki ==意大利語== ===動詞=== {{head|it|動詞變位形式}} # {{inflection of|it|neologizzare||1//2|s|impf|sub}} 71om5ornt9tfnadz62tf681gqstz2ec neologizzassimo 0 3543444 9938643 2026-10-05T09:29:43Z TongcyBot 83009 半自動導入非詞元形式 9938643 wikitext text/x-wiki ==意大利語== ===動詞=== {{head|it|動詞變位形式}} # {{inflection of|it|neologizzare||1|p|impf|sub}} 3r7dmynw3mk1u9tspsih2qyok6wq27x neologizzaste 0 3543445 9938644 2026-10-05T09:29:44Z TongcyBot 83009 半自動導入非詞元形式 9938644 wikitext text/x-wiki ==意大利語== ===動詞=== {{head|it|動詞變位形式}} # {{inflection of|it|neologizzare||2|p|phis|;|2|p|impf|sub}} 95hud4srnusronx4qv9lcbx3yb2piz9 neologizzasti 0 3543446 9938645 2026-10-05T09:29:45Z TongcyBot 83009 半自動導入非詞元形式 9938645 wikitext text/x-wiki ==意大利語== ===動詞=== {{head|it|動詞變位形式}} # {{inflection of|it|neologizzare||2|s|phis}} j11ww6takquxie1byo3xn56yrgv8b2s neologizzate 0 3543447 9938646 2026-10-05T09:29:46Z TongcyBot 83009 半自動導入非詞元形式 9938646 wikitext text/x-wiki ==意大利語== ===詞源1=== ====動詞==== {{head|it|動詞變位形式}} # {{inflection of|it|neologizzare||2|p|pres|ind|;|2|p|imp}} ===詞源2=== ====分詞==== {{head|it|過去分詞變格形|g=f-p}} # {{feminine plural of|it|neologizzato}} crsmxnzi6w3jk2uzvnyf3ybkmo0ssx2 neologizzava 0 3543448 9938647 2026-10-05T09:29:48Z TongcyBot 83009 半自動導入非詞元形式 9938647 wikitext text/x-wiki ==意大利語== ===動詞=== {{head|it|動詞變位形式}} # {{inflection of|it|neologizzare||3|s|impf|ind}} cvf714cd7ndyfaef3v48d9sktqu3r54 neologizzavamo 0 3543449 9938648 2026-10-05T09:29:49Z TongcyBot 83009 半自動導入非詞元形式 9938648 wikitext text/x-wiki ==意大利語== ===動詞=== {{head|it|動詞變位形式}} # {{inflection of|it|neologizzare||1|p|impf|ind}} 34cpgk2huthaaxf34xo5h0gd3j41so3 neologizzavano 0 3543450 9938649 2026-10-05T09:29:50Z TongcyBot 83009 半自動導入非詞元形式 9938649 wikitext text/x-wiki ==意大利語== ===動詞=== {{head|it|動詞變位形式}} # {{inflection of|it|neologizzare||3|p|impf|ind}} o9pw71hm2c6kwa8r8sn7u6yi0slgqks neologizzavate 0 3543451 9938650 2026-10-05T09:29:51Z TongcyBot 83009 半自動導入非詞元形式 9938650 wikitext text/x-wiki ==意大利語== ===動詞=== {{head|it|動詞變位形式}} # {{inflection of|it|neologizzare||2|p|impf|ind}} faheec6i8nfzr5hbd8ifpkir35cdqyr neologizzavi 0 3543452 9938651 2026-10-05T09:29:53Z TongcyBot 83009 半自動導入非詞元形式 9938651 wikitext text/x-wiki ==意大利語== ===動詞=== {{head|it|動詞變位形式}} # {{inflection of|it|neologizzare||2|s|impf|ind}} 1bik9ns83pax6nj5e4z1inpmnn10sc5 neologizzavo 0 3543453 9938652 2026-10-05T09:29:54Z TongcyBot 83009 半自動導入非詞元形式 9938652 wikitext text/x-wiki ==意大利語== ===動詞=== {{head|it|動詞變位形式}} # {{inflection of|it|neologizzare||1|s|impf|ind}} 2k8fyqzf47rxcbp094p35mj59at7yhj neologizzerai 0 3543454 9938653 2026-10-05T09:29:55Z TongcyBot 83009 半自動導入非詞元形式 9938653 wikitext text/x-wiki ==意大利語== ===動詞=== {{head|it|動詞變位形式}} # {{inflection of|it|neologizzare||2|s|fut}} bzz09ix6lv59hjdsgvnob30oikecx9j neologizzeranno 0 3543455 9938654 2026-10-05T09:29:56Z TongcyBot 83009 半自動導入非詞元形式 9938654 wikitext text/x-wiki ==意大利語== ===動詞=== {{head|it|動詞變位形式}} # {{inflection of|it|neologizzare||3|p|fut}} iytcvo3278rum8ie2kph1brbkj33atf neologizzerebbe 0 3543456 9938655 2026-10-05T09:29:58Z TongcyBot 83009 半自動導入非詞元形式 9938655 wikitext text/x-wiki ==意大利語== ===動詞=== {{head|it|動詞變位形式}} # {{inflection of|it|neologizzare||3|s|cond}} 54jccp4mnau591urdzahriqf3ielg0j neologizzerebbero 0 3543457 9938656 2026-10-05T09:29:59Z TongcyBot 83009 半自動導入非詞元形式 9938656 wikitext text/x-wiki ==意大利語== ===動詞=== {{head|it|動詞變位形式}} # {{inflection of|it|neologizzare||3|p|cond}} dqqmf2ss9yk0t447a44y81m0n0b3ook neologizzerei 0 3543458 9938657 2026-10-05T09:30:00Z TongcyBot 83009 半自動導入非詞元形式 9938657 wikitext text/x-wiki ==意大利語== ===動詞=== {{head|it|動詞變位形式}} # {{inflection of|it|neologizzare||1|s|cond}} i74hzhcfnj9cm8nwh43ociaz41do8ag neologizzeremmo 0 3543459 9938658 2026-10-05T09:30:01Z TongcyBot 83009 半自動導入非詞元形式 9938658 wikitext text/x-wiki ==意大利語== ===動詞=== {{head|it|動詞變位形式}} # {{inflection of|it|neologizzare||1|p|cond}} d8d77731l1366exc4fnecsxocvs9aam neologizzeremo 0 3543460 9938659 2026-10-05T09:30:02Z TongcyBot 83009 半自動導入非詞元形式 9938659 wikitext text/x-wiki ==意大利語== ===動詞=== {{head|it|動詞變位形式}} # {{inflection of|it|neologizzare||1|p|fut}} 2cmoqgkwjbx6rhvgv3g402gutqi9xu6 neologizzereste 0 3543461 9938660 2026-10-05T09:30:03Z TongcyBot 83009 半自動導入非詞元形式 9938660 wikitext text/x-wiki ==意大利語== ===動詞=== {{head|it|動詞變位形式}} # {{inflection of|it|neologizzare||2|p|cond}} 1r3vdt0m2a26zrl3smd8p5o8omlwprk neologizzeresti 0 3543462 9938661 2026-10-05T09:30:05Z TongcyBot 83009 半自動導入非詞元形式 9938661 wikitext text/x-wiki ==意大利語== ===動詞=== {{head|it|動詞變位形式}} # {{inflection of|it|neologizzare||2|s|cond}} jaekm2syazqvp8cepxylatlcc8t48zf neologizzerete 0 3543463 9938662 2026-10-05T09:30:06Z TongcyBot 83009 半自動導入非詞元形式 9938662 wikitext text/x-wiki ==意大利語== ===動詞=== {{head|it|動詞變位形式}} # {{inflection of|it|neologizzare||2|p|fut}} p03l93pjrhqc4ucyy7lwib8u89uf8mj neologizzerà 0 3543464 9938663 2026-10-05T09:30:08Z TongcyBot 83009 半自動導入非詞元形式 9938663 wikitext text/x-wiki ==意大利語== ===動詞=== {{head|it|動詞變位形式}} # {{inflection of|it|neologizzare||3|s|fut}} ===異序詞=== * {{anagrams|it|a=aeegilnoorzz|neologizzare}} ayhjsdfvfvoo84knxduhptczu41bcxk neologizzerò 0 3543465 9938664 2026-10-05T09:30:08Z TongcyBot 83009 半自動導入非詞元形式 9938664 wikitext text/x-wiki ==意大利語== ===動詞=== {{head|it|動詞變位形式}} # {{inflection of|it|neologizzare||1|s|fut}} r12ox3able4l1vkjtieisjor4kzoawk neologizzi 0 3543466 9938665 2026-10-05T09:30:10Z TongcyBot 83009 半自動導入非詞元形式 9938665 wikitext text/x-wiki ==意大利語== ===動詞=== {{head|it|動詞變位形式}} # {{inflection of|it|neologizzare||2|s|pres|ind|;|1//2//3|s|pres|sub|;|3|s|imp}} r6axurfzu0rwljd2hsnc8um10ah88mk neologizziate 0 3543467 9938666 2026-10-05T09:30:13Z TongcyBot 83009 半自動導入非詞元形式 9938666 wikitext text/x-wiki ==意大利語== ===動詞=== {{head|it|動詞變位形式}} # {{inflection of|it|neologizzare||2|p|pres|sub}} fp2xuxdevpwsz5xddtz53ara0oqco87 neologizzino 0 3543468 9938667 2026-10-05T09:30:14Z TongcyBot 83009 半自動導入非詞元形式 9938667 wikitext text/x-wiki ==意大利語== ===動詞=== {{head|it|動詞變位形式}} # {{inflection of|it|neologizzare||3|p|pres|sub|;|3|p|imp}} 1k2m3qbrvhj3nvq920toev5qf9zzroi neologizzo 0 3543469 9938668 2026-10-05T09:30:15Z TongcyBot 83009 半自動導入非詞元形式 9938668 wikitext text/x-wiki {{also|neologizzò}} ==意大利語== ===動詞=== {{head|it|動詞變位形式}} # {{inflection of|it|neologizzare||1|s|pres|ind}} cebwbpb22x69twbx1dn1f4h2s5rqj8j neologizzò 0 3543470 9938669 2026-10-05T09:30:17Z TongcyBot 83009 半自動導入非詞元形式 9938669 wikitext text/x-wiki {{also|neologizzo}} ==意大利語== ===動詞=== {{head|it|動詞變位形式}} # {{inflection of|it|neologizzare||3|s|phis}} 297ohmw78ruchgvpyzzagn8ugfdh19l nereggerai 0 3543471 9938670 2026-10-05T09:30:18Z TongcyBot 83009 半自動導入非詞元形式 9938670 wikitext text/x-wiki ==意大利語== ===動詞=== {{head|it|動詞變位形式}} # {{inflection of|it|nereggiare||2|s|futr}} ===異序詞=== * {{anagrams|it|a=aeeegginrr|nereggiare}} mhjxggko1kfqu6fvepaxdrkz6b4jk2k nereggeranno 0 3543472 9938671 2026-10-05T09:30:20Z TongcyBot 83009 半自動導入非詞元形式 9938671 wikitext text/x-wiki ==意大利語== ===動詞=== {{head|it|動詞變位形式}} # {{inflection of|it|nereggiare||3|p|futr}} p721why29pwbwjzg3hog9n52sj3dylg nereggerebbe 0 3543473 9938672 2026-10-05T09:30:21Z TongcyBot 83009 半自動導入非詞元形式 9938672 wikitext text/x-wiki ==意大利語== ===動詞=== {{head|it|動詞變位形式}} # {{inflection of|it|nereggiare||3|s|cond}} gtynn3820sedlnk3p948zyr3g3sebqc neologizziamo 0 3543474 9938673 2026-10-05T09:30:22Z TongcyBot 83009 半自動導入非詞元形式 9938673 wikitext text/x-wiki ==意大利語== ===動詞=== {{head|it|動詞變位形式}} # {{inflection of|it|neologizzare||1|p|pres|ind//sub|;|1|p|imp}} okloxux7cj4a3ywjbmnevv0d0ocvu7l nereggerebbero 0 3543475 9938674 2026-10-05T09:30:23Z TongcyBot 83009 半自動導入非詞元形式 9938674 wikitext text/x-wiki ==意大利語== ===動詞=== {{head|it|動詞變位形式}} # {{inflection of|it|nereggiare||3|p|cond}} ecycrsy3n46w91fqcwvldgod4axd4p0 nereggerei 0 3543476 9938675 2026-10-05T09:30:24Z TongcyBot 83009 半自動導入非詞元形式 9938675 wikitext text/x-wiki ==意大利語== ===動詞=== {{head|it|動詞變位形式}} # {{inflection of|it|nereggiare||1|s|cond}} 0n0fhvlcxjwhoc60w1pyzyca8vw2stt nereggeremmo 0 3543477 9938676 2026-10-05T09:30:26Z TongcyBot 83009 半自動導入非詞元形式 9938676 wikitext text/x-wiki ==意大利語== ===動詞=== {{head|it|動詞變位形式}} # {{inflection of|it|nereggiare||1|p|cond}} 224iakvtiwcccyih003wb3800xkrsn3 nereggeremo 0 3543478 9938677 2026-10-05T09:30:27Z TongcyBot 83009 半自動導入非詞元形式 9938677 wikitext text/x-wiki ==意大利語== ===動詞=== {{head|it|動詞變位形式}} # {{inflection of|it|nereggiare||1|p|futr}} ijgiulpfmn3ek0aavvtcod90ngoxxd5 nereggeresti 0 3543479 9938678 2026-10-05T09:30:30Z TongcyBot 83009 半自動導入非詞元形式 9938678 wikitext text/x-wiki ==意大利語== ===動詞=== {{head|it|動詞變位形式}} # {{inflection of|it|nereggiare||2|s|cond}} s63jf0fhgpaaydchicrhakd8sbrgx1d nereggereste 0 3543480 9938679 2026-10-05T09:30:31Z TongcyBot 83009 半自動導入非詞元形式 9938679 wikitext text/x-wiki ==意大利語== ===動詞=== {{head|it|動詞變位形式}} # {{inflection of|it|nereggiare||2|p|cond}} kpa9tuo7c8zhr0i8uzbudxkc0kff8k4 nereggerete 0 3543481 9938680 2026-10-05T09:30:32Z TongcyBot 83009 半自動導入非詞元形式 9938680 wikitext text/x-wiki ==意大利語== ===動詞=== {{head|it|動詞變位形式}} # {{inflection of|it|nereggiare||2|p|futr}} 5r93y3njyt89a4ldywhcjg3883gnje8 nereggerà 0 3543482 9938681 2026-10-05T09:30:33Z TongcyBot 83009 半自動導入非詞元形式 9938681 wikitext text/x-wiki ==意大利語== ===動詞=== {{head|it|動詞變位形式}} # {{inflection of|it|nereggiare||3|s|futr}} q7n2tpl2v7ubr8z7lnxk0jnx2oi91o6 nereggi 0 3543483 9938682 2026-10-05T09:30:35Z TongcyBot 83009 半自動導入非詞元形式 9938682 wikitext text/x-wiki ==意大利語== ===動詞=== {{head|it|動詞變位形式}} # {{inflection of|it|nereggiare||2|s|pres|indc|;|1//2//3|s|pres|subj|;|3|s|impr}} ===異序詞=== * {{anagrams|it|a=eegginr|reggine}} s9vlgdfgs8ygholz6lrjk3fx5u4of7k nereggerò 0 3543484 9938683 2026-10-05T09:30:36Z TongcyBot 83009 半自動導入非詞元形式 9938683 wikitext text/x-wiki ==意大利語== ===動詞=== {{head|it|動詞變位形式}} # {{inflection of|it|nereggiare||1|s|futr}} k2gt8gpfs4sytdo7gu85oyvml66luxk nereggia 0 3543485 9938684 2026-10-05T09:30:37Z TongcyBot 83009 半自動導入非詞元形式 9938684 wikitext text/x-wiki ==意大利語== ===動詞=== {{head|it|動詞變位形式}} # {{inflection of|it|nereggiare||3|s|pres|indc|;|2|s|impr}} ===異序詞=== * {{anagrams|it|a=aeegginr|reggiane}} 39tu3fqb383ohqcixljb0bo6szihaz0 nereggiai 0 3543486 9938685 2026-10-05T09:30:38Z TongcyBot 83009 半自動導入非詞元形式 9938685 wikitext text/x-wiki ==意大利語== ===動詞=== {{head|it|動詞變位形式}} # {{inflection of|it|nereggiare||1|s|phis}} pclixvz065zxu6s2vofcbqghn31y5pz nereggiammo 0 3543487 9938686 2026-10-05T09:30:39Z TongcyBot 83009 半自動導入非詞元形式 9938686 wikitext text/x-wiki ==意大利語== ===動詞=== {{head|it|動詞變位形式}} # {{inflection of|it|nereggiare||1|p|phis}} dz8lgm9hckqkcwx8mnc86aflcvbfnx2 nereggiamo 0 3543488 9938687 2026-10-05T09:30:41Z TongcyBot 83009 半自動導入非詞元形式 9938687 wikitext text/x-wiki ==意大利語== ===動詞=== {{head|it|動詞變位形式}} # {{inflection of|it|nereggiare||1|p|pres|ind//sub|;|1|p|impr}} ===異序詞=== * {{anagrams|it|a=aeeggimnor|armeggione|remeggiano}} p8gzyca8av8p099x6y26ggv8v4tvm7l nereggiano 0 3543489 9938688 2026-10-05T09:30:42Z TongcyBot 83009 半自動導入非詞元形式 9938688 wikitext text/x-wiki ==意大利語== ===動詞=== {{head|it|動詞變位形式}} # {{inflection of|it|nereggiare||3|p|pres|indc}} bjpqiyhcxx205zqqxd43odz05m5a5jb nereggiarono 0 3543490 9938689 2026-10-05T09:30:44Z TongcyBot 83009 半自動導入非詞元形式 9938689 wikitext text/x-wiki ==意大利語== ===動詞=== {{head|it|動詞變位形式}} # {{inflection of|it|nereggiare||3|p|phis}} gxb18g1a491gqpsoc6d1csw24uzn6j0 nereggiasse 0 3543491 9938690 2026-10-05T09:30:45Z TongcyBot 83009 半自動導入非詞元形式 9938690 wikitext text/x-wiki ==意大利語== ===動詞=== {{head|it|動詞變位形式}} # {{inflection of|it|nereggiare||3|s|impf|subj}} 0rj9hm5m4hef4efbuo799wn5qddh1m5 nereggiando 0 3543492 9938691 2026-10-05T09:30:46Z TongcyBot 83009 半自動導入非詞元形式 9938691 wikitext text/x-wiki ==意大利語== ===動詞=== {{head|it|動名詞}} # {{gerund of|it|nereggiare}} jesllbar2p64uhomybyh9khtoa2trqt nereggiassero 0 3543493 9938692 2026-10-05T09:30:48Z TongcyBot 83009 半自動導入非詞元形式 9938692 wikitext text/x-wiki ==意大利語== ===動詞=== {{head|it|動詞變位形式}} # {{inflection of|it|nereggiare||3|p|impf|subj}} td2v1o2hn5rznnbofmxu0m90acmj44g nereggiassi 0 3543494 9938693 2026-10-05T09:30:48Z TongcyBot 83009 半自動導入非詞元形式 9938693 wikitext text/x-wiki ==意大利語== ===動詞=== {{head|it|動詞變位形式}} # {{inflection of|it|nereggiare||1//2|s|impf|subj}} g0x319a3bisbs7trsoioyowhcrwlrao nereggiassimo 0 3543495 9938694 2026-10-05T09:30:50Z TongcyBot 83009 半自動導入非詞元形式 9938694 wikitext text/x-wiki ==意大利語== ===動詞=== {{head|it|動詞變位形式}} # {{inflection of|it|nereggiare||1|p|impf|subj}} g6rbkkt6futyjdo5jxt6475e5gw9gtc nereggiaste 0 3543496 9938695 2026-10-05T09:30:51Z TongcyBot 83009 半自動導入非詞元形式 9938695 wikitext text/x-wiki ==意大利語== ===動詞=== {{head|it|動詞變位形式}} # {{inflection of|it|nereggiare||2|p|phis|;|2|p|impf|subj}} ===異序詞=== * {{anagrams|it|a=aeeegginrst|sagginerete}} 0fvv71lcmhnce0zp0u4any5wzqd4nhx nereggiasti 0 3543497 9938696 2026-10-05T09:30:52Z TongcyBot 83009 半自動導入非詞元形式 9938696 wikitext text/x-wiki ==意大利語== ===動詞=== {{head|it|動詞變位形式}} # {{inflection of|it|nereggiare||2|s|phis}} 1a3vsscsxyxqfdgcrksrukk3cf3sk9q nereggiate 0 3543498 9938697 2026-10-05T09:30:53Z TongcyBot 83009 半自動導入非詞元形式 9938697 wikitext text/x-wiki ==意大利語== ===詞源1=== ====動詞==== {{head|it|動詞變位形式}} # {{inflection of|it|nereggiare||2|p|pres|ind//sub|;|2|p|impr}} ===詞源2=== ====分詞==== {{head|it|過去分詞變格形|g=f-p}} # {{feminine plural of|it|nereggiato}} f2xa65n3xstjb2dkf3bq0fxiyejqiux nereggiavamo 0 3543499 9938698 2026-10-05T09:30:56Z TongcyBot 83009 半自動導入非詞元形式 9938698 wikitext text/x-wiki ==意大利語== ===動詞=== {{head|it|動詞變位形式}} # {{inflection of|it|nereggiare||1|p|impf|indc}} ===異序詞=== * {{anagrams|it|a=aaeeggimnorv|remeggiavano}} lvw6jjy5hijztn8tsdziemuofauo47a nereggiava 0 3543500 9938699 2026-10-05T09:30:57Z TongcyBot 83009 半自動導入非詞元形式 9938699 wikitext text/x-wiki ==意大利語== ===動詞=== {{head|it|動詞變位形式}} # {{inflection of|it|nereggiare||3|s|impf|indc}} ===異序詞=== * {{anagrams|it|a=aaeegginrv|vaneggerai|vaneggiare}} 6hcmiltq33w3mzh5fduxs9evuez0s6g nereggiavano 0 3543501 9938700 2026-10-05T09:30:58Z TongcyBot 83009 半自動導入非詞元形式 9938700 wikitext text/x-wiki ==意大利語== ===動詞=== {{head|it|動詞變位形式}} # {{inflection of|it|nereggiare||3|p|impf|indc}} rkmjmsc3iwebqwxn93dhudijcmoovxy nereggiavate 0 3543502 9938701 2026-10-05T09:30:59Z TongcyBot 83009 半自動導入非詞元形式 9938701 wikitext text/x-wiki ==意大利語== ===動詞=== {{head|it|動詞變位形式}} # {{inflection of|it|nereggiare||2|p|impf|indc}} 29ckpe24wxup5gdvbceo109wpn35kij nereggiavi 0 3543503 9938702 2026-10-05T09:31:01Z TongcyBot 83009 半自動導入非詞元形式 9938702 wikitext text/x-wiki ==意大利語== ===動詞=== {{head|it|動詞變位形式}} # {{inflection of|it|nereggiare||2|s|impf|indc}} ===異序詞=== * {{anagrams|it|a=aeeggiinrv|inveggiare|viareggine}} nxvdf8xm8aty0sxhthnpg1wadav16oq nereggiavo 0 3543504 9938703 2026-10-05T09:31:01Z TongcyBot 83009 半自動導入非詞元形式 9938703 wikitext text/x-wiki ==意大利語== ===動詞=== {{head|it|動詞變位形式}} # {{inflection of|it|nereggiare||1|s|impf|indc}} qgaeyh2jkdqxpck242pjx1s63hnqqwn nereggino 0 3543505 9938704 2026-10-05T09:31:03Z TongcyBot 83009 半自動導入非詞元形式 9938704 wikitext text/x-wiki ==意大利語== ===動詞=== {{head|it|動詞變位形式}} # {{inflection of|it|nereggiare||3|p|pres|subj|;|3|p|impr}} ===異序詞=== * {{anagrams|it|a=eegginnor|ingegnerò|inneggerò}} qscme7uzioqrpeedymjfxjks1nudvqw nereggio 0 3543506 9938705 2026-10-05T09:31:04Z TongcyBot 83009 半自動導入非詞元形式 9938705 wikitext text/x-wiki {{also|nereggiò}} ==意大利語== ===動詞=== {{head|it|動詞變位形式}} # {{inflection of|it|nereggiare||1|s|pres|indc}} dgw27a8m6tjdabv7sg8q9ugeu0dho7n nereggiò 0 3543507 9938706 2026-10-05T09:31:05Z TongcyBot 83009 半自動導入非詞元形式 9938706 wikitext text/x-wiki {{also|nereggio}} ==意大利語== ===動詞=== {{head|it|動詞變位形式}} # {{inflection of|it|nereggiare||3|s|phis}} k8lzl8l7c6papqhei855v7jv2njdu5e nichelai 0 3543508 9938707 2026-10-05T09:31:06Z TongcyBot 83009 半自動導入非詞元形式 9938707 wikitext text/x-wiki ==意大利語== ===動詞=== {{head|it|動詞變位形式}} # {{inflection of|it|nichelare||1|s|phis}} ===異序詞=== * {{anagrams|it|a=acehiiln|niliache}} sp5zfnbafacukvt9jtj67vovkffi1x2 nichelammo 0 3543509 9938708 2026-10-05T09:31:08Z TongcyBot 83009 半自動導入非詞元形式 9938708 wikitext text/x-wiki ==意大利語== ===動詞=== {{head|it|動詞變位形式}} # {{inflection of|it|nichelare||1|p|phis}} ho0myqw5slmx7byg4bx0p7k4ldkm2fh nichelando 0 3543510 9938709 2026-10-05T09:31:09Z TongcyBot 83009 半自動導入非詞元形式 9938709 wikitext text/x-wiki ==意大利語== ===動詞=== {{head|it|動名詞}} # {{gerund of|it|nichelare}} 51ck5wmv8zem3iw5xxiyf4kt8rh82f5 nichelano 0 3543511 9938710 2026-10-05T09:31:10Z TongcyBot 83009 半自動導入非詞元形式 9938710 wikitext text/x-wiki ==意大利語== ===動詞=== {{head|it|動詞變位形式}} # {{inflection of|it|nichelare||3|p|pres|indc}} 3ud724j06ebcr9mmyappnag13t0vkv8 nichelarono 0 3543512 9938711 2026-10-05T09:31:11Z TongcyBot 83009 半自動導入非詞元形式 9938711 wikitext text/x-wiki ==意大利語== ===動詞=== {{head|it|動詞變位形式}} # {{inflection of|it|nichelare||3|p|phis}} a9drw2uzkdne5dld2ouuyatsn82gefj nichelasse 0 3543513 9938712 2026-10-05T09:31:13Z TongcyBot 83009 半自動導入非詞元形式 9938712 wikitext text/x-wiki ==意大利語== ===動詞=== {{head|it|動詞變位形式}} # {{inflection of|it|nichelare||3|s|impf|subj}} 974y79aob7k4hvrcmggag03q5ub9ytf nichelassero 0 3543514 9938713 2026-10-05T09:31:14Z TongcyBot 83009 半自動導入非詞元形式 9938713 wikitext text/x-wiki ==意大利語== ===動詞=== {{head|it|動詞變位形式}} # {{inflection of|it|nichelare||3|p|impf|subj}} 0tvmgyjw712mpfr9zd324b894ek96t3 nichelassi 0 3543515 9938714 2026-10-05T09:31:16Z TongcyBot 83009 半自動導入非詞元形式 9938714 wikitext text/x-wiki ==意大利語== ===動詞=== {{head|it|動詞變位形式}} # {{inflection of|it|nichelare||1//2|s|impf|subj}} gpfufwo4ectrmyghl1z6dvhi673mfix nichelaste 0 3543516 9938715 2026-10-05T09:31:17Z TongcyBot 83009 半自動導入非詞元形式 9938715 wikitext text/x-wiki ==意大利語== ===動詞=== {{head|it|動詞變位形式}} # {{inflection of|it|nichelare||2|p|phis|;|2|p|impf|subj}} 6sobgrtksl7m8eczi3umhoi489zynjj nichelasti 0 3543517 9938716 2026-10-05T09:31:20Z TongcyBot 83009 半自動導入非詞元形式 9938716 wikitext text/x-wiki ==意大利語== ===動詞=== {{head|it|動詞變位形式}} # {{inflection of|it|nichelare||2|s|phis}} tt6cdkir45nhrez7bqyri155owh1bmz nichelassimo 0 3543518 9938717 2026-10-05T09:31:22Z TongcyBot 83009 半自動導入非詞元形式 9938717 wikitext text/x-wiki ==意大利語== ===動詞=== {{head|it|動詞變位形式}} # {{inflection of|it|nichelare||1|p|impf|subj}} ijed51ywg1vprjhff383rr7q4hj35gf nichelava 0 3543519 9938718 2026-10-05T09:31:22Z TongcyBot 83009 半自動導入非詞元形式 9938718 wikitext text/x-wiki ==意大利語== ===動詞=== {{head|it|動詞變位形式}} # {{inflection of|it|nichelare||3|s|impf|indc}} 8qe4tu4wmuxmixi0ztz10zya5vskt6g nichelavamo 0 3543520 9938719 2026-10-05T09:31:23Z TongcyBot 83009 半自動導入非詞元形式 9938719 wikitext text/x-wiki ==意大利語== ===動詞=== {{head|it|動詞變位形式}} # {{inflection of|it|nichelare||1|p|impf|indc}} lld519uriqfwo9fmy1zn7mdt3gpg18b nichelavano 0 3543521 9938720 2026-10-05T09:31:26Z TongcyBot 83009 半自動導入非詞元形式 9938720 wikitext text/x-wiki ==意大利語== ===發音=== {{it-pr|nichelàvano}} ===動詞=== {{head|it|動詞變位形式}} # {{inflection of|it|nichelare||3|p|impf|indc}} m5j4xgqhrrgzh7tglgy80hajjd6p6a8 nichelavate 0 3543522 9938721 2026-10-05T09:31:27Z TongcyBot 83009 半自動導入非詞元形式 9938721 wikitext text/x-wiki ==意大利語== ===動詞=== {{head|it|動詞變位形式}} # {{inflection of|it|nichelare||2|p|impf|indc}} pn9ic792mjyt54yaw1ez9iysxirxn5y nichelavi 0 3543523 9938722 2026-10-05T09:31:28Z TongcyBot 83009 半自動導入非詞元形式 9938722 wikitext text/x-wiki ==意大利語== ===動詞=== {{head|it|動詞變位形式}} # {{inflection of|it|nichelare||2|s|impf|indc}} f11pcu8vltamwcgbmlbu1eah7s37al6 nichelavo 0 3543524 9938723 2026-10-05T09:31:29Z TongcyBot 83009 半自動導入非詞元形式 9938723 wikitext text/x-wiki ==意大利語== ===動詞=== {{head|it|動詞變位形式}} # {{inflection of|it|nichelare||1|s|impf|indc}} r08sm9sav0s2nppcv9rttkhbt0sq6gp nichelerai 0 3543525 9938724 2026-10-05T09:31:31Z TongcyBot 83009 半自動導入非詞元形式 9938724 wikitext text/x-wiki ==意大利語== ===動詞=== {{head|it|動詞變位形式}} # {{inflection of|it|nichelare||2|s|futr}} 804h7lukunm2xv6lkc1q5gmepet3140 nicheleranno 0 3543526 9938725 2026-10-05T09:31:33Z TongcyBot 83009 半自動導入非詞元形式 9938725 wikitext text/x-wiki ==意大利語== ===動詞=== {{head|it|動詞變位形式}} # {{inflection of|it|nichelare||3|p|futr}} 9tz3zgim55dotfs5wyptpi14zugenev nichelerebbe 0 3543527 9938726 2026-10-05T09:31:34Z TongcyBot 83009 半自動導入非詞元形式 9938726 wikitext text/x-wiki ==意大利語== ===動詞=== {{head|it|動詞變位形式}} # {{inflection of|it|nichelare||3|s|cond}} ld69t3bg6znjigy84zc5aufeuljg78q nichelerebbero 0 3543528 9938727 2026-10-05T09:31:35Z TongcyBot 83009 半自動導入非詞元形式 9938727 wikitext text/x-wiki ==意大利語== ===動詞=== {{head|it|動詞變位形式}} # {{inflection of|it|nichelare||3|p|cond}} hvqmqm886xwrseqpo0qghua770e223h nichelerei 0 3543529 9938728 2026-10-05T09:31:36Z TongcyBot 83009 半自動導入非詞元形式 9938728 wikitext text/x-wiki ==意大利語== ===動詞=== {{head|it|動詞變位形式}} # {{inflection of|it|nichelare||1|s|cond}} lexpa16orp3kova8o0jzewng4gnt8t9 nicheleremmo 0 3543530 9938729 2026-10-05T09:31:37Z TongcyBot 83009 半自動導入非詞元形式 9938729 wikitext text/x-wiki ==意大利語== ===動詞=== {{head|it|動詞變位形式}} # {{inflection of|it|nichelare||1|p|cond}} 2fdj9qqybi3nwizk5by3obv3l2o5y8t nicheleremo 0 3543531 9938730 2026-10-05T09:31:38Z TongcyBot 83009 半自動導入非詞元形式 9938730 wikitext text/x-wiki ==意大利語== ===動詞=== {{head|it|動詞變位形式}} # {{inflection of|it|nichelare||1|p|futr}} e52b9ejl8quzzht7cskgs4n69mwoxbi nichelereste 0 3543532 9938731 2026-10-05T09:31:39Z TongcyBot 83009 半自動導入非詞元形式 9938731 wikitext text/x-wiki ==意大利語== ===動詞=== {{head|it|動詞變位形式}} # {{inflection of|it|nichelare||2|p|cond}} ===異序詞=== * {{anagrams|it|a=ceeeehilnrst|elencheresti}} dfhafip68935ybjxairrkqnu23rv8ma nicheleresti 0 3543533 9938732 2026-10-05T09:31:41Z TongcyBot 83009 半自動導入非詞元形式 9938732 wikitext text/x-wiki ==意大利語== ===動詞=== {{head|it|動詞變位形式}} # {{inflection of|it|nichelare||2|s|cond}} riobu81zp3tiom76kzk5mzm2poj7wja nichelerete 0 3543534 9938733 2026-10-05T09:31:42Z TongcyBot 83009 半自動導入非詞元形式 9938733 wikitext text/x-wiki ==意大利語== ===動詞=== {{head|it|動詞變位形式}} # {{inflection of|it|nichelare||2|p|futr}} bnyd1nwqt271ylv1bo9pqdbamqf46f5 nichelerà 0 3543535 9938734 2026-10-05T09:31:43Z TongcyBot 83009 半自動導入非詞元形式 9938734 wikitext text/x-wiki ==意大利語== ===動詞=== {{head|it|動詞變位形式}} # {{inflection of|it|nichelare||3|s|futr}} ===異序詞=== * {{anagrams|it|a=aceehilnr|nichelare}} n02kvyi6gz1ory3nqwn96yvqqr8rtc2 nicheli 0 3543536 9938735 2026-10-05T09:31:46Z TongcyBot 83009 半自動導入非詞元形式 9938735 wikitext text/x-wiki ==意大利語== ===動詞=== {{head|it|動詞變位形式}} # {{inflection of|it|nichelare||2|s|pres|indc|;|1//2//3|s|pres|subj|;|3|s|impr}} ===異序詞=== * {{anagrams|it|a=cehiiln|licheni}} k0i86fcwy785lx2krr4t4565ntihuvz nichelerò 0 3543537 9938736 2026-10-05T09:31:47Z TongcyBot 83009 半自動導入非詞元形式 9938736 wikitext text/x-wiki ==意大利語== ===動詞=== {{head|it|動詞變位形式}} # {{inflection of|it|nichelare||1|s|futr}} 0d20h11kc8kd7gfkl713lxteo8h9ecu nicheliamo 0 3543538 9938737 2026-10-05T09:31:48Z TongcyBot 83009 半自動導入非詞元形式 9938737 wikitext text/x-wiki ==意大利語== ===動詞=== {{head|it|動詞變位形式}} # {{inflection of|it|nichelare||1|p|pres|ind//sub|;|1|p|impr}} dp08ayezcpsuyoj02zee1nbzema0hoj nicheliate 0 3543539 9938738 2026-10-05T09:31:49Z TongcyBot 83009 半自動導入非詞元形式 9938738 wikitext text/x-wiki ==意大利語== ===動詞=== {{head|it|動詞變位形式}} # {{inflection of|it|nichelare||2|p|pres|subj}} 98qbpxzm2gtimhrnkbfis6ps9a3yujd nichelino 0 3543540 9938739 2026-10-05T09:31:51Z TongcyBot 83009 半自動導入非詞元形式 9938739 wikitext text/x-wiki {{also|Nichelino}} ==意大利語== ===名詞=== {{it-noun|m}} # {{lb|it|過時}} a small [[nickel]] [[coin]] used in Italy before the Second World War # {{lb|it|by extension}} [[money]] of little value ===異序詞=== * {{anagrams|it|a=cehiilnno|chinoline}} {{C|it|Coins}} j2ofo8tm3qdxrmpwbnt8ekwnjl3ir5n 9938812 9938739 2026-10-05T09:47:23Z Sayonzei 40728 /* 意大利語 */ 9938812 wikitext text/x-wiki {{also|Nichelino}} ==意大利語== ===名詞=== {{it-noun|m}} # {{lb|it|過時}} 二战钱意大利用的一种小[[镍币]] # {{lb|it|by extension}} 很少钱 ===異序詞=== * {{anagrams|it|a=cehiilnno|chinoline}} {{C|it|硬幣}} 96np0ovkxgpn66pdjqbs0i9piyp5nuz nichelo 0 3543541 9938740 2026-10-05T09:31:52Z TongcyBot 83009 半自動導入非詞元形式 9938740 wikitext text/x-wiki {{also|nichelò}} ==意大利語== ===動詞=== {{head|it|動詞變位形式}} # {{inflection of|it|nichelare||1|s|pres|indc}} ===異序詞=== * {{anagrams|it|a=cehilno|Chilone}} eoxonws5y1tg73caxv38iftfw8upqjl nichelò 0 3543542 9938741 2026-10-05T09:31:53Z TongcyBot 83009 半自動導入非詞元形式 9938741 wikitext text/x-wiki {{also|nichelo}} ==意大利語== ===動詞=== {{head|it|動詞變位形式}} # {{inflection of|it|nichelare||3|s|phis}} ===異序詞=== * {{anagrams|it|a=cehilno|Chilone}} 5ojo37vtwe0nxievmomtt36vymysc4k niellai 0 3543543 9938742 2026-10-05T09:31:54Z TongcyBot 83009 半自動導入非詞元形式 9938742 wikitext text/x-wiki ==法語== ===發音=== * {{homophones|fr|niellé|niellée|niellées|nieller|niellés|niellez}} ===動詞=== {{head|fr|動詞變位形式}} # {{inflection of|fr|nieller||1|s|phis}} ==意大利語== ===動詞=== {{head|it|動詞變位形式}} # {{inflection of|it|niellare||1|s|phis}} ===異序詞=== * {{anagrams|it|a=aeiilln|allenii|allinei|lineali}} spr268ieozgdu9gndslmry4bfdk9iwp niellammo 0 3543544 9938743 2026-10-05T09:31:56Z TongcyBot 83009 半自動導入非詞元形式 9938743 wikitext text/x-wiki ==意大利語== ===動詞=== {{head|it|動詞變位形式}} # {{inflection of|it|niellare||1|p|phis}} ===異序詞=== * {{anagrams|it|a=aeillmmno|allenimmo}} 1hk3prg8etkqdxc2rpj1ebc4bzjg8bg niellando 0 3543545 9938744 2026-10-05T09:31:57Z TongcyBot 83009 半自動導入非詞元形式 9938744 wikitext text/x-wiki ==意大利語== ===動詞=== {{head|it|動名詞}} # {{gerund of|it|niellare}} ppyqndbloncbjczsf2fm6485ukynexq niellano 0 3543546 9938745 2026-10-05T09:31:58Z TongcyBot 83009 半自動導入非詞元形式 9938745 wikitext text/x-wiki ==意大利語== ===動詞=== {{head|it|動詞變位形式}} # {{inflection of|it|niellare||3|p|pres|indc}} ===異序詞=== * {{anagrams|it|a=aeillnno|allenino|anellino|inanello|inanellò|lanoline}} 0rbzexn6sy1xtrcd10fdfwtbb4z6t2m niellarono 0 3543547 9938746 2026-10-05T09:32:00Z TongcyBot 83009 半自動導入非詞元形式 9938746 wikitext text/x-wiki ==意大利語== ===動詞=== {{head|it|動詞變位形式}} # {{inflection of|it|niellare||3|p|phis}} ===異序詞=== * {{anagrams|it|a=aeillnnoor|allenirono}} fpbaoeofqh01a6qrw6tz77dgq27vy3m niellasse 0 3543548 9938747 2026-10-05T09:32:01Z TongcyBot 83009 半自動導入非詞元形式 9938747 wikitext text/x-wiki ==法語== ===發音=== * {{homophones|fr|niellasses|niellassent}} ===動詞=== {{head|fr|動詞變位形式}} # {{inflection of|fr|nieller||1|s|impf|subj}} ==意大利語== ===動詞=== {{head|it|動詞變位形式}} # {{inflection of|it|niellare||3|s|impf|subj}} ===異序詞=== * {{anagrams|it|a=aeeillnss|allenisse}} 63eoy8zutxkxr004ng8dyln7y46z8w0 niellassero 0 3543549 9938748 2026-10-05T09:32:02Z TongcyBot 83009 半自動導入非詞元形式 9938748 wikitext text/x-wiki ==意大利語== ===動詞=== {{head|it|動詞變位形式}} # {{inflection of|it|niellare||3|p|impf|subj}} ===異序詞=== * {{anagrams|it|a=aeeillnorss|allenissero}} f0v1wl9hfam8zl0hxbp2jimdo1bpjw7 niellassi 0 3543550 9938749 2026-10-05T09:32:03Z TongcyBot 83009 半自動導入非詞元形式 9938749 wikitext text/x-wiki ==意大利語== ===動詞=== {{head|it|動詞變位形式}} # {{inflection of|it|niellare||1//2|s|impf|subj}} ===異序詞=== * {{anagrams|it|a=aeiillnss|allenissi}} h2vaoj88tvhqxme0g67ftdvk0x9fhjt niellassimo 0 3543551 9938750 2026-10-05T09:32:04Z TongcyBot 83009 半自動導入非詞元形式 9938750 wikitext text/x-wiki ==意大利語== ===動詞=== {{head|it|動詞變位形式}} # {{inflection of|it|niellare||1|p|impf|subj}} ===異序詞=== * {{anagrams|it|a=aeiillmnoss|allenissimo}} kcd53ts18get5jk2x349uw8o7e07767 niellaste 0 3543552 9938751 2026-10-05T09:32:05Z TongcyBot 83009 半自動導入非詞元形式 9938751 wikitext text/x-wiki ==意大利語== ===動詞=== {{head|it|動詞變位形式}} # {{inflection of|it|niellare||2|p|phis|;|2|p|impf|subj}} ===異序詞=== * {{anagrams|it|a=aeeillnst|alleniste|ellenista|insellate|snelliate}} 0t0nu1ez4agzcosacpxe8iavfi6bgil niellasti 0 3543553 9938752 2026-10-05T09:32:06Z TongcyBot 83009 半自動導入非詞元形式 9938752 wikitext text/x-wiki ==意大利語== ===動詞=== {{head|it|動詞變位形式}} # {{inflection of|it|niellare||2|s|phis}} ===異序詞=== * {{anagrams|it|a=aeiillnst|allenisti|insellati}} rv6prjdbyvpb0od253xmcwnzgijyjk9 niellava 0 3543554 9938753 2026-10-05T09:32:08Z TongcyBot 83009 半自動導入非詞元形式 9938753 wikitext text/x-wiki ==意大利語== ===動詞=== {{head|it|動詞變位形式}} # {{inflection of|it|niellare||3|s|impf|indc}} ===異序詞=== * {{anagrams|it|a=aaeillnv|allenavi|alleniva|anellavi}} 6ehq2giss0qcxjfucgkk78xmdd1ba8p niellavamo 0 3543555 9938754 2026-10-05T09:32:09Z TongcyBot 83009 半自動導入非詞元形式 9938754 wikitext text/x-wiki ==意大利語== ===動詞=== {{head|it|動詞變位形式}} # {{inflection of|it|niellare||1|p|impf|indc}} ===異序詞=== * {{anagrams|it|a=aaeillmnov|allenivamo}} s8lbgevnpwm7ks2my1vu4tdcvypxam8 niellavano 0 3543556 9938755 2026-10-05T09:32:10Z TongcyBot 83009 半自動導入非詞元形式 9938755 wikitext text/x-wiki ==意大利語== ===動詞=== {{head|it|動詞變位形式}} # {{inflection of|it|niellare||3|p|impf|indc}} ===異序詞=== * {{anagrams|it|a=aaeillnnov|allenivano|inanellavo}} j0zsrkm03m1oqe9jld8ka7rr4is0b4k niellavate 0 3543557 9938756 2026-10-05T09:32:11Z TongcyBot 83009 半自動導入非詞元形式 9938756 wikitext text/x-wiki ==意大利語== ===動詞=== {{head|it|動詞變位形式}} # {{inflection of|it|niellare||2|p|impf|indc}} ===異序詞=== * {{anagrams|it|a=aaeeillntv|allenatevi|allenivate|alleviante}} et92wuyni6ocga55wre1prraws46mz0 niellavi 0 3543558 9938757 2026-10-05T09:32:12Z TongcyBot 83009 半自動導入非詞元形式 9938757 wikitext text/x-wiki ==意大利語== ===動詞=== {{head|it|動詞變位形式}} # {{inflection of|it|niellare||2|s|impf|indc}} ===異序詞=== * {{anagrams|it|a=aeiillnv|allenivi|villanie}} 4v5tvorwebxinmk8b517tdqlp1qeiic niellavo 0 3543559 9938758 2026-10-05T09:32:14Z TongcyBot 83009 半自動導入非詞元形式 9938758 wikitext text/x-wiki ==意大利語== ===動詞=== {{head|it|動詞變位形式}} # {{inflection of|it|niellare||1|s|impf|indc}} ===異序詞=== * {{anagrams|it|a=aeillnov|Avellino|Vianello|allenivo|allevino|novellai}} 236p7xldiq9dk0zalb6lgafbz3p03u8 niellerai 0 3543560 9938759 2026-10-05T09:32:15Z TongcyBot 83009 半自動導入非詞元形式 9938759 wikitext text/x-wiki ==法語== ===發音=== * {{homophones|fr|niellerez}} ===動詞=== {{head|fr|動詞變位形式}} # {{inflection of|fr|nieller||1|s|simple|futr}} ==意大利語== ===動詞=== {{head|it|動詞變位形式}} # {{inflection of|it|niellare||2|s|futr}} ===異序詞=== * {{anagrams|it|a=aeeiillnr|allenirei}} ormxsx679sm0xcq3ontzjzac93rrlw6 nielleranno 0 3543561 9938760 2026-10-05T09:32:16Z TongcyBot 83009 半自動導入非詞元形式 9938760 wikitext text/x-wiki ==意大利語== ===動詞=== {{head|it|動詞變位形式}} # {{inflection of|it|niellare||3|p|futr}} c85pp1tdjbh31knmy1x8vs7m7gsna00 niellerebbe 0 3543562 9938761 2026-10-05T09:32:17Z TongcyBot 83009 半自動導入非詞元形式 9938761 wikitext text/x-wiki ==意大利語== ===動詞=== {{head|it|動詞變位形式}} # {{inflection of|it|niellare||3|s|cond}} 725yozu661vct2ah6259m5byu86huh7 niellerebbero 0 3543563 9938762 2026-10-05T09:32:18Z TongcyBot 83009 半自動導入非詞元形式 9938762 wikitext text/x-wiki ==意大利語== ===動詞=== {{head|it|動詞變位形式}} # {{inflection of|it|niellare||3|p|cond}} byrsgw6xyshhl1nt8r99r4tm1vdm62z niellerei 0 3543564 9938763 2026-10-05T09:32:19Z TongcyBot 83009 半自動導入非詞元形式 9938763 wikitext text/x-wiki ==意大利語== ===動詞=== {{head|it|動詞變位形式}} # {{inflection of|it|niellare||1|s|cond}} 0tto3op5xpyujuo70ulj4lngax4wqs5 nielleremmo 0 3543565 9938764 2026-10-05T09:32:22Z TongcyBot 83009 半自動導入非詞元形式 9938764 wikitext text/x-wiki ==意大利語== ===動詞=== {{head|it|動詞變位形式}} # {{inflection of|it|niellare||1|p|cond}} rlj3xizeyzjuetdmtlgrazk9z90039w nielleremo 0 3543566 9938765 2026-10-05T09:32:23Z TongcyBot 83009 半自動導入非詞元形式 9938765 wikitext text/x-wiki ==意大利語== ===動詞=== {{head|it|動詞變位形式}} # {{inflection of|it|niellare||1|p|futr}} ===異序詞=== * {{anagrams|it|a=eeeillmnor|monellerie}} 5be7alilmebpfv4pjqo0jjab0ehv08j niellereste 0 3543567 9938766 2026-10-05T09:32:24Z TongcyBot 83009 半自動導入非詞元形式 9938766 wikitext text/x-wiki ==意大利語== ===動詞=== {{head|it|動詞變位形式}} # {{inflection of|it|niellare||2|p|cond}} ===異序詞=== * {{anagrams|it|a=eeeeillnrst|insellerete}} l8vqlaa2hed108nym0l0ayn39hvfefj nielleresti 0 3543568 9938767 2026-10-05T09:32:25Z TongcyBot 83009 半自動導入非詞元形式 9938767 wikitext text/x-wiki ==意大利語== ===動詞=== {{head|it|動詞變位形式}} # {{inflection of|it|niellare||2|s|cond}} dnrd29i7aouac9vbnaz5dv8cfvhkcv0 niellerete 0 3543569 9938768 2026-10-05T09:32:26Z TongcyBot 83009 半自動導入非詞元形式 9938768 wikitext text/x-wiki ==意大利語== ===動詞=== {{head|it|動詞變位形式}} # {{inflection of|it|niellare||2|p|futr}} r3a5dz5ipkug9zux64q8lhz5z5jokrf niellerà 0 3543570 9938769 2026-10-05T09:32:28Z TongcyBot 83009 半自動導入非詞元形式 9938769 wikitext text/x-wiki {{also|niellera}} ==意大利語== ===動詞=== {{head|it|動詞變位形式}} # {{inflection of|it|niellare||3|s|futr}} ===異序詞=== * {{anagrams|it|a=aeeillnr|allenire|niellare}} 2tkm6f2bmmz863bf1ycqh3bodasim3k niellerò 0 3543571 9938770 2026-10-05T09:32:29Z TongcyBot 83009 半自動導入非詞元形式 9938770 wikitext text/x-wiki ==意大利語== ===動詞=== {{head|it|動詞變位形式}} # {{inflection of|it|niellare||1|s|futr}} 552qs1nl34x525qavmtbi1s7qwfqtj8 nielli 0 3543572 9938771 2026-10-05T09:32:30Z TongcyBot 83009 半自動導入非詞元形式 9938771 wikitext text/x-wiki ==英語== ===名詞=== {{head|en|名詞變格形}} # {{plural of|en|niello}} ==意大利語== ===發音=== {{it-pr|nièlli,#ni.èlli}} ===動詞=== {{head|it|動詞變位形式}} # {{inflection of|it|niellare||2|s|pres|indc|;|1//2//3|s|pres|subj|;|3|s|impr}} cj0w9x38t0ei236y3nmqig050mmve3x nielliamo 0 3543573 9938772 2026-10-05T09:32:31Z TongcyBot 83009 半自動導入非詞元形式 9938772 wikitext text/x-wiki ==意大利語== ===動詞=== {{head|it|動詞變位形式}} # {{inflection of|it|niellare||1|p|pres|ind//sub|;|1|p|impr}} ===異序詞=== * {{anagrams|it|a=aeiillmno|eliminalo}} 3qcx4yxptn7s3ixw24gjlmk6ktjy1yf nielliate 0 3543574 9938773 2026-10-05T09:32:33Z TongcyBot 83009 半自動導入非詞元形式 9938773 wikitext text/x-wiki ==意大利語== ===動詞=== {{head|it|動詞變位形式}} # {{inflection of|it|niellare||2|p|pres|subj}} 623j0xzblrzdtl494j6l7hvqitcscvh niellino 0 3543575 9938774 2026-10-05T09:32:34Z TongcyBot 83009 半自動導入非詞元形式 9938774 wikitext text/x-wiki ==意大利語== ===動詞=== {{head|it|動詞變位形式}} # {{inflection of|it|niellare||3|p|pres|subj|;|3|p|impr}} bvrq6xiwsiyhr1oohusa4pt17kx2emw niellò 0 3543576 9938775 2026-10-05T09:32:35Z TongcyBot 83009 半自動導入非詞元形式 9938775 wikitext text/x-wiki {{also|niello}} ==意大利語== ===動詞=== {{head|it|動詞變位形式}} # {{inflection of|it|niellare||3|s|phis}} ===異序詞=== * {{anagrams|it|a=eillno|-ellino|ellino}} 492h63cea98bmq2592ai0lje1x45y7k ninfeggerai 0 3543577 9938776 2026-10-05T09:32:36Z TongcyBot 83009 半自動導入非詞元形式 9938776 wikitext text/x-wiki ==意大利語== ===動詞=== {{head|it|動詞變位形式}} # {{inflection of|it|ninfeggiare||2|s|fut}} ===異序詞=== * {{anagrams|it|a=aeefggiinnr|ninfeggiare}} ixsdodilzm0f0vqsl56rc0c72ano5zz ninfeggeranno 0 3543578 9938777 2026-10-05T09:32:37Z TongcyBot 83009 半自動導入非詞元形式 9938777 wikitext text/x-wiki ==意大利語== ===動詞=== {{head|it|動詞變位形式}} # {{inflection of|it|ninfeggiare||3|p|fut}} 90c9tsly35sjkyfzp55b617gtvdn8bb ninfeggerebbe 0 3543579 9938778 2026-10-05T09:32:38Z TongcyBot 83009 半自動導入非詞元形式 9938778 wikitext text/x-wiki ==意大利語== ===動詞=== {{head|it|動詞變位形式}} # {{inflection of|it|ninfeggiare||3|s|cond}} tlb80k334l3oepy1epgvkzh1kxxjole ninfeggerebbero 0 3543580 9938779 2026-10-05T09:32:40Z TongcyBot 83009 半自動導入非詞元形式 9938779 wikitext text/x-wiki ==意大利語== ===動詞=== {{head|it|動詞變位形式}} # {{inflection of|it|ninfeggiare||3|p|cond}} r976o58wqrz5p15s3f8juhi8uwav0wf ninfeggerei 0 3543581 9938780 2026-10-05T09:32:41Z TongcyBot 83009 半自動導入非詞元形式 9938780 wikitext text/x-wiki ==意大利語== ===動詞=== {{head|it|動詞變位形式}} # {{inflection of|it|ninfeggiare||1|s|cond}} p1fb6cclhwn1ypxurmsl18ih2mdox2f ninfeggeremmo 0 3543582 9938781 2026-10-05T09:32:42Z TongcyBot 83009 半自動導入非詞元形式 9938781 wikitext text/x-wiki ==意大利語== ===動詞=== {{head|it|動詞變位形式}} # {{inflection of|it|ninfeggiare||1|p|cond}} rpvccn1vo18gz0v8y8zrm8kdkq5cyuj ninfeggeremo 0 3543583 9938782 2026-10-05T09:32:43Z TongcyBot 83009 半自動導入非詞元形式 9938782 wikitext text/x-wiki ==意大利語== ===動詞=== {{head|it|動詞變位形式}} # {{inflection of|it|ninfeggiare||1|p|fut}} gks9hyziowwpfpo9xmqtant3du9xo4f ninfeggereste 0 3543584 9938783 2026-10-05T09:32:45Z TongcyBot 83009 半自動導入非詞元形式 9938783 wikitext text/x-wiki ==意大利語== ===動詞=== {{head|it|動詞變位形式}} # {{inflection of|it|ninfeggiare||2|p|cond}} rnrw1hxtum6e8tw0pmi7092bk7pksvc ninfeggeresti 0 3543585 9938784 2026-10-05T09:32:46Z TongcyBot 83009 半自動導入非詞元形式 9938784 wikitext text/x-wiki ==意大利語== ===動詞=== {{head|it|動詞變位形式}} # {{inflection of|it|ninfeggiare||2|s|cond}} r7yqsdfu965o4s3o3rwgw42c355n3ja ninfeggerà 0 3543586 9938785 2026-10-05T09:32:48Z TongcyBot 83009 半自動導入非詞元形式 9938785 wikitext text/x-wiki ==意大利語== ===動詞=== {{head|it|動詞變位形式}} # {{inflection of|it|ninfeggiare||3|s|fut}} tirzj5x99y9f12xi28jxsgdob0ihua9 ninfeggerò 0 3543587 9938786 2026-10-05T09:32:49Z TongcyBot 83009 半自動導入非詞元形式 9938786 wikitext text/x-wiki ==意大利語== ===動詞=== {{head|it|動詞變位形式}} # {{inflection of|it|ninfeggiare||1|s|fut}} n6dbn67g6paf4sjhiu1rzzht4aocfts ninfeggerete 0 3543588 9938787 2026-10-05T09:32:51Z TongcyBot 83009 半自動導入非詞元形式 9938787 wikitext text/x-wiki ==意大利語== ===動詞=== {{head|it|動詞變位形式}} # {{inflection of|it|ninfeggiare||2|p|fut}} 8lyrr3n6erk2am2zqnbndxsjls6avms ninfeggi 0 3543589 9938788 2026-10-05T09:32:52Z TongcyBot 83009 半自動導入非詞元形式 9938788 wikitext text/x-wiki ==意大利語== ===動詞=== {{head|it|動詞變位形式}} # {{inflection of|it|ninfeggiare||2|s|pres|ind|;|1//2//3|s|pres|sub|;|3|s|imp}} 7v6ykutea2oumdlrtapgsdy5nhgrpb4 ninfeggiammo 0 3543590 9938789 2026-10-05T09:32:55Z TongcyBot 83009 半自動導入非詞元形式 9938789 wikitext text/x-wiki ==意大利語== ===動詞=== {{head|it|動詞變位形式}} # {{inflection of|it|ninfeggiare||1|p|phis}} pjevvex7xygnbggar9wzjl6wnuvu0q4 ninfeggia 0 3543591 9938790 2026-10-05T09:32:56Z TongcyBot 83009 半自動導入非詞元形式 9938790 wikitext text/x-wiki ==意大利語== ===動詞=== {{head|it|動詞變位形式}} # {{inflection of|it|ninfeggiare||3|s|pres|ind|;|2|s|imp}} jwexplmeprlag2bt5pdxvs91vrlgvyv ninfeggiai 0 3543592 9938791 2026-10-05T09:32:57Z TongcyBot 83009 半自動導入非詞元形式 9938791 wikitext text/x-wiki ==意大利語== ===動詞=== {{head|it|動詞變位形式}} # {{inflection of|it|ninfeggiare||1|s|phis}} 7n1lpt3kv3kq8gmcpl2e0sngh64s334 ninfeggiamo 0 3543593 9938792 2026-10-05T09:32:58Z TongcyBot 83009 半自動導入非詞元形式 9938792 wikitext text/x-wiki ==意大利語== ===動詞=== {{head|it|動詞變位形式}} # {{inflection of|it|ninfeggiare||1|p|pres|ind//sub|;|1|p|imp}} 5qbhtm95ca1uwu8s9l2w9p8fu3t6zu4 ninfeggiando 0 3543594 9938793 2026-10-05T09:33:00Z TongcyBot 83009 半自動導入非詞元形式 9938793 wikitext text/x-wiki ==意大利語== ===動詞=== {{head|it|動名詞}} # {{gerund of|it|ninfeggiare}} 8t6kfw69w0kkhytn5zxha1hm54nv5cr ninfeggiano 0 3543595 9938794 2026-10-05T09:33:01Z TongcyBot 83009 半自動導入非詞元形式 9938794 wikitext text/x-wiki ==意大利語== ===動詞=== {{head|it|動詞變位形式}} # {{inflection of|it|ninfeggiare||3|p|pres|ind}} 8b0zkacjvme4eknsnmlaxjocchexzoz ninfeggiarono 0 3543596 9938795 2026-10-05T09:33:02Z TongcyBot 83009 半自動導入非詞元形式 9938795 wikitext text/x-wiki ==意大利語== ===動詞=== {{head|it|動詞變位形式}} # {{inflection of|it|ninfeggiare||3|p|phis}} ne20ho5zqjr6l6nsjg9xqduawwmd4jo ninfeggiassero 0 3543597 9938796 2026-10-05T09:33:04Z TongcyBot 83009 半自動導入非詞元形式 9938796 wikitext text/x-wiki ==意大利語== ===動詞=== {{head|it|動詞變位形式}} # {{inflection of|it|ninfeggiare||3|p|impf|sub}} qmcgiomstzfeuck0hjpjqps7p8ws9p0 ninfeggiasse 0 3543598 9938797 2026-10-05T09:33:05Z TongcyBot 83009 半自動導入非詞元形式 9938797 wikitext text/x-wiki ==意大利語== ===動詞=== {{head|it|動詞變位形式}} # {{inflection of|it|ninfeggiare||3|s|impf|sub}} 0teikfa8dwlyxb98ab45xut5sd34kvm ninfeggiassi 0 3543599 9938798 2026-10-05T09:33:06Z TongcyBot 83009 半自動導入非詞元形式 9938798 wikitext text/x-wiki ==意大利語== ===動詞=== {{head|it|動詞變位形式}} # {{inflection of|it|ninfeggiare||1//2|s|impf|sub}} 8jcnov6z5ijni6tdof1bg4d1d0tffhy ninfeggiassimo 0 3543600 9938799 2026-10-05T09:33:07Z TongcyBot 83009 半自動導入非詞元形式 9938799 wikitext text/x-wiki ==意大利語== ===動詞=== {{head|it|動詞變位形式}} # {{inflection of|it|ninfeggiare||1|p|impf|sub}} mxp5yrouva9e8pz7bzyx39hjsmsga00 ninfeggiaste 0 3543601 9938800 2026-10-05T09:33:09Z TongcyBot 83009 半自動導入非詞元形式 9938800 wikitext text/x-wiki ==意大利語== ===動詞=== {{head|it|動詞變位形式}} # {{inflection of|it|ninfeggiare||2|p|phis|;|2|p|impf|sub}} s3rxmudkrzzywsck61s3iaq76gylh78 ninfeggiasti 0 3543602 9938801 2026-10-05T09:33:10Z TongcyBot 83009 半自動導入非詞元形式 9938801 wikitext text/x-wiki ==意大利語== ===動詞=== {{head|it|動詞變位形式}} # {{inflection of|it|ninfeggiare||2|s|phis}} hxg0arxk00rp8u15ocjpkuxtfvl2hl6 ninfeggiate 0 3543603 9938802 2026-10-05T09:33:11Z TongcyBot 83009 半自動導入非詞元形式 9938802 wikitext text/x-wiki ==意大利語== ===詞源1=== ====動詞==== {{head|it|動詞變位形式}} # {{inflection of|it|ninfeggiare||2|p|pres|ind//sub|;|2|p|imp}} ===詞源2=== ====分詞==== {{head|it|過去分詞變格形|g=f-p}} # {{feminine plural of|it|ninfeggiato}} oewllwhynv5yx52i6apiiiq32mm6w8x ninfeggiava 0 3543604 9938803 2026-10-05T09:33:13Z TongcyBot 83009 半自動導入非詞元形式 9938803 wikitext text/x-wiki ==意大利語== ===動詞=== {{head|it|動詞變位形式}} # {{inflection of|it|ninfeggiare||3|s|impf|ind}} 4yga33pf68fkpqd76tkx03s86u0hc21 ninfeggiavamo 0 3543605 9938804 2026-10-05T09:33:14Z TongcyBot 83009 半自動導入非詞元形式 9938804 wikitext text/x-wiki ==意大利語== ===動詞=== {{head|it|動詞變位形式}} # {{inflection of|it|ninfeggiare||1|p|impf|ind}} f6997y64l8i4qhvadbf1a9gaoxqarrg ninfeggiavano 0 3543606 9938805 2026-10-05T09:33:15Z TongcyBot 83009 半自動導入非詞元形式 9938805 wikitext text/x-wiki ==意大利語== ===動詞=== {{head|it|動詞變位形式}} # {{inflection of|it|ninfeggiare||3|p|impf|ind}} 3c6ljed3kfyyp1dav9q1paxqpll838r ninfeggiavate 0 3543607 9938806 2026-10-05T09:33:16Z TongcyBot 83009 半自動導入非詞元形式 9938806 wikitext text/x-wiki ==意大利語== ===動詞=== {{head|it|動詞變位形式}} # {{inflection of|it|ninfeggiare||2|p|impf|ind}} rboowdkc46zvqg45o4jclpxxi394wci ninfeggiavi 0 3543608 9938807 2026-10-05T09:33:17Z TongcyBot 83009 半自動導入非詞元形式 9938807 wikitext text/x-wiki ==意大利語== ===動詞=== {{head|it|動詞變位形式}} # {{inflection of|it|ninfeggiare||2|s|impf|ind}} p0w7md50x54n0n7n79ypt5f1ww366p7 ninfeggiavo 0 3543609 9938808 2026-10-05T09:33:19Z TongcyBot 83009 半自動導入非詞元形式 9938808 wikitext text/x-wiki ==意大利語== ===動詞=== {{head|it|動詞變位形式}} # {{inflection of|it|ninfeggiare||1|s|impf|ind}} ===異序詞=== * {{anagrams|it|a=aefggiinnov|infiggevano}} dbz519ww6i2lkcvyvt5lmtkby4dnkxx ninfeggino 0 3543610 9938809 2026-10-05T09:33:20Z TongcyBot 83009 半自動導入非詞元形式 9938809 wikitext text/x-wiki ==意大利語== ===動詞=== {{head|it|動詞變位形式}} # {{inflection of|it|ninfeggiare||3|p|pres|sub|;|3|p|imp}} trkq266lq4pipyo1gic4o3n8xn8o9v9 ninfeggio 0 3543611 9938810 2026-10-05T09:33:21Z TongcyBot 83009 半自動導入非詞元形式 9938810 wikitext text/x-wiki {{also|ninfeggiò}} ==意大利語== ===動詞=== {{head|it|動詞變位形式}} # {{inflection of|it|ninfeggiare||1|s|pres|ind}} cp9c0cfzl64l5jrr5s3wz0fxrrrb60n ninfeggiò 0 3543612 9938811 2026-10-05T09:33:22Z TongcyBot 83009 半自動導入非詞元形式 9938811 wikitext text/x-wiki {{also|ninfeggio}} ==意大利語== ===動詞=== {{head|it|動詞變位形式}} # {{inflection of|it|ninfeggiare||3|s|phis}} logpqoirvbfl6kcqm7q63evx3c8m5zn