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
Wiktionary:统计
4
1718
9936552
9935760
2026-10-02T02:25:56Z
TongcyBot
83009
機器人:更新每日統計數據(2026-10-02)
9936552
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
}}
* 来源:[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:維基詞典統計]]
hjndrv87ebyr50kxezf579egruklm76
Wiktionary:啤酒馆
4
2340
9936033
9934827
2026-10-01T12:43:01Z
MediaWiki message delivery
34130
/* Wikidata Sitelink changes in Recent Changes and Watchlist */ 新章节
9936033
wikitext
text/x-wiki
{{Auto-archive
| archive_after_last_comment = 60
| archive_to_subpage = %Y档案
}}
{{/header}}
{{Easy Archive|to=Wiktionary:啤酒馆/{{CURRENTYEAR}}档案}}
<!-- 请于此线以下讨论,请不要移除上面的模板。谢谢。 -->
== Subscribe to the This Month in Education newsletter - learn from others and share your stories ==
<div lang="en" dir="ltr" class="mw-content-ltr">
Dear community members,
Greetings from the EWOC Newsletter team and the education team at Wikimedia Foundation. We are very excited to share that we on tenth years of Education Newsletter ([[m:Education/News|This Month in Education]]) invite you to join us by [[m:Global message delivery/Targets/This Month in Education|subscribing to the newsletter on your talk page]] or by [[m:Education/News/Newsroom|sharing your activities in the upcoming newsletters]]. The Wikimedia Education newsletter is a monthly newsletter that collects articles written by community members using Wikimedia projects in education around the world, and it is published by the EWOC Newsletter team in collaboration with the Education team. These stories can bring you new ideas to try, valuable insights about the success and challenges of our community members in running education programs in their context.
If your affiliate/language project is developing its own education initiatives, please remember to take advantage of this newsletter to publish your stories with the wider movement that shares your passion for education. You can submit newsletter articles in your own language or submit bilingual articles for the education newsletter. For the month of January the deadline to submit articles is on the 20th January. We look forward to reading your stories.
Older versions of this newsletter can be found in the [[outreach:Education/Newsletter/Archives|complete archive]].
More information about the newsletter can be found at [[m:Education/News/Publication Guidelines|Education/Newsletter/About]].
For more information, please contact spatnaik{{@}}wikimedia.org.
------
<div style="text-align: center;"><div style="margin-top:10px; font-size:90%; padding-left:5px; font-family:Georgia, Palatino, Palatino Linotype, Times, Times New Roman, serif;">[[m:Education/Newsletter/About|About ''This Month in Education'']] · [[m:Global message delivery/Targets/This Month in Education|Subscribe/Unsubscribe]] · [[m:MassMessage|Global message delivery]] · For the team: [[User:ZI Jony|<span style="color:#8B0000">'''ZI Jony'''</span>]] [[User talk:ZI Jony|<sup><span style="color:Green"><i>(Talk)</i></span></sup>]], {{<includeonly>subst:</includeonly>#time:l G:i, d F Y|}} (UTC)</div></div>
</div>
<!-- 信息由 User:ZI Jony@metawiki 发送,使用的列表为 https://meta.wikimedia.org/w/index.php?title=User:ZI_Jony/MassMessage/Awareness_of_Education_Newsletter/List_of_Village_Pumps&oldid=21244129 -->
== Do you use Wikidata in Wikimedia sibling projects? Tell us about your experiences ==
<div lang="en" dir="ltr" class="mw-content-ltr">
''Note: Apologies for cross-posting and sending in English.''
Hello, the '''[[m:WD4WMP|Wikidata for Wikimedia Projects]]''' team at Wikimedia Deutschland would like to hear about your experiences using Wikidata in the sibling projects. If you are interested in sharing your opinion and insights, please consider signing up for an interview with us in this '''[https://wikimedia.sslsurvey.de/Wikidata-for-Wikimedia-Interviews Registration form]'''.<br>
''Currently, we are only able to conduct interviews in English.''
The front page of the form has more details about what the conversation will be like, including how we would '''compensate''' you for your time.
For more information, visit our ''[[m:WD4WMP/AddIssue|project issue page]]'' where you can also share your experiences in written form, without an interview.<br>We look forward to speaking with you, [[m:User:Danny Benjafield (WMDE)|Danny Benjafield (WMDE)]] ([[m:User talk:Danny Benjafield (WMDE)|talk]]) 08:53, 5 January 2024 (UTC)
</div>
<!-- 信息由 User:Danny Benjafield (WMDE)@metawiki 发送,使用的列表为 https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/WD4WMP/ScreenerInvite&oldid=26027495 -->
== Lua错误 ==
*請協助修正,詳見:[https://zh.wiktionary.org/w/index.php?limit=500&search=Lua%E9%94%99%E8%AF%AF&title=Special:Search&profile=default&ns0=1]
[[User:P1ayer|P1ayer]]([[User talk:P1ayer|留言]]) 2026年8月20日 (四) 00:45 (UTC)
:造成錯誤的原因太多了,沒辦法一次處理過來。如果能指明具體模板模組參數太舊、需要批量更新,這個我可以幫忙。<span class="nowrap" style="white-space:nowrap;">—<b>[[User:TongcyDai|<span style="color: #8F4586">'''TongcyDai'''</span>]]</b></span>  [[User talk:TongcyDai|<span style="color: #FF9224;"><span class="nowrap" style="white-space:nowrap;">ฅ • ω • ฅ</span></span>]] 2026年8月26日 (三) 17:30 (UTC)
== 台灣分會2026年8月對話時間 ==
<div style="padding: 1.2rem 1rem; background: #f8f5ff; border: 1px solid #b29bd7; margin:1em 0; font-size: 1.08em; display: flex; align-items: center;">
<div style="flex: 1;">
<div style="font-size:x-large; padding-bottom:5px;">'''社群疑難雜症找協會!'''</div>
[[m:Special:MyLanguage/Wikimedia Taiwan|台灣維基媒體協會]]2026年8月的[[m:Wikimedia Taiwan/Wikimedia Taiwan Office Time|對話時間]],訂於台灣時間'''8/28 (五) 19:00'''舉行,<br>
參與連結為 https://meet.google.com/qiv-ctih-sse 。<br>
協會到底在做什麼?如果你覺得協會存在感超低,有事都找不到人,把握這次的對話機會!這是一個定期舉辦的服務時段,由協會秘書長親自主持,有問題馬上解決。協會會分享目前進行中的專案與計劃,也邀請社群朋友分享想法、反映需求,彼此開講、一起討論。<br>
本月討論主題將討論今年的'''維基愛古蹟'''活動,這是將是讓你深入了解協會運作並參與交流的絕佳機會!快來一起參加!
--[[User:MediaWiki message delivery|MediaWiki message delivery]]([[User talk:MediaWiki message delivery|留言]]) 2026年8月28日 (五) 11:03 (UTC)
</div>
<div style="margin-left: 1rem;">
[[File:Wikimedia Taiwan.svg|160px|alt=|link=m:Special:MyLanguage/Wikimedia Taiwan]]
</div>
</div>
<!-- 信息由 User:NHC@metawiki 发送,使用的列表为 https://meta.wikimedia.org/w/index.php?title=Wikimedia_Taiwan/Wikimedia_Taiwan_Office_Time/List&oldid=30591377 -->
== [[Template:reflist]] ==
英語維基詞典於近日進行了全站替換,將 {{code|<nowiki><references/></nowiki>}} 更新為 {{tl|reflist}},理由包括更方便抓漏報錯、語法更乾淨、與維基百科接軌等。詳情請見[[:en:Wiktionary:Beer_parlour/2026/August#Mass-addition_of_reflist]]。
為保持與 enwt 的同步及後續模組更新的相容性,本站將跟進此項變更。在此通知社群:未來在建立新條目或維護既有頁面時,請統一改用 {{tl|reflist}} 來整理參考文獻。若對此項作業有任何技術疑慮或意見,請於數日內於本討論串提出;若無異議,變更作業將如期展開。感謝!<span class="nowrap" style="white-space:nowrap;">—<b>[[User:TongcyDai|<span style="color: #8F4586">'''TongcyDai'''</span>]]</b></span>  [[User talk:TongcyDai|<span style="color: #FF9224;"><span class="nowrap" style="white-space:nowrap;">ฅ • ω • ฅ</span></span>]] 2026年8月29日 (六) 06:50 (UTC)
== 台灣分會2026年9月對話時間 ==
<div style="padding: 1.2rem 1rem; background: #f8f5ff; border: 1px solid #b29bd7; margin:1em 0; font-size: 1.08em; display: flex; align-items: center;">
<div style="flex: 1;">
<div style="font-size:x-large; padding-bottom:5px;">'''社群疑難雜症找協會!'''</div>
[[m:Special:MyLanguage/Wikimedia Taiwan|台灣維基媒體協會]]2026年9月的[[m:Wikimedia Taiwan/Wikimedia Taiwan Office Time|對話時間]],訂於台灣時間'''9/20 (日) 14:00'''舉行,<br>
參與連結為 https://meet.google.com/qiv-ctih-sse 。<br>
協會到底在做什麼?如果你覺得協會存在感超低,有事都找不到人,把握這次的對話機會!這是一個定期舉辦的服務時段,由協會秘書長親自主持,有問題馬上解決。協會會分享目前進行中的專案與計劃,也邀請社群朋友分享想法、反映需求,彼此開講、一起討論。<br>
本月討論主題將討論下半年開跑的'''志工招募計畫''',這是將是讓你深入了解協會運作並參與交流的絕佳機會!快來一起參加!
--[[User:MediaWiki message delivery|MediaWiki message delivery]]([[User talk:MediaWiki message delivery|留言]]) 2026年9月15日 (二) 04:39 (UTC)
</div>
<div style="margin-left: 1rem;">
[[File:Wikimedia Taiwan.svg|160px|alt=|link=m:Special:MyLanguage/Wikimedia Taiwan]]
</div>
</div>
<!-- 信息由 User:NHC@metawiki 发送,使用的列表为 https://meta.wikimedia.org/w/index.php?title=Wikimedia_Taiwan/Wikimedia_Taiwan_Office_Time/List&oldid=30591377 -->
== 伺服器切換 - 本wiki即將短暫進入唯讀模式 ==
<section begin="server-switch"/><div class="plainlinks">
[[:m:Special:MyLanguage/Tech/Server switch|閱讀本消息的其他語言版本]] • [https://meta.wikimedia.org/w/index.php?title=Special:Translate&group=page-Tech%2FServer+switch&language=&action=page&filter= {{int:please-translate}}]
[[foundation:|維基媒體基金會]]即將切换数据中心之间的路由。 这项举措能够确保维基百科以及其他的维基媒体项目可以在经受灾害冲击时依然维持线上运作。
所有流量将在'''{{#time:Y年n月j日|2026-09-23|zh}}'''进行切换。 本次測試將會在'''[https://zonestamp.toolforge.org/{{#time:U|2026-09-23T14:00|en}} {{#time:H:i e|2026-09-23T14:00}}]'''開始。
因[[mw:Special:MyLanguage/Manual:What is MediaWiki?|MediaWiki]]系统限制,切换期间将短期无法进行编辑。 我們在此對您的不便致以歉意,並努力將其影響減至最低。
每一個維基將會在此行動發生的30分鐘之前顯示一個通告。 該通告將持續顯示,直到行動結束。
您可以幫忙[https://meta.wikimedia.org/w/index.php?title=Special%3ATranslate&group=Centralnotice-tgroup-read_only_banner&task=view&language=&filter=&action=translate 翻譯或校對]通告文字。
'''期间您可以阅读但暂时无法编辑所有的维基。'''
* {{#time:Y年n月j日|2026-09-23|zh}},您大約有一个小时的时间不能进行编辑。
* 届时编辑条目或保存更改时将出现错误信息。 我们希望过程中没有编辑丢失,但无法确保。 如果您看到错误消息,请耐心等待一切恢复正常, 然后保存您的编辑。 保存前请先另行复制一份您的修改,以防万一。
'''其他影響''':
* 后台作业变慢,有些可能被丢弃。 紅鏈可能無法像平時一樣即時更新。 如果您建立了一个新条目,而该条目的名称此前已经在其他页面显示为红色的内部链接,则该链接需要更长的时间才会被更新为蓝色。 一些长时间运行的脚本将停止。
* 我們預期代碼部署將如同往常一般進行。 不過,部分個案代碼可能因操作需要而暫時凍結。
* [[mw:Special:MyLanguage/GitLab|GitLab]]會暫停服務,為時約90分鐘。
如有必要,此项目有可能推迟。 您可以[[wikitech:Switch_Datacenter|在wikitech.wikimedia.org阅读计划]]。 任何變化都將會在這份计划书中更新。
'''请把这个通知分享给您的社区。'''</div><section end="server-switch"/>
[[m:user:Trizek (WMF)|Trizek (WMF)]] 2026年9月15日 (二) 12:58 (UTC)
<!-- 信息由 User:Trizek (WMF)@metawiki 发送,使用的列表为 https://meta.wikimedia.org/w/index.php?title=Distribution_list/Non-Technical_Village_Pumps_distribution_list&oldid=30513874 -->
== Your feedback wanted: Remove ''(Language link added:) and similar'' edits from Special:RecentChanges ==
''(Apologies for posting in English. You can help by translating it)''
Hello, I’m Danny from [[:en:w:Wikimedia_Deutschland|Wikimedia Deutschland’s]] [[m:Wikidata_For_Wikimedia_Projects|Wikidata For Wikimedia Projects]] team.<br/>
We have been investigating and examining how Wikidata’s use in the [[Special:RecentChanges]] and [[Special:Watchlist]] pages can be made to be more useful, or less ‘noisy’ (fewer edits that have little value to the reader).
We are currently exploring to make a change in the volume and the type of Wikidata edits that appear in these pages, and '''we need your feedback''' to help us ensure this is a positive change for the Wikis and won’t disrupt your workflows.<br/>
Language links are also known as sitelinks or interlanguage links and describe when a Wikidata item is connected to a Wiki, adding it to the language dropdown tool for other connected Wikis.
[[File:Types of Lang Link changes.png|x350px|frame|A variety of "Language Link" edits as seen in the Recent Changes feed]]
The request for feedback is whether you support the removal of these language link edits from the Recent Changes and Watchlist feed, or would you oppose such a change and if so, why?
Please share you thoughts on the dedicated '''[[m:Talk:Wikidata_For_Wikimedia_Projects/Clearer_Wikidata_Edit_Summaries/Hide_Language_Link_edits|metawiki Talk page]]'''.
Further information about this change: [[m:Wikidata_For_Wikimedia_Projects/Clearer_Wikidata_Edit_Summaries/Hide_Language_Link_edits|m:Wikidata_For_Wikimedia_Projects/Hide_Language_Link_edits]]
Thank you for any participation or feedback you give, -- [[m:User:Danny_Benjafield_(WMDE)|User:Danny Benjafield (WMDE)]] 2026年9月25日 (五) 12:48 (UTC)
<!-- 信息由 User:Danny Benjafield (WMDE)@metawiki 发送,使用的列表为 https://meta.wikimedia.org/w/index.php?title=User:Danny_Benjafield_(WMDE)/MassMessage_test_list&oldid=31081007 -->
== "syn", "ant" 模板不顯示簡體字 ==
<nowiki>{{ant|zh|一竅不通}}</nowiki> 現在只顯示繁體字。 [[User:Public class|Public class]]([[User talk:Public class|留言]]) 2026年9月30日 (三) 09:07 (UTC)
:@[[User:TongcyDai|TongcyDai]] 可能是 [[Module:Links]] 的問題? [[User:Public class|Public class]]([[User talk:Public class|留言]]) 2026年9月30日 (三) 09:53 (UTC)
::* [[Module:Languages]] 第 1721 行需要將 <syntaxhighlight lang="lua">function Language:generateForms(text, sc)</syntaxhighlight> 更新成 <syntaxhighlight lang="lua">function Language:generateAlternants(text, sc)
local generate_alternants = self._data.generate_alternants
if generate_alternants == nil then
return {text}
end
sc = checkScript(text, self, sc)
return require("Module:" .. generate_alternants).generateAlternants(text, self, sc)
end
</syntaxhighlight>
::* 以及 [[Module:Links]] 第 1206 行需要將 <syntaxhighlight lang="lua">data[param] = lang:generateForms(data[param])</syntaxhighlight> 更新成 <syntaxhighlight lang="lua">data[param] = lang:generateAlternants(data[param])</syntaxhighlight>
::我沒有權限更改,請管理員更新一下代碼。 [[User:Public class|Public class]]([[User talk:Public class|留言]]) 2026年9月30日 (三) 12:48 (UTC)
== Wikidata Sitelink changes in Recent Changes and Watchlist ==
''(Apologies for cross-posting in English, translating it will help spread the message)''
Editors on group 1 wikis, including Wikiquote, Wikibooks, Wikiversity, Wikivoyage, and Wikisource, will no longer see notifications on [[Special:RecentChanges|Recent Changes]] and [[Special:Watchlist|Watchlist]] when a link to ''another'' language version of a page is added, removed, or changed in its Wikidata item. This change will begin on '''October 5 at 07:00 UTC''' as a two-week trial to reduce high-volume, low-value notifications and make higher-value changes easier to identify. Editors who rely on these notifications should be aware of the change and can share feedback or concerns on the [[m:Wikidata For Wikimedia Projects/Clearer Wikidata Edit Summaries/Hide Language Link edits|project]] or [[m:Talk:Wikidata_For_Wikimedia_Projects/Clearer_Wikidata_Edit_Summaries/Hide_Language_Link_edits|talk page]].<br/>Please reach out if you have any questions, thank you! -- [[User:Danny_Benjafield_(WMDE)|Danny Benjafield (WMDE)]] ([[User_talk:Danny_Benjafield_(WMDE)|talk]]) sent via [[User:MediaWiki message delivery|MediaWiki message delivery]]([[User talk:MediaWiki message delivery|留言]]) 2026年10月1日 (四) 12:43 (UTC)
<!-- 信息由 User:Danny Benjafield (WMDE)@metawiki 发送,使用的列表为 https://meta.wikimedia.org/w/index.php?title=User:Danny_Benjafield_(WMDE)/MassMessage_test_list&oldid=31106967 -->
qwzszznqtccdsc5lro9q0hr0286bw2c
conflict
0
26269
9936086
9935792
2026-10-01T16:18:25Z
列维劳德
79702
9936086
wikitext
text/x-wiki
{{also|Conflict}}
==英語==
{{wp|en:}}
===詞源===
源自{{der|en|la|cōnflīctus}},源自{{pre|la|com-|flīctus|t1=共同、一起|nocat=1}}({{m|la|conflīgō||碰撞、衝突}} 的過去分詞),源自{{pre|la|com-|flīgō|t1=共同、一起|t2=打擊|nocat=1}}(前者也就是英語前綴 {{af|en|con-}} 的來源)。
===發音===
* {{a|en|名詞}}
** {{IPA|en|/ˈkɒn.flɪkt/|a=RP,Northern England,Wales}}
** {{IPA|en|/ˈkɔn.flɪkt/|a=SSB,Scotland,AU}}
** {{IPA|en|/ˈkɑn.flɪkt/|a=GA}}
*** {{audio|en|en-us-conflict-noun.ogg|a=US}}
** {{IPA|en|/ˈkɒn.fləkt/|[ˈkʰɔ̟n.fləkt]|~|[ˈkʰɞ̠n-]|a=NZ}}
* {{a|en|動詞}}
** {{IPA|en|/kənˈflɪkt/|a=RP,SSB,Northern England,Scotland,Wales,AU}}
** {{IPA|en|/kənˈflɪkt/|/ˈkɑn.flɪkt/|a=GA}}
*** {{audio|en|en-us-conflict-verb.ogg|a=US}}
** {{IPA|en|/kənˈfləkt/|a=NZ}}
** {{rhymes|en|ɪkt|s=2}}
* {{hyph|en|con|flict}}
===名詞===
{{en-noun|~}}
# {{sid|en|N1}}[[衝突]];[[爭執]];[[武力]][[對抗]]
#: {{ux|en|The '''conflict''' between the government and the rebels began three years ago.|t=政府與叛軍之間的'''衝突'''起始於三年前。}}
#* {{quote-journal|en|date=2013-07-19|author=[http://www.theguardian.com/profile/marktran Mark Tran]
|volume=189|issue=6|page=1|magazine=w:en:The Guardian Weekly
|title=[http://www.theguardian.com/global-development/2013/jul/12/war-denying-children-education Denied an education by war]
|passage=One particularly damaging, but often ignored, effect of '''conflict''' on education is the proliferation of attacks on schools{{...}}as children, teachers or school buildings become the targets of attacks. Parents fear sending their children to school. Girls are particularly vulnerable to sexual violence.|t='''冲突'''对教育的一个特别有害但却常常被忽视的影响是,针对学校的袭击事件激{{...}},儿童、教师或学校建筑都成为袭击目标。家长们害怕送孩子上学。女孩尤其容易遭受性暴力。}}
# {{sid|en|N2}}不[[相容]],[[牴觸]],[[矛盾]];([[時間]]或[[行程]]) [[衝突]],[[撞期]]
#: {{ux|en|I wanted to attend the meeting but there's a '''conflict''' in my schedule that day.|我原本想參加會議,但那天我的行程'''撞期'''了。}}
# {{sid|en|N3}}(戲劇、小說中的) [[矛盾]]、[[衝突]]
====派生詞====
{{col|en|anticonflict|conflictarian|conflictful|conflictive|conflictless|conflictory|conflictual|cyberconflict|deconflict|metaconflict|nonconflict|postconflict|preconflict|unconflict|conflict zone|conflict-free|conflictional|conflicted|conflict out|edit conflict|A-type conflict|C-type conflict|armed conflict|conflict of interest|conflict thesis|conflict training|conflict-ridden|external conflict|internal conflict|role conflict|social conflict paradigm|conflict diamond|conflict resolution|parent-offspring conflict}}
====後代詞====
* {{desc|he|קוֹנְפְלִיקְט|bor=1}}
===動詞===
{{en-verb}}
# {{lb|en|intransitive}} {{sid|en|V1}}與……[[牴觸]];相[[矛盾]];不[[一致]]
#* {{quote-journal|en|author=Jan Morris|title=Lawrence in Arabia: War, Deceit, Imperial Folly and the Making of the Modern Middle East by Scott Anderson, review: A skilful account of T. E. Lawrence and his role in the painful birth of an emerging Middle East [print version: A rock in Arabia's shifting sands, 1 March 2014, p. R26]|url=http://www.telegraph.co.uk/culture/books/bookreviews/10664897/Lawrence-in-Arabia-War-Deceit-Imperial-Folly-and-the-Making-of-the-Modern-Middle-East-by-Scott-Anderson-review.html|work={{w|每日電訊報|The Daily Telegraph}} (Review)|date=2 March 2014|passage=[[w:en:T. E. Lawrence|[T. E.] Lawrence]] said that in the end he felt himself to be fighting not for the imperial British but for the rebellious Arabs. All too often he '''conflicted''' with British bureaucratic fustiness.|t={{w|T·E·勞倫斯|劳伦斯}}说,最终他觉得自己不是在为英帝国主义而战,而是在为反抗的阿拉伯人而战。他常常与英国官僚主义的陈腐作风'''发生冲突'''。}}
# {{lb|en|intransitive|指時間或行程}} {{sid|en|V2}}[[衝突]],[[撞期]]
#: {{ux|en|Your conference call '''conflicts''' with my older one: please reschedule.|你的電話會議跟我的舊行程'''撞期'''了,請重新安排時間。}}
#: {{ux|en|It appears that our schedules '''conflict'''.|看來我們的行程'''撞期'''了。}}
====派生詞====
* {{l|en|conflicted}}
===參考資料===
* {{R:Online Etymology Dictionary}}
* {{R:OneLook}}
{{cln|en|多音詞}}
==荷蘭語==
===詞源===
{{bor+|nl|la|cōnflīctus}}({{m|la|confligere||一起擊打}} 的過去分詞),源自 {{m|la|com-||一起}}( [[con-]] 的一種變形)+ {{m|la|fligere||擊打}}。
===發音===
* {{IPA|nl|/kɔnˈflɪkt/}}
* {{audio|nl|Nl-conflict.ogg}}
* {{hyphenation|nl|con|flict}}
* {{rhymes|nl|ɪkt|s=2}}
===名詞===
{{nl-noun|n|-en|+}}
# [[衝突]]
# [[抵觸]]
====派生詞彙====
{{col|nl
|belangenconflict
|conflictdiamant
|conflicthaard
|conflicthantering
|conflictmineraal
|conflictsituatie
|conflictstof
}}
====相關詞彙====
* {{l|nl|conflictueus}}
====派生語彙====
* {{desc|af|konflik}}
* {{desc|id|konflik|bor=1}}
* {{desc|fy|konflikt|bor=1}}
==羅馬尼亞語==
===詞源===
{{ety|ro|:lbor|la:conflictus|text=+|tree=1}}
===名詞===
{{ro-noun|n|conflicte}}
# [[衝突]]
# [[抵觸]]
====變格====
{{ro-noun-n}}
3opucztdjcdits4t91bz0bdxrqlhts7
9936087
9936086
2026-10-01T16:21:48Z
列维劳德
79702
/* 動詞 */
9936087
wikitext
text/x-wiki
{{also|Conflict}}
==英語==
{{wp|en:}}
===詞源===
源自{{der|en|la|cōnflīctus}},源自{{pre|la|com-|flīctus|t1=共同、一起|nocat=1}}({{m|la|conflīgō||碰撞、衝突}} 的過去分詞),源自{{pre|la|com-|flīgō|t1=共同、一起|t2=打擊|nocat=1}}(前者也就是英語前綴 {{af|en|con-}} 的來源)。
===發音===
* {{a|en|名詞}}
** {{IPA|en|/ˈkɒn.flɪkt/|a=RP,Northern England,Wales}}
** {{IPA|en|/ˈkɔn.flɪkt/|a=SSB,Scotland,AU}}
** {{IPA|en|/ˈkɑn.flɪkt/|a=GA}}
*** {{audio|en|en-us-conflict-noun.ogg|a=US}}
** {{IPA|en|/ˈkɒn.fləkt/|[ˈkʰɔ̟n.fləkt]|~|[ˈkʰɞ̠n-]|a=NZ}}
* {{a|en|動詞}}
** {{IPA|en|/kənˈflɪkt/|a=RP,SSB,Northern England,Scotland,Wales,AU}}
** {{IPA|en|/kənˈflɪkt/|/ˈkɑn.flɪkt/|a=GA}}
*** {{audio|en|en-us-conflict-verb.ogg|a=US}}
** {{IPA|en|/kənˈfləkt/|a=NZ}}
** {{rhymes|en|ɪkt|s=2}}
* {{hyph|en|con|flict}}
===名詞===
{{en-noun|~}}
# {{sid|en|N1}}[[衝突]];[[爭執]];[[武力]][[對抗]]
#: {{ux|en|The '''conflict''' between the government and the rebels began three years ago.|t=政府與叛軍之間的'''衝突'''起始於三年前。}}
#* {{quote-journal|en|date=2013-07-19|author=[http://www.theguardian.com/profile/marktran Mark Tran]
|volume=189|issue=6|page=1|magazine=w:en:The Guardian Weekly
|title=[http://www.theguardian.com/global-development/2013/jul/12/war-denying-children-education Denied an education by war]
|passage=One particularly damaging, but often ignored, effect of '''conflict''' on education is the proliferation of attacks on schools{{...}}as children, teachers or school buildings become the targets of attacks. Parents fear sending their children to school. Girls are particularly vulnerable to sexual violence.|t='''冲突'''对教育的一个特别有害但却常常被忽视的影响是,针对学校的袭击事件激{{...}},儿童、教师或学校建筑都成为袭击目标。家长们害怕送孩子上学。女孩尤其容易遭受性暴力。}}
# {{sid|en|N2}}不[[相容]],[[牴觸]],[[矛盾]];([[時間]]或[[行程]]) [[衝突]],[[撞期]]
#: {{ux|en|I wanted to attend the meeting but there's a '''conflict''' in my schedule that day.|我原本想參加會議,但那天我的行程'''撞期'''了。}}
# {{sid|en|N3}}(戲劇、小說中的) [[矛盾]]、[[衝突]]
====派生詞====
{{col|en|anticonflict|conflictarian|conflictful|conflictive|conflictless|conflictory|conflictual|cyberconflict|deconflict|metaconflict|nonconflict|postconflict|preconflict|unconflict|conflict zone|conflict-free|conflictional|conflicted|conflict out|edit conflict|A-type conflict|C-type conflict|armed conflict|conflict of interest|conflict thesis|conflict training|conflict-ridden|external conflict|internal conflict|role conflict|social conflict paradigm|conflict diamond|conflict resolution|parent-offspring conflict}}
====後代詞====
* {{desc|he|קוֹנְפְלִיקְט|bor=1}}
===動詞===
{{en-verb}}
# {{sid|en|V1}}{{lb|en|intransitive}} 與……[[牴觸]];相[[矛盾]];不[[一致]]
#* {{quote-journal|en|author=Jan Morris|title=Lawrence in Arabia: War, Deceit, Imperial Folly and the Making of the Modern Middle East by Scott Anderson, review: A skilful account of T. E. Lawrence and his role in the painful birth of an emerging Middle East [print version: A rock in Arabia's shifting sands, 1 March 2014, p. R26]|url=http://www.telegraph.co.uk/culture/books/bookreviews/10664897/Lawrence-in-Arabia-War-Deceit-Imperial-Folly-and-the-Making-of-the-Modern-Middle-East-by-Scott-Anderson-review.html|work={{w|每日電訊報|The Daily Telegraph}} (Review)|date=2 March 2014|passage=[[w:en:T. E. Lawrence|[T. E.] Lawrence]] said that in the end he felt himself to be fighting not for the imperial British but for the rebellious Arabs. All too often he '''conflicted''' with British bureaucratic fustiness.|t={{w|T·E·勞倫斯|劳伦斯}}说,最终他觉得自己不是在为英帝国主义而战,而是在为反抗的阿拉伯人而战。他常常与英国官僚主义的陈腐作风'''发生冲突'''。}}
# {{sid|en|V2}}{{lb|en|intransitive|指時間或行程}} [[衝突]],[[撞期]]
#: {{ux|en|Your conference call '''conflicts''' with my older one: please reschedule.|你的電話會議跟我的舊行程'''撞期'''了,請重新安排時間。}}
#: {{ux|en|It appears that our schedules '''conflict'''.|看來我們的行程'''撞期'''了。}}
====派生詞====
* {{l|en|conflicted}}
===參考資料===
* {{R:Online Etymology Dictionary}}
* {{R:OneLook}}
{{cln|en|多音詞}}
==荷蘭語==
===詞源===
{{bor+|nl|la|cōnflīctus}}({{m|la|confligere||一起擊打}} 的過去分詞),源自 {{m|la|com-||一起}}( [[con-]] 的一種變形)+ {{m|la|fligere||擊打}}。
===發音===
* {{IPA|nl|/kɔnˈflɪkt/}}
* {{audio|nl|Nl-conflict.ogg}}
* {{hyphenation|nl|con|flict}}
* {{rhymes|nl|ɪkt|s=2}}
===名詞===
{{nl-noun|n|-en|+}}
# [[衝突]]
# [[抵觸]]
====派生詞彙====
{{col|nl
|belangenconflict
|conflictdiamant
|conflicthaard
|conflicthantering
|conflictmineraal
|conflictsituatie
|conflictstof
}}
====相關詞彙====
* {{l|nl|conflictueus}}
====派生語彙====
* {{desc|af|konflik}}
* {{desc|id|konflik|bor=1}}
* {{desc|fy|konflikt|bor=1}}
==羅馬尼亞語==
===詞源===
{{ety|ro|:lbor|la:conflictus|text=+|tree=1}}
===名詞===
{{ro-noun|n|conflicte}}
# [[衝突]]
# [[抵觸]]
====變格====
{{ro-noun-n}}
j8oymknlg17tqkfsu1r6mtj42s7lwwb
Trainer
0
296878
9936772
4855208
2026-10-02T03:54:15Z
Sayonzei
40728
9936772
wikitext
text/x-wiki
{{also|trainer|traîner|traïner}}
==德語==
===詞源===
{{ety|de|:bor|en:trainer}}
{{bor+|de|en|trainer}}。
===發音===
* {{IPA|de|/ˈtʁɛːnɐ/|/ˈtʁeːnɐ/|/ˈtʁɛɪ̯nɐ/}}
* {{audio|de|De-Trainer.ogg|a=柏林}}
===名詞===
{{de-noun|m|f=in}}
# {{lb|de|運動}} [[教練]]
# [[馴獸師]]
# {{lb|de|奧地利|瑞士}} [[運動服]]
====變格====
{{de-ndecl|m}}
====派生詞彙====
{{col3|de
|Bundestrainer
|Co-Trainer,Cotrainer
|Kotrainer
|Trainerin
}}
====相關詞彙====
{{col3|de
|trainieren
|Trainieren
|Training
}}
===延伸閱讀===
* {{R:de:Duden}}
* {{R:de:DWDS}}
e8ozkg84tl4b0qszio4unq3m1k4u7s8
Training
0
299012
9936752
4855210
2026-10-02T03:51:09Z
Sayonzei
40728
9936752
wikitext
text/x-wiki
{{also|training}}
==德語==
===詞源===
19世紀早期{{bor+|de|en|training}}。發音受相關的{{cog|fr|traîner}}、{{m|fr|entraîner}} 影響。
===發音===
* {{IPA|de|/ˈtrɛːnɪŋ/|/ˈtreːnɪŋ/}}
* {{audio|de|De-Training.ogg|a=柏林}}
===名詞===
{{de-noun|n,,s}}
# [[訓練]];[[鍛鍊]]
#: {{syn|de|Übung|Work-out}}
====變格====
{{de-ndecl|n,,s}}
====派生詞彙====
* {{l|de|Höhentraining}}
* {{l|de|Trainingseinheit}}
* {{l|de|Trainingslager}}
* {{l|de|Zirkeltraining}}
====相關詞彙====
* {{l|de|Trainer}}
* {{l|de|trainieren}}
===延伸閱讀===
* {{R:de:DWDS}}
* {{R:de:UniLeipzig}}
* {{R:de:Duden}}
* {{pedia|lang=de}}
szvsyu6zgp76e2cwsbe6bh9jf2sovnk
Bundestrainer
0
299541
9936777
4826987
2026-10-02T03:55:20Z
Sayonzei
40728
9936777
wikitext
text/x-wiki
==德語==
===詞源===
{{ety|de|:af|Bund|-es-|Trainer}}
源自 {{af|de|Bund|-es-|Trainer}}。
===發音===
* {{IPA|de|/ˈbʊndəsˌtʁɛːnɐ/|/ˈbʊndəsˌtʁeːnɐ/}}
* {{audio|de|De-Bundestrainer.ogg|a=柏林}}
===名詞===
{{de-noun|m|f=+}}
# {{lb|de|運動}} [[國家隊]][[教練]]
====變格====
{{de-ndecl|m}}
===延伸閱讀===
* {{R:de:Duden}}
siixq3242pw0orr8zb0fl86amz8ldch
廙
0
307203
9936527
9659408
2026-10-01T22:41:32Z
Fglffer
55252
9936527
wikitext
text/x-wiki
{{character info}}
{{character info|0xfa83}}
==跨語言==
===漢字===
{{Han char|rn=53|rad=广|as=12|sn=15|four=00281|canj=IWTC|ids=⿸广異}}
====來源====
{{Han ref|kx=0350.170|dkj=09478|dj=0661.190|hdz=20899.020|ch=4920005.02|uh=5ED9}}
{{Han ref|uh=FA83}}
==漢語==
{{zh-forms}}
===字源===
{{Han etym}}
{{Han compound|广|異|c1=s|c2=p|ls=psc}}。
===發音===
{{zh-pron
|m=yì
|c=ji6
|mc=y
|oc=y
|cat=n,a
}}
===釋義===
{{head|zh|漢字}}
# 可以[[移動]]的[[帳幕]]
# [[恭敬]]
==日語==
===漢字===
{{ja-kanji|grade=|rs=广12}}
# {{rfdef|ja|sort=广12}}
====讀法====
* {{ja-readings|on=よく, よき, い|kun=てんまく, つつしむ, ひさし}}
tp1302nvckhujlttbl2syke48wmgi8b
异
0
307233
9936525
8328759
2026-10-01T22:36:48Z
Fglffer
55252
9936525
wikitext
text/x-wiki
{{character info}}
==跨語言==
===漢字===
{{Han char|rn=55|rad=廾|as=03|sn=6|four=17441|canj=RUT,SUT|ids=⿱巳廾(G),⿱己廾(HTJK)}}
====衍生字====
* {{charlist|sc=Hani|𦚪𩐦𢼷𫷩}}
====來源====
* {{Han ref|kx=0353.120|dkj=09591|dj=0668.130|hdz=10514.110|ch=4980003.01|uh=5F02|ud=24322|bh=C9DD|bd=51677}}
==漢語==
===字源===
{{Han etym}}
{{Han compound|以|alt1=已|廾|c1=p|c2=s|ls=psc}}。
===詞源1===
{{zh-see|異}}
===詞源2===
{{zh-forms|alt=𢍀}}
====發音====
{{zh-pron
|m=yì
|mc=y
|oc=y
|ma=
|cat=v
}}
====釋義====
{{head|zh|漢字}}
# [[推舉]],[[任用]]
# [[完畢]],[[完成]]
# {{surname|zh}}
# {{alt form|zh|異//}}
==日語==
===漢字===
{{ja-kanji|grade=|rs=廾03}}
# {{rfdef|ja}}
====讀法====
* {{ja-readings|on=い|kun=あ-げる}}
sp1tywjjhwl9imh5fc3di0ielkb2had
멸칭
0
403483
9936790
5242917
2026-10-02T07:50:57Z
ArsenalBastion4093
113517
9936790
wikitext
text/x-wiki
==朝鲜语==
===詞源===
{{ko-etym-sino|蔑稱}}。
===發音===
{{ko-IPA}}
===名詞===
{{ko-noun|hanja=蔑稱}}
# [[蔑稱]]
p0w3sul1mjeorjrzksmwdg8ro0xzt2j
압축
0
464448
9936792
5255568
2026-10-02T08:18:54Z
Chihayatomori
131398
9936792
wikitext
text/x-wiki
==朝鮮語==
===詞源===
{{ko-etym-sino|壓縮}}。
===發音===
{{ko-IPA}}
===名詞===
{{ko-noun|hanja=壓縮}}
# [[壓縮]]{{gloss|檔案}}
lymrc098a6il09wnnw2jh2c027weepo
왜노
0
479082
9936543
1321924
2026-10-02T00:16:14Z
ArsenalBastion4093
113517
9936543
wikitext
text/x-wiki
==朝鲜语==
===詞源===
{{ko-etym-sino|倭奴}}。
===發音===
{{ko-IPA}}
===名詞===
{{ko-noun|hanja=倭奴}}
# [[倭奴]](中國人對日本或日本人的蔑稱)
69eui86v16m4dlhme4sr5xtbiddamd7
不耐煩
0
587717
9936533
8120403
2026-10-01T23:28:09Z
ArsenalBastion4093
113517
9936533
wikitext
text/x-wiki
==漢語==
{{zh-forms|s=不耐烦}}
===發音===
{{zh-pron
|m=不nàifán
|c=bat1 noi6 faan4
|mn=put-nāi-hoân
|cat=v
}}
{{attention|yue|Cantonese pronunciation 'noi6' not found in the entry 耐.}}
{{attention|yue|Cantonese pronunciation 'faan4' not found in the entry 煩.}}
===動詞===
{{zh-verb}}
# 缺乏[[耐心]],急於做某事
b3ml64hbrdbm5ux8z0bf3pmcx4b2smb
9936534
9936533
2026-10-01T23:28:18Z
ArsenalBastion4093
113517
9936534
wikitext
text/x-wiki
==漢語==
{{zh-forms|s=不耐烦}}
===發音===
{{zh-pron
|m=不nàifán
|c=bat1 noi6 faan4
|mn=put-nāi-hoân
|cat=v
}}
===動詞===
{{zh-verb}}
# 缺乏[[耐心]],急於做某事
4d2hsxb19mh48qpa6g52xfvkjcs28jf
9936535
9936534
2026-10-01T23:30:15Z
ArsenalBastion4093
113517
9936535
wikitext
text/x-wiki
==漢語==
{{zh-forms|s=不耐烦}}
===發音===
{{zh-pron
|m=búnàifán
|c=bat1 noi6 faan4
|mn=put-nāi-hoân
|cat=adj
}}
===形容詞===
{{head|zh|adj}}
# 缺乏[[耐心]],急於做某事
9v43rcr4rkuoz0ahj0cxv30xc4403e9
9936537
9936535
2026-10-01T23:50:43Z
Fglffer
55252
9936537
wikitext
text/x-wiki
==漢語==
{{zh-forms|s=不耐烦|type=12}}
===發音===
{{zh-pron
|m=不nàifán
|c=bat1 noi6 faan4
|ca=LL-Q9186-Luilui6666-不耐烦.wav
|mn=tw:put-nāi-hoân
|cat=a
}}
===形容詞===
{{head|zh|形容詞}}
# [[急躁]]而無[[耐心]]的樣子
#: {{syn|zh|不奈煩}}
# [[不舒服]]
# [[沒完沒了]]
# [[十分]],[[不得了]]
# 一段很[[長]]的[[時間]]
#: {{syn|zh|不耐心煩}}
====衍生詞====
{{col3|zh|活得不耐煩}}
4clds84gn4deu9e161gnu7i0jlycss7
咕咕
0
609049
9936800
9702060
2026-10-02T09:43:55Z
TongcyDai
53191
9936800
wikitext
text/x-wiki
==漢語==
{{zh-forms|gloss=-|alt=姑姑-陰莖,鴣鴣-陰莖}}
===發音===
{{zh-pron
|m=gūgū
|c=gu1-4 gu1,gu1 gu1
|mn=pn:ku-ku
|cat=m:adv,c:adv,c:n,mn:n
}}
===副詞===
{{head|zh|副詞}}
# {{lb|zh|擬聲詞}} [[鴿子]]叫,[[母雞]]叫
===名詞===
{{head|zh|名詞}}
# {{lb|zh|粵語|惠城方言|Penang Hokkien|Singapore Hokkien|childish}}(男孩的)[[陰莖]];[[小雞雞]]
====近義詞====
{{zh-dial|陰莖}}
====派生詞彙====
{{col|zh|咕咕鳥}}
6wq3vur8ux2l1gg3v4ecrn1hohmjbmy
9936801
9936800
2026-10-02T09:45:58Z
TongcyDai
53191
9936801
wikitext
text/x-wiki
==漢語==
{{zh-forms|gloss=-|alt=姑姑-陰莖,鴣鴣-陰莖}}
===發音===
{{zh-pron
|m=gūgū
|c=gu1-4 gu1,gu1 gu1
|mn=pn,sg:ku-ku
|cat=m:adv,c:adv,c:n,mn:n
}}
===副詞===
{{head|zh|副詞}}
# {{lb|zh|擬聲詞}} [[鴿子]]叫,[[母雞]]叫
===名詞===
{{head|zh|名詞}}
# {{lb|zh|粵語|惠城方言|庇能福建話|新加坡福建話|childish}}(男孩的)[[陰莖]];[[小雞雞]]
====近義詞====
{{zh-dial|陰莖}}
====派生詞彙====
{{col|zh|咕咕鳥}}
m5hgsnhambjjodahcdq5mhou90bnkhx
毛子
0
675515
9936545
8296139
2026-10-02T00:25:39Z
ArsenalBastion4093
113517
同樣用來收集各語言等效蔑稱
9936545
wikitext
text/x-wiki
==漢語==
{{zh-forms}}
===詞源===
在[[義和團]]運動期間使用最為顯著。
===發音===
{{zh-pron
|m=máozi
|dg=мо1зы0
|c=mou4 zi2
|cat=n
}}
===名詞===
{{head|zh|名詞}}
# {{lb|zh|slang|pejorative|ethnic slur}} [[洋鬼子]],[[白人]]
## {{lb|zh|特指}} [[俄羅斯人]]
# {{lb|zh|obsolete}} [[土匪]],[[強盜]],[[法外之徒]]
# [[羊毛]]或[[線頭]]
====近義詞====
* {{s|外國人}} {{zh-l|西洋人}}
* {{s|俄羅斯人}} {{zh-l|老毛子}}
====衍生詞====
{{col3|zh|俄毛子|紅毛子|老毛子|二毛子|毛妹}}
====翻譯====
{{trans-top|對俄羅斯人的蔑稱}}
* 白俄罗斯语:{{t+|be|маска́ль|m}}, {{t|be|маска́лька|f}}, {{t|be|каца́п|m}}
* 捷克语:{{t+|cs|Rusák|m}}
* 英語:{{t+|en|Russki}}
* 世界语:{{t|eo|rusaĉo}}
* 爱沙尼亚语:{{t+|et|tibla}}, {{t+|et|venku}}, {{t+|et|sibul}}, {{t|et|russ}}, {{t|et|vasja}}, {{t|et|iivan}}, {{t|et|vanka}}, {{t+|et|vant}}, {{t|et|rüssa}}
* 芬兰语:{{t+|fi|ryssä}}, {{t+|fi|iivana}}, {{t|fi|kaalineekeri}}, {{t+|fi|vanja}}, {{t+|fi|slobo}}, {{t+|fi|moskoviitti}}, {{t+|fi|vinkkelitossu}}, {{qual|女性}} {{t+|fi|venakko}}
* 法语:{{t+|fr|ruskov}}, {{t+|fr|russkoff}}, {{t|fr|russkof}}, {{t+|fr|ruskoff}}, {{t|fr|ruskof}}, {{t+|fr|Popov}}
* 德语:{{t+|de|Russki|m}}, {{t+|de|Iwan|m}}, {{t+|de|Russacke|m}}
* 匈牙利语:{{t+|hu|ruszki}}
* 日语:{{qual|pejorative}} {{t+|ja|露助|tr=ろすけ, Rosuke}}, {{t|ja|ロスケ|tr=Rosuke}}
* 哈萨克语:{{t|kk|аққұлақ|lit=weasel}}, {{t|kk|орекең}}
* 吉尔吉斯语:{{t|ky|жумбаш}}, {{t|ky|жүнбаш}}
* 波兰语:{{t+|pl|kacap|m}}, {{t+|pl|kacapka|f}}, {{t+|pl|Moskal|m}} {{t+|pl|Ruski|m}}, {{t+|pl|Ruska|f}}, {{t+|pl|Rusek|m}}
* 罗马尼亚语:{{t|ro|rusnac|m}}, {{t|ro|rusnacă|f}}
* 俄语:{{qual|自我貶低}} {{t+|ru|руса́к|m}}, {{t+|ru|каца́п|m}}, {{t+|ru|каца́пка|f}} {{qual|源自烏克蘭語}}, {{t+|ru|моска́ль|m}}, {{t|ru|моска́лька|f}} {{qual|源自烏克蘭語}}, {{t+|ru|русня́|f}} {{qual|集體}}, {{t|ru|бутылкоприседалец}}
* 塞尔维亚-克罗地亚语:{{t|sh|Руја|m}}, {{t|sh|Ruja|m}}
* 乌克兰语:{{t+|uk|каца́п|m}}, {{t|uk|каца́пка|f}}, {{t+|uk|моска́ль|m}}, {{t|uk|моска́лька|f}}, {{t|uk|ру́скій}}, {{t|uk|русня́|f}}
{{trans-bottom}}
qn0s9yyl9v2pi0k9ew4r6fj94iiuf6k
9936546
9936545
2026-10-02T00:27:23Z
ArsenalBastion4093
113517
9936546
wikitext
text/x-wiki
==漢語==
{{zh-forms}}
===詞源===
在[[義和團]]運動期間使用最為顯著。
===發音===
{{zh-pron
|m=máozi
|dg=мо1зы0
|c=mou4 zi2
|cat=n
}}
===名詞===
{{head|zh|名詞}}
# {{lb|zh|slang|pejorative|ethnic slur}} [[洋鬼子]],[[白人]]
## {{lb|zh|特指}} [[俄羅斯人]]
# {{lb|zh|obsolete}} [[土匪]],[[強盜]],[[法外之徒]]
# [[羊毛]]或[[線頭]]
====近義詞====
* {{s|外國人}} {{zh-l|西洋人}}
* {{s|俄羅斯人}} {{zh-l|老毛子}}
====衍生詞====
{{col3|zh|俄毛子|紅毛子|老毛子|二毛子|毛妹}}
====翻譯====
{{trans-top|對俄羅斯人的蔑稱}}
* 白俄罗斯语:{{t+|be|маска́ль|m}}, {{t|be|маска́лька|f}}, {{t|be|каца́п|m}}
* 捷克语:{{t+|cs|Rusák|m}}
* 英語:{{t+|en|Russki}}
* 世界语:{{t|eo|rusaĉo}}
* 爱沙尼亚语:{{t+|et|tibla}}, {{t+|et|venku}}, {{t+|et|sibul}}, {{t|et|russ}}, {{t|et|vasja}}, {{t|et|iivan}}, {{t|et|vanka}}, {{t+|et|vant}}, {{t|et|rüssa}}
* 芬兰语:{{t+|fi|ryssä}}, {{t+|fi|iivana}}, {{t|fi|kaalineekeri}}, {{t+|fi|vanja}}, {{t+|fi|slobo}}, {{t+|fi|moskoviitti}}, {{t+|fi|vinkkelitossu}}, {{qual|女性}} {{t+|fi|venakko}}
* 法语:{{t+|fr|ruskov}}, {{t+|fr|russkoff}}, {{t|fr|russkof}}, {{t+|fr|ruskoff}}, {{t|fr|ruskof}}, {{t+|fr|Popov}}
* 德语:{{t+|de|Russki|m}}, {{t+|de|Iwan|m}}, {{t+|de|Russacke|m}}
* 匈牙利语:{{t+|hu|ruszki}}
* 日语:{{t+|ja|露助|tr=ろすけ, Rosuke}}, {{t|ja|ロスケ|tr=Rosuke}}
* 哈萨克语:{{t|kk|аққұлақ|lit=weasel}}, {{t|kk|орекең}}
* 吉尔吉斯语:{{t|ky|жумбаш}}, {{t|ky|жүнбаш}}
* 波兰语:{{t+|pl|kacap|m}}, {{t+|pl|kacapka|f}}, {{t+|pl|Moskal|m}} {{t+|pl|Ruski|m}}, {{t+|pl|Ruska|f}}, {{t+|pl|Rusek|m}}
* 罗马尼亚语:{{t|ro|rusnac|m}}, {{t|ro|rusnacă|f}}
* 俄语:{{qual|自我貶低}} {{t+|ru|руса́к|m}}, {{t+|ru|каца́п|m}}, {{t+|ru|каца́пка|f}} {{qual|源自烏克蘭語}}, {{t+|ru|моска́ль|m}}, {{t|ru|моска́лька|f}} {{qual|源自烏克蘭語}}, {{t+|ru|русня́|f}} {{qual|集體}}, {{t|ru|бутылкоприседалец}}
* 塞尔维亚-克罗地亚语:{{t|sh|Руја|m}}, {{t|sh|Ruja|m}}
* 乌克兰语:{{t+|uk|каца́п|m}}, {{t|uk|каца́пка|f}}, {{t+|uk|моска́ль|m}}, {{t|uk|моска́лька|f}}, {{t|uk|ру́скій}}, {{t|uk|русня́|f}}
{{trans-bottom}}
4tlef381xaphlljjor9ozt3uvm78j8o
9936547
9936546
2026-10-02T00:27:46Z
ArsenalBastion4093
113517
/* 翻譯 */
9936547
wikitext
text/x-wiki
==漢語==
{{zh-forms}}
===詞源===
在[[義和團]]運動期間使用最為顯著。
===發音===
{{zh-pron
|m=máozi
|dg=мо1зы0
|c=mou4 zi2
|cat=n
}}
===名詞===
{{head|zh|名詞}}
# {{lb|zh|slang|pejorative|ethnic slur}} [[洋鬼子]],[[白人]]
## {{lb|zh|特指}} [[俄羅斯人]]
# {{lb|zh|obsolete}} [[土匪]],[[強盜]],[[法外之徒]]
# [[羊毛]]或[[線頭]]
====近義詞====
* {{s|外國人}} {{zh-l|西洋人}}
* {{s|俄羅斯人}} {{zh-l|老毛子}}
====衍生詞====
{{col3|zh|俄毛子|紅毛子|老毛子|二毛子|毛妹}}
====翻譯====
{{trans-top|對俄羅斯人的蔑稱}}
* 白俄罗斯语:{{t+|be|маска́ль|m}}, {{t|be|маска́лька|f}}, {{t|be|каца́п|m}}
* 捷克语:{{t+|cs|Rusák|m}}
* 英語:{{t+|en|Russki}}
* 世界语:{{t|eo|rusaĉo}}
* 爱沙尼亚语:{{t+|et|tibla}}, {{t+|et|venku}}, {{t+|et|sibul}}, {{t|et|russ}}, {{t|et|vasja}}, {{t|et|iivan}}, {{t|et|vanka}}, {{t+|et|vant}}, {{t|et|rüssa}}
* 芬兰语:{{t+|fi|ryssä}}, {{t+|fi|iivana}}, {{t|fi|kaalineekeri}}, {{t+|fi|vanja}}, {{t+|fi|slobo}}, {{t+|fi|moskoviitti}}, {{t+|fi|vinkkelitossu}}, {{qual|女性}} {{t+|fi|venakko}}
* 法语:{{t+|fr|ruskov}}, {{t+|fr|russkoff}}, {{t|fr|russkof}}, {{t+|fr|ruskoff}}, {{t|fr|ruskof}}, {{t+|fr|Popov}}
* 德语:{{t+|de|Russki|m}}, {{t+|de|Iwan|m}}, {{t+|de|Russacke|m}}
* 匈牙利语:{{t+|hu|ruszki}}
* 日语:{{t+|ja|露助|tr=ろすけ, Rosuke}}, {{t|ja|ロスケ|tr=Rosuke}}
* 哈萨克语:{{t|kk|аққұлақ|lit=黃鼠狼}}, {{t|kk|орекең}}
* 吉尔吉斯语:{{t|ky|жумбаш}}, {{t|ky|жүнбаш}}
* 波兰语:{{t+|pl|kacap|m}}, {{t+|pl|kacapka|f}}, {{t+|pl|Moskal|m}} {{t+|pl|Ruski|m}}, {{t+|pl|Ruska|f}}, {{t+|pl|Rusek|m}}
* 罗马尼亚语:{{t|ro|rusnac|m}}, {{t|ro|rusnacă|f}}
* 俄语:{{qual|自我貶低}} {{t+|ru|руса́к|m}}, {{t+|ru|каца́п|m}}, {{t+|ru|каца́пка|f}} {{qual|源自烏克蘭語}}, {{t+|ru|моска́ль|m}}, {{t|ru|моска́лька|f}} {{qual|源自烏克蘭語}}, {{t+|ru|русня́|f}} {{qual|集體}}, {{t|ru|бутылкоприседалец}}
* 塞尔维亚-克罗地亚语:{{t|sh|Руја|m}}, {{t|sh|Ruja|m}}
* 乌克兰语:{{t+|uk|каца́п|m}}, {{t|uk|каца́пка|f}}, {{t+|uk|моска́ль|m}}, {{t|uk|моска́лька|f}}, {{t|uk|ру́скій}}, {{t|uk|русня́|f}}
{{trans-bottom}}
kjbynmjwzp436t98w8wb5fwr1obsimu
Alleinerziehende
0
759647
9936068
4821175
2026-10-01T15:38:54Z
Sayonzei
40728
9936068
wikitext
text/x-wiki
==德語==
===詞源===
{{m|de|alleinerziehend}} 的名詞化。
===發音===
* {{IPA|de|/aˈlaɪ̯nʔɛɐ̯ˌt͡siːəndə/}}
* {{hyph|de|Al|lein|er|zie|hen|de}}
* {{audio|de|De-Alleinerziehende.ogg|a=柏林}}
===名詞===
{{de-noun|+|m=+}}
# {{female equivalent of|de|Alleinerziehender}}:[[單親]][[媽媽]]
====變格====
{{de-ndecl|+}}
===名詞===
{{head|de|名詞變格形|g=m}}
# {{inflection of|de|Alleinerziehender||str|nom//acc|p|;|wk|nom|s}}
===延伸閱讀===
* {{R:de:Duden}}
h8npu6x1lutfif39962kamg8tabse1i
Alleinerziehender
0
759648
9936070
4821176
2026-10-01T15:39:34Z
Sayonzei
40728
9936070
wikitext
text/x-wiki
==德語==
===詞源===
{{m|de|alleinerziehend}} 的名詞化。
===發音===
* {{IPA|de|/aˈlaɪ̯nʔɛɐ̯ˌt͡siːəndɐ/}}
* {{audio|de|De-Alleinerziehender.ogg|a=柏林}}
* {{hyph|de|Al|lein|er|zie|hen|der}}
===名詞===
{{de-noun|+|f=+}}
# [[單親]][[爸爸]]
====變格====
{{de-ndecl|+}}
===名詞===
{{head|de|名詞變格形|g=f}}
# {{inflection of|de|Alleinerziehende||str|gen//dat|s|;|str|gen|p}}
===延伸閱讀===
* {{R:de:Duden}}
df77d04k3f49i4pgw9lp2y08mvv7vbc
aller Anfang ist schwer
0
759668
9936064
4866521
2026-10-01T15:34:50Z
Sayonzei
40728
9936064
wikitext
text/x-wiki
==德語==
===發音===
* {{IPA|de|/ˈalɐ ˈanfaŋ ɪst ʃveːɐ̯/}}
* {{audio|de|De-aller Anfang ist schwer.ogg|a=柏林}}
===諺語===
{{head|de|諺語}}
# [[萬事開頭難]]
===延伸閱讀===
* {{R:de:DWDS}}
ojv2q4hc0buf7mrs8gl43am3iwk1c07
Alliierte
0
759745
9936065
4821220
2026-10-01T15:36:26Z
Sayonzei
40728
9936065
wikitext
text/x-wiki
==德語==
===發音===
* {{IPA|de|/aliˈʔiːɐ̯tə/}}
* {{audio|de|De-Alliierte.ogg|a=柏林}}
===名詞===
{{head|de|名詞變格形|g=m}}
# {{inflection of|de|Alliierter||str|nom//acc|p|;|wk|nom|s}}
===名詞===
{{de-noun|+}}
# 女[[盟友]]
====變格====
{{de-ndecl|+}}
===延伸閱讀===
* {{R:de:DWDS}}
i1wxmu5gfbk3u5l4quidl2c2y29pqdr
Alliierter
0
759746
9936066
4821221
2026-10-01T15:37:55Z
Sayonzei
40728
9936066
wikitext
text/x-wiki
==德語==
===詞源===
{{m|de|alliiert}} 的名詞化。
===發音===
* {{IPA|de|/aliˈʔiːɐ̯tɐ/}}
* {{hyph|de|Al|li|ier|ter}}
* {{audio|de|De-Alliierter.ogg|a=柏林}}
===名詞===
{{de-noun|+|f=+}}
# [[盟友]] {{qualifier|男性或未指定性別}}
# {{lb|de|historical|chiefly|in the plural}} [[盟軍]]
#* {{quote-book|de|author=Gerhard Groß|title=Das Ende des Ersten Weltkriegs und die Dolchstoßlegende|year=2018|publisher=Reclam Verlag|pageurl=https://books.google.com/books?id=mK93DwAAQBAJ&pg=PA141&dq=%22Dolchsto%C3%9Flegende%22&hl=&cd=8&source=gbs_api#v=onepage&q=%22Dolchsto%C3%9Flegende%22&f=false|isbn=978-3-15-950516-9|page=141|passage=Die enorme Wirkung der Dolchstoßlegende war den '''Alliierten''' nach dem Ende des Zweiten Weltkriegs 1945 bewusst.|translation=二战结束后,'''盟军'''才意识到“背后捅刀”神话的巨大影响。}}
====變格====
{{de-ndecl|+}}
===名詞===
{{head|de|名詞變格形|g=f}}
# {{inflection of|de|Alliierte||str|gen//dat|s|;|str|gen|p}}
===延伸閱讀===
* {{R:de:Duden}}
* {{R:de:DWDS}}
79zgjlfbkqredhpx1w9n3w4a1jclylz
ambiophonic
0
760042
9936071
1772115
2026-10-01T15:44:40Z
Sayonzei
40728
Sayonzei移动页面[[Ambiophonic system]]至[[ambiophonic]],不留重定向
1772115
wikitext
text/x-wiki
==德语==
[[Category:德语]]环绕声系统
hw1qv7zscfeps1yxsib3uzmhntdb8d9
ambulanter
0
760055
9936072
1772154
2026-10-01T15:55:27Z
Sayonzei
40728
Sayonzei移动页面[[ambulanter Patient]]至[[ambulanter]],不留重定向
1772154
wikitext
text/x-wiki
==德语==
[[Category:德语]]门诊病人
c3f06159jeubhanmq0v77fx0chieu1s
9936073
9936072
2026-10-01T15:55:38Z
Sayonzei
40728
9936073
wikitext
text/x-wiki
==德語==
===發音===
* {{IPA|de|/ambuˈlantɐ/}}
* {{audio|de|De-ambulanter.ogg|a=柏林}}
===形容詞===
{{head|de|形容詞變格形}}
# {{de-adj form of|ambulant}}
ea6vi2d9on5p52r57ovww79c8lik4cs
break even
0
768553
9936074
1797857
2026-10-01T16:01:53Z
Sayonzei
40728
Sayonzei移动页面[[Break-Even]]至[[break even]],不留重定向
1797857
wikitext
text/x-wiki
==德语==
[[Category:德语]]盈亏平衡,收支相抵
6x1sq2fihzldr69e1tgfrcij52lw9oh
Burberry
0
769299
9936075
4827006
2026-10-01T16:02:51Z
Sayonzei
40728
9936075
wikitext
text/x-wiki
==英語==
{{wp|en:}}
===專有名詞===
{{en-proper noun}}
# {{surname|en}}。
# {{w|巴宝莉}}{{gl|英国奢侈品品牌}}
#* {{quote-book|en|year=1946|author=[[w:en:George Johnston (novelist)|George Johnston]]|title=Skyscrapers in the Mist|page=35|text=The man was about thirty-five, very handsome, extremely well-dressed, with striped trousers, a black Homburg and a '''Burberry''' raincoat.|t=这名男子大约三十五岁,相貌英俊,衣着考究,身穿条纹裤、黑色霍姆贝里帽和'''巴宝莉'''雨衣。}}
====派生詞彙====
* {{l|en|Burberried}}
{{cln|en|名祖}}
qv0cfzi9aax9ipeeaotzdmibgk0wh9r
Cashflow
0
769555
9936076
1800589
2026-10-01T16:03:59Z
Sayonzei
40728
Sayonzei移动页面[[Cash-Flow]]至[[Cashflow]],不留重定向
1800589
wikitext
text/x-wiki
==德语==
[[Category:德语]]现金流
dylkb2o0f8yfhnqvhang28fkelwwv9p
9936077
9936076
2026-10-01T16:04:15Z
Sayonzei
40728
9936077
wikitext
text/x-wiki
{{also|cashflow|cash-flow|cash flow}}
==德語==
===詞源===
{{ety|de|:bor|en:cash flow}}
{{bor+|de|en|cash flow}}。
===發音===
* {{IPA|de|[ˈkɛʃfloʊ̯]|[ˈkɛʃfloː]}}
* {{audio|de|De-Cashflow.ogg|a=柏林}}
===名詞===
{{de-noun|m,,s}}
# [[现金流]]
====變格====
{{de-ndecl|m,,s}}
===延伸閱讀===
* {{R:de:Duden}}
pzldgiia5quo7empp01s4wgc7n4qe6k
concept car
0
770252
9936081
1802598
2026-10-01T16:06:45Z
Sayonzei
40728
Sayonzei移动页面[[Concept-Car]]至[[concept car]],不留重定向
1802598
wikitext
text/x-wiki
==德语==
[[Category:德语]](英)样车,概念车
bnpag3x2cesvh1rea7f7jlds9i717y0
9936082
9936081
2026-10-01T16:08:04Z
Sayonzei
40728
9936082
wikitext
text/x-wiki
==英語==
{{wp|en:}}
[[File:An auto show in China, 2004.jpg|thumb|A single-person concept car (2004)]]
===名詞===
{{en-noun}}
# {{lb|en|automotive}} [[概念车]]
#* {{quote-journal|en|date=July 1 1990|author=George Harrar|title=Technology: The ‘'''Concept Car'''’ Pushes Change|titleurl=http://www.nytimes.com/1990/07/01/business/technology-the-concept-car-pushes-change.html|journal=New York Times|accessdate=1 May 2014
|passage=On the auto show circuit, '''concept cars''' lend excitement to the more down-to-earth models on the platform next door, the ones actually available for purchase.|t=在汽车展巡回展上,'''概念车'''为隔壁平台上那些更接地气、实际可供购买的车型增添了兴奋感。}}
#* {{quote-journal|en|date=Oct 11 2007|author=Bryan Walsh|title=The History of the Electric Car|titleurl=http://content.time.com/time/specials/2007/article/0,28804,1669723_1669725_1669749,00.html|journal=Time|accessdate=1 May 2014
|passage=Introduced as a '''concept car''' in early 2007, the Volt is a next-generation hybrid, a plug-in.|t=Volt于2007年初作为'''概念车'''推出,是一款新一代插电式混合动力汽车。}}
====上位詞====
* {{l|en|concept vehicle}}
62owanu6nv8bqs3ae1zwhq7j594dr7g
der Apfel fällt nicht weit vom Stamm
0
771277
9936084
1805557
2026-10-01T16:09:27Z
Sayonzei
40728
Sayonzei移动页面[[der Apfel fällt nicht weit vom Stamm.]]至[[der Apfel fällt nicht weit vom Stamm]],不留重定向
1805557
wikitext
text/x-wiki
==德语==
[[Category:德语]]有其父必有其子
m2oak1cgzsarrb8piagmzh88qs5onmi
9936085
9936084
2026-10-01T16:10:23Z
Sayonzei
40728
9936085
wikitext
text/x-wiki
==德語==
===發音===
* {{IPA|de|/deɐ̯ ˈʔapfl̩ fɛlt nɪçt vaɪ̯t fɔm ʃtam/}}
* {{audio|de|De-der Apfel fällt nicht weit vom Stamm.ogg|a=柏林}}
* {{audio|de|De-der_Apfel_fällt_nicht_weit_vom_Stamm2.ogg|a=柏林}}
===諺語===
{{head|de|諺語}}
# [[有其父必有其子]]({{lit|苹果不会落在离树很远处}})
6cytc3sjf2voe0mjapdfsaldhdv3cie
Destillation
0
771390
9936597
4828585
2026-10-02T02:37:35Z
Sayonzei
40728
9936597
wikitext
text/x-wiki
{{also|destillation}}
==德語==
{{wp|de:}}
===發音===
* {{IPA|de|/dɛstɪlaˈt͡si̯oːn/}}
* {{audio|de|De-Destillation.ogg|a=柏林}}
===名詞===
{{de-noun|f}}
# {{lb|de|化學}} [[蒸餾]]
====變格====
{{de-ndecl|f}}
====相關詞彙====
* {{l|de|destillieren}}
* {{l|de|Destillat}}
===延伸閱讀===
* {{R:de:Duden}}
* {{R:de:DWDS}}
sjgcsivuzjv8yzlt7br592sheio37pv
destillieren
0
771391
9936596
8311823
2026-10-02T02:37:03Z
Sayonzei
40728
9936596
wikitext
text/x-wiki
==德語==
===詞源===
{{ety|de|:bor|la:dēstīllō<t:滴流>}}
{{bor+|de|la|dēstīllō||滴流}}。
===發音===
* {{IPA|de|/dɛstɪˈliːʁən/|/destɪˈliːʁən/}}
* {{audio|de|De-destillieren.ogg}}
* {{audio|de|De-destillieren2.ogg|a=柏林}}
===動詞===
{{de-verb}}
# {{lb|de|化學}} [[蒸餾]]
====變位====
{{de-conj}}
====派生詞彙====
* {{l|de|Destillieren}}、{{l|de|Destillierer}}、{{l|de|Destillierung}}
* {{l|de|destillierend}}、{{l|de|destilliert}}
====相關詞彙====
* {{l|de|Destillation}}
* {{l|de|Destillat}}
===延伸閱讀===
* {{R:de:DWDS}}
* {{R:de:UniLeipzig}}
* {{R:de:Duden}}
* {{R:de:OpenThesaurus}}
{{cln|de|含有後綴-ieren的詞}}
pqsgttwxswacq03um51kusmbveehcwi
gekrümmt
0
789851
9936554
4939842
2026-10-02T02:30:12Z
Sayonzei
40728
9936554
wikitext
text/x-wiki
==德語==
===發音===
* {{IPA|de|/ɡəˈkʁʏmt/}}
* {{audio|de|De-gekrümmt.ogg|a=柏林}}
===分詞===
{{head|de|過去分詞}}
# {{past participle of|de|krümmen}}
===形容詞===
{{de-adj}}
# [[彎曲]]的,[[曲折]]的,[[蜿蜒]]的
# [[踡縮]]的
====變格====
{{de-adecl}}
===延伸閱讀===
* {{R:de:Duden}}
l8d6r2irbo9zgstdtqca7td6clsyri6
krümmen
0
790480
9936553
9047980
2026-10-02T02:29:14Z
Sayonzei
40728
9936553
wikitext
text/x-wiki
==德語==
===詞源===
{{ety|de|:af|krumm|-en}}
{{suffix|de|krumm|en}}
===發音===
* {{IPA|de|/ˈkʁʏmən/}}
* {{audio|de|De-krümmen.ogg|a=柏林}}
===動詞===
{{de-verb}}
# [[彎曲]]
#: {{syn|de|biegen|beugen}}
====變位====
{{de-conj}}
====派生詞彙====
* {{l|de|Krümmen}}
* {{l|de|Krümmung}}
* {{l|de|Krümmer}}
* {{l|de|verkrümmen}}
* {{l|de|ein Haar krümmen}}
===延伸閱讀===
* {{R:de:DWDS}}
* {{R:de:UniLeipzig}}
* {{R:de:Duden}}
* {{R:de:OpenThesaurus}}
gzui8y21o2uu9cfhxzxxuc0ivsy08xp
trainieren
0
807290
9936749
9474420
2026-10-02T03:50:11Z
Sayonzei
40728
9936749
wikitext
text/x-wiki
==德語==
===詞源===
源自{{af|de|lang1=en|train|-ieren}}。最早見於19世紀前半。
===發音===
* {{IPA|de|/tʁɛˈniːʁən/|[tʁɛˈniːɐ̯n]}}
* {{audio|de|De-trainieren.ogg|a=柏林}}
* {{audio|de|De-at-trainieren.ogg|a=Austria}}
* {{hyph|de|trai|nie|ren}}
===動詞===
{{de-verb}}
# {{lb|de|不及物}} [[訓練]];[[鍛鍊]]
#: {{ux|de|Ich '''trainiere''' für einen Marathon.|我正在备战马拉松。}}
====變位====
{{de-conj}}
====派生詞彙====
* {{l|de|Trainieren}}、{{l|de|Trainierer}}
* {{l|de|trainierend}}、{{l|de|trainiert}}
====相關詞彙====
{{col2|de
|Trainer,Trainerin
|Training
}}
===延伸閱讀===
* {{R:de:DWDS}}
* {{R:de:UniLeipzig}}
* {{R:de:Duden}}
* {{R:de:OpenThesaurus}}
{{cln|de|含有後綴-ieren的詞}}
odun9xwc4cpobeb9kvjeje1oxvk39dd
Trainieren
0
807292
9936759
5726356
2026-10-02T03:52:19Z
Sayonzei
40728
9936759
wikitext
text/x-wiki
==德語==
===發音===
* {{IPA|de|/tʁɛˈniːʁən/|[tʁɛˈniːɐ̯n]}}
* {{audio|de|De-trainieren.ogg}}
* {{hyph|de|Trai|nie|ren}}
===名詞===
{{de-noun|n.sg}}
# {{gerund of|de|trainieren}}
====變格====
{{de-ndecl|n.sg}}
8lnsvucckimbibwedjq6lmsjp4l94uu
verkrümmen
0
818108
9936576
5051536
2026-10-02T02:33:33Z
Sayonzei
40728
9936576
wikitext
text/x-wiki
==德语==
===詞源===
{{af|de|ver-|krümmen}}
===發音===
* {{IPA|de|/fɛɐ̯ˈkʁʏmən/}}
* {{audio|de|De-verkrümmen.ogg|a=柏林}}
===動詞===
{{de-verb}}
# [[彎曲]]
====變位====
{{de-conj}}
===參考資料===
* {{R:de:DWDS}}
c7baxogd9z3wo6nwzulsysiwikdz9bj
widerrufen
0
826223
9936039
5056370
2026-10-01T15:27:04Z
Sayonzei
40728
9936039
wikitext
text/x-wiki
{{also|Widerrufen}}
==德語==
===詞源===
{{ety|de|:af|wider-|rufen}}
源自 {{af|de|wider-|rufen}}。
===發音===
* {{IPA|de|/ˌviːdɐˈʁuːfən/}}
* {{audio|de|De-widerrufen.ogg|a=柏林}}
===動詞===
{{de-verb|widerrufen<widerrief,widerrufen>}}
# {{lb|de|及物}} [[收回]],[[撤回]],[[撤除]],[[廢除]]
====變位====
{{de-conj|widerrufen<widerrief,widerrufen>}}
====派生詞彙====
* {{l|de|Widerrufen}}
* {{l|de|Widerrufer}}
* {{l|de|Widerrufung}}
====相關詞彙====
* {{l|de|Widerruf}}
===分詞===
{{head|de|過去分詞}}
# {{past participle of|de|widerrufen}}
====變格====
{{de-adecl}}
===延伸閱讀===
* {{R:de:DWDS}}
* {{R:de:UniLeipzig}}
* {{R:de:Duden}}
* {{R:de:OpenThesaurus}}
2jn05ncrpv3tjkpzc6bc6yhtg56cfd4
資質
0
962461
9936530
8297344
2026-10-01T22:58:41Z
Fglffer
55252
9936530
wikitext
text/x-wiki
==漢語==
{{zh-forms|s=资质}}
===發音===
{{zh-pron
|m=zī质
|c=zi1 zat1
|h=pfs=chṳ̂-chṳt;hrs=h:ziiˋ zhid
|mn=qz:chir-chit/tw,xm,zz:chu-chit
|mn-t=ze1 zioh4
|cat=n
}}
===名詞===
{{head|zh|名詞}}
# 人的[[天資]]和[[素質]];[[天生]]的[[稟賦]]
#: {{zh-x|資質 愚笨 的 人 應 加倍 努力,方 可 獲致 成功。}}
# 所[[具備]]的[[條件]]和[[能力]]
#: {{zh-x|他 的 資質 沒有 任何 問題。}}
====同義詞====
* {{s|人的資質和素質}}
{{syn-saurus|zh|稟賦}}
==日語==
{{ja-kanjitab|し|しつ|yomi=on,kanon}}
===詞源===
源自{{der|ja|ltc|-}} {{ltc-l|資質|id=1,2}}。首次記載於1707年的日語著作。<ref name="KDJ2">{{R:Nihon Kokugo Daijiten 2}}</ref>
===發音===
{{ja-pron|ししつ|dev=2|acc=0|acc_ref=DJR,SMK5,NHK|acc2=1|acc2_ref=NHK}}
===名詞===
{{ja-noun|ししつ}}
# {{defdate|自1707年}} 人的[[天資]]和[[素質]];[[天生]]的[[稟賦]]
# {{defdate|日期不詳,可能為近代}} 所[[具備]]的[[條件]]和[[能力]]
#: {{ja-usex|[[技%術%者]]に[[求める|求められる]]'''資%質'''|ぎ%じゅつ%しゃ に もとめられる '''し%しつ'''|工程師應具備的'''資質'''}}
====使用說明====
許多單語詞典並未收錄任何涵蓋「所具備的條件和能力」的詞義。<ref name="KDJ2"/><ref name="DJR"/><ref name="SMK5"/><ref name="K">{{R:Kojien}}</ref><ref name="DDJS">{{R:Digital-Daijisen}}</ref><ref name="M">{{R:Meikyo}}</ref>
===來源===
{{reflist}}
:* {{R:Kanjipedia Kotoba|0002822400}}
==朝鮮語==
{{ko-hanjatab}}
===名詞===
{{ko-noun|hj|hangeul=자질}}
# {{hanja form of|자질}}
==越南語==
{{vi-hantutab}}
===名詞===
{{vi-noun|sc=Hani}}
# {{vi-Han form of|tư chất}}
prb6q83zwf3t1dc8e6u22kz0ges0vyx
通共
0
1079115
9936551
8598601
2026-10-02T02:23:01Z
Sayonzei
40728
/* 漢語 */
9936551
wikitext
text/x-wiki
==漢語==
{{zh-forms}}
===發音===
{{zh-pron
|m=tōnggòng
|c=tung1 gung6
|mn=thong-kiōng
|cat=v,adv
}}
===動詞===
{{head|zh|動詞}}
# {{lb|zh|chiefly|historical}} 與[[共產主義]]勢力[[勾結]]
#* {{zh-x|w:全斗煥\全.^斗煥 集團 為 w:金大中\^金.^大中 羅織 的 另一“罪行”是 通共、容共,贊同 共和國 北-半-部 的 政策。||ref='''1980'''年9月20日,《{{w|人民日報}}》第6版,《支持南朝鲜人民反对独裁和争取民主的正义斗争 各国政府和舆论抗议判处金大中死刑》}}
===副詞===
{{head|zh|副詞}}
# {{lb|zh|口語}} [[總共]]
#* {{zh-x|我 通共 剩 了 這麼 一個 可靠 的 人,他們 還 要 來 算計!|ref=Hongloumeng}}
====近義詞====
{{syn-saurus|zh|總共}}
{{c|zh|冷戰|共產主義}}
dbtysfa4p6yxvgok3hsphle2kdcyy0g
軮
0
1159918
9936538
9667311
2026-10-01T23:56:17Z
Fglffer
55252
9936538
wikitext
text/x-wiki
{{character info}}
==跨語言==
===漢字===
{{Han char|rn=159|rad=車|as=05|sn=12|four=55030|canj=JJLBK|ids=⿰車央}}
====來源====
* {{Han ref|kx=1241.260|dkj=38248|hdz=53521.020|sbgy=315.04|ch=13000004.02|uh=8EEE}}
==漢語==
{{zh-forms|s=𬨄}}
===字源===
{{Han etym}}
===發音===
{{zh-pron
|m=yǎng
|mc=y
|oc=y
|cat=
}}
===釋義===
{{head|zh|漢字}}
# {{zh-used|軮軋}}
==日語==
===漢字===
{{ja-kanji|grade=|rs=車05}}
# {{rfdef|ja|sort=車05}}
====讀法====
* {{ja-readings|on=おう, ふく, ぶく}}
b4meysb8dpteftpiy26aze1s5obrr8j
𢍀
0
1188095
9936526
5665657
2026-10-01T22:37:25Z
Fglffer
55252
9936526
wikitext
text/x-wiki
{{character info}}
==跨語言==
===漢字===
{{Han char|rn=55|rad=廾|as=5|sn=8|four=|canj=|ids=⿱㠯廾}}
====來源====
* {{Han ref|kx=0354.071|dkj=|dj=|hdz=10516.070|uh=22340}}
==漢語==
{{zh-see|异|v}}
q2eaartes2eph4mzlxasq8q0gb6gubw
𥪛
0
1209468
9936791
7798032
2026-10-02T07:58:16Z
TongcyDai
53191
9936791
wikitext
text/x-wiki
{{character info}}
==跨語言==
===漢字===
{{Han char|rn=117|rad=立|as=9|sn=14|ids=⿱政立}}
====參考資料====
* {{Han ref|kx=0873.010|dkj=|dj=|hdz=42713.150|uh=25A9B}}
==漢語==
===詞源1===
{{zh-see|望|v}}
===詞源2===
{{zh-see|豎|v}}
l7u1yhztaurs2o8rss6v2bk3r6jme81
𬨄
0
1247165
9936539
5682431
2026-10-01T23:56:48Z
Fglffer
55252
9936539
wikitext
text/x-wiki
{{character info}}
==跨語言==
===漢字===
{{Han char|rn=159|rad=车|as=5|sn=9|four=|canj=|ids=⿰车央}}
====來源====
{{Han ref|uh=2CA04}}
==漢語==
{{zh-see|軮}}
bxk9uc9fpbe7uhu4n9kyafbpoalkgtb
Module:Ru-adjective
828
1369668
9936471
9853775
2026-10-01T21:57:34Z
TongcyBot
83009
同步 enwikt;修正分類名的語言名位置
9936471
Scribunto
text/plain
--[=[
This module contains functions for creating inflection tables for Russian
adjectives.
Author: Benwing, rewritten from early version by Wikitiki89
Arguments:
1: lemma; nom sg, or just the stem if an explicit declension type is
given in arg 2
2: declension type (usually omitted to autodetect based on the lemma),
along with any short accent type and optional irregular short stem;
see below.
CASE_NUMGEN: Override a given form; see abbreviations below
suffix: any suffix to attach unchanged to the end of each form
notes: Notes to add to the end of the table
title: Override the title
shorttail: Footnote (e.g. *, 1, 2, etc.) to add to short forms if
there's more than one; automatically superscripted
shorttailall: Same as shorttail= but applies to all short forms even
if there's only one
CASE_NUMGEN_tail: Like shorttailall but only for a specific form
nofull: Short forms only
Case abbreviations:
nom: nominative
gen: genitive
dat: dative
acc: accusative
ins: instrumental
pre: prepositional
short: short form
Number/gender abbreviations:
m: masculine singular
n: neuter singular
f: feminine singular
p: plural
mp: masculine plural (old-style and special numeral tables only)
fp: masculine plural (special numeral tables only)
Animacy abbreviations:
an: animate
in: inanimate
Declension-type argument (arg 2):
Form is DECLSPEC or DECLSPEC,DECLSPEC,... where DECLSPEC is
one of the following:
DECLTYPE:SHORTACCENT:SHORTSTEM
DECLTYPE:SHORTACCENT
DECLTYPE
SHORTACCENT:SHORTSTEM
SHORTACCENT
(blank)
DECLTYPE should normally be omitted, and the declension autodetected
from the ending; or it should be ь, to indicate that an adjective
in -ий is of the possessive variety with an extra -ь- in most of
the endings. Alternatively, it can be an explicit declension type,
in which case the lemma field needs to be replaced with the bare
stem; the following are the possibilities:
ый ий ой ьий short mixed manual (new-style)
ый ій ьій short stressed-short mixed proper stressed-proper
ъ-short ъ-stressed-short ъ-mixed ъ-proper ъ-stressed-proper
manual (old-style, where ъ-* is a synonym for *, for any *)
SHORTACCENT is one of a a' b b' c c' c'' to auto-generate the
short forms with the specified accent pattern (following
Zaliznyak); if omitted, no short forms will be auto-generated.
SHORTACCENT can contain a * in it for "reducible" adjectives,
where the short masculine singular has an epenthetic vowel
in the final syllable. It can also contain (1) or (2) to
indicate special cases. Both are used in conjunction with
adjectives in -нный/-нний. Special case (1) causes the
short masculine singular to end in -н instead of -нн; special
case (2) causes all short forms to end this way.
SHORTSTEM, if present, is used as the short stem to base the
short forms off of, instead of the normal adjective long stem
(possibly with a final-syllable accent added in the case of
declension type -о́й).
TODO:
1. Figure out what the symbol X-inside-square (⊠) means, which seems to go with
all adjectives in -о́й with multi-syllabic stems. It may mean that the
masculine singular short form is missing. If this indeed a regular thing,
we need to implement it (and if it's regular but means something else,
we need to implement that, too). Also figure out what the other signs
on pages 68-76 etc. mean: -, X, ~, П₂, Р₂, diamond (♢), triangle (△; might
simply mean a misc. irregularity; explained on p. 61).
2. Mark irregular overridden forms with △ (esp. appropriate for short forms).
3. Should non-reducible adjectives in -нный and -нний default to special case
(1)?
4. In the case of a non-dereducible short masc sing of stress type b, we don't
currently move the stress to the last syllable. Should we?
5. FIXME: In decline(), we used to default acc_n to nom_n. Now we do that in
handle_forms_and_overrides(). Verify that this is more correct.
6. FIXME: Allow multiple heads, both to handle cases where two manual translits
exist (or rather, one automatic and one manual), and cases where two
stresses are possible, e.g. мину́вший or ми́нувший.
7. FIXME: Add code to generate the regular comparative. The rules are as
follows: If the stem doesn't end in к г х, add -ee with no stress change
if the short form is type a, else add -е́е (including type a'). If the stem
ends in к г х, turn the last consonant into ч ж ш, add -е, and place the
stress on the syllable preceding the ending. (E.g. дорого́й -> доро́же)
]=]--
local m_utilities = require("Module:utilities")
local m_links = require("Module:links")
local m_table = require("Module:table")
local com = require("Module:ru-common")
local nom = require("Module:ru-nominal")
local strutils = require("Module:string utilities")
local m_table_tools = require("Module:table tools")
local m_debug = require("Module:debug")
local export = {}
local lang = require("Module:languages").getByCode("ru")
----------------------------- Utility functions ------------------------
local rfind = mw.ustring.find
local rsubn = mw.ustring.gsub
local rmatch = mw.ustring.match
local rsplit = mw.text.split
local ulower = mw.ustring.lower
local usub = mw.ustring.sub
-- 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
-- Insert a single form (consisting of {RUSSIAN, TR}) or a list of such
-- forms into an existing list of such forms, adding NOTESYM (a string or nil)
-- to the new forms if not nil. Return whether an insertion was performed.
local function insert_forms_into_existing_forms(existing, newforms, notesym)
if type(newforms) ~= "table" then
newforms = {newforms}
end
local inserted = false
for _, item in ipairs(newforms) do
if not m_table.contains(existing, item) then
if notesym then
item = com.concat_paired_russian_tr(item, {notesym})
end
table.insert(existing, item)
inserted = true
end
end
return inserted
end
local function track(page)
m_debug.track("ru-adjective/" .. page)
return true
end
-- Fancy version of ine() (if-not-empty). Converts empty string to nil,
-- but also strips leading/trailing space and then single or double quotes,
-- to allow for embedded spaces.
local function ine(arg)
if not arg then return nil end
arg = rsub(arg, "^%s*(.-)%s*$", "%1")
if arg == "" then return nil end
local inside_quotes = rmatch(arg, '^"(.*)"$')
if inside_quotes then
return inside_quotes
end
inside_quotes = rmatch(arg, "^'(.*)'$")
if inside_quotes then
return inside_quotes
end
return arg
end
-------------------- Global declension/case/etc. variables -------------------
-- 'enable_categories' is a special hack for testing, which disables all
-- category insertion if false. Delete this as soon as we've verified the
-- working of the category code and created all the necessary categories.
local enable_categories = true
local declensions = {}
local declensions_old = {}
local internal_notes_table = {}
local internal_notes_table_old = {}
local internal_notes_genders = {}
local internal_notes_genders_old = {}
local short_declensions = {}
local short_declensions_old = {}
-- Formerly used for the ой-rare type, which has been removed; but keep
-- the code around in case we need it later.
local short_internal_notes_table = {}
local short_internal_notes_table_old = {}
local short_stress_patterns = {}
local long_cases = {
"nom_m", "nom_n", "nom_f", "nom_p",
"gen_m", "gen_f", "gen_p",
"dat_m", "dat_f", "dat_p",
"acc_m_an", "acc_m_in", "acc_p_an", "acc_p_in", "acc_f", "acc_n",
"ins_m", "ins_f", "ins_p",
"pre_m", "pre_f", "pre_p",
-- extra old long cases
"nom_mp",
"acc_mp_an", "acc_mp_in",
-- extra dva cases
"nom_fp",
"acc_fp_an", "acc_fp_in",
-- extra oba cases
"gen_mp", "gen_fp",
"dat_mp", "dat_fp",
"ins_mp", "ins_fp",
"pre_mp", "pre_fp",
-- extra cases for compounds of два
"acc_mp", "acc_fp",
}
-- Short cases and corresponding numbered arguments
local short_cases = {
"short_m", "short_n", "short_f", "short_p"
}
-- Create master list of all possible cases (actually case/number/gender pairs)
local all_cases = mw.clone(long_cases)
for _, case in ipairs(short_cases) do
m_table.insertIfNot(all_cases, case)
end
-- If enabled, compare this module with new version of module to make
-- sure all declensions are the same.
local test_new_ru_adjective_module = false
-- Forward references to functions
local tracking_code
local categorize
local detect_stem_and_accent_type
local construct_bare_and_short_stem
local decline
local canonicalize_override
local handle_forms_and_overrides
local decline_short
local make_table
--------------------------------------------------------------------------
-- Main code --
--------------------------------------------------------------------------
-- Implementation of main entry point
function export.do_generate_forms(args, old, manual)
local orig_args
if test_new_ru_adjective_module then
orig_args = mw.clone(args)
end
if args[3] or args[4] or args[5] or args[6] then
error("Numbered short forms no longer supported")
end
if args.shorttailall then
track("shorttailall")
end
local SUBPAGENAME = mw.loadData("Module:headword/data").pagename
args.forms = {}
args.categories = {}
old = old or args.old
args.old = old
args.suffix = com.split_russian_tr(args.suffix or "", "dopair")
args.internal_notes = {}
-- Superscript footnote marker at beginning of note, similarly to what's
-- done at end of forms.
if args.notes then
local notes, entry = m_table_tools.separate_and_superscript_initial_notes(args.notes)
args.notes = notes .. entry
end
local overall_short_forms_allowed
manual = manual or args[2] == "manual"
args.manual = manual
local decl_types = manual and "$" or args[2] or ""
local lemmas = manual and "-" or args[1] or SUBPAGENAME
local normal_short_classes, rare_short_classes, dated_short_classes
local saw_no_short
for _, lemma_and_tr in ipairs(rsplit(lemmas, ",")) do
-- reset these for each lemma so we get the short classes of the last
-- lemma (doesn't really matter, as they should be the same for all
-- lemmas)
normal_short_classes = {}
rare_short_classes = {}
dated_short_classes = {}
saw_no_short = false
for _, decl_type in ipairs(rsplit(decl_types, ",")) do
local lemma, lemmatr = com.split_russian_tr(lemma_and_tr)
-- if lemma ends with -ся, strip it and act as if suffix=ся given
-- (or rather, prepend ся to suffix)
local active_base = rmatch(lemma, "^(.*)ся$")
if active_base then
lemma = active_base
lemmatr = com.strip_tr_ending(lemmatr, "ся")
args.refl = true
args.real_suffix = com.concat_paired_russian_tr({"ся"}, args.suffix)
else
args.refl = false
args.real_suffix = args.suffix
end
-- Auto-detect actual decl type, and get short accent and overriding
-- short stem, if specified.
local stem, stemtr, short_accent, short_stem, short_stemtr, datedrare
stem, stemtr, decl_type, short_accent, short_stem, datedrare =
detect_stem_and_accent_type(lemma, lemmatr, decl_type, args)
if rfind(decl_type, "^[іи]й$") and rfind(stem, "[" .. com.velar .. com.sib .. "]$") then
decl_type = "ый"
end
if datedrare == "none" then
saw_no_short = true
end
local proper_decl = m_table.contains({"proper", "stressed-proper"}, decl_type)
-- Use args.real_surname to avoid overwriting args.surname, since we may be overwriting
-- `args` multiple times. FIXME: Use a separate data structure for this.
args.real_surname = proper_decl or args.surname
local short_title
if short_accent then
short_title = short_accent
elseif args.real_surname then
short_title = "姓氏"
elseif m_table.contains({"ьій", "ьий", "ьей", "short", "stressed-short", "й-short", "mixed"}, decl_type) then
short_title = "所有格"
end
if short_title then
if datedrare == "dated" then
m_table.insertIfNot(dated_short_classes, short_title)
elseif datedrare == "rare" then
m_table.insertIfNot(rare_short_classes, short_title)
else
m_table.insertIfNot(normal_short_classes, short_title)
end
end
if short_stem then
short_stem, short_stemtr = com.split_russian_tr(short_stem)
end
stem, args.allow_unaccented = rsubb(stem, "^%*", "")
if args.allow_unaccented then
track("allow-unaccented")
end
-- Treat suffixes without an accent, and suffixes with an accent on
-- the initial hyphen, as if they were preceded with a *, which
-- overrides all the logic that normally (a) normalizes the accent,
-- and (b) complains about multisyllabic words without an accent.
-- Don't do this if lemma is just -, which is used specially in
-- manual declension tables.
if lemma ~= "-" and (rfind(lemma, "^%-́") or (com.is_unstressed(lemma) and rfind(lemma, "^%-"))) then
args.allow_unaccented = true
end
if not args.allow_unaccented and com.needs_accents(lemma) then
-- Technically we don't need accents in -ой adjectives (which are
-- always ending-stressed) and in -ый adjectives with a monosyllabic
-- stem, such as полный (which are always stem-stressed), but it's
-- better to enforce accents in all multisyllabic words, for
-- consistency with nouns and verbs. Note that we still don't
-- require an accent in monosyllabic adjectives such as злой.
error("Lemma must have an accent in it: " .. lemma)
end
-- Set stem and unstressed version. Also construct end-accented version
-- of stem if unstressed; needed for short forms of adjectives of
-- type -о́й. We do this here before doing the dereduction
-- transformation so that we don't end up stressing an unstressed
-- epenthetic vowel, and so that the previous syllable instead ends
-- up stressed (in type -о́й adjectives the stem won't have any stress).
-- Note that the closest equivalent in nouns is handled in
-- attach_unstressed(), which puts the stress onto the final syllable
-- if the stress pattern calls for ending stress in the genitive
-- plural. This works there because
-- (1) It won't stress an unstressed epenthetic vowel because the
-- cases where the epenthetic vowel is unstressed are precisely
-- those with stem stress in the gen pl, not ending stress;
-- (2) There isn't a need to stress the syllable preceding an
-- unstressed epenthetic vowel because that syllable should
-- already have stress, since we require that the base stem form
-- (parameter 2) have stress in it whenever any case form has
-- stem stress. This isn't the case here in type -о́й adjectives.
-- NOTE: FIXME: I can't actually quote any forms from Zaliznyak
-- (at least not from pages 58-60, where this is discussed) that
-- seem to require last-stem-syllable-stress, i.e. where the stem is
-- multisyllabic. The two examples given are both unusual: дорого́й
-- has stress on the initial syllable до́рог etc. and these forms are
-- marked with a triangle (indicating an apparent irregularity); and
-- голубо́й seems not to have a masculine singular short form, and it's
-- accent pattern b, so the remaining forms are all ending-stressed.
-- In fact it's possible that these examples don't exist: It appears
-- that all the multisyllabic adjectives in -о́й listed in the
-- dictionary have a marking next to them consisting of an X inside of
-- a square, which is glossed p. 69 to something I don't understand,
-- but may be saying that the masculine singular short form is
-- missing. If this is regular, we need to implement it.
args.stem, args.stemtr = stem, stemtr
args.ustem, args.ustemtr = com.make_unstressed_once(stem, stemtr)
local accented_stem, accented_stemtr = stem, stemtr
if not args.allow_unaccented then
if accented_stemtr and com.is_unstressed(accented_stem) ~= com.is_unstressed(accented_stemtr) then
error("Stem " .. accented_stem .. " and translit " .. accented_stemtr .. " must have same accent pattern")
end
if com.is_unstressed(accented_stem) then
accented_stem, accented_stemtr =
com.make_ending_stressed(accented_stem, accented_stemtr)
end
end
local short_forms_allowed = manual and true or decl_type == "ый" or
decl_type == "ой" or decl_type == (old and "ій" or "ий")
overall_short_forms_allowed = overall_short_forms_allowed or
short_forms_allowed
if not short_forms_allowed then
-- FIXME: We might want to allow this in case we have a
-- reducible short, mixed or proper possessive adjective. But
-- in that case we need to reduce rather than dereduce to get
-- the stem.
if short_accent or short_stem then
error("Cannot specify short accent or short stem with declension type " .. decl_type .. ", as short forms aren't allowed")
end
if args.short_m or args.short_f or args.short_n or args.short_p then
error("Cannot specify explicit short forms with declension type " .. decl_type .. ", as short forms aren't allowed")
end
end
local orig_short_accent = short_accent
local short_decl_type
short_accent, short_decl_type = construct_bare_and_short_stem(args,
short_accent, short_stem, short_stemtr, accented_stem,
accented_stemtr, old, decl_type)
local decls = old and declensions_old or declensions
local short_decls = old and short_declensions_old or short_declensions
if not decls[decl_type] then
error("Unrecognized declension type " .. decl_type)
end
if short_accent == "" then
error("Short accent type cannot be blank, should be omitted or given")
end
if short_accent and not short_stress_patterns[short_accent] then
error("Unrecognized short accent type " .. short_accent)
end
tracking_code(decl_type, args, orig_short_accent, short_accent,
short_stem, datedrare, short_forms_allowed)
if not manual and enable_categories then
categorize(decl_type, args, orig_short_accent, short_accent,
short_stem)
end
decline(args, decls[decl_type], m_table.contains({"ой", "ьей", "й-short", "stressed-short", "stressed-proper"}, decl_type))
if short_forms_allowed and short_accent then
decline_short(args, short_decls[short_decl_type],
short_stress_patterns[short_accent], datedrare)
end
local intable = old and internal_notes_table_old or internal_notes_table
local shortintab = old and short_internal_notes_table_old or
short_internal_notes_table
local internal_note = intable[decl_type] or shortintab[short_decl_type]
if internal_note then
m_table.insertIfNot(args.internal_notes, internal_note)
end
end
end
local short_class_titles = {}
local function make_short_class_title(short_classes, datedrare)
local sct = table.concat(short_classes, ",") -- short class title
if sct == "" then
return
end
if not m_table.contains({"姓氏", "所有格"}, sct) then
-- Convert e.g. a*,a(1) into a*[(1)], either finally or followed by
-- comma.
sct = rsub(sct, "([abc]'*)%*,%1%*?(%([12]%))$", "%1*[%2]")
sct = rsub(sct, "([abc]'*)%*,%1%*?(%([12]%)),", "%1*[%2],")
-- Same for a(1),a*.
sct = rsub(sct, "([abc]'*)%*?(%([12]%)),%1%*$", "%1*[%2]")
sct = rsub(sct, "([abc]'*)%*?(%([12]%)),%1%*,", "%1*[%2],")
-- Convert (1), (2) to ①, ②.
sct = rsub(sct, "%(1%)", "①")
sct = rsub(sct, "%(2%)", "②")
-- Add a * before ①, ②, consistent with Zaliznyak.
sct = rsub(sct, "([abc]'*)([①②])", "%1*%2")
-- Convert ' to ′ and '' to ″, consistent with Zaliznyak.
sct = sct:gsub("''", "″"):gsub("'", "′")
if args.nofull then
sct = "僅存短尾類型" .. sct
else
sct = "短尾類型" .. sct
end
end
if datedrare then
sct = (datedrare == "rare" and "罕用" or "過時") .. sct
end
table.insert(short_class_titles, sct)
end
make_short_class_title(normal_short_classes, nil)
make_short_class_title(rare_short_classes, "rare")
make_short_class_title(dated_short_classes, "dated")
if #short_class_titles == 0 then
if saw_no_short then
args.short_class_title = "無短尾形"
else
args.short_class_title = "短尾形未指定"
end
else
args.short_class_title = table.concat(short_class_titles, " / ")
end
handle_forms_and_overrides(args, overall_short_forms_allowed)
-- Test code to compare existing module to new one.
if test_new_ru_adjective_module then
local m_new_ru_adjective = require("Module:User:Benwing2/ru-adjective")
local newargs = m_new_ru_adjective.do_generate_forms(orig_args, old, manual)
local difdecl = false
for _, case in ipairs(all_cases) do
local arg = args[case]
local newarg = newargs[case]
if not m_table.deepEquals(arg, newarg) then
-- Uncomment this to display the particular case and
-- differing forms.
--error(case .. " " .. (arg and com.concat_forms(arg) or "nil") .. " || " .. (newarg and com.concat_forms(newarg) or "nil"))
track("different-decl")
difdecl = true
end
break
end
if not difdecl then
track("same-decl")
end
end
return args
end
local function process_params(frame, include_form)
local boolean = {type = "boolean"}
local params = {
[1] = true,
[2] = true,
suffix = true,
title = true,
special = true,
shorttail = true,
shorttailall = true,
notes = true,
old = boolean,
noneuter = boolean,
nofull = boolean,
surname = boolean,
pronoun = boolean
}
if include_form then
params.form = {required = true}
end
for _, case in ipairs(all_cases) do
params[case] = true
params[case .. "_tail"] = true
params[case .. "_tailall"] = true
end
return require("Module:parameters").process(frame:getParent().args, params)
end
-- Implementation of main entry point
local function do_show(frame, old, manual)
local args = export.do_generate_forms(process_params(frame), old, manual)
return make_table(args) .. m_utilities.format_categories(args.categories, lang)
end
-- The main entry point for modern declension tables.
function export.show(frame)
return do_show(frame, false)
end
-- The main entry point for old declension tables.
function export.show_old(frame)
return do_show(frame, true)
end
-- The main entry point for manual declension tables.
function export.show_manual(frame)
return do_show(frame, false, "manual")
end
-- The main entry point for manual old declension tables.
function export.show_manual_old(frame)
return do_show(frame, true, "manual")
end
-- Entry point for use in Module:ru-noun.
function export.get_nominal_decl(decl, gender, old)
local d = old and declensions_old[decl] or declensions[decl]
local n = {}
if gender == "m" then
n.nom_sg = d.nom_m
n.gen_sg = d.gen_m
n.dat_sg = d.dat_m
n.ins_sg = d.ins_m
n.pre_sg = d.pre_m
elseif gender == "f" then
n.nom_sg = d.nom_f
n.gen_sg = d.gen_f
n.dat_sg = d.dat_f
n.acc_sg = d.acc_f
n.ins_sg = d.ins_f
n.pre_sg = d.pre_f
elseif gender == "n" then
n.nom_sg = d.nom_n
n.gen_sg = d.gen_m
n.dat_sg = d.dat_m
n.acc_sg = d.acc_n
n.ins_sg = d.ins_m
n.pre_sg = d.pre_m
else
assert(false, "Unrecognized gender: " .. gender)
end
n.nom_pl = d.nom_p
n.gen_pl = d.gen_p
n.dat_pl = d.dat_p
n.ins_pl = d.ins_p
n.pre_pl = d.pre_p
if gender == "m" and d.nom_mp then
n.nom_pl = d.nom_mp
end
local intable = old and internal_notes_table_old or internal_notes_table
local ingenders = old and internal_notes_genders_old or internal_notes_genders
-- FIXME, what if there are multiple internal notes? See comment in
-- do_generate_forms().
local internal_notes = ingenders[decl] and m_table.contains(ingenders[decl], gender) and intable[decl]
return n, internal_notes
end
local function get_form(forms)
local canon_forms = {}
for _, form in ipairs(forms) do
local ru, tr = form[1], form[2]
local ruentry = m_table_tools.separate_and_superscript_notes(ru)
local trentry, trnotes
if tr then
trentry, trnotes = m_table_tools.separate_and_superscript_notes(tr)
end
ruentry = m_links.remove_links(ruentry)
m_table.insertIfNot(canon_forms, {ruentry, trentry})
end
return com.concat_forms(canon_forms)
end
-- The entry point for 'ru-adj-forms' to generate all adjective forms.
function export.generate_forms(frame)
local args = export.do_generate_forms(process_params(frame), false)
local ins_text = {}
for _, case in ipairs(all_cases) do
if args[case] then
table.insert(ins_text, case .. "=" .. get_form(args[case]))
end
end
return table.concat(ins_text, "|")
end
-- The entry point for 'ru-adj-form' to generate a particular adjective form.
function export.generate_form(frame)
local args = process_params(frame, "include form")
local form = args.form
if not m_table.contains(all_cases, form) then
error("Unrecognized form " .. form)
end
args = export.do_generate_forms(args, false)
if not args[form] then
return ""
else
return get_form(args[form])
end
end
--------------------------------------------------------------------------
-- Tracking and categorization --
--------------------------------------------------------------------------
tracking_code = function(decl_class, args, orig_short_accent, short_accent,
short_stem, datedrare)
local hint_types = com.get_stem_trailing_letter_type(args.stem)
local function dotrack(prefix)
if prefix ~= "" then
track(prefix)
prefix = prefix .. "/"
end
track(prefix .. decl_class)
for _, hint_type in ipairs(hint_types) do
track(prefix .. hint_type)
track(prefix .. decl_class .. "/" .. hint_type)
end
end
dotrack("")
if args.short_m or args.short_f or args.short_n or args.short_p then
dotrack("short")
end
if orig_short_accent then
if rfind(orig_short_accent, "%*") then
dotrack("reducible")
dotrack("reducible/" .. short_accent)
end
if rfind(orig_short_accent, "%(1%)") then
dotrack("special-case-1")
dotrack("special-case-1/" .. short_accent)
end
if rfind(orig_short_accent, "%(2%)") then
dotrack("special-case-2")
dotrack("special-case-2/" .. short_accent)
end
end
if short_accent then
dotrack("short-accent/" .. short_accent)
if datedrare == "dated" then
dotrack("short-accent-dated")
dotrack("short-accent-dated/" .. short_accent)
elseif datedrare == "rare" then
dotrack("short-accent-rare")
dotrack("short-accent-rare/" .. short_accent)
end
elseif datedrare == "none" then
dotrack("short-accent/none")
else
dotrack("short-accent/unknown")
end
if short_stem then
dotrack("explicit-short-stem")
dotrack("explicit-short-stem/" .. short_accent)
end
for _, case in ipairs(all_cases) do
if args[case] then
track("irreg/" .. case)
-- questionable use: dotrack("irreg/" .. case)
end
end
end
-- Insert the category CAT (a string) into list CATEGORIES. String will
-- have "Russian " prepended and ~ substituted for the part of speech.
local function insert_category(categories, cat, plpos)
-- l10n: Category names are formed as in [[Module:category tree]]: the language name goes after the last "的" of the
-- label if there is one, otherwise at the beginning.
local fullcat = rsub(cat, "~", plpos)
local prefix, suffix = rmatch(fullcat, "^(.+的)(.+)$")
table.insert(categories, prefix and prefix .. "俄語" .. suffix or "俄語" .. fullcat)
end
categorize = function(decl_type, args, orig_short_accent, short_accent,
short_stem)
local plpos = args.real_surname and "姓氏" or args.pronoun and "代詞" or "形容詞"
-- Insert category CAT into the list of categories in ARGS.
local function insert_cat(cat)
insert_category(args.categories, cat, plpos)
end
-- FIXME: For compatibility with old {{temp|ru-adj7}}, {{temp|ru-adj8}},
-- {{temp|ru-adj9}}; maybe there's a better way.
if m_table.contains({"ьій", "ьий", "ьей", "short", "stressed-short", "й-short", "mixed",
"proper", "stressed-proper"}, decl_type) then
insert_cat("所有格~")
end
if not args.pronoun then
if m_table.contains({"ьій", "ьий", "ьей"}, decl_type) then
insert_cat("長尾所有格~")
elseif m_table.contains({"short", "stressed-short", "й-short"}, decl_type) then
insert_cat("短尾所有格~")
elseif m_table.contains({"mixed"}, decl_type) then
insert_cat("混合所有格~")
elseif m_table.contains({"proper", "stressed-proper"}, decl_type) then
-- Don't insert a category like [[:Category:Russian proper-name surnames]]. Instead, rely on
-- [[:Category:Russian possessive surnames]] generated above.
if not args.real_surname then
insert_cat("專有名詞性~")
end
elseif decl_type == "$" then
insert_cat("無屈折~")
else
local hint_types = com.get_stem_trailing_letter_type(args.stem)
-- insert English version of Zaliznyak stem type
local stem_type =
m_table.contains(hint_types, "velar") and "軟腭音詞幹" or
m_table.contains(hint_types, "sibilant") and "噝音詞幹" or
m_table.contains(hint_types, "c") and "ц-詞幹" or
m_table.contains(hint_types, "i") and "i-詞幹" or
m_table.contains(hint_types, "vowel") and "元音詞幹" or
m_table.contains(hint_types, "soft-cons") and "元音詞幹" or
m_table.contains(hint_types, "palatal") and "元音詞幹" or
decl_type == "ий" and "軟音詞幹" or
"硬音詞幹"
if stem_type == "軟音詞幹" or stem_type == "元音詞幹" then
insert_cat(stem_type .. "~")
else
insert_cat(stem_type .. (m_table.contains({"ой", "ьей", "й-short"}, decl_type) and "詞尾重音" or "詞幹重音") .. "~")
end
end
if m_table.contains({"ой", "ьей", "й-short"}, decl_type) then
insert_cat("詞尾重音~")
end
end
local short_forms_allowed = m_table.contains({"ый", "ой", "ій", "ий"}, decl_type)
if short_forms_allowed then
local override_m = args.short_m
local override_f = args.short_f
local override_n = args.short_n
local override_p = args.short_p
local has_short = short_accent or override_m or override_f or
override_n or override_p
local missing_short = override_m == "-" or
override_f == "-" or override_n == "-" or override_p == "-" or
not short_accent and (not override_m or not override_f or
not override_n or not override_p)
if has_short then
insert_cat("有短尾形的~")
if missing_short then
insert_cat("缺少短尾形的~")
end
end
if short_accent then
insert_cat("短重音型" .. (short_accent:gsub("''", "″"):gsub("'", "′")) .. "~")
end
if orig_short_accent then
if rfind(orig_short_accent, "%*") then
insert_cat("有可簡化短尾詞幹的~")
end
if rfind(orig_short_accent, "%(1%)") then
insert_cat("扎利茲尼亞克短尾形特例1的~")
end
if rfind(orig_short_accent, "%(2%)") then
insert_cat("扎利茲尼亞克短尾形特例2的~")
end
end
if short_stem and short_stem ~= args.stem then
insert_cat("有不規則短尾詞幹的~")
end
end
for _, case in ipairs(all_cases) do
if args[case] and args[case] ~= "-" then
local engcase = rsub(case, "^([a-z]*)", {
nom="主格", gen="屬格", dat="與格",
acc="賓格", ins="工具格", pre="前置格",
short="短尾",
})
engcase = rsub(engcase, "(_[a-z]*)$", {
_m="陽性單數", _f="陰性單數",
_n="中性單數", _p="複數",
_mp="陽性複數"
})
insert_cat(engcase .. "不規則的~")
end
end
if args.nofull then
insert_cat("僅有短尾形的~")
end
end
--------------------------------------------------------------------------
-- Autodetection and stem munging --
--------------------------------------------------------------------------
-- Attempt to detect the type of the lemma based on its ending, separating
-- off the base and the ending; also extract the accent type for short
-- adjectives and optional short stem. DECL is the value passed in, and
-- might already specify the ending. Return five values: STEM, STEMTR, DECL,
-- SHORT_ACCENT (accent class of short adjective, or nil for no short
-- adjectives other than specified through overrides), SHORT_STEM (special
-- stem of short adjective, nil if same as long stem). The return value of
-- SHORT_STEM is taken directly from the argument and will include any
-- manual translit.
detect_stem_and_accent_type = function(lemma, tr, decl, args)
local datedrare = false
-- If it looks like a short decl type, canonicalize. [abc] for types
-- a, b, c'', etc.; [d] for dated-*; [r] for rare-*;
-- [-] for - (no short forms); [*(] for * and (1) and (2) modifiers,
-- which might precede the letter.
if rfind(decl, "^[abcdr*(-]") then
decl = ":" .. decl
end
local splitvals = rsplit(decl, ":")
if #splitvals > 3 then
error("Should be at most three colon-separated parts of a declension spec: " .. decl)
end
local short_accent, short_stem
decl, short_accent, short_stem = splitvals[1], splitvals[2], splitvals[3]
-- Check for dated variant of short accent
local dated_short = short_accent and rmatch(short_accent, "^dated%-(.*)$")
if dated_short then
datedrare = "dated"
short_accent = dated_short
else
-- Check for rare variant of short accent
local rare_short = short_accent and rmatch(short_accent, "^rare%-(.*)$")
if rare_short then
datedrare = "rare"
short_accent = rare_short
end
end
decl = ine(decl)
-- Resolve aliases
if decl then
decl = rsub(decl, "^ъ%-", "")
end
if short_accent == "-" then
short_accent = nil
datedrare = "none"
end
short_accent = ine(short_accent)
short_stem = ine(short_stem)
if short_stem and not short_accent then
error("With explicit short stem " .. short_stem .. ", must specify short accent")
end
local base, ending
-- The while loop appears to function solely as a way of allowing a
-- jump to the end of the loop with a 'break' statement. I don't think
-- the loop is ever run more than once.
while true do
if not decl or decl == "ь" then
base, ending = rmatch(lemma, "^(.*)([ыиіое]́?й)$")
if base then
if ending == "ий" and decl == "ь" then
ending = "ьий"
elseif ending == "ій" and decl == "ь" then
ending = "ьій"
elseif ending == "е́й" or (ending == "ей" and com.is_monosyllabic(lemma)) then
ending = "ье́й"
end
tr = com.strip_tr_ending(tr, ending)
-- -ий/-ій will be converted to -ый after velars and sibilants
-- by the caller
decl = com.make_unstressed(ending)
break
else
-- It appears that short, mixed and proper adjectives are always
-- either of the -ов/ев/ёв or -ин/ын types. The former type is
-- always (or almost always?) short, while the latter can be
-- either; apparently mixed is the more "modern" type of
-- declension, and short is "older". However, both -ов/ев/ёв or
-- -ин/ын are of type "proper" (similar to "short") when
-- capitalized.
--
-- NOTE: Following regexp is accented
base = rmatch(lemma, "^([" .. com.uppercase .. "].*[иы]́н)ъ?$")
if base then
decl = "stressed-proper"
break
end
base = rmatch(lemma, "^([" .. com.uppercase .. "].*[еёо]́?в)ъ?$")
if not base then
-- Following regexp is not stressed
base = rmatch(lemma, "^([" .. com.uppercase .. "].*[иы]н)ъ?$")
end
if base then
decl = "proper"
break
end
base = rmatch(lemma, "^(.*[еёо]́?в)ъ?$")
if base then
decl = "short"
break
end
base = rmatch(lemma, "(.*[иы]́н)ъ?$") --accented
if base then
decl = "stressed-short"
break
end
base = rmatch(lemma, "(.*[иы]н)ъ?$") --unaccented
if base then
decl = "mixed"
break
-- error("With -ин/ын adjectives, must specify 'short' or 'mixed':" .. lemma)
end
error("Cannot determine stem type of adjective: " .. lemma)
end
elseif m_table.contains({"short", "stressed-short", "mixed", "proper",
"stressed-proper"}, decl) then
base = rmatch(lemma, "^(.-)ъ?$")
assert(base)
break
elseif decl == "й" or decl == "й-short" then
base = rmatch(lemma, "^(.-)й$")
assert(base)
tr = com.strip_tr_ending(tr, "й")
decl = "й-short"
break
else
base = lemma
break
end
end
if not datedrare and (args.refl or not (decl == "ый" or decl == "ий" and not rfind(base, "[цс]к$"))) then
datedrare = "none"
end
return base, tr, decl, short_accent, short_stem, datedrare
end
-- Add a possible suffix to the bare stem, according to the declension and
-- value of OLD. This may be -ь, -ъ, -й or nothing. We need to do this here
-- because we don't actually attach such a suffix in attach_unstressed() due
-- to situations where we don't want the suffix added, e.g. бескра́йний with
-- dereduced nom sg бескра́ен without expected -ь.
local function add_bare_suffix(bare, baretr, old, decl, dereduced)
if decl == "й-short" then
return bare .. "й", baretr and baretr .. "j" or nil
elseif old and decl ~= "ій" and decl ~= "$" then
return bare .. "ъ", baretr
elseif decl == "ий" or decl == "ій" then
-- This next special case is mentioned in Zaliznyak's 1980 grammatical
-- dictionary for adjectives (footnote, p. 60).
if dereduced and rfind(bare, "[нН]$") then
-- FIXME: What happens in this case old-style? I assume that
-- -ъ is added, but this is a guess.
return bare .. (old and "ъ" or ""), baretr
elseif rfind(bare, "[" .. com.vowel .. "]́?$") then
-- This happens with adjectives like длинноше́ий, short masculine
-- singular длинноше́й.
return bare .. "й", baretr and baretr .. "j" or nil
else
return bare .. "ь", baretr and baretr .. "ʹ" or nil
end
else
return bare, baretr
end
end
-- Construct and set bare and short form in args, and canonicalize
-- short accent spec, handling cases *, (1) and (2). Return canonicalized
-- short accent and the short declension, which is usually the same as
-- the corresponding long one.
construct_bare_and_short_stem = function(args, short_accent, short_stem,
short_stemtr, accented_stem, accented_stemtr, old, decl)
-- Check if short forms allowed; if not, no short-form params can be given.
-- Construct bare version of stem; used for cases where the ending
-- is non-syllabic (i.e. short masculine singular of long adjectives,
-- and masculine singular of short, mixed and proper adjectives). Comes
-- from short masculine or 3rd argument if explicitly given, else from the
-- accented stem, possibly with the dereduction transformation applied
-- (if * occurs in the short accent spec).
local reducible, sc1, sc2
if short_accent then
short_accent, reducible = rsubb(short_accent, "%*", "")
short_accent, sc1 = rsubb(short_accent, "%(1%)", "")
short_accent, sc2 = rsubb(short_accent, "%(2%)", "")
end
if sc1 or sc2 then
-- Reducible isn't compatible with sc1 or sc2, but Zaliznyak's
-- dictionary always seems to notate sc1 and sc2 with reducible *,
-- so ignore it.
reducible = false
end
if sc1 and sc2 then
error("Special cases 1 and 2, i.e. (1) and (2), not compatible")
end
local short_decl = decl
-- Construct short stem. May be explicitly given, else comes from
-- end-accented stem.
if not short_stem then
short_stem, short_stemtr = accented_stem, accented_stemtr
end
-- Try to accent unaccented short stem (happens only when explicitly given),
-- but be conservative -- only if monosyllabic, since otherwise we have
-- no idea where stress should end up; after all, the explicit short stem
-- is for exceptional cases.
if not args.allow_unaccented then
if short_stemtr and com.is_unstressed(short_stem) ~= com.is_unstressed(short_stemtr) then
error("Explicit short stem " .. short_stem .. " and translit " .. short_stemtr .. " must have same accent pattern")
end
if com.is_monosyllabic(short_stem) then
short_stem, short_stemtr = com.make_ending_stressed(short_stem, short_stemtr)
elseif com.needs_accents(short_stem) then
error("Explicit short stem " .. short_stem .. " needs an accent")
end
end
if sc2 then
if not rfind(short_stem, "нн$") then
error("With special case 2, stem needs to end in -нн: " .. short_stem)
end
short_stem = rsub(short_stem, "нн$", "н")
if short_stemtr then
if not rfind(short_stemtr, "nn$") then
error("With special case 2, stem translit needs to end in -nn: " .. short_stemtr)
end
short_stemtr = rsub(short_stemtr, "nn$", "n")
end
end
-- Construct bare form, used for short masculine.
local bare, baretr
if reducible then
bare, baretr = com.dereduce_stem(short_stem, short_stemtr, rfind(short_accent, "^b"))
if not bare then
error("Unable to dereduce stem: " .. short_stem)
end
bare, baretr = add_bare_suffix(bare, baretr, old, decl, true)
else
bare, baretr = short_stem, short_stemtr
if sc1 then
if not rfind(bare, "нн$") then
error("With special case 1, stem needs to end in -нн: " .. bare)
end
bare = rsub(bare, "нн$", "н")
if baretr then
if not rfind(baretr, "nn$") then
error("With special case 1, stem translit needs to end in -nn: " .. baretr)
end
baretr = rsub(baretr, "nn$", "n")
end
end
-- With special case 1 or 2, we don't ever want -ь added, so treat
-- it like a reducible (that may be why these are marked as
-- reducible in Zaliznyak).
bare, baretr = add_bare_suffix(bare, baretr, old, decl, sc1 or sc2)
end
args.short_stem, args.short_stemtr = short_stem, short_stemtr
args.short_ustem, args.short_ustemtr = com.make_unstressed_once(short_stem, short_stemtr)
args.bare, args.baretr = bare, baretr
return short_accent, short_decl
end
--------------------------------------------------------------------------
-- Declensions --
--------------------------------------------------------------------------
declensions["ый"] = {
["nom_m"] = "ый",
["nom_n"] = "ое",
["nom_f"] = "ая",
["nom_p"] = "ые",
["gen_m"] = "ого",
["gen_f"] = "ой",
["gen_p"] = "ых",
["dat_m"] = "ому",
["dat_f"] = "ой",
["dat_p"] = "ым",
["acc_f"] = "ую",
["acc_n"] = "ое",
["ins_m"] = "ым",
["ins_f"] = {"ой", "ою"},
["ins_p"] = "ыми",
["pre_m"] = "ом",
["pre_f"] = "ой",
["pre_p"] = "ых",
}
declensions["ий"] = {
["nom_m"] = "ий",
["nom_n"] = "ее",
["nom_f"] = "яя",
["nom_p"] = "ие",
["gen_m"] = "его",
["gen_f"] = "ей",
["gen_p"] = "их",
["dat_m"] = "ему",
["dat_f"] = "ей",
["dat_p"] = "им",
["acc_f"] = "юю",
["acc_n"] = "ее",
["ins_m"] = "им",
["ins_f"] = {"ей", "ею"},
["ins_p"] = "ими",
["pre_m"] = "ем",
["pre_f"] = "ей",
["pre_p"] = "их",
}
declensions["ой"] = {
["nom_m"] = "о́й",
["nom_n"] = "о́е",
["nom_f"] = "а́я",
["nom_p"] = "ы́е",
["gen_m"] = "о́го",
["gen_f"] = "о́й",
["gen_p"] = "ы́х",
["dat_m"] = "о́му",
["dat_f"] = "о́й",
["dat_p"] = "ы́м",
["acc_f"] = "у́ю",
["acc_n"] = "о́е",
["ins_m"] = "ы́м",
["ins_f"] = {"о́й", "о́ю"},
["ins_p"] = "ы́ми",
["pre_m"] = "о́м",
["pre_f"] = "о́й",
["pre_p"] = "ы́х",
}
-- These can be stressed in ничья́ "draw, tie (in sports)".
declensions["ьий"] = {
["nom_m"] = "и́й",
["nom_n"] = "ье́",
["nom_f"] = "ья́",
["nom_p"] = "ьи́",
["gen_m"] = "ье́го",
["gen_f"] = "ье́й",
["gen_p"] = "ьи́х",
["dat_m"] = "ье́му",
["dat_f"] = "ье́й",
["dat_p"] = "ьи́м",
["acc_f"] = "ью́",
["acc_n"] = "ье́",
["ins_m"] = "ьи́м",
["ins_f"] = {"ье́й", "ье́ю"},
["ins_p"] = "ьи́ми",
["pre_m"] = "ье́м",
["pre_f"] = "ье́й",
["pre_p"] = "ьи́х",
}
declensions["ьей"] = {
["nom_m"] = "е́й",
["nom_n"] = "ьё",
["nom_f"] = "ья́",
["nom_p"] = "ьи́",
["gen_m"] = "ьего́",
["gen_f"] = "ье́й",
["gen_p"] = "ьи́х",
["dat_m"] = "ьему́",
["dat_f"] = "ье́й",
["dat_p"] = "ьи́м",
["acc_f"] = "ью́",
["acc_n"] = "ьё",
["ins_m"] = "ьи́м",
["ins_f"] = {"ье́й", "ье́ю"},
["ins_p"] = "ьи́ми",
["pre_m"] = "ьём",
["pre_f"] = "ье́й",
["pre_p"] = "ьи́х",
}
declensions["short"] = {
["nom_m"] = "",
["nom_n"] = "о́",
["nom_f"] = "а́",
["nom_p"] = "ы́",
["gen_m"] = "а́",
["gen_f"] = "о́й",
["gen_p"] = "ы́х",
["dat_m"] = "у́",
["dat_f"] = "о́й",
["dat_p"] = "ы́м",
["acc_f"] = "у́",
["acc_n"] = "о́",
["ins_m"] = "ы́м",
["ins_f"] = {"о́й", "о́ю"},
["ins_p"] = "ы́ми",
["pre_m"] = "о́м",
["pre_f"] = "о́й",
["pre_p"] = "ы́х",
}
declensions["stressed-short"] = mw.clone(declensions["short"])
declensions["stressed-short"]["pre_m"] = "е́"
declensions["й-short"] = {
["nom_m"] = "й",
["nom_n"] = "ё",
["nom_f"] = "я́",
["nom_p"] = "и́",
["gen_m"] = "его́",
["gen_f"] = "е́й",
["gen_p"] = "и́х",
["dat_m"] = "ему́",
["dat_f"] = "е́й",
["dat_p"] = "и́м",
["acc_f"] = "ю́",
["acc_n"] = "ё",
["ins_m"] = "и́м",
["ins_f"] = {"е́й", "е́ю"},
["ins_p"] = "и́ми",
["pre_m"] = "ём",
["pre_f"] = "е́й",
["pre_p"] = "и́х",
}
declensions["mixed"] = {
["nom_m"] = "",
["nom_n"] = "о",
["nom_f"] = "а",
["nom_p"] = "ы",
["gen_m"] = {"ого", "а2"},
["gen_f"] = "ой",
["gen_p"] = "ых",
["dat_m"] = {"ому", "у2"},
["dat_f"] = "ой",
["dat_p"] = "ым",
["acc_f"] = "у",
["acc_n"] = "о",
["ins_m"] = "ым",
["ins_f"] = {"ой", "ою"},
["ins_p"] = "ыми",
["pre_m"] = "ом",
["pre_f"] = "ой",
["pre_p"] = "ых",
}
internal_notes_table["mixed"] = "<sup>2</sup> 已棄用。"
internal_notes_genders["mixed"] = {"m"}
internal_notes_table_old["mixed"] = "<sup>2</sup> 已棄用。"
internal_notes_genders_old["mixed"] = {"m"}
declensions["proper"] = {
["nom_m"] = "",
["nom_n"] = nil,
["nom_f"] = "а́",
["nom_p"] = "ы́",
["gen_m"] = "а́",
["gen_f"] = "о́й",
["gen_p"] = "ы́х",
["dat_m"] = "у́",
["dat_f"] = "о́й",
["dat_p"] = "ы́м",
["acc_f"] = "у́",
["acc_n"] = nil,
["ins_m"] = "ы́м",
["ins_f"] = {"о́й", "о́ю1"},
["ins_p"] = "ы́ми",
["pre_m"] = "е́",
["pre_f"] = "о́й",
["pre_p"] = "ы́х",
}
declensions["stressed-proper"] = declensions["proper"]
for _, decl in ipairs({"proper", "stressed-proper"}) do
internal_notes_table[decl] = "<sup>1</sup> 罕用。"
internal_notes_table_old[decl] = "<sup>1</sup> 罕用。"
internal_notes_genders[decl] = {"f"}
internal_notes_genders_old[decl] = {"f"}
end
declensions["$"] = {
["nom_m"] = "",
["nom_n"] = "",
["nom_f"] = "",
["nom_p"] = "",
["gen_m"] = "",
["gen_f"] = "",
["gen_p"] = "",
["dat_m"] = "",
["dat_f"] = "",
["dat_p"] = "",
["acc_f"] = "",
-- don't do this; instead we default it to nom_n
-- ["acc_n"] = "",
["ins_m"] = "",
["ins_f"] = "",
["ins_p"] = "",
["pre_m"] = "",
["pre_f"] = "",
["pre_p"] = "",
-- for old-style templates, два, оба, compounds of два
["nom_mp"] = "",
["nom_fp"] = "",
["gen_mp"] = "",
["gen_fp"] = "",
["dat_mp"] = "",
["dat_fp"] = "",
-- don't do this; instead we default them to nom_mp, nom_fp
-- ["acc_mp"] = "",
-- ["acc_fp"] = "",
["ins_mp"] = "",
["ins_fp"] = "",
["pre_mp"] = "",
["pre_fp"] = "",
}
declensions_old["ый"] = {
["nom_m"] = "ый",
["nom_n"] = "ое",
["nom_f"] = "ая",
["nom_mp"] = "ые",
["nom_p"] = "ыя",
["gen_m"] = "аго",
["gen_f"] = "ой",
["gen_p"] = "ыхъ",
["dat_m"] = "ому",
["dat_f"] = "ой",
["dat_p"] = "ымъ",
["acc_f"] = "ую",
["acc_n"] = "ое",
["ins_m"] = "ымъ",
["ins_f"] = {"ой", "ою"},
["ins_p"] = "ыми",
["pre_m"] = "омъ",
["pre_f"] = "ой",
["pre_p"] = "ыхъ",
}
declensions_old["ій"] = {
["nom_m"] = "ій",
["nom_n"] = "ее",
["nom_f"] = "яя",
["nom_mp"] = "іе",
["nom_p"] = "ія",
["gen_m"] = "яго",
["gen_f"] = "ей",
["gen_p"] = "ихъ",
["dat_m"] = "ему",
["dat_f"] = "ей",
["dat_p"] = "имъ",
["acc_f"] = "юю",
["acc_n"] = "ее",
["ins_m"] = "имъ",
["ins_f"] = {"ей", "ею"},
["ins_p"] = "ими",
["pre_m"] = "емъ",
["pre_f"] = "ей",
["pre_p"] = "ихъ",
}
declensions_old["ой"] = {
["nom_m"] = "о́й",
["nom_n"] = "о́е",
["nom_f"] = "а́я",
["nom_mp"] = "ы́е",
["nom_p"] = "ы́я",
["gen_m"] = {"а́го", "о́го"},
["gen_f"] = "о́й",
["gen_p"] = "ы́хъ",
["dat_m"] = "о́му",
["dat_f"] = "о́й",
["dat_p"] = "ы́мъ",
["acc_f"] = "у́ю",
["acc_n"] = "о́е",
["ins_m"] = "ы́мъ",
["ins_f"] = {"о́й", "о́ю"},
["ins_p"] = "ы́ми",
["pre_m"] = "о́мъ",
["pre_f"] = "о́й",
["pre_p"] = "ы́хъ",
}
declensions_old["ьій"] = {
["nom_m"] = "ій",
["nom_n"] = "ье",
["nom_f"] = "ья",
["nom_p"] = "ьи",
["gen_m"] = "ьяго",
["gen_f"] = "ьей",
["gen_p"] = "ьихъ",
["dat_m"] = "ьему",
["dat_f"] = "ьей",
["dat_p"] = "ьимъ",
["acc_f"] = "ью",
["acc_n"] = "ье",
["ins_m"] = "ьимъ",
["ins_f"] = {"ьей", "ьею"},
["ins_p"] = "ьими",
["pre_m"] = "ьемъ",
["pre_f"] = "ьей",
["pre_p"] = "ьихъ",
}
declensions_old["ьей"] = {
["nom_m"] = "е́й",
["nom_n"] = "ьё",
["nom_f"] = "ья́",
["nom_p"] = "ьи́",
["gen_m"] = "ьего́",
["gen_f"] = "ье́й",
["gen_p"] = "ьи́хъ",
["dat_m"] = "ьему́",
["dat_f"] = "ье́й",
["dat_p"] = "ьи́мъ",
["acc_f"] = "ью́",
["acc_n"] = "ьё",
["ins_m"] = "ьи́мъ",
["ins_f"] = {"ье́й", "ье́ю"},
["ins_p"] = "ьи́ми",
["pre_m"] = "ьёмъ",
["pre_f"] = "ье́й",
["pre_p"] = "ьи́хъ",
}
declensions_old["short"] = {
["nom_m"] = "ъ",
["nom_n"] = "о",
["nom_f"] = "а",
["nom_p"] = "ы",
["gen_m"] = "а",
["gen_f"] = "ой",
["gen_p"] = "ыхъ",
["dat_m"] = "у",
["dat_f"] = "ой",
["dat_p"] = "ымъ",
["acc_f"] = "у",
["acc_n"] = "о",
["ins_m"] = "ымъ",
["ins_f"] = {"ой", "ою"},
["ins_p"] = "ыми",
["pre_m"] = "омъ",
["pre_f"] = "ой",
["pre_p"] = "ыхъ",
}
declensions_old["stressed-short"] = mw.clone(declensions_old["short"])
declensions_old["stressed-short"]["pre_m"] = "ѣ́"
declensions_old["й-short"] = {
["nom_m"] = "й",
["nom_n"] = "ё",
["nom_f"] = "я́",
["nom_p"] = "и́",
["gen_m"] = "его́",
["gen_f"] = {"е́й", "ея́"},
["gen_p"] = "и́хъ",
["dat_m"] = "ему́",
["dat_f"] = "е́й",
["dat_p"] = "и́мъ",
["acc_f"] = "ю́",
["acc_n"] = "ё",
["ins_m"] = "и́мъ",
["ins_f"] = {"е́й", "е́ю"},
["ins_p"] = "и́ми",
["pre_m"] = "ёмъ",
["pre_f"] = "е́й",
["pre_p"] = "и́хъ",
}
declensions_old["mixed"] = {
["nom_m"] = "ъ",
["nom_n"] = "о",
["nom_f"] = "а",
["nom_p"] = "ы",
["gen_m"] = {"аго", "а1"},
["gen_f"] = "ой",
["gen_p"] = "ыхъ",
["dat_m"] = {"ому", "у1"},
["dat_f"] = "ой",
["dat_p"] = "ымъ",
["acc_f"] = "у",
["acc_n"] = "о",
["ins_m"] = "ымъ",
["ins_f"] = {"ой", "ою"},
["ins_p"] = "ыми",
["pre_m"] = "омъ",
["pre_f"] = "ой",
["pre_p"] = "ыхъ",
}
declensions_old["proper"] = {
["nom_m"] = "ъ",
["nom_n"] = nil,
["nom_f"] = "а́",
["nom_p"] = "ы́",
["gen_m"] = "а́",
["gen_f"] = "о́й",
["gen_p"] = "ы́хъ",
["dat_m"] = "у́",
["dat_f"] = "о́й",
["dat_p"] = "ы́мъ",
["acc_f"] = "у́",
["acc_n"] = nil,
["ins_m"] = "ы́мъ",
["ins_f"] = {"о́й", "о́ю1"},
["ins_p"] = "ы́ми",
["pre_m"] = "ѣ́",
["pre_f"] = "о́й",
["pre_p"] = "ы́хъ",
}
declensions_old["stressed-proper"] = declensions_old["proper"]
declensions_old["$"] = declensions["$"]
local function frob_genitive_masc(decl)
-- signal to combine_stem_and_suffix() to use the special tr_adj()
-- function so that -го gets transliterated to -vo
if type(decl["gen_m"]) == "table" then
local entries = {}
for _, entry in ipairs(decl["gen_m"]) do
table.insert(entries, rsub(entry, "го$", "го<adj>"))
end
decl["gen_m"] = entries
else
decl["gen_m"] = rsub(decl["gen_m"], "го$", "го<adj>")
end
end
-- Frob declensions, adding <adj> to gen_m forms ending in -го. This is
-- a signal to add manual translit early on that renders -го as -vo.
for _, decl in pairs(declensions_old) do
frob_genitive_masc(decl)
end
for _, decl in pairs(declensions) do
frob_genitive_masc(decl)
end
--------------------------------------------------------------------------
-- Declension functions --
--------------------------------------------------------------------------
local function attach_unstressed(args, suf, short)
local stem, stemtr
if short then
stem, stemtr = args.short_stem, args.short_stemtr
else
stem, stemtr = args.stem, args.stemtr
end
if suf == nil then
return nil
elseif nom.nonsyllabic_suffixes[suf] then
if not args.bare then
return nil
elseif rfind(args.bare, "[йьъ]$") then
return {args.bare, args.baretr}
elseif suf == "ъ" then
return com.concat_russian_tr(args.bare, args.baretr, suf, nil, "dopair")
else
return {args.bare, args.baretr}
end
end
suf = com.make_unstressed(suf)
local rules = nom.unstressed_rules[ulower(usub(stem, -1))]
-- The parens around the return value drop all but the first return value
return (nom.combine_stem_and_suffix(stem, stemtr, suf, rules, args.old))
end
local function attach_stressed(args, suf, short)
local ustem, ustemtr
if short then
ustem, ustemtr = args.short_ustem, args.short_ustemtr
else
ustem, ustemtr = args.ustem, args.ustemtr
end
if suf == nil then
return nil
elseif not rfind(suf, "[ё́]") then -- if suf has no "ё" or accent marks
return attach_unstressed(args, suf, short)
end
local rules = nom.stressed_rules[ulower(usub(ustem, -1))]
-- The parens around the return value drop all but the first return value
return (nom.combine_stem_and_suffix(ustem, ustemtr, suf, rules, args.old))
end
local function attach_both(args, suf, short)
local results = {}
-- Examples with stems with ё on Zaliznyak p. 61 list the
-- ending-stressed forms first, so go with that.
-- NOTE: This assumes we get one value returned, not a list of such values.
table.insert(results, attach_stressed(args, suf, short))
table.insert(results, attach_unstressed(args, suf, short))
return results
end
local function attach_with(args, suf, fun, short)
if type(suf) == "table" then
local all_combineds = {}
for _, x in ipairs(suf) do
local combineds = attach_with(args, x, fun, short)
for _, combined in ipairs(combineds) do
table.insert(all_combineds, combined)
end
end
return all_combineds
else
local funval = fun(args, suf, short)
if funval then
local tbl = {}
assert(type(funval) == "table")
if type(funval[1]) ~= "table" then
funval = {funval}
end
for _, x in ipairs(funval) do
table.insert(tbl,
com.concat_paired_russian_tr(x, args.real_suffix))
end
return tbl
else
return {}
end
end
end
local function gen_form(args, decl, case, fun)
if not args.forms[case] then
args.forms[case] = {}
end
insert_forms_into_existing_forms(args.forms[case],
attach_with(args, decl[case], fun, false))
end
decline = function(args, decl, stressed)
local attacher = stressed and attach_stressed or attach_unstressed
for _, case in ipairs(long_cases) do
gen_form(args, decl, case, attacher)
end
end
canonicalize_override = function(args, case)
local val = args[case]
if not val then
return nil
end
val = rsplit(val, "%s*,%s*")
-- auto-accent/check for necessary accents
local newvals = {}
for _, v in ipairs(val) do
local ru, tr = com.split_russian_tr(v)
if not args.allow_unaccented then
if tr and com.is_unstressed(ru) ~= com.is_unstressed(tr) then
error("Override " .. ru .. " and translit " .. tr .. " must have same accent pattern")
end
-- it's safe to accent monosyllabic stems
if com.is_monosyllabic(ru) then
ru, tr = com.make_ending_stressed(ru, tr)
elseif com.needs_accents(ru) then
error("Override " .. ru .. " for case " .. case .. " requires an accent")
end
end
table.insert(newvals, {ru, tr})
end
val = newvals
return val
end
handle_forms_and_overrides = function(args, short_forms_allowed)
local f = args.forms
local function append_note_all(case, value)
value = com.split_russian_tr(value, "dopair")
if f[case] then
for i=1,#f[case] do
f[case][i] = com.concat_paired_russian_tr(f[case][i], value)
end
end
end
local function append_note_last(case, value, gt_one)
value = com.split_russian_tr(value, "dopair")
if f[case] then
local lastarg = #f[case]
if lastarg > (gt_one and 1 or 0) then
f[case][lastarg] = com.concat_paired_russian_tr(f[case][lastarg], value)
end
end
end
for _, case in ipairs(long_cases) do
if args[case .. "_tail"] then
append_note_last(case, args[case .. "_tail"])
end
if args[case .. "_tailall"] then
append_note_all(case, args[case .. "_tailall"])
end
args[case] = canonicalize_override(args, case) or f[case]
end
for _, case in ipairs(short_cases) do
if short_forms_allowed then
if args[case .. "_tail"] then
append_note_last(case, args[case .. "_tail"])
end
if args[case .. "_tailall"] then
append_note_all(case, args[case .. "_tailall"])
end
if args.shorttailall then
append_note_all(case, args.shorttailall)
end
if args.shorttail then
append_note_last(case, args.shorttail, ">1")
end
args[case] = canonicalize_override(args, case) or f[case]
else
args[case] = nil
end
end
-- Convert an empty list to nil, so that an mdash is inserted. This happens,
-- for example, with words like голубой where args.bare is set to nil.
for _, case in ipairs(all_cases) do
if args[case] and #args[case] == 0 then
args[case] = nil
end
end
-- default acc_n to nom_n; applies chiefly in the indeclinable declension
-- (used with manual declension tables)
if not args.acc_n then
args.acc_n = args.nom_n
end
-- default inanimate/animate accusative variants as appropriate; this is
-- almost always correct, but not with e.g. два́дцать оди́н, where the
-- masculine animate accusative два́дцать одного́ differs from both the
-- masculine nominative два́дцать оди́н and the masculine genitive
-- двадцати́ одного́.
if not args.acc_m_an then
args.acc_m_an = args.gen_m
end
if not args.acc_m_in then
args.acc_m_in = args.nom_m
end
-- Compounds of два do not have animacy; everything else does.
-- Only copy either the with-animacy or without-animacy variants to avoid
-- having both forms in {{ru-generate-adj-forms}}.
if args.special ~= "cdva" then
if not args.acc_p_an then
args.acc_p_an = args.gen_p
end
if not args.acc_p_in then
args.acc_p_in = args.nom_p
end
if not args.acc_mp_an then
args.acc_mp_an = args.gen_mp
end
if not args.acc_mp_in then
args.acc_mp_in = args.nom_mp
end
if not args.acc_fp_an then
args.acc_fp_an = args.gen_fp
end
if not args.acc_fp_in then
args.acc_fp_in = args.nom_fp
end
else
if not args.acc_mp then
args.acc_mp = args.nom_mp
end
if not args.acc_fp then
args.acc_fp = args.nom_fp
end
end
end
--------------------------------------------------------------------------
-- Short adjective declension --
--------------------------------------------------------------------------
short_declensions["ый"] = { m="", f="а́", n="о́", p="ы́" }
short_declensions["ой"] = short_declensions["ый"]
short_declensions["ий"] = { m="ь", f="я́", n="е́", p="и́" }
short_declensions_old["ый"] = { m="ъ", f="а́", n="о́", p="ы́" }
short_declensions_old["ой"] = short_declensions_old["ый"]
short_declensions_old["ій"] = short_declensions["ий"]
-- Short adjective stress patterns:
-- "-" = stem-stressed
-- "+" = ending-stressed (drawn onto the last syllable of stem in masculine)
-- "-+" = both possibilities
short_stress_patterns["a"] = { m="-", f="-", n="-", p="-" }
short_stress_patterns["a'"] = { m="-", f="-+", n="-", p="-" }
short_stress_patterns["b"] = { m="+", f="+", n="+", p="+" }
short_stress_patterns["b'"] = { m="+", f="+", n="+", p="-+" }
short_stress_patterns["c"] = { m="-", f="+", n="-", p="-" }
short_stress_patterns["c'"] = { m="-", f="+", n="-", p="-+" }
short_stress_patterns["c''"] = { m="-", f="+", n="-+", p="-+" }
local function gen_short_form(args, decl, case, fun, datedrare)
if not args.forms["short_" .. case] then
args.forms["short_" .. case] = {}
end
local inserted = insert_forms_into_existing_forms(
args.forms["short_" .. case], attach_with(args, decl[case], fun, true),
(datedrare == "dated" and datedrare == "rare") and "*" or nil)
if datedrare == "dated" and inserted then
m_table.insertIfNot(args.internal_notes, "<sup>*</sup> 過時。")
elseif datedrare == "rare" and inserted then
m_table.insertIfNot(args.internal_notes, "<sup>*</sup> 罕用。")
end
end
local attachers = {
["+"] = attach_stressed,
["-"] = attach_unstressed,
["-+"] = attach_both,
}
decline_short = function(args, decl, stress_pattern, dated)
if stress_pattern then
for _, case in ipairs({"m", "f", "n", "p"}) do
gen_short_form(args, decl, case, attachers[stress_pattern[case]],
dated)
end
end
end
--------------------------------------------------------------------------
-- Create the table --
--------------------------------------------------------------------------
local title_temp = [=[<b lang="ru" class="Cyrl">{lemma}</b>的變格 ({short_class_title})]=]
local old_title_temp = [=[拼寫改革前<b lang="ru" class="Cyrl">{lemma}</b>的變格 ({short_class_title})]=]
local title_temp_no_short_msg = [=[<b lang="ru" class="Cyrl">{lemma}</b>的變格]=]
local old_title_temp_no_short_msg = [=[拼寫改革前<b lang="ru" class="Cyrl">{lemma}</b>的變格]=]
local template = nil
local full_clause = nil
local template_no_neuter = nil
local full_clause_no_neuter = nil
local surname_full_clause = nil
local template_mp = nil
local full_clause_mp = nil
local template_mp_no_neuter = nil
local full_clause_mp_no_neuter = nil
local surname_full_clause_mp = nil
local template_dva = nil
local full_clause_dva = nil
local full_clause_compound_dva = nil
local template_oba = nil
local full_clause_oba = nil
local short_clause_separator = nil
local short_clause = nil
local short_clause_no_neuter_separator = nil
local short_clause_no_neuter = nil
local short_clause_mp_separator = nil
local short_clause_mp = nil
local short_clause_mp_no_neuter_separator = nil
local short_clause_mp_no_neuter = nil
local internal_notes_template = nil
local notes_template = nil
local function get_accel_forms(old, special, has_nom_mp)
return {
-- used with all variants
nom_m = "nom|m|s",
nom_f = "nom|f|s",
nom_n = "nom|n|s",
-- not used with special; applies to all genders normally but only
-- feminine and neuter with old=1
nom_p = old and has_nom_mp and "nom|f//n|p" or "nom|p",
-- only used with old=1 or special; applies to the masculine and neuter if
-- special, but only masculine if old=1
nom_mp = special and "nom|m//n|p" or "nom|m|p",
-- only used with special
nom_fp = "nom|f|p",
-- the remaining singulars and non-gendered plurals used with all variants
-- except special == "oba"
gen_m = "gen|m//n|s",
gen_f = "gen|f|s",
gen_p = "gen|p",
dat_m = "dat|m//n|s",
dat_f = "dat|f|s",
dat_p = "dat|p",
acc_m_an = "an|acc|m|s",
acc_m_in = "in|acc|m|s",
acc_f = "acc|f|s",
acc_n = "acc|n|s",
-- the following two not used with special in ("dva", "oba"); applies to
-- all genders normally but only feminine and neuter with old=1
acc_p_an = old and has_nom_mp and "an|acc|f//n|p" or "an|acc|p",
acc_p_in = old and has_nom_mp and "in|acc|f//n|p" or "in|acc|p",
-- the following two only used with old=1 or special in ("dva|oba");
-- applies to the masculine and neuter if special, but only masculine if
-- old=1
acc_mp_an = special and "an|acc|m//n|p" or "an|acc|m|p",
acc_mp_in = special and "in|acc|m//n|p" or "in|acc|m|p",
-- the following two only used with special in ("dva", "oba")
acc_fp_an = "an|acc|f|p",
acc_fp_in = "in|acc|f|p",
-- the next 6 are used with all variants except special == "oba"
ins_m = "ins|m//n|s",
ins_f = "ins|f|s",
ins_p = "ins|p",
pre_m = "pre|m//n|s",
pre_f = "pre|f|s",
pre_p = "pre|p",
-- the following two gendered plurals are only used with special == "cdva"
acc_mp = "acc|m//n|p",
acc_fp = "acc|f|p",
-- the remaining gendered plurals are only used with special == "oba"
gen_mp = "gen|m//n|p",
gen_fp = "gen|f|p",
dat_mp = "dat|m//n|p",
dat_fp = "dat|f|p",
ins_mp = "ins|m//n|p",
ins_fp = "ins|f|p",
pre_mp = "pre|m//n|p",
pre_fp = "pre|f|p",
-- short forms
short_m = "short|m|s",
short_f = "short|f|s",
short_n = "short|n|s",
short_p = "short|p",
}
end
-- Make the table
make_table = function(args)
local lemma_forms = args.special and args.nom_mp or
args.nofull and args.short_m or args.nom_m
args.lemma = m_links.remove_links(nom.show_form(lemma_forms, true, nil, nil))
args.title = args.title or strutils.format(
(args.special or args.manual) and args.old and old_title_temp_no_short_msg or
(args.special or args.manual) and title_temp_no_short_msg or
args.old and old_title_temp or
title_temp,
args)
local has_nom_mp = args.nom_mp and not (#args.nom_mp == 1 and args.nom_mp[1][1] == "-")
local accel_forms = get_accel_forms(args.old, args.special, has_nom_mp)
for _, case in ipairs(all_cases) do
if args[case] then
local accel_form = accel_forms[case]
if not accel_form then
error("Internal error: Unrecognized case " .. case .. " when looking up accelerator form")
end
if args.noneuter or args.real_surname then
accel_form = rsub(accel_form, "//n", "")
end
if args.real_surname then
accel_form = rsub(accel_form, "an|", "")
end
args[case] = nom.show_form(args[case], false, accel_form, lemma_forms)
else
args[case] = nil
end
end
local temp, fullc
if args.special == "oba" then
temp = template_oba
fullc = full_clause_oba
elseif args.special == "dva" then
temp = template_dva
fullc = full_clause_dva
elseif args.special == "cdva" then
temp = template_dva -- no template_cdva
fullc = full_clause_compound_dva
elseif args.real_surname and args.old and has_nom_mp then
temp = template_mp_no_neuter
fullc = surname_full_clause_mp
elseif args.real_surname then
temp = template_no_neuter
fullc = surname_full_clause
elseif args.noneuter and args.old and has_nom_mp then
temp = template_mp_no_neuter
fullc = full_clause_mp_no_neuter
elseif args.noneuter then
temp = template_no_neuter
fullc = full_clause_no_neuter
elseif args.old and has_nom_mp then
temp = template_mp
fullc = full_clause_mp
else
temp = template
fullc = full_clause
end
if args.old then
if has_nom_mp then
if args.short_m or args.short_n or args.short_f or args.short_p then
args.short_m = args.short_m or "—"
args.short_n = args.short_n or "—"
args.short_f = args.short_f or "—"
args.short_p = args.short_p or "—"
args.shortsep = not args.nofull and (
args.noneuter and short_clause_mp_no_neuter_separator or short_clause_mp_separator
) or ""
args.short_clause = strutils.format(args.noneuter and short_clause_mp_no_neuter or short_clause_mp, args)
else
args.short_clause = ""
end
else
args.short_clause = ""
end
else
if args.short_m or args.short_n or args.short_f or args.short_p then
args.short_m = args.short_m or "—"
args.short_n = args.short_n or "—"
args.short_f = args.short_f or "—"
args.short_p = args.short_p or "—"
args.shortsep = not args.nofull and (
args.noneuter and short_clause_no_neuter_separator or short_clause_separator
) or ""
args.short_clause = strutils.format(args.noneuter and short_clause_no_neuter or short_clause, args)
else
args.short_clause = ""
end
end
if not args.nofull then
args.full_clause = strutils.format(fullc, args)
else
args.full_clause = ""
end
args.internal_notes = table.concat(args.internal_notes, "<br />")
args.internal_notes_clause = #args.internal_notes > 0 and strutils.format(internal_notes_template, args) or ""
args.notes_clause = args.notes and strutils.format(notes_template, args) or ""
return strutils.format(temp, args)
end
-- Used for new-style templates
short_clause_separator = [===[
! style="height:0.2em;background:var(--wikt-palette-lightblue)" colspan=6 |
|-
]===]
-- Used for new-style templates
short_clause = [===[
{shortsep}! style="background:var(--wikt-palette-lighterblue)" colspan=2 | 短尾
| data-accel-col=1 | {short_m}
| data-accel-col=3 | {short_n}
| data-accel-col=2 | {short_f}
| data-accel-col=4 | {short_p}]===]
-- Used for new-style templates
short_clause_no_neuter_separator = [===[
! style="height:0.2em;background:var(--wikt-palette-lightblue)" colspan=5 |
|-
]===]
-- Used for new-style templates
short_clause_no_neuter = [===[
{shortsep}! style="background:var(--wikt-palette-lighterblue)" colspan=2 | 短尾
| data-accel-col=1 | {short_m}
| data-accel-col=2 | {short_f}
| data-accel-col=4 | {short_p}]===]
-- Used for old-style templates
short_clause_mp_separator = [===[
! style="height:0.2em;background:var(--wikt-palette-lightblue)" colspan=7 |
|-
]===]
-- Used for old-style templates
short_clause_mp = [===[
{shortsep}! style="background:var(--wikt-palette-lighterblue)" colspan=2 | 短尾
| data-accel-col=1 | {short_m}
| data-accel-col=3 | {short_n}
| data-accel-col=2 | {short_f}
| data-accel-col=4 colspan=2 | {short_p}]===]
-- Used for old-style templates
short_clause_mp_no_neuter_separator = [===[
! style="height:0.2em;background:var(--wikt-palette-lightblue)" colspan=6 |
|-
]===]
-- Used for old-style templates
short_clause_mp_no_neuter = [===[
{shortsep}! style="background:var(--wikt-palette-lighterblue)" colspan=2 | 短尾
| data-accel-col=1 | {short_m}
| data-accel-col=2 | {short_f}
| data-accel-col=4 colspan=2 | {short_p}]===]
-- Used for both new-style and old-style templates
notes_template = [===[
<div style="width:100%;text-align:left">
<div style="display:inline-block;text-align:left;padding-left:1em;padding-right:1em">
{notes}
</div></div>
]===]
-- Used for both new-style and old-style templates
internal_notes_template = rsub(notes_template, "notes", "internal_notes")
local function template_prelude(min_width)
min_width = min_width or "70"
return rsub([===[
<div>
<div class="NavFrame">
<div class="NavHead" style="background:var(--wikt-palette-lighterblue)">{title}</div>
<div class="NavContent">
{\op}| style="background:var(--wikt-palette-paleblue);text-align:center" class="inflection-table"
|-
]===], "MINWIDTH", min_width)
end
local function template_postlude()
-- l10n: The space after "|-" is required. On zhwikt, format() in [[Module:string utilities]] leaves "-{" alone
-- because it is LanguageConverter markup, so "{short_clause}" would not be substituted if it directly followed "|-".
return [===[{full_clause}|- {short_clause}
|{\cl}{internal_notes_clause}{notes_clause}</div></div></div>]===]
end
-- Used for both new-style and old-style templates
template = template_prelude() .. [===[
! style="width:20%;background:var(--wikt-palette-lightblue)" colspan=2 |
! style="background:var(--wikt-palette-lightblue)" | 陽性
! style="background:var(--wikt-palette-lightblue)" | 中性
! style="background:var(--wikt-palette-lightblue)" | 陰性
! style="background:var(--wikt-palette-lightblue)" | 複數
]===] .. template_postlude()
-- Used for both new-style and old-style templates
full_clause = [===[
|-
! style="background:var(--wikt-palette-lighterblue)" colspan=2 | 主格
| data-accel-col=1 | {nom_m}
| data-accel-col=3 | {nom_n}
| data-accel-col=2 | {nom_f}
| data-accel-col=4 | {nom_p}
|-
! style="background:var(--wikt-palette-lighterblue)" colspan=2 | 屬格
| data-accel-col=1 colspan=2 | {gen_m}
| data-accel-col=2 | {gen_f}
| data-accel-col=4 | {gen_p}
|-
! style="background:var(--wikt-palette-lighterblue)" colspan=2 | 與格
| data-accel-col=1 colspan=2 | {dat_m}
| data-accel-col=2 | {dat_f}
| data-accel-col=4 | {dat_p}
|-
! style="background:var(--wikt-palette-lighterblue)" rowspan=2 | 賓格
! style="background:var(--wikt-palette-lighterblue)" | 有生
| data-accel-col=1 | {acc_m_an}
| data-accel-col=3 rowspan=2 | {acc_n}
| data-accel-col=2 rowspan=2 | {acc_f}
| data-accel-col=4 | {acc_p_an}
|-
! style="background:var(--wikt-palette-lighterblue)" | 無生
| data-accel-col=1 | {acc_m_in}
| data-accel-col=4 | {acc_p_in}
|-
! style="background:var(--wikt-palette-lighterblue)" colspan=2 | 工具格
| data-accel-col=1 colspan=2 | {ins_m}
| data-accel-col=2 | {ins_f}
| data-accel-col=4 | {ins_p}
|-
! style="background:var(--wikt-palette-lighterblue)" colspan=2 | 前置格
| data-accel-col=1 colspan=2 | {pre_m}
| data-accel-col=2 | {pre_f}
| data-accel-col=4 | {pre_p}
]===]
-- Used for both new-style and old-style templates
template_no_neuter = template_prelude("55") .. [===[
! style="width:20%;background:var(--wikt-palette-lightblue)" colspan=2 |
! style="background:var(--wikt-palette-lightblue)" | 陽性
! style="background:var(--wikt-palette-lightblue)" | 陰性
! style="background:var(--wikt-palette-lightblue)" | 複數
]===] .. template_postlude()
-- Used for both new-style and old-style templates
full_clause_no_neuter = [===[
|-
! style="background:var(--wikt-palette-lighterblue)" colspan=2 | 主格
| data-accel-col=1 | {nom_m}
| data-accel-col=2 | {nom_f}
| data-accel-col=4 | {nom_p}
|-
! style="background:var(--wikt-palette-lighterblue)" colspan=2 | 屬格
| data-accel-col=1 | {gen_m}
| data-accel-col=2 | {gen_f}
| data-accel-col=4 | {gen_p}
|-
! style="background:var(--wikt-palette-lighterblue)" colspan=2 | 與格
| data-accel-col=1 | {dat_m}
| data-accel-col=2 | {dat_f}
| data-accel-col=4 | {dat_p}
|-
! style="background:var(--wikt-palette-lighterblue)" rowspan=2 | 賓格
! style="background:var(--wikt-palette-lighterblue)" | 有生
| data-accel-col=1 | {acc_m_an}
| data-accel-col=2 rowspan=2 | {acc_f}
| data-accel-col=4 | {acc_p_an}
|-
! style="background:var(--wikt-palette-lighterblue)" | 無生
| data-accel-col=1 | {acc_m_in}
| data-accel-col=4 | {acc_p_in}
|-
! style="background:var(--wikt-palette-lighterblue)" colspan=2 | 工具格
| data-accel-col=1 | {ins_m}
| data-accel-col=2 | {ins_f}
| data-accel-col=4 | {ins_p}
|-
! style="background:var(--wikt-palette-lighterblue)" colspan=2 | 前置格
| data-accel-col=1 | {pre_m}
| data-accel-col=2 | {pre_f}
| data-accel-col=4 | {pre_p}
]===]
-- Used for both new-style and old-style templates
surname_full_clause = [===[
|-
! style="background:var(--wikt-palette-lighterblue)" colspan=2 | 主格
| data-accel-col=1 | {nom_m}
| data-accel-col=2 | {nom_f}
| data-accel-col=4 | {nom_p}
|-
! style="background:var(--wikt-palette-lighterblue)" colspan=2 | 屬格
| data-accel-col=1 | {gen_m}
| data-accel-col=2 | {gen_f}
| data-accel-col=4 | {gen_p}
|-
! style="background:var(--wikt-palette-lighterblue)" colspan=2 | 與格
| data-accel-col=1 | {dat_m}
| data-accel-col=2 | {dat_f}
| data-accel-col=4 | {dat_p}
|-
! style="background:var(--wikt-palette-lighterblue)" colspan=2 | 賓格
| data-accel-col=1 | {acc_m_an}
| data-accel-col=2 | {acc_f}
| data-accel-col=4 | {acc_p_an}
|-
! style="background:var(--wikt-palette-lighterblue)" colspan=2 | 工具格
| data-accel-col=1 | {ins_m}
| data-accel-col=2 | {ins_f}
| data-accel-col=4 | {ins_p}
|-
! style="background:var(--wikt-palette-lighterblue)" colspan=2 | 前置格
| data-accel-col=1 | {pre_m}
| data-accel-col=2 | {pre_f}
| data-accel-col=4 | {pre_p}
]===]
-- Used for old-style templates
template_mp = template_prelude() .. [===[
! style="width:20%;background:var(--wikt-palette-lightblue)" colspan=2 |
! style="background:var(--wikt-palette-lightblue)" | 陽性
! style="background:var(--wikt-palette-lightblue)" | 中性
! style="background:var(--wikt-palette-lightblue)" | 陰性
! style="background:var(--wikt-palette-lightblue)" | 陽性複數
! style="background:var(--wikt-palette-lightblue)" | 中性/陰性複數
]===] .. template_postlude()
-- Used for old-style templates
full_clause_mp = [===[
|-
! style="background:var(--wikt-palette-lighterblue)" colspan=2 | 主格
| data-accel-col=1 | {nom_m}
| data-accel-col=3 | {nom_n}
| data-accel-col=2 | {nom_f}
| data-accel-col=4 | {nom_mp}
| data-accel-col=5 | {nom_p}
|-
! style="background:var(--wikt-palette-lighterblue)" colspan=2 | 屬格
| data-accel-col=1 colspan=2 | {gen_m}
| data-accel-col=2 | {gen_f}
| data-accel-col=4 colspan=2 | {gen_p}
|-
! style="background:var(--wikt-palette-lighterblue)" colspan=2 | 與格
| data-accel-col=1 colspan=2 | {dat_m}
| data-accel-col=2 | {dat_f}
| data-accel-col=4 colspan=2 | {dat_p}
|-
! style="background:var(--wikt-palette-lighterblue)" rowspan=2 | 賓格
! style="background:var(--wikt-palette-lighterblue)" | 有生
| data-accel-col=1 | {acc_m_an}
| data-accel-col=3 rowspan=2 | {acc_n}
| data-accel-col=2 rowspan=2 | {acc_f}
| data-accel-col=4 colspan=2 | {acc_p_an}
|-
! style="background:var(--wikt-palette-lighterblue)" | 無生
| data-accel-col=1 | {acc_m_in}
| data-accel-col=4 | {acc_mp_in}
| data-accel-col=5 | {acc_p_in}
|-
! style="background:var(--wikt-palette-lighterblue)" colspan=2 | 工具格
| data-accel-col=1 colspan=2 | {ins_m}
| data-accel-col=2 | {ins_f}
| data-accel-col=4 colspan=2 | {ins_p}
|-
! style="background:var(--wikt-palette-lighterblue)" colspan=2 | 前置格
| data-accel-col=1 colspan=2 | {pre_m}
| data-accel-col=2 | {pre_f}
| data-accel-col=4 colspan=2 | {pre_p}
]===]
-- Used for old-style templates
template_mp_no_neuter = template_prelude("60") .. [===[
! style="width:20%;background:var(--wikt-palette-lightblue)" colspan=2 |
! style="background:var(--wikt-palette-lightblue)" | 陽性
! style="background:var(--wikt-palette-lightblue)" | 陰性
! style="background:var(--wikt-palette-lightblue)" | 陽性複數
! style="background:var(--wikt-palette-lightblue)" | 陰性複數
]===] .. template_postlude()
-- Used for old-style templates
full_clause_mp_no_neuter = [===[
|-
! style="background:var(--wikt-palette-lighterblue)" colspan=2 | 主格
| data-accel-col=1 | {nom_m}
| data-accel-col=2 | {nom_f}
| data-accel-col=4 | {nom_mp}
| data-accel-col=5 | {nom_p}
|-
! style="background:var(--wikt-palette-lighterblue)" colspan=2 | 屬格
| data-accel-col=1 | {gen_m}
| data-accel-col=2 | {gen_f}
| data-accel-col=4 colspan=2 | {gen_p}
|-
! style="background:var(--wikt-palette-lighterblue)" colspan=2 | 與格
| data-accel-col=1 | {dat_m}
| data-accel-col=2 | {dat_f}
| data-accel-col=4 colspan=2 | {dat_p}
|-
! style="background:var(--wikt-palette-lighterblue)" rowspan=2 | 賓格
! style="background:var(--wikt-palette-lighterblue)" | 有生
| data-accel-col=1 | {acc_m_an}
| data-accel-col=2 rowspan=2 | {acc_f}
| data-accel-col=4 colspan=2 | {acc_p_an}
|-
! style="background:var(--wikt-palette-lighterblue)" | 無生
| data-accel-col=1 | {acc_m_in}
| data-accel-col=4 | {acc_mp_in}
| data-accel-col=5 | {acc_p_in}
|-
! style="background:var(--wikt-palette-lighterblue)" colspan=2 | 工具格
| data-accel-col=1 | {ins_m}
| data-accel-col=2 | {ins_f}
| data-accel-col=4 colspan=2 | {ins_p}
|-
! style="background:var(--wikt-palette-lighterblue)" colspan=2 | 前置格
| data-accel-col=1 | {pre_m}
| data-accel-col=2 | {pre_f}
| data-accel-col=4 colspan=2 | {pre_p}
]===]
-- Used for some old-style templates
surname_full_clause_mp = [===[
|-
! style="background:var(--wikt-palette-lighterblue)" colspan=2 | 主格
| data-accel-col=1 | {nom_m}
| data-accel-col=2 | {nom_f}
| data-accel-col=4 | {nom_mp}
| data-accel-col=5 | {nom_p}
|-
! style="background:var(--wikt-palette-lighterblue)" colspan=2 | 屬格
| data-accel-col=1 | {gen_m}
| data-accel-col=2 | {gen_f}
| data-accel-col=4 colspan=2 | {gen_p}
|-
! style="background:var(--wikt-palette-lighterblue)" colspan=2 | 與格
| data-accel-col=1 | {dat_m}
| data-accel-col=2 | {dat_f}
| data-accel-col=4 colspan=2 | {dat_p}
|-
! style="background:var(--wikt-palette-lighterblue)" colspan=2 | 賓格
| data-accel-col=1 | {acc_m_an}
| data-accel-col=2 | {acc_f}
| data-accel-col=4 colspan=2 | {acc_p_an}
|-
! style="background:var(--wikt-palette-lighterblue)" colspan=2 | 工具格
| data-accel-col=1 | {ins_m}
| data-accel-col=2 | {ins_f}
| data-accel-col=4 colspan=2 | {ins_p}
|-
! style="background:var(--wikt-palette-lighterblue)" colspan=2 | 前置格
| data-accel-col=1 | {pre_m}
| data-accel-col=2 | {pre_f}
| data-accel-col=4 colspan=2 | {pre_p}
]===]
-- Used for два and compounds
template_dva = template_prelude("55") .. [===[
! style="width:20%;background:var(--wikt-palette-lightblue)" colspan=2 |
! style="background:var(--wikt-palette-lightblue)" | 陽性/中性
! style="background:var(--wikt-palette-lightblue)" | 陰性
]===] .. template_postlude()
-- Used for both new-style and old-style templates of два (only for два itself,
-- which has an animacy distinction; not for compounds)
full_clause_dva = [===[
|-
! style="background:var(--wikt-palette-lighterblue)" colspan=2 | 主格
| data-accel-col=4 | {nom_mp}
| data-accel-col=5 | {nom_fp}
|-
! style="background:var(--wikt-palette-lighterblue)" colspan=2 | 屬格
| data-accel-col=4 colspan=2 | {gen_p}
|-
! style="background:var(--wikt-palette-lighterblue)" colspan=2 | 與格
| data-accel-col=4 colspan=2 | {dat_p}
|-
! style="background:var(--wikt-palette-lighterblue)" rowspan=2 | 賓格
! style="background:var(--wikt-palette-lighterblue)" | 有生
| data-accel-col=4 colspan=2 | {acc_p_an}
|-
! style="background:var(--wikt-palette-lighterblue)" | 無生
| data-accel-col=4 | {acc_mp_in}
| data-accel-col=5 | {acc_fp_in}
|-
! style="background:var(--wikt-palette-lighterblue)" colspan=2 | 工具格
| data-accel-col=4 colspan=2 | {ins_p}
|-
! style="background:var(--wikt-palette-lighterblue)" colspan=2 | 前置格
| data-accel-col=4 colspan=2 | {pre_p}
]===]
-- Used for both new-style and old-style templates of compounds of два
full_clause_compound_dva = [===[
|-
! style="background:var(--wikt-palette-lighterblue)" colspan=2 | 主格
| data-accel-col=4 | {nom_mp}
| data-accel-col=5 | {nom_fp}
|-
! style="background:var(--wikt-palette-lighterblue)" colspan=2 | 屬格
| data-accel-col=4 colspan=2 | {gen_p}
|-
! style="background:var(--wikt-palette-lighterblue)" colspan=2 | 與格
| data-accel-col=4 colspan=2 | {dat_p}
|-
! style="background:var(--wikt-palette-lighterblue)" colspan=2 | 賓格
| data-accel-col=4 | {acc_mp}
| data-accel-col=5 | {acc_fp}
|-
! style="background:var(--wikt-palette-lighterblue)" colspan=2 | 工具格
| data-accel-col=4 colspan=2 | {ins_p}
|-
! style="background:var(--wikt-palette-lighterblue)" colspan=2 | 前置格
| data-accel-col=4 colspan=2 | {pre_p}
]===]
-- Used for оба
template_oba = template_prelude() .. [===[
! style="width:20%;background:var(--wikt-palette-lightblue)" colspan=2 |
! style="background:var(--wikt-palette-lightblue)" | 陽性
! style="background:var(--wikt-palette-lightblue)" | 中性
! style="background:var(--wikt-palette-lightblue)" | 陰性
! style="background:var(--wikt-palette-lightblue)" | 陽性/中性複數
! style="background:var(--wikt-palette-lightblue)" | 陰性複數
]===] .. template_postlude()
-- Used for both new-style and old-style templates of оба
full_clause_oba = [===[
|-
! style="background:var(--wikt-palette-lighterblue)" colspan=2 | 主格
| data-accel-col=1 | {nom_m}
| data-accel-col=3 | {nom_n}
| data-accel-col=2 | {nom_f}
| data-accel-col=4 | {nom_mp}
| data-accel-col=5 | {nom_fp}
|-
! style="background:var(--wikt-palette-lighterblue)" colspan=2 | 屬格
| data-accel-col=1 colspan=2 | {gen_m}
| data-accel-col=2 | {gen_f}
| data-accel-col=4 | {gen_mp}
| data-accel-col=5 | {gen_fp}
|-
! style="background:var(--wikt-palette-lighterblue)" colspan=2 | 與格
| data-accel-col=1 colspan=2 | {dat_m}
| data-accel-col=2 | {dat_f}
| data-accel-col=4 | {dat_mp}
| data-accel-col=5 | {dat_fp}
|-
! style="background:var(--wikt-palette-lighterblue)" rowspan=2 | 賓格
! style="background:var(--wikt-palette-lighterblue)" | 有生
| data-accel-col=1 | {acc_m_an}
| data-accel-col=3 rowspan=2 | {acc_n}
| data-accel-col=2 rowspan=2 | {acc_f}
| data-accel-col=4 | {acc_mp_an}
| data-accel-col=5 | {acc_fp_an}
|-
! style="background:var(--wikt-palette-lighterblue)" | 無生
| data-accel-col=1 | {acc_m_in}
| data-accel-col=4 | {acc_mp_in}
| data-accel-col=5 | {acc_fp_in}
|-
! style="background:var(--wikt-palette-lighterblue)" colspan=2 | 工具格
| data-accel-col=1 colspan=2 | {ins_m}
| data-accel-col=2 | {ins_f}
| data-accel-col=4 | {ins_mp}
| data-accel-col=5 | {ins_fp}
|-
! style="background:var(--wikt-palette-lighterblue)" colspan=2 | 前置格
| data-accel-col=1 colspan=2 | {pre_m}
| data-accel-col=2 | {pre_f}
| data-accel-col=4 | {pre_mp}
| data-accel-col=5 | {pre_fp}
]===]
return export
5yep65w602ou9jf7ldlbl67e689c4vq
Module:Table tools
828
1369669
9936469
8782804
2026-10-01T21:57:21Z
TongcyBot
83009
同步 enwikt:separate_and_superscript_*、multilink;保留本站模板仍在用的舊函式
9936469
Scribunto
text/plain
local export = {}
--[==[ intro:
This module has two basic functionalities, both of which are at least somewhat related to constructing
inflectional tables; hence its name:
# It provides functions to separate a footnote symbol from the beginning or end of a term or sentence
and superscript the symbol.
# It implements {{tl|multilink}}, which links multiple comma-separated items (as might be found in an
inflectional table), allowing each to have footnote symbols at the end.
]==]
local parameters_module = "Module:parameters"
local m_links = require("Module:links")
local u = mw.ustring.char
local notes_ranges = {
-- First three represent symbols in ISO-8859-1
-- Including ÷ (U+00F7) × (U+00D7) § (U+00B7) ¤ (U+00A4)
{0xA1,0xBF},
{0xD7,0xD7}, -- ×
{0xF7,0xF7}, -- ÷
-- Next two are "General Punctuation" minus non-spacing chars
-- First one includes † (U+2020) ‡ (U+2021) • (U+2022) ※ (U+203B) ⁕ (U+2055)
{0x2010,0x2027},
{0x2030,0x205E},
}
local unicode_ranges = {}
for _, range in ipairs(notes_ranges) do
table.insert(unicode_ranges, u(range[1]) .. "-" .. u(range[2]))
end
local unicode_range_str = table.concat(unicode_ranges, "")
-- zhwikt: also include ⟐, which the Russian modules use to mark hypothetical forms; without it such forms are
-- linked (with the marker in the link) instead of being displayed as hypothetical.
local notes_re = "[%*%~%@%#%$%%%^%&%+0-9_ " .. unicode_range_str .. "△⟐]*"
--[==[
Separate footnote symbol(s) at the end of a given term. Return two values, the term and footnote symbol(s).
]==]
function export.separate_notes(entry)
local notes
entry, notes = mw.ustring.match(entry, "^(.-)(" .. notes_re .. ")$")
return entry, notes
end
--[==[
Superscript any footnote symbol(s) in `notes`. If `notes` is a blank string, do nothing.
]==]
function export.superscript_notes(notes)
if notes ~= "" then
notes = "<sup>" .. mw.ustring.gsub(notes, "_", " ") .. "</sup>"
end
return notes
end
--[==[
Like `separate_notes` but superscript the notes returned. You can directly concatenate the two returned values
to get a term with superscripted footnotes (but usually you will want to link the term first).
]==]
function export.separate_and_superscript_notes(entry)
local notes
entry, notes = export.separate_notes(entry)
notes = export.superscript_notes(notes)
return entry, notes
end
--[==[
Separate footnote symbol(s) at the beginning of the given text. Return two values, the text and footnote symbol(s).
This is used in the footnote text itself, which will normally be preceded by a footnote symbol.
]==]
function export.separate_initial_notes(entry)
local notes
notes, entry = mw.ustring.match(entry, "^(" .. notes_re .. ")(.*)$")
return notes, entry
end
--[==[
Like `separate_initial_notes` but superscript the notes returned. You can directly concatenate the two returned values
to get a term with superscripted footnotes (but usually you will want to link the term first).
]==]
function export.separate_and_superscript_initial_notes(entry)
local notes
notes, entry = export.separate_initial_notes(entry)
notes = export.superscript_notes(notes)
return notes, entry
end
--[==[
Implementation of {{tl|multilink}}.
]==]
function export.multilink(frame)
local args = require(parameters_module).process(frame:getParent().args, {
[1] = {type = "language", required = true, template_default = "uk"},
[2] = {sublist = true, default = "-", template_default = "до́му,до́мові"},
tr = {sublist = true},
-- If necessary, support prep= as in linkify_entry()
})
local lang = args[1]
local entries = args[2]
local translits = args.tr or {}
local include_translit = translits[1] ~= "-" and lang:findBestScript(entries[1]):isTransliterated()
local saw_translit = false
for i, entry in ipairs(entries) do
-- YUCK, this footnote business is really ugly.
local e, notes = export.separate_and_superscript_notes(entry)
local translit
local has_manual_translit = translits[i] and translits[i] ~= ""
if e == "-" then
e = "—"
translit = e .. notes
else
if include_translit then
if has_manual_translit then
saw_translit = true
local tr, tr_notes = export.separate_and_superscript_notes(translits[i])
translit = tr .. tr_notes
else
local e_nolink = m_links.remove_links(e)
translit = lang:transliterate(e_nolink)
if translit then
saw_translit = true
else
translit = e_nolink
end
translit = translit .. notes
end
end
e = m_links.full_link { lang = lang, term = e, tr = "-"}
end
entries[i] = e .. notes
if include_translit then
translits[i] = translit
end
end
local retval = table.concat(entries, ", ")
if include_translit and saw_translit then
retval = retval ..
-- or use <span style="color: var(--wikt-palette-grey-8,#888)">...</span>
('<br/><span style="color: var(--wikt-palette-grey-9,#999)">%s</span>'):format(table.concat(translits, ", "))
end
return retval
end
--[==[
zhwikt only. The functions below no longer exist on enwikt, where all their uses were replaced with {{tl|multilink}} or
with language-specific modules. They are kept because they are still used here: `get_notes` and `get_initial_notes`
by [[Module:inflection utilities]] and [[Module:ru-verb]]; `linkify_entry`, `translit_entry` and `first_entry` by
templates such as {{tl|uk-table entry}}, {{tl|be-table entry}}, {{tl|uk-decl-noun}} and {{tl|su-set}}. Each one should be
removed once nothing uses it any more.
]==]
export.get_notes = export.separate_and_superscript_notes
export.get_initial_notes = export.separate_and_superscript_initial_notes
local function manipulate_entry(entries, f)
entries = entries or ""
entries = mw.text.split(mw.ustring.gsub(entries, "^%s*(.-)%s*$", "%1"), "%s*,%s*")
local sep = ""
local ret = ""
for _, entry in ipairs(entries) do
ret = ret .. sep .. (entry == "-" and "—" or entry == "" and "" or f(entry))
sep = ", "
end
return ret
end
local function gather_args(frame)
local args = {}
for key, val in pairs(frame.args) do
if val ~= "" then
args[key] = val
end
end
local i = 1
for _, val in ipairs(frame:getParent().args) do
if val and val ~= "" then
while args[i] do
i = i + 1
end
args[i] = val
i = i + 1
end
end
local lang = args["lang"]
if not lang then
lang = args[1]
local n = 1
while args[n] do
args[n] = args[n + 1]
n = n + 1
end
end
return lang, args
end
function export.linkify_entry(lang, entries, prep)
if type(lang) == "table" then
local args
lang, args = gather_args(lang)
if (args["prep"] or "") ~= "" then
local mod, func = unpack(mw.text.split(args["prep"], "#", true))
prep = require("Module:" .. mod)[func]
end
entries = args[1]
end
lang = require("Module:languages").getByCode(lang)
local function f(entry)
local e, notes = export.separate_and_superscript_notes(entry)
local ep = prep and prep(e)
return m_links.language_link{lang = lang, term = ep or e, alt = ep and e} .. notes
end
return manipulate_entry(entries, f)
end
function export.translit_entry(lang, entries)
if type(lang) == "table" then
local args
lang, args = gather_args(lang)
entries = args[1]
end
lang = require("Module:languages").getByCode(lang)
local function f(entry)
local e, notes = export.separate_and_superscript_notes(entry)
return ((lang:transliterate(e)) or e) .. notes
end
return manipulate_entry(m_links.remove_links(entries), f)
end
function export.first_entry(lang, entries)
if type(lang) == "table" then
local args
lang, args = gather_args(lang)
entries = args[1]
end
local entry = mw.text.split(mw.ustring.gsub(entries, "^%s*(.-)%s*$", "%1"), "%s*,%s*")[1]
local e, notes = export.separate_and_superscript_notes(entry)
return e .. notes
end
return export
h2xkmfxk5wxl0g5kdzc7cd2iqbg6vew
Module:Ru-noun
828
1375030
9936472
9386319
2026-10-01T21:57:41Z
TongcyBot
83009
同步 enwikt;補齊本地化
9936472
Scribunto
text/plain
--[=[
This module contains functions for creating inflection tables for Russian
nouns.
Author: Benwing, rewritten from early version by Wikitiki89
Form of arguments: One of the following:
1. LEMMA|DECL|PLSTEM (all arguments optional)
2. ACCENT|LEMMA|DECL|PLSTEM (all arguments optional)
3. multiple sets of arguments separated by the literal word "or"
Arguments:
ACCENT: Accent pattern (a b c d e f b' d' f' f''). Multiple values can
be specified, separated by commas. If omitted, defaults to a or b
depending on the position of stress on the lemma or
explicitly-specified declension.
LEMMA: Lemma form (i.e. nom sg or nom pl), with appropriately-placed
stress; or the stem, if an explicit declension is specified
(in this case, the declension usually looks like an ending, and
the stem is the portion of the lemma minus the ending). In the
first argument set (i.e. first set of arguments separated
by "or"), defaults to page name; in later sets, defaults to lemma
of previous set. A plural form can be given, and causes argument
n= to default to n=p (plural only). Normally, an accent is
required if multisyllabic, and unaccented monosyllables with
automatically be stressed; prefix with * to override both behaviors.
DECL: Declension field. Normally omitted to autodetect based on the
lemma form; see below.
PLSTEM: special plural stem (defaults to stem of lemma)
Additional named arguments:
a: animacy (a/an/anim = animate, i/in/inan = inanimate, b/bi/both/ai = both
(listing animate first in the headword), ia = both (listing inanimate
first in the headword), otherwise inanimate)
n: number restriction (p = plural only, s = singular only, b = both;
defaults to both unless the lemma is plural, in which case it
defaults to plural only)
CASE_NUM or acc_NUM_ANIM or par/loc/voc: override (or multiple
values separated by commas) for case/number combination;
forms auto-linked; can have raw links in it, can have an
ending "note" (*, +, 1, 2, 3, etc.)
pltail: Specify something (usually a * or similar) to attach to
the end of the last plural form when there's more than one. Used in
conjunction with notes= to indicate that alternative plural forms
are obsolete, poetic, etc.
pltailall: Similar pltail= but attaches to all plural forms.
Typically used in conjunction with notes= to make a comment about
the plural as a whole (e.g. it's mostly hypothetical, rare and
awkward, etc.).
sgtail, sgtailall: Same as pltail=, pltailall= but for the singular.
obltail, obltailall: Same as pltail=, pltailall= but for oblique cases
(not the nominative or accusative).
CASE_NUM_tail: Attach the argument to the end of the last form
(whether there's one or more than one) for the particular
case/number combination. Note that this doesn't work quite like
pltail= or sgtail= in that it doesn't skip adding the argument
when there's only one form.
CASE_NUM_tailall: Attach the argument to the end of all forms
specified for the particular case/number combination. Similar to
pltailall= or sgtailall=.
suffix: Add a suffix such as ся to all forms.
prefix: Add a prefix to all forms.
plhyp, plhypall, CASE_NUM_hyp, etc.: Same as pltail, pltailall,
CASE_NUM_tal, etc. but specify that the marked forms are
mostly hypothetical or rare/awkard. Generally you will want
plhypall=y to mark the plural as hypothetical.
Per word named arguments:
All of the above named arguments have per-word variants, e.g.
a1, a2, ...; n1, n2, ...; CASE_NUM1, CASE_NUM2, ...;
pltail1, pltail2, ...; etc. These apply to the individual words of a
form.
Case abbreviations:
nom: nominative
gen: genitive
dat: dative
acc: accusative
ins: instrumental
pre: prepositional
par: partitive
loc: locative
voc: vocative
Number abbreviations:
sg: singular
pl: plural
Animacy abbreviations:
an: animate
in: inanimate
Declension field:
One of the following for regular nouns:
(blank)
GENDER
-VARIANT
GENDER-VARIANT
$
DECLTYPE
DECLTYPE/DECLTYPE
(also, can append various special-case markers to any of the above)
Or one of the following for adjectival nouns:
+
+ь
$
+short, +mixed or +proper
+DECLTYPE
GENDER if present is m, f, n or 3f; for regular nouns, required if the
lemma ends in -ь or is plural, ignored otherwise. 3f is the same
as f but in the case of a plural lemma in -и, detects a
third-declension feminine with singular in -ь rather than a
first-declension feminine with singular in -а or -я.
VARIANT is one way of requesting variant declensions (see also special
case (1) for variant nom pls, and special case (2) for variant
gen pls). The currently allowed values are -ья (will select a
mixed declension that has some normal declension in its singular
and the -ья plural declension); -ин (for animate masculine nouns
in -ин with plural in -е -- note that this is autodetected in the
majority of cases where the ending in -янин or -анин); -ишко
(used for inanimate neuter-form diminutive masculine nouns in
-ишко [also сараю́шко] with nom pl -и and colloquial feminine-ending
alternants in some singular cases); -ище (similar to -ишко but
used for *animate* augmentative masculine neuter-form nouns in
-ище). Variants -ишко and -ище must be given with with special
case (1).
$ is indeclinable words. It is principally useful in multiword
expressions where some of the words are indeclinable.
DECLTYPE is an explicit declension type. Normally you shouldn't use
this, and should instead let the declension type be autodetected
based on the ending, supplying the appropriate hint if needed
(gender for regular nouns, +ь for adjectives). If provided, the
declension type is usually the same as the ending, and if present,
the lemma field should be just the stem, without the ending.
Possibilities for regular nouns are (blank) or # for hard-consonant
declension, а, я, о, е or ё, е́, й, ья, ье or ьё, ь-m, ь-f,
ин, ёнок or онок or енок, ёночек or оночек or еночек, мя,
-а or #-а, ь-я, й-я, о-и or о-ы, -ья or #-ья, $ (indeclinable).
Old-style (pre-reform) declensions use ъ instead of (blank), ъ-а
instead of -а, ъ-ья instead of -ья, and инъ, ёнокъ/онокъ/енокъ,
ёночекъ/оночекъ/еночекъ instead of the same without terminating ъ.
The declensions can also be written with an accent on them; this
chooses the same declension (except for е vs. е́), but causes
ACCENT to default to pattern b instead of a.
For adjectival nouns, you should normally supply just + and let
the ending determine the declension; supply +ь in the case of a
possessive adjectival noun in -ий, which have an extra -ь- in
most endings compared with normal adjectival nouns in -ий, but
which can't be distinguished based on the nominative singular.
You can also supply +short, +mixed or +proper, which constrains
the declension appropriately but still autodetects the
gender-specific and stress-specific variant. If you do supply
a specific declension type, as with regular nouns you need to
omit the ending from the lemma field and supply just the stem.
Possibilities are +ый, +ое, +ая, +ій, +ее, +яя, +ой, +о́е, +а́я,
+ьій, +ье, +ья, +-short or +#-short (masc), +о-short,
+о-stressed-short or +о́-short, +а-short, +а-stressed-short or
+а́-short, and similar for -mixed and -proper (except there aren't
any stressed mixed declensions).
DECLTYPE/DECLTYPE is used for nouns with one declension in the
singular and a different one in the plural, for cases that
PLVARIANT and special case (1) below don't cover.
Special-case markers:
(1) for Zaliznyak-style alternative nominative plural ending:
-а or -я for masculine, -и or -ы for neuter
(2) for Zaliznyak-style alternative genitive plural ending:
-ъ/none for masculine, -ей for feminine, -ов(ъ) for neuter,
-ей for plural variant -ья
* for reducibles (nom sg or gen pl has an extra vowel before the
final consonant as compared with the stem found in other cases)
;ё for Zaliznyak-style alternation between last е in stem and ё
TODO:
1. Multi-word issues:
-- FIXME: Make sure internal_notes handled correctly; we may run into issues
with multiple internal notes from different words, if we're not careful
to use different footnote symbols for each type of footnote (which we
don't do currently). [NOT DONE, MAY NOT DO]
-- Handling default lemma: With multiple words, we should probably split
the page name on spaces and default each word in turn [NOT DONE, MAY
NOT DO]
2a. FIXME: For -ишко diminutives and -ище augmentatives, should add an
appropriate category of some sort (currently marked by colloqfem= in
category).
2b. FIXME: Adding a note to dat_sg also adds it to loc_sg when it exists;
seems wrong. See луг.
2c. FIXME: When you have both d' and f in feminines and you use sgtail=*,
you get two *'s. See User:Benwing2/test-ru-noun-debug.
3. ADJECTIVE FIXMES:
3a. FIXME: Change calls to ru-adj11 to use the new proper name support in
ru-adjective.
3b. FIXME: Test that omitting a manual form in ru-adjective leaves the form as
a big dash.
3c. FIXME: какой-либо and какой-то display genitives with translit -go
instead of -vo. To fix this properly requires implementing real
manual translit for adjectives.
3d. FIXME: Implement real manual translit for adjectives.
5. [FIXME: Consider adding an indicator in the header line when the ё/e
alternation occurs. This is a bit tricky to calculate: If special case
;ё is given, but also if ё occurs in the stem and the accent pattern is
as follows -- for sg-only, b' d' f' f'', also b d f if the noun is masc
or 3rd-decl fem (i.e. nom-sg ending is non-syllabic); for pl-only,
e f f' f'', also b b' c if the gen pl is non-syllabic; for sg/pl,
any but a or b, also b if either nom sg or gen pl is non-syllabic. But
it gets more complicated due to overrides. An alternative is to check
all forms to see if ё is present in some but not all; but this is
tricky also because e.g. reducibles frequently have ё/null alternation,
which doesn't count, and some endings have е or ё in them, which also
doesn't count. If we were to do it this way, we'd have to (a) count
the number of е's in the form(s) with ё and verify that there's at least
one form without ё and with one more е than in the form(s) with ё
(and it gets trickier if different forms with ё have different numbers of
е in them, although that is probably rare); and (b) ignore the appropriate
endings (the best way to do this would probably be to look at the actual
suffixes that were generated in args.suffixes and chop off any matching
ending in the actual form(s), but also chop off final -е/ё, as well as
-ев(ъ)/-ёв(ъ)/-ей/-ёй in the gen pl, which is frequently overridden,
unless perhaps the stem ends in the same way). It'd probably not
possible to do this in a 100% foolproof way but can be "good enough" for
nearly all circumstances.] [MIGHT BE TOO MUCH WORK]
6. HEADWORD FIXMES:
6a. FIXME: In ru-headword, create a category for words whose gender doesn't
match the form. (This is easy to do for ru-noun+ but harder for ru-noun.
We would need to do limited autodetection of the ending: for singulars,
-а/я should be feminine, -е/о/ё should be neuter, -ь should be masculine
or feminine, anything else should be masculine; for plurals, -и/ы should
be masculine or feminine, -а/я should be neuter except that -ія can be
feminine or neuter due to old-style adjectival pluralia tantum nouns,
anything else can be any gender.)
6b. FIXME: Recognize indeclinable nouns and indicate as indeclinable. Probably
should work by checking the case forms to see if they're the same.
9. FIXME: Change stress-pattern detection and overriding to happen inside of
looping over the two parts of a slash decl. Requires that the loop over
the two parts happen outside of the loop over stress patterns. Requires
that the category code get split into two parts, one to handle combined
singular/plural categories that goes outside the two loops, and one to
handle everything else that goes inside the two loops.
10. FIXME: override_matches_suffix() had a free variable reference to ARGS
in it, which should have triggered an error whenever there was a nom_sg or
nom_pl override but didn't. Is there an error causing this never to be
called? Check.
11a. FIXME: In a multiword lemma, using loc2=+ causes only the second word
to get linked instead of the whole expression. Same for par2=+, voc2=+.
11b. FIXME: Using loc=+ with a multiword lemma should do the right thing, same
as if locN=+ is specified for each individual word. Instead it generates
the locative as a whole from the dative, which fails e.g. if some of the
words are adjectival. Same for par=+, voc=+.
13. Multi-word issues:
-- Setting n=pl when auto-detecting a plural lemma. How does that interact
with multi-word stuff? (DONE)
-- compute_heading() -- what to do with multiple words? I assume we should
display info on the first noun (non-indeclinable, non-adjectival), and
on the first adjectival word otherwise, and finally on an indeclinable word (DONE)
-- args.genders -- it should presumably come from the same word as is used
in compute_heading(); but we should allow the overall gender to be
overridden, at least in ru-noun+ (DONE)
-- Bug in args.suffix: Gets added to every word in attach_with() and then
again at the end, after pltail and such. Needs to be added to the
last word only, before pltail. Need also suffixN for individual words.
(DONE, NEEDS TESTING)
-- Should have ..N versions of pltail and variants. (DONE, NEEDS TESTING)
-- Need to handle overrides of acc_sg, acc_pl (DONE)
-- Overrides of nom_sg/nom_pl should also override acc_sg/acc_pl if it
was originally empty and the animacy is inanimate; similarly for
gen_sg/gen_pl and animates; this needs to work both for per-word and
overall overrides. (DONE)
-- do_generate_forms(_multi) need to run part of make_table(), enough to
combine all per_word_info into single lists of forms and store back
into args[case]. (DONE, NEEDS TESTING)
-- In generate_forms, should probably check if a=="i" and only return
acc_sg_in as acc_sg=; or if a=="a" and only return acc_sg_an as acc_sg=;
in old/new comparison code, do something similar, also when a=="b"
check if acc_sg_in==acc_sg_an and make it acc_sg; when a=="b" and the
_in and _an variants are different, might need to ignore them or check
that acc_sg_in==nom_sg and acc_sg_an==gen_sg; similarly for _pl
(DONE, NEEDS TESTING)
-- Need to test with multiple words! [DONE]
-- Current handling of <adj> won't work properly with multiple words;
will need to translate word-by-word in that case (should be solved by
manual-translit branch) [DONE]
14. In multiple-words branch, fix ru-decl-noun-multi so it recognizes
things like *, (1), (2) and ; without the need for a separator. Consider
using semicolon as a separator, since we already use it to separate ё
from a previous declension. Maybe use $ or ~ for an indeclinable word; don't
use semicolon. [IMPLEMENTED. NEED TO TEST.]
16. [Consider having ru-noun+ treat par= as a second genitive in
the headword, as is done with край] [WON'T DO]
17. [FIXME: Consider removing slash patterns and instead handling them by
allowing additional declension flags 'sg' and 'pl'. This simplifies the
various special cases caused by slash declensions. It would also be
possible to remove the special plural stem, which would get rid of more
special cases. On the other hand, it makes it more complicated to support
plural variant -ья with all singular types, and the category code that
displays things like "Russian nouns with singular -X and plural -Y"
also gets more complicated, and there's something convenient and intuitive
about plural stems, and slash declensions are also convenient and at least
somewhat intuitive. One possibility is to externally allow slash
declensions and special plural stems and rewrite them internally to
separate stems with 'sg' and 'pl' declension flags; but there are still
the two coding issues mentioned above.]
18. [FIXME: Consider redoing slash patterns so they operate at the outer
level, i.e. things like special cases apply separately in the singular
and plural part of the slash pattern.]
19. In ru-noun, don't recognize -а with m as plural unless (1)
or n=pl is also given, because there are masculine words with the
feminine ending. Check using the test code whether this changes
anything. Also check if there are other similar cases (neuter with
-и isn't parallel because -и is always plural). [IMPLEMENTED. NEED TO TEST.]
19a. Internal notes weren't propagated properly from adjectives.
[IMPLEMENTED. NEED TO TEST.]
19b. Add support for -ишко and -ище variants (p. 74 of Z),
which conversationally and/or colloquially have feminine endings in
certain cases. [IMPLEMENTED. NEED TO TEST. MAKE SURE THE INTERNAL NOTES
APPEAR.]
19d. For masculine animate neuter-form nouns, the accusative singular
ends in -а (-я soft) instead of -о. [IMPLEMENTED. NEED TO TEST.
NOTE: Currently this variant only can be selected using new-style
arguments where the gender can be given. Perhaps we should consider
allowing gender to be specified with old-style explicit declensions.]
21. Put back gender hints for pl adjectival nouns; used by ru-noun+.
[IMPLEMENTED. NEED TO TEST.]
23. Mixed and proper-noun adjectives have built-in notes. We need to
handle those notes with an "internal_notes" section similar to what is used
in the adjective module. [IMPLEMENTED. NEED TO TEST.]
24. Adjective detection code here needs to work the same as for the
adjective module, in particular in the handling of short, stressed-short,
mixed, proper, stressed-proper. [IMPLEMENTED. NEED TO TEST.]
25. Consider simplifying plural-variant code to only allow -ья as a
plural variant [and maybe even change that to be something like (1')].
[IMPLEMENTED REDUCTION OF PLURAL VARIANTS TO -ья; PLURAL-VARIANT CODE
STILL COMPLEX, THOUGH. NEED TO TEST.]
26. Automatically superscript *, numbers and similar things at the
beginning of a note. Also do this in adjective module. [IMPLEMENTED.
NEED TO TEST.]
28. Make the check for multiple stress patterns (categorizing/tracking)
smarter, to keep a list of them and check at the end, so we handle
multiple stress patterns specified through different arg sets.
[IMPLEMENTED; NEED TO TEST.]
29. More sophisticated handling of user-requested plural variant vs. special
case (1) vs. plural-detected variant. [IMPLEMENTED. NEED TO TEST FURTHER.]
30. Solution to ambiguous plural involving gender spec "3f". [IMPLEMENTED;
NEED TO TEST. Use запчасти, новости.]
33. With pluralia tantum adjectival nouns, we don't know the gender.
By default we assume masculine (or feminine for old-style -ія nouns) and
currently this goes into the category, but shouldn't. [IMPLEMENTED.]
39. [Eventually: Even with decl type explicitly given, the full stem with
ending should be included.] [MAY NEVER IMPLEMENT]
40. [Get error "Unable to dereduce" with strange noun ва́йя, what should
happen?] [WILL NOT FIX; USE AN OVERRIDE]
41. In творог, module generates partitive творогу́ when it should copy the
dative творогу́,тво́рогу. (DONE)
42. [[груз 200]] doesn't work. Interprets 200 as a footnote symbol.
43. When converting е -> ё not after cons and with translit, we should
convert e -> o to avoid double j. (DONE)
44. FIXME: In ро́вня/ровня́, similarly with неровня, marks genitive plural
ровня́ as irregular even though it isn't. (NOT OUR ERROR; THE DECLENSIONS
OF THESE NOUNS MARKED THE ENDING-STRESSED VARIANTS WITH (2).)
]=]--
local m_utilities = require("Module:utilities")
local m_table = require("Module:table")
local m_links = require("Module:links")
local com = require("Module:ru-common")
local nom = require("Module:ru-nominal")
local m_ru_adj = require("Module:ru-adjective")
local m_str_utils = require("Module:string utilities")
local scriptutils = require("Module:script utilities")
local m_table_tools = require("Module:table tools")
local m_debug = require("Module:debug")
local export = {}
local lang = require("Module:languages").getByCode("ru")
local Latn = require("Module:scripts").getByCode("Latn")
local format = m_str_utils.format
local rfind = m_str_utils.find
local rsubn = m_str_utils.gsub
local rmatch = m_str_utils.match
local rsplit = m_str_utils.split
local u = m_str_utils.char
local ulower = m_str_utils.lower
local usub = m_str_utils.sub
local ulen = m_str_utils.len
local unpack = unpack or table.unpack -- Lua 5.2 compatibility
-- If enabled, compare this module with new version of module to make
-- sure all declensions are the same. Eventually consider removing this;
-- but useful as new code is created.
local test_new_ru_noun_module = false
local AC = u(0x0301) -- acute = ́
local GR = u(0x0300) -- grave = ̀
local CFLEX = u(0x0302) -- circumflex = ̂
local DIA = u(0x0308) -- diaeresis = ̈
local PSEUDOCONS = u(0xFFF2) -- pseudoconsonant placeholder, matching ru-common
local IRREGMARKER = "△"
local HYPMARKER = "⟐"
local paucal_marker = "*"
local paucal_internal_note = "* 用於數詞1.5、2、3、4,以及20以上以2、3、4結尾的數詞之後。"
-- text class to check lowercase arg against to see if Latin text embedded in it
local latin_text_class = "[a-zščžěáéíóúýàèìòùỳâêîôûŷạẹịọụỵȧėȯẏ]"
-- Forward functions
local generate_forms_1
local determine_decl
local handle_forms_and_overrides
local handle_overall_forms_and_overrides
local concat_word_forms
local make_table
local detect_adj_type
local detect_stress_pattern
local override_stress_pattern
local determine_stress_variant
local determine_stem_variant
local is_reducible
local is_dereducible
local add_bare_suffix
local attach_stressed
local do_stress_pattern
local canonicalize_override
-- 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
-- version of rfind() that lowercases its string first, for case-insensitive matching
local function rlfind(term, foo)
return rfind(ulower(term), foo)
end
local function track(page)
m_debug.track("ru-noun/" .. page)
return true
end
-- version of m_table.insertIfNot() that makes sure 'false' doesn't get inserted by mistake.
local function insert_if_not(foo, bar)
assert(bar ~= false)
m_table.insertIfNot(foo, bar)
end
-- Fancy version of ine() (if-not-empty). Converts empty string to nil,
-- but also strips leading/trailing space and then single or double quotes,
-- to allow for embedded spaces.
local function ine(arg)
if not arg then return nil end
arg = rsub(arg, "^%s*(.-)%s*$", "%1")
if arg == "" then return nil end
local inside_quotes = rmatch(arg, '^"(.*)"$')
if inside_quotes then
return inside_quotes
end
inside_quotes = rmatch(arg, "^'(.*)'$")
if inside_quotes then
return inside_quotes
end
return arg
end
-- FIXME: Move to utils
-- Iterate over a chain of parameters, FIRST then PREF2, PREF3, ...,
-- inserting into LIST (newly created if omitted). Return LIST.
local function get_arg_chain(args, first, pref, list)
if not list then
list = {}
end
local val = args[first]
local i = 2
while val do
table.insert(list, val)
val = args[pref .. i]
i = i + 1
end
return list
end
-- synthesize a frame so that exported functions meant to be called from
-- templates can be called from the debug console.
local function debug_frame(parargs, args)
return {args = args, getParent = function() return {args = parargs} end}
end
local function rutr_pairs_equal(term1, term2)
local ru1, tr1 = term1[1], term1[2]
local ru2, tr2 = term2[1], term2[2]
local ru1entry, ru1notes = m_table_tools.separate_notes(m_links.remove_links(ru1))
local ru2entry, ru2notes = m_table_tools.separate_notes(m_links.remove_links(ru2))
if ru1entry ~= ru2entry then
return false
end
local tr1entry, tr1notes
local tr2entry, tr2notes
if tr1 then
tr1entry, tr1notes = m_table_tools.separate_notes(tr1)
end
if tr2 then
tr2entry, tr2notes = m_table_tools.separate_notes(tr2)
end
if tr1entry == tr2entry then
return true
elseif type(tr1entry) == type(tr2entry) then
return false
else
tr1entry = tr1entry or com.translit_no_links(ru1entry)
tr2entry = tr2entry or com.translit_no_links(ru2entry)
return tr1entry == tr2entry
end
end
local function contains_rutr_pair(list, pair)
for _, item in ipairs(list) do
if rutr_pairs_equal(item, pair) then
return true
end
end
return false
end
-- Clone parent's args while also assigning nil to empty strings.
local function clone_args(frame)
local args = {}
for pname, param in pairs(frame:getParent().args) do
args[pname] = ine(param)
end
return args
end
-- Old-style declensions.
local declensions_old = {}
-- New-style declensions; computed automatically from the old-style ones,
-- for the most part.
local declensions = {}
-- Internal notes for old-style declensions.
local internal_notes_table_old = {}
-- Same for new-style declensions.
local internal_notes_table = {}
-- Category and type information corresponding to declensions: These may
-- contain the following fields: 'singular', 'plural', 'decl', 'hard', 'g',
-- 'suffix', 'gensg', 'irregpl', 'alt_nom_pl', 'cant_reduce', 'ignore_reduce',
-- 'stem_suffix'.
--
-- 'singular' is used to construct a category of the form
-- "Russian nouns SINGULAR". If omitted, a category is constructed of the
-- form "Russian nouns ending in -ENDING", where ENDING is the actual
-- nom sg ending shorn of its acute accents; or "Russian nouns ending
-- in suffix -ENDING", if 'suffix' is true. The value of SINGULAR can be
-- one of the following: a single string, a list of strings, or a function,
-- which is passed one argument (the value of ENDING that would be used to
-- auto-initialize the category), and should return a single string or list
-- of strings. Such a category is only constructed if 'gensg' is true.
--
-- 'plural' is analogous but used to construct a category of the form
-- "Russian nouns with PLURAL", and if omitted, a category is constructed
-- of the form "Russian nouns with plural -ENDING", based on the actual
-- nom pl ending shorn of its acute accents. Currently no plural category
-- is actually constructed.
--
-- In addition, a category may normally constructed from the combination of
-- 'singular' and 'plural', appropriately defaulted; e.g. if both are present,
-- the combined category will be "Russian nouns SINGULAR with PLURAL" and
-- if both are missing, the combined category will be
-- "Russian nouns ending in -SGENDING with plural -PLENDING" (or
-- "Russian nouns ending in suffix -SGENDING with plural -PLENDING" if
-- 'suffix' is true). Note that if either singular or plural or both
-- specifies a list, looping will occur over all combinations. Such a
-- category is constructed only if 'irregpl' or 'alt_nom_pl' or 'suffix'
-- is true or if the declension class is a slash class.
--
-- 'decl' is "1st", "2nd", "3rd" or "indeclinable"; 'hard' is "hard", "soft"
-- or "none"; 'g' is "m", "f", "n" or "none"; these are all traditional
-- declension categories.
--
-- If 'suffix' is true, the declension type includes a long suffix
-- added to the string that itself undergoes reducibility and such, and so
-- reducibility cannot occur in the stem minus the suffix. Categories will
-- be created for the suffix.
--
-- 'alt_nom_pl' indicates that the declension has an alternative nominative
-- plural (corresponding to Zaliznyak's special case 1; compare special case 2
-- for alternative genitive plural). 'irregpl' indicates that the entire
-- plural is irregular.
--
-- In addition to the above categories, additional more specific categories
-- are constructed based on the final letter of the stem, e.g.
-- "Russian velar-stem 1st-declension hard nouns". See calls to
-- com.get_stem_trailing_letter_type(). 'stem_suffix', if present, is added to
-- the end of the stem when get_stem_trailing_letter_type() is called.
-- This is the only place that 'stem_suffix' is used. This is for use with
-- the '-ья' and '-ье' declension types, so that the trailing letter is
-- 'ь' and not whatever precedes it.
--
-- 'enable_categories' is a special hack for testing, which disables all
-- category insertion if false. Delete this as soon as we've verified the
-- working of the category code and created all the necessary categories.
local enable_categories = true
-- Category/type info corresponding to old-style declensions; see above.
local declensions_old_cat = {}
-- Category/type info corresponding to new-style declensions. Computed
-- automatically from the old-style ones, for the most part. Same format
-- as the old-style ones.
local declensions_cat = {}
-- Table listing aliases of old-style declension classes.
local declensions_old_aliases = {}
-- Table listing aliases of new-style declension classes; computed
-- automatically from the old-style ones.
local declensions_aliases = {}
local stress_patterns = {}
-- Set of patterns with ending-stressed genitive plural.
local ending_stressed_gen_pl_patterns = {}
-- Set of patterns with ending-stressed prepositional singular.
local ending_stressed_pre_sg_patterns = {}
-- Set of patterns with ending-stressed dative singular.
local ending_stressed_dat_sg_patterns = {}
-- Set of patterns with all singular forms ending-stressed.
local ending_stressed_sg_patterns = {}
-- Set of patterns with all plural forms ending-stressed.
local ending_stressed_pl_patterns = {}
local declinable_cases_except_accusative = {
"nom_sg", "gen_sg", "dat_sg", "ins_sg", "pre_sg",
"nom_pl", "gen_pl", "dat_pl", "ins_pl", "pre_pl",
}
local accusative_cases_unsplit_animacy = {
"acc_sg", "acc_pl",
}
local accusative_cases_split_animacy = {
"acc_sg_an", "acc_sg_in", "acc_pl_an", "acc_pl_in",
}
local lemma_linked_cases = {
"nom_sg_linked", "nom_pl_linked",
}
local overridable_only_cases = {
"par", "loc", "voc", "par_pl", "loc_pl", "voc_pl", "count", "pauc",
}
local overridable_only_cases_set = m_table.listToSet(overridable_only_cases)
-- List of all cases that are declined normally.
local decl_cases = m_table.append(declinable_cases_except_accusative, accusative_cases_unsplit_animacy)
-- List of all cases that can be overridden (includes all cases except the "linked" lemma case variants). Also
-- currently the same as the cases returned by export.generate_forms().
local overridable_cases = m_table.append(decl_cases, accusative_cases_split_animacy, overridable_only_cases)
-- List of all cases that can be displayed (includes all cases except plain accusatives).
local displayable_cases = m_table.append(declinable_cases_except_accusative, lemma_linked_cases,
accusative_cases_split_animacy, overridable_only_cases)
-- List of all cases, including those that are declined normally (nom/gen/dat/acc/ins/pre sg and pl), plus
-- animate/inanimate accusative variants (computed automatically as appropriate from the previous cases), plus
-- additional overridable cases (loc/par/voc and plural), plus the "linked" lemma case variants used in ru-noun+
-- headwords (nom_sg_linked, nom_pl_linked, whose values come from nom_sg and nom_pl but may have additional embedded
-- links if they were given in the lemma).
local all_cases = m_table.append(overridable_cases, lemma_linked_cases)
local function english_case_description(case)
if case == "par" or case == "loc" or case == "voc" then
-- For historical reasons, the singular of these cases doens't include "_sg" in their code.
case = case .. "_sg"
end
local engcase = rsub(case, "^([a-z]*)", {
nom="主格", gen="屬格", dat="與格",
acc="賓格", ins="工具格", pre="前置格",
par="部分格", loc="方位格", voc="呼格",
count="計數形式", pauc="少數形式",
})
engcase = rsub(engcase, "(_[a-z]*)", {
_sg="單數", _pl="複數",
_an="", _in="",
--_an=" animate", _in=" inanimate"
})
return engcase
end
--------------------------------------------------------------------------
-- Tracking and categorization --
--------------------------------------------------------------------------
-- FIXME! Move below the main code
-- FIXME!! Consider deleting most of this tracking code once we've enabled
-- all the categories. Note that some of the tracking categories aren't
-- completely redundant; e.g. we have tracking pages that combine decl and
-- stress classes, such as "а/a" or "о-и/d'", which are more or less
-- equivalent to stem/gender/stress categories, but we also have the same
-- prefixed by "reducible-stem/" for reducible stems.
local function tracking_code(stress, orig_decl, decl, args, n, islast)
assert(orig_decl)
assert(decl)
local hint_types = com.get_stem_trailing_letter_type(args.stem)
if orig_decl == decl then
orig_decl = nil
end
if args.notes then
track("notes")
end
local function all_pl_irreg()
track("irreg")
for _, case in ipairs(overridable_cases) do
if rfind(case, "_pl") then
track("irreg/" .. case)
end
end
end
local function track_prefix(prefix)
local function dotrack(suf)
track(prefix .. suf)
end
dotrack(stress)
dotrack(decl)
dotrack(decl .. "/" .. stress)
if orig_decl then
dotrack(orig_decl)
dotrack(orig_decl .. "/" .. stress)
end
for _, hint_type in ipairs(hint_types) do
dotrack(hint_type)
dotrack(decl .. "/" .. hint_type)
if orig_decl then
dotrack(orig_decl .. "/" .. hint_type)
end
end
end
track_prefix("")
if args.reducible then
track("reducible-stem")
track_prefix("reducible-stem/")
end
if rlfind(args.stem, "и́?н$") and (decl == "" or decl == "#") then
track("irregular-in")
end
if args.pltail then
track("pltail")
end
if args.sgtail then
track("sgtail")
end
if args.pltailall then
track("pltailall")
end
if args.sgtailall then
track("sgtailall")
end
if args.pl ~= args.stem then
track("irreg-pl-stem")
track("irreg")
end
if args.alt_gen_pl then
track("alt-gen-pl")
track("irreg")
track("irreg/gen_pl")
end
if args.want_sc1 then
track("want-sc1")
track("irreg")
track("irreg/nom_pl")
end
if rfind(decl, "-и$") or rfind(decl, "-а$") or rfind(decl, "-я$") then
track("irreg")
track("irreg/nom_pl")
end
if rfind(decl, "-ья$") then
track("variant-ья")
all_pl_irreg()
end
if rfind(decl, "%(ишк%)$") then
track("variant-ишко")
end
if rfind(decl, "%(ищ%)$") then
track("variant-ище")
end
if args.jo_special then
track("jo-special")
end
if args.manual then
track("manual")
end
if args.explicit_gender then
track("explicit-gender")
track("explicit-gender/" .. args.explicit_gender)
end
for _, case in ipairs(overridable_cases) do
if args[case .. n] and not args.manual then
track("override")
track("override/" .. case .. n)
track("irreg")
track("irreg/" .. case .. n)
-- questionable use: track_prefix("irreg/" .. case .. "/")
-- questionable use: track_prefix("irreg/" .. case .. n .. "/")
end
if islast and args[case] and not args.manual then
track("override")
track("override/" .. case)
track("irreg")
track("irreg/" .. case)
-- questionable use: track_prefix("irreg/" .. case .. "/")
end
if args[case .. "_tail"] then
track("casenum-tail")
track("casenum-tail/" .. case)
end
if args[case .. "_tailall"] then
track("casenum-tailall")
track("casenum-tailall/" .. case)
end
end
end
local gender_to_full = {m="陽性", f="陰性", n="中性"}
local gender_to_short = {m="陽性", f="陰性", n="中性"}
-- l10n: Chinese names of the parts of speech that can be given in |pos=, as used in category names. A part of speech
-- not listed here (in particular, one already given in Chinese) is used as is.
local pos_to_zh = {noun="名詞", ["proper noun"]="專有名詞", pronoun="代詞", numeral="數詞"}
-- l10n: Chinese names of the possessive adjectival declension types, as used in category names and in the heading.
local poss_decl_to_zh = {long="長尾", short="短尾", mixed="混合", proper="專有"}
-- Insert the category CAT (a string) into list CATEGORIES. String will
-- have "Russian " prepended and ~ substituted for the plural part of speech.
local function insert_category(categories, cat, pos, atbeg)
if enable_categories then
-- l10n: Category names are formed as in [[Module:category tree]]: the language name goes after the last "的" of
-- the label if there is one, otherwise at the beginning.
local fullcat = rsub(cat, "~", pos_to_zh[pos] or pos)
local prefix, suffix = rmatch(fullcat, "^(.+的)(.+)$")
fullcat = prefix and prefix .. "俄語" .. suffix or "俄語" .. fullcat
if atbeg then
table.insert(categories, 1, fullcat)
else
table.insert(categories, fullcat)
end
end
end
-- Insert categories into ARGS.CATEGORIES corresponding to the specified
-- stress and declension classes and to the form of the stem (e.g. velar,
-- sibilant, etc.). Also initialize values used to compute the declension
-- heading that describes similar information. N is the number of the
-- word being processed; ISLAST is true if this is the last word.
local function categorize_and_init_heading(stress, decl, args, n, islast)
local function cat_to_list(cat)
if not cat then
return {}
elseif type(cat) == "string" then
return {cat}
else
assert(type(cat) == "table")
return cat
end
end
-- Insert category CAT into the list of categories in ARGS.
-- CAT may be nil, a single string or a list of strings. We call
-- insert_category() on each string. The strings will have "Russian "
-- prepended and "~" replaced with the plural part of speech.
local function insert_cat(cat)
for _, c in ipairs(cat_to_list(cat)) do
insert_category(args.categories, c, args.pos)
end
end
-- "Resolve" the category spec CATSPEC into the sort of category spec
-- accepted by insert_cat(), i.e. nil, a single string or a list of
-- strings. CATSPEC may be any of these or a function, which takes one
-- argument (SUFFIX) and returns another CATSPEC.
local function resolve_cat(catspec, suffix)
if type(catspec) == "function" then
return resolve_cat(catspec(suffix), suffix)
else
return catspec
end
end
-- Check whether an override for nom_sg or nom_pl still contains the
-- normal suffix (which should already have accents removed) in at least
-- one of its entries. If no override then of course we return true.
local function override_matches_suffix(args, case, n, suffix)
assert(suffix == com.remove_accents(suffix))
-- NOTE: It might not be completely correct to pass in args.forms
-- here when n == ""; this is different behavior from
-- handle_overall_forms_and_overrides(). But args.forms is only used
-- to retrieve the dat_sg for handling loc/par, and we're never
-- called with loc or par as the value of CASE, so it doesn't matter.
-- We add an assert to make sure of this.
assert(case ~= "loc" and case ~= "par")
local override = canonicalize_override(args, case, args.forms, n)
if not override then
return true
end
for _, x in ipairs(override) do
local ru, tr = x[1], x[2]
local entry, notes = m_table_tools.separate_notes(ru)
entry = com.remove_accents(m_links.remove_links(entry))
if rlfind(entry, suffix .. "$") then
return true
end
end
return false
end
if args.manual then
return
end
local h = args.heading_info
assert(decl)
local decl_cats = args.old and declensions_old_cat or declensions_cat
local sgdecl, pldecl
local is_slash_decl = rfind(decl, "/")
if is_slash_decl then
local indiv_decls = rsplit(decl, "/")
sgdecl, pldecl = indiv_decls[1], indiv_decls[2]
else
sgdecl, pldecl = decl, decl
end
local sgdc = decl_cats[sgdecl]
local pldc = decl_cats[pldecl]
assert(sgdc)
assert(pldc)
local sghint_types = com.get_stem_trailing_letter_type(
args.stem .. (sgdc.stem_suffix or ""))
-- insert English version of Zaliznyak stem type
if sgdc.decl == "indeclinable" then
insert_cat("無屈折~")
insert_if_not(h.stemetc, "無屈折")
else
local stem_type =
sgdc.decl == "3rd" and "第三變格" or
m_table.contains(sghint_types, "velar") and "軟腭音詞幹" or
m_table.contains(sghint_types, "sibilant") and "噝音詞幹" or
m_table.contains(sghint_types, "c") and "ц-詞幹" or
m_table.contains(sghint_types, "i") and "i-詞幹" or
m_table.contains(sghint_types, "vowel") and "元音詞幹" or
m_table.contains(sghint_types, "soft-cons") and "元音詞幹" or
m_table.contains(sghint_types, "palatal") and "元音詞幹" or
sgdc.hard == "soft" and "軟音詞幹" or
"硬音詞幹"
local short_stem_type = stem_type
if sgdc.adj then
-- Don't include gender for pluralia tantum because it's mostly
-- indeterminate (certainly when specified using a plural lemma,
-- which will be usually; technically it's partly or completely
-- determinate in certain old-style adjectives that distinguish
-- masculine from feminine/neuter, but this is too rare a case
-- to worry about)
local gendertext = args.thisn == "p" and "唯複" or gender_to_full[sgdc.g]
insert_if_not(h.adjectival, "yes")
if args.thisn ~= "p" then
insert_if_not(h.gender, gender_to_short[sgdc.g])
end
if sgdc.possadj then
insert_cat(poss_decl_to_zh[sgdc.decl] .. "所有格" .. gendertext .. "重音型" .. (stress:gsub("''", "″"):gsub("'", "′")) .. "形容詞性~")
insert_if_not(h.stemetc, poss_decl_to_zh[sgdc.decl] .. "所有格")
insert_if_not(h.stress, stress)
elseif stem_type == "軟音詞幹" or stem_type == "元音詞幹" then
insert_cat(stem_type .. gendertext .. "形容詞性~")
insert_if_not(h.stemetc, short_stem_type)
else
insert_cat(stem_type .. gendertext .. "重音型" .. (stress:gsub("''", "″"):gsub("'", "′")) .. "形容詞性~")
insert_if_not(h.stemetc, short_stem_type)
insert_if_not(h.stress, stress)
end
else
-- NOTE: There are 8 Zaliznyak-style stem types and 3 genders, but
-- we don't create a category for masculine-form 3rd-declension
-- nouns (there is such a noun, путь, but it mostly behaves
-- like a feminine noun), so there are 23.
insert_cat(stem_type .. gender_to_full[sgdc.g] .. "~")
-- NOTE: Here we are creating categories for the combination of
-- stem, gender and accent. There are 10 accent patterns and 23
-- combinations of stem and gender, which potentially makes for
-- 10*23 = 230 such categories, which is a lot. Not all such
-- categories should actually exist; there were maybe 75 former
-- declension templates, each of which was essentially categorized
-- by the same three variables, but some of which dealt with
-- ancillary issues like irregular plurals; this amounts to 67
-- actual stem/gender/accent categories, although there are more
-- of them in Zaliznyak (FIXME, how many? See generate_cats.py).
insert_cat(stem_type .. gender_to_full[sgdc.g] .. "重音型" .. (stress:gsub("''", "″"):gsub("'", "′")) .. "~")
insert_if_not(h.adjectival, "no")
insert_if_not(h.gender, gender_to_short[sgdc.g])
insert_if_not(h.stemetc, short_stem_type)
insert_if_not(h.stress, stress)
end
insert_cat("重音型" .. (stress:gsub("''", "″"):gsub("'", "′")) .. "~")
end
local sgsuffix = args.suffixes.nom_sg
if sgsuffix then
assert(#sgsuffix == 1) -- If this ever fails, then implement a loop
sgsuffix = com.remove_accents(sgsuffix[1])
-- If we are plural only or if nom_sg is overridden and has
-- an unusual suffix, then don't create category for sg suffix
if args.thisn == "p" or not override_matches_suffix(args, "nom_sg", n, sgsuffix) or islast and not override_matches_suffix(args, "nom_sg", "", sgsuffix) then
sgsuffix = nil
end
end
local plsuffix = args.suffixes.nom_pl
if plsuffix then
assert(#plsuffix == 1) -- If this ever fails, then implement a loop
plsuffix = com.remove_accents(plsuffix[1])
-- If we are a singulare tantum or if nom_pl is overridden and has
-- an unusual suffix, then don't create category for pl suffix
if args.thisn == "s" or not override_matches_suffix(args, "nom_pl", n, plsuffix) or islast and not override_matches_suffix(args, "nom_pl", "", plsuffix) then
plsuffix = nil
end
end
sgsuffix = sgsuffix and rsub(sgsuffix, "ъ$", "")
plsuffix = plsuffix and rsub(plsuffix, "ъ$", "")
local sgcat = sgsuffix and (resolve_cat(sgdc.singular, sgsuffix) or "以" .. (sgsuffix == "" and "輔音" or (sgdc.suffix and "後綴" or "") .. "-" .. sgsuffix) .. "結尾")
local plcat = plsuffix and (resolve_cat(pldc.plural, plsuffix) or "複數以-" .. plsuffix .. "結尾")
if sgcat and sgdc.gensg then
for _, cat in ipairs(cat_to_list(sgcat)) do
insert_cat(cat .. "的~")
end
end
if sgcat and plcat and (sgdc.suffix or sgdc.alt_nom_pl or sgdc.irregpl or
is_slash_decl and plsuffix == "-ья") then
for _, scat in ipairs(cat_to_list(sgcat)) do
for _, pcat in ipairs(cat_to_list(plcat)) do
insert_cat("單數" .. scat .. pcat .. "的~")
end
end
end
if args.pl ~= args.stem then
insert_cat("有不規則複數詞幹的~")
end
if args.reducible and not sgdc.ignore_reduce then
insert_cat("有可簡化詞幹的~")
if args.soft_n then
insert_cat("簡化詞幹中末尾н軟化的~")
end
insert_if_not(h.reducible, "yes")
else
insert_if_not(h.reducible, "no")
end
if args.alt_gen_pl then
insert_cat("有替代屬格複數的~")
end
if sgdc.adj then
insert_cat("形容詞性~")
end
end
local function compute_heading(args)
local headings = {}
local h = args.heading_info
table.insert(headings, args.a == "a" and "有生" or args.a == "i" and
"無生" or "有生/無生")
table.insert(headings, args.nonumber and "不可數" or
args.n == "s" and "唯單" or args.n == "p" and "唯複" or nil)
if #h.gender > 0 then
table.insert(headings, table.concat(h.gender, "/") .. "型")
end
if #h.stemetc > 0 then
table.insert(headings, table.concat(h.stemetc, "/"))
end
if #h.stress > 0 then
local stresses = {}
for _, stress in ipairs(h.stress) do
table.insert(stresses, (stress:gsub("''", "″"):gsub("'", "′")))
end
table.insert(headings, "重音型" .. table.concat(stresses, "/"))
end
local function handle_bool(boolvals, text, into)
into = into or headings
if m_table.contains(boolvals, "yes") and m_table.contains(boolvals, "no") then
table.insert(into, "[" .. text .. "]")
elseif m_table.contains(boolvals, "yes") then
table.insert(into, text)
end
end
handle_bool(h.adjectival, "形容詞類")
handle_bool(h.reducible, "簡化詞類")
return headings
end
local function compute_overall_heading_categories_and_genders(args)
local hinfo = args.per_word_heading_info
local index = 0
-- First try for non-adjectival, non-indeclinable
for i=1,#hinfo do
if not m_table.contains(hinfo[i].stemetc, "無屈折") and not m_table.contains(hinfo[i].adjectival, "yes") then
index = i
break
end
end
if index == 0 then
-- Then just non-indeclinable
for i=1,#hinfo do
if not m_table.contains(hinfo[i].stemetc, "無屈折") then
index = i
break
end
end
end
-- Finally, do anything
if index == 0 then
index = 1
end
-- Compute final heading
local headings = args.per_word_headings[index]
local categories = args.per_word_categories[index]
if args.any_irreg then
table.insert(headings, "不規則")
insert_category(categories, "不規則~", args.pos)
end
for _, case in ipairs(overridable_cases) do
local is_pl = rfind(case, "_pl")
if args.n == "s" and is_pl or args.n == "p" and not is_pl then
-- Don't create singular categories when plural-only or vice-versa
elseif overridable_only_cases_set[case] then
if args.any_overridden[case] then
insert_category(categories, "有" .. english_case_description(case) .. "的~", args.pos)
end
elseif args.any_irreg_case[case] then
insert_category(categories, english_case_description(case) .. "不規則的~", args.pos)
end
end
local heading = args.manual and "" or "(<span style=\"font-size: smaller;\">[[Appendix:俄語名詞#變格表|" .. table.concat(headings, " ") .. "]]</span>)"
args.heading = heading
args.categories = categories
args.genders = args.per_word_genders[index]
end
--------------------------------------------------------------------------
-- Main code --
--------------------------------------------------------------------------
-- Used by do_generate_forms().
local function arg1_is_stress(arg1)
if not arg1 then return false end
for _, arg in ipairs(rsplit(arg1, ",")) do
if not rfind(arg, "^[a-f]'?'?$") then
return false
end
end
return true
end
-- Used by do_generate_forms(), handling a word joiner argument
-- of the form 'join:JOINER'.
local function extract_word_joiner(spec)
word_joiner = rmatch(spec, "^join:(.*)$")
assert(word_joiner)
return com.split_russian_tr(word_joiner, "dopair")
end
local function determine_headword_gender(args, sgdc, gender)
-- If gender unspecified, use normal gender of declension, except when
-- adjectival nouns that are pluralia tantum, where the gender is
-- mostly indeterminate (FIXME, not completely with old-style declensions
-- but we don't handle that currently).
if not gender then
if sgdc.adj and args.thisn == "p" then
gender = nil
else
gender = sgdc.g
end
end
-- Determine headword genders
gender = gender and gender ~= "none" and gender .. "-" or ""
local plsuffix = args.n == "p" and "-p" or ""
local hgens
if args.a == "a" then
hgens = {gender .. "an" .. plsuffix}
elseif args.a == "i" then
hgens = {gender .. "in" .. plsuffix}
elseif args.a == "ai" then
hgens = {gender .. "an" .. plsuffix, gender .. "in" .. plsuffix}
else
hgens = {gender .. "in" .. plsuffix, gender .. "an" .. plsuffix}
end
-- Insert into list of genders
for _, hgen in ipairs(hgens) do
insert_if_not(args.genders, hgen)
end
end
function export.do_generate_forms(args, old)
old = old or args.old
args.old = old
args.pos = args.pos or "noun"
-- This is a list with each element corresponding to a word and
-- consisting of a two-element list, ARG_SETS and JOINER, where ARG_SETS
-- is a list of ARG_SET objects, one per alternative stem, and JOINER
-- is a string indicating how to join the word to the next one.
local per_word_info = {}
-- Gather arguments into a list of ARG_SET objects, containing (potentially)
-- elements 1, 2, 3, 4, corresponding to accent pattern, stem, declension
-- type, pl stem and coming from consecutive numbered parameters. Sets of
-- declension parameters are separated by the word "or".
local arg_sets = {}
-- Find maximum-numbered arg, allowing for holes
local max_arg = 0
for k, v in pairs(args) do
if type(k) == "number" and k > max_arg then
max_arg = k
end
end
-- Now gather the arguments.
local offset = 0
local arg_set = {}
for i=1,(max_arg + 1) do
local end_arg_set = false
local end_word = false -- FIXME, is this correct?
local word_joiner
if i == max_arg + 1 then
end_arg_set = true
end_word = true
word_joiner = {""}
elseif args[i] == "_" then
end_arg_set = true
end_word = true
word_joiner = {" "}
elseif args[i] == "-" then
end_arg_set = true
end_word = true
word_joiner = {"-"}
elseif args[i] and rfind(args[i], "^join:") then
end_arg_set = true
end_word = true
word_joiner = extract_word_joiner(args[i])
elseif args[i] == "or" then
end_arg_set = true
end
if end_arg_set then
table.insert(arg_sets, arg_set)
arg_set = {}
offset = i
if end_word then
table.insert(per_word_info, {arg_sets, word_joiner})
arg_sets = {}
end
else
-- If the first argument isn't stress, that means all arguments
-- have been shifted to the left one. We want to shift them
-- back to the right one, so we change the offset so that we
-- get the same effect of skipping a slot in the arg set.
if i - offset == 1 and not arg1_is_stress(args[i]) then
offset = offset - 1
end
if i - offset > 4 then
error("Too many arguments for argument set: arg " .. i .. " = " .. (args[i] or "(blank)"))
end
arg_set[i - offset] = args[i]
end
end
return generate_forms_1(args, per_word_info)
end
function export.do_generate_forms_multi(args, old)
old = old or args.old
args.old = old
args.pos = args.pos or "noun"
-- This is a list with each element corresponding to a word and
-- consisting of a two-element list, ARG_SET and JOINER, where ARG_SET
-- is a list of ARG_SET objects, one per alternative stem, and JOINER
-- is a string indicating how to join the word to the next one.
local per_word_info = {}
-- Find maximum-numbered arg, allowing for holes (FIXME: Is this needed
-- here? Will there be holes?)
local max_arg = 0
for k, v in pairs(args) do
if type(k) == "number" and k > max_arg then
max_arg = k
end
end
-- Gather arguments into a list of ARG_SET objects, containing
-- (potentially) elements 1, 2, 3, corresponding to accent pattern,
-- lemma+declension spec, pl stem, exactly as with do_generate_forms()
-- and {{ru-noun-table}} except that the values come from a single argument
-- of the form ACCENTPATTERN:LEMMADECL:PL where all but LEMMADECL may (and
-- probably will be) omitted and LEMMADECL may be of the following forms:
-- LEMMA (for a noun with empty decl spec),
-- LEMMADECL (for a noun with non-empty decl spec beginning with a
-- *, left paren or semicolon),
-- LEMMA^DECL (for a noun with non-empty decl spec),
-- LEMMA$ (for an indeclinable word)
-- LEMMA+ (for an adjective with auto-detected decl class)
-- LEMMA+DECL (for an adjective with explicit decl class)
-- Sets of parameters for the same word are separated by the word "or".
local arg_sets = {}
local continue_arg_sets = true
for i=1,(max_arg + 1) do
local end_word = false
local word_joiner
local process_arg = false
if i == max_arg + 1 then
end_word = true
word_joiner = {""}
elseif args[i] == "-" then
end_word = true
word_joiner = {"-"}
continue_arg_sets = true
elseif rfind(args[i], "^join:") then
end_word = true
word_joiner = extract_word_joiner(args[i])
continue_arg_sets = true
elseif args[i] == "or" then
continue_arg_sets = true
else
if continue_arg_sets then
continue_arg_sets = false
else
end_word = true
word_joiner = {" "}
end
process_arg = true
end
if end_word then
table.insert(per_word_info, {arg_sets, word_joiner})
arg_sets = {}
end
if process_arg then
local vals = rsplit(args[i], ":")
if #vals > 3 then
error("Can't specify more than 3 colon-separated params of param set: " .. args[i])
end
local arg_set = {}
if arg1_is_stress(vals[1]) then
arg_set[1] = vals[1]
arg_set[2] = vals[2]
arg_set[4] = vals[3]
else
arg_set[2] = vals[1]
arg_set[4] = vals[2]
end
-- recognize indeclinable
local indecl_stem = rmatch(arg_set[2], "^(.-)%$$")
if indecl_stem then
arg_set[2] = indecl_stem
arg_set[3] = "$"
else
-- recognize adjective
local adj_stem, adj_type = rmatch(arg_set[2], "^(.*)(%+.*)$")
if adj_stem then
arg_set[2] = adj_stem
arg_set[3] = adj_type
else
-- recognize noun with ^
local noun_stem, noun_type = rmatch(arg_set[2], "^(.*)%^(.*)$")
if noun_stem then
arg_set[2] = noun_stem
arg_set[3] = noun_type
else
-- recognize noun without ^ but with decl spec
noun_stem, noun_type = rmatch(arg_set[2], "^(..-)([;*(].*)$")
if noun_stem then
arg_set[2] = noun_stem
arg_set[3] = noun_type
else
-- noun without ^ or decl spec; nothing to do
end
end
end
end
table.insert(arg_sets, arg_set)
end
end
return generate_forms_1(args, per_word_info)
end
-- Implementation of do_generate_forms() and do_generate_forms_multi(),
-- which have equivalent functionality but different calling sequence.
-- Implementation of do_generate_forms() and do_generate_forms_multi(),
-- which have equivalent functionality but different calling sequence,
-- as well as show_z() for template {{ru-decl-noun-z}}, which has a
-- subset of the functionality of the other two.
generate_forms_1 = function(args, per_word_info)
local orig_args
if test_new_ru_noun_module then
orig_args = mw.clone(args)
end
local pagename = args.pagename or mw.loadData("Module:headword/data").pagename
local old = args.old
local function verify_animacy_value(val)
if not val then return nil end
if val == "a" or val == "an" or val == "anim" then
return "a"
elseif val == "i" or val == "in" or val == "inan" then
return "i"
elseif val == "b" or val == "bi" or val == "both" or val == "ai" then
return "ai"
elseif val == "ia" then
return "ia"
end
error("Animacy value " .. val .. " should be empty or a/an/anim (animate), i/in/inan (inanimate), b/bi/both/ai (bianimate, listing animate first), or ia (bianimate, listing inanimate first)")
return nil
end
local function verify_number_value(val, allow_none)
if not val then return nil end
local short = usub(val, 1, 1)
if short == "s" or short == "p" or short == "b" or (allow_none and short == "n" or false) then
return short
end
if allow_none then
error("Number value " .. val .. " should be empty or start with 's' (singular), 'p' (plural), 'b' (both) or 'n' (none)")
else
error("Number value " .. val .. " should be empty or start with 's' (singular), 'p' (plural), or 'b' (both)")
end
return nil
end
-- Verify and canonicalize animacy, number, prefix, suffix
assert(#per_word_info >= 1)
for i=1,#per_word_info do
args["a" .. i] = verify_animacy_value(args["a" .. i])
args["n" .. i] = verify_number_value(args["n" .. i])
args["prefix" .. i] = com.split_russian_tr(args["prefix" .. i] or "", "dopair")
args["suffix" .. i] = com.split_russian_tr(args["suffix" .. i] or "", "dopair")
end
args.a = verify_animacy_value(args.a) or "i"
-- args.ndef, if set, is the default value for args.n; if unset, it defaults
-- to "both". It is set to "singular" in ru-proper noun+. We store the value
-- of args.n in args.orign before defaulting to args.ndef because we may
-- change it to plural-only later on if it was unspecified (this happens if
-- an individual word's lemma is plural), and to determine whether it was
-- unspecified, we need the original value before defaulting.
args.n = verify_number_value(args.n, "allow none")
-- treat n=none like n=sg but set a flag so "singular" isn't displayed
if args.n == "n" then
args.n = "s"
args.nonumber = true
end
args.ndef = verify_number_value(args.ndef)
args.orign = args.n
args.n = args.n or args.ndef
args.prefix = com.split_russian_tr(args.prefix or "", "dopair")
args.suffix = com.split_russian_tr(args.suffix or "", "dopair")
-- Attach overall prefix to first per-word prefix, similarly for suffix
args.prefix1 = com.concat_paired_russian_tr(args.prefix, args.prefix1)
args["suffix" .. #per_word_info] = com.concat_paired_russian_tr(
args["suffix" .. #per_word_info], args.suffix)
-- Initialize non-word-specific arguments.
--
-- The following is a list of WORD_INFO items, one per word, each of
-- which is a two element list of WORD_FORMS (a table listing the forms for
-- each case) and JOINER (a string, indicating how to join the word with
-- the next one).
args.per_word_info = {}
-- List of HEADING_INFO items, one per word, containing the raw material
-- used to generate the header. Initialized from 'args.heading_info',
-- which is initialized in categorize_and_init_heading().
args.per_word_heading_info = {}
-- List of CATEGORIES items, one per word, containing the categories
-- used to initialize the page categories. Initialized from
-- 'args.categories', which is initialized in categorize_and_init_heading().
args.per_word_categories = {}
-- List of HEADINGS items, one per word, containing the actual words that
-- go into the header if we were to use that word to construct the header.
-- Comes from compute_heading(). We use this to generate the actual header
-- string, which goes into 'args.heading' at the end (done in
-- compute_overall_heading_categories_and_genders()).
args.per_word_headings = {}
-- List of GENDERS items, one per word, containing the headword genders
-- for each word (where "headword gender" is in the format used in
-- headwords and actually includes animacy and number as well, e.g.
-- 'm-in' or 'f-an-p'). We end up selecting one such item and putting
-- it into 'args.genders' at the end
-- (in compute_overall_heading_categories_and_genders()).
args.per_word_genders = {}
args.any_overridden = {}
args.any_non_nil = {}
args.any_irreg = false
args.any_irreg_case = {}
local function insert_cat(cat)
insert_category(args.categories, cat, args.pos)
end
args.internal_notes = {}
local decl_sufs = old and declensions_old or declensions
local decl_cats = old and declensions_old_cat or declensions_cat
local intable = old and internal_notes_table_old or internal_notes_table
-- Default lemma defaults to previous lemma, first one to page name.
-- FIXME: With multiple words, we should probably split the page name
-- on spaces and default each word in turn
local default_lemma
local all_stresses_seen
-- Made into a function to avoid having to indent a lot of code.
-- Process a single arg set of a single word. This inserts the forms
-- for the word into args.forms and sets categories and tracking pages.
local function do_arg_set(arg_set, n, islast)
local stress_arg = arg_set[1]
local decl = arg_set[3] or ""
local pl, pltr
if arg_set[4] then
pl, pltr = com.split_russian_tr(arg_set[4])
end
-- Extract special markers from declension class.
if decl == "manual" then
decl = "$"
args.manual = true
if #per_word_info > 1 or #per_word_info[1][1] > 1 then
error("Can't specify multiple words or argument sets when manual")
end
if pl then
error("Can't specify optional stem parameters when manual")
end
end
decl, args.jo_special = rsubb(decl, "([^/%a])ё$", "%1")
if not args.jo_special then
decl, args.jo_special = rsubb(decl, "([^/%a])ё([^/%a])", "%1%2")
end
decl, args.want_sc1 = rsubb(decl, "%(1%)", "")
decl, args.alt_gen_pl = rsubb(decl, "%(2%)", "")
decl, args.reducible = rsubb(decl, "%*", "")
decl, args.soft_n = rsubb(decl, "%(нь%)", "")
decl = rsub(decl, ";", "")
-- Get the lemma.
local lemma = args.manual and "-" or arg_set[2] or default_lemma
if not lemma then
error("Lemma in first argument set must be specified")
end
default_lemma = lemma
local lemmatr
lemma, lemmatr = com.split_russian_tr(lemma)
-- If we're conjugating a suffix, insert a pseudoconsonant at the beginning
-- of all forms, so they get conjugated as if ending in a consonant.
-- We remove the pseudoconsonant later.
local is_suffix = lemma ~= "-" and rfind(lemma, "^%-")
args.any_suffix = args.any_suffix or is_suffix
local asif_prefix = args["asif_prefix" .. n] or args.asif_prefix or is_suffix and PSEUDOCONS
if asif_prefix then
lemma = rsub(lemma, "^%-", "-" .. asif_prefix)
if lemmatr then
lemmatr = rsub(lemmatr, "^%-", "-" .. com.translit(asif_prefix))
end
end
args.thisa = args["a" .. n] or args.a
args.thisn = args["n" .. n] or args.n
-- Check for explicit allow-unaccented indication.
local allow_unaccented
lemma, allow_unaccented = rsubb(lemma, "^%*", "")
args.allow_unaccented = args.allow_unaccented or allow_unaccented
if args.allow_unaccented then
track("allow-unaccented")
end
args.orig_lemma = lemma
lemma = m_links.remove_links(lemma)
args.lemma_no_links = lemma
args.lemmatr = lemmatr
if args.lemma then
-- Explicit lemma given.
args.explicit_lemma, args.explicit_lemmatr = com.split_russian_tr(args.lemma)
end
-- Treat suffixes without an accent, and suffixes with an accent on the
-- initial hyphen, as if they were preceded with a *, which overrides
-- all the logic that normally (a) normalizes the accent, and (b)
-- complains about multisyllabic words without an accent. Don't do this
-- if lemma is just -, which is used specially in manual declension
-- tables (e.g. сто, три).
if lemma ~= "-" and (rfind(lemma, "^%-" .. AC) or (com.is_unstressed(lemma) and rfind(lemma, "^%-"))) then
args.allow_unaccented = true
end
-- Convert lemma and decl arg into stem and canonicalized decl.
-- This will autodetect the declension from the lemma if an explicit
-- decl isn't given.
local stem, tr, gender, was_accented, was_plural, was_autodetected
if rfind(decl, "^%+") then
stem, tr, decl, gender, was_accented, was_plural, was_autodetected =
detect_adj_type(lemma, lemmatr, decl, old)
else
stem, tr, decl, gender, was_accented, was_plural, was_autodetected =
determine_decl(lemma, lemmatr, decl, args)
end
if was_plural then
args.n = args.orign or "p"
args.thisn = args["n" .. n] or args.n
elseif decl ~= "$" then
args.thisn = args.thisn or "b"
end
args.explicit_gender = gender
-- If allow-unaccented not given, maybe check for missing accents.
if not args.allow_unaccented and not stress_arg and was_autodetected and com.needs_accents(lemma) then
-- If user gave the full word and expects us to determine the
-- declension and stress, the word should have an accent on the
-- stem or ending. We have a separate check farther below for
-- an accent on a multisyllabic stem, after stripping off any
-- ending; but this way we get an error if the user e.g. writes
-- "гора" without an accent rather than assuming it's stem
-- stressed, as would otherwise happen.
error("Lemma must have an accent in it: " .. lemma)
end
-- If stress not given, auto-determine; else validate/canonicalize
-- stress arg, override in certain cases and convert to list.
if not stress_arg then
stress_arg = {detect_stress_pattern(stem, decl, decl_cats, args.reducible, was_plural, was_accented)}
else
stress_arg = rsplit(stress_arg, ",")
for i=1,#stress_arg do
local stress = stress_arg[i]
stress = override_stress_pattern(decl, stress)
if not stress_patterns[stress] then
error("Unrecognized accent pattern " .. stress)
end
stress_arg[i] = stress
end
end
-- parse slash decl to list
local sub_decls
if rfind(decl, "/") then
track("mixed-decl")
insert_cat("有混合變格的~")
local indiv_decls = rsplit(decl, "/")
-- Should have been caught in canonicalize_decl()
assert(#indiv_decls == 2)
sub_decls = {{indiv_decls[1], "sg"}, {indiv_decls[2], "pl"}}
else
sub_decls = {{decl}}
end
-- Get singular declension and corresponding category.
local sgdecl = sub_decls[1][1]
local sgdc = decl_cats[sgdecl]
assert(sgdc)
-- Compute headword gender(s). We base it off the singular declension
-- if we have a slash declension -- it's the best we can do.
determine_headword_gender(args, sgdc, gender)
local original_stem, original_tr = stem, tr
local original_pl, original_pltr = pl, pltr
-- Loop over accent patterns in case more than one given.
for _, stress in ipairs(stress_arg) do
args.suffixes = {}
stem, tr = original_stem, original_tr
local bare, baretr
local stem_for_bare, tr_for_bare
pl, pltr = original_pl, original_pltr
insert_if_not(all_stresses_seen, stress)
local stem_was_unstressed = com.is_unstressed(stem)
-- If special case ;ё was given and stem is unstressed,
-- add ё to the stem now; but don't let this interfere with
-- restressing, to handle cases like железа́ with gen pl желёз
-- but nom pl же́лезы.
if stem_was_unstressed and args.jo_special then
-- Beware, Cyrillic еЕ in first rsub, Latin eE in second
local new_stem = rsub(stem, "([еЕ])([^еЕ]*)$",
function(e, rest)
return (e == "Е" and "Ё" or "ё") .. rest
end
)
if stem == new_stem then
error("No е in stem to replace with ё")
end
stem = new_stem
if tr then
local subbed
-- e after j -> o, e not after j -> jo; don't just convert e -> jo
-- and then map jjo -> jo because we want to preserve double j
tr, subbed = rsubb(tr, "([jJ])([eE])([^eE]*)$",
function(j, e, rest)
return j .. (e == "E" and "O" or "o") .. AC .. rest
end
)
if not subbed then
tr = rsub(tr, "([eE])([^eE]*)$",
function(e, rest)
return (e == "E" and "Jo" or "jo") .. AC .. rest
end
)
end
tr = com.j_correction(tr)
end
-- This is used to handle железа́ with gen pl желёз and nom pl
-- же́лезы. We have two stressed stems, one for the gen pl and
-- one for the remaining pl cases, and the variable 'stem' can
-- handle only one, so we put the second (gen pl) stem in
-- stem_for_bare, which goes into the value of 'bare' (used
-- only for gen pl here).
stem_for_bare, tr_for_bare = stem, tr
end
-- Maybe add stress to the stem, depending on whether the
-- stem was unstressed and the stress pattern. Stem pattern f
-- and variants call for initial stress (голова́ -> го́ловы);
-- stem pattern d and variants call for stem-final stress
-- (сапожо́к -> сапо́жки). Stem patterns b and b' apparently
-- call for stem-final stress as well but it's unlikely to
-- make much of a difference (pattern b' only occurs in 3rd-decl
-- feminines, which should already have stress in the stem,
-- and the only place pattern b gets stem stress is in bare
-- forms, i.e. nom sg and/or gen pl depending on the decl type,
-- and nom sg stress should already be in the lemma while
-- gen pl stress is handled by a different ending-stressing
-- mechanism in attach_unstressed(); however, the user is
-- free to leave a masc or 3rd-decl fem lemma completely
-- unstressed with pattern b, and then the stem-final stress
-- *will* make a difference).
local function restress_stem(stem, tr, stress, stem_unstressed)
-- If the user has indicated they purposely are leaving the
-- word unstressed by putting a * at the beginning of the main
-- stem, leave it unstressed. This might indicate lack of
-- knowledge of the stress or a truly unaccented word
-- (e.g. an unaccented suffix).
if args.allow_unaccented then
return stem, tr
end
if tr and com.is_unstressed(stem) ~= com.is_unstressed(tr) then
error("Stem " .. stem .. " and translit " .. tr .. " must have same accent pattern")
end
-- it's safe to accent monosyllabic stems
if com.is_monosyllabic(stem) then
stem, tr = com.make_ending_stressed(stem, tr)
-- For those patterns that are ending-stressed in the singular
-- nominative (and hence are likely to be expressed without an
-- accent on the stem) it's safe to put a particular accent on
-- the stem depending on the stress type. Otherwise, give an
-- error if no accent.
elseif stem_unstressed then
if rfind(stress, "^f") then
stem, tr = com.make_beginning_stressed(stem, tr)
elseif (rfind(stress, "^[bd]") or
args.thisn == "p" and ending_stressed_pl_patterns[stress]) then
stem, tr = com.make_ending_stressed(stem, tr)
elseif com.needs_accents(stem) then
error("Stem " .. stem .. " requires an accent")
end
end
return stem, tr
end
stem, tr = restress_stem(stem, tr, stress, stem_was_unstressed)
-- Leave pl unaccented if user wants this; see restress_stem().
if pl and not args.allow_unaccented then
if pltr and com.is_unstressed(pl) ~= com.is_unstressed(pltr) then
error("Plural stem " .. pl .. " and translit " .. pltr .. " must have same accent pattern")
end
if com.is_monosyllabic(pl) then
pl, pltr = com.make_ending_stressed(pl, pltr)
end
-- I think this is safe.
if com.needs_accents(pl) then
if ending_stressed_pl_patterns[stress] then
pl, pltr = com.make_ending_stressed(pl, pltr)
elseif not args.allow_unaccented then
error("Plural stem " .. pl .. " requires an accent")
end
end
end
local resolved_bare, resolved_baretr
-- Handle (de)reducibles
-- FIXME! We are dereducing based on the singular declension.
-- In a slash declension things can get weird and we don't
-- handle that. We are also computing the bare value from the
-- singular stem, and again things can get weird with a plural
-- stem. Note that we don't compute a bare value unless we have
-- to (either (de)reducible or stress pattern f/f'/f'' combined
-- with ё special case); the remaining times we generate the bare
-- value directly from the plural stem.
if args.reducible and not sgdc.ignore_reduce then
-- Zaliznyak treats all nouns in -ье and -ья as being
-- reducible. We handle this automatically and don't require
-- the user to specify this, but ignore it if so for
-- compatibility.
if is_reducible(sgdc) then
-- If we derived the stem from a nom pl form, then
-- it's already reduced, and we need to dereduce it to
-- get a bare form; otherwise the stem comes from the
-- nom sg and we need to reduce it to get the real stem.
if was_plural then
resolved_bare, resolved_baretr =
export.dereduce_nom_sg_stem(stem, tr, sgdc,
stress, old, "error")
else
resolved_bare, resolved_baretr = stem, tr
stem, tr = export.reduce_nom_sg_stem(stem, tr,
sgdecl, args.soft_n, "error")
-- Stem will be unstressed if stress was on elided
-- vowel; restress stem the way we did above. (This is
-- needed in at least one word, сапожо́к 3*d(2), with
-- plural stem probably сапо́жк- and gen pl probably
-- сапо́жек.)
stem, tr = restress_stem(stem, tr, stress,
com.is_unstressed(stem))
if stress ~= "a" and stress ~= "b" and args.alt_gen_pl and not pl then
-- Nouns like рожо́к, глазо́к of type 3*d(2) have
-- gen pl's ро́жек, гла́зок; to handle this,
-- dereduce the reduced stem and store in a
-- special place.
args.gen_pl_bare, args.gen_pl_baretr =
export.dereduce_nom_sg_stem(stem, tr,
sgdc, stress, old, "error")
end
end
elseif is_dereducible(sgdc) then
resolved_bare, resolved_baretr =
export.dereduce_nom_sg_stem(stem, tr, sgdc,
stress, old, "error")
else
error("Declension class " .. sgdecl .. " not (de)reducible")
end
elseif stem_for_bare and stem ~= stem_for_bare then
resolved_bare, resolved_baretr =
add_bare_suffix(stem_for_bare, tr_for_bare, old, sgdc, false)
end
-- Leave unaccented if user wants this; see restress_stem().
-- FIXME, we no longer allow the user to specify the bare value
-- so it's unclear if this is needed any more.
if resolved_bare and not args.allow_unaccented then
if resolved_baretr and com.is_unstressed(resolved_bare) ~= com.is_unstressed(resolved_baretr) then
error("Resolved bare stem " .. resolved_bare .. " and translit " .. resolved_baretr .. " must have same accent pattern")
end
if com.is_monosyllabic(resolved_bare) then
resolved_bare, resolved_baretr =
com.make_ending_stressed(resolved_bare, resolved_baretr)
else
if com.needs_accents(resolved_bare) then
error("Resolved bare stem " .. resolved_bare .. " requires an accent")
end
end
end
args.stem, args.stemtr = stem, tr
args.bare, args.baretr = resolved_bare, resolved_baretr
args.ustem, args.ustemtr = com.make_unstressed_once(stem, tr)
if pl then
args.pl, args.pltr = pl, pltr
else
args.pl, args.pltr = stem, tr
end
args.upl, args.upltr = com.make_unstressed_once(args.pl, args.pltr)
-- Special hack for любо́вь and other reducible 3rd-fem nouns,
-- which have the full stem in the ins sg
args.ins_sg_stem = sgdecl == "ь-f" and args.reducible and resolved_bare
args.ins_sg_tr = sgdecl == "ь-f" and args.reducible and resolved_baretr
-- Loop over declension classes (we may have two of them, one for
-- singular and one for plural, in the case of a mixed declension
-- class of the form SGDECL/PLDECL).
for _,decl_spec in ipairs(sub_decls) do
local orig_decl = decl_spec[1]
local number = decl_spec[2]
local real_decl =
determine_stress_variant(orig_decl, stress)
real_decl = determine_stem_variant(real_decl,
number == "pl" and args.pl or args.stem)
-- sanity checking; errors should have been caught in
-- canonicalize_decl()
assert(decl_cats[real_decl], "real_decl " .. real_decl .. " nonexistent")
assert(decl_sufs[real_decl], "real_decl " .. real_decl .. " nonexistent")
tracking_code(stress, orig_decl, real_decl, args, n, islast)
do_stress_pattern(stress, args, real_decl, number, n, islast)
-- handle internal notes
local internal_note = intable[real_decl]
if internal_note then
insert_if_not(args.internal_notes, internal_note)
end
end
categorize_and_init_heading(stress, decl, args, n, islast)
end
end
local n = 0
for _, word_info in ipairs(per_word_info) do
n = n + 1
local islast = n == #per_word_info
local arg_sets, joiner = word_info[1], word_info[2]
args.forms = {}
args.heading_info = {animacy={}, number={}, gender={}, stress={},
stemetc={}, adjectival={}, reducible={}}
args.categories = {}
args.genders = {}
args.this_any_non_nil = {}
args.any_suffix = false
if #arg_sets > 1 then
track("multiple-arg-sets")
insert_cat("有多個引數集的~")
track("multiple-declensions")
insert_cat("有多種變格的~")
end
default_lemma = pagename
all_stresses_seen = {}
-- Loop over all arg sets.
for _, arg_set in ipairs(arg_sets) do
do_arg_set(arg_set, n, islast)
end
if #all_stresses_seen > 1 then
track("multiple-accent-patterns")
insert_cat("有多種重音模式的~")
track("multiple-declensions")
insert_cat("有多種變格的~")
end
table.insert(args.per_word_heading_info, args.heading_info)
table.insert(args.per_word_categories, args.categories)
local headings = compute_heading(args)
table.insert(args.per_word_headings, headings)
table.insert(args.per_word_genders, args.genders)
handle_forms_and_overrides(args, n, islast)
if args.any_suffix then
-- If we're conjugating a suffix, remove the pseudoconsonant or asif_prefix
-- that we previously inserted at the beginning.
local asif_prefix = args["asif_prefix" .. n] or args.asif_prefix or PSEUDOCONS
local asif_prefix_tr = com.translit(asif_prefix)
for _, case in ipairs(all_cases) do
if args.forms[case] then
local newforms = {}
for _, form in ipairs(args.forms[case]) do
local formru = form[1]
local formtr = form[2]
formru = rsub(formru, "^%-" .. asif_prefix, "-")
if formtr then
formtr = rsub(formtr, "^%-" .. asif_prefix_tr, "-")
end
if formru == "-" then
-- if no ending, insert "(no suffix)".
table.insert(newforms, {"(無後綴)"})
else
table.insert(newforms, {formru, formtr})
end
end
args.forms[case] = newforms
end
end
end
table.insert(args.per_word_info, {args.forms, joiner})
end
handle_overall_forms_and_overrides(args)
compute_overall_heading_categories_and_genders(args)
for _, case in ipairs(all_cases) do
if args[case] then
for _, form in ipairs(args[case]) do
local ru, tr = form[1], form[2]
local ruentry, runotes = m_table_tools.separate_notes(ru)
ruentry = m_links.remove_links(ruentry)
if rfind(ulower(ruentry), latin_text_class) then
--error("Found Latin text " .. ruentry .. " in case " .. case)
track("latin-text")
track("latin-text/" .. case)
end
end
end
end
-- Test code to compare existing module to new one.
if test_new_ru_noun_module then
local m_new_ru_noun = require("Module:User:Benwing2/ru-noun")
local newargs = m_new_ru_noun.do_generate_forms(orig_args, old)
local difdecl = false
for _, case in ipairs(all_cases) do
local arg = args[case]
local newarg = newargs[case]
local is_pl = rfind(case, "_pl")
if args.thisn == "s" and is_pl or args.thisn == "p" and not is_pl then
-- Don't need to check cases that won't be displayed.
elseif not m_table.deepEquals(arg, newarg) then
local monosyl_accent_diff = false
-- Differences only in monosyllabic accents. Enable if we
-- change the algorithm for these.
--if arg and newarg and #arg == 1 and #newarg == 1 then
-- local ru1, tr1 = arg[1][1], arg[1][2]
-- local ru2, tr2 = newarg[1][1], newarg[1][2]
-- if com.is_monosyllabic(ru1) and com.is_monosyllabic(ru2) then
-- ru1, tr1 = com.remove_accents(ru1, tr1)
-- ru2, tr2 = com.remove_accents(ru2, tr2)
-- if ru1 == ru2 and tr1 == tr2 then
-- monosyl_accent_diff = true
-- end
-- end
--end
if monosyl_accent_diff then
track("monosyl-accent-diff")
difdecl = true
else
-- Uncomment this to display the particular case and
-- differing forms.
--error(case .. " " .. (arg and com.concat_forms(arg) or "nil") .. " || " .. (newarg and com.concat_forms(newarg) or "nil"))
track("different-decl")
difdecl = true
end
break
end
end
if not difdecl then track("same-decl") end
end
return args
end
-- Implementation of main entry point
local function do_show(frame, old)
local args = clone_args(frame)
local args = export.do_generate_forms(args, old)
return make_table(args) .. m_utilities.format_categories(args.categories, lang)
end
-- The main entry point for modern declension tables.
function export.show(frame)
return do_show(frame, false)
end
-- The main entry point for old declension tables.
function export.show_old(frame)
return do_show(frame, true)
end
-- Implementation of new entry point, esp. for multiple words
local function do_show_multi(frame)
local args = clone_args(frame)
local args = export.do_generate_forms_multi(args)
return make_table(args) .. m_utilities.format_categories(args.categories, lang)
end
-- The new entry point, esp. for multiple words (but works fine for
-- single words).
function export.show_multi(frame)
return do_show_multi(frame)
end
local function get_form(forms, preserve_links, raw)
local canon_forms = {}
for _, form in ipairs(forms) do
if raw then
local ru, tr = form[1], form[2]
ru = rsub(ru, "|", "<!>")
if tr then
tr = rsub(tr, "|", "<!>")
end
insert_if_not(canon_forms, {ru, tr})
else
local ru, tr = form[1], form[2]
local ruentry, runotes = m_table_tools.separate_notes(ru)
-- Skip hypothetical forms (but include in the raw versions)
if not rfind(runotes, HYPMARKER) then
local trentry, trnotes
if tr then
trentry, trnotes = m_table_tools.separate_notes(tr)
end
if not preserve_links then
ruentry = m_links.remove_links(ruentry)
end
ruentry = rsub(ruentry, "|", "<!>")
if trentry then
trentry = rsub(trentry, "|", "<!>")
end
insert_if_not(canon_forms, {ruentry, trentry})
end
end
end
return com.concat_forms(canon_forms)
end
local function case_will_be_displayed(args, case)
local ispl = rfind(case, "_pl")
local caseok = true
if args.n == "p" then
caseok = ispl
elseif args.n == "s" then
caseok = not ispl
end
for _, override_case in ipairs(overridable_only_cases) do
if case == override_case and not args.any_overridden[override_case] then
caseok = false
break
end
end
if args.a == "a" or args.a == "i" then
if rfind(case, "_[ai]n") then
caseok = false
end
else -- bianimate
-- don't include inanimate/animate variants if combined variant exists
-- (typically because inanimate/animate variants are the same);
-- FIXME: This could conceivably be different from how the display
-- code works, which just checks that the inanimate/animate variants
-- are the same when deciding whether to display them, in particular
-- if there is an override. Here we are following the algorithm of
-- handle_overall_forms_and_overrides().
if (case == "acc_sg_in" or case == "acc_sg_an") and args.acc_sg or
(case == "acc_pl_in" or case == "acc_pl_an") and args.acc_pl then
caseok = false
end
end
if not args[case] then
caseok = false
end
return caseok
end
local function concat_case_args(args, do_all, raw)
local ins_text = {}
for _, case in ipairs(do_all and all_cases or overridable_cases) do
if case_will_be_displayed(args, case) then
local forms = get_form(args[case], rfind(case, "_linked"), raw)
if forms ~= "" then
table.insert(ins_text, case .. (raw and "_raw" or "") .. "=" ..
forms)
end
end
end
return table.concat(ins_text, "|")
end
-- The entry point for 'ru-noun-forms' to generate all noun forms.
-- This returns a single string, with | separating arguments and named
-- arguments of the form NAME=VALUE.
function export.generate_forms(frame)
local args = clone_args(frame)
args = export.do_generate_forms(args, false)
return concat_case_args(args)
end
-- The entry point to generate multiple sets of noun forms. This is a hack
-- to speed up calling from a bot, where we often want to compare old and new
-- argument results to make sure they're the same. Each set of arguments is
-- jammed together into a single argument with individual values separated by
-- <!>; named arguments are of the form NAME<->VALUE. The return value for
-- each set of arguments is as in export.generate_forms(), and the return
-- values are concatenated with <!> separating them. NOTE: This will fail if
-- the exact sequences <!> or <-> happen to occur in values (which is unlikely,
-- esp. as we don't even use the characters <, ! or > for anything) and aren't
-- HTML-escaped.
function export.generate_multi_forms(frame)
local retvals = {}
for _, argset in ipairs(frame.args) do
local args = {}
local i = 0
local argvals = rsplit(argset, "<!>")
for _, argval in ipairs(argvals) do
local split_arg = rsplit(argval, "<%->")
if #split_arg == 1 then
i = i + 1
args[i] = ine(split_arg[1])
else
assert(#split_arg == 2)
args[split_arg[1]] = ine(split_arg[2])
end
end
args = export.do_generate_forms(args, false)
table.insert(retvals, concat_case_args(args))
end
return table.concat(retvals, "<!>")
end
-- The entry point for 'ru-noun-form' to generate a particular noun form.
function export.generate_form(frame)
local args = clone_args(frame)
if not args.form then
error("Must specify desired form using form=")
end
local form = args.form
if not m_table.contains(all_cases, form) then
error("Unrecognized form " .. form)
end
local args = export.do_generate_forms(args, false)
if not args[form] then
return ""
else
return get_form(args[form])
end
end
-- The entry point for generating arguments of various sorts, including
-- the case forms, gender, number and animacy.
function export.generate_args(frame)
local args = clone_args(frame)
args = export.do_generate_forms(args, false)
local retargs = {}
table.insert(retargs, concat_case_args(args, "doall"))
table.insert(retargs, concat_case_args(args, "doall", "raw"))
table.insert(retargs, "g=" .. table.concat(args.genders, ","))
-- The following is correct even with ndef because if ndef is
-- set we will set it in args.n.
table.insert(retargs, "n=" .. (args.n or "b"))
table.insert(retargs, "a=" .. (args.a or "i"))
return table.concat(retargs, "|")
end
-- The entry point for compatibility with {{ru-decl-noun-z}}.
function export.show_z(frame)
local args = clone_args(frame)
local stem = args[1]
local stress = args[2]
local specific = args[4] or ""
-- Parse gender/animacy spec
local gender, anim = rmatch(args[3], "^([mfn])-([a-z]+)")
if not gender then
error("Unrecognized gender/anim spec " .. args[3])
end
if anim ~= "an" and anim ~= "in" then anim = "both" end
args.a = anim
-- Handle specific
specific = rsub(specific, "ё", ";ё")
-- Compute decl; special case for семьянин (perhaps not necessary)
local decl = com.make_unstressed_once(stem) == "семьянин" and "#" .. specific or gender .. specific
-- Handle overrides
args.pre_sg = args.prp_sg
args.pre_pl = args.prp_pl
args.notes = args.note
if args.par then
args.par = "+"
end
if args.loc then
if args.loc == "в" then
args.loc = "в +"
elseif args.loc == "на" then
args.loc = "на +"
else
args.loc = "в +,на +"
end
end
local arg_set = {}
table.insert(arg_set, stress)
table.insert(arg_set, stem)
table.insert(arg_set, decl)
local per_word_info = {{{arg_set}, ""}}
return generate_forms_1(args, per_word_info)
end
--------------------------------------------------------------------------
-- Autodetection and lemma munging --
--------------------------------------------------------------------------
-- Attempt to detect the type of the lemma based on its ending, separating
-- off the stem and the ending. GENDER must be present with -ь and plural
-- stems, and is otherwise ignored. Return up to three values: The stem
-- (lemma minus ending), the singular lemma ending, and if the lemma was
-- plural, the plural lemma ending. If the lemma was singular, the singular
-- lemma ending will contain any user-given accents; likewise, if the
-- lemma was plural, the plural ending will contain such accents.
-- VARIANT comes from the declension spec and controls certain declension
-- variants.
local function detect_lemma_type(lemma, tr, gender, args, variant)
local base, ending = rmatch(lemma, "^(.*)([еЕ]" .. AC .. ")$") -- accented
if base then
return base, com.strip_tr_ending(tr, ending), ulower(ending)
end
base, ending = rmatch(lemma, "^(.*[" .. com.sib_c .. "])([еЕ])$") -- unaccented
if base then
if variant == "-ище" and not rfind(lemma, "[щЩ][еЕ]$") then
error("With declension variant -ище, lemma should end in -ще: " .. lemma)
end
return base, com.strip_tr_ending(tr, ending), variant == "-ище" and "(ищ)е-и" or "о"
end
if variant == "-ишко" then
base, ending = rmatch(lemma, "^(.*[шШ][кК])([оО])$") -- unaccented
if not base then
error("With declension variant -ишко, lemma should end in -шко: " .. lemma)
end
return base, com.strip_tr_ending(tr, ending), "(ишк)о-и"
end
if variant == "-ин" then
base, ending = rmatch(lemma, "^(.*)([иИ][" .. AC .. GR .. "]?[нН][ъЪ]?)$") -- maybe accented
if not base then
error("With declension variant -ин, lemma should end in -ин(ъ): " .. lemma)
end
return base, com.strip_tr_ending(tr, ending), ulower(ending)
end
-- Now autodetect -ин; only animate and in -анин/-янин
base, ending = rmatch(lemma, "^(.*[аАяЯ][" .. AC .. GR .. "]?[нН])([иИ][" .. AC .. GR .. "]?[нН][ъЪ]?)$")
-- Need to check the animacy to avoid nouns like маиганин, цианин,
-- меланин, соланин, etc.
if base and args.thisa == "a" then
return base, com.strip_tr_ending(tr, ending), ulower(ending)
end
base, ending = rmatch(lemma, "^(.*)([ёЁ]" .. AC .. "?[нН][оО][кК][ъЪ]?)$")
if base then
return base, com.strip_tr_ending(tr, ending), ulower(ending)
end
base, ending = rmatch(lemma, "^(.*[" .. com.sib_c .. "])([оО]" .. AC .. "[нН][оО][кК][ъЪ]?)$")
if base then
return base, com.strip_tr_ending(tr, ending), ulower(ending)
end
base, ending = rmatch(lemma, "^(.*)([ёЁ]" .. AC .. "?[нН][оО][чЧ][еЕ][кК][ъЪ]?)$")
if base then
return base, com.strip_tr_ending(tr, ending), ulower(ending)
end
base, ending = rmatch(lemma, "^(.*[" .. com.sib_c .. "])([оО]" .. AC .. "[нН][оО][чЧ][еЕ][кК][ъЪ]?)$")
if base then
return base, com.strip_tr_ending(tr, ending), ulower(ending)
end
base, ending = rmatch(lemma, "^(.*)([мМ][яЯ][" .. AC .. GR .. "]?)$")
if base then
return base, com.strip_tr_ending(tr, ending), ulower(ending)
end
--recognize plural endings
if gender == "n" then
base, ending = rmatch(lemma, "^(.*)([ьЬ][яЯ][" .. AC .. GR .. "]?)$")
if base then
-- Don't do this; о/-ья is too rare
-- error("Ambiguous plural lemma " .. lemma .. " in -ья, singular could be -о or -ье/-ьё; specify the singular")
return base, com.strip_tr_ending(tr, ending), "ье", ending
end
base, ending = rmatch(lemma, "^(.*)([аяАЯ][" .. AC .. GR .. "]?)$")
if base then
return base, com.strip_tr_ending(tr, ending), rfind(ending, "[аА]") and "о" or "е", ending
end
base, ending = rmatch(lemma, "^(.*)([ыиЫИ][" .. AC .. GR .. "]?)$")
if base then
if rfind(ending, "[ыЫ]") or rfind(base, "[" .. com.sib .. com.velar .. "]$") then
return base, com.strip_tr_ending(tr, ending), "о-и", ending
else
-- FIXME, should we return a slash declension?
error("No neuter declension е-и available; use a slash declension")
end
end
end
if gender == "f" then
base, ending = rmatch(lemma, "^(.*)([ьЬ][иИ][" .. AC .. GR .. "]?)$")
if base then
return base, com.strip_tr_ending(tr, ending), "ья", ending
end
end
-- Recognize masculines with irregular plurals, but only if the user
-- either explicitly specified that this noun is plural (n=p) or
-- specifically requested the irregular plural. This is necessary
-- because some masculine nouns have feminine endings, which look
-- like irregular plurals.
if gender == "m" then
if args.thisn == "p" or variant == "-ья" then
base, ending = rmatch(lemma, "^(.*)([ьЬ][яЯ][" .. AC .. GR .. "]?)$")
if base then
return base, com.strip_tr_ending(tr, ending), (args.old and "ъ-ья" or "-ья"), ending
end
end
if args.thisn == "p" or args.want_sc1 then
base, ending = rmatch(lemma, "^(.*)([аА][" .. AC .. GR .. "]?)$")
if base then
return base, com.strip_tr_ending(tr, ending), (args.old and "ъ-а" or "-а"), ending
end
base, ending = rmatch(lemma, "^(.*)([яЯ][" .. AC .. GR .. "]?)$")
if base then
if rfind(base, "[" .. com.vowel .. "][" .. AC .. GR .. "]?$") then
return base, com.strip_tr_ending(tr, ending), "й-я", ending
else
return base, com.strip_tr_ending(tr, ending), "ь-я", ending
end
end
end
end
if gender == "m" or gender == "f" then
base, ending = rmatch(lemma, "^(.*[" .. com.sib .. com.velar .. "])([иИ][" .. AC .. GR .. "]?)$")
if not base then
base, ending = rmatch(lemma, "^(.*)([ыЫ][" .. AC .. GR .. "]?)$")
end
if base then
return base, com.strip_tr_ending(tr, ending), gender == "m" and (args.old and "ъ" or "") or "а", ending
end
base, ending = rmatch(lemma, "^(.*[" .. com.vowel .. "й][" .. AC .. GR .. "]?)([иИ][" .. AC .. GR .. "]?)$")
if base then
return base, com.strip_tr_ending(tr, ending), gender == "m" and "й" or "я", ending
end
base, ending = rmatch(lemma, "^(.*)([иИ][" .. AC .. GR .. "]?)$")
if base then
return base, com.strip_tr_ending(tr, ending), gender == "m" and "ь-m" or "я", ending
end
end
if gender == "3f" then
base, ending = rmatch(lemma, "^(.*)([иИ][" .. AC .. GR .. "]?)$")
if base then
return base, com.strip_tr_ending(tr, ending), "ь-f", ending
end
end
-- end of recognize-plurals code
base, ending = rmatch(lemma, "^(.*)([ьЬ][яеёЯЕЁ][" .. AC .. GR .. "]?)$")
if base then
return base, com.strip_tr_ending(tr, ending), ulower(ending)
end
base, ending = rmatch(lemma, "^(.*)([йаяеоёъЙАЯЕОЁЪ][" .. AC .. GR .. "]?)$")
if base then
return base, com.strip_tr_ending(tr, ending), ulower(ending)
end
base, ending = rmatch(lemma, "^(.*)([ьЬ])$")
if base then
if gender == "m" or gender == "f" then
return base, com.strip_tr_ending(tr, ending), "ь-" .. gender
elseif gender == "3f" then
return base, com.strip_tr_ending(tr, ending), "ь-f"
else
error("Need to specify gender m or f with lemma in -ь: ".. lemma)
end
end
if rfind(lemma, "[ыиЫИ][" .. AC .. GR .. "]?$") then
error("If this is a plural lemma, gender must be specified: " .. lemma)
elseif rfind(lemma, "[иИіІуУыЫѣѢэЭюЮѵѴ]" .. DIA .. "?[" .. AC .. GR .. "]?$") then
error("Don't know how to decline lemma ending in this type of vowel: " .. lemma)
end
return lemma, tr, ""
end
local plural_variant_detection_map = {
[""] = {["-ья"]="-ья"},
["ъ"] = {["-ья"]="ъ-ья"},
}
local special_case_1_to_plural_variant = {
[""] = "-а",
["ъ"] = "ъ-а",
["й"] = "й-я",
["ь-m"] = "ь-я",
["о"] = "о-и",
-- these last two are here to avoid getting errors in that checks for
-- compatibility with special case 1; the basic variants of these decls
-- don't actually exist
["(ишк)о"] = "(ишк)о-и",
["(ищ)е"] = "(ищ)е-и",
}
local function map_decl(decl, fun)
if rfind(decl, "/") then
local split_decl = rsplit(decl, "/")
if #split_decl ~= 2 then
error("Mixed declensional class " .. decl
.. "needs exactly two classes, singular and plural")
end
return fun(split_decl[1]) .. "/" .. fun(split_decl[2])
else
return fun(decl)
end
end
-- Canonicalize decl class into non-accented and alias-resolved form;
-- but note that some canonical decl class names with an accent in them
-- (e.g. е́, not the same as е, whose accented version is ё; and various
-- adjective declensions).
local function canonicalize_decl(decl, old)
local function do_canon(decl)
-- remove accents, but not from е́ (for adj decls, accent matters
-- as well but we handle that by mapping the accent to a stress pattern
-- and then to the accented version in determine_stress_variant())
if decl ~= "е́" then
decl = com.remove_accents(decl)
end
local decl_aliases = old and declensions_old_aliases or declensions_aliases
local decl_cats = old and declensions_old_cat or declensions_cat
if decl_aliases[decl] then
-- If we find an alias, map it.
decl = decl_aliases[decl]
elseif not decl_cats[decl] then
error("Unrecognized declension class " .. decl)
end
return decl
end
return map_decl(decl, do_canon)
end
-- Attempt to determine the actual declension (including plural variants)
-- based on a combination of the declension the user specified, what can be
-- detected from the lemma, and special case (1), if given in the declension.
-- DECL is the value the user passed for the declension field, after
-- extraneous annotations (special cases (1) and (2), * for reducible,
-- ё for ё/ё alternation and a ; that may precede ё) have been stripped off.
-- What's left is one of the following:
--
-- 1. Blank, meaning to autodetect the declension from the lemma
-- 2. A hyphen followed by a declension variant (-ья, -ин, -ишко, -ище; see
-- long comment at top of file)
-- 3. A gender (m, f, n, 3f)
-- 4. A gender plus declension variant (e.g. f-ья)
-- 5. An actual declension, possibly including a plural variant (e.g. о-и) or
-- a slash declension (e.g. я/-ья, used for the noun дядя).
--
-- Return seven args: stem (lemma minus ending), translit, canonicalized
-- declension, explicitly specified gender if any (m, f, n or nil), whether
-- the specified declension or detected ending was accented, whether the
-- detected ending was pl, and whether the declension was autodetected
-- (corresponds to cases where a full word with ending attached is required
-- in the lemma field). "Canonicalized" means after autodetection, with
-- accents removed, with any aliases mapped to their canonical versions
-- and with any requested declension variants applied. The result is either a
-- declension that will have a categorization entry (in declensions_cat[] or
-- declensions_old_cat[]) or a slash declension where each part similarly has
-- a categorization entry.
--
-- Note that gender is never required when an explicit declension is given,
-- and in connection with stem autodetection is required only when the lemma
-- either ends in -ь or is plural.
determine_decl = function(lemma, tr, decl, args)
-- Assume we're passed a value for DECL of types 1-4 above, and
-- fetch gender and requested declension variant.
local stem
local want_ya_plural, orig_pl_ending, variant
local was_autodetected
local gender = rmatch(decl, "^(3?[mfn]?)$")
if not gender then
gender, variant = rmatch(decl, "^(3?[mfn]?)(%-[^%-]+)$")
-- But be careful with explicit declensions like -а that look like
-- variants without gender (FIXME, eventually we should maybe do
-- something about the potential ambiguity).
if gender == "" and not m_table.contains({"-ья", "-ин", "-ишко", "-ище"}, variant) then
gender, variant = nil, nil
end
end
-- If DECL is of type 1-4, handle declension variants and detect
-- the actual declension from the lemma.
if gender then
-- Check for declension variants
if variant then
if variant == "-ья" then
want_ya_plural = "-ья"
else
-- Sanity-check remaining declension variants, which need
-- specific values of animacy, gender and special-case (1)
local sc1_needed
local animate_needed
if variant == "-ишко" then
animate_needed = false
sc1_needed = true
elseif variant == "-ище" then
animate_needed = true
sc1_needed = true
elseif variant == "-ин" then
animate_needed = true
sc1_needed = false
else
-- WARNING: If adding another variant, you need to also
-- add to the list farther above.
error("Unrecognized declension variant " .. variant .. ", should be -ья, -ин, -ишко or -ище")
end
if sc1_needed and not args.want_sc1 then
error("Declension variant " .. variant .. " must be used with special case (1)")
elseif sc1_needed == false and args.want_sc1 then
error("Declension variant " .. variant .. " must not be used with special case (1)")
end
if animate_needed and args.thisa ~= "a" then
error("Declension variant " .. variant .. " must be specified as animate")
elseif animate_needed == false and args.thisa == "a" then
error("Declension variant " .. variant .. " must not be specified as animate")
end
if gender ~= "" and gender ~= "m" then
error("Declension variant " .. variant .. " should be used with the masculine gender")
end
end
end
stem, tr, decl, orig_pl_ending = detect_lemma_type(lemma, tr, gender,
args, variant)
was_autodetected = true
else
stem, tr = lemma, tr
end
-- Now canonicalize gender
if gender == "3f" then
gender = "f"
elseif gender == "" then
gender = nil
end
-- The ending should be treated as accented if either the original singular
-- or plural ending was accented, or if the stem is non-syllabic.
local was_accented = com.is_stressed(decl) or
orig_pl_ending and com.is_stressed(orig_pl_ending) or
com.is_nonsyllabic(stem)
local was_plural = not not orig_pl_ending
decl = canonicalize_decl(decl, args.old)
-- The rest of this code concerns plural variants. It's somewhat
-- complicated because there are potentially four sources of plural
-- variants (not to mention plural variants constructed using slash
-- notation):
--
-- 1. A user-requested plural variant in declension types 2 or 4 above
-- (currently only -ья)
-- 2. An explicit plural variant encoded in an explicit declension of
-- type 5 above
-- 3. An autodetected plural variant (which will happen in some cases
-- when autodetection is performed on a nominative plural)
-- 4. A plural variant derived using special case (1).
--
-- Up to three actual plural variants might exist (e.g. if the user
-- specifies a DECL value or 'm-ья(1)' and a STEM ending in -а,
-- although not all three can ever be compatible because -ья and (1)
-- are never compatible). We can't have all four because if there's
-- an explicit plural variant, there won't be a user-requested or
-- autodetected plural variant.
--
-- The goal below is to do two things: Check that all available plural
-- variants are the same, and generate the actual declension.
-- If we have a type-2 or type-3 variant, we already have the actual
-- declension; else we need to use a table to map the basic declension
-- to the one with the plural variant encoded in it.
--
-- NOTE: The code below was written with a more general plural-variant
-- system. It probably can be simplified a lot now.
-- 1: Handle explicit decl with slash variant
if rfind(decl, "/") then
if want_ya_plural then
-- Don't think this can happen
error("Plural variant " .. want_ya_plural .. " not compatible with slash declension " .. decl)
end
if args.want_sc1 then
error("Special case (1) not compatible with slash declension" .. decl)
end
return stem, tr, decl, gender, was_accented, was_plural, was_autodetected
end
-- 2: Retrieve explicitly specified or autodetected decl and pl. variant
local basic_decl, detected_or_explicit_plural = rmatch(decl, "^(.*)(%-[^mf]+)$")
if basic_decl == "ь" then
basic_decl = "ь-m"
end
basic_decl = basic_decl or decl
-- 3: Any user-requested plural variant must agree with explicit or
-- autodetected variant.
if want_ya_plural and detected_or_explicit_plural and want_ya_plural ~= detected_or_explicit_plural then
error("Plural variant " .. want_ya_plural .. " requested but plural variant " .. detected_or_explicit_plural .. " detected from plural stem")
end
-- 4: Handle special case (1). Derive the full declension, make sure its
-- plural variant matches any other available plural variants, and
-- return the declension.
if args.want_sc1 then
local sc1_decl = special_case_1_to_plural_variant[basic_decl] or
error("Special case (1) not compatible with declension " .. basic_decl)
local sc1_plural = rsub(sc1_decl, "^.*%-", "-")
local other_plural = want_ya_plural or detected_or_explicit_plural
if other_plural and sc1_plural ~= other_plural then
error("Plural variant " .. other_plural .. " specified or detected, but special case (1) calls for plural variant " .. sc1_plural)
end
return stem, tr, sc1_decl, gender, was_accented, was_plural, was_autodetected
end
-- 5: Handle user-requested plural variant without explicit or detected
-- one. (If an explicit or detected one exists, we've already checked
-- that it agrees with the user-requested one, and so we already have
-- our full declension.)
if want_ya_plural and not detected_or_explicit_plural then
local variant_decl
if plural_variant_detection_map[decl] then
variant_decl = plural_variant_detection_map[decl][want_ya_plural]
end
if variant_decl then
return stem, tr, variant_decl, gender, was_accented, was_plural, was_autodetected
else
return stem, tr, decl .. (args.old and "/ъ-ья" or "/-ья"), gender, was_accented, was_plural, was_autodetected
end
end
-- 6: Just return the full declension, which will include any available
-- plural variant in it.
return stem, tr, decl, gender, was_accented, was_plural, was_autodetected
end
-- Convert soft adjectival declensions into hard ones following certain
-- stem-final consonants. FIXME: We call this in two places, once
-- to handle auto-detection and once to handle explicit declensions; but
-- in the former case we end up calling it twice.
local function determine_adj_stem_variant(decl, stem)
local iend = rmatch(decl, "^%+[іи]([йея]?)$")
-- Convert ій/ий to ый after velar or sibilant. This is important for
-- velars; doesn't really matter one way or the other for sibilants as
-- the sibilant rules will convert both sets of endings to the same
-- thing (whereas there will be a difference with о vs. е for velars).
if iend and rfind(stem, "[" .. com.velar .. com.sib .. "]$") then
decl = "+ы" .. iend
-- The following is necessary for -ц, unclear if makes sense for
-- sibilants. (Would be necessary -- I think -- if we were
-- inferring short adjective forms, but we're not.)
elseif decl == "+ее" and rfind(stem, "[" .. com.sib_c .. "]$") then
decl = "+ое"
end
return decl
end
-- Attempt to determine the actual adjective declension based on a
-- combination of the declension the user specified and what can be detected
-- from the stem. DECL is the value the user passed for the declension field,
-- after extraneous annotations have been removed (although none are probably
-- relevant here). What's left is one of the following, which always begins
-- with +:
--
-- 1. +, meaning to autodetect the declension from the stem
-- 2. +ь, same as + but selects +ьий instead of +ий if lemma ends in -ий
-- 3. +short, +mixed or +proper, with the declension partly specified but
-- the particular gender/number-specific short/mixed variant to be
-- autodetected
-- 4. A gender (+m, +f or +n), used only for detecting the singular of
-- plural-form lemmas (this is primarily used in conjunction with template
-- ru-noun+, to explicitly specify the gender; for the actual declension,
-- it doesn't much matter what singular gender we pick since we're a
-- plural only)
-- 5. A gender plus short/mixed/proper/ь (e.g. +f-mixed), again with the gender
-- used only for detecting the singular of plural-form short/mixed lemmas
-- 6. An actual declension, possibly including a slash declension
-- (WARNING: Unclear if slash declensions will work, especially those
-- that are adjective/noun combinations)
--
-- Returns the same seven args as for determine_decl(). The returned
-- declension will always begin with +.
detect_adj_type = function(lemma, tr, decl, old)
local was_autodetected
local base, ending
local basedecl, g = rmatch(decl, "^(%+)([mfn])$")
if not basedecl then
g, basedecl = rmatch(decl, "^%+([mfn])%-([a-zь]+)$")
if basedecl then
basedecl = "+" .. basedecl
end
end
decl = basedecl or decl
if decl == "+" or decl == "+ь" then
local loc = rfind(lemma, "[аеиіоыя][" .. AC .. GR .. "]?[йея]$") or rfind(lemma, "ь[йея]$")
if loc then
base, ending = usub(lemma, 1, loc - 1), usub(lemma, loc)
end
if ending == "ий" and decl == "+ь" then
decl = "+ьий"
elseif ending == "ій" and decl == "+ь" then
decl = "+ьій"
elseif ending then
decl = "+" .. ending
else
local loc, shortmixed = rfind(lemma, "[аоы][" .. AC .. GR .. "]?$") or rfind(lemma, "ъ?$")
if loc then
base, ending = usub(lemma, 1, loc - 1), usub(lemma, loc)
shortmixed = rfind(base, "^[" .. com.uppercase .. "].*[иы]" .. AC .. "н$") and "stressed-proper" or -- accented
rfind(base, "^[" .. com.uppercase .. "].*[иы]н$") and "proper" or --not accented
rlfind(base, "[ёео][" .. AC .. GR .. "]?в$") and "short" or
rlfind(base, "[ыи]" .. AC .. "н$") and "stressed-short" or -- accented
rlfind(base, "[ыи]н$") and "mixed" --not accented
end
if not shortmixed then
error("Cannot determine stem type of adjective: " .. lemma)
end
decl = "+" .. ending .. "-" .. shortmixed
end
was_autodetected = true
elseif m_table.contains({"+short", "+mixed", "+proper"}, decl) then
base, ending = rmatch(lemma, "^(.-)([оаыъ]?[" .. AC .. GR .. "]?)$")
assert(base)
local shortmixed = usub(decl, 2)
if rlfind(base, "[ыи]" .. AC .. "н$") then -- accented
if shortmixed == "short" then shortmixed = "stressed-short"
elseif shortmixed == "proper" then shortmixed = "stressed-proper"
end
end
decl = "+" .. ending .. "-" .. shortmixed
was_autodetected = true
else
base = lemma
end
if ending and ending ~= "" then
tr = com.strip_tr_ending(tr, ending)
end
-- Remove any accents from the declension, but not their presence.
-- We will convert was_accented into stress pattern b, and convert that
-- back to an accented version in determine_stress_variant(). This way
-- we end up with the stressed version whether the user placed an accent
-- in the ending or decl or specified stress pattern b.
-- FIXME, might not work in the presence of slash declensions
local was_accented = com.is_stressed(decl)
decl = com.remove_accents(decl)
decl = map_decl(decl, function(decl)
return determine_adj_stem_variant(decl, base)
end)
local singdecl
if decl == "+ые" then
singdecl = (g == "m" or not g) and (was_accented and "+ой" or "+ый") or not old and g == "f" and "+ая" or not old and g == "n" and "+ое"
elseif decl == "+ыя" and old then
singdecl = (g == "f" or not g) and "+ая" or g == "n" and "+ое"
elseif decl == "+ие" and not old then
singdecl = (g == "m" or not g) and "+ий" or g == "f" and "+яя" or g == "n" and "+ее"
elseif decl == "+іе" and old and (g == "m" or not g) then
singdecl = "+ій"
elseif decl == "+ія" and old then
singdecl = (g == "f" or not g) and "+яя" or g == "n" and "+ее"
elseif decl == "+ьи" then
singdecl = (g == "m" or not g) and (old and "+ьій" or "+ьий") or g == "f" and "+ья" or g == "n" and "+ье"
elseif rfind(decl, "^%+ы%-") then -- decl +ы-mixed or similar
local beg = (g == "m" or not g) and (old and "ъ" or "") or g == "f" and "а" or g == "n" and "о"
singdecl = beg and "+" .. beg .. usub(decl, 3)
end
if singdecl then
was_plural = true
decl = singdecl
end
return base, tr, canonicalize_decl(decl, old), g, was_accented, was_plural, was_autodetected
end
-- If stress pattern omitted, detect it based on whether ending is stressed
-- or the decl class or stem accent calls for inherent stress, defaulting to
-- pattern a. This is run after alias resolution and accent removal of DECL;
-- WAS_ACCENTED indicates whether the ending was originally stressed.
-- FIXME: This is run before splitting slash patterns but should be run after.
detect_stress_pattern = function(stem, decl, decl_cats, reducible,
was_plural, was_accented)
-- ёнок and ёночек always bear stress
if rfind(decl, "ёнокъ?") or rfind(decl, "ёночекъ?") then
return "b"
-- stressed suffix и́н; missing in plural and true endings don't bear stress
-- (except for exceptional господи́н)
elseif rfind(decl, "инъ?") and was_accented then
return "d"
-- Adjectival -ой always bears the stress
elseif rfind(decl, "%+ой") then
return "b"
-- Adjectival stressed-short, stressed-proper bears the stress
elseif rfind(decl, "^%+.*%-stressed") then
return "b"
-- Pattern b if ending was accented by user
elseif was_accented then
return "b"
-- Nonsyllabic stem means pattern b
elseif com.is_nonsyllabic(stem) then
return "b"
-- Accent on reducible vowel in masc nom sg (not plural) means pattern b.
-- Think about whether we want to enable this.
-- elseif reducible and not was_plural then
-- -- FIXME hack. Eliminate plural part of slash declension.
-- decl = rsub(decl, "/.*", "")
-- if decl_cats[decl] and decl_cats[decl].g == "m" then
-- if com.is_ending_stressed(stem) or com.is_monosyllabic(stem) then
-- return "b"
-- end
-- end
end
return "a"
end
-- In certain special cases, depending on the declension, we override the
-- user-specified stress pattern and convert it to something else.
-- NOTE: This function is run after alias resolution and accent removal.
-- FIXME: It's also run before splitting slash patterns but should be run after.
override_stress_pattern = function(decl, stress)
-- ёнок and ёночек always bear stress; if user specified a,
-- convert to b. Don't do this with slash patterns (see FIXME above).
if stress == "a" and (rfind(decl, "^ёнокъ?$") or rfind(decl, "^ёночекъ?$")) then
return "b"
end
return stress
end
-- Canonicalize an adjectival declension to either the stressed or unstressed
-- variant depending on the stress. Ultimately this is what ensures that
-- the user's stress mark on an adjectival ending is respected.
determine_stress_variant = function(decl, stress)
if stress == "b" then
if decl == "+ая" then
return "+а́я"
elseif decl == "+ое" then
return "+о́е"
else
-- Convert +...-short to +...-stressed-short and same for -proper
local b, e = rmatch(decl, "^%+(.*)%-(short)$")
if not b then
b, e = rmatch(decl, "^%+(.*)%-(proper)$")
end
if b and not rfind(b, "%-stressed") then
return "+" .. b .. "-stressed-" .. e
end
end
end
return decl
end
-- Canonicalize a declension based on the final stem consonant, in
-- particular converting soft declensions to hard ones after velars and/or
-- sibilants. FIXME: We also do this canonicalization earlier on during
-- auto-detection (determine_adj_stem_variant() is called by
-- detect_adj_type(), and code in detect_lemma_type() does the equivalent
-- of the first clause below). Doing it here ensures that explicitly
-- specified declensions get handled as well, but it would be nice to not
-- do the same thing twice in the auto-detection case.
determine_stem_variant = function(decl, stem)
if decl == "е" and rfind(stem, "[" .. com.sib_c .. "]$") then
return "о"
end
return determine_adj_stem_variant(decl, stem)
end
is_reducible = function(decl_cat)
if decl_cat.suffix or decl_cat.cant_reduce or decl_cat.adj then
return false
elseif decl_cat.decl == "3rd" and decl_cat.g == "f" or decl_cat.g == "m" then
return true
else
return false
end
end
-- Reduce nom sg to stem by eliminating the "epenthetic" vowel. Applies to
-- masculine 2nd-declension hard and soft, and 3rd-declension feminine in
-- -ь. STEM and DECL are after determine_decl(), before converting
-- outward-facing declensions to inward ones.
function export.reduce_nom_sg_stem(stem, tr, decl, soft_n, can_err)
local full_stem = stem .. (decl == "й" and decl or "")
local full_tr = tr and tr .. (decl == "й" and "j" or "")
local ret, rettr = com.reduce_stem(full_stem, full_tr, soft_n)
if not ret and can_err then
error("Unable to reduce stem " .. stem)
end
return ret, rettr
end
is_dereducible = function(decl_cat)
if decl_cat.suffix or decl_cat.cant_reduce or decl_cat.adj then
return false
elseif decl_cat.decl == "1st" or decl_cat.decl == "2nd" and decl_cat.g == "n" then
return true
else
return false
end
end
-- Add a possible suffix to the bare stem, according to the declension and
-- value of OLD. This may be -ь, -ъ, -й or nothing. We need to do this here
-- because we don't actually attach such a suffix in attach_unstressed() due
-- to situations where we don't want the suffix added, e.g. dereducible nouns
-- in -ня.
add_bare_suffix = function(bare, baretr, old, sgdc, dereduced)
if old and sgdc.hard == "hard" then
-- Final -ъ isn't transliterated
return bare .. "ъ", baretr
elseif sgdc.hard == "soft" or sgdc.hard == "palatal" then
-- This next clause corresponds to a special case in Vitalik's module.
-- It says that nouns in -ня (accent class a) have gen pl without
-- trailing -ь. It appears to apply to most nouns in -ня (possibly
-- all in -льня), but ку́хня (gen pl ку́хонь) and дерéвня (gen pl
-- дереве́нь) is an exception. (Vitalik's module has an extra
-- condition here 'stress == "a"' that would exclude дере́вня but I
-- don't think this condition is in Zaliznyak, as he indicates
-- дере́вня as having an exceptional genitive plural.)
if dereduced and rfind(bare, "[нН]$") and sgdc.decl == "1st" then
-- FIXME: What happens in this case old-style? I assume that
-- -ъ is added, but this is a guess.
-- Final -ъ isn't transliterated
return bare .. (old and "ъ" or ""), baretr
elseif rfind(bare, "[" .. com.vowel .. "][" .. AC .. GR .. "]?$") then
return bare .. "й", baretr and (baretr .. "j")
else
return bare .. "ь", baretr and (baretr .. "ʹ")
end
else
return bare, baretr
end
end
-- Dereduce stem to the form found in the gen pl (and maybe nom sg) by
-- inserting an epenthetic vowel. Applies to 1st declension and 2nd
-- declension neuter, and to 2nd declension masculine when the stem was
-- specified as a plural form (in which case we're deriving the nom sg,
-- and also the gen pl in the alt-gen-pl scenario). STEM and DECL are
-- after determine_decl(), before converting outward-facing declensions
-- to inward ones. STRESS is the stess pattern.
function export.dereduce_nom_sg_stem(stem, tr, sgdc, stress, old, can_err)
local epenthetic_stress = ending_stressed_gen_pl_patterns[stress]
local ret, rettr = com.dereduce_stem(stem, tr, epenthetic_stress)
if not ret then
if can_err then
error("Unable to dereduce stem " .. stem)
else
return nil, nil
end
end
return add_bare_suffix(ret, rettr, old, sgdc, true)
end
--------------------------------------------------------------------------
-- Second-declension masculine --
--------------------------------------------------------------------------
----------------- Masculine hard -------------------
-- Hard-masculine declension, ending in a hard consonant
-- (ending in -ъ, old-style).
declensions_old["ъ"] = {
["nom_sg"] = "ъ",
["gen_sg"] = "а́",
["dat_sg"] = "у́",
["acc_sg"] = nil,
["ins_sg"] = "о́мъ",
["pre_sg"] = "ѣ́",
["nom_pl"] = "ы́",
["gen_pl"] = function(stem, stress)
return nom.sibilant_suffixes[ulower(usub(stem, -1))] and "е́й" or "о́въ"
end,
["alt_gen_pl"] = "ъ",
["dat_pl"] = "а́мъ",
["acc_pl"] = nil,
["ins_pl"] = "а́ми",
["pre_pl"] = "а́хъ",
}
declensions_old_cat["ъ"] = { decl="2nd", hard="hard", g="m" }
-- Normal mapping of old ъ would be "" (blank), but we set up "#" as an alias
-- so we have a way of referring to it without defaulting if need be and
-- distinct from auto-detection (e.g. in the second stem of a word, or to
-- override autodetection of -ёнок or -ин -- the latter is necessary in the
-- case of семьянин).
declensions_aliases["#"] = ""
----------------- Masculine hard, irregular plural -------------------
-- Hard-masculine declension, ending in a hard consonant
-- (ending in -ъ, old-style), with irreg nom pl -а.
declensions_old["ъ-а"] = mw.clone(declensions_old["ъ"])
declensions_old["ъ-а"]["nom_pl"] = "а́"
declensions_old_cat["ъ-а"] = { decl="2nd", hard="hard", g="m", alt_nom_pl=true }
declensions_aliases["#-a"] = "-a"
-- Hard-masculine declension, ending in a hard consonant
-- (ending in -ъ, old-style), with irreg soft pl -ья.
-- Differs from the normal declension throughout the plural.
declensions_old["ъ-ья"] = {
["nom_sg"] = "ъ",
["gen_sg"] = "а́",
["dat_sg"] = "у́",
["acc_sg"] = nil,
["ins_sg"] = "о́мъ",
["pre_sg"] = "ѣ́",
["nom_pl"] = "ья́",
["gen_pl"] = "ьёвъ",
["alt_gen_pl"] = "е́й",
["dat_pl"] = "ья́мъ",
["acc_pl"] = nil,
["ins_pl"] = "ья́ми",
["pre_pl"] = "ья́хъ",
}
declensions_old_cat["ъ-ья"] = { decl="2nd", hard="hard", g="m", irregpl=true }
declensions_aliases["#-ья"] = "-ья"
----------------- Masculine hard, suffixed, irregular plural -------------------
declensions_old["инъ"] = {
["nom_sg"] = "и́нъ",
["gen_sg"] = "и́на",
["dat_sg"] = "и́ну",
["acc_sg"] = nil,
["ins_sg"] = "и́номъ",
["pre_sg"] = "и́нѣ",
["nom_pl"] = "е́",
["gen_pl"] = "ъ",
["dat_pl"] = "а́мъ",
["acc_pl"] = nil,
["ins_pl"] = "а́ми",
["pre_pl"] = "а́хъ",
}
declensions_old_cat["инъ"] = { decl="2nd", hard="hard", g="m", suffix=true }
declensions_old["ёнокъ"] = {
["nom_sg"] = "ёнокъ",
["gen_sg"] = "ёнка",
["dat_sg"] = "ёнку",
["acc_sg"] = nil,
["ins_sg"] = "ёнкомъ",
["pre_sg"] = "ёнкѣ",
["nom_pl"] = "я́та",
["gen_pl"] = "я́тъ",
["dat_pl"] = "я́тамъ",
["acc_pl"] = nil,
["ins_pl"] = "я́тами",
["pre_pl"] = "я́тахъ",
}
declensions_old_cat["ёнокъ"] = { decl="2nd", hard="hard", g="m", suffix=true }
declensions_old_aliases["онокъ"] = "ёнокъ"
declensions_old_aliases["енокъ"] = "ёнокъ"
declensions_old["ёночекъ"] = {
["nom_sg"] = "ёночекъ",
["gen_sg"] = "ёночка",
["dat_sg"] = "ёночку",
["acc_sg"] = nil,
["ins_sg"] = "ёночкомъ",
["pre_sg"] = "ёночкѣ",
["nom_pl"] = "я́тки",
["gen_pl"] = "я́токъ",
["dat_pl"] = "я́ткамъ",
["acc_pl"] = nil,
["ins_pl"] = "я́тками",
["pre_pl"] = "я́ткахъ",
}
declensions_old_cat["ёночекъ"] = { decl="2nd", hard="hard", g="m", suffix=true }
declensions_old_aliases["оночекъ"] = "ёночекъ"
declensions_old_aliases["еночекъ"] = "ёночекъ"
----------------- Masculine soft -------------------
-- Normal soft-masculine declension in -ь
declensions_old["ь-m"] = {
["nom_sg"] = "ь",
["gen_sg"] = "я́",
["dat_sg"] = "ю́",
["acc_sg"] = nil,
["ins_sg"] = "ёмъ",
["pre_sg"] = "ѣ́",
["nom_pl"] = "и́",
["gen_pl"] = "е́й",
["alt_gen_pl"] = "ь",
["dat_pl"] = "я́мъ",
["acc_pl"] = nil,
["ins_pl"] = "я́ми",
["pre_pl"] = "я́хъ",
}
declensions_old_cat["ь-m"] = { decl="2nd", hard="soft", g="m" }
-- Soft-masculine declension in -ь with irreg nom pl -я
declensions_old["ь-я"] = mw.clone(declensions_old["ь-m"])
declensions_old["ь-я"]["nom_pl"] = "я́"
declensions_old_cat["ь-я"] = { decl="2nd", hard="soft", g="m", alt_nom_pl=true }
----------------- Masculine palatal -------------------
-- Masculine declension in palatal -й
declensions_old["й"] = {
["nom_sg"] = "й",
["gen_sg"] = "я́",
["dat_sg"] = "ю́",
["acc_sg"] = nil,
["ins_sg"] = "ёмъ",
["pre_sg"] = function(stem, stress)
return rlfind(stem, "[іи][" .. AC .. GR .. "]?$") and not ending_stressed_pre_sg_patterns[stress] and "и" or "ѣ́"
end,
["nom_pl"] = "и́",
["gen_pl"] = "ёвъ",
["alt_gen_pl"] = "й",
["dat_pl"] = "я́мъ",
["acc_pl"] = nil,
["ins_pl"] = "я́ми",
["pre_pl"] = "я́хъ",
}
declensions_old_cat["й"] = { decl="2nd", hard="palatal", g="m" }
declensions_old["й-я"] = mw.clone(declensions_old["й"])
declensions_old["й-я"]["nom_pl"] = "я́"
declensions_old_cat["й-я"] = { decl="2nd", hard="palatal", g="m", alt_nom_pl=true }
--------------------------------------------------------------------------
-- First-declension feminine --
--------------------------------------------------------------------------
----------------- Feminine hard -------------------
-- Hard-feminine declension in -а
declensions_old["а"] = {
["nom_sg"] = "а́",
["gen_sg"] = "ы́",
["dat_sg"] = "ѣ́",
["acc_sg"] = "у́",
["ins_sg"] = {"о́й<insa>", "о́ю<insb>"}, -- see concat_word_forms_1()
["pre_sg"] = "ѣ́",
["nom_pl"] = "ы́",
["gen_pl"] = function(stem, stress)
return nom.sibilant_suffixes[ulower(usub(stem, -1))] and ending_stressed_gen_pl_patterns[stress] and "е́й" or "ъ"
end,
["alt_gen_pl"] = "е́й",
["dat_pl"] = "а́мъ",
["acc_pl"] = nil,
["ins_pl"] = "а́ми",
["pre_pl"] = "а́хъ",
}
declensions_old_cat["а"] = { decl="1st", hard="hard", g="f" }
----------------- Feminine soft -------------------
-- Soft-feminine declension in -я
declensions_old["я"] = {
["nom_sg"] = "я́",
["gen_sg"] = "и́",
["dat_sg"] = function(stem, stress)
return rlfind(stem, "[іи][" .. AC .. GR .. "]?$") and not ending_stressed_dat_sg_patterns[stress] and "и" or "ѣ́"
end,
["acc_sg"] = "ю́",
["ins_sg"] = {"ёй<insa>", "ёю<insb>"}, -- see concat_word_forms_1()
["pre_sg"] = function(stem, stress)
return rlfind(stem, "[іи][" .. AC .. GR .. "]?$") and not ending_stressed_pre_sg_patterns[stress] and "и" or "ѣ́"
end,
["nom_pl"] = "и́",
["gen_pl"] = function(stem, stress)
return ending_stressed_gen_pl_patterns[stress] and not rlfind(stem, "[" .. com.vowel .. "]́?$") and "е́й" or "й"
end,
["alt_gen_pl"] = "е́й",
["dat_pl"] = "я́мъ",
["acc_pl"] = nil,
["ins_pl"] = "я́ми",
["pre_pl"] = "я́хъ",
}
declensions_old_cat["я"] = { decl="1st", hard="soft", g="f" }
-- Soft-feminine declension in -ья.
-- Almost like ь + -я endings except for genitive plural.
declensions_old["ья"] = {
["nom_sg"] = "ья́",
["gen_sg"] = "ьи́",
["dat_sg"] = "ьѣ́",
["acc_sg"] = "ью́",
["ins_sg"] = {"ьёй<insa>", "ьёю<insb>"}, -- see concat_word_forms_1()
["pre_sg"] = "ьѣ́",
["nom_pl"] = "ьи́",
["gen_pl"] = function(stem, stress)
-- circumflex accent is a signal that forces stress, particularly
-- in accent pattern d/d'.
return (ending_stressed_gen_pl_patterns[stress] or stress == "d" or stress == "d'") and "е̂й" or "ий"
end,
["dat_pl"] = "ья́мъ",
["acc_pl"] = nil,
["ins_pl"] = "ья́ми",
["pre_pl"] = "ья́хъ",
}
declensions_old_cat["ья"] = {
decl="1st", hard="soft", g="f",
stem_suffix="ь", gensg=true,
ignore_reduce=true -- already has dereduced gen pl
}
--------------------------------------------------------------------------
-- Second-declension neuter --
--------------------------------------------------------------------------
----------------- Neuter hard -------------------
-- Normal hard-neuter declension in -о
declensions_old["о"] = {
["nom_sg"] = "о́",
["gen_sg"] = "а́",
["dat_sg"] = "у́",
["acc_sg"] = function(stem, stress, args)
return not (args.explicit_gender == "m" and args.thisa == "a") and "о́" or nil
end,
["ins_sg"] = "о́мъ",
["pre_sg"] = "ѣ́",
["nom_pl"] = "а́",
["gen_pl"] = function(stem, stress)
return nom.sibilant_suffixes[ulower(usub(stem, -1))] and ending_stressed_gen_pl_patterns[stress] and "е́й" or "ъ"
end,
["alt_gen_pl"] = "о́въ",
["dat_pl"] = "а́мъ",
["acc_pl"] = nil,
["ins_pl"] = "а́ми",
["pre_pl"] = "а́хъ",
}
declensions_old_cat["о"] = { decl="2nd", hard="hard", g="n" }
-- Hard-neuter declension in -о with irreg nom pl -и
declensions_old["о-и"] = mw.clone(declensions_old["о"])
declensions_old["о-и"]["nom_pl"] = "ы́"
declensions_old_cat["о-и"] = { decl="2nd", hard="hard", g="n", alt_nom_pl=true }
declensions_old_aliases["о-ы"] = "о-и"
-- Masculine-gender neuter-form declension in -(ишк)о with irreg nom pl -и,
-- with colloquial feminine endings in some of the singular cases
-- (§5 p. 74 of Zaliznyak)
declensions_old["(ишк)о-и"] = mw.clone(declensions_old["о-и"])
declensions_old["(ишк)о-и"]["gen_sg"] = {"а́", "ы́1"}
declensions_old["(ишк)о-и"]["dat_sg"] = {"у́", "ѣ́1"}
declensions_old["(ишк)о-и"]["ins_sg"] = {"о́мъ", "о́й1"}
declensions_old_cat["(ишк)о-и"] = { decl="2nd", hard="hard", g="n", colloqfem=true, alt_nom_pl=true }
internal_notes_table_old["(ишк)о-и"] = "<sup>1</sup> 口語。"
-- Masculine-gender animate neuter-form declension in -(ищ)е with irreg
-- nom pl -и, with colloquial feminine endings in some of the singular cases
-- (§4 p. 74 of Zaliznyak)
declensions_old["(ищ)е-и"] = mw.clone(declensions_old["о-и"])
declensions_old["(ищ)е-и"]["acc_sg"] = {"а́", "у́1"}
declensions_old["(ищ)е-и"]["gen_sg"] = {"а́", "ы́2"}
declensions_old["(ищ)е-и"]["dat_sg"] = {"у́", "ѣ́2"}
declensions_old["(ищ)е-и"]["ins_sg"] = {"о́мъ", "о́й2"}
declensions_old_cat["(ищ)е-и"] = { decl="2nd", hard="hard", g="n", colloqfem=true, alt_nom_pl=true }
internal_notes_table_old["(ищ)е-и"] = "<sup>1</sup> 口語。<br /><sup>2</sup> 較不常見,更口語。"
----------------- Neuter soft -------------------
-- Soft-neuter declension in -е (stressed -ё)
declensions_old["е"] = {
["nom_sg"] = "ё",
["gen_sg"] = "я́",
["dat_sg"] = "ю́",
["acc_sg"] = function(stem, stress, args)
return not (args.explicit_gender == "m" and args.thisa == "a") and "ё" or nil
end,
["ins_sg"] = "ёмъ",
["pre_sg"] = function(stem, stress)
return rlfind(stem, "[іи][" .. AC .. GR .. "]?$") and not ending_stressed_pre_sg_patterns[stress] and "и" or "ѣ́"
end,
["nom_pl"] = "я́",
["gen_pl"] = function(stem, stress)
return ending_stressed_gen_pl_patterns[stress] and not rlfind(stem, "[" .. com.vowel .. "][" .. AC .. GR .. "]?$") and "е́й" or "й"
end,
["alt_gen_pl"] = "ёвъ",
["dat_pl"] = "я́мъ",
["acc_pl"] = nil,
["ins_pl"] = "я́ми",
["pre_pl"] = "я́хъ",
}
declensions_old_cat["е"] = {
singular = function(suffix)
if suffix == "ё" then
return "以-ё結尾"
else
return {}
end
end,
decl="2nd", hard="soft", g="n", gensg=true
}
-- User-facing declension type "ё" = "е"
declensions_old_aliases["ё"] = "е"
-- Rare soft-neuter declension in stressed -е́ (e.g. муде́, бытие́)
declensions_old["е́"] = {
["nom_sg"] = "е́",
["gen_sg"] = "я́",
["dat_sg"] = "ю́",
["acc_sg"] = function(stem, stress, args)
return not (args.explicit_gender == "m" and args.thisa == "a") and "е́" or nil
end,
["ins_sg"] = "е́мъ",
["pre_sg"] = function(stem, stress)
-- FIXME!!! Are we sure about this condition? This is what was
-- found in the old template, but the related -е declension has
-- -ие prep sg ending -(и)и only when *not* stressed.
return rlfind(stem, "[іи][" .. AC .. GR .. "]?$") and "и́" or "ѣ́"
end,
["nom_pl"] = "я́",
["gen_pl"] = function(stem, stress)
return rlfind(stem, "[" .. com.vowel .. "][" .. AC .. GR .. "]?$") and "й" or "е́й"
end,
["alt_gen_pl"] = "ёвъ",
["dat_pl"] = "я́мъ",
["acc_pl"] = nil,
["ins_pl"] = "я́ми",
["pre_pl"] = "я́хъ",
}
declensions_old_cat["е́"] = {
singular = "以帶重音的-е結尾",
decl="2nd", hard="soft", g="n", gensg=true
}
-- Soft-neuter declension in unstressed -ье (stressed -ьё).
declensions_old["ье"] = {
["nom_sg"] = "ьё",
["gen_sg"] = "ья́",
["dat_sg"] = "ью́",
["acc_sg"] = function(stem, stress, args)
return not (args.explicit_gender == "m" and args.thisa == "a") and "ьё" or nil
end,
["ins_sg"] = "ьёмъ",
["pre_sg"] = "ьѣ́",
["nom_pl"] = "ья́",
["gen_pl"] = function(stem, stress)
return ending_stressed_gen_pl_patterns[stress] and "е́й" or "ий"
end,
["alt_gen_pl"] = "ьёвъ",
["dat_pl"] = "ья́мъ",
["acc_pl"] = nil,
["ins_pl"] = "ья́ми",
["pre_pl"] = "ья́хъ",
}
declensions_old_cat["ье"] = {
decl="2nd", hard="soft", g="n",
stem_suffix="ь", gensg=true,
ignore_reduce=true -- already has dereduced gen pl
}
declensions_old_aliases["ьё"] = "ье"
--------------------------------------------------------------------------
-- Third declension --
--------------------------------------------------------------------------
declensions_old["ь-f"] = {
["nom_sg"] = "ь",
["gen_sg"] = "и́",
["dat_sg"] = "и́",
["acc_sg"] = "ь",
["ins_sg"] = "ью́",
["pre_sg"] = "и́",
["nom_pl"] = "и́",
["gen_pl"] = "е́й",
["dat_pl"] = "я́мъ",
["acc_pl"] = nil,
["ins_pl"] = "я́ми",
["pre_pl"] = "я́хъ",
}
declensions_old_cat["ь-f"] = { decl="3rd", hard="soft", g="f" }
declensions_old["мя"] = {
["nom_sg"] = "мя",
["gen_sg"] = "мени",
["dat_sg"] = "мени",
["acc_sg"] = nil,
["ins_sg"] = "менемъ",
["pre_sg"] = "мени",
["nom_pl"] = "мена́",
["gen_pl"] = "мёнъ",
["dat_pl"] = "мена́мъ",
["acc_pl"] = nil,
["ins_pl"] = "мена́ми",
["pre_pl"] = "мена́хъ",
}
declensions_old_cat["мя"] = { decl="3rd", hard="soft", g="n", cant_reduce=true }
--------------------------------------------------------------------------
-- Indeclinable --
--------------------------------------------------------------------------
-- Indeclinable declension; no endings.
declensions_old["$"] = {
["nom_sg"] = "",
["gen_sg"] = "",
["dat_sg"] = "",
["acc_sg"] = nil,
["ins_sg"] = "",
["pre_sg"] = "",
["nom_pl"] = "",
["gen_pl"] = "",
["dat_pl"] = "",
["acc_pl"] = nil,
["ins_pl"] = "",
["pre_pl"] = "",
}
declensions_old_cat["$"] = { decl="indeclinable", hard="none", g="none" }
--------------------------------------------------------------------------
-- Adjectival --
--------------------------------------------------------------------------
-- This needs to be up here because it is called just below.
local function old_to_new(v)
v = rsub(v, "ъ$", "")
v = rsub(v, "^ъ", "")
v = rsub(v, "(%A)ъ", "%1")
v = rsub(v, "ъ(%A)", "%1")
v = rsub(v, "і", "и")
v = rsub(v, "ѣ", "е")
return v
end
-- Meaning of entry is:
-- 1. The declension name in module ru-adjective
-- 2. The masculine declension name in this module
-- 3. The neuter declension name in this module
-- 4. The feminine declension name in this module
-- 5. The value of hard= for the declensions_cat entry
-- 6. The value of decl= for the declensions_cat entry
-- 7. The value of possadj= for the declensions_cat entry (true if possessive
-- or similar type of adjective)
local adj_decl_map = {
{"ый", "ый", "ое", "ая", "hard", "long", false},
{"ій", "ій", "ее", "яя", "soft", "long", false},
{"ой", "ой", "о́е", "а́я", "hard", "long", false},
{"ьій", "ьій", "ье", "ья", "palatal", "long", true},
{"short", "ъ-short", "о-short", "а-short", "hard", "short", true},
{"mixed", "ъ-mixed", "о-mixed", "а-mixed", "hard", "mixed", true},
{"proper", "ъ-proper", "о-proper", "а-proper", "hard", "proper", true},
{"stressed-short", "ъ-stressed-short", "о-stressed-short", "а-stressed-short", "hard", "short", true},
{"stressed-proper", "ъ-stressed-proper", "о-stressed-proper", "а-stressed-proper", "hard", "proper", true},
}
local function get_adjectival_decl(adjtype, gender, old)
local decl, intnotes = m_ru_adj.get_nominal_decl(adjtype, gender, old)
-- hack fem ins_sg to insert <insa>, <insb>; see concat_word_forms_1()
if gender == "f" and type(decl["ins_sg"]) == "table" and #decl["ins_sg"] == 2 then
decl["ins_sg"][1] = decl["ins_sg"][1] .. "<insa>"
decl["ins_sg"][2] = decl["ins_sg"][2] .. "<insb>"
end
return decl, intnotes
end
for _, declspec in ipairs(adj_decl_map) do
local oadjdecl = declspec[1]
local nadjdecl = old_to_new(oadjdecl)
local odecl_by_gender =
{m="+" .. declspec[2], n="+" .. declspec[3], f="+" .. declspec[4]}
local hard = declspec[5]
local decltype = declspec[6]
local possadj = declspec[7]
for _, g in ipairs({"m", "n", "f"}) do
local odecl = odecl_by_gender[g]
local ndecl = old_to_new(odecl)
declensions_old[odecl], internal_notes_table_old[odecl] =
get_adjectival_decl(oadjdecl, g, true)
declensions[ndecl], internal_notes_table[ndecl] =
get_adjectival_decl(nadjdecl, g, false)
declensions_old_cat[odecl] = {
decl=decltype, hard=hard, g=g, adj=true, possadj=possadj }
declensions_cat[ndecl] = {
decl=decltype, hard=hard, g=g, adj=true, possadj=possadj }
end
end
-- Set up some aliases.
declensions_old_aliases["+о́-short"] = "+о-stressed-short"
declensions_old_aliases["+а́-short"] = "+а-stressed-short"
declensions_old_aliases["+о́-proper"] = "+о-stressed-proper"
declensions_old_aliases["+а́-proper"] = "+а-stressed-proper"
declensions_aliases["+#-short"] = "+-short"
declensions_aliases["+#-mixed"] = "+-mixed"
declensions_aliases["+#-proper"] = "+-proper"
declensions_aliases["+#-stressed-short"] = "+-stressed-short"
declensions_aliases["+#-stressed-proper"] = "+-stressed-proper"
--------------------------------------------------------------------------
-- Populate new from old --
--------------------------------------------------------------------------
-- Function to convert an entry in an old declensions table to new.
local function old_decl_entry_to_new(v)
if not v then
return nil
elseif type(v) == "table" then
local new_entry = {}
for _, i in ipairs(v) do
table.insert(new_entry, old_decl_entry_to_new(i))
end
return new_entry
elseif type(v) == "function" then
return function(stem, suffix, args)
return old_decl_entry_to_new(v(stem, suffix, args))
end
else
return old_to_new(v)
end
end
-- Function to convert an old declensions table to new.
local function old_decl_to_new(odecl)
local ndecl = {}
for k, v in pairs(odecl) do
ndecl[k] = old_decl_entry_to_new(v)
end
return ndecl
end
-- Function to convert an entry in an old declensions_cat table to new.
local function old_decl_cat_entry_to_new(odecl_cat_entry)
if not odecl_cat_entry then
return nil
elseif type(odecl_cat_entry) == "function" then
return function(suffix)
return old_decl_cat_entry_to_new(odecl_cat_entry(suffix))
end
elseif type(odecl_cat_entry) == "table" then
local ndecl_cat_entry = {}
for k, v in pairs(odecl_cat_entry) do
ndecl_cat_entry[k] = old_decl_cat_entry_to_new(v)
end
return ndecl_cat_entry
elseif type(odecl_cat_entry) == "boolean" then
return odecl_cat_entry
else
assert(type(odecl_cat_entry) == "string")
return old_to_new(odecl_cat_entry)
end
end
-- Function to convert an old declensions_cat table to new.
local function old_decl_cat_to_new(odeclcat)
local ndeclcat = {}
for k, v in pairs(odeclcat) do
ndeclcat[k] = old_decl_cat_entry_to_new(v)
end
return ndeclcat
end
-- populate declensions[] from declensions_old[]
for odecltype, odecl in pairs(declensions_old) do
local ndecltype = old_to_new(odecltype)
if not declensions[ndecltype] then
declensions[ndecltype] = old_decl_to_new(odecl)
end
end
-- populate declensions_cat[] from declensions_old_cat[]
for odecltype, odeclcat in pairs(declensions_old_cat) do
local ndecltype = old_to_new(odecltype)
if not declensions_cat[ndecltype] then
declensions_cat[ndecltype] = old_decl_cat_to_new(odeclcat)
end
end
-- populate declensions_aliases[] from declensions_old_aliases[]
for ofrom, oto in pairs(declensions_old_aliases) do
local from = old_to_new(ofrom)
if not declensions_aliases[from] then
declensions_aliases[from] = old_to_new(oto)
end
end
-- populate internal_notes_table[] from internal_notes_table_old[]
for odecl, note in pairs(internal_notes_table_old) do
local ndecl = old_to_new(odecl)
if not internal_notes_table[ndecl] then
-- FIXME, should we be calling old_to_new() here?
internal_notes_table[ndecl] = note
end
end
--------------------------------------------------------------------------
-- Inflection functions --
--------------------------------------------------------------------------
-- Attach the stressed stem (or plural stem, or barestem) out of ARGS
-- to the unstressed suffix SUF, modifying the suffix as necessary for the
-- last letter of the stem (e.g. if it is velar, sibilant or ц). CASE is
-- the case form being created and is used to select the plural stem if
-- needed. Returns two values, the combined form and the modified suffix.
local function attach_unstressed(args, case, suf, was_stressed)
if suf == nil then
return nil, nil
elseif rfind(suf, CFLEX) then -- if suf has circumflex accent, it forces stressed
return attach_stressed(args, case, suf)
end
local stem, tr
if rfind(case, "_pl") then
stem, tr = args.pl, args.pltr
end
if not stem and case == "ins_sg" then
stem, tr = args.ins_sg_stem, args.ins_sg_tr
end
if not stem then
stem, tr = args.stem, args.stemtr
end
if nom.nonsyllabic_suffixes[suf] then
-- If gen_pl, use special args.gen_pl_bare if given, else regular
-- args.bare if there isn't a plural stem. If nom_sg, always use
-- regular args.bare.
local barearg, bareargtr
if case == "gen_pl" then
barearg, bareargtr = args.gen_pl_bare, args.gen_pl_baretr
if not barearg and args.pl == args.stem then
barearg, bareargtr = args.bare, args.baretr
end
else
barearg, bareargtr = args.bare, args.baretr
end
local barestem = barearg or stem
local barestem, baretr
if barearg then
barestem, baretr = barearg, bareargtr
else
barestem, baretr = stem, tr
end
if was_stressed and case == "gen_pl" then
if not barearg then
local gen_pl_stem, gen_pl_tr = com.make_ending_stressed(stem, tr)
barestem, baretr = gen_pl_stem, gen_pl_tr
end
end
if rlfind(barestem, "[йьъ]$") then
suf = ""
else
if suf == "ъ" then
-- OK
elseif suf == "й" or suf == "ь" then
if barearg and case == "gen_pl" then
-- explicit bare or reducible, don't add -ь
suf = ""
elseif rfind(barestem, "[" .. com.vowel .. "][" .. AC .. GR .. "]?$") then
-- not reducible, do add -ь and correct to -й if necessary
suf = "й"
else
suf = "ь"
end
end
end
return com.concat_russian_tr(barestem, baretr, suf, nil, "dopair"), suf
end
suf = com.make_unstressed(suf)
local rules = nom.unstressed_rules[ulower(usub(stem, -1))]
return nom.combine_stem_and_suffix(stem, tr, suf, rules, args.old)
end
-- Analogous to attach_unstressed() but for the unstressed stem and a
-- stressed suffix.
attach_stressed = function(args, case, suf)
if suf == nil then
return nil, nil
end
-- circumflex forces stress even when the accent pattern calls for no stress
suf = rsub(suf, "̂", AC)
if com.is_unstressed(suf) then
return attach_unstressed(args, case, suf, "was stressed")
end
local stem, tr
if rfind(case, "_pl") then
stem, tr = args.upl, args.upltr
end
if not stem then
stem, tr = args.ustem, args.ustemtr
end
local rules = nom.stressed_rules[ulower(usub(stem, -1))]
return nom.combine_stem_and_suffix(stem, tr, suf, rules, args.old)
end
-- Attach the appropriate stressed or unstressed stem (or plural stem as
-- determined by CASE, or barestem) out of ARGS to the suffix SUF, which may
-- be a list of alternative suffixes (e.g. in the inst sg of feminine nouns).
-- Calls FUN (either attach_stressed() or attach_unstressed()) to do the work
-- for an individual suffix. Returns two values, a list of combined forms
-- and a list of the real suffixes used (which may be modified from the
-- passed-in suffixes, e.g. by removing stress marks or modifying vowels in
-- various ways after a stem-final velar, sibilant or ц). Each combined form
-- is a two-element list {stem, tr} (or a one-element list if tr is nil).
-- IRREG is true if this is an irregular form. We are handling the Nth word;
-- ISLAST is true if this is the last one.
local function attach_with(args, case, suf, fun, irreg, n, islast)
if type(suf) == "table" then
local all_combineds = {}
local all_realsufs = {}
for _, x in ipairs(suf) do
local combineds, realsufs =
attach_with(args, case, x, fun, irreg, n, islast)
for _, combined in ipairs(combineds) do
table.insert(all_combineds, combined)
end
for _, realsuf in ipairs(realsufs) do
table.insert(all_realsufs, realsuf)
end
end
return all_combineds, all_realsufs
else
local combined, realsuf = fun(args, case, suf)
local irregsuf = irreg and {IRREGMARKER} or {""}
return {combined and com.concat_paired_russian_tr(
com.concat_paired_russian_tr(args["prefix" .. n], combined),
com.concat_paired_russian_tr(args["suffix" .. n], irregsuf)) or nil},
{realsuf and realsuf .. args["suffix" .. n][1] or nil}
end
end
-- Generate the form(s) and suffix(es) for CASE according to the declension
-- table DECL, using the attachment function FUN (one of attach_stressed()
-- or attach_unstressed()). IS_SLASH is true if this is a slash declension
-- (different declensions for singular and plural). We are handling the Nth
-- word; ISLAST is true if this is the last one.
local function gen_form(args, decl, case, stress, fun, is_slash, n, islast)
local irreg = false
if not args.suffixes[case] then
args.suffixes[case] = {}
end
local decl_sufs = args.old and declensions_old or declensions
decl_sufs = decl_sufs[decl]
local suf = decl_sufs[case]
local decl_cats = args.old and declensions_old_cat or declensions_cat
local ispl = rfind(case, "_pl")
if ispl and (decl_cats[decl].irregpl or args.pl and args.pl ~= args.stem or is_slash) then
irreg = true
end
if case == "nom_pl" and decl_cats[decl].alt_nom_pl then
irreg = true
end
if type(suf) == "function" then
suf = suf(ispl and args.pl or args.stem, stress, args)
end
if case == "gen_pl" and args.alt_gen_pl then
suf = decl_sufs.alt_gen_pl
irreg = true
if not suf then
error("No alternative genitive plural available for this declension class")
end
end
local combineds, realsufs = attach_with(args, case, suf, fun, irreg, n, islast)
for _, realsuf in ipairs(realsufs) do
args.any_non_nil[case] = true
args.this_any_non_nil[case] = true
insert_if_not(args.suffixes[case], realsuf)
end
return combineds
end
local attachers = {
["+"] = attach_stressed,
["-"] = attach_unstressed,
}
do_stress_pattern = function(stress, args, decl, number, n, islast)
local f = {}
for _, case in ipairs(decl_cases) do
if not number or (number == "sg" and rfind(case, "_sg")) or
(number == "pl" and rfind(case, "_pl")) then
f[case] = gen_form(args, decl, case, stress,
attachers[stress_patterns[stress][case]], not not number,
n, islast)
-- Turn empty form lists into nil to facilitate computation of
-- animate/inanimate accusatives below
if f[case] and #f[case] == 0 then
f[case] = nil
end
-- Compute linked versions of potential lemma cases, for use
-- in the ru-noun+ headword. We substitute the original lemma
-- (before removing links) for forms that are the same as the
-- lemma, if the original lemma has links.
if f[case] and (case == "nom_sg" or case == "nom_pl") then
local linked_forms = {}
for _, form in ipairs(f[case]) do
-- Return true if FORM is "close enough" to LEMMA that we can substitute the
-- linked form of the lemma. Currently this means exactly the same except that
-- we ignore acute and grave accent differences in monosyllables, and ignore
-- notes that may have been appended (e.g. the triangle marking irregularity).
local entry, notes = m_table_tools.separate_notes(form[1])
local lemma = args.lemma_no_links
local close_enough_to_lemma =
entry == lemma or (com.is_monosyllabic(entry) and
com.is_monosyllabic(lemma) and
com.remove_accents(entry) == com.remove_accents(lemma))
if close_enough_to_lemma and
rfind(args.orig_lemma, "%[%[") then
table.insert(linked_forms, {args.orig_lemma .. notes, args.lemmatr and args.lemmatr .. notes})
else
table.insert(linked_forms, form)
end
end
f[case .. "_linked"] = linked_forms
end
end
end
-- Set acc an/in variants now as appropriate. We used to do this in
-- handle_forms_and_overrides(), which simplified the handling of
-- nom/gen/acc overrides but caused problems for words like мазло and
-- трепло that had a mixture of nil and non-nil accusative forms.
local an = args.thisa
if not number or number == "sg" then
f.acc_sg_an = f.acc_sg_an or f.acc_sg or an == "i" and f.nom_sg or f.gen_sg
f.acc_sg_in = f.acc_sg_in or f.acc_sg or an == "a" and f.gen_sg or f.nom_sg
end
if not number or number == "pl" then
f.acc_pl_an = f.acc_pl_an or f.acc_pl or an == "i" and f.nom_pl or f.gen_pl
f.acc_pl_in = f.acc_pl_in or f.acc_pl or an == "a" and f.gen_pl or f.nom_pl
end
for case, forms in pairs(f) do
if not args.forms[case] then
args.forms[case] = {}
end
for _, form in ipairs(forms) do
insert_if_not(args.forms[case], form)
end
end
end
stress_patterns["a"] = {
nom_sg="-", gen_sg="-", dat_sg="-", acc_sg="-", ins_sg="-", pre_sg="-",
nom_pl="-", gen_pl="-", dat_pl="-", acc_pl="-", ins_pl="-", pre_pl="-",
}
stress_patterns["b"] = {
nom_sg="+", gen_sg="+", dat_sg="+", acc_sg="+", ins_sg="+", pre_sg="+",
nom_pl="+", gen_pl="+", dat_pl="+", acc_pl="+", ins_pl="+", pre_pl="+",
}
stress_patterns["b'"] = {
nom_sg="+", gen_sg="+", dat_sg="+", acc_sg="+", ins_sg="-", pre_sg="+",
nom_pl="+", gen_pl="+", dat_pl="+", acc_pl="+", ins_pl="+", pre_pl="+",
}
stress_patterns["c"] = {
nom_sg="-", gen_sg="-", dat_sg="-", acc_sg="-", ins_sg="-", pre_sg="-",
nom_pl="+", gen_pl="+", dat_pl="+", acc_pl="+", ins_pl="+", pre_pl="+",
}
stress_patterns["d"] = {
nom_sg="+", gen_sg="+", dat_sg="+", acc_sg="+", ins_sg="+", pre_sg="+",
nom_pl="-", gen_pl="-", dat_pl="-", acc_pl="-", ins_pl="-", pre_pl="-",
}
stress_patterns["d'"] = {
nom_sg="+", gen_sg="+", dat_sg="+", acc_sg="-", ins_sg="+", pre_sg="+",
nom_pl="-", gen_pl="-", dat_pl="-", acc_pl="-", ins_pl="-", pre_pl="-",
}
stress_patterns["e"] = {
nom_sg="-", gen_sg="-", dat_sg="-", acc_sg="-", ins_sg="-", pre_sg="-",
nom_pl="-", gen_pl="+", dat_pl="+", acc_pl="+", ins_pl="+", pre_pl="+",
}
stress_patterns["f"] = {
nom_sg="+", gen_sg="+", dat_sg="+", acc_sg="+", ins_sg="+", pre_sg="+",
nom_pl="-", gen_pl="+", dat_pl="+", acc_pl="+", ins_pl="+", pre_pl="+",
}
stress_patterns["f'"] = {
nom_sg="+", gen_sg="+", dat_sg="+", acc_sg="-", ins_sg="+", pre_sg="+",
nom_pl="-", gen_pl="+", dat_pl="+", acc_pl="+", ins_pl="+", pre_pl="+",
}
stress_patterns["f''"] = {
nom_sg="+", gen_sg="+", dat_sg="+", acc_sg="+", ins_sg="-", pre_sg="+",
nom_pl="-", gen_pl="+", dat_pl="+", acc_pl="+", ins_pl="+", pre_pl="+",
}
ending_stressed_gen_pl_patterns = m_table.listToSet({"b", "b'", "c", "e", "f", "f'", "f''"})
ending_stressed_pre_sg_patterns = m_table.listToSet({"b", "b'", "d", "d'", "f", "f'", "f''"})
ending_stressed_dat_sg_patterns = ending_stressed_pre_sg_patterns
ending_stressed_sg_patterns = ending_stressed_pre_sg_patterns
ending_stressed_pl_patterns = m_table.listToSet({"b", "b'", "c"})
local numbers = {
["s"] = "單數",
["p"] = "複數",
}
local old_title_temp = [=[拼寫改革前 <b lang="ru" class="Cyrl">{lemma}</b> 的變格]=]
local title_temp = [=[<b lang="ru" class="Cyrl">{lemma}</b> 的變格]=]
local extra_case_template, extra_case_template_with_plural
local internal_notes_template
local notes_template
local templates = {}
-- Convert a raw override into a canonicalized list of individual overrides.
-- If input is nil, so is output. Certain junk (e.g. <br/>) is removed,
-- and ~ and ~~ are substituted appropriately; ARGS and CASE are required for
-- this purpose. FORMS is the list of existing case forms and is currently
-- used only to retrieve the dat_sg for handling + in loc/par (this means
-- that any overrides of the dat_sg have to be handled before handling
-- overrides of loc/par). N is the suffix used to retrieve the override --
-- either a number for word-specific overrides, or an empty string for
-- overall overrides.
--
-- It will still be necessary to call m_table_tools.separate_notes() to separate
-- off any trailing "notes" (asterisks, superscript numbers, etc.), and
-- m_links.remove_links() to remove any links to get the raw override form.
canonicalize_override = function(args, case, forms, n)
local val = args[case .. n]
if not val then
return nil
end
-- clean <br /> that's in many multi-form entries and messes up linking
val = rsub(val, "<br%s*/>", "")
-- substitute ~ and ~~ and split by commas
local stem, manualtr
if rfind(case, "_pl") then
stem, manualtr = args.pl, args.pltr
end
if not stem then
stem, manualtr = args.stem, args.stemtr
end
local ustem, umanualtr = com.make_unstressed_once(stem, manualtr)
local stemtr, ustemtr = manualtr, umanualtr
local vals = rsplit(val, "%s*,%s*")
local retvals = {}
for _, val in ipairs(vals) do
local valru, valtr = com.split_russian_tr(val)
valru = rsub(valru, "~~", ustem)
valru = rsub(valru, "~", com.is_stressed(val) and ustem or stem)
if rfind(valru, "^%*") then
valru = rsub(valru, "^%*", "") .. HYPMARKER
end
if valtr then
stemtr = stemtr or com.translit_no_links(stem)
ustemtr = ustemtr or com.translit_no_links(ustem)
valtr = rsub(valtr, "~~", ustemtr)
valtr = rsub(valtr, "~", com.is_stressed(val) and ustemtr or stemtr)
elseif val:find("~") and manualtr then
valtr = com.translit_no_links(val)
valtr = rsub(valtr, "~~", umanualtr)
valtr = rsub(valtr, "~", com.is_stressed(val) and umanualtr or manualtr)
end
if valtr then
if valtr:sub(1, 1) == "*" then
valtr = valtr:sub(2) .. HYPMARKER
end
valtr = com.j_correction(valtr)
end
table.insert(retvals, {valru, valtr})
end
vals = retvals
-- handle + in loc/par meaning "the expected form"; NOTE: This requires
-- that dat_sg has already been processed!
if case == "loc" or case == "par" then
local new_vals = {}
for _, rutr in ipairs(vals) do
-- don't just handle + by itself in case the arg has в or на
-- or whatever attached to it
if rfind(rutr[1], "^%+") or rfind(rutr[1], "[%s%[|]%+") then
for _, dat in ipairs(forms["dat_sg"]) do
local ru, tr = rutr[1], rutr[2]
local datru, dattr = dat[1], dat[2]
local valru, valtr
-- separate off any footnote symbols (which may have been
-- introduced by a *tail or *tailall argument, which we need
-- to process before this stage so overrides don't get
-- automatically marked with footnote symbols); if par,
-- try to preserve them, but with loc this can cause
-- problems in case there are multiple dative forms
-- (stress variants) and the last one is marked with a
-- footnote symbol (occurs in грудь)
local datru_entry, datru_notes = m_table_tools.separate_notes(datru)
local dattr_entry, dattr_notes
if dattr then
dattr_entry, dattr_notes = m_table_tools.separate_notes(dattr)
end
if case == "par" then
valru, valtr = datru_entry, dattr_entry
else
valru, valtr = com.make_ending_stressed(datru_entry, dattr_entry)
datru_notes = ""
dattr_notes = ""
end
-- wrap the word in brackets so it's linked; but not if it
-- appears to already be linked
ru = rsub(ru, "^%+", "[[" .. valru .. "]]")
ru = rsub(ru, "([%[|])%+", "%1" .. valru)
ru = rsub(ru, "(%s)%+", "%1[[" .. valru .. "]]")
ru = ru .. datru_notes
-- do the translit; but it shouldn't have brackets in it
if tr or valtr then
tr = tr or com.translit_no_links(rutr[1])
valtr = valtr or com.translit_no_links(valru)
tr = rsub(tr, "^%+", valtr)
tr = rsub(tr, "(%s)%+", "%1" .. valtr)
tr = tr .. dattr_notes
end
table.insert(new_vals, {ru, tr})
end
else
table.insert(new_vals, rutr)
end
end
vals = new_vals
end
-- auto-accent/check for necessary accents
local newvals = {}
for _, v in ipairs(vals) do
local ru, tr = v[1], v[2]
if not args.allow_unaccented then
if tr and com.is_unstressed(ru) ~= com.is_unstressed(tr) then
error("Override " .. ru .. " and translit " .. tr .. " must have same accent pattern")
end
-- it's safe to accent monosyllabic stems
if com.is_monosyllabic(ru) then
ru, tr = com.make_ending_stressed(ru, tr)
elseif com.needs_accents(ru) then
error("Override " .. ru .. " for case " .. case .. n .. " requires an accent")
end
end
table.insert(newvals, {ru, tr})
end
vals = newvals
return vals
end
local function process_overrides(args, f, n)
local function process_override(case)
if args[case .. n] then
local overrides = canonicalize_override(args, case, f, n)
if not f[case] then
f[case] = {}
end
local new_overrides = {}
for _, form in ipairs(overrides) do
-- Don't consider overrides of loc/par/voc irregular since
-- they're only specified through overrides; FIXME: Theoretically
-- we could consider loc/par irregular if they don't follow the
-- expected forms; but we'd have to figure out how to eliminate
-- the preposition that may be specified
if not overridable_only_cases_set[case] and
not args.manual and
not contains_rutr_pair(f[case], form) then
local formru, formnotes = m_table_tools.separate_notes(form[1])
if formru ~= "-" then
-- don't mark an override of - as irregular, even if
-- it has an attached footnote symbol
form = com.concat_paired_russian_tr(form, {IRREGMARKER})
end
end
if case == "pauc" then
-- Internal note indicating that the form is for numbers 2, 3 and 4.
form = com.concat_paired_russian_tr(form, {paucal_marker})
end
table.insert(new_overrides, form)
end
f[case] = new_overrides
args.any_overridden[case] = true
end
end
-- do dative singular first because it will be used by loc/par
process_override("dat_sg")
-- now do the rest
for _, case in ipairs(overridable_cases) do
if case ~= "dat_sg" then
process_override(case)
end
end
-- if the nominative is overridden, use it to set the linked version unless
-- that is also specifically overridden
if args["nom_sg" .. n] and not args["nom_sg_linked" .. n] then
f.nom_sg_linked = f.nom_sg
end
if args["nom_pl" .. n] and not args["nom_pl_linked" .. n] then
f.nom_pl_linked = f.nom_pl
end
-- convert empty lists to nil to facilitate computation of accusative
-- case variants below.
for _, case in ipairs(all_cases) do
if f[case] then
if type(f[case]) ~= "table" then
error("Logic error, args[case] should be nil or table")
end
if #f[case] == 0 then
f[case] = nil
end
end
end
end
local function process_tail_args(args, f, n)
local function append_note_all(case, value)
value = com.split_russian_tr(value, "dopair")
local function append1(case)
if f[case] then
for i=1,#f[case] do
f[case][i] = com.concat_paired_russian_tr(f[case][i], value)
end
end
end
append1(case)
if case == "acc_sg" then
append1("acc_sg_in")
append1("acc_sg_an")
elseif case == "acc_pl" then
append1("acc_pl_in")
append1("acc_pl_an")
end
end
local function append_note_last(case, value, gt_one)
value = com.split_russian_tr(value, "dopair")
local function append1(case)
if f[case] then
local lastarg = #f[case]
if lastarg > (gt_one and 1 or 0) then
f[case][lastarg] = com.concat_paired_russian_tr(f[case][lastarg], value)
end
end
end
append1(case)
if case == "acc_sg" then
append1("acc_sg_in")
append1("acc_sg_an")
elseif case == "acc_pl" then
append1("acc_pl_in")
append1("acc_pl_an")
end
end
local function handle_tail_hyp(suf)
local arg, val
for _, case in ipairs(all_cases) do
arg = args[case .. "_" .. suf .. n]
if arg then
append_note_last(case, suf == "hyp" and HYPMARKER or arg)
end
arg = args[case .. "_" .. suf .. "all" .. n]
if arg then
append_note_all(case, suf == "hyp" and HYPMARKER or arg)
end
if not rfind(case, "_pl") then
arg = args["sg" .. suf .. "all" .. n]
if arg then
append_note_all(case, suf == "hyp" and HYPMARKER or arg)
end
arg = args["sg" .. suf .. n]
if arg then
append_note_last(case, suf == "hyp" and HYPMARKER or arg, ">1")
end
else
arg = args["pl" .. suf .. "all" .. n]
if arg then
append_note_all(case, suf == "hyp" and HYPMARKER or arg)
end
arg = args["pl" .. suf .. n]
if arg then
append_note_last(case, suf == "hyp" and HYPMARKER or arg, ">1")
end
end
if not rfind(case, "nom_") and not rfind(case, "acc_") then
arg = args["obl" .. suf .. "all" .. n]
if arg then
append_note_all(case, suf == "hyp" and HYPMARKER or arg)
end
arg = args["obl" .. suf .. n]
if arg then
append_note_last(case, suf == "hyp" and HYPMARKER or arg, ">1")
end
end
end
end
handle_tail_hyp("tail")
handle_tail_hyp("hyp")
end
handle_forms_and_overrides = function(args, n, islast)
local f = args.forms
process_tail_args(args, f, n)
process_overrides(args, f, n)
local an = args.thisa
-- Maybe set the value of the animate/inanimate accusative variants based
-- on nom/acc/gen overrides. Don't do this if there was a specific override
-- of this form. Otherwise, always propagate an accusative singular
-- override, and propagate the nom/gen sg if there wasn't a specific
-- accusative suffix anywhere (occurs in the fem sg and sometimes the neut
-- sg). This logic duplicates logic in handle_overall_forms_and_overrides();
-- see long comment there. We need to duplicate the whole logic here to
-- handle words like мать-одиночка, which has an override of acc_sg1.
if not args["acc_sg_an" .. n] then
if args["acc_sg" .. n] then
f.acc_sg_an = f.acc_sg
elseif not args.this_any_non_nil.acc_sg then
f.acc_sg_an = f.acc_sg or an == "i" and f.nom_sg or f.gen_sg or f.acc_sg_an
end
end
if not args["acc_sg_in" .. n] then
if args["acc_sg" .. n] then
f.acc_sg_in = f.acc_sg
elseif not args.this_any_non_nil.acc_sg then
f.acc_sg_in = f.acc_sg or an == "a" and f.gen_sg or f.nom_sg or f.acc_sg_in
end
end
if not args["acc_pl_an" .. n] then
if args["acc_pl" .. n] then
f.acc_pl_an = f.acc_pl
elseif not args.this_any_non_nil.acc_pl then
f.acc_pl_an = f.acc_pl or an== "i" and f.nom_pl or f.gen_pl or f.acc_pl_an
end
end
if not args["acc_pl_in" .. n] then
if args["acc_pl" .. n] then
f.acc_pl_in = f.acc_pl
elseif not args.this_any_non_nil.acc_pl then
f.acc_pl_in = f.acc_pl or an == "a" and f.gen_pl or f.nom_pl or f.acc_pl_in
end
end
f.loc = f.loc or f.pre_sg
f.par = f.par or f.gen_sg
f.voc = f.voc or f.nom_sg
-- Set these in case we have plural only, in which case the
-- singular will also get set to these same values in case we are
-- a plural-only word in a singular-only expression.
f.loc_pl = f.loc_pl or f.pre_pl
f.par_pl = f.par_pl or f.gen_pl
f.voc_pl = f.voc_pl or f.nom_pl
f.count = f.count or f.gen_pl
f.pauc = f.pauc or f.gen_sg
local nu = args.thisn
-- If we have a singular-only, set the plural forms to the singular forms,
-- and vice-versa. This is important so that things work in multi-word
-- expressions that combine different number restrictions (e.g.
-- singular-only with singular/plural or singular-only with plural-only,
-- compare "St. Vincent and the Grenadines" [Сент-Винсент и Гренадины]).
if nu == "s" then
f.nom_pl_linked = f.nom_sg_linked
f.nom_pl = f.nom_sg
f.gen_pl = f.gen_sg
f.dat_pl = f.dat_sg
f.acc_pl = f.acc_sg
f.acc_pl_an = f.acc_sg_an
f.acc_pl_in = f.acc_sg_in
f.ins_pl = f.ins_sg
f.pre_pl = f.pre_sg
f.nom_pl = f.nom_sg
f.loc_pl = f.loc
f.par_pl = f.par
f.voc_pl = f.voc
elseif nu == "p" then
f.nom_sg_linked = f.nom_pl_linked
f.nom_sg = f.nom_pl
f.gen_sg = f.gen_pl
f.dat_sg = f.dat_pl
f.acc_sg = f.acc_pl
f.acc_sg_an = f.acc_pl_an
f.acc_sg_in = f.acc_pl_in
f.ins_sg = f.ins_pl
f.pre_sg = f.pre_pl
f.nom_sg = f.nom_pl
f.loc = f.loc_pl
f.par = f.par_pl
f.voc = f.voc_pl
end
end
handle_overall_forms_and_overrides = function(args)
local overall_forms = {}
for _, case in ipairs(displayable_cases) do
overall_forms[case] = concat_word_forms(args.per_word_info, case)
end
local acc_sg_overridden = args.acc_sg
local acc_pl_overridden = args.acc_pl
process_tail_args(args, overall_forms, "")
process_overrides(args, overall_forms, "")
if case_will_be_displayed(args, "pauc") then
insert_if_not(args.internal_notes, paucal_internal_note)
end
-- if IRREGMARKER is anywhere in text, remove all instances and put
-- at the end before any notes.
local function clean_irreg_marker(case, text)
if rfind(text, IRREGMARKER) then
text = rsub(text, IRREGMARKER, "")
local entry, notes = m_table_tools.separate_notes(text)
if case_will_be_displayed(args, case) then
insert_if_not(args.internal_notes, IRREGMARKER .. " 不規則。")
args.any_irreg = true
args.any_irreg_case[case] = true
end
return entry .. IRREGMARKER .. notes
else
return text
end
end
-- set final args[case] and clean up IRREGMARKER.
for _, case in ipairs(all_cases) do
args[case] = overall_forms[case]
if args[case] then
local cleaned_forms = {}
for _, form in ipairs(args[case]) do
local ru, tr = form[1], form[2]
ru = clean_irreg_marker(case, ru)
if tr then
tr = clean_irreg_marker(case, tr)
end
table.insert(cleaned_forms, {ru, tr})
end
args[case] = cleaned_forms
end
end
-- Maybe set the value of the animate/inanimate accusative variants based
-- on nom/acc/gen overrides. Don't do this if there was a specific override
-- of this form. Otherwise, always propagate an accusative singular
-- override, and propagate the nom/gen sg if there wasn't a specific
-- accusative suffix anywhere (occurs in the fem sg and sometimes the neut
-- sg). We need to do this somewhat complicated procedure to get overrides
-- to work correctly, e.g. acc_sg overrides of feminine and neuter nouns
-- (such as мать and полслова) and gen_sg/gen_pl overrides of masculine
-- animate nouns. We also ran into an issue with words like мазло that are
-- neuter-form but can be both masculine animate (in which case the
-- acc sg inherits from the genitive) and neuter animate (in which case the
-- acc sg has the fixed ending -о, same as nominative, despite the animacy).
-- Remember also that the animate/inanimate accusative variants are the ones
-- displayed, not the plain acc_sg/acc_pl ones.
if not args.any_overridden.acc_sg_an then
if acc_sg_overridden then
args.acc_sg_an = args.acc_sg
elseif not args.any_non_nil.acc_sg then
args.acc_sg_an = args.acc_sg or args.a == "i" and args.nom_sg or args.gen_sg or args.acc_sg_an
end
end
if not args.any_overridden.acc_sg_in then
if acc_sg_overridden then
args.acc_sg_in = args.acc_sg
elseif not args.any_non_nil.acc_sg then
args.acc_sg_in = args.acc_sg or args.a == "a" and args.gen_sg or args.nom_sg or args.acc_sg_in
end
end
if not args.any_overridden.acc_pl_an then
if acc_pl_overridden then
args.acc_pl_an = args.acc_pl
elseif not args.any_non_nil.acc_pl then
args.acc_pl_an = args.acc_pl or args.a == "i" and args.nom_pl or args.gen_pl or args.acc_pl_an
end
end
if not args.any_overridden.acc_pl_in then
if acc_pl_overridden then
args.acc_pl_in = args.acc_pl
elseif not args.any_non_nil.acc_pl then
args.acc_pl_in = args.acc_pl or args.a == "a" and args.gen_pl or args.nom_pl or args.acc_pl_in
end
end
-- Try to set the values of acc_sg and acc_pl. The only time we can't is
-- when the noun is bianimate and the anim/inan values are different.
-- This is used primarily for generate_forms() and generate_multi_forms(),
-- since we don't actually display these forms.
if args.a == "a" then
args.acc_sg = args.acc_sg or args.acc_sg_an
args.acc_pl = args.acc_pl or args.acc_pl_an
elseif args.a == "i" then
args.acc_sg = args.acc_sg or args.acc_sg_in
args.acc_pl = args.acc_pl or args.acc_pl_in
else -- bianimate
args.acc_sg = args.acc_sg or m_table.deepEquals(args.acc_sg_in, args.acc_sg_an) and args.acc_sg_in or nil
args.acc_pl = args.acc_pl or m_table.deepEquals(args.acc_pl_in, args.acc_pl_an) and args.acc_pl_in or nil
end
end
-- Subfunction of concat_word_forms(), used to implement recursively
-- generating all combinations of elements from WORD_FORMS (a list, one
-- element per word, of a list of the forms for a word, each of which is a
-- two-element list of {RUSSIAN, TR}) and TRAILING_FORMS (a list of forms, the
-- accumulated suffixes for trailing words so far in the recursion process,
-- again where each form is a two-element list {RUSSIAN, TR}). Each time we
-- recur we take the last FORMS item off of WORD_FORMS and to each form in
-- FORMS we add all elements in TRAILING_FORMS, passing the newly generated
-- list of items down the next recursion level with the shorter WORD_FORMS.
-- We end up returning a list of concatenated forms, where each list item
-- is a two-element list {RUSSIAN, TR}.
local function concat_word_forms_1(word_forms, trailing_forms)
if #word_forms == 0 then
local retforms = {}
for _, form in ipairs(trailing_forms) do
local ru, tr = form[1], form[2]
-- Remove <insa> and <insb> markers; they've served their purpose.
ru = rsub(ru, "<ins[ab]>", "")
tr = tr and rsub(tr, "<ins[ab]>", "")
table.insert(retforms, {ru, tr})
end
return retforms
else
local last_form_info = table.remove(word_forms)
local last_forms, joiner = last_form_info[1], last_form_info[2]
local new_trailing_forms = {}
for _, form in ipairs(last_forms) do
for _, trailing_form in ipairs(trailing_forms) do
-- If form to prepend is empty, don't add the joiner; this
-- is principally used in overall overrides, where we stuff
-- the entire override into the last word
local full_form = form[1] == "" and trailing_form or
com.concat_paired_russian_tr(form,
com.concat_paired_russian_tr(joiner, trailing_form),
"movenotes")
if rfind(full_form[1], "<insa>") and rfind(full_form[1], "<insb>") then
-- REJECT! So we don't get mixtures of the two feminine
-- instrumental singular endings.
else
table.insert(new_trailing_forms, full_form)
end
end
end
return concat_word_forms_1(word_forms, new_trailing_forms)
end
end
-- Generate a list of overall forms by concatenating the per-word forms.
-- PER_WORD_INFO comes from args.per_word_info and is a list of
-- WORD_INFO items, one per word, each of which a two element list of
-- WORD_FORMS (a table listing the forms for each case) and JOINER (a string).
-- We loop over all possible combinations of elements from each word's list
-- of forms for the given case; this requires recursion.
concat_word_forms = function(per_word_info, case)
local word_forms = {}
-- Gather the appropriate word forms. We have to recreate this anew
-- because it will be destructively modified by concat_word_forms_1().
for _, word_info in ipairs(per_word_info) do
table.insert(word_forms, {word_info[1][case], word_info[2]})
end
-- We need to start the recursion with the second parameter containing
-- one blank element rather than no elements, otherwise no elements
-- will be propagated to the next recursion level.
return concat_word_forms_1(word_forms, {{""}})
end
local accel_forms = {
nom_sg = "nom|s",
nom_sg_linked = "nom|s",
nom_pl = "nom|p",
nom_pl_linked = "nom|p",
gen_sg = "gen|s",
gen_pl = "gen|p",
dat_sg = "dat|s",
dat_pl = "dat|p",
acc_sg_an = "an|acc|s",
acc_pl_an = "an|acc|p",
acc_sg_in = "in|acc|s",
acc_pl_in = "in|acc|p",
ins_sg = "ins|s",
ins_pl = "ins|p",
pre_sg = "pre|s",
pre_pl = "pre|p",
loc = "loc|s",
loc_pl = "loc|p",
voc = "voc|s",
voc_pl = "voc|p",
par = "par|s",
par_pl = "par|p",
count = "count form",
pauc = "pau",
}
-- Make the table
make_table = function(args)
local data = {}
data.after_title = " " .. args.heading
data.number = args.nonumber and "" or numbers[args.n]
local lemma_forms = args[args.n == "p" and "nom_pl" or "nom_sg"]
data.lemma = nom.show_form(args.explicit_lemma and {{args.explicit_lemma, args.explicit_lemmatr}} or
args[args.n == "p" and "nom_pl_linked" or "nom_sg_linked"], "lemma", nil, nil)
data.title = args.title or format(args.old and old_title_temp or title_temp, data)
local sg_an_in_equal = m_table.deepEquals(args.acc_sg_an, args.acc_sg_in)
local pl_an_in_equal = m_table.deepEquals(args.acc_pl_an, args.acc_pl_in)
for _, case in ipairs(displayable_cases) do
local accel_form = accel_forms[case]
if not accel_form then
error("Something wrong, can't find accelerator form for " .. case)
end
if (sg_an_in_equal and (case == "acc_sg_an" or case == "acc_sg_in") or
pl_an_in_equal and (case == "acc_pl_an" or case == "acc_pl_in")) then
accel_form = accel_form:gsub("^[ai]n|acc%f[%W]", "acc")
end
data[case] = nom.show_form(args[case], false, accel_form, lemma_forms, "remove monosyllabic accents only lemma")
end
local temp = nil
if args.n == "s" then
data.nom_x = data.nom_sg
data.gen_x = data.gen_sg
data.dat_x = data.dat_sg
data.acc_x_an = data.acc_sg_an
data.acc_x_in = data.acc_sg_in
data.ins_x = data.ins_sg
data.pre_x = data.pre_sg
if sg_an_in_equal then
temp = "one_number"
else
temp = "one_number_split_animacy"
end
elseif args.n == "p" then
data.nom_x = data.nom_pl
data.gen_x = data.gen_pl
data.dat_x = data.dat_pl
data.acc_x_an = data.acc_pl_an
data.acc_x_in = data.acc_pl_in
data.ins_x = data.ins_pl
data.pre_x = data.pre_pl
data.par = data.par_pl
data.loc = data.loc_pl
data.voc = data.voc_pl
if pl_an_in_equal then
temp = "one_number"
else
temp = "one_number_split_animacy"
end
else
if pl_an_in_equal then
temp = "both_numbers"
elseif sg_an_in_equal then
temp = "both_numbers_split_animacy_plural_only"
else
temp = "both_numbers_split_animacy"
end
end
for _, extra_case in ipairs({
{"par", "部分格"},
{"loc", "方位格"},
{"voc", "呼格"},
}) do
local case, engcase, template = unpack(extra_case)
local a = args.a
local colspan = (a == "b" or a == "bi" or a == "both" or a == "ai" or a == "ia") and 2 or 1
if args.n ~= "s" and args.n ~= "p" and args.any_overridden[case .. "_pl"] then
if not args.any_overridden[case] then
data[case] = ""
end
template = extra_case_template_with_plural
elseif args.n ~= "p" and args.any_overridden[case] or args.n == "p" and args.any_overridden[case .. "_pl"] then
template = extra_case_template
end
if template then
template = format(template(colspan), {case=case, engcase=engcase})
data[case .. "_clause"] = format(template, data)
else
data[case .. "_clause"] = ""
end
end
for _, extra_case in ipairs({
{"count", "計數形式"},
{"pauc", "少數形式"},
}) do
local case, engcase, template = unpack(extra_case)
local a = args.a
local colspan = (a == "b" or a == "bi" or a == "both" or a == "ai" or a == "ia") and 2 or 1
if args.n ~= "p" and args.any_overridden[case] then
template = extra_case_template
end
if template then
template = format(template(colspan), {case=case, engcase=engcase})
data[case .. "_clause"] = format(template, data)
else
data[case .. "_clause"] = ""
end
end
local notes = get_arg_chain(args, "notes", "notes")
local all_notes = {}
for _, note in ipairs(args.internal_notes) do
-- Superscript footnote marker at beginning of note, similarly to what's
-- done at end of forms.
local symbol, entry = m_table_tools.separate_and_superscript_initial_notes(note)
table.insert(all_notes, symbol .. entry)
end
for _, note in ipairs(notes) do
-- Here too.
local symbol, entry = m_table_tools.separate_and_superscript_initial_notes(note)
table.insert(all_notes, symbol .. entry)
end
data.notes = table.concat(all_notes, "<br />")
data.notes_clause = data.notes ~= "" and format(notes_template, data) or ""
return format(templates[temp], data)
end
function extra_case_template(colspan)
colspan = colspan or 1
return ([===[
! style="background:var(--wikt-palette-lighterblue, #ebf4ff);" colspan=%s | {engcase}
| {\op}{case}{\cl}
|
|-]===]):format(colspan)
end
function extra_case_template_with_plural(colspan)
colspan = colspan or 1
return ([===[
! style="background:var(--wikt-palette-lighterblue, #ebf4ff);" colspan=%s | {engcase}
| {\op}{case}{\cl}
| {\op}{case}_pl{\cl}
|-]===]):format(colspan)
end
notes_template = [===[
<div style="width:100%;text-align:left;background:var(--wikt-palette-lightblue, #d9ebff);">
<div style="display:inline-block;text-align:left;padding-left:1em;padding-right:1em">
{notes}
</div></div>
]===]
local function template_prelude(min_width)
min_width = min_width or "70"
return rsub([===[
<div>
<div class="NavFrame" data-toggle-category="declension" style="max-width:MINWIDTHem">
<div class="NavHead" style="background:var(--wikt-palette-lighterblue, #ebf4ff);">{title}<span style="font-weight:normal;">{after_title}</span> </div>
<div class="NavContent">
{\op}| style="table-layout:fixed; text-align:center; max-width:MINWIDTHem; width:100%;" class="inflection inflection-table"
|- class="rowgroup"
]===], "MINWIDTH", min_width)
end
local function template_postlude()
-- l10n: The space after "|-" is required. On zhwikt, format() in [[Module:string utilities]] leaves "-{" alone
-- because it is LanguageConverter markup, so "{par_clause}" would not be substituted if it directly followed "|-".
return [===[|- {par_clause}{loc_clause}{voc_clause}{count_clause}{pauc_clause}
|{\cl}{notes_clause}</div></div></div>]===]
end
templates["both_numbers"] = template_prelude("45") .. [===[
! style="width:7em;background:var(--wikt-palette-lightblue, #d9ebff);" |
! style="background:var(--wikt-palette-lightblue, #d9ebff);" | 單數
! style="background:var(--wikt-palette-lightblue, #d9ebff);" | 複數
|-
! style="background:var(--wikt-palette-lighterblue, #ebf4ff);" | 主格
| data-accel-col=1 | {nom_sg}
| data-accel-col=2 | {nom_pl}
|-
! style="background:var(--wikt-palette-lighterblue, #ebf4ff);" | 屬格
| data-accel-col=1 | {gen_sg}
| data-accel-col=2 | {gen_pl}
|-
! style="background:var(--wikt-palette-lighterblue, #ebf4ff);" | 與格
| data-accel-col=1 | {dat_sg}
| data-accel-col=2 | {dat_pl}
|-
! style="background:var(--wikt-palette-lighterblue, #ebf4ff);" | 賓格
| data-accel-col=1 | {acc_sg_an}
| data-accel-col=2 | {acc_pl_an}
|-
! style="background:var(--wikt-palette-lighterblue, #ebf4ff);" | 工具格
| data-accel-col=1 | {ins_sg}
| data-accel-col=2 | {ins_pl}
|-
! style="background:var(--wikt-palette-lighterblue, #ebf4ff);" | 前置格
| data-accel-col=1 | {pre_sg}
| data-accel-col=2 | {pre_pl}
]===] .. template_postlude()
templates["both_numbers_split_animacy"] = template_prelude("50") .. [===[
! style="width:15em;background:var(--wikt-palette-lightblue, #d9ebff);" colspan=2 |
! style="background:var(--wikt-palette-lightblue, #d9ebff);" | 單數
! style="background:var(--wikt-palette-lightblue, #d9ebff);" | 複數
|-
! style="background:var(--wikt-palette-lighterblue, #ebf4ff);" colspan=2 | 主格
| data-accel-col=1 | {nom_sg}
| data-accel-col=2 | {nom_pl}
|-
! style="background:var(--wikt-palette-lighterblue, #ebf4ff);" colspan=2 | 屬格
| data-accel-col=1 | {gen_sg}
| data-accel-col=2 | {gen_pl}
|-
! style="background:var(--wikt-palette-lighterblue, #ebf4ff);" colspan=2 | 與格
| data-accel-col=1 | {dat_sg}
| data-accel-col=2 | {dat_pl}
|-
! style="background:var(--wikt-palette-lighterblue, #ebf4ff);" rowspan=2 | 賓格
! style="background:var(--wikt-palette-lighterblue, #ebf4ff);" | 有生
| data-accel-col=1 | {acc_sg_an}
| data-accel-col=2 | {acc_pl_an}
|-
! style="background:var(--wikt-palette-lighterblue, #ebf4ff);" | 無生
| data-accel-col=1 | {acc_sg_in}
| data-accel-col=2 | {acc_pl_in}
|-
! style="background:var(--wikt-palette-lighterblue, #ebf4ff);" colspan=2 | 工具格
| data-accel-col=1 | {ins_sg}
| data-accel-col=2 | {ins_pl}
|-
! style="background:var(--wikt-palette-lighterblue, #ebf4ff);" colspan=2 | 前置格
| data-accel-col=1 | {pre_sg}
| data-accel-col=2 | {pre_pl}
]===] .. template_postlude()
templates["both_numbers_split_animacy_plural_only"] = template_prelude("50") .. [===[
! style="width:15em;background:var(--wikt-palette-lightblue, #d9ebff);" colspan=2 |
! style="background:var(--wikt-palette-lightblue, #d9ebff);" | 單數
! style="background:var(--wikt-palette-lightblue, #d9ebff);" | 複數
|-
! style="background:var(--wikt-palette-lighterblue, #ebf4ff);" colspan=2 | 主格
| data-accel-col=1 | {nom_sg}
| data-accel-col=2 | {nom_pl}
|-
! style="background:var(--wikt-palette-lighterblue, #ebf4ff);" colspan=2 | 屬格
| data-accel-col=1 | {gen_sg}
| data-accel-col=2 | {gen_pl}
|-
! style="background:var(--wikt-palette-lighterblue, #ebf4ff);" colspan=2 | 與格
| data-accel-col=1 | {dat_sg}
| data-accel-col=2 | {dat_pl}
|-
! style="background:var(--wikt-palette-lighterblue, #ebf4ff);" rowspan=2 | 賓格
! style="background:var(--wikt-palette-lighterblue, #ebf4ff);" | 有生
| data-accel-col=1 rowspan=2 | {acc_sg_an}
| data-accel-col=2 | {acc_pl_an}
|-
! style="background:var(--wikt-palette-lighterblue, #ebf4ff);" | 無生
| data-accel-col=2 | {acc_pl_in}
|-
! style="background:var(--wikt-palette-lighterblue, #ebf4ff);" colspan=2 | 工具格
| data-accel-col=1 | {ins_sg}
| data-accel-col=2 | {ins_pl}
|-
! style="background:var(--wikt-palette-lighterblue, #ebf4ff);" colspan=2 | 前置格
| data-accel-col=1 | {pre_sg}
| data-accel-col=2 | {pre_pl}
]===] .. template_postlude()
templates["one_number"] = template_prelude("30") .. [===[
! style="width:7em;background:var(--wikt-palette-lightblue, #d9ebff);" |
! style="background:var(--wikt-palette-lightblue, #d9ebff);" | {number}
|-
! style="background:var(--wikt-palette-lighterblue, #ebf4ff);" | 主格
| {nom_x}
|-
! style="background:var(--wikt-palette-lighterblue, #ebf4ff);" | 屬格
| {gen_x}
|-
! style="background:var(--wikt-palette-lighterblue, #ebf4ff);" | 與格
| {dat_x}
|-
! style="background:var(--wikt-palette-lighterblue, #ebf4ff);" | 賓格
| {acc_x_an}
|-
! style="background:var(--wikt-palette-lighterblue, #ebf4ff);" | 工具格
| {ins_x}
|-
! style="background:var(--wikt-palette-lighterblue, #ebf4ff);" | 前置格
| {pre_x}
]===] .. template_postlude()
templates["one_number_split_animacy"] = template_prelude("35") .. [===[
! style="width:15em;background:var(--wikt-palette-lightblue, #d9ebff);" colspan=2 |
! style="background:var(--wikt-palette-lightblue, #d9ebff);" | {number}
|-
! style="background:var(--wikt-palette-lighterblue, #ebf4ff);" colspan=2 | 主格
| {nom_x}
|-
! style="background:var(--wikt-palette-lighterblue, #ebf4ff);" colspan=2 | 屬格
| {gen_x}
|-
! style="background:var(--wikt-palette-lighterblue, #ebf4ff);" colspan=2 | 與格
| {dat_x}
|-
! style="background:var(--wikt-palette-lighterblue, #ebf4ff);" rowspan=2 | 賓格
! style="background:var(--wikt-palette-lighterblue, #ebf4ff);" | 有生
| {acc_x_an}
|-
! style="background:var(--wikt-palette-lighterblue, #ebf4ff);" | 無生
| {acc_x_in}
|-
! style="background:var(--wikt-palette-lighterblue, #ebf4ff);" colspan=2 | 工具格
| {ins_x}
|-
! style="background:var(--wikt-palette-lighterblue, #ebf4ff);" colspan=2 | 前置格
| {pre_x}
]===] .. template_postlude()
return export
ke43bwahi6upnzzeijx0f1r289vfpg0
藍營
0
1377182
9936550
5561621
2026-10-02T02:21:02Z
Sayonzei
40728
9936550
wikitext
text/x-wiki
==漢語==
{{zh-forms|s=蓝营}}
{{wp|zh:}}
===詞源===
{{zh-etym-short|泛藍|陣營}},源自{{w|中國國民黨}}黨徽的偏藍色調。
===發音===
{{zh-pron
|m=Lányíng
|c=laam4 jing4
|cat=pn
}}
===專有名詞===
{{head|zh|專有名詞}}
# {{lb|zh|臺灣|政治}} 政治立場與{{w|中國國民黨}}相近的人或陣營
#: {{cot|zh|綠營|白營}}
ic3cmw98ruj7cyvudq1syb1xng2ftxo
廢柴
0
1391286
9936793
8303081
2026-10-02T08:34:42Z
Hongkongski
112768
使用[[WP:HOTCAT|HotCat]]已添加[[Category:源自粵語的官話借詞]]
9936793
wikitext
text/x-wiki
==漢語==
{{zh-forms|s=废柴}}
===讀音===
{{zh-pron
|m=fèichái
|c=fai3 caai4
|cat=n
}}
===名詞===
{{head|zh|名詞}}
# {{新}}(源自粵語) [[無用]]的人
# {{新}}(网络用语) 没有特殊才能的普通人
===參見===
* {{zh-l|濕柴}}
* {{zh-l|廢材}}
{{cln|cmn|源自粵語的借詞}}
pl8o0kmwxqdpotvjxqaawajkku0vzyc
Appendix:俄语名词
100
1406627
9936524
9385513
2026-10-01T22:01:10Z
TongcyBot
83009
變格表標記改為中文,配合 Module:Ru-noun
9936524
wikitext
text/x-wiki
==俄語名詞變格==
按照慣例,俄語名詞有六個格:[[主格]]、[[屬格]]、[[與格]]、[[賓格]]、[[工具格]]與[[前置格]]。不過,一些名詞保留了古俄語[[呼格]]的痕跡,有些則獲得了與屬格分離的[[部分格|部分屬格]],和/或與前置格分離的[[方位格]]。
===主格===
[[主格]]是名詞的基本形,表示名詞作為句子的[[主語]]。
{| class="wikitable"
|-
| '''我們'''讀書。 || {{lang|ru|'''Мы''' чита́ем кни́ги.}} || {{xlit|ru|'''Мы''' чита́ем кни́ги.}}
|-
| '''瑪麗亞'''喜歡伊凡。 || {{lang|ru|'''Мари́я''' лю́бит Ива́на.}} || {{xlit|ru|'''Мари́я''' лю́бит Ива́на.}}
|-
| '''人們'''說不同的語言。 || {{lang|ru|'''Лю́ди''' говоря́т на ра́зных языка́х.}} || {{xlit|ru|'''Лю́ди''' говоря́т на ра́зных языка́х.}}
|}
===屬格===
[[屬格]]類似於英語的[[所有格]],通常對應英語的 [[of]] 或所有格詞尾 [['s|'s]]:
{| class="wikitable"
|-
| 一盒'''爆米花''' || {{lang|ru|Коро́бка '''попко́рна'''}} || {{xlit|ru|Коро́бка '''попко́рна'''}}
|-
| 一杯'''水''' || {{lang|ru|Стака́н '''воды́'''}} || {{xlit|ru|Стака́н '''воды́'''}}
|-
| 一位'''母親的'''孩子 || {{lang|ru|Ребёнок '''ма́тери'''}} || {{xlit|ru|Ребёнок '''ма́тери'''}}
|}
===與格===
[[與格]]類似於英語的[[間接賓語]],一般指詞語的對象形,通常對應英語的 [[to]] 或 [[towards]] 等詞:
{| class="wikitable"
|-
| 把蘋果給'''我'''。 || {{lang|ru|Отда́й я́блоко '''мне'''.}} || {{xlit|ru|Отда́й я́блоко '''мне'''.}}
|-
| 我去找'''老師'''。 || {{lang|ru|Я иду́ '''к учи́телю'''.}} || {{xlit|ru|Я иду́ '''к учи́телю'''}}
|-
| 海倫走'''向車站'''。 || {{lang|ru|Еле́на идёт '''к вокза́лу'''.}} || {{xlit|ru|Еле́на идёт '''к вокза́лу'''.}}
|-
| 約翰送花給'''安妮'''。 || {{lang|ru|Ива́н даёт цветы́ '''А́нне'''.}} || {{xlit|ru|Ива́н даёт цветы́ '''А́нне'''.}}
|}
===賓格===
[[賓格]]類似於英語的[[直接賓語]],但在某些情況下描述運動:
{| class="wikitable"
|-
| 我看見'''這本書'''。 || {{lang|ru|Я ви́жу '''кни́гу'''.}} || {{xlit|ru|Я ви́жу '''кни́гу'''.}}
|-
| 我們必須買'''晚餐'''。 || {{lang|ru|Нам на́до купи́ть '''у́жин'''.}} || {{xlit|ru|Нам на́до купи́ть '''у́жин'''.}}
|-
| 我們去'''劇院'''吧。 || {{lang|ru|Пойдём в '''теа́тр'''.}} || {{xlit|ru|Пойдём в '''теа́тр'''.}}
|}
===工具格===
[[工具格]]表示動作的施事者或工具,通常對應英語的 [[with]] 或 [[by]]:
{| class="wikitable"
|-
| 他'''和我'''在一起。 || {{lang|ru|Он '''со мно́й'''.}} || {{xlit|ru|Он '''со мно́й'''.}}
|-
| 我'''用錘子'''敲到了我的拇指。 || {{lang|ru|Я уши́б себе́ па́лец '''молотко́м'''.}} || {{xlit|ru|Я уши́б себе́ па́лец '''молотко́м'''.}}
|-
| 他們'''用筆'''寫字。 || {{lang|ru|Они́ пи́шут '''ру́чками'''.}} || {{xlit|ru|Они́ пи́шут '''ру́чками'''.}}
|-
| 他'''郵寄'''了一封信。 || {{lang|ru|Он посла́л письмо́ '''по́чтой'''.}} || {{xlit|ru|Он посла́л письмо́ '''по́чтой'''.}}
|}
===前置格===
[[前置格]]總是搭配介詞,通常表示方位:
{| class="wikitable"
|-
| 書放'''在桌子上'''。 || {{lang|ru|Кни́га лежи́т '''на столе́'''.}} || {{xlit|ru|Кни́га лежи́т '''на столе́'''.}}
|-
| 我'''在電影院'''。 || {{lang|ru|Я '''в кинотеа́тре'''.}} || {{xlit|ru|Я '''в кинотеа́тре'''.}}
|-
| 我喜歡讀'''關於人們'''的書。 || {{lang|ru|Мне нра́вится чита́ть '''о лю́дях'''.}} || {{xlit|ru|Мне нра́вится чита́ть '''о лю́дях'''.}}
|}
===部分屬格===
[[部分格|部分屬格]]分自屬格,當與屬格不同時,表示某物的一部分:
{| class="wikitable"
|-
| 一杯'''茶'''(一些茶) || {{lang|ru|Ча́шка '''ча́ю'''}} || {{xlit|ru|Ча́шка '''ча́ю'''}}
|-
| 一塊'''麵包'''(一些麵包) || {{lang|ru|Кусо́к '''хле́ба'''}} || {{xlit|ru|Кусо́к '''хле́ба'''}}
|}
===位置格===
[[位置格]]分自前置格,當與前置格不同時,也表示方位:
{| class="wikitable"
|-
| 一棵樹長'''在河岸上'''。 || {{lang|ru|Де́рево растёт '''на берегу́''' реки́.}} || {{xlit|ru|Де́рево растёт '''на берегу́''' реки́.}}
|}
===呼格===
[[呼格]]只在少數宗教性質的詞語中保留,此格標記被稱呼的人。在一些古老的文字和詩歌中,有時用“噢!/啊!”表示:
{| class="wikitable"
|-
| (啊)我的'''上帝'''! || {{lang|ru|'''Бо́же''' мой!}} || {{xlit|ru|'''Бо́же''' мой!}}
|-
| '''上帝'''保佑! || {{lang|ru|Сохрани́ '''бо́же'''!}} || {{xlit|ru|Сохрани́ '''бо́же'''!}}
|-
| '''主耶穌'''! || {{lang|ru|'''Го́споди Иису́се'''!}} || {{xlit|ru|'''Го́споди Иису́се'''!}}
|}
此外,還有一個新的口語呼格,用於一些以-а或-я結尾的名字或家庭成員,所謂的"新呼格"。它通過去掉最後的-а或-я形成,-я變為-ь,例如:
{| class="wikitable"
|-
| 薩沙! || {{lang|ru|Са́ша}} || {{lang|ru|'''Саш'''}}! || {{xlit|ru|'''Саш'''}}!
|-
| 瑪莎! || {{lang|ru|Ма́ша}} || {{lang|ru|'''Маш'''}}! || {{xlit|ru|'''Маш'''}}!
|-
| 卡佳! || {{lang|ru|Ка́тя}} || {{lang|ru|'''Кать'''}}! || {{xlit|ru|'''Кать'''}}!
|-
| 瓦尼亞! || {{lang|ru|Ва́ня}} || {{lang|ru|'''Вань'''}}! || {{xlit|ru|'''Вань'''}}!
|-
| 媽媽! || {{lang|ru|ма́ма}} || {{lang|ru|'''мам'''}}! || {{xlit|ru|'''мам'''}}!
|-
| 爸爸! || {{lang|ru|па́па}} || {{lang|ru|'''пап'''}}! || {{xlit|ru|'''пап'''}}!
|}
這不被認為是很標準的。這些形式通常不包括在詞典中,正式來說主格用於此目的。
==變格模式==
俄語名詞的變格經常不規則,具體變格可在大多數條目中找到。這裡列出的是我們認為的標準規則變格:
===第一變格===
以硬輔音或元音'''{{lang|ru|-а}}'''或'''{{lang|ru|-о}}'''結尾的名詞是硬變格,遵循這些硬變格模式:
'''1. 硬音陰性詞尾:'''
{{ru-noun-table|газе́та}}
*例詞:
*: {{m|ru|газе́та}}
*: {{m|ru|рабо́та}}
*: {{m|ru|сестра́}}
注意:以硬輔音 '''-г''', '''-к''', '''-х''', '''-ж''', '''-ч''', '''-ш''', '''-щ''' 結尾(在陰性、中性形中尾元音脫落)的名詞在變格中使用軟元音 '''-и''' 而非硬元音 '''-ы''':
'''2. 硬音陰性詞尾(帶'''-и'''):'''
{{ru-noun-table|кни́га}}
*例詞:
*: {{m|ru|кни́га}}
*: {{m|ru|копе́йка}}
以'''-я'''結尾的陰性名詞遵循下列規則:
'''3. 軟音陰性詞尾:'''
{{ru-noun-table|ня́ня|a=an}}
*例詞:
*: {{m|ru|исто́рия}}
*: {{m|ru|неде́ля}}
*: {{m|ru|ня́ня}}
===第二變格===
'''1. 硬音陽性詞尾:'''
{{ru-noun-table|вид|par=+|loc=+}}
*例詞:
*: {{m|ru|вид}}
*: {{m|ru|журна́л}}
*: {{m|ru|оте́ц}}
*: {{m|ru|стол}}
'''2. 硬音中性詞尾:'''
{{ru-noun-table|блю́до}}
*例詞:
*: {{m|ru|блю́до}}
*: {{m|ru|жили́ще}}
*: {{m|ru|окно́}}
*: {{m|ru|письмо́}}
*: {{m|ru|учи́лище}}
注意:以硬輔音 '''-г''', '''-к''', '''-х''', '''-ж''', '''-ч''', '''-ш''', '''-щ''' 結尾(在陰性、中性形中尾元音脫落)的名詞在變格中使用軟元音 '''-и''' 而非硬元音 '''-ы''':
'''3. 硬音陽性詞尾(帶'''-и'''):'''
{{ru-noun-table|уро́к}}
*例詞:
*: {{m|ru|бог|tr=box}} {{i|實際發音如{{l|ru||бох}},主格單數的不規則發音}}
*: {{m|ru|каранда́ш}}
*: {{m|ru|нож}}
*: {{m|ru|това́рищ}}
*: {{m|ru|уро́к}}
以 '''-й''' 或 '''-ь''' 結尾的陽性名詞和以 '''-е''' 結尾的中性名詞遵循以下軟變化模式:
'''4. 軟音陽性詞尾:'''
{{ru-noun-table|апре́ль|m}}
*例詞:
*: {{m|ru|апре́ль}}
*: {{m|ru|геро́й}}
*: {{m|ru|день}}
*: {{m|ru|слова́рь}}
*: {{m|ru|слу́чай}}
*: {{m|ru|учи́тель}}
*: {{m|ru|чай}}
'''5. 軟音中性詞尾:'''
{{ru-noun-table|уче́ние}}
*例詞:
*: {{m|ru|мо́ре}}
*: {{m|ru|по́ле}}
*: {{m|ru|уче́ние}}
===第三變格===
以 '''-ь''' 結尾的陰性名詞屬於第三變格:
{{ru-noun-table|боль|f}}
*例詞:
*: {{m|ru|дверь}}
*: {{m|ru|ло́шадь}}
==變格表==
變格表標題的括號內依序使用以下標記:
# 有生性:'''有生'''、'''無生'''、'''有生/無生'''(既可以是有生也可以是無生)
#:* 這會影響複數賓格和陽性單數賓格的形式,無生詞與主格相同,有生詞與屬格相同
# 數的限制:'''唯複'''(只有複數)、'''唯單'''(只有單數)、'''不可數'''
# 典型性別:'''陽性型'''、'''陰性型'''、'''中性型'''
#:* 這指的是名詞的變格形式,而不是實際性別,在某些情況下兩者不同
# 詞幹類別或變格:
## 詞幹值:'''硬音詞幹''' = 詞尾為成對硬輔音,'''軟音詞幹''' = 詞尾為成對軟輔音,'''軟腭音詞幹''' = 詞尾為 к/г/х,'''噝音詞幹''' = 詞尾為 ш/щ/ч/ж,'''ц-詞幹''' = 詞尾為 ц,'''元音詞幹''' = 詞尾為 и 以外的元音或腭音(й 或 ь + 元音),'''i-詞幹''' = 詞尾為 и
##:* 這會影響各種詞尾的形式
## 其他值:'''第三變格''' = 第三變格名詞(以-ь結尾的陰性或以-мя結尾的中性),'''無屈折''' = 不變格,'''長尾所有格''' = 長尾物主形容詞性,'''短尾所有格''' = 短尾物主形容詞性,'''混合所有格''' = 混合物主形容詞性,'''專有所有格''' = 專有名詞物主形容詞性
##:* 短尾、混合、專有這三種形容詞變體在某些格中都有短(類似名詞)詞尾,詞幹通常以-ов/ев/ёв或-ин結尾
# '''重音型'''指定重音模式:'''a'''、'''b'''、'''b′'''、'''c'''、'''d'''、'''d′'''、'''e'''、'''f'''、'''f′'''、'''f″'''
#:* 參見[[Appendix:俄語重音模式分類]]
#:* 可能有多個
# '''形容詞類''' = 形容詞性(具有形容詞的詞尾而不是典型名詞)
# '''簡化詞類''' = 可縮約,'''[簡化詞類]''' = 可選縮約
#:* 這意味著在主格單數和/或屬格複數中最後一個詞幹輔音前出現額外元音(特別是在所有缺乏元音的詞尾中)
# '''不規則'''
#:* 最常見的是指意外的主格複數或屬格複數詞尾,或特殊的複數詞幹
==參見==
* [[Wiktionary:俄語模板]]
* [[Appendix:俄語重音模式分類]]
*{{pedia|Russian declension|lang=en}}
[[Category:俄語附錄|Nouns]]
[[Category:名詞附錄|Russian]]
eaiavz8t9pe3fi7ujt48r6k7oqbvasj
嘢食
0
1580654
9936528
9924415
2026-10-01T22:50:06Z
InternetArchiveBot
95668
Rescuing 1 sources and tagging 0 as dead.) #IABot (v2.0.9.6
9936528
wikitext
text/x-wiki
==漢語==
{{zh-forms}}
{{zh-wp|yue}}
===詞源===
源自“[動詞] + {{lang|zh|嘢食}}”(“[動詞] + (些)東西來吃”)。<ref>[https://web.archive.org/web/20160309065219/http://www.swtang.net/doc/woc200903_abstract.pdf 香港城市大學:香港粵語的「嘢食」和「嘢飲」——兩個經「重新分析」而成的名詞 ]</ref>
===發音===
{{zh-pron
|c=je5 sik6
|cat=n
}}
===名詞===
{{head|zh|名詞}}
# {{lb|yue|一般用於|_|香港}} [[食物]],吃的東西
====近義詞====
{{zh-dial|食物}}
====相关词汇====
* {{zh-l|嘢飲}}
===參考資料===
{{reflist}}
81oxr02mlui4ozf0xfu7hg6sn1w0fue
Module:Category tree/lang/ru
828
1694699
9936470
9388514
2026-10-01T21:57:27Z
TongcyBot
83009
配合 Module:Ru-noun、Module:Ru-adjective 的分類名(′ ″、短尾、所有格、單複數詞尾)
9936470
Scribunto
text/plain
local labels = {}
local handlers = {}
local lang = require("Module:languages").getByCode("ru")
local rfind = mw.ustring.find
local rmatch = mw.ustring.match
local rsubn = mw.ustring.gsub
-- 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
--------------------------------- Verbs --------------------------------
labels["依類別分類的動詞"] = {
description = "依類別分類的俄語動詞。",
parents = {{name = "依屈折分類的動詞", sort = "類"}},
}
labels["依類別和重音模式分類的動詞"] = {
description = "依類別和重音模式分類的俄語動詞",
parents = {{name = "依屈折分類的動詞", sort = "類及重音型"}},
}
table.insert(handlers, function(data)
local cls, variant, pattern = rmatch(data.label, "^([0-9]*)(°?)([abc]?)類動詞$")
if cls then
if pattern == "" then
return {
description = "俄語" .. cls .. "類動詞。",
breadcrumb = cls,
parents = {{name = "依類別分類的動詞", sort = cls .. variant}},
}
else
return {
description = "俄語" .. cls .. "類動詞,重音型" .. pattern .. (
variant == "" and "" or "及變體" .. variant) .. "。" .. (
pattern == "a" and "此重音型的所有形式都重讀詞幹。"
or pattern == "b" and "此重音型的所有形式都重讀詞尾。"
or "此重音型中,第一人稱單數現在時直陳式和所有現在時直陳式以外的形式重讀詞尾,而其餘現在時直陳式形式重讀詞幹。") .. (
variant == "" and "" or
cls == "3" and "變體代碼表示詞幹的-н在大多數非現在時形式中缺失。" or
"變體代碼表示現在時不發生[[Appendix:Glossary#iotation|軟音化]]。(此類別的大多數動詞現在時都會軟音化,例如иска́ть的現在時為ищу́, и́щешь, и́щет等。)"),
breadcrumb = cls .. variant .. pattern,
parents = {
{name = cls .. "類動詞", sort = pattern},
{name = "依類別和重音模式分類的動詞", sort = cls .. pattern},
},
}
end
end
end)
--------------------------------- Adjectives --------------------------------
for _, plpos in ipairs { "形容詞", "姓氏" } do
labels["依詞幹類型和重音分類的" .. plpos] = {
description = "依詞幹類型和重音分類的俄語" .. plpos .. "。" ..
"與名詞不同," .. plpos .. "一般都固定為詞幹重音或詞尾重音。",
breadcrumb = "依詞幹類型和重音分類",
parents = {{name = "依屈折分類的" .. plpos, sort = "詞幹型及重音"}},
}
labels["詞尾重音" .. plpos] = {
description = "俄語詞尾重音的" .. plpos .. "。它們以" ..
"{{lang|ru|-о́й}}結尾,或在某些情況下以{{lang|ru|-и́н}}、{{lang|ru|-о́в}}或" ..
"{{lang|ru|-ёв}}結尾。",
breadcrumb = "詞尾重音",
parents = {{name = "依屈折分類的" .. plpos, sort = "詞尾重音"}},
}
labels["依不規則性分類的" .. plpos] = {
description = "依不規則性分類的俄語" .. plpos .. "。",
breadcrumb = "依不規則性分類",
parents = {{name = "不規則" .. plpos, sort = "不規則性"}},
}
end
-- 僅適用於形容詞,不適用於姓氏
labels["有短尾形的形容詞"] = {
description = "俄語有短尾形式的形容詞。短尾形式用作" ..
"[[Appendix:Glossary#predicative|謂語]],一般只用於性質形容詞," ..
"即可以用[[很]]、[[完全]]、[[有些]]、[[更]]等副詞修飾的形容詞。",
parents = {{name = "形容詞", sort = "短尾形式"}},
}
labels["缺少短尾形的形容詞"] = {
description = "俄語有短尾形式但某些短尾形式缺失的形容詞。短尾形式用作謂語," ..
"一般只用於性質形容詞,即可以用[[很]]、[[完全]]、[[有些]]、[[更]]等副詞修飾的形容詞。",
parents = {{name = "形容詞", sort = "缺失短尾形式"}},
}
labels["有不規則短尾詞幹的形容詞"] = {
description = "俄語短尾形式詞幹與其他形式詞幹不規則對應的形容詞。例如" ..
"{{m|ru|солёный||[[鹹的]]}}(短尾形式{{lang|ru|со́лон, солона́, со́лоно, солоны́/со́лоны}});" ..
"{{m|ru|ма́ленький||[[小的]]}}(短尾形式{{lang|ru|мал, мала́, мало́, малы́}});" ..
"以及{{m|ru|большо́й||[[大的]]}}(短尾形式{{lang|ru|вели́к, велика́, велико́, велики́}})。" ..
"(在後兩個例子中,短尾形式分別來自同義形容詞{{m|ru|ма́лый}}和{{m|ru|вели́кий}}。)",
parents = {{name = "不規則形容詞", sort = "短尾詞幹"}},
}
labels["有可簡化短尾詞幹的形容詞"] = {
description = "俄語短尾形式詞幹可[[Appendix:Glossary#reducible|簡化]]的形容詞;" ..
"具體而言,陽性單數短尾形式在最後一個輔音前插入一個額外的元音," ..
"而其他形式則沒有。例如大多數以{{m|ru|-кий}}和{{m|ru|-ный}}結尾的形容詞," ..
"如{{m|ru|лёгкий||[[輕的]]、[[容易的]]}}的陽性單數短尾形式為{{m|ru|лёгок}}," ..
"{{m|ru|де́льный||[[有效的]]、[[明智的]]}}的陽性單數短尾形式為{{m|ru|де́лен}}。",
parents = {{name = "形容詞", sort = "可簡化短尾詞幹"}},
}
labels["扎利茲尼亞克短尾形特例1的形容詞"] = {
description = "俄語詞條形式以{{lang|ru|-нный}}或{{lang|ru|-нний}}結尾(有兩個{{lang|ru|н}})" ..
"但陽性單數短尾形式僅以{{lang|ru|-н}}結尾(即只有一個{{lang|ru|н}})的形容詞。" ..
"例如{{m|ru|самоуве́ренный||[[自信的]]}},陽性單數短尾形式為{{m|ru|самоуве́рен}}" ..
"(陰性單數短尾形式為{{m|ru|самоуве́ренна}}等);以及{{m|ru|вы́спренний||[[誇張的]]}}" ..
",陽性單數短尾形式為{{m|ru|вы́спрен}}(陰性單數短尾形式為{{m|ru|вы́спрення}}等)。" ..
"與[[:Category:扎利茲尼亞克短尾形特例2的俄語形容詞|特例2]]不同," ..
"後者的'''所有'''短尾形式都只有一個{{lang|ru|-н}}。",
parents = {{name = "形容詞", sort = "扎利茲尼亞克短尾形式特例1"}},
}
labels["扎利茲尼亞克短尾形特例2的形容詞"] = {
description = "俄語詞條形式以{{lang|ru|-нный}}結尾(有兩個{{lang|ru|н}})" ..
"但所有短尾形式都只以一個{{lang|ru|-н}}結尾的形容詞。例如" ..
"{{m|ru|подве́рженный||[[易受]]、[[容易]]、[[傾向於]]}},短尾形式為" ..
"{{lang|ru|подве́ржен, подве́ржена, подве́ржено, подве́ржены}}。" ..
"所有以{{lang|ru|-нный}}結尾的過去被動分詞在其短尾形式中都依此方式變格," ..
"大多數或所有依此方式變格的形容詞在起源上都是過去被動分詞。" ..
"與[[:Category:扎利茲尼亞克短尾形特例1的俄語形容詞|特例1]]不同," ..
"後者只有陽性單數短尾形式不規則地只有一個{{lang|ru|-н}}。" ..
"注意許多詞彙兩種方式都有,作為分詞時依特例2變格,作為形容詞時依特例1變格。" ..
"例如{{m|ru|отвлечённый}},作為{{m|ru|отвле́чь||[[分散]]、[[轉移]]}}的過去被動分詞時" ..
"短尾形式為{{lang|ru|отвлечён, отвлечена́, отвлечено́, отвлечены́}}," ..
"但作為意思是「抽象的」的形容詞時短尾形式為" ..
"{{lang|ru|отвлечён, отвлечённа, отвлечённо, отвлечённы}}。",
parents = {{name = "形容詞", sort = "扎利茲尼亞克短尾形式特例2"}},
}
-- Should be no surnames like the following.
labels["僅有短尾形的形容詞"] = {
description = "俄語'''僅'''以短尾形式存在的形容詞。這意味著它們只能用作" ..
"[[Appendix:Glossary#predicative|謂語]]形容詞。例如" ..
"{{m|ru|рад||[[高興的]]}}、{{m|ru|до́лжен||[[有義務的]]、[[必須]]、[[應該]]}}、" ..
"和{{m|ru|гора́зд||[[熟練的]]、[[有能力的]]}}。",
parents = {{name = "形容詞", sort = "僅短尾形式"}},
}
-- Surnames and adjectives handled differently.
labels["專有名詞性形容詞"] = {
description = "俄語依形容詞變格的專有名詞(通常是姓氏)。它們類似於" ..
"所有格形容詞,有相同的詞尾,即{{m|ru|-ин}}/{{m|ru|-ын}}或" ..
"{{m|ru|-ов}}/{{m|ru|-ев}}/{{m|ru|-ёв}},但缺少中性性別," ..
"變格方式與所有格形容詞略有不同。例如,姓氏{{m|ru|По́пов}}" ..
"的前置格單數為{{m|ru|По́пове}},而所有格形容詞" ..
"{{m|ru|сы́нов||[[兒子的]]}}的前置格單數為{{m|ru|сы́новом}}。",
parents = {{name = "形容詞", sort = "專有名詞"}},
}
labels["所有格姓氏"] = {
description = "俄語變格類似所有格形容詞的姓氏。它們有與所有格形容詞相同的詞尾," ..
"即{{m|ru|-ин}}/{{m|ru|-ын}}或{{m|ru|-ов}}/{{m|ru|-ев}}/{{m|ru|-ёв}},但缺少" ..
"中性性別,變格略有不同。例如,姓氏{{m|ru|По́пов}}" ..
"的前置格單數為{{m|ru|По́пове}},而所有格形容詞" ..
"{{m|ru|сы́нов||[[兒子的]]}}的前置格單數為{{m|ru|сы́новом}}。",
parents = {{name = "姓氏", sort = "所有格"}},
}
labels["依屈折分類的姓氏"] = {
description = "依其遵循的變格類型組織的俄語姓氏。",
breadcrumb = "依屈折分類",
parents = {{name = "姓氏", sort = "屈折類型"}},
}
labels["不規則姓氏"] = {
description = "俄語遵循非標準變格模式的姓氏。",
breadcrumb = "不規則",
parents = {{name = "依屈折分類的姓氏", sort = "不規則"}},
}
labels["依短重音型分類的形容詞"] = {
description = "依短重音型分類的俄語形容詞。",
parents = {{name = "依屈折分類的形容詞", sort = "短重音型"}},
}
local stem_expl = {
["軟腭音詞幹"] = "軟腭音(-к、-г或–x)",
["噝音詞幹"] = "噝音(-ш、-ж、-ч或-щ)",
["ц-詞幹"] = "-ц",
["i-詞幹"] = "-и(舊式-і)",
["元音詞幹"] = "除-и或-і、或-й或-ь以外的元音",
["軟音詞幹"] = "軟輔音",
["硬音詞幹"] = "硬輔音",
["第三變格"] = "第三變格類型", -- L10N
}
local zaliznyak_stem_type = {
["軟腭音詞幹"] = "3",
["噝音詞幹"] = "4",
["ц-詞幹"] = "5",
["i-詞幹"] = "7",
["元音詞幹"] = "6",
["軟音詞幹"] = "2",
["硬音詞幹"] = "1",
["第三變格"] = "8",
}
local adjective_stem_gender_endings = {
["陽性"] = {
["硬音詞幹"] = {"-ый", "-о́й"},
["ц-詞幹"] = {"-ый", "-о́й"},
["軟腭音詞幹"] = {"-ий", "-о́й"},
["噝音詞幹"] = {"-ий", "-о́й"},
["長尾所有格"] = {"-ий", "-и́й"},
["短尾所有格"] = {"輔音(舊式-ъ)", "輔音(舊式-ъ)"},
["混合所有格"] = {"輔音(舊式-ъ)", "輔音(舊式-ъ)"},
["專有所有格"] = {"輔音(舊式-ъ)", "輔音(舊式-ъ)"},
["軟音詞幹"] = "-ий",
["元音詞幹"] = "-ий",
},
["陰性"] = {
["硬音詞幹"] = {"-ая", "-а́я"},
["ц-詞幹"] = {"-ая", "-а́я"},
["軟腭音詞幹"] = {"-ая", "-а́я"},
["噝音詞幹"] = {"-ая", "-а́я"},
["長尾所有格"] = {"-ья", "-ья́"},
["短尾所有格"] = {"-а", "-а́"},
["混合所有格"] = {"-а", "-а́"},
["專有所有格"] = {"-а", "-а́"},
["軟音詞幹"] = "-яя",
["元音詞幹"] = "-яя",
},
["中性"] = {
["硬音詞幹"] = {"-ое", "-о́е"},
["ц-詞幹"] = {"-ее", "-о́е"},
["軟腭音詞幹"] = {"-ое", "-о́е"},
["噝音詞幹"] = {"-ее", "-о́е"},
["長尾所有格"] = {"-ье", "-ье́"},
["短尾所有格"] = {"-о", "-о́"},
["混合所有格"] = {"-о", "-о́"},
["專有所有格"] = {"-о", "-о́"},
["軟音詞幹"] = "-ее",
["元音詞幹"] = "-ее",
},
["複數"] = {
["硬音詞幹"] = {"-ые", "-ы́е"},
["ц-詞幹"] = {"-ые", "-ы́е"},
["軟腭音詞幹"] = {"-ие", "-и́е"},
["噝音詞幹"] = {"-ие", "-и́е"},
["長尾所有格"] = {"-ьи", "-ьи́"},
["短尾所有格"] = {"-ы", "-ы́"},
["混合所有格"] = {"-ы", "-ы́"},
["專有所有格"] = {"-ы", "-ы́"},
["軟音詞幹"] = "-ие",
["元音詞幹"] = "-ие",
},
}
local adjective_numeral_stem_gender_endings = {
["複數"] = {
["硬音詞幹"] = {nil, "-еро"},
}
}
local short_adjective_desc = {
["a"] = "所有短尾形式都重讀詞幹",
["a′"] = "陰性單數重讀詞幹或詞尾,其他形式重讀詞幹",
["b"] = "所有短尾形式都重讀詞尾(陽性單數除外)",
["b′"] = "複數重讀詞幹或詞尾,其他形式重讀詞尾(陽性單數除外)",
["c"] = "陰性單數重讀詞尾,其他形式重讀詞幹",
["c′"] = "複數重讀詞幹或詞尾,陰性單數重讀詞尾,中性單數重讀詞幹",
["c″"] = "中性單數和複數重讀詞幹或詞尾,陰性單數重讀詞尾",
}
table.insert(handlers, function(data)
local function pos_is_adjectival(pos)
return pos == "形容詞" or pos == "姓氏"
end
local function fetch_endings(gender, stem, stress)
if not adjective_stem_gender_endings[gender] then
return nil
end
if stress == "所有格" then
stem = stem .. "所有格"
stress = "詞幹"
end
local endings = adjective_stem_gender_endings[gender][stem]
if endings then
if type(endings) == "string" then
return endings
elseif stress == "詞幹" then
return endings[1]
elseif stress == "詞尾" then
return endings[2]
end
end
return nil
end
local breadcrumb, stem, stress, pos = rmatch(data.label, "^(([^ ]*詞幹)(詞[幹尾])重音)(.*)$")
if not stem then
breadcrumb, stem, stress, pos = rmatch(data.label, "^(([^ ]*)(所有格))(.*)$")
end
if not stem then
breadcrumb, stem, pos = rmatch(data.label, "^(([^ ]*詞幹))(.*)$")
stress = ""
end
if stem and (stress == "所有格" or stem_expl[stem]) and pos_is_adjectival(pos) then
local stresstext = stress == "詞幹" and
"此" .. pos .. "重讀詞幹,對應扎利茲尼亞克a型。" or
stress == "詞尾" and
"此" .. pos .. "重讀詞尾,對應扎利茲尼亞克b型。" or
"此類型的所有" .. pos .. "都重讀詞幹。"
local m = fetch_endings("陽性", stem, stress)
local f = fetch_endings("陰性", stem, stress)
local n = fetch_endings("中性", stem, stress)
local p = fetch_endings("複數", stem, stress)
if not m or not f or not n or not p then
return nil
end
local endingtext = "主格形式為陽性單數" .. m ..
"、陰性單數" .. f .. "、中性單數" .. n .. "和複數" .. p .. "。"
local stemtext, posstext
if stress == "所有格" then
posstext = "所有格"
if stem == "長尾" then
stemtext = "詞幹以yod結尾,在主格單數中消失,但在所有其他形式中出現為軟符號ь加元音。"
else
stemtext = ""
end
else
posstext = ""
stemtext = "詞幹以" .. stem_expl[stem] .. "結尾,是扎利茲尼亞克第" .. zaliznyak_stem_type[stem] .. "型。"
end
return {
description = "俄語" .. stem .. posstext .. pos .. "," .. endingtext .. stemtext .. stresstext,
breadcrumb = breadcrumb,
parents = {"依詞幹類型和重音分類的" .. pos},
}
end
local shortaccent, pos = rmatch(data.label, "^短重音型([abc][′″]?)(.*)$")
if shortaccent and short_adjective_desc[shortaccent] and pos_is_adjectival(pos) then
local escaped_accent = rsub(shortaccent, "'", "'")
return {
description = "俄語短重音型" .. escaped_accent .. "的" .. pos .. "," ..
short_adjective_desc[shortaccent] .. "。",
breadcrumb = { name = escaped_accent, nocap = true },
parents = {{ name = "依短重音型分類的" .. pos, sort = shortaccent }},
}
end
local irregularity, pos = rmatch(data.label, "^(.*)不規則的([^ ]*)$")
if irregularity and pos_is_adjectival(pos) then
return {
description = "有不規則" .. irregularity .. "的俄語" .. pos .. "(可能還有其他情況)。",
breadcrumb = irregularity,
parents = {{ name = "依不規則性分類的" .. pos, sort = irregularity }},
}
end
end)
--------------------------------- Nouns/Pronouns/Numerals --------------------------------
for _, pos in ipairs({"名詞", "代詞", "數詞"}) do
labels["依詞幹類型和性別分類的" .. pos] = {
description = "依詞幹類型和典型性別分類的俄語" .. pos .. "。" ..
"注意「典型性別」是指對於" .. pos .. "的詞尾典型的性別(例如大多數以''-а''結尾的" .. pos .. "都是" ..
"陰性的,因此所有這樣的" .. pos .. "都被認為是「典型陰性的」;但有些實際上是陽性的)。",
parents = {{name = "依屈折分類的" .. pos, sort = "詞幹及性別"}},
}
labels["依詞幹類型、性別和重音模式分類的" .. pos] = {
description = "依詞幹類型、典型性別和重音模式分類的俄語" .. pos ..
"。注意「典型性別」是指對於" .. pos .. "的詞尾典型的性別(例如大多數" ..
"以''-а''結尾的" .. pos .. "都是陰性的,因此所有這樣的" .. pos .. "都被認為是「典型陰性的」;但有些實際" ..
"上是陽性的)。有關重音型的更多信息,請參見[[Appendix:俄語重音模式分類]]。",
parents = {{name = "依屈折分類的" .. pos, sort = "詞幹、性別及重音型"}},
}
labels["依格形式分類的" .. pos] = {
description = "依是否具有不規則格形式或" ..
"特殊格(方位格、部分格或呼格)分類的俄語" .. pos .. "。",
parents = {{name = pos, sort = "格形式"}},
}
labels["依重音模式分類的" .. pos] = {
description = "依重音模式分類的俄語" .. pos .. "(參見[[Appendix:俄語重音模式分類]])。",
parents = {{name = "依屈折分類的" .. pos, sort = "重音模式"}},
}
labels["依單數詞尾分類的" .. pos] = {
description = "依單數詞尾分類的俄語" .. pos .. "。" ..
"目前僅用於某些特殊類型的詞尾。",
parents = {{name = pos, sort = "單數詞尾"}},
}
labels["依單複數詞尾分類的" .. pos] = {
description = "依主格單數和複數詞尾類的俄語" .. pos ..
"。僅用於詞尾之一不規則或為變格" ..
"後綴(如''-ёнок''或''-ин'')的" .. pos .. "。",
parents = {{name = pos, sort = "單複數詞尾"}},
}
labels["依複數詞尾分類的" .. pos] = {
description = "依複數詞尾分類的俄語" .. pos .. "。" ..
"目前僅用於某些特殊類型的詞尾。",
parents = {{name = pos, sort = "複數詞尾"}},
}
labels["有可簡化詞幹的" .. pos] = {
description = "俄語有可簡化詞幹的" .. pos .. ",在主格單數和/或屬格複數中" ..
"在最後一個詞幹輔音前插入一個額外的元音。",
parents = {{name = "依屈折分類的" .. pos, sort = "可簡化詞幹"}},
}
labels["簡化詞幹中末尾н軟化的" .. pos] = {
description = "俄語詞幹中最後的{{lang|ru|н}}在詞幹簡化時變為{{lang|ru|нь}}的" .. pos .. "。",
breadcrumb = "簡化詞幹中末尾н軟化",
parents = {{name = "有可簡化詞幹的" .. pos, sort = "簡化詞幹中末尾н軟化"}},
}
labels["有多個引數集的" .. pos] = {
description = "有多種變格的俄語" .. pos .. "(即可以按照多種" ..
"變格方式變格,差別不僅僅是重音型)。",
parents = {{name = "依屈折分類的" .. pos, sort = "多套變格"}},
}
labels["有多種重音模式的" .. pos] = {
description = "有多種重音模式的俄語" .. pos .. "。參見[[Appendix:俄語重音模式分類]]。",
parents = {{name = "依屈折分類的" .. pos, sort = "多種重音型"}},
}
labels["形容詞性" .. pos] = {
description = "有形容詞詞尾的俄語" .. pos .. "。",
parents = {pos},
}
labels["有不規則複數詞幹的" .. pos] = {
description = "有不規則複數詞幹的俄語" .. pos .. ",出現在所有語法格中。",
parents = {{name = "不規則" .. pos, sort = "複數詞幹"}},
}
labels["有混合變格的" .. pos] = {
description = "俄語有混合變格的" .. pos .. "(即複數變格與單數不同)。",
parents = {{name = "不規則" .. pos, sort = "混合變格"}},
}
labels["有替代屬格複數的" .. pos] = {
description = "俄語在屬格複數中使用特定替代詞尾的" .. pos .. ":陽性" ..
pos .. "不加詞尾;陰性" .. pos .. "用''-ей''(當此詞尾不是其他預期詞尾時);中性" ..
pos .. "用''-ев''。這些" .. pos .. "在扎利茲尼亞克詞典中用②標記。",
parents = {{name = "不規則" .. pos, sort = "替代屬格複數"}},
}
end
local noun_stem_gender_endings = {
["陽性"] = {
["硬音詞幹"] = {"硬輔音(舊式-ъ)", "-ы"},
["ц-詞幹"] = {"-ц(舊式-цъ)", "-ы"},
["軟腭音詞幹"] = {"軟腭音(以及舊式-ъ)", "-и"},
["噝音詞幹"] = {"噝音(以及舊式-ъ)", "-и"},
["軟音詞幹"] = {"-ь", "-и"},
["i-詞幹"] = {"-й", "-и"},
["元音詞幹"] = {"-й", "-и"},
["第三變格"] = {"-ь", "-и"},
},
["陰性"] = {
["硬音詞幹"] = {"-а", "-ы"},
["ц-詞幹"] = {"-а", "-ы"},
["軟腭音詞幹"] = {"-а", "-и"},
["噝音詞幹"] = {"-а", "-и"},
["軟音詞幹"] = {"-я", "-и"},
["i-詞幹"] = {"-я", "-и"},
["元音詞幹"] = {"-я", "-и"},
["第三變格"] = {"-ь", "-и"},
},
["中性"] = {
["硬音詞幹"] = {"-о", "-а"},
["ц-詞幹"] = {"-е", "-а"},
["軟腭音詞幹"] = {"-о", "-а"},
["噝音詞幹"] = {"-е", "-а"},
["軟音詞幹"] = {"-е", "-я"},
["i-詞幹"] = {"-е", "-я"},
["元音詞幹"] = {"-е", "-я"},
["第三變格"] = {"-мя", "-мена"},
},
}
table.insert(handlers, function(data)
local function escape_accent(accent)
return rsub(accent, "'", "'")
end
local function get_stem_gender_text(stem, gender, pos)
if not noun_stem_gender_endings[gender] then
return nil
end
local endings = noun_stem_gender_endings[gender][stem]
if not endings then
return nil
end
local sgending, plending = endings[1], endings[2]
local stemtext =
stem == "第三變格" and "" or
"詞幹以" .. stem_expl[stem] .. "結尾,是扎利茲尼亞克第" .. zaliznyak_stem_type[stem] .. "型。"
local decltext =
stem == "第三變格" and "" or
"傳統上被認為屬於第" .. (gender == "陰性" and "1" or "2") .. "類變格。"
return stem .. ",通常為" .. gender .. pos .. ",主格單數一般以" .. sgending .. "結尾" ..
",主格複數一般以" .. plending .. "結尾。" .. stemtext .. decltext
end
-- L10N:唯複和陰陽中性無法一同處理,因此分拆
local stem, gender, accent, pos = rmatch(data.label, "^(.*)([陰陽中]性)重音型([A-Za-z′″]+)形容詞性(.*)$")
if not stem then
stem, gender, accent, pos = rmatch(data.label, "^(.*)(唯複)重音型([A-Za-z′″]+)形容詞性(.*)$")
end
if not stem then
stem, gender, pos = rmatch(data.label, "^(.*)([陰陽中]性)形容詞性(.*)$")
end
if not stem then
stem, gender, pos = rmatch(data.label, "^(.*)(唯複)形容詞性(.*)$")
end
if stem then
local possessive, stemtext
local endings, sg, pl
local function fetch_endings_1(endings_table, gender, stem, accent)
if not endings_table[gender] then
return nil
end
local endings = endings_table[gender][stem]
if endings then
if type(endings) == "string" then
return endings
elseif accent == "a" then
return endings[1]
elseif accent == "b" then
return endings[2]
end
end
return nil
end
local function fetch_endings(gender, stem, accent)
if pos == "數詞" then
local retval = fetch_endings_1(adjective_numeral_stem_gender_endings, gender, stem, accent)
if retval then
return retval
end
end
return fetch_endings_1(adjective_stem_gender_endings, gender, stem, accent)
end
sg = fetch_endings(gender, stem, accent)
pl = fetch_endings("複數", stem, accent)
if rfind(stem, "所有格$") then
possessive = "所有格"
stem = rsub(stem, "所有格$", "")
stemtext = ""
elseif stem_expl[stem] then
possessive = ""
stemtext = "詞幹以" .. stem_expl[stem] .. "結尾,是扎利茲尼亞克第" .. zaliznyak_stem_type[stem] .. "型。"
end
if (sg or gender == "唯複") and pl and stemtext then
local accentdesc = accent == "a" and
"此" .. pos .. "按重音型a重讀(詞幹重音)。" or
accent == "b" and
"此" .. pos .. "按重音型b重讀(詞尾重音)。" or
"此類所有" .. pos .. "都按重音型a重讀(詞幹重音)。"
local accenttext = accent and "重音型" .. accent or ""
return {
description = "俄語" .. stem .. gender .. pos .. ",有" .. possessive ..
"形容詞詞尾," .. (
gender == "唯複" and "" or "主格單數以" .. sg .. "結尾,") ..
"主格複數以" .. pl .. "結尾。" .. stemtext .. accentdesc,
breadcrumb = stem .. gender .. accenttext,
parents = {
{name = "形容詞性" .. pos, sort = stem .. gender .. accenttext},
"依詞幹類型、性別和重音模式分類的" .. pos,
},
}
end
end
local stem, gender, accent, pos = rmatch(data.label, "^(.+)([陰陽中]性)重音型([A-Za-z′″]+)(.詞)$")
if stem then
local stem_gender_text = get_stem_gender_text(stem, gender, pos)
if stem_gender_text then
local accent_text = "這種" .. pos .. "按照重音型" .. escape_accent(accent) .. "加重音。"
return {
description = "俄語" .. stem_gender_text .. accent_text,
breadcrumb = "重音型" .. escape_accent(accent),
parents = {
{name = stem .. gender .. pos, sort = accent},
"依詞幹類型、性別和重音模式分類的" .. pos,
}
}
end
end
local stem, gender, pos = rmatch(data.label, "^(.+)([陰陽中]性)(.詞)$")
if stem then
local stem_gender_text = get_stem_gender_text(stem, gender, pos)
if stem_gender_text then
return {
description = "俄語" .. stem_gender_text,
breadcrumb = stem .. gender,
parents = {"依詞幹類型和性別分類的" .. pos},
}
end
end
local sg, pl, pos = rmatch(data.label, "^單數以(.*)結尾複數以(.*)結尾的(.*)$")
if sg then
return {
description = "主格單數以" .. sg .. "結尾、主格複數以" .. pl .. "結尾的俄語" .. pos .. "。",
breadcrumb = {name = "單數" .. sg .. ",複數" .. pl, nocap = true},
parents = {{name = "依單複數詞尾分類的" .. pos, sort = sg .. " " .. pl}},
}
end
local sg, pos = rmatch(data.label, "^以(.*)結尾的(.*)$")
if sg then
return {
description = "主格單數以" .. sg .. "結尾的俄語" .. pos .. "。",
breadcrumb = {name = sg, nocap = true},
parents = {{name = "依單數詞尾分類的" .. pos, sort = sg}},
}
end
local pl, pos = rmatch(data.label, "^複數以(.*)結尾的(.*)$")
if pl then
return {
description = "主格複數以" .. pl .. "結尾的俄語" .. pos .. "。",
breadcrumb = {name = pl, nocap = true},
parents = {{name = "依複數詞尾分類的" .. pos, sort = pl}},
}
end
local accent, pos = rmatch(data.label, "^重音型([a-f][′″]?)(.*)$")
if accent then
return {
description = "重音型" .. escape_accent(accent) .. "的俄語" .. pos .. "。",
breadcrumb = {name = escape_accent(accent), nocap = true},
parents = {{name = "依重音模式分類的" .. pos, sort = accent}},
}
end
for _, number in ipairs({"單數", "複數"}) do
local case, pos = rmatch(data.label, "^有([^ ]+格" .. number .. ")的(.*)$")
if case then
-- 部分格、處所格、呼格
return {
description = "有單獨" .. case .. "的俄語" .. pos .. "。",
breadcrumb = case,
parents = {{name = "依格形式分類的" .. pos, sort = case}},
}
end
end
for _, form in ipairs({"計數形式", "少數形式"}) do
local pos = rmatch(data.label, "^有" .. form .. "的(.*)$")
if pos then
return {
description = "有單獨" .. form .. "的俄語" .. pos .. "。",
breadcrumb = form,
parents = {{name = "依格形式分類的" .. pos, sort = form}},
}
end
end
local case, pos = rmatch(data.label, "^(.*)不規則的(.*)$")
if case then
return {
description = "有不規則" .. case .. "的俄語" .. pos .. "。",
breadcrumb = case,
parents = {{name = "依格形式分類的" .. pos, sort = case}},
}
end
end)
--------------------------------- Terms spelled with --------------------------------
labels["用Е代替Ё拼寫的詞"] = {
description = "俄語中以字母{{lang|ru|Е}}替代{{lang|ru|Ё}}的詞彙。",
additional = "在正常的連續文本中(在教育或參考資料之外),母語使用者很少使用字母{{m|ru|ё}}," ..
"而是寫作{{m|ru|е}}。但發音仍然是{{lang|ru|ё}}。例如,{{m|ru|лёгкий}}通常寫作" ..
"{{m|ru|легкий|tr=-}},但仍發音為前者。維基詞典遵循詞典風格使用{{lang|ru|ё}}," ..
"但也允許{{lang|ru|е}}的形式作為替代拼寫。\n\n" ..
"用{{lang|ru|е}}代替{{lang|ru|ё}}書寫的詞彙應該只在用{{lang|ru|ё}}拼寫時也需要" ..
"重音標記的情況下才給出重音(例如{{lang|ru|ё}}出現多次,或者是重音落在其他地方的外來借詞)。\n\n" ..
"此類拼寫的條目應使用{{temp|ru-noun-alt-ё}}、{{temp|ru-verb-alt-ё}}、" ..
"{{temp|ru-adj-alt-ё}}或{{temp|ru-pos-alt-ё}}來格式化整個條目。\n\n" ..
"====另見====\n" ..
"在{{w|俄語正寫法改革|1918年前正字法}}中,兩種其他罕見變化也以類似方式出現:\n" ..
"* [[:Category:用Ѣ代替Ѣ̈拼寫的俄語詞]]\n" ..
"* [[:Category:用Я代替Я̈拼寫的俄語詞]]\n\n" ..
"改革後,撇號有時替代硬符號{{lang|ru|ъ}}:\n" ..
"* [[:Category:俄語用'代替Ъ拼寫的詞]]",
breadcrumb = "Е代替Ё",
catfix = true,
parents = {
{name = "依字元分類的詞", sort = "Е代替Ё"},
{name = "有不規則發音的詞", sort = "Е代替Ё"},
},
}
return {LABELS = labels, HANDLERS = handlers}
4gzv9cn3lz3couxjlxrlzx4f0c86r0q
dižaꞌ
0
1697598
9936799
6325903
2026-10-02T09:13:04Z
Chihunglu83
87715
9936799
wikitext
text/x-wiki
{{also|điza|diza}}
==蘇戈喬薩波特克語==
===詞源===
繼承自{{inh|zpq|omq-zpc-pro|*tiiʔtzaʔ}}。
===名詞===
{{head|zpq|名詞}}
# [[單詞]]
# [[語言]]
# [[話語]],[[談話]]
# [[常言]],[[諺語]]
====派生詞彙====
{{col4|zpq
|con chzaḻaꞌ dižaꞌ
|chadoꞌ dižaꞌ
|chde dižaꞌ
|chdiḻdižaꞌ
|chḻiz dižaꞌ
|chṉabdižaꞌ
|chṉelen dižaꞌ
|chocuaꞌaṉ dižaꞌ
|choeꞌ dižaꞌ
|chožiꞌi dižaꞌ
|chsiꞌ dižaꞌ
|chyitj dižaꞌ
|chzaḻaꞌ to dižaꞌ
|chze dižaꞌ
|chze dižaꞌ
|chziꞌ dižaꞌ
|chziꞌdižaꞌ
|de dižaꞌze
|dižaꞌ bixje
|dižaꞌ btox
|dižaꞌ choꞌa
|dižaꞌ de
|dižaꞌ ga
|dižaꞌ gole
|dižaꞌ güenḻažeꞌ
|dižaꞌ güitj
|dižaꞌ lan
|dižaꞌ leꞌe
|dižaꞌ ḻi
|dižaꞌ šagüeꞌ
|dižaꞌ xenḻaz
|dižaꞌxon
|dižaꞌxtil
|dižaꞌ ziꞌ
|dižaꞌ ziꞌbya
|dižaꞌ žiꞌa
|güede dižaꞌ
|güesan dižaꞌ
|gwbej dižaꞌ
}}
===參考資料===
* {{R:Long & Cruz 2000|page=218}}
g7dmh0ypov87w6kzv6z1mcr2y5u5sul
Wiktionary:啤酒馆/topic list
4
1705276
9936034
9935732
2026-10-01T12:43:07Z
Cewbot
61744
[[User:Cewbot/log/20170915/configuration|生成議題列表:10個議題]]; new reply: [[:Wiktionary:啤酒馆#Wikidata Sitelink changes in Recent Changes and Watchlist|Wikidata Sitelink changes in Recent Changes and Watchlist]]
9936034
wikitext
text/x-wiki
<!-- 本頁面由機器人自動更新。若要改進,請聯繫機器人操作者。 -->
{| class="wikitable sortable mw-collapsible" style="float:left;"
|-
! data-sort-type="number" style="font-weight: normal;" | <small>#</small> !! 💭 話題 !! <span title="發言數/發言人次 (實際上為計算簽名數)">💬</span> !! <span title="參與討論人數/發言人數">👥</span> !! 🙋 最新發言 !! data-sort-type="isoDate" | <span title="最後更新">🕒 <small>(UTC+8)</small></span>
|-
| style="text-align: right;" | 1
| style="max-width: 24em" | <small>[[:Wiktionary:啤酒馆#Subscribe_to_the_This_Month_in_Education_newsletter_-_learn_from_others_and_share_your_stories|Subscribe to the This Month in Education newsletter - learn from others and share your stories]]</small>
| style="text-align: right;background-color: #fcc;" | 0
| style="text-align: right;background-color: #fcc;" | 0
| style="background-color: #ffd;" |
| style="background-color: #ffd;" |
|-
| style="text-align: right;" | 2
| style="max-width: 24em" | <small>[[:Wiktionary:啤酒馆#Do_you_use_Wikidata_in_Wikimedia_sibling_projects?_Tell_us_about_your_experiences|Do you use Wikidata in Wikimedia sibling projects? Tell us about your experiences]]</small>
| style="text-align: right;background-color: #fcc;" | 0
| style="text-align: right;background-color: #fcc;" | 0
| style="background-color: #ffd;" |
| style="background-color: #ffd;" |
|-
| style="text-align: right;" | 3
| [[:Wiktionary:啤酒馆#Lua错误|Lua错误]]
| style="text-align: right;" | 2
| style="text-align: right;" | 2
| style="background-color: #bbb;" | [[User:TongcyDai|TongcyDai]]
| style="background-color: #bbb;" data-sort-type="isoDate" data-sort-value="2026-08-26T17:30:00.000Z" | 2026-08-27 <span style="color: blue;">01:30</span>
|-
| style="text-align: right;" | 4
| [[:Wiktionary:啤酒馆#台灣分會2026年8月對話時間|台灣分會2026年8月對話時間]]
| style="text-align: right;background-color: #fcc;" | 1
| style="text-align: right;background-color: #fcc;" | 1
| style="background-color: #bbb;" | [[User:MediaWiki message delivery|<small style="word-wrap: break-word; word-break: break-all;">MediaWiki message delivery</small>]]
| style="background-color: #bbb;" data-sort-type="isoDate" data-sort-value="2026-08-28T11:03:00.000Z" | 2026-08-28 <span style="color: blue;">19:03</span>
|-
| style="text-align: right;" | 5
| [[:Wiktionary:啤酒馆#Template:reflist|Template:reflist]]
| style="text-align: right;background-color: #fcc;" | 1
| style="text-align: right;background-color: #fcc;" | 1
| style="background-color: #bbb;" | [[User:TongcyDai|TongcyDai]]
| style="background-color: #bbb;" data-sort-type="isoDate" data-sort-value="2026-08-29T06:50:00.000Z" | 2026-08-29 <span style="color: blue;">14:50</span>
|-
| style="text-align: right;" | 6
| [[:Wiktionary:啤酒馆#台灣分會2026年9月對話時間|台灣分會2026年9月對話時間]]
| style="text-align: right;background-color: #fcc;" | 1
| style="text-align: right;background-color: #fcc;" | 1
| style="background-color: #ddd;" | [[User:MediaWiki message delivery|<small style="word-wrap: break-word; word-break: break-all;">MediaWiki message delivery</small>]]
| style="background-color: #ddd;" data-sort-type="isoDate" data-sort-value="2026-09-15T04:39:00.000Z" | 2026-09-15 <span style="color: blue;">12:39</span>
|-
| style="text-align: right;" | 7
| [[:Wiktionary:啤酒馆#伺服器切換_-_本wiki即將短暫進入唯讀模式|伺服器切換 - 本wiki即將短暫進入唯讀模式]]
| style="text-align: right;background-color: #fcc;" | 1
| style="text-align: right;background-color: #fcc;" | 1
| style="background-color: #ddd;" | [[User:Trizek (WMF)|Trizek (WMF)]]
| style="background-color: #ddd;" data-sort-type="isoDate" data-sort-value="2026-09-15T12:58:00.000Z" | 2026-09-15 <span style="color: blue;">20:58</span>
|-
| style="text-align: right;" | 8
| style="max-width: 24em" | <small>[[:Wiktionary:啤酒馆#Your_feedback_wanted:_Remove_(Language_link_added:)_and_similar_edits_from_Special:RecentChanges|Your feedback wanted: Remove ''(Language link added:) and similar'' edits from Special:RecentChanges]]</small>
| style="text-align: right;background-color: #fcc;" | 1
| style="text-align: right;background-color: #fcc;" | 1
| [[User:Danny Benjafield (WMDE)|<small style="word-wrap: break-word; word-break: break-all;">Danny Benjafield (WMDE)</small>]]
| data-sort-type="isoDate" data-sort-value="2026-09-25T12:48:00.000Z" | 2026-09-25 <span style="color: blue;">20:48</span>
|-
| style="text-align: right;" | 9
| [[:Wiktionary:啤酒馆#"syn",_"ant"_模板不顯示簡體字|"syn", "ant" 模板不顯示簡體字]]
| style="text-align: right;" | 3
| style="text-align: right;background-color: #fcc;" | 1
| style="background-color: #eef;" | [[User:Public class|Public class]]
| style="background-color: #eef;" data-sort-type="isoDate" data-sort-value="2026-09-30T12:48:00.000Z" | 2026-09-30 <span style="color: blue;">20:48</span>
|-
| style="text-align: right;" | 10
| style="max-width: 24em" | <small>[[:Wiktionary:啤酒馆#Wikidata_Sitelink_changes_in_Recent_Changes_and_Watchlist|Wikidata Sitelink changes in Recent Changes and Watchlist]]</small>
| style="text-align: right;background-color: #fcc;" | 1
| style="text-align: right;background-color: #fcc;" | 1
| style="background-color: #efe;" | [[User:MediaWiki message delivery|<small style="word-wrap: break-word; word-break: break-all;">MediaWiki message delivery</small>]]
| style="background-color: #efe;" data-sort-type="isoDate" data-sort-value="2026-10-01T12:43:00.000Z" | 2026-10-01 <span style="color: blue;">20:43</span>
|}
{| class="wikitable mw-collapsible mw-collapsed" style="float: left; margin-left: .5em;;{{#if:{{{no_time_legend|}}}|display:none;|}}"
! title="From the latest bot edit" | 發言更新圖例
|-
| style="background-color: #efe;" |
* 最近一小時內
|-
| style="background-color: #eef;" |
* 最近一日內
|-
| |
* 一週內
|-
| style="background-color: #ddd;" |
* 一個月內
|-
| style="background-color: #bbb;" |
* 逾一個月
|-
! 特殊狀態
|-
| style="text-decoration: line-through" | 已移動至其他頁面<br />或完成討論之議題
|-
! 手動設定
|-
| style="max-width: 12em;" | <small>當列表出現異常時,<br />請先檢查[[User:Cewbot/log/20170915/configuration|設定]]是否有誤</small>
|-
|}
{{Clear}}
g3ubf1m8by9hc8yhxdwcvepningrzft
9936088
9936034
2026-10-01T18:43:26Z
Cewbot
61744
[[User:Cewbot/log/20170915/configuration|生成議題列表:10個議題]]
9936088
wikitext
text/x-wiki
<!-- 本頁面由機器人自動更新。若要改進,請聯繫機器人操作者。 -->
{| class="wikitable sortable mw-collapsible" style="float:left;"
|-
! data-sort-type="number" style="font-weight: normal;" | <small>#</small> !! 💭 話題 !! <span title="發言數/發言人次 (實際上為計算簽名數)">💬</span> !! <span title="參與討論人數/發言人數">👥</span> !! 🙋 最新發言 !! data-sort-type="isoDate" | <span title="最後更新">🕒 <small>(UTC+8)</small></span>
|-
| style="text-align: right;" | 1
| style="max-width: 24em" | <small>[[:Wiktionary:啤酒馆#Subscribe_to_the_This_Month_in_Education_newsletter_-_learn_from_others_and_share_your_stories|Subscribe to the This Month in Education newsletter - learn from others and share your stories]]</small>
| style="text-align: right;background-color: #fcc;" | 0
| style="text-align: right;background-color: #fcc;" | 0
| style="background-color: #ffd;" |
| style="background-color: #ffd;" |
|-
| style="text-align: right;" | 2
| style="max-width: 24em" | <small>[[:Wiktionary:啤酒馆#Do_you_use_Wikidata_in_Wikimedia_sibling_projects?_Tell_us_about_your_experiences|Do you use Wikidata in Wikimedia sibling projects? Tell us about your experiences]]</small>
| style="text-align: right;background-color: #fcc;" | 0
| style="text-align: right;background-color: #fcc;" | 0
| style="background-color: #ffd;" |
| style="background-color: #ffd;" |
|-
| style="text-align: right;" | 3
| [[:Wiktionary:啤酒馆#Lua错误|Lua错误]]
| style="text-align: right;" | 2
| style="text-align: right;" | 2
| style="background-color: #bbb;" | [[User:TongcyDai|TongcyDai]]
| style="background-color: #bbb;" data-sort-type="isoDate" data-sort-value="2026-08-26T17:30:00.000Z" | 2026-08-27 <span style="color: blue;">01:30</span>
|-
| style="text-align: right;" | 4
| [[:Wiktionary:啤酒馆#台灣分會2026年8月對話時間|台灣分會2026年8月對話時間]]
| style="text-align: right;background-color: #fcc;" | 1
| style="text-align: right;background-color: #fcc;" | 1
| style="background-color: #bbb;" | [[User:MediaWiki message delivery|<small style="word-wrap: break-word; word-break: break-all;">MediaWiki message delivery</small>]]
| style="background-color: #bbb;" data-sort-type="isoDate" data-sort-value="2026-08-28T11:03:00.000Z" | 2026-08-28 <span style="color: blue;">19:03</span>
|-
| style="text-align: right;" | 5
| [[:Wiktionary:啤酒馆#Template:reflist|Template:reflist]]
| style="text-align: right;background-color: #fcc;" | 1
| style="text-align: right;background-color: #fcc;" | 1
| style="background-color: #bbb;" | [[User:TongcyDai|TongcyDai]]
| style="background-color: #bbb;" data-sort-type="isoDate" data-sort-value="2026-08-29T06:50:00.000Z" | 2026-08-29 <span style="color: blue;">14:50</span>
|-
| style="text-align: right;" | 6
| [[:Wiktionary:啤酒馆#台灣分會2026年9月對話時間|台灣分會2026年9月對話時間]]
| style="text-align: right;background-color: #fcc;" | 1
| style="text-align: right;background-color: #fcc;" | 1
| style="background-color: #ddd;" | [[User:MediaWiki message delivery|<small style="word-wrap: break-word; word-break: break-all;">MediaWiki message delivery</small>]]
| style="background-color: #ddd;" data-sort-type="isoDate" data-sort-value="2026-09-15T04:39:00.000Z" | 2026-09-15 <span style="color: blue;">12:39</span>
|-
| style="text-align: right;" | 7
| [[:Wiktionary:啤酒馆#伺服器切換_-_本wiki即將短暫進入唯讀模式|伺服器切換 - 本wiki即將短暫進入唯讀模式]]
| style="text-align: right;background-color: #fcc;" | 1
| style="text-align: right;background-color: #fcc;" | 1
| style="background-color: #ddd;" | [[User:Trizek (WMF)|Trizek (WMF)]]
| style="background-color: #ddd;" data-sort-type="isoDate" data-sort-value="2026-09-15T12:58:00.000Z" | 2026-09-15 <span style="color: blue;">20:58</span>
|-
| style="text-align: right;" | 8
| style="max-width: 24em" | <small>[[:Wiktionary:啤酒馆#Your_feedback_wanted:_Remove_(Language_link_added:)_and_similar_edits_from_Special:RecentChanges|Your feedback wanted: Remove ''(Language link added:) and similar'' edits from Special:RecentChanges]]</small>
| style="text-align: right;background-color: #fcc;" | 1
| style="text-align: right;background-color: #fcc;" | 1
| [[User:Danny Benjafield (WMDE)|<small style="word-wrap: break-word; word-break: break-all;">Danny Benjafield (WMDE)</small>]]
| data-sort-type="isoDate" data-sort-value="2026-09-25T12:48:00.000Z" | 2026-09-25 <span style="color: blue;">20:48</span>
|-
| style="text-align: right;" | 9
| [[:Wiktionary:啤酒馆#"syn",_"ant"_模板不顯示簡體字|"syn", "ant" 模板不顯示簡體字]]
| style="text-align: right;" | 3
| style="text-align: right;background-color: #fcc;" | 1
| [[User:Public class|Public class]]
| data-sort-type="isoDate" data-sort-value="2026-09-30T12:48:00.000Z" | 2026-09-30 <span style="color: blue;">20:48</span>
|-
| style="text-align: right;" | 10
| style="max-width: 24em" | <small>[[:Wiktionary:啤酒馆#Wikidata_Sitelink_changes_in_Recent_Changes_and_Watchlist|Wikidata Sitelink changes in Recent Changes and Watchlist]]</small>
| style="text-align: right;background-color: #fcc;" | 1
| style="text-align: right;background-color: #fcc;" | 1
| style="background-color: #eef;" | [[User:MediaWiki message delivery|<small style="word-wrap: break-word; word-break: break-all;">MediaWiki message delivery</small>]]
| style="background-color: #eef;" data-sort-type="isoDate" data-sort-value="2026-10-01T12:43:00.000Z" | 2026-10-01 <span style="color: blue;">20:43</span>
|}
{| class="wikitable mw-collapsible mw-collapsed" style="float: left; margin-left: .5em;;{{#if:{{{no_time_legend|}}}|display:none;|}}"
! title="From the latest bot edit" | 發言更新圖例
|-
| style="background-color: #efe;" |
* 最近一小時內
|-
| style="background-color: #eef;" |
* 最近一日內
|-
| |
* 一週內
|-
| style="background-color: #ddd;" |
* 一個月內
|-
| style="background-color: #bbb;" |
* 逾一個月
|-
! 特殊狀態
|-
| style="text-decoration: line-through" | 已移動至其他頁面<br />或完成討論之議題
|-
! 手動設定
|-
| style="max-width: 12em;" | <small>當列表出現異常時,<br />請先檢查[[User:Cewbot/log/20170915/configuration|設定]]是否有誤</small>
|-
|}
{{Clear}}
280pcyqqs4p205ftsm04vesgzob6u67
嘢飲
0
1764237
9936529
9924416
2026-10-01T22:50:08Z
InternetArchiveBot
95668
Rescuing 1 sources and tagging 0 as dead.) #IABot (v2.0.9.6
9936529
wikitext
text/x-wiki
==漢語==
{{zh-forms|s=嘢饮}}
{{zh-wp|yue}}
===詞源===
重分析自“[動詞] + {{lang|zh|嘢飲}}”(“[動詞] + (些)東西來喝”)。<ref>[https://web.archive.org/web/20160309065219/http://www.swtang.net/doc/woc200903_abstract.pdf 香港城市大學:香港粵語的「嘢食」和「嘢飲」——兩個經「重新分析」而成的名詞 ]</ref>
===發音===
{{zh-pron
|c=je5 jam2
|cat=n
}}
===名詞===
{{head|zh|名詞}}
# {{lb|zh|主要|香港粵語}} [[飲料]],[[飲品]]
====相關詞彙====
* {{zh-l|嘢食}}(“食物”)
===參考資料===
{{reflist}}
3y95m0mlgo8pmha212gq8h5daulo107
транспорт
0
1877377
9936089
9541681
2026-10-01T19:26:37Z
TongcyDai
53191
9936089
wikitext
text/x-wiki
==保加利亞語==
{{swp|lang=bg}}
===發音===
* {{bg-pr|транспо́рт|a=[KK]}}
===名詞===
{{bg-noun|транспо́рт|m|adj=транспо́ртен}}
# {{lb|bg|singularonly}} [[運輸]]
# [[護航]]
====變格====
{{bg-ndecl|транспо́рт<>}}
{{topics|bg|運輸}}
==馬其頓語==
===發音===
* {{mk-IPA}}
===名詞===
{{mk-noun|m}}
# [[運輸]]
====變格====
{{mk-decl-noun-m|n=sg}}
==俄語==
{{wikipedia|lang=ru}}
===詞源===
{{bor+|ru|fr|transport}}、{{bor|ru|nl|transport}}或{{bor|ru|de|Transport}},源頭來自{{der|ru|la|trānsportāre}}。 首次記錄於1720年。
===發音===
* {{ru-IPA|тра́нспорт}}
* {{audio|ru|Ru-транспорт.ogg}}
===名詞===
{{ru-noun+|тра́нспорт|adj=тра́нспортный}}
# [[運輸]]
# [[寄售]]
# {{lb|ru|military}} [[載具]]
====變格====
{{ru-noun-table|тра́нспорт}}
====相關詞====
* {{l|ru|транспорти́ровать}}
* {{l|ru|транспортиро́вка}}
====派生詞====
* {{desc|hy|տրանսպորտ|bor=1}}
{{topics|ru|運輸}}
==塞爾維亞-克羅地亞語==
===名詞===
{{sh-noun|тра̀нспорт|m-in}}
# [[運輸]]
# [[載具]]
====變格====
{{sh-decl-noun|sc=Cyrl
|транспорт|транспорти
|транспорта|транспорта
|транспорту|транспортима
|транспорт|транспорте
|транспорте|транспорти
|транспорту|транспортима
|транспортом|транспортима
}}
{{topics|sh|運輸}}
==烏克蘭語==
{{swp|lang=uk}}
===詞源===
經由西歐語言衍生自{{der|uk|la|trānsportāre}}。
===發音===
* {{uk-IPA|тра́нспорт}}
* {{audio|uk|Uk-транспорт.ogg}}
===名詞===
{{uk-noun|тра́нспорт<genu>|adj=тра́нспортний}}
# [[運輸]]
====變格====
{{uk-ndecl|тра́нспорт<genu>}}
====衍生詞====
{{der2|uk
|{{l|uk|тра́нспортник|g=m}}, {{l|uk|тра́нспортниця|g=f}}
|{{l|uk|транспортува́ти|g=impf|g2=pf}}
}}
====相關詞====
* {{l|uk|транспорте́р|g=m}}
===延伸閱讀===
* {{R:uk:SUM-11}}
* {{R:uk:Horokh}}
* {{R:uk:Kyiv}}
* {{R:uk:Slovnyk}}
{{topics|uk|運輸}}
crfm0h7ih1fr5j3a3yrm1lgx6xql967
Category:俄語重音型f″名詞
14
1878209
9936487
8590041
2026-10-01T21:59:05Z
TongcyBot
83009
TongcyBot移动页面[[Category:俄語重音型fʺ名詞]]至[[Category:俄語重音型f″名詞]],不留重定向:配合 Module:Ru-noun/Module:Ru-adjective 的分類名
7212421
wikitext
text/x-wiki
{{auto cat}}
eomzlm5v4j7ond1phrju7cnue91g5qx
Category:俄語重音型f′名詞
14
1878210
9936486
8590037
2026-10-01T21:59:02Z
TongcyBot
83009
TongcyBot移动页面[[Category:俄語重音型fʹ名詞]]至[[Category:俄語重音型f′名詞]],不留重定向:配合 Module:Ru-noun/Module:Ru-adjective 的分類名
7212423
wikitext
text/x-wiki
{{auto cat}}
eomzlm5v4j7ond1phrju7cnue91g5qx
Category:俄語重音型b′名詞
14
1878212
9936484
8590040
2026-10-01T21:58:56Z
TongcyBot
83009
TongcyBot移动页面[[Category:俄語重音型bʹ名詞]]至[[Category:俄語重音型b′名詞]],不留重定向:配合 Module:Ru-noun/Module:Ru-adjective 的分類名
7212425
wikitext
text/x-wiki
{{auto cat}}
eomzlm5v4j7ond1phrju7cnue91g5qx
Category:俄語重音型d′名詞
14
1878213
9936485
8590038
2026-10-01T21:58:59Z
TongcyBot
83009
TongcyBot移动页面[[Category:俄語重音型dʹ名詞]]至[[Category:俄語重音型d′名詞]],不留重定向:配合 Module:Ru-noun/Module:Ru-adjective 的分類名
7212426
wikitext
text/x-wiki
{{auto cat}}
eomzlm5v4j7ond1phrju7cnue91g5qx
Thesaurus:小看
110
2012679
9936542
8709186
2026-10-02T00:04:46Z
ArsenalBastion4093
113517
[[贱视]]
9936542
wikitext
text/x-wiki
{{ws header|lang=zh}}
==汉语==
===动词===
===={{ws sense|zh|不重視}}====
=====近义词=====
{{col3|zh|小看|看輕|看扁<qq:口語>|小瞧<qq:口語>|看不起|瞧不起|輕視|鄙視|鄙夷<qq:書面>|鄙薄|藐視|蔑視|侮蔑|傲睨<qq:古舊>|小覷<qq:書面>|小視<qq:書面>|厭薄<qq:書面>|nan:譬相|卑視<qq:古舊>|嗤鄙<qq:古舊>|輕賤|輕蔑|yue:睇小|輕易<qq:書面>|渺視|漠視|無視|不屑|鄙賤<qq:書面>|hsn:看不來|hsn:瞧不來|hak:打落|恝視<qq:書面>|nan-tws:睇輕|睇唔起<qq:粵語、潮州話>|hak:看毋起|yue:睇衰|hak:看衰|下視<qq:書面>|嫌鄙<qq:書面>|不齒<qq:正式>|賤視}}
ha6o7ao9wpoy2cv7mqidal05k1j9iui
俄羅斯方塊
0
2143289
9936788
7613950
2026-10-02T07:03:21Z
ArsenalBastion4093
113517
9936788
wikitext
text/x-wiki
==漢語==
{{zh-forms|s=俄罗斯方块|type=32}}
{{zh-wp}}
[[File:Emacs Tetris vector based detail.svg|200px|thumb]]
===發音===
{{zh-pron
|m=俄luósī Fāngkuài,er=y,cap=y,2cap=y
|c=ngo4 lo4 si1 fong1 faai3
|cat=pn
}}
===專有名詞===
{{head|zh|專有名詞}}
# 一種需要玩家操縱下落的[[四格骨牌]],讓其填滿一整行以消除的[[益智]][[電子遊戲]]
====翻譯====
{{trans-top|電子遊戲}}
* 白俄羅斯語:{{t|be|Тэ́трыс|m}}
* 保加利亞語:{{t|bg|Те́трис|m}}
* 捷克語:{{t|cs|Tetris}}
* 荷蘭語:{{t|nl|Tetris}}
* 英語:{{t+|en|Tetris}}
* 世界語:{{t|eo|Tetriso}}
* 芬蘭語:{{t|fi|Tetris}}
* 法語:{{t|fr|Tetris}}
* 德語:{{t|de|Tetris}}
* 希伯來語:{{t+|he|טטריס|tr=tetris}}
* 冰島語:{{t|is|Tetris|n}}
* 意大利語:{{t|it|Tetris}}
* 日語:{{t|ja|テトリス|tr=tetorisu}}
* 立陶宛語:{{t|lt|Tetris}}
* 馬其頓語:{{t|mk|Те́трис|m}}
* 馬拉地語:{{t|mr|टेट्रिस|m}}
* 納瓦特爾語:{{t|nah|Tetris}}
* 挪威語:{{t|no|Tetris}}
* 波蘭語:{{t|pl|Tetris|m}}
* 葡萄牙語:{{t|pt|Tetris|m}}
* 俄語:{{t|ru|Те́трис|m|tr=Tɛ́tris}}
* 斯洛伐克語:{{t|sk|Tetris|m}}
* 斯洛文尼亞語:{{t|sl|Tetris|m}}
* 西班牙語:{{t|es|Tetris}}
* 瑞典語:{{t|sv|Tetris}}
* 泰語:{{t|th|เตตริส}}
* 烏克蘭語:{{t|uk|Те́тріс|m}}
{{trans-bottom}}
{{zh-cat|電子遊戲}}
bvyackf2pnbfgwc2d0yq99dtx3w8z2j
Category:俄語軟音詞幹陰性重音型d′名詞
14
2671328
9936483
8589919
2026-10-01T21:58:53Z
TongcyBot
83009
TongcyBot移动页面[[Category:俄語軟音詞幹陰性重音型dʹ名詞]]至[[Category:俄語軟音詞幹陰性重音型d′名詞]],不留重定向:配合 Module:Ru-noun/Module:Ru-adjective 的分類名
8589919
wikitext
text/x-wiki
{{auto cat}}
eomzlm5v4j7ond1phrju7cnue91g5qx
Category:俄語硬音詞幹陰性重音型d′名詞
14
2671344
9936478
8589935
2026-10-01T21:58:37Z
TongcyBot
83009
TongcyBot移动页面[[Category:俄語硬音詞幹陰性重音型dʹ名詞]]至[[Category:俄語硬音詞幹陰性重音型d′名詞]],不留重定向:配合 Module:Ru-noun/Module:Ru-adjective 的分類名
8589935
wikitext
text/x-wiki
{{auto cat}}
eomzlm5v4j7ond1phrju7cnue91g5qx
Category:俄語硬音詞幹陰性重音型f′名詞
14
2671345
9936479
8589937
2026-10-01T21:58:40Z
TongcyBot
83009
TongcyBot移动页面[[Category:俄語硬音詞幹陰性重音型fʹ名詞]]至[[Category:俄語硬音詞幹陰性重音型f′名詞]],不留重定向:配合 Module:Ru-noun/Module:Ru-adjective 的分類名
8589937
wikitext
text/x-wiki
{{auto cat}}
eomzlm5v4j7ond1phrju7cnue91g5qx
Category:俄語軟腭音詞幹陰性重音型f′名詞
14
2671440
9936482
8590033
2026-10-01T21:58:49Z
TongcyBot
83009
TongcyBot移动页面[[Category:俄語軟腭音詞幹陰性重音型fʹ名詞]]至[[Category:俄語軟腭音詞幹陰性重音型f′名詞]],不留重定向:配合 Module:Ru-noun/Module:Ru-adjective 的分類名
8590033
wikitext
text/x-wiki
{{auto cat}}
eomzlm5v4j7ond1phrju7cnue91g5qx
Category:俄語噝音詞幹陰性重音型d′名詞
14
2920752
9936473
8992016
2026-10-01T21:58:20Z
TongcyBot
83009
TongcyBot移动页面[[Category:俄語噝音詞幹陰性重音型dʹ名詞]]至[[Category:俄語噝音詞幹陰性重音型d′名詞]],不留重定向:配合 Module:Ru-noun/Module:Ru-adjective 的分類名
8992016
wikitext
text/x-wiki
{{auto cat}}
eomzlm5v4j7ond1phrju7cnue91g5qx
Template:R:ja:Nihon Kokugo Daijiten 2 Print
10
3046092
9936784
9184792
2026-10-02T06:28:54Z
TongcyDai
53191
9936784
wikitext
text/x-wiki
{{#invoke:quote|call_template
|template=cite-book
|ja
|title={{lw|ja|日本国語大辞典}}
|trans-title=日本國語大辭典
|edition=2nd
|location=w:東京
|publisher=w:小學館
|year=2000–2002
|isbn=4095219017
|pageparam=page
|propagateparams=volume
}}<noinclude>
{{documentation}}</noinclude>
2dkbt5kt4encr42ancez3v9drzvt5ib
9936785
9936784
2026-10-02T06:29:04Z
TongcyDai
53191
9936785
wikitext
text/x-wiki
{{#invoke:quote|call_template
|template=cite-book
|ja
|title={{lw|ja|日本国語大辞典}}
|trans-title=日本國語大辭典
|edition=2nd
|location=w:東京
|publisher=w:小學館
|year=2000–2002
|isbn=4095219017
|pageparam=page
|propagateparams=volume
}}<noinclude>
{{documentation}}{{refcat}}</noinclude>
2gsj8q5boncu0pznj3q69t2ltud5o2k
User:Hiyuune/common.js
2
3146177
9936783
9486488
2026-10-02T05:31:33Z
Hiyuune
119685
9936783
javascript
text/javascript
// Add accelerated creation links for common inflections of some words. (WT:ACCEL)
mw.loader.load('/w/index.php?title=User:TongcyDai/Gadget-AcceleratedFormCreation.js&action=raw&ctype=text/javascript');
importScript("en:User:Erutuon/scripts/addAutoCat.js");
mw.loader.load("//vi.wiktionary.org/w/index.php?title=Th%C3%A0nh_vi%C3%AAn:Hiyuune/Gadget-PagePreviews.js&action=raw&ctype=text/javascript");
mw.loader.load("//vi.wiktionary.org/w/index.php?title=Th%C3%A0nh_vi%C3%AAn:Hiyuune/Gadget-JumpToError.js&action=raw&ctype=text/javascript");
mw.loader.load("//vi.wiktionary.org/w/index.php?title=Th%C3%A0nh_vi%C3%AAn:Hiyuune/Gadget-EditHere.js&action=raw&ctype=text/javascript");
im20d1d249kpwb41hda1f6i3frqoysl
Category:有可簡化短尾詞幹的俄語形容詞
14
3174346
9936490
9330510
2026-10-01T21:59:15Z
TongcyBot
83009
TongcyBot移动页面[[Category:有可簡化短詞幹的俄語形容詞]]至[[Category:有可簡化短尾詞幹的俄語形容詞]],不留重定向:配合 Module:Ru-noun/Module:Ru-adjective 的分類名
9330510
wikitext
text/x-wiki
{{auto cat}}
eomzlm5v4j7ond1phrju7cnue91g5qx
Category:俄語長尾所有格形容詞
14
3213279
9936495
9385949
2026-10-01T21:59:31Z
TongcyBot
83009
TongcyBot移动页面[[Category:俄語長所有格形容詞]]至[[Category:俄語長尾所有格形容詞]],不留重定向:配合 Module:Ru-noun/Module:Ru-adjective 的分類名
9385949
wikitext
text/x-wiki
{{auto cat}}
eomzlm5v4j7ond1phrju7cnue91g5qx
Category:俄語短尾所有格形容詞
14
3213282
9936496
9385955
2026-10-01T21:59:34Z
TongcyBot
83009
TongcyBot移动页面[[Category:俄語短所有格形容詞]]至[[Category:俄語短尾所有格形容詞]],不留重定向:配合 Module:Ru-noun/Module:Ru-adjective 的分類名
9385955
wikitext
text/x-wiki
{{auto cat}}
eomzlm5v4j7ond1phrju7cnue91g5qx
Category:有短尾形的俄語形容詞
14
3213287
9936488
9385964
2026-10-01T21:59:08Z
TongcyBot
83009
TongcyBot移动页面[[Category:有短形式的俄語形容詞]]至[[Category:有短尾形的俄語形容詞]],不留重定向:配合 Module:Ru-noun/Module:Ru-adjective 的分類名
9385964
wikitext
text/x-wiki
{{auto cat}}
eomzlm5v4j7ond1phrju7cnue91g5qx
Category:俄語短重音型a′形容詞
14
3213296
9936474
9385985
2026-10-01T21:58:24Z
TongcyBot
83009
TongcyBot移动页面[[Category:俄語短重音型aʹ形容詞]]至[[Category:俄語短重音型a′形容詞]],不留重定向:配合 Module:Ru-noun/Module:Ru-adjective 的分類名
9385982
wikitext
text/x-wiki
{{auto cat}}
eomzlm5v4j7ond1phrju7cnue91g5qx
Category:扎利茲尼亞克短尾形特例2的俄語形容詞
14
3213297
9936492
9385983
2026-10-01T21:59:21Z
TongcyBot
83009
TongcyBot移动页面[[Category:扎利茲尼亞克短形式特例2的俄語形容詞]]至[[Category:扎利茲尼亞克短尾形特例2的俄語形容詞]],不留重定向:配合 Module:Ru-noun/Module:Ru-adjective 的分類名
9385983
wikitext
text/x-wiki
{{auto cat}}
eomzlm5v4j7ond1phrju7cnue91g5qx
Category:扎利茲尼亞克短尾形特例1的俄語形容詞
14
3213298
9936491
9385984
2026-10-01T21:59:18Z
TongcyBot
83009
TongcyBot移动页面[[Category:扎利茲尼亞克短形式特例1的俄語形容詞]]至[[Category:扎利茲尼亞克短尾形特例1的俄語形容詞]],不留重定向:配合 Module:Ru-noun/Module:Ru-adjective 的分類名
9385984
wikitext
text/x-wiki
{{auto cat}}
eomzlm5v4j7ond1phrju7cnue91g5qx
Category:俄語短重音型b′形容詞
14
3213301
9936475
9386005
2026-10-01T21:58:28Z
TongcyBot
83009
TongcyBot移动页面[[Category:俄語短重音型bʹ形容詞]]至[[Category:俄語短重音型b′形容詞]],不留重定向:配合 Module:Ru-noun/Module:Ru-adjective 的分類名
9386005
wikitext
text/x-wiki
{{auto cat}}
eomzlm5v4j7ond1phrju7cnue91g5qx
Category:俄語短重音型c′形容詞
14
3213302
9936476
9386007
2026-10-01T21:58:31Z
TongcyBot
83009
TongcyBot移动页面[[Category:俄語短重音型cʹ形容詞]]至[[Category:俄語短重音型c′形容詞]],不留重定向:配合 Module:Ru-noun/Module:Ru-adjective 的分類名
9386007
wikitext
text/x-wiki
{{auto cat}}
eomzlm5v4j7ond1phrju7cnue91g5qx
Category:俄語短重音型c″形容詞
14
3213304
9936477
9386009
2026-10-01T21:58:34Z
TongcyBot
83009
TongcyBot移动页面[[Category:俄語短重音型cʺ形容詞]]至[[Category:俄語短重音型c″形容詞]],不留重定向:配合 Module:Ru-noun/Module:Ru-adjective 的分類名
9386009
wikitext
text/x-wiki
{{auto cat}}
eomzlm5v4j7ond1phrju7cnue91g5qx
Category:缺少短尾形的俄語形容詞
14
3213305
9936489
9386012
2026-10-01T21:59:11Z
TongcyBot
83009
TongcyBot移动页面[[Category:缺少短形式的俄語形容詞]]至[[Category:缺少短尾形的俄語形容詞]],不留重定向:配合 Module:Ru-noun/Module:Ru-adjective 的分類名
9386012
wikitext
text/x-wiki
{{auto cat}}
eomzlm5v4j7ond1phrju7cnue91g5qx
Category:僅有短尾形的俄語形容詞
14
3213307
9936494
9386016
2026-10-01T21:59:27Z
TongcyBot
83009
TongcyBot移动页面[[Category:僅有短形式的俄語形容詞]]至[[Category:僅有短尾形的俄語形容詞]],不留重定向:配合 Module:Ru-noun/Module:Ru-adjective 的分類名
9386016
wikitext
text/x-wiki
{{auto cat}}
eomzlm5v4j7ond1phrju7cnue91g5qx
Category:短尾陽性單數不規則的俄語形容詞
14
3213308
9936497
9386018
2026-10-01T21:59:38Z
TongcyBot
83009
TongcyBot移动页面[[Category:短陽性單數不規則的俄語形容詞]]至[[Category:短尾陽性單數不規則的俄語形容詞]],不留重定向:配合 Module:Ru-noun/Module:Ru-adjective 的分類名
9386018
wikitext
text/x-wiki
{{auto cat}}
eomzlm5v4j7ond1phrju7cnue91g5qx
Category:短尾陰性單數不規則的俄語形容詞
14
3213322
9936498
9386034
2026-10-01T21:59:41Z
TongcyBot
83009
TongcyBot移动页面[[Category:短陰性單數不規則的俄語形容詞]]至[[Category:短尾陰性單數不規則的俄語形容詞]],不留重定向:配合 Module:Ru-noun/Module:Ru-adjective 的分類名
9386034
wikitext
text/x-wiki
{{auto cat}}
eomzlm5v4j7ond1phrju7cnue91g5qx
Category:短尾中性單數不規則的俄語形容詞
14
3213323
9936499
9386035
2026-10-01T21:59:44Z
TongcyBot
83009
TongcyBot移动页面[[Category:短中性單數不規則的俄語形容詞]]至[[Category:短尾中性單數不規則的俄語形容詞]],不留重定向:配合 Module:Ru-noun/Module:Ru-adjective 的分類名
9386035
wikitext
text/x-wiki
{{auto cat}}
eomzlm5v4j7ond1phrju7cnue91g5qx
Category:短尾複數不規則的俄語形容詞
14
3213324
9936500
9386036
2026-10-01T21:59:47Z
TongcyBot
83009
TongcyBot移动页面[[Category:短複數不規則的俄語形容詞]]至[[Category:短尾複數不規則的俄語形容詞]],不留重定向:配合 Module:Ru-noun/Module:Ru-adjective 的分類名
9386036
wikitext
text/x-wiki
{{auto cat}}
eomzlm5v4j7ond1phrju7cnue91g5qx
Category:有不規則短尾詞幹的俄語形容詞
14
3213325
9936493
9386038
2026-10-01T21:59:24Z
TongcyBot
83009
TongcyBot移动页面[[Category:有不規則短詞幹的俄語形容詞]]至[[Category:有不規則短尾詞幹的俄語形容詞]],不留重定向:配合 Module:Ru-noun/Module:Ru-adjective 的分類名
9386038
wikitext
text/x-wiki
{{auto cat}}
eomzlm5v4j7ond1phrju7cnue91g5qx
Category:俄語第三變格陰性重音型b′名詞
14
3213505
9936480
9386269
2026-10-01T21:58:43Z
TongcyBot
83009
TongcyBot移动页面[[Category:俄語第三變格陰性重音型bʹ名詞]]至[[Category:俄語第三變格陰性重音型b′名詞]],不留重定向:配合 Module:Ru-noun/Module:Ru-adjective 的分類名
9386269
wikitext
text/x-wiki
{{auto cat}}
eomzlm5v4j7ond1phrju7cnue91g5qx
Category:俄語第三變格陰性重音型f″名詞
14
3213507
9936481
9386273
2026-10-01T21:58:46Z
TongcyBot
83009
TongcyBot移动页面[[Category:俄語第三變格陰性重音型fʺ名詞]]至[[Category:俄語第三變格陰性重音型f″名詞]],不留重定向:配合 Module:Ru-noun/Module:Ru-adjective 的分類名
9386273
wikitext
text/x-wiki
{{auto cat}}
eomzlm5v4j7ond1phrju7cnue91g5qx
法克魷
0
3524528
9936536
9881001
2026-10-01T23:36:50Z
ArsenalBastion4093
113517
9936536
wikitext
text/x-wiki
==汉语==
{{zh-forms|s=法克鱿|type=21}}
===词源===
{{psm|zh|en|fuck you}};{{w|神兽 (恶搞)|“互联网十大神兽”}}之一。
===发音===
{{zh-pron
|m=fǎkèyóu
|cat=ph
}}
===短语===
{{head|zh|短語}}
# {{lb|zh|neologism|slang|humorous|vulgar}} [[肏你媽]]
ix02zoianjkz8yebv9fkkckwpbybf7e
해야하다
0
3541105
9936038
9936031
2026-10-01T13:15:21Z
Sayonzei
40728
/* 朝鲜语 */
9936038
wikitext
text/x-wiki
==朝鲜语==
===词源===
源自动词{{ko-l|하다}}的不定阶条件形。
===发音===
{{ko-IPA}}
===动词===
{{ko-verb}}
# [[必须]];[[应该]]
====活用====
{{ko-conj/verb}}
====派生词汇====
{{col3|ko|해야함}}
naijfm815l9r3zdvzrtzi63hyag3lps
unplausible
0
3541106
9936035
9936029
2026-10-01T13:14:04Z
Sayonzei
40728
/* 英语 */
9936035
wikitext
text/x-wiki
==英语==
===词源===
{{ety|en|:af|un-<id:negative>|plausible|text=+|tree=1}}
===形容词===
{{en-adj}}
# 不合[[情理]]的;不太[[可能]]的。
====派生词汇====
{{col|en|unplausibly}}
===延伸阅读===
* {{R:OneLook}}
4hido08s0cu3lxmg7cnszugetnkfy9e
unplausibly
0
3541107
9936036
9936030
2026-10-01T13:14:27Z
Sayonzei
40728
/* 副词 */
9936036
wikitext
text/x-wiki
==英语==
===词源===
源自{{suffix|en|unplausible|ly}}。
===副词===
{{en-adv}}
# 不合[[情理]]地;不太[[可能]]地。
====近义词====
* {{l|en|implausibly}}
1xa99xqelo9nk43hjhy5yw50npil4yq
implausibly
0
3541108
9936037
9936032
2026-10-01T13:14:37Z
Sayonzei
40728
/* 副词 */
9936037
wikitext
text/x-wiki
==英语==
===词源===
{{ety|en|:af|implausible|-ly<id:adverbial>|text=+|tree=1}}
===副词===
{{en-adv}}
# 不合[[情理]]地;不太[[可能]]地;有[[问题]]地。
===参考资料===
* {{R:Century}}
aq14njxkisy8f3sn4estipxvvujcf59
widerrufend
0
3541109
9936040
2026-10-01T15:27:44Z
Sayonzei
40728
[[w:WP:AES|←]]建立內容為「==德語== ===發音=== * {{IPA|de|/viːdɐˈʁuːfn̩t/}} * {{audio|de|De-widerrufend.ogg|a=柏林}} ===分詞=== {{head|de|現在分詞}} # {{present participle of|de|widerrufen}} ====變格==== {{de-adecl}}」的新頁面
9936040
wikitext
text/x-wiki
==德語==
===發音===
* {{IPA|de|/viːdɐˈʁuːfn̩t/}}
* {{audio|de|De-widerrufend.ogg|a=柏林}}
===分詞===
{{head|de|現在分詞}}
# {{present participle of|de|widerrufen}}
====變格====
{{de-adecl}}
fj1z99x2rnepojr07ppu20z27u09hkn
widerrufender
0
3541110
9936041
2026-10-01T15:28:08Z
Sayonzei
40728
[[w:WP:AES|←]]建立內容為「==德語== ===發音=== * {{IPA|de|/viːdɐˈʁuːfn̩dɐ/}} * {{audio|de|De-widerrufender.ogg|a=柏林}} ===分詞=== {{head|de|分詞變格形}} # {{de-adj form of|widerrufend}}」的新頁面
9936041
wikitext
text/x-wiki
==德語==
===發音===
* {{IPA|de|/viːdɐˈʁuːfn̩dɐ/}}
* {{audio|de|De-widerrufender.ogg|a=柏林}}
===分詞===
{{head|de|分詞變格形}}
# {{de-adj form of|widerrufend}}
co83exmoq78196q9ztltmuyu4o1vmg0
widerrufenden
0
3541111
9936042
2026-10-01T15:28:10Z
Sayonzei
40728
[[w:WP:AES|←]]建立內容為「==德語== ===發音=== * {{IPA|de|/viːdɐˈʁuːfn̩dən/}} * {{audio|de|De-widerrufenden.ogg|a=柏林}} ===分詞=== {{head|de|分詞變格形}} # {{de-adj form of|widerrufend}}」的新頁面
9936042
wikitext
text/x-wiki
==德語==
===發音===
* {{IPA|de|/viːdɐˈʁuːfn̩dən/}}
* {{audio|de|De-widerrufenden.ogg|a=柏林}}
===分詞===
{{head|de|分詞變格形}}
# {{de-adj form of|widerrufend}}
dy6gd79inw7fygh85q8bpr8fhtn5w10
widerrufendem
0
3541112
9936043
2026-10-01T15:28:12Z
Sayonzei
40728
[[w:WP:AES|←]]建立內容為「==德語== ===發音=== * {{IPA|de|/viːdɐˈʁuːfn̩dəm/}} * {{audio|de|De-widerrufendem.ogg|a=柏林}} ===分詞=== {{head|de|分詞變格形}} # {{de-adj form of|widerrufend}}」的新頁面
9936043
wikitext
text/x-wiki
==德語==
===發音===
* {{IPA|de|/viːdɐˈʁuːfn̩dəm/}}
* {{audio|de|De-widerrufendem.ogg|a=柏林}}
===分詞===
{{head|de|分詞變格形}}
# {{de-adj form of|widerrufend}}
5m3da3lt4o7uz8l1o0n0aoyvf3lmxyz
widerrufende
0
3541113
9936044
2026-10-01T15:28:21Z
Sayonzei
40728
[[w:WP:AES|←]]建立內容為「==德語== ===發音=== * {{IPA|de|/viːdɐˈʁuːfn̩də/}} * {{audio|de|De-widerrufende.ogg|a=柏林}} ===分詞=== {{head|de|分詞變格形}} # {{de-adj form of|widerrufend}}」的新頁面
9936044
wikitext
text/x-wiki
==德語==
===發音===
* {{IPA|de|/viːdɐˈʁuːfn̩də/}}
* {{audio|de|De-widerrufende.ogg|a=柏林}}
===分詞===
{{head|de|分詞變格形}}
# {{de-adj form of|widerrufend}}
d0cqqspxzq2pre56d08lx4kj3d1193r
widerrufendes
0
3541114
9936045
2026-10-01T15:28:23Z
Sayonzei
40728
[[w:WP:AES|←]]建立內容為「==德語== ===發音=== * {{IPA|de|/viːdɐˈʁuːfn̩dəs/}} * {{audio|de|De-widerrufendes.ogg|a=柏林}} ===分詞=== {{head|de|分詞變格形}} # {{de-adj form of|widerrufend}}」的新頁面
9936045
wikitext
text/x-wiki
==德語==
===發音===
* {{IPA|de|/viːdɐˈʁuːfn̩dəs/}}
* {{audio|de|De-widerrufendes.ogg|a=柏林}}
===分詞===
{{head|de|分詞變格形}}
# {{de-adj form of|widerrufend}}
dxfo5msj4yo8ru6po8v1zp4j7fs00lr
widerrufener
0
3541115
9936046
2026-10-01T15:28:48Z
Sayonzei
40728
[[w:WP:AES|←]]建立內容為「==德語== ===發音=== * {{IPA|de|/viːdɐˈʁuːfənɐ/}} * {{audio|de|De-widerrufener.ogg|a=柏林}} ===分詞=== {{head|de|分詞變格形}} # {{de-adj form of|widerrufen}}」的新頁面
9936046
wikitext
text/x-wiki
==德語==
===發音===
* {{IPA|de|/viːdɐˈʁuːfənɐ/}}
* {{audio|de|De-widerrufener.ogg|a=柏林}}
===分詞===
{{head|de|分詞變格形}}
# {{de-adj form of|widerrufen}}
4c3nhhi2k17e08cky12dpwzhltuub2l
widerrufenen
0
3541116
9936047
2026-10-01T15:28:50Z
Sayonzei
40728
[[w:WP:AES|←]]建立內容為「==德語== ===發音=== * {{IPA|de|/viːdɐˈʁuːfənən/}} * {{audio|de|De-widerrufenen.ogg|a=柏林}} ===分詞=== {{head|de|分詞變格形}} # {{de-adj form of|widerrufen}}」的新頁面
9936047
wikitext
text/x-wiki
==德語==
===發音===
* {{IPA|de|/viːdɐˈʁuːfənən/}}
* {{audio|de|De-widerrufenen.ogg|a=柏林}}
===分詞===
{{head|de|分詞變格形}}
# {{de-adj form of|widerrufen}}
k8vfzif8mfphuno574c6xe62b6n13j8
widerrufenem
0
3541117
9936048
2026-10-01T15:28:52Z
Sayonzei
40728
[[w:WP:AES|←]]建立內容為「==德語== ===發音=== * {{IPA|de|/viːdɐˈʁuːfənəm/}} * {{audio|de|De-widerrufenem.ogg|a=柏林}} ===分詞=== {{head|de|分詞變格形}} # {{de-adj form of|widerrufen}}」的新頁面
9936048
wikitext
text/x-wiki
==德語==
===發音===
* {{IPA|de|/viːdɐˈʁuːfənəm/}}
* {{audio|de|De-widerrufenem.ogg|a=柏林}}
===分詞===
{{head|de|分詞變格形}}
# {{de-adj form of|widerrufen}}
mscx5dhgesophm36egdjopauru246qa
widerrufene
0
3541118
9936049
2026-10-01T15:29:01Z
Sayonzei
40728
[[w:WP:AES|←]]建立內容為「==德語== ===發音=== * {{IPA|de|/viːdɐˈʁuːfənə/}} * {{audio|de|De-widerrufene.ogg|a=柏林}} ===分詞=== {{head|de|分詞變格形}} # {{de-adj form of|widerrufen}}」的新頁面
9936049
wikitext
text/x-wiki
==德語==
===發音===
* {{IPA|de|/viːdɐˈʁuːfənə/}}
* {{audio|de|De-widerrufene.ogg|a=柏林}}
===分詞===
{{head|de|分詞變格形}}
# {{de-adj form of|widerrufen}}
c2n6lg1cpiifcxr1zx0ifkmjidgcstk
widerrufenes
0
3541119
9936050
2026-10-01T15:29:02Z
Sayonzei
40728
[[w:WP:AES|←]]建立內容為「==德語== ===發音=== * {{IPA|de|/viːdɐˈʁuːfənəs/}} * {{audio|de|De-widerrufenes.ogg|a=柏林}} ===分詞=== {{head|de|分詞變格形}} # {{de-adj form of|widerrufen}}」的新頁面
9936050
wikitext
text/x-wiki
==德語==
===發音===
* {{IPA|de|/viːdɐˈʁuːfənəs/}}
* {{audio|de|De-widerrufenes.ogg|a=柏林}}
===分詞===
{{head|de|分詞變格形}}
# {{de-adj form of|widerrufen}}
nfjdgxt1q7x4qwm06nfbo62o4latsi7
widerrufe
0
3541120
9936051
2026-10-01T15:29:26Z
Sayonzei
40728
[[w:WP:AES|←]]建立內容為「{{also|Widerrufe}} ==德語== ===發音=== * {{IPA|de|/viːdɐˈʁuːfə/}} * {{audio|de|De-widerrufe.ogg|a=柏林}} ===動詞=== {{head|de|動詞變位形式}} # {{verb form of|de|widerrufen||1|s|pres|;|1//3|s|sub|I|;|s|imp}}」的新頁面
9936051
wikitext
text/x-wiki
{{also|Widerrufe}}
==德語==
===發音===
* {{IPA|de|/viːdɐˈʁuːfə/}}
* {{audio|de|De-widerrufe.ogg|a=柏林}}
===動詞===
{{head|de|動詞變位形式}}
# {{verb form of|de|widerrufen||1|s|pres|;|1//3|s|sub|I|;|s|imp}}
7kd1byt5zf1219be529qqew8jyzrkap
widerrufst
0
3541121
9936052
2026-10-01T15:29:28Z
Sayonzei
40728
[[w:WP:AES|←]]建立內容為「==德語== ===發音=== * {{IPA|de|/viːdɐˈʁuːfst/}} * {{audio|de|De-widerrufst.ogg|a=柏林}} ===動詞=== {{head|de|動詞變位形式}} # {{verb form of|de|widerrufen||2|s|pres}}」的新頁面
9936052
wikitext
text/x-wiki
==德語==
===發音===
* {{IPA|de|/viːdɐˈʁuːfst/}}
* {{audio|de|De-widerrufst.ogg|a=柏林}}
===動詞===
{{head|de|動詞變位形式}}
# {{verb form of|de|widerrufen||2|s|pres}}
4fzlyov9ypc1qxsxwo5s7w80ufc7tbg
widerruft
0
3541122
9936053
2026-10-01T15:29:30Z
Sayonzei
40728
[[w:WP:AES|←]]建立內容為「==德語== ===發音=== * {{IPA|de|/viːdɐˈʁuːft/}} * {{audio|de|De-widerruft.ogg|a=柏林}} ===動詞=== {{head|de|動詞變位形式}} # {{verb form of|de|widerrufen||3|s|pres|;|2|p|pres|;|p|imp}}」的新頁面
9936053
wikitext
text/x-wiki
==德語==
===發音===
* {{IPA|de|/viːdɐˈʁuːft/}}
* {{audio|de|De-widerruft.ogg|a=柏林}}
===動詞===
{{head|de|動詞變位形式}}
# {{verb form of|de|widerrufen||3|s|pres|;|2|p|pres|;|p|imp}}
diuxahwg34m91rxp2yqe4q2j1fwoyd4
widerrief
0
3541123
9936054
2026-10-01T15:29:58Z
Sayonzei
40728
[[w:WP:AES|←]]建立內容為「==德語== ===發音=== * {{IPA|de|/viːdɐˈʁiːf/}} * {{audio|de|De-widerrief.ogg|a=柏林}} * {{rhymes|de|iːf|s=3}} ===動詞=== {{head|de|動詞變位形式}} # {{verb form of|de|widerrufen||1//3|s|pret}}」的新頁面
9936054
wikitext
text/x-wiki
==德語==
===發音===
* {{IPA|de|/viːdɐˈʁiːf/}}
* {{audio|de|De-widerrief.ogg|a=柏林}}
* {{rhymes|de|iːf|s=3}}
===動詞===
{{head|de|動詞變位形式}}
# {{verb form of|de|widerrufen||1//3|s|pret}}
7aq8ov8jjxnlvym1pr5n8a10bs4dw6l
widerriefst
0
3541124
9936055
2026-10-01T15:30:00Z
Sayonzei
40728
[[w:WP:AES|←]]建立內容為「==德語== ===發音=== * {{IPA|de|/viːdɐˈʁiːfst/}} * {{audio|de|De-widerriefst.ogg|a=柏林}} ===動詞=== {{head|de|動詞變位形式}} # {{verb form of|de|widerrufen||2|s|pret}}」的新頁面
9936055
wikitext
text/x-wiki
==德語==
===發音===
* {{IPA|de|/viːdɐˈʁiːfst/}}
* {{audio|de|De-widerriefst.ogg|a=柏林}}
===動詞===
{{head|de|動詞變位形式}}
# {{verb form of|de|widerrufen||2|s|pret}}
75c3rawdfuz35fic0e4i0l2az3m657u
widerruf
0
3541125
9936056
2026-10-01T15:30:34Z
Sayonzei
40728
[[w:WP:AES|←]]建立內容為「==德語== ===發音=== * {{IPA|de|/viːdɐˈʁuːf/}} * {{audio|de|De-widerruf.ogg|a=柏林}} ===動詞=== {{head|de|動詞變位形式}} # {{infl of|de|widerrufen||s|imp}}」的新頁面
9936056
wikitext
text/x-wiki
==德語==
===發音===
* {{IPA|de|/viːdɐˈʁuːf/}}
* {{audio|de|De-widerruf.ogg|a=柏林}}
===動詞===
{{head|de|動詞變位形式}}
# {{infl of|de|widerrufen||s|imp}}
h7c5prezeoq1sy9v0dsn7a0ups2rqmm
widerriefen
0
3541126
9936057
2026-10-01T15:30:36Z
Sayonzei
40728
[[w:WP:AES|←]]建立內容為「==德語== ===發音=== * {{IPA|de|/viːdɐˈʁiːfn̩/}} * {{audio|de|De-widerriefen.ogg|a=柏林}} ===動詞=== {{head|de|動詞變位形式}} # {{verb form of|de|widerrufen||1//3|p|pret|;|1//3|p|sub|II}}」的新頁面
9936057
wikitext
text/x-wiki
==德語==
===發音===
* {{IPA|de|/viːdɐˈʁiːfn̩/}}
* {{audio|de|De-widerriefen.ogg|a=柏林}}
===動詞===
{{head|de|動詞變位形式}}
# {{verb form of|de|widerrufen||1//3|p|pret|;|1//3|p|sub|II}}
g75norr3wtnu4qkkqenbdw3xb6buj7x
widerrieft
0
3541127
9936058
2026-10-01T15:30:38Z
Sayonzei
40728
[[w:WP:AES|←]]建立內容為「==德語== ===發音=== * {{IPA|de|/viːdɐˈʁiːft/}} * {{audio|de|De-widerrieft.ogg|a=柏林}} ===動詞=== {{head|de|動詞變位形式}} # {{verb form of|de|widerrufen||2|p|pret}}」的新頁面
9936058
wikitext
text/x-wiki
==德語==
===發音===
* {{IPA|de|/viːdɐˈʁiːft/}}
* {{audio|de|De-widerrieft.ogg|a=柏林}}
===動詞===
{{head|de|動詞變位形式}}
# {{verb form of|de|widerrufen||2|p|pret}}
hsv03y6l0ja60dl56r34wn2wk15445a
widerrufest
0
3541128
9936059
2026-10-01T15:30:42Z
Sayonzei
40728
[[w:WP:AES|←]]建立內容為「==德語== ===發音=== * {{IPA|de|/viːdɐˈʁuːfəst/}} * {{audio|de|De-widerrufest.ogg|a=柏林}} ===動詞=== {{head|de|動詞變位形式}} # {{verb form of|de|widerrufen||2|s|sub|I}}」的新頁面
9936059
wikitext
text/x-wiki
==德語==
===發音===
* {{IPA|de|/viːdɐˈʁuːfəst/}}
* {{audio|de|De-widerrufest.ogg|a=柏林}}
===動詞===
{{head|de|動詞變位形式}}
# {{verb form of|de|widerrufen||2|s|sub|I}}
6mma75t0vliy04ix5i79ui2v9e8uh6z
widerrufet
0
3541129
9936060
2026-10-01T15:30:44Z
Sayonzei
40728
[[w:WP:AES|←]]建立內容為「==德語== ===發音=== * {{IPA|de|/viːdɐˈʁuːfət/}} * {{audio|de|De-widerrufet.ogg|a=柏林}} ===動詞=== {{head|de|動詞變位形式}} # {{verb form of|de|widerrufen||2|p|sub|I}}」的新頁面
9936060
wikitext
text/x-wiki
==德語==
===發音===
* {{IPA|de|/viːdɐˈʁuːfət/}}
* {{audio|de|De-widerrufet.ogg|a=柏林}}
===動詞===
{{head|de|動詞變位形式}}
# {{verb form of|de|widerrufen||2|p|sub|I}}
mqrioni4lpcsuzwwjpvubmjrx2gq79e
widerriefe
0
3541130
9936061
2026-10-01T15:32:09Z
Sayonzei
40728
[[w:WP:AES|←]]建立內容為「==德語== ===發音=== * {{IPA|de|/viːdɐˈʁiːfə/}} * {{audio|de|De-widerriefe.ogg|a=柏林}} ===動詞=== {{head|de|動詞變位形式}} # {{verb form of|de|widerrufen||1//3|s|sub|II}}」的新頁面
9936061
wikitext
text/x-wiki
==德語==
===發音===
* {{IPA|de|/viːdɐˈʁiːfə/}}
* {{audio|de|De-widerriefe.ogg|a=柏林}}
===動詞===
{{head|de|動詞變位形式}}
# {{verb form of|de|widerrufen||1//3|s|sub|II}}
hnggr00mp7s18h9h8187eimqkhbsv2d
widerriefest
0
3541131
9936062
2026-10-01T15:32:11Z
Sayonzei
40728
[[w:WP:AES|←]]建立內容為「==德語== ===發音=== * {{IPA|de|/viːdɐˈʁiːfəst/}} * {{audio|de|De-widerriefest.ogg|a=柏林}} ===動詞=== {{head|de|動詞變位形式}} # {{verb form of|de|widerrufen||2|s|sub|II}}」的新頁面
9936062
wikitext
text/x-wiki
==德語==
===發音===
* {{IPA|de|/viːdɐˈʁiːfəst/}}
* {{audio|de|De-widerriefest.ogg|a=柏林}}
===動詞===
{{head|de|動詞變位形式}}
# {{verb form of|de|widerrufen||2|s|sub|II}}
igqoq6dkt17c380ko0i2dhiixma17ql
widerriefet
0
3541132
9936063
2026-10-01T15:32:12Z
Sayonzei
40728
[[w:WP:AES|←]]建立內容為「==德語== ===發音=== * {{IPA|de|/viːdɐˈʁiːfət/}} * {{audio|de|De-widerriefet.ogg|a=柏林}} ===動詞=== {{head|de|動詞變位形式}} # {{verb form of|de|widerrufen||2|p|sub|II}}」的新頁面
9936063
wikitext
text/x-wiki
==德語==
===發音===
* {{IPA|de|/viːdɐˈʁiːfət/}}
* {{audio|de|De-widerriefet.ogg|a=柏林}}
===動詞===
{{head|de|動詞變位形式}}
# {{verb form of|de|widerrufen||2|p|sub|II}}
0xsvagduqh4dbbru72whl1c9y4jysng
Alliierten
0
3541133
9936067
2026-10-01T15:38:12Z
Sayonzei
40728
[[w:WP:AES|←]]建立內容為「==德語== ===發音=== * {{IPA|de|/aliˈʔiːɐ̯tn̩/}} * {{audio|de|De-Alliierten.ogg|a=柏林}} ===名詞=== {{head|de|名詞變格形|g=m}} # {{plural of|de|Alliierte}}」的新頁面
9936067
wikitext
text/x-wiki
==德語==
===發音===
* {{IPA|de|/aliˈʔiːɐ̯tn̩/}}
* {{audio|de|De-Alliierten.ogg|a=柏林}}
===名詞===
{{head|de|名詞變格形|g=m}}
# {{plural of|de|Alliierte}}
kdu0g2nb55kyxs05j8f5a5tognecfo3
Alleinerziehenden
0
3541134
9936069
2026-10-01T15:39:21Z
Sayonzei
40728
[[w:WP:AES|←]]建立內容為「==德語== ===發音=== * {{IPA|de|/aˈlaɪ̯nʔɛɐ̯ˌt͡siːəndən/}} * {{audio|de|De-Alleinerziehenden.ogg|a=柏林}} * {{hyph|de|Al|lein|er|zie|hen|den}} ===名詞=== {{head|de|名詞變格形|g=m}} # {{inflection of|de|Alleinerziehender||str//wk//mix|gen|s|;|wk//mix|dat|s|;|str//wk//mix|acc|s|;|str|dat|p|;|wk//mix|all-case|p}}」的新頁面
9936069
wikitext
text/x-wiki
==德語==
===發音===
* {{IPA|de|/aˈlaɪ̯nʔɛɐ̯ˌt͡siːəndən/}}
* {{audio|de|De-Alleinerziehenden.ogg|a=柏林}}
* {{hyph|de|Al|lein|er|zie|hen|den}}
===名詞===
{{head|de|名詞變格形|g=m}}
# {{inflection of|de|Alleinerziehender||str//wk//mix|gen|s|;|wk//mix|dat|s|;|str//wk//mix|acc|s|;|str|dat|p|;|wk//mix|all-case|p}}
dalzf4cac5fe3c2tgbpn7b7isu3z6th
cash-flow
0
3541135
9936078
2026-10-01T16:04:29Z
Sayonzei
40728
[[w:WP:AES|←]]建立內容為「{{also|cashflow|Cashflow|cash flow}} ==英語== ===名詞=== {{en-noun}} # {{alternative spelling of|en|cash flow}}。 ===形容詞=== {{en-adj|-}} # {{alternative spelling of|en|cashflow}}。」的新頁面
9936078
wikitext
text/x-wiki
{{also|cashflow|Cashflow|cash flow}}
==英語==
===名詞===
{{en-noun}}
# {{alternative spelling of|en|cash flow}}。
===形容詞===
{{en-adj|-}}
# {{alternative spelling of|en|cashflow}}。
cmnsm7slrzzpvoj1sx6ojkol47d1nzc
Cashflows
0
3541136
9936079
2026-10-01T16:04:31Z
Sayonzei
40728
[[w:WP:AES|←]]建立內容為「{{also|cashflows|cash flows|cash-flows}} ==德語== ===發音=== * {{IPA|de|[ˈkɛʃfloʊ̯s]|[ˈkɛʃfloːs]}} * {{audio|de|De-Cashflows.ogg|a=柏林}} ===名詞=== {{head|de|名詞變格形}} # {{plural of|de|Cashflow}} # {{inflection of|de|Cashflow||gen|s}}」的新頁面
9936079
wikitext
text/x-wiki
{{also|cashflows|cash flows|cash-flows}}
==德語==
===發音===
* {{IPA|de|[ˈkɛʃfloʊ̯s]|[ˈkɛʃfloːs]}}
* {{audio|de|De-Cashflows.ogg|a=柏林}}
===名詞===
{{head|de|名詞變格形}}
# {{plural of|de|Cashflow}}
# {{inflection of|de|Cashflow||gen|s}}
0dol0jznr4ec8xlvbhfpb1nrvq0hgs9
cash-flows
0
3541137
9936080
2026-10-01T16:04:40Z
Sayonzei
40728
[[w:WP:AES|←]]建立內容為「{{also|cashflows|Cashflows|cash flows}} ==英語== ===名詞=== {{head|en|名詞變格形}} # {{plural of|en|cash-flow}}」的新頁面
9936080
wikitext
text/x-wiki
{{also|cashflows|Cashflows|cash flows}}
==英語==
===名詞===
{{head|en|名詞變格形}}
# {{plural of|en|cash-flow}}
fttxta4bb25lohfwiva3pdefh56028t
concept cars
0
3541138
9936083
2026-10-01T16:08:08Z
Sayonzei
40728
[[w:WP:AES|←]]建立內容為「==英語== ===名詞=== {{head|en|名詞變格形}} # {{plural of|en|concept car}}」的新頁面
9936083
wikitext
text/x-wiki
==英語==
===名詞===
{{head|en|名詞變格形}}
# {{plural of|en|concept car}}
cs7e2yfv0667k9f1bf39f9sr5syk4mg
Category:納瓦霍語詞組
14
3541139
9936090
2026-10-01T19:34:19Z
TongcyBot
83009
養貓
9936090
wikitext
text/x-wiki
{{auto cat}}
eomzlm5v4j7ond1phrju7cnue91g5qx
Category:馬來語詞組
14
3541140
9936091
2026-10-01T19:34:27Z
TongcyBot
83009
養貓
9936091
wikitext
text/x-wiki
{{auto cat}}
eomzlm5v4j7ond1phrju7cnue91g5qx
Category:阿拉伯語詞組
14
3541141
9936092
2026-10-01T19:34:33Z
TongcyBot
83009
養貓
9936092
wikitext
text/x-wiki
{{auto cat}}
eomzlm5v4j7ond1phrju7cnue91g5qx
Category:拉脫維亞語詞組
14
3541142
9936093
2026-10-01T19:34:39Z
TongcyBot
83009
養貓
9936093
wikitext
text/x-wiki
{{auto cat}}
eomzlm5v4j7ond1phrju7cnue91g5qx
Category:立陶宛語詞組
14
3541143
9936094
2026-10-01T19:34:45Z
TongcyBot
83009
養貓
9936094
wikitext
text/x-wiki
{{auto cat}}
eomzlm5v4j7ond1phrju7cnue91g5qx
Category:水語詞組
14
3541144
9936095
2026-10-01T19:34:51Z
TongcyBot
83009
養貓
9936095
wikitext
text/x-wiki
{{auto cat}}
eomzlm5v4j7ond1phrju7cnue91g5qx
Category:賽德克語詞組
14
3541145
9936096
2026-10-01T19:34:57Z
TongcyBot
83009
養貓
9936096
wikitext
text/x-wiki
{{auto cat}}
eomzlm5v4j7ond1phrju7cnue91g5qx
Category:波斯語詞組
14
3541146
9936097
2026-10-01T19:35:05Z
TongcyBot
83009
養貓
9936097
wikitext
text/x-wiki
{{auto cat}}
eomzlm5v4j7ond1phrju7cnue91g5qx
Category:格魯吉亞語詞組
14
3541147
9936098
2026-10-01T19:35:12Z
TongcyBot
83009
養貓
9936098
wikitext
text/x-wiki
{{auto cat}}
eomzlm5v4j7ond1phrju7cnue91g5qx
Category:阿美語詞組
14
3541148
9936099
2026-10-01T19:35:17Z
TongcyBot
83009
養貓
9936099
wikitext
text/x-wiki
{{auto cat}}
eomzlm5v4j7ond1phrju7cnue91g5qx
Category:賽夏語詞組
14
3541149
9936100
2026-10-01T19:35:23Z
TongcyBot
83009
養貓
9936100
wikitext
text/x-wiki
{{auto cat}}
eomzlm5v4j7ond1phrju7cnue91g5qx
Category:書面挪威語詞組
14
3541150
9936101
2026-10-01T19:35:30Z
TongcyBot
83009
養貓
9936101
wikitext
text/x-wiki
{{auto cat}}
eomzlm5v4j7ond1phrju7cnue91g5qx
Category:新挪威語詞組
14
3541151
9936102
2026-10-01T19:35:37Z
TongcyBot
83009
養貓
9936102
wikitext
text/x-wiki
{{auto cat}}
eomzlm5v4j7ond1phrju7cnue91g5qx
Category:邵語詞組
14
3541152
9936103
2026-10-01T19:35:43Z
TongcyBot
83009
養貓
9936103
wikitext
text/x-wiki
{{auto cat}}
eomzlm5v4j7ond1phrju7cnue91g5qx
Category:泰盧固語詞組
14
3541153
9936104
2026-10-01T19:35:49Z
TongcyBot
83009
養貓
9936104
wikitext
text/x-wiki
{{auto cat}}
eomzlm5v4j7ond1phrju7cnue91g5qx
Category:誒話詞組
14
3541154
9936105
2026-10-01T19:35:54Z
TongcyBot
83009
養貓
9936105
wikitext
text/x-wiki
{{auto cat}}
eomzlm5v4j7ond1phrju7cnue91g5qx
Category:黎語詞組
14
3541155
9936106
2026-10-01T19:36:00Z
TongcyBot
83009
養貓
9936106
wikitext
text/x-wiki
{{auto cat}}
eomzlm5v4j7ond1phrju7cnue91g5qx
Category:阿薩姆語詞組
14
3541156
9936107
2026-10-01T19:36:05Z
TongcyBot
83009
養貓
9936107
wikitext
text/x-wiki
{{auto cat}}
eomzlm5v4j7ond1phrju7cnue91g5qx
Category:泰雅語詞組
14
3541157
9936108
2026-10-01T19:36:11Z
TongcyBot
83009
養貓
9936108
wikitext
text/x-wiki
{{auto cat}}
eomzlm5v4j7ond1phrju7cnue91g5qx
Category:寒溪語詞組
14
3541158
9936109
2026-10-01T19:36:20Z
TongcyBot
83009
養貓
9936109
wikitext
text/x-wiki
{{auto cat}}
eomzlm5v4j7ond1phrju7cnue91g5qx
Category:馬拉加斯語詞組
14
3541159
9936110
2026-10-01T19:36:25Z
TongcyBot
83009
養貓
9936110
wikitext
text/x-wiki
{{auto cat}}
eomzlm5v4j7ond1phrju7cnue91g5qx
Category:亞述新亞拉姆語詞組
14
3541160
9936111
2026-10-01T19:36:31Z
TongcyBot
83009
養貓
9936111
wikitext
text/x-wiki
{{auto cat}}
eomzlm5v4j7ond1phrju7cnue91g5qx
Category:阿姆哈拉語詞組
14
3541161
9936112
2026-10-01T19:36:37Z
TongcyBot
83009
養貓
9936112
wikitext
text/x-wiki
{{auto cat}}
eomzlm5v4j7ond1phrju7cnue91g5qx
Category:維吾爾語詞組
14
3541162
9936113
2026-10-01T19:36:43Z
TongcyBot
83009
養貓
9936113
wikitext
text/x-wiki
{{auto cat}}
eomzlm5v4j7ond1phrju7cnue91g5qx
Category:斯洛文尼亞語詞組
14
3541163
9936114
2026-10-01T19:36:48Z
TongcyBot
83009
養貓
9936114
wikitext
text/x-wiki
{{auto cat}}
eomzlm5v4j7ond1phrju7cnue91g5qx
Category:阿斯圖里亞斯語詞組
14
3541164
9936115
2026-10-01T19:36:54Z
TongcyBot
83009
養貓
9936115
wikitext
text/x-wiki
{{auto cat}}
eomzlm5v4j7ond1phrju7cnue91g5qx
Category:車臣語詞組
14
3541165
9936116
2026-10-01T19:37:00Z
TongcyBot
83009
養貓
9936116
wikitext
text/x-wiki
{{auto cat}}
eomzlm5v4j7ond1phrju7cnue91g5qx
Category:傈僳語詞組
14
3541166
9936117
2026-10-01T19:37:06Z
TongcyBot
83009
養貓
9936117
wikitext
text/x-wiki
{{auto cat}}
eomzlm5v4j7ond1phrju7cnue91g5qx
Category:達悟語詞組
14
3541167
9936118
2026-10-01T19:37:12Z
TongcyBot
83009
養貓
9936118
wikitext
text/x-wiki
{{auto cat}}
eomzlm5v4j7ond1phrju7cnue91g5qx
Category:布農語詞組
14
3541168
9936119
2026-10-01T19:37:18Z
TongcyBot
83009
養貓
9936119
wikitext
text/x-wiki
{{auto cat}}
eomzlm5v4j7ond1phrju7cnue91g5qx
Category:格陵蘭語詞組
14
3541169
9936120
2026-10-01T19:37:24Z
TongcyBot
83009
養貓
9936120
wikitext
text/x-wiki
{{auto cat}}
eomzlm5v4j7ond1phrju7cnue91g5qx
Category:沃拉普克語詞組
14
3541170
9936121
2026-10-01T19:37:30Z
TongcyBot
83009
養貓
9936121
wikitext
text/x-wiki
{{auto cat}}
eomzlm5v4j7ond1phrju7cnue91g5qx
Category:斯洛伐克語詞組
14
3541171
9936122
2026-10-01T19:37:37Z
TongcyBot
83009
養貓
9936122
wikitext
text/x-wiki
{{auto cat}}
eomzlm5v4j7ond1phrju7cnue91g5qx
Category:馬爾他語詞組
14
3541172
9936123
2026-10-01T19:37:42Z
TongcyBot
83009
養貓
9936123
wikitext
text/x-wiki
{{auto cat}}
eomzlm5v4j7ond1phrju7cnue91g5qx
Category:曼島語詞組
14
3541173
9936124
2026-10-01T19:37:48Z
TongcyBot
83009
養貓
9936124
wikitext
text/x-wiki
{{auto cat}}
eomzlm5v4j7ond1phrju7cnue91g5qx
Category:古教會斯拉夫語詞組
14
3541174
9936125
2026-10-01T19:37:54Z
TongcyBot
83009
養貓
9936125
wikitext
text/x-wiki
{{auto cat}}
eomzlm5v4j7ond1phrju7cnue91g5qx
Category:雅庫特語詞組
14
3541175
9936126
2026-10-01T19:38:00Z
TongcyBot
83009
養貓
9936126
wikitext
text/x-wiki
{{auto cat}}
eomzlm5v4j7ond1phrju7cnue91g5qx
Category:巴饒克語詞組
14
3541176
9936127
2026-10-01T19:38:07Z
TongcyBot
83009
養貓
9936127
wikitext
text/x-wiki
{{auto cat}}
eomzlm5v4j7ond1phrju7cnue91g5qx
Category:白俄羅斯語詞組
14
3541177
9936128
2026-10-01T19:38:13Z
TongcyBot
83009
養貓
9936128
wikitext
text/x-wiki
{{auto cat}}
eomzlm5v4j7ond1phrju7cnue91g5qx
Category:博杰普爾語詞組
14
3541178
9936129
2026-10-01T19:38:20Z
TongcyBot
83009
養貓
9936129
wikitext
text/x-wiki
{{auto cat}}
eomzlm5v4j7ond1phrju7cnue91g5qx
Category:羅曼什語詞組
14
3541179
9936130
2026-10-01T19:38:26Z
TongcyBot
83009
養貓
9936130
wikitext
text/x-wiki
{{auto cat}}
eomzlm5v4j7ond1phrju7cnue91g5qx
Category:布列塔尼語詞組
14
3541180
9936131
2026-10-01T19:38:32Z
TongcyBot
83009
養貓
9936131
wikitext
text/x-wiki
{{auto cat}}
eomzlm5v4j7ond1phrju7cnue91g5qx
Category:旁遮普語詞組
14
3541181
9936132
2026-10-01T19:38:39Z
TongcyBot
83009
養貓
9936132
wikitext
text/x-wiki
{{auto cat}}
eomzlm5v4j7ond1phrju7cnue91g5qx
Category:印古什語詞組
14
3541182
9936133
2026-10-01T19:38:45Z
TongcyBot
83009
養貓
9936133
wikitext
text/x-wiki
{{auto cat}}
eomzlm5v4j7ond1phrju7cnue91g5qx
Category:桑塔利語詞組
14
3541183
9936134
2026-10-01T19:38:51Z
TongcyBot
83009
養貓
9936134
wikitext
text/x-wiki
{{auto cat}}
eomzlm5v4j7ond1phrju7cnue91g5qx
Category:爪哇語詞組
14
3541184
9936135
2026-10-01T19:38:57Z
TongcyBot
83009
養貓
9936135
wikitext
text/x-wiki
{{auto cat}}
eomzlm5v4j7ond1phrju7cnue91g5qx
Category:蘇格蘭蓋爾語詞組
14
3541185
9936136
2026-10-01T19:39:04Z
TongcyBot
83009
養貓
9936136
wikitext
text/x-wiki
{{auto cat}}
eomzlm5v4j7ond1phrju7cnue91g5qx
Category:拉祜語詞組
14
3541186
9936137
2026-10-01T19:39:11Z
TongcyBot
83009
養貓
9936137
wikitext
text/x-wiki
{{auto cat}}
eomzlm5v4j7ond1phrju7cnue91g5qx
Category:海地克里奧爾語詞組
14
3541187
9936138
2026-10-01T19:39:17Z
TongcyBot
83009
養貓
9936138
wikitext
text/x-wiki
{{auto cat}}
eomzlm5v4j7ond1phrju7cnue91g5qx
Category:查尤科米斯特克語詞組
14
3541188
9936139
2026-10-01T19:39:27Z
TongcyBot
83009
養貓
9936139
wikitext
text/x-wiki
{{auto cat}}
eomzlm5v4j7ond1phrju7cnue91g5qx
Category:克里米亞韃靼語詞組
14
3541189
9936140
2026-10-01T19:39:34Z
TongcyBot
83009
養貓
9936140
wikitext
text/x-wiki
{{auto cat}}
eomzlm5v4j7ond1phrju7cnue91g5qx
Category:紅仡佬語詞組
14
3541190
9936141
2026-10-01T19:39:40Z
TongcyBot
83009
養貓
9936141
wikitext
text/x-wiki
{{auto cat}}
eomzlm5v4j7ond1phrju7cnue91g5qx
Category:豪薩語詞組
14
3541191
9936142
2026-10-01T19:39:47Z
TongcyBot
83009
養貓
9936142
wikitext
text/x-wiki
{{auto cat}}
eomzlm5v4j7ond1phrju7cnue91g5qx
Category:北庫爾德語詞組
14
3541192
9936143
2026-10-01T19:39:53Z
TongcyBot
83009
養貓
9936143
wikitext
text/x-wiki
{{auto cat}}
eomzlm5v4j7ond1phrju7cnue91g5qx
Category:哥特語詞組
14
3541193
9936144
2026-10-01T19:40:00Z
TongcyBot
83009
養貓
9936144
wikitext
text/x-wiki
{{auto cat}}
eomzlm5v4j7ond1phrju7cnue91g5qx
Category:低地蘇格蘭語詞組
14
3541194
9936145
2026-10-01T19:40:07Z
TongcyBot
83009
養貓
9936145
wikitext
text/x-wiki
{{auto cat}}
eomzlm5v4j7ond1phrju7cnue91g5qx
Category:阿法爾語詞組
14
3541195
9936146
2026-10-01T19:40:13Z
TongcyBot
83009
養貓
9936146
wikitext
text/x-wiki
{{auto cat}}
eomzlm5v4j7ond1phrju7cnue91g5qx
Category:土庫曼語詞組
14
3541196
9936147
2026-10-01T19:40:20Z
TongcyBot
83009
養貓
9936147
wikitext
text/x-wiki
{{auto cat}}
eomzlm5v4j7ond1phrju7cnue91g5qx
Category:法蘭克-普羅旺斯語詞組
14
3541197
9936148
2026-10-01T19:40:28Z
TongcyBot
83009
養貓
9936148
wikitext
text/x-wiki
{{auto cat}}
eomzlm5v4j7ond1phrju7cnue91g5qx
Category:哈拉吉語詞組
14
3541198
9936149
2026-10-01T19:40:34Z
TongcyBot
83009
養貓
9936149
wikitext
text/x-wiki
{{auto cat}}
eomzlm5v4j7ond1phrju7cnue91g5qx
Category:旁普科爾語詞組
14
3541199
9936150
2026-10-01T19:40:40Z
TongcyBot
83009
養貓
9936150
wikitext
text/x-wiki
{{auto cat}}
eomzlm5v4j7ond1phrju7cnue91g5qx
Category:漢志阿拉伯語詞組
14
3541200
9936151
2026-10-01T19:40:47Z
TongcyBot
83009
養貓
9936151
wikitext
text/x-wiki
{{auto cat}}
eomzlm5v4j7ond1phrju7cnue91g5qx
Category:拉蒂諾語詞組
14
3541201
9936152
2026-10-01T19:40:59Z
TongcyBot
83009
養貓
9936152
wikitext
text/x-wiki
{{auto cat}}
eomzlm5v4j7ond1phrju7cnue91g5qx
Category:法羅語詞組
14
3541202
9936153
2026-10-01T19:41:05Z
TongcyBot
83009
養貓
9936153
wikitext
text/x-wiki
{{auto cat}}
eomzlm5v4j7ond1phrju7cnue91g5qx
Category:古英語詞組
14
3541203
9936154
2026-10-01T19:41:11Z
TongcyBot
83009
養貓
9936154
wikitext
text/x-wiki
{{auto cat}}
eomzlm5v4j7ond1phrju7cnue91g5qx
Category:景頗語詞組
14
3541204
9936155
2026-10-01T19:41:18Z
TongcyBot
83009
養貓
9936155
wikitext
text/x-wiki
{{auto cat}}
eomzlm5v4j7ond1phrju7cnue91g5qx
Category:阿瓦爾語詞組
14
3541205
9936156
2026-10-01T19:41:24Z
TongcyBot
83009
養貓
9936156
wikitext
text/x-wiki
{{auto cat}}
eomzlm5v4j7ond1phrju7cnue91g5qx
Category:利古里亞語詞組
14
3541206
9936157
2026-10-01T19:41:31Z
TongcyBot
83009
養貓
9936157
wikitext
text/x-wiki
{{auto cat}}
eomzlm5v4j7ond1phrju7cnue91g5qx
Category:米蘭德斯語詞組
14
3541207
9936158
2026-10-01T19:41:37Z
TongcyBot
83009
養貓
9936158
wikitext
text/x-wiki
{{auto cat}}
eomzlm5v4j7ond1phrju7cnue91g5qx
Category:安古蒂姆里語詞組
14
3541208
9936159
2026-10-01T19:41:43Z
TongcyBot
83009
養貓
9936159
wikitext
text/x-wiki
{{auto cat}}
eomzlm5v4j7ond1phrju7cnue91g5qx
Category:白苗語詞組
14
3541209
9936160
2026-10-01T19:41:49Z
TongcyBot
83009
養貓
9936160
wikitext
text/x-wiki
{{auto cat}}
eomzlm5v4j7ond1phrju7cnue91g5qx
Category:丁卡語詞組
14
3541210
9936161
2026-10-01T19:41:55Z
TongcyBot
83009
養貓
9936161
wikitext
text/x-wiki
{{auto cat}}
eomzlm5v4j7ond1phrju7cnue91g5qx
Category:韃靼語詞組
14
3541211
9936162
2026-10-01T19:42:01Z
TongcyBot
83009
養貓
9936162
wikitext
text/x-wiki
{{auto cat}}
eomzlm5v4j7ond1phrju7cnue91g5qx
Category:鄂圖曼土耳其語詞組
14
3541212
9936163
2026-10-01T19:42:08Z
TongcyBot
83009
養貓
9936163
wikitext
text/x-wiki
{{auto cat}}
eomzlm5v4j7ond1phrju7cnue91g5qx
Category:潘諾尼亞盧森尼亞語詞組
14
3541213
9936164
2026-10-01T19:42:14Z
TongcyBot
83009
養貓
9936164
wikitext
text/x-wiki
{{auto cat}}
eomzlm5v4j7ond1phrju7cnue91g5qx
Category:原始南島語詞組
14
3541214
9936165
2026-10-01T19:42:19Z
TongcyBot
83009
養貓
9936165
wikitext
text/x-wiki
{{auto cat}}
eomzlm5v4j7ond1phrju7cnue91g5qx
Category:波拉語詞組
14
3541215
9936166
2026-10-01T19:42:25Z
TongcyBot
83009
養貓
9936166
wikitext
text/x-wiki
{{auto cat}}
eomzlm5v4j7ond1phrju7cnue91g5qx
Category:毛利語詞組
14
3541216
9936167
2026-10-01T19:42:32Z
TongcyBot
83009
養貓
9936167
wikitext
text/x-wiki
{{auto cat}}
eomzlm5v4j7ond1phrju7cnue91g5qx
Category:米南佳保語詞組
14
3541217
9936168
2026-10-01T19:42:38Z
TongcyBot
83009
養貓
9936168
wikitext
text/x-wiki
{{auto cat}}
eomzlm5v4j7ond1phrju7cnue91g5qx
Category:迪維希語詞組
14
3541218
9936169
2026-10-01T19:42:45Z
TongcyBot
83009
養貓
9936169
wikitext
text/x-wiki
{{auto cat}}
eomzlm5v4j7ond1phrju7cnue91g5qx
Category:汶萊馬來語詞組
14
3541219
9936170
2026-10-01T19:42:51Z
TongcyBot
83009
養貓
9936170
wikitext
text/x-wiki
{{auto cat}}
eomzlm5v4j7ond1phrju7cnue91g5qx
Category:西西里語詞組
14
3541220
9936171
2026-10-01T19:42:58Z
TongcyBot
83009
養貓
9936171
wikitext
text/x-wiki
{{auto cat}}
eomzlm5v4j7ond1phrju7cnue91g5qx
Category:英格里亞語詞組
14
3541221
9936172
2026-10-01T19:43:04Z
TongcyBot
83009
養貓
9936172
wikitext
text/x-wiki
{{auto cat}}
eomzlm5v4j7ond1phrju7cnue91g5qx
Category:皮特凱恩語詞組
14
3541222
9936173
2026-10-01T19:43:16Z
TongcyBot
83009
養貓
9936173
wikitext
text/x-wiki
{{auto cat}}
eomzlm5v4j7ond1phrju7cnue91g5qx
Category:中古法語詞組
14
3541223
9936174
2026-10-01T19:43:23Z
TongcyBot
83009
養貓
9936174
wikitext
text/x-wiki
{{auto cat}}
eomzlm5v4j7ond1phrju7cnue91g5qx
Category:阿日厄語詞組
14
3541224
9936175
2026-10-01T19:43:29Z
TongcyBot
83009
養貓
9936175
wikitext
text/x-wiki
{{auto cat}}
eomzlm5v4j7ond1phrju7cnue91g5qx
Category:古法語詞組
14
3541225
9936176
2026-10-01T19:43:35Z
TongcyBot
83009
養貓
9936176
wikitext
text/x-wiki
{{auto cat}}
eomzlm5v4j7ond1phrju7cnue91g5qx
Category:馬拉雅拉姆語詞組
14
3541226
9936177
2026-10-01T19:43:41Z
TongcyBot
83009
養貓
9936177
wikitext
text/x-wiki
{{auto cat}}
eomzlm5v4j7ond1phrju7cnue91g5qx
Category:阿當梅語詞組
14
3541227
9936178
2026-10-01T19:43:48Z
TongcyBot
83009
養貓
9936178
wikitext
text/x-wiki
{{auto cat}}
eomzlm5v4j7ond1phrju7cnue91g5qx
Category:排灣語詞組
14
3541228
9936179
2026-10-01T19:43:54Z
TongcyBot
83009
養貓
9936179
wikitext
text/x-wiki
{{auto cat}}
eomzlm5v4j7ond1phrju7cnue91g5qx
Category:西切爾克斯語詞組
14
3541229
9936180
2026-10-01T19:43:59Z
TongcyBot
83009
養貓
9936180
wikitext
text/x-wiki
{{auto cat}}
eomzlm5v4j7ond1phrju7cnue91g5qx
Category:辛布里語詞組
14
3541230
9936181
2026-10-01T19:44:06Z
TongcyBot
83009
養貓
9936181
wikitext
text/x-wiki
{{auto cat}}
eomzlm5v4j7ond1phrju7cnue91g5qx
Category:馬里希特-帕薩瑪奎迪語詞組
14
3541231
9936182
2026-10-01T19:44:11Z
TongcyBot
83009
養貓
9936182
wikitext
text/x-wiki
{{auto cat}}
eomzlm5v4j7ond1phrju7cnue91g5qx
Category:拉帕努伊語詞組
14
3541232
9936183
2026-10-01T19:44:17Z
TongcyBot
83009
養貓
9936183
wikitext
text/x-wiki
{{auto cat}}
eomzlm5v4j7ond1phrju7cnue91g5qx
Category:加巴迪語詞組
14
3541233
9936184
2026-10-01T19:44:23Z
TongcyBot
83009
養貓
9936184
wikitext
text/x-wiki
{{auto cat}}
eomzlm5v4j7ond1phrju7cnue91g5qx
Category:沃洛夫語詞組
14
3541234
9936185
2026-10-01T19:44:30Z
TongcyBot
83009
養貓
9936185
wikitext
text/x-wiki
{{auto cat}}
eomzlm5v4j7ond1phrju7cnue91g5qx
Category:西阿帕契語詞組
14
3541235
9936186
2026-10-01T19:44:36Z
TongcyBot
83009
養貓
9936186
wikitext
text/x-wiki
{{auto cat}}
eomzlm5v4j7ond1phrju7cnue91g5qx
Category:湯加語詞組
14
3541236
9936187
2026-10-01T19:44:43Z
TongcyBot
83009
養貓
9936187
wikitext
text/x-wiki
{{auto cat}}
eomzlm5v4j7ond1phrju7cnue91g5qx
Category:布里亞特語詞組
14
3541237
9936188
2026-10-01T19:44:49Z
TongcyBot
83009
養貓
9936188
wikitext
text/x-wiki
{{auto cat}}
eomzlm5v4j7ond1phrju7cnue91g5qx
Category:祖魯語詞組
14
3541238
9936189
2026-10-01T19:45:02Z
TongcyBot
83009
養貓
9936189
wikitext
text/x-wiki
{{auto cat}}
eomzlm5v4j7ond1phrju7cnue91g5qx
Category:漢斯立克語詞組
14
3541239
9936190
2026-10-01T19:45:09Z
TongcyBot
83009
養貓
9936190
wikitext
text/x-wiki
{{auto cat}}
eomzlm5v4j7ond1phrju7cnue91g5qx
Category:科特語詞組
14
3541240
9936191
2026-10-01T19:45:16Z
TongcyBot
83009
養貓
9936191
wikitext
text/x-wiki
{{auto cat}}
eomzlm5v4j7ond1phrju7cnue91g5qx
Category:紹爾語詞組
14
3541241
9936192
2026-10-01T19:45:24Z
TongcyBot
83009
養貓
9936192
wikitext
text/x-wiki
{{auto cat}}
eomzlm5v4j7ond1phrju7cnue91g5qx
Category:康姆語(喀麥隆)詞組
14
3541242
9936193
2026-10-01T19:45:30Z
TongcyBot
83009
養貓
9936193
wikitext
text/x-wiki
{{auto cat}}
eomzlm5v4j7ond1phrju7cnue91g5qx
Category:普什圖語詞組
14
3541243
9936194
2026-10-01T19:45:38Z
TongcyBot
83009
養貓
9936194
wikitext
text/x-wiki
{{auto cat}}
eomzlm5v4j7ond1phrju7cnue91g5qx
Category:馬格達萊納佩尼亞斯科米斯特克語詞組
14
3541244
9936195
2026-10-01T19:45:44Z
TongcyBot
83009
養貓
9936195
wikitext
text/x-wiki
{{auto cat}}
eomzlm5v4j7ond1phrju7cnue91g5qx
Category:奇奇卡潘薩波特克語詞組
14
3541245
9936196
2026-10-01T19:45:49Z
TongcyBot
83009
養貓
9936196
wikitext
text/x-wiki
{{auto cat}}
eomzlm5v4j7ond1phrju7cnue91g5qx
Category:曼丁哥語詞組
14
3541246
9936197
2026-10-01T19:45:55Z
TongcyBot
83009
養貓
9936197
wikitext
text/x-wiki
{{auto cat}}
eomzlm5v4j7ond1phrju7cnue91g5qx
Category:波旁-貝里語詞組
14
3541247
9936198
2026-10-01T19:46:03Z
TongcyBot
83009
養貓
9936198
wikitext
text/x-wiki
{{auto cat}}
eomzlm5v4j7ond1phrju7cnue91g5qx
Category:奧吉布瓦語詞組
14
3541248
9936199
2026-10-01T19:46:09Z
TongcyBot
83009
養貓
9936199
wikitext
text/x-wiki
{{auto cat}}
eomzlm5v4j7ond1phrju7cnue91g5qx
Category:毛里求斯克里奧爾語詞組
14
3541249
9936200
2026-10-01T19:46:15Z
TongcyBot
83009
養貓
9936200
wikitext
text/x-wiki
{{auto cat}}
eomzlm5v4j7ond1phrju7cnue91g5qx
Category:托羅語詞組
14
3541250
9936201
2026-10-01T19:46:22Z
TongcyBot
83009
養貓
9936201
wikitext
text/x-wiki
{{auto cat}}
eomzlm5v4j7ond1phrju7cnue91g5qx
Category:五屯話詞組
14
3541251
9936202
2026-10-01T19:46:28Z
TongcyBot
83009
養貓
9936202
wikitext
text/x-wiki
{{auto cat}}
eomzlm5v4j7ond1phrju7cnue91g5qx
Category:東干語詞組
14
3541252
9936203
2026-10-01T19:46:35Z
TongcyBot
83009
養貓
9936203
wikitext
text/x-wiki
{{auto cat}}
eomzlm5v4j7ond1phrju7cnue91g5qx
Category:古典敘利亞語詞組
14
3541253
9936204
2026-10-01T19:46:41Z
TongcyBot
83009
養貓
9936204
wikitext
text/x-wiki
{{auto cat}}
eomzlm5v4j7ond1phrju7cnue91g5qx
Category:加爾華利語詞組
14
3541254
9936205
2026-10-01T19:46:47Z
TongcyBot
83009
養貓
9936205
wikitext
text/x-wiki
{{auto cat}}
eomzlm5v4j7ond1phrju7cnue91g5qx
Category:古典納瓦特爾語詞組
14
3541255
9936206
2026-10-01T19:46:53Z
TongcyBot
83009
養貓
9936206
wikitext
text/x-wiki
{{auto cat}}
eomzlm5v4j7ond1phrju7cnue91g5qx
Category:富拉語詞組
14
3541256
9936207
2026-10-01T19:47:00Z
TongcyBot
83009
養貓
9936207
wikitext
text/x-wiki
{{auto cat}}
eomzlm5v4j7ond1phrju7cnue91g5qx
Category:青苗語詞組
14
3541257
9936208
2026-10-01T19:47:06Z
TongcyBot
83009
養貓
9936208
wikitext
text/x-wiki
{{auto cat}}
eomzlm5v4j7ond1phrju7cnue91g5qx
Category:沃萊塔語詞組
14
3541258
9936209
2026-10-01T19:47:14Z
TongcyBot
83009
養貓
9936209
wikitext
text/x-wiki
{{auto cat}}
eomzlm5v4j7ond1phrju7cnue91g5qx
Category:埃維語詞組
14
3541259
9936210
2026-10-01T19:47:22Z
TongcyBot
83009
養貓
9936210
wikitext
text/x-wiki
{{auto cat}}
eomzlm5v4j7ond1phrju7cnue91g5qx
Category:尤卡坦瑪雅語詞組
14
3541260
9936211
2026-10-01T19:47:32Z
TongcyBot
83009
養貓
9936211
wikitext
text/x-wiki
{{auto cat}}
eomzlm5v4j7ond1phrju7cnue91g5qx
Category:科帕拉特里基語詞組
14
3541261
9936212
2026-10-01T19:47:39Z
TongcyBot
83009
養貓
9936212
wikitext
text/x-wiki
{{auto cat}}
eomzlm5v4j7ond1phrju7cnue91g5qx
Category:紐埃語詞組
14
3541262
9936213
2026-10-01T19:47:45Z
TongcyBot
83009
養貓
9936213
wikitext
text/x-wiki
{{auto cat}}
eomzlm5v4j7ond1phrju7cnue91g5qx
Category:中古蒙古語詞組
14
3541263
9936214
2026-10-01T19:47:53Z
TongcyBot
83009
養貓
9936214
wikitext
text/x-wiki
{{auto cat}}
eomzlm5v4j7ond1phrju7cnue91g5qx
Category:希利蓋農語詞組
14
3541264
9936215
2026-10-01T19:47:59Z
TongcyBot
83009
養貓
9936215
wikitext
text/x-wiki
{{auto cat}}
eomzlm5v4j7ond1phrju7cnue91g5qx
Category:索倫語詞組
14
3541265
9936216
2026-10-01T19:48:06Z
TongcyBot
83009
養貓
9936216
wikitext
text/x-wiki
{{auto cat}}
eomzlm5v4j7ond1phrju7cnue91g5qx
Category:佛羅語詞組
14
3541266
9936217
2026-10-01T19:48:12Z
TongcyBot
83009
養貓
9936217
wikitext
text/x-wiki
{{auto cat}}
eomzlm5v4j7ond1phrju7cnue91g5qx
Category:里潑語詞組
14
3541267
9936218
2026-10-01T19:48:18Z
TongcyBot
83009
養貓
9936218
wikitext
text/x-wiki
{{auto cat}}
eomzlm5v4j7ond1phrju7cnue91g5qx
Category:尼瓦爾語詞組
14
3541268
9936219
2026-10-01T19:48:24Z
TongcyBot
83009
養貓
9936219
wikitext
text/x-wiki
{{auto cat}}
eomzlm5v4j7ond1phrju7cnue91g5qx
Category:拉阿魯哇語詞組
14
3541269
9936220
2026-10-01T19:48:30Z
TongcyBot
83009
養貓
9936220
wikitext
text/x-wiki
{{auto cat}}
eomzlm5v4j7ond1phrju7cnue91g5qx
Category:薩特弗里斯蘭語詞組
14
3541270
9936221
2026-10-01T19:48:36Z
TongcyBot
83009
養貓
9936221
wikitext
text/x-wiki
{{auto cat}}
eomzlm5v4j7ond1phrju7cnue91g5qx
Category:中曼西語詞組
14
3541271
9936222
2026-10-01T19:48:41Z
TongcyBot
83009
養貓
9936222
wikitext
text/x-wiki
{{auto cat}}
eomzlm5v4j7ond1phrju7cnue91g5qx
Category:賓夕法尼亞德語詞組
14
3541272
9936223
2026-10-01T19:48:47Z
TongcyBot
83009
養貓
9936223
wikitext
text/x-wiki
{{auto cat}}
eomzlm5v4j7ond1phrju7cnue91g5qx
Category:保加爾語詞組
14
3541273
9936224
2026-10-01T19:48:53Z
TongcyBot
83009
養貓
9936224
wikitext
text/x-wiki
{{auto cat}}
eomzlm5v4j7ond1phrju7cnue91g5qx
Category:阿比諾姆語詞組
14
3541274
9936225
2026-10-01T19:48:59Z
TongcyBot
83009
養貓
9936225
wikitext
text/x-wiki
{{auto cat}}
eomzlm5v4j7ond1phrju7cnue91g5qx
Category:大聖米蓋爾米斯特克語詞組
14
3541275
9936226
2026-10-01T19:49:05Z
TongcyBot
83009
養貓
9936226
wikitext
text/x-wiki
{{auto cat}}
eomzlm5v4j7ond1phrju7cnue91g5qx
Category:岱依語詞組
14
3541276
9936227
2026-10-01T19:49:12Z
TongcyBot
83009
養貓
9936227
wikitext
text/x-wiki
{{auto cat}}
eomzlm5v4j7ond1phrju7cnue91g5qx
Category:馬拉地語詞組
14
3541277
9936228
2026-10-01T19:49:17Z
TongcyBot
83009
養貓
9936228
wikitext
text/x-wiki
{{auto cat}}
eomzlm5v4j7ond1phrju7cnue91g5qx
Category:桑戈語詞組
14
3541278
9936229
2026-10-01T19:49:24Z
TongcyBot
83009
養貓
9936229
wikitext
text/x-wiki
{{auto cat}}
eomzlm5v4j7ond1phrju7cnue91g5qx
Category:中瓦斯特卡納瓦特爾語詞組
14
3541279
9936230
2026-10-01T19:49:30Z
TongcyBot
83009
養貓
9936230
wikitext
text/x-wiki
{{auto cat}}
eomzlm5v4j7ond1phrju7cnue91g5qx
Category:巴伐利亞語詞組
14
3541280
9936231
2026-10-01T19:49:36Z
TongcyBot
83009
養貓
9936231
wikitext
text/x-wiki
{{auto cat}}
eomzlm5v4j7ond1phrju7cnue91g5qx
Category:中納瓦特爾語詞組
14
3541281
9936232
2026-10-01T19:49:43Z
TongcyBot
83009
養貓
9936232
wikitext
text/x-wiki
{{auto cat}}
eomzlm5v4j7ond1phrju7cnue91g5qx
Category:南塞爾庫普語詞組
14
3541282
9936233
2026-10-01T19:49:51Z
TongcyBot
83009
養貓
9936233
wikitext
text/x-wiki
{{auto cat}}
eomzlm5v4j7ond1phrju7cnue91g5qx
Category:蘇里南湯加語詞組
14
3541283
9936234
2026-10-01T19:49:58Z
TongcyBot
83009
養貓
9936234
wikitext
text/x-wiki
{{auto cat}}
eomzlm5v4j7ond1phrju7cnue91g5qx
Category:克丘亞語詞組
14
3541284
9936235
2026-10-01T19:50:04Z
TongcyBot
83009
養貓
9936235
wikitext
text/x-wiki
{{auto cat}}
eomzlm5v4j7ond1phrju7cnue91g5qx
Category:巴宰語詞組
14
3541285
9936236
2026-10-01T19:50:11Z
TongcyBot
83009
養貓
9936236
wikitext
text/x-wiki
{{auto cat}}
eomzlm5v4j7ond1phrju7cnue91g5qx
Category:托克皮辛語詞組
14
3541286
9936237
2026-10-01T19:50:18Z
TongcyBot
83009
養貓
9936237
wikitext
text/x-wiki
{{auto cat}}
eomzlm5v4j7ond1phrju7cnue91g5qx
Category:瑟里語詞組
14
3541287
9936238
2026-10-01T19:50:26Z
TongcyBot
83009
養貓
9936238
wikitext
text/x-wiki
{{auto cat}}
eomzlm5v4j7ond1phrju7cnue91g5qx
Category:嘉萊語詞組
14
3541288
9936239
2026-10-01T19:50:33Z
TongcyBot
83009
養貓
9936239
wikitext
text/x-wiki
{{auto cat}}
eomzlm5v4j7ond1phrju7cnue91g5qx
Category:民和土族語詞組
14
3541289
9936240
2026-10-01T19:50:38Z
TongcyBot
83009
養貓
9936240
wikitext
text/x-wiki
{{auto cat}}
eomzlm5v4j7ond1phrju7cnue91g5qx
Category:西弗里斯蘭語詞組
14
3541290
9936241
2026-10-01T19:50:46Z
TongcyBot
83009
養貓
9936241
wikitext
text/x-wiki
{{auto cat}}
eomzlm5v4j7ond1phrju7cnue91g5qx
Category:阿薩語詞組
14
3541291
9936242
2026-10-01T19:50:53Z
TongcyBot
83009
養貓
9936242
wikitext
text/x-wiki
{{auto cat}}
eomzlm5v4j7ond1phrju7cnue91g5qx
Category:原始類約魯巴語詞組
14
3541292
9936243
2026-10-01T19:50:59Z
TongcyBot
83009
養貓
9936243
wikitext
text/x-wiki
{{auto cat}}
eomzlm5v4j7ond1phrju7cnue91g5qx
Category:嘎洛語詞組
14
3541293
9936244
2026-10-01T19:51:05Z
TongcyBot
83009
養貓
9936244
wikitext
text/x-wiki
{{auto cat}}
eomzlm5v4j7ond1phrju7cnue91g5qx
Category:教會斯拉夫語詞組
14
3541294
9936245
2026-10-01T19:51:13Z
TongcyBot
83009
養貓
9936245
wikitext
text/x-wiki
{{auto cat}}
eomzlm5v4j7ond1phrju7cnue91g5qx
Category:原始馬來-占語詞組
14
3541295
9936246
2026-10-01T19:51:20Z
TongcyBot
83009
養貓
9936246
wikitext
text/x-wiki
{{auto cat}}
eomzlm5v4j7ond1phrju7cnue91g5qx
Category:四土話詞組
14
3541296
9936247
2026-10-01T19:51:26Z
TongcyBot
83009
養貓
9936247
wikitext
text/x-wiki
{{auto cat}}
eomzlm5v4j7ond1phrju7cnue91g5qx
Category:洋涇浜英語詞組
14
3541297
9936248
2026-10-01T19:51:32Z
TongcyBot
83009
養貓
9936248
wikitext
text/x-wiki
{{auto cat}}
eomzlm5v4j7ond1phrju7cnue91g5qx
Category:艾馬拉語詞組
14
3541298
9936249
2026-10-01T19:51:39Z
TongcyBot
83009
養貓
9936249
wikitext
text/x-wiki
{{auto cat}}
eomzlm5v4j7ond1phrju7cnue91g5qx
Category:古典亞美尼亞語詞組
14
3541299
9936250
2026-10-01T19:51:45Z
TongcyBot
83009
養貓
9936250
wikitext
text/x-wiki
{{auto cat}}
eomzlm5v4j7ond1phrju7cnue91g5qx
Category:魯凱語詞組
14
3541300
9936251
2026-10-01T19:51:53Z
TongcyBot
83009
養貓
9936251
wikitext
text/x-wiki
{{auto cat}}
eomzlm5v4j7ond1phrju7cnue91g5qx
Category:因紐特語詞組
14
3541301
9936252
2026-10-01T19:51:59Z
TongcyBot
83009
養貓
9936252
wikitext
text/x-wiki
{{auto cat}}
eomzlm5v4j7ond1phrju7cnue91g5qx
Category:斐濟語詞組
14
3541302
9936253
2026-10-01T19:52:06Z
TongcyBot
83009
養貓
9936253
wikitext
text/x-wiki
{{auto cat}}
eomzlm5v4j7ond1phrju7cnue91g5qx
Category:亞齊語詞組
14
3541303
9936254
2026-10-01T19:52:13Z
TongcyBot
83009
養貓
9936254
wikitext
text/x-wiki
{{auto cat}}
eomzlm5v4j7ond1phrju7cnue91g5qx
Category:阿巴加語詞組
14
3541304
9936255
2026-10-01T19:52:18Z
TongcyBot
83009
養貓
9936255
wikitext
text/x-wiki
{{auto cat}}
eomzlm5v4j7ond1phrju7cnue91g5qx
Category:黑腳語詞組
14
3541305
9936256
2026-10-01T19:52:25Z
TongcyBot
83009
養貓
9936256
wikitext
text/x-wiki
{{auto cat}}
eomzlm5v4j7ond1phrju7cnue91g5qx
Category:東鄉語詞組
14
3541306
9936257
2026-10-01T19:52:32Z
TongcyBot
83009
養貓
9936257
wikitext
text/x-wiki
{{auto cat}}
eomzlm5v4j7ond1phrju7cnue91g5qx
Category:西里西亞語詞組
14
3541307
9936258
2026-10-01T19:52:38Z
TongcyBot
83009
養貓
9936258
wikitext
text/x-wiki
{{auto cat}}
eomzlm5v4j7ond1phrju7cnue91g5qx
Category:卡納達語詞組
14
3541308
9936259
2026-10-01T19:52:44Z
TongcyBot
83009
養貓
9936259
wikitext
text/x-wiki
{{auto cat}}
eomzlm5v4j7ond1phrju7cnue91g5qx
Category:沃特語詞組
14
3541309
9936260
2026-10-01T19:52:50Z
TongcyBot
83009
養貓
9936260
wikitext
text/x-wiki
{{auto cat}}
eomzlm5v4j7ond1phrju7cnue91g5qx
Category:海灣阿拉伯語詞組
14
3541310
9936261
2026-10-01T19:52:56Z
TongcyBot
83009
養貓
9936261
wikitext
text/x-wiki
{{auto cat}}
eomzlm5v4j7ond1phrju7cnue91g5qx
Category:莫克沙語詞組
14
3541311
9936262
2026-10-01T19:53:02Z
TongcyBot
83009
養貓
9936262
wikitext
text/x-wiki
{{auto cat}}
eomzlm5v4j7ond1phrju7cnue91g5qx
Category:上索布語詞組
14
3541312
9936263
2026-10-01T19:53:08Z
TongcyBot
83009
養貓
9936263
wikitext
text/x-wiki
{{auto cat}}
eomzlm5v4j7ond1phrju7cnue91g5qx
Category:達金語詞組
14
3541313
9936264
2026-10-01T19:53:14Z
TongcyBot
83009
養貓
9936264
wikitext
text/x-wiki
{{auto cat}}
eomzlm5v4j7ond1phrju7cnue91g5qx
Category:阿布哈茲語詞組
14
3541314
9936265
2026-10-01T19:53:20Z
TongcyBot
83009
養貓
9936265
wikitext
text/x-wiki
{{auto cat}}
eomzlm5v4j7ond1phrju7cnue91g5qx
Category:卡累利阿語詞組
14
3541315
9936266
2026-10-01T19:53:30Z
TongcyBot
83009
養貓
9936266
wikitext
text/x-wiki
{{auto cat}}
eomzlm5v4j7ond1phrju7cnue91g5qx
Category:古吉拉特語詞組
14
3541316
9936267
2026-10-01T19:53:36Z
TongcyBot
83009
養貓
9936267
wikitext
text/x-wiki
{{auto cat}}
eomzlm5v4j7ond1phrju7cnue91g5qx
Category:坎卡奈語詞組
14
3541317
9936268
2026-10-01T19:53:41Z
TongcyBot
83009
養貓
9936268
wikitext
text/x-wiki
{{auto cat}}
eomzlm5v4j7ond1phrju7cnue91g5qx
Category:拉科語詞組
14
3541318
9936269
2026-10-01T19:53:47Z
TongcyBot
83009
養貓
9936269
wikitext
text/x-wiki
{{auto cat}}
eomzlm5v4j7ond1phrju7cnue91g5qx
Category:林布語詞組
14
3541319
9936270
2026-10-01T19:53:55Z
TongcyBot
83009
養貓
9936270
wikitext
text/x-wiki
{{auto cat}}
eomzlm5v4j7ond1phrju7cnue91g5qx
Category:盧森堡語詞組
14
3541320
9936271
2026-10-01T19:54:01Z
TongcyBot
83009
養貓
9936271
wikitext
text/x-wiki
{{auto cat}}
eomzlm5v4j7ond1phrju7cnue91g5qx
Category:納木依語詞組
14
3541321
9936272
2026-10-01T19:54:07Z
TongcyBot
83009
養貓
9936272
wikitext
text/x-wiki
{{auto cat}}
eomzlm5v4j7ond1phrju7cnue91g5qx
Category:莫札拉布語詞組
14
3541322
9936273
2026-10-01T19:54:12Z
TongcyBot
83009
養貓
9936273
wikitext
text/x-wiki
{{auto cat}}
eomzlm5v4j7ond1phrju7cnue91g5qx
Category:世俗埃及語詞組
14
3541323
9936274
2026-10-01T19:54:18Z
TongcyBot
83009
養貓
9936274
wikitext
text/x-wiki
{{auto cat}}
eomzlm5v4j7ond1phrju7cnue91g5qx
Category:那不勒斯語詞組
14
3541324
9936275
2026-10-01T19:54:24Z
TongcyBot
83009
養貓
9936275
wikitext
text/x-wiki
{{auto cat}}
eomzlm5v4j7ond1phrju7cnue91g5qx
Category:加里里語詞組
14
3541325
9936276
2026-10-01T19:54:38Z
TongcyBot
83009
養貓
9936276
wikitext
text/x-wiki
{{auto cat}}
eomzlm5v4j7ond1phrju7cnue91g5qx
Category:卡羅巴塔克語詞組
14
3541326
9936277
2026-10-01T19:54:45Z
TongcyBot
83009
養貓
9936277
wikitext
text/x-wiki
{{auto cat}}
eomzlm5v4j7ond1phrju7cnue91g5qx
Category:古愛爾蘭語詞組
14
3541327
9936278
2026-10-01T19:54:51Z
TongcyBot
83009
養貓
9936278
wikitext
text/x-wiki
{{auto cat}}
eomzlm5v4j7ond1phrju7cnue91g5qx
Category:沖繩語詞組
14
3541328
9936279
2026-10-01T19:54:57Z
TongcyBot
83009
養貓
9936279
wikitext
text/x-wiki
{{auto cat}}
eomzlm5v4j7ond1phrju7cnue91g5qx
Category:薩卡特佩克查蒂諾語詞組
14
3541329
9936280
2026-10-01T19:55:03Z
TongcyBot
83009
養貓
9936280
wikitext
text/x-wiki
{{auto cat}}
eomzlm5v4j7ond1phrju7cnue91g5qx
Category:象雄語詞組
14
3541330
9936281
2026-10-01T19:55:08Z
TongcyBot
83009
養貓
9936281
wikitext
text/x-wiki
{{auto cat}}
eomzlm5v4j7ond1phrju7cnue91g5qx
Category:佐齊爾語詞組
14
3541331
9936282
2026-10-01T19:55:14Z
TongcyBot
83009
養貓
9936282
wikitext
text/x-wiki
{{auto cat}}
eomzlm5v4j7ond1phrju7cnue91g5qx
Category:努比因語詞組
14
3541332
9936283
2026-10-01T19:55:20Z
TongcyBot
83009
養貓
9936283
wikitext
text/x-wiki
{{auto cat}}
eomzlm5v4j7ond1phrju7cnue91g5qx
Category:阿拉貢語詞組
14
3541333
9936284
2026-10-01T19:55:25Z
TongcyBot
83009
養貓
9936284
wikitext
text/x-wiki
{{auto cat}}
eomzlm5v4j7ond1phrju7cnue91g5qx
Category:卡那卡那富語詞組
14
3541334
9936285
2026-10-01T19:55:34Z
TongcyBot
83009
養貓
9936285
wikitext
text/x-wiki
{{auto cat}}
eomzlm5v4j7ond1phrju7cnue91g5qx
Category:古拉語詞組
14
3541335
9936286
2026-10-01T19:55:40Z
TongcyBot
83009
養貓
9936286
wikitext
text/x-wiki
{{auto cat}}
eomzlm5v4j7ond1phrju7cnue91g5qx
Category:埃蘭語詞組
14
3541336
9936287
2026-10-01T19:55:46Z
TongcyBot
83009
養貓
9936287
wikitext
text/x-wiki
{{auto cat}}
eomzlm5v4j7ond1phrju7cnue91g5qx
Category:尼亞斯語詞組
14
3541337
9936288
2026-10-01T19:55:52Z
TongcyBot
83009
養貓
9936288
wikitext
text/x-wiki
{{auto cat}}
eomzlm5v4j7ond1phrju7cnue91g5qx
Category:布魯夏斯基語詞組
14
3541338
9936289
2026-10-01T19:55:58Z
TongcyBot
83009
養貓
9936289
wikitext
text/x-wiki
{{auto cat}}
eomzlm5v4j7ond1phrju7cnue91g5qx
Category:拉茲語詞組
14
3541339
9936290
2026-10-01T19:56:05Z
TongcyBot
83009
養貓
9936290
wikitext
text/x-wiki
{{auto cat}}
eomzlm5v4j7ond1phrju7cnue91g5qx
Category:查莫羅語詞組
14
3541340
9936291
2026-10-01T19:56:11Z
TongcyBot
83009
養貓
9936291
wikitext
text/x-wiki
{{auto cat}}
eomzlm5v4j7ond1phrju7cnue91g5qx
Category:法拉語詞組
14
3541341
9936292
2026-10-01T19:56:20Z
TongcyBot
83009
養貓
9936292
wikitext
text/x-wiki
{{auto cat}}
eomzlm5v4j7ond1phrju7cnue91g5qx
Category:薩摩亞種植園皮欽語詞組
14
3541342
9936293
2026-10-01T19:56:26Z
TongcyBot
83009
養貓
9936293
wikitext
text/x-wiki
{{auto cat}}
eomzlm5v4j7ond1phrju7cnue91g5qx
Category:佛得角克里奧爾語詞組
14
3541343
9936294
2026-10-01T19:56:32Z
TongcyBot
83009
養貓
9936294
wikitext
text/x-wiki
{{auto cat}}
eomzlm5v4j7ond1phrju7cnue91g5qx
Category:努語詞組
14
3541344
9936295
2026-10-01T19:56:38Z
TongcyBot
83009
養貓
9936295
wikitext
text/x-wiki
{{auto cat}}
eomzlm5v4j7ond1phrju7cnue91g5qx
Category:馬六甲克里奧爾葡萄牙語詞組
14
3541345
9936296
2026-10-01T19:56:45Z
TongcyBot
83009
養貓
9936296
wikitext
text/x-wiki
{{auto cat}}
eomzlm5v4j7ond1phrju7cnue91g5qx
Category:多爾干語詞組
14
3541346
9936297
2026-10-01T19:56:51Z
TongcyBot
83009
養貓
9936297
wikitext
text/x-wiki
{{auto cat}}
eomzlm5v4j7ond1phrju7cnue91g5qx
Category:尼夫赫語詞組
14
3541347
9936298
2026-10-01T19:56:57Z
TongcyBot
83009
養貓
9936298
wikitext
text/x-wiki
{{auto cat}}
eomzlm5v4j7ond1phrju7cnue91g5qx
Category:日語詞組
14
3541348
9936299
2026-10-01T19:57:04Z
TongcyBot
83009
養貓
9936299
wikitext
text/x-wiki
{{auto cat}}
eomzlm5v4j7ond1phrju7cnue91g5qx
Category:科曼奇語詞組
14
3541349
9936300
2026-10-01T19:57:10Z
TongcyBot
83009
養貓
9936300
wikitext
text/x-wiki
{{auto cat}}
eomzlm5v4j7ond1phrju7cnue91g5qx
Category:薩摩亞語詞組
14
3541350
9936301
2026-10-01T19:57:16Z
TongcyBot
83009
養貓
9936301
wikitext
text/x-wiki
{{auto cat}}
eomzlm5v4j7ond1phrju7cnue91g5qx
Category:中古越南語詞組
14
3541351
9936302
2026-10-01T19:57:22Z
TongcyBot
83009
養貓
9936302
wikitext
text/x-wiki
{{auto cat}}
eomzlm5v4j7ond1phrju7cnue91g5qx
Category:賈瑪瑪蒂語詞組
14
3541352
9936303
2026-10-01T19:57:27Z
TongcyBot
83009
養貓
9936303
wikitext
text/x-wiki
{{auto cat}}
eomzlm5v4j7ond1phrju7cnue91g5qx
Category:馬姆語詞組
14
3541353
9936304
2026-10-01T19:57:33Z
TongcyBot
83009
養貓
9936304
wikitext
text/x-wiki
{{auto cat}}
eomzlm5v4j7ond1phrju7cnue91g5qx
Category:古普魯士語詞組
14
3541354
9936305
2026-10-01T19:57:40Z
TongcyBot
83009
養貓
9936305
wikitext
text/x-wiki
{{auto cat}}
eomzlm5v4j7ond1phrju7cnue91g5qx
Category:大溪地語詞組
14
3541355
9936306
2026-10-01T19:57:46Z
TongcyBot
83009
養貓
9936306
wikitext
text/x-wiki
{{auto cat}}
eomzlm5v4j7ond1phrju7cnue91g5qx
Category:帕哈里-波特瓦里語詞組
14
3541356
9936307
2026-10-01T19:57:52Z
TongcyBot
83009
養貓
9936307
wikitext
text/x-wiki
{{auto cat}}
eomzlm5v4j7ond1phrju7cnue91g5qx
Category:晉語詞組
14
3541357
9936308
2026-10-01T19:57:58Z
TongcyBot
83009
養貓
9936308
wikitext
text/x-wiki
{{auto cat}}
eomzlm5v4j7ond1phrju7cnue91g5qx
Category:澳門土生葡語詞組
14
3541358
9936309
2026-10-01T19:58:05Z
TongcyBot
83009
養貓
9936309
wikitext
text/x-wiki
{{auto cat}}
eomzlm5v4j7ond1phrju7cnue91g5qx
Category:里菲安語詞組
14
3541359
9936310
2026-10-01T19:58:11Z
TongcyBot
83009
養貓
9936310
wikitext
text/x-wiki
{{auto cat}}
eomzlm5v4j7ond1phrju7cnue91g5qx
Category:北曼西語詞組
14
3541360
9936311
2026-10-01T19:58:17Z
TongcyBot
83009
養貓
9936311
wikitext
text/x-wiki
{{auto cat}}
eomzlm5v4j7ond1phrju7cnue91g5qx
Category:原始因紐特語詞組
14
3541361
9936312
2026-10-01T19:58:23Z
TongcyBot
83009
養貓
9936312
wikitext
text/x-wiki
{{auto cat}}
eomzlm5v4j7ond1phrju7cnue91g5qx
Category:拍瀑拉語詞組
14
3541362
9936313
2026-10-01T19:58:28Z
TongcyBot
83009
養貓
9936313
wikitext
text/x-wiki
{{auto cat}}
eomzlm5v4j7ond1phrju7cnue91g5qx
Category:波拉布語詞組
14
3541363
9936314
2026-10-01T19:58:34Z
TongcyBot
83009
養貓
9936314
wikitext
text/x-wiki
{{auto cat}}
eomzlm5v4j7ond1phrju7cnue91g5qx
Category:科莫克斯語詞組
14
3541364
9936315
2026-10-01T19:58:40Z
TongcyBot
83009
養貓
9936315
wikitext
text/x-wiki
{{auto cat}}
eomzlm5v4j7ond1phrju7cnue91g5qx
Category:薩莫吉提亞語詞組
14
3541365
9936316
2026-10-01T19:58:46Z
TongcyBot
83009
養貓
9936316
wikitext
text/x-wiki
{{auto cat}}
eomzlm5v4j7ond1phrju7cnue91g5qx
Category:中烏瓦語詞組
14
3541366
9936317
2026-10-01T19:58:52Z
TongcyBot
83009
養貓
9936317
wikitext
text/x-wiki
{{auto cat}}
eomzlm5v4j7ond1phrju7cnue91g5qx
Category:信德語詞組
14
3541367
9936318
2026-10-01T19:58:58Z
TongcyBot
83009
養貓
9936318
wikitext
text/x-wiki
{{auto cat}}
eomzlm5v4j7ond1phrju7cnue91g5qx
Category:錫默盧語詞組
14
3541368
9936319
2026-10-01T19:59:04Z
TongcyBot
83009
養貓
9936319
wikitext
text/x-wiki
{{auto cat}}
eomzlm5v4j7ond1phrju7cnue91g5qx
Category:北羌語詞組
14
3541369
9936320
2026-10-01T19:59:10Z
TongcyBot
83009
養貓
9936320
wikitext
text/x-wiki
{{auto cat}}
eomzlm5v4j7ond1phrju7cnue91g5qx
Category:原始斯拉夫語詞組
14
3541370
9936321
2026-10-01T19:59:15Z
TongcyBot
83009
養貓
9936321
wikitext
text/x-wiki
{{auto cat}}
eomzlm5v4j7ond1phrju7cnue91g5qx
Category:峇峇馬來語詞組
14
3541371
9936322
2026-10-01T19:59:22Z
TongcyBot
83009
養貓
9936322
wikitext
text/x-wiki
{{auto cat}}
eomzlm5v4j7ond1phrju7cnue91g5qx
Category:弄巴灣語詞組
14
3541372
9936323
2026-10-01T19:59:29Z
TongcyBot
83009
養貓
9936323
wikitext
text/x-wiki
{{auto cat}}
eomzlm5v4j7ond1phrju7cnue91g5qx
Category:挪威俄語詞組
14
3541373
9936324
2026-10-01T19:59:35Z
TongcyBot
83009
養貓
9936324
wikitext
text/x-wiki
{{auto cat}}
eomzlm5v4j7ond1phrju7cnue91g5qx
Category:特林吉特語詞組
14
3541374
9936325
2026-10-01T19:59:42Z
TongcyBot
83009
養貓
9936325
wikitext
text/x-wiki
{{auto cat}}
eomzlm5v4j7ond1phrju7cnue91g5qx
Category:科莫多語詞組
14
3541375
9936326
2026-10-01T19:59:49Z
TongcyBot
83009
養貓
9936326
wikitext
text/x-wiki
{{auto cat}}
eomzlm5v4j7ond1phrju7cnue91g5qx
Category:維拉莫維安語詞組
14
3541376
9936327
2026-10-01T19:59:55Z
TongcyBot
83009
養貓
9936327
wikitext
text/x-wiki
{{auto cat}}
eomzlm5v4j7ond1phrju7cnue91g5qx
Category:蘇戈喬薩波特克語詞組
14
3541377
9936328
2026-10-01T20:00:00Z
TongcyBot
83009
養貓
9936328
wikitext
text/x-wiki
{{auto cat}}
eomzlm5v4j7ond1phrju7cnue91g5qx
Category:俾路支語詞組
14
3541378
9936329
2026-10-01T20:00:12Z
TongcyBot
83009
養貓
9936329
wikitext
text/x-wiki
{{auto cat}}
eomzlm5v4j7ond1phrju7cnue91g5qx
Category:閩北語詞組
14
3541379
9936330
2026-10-01T20:00:18Z
TongcyBot
83009
養貓
9936330
wikitext
text/x-wiki
{{auto cat}}
eomzlm5v4j7ond1phrju7cnue91g5qx
Category:北部土家語詞組
14
3541380
9936331
2026-10-01T20:00:24Z
TongcyBot
83009
養貓
9936331
wikitext
text/x-wiki
{{auto cat}}
eomzlm5v4j7ond1phrju7cnue91g5qx
Category:原始日語詞組
14
3541381
9936332
2026-10-01T20:00:31Z
TongcyBot
83009
養貓
9936332
wikitext
text/x-wiki
{{auto cat}}
eomzlm5v4j7ond1phrju7cnue91g5qx
Category:古葡萄牙語詞組
14
3541382
9936333
2026-10-01T20:00:37Z
TongcyBot
83009
養貓
9936333
wikitext
text/x-wiki
{{auto cat}}
eomzlm5v4j7ond1phrju7cnue91g5qx
Category:奇危特蘭馬薩特克語詞組
14
3541383
9936334
2026-10-01T20:00:43Z
TongcyBot
83009
養貓
9936334
wikitext
text/x-wiki
{{auto cat}}
eomzlm5v4j7ond1phrju7cnue91g5qx
Category:彭林語詞組
14
3541384
9936335
2026-10-01T20:00:49Z
TongcyBot
83009
養貓
9936335
wikitext
text/x-wiki
{{auto cat}}
eomzlm5v4j7ond1phrju7cnue91g5qx
Category:挪威語詞組
14
3541385
9936336
2026-10-01T20:00:55Z
TongcyBot
83009
養貓
9936336
wikitext
text/x-wiki
{{auto cat}}
eomzlm5v4j7ond1phrju7cnue91g5qx
Category:比什奴普萊利亞-曼尼普爾語詞組
14
3541386
9936337
2026-10-01T20:01:00Z
TongcyBot
83009
養貓
9936337
wikitext
text/x-wiki
{{auto cat}}
eomzlm5v4j7ond1phrju7cnue91g5qx
Category:猶太-塔特語詞組
14
3541387
9936338
2026-10-01T20:01:08Z
TongcyBot
83009
養貓
9936338
wikitext
text/x-wiki
{{auto cat}}
eomzlm5v4j7ond1phrju7cnue91g5qx
Category:科西嘉語詞組
14
3541388
9936339
2026-10-01T20:01:14Z
TongcyBot
83009
養貓
9936339
wikitext
text/x-wiki
{{auto cat}}
eomzlm5v4j7ond1phrju7cnue91g5qx
Category:維普斯語詞組
14
3541389
9936340
2026-10-01T20:01:21Z
TongcyBot
83009
養貓
9936340
wikitext
text/x-wiki
{{auto cat}}
eomzlm5v4j7ond1phrju7cnue91g5qx
Category:路易斯安那克里奧爾法語詞組
14
3541390
9936341
2026-10-01T20:01:27Z
TongcyBot
83009
養貓
9936341
wikitext
text/x-wiki
{{auto cat}}
eomzlm5v4j7ond1phrju7cnue91g5qx
Category:阿伊努語詞組
14
3541391
9936342
2026-10-01T20:01:34Z
TongcyBot
83009
養貓
9936342
wikitext
text/x-wiki
{{auto cat}}
eomzlm5v4j7ond1phrju7cnue91g5qx
Category:原始泰雅語詞組
14
3541392
9936343
2026-10-01T20:01:40Z
TongcyBot
83009
養貓
9936343
wikitext
text/x-wiki
{{auto cat}}
eomzlm5v4j7ond1phrju7cnue91g5qx
Category:巴厘語詞組
14
3541393
9936344
2026-10-01T20:01:58Z
TongcyBot
83009
養貓
9936344
wikitext
text/x-wiki
{{auto cat}}
eomzlm5v4j7ond1phrju7cnue91g5qx
Category:德頓語詞組
14
3541394
9936345
2026-10-01T20:02:04Z
TongcyBot
83009
養貓
9936345
wikitext
text/x-wiki
{{auto cat}}
eomzlm5v4j7ond1phrju7cnue91g5qx
Category:獨龍語詞組
14
3541395
9936346
2026-10-01T20:02:10Z
TongcyBot
83009
養貓
9936346
wikitext
text/x-wiki
{{auto cat}}
eomzlm5v4j7ond1phrju7cnue91g5qx
Category:立窩尼亞語詞組
14
3541396
9936347
2026-10-01T20:02:17Z
TongcyBot
83009
養貓
9936347
wikitext
text/x-wiki
{{auto cat}}
eomzlm5v4j7ond1phrju7cnue91g5qx
Category:緬甸語詞組
14
3541397
9936348
2026-10-01T20:02:23Z
TongcyBot
83009
養貓
9936348
wikitext
text/x-wiki
{{auto cat}}
eomzlm5v4j7ond1phrju7cnue91g5qx
Category:中部山地米沃克語詞組
14
3541398
9936349
2026-10-01T20:02:29Z
TongcyBot
83009
養貓
9936349
wikitext
text/x-wiki
{{auto cat}}
eomzlm5v4j7ond1phrju7cnue91g5qx
Category:阿克蘭語詞組
14
3541399
9936350
2026-10-01T20:02:36Z
TongcyBot
83009
養貓
9936350
wikitext
text/x-wiki
{{auto cat}}
eomzlm5v4j7ond1phrju7cnue91g5qx
Category:南庫爾德語詞組
14
3541400
9936351
2026-10-01T20:02:41Z
TongcyBot
83009
養貓
9936351
wikitext
text/x-wiki
{{auto cat}}
eomzlm5v4j7ond1phrju7cnue91g5qx
Category:原始米斯特克語詞組
14
3541401
9936352
2026-10-01T20:02:47Z
TongcyBot
83009
養貓
9936352
wikitext
text/x-wiki
{{auto cat}}
eomzlm5v4j7ond1phrju7cnue91g5qx
Category:撒丁語詞組
14
3541402
9936353
2026-10-01T20:02:52Z
TongcyBot
83009
養貓
9936353
wikitext
text/x-wiki
{{auto cat}}
eomzlm5v4j7ond1phrju7cnue91g5qx
Category:泰梅爾皮欽俄語詞組
14
3541403
9936354
2026-10-01T20:02:59Z
TongcyBot
83009
養貓
9936354
wikitext
text/x-wiki
{{auto cat}}
eomzlm5v4j7ond1phrju7cnue91g5qx
Category:互助土族語詞組
14
3541404
9936355
2026-10-01T20:03:04Z
TongcyBot
83009
養貓
9936355
wikitext
text/x-wiki
{{auto cat}}
eomzlm5v4j7ond1phrju7cnue91g5qx
Category:克什米爾語詞組
14
3541405
9936356
2026-10-01T20:03:10Z
TongcyBot
83009
養貓
9936356
wikitext
text/x-wiki
{{auto cat}}
eomzlm5v4j7ond1phrju7cnue91g5qx
Category:阿勒曼尼語詞組
14
3541406
9936357
2026-10-01T20:03:16Z
TongcyBot
83009
養貓
9936357
wikitext
text/x-wiki
{{auto cat}}
eomzlm5v4j7ond1phrju7cnue91g5qx
Category:原始西日耳曼語詞組
14
3541407
9936358
2026-10-01T20:03:22Z
TongcyBot
83009
養貓
9936358
wikitext
text/x-wiki
{{auto cat}}
eomzlm5v4j7ond1phrju7cnue91g5qx
Category:馬紹爾語詞組
14
3541408
9936359
2026-10-01T20:03:29Z
TongcyBot
83009
養貓
9936359
wikitext
text/x-wiki
{{auto cat}}
eomzlm5v4j7ond1phrju7cnue91g5qx
Category:奧塞梯語詞組
14
3541409
9936360
2026-10-01T20:03:35Z
TongcyBot
83009
養貓
9936360
wikitext
text/x-wiki
{{auto cat}}
eomzlm5v4j7ond1phrju7cnue91g5qx
Category:巴爾恩加爾拉語詞組
14
3541410
9936361
2026-10-01T20:03:42Z
TongcyBot
83009
養貓
9936361
wikitext
text/x-wiki
{{auto cat}}
eomzlm5v4j7ond1phrju7cnue91g5qx
Category:撒奇萊雅語詞組
14
3541411
9936362
2026-10-01T20:03:48Z
TongcyBot
83009
養貓
9936362
wikitext
text/x-wiki
{{auto cat}}
eomzlm5v4j7ond1phrju7cnue91g5qx
Category:望加錫語詞組
14
3541412
9936363
2026-10-01T20:03:54Z
TongcyBot
83009
養貓
9936363
wikitext
text/x-wiki
{{auto cat}}
eomzlm5v4j7ond1phrju7cnue91g5qx
Category:瓦爾皮瑞語詞組
14
3541413
9936364
2026-10-01T20:04:00Z
TongcyBot
83009
養貓
9936364
wikitext
text/x-wiki
{{auto cat}}
eomzlm5v4j7ond1phrju7cnue91g5qx
Category:米佐語詞組
14
3541414
9936365
2026-10-01T20:04:06Z
TongcyBot
83009
養貓
9936365
wikitext
text/x-wiki
{{auto cat}}
eomzlm5v4j7ond1phrju7cnue91g5qx
Category:羅馬涅語詞組
14
3541415
9936366
2026-10-01T20:04:13Z
TongcyBot
83009
養貓
9936366
wikitext
text/x-wiki
{{auto cat}}
eomzlm5v4j7ond1phrju7cnue91g5qx
Category:迪埃里語詞組
14
3541416
9936367
2026-10-01T20:04:19Z
TongcyBot
83009
養貓
9936367
wikitext
text/x-wiki
{{auto cat}}
eomzlm5v4j7ond1phrju7cnue91g5qx
Category:阿卡-貝阿語詞組
14
3541417
9936368
2026-10-01T20:04:25Z
TongcyBot
83009
養貓
9936368
wikitext
text/x-wiki
{{auto cat}}
eomzlm5v4j7ond1phrju7cnue91g5qx
Category:卡姆巴語詞組
14
3541418
9936369
2026-10-01T20:04:34Z
TongcyBot
83009
養貓
9936369
wikitext
text/x-wiki
{{auto cat}}
eomzlm5v4j7ond1phrju7cnue91g5qx
Category:奧農達加語詞組
14
3541419
9936370
2026-10-01T20:04:43Z
TongcyBot
83009
養貓
9936370
wikitext
text/x-wiki
{{auto cat}}
eomzlm5v4j7ond1phrju7cnue91g5qx
Category:巴薩語詞組
14
3541420
9936371
2026-10-01T20:04:49Z
TongcyBot
83009
養貓
9936371
wikitext
text/x-wiki
{{auto cat}}
eomzlm5v4j7ond1phrju7cnue91g5qx
Category:拉丹語詞組
14
3541421
9936372
2026-10-01T20:04:54Z
TongcyBot
83009
養貓
9936372
wikitext
text/x-wiki
{{auto cat}}
eomzlm5v4j7ond1phrju7cnue91g5qx
Category:朱巴阿拉伯語詞組
14
3541422
9936373
2026-10-01T20:05:00Z
TongcyBot
83009
養貓
9936373
wikitext
text/x-wiki
{{auto cat}}
eomzlm5v4j7ond1phrju7cnue91g5qx
Category:瓦陶隆語詞組
14
3541423
9936374
2026-10-01T20:05:06Z
TongcyBot
83009
養貓
9936374
wikitext
text/x-wiki
{{auto cat}}
eomzlm5v4j7ond1phrju7cnue91g5qx
Category:瓦陶隆語詞元
14
3541424
9936375
2026-10-01T20:05:12Z
TongcyBot
83009
養貓
9936375
wikitext
text/x-wiki
{{auto cat}}
eomzlm5v4j7ond1phrju7cnue91g5qx
Category:聖多美語詞組
14
3541425
9936376
2026-10-01T20:05:18Z
TongcyBot
83009
養貓
9936376
wikitext
text/x-wiki
{{auto cat}}
eomzlm5v4j7ond1phrju7cnue91g5qx
Category:西波克倫語詞組
14
3541426
9936377
2026-10-01T20:05:24Z
TongcyBot
83009
養貓
9936377
wikitext
text/x-wiki
{{auto cat}}
eomzlm5v4j7ond1phrju7cnue91g5qx
Category:亞拉姆語詞組
14
3541427
9936378
2026-10-01T20:05:31Z
TongcyBot
83009
養貓
9936378
wikitext
text/x-wiki
{{auto cat}}
eomzlm5v4j7ond1phrju7cnue91g5qx
Category:阿坎語詞組
14
3541428
9936379
2026-10-01T20:05:37Z
TongcyBot
83009
養貓
9936379
wikitext
text/x-wiki
{{auto cat}}
eomzlm5v4j7ond1phrju7cnue91g5qx
Category:卡延語詞組
14
3541429
9936380
2026-10-01T20:05:43Z
TongcyBot
83009
養貓
9936380
wikitext
text/x-wiki
{{auto cat}}
eomzlm5v4j7ond1phrju7cnue91g5qx
Category:陶蘇格語詞組
14
3541430
9936381
2026-10-01T20:05:49Z
TongcyBot
83009
養貓
9936381
wikitext
text/x-wiki
{{auto cat}}
eomzlm5v4j7ond1phrju7cnue91g5qx
Category:馬里烏波爾希臘語詞組
14
3541431
9936382
2026-10-01T20:05:55Z
TongcyBot
83009
養貓
9936382
wikitext
text/x-wiki
{{auto cat}}
eomzlm5v4j7ond1phrju7cnue91g5qx
Category:威拉祖利語詞組
14
3541432
9936383
2026-10-01T20:06:01Z
TongcyBot
83009
養貓
9936383
wikitext
text/x-wiki
{{auto cat}}
eomzlm5v4j7ond1phrju7cnue91g5qx
Category:拉坎敦語詞組
14
3541433
9936384
2026-10-01T20:06:06Z
TongcyBot
83009
養貓
9936384
wikitext
text/x-wiki
{{auto cat}}
eomzlm5v4j7ond1phrju7cnue91g5qx
Category:斐濟印地語詞組
14
3541434
9936385
2026-10-01T20:06:12Z
TongcyBot
83009
養貓
9936385
wikitext
text/x-wiki
{{auto cat}}
eomzlm5v4j7ond1phrju7cnue91g5qx
Category:通布卡語詞組
14
3541435
9936386
2026-10-01T20:06:18Z
TongcyBot
83009
養貓
9936386
wikitext
text/x-wiki
{{auto cat}}
eomzlm5v4j7ond1phrju7cnue91g5qx
Category:加告茲語詞組
14
3541436
9936387
2026-10-01T20:06:23Z
TongcyBot
83009
養貓
9936387
wikitext
text/x-wiki
{{auto cat}}
eomzlm5v4j7ond1phrju7cnue91g5qx
Category:卡拉什語詞組
14
3541437
9936388
2026-10-01T20:06:29Z
TongcyBot
83009
養貓
9936388
wikitext
text/x-wiki
{{auto cat}}
eomzlm5v4j7ond1phrju7cnue91g5qx
Category:雅卡爾泰克語詞組
14
3541438
9936389
2026-10-01T20:06:35Z
TongcyBot
83009
養貓
9936389
wikitext
text/x-wiki
{{auto cat}}
eomzlm5v4j7ond1phrju7cnue91g5qx
Category:巽他語詞組
14
3541439
9936390
2026-10-01T20:06:41Z
TongcyBot
83009
養貓
9936390
wikitext
text/x-wiki
{{auto cat}}
eomzlm5v4j7ond1phrju7cnue91g5qx
Category:東波克倫語詞組
14
3541440
9936391
2026-10-01T20:06:47Z
TongcyBot
83009
養貓
9936391
wikitext
text/x-wiki
{{auto cat}}
eomzlm5v4j7ond1phrju7cnue91g5qx
Category:浪速語詞組
14
3541441
9936392
2026-10-01T20:06:52Z
TongcyBot
83009
養貓
9936392
wikitext
text/x-wiki
{{auto cat}}
eomzlm5v4j7ond1phrju7cnue91g5qx
Category:約拉語詞組
14
3541442
9936393
2026-10-01T20:06:58Z
TongcyBot
83009
養貓
9936393
wikitext
text/x-wiki
{{auto cat}}
eomzlm5v4j7ond1phrju7cnue91g5qx
Category:西部高地查蒂諾語詞組
14
3541443
9936394
2026-10-01T20:07:04Z
TongcyBot
83009
養貓
9936394
wikitext
text/x-wiki
{{auto cat}}
eomzlm5v4j7ond1phrju7cnue91g5qx
Category:達凱爾語詞組
14
3541444
9936395
2026-10-01T20:07:10Z
TongcyBot
83009
養貓
9936395
wikitext
text/x-wiki
{{auto cat}}
eomzlm5v4j7ond1phrju7cnue91g5qx
Category:卡爾梅克衛拉特語詞組
14
3541445
9936396
2026-10-01T20:07:16Z
TongcyBot
83009
養貓
9936396
wikitext
text/x-wiki
{{auto cat}}
eomzlm5v4j7ond1phrju7cnue91g5qx
Category:土語詞組
14
3541446
9936397
2026-10-01T20:07:22Z
TongcyBot
83009
養貓
9936397
wikitext
text/x-wiki
{{auto cat}}
eomzlm5v4j7ond1phrju7cnue91g5qx
Category:安汶馬來語詞組
14
3541447
9936398
2026-10-01T20:07:28Z
TongcyBot
83009
養貓
9936398
wikitext
text/x-wiki
{{auto cat}}
eomzlm5v4j7ond1phrju7cnue91g5qx
Category:布依語詞組
14
3541448
9936399
2026-10-01T20:07:34Z
TongcyBot
83009
養貓
9936399
wikitext
text/x-wiki
{{auto cat}}
eomzlm5v4j7ond1phrju7cnue91g5qx
Category:皮埃蒙特語詞組
14
3541449
9936400
2026-10-01T20:07:39Z
TongcyBot
83009
養貓
9936400
wikitext
text/x-wiki
{{auto cat}}
eomzlm5v4j7ond1phrju7cnue91g5qx
Category:約松杜亞米斯特克語詞組
14
3541450
9936401
2026-10-01T20:07:45Z
TongcyBot
83009
養貓
9936401
wikitext
text/x-wiki
{{auto cat}}
eomzlm5v4j7ond1phrju7cnue91g5qx
Category:茲梁科米語詞組
14
3541451
9936402
2026-10-01T20:07:51Z
TongcyBot
83009
養貓
9936402
wikitext
text/x-wiki
{{auto cat}}
eomzlm5v4j7ond1phrju7cnue91g5qx
Category:代里巴塔克語詞組
14
3541452
9936403
2026-10-01T20:07:57Z
TongcyBot
83009
養貓
9936403
wikitext
text/x-wiki
{{auto cat}}
eomzlm5v4j7ond1phrju7cnue91g5qx
Category:阿巴扎語詞組
14
3541453
9936404
2026-10-01T20:08:03Z
TongcyBot
83009
養貓
9936404
wikitext
text/x-wiki
{{auto cat}}
eomzlm5v4j7ond1phrju7cnue91g5qx
Category:雷州話詞組
14
3541454
9936405
2026-10-01T20:08:08Z
TongcyBot
83009
養貓
9936405
wikitext
text/x-wiki
{{auto cat}}
eomzlm5v4j7ond1phrju7cnue91g5qx
Category:齊切瓦語詞組
14
3541455
9936406
2026-10-01T20:08:15Z
TongcyBot
83009
養貓
9936406
wikitext
text/x-wiki
{{auto cat}}
eomzlm5v4j7ond1phrju7cnue91g5qx
Category:地峽薩波特克語詞組
14
3541456
9936407
2026-10-01T20:08:20Z
TongcyBot
83009
養貓
9936407
wikitext
text/x-wiki
{{auto cat}}
eomzlm5v4j7ond1phrju7cnue91g5qx
Category:拉科塔語詞組
14
3541457
9936408
2026-10-01T20:08:27Z
TongcyBot
83009
養貓
9936408
wikitext
text/x-wiki
{{auto cat}}
eomzlm5v4j7ond1phrju7cnue91g5qx
Category:林堡語詞組
14
3541458
9936409
2026-10-01T20:08:32Z
TongcyBot
83009
養貓
9936409
wikitext
text/x-wiki
{{auto cat}}
eomzlm5v4j7ond1phrju7cnue91g5qx
Category:伊洛卡諾語詞組
14
3541459
9936410
2026-10-01T20:08:38Z
TongcyBot
83009
養貓
9936410
wikitext
text/x-wiki
{{auto cat}}
eomzlm5v4j7ond1phrju7cnue91g5qx
Category:加羅語詞組
14
3541460
9936411
2026-10-01T20:08:43Z
TongcyBot
83009
養貓
9936411
wikitext
text/x-wiki
{{auto cat}}
eomzlm5v4j7ond1phrju7cnue91g5qx
Category:需修正desctree的古諾爾斯語派生語彙
14
3541461
9936412
2026-10-01T20:08:50Z
TongcyBot
83009
養貓
9936412
wikitext
text/x-wiki
{{auto cat}}
eomzlm5v4j7ond1phrju7cnue91g5qx
Category:需修正desctree的鄂圖曼土耳其語派生語彙
14
3541462
9936413
2026-10-01T20:08:56Z
TongcyBot
83009
養貓
9936413
wikitext
text/x-wiki
{{auto cat}}
eomzlm5v4j7ond1phrju7cnue91g5qx
Category:需修正desctree的法語派生語彙
14
3541463
9936414
2026-10-01T20:09:01Z
TongcyBot
83009
養貓
9936414
wikitext
text/x-wiki
{{auto cat}}
eomzlm5v4j7ond1phrju7cnue91g5qx
Category:需修正desctree的西班牙語派生語彙
14
3541464
9936415
2026-10-01T20:09:05Z
TongcyBot
83009
養貓
9936415
wikitext
text/x-wiki
{{auto cat}}
eomzlm5v4j7ond1phrju7cnue91g5qx
Category:需修正desctree的中古英語派生語彙
14
3541465
9936416
2026-10-01T20:09:10Z
TongcyBot
83009
養貓
9936416
wikitext
text/x-wiki
{{auto cat}}
eomzlm5v4j7ond1phrju7cnue91g5qx
Category:需修正desctree的波斯語派生語彙
14
3541466
9936417
2026-10-01T20:09:17Z
TongcyBot
83009
養貓
9936417
wikitext
text/x-wiki
{{auto cat}}
eomzlm5v4j7ond1phrju7cnue91g5qx
Category:需修正desctree的中古法語派生語彙
14
3541467
9936418
2026-10-01T20:09:23Z
TongcyBot
83009
養貓
9936418
wikitext
text/x-wiki
{{auto cat}}
eomzlm5v4j7ond1phrju7cnue91g5qx
Category:需修正desctree的阿拉伯語派生語彙
14
3541468
9936419
2026-10-01T20:09:29Z
TongcyBot
83009
養貓
9936419
wikitext
text/x-wiki
{{auto cat}}
eomzlm5v4j7ond1phrju7cnue91g5qx
Category:需修正desctree的馬來語派生語彙
14
3541469
9936420
2026-10-01T20:09:34Z
TongcyBot
83009
養貓
9936420
wikitext
text/x-wiki
{{auto cat}}
eomzlm5v4j7ond1phrju7cnue91g5qx
Category:需修正desctree的意大利語派生語彙
14
3541470
9936421
2026-10-01T20:09:39Z
TongcyBot
83009
養貓
9936421
wikitext
text/x-wiki
{{auto cat}}
eomzlm5v4j7ond1phrju7cnue91g5qx
Category:需修正desctree的日語派生語彙
14
3541471
9936422
2026-10-01T20:09:44Z
TongcyBot
83009
養貓
9936422
wikitext
text/x-wiki
{{auto cat}}
eomzlm5v4j7ond1phrju7cnue91g5qx
Category:需修正desctree的葡萄牙語派生語彙
14
3541472
9936423
2026-10-01T20:09:49Z
TongcyBot
83009
養貓
9936423
wikitext
text/x-wiki
{{auto cat}}
eomzlm5v4j7ond1phrju7cnue91g5qx
Category:需修正desctree的斯瓦希里語派生語彙
14
3541473
9936424
2026-10-01T20:09:54Z
TongcyBot
83009
養貓
9936424
wikitext
text/x-wiki
{{auto cat}}
eomzlm5v4j7ond1phrju7cnue91g5qx
Category:需修正desctree的荷蘭語派生語彙
14
3541474
9936425
2026-10-01T20:09:59Z
TongcyBot
83009
養貓
9936425
wikitext
text/x-wiki
{{auto cat}}
eomzlm5v4j7ond1phrju7cnue91g5qx
Category:需修正desctree的古東斯拉夫語派生語彙
14
3541475
9936426
2026-10-01T20:10:04Z
TongcyBot
83009
養貓
9936426
wikitext
text/x-wiki
{{auto cat}}
eomzlm5v4j7ond1phrju7cnue91g5qx
Category:需修正desctree的印地語派生語彙
14
3541476
9936427
2026-10-01T20:10:08Z
TongcyBot
83009
養貓
9936427
wikitext
text/x-wiki
{{auto cat}}
eomzlm5v4j7ond1phrju7cnue91g5qx
Category:需修正desctree的烏克蘭語派生語彙
14
3541477
9936428
2026-10-01T20:10:14Z
TongcyBot
83009
養貓
9936428
wikitext
text/x-wiki
{{auto cat}}
eomzlm5v4j7ond1phrju7cnue91g5qx
Category:需修正desctree的白俄羅斯語派生語彙
14
3541478
9936429
2026-10-01T20:10:19Z
TongcyBot
83009
養貓
9936429
wikitext
text/x-wiki
{{auto cat}}
eomzlm5v4j7ond1phrju7cnue91g5qx
Category:需修正desctree的芬蘭語派生語彙
14
3541479
9936430
2026-10-01T20:10:25Z
TongcyBot
83009
養貓
9936430
wikitext
text/x-wiki
{{auto cat}}
eomzlm5v4j7ond1phrju7cnue91g5qx
Category:需修正desctree的古盧森尼亞語派生語彙
14
3541480
9936431
2026-10-01T20:10:29Z
TongcyBot
83009
養貓
9936431
wikitext
text/x-wiki
{{auto cat}}
eomzlm5v4j7ond1phrju7cnue91g5qx
Category:需修正desctree的巴利語派生語彙
14
3541481
9936432
2026-10-01T20:10:34Z
TongcyBot
83009
養貓
9936432
wikitext
text/x-wiki
{{auto cat}}
eomzlm5v4j7ond1phrju7cnue91g5qx
Category:需修正desctree的德語派生語彙
14
3541482
9936433
2026-10-01T20:10:40Z
TongcyBot
83009
養貓
9936433
wikitext
text/x-wiki
{{auto cat}}
eomzlm5v4j7ond1phrju7cnue91g5qx
Category:需修正desctree的爪哇語派生語彙
14
3541483
9936434
2026-10-01T20:10:45Z
TongcyBot
83009
養貓
9936434
wikitext
text/x-wiki
{{auto cat}}
eomzlm5v4j7ond1phrju7cnue91g5qx
Category:需修正desctree的古安納托利亞土耳其語派生語彙
14
3541484
9936435
2026-10-01T20:10:50Z
TongcyBot
83009
養貓
9936435
wikitext
text/x-wiki
{{auto cat}}
eomzlm5v4j7ond1phrju7cnue91g5qx
Category:需修正desctree的古希臘語派生語彙
14
3541485
9936436
2026-10-01T20:10:55Z
TongcyBot
83009
養貓
9936436
wikitext
text/x-wiki
{{auto cat}}
eomzlm5v4j7ond1phrju7cnue91g5qx
Category:需修正desctree的拉丁語派生語彙
14
3541486
9936437
2026-10-01T20:11:07Z
TongcyBot
83009
養貓
9936437
wikitext
text/x-wiki
{{auto cat}}
eomzlm5v4j7ond1phrju7cnue91g5qx
Category:需修正desctree的腓尼基語派生語彙
14
3541487
9936438
2026-10-01T20:11:14Z
TongcyBot
83009
養貓
9936438
wikitext
text/x-wiki
{{auto cat}}
eomzlm5v4j7ond1phrju7cnue91g5qx
Category:需修正desctree的古弗里斯蘭語派生語彙
14
3541488
9936439
2026-10-01T20:11:19Z
TongcyBot
83009
養貓
9936439
wikitext
text/x-wiki
{{auto cat}}
eomzlm5v4j7ond1phrju7cnue91g5qx
Category:需修正desctree的捷克語派生語彙
14
3541489
9936440
2026-10-01T20:11:23Z
TongcyBot
83009
養貓
9936440
wikitext
text/x-wiki
{{auto cat}}
eomzlm5v4j7ond1phrju7cnue91g5qx
Category:需修正desctree的上古日語派生語彙
14
3541490
9936441
2026-10-01T20:11:29Z
TongcyBot
83009
養貓
9936441
wikitext
text/x-wiki
{{auto cat}}
eomzlm5v4j7ond1phrju7cnue91g5qx
Category:需修正desctree的古愛爾蘭語派生語彙
14
3541491
9936442
2026-10-01T20:11:34Z
TongcyBot
83009
養貓
9936442
wikitext
text/x-wiki
{{auto cat}}
eomzlm5v4j7ond1phrju7cnue91g5qx
Category:需修正desctree的世界語派生語彙
14
3541492
9936443
2026-10-01T20:11:39Z
TongcyBot
83009
養貓
9936443
wikitext
text/x-wiki
{{auto cat}}
eomzlm5v4j7ond1phrju7cnue91g5qx
Category:需修正desctree的中世紀西班牙語派生語彙
14
3541493
9936444
2026-10-01T20:11:45Z
TongcyBot
83009
養貓
9936444
wikitext
text/x-wiki
{{auto cat}}
eomzlm5v4j7ond1phrju7cnue91g5qx
Category:需修正desctree的古法語派生語彙
14
3541494
9936445
2026-10-01T20:11:50Z
TongcyBot
83009
養貓
9936445
wikitext
text/x-wiki
{{auto cat}}
eomzlm5v4j7ond1phrju7cnue91g5qx
Category:需修正desctree的明格列爾語派生語彙
14
3541495
9936446
2026-10-01T20:11:56Z
TongcyBot
83009
養貓
9936446
wikitext
text/x-wiki
{{auto cat}}
eomzlm5v4j7ond1phrju7cnue91g5qx
Category:需修正desctree的中古愛爾蘭語派生語彙
14
3541496
9936447
2026-10-01T20:12:04Z
TongcyBot
83009
養貓
9936447
wikitext
text/x-wiki
{{auto cat}}
eomzlm5v4j7ond1phrju7cnue91g5qx
Category:需修正desctree的格魯吉亞語派生語彙
14
3541497
9936448
2026-10-01T20:12:09Z
TongcyBot
83009
養貓
9936448
wikitext
text/x-wiki
{{auto cat}}
eomzlm5v4j7ond1phrju7cnue91g5qx
Category:需修正desctree的西西里語派生語彙
14
3541498
9936449
2026-10-01T20:12:14Z
TongcyBot
83009
養貓
9936449
wikitext
text/x-wiki
{{auto cat}}
eomzlm5v4j7ond1phrju7cnue91g5qx
Category:需修正desctree的古英語派生語彙
14
3541499
9936450
2026-10-01T20:12:20Z
TongcyBot
83009
養貓
9936450
wikitext
text/x-wiki
{{auto cat}}
eomzlm5v4j7ond1phrju7cnue91g5qx
Category:需修正desctree的阿姆哈拉語派生語彙
14
3541500
9936451
2026-10-01T20:12:26Z
TongcyBot
83009
養貓
9936451
wikitext
text/x-wiki
{{auto cat}}
eomzlm5v4j7ond1phrju7cnue91g5qx
Category:需修正desctree的丹麥語派生語彙
14
3541501
9936452
2026-10-01T20:12:31Z
TongcyBot
83009
養貓
9936452
wikitext
text/x-wiki
{{auto cat}}
eomzlm5v4j7ond1phrju7cnue91g5qx
Category:需修正desctree的古高地德語派生語彙
14
3541502
9936453
2026-10-01T20:12:35Z
TongcyBot
83009
養貓
9936453
wikitext
text/x-wiki
{{auto cat}}
eomzlm5v4j7ond1phrju7cnue91g5qx
Category:需修正desctree的波蘭語派生語彙
14
3541503
9936454
2026-10-01T20:12:40Z
TongcyBot
83009
養貓
9936454
wikitext
text/x-wiki
{{auto cat}}
eomzlm5v4j7ond1phrju7cnue91g5qx
Category:需修正desctree的阿爾巴尼亞語派生語彙
14
3541504
9936455
2026-10-01T20:12:46Z
TongcyBot
83009
養貓
9936455
wikitext
text/x-wiki
{{auto cat}}
eomzlm5v4j7ond1phrju7cnue91g5qx
Category:需修正desctree的他加祿語派生語彙
14
3541505
9936456
2026-10-01T20:12:51Z
TongcyBot
83009
養貓
9936456
wikitext
text/x-wiki
{{auto cat}}
eomzlm5v4j7ond1phrju7cnue91g5qx
Category:需修正desctree的吉伯特語派生語彙
14
3541506
9936457
2026-10-01T20:12:56Z
TongcyBot
83009
養貓
9936457
wikitext
text/x-wiki
{{auto cat}}
eomzlm5v4j7ond1phrju7cnue91g5qx
Category:需修正desctree的泰米爾語派生語彙
14
3541507
9936458
2026-10-01T20:13:02Z
TongcyBot
83009
養貓
9936458
wikitext
text/x-wiki
{{auto cat}}
eomzlm5v4j7ond1phrju7cnue91g5qx
Category:需修正desctree的伊多語派生語彙
14
3541508
9936459
2026-10-01T20:13:07Z
TongcyBot
83009
養貓
9936459
wikitext
text/x-wiki
{{auto cat}}
eomzlm5v4j7ond1phrju7cnue91g5qx
Category:需修正desctree的哈薩克語派生語彙
14
3541509
9936460
2026-10-01T20:13:11Z
TongcyBot
83009
養貓
9936460
wikitext
text/x-wiki
{{auto cat}}
eomzlm5v4j7ond1phrju7cnue91g5qx
Category:需修正desctree的海地克里奧爾語派生語彙
14
3541510
9936461
2026-10-01T20:13:16Z
TongcyBot
83009
養貓
9936461
wikitext
text/x-wiki
{{auto cat}}
eomzlm5v4j7ond1phrju7cnue91g5qx
Category:需修正desctree的南非語派生語彙
14
3541511
9936462
2026-10-01T20:13:21Z
TongcyBot
83009
養貓
9936462
wikitext
text/x-wiki
{{auto cat}}
eomzlm5v4j7ond1phrju7cnue91g5qx
Category:需修正desctree的土耳其語派生語彙
14
3541512
9936463
2026-10-01T20:13:31Z
TongcyBot
83009
養貓
9936463
wikitext
text/x-wiki
{{auto cat}}
eomzlm5v4j7ond1phrju7cnue91g5qx
Category:需修正desctree的漢語派生語彙
14
3541513
9936464
2026-10-01T20:13:37Z
TongcyBot
83009
養貓
9936464
wikitext
text/x-wiki
{{auto cat}}
eomzlm5v4j7ond1phrju7cnue91g5qx
Category:需修正desctree的察合臺語派生語彙
14
3541514
9936465
2026-10-01T20:13:42Z
TongcyBot
83009
養貓
9936465
wikitext
text/x-wiki
{{auto cat}}
eomzlm5v4j7ond1phrju7cnue91g5qx
Category:需修正desctree的印尼語派生語彙
14
3541515
9936466
2026-10-01T20:13:47Z
TongcyBot
83009
養貓
9936466
wikitext
text/x-wiki
{{auto cat}}
eomzlm5v4j7ond1phrju7cnue91g5qx
Category:需修正desctree的烏爾都語派生語彙
14
3541516
9936467
2026-10-01T20:13:52Z
TongcyBot
83009
養貓
9936467
wikitext
text/x-wiki
{{auto cat}}
eomzlm5v4j7ond1phrju7cnue91g5qx
Category:需修正desctree的原始西日耳曼語派生語彙
14
3541517
9936468
2026-10-01T20:14:00Z
TongcyBot
83009
養貓
9936468
wikitext
text/x-wiki
{{auto cat}}
eomzlm5v4j7ond1phrju7cnue91g5qx
Category:不規則數詞
14
3541518
9936501
2026-10-01T21:59:51Z
TongcyBot
83009
養貓
9936501
wikitext
text/x-wiki
{{auto cat}}
eomzlm5v4j7ond1phrju7cnue91g5qx
Category:以-ье結尾的俄語名詞
14
3541519
9936502
2026-10-01T21:59:54Z
TongcyBot
83009
養貓
9936502
wikitext
text/x-wiki
{{auto cat}}
eomzlm5v4j7ond1phrju7cnue91g5qx
Category:以-ья結尾的俄語名詞
14
3541520
9936503
2026-10-01T21:59:58Z
TongcyBot
83009
養貓
9936503
wikitext
text/x-wiki
{{auto cat}}
eomzlm5v4j7ond1phrju7cnue91g5qx
Category:以-ьё結尾的俄語名詞
14
3541521
9936504
2026-10-01T22:00:01Z
TongcyBot
83009
養貓
9936504
wikitext
text/x-wiki
{{auto cat}}
eomzlm5v4j7ond1phrju7cnue91g5qx
Category:以-ё結尾的俄語名詞
14
3541522
9936505
2026-10-01T22:00:04Z
TongcyBot
83009
養貓
9936505
wikitext
text/x-wiki
{{auto cat}}
eomzlm5v4j7ond1phrju7cnue91g5qx
Category:以帶重音的-е結尾的俄語名詞
14
3541523
9936506
2026-10-01T22:00:07Z
TongcyBot
83009
養貓
9936506
wikitext
text/x-wiki
{{auto cat}}
eomzlm5v4j7ond1phrju7cnue91g5qx
Category:依單數詞尾分類的俄語名詞
14
3541524
9936507
2026-10-01T22:00:10Z
TongcyBot
83009
養貓
9936507
wikitext
text/x-wiki
{{auto cat}}
eomzlm5v4j7ond1phrju7cnue91g5qx
Category:俄語元音詞幹中性重音型b名詞
14
3541525
9936508
2026-10-01T22:00:13Z
TongcyBot
83009
養貓
9936508
wikitext
text/x-wiki
{{auto cat}}
eomzlm5v4j7ond1phrju7cnue91g5qx
Category:俄語元音詞幹中性重音型d名詞
14
3541526
9936509
2026-10-01T22:00:17Z
TongcyBot
83009
養貓
9936509
wikitext
text/x-wiki
{{auto cat}}
eomzlm5v4j7ond1phrju7cnue91g5qx
Category:俄語元音詞幹陰性重音型d′名詞
14
3541527
9936510
2026-10-01T22:00:20Z
TongcyBot
83009
養貓
9936510
wikitext
text/x-wiki
{{auto cat}}
eomzlm5v4j7ond1phrju7cnue91g5qx
Category:俄語噝音詞幹中性重音型a形容詞性名詞
14
3541528
9936511
2026-10-01T22:00:23Z
TongcyBot
83009
養貓
9936511
wikitext
text/x-wiki
{{auto cat}}
eomzlm5v4j7ond1phrju7cnue91g5qx
Category:俄語噝音詞幹唯複重音型a形容詞性名詞
14
3541529
9936512
2026-10-01T22:00:26Z
TongcyBot
83009
養貓
9936512
wikitext
text/x-wiki
{{auto cat}}
eomzlm5v4j7ond1phrju7cnue91g5qx
Category:俄語專有所有格陽性重音型a形容詞性名詞
14
3541530
9936513
2026-10-01T22:00:30Z
TongcyBot
83009
養貓
9936513
wikitext
text/x-wiki
{{auto cat}}
eomzlm5v4j7ond1phrju7cnue91g5qx
Category:俄語軟腭音詞幹中性重音型a形容詞性名詞
14
3541531
9936514
2026-10-01T22:00:33Z
TongcyBot
83009
養貓
9936514
wikitext
text/x-wiki
{{auto cat}}
eomzlm5v4j7ond1phrju7cnue91g5qx
Category:俄語軟腭音詞幹詞幹重音姓氏
14
3541532
9936515
2026-10-01T22:00:36Z
TongcyBot
83009
養貓
9936515
wikitext
text/x-wiki
{{auto cat}}
eomzlm5v4j7ond1phrju7cnue91g5qx
Category:俄語軟腭音詞幹陰性重音型a形容詞性名詞
14
3541533
9936516
2026-10-01T22:00:39Z
TongcyBot
83009
養貓
9936516
wikitext
text/x-wiki
{{auto cat}}
eomzlm5v4j7ond1phrju7cnue91g5qx
Category:俄語軟腭音詞幹陰性重音型d′名詞
14
3541534
9936517
2026-10-01T22:00:42Z
TongcyBot
83009
養貓
9936517
wikitext
text/x-wiki
{{auto cat}}
eomzlm5v4j7ond1phrju7cnue91g5qx
Category:俄語軟腭音詞幹陰性重音型f名詞
14
3541535
9936518
2026-10-01T22:00:45Z
TongcyBot
83009
養貓
9936518
wikitext
text/x-wiki
{{auto cat}}
eomzlm5v4j7ond1phrju7cnue91g5qx
Category:俄語軟腭音詞幹陽性重音型e名詞
14
3541536
9936519
2026-10-01T22:00:48Z
TongcyBot
83009
養貓
9936519
wikitext
text/x-wiki
{{auto cat}}
eomzlm5v4j7ond1phrju7cnue91g5qx
Category:俄語軟音詞幹陽性形容詞性名詞
14
3541537
9936520
2026-10-01T22:00:52Z
TongcyBot
83009
養貓
9936520
wikitext
text/x-wiki
{{auto cat}}
eomzlm5v4j7ond1phrju7cnue91g5qx
Category:俄語長尾所有格陰性重音型a形容詞性名詞
14
3541538
9936521
2026-10-01T22:00:55Z
TongcyBot
83009
養貓
9936521
wikitext
text/x-wiki
{{auto cat}}
eomzlm5v4j7ond1phrju7cnue91g5qx
Category:俄語長尾所有格陰性重音型b形容詞性名詞
14
3541539
9936522
2026-10-01T22:00:58Z
TongcyBot
83009
養貓
9936522
wikitext
text/x-wiki
{{auto cat}}
eomzlm5v4j7ond1phrju7cnue91g5qx
Category:簡化詞幹中末尾н軟化的俄語名詞
14
3541540
9936523
2026-10-01T22:01:01Z
TongcyBot
83009
養貓
9936523
wikitext
text/x-wiki
{{auto cat}}
eomzlm5v4j7ond1phrju7cnue91g5qx
ししつ
0
3541541
9936531
2026-10-01T23:00:32Z
Fglffer
55252
新詞條
9936531
wikitext
text/x-wiki
==日語==
{{ja-see-kango|私室|屍室|紙質|脂質|歯質|資質}}
341lo803vmr748db6y8mj2qcra9l02u
歯質
0
3541542
9936532
2026-10-01T23:02:02Z
Fglffer
55252
新詞條
9936532
wikitext
text/x-wiki
==日語==
{{ja-kanjitab|し|しつ|yomi=o}}
===詞源===
來自{{ja-com|歯|し|質|-しつ|t1=牙齒|t2=物質}}。
===發音===
{{ja-pron|ししつ|acc=0|dev=2}}
===名詞===
{{ja-noun|ししつ}}
# {{syn of|ja|象牙質|tr=zōgeshitsu||[[牙本質]]}}
{{C|ja|牙齒}}
2dh24ba0nuk1h5keu9fknaucwdfpk0t
ぐだぐだ
0
3541543
9936540
2026-10-01T23:58:15Z
ArsenalBastion4093
113517
[[w:WP:AES|←]]建立內容為「==日語== {{ja-kanjitab|alt=gdgd:Internet slang}} ===發音=== {{ja-pron|acc=1|acc_ref=DJR}} ===副詞=== {{ja-pos|adverb|ぐだぐだ|グダグダ}} # {{lb|ja|slang}} [[拖延]]地 # {{lb|ja|slang}} [[遲緩]]地 ====衍生詞==== * {{ja-r|ぐだる|グダる}} ===參考資料=== {{reflist}}」的新頁面
9936540
wikitext
text/x-wiki
==日語==
{{ja-kanjitab|alt=gdgd:Internet slang}}
===發音===
{{ja-pron|acc=1|acc_ref=DJR}}
===副詞===
{{ja-pos|adverb|ぐだぐだ|グダグダ}}
# {{lb|ja|slang}} [[拖延]]地
# {{lb|ja|slang}} [[遲緩]]地
====衍生詞====
* {{ja-r|ぐだる|グダる}}
===參考資料===
{{reflist}}
9lisdnrl5wuqa1xwnwx3ibw9rdx189j
9936541
9936540
2026-10-01T23:58:35Z
ArsenalBastion4093
113517
9936541
wikitext
text/x-wiki
==日語==
{{ja-kanjitab|alt=gdgd:網絡用語}}
===發音===
{{ja-pron|acc=1|acc_ref=DJR}}
===副詞===
{{ja-pos|adverb|ぐだぐだ|グダグダ}}
# {{lb|ja|slang}} [[拖延]]地
# {{lb|ja|slang}} [[遲緩]]地
====衍生詞====
* {{ja-r|ぐだる|グダる}}
===參考資料===
{{reflist}}
mihyufvn9d2f81mffk2es3k4g2n11dg
霓虹金
0
3541544
9936544
2026-10-02T00:18:10Z
ArsenalBastion4093
113517
[[w:WP:AES|←]]建立內容為「==漢語== {{zh-forms|gloss=-}} ===詞源=== {{bor+|zh|ja|日本人|tr=nihonjin}}。對比{{cog|en|Russki}}。 ===發音=== {{zh-pron |m=níhóngjīn |cat=n }} ===名詞=== {{head|zh|noun}} # {{lb|zh|slang}} [[日本人]] ====同義詞==== {{syn-saurus|zh|日本人}} {{C|zh|日本}}」的新頁面
9936544
wikitext
text/x-wiki
==漢語==
{{zh-forms|gloss=-}}
===詞源===
{{bor+|zh|ja|日本人|tr=nihonjin}}。對比{{cog|en|Russki}}。
===發音===
{{zh-pron
|m=níhóngjīn
|cat=n
}}
===名詞===
{{head|zh|noun}}
# {{lb|zh|slang}} [[日本人]]
====同義詞====
{{syn-saurus|zh|日本人}}
{{C|zh|日本}}
lvw52gw3f8w5g5iqha897q5lzj1rnru
9936548
9936544
2026-10-02T02:17:00Z
Sayonzei
40728
/* 漢語 */
9936548
wikitext
text/x-wiki
==漢語==
{{zh-forms|type=21}}
===詞源===
{{bor+|zh|ja|日本人|tr=nihonjin}}。對比{{cog|en|Russki}}。
===發音===
{{zh-pron
|m=níhóngjīn
|cat=n
}}
===名詞===
{{head|zh|noun}}
# {{lb|zh|slang}} [[日本人]]
====同義詞====
{{syn-saurus|zh|日本人}}
{{C|zh|日本}}
ly0j9rut62gqzqg387kqxownyh38pn9
shishitsu
0
3541545
9936549
2026-10-02T02:17:31Z
Sayonzei
40728
[[w:WP:AES|←]]建立內容為「==日語== ===羅馬化=== {{ja-romaji}} # {{ja-romanization of|ししつ}}」的新頁面
9936549
wikitext
text/x-wiki
==日語==
===羅馬化===
{{ja-romaji}}
# {{ja-romanization of|ししつ}}
4ae3mz7hkc5100jr2tphi0v59b530x8
krümmend
0
3541546
9936555
2026-10-02T02:30:19Z
Sayonzei
40728
[[w:WP:AES|←]]建立內容為「==德語== ===發音=== * {{IPA|de|/ˈkʁʏmənt/}} * {{audio|de|De-krümmend.ogg|a=柏林}} ===分詞=== {{head|de|現在分詞}} # {{present participle of|de|krümmen}} ====變格==== {{de-adecl}}」的新頁面
9936555
wikitext
text/x-wiki
==德語==
===發音===
* {{IPA|de|/ˈkʁʏmənt/}}
* {{audio|de|De-krümmend.ogg|a=柏林}}
===分詞===
{{head|de|現在分詞}}
# {{present participle of|de|krümmen}}
====變格====
{{de-adecl}}
fba9nz07v1khf6997idnqn0k8a0hfga
gekrümmter
0
3541547
9936556
2026-10-02T02:30:30Z
Sayonzei
40728
[[w:WP:AES|←]]建立內容為「==德語== ===發音=== * {{IPA|de|/ɡəˈkʁʏmtɐ/}} * {{audio|de|De-gekrümmter.ogg|a=柏林}} ===形容詞=== {{head|de|形容詞變格形}} # {{de-adj form of|gekrümmt}}」的新頁面
9936556
wikitext
text/x-wiki
==德語==
===發音===
* {{IPA|de|/ɡəˈkʁʏmtɐ/}}
* {{audio|de|De-gekrümmter.ogg|a=柏林}}
===形容詞===
{{head|de|形容詞變格形}}
# {{de-adj form of|gekrümmt}}
n7glbljj2qlqwil427c21x5j4oyimlm
gekrümmten
0
3541548
9936557
2026-10-02T02:30:31Z
Sayonzei
40728
[[w:WP:AES|←]]建立內容為「==德語== ===發音=== * {{IPA|de|/ɡəˈkʁʏmtn̩/}} * {{audio|de|De-gekrümmten.ogg|a=柏林}} ===形容詞=== {{head|de|形容詞變格形}} # {{de-adj form of|gekrümmt}}」的新頁面
9936557
wikitext
text/x-wiki
==德語==
===發音===
* {{IPA|de|/ɡəˈkʁʏmtn̩/}}
* {{audio|de|De-gekrümmten.ogg|a=柏林}}
===形容詞===
{{head|de|形容詞變格形}}
# {{de-adj form of|gekrümmt}}
hlmmouynoppextty3nujthmqilu74eq
gekrümmtem
0
3541549
9936558
2026-10-02T02:30:33Z
Sayonzei
40728
[[w:WP:AES|←]]建立內容為「==德語== ===發音=== * {{IPA|de|/ɡəˈkʁʏmtəm/}} * {{audio|de|De-gekrümmtem.ogg|a=柏林}} ===形容詞=== {{head|de|形容詞變格形}} # {{de-adj form of|gekrümmt}}」的新頁面
9936558
wikitext
text/x-wiki
==德語==
===發音===
* {{IPA|de|/ɡəˈkʁʏmtəm/}}
* {{audio|de|De-gekrümmtem.ogg|a=柏林}}
===形容詞===
{{head|de|形容詞變格形}}
# {{de-adj form of|gekrümmt}}
7o8js3pjwlgx8okrp13fhxu4c6zsahg
gekrümmte
0
3541550
9936559
2026-10-02T02:30:35Z
Sayonzei
40728
[[w:WP:AES|←]]建立內容為「==德語== ===發音=== * {{IPA|de|/ɡəˈkʁʏmtə/}} * {{audio|de|De-gekrümmte.ogg|a=柏林}} ===形容詞=== {{head|de|形容詞變格形}} # {{de-adj form of|gekrümmt}}」的新頁面
9936559
wikitext
text/x-wiki
==德語==
===發音===
* {{IPA|de|/ɡəˈkʁʏmtə/}}
* {{audio|de|De-gekrümmte.ogg|a=柏林}}
===形容詞===
{{head|de|形容詞變格形}}
# {{de-adj form of|gekrümmt}}
7taa17l15lfyjokjy7n9pdg97qc1v0c
gekrümmtes
0
3541551
9936560
2026-10-02T02:30:37Z
Sayonzei
40728
[[w:WP:AES|←]]建立內容為「==德語== ===發音=== * {{IPA|de|/ɡəˈkʁʏmtəs/}} * {{audio|de|De-gekrümmtes.ogg|a=柏林}} ===形容詞=== {{head|de|形容詞變格形}} # {{de-adj form of|gekrümmt}}」的新頁面
9936560
wikitext
text/x-wiki
==德語==
===發音===
* {{IPA|de|/ɡəˈkʁʏmtəs/}}
* {{audio|de|De-gekrümmtes.ogg|a=柏林}}
===形容詞===
{{head|de|形容詞變格形}}
# {{de-adj form of|gekrümmt}}
3jxuuwedyjsgnk2tjfe87kivmny822b
krümmender
0
3541552
9936561
2026-10-02T02:30:54Z
Sayonzei
40728
[[w:WP:AES|←]]建立內容為「==德語== ===發音=== * {{IPA|de|/ˈkʁʏməndɐ/}} * {{audio|de|De-krümmender.ogg|a=柏林}} ===分詞=== {{head|de|分詞變格形}} # {{de-adj form of|krümmend}}」的新頁面
9936561
wikitext
text/x-wiki
==德語==
===發音===
* {{IPA|de|/ˈkʁʏməndɐ/}}
* {{audio|de|De-krümmender.ogg|a=柏林}}
===分詞===
{{head|de|分詞變格形}}
# {{de-adj form of|krümmend}}
afozak7f78e5ss7fobfvdwtufw232gr
krümmenden
0
3541553
9936562
2026-10-02T02:30:56Z
Sayonzei
40728
[[w:WP:AES|←]]建立內容為「==德語== ===發音=== * {{IPA|de|/ˈkʁʏməndn̩/}} * {{audio|de|De-krümmenden.ogg|a=柏林}} ===分詞=== {{head|de|分詞變格形}} # {{de-adj form of|krümmend}}」的新頁面
9936562
wikitext
text/x-wiki
==德語==
===發音===
* {{IPA|de|/ˈkʁʏməndn̩/}}
* {{audio|de|De-krümmenden.ogg|a=柏林}}
===分詞===
{{head|de|分詞變格形}}
# {{de-adj form of|krümmend}}
kkaz929335kwgkkmln0b759evfgbyls
krümmendem
0
3541554
9936563
2026-10-02T02:30:58Z
Sayonzei
40728
[[w:WP:AES|←]]建立內容為「==德語== ===發音=== * {{IPA|de|/ˈkʁʏməndəm/}} * {{audio|de|De-krümmendem.ogg|a=柏林}} ===分詞=== {{head|de|分詞變格形}} # {{de-adj form of|krümmend}}」的新頁面
9936563
wikitext
text/x-wiki
==德語==
===發音===
* {{IPA|de|/ˈkʁʏməndəm/}}
* {{audio|de|De-krümmendem.ogg|a=柏林}}
===分詞===
{{head|de|分詞變格形}}
# {{de-adj form of|krümmend}}
e9bqghdpe0q8sbh8liklfh214zg8e95
krümmende
0
3541555
9936564
2026-10-02T02:31:00Z
Sayonzei
40728
[[w:WP:AES|←]]建立內容為「==德語== ===發音=== * {{IPA|de|/ˈkʁʏməndə/}} * {{audio|de|De-krümmende.ogg|a=柏林}} ===分詞=== {{head|de|分詞變格形}} # {{de-adj form of|krümmend}}」的新頁面
9936564
wikitext
text/x-wiki
==德語==
===發音===
* {{IPA|de|/ˈkʁʏməndə/}}
* {{audio|de|De-krümmende.ogg|a=柏林}}
===分詞===
{{head|de|分詞變格形}}
# {{de-adj form of|krümmend}}
dzgnoc0clqyxevh33odmi8ukoexje3y
krümmendes
0
3541556
9936565
2026-10-02T02:31:02Z
Sayonzei
40728
[[w:WP:AES|←]]建立內容為「==德語== ===發音=== * {{IPA|de|/ˈkʁʏməndəs/}} * {{audio|de|De-krümmendes.ogg|a=柏林}} ===分詞=== {{head|de|分詞變格形}} # {{de-adj form of|krümmend}}」的新頁面
9936565
wikitext
text/x-wiki
==德語==
===發音===
* {{IPA|de|/ˈkʁʏməndəs/}}
* {{audio|de|De-krümmendes.ogg|a=柏林}}
===分詞===
{{head|de|分詞變格形}}
# {{de-adj form of|krümmend}}
irlf3kzpfq6fdtiouuyhqbtm1xxkm00
krümme
0
3541557
9936566
2026-10-02T02:31:25Z
Sayonzei
40728
[[w:WP:AES|←]]建立內容為「==德語== ===發音=== * {{IPA|de|/ˈkʁʏmə/}} * {{audio|de|De-krümme.ogg|a=柏林}} ===動詞=== {{head|de|動詞變位形式}} # {{verb form of|de|krümmen||1|s|pres|;|1//3|s|sub|I|;|s|imp}}」的新頁面
9936566
wikitext
text/x-wiki
==德語==
===發音===
* {{IPA|de|/ˈkʁʏmə/}}
* {{audio|de|De-krümme.ogg|a=柏林}}
===動詞===
{{head|de|動詞變位形式}}
# {{verb form of|de|krümmen||1|s|pres|;|1//3|s|sub|I|;|s|imp}}
ol4b1zmgkm5n7ill0gneoj2v3myfsft
krümmst
0
3541558
9936567
2026-10-02T02:31:33Z
Sayonzei
40728
[[w:WP:AES|←]]建立內容為「==德語== ===發音=== * {{IPA|de|/kʁʏmst/}} * {{audio|de|De-krümmst.ogg|a=柏林}} ===動詞=== {{head|de|動詞變位形式}} # {{verb form of|de|krümmen||2|s|pres}}」的新頁面
9936567
wikitext
text/x-wiki
==德語==
===發音===
* {{IPA|de|/kʁʏmst/}}
* {{audio|de|De-krümmst.ogg|a=柏林}}
===動詞===
{{head|de|動詞變位形式}}
# {{verb form of|de|krümmen||2|s|pres}}
8d7xq77ezf3k08kf9s7oo42v8fl7aik
krümmt
0
3541559
9936568
2026-10-02T02:31:36Z
Sayonzei
40728
[[w:WP:AES|←]]建立內容為「==德語== ===發音=== * {{IPA|de|/kʁʏmt/}} * {{audio|de|De-krümmt.ogg|a=柏林}} ===動詞=== {{head|de|動詞變位形式}} # {{verb form of|de|krümmen||2|p|pres|;|3|s|pres|;|p|imp}}」的新頁面
9936568
wikitext
text/x-wiki
==德語==
===發音===
* {{IPA|de|/kʁʏmt/}}
* {{audio|de|De-krümmt.ogg|a=柏林}}
===動詞===
{{head|de|動詞變位形式}}
# {{verb form of|de|krümmen||2|p|pres|;|3|s|pres|;|p|imp}}
2ehtinu6sfbvjq1tb9y4sakc5tc7awu
krümmte
0
3541560
9936569
2026-10-02T02:31:38Z
Sayonzei
40728
[[w:WP:AES|←]]建立內容為「==德語== ===發音=== * {{IPA|de|/ˈkʁʏmtə/}} * {{audio|de|De-krümmte.ogg|a=柏林}} ===動詞=== {{head|de|動詞變位形式}} # {{verb form of|de|krümmen||1//3|s|pret|;|1//3|s|sub|II}}」的新頁面
9936569
wikitext
text/x-wiki
==德語==
===發音===
* {{IPA|de|/ˈkʁʏmtə/}}
* {{audio|de|De-krümmte.ogg|a=柏林}}
===動詞===
{{head|de|動詞變位形式}}
# {{verb form of|de|krümmen||1//3|s|pret|;|1//3|s|sub|II}}
1ct9qoevi5pckiojvpyh2781wz1f3r2
krümmtest
0
3541561
9936570
2026-10-02T02:31:40Z
Sayonzei
40728
[[w:WP:AES|←]]建立內容為「==德語== ===發音=== * {{IPA|de|/ˈkʁʏmtəst/}} * {{audio|de|De-krümmtest.ogg|a=柏林}} ===動詞=== {{head|de|動詞變位形式}} # {{verb form of|de|krümmen||2|s|pret|;|2|s|sub|II}}」的新頁面
9936570
wikitext
text/x-wiki
==德語==
===發音===
* {{IPA|de|/ˈkʁʏmtəst/}}
* {{audio|de|De-krümmtest.ogg|a=柏林}}
===動詞===
{{head|de|動詞變位形式}}
# {{verb form of|de|krümmen||2|s|pret|;|2|s|sub|II}}
17n13v0bla2h14z2kd08gz3b83vuo0h
krümm
0
3541562
9936571
2026-10-02T02:31:42Z
Sayonzei
40728
[[w:WP:AES|←]]建立內容為「==德語== ===發音=== * {{IPA|de|/kʁʏm/}} * {{audio|de|De-krümm.ogg|a=柏林}} ===動詞=== {{head|de|動詞變位形式}} # {{verb form of|de|krümmen||s|imp}} # {{lb|de|口語}} {{verb form of|de|krümmen||1|s|pres}}」的新頁面
9936571
wikitext
text/x-wiki
==德語==
===發音===
* {{IPA|de|/kʁʏm/}}
* {{audio|de|De-krümm.ogg|a=柏林}}
===動詞===
{{head|de|動詞變位形式}}
# {{verb form of|de|krümmen||s|imp}}
# {{lb|de|口語}} {{verb form of|de|krümmen||1|s|pres}}
56zogvoo6wlj588sb7xmwzhpwt8w640
krümmten
0
3541563
9936572
2026-10-02T02:31:53Z
Sayonzei
40728
[[w:WP:AES|←]]建立內容為「==德語== ===發音=== * {{IPA|de|/ˈkʁʏmtn̩/}} * {{audio|de|De-krümmten.ogg|a=柏林}} ===動詞=== {{head|de|動詞變位形式}} # {{verb form of|de|krümmen||1//3|p|pret|;|1//3|p|sub|II}}」的新頁面
9936572
wikitext
text/x-wiki
==德語==
===發音===
* {{IPA|de|/ˈkʁʏmtn̩/}}
* {{audio|de|De-krümmten.ogg|a=柏林}}
===動詞===
{{head|de|動詞變位形式}}
# {{verb form of|de|krümmen||1//3|p|pret|;|1//3|p|sub|II}}
hxupljeh4nsfsx30rx5pl8c8b4orfl7
krümmtet
0
3541564
9936573
2026-10-02T02:31:57Z
Sayonzei
40728
[[w:WP:AES|←]]建立內容為「==德語== ===發音=== * {{IPA|de|/ˈkʁʏmtət/}} * {{audio|de|De-krümmtet.ogg|a=柏林}} ===動詞=== {{head|de|動詞變位形式}} # {{verb form of|de|krümmen||2|p|pret|;|2|p|sub|II}}」的新頁面
9936573
wikitext
text/x-wiki
==德語==
===發音===
* {{IPA|de|/ˈkʁʏmtət/}}
* {{audio|de|De-krümmtet.ogg|a=柏林}}
===動詞===
{{head|de|動詞變位形式}}
# {{verb form of|de|krümmen||2|p|pret|;|2|p|sub|II}}
fkuhmhyqm3bhdahdeivre7ujg2j77pu
krümmest
0
3541565
9936574
2026-10-02T02:31:59Z
Sayonzei
40728
[[w:WP:AES|←]]建立內容為「==德語== ===發音=== * {{IPA|de|/ˈkʁʏməst/}} * {{audio|de|De-krümmest.ogg|a=柏林}} ===動詞=== {{head|de|動詞變位形式}} # {{verb form of|de|krümmen||2|s|sub|I}}」的新頁面
9936574
wikitext
text/x-wiki
==德語==
===發音===
* {{IPA|de|/ˈkʁʏməst/}}
* {{audio|de|De-krümmest.ogg|a=柏林}}
===動詞===
{{head|de|動詞變位形式}}
# {{verb form of|de|krümmen||2|s|sub|I}}
flcahdfvm96agj0fu5ew2qlgnp5hclf
krümmet
0
3541566
9936575
2026-10-02T02:32:00Z
Sayonzei
40728
[[w:WP:AES|←]]建立內容為「==德語== ===發音=== * {{IPA|de|/ˈkʁʏmət/}} * {{audio|de|De-krümmet.ogg|a=柏林}} ===動詞=== {{head|de|動詞變位形式}} # {{verb form of|de|krümmen||2|p|sub|I}}」的新頁面
9936575
wikitext
text/x-wiki
==德語==
===發音===
* {{IPA|de|/ˈkʁʏmət/}}
* {{audio|de|De-krümmet.ogg|a=柏林}}
===動詞===
{{head|de|動詞變位形式}}
# {{verb form of|de|krümmen||2|p|sub|I}}
6k8u18h9aukl4geuhhay42pnutru3fs
verkrümmend
0
3541567
9936577
2026-10-02T02:33:52Z
Sayonzei
40728
[[w:WP:AES|←]]建立內容為「==德語== ===發音=== * {{IPA|de|/fɛɐ̯ˈkʁʏmənt/}} * {{audio|de|De-verkrümmend.ogg|a=柏林}} ===分詞=== {{head|de|現在分詞}} # {{infl of|de|verkrümmen||pres|part}} ====變格==== {{de-adecl}}」的新頁面
9936577
wikitext
text/x-wiki
==德語==
===發音===
* {{IPA|de|/fɛɐ̯ˈkʁʏmənt/}}
* {{audio|de|De-verkrümmend.ogg|a=柏林}}
===分詞===
{{head|de|現在分詞}}
# {{infl of|de|verkrümmen||pres|part}}
====變格====
{{de-adecl}}
3j722abujgw4lkmurqf8llutjbt8las
verkrümmender
0
3541568
9936578
2026-10-02T02:34:07Z
Sayonzei
40728
[[w:WP:AES|←]]建立內容為「==德語== ===發音=== * {{IPA|de|/fɛɐ̯ˈkʁʏməndɐ/}} * {{audio|de|De-verkrümmender.ogg|a=柏林}} ===分詞=== {{head|de|分詞變格形}} # {{de-adj form of|verkrümmend}}」的新頁面
9936578
wikitext
text/x-wiki
==德語==
===發音===
* {{IPA|de|/fɛɐ̯ˈkʁʏməndɐ/}}
* {{audio|de|De-verkrümmender.ogg|a=柏林}}
===分詞===
{{head|de|分詞變格形}}
# {{de-adj form of|verkrümmend}}
hsvziv13zbm71w3kopn8chfzkbvbgdh
verkrümmenden
0
3541569
9936579
2026-10-02T02:34:08Z
Sayonzei
40728
[[w:WP:AES|←]]建立內容為「==德語== ===發音=== * {{IPA|de|/fɛɐ̯ˈkʁʏməndn̩/}} * {{audio|de|De-verkrümmenden.ogg|a=柏林}} ===分詞=== {{head|de|分詞變格形}} # {{de-adj form of|verkrümmend}}」的新頁面
9936579
wikitext
text/x-wiki
==德語==
===發音===
* {{IPA|de|/fɛɐ̯ˈkʁʏməndn̩/}}
* {{audio|de|De-verkrümmenden.ogg|a=柏林}}
===分詞===
{{head|de|分詞變格形}}
# {{de-adj form of|verkrümmend}}
r8rfyuugh84c51xbe9q1uvlvs9t0fxc
verkrümmendem
0
3541570
9936580
2026-10-02T02:34:10Z
Sayonzei
40728
[[w:WP:AES|←]]建立內容為「==德語== ===發音=== * {{IPA|de|/fɛɐ̯ˈkʁʏməndəm/}} * {{audio|de|De-verkrümmendem.ogg|a=柏林}} ===分詞=== {{head|de|分詞變格形}} # {{de-adj form of|verkrümmend}}」的新頁面
9936580
wikitext
text/x-wiki
==德語==
===發音===
* {{IPA|de|/fɛɐ̯ˈkʁʏməndəm/}}
* {{audio|de|De-verkrümmendem.ogg|a=柏林}}
===分詞===
{{head|de|分詞變格形}}
# {{de-adj form of|verkrümmend}}
j8quc6khzm0zjkro1zbud2l28vft3g2
verkrümmende
0
3541571
9936581
2026-10-02T02:34:12Z
Sayonzei
40728
[[w:WP:AES|←]]建立內容為「==德語== ===發音=== * {{IPA|de|/fɛɐ̯ˈkʁʏməndə/}} * {{audio|de|De-verkrümmende.ogg|a=柏林}} ===分詞=== {{head|de|分詞變格形}} # {{de-adj form of|verkrümmend}}」的新頁面
9936581
wikitext
text/x-wiki
==德語==
===發音===
* {{IPA|de|/fɛɐ̯ˈkʁʏməndə/}}
* {{audio|de|De-verkrümmende.ogg|a=柏林}}
===分詞===
{{head|de|分詞變格形}}
# {{de-adj form of|verkrümmend}}
cxe6czk3scw5j1494pxfwdhh99gs75x
verkrümmendes
0
3541572
9936582
2026-10-02T02:34:14Z
Sayonzei
40728
[[w:WP:AES|←]]建立內容為「==德語== ===發音=== * {{IPA|de|/fɛɐ̯ˈkʁʏməndəs/}} * {{audio|de|De-verkrümmendes.ogg|a=柏林}} ===分詞=== {{head|de|分詞變格形}} # {{de-adj form of|verkrümmend}}」的新頁面
9936582
wikitext
text/x-wiki
==德語==
===發音===
* {{IPA|de|/fɛɐ̯ˈkʁʏməndəs/}}
* {{audio|de|De-verkrümmendes.ogg|a=柏林}}
===分詞===
{{head|de|分詞變格形}}
# {{de-adj form of|verkrümmend}}
dra118qocbx386v9ip7wryxp079godg
verkrümmt
0
3541573
9936583
2026-10-02T02:34:47Z
Sayonzei
40728
[[w:WP:AES|←]]建立內容為「==德語== ===發音=== * {{IPA|de|/fɛɐ̯ˈkʁʏmt/}} * {{audio|de|De-verkrümmt.ogg|a=柏林}} ===動詞=== {{head|de|動詞變位形式}} # {{infl of|de|verkrümmen||2|p|pres|;|3|s|pres|;|p|imp}} ===分詞=== {{head|de|過去分詞}} # {{Past participle of|de|verkrümmen}} ====變格==== {{de-adecl}}」的新頁面
9936583
wikitext
text/x-wiki
==德語==
===發音===
* {{IPA|de|/fɛɐ̯ˈkʁʏmt/}}
* {{audio|de|De-verkrümmt.ogg|a=柏林}}
===動詞===
{{head|de|動詞變位形式}}
# {{infl of|de|verkrümmen||2|p|pres|;|3|s|pres|;|p|imp}}
===分詞===
{{head|de|過去分詞}}
# {{Past participle of|de|verkrümmen}}
====變格====
{{de-adecl}}
2ijmc21u6b2t6yjvyyk9lxovrdc3tvi
verkrümmter
0
3541574
9936584
2026-10-02T02:35:09Z
Sayonzei
40728
[[w:WP:AES|←]]建立內容為「==德語== ===發音=== * {{IPA|de|/fɛɐ̯ˈkʁʏmtɐ/}} * {{audio|de|De-verkrümmter.ogg|a=柏林}} ===分詞=== {{head|de|分詞變格形}} # {{de-adj form of|verkrümmt}}」的新頁面
9936584
wikitext
text/x-wiki
==德語==
===發音===
* {{IPA|de|/fɛɐ̯ˈkʁʏmtɐ/}}
* {{audio|de|De-verkrümmter.ogg|a=柏林}}
===分詞===
{{head|de|分詞變格形}}
# {{de-adj form of|verkrümmt}}
mxjlg3j1c8sojsaoi669f1brdm50gnc
verkrümmtem
0
3541575
9936585
2026-10-02T02:35:11Z
Sayonzei
40728
[[w:WP:AES|←]]建立內容為「==德語== ===發音=== * {{IPA|de|/fɛɐ̯ˈkʁʏmtəm/}} * {{audio|de|De-verkrümmtem.ogg|a=柏林}} ===分詞=== {{head|de|分詞變格形}} # {{de-adj form of|verkrümmt}}」的新頁面
9936585
wikitext
text/x-wiki
==德語==
===發音===
* {{IPA|de|/fɛɐ̯ˈkʁʏmtəm/}}
* {{audio|de|De-verkrümmtem.ogg|a=柏林}}
===分詞===
{{head|de|分詞變格形}}
# {{de-adj form of|verkrümmt}}
t0zpmcv3yorfbk8b6jmd9yen3tumeah
verkrümmtes
0
3541576
9936586
2026-10-02T02:35:13Z
Sayonzei
40728
[[w:WP:AES|←]]建立內容為「==德語== ===發音=== * {{IPA|de|/fɛɐ̯ˈkʁʏmtəs/}} * {{audio|de|De-verkrümmtes.ogg|a=柏林}} ===分詞=== {{head|de|分詞變格形}} # {{de-adj form of|verkrümmt}}」的新頁面
9936586
wikitext
text/x-wiki
==德語==
===發音===
* {{IPA|de|/fɛɐ̯ˈkʁʏmtəs/}}
* {{audio|de|De-verkrümmtes.ogg|a=柏林}}
===分詞===
{{head|de|分詞變格形}}
# {{de-adj form of|verkrümmt}}
ahac05zjg0eh87bzrfo9jzua4n02350
verkrümmte
0
3541577
9936587
2026-10-02T02:35:40Z
Sayonzei
40728
[[w:WP:AES|←]]建立內容為「==德語== ===發音=== * {{IPA|de|/fɛɐ̯ˈkʁʏmtə/}} * {{audio|de|De-verkrümmte.ogg|a=柏林}} ===動詞=== {{head|de|動詞變位形式}} # {{infl of|de|verkrümmen||1//3|s|pret|;|1//3|s|sub|II}} ===分詞=== {{head|de|分詞變格形}} # {{de-adj form of|verkrümmt}}」的新頁面
9936587
wikitext
text/x-wiki
==德語==
===發音===
* {{IPA|de|/fɛɐ̯ˈkʁʏmtə/}}
* {{audio|de|De-verkrümmte.ogg|a=柏林}}
===動詞===
{{head|de|動詞變位形式}}
# {{infl of|de|verkrümmen||1//3|s|pret|;|1//3|s|sub|II}}
===分詞===
{{head|de|分詞變格形}}
# {{de-adj form of|verkrümmt}}
48g3vhw8teftslq9dnvqtouv54ju1kq
verkrümmten
0
3541578
9936588
2026-10-02T02:35:42Z
Sayonzei
40728
[[w:WP:AES|←]]建立內容為「==德語== ===發音=== * {{IPA|de|/fɛɐ̯ˈkʁʏmtn̩/}} * {{audio|de|De-verkrümmten.ogg|a=柏林}} ===動詞=== {{head|de|動詞變位形式}} # {{infl of|de|verkrümmen||1//3|p|pret|;|1//3|p|sub|II}} ===分詞=== {{head|de|分詞變格形}} # {{de-adj form of|verkrümmt}}」的新頁面
9936588
wikitext
text/x-wiki
==德語==
===發音===
* {{IPA|de|/fɛɐ̯ˈkʁʏmtn̩/}}
* {{audio|de|De-verkrümmten.ogg|a=柏林}}
===動詞===
{{head|de|動詞變位形式}}
# {{infl of|de|verkrümmen||1//3|p|pret|;|1//3|p|sub|II}}
===分詞===
{{head|de|分詞變格形}}
# {{de-adj form of|verkrümmt}}
0xid9dqhqb52leczlrs46zez0btpqh5
verkrümme
0
3541579
9936589
2026-10-02T02:35:57Z
Sayonzei
40728
[[w:WP:AES|←]]建立內容為「==德語== ===發音=== * {{IPA|de|/fɛɐ̯ˈkʁʏmə/}} * {{audio|de|De-verkrümme.ogg|a=柏林}} ===動詞=== {{head|de|動詞變位形式}} # {{infl of|de|verkrümmen||1|s|pres|;|1//3|s|sub|I|;|s|imp}}」的新頁面
9936589
wikitext
text/x-wiki
==德語==
===發音===
* {{IPA|de|/fɛɐ̯ˈkʁʏmə/}}
* {{audio|de|De-verkrümme.ogg|a=柏林}}
===動詞===
{{head|de|動詞變位形式}}
# {{infl of|de|verkrümmen||1|s|pres|;|1//3|s|sub|I|;|s|imp}}
pnt9ekza3ds1dx7nfb74z36o7loec78
verkrümmst
0
3541580
9936590
2026-10-02T02:35:59Z
Sayonzei
40728
[[w:WP:AES|←]]建立內容為「==德語== ===發音=== * {{IPA|de|/fɛɐ̯ˈkʁʏmst/}} * {{audio|de|De-verkrümmst.ogg|a=柏林}} ===動詞=== {{head|de|動詞變位形式}} # {{infl of|de|verkrümmen||2|s|pres}}」的新頁面
9936590
wikitext
text/x-wiki
==德語==
===發音===
* {{IPA|de|/fɛɐ̯ˈkʁʏmst/}}
* {{audio|de|De-verkrümmst.ogg|a=柏林}}
===動詞===
{{head|de|動詞變位形式}}
# {{infl of|de|verkrümmen||2|s|pres}}
oyvymb4dgjf5ho3zmridhil5nvvkvxr
verkrümmtest
0
3541581
9936591
2026-10-02T02:36:00Z
Sayonzei
40728
[[w:WP:AES|←]]建立內容為「==德語== ===發音=== * {{IPA|de|/fɛɐ̯ˈkʁʏmtəst/}} * {{audio|de|De-verkrümmtest.ogg|a=柏林}} ===動詞=== {{head|de|動詞變位形式}} # {{infl of|de|verkrümmen||2|s|pret|;|2|s|sub|II}}」的新頁面
9936591
wikitext
text/x-wiki
==德語==
===發音===
* {{IPA|de|/fɛɐ̯ˈkʁʏmtəst/}}
* {{audio|de|De-verkrümmtest.ogg|a=柏林}}
===動詞===
{{head|de|動詞變位形式}}
# {{infl of|de|verkrümmen||2|s|pret|;|2|s|sub|II}}
hdaggnym0qhjwjd6na438yk7a7f6ou2
verkrümm
0
3541582
9936592
2026-10-02T02:36:05Z
Sayonzei
40728
[[w:WP:AES|←]]建立內容為「==德語== ===發音=== * {{IPA|de|/fɛɐ̯ˈkʁʏm/}} * {{audio|de|De-verkrümm.ogg|a=柏林}} ===動詞=== {{head|de|動詞變位形式}} # {{infl of|de|verkrümmen||s|imp}}」的新頁面
9936592
wikitext
text/x-wiki
==德語==
===發音===
* {{IPA|de|/fɛɐ̯ˈkʁʏm/}}
* {{audio|de|De-verkrümm.ogg|a=柏林}}
===動詞===
{{head|de|動詞變位形式}}
# {{infl of|de|verkrümmen||s|imp}}
aw3tkxkngyo22z090ftlrjfkybjrm9j
verkrümmtet
0
3541583
9936593
2026-10-02T02:36:07Z
Sayonzei
40728
[[w:WP:AES|←]]建立內容為「==德語== ===發音=== * {{IPA|de|/fɛɐ̯ˈkʁʏmtət/}} * {{audio|de|De-verkrümmtet.ogg|a=柏林}} ===動詞=== {{head|de|動詞變位形式}} # {{infl of|de|verkrümmen||2|p|pret|;|2|p|sub|II}}」的新頁面
9936593
wikitext
text/x-wiki
==德語==
===發音===
* {{IPA|de|/fɛɐ̯ˈkʁʏmtət/}}
* {{audio|de|De-verkrümmtet.ogg|a=柏林}}
===動詞===
{{head|de|動詞變位形式}}
# {{infl of|de|verkrümmen||2|p|pret|;|2|p|sub|II}}
ohglaa81v7s6g5befsiiy5z58db5iqt
verkrümmest
0
3541584
9936594
2026-10-02T02:36:10Z
Sayonzei
40728
[[w:WP:AES|←]]建立內容為「==德語== ===發音=== * {{IPA|de|/fɛɐ̯ˈkʁʏməst/}} * {{audio|de|De-verkrümmest.ogg|a=柏林}} ===動詞=== {{head|de|動詞變位形式}} # {{infl of|de|verkrümmen||2|s|sub|I}}」的新頁面
9936594
wikitext
text/x-wiki
==德語==
===發音===
* {{IPA|de|/fɛɐ̯ˈkʁʏməst/}}
* {{audio|de|De-verkrümmest.ogg|a=柏林}}
===動詞===
{{head|de|動詞變位形式}}
# {{infl of|de|verkrümmen||2|s|sub|I}}
dj787qke6k6riovsza64ajx3bpbsxy5
verkrümmet
0
3541585
9936595
2026-10-02T02:36:11Z
Sayonzei
40728
[[w:WP:AES|←]]建立內容為「==德語== ===發音=== * {{IPA|de|/fɛɐ̯ˈkʁʏmət/}} * {{audio|de|De-verkrümmet.ogg|a=柏林}} ===動詞=== {{head|de|動詞變位形式}} # {{infl of|de|verkrümmen||2|p|sub|I}}」的新頁面
9936595
wikitext
text/x-wiki
==德語==
===發音===
* {{IPA|de|/fɛɐ̯ˈkʁʏmət/}}
* {{audio|de|De-verkrümmet.ogg|a=柏林}}
===動詞===
{{head|de|動詞變位形式}}
# {{infl of|de|verkrümmen||2|p|sub|I}}
lx60i0o47pcj1oflp36whn38ds8dlhl
Destillationen
0
3541586
9936598
2026-10-02T02:38:10Z
Sayonzei
40728
[[w:WP:AES|←]]建立內容為「==德語== ===發音=== * {{IPA|de|/dɛstɪlaˈt͡si̯oːnən/}} ===名詞=== {{head|de|名詞變格形}} # {{plural of|de|Destillation}}」的新頁面
9936598
wikitext
text/x-wiki
==德語==
===發音===
* {{IPA|de|/dɛstɪlaˈt͡si̯oːnən/}}
===名詞===
{{head|de|名詞變格形}}
# {{plural of|de|Destillation}}
lho2a9csx2qfvi792h695wk8o5ehtht
destillierend
0
3541587
9936599
2026-10-02T02:38:26Z
Sayonzei
40728
[[w:WP:AES|←]]建立內容為「==德語== ===發音=== * {{IPA|de|/dɛstɪˈliːʁənt/}} * {{audio|de|De-destillierend.ogg|a=柏林}} ===分詞=== {{head|de|現在分詞}} # {{present participle of|de|destillieren}} ====變格==== {{de-adecl}}」的新頁面
9936599
wikitext
text/x-wiki
==德語==
===發音===
* {{IPA|de|/dɛstɪˈliːʁənt/}}
* {{audio|de|De-destillierend.ogg|a=柏林}}
===分詞===
{{head|de|現在分詞}}
# {{present participle of|de|destillieren}}
====變格====
{{de-adecl}}
92oraj46qk9jl0iiuhvaef5j7yr9fuw
destilliert
0
3541588
9936600
2026-10-02T02:38:32Z
Sayonzei
40728
[[w:WP:AES|←]]建立內容為「==德語== ===發音=== * {{IPA|de|/dɛstɪˈliːɐ̯t/}} * {{audio|de|De-destilliert.ogg|a=柏林}} ===分詞=== {{head|de|過去分詞}} # {{past participle of|de|destillieren}} ===形容詞=== {{de-adj}} # [[蒸餾]]的 ====變格==== {{de-adecl}} ===動詞=== {{head|de|動詞變位形式}} # {{verb form of|de|destillieren||3|s|pres|;|2|p|pres|;|p|imp}}」的新頁面
9936600
wikitext
text/x-wiki
==德語==
===發音===
* {{IPA|de|/dɛstɪˈliːɐ̯t/}}
* {{audio|de|De-destilliert.ogg|a=柏林}}
===分詞===
{{head|de|過去分詞}}
# {{past participle of|de|destillieren}}
===形容詞===
{{de-adj}}
# [[蒸餾]]的
====變格====
{{de-adecl}}
===動詞===
{{head|de|動詞變位形式}}
# {{verb form of|de|destillieren||3|s|pres|;|2|p|pres|;|p|imp}}
a0z8yype1kxbpdbkid1v4ig5y1kl3bk
destillierender
0
3541589
9936601
2026-10-02T02:38:46Z
Sayonzei
40728
[[w:WP:AES|←]]建立內容為「==德語== ===發音=== * {{IPA|de|/dɛstɪˈliːʁəndɐ/}} * {{audio|de|De-destillierender.ogg|a=柏林}} ===分詞=== {{head|de|分詞變格形}} # {{de-adj form of|destillierend}}」的新頁面
9936601
wikitext
text/x-wiki
==德語==
===發音===
* {{IPA|de|/dɛstɪˈliːʁəndɐ/}}
* {{audio|de|De-destillierender.ogg|a=柏林}}
===分詞===
{{head|de|分詞變格形}}
# {{de-adj form of|destillierend}}
7ze9ibmtmmj4wjidsbt4o0y3pwvraw8
destillierenden
0
3541590
9936602
2026-10-02T02:38:49Z
Sayonzei
40728
[[w:WP:AES|←]]建立內容為「==德語== ===發音=== * {{IPA|de|/dɛstɪˈliːʁəndn̩/}} * {{audio|de|De-destillierenden.ogg|a=柏林}} ===分詞=== {{head|de|分詞變格形}} # {{de-adj form of|destillierend}}」的新頁面
9936602
wikitext
text/x-wiki
==德語==
===發音===
* {{IPA|de|/dɛstɪˈliːʁəndn̩/}}
* {{audio|de|De-destillierenden.ogg|a=柏林}}
===分詞===
{{head|de|分詞變格形}}
# {{de-adj form of|destillierend}}
cqwudtakodgxou05v7bfh5iywi90089
destillierendem
0
3541591
9936603
2026-10-02T02:38:51Z
Sayonzei
40728
[[w:WP:AES|←]]建立內容為「==德語== ===發音=== * {{IPA|de|/dɛstɪˈliːʁəndəm/}} * {{audio|de|De-destillierendem.ogg|a=柏林}} ===分詞=== {{head|de|分詞變格形}} # {{de-adj form of|destillierend}}」的新頁面
9936603
wikitext
text/x-wiki
==德語==
===發音===
* {{IPA|de|/dɛstɪˈliːʁəndəm/}}
* {{audio|de|De-destillierendem.ogg|a=柏林}}
===分詞===
{{head|de|分詞變格形}}
# {{de-adj form of|destillierend}}
esoj1pgit9del8pqetm2n3s2u377hv5
destillierende
0
3541592
9936604
2026-10-02T02:38:57Z
Sayonzei
40728
[[w:WP:AES|←]]建立內容為「==德語== ===發音=== * {{IPA|de|/dɛstɪˈliːʁəndə/}} * {{audio|de|De-destillierende.ogg|a=柏林}} ===分詞=== {{head|de|分詞變格形}} # {{de-adj form of|destillierend}}」的新頁面
9936604
wikitext
text/x-wiki
==德語==
===發音===
* {{IPA|de|/dɛstɪˈliːʁəndə/}}
* {{audio|de|De-destillierende.ogg|a=柏林}}
===分詞===
{{head|de|分詞變格形}}
# {{de-adj form of|destillierend}}
fp57abat61gu8hd4lnxhysy3yfx01or
destillierendes
0
3541593
9936605
2026-10-02T02:39:00Z
Sayonzei
40728
[[w:WP:AES|←]]建立內容為「==德語== ===發音=== * {{IPA|de|/dɛstɪˈliːʁəndəs/}} * {{audio|de|De-destillierendes.ogg|a=柏林}} ===分詞=== {{head|de|分詞變格形}} # {{de-adj form of|destillierend}}」的新頁面
9936605
wikitext
text/x-wiki
==德語==
===發音===
* {{IPA|de|/dɛstɪˈliːʁəndəs/}}
* {{audio|de|De-destillierendes.ogg|a=柏林}}
===分詞===
{{head|de|分詞變格形}}
# {{de-adj form of|destillierend}}
2p6fcpv3b0xvc6waqvjleqngcwvll4l
destillierter
0
3541594
9936606
2026-10-02T02:39:14Z
Sayonzei
40728
[[w:WP:AES|←]]建立內容為「==德語== ===發音=== * {{IPA|de|/dɛstɪˈliːɐ̯tɐ/}} * {{audio|de|De-destillierter.ogg|a=柏林}} ===形容詞=== {{head|de|形容詞變格形}} # {{de-adj form of|destilliert}}」的新頁面
9936606
wikitext
text/x-wiki
==德語==
===發音===
* {{IPA|de|/dɛstɪˈliːɐ̯tɐ/}}
* {{audio|de|De-destillierter.ogg|a=柏林}}
===形容詞===
{{head|de|形容詞變格形}}
# {{de-adj form of|destilliert}}
0j9sfs7yy7gxyd3cyij77k3t73d2vqa
destilliertem
0
3541595
9936607
2026-10-02T02:39:16Z
Sayonzei
40728
[[w:WP:AES|←]]建立內容為「==德語== ===發音=== * {{IPA|de|/dɛstɪˈliːɐ̯təm/}} * {{audio|de|De-destilliertem.ogg|a=柏林}} ===形容詞=== {{head|de|形容詞變格形}} # {{de-adj form of|destilliert}}」的新頁面
9936607
wikitext
text/x-wiki
==德語==
===發音===
* {{IPA|de|/dɛstɪˈliːɐ̯təm/}}
* {{audio|de|De-destilliertem.ogg|a=柏林}}
===形容詞===
{{head|de|形容詞變格形}}
# {{de-adj form of|destilliert}}
diqtx0ohp2sccdm04fhqqplafjyrhtl
destilliertes
0
3541596
9936608
2026-10-02T02:39:19Z
Sayonzei
40728
[[w:WP:AES|←]]建立內容為「==德語== ===發音=== * {{IPA|de|/dɛstɪˈliːɐ̯təs/}} * {{audio|de|De-destilliertes.ogg|a=柏林}} ===形容詞=== {{head|de|形容詞變格形}} # {{de-adj form of|destilliert}}」的新頁面
9936608
wikitext
text/x-wiki
==德語==
===發音===
* {{IPA|de|/dɛstɪˈliːɐ̯təs/}}
* {{audio|de|De-destilliertes.ogg|a=柏林}}
===形容詞===
{{head|de|形容詞變格形}}
# {{de-adj form of|destilliert}}
ap38b8nwtbcvncot8og2pfscgzkqggo
destillierte
0
3541597
9936609
2026-10-02T02:39:29Z
Sayonzei
40728
[[w:WP:AES|←]]建立內容為「==德語== ===發音=== * {{IPA|de|/dɛstɪˈliːɐ̯tə/}} * {{audio|de|De-destillierte.ogg|a=柏林}} ===動詞=== {{head|de|動詞變位形式}} # {{verb form of|de|destillieren||1//3|s|pret|;|1//3|s|sub|II}} ===形容詞=== {{head|de|形容詞變格形}} # {{de-adj form of|destilliert}}」的新頁面
9936609
wikitext
text/x-wiki
==德語==
===發音===
* {{IPA|de|/dɛstɪˈliːɐ̯tə/}}
* {{audio|de|De-destillierte.ogg|a=柏林}}
===動詞===
{{head|de|動詞變位形式}}
# {{verb form of|de|destillieren||1//3|s|pret|;|1//3|s|sub|II}}
===形容詞===
{{head|de|形容詞變格形}}
# {{de-adj form of|destilliert}}
7d3xxoxhs5lxalnthbhvep4ronc9ri6
destillierten
0
3541598
9936610
2026-10-02T02:39:32Z
Sayonzei
40728
[[w:WP:AES|←]]建立內容為「==德語== ===發音=== * {{IPA|de|/dɛstɪˈliːɐ̯tn̩/}} * {{audio|de|De-destillierten.ogg|a=柏林}} ===動詞=== {{head|de|動詞變位形式}} # {{verb form of|de|destillieren||1//3|p|pret|;|1//3|p|sub|II}} ===形容詞=== {{head|de|形容詞變格形}} # {{de-adj form of|destilliert}}」的新頁面
9936610
wikitext
text/x-wiki
==德語==
===發音===
* {{IPA|de|/dɛstɪˈliːɐ̯tn̩/}}
* {{audio|de|De-destillierten.ogg|a=柏林}}
===動詞===
{{head|de|動詞變位形式}}
# {{verb form of|de|destillieren||1//3|p|pret|;|1//3|p|sub|II}}
===形容詞===
{{head|de|形容詞變格形}}
# {{de-adj form of|destilliert}}
e3qtuwkb039x9kfifox0kdm0uxc0a2e
destilliere
0
3541599
9936611
2026-10-02T02:39:46Z
Sayonzei
40728
[[w:WP:AES|←]]建立內容為「==德語== ===發音=== * {{IPA|de|/dɛstɪˈliːʁə/}} * {{audio|de|De-destilliere.ogg|a=柏林}} ===動詞=== {{head|de|動詞變位形式}} # {{verb form of|de|destillieren||1|s|pres|;|1//3|s|sub|I|;|s|imp}}」的新頁面
9936611
wikitext
text/x-wiki
==德語==
===發音===
* {{IPA|de|/dɛstɪˈliːʁə/}}
* {{audio|de|De-destilliere.ogg|a=柏林}}
===動詞===
{{head|de|動詞變位形式}}
# {{verb form of|de|destillieren||1|s|pres|;|1//3|s|sub|I|;|s|imp}}
bbezmqh124iqp77ycdi5zx13q61zx9e
destillierst
0
3541600
9936612
2026-10-02T02:39:49Z
Sayonzei
40728
[[w:WP:AES|←]]建立內容為「==德語== ===發音=== * {{IPA|de|/dɛstɪˈliːɐ̯st/}} * {{audio|de|De-destillierst.ogg|a=柏林}} ===動詞=== {{head|de|動詞變位形式}} # {{verb form of|de|destillieren||2|s|pres}}」的新頁面
9936612
wikitext
text/x-wiki
==德語==
===發音===
* {{IPA|de|/dɛstɪˈliːɐ̯st/}}
* {{audio|de|De-destillierst.ogg|a=柏林}}
===動詞===
{{head|de|動詞變位形式}}
# {{verb form of|de|destillieren||2|s|pres}}
fk77vaopstx8ff19qrwaj751ta4nuar
destilliertest
0
3541601
9936613
2026-10-02T02:39:51Z
Sayonzei
40728
[[w:WP:AES|←]]建立內容為「==德語== ===發音=== * {{IPA|de|/dɛstɪˈliːɐ̯təst/}} * {{audio|de|De-destilliertest.ogg|a=柏林}} ===動詞=== {{head|de|動詞變位形式}} # {{verb form of|de|destillieren||2|s|pret|;|2|s|sub|II}}」的新頁面
9936613
wikitext
text/x-wiki
==德語==
===發音===
* {{IPA|de|/dɛstɪˈliːɐ̯təst/}}
* {{audio|de|De-destilliertest.ogg|a=柏林}}
===動詞===
{{head|de|動詞變位形式}}
# {{verb form of|de|destillieren||2|s|pret|;|2|s|sub|II}}
mqjme4swsp8pl31vj4hqz4e4em07v8k
destillier
0
3541602
9936614
2026-10-02T02:39:54Z
Sayonzei
40728
[[w:WP:AES|←]]建立內容為「==德語== ===發音=== * {{IPA|de|/dɛstɪˈliːɐ̯/}} * {{audio|de|De-destillier.ogg|a=柏林}} ===動詞=== {{head|de|動詞變位形式}} # {{infl of|de|destillieren||s|imp}}」的新頁面
9936614
wikitext
text/x-wiki
==德語==
===發音===
* {{IPA|de|/dɛstɪˈliːɐ̯/}}
* {{audio|de|De-destillier.ogg|a=柏林}}
===動詞===
{{head|de|動詞變位形式}}
# {{infl of|de|destillieren||s|imp}}
rhgodq62am7s307qwkqfciil6hu076q
destilliertet
0
3541603
9936615
2026-10-02T02:39:57Z
Sayonzei
40728
[[w:WP:AES|←]]建立內容為「==德語== ===發音=== * {{IPA|de|/dɛstɪˈliːɐ̯tət/}} * {{audio|de|De-destilliertet.ogg|a=柏林}} ===動詞=== {{head|de|動詞變位形式}} # {{verb form of|de|destillieren||2|p|pret|;|2|p|sub|II}}」的新頁面
9936615
wikitext
text/x-wiki
==德語==
===發音===
* {{IPA|de|/dɛstɪˈliːɐ̯tət/}}
* {{audio|de|De-destilliertet.ogg|a=柏林}}
===動詞===
{{head|de|動詞變位形式}}
# {{verb form of|de|destillieren||2|p|pret|;|2|p|sub|II}}
saxd4q45venw3n136zswgbsfensrohj
destillierest
0
3541604
9936616
2026-10-02T02:40:02Z
Sayonzei
40728
[[w:WP:AES|←]]建立內容為「==德語== ===發音=== * {{IPA|de|/dɛstɪˈliːʁəst/}} * {{audio|de|De-destillierest.ogg|a=柏林}} ===動詞=== {{head|de|動詞變位形式}} # {{verb form of|de|destillieren||2|s|sub|I}}」的新頁面
9936616
wikitext
text/x-wiki
==德語==
===發音===
* {{IPA|de|/dɛstɪˈliːʁəst/}}
* {{audio|de|De-destillierest.ogg|a=柏林}}
===動詞===
{{head|de|動詞變位形式}}
# {{verb form of|de|destillieren||2|s|sub|I}}
brqm8qkgzepg4zl04k6lnxxj5n1fdk4
destillieret
0
3541605
9936617
2026-10-02T02:40:04Z
Sayonzei
40728
[[w:WP:AES|←]]建立內容為「==德語== ===發音=== * {{IPA|de|/dɛstɪˈliːʁət/}} * {{audio|de|De-destillieret.ogg|a=柏林}} ===動詞=== {{head|de|動詞變位形式}} # {{verb form of|de|destillieren||2|p|sub|I}}」的新頁面
9936617
wikitext
text/x-wiki
==德語==
===發音===
* {{IPA|de|/dɛstɪˈliːʁət/}}
* {{audio|de|De-destillieret.ogg|a=柏林}}
===動詞===
{{head|de|動詞變位形式}}
# {{verb form of|de|destillieren||2|p|sub|I}}
tg089khsvg3x1dez6b1f3v3q8czoloe
abdestillieren
0
3541606
9936618
2026-10-02T02:40:29Z
Sayonzei
40728
[[w:WP:AES|←]]建立內容為「==德語== ===詞源=== {{ety|de|:af|ab|destillieren}} {{compound|de|ab|destillieren}} ===發音=== * {{IPA|de|/ˈapdɛstiˌliːʁən/}} * {{audio|de|De-abdestillieren.ogg|a=柏林}} ===動詞=== {{de-verb|ab.destillieren}} # 通過[[蒸餾]][[分離]]掉 ====變位==== {{de-conj|ab.destillieren}} ====派生詞彙==== * {{l|de|Abdestillieren}} * {{l|de|Abdestillierung}} ===延伸閱讀=== * {{R:de:Duden}}」的新頁面
9936618
wikitext
text/x-wiki
==德語==
===詞源===
{{ety|de|:af|ab|destillieren}}
{{compound|de|ab|destillieren}}
===發音===
* {{IPA|de|/ˈapdɛstiˌliːʁən/}}
* {{audio|de|De-abdestillieren.ogg|a=柏林}}
===動詞===
{{de-verb|ab.destillieren}}
# 通過[[蒸餾]][[分離]]掉
====變位====
{{de-conj|ab.destillieren}}
====派生詞彙====
* {{l|de|Abdestillieren}}
* {{l|de|Abdestillierung}}
===延伸閱讀===
* {{R:de:Duden}}
r9znwmik4dvwv6c3qn5mfquyvut5heo
abdestillierend
0
3541607
9936619
2026-10-02T02:41:00Z
Sayonzei
40728
[[w:WP:AES|←]]建立內容為「==德語== ===發音=== * {{IPA|de|/ˈapdɛstɪˌliːʁənt/}} * {{audio|de|De-abdestillierend.ogg|a=柏林}} ===分詞=== {{head|de|現在分詞}} # {{present participle of|de|abdestillieren}} ====變格==== {{de-adecl}}」的新頁面
9936619
wikitext
text/x-wiki
==德語==
===發音===
* {{IPA|de|/ˈapdɛstɪˌliːʁənt/}}
* {{audio|de|De-abdestillierend.ogg|a=柏林}}
===分詞===
{{head|de|現在分詞}}
# {{present participle of|de|abdestillieren}}
====變格====
{{de-adecl}}
2xeygtd7zoo044zmb88l7ueenffs2mm
abdestilliert
0
3541608
9936620
2026-10-02T02:41:02Z
Sayonzei
40728
[[w:WP:AES|←]]建立內容為「==德語== ===發音=== * {{IPA|de|[ˈʔabdɛstiˈliːʁt]}} * {{audio|de|De-abdestilliert.ogg|a=柏林}} * {{hyphenation|de|ab|des|til|liert}} ===分詞=== {{head|de|過去分詞}} # {{past participle of|de|abdestillieren}} ====變格==== {{de-adecl}}」的新頁面
9936620
wikitext
text/x-wiki
==德語==
===發音===
* {{IPA|de|[ˈʔabdɛstiˈliːʁt]}}
* {{audio|de|De-abdestilliert.ogg|a=柏林}}
* {{hyphenation|de|ab|des|til|liert}}
===分詞===
{{head|de|過去分詞}}
# {{past participle of|de|abdestillieren}}
====變格====
{{de-adecl}}
2n1lqn1vnzya8uaxcw8yw7fn56nu6ho
abdestillierender
0
3541609
9936621
2026-10-02T02:41:17Z
Sayonzei
40728
[[w:WP:AES|←]]建立內容為「==德語== ===發音=== * {{IPA|de|/ˈapdɛstɪˌliːʁəndɐ/}} * {{audio|de|De-abdestillierender.ogg|a=柏林}} ===分詞=== {{head|de|分詞變格形}} # {{de-adj form of|abdestillierend}}」的新頁面
9936621
wikitext
text/x-wiki
==德語==
===發音===
* {{IPA|de|/ˈapdɛstɪˌliːʁəndɐ/}}
* {{audio|de|De-abdestillierender.ogg|a=柏林}}
===分詞===
{{head|de|分詞變格形}}
# {{de-adj form of|abdestillierend}}
odcx7tmdtqfreyod0zc1w4krc127701
abdestillierendem
0
3541610
9936622
2026-10-02T02:41:18Z
Sayonzei
40728
[[w:WP:AES|←]]建立內容為「==德語== ===發音=== * {{IPA|de|/ˈapdɛstɪˌliːʁəndəm/}} * {{audio|de|De-abdestillierendem.ogg|a=柏林}} ===分詞=== {{head|de|分詞變格形}} # {{de-adj form of|abdestillierend}}」的新頁面
9936622
wikitext
text/x-wiki
==德語==
===發音===
* {{IPA|de|/ˈapdɛstɪˌliːʁəndəm/}}
* {{audio|de|De-abdestillierendem.ogg|a=柏林}}
===分詞===
{{head|de|分詞變格形}}
# {{de-adj form of|abdestillierend}}
242tmd2ollm35vorzxce8jp7k9wffkk
abdestillierenden
0
3541611
9936623
2026-10-02T02:41:20Z
Sayonzei
40728
[[w:WP:AES|←]]建立內容為「==德語== ===發音=== * {{IPA|de|/ˈapdɛstɪˌliːʁəndn̩/}} * {{audio|de|De-abdestillierenden.ogg|a=柏林}} ===分詞=== {{head|de|分詞變格形}} # {{de-adj form of|abdestillierend}}」的新頁面
9936623
wikitext
text/x-wiki
==德語==
===發音===
* {{IPA|de|/ˈapdɛstɪˌliːʁəndn̩/}}
* {{audio|de|De-abdestillierenden.ogg|a=柏林}}
===分詞===
{{head|de|分詞變格形}}
# {{de-adj form of|abdestillierend}}
8tfnzlpg8a75mekkkfj1tlx47a8e7mw
abdestillierende
0
3541612
9936624
2026-10-02T02:41:27Z
Sayonzei
40728
[[w:WP:AES|←]]建立內容為「==德語== ===發音=== * {{IPA|de|/ˈapdɛstɪˌliːʁəndə/}} * {{audio|de|De-abdestillierende.ogg|a=柏林}} ===分詞=== {{head|de|分詞變格形}} # {{de-adj form of|abdestillierend}}」的新頁面
9936624
wikitext
text/x-wiki
==德語==
===發音===
* {{IPA|de|/ˈapdɛstɪˌliːʁəndə/}}
* {{audio|de|De-abdestillierende.ogg|a=柏林}}
===分詞===
{{head|de|分詞變格形}}
# {{de-adj form of|abdestillierend}}
7on2hfifv08a2gvn28z8p1qbuam6cpe
abdestillierendes
0
3541613
9936625
2026-10-02T02:41:29Z
Sayonzei
40728
[[w:WP:AES|←]]建立內容為「==德語== ===發音=== * {{IPA|de|/ˈapdɛstɪˌliːʁəndəs/}} * {{audio|de|De-abdestillierendes.ogg|a=柏林}} ===分詞=== {{head|de|分詞變格形}} # {{de-adj form of|abdestillierend}}」的新頁面
9936625
wikitext
text/x-wiki
==德語==
===發音===
* {{IPA|de|/ˈapdɛstɪˌliːʁəndəs/}}
* {{audio|de|De-abdestillierendes.ogg|a=柏林}}
===分詞===
{{head|de|分詞變格形}}
# {{de-adj form of|abdestillierend}}
jfyq0kdkforhdrvskbjd80f898z2v3a
abdestillierter
0
3541614
9936626
2026-10-02T02:41:44Z
Sayonzei
40728
[[w:WP:AES|←]]建立內容為「==德語== ===發音=== * {{IPA|de|/ˈapdɛstɪˌliːɐ̯tɐ/}} * {{audio|de|De-abdestillierter.ogg|a=柏林}} ===分詞=== {{head|de|分詞變格形}} # {{de-adj form of|abdestilliert}}」的新頁面
9936626
wikitext
text/x-wiki
==德語==
===發音===
* {{IPA|de|/ˈapdɛstɪˌliːɐ̯tɐ/}}
* {{audio|de|De-abdestillierter.ogg|a=柏林}}
===分詞===
{{head|de|分詞變格形}}
# {{de-adj form of|abdestilliert}}
5mqhtdm8k38b9uf8zqlyfahs3y891il
abdestilliertem
0
3541615
9936627
2026-10-02T02:41:46Z
Sayonzei
40728
[[w:WP:AES|←]]建立內容為「==德語== ===發音=== * {{IPA|de|/ˈapdɛstɪˌliːɐ̯təm/}} * {{audio|de|De-abdestilliertem.ogg|a=柏林}} ===分詞=== {{head|de|分詞變格形}} # {{de-adj form of|abdestilliert}}」的新頁面
9936627
wikitext
text/x-wiki
==德語==
===發音===
* {{IPA|de|/ˈapdɛstɪˌliːɐ̯təm/}}
* {{audio|de|De-abdestilliertem.ogg|a=柏林}}
===分詞===
{{head|de|分詞變格形}}
# {{de-adj form of|abdestilliert}}
s5jdx68g3lv5hlnua3ohbgtbgh1jgmn
abdestilliertes
0
3541616
9936628
2026-10-02T02:41:48Z
Sayonzei
40728
[[w:WP:AES|←]]建立內容為「==德語== ===發音=== * {{IPA|de|/ˈapdɛstɪˌliːɐ̯təs/}} * {{audio|de|De-abdestilliertes.ogg|a=柏林}} ===分詞=== {{head|de|分詞變格形}} # {{de-adj form of|abdestilliert}}」的新頁面
9936628
wikitext
text/x-wiki
==德語==
===發音===
* {{IPA|de|/ˈapdɛstɪˌliːɐ̯təs/}}
* {{audio|de|De-abdestilliertes.ogg|a=柏林}}
===分詞===
{{head|de|分詞變格形}}
# {{de-adj form of|abdestilliert}}
bbadwhkutpj96wh7scw7jh5fc39hoz1
abdestillierte
0
3541617
9936629
2026-10-02T02:42:04Z
Sayonzei
40728
[[w:WP:AES|←]]建立內容為「==德語== ===發音=== * {{IPA|de|/ˈapdɛstɪˌliːɐ̯tə/}} * {{audio|de|De-abdestillierte.ogg|a=柏林}} ===動詞=== {{head|de|動詞變位形式}} # {{infl of|de|abdestillieren||1//3|s|dep|pret|;|1//3|s|dep|sub|II}} ===分詞=== {{head|de|分詞變格形}} # {{de-adj form of|abdestilliert}}」的新頁面
9936629
wikitext
text/x-wiki
==德語==
===發音===
* {{IPA|de|/ˈapdɛstɪˌliːɐ̯tə/}}
* {{audio|de|De-abdestillierte.ogg|a=柏林}}
===動詞===
{{head|de|動詞變位形式}}
# {{infl of|de|abdestillieren||1//3|s|dep|pret|;|1//3|s|dep|sub|II}}
===分詞===
{{head|de|分詞變格形}}
# {{de-adj form of|abdestilliert}}
ef6n9ldzml1zz0lrvt6l6b4e8zv9tg3
abdestillierten
0
3541618
9936630
2026-10-02T02:42:07Z
Sayonzei
40728
[[w:WP:AES|←]]建立內容為「==德語== ===發音=== * {{IPA|de|/ˈapdɛstɪˌliːɐ̯tn̩/}} * {{audio|de|De-abdestillierten.ogg|a=柏林}} ===動詞=== {{head|de|動詞變位形式}} # {{infl of|de|abdestillieren||1//3|p|dep|pret|;|1//3|p|dep|sub|II}} ===分詞=== {{head|de|分詞變格形}} # {{de-adj form of|abdestilliert}}」的新頁面
9936630
wikitext
text/x-wiki
==德語==
===發音===
* {{IPA|de|/ˈapdɛstɪˌliːɐ̯tn̩/}}
* {{audio|de|De-abdestillierten.ogg|a=柏林}}
===動詞===
{{head|de|動詞變位形式}}
# {{infl of|de|abdestillieren||1//3|p|dep|pret|;|1//3|p|dep|sub|II}}
===分詞===
{{head|de|分詞變格形}}
# {{de-adj form of|abdestilliert}}
jpbuo38zl9lov0hoka41ulk0jkm6yup
abzudestillieren
0
3541619
9936631
2026-10-02T02:42:20Z
Sayonzei
40728
[[w:WP:AES|←]]建立內容為「==德語== ===發音=== * {{IPA|de|/ˈapt͡sudɛstɪˌliːʁən/}} * {{audio|de|De-abzudestillieren.ogg|a=柏林}} ===動詞=== {{head|de|動詞變位形式}} # {{de-zu-infinitive of|abdestillieren}}」的新頁面
9936631
wikitext
text/x-wiki
==德語==
===發音===
* {{IPA|de|/ˈapt͡sudɛstɪˌliːʁən/}}
* {{audio|de|De-abzudestillieren.ogg|a=柏林}}
===動詞===
{{head|de|動詞變位形式}}
# {{de-zu-infinitive of|abdestillieren}}
j6fdwutnqanby39vcjfjw50nf6mhcm6
destilliere ab
0
3541620
9936632
2026-10-02T02:42:23Z
Sayonzei
40728
[[w:WP:AES|←]]建立內容為「==德語== ===發音=== * {{IPA|de|/dɛstɪˌliːʁə ˈap/}} * {{audio|de|De-destilliere ab.ogg|a=柏林}} ===動詞=== {{head|de|動詞變位形式}} # {{verb form of|de|abdestillieren||1|s|pres|;|1//3|s|sub|I|;|s|imp}}」的新頁面
9936632
wikitext
text/x-wiki
==德語==
===發音===
* {{IPA|de|/dɛstɪˌliːʁə ˈap/}}
* {{audio|de|De-destilliere ab.ogg|a=柏林}}
===動詞===
{{head|de|動詞變位形式}}
# {{verb form of|de|abdestillieren||1|s|pres|;|1//3|s|sub|I|;|s|imp}}
n7yvgsfo6z8x2lkgw544etdyl3q44lj
destillierst ab
0
3541621
9936633
2026-10-02T02:42:28Z
Sayonzei
40728
[[w:WP:AES|←]]建立內容為「==德語== ===發音=== * {{IPA|de|/dɛstɪˌliːɐ̯st ˈap/}} * {{audio|de|De-destillierst ab.ogg|a=柏林}} ===動詞=== {{head|de|動詞變位形式}} # {{verb form of|de|abdestillieren||2|s|pres}}」的新頁面
9936633
wikitext
text/x-wiki
==德語==
===發音===
* {{IPA|de|/dɛstɪˌliːɐ̯st ˈap/}}
* {{audio|de|De-destillierst ab.ogg|a=柏林}}
===動詞===
{{head|de|動詞變位形式}}
# {{verb form of|de|abdestillieren||2|s|pres}}
59rzwxw1t7j6eo4g4sso8rk57q13mfd
destilliert ab
0
3541622
9936634
2026-10-02T02:42:31Z
Sayonzei
40728
[[w:WP:AES|←]]建立內容為「==德語== ===發音=== * {{IPA|de|/dɛstɪˌliːɐ̯t ˈap/}} * {{audio|de|De-destilliert ab.ogg|a=柏林}} ===動詞=== {{head|de|動詞變位形式}} # {{verb form of|de|abdestillieren||2|p|pres|;|3|s|pres|;|p|imp}}」的新頁面
9936634
wikitext
text/x-wiki
==德語==
===發音===
* {{IPA|de|/dɛstɪˌliːɐ̯t ˈap/}}
* {{audio|de|De-destilliert ab.ogg|a=柏林}}
===動詞===
{{head|de|動詞變位形式}}
# {{verb form of|de|abdestillieren||2|p|pres|;|3|s|pres|;|p|imp}}
3o8lpapx5y7ozjwj2olrv0skdlf5fso
destillier ab
0
3541623
9936635
2026-10-02T02:42:35Z
Sayonzei
40728
[[w:WP:AES|←]]建立內容為「==德語== ===發音=== * {{IPA|de|/dɛstɪˌliːɐ̯ ˈap/}} * {{audio|de|De-destillier ab.ogg|a=柏林}} ===動詞=== {{head|de|動詞變位形式}} # {{verb form of|de|abdestillieren||s|imp}} # {{lb|de|口語}} {{verb form of|de|abdestillieren||1|s|pres}}」的新頁面
9936635
wikitext
text/x-wiki
==德語==
===發音===
* {{IPA|de|/dɛstɪˌliːɐ̯ ˈap/}}
* {{audio|de|De-destillier ab.ogg|a=柏林}}
===動詞===
{{head|de|動詞變位形式}}
# {{verb form of|de|abdestillieren||s|imp}}
# {{lb|de|口語}} {{verb form of|de|abdestillieren||1|s|pres}}
qx5k94g1e7lnhkxhrqx3qdgkiw5o918
destillierte ab
0
3541624
9936636
2026-10-02T02:42:46Z
Sayonzei
40728
[[w:WP:AES|←]]建立內容為「==德語== ===發音=== * {{IPA|de|/dɛstɪˌliːɐ̯tə ˈap/}} * {{audio|de|De-destillierte ab.ogg|a=柏林}} ===動詞=== {{head|de|動詞變位形式}} # {{verb form of|de|abdestillieren||1//3|s|pret|;|1//3|s|sub|II}}」的新頁面
9936636
wikitext
text/x-wiki
==德語==
===發音===
* {{IPA|de|/dɛstɪˌliːɐ̯tə ˈap/}}
* {{audio|de|De-destillierte ab.ogg|a=柏林}}
===動詞===
{{head|de|動詞變位形式}}
# {{verb form of|de|abdestillieren||1//3|s|pret|;|1//3|s|sub|II}}
336dykhl5qlyjoy8193qnd67tzosjqt
destillieren ab
0
3541625
9936637
2026-10-02T02:42:49Z
Sayonzei
40728
[[w:WP:AES|←]]建立內容為「==德語== ===發音=== * {{IPA|de|/dɛstɪˌliːʁən ˈap/}} * {{audio|de|De-destillieren ab.ogg|a=柏林}} ===動詞=== {{head|de|動詞變位形式}} # {{verb form of|de|abdestillieren||1//3|p|pres|;|1//3|p|sub|I}}」的新頁面
9936637
wikitext
text/x-wiki
==德語==
===發音===
* {{IPA|de|/dɛstɪˌliːʁən ˈap/}}
* {{audio|de|De-destillieren ab.ogg|a=柏林}}
===動詞===
{{head|de|動詞變位形式}}
# {{verb form of|de|abdestillieren||1//3|p|pres|;|1//3|p|sub|I}}
i6g4p296699n4trxm85alvzs1pgpnup
destilliertest ab
0
3541626
9936638
2026-10-02T02:42:51Z
Sayonzei
40728
[[w:WP:AES|←]]建立內容為「==德語== ===發音=== * {{IPA|de|/dɛstɪˌliːɐ̯təst ˈap/}} * {{audio|de|De-destilliertest ab.ogg|a=柏林}} ===動詞=== {{head|de|動詞變位形式}} # {{verb form of|de|abdestillieren||2|s|pret|;|2|s|sub|II}}」的新頁面
9936638
wikitext
text/x-wiki
==德語==
===發音===
* {{IPA|de|/dɛstɪˌliːɐ̯təst ˈap/}}
* {{audio|de|De-destilliertest ab.ogg|a=柏林}}
===動詞===
{{head|de|動詞變位形式}}
# {{verb form of|de|abdestillieren||2|s|pret|;|2|s|sub|II}}
nn4chntyrhd3wnvvverbo6gqt60cu0t
destillierten ab
0
3541627
9936639
2026-10-02T02:43:09Z
Sayonzei
40728
[[w:WP:AES|←]]建立內容為「==德語== ===發音=== * {{IPA|de|/dɛstɪˌliːɐ̯tn̩ ˈap/}} * {{audio|de|De-destillierten ab.ogg|a=柏林}} ===動詞=== {{head|de|動詞變位形式}} # {{verb form of|de|abdestillieren||1//3|p|pret|;|1//3|p|sub|II}}」的新頁面
9936639
wikitext
text/x-wiki
==德語==
===發音===
* {{IPA|de|/dɛstɪˌliːɐ̯tn̩ ˈap/}}
* {{audio|de|De-destillierten ab.ogg|a=柏林}}
===動詞===
{{head|de|動詞變位形式}}
# {{verb form of|de|abdestillieren||1//3|p|pret|;|1//3|p|sub|II}}
af1a80oo584xwwmk9h5n4nfedz6eqok
destilliertet ab
0
3541628
9936640
2026-10-02T02:43:11Z
Sayonzei
40728
[[w:WP:AES|←]]建立內容為「==德語== ===發音=== * {{IPA|de|/dɛstɪˌliːɐ̯tət ˈap/}} * {{audio|de|De-destilliertet ab.ogg|a=柏林}} ===動詞=== {{head|de|動詞變位形式}} # {{verb form of|de|abdestillieren||2|p|pret|;|2|p|sub|II}}」的新頁面
9936640
wikitext
text/x-wiki
==德語==
===發音===
* {{IPA|de|/dɛstɪˌliːɐ̯tət ˈap/}}
* {{audio|de|De-destilliertet ab.ogg|a=柏林}}
===動詞===
{{head|de|動詞變位形式}}
# {{verb form of|de|abdestillieren||2|p|pret|;|2|p|sub|II}}
kjqkgb9zrxwai990t6qk2pfg4vznrsy
destillierest ab
0
3541629
9936641
2026-10-02T02:43:13Z
Sayonzei
40728
[[w:WP:AES|←]]建立內容為「==德語== ===發音=== * {{IPA|de|/dɛstɪˌliːʁəst ˈap/}} * {{audio|de|De-destillierest ab.ogg|a=柏林}} ===動詞=== {{head|de|動詞變位形式}} # {{verb form of|de|abdestillieren||2|s|sub|I}}」的新頁面
9936641
wikitext
text/x-wiki
==德語==
===發音===
* {{IPA|de|/dɛstɪˌliːʁəst ˈap/}}
* {{audio|de|De-destillierest ab.ogg|a=柏林}}
===動詞===
{{head|de|動詞變位形式}}
# {{verb form of|de|abdestillieren||2|s|sub|I}}
fvavoljespvrf3385s7grfsrdfsk98l
destillieret ab
0
3541630
9936642
2026-10-02T02:43:15Z
Sayonzei
40728
[[w:WP:AES|←]]建立內容為「==德語== ===發音=== * {{IPA|de|/dɛstɪˌliːʁət ˈap/}} * {{audio|de|De-destillieret ab.ogg|a=柏林}} ===動詞=== {{head|de|動詞變位形式}} # {{verb form of|de|abdestillieren||2|p|sub|I}}」的新頁面
9936642
wikitext
text/x-wiki
==德語==
===發音===
* {{IPA|de|/dɛstɪˌliːʁət ˈap/}}
* {{audio|de|De-destillieret ab.ogg|a=柏林}}
===動詞===
{{head|de|動詞變位形式}}
# {{verb form of|de|abdestillieren||2|p|sub|I}}
jwwgij46dwk72kdqf5cakzahfp1xz0o
abdestilliere
0
3541631
9936643
2026-10-02T02:43:35Z
Sayonzei
40728
[[w:WP:AES|←]]建立內容為「==德語== ===發音=== * {{IPA|de|/ˈapdɛstɪˌliːʁə/}} * {{audio|de|De-abdestilliere.ogg|a=柏林}} ===動詞=== {{head|de|動詞變位形式}} # {{infl of|de|abdestillieren||1|s|dep|pres|;|1//3|s|dep|sub|I}}」的新頁面
9936643
wikitext
text/x-wiki
==德語==
===發音===
* {{IPA|de|/ˈapdɛstɪˌliːʁə/}}
* {{audio|de|De-abdestilliere.ogg|a=柏林}}
===動詞===
{{head|de|動詞變位形式}}
# {{infl of|de|abdestillieren||1|s|dep|pres|;|1//3|s|dep|sub|I}}
gp35avn7qr7tezrf30rw4q5rp5gnifk
abdestillierst
0
3541632
9936644
2026-10-02T02:43:37Z
Sayonzei
40728
[[w:WP:AES|←]]建立內容為「==德語== ===發音=== * {{IPA|de|/ˈapdɛstɪˌliːɐ̯st/}} * {{audio|de|De-abdestillierst.ogg|a=柏林}} ===動詞=== {{head|de|動詞變位形式}} # {{infl of|de|abdestillieren||2|s|dep|pres}}」的新頁面
9936644
wikitext
text/x-wiki
==德語==
===發音===
* {{IPA|de|/ˈapdɛstɪˌliːɐ̯st/}}
* {{audio|de|De-abdestillierst.ogg|a=柏林}}
===動詞===
{{head|de|動詞變位形式}}
# {{infl of|de|abdestillieren||2|s|dep|pres}}
mydfh6hes4xn4qi9q6yorecemdwcw31
abdestilliertest
0
3541633
9936645
2026-10-02T02:43:41Z
Sayonzei
40728
[[w:WP:AES|←]]建立內容為「==德語== ===發音=== * {{IPA|de|/ˈapdɛstɪˌliːɐ̯təst/}} * {{audio|de|De-abdestilliertest.ogg|a=柏林}} ===動詞=== {{head|de|動詞變位形式}} # {{infl of|de|abdestillieren||2|s|dep|pret|;|2|s|dep|sub|II}}」的新頁面
9936645
wikitext
text/x-wiki
==德語==
===發音===
* {{IPA|de|/ˈapdɛstɪˌliːɐ̯təst/}}
* {{audio|de|De-abdestilliertest.ogg|a=柏林}}
===動詞===
{{head|de|動詞變位形式}}
# {{infl of|de|abdestillieren||2|s|dep|pret|;|2|s|dep|sub|II}}
s4e6it7ubtr4ynr5tr5n193k43g5lbv
abdestillierest
0
3541634
9936646
2026-10-02T02:43:44Z
Sayonzei
40728
[[w:WP:AES|←]]建立內容為「==德語== ===發音=== * {{IPA|de|/ˈapdɛstɪˌliːʁəst/}} * {{audio|de|De-abdestillierest.ogg|a=柏林}} ===動詞=== {{head|de|動詞變位形式}} # {{infl of|de|abdestillieren||2|s|dep|sub|I}}」的新頁面
9936646
wikitext
text/x-wiki
==德語==
===發音===
* {{IPA|de|/ˈapdɛstɪˌliːʁəst/}}
* {{audio|de|De-abdestillierest.ogg|a=柏林}}
===動詞===
{{head|de|動詞變位形式}}
# {{infl of|de|abdestillieren||2|s|dep|sub|I}}
h8927s8xbouq7le8vtznffzoe8ejci6
abdestilliertet
0
3541635
9936647
2026-10-02T02:43:47Z
Sayonzei
40728
[[w:WP:AES|←]]建立內容為「==德語== ===發音=== * {{IPA|de|/ˈapdɛstɪˌliːɐ̯tət/}} * {{audio|de|De-abdestilliertet.ogg|a=柏林}} ===動詞=== {{head|de|動詞變位形式}} # {{infl of|de|abdestillieren||2|p|dep|pret|;|2|p|dep|sub|II}}」的新頁面
9936647
wikitext
text/x-wiki
==德語==
===發音===
* {{IPA|de|/ˈapdɛstɪˌliːɐ̯tət/}}
* {{audio|de|De-abdestilliertet.ogg|a=柏林}}
===動詞===
{{head|de|動詞變位形式}}
# {{infl of|de|abdestillieren||2|p|dep|pret|;|2|p|dep|sub|II}}
0ettg2jf4jy6jiasrxwjphmdgkc0j4w
abdestillieret
0
3541636
9936648
2026-10-02T02:43:50Z
Sayonzei
40728
[[w:WP:AES|←]]建立內容為「==德語== ===發音=== * {{IPA|de|/ˈapdɛstɪˌliːʁət/}} * {{audio|de|De-abdestillieret.ogg|a=柏林}} ===動詞=== {{head|de|動詞變位形式}} # {{infl of|de|abdestillieren||2|p|dep|sub|I}}」的新頁面
9936648
wikitext
text/x-wiki
==德語==
===發音===
* {{IPA|de|/ˈapdɛstɪˌliːʁət/}}
* {{audio|de|De-abdestillieret.ogg|a=柏林}}
===動詞===
{{head|de|動詞變位形式}}
# {{infl of|de|abdestillieren||2|p|dep|sub|I}}
ig2yqvhfjellc7v0unikg948y3cuw1p
entmineralisieren
0
3541637
9936649
2026-10-02T02:44:34Z
Sayonzei
40728
[[w:WP:AES|←]]建立內容為「==德語== ===詞源=== {{ety|de|:af|ent-|mineralisieren}} {{prefix|de|ent|mineralisieren}} ===發音=== * {{IPA|de|/ɛntmineʁaliˈziːʁən/}} * {{audio|de|De-entmineralisieren.ogg|a=柏林}} ===動詞=== {{de-verb}} # 脫[[礦物質]] #: {{ant|de|mineralisieren}} ====變位==== {{de-conj}}」的新頁面
9936649
wikitext
text/x-wiki
==德語==
===詞源===
{{ety|de|:af|ent-|mineralisieren}}
{{prefix|de|ent|mineralisieren}}
===發音===
* {{IPA|de|/ɛntmineʁaliˈziːʁən/}}
* {{audio|de|De-entmineralisieren.ogg|a=柏林}}
===動詞===
{{de-verb}}
# 脫[[礦物質]]
#: {{ant|de|mineralisieren}}
====變位====
{{de-conj}}
3l7rb9ztlciipuswt4fjmk2vr6e2bhy
entmineralisierend
0
3541638
9936650
2026-10-02T02:44:51Z
Sayonzei
40728
[[w:WP:AES|←]]建立內容為「==德語== ===發音=== * {{IPA|de|/ɛntmineʁaliˈziːʁənt/}} * {{audio|de|De-entmineralisierend.ogg|a=柏林}} ===分詞=== {{head|de|現在分詞}} # {{present participle of|de|entmineralisieren}} ====變格==== {{de-adecl}}」的新頁面
9936650
wikitext
text/x-wiki
==德語==
===發音===
* {{IPA|de|/ɛntmineʁaliˈziːʁənt/}}
* {{audio|de|De-entmineralisierend.ogg|a=柏林}}
===分詞===
{{head|de|現在分詞}}
# {{present participle of|de|entmineralisieren}}
====變格====
{{de-adecl}}
31qbp7s9jslo5snxmjhis0utf2b06zh
entmineralisiert
0
3541639
9936651
2026-10-02T02:44:58Z
Sayonzei
40728
[[w:WP:AES|←]]建立內容為「==德語== ===發音=== * {{IPA|de|/ɛntmineʁaliˈziːɐ̯t/}} * {{audio|de|De-entmineralisiert.ogg|a=柏林}} ===分詞=== {{head|de|過去分詞}} # {{past participle of|de|entmineralisieren}} ===形容詞=== {{de-adj}} # 脫[[礦物質]]的 ====變格==== {{de-adecl}} ===動詞=== {{head|de|動詞變位形式}} # {{verb form of|de|entmineralisieren||3|s|pres|;|2|p|pres|;|p|imp}}」的新頁面
9936651
wikitext
text/x-wiki
==德語==
===發音===
* {{IPA|de|/ɛntmineʁaliˈziːɐ̯t/}}
* {{audio|de|De-entmineralisiert.ogg|a=柏林}}
===分詞===
{{head|de|過去分詞}}
# {{past participle of|de|entmineralisieren}}
===形容詞===
{{de-adj}}
# 脫[[礦物質]]的
====變格====
{{de-adecl}}
===動詞===
{{head|de|動詞變位形式}}
# {{verb form of|de|entmineralisieren||3|s|pres|;|2|p|pres|;|p|imp}}
831vfl8qclssq29h1z6gmomz3y86mrc
entmineralisierender
0
3541640
9936652
2026-10-02T02:45:10Z
Sayonzei
40728
[[w:WP:AES|←]]建立內容為「==德語== ===發音=== * {{IPA|de|/ɛntmineʁaliˈziːʁəndɐ/}} * {{audio|de|De-entmineralisierender.ogg|a=柏林}} ===分詞=== {{head|de|分詞變格形}} # {{de-adj form of|entmineralisierend}}」的新頁面
9936652
wikitext
text/x-wiki
==德語==
===發音===
* {{IPA|de|/ɛntmineʁaliˈziːʁəndɐ/}}
* {{audio|de|De-entmineralisierender.ogg|a=柏林}}
===分詞===
{{head|de|分詞變格形}}
# {{de-adj form of|entmineralisierend}}
5hrgze8jlbmitvchpikrnw9d8x4prrg
entmineralisierenden
0
3541641
9936653
2026-10-02T02:45:12Z
Sayonzei
40728
[[w:WP:AES|←]]建立內容為「==德語== ===發音=== * {{IPA|de|/ɛntmineʁaliˈziːʁəndn̩/}} * {{audio|de|De-entmineralisierenden.ogg|a=柏林}} ===分詞=== {{head|de|分詞變格形}} # {{de-adj form of|entmineralisierend}}」的新頁面
9936653
wikitext
text/x-wiki
==德語==
===發音===
* {{IPA|de|/ɛntmineʁaliˈziːʁəndn̩/}}
* {{audio|de|De-entmineralisierenden.ogg|a=柏林}}
===分詞===
{{head|de|分詞變格形}}
# {{de-adj form of|entmineralisierend}}
45yve6cmvcjcc59vxftmoa6e5k60wgg
entmineralisierendem
0
3541642
9936654
2026-10-02T02:45:14Z
Sayonzei
40728
[[w:WP:AES|←]]建立內容為「==德語== ===發音=== * {{IPA|de|/ɛntmineʁaliˈziːʁəndəm/}} * {{audio|de|De-entmineralisierendem.ogg|a=柏林}} ===分詞=== {{head|de|分詞變格形}} # {{de-adj form of|entmineralisierend}}」的新頁面
9936654
wikitext
text/x-wiki
==德語==
===發音===
* {{IPA|de|/ɛntmineʁaliˈziːʁəndəm/}}
* {{audio|de|De-entmineralisierendem.ogg|a=柏林}}
===分詞===
{{head|de|分詞變格形}}
# {{de-adj form of|entmineralisierend}}
7esrnzg8gpc20ff34srehbzunpwe8u5
entmineralisierende
0
3541643
9936655
2026-10-02T02:45:16Z
Sayonzei
40728
[[w:WP:AES|←]]建立內容為「==德語== ===發音=== * {{IPA|de|/ɛntmineʁaliˈziːʁəndə/}} * {{audio|de|De-entmineralisierende.ogg|a=柏林}} ===分詞=== {{head|de|分詞變格形}} # {{de-adj form of|entmineralisierend}}」的新頁面
9936655
wikitext
text/x-wiki
==德語==
===發音===
* {{IPA|de|/ɛntmineʁaliˈziːʁəndə/}}
* {{audio|de|De-entmineralisierende.ogg|a=柏林}}
===分詞===
{{head|de|分詞變格形}}
# {{de-adj form of|entmineralisierend}}
2elnnc14e20at92y4hq1wslq92hzhsr
entmineralisierendes
0
3541644
9936656
2026-10-02T02:45:20Z
Sayonzei
40728
[[w:WP:AES|←]]建立內容為「==德語== ===發音=== * {{IPA|de|/ɛntmineʁaliˈziːʁəndəs/}} * {{audio|de|De-entmineralisierendes.ogg|a=柏林}} ===分詞=== {{head|de|分詞變格形}} # {{de-adj form of|entmineralisierend}}」的新頁面
9936656
wikitext
text/x-wiki
==德語==
===發音===
* {{IPA|de|/ɛntmineʁaliˈziːʁəndəs/}}
* {{audio|de|De-entmineralisierendes.ogg|a=柏林}}
===分詞===
{{head|de|分詞變格形}}
# {{de-adj form of|entmineralisierend}}
adfxxtkggnabscw48pghlvhbhie2zj5
entmineralisierter
0
3541645
9936657
2026-10-02T02:45:34Z
Sayonzei
40728
[[w:WP:AES|←]]建立內容為「==德語== ===發音=== * {{IPA|de|/ɛntmineʁaliˈziːɐ̯tɐ/}} * {{audio|de|De-entmineralisierter.ogg|a=柏林}} ===形容詞=== {{head|de|形容詞變格形}} # {{de-adj form of|entmineralisiert}}」的新頁面
9936657
wikitext
text/x-wiki
==德語==
===發音===
* {{IPA|de|/ɛntmineʁaliˈziːɐ̯tɐ/}}
* {{audio|de|De-entmineralisierter.ogg|a=柏林}}
===形容詞===
{{head|de|形容詞變格形}}
# {{de-adj form of|entmineralisiert}}
qjot8nuz6md2hijlcr5actn5gkwo0jd
entmineralisiertem
0
3541646
9936658
2026-10-02T02:45:35Z
Sayonzei
40728
[[w:WP:AES|←]]建立內容為「==德語== ===發音=== * {{IPA|de|/ɛntmineʁaliˈziːɐ̯təm/}} * {{audio|de|De-entmineralisiertem.ogg|a=柏林}} ===形容詞=== {{head|de|形容詞變格形}} # {{de-adj form of|entmineralisiert}}」的新頁面
9936658
wikitext
text/x-wiki
==德語==
===發音===
* {{IPA|de|/ɛntmineʁaliˈziːɐ̯təm/}}
* {{audio|de|De-entmineralisiertem.ogg|a=柏林}}
===形容詞===
{{head|de|形容詞變格形}}
# {{de-adj form of|entmineralisiert}}
r4v3wktwkjoyonuv2akl0f5jj29oddh
entmineralisiertes
0
3541647
9936659
2026-10-02T02:45:37Z
Sayonzei
40728
[[w:WP:AES|←]]建立內容為「==德語== ===發音=== * {{IPA|de|/ɛntmineʁaliˈziːɐ̯təs/}} * {{audio|de|De-entmineralisiertes.ogg|a=柏林}} ===形容詞=== {{head|de|形容詞變格形}} # {{de-adj form of|entmineralisiert}}」的新頁面
9936659
wikitext
text/x-wiki
==德語==
===發音===
* {{IPA|de|/ɛntmineʁaliˈziːɐ̯təs/}}
* {{audio|de|De-entmineralisiertes.ogg|a=柏林}}
===形容詞===
{{head|de|形容詞變格形}}
# {{de-adj form of|entmineralisiert}}
60cgy13uftt7qj7ask5xci7wmf6v4tv
entmineralisierte
0
3541648
9936660
2026-10-02T02:46:45Z
Sayonzei
40728
[[w:WP:AES|←]]建立內容為「==德語== ===發音=== * {{IPA|de|/ɛntmineʁaliˈziːɐ̯tə/}} * {{audio|de|De-entmineralisierte.ogg|a=柏林}} ===動詞=== {{head|de|動詞變位形式}} # {{verb form of|de|entmineralisieren||1//3|s|pret|;|1//3|s|sub|II}} ===形容詞=== {{head|de|形容詞變格形}} # {{de-adj form of|entmineralisiert}}」的新頁面
9936660
wikitext
text/x-wiki
==德語==
===發音===
* {{IPA|de|/ɛntmineʁaliˈziːɐ̯tə/}}
* {{audio|de|De-entmineralisierte.ogg|a=柏林}}
===動詞===
{{head|de|動詞變位形式}}
# {{verb form of|de|entmineralisieren||1//3|s|pret|;|1//3|s|sub|II}}
===形容詞===
{{head|de|形容詞變格形}}
# {{de-adj form of|entmineralisiert}}
p69z790r9b9qui68oejzs2v519cnmgw
entmineralisierten
0
3541649
9936661
2026-10-02T02:46:47Z
Sayonzei
40728
[[w:WP:AES|←]]建立內容為「==德語== ===發音=== * {{IPA|de|/ɛntmineʁaliˈziːɐ̯tn̩/}} * {{audio|de|De-entmineralisierten.ogg|a=柏林}} ===動詞=== {{head|de|動詞變位形式}} # {{verb form of|de|entmineralisieren||1//3|p|pret|;|1//3|p|sub|II}} ===形容詞=== {{head|de|形容詞變格形}} # {{de-adj form of|entmineralisiert}}」的新頁面
9936661
wikitext
text/x-wiki
==德語==
===發音===
* {{IPA|de|/ɛntmineʁaliˈziːɐ̯tn̩/}}
* {{audio|de|De-entmineralisierten.ogg|a=柏林}}
===動詞===
{{head|de|動詞變位形式}}
# {{verb form of|de|entmineralisieren||1//3|p|pret|;|1//3|p|sub|II}}
===形容詞===
{{head|de|形容詞變格形}}
# {{de-adj form of|entmineralisiert}}
ob6d6cct85uqd0jwb4pcylpjr6xdg37
entmineralisiere
0
3541650
9936662
2026-10-02T02:46:58Z
Sayonzei
40728
[[w:WP:AES|←]]建立內容為「==德語== ===發音=== * {{IPA|de|/ɛntmineʁaliˈziːʁə/}} * {{audio|de|De-entmineralisiere.ogg|a=柏林}} ===動詞=== {{head|de|動詞變位形式}} # {{verb form of|de|entmineralisieren||1|s|pres|;|1//3|s|sub|I|;|s|imp}}」的新頁面
9936662
wikitext
text/x-wiki
==德語==
===發音===
* {{IPA|de|/ɛntmineʁaliˈziːʁə/}}
* {{audio|de|De-entmineralisiere.ogg|a=柏林}}
===動詞===
{{head|de|動詞變位形式}}
# {{verb form of|de|entmineralisieren||1|s|pres|;|1//3|s|sub|I|;|s|imp}}
i291d1papu89qbf1aqdizyj26rpi2zc
entmineralisierst
0
3541651
9936663
2026-10-02T02:47:01Z
Sayonzei
40728
[[w:WP:AES|←]]建立內容為「==德語== ===發音=== * {{IPA|de|/ɛntmineʁaliˈziːɐ̯st/}} * {{audio|de|De-entmineralisierst.ogg|a=柏林}} ===動詞=== {{head|de|動詞變位形式}} # {{verb form of|de|entmineralisieren||2|s|pres}}」的新頁面
9936663
wikitext
text/x-wiki
==德語==
===發音===
* {{IPA|de|/ɛntmineʁaliˈziːɐ̯st/}}
* {{audio|de|De-entmineralisierst.ogg|a=柏林}}
===動詞===
{{head|de|動詞變位形式}}
# {{verb form of|de|entmineralisieren||2|s|pres}}
t7cvf5uyt6pzclj1rwaihv9cjcqzotr
entmineralisiertest
0
3541652
9936664
2026-10-02T02:47:06Z
Sayonzei
40728
[[w:WP:AES|←]]建立內容為「==德語== ===發音=== * {{IPA|de|/ɛntmineʁaliˈziːɐ̯təst/}} * {{audio|de|De-entmineralisiertest.ogg|a=柏林}} ===動詞=== {{head|de|動詞變位形式}} # {{verb form of|de|entmineralisieren||2|s|pret|;|2|s|sub|II}}」的新頁面
9936664
wikitext
text/x-wiki
==德語==
===發音===
* {{IPA|de|/ɛntmineʁaliˈziːɐ̯təst/}}
* {{audio|de|De-entmineralisiertest.ogg|a=柏林}}
===動詞===
{{head|de|動詞變位形式}}
# {{verb form of|de|entmineralisieren||2|s|pret|;|2|s|sub|II}}
9hu88vpoptfpe9fzd16nfizfw5uonus
entmineralisier
0
3541653
9936665
2026-10-02T02:47:09Z
Sayonzei
40728
[[w:WP:AES|←]]建立內容為「==德語== ===發音=== * {{IPA|de|/ɛntmineʁaliˈziːɐ̯/}} * {{audio|de|De-entmineralisier.ogg|a=柏林}} ===動詞=== {{head|de|動詞變位形式}} # {{infl of|de|entmineralisieren||s|imp}}」的新頁面
9936665
wikitext
text/x-wiki
==德語==
===發音===
* {{IPA|de|/ɛntmineʁaliˈziːɐ̯/}}
* {{audio|de|De-entmineralisier.ogg|a=柏林}}
===動詞===
{{head|de|動詞變位形式}}
# {{infl of|de|entmineralisieren||s|imp}}
s9oxkmspi7knkspmqpzigwxkv5ovdfb
entmineralisiertet
0
3541654
9936666
2026-10-02T02:47:13Z
Sayonzei
40728
[[w:WP:AES|←]]建立內容為「==德語== ===發音=== * {{IPA|de|/ɛntmineʁaliˈziːɐ̯tət/}} * {{audio|de|De-entmineralisiertet.ogg|a=柏林}} ===動詞=== {{head|de|動詞變位形式}} # {{verb form of|de|entmineralisieren||2|p|pret|;|2|p|sub|II}}」的新頁面
9936666
wikitext
text/x-wiki
==德語==
===發音===
* {{IPA|de|/ɛntmineʁaliˈziːɐ̯tət/}}
* {{audio|de|De-entmineralisiertet.ogg|a=柏林}}
===動詞===
{{head|de|動詞變位形式}}
# {{verb form of|de|entmineralisieren||2|p|pret|;|2|p|sub|II}}
ihxgyibp1a5kbvmrxz0iczgxla780sv
entmineralisierest
0
3541655
9936667
2026-10-02T02:47:16Z
Sayonzei
40728
[[w:WP:AES|←]]建立內容為「==德語== ===發音=== * {{IPA|de|/ɛntmineʁaliˈziːʁəst/}} * {{audio|de|De-entmineralisierest.ogg|a=柏林}} ===動詞=== {{head|de|動詞變位形式}} # {{verb form of|de|entmineralisieren||2|s|sub|I}}」的新頁面
9936667
wikitext
text/x-wiki
==德語==
===發音===
* {{IPA|de|/ɛntmineʁaliˈziːʁəst/}}
* {{audio|de|De-entmineralisierest.ogg|a=柏林}}
===動詞===
{{head|de|動詞變位形式}}
# {{verb form of|de|entmineralisieren||2|s|sub|I}}
c6xm6aqmir0pauyr8tq7qstvwpjfa6a
entmineralisieret
0
3541656
9936668
2026-10-02T02:47:19Z
Sayonzei
40728
[[w:WP:AES|←]]建立內容為「==德語== ===發音=== * {{IPA|de|/ɛntmineʁaliˈziːʁət/}} * {{audio|de|De-entmineralisieret.ogg|a=柏林}} ===動詞=== {{head|de|動詞變位形式}} # {{verb form of|de|entmineralisieren||2|p|sub|I}}」的新頁面
9936668
wikitext
text/x-wiki
==德語==
===發音===
* {{IPA|de|/ɛntmineʁaliˈziːʁət/}}
* {{audio|de|De-entmineralisieret.ogg|a=柏林}}
===動詞===
{{head|de|動詞變位形式}}
# {{verb form of|de|entmineralisieren||2|p|sub|I}}
cd49i6bsauwiczdk7n7g91lo86g5ken
散band
0
3541657
9936669
2026-10-02T02:47:48Z
Sayonzei
40728
[[w:WP:AES|←]]建立內容為「==漢語== {{zh-forms|type=14}} ===發音=== {{zh-pron |c=saan3 ben1 |cat=v }} ===動詞=== {{zh-verb|type=vo}} # {{lb|zh|粵語}} [[散伙]],[[解散]]」的新頁面
9936669
wikitext
text/x-wiki
==漢語==
{{zh-forms|type=14}}
===發音===
{{zh-pron
|c=saan3 ben1
|cat=v
}}
===動詞===
{{zh-verb|type=vo}}
# {{lb|zh|粵語}} [[散伙]],[[解散]]
06t5zy0fwsam0n01ncv4rp7sa40yagv
mineralisieren
0
3541658
9936670
2026-10-02T02:49:35Z
Sayonzei
40728
[[w:WP:AES|←]]建立內容為「==德語== ===詞源=== {{af|de|Mineral|-isieren}} ===發音=== * {{IPA|de|/minəʁaliˈziːʁən/}} * {{audio|de|De-mineralisieren.ogg|a=柏林}} ===動詞=== {{de-verb}} # [[礦化]] #: {{ant|de|entmineralisieren}} ====變位==== {{de-conj}} ===延伸閱讀=== * {{R:de:Duden}} * {{R:de:DWDS}}」的新頁面
9936670
wikitext
text/x-wiki
==德語==
===詞源===
{{af|de|Mineral|-isieren}}
===發音===
* {{IPA|de|/minəʁaliˈziːʁən/}}
* {{audio|de|De-mineralisieren.ogg|a=柏林}}
===動詞===
{{de-verb}}
# [[礦化]]
#: {{ant|de|entmineralisieren}}
====變位====
{{de-conj}}
===延伸閱讀===
* {{R:de:Duden}}
* {{R:de:DWDS}}
rksnr8fpw4bfkhpopu1n57oua3y06zr
mineralisierend
0
3541659
9936671
2026-10-02T03:03:58Z
Sayonzei
40728
[[w:WP:AES|←]]建立內容為「==德語== ===發音=== * {{IPA|de|/minəʁaliˈziːʁənt/}} * {{audio|de|De-mineralisierend.ogg|a=柏林}} ===分詞=== {{head|de|現在分詞}} # {{present participle of|de|mineralisieren}} ====變格==== {{de-adecl}}」的新頁面
9936671
wikitext
text/x-wiki
==德語==
===發音===
* {{IPA|de|/minəʁaliˈziːʁənt/}}
* {{audio|de|De-mineralisierend.ogg|a=柏林}}
===分詞===
{{head|de|現在分詞}}
# {{present participle of|de|mineralisieren}}
====變格====
{{de-adecl}}
30vkxae9b0y8uqvanoca70rfeqbau6k
mineralisiert
0
3541660
9936672
2026-10-02T03:04:00Z
Sayonzei
40728
[[w:WP:AES|←]]建立內容為「==德語== ===發音=== * {{IPA|de|/minəʁaliˈziːɐ̯t/}} * {{audio|de|De-mineralisiert.ogg|a=柏林}} ===分詞=== {{head|de|過去分詞}} # {{past participle of|de|mineralisieren}} ====變格==== {{de-adecl}} ===動詞=== {{head|de|動詞變位形式}} # {{verb form of|de|mineralisieren||3|s|pres|;|2|p|pres|;|p|imp}}」的新頁面
9936672
wikitext
text/x-wiki
==德語==
===發音===
* {{IPA|de|/minəʁaliˈziːɐ̯t/}}
* {{audio|de|De-mineralisiert.ogg|a=柏林}}
===分詞===
{{head|de|過去分詞}}
# {{past participle of|de|mineralisieren}}
====變格====
{{de-adecl}}
===動詞===
{{head|de|動詞變位形式}}
# {{verb form of|de|mineralisieren||3|s|pres|;|2|p|pres|;|p|imp}}
8p167oaolq1yyzh9bjy13a73btf0vib
mineralisierender
0
3541661
9936673
2026-10-02T03:04:18Z
Sayonzei
40728
[[w:WP:AES|←]]建立內容為「==德語== ===發音=== * {{IPA|de|/minəʁaliˈziːʁəndɐ/}} * {{audio|de|De-mineralisierender.ogg|a=柏林}} ===分詞=== {{head|de|分詞變格形}} # {{de-adj form of|mineralisierend}}」的新頁面
9936673
wikitext
text/x-wiki
==德語==
===發音===
* {{IPA|de|/minəʁaliˈziːʁəndɐ/}}
* {{audio|de|De-mineralisierender.ogg|a=柏林}}
===分詞===
{{head|de|分詞變格形}}
# {{de-adj form of|mineralisierend}}
2l68rwvdhd90sorhxpj11xa2ywkwvb6
mineralisierenden
0
3541662
9936674
2026-10-02T03:04:18Z
Sayonzei
40728
[[w:WP:AES|←]]建立內容為「==德語== ===發音=== * {{IPA|de|/minəʁaliˈziːʁəndn̩/}} * {{audio|de|De-mineralisierenden.ogg|a=柏林}} ===分詞=== {{head|de|分詞變格形}} # {{de-adj form of|mineralisierend}}」的新頁面
9936674
wikitext
text/x-wiki
==德語==
===發音===
* {{IPA|de|/minəʁaliˈziːʁəndn̩/}}
* {{audio|de|De-mineralisierenden.ogg|a=柏林}}
===分詞===
{{head|de|分詞變格形}}
# {{de-adj form of|mineralisierend}}
pig38as6espsswj7f6frio84txgj62w
mineralisierende
0
3541663
9936675
2026-10-02T03:04:19Z
Sayonzei
40728
[[w:WP:AES|←]]建立內容為「==德語== ===發音=== * {{IPA|de|/minəʁaliˈziːʁəndə/}} * {{audio|de|De-mineralisierende.ogg|a=柏林}} ===分詞=== {{head|de|分詞變格形}} # {{de-adj form of|mineralisierend}}」的新頁面
9936675
wikitext
text/x-wiki
==德語==
===發音===
* {{IPA|de|/minəʁaliˈziːʁəndə/}}
* {{audio|de|De-mineralisierende.ogg|a=柏林}}
===分詞===
{{head|de|分詞變格形}}
# {{de-adj form of|mineralisierend}}
sg6c4mzrpbqr099flx5k7gi340vrexa
mineralisierendem
0
3541664
9936676
2026-10-02T03:04:19Z
Sayonzei
40728
[[w:WP:AES|←]]建立內容為「==德語== ===發音=== * {{IPA|de|/minəʁaliˈziːʁəndəm/}} * {{audio|de|De-mineralisierendem.ogg|a=柏林}} ===分詞=== {{head|de|分詞變格形}} # {{de-adj form of|mineralisierend}}」的新頁面
9936676
wikitext
text/x-wiki
==德語==
===發音===
* {{IPA|de|/minəʁaliˈziːʁəndəm/}}
* {{audio|de|De-mineralisierendem.ogg|a=柏林}}
===分詞===
{{head|de|分詞變格形}}
# {{de-adj form of|mineralisierend}}
4vzlg0ux56u1exx7bd0qy6owwxr92jn
mineralisierendes
0
3541665
9936677
2026-10-02T03:04:19Z
Sayonzei
40728
[[w:WP:AES|←]]建立內容為「==德語== ===發音=== * {{IPA|de|/minəʁaliˈziːʁəndəs/}} * {{audio|de|De-mineralisierendes.ogg|a=柏林}} ===分詞=== {{head|de|分詞變格形}} # {{de-adj form of|mineralisierend}}」的新頁面
9936677
wikitext
text/x-wiki
==德語==
===發音===
* {{IPA|de|/minəʁaliˈziːʁəndəs/}}
* {{audio|de|De-mineralisierendes.ogg|a=柏林}}
===分詞===
{{head|de|分詞變格形}}
# {{de-adj form of|mineralisierend}}
rdnhlwnwx2lmwdhqv4seg7cb8z5xjlt
mineralisierter
0
3541666
9936678
2026-10-02T03:04:36Z
Sayonzei
40728
[[w:WP:AES|←]]建立內容為「==德語== ===發音=== * {{IPA|de|/minəʁaliˈziːɐ̯tɐ/}} * {{audio|de|De-mineralisierter.ogg|a=柏林}} ===分詞=== {{head|de|分詞變格形}} # {{de-adj form of|mineralisiert}}」的新頁面
9936678
wikitext
text/x-wiki
==德語==
===發音===
* {{IPA|de|/minəʁaliˈziːɐ̯tɐ/}}
* {{audio|de|De-mineralisierter.ogg|a=柏林}}
===分詞===
{{head|de|分詞變格形}}
# {{de-adj form of|mineralisiert}}
7ym1r487gpr7v6zv74lpor3jmmif23z
mineralisiertem
0
3541667
9936679
2026-10-02T03:04:38Z
Sayonzei
40728
[[w:WP:AES|←]]建立內容為「==德語== ===發音=== * {{IPA|de|/minəʁaliˈziːɐ̯təm/}} * {{audio|de|De-mineralisiertem.ogg|a=柏林}} ===分詞=== {{head|de|分詞變格形}} # {{de-adj form of|mineralisiert}}」的新頁面
9936679
wikitext
text/x-wiki
==德語==
===發音===
* {{IPA|de|/minəʁaliˈziːɐ̯təm/}}
* {{audio|de|De-mineralisiertem.ogg|a=柏林}}
===分詞===
{{head|de|分詞變格形}}
# {{de-adj form of|mineralisiert}}
bg0jng0w1vjfjfv0yzai0qs0mpiffj1
mineralisiertes
0
3541668
9936680
2026-10-02T03:04:40Z
Sayonzei
40728
[[w:WP:AES|←]]建立內容為「==德語== ===發音=== * {{IPA|de|/minəʁaliˈziːɐ̯təs/}} * {{audio|de|De-mineralisiertes.ogg|a=柏林}} ===分詞=== {{head|de|分詞變格形}} # {{de-adj form of|mineralisiert}}」的新頁面
9936680
wikitext
text/x-wiki
==德語==
===發音===
* {{IPA|de|/minəʁaliˈziːɐ̯təs/}}
* {{audio|de|De-mineralisiertes.ogg|a=柏林}}
===分詞===
{{head|de|分詞變格形}}
# {{de-adj form of|mineralisiert}}
m15a43nero8jrglzuf6stll2n7gzf3g
mineralisierte
0
3541669
9936681
2026-10-02T03:04:52Z
Sayonzei
40728
[[w:WP:AES|←]]建立內容為「==德語== ===發音=== * {{IPA|de|/minəʁaliˈziːɐ̯tə/}} * {{audio|de|De-mineralisierte.ogg|a=柏林}} ===動詞=== {{head|de|動詞變位形式}} # {{verb form of|de|mineralisieren||1//3|s|pret|;|1//3|s|sub|II}} ===分詞=== {{head|de|分詞變格形}} # {{de-adj form of|mineralisiert}}」的新頁面
9936681
wikitext
text/x-wiki
==德語==
===發音===
* {{IPA|de|/minəʁaliˈziːɐ̯tə/}}
* {{audio|de|De-mineralisierte.ogg|a=柏林}}
===動詞===
{{head|de|動詞變位形式}}
# {{verb form of|de|mineralisieren||1//3|s|pret|;|1//3|s|sub|II}}
===分詞===
{{head|de|分詞變格形}}
# {{de-adj form of|mineralisiert}}
gys4eyzbuvslmyw4bt1tc24culq99q6
mineralisierten
0
3541670
9936682
2026-10-02T03:04:55Z
Sayonzei
40728
[[w:WP:AES|←]]建立內容為「==德語== ===發音=== * {{IPA|de|/minəʁaliˈziːɐ̯tn̩/}} * {{audio|de|De-mineralisierten.ogg|a=柏林}} ===動詞=== {{head|de|動詞變位形式}} # {{verb form of|de|mineralisieren||1//3|p|pret|;|1//3|p|sub|II}} ===分詞=== {{head|de|分詞變格形}} # {{de-adj form of|mineralisiert}}」的新頁面
9936682
wikitext
text/x-wiki
==德語==
===發音===
* {{IPA|de|/minəʁaliˈziːɐ̯tn̩/}}
* {{audio|de|De-mineralisierten.ogg|a=柏林}}
===動詞===
{{head|de|動詞變位形式}}
# {{verb form of|de|mineralisieren||1//3|p|pret|;|1//3|p|sub|II}}
===分詞===
{{head|de|分詞變格形}}
# {{de-adj form of|mineralisiert}}
4k7d1c0nwnt6pioe43sssj9k37caydg
mineralisiere
0
3541671
9936683
2026-10-02T03:05:07Z
Sayonzei
40728
[[w:WP:AES|←]]建立內容為「==德語== ===發音=== * {{IPA|de|/minəʁaliˈziːʁə/}} * {{audio|de|De-mineralisiere.ogg|a=柏林}} ===動詞=== {{head|de|動詞變位形式}} # {{verb form of|de|mineralisieren||1|s|pres|;|1//3|s|sub|I|;|s|imp}}」的新頁面
9936683
wikitext
text/x-wiki
==德語==
===發音===
* {{IPA|de|/minəʁaliˈziːʁə/}}
* {{audio|de|De-mineralisiere.ogg|a=柏林}}
===動詞===
{{head|de|動詞變位形式}}
# {{verb form of|de|mineralisieren||1|s|pres|;|1//3|s|sub|I|;|s|imp}}
okmp88ib878o87ovdfhse9q17wptit0
mineralisierst
0
3541672
9936684
2026-10-02T03:05:09Z
Sayonzei
40728
[[w:WP:AES|←]]建立內容為「==德語== ===發音=== * {{IPA|de|/minəʁaliˈziːɐ̯st/}} * {{audio|de|De-mineralisierst.ogg|a=柏林}} ===動詞=== {{head|de|動詞變位形式}} # {{verb form of|de|mineralisieren||2|s|pres}}」的新頁面
9936684
wikitext
text/x-wiki
==德語==
===發音===
* {{IPA|de|/minəʁaliˈziːɐ̯st/}}
* {{audio|de|De-mineralisierst.ogg|a=柏林}}
===動詞===
{{head|de|動詞變位形式}}
# {{verb form of|de|mineralisieren||2|s|pres}}
ljc7ovi3ej7o00f9h7jhwdf1glwbw4d
mineralisiertest
0
3541673
9936685
2026-10-02T03:05:11Z
Sayonzei
40728
[[w:WP:AES|←]]建立內容為「==德語== ===發音=== * {{IPA|de|/minəʁaliˈziːɐ̯təst/}} * {{audio|de|De-mineralisiertest.ogg|a=柏林}} ===動詞=== {{head|de|動詞變位形式}} # {{verb form of|de|mineralisieren||2|s|pret|;|2|s|sub|II}}」的新頁面
9936685
wikitext
text/x-wiki
==德語==
===發音===
* {{IPA|de|/minəʁaliˈziːɐ̯təst/}}
* {{audio|de|De-mineralisiertest.ogg|a=柏林}}
===動詞===
{{head|de|動詞變位形式}}
# {{verb form of|de|mineralisieren||2|s|pret|;|2|s|sub|II}}
jhoxubu7gfwm51w54xsuia78kyvh404
mineralisier
0
3541674
9936686
2026-10-02T03:05:13Z
Sayonzei
40728
[[w:WP:AES|←]]建立內容為「==德語== ===發音=== * {{IPA|de|/minəʁaliˈziːɐ̯/}} * {{audio|de|De-mineralisier.ogg|a=柏林}} ===動詞=== {{head|de|動詞變位形式}} # {{infl of|de|mineralisieren||s|imp}}」的新頁面
9936686
wikitext
text/x-wiki
==德語==
===發音===
* {{IPA|de|/minəʁaliˈziːɐ̯/}}
* {{audio|de|De-mineralisier.ogg|a=柏林}}
===動詞===
{{head|de|動詞變位形式}}
# {{infl of|de|mineralisieren||s|imp}}
51e3rveb3oogbty4f9phi8qdopza9zo
mineralisiertet
0
3541675
9936687
2026-10-02T03:05:15Z
Sayonzei
40728
[[w:WP:AES|←]]建立內容為「==德語== ===發音=== * {{IPA|de|/minəʁaliˈziːɐ̯tət/}} * {{audio|de|De-mineralisiertet.ogg|a=柏林}} ===動詞=== {{head|de|動詞變位形式}} # {{verb form of|de|mineralisieren||2|p|pret|;|2|p|sub|II}}」的新頁面
9936687
wikitext
text/x-wiki
==德語==
===發音===
* {{IPA|de|/minəʁaliˈziːɐ̯tət/}}
* {{audio|de|De-mineralisiertet.ogg|a=柏林}}
===動詞===
{{head|de|動詞變位形式}}
# {{verb form of|de|mineralisieren||2|p|pret|;|2|p|sub|II}}
fvq5er96q5magabqz11z8w8n7cq9s7e
mineralisierest
0
3541676
9936688
2026-10-02T03:05:20Z
Sayonzei
40728
[[w:WP:AES|←]]建立內容為「==德語== ===發音=== * {{IPA|de|/minəʁaliˈziːʁəst/}} * {{audio|de|De-mineralisierest.ogg|a=柏林}} ===動詞=== {{head|de|動詞變位形式}} # {{verb form of|de|mineralisieren||2|s|sub|I}}」的新頁面
9936688
wikitext
text/x-wiki
==德語==
===發音===
* {{IPA|de|/minəʁaliˈziːʁəst/}}
* {{audio|de|De-mineralisierest.ogg|a=柏林}}
===動詞===
{{head|de|動詞變位形式}}
# {{verb form of|de|mineralisieren||2|s|sub|I}}
nxc61doxdf3xhpr6xu4djzg3zpivhnr
mineralisieret
0
3541677
9936689
2026-10-02T03:05:22Z
Sayonzei
40728
[[w:WP:AES|←]]建立內容為「==德語== ===發音=== * {{IPA|de|/minəʁaliˈziːʁət/}} * {{audio|de|De-mineralisieret.ogg|a=柏林}} ===動詞=== {{head|de|動詞變位形式}} # {{verb form of|de|mineralisieren||2|p|sub|I}}」的新頁面
9936689
wikitext
text/x-wiki
==德語==
===發音===
* {{IPA|de|/minəʁaliˈziːʁət/}}
* {{audio|de|De-mineralisieret.ogg|a=柏林}}
===動詞===
{{head|de|動詞變位形式}}
# {{verb form of|de|mineralisieren||2|p|sub|I}}
qd038rpwo8fs5d6707tw72je320whmh
entsalzend
0
3541678
9936690
2026-10-02T03:05:51Z
Sayonzei
40728
[[w:WP:AES|←]]建立內容為「==德語== ===發音=== * {{IPA|de|/ɛntˈzalt͡sn̩t/}} * {{audio|de|De-entsalzend.ogg|a=柏林}} ===分詞=== {{head|de|現在分詞}} # {{infl of|de|entsalzen||pres|part}} ====變格==== {{de-adecl}}」的新頁面
9936690
wikitext
text/x-wiki
==德語==
===發音===
* {{IPA|de|/ɛntˈzalt͡sn̩t/}}
* {{audio|de|De-entsalzend.ogg|a=柏林}}
===分詞===
{{head|de|現在分詞}}
# {{infl of|de|entsalzen||pres|part}}
====變格====
{{de-adecl}}
sup1k93ev3pogsy0qpl9irfqwkwt9l1
entsalzt
0
3541679
9936691
2026-10-02T03:05:58Z
Sayonzei
40728
[[w:WP:AES|←]]建立內容為「==德語== ===發音=== * {{IPA|de|/ɛntˈzalt͡st/}} * {{audio|de|De-entsalzt.ogg|a=柏林}} ===動詞=== {{head|de|動詞變位形式}} # {{infl of|de|entsalzen||2|s//p|pres|;|3|s|pres|;|p|imp}} ===分詞=== {{head|de|過去分詞}} # {{infl of|de|entsalzen||past|part}} ====變格==== {{de-adecl}}」的新頁面
9936691
wikitext
text/x-wiki
==德語==
===發音===
* {{IPA|de|/ɛntˈzalt͡st/}}
* {{audio|de|De-entsalzt.ogg|a=柏林}}
===動詞===
{{head|de|動詞變位形式}}
# {{infl of|de|entsalzen||2|s//p|pres|;|3|s|pres|;|p|imp}}
===分詞===
{{head|de|過去分詞}}
# {{infl of|de|entsalzen||past|part}}
====變格====
{{de-adecl}}
n5x3ptynucqbfcnx25sr4pahx0d6nwo
entsalzender
0
3541680
9936692
2026-10-02T03:06:09Z
Sayonzei
40728
[[w:WP:AES|←]]建立內容為「==德語== ===發音=== * {{IPA|de|/ɛntˈzalt͡sn̩dɐ/}} * {{audio|de|De-entsalzender.ogg|a=柏林}} ===分詞=== {{head|de|分詞變格形}} # {{de-adj form of|entsalzend}}」的新頁面
9936692
wikitext
text/x-wiki
==德語==
===發音===
* {{IPA|de|/ɛntˈzalt͡sn̩dɐ/}}
* {{audio|de|De-entsalzender.ogg|a=柏林}}
===分詞===
{{head|de|分詞變格形}}
# {{de-adj form of|entsalzend}}
nqroqiygyh46906idp7q5rryslpjtcv
entsalzenden
0
3541681
9936693
2026-10-02T03:06:11Z
Sayonzei
40728
[[w:WP:AES|←]]建立內容為「==德語== ===發音=== * {{IPA|de|/ɛntˈzalt͡sn̩dən/}} * {{audio|de|De-entsalzenden.ogg|a=柏林}} ===分詞=== {{head|de|分詞變格形}} # {{de-adj form of|entsalzend}}」的新頁面
9936693
wikitext
text/x-wiki
==德語==
===發音===
* {{IPA|de|/ɛntˈzalt͡sn̩dən/}}
* {{audio|de|De-entsalzenden.ogg|a=柏林}}
===分詞===
{{head|de|分詞變格形}}
# {{de-adj form of|entsalzend}}
mp32d91985w87vre7u8ssqqt4z7p3dz
entsalzendem
0
3541682
9936694
2026-10-02T03:06:13Z
Sayonzei
40728
[[w:WP:AES|←]]建立內容為「==德語== ===發音=== * {{IPA|de|/ɛntˈzalt͡sn̩dəm/}} * {{audio|de|De-entsalzendem.ogg|a=柏林}} ===分詞=== {{head|de|分詞變格形}} # {{de-adj form of|entsalzend}}」的新頁面
9936694
wikitext
text/x-wiki
==德語==
===發音===
* {{IPA|de|/ɛntˈzalt͡sn̩dəm/}}
* {{audio|de|De-entsalzendem.ogg|a=柏林}}
===分詞===
{{head|de|分詞變格形}}
# {{de-adj form of|entsalzend}}
7fn0wid6z9mu6gx43fxrhg1nt34li7h
entsalzende
0
3541683
9936695
2026-10-02T03:06:15Z
Sayonzei
40728
[[w:WP:AES|←]]建立內容為「==德語== ===發音=== * {{IPA|de|/ɛntˈzalt͡sn̩də/}} * {{audio|de|De-entsalzende.ogg|a=柏林}} ===分詞=== {{head|de|分詞變格形}} # {{de-adj form of|entsalzend}}」的新頁面
9936695
wikitext
text/x-wiki
==德語==
===發音===
* {{IPA|de|/ɛntˈzalt͡sn̩də/}}
* {{audio|de|De-entsalzende.ogg|a=柏林}}
===分詞===
{{head|de|分詞變格形}}
# {{de-adj form of|entsalzend}}
sazjbor6r70towqqps2ludz92wkeook
entsalzendes
0
3541684
9936696
2026-10-02T03:06:19Z
Sayonzei
40728
[[w:WP:AES|←]]建立內容為「==德語== ===發音=== * {{IPA|de|/ɛntˈzalt͡sn̩dəs/}} * {{audio|de|De-entsalzendes.ogg|a=柏林}} ===分詞=== {{head|de|分詞變格形}} # {{de-adj form of|entsalzend}}」的新頁面
9936696
wikitext
text/x-wiki
==德語==
===發音===
* {{IPA|de|/ɛntˈzalt͡sn̩dəs/}}
* {{audio|de|De-entsalzendes.ogg|a=柏林}}
===分詞===
{{head|de|分詞變格形}}
# {{de-adj form of|entsalzend}}
gpwj32j6y6tvkm8azxlmc4c6ls0xrdt
entsalzter
0
3541685
9936697
2026-10-02T03:06:43Z
Sayonzei
40728
[[w:WP:AES|←]]建立內容為「==德語== ===發音=== * {{IPA|de|/ɛntˈzalt͡stɐ/}} * {{audio|de|De-entsalzter.ogg|a=柏林}} ===分詞=== {{head|de|分詞變格形}} # {{de-adj form of|entsalzt}}」的新頁面
9936697
wikitext
text/x-wiki
==德語==
===發音===
* {{IPA|de|/ɛntˈzalt͡stɐ/}}
* {{audio|de|De-entsalzter.ogg|a=柏林}}
===分詞===
{{head|de|分詞變格形}}
# {{de-adj form of|entsalzt}}
bmmcw4b2jr0fxlp5ooi0nkq4ysbxfoa
entsalztem
0
3541686
9936698
2026-10-02T03:06:44Z
Sayonzei
40728
[[w:WP:AES|←]]建立內容為「==德語== ===發音=== * {{IPA|de|/ɛntˈzalt͡stəm/}} * {{audio|de|De-entsalztem.ogg|a=柏林}} ===分詞=== {{head|de|分詞變格形}} # {{de-adj form of|entsalzt}}」的新頁面
9936698
wikitext
text/x-wiki
==德語==
===發音===
* {{IPA|de|/ɛntˈzalt͡stəm/}}
* {{audio|de|De-entsalztem.ogg|a=柏林}}
===分詞===
{{head|de|分詞變格形}}
# {{de-adj form of|entsalzt}}
ltofj9blekenb52vvb7w6ar6lqsv27z
entsalztes
0
3541687
9936699
2026-10-02T03:06:46Z
Sayonzei
40728
[[w:WP:AES|←]]建立內容為「==德語== ===發音=== * {{IPA|de|/ɛntˈzalt͡stəs/}} * {{audio|de|De-entsalztes.ogg|a=柏林}} ===分詞=== {{head|de|分詞變格形}} # {{de-adj form of|entsalzt}}」的新頁面
9936699
wikitext
text/x-wiki
==德語==
===發音===
* {{IPA|de|/ɛntˈzalt͡stəs/}}
* {{audio|de|De-entsalztes.ogg|a=柏林}}
===分詞===
{{head|de|分詞變格形}}
# {{de-adj form of|entsalzt}}
tl5aon3vo9esa61iy5lruyzbu5boys4
entsalzte
0
3541688
9936700
2026-10-02T03:07:01Z
Sayonzei
40728
[[w:WP:AES|←]]建立內容為「==德語== ===發音=== * {{IPA|de|/ɛntˈzalt͡stə/}} * {{audio|de|De-entsalzte.ogg|a=柏林}} ===動詞=== {{head|de|動詞變位形式}} # {{infl of|de|entsalzen||1//3|s|pret|;|1//3|s|sub|II}} ===分詞=== {{head|de|分詞變格形}} # {{de-adj form of|entsalzt}}」的新頁面
9936700
wikitext
text/x-wiki
==德語==
===發音===
* {{IPA|de|/ɛntˈzalt͡stə/}}
* {{audio|de|De-entsalzte.ogg|a=柏林}}
===動詞===
{{head|de|動詞變位形式}}
# {{infl of|de|entsalzen||1//3|s|pret|;|1//3|s|sub|II}}
===分詞===
{{head|de|分詞變格形}}
# {{de-adj form of|entsalzt}}
6syatlrlepc6ku0gmxbbqgw0q3vqx2z
entsalzten
0
3541689
9936701
2026-10-02T03:07:04Z
Sayonzei
40728
[[w:WP:AES|←]]建立內容為「==德語== ===發音=== * {{IPA|de|/ɛntˈzalt͡stn̩/}} * {{audio|de|De-entsalzten.ogg|a=柏林}} ===動詞=== {{head|de|動詞變位形式}} # {{infl of|de|entsalzen||1//3|p|pret|;|1//3|p|sub|II}} ===分詞=== {{head|de|分詞變格形}} # {{de-adj form of|entsalzt}}」的新頁面
9936701
wikitext
text/x-wiki
==德語==
===發音===
* {{IPA|de|/ɛntˈzalt͡stn̩/}}
* {{audio|de|De-entsalzten.ogg|a=柏林}}
===動詞===
{{head|de|動詞變位形式}}
# {{infl of|de|entsalzen||1//3|p|pret|;|1//3|p|sub|II}}
===分詞===
{{head|de|分詞變格形}}
# {{de-adj form of|entsalzt}}
62np9rw4y9yggr923me7072f17q8t2f
entsalze
0
3541690
9936702
2026-10-02T03:07:25Z
Sayonzei
40728
[[w:WP:AES|←]]建立內容為「==德語== ===發音=== * {{IPA|de|/ɛntˈzalt͡sə/}} * {{audio|de|De-entsalze.ogg|a=柏林}} ===動詞=== {{head|de|動詞變位形式}} # {{infl of|de|entsalzen||1|s|pres|;|1//3|s|sub|I|;|s|imp}}」的新頁面
9936702
wikitext
text/x-wiki
==德語==
===發音===
* {{IPA|de|/ɛntˈzalt͡sə/}}
* {{audio|de|De-entsalze.ogg|a=柏林}}
===動詞===
{{head|de|動詞變位形式}}
# {{infl of|de|entsalzen||1|s|pres|;|1//3|s|sub|I|;|s|imp}}
pq5hw9q9x11ml6y4ylf2kqwic1k3fgf
entsalztest
0
3541691
9936703
2026-10-02T03:07:28Z
Sayonzei
40728
[[w:WP:AES|←]]建立內容為「==德語== ===發音=== * {{IPA|de|/ɛntˈzalt͡stəst/}} * {{audio|de|De-entsalztest.ogg|a=柏林}} ===動詞=== {{head|de|動詞變位形式}} # {{infl of|de|entsalzen||2|s|pret|;|2|s|sub|II}}」的新頁面
9936703
wikitext
text/x-wiki
==德語==
===發音===
* {{IPA|de|/ɛntˈzalt͡stəst/}}
* {{audio|de|De-entsalztest.ogg|a=柏林}}
===動詞===
{{head|de|動詞變位形式}}
# {{infl of|de|entsalzen||2|s|pret|;|2|s|sub|II}}
gn9j34q7flnpij0ckbz5plspuleprse
entsalz
0
3541692
9936704
2026-10-02T03:07:29Z
Sayonzei
40728
[[w:WP:AES|←]]建立內容為「==德語== ===發音=== * {{IPA|de|/ɛntˈzalt͡s/}} * {{audio|de|De-entsalz.ogg|a=柏林}} ===動詞=== {{head|de|動詞變位形式}} # {{infl of|de|entsalzen||s|imp}}」的新頁面
9936704
wikitext
text/x-wiki
==德語==
===發音===
* {{IPA|de|/ɛntˈzalt͡s/}}
* {{audio|de|De-entsalz.ogg|a=柏林}}
===動詞===
{{head|de|動詞變位形式}}
# {{infl of|de|entsalzen||s|imp}}
1e7ocveghgh1wmatf3eut8tw6xonvqo
entsalztet
0
3541693
9936705
2026-10-02T03:07:32Z
Sayonzei
40728
[[w:WP:AES|←]]建立內容為「==德語== ===發音=== * {{IPA|de|/ɛntˈzalt͡stət/}} * {{audio|de|De-entsalztet.ogg|a=柏林}} ===動詞=== {{head|de|動詞變位形式}} # {{infl of|de|entsalzen||2|p|pret|;|2|p|sub|II}}」的新頁面
9936705
wikitext
text/x-wiki
==德語==
===發音===
* {{IPA|de|/ɛntˈzalt͡stət/}}
* {{audio|de|De-entsalztet.ogg|a=柏林}}
===動詞===
{{head|de|動詞變位形式}}
# {{infl of|de|entsalzen||2|p|pret|;|2|p|sub|II}}
ic18uxjz5c0pbhnn7554xa9962eroau
entsalzest
0
3541694
9936706
2026-10-02T03:07:33Z
Sayonzei
40728
[[w:WP:AES|←]]建立內容為「==德語== ===發音=== * {{IPA|de|/ɛntˈzalt͡səst/}} * {{audio|de|De-entsalzest.ogg|a=柏林}} ===動詞=== {{head|de|動詞變位形式}} # {{infl of|de|entsalzen||2|s|sub|I}}」的新頁面
9936706
wikitext
text/x-wiki
==德語==
===發音===
* {{IPA|de|/ɛntˈzalt͡səst/}}
* {{audio|de|De-entsalzest.ogg|a=柏林}}
===動詞===
{{head|de|動詞變位形式}}
# {{infl of|de|entsalzen||2|s|sub|I}}
3kemjen486rqew61loc1n2rwjaross6
entsalzet
0
3541695
9936707
2026-10-02T03:07:35Z
Sayonzei
40728
[[w:WP:AES|←]]建立內容為「==德語== ===發音=== * {{IPA|de|/ɛntˈzalt͡sət/}} * {{audio|de|De-entsalzet.ogg|a=柏林}} ===動詞=== {{head|de|動詞變位形式}} # {{infl of|de|entsalzen||2|p|sub|I}}」的新頁面
9936707
wikitext
text/x-wiki
==德語==
===發音===
* {{IPA|de|/ɛntˈzalt͡sət/}}
* {{audio|de|De-entsalzet.ogg|a=柏林}}
===動詞===
{{head|de|動詞變位形式}}
# {{infl of|de|entsalzen||2|p|sub|I}}
tctry2xpvzwcdpiciwg1dhrm4p4aucy
entschwefeln
0
3541696
9936708
2026-10-02T03:38:57Z
Sayonzei
40728
[[w:WP:AES|←]]建立內容為「==德語== ===詞源=== {{Af|de|ent-|Schwefel|-n}} ===發音=== * {{IPA|de|/ɛntˈʃveːfl̩n/}} * {{audio|de|De-entschwefeln.ogg|a=柏林}} ===動詞=== {{de-verb}} # [[脫硫]] ====變位==== {{de-conj}} ====衍生詞==== * {{l|de|Entschwefelung}} ===參考資料=== * {{R:de:DWDS}}」的新頁面
9936708
wikitext
text/x-wiki
==德語==
===詞源===
{{Af|de|ent-|Schwefel|-n}}
===發音===
* {{IPA|de|/ɛntˈʃveːfl̩n/}}
* {{audio|de|De-entschwefeln.ogg|a=柏林}}
===動詞===
{{de-verb}}
# [[脫硫]]
====變位====
{{de-conj}}
====衍生詞====
* {{l|de|Entschwefelung}}
===參考資料===
* {{R:de:DWDS}}
1oitnu102kwcrop3x2x1b8g2rqc3hpf
entschwefelt
0
3541697
9936709
2026-10-02T03:41:59Z
Sayonzei
40728
[[w:WP:AES|←]]建立內容為「==德語== ===發音=== * {{IPA|de|/ɛntˈʃveːfl̩t/}} * {{audio|de|De-entschwefelt.ogg|a=柏林}} ===分詞=== {{head|de|過去分詞}} # {{past participle of|de|entschwefeln}} ====變格==== {{de-adecl}}」的新頁面
9936709
wikitext
text/x-wiki
==德語==
===發音===
* {{IPA|de|/ɛntˈʃveːfl̩t/}}
* {{audio|de|De-entschwefelt.ogg|a=柏林}}
===分詞===
{{head|de|過去分詞}}
# {{past participle of|de|entschwefeln}}
====變格====
{{de-adecl}}
tsho2vbqr7nxujbthhmmsgw03f84kxt
entschwefelnd
0
3541698
9936710
2026-10-02T03:42:00Z
Sayonzei
40728
[[w:WP:AES|←]]建立內容為「==德語== ===發音=== * {{IPA|de|/ɛntˈʃveːfl̩nt/}} * {{audio|de|De-entschwefelnd.ogg|a=柏林}} ===分詞=== {{head|de|現在分詞}} # {{infl of|de|entschwefeln||pres|part}} ====變格==== {{de-adecl}}」的新頁面
9936710
wikitext
text/x-wiki
==德語==
===發音===
* {{IPA|de|/ɛntˈʃveːfl̩nt/}}
* {{audio|de|De-entschwefelnd.ogg|a=柏林}}
===分詞===
{{head|de|現在分詞}}
# {{infl of|de|entschwefeln||pres|part}}
====變格====
{{de-adecl}}
ghuvhplq1i6sgs10nt0hr3z2psokj5a
entschwefelter
0
3541699
9936711
2026-10-02T03:42:26Z
Sayonzei
40728
[[w:WP:AES|←]]建立內容為「==德語== ===發音=== * {{IPA|de|/ɛntˈʃveːfl̩tɐ/}} * {{audio|de|De-entschwefelter.ogg|a=柏林}} ===分詞=== {{head|de|分詞變格形}} # {{de-adj form of|entschwefelt}}」的新頁面
9936711
wikitext
text/x-wiki
==德語==
===發音===
* {{IPA|de|/ɛntˈʃveːfl̩tɐ/}}
* {{audio|de|De-entschwefelter.ogg|a=柏林}}
===分詞===
{{head|de|分詞變格形}}
# {{de-adj form of|entschwefelt}}
bwlp2ft2gfyjxufeh0muzdg4boeukvx
entschwefeltem
0
3541700
9936712
2026-10-02T03:42:30Z
Sayonzei
40728
[[w:WP:AES|←]]建立內容為「==德語== ===發音=== * {{IPA|de|/ɛntˈʃveːfl̩təm/}} * {{audio|de|De-entschwefeltem.ogg|a=柏林}} ===分詞=== {{head|de|分詞變格形}} # {{de-adj form of|entschwefelt}}」的新頁面
9936712
wikitext
text/x-wiki
==德語==
===發音===
* {{IPA|de|/ɛntˈʃveːfl̩təm/}}
* {{audio|de|De-entschwefeltem.ogg|a=柏林}}
===分詞===
{{head|de|分詞變格形}}
# {{de-adj form of|entschwefelt}}
lqjx3ivr8kskw258432tuxemfdtenbg
entschwefeltes
0
3541701
9936713
2026-10-02T03:42:33Z
Sayonzei
40728
[[w:WP:AES|←]]建立內容為「==德語== ===發音=== * {{IPA|de|/ɛntˈʃveːfl̩təs/}} * {{audio|de|De-entschwefeltes.ogg|a=柏林}} ===分詞=== {{head|de|分詞變格形}} # {{de-adj form of|entschwefelt}}」的新頁面
9936713
wikitext
text/x-wiki
==德語==
===發音===
* {{IPA|de|/ɛntˈʃveːfl̩təs/}}
* {{audio|de|De-entschwefeltes.ogg|a=柏林}}
===分詞===
{{head|de|分詞變格形}}
# {{de-adj form of|entschwefelt}}
g1tjokv3nx08fz52y8aaecsylp39m1p
entschwefelnder
0
3541702
9936714
2026-10-02T03:42:51Z
Sayonzei
40728
[[w:WP:AES|←]]建立內容為「==德語== ===發音=== * {{IPA|de|/ɛntˈʃveːfl̩ndɐ/}} * {{audio|de|De-entschwefelnder.ogg|a=柏林}} ===分詞=== {{head|de|分詞變格形}} # {{de-adj form of|entschwefelnd}}」的新頁面
9936714
wikitext
text/x-wiki
==德語==
===發音===
* {{IPA|de|/ɛntˈʃveːfl̩ndɐ/}}
* {{audio|de|De-entschwefelnder.ogg|a=柏林}}
===分詞===
{{head|de|分詞變格形}}
# {{de-adj form of|entschwefelnd}}
alwju35t1uc0jboff3o3hyobj4zg467
entschwefelnden
0
3541703
9936715
2026-10-02T03:42:53Z
Sayonzei
40728
[[w:WP:AES|←]]建立內容為「==德語== ===發音=== * {{IPA|de|/ɛntˈʃveːfl̩ndn̩/}} * {{audio|de|De-entschwefelnden.ogg|a=柏林}} ===分詞=== {{head|de|分詞變格形}} # {{de-adj form of|entschwefelnd}}」的新頁面
9936715
wikitext
text/x-wiki
==德語==
===發音===
* {{IPA|de|/ɛntˈʃveːfl̩ndn̩/}}
* {{audio|de|De-entschwefelnden.ogg|a=柏林}}
===分詞===
{{head|de|分詞變格形}}
# {{de-adj form of|entschwefelnd}}
okmbv1kxc7igl4o12osbahszx7tdebj
entschwefelndem
0
3541704
9936716
2026-10-02T03:42:55Z
Sayonzei
40728
[[w:WP:AES|←]]建立內容為「==德語== ===發音=== * {{IPA|de|/ɛntˈʃveːfl̩ndəm/}} * {{audio|de|De-entschwefelndem.ogg|a=柏林}} ===分詞=== {{head|de|分詞變格形}} # {{de-adj form of|entschwefelnd}}」的新頁面
9936716
wikitext
text/x-wiki
==德語==
===發音===
* {{IPA|de|/ɛntˈʃveːfl̩ndəm/}}
* {{audio|de|De-entschwefelndem.ogg|a=柏林}}
===分詞===
{{head|de|分詞變格形}}
# {{de-adj form of|entschwefelnd}}
6z6x1llx5r6ux33z0s4n4afut3f0k1y
entschwefelnde
0
3541705
9936717
2026-10-02T03:42:57Z
Sayonzei
40728
[[w:WP:AES|←]]建立內容為「==德語== ===發音=== * {{IPA|de|/ɛntˈʃveːfl̩ndə/}} * {{audio|de|De-entschwefelnde.ogg|a=柏林}} ===分詞=== {{head|de|分詞變格形}} # {{de-adj form of|entschwefelnd}}」的新頁面
9936717
wikitext
text/x-wiki
==德語==
===發音===
* {{IPA|de|/ɛntˈʃveːfl̩ndə/}}
* {{audio|de|De-entschwefelnde.ogg|a=柏林}}
===分詞===
{{head|de|分詞變格形}}
# {{de-adj form of|entschwefelnd}}
j1iaw7avmwk96e6568othhc7z3b4g1q
entschwefelndes
0
3541706
9936718
2026-10-02T03:42:59Z
Sayonzei
40728
[[w:WP:AES|←]]建立內容為「==德語== ===發音=== * {{IPA|de|/ɛntˈʃveːfl̩ndəs/}} * {{audio|de|De-entschwefelndes.ogg|a=柏林}} ===分詞=== {{head|de|分詞變格形}} # {{de-adj form of|entschwefelnd}}」的新頁面
9936718
wikitext
text/x-wiki
==德語==
===發音===
* {{IPA|de|/ɛntˈʃveːfl̩ndəs/}}
* {{audio|de|De-entschwefelndes.ogg|a=柏林}}
===分詞===
{{head|de|分詞變格形}}
# {{de-adj form of|entschwefelnd}}
m636qecr47bwg7whr51b1scdaqo2oq6
entschwefelten
0
3541707
9936719
2026-10-02T03:43:21Z
Sayonzei
40728
[[w:WP:AES|←]]建立內容為「==德語== ===發音=== * {{IPA|de|/ɛntˈʃveːfl̩tn̩/}} * {{audio|de|De-entschwefelten.ogg|a=柏林}} ===動詞=== {{head|de|動詞變位形式}} # {{infl of|de|entschwefeln||1//3|p|pret|;|1//3|p|sub|II}} ===分詞=== {{head|de|分詞變格形}} # {{de-adj form of|entschwefelt}}」的新頁面
9936719
wikitext
text/x-wiki
==德語==
===發音===
* {{IPA|de|/ɛntˈʃveːfl̩tn̩/}}
* {{audio|de|De-entschwefelten.ogg|a=柏林}}
===動詞===
{{head|de|動詞變位形式}}
# {{infl of|de|entschwefeln||1//3|p|pret|;|1//3|p|sub|II}}
===分詞===
{{head|de|分詞變格形}}
# {{de-adj form of|entschwefelt}}
71npqnwijy6sovjcafhlg5b7v1lzezk
entschwefelte
0
3541708
9936720
2026-10-02T03:43:22Z
Sayonzei
40728
[[w:WP:AES|←]]建立內容為「==德語== ===發音=== * {{IPA|de|/ɛntˈʃveːfl̩tə/}} * {{audio|de|De-entschwefelte.ogg|a=柏林}} ===動詞=== {{head|de|動詞變位形式}} # {{infl of|de|entschwefeln||1//3|s|pret|;|1//3|s|sub|II}} ===分詞=== {{head|de|分詞變格形}} # {{de-adj form of|entschwefelt}}」的新頁面
9936720
wikitext
text/x-wiki
==德語==
===發音===
* {{IPA|de|/ɛntˈʃveːfl̩tə/}}
* {{audio|de|De-entschwefelte.ogg|a=柏林}}
===動詞===
{{head|de|動詞變位形式}}
# {{infl of|de|entschwefeln||1//3|s|pret|;|1//3|s|sub|II}}
===分詞===
{{head|de|分詞變格形}}
# {{de-adj form of|entschwefelt}}
esaze01ugsubffazc5r5ba791fbd6lc
entschwefle
0
3541709
9936721
2026-10-02T03:43:52Z
Sayonzei
40728
[[w:WP:AES|←]]建立內容為「==德語== ===發音=== * {{IPA|de|/ɛntˈʃveːflə/}} * {{audio|de|De-entschwefle.ogg|a=柏林}} ===動詞=== {{head|de|動詞變位形式}} # {{infl of|de|entschwefeln||1|s|pres|;|1//3|s|sub|I|;|s|imp}}」的新頁面
9936721
wikitext
text/x-wiki
==德語==
===發音===
* {{IPA|de|/ɛntˈʃveːflə/}}
* {{audio|de|De-entschwefle.ogg|a=柏林}}
===動詞===
{{head|de|動詞變位形式}}
# {{infl of|de|entschwefeln||1|s|pres|;|1//3|s|sub|I|;|s|imp}}
dwsyliz91ekxhf0ftbvmazzymmitwb4
entschwefele
0
3541710
9936722
2026-10-02T03:44:01Z
Sayonzei
40728
[[w:WP:AES|←]]建立內容為「==德語== ===發音=== * {{IPA|de|/ɛntˈʃveːfələ/}} * {{audio|de|De-entschwefele.ogg|a=柏林}} ===動詞=== {{head|de|動詞變位形式}} # {{infl of|de|entschwefeln||1|s|pres|;|1//3|s|sub|I|;|s|imp}}」的新頁面
9936722
wikitext
text/x-wiki
==德語==
===發音===
* {{IPA|de|/ɛntˈʃveːfələ/}}
* {{audio|de|De-entschwefele.ogg|a=柏林}}
===動詞===
{{head|de|動詞變位形式}}
# {{infl of|de|entschwefeln||1|s|pres|;|1//3|s|sub|I|;|s|imp}}
oxxj2x6xg494y4u8t5jphiap3lpxhol
entschwefel
0
3541711
9936723
2026-10-02T03:44:02Z
Sayonzei
40728
[[w:WP:AES|←]]建立內容為「==德語== ===發音=== * {{IPA|de|/ɛntˈʃveːfl̩/}} * {{audio|de|De-entschwefel.ogg|a=柏林}} ===動詞=== {{head|de|動詞變位形式}} # {{infl of|de|entschwefeln||1|s|pres|;|s|imp}}」的新頁面
9936723
wikitext
text/x-wiki
==德語==
===發音===
* {{IPA|de|/ɛntˈʃveːfl̩/}}
* {{audio|de|De-entschwefel.ogg|a=柏林}}
===動詞===
{{head|de|動詞變位形式}}
# {{infl of|de|entschwefeln||1|s|pres|;|s|imp}}
ssublopcpeeonyn2wdiibxzu7qjodd4
entschwefelst
0
3541712
9936724
2026-10-02T03:44:05Z
Sayonzei
40728
[[w:WP:AES|←]]建立內容為「==德語== ===發音=== * {{IPA|de|/ɛntˈʃveːfl̩st/}} * {{audio|de|De-entschwefelst.ogg|a=柏林}} ===動詞=== {{head|de|動詞變位形式}} # {{infl of|de|entschwefeln||2|s|pres}}」的新頁面
9936724
wikitext
text/x-wiki
==德語==
===發音===
* {{IPA|de|/ɛntˈʃveːfl̩st/}}
* {{audio|de|De-entschwefelst.ogg|a=柏林}}
===動詞===
{{head|de|動詞變位形式}}
# {{infl of|de|entschwefeln||2|s|pres}}
1f8e5gz5mr45nc5ykyn45bevrlbq9hd
entschwefeltet
0
3541713
9936725
2026-10-02T03:44:18Z
Sayonzei
40728
[[w:WP:AES|←]]建立內容為「==德語== ===發音=== * {{IPA|de|/ɛntˈʃveːfl̩tət/}} * {{audio|de|De-entschwefeltet.ogg|a=柏林}} ===動詞=== {{head|de|動詞變位形式}} # {{infl of|de|entschwefeln||2|p|pret|;|2|p|sub|II}}」的新頁面
9936725
wikitext
text/x-wiki
==德語==
===發音===
* {{IPA|de|/ɛntˈʃveːfl̩tət/}}
* {{audio|de|De-entschwefeltet.ogg|a=柏林}}
===動詞===
{{head|de|動詞變位形式}}
# {{infl of|de|entschwefeln||2|p|pret|;|2|p|sub|II}}
e8eprz7rrvqvxp1aan9y2r4jy0fcl32
entschweflest
0
3541714
9936726
2026-10-02T03:44:23Z
Sayonzei
40728
[[w:WP:AES|←]]建立內容為「==德語== ===發音=== * {{IPA|de|/ɛntˈʃveːfləst/}} * {{audio|de|De-entschweflest.ogg|a=柏林}} ===動詞=== {{head|de|動詞變位形式}} # {{infl of|de|entschwefeln||2|s|sub|I}}」的新頁面
9936726
wikitext
text/x-wiki
==德語==
===發音===
* {{IPA|de|/ɛntˈʃveːfləst/}}
* {{audio|de|De-entschweflest.ogg|a=柏林}}
===動詞===
{{head|de|動詞變位形式}}
# {{infl of|de|entschwefeln||2|s|sub|I}}
fecrw2033vkelfa956353bnoaecsstt
entschweflet
0
3541715
9936727
2026-10-02T03:44:26Z
Sayonzei
40728
[[w:WP:AES|←]]建立內容為「==德語== ===發音=== * {{IPA|de|/ɛntˈʃveːflət/}} * {{audio|de|De-entschweflet.ogg|a=柏林}} ===動詞=== {{head|de|動詞變位形式}} # {{infl of|de|entschwefeln||2|p|sub|I}}」的新頁面
9936727
wikitext
text/x-wiki
==德語==
===發音===
* {{IPA|de|/ɛntˈʃveːflət/}}
* {{audio|de|De-entschweflet.ogg|a=柏林}}
===動詞===
{{head|de|動詞變位形式}}
# {{infl of|de|entschwefeln||2|p|sub|I}}
pgwb22guuw0bdsae8deuo8d85n0d47j
entschwefeltest
0
3541716
9936728
2026-10-02T03:44:30Z
Sayonzei
40728
[[w:WP:AES|←]]建立內容為「==德語== ===發音=== * {{IPA|de|/ɛntˈʃveːfl̩təst/}} * {{audio|de|De-entschwefeltest.ogg|a=柏林}} ===動詞=== {{head|de|動詞變位形式}} # {{infl of|de|entschwefeln||2|s|pret|;|2|s|sub|II}}」的新頁面
9936728
wikitext
text/x-wiki
==德語==
===發音===
* {{IPA|de|/ɛntˈʃveːfl̩təst/}}
* {{audio|de|De-entschwefeltest.ogg|a=柏林}}
===動詞===
{{head|de|動詞變位形式}}
# {{infl of|de|entschwefeln||2|s|pret|;|2|s|sub|II}}
n6tf49a3b4ms75gq4ct8k6k7srpzo1p
entchloren
0
3541717
9936729
2026-10-02T03:45:40Z
Sayonzei
40728
[[w:WP:AES|←]]建立內容為「==德語== ===詞源=== 源自 {{affix|de|ent-|chloren}}。 ===發音=== * {{IPA|de|/ɛntˈkloːʁən/}} * {{audio|de|De-entchloren.ogg|a=柏林}} ===動詞=== {{de-verb}} # [[脫氯]] ====變位==== {{de-conj}} ===參考資料=== * {{R:de:DWDS}} ==盧森堡語== ===詞源=== 源自 {{affix|lb|ent-|chloren}}。 ===動詞=== {{lb-verb|entchlort|entchlort}} # [[脫氯]] ====變位==== {{lb-conj-regular|entchlor|entchlort|hunn}}」的新頁面
9936729
wikitext
text/x-wiki
==德語==
===詞源===
源自 {{affix|de|ent-|chloren}}。
===發音===
* {{IPA|de|/ɛntˈkloːʁən/}}
* {{audio|de|De-entchloren.ogg|a=柏林}}
===動詞===
{{de-verb}}
# [[脫氯]]
====變位====
{{de-conj}}
===參考資料===
* {{R:de:DWDS}}
==盧森堡語==
===詞源===
源自 {{affix|lb|ent-|chloren}}。
===動詞===
{{lb-verb|entchlort|entchlort}}
# [[脫氯]]
====變位====
{{lb-conj-regular|entchlor|entchlort|hunn}}
jdx8yuyyykhxl8jqr1szrk3ckcfi6wd
entchlorend
0
3541718
9936730
2026-10-02T03:46:47Z
Sayonzei
40728
[[w:WP:AES|←]]建立內容為「==德語== ===發音=== * {{IPA|de|/ɛntˈkloːʁənt/}} * {{audio|de|De-entchlorend.ogg|a=柏林}} ===分詞=== {{head|de|現在分詞}} # {{infl of|de|entchloren||pres|part}} ====變格==== {{de-adecl}}」的新頁面
9936730
wikitext
text/x-wiki
==德語==
===發音===
* {{IPA|de|/ɛntˈkloːʁənt/}}
* {{audio|de|De-entchlorend.ogg|a=柏林}}
===分詞===
{{head|de|現在分詞}}
# {{infl of|de|entchloren||pres|part}}
====變格====
{{de-adecl}}
clg2cqvh01e2ur5z16ug3bhkktsqx1w
entchlort
0
3541719
9936731
2026-10-02T03:46:55Z
Sayonzei
40728
[[w:WP:AES|←]]建立內容為「==德語== ===發音=== * {{IPA|de|/ɛntˈkloːɐ̯t/}} * {{audio|de|De-entchlort.ogg|a=柏林}} ===動詞=== {{head|de|動詞變位形式}} # {{infl of|de|entchloren||2|p|pres|;|3|s|pres|;|p|imp}} ===分詞=== {{head|de|過去分詞}} # {{infl of|de|entchloren||past|part}} ====變格==== {{de-adecl}}」的新頁面
9936731
wikitext
text/x-wiki
==德語==
===發音===
* {{IPA|de|/ɛntˈkloːɐ̯t/}}
* {{audio|de|De-entchlort.ogg|a=柏林}}
===動詞===
{{head|de|動詞變位形式}}
# {{infl of|de|entchloren||2|p|pres|;|3|s|pres|;|p|imp}}
===分詞===
{{head|de|過去分詞}}
# {{infl of|de|entchloren||past|part}}
====變格====
{{de-adecl}}
pgdurnbfav29urg6jwi3fvmh86embkl
entchlorender
0
3541720
9936732
2026-10-02T03:47:10Z
Sayonzei
40728
[[w:WP:AES|←]]建立內容為「==德語== ===發音=== * {{IPA|de|/ɛntˈkloːʁəndɐ/}} * {{audio|de|De-entchlorender.ogg|a=柏林}} ===分詞=== {{head|de|分詞變格形}} # {{de-adj form of|entchlorend}}」的新頁面
9936732
wikitext
text/x-wiki
==德語==
===發音===
* {{IPA|de|/ɛntˈkloːʁəndɐ/}}
* {{audio|de|De-entchlorender.ogg|a=柏林}}
===分詞===
{{head|de|分詞變格形}}
# {{de-adj form of|entchlorend}}
s2s81pq412i59w3oq8kzdo2s0k77m7p
entchlorenden
0
3541721
9936733
2026-10-02T03:47:13Z
Sayonzei
40728
[[w:WP:AES|←]]建立內容為「==德語== ===發音=== * {{IPA|de|/ɛntˈkloːʁəndn̩/}} * {{audio|de|De-entchlorenden.ogg|a=柏林}} ===分詞=== {{head|de|分詞變格形}} # {{de-adj form of|entchlorend}}」的新頁面
9936733
wikitext
text/x-wiki
==德語==
===發音===
* {{IPA|de|/ɛntˈkloːʁəndn̩/}}
* {{audio|de|De-entchlorenden.ogg|a=柏林}}
===分詞===
{{head|de|分詞變格形}}
# {{de-adj form of|entchlorend}}
6ag05r3qnp4bdnlohlo589hwk41i2hc
entchlorendem
0
3541722
9936734
2026-10-02T03:47:14Z
Sayonzei
40728
[[w:WP:AES|←]]建立內容為「==德語== ===發音=== * {{IPA|de|/ɛntˈkloːʁəndəm/}} * {{audio|de|De-entchlorendem.ogg|a=柏林}} ===分詞=== {{head|de|分詞變格形}} # {{de-adj form of|entchlorend}}」的新頁面
9936734
wikitext
text/x-wiki
==德語==
===發音===
* {{IPA|de|/ɛntˈkloːʁəndəm/}}
* {{audio|de|De-entchlorendem.ogg|a=柏林}}
===分詞===
{{head|de|分詞變格形}}
# {{de-adj form of|entchlorend}}
nvoylx98cetl70a3b97hyrkohigazlh
entchlorende
0
3541723
9936735
2026-10-02T03:47:16Z
Sayonzei
40728
[[w:WP:AES|←]]建立內容為「==德語== ===發音=== * {{IPA|de|/ɛntˈkloːʁəndə/}} * {{audio|de|De-entchlorende.ogg|a=柏林}} ===分詞=== {{head|de|分詞變格形}} # {{de-adj form of|entchlorend}}」的新頁面
9936735
wikitext
text/x-wiki
==德語==
===發音===
* {{IPA|de|/ɛntˈkloːʁəndə/}}
* {{audio|de|De-entchlorende.ogg|a=柏林}}
===分詞===
{{head|de|分詞變格形}}
# {{de-adj form of|entchlorend}}
7lpx8hw9ducj7fm90t1g1fafu6t4aqi
entchlorendes
0
3541724
9936736
2026-10-02T03:47:18Z
Sayonzei
40728
[[w:WP:AES|←]]建立內容為「==德語== ===發音=== * {{IPA|de|/ɛntˈkloːʁəndəs/}} * {{audio|de|De-entchlorendes.ogg|a=柏林}} ===分詞=== {{head|de|分詞變格形}} # {{de-adj form of|entchlorend}}」的新頁面
9936736
wikitext
text/x-wiki
==德語==
===發音===
* {{IPA|de|/ɛntˈkloːʁəndəs/}}
* {{audio|de|De-entchlorendes.ogg|a=柏林}}
===分詞===
{{head|de|分詞變格形}}
# {{de-adj form of|entchlorend}}
b12ckrb1dt57tfesptuo1r1reb720r9
entchlorter
0
3541725
9936737
2026-10-02T03:47:35Z
Sayonzei
40728
[[w:WP:AES|←]]建立內容為「==德語== ===發音=== * {{IPA|de|/ɛntˈkloːɐ̯tɐ/}} * {{audio|de|De-entchlorter.ogg|a=柏林}} ===分詞=== {{head|de|分詞變格形}} # {{de-adj form of|entchlort}}」的新頁面
9936737
wikitext
text/x-wiki
==德語==
===發音===
* {{IPA|de|/ɛntˈkloːɐ̯tɐ/}}
* {{audio|de|De-entchlorter.ogg|a=柏林}}
===分詞===
{{head|de|分詞變格形}}
# {{de-adj form of|entchlort}}
2wh71aymmgtr3i578zlp3bru91fh9qf
entchlortem
0
3541726
9936738
2026-10-02T03:47:36Z
Sayonzei
40728
[[w:WP:AES|←]]建立內容為「==德語== ===發音=== * {{IPA|de|/ɛntˈkloːɐ̯təm/}} * {{audio|de|De-entchlortem.ogg|a=柏林}} ===分詞=== {{head|de|分詞變格形}} # {{de-adj form of|entchlort}}」的新頁面
9936738
wikitext
text/x-wiki
==德語==
===發音===
* {{IPA|de|/ɛntˈkloːɐ̯təm/}}
* {{audio|de|De-entchlortem.ogg|a=柏林}}
===分詞===
{{head|de|分詞變格形}}
# {{de-adj form of|entchlort}}
7ex19mjefogmj4e6y91wmwtlqgf96n9
entchlortes
0
3541727
9936739
2026-10-02T03:47:38Z
Sayonzei
40728
[[w:WP:AES|←]]建立內容為「==德語== ===發音=== * {{IPA|de|/ɛntˈkloːɐ̯təs/}} * {{audio|de|De-entchlortes.ogg|a=柏林}} ===分詞=== {{head|de|分詞變格形}} # {{de-adj form of|entchlort}}」的新頁面
9936739
wikitext
text/x-wiki
==德語==
===發音===
* {{IPA|de|/ɛntˈkloːɐ̯təs/}}
* {{audio|de|De-entchlortes.ogg|a=柏林}}
===分詞===
{{head|de|分詞變格形}}
# {{de-adj form of|entchlort}}
iv8vhd80eb2r1nk3scmzvvcv88kshnc
entchlorte
0
3541728
9936740
2026-10-02T03:47:52Z
Sayonzei
40728
[[w:WP:AES|←]]建立內容為「==德語== ===發音=== * {{IPA|de|/ɛntˈkloːɐ̯tə/}} * {{audio|de|De-entchlorte.ogg|a=柏林}} ===動詞=== {{head|de|動詞變位形式}} # {{infl of|de|entchloren||1//3|s|pret|;|1//3|s|sub|II}} ===分詞=== {{head|de|分詞變格形}} # {{de-adj form of|entchlort}}」的新頁面
9936740
wikitext
text/x-wiki
==德語==
===發音===
* {{IPA|de|/ɛntˈkloːɐ̯tə/}}
* {{audio|de|De-entchlorte.ogg|a=柏林}}
===動詞===
{{head|de|動詞變位形式}}
# {{infl of|de|entchloren||1//3|s|pret|;|1//3|s|sub|II}}
===分詞===
{{head|de|分詞變格形}}
# {{de-adj form of|entchlort}}
dqvfnphaf3g4ubovd3esf665veco501
entchlorten
0
3541729
9936741
2026-10-02T03:47:55Z
Sayonzei
40728
[[w:WP:AES|←]]建立內容為「==德語== ===發音=== * {{IPA|de|/ɛntˈkloːɐ̯tn̩/}} * {{audio|de|De-entchlorten.ogg|a=柏林}} ===動詞=== {{head|de|動詞變位形式}} # {{infl of|de|entchloren||1//3|p|pret|;|1//3|p|sub|II}} ===分詞=== {{head|de|分詞變格形}} # {{de-adj form of|entchlort}}」的新頁面
9936741
wikitext
text/x-wiki
==德語==
===發音===
* {{IPA|de|/ɛntˈkloːɐ̯tn̩/}}
* {{audio|de|De-entchlorten.ogg|a=柏林}}
===動詞===
{{head|de|動詞變位形式}}
# {{infl of|de|entchloren||1//3|p|pret|;|1//3|p|sub|II}}
===分詞===
{{head|de|分詞變格形}}
# {{de-adj form of|entchlort}}
fo5f9pj8mykf0hdx4y8yypn6uae2wy6
entchlore
0
3541730
9936742
2026-10-02T03:48:23Z
Sayonzei
40728
[[w:WP:AES|←]]建立內容為「==德語== ===發音=== * {{IPA|de|/ɛntˈkloːʁə/}} * {{audio|de|De-entchlore.ogg|a=柏林}} ===動詞=== {{head|de|動詞變位形式}} # {{infl of|de|entchloren||1|s|pres|;|1//3|s|sub|I|;|s|imp}}」的新頁面
9936742
wikitext
text/x-wiki
==德語==
===發音===
* {{IPA|de|/ɛntˈkloːʁə/}}
* {{audio|de|De-entchlore.ogg|a=柏林}}
===動詞===
{{head|de|動詞變位形式}}
# {{infl of|de|entchloren||1|s|pres|;|1//3|s|sub|I|;|s|imp}}
g6kt40svchmnnu5ycdnd2siu4eji2vj
entchlorst
0
3541731
9936743
2026-10-02T03:48:24Z
Sayonzei
40728
[[w:WP:AES|←]]建立內容為「==德語== ===發音=== * {{IPA|de|/ɛntˈkloːɐ̯st/}} * {{audio|de|De-entchlorst.ogg|a=柏林}} ===動詞=== {{head|de|動詞變位形式}} # {{infl of|de|entchloren||2|s|pres}}」的新頁面
9936743
wikitext
text/x-wiki
==德語==
===發音===
* {{IPA|de|/ɛntˈkloːɐ̯st/}}
* {{audio|de|De-entchlorst.ogg|a=柏林}}
===動詞===
{{head|de|動詞變位形式}}
# {{infl of|de|entchloren||2|s|pres}}
4pmhi4buhygxk82x87mf9no4ic7i8l2
entchlortest
0
3541732
9936744
2026-10-02T03:48:27Z
Sayonzei
40728
[[w:WP:AES|←]]建立內容為「==德語== ===發音=== * {{IPA|de|/ɛntˈkloːɐ̯təst/}} * {{audio|de|De-entchlortest.ogg|a=柏林}} ===動詞=== {{head|de|動詞變位形式}} # {{infl of|de|entchloren||2|s|pret|;|2|s|sub|II}}」的新頁面
9936744
wikitext
text/x-wiki
==德語==
===發音===
* {{IPA|de|/ɛntˈkloːɐ̯təst/}}
* {{audio|de|De-entchlortest.ogg|a=柏林}}
===動詞===
{{head|de|動詞變位形式}}
# {{infl of|de|entchloren||2|s|pret|;|2|s|sub|II}}
br69tzu8p2gxnrf2f31okd47x8rwjmg
entchlor
0
3541733
9936745
2026-10-02T03:48:30Z
Sayonzei
40728
[[w:WP:AES|←]]建立內容為「==德語== ===發音=== * {{IPA|de|/ɛntˈkloːɐ̯/}} * {{audio|de|De-entchlor.ogg|a=柏林}} ===動詞=== {{head|de|動詞變位形式}} # {{infl of|de|entchloren||s|imp}}」的新頁面
9936745
wikitext
text/x-wiki
==德語==
===發音===
* {{IPA|de|/ɛntˈkloːɐ̯/}}
* {{audio|de|De-entchlor.ogg|a=柏林}}
===動詞===
{{head|de|動詞變位形式}}
# {{infl of|de|entchloren||s|imp}}
0ch9xdabroxrubqhygos4wwg1rn5qw9
entchlortet
0
3541734
9936746
2026-10-02T03:48:33Z
Sayonzei
40728
[[w:WP:AES|←]]建立內容為「==德語== ===發音=== * {{IPA|de|/ɛntˈkloːɐ̯tət/}} * {{audio|de|De-entchlortet.ogg|a=柏林}} ===動詞=== {{head|de|動詞變位形式}} # {{infl of|de|entchloren||2|p|pret|;|2|p|sub|II}}」的新頁面
9936746
wikitext
text/x-wiki
==德語==
===發音===
* {{IPA|de|/ɛntˈkloːɐ̯tət/}}
* {{audio|de|De-entchlortet.ogg|a=柏林}}
===動詞===
{{head|de|動詞變位形式}}
# {{infl of|de|entchloren||2|p|pret|;|2|p|sub|II}}
b2b97r5cdrm9ks330akcm62go2bb2ag
entchlorest
0
3541735
9936747
2026-10-02T03:48:36Z
Sayonzei
40728
[[w:WP:AES|←]]建立內容為「==德語== ===發音=== * {{IPA|de|/ɛntˈkloːʁəst/}} * {{audio|de|De-entchlorest.ogg|a=柏林}} ===動詞=== {{head|de|動詞變位形式}} # {{infl of|de|entchloren||2|s|sub|I}}」的新頁面
9936747
wikitext
text/x-wiki
==德語==
===發音===
* {{IPA|de|/ɛntˈkloːʁəst/}}
* {{audio|de|De-entchlorest.ogg|a=柏林}}
===動詞===
{{head|de|動詞變位形式}}
# {{infl of|de|entchloren||2|s|sub|I}}
8iwmdks6iculiewrr190x3kkt3ysuqv
entchloret
0
3541736
9936748
2026-10-02T03:48:38Z
Sayonzei
40728
[[w:WP:AES|←]]建立內容為「==德語== ===發音=== * {{IPA|de|/ɛntˈkloːʁət/}} * {{audio|de|De-entchloret.ogg|a=柏林}} ===動詞=== {{head|de|動詞變位形式}} # {{infl of|de|entchloren||2|p|sub|I}}」的新頁面
9936748
wikitext
text/x-wiki
==德語==
===發音===
* {{IPA|de|/ɛntˈkloːʁət/}}
* {{audio|de|De-entchloret.ogg|a=柏林}}
===動詞===
{{head|de|動詞變位形式}}
# {{infl of|de|entchloren||2|p|sub|I}}
hubnp7ci8646zx5thnbtyavled906gl
trainierend
0
3541737
9936750
2026-10-02T03:50:40Z
Sayonzei
40728
[[w:WP:AES|←]]建立內容為「==德語== ===發音=== * {{IPA|de|/tʁɛˈniːʁənt/|/tʁeˈniːʁənt/|/tʁəˈniːʁənt/}} * {{audio|de|De-trainierend.ogg|a=柏林}} ===分詞=== {{head|de|現在分詞}} # {{present participle of|de|trainieren}} ====變格==== {{de-adecl}}」的新頁面
9936750
wikitext
text/x-wiki
==德語==
===發音===
* {{IPA|de|/tʁɛˈniːʁənt/|/tʁeˈniːʁənt/|/tʁəˈniːʁənt/}}
* {{audio|de|De-trainierend.ogg|a=柏林}}
===分詞===
{{head|de|現在分詞}}
# {{present participle of|de|trainieren}}
====變格====
{{de-adecl}}
byufmeqcdbct0gwgw9iuhex1mnzu2jv
trainiert
0
3541738
9936751
2026-10-02T03:50:43Z
Sayonzei
40728
[[w:WP:AES|←]]建立內容為「==德語== ===發音=== * {{IPA|de|/tʁɛˈniːɐ̯t/|/tʁeˈniːɐ̯t/|/tʁəˈniːɐ̯t/}} * {{audio|de|De-trainiert.ogg|a=柏林}} ===分詞=== {{head|de|過去分詞}} # {{past participle of|de|trainieren}} ====變格==== {{de-adecl}} ===動詞=== {{head|de|動詞變位形式}} # {{verb form of|de|trainieren||3|s|pres|;|2|p|pres|;|p|imp}}」的新頁面
9936751
wikitext
text/x-wiki
==德語==
===發音===
* {{IPA|de|/tʁɛˈniːɐ̯t/|/tʁeˈniːɐ̯t/|/tʁəˈniːɐ̯t/}}
* {{audio|de|De-trainiert.ogg|a=柏林}}
===分詞===
{{head|de|過去分詞}}
# {{past participle of|de|trainieren}}
====變格====
{{de-adecl}}
===動詞===
{{head|de|動詞變位形式}}
# {{verb form of|de|trainieren||3|s|pres|;|2|p|pres|;|p|imp}}
tkbk6vvfc2j2o67iihl4yf7kt02exxy
Trainings
0
3541739
9936753
2026-10-02T03:51:11Z
Sayonzei
40728
[[w:WP:AES|←]]建立內容為「{{also|trainings}} ==德語== ===發音=== * {{IPA|de|/ˈtʁɛːnɪŋs/|/ˈtʁeːnɪŋs/|/ˈtʁɛɪ̯nɪŋs/}} * {{audio|de|De-Trainings.ogg|a=柏林}} ===名詞=== {{head|de|名詞變格形}} # {{plural of|de|Training}} # {{inflection of|de|Training||gen|s}}」的新頁面
9936753
wikitext
text/x-wiki
{{also|trainings}}
==德語==
===發音===
* {{IPA|de|/ˈtʁɛːnɪŋs/|/ˈtʁeːnɪŋs/|/ˈtʁɛɪ̯nɪŋs/}}
* {{audio|de|De-Trainings.ogg|a=柏林}}
===名詞===
{{head|de|名詞變格形}}
# {{plural of|de|Training}}
# {{inflection of|de|Training||gen|s}}
dfm72wqpv9jrx6hzvwltwzvtqcntb6w
trainierender
0
3541740
9936754
2026-10-02T03:51:54Z
Sayonzei
40728
[[w:WP:AES|←]]建立內容為「==德語== ===發音=== * {{IPA|de|/tʁeˈniːʁəndɐ/}} * {{audio|de|De-trainierender.ogg|a=柏林}} ===分詞=== {{head|de|分詞變格形}} # {{de-adj form of|trainierend}}」的新頁面
9936754
wikitext
text/x-wiki
==德語==
===發音===
* {{IPA|de|/tʁeˈniːʁəndɐ/}}
* {{audio|de|De-trainierender.ogg|a=柏林}}
===分詞===
{{head|de|分詞變格形}}
# {{de-adj form of|trainierend}}
1om027n8cpdlsnd2wel9xh6rmtelcyv
trainierenden
0
3541741
9936755
2026-10-02T03:51:56Z
Sayonzei
40728
[[w:WP:AES|←]]建立內容為「==德語== ===發音=== * {{IPA|de|/tʁeˈniːʁəndn̩/}} * {{audio|de|De-trainierenden.ogg|a=柏林}} ===分詞=== {{head|de|分詞變格形}} # {{de-adj form of|trainierend}}」的新頁面
9936755
wikitext
text/x-wiki
==德語==
===發音===
* {{IPA|de|/tʁeˈniːʁəndn̩/}}
* {{audio|de|De-trainierenden.ogg|a=柏林}}
===分詞===
{{head|de|分詞變格形}}
# {{de-adj form of|trainierend}}
203k5gd1myavd1w2qfmhbq32bd8l7eo
trainierendem
0
3541742
9936756
2026-10-02T03:51:57Z
Sayonzei
40728
[[w:WP:AES|←]]建立內容為「==德語== ===發音=== * {{IPA|de|/tʁeˈniːʁəndəm/}} * {{audio|de|De-trainierendem.ogg|a=柏林}} ===分詞=== {{head|de|分詞變格形}} # {{de-adj form of|trainierend}}」的新頁面
9936756
wikitext
text/x-wiki
==德語==
===發音===
* {{IPA|de|/tʁeˈniːʁəndəm/}}
* {{audio|de|De-trainierendem.ogg|a=柏林}}
===分詞===
{{head|de|分詞變格形}}
# {{de-adj form of|trainierend}}
karjsv64si89knovusa1ysc7b5m4yyi
trainierende
0
3541743
9936757
2026-10-02T03:51:59Z
Sayonzei
40728
[[w:WP:AES|←]]建立內容為「==德語== ===發音=== * {{IPA|de|/tʁeˈniːʁəndə/}} * {{audio|de|De-trainierende.ogg|a=柏林}} ===分詞=== {{head|de|分詞變格形}} # {{de-adj form of|trainierend}}」的新頁面
9936757
wikitext
text/x-wiki
==德語==
===發音===
* {{IPA|de|/tʁeˈniːʁəndə/}}
* {{audio|de|De-trainierende.ogg|a=柏林}}
===分詞===
{{head|de|分詞變格形}}
# {{de-adj form of|trainierend}}
th1ia8ad6kmcvsr5egr6htyhf9jhsyu
trainierendes
0
3541744
9936758
2026-10-02T03:52:01Z
Sayonzei
40728
[[w:WP:AES|←]]建立內容為「==德語== ===發音=== * {{IPA|de|/tʁeˈniːʁəndəs/}} * {{audio|de|De-trainierendes.ogg|a=柏林}} ===分詞=== {{head|de|分詞變格形}} # {{de-adj form of|trainierend}}」的新頁面
9936758
wikitext
text/x-wiki
==德語==
===發音===
* {{IPA|de|/tʁeˈniːʁəndəs/}}
* {{audio|de|De-trainierendes.ogg|a=柏林}}
===分詞===
{{head|de|分詞變格形}}
# {{de-adj form of|trainierend}}
64ndlabo601371nb8ab10oa6jq1weec
trainierter
0
3541745
9936760
2026-10-02T03:52:35Z
Sayonzei
40728
[[w:WP:AES|←]]建立內容為「==德語== ===發音=== * {{IPA|de|/tʁɛˈniːɐ̯tɐ/|/tʁeˈniːɐ̯tɐ/|/tʁəˈniːɐ̯tɐ/}} * {{audio|de|De-trainierter.ogg|a=柏林}} ===分詞=== {{head|de|分詞變格形}} # {{de-adj form of|trainiert}}」的新頁面
9936760
wikitext
text/x-wiki
==德語==
===發音===
* {{IPA|de|/tʁɛˈniːɐ̯tɐ/|/tʁeˈniːɐ̯tɐ/|/tʁəˈniːɐ̯tɐ/}}
* {{audio|de|De-trainierter.ogg|a=柏林}}
===分詞===
{{head|de|分詞變格形}}
# {{de-adj form of|trainiert}}
2ie5qa756c0tp0gc39sq4v3s1yig36l
trainiertem
0
3541746
9936761
2026-10-02T03:52:36Z
Sayonzei
40728
[[w:WP:AES|←]]建立內容為「==德語== ===發音=== * {{IPA|de|/tʁɛˈniːɐ̯təm/|/tʁeˈniːɐ̯təm/|/tʁəˈniːɐ̯təm/}} * {{audio|de|De-trainiertem.ogg|a=柏林}} ===分詞=== {{head|de|分詞變格形}} # {{de-adj form of|trainiert}}」的新頁面
9936761
wikitext
text/x-wiki
==德語==
===發音===
* {{IPA|de|/tʁɛˈniːɐ̯təm/|/tʁeˈniːɐ̯təm/|/tʁəˈniːɐ̯təm/}}
* {{audio|de|De-trainiertem.ogg|a=柏林}}
===分詞===
{{head|de|分詞變格形}}
# {{de-adj form of|trainiert}}
lm9mpq3f8f1jojhjhz8y3m5ulfp7wlu
trainiertes
0
3541747
9936762
2026-10-02T03:52:38Z
Sayonzei
40728
[[w:WP:AES|←]]建立內容為「==德語== ===發音=== * {{IPA|de|/tʁɛˈniːɐ̯təs/|/tʁeˈniːɐ̯təs/|/tʁəˈniːɐ̯təs/}} * {{audio|de|De-trainiertes.ogg|a=柏林}} ===分詞=== {{head|de|分詞變格形}} # {{de-adj form of|trainiert}}」的新頁面
9936762
wikitext
text/x-wiki
==德語==
===發音===
* {{IPA|de|/tʁɛˈniːɐ̯təs/|/tʁeˈniːɐ̯təs/|/tʁəˈniːɐ̯təs/}}
* {{audio|de|De-trainiertes.ogg|a=柏林}}
===分詞===
{{head|de|分詞變格形}}
# {{de-adj form of|trainiert}}
2el6hcaonw58vgx4xivrbqd9v3vv0q6
trainierte
0
3541748
9936763
2026-10-02T03:52:50Z
Sayonzei
40728
[[w:WP:AES|←]]建立內容為「==德語== ===發音=== * {{IPA|de|/tʁɛˈniːɐ̯tə/|/tʁeˈniːɐ̯tə/|/tʁəˈniːɐ̯tə/}} * {{audio|de|De-trainierte.ogg|a=柏林}} ===動詞=== {{head|de|動詞變位形式}} # {{verb form of|de|trainieren||1//3|s|pret|;|1//3|s|sub|II}} ===分詞=== {{head|de|分詞變格形}} # {{de-adj form of|trainiert}}」的新頁面
9936763
wikitext
text/x-wiki
==德語==
===發音===
* {{IPA|de|/tʁɛˈniːɐ̯tə/|/tʁeˈniːɐ̯tə/|/tʁəˈniːɐ̯tə/}}
* {{audio|de|De-trainierte.ogg|a=柏林}}
===動詞===
{{head|de|動詞變位形式}}
# {{verb form of|de|trainieren||1//3|s|pret|;|1//3|s|sub|II}}
===分詞===
{{head|de|分詞變格形}}
# {{de-adj form of|trainiert}}
9ne9uianm497g07fkzr18kxrtwd1vbv
trainierten
0
3541749
9936764
2026-10-02T03:52:53Z
Sayonzei
40728
[[w:WP:AES|←]]建立內容為「==德語== ===發音=== * {{IPA|de|/tʁɛˈniːɐ̯tn̩/|/tʁeˈniːɐ̯tn̩/|/tʁəˈniːɐ̯tn̩/}} * {{audio|de|De-trainierten.ogg|a=柏林}} ===動詞=== {{head|de|動詞變位形式}} # {{verb form of|de|trainieren||1//3|p|pret|;|1//3|p|sub|II}} ===分詞=== {{head|de|分詞變格形}} # {{de-adj form of|trainiert}}」的新頁面
9936764
wikitext
text/x-wiki
==德語==
===發音===
* {{IPA|de|/tʁɛˈniːɐ̯tn̩/|/tʁeˈniːɐ̯tn̩/|/tʁəˈniːɐ̯tn̩/}}
* {{audio|de|De-trainierten.ogg|a=柏林}}
===動詞===
{{head|de|動詞變位形式}}
# {{verb form of|de|trainieren||1//3|p|pret|;|1//3|p|sub|II}}
===分詞===
{{head|de|分詞變格形}}
# {{de-adj form of|trainiert}}
g0cq11up4jdc9vacmn36g8ti2jfp02c
trainiere
0
3541750
9936765
2026-10-02T03:53:15Z
Sayonzei
40728
[[w:WP:AES|←]]建立內容為「==德語== ===發音=== * {{IPA|de|/tʁɛˈniːʁə/|/tʁeˈniːʁə/|/tʁəˈniːʁə/}} * {{audio|de|De-trainiere.ogg|a=柏林}} ===動詞=== {{head|de|動詞變位形式}} # {{verb form of|de|trainieren||1|s|pres|;|s|imp|;|1//3|s|sub|I}}」的新頁面
9936765
wikitext
text/x-wiki
==德語==
===發音===
* {{IPA|de|/tʁɛˈniːʁə/|/tʁeˈniːʁə/|/tʁəˈniːʁə/}}
* {{audio|de|De-trainiere.ogg|a=柏林}}
===動詞===
{{head|de|動詞變位形式}}
# {{verb form of|de|trainieren||1|s|pres|;|s|imp|;|1//3|s|sub|I}}
puyhy0civwen3oszdndhzw66ionhstv
trainierst
0
3541751
9936766
2026-10-02T03:53:16Z
Sayonzei
40728
[[w:WP:AES|←]]建立內容為「==德語== ===發音=== * {{IPA|de|/tʁɛˈniːɐ̯st/|/tʁeˈniːɐ̯st/|/tʁəˈniːɐ̯st/}} * {{audio|de|De-trainierst.ogg|a=柏林}} ===動詞=== {{head|de|動詞變位形式}} # {{verb form of|de|trainieren||2|s|pres}}」的新頁面
9936766
wikitext
text/x-wiki
==德語==
===發音===
* {{IPA|de|/tʁɛˈniːɐ̯st/|/tʁeˈniːɐ̯st/|/tʁəˈniːɐ̯st/}}
* {{audio|de|De-trainierst.ogg|a=柏林}}
===動詞===
{{head|de|動詞變位形式}}
# {{verb form of|de|trainieren||2|s|pres}}
kfyhyye0me41tusa8ajcq0k3bghj0nk
trainiertest
0
3541752
9936767
2026-10-02T03:53:18Z
Sayonzei
40728
[[w:WP:AES|←]]建立內容為「==德語== ===發音=== * {{IPA|de|/tʁɛˈniːɐ̯təst/|/tʁeˈniːɐ̯təst/|/tʁəˈniːɐ̯təst/}} * {{audio|de|De-trainiertest.ogg|a=柏林}} ===動詞=== {{head|de|動詞變位形式}} # {{verb form of|de|trainieren||2|s|pret|;|2|s|sub|II}}」的新頁面
9936767
wikitext
text/x-wiki
==德語==
===發音===
* {{IPA|de|/tʁɛˈniːɐ̯təst/|/tʁeˈniːɐ̯təst/|/tʁəˈniːɐ̯təst/}}
* {{audio|de|De-trainiertest.ogg|a=柏林}}
===動詞===
{{head|de|動詞變位形式}}
# {{verb form of|de|trainieren||2|s|pret|;|2|s|sub|II}}
ji0fp2yez1e17nj4atzgee2fx4fnfrg
trainier
0
3541753
9936768
2026-10-02T03:53:20Z
Sayonzei
40728
[[w:WP:AES|←]]建立內容為「==德語== ===發音=== * {{IPA|de|/tʁɛˈniːɐ̯/|/tʁeˈniːɐ̯/|/tʁəˈniːɐ̯/}} * {{audio|de|De-trainier.ogg|a=柏林}} ===動詞=== {{head|de|動詞變位形式}} # {{infl of|de|trainieren||s|imp}}」的新頁面
9936768
wikitext
text/x-wiki
==德語==
===發音===
* {{IPA|de|/tʁɛˈniːɐ̯/|/tʁeˈniːɐ̯/|/tʁəˈniːɐ̯/}}
* {{audio|de|De-trainier.ogg|a=柏林}}
===動詞===
{{head|de|動詞變位形式}}
# {{infl of|de|trainieren||s|imp}}
imui6fwmy31a4qtdvz0uuxm4lepjcc6
trainiertet
0
3541754
9936769
2026-10-02T03:53:31Z
Sayonzei
40728
[[w:WP:AES|←]]建立內容為「==德語== ===發音=== * {{IPA|de|/tʁɛˈniːɐ̯tət/|/tʁeˈniːɐ̯tət/|/tʁəˈniːɐ̯tət/}} * {{audio|de|De-trainiertet.ogg|a=柏林}} ===動詞=== {{head|de|動詞變位形式}} # {{verb form of|de|trainieren||2|p|pret|;|2|p|sub|II}}」的新頁面
9936769
wikitext
text/x-wiki
==德語==
===發音===
* {{IPA|de|/tʁɛˈniːɐ̯tət/|/tʁeˈniːɐ̯tət/|/tʁəˈniːɐ̯tət/}}
* {{audio|de|De-trainiertet.ogg|a=柏林}}
===動詞===
{{head|de|動詞變位形式}}
# {{verb form of|de|trainieren||2|p|pret|;|2|p|sub|II}}
0nveqwn62tfvyfialdrq2juxqm5ppfh
trainierest
0
3541755
9936770
2026-10-02T03:53:34Z
Sayonzei
40728
[[w:WP:AES|←]]建立內容為「==德語== ===發音=== * {{IPA|de|/tʁɛˈniːʁəst/|/tʁeˈniːʁəst/|/tʁəˈniːʁəst/}} * {{audio|de|De-trainierest.ogg|a=柏林}} ===動詞=== {{head|de|動詞變位形式}} # {{verb form of|de|trainieren||2|s|sub|I}}」的新頁面
9936770
wikitext
text/x-wiki
==德語==
===發音===
* {{IPA|de|/tʁɛˈniːʁəst/|/tʁeˈniːʁəst/|/tʁəˈniːʁəst/}}
* {{audio|de|De-trainierest.ogg|a=柏林}}
===動詞===
{{head|de|動詞變位形式}}
# {{verb form of|de|trainieren||2|s|sub|I}}
hgwdg6e3gi87coceumo73f7hxr5b6lv
trainieret
0
3541756
9936771
2026-10-02T03:53:36Z
Sayonzei
40728
[[w:WP:AES|←]]建立內容為「==德語== ===發音=== * {{IPA|de|/tʁɛˈniːʁət/|/tʁeˈniːʁət/|/tʁəˈniːʁət/}} * {{audio|de|De-trainieret.ogg|a=柏林}} ===動詞=== {{head|de|動詞變位形式}} # {{verb form of|de|trainieren||2|p|sub|I}}」的新頁面
9936771
wikitext
text/x-wiki
==德語==
===發音===
* {{IPA|de|/tʁɛˈniːʁət/|/tʁeˈniːʁət/|/tʁəˈniːʁət/}}
* {{audio|de|De-trainieret.ogg|a=柏林}}
===動詞===
{{head|de|動詞變位形式}}
# {{verb form of|de|trainieren||2|p|sub|I}}
li3dbpasqsn1phi9cac494ycibc9f29
Trainern
0
3541757
9936773
2026-10-02T03:54:17Z
Sayonzei
40728
[[w:WP:AES|←]]建立內容為「==德語== ===發音=== * {{IPA|de|/ˈtʁɛːnɐn/|/ˈtʁeːnɐn/}} * {{audio|de|De-Trainern.ogg|a=柏林}} ===名詞=== {{head|de|名詞變格形|g=m}} # {{inflection of|de|Trainer||dat|p}}」的新頁面
9936773
wikitext
text/x-wiki
==德語==
===發音===
* {{IPA|de|/ˈtʁɛːnɐn/|/ˈtʁeːnɐn/}}
* {{audio|de|De-Trainern.ogg|a=柏林}}
===名詞===
{{head|de|名詞變格形|g=m}}
# {{inflection of|de|Trainer||dat|p}}
2yyj3ja9k1fdg2ird2ti260j8plc4t7
Trainers
0
3541758
9936774
2026-10-02T03:54:20Z
Sayonzei
40728
[[w:WP:AES|←]]建立內容為「{{also|trainers}} ==德語== ===發音=== * {{IPA|de|/ˈtʁɛːnɐs/|/ˈtʁeːnɐs/}} * {{audio|de|De-Trainers.ogg|a=柏林}} ===名詞=== {{head|de|名詞變格形}} # {{inflection of|de|Trainer||gen|s}}」的新頁面
9936774
wikitext
text/x-wiki
{{also|trainers}}
==德語==
===發音===
* {{IPA|de|/ˈtʁɛːnɐs/|/ˈtʁeːnɐs/}}
* {{audio|de|De-Trainers.ogg|a=柏林}}
===名詞===
{{head|de|名詞變格形}}
# {{inflection of|de|Trainer||gen|s}}
anuij1hlrq130c16lvxluon9lynigfi
Trainerin
0
3541759
9936775
2026-10-02T03:54:44Z
Sayonzei
40728
[[w:WP:AES|←]]建立內容為「==德語== ===詞源=== {{ety|de|:af|Trainer<t:教練>|-in<id:陰性>}} 源自 {{suffix|de|Trainer|-in<id:陰性>|gloss1=教練}}。 ===發音=== * {{IPA|de|/ˈtʁɛːnəʁɪn/|/ˈtʁeːnəʁɪn/}} * {{audio|de|De-Trainerin.ogg|a=柏林}} ===名詞=== {{de-noun|f|m=Trainer}} # 女[[教練]] ====變格==== {{de-ndecl|f}} ===延伸閱讀=== * {{R:de:Duden}} * {{R:de:DWDS}}」的新頁面
9936775
wikitext
text/x-wiki
==德語==
===詞源===
{{ety|de|:af|Trainer<t:教練>|-in<id:陰性>}}
源自 {{suffix|de|Trainer|-in<id:陰性>|gloss1=教練}}。
===發音===
* {{IPA|de|/ˈtʁɛːnəʁɪn/|/ˈtʁeːnəʁɪn/}}
* {{audio|de|De-Trainerin.ogg|a=柏林}}
===名詞===
{{de-noun|f|m=Trainer}}
# 女[[教練]]
====變格====
{{de-ndecl|f}}
===延伸閱讀===
* {{R:de:Duden}}
* {{R:de:DWDS}}
034i3g0gyxlg753lvlifn3fsv8h3jxr
Trainerinnen
0
3541760
9936776
2026-10-02T03:54:49Z
Sayonzei
40728
[[w:WP:AES|←]]建立內容為「==德語== ===發音=== * {{IPA|de|/ˈtʁɛːnəʁɪnən/|/ˈtʁeːnəʁɪnən/}} * {{audio|de|De-Trainerinnen.ogg|a=柏林}} ===名詞=== {{head|de|名詞變格形|g=f}} # {{plural of|de|Trainerin}}」的新頁面
9936776
wikitext
text/x-wiki
==德語==
===發音===
* {{IPA|de|/ˈtʁɛːnəʁɪnən/|/ˈtʁeːnəʁɪnən/}}
* {{audio|de|De-Trainerinnen.ogg|a=柏林}}
===名詞===
{{head|de|名詞變格形|g=f}}
# {{plural of|de|Trainerin}}
44813h70adw1h1o5fa5b0pw745n0wap
Bundestrainers
0
3541761
9936778
2026-10-02T03:55:29Z
Sayonzei
40728
[[w:WP:AES|←]]建立內容為「==德語== ===發音=== * {{IPA|de|/ˈbʊndəsˌtʁɛːnɐs/|/ˈbʊndəsˌtʁeːnɐs/}} * {{audio|de|De-Bundestrainers.ogg|a=柏林}} ===名詞=== {{head|de|名詞變格形|g=m}} # {{inflection of|de|Bundestrainer||gen|s}}」的新頁面
9936778
wikitext
text/x-wiki
==德語==
===發音===
* {{IPA|de|/ˈbʊndəsˌtʁɛːnɐs/|/ˈbʊndəsˌtʁeːnɐs/}}
* {{audio|de|De-Bundestrainers.ogg|a=柏林}}
===名詞===
{{head|de|名詞變格形|g=m}}
# {{inflection of|de|Bundestrainer||gen|s}}
guwmxvlhsnnuujigx1dsq9kq0ei3ku8
Bundestrainern
0
3541762
9936779
2026-10-02T03:55:32Z
Sayonzei
40728
[[w:WP:AES|←]]建立內容為「==德語== ===發音=== * {{IPA|de|/ˈbʊndəsˌtʁɛːnɐn/|/ˈbʊndəsˌtʁeːnɐn/}} * {{audio|de|De-Bundestrainern.ogg|a=柏林}} ===名詞=== {{head|de|名詞變格形|g=m}} # {{inflection of|de|Bundestrainer||dat|p}}」的新頁面
9936779
wikitext
text/x-wiki
==德語==
===發音===
* {{IPA|de|/ˈbʊndəsˌtʁɛːnɐn/|/ˈbʊndəsˌtʁeːnɐn/}}
* {{audio|de|De-Bundestrainern.ogg|a=柏林}}
===名詞===
{{head|de|名詞變格形|g=m}}
# {{inflection of|de|Bundestrainer||dat|p}}
79uipw68fwidtbu78svro8ujo1r3kxy
Bundestrainerin
0
3541763
9936780
2026-10-02T03:55:59Z
Sayonzei
40728
[[w:WP:AES|←]]建立內容為「==德語== ===發音=== * {{IPA|de|/ˈbʊndəsˌtʁɛːnəʁɪn/|/ˈbʊndəsˌtʁeːnəʁɪn/}} * {{audio|de|De-Bundestrainerin.ogg|a=柏林}} ===名詞=== {{de-noun|f|m=+}} # {{femeq|de|Bundestrainer}} ====變格==== {{de-ndecl|f}}」的新頁面
9936780
wikitext
text/x-wiki
==德語==
===發音===
* {{IPA|de|/ˈbʊndəsˌtʁɛːnəʁɪn/|/ˈbʊndəsˌtʁeːnəʁɪn/}}
* {{audio|de|De-Bundestrainerin.ogg|a=柏林}}
===名詞===
{{de-noun|f|m=+}}
# {{femeq|de|Bundestrainer}}
====變格====
{{de-ndecl|f}}
rsyqxkowyzk72zi7iic5o5xerfv9ubb
Bundestrainerinnen
0
3541764
9936781
2026-10-02T03:56:15Z
Sayonzei
40728
[[w:WP:AES|←]]建立內容為「==德語== ===發音=== * {{IPA|de|/ˈbʊndəsˌtʁɛːnəʁɪnən/|/ˈbʊndəsˌtʁeːnəʁɪnən/}} * {{audio|de|De-Bundestrainerinnen.ogg|a=柏林}} ===名詞=== {{head|de|名詞變格形}} # {{plural of|de|Bundestrainerin}}」的新頁面
9936781
wikitext
text/x-wiki
==德語==
===發音===
* {{IPA|de|/ˈbʊndəsˌtʁɛːnəʁɪnən/|/ˈbʊndəsˌtʁeːnəʁɪnən/}}
* {{audio|de|De-Bundestrainerinnen.ogg|a=柏林}}
===名詞===
{{head|de|名詞變格形}}
# {{plural of|de|Bundestrainerin}}
3nmkoapr0zc9a6q2ql4xo8g8u7y3xfo
OHCHR
0
3541765
9936782
2026-10-02T05:29:15Z
Hiyuune
119685
[[w:WP:AES|←]]建立內容為「==英語== ===專有名詞=== {{en-prop}} # {{lb|en|UN}} {{initialism of|en|{{w|lang=en|Office of the United Nations High Commissioner for Human Rights}}|t={{w|联合国人权事务高级专员办事处}}}}」的新頁面
9936782
wikitext
text/x-wiki
==英語==
===專有名詞===
{{en-prop}}
# {{lb|en|UN}} {{initialism of|en|{{w|lang=en|Office of the United Nations High Commissioner for Human Rights}}|t={{w|联合国人权事务高级专员办事处}}}}
gsz8zthw3cs2p7ccclxa83dzjs1f5gs
のじ
0
3541766
9936786
2026-10-02T06:30:46Z
TongcyDai
53191
[[w:WP:AES|←]]建立內容為「{{also|のし}} ==日語== ===發音=== {{ja-pron}} {{ja-pron|のず}} ===名詞=== {{ja-noun}} # {{ja-def|虹}} {{lb|ja|Tōhoku|中部|鳥取}} {{syn of|ja|にじ|tr=niji}} ===參考資料=== * {{R:ja:Nihon Kokugo Daijiten 2 Print}} ==上古日語== ===詞源=== {{inh+|ojp|jpx-pro|sort=のし|*nonsi}}。 和現代{{cog|ryu|ぬーじ|tr=nuːdʑi}}、{{cog|mvi|ぬず|tr=nudzɿ}}同源。 ===名詞=== {{head|ojp|名詞|tr=no<sub>1</sub>…」的新頁面
9936786
wikitext
text/x-wiki
{{also|のし}}
==日語==
===發音===
{{ja-pron}}
{{ja-pron|のず}}
===名詞===
{{ja-noun}}
# {{ja-def|虹}} {{lb|ja|Tōhoku|中部|鳥取}} {{syn of|ja|にじ|tr=niji}}
===參考資料===
* {{R:ja:Nihon Kokugo Daijiten 2 Print}}
==上古日語==
===詞源===
{{inh+|ojp|jpx-pro|sort=のし|*nonsi}}。
和現代{{cog|ryu|ぬーじ|tr=nuːdʑi}}、{{cog|mvi|ぬず|tr=nudzɿ}}同源。
===名詞===
{{head|ojp|名詞|tr=no<sub>1</sub>zi}}
# {{lb|ojp|regional|上代東國方言}} [[虹]],[[彩虹]]
#: {{syn|ja|ぬじ|tr=nuzi}}
#* {{RQ:Manyoshu|14|3414|passage=伊香保呂能[[八尺|夜左可]]能爲提爾多都'''努自'''能安良波路萬代母佐禰乎佐禰弖婆|translation=上野伊香保 清爽八咫堰堤間 現'''虹'''之所如 舉目昭彰眾人知 幾夜相寢共纏綿<!--https://miko.org/~uraki/kuon/furu/text/waka/manyou/m14.htm-->|transliteration=Ikaporo<sub>2</sub>-no<sub>2</sub>-yasaka no<sub>2</sub> wide ni tatu '''no<sub>1</sub>zi''' no<sub>2</sub> araparo<sub>1</sub> made mo sane wo saneteba}}
====派生語彙====
* {{desc|ja|unc=1|虹|tr=noji → niji}}
du8nvligx6chpye0sly35bhgg4k8m67
伸手黨
0
3541767
9936787
2026-10-02T06:52:28Z
ArsenalBastion4093
113517
[[w:WP:AES|←]]建立內容為「==汉语== {{zh-forms|s=伸手党|type=21}} ===发音=== {{zh-pron |m=shēnshǒudǎng |c=san1 sau2 dong2 |cat=n }} ===名词=== {{head|zh|noun}} # {{lb|zh|Mainland China|internet slang|originally|ACG|derogatory}} 不愿自主解决问题,常将他人帮助视为理所应当的人」的新頁面
9936787
wikitext
text/x-wiki
==汉语==
{{zh-forms|s=伸手党|type=21}}
===发音===
{{zh-pron
|m=shēnshǒudǎng
|c=san1 sau2 dong2
|cat=n
}}
===名词===
{{head|zh|noun}}
# {{lb|zh|Mainland China|internet slang|originally|ACG|derogatory}} 不愿自主解决问题,常将他人帮助视为理所应当的人
h2o48lhq70342kxnobvu5cdfv80cod6
テトリス
0
3541768
9936789
2026-10-02T07:10:05Z
ArsenalBastion4093
113517
[[w:WP:AES|←]]建立內容為「==日語== ===發音=== {{ja-pron}} ===專有名詞=== {{ja-pos|proper}} # [[俄羅斯方塊]]」的新頁面
9936789
wikitext
text/x-wiki
==日語==
===發音===
{{ja-pron}}
===專有名詞===
{{ja-pos|proper}}
# [[俄羅斯方塊]]
d05k48snt7ra33jm5v1u3wjqk662h1s
cupboardful
0
3541769
9936794
2026-10-02T08:47:28Z
Pristome
131990
翻译自[[en:cupboardful]]
9936794
wikitext
text/x-wiki
==英语==
===词源===
源自{{suffix|en|cupboard|ful|pos=noun}}。
===名词===
{{en-noun|s|cupboardsful}}
# 一[[碗柜]],一[[木橱]]
ejhw2g1y987sjayfcbiwc5l8mojq323
cupboardfuls
0
3541770
9936795
2026-10-02T08:50:20Z
Pristome
131990
[[w:WP:AES|←]]建立內容為「==英语== ===名词=== {{head|en|noun form}} # {{plural of|en|cupboardful}} ===异序词=== * {{anagrams|en|a=abcdfloprsuu|cupboardsful}}」的新頁面
9936795
wikitext
text/x-wiki
==英语==
===名词===
{{head|en|noun form}}
# {{plural of|en|cupboardful}}
===异序词===
* {{anagrams|en|a=abcdfloprsuu|cupboardsful}}
pygdcjy4epimvvchv3m6knw0u38kswf
cupboardsful
0
3541771
9936796
2026-10-02T08:51:17Z
Pristome
131990
[[w:WP:AES|←]]建立內容為「==英语== ===名词=== {{head|en|noun form}} # {{plural of|en|cupboardful}} ===异序词=== * {{anagrams|en|a=abcdfloprsuu|cupboardfuls}}」的新頁面
9936796
wikitext
text/x-wiki
==英语==
===名词===
{{head|en|noun form}}
# {{plural of|en|cupboardful}}
===异序词===
* {{anagrams|en|a=abcdfloprsuu|cupboardfuls}}
nf4qfxnscf9nzrxa97u8n5tb3l7t5oh
handfuls
0
3541772
9936797
2026-10-02T08:55:01Z
Pristome
131990
[[w:WP:AES|←]]建立內容為「==英语== ===名词=== {{head|en|noun form}} # {{plural of|en|handful}} ===异序词=== * {{anagrams|en|a=adfhlnsu|handsful}}」的新頁面
9936797
wikitext
text/x-wiki
==英语==
===名词===
{{head|en|noun form}}
# {{plural of|en|handful}}
===异序词===
* {{anagrams|en|a=adfhlnsu|handsful}}
8cj4a5he6qi7pspcac6x0bx142pe3g0
handsful
0
3541773
9936798
2026-10-02T08:55:44Z
Pristome
131990
[[w:WP:AES|←]]建立內容為「==英语== ===名词=== {{head|en|noun form}} # {{plural of|en|handful}} ===异序词=== * {{anagrams|en|a=adfhlnsu|handfuls}}」的新頁面
9936798
wikitext
text/x-wiki
==英语==
===名词===
{{head|en|noun form}}
# {{plural of|en|handful}}
===异序词===
* {{anagrams|en|a=adfhlnsu|handfuls}}
o7hunsd621i89xe6d8rkw99fzpoc5yq