Wiktionary
jawiktionary
https://ja.wiktionary.org/wiki/Wiktionary:%E3%83%A1%E3%82%A4%E3%83%B3%E3%83%9A%E3%83%BC%E3%82%B8
MediaWiki 1.47.0-wmf.5
case-sensitive
メディア
特別
トーク
利用者
利用者・トーク
Wiktionary
Wiktionary・トーク
ファイル
ファイル・トーク
MediaWiki
MediaWiki・トーク
テンプレート
テンプレート・トーク
ヘルプ
ヘルプ・トーク
カテゴリ
カテゴリ・トーク
付録
付録・トーク
TimedText
TimedText talk
モジュール
モジュール・トーク
Event
Event talk
き
0
1015
2281123
2280742
2026-06-09T04:33:02Z
Intolerable situation
84391
/* {{trans}} */
2281123
wikitext
text/x-wiki
{{wikipedia|き}}
[[ファイル:Japanese_Hiragana_kyokashotai_KI.svg|thumb|150px|き 教科書体]]
[[ファイル:Japanese_Hiragana_KI.png|thumb|書き順]]
=={{L|ja}}==
[[Category:かな]]
*[[平仮名]]
*五十音図: [[か行]] [[い段]]
*いろは順: 第38位。「さ」の次。「ゆ」の前。
*字源: [[幾]]の草体
*[[片仮名]]:[[キ]]
*[[ローマ字]]:ki
==={{noun}}・木===
{{ja-noun|木|樹|材|柝}}<ref>「材」の表記は『改訂新版 漢字源』より。</ref>
[[category:{{ja}}_木|*]]
[[category:木|*]]
{{wikipedia|木}}
{{wikipedia|木 (数学)}}
{{wikipedia|木構造 (データ構造)}}
#('''木'''・'''樹''')多年生[[植物]]で[[木本]]の性質を持つものの称。[[樹木]]。[[ツリー]]。
#('''木'''・'''材''')語義1を切り出し、道具や建物を作る材料。[[材木]]、[[木材]]。
#('''木'''・'''柝''')語義2を用いて作った打楽器の一種。[[拍子木]]。
#*チョンと'''木'''が入る。<small>(注:=拍子木が「チョン」と打ち鳴らされる。)</small>
#{{タグ|ja|数学}}('''木''')[[グラフ理論]]で[[閉路]]を持たない連結[[グラフ]]。任意の[[ノード]]を[[ね|根]]として決めると、全てのノードは[[唯一]]の[[おや|親]]ノードを持つ。[[ツリー]]。
#{{タグ|ja|情報技術}}('''木''')グラフ理論の木の形の[[データ構造]]。[[ツリー]]。
===={{pron}}====
{{ja-pron|acc=1}}
{{ja-accent-common|region=京阪|h|き|ー}}
===={{trans}}====
{{trans-top|樹木}}
*{{T|is}}: {{t|is|tré}}
*{{T|ain}}: [[ニ]] (ni)
*{{T|ay}}: [[khoka]]
*{{T|ak}}: {{t-|ak|dua}}
*{{T|az}}: {{t|az|ağac}}
*{{T|any}}: {{tø|any|baka}}
*{{T|af}}: {{t|af|boom}}
*{{T|ar}}: {{Arab|[[شجر|شَجَرٌ]]}} (šájar) {{m}} ''(集合名詞)'', {{Arab|[[شجرة|شَجَرَةٌ]]}} (šájara) {{f}} ''(単数)''
*{{T|arc}}: (シリア文字) [[ܐܝܠܢܐ]] (’īlānā’) {{m}}、(ヘブル文字) [[אילנא]] (’īlānā’) {{m}}
*{{T|sq}}: {{t|sq|dru|m}}, {{t|sq|pemë|f}}
*{{T|hy}}: {{t|hy|ծառ|tr=çaṙ|sc=Armn}}
*{{T|it}}: {{t|it|albero|m}}
*{{T|yi}}: [[בוים]] (boym) {{m}}
*{{T|io}}: [[arboro]] {{m}}
*{{T|ig}}: [[osịsị]]
*{{T|ia}}: [[arbore]]
*{{T|id}}: {{t|id|pohon}}
*{{T|cy}}: {{t|cy|coeden}}, {{t|cy|pren}};〔口語〕{{t-|cy|colfen}}
*{{T|uk}}: {{t|uk|дерево|n|tr=dérevo|sc=Cyrl}}
*{{T|uz}}: {{t|uz|daraxt}}
*{{T|ur}}: {{ur-Arab|[[پیڑ]]}} (pe.r)
*{{T|en}}: (高木){{t|en|tree}};(低木){{t|en|shrub}}
*:{{T|ang}}: {{t-|ang|treow|alt=trēow}}, {{t-|ang|beam|alt=bēam}}, {{t-|ang|wudu}}
*{{T|et}}: {{t|et|puu}}
*{{T|eo}}: {{t|eo|arbo}}
*{{T|myv}}: [[чувто]] (chuvto)
*{{T|oj}}: [[mitig]], [[mitigoog]] {{p}}
*{{T|nl}}: {{t|nl|boom|m}}
*{{T|gag}}: {{tø|gag|fidan}}, {{tø|gag|aaç}}
*{{T|kk}}: {{t|kk|ағаш|tr=ağaş|sc=Cyrl}}, {{t|kk|дарақ|tr=daraq|sc=Cyrl}}
*{{T|csb}}: {{t-|csb|drzéwò|n}}
*{{T|ca}}: {{t|ca|arbre|m}}
*{{T|gl}}: [[árbore]] {{f}}
*{{T|yue}}: [[樹]]/[[树]](syu<sup>6</sup>), [[喬木]]/[[乔木]](kiu<sup>4</sup>muk<sup>6</sup>)
*{{T|kn}}: {{t|kn|ಮರ|tr=mara}}, {{t|kn|ವೃಕ್ಷ|tr=vr̥kṣa}}, {{t|kn|ತರು|tr=taru}}, {{t|kn|ದ್ರುಮ|tr=druma}}, {{t|kn|ಪಾದಪ|tr=pādapa}}
*{{T|ki}}: {{t-|ki|mũtĩ|c3}}
*{{T|se}}: [[muorra]]
*{{T|el}}: {{t|el|δέντρο|n|tr=déntro|sc=Grek}}, {{t|el|δένδρο|n|tr=déndro|sc=Grek}}
*{{T|ky}}: {{t|ky|жыгач|tr=cığaç|sc=Cyrl}}, {{t|ky|дарак|tr=daraq|sc=Cyrl}}
*{{T|gn}}: [[yvyra]]
*{{T|km}}: {{Khmr|[[ដើមឈើ]]}} (darm cher)
*{{T|cr}}: [[ᒥᔥᑎᒄ]]
*{{T|kl}}: {{t-|kl|orpik}}
*{{T|crh}}: {{tø|crh|terek}}
*{{T|ka}}: [[ხე]] (xe)
*{{T|qu}}: [[sacha]], [[sachakuna]] {{p}}
*{{T|xh}}: [[umthi]]
*{{T|egy}}: {{tø|egy|šn|sc=Egyp}}
*{{T|cu}}: {{tø|cu|дрѣво|n|tr=drěvo|sc=Cyrs}}
*{{T|non}}: [[tré]]
*{{T|sm}}: {{t-|sm|la'au|alt=lā’au}}
*{{T|sa}}: {{t|sa|तरु|m|tr=taru-|sc=Deva}}, {{t|sa|द्रुम|m|tr=druma-|sc=Deva}}, {{t|sa|वृक्ष|m|tr=vr̥kṣa-|sc=Deva}}, {{t|sa|कुज|m|tr=kuja-|sc=Deva}}
*{{T|scn}}: {{t|scn|àrbulu|m}}
*{{T|jv}}: {{t|jv|wit}}
*{{T|sd}}: {{sd-Arab|[[ون]]}} (vanu)
*{{T|sv}}: {{t|sv|träd|n}}
*{{T|gd}}: [[craobh]] {{f}}
*{{T|es}}: (高木){{t|es|árbol|m}};(低木){{t|es|arbusto|m}}
*{{T|sk}}: {{t|sk|strom|m}}
*{{T|sl}}: {{t|sl|drevo|n}}
*{{T|sw}}: {{t|sw|mti}} {{s}}, {{t|sw|miti}} {{p}} (クラス3/4)
*{{T|ceb}}: [[punuan]]
*{{T|sh}}:
*:キリル文字: [[дрво]] {{n}}, [[стабло]] {{n}}
*:ラテン文字: {{t|sh|drvo|n}}, {{t|sh|stablo|n}}
*{{T|so}}: {{t|so|geed}}
*{{T|wen}}:
*:{{T|hsb}}: [[štom]]
*{{T|th}}: {{t|th|ต้นไม้|tr=tôn mái}}
*{{T|tl}}: {{t|tl|puno}}
*{{T|tg}}: [[дарахт]] (darakht)
*{{T|tt}}: {{t|tt|агач|tr=agač}}
*{{T|ta}}: {{t|ta|மரம்|tr=maram}}
*{{T|cs}}: {{t|cs|strom|m}}
*{{T|ce}}: {{tø|ce|дитт|tr=ditt|sc=Cyrl}}
*{{T|cv}}: {{tø|cv|йывӑҫ|tr=yıvăś|sc=Cyrl}}
*{{T|zh}}: {{t|zh|樹}}/{{t|zh|树|tr=shù}}, {{t|zh|喬木}}/{{t|zh|乔木|tr=qiáomù}}
*{{T|ko}}: {{t|ko|나무}}
*{{T|tzh}}: {{tø|tzh|te'}}
*{{T|tzo}}: {{tø|tzo|te'}}
*{{T|te}}: {{t|te|చెట్టు|tr=ceṭṭu}}
*{{T|da}}: {{t|da|træ|n}}
*{{T|de}}: 〔単数〕{{t|de|Baum|m}},〔複数〕{{t|de|Baum|p|alt=Bäume}}
*{{T|tpn}}: [[ybyrá]]
*{{T|tpi}}: [[diwai]]
*{{T|tk}}: {{t|tk|agaç}}
*{{T|tr}}: {{t|tr|ağaç}}
*{{T|nah}}: [[cuahuitl]]
*{{T|fy}}: [[beam]]
*{{T|no}}: {{t|no|tre|n}}
*{{T|ba}}: {{t-|ba|ағас|tr=ağas|sc=Cyrl}}
*{{T|eu}}: [[zuhaitz]]
*{{T|hu}}: {{t|hu|fa}}
*{{T|pa}}: [[ਦਰੱਖ਼ਤ]] (daraḵḵẖt), [[ਪੇੜ]](pēṛ)
*{{T|my}}: {{t|my|သစ်ပင်|tr=sacʻ paṅʻ}}, {{t|my|အပင်|tr=ʼa paṅʻ}}, {{t|my|သစ်|tr=sacʻ}}
*{{T|hi}}: {{t|hi|वृक्ष|m|tr=vṛkṣa|sc=Deva}}, {{t|hi|पेड़|tr=peṛa}}
*{{T|fi}}: {{t|fi|puu}}
*{{T|fo}}: {{t-|fo|træ}}
*{{T|fr}}: {{t|fr|arbre|m}}
*{{T|bg}}: {{t|bg|дърво|n|tr=dǎrvo|sc=Cyrl}}
*{{T|br}}: [[gwez]] ''(集合名詞)'' [[gwezenn]] {{f|s}}
*{{T|vi}}: {{t|vi|cây}}
*{{T|he}}: [[עץ|עֵץ]] (‛ēts) {{m}}
*{{T|fa}}: {{t|fa|درخت|tr=deraxt|sc=fa-Arab}}, {{t-|fa|شجر|tr=šajar|sc=fa-Arab}}
*{{T|bn}}: {{t|bn|গাছ|tr=gācha}}, {{t-|bn|বৃক্ষ|tr=br̥ksha}}
*{{T|pl}}: {{qualifier|高木}} {{t|pl|drzewo|n}}; {{qualifier|低木}} {{t|pl|krzew|m}}
*{{T|pt}}: {{t|pt|árvore|f}}
*{{T|mk}}: {{t-|mk|дрво|n|tr=d'rvo|sc=Cyrl}}
*{{T|mas}}: 〔単数〕{{tø|mas|chani|alt=olchani|m}},〔複数〕{{tø|mas|keek|alt=ilkeek}}
*{{T|mr}}: [[झाड]] (zhād)
*{{T|ml}}: {{t|ml|മരം|tr=maraṃ}}, {{t|ml|വൃക്ഷം|tr=vr̥kṣaṃ}}
*{{T|mt}}: {{t-|mt|siġra}}
*{{T|ms}}: {{t|ms|pokok}}
*{{T|mnc}}: {{MongolUnicode|lang=mnc|[[ᠮᠣᠣ]]}} ({{t|mnc|moo}})
*{{T|gv}}: [[billey]]
*{{T|mnw}}: {{t|mnw|ဆု|tr=chu}}
*{{T|mn}}: {{t|mn|мод|tr=mod|sc=Cyrl}}
*{{T|lo}}: {{t|lo|ຕົ້ນໄມ້|tr=ton-mai|sc=Laoo}}
*{{T|la}}: {{t|la|arbor|f}}
*{{T|lv}}: {{t|lv|koks}}
*{{T|lt}}: {{qualifier|高木}} {{t|lt|mẽdis|m}}; {{qualifier|低木}} {{t|lt|krū́mas|m}}
*{{T|ro}}: {{t|ro|arbore|m}}, {{t|ro|copac|m}}, {{t|ro|pom|m}}
*{{T|lb}}: {{t|lb|Baam}}
*{{T|ru}}: {{t|ru|дерево|alt=де́рево|n|tr=dérevo|sc=Cyrl}}
{{trans-bottom}}
{{trans-top|グラフ理論}}
*{{T|en}}: {{t|en|tree}}
*{{T|sv}}: {{t|sv|träd|n}}
*{{T|ko}}: {{t|ko|나무}}
{{trans-bottom}}
{{trans-top|データ構造}}
*{{T|en}}: {{t|en|tree}}
*{{T|sv}}: {{t|sv|träd|n}}
{{trans-bottom}}
==={{noun}}・黄===
{{ja-noun|黄}}
#{{context|color|lang=ja}}卵の[[きみ|黄身]]のような色。[[きいろ|黄色]]。
===={{pron}}====
{{ja-pron|acc=0|acc2=1}}
{{ja-accent-common|region=京阪|h||きー}}
==={{noun}}・生===
{{ja-noun|生}}
#[[まじりけ]]のないこと。元のままで手を加えていないこと。
==={{verb}}===
{{head|ja|動詞 活用形}}【[[来]]】
#「[[くる]]」の連用形。
===漢字===
[[Wiktionary:漢字索引 音訓 き]]参照
=={{L|ojp}}==
[[Category:{{ojp}}]]
===万葉仮名の表記===
*甲:[[支]]、[[伎]]、[[岐]]、[[企]]、[[棄]]、[[寸]]、[[吉]]、[[杵]]、[[來]]、[[枳]]、[[耆]]、[[祗]]、[[祁]]
*乙:[[貴]]、[[己]]、[[忌]]、[[紀]]、[[記]]、[[奇]]、[[寄]]、[[幾]]、[[機]]、[[木]]、[[城]]、[[綺]]、[[騎]]、[[基]]、[[氣]]、[[歸]]、[[樹]]、[[黄]]
==={{noun}}/{{adjectivenoun}}・黄===
{{ojp-noun|黄}}
#{{context|color|lang=ojp}}色の名。[[黄色]]。[[きい]]。
{{古典日本語ナリ活用|き}}
==={{noun}}・酒===
{{ojp-noun|酒}}
[[Category:{{ojp}}_酒|*]]
#[[さけ]]。
#*[[神酒]]([[みき|み'''き''']])、[[御神酒]]([[おみき|おみ'''き''']])
==={{noun}}・城===
{{ojp-noun|城|柵}}
#[[しろ]]。[[城郭]]。
#*[[城戸|'''城'''戸]]([[きど|'''き'''ど]])
#[[とりで]]。[[城砦]]。{{ふりがな|堡塁|ほうるい}}。
#*[[干城|干'''城''']]([[たてき|たて'''き''']])
#*渟足'''柵'''(ぬたりの'''き''')
==={{noun}}・木===
{{ojp-noun|木}}
[[Category:{{ojp}}_木|*]]
#[[樹木]]、[[材木]]。
===={{pron}}====
{{ojp-pron-noun-1-3}}
==={{verb}}===
{{head|ojp|動詞 活用形}}【[[来]]】
# 「[[く]]」の[[連用形]]。
==={{auxverb}}===
{{head|ojp|助動詞}}
#(体験過去)過去に自分が体験したことを回想する。
#*花面白かり'''き'''。 (花はすばらしかっ'''た''' 。)
#*かれを見'''し'''とき (彼を見'''た''' とき)
#伝聞などの、自己が体験し得ないこと、見なかったことについても自己の記憶に刻まれている場合。
#*音に聞き目にはいまだ見ず佐用比売が領布振り'''き'''とふ松浦山。 (評判に聞きまだ見ない。佐用比売が領布を振っ'''た'''という松浦山は。)(万葉集883)
====[[付録:日本語の活用|活用]]====
{{inf-ja-aux
|接続 = 連用
|未然形 = せ
|連用形 = ○
|終止形 = き
|連体形 = し
|已然形 = しか
|命令形 = ○
|}}
*カ変・サ変には未然形にも接続する。
**カ変は未然「こ」・連用「き」とも連体「し」・已然「しか」で接続する。サ変は未然「せ」の場合連体「し」・已然「しか」で接続し、連用「し」の場合終止「き」で接続する。
**カ変の連用形に接続する用例は少なく、複合名詞「{{おくりがな3|来|き|'''し'''|方|かた||きしかた}}」以外は殆ど見られない。
*未然形「せ」は「~せば~まし」という構文で「もしも~としたら~だろうに」という意味を表すのにのみ用いる。
===={{syn}}====
*[[けり]]
[[Category:日本語の基本語彙]]
===その他===
#ク活用の[[形容詞]]の[[連体形]]の[[活用語尾]]
#* [[たかし|高き]]山。([[高い]]山)
==文字コード==
{{codepoint}}
c5l63otinsdcp34799s6bapqoe7z01g
2281124
2281123
2026-06-09T04:52:28Z
Intolerable situation
84391
/* {{trans}} */
2281124
wikitext
text/x-wiki
{{wikipedia|き}}
[[ファイル:Japanese_Hiragana_kyokashotai_KI.svg|thumb|150px|き 教科書体]]
[[ファイル:Japanese_Hiragana_KI.png|thumb|書き順]]
=={{L|ja}}==
[[Category:かな]]
*[[平仮名]]
*五十音図: [[か行]] [[い段]]
*いろは順: 第38位。「さ」の次。「ゆ」の前。
*字源: [[幾]]の草体
*[[片仮名]]:[[キ]]
*[[ローマ字]]:ki
==={{noun}}・木===
{{ja-noun|木|樹|材|柝}}<ref>「材」の表記は『改訂新版 漢字源』より。</ref>
[[category:{{ja}}_木|*]]
[[category:木|*]]
{{wikipedia|木}}
{{wikipedia|木 (数学)}}
{{wikipedia|木構造 (データ構造)}}
#('''木'''・'''樹''')多年生[[植物]]で[[木本]]の性質を持つものの称。[[樹木]]。[[ツリー]]。
#('''木'''・'''材''')語義1を切り出し、道具や建物を作る材料。[[材木]]、[[木材]]。
#('''木'''・'''柝''')語義2を用いて作った打楽器の一種。[[拍子木]]。
#*チョンと'''木'''が入る。<small>(注:=拍子木が「チョン」と打ち鳴らされる。)</small>
#{{タグ|ja|数学}}('''木''')[[グラフ理論]]で[[閉路]]を持たない連結[[グラフ]]。任意の[[ノード]]を[[ね|根]]として決めると、全てのノードは[[唯一]]の[[おや|親]]ノードを持つ。[[ツリー]]。
#{{タグ|ja|情報技術}}('''木''')グラフ理論の木の形の[[データ構造]]。[[ツリー]]。
===={{pron}}====
{{ja-pron|acc=1}}
{{ja-accent-common|region=京阪|h|き|ー}}
===={{trans}}====
{{trans-top|樹木}}
*{{T|is}}: {{t|is|tré}}
*{{T|ain}}: [[ニ]] (ni)
*{{T|ay}}: [[khoka]]
*{{T|ak}}: {{t-|ak|dua}}
*{{T|az}}: {{t|az|ağac}}
*{{T|any}}: {{tø|any|baka}}
*{{T|af}}: {{t|af|boom}}
*{{T|ar}}: {{Arab|[[شجر|شَجَرٌ]]}} (šájar) {{m}} ''(集合名詞)'', {{Arab|[[شجرة|شَجَرَةٌ]]}} (šájara) {{f}} ''(単数)''
*{{T|arc}}: (シリア文字) [[ܐܝܠܢܐ]] (’īlānā’) {{m}}、(ヘブル文字) [[אילנא]] (’īlānā’) {{m}}
*{{T|sq}}: {{t|sq|dru|m}}, {{t|sq|pemë|f}}
*{{T|hy}}: {{t|hy|ծառ|tr=çaṙ|sc=Armn}}
*{{T|it}}: {{t|it|albero|m}}
*{{T|yi}}: [[בוים]] (boym) {{m}}
*{{T|io}}: [[arboro]] {{m}}
*{{T|ig}}: [[osịsị]]
*{{T|ia}}: [[arbore]]
*{{T|id}}: {{t|id|pohon}}
*{{T|cy}}: {{t|cy|coeden}}, {{t|cy|pren}};〔口語〕{{t-|cy|colfen}}
*{{T|uk}}: {{t|uk|дерево|n|tr=dérevo|sc=Cyrl}}
*{{T|uz}}: {{t|uz|daraxt}}
*{{T|ur}}: {{ur-Arab|[[پیڑ]]}} (pe.r)
*{{T|en}}: (高木){{t|en|tree}};(低木){{t|en|shrub}}
*:{{T|ang}}: {{t-|ang|treow|alt=trēow}}, {{t-|ang|beam|alt=bēam}}, {{t-|ang|wudu}}
*{{T|et}}: {{t|et|puu}}
*{{T|eo}}: {{t|eo|arbo}}
*{{T|myv}}: [[чувто]] (chuvto)
*{{T|oj}}: [[mitig]], [[mitigoog]] {{p}}
*{{T|nl}}: {{t|nl|boom|m}}
*{{T|gag}}: {{tø|gag|fidan}}, {{tø|gag|aaç}}
*{{T|kk}}: {{t|kk|ағаш|tr=ağaş|sc=Cyrl}}, {{t|kk|дарақ|tr=daraq|sc=Cyrl}}
*{{T|csb}}: {{t-|csb|drzéwò|n}}
*{{T|ca}}: {{t|ca|arbre|m}}
*{{T|gl}}: {{t|gl|árbore|f}}
*{{T|yue}}: [[樹]]/[[树]](syu<sup>6</sup>), [[喬木]]/[[乔木]](kiu<sup>4</sup>muk<sup>6</sup>)
*{{T|kn}}: {{t|kn|ಮರ|tr=mara}}, {{t|kn|ವೃಕ್ಷ|tr=vr̥kṣa}}, {{t|kn|ತರು|tr=taru}}, {{t|kn|ದ್ರುಮ|tr=druma}}, {{t|kn|ಪಾದಪ|tr=pādapa}}
*{{T|ki}}: {{t-|ki|mũtĩ|c3}}
*{{T|se}}: [[muorra]]
*{{T|el}}: {{t|el|δέντρο|n|tr=déntro|sc=Grek}}, {{t|el|δένδρο|n|tr=déndro|sc=Grek}}
*{{T|ky}}: {{t|ky|жыгач|tr=cığaç|sc=Cyrl}}, {{t|ky|дарак|tr=daraq|sc=Cyrl}}
*{{T|gn}}: [[yvyra]]
*{{T|km}}: {{Khmr|[[ដើមឈើ]]}} (darm cher)
*{{T|cr}}: [[ᒥᔥᑎᒄ]]
*{{T|kl}}: {{t-|kl|orpik}}
*{{T|crh}}: {{tø|crh|terek}}
*{{T|ka}}: [[ხე]] (xe)
*{{T|qu}}: [[sacha]], [[sachakuna]] {{p}}
*{{T|xh}}: [[umthi]]
*{{T|egy}}: {{tø|egy|šn|sc=Egyp}}
*{{T|cu}}: {{tø|cu|дрѣво|n|tr=drěvo|sc=Cyrs}}
*{{T|non}}: [[tré]]
*{{T|sm}}: {{t-|sm|la'au|alt=lā’au}}
*{{T|sa}}: {{t|sa|तरु|m|tr=taru-|sc=Deva}}, {{t|sa|द्रुम|m|tr=druma-|sc=Deva}}, {{t|sa|वृक्ष|m|tr=vr̥kṣa-|sc=Deva}}, {{t|sa|कुज|m|tr=kuja-|sc=Deva}}
*{{T|scn}}: {{t|scn|àrbulu|m}}
*{{T|jv}}: {{t|jv|wit}}
*{{T|sd}}: {{sd-Arab|[[ون]]}} (vanu)
*{{T|sv}}: {{t|sv|träd|n}}
*{{T|gd}}: [[craobh]] {{f}}
*{{T|es}}: (高木){{t|es|árbol|m}};(低木){{t|es|arbusto|m}}
*{{T|sk}}: {{t|sk|strom|m}}
*{{T|sl}}: {{t|sl|drevo|n}}
*{{T|sw}}: {{t|sw|mti}} {{s}}, {{t|sw|miti}} {{p}} (クラス3/4)
*{{T|ceb}}: [[punuan]]
*{{T|sh}}:
*:キリル文字: [[дрво]] {{n}}, [[стабло]] {{n}}
*:ラテン文字: {{t|sh|drvo|n}}, {{t|sh|stablo|n}}
*{{T|so}}: {{t|so|geed}}
*{{T|wen}}:
*:{{T|hsb}}: [[štom]]
*{{T|th}}: {{t|th|ต้นไม้|tr=tôn mái}}
*{{T|tl}}: {{t|tl|puno}}
*{{T|tg}}: [[дарахт]] (darakht)
*{{T|tt}}: {{t|tt|агач|tr=agač}}
*{{T|ta}}: {{t|ta|மரம்|tr=maram}}
*{{T|cs}}: {{t|cs|strom|m}}
*{{T|ce}}: {{tø|ce|дитт|tr=ditt|sc=Cyrl}}
*{{T|cv}}: {{tø|cv|йывӑҫ|tr=yıvăś|sc=Cyrl}}
*{{T|zh}}: {{t|zh|樹}}/{{t|zh|树|tr=shù}}, {{t|zh|喬木}}/{{t|zh|乔木|tr=qiáomù}}
*{{T|ko}}: {{t|ko|나무}}
*{{T|tzh}}: {{tø|tzh|te'}}
*{{T|tzo}}: {{tø|tzo|te'}}
*{{T|te}}: {{t|te|చెట్టు|tr=ceṭṭu}}
*{{T|da}}: {{t|da|træ|n}}
*{{T|de}}: 〔単数〕{{t|de|Baum|m}},〔複数〕{{t|de|Baum|p|alt=Bäume}}
*{{T|tpn}}: [[ybyrá]]
*{{T|tpi}}: [[diwai]]
*{{T|tk}}: {{t|tk|agaç}}
*{{T|tr}}: {{t|tr|ağaç}}
*{{T|nah}}: [[cuahuitl]]
*{{T|fy}}: [[beam]]
*{{T|no}}: {{t|no|tre|n}}
*{{T|ba}}: {{t-|ba|ағас|tr=ağas|sc=Cyrl}}
*{{T|eu}}: [[zuhaitz]]
*{{T|hu}}: {{t|hu|fa}}
*{{T|pa}}: [[ਦਰੱਖ਼ਤ]] (daraḵḵẖt), [[ਪੇੜ]](pēṛ)
*{{T|my}}: {{t|my|သစ်ပင်|tr=sacʻ paṅʻ}}, {{t|my|အပင်|tr=ʼa paṅʻ}}, {{t|my|သစ်|tr=sacʻ}}
*{{T|hi}}: {{t|hi|वृक्ष|m|tr=vṛkṣa|sc=Deva}}, {{t|hi|पेड़|tr=peṛa}}
*{{T|fi}}: {{t|fi|puu}}
*{{T|fo}}: {{t-|fo|træ}}
*{{T|fr}}: {{t|fr|arbre|m}}
*{{T|bg}}: {{t|bg|дърво|n|tr=dǎrvo|sc=Cyrl}}
*{{T|br}}: [[gwez]] ''(集合名詞)'' [[gwezenn]] {{f|s}}
*{{T|vi}}: {{t|vi|cây}}
*{{T|he}}: [[עץ|עֵץ]] (‛ēts) {{m}}
*{{T|fa}}: {{t|fa|درخت|tr=deraxt|sc=fa-Arab}}, {{t-|fa|شجر|tr=šajar|sc=fa-Arab}}
*{{T|bn}}: {{t|bn|গাছ|tr=gācha}}, {{t-|bn|বৃক্ষ|tr=br̥ksha}}
*{{T|pl}}: {{qualifier|高木}} {{t|pl|drzewo|n}}; {{qualifier|低木}} {{t|pl|krzew|m}}
*{{T|pt}}: {{t|pt|árvore|f}}
*{{T|mk}}: {{t-|mk|дрво|n|tr=d'rvo|sc=Cyrl}}
*{{T|mas}}: 〔単数〕{{tø|mas|chani|alt=olchani|m}},〔複数〕{{tø|mas|keek|alt=ilkeek}}
*{{T|mr}}: [[झाड]] (zhād)
*{{T|ml}}: {{t|ml|മരം|tr=maraṃ}}, {{t|ml|വൃക്ഷം|tr=vr̥kṣaṃ}}
*{{T|mt}}: {{t-|mt|siġra}}
*{{T|ms}}: {{t|ms|pokok}}
*{{T|mnc}}: {{MongolUnicode|lang=mnc|[[ᠮᠣᠣ]]}} ({{t|mnc|moo}})
*{{T|gv}}: [[billey]]
*{{T|mnw}}: {{t|mnw|ဆု|tr=chu}}
*{{T|mn}}: {{t|mn|мод|tr=mod|sc=Cyrl}}
*{{T|lo}}: {{t|lo|ຕົ້ນໄມ້|tr=ton-mai|sc=Laoo}}
*{{T|la}}: {{t|la|arbor|f}}
*{{T|lv}}: {{t|lv|koks}}
*{{T|lt}}: {{qualifier|高木}} {{t|lt|mẽdis|m}}; {{qualifier|低木}} {{t|lt|krū́mas|m}}
*{{T|ro}}: {{t|ro|arbore|m}}, {{t|ro|copac|m}}, {{t|ro|pom|m}}
*{{T|lb}}: {{t|lb|Baam}}
*{{T|ru}}: {{t|ru|дерево|alt=де́рево|n|tr=dérevo|sc=Cyrl}}
{{trans-bottom}}
{{trans-top|グラフ理論}}
*{{T|en}}: {{t|en|tree}}
*{{T|sv}}: {{t|sv|träd|n}}
*{{T|ko}}: {{t|ko|나무}}
{{trans-bottom}}
{{trans-top|データ構造}}
*{{T|en}}: {{t|en|tree}}
*{{T|sv}}: {{t|sv|träd|n}}
{{trans-bottom}}
==={{noun}}・黄===
{{ja-noun|黄}}
#{{context|color|lang=ja}}卵の[[きみ|黄身]]のような色。[[きいろ|黄色]]。
===={{pron}}====
{{ja-pron|acc=0|acc2=1}}
{{ja-accent-common|region=京阪|h||きー}}
==={{noun}}・生===
{{ja-noun|生}}
#[[まじりけ]]のないこと。元のままで手を加えていないこと。
==={{verb}}===
{{head|ja|動詞 活用形}}【[[来]]】
#「[[くる]]」の連用形。
===漢字===
[[Wiktionary:漢字索引 音訓 き]]参照
=={{L|ojp}}==
[[Category:{{ojp}}]]
===万葉仮名の表記===
*甲:[[支]]、[[伎]]、[[岐]]、[[企]]、[[棄]]、[[寸]]、[[吉]]、[[杵]]、[[來]]、[[枳]]、[[耆]]、[[祗]]、[[祁]]
*乙:[[貴]]、[[己]]、[[忌]]、[[紀]]、[[記]]、[[奇]]、[[寄]]、[[幾]]、[[機]]、[[木]]、[[城]]、[[綺]]、[[騎]]、[[基]]、[[氣]]、[[歸]]、[[樹]]、[[黄]]
==={{noun}}/{{adjectivenoun}}・黄===
{{ojp-noun|黄}}
#{{context|color|lang=ojp}}色の名。[[黄色]]。[[きい]]。
{{古典日本語ナリ活用|き}}
==={{noun}}・酒===
{{ojp-noun|酒}}
[[Category:{{ojp}}_酒|*]]
#[[さけ]]。
#*[[神酒]]([[みき|み'''き''']])、[[御神酒]]([[おみき|おみ'''き''']])
==={{noun}}・城===
{{ojp-noun|城|柵}}
#[[しろ]]。[[城郭]]。
#*[[城戸|'''城'''戸]]([[きど|'''き'''ど]])
#[[とりで]]。[[城砦]]。{{ふりがな|堡塁|ほうるい}}。
#*[[干城|干'''城''']]([[たてき|たて'''き''']])
#*渟足'''柵'''(ぬたりの'''き''')
==={{noun}}・木===
{{ojp-noun|木}}
[[Category:{{ojp}}_木|*]]
#[[樹木]]、[[材木]]。
===={{pron}}====
{{ojp-pron-noun-1-3}}
==={{verb}}===
{{head|ojp|動詞 活用形}}【[[来]]】
# 「[[く]]」の[[連用形]]。
==={{auxverb}}===
{{head|ojp|助動詞}}
#(体験過去)過去に自分が体験したことを回想する。
#*花面白かり'''き'''。 (花はすばらしかっ'''た''' 。)
#*かれを見'''し'''とき (彼を見'''た''' とき)
#伝聞などの、自己が体験し得ないこと、見なかったことについても自己の記憶に刻まれている場合。
#*音に聞き目にはいまだ見ず佐用比売が領布振り'''き'''とふ松浦山。 (評判に聞きまだ見ない。佐用比売が領布を振っ'''た'''という松浦山は。)(万葉集883)
====[[付録:日本語の活用|活用]]====
{{inf-ja-aux
|接続 = 連用
|未然形 = せ
|連用形 = ○
|終止形 = き
|連体形 = し
|已然形 = しか
|命令形 = ○
|}}
*カ変・サ変には未然形にも接続する。
**カ変は未然「こ」・連用「き」とも連体「し」・已然「しか」で接続する。サ変は未然「せ」の場合連体「し」・已然「しか」で接続し、連用「し」の場合終止「き」で接続する。
**カ変の連用形に接続する用例は少なく、複合名詞「{{おくりがな3|来|き|'''し'''|方|かた||きしかた}}」以外は殆ど見られない。
*未然形「せ」は「~せば~まし」という構文で「もしも~としたら~だろうに」という意味を表すのにのみ用いる。
===={{syn}}====
*[[けり]]
[[Category:日本語の基本語彙]]
===その他===
#ク活用の[[形容詞]]の[[連体形]]の[[活用語尾]]
#* [[たかし|高き]]山。([[高い]]山)
==文字コード==
{{codepoint}}
9lpbxvbx9hylb3457e07tadix0o1v6y
夏
0
1041
2281104
2180788
2026-06-09T02:25:18Z
Y-ange'777
121643
過剰かつ不当な差し戻しを訂正。
2281104
wikitext
text/x-wiki
{{kana-DEFAULTSORT|か}}
==漢字==
<span lang="ja" xml:lang="ja" style="font-size:350%">{{PAGENAME}}</span>
* {{部首|夊|7}}
* {{総画|10}}
{{kanji variants|夓|昰|𠍺|𡔰|𡕾|𨂮|𭼂|𰣠|𰣡=[[古字]]|𠀼|𠌘|𡕭|𡕻|𡖃|𣋗|𤴞|𩖳||𰲭|𱂙|𱘤|𲅵|𲊱=[[同字]]|𭐢|𭐣|𭐥=[[俗字]]}}
{{筆順}}
===字源===
* [[象形文字|象形]]。人の頭上に[[太陽]]があるさまを象る<ref group="字源">林志強等評注 『《文源》評注』 中国社会科学出版社、2017年、145頁。<br>
劉劍『古文字構形學』福建人民出版社、2006年、P.283</ref>。季節の「[[なつ]]」を意味する[[漢語]]{[[夏]] {{phoneme|*ɡrˤah}}}を表す字。
**原字「⿱日頁」中の「[[頁]]」が「[[夒]]」に訛変して「⿱日夒」の字形となり、「[[日]]」を省略して「[[夓]]」の字形となり、「[[𦥑]]」を省略して「夏」の字形となる。
** かつて[[金文]]を根拠に「大きな面をつけて踊る人の姿を象る」という説があった<ref group="字源">白川静『普及版 字通』「[https://kotobank.jp/word/%E5%A4%8F-42060#w-2954241 夏]」</ref>が、[[甲骨文字]]の資料が示すようにこれは誤った分析である。
{{字源}}
====<参考文献>====
* [[上古音]]は布之道『[http://www.kaom.net/sgy_bzd.php 広韻形声考]』による。
<references group="字源" />
===字義===
# [[なつ]]。四季のひとつ。
# 中国の王朝名。
## [[禹]]によって開かれた中国の史書における最初の王朝。[[桀]]の代に[[殷]]に滅ぼされ、遺族は[[杞]]に封ぜられた。→[[w:夏 (三代)|夏 (三代)]]参照
## [[五胡十六国]]の国のひとつ。→[[w:夏 (五胡十六国)|夏 (五胡十六国)]]参照
## [[西夏]]の正称。→[[w:西夏|西夏]]参照
===語源===
# '''なつ''':一説に、「空き時間」を意味する[[漢語]]{[[暇]] {{phoneme|*graas}}}に由来し、もと農作業が忙しくない季節の呼び名<ref group="語源">Laurent Sagart, Chinese 夏 ‘summer’: time of leisure ?, ''Sino-Tibetan-Austronesian'', 2023年2月11日。 https://stan.hypotheses.org/2246</ref>。
# '''王朝名''':一説に、「下」を意味する[[漢語]]{[[下]] {{phoneme|*graaʔ}}}に由来し<ref group="語源">楊寛 『中国上古史導論』 上海人民出版社、2016年。</ref>、もと上帝に対する下界や中原地域の呼び名。のちにそれらの地域を統治する伝説上の王朝の呼び名となった。
<references group="語源" />
{{漢字}}
=={{L|ja}}==
{{ja-kanji|常用=カ,ゲ,なつ|施策=教育:2|呉音=ゲ|漢音=カ|訓=なつ|古訓=おおきなり}}
==={{noun}}===
{{Wikipedia|夏}}
[[Category:日本語]]
[[Category:日本語_名詞|なつ]]
[[Category:日本語_季語_夏|!]]
[[Category:{{ja}} 暦|なつ]]
# '''[[なつ]]''' [[季節]]([[四季]])の一つ。[[春]]の次、[[秋]]の前。
===={{rel}}====
* [[春]] [[夏]] [[秋]] [[冬]]
===={{syn}}====
* [[サマー]]
===={{trans}}====
{{trans-see|なつ}}
===ことわざ===
* [[飛んで火に入る夏の虫]]
===熟語===
{{top|5|12em}}
* [[甘夏]]
* [[一夏]]
* [[炎夏]]
* [[華夏]]
* [[夏芽]]
* [[夏官]]
* [[夏期]]
* [[夏季]]
* [[夏季熱]]
* [[夏珪]]
* [[夏枯草]]
* [[夏蚕]]
* [[夏日]]
* [[夏日斑]]
* [[夏伯]]
* [[夏半]]
* [[夏風楽]]
* [[夏眠]]
* [[夏卵]]
* [[夏緑樹林]]
* [[夏炉冬扇]]
* [[季夏]]
* [[九夏]]
* [[去夏]]
* [[夏解]]
* [[夏安居]]
* [[夏書]]
* [[夏経]]
* [[夏行]]
* [[解夏]]
* [[夏至]]
* [[夏至線]]
* [[夏至点]]
* [[夏衆]]
* [[夏中]]
* [[結夏]]
* [[夏花]]
* [[夏臘]]
* [[今夏]]
* [[昨夏]]
* [[三夏]]
* [[子夏]]
* [[朱夏]]
* [[首夏]]
* [[春夏秋冬]]
* [[消夏]]
* [[銷夏]]
* [[暑夏]]
* [[諸夏]]
* [[初夏]]
* [[盛夏]]
* [[西夏]]
* [[西夏文字]]
* [[西洋夏雪草]]
* [[大夏]]
* [[中夏]]
* [[仲夏]]
* [[長夏]]
* [[蔓夏枯草]]
* [[冬扇夏炉]]
* [[冬虫夏草]]
* [[常夏]]
* [[常夏月]]
* [[夏茜]]
* [[夏梅]]
* [[夏扇]]
* [[夏帯]]
* [[夏神楽]]
* [[夏陰]]
* [[夏掛]]
* [[夏風邪]]
* [[夏鴨]]
* [[夏柑]]
* [[夏着]]
* [[夏菊]]
* [[夏狂言]]
* [[夏水鶏]]
* [[夏草]]
* [[夏葛]]
* [[夏胡頽子]]
* [[夏茱萸]]
* [[夏雲]]
* [[夏毛]]
* [[夏木立]]
* [[夏小麦]]
* [[夏仔]]
* [[夏子]]
* [[夏衣]]
* [[夏作物]]
* [[夏座敷]]
* [[夏時間]]
* [[夏時刻]]
* [[夏白菊]]
* [[夏水仙]]
* [[夏姿]]
* [[夏蝉]]
* [[夏麻]]
* [[夏空]]
* [[夏大根]]
* [[夏橙]]
* [[夏足袋]]
* [[夏椿]]
* [[夏蔦]]
* [[夏灯台]]
* [[夏隣]]
* [[夏鳥]]
* [[夏念仏]]
* [[夏野]]
* [[夏場]]
* [[夏羽織]]
* [[夏萩]]
* [[夏場所]]
* [[夏黄櫨]]
* [[夏初月]]
* [[夏端月]]
* [[夏羽]]
* [[夏祓]]
* [[夏服]]
* [[夏藤]]
* [[夏沸瘡]]
* [[夏布団]]
* [[夏帽子]]
* [[夏祭]]
* [[夏豆]]
* [[夏蜜柑]]
* [[夏道]]
* [[夏虫]]
* [[夏目]]
* [[夏芽]]
* [[夏物]]
* [[夏桃]]
* [[夏館]]
* [[夏山]]
* [[寧夏]]
* [[半夏]]
* [[半夏生]]
* [[晩夏]]
* [[火夏星]]
* [[真夏]]
* [[真夏日]]
* [[孟夏]]
* [[来夏]]
* [[立夏]]
* [[冷夏]]
{{bottom}}
===関連語句===
* [[季節]](きせつ)
* [[春]](はる)
* [[秋]](あき)
* [[冬]](ふゆ)
=={{L|tyz}}==
{{tyz-han|hạ|nom=y|pos=noun}}
{{チュノム|qn=hạ}}
==={{noun}}===
#[[なつ]]。
=={{L|okm}}==
{{okm-han|tg=강〯|tg2=ᅘᅡᆼ〯|tg3=ᅘᅡᆼ〮|hm=하|hmj=녀름}}
=={{L|zh}}==
{{zh-cat|xia4|固有名詞|姓|hsk=甲|hsk2=3|常=1}}
[[Category:{{yue}}|ha6]]
* {{trans_link|zh|夏}}
* '''ローマ字表記'''
** '''[[普通話]]'''
*** '''[[ピンイン]]''': [[xià]] (xia4)
*** '''[[ウェード式]]''': hsia<sup>4</sup>
*** '''[[注音符号]]''': [[ㄒ]][[ㄧ]][[ㄚ]]ˋ
** '''[[広東語]]'''
*** '''[[イェール式]]''': ha6
** '''[[閩南語]]'''
*** '''[[POJ]]''': hā
** '''[[客家語]]'''
*** '''[[白話字]]''': ha
** '''[[閩東語]]'''
*** '''[[平話字]]''': hâ
** '''[[呉語]]'''
*** '''[[ピンイン]]''': ya3, gho3
** '''[[中古音]]''': *hæH
** '''[[上古音]]''': *ɡˁraʔ {*[ɡ]ˁraʔ} ~ [g]ˁraʔ-s, *ɢˁraʔ {*[ɢ]ˁraʔ}
==={{name}}===
#中国人の[[姓]]のひとつ。[[百家姓]]第154位。
=={{L|ko}}==
{{ko-hanja|하|eumhun=[[여름]] 하|pos=name|cat2=姓}}
==={{name}}===
#朝鮮人の[[姓]]のひとつ。
=={{L|vi}}==
{{vi-han|hạ|hè|pos=noun}}
==={{noun}}===
#[[なつ]]。
=={{コード}}==
{{文字コード|jis=1-18-38|mj={{mjmoji|009419|009420|057256}}|gb=CFC4|cns=1-546E|big5=AE4C|ksx=1001-793E}}
{{検字|倉頡=MUHE|四角=1024.7}}
{{字典|dj=0485.290|hdz=20869.100|大字源=1735/1736|大漢語林=2100/2101|康煕=0245.120|新大字典=2904/2906|新潮漢字=2156|諸橋=5720}}
d739bqs4jsqw7naw5z9hu4v599me5pa
はい
0
1877
2281092
2214409
2026-06-09T01:54:36Z
うーむ
129171
/* */
2281092
wikitext
text/x-wiki
{{also|ハイ|ばい|バイ|パイ}}
{{同音の漢字|Wiktionary:漢字索引 音訓 は#ハイ}}
=={{ja}}==
[[category:{{ja}}]]
===名詞:灰===
{{wikipedia|灰}}
[[category:{{ja}}_{{noun}}]]
'''はい'''【[[灰]]】
#固体が燃えた後に残る、燃焼物が含んでいた不
燃物又は[[酸化物]]で、特に[[粒子]]状になっているもの。
#[[火山]]が噴火した際に排出する粒子状の岩石。[[火山灰]]。
===={{trans}}====
{{top}}
*イタリア語: [[cenere]]
*英語: [[ash]]
*スペイン語: [[ceniza]]
*中国語: [[灰]],[[灰烬]]/[[灰燼]]
*ドイツ語: [[Asche]]
*フランス語: [[cendre]]
*ポーランド語: [[popiół]]
*ポルトガル語: [[cinza]]
*ルーマニア語: [[scrum]] [[cenuşă]]
*ロシア語: [[пепел]]
*{{ko}}: {{lang|ko|[[재]]}}
{{bottom}}
===名詞:鮠・鯈・芳養===
[[Category:{{ja}}_魚]]
{{wikipedia|ハヤ}}
'''はい'''【[[鮠]], [[鯈]], [[芳]][[養]]】
# [[はや]]の[[別称]]。
===名詞:蔤===
[[Category:{{ja}}_食品]]
{{wikipedia|レンコン}}
'''はい'''【[[蔤]]】
# [[蓮根|レンコン]]の[[別称]]。
===={{trans}}====
*[[{{en}}]]: [[lotus]] [[root]]
===名詞:蝿===
{{ja-noun|蝿|蠅}}
#{{context|dated|方言|昆虫|lang=ja}}[[はえ]]の古称、方言。
===感動詞===
{{wikipedia}}
[[Category:日本語_感動詞]]
'''はい'''
#[[質問]]に[[肯定的]]な[[回答]]をする語。[[反対語]]は「[[いいえ]]」
#*(肯定的質問に対して)「あなたは学生ですか。」「'''はい'''、そうです。」
#*(否定的質問に対して)「マスクはもうありませんか。」「'''はい'''、ありません。」
#[[勧誘]]や[[命令]]に応じる場合に使う語。
#*「'''はい'''、[[承知]]しました。」
#*「そろそろ出発するぞ」「'''はい'''」「立て」「'''はい'''」「進め」「'''はい'''」
#呼ばれた時に答える語。
#*「'''はい'''、○○(名前)です。」
#*「'''はい'''、何でしょうか。」
#[[相鎚]]を打つのに使う語
#聞き取れないときや理解しがたいときに聞き返す語
#*「'''はい'''? 何ですって?」
#時間の区切りを知らせる語。また終了、完成、決着などを表す語。
#*「'''はい'''、そこまで」
#*「1、2、3、'''はい'''!」
#*「'''はい'''、できた」
#*「'''はい'''、おれの勝ち」
#ものをあげたり渡したりするときの語
#*「おみやげです。'''はい'''、どうぞ」
#*「買い物行ってきて。'''はい'''、これお金。」
#人を呼びこんだり注意を促したりするときに使う語
#*「'''はい'''、こちらへどうぞ」
#*「'''はい'''、静かに。授業を始めます」
#[[牛]]、[[馬]]などを進ませる掛け声。
#*「'''はい'''、どうどう」
#文末に置いて、あまり自信のない様子や、へりくだった様子を示す語
#*「~だと思います、'''はい'''。」
===={{etym}}====
(肯定の返事) おそらく漢語の[[拝]]から。
====同義語====
;質問に同意したりする場合に使う語
:*[[うん]](くだけた表現)
:*[[ええ]]
:*[[ああ]]
:*[[然り]](古語)
;クイズやアンケートで答える語
:*[[イエス]]
:*[[○]]、[[まる]]
;相槌
:*[[うん]](くだけた表現)
:*[[ええ]]
;呼ばれた時に答える語
:*[[おう]](くだけた表現)
===={{trans}}====
{{trans-top|肯定的な返答}}
*[[{{is}}]]<!--*Icelandic-->: [[já]]
*[[{{ay}}]]<!--*Aymara-->: [[jisa]]
*[[{{ar}}]]<!--*Arabic-->: {{ARchar|[[نعم|نَعَم]]}} {{Unicode|(náʕam)}}, {{ARchar|[[ايوه]]}} (’áiwa), {{ARchar|[[أجل]]}}
*[[{{arc}}]]<!--*Aramaic-->::(シリア文字) [[ܐܝܢ]] (eyn)、(ヘブル文字) [[אין]] (eyn)
*[[{{hy}}]]<!--*Armenian-->: [[այո]] (ayo)
*[[{{it}}]]<!--*Italian-->: [[sì]]
*[[{{yi}}]]<!--*Yiddish-->: [[יאָ]] (yo)
*[[{{iu}}]]<!--*Inuktitut-->: [[ᐄ]]
*[[{{ia}}]]<!--*Interlingua-->: [[si]]
*[[{{cy}}]]<!--*Welsh-->: [[ie]]
*[[{{vo}}]]<!--*Volapük-->: [[si]]
*[[{{uk}}]]<!--*Ukrainian-->: {{lang|uk|[[так]]}} (tak), {{lang|uk|[[та]]}} (ta) (非公式), {{lang|uk|[[да]]}} (da) (一般的でない)
*[[{{ur}}]]<!--*Urdu-->: {{URchar|[[ھاں]]}} (hā̃), {{URchar|[[ہاں]]}}
*[[{{en}}]]: [[yes]], [[yeah]], [[ay]], [[aye]]
*[[{{et}}]]<!--*Estonian-->: [[jah]]
*[[{{eo}}]]<!--*Esperanto-->: [[jes]]
*[[{{nl}}]]<!--*Dutch-->: [[ja]]
*[[{{ca}}]]<!--*Catalan-->: [[sí]]
*広東語: [[係]] (hai)
*[[{{el}}]]<!--*Greek-->: [[ναι]] (ne)
*[[{{gn}}]]<!--*Guarani-->: [[heẽ]]
*[[{{ka}}]]<!--*Georgian-->: [[დიახ]] (diaχ), [[კი]] (ki)
*[[{{ku}}]]<!--*Kurdish-->: [[belê]], [[erê]], [[a]], [[e]], [[ئا]] ,[[بهڵێ]]
*[[{{hr}}]]<!--*Croatian-->: [[da]]
*[[{{qu}}]]<!--*Quechua-->: [[arí]]
*[[{{sc}}]]<!--*Sardinian-->: [[eja]]
*[[{{sv}}]]<!--*Swedish-->: [[ja]], [[jo]]
*[[{{es}}]]<!--*Spanish-->: [[sí]], [[simón]] (メキシコ、グアテマラにおける口語')
*[[{{sk}}]]<!--*Slovak-->: [[áno]], [[hej]], [[no]]
*[[{{sl}}]]<!--*Slovene-->: [[ja]], [[da]](文章語)'
*[[{{ceb}}]]<!--*Cebuano-->: [[oo]]
*[[{{sr}}]]<!--*Serbian-->: {{lang|sr|[[да]]}} ([[da]])
*[[{{th}}]]<!--*Thai-->: {{t+|th|ใช่|tr=châi}}, {{t+|th|ถูก|tr=thùuk}}, {{t+|th|ถูกต้อง|tr=thùuk tɔ̂ɔŋ}}〔公的な場で〕, {{t+|th|อืม|tr=ˀɯɯm}}〔略式〕
*[[{{tl}}]]<!--*Tagalog-->: [[oo]]
*[[{{cs}}]]<!--*Czech-->: [[ano]]
*[[{{zh}}]]<!--*Chinese-->: [[是]](shì), {{zh-ts|對|对}}(duì), [[嗯]] (n)
*[[{{ko}}]]: {{lang|ko|[[예]], [[네]]}}
*[[{{za}}]]<!--*Zhuang-->: [[wx]]
*[[{{te}}]]<!--*Telugu-->: [[అవును]], [[ఔను]]
*[[{{da}}]]<!--*Danish-->: [[ja]]
*[[{{de}}]]<!--*German-->: [[ja]], [[doch]](否定疑問に対して)
*[[{{tr}}]]<!--*Turkish-->: [[evet]]
*[[{{no}}]]<!--*Norwegian-->: [[ja]] , [[jo]]
*[[{{eu}}]]<!--*Basque-->: [[bai]]
*[[{{hu}}]]<!--*Hungarian-->: [[igen]], [[de igen]]
*[[{{bik}}]]<!--*Bikol-->: [[oo]]
*[[{{hi}}]]<!--*Hindi-->: [[हाँ]] (hā̃)
*[[{{fi}}]]<!--*Finnish-->: [[kyllä]]
*[[{{fr}}]]<!--*French-->: [[oui]], [[si]](否定疑問に対して)
*[[{{bg}}]]<!--*Bulgarian-->: {{lang|bg|[[да]]}}
*[[{{br}}]]<!--*Breton-->: [[ya]], [[eo]], [[geo]]
*[[{{vi}}]]<!--*Vietnamese-->: {{lang|vi|[[vâng]]}} (北), {{lang|vi|[[dạ]]}} (南), {{lang|vi|[[ờ]]}} (非公式)
*[[{{he}}]]<!--*Hebrew-->: [[כן]] (ken)
*[[{{fa}}]]<!--*Persian-->: {{FAchar|[[بله]]}} {{Unicode|(ˈbæle)}}, {{FAchar|[[آره]]}} (āré)
*[[{{bn}}]]<!--*Bengali-->: [[হ্যাঁ]] (ɦæ̃)
*[[{{pl}}]]<!--*Polish-->: [[tak]]
*[[{{pt}}]]<!--*Portuguese-->: [[sim]]
*[[{{mi}}]]<!--*Maori-->: [[āe]]
*[[{{mk}}]]<!--*Macedonian-->: [[da]]
*[[{{mt}}]]<!--*Maltese-->: [[iva]]
*[[{{ms}}]]<!--*Malay-->: [[ya]]
*[[{{lo}}]]<!--*Lao-->: {{t|lo|ແມ່ນ|tr=mëën|sc=Laoo}}, {{t|lo|ແມ່ນແລ້ວ|tr=mëën-lëëw|sc=Laoo}}
*[[{{la}}]]<!--*Latin-->: [[ita]], [[ita vero]], [[sic]], [[recte]]
*[[{{lv}}]]<!--*Latvian-->: [[jā]]
*[[{{lt}}]]<!--*Lithuanian-->: [[taip]]
*[[{{ro}}]]<!--*Romanian-->: [[da]]
*[[{{ru}}]]<!--*Russian-->: {{lang|ru|[[да]]}} (da)
*[[{{rm}}]]<!--*Romansch-->: [[gea]]
{{trans-bottom}}
* 否定疑問文に対する返答については、各言語の説明を参照すること。
{{trans-top|呼ばれたときの応答}}
*[[{{en}}]]: [[here]]
*[[{{ko}}]]: {{lang|ko|[[네]], [[예]]}}
{{trans-bottom}}
{{trans-top|相槌}}
*[[{{en}}]]: [[uh-huh]]
*[[{{ko}}]]: {{lang|ko|[[네]], [[예]], [[글쎄]], [[글쎄요]]}}
{{trans-bottom}}
==={{verb}}===
{{head|ja|動詞 活用形}}
#「[[はう]]」の連用形。
----
=={{ryu}}==
[[Category:{{ryu}}]]
==={{noun}}===
[[Category:{{ryu}}_{{noun}}]]
'''はい'''
# [[ひでり|日照り]]
===={{syn}}====
*[[ひゃん]]
rah18bshudf0wdu5p24psp4iqxa4c12
he
0
2524
2280997
2275887
2026-06-08T15:30:43Z
M-30722
1202
2280997
wikitext
text/x-wiki
{{wikipedia}}
{{seeup2}}
==記号==
===={{code}}====
'''{{PAGENAME}}'''
#{{ISO639-1}}
#*[[w:ISO 639|ISO 639-2言語コード]]は"[[heb]]"。
===={{etym}}====
*{{en}}:[[Hebrew]]
=={{L|ain}}==
{{ain-kana}}
==={{pron}}===
* {{ain-IPA}}
==={{parti}}===
{{head|ain|parti}}
# ~か。
#* {{quote|ain|[[tu]] [[po]] [[kor]] [[pe]] [[oraun]] “[[konto]] [[i=]][[enkorke]] [[he]] [[ta]] [[kapacir]] [[tono]] [[utar]] [[set]] [[kar]] [[wa]] [[oka]] [[na]].”|二人の子供を持っていて、それから「川上の方でタカ神たちが巣を作っているぞ。」|ref=<ref>{{citation|author=貝澤とぅるしの|title=6-1 ウエペケㇾ「ヌサコㇿカムイ イカオピューキ」(祭壇を司る神さまが私 を助けた)|publisher=文化庁 アイヌ語の保存・継承に必要なアーカイブ化に関する調査研究事業|journal=第2年次調査研究報告書1/3|year=1969|publication-date=2015年3月}}</ref>}}
#* {{quote|ain|[[hokure]] [[suy]] [[kespa]] [[an]] [[kor]] [[a=]][[kor]] [[ottena]] [[e=]][[ne]] [[wa]] [[e=]][[ek]] [[kunip]] [[patek]] [[a=]][[etanosintaro]] [[he]] [[tap]].|さあ、毎年、私のオッテナが来ることばかりを楽しみにしています。|ref=<ref>{{citation|author=平賀さだも|title=10-3 ウエペケㇾ「ウラユシウンクㇽ」(ウラユシの人)|publisher=文化庁 アイヌ語の保存・継承に必要なアーカイブ化に関する調査研究事業|journal=第2年次調査研究報告書2/3|year=1969|publication-date=2015年3月}}</ref>}}
#* {{quote|ain|[[kamuy]] [[ne]] [[an]] [[kur]] [[ruyno]] [[simoye]] [[ruyno]] [[moymoyke]] [[a=]][[ki]] [[yak]] [[easir]] [[wen]] [[kamuy]] [[tumi]] [[u]] [[sone]] [[ka]] [[un]] [[a=]][[yayposore]] [[ne]] [[hi]] [[he]] [[ne]] [[ya]].|神なる人よ、激しい奮闘激しい働きを私たちがしたら初めて悪神の戦争を本当に通り抜けられるでしょうか。|ref=<ref>{{citation|author=平賀さだも|title=13-5 ユカㇻ「アペサㇰスクㇷ゚ ワッカサㇰスクㇷ゚ 」謡い途中でテープ切れ終了(火なしに育った、水なしに育った)|publisher=文化庁 アイヌ語の保存・継承に必要なアーカイブ化に関する調査研究事業|journal=第2年次調査研究報告書2/3|year=1969|publication-date=2015年3月}}</ref>}}
#* {{quote|ain|“[[teeta]] [[kane]] [[a=]][[onaha]] [[a=]][[unuhu]] [[e=]][[ronnu]] [[hi]] [[e=]][[oyra]] [[he]] [[ki]] [[ya]].|「昔むかし両親をお前が殺したことを忘れたか。|ref=<ref>{{citation|author=鍋澤ねぷき|title=16-10 ウエペケㇾ「アアチャハ イレス」(私の叔父に育てられた)|publisher=文化庁 アイヌ語の保存・継承に必要なアーカイブ化に関する調査研究事業|journal=第2年次調査研究報告書2/3|year=1969|publication-date=2015年3月}}</ref>}}
#* {{quote|ain|[[ayne]] [[sine]] [[pa]] [[he]] [[turano]] [[oka]][[=an]] [[kor]] [[suy]] [[nea]] [[a=]][[maci]] [[suy]] [[a=]][[rayke]] [[rusuy]], [[neun]] [[a=]][[eyaynita]] [[yakka]] [[a=]][[eyaynita]] [[ka]] [[koyaykus]].|そうして1年'''ほど'''一緒に過ごしたのですが、やはりその嫁も、また殺したくなりました。いくら我慢しようとしても我慢できません。|ref=<ref>{{citation|author=平目よし|title=18-4 ウエペケㇾ「ウッコッナイ アイヌ アネ」途中でテープ切れ(好色が元で死んだ男の話)|publisher=文化庁 アイヌ語の保存・継承に必要なアーカイブ化に関する調査研究事業|journal=第2年次調査研究報告書3/3|year=1969|publication-date=2015年3月}}</ref>}}
#* {{quote|ain|[[ta]] [[turasi]] [[e=]][[hemesu]] [[nay]] [[poro]] [[kot]] [[he]] [[oma]] [[wa]] [[kari]] [[e=]][[hemesu]] [[nay]], [[nay]] [[arke]] [[wa]] [[kerepnoye]] [[a=]][[saha]] [[ne]].|この、あなたがのぼってきた沢は大きな窪地に入っていて、あなたが通ってきた沢の片側のトリカブトは私の姉です。|ref=<ref>{{citation|author=黒川てしめ|title=24-3 ウエペケㇾ 「ケレㇷ゚ノイェ ケレㇷ゚トゥㇽセ 」(トリカブトとオオトリカブト)|publisher=文化庁 アイヌ語の保存・継承に必要なアーカイブ化に関する調査研究事業|journal=第2年次調査研究報告書3/3|year=1969|publication-date=2015年3月}}</ref>}}
===参考文献===
{{Reflist}}
=={{L|en}}==
{{wikipedia|lang=en}}
===発音===
;強形
*{{IPA|lang=en|hiː}}
* {{音声|en|en-us-he.ogg|a=米}}
* {{音声|en|En-uk-he.ogg|a=英}}
;弱形
*{{IPA|lang=en|i, hi(ː)}}
===人称代名詞===
{{head|en|pronoun|複数|they|所有格|his|目的格|him|所有代名詞|his|再帰代名詞|himself}}
# (第三人称単数男性主格){{ふりがな|彼|かれ}}。
#*1902年, Beatrix Potter. "The Tale of Peter Rabbit"<ref>Beatrix Potter. "The Tale of Peter Rabbit". 1902. (Project Gutenberg. January 30, 2005. https://www.gutenberg.org/files/14838/14838-h/14838-h.htm)</ref>
#*{{ux|en|The window was too small for Mr. McGregor, and '''he''' was tired of running after Peter.|その窓はマグレガーさんには小さ過ぎました。彼はピーターを追いかけるのにうんざりしました。}}
#{{タグ|en|古用法}}(性を問わない3人称単数主格) [[かれ|彼]][[または]][[彼女]]。その[[ひと|人]]。
#*1900年, L. Frank Baum, "The Wonderful Wizard of Oz"<ref>L. Frank Baum. "The Wonderful Wizard of Oz". 1900. (Project Gutenberg. Release Date: February, 1993. Most recently updated: October 19, 2020. https://www.gutenberg.org/files/55/55-h/55-h.htm)</ref>
#*{{ux|en|In this country everyone must pay for everything '''he''' gets.|この国では誰もが、自分が得ようとする全てに対価を払わなければならない。}}
===={{syn}}====
*(語義2)[[he or she]], [[s/he]], [[they]]
===={{rel}}====
{{英語 人称代名詞}}
==={{noun}}===
{{en-noun}}
#[[男性]]、{{ふりがな|雄|おす}}。
#*{{ux|en|Is your dog a '''he''' or a she?|あなたの犬は'''雄'''か雌のどちらですか。}}
====対義語====
*[[she]]
[[カテゴリ:ベーシック英語 850単語]]
=={{L|ki}}==
===語源===
Hinde (1904) は{{etyl|en|-}} {{l|en|give}} にあたるキクユ語「ジョゴウィニ方言」(''Jogowini dialect'')の訳語として kuha を記録している<ref name="hh1904">Hinde, Hildegarde (1904). [https://archive.org/details/vocabulariesofka00hindiala ''Vocabularies of the Kamba and Kikuyu languages of East Africa''], pp. 26–27. Cambridge: Cambridge University Press.</ref>。なお、これに対応する{{etyl|sw|-}}は {{l|sw|pa|kupa}} などが挙げられている<ref name="hh1904" />。
==={{pron}}===
* {{IPA|lang=ki|hɛ}}
===動詞===
{{head|ki|verb}}(不定形: {{l|ki|kũhe}})
# [[あたえる|与える]]。[[あげる]]。
====ことわざ====
* {{l|ki|mwana ndaheanagwo}}
====関連語====
名詞:
* {{l|ki|kĩheeo|kĩhe(e)o}}
* {{l|ki|maheeo}}
===参考文献===
* {{R:ki:Armstrong|p=361}}
=={{L|es}}==
==={{verb}}===
{{es-verb-form}}
# [[haber]] の直説法現在第一人称単数形。
# haber の命令法第二人称単数形。
=={{L|fi}}==
==={{etym}}1===
{{etyl|fiu-fin-pro|fi}} {{m|fiu-fin-pro|*hek}} < {{etyl|urj-fpr-pro|fi}} {{m|urj-fpr-pro|*sej}}
{{cog|se|sii}}
{{cog|myv|сынь}}
===={{pron}}====
{{fi-pronunciation|a=LL-Q1412 (fin)-Seqv-he.wav|a2=LL-Q1412 (fin)-Susannaanas-he.wav|a3=LL-Q1412 (fin)-Nurtsio-he.wav}}
===={{pronoun}}====
{{head|fi|pronoun|cat2=人称代名詞}}
#{{label|fi|人物のみ}} [[かれら|彼ら]]、[[彼女ら]]、その[[ひとたち|人たち]]。
#: {{syn|fi|het}} (方言), {{l|fi|hyö}} (方言), {{l|fi|ne}} (口語)
#: {{uxi|fi|'''He''' tulevat huomenna, jos '''heille''' ei ilmaannu estettä.|'''彼ら/彼女らは'''トラブルがなければ、明日来るよ。 }}
# {{label|fi|敬意を表して|{{m|fi|hän}} に対応}} [[かれ|彼]]、[[彼女]]、その[[ひと|人]]。
#{{label|fi|間接話法で}} 彼ら、彼女ら、その人たち。
#: 主節の主語を指すが、この場合人間であるかは問わない
====={{usage}}=====
* 標準フィンランド語では、動詞が人称と数の両方を示している場合でも {{m|fi||he}} は一般的に省略されない({{m|fi|hän}}の用法と比較を)。
====={{decl}}=====
* 不規則変化(語幹 {{m|fi||hei-}} は複数形の場合も同じ)であり、共格形と具格形は存在しない。欠格形はもうほぼ使われていない。
* 標準的な格変化に加えて、{{m|fi||he}} や他の人称代名詞には特定の対格形が存在する。{{m|fi||he}} の場合は {{m|fi|heidät}} という語形である。
{{fi-decl-pron|1s=[[hän]]|2s=[[hänen]]|3s=[[häntä]]|4s=[[hänet]]|5s=[[hänessä]]|6s=[[hänestä]]|7s=[[häneen]]|8s=[[hänellä]]|9s=[[häneltä]]|10s=[[hänelle]]|11s=[[hänenä]]|12s=[[häneksi]]|13s=[[hänettä]]|1p='''he'''|2p=[[heidän]]|3p=[[heitä]]|4p=[[heidät]]|5p=[[heissä]]|6p=[[heistä]]|7p=[[heihin]]|8p=[[heillä]]|9p=[[heiltä]]|10p=[[heille]]|11p=[[heinä]]|12p=[[heiksi]]|13p=[[heittä]]|adv=no}}
====={{drv}}=====
{{top3}}
* {{l|fi|heidänlainen}}
* {{l|fi|heidänlaisensa}}
* {{l|fi|heikäläinen}}
{{bottom}}
====={{desc}}=====
* {{desc|fkv|het}}
<!--
===={{seealso}}====
{{fi-personal pronouns}}-->
====参考文献====
* {{R:fi:KTSK|num=1|accessdate=2024-10-09}}
==={{etym}}2===
{{etyl|phn|fi}} {{m|phn|𐤄}} や {{etyl|hbo|fi}} {{m|hbo|ה}} より
===={{pron}}====
{{fi-p|he(:)}}
===={{noun}}====
{{fi-noun}}
# [[ヘー]]。
#: ヘブライ文字とフェニキア文字の5番目の文字名
====={{decl}}=====
{{fi-decl-rosé|he|ä|ill_sg_vowel=e}}
==註==
<references/>
7l5q8a7ok2dn05vmbpae0ug7j244v9p
dormir
0
7593
2281273
1709192
2026-06-09T11:20:11Z
Kuroco2k
84207
2281273
wikitext
text/x-wiki
=={{L|ast}}==
==={{alter}}===
* {{l|ast|adormir}}
==={{etym}}===
{{etyl|la|ast}} {{m|la|dormīre}}
==={{verb}}===
{{ast-verb}}
#{{context|intransitive|lang=ast}}{{おくりがな2|眠|ねむ|る|ねむる}}。
{{ast-conj-ir|dorm}}
----
=={{L|ia}}==
==={{verb}}===
{{ia-verb|ir}}
#{{context|intransitive|lang=ia}}{{おくりがな2|眠|ねむ|る|ねむる}}。
{{ia-conj|dorm|ir|intr=yes}}
----
=={{L|vec}}==
==={{etym}}===
{{etyl|la|vec}} {{m|la|dormīre}}
==={{verb}}===
{{head|vec|verb}}
#{{context|intransitive|lang=vec}}{{おくりがな2|眠|ねむ|る|ねむる}}。
{{vec-conj-auto}}
===={{syn}}====
* {{l|vec|momir}}, {{l|vec|polegiar}}
===={{rel}}====
* {{l|vec|indormesar}}
* {{l|vec|indormesarse}}
* {{l|vec|indormia}}
----
=={{L|oc}}==
==={{alter}}===
* {{l|oc|dourmir}}
==={{etym}}===
{{etyl|pro|oc}} {{m|pro|dormir}} < {{etyl|la|oc}} {{m|la|dormīre}}
==={{pron}}===
* {{音声|oc|LL-Q942602-Davidgrosclaude-dormir.wav|音声(ラングドック)}}
==={{verb}}===
{{oc-verb|dorm|ir}}
#{{context|intransitive|lang=oc}}{{おくりがな2|眠|ねむ|る|ねむる}}。
{{oc-conj-ir|dorm}}
----
=={{L|ca}}==
==={{etym}}===
{{etyl|la|ca}} {{m|la|dormīre}} < {{etyl|itc-pro|ca}} {{m|itc-pro|*dormiō}} < {{etyl|ine-pro|ca}} {{m|ine-pro|*drem-}}
==={{pron}}===
* {{ca-IPA}}
* {{音声|ca|LL-Q7026 (cat)-Unjoanqualsevol-dormir.wav|音声}}
* {{rhymes|i(ɾ)|s=2}}
==={{verb}}===
{{ca-verb|ir|dorm}}
#{{context|intransitive|lang=ca}}{{おくりがな2|眠|ねむ|る|ねむる}}。
{{ca-conj-ir-pure|dorm}}
===={{ant}}====
*[[despertar]]
===={{drv}}====
{{top}}
* {{l|ca|adormir}}
* {{l|ca|condormir}}
* {{l|ca|dorment}}
* {{l|ca|dormida}}
* {{l|ca|dormidor}}
* {{l|ca|dormidora}}
* {{l|ca|dormilec}}
* {{l|ca|dormilega}}
* {{l|ca|dormiment}}
* {{l|ca|dormisquejar}}
* {{l|ca|dormitar}}
{{bottom}}
===={{rel}}====
* {{l|ca|dormició}}
* {{l|ca|dormitiu}}
* {{l|ca|dormitori}}
----
=={{L|fro}}==
==={{etym}}===
{{etyl|la|fro}} {{m|la|dormīre}}
==={{verb}}===
{{head|fro|verb}}
#{{context|intransitive|lang=fro}}{{おくりがな2|眠|ねむ|る|ねむる}}。
===={{conjugation}}====
{{fro-conj-iii}}
===={{desc}}====
* {{desc|frm|dormir}}
** {{desc|fr|dormir}}
* {{desc|nrf|dormi}}
* {{desc|wa|doirmi}}
----
=={{L|pro}}==
==={{etym}}===
{{etyl|la|pro}} {{m|la|dormīre}}
==={{verb}}===
{{head|pro|verb}}
#{{おくりがな2|眠|ねむ|る|ねむる}}。
===={{desc}}====
* {{desc|oc|dormir}}
-----
=={{L|es}}==
==={{pron}}===
* {{IPA|lang=es|doɾˈmiɾ}}
==={{etym}}===
{{etyl|la|es}} ''[[dormire]]''
==={{verb}}===
{{es-verb|dorm|ir|pres=duermo}}
# {{おくりがな2|眠|ねむ|る|ねむる}}。
===={{conjug}}====
{{es-conj|<ue-u>}}
{{es-conj|dormirse<ue-u>}}
===={{rel}}====
*[[dormición]]
*[[dormitar]]
*[[dormitivo]]
*[[dormitorio]]
*[[adormecer]]
-----
=={{L|frm}}==
==={{etym}}===
{{etyl|fro|frm}} {{m|fro|dormir}} < {{etyl|la|frm}} {{m|la|dormīre}}
==={{verb}}===
{{head|frm|verb}}
#{{context|intransitive|lang=frm}}{{おくりがな2|眠|ねむ|る|ねむる}}。
===={{desc}}====
* {{desc|fr|dormir}}
----
=={{L|fr}}==
==={{etym}}===
{{etyl|frm|fr}} {{m|frm|dormir}} < {{etyl|fro|fr}} {{m|fro|dormir}} < {{etyl|la|fr}} {{m|la|dormīre}} < {{etyl|itc-pro|fr}} {{m|itc-pro|*dormiō}} < {{etyl|ine-pro|fr}} {{m|ine-pro|*drem-}}
==={{pron}}===
* {{fr-IPA}}
* {{音声|fr|Fr-dormir.ogg|音声}}
* {{rhymes|iʁ}}
==={{verb}}===
{{fr-verb}}
# {{おくりがな2|眠|ねむ|る|ねむる}}、眠っている。
===={{conjugation}}====
{{fr-conj-auto}}
===={{rel}}====
*[[dormance]]
*[[dormant]]
*[[dormeur]]
*[[dormitif]]
*[[endormir]]
----
=={{L|pt}}==
==={{pron}}===
* {{IPA|lang=pt|doɾˈmiɾ}}
==={{etym}}===
{{etyl|la|pt}} ''[[dormire]]''
==={{verb}}===
{{pt-verb||dormir}}
# {{おくりがな2|眠|ねむ|る|ねむる}}、{{おくりがな2|泊|と|まる|とまる}}。
# [[静止]]している、活動していない。
===={{conjugation}}====
{{pt-conj||dormir}}
==={{noun}}===
{{pt-noun|m}}
# [[睡眠]]。
==={{rel}}===
*[[dormida]]
*[[dormideira]]
*[[dormitar]]
*[[dormitivo]]
*[[dormitório]]
*[[adormecer]]
==={{desc}}===
* {{desc|kea|durmi}}
* {{desc|pov|durmi}}
* {{desc|pap|drumi}}
----
=={{L|lld}}==
==={{alter}}===
* {{l|lld|dormí}}
==={{etym}}===
{{etyl|la|lld}} {{m|la|dormīre}}
==={{verb}}===
{{head|lld|verb}}
#{{context|intransitive|lang=lld}}{{おくりがな2|眠|ねむ|る|ねむる}}。
===={{conjugation}}====
{{lld-conj-IV|dorm|ester}}
sabsuhn0jrif3jpmktnnxl1awshi5du
カテゴリ:動物
14
10058
2280921
2019022
2026-06-08T13:45:21Z
鍼灸
112313
2280921
wikitext
text/x-wiki
<div class="pathnavbox">
* {{Pathnav|カテゴリ|分野|科学|自然科学|生物学|動物学}}
* {{Pathnav|カテゴリ|分野|自然|生物}}
</div>
{{wikipedia|category=動物}}
[[動物]]に関する語彙
{{DEFAULTSORT:とうふつ}}
[[カテゴリ:動物学|*とうふつ]]
[[カテゴリ:生物|*とうふつ]]
[[カテゴリ:分野の一覧]]
lv23u7intr8vh6pvshj05xutklnkh4q
通貨
0
13302
2281179
2210278
2026-06-09T08:46:31Z
Jiba1219
100610
2281179
wikitext
text/x-wiki
{{kana-DEFAULTSORT|つうか}}
{{wikipedia|通貨}}
=={{L|ja}}==
{{ja-pron|つうか|acc=1|acc_ref=NHK}}
==={{noun}}===
{{ja-noun|[[つうか]]}}
{{topcat|ja|通貨}}
#[[もの|物]]や[[サービス]]の[[価値]]が[[一定]]の[[単位]]で[[化体]]され、[[国家]]等の[[強制力]]により[[流通]]が[[保証]]されたもの。流通貨幣の[[略]]とされる。
===={{syn}}====
*[[貨幣]]
===={{prov}}====
*[[基軸通貨]]
===={{trans}}====
{{top}}
*[[アラム語]]:
*:[[シリア文字]]: [[ܟܣܦܐ]] (kespā, kespo) {{m}}
*:[[ヘブル文字]]: [[כספא]] (kespā, kespo) {{m}}
*{{cs}}: [[peníze]] {{m}} {{p}}
*[[{{da}}]]<!--*Danish-->: [[valuta]] {{c}}, [[møntenhed]] {{c}}
*[[{{de}}]]<!--*German-->: [[Währung]] {{f}}
*[[{{el}}]]<!--*Greek-->: [[νόμισμα]] {{n}}
*{{en}}:{{trans_link|en|currency}}
*[[{{eo}}]]<!--*Esperanto-->: [[mono]], [[valuto]]
*[[{{fi}}]]<!--*Finnish-->: [[valuutta]], [[raha]], [[rahayksikkö]]
*[[{{fr}}]]<!--*French-->: [[monnaie]] {{f}}
*{{he}}: [[כסף]] (késef) {{m}}
*[[{{ia}}]]<!--*Interlingua-->: [[moneta]], [[numerario]]
*[[{{id}}]]<!--*Indonesian-->: [[mata uang]], [[valuta]]
*{{is}}: [[gjaldmiðill]] {{m}}
*[[{{nl}}]]<!--*Dutch-->: [[munteenheid]] {{f}}
*[[{{no}}]]<!--*Norwegian-->: [[valuta]]
*[[{{pl}}]]<!--*Polish-->: [[Waluta]]
*[[{{pt}}]]<!--*Portuguese-->: [[moeda]] {{f}}
*[[{{ru}}]]<!--*Russian-->: [[валюта]] (val'úta) {{f}}, [[деньги]] (d'én’gi) {{p}}
*[[{{sl}}]]<!--*Slovenian-->: [[valuta]]
*[[{{es}}]]<!--*Spanish-->: [[moneda]] {{f}}
*[[{{sv}}]]<!--*Swedish-->: [[valuta]]
*[[{{te}}]]<!--*Telugu-->: [[ద్రవ్యం]] (dravyaM)
*[[{{th}}]]<!--*Thai-->: {{THchar|[[เงินตรา]]}}
*[[{{tr}}]]<!--*Turkish-->: [[para birimi]]
*[[{{zh}}]]<!--*Chinese-->: {{t|zh|货币|tr=huòbì}}
{{bottom}}
===脚注===
{{Reflist}}
=={{L|zh}}==
{{zh-cat|tong1huo4|noun}}
{{topcat|zh|通貨}}
{{yue-cat|tung1fo3|noun}}
{{topcat|yue|通貨}}
==={{pron}}===
{{cmn-pron|tōnghuò}}
{{yue-pron|tung1 fo3}}
==={{noun}}===
{{zhchars|s=通货}}
#(日本語に同じ)通貨。
=={{L|ko}}==
==={{noun}}===
{{ko-head|noun|통화}}
{{topcat|ko|通貨}}
#(日本語に同じ)通貨。
3bnfcpi6tnlfdrp40a58hkpfwo1v34r
2281180
2281179
2026-06-09T08:46:45Z
Jiba1219
100610
2281180
wikitext
text/x-wiki
{{kana-DEFAULTSORT|つうか}}
{{wikipedia|通貨}}
=={{L|ja}}==
==={{pron}}===
{{ja-pron|つうか|acc=1|acc_ref=NHK}}
==={{noun}}===
{{ja-noun|[[つうか]]}}
{{topcat|ja|通貨}}
#[[もの|物]]や[[サービス]]の[[価値]]が[[一定]]の[[単位]]で[[化体]]され、[[国家]]等の[[強制力]]により[[流通]]が[[保証]]されたもの。流通貨幣の[[略]]とされる。
===={{syn}}====
*[[貨幣]]
===={{prov}}====
*[[基軸通貨]]
===={{trans}}====
{{top}}
*[[アラム語]]:
*:[[シリア文字]]: [[ܟܣܦܐ]] (kespā, kespo) {{m}}
*:[[ヘブル文字]]: [[כספא]] (kespā, kespo) {{m}}
*{{cs}}: [[peníze]] {{m}} {{p}}
*[[{{da}}]]<!--*Danish-->: [[valuta]] {{c}}, [[møntenhed]] {{c}}
*[[{{de}}]]<!--*German-->: [[Währung]] {{f}}
*[[{{el}}]]<!--*Greek-->: [[νόμισμα]] {{n}}
*{{en}}:{{trans_link|en|currency}}
*[[{{eo}}]]<!--*Esperanto-->: [[mono]], [[valuto]]
*[[{{fi}}]]<!--*Finnish-->: [[valuutta]], [[raha]], [[rahayksikkö]]
*[[{{fr}}]]<!--*French-->: [[monnaie]] {{f}}
*{{he}}: [[כסף]] (késef) {{m}}
*[[{{ia}}]]<!--*Interlingua-->: [[moneta]], [[numerario]]
*[[{{id}}]]<!--*Indonesian-->: [[mata uang]], [[valuta]]
*{{is}}: [[gjaldmiðill]] {{m}}
*[[{{nl}}]]<!--*Dutch-->: [[munteenheid]] {{f}}
*[[{{no}}]]<!--*Norwegian-->: [[valuta]]
*[[{{pl}}]]<!--*Polish-->: [[Waluta]]
*[[{{pt}}]]<!--*Portuguese-->: [[moeda]] {{f}}
*[[{{ru}}]]<!--*Russian-->: [[валюта]] (val'úta) {{f}}, [[деньги]] (d'én’gi) {{p}}
*[[{{sl}}]]<!--*Slovenian-->: [[valuta]]
*[[{{es}}]]<!--*Spanish-->: [[moneda]] {{f}}
*[[{{sv}}]]<!--*Swedish-->: [[valuta]]
*[[{{te}}]]<!--*Telugu-->: [[ద్రవ్యం]] (dravyaM)
*[[{{th}}]]<!--*Thai-->: {{THchar|[[เงินตรา]]}}
*[[{{tr}}]]<!--*Turkish-->: [[para birimi]]
*[[{{zh}}]]<!--*Chinese-->: {{t|zh|货币|tr=huòbì}}
{{bottom}}
===脚注===
{{Reflist}}
=={{L|zh}}==
{{zh-cat|tong1huo4|noun}}
{{topcat|zh|通貨}}
{{yue-cat|tung1fo3|noun}}
{{topcat|yue|通貨}}
==={{pron}}===
{{cmn-pron|tōnghuò}}
{{yue-pron|tung1 fo3}}
==={{noun}}===
{{zhchars|s=通货}}
#(日本語に同じ)通貨。
=={{L|ko}}==
==={{noun}}===
{{ko-head|noun|통화}}
{{topcat|ko|通貨}}
#(日本語に同じ)通貨。
b5sn4zbop28qnhbsb6cpyj7rs0smlt5
2281271
2281180
2026-06-09T11:17:39Z
Jiba1219
100610
端末の問題なのか不明だがtopcatを使用した場所に不自然な行間が...
2281271
wikitext
text/x-wiki
{{kana-DEFAULTSORT|つうか}}
{{wikipedia|通貨}}
=={{L|ja}}==
==={{pron}}===
{{ja-pron|つうか|acc=1|acc_ref=NHK}}
==={{noun}}===
{{ja-noun|[[つうか]]}}
#[[もの|物]]や[[サービス]]の[[価値]]が[[一定]]の[[単位]]で[[化体]]され、[[国家]]等の[[強制力]]により[[流通]]が[[保証]]されたもの。流通貨幣の[[略]]とされる。
===={{syn}}====
*[[貨幣]]
===={{prov}}====
*[[基軸通貨]]
===={{trans}}====
{{top}}
*[[アラム語]]:
*:[[シリア文字]]: [[ܟܣܦܐ]] (kespā, kespo) {{m}}
*:[[ヘブル文字]]: [[כספא]] (kespā, kespo) {{m}}
*{{cs}}: [[peníze]] {{m}} {{p}}
*[[{{da}}]]<!--*Danish-->: [[valuta]] {{c}}, [[møntenhed]] {{c}}
*[[{{de}}]]<!--*German-->: [[Währung]] {{f}}
*[[{{el}}]]<!--*Greek-->: [[νόμισμα]] {{n}}
*{{en}}:{{trans_link|en|currency}}
*[[{{eo}}]]<!--*Esperanto-->: [[mono]], [[valuto]]
*[[{{fi}}]]<!--*Finnish-->: [[valuutta]], [[raha]], [[rahayksikkö]]
*[[{{fr}}]]<!--*French-->: [[monnaie]] {{f}}
*{{he}}: [[כסף]] (késef) {{m}}
*[[{{ia}}]]<!--*Interlingua-->: [[moneta]], [[numerario]]
*[[{{id}}]]<!--*Indonesian-->: [[mata uang]], [[valuta]]
*{{is}}: [[gjaldmiðill]] {{m}}
*[[{{nl}}]]<!--*Dutch-->: [[munteenheid]] {{f}}
*[[{{no}}]]<!--*Norwegian-->: [[valuta]]
*[[{{pl}}]]<!--*Polish-->: [[Waluta]]
*[[{{pt}}]]<!--*Portuguese-->: [[moeda]] {{f}}
*[[{{ru}}]]<!--*Russian-->: [[валюта]] (val'úta) {{f}}, [[деньги]] (d'én’gi) {{p}}
*[[{{sl}}]]<!--*Slovenian-->: [[valuta]]
*[[{{es}}]]<!--*Spanish-->: [[moneda]] {{f}}
*[[{{sv}}]]<!--*Swedish-->: [[valuta]]
*[[{{te}}]]<!--*Telugu-->: [[ద్రవ్యం]] (dravyaM)
*[[{{th}}]]<!--*Thai-->: {{THchar|[[เงินตรา]]}}
*[[{{tr}}]]<!--*Turkish-->: [[para birimi]]
*[[{{zh}}]]<!--*Chinese-->: {{t|zh|货币|tr=huòbì}}
{{bottom}}
===脚注===
{{Reflist}}
{{topcat|ja|通貨}
=={{L|zh}}==
{{zh-cat|tong1huo4|noun}}
{{topcat|zh|通貨}}
{{yue-cat|tung1fo3|noun}}
{{topcat|yue|通貨}}
==={{pron}}===
{{cmn-pron|tōnghuò}}
{{yue-pron|tung1 fo3}}
==={{noun}}===
{{zhchars|s=通货}}
#(日本語に同じ)通貨。
=={{L|ko}}==
==={{noun}}===
{{ko-head|noun|통화}}
#(日本語に同じ)通貨。
{{topcat|ko|通貨}}
9i3yjhhc3ac8psmfgab6phe3caidfd7
2281272
2281271
2026-06-09T11:18:38Z
Jiba1219
100610
2281272
wikitext
text/x-wiki
{{kana-DEFAULTSORT|つうか}}
{{wikipedia|通貨}}
=={{L|ja}}==
==={{pron}}===
{{ja-pron|つうか|acc=1|acc_ref=NHK}}
==={{noun}}===
{{ja-noun|[[つうか]]}}
#[[もの|物]]や[[サービス]]の[[価値]]が[[一定]]の[[単位]]で[[化体]]され、[[国家]]等の[[強制力]]により[[流通]]が[[保証]]されたもの。流通貨幣の[[略]]とされる。
===={{syn}}====
*[[貨幣]]
===={{prov}}====
*[[基軸通貨]]
===={{trans}}====
{{top}}
*[[アラム語]]:
*:[[シリア文字]]: [[ܟܣܦܐ]] (kespā, kespo) {{m}}
*:[[ヘブル文字]]: [[כספא]] (kespā, kespo) {{m}}
*{{cs}}: [[peníze]] {{m}} {{p}}
*[[{{da}}]]<!--*Danish-->: [[valuta]] {{c}}, [[møntenhed]] {{c}}
*[[{{de}}]]<!--*German-->: [[Währung]] {{f}}
*[[{{el}}]]<!--*Greek-->: [[νόμισμα]] {{n}}
*{{en}}:{{trans_link|en|currency}}
*[[{{eo}}]]<!--*Esperanto-->: [[mono]], [[valuto]]
*[[{{fi}}]]<!--*Finnish-->: [[valuutta]], [[raha]], [[rahayksikkö]]
*[[{{fr}}]]<!--*French-->: [[monnaie]] {{f}}
*{{he}}: [[כסף]] (késef) {{m}}
*[[{{ia}}]]<!--*Interlingua-->: [[moneta]], [[numerario]]
*[[{{id}}]]<!--*Indonesian-->: [[mata uang]], [[valuta]]
*{{is}}: [[gjaldmiðill]] {{m}}
*[[{{nl}}]]<!--*Dutch-->: [[munteenheid]] {{f}}
*[[{{no}}]]<!--*Norwegian-->: [[valuta]]
*[[{{pl}}]]<!--*Polish-->: [[Waluta]]
*[[{{pt}}]]<!--*Portuguese-->: [[moeda]] {{f}}
*[[{{ru}}]]<!--*Russian-->: [[валюта]] (val'úta) {{f}}, [[деньги]] (d'én’gi) {{p}}
*[[{{sl}}]]<!--*Slovenian-->: [[valuta]]
*[[{{es}}]]<!--*Spanish-->: [[moneda]] {{f}}
*[[{{sv}}]]<!--*Swedish-->: [[valuta]]
*[[{{te}}]]<!--*Telugu-->: [[ద్రవ్యం]] (dravyaM)
*[[{{th}}]]<!--*Thai-->: {{THchar|[[เงินตรา]]}}
*[[{{tr}}]]<!--*Turkish-->: [[para birimi]]
*[[{{zh}}]]<!--*Chinese-->: {{t|zh|货币|tr=huòbì}}
{{bottom}}
===脚注===
{{Reflist}}
{{topcat|ja|通貨}}
=={{L|zh}}==
{{zh-cat|tong1huo4|noun}}
{{topcat|zh|通貨}}
{{yue-cat|tung1fo3|noun}}
{{topcat|yue|通貨}}
==={{pron}}===
{{cmn-pron|tōnghuò}}
{{yue-pron|tung1 fo3}}
==={{noun}}===
{{zhchars|s=通货}}
#(日本語に同じ)通貨。
=={{L|ko}}==
==={{noun}}===
{{ko-head|noun|통화}}
#(日本語に同じ)通貨。
{{topcat|ko|通貨}}
3b3yps6nm2qpa6tz2ef1ludrdug315m
2281290
2281272
2026-06-09T11:23:21Z
M-30722
1202
訳語並べ替え等。この位置にtopcatを配置した場合は表示いかがでしょうか?
2281290
wikitext
text/x-wiki
{{kana-DEFAULTSORT|つうか}}
{{wikipedia}}
=={{L|ja}}==
{{ja-kanjitab|つう|か|yomi=o}}
==={{pron}}===
{{ja-pron|つうか|acc=1|acc_ref=NHK}}
{{ja-accent-common|region=京阪|a|つ|ーか}}
==={{noun}}===
{{ja-noun|[[つうか]]}}
#{{topcat|ja|通貨}}[[もの|物]]や[[サービス]]の[[価値]]が[[一定]]の[[単位]]で[[化体]]され、[[国家]]等の[[強制力]]により[[流通]]が[[保証]]されたもの。流通貨幣の[[略]]とされる。
===={{syn}}====
*[[貨幣]]
===={{prov}}====
*[[基軸通貨]]
===={{trans}}====
{{top}}
*{{T|is}}: [[gjaldmiðill]] {{m}}
*{{T|arc}}:
*:[[シリア文字]]: [[ܟܣܦܐ]] (kespā, kespo) {{m}}
*:[[ヘブル文字]]: [[כספא]] (kespā, kespo) {{m}}
*{{T|ia}}: [[moneta]], [[numerario]]
*{{T|id}}: [[mata uang]], [[valuta]]
*{{T|en}}: {{t|en|currency}}
*{{T|eo}}: [[mono]], [[valuto]]
*{{T|nl}}: [[munteenheid]] {{f}}
*{{T|el}}: {{t|el|νόμισμα|n}}
*{{T|sv}}: [[valuta]]
*{{T|es}}: [[moneda]] {{f}}
*{{T|sl}}: [[valuta]]
*{{T|th}}: {{t|th|เงินตรา}}
*{{T|cs}}: [[peníze]] {{m}} {{p}}
*{{T|zh}}: {{t|zh|货币|tr=huòbì}}
*{{T|te}}: {{t|te|ద్రవ్యం}}
*{{T|da}}: [[valuta]] {{c}}, [[møntenhed]] {{c}}
*{{T|de}}: [[Währung]] {{f}}
*{{T|tr}}: [[para birimi]]
*{{T|no}}: [[valuta]]
*{{T|fi}}: [[valuutta]], [[raha]], [[rahayksikkö]]
*{{T|fr}}: [[monnaie]] {{f}}
*{{T|he}}: [[כסף]] (késef) {{m}}
*{{T|pl}}: [[Waluta]]
*{{T|pt}}: [[moeda]] {{f}}
*{{T|ru}}: {{t|ru|валюта|f}}, {{t|ru|деньги|p}}
{{bottom}}
===脚注===
{{Reflist}}
=={{L|zh}}==
{{zh-cat|tong1huo4|noun}}{{topcat|zh|通貨}}
{{yue-cat|tung1fo3|noun}}{{topcat|yue|通貨}}
==={{pron}}===
{{cmn-pron|tōnghuò}}
{{yue-pron|tung1 fo3}}
==={{noun}}===
{{zhchars|s=通货}}
#(日本語に同じ)通貨。
=={{L|ko}}==
==={{noun}}===
{{ko-head|noun|통화}}
#{{topcat|ko|通貨}}(日本語に同じ)通貨。
qjgyazybtste78mkqzobxqxvax4kpf5
休
0
13918
2280846
2177507
2026-06-08T12:22:16Z
RoKouKok
112415
2280846
wikitext
text/x-wiki
{{kana-DEFAULTSORT|きゅう}}
==漢字==
{{kanji|人|4}}
{{kanji variants|庥|烋|𠇲=[[訛字]]|𠇾|𬽼=[[同字]]|𫹎}}
{{筆順}}
===字源===
*[[会意文字|会意]]または[[象形文字|象形]]。「[[人]]」+「[[木]]/[[𥝌]]」。人を覆う樹木を象る。「[[こかげ]]」「[[かげる|かげらす]]」を意味する[[漢語]]{[[庥]] {{phoneme|*hu}}}を表す字。仮借して「[[やすむ]]」を意味する漢語{[[休]] {{phoneme|*hu}}}に用いる。<ref name="a" group="字源">雷縉碚「“休”字形義分析及“對揚王休”解」『古文字研究』第35輯、中華書局、
2024年、636-641頁。</ref>
**かつては人が木陰でやすむさまを象り、「やすむ」を意味する漢語{休}を表す字であるとする説<ref group="字源">裘錫圭 『文字学概要』 商務印書館、1988年、143-144頁。<br>季旭昇撰 『説文新証』 芸文印書館、2014年、492頁。<br>王子楊 「釈花東甲骨卜辞中的“𥝌”」 『古文字研究』第31輯 中国古文字研究会等編、中華書局、2016年、73-79頁。<br>林志強等評注 『《文源》評注』 中国社会科学出版社、2017年、533頁。</ref>が主流であったが、金文で「休」が「やすむ」の意味で用いられた例が見られず、『{{w|詩経}}』においてもほとんどが「かげらす」から引伸した「[[かばう]]」の意味で用いられていることなどを根拠に、この説は否定されている。<ref name="a" group="字源" />
**戦の講和の軍門を示し、戦時の褒賞が原義(白川)。この記述は[[甲骨文字]]や[[金文]]などの資料と一致していない記述が含まれていたり根拠のない憶測に基づいていたりするためコンセンサスを得られていない。
{{字源}}
====字源====
<references group="字源" />
===関連字===
{| class="wikitable"
|+ 「[[休]]」を音符とする[[形声文字]] (諧声域=*KU)
|-
! !! !! 見母 !! 溪母 !! 匣母 !! 影母 !! 曉母
|-
! rowspan="4" | 一等 || 平声 豪韻
| || || || || [[茠]][[𣐾]]
|-
! 上声 皓韻
| || || || ||
|-
! 去声 號韻
| || || || ||
|-
! 入声 沃韻
| || || || ||
|-
! !! !! 見母 !! 溪母 !! 匣母 !! 影母 !! 曉母
|-
! rowspan="4" | 二等 || 平声 肴韻
| || || || ||
|-
! 上声 巧韻
| || || || || -
|-
! 去声 效韻
| || || || ||
|-
! 入声 覺韻
| || || || ||
|-
! !! !! 見母 !! 溪母 !! 群母 !! 影母 !! 曉母
|-
! rowspan="4" | 三等A || 平声 尤韻
| || [[恘]] || || || [[休]][[貅]][[㹯]][[鵂]][[𩢮]][[㾋]][[庥]][[髤]][[咻]]<br>(幽韻:[[烋]])
|-
! 上声 有韻
| || || || || (麌韻:[[咻]])
|-
! 去声 宥韻
| || || || - ||
|-
! 入声 屋韻
| || || || ||
|-
! !! !! 見母 !! 溪母 !! 群母 !! 影母 !! 曉母
|-
! rowspan="4" | 三等B || 平声 脂韻
| || || || ||
|-
! 上声 旨韻
| || || || ||
|-
! 去声 至韻
| || || || - ||
|-
! 入声 屋韻
| || || || ||
|}
===字義===
#[[やすむ]]、[[やすまる]]、[[やすめる]]
#[[やめる]]、[[やむ]]
=={{L|ja}}==
[[Category:{{ja}}]]
{{ja-kanji|常用=キュウ,やす-む,やす-まる,やす-める|施策=教育:1|呉音=ク|漢音=キュウ|訓=やす-む,やす-まる,やす-める}}
===={{prov}}====
{{rel-top}}
*[[休意]]
*[[休演]]
*[[休暇]]
*[[休火山]]
*[[休会]]
*[[休学]]
*[[休刊]]
*[[休閑]]
*[[休館]]
*[[休業]]
*[[休憩]]
*[[休校]]
*[[休耕]]
*[[休航]]
*[[休講]]
*[[休載]]
*[[休止]]
*[[休日]]
*[[休祥]]
*[[休場]]
*[[休職]]
*[[休心]]
*[[休診]]
*[[休錘]]
*[[休戚]]
*[[休戦]]
*[[休息]]
*[[休足]]
*[[休怠]]
*[[休題]]
*[[休廷]]
*[[休転]]
*[[休電]]
*[[休泊所]]
*[[休符]]
*[[休眠]]
*[[休養]]
*[[休漁]]
*[[運休]]
*[[帰休]]
*[[公休]]
*[[週休]]
*[[代休]]
*[[定休]]
*[[年休]]
*[[不休]]
*[[半休]]
*[[無休]]
*[[盟休]]
*[[遊休]]
*[[臨休]]
*[[連休]]
{{rel-bottom}}
=={{L|zh}}==
{{zh-cat|xiu1|動詞|副詞|常=1}}
==={{pron}}===
{{zh-han
|m=xiū
|m-s=xiu1
|m-x=xiǔ
|m-nj=xiù
|dg=щю
|c=jau1
|c-dg=haau1
|c-t=hiu1
|g=xiu1
|pfs=hiû
|hrs=hiuˋ
|gd=hiu1
|j=xiou1
|mb=hiú
|md=hiĕu
|mn=hiu
|mn-t=hiun1/hiu1
|mn-l=hiu1
|px=pt,xy:hiu1
|sp=jau1
|w=1shieu
|w-j=1shieu
|x=xiou1
}}
** '''[[中古音]]''': xjuw
** '''[[上古音]]''':
*** '''白一平-サガール''': *qʰ(r)u
*** '''鄭張''': *qʰu
==={{verb}}===
#{{おくりがな2|休|やす|む|やすむ}}、[[休息]]する。
#[[離縁]]する。
==={{adverb}}===
#〜するな。
=={{L|ko}}==
{{ko-han|휴|eumhun=[[쉬다|쉴]] 휴}}
==={{prov}}===
* {{l|ko|만사휴의}} <[[萬事休矣]]>
* {{l|ko|연휴}} <[[連休]]>
* {{l|ko|황금연휴}} <[[黃金連休]]>
* {{l|ko|휴지}} <[[休止]]>, <[[休紙]]>
* {{l|ko|휴지통}} <[[休紙桶]]>
* {{l|ko|휴지화}} <[[休紙化]]>
=={{L|vi}}==
{{vi-han|hưu}}
=={{コード}}==
{{文字コード|jis=1-21-57|mj={{mjmoji|006577}}|gb=D0DD|cns=1-4732|big5=A5F0|ksx=1001-7D4C}}
{{検字|倉頡=OD|四角=2429.0}}
{{字典|dj=0203.020|hdz=10117.180|大字源=163|大漢語林=203|康煕=0096.020|新大字典=360|新潮漢字=235|諸橋=440}}
f6trzozzqsr073eo0yxr5u1eha550u3
sentir
0
15368
2281351
2114261
2026-06-09T11:43:25Z
Kuroco2k
84207
2281351
wikitext
text/x-wiki
=={{L|ast}}==
==={{etym}}===
{{etyl|la|ast}} {{m|la|sentīre}}
==={{verb}}===
{{ast-verb}}
#[[感じる]]。
#{{おくりがな2|聞|き|く|きく}}。
#{{おくりがな2|思|おも|う|おもう}}。
===={{rel}}====
* {{l|ast|sentimientu}}
* {{l|ast|sensación}}
* {{l|ast|sentir campanes}}
----
=={{L|it}}==
==={{verb}}===
{{it-verb}}
#{{apocopic form of|lang=it|sentire}}
==={{anag}}===
* {{anagrams|it|a=einrst|sterni}}
----
=={{L|io}}==
==={{pron}}===
* {{io-IPA}}
==={{verb}}===
{{head|io|verb form}}
#{{l|io|sentar}}の過去不定詞。
----
=={{L|vec}}==
==={{etym}}===
{{etyl|la|vec}} {{m|la|sentīre}}
==={{verb}}===
{{head|vec|verb}}
#{{context|他動詞|lang=vec}}{{おくりがな2|聞|き|く|きく}}。
#{{context|他動詞|lang=vec}}[[感じる]]。
===={{conjugation}}====
{{vec-conj-auto}}
----
=={{L|oc}}==
==={{etym}}===
{{etyl|pro|oc}} {{m|pro|sentir}} < {{etyl|la|oc}} {{m|la|sentīre}}
==={{pron}}===
* {{音声|oc|LL-Q14185 (oci)-Davidgrosclaude-sentir.wav}}
==={{verb}}===
{{oc-verb|sent|ir}}
#[[感じる]]。
#[[におう]]。
{{oc-conj-ir|sent}}
----
=={{L|ca}}==
==={{etym}}===
{{etyl|roa-oca|ca}} {{m|roa-oca|sentir}} < {{etyl|la|ca}} {{m|la|sentīre}}
==={{pron}}===
* {{ca-IPA}}
* {{音声|ca|LL-Q7026 (cat)-Unjoanqualsevol-sentir.wav}}
* {{rhymes|i(ɾ)|s=2}}
==={{verb}}===
{{ca-verb|ir-pure|sent|past_part=sentit}}
#[[感じる]]。
#{{おくりがな2|聞|き|く|きく}}。
#{{context|自動詞|代名詞hiを伴って|lang=ca}}{{おくりがな2|聞|き|こえる|きこえる}}。
#{{context|Castilianism|lang=ca}}{{おくりがな2|悔|く|いる|くいる}}。
#: {{ux|ca|Ho '''sento'''.|ごめんなさい。}}
{{ca-conj-ir-pure|sent}}
===={{rel}}====
* {{l|ca|ressentir-se}}
* {{l|ca|sentida}}
* {{l|ca|sentiment}}
* {{l|ca|sentimental}}
* {{l|ca|sentit}}
* {{l|ca|sentor}}
----
=={{L|gl}}==
==={{etym}}===
{{etyl|roa-opt|gl}} {{m|roa-opt|sentir}} < {{etyl|la|gl}} {{m|la|sentīre}} < {{etyl|ine-pro|gl}} {{m|ine-pro|*sent-}}
==={{pron}}===
* {{IPA|lang=gl|senˈtiɾ}}
==={{verb}}===
{{head|gl|verb}}
#{{おくりがな2|聞|き|く|きく}}。
#[[感じる]]。
{{gl-conj-ir (e-i)|sent|sint}}
----
=={{L|osp}}==
==={{etym}}===
{{etyl|la|osp}} {{m|la|sentīre}} < {{etyl|ine-pro|osp}} {{m|ine-pro|*sent-}}
==={{verb}}===
{{head|osp|verb}}
#{{context|他動詞|lang=osp}}[[感じる]]。
===={{desc}}====
* {{desc|es|sentir}}
* {{desc|lad|sentir|sintir|סינטיר}}
----
=={{L|fro}}==
==={{etym}}===
{{etyl|la|fro}} {{m|la|sentīre}}
==={{verb}}===
{{head|fro|verb}}
#[[感じる]]。
#[[におう]]。
{{fro-conj-iii|sent}}
===={{desc}}====
* {{desc|nrf|senti}}
* {{desc|fr|sentir}}
----
=={{L|roa-opt}}==
==={{etym}}===
{{etyl|la|roa-opt}} {{m|la|sentīre}} < {{etyl|ine-pro|roa-opt}} {{m|ine-pro|*sent-}}
==={{verb}}===
{{head|roa-opt|verb}}
#{{context|他動詞|lang=roa-opt}}[[感じる]]。
===={{desc}}====
* {{desc|gl|sentir}}
* {{desc|pt|sentir}}
----
=={{L|es}}==
==={{etym}}===
{{etyl|osp|es}} {{m|osp|sentir}} < {{etyl|la|es}} {{m|la|sentīre}} < {{etyl|ine-pro|es}} {{m|ine-pro|*sent-}}
==={{pron}}===
{{es-pr}}
==={{verb}}===
{{head|es|verb}}
#[[感じる]]。
#{{おくりがな2|思|おも|う|おもう}}。
===={{conjug}}====
{{es-conj|<ie-i>}}
{{es-conj|sentirse<ie-i>|nocomb=1}}
===={{drv}}====
* {{l|es|lo siento}}
* {{l|es|ojos que no ven, corazón que no siente}}
* {{l|es|sentirse}}
* {{l|es|sentido}}
===={{rel}}====
* {{l|es|asentir}}
* {{l|es|sensación}}
* {{l|es|sensible}}
* {{l|es|sensitivo}}
* {{l|es|sensual}}
* {{l|es|sentimiento}}
* {{l|es|sentimental}}
==={{noun}}===
{{es-noun|m|es}}
#[[意見]]。
#[[感情]]。
----
=={{L|fr}}==
==={{etym}}===
{{etyl|fro|fr}} {{m|fro|sentir}} < {{etyl|la|fr}} {{m|la|sentīre}} < {{etyl|ine-pro|fr}} {{m|ine-pro|*sent-}}
==={{pron}}===
* {{fr-IPA}}
* {{音声|fr|Fr-sentir.ogg|a=Paris}}
==={{verb}}===
{{fr-verb}}
#[[感じる]]
#[[におう]]。[[香気]]、[[臭気]]を放つ。
===={{conjugation}}====
{{fr-conj-auto}}
===={{hypo}}====
* {{l|fr|empester}}
* {{l|fr|exhaler}}
* {{l|fr|puer}}
===={{drv}}====
{{top}}
* {{l|fr|ne plus se sentir}}
* {{l|fr|ne plus se sentir pisser}}
* {{l|fr|ressentir}}
* {{l|fr|ressentiment}}
* {{l|fr|se sentir d'attaque}}
* {{l|fr|se sentir pousser des ailes}}
* {{l|fr|sentir l'écurie}}
* {{l|fr|sentir le fagot}}
* {{l|fr|sentir le roussi}}
* {{l|fr|sentir le soufre}}
* {{l|fr|sentir le vécu}}
{{bottom}}
===={{rel}}====
* {{l|fr|assentiment}}
* {{l|fr|sens}}
* {{l|fr|sensation}}
* {{l|fr|sensible}}
* {{l|fr|sensuel}}
* {{l|fr|sentiment}}
==={{seealso}}===
* {{l|fr|nez}}
* {{l|fr|odorat}}
==={{anag}}===
* {{anagrams|fr|retins|ternis}}
----
=={{L|pt}}==
==={{etym}}===
{{etyl|roa-opt|pt}} {{m|roa-opt|sentir}} < {{etyl|la|pt}} {{m|la|sentīre}} < {{etyl|ine-pro|pt}} {{m|ine-pro|*sent-}}
==={{pron}}===
* {{IPA|lang=pt|sẽˈtiɾ}}
==={{verb}}===
{{head|pt|verb}}
#[[感じる]]。
====活用====
{{pt-conj|s|entir}}
===={{hypo}}====
* {{l|pt|cheirar}}; {{l|pt|escutar}}, {{l|pt|ouvir}}; {{l|pt|tocar}}, {{l|pt|encostar}}; {{l|pt|provar}}, {{l|pt|degustar}}; {{l|pt|ver}}, {{l|pt|enxergar}}, {{l|pt|olhar}}
===={{drv}}====
* {{l|pt|sinto muito}}
===={{rel}}====
* {{l|pt|sensação}}
* {{l|pt|sensato}}
* {{l|pt|sensibilidade}}
* {{l|pt|sensibilizar}}
* {{l|pt|sensível}}
* {{l|pt|sensitivo}}
* {{l|pt|senso}}
* {{l|pt|sensual}}
* {{l|pt|sentença}}
* {{l|pt|sentidamente}}
* {{l|pt|sentido}}
* {{l|pt|sentimento}}
----
=={{L|lad}}==
==={{verb}}===
{{lad-verb|heb=סינטיר}}
#{{l|lad|sintir}}の異形。
4g860g41zydn1pg0oz8hmm6mpw62u5x
小満
0
17250
2281062
1462310
2026-06-09T00:43:22Z
ふゆくれ
95641
2281062
wikitext
text/x-wiki
{{kana-DEFAULTSORT|しょうまん}}
=={{L|ja}}==
{{節気}}
{{ja-kanjitab|しょう|まん|yomi=o}}
{{wikipedia|小満}}
==={{pron}}===
{{ja-pron|しょうまん|acc=0}}
*{{X-SAMPA|s\o:maN\}}
==={{noun}}===
{{ja-noun|[[しょうまん]]|kyu=小滿|reki=せうまん}}
#{{context|暦|夏|lang=ja}}[[二十四節気]]の一つ。あらゆるものが成長して満ちてくるころ。四月[[中]]。
## [[定気法]]では、太陽黄経が60度のときを含む日。5月21日ごろ。
## [[平気法]]では、[[冬至]]から12分の5年後。5月23日ごろ。
#{{q|暦}} 小満(1)から[[芒種]]までの期間。
===={{rel}}====
*[[七十二候]]
**[[初候]]: [[蚕起食桑]](日本)、[[苦菜秀]](中国)
**[[次候]]: [[紅花栄]](日本)、[[靡草死]](中国)
**[[末候]]: [[麦秋至]](日本)、[[小暑至]](中国)
{{二十四節気/日本語}}
h5kl7nlctbpihj8omt9pug8ptsqu09c
芒種
0
17251
2281072
1917560
2026-06-09T01:08:51Z
ふゆくれ
95641
2281072
wikitext
text/x-wiki
{{kana-DEFAULTSORT|ぼうしゅ}}
=={{L|ja}}==
{{節気}}
{{ja-kanjitab|ぼう|しゅ|yomi=o}}
{{wikipedia}}
==={{pron}}===
{{ja-pron|ぼうしゅ|acc=1|acc_ref=SMK7,DJR,NHK,NKD2}}
==={{noun}}===
{{ja-noun|[[ぼうしゅ]]}}
#{{タグ|ja|暦|夏}} [[二十四節気]]の一つ。6月6日あたり。またはそれから[[夏至]]までの期間。{{季語|夏}}。
===={{rel}}====
*[[七十二候]]
**[[初候]]: [[螳螂生]](日本・中国)
**[[次候]]: [[腐草為蛍]](日本)、[[鵙始鳴]](中国)
**[[末候]]: [[梅子黄]](日本)、[[反舌無声]](中国)
{{二十四節気/日本語}}
===脚注===
{{Reflist}}
=={{L|zh}}==
{{中国の節気}}
{{wikipedia|lang=zh}}
{{wikipedia|lang=yue}}
{{wikipedia|Mông-chúng|lang=hak}}
{{wikipedia|Mòng-cṳ̄ng|lang=cdo}}
{{wikipedia|Bông-chéng|lang=nan}}
==={{pron}}===
{{cmn-pron|mángzhòng|s=mang2zong3}}
{{yue-pron|mong4 zung3}}
{{hak-pron|miòng-chung/mòng-chung|h=mong zhungˇ|gd=mong2 zung4}}
{{mnp-pron|mông-ce̤̿ng}}
{{cdo-pron|mòng-cṳ̄ng}}
{{nan-pron|bông-chéng|t=mang5 zong2}}
{{cpx-pron|pt:^morng2 zoeng3/xy:morng2 zyoeng3}}
{{wuu-pron|sh:6maon tson}}
{{gan-pron|mong4 zung}}
{{cjy-pron|mon1 zung2}}
{{hsn-pron|man2 zhong4}}
==={{noun}}===
{{zh-cat|mang2zhong4|noun|暦}}
{{zhx-sic-cat|mang2zong3|noun|暦}}
{{yue-cat|mong4jung3|noun|暦}}
{{hak-cat|miong2chung4|noun|暦}}
{{mnp-cat|mong2coeng4|noun|暦}}
{{cdo-cat|mong5cung2|noun|暦}}
{{nan-cat|bong5cheng2|noun|暦}}
{{nan-tws-cat|mang5zong2|noun|暦}}
{{cpx-cat|morng2zoeng3|noun|暦}}
{{wuu-cat|maon3tson1|noun|暦}}
{{gan-cat|mong4zung|noun|暦}}
{{cjy-cat|mon1zung2|noun|暦}}
{{hsn-cat|man2zhong4|noun|暦}}
{{zhchars|s=芒种}}
#(日本語に同じ)芒種。
{{二十四節気/中国語繁体字}}
==={{desc}}===
{{CJKV||芒種|j=ぼうしゅ|망종|mang chủng}}
;その他の言語:
* {{desc|za|muengzcungq|bor=1}}
=={{L|ko}}==
{{ko-hanjatab}}
==={{noun}}===
{{ko-head|noun|망종|cat2=暦}}
#(日本語に同じ)芒種。
=={{L|vi}}==
{{vi-hantutab}}
==={{noun}}===
{{vi-head|noun|mang|chủng|cat2=暦}}
#(日本語に同じ)芒種。
ja4ebrrmfie7jmzxkz6o85a5e4dngrb
venir
0
18038
2281386
2169506
2026-06-09T11:55:51Z
Kuroco2k
84207
2281386
wikitext
text/x-wiki
=={{L|ast}}==
==={{etym}}===
{{etyl|la|ast}} {{m|la|venīre}}
==={{verb}}===
{{ast-verb}}
#{{おくりがな2|来|く|る|くる}}。
=={{L|an}}==
==={{alter}}===
* {{alter+|an|vinre}}
==={{etym}}===
{{etyl|la|an}} {{m|la|venīre}}
==={{pron}}===
* {{an-pr}}
==={{verb}}===
{{head|an|verb}}
#{{タグ|an|自動詞}}{{おくりがな2|来|く|る|くる}}。
===={{rel}}====
* {{l|an|intervenir}}
=={{L|frp}}==
==={{alter}}===
* {{alter+|frp|vegnir}}
==={{etym}}===
{{etyl|la|frp}} {{m|la|venīre}}
==={{verb}}===
{{head|frp|verb}}
#{{おくりがな2|来|く|る|くる}}。
{{frp-conj-venir}}
=={{L|it}}==
==={{verb}}===
{{head|it|verb}}
#{{apocopic form of|it|venire}}
==={{anag}}===
* {{anagrams|it|a=einrv|Nervi|nervi|verni}}
=={{L|io}}==
==={{pron}}===
{{io-IPA}}
==={{verb}}===
{{head|io|verb form}}
#{{l|io|venar}}の過去不定詞。
=={{L|ia}}==
==={{verb}}===
{{ia-verb|ir}}
#{{おくりがな2|来|く|る|くる}}。
#: {{ant|ia|ir}}
{{ia-conj|ven|ir|intr=yes}}
=={{L|oc}}==
==={{etym}}===
{{etyl|pro|oc}} {{m|pro|venir}} < {{etyl|la|oc}} {{m|la|venīre}}
==={{pron}}===
* {{IPA|lang=oc|beˈni}}
* {{音声|oc|LL-Q942602-Davidgrosclaude-venir.wav|a=Languedocian}}
==={{verb}}===
{{oc-verb|ven|ir}}
#{{おくりがな2|来|く|る|くる}}。
{{oc-conj-table|venir|venent|vengut|veni|venes|ven|venèm|venètz|venon|veniái|veniás|veniá|veniam|veniatz|venián|venguèri|venguères|venguèt|venguèrem|venguèretz|venguèron|vendrai|vendràs|vendrà|vendrem|vendretz|vendràn|vendriái|vendriás|vendriá|vendriam|vendriatz|vendrián|venga|vengas|venga|vengam|vengatz|vengan|venguèsse|venguèsses|venguèsse|venguèssem|venguèssetz|venguèsson|vèni|vengam|venètz}}
=={{L|ca}}==
==={{alter}}===
* {{alter+|ca|vindre}}
==={{etym}}===
{{etyl|la|ca}} {{m|la|venīre}}
==={{pron}}===
* {{ca-IPA}}
* {{音声|ca|LL-Q7026 (cat)-Unjoanqualsevol-venir.wav|a=Catalonia}}
==={{verb}}===
{{ca-verb|pres_1_sg=vinc|past_part=vingut}}
#{{タグ|ca|自動詞}}{{おくりがな2|来|く|る|くる}}。
{{ca-conj-ir-tenir|ven|vin|ve<!--
-->|pres_ind_2_sg=véns<!--
-->|pres_ind_3_pl=vénen<!--
-->|impr_2_sg=vine<!--
-->}}
===={{drv}}====
* {{l|ca|que ve}}
* {{l|ca|venir a tomb}}
* {{l|ca|venir de gust}}
* {{l|ca|venir d'un fil}}
===={{rel}}====
* {{l|ca|intervenir}}
* {{l|ca|revenir}}
=={{L|osp}}==
==={{etym}}===
{{etyl|la|osp}} {{m|la|venīre}}
==={{pron}}===
* {{IPA|lang=osp|βeˈniɾ}}
==={{verb}}===
{{head|osp|verb}}
#{{おくりがな2|来|く|る|くる}}。
===={{desc}}====
* {{desc|es|venir}}
* {{desc|lad|venir|ב׳יניר}}
=={{L|fro}}==
==={{etym}}===
881年初出。{{etyl|la|fro}} {{m|la|venīre}}
==={{verb}}===
{{head|fro|verb}}
#{{おくりがな2|来|く|る|くる}}、[[到着]]する。
{{fro-conj-venir|}}
===={{desc}}====
* {{desc|roa-brg|veindre|alts=1}}
* {{desctree|frm|venir}}
* {{desc|nrf|v'nîn|v'nir|alts=1}}
* {{desc|wa|vni|alts=1}}
=={{L|pro}}==
==={{etym}}===
{{etyl|la|pro}} {{m|la|venīre}}
==={{verb}}===
{{head|pro|verb}}
#{{おくりがな2|来|く|る|くる}}。
===={{desc}}====
* {{desc|oc|venir}}
=={{L|es}}==
==={{etym}}===
{{etyl|osp|es}} {{m|osp|venir}} < {{etyl|la|es}} {{m|la|venīre}}
==={{pron}}===
* {{IPA|lang=es|be.ˈniɾ}}
==={{verb}}===
{{es-verb|ven|ir|pres=vengo|pret=vine}}
#{{タグ|es|自動詞}}{{おくりがな2|来|く|る|くる}}。
===={{conjug}}====
{{es-conj}}
{{es-conj|venirse|nocomb=1}}
===={{ant}}====
*[[ir]]
===={{drv}}====
{{col3|lang=es|agárrate que vienen curvas|cosas que van y vienen|venir Élver|cuando tú vas yo vengo de regreso|de agárrate que hay curvas|de agárrate y no te menees|en lo por venir|ires y venires|venir a por<t:to come for, come after><qq:pursue, target>|ni ir ni venir|no hay mal que por bien no venga|no venir a cuento|no venir al caso|sin venir a cuento|ven acá|venir al caso|venir a demostrar|venir a la melena|venir a las manos|venir a las puñadas|venir a menos|venir al viento|venir el cuervo|venir el parto derecho|venir de familia|venir mal dadas |venirse abajo|venirse al humo|venir por|voy y vengo}}
===={{rel}}====
{{col3|lang=es|advenir|antevenir|avenir|circunvenir|contravenir|convenir|desavenir|desconvenir|devenir|disconvenir|entrevenir|eventual|intervenir|invenir|porvenir|prevenir|provenir|reconvenir|revenir|sobrevenir|subvenir|supervenir|venidero|venida|ventura}}
=={{L|frm}}==
==={{etym}}===
{{etyl|fro|frm}} {{m|fro|venir}}
==={{verb}}===
{{head|frm|verb|cat2=第三群動詞}}
# {{おくりがな2|来|く|る|くる}}。
#: {{cot|frm|aller}}
===={{desc}}====
* {{desc|fr|venir}}
=={{L|nrf}}==
==={{etym}}===
{{etyl|fro|nrf}} {{m|fro|venir}} < {{etyl|la|nrf}} {{m|la|venīre}}
==={{verb}}===
{{head|nrf|verb}}
# {{おくりがな2|来|く|る|くる}}。
{{nrf-conj-venir}}
=={{L|fr}}==
==={{etym}}===
{{etyl|frm|fr}} {{m|frm|venir}} < {{etyl|fro|fr}} {{m|fro|venir}} < {{etyl|la|fr}} {{m|la|venīre}}
==={{pron}}===
* {{IPA|lang=fr|v(ə).niʁ}}
==={{verb}}===
{{fr-verb}}
# {{おくりがな2|来|く|る|くる}}。
#(助動詞、+不定詞)近い過去を表す。
====活用====
{{fr-conj-venir||être}}
===={{syn}}====
*[[arriver]]
===={{ant}}====
*[[aller]]
===={{drv}}====
{{col4|lang=fr|a beau mentir qui vient de loin|à venir|aller et venir|advenir|avenir|circonvenir|contrevenir|convenir|devenir|en venir au fait|en venir aux mains|en venir à|évènement|éventualité|intervenir|inventer|l'appétit vient en mangeant|mésavenir|nouveau venu|obvenir|parvenir|prendre les choses comme elles viennent|prévenir|premier venu|provenir|ressouvenir|revenir|redevenir|souvenir|subvenir|survenir|tout vient à point à qui sait attendre|un malheur ne vient jamais seul|venir à bout|venir à Canossa|venir au monde|venir de|venir du cœur|venir en âge|venir en aide|voir venir}}
===={{rel}}====
*[[venue]]
*[[éventuel]]
===={{desc}}====
* {{desc|en|venue}}
* {{desc|ht|vin|vini}}
==={{anag}}===
* {{anagrams|fr|a=einrv|verni}}
=={{L|roa-poi}}==
==={{etym}}===
{{etyl|fro|roa-poi}} {{m|fro|venir}} < {{etyl|la|roa-poi}} {{m|la|venīre}}
==={{verb}}===
{{head|roa-poi|verb}}
#{{おくりがな2|来|く|る|くる}}。
=={{L|lad}}==
==={{alter}}===
* {{alter+|lad|vinir}}
==={{etym}}===
{{etyl|osp|lad}} {{m|osp|venir}} < {{etyl|la|lad}} {{m|la|venīre}}
==={{verb}}===
{{lad-verb|heb=ב׳יניר}}
#{{タグ|lad|自動詞|再帰動詞}}{{おくりがな2|来|く|る|くる}}。
===={{rel}}====
{{col3|lang=lad|avenir|kontravenir|konvenir|dezavenirse|devenir|intervenir|prevenir|provenir|revenir|subvenir|venidero|venida|ventura}}
i945anzsctji6z0ud65i9yypp29enqt
カテゴリ:植物
14
19928
2280923
2019020
2026-06-08T13:45:55Z
鍼灸
112313
2280923
wikitext
text/x-wiki
<div class="pathnavbox">
* {{Pathnav|カテゴリ|分野|科学|自然科学|生物学|植物学}}
* {{Pathnav|カテゴリ|分野|自然|生物}}
</div>
{{wikipedia|category=植物}}
[[植物]]に関する語彙
{{DEFAULTSORT:しよくふつ}}
[[カテゴリ:植物学|*しよくふつ]]
[[カテゴリ:生物|*しよくふつ]]
[[カテゴリ:分野の一覧]]
c0jka9tf4lwg1ocjsjeqqddv5xejk37
競技
0
20351
2281166
2166648
2026-06-09T07:02:13Z
Jiba1219
100610
2281166
wikitext
text/x-wiki
{{kana-DEFAULTSORT|きょうぎ}}
=={{L|ja}}==
{{ja-kanjitab|きょう|ぎ|yomi=kan,goon}}
{{wikipedia}}
==={{pron}}===
{{ja-pron|きょうぎ|acc=1|acc_ref=DJR,NHK}}
==={{noun}}===
{{ja-noun-suru|[[きょうぎ]]}}
#[[一定]]の[[規則]]のもとで[[優劣]]を[[あらそう|争う]]もの。
===={{trans}}====
*{{en}}: [[contest]], [[competition]], [[match]]
*{{zh}}: {{t|zh|比赛|tr=bǐsài}}
==={{verb}}===
{{日本語サ変活用}}
===脚注===
<references />
=={{L|zh}}==
{{zh-cat|jing4ji4|verb}}
{{yue-cat|ging6gei6|verb}}
{{nan-cat|keng7ki1|verb}}
{{nan-tws-cat|geng6gi6|verb}}
==={{pron}}===
{{cmn-pron|jìngjì}}
{{yue-pron|ging6 gei6,ging3 gei6}}
{{nan-pron|kēng-ki/twv:kèng-ki|t=gêng6 gi6}}
==={{verb}}===
{{zhchars|s=竞技}}
#競技する。
=={{L|ko}}==
==={{noun}}===
{{ko-head|noun|경기}}
#(日本語に同じ)競技。
atye1kqr0z4805lrg7xwb1fcnv2wags
Wiktionary:執筆依頼/ハンガリー語/V
4
21028
2281120
1731016
2026-06-09T03:57:55Z
NekoyamaWataru
87354
/* ve */ 語義・活用等記載されたものを整理
2281120
wikitext
text/x-wiki
== v ==
== va ==
== ve ==
:[[véka]]
== vi ==
== vo ==
== vö ==
<!-- ű ő -->
pcjokk3dkv3394o9xxd7bddfvy10ipr
proteger
0
21185
2281364
1832201
2026-06-09T11:51:09Z
Kuroco2k
84207
2281364
wikitext
text/x-wiki
{{also|protéger}}
=={{L|es}}==
==={{etym}}===
{{etyl|la|es}} ''[[protegere]]''
==={{pron}}===
* {{a|Latin America}} {{IPA|lang=es|pɾo.teˈheɾ}}
* {{a|Castilian}} {{IPA|pɾo.teˈxeɾ}}
==={{verb}}===
{{es-verb|proteg|er|pres=protejo}}
#{{おくりがな2|守|まも|る|まもる}}、{{おくりがな2|防|ふせ|ぐ|ふせぐ}}、[[保護]]する、[[庇護]]する。
===={{conjug}}====
{{es-conj}}
===={{syn}}====
* [[difendere]]
===={{rel}}====
* [[protección]]
* [[protector]]
* [[protectoría]]
* [[protectorio]]
* [[protegido]]
----
=={{L|frm}}==
==={{verb}}===
{{head|frm|verb}}
#{{おくりがな2|守|まも|る|まもる}}、[[保護]]する。
{{frm-conj-ger|prote}}
----
=={{L|pt}}==
==={{etym}}===
{{etyl|la|pt}} ''[[protegere]]''
==={{pron}}===
* {{a|Portugal}} {{IPA|lang=pt|pɾu.tɨ.ˈʒeɾ}}
* {{a|Brazil}} {{IPA|pɾo.te.ˈʒeɾ}}
==={{verb}}===
{{pt-verb}}
#[[保護]]する。{{おくりがな2|守|まも|る|まもる}}、[[庇護]]する。
#(de, contra: ~から)保護する、{{おくりがな2|防|ふせ|ぐ|ふせぐ}}。
#[[擁護]]する
{{pt-conj|prote|ger}}
===={{rel}}====
* [[protecção]], [[proteção]]
* [[protector]], [[protetor]]
* [[protectoral]], [[protetoral]]
* [[protectório]], [[protetório]]
* [[protegido]]
pbr8ze759fhqj81ahk3em6m678iotwi
成功
0
22508
2281147
1773979
2026-06-09T06:21:36Z
Jiba1219
100610
2281147
wikitext
text/x-wiki
=={{L|ja}}==
{{ja-kanjitab|せい|こう|yomi=o}}
==={{pron}}===
{{ja-pron|せいこう|acc=0|acc_ref=DJR,NHK}}
==={{noun}}===
{{Wikipedia|成功 (任官)}}
{{ja-noun-suru|[[せいこう]]|じょうごう}}
#(せいこう)うまくいくこと。[[目的]]を[[達成]]すること。
#* 歴史も教えている通り、自分の国の地位は既にある点に達したに{{ruby|拘|かか}}わらず、外交がそれに伴わなければ思う様に往かぬ事がある。しかしながら国民が十分に進歩して、国民的勢力が常に政府の{{ruby|後|しり}}えにあれば必ずこの国の外交は'''成功'''する。<small>――{{Cite web|author=[[w:大隈重信|大隈重信]]|url=https://www.aozora.gr.jp/cards/001879/card57987.html|title=図書カード:東亜の平和を論ず|publisher=青空文庫|year=1904|accessdate=2023-05-21}}</small>
#* 実際のところ、アメリカでは、一昨年の秋頃から、人間の力で雪を降らすことを研究している。そしてそれはかなりの程度まで'''成功'''している。<small>――{{Cite web|author=[[w:中谷宇吉郎|中谷宇吉郎]]|url=https://www.aozora.gr.jp/cards/001569/card59207.html|title=図書カード:雪を降らす話|publisher=青空文庫|year=1950|accessdate=2023-05-21}}</small>
#(せいこう)社会的地位を得たり[[富裕]]になったりすること。
#*多くの人がこの書を読んで志を立てて'''成功'''したと聞きます。その内に私と同じようにキリスト信者になった者もすくなくないとのことであります。そして彼らの内にある者は早くすでに立派にキリスト教を「卒業」して今は背教者をもって自から任ずる者もあります。<small>――{{Cite web|author=[[w:内村鑑三|内村鑑三]]|url=https://www.aozora.gr.jp/cards/000034/card519.html|title=図書カード:後世への最大遺物|publisher=青空文庫|year=1894|accessdate=2023-05-21}}</small>
#*夢想家が、この世で'''成功'''したというためしは、古今東西にわたって、未だ一つも無かったと言ってよい。<small>――{{Cite web|author=[[w:太宰治|太宰治]]|url=https://www.aozora.gr.jp/cards/000035/card45689.html|title=図書カード:砂子屋|publisher=青空文庫|year=1940|accessdate=2023-05-21}}</small>
#{{context|日本史|じょうごう|lang=ja|skey=しようこう じょうごう}}[[平安時代]]中期以降において、[[朝廷]]の[[行事]]及び[[殿舎]]の[[営繕]]、[[寺社]]の[[堂塔]][[修造]]費用など本来、朝廷の公費で負担すべきところを、任官希望者を募り任料を納めさせるか、または自己負担でそれぞれの事業の功を成らせて、見返りに[[官職]]に[[叙任]]するという[[売官]][[制度]]の一種。
===={{ant}}====
語義1
*[[失敗]]
*[[不成功]]
===={{idiom}}====
*[[失敗は成功のもと]]
===={{trans}}====
語義1
{{trans-top}}
*{{T|is}}: {{t|is|árangur|m}}
*{{T|ga}}: {{t|ga|áitheas|m}}
*{{T|az}}: {{t|az|müvəffəqiyyət}}, {{t|az|uğur}}
*{{T|af}}: {{t|af|sukses}}
*{{T|ar}}: {{t|ar|نَجَاح|m|tr=najá}}
*{{T|sq}}: {{t|sq|sukses}}
*{{T|hy}}: {{t|hy|հաջողություն}}
*{{T|it}}: {{t|it|successo|m}}
*{{T|yi}}: {{t|yi|הצלחה|f|tr=hatslokhe}}
*{{T|inh}}: {{t|inh|аьттув}}
*{{T|id}}: {{t|id|keberhasilan}}, {{t|id|sukses}}
*{{T|cy}}: {{t|cy|llwyddiant|m}}
*{{T|vo}}: {{t|vo|plöp}}
*{{T|uk}}: {{t|uk|у́спіх|m}}
*{{T|uz}}: {{t|uz|muvaffaqiyat}}
*{{T|en}}: {{t|en|success}}
*{{T|et}}: {{t|et|edu}}
*{{T|nl}}: {{t|nl|succes|n}}, {{t|nl|welgang|m}}, {{t|nl|goed gevolg|n}}
*{{T|kk}}: {{t|kk|жетістік}}, {{t|kk|табыс}}
*{{T|ca}}: {{t|ca|èxit|m}}, {{t|ca|succés|m}}
*{{T|gl}}: {{t|gl|éxito|m}}
*{{T|kn}}: {{t|kn|ಯಶಸ್ಸು|sc=Knda}}
*{{T|el}}: {{t|el|επιτυχία|f|sc=Grek}}
*:{{T|grc}}: {{t|grc|εὐπραγία|f|sc=Grek}}
*{{T|ky}}: {{t|ky|ийгилик}}, {{t+|ky|жетишкендик}}
*{{T|km}}: {{t|km|ជោគជ័យ|tr=couk cey|sc=Khmr}}
*{{T|ka}}: {{t|ka|წარმატება}}
*{{T|sa}}: {{t|sa|स्वस्ति|n}}
*{{T|sv}}: {{t|sv|framgång}}, {{t|sv|succé}}
*{{T|es}}: {{t|es|éxito|m}}, {{t|es|acierto|m}}
*{{T|sk}}: {{t|sk|úspech|m}}
*{{T|sl}}: {{t|sl|uspeh|m}}
*{{T|sh}}: {{t|sh|успех}}/{{t|sh|uspeh|m}}, {{t|sh|успјех}}/{{t|sh|uspjeh|m}}
*{{T|ckb}}: {{t|ckb|سەرکەوتن}}
*{{T|th}}: {{t|th|ความสำเร็จ|tr=kwaam-săm-rèt}}, {{t|th|ผลสำเร็จ}}
*{{T|tl}}: {{t|tl|tagumpay}}
*{{T|tg}}: {{t|tg|муваффақият}}
*{{T|tt}}: {{t|tt|уңыш}}
*{{T|ta}}: {{t|ta|வெற்றி|sc=Taml}}
*{{T|cs}}: {{t|cs|úspěch|m}}, {{t|cs|zdar|m}}
*{{T|ce}}: {{t|ce|аьтто}}
*{{T|te}}: {{t|te|లక్ష్యాన్ని చేరుట|sc=Telu}}
*{{T|da}}: {{t|da|succes}}
*{{T|de}}: {{t|de|Erfolg|m}}
*{{T|tk}}: {{t|tk|üstünlik}}
*{{T|tr}}: {{t|tr|başarı}}
*{{T|no}}:
*:{{T|nn}}: {{t|no|suksess|m}}
*:{{T|nb}}: {{t|nb|suksess|m}}
*{{T|ht}}: {{t|ht|siksè}}
*{{T|ba}}: {{t|ba|уңыш}}
*{{T|eu}}: {{t|eu|arrakasta}}
*{{T|hu}}: {{t|hu|eredmény}}, {{t|hu|kimenetel}}, {{t|hu|siker}}
*{{T|my}}: {{t|my|ဇေယျ|sc=Mymr}}, {{t|my|အောင်ပန်း|sc=Mymr}}
*{{T|hi}}: {{t|hi|सफलता|f}}, {{t|hi|सफ़लता|f}}
*{{T|fi}}: {{t|fi|menestys}}, {{t|fi|onnistuminen}}
*{{T|fo}}: {{t|fo|gott úrslit|n}}
*{{T|fr}}: {{t|fr|succès|m}}, {{t|fr|réussite|f}}
*{{T|bg}}: {{t|bg|успе́х}}
*{{T|vi}}: {{t|vi|thành công|alt=sự thành công}}
*{{T|he}}: {{t|he|הַצלָחָה|f|tr=hatzlakhá|sc=Hebr}}
*{{T|be}}: {{t|be|по́спех|m}}
*{{T|fa}}: {{t|fa|موفقیت|tr=movaffaqiyat|sc=fa-Arab}}, {{t|fa|سوکسه|tr=sukse|sc=fa-Arab}} {{qualifier|まれ}}
*{{T|bn}}: {{t|bn|কামিয়াবি}}, {{t|bn|সফলতা|tr=śôphôlôta}}, {{t|bn|সাফল্য|tr=śaphôllô}}
*{{T|pl}}: {{t|pl|powodzenie|n}}, {{t|pl|sukces|m}}
*{{T|pt}}: {{t|pt|sucesso|m}}, {{t|pt|êxito|m}}
*{{T|mi}}: {{t|mi|angitu}}
*{{T|mk}}: {{t|mk|у́спех|m}}
*{{T|mr}}: {{t|mr|यश}}
*{{T|mn}}: {{t+|mn|амжилт}}
*{{T|lo}}: {{t|lo|ຄວາມສຳເລັດ}}, {{t|lo|ຜົນສຳເລັດ}}
*{{T|la}}: {{t|la|successus|m}}, {{t|la|fructus}}
*{{T|lv}}: {{t|lv|veiksme|f}}
*{{T|lt}}: {{t|lt|sėkmė|f}}
*{{T|ro}}: {{t|ro|succes|n}}, {{t|ro|succese|n-p}}
*{{T|lb}}: {{t|lb|Succès}}
*{{T|rue}}: {{t|rue|у́спіх}}
*{{T|ru}}: {{t|ru|успе́х|m}}, {{t|ru|уда́ча|f}}
{{trans-bottom}}
==={{verb}}===
===={{conjug}}====
{{日本語サ変活用|kana=せいこう}}
===={{trans}}====
{{trans-top}}
*{{T|az}}: {{t|az|alınmaq}}
*{{T|ar}}: {{t|ar|نَجَحَ}}
*:{{T|arz}}: {{t|arz|نجح|tr=nagaḥ}}
*{{T|it}}: {{t|it|riuscire}}
*{{T|en}}: {{t|en|succeed}} (in)
*{{T|eo}}: {{t|eo|sukcesi}}
*{{T|ca}}: {{t|ca|reeixir}}
*{{T|gl}}: {{t|gl|conseguir}}
*{{T|el}}: {{t|el|επιτυγχάνω|sc=Grek}}, {{t|el|καταφέρνω|sc=Grek}}, {{t|el|κατορθώνω|sc=Grek}}
*{{T|shn}}: {{t|shn|ထိုင်ယိူင်းမၢႆ}}
*{{T|sv}}: {{t|sv|lyckas}}
*{{T|es}}: {{t|es|conseguir}}
*{{T|sl}}: {{t|sl|uspeti}}
*{{T|sw}}: {{t|sw|fanikiwa}}
*{{T|ckb}}: {{t|ckb|سەرکەوتن}}
*{{T|th}}: {{t|th|ประสบความสำเร็จ}}, {{t|th|ได้ดี}}
*{{T|khb}}: {{t|khb|ᦺᦡᧉᦡᦲ}}
*{{T|cs}}: {{t|cs|uspět}}
*{{T|de}}: [[erfolgreich]] [[sein]], [[Erfolg]] [[haben]], {{t|de|gelingen}}, {{t|de|geraten}}
*{{T|nrf}}: {{t|nrf|rêussi}}
*{{T|hu}}: {{t|hu|sikerül}}
*{{T|fi}}: {{t|fi|menestyä}}, {{t|fi|onnistua}}
*{{T|fr}}: {{t|fr|réussir}}, {{t|fr|avoir du succès}}
*{{T|vi}}: {{t|vi|thành công }}
*{{T|he}}: {{t|he|הִצְלִיחַ|tr=hitzlíaḥ|sc=Hebr}}, {{t|he|עָשָׂה חַיִל|tr='asá ḥáyil}}
*{{T|pl}}: {{t|pl|dać radę|pf}}, {{t|pl|poradzić sobie|pf}}, {{t|pl|udać się |pf}} {{qualifier|komu? czemu?}}
*{{T|pt}}: [[ter]]/[[obter]] [[sucesso]]/[[êxito]], {{t|pt|conseguir}}
*{{T|mi}}: {{t|mi|tutuki}}
*{{T|la}}: {{t|la|succedere}}
*{{T|ro}}: {{t|ro|reuși}}
*{{T|ru}}: {{t|ru|преуспе́ть}}, {{impf}} {{t|ru|достига́ть це́ли}}, {{pf}} {{t|ru|дости́чь це́ли}}
{{trans-bottom}}
===脚注===
{{Reflist}}
=={{L|zh}}==
{{wikipedia|lang=zh}}
{{zh-cat|cheng2gong1|verb|hsk=乙|hsk2=4}}
{{dng-cat|чынгун|verb}}
{{yue-cat|sing4gung1|verb}}
{{nan-cat|seng5kong1|verb}}
{{nan-tws-cat|seng5gong1|verb}}
{{cpx-cat|sing2gorng1|verb}}
{{hak-cat|siin2kung1|verb}}
{{wuu-cat|zen1kon1|verb}}
==={{pron}}===
{{cmn-pron|chénggōng|dg=чын1гун1|a=Zh-chénggong.ogg}}
{{yue-pron|sing4 gung1|a=LL-Q9186-Luilui6666-成功.wav}}
{{nan-pron|ml,tw,jj,ph:sêng-kong|t=sêng5 gong1}}
{{cpx-pron|pt,xy:sing2 gorng1}}
{{hak-pron|sṳ̀n-kûng|h=shin gungˋ}}
{{wuu-pron|sh:6zen kon}}
==={{verb}}===
{{zhchars}}
#成功する。
==={{adjective}}===
{{zhchars}}
#うまくいった。[[首尾]]の良い。
=={{L|ko}}==
==={{noun}}===
{{ko-head|noun|성공}}
#成功。うまくいくこと。
=={{L|vi}}==
==={{verb}}===
{{vi-head|verb|thành|công}}
#成功する。
95o7tnaet0vofu56w7wpv0pc49chki7
チタン
0
23005
2281221
1918006
2026-06-09T10:52:42Z
うーむ
129171
/* */
2281221
wikitext
text/x-wiki
{{kana-DEFAULTSORT}}
{{also|ちだん}}
=={{L|ja}}==
{{wikipedia}}
==={{etym}}===
{{etyl|de|ja}} {{m|de|Titan}}
==={{noun}}===
{{ja-noun}}
#{{context|chemical element|metal|lang=ja}}[[原子番号]] 22、[[元素記号]] [[Ti]] の[[金属元素]]。単体は常温常圧では銀白色の固体。
===={{trans}}====
{{trans-top}}
*{{T|is}}: {{t|is|títan|n}}
*{{T|ga}}: {{t|ga|tíotáiniam|m}}
*{{T|ast}}: {{t|ast|titaniu|m}}
*{{T|af}}: {{t|af|titaan}}
*{{T|ar}}: {{t|ar|تِيتَانْيُوم|m|tr=titanyum}}
*{{T|sq}}: {{t|sq|titan|?}}
*{{T|hy}}: {{t|hy|տիտան}}
*{{T|it}}: {{t|it|titanio|m}}
*{{T|ia}}: {{t|ia|titanium}}
*{{T|cy}}: {{t|cy|titaniwm|m}}
*{{T|vo}}: {{t|vo|titanin}}, (古用法) {{t|vo|tütin}}
*{{T|uk}}: {{t|uk|тита́н|m}}
*{{T|uz}}: {{t|uz|titan}}, {{t|uz|титан}}
*{{T|ur}}: {{t|ur|رنجاتو|?|tr=rañjātu}}
*{{T|en}}: {{t|en|titanium}}
*{{T|et}}: {{t|et|titaan}}
*{{T|eo}}: {{t|eo|titanio}}
*{{T|oc}}: {{t|oc|titani|m}}
*{{T|nl}}: {{t|nl|titanium|n}}, {{t|nl|titaan|n}}
*{{T|kk}}: {{t|kk|титан}}
*{{T|csb}}: {{t|csb|titan}}
*{{T|ca}}: {{t|ca|titani|m}}
*{{T|gl}}: {{t|gl|titanio|m}}
*{{T|el}}: {{t|el|τιτάνιο|n}}
*{{T|km}}: {{t|km|ទីតាន}}
*{{T|ka}}: {{t|ka|ტიტანი}}
*{{T|kw}}: {{t|kw|titaniom|m}}
*{{T|sv}}: {{t|sv|titan|n}}
*{{T|gd}}: {{t|gd|titanium|m}}
*{{T|es}}: {{t|es|titanio|m}}
*{{T|sk}}: {{t|sk|titán|m}}
*{{T|sl}}: {{t|sl|titan|m}}
*{{T|sw}}: {{t|sw|titani}}
*{{T|sh}}:
*:キリル文字: {{t|sh|титан|m}}, {{t|sh|титаниј|m}}
*:ラテン文字: {{t|sh|titan|m}}, {{t|sh|titanij|m}}
*{{T|th}}: {{t|th|ไทเทเนียม}}
*{{T|tg}}: {{t|tg|титан}}
*{{T|ta}}: {{t|ta|டைட்டேனியம்}}
*{{T|cs}}: {{t|cs|titan|m}}
*{{T|zh}}: {{t|cmn|鈦|tr=tài}}
*{{T|ko}}: {{t|ko|티탄}}, {{t|ko|티타늄}}, {{t|ko|타이타늄}}
*{{T|te}}: {{t|te|టైటానియం}}
*{{T|da}}: {{t|da|titan|n}}
*{{T|de}}: {{t|de|Titan|n}}
*{{T|tr}}: {{t|tr|titan}}, {{t|tr|titanyum}}
*{{T|nv}}: {{t|nv|béésh doo ńdiniichxíihii}}
*{{T|fy}}: {{t|fy|titaan|?}}
*{{T|no}}: {{t|no|titan|?}}
*{{T|eu}}: {{t|eu|titanioa}}
*{{T|haw}}: {{t|haw|kaikaniuma}}
*{{T|hu}}: {{t|hu|titán}}
*{{T|hi}}: {{t|hi|रंजातु|?}}
*{{T|fi}}: {{t|fi|titaani}}
*{{T|fo}}: {{t|fo|titan|n}}
*{{T|fr}}: {{t|fr|titane|m}}
*{{T|fur}}: {{t|fur|titani|?}}
*{{T|bg}}: {{t|bg|тита́н|m}}
*{{T|br}}: {{t|br|titan|?}}
*{{T|vi}}: {{t|vi|titan}}
*{{T|he}}: {{t|he|טיטניום|m|tr=titánium}}
*{{T|be}}: {{t|be|тыта́н|m}}
*{{T|pl}}: {{t|pl|tytan|m}}
*{{T|pt}}: {{t|pt|titânio|m}}
*{{T|mi}}: {{t|mi|konuhinauri}}
*{{T|mk}}: {{t|mk|тита́н|m}}
*{{T|mt}}: {{t|mt|titanju|?}}
*{{T|ms}}: {{t|ms|titanium}}
*{{T|gv}}: {{t|gv|çhitaanium|?}}
*{{T|mn}}: {{t|mn|титан}}
*{{T|la}}: {{t|la|titanium|n}}
*{{T|lv}}: {{t|lv|titāns|?}}
*{{T|lt}}: {{t|lt|titanas|?}}
*{{T|ln}}: {{t|ln|titani|c9a|c10a}}
*{{T|ro}}: {{t|ro|titan|n}}
*{{T|lb}}: {{t|lb|Titan|?}}
*{{T|ru}}: {{t|ru|тита́н|m}}
{{trans-bottom}}
nvrb54ckifd04n2varzy7hft9n0cmc8
真理
0
25243
2281162
2097091
2026-06-09T06:48:42Z
Jiba1219
100610
2281162
wikitext
text/x-wiki
{{kana-DEFAULTSORT|しんり}}
{{also|眞理}}
{{wikipedia}}
=={{L|ja}}==
{{ja-kanjitab|しん|り|yomi=o}}
==={{pron}}===
{{ja-pron|しんり|acc=1}}
{{ja-accent-common|region=京阪|a|し|んり}}
==={{noun}}===
{{ja-noun|[[しんり]]|kyu=眞理}}
# [[ただしい|正しい]]と[[みとめる|認め]]られた[[事実]]や[[法則]]。
===={{syn}}====
*[[真実]]、[[真]]
===={{rel}}====
*[[実]]
*[[真理値]]
===={{trans}}====
{{trans-top|1.}}
*{{T|en}}: {{t|en|truth}}
*{{T|nl}}: {{t|nl|waarheid|f}}
*{{T|el}}: {{t|el|αλήθεια}}
*{{T|sa}}: {{t|sa|satya}}
*{{T|szl}}: {{t|szl|prowda|f}}
*{{T|cs}}: {{t|cs|pravda|f}}
*{{T|de}}:{{t|de|Wahrheit|f}}
*{{T|fr}}: {{t|fr|vérité|f}}
*{{T|pl}}: {{t|pl|prawda|f}}
*{{T|la}}: {{t|la|veritas|f}}
*{{T|wa}}: {{t|wa|vraiye|f}}
{{trans-bottom}}
=={{L|zh}}==
==={{pron}}===
{{cmn-pron|zhēnlǐ|a=Zh-zhenli.ogg}}
{{yue-pron|zan1 lei5|a=LL-Q9186-Luilui6666-真理.wav}}
{{nan-pron|chin-lí|t=zing1 li2}}
{{hak-pron|chṳ̂n-lî}}
{{cpx-pron|pt,xy:zing1 *li3}}
{{wuu-pron|sh:1tsen li6}}
==={{noun}}===
{{zhchars}}
#(日本語に同じ)真理。
{{zh-cat|zhen1li3|名詞|hsk=乙|hsk2=5}}
{{yue-cat|jan1lei5|名詞}}
{{nan-cat|chin1li2|名詞}}
{{nan-tws-cat|zing1li2|名詞}}
{{hak-cat|ciin1li1|名詞}}
{{cpx-cat|zing1li3|名詞}}
{{wuu-cat|tsen1li2|名詞}}
=={{L|vi}}==
==={{noun}}===
{{vi-head|noun|chân|lý}}
#(日本語に同じ)真理。
ern1a02gd5iy2j1o7vwh4oxbhguvglt
親切
0
25269
2281136
1918316
2026-06-09T06:06:44Z
Jiba1219
100610
2281136
wikitext
text/x-wiki
{{kana-DEFAULTSORT|しんせつ}}
=={{L|ja}}==
{{ja-kanjitab|しん|せつ|yomi=o}}
==={{pron}}===
{{ja-pron|しんせつ|acc=1|acc_ref=DJR|acc2=0|acc2_ref=DJR}}
==={{noun}}===
{{ja-noun|[[しんせつ]]}}
#[[こまる|困って]]いる[[ひと|人]]等の[[み|身]]になり、何かを[[する|して]]やったりすること。
===={{syn}}====
*[[おもいやり]]
===={{drv}}====
*[[親切心]]
===={{trans}}====
*{{T|hy}}: {{t|hy|բարություն}}
*{{T|en}}: {{t|en|kindness}}
==={{adjectivenoun}}===
{{ja-adjectival noun|[[しんせつ]]}}
===={{conjug}}====
{{日本語ダ活用}}
===={{syn}}====
*[[やさしい]]
===脚注===
{{Reflist}}
=={{L|zh}}==
==={{pron}}===
{{cmn-pron|qīnqiè|a=Zh-qīnqiè.oga}}
{{yue-pron|can1 cit3}}
{{nan-pron|chhin-chhiat|t=cing1 ciag4}}
{{hak-pron|chhîn-chhiet|h=cinˋ cied}}
==={{adjective}}===
{{zhchars|s=亲切}}
#{{おくりがな2|親|した|しい|したしい}}。
#親切な。
{{zh-cat|qin1qie4|形容詞}}
{{yue-cat|chan1chit3|形容詞}}
{{nan-tws-cat|cing1ciag4|形容詞}}
{{nan-cat|chhin1chhiat4|形容詞}}
{{hak-cat|chhin1chhiet5|形容詞}}
=={{L|ko}}==
==={{noun}}===
{{ko-head|noun|친절}}
#(日本語に同じ)親切。
=={{L|vi}}==
==={{adjective}}===
{{vi-head|adjective|thân|thiết}}
#親切な。
p3kdwkpwi4cnkbejoq4u70zar9c55se
ハイ
0
26419
2281091
2127558
2026-06-09T01:53:42Z
うーむ
129171
/* */
2281091
wikitext
text/x-wiki
{{kana-DEFAULTSORT}}
{{wikipedia}}
{{also|はい|ばい|バイ|パイ}}
=={{L|ja}}==
==={{noun}}・{{adjectivenoun}}・造語成分===
{{head|ja|noun|cat2=造語成分}}
# [[たかい|高い]]さま。
# [[気分]]が[[高揚]]したさま。
{{日本語ダ活用}}
===={{etym}}====
*{{etyl|en|ja}} {{m|en|high}} の[[音写]]。
==={{noun}}===
{{head|ja|noun|cat2=蛇}}
{{wikipedia|ハイ (ヘビ)}}
# ヘビ亜目ワモンベニヘビ属に属する[[ヒャン]]の亜種である[[へび]]の一種。{{学名は|Sinomicrurus japonicus boettgeri}}。別名、[[おきなわはい]]。
=== 同音の漢字 ===
*'''[[Wiktionary:漢字索引 音訓 は#ハイ]]'''参照。
58n7igx2zcusa9aszqy8dz4dscc17pf
mit
0
27059
2281039
1782891
2026-06-08T17:23:52Z
M-30722
1202
[[en:mit]]より
2281039
wikitext
text/x-wiki
=={{symb}}==
==={{code}}===
'''mit'''
#{{ISO639-3}}
=={{L|bsa}}==
==={{pronoun}}===
{{head|bsa|pronoun}}
#{{ふりがな|私|わたし}}。
=={{L|iba}}==
==={{pron}}===
* {{IPA|lang=iba|mit}}
==={{adjective}}===
{{head|iba|adjective}}
#{{おくりがな2|小|ちい|さい|ちいさい}}。
=={{L|vo}}==
==={{noun}}===
{{vo-noun}}
#{{topcat|vo|肉}}[[肉]]。
{{vo-decl-noun}}
===={{drv}}====
* {{l|vo|bubamit}}
* {{l|vo|jipamit}}
* {{l|vo|stägamit}}
===={{seealso}}====
* {{l|vo|möt}}
=={{L|en}}==
==={{noun}}===
{{en-noun}}
#{{l|en|mitt}}の旧綴り。
=={{L|ang}}==
==={{pron}}===
* {{ang-IPA|mit}}
* {{rhymes|lang=ang|it|s=1}}
==={{preposition}}===
{{head|ang|preposition}}
#{{l|ang|mid}}の異形。
=={{L|odt}}==
==={{alter}}===
* {{alter+|odt|mid|midi|bit||まれ}}
==={{etym}}===
{{etyl|gmw-pro|odt}} {{m|gmw-pro|*midi}} < {{etyl|gem-pro|odt}} {{m|gem-pro|*midi}} < {{etyl|ine-pro|odt}} {{m|ine-pro|*meth₂}} < {{m|ine-pro|*me}}
==={{preposition}}===
{{head|odt|preposition}}
#〜[[と]]、〜と[[ともに]]。
===={{rel}}====
* {{l|odt|midi}}
===={{desc}}====
* {{desc|dum|met}}
** {{desc|nl|met}}
** {{desc|li|mit}}
=={{L|goh}}==
==={{alter}}===
* {{alter+|goh|miti}}
==={{etym}}===
{{etyl|gmw-pro|goh}} {{m|gmw-pro|*midi}}
==={{preposition}}===
{{head|goh|prepositions}}
#〜[[と]]、〜と[[ともに]]。
===={{desc}}====
* {{desc|gmh|mite|mit}}
** {{desc|yi|מיט}}
** {{desc|wym|myt}}
** {{desc|cim|met}}
** {{desc|de|mit}}
** {{desc|bar|mit}}
** {{desc|hrx|mit}}
** {{desc|lb|mat}}
=={{L|osx}}==
==={{preposition}}===
{{head|osx|preposition}}
#{{l|osx|mid}}の異形。
=={{L|sl}}==
==={{noun}}===
{{head|sl|noun}}
#{{topcat|sl|神話}}[[神話]]。
=={{L|sh}}==
==={{etym}}===
{{bor|sh|grc|μῦθος}}
==={{noun}}===
{{sh-noun+|head=mȋt|g=m-in}}
#{{topcat|sh|神話}}[[神話]]。
{{sh-decl-noun|mit|mitovi|mita|mitova|mitu|mitovima|mit|mitove|mite|mitovi|mitu|mitovima|mitom|mitovima}}
=={{L|zom}}==
==={{etym}}===
{{etyl|tbq-kuk-pro|zom}} {{m|tbq-kuk-pro|*mik}}
==={{pron}}===
* {{IPA|lang=zom|mît}}
* {{hyph|zom|mit}}
==={{noun}}===
{{head|zom|noun|head=mìt}}
#{{タグ|zom|解剖学}}{{ふりがな|目|め}}。
===={{drv}}====
* {{l|zom|mitmul}}
=={{L|enm}}==
==={{preposition}}===
{{head|enm|preposition}}
#{{l|enm|mid}}の異形。
==={{adjective}}===
{{head|enm|adjective}}
#{{l|enm|mid}}の異形。
=={{L|nds}}==
==={{preposition}}===
{{head|nds|preposition}}
#{{タグ|nds|GLG}}{{l|nds|mid}}の異綴。
=={{L|ctd}}==
==={{etym}}===
{{etyl|tbq-kuk-pro|ctd}} {{m|tbq-kuk-pro|*mik}} < {{etyl|sit-pro|ctd}} {{m|sit-pro|*mjək}}
==={{noun}}===
{{head|ctd|noun}}
#{{タグ|ctd|解剖学}}{{ふりがな|目|め}}。
=={{L|da}}==
==={{pron}}===
* {{IPA|lang=da|/mit/|[mid̥]}}
==={{pronoun}}===
{{head|da|pronoun}}
#{{l|da|min}}の中性形。
=={{L|de}}==
==={{etym}}===
{{etyl|gmh|de}} {{m|gmh|mite}}, {{m|gmh|mit}} < {{etyl|goh|de}} {{m|goh|miti}}, {{m|goh|mit}} < {{etyl|gmw-pro|de}} {{m|gmw-pro|*midi}}
==={{pron}}===
* {{IPA|lang=de|mɪt}}
* {{音声|de|De-mit.ogg}}
* {{音声|de|De-mit2.ogg|a=Berlin}}
* {{rhymes|lang=de|ɪt|s=1}}
==={{preposition}}===
{{head|de|preposition|与格支配}}
#〜[[と]]、〜と[[ともに]]、[[協力]]して。
#:{{ant|de|ohne}}
#*{{ux|de|Er [[feiern|feiert]] ''mit'' seinen [[Freund]]en [[zusammen]].|彼は、友達と一緒にパーティーをしている。}}
===={{rel}}====
*{{comp}}: 1. [[Mitarbeit]], [[Mitgefühl]], [[Mitglied]], [[mithalten]], [[mitkommen]], [[Mitlaut]], [[Mitleid]], [[mitnehmen]], [[mitnichten]], [[Mitschuld]], [[mitunter]], [[mitwirken]]
[[カテゴリ:{{de}}_基本語彙1000]]
=={{L|txb}}==
==={{alter}}===
* {{l|txb|mīt}}
==={{etym}}===
{{etyl|ine-toc-pro|txb}} {{m|ine-toc-pro|*ḿət(ə)}} < {{etyl|ine-pro|txb}} {{m|ine-pro|*médʰu}}
==={{noun}}===
{{head|txb|noun}}
#{{タグ|txb|食品}}[[蜂蜜]]。
=={{L|tpi}}==
==={{etym}}===
{{etyl|en|tpi}} {{m|en|meat}}
==={{noun}}===
{{head|tpi|noun}}
#{{topcat|tpi|肉}}[[肉]]。
=={{L|tr}}==
==={{etym}}===
{{bor|tr|fr|mythe}}
==={{pron}}===
* {{IPA|lang=tr|ˈmit}}
* {{hyph|tr|mit}}
==={{noun}}===
{{tr-noun|i|ler}}
#{{topcat|tr|神話}}[[神話]]。
#: {{syn|tr|efsane|mitos}}
{{tr-infl-noun-c|i|poss=1}}
=={{L|nn}}==
==={{noun}}===
{{nn-noun-m1}}
#{{l|nn|midd}}の2012年以前の綴り。
=={{L|nb}}==
==={{noun}}===
{{nb-noun-m1}}
#{{l|nb|midd}}の2005年以前の綴り。
=={{L|hu}}==
==={{pron}}===
* {{hu-IPA}}
* {{音声|hu|Hu-mit.ogg}}
==={{pronoun}}===
{{head|hu|pronoun form}}
#{{l|hu|mi}}の単数対格。
#{{タグ|hu|口語}}{{ふりがな|何故|なぜ}}。
===={{drv}}====
* {{l|hu|nincs mit}}
=={{L|fr}}==
==={{pron}}===
* {{fr-IPA|pos=v}}
* {{音声|fr|LL-Q150 (fra)-Pamputt-mit.wav|a=Brétigny-sur-Orge}}
* {{音声|fr|LL-Q150 (fra)-Poslovitch-mit.wav|a=Vosges}}
* {{homophones|lang=fr|mi|mie|mies|mis|mît}}
==={{verb}}===
{{fr-verb-form}}
#[[mettre]] の直説法単純過去第三人称単数形。
=={{L|hrx}}==
==={{etym}}===
{{etyl|gmh|hrx}} {{m|gmh|mite}} < {{etyl|goh|hrx}} {{m|goh|mit}}
==={{pron}}===
* {{IPA|lang=hrx|mit}}
==={{preposition}}===
{{head|hrx|preposition|与格支配}}
#〜[[と]]、〜と[[ともに]]。
#〜[[で]]、〜を用いて。
===={{ant}}====
* {{l|hrx|ohne}}
===={{drv}}====
* ('''''mit''' + dem'') {{l|hrx|mim}}
=={{L|pdc}}==
==={{etym}}===
{{etyl|gmh|pdc}} {{m|gmh|mite}} < {{etyl|goh|pdc}} {{m|goh|mit}}
==={{adverb}}===
{{head|pdc|adverb}}
#〜に{{おくりがな2|沿|そ|っ|そう}}て。
==={{preposition}}===
{{head|pdc|preposition}}
#〜[[と]]、〜と[[ともに]]。
=={{L|pl}}==
==={{etym}}===
{{bor|pl|grc|μῦθος|t=myth}}
==={{pron}}===
{{pl-pr|a=Pl-mit.ogg}}
==={{noun}}===
{{pl-noun|m-in}}
#{{topcat|pl|神話}}[[神話]]。
#:{{syn|pl|plotka}}
{{pl-decl-noun-m-in}}
===={{drv}}====
* {{l|pl|mityczny}}
===={{rel}}====
* {{l|pl|mitologia}}
=={{L|ro}}==
==={{etym}}===
{{bor|ro|grc|μῦθος}}又は{{bor|ro|fr|mythe}}
==={{pron}}===
* {{IPA|lang=ro|ˈmit}}
==={{noun}}===
{{ro-noun|n|mituri}}
#{{topcat|ro|神話}}[[神話]]。
{{ro-noun-n-uri}}
===={{rel}}====
*[[mitic]]
*[[mitologie]]
=={{L|lus}}==
==={{etym}}1===
{{etyl|tbq-kuk-pro|lus}} {{m|tbq-kuk-pro|*mik}} < {{etyl|sit-pro|lus}} {{m|sit-pro|*mjək}}
===={{noun}}====
{{head|lus|noun}}
#{{タグ|lus|解剖学}}{{ふりがな|目|め}}。
==={{etym}}2===
{{etyl|tbq-kuk-pro|lus}} {{m|tbq-kuk-pro|*mit}}
===={{verb}}====
{{head|lus|verb}}
#(炎や光が){{おくりがな2|消|き|える|きえる}}。
=={{L|jbo}}==
===Rafsi===
{{jbo-rafsi}}
#{{l|jbo|mintu}}のrafsi。
ejmcapg91wl0njlg3c4rarf0r65hk91
元帥
0
27964
2281176
2059504
2026-06-09T08:39:17Z
Jiba1219
100610
2281176
wikitext
text/x-wiki
{{kana-DEFAULTSORT|げんすい}}
{{wikipedia|元帥}}
=={{L|ja}}==
==={{pron}}===
{{ja-pron|げんすい|acc=1}}
==={{noun}}===
{{ja-noun|[[げんすい]]}}
[[Category:{{ja}} 軍隊の階級]]
#[[諸将]]の[[統率]][[者]]。[[全軍]]の[[総大将]]
#[[軍人]]の[[階級]]における'''[[大元帥]]'''に次ぐ[[最高位]]。<!--[[上級大将]]の[[上]]。*******最高位なのだから注記は不要。-->
#[[日本軍|旧日本軍]]における[[元帥府]]に列せられた[[陸軍|陸]][[海軍]][[大将]]。
===={{trans}}====
*英語: [[marshal]]
===={{rel}}====
*[[元帥府]]、[[大元帥]]
=={{L|zh}}==
[[Category:{{zh}}|yuan2shuai4]]
==={{pron}}===
{{cmn-pron|yuánshuài}}
{{yue-pron|jyun4 seoi3}}
{{nan-pron|goân-sòe}}
{{hak-pron|ngièn-soi|h=ngien soiˇ}}
==={{noun}}===
[[Category:{{zh}}_{{noun}}|yuan2shuai4]]
[[Category:{{zh}}_軍隊の階級|yuan2shuai4]]
{{zhchars|s=元帅}}
#元帥。
[[Category:{{yue}}|yun4seui3]]
[[Category:{{yue}}_{{noun}}|yun4seui3]]
[[Category:{{yue}}_軍隊の階級|yun4seui3]]
[[Category:{{nan}}|goan5soe3]]
[[Category:{{nan}}_{{noun}}|goan5soe3]]
[[Category:{{nan}}_軍隊の階級|goan5soe3]]
[[Category:{{hak}}|ngien2soi4]]
[[Category:{{hak}}_{{noun}}|ngien2soi4]]
[[Category:{{hak}}_軍隊の階級|ngien2soi4]]
=={{L|ko}}==
[[Category:{{ko}}|원수]]
==={{noun}}===
[[Category:{{ko}}_{{noun}}|원수]]
[[Category:{{ko}}_軍隊の階級|원수]]
{{lang|ko|'''元帥'''([[원수]])}}
#元帥。
'''元帥様'''([[원수님]])
=={{L|vi}}==
[[Category:{{vi}}|nguyen1soai3 nguyênsoai]]
==={{noun}}===
[[Category:{{vi}}_{{noun}}|nguyen1soai3 nguyênsoai]]
[[Category:{{vi}}_軍隊の階級|nguyen1soai3 nguyênsoai]]
{{lang|vi|'''元帥'''([[nguyên soái]])}}
#元帥。
e4yfpatfwq4c36hewrgrk57rqaajqry
volver
0
28468
2281380
1677337
2026-06-09T11:55:51Z
Kuroco2k
84207
2281380
wikitext
text/x-wiki
==スペイン語==
[[Category:スペイン語]]
[[Category:スペイン語 動詞]]
===発音===
{{IPA|bolˈβeɾ}}
===語源===
ラテン語 ''[[volvere]]''
===動詞===
# {{おくりがな|返|す|かえす}}、[[ひっくりかえす|ひっくり返す]]、[[うらがえす|裏返す]]。
# [[反転]]させる、{{おくりがな|回|す|まわす}}。
# {{おくりがな|返|る|かえる}}、{{おくりがな|戻|る|もどる}}。
#([[volver a]] "不定詞"){{おくりがな|再|び|ふたたび}}~する。
===={{conjug}}====
{{es-conj}}
{{es-conj|volverse|nocomb=1}}
====類義語====
*[[volcar]]
*[[regresar]]
===関連語===
*[[volvedor]]
*[[vuelta]]
*[[volumen]]
*[[voltio]]
*[[envolver]]
*[[revolver]]
----
==ポルトガル語==
[[Category:ポルトガル語]]
[[Category:ポルトガル語 動詞]]
===発音===
{{IPA|vulˈveɾ}}
===語源===
ラテン語 ''[[volvere]]''
===動詞===
# {{おくりがな|回|す|まわす}}、{{おくりがな|向|ける|むける}}。
# {{おくりがな|返|す|かえす}}、[[返却]]する。
===関連語===
*[[volta]]
*[[volúvel]]
*[[volume]]
*[[envolver]]
*[[revolver]]
a49qd2pmlu1wst9ndz9d6mlt5s900q3
helar
0
29191
2281252
1676138
2026-06-09T11:06:59Z
Kuroco2k
84207
2281252
wikitext
text/x-wiki
==スペイン語==
[[Category:スペイン語]]
[[Category:スペイン語 動詞]]
===発音===
{{es-pr}}
*{{音声|es|LL-Q1321 (spa)-Rodelar-helar.wav}}
===語源===
ラテン語 ''[[gelare]]''
===動詞===
{{es-verb|hel|ar|pres=hielo}}
# {{lb|es|impersonal}} {{送り活2|凍|こお|ら|こおる}}せる、[[凍結]]させる。
#(寒さが)[[枯死]]させる。
===={{conjug}}====
{{es-conj|<ie>}}
===関連語===
*[[heladero]], [[heladera]]
*[[helado]], [[helada]]
*[[heladura]]
*[[helamiento]]
*[[hielo]]
*[[heladizo]]
*[[gelatina]]
hgma3zujwr9x8t351mz6xvec21q7b43
がしょう
0
29700
2280901
2075205
2026-06-08T13:21:00Z
M-30722
1202
2280901
wikitext
text/x-wiki
{{kana-DEFAULTSORT}}
{{also|かしょう|かじょう|がじょう}}
=={{L|ja}}==
==={{kangokana}}===
{{ja-kangokana|h=y}}
*【[[画匠]]】[[画家]]。[[絵描き]]。
*【[[画商]]】[[絵画]]を[[売買]]する[[商人]]。
*【[[画障]]】[[絵]]が描かれている[[ふすま|襖]][[障子]]。
*【[[臥床]]】[[とこ|床]]に[[つく]]こと。
*【[[賀正]]】[[正月]]を祝う言葉。
*【[[賀頌]]】[[いわう|祝っ]]て[[徳]]を[[たたえる|讃える]]こと。また、その[[ことば|言葉]]や[[文章]]。
*【[[雅称]]】{{ふりがな|風雅|ふうが|yomilink=n}}な[[名称]]。
1hwxqiiy1s859j2slemnbh9c1wc5lfi
かちょう
0
30884
2280874
2221410
2026-06-08T12:54:08Z
M-30722
1202
2280874
wikitext
text/x-wiki
{{kana-DEFAULTSORT}}
{{also|がちょう}}
=={{L|ja}}==
==={{kangokana}}===
{{ja-kangokana|h=y}}
*【[[佳調]], [[嘉調]]】[[規則]][[ただしい|正しい]][[調子]]。
*【[[加徴]]】[[租税]]などを[[おおめ|多め]]に[[徴収]]すること。
*【[[加重]]】[[おもさ|重さ]]、[[責任]]、[[負担]]などが[[くわわる|加わる]]こと。
*【[[嘉兆]]】[[めでたい|目出度い]][[きざし|兆し]]。
*【[[家長]]】[[一家]]の[[長]]。
*【[[歌調]]】{{ふりがな|歌|うた}}の[[調子]]。
*【[[火長]]】[[律令制]]下で[[兵士]]十人の[[長]]。
*【[[花朝]]】[[陰暦]]の[[二月]]。
*【[[花鳥]]】{{ふりがな|花|はな}}と{{ふりがな|鳥|とり}}。
*【[[苛重]]】[[きびしい|厳しく]][[おもい|重い]]。
*【[[蚊帳]]】{{ふりがな|蚊|か}}などの[[害虫]]を[[ふせぐ|防ぐ]][[目的]]で[[寝床]]を[[おおう|覆う]][[道具]]。[[かや]]。
*【[[課丁]]】[[律令制]]で、[[調]]、[[庸]]、[[雑徭]]を[[負担]]する[[もの|者]]。
*【[[課徴]]】[[租税]]などを[[とりたてる|取り立てる]]こと。
*【[[課長]]】[[官庁]]や[[会社]]などで[[課]]を[[管理]]する[[職]]。
fn9h9wlv2ddp1kj0t61d6cjmhylp1mz
慣
0
31453
2280906
2176181
2026-06-08T13:25:48Z
M-30722
1202
2280906
wikitext
text/x-wiki
{{kana-DEFAULTSORT|かん}}
==漢字==
{{kanji|心3|11}}
{{kanji variants|惯=[[簡体字]]|貫=語義3}}
* 筆順 : [[忄]]、[[貫]]の順に書く。
===字源===
* [[形声文字|形声]]。「[[心]]」 + [[音符]]「[[貫]] {{phoneme|*KLON}}」。「[[なれる]]」を意味する[[漢語]]{[[慣]] {{phoneme|*krˤonh}}}を表す字。
{{字源}}
====参考文献====
* [[上古音]]は布之道『[http://www.kaom.net/sgy_bzd.php 広韻形声考]』による。
<references group="字源" />
===字義===
#[[なれる]]、[[ならす]]。
#*[[慣用]]、[[習慣]]
#[[ほしいまま]]にする。
#「[[貫]]」の[[通字]](『{{w|漢語大字典}}』掲載)。[[つらぬく]]。
=={{L|ja}}==
{{ja-kanji|常用=カン,な-れる,な-らす|施策=教育:5|呉音=ケン<クヱン|漢音=カン<クヮン|訓=な-れる,な-らす}}
==={{prov}}===
{{top}}
*[[慣習]]
*[[慣性]]
*[[慣用]]
*[[慣用音]]
*[[慣用句]]
*[[慣例]]
*[[簡易慣用字体]]
*[[習慣]]
{{bottom}}
=={{L|zh}}==
{{zh-cat|guan4}}
[[Category:{{yue}}|gwaan3]]
{{trans_link|zh|{{PAGENAME}}}}
* '''ローマ字表記'''
** '''[[普通話]]'''
*** '''[[ピンイン]]''': guàn (guan4)
*** '''[[ウェード式]]''': kuan<sup>4</sup>
** '''[[広東語]]'''
*** '''[[イェール式]]''': gwaan3
=={{L|ko}}==
{{ko-han|관}}
=={{L|za}}==
[[Category:古壮字|gonq]]
'''ローマ字表記'''
*[[gonq]]
#「[[𭀷]]」の[[同字]]。
=={{L|vi}}==
{{vi-han|quen|quán|pos=adjective}}
==={{adjective}}===
quen
#[[なじむ|馴染ん]]だ。
#慣れた。
#[[親密]]な[[関係]]の。
=={{コード}}==
{{文字コード|jis=1-20-23|mj={{mjmoji|011841}}|gb=9154|cns=1-686B|big5=BA44|ksx=1001-4E31}}
{{検字|倉頡=PWJC|四角=9708.6}}
{{字典|dj=0739.010|hdz=42349.010|大字源=3013|大漢語林=3643|康煕=0399.130|新大字典=5115|新潮漢字=3704|諸橋=11111}}
2p3mo3iyy6oknr5l1qtcxmvf4cr2vs6
こうか
0
31475
2281105
2081933
2026-06-09T02:58:21Z
鍼灸
112313
2281105
wikitext
text/x-wiki
{{also|こうが|ごうか|ごうが}}
=={{L|ja}}==
==={{kangokana}}===
{{ja-kangokana|h=y}}
*【[[光華]]】
*【[[公家]]】
*【[[公暇]]】
*【[[公課]]】
*【[[功科]]】
*【[[功課]]】
*【[[功過]]】
*【[[劫火]]】
*【[[効果]]】
*【[[工科]]】
*【[[弘化]]】
*【[[後架]]】
*【[[桁架]]】
*【[[校歌]]】
*【[[構架]]】
*【[[洪化]]】
*【[[甲科]]】
*【{{w|甲賀}}】
*【[[皇化]]】
*【[[皇家]]】
*【[[硬化]]】
*【[[硬貨]]】
*【[[紅花]]】
*【[[紅霞]]】
*【[[考課]]】
*【[[耕稼]]】
*【[[膠化]]】
*【[[閤下]]】
*【[[降下]]】
*【[[降嫁]]】
*【[[香火]]】
*【[[高価]]】
*【[[高廈]]】
*【[[高架]]】
*【[[高歌]]】
*【[[鴻化]]】
*【[[黄禍]]】
*【[[鉱化]]】
*【[[篝火]]】
{{stub|homonym}}
sha1ww79edgwel0tocpprw0ylav1nh5
2281107
2281105
2026-06-09T03:00:03Z
鍼灸
112313
2281107
wikitext
text/x-wiki
{{also|こうが|ごうか|ごうが}}
=={{L|ja}}==
==={{kangokana}}===
{{ja-kangokana|h=y}}
*【[[光華]]】
*【[[公家]]】
*【[[公暇]]】
*【[[公課]]】
*【[[功科]]】
*【[[功課]]】
*【[[功過]]】
*【[[劫火]]】
*【[[効果]]】
*【[[工科]]】
*【[[弘化]]】
*【[[後架]]】
*【[[桁架]]】
*【[[校歌]]】
*【[[構架]]】
*【[[洪化]]】
*【[[甲科]]】
*【{{w|甲賀}}】
*【[[皇化]]】
*【[[皇家]]】
*【[[硬化]]】
*【[[硬貨]]】
*【[[紅花]]】
*【[[紅霞]]】
*【[[考課]]】
*【[[耕稼]]】
*【[[膠化]]】
*【[[閤下]]】
*【[[降下]]】
*【[[降嫁]]】
*【[[香火]]】
*【[[高価]]】
*【[[高廈]]】
*【[[高架]]】
*【[[高歌]]】
*【[[鴻化]]】
*【[[黄禍]]】
*【[[鉱化]]】
*【[[篝火]]】
{{stub}}
b7qvkineui4bjhvedhrrye28q9nr9qm
貫
0
32411
2280908
2121475
2026-06-08T13:29:16Z
M-30722
1202
2280908
wikitext
text/x-wiki
{{kana-DEFAULTSORT|かん}}
==漢字==
{{kanji|貝|4}}
{{kanji variants|贯=[[簡体字]]}}
{{筆順}}
===字源===
*[[象形文字|象形]]。縦棒が二つの貝を貫通した形を象る。「[[つらぬく]]」「[[うがつ]]」を意味する[[漢語]]{[[貫]] {{phoneme|*koons}}}を表す字<ref group="字源">林澐 「説干、盾」 『古文字研究』第22輯 安徽大学古文字研究室編、中華書局、2000年、93-95頁。<br>蘇建洲 「西周金文“干”字再議」 『出土文献研究』第20輯 中國文化遺産研究院編、中西書局、2021年、19-25頁。</ref>。
**『説文解字』では「[[毌]]」+「[[貝]]」と分析されているが、[[金文]]などの資料とは一致しない誤った分析である。また、「毌」なる字の実在は確認されていない。
{{字源}}
<references group="字源" />
===字義===
#[[つらぬく]]、[[とおす]]、[[とおる]]。
#*[[貫通]]、[[縦貫]]
#財貨を連ねたもの、財貨を連ねる紐、[[ぜにさし]]。
#貨幣の単位。最小単位を1000程度にまとめたもの。
#つらぬきとおったもの、[[すじみち]]。
#[[出身地]]、[[本籍]]。
#*[[本貫]]
#(日本) 重さの単位。
#*[[尺貫法]]、[[百貫でぶ]]
=={{L|ja}}==
{{ja-kanji|常用=カン,つらぬ-く|呉音=カン<クヮン|漢音=カン<クヮン|訓=つらぬ-く,ぬき,ぬ-く}}
==={{suffix}}===
[[Category:{{ja}} {{suffix}}]]
[[Category:{{ja}} 通貨]]
[[Category:{{ja}} 単位]]
{{wikipedia|貫 (曖昧さ回避)}}
#貨幣の単位。1000文。
#[[尺貫法]]における重さの単位。1貫=1000[[匁]]≒3.75kg
==={{prov}}===
{{prov-top}}
*[[貫木]]
*[[貫緡]]
*[[貫差]]
*[[貫籍]]
*[[貫首]]
*[[貫主]]
*[[貫生]]
*[[貫穿]]
*[[貫属]]
*[[貫代]]
*[[貫高]]
*[[貫長]]
*[[貫頂]]
*[[貫通]]
*[[貫徹]]
*[[貫乳]]
*[[貫入]]
*[[貫納]]
*[[貫目]]
*[[貫文]]
*[[貫流]]
*[[貫禄]]
*[[貫手]]
*[[一貫]]
*[[横貫]]
*[[大貫]]
*[[頭貫]]
*[[看貫]]
*[[郷貫]]
*[[釘貫]]
*[[榑貫]]
*[[腰貫]]
*[[四方貫]]
*[[尺貫法]]
*[[地貫]]
*[[縦貫]]
*[[菅貫]]
*[[千貫]]
*[[手貫]]
*[[通貫]]
*[[綱貫]]
*[[頰貫]]
*[[突貫]]
*[[胴貫]]
*[[練貫]]
*[[柱貫]]
*[[樋貫]]
*[[飛貫]]
*[[百貫]]
*[[本貫]]
*[[満貫]]
*[[目貫]]
*[[櫓貫]]
*[[指貫]]
{{prov-bottom}}
=={{L|zh}}==
{{zh-cat|guan4|固有名詞|姓}}
{{trans_link|zh|{{PAGENAME}}}}
*'''ローマ字表記'''
**'''[[普通話]]'''
***'''[[ピンイン]]''': [[guàn]] ([[guan4]])
***'''[[ウェード式]]''': kuan<sup>4</sup>
***'''[[注音符号]]''': ㄍㄨㄢˋ
**'''[[広東語]]'''
***'''[[イェール式]]''': gun3
**'''[[閩南語]]'''
***'''[[POJ]]''': kǹg, kùiⁿ, koàn
**'''[[呉語]]'''
***'''[[ピンイン]]''': kuoe3
**'''[[中古音]]''': kwan, kwanH
**'''[[上古音]]''':
***'''白一平-サガール''': *kˤo[n], *kˤon-s
***'''鄭張''': *koːn, *koːns
==={{name}}===
#中国人の[[姓]]の一つ。
=={{L|ko}}==
{{ko-han|관|pos=noun|pos2=依|cat2=通貨|cat3=単位}}
==={{noun}}===
#{{タグ|ko|略語|sort=관}}[[本貫]]。
===依存名詞===
#貨幣の単位。1000文。
#重さの単位。1貫≒3.75kg
=={{L|vi}}==
{{vi-han|quan}}
=={{コード}}==
{{文字コード|u2=2F9D4|jis=1-20-51|mj={{mjmoji|025013|025014|025015}}|gb=D89E|cns=1-5D4B|big5=B365|ksx=1001-4E3B}}
{{検字|倉頡=WJBUC|四角=7780.6}}
{{字典|dj=1668.010|hdz=63628.150|大字源=9630|大漢語林=10990|康煕=1205.170|新大字典=16266/16299|新潮漢字=12244|諸橋=36681}}
s50nsw4vb8kscu6em2ekdti63z0zqu1
執
0
32548
2280922
2032197
2026-06-08T13:45:35Z
M-30722
1202
2280922
wikitext
text/x-wiki
{{kana-DEFAULTSORT|しつ}}
==漢字==
{{kanji|土|8}}
{{kanji variants|执=[[簡体字]]|𠌷=[[俗字]]}}
{{筆順}}
===字源===
* [[象形文字|象形]]。手枷がはめられている人を象る<ref group="字源">裘錫圭 『文字学概要』 商務印書館、1988年、127頁。<br>張世超、孫凌安、金国泰、馬如森 『金文形義通解』 中文出版社、1996年、2488-2491頁。<br>季旭昇撰 『説文新証』 芸文印書館、2014年、774頁。<br>林志強等評注 『《文源》評注』 中国社会科学出版社、2017年、393頁。</ref>。「[[とらえる]]」「[[とる]]」を意味する[[漢語]]{[[執]] {{phoneme|*tip}}}を表す字。
** 『[[説文解字]]』では「[[丮]]」+「[[㚔]]」と説明されているが、これは誤った分析である。[[甲骨文字]]の形を見ればわかるように「丮」とは関係がない。
<references group="字源" />
===意義===
#[[とる]]、[[まもる]]、[[もつ]]、[[ふさぐ]]、[[はからう]]、[[さばく]]、[[とらえる]]。
#*[[執行]]、[[執政]]
#[[とも]]、[[同志]]。
#[[むすぶ]]。
=={{L|ja}}==
{{ja-kanji|常用=シツ,シュウ,と-る|呉音=シュウ<シフ|漢音=シュウ<シフ|慣用音=シツ|訓=と-る,し}}
==={{drv}}===
*[[執する]]
==={{prov}}===
{{top}}
*[[執権]]
*[[執行]]
*[[執事]]
*{{ふりがな|執念|しゅうねん}}
*[[執務]]
*[[執拗]]
*[[執着]]
*[[確執]]
*[[固執]]
*[[偏執]]
*[[愛執]]
{{bottom}}
=={{L|zh}}==
{{zh-cat|zhi2}}
{{trans_link|zh|{{PAGENAME}}}}
* '''ローマ字表記'''
** '''[[普通話]]'''
*** '''[[ピンイン]]''': '''[[zhí]] ([[zhi2]])''', [[pǒu]] ([[pou3]])
*** '''[[ウェード式]]''': '''chih<sup>2</sup>''', p'ou<sup>3</sup>
** '''[[広東語]]'''
*** '''[[イェール式]]''': jap1
=={{L|ko}}==
{{ko-han|집|eumhun=[[잡다|잡을]] 집}}
=={{L|vi}}==
{{vi-han|chấp}}
=={{コード}}==
{{文字コード|jis=1-28-25|mj={{mjmoji|009111}}|gb=88CC|cns=1-595A|big5=B0F5|ksx=1001-727B}}
{{検字|倉頡=GJKNI|四角=4541.7, 4441.7,4541.7}}
{{字典|dj=0467.150|hdz=10457.050|大字源=1571|大漢語林=1912|康煕=0231.090|新大字典=2667|新潮漢字=1957|諸橋=5193}}
8lcqx2fh1xjjoekl434lv1s87is2zxu
freír
0
33784
2281303
1851757
2026-06-09T11:30:29Z
Kuroco2k
84207
2281303
wikitext
text/x-wiki
{{DEFAULTSORT:freir}}
{{also|Freir}}
=={{L|es}}==
==={{etym}}===
{{etyl|osp|es}} {{m|osp|friir}} < {{etyl|la|es}} {{m|la|frīgere}} < {{etyl|ine-pro|es}} {{m|ine-pro|*bʰer-}}.
==={{pron}}===
* {{IPA|lang=es|fɾeˈiɾ}}
==={{verb}}===
{{es-verb}}
#{{context|cooking|lang=es}}油で調理する、{{おくりがな|揚|げる|あげる}}、{{おくりがな|炒|める|いためる}}。
===={{conjug}}====
{{es-conj}}
===={{syn}}====
* {{l|es|cocinar}}
===={{drv}}====
* {{l|es|al freír de los huevos lo verá}}
* {{l|es|freírsela}}
* {{l|es|mandar a freír espárragos}}
* {{l|es|refreír}}
* {{l|es|sofreír}}
===={{rel}}====
* {{l|es|frito}}
* {{l|es|fritura}}
* {{l|es|fritanga}}
* {{l|es|freidora}}
* {{l|es|freidura}}
* {{l|es|freiduría}}
* {{l|es|freimiento}}
k2l87gq8g8ybi9clzu0tw1mlkcby051
吾
0
35167
2281175
2280782
2026-06-09T08:28:08Z
RoKouKok
112415
2281175
wikitext
text/x-wiki
{{kana-DEFAULTSORT|ゴ}}
==漢字==
{{kanji|口|4}}
{{kanji variants|𠮣=[[古字]]|𭇁=[[俗字]]|𠵥=[[籀文]]}}
{{筆順}}
===字源===
* [[形声文字|形声]]。[[原字]]「⿱五五」は獣肉を掛けるために用いる器具を象る。[[羨符]]「[[口]]」を加えて「[[𠵥]]」の字形となり、「⿱五五」が「[[五]]」に類化して「[[吾]]」の字形となる。「獣肉を掛ける器具」を意味する[[漢語]]{[[互]] {{phoneme|*ɡ(ɫ)ˤah}}}を表す字。<ref name="a" group="字源">方稚松「釋甲骨文中的「互」及相關問題」『中央研究院歷史語言研究所集刊』第91本第1分、中央研究院歴史語言研究所、2020年、1-31頁。</ref>[[仮借]]して「[[われ]]」を意味する漢語{[[吾]] {{phoneme|*ŋˤa}}}に用いる。
{{字源}}
====参考文献====
* [[上古音]]は布之道『[http://www.kaom.net/sgy_bzd.php 広韻形声考]』による。
<references group="字源" />
===意義===
#(一人称)われ、わたし。[[春秋]]戦国時代の漢籍のほか、古墳時代の[[銘]]などにも見える。
=={{L|ja}}==
{{ja-kanji|施策=人名用追加:1951|呉音=グ|漢音=ゴ|訓=われ,わが,あ,あが}}
====代名詞====
[[Category:{{ja}}_{{pronoun}}|われ]]
#([[われ]]、[[わ]]、上代では[[あれ]]、[[あ]]){{context|dated|lang=ja|skey=われ}}一人称の代名詞。
==={{prov}}===
*[[吾子]]
=={{L|ojp}}==
{{ojp-pronoun|わ|あ|あれ|われ|わが}}(同義)[[我]]
# [[自分自身]]のことを指す[[一人称]]。{{ふりがな|私|わたくし}}。
#* 「{{ふりがな|吾|われ||特殊=|yomilink=|yomi1=|yomi2=|yomi3=|yomi4=|yomi5=}}は面影糸を巣と張る蜘蛛」
=={{L|zh}}==
==={{etym}}===
{{etyl|sit-pro|zh|sort=wu2}} {{m|sit-pro|*ŋa|t=私}}
{{zh-cat|wu2|代名詞|文章語}}
{{yue-cat|ng4|代名詞}}
==={{pron}}===
{{zh-han
|m=wú,wǔ,ya
|m-nj=wǔ/ńg
|c=ng4
|pfs=ǹg/ngâ|hrs=ng/nga|gd=n2/nga1
|md=ngù
|mn=xm,qz,tw:ngô͘/qz,zz:gô͘
|mn-t=u5
|px=pt,xy:gou2
|w=6ngu,6ng
}}
** '''[[中古音]]''': ngu
** '''[[上古音]]''':
*** '''白一平-サガール''': *ŋˤa
*** '''鄭張''': *ŋaː
==={{pronoun}}===
普通話:wú 広東語:ng4
#(文章語 第一人称)[[わたし|私]]。
#*一般には、'''[[我]]'''。
#(広東語 第一人称)[[わたし|私]]。
=={{L|ko}}==
{{ko-han|오}}
=={{L|vi}}==
{{vi-han|ngo}}
=={{コード}}==
{{文字コード|jis=1-24-67|mj={{mjmoji|008120}}|gb=CEE1|cns=1-4940|big5=A75E|ksx=1001-676E}}
{{検字|倉頡=MMR|四角=1060.1}}
{{字典|dj=0398.020|hdz=10585.130|大字源=1098|大漢語林=1292|康煕=0180.030|新大字典=1826|新潮漢字=1334|諸橋=3379}}
fk0jx37m8zgsqnewy17zmnayu32kzla
畠
0
36255
2280963
2037494
2026-06-08T14:36:36Z
KashiDisco
119947
/* 字源 */
2280963
wikitext
text/x-wiki
{{kanji header|部画=田:5+5}}
===字源===
* 「[[白田]]」の[[合字]]。{{w|奈良時代}}に現れた。<ref group="字源">笹原宏之『美しい日本の一文字』、自由国民社、2024年、16-17頁。</ref>
** {{w|六朝時代}}の漢籍『{{w|捜神後記}}』に「[[畠]]」の記載があるといわれるが、「白田」の二字であった可能性がある。原本は現存せず、事実を確認することはできない。<ref group="字源">笹原宏之「国字(日本製漢字)と誤認されてきた唐代の漢字──佚存文字に関する考察──」沈国威、内田慶市編著『東アジア言語接触の研究』関西大学出版部、2016年、一一頁。<br>大原望『[https://ksbookshelf.com/nozomu-oohara/WaseikanjiJiten/WaseikanjiJiten_58.html 和製漢字の辞典2014]』</ref>
** 七世紀初頭の{{w|百済}}の木簡に「[[畠]]」が見つかったという報告もあるが、「[[白]]」と「[[田]]」の間の間隔が大きく、二字ではないかという疑いがある。<ref group="字源">笹原宏之「国字(日本製漢字)と誤認されてきた唐代の漢字──佚存文字に関する考察──」沈国威、内田慶市編著『東アジア言語接触の研究』関西大学出版部、2016年、三頁。</ref>
** もと「[[畑]]」とは使い分けられていたが、のち混用されるようになった([[畑#字源]]参照)。
====参考文献====
<references group="字源" />
===意義===
# '''[[はたけ]]'''。しろはた。はくでん。
[[Category:日本の国字]]
=={{L|ja}}==
[[Category:{{ja}}]]
{{ja-kanji|施策=人名用追加:2004/9,表外字体:印刷標準:はたけ|音=(ハク)|訓=はたけ,はた}}
=={{L|ko}}==
[[Category:{{ko}}|전]]
{{ko-hanja|hangeul=[[전]]|eumhun=|rv=jeon|mr=chŏn|y=cen}}
==文字情報==
{{character info}}
{{文字コード|jis=1-40-11|mj={{mjmoji|017690}}|gb=AE83|ksx=1002-6C26}}
{{検字|倉頡=HAW|四角=2660.0}}
{{字典|dj=1202.120|大字源=6083|大漢語林=7200|新大字典=10187|新潮漢字=7369|諸橋=21827}}
nfsgn8fuuzyw32g3swbft4yejsmp1gc
2280965
2280963
2026-06-08T14:39:11Z
M-30722
1202
2280965
wikitext
text/x-wiki
{{kana-DEFAULTSORT|はたけ}}
==漢字==
{{kanji|田|5}}
===字源===
* 「[[白田]]」の[[合字]]。{{w|奈良時代}}に現れた。<ref group="字源">笹原宏之『美しい日本の一文字』、自由国民社、2024年、16-17頁。</ref>
** {{w|六朝時代}}の漢籍『{{w|捜神後記}}』に「[[畠]]」の記載があるといわれるが、「白田」の二字であった可能性がある。原本は現存せず、事実を確認することはできない。<ref group="字源">笹原宏之「国字(日本製漢字)と誤認されてきた唐代の漢字──佚存文字に関する考察──」沈国威、内田慶市編著『東アジア言語接触の研究』関西大学出版部、2016年、一一頁。<br>大原望『[https://ksbookshelf.com/nozomu-oohara/WaseikanjiJiten/WaseikanjiJiten_58.html 和製漢字の辞典2014]』</ref>
** 七世紀初頭の{{w|百済}}の木簡に「[[畠]]」が見つかったという報告もあるが、「[[白]]」と「[[田]]」の間の間隔が大きく、二字ではないかという疑いがある。<ref group="字源">笹原宏之「国字(日本製漢字)と誤認されてきた唐代の漢字──佚存文字に関する考察──」沈国威、内田慶市編著『東アジア言語接触の研究』関西大学出版部、2016年、三頁。</ref>
** もと「[[畑]]」とは使い分けられていたが、のち混用されるようになった([[畑#字源]]参照)。
====参考文献====
<references group="字源" />
===意義===
# '''[[はたけ]]'''。しろはた。はくでん。
=={{L|ja}}==
{{ja-kanji|施策=人名用追加:2004/9,表外字体:印刷標準:はたけ|音=(ハク)|訓=はたけ,はた|国=1}}
=={{L|ko}}==
{{ko-han|전}}
=={{コード}}==
{{文字コード|jis=1-40-11|mj={{mjmoji|017690}}|gb=AE83|ksx=1002-6C26}}
{{検字|倉頡=HAW|四角=2660.0}}
{{字典|dj=1202.120|大字源=6083|大漢語林=7200|新大字典=10187|新潮漢字=7369|諸橋=21827}}
27rz2ge5x8o569a23zd67oyb0qxcsgf
欅
0
37929
2281301
2036425
2026-06-09T11:26:47Z
M-30722
1202
2281301
wikitext
text/x-wiki
{{kana-DEFAULTSORT|きょ}}
==漢字==
{{kanji|木|17}}
{{kanji variants|櫸=[[別体]]/[[繁体字]]|榉=[[簡体字]]|﨔=[[俗字]]|櫸}}
=={{L|ja}}==
{{ja-kanji|施策=表外字体:印刷標準:キョ|呉音=コ|漢音=キョ|訓=けやき}}
==={{noun}}===
[[Category:{{ja}}_{{noun}}|けやき]]
[[Category:{{ja}}_木|けやき]]
#(けやき)ニレ科ケヤキ属の[[落葉樹]]の[[総称]]。
=={{L|zh}}==
{{zh-cat|ju3}}
{{trans_link|zh|{{PAGENAME}}}}
* '''ローマ字表記'''
** '''[[普通話]]'''
*** '''[[ピンイン]]''': [[jǔ]] (ju3), [[luǒ]] (luo3)
*** '''[[ウェード式]]''': chü<sup>3</sup>, lo<sup>3</sup>
=={{L|ko}}==
{{ko-han|거|eumhun=느티나무 거}}
=={{コード}}==
{{文字コード|jis=1-61-16|mj={{mjmoji|014717}}|gb=99DB|ksx=1027-1-3D77}}
{{検字|倉頡=DHCQ,XDHCQ|四角=4795.2}}
{{字典|大字源=4593|大漢語林=5562|新大字典=7684|新潮漢字=5601|諸橋=15883}}
8dyk8a8kyf6qbpjhnuzhqmpxmy7a3vh
襷
0
38658
2280946
2162873
2026-06-08T14:06:22Z
KashiDisco
119947
/* 字源 */
2280946
wikitext
text/x-wiki
{{kanji header|部画=衣:5+17}}
{{kanji variants|𧜎=[[拡張新字体]]}}
===字源===
* 「[[襻]]」の字音が失われ、[[会意]]化による変形を経たもの。<ref group="字源">笹原宏之「国字(日本製漢字)と誤認されてきた唐代の漢字──佚存文字に関する考察──」沈国威、内田慶市編著『東アジア言語接触の研究』関西大学出版部、2016年、一一頁。</ref>
====参考文献====
<references group="字源" />
===意義===
#
[[Category:日本の国字|たすき]]
=={{L|ja}}==
[[Category:{{ja}}|たすき]]
{{ja-kanji|施策=表外字体:印刷標準:たすき|訓=たすき}}
==={{noun}}===
[[Category:{{ja}}_{{noun}}|たすき]]
#('''[[たすき]]''')[[和服]]の[[そで|袖]]や[[たもと|袂]]が邪魔にならないようからげる[[ひも|紐]]や[[ぬの|布]]。
#('''たすき''')一方の肩から他方の腰まで斜めにかける輪状の紐や布。[[駅伝]]では[[バトン]]代わりに使われる。
#('''たすき''')紐や線、細長い物を斜めに交差すること。その形や模様。
#('''たすき''')[[神事]]で[[ものいみ|物忌み]]の[[しるし]]で[[かた|肩]]にかける紐。
#('''たすき'''){{context|architecture|lang=ja|skey=たすき}}斜めに十字状に交差して取り付ける建材。
#('''たすき''')[[漢字]]の画の「[[ノ]]」の部分。
===={{prov}}====
==文字情報==
{{character info}}
{{文字コード|jis=1-75-07|mj={{mjmoji|024185}}|gb=D27A|cns=15-684A}}
{{検字|倉頡=LHCQ,LHCJ|四角=3725.2}}
{{字典|dj=1594.310|大字源=9163|大漢語林=10493|新大字典=15443|新潮漢字=11738|諸橋=34737}}
f214setkwkf7layqilk6010mrx5de4y
2281300
2280946
2026-06-09T11:25:46Z
M-30722
1202
2281300
wikitext
text/x-wiki
{{kana-DEFAULTSORT|たすき}}
==漢字==
{{kanji|衣|17}}
{{kanji variants|𧜎=[[拡張新字体]]}}
===字源===
* 「[[襻]]」の字音が失われ、[[会意]]化による変形を経たもの。<ref group="字源">笹原宏之「国字(日本製漢字)と誤認されてきた唐代の漢字──佚存文字に関する考察──」沈国威、内田慶市編著『東アジア言語接触の研究』関西大学出版部、2016年、一一頁。</ref>
====参考文献====
<references group="字源" />
=={{L|ja}}==
{{ja-kanji|施策=表外字体:印刷標準:たすき|訓=たすき|国=1}}
==={{noun}}===
[[Category:{{ja}}_{{noun}}]]
#('''[[たすき]]''')[[和服]]の[[そで|袖]]や[[たもと|袂]]が邪魔にならないようからげる[[ひも|紐]]や[[ぬの|布]]。
#('''たすき'''){{タグ|ja|陸上競技|label=no}}一方の肩から他方の腰まで斜めにかける輪状の紐や布。[[駅伝]]では[[バトン]]代わりに使われる。
#('''たすき''')紐や線、細長い物を斜めに交差すること。その形や模様。
#('''たすき''')[[神事]]で[[ものいみ|物忌み]]の[[しるし]]で[[かた|肩]]にかける紐。
#('''たすき'''){{タグ|ja|建築}}斜めに十字状に交差して取り付ける建材。
#('''たすき''')[[漢字]]の画の「[[ノ]]」の部分。
=={{コード}}==
{{文字コード|jis=1-75-07|mj={{mjmoji|024185}}|gb=D27A|cns=15-684A}}
{{検字|倉頡=LHCQ,LHCJ|四角=3725.2}}
{{字典|dj=1594.310|大字源=9163|大漢語林=10493|新大字典=15443|新潮漢字=11738|諸橋=34737}}
nhcbwb2f0wekq165cvm7122d801wu4j
特別
0
40241
2281177
2214550
2026-06-09T08:40:55Z
Jiba1219
100610
2281177
wikitext
text/x-wiki
{{kana-DEFAULTSORT|とくべつ}}
=={{L|ja}}==
{{ja-kanjitab|とく|べつ|yomi=o}}
{{wikipedia}}
==={{pron}}===
{{ja-pron|とくべつ|acc=0|acc_ref=DJR4,NHK}}
{{ja-accent-common|region=京阪|h||とくべつ}}
==={{noun}}===
{{ja-noun|とくべつ}}
#一般と{{おくりがな2|異|こと|なる|ことなる}}[[性質]]を持っており、{{おくりがな2|広|ひろ|く|ひろい}}[[通用]]している物とは[[区別]]される様子。
#[[特段]]の取り扱うをする様子。[[格別]]。
==={{adv}}===
{{ja-adv|とくべつ}}
#(程度を強めて)[[特に]]。[[とりわけ]]。
#(打消しを伴って、程度が強くないことを表す)[[それほど]]。[[たいして]]。
#(打消しを伴って、取り立てるべきものがないことを表す)これといって。[[別段]]。
===={{syn}}====
*[[特殊]]
*[[異常]]
*[[ことさら]]
*[[スペシャル]]
===={{ant}}====
*[[一般]]
*[[普通]]
*[[平常]]
*[[通常]]
*[[庸常]]
*[[尋常]]
===={{trans}}====
*{{T|en}}: [[specialty]], [[uncommonness]]
==={{adjectivenoun}}===
{{ja-adjectival noun|とくべつ}}
{{日本語ダ活用|kana=とくべつ}}
===={{trans}}====
形容詞
{{trans-top}}
*{{T|it}}: [[speciale]]
*{{T|en}}: [[special]], [[especial]], [[exceptional]], [[uncommon]]
*{{T|es}}: [[especial]]
*{{T|de}}: [[speziell]], [[besonders]]
*{{T|fr}}: [[spécial]]
*{{T|pl}}: [[specjalny]]
*{{T|pt}}: [[especial]]
*{{T|ro}}: [[special]]
*{{T|ru}}: [[особый]], [[специальный]]
{{trans-bottom}}
副詞
*{{T|en}}: [[specially]], [[especially]], [[exceptionally]], [[uncommonly]]
===脚注===
{{Reflist}}
=={{L|zh}}==
==={{pron}}===
{{cmn-pron|èbié|a=zh-tèbié.ogg}}
{{yue-pron|dak6 bit6|t=ak5 bet5}}
{{nan-pron|xm,zz,tw,sg:te̍k-pia̍t/qz,jj,ph:tia̍k-pia̍t|t=dêg8 biag8/dêg8 biêg8}}
{{cdo-pron|dĕk-biék}}
{{cpx-pron|pt,xy:deh7 beh7}}
{{hak-pron|thi̍t-phe̍t|h=tidˋ piedˋ}}
{{wuu-pron|sh,sz,jx:8deq biq8}}
{{gan-pron|tet6 piet6}}
*{{ltc}}: dok bjet
==={{adj}}===
{{zh-cat|te4bie2|adj|adv}}
{{yue-cat|dak6bit6|adj|adv}}
{{nan-cat|tek8piat8|adj|adv}}
{{nan-tws-cat|deeg8biag8|adj|adv}}
{{cdo-cat|dek7biek4|adj|adv}}
{{cpx-cat|deh7beh7|adj|adv}}
{{hak-cat|thit6phet6|adj|adv}}
{{wuu-cat|deh4bih4|adj|adv}}
{{gan-cat|tet6piet6|adj|adv}}
{{ltc-cat|dok1bjet1|adj|adv}}
{{zhchars|s=特别}}
#特別な。
==={{adv}}===
{{zhchars|s=特别}}
#[[特に]]。
==={{desc}}===
{{CJKV||特別|j=とくべつ|특별|đặc biệt}}
=={{L|ko}}==
==={{noun}}===
{{ko-head|noun|특별}}
#(日本語に同じ)特別。
=={{L|vi}}==
==={{adj}}===
{{vi-head|adj|đặc|biệt}}
#特別な。
rbxuhsmk1nf36dva9jcb4ix2jrft3su
perder
0
40909
2281371
1677050
2026-06-09T11:51:11Z
Kuroco2k
84207
2281371
wikitext
text/x-wiki
==スペイン語==
[[Category:スペイン語]]
[[Category:スペイン語 動詞]]
===発音===
{{IPA|peɾˈðeɾ}}
===語源===
ラテン語 ''[[perdere]]''
===動詞===
{{es-verb|perd|er|pres=pierdo}}
# {{おくりがな|失|う|うしなう}}、[[なくす]]、[[紛失]]する、{{おくりがな|損|なう|そこなう}}、(体重が){{おくりがな|減|る|へる}}。
# {{おくりがな|逃|す|のがす}}、見逃す、乗り遅れる。
# [[無駄]]にする、[[浪費]]する。
# [[亡]]くす、[[死別]]する。
# {{おくりがな|負|ける|まける}}、{{おくりがな|敗|れる|やぶれる}}、[[敗北]]する。
# {{おくりがな|迷|う|まよう}}、経路が分からなくなる。
===={{conjug}}====
{{es-conj|<ie>}}
===関連語===
*[[perdedor]]
*[[pérdida]]
*[[perdición]]
----
==ポルトガル語==
[[Category:ポルトガル語]]
[[Category:ポルトガル語 動詞]]
===発音===
{{IPA|pɨɾˈdeɾ}}
===語源===
ラテン語 ''[[perdere]]''
===動詞===
# {{おくりがな|失|う|うしなう}}、[[なくす]]、[[紛失]]する、{{おくりがな|損|なう|そこなう}}、(体重が){{おくりがな|減|る|へる}}。
# {{おくりがな|逃|す|のがす}}、見逃す、乗り遅れる。
# [[無駄]]にする、[[浪費]]する。
# [[亡]]くす、[[死別]]する。
# {{おくりがな|負|ける|まける}}、{{おくりがな|敗|れる|やぶれる}}、[[敗北]]する。
# {{おくりがな|迷|う|まよう}}、経路が分からなくなる。
===活用===
{{pt-conj| |perder}}
===関連語===
*[[perda]]
*[[perdição]]
*[[perdido]]
lze8pd7xmu5kx41lbbvy20j70qlrqcf
crecer
0
41411
2281257
1378895
2026-06-09T11:12:41Z
Kuroco2k
84207
2281257
wikitext
text/x-wiki
==スペイン語==
[[Category:スペイン語]]
==={{etym}}===
*{{etyl|la|es}} {{term|la|crescere|crēscĕre}}、{{term/t|la|crēscō}}の現在能相不定詞
===={{cogn}}====
*{{fr}}:{{term|fr|croître}}
*{{it}}:{{term|it|crescere}}
*{{en}}:{{term|en|crescent}}.
===発音===
{{IPA|kɾeˈθeɾ}}
===動詞===
{{es-verb|crec|er|pres=crezco}}
# [[成長]]する、{{おくりがな2|伸|の|びる|のびる}}、{{おくりがな2|生|は|える|はえる}}。
# 大きくなる、[[増大]]する、[[増進]]する、{{おくりがな2|広|ひろ|がる|ひろがる}}、[[拡大]]する。
#(月が){{おくりがな2|満|み|ちる|みちる}}、(河川などが)[[増水]]する。
===={{conjug}}====
{{es-conj}}
===={{ant}}====
* [[decrecer]]
====関連語====
*[[creces]]
*[[crecido]]
*[[creciente]]
*[[crecimiento]]
*[[incremento]]
i2rd8j7pcuxhr7u6805dh9k51shcl1i
バイ
0
41743
2281094
2127556
2026-06-09T01:55:18Z
うーむ
129171
/* */
2281094
wikitext
text/x-wiki
{{kana-DEFAULTSORT}}
{{also|はい|ハイ|パイ|ばい}}
{{同音の漢字|Wiktionary:漢字索引 音訓 は#バイ}}
=={{L|ja}}==
==={{noun}}===
{{ja-noun}}
#{{タグ|ja|略語|俗語|性的指向}}[[バイセクシュアル]]。
eivl4vbbvri9l931ph47ovlgk75sil3
abolir
0
41889
2281247
1643010
2026-06-09T11:03:38Z
Kuroco2k
84207
2281247
wikitext
text/x-wiki
=={{L|ast}}==
==={{verb}}===
{{ast-verb-ir|abol}}
#[[廃止]]する。
{{ast-conj-ir|abol}}
===={{rel}}====
* {{l|ast|abolición}}
----
=={{L|ca}}==
==={{verb}}===
{{ca-verb|ir|abol}}
#[[廃止]]する。
{{ca-conj-ir|abol}}
----
=={{L|es}}==
==={{etym}}===
{{etyl|la|es}} {{m|la|abolēre}}
==={{pron}}===
* {{IPA|lang=es|aβoˈliɾ}}
==={{verb}}===
{{es-verb|abol|ir}}
#{{context|transitive|lang=es}}[[廃止]]する、[[撤廃]]する。
===={{conjugation|es}}====
欠如動詞。活用語尾が-i-で始まる人称、数のみに活用する。具体的には、直説法現在単数および第三人称複数、接続法現在のすべて、命令法における第二人称複数以外のすべて、を欠く。
===={{conjug}}====
{{es-conj}}
===={{rel}}====
*[[abolición]]
----
=={{L|fr}}==
==={{etym}}===
{{etyl|la|fr}} {{m|la|abolēre}}
==={{pron}}===
{{fr-IPA}}
[[File:Fr-abolir.ogg]]
==={{verb}}===
{{fr-verb}}
#{{context|transitive|lang=fr}}[[廃止]]する。
===={{conj|fr}}====
{{fr-conj-auto}}
===={{rel}}====
* [[abolissement]]
* [[abolisseur]]
* [[abolitif]]
* [[abolition]]
----
=={{L|pt}}==
==={{etym}}===
{{etyl|la|pt}} {{m|la|abolēre}}
==={{pron}}===
*(ポルトガル){{IPA|lang=pt|ɐβuˈliɾ}}
*(ブラジル){{IPA|aboˈlir}}
==={{verb}}===
{{pt-verb|ab|olir}}
#[[廃止]]する。
#(習慣的行動を)[[やめる]]。[[停止]]する。
===={{conjug|pt}}====
{{pt-conj|ab|olir}}
===={{rel}}====
* [[abolição]]
azvg7cqcn20j9craolhapyimj5mz81p
大蛇
0
41911
2281191
1468467
2026-06-09T09:45:53Z
うーむ
129171
2281191
wikitext
text/x-wiki
{{kana-DEFAULTSORT|だいじゃ}}
=={{L|ja}}==
==={{noun}}===
{{ja-noun|[[だいじゃ]]}}
# [[おおきい|大きい]][[へび|蛇]]。
==={{wagokanji}}===
{{ja-wagokanji|おろち}}
#{{wagokanji of|おろち}}
<!--発音 (日本語) アクセントや発音記号の記載のない限りコメントアウト
===={{pron|ja}}====
;(アクセント等の記載)
:{{IPA|??}}
:{{X-SAMPA|??}}
-->
===={{etym}}==== <!--語源-->
===={{trans}}====
; 大きい蛇
*{{en}}: [[large]] [[snake]]
; おろち
*{{en}}: [[giant]] [[snake]]
===={{rel}}==== <!--関連語-->
* {{ふりがな|八岐大蛇|やまたのおろち}}
* {{syn}}: [[うわばみ]]
* {{idiom}}: [[大蛇を見るとも女を見るな]]
=={{ko}}==
[[Category:{{ko}}|대사]]
==={{noun}}===
[[Category:{{ko}}_{{noun}}|대사]]
*ハングル表記:{{lang|ko|[[대사]]}}
# [[おおきい|大きい]][[へび|蛇]]。
=={{zh}}==
[[Category:{{zh}}|da4chi2]]
==={{noun}}===
[[Category:{{zh}} {{noun}}|da4chi2]]
# [[おおきい|大きい]][[へび|蛇]]。
ca6v7n7rqhorfvthww1dzir9gorfexq
2281192
2281191
2026-06-09T09:46:28Z
うーむ
129171
2281192
wikitext
text/x-wiki
{{kana-DEFAULTSORT|だいじゃ}}
{{wikipedia}}
=={{L|ja}}==
==={{noun}}===
{{ja-noun|[[だいじゃ]]}}
# [[おおきい|大きい]][[へび|蛇]]。
==={{wagokanji}}===
{{ja-wagokanji|おろち}}
#{{wagokanji of|おろち}}
<!--発音 (日本語) アクセントや発音記号の記載のない限りコメントアウト
===={{pron|ja}}====
;(アクセント等の記載)
:{{IPA|??}}
:{{X-SAMPA|??}}
-->
===={{etym}}==== <!--語源-->
===={{trans}}====
; 大きい蛇
*{{en}}: [[large]] [[snake]]
; おろち
*{{en}}: [[giant]] [[snake]]
===={{rel}}==== <!--関連語-->
* {{ふりがな|八岐大蛇|やまたのおろち}}
* {{syn}}: [[うわばみ]]
* {{idiom}}: [[大蛇を見るとも女を見るな]]
=={{ko}}==
[[Category:{{ko}}|대사]]
==={{noun}}===
[[Category:{{ko}}_{{noun}}|대사]]
*ハングル表記:{{lang|ko|[[대사]]}}
# [[おおきい|大きい]][[へび|蛇]]。
=={{zh}}==
[[Category:{{zh}}|da4chi2]]
==={{noun}}===
[[Category:{{zh}} {{noun}}|da4chi2]]
# [[おおきい|大きい]][[へび|蛇]]。
q8mbuauuurm6hnkncec59j6stm5axd2
こうが
0
42582
2281106
1919515
2026-06-09T02:59:42Z
鍼灸
112313
2281106
wikitext
text/x-wiki
{{kana-DEFAULTSORT}}
{{also|こうか|ごうか|ごうが}}
=={{ja}}==
==={{kangokana}}===
{{ja-kangokana|h=y}}
*【[[姮娥]]】
*【[[光画]]】
*【[[光駕]]】
*【[[公衙]]】
*【[[広雅]]】
*【[[甲賀]]】
*【[[江河]]】
*【[[紅河]]】
*【[[高臥]]】
*【[[高雅]]】
*【[[黄河]]】
{{stub}}
2qmi83pca0nvlp6lu8lfxkrc8z26p3r
ごうか
0
42583
2281108
2046484
2026-06-09T03:00:27Z
鍼灸
112313
2281108
wikitext
text/x-wiki
{{kana-DEFAULTSORT}}
{{also|こうか|こうが|ごうが}}
=={{L|ja}}==
==={{kangokana}}===
{{ja-kangokana|h=y}}
*【[[劫火]]】全[[世界]]を[[やきつくす|焼き尽くす]]という[[大火]]。
*【[[号火]]】[[のろし|狼煙]]。
*【[[業果]]】{{ふりがな|業|ゴウ|yomilink=n}}による[[むくい|報い]]。
*【[[業火]]】[[悪業]]が[[み|身]]を[[ほろぼす|滅ぼす]]ことを[[たとえる|譬え]]た[[地獄]]の[[猛火]]。
*【[[豪家]]】[[財産]]があり、その[[地方]]で[[勢力]]のある[[いえ|家]]。
*【[[豪華]]】[[はなやか|華やか]]でいかにもお[[かね|金]]がかかっているさま。
4rrf6siaevvd8eqv5ww50foun6k7cuv
ごうが
0
42584
2281109
1919517
2026-06-09T03:00:53Z
鍼灸
112313
2281109
wikitext
text/x-wiki
{{also|こうか|こうが|ごうか}}
{{kana-DEFAULTSORT}}
=={{ja}}==
==={{kangokana}}===
{{ja-kangokana|h=y}}
*【[[聱牙]]】[[文字]]・[[ことば|言葉]]などが[[難解]]なこと。また、そのさま。
*【[[恒河]]】{{w|ガンジス川}}。
5n97h8pwd5fg97ymqh3rzllmfzjlod3
purificar
0
42829
2281203
1142402
2026-06-09T10:42:16Z
Kuroco2k
84207
2281203
wikitext
text/x-wiki
==スペイン語==
[[Category:スペイン語]]
[[Category:スペイン語 動詞]]
===発音===
{{IPA|puɾifiˈkaɾ}}
===語源===
[[puro]], [[-ficar]]
===動詞===
# [[純化]]する、[[清浄]]にする、[[精製]]する。
# {{ふりがな|清|きよ|める}}める、[[浄化]]する。
===={{conjug}}====
{{es-conj}}
====類義語====
*[[purgar]]
===関連語===
*[[purificación]]
*[[purificador]]
*[[purificatorio]]
----
==ポルトガル語==
[[Category:ポルトガル語]]
[[Category:ポルトガル語 動詞]]
===発音===
{{IPA|puɾifiˈkaɾ}}
===語源===
[[puro]], [[-ficar]]
===動詞===
# [[純化]]する、不純物を{{ふりがな|除|のぞ|く}}く、[[精製]]する、[[精錬]]する。
# {{ふりがな|清|きよ|める}}める、[[浄化]]する。
====類義語====
*[[purgar]]
*[[assear]]
*[[limpar]]
*[[santificar]]
===関連語===
*[[purificação]]
*[[purificador]]
*[[purificante]]
*[[purificativo]]
*[[purificatório]]
itvsk7zjei3f9y9id1drvm6jsu02n24
ばい
0
43520
2281093
2196025
2026-06-09T01:54:57Z
うーむ
129171
/* */
2281093
wikitext
text/x-wiki
{{kana-DEFAULTSORT}}
{{also|はい|ハイ|バイ|パイ}}
{{同音の漢字|Wiktionary:漢字索引 音訓 は#バイ}}
=={{L|ja}}==
==={{noun}}===
{{Wikipedia|バイ}}
{{ja-noun|貝|蛽|海蠃}}
#[[w:エゾバイ科|エゾバイ科]]の[[まきがい|巻き貝]]。[[かいがら|貝殻]]は[[紡錘]]形で[[かたい|堅く]]て[[丈夫]]。[[たかさ|高さ]]は6~7cmくらい。[[北海道]][[南部]]から[[九州]]までの[[あさい|浅い]][[海]]に[[生息]]。[[肉]]は[[食用]]にし、[[から|殻]]は[[べいごま]]や貝[[細工]]の[[材料]]にする。
==={{parti}}===
{{ja-parti}}
[[Category:{{ja}} 肥筑方言]]
#(方言、九州北部)断定の意。~だよ。
===={{syn}}====
*[[たい]]
==={{homonym}}===
{{ja-homonym}}
*【[[馬医]]】1.[[うま|馬]]の[[治療]]や[[診断]]をする[[医者]]。2.[[律令制]]で、{{ふりがな|馬寮|めりょう|yomilink=n}}の[[官馬]]の[[世話]]などをした[[もの|者]]。うまくすし。
h8nswufhj1p9po9iwhmia4l2lbuv01r
カテゴリ:エストニア語 鳥
14
46877
2281152
1593533
2026-06-09T06:30:34Z
鍼灸
112313
2281152
wikitext
text/x-wiki
<div class="pathnavbox">
* {{Pathnav|カテゴリ|言語|{{et}}|{{et}}_生物|disp4=生物|{{et}}_動物|disp5=動物|{{et}}_脊索動物|disp6=脊索動物|{{et}}_脊椎動物|disp7=脊椎動物|last=鳥}}
* {{Pathnav|カテゴリ|分野|生物|動物|脊索動物|脊椎動物|鳥|last={{et}}}}
</div>
[[カテゴリ:エストニア語 脊椎動物|*とり]]
[[カテゴリ:鳥|えすとにあ]]
08f7n0vicb93xdb94nyjp49mol7cyp6
こうかい
0
50946
2281127
2271637
2026-06-09T05:12:33Z
~2026-33980-76
131891
/* 日本語 */
2281127
wikitext
text/x-wiki
{{kana-DEFAULTSORT}}
{{also|こうがい|ごうかい|ごうがい}}
=={{L|ja}}==
==={{kangokana}}===
{{ja-kangokana|h=y}}
*【[[交会]]】[[ひと|人]]と人とが[[したしい|親しく]]すること。
*【[[公会]]】[[公式]]の[[会議]]。
*【[[公廨]]】[[役所]]。
*【[[公海]]】[[特定]]の[[国家]]の[[主権]]に[[属する|属さ]]ず、[[各国]]が[[自由]]に[[航行]]できる[[海域]]。
*【[[公開]]】[[自由]]に見たり聞いたりできるように{{ふりがな|公|おおやけ}}に[[開放]]すること。
*【[[叩解]]】[[パルプ]]の[[繊維]]を[[たたく|叩いて]][[ほぐす|解す]]こと。
*【[[工会]]】[[労働組合]]。
*【[[後会]]】[[後日]]に[[あう|会う]]こと。
*【[[後悔]]】[[あと|後]]になって[[自分]]のしたことを[[くやむ|悔やむ]]こと。
*【[[更改]]】[[かえる|変えて]][[あたらしい|新しく]]すること。
*【[[江海]]】[[大河]]と[[うなばら|海原]]。
*【[[港界]]】[[みなと|港]]の[[境界]]。
*【[[狡獪]]】[[わるがしこい|悪賢い]]こと。
*【[[紅海]]】[[アフリカ大陸]]と[[アラビア半島]]との[[あいだ|間]]にある[[ほそながい|細長い]][[うみ|海]]。
*【[[航海]]】[[船舶]]で[[渡航]]すること。
*【[[講会]]】[[講]]の[[集会]]。
*【[[講解]]】[[意味]][[内容]]を[[解説]]すること。
*【[[鋼塊]]】[[鋳型]]に[[ながしこむ|流し込んで]][[かためる|固めた]][[金属]]。[[インゴット]]。
*【[[降海]]】[[さかな|魚]]が[[かわ|川]]から[[うみ|海]]に[[くだる|下る]]こと。
*【[[降灰]]】[[火山灰]]が[[ふる|降る]]こと。
*【[[香会]]】[[香]]の[[かおり|香り]]を[[観賞]]する[[集会]]。
*【[[黄海]]】[[中国]]と[[朝鮮半島]]との[[あいだ|間]]の[[海域]]。
*【[[訇磕]]】[[みず|水]]が激しく流れるときの大きな[[おと|音]]の[[形容]]。
104cqkq4o6uv7k979ynshstan1x5ew1
食傷
0
51227
2280932
1556096
2026-06-08T13:49:58Z
M-30722
1202
2280932
wikitext
text/x-wiki
{{kana-DEFAULTSORT|しょくしょう}}
=={{L|ja}}==
{{ja-kanjitab|しょく|しょう|yomi=o}}
==={{noun}}===
{{ja-noun|[[しょくしょう]]}}
#{{タグ|ja|病気}}[[しょくあたり|食中り]]。[[食中毒]]。
# [[おなじ|同じ]]ものを[[たべる|食べ]][[つづける|続け]]て[[あきる|飽き]]てしまった様子。
# 同じ[[できごと|出来事]]などが[[連続]]して[[おこる|起こり]][[あきあき|飽き飽き]]している様子。
<!-- 正確性?
==概要==
基本的に食べ物に対して飽きていたり食あたりになったときのことを指すが、「最近の[[ポップ・ミュージック]]に食傷気味だ」や、「[[ゲーム]]のグラフィック批判に食傷だよ」など食べ物以外のものに使うこともあり、使い方は多様にわたる。
==備考==
相手が傷んだ食べ物を口にした際、表現に戸惑う苦しみ、痛みの症状に陥る。これを第三者的に目にする状況では、相手が動きを止め、心理的な倦怠に襲われた風(食い合わせの悪さが原因による、相手が不快な様子も含む)に見える事から日常言語に組み込まれた。
-->
===={{rel}}====
*[[ワンパターン]]
*[[倦怠]]
*[[メタファー]]
*[[不快]]
===={{trans}}====
{{trans-see|語義1|食中毒}}
3shmjlxrprdfuq5lhkztfuognx6njxt
tool
0
55131
2281361
1798224
2026-06-09T11:50:03Z
M-30722
1202
2281361
wikitext
text/x-wiki
=={{L|en}}==
==={{etym}}===
{{etyl|enm}} {{m|enm|tool}}, {{m|enm|tol}} < {{etyl|ang}} {{m|ang|tōl}} < {{etyl|non}} {{m|non|tól}} か
==={{pron}}===
*{{IPA|lang=en|tuːl}}
* {{音声|en|LL-Q1860 (eng)-Vealhurl-tool.wav|a=英}}
==={{noun}}===
{{en-noun}}
#{{topcat|en|道具}}[[道具]]、[[工具]]。
#[[手段]]。
#{{ふりがな|手先|てさき}}。
===={{drv}}====
* [[toolbar]]
* [[toolbox]]
* [[toolchain]]
* [[tool chest]]
* [[tooling]]
* [[toolkit]]
* [[toolmaker]]
* [[toolset]]
=={{L|et}}==
==={{pron}}===
{{IPA|lang=et|toːlʲ}}
==={{etym}}===
{{bor|et|de|Stuhl}}
==={{noun}}===
{{head|et|noun}}
#{{タグ|et|家具}}[[椅子]]。
ib44cmadcv1qpxqd5m5sag4nyzpp8em
ぼうし
0
58190
2281119
2137745
2026-06-09T03:19:10Z
鍼灸
112313
2281119
wikitext
text/x-wiki
{{kana-DEFAULTSORT}}
{{also|ほうし|ほうじ|ぼうじ}}
=={{ja}}==
==={{kangokana}}===
{{ja-kangokana|h=y}}
*【[[亡姉]]】[[しぬ|死んだ]][[あね|姉]]。
*【[[亡子]]】死んだ[[こども|子供]]。
*【[[亡師]]】死んだ[[師匠]]。
*【[[傍視]]】[[かたわら|傍ら]]で[[みる|見]]ていること。[[傍観]]。
*【[[坊市]]】{{ふりがな|町|まち}}。
*【[[帽子]]】[[日光]]などを[[ふせぐ|防ぐ]]ため[[あたま|頭]]に[[かぶる]]もの。
*【[[某氏]]】とある[[人物]]。
*【[[某紙]]】とある[[新聞]]。
*【[[某誌]]】とある[[雑誌]]。
*【[[暴死]]】[[突然]]に死ぬこと。
*【[[眸子]]】{{ふりがな|眸|ひとみ}}。
*【[[紡糸]]】[[いと|糸]]を[[つむぐ]]こと。
*【[[茅茨]]】{{ふりがな|茅|ちがや}}と{{ふりがな|茨|いばら}}。
*【[[謀士]]】[[謀略]]を[[めぐらす]][[ひと|人]]。
*【[[鋩子]]】[[刀剣]]の[[きっさき|切っ先]]。
*【[[防止]]】ふせぐこと。
*【[[旁諮]]】[[旁訊]]。
p6vysfe3sx9uj6qndxvnuw3vaggecod
がちょう
0
58540
2280875
2221835
2026-06-08T12:54:28Z
M-30722
1202
2280875
wikitext
text/x-wiki
{{kana-DEFAULTSORT}}
{{also|かちょう}}
=={{L|ja}}==
==={{kangokana}}===
{{ja-kangokana|h=y}}
*【[[画帳]]】[[絵]]を[[かく]]ための[[帳面]]。[[スケッチブック]]
*【[[画調]]】[[絵画]]や[[写真]]などで、[[画面]][[全体]]の[[調子]]。
*【[[鵝鳥]]/[[鵞鳥]]】[[野生]]の[[雁]]を[[かいならす|飼いならして]]つくられた[[家禽]]。
3m1l9s59g7hy4v0jpi9pgix586mge5h
画帳
0
58541
2280878
1471390
2026-06-08T13:00:22Z
M-30722
1202
[[en:sketchbook]]より訳語追加
2280878
wikitext
text/x-wiki
{{kana-DEFAULTSORT|がちょう}}
=={{L|ja}}==
{{ja-kanjitab|が|ちょう|yomi=o}}
==={{noun}}===
[[File:Sketch-book.jpg|thumb]]
{{ja-noun|[[がちょう]]}}
#{{タグ|ja|美術}}[[絵]]を[[かく]]ための[[帳面]]。
===={{syn}}====
* [[スケッチブック]]、[[画帖]]
===={{trans}}====
{{trans-top}}
*{{T|ga}}: {{t|ga|leabhar sceitseála|m}}
*{{T|ar}}: {{t|ar|دفتر رسم|m|tr=daftar rasm}}
*{{T|hy}}: {{t|hy|էսքիզների տետր}}; {{t|hy|նկարչական ալբոմ}}
*{{T|vo}}: {{t|vo|skätabuk}}, {{t|vo|skätamabuk}}
*{{T|en}}: {{t|en|sketchbook}}, {{t|en|sketch pad}}
*{{T|eo}}: {{t|eo|skizlibro}}
*{{T|nl}}: {{t|nl|schetsboek|n}}
*{{T|sv}}: {{t|sv|skissbok|c}}
*{{T|es}}: {{t|es|cuaderno de bocetos|m}}
*{{T|cs}}: {{t|cs|skicák|m}}
*{{T|zh}}: {{t|cmn|素描簿}}, {{t|cmn|素描本|tr=sùmiáoběn}}
*{{T|de}}: {{t|de|Skizzenbuch|n}}
*{{T|tr}}: {{t|tr|eskiz defteri}}, {{t|tr|taslak defteri}}
*{{T|no}}:
*:{{T|nb}}: {{t|nb|skisseblokk|m|f}}, {{t|nb|skissebok|m|f}}
*{{T|hu}}: {{t|hu|vázlatfüzet}}
*{{T|fi}}: {{t|fi|luonnoslehtiö}}; {{t|fi|luonnoskirja}}
*{{T|fr}}: {{t|fr|carnet de croquis|m}}
*{{T|bg}}: {{t|bg|ски́цник|m}}
*{{T|be}}: {{t|be|альбо́м|m}}, {{t|be|блакно́т|m}}, {{t|be|скетчбу́к|m}}
*{{T|pl}}: {{t|pl|szkicownik|m}}
*{{T|ru}}: {{t|ru|скетчбу́к|m}}, {{t|ru|блокно́т|m}}, {{t|ru|альбо́м|m}}
{{trans-bottom}}
bc250baftkmsabqyezen00s22rz78g0
2280898
2280878
2026-06-08T13:12:31Z
M-30722
1202
/* {{trans}} */
2280898
wikitext
text/x-wiki
{{kana-DEFAULTSORT|がちょう}}
=={{L|ja}}==
{{ja-kanjitab|が|ちょう|yomi=o}}
==={{noun}}===
[[File:Sketch-book.jpg|thumb]]
{{ja-noun|[[がちょう]]}}
#{{タグ|ja|美術}}[[絵]]を[[かく]]ための[[帳面]]。
===={{syn}}====
* [[スケッチブック]]、[[画帖]]
===={{trans}}====
{{trans-top}}
*{{T|ga}}: {{t|ga|leabhar sceitseála|m}}
*{{T|ar}}: {{t|ar|دفتر رسم|m|tr=daftar rasm}}
*{{T|hy}}: {{t|hy|էսքիզների տետր}}; {{t|hy|նկարչական ալբոմ}}
*{{T|vo}}: {{t|vo|skätabuk}}, {{t|vo|skätamabuk}}
*{{T|en}}: {{t|en|sketchbook}}, {{t|en|sketch pad}}
*{{T|eo}}: {{t|eo|skizlibro}}
*{{T|nl}}: {{t|nl|schetsboek|n}}
*{{T|sv}}: {{t|sv|skissbok|c}}
*{{T|es}}: {{t|es|cuaderno de bocetos|m}}
*{{T|cs}}: {{t|cs|skicák|m}}
*{{T|zh}}: {{t|cmn|素描簿}}, {{t|cmn|素描本|tr=sùmiáoběn}}
*{{T|ko}}: {{t|ko|스케치북}}
*{{T|de}}: {{t|de|Skizzenbuch|n}}
*{{T|tr}}: {{t|tr|eskiz defteri}}, {{t|tr|taslak defteri}}
*{{T|no}}:
*:{{T|nb}}: {{t|nb|skisseblokk|m|f}}, {{t|nb|skissebok|m|f}}
*{{T|hu}}: {{t|hu|vázlatfüzet}}
*{{T|fi}}: {{t|fi|luonnoslehtiö}}; {{t|fi|luonnoskirja}}
*{{T|fr}}: {{t|fr|carnet de croquis|m}}
*{{T|bg}}: {{t|bg|ски́цник|m}}
*{{T|be}}: {{t|be|альбо́м|m}}, {{t|be|блакно́т|m}}, {{t|be|скетчбу́к|m}}
*{{T|pl}}: {{t|pl|szkicownik|m}}
*{{T|ru}}: {{t|ru|скетчбу́к|m}}, {{t|ru|блокно́т|m}}, {{t|ru|альбо́м|m}}
{{trans-bottom}}
huo8juyq5j10xgv1islbljtuyav66tm
libra
0
58914
2281008
2279061
2026-06-08T15:56:28Z
M-30722
1202
2281008
wikitext
text/x-wiki
{{also|Libra}}
=={{L|it}}==
==={{noun}}===
{{it-noun|libr|f|a|e}}
#{{タグ|it|計測機器}}[[天秤]]。
#{{タグ|it|星座}}[[てんびん座]]。
=={{L|en}}==
==={{etym}}===
{{etyl|la}} {{m|la|libra}}
==={{noun}}===
{{en-noun|librae|irr=y}}
#{{タグ|en|単位}}[[ローマ]]の[[重量]][[単位]]。約327[[グラム]]。
#{{タグ|en|単位}}[[スペイン語圏]]・[[ポルトガル語]]圏で用いられる重量単位。約460グラム。
#[[libbra]]の異綴。
===アナグラム===
* [[Arbil]]
* [[brail]]
=={{L|es}}==
==={{pron}}===
* {{IPA|lang=es|ˈliβɾa̠}}
==={{etym}}1===
{{etyl|la|es}} {{m|la|libra}}
==={{noun}}===
{{es-noun|f}}
#{{タグ|es|単位|label=秤量の単位}}[[ポンド]]。
#{{タグ|es|通貨|label=貨幣の単位}}[[ポンド]]。
====={{syn}}=====
* [[libra esterlina]] {{f}}
==={{etym}}2===
===={{verb}}====
{{es-verb-form}}
#[[librar]]の命令法非公式第二人称単数形。
#librarの直説法現在公式第二人称単数形。
#librarの直説法現在第三人称単数形。
=={{L|cs}}==
==={{pron}}===
{{cs-IPA}}
*{{音声|cs|Cs-libra.ogg}}
==={{noun}}===
{{cs-noun|g=f}}
#{{タグ|cs|単位|label=秤量の単位}}[[ポンド]]。
#{{タグ|cs|通貨|label=貨幣の単位}}[[ポンド]]。
{{cs-ndecl|<f>}}
=={{L|pt}}==
==={{pron}}===
* {{a|PT}} {{IPA|lang=pt|ˈli.βɾɐ}}
==={{noun}}===
{{pt-noun|f|s}}
#{{タグ|pt|単位|label=秤量の単位}}[[ポンド]]。
#{{タグ|pt|通貨|label=貨幣の単位}}[[ポンド]]。
=={{L|la}}==
==={{noun}}===
{{la-noun+|lībra<1>}}
#{{タグ|la|単位}}秤量の単位[[リブラ]]、1リブラは1ポンド=12オンスに等しい。略 '''[[lb.]]'''。
#{{タグ|la|計測機器}}[[天秤]]。{{ふりがな|衡|はかり}}。
#[[水準器]]。
{{la-ndecl|lībra<1>}}
===={{rel}}====
* {{l|la|librare}}
* {{l|la|libratio}}
===={{desc}}====
{{top}}
*{{desc|it|libra|libbra|lira}}
*{{desc|gl|libra}}
*{{desc|es|libra}}
*{{desc|fr|livre}}
*{{desc|pt|libra}}
*{{desc|ro|livră}}
{{bottom}}
==={{verb}}===
{{la-verb-form|librā}}
#{{l|la|librāre}}の命令法能相現在第二人称単数形。
q6hm0i8twue57o4hh5414syt13meztl
創造
0
60965
2281040
2202538
2026-06-08T18:30:24Z
Jiba1219
100610
2281040
wikitext
text/x-wiki
{{kana-DEFAULTSORT|そうぞう}}
{{wikipedia}}
=={{L|ja}}==
{{ja-kanjitab|そう|ぞう|yomi=goon}}
==={{pron}}===
{{ja-pron|そうぞう|acc=0}}
{{ja-accent-common|region=京阪|h||そーぞー}}
==={{noun}}===
{{ja-noun-suru|[[そうぞう]]}}
#[[かみ|神]]が[[万物]]を{{おくりがな2|創|つく|る|つくる}}こと。
#*「元始に神天地を創造り給へり」(「創世記一章一節」『文語訳聖書』)
#[[自分]]の[[かんがえ|考え]]で[[あたらしい|新しい]]物を[[つくりだす|創り出す]]こと。[[独創]]。
===={{syn}}====
* [[創生]]
* [[クリエイト]]([[クリエート]])
===={{ant}}====
*(万物を創ること)[[殲滅]]、[[撲滅]]
*(独創)[[模倣]]
==={{verb}}===
===={{conjug}}====
{{日本語サ変活用|kana=そうぞう}}
===={{trans}}====
{{top}}
*{{T|en}}: {{t|en|create}}
*{{T|zh}}: {{t|zh|創造}}
*{{T|no}}:
*:{{T|nb}}: {{t|no|skape}}
*{{T|fr}}: {{t|fr|créer}}
*{{T|la}}: {{t|la|creare}}
*{{T|ru}}: {{t|ru|создовать|impf}}, {{t|ru|создать|pf}}
{{bottom}}
=={{L|zh}}==
{{zh-cat|chuang4zao4|動詞}}
{{yue-cat|chong3jou6|動詞}}
{{nan-cat|chhong3cho7|動詞}}
{{nan-tws-cat|cang3zao6|動詞}}
{{hak-cat|chhong3chho4|動詞}}
{{wuu-cat|tshaon3zau2|動詞}}
==={{pron}}===
{{cmn-pron|chuàngzào|a=Zh-chuàngzào.ogg}}
{{yue-pron|cong3 zou6}}
{{nan-pron|xm,zz,tw:chhòng-chō/qz:chhòng-chǒ|t=cang3 zao6}}
{{hak-pron|chhóng-chho|h=congˊ co˖}}
{{wuu-pron|sh:5tshaon zau}}
==={{verb}}===
{{zhchars|s=创造}}
#創造する。
=={{L|ko}}==
==={{noun}}===
{{ko-head|noun|창조}}
#(日本語に同じ)創造。
=={{L|vi}}==
==={{verb}}===
{{vi-head|verb|sáng|tạo}}
#創造する。
g4piomz3yitvvrl5my2fp0l2k9ohl4k
ngoenzneix
0
67165
2281098
1797618
2026-06-09T02:09:53Z
ふゆくれ
95641
2281098
wikitext
text/x-wiki
=={{L|za}}==
==={{etym}}===
{{compound|lang=za|ngoenz|neix}}
===={{pron}}====
{{za-pron}}
==={{noun}}===
{{za-head|noun}}
#{{context|time|lang=za}}{{ふりがな|今日|きょう}}。
6kamrfokgkb162e56zhyo2oj6r1lo0e
ngoenz
0
67166
2281097
1797617
2026-06-09T02:08:48Z
ふゆくれ
95641
2281097
wikitext
text/x-wiki
=={{L|za}}==
==={{etym}}===
{{derived|za|tai-pro|*ŋwanᴬ}}
==={{pron}}===
{{za-pron}}
==={{noun}}===
{{za-head|noun|𭥓|昋|昙|艮|𭦂|𨑨|晏|㫨|𭥔}}
#{{context|暦|lang=za}}{{ふりがな|日|ひ}}。
===={{drv}}====
*[[ngoenzneix]]
7mkk5ooyvp4kdja6o29fccr77chm75t
buscar
0
70585
2281251
2201522
2026-06-09T11:05:41Z
Kuroco2k
84207
/* {{conjugation}} */
2281251
wikitext
text/x-wiki
=={{L|ast}}==
==={{verb}}===
{{ast-verb-ar|busc}}
#{{おくりがな2|探|さが|す|さがす}}。
{{ast-conj-ar|busc||busqu}}
===={{syn}}====
* {{l|ast|guetar}}
===={{rel}}====
* {{l|ast|buscu}}
=={{L|ca}}==
==={{etym}}===
{{etyl|es|ca}} ''buscar''
==={{verb}}===
{{ca-verb|ar|busc}}
#{{おくりがな2|探|さが|す|さがす}}。
===={{conjugation}}====
語根''c'' が語尾の''e'' や''i'' の前で''qu'' に変わる他は[[cantar]]のように活用する。
{{ca-conj-ar|busc}}
===={{syn}}====
* {{l|ca|cercar}}
=={{L|es}}==
==={{pron}}===
* {{es-IPA}}
* {{音声|es|es-us-buscar.ogg}}
* {{音声|es|Es-am-lat-buscar.ogg|a=ラテンアメリカ}}
==={{verb}}===
{{es-verb|busc|ar|pret=busqué}}
#{{おくりがな2|探|さが|す|さがす}}。
===={{conjug}}====
{{es-conj}}
===={{rel}}====
* {{l|es|buscarruidos}}
* {{l|es|buscavidas|g=m}}
* {{l|es|buscón}}, {{l|es|buscona}}
* {{l|es|búsqueda}}
===={{seealso}}====
* {{l|es|esculcar}}
=={{L|pt}}==
==={{etym}}===
{{etyl|roa-opt|pt}} ''buscar''
==={{pron}}===
* {{a|PT}} {{IPA|lang=pt|buʃ.ˈkaɾ}}
*(ブラジル){{IPA|lang=pt|busˈkaɾ}}
==={{verb}}===
{{pt-verb|bus|car}}
#{{おくりがな2|探|さが|す|さがす}}、{{おくりがな3|捜|さが|し|求|もと|める|さがしもとめる}}。
#:{{syn|pt|procurar|pesquisar}}
#…に向かっていく
#*{{ux|pt|O rio busca o mar.|川は海に向かって流れる。}}
===={{conjugation}}====
{{pt-conj|bus|car}}
===={{rel}}====
* [[busca]]
* [[buscador]]
* [[busca-pé]]
okgycxxhx0gpalc2hctubcac30vstj6
pegar
0
71041
2281373
1675855
2026-06-09T11:51:12Z
Kuroco2k
84207
2281373
wikitext
text/x-wiki
=={{id}}==
==={{noun}}===
{{id-noun}}
[[Category:{{id}}_走禽類]]
#{{ふりがな|雉|きじ}}。
----
=={{oc}}==
==={{etym}}===
{{etyl|lat|oci}} ''[[picare|picāre]]'' < ''[[pix]]''
==={{verb}}===
{{oc-verb|peg|ar}}
#(接着剤などで)[[くっつける]]。
===={{syn}}====
* {{l|oc|empegar}}
----
=={{ca}}==
==={{etym}}===
{{etyl|lat|cat}} ''[[picare|picāre]]'' < ''[[pix]]''
==={{pron}}===
* {{ca-IPA}}
*{{homonym}}: {{l|ca|pagar}}
==={{verb}}===
{{ca-verb|ar|peg}}
#(人を){{おくりがな2|殴|なぐ|る|なぐる}}。
#{{context|dialectal|lang=ca}}(何かで体を)殴る。{{おくりがな2|叩|たた|く|たたく}}。
#{{context|dialectal|lang=ca}} (''[[bot]]'', ''[[salt]]'' 等と共に用いて){{おくりがな2|跳|と|ぶ|とぶ}}。
#* ''Va '''pegar''' un bot''
#*: 彼は'''跳んだ'''。
#{{context|dialectal|lang=ca}}[[くっつける]]。
{{ca-conj-ar|peg}}
===={{syn}}====
* {{l|ca|agafar}}, {{l|ca|donar}}, {{l|ca|empènyer}}, {{l|ca|enganxar}}, {{l|ca|encolar}}, {{l|ca|fer}}, {{l|ca|saltar}}, {{l|ca|topar}}, {{l|ca|xocar}}
==={{rel}}===
* {{l|ca|pegar-se un toc a la barra}}
----
=={{es}}==
==={{etym}}===
{{etyl|lat|spa}} ''[[picare|picāre]]'' < ''[[pix]]''
==={{verb}}===
{{es-verb|peg|ar|pret=pegué}}
#{{context|intransitive+|lang=es}}[[くっつける]]。
#{{context|transitive+|lang=es}}{{おくりがな2|殴|なぐ|る|なぐる}}。
===={{conjug}}====
{{es-conj}}
===={{rel}}====
* {{l|es|apegar}}
* {{l|es|apego}}
* [[despegar]]
* [[pega]]
* [[pegamento]]
* [[pegamiento]]
* [[pegado]]
* [[pegajoso]]
* [[pegar ojo]]
----
=={{pt}}==
==={{etym}}===
{{etyl|lat|por}} ''[[picare|picāre]]'' < ''[[pix]]''
==={{pron|por}}===
* {{a|PT}} {{IPA|pɨ.ˈɣaɾ}}
* {{a|BR}} {{IPA|pe.ˈɡa(ʁ)}}
==={{verb}}===
{{pt-verb|peg|ar|past participle=pegado or pego}}
#{{context|transitive+|lang=pt}}[[くっつける]]。[[つかむ|掴む]]。
#{{context|Brazil|transitive+|lang=pt}}(バス、タクシーなどに)[[のる|乗る]]。
#*{{lang|pt|Pegar o ônibus.}}: バスに乗る。
#[[かかる]]。作動する。
#*{{lang|pt|O motor não pega.}}: エンジンがかからない。
===={{conjugation|por}}====
{{pt-conj|pe|gar}}
===={{syn}}====
* {{l|pt|agarrar}}
* {{l|pt|colar}}
*[2]: {{l|pt|apanhar}}, {{l|pt|tomar}}
*[3]: [[funcionar]]
====成句====
*{{lang|pt|[[pegar no sono]]}}: [[ねむる|眠る]]
*:{{lang|pt|A criança pegou no sono}}: 子供は眠った。
*{{lang|pt|[[pegar fogo]]}}: 火がつく
===={{drv}}====
*{{lang|pt|[[pegador]]}}
qsxndn42jd26h6k56x5ibwv1bbooa28
家長
0
71187
2280871
2275969
2026-06-08T12:52:32Z
M-30722
1202
2280871
wikitext
text/x-wiki
{{kana-DEFAULTSORT|かちょう}}
{{wikipedia}}
=={{L|ja}}==
{{ja-kanjitab|か|ちょう|yomi=o}}
==={{pron}}===
{{ja-pron|かちょう|acc=1}}
{{ja-accent-common|region=京阪|a|か|ちょー}}
==={{noun}}===
{{ja-noun|[[かちょう]]}}
#[[一家]]の[[長]]。
#*[[かれ|彼]]の[[すわる|坐っ]]て[[いる]]のは[[おもや|母屋]]の[[中央]]、'''家長'''のいる[[べし|べき]]{{ふりがな|正座|しょうざ}}である。([[w:中島敦|中島敦]]『南島譚』)
===={{syn}}====
*[[戸主]]
===={{drv}}====
*[[家長権]]
===={{trans}}====
*{{T|en}}: {{t|en|patriarch}}
=={{L|zh}}==
{{zh-cat|jia1zhang3|名詞}}
{{yue-cat|ga1jeung2|名詞}}
{{nan-cat|ka1tiunn2|名詞}}
{{nan-tws-cat|ge1ziang2|名詞}}
{{hak-cat|ka1chong3|名詞}}
{{ltc-cat|kae1trjang2|名詞}}
{{och-cat|kratang|名詞}}
==={{pron}}===
{{cmn-pron|jiāzhǎng}}
{{yue-pron|gaa1 zoeng2}}
{{nan-pron|xm,qz,twv:ka-tióng/zz:kee-tiáng/tw:ka-tiúⁿ/zz:kee-tióⁿ/twv:ke-tiúⁿ|t=gê1 ziang2/gê1 diên2}}
{{hak-pron|kâ-chóng}}
*{{ltc}}: kae trjangX
*{{och}}:
*:白一平-サガール: *kˤra traŋʔ
*:鄭張: *kraː taŋʔ
==={{noun}}===
{{zhchars|s=家长}}
#家長。
#[[保護者]]。
=={{L|ko}}==
==={{noun}}===
{{ko-head|noun|가장}}
#(日本語に同じ)家長。
=={{L|vi}}==
==={{noun}}===
{{vi-head|noun|gia|trưởng}}
#(日本語に同じ)家長。
a6a8kp04gx7k2hf5q9ds5ewp75ofkzi
大夫
0
73053
2281148
1665897
2026-06-09T06:24:06Z
Jiba1219
100610
2281148
wikitext
text/x-wiki
{{DEFAULTSORT:たいふ}}
{{wikipedia}}
=={{L|ja}}==
[[category:{{ja}}]]
===={{noun}}====
[[category:{{ja}}_{{noun}}]]
{{jachars}}
# (たいふ){{context|historical|lang=ja}} [[中国]]の[[周]]代から[[春秋戦国時代]]にかけての身分を表す言葉で[[領地]]を持った[[貴族]]。[[卿]]の下、[[士]]の上に位し、しばしば、士とあわせ、代表的支配層として、[[士大夫]]と称される。
# (だいぶ){{context|historical|日本|lang=ja}} [[律令制]]における官職名。
##「[[職]]」又は「[[坊]]」の長官職([[かみ]])。
##[[太政官]]においては三位以上、[[寮]]においては四位以上、[[中国]]以下の[[国司]]においては五位以上の官吏の称とされた。
# (たいふ){{context|historical|日本|lang=ja}} 2.より、五位以上の官吏を指す通称。
# (たいふ)「[[家老]]」の異称。
# (たいふ)「[[まつ|松]]」の異称。
# (たいふ・たゆう) [[かんぬし|神主]]職のひとつ。
# (たゆう) [[能楽]]で[[シテ]]方[[いえもと|家元]]の称。
# (たゆう) [[文楽]]の[[浄瑠璃]]語り。
# (たゆう){{context|historical|lang=ja}} [[遊女]]の階層の最上位。
# (たゆう)[[万歳]]の謡い手。相方を[[才蔵]]という。
[[Category:日中で意味が大きく異なる漢語|たいふ]]
=={{L|zh}}==
[[Category:{{zh}}|dai4fu]]
==={{pron}}===
* {{IPA1| ta˥˩fu }}
* {{IPA1| tai˥˩fu }}
** [[file:zh-dàifu.ogg]]
**{{nan}}: {{IPA1| tai˨˩hu˥˥ }}
==={{noun}}===
[[Category:{{zh}}_{{noun}}|dai4fu1]]
#(古語・廃語)(ピンイン:dàfū 注音:ㄉㄚˋ ㄈㄨ) [[周]]代から[[春秋戦国時代]]にかけての身分を表す言葉で[[領地]]を持った[[貴族]]。[[卿]]の下、[[士]]の上に位し、しばしば、士とあわせ、代表的支配層として、[[士大夫]]と称される。
#(ピンイン:dàifu 注音:ㄉㄞˋ ˙ㄈㄨ {{nan}}:POJ:tāi-hu)[[医者]](近年廃れてきた表現)。
===={{syn}}====
* [[医生]]
[[Category:HSKレベル4級|dai4fu]]
[[Category:HSKレベル甲|dai4fu]]
[[Category:{{nan}}|tai7hu1]]
[[Category:{{nan}}_{{noun}}|tai7hu1]]
lqjd76g6ap5st7o5tjtuwrbi2uzjbkm
下問
0
73250
2280882
1473892
2026-06-08T13:03:09Z
M-30722
1202
2280882
wikitext
text/x-wiki
{{kana-DEFAULTSORT|かもん}}
=={{L|ja}}==
{{ja-kanjitab|か|もん|yomi=o}}
==={{pron}}===
{{ja-pron|かもん|acc=0}}
{{ja-accent-common|region=京阪|h|かも|ん}}
==={{noun}}===
{{ja-noun-suru|[[かもん]]}}
#[[めした|目下]]の[[もの|者]]に[[とう|問う]]こと。
#*[[下大夫]]の[[ひとり|一人]][[として]]{{ふりがな|朝|ちょう|yomilink=n}}に[[つらなる|つらなっ]]ていた[[ため]]に[[かれ|彼]]もまた'''下問'''を[[うける|受け]]た。([[w:中島敦|中島敦]]『李陵』)
===={{syn}}====
*[[下聞]]
==={{verb}}===
{{日本語サ変活用}}
8zql950jd5ddy6rh46lm66s6sqkg66n
Botschafter
0
76072
2281336
1403426
2026-06-09T11:39:33Z
M-30722
1202
2281336
wikitext
text/x-wiki
=={{L|de}}==
==={{pron}}===
*{{IPA|lang=de|ˈboːtʃaftɐ}}
*{{音声|de|De-Botschafter.ogg}}
==={{etym}}===
*{{affix|de|Botschaft|-er}}
==={{noun}}===
{{de-noun|g=m||Botschafter}}
#{{タグ|de|外交}}[[大使]]。
#*{{ux|de|Der ''Botschafter'' ist der [[persönlich]]e [[Repräsentant]] des [[Staatsoberhaupt]]es seiner [[Nation]].}}
{{de-decl-noun|Botschafter|Botschafter|Botschafters|Botschafter|Botschafter|Botschaftern|Botschafter|Botschafter}}
===={{colloc}}====
{{top}}
*1. der Botschaftler [[bereisen|bereist]] ein [[Land]]
*1. der [[deutsch]]e Botschafter
{{bottom}}
[[カテゴリ:{{de}}_基本語彙1000]]
nkrv2rgskxa7o8gzpznm3gdknw6in4f
ひんこん
0
76165
2281103
360945
2026-06-09T02:23:00Z
うーむ
129171
/* */
2281103
wikitext
text/x-wiki
{{kana-DEFAULTSORT}}
=={{L|ja}}==
==={{kangokana}}===
{{ja-kangokana|h=y}}
*【[[稟懇]]】:懇請すること。
*【[[貧困]]】:貧しく苦労すること。
s854mhage7cmeyk97g0b5gt59ofchaw
じんぞう
0
79969
2281003
2279085
2026-06-08T15:40:36Z
M-30722
1202
2281003
wikitext
text/x-wiki
{{kana-DEFAULTSORT}}
{{also|しんそう|しんぞう|じんそう}}
=={{L|ja}}==
==={{kangokana}}===
{{ja-kangokana|h=y}}
*【[[腎臓]]】[[血液]]中の[[不要]]な[[物質]]を[[こす|濾し]]取り[[尿]]を[[つくりだす|作り出す]][[臓器]]。
*【[[人造]]】[[人間]]が[[つくる|造る]]こと。
lcuy43okohgkxoclg57mqi6tjz3xxjd
農耕
0
80070
2280999
2278977
2026-06-08T15:35:10Z
M-30722
1202
2280999
wikitext
text/x-wiki
{{kana-DEFAULTSORT|のうこう}}
{{wikipedia}}
=={{L|ja}}==
{{ja-kanjitab|のう|こう|yomi=o}}
==={{noun}}===
{{ja-noun-suru|[[のうこう]]}}
#{{タグ|ja|農業}}[[田畑]]を[[たがやす|耕して]][[農作物]]を[[つくる|作る]]こと。
#*生計を主宰している者が会社、官公庁等に勤務するなど他に主たる職業を有し、他方が家庭にあって'''農耕'''に従事している場合において、次に掲げる場合に該当するときは、その農業(中略)の事業主は、当該家庭にあって'''農耕'''に従事している者と推定する。([http://www.nta.go.jp/shiraberu/zeiho-kaishaku/tsutatsu/kihon/shotoku/03/01.htm 所得税基本通達12-3] 2010年12月2日閲覧)
===={{rel}}====
*[[農地]]、[[耕地]]
====={{syn}}=====
*[[農業]] - 事業として行う農耕
*[[耕作]]
===={{trans}}====
*{{T|en}}: {{t|en|cultivation}}
==={{verb}}===
{{日本語サ変活用}}
=={{L|zh}}==
{{zh-cat|nong2geng1|動詞|名詞|文章語|農業}}
{{yue-cat|nung4gaang1|動詞|名詞|農業}}
{{nan-cat|long5keng1|動詞|名詞|農業}}
{{nan-tws-cat|long5gen1|動詞|名詞|農業}}
{{ltc-cat|nowng1keang1|動詞|名詞|農業}}
{{och-cat|nungkreng|動詞|名詞|農業}}
==={{pron}}===
{{cmn-pron|nónggēng}}
{{yue-pron|nung4 gaang1}}
{{nan-pron|lông-keng|t=long5 gên1}}
*{{ltc}}: nowng keang
*{{och}}:
*:白一平-サガール: *nˤ[o]ŋ kˤ<r>eŋ
*:鄭張: *nuːŋ kreːŋ
==={{verb}}===
{{zhchars|s=农耕}}
#[[たがやす|耕す]]。
==={{noun}}===
{{zhchars|s=农耕}}
#(文章語)[[農業]]。
===={{syn}}====
*{{zh-l|本業}}
*{{zh-l|農業}}
=={{L|ko}}==
==={{noun}}===
{{ko-head|noun|농경|cat2=農業}}
#(日本語に同じ)
7sp18spsiegoe0ol8xu1rykjg69s34s
تومور
0
82080
2281023
1416864
2026-06-08T16:44:00Z
M-30722
1202
2281023
wikitext
text/x-wiki
=={{L|fa}}==
==={{etym}}===
*{{etyl|fr|fa}} {{m|fr|tumeur}} より。
==={{noun}}===
{{fa-noun|tr=tumor|pl=تومورها}}
#{{タグ|fa|腫瘍学}}[[腫瘍]]。
66tefbl37fzz3rr2pcwg82q0l05l79c
主流
0
82562
2280944
2278264
2026-06-08T14:05:32Z
M-30722
1202
2280944
wikitext
text/x-wiki
{{kana-DEFAULTSORT|しゅりゅう}}
{{wikipedia}}
=={{L|ja}}==
{{ja-kanjitab|しゅ|りゅう|yomi=o}}
==={{pron}}===
{{ja-pron|しゅりゅう|acc=0}}
{{ja-accent-common|region=京阪|h|しゅりゅ|ー}}
==={{noun}}===
{{ja-noun|[[しゅりゅう]]}}
#{{タグ|ja|地形}}[[かわ|川]]などの[[おも|主]]な[[ながれ|流れ]]。
#:{{syn|ja|本流}}
#:{{ant|ja|支流}}
#[[思想]]や[[学問]]などの[[中心]]となる[[流派]]。
=={{L|zh}}==
{{zh-cat|zhu3liu2|名詞|地形|hsk=丁|hsk2=6}}
{{yue-cat|jyu2lau4|名詞|地形}}
{{nan-cat|chu2liu5|名詞|地形}}
{{nan-tws-cat|zu2liu5|名詞|地形}}
{{cpx-cat|zy3liu2|名詞|地形}}
==={{pron}}===
{{cmn-pron|zhǔliú|a=Zh-zhuliú.ogg}}
{{yue-pron|zyu2 lau4|a=LL-Q9186 (yue)-Luilui6666-主流.wav}}
{{nan-pron|chú-liû|t=zu2 liu5}}
{{cpx-pron|pt,xy:zy3 liu2}}
==={{noun}}===
{{zhchars}}
#(日本語に同じ)主流。
=={{L|ko}}==
==={{noun}}===
{{ko-head|noun|주류|cat2=地形}}
#(日本語に同じ)主流。
lyp1fdt1depensnjdc756uqxraale6r
普遍
0
83599
2281131
1476296
2026-06-09T05:57:29Z
Jiba1219
100610
2281131
wikitext
text/x-wiki
=={{L|ja}}==
==={{pron}}===
{{ja-pron|ふへん|acc=0|acc_ref=DJR}}
==={{noun}}===
{{ja-noun-suru|[[ふへん]]}}
#[[ひろい|広く]][[ゆきわたる|行き渡る]]こと。
#[[すべて|全て]]のものに[[共通]]していること。
===={{ant}}====
*[[特殊]]
===={{rel}}====
*[[普遍化]]
*[[普遍的]]
==={{verb}}===
{{日本語サ変活用}}
===脚注===
{{Reflist}}
=={{L|zh}}==
{{zh-cat|pu3bian4|adjective4|hsk=乙|hsk2=4}}
{{yue-cat|pou2pin3|adjective}}
{{nan-cat|phoo2phian3|adjective}}
{{nan-tws-cat|pou2bing3|adjective}}
{{hak-cat|phu1phien1|adjective}}
{{wuu-cat|phu2pi3|adjective}}
==={{pron}}===
{{cmn-pron|pǔbiàn|a=Zh-pubiàn.ogg}}
{{yue-pron|pou2 pin3|a=LL-Q9186-Luilui6666-普遍.wav}}
{{nan-pron|qz,tw:phó͘-phiàn/xm,zz:phó͘-piàn|t=pou2 bing3}}
{{hak-pron|phû-phiên|h=puˋ pienˇ}}
{{wuu-pron|sh:5phu pi5}}
==={{adjective}}===
{{zhchars}}
#[[普遍的]]な。
=={{L|ko}}==
==={{noun}}===
{{ko-head|noun|보편}}
#(日本語に同じ)普遍。
=={{L|vi}}==
==={{verb}}===
{{vi-head|verb|phổ|biến}}
#[[普遍化]]する。
9rzbwiisiw3j673lh1ep6dkvu9ofrjo
のうこう
0
83757
2280998
2039936
2026-06-08T15:31:37Z
M-30722
1202
2280998
wikitext
text/x-wiki
{{kana-DEFAULTSORT}}
=={{L|ja}}==
==={{kangokana}}===
{{ja-kangokana|h=y}}
*【[[農工]]】[[農業]]と[[工業]]。
*【[[農功]]】[[農作業]]。
*【[[農耕]]】[[たがやす|耕す]]こと。
*【[[農高]]】[[農業高等学校]]の略。
*【[[濃香]]】[[濃厚]]な香り。
*【[[濃厚]]】[[こい|濃い]]こと。
0n4e5xud45ob468dp51moqsuvzkcx3x
保留
0
85707
2281302
1476813
2026-06-09T11:27:47Z
Jiba1219
100610
2281302
wikitext
text/x-wiki
{{kana-DEFAULTSORT|ほりゅう}}
=={{L|ja}}==
==={{pron}}===
{{ja-pron|ほりゅう|acc=0|acc_ref=SMK7,DJR,NHK}}
==={{noun}}===
{{ja-noun-suru|[[ほりゅう]]}}
#[[そのまま]]の[[状態]]で[[とどめる|留めて]]おくこと。
#[[そのば|その場]]で[[決定]]・[[発表]]せず[[のばす|延ばす]]こと。
==={{verb}}===
{{日本語サ変活用}}
===脚注===
{{Reflist}}
=={{L|zh}}==
{{zh-cat|bao3liu2|verb|hsk=乙|hsk2=5}}
{{yue-cat|bou2lau4|verb}}
{{nan-cat|po2liu5|verb}}
{{nan-tws-cat|bo2liu5|verb}}
{{cpx-cat|bor3liu2|verb}}
{{hak-cat|po3liu2|verb}}
{{wuu-cat|pau2lieu1|verb}}
==={{pron}}===
{{cmn-pron|bǎoliú|a=Zh-baoliú.ogg}}
{{yue-pron|bou2 lau4|a=LL-Q9186-Luilui6666-保留.wav}}
{{nan-pron|pó-liû|t=bo2 liu5}}
{{cpx-pron|pt,xy:bor3 liu2}}
{{hak-pron|pó-liù|h=boˊ liu}}
{{wuu-pron|sh:5pau lieu}}
==={{verb}}===
{{zhchars}}
#(原形を){{おくりがな2|保|たも|つ|たもつ}}。
#[[留保]]する。
#{{おくりがな2|残|のこ|して|のこす}}おく。
=={{L|ko}}==
==={{noun}}===
{{ko-head|noun|보류}}
#(日本語に同じ)保留。
=={{L|vi}}==
==={{verb}}===
{{vi-head|verb|bảo|lưu}}
#保留する。
ff9w40tbhmhumonf6iynln90baktjk0
打倒
0
88087
2281007
2278656
2026-06-08T15:51:46Z
M-30722
1202
2281007
wikitext
text/x-wiki
{{kana-DEFAULTSORT|だとう}}
=={{L|ja}}==
{{ja-kanjitab|だ|とう|yomi=o}}
==={{pron}}===
{{ja-pron|だとう|acc=0}}
{{ja-accent-common|region=京阪|h|だと|ー}}
==={{noun}}===
{{ja-noun-suru|[[だとう]]}}
# [[あいて|相手]]を[[うちたおす|打ち倒す]]こと。
#* 旧弊の'''打倒''' / 奴隷制の'''打倒'''
===={{syn}}====
* [[撃破]]
===={{ant}}====
* [[樹立]]
==={{verb}}===
{{日本語サ変活用}}
=={{L|zh}}==
{{zh-cat|da3dao3|動詞|hsk=乙}}
{{yue-cat|da2dou2|動詞}}
{{nan-cat|tann2to2|動詞}}
{{cpx-cat|da3dor3|動詞}}
==={{pron}}===
{{cmn-pron|dǎdǎo}}
{{yue-pron|daa2 dou2}}
{{nan-pron|táⁿ-tó}}
{{cpx-pron|pt,xy:da3 *dor3}}
==={{verb}}===
{{zhchars}}
#打倒する。
=={{L|ko}}==
==={{noun}}===
{{ko-head|noun|타도}}
#(日本語に同じ)打倒。
=={{L|vi}}==
==={{verb}}===
{{vi-head|verb|đả|đảo}}
#打倒する。
bhtbf5iz2gzpnqgmr6lbnaeczfkhrqm
だとう
0
88089
2281006
2222669
2026-06-08T15:48:45Z
M-30722
1202
2281006
wikitext
text/x-wiki
{{kana-DEFAULTSORT}}
{{also|たとう}}
=={{L|ja}}==
==={{kangokana}}===
{{ja-kangokana|h=y}}
*【[[打倒]]】[[うちたおす|打ち倒す]]こと。
*【[[妥当]]】[[よい|良く]][[あてはまる|当て嵌まる]]こと。
sn6wlfxfgzzbqklmeshlz09vqgp8e3b
大胆
0
88125
2281114
1923178
2026-06-09T03:10:06Z
鍼灸
112313
2281114
wikitext
text/x-wiki
{{kana-DEFAULTSORT|だいたん}}
=={{L|ja}}==
{{ja-kanjitab|だい|たん|yomi=o}}
==={{pron}}===
{{ja-pron|だいたん|acc=3}}
{{ja-accent-common|region=京阪|a|だいた|ん}}
==={{noun}}===
{{ja-noun|[[だいたん]]}}
#[[度胸]]があって、物事を[[おそれる|恐れず]]に[[おもいきって|思い切って]]やってのけること。
===={{rel}}====
*[[大胆不敵]]
==={{adjectivenoun}}===
[[Category:{{ja}}_{{adjectivenoun}}]]
{{日本語ダ活用}}
=={{L|zh}}==
[[Category:{{zh}}|da4dan3]]
==={{adjective}}===
[[Category:{{zh}}_{{adjective}}|da4dan3]]
[[Category:HSKレベル乙|da4dan3]]
{{zhchars}} ({{zh-ts|'''[[大膽]]'''}} dàdǎn)
#大胆な。
ils7gyngve8m5x6m3e4nxmdv6gdka3m
たいだん
0
88173
2281110
2235772
2026-06-09T03:04:26Z
鍼灸
112313
2281110
wikitext
text/x-wiki
{{kana-DEFAULTSORT}}
{{also|だいたん|だいだん|タイタン}}
=={{ja}}==
==={{kangokana}}===
{{ja-kangokana|h=y}}
*【[[対談]]】[[ふたり|二人]]が[[むかいあう|向かい合って]][[はなしあう|話し合う]]こと。
*【[[退団]]】[[所属]]している[[団体]]を[[しりぞく|退く]]こと。
88qc7p45ysvq5dg3imxy1bgv00808c1
Botschafters
0
90832
2281337
1404536
2026-06-09T11:40:08Z
M-30722
1202
2281337
wikitext
text/x-wiki
=={{L|de}}==
==={{pron}}===
*{{IPA|lang=de|ˈboːtʃaftɐs}}
==={{noun}}===
{{de-noun-form}}
#{{l|de|Botschafter}}の単数属格。
r9r5o5v26i7qzv1vny9fn4jdtzl9wfh
Botschaftern
0
90833
2281339
1404537
2026-06-09T11:40:30Z
M-30722
1202
2281339
wikitext
text/x-wiki
=={{L|de}}==
==={{pron}}===
*{{IPA|lang=de|ˈboːtʃaftɐn}}
==={{noun}}===
{{de-noun-form}}
#{{l|de|Botschafter}}の複数与格。
5wclchtndkgtw9t69v3h5ipnwm4lkc6
絮叨
0
100928
2280937
2278160
2026-06-08T13:58:19Z
M-30722
1202
2280937
wikitext
text/x-wiki
{{kana-DEFAULTSORT|じょとう}}
=={{L|ja}}==
==={{adjectivenoun}}===
{{ja-adjectival noun|[[じょとう]]}}
#[[多弁]]なさま。
==={{conjug}}===
{{日本語タルト活用}}
=={{L|zh}}==
{{zh-han|xu4dao|動詞|形容詞|hsk=丁}}
{{yue-han|seui5dou1|動詞|形容詞}}
{{nan-han|su3tho1|動詞|形容詞}}
==={{pron}}===
{{cmn-pron|xùdao|xùdāo}}
{{yue-pron|seoi5 dou1}}
{{nan-pron|qz:sìr-tho͘/xm:sù-tho/zz:sì-tho}}
==={{verb}}===
{{zhchars}}
#[[くどくど]]{{おくりがな2|話|はな|す|はなす}}。
==={{adjective}}===
{{zhchars}}
#[[くどくどしい]]。
2vzyopswav8c1e6womj9084k8w5r612
2280938
2280937
2026-06-08T13:58:35Z
M-30722
1202
/* {{L|zh}} */
2280938
wikitext
text/x-wiki
{{kana-DEFAULTSORT|じょとう}}
=={{L|ja}}==
==={{adjectivenoun}}===
{{ja-adjectival noun|[[じょとう]]}}
#[[多弁]]なさま。
==={{conjug}}===
{{日本語タルト活用}}
=={{L|zh}}==
{{zh-cat|xu4dao|動詞|形容詞|hsk=丁}}
{{yue-cat|seui5dou1|動詞|形容詞}}
{{nan-cat|su3tho1|動詞|形容詞}}
==={{pron}}===
{{cmn-pron|xùdao|xùdāo}}
{{yue-pron|seoi5 dou1}}
{{nan-pron|qz:sìr-tho͘/xm:sù-tho/zz:sì-tho}}
==={{verb}}===
{{zhchars}}
#[[くどくど]]{{おくりがな2|話|はな|す|はなす}}。
==={{adjective}}===
{{zhchars}}
#[[くどくどしい]]。
dg7ytvdxtpygwiwahm8k6oudi7iwo0n
かんせい
0
106093
2281086
2128986
2026-06-09T01:25:13Z
うーむ
129171
/* */
2281086
wikitext
text/x-wiki
{{also|かんぜい|がんせい}}
=={{L|ja}}==
==={{homonym}}===
{{ja-homonym}}
*【[[官製]]】[[政府]]がつくること。または、政府がつくったもの。
*【[[陥穽]]】①[[おとしあな|落とし穴]]。②人を[[おとしいれる|陥れる]][[計略]]。
*【[[乾性]]】①[[乾燥]]するのが[[はやい|速い]][[性質]]。②[[水分]]量が[[すくない|少ない]]性質。
*【[[喚声]]】[[おどろく|驚いたり]][[興奮]]したときに[[だす|出す]][[さけびごえ|叫び声]]。
*【[[歓声]]】[[よろこぶ|喜んで]][[発する]][[おおごえ|大声]]。
*【[[感性]]】①[[外界]]からの[[刺激]]に対する[[感受性]]。②外界からの刺激に対する[[こころ|心]]の[[はたらき]]。
*【[[慣性]]】[[物体]]が[[外力]]を[[うける|受けない]]限りもとの[[運動]][[状態]]を[[たもつ|保とう]]とする[[性質]]。
*【[[完成]]】[[目標]]や[[希望]]の[[とおり]]に、あるいは[[機能]]を果たせる[[水準]]まで、[[完全]]に[[できあがる|出来上がる]]こと。
*【[[管制]]】①何かを[[集中]]的に[[管理]]、[[制限]]すること。②[[航空機]]の[[安全]]かつ[[円滑]]な[[運航]]を行うために、主に[[地上]]から航空交通の[[指示]]や[[情報]]を航空機に与える業務。
*【[[閑静]]】[[しずか|静か]]で[[ひっそり]]としているさま。
*【[[甘井]]】[[おいしい]][[みず|水]]がでる[[いど|井戸]]。
*【[[甘精]]】[[サッカリン]]。
*【[[汗青]]】[[記録]]。[[史書]]。[[汗簡]]。
*【[[喊声]]】大声を[[はりあげる|張り上げる]]こと。
*【[[間性]]】[[生物]]の[[個体]]が示す[[雌雄]]の[[中間]]的な[[性質]]。
*【[[寒声]]】①[[さむざむ|寒々]]とした[[こえ|声]]。②[[冷水]]の[[おと|音]]。③[[寒風]]が吹く音。
*【[[感声]]】[[感嘆]]して出す声。
*【[[寛政]]】[[日本]]の[[元号]]の一つ。
*【[[箝制]]】[[自由]]を[[うばう|奪う]]こと。
*【[[澗声]]】[[たにがわ|谷川]]の水が流れる音。
*【[[監生]]】かつての[[中国]]における[[大学生]]の呼称。
*【[[監製]]】[[監督]]して作らせること。
*【[[諫制]]】[[いさめる|諌め]][[とどめる|止める]]こと。
*【[[鼾声]]】[[いびき]]。
*【[[檻穽]]】[[おり|檻]]と[[おとしあな|落とし穴]]。
lsgl560bfa9hhjd9ghfebpkyywhisuf
2281318
2281086
2026-06-09T11:36:28Z
M-30722
1202
2281318
wikitext
text/x-wiki
{{kana-DEFAULTSORT}}
{{also|かんぜい|がんせい}}
=={{L|ja}}==
==={{kangokana}}===
{{ja-kangokana|h=y}}
*【[[官製]]】[[政府]]がつくること。または、政府がつくったもの。
*【[[陥穽]]】①[[おとしあな|落とし穴]]。②人を[[おとしいれる|陥れる]][[計略]]。
*【[[乾性]]】①[[乾燥]]するのが[[はやい|速い]][[性質]]。②[[水分]]量が[[すくない|少ない]]性質。
*【[[喚声]]】[[おどろく|驚いたり]][[興奮]]したときに[[だす|出す]][[さけびごえ|叫び声]]。
*【[[歓声]]】[[よろこぶ|喜んで]][[発する]][[おおごえ|大声]]。
*【[[感性]]】①[[外界]]からの[[刺激]]に対する[[感受性]]。②外界からの刺激に対する[[こころ|心]]の[[はたらき]]。
*【[[慣性]]】[[物体]]が[[外力]]を[[うける|受けない]]限りもとの[[運動]][[状態]]を[[たもつ|保とう]]とする[[性質]]。
*【[[完成]]】[[目標]]や[[希望]]の[[とおり]]に、あるいは[[機能]]を果たせる[[水準]]まで、[[完全]]に[[できあがる|出来上がる]]こと。
*【[[管制]]】①何かを[[集中]]的に[[管理]]、[[制限]]すること。②[[航空機]]の[[安全]]かつ[[円滑]]な[[運航]]を行うために、主に[[地上]]から航空交通の[[指示]]や[[情報]]を航空機に与える業務。
*【[[閑静]]】[[しずか|静か]]で[[ひっそり]]としているさま。
*【[[甘井]]】[[おいしい]][[みず|水]]がでる[[いど|井戸]]。
*【[[甘精]]】[[サッカリン]]。
*【[[汗青]]】[[記録]]。[[史書]]。[[汗簡]]。
*【[[喊声]]】大声を[[はりあげる|張り上げる]]こと。
*【[[間性]]】[[生物]]の[[個体]]が示す[[雌雄]]の[[中間]]的な[[性質]]。
*【[[寒声]]】①[[さむざむ|寒々]]とした[[こえ|声]]。②[[冷水]]の[[おと|音]]。③[[寒風]]が吹く音。
*【[[感声]]】[[感嘆]]して出す声。
*【[[寛政]]】[[日本]]の[[元号]]の一つ。
*【[[箝制]]】[[自由]]を[[うばう|奪う]]こと。
*【[[澗声]]】[[たにがわ|谷川]]の水が流れる音。
*【[[監生]]】かつての[[中国]]における[[大学生]]の呼称。
*【[[監製]]】[[監督]]して作らせること。
*【[[諫制]]】[[いさめる|諌め]][[とどめる|止める]]こと。
*【[[鼾声]]】[[いびき]]。
*【[[檻穽]]】[[おり|檻]]と[[おとしあな|落とし穴]]。
ffsug08tgtwa650v3uqr6ib68z2f08h
特長
0
112553
2280914
2278008
2026-06-08T13:36:30Z
M-30722
1202
2280914
wikitext
text/x-wiki
{{kana-DEFAULTSORT|とくちょう}}
=={{L|ja}}==
{{ja-kanjitab|とく|ちょう|yomi=o}}
==={{pron}}===
{{ja-pron|とくちょう|acc=0}}
{{ja-accent-common|region=京阪|h||とくちょー}}
==={{noun}}===
{{ja-noun|[[とくちょう]]}}
#[[特別]]の[[長所]]。
===={{syn}}====
* [[特色]]
* [[特徴]]
=={{L|zh}}==
{{zh-cat|te4chang2|名詞}}
{{yue-cat|dak6cheung4|名詞}}
{{nan-cat|tek8tiong2|名詞}}
==={{pron}}===
{{cmn-pron|tècháng}}
{{yue-pron|dak6 coeng4}}
{{nan-pron|qz:tia̍k-tióng/tw,xm:te̍k-tióng/zz:te̍k-tiáng|t=dêg8 ciang5}}
==={{noun}}===
{{zhchars|s=特长}}
#(日本語に同じ)特長。
s8jq3vkju3m7yx8yunstq1c8aoob0ex
神像
0
113337
2281000
2278668
2026-06-08T15:38:56Z
M-30722
1202
2281000
wikitext
text/x-wiki
{{kana-DEFAULTSORT|しんぞう}}
=={{L|ja}}==
{{ja-kanjitab|しん|ぞう|yomi=o}}
==={{pron}}===
{{ja-pron|しんぞう|acc=0}}
{{ja-accent-common|region=京阪|h||しんぞー}}
==={{noun}}===
{{ja-noun|[[しんぞう]]}}
#{{タグ|ja|美術}}[[かみ|神]]の[[すがた|姿]]を[[彫刻]]や[[絵画]]に[[あらわす|表した]]もの。
=={{L|zh}}==
{{zh-cat|shen2xiang4|名詞}}
{{yue-cat|san1jeung6|名詞}}
{{nan-cat|sin5siong7|名詞}}
{{hak-cat|siin2siong4|名詞}}
{{wuu-cat|zen3zhian2|名詞}}
==={{pron}}===
{{cmn-pron|shénxiàng}}
{{yue-pron|san4 zoeng6}}
{{nan-pron|xm,tp,kh:sîn-siōng/zz:sîn-siāng/qz:sîn-siǒng}}
{{hak-pron|sṳ̀n-siong|h=shin siongˇ}}
{{wuu-pron|sh:6zen zhian}}
==={{noun}}===
{{zhchars}}
#[[神仏]]の[[像]]。
=={{L|ko}}==
==={{noun}}===
{{ko-head|noun|신상|cat2=美術}}
#(日本語に同じ)神像。
=={{L|vi}}==
==={{noun}}===
{{vi-head|noun|thần|tượng}}
#[[像]]。
#[[偶像]]、[[アイドル]]。
ag2gdt7euafbbdty5pbjchrmu5kyf1q
tumor suppressor
0
113635
2280955
1589202
2026-06-08T14:25:42Z
M-30722
1202
2280955
wikitext
text/x-wiki
{{DEFAULTSORT:tumorsuppressor}}
=={{L|en}}==
==={{alter}}===
* {{l|en|tumour suppressor}} (英国)
==={{noun}}===
{{head|en|noun}}
#{{タグ|en|腫瘍学}} [[がん抑制因子]]、[[腫瘍抑制因子]]。その機能が失われることで、[[発がん]]の原因となる因子。代表例としてp53など。
===={{drv}}====
*tumor suppressor gene: tumor suppressor を[[コード]]する[[遺伝子]]。
*tumor suppressor protein: tumor suppressor として機能する[[タンパク質]]。
===={{rel}}====
*[[oncogene]]
hvogcvq18czg2engu88dioksu8g4759
慣用
0
115376
2280905
2277153
2026-06-08T13:24:41Z
M-30722
1202
2280905
wikitext
text/x-wiki
{{kana-DEFAULTSORT|かんよう}}
=={{L|ja}}==
{{ja-kanjitab|かん|よう|yomi=o}}
==={{pron}}===
{{ja-pron|かんよう|acc=0}}
{{ja-accent-common|region=京阪|h||かんよー}}
==={{noun}}===
{{ja-noun-suru|[[かんよう]]}}
#[[ひろい|広く]][[一般]]に[[もちいる|用い]]られること。
===={{rel}}====
*[[慣用句]]
==={{verb}}===
{{日本語サ変活用}}
=={{L|zh}}==
{{zh-cat|guan4yong4|動詞}}
{{yue-cat|gwaan3yung6|動詞}}
{{nan-cat|koan3eng7|動詞}}
==={{pron}}===
{{cmn-pron|guànyòng}}
{{yue-pron|gwaan3 jung6}}
{{nan-pron|tw:koàn-ēng/tw:koàn-iōng}}
==={{verb}}===
{{zhchars|s=惯用}}
#[[常用]]する。
===={{rel}}====
*[[慣用語]]
=={{L|ko}}==
==={{noun}}===
{{ko-head|noun|관용}}
#(日本語に同じ)慣用。
sp7ltw4m7tre0ab48u1y0e8t7suzzw6
勧説
0
115636
2281077
2206713
2026-06-09T01:20:14Z
うーむ
129171
/* 名詞 */
2281077
wikitext
text/x-wiki
{{kana-DEFAULTSORT|かんせつ}}
{{also|劝说|勸說}}
=={{L|ja}}==
==={{pron}}===
{{ja-pron|かんせつ|acc=0}}
{{ja-pron|かんぜい|acc=0}}
==={{noun}}===
{{ja-noun-suru|[[かんせつ]]|[[かんぜい]]}}
#[[とく|説い]]て[[すすめる|勧める]]こと
==={{verb}}===
{{日本語サ変活用}}
qmollig61frpqn47acat4xsy513ku6j
2281078
2281077
2026-06-09T01:20:33Z
うーむ
129171
/* 名詞 */
2281078
wikitext
text/x-wiki
{{kana-DEFAULTSORT|かんせつ}}
{{also|劝说|勸說}}
=={{L|ja}}==
==={{pron}}===
{{ja-pron|かんせつ|acc=0}}
{{ja-pron|かんぜい|acc=0}}
==={{noun}}===
{{ja-noun-suru|[[かんせつ]]|[[かんぜい]]}}
#[[とく|説い]]て[[すすめる|勧める]]こと。
==={{verb}}===
{{日本語サ変活用}}
sxohq62j4rh6o8qh0vrgqy2uo155o44
nacer
0
115806
2281315
1869133
2026-06-09T11:33:25Z
Kuroco2k
84207
2281315
wikitext
text/x-wiki
{{also|ñacer|naçer}}
=={{L|ast}}==
==={{alter}}===
* [[ñacer]]
==={{etym}}===
{{etyl|VL.|ast}} {{m|la|*nascere}} < {{etyl|la|ast}} {{m|la|nāscī}}
==={{verb}}===
{{ast-verb}}
#{{おくりがな2|生|う|まれる|うまれる}}。
===={{seealso}}====
* {{l|ast|parir}}
----
=={{L|gl}}==
==={{alter}}===
*{{l|gl|nascer}}
==={{etym}}===
{{etyl|roa-opt|gl}} {{m|roa-opt|nacer}}, {{m|roa-opt|nascer}} < {{etyl|VL.|gl}} {{m|la|*nascere}} < {{etyl|la|gl}} {{m|la|nāscī}}
==={{pron}}===
* {{IPA|lang=gl|[naˈθeɾ]|[naˈseɾ]}}
==={{verb}}===
{{head|gl|verb}}
#{{おくりがな2|生|う|まれる|うまれる}}。
#nacerの接続法未来第一・三人称単数形。
#nacerの人称不定詞第一・三人称単数形。
{{gl-conj-cer|na}}
===={{seealso}}====
* {{l|gl|parir}}
----
=={{L|roa-opt}}==
==={{alter}}===
* {{l|roa-opt|naçer}}, {{l|roa-opt|nascer}}
==={{etym}}===
{{etyl|VL.|roa-opt}} {{m|la|*nascere}} < {{etyl|la|roa-opt}} {{m|la|nāscī}} < {{etyl|ine-pro|roa-opt}} {{m|ine-pro|*ǵenh₁-}}
==={{pron}}===
* {{IPA|lang=roa-opt|naˈt͡seɾ}}
==={{verb}}===
{{head|roa-opt|verb}}
#{{おくりがな2|生|う|まれる|うまれる}}。
===={{rel}}====
* {{l|roa-opt|irmão}}
* {{l|roa-opt|nacença}}
* {{l|roa-opt|nada}}
* {{l|roa-opt|nado}}
* {{l|roa-opt|Natal}}
* {{l|roa-opt|natura}}
* {{l|roa-opt|natural}}
* {{l|roa-opt|natureza}}
===={{desc}}====
* {{desc|gl|nacer}}
* {{desc|pt|nascer}}
----
=={{L|es}}==
==={{etym}}===
{{etyl|osp|es}} < {{etyl|VL.|es}} {{m|la|*nascĕre}} < {{etyl|la|es}} {{m|la|nāscī}} < {{etyl|ine-pro|es}} {{m|ine-pro|*ǵenh₁-}}
==={{pron}}===
* {{IPA|lang=es|na.ˈθeɾ}} (''スペイン'')
* {{IPA|na.ˈseɾ}} (''ラテンアメリカ'')
==={{verb}}===
{{es-verb|nac|er|pres=nazco|part=nacido}}
#{{おくりがな2|生|う|まれる|うまれる}}
===={{conjug}}====
{{es-conj}}
===={{drv}}====
* {{l|es|nacer con estrella}}
* {{l|es|nacedero}}
* {{l|es|no nací ayer}}
===={{rel}}====
{{top}}
* {{l|es|naciente}}
* {{l|es|nacimiento}}
* {{l|es|nación}}
* {{l|es|natal}}
* {{l|es|nativo}}
* {{l|es|natural}}
* {{l|es|naturaleza}}
* {{l|es|renacimiento}}
* {{l|es|natura}}
* {{l|es|nato}}
* {{l|es|nonato}}
* {{l|es|navidad}}
* {{l|es|natalidad}}
* {{l|es|natalicio}}
* {{l|es|neonatal}}
* {{l|es|neonatología}}
* {{l|es|neonato}}
* {{l|es|prenatal}}
* {{l|es|innato}}
* {{l|es|antenatal}}
* {{l|es|postnatal}}
* {{l|es|naíf}}
* {{l|es|mortinato}}
* {{l|es|cognado}}
* {{l|es|preternatural}}
{{bottom}}
===={{desc}}====
* {{desc|cbk|nace}}
===={{seealso}}====
* {{l|es|dar a luz}}
* {{l|es|parir}}
==={{anag}}===
* {{anagrams|es|cenar|crean}}
fjgn7yjd8ggjxlylsqvs67xqt8v1ena
現代
0
120428
2281151
2170463
2026-06-09T06:30:22Z
Jiba1219
100610
2281151
wikitext
text/x-wiki
{{kana-DEFAULTSORT|げんだい}}
=={{L|ja}}==
{{wikipedia}}
{{ja-kanjitab|げん|だい|yomi=o}}
==={{pron}}===
{{ja-pron|げんだい|acc=1|acc_ref=NHK,DJR}}
{{ja-accent-common|region=京阪|a|げ|んだい}}
==={{noun}}・{{adverb}}===
{{ja-noun|[[げんだい]]}}
[[category:{{ja}}_{{adverb}}]]
#[[時間]]に関する[[認識]]で、[[現在]]を含む[[時代]]。
#{{タグ|ja|歴史}}[[歴史]]の時代[[区分]]で、現在を含む時代。
===={{syn}}====
*{{ふりがな|今日|こんにち|yomilink=n}}
===={{drv}}====
*[[現代的]]
*[[現代っ子]]
===={{rel}}====
語義2
*[[古代]]、[[中世]]、[[近世]]、[[近代]]
===={{trans}}====
*{{T|en}}: [[present]] [[day]], [[present-day]], [[modern]] [[time]]s, [[today]]
===脚注===
{{Reflist}}
=={{L|zh}}==
==={{pron}}===
{{cmn-pron|xiàndài|a=zh-xiàndài.ogg|dg=щян3дэ3}}
{{yue-pron|jin6 doi6|t=yen5 oi5}}
{{nan-pron|hiān-tāi|t=hing7 do7/hêng7 do7}}
{{hak-pron|hien-thoi|h=hien˖ toi˖}}
{{wuu-pron|sh:6yi de}}
==={{noun}}===
{{zhchars|s=现代}}
#(日本語に同じ)[[現在]]を含む[[時代]]。
==={{adjective}}===
{{zhchars|s=现代}}
# 現代の、[[現代的]]な。
{{zh-cat|xian4dai4|noun|adjective|歴史}}
{{dng-cat|щяндэ|noun|adjective|歴史}}
{{yue-cat|yin6doi6|noun|adjective|歴史}}
{{nan-cat|hian7tai7|noun|adjective|歴史}}
{{nan-tws-cat|hing7do7|noun|adjective|歴史}}
{{hak-cat|hien4thoi4|noun|adjective|歴史}}
{{wuu-cat|yi3de3|noun|adjective|歴史}}
=={{L|ko}}==
==={{noun}}===
{{ko-head|noun|현대|cat2=歴史}}
#(日本語に同じ)現代。
=={{L|vi}}==
==={{adjective}}===
{{vi-head|adjective|hiện|đại}}
#現代の。
4ymuxjmpv5vdi489ova6i99c6sp2m2g
用例
0
120545
2280939
2278166
2026-06-08T14:00:02Z
M-30722
1202
2280939
wikitext
text/x-wiki
{{kana-DEFAULTSORT|ようれい}}
{{WiktionaryPage|ウィクショナリーにおける用例の提示については、[[Wiktionary:用例]]をご覧ください。}}
=={{L|ja}}==
{{ja-kanjitab|よう|れい|yomi=o}}
==={{pron}}===
{{ja-pron|ようれい|acc=0}}
{{ja-accent-common|region=京阪|h||よーれー}}
==={{noun}}===
{{ja-noun|[[ようれい]]}}
# [[もちいる|用いら]]れた例、用いる例。特に[[語句]]や[[言語]][[表現]]についていう。
#* [[必要]]に[[応じる|応じ]]てその[[語]]の[[出所]]、又は'''用例'''などの[[証拠]]を[[あげる|挙げる]]事は[[著者]]の[[責任]]を重くするための事で(…) ([[w:山田美妙|山田美妙]]『日本大辞書』)〔1892年〕
#* [[乗法]][[公式]]'''用例''' (後藤嘉之、美島近一郎『代数学表解』)〔1905年〕
#* 「[[ただ|直]]に」は、[[うつしみ|現身]]と現身と[[直接]]に会うことで、それゆえ[[万葉]]に'''用例'''が[[なかなか]]多い。 ([[w:斎藤茂吉|斎藤茂吉]]『万葉秀歌』)〔1938年〕
#* [[w:近松門左衛門|近松]]の[[語彙]]にあっては、「[[きづかひ|気遣]]」は、その数に[[おいて|於て]]、'''用例'''二七一と云う[[あまりにも|余りにも]][[文献]]的に[[爆発的]]となって来るのである。 ([[w:中井正一|中井正一]]『言語は生きている』)〔1950年〕
#* (…)[[基本]][[法]]の中で「[[可能]]な[[かぎり|限り]]」という[[ことば|言葉]]を使っている'''用例'''で[[ございます]]けれども、[[たった]]三つしかございません。 ([[w:小西洋之|小西洋之]]、 第180回国会 予算委員会 第8号)〔2012年〕
===={{rel}}====
* [[例文]]
* [[例句]]
* [[文例]]
* [[作例]]
* [[引用]]
===={{trans}}====
*{{T|en}}: {{t|en|quotation}}
*{{T|zh}}: {{t|zh|例句}}
hdrdbkinpe7h87xigb1k11tapjliqjh
腫瘤
0
120587
2280947
1480549
2026-06-08T14:07:38Z
M-30722
1202
2280947
wikitext
text/x-wiki
{{kana-DEFAULTSORT|しゅりゅう}}
=={{L|ja}}==
{{ja-kanjitab|しゅ|りゅう|yomi=o}}
==={{pron}}===
{{ja-pron|しゅりゅう|acc=0}}
{{ja-accent-common|region=京阪|h|しゅりゅ|ー}}
==={{noun}}===
{{ja-noun|[[しゅりゅう]]}}
#{{タグ|ja|腫瘍学}}動物の[[からだ|体]]の[[内部]]や[[表面]]にできる[[病変]]性の[[組織]]の盛り上がり。
#* [[図中]][[ひだりて|左り手]]に見える'''腫瘤'''は「[[ポリープ]]」状の癌[[腫瘍]]、この'''腫瘤'''の上半部に[[一寸]]隠れて暗く見える[[個所]]は[[幽門]]輪である。(桐原真一『胃鏡診断法』170ページ)〔1943年〕
#* 例えば、[[乳腺]]の中に[[超音波]]画像で[[どうも]]'''腫瘤'''のようなものがあった場合、これが[[がん]]であるかないかと[[診断]]するときには、[[おさえる|押さえ]]てどれぐらい[[かたち|形]]が変わるかというのをやるんです。([[w:足立信也|足立信也]]、参議院会議録情報 第162回国会 厚生労働委員会 第16号)〔2005年〕
===={{rel}}====
* [[腫瘍]]
* [[肉腫]]
* [[癌]]
===={{trans}}====
* {{t|en|tumour}}
=={{L|zh}}==
{{wikipedia|lang=zh}}
{{zh-cat|zhong3liu2|名詞|腫瘍学}}
==={{pron}}===
{{cmn-pron|zhǒngliú}}
==={{noun}}===
{{zhchars|s=肿瘤}}
#[[腫瘍]]。
ghu68m5hkoaufk0960zxy8s4hc9zrpz
2280948
2280947
2026-06-08T14:08:13Z
M-30722
1202
2280948
wikitext
text/x-wiki
{{kana-DEFAULTSORT|しゅりゅう}}
=={{L|ja}}==
{{ja-kanjitab|しゅ|りゅう|yomi=o}}
==={{pron}}===
{{ja-pron|しゅりゅう|acc=0}}
{{ja-accent-common|region=京阪|h|しゅりゅ|ー}}
==={{noun}}===
{{ja-noun|[[しゅりゅう]]}}
#{{タグ|ja|腫瘍学}}動物の[[からだ|体]]の[[内部]]や[[表面]]にできる[[病変]]性の[[組織]]の盛り上がり。
#* [[図中]][[ひだりて|左り手]]に見える'''腫瘤'''は「[[ポリープ]]」状の癌[[腫瘍]]、この'''腫瘤'''の上半部に[[一寸]]隠れて暗く見える[[個所]]は[[幽門]]輪である。(桐原真一『胃鏡診断法』170ページ)〔1943年〕
#* 例えば、[[乳腺]]の中に[[超音波]]画像で[[どうも]]'''腫瘤'''のようなものがあった場合、これが[[がん]]であるかないかと[[診断]]するときには、[[おさえる|押さえ]]てどれぐらい[[かたち|形]]が変わるかというのをやるんです。([[w:足立信也|足立信也]]、参議院会議録情報 第162回国会 厚生労働委員会 第16号)〔2005年〕
===={{rel}}====
* [[腫瘍]]
* [[肉腫]]
* [[癌]]
===={{trans}}====
{{trans-see|腫瘍}}
=={{L|zh}}==
{{wikipedia|lang=zh}}
{{zh-cat|zhong3liu2|名詞|腫瘍学}}
==={{pron}}===
{{cmn-pron|zhǒngliú}}
==={{noun}}===
{{zhchars|s=肿瘤}}
#[[腫瘍]]。
5a3vdceg78cfx86ym6vzee7tpvw8t7j
competir
0
121501
2281267
1697309
2026-06-09T11:12:44Z
Kuroco2k
84207
2281267
wikitext
text/x-wiki
=={{ast}}==
==={{etym}}===
{{bor|ast|la|competere}}
==={{verb}}===
{{head|ast|verb}}
#[[競争]]する。
===={{rel}}====
* {{l|ast|competición}}
* {{l|ast|competente}}
* {{l|ast|pedir}}
----
=={{L|ca}}==
==={{etym}}===
{{bor|ca|la|competere}}
==={{pron}}===
* {{ca-IPA}}
* {{音声|ca|LL-Q7026 (cat)-Unjoanqualsevol-competir.wav|音声}}
* {{rhymes|i(ɾ)|s=3}}
==={{verb}}===
{{ca-verb|ir|compet}}
#[[競争]]する。
{{ca-conj-ir|compet}}
===={{rel}}====
* {{l|ca|competició}}
* {{l|ca|competitiu}}
----
=={{L|gl}}==
==={{etym}}===
{{bor|gl|la|competere}}
==={{verb}}===
{{gl-verb|compet|ir|pres=compito}}
#[[競争]]する。
{{gl-conj (pedir)|compet|compit}}
===={{syn}}====
* {{l|gl|rivalizar}}
===={{rel}}====
* {{l|gl|competencia}}
* {{l|gl|competente}}
* {{l|gl|competición}}
* {{l|gl|competidor}}
* {{l|gl|competitivo}}
* {{l|gl|pedir}}
----
=={{L|es}}==
==={{etym}}===
{{bor|es|la|competere}}
==={{pron}}===
{{es-IPA}}
==={{verb}}===
{{es-verb|compet|ir|pres=compito}}
#[[競争]]する。
===={{conjug}}====
{{es-conj|<i>}}
===={{rel}}====
* {{l|es|competición}}
* {{l|es|competencia}}
* {{l|es|competente}}
* {{l|es|competitivo}}
* {{l|es|pedir}}
----
=={{L|pt}}==
==={{etym}}===
{{bor|pt|la|competere}}.
==={{pron}}===
* {{a|Brazil}} {{IPA|lang=pt|kõ.pe.ˈtʃi(ʁ)}}
* {{a|South Brazil}} {{IPA|ˌkõ.pe.ˈt͡ʃi(ɻ)}}
* {{a|PT}} {{IPA|kõ.pɨ.ˈtiɾ}}
==={{verb}}===
{{pt-verb|comp|etir}}
#[[競争]]する。
{{pt-conj|comp|etir}}
===={{syn}}====
* {{l|pt|rivalizar}}
===={{rel}}====
* {{l|pt|competência}}
* {{l|pt|competente}}
* {{l|pt|competição}}
* {{l|pt|competidor}}
* {{l|pt|pedir}}
iq9fxxhew5frnwxxnt905i3b46flcm8
educar
0
121797
2281295
2239538
2026-06-09T11:23:40Z
Kuroco2k
84207
2281295
wikitext
text/x-wiki
=={{ca}}==
[[Category:{{ca}}]]
==={{etym}}===
{{etyl|lat|cat}} ''[[educare|educāre]]''
==={{verb}}===
{{head|cat|verb}}
#[[教育]]する
{{ca-conj-ar|educ}}
===={{drv}}====
* [[educat]]
----
=={{gl}}==
[[Category:{{gl}}]]
==={{etym}}===
{{etyl|la|gl}} ''[[educare|educāre]]''
==={{verb}}===
{{head|gl|verb}}
#[[教育]]する
#educarの接続法未来第一・三人称単数形
#educarの人称不定詞第一・三人称単数形
{{gl-conj-car|educ|eduqu}}
----
=={{ie}}==
==={{verb}}===
{{head|ie|verb}}
#[[教育]]する
----
=={{la}}==
==={{verb}}===
{{la-verb-form|ēdūcar}}
#[[educere|ēdūcere]]の直説法受動態未来第一人称単数形
#ēdūcereの接続法受動態現在第一人称単数形
----
=={{pt}}==
[[Category:{{pt}}]]
==={{etym}}===
{{etyl|lat|por}} ''[[educare|educāre]]''
==={{pron|por}}===
* {{a|PT}} {{IPA|i.ðu.ˈkaɾ}}
* {{hyphenation|e|du|car}}
==={{verb}}===
{{head|por|verb}}
#[[教育]]する
----
=={{es}}==
[[Category:{{es}}]]
==={{etym}}===
{{etyl|lat|spa}} ''[[educare|educāre]]''
==={{verb}}===
{{es-verb|educ|ar|pret=eduqué}}
#[[教育]]する
===={{conjug}}====
{{es-conj}}
c81ld061fcyyogoetdshmifiprk16st
soltar
0
122323
2281347
2239624
2026-06-09T11:43:24Z
Kuroco2k
84207
2281347
wikitext
text/x-wiki
=={{pt}}==
==={{etym}}===
''[[solto]]'' + ''[[-ar]]''
==={{pron|por}}===
* {{a|PT}} {{IPA|soɫˈtaɾ}}
* {{hyphenation|sol|tar}}
==={{verb}}===
{{head|por|verb}}
#[[解放]]する
#{{おくりがな2|解|ほど|く|ほどく}}
{{pt-conj|solt|ar}}
----
=={{es}}==
[[Category:{{es}}]]
==={{etym}}===
''[[suelto]]''
==={{verb}}===
{{es-verb|solt|ar|pres=suelto}}
#[[解放]]する
#{{おくりがな2|解|ほど|く|ほどく}}
===={{conjug}}====
{{es-conj|<ue>}}
===={{rel}}====
* [[soltero]]
* [[soltura]]
* [[soltadizo]]
* soltar un [[pedo]]
* [[suelto]]
bahhlpx9ma8vl7q8wp4u7i6mzcfdbc8
テンプレート:es-conj
10
122325
2281199
2220043
2026-06-09T10:40:07Z
Kuroco2k
84207
暫くエラーが出まくると思うが、なるべく早くの修正を心がける
2281199
wikitext
text/x-wiki
<includeonly>{{#invoke:es-verb|show}}</includeonly><!--
--><noinclude>{{es-conj|brutalizar}}{{documentation}}</noinclude>
lbo429bqrdd0cbaj5e6m39v18m25r0c
fluir
0
122446
2281308
1958584
2026-06-09T11:30:31Z
Kuroco2k
84207
2281308
wikitext
text/x-wiki
=={{L|io}}==
==={{verb}}===
{{head|io|verb form}}
#[[fluar]]の不定過去形。
----
=={{L|sco}}==
==={{pron}}===
*{{IPA|lang=sco|flør}}
==={{noun}}===
{{sco-noun}}
#{{alternative form of|sco|flair}}
----
=={{L|es}}==
==={{etym}}===
{{etyl|la|es}} ''[[fluere]]''
==={{verb}}===
{{es-verb|flu|ir|pres=fluyo}}
#{{おくりがな2|流|なが|れる|ながれる}}。
===={{conjug}}====
{{es-conj}}
===={{rel}}====
* [[fluencia]]
* [[fluido]]
* [[flujo]]
----
=={{L|pt}}==
==={{verb}}===
{{head|pt|verb}}
#{{おくりがな2|流|なが|れる|ながれる}}。
#{{おくりがな2|注|そそ|ぐ|そそぐ}}。
{{pt-conj|fl|uir}}
lqeffrytk57usct1j2vh4manc2ix4by
preferir
0
122638
2281369
2239731
2026-06-09T11:51:10Z
Kuroco2k
84207
2281369
wikitext
text/x-wiki
=={{ca}}==
==={{verb}}===
{{head|cat|verb}}
#~の方を{{おくりがな2|好|この|む|このむ}}
{{ca-conj-ir|prefer}}
----
=={{pt}}==
==={{verb}}===
{{head|por|verb}}
#~の方を{{おくりがな2|好|この|む|このむ}}
{{pt-conj|pref|erir}}
===={{rel}}====
* [[preferência]]
* [[preferível]]
----
=={{es}}==
[[Category:{{es}}]]
==={{verb}}===
{{es-verb|prefer|ir|pres=prefiero}}
#~の方を{{おくりがな2|好|この|む|このむ}}
===={{conjug}}====
{{es-conj|<ie-i>}}
===={{rel}}====
* [[preferencia]]
* [[preferible]]
* [[preferente]]
0pvglwd0ue8v6i05qg04rzl44ceq150
pensar
0
122877
2281372
2239827
2026-06-09T11:51:11Z
Kuroco2k
84207
2281372
wikitext
text/x-wiki
=={{ast}}==
[[Category:{{ast}}]]
==={{etym}}===
{{etyl|lat|ast}} ''[[pensare|pēnsāre]]''
==={{verb}}===
{{head|ast|verb}}
#{{おくりがな2|考|かんが|える|かんがえる}}、{{おくりがな2|思|おも|う|おもう}}
{{ast-conj-ar|pens}}
===={{drv}}====
* [[pensamientu]]
=={{ca}}==
[[Category:{{ca}}]]
==={{etym}}===
{{etyl|lat|cat}} ''[[pensare|pēnsāre]]''
==={{pron}}===
* {{a|Standard}} {{IPA|pən'sa}}, {{X-SAMPA|p@n"sa}}
* {{a|Valencian}} {{IPA|pen'saɾ}}, {{X-SAMPA|pen"sa4}}
* {{rhymes|a(ɾ)|lang=ca}}
==={{verb}}===
{{head|cat|verb}}
#{{おくりがな2|考|かんが|える|かんがえる}}、{{おくりがな2|思|おも|う|おもう}}
#{{おくりがな3|思|おも|い|出|だ|す|おもいだす}}
{{ca-conj-ar|pens}}
=={{gl}}==
[[Category:{{gl}}]]
==={{etym}}===
{{etyl|lat|glg}} ''[[pensare|pēnsāre]]''
==={{verb}}===
{{head|glg|verb}}
#{{おくりがな2|考|かんが|える|かんがえる}}、{{おくりがな2|思|おも|う|おもう}}
{{gl-conj-ar|pens}}
===={{drv}}====
* [[pensamento]]
=={{io}}==
==={{verb}}===
{{io-verb|pens}}
#{{おくりがな2|考|かんが|える|かんがえる}}、{{おくりがな2|思|おも|う|おもう}}
=={{ia}}==
==={{verb}}===
{{ia-verb|ar}}
#{{おくりがな2|考|かんが|える|かんがえる}}、{{おくりがな2|思|おも|う|おもう}}
{{ia-conj|pens|ar}}
=={{mwl}}==
[[Category:{{mwl}}]]
==={{etym}}===
{{etyl|lat|mwl}} ''[[pensare|pēnsāre]]''
==={{verb}}===
{{head|mwl|verb}}
#{{おくりがな2|考|かんが|える|かんがえる}}、{{おくりがな2|思|おも|う|おもう}}
===={{rel}}====
* [[pensamiento]]
=={{pt}}==
[[Category:{{pt}}]]
==={{etym}}===
{{etyl|roa-ptg|por}} ''pensar'' < {{etyl|lat|por}} ''[[pensare|pēnsāre]]''
==={{pron}}===
* {{a|PT}} {{IPA|pẽˈsaɾ}}
==={{verb}}===
{{head|por|verb}}
#{{おくりがな2|考|かんが|える|かんがえる}}、{{おくりがな2|思|おも|う|おもう}}
{{pt-conj|pens|ar}}
===={{rel}}====
* [[pensamento]]
=={{es}}==
[[Category:{{es}}]]
==={{etym}}===
{{etyl|lat|spa}} ''[[pensare|pēnsāre]]''
==={{verb}}===
{{es-verb|pens|ar|pres=pienso}}
#{{おくりがな2|考|かんが|える|かんがえる}}、{{おくりがな2|思|おも|う|おもう}}
===={{conjug}}====
{{es-conj|<ie>}}
===={{rel}}====
* [[pensamiento]]
* [[pensativo]]
=={{vec}}==
[[Category:{{vec}}]]
==={{etym}}===
{{etyl|lat|vec}} ''[[pensare|pēnsāre]]''
==={{verb}}===
{{head|vec|verb}}
#{{おくりがな2|考|かんが|える|かんがえる}}、{{おくりがな2|思|おも|う|おもう}}
{{vec-conj-ar|pens|éser}}
jd3pc68c8nf7bv2aj80ybcfjrq27s8x
urgir
0
123727
2281312
2240026
2026-06-09T11:31:56Z
Kuroco2k
84207
2281312
wikitext
text/x-wiki
=={{ca}}==
==={{verb}}===
{{head|cat|verb}}
#[[緊急]]である
{{ca-conj-ir|urg}}
----
=={{pt}}==
[[Category:{{pt}}]]
==={{etym}}===
{{etyl|lat|por}} ''[[urgere|urgēre]]''
==={{verb}}===
{{head|por|verb}}
#[[緊急]]である
#{{おくりがな2|急|いそ|いで|いそぐ}}[[行動]]する
{{pt-conj|ur|gir}}
===={{rel}}====
* [[urgência]]
* [[urgente]]
----
=={{es}}==
[[Category:{{es}}]]
==={{etym}}===
{{etyl|lat|spa}} ''[[urgere|urgēre]]''
==={{verb}}===
{{es-verb|urg|ir|pres=urjo}}
#[[緊急]]である
===={{conjug}}====
{{es-conj}}
===={{rel}}====
* [[urgencia]]
* [[urgente]]
r6kgquvkubg99upfflt9vsx4gz5cvn4
gemir
0
124116
2281253
1521952
2026-06-09T11:06:59Z
Kuroco2k
84207
2281253
wikitext
text/x-wiki
=={{es}}==
[[Category:{{es}}]]
==={{etym}}===
{{etyl|lat|spa}} ''[[gemere]]''
==={{verb}}===
{{es-verb|gem|ir|pres=gimo}}
#{{おくりがな2|呻|うめ|く|うめく}}
===={{conjug}}====
{{es-conj|<i>|nocomb=1}}
===={{rel}}====
* [[gemido]]
12df142mxk5bxshrobkmudhfyucu9ic
軍府
0
124396
2280912
2277296
2026-06-08T13:33:46Z
M-30722
1202
2280912
wikitext
text/x-wiki
{{kana-DEFAULTSORT|ぐんぷ}}
=={{L|ja}}==
{{ja-kanjitab|ぐん|ふ|k2=ぷ|yomi=o}}
==={{pron}}===
{{ja-pron|ぐんぷ|acc=1}}
{{ja-accent-common|region=京阪|a|ぐ|んぷ}}
==={{noun}}===
{{ja-noun|[[ぐんぷ]]}}
#{{タグ|ja|軍事}}[[武器]]を[[いれる|入れる]][[倉庫]]。[[武器庫]]。
#{{タグ|ja|軍事}}[[将軍]]の[[執務]]する[[場所]]。
===={{trans}}====
{{trans-see|語義1|武器庫}}
9ezf02fny8bpmm3zmkayxaglu1i554z
valer
0
125165
2281387
1679276
2026-06-09T11:55:52Z
Kuroco2k
84207
2281387
wikitext
text/x-wiki
=={{L|ca}}==
==={{alter}}===
* [[valdre]]
==={{etym}}===
{{etyl|la|ca}} {{m|la|valēre}}
==={{verb}}===
{{ca-verb|er|val}}
#~の[[価値]]がある
#[[役にたつ]]、[[有用]]な。
{{ca-conj-dre2|val|infinitive=valer}}
----
=={{L|gl}}==
==={{etym}}===
{{etyl|la|gl}} {{m|la|valēre}}
==={{verb}}===
{{head|gl|verb}}
#[[役にたつ]]、[[有用]]な。
{{gl-conj (valer)|v}}
[[Category:{{gl}}_{{verb}}_不規則変化]]
----
=={{L|es}}==
==={{etym}}===
{{etyl|la|es}} {{m|la|valēre}}
==={{verb}}===
{{es-verb|val|er|pres=valgo}}
#~の[[価値]]がある。
===={{conjug}}====
{{es-conj}}
===={{rel}}====
* [[vale]]
* [[valor]]
* [[valiente]]
* [[valentía]]
----
=={{L|nrf}}==
==={{etym}}===
{{etyl|la|nrf}} {{m|la|valēre}}
==={{verb}}===
{{head|nrf|verb}}
#{{label|nrf|Jersey}} ~の[[価値]]がある。
----
=={{L|pt}}==
==={{etym}}===
{{etyl|roa-ptg|pt}} ''valer'' < {{etyl|la|pt}} {{m|la|valēre}} < {{etyl|ine-pro|pt}} {{m|ine-pro|*wal}}
==={{pron}}===
* {{a|PT}} {{IPA|lang=pt|vɐˈleɾ}}
* {{hyphenation|va|ler}}
==={{verb}}===
{{pt-verb||valer}}
#~の[[価値]]がある。
{{pt-conj||valer}}
[[Category:{{pt}}_{{verb}}_不規則変化]]
i6oe0p78zn220od5tla49h5l9zuq1hy
カテゴリ:エストニア語 植物
14
125443
2281149
986643
2026-06-09T06:26:47Z
鍼灸
112313
2281149
wikitext
text/x-wiki
<div class="pathnavbox">
*{{Pathnav|カテゴリ|言語|{{et}}|{{et}}_科学|disp4=科学|{{et}}_自然科学|disp5=自然科学|{{et}}_生物学|disp6=生物学|{{et}}_植物学|disp7=植物学|last=植物}}
*{{Pathnav|カテゴリ|分野|科学|自然科学|生物学|植物学|植物|last={{et}}}}
</div>
[[Category:エストニア語_植物学|*しよくふつ]]
[[Category:エストニア語 生物|*しよくふつ]]
[[Category:植物|えすとにあこ]]
5zkz1o6mfn4twclzruxm36n3m9cs47x
amplificar
0
125902
2281240
1558858
2026-06-09T11:03:37Z
Kuroco2k
84207
2281240
wikitext
text/x-wiki
=={{es}}==
[[Category:{{es}}]]
==={{verb}}===
{{es-verb|amplific|ar|pret=amplifiqué}}
#[[拡大]]する、[[増大]]させる
===={{conjug}}====
{{es-conj}}
===={{rel}}====
* [[amplio]]
* [[ampliar]]
98duvrjctvygbwwf4nmg0cqekwore67
ampliar
0
125905
2281243
2240296
2026-06-09T11:03:37Z
Kuroco2k
84207
2281243
wikitext
text/x-wiki
=={{ca}}==
[[Category:{{ca}}]]
==={{etym}}===
{{etyl|lat|cat}} ''[[ampliare|ampliāre]]''
==={{verb}}===
{{head|cat|verb}}
#[[拡張]]する
{{ca-conj-ar|ampli}}
----
=={{oc}}==
[[Category:{{oc}}]]
==={{etym}}===
{{etyl|lat|oci}} ''[[ampliare|ampliāre]]''
==={{verb}}===
{{head|oci|verb}}
#[[拡張]]する
----
=={{pt}}==
==={{verb}}===
{{head|por|verb}}
#[[拡張]]する
{{pt-conj|ampli|ar}}
----
=={{es}}==
[[Category:{{es}}]]
==={{etym}}===
{{etyl|lat|spa}} ''[[ampliare|ampliāre]]''
==={{verb}}===
{{es-verb|ampli|ar|pres=amplío}}
#[[拡張]]する
===={{conjug}}====
{{es-conj|<í>}}
===={{rel}}====
* [[amplio]]
* [[ampliación]]
* [[amplificar]]
50j9vkdakm94w75u1xsoyxmelmzzfio
fugar
0
126024
2281304
2223496
2026-06-09T11:30:29Z
Kuroco2k
84207
2281304
wikitext
text/x-wiki
{{also|Fugar}}
=={{es}}==
[[Category:{{es}}]]
==={{etym}}===
{{etyl|lat|spa}} ''[[fugare|fugāre]]''
==={{pron|spa}}===
* {{IPA2|fuˈgaɾ|fuˈɣ̞äɾ}}
==={{verb}}===
{{es-verb|fug|ar|pret=fugué}}
#{{おくりがな2|逃|に|げる|にげる}}
===={{conjug}}====
{{es-conj}}
===={{syn}}====
* [[escapar]]
* [[huir]]
===={{rel}}====
* [[fuga]]
* [[fugitivo]]
jhxy5jelypruy2sxliyaq8t0lpuk0lj
fortificar
0
126132
2281306
1522021
2026-06-09T11:30:30Z
Kuroco2k
84207
2281306
wikitext
text/x-wiki
=={{es}}==
[[Category:{{es}}]]
==={{etym}}===
{{etyl|lat|spa}} ''[[fortificare|fortificāre]]''
==={{verb}}===
{{es-verb|fortific|ar|pret=fortifiqué}}
#[[要塞]]を{{おくりがな2|築|きず|く|きずく}}、[[防御]]を{{おくりがな2|固|かた|める|かためる}}
#[[強化]]する
===={{conjug}}====
{{es-conj}}
===={{rel}}====
* [[fortificación]]
* [[fuerza]]
* [[fuerte]]
ah55vdyyzassy1v6j2iaboz3euhj902
ungir
0
127358
2281311
1522077
2026-06-09T11:31:56Z
Kuroco2k
84207
2281311
wikitext
text/x-wiki
=={{es}}==
[[Category:{{es}}]]
==={{etym}}===
{{etyl|lat|spa}} ''[[ungere|ungĕre]]''
==={{verb}}===
{{es-verb|ung|ir|pres=unjo}}
#{{ふりがな|油|あぶら}}を{{おくりがな2|塗|ぬ|って|ぬる}}{{おくりがな2|清|きよ|める|きよめる}}
===={{conjug}}====
{{es-conj}}
===={{rel}}====
* [[untar]]
* [[ungüento]]
sktud693n8l9kd6hrlkjcxjunhi2zp7
dislocar
0
127845
2281274
1558877
2026-06-09T11:20:12Z
Kuroco2k
84207
2281274
wikitext
text/x-wiki
=={{es}}==
[[Category:{{es}}]]
==={{verb}}===
{{es-verb|disloc|ar|pret=disloqué}}
#{{context|他動詞|lang=es}} [[脱臼]]する
===={{conjug}}====
{{es-conj}}
h8upe8uyk85rxg892t8scua3mqiz6kh
permanecer
0
129522
2281370
2241182
2026-06-09T11:51:10Z
Kuroco2k
84207
2281370
wikitext
text/x-wiki
=={{pt}}==
[[Category:{{pt}}]]
==={{etym}}===
{{etyl|roa-ptg|por}} ''[[permanescer]]'' < {{etyl|lat|por}} ''[[permanere|permanēre]]''
==={{pron|por}}===
* {{a|PT}} {{IPA|pɨɾ.mɐ.nɨ.ˈseɾ}}
==={{verb}}===
{{head|por|verb}}
#{{おくりがな2|留|とど|まる|とどまる}}、[[残存]]する
#{{おくりがな2|住|す|む|すむ}}
{{pt-conj|permane|cer}}
----
=={{es}}==
[[Category:{{es}}]]
==={{etym}}===
{{etyl|lat|spa}} ''[[permanere|permanēre]]''
==={{verb}}===
{{es-verb|permanec|er|pres=permanezco}}
#{{おくりがな2|留|とど|まる|とどまる}}
===={{conjug}}====
{{es-conj}}
arnx1uty5zqeld0pi61b9npscuwmgd4
brutalizar
0
129961
2281200
1558996
2026-06-09T10:40:16Z
Kuroco2k
84207
2281200
wikitext
text/x-wiki
=={{es}}==
[[Category:{{es}}]]
==={{verb}}===
{{es-verb|brutaliz|ar|pret=brutalicé}}
#[[残忍]]にする
===={{conjug}}====
{{es-conj|nocomb=1}}
===={{rel}}====
* [[brutal]]
p58diqyzgfgvwu7nst0ke5ir97c6urk
corregir
0
130312
2281258
2241382
2026-06-09T11:12:41Z
Kuroco2k
84207
2281258
wikitext
text/x-wiki
=={{ca}}==
[[Category:{{ca}}]]
==={{etym}}===
{{etyl|lat|cat}} ''[[corrigere]]''
==={{verb}}===
{{head|cat|verb}}
#{{おくりがな2|正|ただ|す|ただす}}
{{ca-conj-ir|correg}}
----
=={{es}}==
[[Category:{{es}}]]
==={{etym}}===
{{etyl|lat|spa}} ''[[corrigere]]''
==={{verb}}===
{{es-verb|correg|ir|pres=corrijo}}
#{{おくりがな2|正|ただ|す|ただす}}
===={{conjug}}====
{{es-conj|<i>}}
===={{syn}}====
* [[enmendar]]
* [[rectificar]]
===={{rel}}====
* [[correcto]]
* [[corrección]]
* [[correctivo]]
* [[corrector]]
* [[corregible]]
* [[corregidor]]
* [[incorregible]]
21n4aizvy75rrl0uf1uso4fdid2vsii
ventar
0
131007
2281382
2241573
2026-06-09T11:55:51Z
Kuroco2k
84207
2281382
wikitext
text/x-wiki
=={{io}}==
==={{verb}}===
{{io-verb|vent}}
#{{ふりがな|風|かぜ}}が{{おくりがな2|吹|ふ|く|ふく}}
----
=={{nn}}==
==={{verb}}===
{{head|nno|verb form}}
#[[venta]], [[vente]]の現在形
----
=={{es}}==
[[Category:{{es}}]]
==={{verb}}===
{{es-verb|vent|ar|pres=viento}}
#{{context|intransitive|lang=es}}{{ふりがな|風|かぜ}}が{{おくりがな2|吹|ふ|く|ふく}}
#{{context|transitive|lang=es}}{{おくりがな2|臭|にお|い|におい}}を{{おくりがな2|嗅|か|ぐ|かぐ}}
===={{conjug}}====
{{es-conj|<ie>}}
b8iutjao2es5ouwtw6wbjl765180j60
continuar
0
131479
2281263
2267522
2026-06-09T11:12:43Z
Kuroco2k
84207
2281263
wikitext
text/x-wiki
=={{L|ca}}==
==={{pron}}===
* {{rhymes|lang=ca|a(ɾ)}}
==={{verb}}===
{{ca-verb|ar|continu}}
#{{おくりがな2|続|つづ|ける|つづける}}、[[継続]]する。
{{ca-conj-ar|continu}}
=={{L|es}}==
==={{pron}}===
* {{IPA|lang=es|kon.ti.ˈnwaɾ}}
==={{etym}}===
{{etyl|la|es}} {{m|la|continuāre}}
==={{verb}}===
{{es-verb|continu|ar|pres=continúo}}
#{{おくりがな2|続|つづ|ける|つづける}}、[[継続]]する。
===={{conjug}}====
{{es-conj|<ú>}}
===={{rel}}====
* [[continuación]]
* [[continuador]]
* [[continuativo]]
* [[continuidad]]
* [[continuo]]
=={{L|pt}}==
==={{etym}}===
{{etyl|la|pt}} {{m|la|continuāre}}
==={{pron}}===
* {{a|EP}} {{IPA|lang=pt|[kõ.ti.ˈnwaɾ]}}
* {{a|Brazil, Northeast}} {{IPA|lang=pt|[kõn.tʃi.ˈnwax]|[kõn.tʃi.ˈnwah]}}
* {{a|Brazil, South}} {{IPA|lang=pt|[kõn.ti.ˈnwaɾ]|[kõn.tʃi.ˈnwa]}}
* {{a|Brazil, Caipira}} {{IPA|lang=pt|[kõn.tʃi.ˈnwaɻ]}}
==={{verb}}===
{{head|pt|verb}}
#{{おくりがな2|続|つづ|ける|つづける}}、[[継続]]する。
{{pt-conj|continu|ar}}
b8q6v4dbnt2i695zi8svbkjy7rdcdl8
fotografiar
0
131607
2281305
2241963
2026-06-09T11:30:30Z
Kuroco2k
84207
2281305
wikitext
text/x-wiki
=={{ca}}==
==={{verb}}===
{{head|cat|verb}}
#[[写真]]を{{おくりがな2|撮|と|る|とる}}
{{ca-conj-ar|fotografi}}
----
=={{es}}==
[[Category:{{es}}]]
==={{verb}}===
{{es-verb|fotografi|ar|pres=fotografío}}
#[[写真]]を{{おくりがな2|撮|と|る|とる}}
===={{conjug}}====
{{es-conj|<í>}}
===={{syn}}====
* [[sacar]]
===={{rel}}====
* [[foto]], [[fotografía]]
* [[fotógrafo]]
f4fo5g3t3xrefl0513ogfbjvdmojjpm
てん
0
132828
2281231
1790817
2026-06-09T10:55:44Z
うーむ
129171
/* 日本語 */
2281231
wikitext
text/x-wiki
{{DEFAULTSORT:てん}}
{{wikipedia|テン属}}
=={{ja}}==
[[Category:{{ja}}]]
==={{noun}}===
[[Category:{{ja}}_{{noun}}]]
[[Category:{{ja}}_イタチ科]]
'''てん'''【[[黄鼬]]、[[貂]]、[[雷獣]]】
#ネコ目イタチ科テン属に属する[[食肉類]]の総称。学名:[[Martes]]
#1.に属する食肉類の一種。[[テン]]を参照。
===={{trans}}====
*{{de}}: [[Marder]]
*{{en}}: [[marten]]
*{{ko}}: [[담비]]
*{{lb}}: [[Marder]]
=== 同音の漢字 ===
*'''[[Wiktionary:漢字索引 音訓 て#テン]]'''参照。
jpoqa3jeejrv8d9awyejgnpbucescfy
fertilizar
0
133691
2281307
2242432
2026-06-09T11:30:30Z
Kuroco2k
84207
2281307
wikitext
text/x-wiki
=={{pt}}==
==={{verb}}===
{{head|por|verb}}
#(土地などを)[[肥沃]]にする
{{pt-conj|fertiliz|ar}}
===={{rel}}====
* [[fértil]]
* [[fertilização]]
----
=={{es}}==
[[Category:{{es}}]]
==={{etym}}===
''[[fértil]]'' + ''[[-izar]]''
==={{verb}}===
{{es-verb|fertiliz|ar|pret=fertilicé}}
#(土地などを)[[肥沃]]にする
===={{conjug}}====
{{es-conj}}
===={{rel}}====
* [[fértil]]
* [[fertilidad]]
* [[fertilización]]
* [[fertilizante]]
ky8e1j24stapkjwsnpwdl67il84xv5d
aparecer
0
135508
2281242
2242908
2026-06-09T11:03:37Z
Kuroco2k
84207
2281242
wikitext
text/x-wiki
=={{gl}}==
==={{etym}}===
{{etyl|LL.|glg}} ''[[apparescere|appārēscere]]'' < {{etyl|lat|glg}} ''[[apparere|apparēre]]''
==={{verb}}===
{{head|glg|verb}}
#{{おくりがな2|現|あらわ|れる|あらわれる}}、[[生]]じる
{{gl-conj-cer|apare}}
===={{rel}}====
* [[aparente]]
* [[desaparecer]]
* [[parecer]]
----
=={{pt}}==
==={{etym}}===
{{etyl|roa-opt|por}} ''aparecer'' < {{etyl|LL.|por}} ''[[apparescere|appārēscere]]'' < {{etyl|lat|por}} ''[[apparere|apparēre]]''
==={{pron|por}}===
* {{a|PT}} {{IPA|ɐ.pɐ.ɾɨ.ˈseɾ}}
==={{verb}}===
{{head|por|verb}}
#{{おくりがな2|現|あらわ|れる|あらわれる}}、[[生]]じる
{{pt-conj|apare|cer}}
===={{rel}}====
* [[aparecimento]]
* [[aparente]]
* [[desaparecer]]
* [[parecer]]
----
=={{es}}==
==={{etym}}===
{{etyl|LL.|spa}} ''[[apparescere|appārēscere]]'' < {{etyl|lat|spa}} ''[[apparere|apparēre]]''
==={{verb}}===
{{es-verb|aparec|er|pres=aparezco}}
#{{おくりがな2|現|あらわ|れる|あらわれる}}、[[生]]じる
===={{conjug}}====
{{es-conj}}
===={{rel}}====
* [[aparente]]
* [[aparentemente]]
* [[desaparecer]]
* [[parecer]]
8d6zycr8rkqvwmf2v60g9h7h0lmxale
desaparecer
0
135514
2281284
2242909
2026-06-09T11:20:14Z
Kuroco2k
84207
2281284
wikitext
text/x-wiki
=={{pt}}==
==={{etym}}===
''[[des-]]'' + ''[[aparecer]]''
==={{pron|por}}===
* {{a|South Brazil}} {{IPA|ˌde.za.ˌpa.ɾe.ˈse(ɻ)}}
* {{a|PT}} {{IPA|ˌdɨ.zɐ.ˌpɐ.ɾɨ.ˈseɾ}}
==={{verb}}===
{{head|por|verb}}
#{{おくりがな2|消|き|える|きえる}}
{{pt-conj|desapare|cer}}
===={{syn}}====
* [[sumir]], [[ocultar]], [[ausentar]]
===={{ant}}====
* [[aparecer]], [[surgir]]
===={{rel}}====
* [[desaparecido]]
* [[desaparecimento]]
----
=={{es}}==
[[Category:{{es}}]]
==={{etym}}===
''[[des-]]'' + ''[[aparecer]]''
==={{verb}}===
{{es-verb|desaparec|er|pres=desaparezco}}
#{{context|intransitive|lang=es}}{{おくりがな2|消|き|える|きえる}}
===={{conjug}}====
{{es-conj}}
{{es-conj|desaparecerse}}
===={{ant}}====
* [[aparecer]]
===={{rel}}====
* [[desaparición]]
hpta9jj1w0uae6ws7hh0o1vqyf3ew57
vagar
0
137403
2281388
2243499
2026-06-09T11:55:52Z
Kuroco2k
84207
2281388
wikitext
text/x-wiki
=={{gl}}==
==={{verb}}===
{{head|glg|verb}}
#[[ぶらつく]]、[[放浪]]する
{{gl-conj-car|vag|vagu}}
===={{rel}}====
* [[vagabundo]]
----
=={{pt}}==
==={{etym}}===
{{etyl|roa-opt|por}} ''vagar'' < {{etyl|lat|por}} ''[[vagari|vagārī]]''
==={{pron|por}}===
* {{a|PT}} {{IPA|vɐˈɣaɾ}}
==={{verb}}===
{{head|por|verb}}
#[[ぶらつく]]、[[放浪]]する
{{pt-conj|va|gar}}
----
=={{es}}==
==={{etym}}===
{{etyl|la|es}} ''[[vagari|vagārī]]''
==={{verb}}===
{{es-verb|vag|ar|pret=vagué}}
#[[ぶらつく]]、[[放浪]]する
===={{conjug}}====
{{es-conj|nocomb=1}}
===={{syn}}====
* [[divagar]]
===={{rel}}====
* [[divagar]]
* [[vagabundo]]
* [[vago]]
cgeupzijj76f4r3uevaxu32bbsep5uk
irrigar
0
138768
2281321
1559094
2026-06-09T11:39:08Z
Kuroco2k
84207
2281321
wikitext
text/x-wiki
=={{es}}==
[[Category:{{es}}]]
==={{verb}}===
{{es-verb|irrig|ar|pret=irrigué}}
#[[灌漑]]する
#(傷口を)[[洗浄]]する
===={{conjug}}====
{{es-conj}}
m9g298u2x0hnhcw6giit1qa1r5pr6ep
intricar
0
139116
2281325
1559096
2026-06-09T11:39:09Z
Kuroco2k
84207
2281325
wikitext
text/x-wiki
=={{es}}==
[[Category:{{es}}]]
==={{verb}}===
{{es-verb|intric|ar|pret=intriqué}}
#[[intrincar]]の異綴
===={{conjug}}====
{{es-conj}}
s8tmubdm55lzm8r13az9d8qsr7kpg8h
intrincar
0
139117
2281323
2244169
2026-06-09T11:39:08Z
Kuroco2k
84207
2281323
wikitext
text/x-wiki
=={{pt}}==
==={{etym}}===
{{etyl|lat|por}} ''[[intricare|intricāre]]''
==={{verb}}===
{{head|por|verb}}
#{{おくりがな2|困|こま|ら|こまる}}せる
#[[複雑]]にする
{{pt-conj|intrin|car}}
----
=={{es}}==
==={{etym}}===
{{etyl|lat|spa}} ''[[intricare|intricāre]]''
==={{alter}}===
* [[intricar]]
==={{verb}}===
{{es-verb|intrinc|ar|pret=intrinqué}}
#[[複雑]]にする、[[混乱]]させる
===={{conjug}}====
{{es-conj}}
a5f1niiiy4mabuun8z2miaokug5cnre
intrigar
0
140133
2281324
2244576
2026-06-09T11:39:08Z
Kuroco2k
84207
2281324
wikitext
text/x-wiki
=={{io}}==
==={{etym}}===
{{etyl|epo|ido}} ''[[intrigi]]''
==={{verb}}===
{{io-verb|intrig}}
#(自動詞)[[陰謀]]を{{おくりがな2|企|くわだ|てる|くわだてる}}
===={{drv}}====
* [[intrigizar]]
----
=={{es}}==
[[Category:{{es}}]]
==={{verb}}===
{{es-verb|intrig|ar|pret=intrigué}}
#[[陰謀]]を{{おくりがな2|企|くわだ|てる|くわだてる}}
===={{conjug}}====
{{es-conj}}
===={{rel}}====
* [[intriga]]
----
=={{vec}}==
==={{verb}}===
{{head|vec|verb}}
#(他動詞){{おくりがな2|塞|ふさ|ぐ|ふさぐ}}、{{おくりがな2|遮|さえぎ|る|さえぎる}}
{{vec-conj-ar|intrig|aver}}
===={{rel}}====
* [[intrigo]]
52729wba0nste47sgysxu1hozy6adx6
impedir
0
140174
2281335
1672287
2026-06-09T11:39:12Z
Kuroco2k
84207
2281335
wikitext
text/x-wiki
=={{L|es}}==
==={{etym}}===
{{etyl|la|es}} {{m|la|impedīre}}
==={{verb}}===
{{es-verb|imped|ir|pres=impido}}
#{{おくりがな2|妨|さまた|げる|さまたげる}}、{{おくりがな2|遅|おく|らせる|おくらせる}}。
===={{conjug}}====
{{es-conj|<i>}}
===={{syn}}====
* [[estorbar]]
===={{rel}}====
{{top}}
* [[impedancia]]
* [[impedido]]
* [[impedidor]]
* [[impediencia]]
* [[impediente]]
* [[impedimenta]]
* [[impedimento]]
* [[impeditivo]]
{{bottom}}
----
=={{L|pt}}==
==={{etym}}===
{{etyl|la|pt}} {{m|la|impedīre}}
==={{pron}}===
* {{a|PT}} {{IPA|lang=pt|ĩ.pɨ.ˈðiɾ}}
==={{verb}}===
{{head|pt|verb}}
#{{おくりがな2|妨|さまた|げる|さまたげる}}、{{おくりがな2|遅|おく|らせる|おくらせる}}。
{{pt-conj|imp|edir}}
cx00vqzmjl61tfqu5v9eweik7ofzkkc
inmunizar
0
141967
2281328
1559106
2026-06-09T11:39:10Z
Kuroco2k
84207
2281328
wikitext
text/x-wiki
=={{es}}==
[[Category:{{es}}]]
==={{verb}}===
{{es-verb|inmuniz|ar|pret=inmunicé}}
[[Category:{{es}}_医学]]
#[[免疫]]を{{おくりがな2|与|あた|える|あたえる}}
===={{conjug}}====
{{es-conj}}
===={{rel}}====
* [[inmune]]
* [[inmunidad]]
* [[inmunización]]
kru01x3tzjfvz7zsiy55gpcmn7k8d8t
industrializar
0
142631
2281330
2245508
2026-06-09T11:39:10Z
Kuroco2k
84207
2281330
wikitext
text/x-wiki
=={{pt}}==
==={{verb}}===
{{head|por|verb}}
#[[産業]]化する、[[工業化]]する
{{pt-conj|industrializ|ar}}
----
=={{es}}==
[[Category:{{es}}]]
==={{verb}}===
{{es-verb|industrializ|ar|pret=industrialicé}}
#[[産業]]化する、[[工業化]]する
===={{conjug}}====
{{es-conj}}
1d55qioer88ewn9kjwydprpacokx00z
adecuar
0
143117
2281245
1523555
2026-06-09T11:03:38Z
Kuroco2k
84207
2281245
wikitext
text/x-wiki
=={{es}}==
==={{etym}}===
{{etyl|lat|spa}} ''[[adaequare|adaequāre]]''
==={{verb}}===
{{es-verb|adecu|ar|pres=adecúo}}
#[[適応]]させる
===={{conjug}}====
{{es-conj|<+,ú>}}
qfzwydvat4nf840wlbg9bf4a6z9l9mz
crucificar
0
144678
2281259
1626635
2026-06-09T11:12:42Z
Kuroco2k
84207
2281259
wikitext
text/x-wiki
=={{L|oc}}==
==={{verb}}===
{{head|oc|verb}}
# {{ふりがな|磔|はりつけ}}にする。
----
=={{L|ca}}==
==={{verb}}===
{{head|ca|verb}}
# {{ふりがな|磔|はりつけ}}にする。
===={{conjug}}====
{{ca-conj-ar|crucific}}
----
=={{L|es}}==
==={{verb}}===
{{es-verb|crucific|ar|pret=crucifiqué}}
# {{ふりがな|磔|はりつけ}}にする。
# ひどく{{おくりがな2|苦|くる|しめる|くるしめる}}。
===={{conjug}}====
{{es-conj}}
----
=={{L|pt}}==
==={{verb}}===
{{head|pt|verb}}
# {{ふりがな|磔|はりつけ}}にする。
===={{conjug}}====
{{pt-conj|crucifi|car}}
===={{rel}}====
* {{l|pt|cruz}}
5la9mdizrn1iib7ijaahux8fu3q0h98
sacrificar
0
144713
2281349
2188635
2026-06-09T11:43:26Z
Kuroco2k
84207
2281349
wikitext
text/x-wiki
=={{L|ast}}==
==={{verb}}===
{{head|ast|verb}}
#[[犠牲]]にする、{{ふりがな|生贄|いけにえ}}を{{おくりがな2|捧|ささ|げる|ささげる}}。
===={{rel}}====
* [[sacrificiu]]
=={{L|ca}}==
==={{pron}}===
* {{IPA|lang=ca|səkɾifiˈka}}
* {{rhymes|lang=ca|a(ɾ)}}
==={{verb}}===
{{head|ca|verb}}
#[[犠牲]]にする、{{ふりがな|生贄|いけにえ}}を{{おくりがな2|捧|ささ|げる|ささげる}}。
===={{conjug}}====
{{es-conj}}
===={{rel}}====
* [[sacrifici]]
* [[sacrificial]]
=={{L|es}}==
==={{verb}}===
{{es-verb|sacrific|ar|pret=sacrifiqué}}
#[[犠牲]]にする、{{ふりがな|生贄|いけにえ}}を{{おくりがな2|捧|ささ|げる|ささげる}}。
#[[動物]]を[[安楽死]]させる。
{{es-conj-car|sacrifi}}
===={{rel}}====
* [[sacrificio]]
* [[sacrificador]]
* [[sacrificatorio]]
=={{L|pt}}==
==={{etym}}===
{{etyl|la|pt}} ''[[sacrificium]]''
==={{verb}}===
{{head|pt|verb}}
#[[犠牲]]にする、{{ふりがな|生贄|いけにえ}}を{{おくりがな2|捧|ささ|げる|ささげる}}。
#{{context|chess|lang=pt}}[[故意]]に{{ふりがな|駒|こま}}を取らせる。
{{pt-conj|sacrifi|car}}
eftqfz9i234hmz71eexczg6rl87s0wl
2281354
2281349
2026-06-09T11:44:17Z
Kuroco2k
84207
2281354
wikitext
text/x-wiki
=={{L|ast}}==
==={{verb}}===
{{head|ast|verb}}
#[[犠牲]]にする、{{ふりがな|生贄|いけにえ}}を{{おくりがな2|捧|ささ|げる|ささげる}}。
===={{rel}}====
* [[sacrificiu]]
=={{L|ca}}==
==={{pron}}===
* {{IPA|lang=ca|səkɾifiˈka}}
* {{rhymes|lang=ca|a(ɾ)}}
==={{verb}}===
{{head|ca|verb}}
#[[犠牲]]にする、{{ふりがな|生贄|いけにえ}}を{{おくりがな2|捧|ささ|げる|ささげる}}。
{{ca-conj-ar|sacrific}}
===={{rel}}====
* [[sacrifici]]
* [[sacrificial]]
=={{L|es}}==
==={{verb}}===
{{es-verb|sacrific|ar|pret=sacrifiqué}}
#[[犠牲]]にする、{{ふりがな|生贄|いけにえ}}を{{おくりがな2|捧|ささ|げる|ささげる}}。
#[[動物]]を[[安楽死]]させる。
===={{conjug}}====
{{es-conj}}
===={{rel}}====
* [[sacrificio]]
* [[sacrificador]]
* [[sacrificatorio]]
=={{L|pt}}==
==={{etym}}===
{{etyl|la|pt}} ''[[sacrificium]]''
==={{verb}}===
{{head|pt|verb}}
#[[犠牲]]にする、{{ふりがな|生贄|いけにえ}}を{{おくりがな2|捧|ささ|げる|ささげる}}。
#{{context|chess|lang=pt}}[[故意]]に{{ふりがな|駒|こま}}を取らせる。
{{pt-conj|sacrifi|car}}
5o4k4chgbumsi2ffdr292ovm08zn1g3
legalizar
0
145963
2281393
2246819
2026-06-09T11:57:13Z
Kuroco2k
84207
2281393
wikitext
text/x-wiki
=={{pt}}==
==={{verb}}===
{{head|por|verb}}
#[[合法]]化する
{{pt-conj|legaliz|ar}}
----
=={{es}}==
[[Category:{{es}}]]
==={{verb}}===
{{es-verb|legaliz|ar|pret=legalicé}}
#[[合法]]化する
#(乗り物を)[[登録]]する
===={{conjug}}====
{{es-conj}}
3229ozle7x4g7t7yk1qkxcvfsx1qjku
elegir
0
149524
2281294
2247466
2026-06-09T11:23:40Z
Kuroco2k
84207
2281294
wikitext
text/x-wiki
=={{ca}}==
==={{etym}}===
{{etyl|lat|cat}} ''[[eligere]]''
==={{verb}}===
{{head|cat|verb}}
#{{おくりがな2|選|えら|ぶ|えらぶ}}
{{ca-conj-ir|eleg}}
===={{syn}}====
* [[escollir]]
----
=={{es}}==
==={{etym}}===
{{etyl|la|es}} ''[[eligere|ēligere]]''
==={{verb}}===
{{es-verb|eleg|ir|pres=elijo|part2=electo}}
#{{おくりがな2|選|えら|ぶ|えらぶ}}
===={{conjug}}====
{{es-conj}}
===={{syn}}====
* [[esleír]], [[eligir]] (廃語)
* [[escoger]], [[seleccionar]]
===={{rel}}====
* [[elección]]
* [[elegible]]
* [[elegido]]
* [[reelegir]]
5rhnfpp5hb9k9rmlsrd7a5ygd3xsfp1
𠌷
0
151908
2280924
991234
2026-06-08T13:46:08Z
M-30722
1202
2280924
wikitext
text/x-wiki
==漢字==
{{kanji|人|11}}
{{kanji variants|執}}
===意義===
#「[[執]]」の[[俗字]](『[[w:正字通|正字通]]』掲載)。
=={{コード}}==
{{文字コード}}
pfrnj5k21wzi0rr3mhswq0phk3edkzc
instituir
0
152066
2281327
2247702
2026-06-09T11:39:09Z
Kuroco2k
84207
2281327
wikitext
text/x-wiki
=={{pt}}==
==={{verb}}===
{{head|por|verb}}
#{{おくりがな2|設|もう|ける|もうける}}、[[制定]]する
{{pt-conj|instit|uir}}
----
=={{es}}==
==={{verb}}===
{{es-verb|institu|ir}}
#{{おくりがな2|設|もう|ける|もうける}}、[[制定]]する
===={{conjug}}====
{{es-conj}}
57y0bafejykacbf5kf3d588k3y5ffmz
घर्म
0
153476
2280918
1380526
2026-06-08T13:42:47Z
Kuroco2k
84207
2280918
wikitext
text/x-wiki
=={{L|sa}}==
==={{etym}}===
{{etyl|ine-pro|sa}} {{m|ine-pro|*gʰarmás}} < {{m|ine-pro|*gʷʰer-}} + {{m|ine-pro|*-mós}}
==={{pron}}===
{{sa-IPA|a=2}}
==={{noun}}===
{{sa-noun|head=घ॒र्म|g=m|घृ}}
#[[熱]]。
#[[あつさ|暑さ]]、[[炎暑]]。
#[[日光]]。
===={{decl}}====
{{sa-decl-noun-m|gharmá}}
===={{desc}}====
*{{desc|pi|ghamma}}
*{{desc|pra|𑀖𑀫𑁆𑀫}} {{see desc}}
*{{desc|gu|ઘર્મ|lbor=1}}
*→ ヒンドゥースターニー語:
**{{desc|hi|घर्म}}
**{{desc|ur|گھَرْم}}
=={{L|hi}}==
==={{etym}}===
{{bor+|hi|sa|घ॒र्म}}
==={{pron}}===
*{{hi-IPA}}
==={{noun}}===
{{hi-noun|g=m|tr=gharm|ur=گھرم}}
#[[熱]]。
#[[あつさ|暑さ]]、[[炎暑]]。
#[[なつ|夏]]。
#[[日光]]。
===={{decl}}====
{{hi-ndecl|<M>}}
===={{seealso}}====
*{{l|hi|गर्मी|tr=gharmī}}
3h5p4638bl7084pmo0p42va8ah72vfd
verse
0
153661
2281385
1845296
2026-06-09T11:55:52Z
Kuroco2k
84207
2281385
wikitext
text/x-wiki
{{also|Verse|versé|'verse}}
=={{L|en}}==
==={{pron}}===
* {{IPA|ˈvɜ(ː|ɹ)s|lang=en}}
* {{音声|en|en-us-verse.ogg|音声 (米)}}
==={{etym}}1===
*一部は{{etyl|ang}} {{m|ang|vers}}、一部は{{etyl|fro}} {{m|fro|vers}}より。ともに、{{etyl|la}} {{m|la|versus||一行詩<行<畝}}< {{m|la|vertere||耕す}}
===={{noun}}====
{{en-noun}}
#{{context|literature|lang=en}}[[韻文]]。
#{{context|literature|lang=en}}[[詩歌]]。
#[[詩節]]。
#聖書の[[節]]。
====={{comp}}=====
* [[blank verse]]
* [[free verse]]
====={{rel}}=====
* [[versification]]
* [[versify]]
====={{desc}}=====
*{{desc|ja|バース}}
===={{verb}}====
{{en-verb|vers|ing}}
#{{context|obsolete|lang=en}}韻文を作成する。
#{{context|transitive|lang=en}}詩情をこめ話す。
==={{etym}}2===
{{rfe|lang=en}}
===={{verb}}====
{{en-verb|vers|ing}}
#~について[[教育]]する。
===={{comp}}====
* [[well-versed]], [[well versed]]
==={{etym}}3===
*{{back-form|lang=en|versus}}''*verses''を三人称単数現在形と誤解したことによる。
===={{verb}}====
{{en-verb|vers|ing}}
#{{context|colloquial|ゲームなどで|lang=en}} 相手する、対抗する。
[[Category:ベーシック英語 850単語]]
----
=={{L|nl}}==
==={{pron}}===
* {{音声|nl|Nl-verse.ogg|音声}}
==={{adjective}}===
{{head|nl|adjective form}}
#{{l|nl|vers}}の原級中性単数限定形。
versの原級通性単数。
versの原級複数形。
----
=={{L|es}}==
==={{verb}}===
{{es-verb-form|versar}}
#{{es-verb form of|ending=ar|mood=imperative|pers=2|formal=yes|number=singular|versar}}
#{{es-verb form of|ending=ar|mood=subjunctive|tense=present|pers=1|number=singular|versar}}
#{{es-verb form of|ending=ar|mood=subjunctive|tense=present|pers=2|formal=yes|number=singular|versar}}
#{{es-verb form of|ending=ar|mood=subjunctive|tense=present|pers=3|number=singular|versar}}
----
=={{L|fr}}==
==={{verb}}===
{{fr-verb-form}}
#{{活用形|verser||1|s|pres|ind|lang=fr}}
#{{活用形|verser||3|s|pres|ind|lang=fr}}
#{{活用形|verser||1|s|pres|sub|lang=fr}}
#{{活用形|verser||3|s|pres|sub|lang=fr}}
#{{活用形|verser||2|s|imp|lang=fr}}
----
=={{L|la}}==
==={{noun}}===
{{la-part-form|verse}}
#{{inflection of|versus||voc|m|s|lang=la}}
975w7y2fkvdnvrcbd14csmas698k9r1
カテゴリ:菌類
14
153683
2280930
2019021
2026-06-08T13:48:02Z
鍼灸
112313
2280930
wikitext
text/x-wiki
<div class="pathnavbox">
* {{Pathnav|カテゴリ|分野|科学|自然科学|生物学|菌類学}}
* {{Pathnav|カテゴリ|分野|自然|生物}}
</div>
{{wikipedia|category=菌類}}
[[菌類]]に関する語彙
{{DEFAULTSORT:きんるい}}
[[カテゴリ:生物|*きんるい]]
[[カテゴリ:菌類学|*きんるい]]
[[カテゴリ:分野の一覧]]
stkpc80asy34kahh8tf1yfx7hqr574s
interrogar
0
156305
2281326
2248480
2026-06-09T11:39:09Z
Kuroco2k
84207
2281326
wikitext
text/x-wiki
=={{pt}}==
==={{etym}}===
{{etyl|lat|por}} ''[[interrogare|interrogāre]]''
==={{verb}}===
{{head|por|verb}}
#[[質問]]する。[[尋問]]する。
{{pt-conj|interro|gar}}
----
=={{es}}==
==={{etym}}===
{{etyl|lat|spa}} ''[[interrogare|interrogāre]]''
==={{verb}}===
{{es-verb|interrog|ar|pret=interrogué}}
#[[質問]]する。[[尋問]]する。
===={{conjug}}====
{{es-conj}}
===={{rel}}====
* [[interrogación]]
* [[interrogador]]
lfiz0hu33asv7j6zz6jebr26fzvfygy
distinguir
0
159533
2281275
1667281
2026-06-09T11:20:12Z
Kuroco2k
84207
2281275
wikitext
text/x-wiki
=={{L|es}}==
==={{verb}}===
{{es-verb|distingu|ir|pres=distingo}}
#{{おくりがな3|見|み||分|わ|ける|みわける}}。[[判別]]する。[[区別]]する。
===={{conjug}}====
{{es-conj}}
----
=={{L|pt}}==
==={{etym}}===
{{etyl|la|pt}} ''[[distinguere]]''
==={{pron}}===
* {{a|Portugal}} {{IPA|lang=pt|diʃ.tĩ.ˈɡiɾ}}
* {{hyphenation|dis|tin|guir|lang=pt}}
==={{verb}}===
{{pt-verb|distingu|ir}}
#{{おくりがな3|見|み||分|わ|ける|みわける}}。[[判別]]する。[[区別]]する。
{{pt-conj|distin|guir}}
fsyso9wv6bnp02f9nr50do6e9hqa6si
consentir
0
160839
2281264
1652841
2026-06-09T11:12:43Z
Kuroco2k
84207
2281264
wikitext
text/x-wiki
=={{L|ca}}==
==={{etym}}===
{{etyl|la|ca}} {{m|la|cōnsentīre}}
==={{pron}}===
* {{ca-IPA}}
==={{verb}}===
{{ca-verb|ir|consent}}
#[[同意]]する。[[承諾]]する。
{{ca-conj-ir|consent}}
===={{drv}}====
* {{l|ca|consentiment}}
----
=={{L|fro}}==
==={{etym}}===
10世紀に初出。{{etyl|la|fro}} {{m|la|cōnsentīre}}
==={{verb}}===
{{head|fro|verb}}
#[[同意]]する。[[承諾]]する。
{{fro-conj-iii|prefix=con}}
===={{desc}}====
*{{en}}: {{l|en|consent}}
*{{fr}}: {{l|fr|consentir}}
----
=={{L|es}}==
==={{etym}}===
{{etyl|la|es}} {{m|la|cōnsentīre}}
==={{verb}}===
{{es-verb|consent|ir|pres=consiento}}
#[[同意]]する。[[承諾]]する。
#{{おくりがな2|耐|た|える|たえる}}。
#{{おくりがな2|甘|あま|やかす|あまやかす}}。
===={{conjug}}====
{{es-conj|<ie-i>}}
===={{rel}}====
* [[consentido]]
* [[consentimiento]]
----
=={{L|fr}}==
==={{etym}}===
10世紀に初出。{{etyl|la|fr}} {{m|la|cōnsentīre}}
==={{pron}}===
* {{fr-IPA}} :[[File:Fr-consentir.ogg]]
==={{verb}}===
{{fr-verb}}
#[[同意]]する。[[承諾]]する。
===={{conjugation}}====
{{fr-conj-auto}}
===アナグラム===
* [[centrions]]
----
=={{L|pt}}==
==={{etym}}===
{{etyl|la|pt}} {{m|la|cōnsentīre}}
==={{pron}}===
* {{a|PT}} {{IPA|lang=pt|kõsẽˈtiɾ}}
==={{verb}}===
{{pt-verb|cons|entir}}
#{{おくりがな2|許|ゆる|す|ゆるす}}。[[許可]]する。
#[[同意]]する。[[承諾]]する。
{{pt-conj|cons|entir}}
fgzwajd20ue47te25lab6s58ds9bo5z
カテゴリ:リトアニア語 植物
14
164757
2281153
2095167
2026-06-09T06:33:36Z
鍼灸
112313
2281153
wikitext
text/x-wiki
<div class="pathnavbox">
* {{Pathnav|カテゴリ|言語|{{lt}}|{{lt}}_科学|disp4=科学|{{lt}}_自然科学|disp5=自然科学|{{lt}}_生物学|disp6=生物学|{{lt}}_植物学|disp7=植物学|last=植物}}
* {{Pathnav|カテゴリ|分野|科学|自然科学|生物学|植物学|植物|last={{lt}}}}
</div>
{{catmore}}
[[カテゴリ:{{lt}}_植物学|*しよくふつ]]
[[カテゴリ:{{lt}}_生物|*しよくふつ]]
[[カテゴリ:植物|りとあにあこ]]
dtek747ajbkjrf2fxpalu399fjlukrd
perpetuar
0
166236
2281368
1393982
2026-06-09T11:51:10Z
Kuroco2k
84207
2281368
wikitext
text/x-wiki
=={{ca}}==
==={{verb}}===
{{ca-verb|ar|perpetu}}
#[[永続]]させる。[[不滅]]にする。
{{ca-conj-ar|perpetu}}
===={{rel}}====
* [[perpetu]], [[perpetual]]
----
=={{es}}==
==={{verb}}===
{{es-verb|perpetu|ar|pres=perpetúo}}
#[[永続]]させる。[[不滅]]にする。
===={{conjug}}====
{{es-conj|<ú>}}
===={{rel}}====
* [[perpetuo]]
cg1bak4imr2y0wmnzgn0a4e1tj11n7i
democratizar
0
168005
2281287
1551493
2026-06-09T11:20:16Z
Kuroco2k
84207
2281287
wikitext
text/x-wiki
=={{es}}==
==={{etym}}===
{{etyl|grc|spa}} {{term|grc|δημοκρατίζειν}}
==={{pron|spa}}===
* {{a|Castilian}} {{IPA|de̞mo̞kratiˈθaɾ}}
* {{a|Others}} {{IPA|de̞mo̞kratiˈsaɾ}}
==={{verb}}===
{{es-verb|democratiz|ar|pret=democraticé}}
[[Category:{{es}}_政治]]
#[[民主化]]する。
===={{conjug}}====
{{es-conj}}
===={{rel}}====
* [[democracia]]
* [[democrático]]
----
=={{pt}}==
==={{verb}}===
{{pt-verb|democratiz|ar}}
[[Category:{{pt}}_政治]]
#[[民主化]]する。
{{pt-conj|democratiz|ar}}
6a7yfdimn0j385ly4dk3s6vjtctxn4d
タイタン
0
168363
2281111
1926056
2026-06-09T03:04:54Z
鍼灸
112313
2281111
wikitext
text/x-wiki
{{kana-DEFAULTSORT}}
{{also|たいだん|だいたん|だいだん}}
{{wikipedia}}
{{wikipedia|タイタン (衛星)}}
=={{L|ja}}==
==={{etym}}===
{{bor|ja|en|Titan}} [[cf.]][[チタン]]。
==={{name}}===
{{ja-proper noun}}
#{{context|Greek mythology|Roman mythology|lang=ja}}オリュンポスの神々に先行する、巨大な体を持つとされる神々(複数)。
#*[[憔悴]]し[[ぼろ]]をまとい疲れ切ってる[[防寨]]の人々は、二十四時間の間一食もせず、一睡もせず、余すところは数発の弾のみとなり、ポケットを探っても弾薬はなく、ほとんど全員傷を受け、黒くよごれた布片で頭や腕をまき、着物には穴があいてそこから血が流れ、武器としては悪い銃と古い鈍った[[サーベル]]にすぎなかったが、しかも'''タイタン'''族のように巨大となったのである。({{w|ビクトル・ユーゴー}} {{w|豊島与志雄}}訳『{{w|レ・ミゼラブル}}』)
#{{context|天体|lang=ja}}[[土星]]の[[第六]][[衛星]][[名]]。
===={{rel}}====
*[[ティーターン]]({{grc}}:{{unicode|Τιτάν}}の音写)
*([[おも|主]]な[[ほか|他]]の[[土星]]の[[衛星]]):[[レア]]、[[イアペトゥス]]
*[[巨人]]
314a1ew5w2vhzmxly7gv7t4aacxnvkf
たんご
0
168485
2281117
2168840
2026-06-09T03:16:01Z
鍼灸
112313
2281117
wikitext
text/x-wiki
{{kana-DEFAULTSORT}}
{{also|たんこ|だんこ|だんご|タンゴ}}
=={{ja}}==
==={{kangokana}}===
{{ja-kangokana|h=y}}
*【[[単語]]】[[言語]][[単位]]の一つ。
*【[[端午]]】[[五月]]の[[節句]]。
*【[[丹後]]】[[丹後国]]。
ffto971m943yslcizbxzo2cg4vto1zj
だんご
0
168489
2281118
2168841
2026-06-09T03:16:33Z
鍼灸
112313
2281118
wikitext
text/x-wiki
{{kana-DEFAULTSORT}}
{{also|たんこ|たんご|だんこ|タンゴ}}
=={{ja}}==
==={{kangokana}}===
{{ja-kangokana|h=y}}
*【[[団子]]】丸く固めたもの。
*【[[段碁]]】[[囲碁]]で[[初段]]以上の[[技量]]のもの。
hfvatx77f7ajucbg7oh6cqtlyjv49cm
丹後
0
168497
2281135
1486150
2026-06-09T06:05:37Z
うーむ
129171
/* 固有名詞 */
2281135
wikitext
text/x-wiki
{{DEFAULTSORT:たんこ}}
{{wikipedia}}
=={{ja}}==
[[Category:{{ja}}]]
==={{name}}===
[[Category:{{ja}}_{{name}}]]
[[Category:旧国名]]
{{jachar|丹|後}} ([[たんご]])
# 旧国名の一つ。[[丹後国]]。
# 京都府にあった地名。{{w|丹後町}}。
t3o866sv8n1weaatcawk858g2a0khtc
カテゴリ:藻類
14
170016
2280926
2019024
2026-06-08T13:46:55Z
鍼灸
112313
2280926
wikitext
text/x-wiki
<div class="pathnavbox">
* {{Pathnav|分野|科学|自然科学|生物学|植物学|藻類学}}
* {{Pathnav|分野|自然|生物|植物}}
</div>
[[藻類]]に関する語彙
{{DEFAULTSORT:そうるい}}
[[カテゴリ:藻類学|*そうるい]]
[[カテゴリ:生物|*そうるい]]
68s8bd8dld8j1incv9as7ffzhutrh1m
2280928
2280926
2026-06-08T13:47:20Z
鍼灸
112313
2280928
wikitext
text/x-wiki
<div class="pathnavbox">
* {{Pathnav|分野|科学|自然科学|生物学|藻類学}}
* {{Pathnav|分野|自然|生物}}
</div>
[[藻類]]に関する語彙
{{DEFAULTSORT:そうるい}}
[[カテゴリ:藻類学|*そうるい]]
[[カテゴリ:生物|*そうるい]]
egrz5b721xciw4819xj5ljw4yxv3t6w
inferir
0
172179
2281329
1526556
2026-06-09T11:39:10Z
Kuroco2k
84207
2281329
wikitext
text/x-wiki
=={{es}}==
==={{etym}}===
{{etyl|lat|spa}} ''[[inferre|īnferre]]''
==={{verb}}===
{{es-verb|infer|ir|pres=infiero}}
#[[推量]]する。
===={{conjug}}====
{{es-conj|<ie-i>}}
===={{rel}}====
* [[inferencia]]
----
=={{pt}}==
==={{verb}}===
{{pt-verb|inf|erir}}
#[[推量]]する。
{{pt-conj|inf|erir}}
qxj9srvk79bok2sl6whltpghyggbdrh
situar
0
173144
2281346
1394052
2026-06-09T11:43:24Z
Kuroco2k
84207
2281346
wikitext
text/x-wiki
=={{ca}}==
==={{etym}}===
{{etyl|ML.|cat}} ''[[situare]]''
==={{verb}}===
{{ca-verb|ar|situ}}
#{{おくりがな2|置|お|く|おく}}。[[位置]]づける。
{{ca-conj-ar|situ}}
===={{drv}}====
* [[situar-se]]
* [[situació]]
----
=={{es}}==
==={{verb}}===
{{es-verb|situ|ar|pres=sitúo}}
#{{おくりがな2|置|お|く|おく}}。[[位置]]づける。
#[[投資]]する。
===={{conjug}}====
{{es-conj|<ú>}}
===={{syn}}====
*(語義1) [[ubicar]], [[localizar]]
----
=={{pt}}==
==={{etym}}===
{{etyl|lat|por}} ''[[situs]]''
==={{verb}}===
{{pt-verb|situ|ar}}
#{{おくりがな2|置|お|く|おく}}。[[位置]]づける。
{{pt-conj|situ|ar}}
0jkzktttpwfyhfetrgt8t4w44txxljp
confiar
0
173606
2281265
2016680
2026-06-09T11:12:43Z
Kuroco2k
84207
2281265
wikitext
text/x-wiki
=={{L|es}}==
==={{etym}}===
{{etyl|la|es}} *''confidare'' < {{m|la|cōnfīdere}}
==={{verb}}===
{{es-verb|confi|ar|pres=confío}}
#[[信用]]する、[[信頼]]する。
#{{おくりがな2|委|ゆだ|ねる|ゆだねる}}。
===={{conjug}}====
{{es-conj|<í>}}
===={{drv}}====
* [[desconfiar]]
===={{rel}}====
* [[fiar]]
* [[confianza]]
* [[confiado]]
* [[confidente]]
----
=={{L|pt}}==
==={{etym}}===
{{etyl|roa-opt|pt}} ''confiar'' < {{etyl|la|pt}} *''confidare'' < {{m|la|cōnfīdere}}
==={{pron}}===
* {{a|Portugal}} {{IPA|lang=pt|kõ.fi.ˈaɾ|kõ.ˈfjaɾ}}
* {{hyphenation|con|fi|ar}}
==={{verb}}===
{{pt-verb|confi|ar}}
#{{おくりがな2|委|ゆだ|ねる|ゆだねる}}。
#{{おくりがな2|頼|たよ|る|たよる}}、[[信頼]]する。
{{pt-conj|confi|ar}}
22hhqokiav1l8bgulabsp1z7fd5ysde
bhūmi
0
173655
2280959
1549136
2026-06-08T14:29:44Z
M-30722
1202
2280959
wikitext
text/x-wiki
{{DEFAULTSORT:bhumi}}
=={{L|pi}}==
===語源===
* {{etyl|sa|-}} {{l|sa|भूमि|tr=bhūmi-}}を参照。
===名詞===
{{head|pi|noun|g=f}}
# [[大地]]、{{l|ja|地}}。
====類義語====
* {{l|pi|paṭhavī}}, [[bhū]], [[mahī]], [[medinī]]
====派生語====
{{rel-top|名詞}}
* {{l|pi|bhūmikampa}}
* {{l|pi|bhūmikama|g=m}}
* {{l|pi|bhūmicāla}}
* {{l|pi|bhūmidevatā|g=f}}
* {{l|pi|bhūminānatta|g=n}}
* {{l|pi|bhūmipappaṭaka|g=m}}
* {{l|pi|bhūmipāla|g=m}}
{{rel-bottom}}
形容詞:
* {{l|pi|bhūmiladdha}}
分類不明:
* {{l|pi|bhūmiladdhuppanna}}
====関連語====
名詞:
* {{l|pi|bhū|g=f}}
* {{l|pi|bhūma|g=m}}
* {{l|pi|bhūri|g=f}}
形容詞:
* {{l|pi|bhūmaka}}, {{l|pi|bhūmika}}
===={{comp}}====
*[[suvaṇṇabhumi]](>{{th}}:[[สุวรรณภูมิ]])
=== 参考 ===
* [[w:水野弘元|水野弘元]]『増補改訂パーリ語辞典』春秋社、2009年。ISBN 4-393-10156-1
g1j67lzgfnhovyk32g99k3tzajufwq7
カテゴリ:リトアニア語 動物
14
174101
2281155
1595865
2026-06-09T06:34:18Z
鍼灸
112313
2281155
wikitext
text/x-wiki
<div class="pathnavbox">
* {{Pathnav|カテゴリ|言語|{{lt}}|{{lt}}_科学|disp4=科学|{{lt}}_自然科学|disp5=自然科学|{{lt}}_生物学|disp6=生物学|{{lt}}_動物学|disp7=動物学|last=動物}}
* {{Pathnav|カテゴリ|分野|科学|自然科学|生物学|動物学|動物|last={{lt}}}}
</div>
[[カテゴリ:{{lt}}_動物学|*とうふつ]]
[[カテゴリ:{{lt}}_生物|*とうふつ]]
[[カテゴリ:動物|りとあにあこ]]
e7mllpmxg4fmc87dnk45f6v10045eta
diluir
0
175848
2281277
1526858
2026-06-09T11:20:13Z
Kuroco2k
84207
2281277
wikitext
text/x-wiki
=={{es}}==
==={{etym}}===
{{etyl|lat|spa}} ''[[diluere]]''
==={{verb}}===
{{es-verb|dilu|ir|pres=diluyo}}
[[Category:{{es}}_化学]]
#{{おくりがな2|薄|うす|める|うすめる}}。[[希釈]]する。
===={{conjug}}====
{{es-conj}}
===={{syn}}====
* [[desleír]], [[disolver]]
----
=={{pt}}==
==={{verb}}===
{{pt-verb|dil|uir}}
[[Category:{{pt}}_化学]]
#{{おくりがな2|薄|うす|める|うすめる}}。[[希釈]]する。
{{pt-conj|dil|uir}}
e7r6roycugwckfw2g5a2h4geltlt5pg
solver
0
176058
2281345
1526872
2026-06-09T11:43:24Z
Kuroco2k
84207
2281345
wikitext
text/x-wiki
=={{en}}==
==={{etym}}===
{{-er|solve}}
==={{noun}}===
{{en-noun}}
#{{おくりがな2|解|と|く|とく}}人・物。[[解決]]する人・物。
===アナグラム===
* [[lovers]]
----
=={{es}}==
==={{etym}}===
{{etyl|lat|spa}} ''[[solvere]]''
==={{verb}}===
{{es-verb|solv|er|pres=suelvo|part=suelto}}
#{{context|obsolete|lang=es}}{{おくりがな2|解|と|く|とく}}。[[解決]]する。
===={{conjug}}====
{{es-conj|nocomb=1}}
===={{syn}}====
* [[resolver]]
===={{rel}}====
* {{l|es|suelto}}
* {{l|es|soltar}}
==={{seealso}}===
* [[resolver]]
* [[solucionar]]
mzurxhbfuphuxgn9ednd2jroabr9x6y
creer
0
176508
2281256
1657247
2026-06-09T11:12:41Z
Kuroco2k
84207
2281256
wikitext
text/x-wiki
{{also|créer}}
=={{L|ast}}==
==={{verb}}===
{{ast-verb}}
#[[creyer]]の異綴。
----
=={{L|roa-opt}}==
==={{etym}}===
{{etyl|la|roa-opt}} {{m|la|crēdere}} < {{etyl|ine-pro|roa-opt}} {{m|ine-pro|*ḱred dʰeh₁-}}
==={{pron}}===
* {{IPA|lang=roa-opt|kɾeˈeɾ}}
==={{verb}}===
{{head|roa-opt|verb}}
#[[信じる]]。
===={{desc}}====
*{{gl}}: {{l|gl|crer}}
*{{pt}}: {{l|pt|crer}}
----
=={{L|es}}==
==={{etym}}===
{{etyl|la|es}} {{m|la|crēdere}}
==={{pron}}===
* {{IPA|lang=es|kɾeˈeɾ}}
==={{verb}}===
{{es-verb|cre|er|part=creído}}
#{{context|transitive|lang=es}}[[信じる]]。
#{{context|transitive|lang=es}}{{おくりがな2|思|おも|う|おもう}}。
===={{conjug}}====
{{es-conj}}
===={{rel}}====
* [[credibilidad]]
* [[crédito]]
* [[creencia]]
* [[creíble]]
* [[creído]]
* [[creyente]]
==={{seealso}}===
* [[pensar]]
* [[opinar]]
----
=={{L|la}}==
==={{verb}}===
{{la-verb-form|creer}}
#[[creare|creāre]]の接続法所相現在第一人称単数形。
kuzmt8t8mr1k0w3zj8aws8bjk0m8jb3
incluir
0
177174
2281333
2224939
2026-06-09T11:39:11Z
Kuroco2k
84207
2281333
wikitext
text/x-wiki
{{also|incluír}}
=={{ast}}==
==={{alter}}===
* {{l|ast|incluyir}}
==={{etym}}===
{{etyl|lat|ast}} ''[[includere|inclūdere]]''
==={{verb}}===
{{ast-verb}}
#{{おくりがな2|含|ふく|める|ふくめる}}。
----
=={{es}}==
==={{etym}}===
{{etyl|lat|spa}} ''[[includere|inclūdere]]''
==={{verb}}===
{{es-verb|inclu|ir|pres=incluyo}}
#{{おくりがな2|含|ふく|める|ふくめる}}。
===={{conjug}}====
{{es-conj}}
----
=={{pt}}==
==={{etym}}===
{{etyl|lat|por}} ''[[includere|inclūdere]]''
==={{verb}}===
{{pt-verb||incluir}}
#{{おくりがな2|含|ふく|める|ふくめる}}。
{{pt-conj||incluir}}
quwaslb2udg9me4y3u93q1wehftbfb6
diferir
0
182453
2281279
1527397
2026-06-09T11:20:13Z
Kuroco2k
84207
2281279
wikitext
text/x-wiki
=={{es}}==
==={{verb}}===
{{es-verb|difer|ir|pres=difiero}}
#{{context|transitive|lang=es}}[[延期]]する。
#{{context|intransitive|lang=es}}{{おくりがな2|異|こと|なる|ことなる}}。{{おくりがな2|違|ちが|う|ちがう}}。
===={{conjug}}====
{{es-conj|<ie-i>}}
----
=={{pt}}==
==={{alter}}===
* {{l|pt|differir}} (廃用)
==={{etym}}===
{{etyl|lat|por}} ''[[differre]]''
==={{pron|por}}===
* {{a|PT}} {{IPA|difɨˈɾiɾ}}
==={{verb}}===
{{pt-verb|dif|erir}}
#{{context|transitive|lang=pt}}[[延期]]する。
#{{context|intransitive|lang=pt}}{{おくりがな2|異|こと|なる|ことなる}}。{{おくりがな2|違|ちが|う|ちがう}}。
{{pt-conj|dif|erir}}
rbeiunnhc3ld6yvyae83fwjokr39dyk
fabricar
0
184550
2281309
1863017
2026-06-09T11:30:31Z
Kuroco2k
84207
2281309
wikitext
text/x-wiki
=={{L|ca}}==
==={{etym}}===
{{etyl|la|ca}} {{m|la|fabricāre}}
==={{verb}}===
{{ca-verb|ar|fabric}}
#{{おくりがな2|作|つく|る|つくる}}、[[製作]]する、[[製造]]する。
{{ca-conj-ar|fabric}}
----
=={{L|es}}==
==={{etym}}===
{{etyl|la|es}} {{m|la|fabricāre}}
==={{verb}}===
{{es-verb|fabric|ar|pret=fabriqué}}
#{{おくりがな2|作|つく|る|つくる}}、[[製作]]する、[[製造]]する。
#{{おくりがな2|建|た|てる|たてる}}。
===={{conjug}}====
{{es-conj}}
===={{rel}}====
* [[fábrica]]
* [[fabricación]]
* [[fabricado]]
* [[fabricante]]
----
=={{L|pt}}==
==={{etym}}===
{{etyl|la|pt}} {{m|la|fabricāre}}
==={{pron}}===
* {{a|PT}} {{IPA|lang=pt|fɐ.βɾi.ˈkaɾ}}
* {{hyphenation|fa|bri|car}}
==={{verb}}===
{{pt-verb|fabri|car}}
#{{おくりがな2|作|つく|る|つくる}}、[[製作]]する、[[製造]]する。
{{pt-conj|fabri|car}}
fpjlkebqbk8sx3y4b0dzzktfi28xwrd
tranquilizar
0
186399
2281298
1155848
2026-06-09T11:25:32Z
Kuroco2k
84207
2281298
wikitext
text/x-wiki
=={{es}}==
==={{verb}}===
{{es-verb|tranquiliz|ar|pret=tranquilicé}}
#[[おちつく|落ち着か]]せる。
#[[沈静]]化する。
===={{conjug}}====
{{es-conj}}
===={{syn}}====
* [[calmar]]
===={{rel}}====
* [[tranquilizante]]
* [[tranqui]]
----
=={{pt}}==
==={{verb}}===
{{pt-verb|tranquiliz|ar}}
#[[おちつく|落ち着か]]せる。
#[[沈静]]化する。
===={{conjug}}====
{{pt-conj|tranquiliz|ar}}
===={{syn}}====
* {{l|pt|acalmar}}
rmi235tip9h9ejmckf7edxpg8g5k2ql
descender
0
187481
2281283
1701246
2026-06-09T11:20:14Z
Kuroco2k
84207
2281283
wikitext
text/x-wiki
=={{L|en}}==
==={{etym}}===
{{-er|descend}}
==={{pron}}===
* {{a|UK}} {{IPA|lang=en|dɪˈsɛndə(ɹ)}}
* {{rhymes|ɛndə(ɹ)}}
==={{noun}}===
{{en-noun}}
#{{おくりがな2|降|お|りる|おりる}}人。降りる物。
#{{context|typography|lang=en}}[[デセンダー]]。
----
=={{L|es}}==
==={{etym}}===
{{etyl|la|es}} {{m|la|dēscendere}}
==={{verb}}===
{{es-verb|descend|er|pres=desciendo}}
#{{おくりがな2|降|お|りる|おりる}}、{{おくりがな2|下|くだ|る|くだる}}。
===={{conjug}}====
{{es-conj|<ie>}}
===={{rel}}====
* [[descendiente]]
* [[descendente]]
* [[descendencia]]
* [[descenso]]
----
=={{L|pt}}==
==={{alter}}===
* {{l|pt|decender}} (廃用)
==={{etym}}===
{{etyl|la|pt}} {{m|la|dēscendere}}
==={{verb}}===
{{pt-verb|descend|er}}
#{{context|intransitive+|lang=pt}}{{おくりがな2|降|お|りる|おりる}}、{{おくりがな2|下|くだ|る|くだる}}。
#('''[[de]]'''を伴って)[[遺伝]]する。
#('''de'''を伴って){{おくりがな3|受|う|け|継|つ|が|うけつぐ}}れる。
{{pt-conj|descend|er}}
===={{syn}}====
* {{l|pt|descer}}, {{l|pt|baixar}}
9x9rke565h1oqeb668b2esrha7b5ofi
penalizar
0
189953
2281374
1551703
2026-06-09T11:51:12Z
Kuroco2k
84207
2281374
wikitext
text/x-wiki
=={{es}}==
==={{verb}}===
{{es-verb|penaliz|ar|pret=penalicé}}
#{{context|transitive+|lang=es}}[[罰]]する。[[処罰]]する。
===={{conjug}}====
{{es-conj}}
===={{rel}}====
{{top}}
* {{l|es|penable}}
* {{l|es|penal}}
* {{l|es|penalidad}}
* {{l|es|penalista}}
* {{l|es|penalización}}
* {{l|es|penalmente}}
* {{l|es|penalti}}
* {{l|es|penar}}
{{bottom}}
----
=={{pt}}==
==={{verb}}===
{{pt-verb|penaliz|ar}}
#{{context|transitive+|lang=pt}}[[罰]]する。[[処罰]]する。
{{pt-conj|penaliz|ar}}
auwqj0433cd7n6n7wplv1is6hbmd7ec
seducir
0
192393
2281348
1853652
2026-06-09T11:43:25Z
Kuroco2k
84207
2281348
wikitext
text/x-wiki
=={{L|es}}==
==={{etym}}===
{{etyl|la|es}} {{m|la|sēdūcere}}
==={{pron}}===
* {{a|Latin America}} {{IPA|lang=es|[seðuˈsiɾ]}}
* {{a|Castilian}} {{IPA|[seðuˈθiɾ]}}
==={{verb}}===
{{es-verb|seduc|ir|pres=seduzco|pret=seduje}}
#[[誘惑]]する、[[魅惑]]する、{{おくりがな2|唆|そそのか|す|そそのかす}}。
===={{conjug}}====
{{es-conj}}
===={{rel}}====
* {{l|es|seducción}}
* {{l|es|seductor}}
jsuuzmekjg4np6ekc8nq7dddwl251xy
implicar
0
193933
2281334
1433448
2026-06-09T11:39:11Z
Kuroco2k
84207
2281334
wikitext
text/x-wiki
=={{gl}}==
==={{etym}}===
{{etyl|lat|glg}} ''[[implicare|implicāre]]''
==={{verb}}===
{{gl-verb|implic|ar|pret=impliquei}}
#{{おくりがな3|巻|ま|き|添|ぞ|え|まきぞえ}}にする。
#[[含蓄]]する。[[暗示]]する。
{{gl-conj-car|implic|impliqu}}
----
=={{es}}==
==={{etym}}===
{{etyl|lat|spa}} ''[[implicare|implicāre]]''
==={{verb}}===
{{es-verb|implic|ar|pret=impliqué}}
#{{おくりがな3|巻|ま|き|添|ぞ|え|まきぞえ}}にする。
#[[含蓄]]する。[[暗示]]する。
===={{conjug}}====
{{es-conj}}
----
=={{pt}}==
==={{verb}}===
{{pt-verb|impli|car}}
#{{おくりがな3|巻|ま|き|添|ぞ|え|まきぞえ}}にする。
#[[含蓄]]する。[[暗示]]する。
{{pt-conj|impli|car}}
tb81caq3smemiqkroq653v4ns08eu2u
職分
0
195745
2280933
2278032
2026-06-08T13:53:07Z
M-30722
1202
2280933
wikitext
text/x-wiki
{{kana-DEFAULTSORT|しょくぶん}}
{{wikipedia}}
=={{L|ja}}==
{{ja-kanjitab|しょく|ぶん|yomi=o}}
==={{pron}}===
{{ja-pron|しょくぶん|acc=2}}
==={{noun}}===
{{ja-noun|[[しょくぶん]]}}
#その[[職務]]に[[つく|就い]]ている者が[[当然]]しなければならない事。
#{{タグ|ja|職業}}[[能楽師]]。
=={{L|zh}}==
{{zh-cat|zhi2fen4|名詞}}
{{yue-cat|jik1fan6|名詞}}
{{nan-cat|chit4hun7|名詞}}
==={{pron}}===
{{cmn-pron|zhífèn}}
{{yue-pron|zik1 fan6}}
{{nan-pron|ml,tw:chit-hūn}}
==={{noun}}===
{{zhchars|s=职分}}
#職分、[[職責]]。
#[[官職]]。
=={{L|ko}}==
==={{noun}}===
{{ko-head|noun|직분}}
#職分、[[役目]]。
=={{L|vi}}==
==={{noun}}===
{{vi-head|noun|chức|phận}}
#職分、[[本分]]。
ianxb3kvx6xkjmt8hsop3i339279utz
食分
0
195752
2280934
2225347
2026-06-08T13:54:14Z
M-30722
1202
2280934
wikitext
text/x-wiki
{{kana-DEFAULTSORT|しょくぶん}}
{{also|蝕分}}
=={{L|ja}}==
{{ja-kanjitab|しょく|ぶん|yomi=o}}
==={{pron}}===
{{ja-pron|しょくぶん|acc=0}}
==={{noun}}===
{{ja-noun|[[しょくぶん]]}}
#{{タグ|ja|天文学}}[[日食]]・[[月食]]で、[[太陽]]・[[つき|月]]の[[かける|欠け]]た[[部分]]の[[わりあい|割合]]。
4lo42iydfgztsthnh4qgqld08bt87ht
しょくぶん
0
195753
2280935
1489616
2026-06-08T13:54:42Z
M-30722
1202
2280935
wikitext
text/x-wiki
{{kana-DEFAULTSORT}}
=={{L|ja}}==
==={{kangokana}}===
{{ja-kangokana|h=y}}
*【[[職分]]】①その[[職務]]に[[つく|就い]]ている者が[[当然]]しなければならない事。②[[能楽師]]。
*【[[食分]]】[[日食]]・[[月食]]で、[[太陽]]・[[つき|月]]の[[かける|欠け]]た[[部分]]の[[わりあい|割合]]。
27gvohj5h8nakfib3eg5ooe5egr74j9
職掌
0
195761
2280916
2278019
2026-06-08T13:38:24Z
M-30722
1202
2280916
wikitext
text/x-wiki
{{kana-DEFAULTSORT|しょくしょう}}
=={{L|ja}}==
{{ja-kanjitab|しょく|しょう|yomi=o}}
==={{pron}}===
{{ja-pron|しょくしょう|acc=0}}
{{ja-accent-common|region=京阪|h||しょくしょー}}
==={{noun}}===
{{ja-noun-suru|[[しょくしょう]]}}
#[[担当]]する[[しごと|仕事]]。
=={{L|zh}}==
{{zh-cat|zhi2zhang3|名詞|動詞}}
==={{pron}}===
{{cmn-pron|zhízhǎng|h=y}}
==={{noun}}===
{{zhchars|s=职掌}}
#職掌。[[職務]]。[[職分]]。
==={{verb}}===
{{zhchars|s=职掌}}
#職務として[[担当]]する。
gmm3y4szungg6rzvhyupm7amgidj8st
微風
0
199527
2281157
1490012
2026-06-09T06:35:53Z
Jiba1219
100610
2281157
wikitext
text/x-wiki
{{kana-DEFAULTSORT|びふう}}
=={{L|ja}}==
{{ja-kanjitab|び|ふう|yomi=kanon,goon}}
==={{pron}}===
{{ja-pron|びふう|acc=0|acc_ref=DJR,NHK,SMK5}}
==={{noun}}===
{{ja-noun|[[びふう]]|[[そよかぜ]]}}
#[[かすか]]に[[ふく|吹く]][[かぜ|風]]。
===脚注===
{{Reflist}}
=={{L|zh}}==
[[Category:{{zh}}|wei1feng1]]
==={{pron}}===
{{cmn-pron|wēifēng|wéifēng}}
{{yue-pron|mei4 fung1}}
{{nan-pron|xm,tw:bî-hong}}
==={{noun}}===
[[Category:{{zh}}_{{noun}}|wei1feng1]]
[[Category:{{zh}}_風|wei1feng1]]
{{zhchars|s=微风}}
#(日本語に同じ)微風。[[そよかぜ|そよ風]]。
[[Category:{{yue}}|mei4fung1]]
[[Category:{{yue}}_{{noun}}|mei4fung1]]
[[Category:{{yue}}_風|mei4fung1]]
[[Category:{{nan}}|bi5hong1]]
[[Category:{{nan}}_{{noun}}|bi5hong1]]
[[Category:{{nan}}_風|bi5hong1]]
=={{L|ko}}==
==={{noun}}===
{{ko-head|noun|미풍|cat2=風}}
#(日本語に同じ)微風。[[そよかぜ|そよ風]]。
81hv7s9c0zopq6mvh26blev2qu671p1
たいしゃ
0
203259
2281195
1711777
2026-06-09T09:47:56Z
うーむ
129171
/* */
2281195
wikitext
text/x-wiki
{{DEFAULTSORT:たいしや}}
{{also|だいしゃ|だいじゃ}}
=={{ja}}==
[[Category:{{ja}}]]
==={{homonym}}===
[[Category:{{ja}}_同音異義]]
'''{{PAGENAME}}'''
*【[[大社]]】名高い神社。
*【[[代謝]]】[[新陳代謝]]の略称。
*【[[退社]]】[[会社]]を辞めること。
*【[[代赭]]】[[代赭色]]の略称。
*【[[大赦]]】[[恩赦]]の一種。
*【[[大射]]】[[射礼]]。
*【[[対者]]】[[あいて|相手]]。
cpw3y3n28ls6y7scrkhof01iebkslfw
invenir
0
215392
2281322
1530638
2026-06-09T11:39:08Z
Kuroco2k
84207
2281322
wikitext
text/x-wiki
=={{es}}==
==={{etym}}===
{{etyl|lat|spa}} ''[[invenire|invenīre]]''
==={{verb}}===
{{es-verb|inven|ir|pres=invengo|pret=invine}}
#{{おくりがな3|見|み||付|つ|ける|みつける}}。[[発見]]する。
===={{conjug}}====
{{es-conj|nocomb=1}}
===={{rel}}====
* {{l|es|invención}}
olw336egq5ni4d4hlsmsxhuk3s53u1b
風紀
0
216579
2281163
1493251
2026-06-09T06:52:24Z
Jiba1219
100610
2281163
wikitext
text/x-wiki
{{kana-DEFAULTSORT|ふうき}}
=={{L|ja}}==
==={{pron}}===
{{ja-pron|ふうき|acc=1|acc_ref=DJR}}
==={{noun}}===
{{ja-noun|[[ふうき]]}}
#[[社会秩序]]を[[たもつ|保つ]]ために[[必要]]な[[規律]]。
===脚注===
{{Reflist}}
=={{L|zh}}==
[[Category:{{zh}}|feng1ji4]]
==={{pron}}===
{{cmn-pron|fēngjì}}
{{yue-pron|fung1 gei2}}
{{nan-pron|hong-kí}}
==={{noun}}===
[[Category:{{zh}}_{{noun}}|feng1ji4]]
{{zhchars|s=风纪}}
#(日本語に同じ)風紀。
[[Category:{{yue}}|fung1gei2]]
[[Category:{{yue}}_{{noun}}|fung1gei2]]
[[Category:{{nan}}|hong1ki2]]
[[Category:{{nan}}_{{noun}}|hong1ki2]]
=={{L|ko}}==
==={{noun}}===
{{ko-head|noun|풍기}}
#(日本語に同じ)風紀。
ngz300cb76nh0yez8taz38st6k2bhiq
avanzar
0
221206
2281238
1676141
2026-06-09T11:03:36Z
Kuroco2k
84207
2281238
wikitext
text/x-wiki
=={{es}}==
==={{verb}}===
{{es-verb|avanz|ar|pret=avancé}}
#{{おくりがな2|進|すす|む|すすむ}}。[[前進]]する。前進させる。
===={{conjug}}====
{{es-conj}}
===={{rel}}====
* {{l|es|avance|g=m}}
* {{l|es|avanzadilla|g=f}}
1bvnrv0jnrpq5a9zu14fjsgptxrs3n9
pungir
0
225677
2281365
1531869
2026-06-09T11:51:10Z
Kuroco2k
84207
2281365
wikitext
text/x-wiki
=={{es}}==
==={{etym}}===
{{etyl|lat|spa}} ''[[pungere]]''
==={{verb}}===
{{es-verb|pung|ir|pres=punjo}}
#{{おくりがな2|刺|さ|す|さす}}。{{おくりがな2|突|つ|く|つく}}。
===={{conjug}}====
{{es-conj|nocomb=1}}
===={{rel}}====
* {{l|es|pungente}}
* {{l|es|punto}}
* {{l|es|punzar}}
9hiy52i9xsbzl9pykoctqik3jmtxn4m
𮍉
0
228446
2280927
1848172
2026-06-08T13:47:18Z
KashiDisco
119947
/* 字源 */
2280927
wikitext
text/x-wiki
{{デフォルトソート:U+2E349}}
==漢字==
[[file:U2e349.svg|100px|right]]
<span lang="ja" xml:lang="ja" style="font-size:350%">𮍉</span>
*{{部首|肉|15}}
*{{総画|21}}
===字源===
* 「[[膷]]」の字音が失われ、字体の訛変を経た日本製の[[異体字]]。<ref group="字源">笹原宏之「国字(日本製漢字)と誤認されてきた唐代の漢字──佚存文字に関する考察──」沈国威、内田慶市編著『東アジア言語接触の研究』関西大学出版部、2016年、一三~二〇頁。</ref>
====参考文献====
<references group="字源" />
===意義===
#「[[うし|牛]]の[[あつもの|羹]]」の[[意]]。牛を[[にこむ|煮込ん]]だ[[あつい|熱い]][[しるもの|汁物]]。
=={{L|ja}}==
[[カテゴリ:{{ja}}|うしのあつもの]]
==={{pron}}===
* 音読み
*:無し
* 訓読み
*: うしのあつもの
==文字情報==
===文字コード===
{{codepoint}}
[[カテゴリ:漢字]]
[[カテゴリ:日本の国字]]
[[カテゴリ:Unicode CJK Unified Ideographs Extension F]]
gj1c6qs2pxfw3nzbhi1jk1kj6ozuide
2280936
2280927
2026-06-08T13:55:56Z
M-30722
1202
2280936
wikitext
text/x-wiki
==漢字==
{{kanji|肉|15}}
===字源===
* 「[[膷]]」の字音が失われ、字体の訛変を経た日本製の[[異体字]]。<ref group="字源">笹原宏之「国字(日本製漢字)と誤認されてきた唐代の漢字──佚存文字に関する考察──」沈国威、内田慶市編著『東アジア言語接触の研究』関西大学出版部、2016年、一三~二〇頁。</ref>
====参考文献====
<references group="字源" />
===意義===
#「[[うし|牛]]の[[あつもの|羹]]」の[[意]]。牛を[[にこむ|煮込ん]]だ[[あつい|熱い]][[しるもの|汁物]]。
=={{L|ja}}==
{{ja-kanji|訓=うしのあつもの|国=1}}
=={{コード}}==
{{文字コード}}
6v2c16005zztxrfhx710mqyf8esq980
カテゴリ:ウイルス
14
235043
2280931
1318444
2026-06-08T13:48:30Z
鍼灸
112313
2280931
wikitext
text/x-wiki
<div class="pathnavbox">
*{{Pathnav|カテゴリ|分野|科学|自然科学|生物学|微生物学|ウイルス学}}
*{{Pathnav|カテゴリ|分野|自然|生物}}
</div>
{{DEFAULTSORT:ういるす}}
[[カテゴリ:ウイルス学|*ういるす]]
[[カテゴリ:生物|*ういるす]]
[[カテゴリ:分野の一覧]]
32hhxlrsbczyv05w3im5x9ud277tzvn
等分
0
245811
2281139
1497298
2026-06-09T06:11:04Z
Jiba1219
100610
2281139
wikitext
text/x-wiki
=={{L|ja}}==
==={{pron}}===
{{ja-pron|とうぶん|acc=0|acc_ref=NHK}}
==={{noun}}===
{{ja-noun-suru|[[とうぶん]]}}
#[[ひとしい|等しい]][[分量]]に[[わける|分ける]]こと。また、その分量。
==={{verb}}===
{{日本語サ変活用}}
===脚注===
{{Reflist}}
=={{L|zh}}==
[[Category:{{zh}}|deng3fen1]]
==={{pron}}===
{{cmn-pron|děngfēn}}
{{yue-pron|dang2 fan1}}
{{nan-pron|téng-hun}}
==={{verb}}===
[[Category:{{zh}}_{{verb}}|deng3fen1]]
{{zhchars}}
#等分する。
[[Category:{{yue}}|dang2fan1]]
[[Category:{{yue}}_{{verb}}|dang2fan1]]
[[Category:{{nan}}|teng2hun1]]
[[Category:{{nan}}_{{verb}}|teng2hun1]]
=={{L|ko}}==
==={{noun}}===
{{ko-head|noun|등분}}
#等分。
#[[等級]]の[[区分]]。
70d30dem5zqshc7o3aepo1p9wx6whuk
molestation
0
265034
2281019
1776255
2026-06-08T16:33:05Z
M-30722
1202
2281019
wikitext
text/x-wiki
=={{L|en}}==
==={{etym}}===
{{etyl|fro}} ''[[molestacion]]'' < {{etyl|la}} ''[[molestatio]]''
==={{pron}}===
* {{a|UK}} {{IPA|lang=en|mɒlɪˈsteɪʃən|ˌməʊlɪˈsteɪʃən}}
* {{a|US}} {{enPR|mō'lĕstāʹshən}}, {{IPA|lang=en|ˌmoʊlɪˈsteɪʃən}}
* {{音声|en|LL-Q1860 (eng)-VCcortex-molestation.wav|a=米}}
==={{noun}}===
{{en-noun|s|-}}
#{{タグ|en|犯罪|性}}[[性的]][[いたずら]]。[[痴漢]][[行為]]。
tof0xgm0nml9wetov9dpmxmr2o8f0v9
surtaxer
0
269219
2281165
1428613
2026-06-09T06:55:19Z
Jiba1219
100610
2281165
wikitext
text/x-wiki
=={{L|fr}}==
==={{etym}}===
{{prefix|sur|taxer|lang=fr}}
==={{pron}}===
* {{IPA|syʁ.tak.se|lang=fr}}
==={{verb}}===
{{fr-verb}}
#{{context|legal|lang=fr}}[[付加税]]を[[課]]する。
{{fr-conj-auto}}
emllbkhbfgzae4v0jje3qfphjfo0qam
modelar
0
278840
2281201
1397467
2026-06-09T10:42:16Z
Kuroco2k
84207
2281201
wikitext
text/x-wiki
=={{ca}}==
==={{verb}}===
{{ca-verb|ar|model}}
#[[模型]]を{{おくりがな2|作|つく|る|つくる}}。
{{ca-conj-ar|model}}
===={{rel}}====
* {{l|ca|model}}
* {{l|ca|modelatge}}
----
=={{gl}}==
==={{verb}}===
{{gl-verb|model|ar}}
#[[模型]]を{{おくりがな2|作|つく|る|つくる}}。
{{gl-conj-ar|model}}
----
=={{es}}==
==={{etym}}===
{{suffix+|modelo|ar|lang=spa}}
==={{verb}}===
{{es-verb|model|ar}}
#[[模型]]を{{おくりがな2|作|つく|る|つくる}}。
===={{conjug}}====
{{es-conj}}
----
=={{pt}}==
==={{etym}}===
{{suffix+|modelo|ar|lang=por}}
==={{verb}}===
{{pt-verb|model|ar}}
#[[模型]]を{{おくりがな2|作|つく|る|つくる}}。
{{pt-conj|model|ar}}
fycarqvy9iczystpm8u0g6ttw0z00p8
𡱖
0
281071
2280913
2280137
2026-06-08T13:33:52Z
KashiDisco
119947
/* 字源 */
2280913
wikitext
text/x-wiki
{{wikipedia|つび}}
{{kana-DEFAULTSORT|くぼ}}
==漢字==
{{kanji|尸|6}}
===字源===
*[[形声文字|形声]]。「[[尸]]」 + [[音符]]「[[朱]]」。<ref>『{{w|新撰字鏡}}』に「[[朱]]音」とある。</ref>
**日本の[[国字]]とされてきたが、敦煌で発見された『天地陰陽交歓大楽賦』に同義で使われていることが発見された<ref>笹原宏之 著「国字(日本製漢字)と誤認されてきた唐代の漢字—供存文字に関する考察—」、沈国威、内田慶市 編『東アジア言語接触の研究』関西大学出版部〈関西大学東西学術研究所研究叢刊51〉、2016年2月</ref>。
===意義===
#[[女性器]]。
=={{L|ja}}==
{{ja-kanji|訓=くぼ,つび}}
=={{コード}}==
{{文字コード|jis=2-08-16|mj={{mjmoji|034343}}|gb=9537E230|cns=10-3B67|全={{全字庫|670567}}}}
{{字典|新潮漢字=2705|新字源=2425}}
==脚注==
<references/>
f6rpjj75utfgb1ctahieno7e2qrowtd
Wiktionary:おしらせ
4
288488
2281041
2279651
2026-06-08T21:30:08Z
MediaWiki message delivery
27247
/* Tech News: 2026-24 */ 新しい節
2281041
wikitext
text/x-wiki
このページは、ウィクショナリー日本語版の利用者に告知や意見募集を行うページです。ウィキメディア全体およびウィクショナリー日本語版全体に関わるようなものから、各トークページにおける議論へのコメント募集まで、様々なお知らせに使われます。Tech Newsのようなニュースレターもここに配布されています。
{{利用者:ArchiverBot/config
|archive = Wiktionary:おしらせ/%(year)d
|algo = old(90d)
|counter = 1
|minthreadsleft = 2
|minthreadstoarchive = 2
|archiveheader = {{Archives|Wiktionary:おしらせ}}
}}{{過去ログbox
|search=yes
|content=<div class="hlist">
[[/2020|2020]] / [[/2021|2021]] / [[/2022|2022]] / [[/2023|2023]] / [[/2024|2024]] / [[/2025|2025]] / [[/2026|2026]]
</div>}}
注意事項:掲載にあたって特別な許可や申請は要りません。新たなお知らせをするときは、新たな節 <code><nowiki>==○○==</nowiki></code> を作って投稿してください。お知らせ文の最後には署名 <code><nowiki>--~~~~</nowiki></code> をお願いします。掲載は投稿から90日を過ぎると過去ログ化され、このページから除去されます。議論や話し合い自体を立ち上げたいときは[[Wiktionary:編集室]]も利用できます。
{{lang|en|This page provides various announcements for Japanese Wiktionary. For example, calling for the participation in discussion on Meta-Wiki and delivery of Newsletters such as Tech News and Editting News are done here. Anyone can post such an announcement. If you want to discuss something with Japanese Wiktionary users rather than just informing, you can use [[Wiktionary:編集室]].}}
<p style="text-align:center;font-weight:bold;font-size:larger" class="plainlinks">[{{fullurl:Wiktionary:おしらせ|action=edit§ion=new}} 新しいお知らせを投稿する/{{lang|en|Post a new announcement}}]</p>
__TOC__
== <span lang="en" dir="ltr">Tech News: 2026-11</span> ==
<div lang="en" dir="ltr">
<section begin="technews-2026-W11"/><div class="plainlinks">
Latest '''[[m:Special:MyLanguage/Tech/News|tech news]]''' from the Wikimedia technical community. Please tell other users about these changes. Not all changes will affect you. [[m:Special:MyLanguage/Tech/News/2026/11|Translations]] are available.
'''Weekly highlight'''
* [[m:Special:MyLanguage/Tech/Server switch|All wikis will be read-only]] for a few minutes on Wednesday, 25 March 2026 at [https://zonestamp.toolforge.org/1774450800 15:00 UTC]. This is for the datacenter server switchover backup tests, [[wikitech:Deployments/Yearly calendar|which happen twice a year]]. During the switchover, all Wikimedia website traffic is shifted from one primary data center to the backup data center to test availability and prevent service disruption even in emergencies.
* Last week, all wikis had 2 hours of read-only time, and extended unavailability for user-scripts and gadgets. This was due to a security incident which has since been resolved. Work is ongoing to prevent re-occurrences. For current information please see the [[m:Steward's noticeboard#Statement on Meta about today's user script security incident|post on the Stewards' noticeboard]] ([[m:Special:MyLanguage/Wikimedia Foundation/Product and Technology/Product Safety and Integrity/March 2026 User Script Incident|translations]]).
'''Updates for editors'''
* Users facing multiple blocks on mobile will now see the reasons for each block separately, instead of a generic message. This helps them understand why they are blocked and what steps they can take to resolve the issue. For example, users affected for using common VPNs (such as [[Special:MyLanguage/Apple iCloud Private Relay|iCloud Private Relay]]) will receive clearer guidance on what they need to do to start editing again. [https://phabricator.wikimedia.org/T357118]
* Later this week, [[mw:Special:MyLanguage/VisualEditor/Suggestion Mode|Suggestion Mode]] will become available as a beta feature within the visual editor at all Wikipedias. This feature proactively suggests various types of actions that people can consider taking to improve Wikipedia articles, and learn about related guidelines. The feature is locally configurable, and can also be locally expanded with custom Suggestions. Current settings can be seen at [[Special:EditChecks]] and there are [[mw:Special:MyLanguage/Help:Suggestion mode#For administrators %E2%80%93 local customization|instructions for how administrators can customize]] the links to point to local guidelines. The feature is connected to [[mw:Special:MyLanguage/Help:Edit check|Edit check]] which suggests improvements while someone is writing new content. In the future, the Editing team plans to evaluate the feature's impact with newcomers through a controlled experiment. [https://phabricator.wikimedia.org/T404600]
* [[File:Reload icon with two arrows.svg|12px|link=|class=skin-invert|Recurrent item]] View all {{formatnum:23}} community-submitted {{PLURAL:23|task|tasks}} that were [[m:Special:MyLanguage/Tech/News/Recently resolved community tasks|resolved last week]]. For example, the issue where the cursor became misaligned during the use of CodeMirror’s syntax highlighting, which makes wikitext and code easier to read, has now been fixed. This problem specifically affected users who defined a font rule in a custom stylesheet while creating a new topic with DiscussionTools. [https://phabricator.wikimedia.org/T418793]
'''Updates for technical contributors'''
* API rate limiting update: To help ensure [[mw:Special:MyLanguage/MediaWiki Product Insights/Responsible Reuse|fair use of infrastructure]], global API rate limits will be applied this week to requests without a compliant User-Agent that originate from outside Toolforge/WMCS and to unauthenticated requests made from web browsers. Higher limits will be applied to identified traffic in April. Bots running in Toolforge/WMCS or with the bot user right on any wiki should not be affected for now. However, all developers are advised to follow updated best practices. For more information, see [[mw:Special:MyLanguage/Wikimedia APIs/Rate limits|Wikimedia APIs/Rate limits]].
* The new GraphQL API has been released. The API was developed as a flexible alternative to select features of the Wikidata Query Service (WDQS), to improve developer experience and foster adaptability, and efficient data access. Try it out and [[d:Wikidata:Wikibase GraphQL#Feedback and development|give feedback]]. You can also [https://greatquestion.co/wikimediadeutschland/GraphQLAPI/apply sign up for usability tests].
* The [[m:Special:MyLanguage/Product and Technology Advisory Council/Unsupported Tools Working Group|PTAC Unsupported Tools Working Group]] continued improvements to [[commons:Special:MyLanguage/Commons:Video2commons#|Video2Commons]] in February, with fixes addressing authentication errors, large-file handling, task queue visibility, and clearer upload behavior. Work is still ongoing in some areas, including changes related to deprecated server-side uploads. Read [[m:Special:MyLanguage/Product and Technology Advisory Council/Unsupported Tools Working Group#February 2026|this update]] to learn more.
* [[File:Reload icon with two arrows.svg|12px|link=|class=skin-invert|Recurrent item]] Detailed code updates later this week: [[mw:MediaWiki 1.46/wmf.19|MediaWiki]]
'''In depth'''
* The Article Guidance team invites experienced Wikipedia editors from selected [[mw:Special:MyLanguage/Article guidance/Pilot wikis and collaborators#Collaborators|pilot wikis]] and interested contributors from other Wikipedias to fill out this questionnaire which is available in [https://docs.google.com/forms/d/e/1FAIpQLSfmLeVWnxmsCbPoI_UF2jyRcn73WRGWCVPHzerXb4Cz97X_Ag/viewform English], [https://docs.google.com/forms/d/e/1FAIpQLSd6rzr4XXQw8r4024fE3geTPFe13M_6w7Mitj-YJi0sOlWTAw/viewform?usp=header Arabic], [https://docs.google.com/forms/d/e/1FAIpQLSdok3-RfB18lcugYTUMGkpwmqG_8p760Wv4dCXitOXOszjUDw/viewform?usp=header Bengali], [https://docs.google.com/forms/d/e/1FAIpQLSfjTfYp4jEo0akA4B1e-Nfg3QZPCudUjhJzHzzDi6AHyAaMGA/viewform?usp=header Japanese], [https://docs.google.com/forms/d/e/1FAIpQLScteVoI29Aue4xc72dekk-6RYtvmMgQxzMI900UOawrFrSTWg/viewform?usp=header Portuguese], [https://docs.google.com/forms/d/e/1FAIpQLSetdxnYwL3ub2vqA7awCg5hJZPMIYcDPaiTe12rY9h0GYnVlw/viewform?usp=header Persian], and [https://docs.google.com/forms/d/e/1FAIpQLScNvfJF-Ot-4pzA4qAN771_0QDJ4Li19YcUsaTgSKW8Nc7U_Q/viewform?usp=header Turkish]. Your answers will help the team customize guidance for less experienced editors and help them learn community policies and practices while creating an article. Learn more [[mw:Special:MyLanguage/Article guidance|on the project page]].
'''''[[m:Special:MyLanguage/Tech/News|Tech news]]''' prepared by [[m:Special:MyLanguage/Tech/News/Writers|Tech News writers]] and posted by [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]] • [[m:Special:MyLanguage/Tech/News#contribute|Contribute]] • [[m:Special:MyLanguage/Tech/News/2026/11|Translate]] • [[m:Tech|Get help]] • [[m:Talk:Tech/News|Give feedback]] • [[m:Global message delivery/Targets/Tech ambassadors|Subscribe or unsubscribe]].''
</div><section end="technews-2026-W11"/>
</div>
<bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 2026年3月9日 (月) 18:53 (UTC)
<!-- User:STei (WMF)@metawiki が https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=30213008 のリストを使用して送信したメッセージ -->
== <span lang="en" dir="ltr">Tech News: 2026-12</span> ==
<div lang="en" dir="ltr">
<section begin="technews-2026-W12"/><div class="plainlinks">
Latest '''[[m:Special:MyLanguage/Tech/News|tech news]]''' from the Wikimedia technical community. Please tell other users about these changes. Not all changes will affect you. [[m:Special:MyLanguage/Tech/News/2026/12|Translations]] are available.
'''Updates for editors'''
* The [[mw:Special:MyLanguage/Help:Extension:CodeMirror|{{int:codemirror-beta-feature-title}}]] beta feature, also known as [[mw:Special:MyLanguage/Extension:CodeMirror|CodeMirror 6]], has been used for wikitext syntax highlighting since November 2024. It will be promoted out of beta by May 2026 in order to bring improvements and new [[mw:Special:MyLanguage/Help:Extension:CodeMirror#Features|features]] to all editors who use the standard syntax highlighter. If you have any questions or concerns about promoting the feature out of beta, [[mw:Special:MyLanguage/Help talk:Extension:CodeMirror|please share]]. [https://phabricator.wikimedia.org/T259059]
* Some changes to local user groups are performed by stewards on Meta-Wiki and logged there only. Now, interwiki rights changes will be logged both on Meta-Wiki and the wiki of the target user to make it easier to access a full record of user's rights changes on a local wiki. Past log entries for such changes will be backfilled in the coming weeks. [https://phabricator.wikimedia.org/T6055]
* On wikis using [[m:Special:MyLanguage/Flagged Revisions|Flagged Revisions]], the number of pending changes shown on [[{{#Special:PendingChanges}}]] previously counted pages which were no longer pending review, because they have been removed from the system without being reviewed, e.g. due to being deleted, moved to a different namespace, or due to wiki configuration changes. The count will be correct now. On some wikis the number shown will be much smaller than before. There should be no change to the list of pages itself. [https://phabricator.wikimedia.org/T413016]
* Wikifunctions composition language has been rewritten, resulting in a new version of the language. This change aims to increase service stability by reducing the orchestrator's memory consumption. This rewrite also enables substantial latency reduction, code simplification, and better abstractions, which will open the door to later feature additions. Read more about [[f:Special:MyLanguage/Wikifunctions:Status updates/2026-03-11|the changes]].
* Users can now sort search results alphabetically by page title. The update gives an additional option to finding pages more easily and quickly. Previously, results could be sorted by Edit date, Creation date, or Relevance. To use the new option, open 'Advanced Search' on the search results page and select 'Alphabetically' under 'Sorting Order'. [https://phabricator.wikimedia.org/T403775]
* [[File:Reload icon with two arrows.svg|12px|link=|class=skin-invert|Recurrent item]] View all {{formatnum:28}} community-submitted {{PLURAL:28|task|tasks}} that were [[m:Special:MyLanguage/Tech/News/Recently resolved community tasks|resolved last week]]. For example, the bug that prevented UploadWizard on Wikimedia Commons from importing files from Flickr has now been fixed. [https://phabricator.wikimedia.org/T419263]
'''Updates for technical contributors'''
* A new special page, [[{{#special:LintTemplateErrors}}]], has been created to list transcluded pages that are flagged as containing lint errors to help users discover them easily. The list is sorted by the number of transclusions with errors. For example: [[{{#special:LintTemplateErrors}}/night-mode-unaware-background-color]]. [https://phabricator.wikimedia.org/T170874]
* Users of the [[mw:Special:MyLanguage/Help:Extension:CodeMirror|{{int:codemirror-beta-feature-title}}]] beta feature have been using [[mw:Special:MyLanguage/Extension:CodeMirror|CodeMirror]] instead of [[mw:Special:MyLanguage/Extension:CodeEditor|CodeEditor]] for syntax highlighting when editing JavaScript, CSS, JSON, Vue and Lua content pages, for some time now. Along with promoting CodeMirror 6 out of beta, the plan is to replace CodeEditor as the standard editor for these content models by May 2026. [[mw:Special:MyLanguage/Help talk:Extension:CodeMirror|Feedback or concerns are welcome]]. [https://phabricator.wikimedia.org/T419332]
* The [[mw:Special:MyLanguage/Extension:CodeMirror|CodeMirror]] JavaScript modules will soon be upgraded to CodeMirror 6. Leading up to the upgrade, loading the <code dir=ltr>ext.CodeMirror</code> or <code dir=ltr>ext.CodeMirror.lib</code> modules from gadgets and user scripts was deprecated in July 2025. The use of the <code dir=ltr>ext.CodeMirror.switch</code> hook was also deprecated in March 2025. Contributors can now make their scripts or gadgets compatible with CodeMirror 6. See the [[mw:Special:MyLanguage/Extension:CodeMirror#Gadgets and user scripts|migration guide]] for more information. [https://phabricator.wikimedia.org/T373720]
* The MediaWiki Interfaces team is expanding coverage of REST API module definitions to include [[mw:Special:MyLanguage/API:REST API/Extensions|extension APIs]]. REST API modules are groups of related endpoints that can be independently managed and versioned. Modules now exist for [https://phabricator.wikimedia.org/T414470 GrowthExperiments] and [https://phabricator.wikimedia.org/T419053 Wikifunctions] APIs. As we migrate extension APIs to this structure, documentation will move out of the main MediaWiki OpenAPI spec and REST Sandbox view, and will instead be accessible via module-specific options in the dropdown on the [https://test.wikipedia.org/wiki/Special:RestSandbox REST Sandbox] (i.e., [[{{#Special:RestSandbox}}]], available on all wiki projects).
* The [[mw:Special:MyLanguage/Extension:Scribunto|Scribunto]] extension provides different pieces of information about the wiki where the module is being used via the [[mw:Special:MyLanguage/Extension:Scribunto/Lua reference manual|mw.site]] library. Starting last week, the library also provides a [[mw:Special:MyLanguage/Extension:Scribunto/Lua reference manual#mw.site.wikiId|way]] of accessing the [[mw:Special:MyLanguage/Manual:Wiki ID|wiki ID]] that can be used to facilitate cross-wiki module maintenance. [https://phabricator.wikimedia.org/T146616]
* [[File:Reload icon with two arrows.svg|12px|link=|class=skin-invert|Recurrent item]] Detailed code updates later this week: [[mw:MediaWiki 1.46/wmf.20|MediaWiki]]
'''In depth'''
* The [[m:Special:MyLanguage/Coolest Tool Award|2026 Coolest Tool Award]] celebrating outstanding community tools, is now open for nominations! Nominate your favorite tool using the [https://wikimediafoundation.limesurvey.net/435684?lang=en nomination survey] form by 23 March 2026. For more information on privacy and data handling, please see the [[foundation:Special:MyLanguage/Legal:Coolest_Tool_Award_2026_Survey_Privacy_Statement|survey privacy statement]].
'''''[[m:Special:MyLanguage/Tech/News|Tech news]]''' prepared by [[m:Special:MyLanguage/Tech/News/Writers|Tech News writers]] and posted by [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]] • [[m:Special:MyLanguage/Tech/News#contribute|Contribute]] • [[m:Special:MyLanguage/Tech/News/2026/12|Translate]] • [[m:Tech|Get help]] • [[m:Talk:Tech/News|Give feedback]] • [[m:Global message delivery/Targets/Tech ambassadors|Subscribe or unsubscribe]].''
</div><section end="technews-2026-W12"/>
</div>
<bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 2026年3月16日 (月) 19:35 (UTC)
<!-- User:STei (WMF)@metawiki が https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=30260505 のリストを使用して送信したメッセージ -->
== <span lang="en" dir="ltr">Tech News: 2026-13</span> ==
<div lang="en" dir="ltr">
<section begin="technews-2026-W13"/><div class="plainlinks">
Latest '''[[m:Special:MyLanguage/Tech/News|tech news]]''' from the Wikimedia technical community. Please tell other users about these changes. Not all changes will affect you. [[m:Special:MyLanguage/Tech/News/2026/13|Translations]] are available.
'''Weekly highlight'''
* Wikimedia site users can now log in without a password using passkeys. This is a secure method supported by fingerprint, facial recognition, or PIN. With this change, all users who opt for passwordless login will find it easier, faster, and more secure to log in to their accounts using any device. The new passkey login option currently appears as an autofill suggestion in the username field. An additional [[phab:T417120|"Log in with passkey" button]] will soon be available for users who have already registered a passkey. This update will improve security and user experience. The [[c:File:Passwordless_login_screencast.webm|screen recording]] demonstrates the passwordless login process step by step.
* [[m:Special:MyLanguage/Tech/Server switch|All wikis will be read-only]] for a few minutes on Wednesday, 25 March 2026 at [https://zonestamp.toolforge.org/1774450800 15:00 UTC]. This is for the datacenter server switchover backup tests, [[wikitech:Deployments/Yearly calendar|which happen twice a year]]. During the switchover, all Wikimedia website traffic is shifted from one primary data center to the backup data center to test availability and prevent service disruption even in emergencies.
'''Updates for editors'''
* Wikimedia site users can now export their notifications older than 5 years using a [[toolforge:echo-chamber|new Toolforge tool]]. This will ensure that users retain their important notifications and avoid them being lost based on the planned change to delete notifications older than 5 years, as previously announced. [https://phabricator.wikimedia.org/T383948]
* Wikipedia editors in Indonesian, Thai, Turkish, and Simple English now have access to Special:PersonalDashboard. This is an [[mw:Special:MyLanguage/Moderator Tools/Dashboard|early version of an experience]] that introduces newer editors to patrolling workflows, making it easier for them to move from making edits to participating in more advanced moderation work on their project. [https://phabricator.wikimedia.org/T402647]
* The [[Special:Block]] now has two minor interface changes. Administrators can now easily perform indefinite blocks through a dedicated radio button in the expiry section. Also, choosing an indefinite expiry provides a different set of common reasons to select from, which can be changed at: [[MediaWiki:Ipbreason-indef-dropdown]]. [https://phabricator.wikimedia.org/T401823]
* Mobile editors [[mw:Special:MyLanguage/Contributors/Account Creation Experiments#Logged-out|at several wikis]] can now see an improved logged-out edit warning, thanks to the recent updates from the Growth team. These changes released last week are part of ongoing efforts and tests to enhance [[mw:Special:MyLanguage/Contributors/Account Creation Experiments|account creation experience on mobile]] and then increase participation. [https://phabricator.wikimedia.org/T408484]
* [[File:Reload icon with two arrows.svg|12px|link=|class=skin-invert|Recurrent item]] View all {{formatnum:36}} community-submitted {{PLURAL:36|task|tasks}} that were [[m:Special:MyLanguage/Tech/News/Recently resolved community tasks|resolved last week]]. For example, the bug that prevented mobile web users from seeing the block information when affected by multiple blocks has been fixed. They can now see messages of all the blocks currently affecting them when they access Wikipedia.
'''Updates for technical contributors'''
* Images built using Toolforge will soon get the upgraded buildpacks version, bringing support for newer language versions and other upstream improvements and fixes. If you use Toolforge Build Service, review the recent [https://lists.wikimedia.org/hyperkitty/list/cloud-announce@lists.wikimedia.org/thread/EMYTA32EV2V5SQ2JIEOD2CL66YFIZEKV/ cloud-announce email] and update your build configuration as necessary to ensure your tools are compatible. [https://wikitech.wikimedia.org/w/index.php?title=Help:Toolforge/Building_container_images&oldid=2392097#Buildpack_environment_upgrade_process][https://phabricator.wikimedia.org/T380127]
* The [https://api.wikimedia.org/wiki/Main_Page API Portal] documentation wiki will shut down in June 2026. API keys created on the API Portal will continue to work normally. api.wikimedia.org endpoints will be deprecated gradually starting in July 2026. Documentation on the API Portal is moving to [[mw:Wikimedia APIs|mediawiki.org]]. Learn more on the [[wikitech:API Portal/Deprecation|project page]].
* [[File:Reload icon with two arrows.svg|12px|link=|class=skin-invert|Recurrent item]] Detailed code updates later this week: [[mw:MediaWiki 1.46/wmf.21|MediaWiki]]
'''In depth'''
* [[m:Special:MyLanguage/WMDE Technical Wishes|WMDE Technical Wishes]] is considering improvements to [[m:WMDE Technical Wishes/References/VisualEditor automatic reference names|automatically generated reference names in VisualEditor]]. Please check out the [[m:WMDE Technical Wishes/References/VisualEditor automatic reference names#Proposed solutions|proposed solutions]] and participate in the [[m:Talk:WMDE Technical Wishes/References/VisualEditor automatic reference names#Request for comment|request for comment]].
'''''[[m:Special:MyLanguage/Tech/News|Tech news]]''' prepared by [[m:Special:MyLanguage/Tech/News/Writers|Tech News writers]] and posted by [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]] • [[m:Special:MyLanguage/Tech/News#contribute|Contribute]] • [[m:Special:MyLanguage/Tech/News/2026/13|Translate]] • [[m:Tech|Get help]] • [[m:Talk:Tech/News|Give feedback]] • [[m:Global message delivery/Targets/Tech ambassadors|Subscribe or unsubscribe]].''
</div><section end="technews-2026-W13"/>
</div>
<bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 2026年3月23日 (月) 16:51 (UTC)
<!-- User:UOzurumba (WMF)@metawiki が https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=30268305 のリストを使用して送信したメッセージ -->
== <span lang="en" dir="ltr">Tech News: 2026-14</span> ==
<div lang="en" dir="ltr">
<section begin="technews-2026-W14"/><div class="plainlinks">
Latest '''[[m:Special:MyLanguage/Tech/News|tech news]]''' from the Wikimedia technical community. Please tell other users about these changes. Not all changes will affect you. [[m:Special:MyLanguage/Tech/News/2026/14|Translations]] are available.
'''Weekly highlight'''
* The Beta version of [[abstract:|Abstract Wikipedia]] a new Wikimedia project which is language-independent, was launched last week. The project allows communities to build Wikipedia articles in their native language, which can be readily accessed by other users in their own languages. The wiki is powered by instructions from Wikifunctions and also based on structured content from Wikidata. [[:f:Special:MyLanguage/Wikifunctions:Status updates/2026-03-26|Read more]].
'''Updates for editors'''
* The Growth team is running an A/B test to evaluate a clearer, more user-friendly message that promotes account creation on wikis. Currently when logged-out mobile users begin editing, they see a jarring warning message that can feel abrupt and discouraging. This also presents temporary account editing as the default rather than encouraging account creation. The test is running on ten Wikipedias, including Arabic, French, Spanish and German. [[mw:Special:MyLanguage/Contributors/Account Creation Experiments#2. Improve logged-out warning message (T415160)|Read more]].
* The Wikimedia Apps team is inviting feedback on [[mw:Special:MyLanguage/Wikimedia Apps/Team/Future of Editing on the Mobile Apps|how editing should work on the Wikipedia mobile apps]]. The discussion focuses on improving how users access editing tools when they tap "Edit". This is part of a broader effort to convert readers who develop an interest in editing, to access a more user-friendly pathway to start contributing.
* [[File:Reload icon with two arrows.svg|12px|link=|class=skin-invert|Recurrent item]] View all {{formatnum:45}} community-submitted {{PLURAL:45|task|tasks}} that were [[m:Special:MyLanguage/Tech/News/Recently resolved community tasks|resolved last week]]. For example, an issue where citation fetching from the large newspaper archive [https://www.newspapers.com Newspapers.com] was no longer working, due to a block in [[mw:Special:MyLanguage/Citoid|Citoid]] requests, has now been fixed. [https://phabricator.wikimedia.org/T419903]
'''Updates for technical contributors'''
* [[File:Reload icon with two arrows.svg|12px|link=|class=skin-invert|Recurrent item]] Detailed code updates later this week: [[mw:MediaWiki 1.46/wmf.22|MediaWiki]]
'''''[[m:Special:MyLanguage/Tech/News|Tech news]]''' prepared by [[m:Special:MyLanguage/Tech/News/Writers|Tech News writers]] and posted by [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]] • [[m:Special:MyLanguage/Tech/News#contribute|Contribute]] • [[m:Special:MyLanguage/Tech/News/2026/14|Translate]] • [[m:Tech|Get help]] • [[m:Talk:Tech/News|Give feedback]] • [[m:Global message delivery/Targets/Tech ambassadors|Subscribe or unsubscribe]].''
</div><section end="technews-2026-W14"/>
</div>
<bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 2026年3月30日 (月) 19:25 (UTC)
<!-- User:STei (WMF)@metawiki が https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=30329462 のリストを使用して送信したメッセージ -->
== Action Required: Update templates/modules for electoral maps (Migrating from P1846 to P14226) ==
Hello everyone,
This is a notice regarding an ongoing data migration on Wikidata that may affect your election-related templates and Lua modules (such as <code>Module:Itemgroup/list</code>).
'''The Change:'''<br />
Currently, many templates pull electoral maps from Wikidata using the property [[:d:Property:P1846|P1846]], combined with the qualifier [[:d:Property:P180|P180]]: [[:d:Q19571328|Q19571328]].
We are migrating this data (across roughly 4,000 items) to a newly created, dedicated property: '''[[:d:Property:P14226|P14226]]'''.
'''What You Need To Do:'''<br />
To ensure your templates and infoboxes do not break or lose their maps, please update your local code to fetch data from [[:d:Property:P14226|P14226]] instead of the old [[:d:Property:P1846|P1846]] + [[:d:Property:P180|P180]] structure. A [[m:Wikidata/Property Migration: P1846 to P14226/List|list of pages]] was generated using Wikimedia Global Search.
'''Deadline:'''<br />
We are temporarily retaining the old data on [[:d:Property:P1846|P1846]] to allow for a smooth transition. However, to complete the data cleanup on Wikidata, the old [[:d:Property:P1846|P1846]] statements will be removed after '''May 1, 2026'''. Please update your modules and templates before this date to prevent any disruption to your wiki's election articles.
Let us know if you have any questions or need assistance with the query logic. Thank you for your help! [[User:ZI Jony|ZI Jony]] using [[利用者:MediaWiki message delivery|MediaWiki message delivery]] ([[利用者・トーク:MediaWiki message delivery|トーク]]) 2026年4月3日 (金) 17:11 (UTC)
<!-- User:ZI Jony@metawiki が https://meta.wikimedia.org/w/index.php?title=Distribution_list/Non-Technical_Village_Pumps_distribution_list&oldid=29941252 のリストを使用して送信したメッセージ -->
== <span lang="en" dir="ltr">Tech News: 2026-15</span> ==
<div lang="en" dir="ltr">
<section begin="technews-2026-W15"/><div class="plainlinks">
Latest '''[[m:Special:MyLanguage/Tech/News|tech news]]''' from the Wikimedia technical community. Please tell other users about these changes. Not all changes will affect you. [[m:Special:MyLanguage/Tech/News/2026/15|Translations]] are available.
'''Updates for editors'''
* The [[mw:Special:MyLanguage/Help:Extension:CampaignEvents|CampaignEvents extension]] now includes a new group goal-setting feature, enabling organizers to set and track event goals such as the number of articles created and participating contributors in real time. Similarly, participants can work toward shared targets and see their collective impact as the event unfolds. The feature is now available on all Wikimedia wikis. Learn more in [[mw:Special:MyLanguage/Help:Extension:CampaignEvents/Registration/Collaborative contributions#Goal setting|the documentation]].
* [[File:Maki-gift-15.svg|12px|link=|class=skin-invert|Wishlist item]] The new [[mw:Special:MyLanguage/Help:Watchlist labels|watchlist labels]] feature (announced in [[m:Special:MyLanguage/Tech/News/2026/07|Tech News 2026-07]]) is now available via VisualEditor, the source editor, and the 'watchstar' (or watch link, for skins that don't have a star icon). Previously it was only possible to assign labels via [[Special:EditWatchlist|EditWatchlist]]. In all three places it is a new field following the expiry field.
* [[File:Reload icon with two arrows.svg|12px|link=|class=skin-invert|Recurrent item]] View all {{formatnum:23}} community-submitted {{PLURAL:23|task|tasks}} that were [[m:Special:MyLanguage/Tech/News/Recently resolved community tasks|resolved last week]]. For example, the issue where talk pages on mobile with Parsoid are unusable after empty section headers, has now been fixed. [https://phabricator.wikimedia.org/T419171]
'''Updates for technical contributors'''
* The [[m:Special:MyLanguage/WMDE Technical Wishes/Sub-referencing|sub-referencing feature]], which lets editors add details to an existing reference without duplicating it, will be gradually rolled out to [[phab:T414094|more wikis]] later this year. Wikis using the [[mw:Special:MyLanguage/Reference Tooltips|Reference Tooltips]] gadget are encouraged to update their version (typically at [[m:MediaWiki:Gadget-ReferenceTooltips.js|MediaWiki:Gadget-ReferenceTooltips.js]] as shown [https://en.wikipedia.org/w/index.php?diff=1344408362 here]) to ensure compatibility. Other reference-related gadgets may also be affected. [https://phabricator.wikimedia.org/T416304]
* All Wikinews editions will be closed and switched to read-only mode on 4 May 2026. Content will remain accessible, but no new edits or articles can be added. This closure was approved by the Board of Trustees of the Wikimedia Foundation following extended discussions. [[m:Wikimedia Foundation Board noticeboard#Board of Trustees Approves Closure of Wikinews|Read more]].
* The [[:mw:Special:MyLanguage/API:Action API|Action API]] has had several formats for requested output. One of them, <bdi lang="zxx" dir="ltr"><code><nowiki>format=php</nowiki></code></bdi>, is being removed soon. Please ensure your scripts or bots use the [[mw:Special:MyLanguage/API:Data formats#Output|JSON format]]. This removal should affect very few scripts and bots. [https://phabricator.wikimedia.org/T118538]
* The [[Special:NamespaceInfo|Special:NamespaceInfo]] page now includes namespace aliases. For example "WP" for the "Project" ("Wikipedia") namespace on the German Wikipedia. [https://phabricator.wikimedia.org/T381455]
* [[File:Reload icon with two arrows.svg|12px|link=|class=skin-invert|Recurrent item]] Detailed code updates later this week: [[mw:MediaWiki 1.46/wmf.23|MediaWiki]]
'''''[[m:Special:MyLanguage/Tech/News|Tech news]]''' prepared by [[m:Special:MyLanguage/Tech/News/Writers|Tech News writers]] and posted by [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]] • [[m:Special:MyLanguage/Tech/News#contribute|Contribute]] • [[m:Special:MyLanguage/Tech/News/2026/15|Translate]] • [[m:Tech|Get help]] • [[m:Talk:Tech/News|Give feedback]] • [[m:Global message delivery/Targets/Tech ambassadors|Subscribe or unsubscribe]].''
</div><section end="technews-2026-W15"/>
</div>
<bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 2026年4月6日 (月) 16:19 (UTC)
<!-- User:STei (WMF)@metawiki が https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=30362761 のリストを使用して送信したメッセージ -->
== <span lang="en" dir="ltr">Tech News: 2026-16</span> ==
<div lang="en" dir="ltr">
<section begin="technews-2026-W16"/><div class="plainlinks">
Latest '''[[m:Special:MyLanguage/Tech/News|tech news]]''' from the Wikimedia technical community. Please tell other users about these changes. Not all changes will affect you. [[m:Special:MyLanguage/Tech/News/2026/16|Translations]] are available.
'''Weekly highlight'''
* Experienced editors are invited to [https://b24e11a4f1.catalyst.wmcloud.org/wiki/Main_Page test] the [[mw:Special:MyLanguage/Article guidance|Article guidance]] feature, designed to help less-experienced editors create well-structured, policy-compliant Wikipedia articles. Testing instructions are [[mw:Special:MyLanguage/Article guidance/Test feature guide|available]]. Also, after reviewing [https://b24e11a4f1.catalyst.wmcloud.org/wiki/Category:Pages_using_article_guidance the outlines], please provide feedback on the [[mw:Talk:Article guidance|project talk page]]. Based on your input, the feature will be refined and transferred to the pilot Wikipedias to translate and adapt. Check out [[c:File:Article Guidance workflow demo - April 2026.webm|the video]] explaining the feature.
'''Updates for editors'''
* On most wikis, all autoconfirmed users can now use [[Special:ChangeContentModel|Special:ChangeContentModel]] page to [[mw:Special:MyLanguage/Help:ChangeContentModel|create new pages with custom content models]], such as mass message lists, making custom page formats more accessible. Check [[Special:ListGroupRights|Special:ListGroupRights]] for the status of your wiki. [https://phabricator.wikimedia.org/T248294]
* The Growth team has launched an [[mw:Special:MyLanguage/Contributors/Account_Creation_Experiments|account creation experiment]] to evaluate whether adding an account creation button to the mobile web header increases new account registrations and encourages more mobile users to contribute to the wikis. The experiment is currently live on Hindi, Indonesian, Bengali, Thai, and Hebrew Wikipedia, and targets 10% of logged-out mobile web users.
* [[File:Reload icon with two arrows.svg|12px|link=|class=skin-invert|Recurrent item]] View all {{formatnum:30}} community-submitted {{PLURAL:30|task|tasks}} that were [[m:Special:MyLanguage/Tech/News/Recently resolved community tasks|resolved last week]]. For example, an issue where VisualEditor could get stuck loading on Windows devices with animations turned off, has now been fixed. [https://phabricator.wikimedia.org/T382856]
'''Updates for technical contributors'''
* Starting later this week, {{int:group-abusefilter}} who have the [[mw:Special:MyLanguage/Help:Extension:CodeMirror|{{int:codemirror-beta-feature-title}}]] beta feature enabled will have [[mw:Special:MyLanguage/Extension:CodeMirror|CodeMirror]] instead of [[mw:Special:MyLanguage/Extension:CodeEditor|CodeEditor]] as the editor at [[Special:AbuseFilter|Special:AbuseFilter]]. This is part of the broader effort to make the user experience more consistent across all editors. [https://phabricator.wikimedia.org/T399673][https://phabricator.wikimedia.org/T419332]
* Tools and bots that access the [[mw:Special:MyLanguage/Notifications/API|Notifications API]] (<bdi lang="zxx" dir="ltr"><code><nowiki>action=query&meta=notifications</nowiki></code></bdi>) will need to update their OAuth or BotPassword grants to also include access to private notifications. [https://phabricator.wikimedia.org/T421991]
* Due to a library upgrade, listings on category pages may be displayed out of order starting on Monday, 20th April. A migration script will be run to correct this, and will take hours to days depending on the size of the wiki (up to a week for English Wikipedia). [https://phabricator.wikimedia.org/T422544]
* [[File:Reload icon with two arrows.svg|12px|link=|class=skin-invert|Recurrent item]] Detailed code updates later this week: [[mw:MediaWiki 1.46/wmf.24|MediaWiki]]
'''''[[m:Special:MyLanguage/Tech/News|Tech news]]''' prepared by [[m:Special:MyLanguage/Tech/News/Writers|Tech News writers]] and posted by [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]] • [[m:Special:MyLanguage/Tech/News#contribute|Contribute]] • [[m:Special:MyLanguage/Tech/News/2026/16|Translate]] • [[m:Tech|Get help]] • [[m:Talk:Tech/News|Give feedback]] • [[m:Global message delivery/Targets/Tech ambassadors|Subscribe or unsubscribe]].''
</div><section end="technews-2026-W16"/>
</div>
<bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 2026年4月13日 (月) 15:19 (UTC)
<!-- User:STei (WMF)@metawiki が https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=30380527 のリストを使用して送信したメッセージ -->
== <span lang="en" dir="ltr">Tech News: 2026-17</span> ==
<div lang="en" dir="ltr">
<section begin="technews-2026-W17"/><div class="plainlinks">
Latest '''[[m:Special:MyLanguage/Tech/News|tech news]]''' from the Wikimedia technical community. Please tell other users about these changes. Not all changes will affect you. [[m:Special:MyLanguage/Tech/News/2026/17|Translations]] are available.
'''Weekly highlight'''
* After two years of development, [[mw:Special:MyLanguage/Help:Extension:CodeMirror|{{int:codemirror-beta-feature-title}}]], also known as [[mw:Special:MyLanguage/Extension:CodeMirror|CodeMirror 6]], is to be promoted out of beta on Tuesday, April 21. It brings better code and wikitext readability, reduction in typing errors, and other [[mw:Special:MyLanguage/Help:Extension:CodeMirror|benefits]] to all users of the standard syntax highlighter. A huge thank you to volunteer [https://phabricator.wikimedia.org/p/Bhsd/ Bhsd] who developed many of the new features, including [[mw:Special:MyLanguage/Help:Extension:CodeMirror#Code folding|code folding]], [[mw:Special:MyLanguage/Help:Extension:CodeMirror#Autocompletion|autocompletion]], and [[mw:Special:MyLanguage/Help:Extension:CodeMirror#Linting|linting]]. [https://phabricator.wikimedia.org/T259059]
* A major update to the Wikipedia app for iOS is now rolling out, redesigning the interface to align with Apple's latest "Liquid Glass" visual design. [https://apps.apple.com/us/app/wikipedia/id324715238 Download the latest version] and explore the update.
'''Updates for editors'''
* [[mw:Special:MyLanguage/Readers/Reader Experience/WE3.3.4 Reading lists|Reading lists]] is a feature which allows readers to save articles to a list for reading later. This feature is now in beta on Arabic, French, Indonesian, Vietnamese, and Chinese Wikipedias and by default for all new accounts on all Wikipedias.
* An experiment which explores extending [[mw:Special:MyLanguage/Readers/Reader Growth/Mobile page previews|Page Previews to mobile web]] will be launched in the week of April 20 on Arabic, English, French, Italian, Polish, and Vietnamese Wikipedias. Page Previews are pop-ups that display a thumbnail, lead paragraph, and a link to open the full article of a blue link, thereby improving content discovery. The feature is already available on desktop and in the apps. [[m:Special:MyLanguage/List of experiments in Product and Technology#Template|Read more about this experiment and others]].
* On several wikis, logged-in editors who haven't [[mw:Special:MyLanguage/Help:Email confirmation|confirmed their email addresses]] can now see a banner encouraging them to do so. Having the email address confirmed allows a user to restore access to the account if they lose it. [[mw:Special:MyLanguage/Product Safety and Integrity/Account Security#Encouraging users to confirm their email addresses|Learn more]]. [https://phabricator.wikimedia.org/T421366]
* [[File:Reload icon with two arrows.svg|12px|link=|class=skin-invert|Recurrent item]] View all {{formatnum:15}} community-submitted {{PLURAL:15|task|tasks}} that were [[m:Special:MyLanguage/Tech/News/Recently resolved community tasks|resolved last week]]. For example, an issue where editing very large wiki pages in the 2017 wikitext editor caused slow loading, preview and scrolling lag, and performance issues when selecting, cutting, or pasting content, has now been fixed. [https://phabricator.wikimedia.org/T184857]
'''Updates for technical contributors'''
* As part of the promotion of [[mw:Special:MyLanguage/Help:Extension:CodeMirror|CodeMirror]] from a beta feature, all users will use [[mw:Special:MyLanguage/Extension:CodeMirror|CodeMirror]] instead of [[mw:Special:MyLanguage/Extension:CodeEditor|CodeEditor]] for syntax highlighting when editing JavaScript, CSS, JSON, Vue and Lua content pages. [https://phabricator.wikimedia.org/T419332]
* The <code>mirrors.wikimedia.org</code> service for Debian and Ubuntu users will sunset and stop working on May 15. The resources for the service will be replaced with new and better options. Some users may need to switch to a different server which should take about a minute. [https://lists.wikimedia.org/hyperkitty/list/wikitech-l@lists.wikimedia.org/thread/LJYRIS4WB66HIRCAO4GIDTXCMDVZRBMA/ You can read more]. [https://phabricator.wikimedia.org/T416707]
* The <bdi lang="zxx" dir="ltr"><code><nowiki>image</nowiki></code></bdi> and <bdi lang="zxx" dir="ltr"><code><nowiki>oldimage</nowiki></code></bdi> table will be removed from [[wikitech:Help:Wiki Replicas|wikireplicas]]. If your tools or queries access <bdi lang="zxx" dir="ltr"><code><nowiki>image</nowiki></code></bdi> or <bdi lang="zxx" dir="ltr"><code><nowiki>oldimage</nowiki></code></bdi> directly, please update them to use the <bdi lang="zxx" dir="ltr"><code><nowiki>file</nowiki></code></bdi> and <bdi lang="zxx" dir="ltr"><code><nowiki>filerevision</nowiki></code></bdi> table before 28 May. [https://phabricator.wikimedia.org/T28741]
* Following the recent implementation of global API rate limits on unidentified traffic, the Wikimedia Foundation will continue efforts to ensure [[mw:Special:MyLanguage/MediaWiki Product Insights/Responsible Reuse|fair use of infrastructure]] by applying global limits to identified API traffic beginning the last week of April. These limits are intentionally set as high as possible to minimise impact on the community. Bots running in Toolforge/WMCS or with the bot user right on any wiki should not be affected for now. However, all developers are advised to follow updated best practices. For more information, see [[mw:Special:MyLanguage/Wikimedia APIs/Rate limits|Wikimedia APIs/Rate limits]] and [[mw:Special:MyLanguage/Wikimedia APIs/Rate limits/FAQ|Frequently Asked Questions]].
* The [[mw:Special:MyLanguage/Attribution API|Attribution API]] is now available as a [[mw:Special:MyLanguage/Wikimedia APIs/Stability policy|beta]]. The API fetches information for crediting Wikimedia articles and media files wherever they are used. Reference documentation is available through the REST Sandbox special page available on all Wikimedia wikis (such as the [https://en.wikipedia.org/w/index.php?api=attribution.v0-beta&title=Special%3ARestSandbox REST sandbox on English Wikipedia]). Share your feedback on the [[mw:Talk:Attribution API|project talk page]].
* There is no new MediaWiki version this week.
'''''[[m:Special:MyLanguage/Tech/News|Tech news]]''' prepared by [[m:Special:MyLanguage/Tech/News/Writers|Tech News writers]] and posted by [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]] • [[m:Special:MyLanguage/Tech/News#contribute|Contribute]] • [[m:Special:MyLanguage/Tech/News/2026/17|Translate]] • [[m:Tech|Get help]] • [[m:Talk:Tech/News|Give feedback]] • [[m:Global message delivery/Targets/Tech ambassadors|Subscribe or unsubscribe]].''
</div><section end="technews-2026-W17"/>
</div>
<bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 2026年4月20日 (月) 15:00 (UTC)
<!-- User:STei (WMF)@metawiki が https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=30432763 のリストを使用して送信したメッセージ -->
== Request for comment (global AI policy) ==
<bdi lang="en" dir="ltr" class="mw-content-ltr">
Apologies for writing in English. {{int:Please-translate}}
A [[:m:Requests for comment/Artificial intelligence policy|request for comment]] is currently being held to decide on a global AI policy. {{int:Feedback-thanks-title}}
[[利用者:MediaWiki message delivery|MediaWiki message delivery]] ([[利用者・トーク:MediaWiki message delivery|トーク]]) 2026年4月26日 (日) 00:58 (UTC)
</bdi>
<!-- User:Codename Noreste@metawiki が https://meta.wikimedia.org/w/index.php?title=Distribution_list/Global_message_delivery&oldid=30424282 のリストを使用して送信したメッセージ -->
== <span lang="en" dir="ltr">Tech News: 2026-18</span> ==
<div lang="en" dir="ltr">
<section begin="technews-2026-W18"/><div class="plainlinks">
Latest '''[[m:Special:MyLanguage/Tech/News|tech news]]''' from the Wikimedia technical community. Please tell other users about these changes. Not all changes will affect you. [[m:Special:MyLanguage/Tech/News/2026/18|Translations]] are available.
'''Updates for editors'''
* There is a change in how new users are autoconfirmed that will improve anti-vandalism protection. Currently, users who have had an account for a few days and made a few edits are automatically added to the [[{{int:grouppage-autoconfirmed/{{CONTENTLANGUAGE}}}}|{{int:group-autoconfirmed}}]] group. This configuration tends to be exploited by some vandals, who create accounts and start to use them only after some time. To mitigate this, the configuration will be updated next week so that – for the purpose of becoming autoconfirmed – the account age will be counted from their first edit, instead of registration date. The numeric value of the age threshold will remain the same. This change will be deployed only to wikis which require at least one edit as part of the autoconfirmation conditions. [https://phabricator.wikimedia.org/T418484]
* All Wikipedia users with new accounts and those who activated the "automatically enable most beta features" option in their preference can now use the [[mw:Special:MyLanguage/Readers/Reader Experience/WE3.3.4 Reading lists|reading lists]] beta feature to save articles for later reading. This helps organize reading interests in one place for convenient access.
* [[File:Reload icon with two arrows.svg|12px|link=|class=skin-invert|Recurrent item]] View all {{formatnum:30}} community-submitted {{PLURAL:30|task|tasks}} that were [[m:Special:MyLanguage/Tech/News/Recently resolved community tasks|resolved last week]]. For example, the issue where infobox images have huge padding in Firefox, has been fixed. [https://phabricator.wikimedia.org/T423676]
'''Updates for technical contributors'''
* As a reminder, the global API rate limits will be applied this week to identified API traffic. This is to help ensure [[mw:MediaWiki Product Insights/Responsible Reuse|fair use of infrastructure]]. Bots running in Toolforge/WMCS or with the bot user right on any wiki should not be affected for now. However, all developers are advised to follow updated best practices. For more information, including the actual rate limits, see [[mw:Wikimedia APIs/Rate limits|Wikimedia APIs/Rate limits]] and [[mw:Wikimedia APIs/Rate limits/FAQ|Frequently Asked Questions]].
* [[File:Reload icon with two arrows.svg|12px|link=|class=skin-invert|Recurrent item]] Detailed code updates later this week: [[mw:MediaWiki 1.46/wmf.26|MediaWiki]]
'''''[[m:Special:MyLanguage/Tech/News|Tech news]]''' prepared by [[m:Special:MyLanguage/Tech/News/Writers|Tech News writers]] and posted by [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]] • [[m:Special:MyLanguage/Tech/News#contribute|Contribute]] • [[m:Special:MyLanguage/Tech/News/2026/18|Translate]] • [[m:Tech|Get help]] • [[m:Talk:Tech/News|Give feedback]] • [[m:Global message delivery/Targets/Tech ambassadors|Subscribe or unsubscribe]].''
</div><section end="technews-2026-W18"/>
</div>
<bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 2026年4月27日 (月) 18:06 (UTC)
<!-- User:UOzurumba (WMF)@metawiki が https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=30458046 のリストを使用して送信したメッセージ -->
== <span lang="en" dir="ltr">Tech News: 2026-19</span> ==
<div lang="en" dir="ltr">
<section begin="technews-2026-W19"/><div class="plainlinks">
Latest '''[[m:Special:MyLanguage/Tech/News|tech news]]''' from the Wikimedia technical community. Please tell other users about these changes. Not all changes will affect you. [[m:Special:MyLanguage/Tech/News/2026/19|Translations]] are available.
'''Weekly highlight'''
* The [[mw:Special:MyLanguage/Article guidance|Article guidance]] team invites experienced editors of [[mw:Special:MyLanguage/Article guidance/Pilot wikis and collaborators|pilot Wikipedias]]—Arabic, Bangla, Japanese, Portuguese, Persian, Turkish, Simple English, Spanish, and French—to help translate and adapt [https://b24e11a4f1.catalyst.wmcloud.org/wiki/Category:Pages_using_article_guidance sample outlines]. These outlines will guide editors in creating clear, well-structured, and policy-compliant articles when using [https://b24e11a4f1.catalyst.wmcloud.org/wiki/Special:NewArticle the feature] once it is launched in May 2026. [[mw:Special:MyLanguage/Article guidance#Adapting a sample outline in a Wikipedia|Simple instructions]] on how to translate and adapt the outlines are available.
'''Updates for editors'''
* The [[:m:Special:MyLanguage/Product and Technology Advisory Council|Product and Technology Advisory Council]] has published [[:m:Special:MyLanguage/Product and Technology Advisory Council/May 2026 draft PTAC recommendation for feedback|draft recommendations]] on a model that affiliates can follow when contributing to the technical space. Community members are invited to provide feedback on the recommendation until May 8th [[:m:Talk:Product and Technology Advisory Council/May 2026 draft PTAC recommendation for feedback|on the talk page]].
* The number of available thumbnail size preferences in MediaWiki is being reduced to three standardized options—Small (180px), Regular (250px), and Large (400px), as part of ongoing efforts to improve performance and reduce strain on thumbnail services. As a result, existing preferences will be mapped to the nearest new size (for example, smaller selections like 120px or 150px will render at 180px, while larger ones like 300px or 360px will render at 400px). The preferences interface will soon be updated to reflect these changes, and users who wish to opt out or provide feedback can do so. [https://phabricator.wikimedia.org/T424909]
* From now on, even when a permission expires automatically, users will receive an Echo notification similar to the standard notification for permission changes. There is a difference between this and [[m:Special:MyLanguage/Global reminder bot|Global reminder bot]] in that the latter reminds users a week ''before'' the rights are due to expire, so that they can renew the rights.
* [[File:Reload icon with two arrows.svg|12px|link=|class=skin-invert|Recurrent item]] View all {{formatnum:32}} community-submitted {{PLURAL:32|task|tasks}} that were [[m:Special:MyLanguage/Tech/News/Recently resolved community tasks|resolved last week]]. For example, the problem where the ULS language selector in [[m:Special:Translate|Special:Translate]] would scroll vertically when it shouldn't, has been resolved. Previously, when users opened the "Translate to English" dropdown and typed certain inputs, the dialog would scroll vertically by a few pixels even when there was enough space to display all results. The dropdown no longer shifts unnecessarily when filtering languages. [https://phabricator.wikimedia.org/T358864]
* The [[m:Special:GlobalWatchlist|Global Watchlist]], which lets you view your watchlists from multiple wikis on a single page, continues to improve. For example, watchlists for Wikibase sites such as [[:d:|Wikidata]] now support [[mw:Special:MyLanguage/Extension:EntitySchema|EntitySchema]] elements for better tracking. The Live Updates mode now refreshes the special page every 60 seconds to comply with the updated [[mw:Special:MyLanguage/Wikimedia APIs/Rate limits|global API rate limits]] for improved real-time responsiveness. Additionally, a directionality bug that displayed links as "changes 3" instead of "3 changes" in mixed-direction lists has been fixed. [https://phabricator.wikimedia.org/T415450][https://phabricator.wikimedia.org/T424422][https://phabricator.wikimedia.org/T418091]
'''Updates for technical contributors'''
* The second phase of [[mw:Special:MyLanguage/Wikimedia APIs/Rate limits|global API rate limits]] has been rolled out to reduce the [[diffblog:2026/03/26/quo-vadis-crawlers-progress-and-whats-next-on-safeguarding-our-infrastructure/|impact of AI crawlers]] and ensure fair, sustainable access to Wikimedia resources, prioritising human and mission-aligned traffic. [[mw:Special:MyLanguage/Wikimedia APIs/Rate limits#Limits|Limits]] have been shifted from per-hour to per-minute, producing smoother traffic patterns and more predictable API load. Community users are not expected to be affected, and no action is required. Early indications show some User-Agent-based requestors are adjusting behaviour, and around 64% of automated API traffic has been identified. Monitoring continues, and Wikimedia Enterprise remains available for commercial support.
* [[File:Reload icon with two arrows.svg|12px|link=|class=skin-invert|Recurrent item]] Detailed code updates later this week: [[mw:MediaWiki 1.46/wmf.27|MediaWiki]]
'''''[[m:Special:MyLanguage/Tech/News|Tech news]]''' prepared by [[m:Special:MyLanguage/Tech/News/Writers|Tech News writers]] and posted by [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]] • [[m:Special:MyLanguage/Tech/News#contribute|Contribute]] • [[m:Special:MyLanguage/Tech/News/2026/19|Translate]] • [[m:Tech|Get help]] • [[m:Talk:Tech/News|Give feedback]] • [[m:Global message delivery/Targets/Tech ambassadors|Subscribe or unsubscribe]].''
</div><section end="technews-2026-W19"/>
</div>
<bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 2026年5月4日 (月) 20:43 (UTC)
<!-- User:STei (WMF)@metawiki が https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=30498077 のリストを使用して送信したメッセージ -->
== 移動後に残るリダイレクトページの即時削除の方針明確化 ==
標記の件について、[[Wiktionary・トーク:即時削除の方針#移動後に残るリダイレクトページの即時削除の方針明確化]]にて提案しています。--[[利用者:Yapparina|Yapparina]] ([[利用者・トーク:Yapparina|トーク]]) 2026年5月6日 (水) 06:00 (UTC)
:方針が改訂されました。--[[利用者:Yapparina|Yapparina]] ([[利用者・トーク:Yapparina|トーク]]) 2026年6月5日 (金) 20:58 (UTC)
== <span lang="en" dir="ltr">Tech News: 2026-20</span> ==
<div lang="en" dir="ltr">
<section begin="technews-2026-W20"/><div class="plainlinks">
Latest '''[[m:Special:MyLanguage/Tech/News|tech news]]''' from the Wikimedia technical community. Please tell other users about these changes. Not all changes will affect you. [[m:Special:MyLanguage/Tech/News/2026/20|Translations]] are available.
'''Weekly highlight'''
* Community Tech has published [[m:Special:MyLanguage/Community Wishlist/How to write a good wish|new guidance]] explaining how wishes on Community Wishlist are triaged and prioritized. The documentation is intended to help contributors write stronger proposals by clarifying the factors that influence prioritization decisions. Beyond vote counts, the guidance highlights considerations such as potential impact on the community when determining which wishes move forward.
'''Updates for editors'''
* The Reader Growth team is launching an experiment to test a new [[mw:Special:MyLanguage/Readers/Reader_Growth/Share_Card|Share Card feature]] that allows readers to create visually engaging cards from Wikipedia articles or selected article sections and share them online, with each card linking back to the original article to help expand readership and article discovery. The mobile-only A/B test will be available to a portion of readers on Arabic, Chinese, French, Vietnamese, and English Wikipedia to better understand reading and sharing habits, and is scheduled to begin the week of May 18 and run for four weeks.
* The Android and iOS Wikipedia apps recently released the [[mw:Special:MyLanguage/Wikimedia_Apps/Team/25th_Birthday_Reading_Challenge|25-day reading challenge]] into Beta, as part of efforts to drive reader engagement by encouraging users to complete reading milestones. To track their reading streak during the challenge, App users can add a widget featuring Baby Globe to their home screen. The challenge officially begins May 11.
* [[File:Reload icon with two arrows.svg|12px|link=|class=skin-invert|Recurrent item]] View all {{formatnum:17}} community-submitted {{PLURAL:17|task|tasks}} that were [[m:Special:MyLanguage/Tech/News/Recently resolved community tasks|resolved last week]]. For example, an issue where the global preference for enabling syntax highlighting in wikitext could unexpectedly disable itself after being turned on, has now been fixed. [https://phabricator.wikimedia.org/T425286]
'''Updates for technical contributors'''
* [[File:Octicons-tools.svg|12px|link=|alt=|Advanced item]] The ResourceLoader module <bdi lang="zxx" dir="ltr"><code><nowiki>mediawiki.ui.input</nowiki></code></bdi>, deprecated since [[m:Special:MyLanguage/Tech/News/2023/39|September 2023]], will be removed this week. There is a [[mw:Special:MyLanguage/Codex/Migrating_from_MediaWiki_UI|guide for migrating from MediaWiki UI to Codex]] for any tools that use it. [https://phabricator.wikimedia.org/T420125]
* [[File:Reload icon with two arrows.svg|12px|link=|class=skin-invert|Recurrent item]] Detailed code updates later this week: [[mw:MediaWiki 1.47/wmf.2|MediaWiki]]
'''''[[m:Special:MyLanguage/Tech/News|Tech news]]''' prepared by [[m:Special:MyLanguage/Tech/News/Writers|Tech News writers]] and posted by [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]] • [[m:Special:MyLanguage/Tech/News#contribute|Contribute]] • [[m:Special:MyLanguage/Tech/News/2026/20|Translate]] • [[m:Tech|Get help]] • [[m:Talk:Tech/News|Give feedback]] • [[m:Global message delivery/Targets/Tech ambassadors|Subscribe or unsubscribe]].''
</div><section end="technews-2026-W20"/>
</div>
<bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 2026年5月11日 (月) 19:20 (UTC)
<!-- User:STei (WMF)@metawiki が https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=30524429 のリストを使用して送信したメッセージ -->
== <span lang="en" dir="ltr">Tech News: 2026-21</span> ==
<div lang="en" dir="ltr">
<section begin="technews-2026-W21"/><div class="plainlinks">
Latest '''[[m:Special:MyLanguage/Tech/News|tech news]]''' from the Wikimedia technical community. Please tell other users about these changes. Not all changes will affect you. [[m:Special:MyLanguage/Tech/News/2026/21|Translations]] are available.
'''Weekly highlight'''
* The Abstract Wikipedia team has identified five potential pilot wikis to assess their interest in adopting abstract articles on their wikis. The pilots are Malayalam, Bengali, Dagbani, Arabic, and Indonesian Wikipedia. The feedback period will be open until May 22. If your community is interested in becoming a pilot, [[m:Talk:Abstract Wikipedia|let us know on Meta]].
'''Updates for editors'''
* An experiment to show [[mw:Special:MyLanguage/Readers/Reader Experience/Reading lists|Reading Lists]] to logged-out readers on mobile web will launch on May 18 across German, Spanish, Italian, Portuguese, Polish, Dutch, Turkish, and Urdu Wikipedias, and will run for one month. The effort supports broader goals of helping readers save and organize articles for later reading, while encouraging habits that could lead to future Wikipedia contributions.
* To support a bookmark button in the Reading List beta feature, the "Tools > Action" menu has been updated to display icons, including the watch star indicator that helps editors identify temporarily watched articles. The icons now also match those used on mobile, improving consistency across platforms. The change is currently limited to the actions menu and mainly affects editors with privileged user rights. [https://phabricator.wikimedia.org/T426008]
* [[mw:Special:MyLanguage/VisualEditor/Suggestion Mode|Suggestion Mode]] was released as an [[w:en:A/B test|A/B test]] for newcomer editors on the mobile website at [[phab:T421189|~15 Wikipedias]]. The experiment will measure the impact that Suggestion Mode has on the proportion of newcomer mobile web edit sessions that result in constructive (un-reverted) article edits. The experiment will also evaluate the feature's impact on editor retention, and monitor changes in revert and block rates.
* [[File:Reload icon with two arrows.svg|12px|link=|class=skin-invert|Recurrent item]] View all {{formatnum:27}} community-submitted {{PLURAL:27|task|tasks}} that were [[m:Special:MyLanguage/Tech/News/Recently resolved community tasks|resolved last week]]. For example, an issue in the Wikipedia Android app where images could sometimes fail to load after opening a recommended reading list notification, has now been fixed. [https://phabricator.wikimedia.org/T418231]
'''Updates for technical contributors'''
* The [[mw:Special:MyLanguage/Wikidata Platform|Wikidata Platform team]] has published its [[d:Special:MyLanguage/Wikidata:SPARQL query service/WDQS backend update/Backend Replacement|backend replacement recommendation]] and accompanying [[wikitech:Wikidata Query Service/WDQS Architecture re-design|technical architecture]] for the migration of the Wikidata Query Service (WDQS) away from Blazegraph. Feedback is invited until May 25th 2026, especially on potential gaps and impacts on advanced use cases. Wikidata community members and WDQS users are also encouraged to help identify high-impact tools and workflows that may need attention on [[d:Wikidata:SPARQL query service/WDQS backend update/High-Impact Use Cases|this page]]. Feedback can be shared on the [[d:Wikidata talk:SPARQL query service/WDQS backend update|Migration talk page]] or during the [[d:Special:MyLanguage/Wikidata:Blazegraph Migration Office Hours|next office hour]]. See the [[d:Special:MyLanguage/Wikidata:Wikidata Platform team/Newsletter|WDP team newsletter]] for more details.
* [[File:Reload icon with two arrows.svg|12px|link=|class=skin-invert|Recurrent item]] Detailed code updates later this week: [[mw:MediaWiki 1.47/wmf.3|MediaWiki]]
'''In depth'''
* On English, French, Japanese, and a few other Wikipedias, there was a [[diffblog:2025/09/02/better-detecting-bots-and-replacing-our-captcha/|trial of hCaptcha]], a third-party bot detection service. The trial showed that hCaptcha effectively detects and deters some bad-faith automated activity, on its own and by giving [[w:en:Wikipedia:Village pump (technical)/Archive 225#Introducing SuggestedInvestigations|checkusers and stewards]] signals to look into. Because the results were positive, hCaptcha will be rolled out across all wikis over the next few weeks. [[mw:Special:MyLanguage/Product Safety and Integrity/Anti-abuse signals/hCaptcha|See the hCaptcha project page]] for technical information about the implementation and privacy protections. [[diffblog:2026/05/04/better-detecting-bots-and-replacing-our-captcha-part-2/|Learn more]].
* The latest Community Tech update is now available, with progress across several Community Wishlist initiatives, including Reading Lists expansion from the mobile app to the website, new language support for "Who Wrote That" and the Personal Dashboard, improvements to 3D rendering and Charts, and upcoming work on talk page sorting, audio playback, and editing workflows. The update also shares current priorities, wishlist status trends, and opportunities for community feedback on future focus areas and the Wikimedia Foundation’s 2026–2027 Annual Plan. [[m:Special:MyLanguage/Community Wishlist/Updates#May 13, 2026: Latest updates from the Community Tech team|Read the full newsletter for details]].
'''''[[m:Special:MyLanguage/Tech/News|Tech news]]''' prepared by [[m:Special:MyLanguage/Tech/News/Writers|Tech News writers]] and posted by [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]] • [[m:Special:MyLanguage/Tech/News#contribute|Contribute]] • [[m:Special:MyLanguage/Tech/News/2026/21|Translate]] • [[m:Tech|Get help]] • [[m:Talk:Tech/News|Give feedback]] • [[m:Global message delivery/Targets/Tech ambassadors|Subscribe or unsubscribe]].''
</div><section end="technews-2026-W21"/>
</div>
<bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 2026年5月18日 (月) 20:21 (UTC)
<!-- User:STei (WMF)@metawiki が https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=30539262 のリストを使用して送信したメッセージ -->
== <span lang="en" dir="ltr">Tech News: 2026-22</span> ==
<div lang="en" dir="ltr">
<section begin="technews-2026-W22"/><div class="plainlinks">
Latest '''[[m:Special:MyLanguage/Tech/News|tech news]]''' from the Wikimedia technical community. Please tell other users about these changes. Not all changes will affect you. [[m:Special:MyLanguage/Tech/News/2026/22|Translations]] are available.
'''Weekly highlight'''
* Following a [[mw:Special:MyLanguage/Contributors/Account Creation Experiments#LOWM|successful account creation experiment]], an improved logged-out edit warning message will be deployed to all Wikimedia wikis in the first week of June. The change will only affect logged-out users on mobile web who open an editing session. The updated experience is designed to encourage account creation more clearly, while still allowing users to edit with temporary accounts. Results from the experiment showed a significant increase in account creation, with a 27% relative lift among users shown the updated message. As expected, as more people funnel into account creation, temporary accounts decreased by a relative 16%. The experiment did not show any significant changes in constructive edit rates or other monitored contributor metrics. [https://phabricator.wikimedia.org/T424595]
'''Updates for editors'''
* For security reasons, members of certain user groups are [[m:Special:MyLanguage/Mandatory two-factor authentication for users with some extended rights|required to have two-factor authentication]] (2FA) enabled. Members of these groups will be unable to disable the last 2FA method on their account, and it will be impossible to add users without 2FA to these groups. Users will still be able to add new authentication methods or remove them, as long as at least one method is continuously enabled. In the next few weeks, users without 2FA will be removed from these groups. Notably, this applies to bureaucrats. See the linked tasks for deployment schedules. [https://phabricator.wikimedia.org/T423119][https://phabricator.wikimedia.org/T423120]
* [[m:Special:MyLanguage/WMDE Technical Wishes|WMDE Technical Wishes]] will run an [[w:en:A/B testing|A/B test]] on [[:phab:T415904|10 wikis]], testing [[m:WMDE Technical Wishes/References/Reference Previews|potential improvements for Reference Previews]]. The experiment will run for ~2 weeks at the end of May / beginning of June and will affect 10% of desktop readers on the participating wikis.
* After two successful experiments, the Reader Growth team is rolling out an [[mw:Special:MyLanguage/Readers/Reader Growth/Image Browsing|Image Browsing]] beta feature for all Wikipedias on mobile on May 25. This means that anyone who has all beta features on by default will start to see this feature, and others can check the box to turn it on in their preferences. The beta feature will include a carousel of all an article's images at the top of the article, with controls for editors to [[mw:Readers/Reader_Growth/Image_Browsing#Phase_2.1_beta_feature|exclude images from the article's carousel or to exclude an article from the feature entirely]].
* [[File:Reload icon with two arrows.svg|12px|link=|class=skin-invert|Recurrent item]] View all {{formatnum:30}} community-submitted {{PLURAL:30|task|tasks}} that were [[m:Special:MyLanguage/Tech/News/Recently resolved community tasks|resolved last week]]. For example, three dimensional STL files were being rendered incorrectly by the media viewer 3D extension which is now fixed. [https://phabricator.wikimedia.org/T416723]
'''Updates for technical contributors'''
* The legacy CSS classes <bdi lang="zxx" dir="ltr"><code><nowiki>tleft</nowiki></code></bdi> and <bdi lang="zxx" dir="ltr"><code><nowiki>tright</nowiki></code></bdi> have been replaced with <bdi lang="zxx" dir="ltr"><code><nowiki>floatleft</nowiki></code></bdi> and <bdi lang="zxx" dir="ltr"><code><nowiki>floatright</nowiki></code></bdi> as the former do not work consistently across all MediaWiki platforms, notably mobile web and mobile apps. Projects relying on these classes are encouraged to review related usage and plan for migration. Please note that <bdi lang="zxx" dir="ltr"><code><nowiki>floatleft</nowiki></code></bdi> and <bdi lang="zxx" dir="ltr"><code><nowiki>floatright</nowiki></code></bdi> may also be deprecated in future, although there are currently no plans to do so. [[phab:T426452|Read more]].
* [[File:Reload icon with two arrows.svg|12px|link=|class=skin-invert|Recurrent item]] Detailed code updates later this week: [[mw:MediaWiki 1.47/wmf.4|MediaWiki]]
'''''[[m:Special:MyLanguage/Tech/News|Tech news]]''' prepared by [[m:Special:MyLanguage/Tech/News/Writers|Tech News writers]] and posted by [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]] • [[m:Special:MyLanguage/Tech/News#contribute|Contribute]] • [[m:Special:MyLanguage/Tech/News/2026/22|Translate]] • [[m:Tech|Get help]] • [[m:Talk:Tech/News|Give feedback]] • [[m:Global message delivery/Targets/Tech ambassadors|Subscribe or unsubscribe]].''
</div><section end="technews-2026-W22"/>
</div>
<bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 2026年5月25日 (月) 21:52 (UTC)
<!-- User:Quiddity (WMF)@metawiki が https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=30584502 のリストを使用して送信したメッセージ -->
== <span lang="en" dir="ltr">Vote now in the 2026 U4C election</span> ==
<div lang="en" dir="ltr">
<section begin="announcement-content" />
Eligible voters are asked to participate in the 2026 [[m:Special:MyLanguage/Universal_Code_of_Conduct/Coordinating_Committee|Universal Code of Conduct Coordinating Committee]] election. More information–including an eligibility check, voting process information, candidate information, and a link to the vote–are available on Meta at the [[m:Special:MyLanguage/Universal_Code_of_Conduct/Coordinating_Committee/Election/2026|2026 Election information page]]. The vote closes on 2 June 2026 at [https://zonestamp.toolforge.org/1780358400 00:00 UTC].
Please vote if your account is eligible. Results will be available by 14 June 2026. -- In cooperation with the U4C,<section end="announcement-content" />
</div>
[[m:User:Keegan (WMF)|Keegan (WMF)]] ([[m:User talk:Keegan (WMF)|talk]]) 2026年5月27日 (水) 17:15 (UTC)
<!-- User:Keegan (WMF)@metawiki が https://meta.wikimedia.org/w/index.php?title=Distribution_list/Global_message_delivery&oldid=30513860 のリストを使用して送信したメッセージ -->
== ESEAP Strategy Summit 2027開催決定のお知らせ ==
先日開催された、[[meta:ESEAP Conference 2026|ESEAP Conference 2026]]にて、来年2027年5月にESEAP Strategy Summit 2027を大阪で開催することが発表されました。詳細はこれからの検討事項となりますが、決定次第[[meta:ESEAP Strategy Summit 2027|ESEAP Strategy Summit 2027]]のページにて公開されるほか、適宜こちらのお知らせにて随時投稿させていただきますので、興味のある方、当日お手伝いなどいただける方はMeta-WikiのESEAP Strategy Summit 2027のページをご確認いただくか、[[meta:Wikimedians of Japan User Group|Wikimedians of Japan User Group]]にメンバーとして参加いただくことをご検討ください。--[[利用者:VZP10224(WjpUG)|VZP10224(WjpUG)]] ([[利用者・トーク:VZP10224(WjpUG)|トーク]]) 2026年5月28日 (木) 11:26 (UTC)
== <span lang="en" dir="ltr">Tech News: 2026-23</span> ==
<div lang="en" dir="ltr">
<section begin="technews-2026-W23"/><div class="plainlinks">
Latest '''[[m:Special:MyLanguage/Tech/News|tech news]]''' from the Wikimedia technical community. Please tell other users about these changes. Not all changes will affect you. [[m:Special:MyLanguage/Tech/News/2026/23|Translations]] are available.
'''Updates for editors'''
* The [[mw:Special:MyLanguage/Readers/Reader Experience|Reader Experience team]] is conducting an experiment to show the [[mw:Special:MyLanguage/Readers/Reader Experience/Reading lists|reading lists]] feature, which is still in development, to logged-out mobile readers to test whether it encourages account creation at a higher rate compared to the watchstar button. The [[mw:Special:MyLanguage/Readers/Reader Experience/Reading lists#Experiment timeline|experiment]] was launched on May 18th on German, Spanish, Italian, Portuguese, Polish, Dutch, Turkish, and Urdu wikis, and it will run for a month.
* The Wikimedia Apps team released [[mw:Special:MyLanguage/Wikimedia Apps/Team/Explore Feed Refresh/Phase 1|Phase 1]] of the redesigned Home Feed to the Android Beta app. The new Home Feed includes a refreshed "Community" tab and a personalized "For You" tab featuring daily updated reading recommendations. The redesign is part of a broader effort to improve content discovery and create more engaging learning experiences in the Wikipedia apps.
* [[File:Reload icon with two arrows.svg|12px|link=|class=skin-invert|Recurrent item]] View all {{formatnum:18}} community-submitted {{PLURAL:18|task|tasks}} that were [[m:Special:MyLanguage/Tech/News/Recently resolved community tasks|resolved last week]]. For example, an issue where images could fail to load for some suggested edits on [[w:Special:Homepage|Special:Homepage]], leaving the thumbnail stuck in a loading state, has now been fixed. [https://phabricator.wikimedia.org/T424048]
'''Updates for technical contributors'''
* [[File:Reload icon with two arrows.svg|12px|link=|class=skin-invert|Recurrent item]] Detailed code updates later this week: [[mw:MediaWiki 1.47/wmf.5|MediaWiki]]
'''''[[m:Special:MyLanguage/Tech/News|Tech news]]''' prepared by [[m:Special:MyLanguage/Tech/News/Writers|Tech News writers]] and posted by [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]] • [[m:Special:MyLanguage/Tech/News#contribute|Contribute]] • [[m:Special:MyLanguage/Tech/News/2026/23|Translate]] • [[m:Tech|Get help]] • [[m:Talk:Tech/News|Give feedback]] • [[m:Global message delivery/Targets/Tech ambassadors|Subscribe or unsubscribe]].''
</div><section end="technews-2026-W23"/>
</div>
<bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 2026年6月1日 (月) 21:08 (UTC)
<!-- User:STei (WMF)@metawiki が https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=30613639 のリストを使用して送信したメッセージ -->
== <span lang="en" dir="ltr">Tech News: 2026-24</span> ==
<div lang="en" dir="ltr">
<section begin="technews-2026-W24"/><div class="plainlinks">
Latest '''[[m:Special:MyLanguage/Tech/News|tech news]]''' from the Wikimedia technical community. Please tell other users about these changes. Not all changes will affect you. [[m:Special:MyLanguage/Tech/News/2026/24|Translations]] are available.
'''Weekly highlight'''
* Wikimedia Enterprise has increased the free usage limits for its API offerings. The monthly request limit for the On-demand API has increased from 5,000 to 50,000 requests, while the Snapshot API limit has increased from 15 to 30 requests per month. In addition, Structured Contents snapshots are now available for free accounts. These changes expand access to Wikimedia Enterprise data for developers, researchers, and organizations using Wikimedia content. [https://enterprise.wikimedia.com/blog/enhanced-free-api]
'''Updates for editors'''
* The [[mw:Special:MyLanguage/Wikimedia_Apps/Team/Explore Feed Refresh/Phase 1|refreshed Explore Feed]], now called the Home Feed, is rolling out to 50% of users of the Wikipedia Android app. The Home Feed helps readers discover relevant content through two new tabs: ''Community'' and ''For You''. The Community tab provides a scrollable feed of curated content and updates from the broader Wikimedia community and movement, while the ''For You'' tab offers a full-screen, swipeable experience that shows content tailored to a user's interests. The redesign is part of a broader effort to improve discovery and enhance the learning experience in the Wikipedia app.
* The [[mw:Special:MyLanguage/Wikimedia Apps/Team/iOS/"Which came first?" Game|Which came first?]] daily trivia game is now available in the beta version of the Wikipedia iOS app in English, German, French, Portuguese, Russian, Spanish, Arabic, Chinese, and Turkish. The game uses historical events from Wikipedia's "On This Day" content and challenges readers to guess which of two events happened first. The game was previously released on Android. Communities interested in making the game available in their languages can [[mw:Special:MyLanguage/Wikimedia_Apps/Team/Games#Game availability by language|read the instructions and requirements]].
* [[m:Special:MyLanguage/WMDE Technical Wishes/Sub-referencing|Sub-referencing]], a new MediaWiki feature that allows editors to reuse references with different details, will begin rolling out to Wikimedia wikis following a successful pilot phase. Deployment will start on 8 June for most [[wikitech:Deployments/Train#Wednesday|Group 1 wikis]] and French Wikipedia, with additional Wikipedia language editions receiving the feature over the coming months. Communities are encouraged to prepare by checking for [https://translatewiki.net/w/i.php?title=Special%3ATranslate&group=ext-cite&language=en&action_source=search&filter=%21translated&optional=1&action=translate untranslated Cite extension messages] in their language and reviewing any use of [[mw:Special:MyLanguage/Reference Tooltips|Reference Tooltips]], which may require [[:phab:T416304#11668731|updates]] to support the new functionality. Wikis using [[mw:Special:MyLanguage/Help:Reference Previews|Reference Previews]] do not need to take any action. Communities may also wish to create the ''cite-tracking-category-ref-details'' [[Special:TrackingCategories|tracking category]] as a hidden category using <code><nowiki>__HIDDENCAT__</nowiki></code> (or a dedicated template), and connect it to the corresponding Wikidata item [[d:Q129764848]]. [https://phabricator.wikimedia.org/T425662]
* The [[mw:Special:MyLanguage/Readers/Reader Growth/Mobile page previews#Experimentation|Page Previews experiment]] on mobile web has concluded. The team decided not to roll out the feature after the results showed no statistically significant impact on reader retention, as the primary success metric was retention improvement. Page Previews, which are already available on desktop and in the apps, display a thumbnail, lead paragraph, and link to the full article when readers tap a blue link. The experiment tested this experience on mobile web across six Wikipedias.
* The [[mw:Special:MyLanguage/Codex/Design/Icons|user interface icon library]] will be [[phab:T399175|updated later this week or next week]]. Most of the ~300 icons have been slightly refined and ~30 new icons have been added. These changes improve the icons to make them more consistent and comprehensible, and provide more visual balance when they are used in groups.
* The [[mw:Special:MyLanguage/Universal Language Selector|Universal Language Selector]] (ULS) interface in MediaWiki, which helps users select content in other languages, has been updated. The new version improves speed and accessibility, and users of Wikimedia projects can now pin languages for quicker language switching. The deployment to Wikimedia sites will happen gradually in the coming weeks. You can test it now as a beta feature by selecting [[Special:Preferences#mw-prefsection-betafeatures|beta features]] in your profile preferences and share your feedback on [[mw:Special:MyLanguage/Universal Language Selector/New ULS|the project page]].
* [[File:Reload icon with two arrows.svg|12px|link=|class=skin-invert|Recurrent item]] View all {{formatnum:21}} community-submitted {{PLURAL:21|task|tasks}} that were [[m:Special:MyLanguage/Tech/News/Recently resolved community tasks|resolved last week]]. For example, an issue where the Pageviews Analysis dashboard on pageviews.wmcloud.org stopped updating graph data in May 2026, affecting all users, has been fixed. [https://phabricator.wikimedia.org/T427171]
'''Updates for technical contributors'''
* The function signature for <bdi lang="zxx" dir="ltr"><code><nowiki>mw.util.addPortletLink()</nowiki></code></bdi> has been simplified. Developers can now pass a configuration object instead of a list of positional parameters when creating portlet links. The previous function signature remains supported for backwards compatibility. For example, instead of: <bdi lang="zxx" dir="ltr"><code><nowiki>mw.util.addPortletLink('p-cactions', '#', 'Stub', 'ca-stubtag', 'Add a stub tag to this page');</nowiki></code></bdi> use <bdi lang="zxx" dir="ltr"><code><nowiki>mw.util.addPortletLink('p-cactions', { href: '#', text: 'Stub', id: 'ca-stubtag', tooltip: 'Add a stub tag to this page' });</nowiki></code></bdi>. Script maintainers are encouraged to review existing uses of <bdi lang="zxx" dir="ltr"><code><nowiki>addPortletLink()</nowiki></code></bdi> and update them where appropriate. This change will be available on all wikis from 11 June. Thanks to community volunteer Gerges for contributing this improvement. [https://phabricator.wikimedia.org/T427945]
* '''Community Wishlist discussion''': Product & Technology [[m:Special:MyLanguage/Community Wishlist/Updates#May 20, 2026: Community Tech becomes a program|introduced changes]] meant to increase the number and complexity of wishes fulfilled, including the disbanding of the Community Tech team. They are [[m:Special:MyLanguage/Community Wishlist/Updates|engaging in discussions]] about a [[m:Talk:Community Wishlist#Proposed direction for Wishlist|proposed direction for the wishlist]] from community members. Includes ways to structure annual voting, better tracking of wishes, removing focus areas, and [[m:Special:MyLanguage/Community Wishlist/Updates|staffing updates]].
* [[File:Reload icon with two arrows.svg|12px|link=|class=skin-invert|Recurrent item]] Detailed code updates later this week: [[mw:MediaWiki 1.47/wmf.6|MediaWiki]]
'''''[[m:Special:MyLanguage/Tech/News|Tech news]]''' prepared by [[m:Special:MyLanguage/Tech/News/Writers|Tech News writers]] and posted by [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]] • [[m:Special:MyLanguage/Tech/News#contribute|Contribute]] • [[m:Special:MyLanguage/Tech/News/2026/24|Translate]] • [[m:Tech|Get help]] • [[m:Talk:Tech/News|Give feedback]] • [[m:Global message delivery/Targets/Tech ambassadors|Subscribe or unsubscribe]].''
</div><section end="technews-2026-W24"/>
</div>
<bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 2026年6月8日 (月) 21:30 (UTC)
<!-- User:STei (WMF)@metawiki が https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=30650573 のリストを使用して送信したメッセージ -->
9bvxarca4dvkimdd6qrkm3g7w86wb2o
infringir
0
288782
2281164
1397668
2026-06-09T06:54:29Z
Jiba1219
100610
2281164
wikitext
text/x-wiki
=={{L|ca}}==
==={{etym}}===
{{etyl|la|ca}} ''[[infringere|īnfringō, īnfringere]]''
==={{pron}}===
* {{ca-IPA}}
* {{homophones|infringí|lang=ca}}
==={{verb}}===
{{ca-verb|ir|infring}}
#(法律・権利などを){{おくりがな2|侵|おか|す|おかす}}。{{おくりがな2|破|やぶ|る|やぶる}}。[[侵害]]する。
{{ca-conj-ir|infring}}
=={{L|es}}==
==={{etym}}===
{{etyl|la|es}} ''[[infringere|īnfringō, īnfringere]]''
==={{pron}}===
* {{es-IPA}}
==={{verb}}===
{{es-verb|infring|ir|pres=infrinjo}}
#(法律・権利などを){{おくりがな2|侵|おか|す|おかす}}。{{おくりがな2|破|やぶ|る|やぶる}}。[[侵害]]する。
{{es-conj-ir|infrin|p=-gir|combined=1}}
===={{rel}}====
* {{l|es|frangir}}
=={{L|pt}}==
==={{etym}}===
{{etyl|la|pt}} ''[[infringere|īnfringō, īnfringere]]''
==={{verb}}===
{{pt-verb|infrin|gir}}
#{{context|transitive+|lang=pt}}(法律・権利などを){{おくりがな2|侵|おか|す|おかす}}。{{おくりがな2|破|やぶ|る|やぶる}}。[[侵害]]する。
{{pt-conj|infrin|gir}}
===={{rel}}====
* {{l|pt|infrator}}
oo8msfu0g6f36czjee456al236rqza8
предел
0
290825
2281005
1540735
2026-06-08T15:48:00Z
M-30722
1202
2281005
wikitext
text/x-wiki
=={{L|mk}}==
==={{noun}}===
{{head|mk|noun|g=m}}
#[[地域]]。
#[[区画]]。
{{mk-decl-noun-m||предел|}}
=={{L|ru}}==
{{wikipedia|lang=ru}}
==={{pron}}===
*{{IPA|lang=ru|prʲɪˈdʲel}}
*{{homophones|lang=ru|приде́л}}
==={{noun}}===
{{head|ru|noun|head=преде́л|g=m-in}}
#[[境界]]。
#[[国境]]。
#(複数形で) [[管区]]。
#{{タグ|ru|数学}} [[極限]]。
{{ru-noun-table|преде́л}}
===={{syn}}====
*{{l|ru|грани́ца}}, {{l|ru|рубе́ж}}, {{l|ru|край}}
*{{l|ru|лими́т}}
*{{l|ru|страна́}}, {{l|ru|край}}
===={{rel}}====
*{{l|ru|преде́льный}}
*{{l|ru|определи́ть}}, {{l|ru|определя́ть}}, {{l|ru|определя́ться}}
*{{l|ru|преде́льно}}
339wwfq34n140pr0sjgnhbve15u09sf
しんぞう
0
321040
2281001
2279086
2026-06-08T15:39:26Z
M-30722
1202
2281001
wikitext
text/x-wiki
{{kana-DEFAULTSORT}}
{{also|しんそう|じんそう|じんぞう}}
=={{L|ja}}==
==={{kangokana}}===
{{ja-kangokana|h=y}}
*【[[心像]]】[[イメージ]]。
*【[[心臓]]】[[自律的]]に[[拍動]]し、[[血液]]を全身に[[循環]]させる機能を有する[[循環器]]。
*【[[神像]]】[[かみ|神]]の[[すがた|姿]]を[[彫刻]]や[[絵画]]に[[表現]]した[[偶像]]。
*【[[新造]]】新しくつくること。
9jh350huyvxnnw0gtuxno0ouz3vrxb5
腫瘍学
0
321366
2280974
2208717
2026-06-08T15:02:49Z
M-30722
1202
[[en:oncology]]より訳語追加
2280974
wikitext
text/x-wiki
{{kana-DEFAULTSORT|しゅようがく}}
=={{L|ja}}==
{{wikipedia}}
==={{noun}}===
{{ja-noun|しゅようがく|head=[[腫瘍]][[学]]}}
#{{topcat|ja|腫瘍学}}[[癌]]や[[肉腫]]等の腫瘍に[[関連]]する[[医学]]の[[分野]]。
===={{trans}}====
{{trans-top}}
*{{T|is}}: {{t|is|æxlafræði|f}}
*{{T|ga}}: {{t|ga|oinceolaíocht|f}}
*{{T|ast}}: {{t|ast|oncoloxía|f}}
*{{T|az}}: {{t|az|onkologiya}}
*{{T|af}}: {{t|af|onkologie}}
*{{T|ar}}: {{t|ar|عِلْم اَلْأَوْرَام|m}}
*{{T|sq}}: {{t|sq|onkologjia|f}}
*{{T|hy}}: {{t|hy|ուռուցքաբանություն}}
*{{T|it}}: {{t|it|oncologia|f}}
*{{T|yi}}: {{t|yi|אָנקאָלאָגיע}}
*{{T|io}}: {{t|io|onkologio}}
*{{T|id}}: {{t|id|onkologi}}
*{{T|ia}}: {{t|ia|oncologia}}
*{{T|cy}}: {{t|cy|oncoleg|f}}
*{{T|uk}}: {{t|uk|онколо́гія|f}}
*{{T|uz}}:
*:キリル文字: {{t|uz|онкология}}
*:ラテン文字: {{t|uz|onkologiya}}
*{{T|en}}: {{t|en|oncology}}
*{{T|et}}: {{t|et|onkoloogia}}
*{{T|eo}}: {{t|eo|onkologio}}
*{{T|oc}}: {{t|oc|oncologia|f}}
*{{T|nl}}: {{t|nl|oncologie|f}}
*{{T|kk}}: {{t|kk|онкология}}
*{{T|ca}}: {{t|ca|oncologia|f}}
*{{T|gl}}: {{t|gl|oncoloxía|f}}
*{{T|kn}}: {{t|kn|ಗಂಟುರೋಗದ ಅರಿಮೆ}}
*{{T|el}}: {{t|el|ογκολογία|f}}
*{{T|ky}}: {{t|ky|онкология}}
*{{T|ka}}: {{t|ka|ონკოლოგია}}
*{{T|ku}}:
*:{{T|kmr}}: {{t|kmr|onkolojî}}
*{{T|sa}}: {{t|sa|ओन्कोलोजी}}
*{{T|jv}}: {{t|jv|onkologi}}
*{{T|sv}}: {{t|sv|onkologi|c}}
*{{T|es}}: {{t|es|oncología|f}}
*{{T|sk}}: {{t|sk|onkológia|f}}
*{{T|sl}}: {{t|sl|onkologija|f}}
*{{T|sh}}:
*:キリル文字: {{t|sh|онколо̀гија|f}}
*:ラテン文字: {{t|sh|onkològija|f}}
*{{T|th}}: {{t|th|วิทยามะเร็ง|tr=wít-tá-yaa má-reng}}, {{t|th|วิทยาเนื้องอก|tr=wít-tá-yaa néua ngôk}}
*{{T|tt}}: {{t|tt|онкология}}
*{{T|ta}}: {{t|ta|புற்றுநோயியல்}}
*{{T|cs}}: {{t|cs|onkologie|f}}
*{{T|zh}}: {{t|cmn|腫瘤學|tr=zhǒngliúxué}}
*{{T|ko}}: {{t|ko|종양학(腫瘍學)}}
*{{T|da}}: {{t|da|onkologi|c}}
*{{T|de}}: {{t|de|Onkologie|f}}
*{{T|tr}}: {{t|tr|onkoloji}}
*{{T|fy}}: {{t|fy|onkology}}
*{{T|ne}}: {{t|ne|ओन्कोलोजी}}
*{{T|new}}: {{t|new|अङ्कोलोजी}}
*{{T|no}}:
*:{{T|nn}}: {{t|nn|onkologi|m}}
*:{{T|nb}}: {{t|nb|onkologi|m}}
*{{T|pi}}: {{t|pi|ओन्कोलोजी}}
*{{T|eu}}: {{t|eu|onkologia}}
*{{T|hu}}: {{t|hu|onkológia}}
*{{T|hi}}: {{t|hi|अर्बुदविज्ञान}}
*{{T|fi}}: {{t|fi|onkologia}}
*{{T|fr}}: {{t|fr|oncologie|f}}
*{{T|bg}}: {{t|bg|онкология|f}}
*{{T|vi}}: {{t|vi|ung thư học}}
*{{T|he}}: {{t|he|אוֹנְקוֹלוֹגְיָה|f|tr=onkologya}}
*{{T|be}}: {{t|be|анкалогія|f}}
*{{T|pl}}: {{t|pl|onkologia|f}}
*{{T|pt}}: {{t|pt|oncologia|f}}
*{{T|mi}}: {{t|mi|mātai mate pukupuku}}
*{{T|mk}}: {{t|mk|онкологија|f}}
*{{T|ms}}: {{t|ms|kaji ketumbuhan}}, {{t|ms|kaji tumor}}, {{t+|ms|onkologi}}
*{{T|xmf}}: {{t|xmf|ონკოლოგია}}
*{{T|la}}: {{t|la|oncologia|f}}
*{{T|lv}}: {{t|lv|onkoloģija|f}}
*{{T|lt}}: {{t|lt|onkologija|f}}
*{{T|ro}}: {{t|ro|oncologie|f}}
*{{T|rw}}: {{t|rw|kanseri}}
*{{T|ru}}: {{t|ru|онколо́гия|f}}
*{{T|war}}: {{t|war|oncolohiya}}
{{trans-bottom}}
b4ifrpd5jhtlj2i6du9y8ie877ji9fr
せいちょう
0
323104
2280958
2164295
2026-06-08T14:28:53Z
M-30722
1202
2280958
wikitext
text/x-wiki
{{kana-DEFAULTSORT}}
=={{L|ja}}==
==={{kangokana}}===
{{ja-kangokana|h=y}}
*【[[正庁]]】[[正殿]]。
*【[[成長]]】物事が[[発達]]して、勢いが強まること。
*【[[成鳥]]】[[成長]]した鳥類。
*【[[生長]]】[[植物]]が育つこと。 生まれ育つこと。
*【[[声調]]】[[言語]]において、[[意味]]の[[区別]]に用いる、音の[[高低]]による[[パターン]]。
*【[[清聴]]】[[自分]]の話を聞いてくれることの敬語。
*【[[静聴]]】静かに聞くこと。
*【[[整腸]]】[[腸]]を整えること。
*【[[清澄]]】清らかで、澄んでいること。
*【[[性徴]]】[[性別]]を[[判別]]するための[[特徴]]。
*【[[政庁]]】[[政府]]がその[[業務]]を扱う役所。
*【[[青塚]]】[[こけ|苔]]や[[くさき|草木]]が繁茂した[[つか|塚]]。
p38t8b18l023to23no4dn4w1k5hol8p
じゅよう
0
323117
2280951
2121891
2026-06-08T14:17:12Z
M-30722
1202
2280951
wikitext
text/x-wiki
{{kana-DEFAULTSORT}}
{{also|しゅよう}}
=={{L|ja}}==
==={{kangokana}}===
{{ja-kangokana|h=y}}
*【[[受容]]】[[うけいれる|受け容れる]]こと。
*【[[需要]]】[[商品]]などを[[購入]]しようとする[[欲望]]。
41etjb0g17b6ifznk3uk7xv09cjjo9u
かもん
0
323186
2280872
1932360
2026-06-08T12:52:53Z
うーむ
129171
/* */
2280872
wikitext
text/x-wiki
{{kana-DEFAULTSORT}}
{{also|がもん|カモン}}
=={{ja}}==
==={{homonym}}===
{{head|jpn|同音異義}}
*【[[火門]]】:南門。
*【[[下問]]】:[[目下]]のものに問うこと。
*【[[花紋]]】:[[花]]を図案化した[[模様]]。
*【[[家門]]】:[[一家]]。[[一門]]。
*【[[家紋]]】:[[家系]]の[[紋章]]。
*【[[渦紋]]】:[[うずまき]][[模様]]。
*【[[窠紋]]】:[[染物]]の模様の一つ。
37zylovim0gcbiaixrs08gx3fspynrm
2280880
2280872
2026-06-08T13:01:31Z
M-30722
1202
2280880
wikitext
text/x-wiki
{{kana-DEFAULTSORT}}
{{also|がもん|カモン}}
=={{L|ja}}==
==={{kangokana}}===
{{ja-kangokana|h=y}}
*【[[火門]]】南門。
*【[[下問]]】[[めした|目下]]のものに問うこと。
*【[[花紋]]】[[はな|花]]を図案化した[[模様]]。
*【[[家門]]】[[一家]]。[[一門]]。
*【[[家紋]]】[[家系]]の[[紋章]]。
*【[[渦紋]]】[[うずまき]][[模様]]。
*【[[窠紋]]】[[染物]]の模様の一つ。
3qe2rfeby3u2f8hnxltyxrouw45i9ea
こんせい
0
323416
2281102
2134981
2026-06-09T02:20:30Z
うーむ
129171
/* 日本語 */
2281102
wikitext
text/x-wiki
{{kana-DEFAULTSORT}}
=={{ja}}==
==={{homonym}}===
{{head|jpn|同音異義}}
*【[[混声]]】:[[男声]]と[[女声]]との組み合わせ。
*【[[混成]]】:異なる[[種類]]の[[事物]]を[[複数]]混ぜ合わせて一つのものにすること。
*【[[混生]]】:いろいろな種類の植物が入り混じって生えること。
*【[[懇請]]】:心を込めて頼み込むこと。
9dai753z4oelquuqmq8f3q8rgmiyigs
かしょう
0
323564
2280904
2152423
2026-06-08T13:21:49Z
M-30722
1202
2280904
wikitext
text/x-wiki
{{kana-DEFAULTSORT}}
{{also|がしょう|かじょう|がじょう}}
=={{L|ja}}==
==={{kangokana}}===
{{ja-kangokana|h=y}}
*【[[仮晶]]】[[鉱物]]が[[本来]]の[[結晶]]形を保ったまま[[なかみ|中身]]が別の鉱物によって置き換えられることで、[[異常]]な結晶形となる[[現象]]。
*【[[仮称]]】[[かり|仮]]の[[名称]]。
*【[[嘉承]]】日本の元号の一つ。[[長治]]の後、[[天仁]]の前。
*【[[嘉祥]]】[[日本]]の[[元号]]の一つ。[[承和]]の次で、[[仁寿]]の前。
*【[[嘉賞]]・[[佳賞]]・[[嘉尚]]】良いこととして[[ほめる|褒める]]こと。
*【[[寡少]]】極めて少ないさま。
*【[[歌唱]]】[[うた|歌]]を歌うこと。
*【[[火傷]]】[[やけど]]。
*【[[過小]]】小さすぎるさま。
*【[[過少]]】少なすぎるさま。
*【[[過賞]]・[[過称]]・[[過奨]]】[[過剰]]に褒めること。
*【[[花床]]】[[花托]]。
*【[[河床]]】[[河川]]の底の[[地盤]]。
nnois6upx7s148vsrvv1cck5x2xfk1l
かじょう
0
323567
2280903
2184834
2026-06-08T13:21:34Z
M-30722
1202
2280903
wikitext
text/x-wiki
{{kana-DEFAULTSORT}}
{{also|かしょう|がしょう|がじょう}}
=={{L|ja}}==
==={{kangokana}}===
{{ja-kangokana|h=y}}
*【[[過剰]]】[[程度]]や[[量]]が[[適切]]な[[範囲]]を[[超越]]していること。
*【[[家常]]】[[日常]]のこと。
*【[[箇条]]】それぞれの[[内容]]ごとに分けられ、並べて表わされたものの内の一つ。
*【[[科場]]】[[試験場]]。
*【[[下乗]]】[[愚者]]。
0u6vz22b2nt8kh11feq9jtgmjdtk2ko
derogar
0
323713
2281286
1676139
2026-06-09T11:20:16Z
Kuroco2k
84207
2281286
wikitext
text/x-wiki
=={{es}}==
==={{etym}}===
{{etyl|la|es}} ''[[derogare]]''
==={{verb}}===
{{es-verb}}
#{{context|legal|lang=es}}[[無効]]にする。[[廃止]]する。[[撤廃]]する。
===={{conjug}}====
{{es-conj}}
===={{rel}}====
* {{l|es|derogación}}
* {{l|es|rogar}}
1uvbw7h7nzev75i9lytm3n7w57e6ab8
advertir
0
325889
2281244
1370842
2026-06-09T11:03:38Z
Kuroco2k
84207
2281244
wikitext
text/x-wiki
=={{ca}}==
==={{etym}}===
15世紀初出。{{etyl|la|ca}} ''[[advertere]]''
==={{pron}}===
* {{ca-IPA}}
* {{rhymes|i(ɾ)}}
* {{homophones|advertí|lang=ca}}
==={{verb}}===
{{ca-verb|ir|advert}}
#[[注意]]を{{おくりがな2|引|ひ|く|ひく}}。[[警告]]する。
#{{おくりがな3|気|き||付|づ|く|きづく}}。
{{ca-conj-ir|advert}}
===={{drv}}====
* {{l|ca|advertència}}
* {{l|ca|advertiment}}
----
=={{es}}==
==={{etym}}===
{{etyl|la|es}} ''[[advertere]]''
==={{pron}}===
{{es-IPA}}
==={{verb}}===
{{es-verb}}
#[[注意]]を{{おくりがな2|引|ひ|く|ひく}}。[[警告]]する。
#{{おくりがな3|気|き||付|づ|く|きづく}}。
===={{conjug}}====
{{es-conj|<ie-i>}}
===={{syn}}====
* (語義1) {{l|es|avisar}}
* (語義2) {{l|es|notar}}
===={{drv}}====
* {{l|es|advertible}}
* {{l|es|advertimiento}}
===={{rel}}====
* {{l|es|advertencia}}
* {{l|es|inadvertido}}
* {{l|es|verter}}
----
=={{frm}}==
==={{verb}}===
{{head|frm|verb}}
#[[警告]]する。
===={{drv}}====
* {{l|frm|advertissement}}
----
=={{fr}}==
==={{verb}}===
{{fr-verb}}
#[[avertir]]の廃用。
===={{conjugation}}====
{{fr-conj-auto}}
===={{rel}}====
* {{l|fr|advertissement}}
----
=={{pt}}==
==={{etym}}===
{{etyl|la|pt}} ''[[advertere]]''
==={{verb}}===
{{head|pt|verb|直説法現在第一人称単数|[[advirto]]|過去分詞|[[advertido]]}}
#[[警告]]する。
===={{syn}}====
* {{l|pt|prevenir}}
8yznfjk5svbrs4x53y4viw0bz6v183k
モジュール:inflection utilities
828
326316
2281185
1371366
2026-06-09T09:24:39Z
Kuroco2k
84207
2281185
Scribunto
text/plain
local export = {}
local m_links = require("モジュール:links")
local m_string_utilities = require("モジュール:string utilities")
local m_table = require("モジュール:table")
local rsplit = mw.text.split
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
local footnote_abbrevs = {
["a"] = "archaic",
["c"] = "colloquial",
["d"] = "dialectal",
["fp"] = "folk-poetic",
["l"] = "literary",
["lc"] = "low colloquial",
["p"] = "poetic",
["pej"] = "pejorative",
["r"] = "rare",
}
function export.remove_redundant_links(text)
-- remove redundant link surrounding entire form
return rsub(text, "^%[%[([^%[%]|]*)%]%]$", "%1")
end
--[=[
In order to understand the following parsing code, you need to understand how inflected
text specs work. They are intended to work with inflected text where individual words to
be inflected may be followed by inflection specs in angle brackets. The format of the
text inside of the angle brackets is up to the individual language and part-of-speech
specific implementation. A real-world example is as follows:
"[[медичний|меди́чна]]<+> [[сестра́]]<*,*#.pr>". This is the inflection of a multiword
expression "меди́чна сестра́", which means "nurse" (literally "medical sister"), consisting
of two words: the adjective меди́чна ("medical" in the feminine singular) and the noun
сестра́ ("sister"). The specs in angle brackets follow each word to be inflected; for
example, <+> means that the preceding word should be declined as an adjective.
The code below works in terms of balanced expressions, which are bounded by delimiters
such as < > or [ ]. The intention is to allow separators such as spaces to be embedded
inside of delimiters; such embedded separators will not be parsed as separators.
For example, Ukrainian noun specs allow footnotes in brackets to be inserted inside of
angle brackets; something like "меди́чна<+> сестра́<pr.[this is a footnote]>" is legal,
as is "[[медичний|меди́чна]]<+> [[сестра́]]<pr.[this is an <i>italicized footnote</i>]>",
and the parsing code should not be confused by the embedded brackets, spaces or angle
brackets.
The parsing is done by two functions, which work in close concert:
parse_balanced_segment_run() and split_alternating_runs(). To illustrate, consider
the following:
parse_balanced_segment_run("foo<M.proper noun> bar<F>", "<", ">") =
{"foo", "<M.proper noun>", " bar", "<F>", ""}
then
split_alternating_runs({"foo", "<M.proper noun>", " bar", "<F>", ""}, " ") =
{{"foo", "<M.proper noun>", ""}, {"bar", "<F>", ""}}
Here, we start out with a typical inflected text spec "foo<M.proper noun> bar<F>",
call parse_balanced_segment_run() on it, and call split_alternating_runs() on the
result. The output of parse_balanced_segment_run() is a list where even-numbered
segments are bounded by the bracket-like characters passed into the function,
and odd-numbered segments consist of the surrounding text. split_alternating_runs()
is called on this, and splits *only* the odd-numbered segments, grouping all
segments between the specified character. Note that the inner lists output by
split_alternating_runs() are themselves in the same format as the output of
parse_balanced_segment_run(), with bracket-bounded text in the even-numbered segments.
Hence, such lists can be passed again to split_alternating_runs().
]=]
-- Parse a string containing matched instances of parens, brackets or the like.
-- Return a list of strings, alternating between textual runs not containing the
-- open/close characters and runs beginning and ending with the open/close
-- characters. For example,
--
-- parse_balanced_segment_run("foo(x(1)), bar(2)", "(", ")") = {"foo", "(x(1))", ", bar", "(2)", ""}.
function export.parse_balanced_segment_run(segment_run, open, close)
local break_on_open_close = m_string_utilities.capturing_split(segment_run, "([%" .. open .. "%" .. close .. "])")
local text_and_specs = {}
local level = 0
local seg_group = {}
for i, seg in ipairs(break_on_open_close) do
if i % 2 == 0 then
if seg == open then
table.insert(seg_group, seg)
level = level + 1
else
assert(seg == close)
table.insert(seg_group, seg)
level = level - 1
if level < 0 then
error("Unmatched " .. close .. " sign: '" .. segment_run .. "'")
elseif level == 0 then
table.insert(text_and_specs, table.concat(seg_group))
seg_group = {}
end
end
elseif level > 0 then
table.insert(seg_group, seg)
else
table.insert(text_and_specs, seg)
end
end
if level > 0 then
error("Unmatched " .. open .. " sign: '" .. segment_run .. "'")
end
return text_and_specs
end
-- Like parse_balanced_segment_run() but accepts multiple sets of delimiters. For example,
--
-- parse_multi_delimiter_balanced_segment_run("foo[bar(baz[bat])], quux<glorp>", {{"[", "]"}, {"(", ")"}, {"<", ">"}}) =
-- {"foo", "[bar(baz[bat])]", ", quux", "<glorp>", ""}.
function export.parse_multi_delimiter_balanced_segment_run(segment_run, delimiter_pairs)
local open_to_close_map = {}
local open_close_items = {}
for _, open_close in ipairs(delimiter_pairs) do
local open, close = unpack(open_close)
open_to_close_map[open] = close
table.insert(open_close_items, "%" .. open)
table.insert(open_close_items, "%" .. close)
end
local open_close_pattern = "([" .. table.concat(open_close_items) .. "])"
local break_on_open_close = m_string_utilities.capturing_split(segment_run, open_close_pattern)
local text_and_specs = {}
local level = 0
local seg_group = {}
local open_at_level_zero
for i, seg in ipairs(break_on_open_close) do
if i % 2 == 0 then
table.insert(seg_group, seg)
if level == 0 then
if not open_to_close_map[seg] then
error("Unmatched " .. seg .. " sign: '" .. segment_run .. "'")
end
assert(open_at_level_zero == nil)
open_at_level_zero = seg
level = level + 1
elseif seg == open_at_level_zero then
level = level + 1
elseif seg == open_to_close_map[open_at_level_zero] then
level = level - 1
assert(level >= 0)
if level == 0 then
table.insert(text_and_specs, table.concat(seg_group))
seg_group = {}
open_at_level_zero = nil
end
end
elseif level > 0 then
table.insert(seg_group, seg)
else
table.insert(text_and_specs, seg)
end
end
if level > 0 then
error("Unmatched " .. open_at_level_zero .. " sign: '" .. segment_run .. "'")
end
return text_and_specs
end
--[=[
Split a list of alternating textual runs of the format returned by
`parse_balanced_segment_run` on `splitchar`. This only splits the odd-numbered
textual runs (the portions between the balanced open/close characters).
The return value is a list of lists, where each list contains an odd number of
elements, where the even-numbered elements of the sublists are the original
balanced textual run portions. For example, if we do
parse_balanced_segment_run("foo<M.proper noun> bar<F>", "<", ">") =
{"foo", "<M.proper noun>", " bar", "<F>", ""}
then
split_alternating_runs({"foo", "<M.proper noun>", " bar", "<F>", ""}, " ") =
{{"foo", "<M.proper noun>", ""}, {"bar", "<F>", ""}}
Note that we did not touch the text "<M.proper noun>" even though it contains a space
in it, because it is an even-numbered element of the input list. This is intentional and
allows for embedded separators inside of brackets/parens/etc. Note also that the inner
lists in the return value are of the same form as the input list (i.e. they consist of
alternating textual runs where the even-numbered segments are balanced runs), and can in
turn be passed to split_alternating_runs().
If `preserve_splitchar` is passed in, the split character is included in the output,
as follows:
split_alternating_runs({"foo", "<M.proper noun>", " bar", "<F>", ""}, " ", true) =
{{"foo", "<M.proper noun>", ""}, {" "}, {"bar", "<F>", ""}}
Consider what happens if the original string has multiple spaces between brackets,
and multiple sets of brackets without spaces between them.
parse_balanced_segment_run("foo[dated][low colloquial] baz-bat quux xyzzy[archaic]", "[", "]") =
{"foo", "[dated]", "", "[low colloquial]", " baz-bat quux xyzzy", "[archaic]", ""}
then
split_alternating_runs({"foo", "[dated]", "", "[low colloquial]", " baz-bat quux xyzzy", "[archaic]", ""}, "[ %-]") =
{{"foo", "[dated]", "", "[low colloquial]", ""}, {"baz"}, {"bat"}, {"quux"}, {"xyzzy", "[archaic]", ""}}
If `preserve_splitchar` is passed in, the split character is included in the output,
as follows:
split_alternating_runs({"foo", "[dated]", "", "[low colloquial]", " baz bat quux xyzzy", "[archaic]", ""}, "[ %-]", true) =
{{"foo", "[dated]", "", "[low colloquial]", ""}, {" "}, {"baz"}, {"-"}, {"bat"}, {" "}, {"quux"}, {" "}, {"xyzzy", "[archaic]", ""}}
As can be seen, the even-numbered elements in the outer list are one-element lists consisting of the separator text.
]=]
function export.split_alternating_runs(segment_runs, splitchar, preserve_splitchar)
local grouped_runs = {}
local run = {}
for i, seg in ipairs(segment_runs) do
if i % 2 == 0 then
table.insert(run, seg)
else
local parts =
preserve_splitchar and m_string_utilities.capturing_split(seg, "(" .. splitchar .. ")") or
rsplit(seg, splitchar)
table.insert(run, parts[1])
for j=2,#parts do
table.insert(grouped_runs, run)
run = {parts[j]}
end
end
end
if #run > 0 then
table.insert(grouped_runs, run)
end
return grouped_runs
end
-- Given a list of forms (each of which is a table of the form
-- {form=FORM, translit=MANUAL_TRANSLIT, footnotes=FOOTNOTES}), concatenate into a
-- SLOT=FORM//TRANSLIT,FORM//TRANSLIT,... string (or SLOT=FORM,FORM,... if no translit),
-- replacing embedded | signs with <!>.
function export.concat_forms_in_slot(forms)
if forms then
local new_vals = {}
for _, v in ipairs(forms) do
local form = v.form
if v.translit then
form = form .. "//" .. v.translit
end
table.insert(new_vals, rsub(form, "|", "<!>"))
end
return table.concat(new_vals, ",")
else
return nil
end
end
-- Insert a form (an object of the form {form=FORM, translit=MANUAL_TRANSLIT, footnotes=FOOTNOTES})
-- into a list of such forms. If the form is already present, the footnotes of the existing and
-- new form might be combined (specifically, footnotes in the new form beginning with ! will be
-- combined).
function export.insert_form_into_list(list, form)
-- Don't do anything if the form object or the form inside it is nil. This simplifies
-- form insertion in the presence of inflection generating functions that may return nil,
-- such as generate_noun_vocative() and generate_noun_count_form().
if not form or not form.form then
return
end
for _, listform in ipairs(list) do
if listform.form == form.form and listform.translit == form.translit then
-- Form already present; maybe combine footnotes.
if form.footnotes then
-- The behavior here has changed; track cases where the old behavior might
-- be needed by adding ! to the footnote.
require("モジュール:debug").track("inflection-utilities/combining-footnotes")
local any_footnotes_with_bang = false
for _, footnote in ipairs(form.footnotes) do
if rfind(footnote, "^%[!") then
any_footnotes_with_bang = true
break
end
end
if any_footnotes_with_bang then
if not listform.footnotes then
listform.footnotes = {}
else
listform.footnotes = m_table.shallowcopy(listform.footnotes)
end
for _, footnote in ipairs(form.footnotes) do
local already_seen = false
if rfind(footnote, "^%[!") then
for _, existing_footnote in ipairs(listform.footnotes) do
if rsub(existing_footnote, "^%[!", "") == rsub(footnote, "^%[!", "") then
already_seen = true
break
end
end
if not already_seen then
table.insert(listform.footnotes, footnote)
end
end
end
end
end
return
end
end
-- Form not found.
table.insert(list, form)
end
-- Insert a form (an object of the form {form=FORM, translit=MANUAL_TRANSLIT, footnotes=FOOTNOTES})
-- into the given slot in the given form table.
function export.insert_form(formtable, slot, form)
-- Don't do anything if the form object or the form inside it is nil. This simplifies
-- form insertion in the presence of inflection generating functions that may return nil,
-- such as generate_noun_vocative() and generate_noun_count_form().
if not form or not form.form then
return
end
if not formtable[slot] then
formtable[slot] = {}
end
export.insert_form_into_list(formtable[slot], form)
end
-- Insert a list of forms (each of which is an object of the form
-- {form=FORM, translit=MANUAL_TRANSLIT, footnotes=FOOTNOTES}) into the given slot in the given
-- form table. FORMS can be nil.
function export.insert_forms(formtable, slot, forms)
if not forms then
return
end
for _, form in ipairs(forms) do
export.insert_form(formtable, slot, form)
end
end
-- Map a function over the form values in FORMS (a list of objects of the form
-- {form=FORM, translit=MANUAL_TRANSLIT, footnotes=FOOTNOTES}). The function is called with
-- two arguments, the original form and manual translit; if manual translit isn't relevant,
-- it's fine to declare the function with only one argument. The return value is either a
-- single value (the new form) or two values (the new form and new manual translit).
-- Use insert_form_into_list() to insert them into the returned list in case two different
-- forms map to the same thing.
function export.map_forms(forms, fun)
if not forms then
return nil
end
local retval = {}
for _, form in ipairs(forms) do
local newform, newtranslit = fun(form.form, form.translit)
newform = {form=newform, translit=newtranslit, footnotes=form.footnotes}
export.insert_form_into_list(retval, newform)
end
return retval
end
-- Map a list-returning function over the form values in FORMS (a list of objects of the form
-- {form=FORM, translit=MANUAL_TRANSLIT, footnotes=FOOTNOTES}). The function is called witih
-- two arguments, the original form and manual translit; if manual translit isn't relevant,
-- it's fine to declare the function with only one argument. The return value is either a
-- list of forms or a list of objects of the form {form=FORM, translit=MANUAL_TRANSLIT}.
-- Use insert_form_into_list() to insert them into the returned list in case two different
-- forms map to the same thing.
function export.flatmap_forms(forms, fun)
if not forms then
return nil
end
local retval = {}
for _, form in ipairs(forms) do
local funret = fun(form.form, form.translit)
for _, fr in ipairs(funret) do
local newform
if type(fr) == "table" then
newform = {form=fr.form, translit=fr.translit, footnotes=form.footnotes}
else
newform = {form=fr, footnotes=form.footnotes}
end
export.insert_form_into_list(retval, newform)
end
end
return retval
end
-- Map a function over the form values in FORMS (a single string, a single object of the form
-- {form=FORM, translit=MANUAL_TRANSLIT, footnotes=FOOTNOTES}, or a list of either of the
-- previous two types). If FIRST_ONLY is given and FORMS is a list, only map over the first
-- element. Return value is of the same form as FORMS. The function is called with two
-- arguments, the original form and manual translit; if manual translit isn't relevant,
-- it's fine to declare the function with only one argument. The return value is either a
-- single value (the new form) or two values (the new form and new manual translit).
function export.map_form_or_forms(forms, fn, first_only)
if forms == nil then
return nil
elseif type(forms) == "string" then
return forms == "?" and "?" or fn(forms)
elseif forms.form then
if forms.form == "?" then
return {form = "?", footnotes = forms.footnotes}
end
local newform, newtranslit = fn(forms.form, forms.translit)
return {form=newform, translit=newtranslit, footnotes=forms.footnotes}
else
local retval = {}
for i, form in ipairs(forms) do
if first_only then
return export.map_form_or_forms(form, fn)
end
table.insert(retval, export.map_form_or_forms(form, fn))
end
return retval
end
end
-- Combine two sets of footnotes. If either is nil, just return the other, and if both are nil,
-- return nil.
function export.combine_footnotes(notes1, notes2)
if not notes1 and not notes2 then
return nil
end
if not notes1 then
return notes2
end
if not notes2 then
return notes1
end
local combined = m_table.shallowcopy(notes1)
for _, note in ipairs(notes2) do
m_table.insertIfNot(combined, note)
end
return combined
end
-- Expand a given footnote (as specified by the user, including the surrounding brackets)
-- into the form to be inserted into the final generated table.
function export.expand_footnote(note)
local notetext = rmatch(note, "^%[!?(.*)%]$")
if not notetext then
error("Internal error: Footnote should be surrounded by brackets: " .. note)
end
if footnote_abbrevs[notetext] then
notetext = footnote_abbrevs[notetext]
else
local split_notes = m_string_utilities.capturing_split(notetext, "<(.-)>")
for i, split_note in ipairs(split_notes) do
if i % 2 == 0 then
split_notes[i] = footnote_abbrevs[split_note]
if not split_notes[i] then
-- Don't error for now, because HTML might be in the footnote.
-- Instead we should switch the syntax here to e.g. <<a>> to avoid
-- conflicting with HTML.
split_notes[i] = "<" .. split_note .. ">"
--error("Unrecognized footnote abbrev: <" .. split_note .. ">")
end
end
end
notetext = table.concat(split_notes)
end
return m_string_utilities.ucfirst(notetext) .. "."
end
-- Combine a form (either a string or a table {form = FORM, footnotes = FOOTNOTES, ...}) with footnotes.
-- Do the minimal amount of work; e.g. if FOOTNOTES is nil, just return FORM.
function export.combine_form_and_footnotes(form, footnotes)
if type(footnotes) == "string" then
footnotes = {footnotes}
end
if footnotes then
if type(form) == "table" then
form = m_table.shallowcopy(form)
form.footnotes = export.combine_footnotes(form.footnotes, footnotes)
return form
else
return {form = form, footnotes = footnotes}
end
else
return form
end
end
-- Older entry point. FIXME: Obsolete me.
function export.generate_form(form, footnotes)
return export.combine_form_and_footnotes(form, footnotes)
end
-- Combine a single form (either a string or object {form = FORM, footnotes = FOOTNOTES, ...}) or a list of same
-- along with footnotes and return a list of forms where each returned form is an object
-- {form = FORM, footnotes = FOOTNOTES, ...}.
function export.convert_to_general_list_form(word_or_words, footnotes)
if type(word_or_words) == "string" then
return {{form = word_or_words, footnotes = footnotes}}
elseif word_or_words.form then
return {export.combine_form_and_footnotes(word_or_words, footnotes)}
else
local retval = {}
for _, form in ipairs(word_or_words) do
if type(form) == "string" then
table.insert(retval, {form = form, footnotes = footnotes})
else
table.insert(retval, export.combine_form_and_footnotes(form, footnotes))
end
end
return retval
end
end
local function is_table_of_strings(forms)
for k, v in pairs(forms) do
if type(k) ~= "number" or type(v) ~= "string" then
return false
end
end
return true
end
function export.add_forms(forms, slot, stems, endings, combine_stem_ending,
lang, combine_stem_ending_tr, footnotes)
if stems == nil or endings == nil then
return
end
if type(stems) == "string" and type(endings) == "string" then
export.insert_form(forms, slot, {form = combine_stem_ending(stems, endings), footnotes = footnotes})
elseif type(stems) == "string" and is_table_of_strings(endings) then
for _, ending in ipairs(endings) do
export.insert_form(forms, slot, {form = combine_stem_ending(stems, ending), footnotes = footnotes})
end
else
stems = export.convert_to_general_list_form(stems)
endings = export.convert_to_general_list_form(endings, footnotes)
for _, stem in ipairs(stems) do
for _, ending in ipairs(endings) do
local footnotes = nil
if stem.footnotes and ending.footnotes then
footnotes = m_table.shallowcopy(stem.footnotes)
for _, footnote in ipairs(ending.footnotes) do
m_table.insertIfNot(footnotes, footnote)
end
elseif stem.footnotes then
footnotes = stem.footnotes
elseif ending.footnotes then
footnotes = ending.footnotes
end
local new_form = combine_stem_ending(stem.form, ending.form)
local new_translit
if stem.translit or ending.translit then
if not lang or not combine_stem_ending_tr then
error("Internal error: With manual translit, 'lang' and 'combine_stem_ending_tr' must be passed to 'add_forms'")
end
local stem_tr = stem.translit or lang:transliterate(m_links.remove_links(stem.form))
local ending_tr = ending.translit or lang:transliterate(m_links.remove_links(ending.form))
new_translit = combine_stem_ending_tr(stem_tr, ending_tr)
end
export.insert_form(forms, slot, {form = new_form, translit = new_translit, footnotes = footnotes})
end
end
end
end
function export.add_multiple_forms(forms, slot, sets_of_forms, combine_stem_ending,
lang, combine_stem_ending_tr, footnotes)
if #sets_of_forms == 0 then
return
elseif #sets_of_forms == 1 then
local formset = iut.convert_to_general_list_form(sets_of_forms[1], footnotes)
export.insert_forms(forms, slot, formset)
elseif #sets_of_forms == 2 then
local stems = sets_of_forms[1]
local endings = sets_of_forms[2]
export.add_forms(forms, slot, stems, endings, combine_stem_ending,
lang, combine_stem_ending_tr, footnotes)
else
local prev = sets_of_forms[1]
for i=2,#sets_of_forms do
local tempdest = {}
export.add_forms(tempdest, slot, prev, sets_of_forms[i], combine_stem_ending,
lang, combine_stem_ending_tr, i == #sets_of_forms and footnotes or nil)
prev = tempdest[slot]
end
export.insert_forms(forms, slot, prev)
end
end
local function iterate_slot_list_or_table(props, do_slot)
if props.slot_list then
for _, slot_and_accel_form in ipairs(props.slot_list) do
local slot, accel_form = unpack(slot_and_accel_form)
do_slot(slot, accel_form)
end
else
for slot, accel_form in pairs(props.slot_table) do
do_slot(slot, accel_form)
end
end
end
local function parse_before_or_post_text(props, text, segments, lemma_is_last)
-- If the text begins with a hyphen, include the hyphen in the set of allowed characters
-- for an inflected segment. This way, e.g. conjugating "-ir" is treated as a regular
-- -ir verb rather than a hyphen + irregular [[ir]].
local is_suffix = rfind(text, "^%-")
-- Call parse_balanced_segment_run() to keep multiword links together.
local bracketed_runs = export.parse_balanced_segment_run(text, "[", "]")
-- Split on space or hyphen. Use preserve_splitchar so we know whether the separator was
-- a space or hyphen.
local space_separated_groups = export.split_alternating_runs(bracketed_runs,
is_suffix and " " or "[ %-]", "preserve splitchar")
local parsed_components = {}
local parsed_components_translit = {}
local saw_manual_translit = false
local lemma
for j, space_separated_group in ipairs(space_separated_groups) do
local component = table.concat(space_separated_group)
if lemma_is_last and j == #space_separated_groups then
lemma = component
if lemma == "" and not props.allow_blank_lemma then
error("Word is blank: '" .. table.concat(segments) .. "'")
end
elseif rfind(component, "//") then
-- Manual translit or respelling specified.
if not props.lang then
error("Manual translit not allowed for this language; if this is incorrect, 'props.lang' must be set internally")
end
saw_manual_translit = true
local split = rsplit(component, "//")
if #split ~= 2 then
error("Term with translit or respelling should have only one // in it: " .. component)
end
local translit
component, translit = unpack(split)
if props.transliterate_respelling then
translit = props.transliterate_respelling(translit)
end
table.insert(parsed_components, component)
table.insert(parsed_components_translit, translit)
else
table.insert(parsed_components, component)
table.insert(parsed_components_translit, false) -- signal that it may need later transliteration
end
end
if saw_manual_translit then
for j, parsed_component in ipairs(parsed_components) do
if not parsed_components_translit[j] then
parsed_components_translit[j] =
props.lang:transliterate(m_links.remove_links(parsed_component))
end
end
end
text = table.concat(parsed_components)
local translit
if saw_manual_translit then
translit = table.concat(parsed_components_translit)
end
return text, translit, lemma
end
--[=[
Parse a segmented multiword spec such as "[[медичний|меди́чна]]<+> [[сестра́]]<*,*#.pr>" (in Ukrainian).
"Segmented" here means it is broken up on <...> segments using parse_balanced_segment_run(text, "<", ">"),
e.g. the above text would be passed in as {"[[медичний|меди́чна]]", "<+>", " [[сестра́]]", "<*,*#.pr>", ""}.
The return value is a table of the form
{
word_specs = {WORD_SPEC, WORD_SPEC, ...},
post_text = "TEXT-AT-END",
post_text_no_links = "TEXT-AT-END-NO-LINKS",
post_text_translit = "MANUAL-TRANSLIT-OF-TEXT-AT-END" or nil (if no manual translit or respelling was specified in the post-text)
}
where WORD_SPEC describes an individual inflected word and "TEXT-AT-END" is any raw text that may occur
after all inflected words. Individual words or linked text (including multiword text) may be given manual
transliteration or respelling in languages that support this using TEXT//TRANSLIT or TEXT//RESPELLING.
Each WORD_SPEC is of the form returned by parse_indicator_spec():
{
lemma = "LEMMA",
before_text = "TEXT-BEFORE-WORD",
before_text_no_links = "TEXT-BEFORE-WORD-NO-LINKS",
before_text_translit = "MANUAL-TRANSLIT-OF-TEXT-BEFORE-WORD" or nil (if no manual translit or respelling was specified in the before-text)
-- Fields as described in parse_indicator_spec()
...
}
For example, the return value for "[[медичний|меди́чна]]<+> [[сестра́]]<*,*#.pr>" is
{
word_specs = {
{
lemma = "[[медичний|меди́чна]]",
overrides = {},
adj = true,
before_text = "",
before_text_no_links = "",
forms = {},
},
{
lemma = "[[сестра́]]",
overrides = {},
stresses = {
{
reducible = true,
genpl_reversed = false,
},
{
reducible = true,
genpl_reversed = true,
},
},
animacy = "pr",
before_text = " ",
before_text_no_links = " ",
forms = {},
},
},
post_text = "",
post_text_no_links = "",
}
]=]
local function parse_multiword_spec(segments, props, disable_allow_default_indicator)
local multiword_spec = {
word_specs = {}
}
if not disable_allow_default_indicator and props.allow_default_indicator and #segments == 1 then
table.insert(segments, "<>")
table.insert(segments, "")
end
-- Loop over every other segment. The even-numbered segments are angle-bracket specs while
-- the odd-numbered segments are the text between them.
for i = 2, #segments - 1, 2 do
local before_text, before_text_translit, lemma =
parse_before_or_post_text(props, segments[i - 1], segments, "lemma is last")
local base = props.parse_indicator_spec(segments[i])
base.before_text = before_text
base.before_text_no_links = m_links.remove_links(base.before_text)
base.before_text_translit = before_text_translit
base.lemma = lemma
table.insert(multiword_spec.word_specs, base)
end
multiword_spec.post_text, multiword_spec.post_text_translit =
parse_before_or_post_text(props, segments[#segments], segments)
multiword_spec.post_text_no_links = m_links.remove_links(multiword_spec.post_text)
return multiword_spec
end
--[=[
Parse an alternant, e.g. "((родо́вий,родови́й))" or "((ру́син<pr>,руси́н<b.pr>))" (both in Ukrainian).
The return value is a table of the form
{
alternants = {MULTIWORD_SPEC, MULTIWORD_SPEC, ...}
}
where MULTIWORD_SPEC describes a given alternant and is as returned by parse_multiword_spec().
]=]
local function parse_alternant(alternant, props)
local parsed_alternants = {}
local alternant_text = rmatch(alternant, "^%(%((.*)%)%)$")
local segments = export.parse_balanced_segment_run(alternant_text, "<", ">")
local comma_separated_groups = export.split_alternating_runs(segments, "%s*,%s*")
local alternant_spec = {alternants = {}}
for _, comma_separated_group in ipairs(comma_separated_groups) do
table.insert(alternant_spec.alternants, parse_multiword_spec(comma_separated_group, props))
end
return alternant_spec
end
--[=[
Top-level parsing function. Parse text describing one or more inflected words.
`text` is the inflected text to parse, which generally has <...> specs following words to
be inflected, and may have alternants indicated using double parens. Examples:
"[[медичний|меди́чна]]<+> [[сестра́]]<*,*#.pr>" (Ukrainian, for [[медична сестра]] "nurse (lit. medical sister)")
"((ру́син<pr>,руси́н<b.pr>))" (Ukrainian, for [[русин]] "Rusyn")
"पंचायती//पंचाय*ती राज<M>" (Hindi, for [[पंचायती राज]] "village council", with phonetic respelling in the before-text component)
"((<M>,<M.plstem:फ़तूह.dirpl:फ़तूह>))" (Hindi, for [[फ़तह]] "win, victory", on that page, where the lemma is omitted and taken from the pagename)
"" (for any number of Hindi adjectives, where the lemma is omitted and taken from the pagename, and the angle bracket spec <> is assumed)
"काला<+>धन<M>" (Hindi, for [[कालाधन]] "black money")
`props` is an object specifying properties used during parsing, as follows:
{
parse_indicator_spec = FUNCTION_TO_PARSE_AN_INDICATOR_SPEC (required; takes one argument,
a string surrounded by angle brackets, and should return a
word_spec object containing properties describing the indicators
inside of the angle brackets),
lang = LANG_OBJECT (only needed if manual translit or respelling may be present using //),
transliterate_respelling = FUNCTION_TO_TRANSLITERATE_RESPELLING (only needed of respelling
is allowed in place of manual translit after //; takes one
argument, the respelling or translit, and should return the
transliteration of any resplling but return any translit
unchanged),
allow_default_indicator = BOOLEAN_OR_NIL (true if the indicator in angle brackets can
be omitted and will be automatically added at the end of the
multiword text (if no alternants) or at the end of each
alternant (if alternants present),
allow_blank_lemma = BOOLEAN_OR_NIL (true if a blank lemma is allowed; in such a case, the
calling function should substitute a default lemma, typically taken
from the pagename)
}
The return value is a table of the form
{
alternant_or_word_specs = {ALTERNANT_OR_WORD_SPEC, ALTERNANT_OR_WORD_SPEC, ...}
post_text = "TEXT-AT-END",
post_text_no_links = "TEXT-AT-END-NO-LINKS",
post_text_translit = "TRANSLIT-OF-TEXT-AT-END" (or nil),
}
where ALTERNANT_OR_WORD_SPEC is either an alternant spec as returned by parse_alternant()
or a multiword spec as described in the comment above parse_multiword_spec(). An alternant spec
looks as follows:
{
alternants = {MULTIWORD_SPEC, MULTIWORD_SPEC, ...},
before_text = "TEXT-BEFORE-ALTERNANT",
before_text_no_links = "TEXT-BEFORE-ALTERNANT",
before_text_translit = "TRANSLIT-OF-TEXT-BEFORE-ALTERNANT" (or nil),
}
i.e. it is like what is returned by parse_alternant() but has extra `before_text`
and `before_text_no_links` fields.
]=]
function export.parse_inflected_text(text, props)
local alternant_multiword_spec = {alternant_or_word_specs = {}}
local alternant_segments = m_string_utilities.capturing_split(text, "(%(%(.-%)%))")
local last_post_text, last_post_text_no_links, last_post_text_translit
for i = 1, #alternant_segments do
if i % 2 == 1 then
local segments = export.parse_balanced_segment_run(alternant_segments[i], "<", ">")
-- Disable allow_default_indicator if alternants are present and we're processing
-- the non-alternant text. Otherwise we will try to treat the non-alternant text
-- surrounding the alternants as an inflected word rather than as raw text.
local multiword_spec = parse_multiword_spec(segments, props, #alternant_segments ~= 1)
for _, word_spec in ipairs(multiword_spec.word_specs) do
table.insert(alternant_multiword_spec.alternant_or_word_specs, word_spec)
end
last_post_text = multiword_spec.post_text
last_post_text_no_links = multiword_spec.post_text_no_links
last_post_text_translit = multiword_spec.post_text_translit
else
local alternant_spec = parse_alternant(alternant_segments[i], props)
alternant_spec.before_text = last_post_text
alternant_spec.before_text_no_links = last_post_text_no_links
alternant_spec.before_text_translit = last_post_text_translit
table.insert(alternant_multiword_spec.alternant_or_word_specs, alternant_spec)
end
end
alternant_multiword_spec.post_text = last_post_text
alternant_multiword_spec.post_text_no_links = last_post_text_no_links
alternant_multiword_spec.post_text_translit = last_post_text_translit
return alternant_multiword_spec
end
-- Older entry point. FIXME: Convert all uses of this to use export.parse_inflected_text instead.
function export.parse_alternant_multiword_spec(text, parse_indicator_spec, allow_default_indicator, allow_blank_lemma)
local props = {
parse_indicator_spec = parse_indicator_spec,
allow_default_indicator = allow_default_indicator,
allow_blank_lemma = allow_blank_lemma,
}
return export.parse_inflected_text(text, props)
end
-- Inflect alternants in ALTERNANT_SPEC (an object as returned by parse_alternant()).
-- This sets the form values in `ALTERNANT_SPEC.forms` for all slots.
-- (If a given slot has no values, it will not be present in `ALTERNANT_SPEC.forms`).
local function inflect_alternants(alternant_spec, props)
alternant_spec.forms = {}
for _, multiword_spec in ipairs(alternant_spec.alternants) do
export.inflect_multiword_or_alternant_multiword_spec(multiword_spec, props)
iterate_slot_list_or_table(props, function(slot)
if not props.skip_slot or not props.skip_slot(slot) then
export.insert_forms(alternant_spec.forms, slot, multiword_spec.forms[slot])
end
end)
end
end
local function append_forms(props, formtable, slot, forms, before_text, before_text_no_links,
before_text_translit)
if not forms then
return
end
local old_forms = formtable[slot] or {{form = ""}}
local ret_forms = {}
for _, old_form in ipairs(old_forms) do
for _, form in ipairs(forms) do
local old_form_vars = props.get_variants and props.get_variants(old_form.form) or ""
local form_vars = props.get_variants and props.get_variants(form.form) or ""
if old_form_vars ~= "" and form_vars ~= "" and old_form_vars ~= form_vars then
-- Reject combination due to non-matching variant codes.
else
local new_form = old_form.form .. before_text .. form.form
local new_translit
if old_form.translit or before_text_translit or form.translit then
if not props.lang then
error("Internal error: If manual translit is given, 'props.lang' must be set")
end
if not before_text_translit then
before_text_translit = props.lang:transliterate(before_text_no_links) or ""
end
local old_translit = old_form.translit or props.lang:transliterate(m_links.remove_links(old_form.form)) or ""
local translit = form.translit or props.lang:transliterate(m_links.remove_links(form.form)) or ""
new_translit = old_translit .. before_text_translit .. translit
end
local new_footnotes = export.combine_footnotes(old_form.footnotes, form.footnotes)
table.insert(ret_forms, {form=new_form, translit=new_translit,
footnotes=new_footnotes})
end
end
end
formtable[slot] = ret_forms
end
function export.inflect_multiword_or_alternant_multiword_spec(multiword_spec, props)
multiword_spec.forms = {}
local is_alternant_multiword = not not multiword_spec.alternant_or_word_specs
for _, word_spec in ipairs(is_alternant_multiword and multiword_spec.alternant_or_word_specs or multiword_spec.word_specs) do
if word_spec.alternants then
inflect_alternants(word_spec, props)
elseif props.decline_word_spec then
props.decline_word_spec(word_spec)
else
props.inflect_word_spec(word_spec)
end
iterate_slot_list_or_table(props, function(slot)
if not props.skip_slot or not props.skip_slot(slot) then
append_forms(props, multiword_spec.forms, slot, word_spec.forms[slot],
(rfind(slot, "linked") or props.include_user_specified_links) and
word_spec.before_text or word_spec.before_text_no_links,
word_spec.before_text_no_links, word_spec.before_text_translit
)
end
end)
end
if multiword_spec.post_text ~= "" then
local pseudoform = {{form=""}}
iterate_slot_list_or_table(props, function(slot)
-- If slot is empty or should be skipped, don't try to append post-text.
if (not props.skip_slot or not props.skip_slot(slot)) and multiword_spec.forms[slot] then
append_forms(props, multiword_spec.forms, slot, pseudoform,
(rfind(slot, "linked") or props.include_user_specified_links) and
multiword_spec.post_text or multiword_spec.post_text_no_links,
multiword_spec.post_text_no_links, multiword_spec.post_text_translit
)
end
end)
end
end
function export.decline_multiword_or_alternant_multiword_spec(multiword_spec, props)
return export.inflect_multiword_or_alternant_multiword_spec(multiword_spec, props)
end
function export.map_word_specs(alternant_multiword_spec, fun)
for _, alternant_or_word_spec in ipairs(alternant_multiword_spec.alternant_or_word_specs) do
if alternant_or_word_spec.alternants then
for _, multiword_spec in ipairs(alternant_or_word_spec.alternants) do
for _, word_spec in ipairs(multiword_spec.word_specs) do
fun(word_spec)
end
end
else
fun(alternant_or_word_spec)
end
end
end
function export.create_footnote_obj()
return {
notes = {},
seen_notes = {},
noteindex = 1,
}
end
function export.get_footnote_text(form, footnote_obj)
if not form.footnotes then
return ""
end
local link_indices = {}
for _, footnote in ipairs(form.footnotes) do
footnote = export.expand_footnote(footnote)
local this_noteindex = footnote_obj.seen_notes[footnote]
if not this_noteindex then
-- Generate a footnote index.
this_noteindex = footnote_obj.noteindex
footnote_obj.noteindex = footnote_obj.noteindex + 1
table.insert(footnote_obj.notes, '<sup style="color: red">' .. this_noteindex .. '</sup>' .. footnote)
footnote_obj.seen_notes[footnote] = this_noteindex
end
m_table.insertIfNot(link_indices, this_noteindex)
end
table.sort(link_indices)
return '<sup style="color: red">' .. table.concat(link_indices, ",") .. '</sup>'
end
function export.add_links_to_before_and_after_text(alternant_multiword_spec, remember_original, add_links)
add_links = add_links or export.add_links
local function add_links_remember_original(object, field)
if remember_original then
object["user_specified_" .. field] = object[field]
end
object[field] = add_links(object[field])
end
for _, alternant_or_word_spec in ipairs(alternant_multiword_spec.alternant_or_word_specs) do
add_links_remember_original(alternant_or_word_spec, "before_text")
if alternant_or_word_spec.alternants then
for _, multiword_spec in ipairs(alternant_or_word_spec.alternants) do
for _, word_spec in ipairs(multiword_spec.word_specs) do
add_links_remember_original(word_spec, "before_text")
end
add_links_remember_original(multiword_spec, "post_text")
end
end
end
add_links_remember_original(alternant_multiword_spec, "post_text")
end
--[=[
Convert the forms in `forms` (a list of form objects, each of which is a table of the form
{ form = FORM, translit = MANUAL_TRANSLIT_OR_NIL, footnotes = FOOTNOTE_LIST_OR_NIL, no_accel = TRUE_TO_SUPPRESS_ACCELERATORS })
into strings. Each form list turns into a string consisting of a comma-separated list of linked forms, with accelerators
(unless `no_accel` is set in a given form). `props` is a table used in generating the strings, as follows:
{
lang = LANG_OBJECT,
lemmas = LEMMAS,
slot_table = SLOT_TABLE,
slot_list = SLOT_LIST,
include_translit = BOOLEAN,
create_footnote_obj = FUNCTION_TO_CREATE_FOOTNOTE_OBJ,
canonicalize = FUNCTION_TO_CANONICALIZE_EACH_FORM,
transform_link = FUNCTION_TO_TRANSFORM_EACH_LINK,
join_spans = FUNCTION_TO_JOIN_SPANS,
allow_footnote_symbols = BOOLEAN,
footnotes = EXTRA_FOOTNOTES,
}
`lemmas` is the list of lemmas, used in the accelerators.
`slot_list` is a list of two-element lists of slots and associated accelerator inflections.
`slot_table` is a table mapping slots to associated accelerator inflections.
(One of `slot_list` or `slot_table` must be given.)
If `include_translit` is given, transliteration is included in the generated strings.
`create_footnote_obj` is an optional function of no arguments to create the footnote object used to track footnotes;
see export.create_footnote_obj(). Customizing it is useful to prepopulate the footnote table using
export.get_footnote_text().
`canonicalize` is an optional function of one argument (a form) to canonicalize each form before processing; it can return nil
for no change.
`transform_link` is an optional function to transform a linked form prior to further processing; it is passed three arguments
(slot, link, link_tr) and should return the transformed link (or if translit is active, it should return the transformed link
and corresponding translit). It can return nil for no change.
`join_spans` is an optional function of three arguments (slot, orig_spans, tr_spans) where the spans in question are after
linking and footnote processing. It should return a string (the joined spans) or nil for the default algorithm, which separately
joins the orig_spans and tr_spans with commas and puts a newline between them.
If `allow_footnote_symbols` is given, footnote symbols attached to forms (e.g. numbers, asterisk) are separated off, placed outside
the links, and superscripted. In this case, `footnotes` should be a list of footnotes (preceded by footnote symbols, which are
superscripted). These footnotes are combined with any footnotes found in the forms and placed into `forms.footnotes`.
]=]
function export.show_forms(forms, props)
local footnote_obj = props.create_footnote_obj and props.create_footnote_obj() or export.create_footnote_obj()
local accel_lemma = props.lemmas[1]
local accel_lemma_translit
if type(accel_lemma) == "table" then
accel_lemma_translit = accel_lemma.translit
accel_lemma = accel_lemma.form
end
accel_lemma = accel_lemma and m_links.remove_links(accel_lemma) or nil
local lemma_forms = {}
for _, lemma in ipairs(props.lemmas) do
if type(lemma) == "table" then
m_table.insertIfNot(lemma_forms, lemma.form)
else
m_table.insertIfNot(lemma_forms, lemma)
end
end
forms.lemma = #lemma_forms > 0 and table.concat(lemma_forms, ", ") or mw.title.getCurrentTitle().text
local m_table_tools = require("モジュール:table tools")
local m_script_utilities = require("モジュール:script utilities")
local function do_slot(slot, accel_form)
local formvals = forms[slot]
if formvals then
local orig_spans = {}
local tr_spans = {}
local orignotes, trnotes = "", ""
for i, form in ipairs(formvals) do
local orig_text = props.canonicalize and props.canonicalize(form.form) or form.form
local link
if form.form == "—" or form.form == "?" then
link = orig_text
else
local origentry
if props.allow_footnote_symbols then
origentry, orignotes = m_table_tools.get_notes(orig_text)
else
origentry = orig_text
end
-- remove redundant link surrounding entire form
origentry = export.remove_redundant_links(origentry)
local accel_obj
-- check if form still has links; if so, don't add accelerators
-- because the resulting entries will be wrong
if accel_lemma and not form.no_accel and accel_form ~= "-" and
not rfind(origentry, "%[%[") then
accel_obj = {
form = accel_form,
translit = props.include_translit and form.translit or nil,
lemma = accel_lemma,
lemma_translit = props.include_translit and accel_lemma_translit or nil,
}
end
link = m_links.full_link{lang = props.lang, term = origentry, tr = "-", accel = accel_obj}
end
local tr = props.include_translit and (form.translit or props.lang:transliterate(m_links.remove_links(orig_text))) or nil
local trentry
if props.allow_footnote_symbols and tr then
trentry, trnotes = m_table_tools.get_notes(tr)
else
trentry = tr
end
if props.transform_link then
local newlink, newtr = props.transform_link(slot, link, tr)
if newlink then
link, tr = newlink, newtr
end
end
link = link .. orignotes
tr = tr and m_script_utilities.tag_translit(trentry, props.lang, "default", " style=\"color: #888;\"") .. trnotes or nil
if form.footnotes then
local footnote_text = export.get_footnote_text(form, footnote_obj)
link = link .. footnote_text
tr = tr and tr .. footnote_text or nil
end
table.insert(orig_spans, link)
if tr then
table.insert(tr_spans, tr)
end
end
local joined_spans
if props.join_spans then
joined_spans = props.join_spans(slot, orig_spans, tr_spans)
end
if not joined_spans then
local orig_span = table.concat(orig_spans, ", ")
local tr_span
if #tr_spans > 0 then
tr_span = table.concat(tr_spans, ", ")
end
if tr_span then
joined_spans = orig_span .. "<br />" .. tr_span
else
joined_spans = orig_span
end
end
forms[slot] = joined_spans
else
forms[slot] = "—"
end
end
iterate_slot_list_or_table(props, do_slot)
local all_notes = footnote_obj.notes
if props.footnotes then
for _, note in ipairs(props.footnotes) do
local symbol, entry = m_table_tools.get_initial_notes(note)
table.insert(all_notes, symbol .. entry)
end
end
forms.footnote = table.concat(all_notes, "<br />")
end
--[=[
Older entry point. Same as `show_forms` but automatically sets include_translit = true in props.
]=]
function export.show_forms_with_translit(forms, lemmas, slot_table, props, footnotes, allow_footnote_symbols)
props.lemmas = lemmas
props.slot_table = slot_table
props.footnotes = footnotes
props.allow_footnote_symbols = allow_footnote_symbols
props.include_translit = true
return export.show_forms(forms, props)
end
return export
erbhmvi7dpjgn858mmtss3qqldv9i9y
2281186
2281185
2026-06-09T09:25:52Z
Kuroco2k
84207
2281186
Scribunto
text/plain
local export = {}
local m_links = require("モジュール:links")
local m_string_utilities = require("モジュール:string utilities")
local m_table = require("モジュール:table")
local rsplit = mw.text.split
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
local footnote_abbrevs = {
["a"] = "archaic",
["c"] = "colloquial",
["d"] = "dialectal",
["fp"] = "folk-poetic",
["l"] = "literary",
["lc"] = "low colloquial",
["p"] = "poetic",
["pej"] = "pejorative",
["r"] = "rare",
}
function export.remove_redundant_links(text)
-- remove redundant link surrounding entire form
return rsub(text, "^%[%[([^%[%]|]*)%]%]$", "%1")
end
--[=[
In order to understand the following parsing code, you need to understand how inflected
text specs work. They are intended to work with inflected text where individual words to
be inflected may be followed by inflection specs in angle brackets. The format of the
text inside of the angle brackets is up to the individual language and part-of-speech
specific implementation. A real-world example is as follows:
"[[медичний|меди́чна]]<+> [[сестра́]]<*,*#.pr>". This is the inflection of a multiword
expression "меди́чна сестра́", which means "nurse" (literally "medical sister"), consisting
of two words: the adjective меди́чна ("medical" in the feminine singular) and the noun
сестра́ ("sister"). The specs in angle brackets follow each word to be inflected; for
example, <+> means that the preceding word should be declined as an adjective.
The code below works in terms of balanced expressions, which are bounded by delimiters
such as < > or [ ]. The intention is to allow separators such as spaces to be embedded
inside of delimiters; such embedded separators will not be parsed as separators.
For example, Ukrainian noun specs allow footnotes in brackets to be inserted inside of
angle brackets; something like "меди́чна<+> сестра́<pr.[this is a footnote]>" is legal,
as is "[[медичний|меди́чна]]<+> [[сестра́]]<pr.[this is an <i>italicized footnote</i>]>",
and the parsing code should not be confused by the embedded brackets, spaces or angle
brackets.
The parsing is done by two functions, which work in close concert:
parse_balanced_segment_run() and split_alternating_runs(). To illustrate, consider
the following:
parse_balanced_segment_run("foo<M.proper noun> bar<F>", "<", ">") =
{"foo", "<M.proper noun>", " bar", "<F>", ""}
then
split_alternating_runs({"foo", "<M.proper noun>", " bar", "<F>", ""}, " ") =
{{"foo", "<M.proper noun>", ""}, {"bar", "<F>", ""}}
Here, we start out with a typical inflected text spec "foo<M.proper noun> bar<F>",
call parse_balanced_segment_run() on it, and call split_alternating_runs() on the
result. The output of parse_balanced_segment_run() is a list where even-numbered
segments are bounded by the bracket-like characters passed into the function,
and odd-numbered segments consist of the surrounding text. split_alternating_runs()
is called on this, and splits *only* the odd-numbered segments, grouping all
segments between the specified character. Note that the inner lists output by
split_alternating_runs() are themselves in the same format as the output of
parse_balanced_segment_run(), with bracket-bounded text in the even-numbered segments.
Hence, such lists can be passed again to split_alternating_runs().
]=]
-- Parse a string containing matched instances of parens, brackets or the like.
-- Return a list of strings, alternating between textual runs not containing the
-- open/close characters and runs beginning and ending with the open/close
-- characters. For example,
--
-- parse_balanced_segment_run("foo(x(1)), bar(2)", "(", ")") = {"foo", "(x(1))", ", bar", "(2)", ""}.
function export.parse_balanced_segment_run(segment_run, open, close)
local break_on_open_close = m_string_utilities.capturing_split(segment_run, "([%" .. open .. "%" .. close .. "])")
local text_and_specs = {}
local level = 0
local seg_group = {}
for i, seg in ipairs(break_on_open_close) do
if i % 2 == 0 then
if seg == open then
table.insert(seg_group, seg)
level = level + 1
else
assert(seg == close)
table.insert(seg_group, seg)
level = level - 1
if level < 0 then
error("Unmatched " .. close .. " sign: '" .. segment_run .. "'")
elseif level == 0 then
table.insert(text_and_specs, table.concat(seg_group))
seg_group = {}
end
end
elseif level > 0 then
table.insert(seg_group, seg)
else
table.insert(text_and_specs, seg)
end
end
if level > 0 then
error("Unmatched " .. open .. " sign: '" .. segment_run .. "'")
end
return text_and_specs
end
-- Like parse_balanced_segment_run() but accepts multiple sets of delimiters. For example,
--
-- parse_multi_delimiter_balanced_segment_run("foo[bar(baz[bat])], quux<glorp>", {{"[", "]"}, {"(", ")"}, {"<", ">"}}) =
-- {"foo", "[bar(baz[bat])]", ", quux", "<glorp>", ""}.
function export.parse_multi_delimiter_balanced_segment_run(segment_run, delimiter_pairs)
local open_to_close_map = {}
local open_close_items = {}
for _, open_close in ipairs(delimiter_pairs) do
local open, close = unpack(open_close)
open_to_close_map[open] = close
table.insert(open_close_items, "%" .. open)
table.insert(open_close_items, "%" .. close)
end
local open_close_pattern = "([" .. table.concat(open_close_items) .. "])"
local break_on_open_close = m_string_utilities.capturing_split(segment_run, open_close_pattern)
local text_and_specs = {}
local level = 0
local seg_group = {}
local open_at_level_zero
for i, seg in ipairs(break_on_open_close) do
if i % 2 == 0 then
table.insert(seg_group, seg)
if level == 0 then
if not open_to_close_map[seg] then
error("Unmatched " .. seg .. " sign: '" .. segment_run .. "'")
end
assert(open_at_level_zero == nil)
open_at_level_zero = seg
level = level + 1
elseif seg == open_at_level_zero then
level = level + 1
elseif seg == open_to_close_map[open_at_level_zero] then
level = level - 1
assert(level >= 0)
if level == 0 then
table.insert(text_and_specs, table.concat(seg_group))
seg_group = {}
open_at_level_zero = nil
end
end
elseif level > 0 then
table.insert(seg_group, seg)
else
table.insert(text_and_specs, seg)
end
end
if level > 0 then
error("Unmatched " .. open_at_level_zero .. " sign: '" .. segment_run .. "'")
end
return text_and_specs
end
--[=[
Split a list of alternating textual runs of the format returned by
`parse_balanced_segment_run` on `splitchar`. This only splits the odd-numbered
textual runs (the portions between the balanced open/close characters).
The return value is a list of lists, where each list contains an odd number of
elements, where the even-numbered elements of the sublists are the original
balanced textual run portions. For example, if we do
parse_balanced_segment_run("foo<M.proper noun> bar<F>", "<", ">") =
{"foo", "<M.proper noun>", " bar", "<F>", ""}
then
split_alternating_runs({"foo", "<M.proper noun>", " bar", "<F>", ""}, " ") =
{{"foo", "<M.proper noun>", ""}, {"bar", "<F>", ""}}
Note that we did not touch the text "<M.proper noun>" even though it contains a space
in it, because it is an even-numbered element of the input list. This is intentional and
allows for embedded separators inside of brackets/parens/etc. Note also that the inner
lists in the return value are of the same form as the input list (i.e. they consist of
alternating textual runs where the even-numbered segments are balanced runs), and can in
turn be passed to split_alternating_runs().
If `preserve_splitchar` is passed in, the split character is included in the output,
as follows:
split_alternating_runs({"foo", "<M.proper noun>", " bar", "<F>", ""}, " ", true) =
{{"foo", "<M.proper noun>", ""}, {" "}, {"bar", "<F>", ""}}
Consider what happens if the original string has multiple spaces between brackets,
and multiple sets of brackets without spaces between them.
parse_balanced_segment_run("foo[dated][low colloquial] baz-bat quux xyzzy[archaic]", "[", "]") =
{"foo", "[dated]", "", "[low colloquial]", " baz-bat quux xyzzy", "[archaic]", ""}
then
split_alternating_runs({"foo", "[dated]", "", "[low colloquial]", " baz-bat quux xyzzy", "[archaic]", ""}, "[ %-]") =
{{"foo", "[dated]", "", "[low colloquial]", ""}, {"baz"}, {"bat"}, {"quux"}, {"xyzzy", "[archaic]", ""}}
If `preserve_splitchar` is passed in, the split character is included in the output,
as follows:
split_alternating_runs({"foo", "[dated]", "", "[low colloquial]", " baz bat quux xyzzy", "[archaic]", ""}, "[ %-]", true) =
{{"foo", "[dated]", "", "[low colloquial]", ""}, {" "}, {"baz"}, {"-"}, {"bat"}, {" "}, {"quux"}, {" "}, {"xyzzy", "[archaic]", ""}}
As can be seen, the even-numbered elements in the outer list are one-element lists consisting of the separator text.
]=]
function export.split_alternating_runs(segment_runs, splitchar, preserve_splitchar)
local grouped_runs = {}
local run = {}
for i, seg in ipairs(segment_runs) do
if i % 2 == 0 then
table.insert(run, seg)
else
local parts =
preserve_splitchar and m_string_utilities.capturing_split(seg, "(" .. splitchar .. ")") or
rsplit(seg, splitchar)
table.insert(run, parts[1])
for j=2,#parts do
table.insert(grouped_runs, run)
run = {parts[j]}
end
end
end
if #run > 0 then
table.insert(grouped_runs, run)
end
return grouped_runs
end
-- Given a list of forms (each of which is a table of the form
-- {form=FORM, translit=MANUAL_TRANSLIT, footnotes=FOOTNOTES}), concatenate into a
-- SLOT=FORM//TRANSLIT,FORM//TRANSLIT,... string (or SLOT=FORM,FORM,... if no translit),
-- replacing embedded | signs with <!>.
function export.concat_forms_in_slot(forms)
if forms then
local new_vals = {}
for _, v in ipairs(forms) do
local form = v.form
if v.translit then
form = form .. "//" .. v.translit
end
table.insert(new_vals, rsub(form, "|", "<!>"))
end
return table.concat(new_vals, ",")
else
return nil
end
end
-- Insert a form (an object of the form {form=FORM, translit=MANUAL_TRANSLIT, footnotes=FOOTNOTES})
-- into a list of such forms. If the form is already present, the footnotes of the existing and
-- new form might be combined (specifically, footnotes in the new form beginning with ! will be
-- combined).
function export.insert_form_into_list(list, form)
-- Don't do anything if the form object or the form inside it is nil. This simplifies
-- form insertion in the presence of inflection generating functions that may return nil,
-- such as generate_noun_vocative() and generate_noun_count_form().
if not form or not form.form then
return
end
for _, listform in ipairs(list) do
if listform.form == form.form and listform.translit == form.translit then
-- Form already present; maybe combine footnotes.
if form.footnotes then
-- The behavior here has changed; track cases where the old behavior might
-- be needed by adding ! to the footnote.
require("モジュール:debug").track("inflection-utilities/combining-footnotes")
local any_footnotes_with_bang = false
for _, footnote in ipairs(form.footnotes) do
if rfind(footnote, "^%[!") then
any_footnotes_with_bang = true
break
end
end
if any_footnotes_with_bang then
if not listform.footnotes then
listform.footnotes = {}
else
listform.footnotes = m_table.shallowcopy(listform.footnotes)
end
for _, footnote in ipairs(form.footnotes) do
local already_seen = false
if rfind(footnote, "^%[!") then
for _, existing_footnote in ipairs(listform.footnotes) do
if rsub(existing_footnote, "^%[!", "") == rsub(footnote, "^%[!", "") then
already_seen = true
break
end
end
if not already_seen then
table.insert(listform.footnotes, footnote)
end
end
end
end
end
return
end
end
-- Form not found.
table.insert(list, form)
end
-- Insert a form (an object of the form {form=FORM, translit=MANUAL_TRANSLIT, footnotes=FOOTNOTES})
-- into the given slot in the given form table.
function export.insert_form(formtable, slot, form)
-- Don't do anything if the form object or the form inside it is nil. This simplifies
-- form insertion in the presence of inflection generating functions that may return nil,
-- such as generate_noun_vocative() and generate_noun_count_form().
if not form or not form.form then
return
end
if not formtable[slot] then
formtable[slot] = {}
end
export.insert_form_into_list(formtable[slot], form)
end
-- Insert a list of forms (each of which is an object of the form
-- {form=FORM, translit=MANUAL_TRANSLIT, footnotes=FOOTNOTES}) into the given slot in the given
-- form table. FORMS can be nil.
function export.insert_forms(formtable, slot, forms)
if not forms then
return
end
for _, form in ipairs(forms) do
export.insert_form(formtable, slot, form)
end
end
-- Map a function over the form values in FORMS (a list of objects of the form
-- {form=FORM, translit=MANUAL_TRANSLIT, footnotes=FOOTNOTES}). The function is called with
-- two arguments, the original form and manual translit; if manual translit isn't relevant,
-- it's fine to declare the function with only one argument. The return value is either a
-- single value (the new form) or two values (the new form and new manual translit).
-- Use insert_form_into_list() to insert them into the returned list in case two different
-- forms map to the same thing.
function export.map_forms(forms, fun)
if not forms then
return nil
end
local retval = {}
for _, form in ipairs(forms) do
local newform, newtranslit = fun(form.form, form.translit)
newform = {form=newform, translit=newtranslit, footnotes=form.footnotes}
export.insert_form_into_list(retval, newform)
end
return retval
end
-- Map a list-returning function over the form values in FORMS (a list of objects of the form
-- {form=FORM, translit=MANUAL_TRANSLIT, footnotes=FOOTNOTES}). The function is called witih
-- two arguments, the original form and manual translit; if manual translit isn't relevant,
-- it's fine to declare the function with only one argument. The return value is either a
-- list of forms or a list of objects of the form {form=FORM, translit=MANUAL_TRANSLIT}.
-- Use insert_form_into_list() to insert them into the returned list in case two different
-- forms map to the same thing.
function export.flatmap_forms(forms, fun)
if not forms then
return nil
end
local retval = {}
for _, form in ipairs(forms) do
local funret = fun(form.form, form.translit)
for _, fr in ipairs(funret) do
local newform
if type(fr) == "table" then
newform = {form=fr.form, translit=fr.translit, footnotes=form.footnotes}
else
newform = {form=fr, footnotes=form.footnotes}
end
export.insert_form_into_list(retval, newform)
end
end
return retval
end
-- Map a function over the form values in FORMS (a single string, a single object of the form
-- {form=FORM, translit=MANUAL_TRANSLIT, footnotes=FOOTNOTES}, or a list of either of the
-- previous two types). If FIRST_ONLY is given and FORMS is a list, only map over the first
-- element. Return value is of the same form as FORMS. The function is called with two
-- arguments, the original form and manual translit; if manual translit isn't relevant,
-- it's fine to declare the function with only one argument. The return value is either a
-- single value (the new form) or two values (the new form and new manual translit).
function export.map_form_or_forms(forms, fn, first_only)
if forms == nil then
return nil
elseif type(forms) == "string" then
return forms == "?" and "?" or fn(forms)
elseif forms.form then
if forms.form == "?" then
return {form = "?", footnotes = forms.footnotes}
end
local newform, newtranslit = fn(forms.form, forms.translit)
return {form=newform, translit=newtranslit, footnotes=forms.footnotes}
else
local retval = {}
for i, form in ipairs(forms) do
if first_only then
return export.map_form_or_forms(form, fn)
end
table.insert(retval, export.map_form_or_forms(form, fn))
end
return retval
end
end
-- Combine two sets of footnotes. If either is nil, just return the other, and if both are nil,
-- return nil.
function export.combine_footnotes(notes1, notes2)
if not notes1 and not notes2 then
return nil
end
if not notes1 then
return notes2
end
if not notes2 then
return notes1
end
local combined = m_table.shallowcopy(notes1)
for _, note in ipairs(notes2) do
m_table.insertIfNot(combined, note)
end
return combined
end
-- Expand a given footnote (as specified by the user, including the surrounding brackets)
-- into the form to be inserted into the final generated table.
function export.expand_footnote(note)
local notetext = rmatch(note, "^%[!?(.*)%]$")
if not notetext then
error("Internal error: Footnote should be surrounded by brackets: " .. note)
end
if footnote_abbrevs[notetext] then
notetext = footnote_abbrevs[notetext]
else
local split_notes = m_string_utilities.capturing_split(notetext, "<(.-)>")
for i, split_note in ipairs(split_notes) do
if i % 2 == 0 then
split_notes[i] = footnote_abbrevs[split_note]
if not split_notes[i] then
-- Don't error for now, because HTML might be in the footnote.
-- Instead we should switch the syntax here to e.g. <<a>> to avoid
-- conflicting with HTML.
split_notes[i] = "<" .. split_note .. ">"
--error("Unrecognized footnote abbrev: <" .. split_note .. ">")
end
end
end
notetext = table.concat(split_notes)
end
return m_string_utilities.ucfirst(notetext) .. "."
end
-- Combine a form (either a string or a table {form = FORM, footnotes = FOOTNOTES, ...}) with footnotes.
-- Do the minimal amount of work; e.g. if FOOTNOTES is nil, just return FORM.
function export.combine_form_and_footnotes(form, footnotes)
if type(footnotes) == "string" then
footnotes = {footnotes}
end
if footnotes then
if type(form) == "table" then
form = m_table.shallowcopy(form)
form.footnotes = export.combine_footnotes(form.footnotes, footnotes)
return form
else
return {form = form, footnotes = footnotes}
end
else
return form
end
end
-- Older entry point. FIXME: Obsolete me.
function export.generate_form(form, footnotes)
return export.combine_form_and_footnotes(form, footnotes)
end
-- Combine a single form (either a string or object {form = FORM, footnotes = FOOTNOTES, ...}) or a list of same
-- along with footnotes and return a list of forms where each returned form is an object
-- {form = FORM, footnotes = FOOTNOTES, ...}.
function export.convert_to_general_list_form(word_or_words, footnotes)
if type(word_or_words) == "string" then
return {{form = word_or_words, footnotes = footnotes}}
elseif word_or_words.form then
return {export.combine_form_and_footnotes(word_or_words, footnotes)}
else
local retval = {}
for _, form in ipairs(word_or_words) do
if type(form) == "string" then
table.insert(retval, {form = form, footnotes = footnotes})
else
table.insert(retval, export.combine_form_and_footnotes(form, footnotes))
end
end
return retval
end
end
local function is_table_of_strings(forms)
for k, v in pairs(forms) do
if type(k) ~= "number" or type(v) ~= "string" then
return false
end
end
return true
end
function export.add_forms(forms, slot, stems, endings, combine_stem_ending,
lang, combine_stem_ending_tr, footnotes)
if stems == nil or endings == nil then
return
end
if type(stems) == "string" and type(endings) == "string" then
export.insert_form(forms, slot, {form = combine_stem_ending(stems, endings), footnotes = footnotes})
elseif type(stems) == "string" and is_table_of_strings(endings) then
for _, ending in ipairs(endings) do
export.insert_form(forms, slot, {form = combine_stem_ending(stems, ending), footnotes = footnotes})
end
else
stems = export.convert_to_general_list_form(stems)
endings = export.convert_to_general_list_form(endings, footnotes)
for _, stem in ipairs(stems) do
for _, ending in ipairs(endings) do
local footnotes = nil
if stem.footnotes and ending.footnotes then
footnotes = m_table.shallowcopy(stem.footnotes)
for _, footnote in ipairs(ending.footnotes) do
m_table.insertIfNot(footnotes, footnote)
end
elseif stem.footnotes then
footnotes = stem.footnotes
elseif ending.footnotes then
footnotes = ending.footnotes
end
local new_form = combine_stem_ending(stem.form, ending.form)
local new_translit
if stem.translit or ending.translit then
if not lang or not combine_stem_ending_tr then
error("Internal error: With manual translit, 'lang' and 'combine_stem_ending_tr' must be passed to 'add_forms'")
end
local stem_tr = stem.translit or lang:transliterate(m_links.remove_links(stem.form))
local ending_tr = ending.translit or lang:transliterate(m_links.remove_links(ending.form))
new_translit = combine_stem_ending_tr(stem_tr, ending_tr)
end
export.insert_form(forms, slot, {form = new_form, translit = new_translit, footnotes = footnotes})
end
end
end
end
function export.add_multiple_forms(forms, slot, sets_of_forms, combine_stem_ending,
lang, combine_stem_ending_tr, footnotes)
if #sets_of_forms == 0 then
return
elseif #sets_of_forms == 1 then
local formset = iut.convert_to_general_list_form(sets_of_forms[1], footnotes)
export.insert_forms(forms, slot, formset)
elseif #sets_of_forms == 2 then
local stems = sets_of_forms[1]
local endings = sets_of_forms[2]
export.add_forms(forms, slot, stems, endings, combine_stem_ending,
lang, combine_stem_ending_tr, footnotes)
else
local prev = sets_of_forms[1]
for i=2,#sets_of_forms do
local tempdest = {}
export.add_forms(tempdest, slot, prev, sets_of_forms[i], combine_stem_ending,
lang, combine_stem_ending_tr, i == #sets_of_forms and footnotes or nil)
prev = tempdest[slot]
end
export.insert_forms(forms, slot, prev)
end
end
local function iterate_slot_list_or_table(props, do_slot)
if props.slot_list then
for _, slot_and_accel_form in ipairs(props.slot_list) do
local slot, accel_form = unpack(slot_and_accel_form)
do_slot(slot, accel_form)
end
else
for slot, accel_form in pairs(props.slot_table) do
do_slot(slot, accel_form)
end
end
end
local function parse_before_or_post_text(props, text, segments, lemma_is_last)
-- If the text begins with a hyphen, include the hyphen in the set of allowed characters
-- for an inflected segment. This way, e.g. conjugating "-ir" is treated as a regular
-- -ir verb rather than a hyphen + irregular [[ir]].
local is_suffix = rfind(text, "^%-")
-- Call parse_balanced_segment_run() to keep multiword links together.
local bracketed_runs = export.parse_balanced_segment_run(text, "[", "]")
-- Split on space or hyphen. Use preserve_splitchar so we know whether the separator was
-- a space or hyphen.
local space_separated_groups = export.split_alternating_runs(bracketed_runs,
is_suffix and " " or "[ %-]", "preserve splitchar")
local parsed_components = {}
local parsed_components_translit = {}
local saw_manual_translit = false
local lemma
for j, space_separated_group in ipairs(space_separated_groups) do
local component = table.concat(space_separated_group)
if lemma_is_last and j == #space_separated_groups then
lemma = component
if lemma == "" and not props.allow_blank_lemma then
error("Word is blank: '" .. table.concat(segments) .. "'")
end
elseif rfind(component, "//") then
-- Manual translit or respelling specified.
if not props.lang then
error("Manual translit not allowed for this language; if this is incorrect, 'props.lang' must be set internally")
end
saw_manual_translit = true
local split = rsplit(component, "//")
if #split ~= 2 then
error("Term with translit or respelling should have only one // in it: " .. component)
end
local translit
component, translit = unpack(split)
if props.transliterate_respelling then
translit = props.transliterate_respelling(translit)
end
table.insert(parsed_components, component)
table.insert(parsed_components_translit, translit)
else
table.insert(parsed_components, component)
table.insert(parsed_components_translit, false) -- signal that it may need later transliteration
end
end
if saw_manual_translit then
for j, parsed_component in ipairs(parsed_components) do
if not parsed_components_translit[j] then
parsed_components_translit[j] =
props.lang:transliterate(m_links.remove_links(parsed_component))
end
end
end
text = table.concat(parsed_components)
local translit
if saw_manual_translit then
translit = table.concat(parsed_components_translit)
end
return text, translit, lemma
end
--[=[
Parse a segmented multiword spec such as "[[медичний|меди́чна]]<+> [[сестра́]]<*,*#.pr>" (in Ukrainian).
"Segmented" here means it is broken up on <...> segments using parse_balanced_segment_run(text, "<", ">"),
e.g. the above text would be passed in as {"[[медичний|меди́чна]]", "<+>", " [[сестра́]]", "<*,*#.pr>", ""}.
The return value is a table of the form
{
word_specs = {WORD_SPEC, WORD_SPEC, ...},
post_text = "TEXT-AT-END",
post_text_no_links = "TEXT-AT-END-NO-LINKS",
post_text_translit = "MANUAL-TRANSLIT-OF-TEXT-AT-END" or nil (if no manual translit or respelling was specified in the post-text)
}
where WORD_SPEC describes an individual inflected word and "TEXT-AT-END" is any raw text that may occur
after all inflected words. Individual words or linked text (including multiword text) may be given manual
transliteration or respelling in languages that support this using TEXT//TRANSLIT or TEXT//RESPELLING.
Each WORD_SPEC is of the form returned by parse_indicator_spec():
{
lemma = "LEMMA",
before_text = "TEXT-BEFORE-WORD",
before_text_no_links = "TEXT-BEFORE-WORD-NO-LINKS",
before_text_translit = "MANUAL-TRANSLIT-OF-TEXT-BEFORE-WORD" or nil (if no manual translit or respelling was specified in the before-text)
-- Fields as described in parse_indicator_spec()
...
}
For example, the return value for "[[медичний|меди́чна]]<+> [[сестра́]]<*,*#.pr>" is
{
word_specs = {
{
lemma = "[[медичний|меди́чна]]",
overrides = {},
adj = true,
before_text = "",
before_text_no_links = "",
forms = {},
},
{
lemma = "[[сестра́]]",
overrides = {},
stresses = {
{
reducible = true,
genpl_reversed = false,
},
{
reducible = true,
genpl_reversed = true,
},
},
animacy = "pr",
before_text = " ",
before_text_no_links = " ",
forms = {},
},
},
post_text = "",
post_text_no_links = "",
}
]=]
local function parse_multiword_spec(segments, props, disable_allow_default_indicator)
local multiword_spec = {
word_specs = {}
}
if not disable_allow_default_indicator and props.allow_default_indicator and #segments == 1 then
table.insert(segments, "<>")
table.insert(segments, "")
end
-- Loop over every other segment. The even-numbered segments are angle-bracket specs while
-- the odd-numbered segments are the text between them.
for i = 2, #segments - 1, 2 do
local before_text, before_text_translit, lemma =
parse_before_or_post_text(props, segments[i - 1], segments, "lemma is last")
local base = props.parse_indicator_spec(segments[i])
base.before_text = before_text
base.before_text_no_links = m_links.remove_links(base.before_text)
base.before_text_translit = before_text_translit
base.lemma = lemma
table.insert(multiword_spec.word_specs, base)
end
multiword_spec.post_text, multiword_spec.post_text_translit =
parse_before_or_post_text(props, segments[#segments], segments)
multiword_spec.post_text_no_links = m_links.remove_links(multiword_spec.post_text)
return multiword_spec
end
--[=[
Parse an alternant, e.g. "((родо́вий,родови́й))" or "((ру́син<pr>,руси́н<b.pr>))" (both in Ukrainian).
The return value is a table of the form
{
alternants = {MULTIWORD_SPEC, MULTIWORD_SPEC, ...}
}
where MULTIWORD_SPEC describes a given alternant and is as returned by parse_multiword_spec().
]=]
local function parse_alternant(alternant, props)
local parsed_alternants = {}
local alternant_text = rmatch(alternant, "^%(%((.*)%)%)$")
local segments = export.parse_balanced_segment_run(alternant_text, "<", ">")
local comma_separated_groups = export.split_alternating_runs(segments, "%s*,%s*")
local alternant_spec = {alternants = {}}
for _, comma_separated_group in ipairs(comma_separated_groups) do
table.insert(alternant_spec.alternants, parse_multiword_spec(comma_separated_group, props))
end
return alternant_spec
end
--[=[
Top-level parsing function. Parse text describing one or more inflected words.
`text` is the inflected text to parse, which generally has <...> specs following words to
be inflected, and may have alternants indicated using double parens. Examples:
"[[медичний|меди́чна]]<+> [[сестра́]]<*,*#.pr>" (Ukrainian, for [[медична сестра]] "nurse (lit. medical sister)")
"((ру́син<pr>,руси́н<b.pr>))" (Ukrainian, for [[русин]] "Rusyn")
"पंचायती//पंचाय*ती राज<M>" (Hindi, for [[पंचायती राज]] "village council", with phonetic respelling in the before-text component)
"((<M>,<M.plstem:फ़तूह.dirpl:फ़तूह>))" (Hindi, for [[फ़तह]] "win, victory", on that page, where the lemma is omitted and taken from the pagename)
"" (for any number of Hindi adjectives, where the lemma is omitted and taken from the pagename, and the angle bracket spec <> is assumed)
"काला<+>धन<M>" (Hindi, for [[कालाधन]] "black money")
`props` is an object specifying properties used during parsing, as follows:
{
parse_indicator_spec = FUNCTION_TO_PARSE_AN_INDICATOR_SPEC (required; takes one argument,
a string surrounded by angle brackets, and should return a
word_spec object containing properties describing the indicators
inside of the angle brackets),
lang = LANG_OBJECT (only needed if manual translit or respelling may be present using //),
transliterate_respelling = FUNCTION_TO_TRANSLITERATE_RESPELLING (only needed of respelling
is allowed in place of manual translit after //; takes one
argument, the respelling or translit, and should return the
transliteration of any resplling but return any translit
unchanged),
allow_default_indicator = BOOLEAN_OR_NIL (true if the indicator in angle brackets can
be omitted and will be automatically added at the end of the
multiword text (if no alternants) or at the end of each
alternant (if alternants present),
allow_blank_lemma = BOOLEAN_OR_NIL (true if a blank lemma is allowed; in such a case, the
calling function should substitute a default lemma, typically taken
from the pagename)
}
The return value is a table of the form
{
alternant_or_word_specs = {ALTERNANT_OR_WORD_SPEC, ALTERNANT_OR_WORD_SPEC, ...}
post_text = "TEXT-AT-END",
post_text_no_links = "TEXT-AT-END-NO-LINKS",
post_text_translit = "TRANSLIT-OF-TEXT-AT-END" (or nil),
}
where ALTERNANT_OR_WORD_SPEC is either an alternant spec as returned by parse_alternant()
or a multiword spec as described in the comment above parse_multiword_spec(). An alternant spec
looks as follows:
{
alternants = {MULTIWORD_SPEC, MULTIWORD_SPEC, ...},
before_text = "TEXT-BEFORE-ALTERNANT",
before_text_no_links = "TEXT-BEFORE-ALTERNANT",
before_text_translit = "TRANSLIT-OF-TEXT-BEFORE-ALTERNANT" (or nil),
}
i.e. it is like what is returned by parse_alternant() but has extra `before_text`
and `before_text_no_links` fields.
]=]
function export.parse_inflected_text(text, props)
local alternant_multiword_spec = {alternant_or_word_specs = {}}
local alternant_segments = m_string_utilities.capturing_split(text, "(%(%(.-%)%))")
local last_post_text, last_post_text_no_links, last_post_text_translit
for i = 1, #alternant_segments do
if i % 2 == 1 then
local segments = export.parse_balanced_segment_run(alternant_segments[i], "<", ">")
-- Disable allow_default_indicator if alternants are present and we're processing
-- the non-alternant text. Otherwise we will try to treat the non-alternant text
-- surrounding the alternants as an inflected word rather than as raw text.
local multiword_spec = parse_multiword_spec(segments, props, #alternant_segments ~= 1)
for _, word_spec in ipairs(multiword_spec.word_specs) do
table.insert(alternant_multiword_spec.alternant_or_word_specs, word_spec)
end
last_post_text = multiword_spec.post_text
last_post_text_no_links = multiword_spec.post_text_no_links
last_post_text_translit = multiword_spec.post_text_translit
else
local alternant_spec = parse_alternant(alternant_segments[i], props)
alternant_spec.before_text = last_post_text
alternant_spec.before_text_no_links = last_post_text_no_links
alternant_spec.before_text_translit = last_post_text_translit
table.insert(alternant_multiword_spec.alternant_or_word_specs, alternant_spec)
end
end
alternant_multiword_spec.post_text = last_post_text
alternant_multiword_spec.post_text_no_links = last_post_text_no_links
alternant_multiword_spec.post_text_translit = last_post_text_translit
return alternant_multiword_spec
end
-- Older entry point. FIXME: Convert all uses of this to use export.parse_inflected_text instead.
function export.parse_alternant_multiword_spec(text, parse_indicator_spec, allow_default_indicator, allow_blank_lemma)
local props = {
parse_indicator_spec = parse_indicator_spec,
allow_default_indicator = allow_default_indicator,
allow_blank_lemma = allow_blank_lemma,
}
return export.parse_inflected_text(text, props)
end
-- Inflect alternants in ALTERNANT_SPEC (an object as returned by parse_alternant()).
-- This sets the form values in `ALTERNANT_SPEC.forms` for all slots.
-- (If a given slot has no values, it will not be present in `ALTERNANT_SPEC.forms`).
local function inflect_alternants(alternant_spec, props)
alternant_spec.forms = {}
for _, multiword_spec in ipairs(alternant_spec.alternants) do
export.inflect_multiword_or_alternant_multiword_spec(multiword_spec, props)
iterate_slot_list_or_table(props, function(slot)
if not props.skip_slot or not props.skip_slot(slot) then
export.insert_forms(alternant_spec.forms, slot, multiword_spec.forms[slot])
end
end)
end
end
local function append_forms(props, formtable, slot, forms, before_text, before_text_no_links,
before_text_translit)
if not forms then
return
end
local old_forms = formtable[slot] or {{form = ""}}
local ret_forms = {}
for _, old_form in ipairs(old_forms) do
for _, form in ipairs(forms) do
local old_form_vars = props.get_variants and props.get_variants(old_form.form) or ""
local form_vars = props.get_variants and props.get_variants(form.form) or ""
if old_form_vars ~= "" and form_vars ~= "" and old_form_vars ~= form_vars then
-- Reject combination due to non-matching variant codes.
else
local new_form = old_form.form .. before_text .. form.form
local new_translit
if old_form.translit or before_text_translit or form.translit then
if not props.lang then
error("Internal error: If manual translit is given, 'props.lang' must be set")
end
if not before_text_translit then
before_text_translit = props.lang:transliterate(before_text_no_links) or ""
end
local old_translit = old_form.translit or props.lang:transliterate(m_links.remove_links(old_form.form)) or ""
local translit = form.translit or props.lang:transliterate(m_links.remove_links(form.form)) or ""
new_translit = old_translit .. before_text_translit .. translit
end
local new_footnotes = export.combine_footnotes(old_form.footnotes, form.footnotes)
table.insert(ret_forms, {form=new_form, translit=new_translit,
footnotes=new_footnotes})
end
end
end
formtable[slot] = ret_forms
end
function export.inflect_multiword_or_alternant_multiword_spec(multiword_spec, props)
multiword_spec.forms = {}
local is_alternant_multiword = not not multiword_spec.alternant_or_word_specs
for _, word_spec in ipairs(is_alternant_multiword and multiword_spec.alternant_or_word_specs or multiword_spec.word_specs) do
if word_spec.alternants then
inflect_alternants(word_spec, props)
elseif props.decline_word_spec then
props.decline_word_spec(word_spec)
else
props.inflect_word_spec(word_spec)
end
iterate_slot_list_or_table(props, function(slot)
if not props.skip_slot or not props.skip_slot(slot) then
append_forms(props, multiword_spec.forms, slot, word_spec.forms[slot],
(rfind(slot, "linked") or props.include_user_specified_links) and
word_spec.before_text or word_spec.before_text_no_links,
word_spec.before_text_no_links, word_spec.before_text_translit
)
end
end)
end
if multiword_spec.post_text ~= "" then
local pseudoform = {{form=""}}
iterate_slot_list_or_table(props, function(slot)
-- If slot is empty or should be skipped, don't try to append post-text.
if (not props.skip_slot or not props.skip_slot(slot)) and multiword_spec.forms[slot] then
append_forms(props, multiword_spec.forms, slot, pseudoform,
(rfind(slot, "linked") or props.include_user_specified_links) and
multiword_spec.post_text or multiword_spec.post_text_no_links,
multiword_spec.post_text_no_links, multiword_spec.post_text_translit
)
end
end)
end
end
function export.decline_multiword_or_alternant_multiword_spec(multiword_spec, props)
return export.inflect_multiword_or_alternant_multiword_spec(multiword_spec, props)
end
function export.map_word_specs(alternant_multiword_spec, fun)
for _, alternant_or_word_spec in ipairs(alternant_multiword_spec.alternant_or_word_specs) do
if alternant_or_word_spec.alternants then
for _, multiword_spec in ipairs(alternant_or_word_spec.alternants) do
for _, word_spec in ipairs(multiword_spec.word_specs) do
fun(word_spec)
end
end
else
fun(alternant_or_word_spec)
end
end
end
function export.create_footnote_obj()
return {
notes = {},
seen_notes = {},
noteindex = 1,
}
end
function export.get_footnote_text(form, footnote_obj)
if not form.footnotes then
return ""
end
local link_indices = {}
for _, footnote in ipairs(form.footnotes) do
footnote = export.expand_footnote(footnote)
local this_noteindex = footnote_obj.seen_notes[footnote]
if not this_noteindex then
-- Generate a footnote index.
this_noteindex = footnote_obj.noteindex
footnote_obj.noteindex = footnote_obj.noteindex + 1
table.insert(footnote_obj.notes, '<sup style="color: red">' .. this_noteindex .. '</sup>' .. footnote)
footnote_obj.seen_notes[footnote] = this_noteindex
end
m_table.insertIfNot(link_indices, this_noteindex)
end
table.sort(link_indices)
return '<sup style="color: red">' .. table.concat(link_indices, ",") .. '</sup>'
end
function export.add_links(form, multiword_only)
if form == "" or form == " " then
return form
end
if not form:find("%[%[") then
if rfind(form, "[%s%p]") then --optimization to avoid loading [[Module:headword]] on single-word forms
local m_headword = require("Module:headword")
if m_headword.head_is_multiword(form) then
form = m_headword.add_multiword_links(form)
end
end
if not multiword_only and not form:find("%[%[") then
form = "[[" .. form .. "]]"
end
end
return form
end
function export.add_links_to_before_and_after_text(alternant_multiword_spec, remember_original, add_links)
add_links = add_links or export.add_links
local function add_links_remember_original(object, field)
if remember_original then
object["user_specified_" .. field] = object[field]
end
object[field] = add_links(object[field])
end
for _, alternant_or_word_spec in ipairs(alternant_multiword_spec.alternant_or_word_specs) do
add_links_remember_original(alternant_or_word_spec, "before_text")
if alternant_or_word_spec.alternants then
for _, multiword_spec in ipairs(alternant_or_word_spec.alternants) do
for _, word_spec in ipairs(multiword_spec.word_specs) do
add_links_remember_original(word_spec, "before_text")
end
add_links_remember_original(multiword_spec, "post_text")
end
end
end
add_links_remember_original(alternant_multiword_spec, "post_text")
end
--[=[
Convert the forms in `forms` (a list of form objects, each of which is a table of the form
{ form = FORM, translit = MANUAL_TRANSLIT_OR_NIL, footnotes = FOOTNOTE_LIST_OR_NIL, no_accel = TRUE_TO_SUPPRESS_ACCELERATORS })
into strings. Each form list turns into a string consisting of a comma-separated list of linked forms, with accelerators
(unless `no_accel` is set in a given form). `props` is a table used in generating the strings, as follows:
{
lang = LANG_OBJECT,
lemmas = LEMMAS,
slot_table = SLOT_TABLE,
slot_list = SLOT_LIST,
include_translit = BOOLEAN,
create_footnote_obj = FUNCTION_TO_CREATE_FOOTNOTE_OBJ,
canonicalize = FUNCTION_TO_CANONICALIZE_EACH_FORM,
transform_link = FUNCTION_TO_TRANSFORM_EACH_LINK,
join_spans = FUNCTION_TO_JOIN_SPANS,
allow_footnote_symbols = BOOLEAN,
footnotes = EXTRA_FOOTNOTES,
}
`lemmas` is the list of lemmas, used in the accelerators.
`slot_list` is a list of two-element lists of slots and associated accelerator inflections.
`slot_table` is a table mapping slots to associated accelerator inflections.
(One of `slot_list` or `slot_table` must be given.)
If `include_translit` is given, transliteration is included in the generated strings.
`create_footnote_obj` is an optional function of no arguments to create the footnote object used to track footnotes;
see export.create_footnote_obj(). Customizing it is useful to prepopulate the footnote table using
export.get_footnote_text().
`canonicalize` is an optional function of one argument (a form) to canonicalize each form before processing; it can return nil
for no change.
`transform_link` is an optional function to transform a linked form prior to further processing; it is passed three arguments
(slot, link, link_tr) and should return the transformed link (or if translit is active, it should return the transformed link
and corresponding translit). It can return nil for no change.
`join_spans` is an optional function of three arguments (slot, orig_spans, tr_spans) where the spans in question are after
linking and footnote processing. It should return a string (the joined spans) or nil for the default algorithm, which separately
joins the orig_spans and tr_spans with commas and puts a newline between them.
If `allow_footnote_symbols` is given, footnote symbols attached to forms (e.g. numbers, asterisk) are separated off, placed outside
the links, and superscripted. In this case, `footnotes` should be a list of footnotes (preceded by footnote symbols, which are
superscripted). These footnotes are combined with any footnotes found in the forms and placed into `forms.footnotes`.
]=]
function export.show_forms(forms, props)
local footnote_obj = props.create_footnote_obj and props.create_footnote_obj() or export.create_footnote_obj()
local accel_lemma = props.lemmas[1]
local accel_lemma_translit
if type(accel_lemma) == "table" then
accel_lemma_translit = accel_lemma.translit
accel_lemma = accel_lemma.form
end
accel_lemma = accel_lemma and m_links.remove_links(accel_lemma) or nil
local lemma_forms = {}
for _, lemma in ipairs(props.lemmas) do
if type(lemma) == "table" then
m_table.insertIfNot(lemma_forms, lemma.form)
else
m_table.insertIfNot(lemma_forms, lemma)
end
end
forms.lemma = #lemma_forms > 0 and table.concat(lemma_forms, ", ") or mw.title.getCurrentTitle().text
local m_table_tools = require("モジュール:table tools")
local m_script_utilities = require("モジュール:script utilities")
local function do_slot(slot, accel_form)
local formvals = forms[slot]
if formvals then
local orig_spans = {}
local tr_spans = {}
local orignotes, trnotes = "", ""
for i, form in ipairs(formvals) do
local orig_text = props.canonicalize and props.canonicalize(form.form) or form.form
local link
if form.form == "—" or form.form == "?" then
link = orig_text
else
local origentry
if props.allow_footnote_symbols then
origentry, orignotes = m_table_tools.get_notes(orig_text)
else
origentry = orig_text
end
-- remove redundant link surrounding entire form
origentry = export.remove_redundant_links(origentry)
local accel_obj
-- check if form still has links; if so, don't add accelerators
-- because the resulting entries will be wrong
if accel_lemma and not form.no_accel and accel_form ~= "-" and
not rfind(origentry, "%[%[") then
accel_obj = {
form = accel_form,
translit = props.include_translit and form.translit or nil,
lemma = accel_lemma,
lemma_translit = props.include_translit and accel_lemma_translit or nil,
}
end
link = m_links.full_link{lang = props.lang, term = origentry, tr = "-", accel = accel_obj}
end
local tr = props.include_translit and (form.translit or props.lang:transliterate(m_links.remove_links(orig_text))) or nil
local trentry
if props.allow_footnote_symbols and tr then
trentry, trnotes = m_table_tools.get_notes(tr)
else
trentry = tr
end
if props.transform_link then
local newlink, newtr = props.transform_link(slot, link, tr)
if newlink then
link, tr = newlink, newtr
end
end
link = link .. orignotes
tr = tr and m_script_utilities.tag_translit(trentry, props.lang, "default", " style=\"color: #888;\"") .. trnotes or nil
if form.footnotes then
local footnote_text = export.get_footnote_text(form, footnote_obj)
link = link .. footnote_text
tr = tr and tr .. footnote_text or nil
end
table.insert(orig_spans, link)
if tr then
table.insert(tr_spans, tr)
end
end
local joined_spans
if props.join_spans then
joined_spans = props.join_spans(slot, orig_spans, tr_spans)
end
if not joined_spans then
local orig_span = table.concat(orig_spans, ", ")
local tr_span
if #tr_spans > 0 then
tr_span = table.concat(tr_spans, ", ")
end
if tr_span then
joined_spans = orig_span .. "<br />" .. tr_span
else
joined_spans = orig_span
end
end
forms[slot] = joined_spans
else
forms[slot] = "—"
end
end
iterate_slot_list_or_table(props, do_slot)
local all_notes = footnote_obj.notes
if props.footnotes then
for _, note in ipairs(props.footnotes) do
local symbol, entry = m_table_tools.get_initial_notes(note)
table.insert(all_notes, symbol .. entry)
end
end
forms.footnote = table.concat(all_notes, "<br />")
end
--[=[
Older entry point. Same as `show_forms` but automatically sets include_translit = true in props.
]=]
function export.show_forms_with_translit(forms, lemmas, slot_table, props, footnotes, allow_footnote_symbols)
props.lemmas = lemmas
props.slot_table = slot_table
props.footnotes = footnotes
props.allow_footnote_symbols = allow_footnote_symbols
props.include_translit = true
return export.show_forms(forms, props)
end
return export
7jc48hncheiuv1ciwc6bmnewwggfa2p
2281189
2281186
2026-06-09T09:29:58Z
Kuroco2k
84207
2281189
Scribunto
text/plain
local export = {}
local m_links = require("モジュール:links")
local m_string_utilities = require("モジュール:string utilities")
local m_table = require("モジュール:table")
local rsplit = mw.text.split
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
local footnote_abbrevs = {
["a"] = "archaic",
["c"] = "colloquial",
["d"] = "dialectal",
["fp"] = "folk-poetic",
["l"] = "literary",
["lc"] = "low colloquial",
["p"] = "poetic",
["pej"] = "pejorative",
["r"] = "rare",
}
function export.remove_redundant_links(text)
-- remove redundant link surrounding entire form
return rsub(text, "^%[%[([^%[%]|]*)%]%]$", "%1")
end
--[=[
In order to understand the following parsing code, you need to understand how inflected
text specs work. They are intended to work with inflected text where individual words to
be inflected may be followed by inflection specs in angle brackets. The format of the
text inside of the angle brackets is up to the individual language and part-of-speech
specific implementation. A real-world example is as follows:
"[[медичний|меди́чна]]<+> [[сестра́]]<*,*#.pr>". This is the inflection of a multiword
expression "меди́чна сестра́", which means "nurse" (literally "medical sister"), consisting
of two words: the adjective меди́чна ("medical" in the feminine singular) and the noun
сестра́ ("sister"). The specs in angle brackets follow each word to be inflected; for
example, <+> means that the preceding word should be declined as an adjective.
The code below works in terms of balanced expressions, which are bounded by delimiters
such as < > or [ ]. The intention is to allow separators such as spaces to be embedded
inside of delimiters; such embedded separators will not be parsed as separators.
For example, Ukrainian noun specs allow footnotes in brackets to be inserted inside of
angle brackets; something like "меди́чна<+> сестра́<pr.[this is a footnote]>" is legal,
as is "[[медичний|меди́чна]]<+> [[сестра́]]<pr.[this is an <i>italicized footnote</i>]>",
and the parsing code should not be confused by the embedded brackets, spaces or angle
brackets.
The parsing is done by two functions, which work in close concert:
parse_balanced_segment_run() and split_alternating_runs(). To illustrate, consider
the following:
parse_balanced_segment_run("foo<M.proper noun> bar<F>", "<", ">") =
{"foo", "<M.proper noun>", " bar", "<F>", ""}
then
split_alternating_runs({"foo", "<M.proper noun>", " bar", "<F>", ""}, " ") =
{{"foo", "<M.proper noun>", ""}, {"bar", "<F>", ""}}
Here, we start out with a typical inflected text spec "foo<M.proper noun> bar<F>",
call parse_balanced_segment_run() on it, and call split_alternating_runs() on the
result. The output of parse_balanced_segment_run() is a list where even-numbered
segments are bounded by the bracket-like characters passed into the function,
and odd-numbered segments consist of the surrounding text. split_alternating_runs()
is called on this, and splits *only* the odd-numbered segments, grouping all
segments between the specified character. Note that the inner lists output by
split_alternating_runs() are themselves in the same format as the output of
parse_balanced_segment_run(), with bracket-bounded text in the even-numbered segments.
Hence, such lists can be passed again to split_alternating_runs().
]=]
-- Parse a string containing matched instances of parens, brackets or the like.
-- Return a list of strings, alternating between textual runs not containing the
-- open/close characters and runs beginning and ending with the open/close
-- characters. For example,
--
-- parse_balanced_segment_run("foo(x(1)), bar(2)", "(", ")") = {"foo", "(x(1))", ", bar", "(2)", ""}.
function export.parse_balanced_segment_run(segment_run, open, close)
local break_on_open_close = m_string_utilities.capturing_split(segment_run, "([%" .. open .. "%" .. close .. "])")
local text_and_specs = {}
local level = 0
local seg_group = {}
for i, seg in ipairs(break_on_open_close) do
if i % 2 == 0 then
if seg == open then
table.insert(seg_group, seg)
level = level + 1
else
assert(seg == close)
table.insert(seg_group, seg)
level = level - 1
if level < 0 then
error("Unmatched " .. close .. " sign: '" .. segment_run .. "'")
elseif level == 0 then
table.insert(text_and_specs, table.concat(seg_group))
seg_group = {}
end
end
elseif level > 0 then
table.insert(seg_group, seg)
else
table.insert(text_and_specs, seg)
end
end
if level > 0 then
error("Unmatched " .. open .. " sign: '" .. segment_run .. "'")
end
return text_and_specs
end
-- Like parse_balanced_segment_run() but accepts multiple sets of delimiters. For example,
--
-- parse_multi_delimiter_balanced_segment_run("foo[bar(baz[bat])], quux<glorp>", {{"[", "]"}, {"(", ")"}, {"<", ">"}}) =
-- {"foo", "[bar(baz[bat])]", ", quux", "<glorp>", ""}.
function export.parse_multi_delimiter_balanced_segment_run(segment_run, delimiter_pairs)
local open_to_close_map = {}
local open_close_items = {}
for _, open_close in ipairs(delimiter_pairs) do
local open, close = unpack(open_close)
open_to_close_map[open] = close
table.insert(open_close_items, "%" .. open)
table.insert(open_close_items, "%" .. close)
end
local open_close_pattern = "([" .. table.concat(open_close_items) .. "])"
local break_on_open_close = m_string_utilities.capturing_split(segment_run, open_close_pattern)
local text_and_specs = {}
local level = 0
local seg_group = {}
local open_at_level_zero
for i, seg in ipairs(break_on_open_close) do
if i % 2 == 0 then
table.insert(seg_group, seg)
if level == 0 then
if not open_to_close_map[seg] then
error("Unmatched " .. seg .. " sign: '" .. segment_run .. "'")
end
assert(open_at_level_zero == nil)
open_at_level_zero = seg
level = level + 1
elseif seg == open_at_level_zero then
level = level + 1
elseif seg == open_to_close_map[open_at_level_zero] then
level = level - 1
assert(level >= 0)
if level == 0 then
table.insert(text_and_specs, table.concat(seg_group))
seg_group = {}
open_at_level_zero = nil
end
end
elseif level > 0 then
table.insert(seg_group, seg)
else
table.insert(text_and_specs, seg)
end
end
if level > 0 then
error("Unmatched " .. open_at_level_zero .. " sign: '" .. segment_run .. "'")
end
return text_and_specs
end
--[=[
Split a list of alternating textual runs of the format returned by
`parse_balanced_segment_run` on `splitchar`. This only splits the odd-numbered
textual runs (the portions between the balanced open/close characters).
The return value is a list of lists, where each list contains an odd number of
elements, where the even-numbered elements of the sublists are the original
balanced textual run portions. For example, if we do
parse_balanced_segment_run("foo<M.proper noun> bar<F>", "<", ">") =
{"foo", "<M.proper noun>", " bar", "<F>", ""}
then
split_alternating_runs({"foo", "<M.proper noun>", " bar", "<F>", ""}, " ") =
{{"foo", "<M.proper noun>", ""}, {"bar", "<F>", ""}}
Note that we did not touch the text "<M.proper noun>" even though it contains a space
in it, because it is an even-numbered element of the input list. This is intentional and
allows for embedded separators inside of brackets/parens/etc. Note also that the inner
lists in the return value are of the same form as the input list (i.e. they consist of
alternating textual runs where the even-numbered segments are balanced runs), and can in
turn be passed to split_alternating_runs().
If `preserve_splitchar` is passed in, the split character is included in the output,
as follows:
split_alternating_runs({"foo", "<M.proper noun>", " bar", "<F>", ""}, " ", true) =
{{"foo", "<M.proper noun>", ""}, {" "}, {"bar", "<F>", ""}}
Consider what happens if the original string has multiple spaces between brackets,
and multiple sets of brackets without spaces between them.
parse_balanced_segment_run("foo[dated][low colloquial] baz-bat quux xyzzy[archaic]", "[", "]") =
{"foo", "[dated]", "", "[low colloquial]", " baz-bat quux xyzzy", "[archaic]", ""}
then
split_alternating_runs({"foo", "[dated]", "", "[low colloquial]", " baz-bat quux xyzzy", "[archaic]", ""}, "[ %-]") =
{{"foo", "[dated]", "", "[low colloquial]", ""}, {"baz"}, {"bat"}, {"quux"}, {"xyzzy", "[archaic]", ""}}
If `preserve_splitchar` is passed in, the split character is included in the output,
as follows:
split_alternating_runs({"foo", "[dated]", "", "[low colloquial]", " baz bat quux xyzzy", "[archaic]", ""}, "[ %-]", true) =
{{"foo", "[dated]", "", "[low colloquial]", ""}, {" "}, {"baz"}, {"-"}, {"bat"}, {" "}, {"quux"}, {" "}, {"xyzzy", "[archaic]", ""}}
As can be seen, the even-numbered elements in the outer list are one-element lists consisting of the separator text.
]=]
function export.split_alternating_runs(segment_runs, splitchar, preserve_splitchar)
local grouped_runs = {}
local run = {}
for i, seg in ipairs(segment_runs) do
if i % 2 == 0 then
table.insert(run, seg)
else
local parts =
preserve_splitchar and m_string_utilities.capturing_split(seg, "(" .. splitchar .. ")") or
rsplit(seg, splitchar)
table.insert(run, parts[1])
for j=2,#parts do
table.insert(grouped_runs, run)
run = {parts[j]}
end
end
end
if #run > 0 then
table.insert(grouped_runs, run)
end
return grouped_runs
end
-- Given a list of forms (each of which is a table of the form
-- {form=FORM, translit=MANUAL_TRANSLIT, footnotes=FOOTNOTES}), concatenate into a
-- SLOT=FORM//TRANSLIT,FORM//TRANSLIT,... string (or SLOT=FORM,FORM,... if no translit),
-- replacing embedded | signs with <!>.
function export.concat_forms_in_slot(forms)
if forms then
local new_vals = {}
for _, v in ipairs(forms) do
local form = v.form
if v.translit then
form = form .. "//" .. v.translit
end
table.insert(new_vals, rsub(form, "|", "<!>"))
end
return table.concat(new_vals, ",")
else
return nil
end
end
-- Insert a form (an object of the form {form=FORM, translit=MANUAL_TRANSLIT, footnotes=FOOTNOTES})
-- into a list of such forms. If the form is already present, the footnotes of the existing and
-- new form might be combined (specifically, footnotes in the new form beginning with ! will be
-- combined).
function export.insert_form_into_list(list, form)
-- Don't do anything if the form object or the form inside it is nil. This simplifies
-- form insertion in the presence of inflection generating functions that may return nil,
-- such as generate_noun_vocative() and generate_noun_count_form().
if not form or not form.form then
return
end
for _, listform in ipairs(list) do
if listform.form == form.form and listform.translit == form.translit then
-- Form already present; maybe combine footnotes.
if form.footnotes then
-- The behavior here has changed; track cases where the old behavior might
-- be needed by adding ! to the footnote.
require("モジュール:debug").track("inflection-utilities/combining-footnotes")
local any_footnotes_with_bang = false
for _, footnote in ipairs(form.footnotes) do
if rfind(footnote, "^%[!") then
any_footnotes_with_bang = true
break
end
end
if any_footnotes_with_bang then
if not listform.footnotes then
listform.footnotes = {}
else
listform.footnotes = m_table.shallowcopy(listform.footnotes)
end
for _, footnote in ipairs(form.footnotes) do
local already_seen = false
if rfind(footnote, "^%[!") then
for _, existing_footnote in ipairs(listform.footnotes) do
if rsub(existing_footnote, "^%[!", "") == rsub(footnote, "^%[!", "") then
already_seen = true
break
end
end
if not already_seen then
table.insert(listform.footnotes, footnote)
end
end
end
end
end
return
end
end
-- Form not found.
table.insert(list, form)
end
-- Insert a form (an object of the form {form=FORM, translit=MANUAL_TRANSLIT, footnotes=FOOTNOTES})
-- into the given slot in the given form table.
function export.insert_form(formtable, slot, form)
-- Don't do anything if the form object or the form inside it is nil. This simplifies
-- form insertion in the presence of inflection generating functions that may return nil,
-- such as generate_noun_vocative() and generate_noun_count_form().
if not form or not form.form then
return
end
if not formtable[slot] then
formtable[slot] = {}
end
export.insert_form_into_list(formtable[slot], form)
end
-- Insert a list of forms (each of which is an object of the form
-- {form=FORM, translit=MANUAL_TRANSLIT, footnotes=FOOTNOTES}) into the given slot in the given
-- form table. FORMS can be nil.
function export.insert_forms(formtable, slot, forms)
if not forms then
return
end
for _, form in ipairs(forms) do
export.insert_form(formtable, slot, form)
end
end
-- Map a function over the form values in FORMS (a list of objects of the form
-- {form=FORM, translit=MANUAL_TRANSLIT, footnotes=FOOTNOTES}). The function is called with
-- two arguments, the original form and manual translit; if manual translit isn't relevant,
-- it's fine to declare the function with only one argument. The return value is either a
-- single value (the new form) or two values (the new form and new manual translit).
-- Use insert_form_into_list() to insert them into the returned list in case two different
-- forms map to the same thing.
function export.map_forms(forms, fun)
if not forms then
return nil
end
local retval = {}
for _, form in ipairs(forms) do
local newform, newtranslit = fun(form.form, form.translit)
newform = {form=newform, translit=newtranslit, footnotes=form.footnotes}
export.insert_form_into_list(retval, newform)
end
return retval
end
-- Map a list-returning function over the form values in FORMS (a list of objects of the form
-- {form=FORM, translit=MANUAL_TRANSLIT, footnotes=FOOTNOTES}). The function is called witih
-- two arguments, the original form and manual translit; if manual translit isn't relevant,
-- it's fine to declare the function with only one argument. The return value is either a
-- list of forms or a list of objects of the form {form=FORM, translit=MANUAL_TRANSLIT}.
-- Use insert_form_into_list() to insert them into the returned list in case two different
-- forms map to the same thing.
function export.flatmap_forms(forms, fun)
if not forms then
return nil
end
local retval = {}
for _, form in ipairs(forms) do
local funret = fun(form.form, form.translit)
for _, fr in ipairs(funret) do
local newform
if type(fr) == "table" then
newform = {form=fr.form, translit=fr.translit, footnotes=form.footnotes}
else
newform = {form=fr, footnotes=form.footnotes}
end
export.insert_form_into_list(retval, newform)
end
end
return retval
end
-- Map a function over the form values in FORMS (a single string, a single object of the form
-- {form=FORM, translit=MANUAL_TRANSLIT, footnotes=FOOTNOTES}, or a list of either of the
-- previous two types). If FIRST_ONLY is given and FORMS is a list, only map over the first
-- element. Return value is of the same form as FORMS. The function is called with two
-- arguments, the original form and manual translit; if manual translit isn't relevant,
-- it's fine to declare the function with only one argument. The return value is either a
-- single value (the new form) or two values (the new form and new manual translit).
function export.map_form_or_forms(forms, fn, first_only)
if forms == nil then
return nil
elseif type(forms) == "string" then
return forms == "?" and "?" or fn(forms)
elseif forms.form then
if forms.form == "?" then
return {form = "?", footnotes = forms.footnotes}
end
local newform, newtranslit = fn(forms.form, forms.translit)
return {form=newform, translit=newtranslit, footnotes=forms.footnotes}
else
local retval = {}
for i, form in ipairs(forms) do
if first_only then
return export.map_form_or_forms(form, fn)
end
table.insert(retval, export.map_form_or_forms(form, fn))
end
return retval
end
end
-- Combine two sets of footnotes. If either is nil, just return the other, and if both are nil,
-- return nil.
function export.combine_footnotes(notes1, notes2)
if not notes1 and not notes2 then
return nil
end
if not notes1 then
return notes2
end
if not notes2 then
return notes1
end
local combined = m_table.shallowcopy(notes1)
for _, note in ipairs(notes2) do
m_table.insertIfNot(combined, note)
end
return combined
end
-- Expand a given footnote (as specified by the user, including the surrounding brackets)
-- into the form to be inserted into the final generated table.
function export.expand_footnote(note)
local notetext = rmatch(note, "^%[!?(.*)%]$")
if not notetext then
error("Internal error: Footnote should be surrounded by brackets: " .. note)
end
if footnote_abbrevs[notetext] then
notetext = footnote_abbrevs[notetext]
else
local split_notes = m_string_utilities.capturing_split(notetext, "<(.-)>")
for i, split_note in ipairs(split_notes) do
if i % 2 == 0 then
split_notes[i] = footnote_abbrevs[split_note]
if not split_notes[i] then
-- Don't error for now, because HTML might be in the footnote.
-- Instead we should switch the syntax here to e.g. <<a>> to avoid
-- conflicting with HTML.
split_notes[i] = "<" .. split_note .. ">"
--error("Unrecognized footnote abbrev: <" .. split_note .. ">")
end
end
end
notetext = table.concat(split_notes)
end
return m_string_utilities.ucfirst(notetext) .. "."
end
-- Combine a form (either a string or a table {form = FORM, footnotes = FOOTNOTES, ...}) with footnotes.
-- Do the minimal amount of work; e.g. if FOOTNOTES is nil, just return FORM.
function export.combine_form_and_footnotes(form, footnotes)
if type(footnotes) == "string" then
footnotes = {footnotes}
end
if footnotes then
if type(form) == "table" then
form = m_table.shallowcopy(form)
form.footnotes = export.combine_footnotes(form.footnotes, footnotes)
return form
else
return {form = form, footnotes = footnotes}
end
else
return form
end
end
-- Older entry point. FIXME: Obsolete me.
function export.generate_form(form, footnotes)
return export.combine_form_and_footnotes(form, footnotes)
end
-- Combine a single form (either a string or object {form = FORM, footnotes = FOOTNOTES, ...}) or a list of same
-- along with footnotes and return a list of forms where each returned form is an object
-- {form = FORM, footnotes = FOOTNOTES, ...}.
function export.convert_to_general_list_form(word_or_words, footnotes)
if type(word_or_words) == "string" then
return {{form = word_or_words, footnotes = footnotes}}
elseif word_or_words.form then
return {export.combine_form_and_footnotes(word_or_words, footnotes)}
else
local retval = {}
for _, form in ipairs(word_or_words) do
if type(form) == "string" then
table.insert(retval, {form = form, footnotes = footnotes})
else
table.insert(retval, export.combine_form_and_footnotes(form, footnotes))
end
end
return retval
end
end
local function is_table_of_strings(forms)
for k, v in pairs(forms) do
if type(k) ~= "number" or type(v) ~= "string" then
return false
end
end
return true
end
function export.add_forms(forms, slot, stems, endings, combine_stem_ending,
lang, combine_stem_ending_tr, footnotes)
if stems == nil or endings == nil then
return
end
if type(stems) == "string" and type(endings) == "string" then
export.insert_form(forms, slot, {form = combine_stem_ending(stems, endings), footnotes = footnotes})
elseif type(stems) == "string" and is_table_of_strings(endings) then
for _, ending in ipairs(endings) do
export.insert_form(forms, slot, {form = combine_stem_ending(stems, ending), footnotes = footnotes})
end
else
stems = export.convert_to_general_list_form(stems)
endings = export.convert_to_general_list_form(endings, footnotes)
for _, stem in ipairs(stems) do
for _, ending in ipairs(endings) do
local footnotes = nil
if stem.footnotes and ending.footnotes then
footnotes = m_table.shallowcopy(stem.footnotes)
for _, footnote in ipairs(ending.footnotes) do
m_table.insertIfNot(footnotes, footnote)
end
elseif stem.footnotes then
footnotes = stem.footnotes
elseif ending.footnotes then
footnotes = ending.footnotes
end
local new_form = combine_stem_ending(stem.form, ending.form)
local new_translit
if stem.translit or ending.translit then
if not lang or not combine_stem_ending_tr then
error("Internal error: With manual translit, 'lang' and 'combine_stem_ending_tr' must be passed to 'add_forms'")
end
local stem_tr = stem.translit or lang:transliterate(m_links.remove_links(stem.form))
local ending_tr = ending.translit or lang:transliterate(m_links.remove_links(ending.form))
new_translit = combine_stem_ending_tr(stem_tr, ending_tr)
end
export.insert_form(forms, slot, {form = new_form, translit = new_translit, footnotes = footnotes})
end
end
end
end
function export.add_multiple_forms(forms, slot, sets_of_forms, combine_stem_ending,
lang, combine_stem_ending_tr, footnotes)
if #sets_of_forms == 0 then
return
elseif #sets_of_forms == 1 then
local formset = iut.convert_to_general_list_form(sets_of_forms[1], footnotes)
export.insert_forms(forms, slot, formset)
elseif #sets_of_forms == 2 then
local stems = sets_of_forms[1]
local endings = sets_of_forms[2]
export.add_forms(forms, slot, stems, endings, combine_stem_ending,
lang, combine_stem_ending_tr, footnotes)
else
local prev = sets_of_forms[1]
for i=2,#sets_of_forms do
local tempdest = {}
export.add_forms(tempdest, slot, prev, sets_of_forms[i], combine_stem_ending,
lang, combine_stem_ending_tr, i == #sets_of_forms and footnotes or nil)
prev = tempdest[slot]
end
export.insert_forms(forms, slot, prev)
end
end
local function iterate_slot_list_or_table(props, do_slot)
if props.slot_list then
for _, slot_and_accel_form in ipairs(props.slot_list) do
local slot, accel_form = unpack(slot_and_accel_form)
do_slot(slot, accel_form)
end
else
for slot, accel_form in pairs(props.slot_table) do
do_slot(slot, accel_form)
end
end
end
local function parse_before_or_post_text(props, text, segments, lemma_is_last)
-- If the text begins with a hyphen, include the hyphen in the set of allowed characters
-- for an inflected segment. This way, e.g. conjugating "-ir" is treated as a regular
-- -ir verb rather than a hyphen + irregular [[ir]].
local is_suffix = rfind(text, "^%-")
-- Call parse_balanced_segment_run() to keep multiword links together.
local bracketed_runs = export.parse_balanced_segment_run(text, "[", "]")
-- Split on space or hyphen. Use preserve_splitchar so we know whether the separator was
-- a space or hyphen.
local space_separated_groups = export.split_alternating_runs(bracketed_runs,
is_suffix and " " or "[ %-]", "preserve splitchar")
local parsed_components = {}
local parsed_components_translit = {}
local saw_manual_translit = false
local lemma
for j, space_separated_group in ipairs(space_separated_groups) do
local component = table.concat(space_separated_group)
if lemma_is_last and j == #space_separated_groups then
lemma = component
if lemma == "" and not props.allow_blank_lemma then
error("Word is blank: '" .. table.concat(segments) .. "'")
end
elseif rfind(component, "//") then
-- Manual translit or respelling specified.
if not props.lang then
error("Manual translit not allowed for this language; if this is incorrect, 'props.lang' must be set internally")
end
saw_manual_translit = true
local split = rsplit(component, "//")
if #split ~= 2 then
error("Term with translit or respelling should have only one // in it: " .. component)
end
local translit
component, translit = unpack(split)
if props.transliterate_respelling then
translit = props.transliterate_respelling(translit)
end
table.insert(parsed_components, component)
table.insert(parsed_components_translit, translit)
else
table.insert(parsed_components, component)
table.insert(parsed_components_translit, false) -- signal that it may need later transliteration
end
end
if saw_manual_translit then
for j, parsed_component in ipairs(parsed_components) do
if not parsed_components_translit[j] then
parsed_components_translit[j] =
props.lang:transliterate(m_links.remove_links(parsed_component))
end
end
end
text = table.concat(parsed_components)
local translit
if saw_manual_translit then
translit = table.concat(parsed_components_translit)
end
return text, translit, lemma
end
--[=[
Parse a segmented multiword spec such as "[[медичний|меди́чна]]<+> [[сестра́]]<*,*#.pr>" (in Ukrainian).
"Segmented" here means it is broken up on <...> segments using parse_balanced_segment_run(text, "<", ">"),
e.g. the above text would be passed in as {"[[медичний|меди́чна]]", "<+>", " [[сестра́]]", "<*,*#.pr>", ""}.
The return value is a table of the form
{
word_specs = {WORD_SPEC, WORD_SPEC, ...},
post_text = "TEXT-AT-END",
post_text_no_links = "TEXT-AT-END-NO-LINKS",
post_text_translit = "MANUAL-TRANSLIT-OF-TEXT-AT-END" or nil (if no manual translit or respelling was specified in the post-text)
}
where WORD_SPEC describes an individual inflected word and "TEXT-AT-END" is any raw text that may occur
after all inflected words. Individual words or linked text (including multiword text) may be given manual
transliteration or respelling in languages that support this using TEXT//TRANSLIT or TEXT//RESPELLING.
Each WORD_SPEC is of the form returned by parse_indicator_spec():
{
lemma = "LEMMA",
before_text = "TEXT-BEFORE-WORD",
before_text_no_links = "TEXT-BEFORE-WORD-NO-LINKS",
before_text_translit = "MANUAL-TRANSLIT-OF-TEXT-BEFORE-WORD" or nil (if no manual translit or respelling was specified in the before-text)
-- Fields as described in parse_indicator_spec()
...
}
For example, the return value for "[[медичний|меди́чна]]<+> [[сестра́]]<*,*#.pr>" is
{
word_specs = {
{
lemma = "[[медичний|меди́чна]]",
overrides = {},
adj = true,
before_text = "",
before_text_no_links = "",
forms = {},
},
{
lemma = "[[сестра́]]",
overrides = {},
stresses = {
{
reducible = true,
genpl_reversed = false,
},
{
reducible = true,
genpl_reversed = true,
},
},
animacy = "pr",
before_text = " ",
before_text_no_links = " ",
forms = {},
},
},
post_text = "",
post_text_no_links = "",
}
]=]
local function parse_multiword_spec(segments, props, disable_allow_default_indicator)
local multiword_spec = {
word_specs = {}
}
if not disable_allow_default_indicator and props.allow_default_indicator and #segments == 1 then
table.insert(segments, "<>")
table.insert(segments, "")
end
-- Loop over every other segment. The even-numbered segments are angle-bracket specs while
-- the odd-numbered segments are the text between them.
for i = 2, #segments - 1, 2 do
local before_text, before_text_translit, lemma =
parse_before_or_post_text(props, segments[i - 1], segments, "lemma is last")
local base = props.parse_indicator_spec(segments[i])
base.before_text = before_text
base.before_text_no_links = m_links.remove_links(base.before_text)
base.before_text_translit = before_text_translit
base.lemma = lemma
table.insert(multiword_spec.word_specs, base)
end
multiword_spec.post_text, multiword_spec.post_text_translit =
parse_before_or_post_text(props, segments[#segments], segments)
multiword_spec.post_text_no_links = m_links.remove_links(multiword_spec.post_text)
return multiword_spec
end
--[=[
Parse an alternant, e.g. "((родо́вий,родови́й))" or "((ру́син<pr>,руси́н<b.pr>))" (both in Ukrainian).
The return value is a table of the form
{
alternants = {MULTIWORD_SPEC, MULTIWORD_SPEC, ...}
}
where MULTIWORD_SPEC describes a given alternant and is as returned by parse_multiword_spec().
]=]
local function parse_alternant(alternant, props)
local parsed_alternants = {}
local alternant_text = rmatch(alternant, "^%(%((.*)%)%)$")
local segments = export.parse_balanced_segment_run(alternant_text, "<", ">")
local comma_separated_groups = export.split_alternating_runs(segments, "%s*,%s*")
local alternant_spec = {alternants = {}}
for _, comma_separated_group in ipairs(comma_separated_groups) do
table.insert(alternant_spec.alternants, parse_multiword_spec(comma_separated_group, props))
end
return alternant_spec
end
--[=[
Top-level parsing function. Parse text describing one or more inflected words.
`text` is the inflected text to parse, which generally has <...> specs following words to
be inflected, and may have alternants indicated using double parens. Examples:
"[[медичний|меди́чна]]<+> [[сестра́]]<*,*#.pr>" (Ukrainian, for [[медична сестра]] "nurse (lit. medical sister)")
"((ру́син<pr>,руси́н<b.pr>))" (Ukrainian, for [[русин]] "Rusyn")
"पंचायती//पंचाय*ती राज<M>" (Hindi, for [[पंचायती राज]] "village council", with phonetic respelling in the before-text component)
"((<M>,<M.plstem:फ़तूह.dirpl:फ़तूह>))" (Hindi, for [[फ़तह]] "win, victory", on that page, where the lemma is omitted and taken from the pagename)
"" (for any number of Hindi adjectives, where the lemma is omitted and taken from the pagename, and the angle bracket spec <> is assumed)
"काला<+>धन<M>" (Hindi, for [[कालाधन]] "black money")
`props` is an object specifying properties used during parsing, as follows:
{
parse_indicator_spec = FUNCTION_TO_PARSE_AN_INDICATOR_SPEC (required; takes one argument,
a string surrounded by angle brackets, and should return a
word_spec object containing properties describing the indicators
inside of the angle brackets),
lang = LANG_OBJECT (only needed if manual translit or respelling may be present using //),
transliterate_respelling = FUNCTION_TO_TRANSLITERATE_RESPELLING (only needed of respelling
is allowed in place of manual translit after //; takes one
argument, the respelling or translit, and should return the
transliteration of any resplling but return any translit
unchanged),
allow_default_indicator = BOOLEAN_OR_NIL (true if the indicator in angle brackets can
be omitted and will be automatically added at the end of the
multiword text (if no alternants) or at the end of each
alternant (if alternants present),
allow_blank_lemma = BOOLEAN_OR_NIL (true if a blank lemma is allowed; in such a case, the
calling function should substitute a default lemma, typically taken
from the pagename)
}
The return value is a table of the form
{
alternant_or_word_specs = {ALTERNANT_OR_WORD_SPEC, ALTERNANT_OR_WORD_SPEC, ...}
post_text = "TEXT-AT-END",
post_text_no_links = "TEXT-AT-END-NO-LINKS",
post_text_translit = "TRANSLIT-OF-TEXT-AT-END" (or nil),
}
where ALTERNANT_OR_WORD_SPEC is either an alternant spec as returned by parse_alternant()
or a multiword spec as described in the comment above parse_multiword_spec(). An alternant spec
looks as follows:
{
alternants = {MULTIWORD_SPEC, MULTIWORD_SPEC, ...},
before_text = "TEXT-BEFORE-ALTERNANT",
before_text_no_links = "TEXT-BEFORE-ALTERNANT",
before_text_translit = "TRANSLIT-OF-TEXT-BEFORE-ALTERNANT" (or nil),
}
i.e. it is like what is returned by parse_alternant() but has extra `before_text`
and `before_text_no_links` fields.
]=]
function export.parse_inflected_text(text, props)
local alternant_multiword_spec = {alternant_or_word_specs = {}}
local alternant_segments = m_string_utilities.capturing_split(text, "(%(%(.-%)%))")
local last_post_text, last_post_text_no_links, last_post_text_translit
for i = 1, #alternant_segments do
if i % 2 == 1 then
local segments = export.parse_balanced_segment_run(alternant_segments[i], "<", ">")
-- Disable allow_default_indicator if alternants are present and we're processing
-- the non-alternant text. Otherwise we will try to treat the non-alternant text
-- surrounding the alternants as an inflected word rather than as raw text.
local multiword_spec = parse_multiword_spec(segments, props, #alternant_segments ~= 1)
for _, word_spec in ipairs(multiword_spec.word_specs) do
table.insert(alternant_multiword_spec.alternant_or_word_specs, word_spec)
end
last_post_text = multiword_spec.post_text
last_post_text_no_links = multiword_spec.post_text_no_links
last_post_text_translit = multiword_spec.post_text_translit
else
local alternant_spec = parse_alternant(alternant_segments[i], props)
alternant_spec.before_text = last_post_text
alternant_spec.before_text_no_links = last_post_text_no_links
alternant_spec.before_text_translit = last_post_text_translit
table.insert(alternant_multiword_spec.alternant_or_word_specs, alternant_spec)
end
end
alternant_multiword_spec.post_text = last_post_text
alternant_multiword_spec.post_text_no_links = last_post_text_no_links
alternant_multiword_spec.post_text_translit = last_post_text_translit
return alternant_multiword_spec
end
-- Older entry point. FIXME: Convert all uses of this to use export.parse_inflected_text instead.
function export.parse_alternant_multiword_spec(text, parse_indicator_spec, allow_default_indicator, allow_blank_lemma)
local props = {
parse_indicator_spec = parse_indicator_spec,
allow_default_indicator = allow_default_indicator,
allow_blank_lemma = allow_blank_lemma,
}
return export.parse_inflected_text(text, props)
end
-- Inflect alternants in ALTERNANT_SPEC (an object as returned by parse_alternant()).
-- This sets the form values in `ALTERNANT_SPEC.forms` for all slots.
-- (If a given slot has no values, it will not be present in `ALTERNANT_SPEC.forms`).
local function inflect_alternants(alternant_spec, props)
alternant_spec.forms = {}
for _, multiword_spec in ipairs(alternant_spec.alternants) do
export.inflect_multiword_or_alternant_multiword_spec(multiword_spec, props)
iterate_slot_list_or_table(props, function(slot)
if not props.skip_slot or not props.skip_slot(slot) then
export.insert_forms(alternant_spec.forms, slot, multiword_spec.forms[slot])
end
end)
end
end
local function append_forms(props, formtable, slot, forms, before_text, before_text_no_links,
before_text_translit)
if not forms then
return
end
local old_forms = formtable[slot] or {{form = ""}}
local ret_forms = {}
for _, old_form in ipairs(old_forms) do
for _, form in ipairs(forms) do
local old_form_vars = props.get_variants and props.get_variants(old_form.form) or ""
local form_vars = props.get_variants and props.get_variants(form.form) or ""
if old_form_vars ~= "" and form_vars ~= "" and old_form_vars ~= form_vars then
-- Reject combination due to non-matching variant codes.
else
local new_form = old_form.form .. before_text .. form.form
local new_translit
if old_form.translit or before_text_translit or form.translit then
if not props.lang then
error("Internal error: If manual translit is given, 'props.lang' must be set")
end
if not before_text_translit then
before_text_translit = props.lang:transliterate(before_text_no_links) or ""
end
local old_translit = old_form.translit or props.lang:transliterate(m_links.remove_links(old_form.form)) or ""
local translit = form.translit or props.lang:transliterate(m_links.remove_links(form.form)) or ""
new_translit = old_translit .. before_text_translit .. translit
end
local new_footnotes = export.combine_footnotes(old_form.footnotes, form.footnotes)
table.insert(ret_forms, {form=new_form, translit=new_translit,
footnotes=new_footnotes})
end
end
end
formtable[slot] = ret_forms
end
function export.inflect_multiword_or_alternant_multiword_spec(multiword_spec, props)
multiword_spec.forms = {}
local is_alternant_multiword = not not multiword_spec.alternant_or_word_specs
for _, word_spec in ipairs(is_alternant_multiword and multiword_spec.alternant_or_word_specs or multiword_spec.word_specs) do
if word_spec.alternants then
inflect_alternants(word_spec, props)
elseif props.decline_word_spec then
props.decline_word_spec(word_spec)
else
props.inflect_word_spec(word_spec)
end
iterate_slot_list_or_table(props, function(slot)
if not props.skip_slot or not props.skip_slot(slot) then
append_forms(props, multiword_spec.forms, slot, word_spec.forms[slot],
(rfind(slot, "linked") or props.include_user_specified_links) and
word_spec.before_text or word_spec.before_text_no_links,
word_spec.before_text_no_links, word_spec.before_text_translit
)
end
end)
end
if multiword_spec.post_text ~= "" then
local pseudoform = {{form=""}}
iterate_slot_list_or_table(props, function(slot)
-- If slot is empty or should be skipped, don't try to append post-text.
if (not props.skip_slot or not props.skip_slot(slot)) and multiword_spec.forms[slot] then
append_forms(props, multiword_spec.forms, slot, pseudoform,
(rfind(slot, "linked") or props.include_user_specified_links) and
multiword_spec.post_text or multiword_spec.post_text_no_links,
multiword_spec.post_text_no_links, multiword_spec.post_text_translit
)
end
end)
end
end
function export.decline_multiword_or_alternant_multiword_spec(multiword_spec, props)
return export.inflect_multiword_or_alternant_multiword_spec(multiword_spec, props)
end
function export.map_word_specs(alternant_multiword_spec, fun)
for _, alternant_or_word_spec in ipairs(alternant_multiword_spec.alternant_or_word_specs) do
if alternant_or_word_spec.alternants then
for _, multiword_spec in ipairs(alternant_or_word_spec.alternants) do
for _, word_spec in ipairs(multiword_spec.word_specs) do
fun(word_spec)
end
end
else
fun(alternant_or_word_spec)
end
end
end
function export.create_footnote_obj()
return {
notes = {},
seen_notes = {},
noteindex = 1,
}
end
function export.get_footnote_text(form, footnote_obj)
if not form.footnotes then
return ""
end
local link_indices = {}
for _, footnote in ipairs(form.footnotes) do
footnote = export.expand_footnote(footnote)
local this_noteindex = footnote_obj.seen_notes[footnote]
if not this_noteindex then
-- Generate a footnote index.
this_noteindex = footnote_obj.noteindex
footnote_obj.noteindex = footnote_obj.noteindex + 1
table.insert(footnote_obj.notes, '<sup style="color: red">' .. this_noteindex .. '</sup>' .. footnote)
footnote_obj.seen_notes[footnote] = this_noteindex
end
m_table.insertIfNot(link_indices, this_noteindex)
end
table.sort(link_indices)
return '<sup style="color: red">' .. table.concat(link_indices, ",") .. '</sup>'
end
function export.add_links(form, multiword_only)
if form == "" or form == " " then
return form
end
if not form:find("%[%[") then
if rfind(form, "[%s%p]") then --optimization to avoid loading [[Module:headword]] on single-word forms
local m_headword = require("Module:headword")
if m_headword.head_is_multiword(form) then
form = m_headword.add_multiword_links(form)
end
end
if not multiword_only and not form:find("%[%[") then
form = "[[" .. form .. "]]"
end
end
return form
end
function export.add_links_to_before_and_after_text(alternant_multiword_spec, remember_original, add_links)
add_links = add_links or export.add_links
local function add_links_remember_original(object, field)
if remember_original then
object["user_specified_" .. field] = object[field]
end
object[field] = add_links(object[field])
end
for _, alternant_or_word_spec in ipairs(alternant_multiword_spec.alternant_or_word_specs) do
add_links_remember_original(alternant_or_word_spec, "before_text")
if alternant_or_word_spec.alternants then
for _, multiword_spec in ipairs(alternant_or_word_spec.alternants) do
for _, word_spec in ipairs(multiword_spec.word_specs) do
add_links_remember_original(word_spec, "before_text")
end
add_links_remember_original(multiword_spec, "post_text")
end
end
end
add_links_remember_original(alternant_multiword_spec, "post_text")
end
function export.reconstruct_original_spec(alternant_multiword_spec, props)
local parts = {}
props = props or {}
local function ins(txt)
table.insert(parts, txt)
end
local function insert_angle_bracket_spec(spec)
if props.preprocess_angle_bracket_spec then
spec = props.preprocess_angle_bracket_spec(spec)
end
ins(spec)
end
for _, alternant_or_word_spec in ipairs(alternant_multiword_spec.alternant_or_word_specs) do
ins(alternant_or_word_spec.user_specified_before_text)
if alternant_or_word_spec.alternants then
ins("((")
for i, multiword_spec in ipairs(alternant_or_word_spec.alternants) do
if i > 1 then
ins(",")
end
for _, word_spec in ipairs(multiword_spec.word_specs) do
ins(word_spec.user_specified_before_text)
ins(word_spec.user_specified_lemma)
insert_angle_bracket_spec(word_spec.angle_bracket_spec)
end
ins(multiword_spec.user_specified_post_text)
end
ins("))")
else
ins(alternant_or_word_spec.user_specified_lemma)
insert_angle_bracket_spec(alternant_or_word_spec.angle_bracket_spec)
end
end
ins(alternant_multiword_spec.user_specified_post_text)
local retval = table.concat(parts)
if alternant_multiword_spec.allow_default_indicator then
-- As a special case, if we see e.g. "amar<>", remove the <>. Don't do this if there are spaces or alternants.
if not retval:find(" ") and not retval:find("%(%(") then
local retval_no_angle_brackets = retval:match("^(.*)<>$")
if retval_no_angle_brackets then
return retval_no_angle_brackets
end
end
end
return retval
end
--[=[
Convert the forms in `forms` (a list of form objects, each of which is a table of the form
{ form = FORM, translit = MANUAL_TRANSLIT_OR_NIL, footnotes = FOOTNOTE_LIST_OR_NIL, no_accel = TRUE_TO_SUPPRESS_ACCELERATORS })
into strings. Each form list turns into a string consisting of a comma-separated list of linked forms, with accelerators
(unless `no_accel` is set in a given form). `props` is a table used in generating the strings, as follows:
{
lang = LANG_OBJECT,
lemmas = LEMMAS,
slot_table = SLOT_TABLE,
slot_list = SLOT_LIST,
include_translit = BOOLEAN,
create_footnote_obj = FUNCTION_TO_CREATE_FOOTNOTE_OBJ,
canonicalize = FUNCTION_TO_CANONICALIZE_EACH_FORM,
transform_link = FUNCTION_TO_TRANSFORM_EACH_LINK,
join_spans = FUNCTION_TO_JOIN_SPANS,
allow_footnote_symbols = BOOLEAN,
footnotes = EXTRA_FOOTNOTES,
}
`lemmas` is the list of lemmas, used in the accelerators.
`slot_list` is a list of two-element lists of slots and associated accelerator inflections.
`slot_table` is a table mapping slots to associated accelerator inflections.
(One of `slot_list` or `slot_table` must be given.)
If `include_translit` is given, transliteration is included in the generated strings.
`create_footnote_obj` is an optional function of no arguments to create the footnote object used to track footnotes;
see export.create_footnote_obj(). Customizing it is useful to prepopulate the footnote table using
export.get_footnote_text().
`canonicalize` is an optional function of one argument (a form) to canonicalize each form before processing; it can return nil
for no change.
`transform_link` is an optional function to transform a linked form prior to further processing; it is passed three arguments
(slot, link, link_tr) and should return the transformed link (or if translit is active, it should return the transformed link
and corresponding translit). It can return nil for no change.
`join_spans` is an optional function of three arguments (slot, orig_spans, tr_spans) where the spans in question are after
linking and footnote processing. It should return a string (the joined spans) or nil for the default algorithm, which separately
joins the orig_spans and tr_spans with commas and puts a newline between them.
If `allow_footnote_symbols` is given, footnote symbols attached to forms (e.g. numbers, asterisk) are separated off, placed outside
the links, and superscripted. In this case, `footnotes` should be a list of footnotes (preceded by footnote symbols, which are
superscripted). These footnotes are combined with any footnotes found in the forms and placed into `forms.footnotes`.
]=]
function export.show_forms(forms, props)
local footnote_obj = props.create_footnote_obj and props.create_footnote_obj() or export.create_footnote_obj()
local accel_lemma = props.lemmas[1]
local accel_lemma_translit
if type(accel_lemma) == "table" then
accel_lemma_translit = accel_lemma.translit
accel_lemma = accel_lemma.form
end
accel_lemma = accel_lemma and m_links.remove_links(accel_lemma) or nil
local lemma_forms = {}
for _, lemma in ipairs(props.lemmas) do
if type(lemma) == "table" then
m_table.insertIfNot(lemma_forms, lemma.form)
else
m_table.insertIfNot(lemma_forms, lemma)
end
end
forms.lemma = #lemma_forms > 0 and table.concat(lemma_forms, ", ") or mw.title.getCurrentTitle().text
local m_table_tools = require("モジュール:table tools")
local m_script_utilities = require("モジュール:script utilities")
local function do_slot(slot, accel_form)
local formvals = forms[slot]
if formvals then
local orig_spans = {}
local tr_spans = {}
local orignotes, trnotes = "", ""
for i, form in ipairs(formvals) do
local orig_text = props.canonicalize and props.canonicalize(form.form) or form.form
local link
if form.form == "—" or form.form == "?" then
link = orig_text
else
local origentry
if props.allow_footnote_symbols then
origentry, orignotes = m_table_tools.get_notes(orig_text)
else
origentry = orig_text
end
-- remove redundant link surrounding entire form
origentry = export.remove_redundant_links(origentry)
local accel_obj
-- check if form still has links; if so, don't add accelerators
-- because the resulting entries will be wrong
if accel_lemma and not form.no_accel and accel_form ~= "-" and
not rfind(origentry, "%[%[") then
accel_obj = {
form = accel_form,
translit = props.include_translit and form.translit or nil,
lemma = accel_lemma,
lemma_translit = props.include_translit and accel_lemma_translit or nil,
}
end
link = m_links.full_link{lang = props.lang, term = origentry, tr = "-", accel = accel_obj}
end
local tr = props.include_translit and (form.translit or props.lang:transliterate(m_links.remove_links(orig_text))) or nil
local trentry
if props.allow_footnote_symbols and tr then
trentry, trnotes = m_table_tools.get_notes(tr)
else
trentry = tr
end
if props.transform_link then
local newlink, newtr = props.transform_link(slot, link, tr)
if newlink then
link, tr = newlink, newtr
end
end
link = link .. orignotes
tr = tr and m_script_utilities.tag_translit(trentry, props.lang, "default", " style=\"color: #888;\"") .. trnotes or nil
if form.footnotes then
local footnote_text = export.get_footnote_text(form, footnote_obj)
link = link .. footnote_text
tr = tr and tr .. footnote_text or nil
end
table.insert(orig_spans, link)
if tr then
table.insert(tr_spans, tr)
end
end
local joined_spans
if props.join_spans then
joined_spans = props.join_spans(slot, orig_spans, tr_spans)
end
if not joined_spans then
local orig_span = table.concat(orig_spans, ", ")
local tr_span
if #tr_spans > 0 then
tr_span = table.concat(tr_spans, ", ")
end
if tr_span then
joined_spans = orig_span .. "<br />" .. tr_span
else
joined_spans = orig_span
end
end
forms[slot] = joined_spans
else
forms[slot] = "—"
end
end
iterate_slot_list_or_table(props, do_slot)
local all_notes = footnote_obj.notes
if props.footnotes then
for _, note in ipairs(props.footnotes) do
local symbol, entry = m_table_tools.get_initial_notes(note)
table.insert(all_notes, symbol .. entry)
end
end
forms.footnote = table.concat(all_notes, "<br />")
end
--[=[
Older entry point. Same as `show_forms` but automatically sets include_translit = true in props.
]=]
function export.show_forms_with_translit(forms, lemmas, slot_table, props, footnotes, allow_footnote_symbols)
props.lemmas = lemmas
props.slot_table = slot_table
props.footnotes = footnotes
props.allow_footnote_symbols = allow_footnote_symbols
props.include_translit = true
return export.show_forms(forms, props)
end
return export
griku47ag5sa9be6w7za6qcbsd8ww8p
しょうとう
0
327049
2280859
2280670
2026-06-08T12:43:44Z
M-30722
1202
2280859
wikitext
text/x-wiki
{{kana-DEFAULTSORT}}
{{also|しょうどう|じょうとう|じょうどう}}
=={{L|ja}}==
==={{kangokana}}===
{{ja-kangokana|h=y}}
*【[[上童]]】公卿の子弟で元服のまえに宮中の作法を学ぶため、昇殿が許され出仕した子供。
*【[[小党]]】党員が少ない政党。
*【[[小刀]]】小さい刀。
*【[[小島]]】小さい島。
*【[[小盗]]】こそどろ。
*【[[昇等]]・[[陞等]]】等級があがること。
*【[[昇騰]]・[[升騰]]】高くあがること。
*【[[松濤]]】波の音がするように吹く松(松林)に吹く風。
*【[[梢頭]]】[[梢]]の[[先端]]。
*【[[檣灯]]】船舶が夜間に航行する際、前方のマストに掲げ、船舶の前面を示す白い灯火。
*【[[檣頭]]】帆柱の先。
*【[[正当]]】正しくて、道理にかなっていること。
*【[[正統]]】正しい[[系統]]や[[血統]]。
*【[[消灯]]】灯りを消すこと。
7dpfyzcnmg1fxdzfzmlb92gdw77021r
腫瘍
0
327170
2280949
2208785
2026-06-08T14:16:14Z
M-30722
1202
[[en:tumor]]より訳語追加
2280949
wikitext
text/x-wiki
{{kana-DEFAULTSORT|しゅよう}}
{{wikipedia}}
=={{L|ja}}==
{{ja-kanjitab|しゅ|よう|yomi=o}}
==={{pron}}===
{{ja-pron|しゅよう|acc=0}}
{{ja-accent-common|region=京阪|h|しゅよ|ー}}
==={{noun}}===
{{ja-noun|[[しゅよう]]}}
#{{context|腫瘍学|lang=ja}}[[細胞]]が生体内の[[制御]]に反して[[過剰]]に増殖することによってできる組織塊のこと。
===={{seealso}}====
*[[腫瘍学]]
*[[癌]]
===={{trans}}====
{{trans-top}}
*{{T|is}}: {{t|is|æxli|n}}, {{t|is|hnútur|m}}
*{{T|ga}}: {{t|ga|siad|m}}
*{{T|az}}: {{t|az|şiş}}
*{{T|af}}: {{t|af|gewas}}
*{{T|ar}}: {{t|ar|وَرَم|m}}
*{{T|hy}}: {{t|hy|ուռուցք}}
*{{T|it}}: {{t|it|tumore|m}}
*{{T|cy}}: {{t|cy|tiwmor|m}}
*{{T|uk}}: {{t|uk|пухли́на|f}}, {{t|uk|о́пух|m}}
*{{T|uz}}: {{t|uz|shish}}
*{{T|en}}: {{t|en|tumor}}, {{t|en|tumour}}
*{{T|et}}: {{t|et|kasvaja}}
*{{T|eo}}: {{t|eo|tumoro}}
*{{T|nl}}: {{t|nl|tumor|m}}, {{t|nl|gezwel|n}}
*{{T|kk}}: {{t|kk|ісік}}
*{{T|ca}}: {{t|ca|tumor|m}}
*{{T|gl}}: {{t|gl|tumor|m}}
*{{T|kn}}: {{t|kn|ಗಂತಿ}}, {{t|kn|ಗಡ್ಡೆ}}
*{{T|el}}: {{t|el|όγκος|m}}
*:{{T|grc}}: {{t|grc|ἀθήρωμα|n}}, {{t|grc|κανθύλη|f}}
*{{T|km}}: {{t|km|ដុំសាច់}}
*{{T|crh}}: {{t|crh|şişik}}
*{{T|ka}}: {{t|ka|სიმსივნე}}
*{{T|nmn}}: {{t|nmn|gǁkxʻáã}}
*{{T|sah}}: {{t|sah|искэн}}
*{{T|sv}}: {{t|sv|tumör}}
*{{T|sco}}: {{t|sco|clyre}}
*{{T|gd}}: {{t|gd|pluc|m}}, {{t|gd|at|m}}
*{{T|es}}: {{t|es|tumor|m}}
*{{T|sk}}: {{t|sk|nádor|m}}
*{{T|sh}}:
*:キリル文字: {{t|sh|ту̑мор|m}}
*:ラテン文字: {{t|sh|tȗmor|m}}
*{{T|th}}: {{t|th|เนื้องอก}}
*{{T|tt}}: {{t|tt|шеш}}
*{{T|ta}}: {{t|ta|கட்டி}}
*{{T|cs}}: {{t|cs|nádor|m}}
*{{T|bo}}: {{t|bo|སྐྲན}}
*{{T|zh}}: {{t|cmn|腫瘤|tr=zhǒngliú}}, {{t|cmn|瘤子|tr=liúzi}}
*{{T|ko}}: {{t|ko|종양(腫瘍)}}
*{{T|da}}: {{t|da|svulst|c}}, {{t|da|tumor|c}}
*{{T|de}}: {{t|de|Tumor|m}}, {{t|de|Geschwulst|f|n}}
*{{T|tr}}: {{t|tr|tümör}}, {{t|tr|ur}}, {{t|tr|verem}}
*:{{T|ota}}: {{t|ota|شیش|tr=şiş}}, {{t|ota|ورم|tr=verem}}, {{t|ota|یومرو|tr=yumru}}
*{{T|nrf}}: {{t|nrf|chancre|m}}
*{{T|ba}}: {{t|ba|шеш}}, {{t|ba|яман шеш}}
*{{T|hu}}: {{t|hu|daganat}}
*{{T|my}}: {{t|my|အကျိတ်}}
*{{T|hi}}: {{t|hi|फुलाव|m}}, {{t|hi|नववर्धन|m}}, {{t|hi|ट्यूमर|m}}
*{{T|fi}}: {{t|fi|kasvain}}
*{{T|fr}}: {{t|fr|tumeur|f}}
*{{T|bg}}: {{t|bg|тумор|m}}
*{{T|vi}}: {{t|vi|u}}
*{{T|be}}: {{t|be|пухлі́на|f}}, {{t|be|во́пух|m}}
*{{T|fa}}: {{t|fa|تومور|tr=tumor}}
*{{T|pl}}: {{t|pl|guz|m}}, {{t|pl|nowotwór|m}}, {{t|pl|opuchlizna|f}}
*{{T|pt}}: {{t|pt|tumor|m}}
*{{T|mi}}: {{t|mi|tuma}}, {{t|mi|koropuku}}
*{{T|mk}}: {{t|mk|тумор|m}}
*{{T|mg}}: {{t|mg|fivontosana}}, {{t|mg|zihitra}}
*{{T|ms}}: {{t|ms|ketumbuhan}}, {{t|ms|tumor}}
*{{T|lo}}: {{t|lo|ນໍ}}
*{{T|la}}: {{t|la|tumor|m}}
*{{T|lv}}: {{t|lv|audzējs|m}}
*{{T|ro}}: {{t|ro|tumoare|f}}
*{{T|ru}}: {{t|ru|о́пухоль|f}}
{{trans-bottom}}
h106d9psm0ky6qa9j85cc3q9blrxmio
しゅよう
0
327173
2280950
2121892
2026-06-08T14:17:01Z
M-30722
1202
2280950
wikitext
text/x-wiki
{{kana-DEFAULTSORT}}
{{also|じゅよう}}
=={{L|ja}}==
==={{kangokana}}===
{{ja-kangokana|h=y}}
*【[[主要]]】物事の[[中心]]となっていて大切なこと。
*【[[腫瘍]]】[[細胞]]が生体内の[[制御]]に反して[[過剰]]に増殖することによってできる組織塊のこと。
s90oeoz8z6et5wynlvybf0rdcqezxqx
しゅりゅう
0
327373
2280945
1932763
2026-06-08T14:06:09Z
M-30722
1202
2280945
wikitext
text/x-wiki
{{kana-DEFAULTSORT}}
=={{L|ja}}==
==={{kangokana}}===
{{ja-kangokana|h=y}}
*【[[主流]]】[[かわ|川]]などの主な流れ。
*【[[腫瘤]]】[[動物]]の[[体内]]や[[表面]]にできる(病変性を持つ)[[組織]]の盛り上がり。
89dts5u6dshdbnfydg05dplm5qmf2vu
しょうどう
0
327559
2280861
2202259
2026-06-08T12:44:05Z
M-30722
1202
2280861
wikitext
text/x-wiki
{{kana-DEFAULTSORT}}
{{also|しょうとう|じょうとう|じょうどう}}
=={{L|ja}}==
==={{kangokana}}===
{{ja-kangokana|h=y}}
*【[[正道]]】正しい[[道理]]。
*【[[衝動]]】よく考えず、発作的・本能的に動こうとする[[こころ|心]]の動き。
*【[[唱道]]】[[率先]]して唱えること。
*【[[唱導]]】経文を唱え、衆生を信仰に導くこと。
*【[[聳動]]】驚かし動くこと。
*【[[省道]]】中国の省が管理する道。
a4elu7tdq8licnxzhd5naq50ew2c989
secar
0
329354
2281352
1377237
2026-06-09T11:43:25Z
Kuroco2k
84207
2281352
wikitext
text/x-wiki
=={{ast}}==
==={{etym}}===
{{etyl|la|ast}} ''[[siccare|siccāre]]''
==={{verb}}===
{{ast-verb-ar|sec}}
#{{おくりがな2|乾|かわ|かす|かわかす}}。[[乾燥]]させる。
{{ast-conj-car|se|se}}
===={{rel}}====
* {{l|ast|secu}}
----
=={{oc}}==
==={{etym}}===
{{etyl|pro|oc}} < {{etyl|la|oc}} ''[[siccare|siccāre]]''
==={{verb}}===
{{oc-verb|sec|ar}}
#{{おくりがな2|乾|かわ|かす|かわかす}}。[[乾燥]]させる。
{{oc-conj-ar|sec|sequ}}
===={{rel}}====
* {{l|oc|assecar}}
* {{l|oc|dessecar}}
* {{l|oc|sec}}
----
=={{ca}}==
==={{etym}}===
{{etyl|pro|ca}} < {{etyl|la|ca}} ''[[siccare|siccāre]]''
==={{pron}}===
* {{ca-IPA}}
==={{verb}}===
{{ca-verb|ar|sec}}
#[[assecar]]の異綴。
{{ca-conj-ar|sec}}
----
=={{gl}}==
==={{etym}}===
古ガリシア語及び{{etyl|roa-opt|gl}} ''secar'' < {{etyl|la|gl}} ''[[siccare|siccāre]]''
==={{pron}}===
* {{IPA|lang=gl|seˈkar}}
==={{verb}}===
{{gl-verb|sec|ar|pret=sequei}}
#{{おくりがな2|乾|かわ|かす|かわかす}}。[[乾燥]]させる。
#{{おくりがな2|拭|ふ|く|ふく}}。{{おくりがな2|拭|ぬぐ|う|ぬぐう}}。
#{{おくりがな2|乾|かわ|く|かわく}}。乾燥する。
#{{おくりがな2|枯|か|れる|かれる}}。{{おくりがな2|萎|しお|れる|しおれる}}。
#(哺乳類の){{ふりがな|乳|ちち}}が出なくなる。
{{gl-conj-car|sec|sequ}}
===={{syn}}====
* (語義1) {{l|gl|desecar}}
* (語義2) {{l|gl|enxugar}}
* (語義3) {{l|gl|agostar}}, {{l|gl|estiñar}}
* (語義4) {{l|gl|agostar}}
* (語義5) {{l|gl|estiñar}}
===={{drv}}====
* {{l|gl|desecar}}
* {{l|gl|seca}}
* {{l|gl|secador}}
* {{l|gl|seco}}
* {{l|gl|sequeiro}}
----
=={{es}}==
==={{etym}}===
{{etyl|la|es}} ''[[siccare|siccāre]]''
==={{pron}}===
{{es-IPA}}
==={{verb}}===
{{es-verb}}
#{{おくりがな2|乾|かわ|かす|かわかす}}。[[乾燥]]させる。
===={{conjug}}====
{{es-conj}}
===={{drv}}====
{{top3}}
* {{l|es|secadero}}
* {{l|es|secado}}
* {{l|es|secadora}}
* {{l|es|secador}}
* {{l|es|secamanos}}
* {{l|es|secamente}}
* {{l|es|secamiento}}
* {{l|es|secaplatos}}
* {{l|es|secano}}
* {{l|es|secante}}
* {{l|es|secarropas}}
* {{l|es|sequía}}
* {{l|es|resecar}}
{{bottom}}
===={{rel}}====
* {{l|es|desecar}}
* {{l|es|ensecar}}
* {{l|es|seco}}
===={{seealso}}====
* {{l|es|enjugar}}
----
=={{pt}}==
==={{alter}}===
* {{l|pt|seccar}} (廃用)
==={{etym}}===
{{etyl|roa-opt|pt}} < {{etyl|la|pt}} ''[[siccare|siccāre]]'' < ''[[siccus]]'' < {{etyl|ine|pt}} {{recons|seyk-|lang=ine}}
==={{pron}}===
* {{a|Paulista}} {{IPA|lang=pt|se.ˈka(ɹ)}}
* {{a|South Brazil}} {{IPA|se.ˈka(ɻ)}}
* {{a|PT}} {{IPA|sɨˈkaɾ}}
* {{hyphenation|se|car}}
==={{verb}}===
{{pt-verb|se|car}}
#{{context|intransitive|lang=pt}}{{おくりがな2|乾|かわ|く|かわく}}。[[乾燥]]する。
#{{context|transitive|lang=pt}}{{おくりがな2|乾|かわ|かす|かわかす}}。乾燥させる。
#{{context|intransitive|lang=pt}}{{おくりがな2|枯|か|れる|かれる}}。{{おくりがな2|萎|しお|れる|しおれる}}。
{{pt-conj|se|car}}
===={{syn}}====
* (語義1) {{l|pt|evaporar}}
* (語義3) {{l|pt|esgotar}}, {{l|pt|mirrar}}, {{l|pt|murchar}}
===={{ant}}====
* (語義2) {{l|pt|aguar}}, {{l|pt|molhar}}, {{l|pt|humedecer}}, {{l|pt|humidificar}}, {{l|pt|humectar}}.
===={{rel}}====
* {{l|pt|desecar}}
* {{l|pt|seca}}
* {{l|pt|secador}}
* {{l|pt|seco}}
===={{seealso}}====
* {{l|pt|enxugar}}
brs3nl69p1jr2s1sbg4orqhcqdftkfw
fenecer
0
333482
2281310
1444504
2026-06-09T11:30:31Z
Kuroco2k
84207
2281310
wikitext
text/x-wiki
=={{L|es}}==
==={{etym}}===
{{etyl|osp|es}} {{m|osp|fenir}} < {{etyl|la|es}} {{m|la|fīnīre}} < {{m|la|fīnis}} 又は{{etyl|VL.|es}} {{m|la|*fīniscere}}, {{m|la|*fīnescēre}}
==={{pron}}===
{{es-IPA}}
==={{verb}}===
{{es-verb}}
#{{context|transitive|rare|lang=es}}{{おくりがな2|終|お|える|おえる}}。[[終了]]する。
#{{context|intransitive|archaic|lang=es}}{{おくりがな2|終|お|わる|おわる}}。
#{{context|intransitive|archaic|lang=es}}{{おくりがな2|死|し|ぬ|しぬ}}。{{おくりがな2|亡|な|くなる|なくなる}}。
===={{conjug}}====
{{es-conj}}
===={{drv}}====
* {{l|es|fenecimiento|g=m}}
===={{rel}}====
* {{l|es|fin}}
* {{l|es|finir}}
* {{l|es|finito}}
----
=={{L|pt}}==
==={{etym}}===
{{etyl|la|pt}} {{m|la|fīnīre}} < {{m|la|fīnis}} 又は{{etyl|VL.|pt}} {{m|la|*fīniscere}}, {{m|la|*fīnescēre}}
==={{verb}}===
{{pt-verb|fene|cer}}
#{{おくりがな2|終|お|える|おえる}}。[[終了]]する。
{{pt-conj|fene|cer}}
===={{drv}}====
* {{l|pt|fenecimento}}
c3i1p39l3p6gjv6tpbsis7gvvirfwd8
altercar
0
334321
2281246
1490445
2026-06-09T11:03:38Z
Kuroco2k
84207
2281246
wikitext
text/x-wiki
=={{L|es}}==
==={{etym}}===
{{etyl|la|es}} {{m|la|altercārī}}
==={{pron}}===
{{es-IPA}}
==={{verb}}===
{{es-verb}}
#{{おくりがな2|激|はげ|しく|はげしい}}[[口論]]する。
===={{conjug}}====
{{es-conj|nocomb=1}}
===={{syn}}====
* {{l|es|batallar}}, {{l|es|discutir}}, {{l|es|disputar}}, {{l|es|porfiar}}
===={{drv}}====
* {{l|es|altercado}}
===={{rel}}====
* {{l|es|altercación}}
----
=={{L|pt}}==
==={{etym}}===
{{etyl|la|pt}} {{m|la|altercārī}}
==={{verb}}===
{{pt-verb|alter|car}}
#{{おくりがな2|激|はげ|しく|はげしい}}[[口論]]する。
{{pt-conj|alter|car}}
4m1igatqk2i2o178vsggjnomo0znyyb
obligar
0
334588
2281314
1492088
2026-06-09T11:33:24Z
Kuroco2k
84207
2281314
wikitext
text/x-wiki
=={{L|vec}}==
==={{etym}}===
{{etyl|la|vec}} {{m|la|obligāre}}
==={{verb}}===
{{head|vec|verb}}
#{{context|transitive|lang=vec}}[[義務]]を{{おくりがな2|負|お|わ|おう}}せる。{{おくりがな2|強|し|いる|しいる}}。[[強制]]する。
{{vec-conj-auto}}
===={{rel}}====
* {{l|vec|obligà}}
* {{l|vec|łigar}}
----
=={{L|ca}}==
==={{etym}}===
{{etyl|la|ca}} {{m|la|obligāre}}
==={{pron}}===
* {{ca-IPA}}
* {{rhymes|a(ɾ)}}
==={{verb}}===
{{ca-verb|ar|oblig}}
#[[義務]]を{{おくりがな2|負|お|わ|おう}}せる。{{おくりがな2|強|し|いる|しいる}}。[[強制]]する。
{{ca-conj-ar|oblig}}
===={{rel}}====
* {{l|ca|obligació}}
* {{l|ca|lligar}}
----
=={{L|es}}==
==={{etym}}===
{{etyl|la|es}} {{m|la|obligāre}}
==={{pron}}===
{{es-IPA}}
==={{verb}}===
{{es-verb}}
#[[義務]]を{{おくりがな2|負|お|わ|おう}}せる。{{おくりがな2|強|し|いる|しいる}}。[[強制]]する。
#{{context|reflexive|legal|lang=es}}義務を負う。
#{{context|reflexive|lang=es}}[[無理]]をする。
#{{context|reflexive|lang=es}}[[確約]]する。
===={{conjug}}====
{{es-conj}}
===={{rel}}====
* {{l|es|obligación}}
* {{l|es|ligar}}
papwkzyrbetho8rwkleiifuuqb577ys
discordar
0
334761
2281278
1493885
2026-06-09T11:20:12Z
Kuroco2k
84207
2281278
wikitext
text/x-wiki
=={{L|es}}==
==={{verb}}===
{{es-verb}}
#[[同意]]しない。[[反対]]する。
#[[調和]]しない。
===={{conjug}}====
{{es-conj|<ue>|nocomb=1}}
----
=={{L|pt}}==
==={{verb}}===
{{pt-verb|discord|ar}}
#{{context|transitive|deを伴って|lang=pt}}[[同意]]しない。[[反対]]する。
{{pt-conj|discord|ar}}
===={{ant}}====
* {{l|pt|concordar}}
===={{rel}}====
* {{l|pt|discórdia}}
qkh6lmt9j481wcwidq1ue94dbkctu8r
emerger
0
335809
2281293
1527943
2026-06-09T11:23:39Z
Kuroco2k
84207
2281293
wikitext
text/x-wiki
{{also|émerger}}
=={{L|es}}==
==={{etym}}===
{{etyl|la|es}} {{m|la|emergere}}
==={{verb}}===
{{es-verb}}
#[[水面]]に{{おくりがな2|現|あらわ|れる|あらわれる}}。[[浮上]]する。
===={{conjug}}====
{{es-conj}}
===={{syn}}====
* {{l|es|surgir}}
===={{rel}}====
* {{l|es|emergencia}}
----
=={{L|frm}}==
==={{etym}}===
1476年初出。{{etyl|la|frm}} {{m|la|emergere}}
==={{verb}}===
{{head|frm|verb}}
#[[水面]]に{{おくりがな2|現|あらわ|れる|あらわれる}}。[[浮上]]する。
===={{conjugation}}====
{{frm-conj-ger|emer}}
===={{desc}}====
* {{desc|fr|émerger}}
brvs55ih82bqnd8u4eja5ja0laf9lme
しょくしょう
0
336774
2280929
2016415
2026-06-08T13:47:40Z
M-30722
1202
2280929
wikitext
text/x-wiki
{{kana-DEFAULTSORT}}
=={{L|ja}}==
==={{kangokana}}===
{{ja-kangokana|h=y}}
*【[[職掌]]】[[担当]]する[[しごと|仕事]]。
*【[[食傷]]】食中り。食中毒。
*【[[織匠]]】[[織物師]]。
nsajauz1kqsmqe2l7m2mdcdyhjh3puu
versificar
0
336984
2281383
1557994
2026-06-09T11:55:51Z
Kuroco2k
84207
2281383
wikitext
text/x-wiki
=={{L|ca}}==
==={{etym}}===
{{etyl|la|ca}} {{m|la|versificāre}}
==={{pron}}===
* {{ca-IPA}}
* {{homophones|lang=ca|versificà}}
* {{rhymes|a(ɾ)}}
==={{verb}}===
{{ca-verb|ar|versific}}
#{{context|literature|lang=ca}}[[作詩]]する。
#{{context|literature|lang=ca}}[[韻文]]にする。
{{ca-conj-ar|versific}}
----
=={{L|es}}==
==={{etym}}===
{{etyl|la|es}} {{m|la|versificāre}}
==={{pron}}===
{{es-IPA}}
==={{verb}}===
{{es-verb}}
#{{context|literature|lang=es}}[[作詩]]する。
#{{context|literature|lang=es}}[[韻文]]にする。
===={{conjug}}====
{{es-conj|nocomb=1}}
----
=={{L|pt}}==
==={{etym}}===
{{etyl|la|pt}} {{m|la|versificāre}}
==={{verb}}===
{{pt-verb|versifi|car}}
#{{context|literature|lang=pt}}[[作詩]]する。
#{{context|literature|lang=pt}}[[韻文]]にする。
{{pt-conj|versifi|car}}
===={{syn}}====
* {{l|pt|versar}}, {{l|pt|versejar}}
7sk10qgljx92l0uv2o1ek4gcv5pgexn
tentar
0
337757
2281299
2219569
2026-06-09T11:25:33Z
Kuroco2k
84207
2281299
wikitext
text/x-wiki
=={{L|io}}==
==={{etym}}===
{{io-bor|tempt|tenter||tentare||tentar}}
==={{pron}}===
{{io-IPA}}
==={{verb}}===
{{io-verb|tent}}
#{{context|transitive|lang=io}}[[誘惑]]する。
=={{L|ia}}==
==={{verb}}===
{{ia-verb|ar}}
#{{おくりがな2|試|ため|す|ためす}}。{{おくりがな2|試|こころ|みる|こころみる}}。
#[[誘惑]]する。
=={{L|es}}==
==={{alter}}===
* {{l|es|atentar}}
==={{etym}}===
{{etyl|la|es}} {{m|la|temptāre}}
==={{pron}}===
{{es-IPA}}
==={{verb}}===
{{es-verb}}
#[[誘惑]]する。
#{{おくりがな2|触|ふ|れる|ふれる}}。
===={{conjug}}====
{{es-conj|<ie>}}
===={{drv}}====
* {{l|es|tentadero}}
* {{l|es|tentar a la suerte}}
* {{l|es|tentar al diablo}}
===={{rel}}====
* {{l|es|tentador}}
* {{l|es|tentación}}
* {{l|es|tienta}}
=={{L|sv}}==
==={{verb}}===
{{head|sv|verb form}}
#[[tenta]]の現在形。
==={{anag}}===
* {{anagrams|sv|a=aenrtt|ratten|tanter}}
=={{L|pt}}==
==={{etym}}===
{{etyl|roa-opt|pt}} {{m|roa-opt|tentar}} < {{etyl|la|pt}} {{m|la|temptāre}}
==={{pron}}===
* {{a|Portugal}} {{IPA|lang=pt|tẽ.ˈtaɾ}}
* {{a|Brazil}} {{IPA|/tẽ.ˈta(ʁ)/|[t̪ẽ̞ɪ̯̃ⁿ.ˈt̪ä(χ)]}}
==={{verb}}===
{{pt-verb|tent|ar}}
#{{おくりがな2|試|ため|す|ためす}}。{{おくりがな2|試|こころ|みる|こころみる}}。
#[[誘惑]]する。
#{{おくりがな3|思|おも|い|切|き|っ|おもいきる}}て~する。
{{pt-conj|tent|ar}}
be07w15weqrgbl8dq0v3us0vot1ooto
escoger
0
338109
2281269
1589914
2026-06-09T11:13:54Z
Kuroco2k
84207
2281269
wikitext
text/x-wiki
=={{L|es}}==
==={{alter}}===
* {{l|es|descoger}} (まれ)
==={{etym}}===
*{{etyl|osp|es}} {{m|osp|escoger}}
*{{prefix|es|coger|lang=es}}
==={{pron}}===
{{es-IPA}}
==={{verb}}===
{{es-verb}}
#{{context|transitive|lang=es}}{{おくりがな2|選|えら|ぶ|えらぶ}}。{{おくりがな3|選|えら|び|出|だ|す|えらびだす}}。
===={{conjug}}====
{{es-conj}}
===={{syn}}====
* {{l|es|elegir}}
* {{l|es|seleccionar}}
===={{drv}}====
* {{l|es|escogimiento}}
* {{l|es|escogida}}
* {{l|es|escogido}}
===={{rel}}====
* {{l|es|coger}}
* {{l|es|recoger}}
* {{l|es|encoger}}
* {{l|es|acoger}}
==={{anag}}===
* {{l|es|cogerse}}
hn1yg70etwq0gvt7sgye4v4nxif2d1z
explicar
0
338111
2281270
1589982
2026-06-09T11:13:55Z
Kuroco2k
84207
2281270
wikitext
text/x-wiki
=={{L|ia}}==
==={{etym}}===
{{etyl|la|ia}} {{m|la|explicāre}}
==={{verb}}===
{{ia-verb|ar}}
#[[説明]]する。
{{ia-conj|explic|ar}}
----
=={{L|oc}}==
==={{etym}}===
{{etyl|la|oc}} {{m|la|explicāre}}
==={{pron}}===
*音声(ベアルン): [[ファイル:LL-Q14185 (oci)-Davidgrosclaude-explicar.wav]]
==={{verb}}===
{{oc-verb|explic|ar}}
#[[説明]]する。
{{oc-conj-ar|explic|expliqu}}
===={{rel}}====
* {{l|oc|explicacion}}
----
=={{L|ca}}==
==={{etym}}===
{{etyl|la|ca}} {{m|la|explicāre}}
==={{pron}}===
* {{ca-IPA}}
*音声: [[ファイル:LL-Q7026 (cat)-Unjoanqualsevol-explicar.wav]]
* {{rhymes|a(ɾ)}}
==={{verb}}===
{{ca-verb|ar|explic}}
#[[説明]]する。
{{ca-conj-ar|explic}}
===={{rel}}====
* {{l|ca|explic}}
* {{l|ca|explicable}}
* {{l|ca|explicació}}
* {{l|ca|explicador}}
* {{l|ca|explicatiu}}
----
=={{L|gl}}==
==={{etym}}===
{{etyl|la|gl}} {{m|la|explicāre}}
==={{verb}}===
{{gl-verb|explic|ar|pret=expliquei}}
#[[説明]]する。
{{gl-conj-car|explic|expliqu}}
===={{rel}}====
* {{l|gl|explicable}}
* {{l|gl|explicación}}
----
=={{L|es}}==
==={{alter}}===
* {{l|es|esplicar}}
==={{etym}}===
{{etyl|la|es}} {{m|la|explicāre}}
==={{pron}}===
{{es-IPA}}
==={{verb}}===
{{es-verb}}
#[[説明]]する。
===={{conjug}}====
{{es-conj}}
{{es-conj|explicarse}}
===={{rel}}====
* {{l|es|explicable}}
* {{l|es|explicación}}
----
=={{L|pt}}==
==={{etym}}===
{{etyl|la|pt}} {{m|la|explicāre}}
==={{pron}}===
* {{a|Portugal}} {{IPA|lang=pt|iʃ.pli.ˈkaɾ|ɐjʃ.pli.ˈkaɾ}}
* {{a|Brazil}} {{IPA|/is.pli.ˈka(ʁ)/|[ɪs̻.pl̪ɪ.ˈkä(χ)]}}
* {{hyphenation|ex|pli|car}}
*音声: [[ファイル:Pt explicar.ogg]]
==={{verb}}===
{{pt-verb|expli|car}}
#{{context|transitive|lang=pt}}[[説明]]する。
{{pt-conj|expli|car}}
===={{rel}}====
* {{l|pt|explicação}}
* {{l|pt|explicável}}
azzd4ezpqo39w3h7kawn7wiy0imol1f
edificar
0
338923
2281297
1598915
2026-06-09T11:23:40Z
Kuroco2k
84207
2281297
wikitext
text/x-wiki
=={{L|ca}}==
==={{etym}}===
{{etyl|la|ca}} {{m|la|aedificāre}}
==={{pron}}===
{{ca-IPA}}
==={{verb}}===
{{ca-verb|ar|edific}}
#{{おくりがな2|建|た|てる|たてる}}。[[建設]]する。
{{ca-conj-ar|edific}}
----
=={{L|gl}}==
==={{etym}}===
{{etyl|la|gl}} {{m|la|aedificāre}}
==={{pron}}===
* {{IPA|lang=gl|eðifiˈkaɾ}}
==={{verb}}===
{{gl-verb|edific|ar|pret=edifiquei}}
#{{おくりがな2|建|た|てる|たてる}}。[[建設]]する。
{{gl-conj-car|edific|edifiqu}}
----
=={{L|es}}==
==={{etym}}===
{{etyl|la|es}} {{m|la|aedificāre}}
==={{verb}}===
{{es-verb}}
#{{おくりがな2|建|た|てる|たてる}}。[[建設]]する。
#[[教化]]する。
===={{conjug}}====
{{es-conj}}
===={{drv}}====
* {{l|es|edificante}}
===={{rel}}====
* {{l|es|edificación}}
* {{l|es|edificio}}
===={{seealso}}====
* {{l|es|buen humor}}
----
=={{L|pt}}==
==={{etym}}===
{{etyl|la|pt}} {{m|la|aedificāre}}
==={{pron}}===
* {{a|PT}} {{IPA|lang=pt|i.ði.fi.ˈkaɾ}}
* {{a|Brazil}} {{IPA|e.d͡ʒi.fi.ˈka(ʁ)}}
==={{verb}}===
{{pt-verb|edifi|car}}
#{{おくりがな2|建|た|てる|たてる}}。[[建設]]する。
{{pt-conj|edifi|car}}
===={{rel}}====
* {{l|pt|edificação}}
7m37fu729empyl8lvdcnif0c3nhjrgn
deificar
0
338945
2281289
1598949
2026-06-09T11:20:17Z
Kuroco2k
84207
2281289
wikitext
text/x-wiki
{{also|deïficar}}
=={{L|gl}}==
==={{etym}}===
{{etyl|LL.|gl}} {{m|la|deificāre}} < {{etyl|la|gl}} {{m|la|deus}}
==={{verb}}===
{{gl-verb|deific|ar|pret=deifiquei}}
#[[神格]]化する。[[神聖]]視する。
{{gl-conj-car|deific|deifiqu}}
----
=={{L|es}}==
==={{etym}}===
{{etyl|LL.|es}} {{m|la|deificāre}} < {{etyl|la|es}} {{m|la|deus}}
==={{pron}}===
{{es-IPA}}
==={{verb}}===
{{es-verb}}
#[[神格]]化する。[[神聖]]視する。
===={{conjug}}====
{{es-conj}}
----
=={{L|pt}}==
==={{etym}}===
{{etyl|LL.|pt}} {{m|la|deificāre}} < {{etyl|la|pt}} {{m|la|deus}}
==={{verb}}===
{{pt-verb|deifi|car}}
#[[神格]]化する。[[神聖]]視する。
{{pt-conj|deifi|car}}
4qvdl3gvicuydyvx1v4ywpexw1qusp6
abdicar
0
343035
2281248
1627219
2026-06-09T11:03:39Z
Kuroco2k
84207
2281248
wikitext
text/x-wiki
=={{L|oc}}==
==={{etym}}===
{{etyl|la|oc}} {{m|la|abdicāre}}
==={{pron}}===
* {{hyphenation|ab|di|car}}
*音声: [[ファイル:LL-Q14185 (oci)-Davidgrosclaude-abdicar.wav]]
==={{verb}}===
{{oc-verb|abdic|ar}}
#[[退位]]する。[[辞任]]する。[[放棄]]する。
{{oc-conj-ar|abdic|abdiqu}}
===={{rel}}====
* {{l|oc|abdicacion}}
----
=={{L|ca}}==
==={{etym}}===
{{etyl|la|ca}} {{m|la|abdicāre}}
==={{pron}}===
* {{ca-IPA}}
* {{hyphenation|ab|di|car}}
==={{verb}}===
{{ca-verb|ar|abdic}}
#{{context|ambitransitive|lang=ca}}[[退位]]する。[[辞任]]する。[[放棄]]する。
{{ca-conj-ar|abdic}}
===={{rel}}====
* {{l|ca|abdicació}}
----
=={{L|gl}}==
==={{etym}}===
{{etyl|la|gl}} {{m|la|abdicāre}}
==={{pron}}===
* {{hyphenation|ab|di|car}}
==={{verb}}===
{{gl-verb|abdic|ar|pret=abdiquei}}
#[[退位]]する。[[辞任]]する。[[放棄]]する。
{{gl-conj-car|abdic|abdiqu}}
===={{rel}}====
* {{l|gl|abdicación}}
----
=={{L|es}}==
==={{etym}}===
{{etyl|la|es}} {{m|la|abdicāre}}
==={{pron}}===
{{es-IPA}}
*音声(コロンビア): [[ファイル:LL-Q1321 (spa)-AdrianAbdulBaha-abdicar.wav]]
==={{verb}}===
{{es-verb}}
#{{context|transitive|lang=es}}[[退位]]する。[[辞任]]する。[[放棄]]する。
===={{conjug}}====
{{es-conj}}
===={{rel}}====
* {{l|es|abdicación}}
* {{l|es|abdicativo}}
----
=={{L|pt}}==
==={{etym}}===
{{etyl|la|pt}} {{m|la|abdicāre}}
==={{pron}}===
* {{a|Portugal}} {{IPA|lang=pt|ˌɐβ.ði.ˈkaɾ|ˌɐb.di.ˈkaɾ}}
* {{hyphenation|ab|di|car}}
==={{verb}}===
{{pt-verb|abdi|car}}
# {{context|ambitransitive|deを伴って|lang=pt}}[[退位]]する。[[辞任]]する。
#{{context|transitive|em favor deを伴って|lang=pt}}[[放棄]]する。
===={{syn}}====
* (語義1) {{l|pt|renunciar}}
* (語義2) {{l|pt|ceder}}, {{l|pt|renunciar}}, {{l|pt|desistir}}
{{pt-conj|abdi|car}}
----
=={{L|la}}==
==={{pron}}===
* {{la-IPA|abdīcar}}
==={{verb}}===
{{la-verb-form|abdīcar}}
#[[abdicare|abdicāre]]の直説法所相未来第一人称単数形。
h17tt1wlhbddlg4wd77jcii310w19we
そうほう
0
344281
2281232
1934525
2026-06-09T10:59:13Z
鍼灸
112313
2281232
wikitext
text/x-wiki
{{kana-DEFAULTSORT}}
{{also|そうぼう|ぞうほう|ぞうぼう}}
=={{ja}}==
==={{kangokana}}===
{{ja-kangokana|h=y}}
*【[[双方]]】:両方。
*【[[宗法]]】:中国周時代の家族制度。
*【[[走法]]】:走り方。
*【[[奏法]]】:演奏する方法。
*【[[操法]]】:操作などの方法。
*【[[葬法]]】:遺骸の葬り方。
*【[[槍法]]】:槍術。
*【[[遭逢]]】:遭遇。
lv40un8lqup3o6nmdn2jd2jnl8l6j2p
じょうとう
0
347202
2280864
2129767
2026-06-08T12:45:09Z
M-30722
1202
2280864
wikitext
text/x-wiki
{{kana-DEFAULTSORT}}
{{also|しょうとう|しょうどう|じょうどう}}
=={{L|ja}}==
==={{kangokana}}===
{{ja-kangokana|h=y}}
*【[[上棟]]】[[むねあげ|棟上げ]]。
*【[[上等]]】[[等級]]が[[うえ|上]]であるさま。
*【[[上騰]]】高く上がること。
*【[[城東]]】城の東側の地域。
*【[[常套]]】いつも決まったやりかた。
*【[[蒸騰]]】蒸気が立ち上ること。
7ehbq823q8j7srh0qqi452i8djr0ob0
しんそう
0
348901
2281002
2279087
2026-06-08T15:40:14Z
M-30722
1202
2281002
wikitext
text/x-wiki
{{kana-DEFAULTSORT}}
{{also|しんぞう|じんそう|じんぞう}}
=={{L|ja}}==
==={{kangokana}}===
{{ja-kangokana|h=y}}
*【[[真相]]】[[事件]]などの[[本当]]の[[事情]]。
*【[[新装]]】装いを新たにすること。
*【[[深層]]】深い層。
*【[[神葬]]】神道の儀式による葬儀。
*【[[深窓]]】家の奥のほうにある居間。
*【[[新粧]]】[[あたらしい|新しい]][[よそおい|装い]]。
l012slem3oxqfl14hri54771csps0r1
ぼうしゅ
0
355357
2281081
1937996
2026-06-09T01:22:44Z
ふゆくれ
95641
2281081
wikitext
text/x-wiki
{{kana-DEFAULTSORT}}
{{also|ほうしゅ|ほうじゅ|ぼうじゅ}}
=={{L|ja}}==
==={{kangokana}}===
{{ja-kangokana}}
{{ja-k|芒種|t=二十四節気の九番目。|hom=y}}
{{ja-k|防守|t=防ぎ守ること。}}
{{ja-k|房主|t=家主。}}
{{ja-k|貌取|t=描きとること。}}
{{ja-k|牟取|t=奪い取ること。}}
{{ja-k|貿首|t=首を取り合うこと。}}
{{ja-k|謀首|謀主|t=首謀者。}}
{{ja-k|亡酒|t=酒席を外すこと。}}
{{ja-k|冒娶|t=強引に娶ること。}}
dgtpj0razkno5tjxupo60nf8bd4kyn7
dirigir
0
358430
2281282
1663865
2026-06-09T11:20:13Z
Kuroco2k
84207
2281282
wikitext
text/x-wiki
=={{L|ca}}==
==={{etym}}===
{{bor|ca|la|dīrigere}}
==={{pron}}===
* {{ca-IPA}}
* {{rhymes|ca|i(ɾ)|s=3}}
==={{verb}}===
{{ca-verb|ir|dirig}}
#{{おくりがな2|導|みちび|く|みちびく}}。
#[[指導]]する、[[指揮]]する、[[運営]]する。
{{ca-conj-ir|dirig}}
===={{rel}}====
* {{l|ca|direcció}}
* {{l|ca|director}}
* {{l|ca|dret}}
----
=={{L|es}}==
==={{etym}}===
{{bor|es|la|dīrigere}}
==={{pron}}===
{{es-IPA}}
==={{verb}}===
{{es-verb}}
#[[指導]]する、[[指揮]]する、[[運営]]する。
#{{おくりがな2|向|む|ける|むける}}。
#{{おくりがな2|導|みちび|く|みちびく}}。
#[[操縦]]する。
#{{context|pronominal|+ '''''a'''''|lang=es}}{{おくりがな2|宛|あ|てる|あてる}}。
#{{context|pronominal|+ '''''a'''''|lang=es}}{{おくりがな2|向|む|かう|むかう}}。
===={{conjug}}====
{{es-conj}}
{{es-conj|dirigirse}}
===={{rel}}====
* {{l|es|dirigente}}
* {{l|es|dirección}}
* {{l|es|director}}
* {{l|es|derecho}}
===={{drv}}====
* {{l|es|redirigir}}
----
=={{L|pt}}==
==={{etym}}===
{{bor|pt|la|dīrigere}}
==={{pron}}===
* {{a|Portugal}} {{IPA|lang=pt|di.ɾi.ˈʒiɾ}}
* {{a|Brazil}} {{IPA|/d͡ʒi.ɾi.ˈʒi(ʁ)/|[d͡ʒɪ.ɾɪ.ˈʒi(χ)]}}
** {{a|Paulista}} {{IPA|d͡ʒi.ɾi.ˈʒi(ɹ)}}
** {{a|South Brazil}} {{IPA|d͡ʒi.ɾi.ˈʒi(ɻ)}}
** {{a|Carioca}} {{IPA|d͡ʒi.ɾi.ˈʒi(χ)}}
** {{a|Nordestino}} {{IPA|di.ɾi.ˈʒih}}
==={{verb}}===
{{pt-verb|diri|gir}}
#{{context|transitive|intransitive|lang=pt}}[[運転]]する。
#{{context|transitive|lang=pt}}[[指揮]]する、[[統治]]する、[[運営]]する。
#{{おくりがな2|向|む|ける|むける}}。
{{pt-conj|diri|gir}}
===={{syn}}====
* (語義2) {{l|pt|administrar}}, {{l|pt|gerir}}, {{l|pt|guiar}}, {{l|pt|presidir}}, {{l|pt|controlar}}, {{l|pt|comandar}}, {{l|pt|governar}}
===={{rel}}====
{{top}}
* {{l|pt|dirigir-se}}
* {{l|pt|direção}}
* {{l|pt|dirigente}}
* {{l|pt|direto}}
* {{l|pt|direito}}
* {{l|pt|diretiva}}
* {{l|pt|diretivo}}
* {{l|pt|diretor}}
* {{l|pt|diretoria}}
* {{l|pt|diretorial}}
* {{l|pt|diretório}}
* {{l|pt|diretriz}}
* {{l|pt|dirigível}}
* {{l|pt|dirigido}}
{{bottom}}
9nubagch328tmz7ajybwvn9h31ycv26
disecar
0
358447
2281276
2081756
2026-06-09T11:20:12Z
Kuroco2k
84207
2281276
wikitext
text/x-wiki
=={{L|es}}==
==={{etym}}===
{{bor|es|la|dissecāre}}
==={{verb}}===
{{es-verb}}
#[[解剖]]する。
#[[剝製]]にする。
#(植物を)[[乾燥]][[保存]]する。
===={{conjug}}====
{{es-conj}}
===={{rel}}====
* {{l|es|disección}}
* {{l|es|segar}}
hmd8quhm0lpyzhh2dd02dwwfm2xihna
ほりゅう
0
363734
2281317
1940501
2026-06-09T11:35:11Z
M-30722
1202
2281317
wikitext
text/x-wiki
{{kana-DEFAULTSORT}}
=={{L|ja}}==
==={{kangokana}}===
{{ja-kangokana|h=y}}
*【[[保留]]】そのままの[[状態]]で留めておくこと。
*【[[蒲柳]]】かわやなぎ(川柳)の異称。
1v7y7if1mbdoe73tu9gwvt0w3jfvc59
embozar
0
363935
2281292
1676321
2026-06-09T11:23:40Z
Kuroco2k
84207
2281292
wikitext
text/x-wiki
=={{L|es}}==
==={{etym}}===
{{prefix|en|alt1=em-|bozo}}{{suffix+||ar|lang=es}}
==={{pron}}===
{{es-IPA}}
==={{verb}}===
{{es-verb}}
#(マントなどで){{おくりがな2|覆|おお|う|おおう}}。
#(管などを){{おくりがな2|詰|つ|まら|つまる}}せる。
#{{おくりがな2|隠|かく|す|かくす}}。
#{{ふりがな|端綱|はづな}}を付ける。
===={{conjug}}====
{{es-conj}}
0ynjtk6dgdy08kqcu40fbyru65jsb4f
embriagar
0
363940
2281296
1676326
2026-06-09T11:23:39Z
Kuroco2k
84207
2281296
wikitext
text/x-wiki
=={{L|oc}}==
==={{etym}}===
{{m|oc|embriac}} < {{etyl|LL.|oc}} {{m|la|ēbriācus}} < {{etyl|la|oc}} {{m|la|ēbrius}}
==={{pron}}===
*音声: [[ファイル:LL-Q14185 (oci)-Davidgrosclaude-embriagar.wav]]
==={{verb}}===
{{oc-verb|embriag|ar}}
#{{context|reflexive|s'embriagar|lang=oc}}{{おくりがな2|酔|よ|う|よう}}。
{{oc-conj-ar|embriag|embriagu}}
----
=={{L|ca}}==
==={{etym}}===
{{m|ca|embriac}} < {{etyl|LL.|ca}} {{m|la|ēbriācus}} < {{etyl|la|ca}} {{m|la|ēbrius}}
==={{pron}}===
* {{ca-IPA}}
* {{rhymes|a(ɾ)|s=4}}
==={{verb}}===
{{ca-verb|ar|embriag}}
#{{context|transitive|lang=ca}}{{おくりがな2|酔|よ|わ|よう}}せる。
{{ca-conj-ar|embriag}}
===={{drv}}====
* {{l|ca|embriagar-se}}
----
=={{L|gl}}==
==={{etym}}===
{{etyl|LL.|gl}} {{m|la|ēbriācus}} < {{etyl|la|pt}} {{m|la|ēbrius}}
==={{verb}}===
{{gl-verb|embriag|ar|pret=embriaguei}}
#{{context|reflexive|lang=gl}}{{おくりがな2|酔|よ|う|よう}}。
{{gl-conj-car|embriag|embriagu}}
----
=={{L|es}}==
==={{etym}}===
{{m|es|embriago}} < {{etyl|LL.|es}} {{m|la|ēbriācus}} < {{etyl|la|es}} {{m|la|ēbrius}}
==={{pron}}===
{{es-IPA}}
==={{verb}}===
{{es-verb}}
#{{context|transitive|lang=es}}{{おくりがな2|酔|よ|わ|よう}}せる。
===={{conjug}}====
{{es-conj}}
----
=={{L|pt}}==
==={{etym}}===
{{etyl|LL.|pt}} {{m|la|ēbriācus}} < {{etyl|la|pt}} {{m|la|ēbrius}}
==={{verb}}===
{{pt-verb|embria|gar}}
#{{context|reflexive|lang=pt}}{{おくりがな2|酔|よ|う|よう}}。
{{pt-conj|embria|gar}}
762vsug7dhqwes4zyrcylj7b65lalj8
sementar
0
365029
2281350
1678771
2026-06-09T11:43:25Z
Kuroco2k
84207
2281350
wikitext
text/x-wiki
=={{L|ast}}==
==={{verb}}===
{{ast-verb-ar|sement}}
#[[semar]]の異形。
{{ast-conj-ar|sement}}
----
=={{L|gl}}==
==={{etym}}===
{{m|gl|semente}}
==={{pron}}===
* {{IPA|lang=gl|semenˈtaɾ}}
==={{verb}}===
{{gl-verb|sement|ar}}
#{{ふりがな|種|たね}}を{{おくりがな2|蒔|ま|く|まく}}。
{{gl-conj-ar|sement}}
===={{rel}}====
* {{l|gl|semente}}
* {{l|gl|sementeira}}
* {{l|gl|sementeiro}}
----
=={{L|es}}==
==={{verb}}===
{{es-verb}}
#{{ふりがな|種|たね}}を{{おくりがな2|蒔|ま|く|まく}}。
===={{conjug}}====
{{es-conj|<ie>}}
p27y3139m0ltgve3cf744tfq029k68n
そうぼう
0
365738
2281233
2143642
2026-06-09T10:59:45Z
鍼灸
112313
2281233
wikitext
text/x-wiki
{{kana-DEFAULTSORT}}
{{also|そうほう|ぞうほう|ぞうぼう}}
=={{ja}}==
==={{kangokana}}===
{{ja-kangokana|h=y}}
*【[[相貌]]】:顔つき。
*【[[蒼氓]]】:[[人民]]。
*【[[想望]]】:思慕。期待。
*【[[怱忙]]】:慌ただしく忙しいこと。
*【[[双眸]]】:左右の瞳。
*【[[僧坊]],[[僧房]]】:僧侶が起居する家屋。
saq81xaajgy6qq7w1ztk4lqg2eiwl01
じょうどう
0
367465
2280865
1941986
2026-06-08T12:45:32Z
M-30722
1202
2280865
wikitext
text/x-wiki
{{kana-DEFAULTSORT}}
{{also|しょうとう|しょうどう|じょうとう}}
=={{L|ja}}==
==={{kangokana}}===
{{ja-kangokana|h=y}}
*【[[常道]]】[[つねに|常に]]従うべき[[道徳]]。
*【[[杖道]]】[[武道]]の一つ。
ilmutl5pe5f4ssf0lp4361y80enn7j8
obedecer
0
370931
2281316
1691211
2026-06-09T11:33:24Z
Kuroco2k
84207
2281316
wikitext
text/x-wiki
=={{L|gl}}==
==={{etym}}===
{{etyl|roa-opt|gl}} {{m|roa-opt|obedecer}} < {{etyl|VL.|gl}} {{m|la||*oboedescere}} < {{etyl|la|gl}} {{m|la|oboedīre}}
==={{verb}}===
{{gl-verb|obedec|er|pres=obedezo}}
#{{おくりがな2|従|したが|う|したがう}}、[[服従]]する、(規則を){{おくりがな2|守|まも|る|まもる}}、[[順守]]する。
{{gl-conj-cer|obede}}
===={{ant}}====
* {{l|gl|desobedecer}}
----
=={{L|es}}==
==={{etym}}===
{{bor|es|la|oboedire}}
==={{pron}}===
{{es-IPA}}
* {{音声|es|LL-Q1321 (spa)-AdrianAbdulBaha-obedecer.wav|音声(コロンビア)}}
==={{verb}}===
{{es-verb}}
#{{context| transitive|lang=es}}{{おくりがな2|従|したが|う|したがう}}、[[服従]]する、(規則を){{おくりがな2|守|まも|る|まもる}}、[[順守]]する。
#{{context|intransitive|[[a]]を伴って|lang=es}}〜に[[起因]]する。
===={{conjug}}====
{{es-conj}}
===={{drv}}====
* {{l|es|desobedecer}}
===={{rel}}====
* {{l|es|obediencia}}
* {{l|es|obediente}}
----
=={{L|pt}}==
==={{etym}}===
{{etyl|roa-opt|pt}} {{m|roa-opt|obedecer}} < {{etyl|VL.|pt}} {{m|la||*oboedescere}} < {{etyl|la|pt}} {{m|la|oboedīre}}
==={{pron}}===
{{pt-IPA|obedecêr}}
* {{hyphenation|o|be|de|cer}}
==={{verb}}===
{{pt-verb|obede|cer}}
#{{おくりがな2|従|したが|う|したがう}}、[[服従]]する、(規則を){{おくりがな2|守|まも|る|まもる}}、[[順守]]する。
{{pt-conj|obede|cer}}
===={{rel}}====
* {{l|pt|obediente}}
* {{l|pt|obediência}}
9jly8rhuubohvn84bjq8bqs94o9urq5
devenir
0
371054
2281280
2169505
2026-06-09T11:20:13Z
Kuroco2k
84207
2281280
wikitext
text/x-wiki
=={{L|ia}}==
==={{etym}}===
{{etyl|fr|ia}}
==={{pron}}===
* {{IPA|lang=ia|de.veˈnir}}
==={{verb}}===
{{ia-verb|ir}}
#〜に[[なる]]。
{{ia-conj|deven|ir}}
=={{L|fro}}==
==={{etym}}===
{{m|fro|devenguz}} < {{etyl|la|fro}} {{m|la|devenīre}}
==={{verb}}===
{{head|fro|verb}}
#〜に[[なる]]。
===={{conjugation}}====
{{fro-conj-venir|de}}
===={{desc}}====
* {{desc|fr|devenir}}
=={{L|es}}==
==={{etym}}===
{{bor|es|fr|devenir}}
==={{noun}}===
{{es-noun|m|devenires}}
#{{context|time|lang=es}}[[将来]]、[[未来]]。
==={{verb}}===
{{es-verb}}
#〜に[[なる]]。
#{{おくりがな2|起|お|こる|おこる}}、[[生じる]]。
===={{conjug}}====
{{es-conj|nocomb=1}}
===={{syn}}====
* (語義2) {{l|es|pasar}}, {{l|es|suceder}}, {{l|es|ocurrir}}
=={{L|fr}}==
==={{alter}}===
* {{l|fr|dev'nir}}
==={{etym}}===
{{etyl|fro|fr}} {{m|fro|devenir}} < {{etyl|la|fr}} {{m|la|dēvenīre}} < {{m|la|dē}} + {{m|la|venīre}}
==={{pron}}===
* {{fr-IPA}}
* {{音声|fr|Fr-devenir.ogg}}
==={{noun}}===
{{fr-noun|m}}
#{{context|time|lang=fr}}[[将来]]、[[未来]]。
===={{syn}}====
* {{l|fr|futur}}, {{l|fr|destin}}, {{l|fr|avenir}}
===={{drv}}====
* {{l|fr|en devenir}}
==={{verb}}===
{{fr-verb}}
#〜に[[なる]]。
#{{context|Louisiana|'''de'''を伴って|lang=fr}}〜から{{おくりがな2|来|く|る|くる}}、〜に[[由来]]する。
===={{conjugation}}====
{{fr-conj-venir|de|être}}
===={{drv}}====
* {{l|fr|c'est en forgeant qu'on devient forgeron}}
* {{l|fr|devenir chèvre}}
* {{l|fr|petit poisson deviendra grand}}
===={{rel}}====
* {{l|fr|venir}}
==={{anag}}===
* {{l|fr|deviner}}
* {{l|fr|venir de}}
48zt9bm2zbpok61w45qfx4m22jkm2rr
惯
0
371153
2280907
1975190
2026-06-08T13:27:22Z
M-30722
1202
2280907
wikitext
text/x-wiki
==漢字==
{{kanji|心3|8}}
{{kanji variants|慣=[[繁体字]]}}
*筆順 :[[image:{{PAGENAME}}-bw.png|350px]]
===意義===
#[[なれる]]、[[ならす]]。
=={{L|zh}}==
{{zh-cat|guan4|hsk=丙|常=1|簡=1}}
==={{pron}}===
{{zh-han|m=guàn|ma=Zh-guàn.ogg|c=gwaan3}}
=={{コード}}==
{{文字コード}}
*[[倉頡入力法]] : 心田十人 (PWJO),
maksv06724fwcp30znsgxaw2nt1k713
convenir
0
371282
2281262
2169504
2026-06-09T11:12:42Z
Kuroco2k
84207
2281262
wikitext
text/x-wiki
=={{L|ca}}==
==={{alter}}===
* {{l|ca|convindre}}
==={{etym}}===
{{etyl|la|ca}} {{m|la|convenīre}}
==={{pron}}===
* {{ca-IPA}}
* {{rhymes|i(ɾ)|s=3}}
==={{verb}}===
{{ca-verb|pres_1_sg=convinc|past_part=convingut}}
#{{context|intransitive|lang=ca}}[[適する|適して]]いる、[[都合]]がよい。
#{{context|intransitive|lang=ca}}{{おくりがな2|認|みと|める|みとめる}}、[[合意]]する、[[一致]]する。
{{ca-conj-ir-tenir|conven|convin|conve|<!--
-->|pres_ind_3_sg=convé<!--
-->|impr_2_sg=convén<!--
-->}}
===={{syn}}====
* (語義2) [[estar]] d'[[acord]]
===={{drv}}====
* {{l|ca|desconvenir}}
===={{rel}}====
* {{l|ca|convenció}}
* {{l|ca|conveni}}
* {{l|ca|conveniència}}
* {{l|ca|convenient}}
=={{L|es}}==
==={{etym}}===
{{etyl|la|es}} {{m|la|convenīre}}
==={{pron}}===
{{es-IPA}}
==={{verb}}===
{{es-verb}}
#{{context|transitive|lang=es}}{{おくりがな2|認|みと|める|みとめる}}、[[合意]]する、[[一致]]する。
#{{context|transitive|intransitive|lang=es}}[[適する|適して]]いる、[[都合]]がよい。
#{{context|transitive|lang=es}}{{おくりがな2|集|あつ|める|あつめる}}、[[召集]]する。
===={{conjug}}====
{{es-conj}}
===={{syn}}====
* {{l|es|acordar}}, {{l|es|concordar}}, {{l|es|admitir}}
===={{rel}}====
* {{l|es|conveniencia}}
* {{l|es|conveniente}}
* {{l|es|convenio}}
* {{l|es|convención}}
=={{L|fr}}==
==={{etym}}===
{{etyl|la|fr}} {{m|la|convenire}}
==={{pron}}===
* {{fr-IPA}}
* {{音声|fr|Fr-convenir.ogg}}
==={{verb}}===
{{fr-verb}}
#{{おくりがな2|認|みと|める|みとめる}}、[[合意]]する、[[一致]]する。
#[[適する|適して]]いる、[[都合]]がよい。
===={{conjugation}}====
{{fr-conj-venir|con|avoir}}
===={{rel}}====
* {{l|fr|convenance}}
* {{l|fr|convention}}
7xt15ipl73y1k53ocn587bdf41kceem
sonreír
0
372677
2281344
1694971
2026-06-09T11:43:23Z
Kuroco2k
84207
2281344
wikitext
text/x-wiki
{{DEFAULTSORT:sonreir}}
=={{L|es}}==
==={{etym}}===
{{etyl|osp|es}} {{m|osp|sonreír}} < {{etyl|la|es}} {{m|la|subrīdēre}}
==={{pron}}===
{{es-IPA}}
* {{音声|es|LL-Q1321 (spa)-AdrianAbdulBaha-sonreír.wav|音声(コロンビア)}}
==={{verb}}===
{{es-verb}}
#{{context|intransitive|lang=es}}{{おくりがな3|微|ほほ||笑|え|む|ほほえむ}}。
===={{conjug}}====
{{es-conj|<í>}}
===={{rel}}====
* {{l|es|reír}}
* {{l|es|sonrisa}}
kg9so1r7bor6ukoodmv1s6xdnb2xw4w
ascender
0
375246
2281241
1701245
2026-06-09T11:03:37Z
Kuroco2k
84207
2281241
wikitext
text/x-wiki
=={{L|ia}}==
==={{verb}}===
{{ia-verb|er}}
#{{おくりがな2|登|のぼ|る|のぼる}}、{{おくりがな2|上|あ|がる|あがる}}、[[上昇]]する。
{{ia-conj|ascend|er}}
----
=={{L|en}}==
==={{etym}}===
{{-er|ascend}}
==={{pron}}===
* {{rhymes|ɛndə(ɹ)|s=3}}
==={{noun}}===
{{en-noun}}
#{{おくりがな2|登|のぼ|る|のぼる}}人、[[上昇]]させる物。
===={{coor}}====
* {{l|en|descender}}
===={{rel}}====
* {{l|en|ascend}}
* {{l|en|ascent}}
* {{l|en|ascendant}}
* {{l|en|ascendance}}
* {{l|en|ascendancy}} / {{l|en|ascendency}}
* {{l|en|ascending}}
==={{anag}}===
* {{anagrams|en|a=acdeenrs|reascend}}
----
=={{L|es}}==
==={{etym}}===
{{bor|es|la|ascendere}}
==={{pron}}===
* {{es-IPA}}
==={{verb}}===
{{es-verb}}
#{{おくりがな2|登|のぼ|る|のぼる}}、{{おくりがな2|上|あ|がる|あがる}}、[[上昇]]する。
#(階級が)上がる、[[昇進]]する。
===={{conjug}}====
{{es-conj|<ie>}}
===={{ant}}====
* {{l|es|descender}}
===={{rel}}====
* {{l|es|ascendente}}
* {{l|es|ascendiente}}
* {{l|es|ascensión}}
* {{l|es|ascenso}}
* {{l|es|ascensor}}
* {{l|es|descender}}
----
=={{L|pt}}==
==={{etym}}===
{{bor|pt|la|ascendere}}
==={{pron}}===
{{pt-IPA|br=ascendêr|pt=ascendêr,achendêr}}
* {{homophones|lang=pt|acender|q1=Brazil}}
==={{verb}}===
{{pt-verb|ascend|er}}
#{{context|intransitive|lang=pt}}{{おくりがな2|登|のぼ|る|のぼる}}、{{おくりがな2|上|あ|がる|あがる}}、[[上昇]]する。
{{pt-conj|ascend|er}}
===={{syn}}====
* {{l|pt|subir}}, {{l|pt|alçar}}
===={{rel}}====
* {{l|pt|ascensão}}
* {{l|pt|descender}}
jkauxtz7sdc7gowpvggj6zm9hl4fm72
oscurecer
0
378233
2281313
1708169
2026-06-09T11:33:24Z
Kuroco2k
84207
2281313
wikitext
text/x-wiki
=={{L|es}}==
==={{alter}}===
* {{l|es|obscurecer}}
==={{etym}}===
{{suffix+|oscuro|ecer|lang=es}}
==={{pron}}===
{{es-IPA}}
* {{音声|es|LL-Q1321 (spa)-AdrianAbdulBaha-oscurecer.wav|音声(コロンビア)}}
==={{verb}}===
{{es-verb}}
#{{おくりがな2|暗|くら|く|くらい}}する、{{おくりがな2|曇|くも|ら|くもる}}せる。
===={{conjug}}====
{{es-conj}}
===={{drv}}====
* {{l|es|oscurecimiento}}
5j4q7s0dy9gqz4fcaewgwto00xn5qb2
levigar
0
378614
2281394
1708995
2026-06-09T11:57:13Z
Kuroco2k
84207
2281394
wikitext
text/x-wiki
=={{L|es}}==
==={{etym}}===
{{etyl|la|es}} {{m|la|lēvigāre}}
==={{pron}}===
{{es-IPA}}
==={{verb}}===
{{es-verb}}
#{{context|transitive|lang=es}}{{おくりがな2|滑|なめ|らか|なめらか}}にする。
===={{conjug}}====
{{es-conj|nocomb=1}}
ep4zli16z1phi09jgddc7c1vh7izier
だいしゃ
0
379858
2281196
1945765
2026-06-09T09:48:18Z
うーむ
129171
/* */
2281196
wikitext
text/x-wiki
{{kana-DEFAULTSORT}}
{{also|たいしゃ|だいじゃ}}
=={{ja}}==
==={{homonym}}===
{{head|ja|同音異義}}
*【[[台車]]】:物を載せて移動させる手押し車。
*【[[代車]]】:自分の車が使用できない時に代わりに使用する車。
*【[[第舎]]】:邸宅。
*【[[題者]]】:出題者。
69s2hwhpwmj222vs0z0fau2neunen6f
ぞうほう
0
379897
2281234
1945789
2026-06-09T11:00:17Z
鍼灸
112313
2281234
wikitext
text/x-wiki
{{kana-DEFAULTSORT}}
{{also|そうほう|そうぼう|ぞうぼう}}
=={{ja}}==
==={{kangokana}}===
{{ja-kangokana|h=y}}
*【[[像法]]】:仏教の区分の一つ。
*【[[増俸]]】:俸給、給料を増やすこと。
3b9lgmuvo620xl6ue5rg46cv2lx3r8h
贯
0
380432
2280909
1834333
2026-06-08T13:30:30Z
M-30722
1202
2280909
wikitext
text/x-wiki
==漢字==
{{kanji|贝|4}}
{{kanji variants|貫=[[繁体字]]}}
===意義===
#[[つらぬく]]、[[とおす]]、[[とおる]]。
#(歴史)財貨を連ねたもの、財貨を連ねる紐、[[ぜにさし]]。
#貨幣の単位。最小単位を1000程度にまとめたもの。
#つらぬきとおったもの、[[すじみち]]。
#[[出身地]]、[[本籍]]。
=={{L|zh}}==
{{zh-cat|guan4|固有名詞|姓|常=1|簡=1}}
{{trans_link|zh|{{PAGENAME}}}}
* '''ローマ字表記'''
** '''[[普通話]]'''
*** '''[[ピンイン]]''':guàn(guan4)
*** '''[[ウェード式]]''':kuan<sup>4</sup>
** '''[[広東語]]'''
*** '''[[イェール式]]''':gun3
** '''[[閩南語]]'''
*** '''[[POJ]]''': kǹg, kùiⁿ, koàn
** '''[[呉語]]'''
*** '''[[ピンイン]]''': kuoe3
==={{pron}}===
*[[file:Zh-guàn.ogg]]
==={{name}}===
#中国人の[[姓]]の一つ。
=={{コード}}==
{{文字コード}}
*[[倉頡入力法]] : 田十月人 (WJBO)
luss2sajbypy9n5vl2h5m7wwnewsv0n
がじょう
0
381069
2280900
1946293
2026-06-08T13:20:18Z
M-30722
1202
2280900
wikitext
text/x-wiki
{{kana-DEFAULTSORT}}
{{also|かしょう|かじょう|がしょう}}
=={{L|ja}}==
==={{kangokana}}===
{{ja-kangokana|h=y}}
*【[[賀状]]】祝賀を表す手紙。
*【[[画帖]]】絵をまとめた冊子。
*【[[牙城]]】本拠。
6yws7pwck9z4mkkho5apeig0wdfasfu
maligning
0
381133
2280977
1714630
2026-06-08T15:07:24Z
M-30722
1202
2280977
wikitext
text/x-wiki
=={{L|en}}==
==={{verb}}===
{{head|en|verb form}}
#[[malign]]の動名詞又は現在分詞。
baeumo5u7dfhm3jtg92ytv0y3v25ln6
surgir
0
382049
2281342
1716377
2026-06-09T11:43:23Z
Kuroco2k
84207
2281342
wikitext
text/x-wiki
=={{L|es}}==
==={{etym}}===
{{etyl|la|es}} {{m|la|surgere}}
==={{pron}}===
{{es-IPA}}
* {{音声|es|LL-Q1321 (spa)-AdrianAbdulBaha-surgir.wav|音声(コロンビア)}}
==={{verb}}===
{{es-verb}}
#{{context|intransitive|lang=es}}{{おくりがな2|現|あらわ|れる|あらわれる}}、[[出現]]する。
#{{context|intransitive|lang=es}}{{おくりがな3|噴|ふ|き|出|だ|す|ふきだす}}。
#{{context|intransitive|lang=es}}{{おくりがな2|起|お|こる|おこる}}、[[生じる]]。
===={{conjug}}====
{{es-conj}}
===={{syn}}====
* {{l|es|aparecer}}
===={{drv}}====
* {{l|es|surgidero}}
* {{l|es|surgidor}}
* {{l|es|surgimiento}}
===={{rel}}====
* {{l|es|resurgir}}
* {{l|es|surgencia}}
* {{l|es|surto}}
----
=={{L|fr}}==
==={{etym}}===
{{bor|fr|la|surgere}}
==={{pron}}===
* {{fr-IPA}}
* {{音声|fr|Fr-surgir.ogg|音声}}
==={{verb}}===
{{fr-verb}}
#{{context|intransitive|lang=fr}}{{おくりがな2|現|あらわ|れる|あらわれる}}、[[出現]]する。
#{{context|intransitive|lang=fr}}{{おくりがな2|起|お|こる|おこる}}、[[生じる]]。
===={{conjugation}}====
{{fr-conj-auto}}
----
=={{L|pt}}==
==={{etym}}===
{{etyl|la|pt}} {{m|la|surgere}}
==={{pron}}===
{{pt-IPA}}
==={{verb}}===
{{pt-verb|sur|gir}}
#{{おくりがな2|現|あらわ|れる|あらわれる}}、[[出現]]する。
#{{おくりがな2|起|お|こる|おこる}}、[[生じる]]。
{{pt-conj|sur|gir}}
===={{syn}}====
* {{l|pt|aparecer}}, {{l|pt|exsurgir}}
h6u8jq7dcaqczilsuqjv60tfj395o59
indizar
0
382387
2281331
1717178
2026-06-09T11:39:11Z
Kuroco2k
84207
2281331
wikitext
text/x-wiki
=={{L|es}}==
==={{alter}}===
* {{l|es|indexar}}
==={{pron}}===
{{es-IPA}}
==={{verb}}===
{{es-verb}}
#{{context|transitive|lang=es}}[[目次]]を付ける。
===={{conjug}}====
{{es-conj|nocomb=1}}
ak1ieh0xxi30ax9t890ivq8a7ar2kwm
がんせい
0
389740
2281087
1949694
2026-06-09T01:25:31Z
うーむ
129171
/* */
2281087
wikitext
text/x-wiki
{{kana-DEFAULTSORT}}
{{also|かんせい|かんぜい}}
=={{ja}}==
==={{homonym}}===
{{head|ja|同音異義}}
*【[[眼精]]・[[眼勢]]・[[眼睛]]】:目付き。眼力。
*【[[巌棲]]・[[巌栖]]】:巌窟の中に棲むこと。
2fd4dsj8o0u8mwj3ntyk82v1ajj2z6l
2281319
2281087
2026-06-09T11:37:17Z
M-30722
1202
2281319
wikitext
text/x-wiki
{{kana-DEFAULTSORT}}
{{also|かんせい|かんぜい}}
=={{L|ja}}==
==={{kangokana}}===
{{ja-kangokana|h=y}}
*【[[眼精]]・[[眼勢]]・[[眼睛]]】目付き。眼力。
*【[[巌棲]]・[[巌栖]]】巌窟の中に棲むこと。
48zdfvf67lftgdgl4uho717ocpg718a
れいく
0
397938
2280943
1952561
2026-06-08T14:01:53Z
M-30722
1202
2280943
wikitext
text/x-wiki
{{kana-DEFAULTSORT}}
=={{L|ja}}==
==={{kangokana}}===
{{ja-kangokana|h=y}}
*【[[例句]]】[[歳時記]]などで[[季語]]の[[使用]]例として示される[[俳句]]。
*【[[霊区]]】霊域。霊場。
*【[[麗句]]】飾られた言葉。
*【[[儷句]]】対句。
pp7i99vs36s5roy1bfnv797jkfqtc4r
desafiar
0
397972
2281285
1755593
2026-06-09T11:20:15Z
Kuroco2k
84207
2281285
wikitext
text/x-wiki
=={{L|ast}}==
==={{verb}}===
{{ast-verb-ar|desafi}}
#{{おくりがな2|挑|いど|む|いどむ}}、[[挑戦]]する。
{{ast-conj-ar|desafi}}
===={{syn}}====
* {{l|ast|retar}}
===={{rel}}====
* {{l|ast|desafíu}}
----
=={{L|ca}}==
==={{etym}}===
{{prefix|des|afiar|lang=ca}}, {{m|ca|afidar}}
==={{pron}}===
* {{ca-IPA}}
==={{verb}}===
{{ca-verb|ar|desafi}}
#{{おくりがな2|挑|いど|む|いどむ}}、[[挑戦]]する。
{{ca-conj-ar|desafi}}
===={{drv}}====
* {{l|ca|desafiador}}
* {{l|ca|desafiament}}
* {{l|ca|desafiu}}
----
=={{L|es}}==
==={{etym}}===
{{prefix|des|afiar|lang=es}}
==={{pron}}===
{{es-IPA}}
==={{verb}}===
{{es-verb}}
#{{context|transitive|lang=es}}{{おくりがな2|挑|いど|む|いどむ}}、[[挑戦]]する。
#{{context|transitive|lang=es}}[[挑発]]する。
#{{context|transitive|lang=es}}{{おくりがな3|立|た|ち|向|む|かう|たちむかう}}。
===={{conjug}}====
{{es-conj|<í>}}
===={{syn}}====
* {{l|es|retar}}
===={{drv}}====
* {{l|es|desafiador}}
* {{l|es|desafiamiento}}
* {{l|es|desafiante}}
* {{l|es|desafío}}
----
=={{L|pt}}==
==={{etym}}===
{{m|pt|des-}} + {{m|pt|a-}} + {{m|pt|fiar}}
==={{verb}}===
{{pt-verb}}
#{{おくりがな2|挑|いど|む|いどむ}}、[[挑戦]]する。
{{pt-conj|desafi|ar}}
===={{rel}}====
* {{l|pt|desafio}}
0kjuhsn6c241wixdhmsib3qdy2vyu7z
Gewächs
0
406248
2280961
1775100
2026-06-08T14:33:15Z
M-30722
1202
2280961
wikitext
text/x-wiki
{{DEFAULTSORT:gewachs}}
=={{L|de}}==
==={{etym}}===
{{etyl|gmh|de}} {{m|gmh|gewehse}}
==={{pron}}===
* {{IPA|lang=de|ɡəˈvɛks}}
* {{音声|de|De-Gewächs.ogg|音声}}
==={{noun}}===
{{de-noun|g=n|Gewächses|Gewächse}}
#{{topcat|de|植物}}[[植物]]。
#:{{syn|de|Pflanze}}
#{{タグ|de|腫瘍学|古用法}}[[腫瘍]]。
#:{{syn|de|Geschwür|Geschwulst|Wucherung|Tumor}}
{{de-decl-noun-n|es|e}}
===={{drv}}====
{{top}}
* {{l|de|Gewächsart}}
* {{l|de|gewächsartig}}
* {{l|de|Gewächshaus}}
* {{l|de|Asterngewächs}}
* {{l|de|Eigengewächs}}
* {{l|de|Farngewächs}}
* {{l|de|Gartengewächs}}
* {{l|de|Geißblattgewächs}}
* {{l|de|Großes Gewächs}}
* {{l|de|Hahnenfußgewächs}}
* {{l|de|Heilgewächs}}
* {{l|de|Johannisbrotgewächs}}
* {{l|de|Korbblütengewächs}}
* {{l|de|Kulturgewächs}}
* {{l|de|Lippenblütengewächs}}
* {{l|de|Mimosengewächs}}
* {{l|de|Pilzgewächs}}
* {{l|de|Rautengewächs}}
* {{l|de|Rosengewächs}}
* {{l|de|Schmetterlingsblütengewächs}}
* {{l|de|Schwertliliengewächs}}
* {{l|de|Wiesengewächs}}
* {{l|de|Wildgewächs}}
* {{l|de|Ziergewächs}}
{{bottom}}
cnap0febd8n96njy6nnzuzmf0us3iwg
カテゴリ:外来語
14
417697
2281362
1800409
2026-06-09T11:50:51Z
M-30722
1202
sakujo
2281362
wikitext
text/x-wiki
{| class="sakujo" style="border:solid gray 1px; padding:0 0.5em; margin:1ex auto; font-size: small; width:80%"
|-
| [[ファイル:Icono aviso borrar.svg|50px|削除依頼に提出されています]]
|
このページは'''[[Wiktionary:削除の方針|削除の方針]]'''に従い'''[[Wiktionary:削除依頼|削除依頼]]'''に出されています。[[{{TALKSPACE}}:{{PAGENAME}}|このページのノート]]も参照してください。
この項目の削除可否についての議論が<span class="sakujo-request">[[Wiktionary:削除依頼/2023年8月/外来語関連のカテゴリ|該当する削除依頼]]</span>で進行中です。
この項目は'''まだ削除されていません'''。削除に異議のある方は<span class="sakujo-request">[[Wiktionary:削除依頼/2023年8月/外来語関連のカテゴリ|該当する削除依頼]]</span>に是非ご参加ください。該当する削除依頼が終了するまで'''このメッセージを剥がさないでください。'''
[[カテゴリ:削除依頼中のページ]]
|}
1ufr6kk8tb38jr9xoi6icai2ff9oc1s
カテゴリ:朝鮮語 外来語
14
417704
2281395
1800491
2026-06-09T11:57:29Z
M-30722
1202
sakujo
2281395
wikitext
text/x-wiki
{| class="sakujo" style="border:solid gray 1px; padding:0 0.5em; margin:1ex auto; font-size: small; width:80%"
|-
| [[ファイル:Icono aviso borrar.svg|50px|削除依頼に提出されています]]
|
このページは'''[[Wiktionary:削除の方針|削除の方針]]'''に従い'''[[Wiktionary:削除依頼|削除依頼]]'''に出されています。[[{{TALKSPACE}}:{{PAGENAME}}|このページのノート]]も参照してください。
この項目の削除可否についての議論が<span class="sakujo-request">[[Wiktionary:削除依頼/2023年8月/外来語関連のカテゴリ|該当する削除依頼]]</span>で進行中です。
この項目は'''まだ削除されていません'''。削除に異議のある方は<span class="sakujo-request">[[Wiktionary:削除依頼/2023年8月/外来語関連のカテゴリ|該当する削除依頼]]</span>に是非ご参加ください。該当する削除依頼が終了するまで'''このメッセージを剥がさないでください。'''
[[カテゴリ:削除依頼中のページ]]
|}
1ufr6kk8tb38jr9xoi6icai2ff9oc1s
カテゴリ:英語 外来語
14
417714
2281396
1800524
2026-06-09T11:57:49Z
M-30722
1202
sakujo
2281396
wikitext
text/x-wiki
{| class="sakujo" style="border:solid gray 1px; padding:0 0.5em; margin:1ex auto; font-size: small; width:80%"
|-
| [[ファイル:Icono aviso borrar.svg|50px|削除依頼に提出されています]]
|
このページは'''[[Wiktionary:削除の方針|削除の方針]]'''に従い'''[[Wiktionary:削除依頼|削除依頼]]'''に出されています。[[{{TALKSPACE}}:{{PAGENAME}}|このページのノート]]も参照してください。
この項目の削除可否についての議論が<span class="sakujo-request">[[Wiktionary:削除依頼/2023年8月/外来語関連のカテゴリ|該当する削除依頼]]</span>で進行中です。
この項目は'''まだ削除されていません'''。削除に異議のある方は<span class="sakujo-request">[[Wiktionary:削除依頼/2023年8月/外来語関連のカテゴリ|該当する削除依頼]]</span>に是非ご参加ください。該当する削除依頼が終了するまで'''このメッセージを剥がさないでください。'''
[[カテゴリ:削除依頼中のページ]]
|}
1ufr6kk8tb38jr9xoi6icai2ff9oc1s
カテゴリ:客家語 外来語
14
417806
2281389
1800822
2026-06-09T11:56:03Z
M-30722
1202
sakujo
2281389
wikitext
text/x-wiki
{| class="sakujo" style="border:solid gray 1px; padding:0 0.5em; margin:1ex auto; font-size: small; width:80%"
|-
| [[ファイル:Icono aviso borrar.svg|50px|削除依頼に提出されています]]
|
このページは'''[[Wiktionary:削除の方針|削除の方針]]'''に従い'''[[Wiktionary:削除依頼|削除依頼]]'''に出されています。[[{{TALKSPACE}}:{{PAGENAME}}|このページのノート]]も参照してください。
この項目の削除可否についての議論が<span class="sakujo-request">[[Wiktionary:削除依頼/2023年8月/外来語関連のカテゴリ|該当する削除依頼]]</span>で進行中です。
この項目は'''まだ削除されていません'''。削除に異議のある方は<span class="sakujo-request">[[Wiktionary:削除依頼/2023年8月/外来語関連のカテゴリ|該当する削除依頼]]</span>に是非ご参加ください。該当する削除依頼が終了するまで'''このメッセージを剥がさないでください。'''
[[カテゴリ:削除依頼中のページ]]
|}
1ufr6kk8tb38jr9xoi6icai2ff9oc1s
カテゴリ:閩南語 外来語
14
417823
2281392
1800884
2026-06-09T11:56:52Z
M-30722
1202
sakujo
2281392
wikitext
text/x-wiki
{| class="sakujo" style="border:solid gray 1px; padding:0 0.5em; margin:1ex auto; font-size: small; width:80%"
|-
| [[ファイル:Icono aviso borrar.svg|50px|削除依頼に提出されています]]
|
このページは'''[[Wiktionary:削除の方針|削除の方針]]'''に従い'''[[Wiktionary:削除依頼|削除依頼]]'''に出されています。[[{{TALKSPACE}}:{{PAGENAME}}|このページのノート]]も参照してください。
この項目の削除可否についての議論が<span class="sakujo-request">[[Wiktionary:削除依頼/2023年8月/外来語関連のカテゴリ|該当する削除依頼]]</span>で進行中です。
この項目は'''まだ削除されていません'''。削除に異議のある方は<span class="sakujo-request">[[Wiktionary:削除依頼/2023年8月/外来語関連のカテゴリ|該当する削除依頼]]</span>に是非ご参加ください。該当する削除依頼が終了するまで'''このメッセージを剥がさないでください。'''
[[カテゴリ:削除依頼中のページ]]
|}
1ufr6kk8tb38jr9xoi6icai2ff9oc1s
Wiktionary:削除依頼/2023年8月/外来語関連のカテゴリ
4
417830
2281375
2212200
2026-06-09T11:51:38Z
M-30722
1202
/* 外来語関連のカテゴリ */
2281375
wikitext
text/x-wiki
===外来語関連のカテゴリ===
他言語から入ってきた語には現在では「〇〇語由来」や「借用語」などのカテゴリが使われており、現在では新たに付けられることがなくなったカテゴリ。[[カテゴリ・トーク:他言語由来|カテゴリの議論]]により、処理が完了したものから順次「他言語由来」に改められ、また、借用語などとの混同のためか時々誤って当カテゴリが付けられるケースが見られ混乱を生じていることから処理が終わったものから順次削除をお願いします。現在以下のカテゴリの処理が完了しております。
*[[:カテゴリ:英語 外来語]]
*[[:カテゴリ:スロヴァキア語 外来語]]
*[[:カテゴリ:朝鮮語 外来語]]
*[[:カテゴリ:客家語 外来語]]
*[[:カテゴリ:フランス語 外来語]]
*[[:カテゴリ:閩南語 外来語]]
*[[:カテゴリ:ヤミ語 外来語]]
--[[利用者:M-30722|M-30722]] ([[利用者・トーク:M-30722|トーク]]) 2023年8月8日 (火) 16:16 (UTC)
:<del><nowiki>{{削除}}</nowiki></del> カテゴリページのリダイレクトは相当な理由がない限り全削除が妥当。 --[[利用者:Naggy Nagumo|Naggy Nagumo]] ([[利用者・トーク:Naggy Nagumo|トーク]]) 2023年8月10日 (木) 10:24 (UTC)
::(追加)以下のカテゴリも処理完了しましたので合わせて削除を依頼します。
::*[[:カテゴリ:スペイン語 外来語]]
::*[[:カテゴリ:ロシア語 外来語]]
::*[[:カテゴリ:閩東語 外来語]]
::*[[:カテゴリ:広東語 外来語]]
::*[[:カテゴリ:呉語 外来語]]
::*[[:カテゴリ:中国語 外来語]]
--[[利用者:M-30722|M-30722]] ([[利用者・トーク:M-30722|トーク]]) 2023年8月15日 (火) 12:33 (UTC)
:('''即時削除''') ページの移動後に残るリダイレクトで、他ページからの被リンクが無いもの--[[利用者:Naggy Nagumo|Naggy Nagumo]] ([[利用者・トーク:Naggy Nagumo|トーク]]) 2026年4月4日 (土) 03:17 (UTC)
::(追加)以下のカテゴリも処理完了しました。
::*[[:カテゴリ:パラオ語 外来語]]
::*[[:カテゴリ:タイ語 外来語]]
::*[[:カテゴリ:ラーオ語 外来語]]
::*[[:カテゴリ:日本語 外来語]]
::おそらくこれで全ての外来語カテゴリの処理が完了したと思いますのでこれらの上位カテゴリである[[:カテゴリ:外来語]]の削除もお願いできればと思います。 --[[利用者:M-30722|M-30722]] ([[利用者・トーク:M-30722|トーク]]) 2026年6月9日 (火) 11:51 (UTC)
e1oi4rqb4h1v88wquvuft2jr41q3npu
danzar
0
417963
2281288
1801187
2026-06-09T11:20:17Z
Kuroco2k
84207
2281288
wikitext
text/x-wiki
=={{L|gl}}==
==={{verb}}===
{{gl-verb|danz|ar|pret=dancei}}
#{{context|dance|lang=gl}}{{おくりがな2|踊|おど|る|おどる}}。
{{gl-conj-car|danz|danc}}
===={{rel}}====
* {{l|gl|danzo}}
----
=={{L|es}}==
==={{etym}}===
{{etyl|osp|es}} {{m|osp|dançar}} < {{etyl|fro|es}} {{m|fro|dancier}}
==={{pron}}===
{{es-IPA}}
==={{verb}}===
{{es-verb}}
#{{context|intransitive|transitive|dance|lang=es}}{{おくりがな2|踊|おど|る|おどる}}。
===={{conjug}}====
{{es-conj}}
===={{syn}}====
* {{l|es|bailar}}
===={{drv}}====
* {{l|es|danza}}
* {{l|es|danzador}}
kkl3sf9cw5mxiv0qn1qpi5h0wn24glz
カテゴリ:スペイン語 外来語
14
418023
2281398
1801277
2026-06-09T11:58:27Z
M-30722
1202
sakujo
2281398
wikitext
text/x-wiki
{| class="sakujo" style="border:solid gray 1px; padding:0 0.5em; margin:1ex auto; font-size: small; width:80%"
|-
| [[ファイル:Icono aviso borrar.svg|50px|削除依頼に提出されています]]
|
このページは'''[[Wiktionary:削除の方針|削除の方針]]'''に従い'''[[Wiktionary:削除依頼|削除依頼]]'''に出されています。[[{{TALKSPACE}}:{{PAGENAME}}|このページのノート]]も参照してください。
この項目の削除可否についての議論が<span class="sakujo-request">[[Wiktionary:削除依頼/2023年8月/外来語関連のカテゴリ|該当する削除依頼]]</span>で進行中です。
この項目は'''まだ削除されていません'''。削除に異議のある方は<span class="sakujo-request">[[Wiktionary:削除依頼/2023年8月/外来語関連のカテゴリ|該当する削除依頼]]</span>に是非ご参加ください。該当する削除依頼が終了するまで'''このメッセージを剥がさないでください。'''
[[カテゴリ:削除依頼中のページ]]
|}
1ufr6kk8tb38jr9xoi6icai2ff9oc1s
カテゴリ:ロシア語 外来語
14
418037
2281397
1801340
2026-06-09T11:58:07Z
M-30722
1202
sakujo
2281397
wikitext
text/x-wiki
{| class="sakujo" style="border:solid gray 1px; padding:0 0.5em; margin:1ex auto; font-size: small; width:80%"
|-
| [[ファイル:Icono aviso borrar.svg|50px|削除依頼に提出されています]]
|
このページは'''[[Wiktionary:削除の方針|削除の方針]]'''に従い'''[[Wiktionary:削除依頼|削除依頼]]'''に出されています。[[{{TALKSPACE}}:{{PAGENAME}}|このページのノート]]も参照してください。
この項目の削除可否についての議論が<span class="sakujo-request">[[Wiktionary:削除依頼/2023年8月/外来語関連のカテゴリ|該当する削除依頼]]</span>で進行中です。
この項目は'''まだ削除されていません'''。削除に異議のある方は<span class="sakujo-request">[[Wiktionary:削除依頼/2023年8月/外来語関連のカテゴリ|該当する削除依頼]]</span>に是非ご参加ください。該当する削除依頼が終了するまで'''このメッセージを剥がさないでください。'''
[[カテゴリ:削除依頼中のページ]]
|}
1ufr6kk8tb38jr9xoi6icai2ff9oc1s
カテゴリ:閩東語 外来語
14
419495
2281391
1804867
2026-06-09T11:56:29Z
M-30722
1202
sakujo
2281391
wikitext
text/x-wiki
{| class="sakujo" style="border:solid gray 1px; padding:0 0.5em; margin:1ex auto; font-size: small; width:80%"
|-
| [[ファイル:Icono aviso borrar.svg|50px|削除依頼に提出されています]]
|
このページは'''[[Wiktionary:削除の方針|削除の方針]]'''に従い'''[[Wiktionary:削除依頼|削除依頼]]'''に出されています。[[{{TALKSPACE}}:{{PAGENAME}}|このページのノート]]も参照してください。
この項目の削除可否についての議論が<span class="sakujo-request">[[Wiktionary:削除依頼/2023年8月/外来語関連のカテゴリ|該当する削除依頼]]</span>で進行中です。
この項目は'''まだ削除されていません'''。削除に異議のある方は<span class="sakujo-request">[[Wiktionary:削除依頼/2023年8月/外来語関連のカテゴリ|該当する削除依頼]]</span>に是非ご参加ください。該当する削除依頼が終了するまで'''このメッセージを剥がさないでください。'''
[[カテゴリ:削除依頼中のページ]]
|}
1ufr6kk8tb38jr9xoi6icai2ff9oc1s
カテゴリ:呉語 外来語
14
419501
2281379
1804925
2026-06-09T11:55:40Z
M-30722
1202
sakujo
2281379
wikitext
text/x-wiki
{| class="sakujo" style="border:solid gray 1px; padding:0 0.5em; margin:1ex auto; font-size: small; width:80%"
|-
| [[ファイル:Icono aviso borrar.svg|50px|削除依頼に提出されています]]
|
このページは'''[[Wiktionary:削除の方針|削除の方針]]'''に従い'''[[Wiktionary:削除依頼|削除依頼]]'''に出されています。[[{{TALKSPACE}}:{{PAGENAME}}|このページのノート]]も参照してください。
この項目の削除可否についての議論が<span class="sakujo-request">[[Wiktionary:削除依頼/2023年8月/外来語関連のカテゴリ|該当する削除依頼]]</span>で進行中です。
この項目は'''まだ削除されていません'''。削除に異議のある方は<span class="sakujo-request">[[Wiktionary:削除依頼/2023年8月/外来語関連のカテゴリ|該当する削除依頼]]</span>に是非ご参加ください。該当する削除依頼が終了するまで'''このメッセージを剥がさないでください。'''
[[カテゴリ:削除依頼中のページ]]
|}
1ufr6kk8tb38jr9xoi6icai2ff9oc1s
カテゴリ:中国語 外来語
14
419537
2281378
1805064
2026-06-09T11:54:57Z
M-30722
1202
sakujo
2281378
wikitext
text/x-wiki
{| class="sakujo" style="border:solid gray 1px; padding:0 0.5em; margin:1ex auto; font-size: small; width:80%"
|-
| [[ファイル:Icono aviso borrar.svg|50px|削除依頼に提出されています]]
|
このページは'''[[Wiktionary:削除の方針|削除の方針]]'''に従い'''[[Wiktionary:削除依頼|削除依頼]]'''に出されています。[[{{TALKSPACE}}:{{PAGENAME}}|このページのノート]]も参照してください。
この項目の削除可否についての議論が<span class="sakujo-request">[[Wiktionary:削除依頼/2023年8月/外来語関連のカテゴリ|該当する削除依頼]]</span>で進行中です。
この項目は'''まだ削除されていません'''。削除に異議のある方は<span class="sakujo-request">[[Wiktionary:削除依頼/2023年8月/外来語関連のカテゴリ|該当する削除依頼]]</span>に是非ご参加ください。該当する削除依頼が終了するまで'''このメッセージを剥がさないでください。'''
[[カテゴリ:削除依頼中のページ]]
|}
1ufr6kk8tb38jr9xoi6icai2ff9oc1s
カテゴリ:イタリア語 外来語
14
419815
2281399
1805841
2026-06-09T11:58:58Z
M-30722
1202
sakujo
2281399
wikitext
text/x-wiki
{| class="sakujo" style="border:solid gray 1px; padding:0 0.5em; margin:1ex auto; font-size: small; width:80%"
|-
| [[ファイル:Icono aviso borrar.svg|50px|削除依頼に提出されています]]
|
このページは'''[[Wiktionary:削除の方針|削除の方針]]'''に従い'''[[Wiktionary:削除依頼|削除依頼]]'''に出されています。[[{{TALKSPACE}}:{{PAGENAME}}|このページのノート]]も参照してください。
この項目の削除可否についての議論が<span class="sakujo-request">[[Wiktionary:削除依頼/2023年8月/外来語関連のカテゴリ|該当する削除依頼]]</span>で進行中です。
この項目は'''まだ削除されていません'''。削除に異議のある方は<span class="sakujo-request">[[Wiktionary:削除依頼/2023年8月/外来語関連のカテゴリ|該当する削除依頼]]</span>に是非ご参加ください。該当する削除依頼が終了するまで'''このメッセージを剥がさないでください。'''
[[カテゴリ:削除依頼中のページ]]
|}
1ufr6kk8tb38jr9xoi6icai2ff9oc1s
カテゴリ:日本語 外来語
14
420218
2281358
1806941
2026-06-09T11:46:52Z
M-30722
1202
sakujo
2281358
wikitext
text/x-wiki
{| class="sakujo" style="border:solid gray 1px; padding:0 0.5em; margin:1ex auto; font-size: small; width:80%"
|-
| [[ファイル:Icono aviso borrar.svg|50px|削除依頼に提出されています]]
|
このページは'''[[Wiktionary:削除の方針|削除の方針]]'''に従い'''[[Wiktionary:削除依頼|削除依頼]]'''に出されています。[[{{TALKSPACE}}:{{PAGENAME}}|このページのノート]]も参照してください。
この項目の削除可否についての議論が<span class="sakujo-request">[[Wiktionary:削除依頼/2023年8月/外来語関連のカテゴリ|該当する削除依頼]]</span>で進行中です。
この項目は'''まだ削除されていません'''。削除に異議のある方は<span class="sakujo-request">[[Wiktionary:削除依頼/2023年8月/外来語関連のカテゴリ|該当する削除依頼]]</span>に是非ご参加ください。該当する削除依頼が終了するまで'''このメッセージを剥がさないでください。'''
[[カテゴリ:削除依頼中のページ]]
|}
1ufr6kk8tb38jr9xoi6icai2ff9oc1s
カテゴリ:タイ語 外来語
14
420830
2281357
1808426
2026-06-09T11:46:30Z
M-30722
1202
sakujo
2281357
wikitext
text/x-wiki
{| class="sakujo" style="border:solid gray 1px; padding:0 0.5em; margin:1ex auto; font-size: small; width:80%"
|-
| [[ファイル:Icono aviso borrar.svg|50px|削除依頼に提出されています]]
|
このページは'''[[Wiktionary:削除の方針|削除の方針]]'''に従い'''[[Wiktionary:削除依頼|削除依頼]]'''に出されています。[[{{TALKSPACE}}:{{PAGENAME}}|このページのノート]]も参照してください。
この項目の削除可否についての議論が<span class="sakujo-request">[[Wiktionary:削除依頼/2023年8月/外来語関連のカテゴリ|該当する削除依頼]]</span>で進行中です。
この項目は'''まだ削除されていません'''。削除に異議のある方は<span class="sakujo-request">[[Wiktionary:削除依頼/2023年8月/外来語関連のカテゴリ|該当する削除依頼]]</span>に是非ご参加ください。該当する削除依頼が終了するまで'''このメッセージを剥がさないでください。'''
[[カテゴリ:削除依頼中のページ]]
|}
1ufr6kk8tb38jr9xoi6icai2ff9oc1s
カテゴリ:パラオ語 外来語
14
420832
2281356
1808636
2026-06-09T11:46:05Z
M-30722
1202
sakujo
2281356
wikitext
text/x-wiki
{| class="sakujo" style="border:solid gray 1px; padding:0 0.5em; margin:1ex auto; font-size: small; width:80%"
|-
| [[ファイル:Icono aviso borrar.svg|50px|削除依頼に提出されています]]
|
このページは'''[[Wiktionary:削除の方針|削除の方針]]'''に従い'''[[Wiktionary:削除依頼|削除依頼]]'''に出されています。[[{{TALKSPACE}}:{{PAGENAME}}|このページのノート]]も参照してください。
この項目の削除可否についての議論が<span class="sakujo-request">[[Wiktionary:削除依頼/2023年8月/外来語関連のカテゴリ|該当する削除依頼]]</span>で進行中です。
この項目は'''まだ削除されていません'''。削除に異議のある方は<span class="sakujo-request">[[Wiktionary:削除依頼/2023年8月/外来語関連のカテゴリ|該当する削除依頼]]</span>に是非ご参加ください。該当する削除依頼が終了するまで'''このメッセージを剥がさないでください。'''
[[カテゴリ:削除依頼中のページ]]
|}
1ufr6kk8tb38jr9xoi6icai2ff9oc1s
wrath
0
428577
2281038
1823821
2026-06-08T16:57:06Z
M-30722
1202
2281038
wikitext
text/x-wiki
{{also|wraþ|wrað}}
=={{L|en}}==
==={{etym}}===
*{{etyl|enm}} {{m|enm|wraththe}}, {{m|enm|wreththe}} < {{etyl|ang}} {{m|ang|wrǣþþu}} < {{etyl|gmw-pro}} {{m|gmw-pro|*wraiþiþu}}
*{{affix|en|wroth|-th}}
==={{pron}}===
* {{a|RP}} {{IPA|lang=en|ɹɒθ|ɹɔːθ}}
** {{rhymes|lang=en|ɒθ|ɔːθ|s1=1}}
** {{homophones|lang=en|wroth}}
* {{a|GA}} {{IPA|ɹæθ}}
** {{音声|en|en-us-wrath.ogg|a=米}}
** {{rhymes|lang=en|æθ|s=1}}
* {{a|NZ}} {{IPA|lang=en|ɹæθ|ɹɔθ}}
==={{noun}}===
{{en-noun|-|s}}
#{{context|formal|old-fashioned|lang=en}}[[激怒]]、[[憤怒]]。
#{{context|rare|lang=en}}[[懲罰]]。
===={{syn}}====
* {{l|en|fury}}, {{l|en|ire}}
===={{drv}}====
* {{l|en|grapes of wrath}}
* {{l|en|wrathful}}
===={{rel}}====
* {{l|en|wroth}}
==={{adjective}}===
{{en-adj}}
#激怒した。
==={{verb}}===
{{en-verb}}
#{{context|obsolete|EME|lang=en}}激怒する。
==={{anag}}===
* {{anagrams|en|a=ahrtw|Warth|warth}}
1dp6wa97f83wxkp2emuyv65fo2irjz9
sugerir
0
429483
2281343
1825293
2026-06-09T11:43:24Z
Kuroco2k
84207
2281343
wikitext
text/x-wiki
=={{L|vec}}==
==={{alter}}===
* [[sujerir]]
==={{etym}}===
{{etyl|la|vec}} {{m|la|suggerere}}
==={{verb}}===
{{head|vec|verb}}
#{{context|transitive|lang=vec}}[[提案]]する。
#{{context|transitive|lang=vec}}[[示唆]]する、[[暗示]]する。
{{vec-conj-auto}}
----
=={{L|es}}==
==={{etym}}===
{{etyl|la|es}} {{m|la|suggerere}}
==={{pron}}===
{{es-IPA}}
==={{verb}}===
{{es-verb}}
#[[提案]]する。
#[[示唆]]する、[[暗示]]する。
===={{conjug}}====
{{es-conj|<ie-i>}}
===={{rel}}====
* {{l|es|sugerencia}}
===={{rel}}====
* {{l|es|sugestión}}
* {{l|es|sugestivo}}
----
=={{L|pt}}==
==={{etym}}===
{{etyl|la|pt}} {{m|la|suggerere}}
==={{pron}}===
{{pt-IPA}}
* {{homophones|lang=pt|sugeri}}
* {{hyph|pt|su|ge|rir}}
==={{verb}}===
{{pt-verb}}
#[[提案]]する。
#[[示唆]]する、[[暗示]]する。
{{pt-conj|sug|erir}}
glz2krwdes8lz3pj3f10z9z4e90rk1w
converger
0
429958
2281261
1826311
2026-06-09T11:12:42Z
Kuroco2k
84207
2281261
wikitext
text/x-wiki
=={{L|en}}==
==={{etym}}===
{{-er|converge}}
==={{noun}}===
{{en-noun}}
#[[集中的]][[思考]]ができる人。
----
=={{L|es}}==
==={{etym}}===
{{etyl|la|es}} {{m|la|convergere}}
==={{pron}}===
{{es-IPA}}
==={{verb}}===
{{es-verb}}
#(一箇所に){{おくりがな2|集|あつ|まる|あつまる}}、[[集中]]する。
#(意見などが)[[一致]]する。
===={{conjug}}====
{{es-conj}}
===={{rel}}====
* {{l|es|convergencia}}
* {{l|es|convergente}}
----
=={{L|fr}}==
==={{etym}}===
{{etyl|la|fr}} {{m|la|convergere}}
==={{pron}}===
* {{fr-IPA}}
* {{音声|fr|LL-Q150 (fra)-DSwissK-converger.wav|音声}}
==={{verb}}===
{{fr-verb}}
#{{context|intransitive|一箇所に|lang=fr}}{{おくりがな2|集|あつ|まる|あつまる}}、[[集中]]する。
#{{context|intransitive|意見などが|lang=fr}}[[一致]]する。
===={{conjugation}}====
{{fr-conj-auto}}
===={{ant}}====
* {{l|fr|diverger}}
===={{rel}}====
* {{l|fr|convergence}}
* {{l|fr|convergent}}
s0bnkne622e9i3jicjjdcos24pwuxdn
convergir
0
429961
2281260
1826314
2026-06-09T11:12:42Z
Kuroco2k
84207
2281260
wikitext
text/x-wiki
=={{L|ca}}==
==={{etym}}===
{{etyl|la|ca}} {{m|la|convergere}}
==={{pron}}===
* {{ca-IPA}}
==={{verb}}===
{{ca-verb|ir|converg}}
#(一箇所に){{おくりがな2|集|あつ|まる|あつまる}}、[[集中]]する。
#(意見などが)[[一致]]する。
{{ca-conj-ir|converg}}
===={{rel}}====
* {{l|ca|convergència}}
* {{l|ca|convergent}}
----
=={{L|es}}==
==={{pron}}===
{{es-IPA}}
==={{verb}}===
{{es-verb}}
#[[converger]]の異形。
===={{conjug}}====
{{es-conj|nocomb=1}}
----
=={{L|pt}}==
==={{etym}}===
{{bor|pt|la|convergere}}
==={{verb}}===
{{pt-verb}}
#(一箇所に){{おくりがな2|集|あつ|まる|あつまる}}、[[集中]]する。
#(意見などが)[[一致]]する。
===={{rel}}====
* {{l|pt|convergência}}
* {{l|pt|convergente}}
n0x2as4x0l0ecgmzdj0wziamkrfe06n
purgar
0
431372
2281367
1828854
2026-06-09T11:51:10Z
Kuroco2k
84207
2281367
wikitext
text/x-wiki
=={{L|es}}==
==={{etym}}===
{{etyl|la|es}} {{m|la|purgāre}} < {{m|la|pūrus}} + {{m|la|agere}}
==={{pron}}===
{{es-IPA}}
==={{verb}}===
{{es-verb}}
#{{context|transitive|medicine|lang=es}}[[下剤]]をかける。
#{{context|religion|transitive|lang=es}}{{おくりがな2|清|きよ|める|きよめる}}、[[浄化]]する。
#{{context|transitive|lang=es}}[[除去]]する、[[排出]]する、[[放出]]する。
===={{conjug}}====
{{es-conj}}
===={{drv}}====
* {{l|es|purgable}}
* {{l|es|purgación}}
* {{l|es|purgador}}
* {{l|es|purgamiento}}
* {{l|es|purgativo}}
----
=={{L|sh}}==
==={{alter}}===
* {{l|sh|purger}}
==={{etym}}===
{{bor|sh|de|Bürger}}
==={{noun}}===
{{sh-noun+|g=m|head=pȕrgar}}
#[[中産階級]]。
#[[ザグレブ]][[市民]]。
===={{rel}}====
* {{l|sh|građanin}}
----
=={{L|pt}}==
==={{etym}}===
{{etyl|la|pt}} {{m|la|purgāre}} < {{m|la|pūrus}} + {{m|la|agere}}
==={{pron}}===
{{pt-IPA}}
* {{hyphenation|pt|pur|gar}}
==={{verb}}===
{{pt-verb}}
#[[きれい]]にする、[[清浄]]にする、[[除去]]する。
#{{context|religion|lang=pt}}{{おくりがな2|清|きよ|める|きよめる}}、[[浄化]]する。
#{{context|medicine|lang=pt}}[[下剤]]をかける。
{{pt-conj|pur|gar}}
===={{syn}}====
* (語義1) {{l|pt|absolver}}, {{l|pt|redimir}}, {{l|pt|remir}}
===={{rel}}====
{{top}}
* {{l|pt|purga}}
* {{l|pt|purgação}}
* {{l|pt|purgado}}
* {{l|pt|purgador}}
* {{l|pt|purgante}}
* {{l|pt|purgatina}}
* {{l|pt|purgativa}}
* {{l|pt|purgativo}}
* {{l|pt|purgatorial}}
* {{l|pt|purgatório}}
{{bottom}}
nunaux7q63pfdi9f6wg065xfbzwhysn
さいしき
0
433689
2280942
2213702
2026-06-08T14:01:26Z
M-30722
1202
2280942
wikitext
text/x-wiki
{{kana-DEFAULTSORT}}
{{also|さいじき}}
=={{L|ja}}==
==={{kangokana}}===
{{ja-kangokana|h=y}}
*【[[才識]]】才知と識見。
*【[[彩色]]】いろどり。
*【[[祭式]]】祭事の儀式。
jx14uxlpar1r6s472zfk4zus1o6l51u
ほうしゅ
0
435678
2281079
1962841
2026-06-09T01:22:40Z
ふゆくれ
95641
2281079
wikitext
text/x-wiki
{{kana-DEFAULTSORT}}
{{also|ほうじゅ|ぼうしゅ|ぼうじゅ}}
=={{L|ja}}==
==={{kangokana}}===
{{ja-kangokana}}
{{ja-k|法主|t=仏の尊称。|hom=y}}
{{ja-k|砲手|炮手|t=砲を撃つ役の兵士。}}
{{ja-k|法酒|t=正宴。}}
{{ja-k|捧手|t=拱手。}}
{{ja-k|朋酒|t=両樽の酒。}}
{{ja-k|蓬首|t=髪の乱れた頭。}}
{{ja-k|蔀首|t=蔀法の起点。}}
{{ja-k|幫手|t=助手。}}
6478dzv4v2yi4771frdrewf3yd72etj
exhibir
0
436828
2281205
1840268
2026-06-09T10:42:17Z
Kuroco2k
84207
2281205
wikitext
text/x-wiki
=={{L|ia}}==
==={{verb}}===
{{ia-verb|ir}}
#[[展示]]する、{{おくりがな2|見|み|せる|みせる}}。
{{ia-conj|exhib|ir}}
----
=={{L|ca}}==
==={{pron}}===
* {{ca-IPA}}
* {{rhymes|i(ɾ)|s=3}}
==={{verb}}===
{{ca-verb|ir|exhib}}
#[[展示]]する、{{おくりがな2|見|み|せる|みせる}}。
{{ca-conj-ir|exhib}}
===={{rel}}====
* {{l|ca|exhibició}}
----
=={{L|gl}}==
==={{etym}}===
{{etyl|la|gl}} {{m|la|exhibēre}}
==={{verb}}===
{{gl-verb|exhib}}
#[[展示]]する、{{おくりがな2|見|み|せる|みせる}}。
#{{context|reflexive|lang=gl}}{{おくりがな2|見|み|せつける|みせつける}}。
#{{context|reflexive|裸を人前で|lang=gl}}[[露出]]する。
{{gl-conj-ir|exhib}}
===={{rel}}====
* {{l|gl|exhibición}}
==={{seealso}}===
* {{l|gl|mostrar}}
----
=={{L|es}}==
==={{etym}}===
{{etyl|la|es}} {{m|la|exhibēre}}
==={{pron}}===
{{es-IPA}}
==={{verb}}===
{{es-verb}}
#[[展示]]する、{{おくりがな2|見|み|せる|みせる}}。
#{{context|reflexive|lang=es}}{{おくりがな2|見|み|せつける|みせつける}}。
#{{context|reflexive|裸を人前で|lang=es}}[[露出]]する。
===={{conjug}}====
{{es-conj}}
===={{drv}}====
* {{l|es|exhibición}}
==={{seealso}}===
* {{l|es|mostrar}}
7o4s6cweq8cz2zt8xfdnd4ipl4j8if4
atestar
0
439105
2281239
1844702
2026-06-09T11:03:36Z
Kuroco2k
84207
2281239
wikitext
text/x-wiki
=={{L|es}}==
==={{pron}}===
{{es-IPA}}
==={{etym}}1===
{{affix|es|a-|tiesto|-ar}}
===={{verb}}====
{{es-verb}}
#{{おくりがな3|詰|つ|め|込|こ|む|つめこむ}}、{{おくりがな3|埋|う|め|尽|つ|くす|うめつくす}}。
====={{conjug}}=====
{{es-conj|<ie,+>}}
==={{etym}}2===
{{bor|es|la|attestārī}}
===={{verb}}====
{{es-verb}}
#{{context|legal|lang=es}}[[証明]]する、[[証言]]する。
====={{conjug}}=====
{{es-conj|nocomb=1}}
===={{syn}}====
* {{l|es|testificar}}
====={{drv}}=====
* {{l|es|atestado}}
====={{rel}}=====
* {{l|es|atestación}}
* {{l|es|testar}}
----
=={{L|pt}}==
==={{pron}}===
{{pt-IPA}}
==={{etym}}1===
{{bor|pt|la|attestārī}}
===={{verb}}====
{{pt-verb}}
#[[証明]]する、[[証言]]する、[[証拠]]となる。
{{pt-conj|atest|ar}}
====={{rel}}=====
* {{l|pt|atestação}}
* {{l|pt|testar}}
* {{l|pt|contestar}}
* {{l|pt|detestar}}
* {{l|pt|protestar}}
==={{etym}}2===
{{m|pt|testo}}
===={{verb}}====
{{pt-verb}}
#{{おくりがな2|満|み|たす|みたす}}。
{{pt-conj|atest|ar}}
====={{rel}}=====
* {{l|pt|testar}}
s88gg5av0dz93cobvny1xggcmjq2x9o
どかん
0
439624
2281061
1963907
2026-06-09T00:39:02Z
うーむ
129171
/* 漢字表記語の仮名表記 */
2281061
wikitext
text/x-wiki
=={{L|ja}}==
{{kana-DEFAULTSORT}}
==={{adverb}}===
{{ja-adv}} {{context|onomatopoeia|lang=ja}}
:(ときに「と」を後置する)
#大きな物が[[衝突]]したり[[落下]]したりした際の[[おと|音]]を表す語。
#[[破裂]]や[[爆発]]などで出る大きな音を表す語。
#{{context|baseball|lang=ja}}[[ホームラン]]など[[長打]]を放つさま。
#物事が大きく[[変化]]するさま。大きな[[行動]]を起こすさま。
==={{kangokana}}===
{{ja-kangokana}}
*【[[土管]]】:陶磁器製の管。
euuef7pm5mek0uqs2aylrplbybcqmpz
2281071
2281061
2026-06-09T00:47:26Z
うーむ
129171
/* */
2281071
wikitext
text/x-wiki
{{also|とがん}}
=={{L|ja}}==
{{kana-DEFAULTSORT}}
==={{adverb}}===
{{ja-adv}} {{context|onomatopoeia|lang=ja}}
:(ときに「と」を後置する)
#大きな物が[[衝突]]したり[[落下]]したりした際の[[おと|音]]を表す語。
#[[破裂]]や[[爆発]]などで出る大きな音を表す語。
#{{context|baseball|lang=ja}}[[ホームラン]]など[[長打]]を放つさま。
#物事が大きく[[変化]]するさま。大きな[[行動]]を起こすさま。
==={{kangokana}}===
{{ja-kangokana}}
*【[[土管]]】:陶磁器製の管。
i8pr475ykuwvaf8j2xqrslgm98sdkfz
prologar
0
440226
2281366
1847346
2026-06-09T11:51:10Z
Kuroco2k
84207
2281366
wikitext
text/x-wiki
=={{L|es}}==
==={{etym}}===
{{affix|es|prólogo|-ar}}
==={{pron}}===
{{es-IPA}}
==={{verb}}===
{{es-verb}}
#{{context|transitive|lang=es}}[[序文]]を{{おくりがな2|付|つ|ける|つける}}。
===={{conjug}}====
{{es-conj}}
b1d88n23q1cbl8o2u4xpi1fg2plazc0
enviar
0
441928
2281291
1850841
2026-06-09T11:23:39Z
Kuroco2k
84207
2281291
wikitext
text/x-wiki
=={{L|ca}}==
==={{etym}}===
{{etyl|LL.|ca}} {{m|la|inviāre}} < {{etyl|la|ca}} {{m|la|via}}
==={{pron}}===
* {{ca-IPA}}
==={{verb}}===
{{ca-verb|ar|envi}}
#{{context|transitive|lang=ca}}{{おくりがな2|送|おく|る|おくる}}。
#{{context|transitive|pronominal|lang=ca}}{{おくりがな3|飲|の|み|込|こ|む|のみこむ}}。
{{ca-conj-ar|envi}}
===={{syn}}====
* (語義1) {{l|ca|trametre}}
* (語義2) {{l|ca|empassar-se}}
===={{drv}}====
* {{l|ca|enviament}}
* {{l|ca|enviat}}
----
=={{L|gl}}==
==={{etym}}===
{{etyl|roa-opt|gl}} {{m|roa-opt|enviar}} < {{etyl|LL.|gl}} {{m|la|inviāre}} < {{etyl|la|gl}} {{m|la|via}}
==={{pron}}===
* {{IPA|lang=gl|[em.ˈbjaɾ]|[em.ˈbi.aɾ]}}
==={{verb}}===
{{head|gl|verb}}
#{{おくりがな2|送|おく|る|おくる}}。
#{{おくりがな3|飲|の|み|込|こ|む|のみこむ}}。
{{gl-conj-ar|envi}}
===={{syn}}====
* (語義1) {{l|gl|mandar}}
* (語義2) {{l|gl|tragar|trocir}}
===={{rel}}====
* {{l|gl|envío}}
----
=={{L|es}}==
==={{etym}}===
{{etyl|LL.|es}} {{m|la|inviāre}} < {{etyl|la|es}} {{m|la|via}}
==={{pron}}===
{{es-IPA}}
==={{verb}}===
{{es-verb}}
#{{おくりがな2|送|おく|る|おくる}}。
===={{conjug}}====
{{es-conj|<í>}}
===={{syn}}====
* {{l|es|mandar}}
===={{alter}}====
* {{l|es|enbiar}} (廃用)
===={{rel}}====
* {{l|es|envío}}
* {{l|es|enviado}}
----
=={{L|pt}}==
==={{etym}}===
{{etyl|roa-opt|pt}} {{m|roa-opt|enviar}} < {{etyl|LL.|pt}} {{m|la|inviāre}} < {{etyl|la|pt}} {{m|la|via}}
==={{pron}}===
{{pt-IPA}}
* {{hyph|pt|en|vi|ar}}
==={{verb}}===
{{pt-verb}}
#{{おくりがな2|送|おく|る|おくる}}。
{{pt-conj|envi|ar}}
===={{rel}}====
* {{l|pt|enviado}}
* {{l|pt|envio}}
p638trquos6y9dqme9mebscuk0gzmum
desteñir
0
442874
2281281
1852527
2026-06-09T11:20:14Z
Kuroco2k
84207
2281281
wikitext
text/x-wiki
{{DEFAULTSORT:destenir}}
=={{L|es}}==
==={{etym}}===
{{affix|es|des-|teñir}}
==={{verb}}===
{{es-verb}}
#{{おくりがな3|色|いろ||褪|あ|せる|いろあせる}}、[[変色]]させる。
===={{conjug}}====
{{es-conj|<i>|nocomb=1}}
pnwznwvb92on347cwdg7vds0ymqrs67
inducir
0
443395
2281332
1853653
2026-06-09T11:39:11Z
Kuroco2k
84207
2281332
wikitext
text/x-wiki
=={{L|ast}}==
==={{etym}}===
{{bor|ast|la|indūcere}}
==={{pron}}===
{{ast-IPA}}
==={{verb}}===
{{ast-verb}}
#{{おくりがな3|引|ひ|き|起|お|こす|ひきおこす}}、[[誘引]]する、[[誘導]]する。
----
=={{L|gl}}==
==={{verb}}===
{{head|gl|verb}}
#{{おくりがな3|引|ひ|き|起|お|こす|ひきおこす}}、[[誘引]]する、[[誘導]]する。
----
=={{L|es}}==
==={{etym}}===
{{bor|es|la|indūcere}}
==={{pron}}===
{{es-IPA}}
==={{verb}}===
{{es-verb}}
#{{おくりがな3|引|ひ|き|起|お|こす|ひきおこす}}、[[誘引]]する、[[誘導]]する。
===={{conjug}}====
{{es-conj}}
===={{drv}}====
* {{l|es|aborto inducido}}
===={{rel}}====
* {{l|es|inducido}}
* {{l|es|inducción}}
* {{l|es|inductor}}
51y0hj78b6g6ek3rymhp64pdxmghkot
がもん
0
443769
2280873
1965014
2026-06-08T12:53:09Z
うーむ
129171
/* */
2280873
wikitext
text/x-wiki
{{kana-DEFAULTSORT}}
{{also|かもん|カモン}}
=={{ja}}==
==={{homonym}}===
{{head|ja|同音異義}}
*【[[牙門]]】:本陣。
*【[[衙門]]】:役所。官衙。
gqaw7e8vwd0rgubtkk8q92gh7rh6563
2280881
2280873
2026-06-08T13:01:49Z
M-30722
1202
2280881
wikitext
text/x-wiki
{{kana-DEFAULTSORT}}
{{also|かもん|カモン}}
=={{L|ja}}==
==={{kangokana}}===
{{ja-kangokana|h=y}}
*【[[牙門]]】本陣。
*【[[衙門]]】役所。官衙。
psb1923oskjuikncrkqc3zvyiikbe03
vindicar
0
445938
2281381
1857927
2026-06-09T11:55:50Z
Kuroco2k
84207
2281381
wikitext
text/x-wiki
=={{L|es}}==
==={{etym}}===
{{bor|es|la|vindicāre}}
==={{pron}}===
{{es-IPA}}
==={{verb}}===
{{es-verb}} {{context|transitive|lang=es}}
#[[復讐]]する。
#[[汚名]]を{{おくりがな2|晴|は|らす|はらす}}。
#(権利などを)[[主張]]する。
===={{conjug}}====
{{es-conj|nocomb=1}}
===={{rel}}====
* {{l|es|reivindicar}}
8cqid3hhf6zqzhygzf75i0on3yv42ow
vengar
0
445995
2281384
1858052
2026-06-09T11:55:52Z
Kuroco2k
84207
2281384
wikitext
text/x-wiki
=={{L|es}}==
==={{etym}}===
{{etyl|osp|es}} < {{etyl|la|es}} {{m|la|vindicāre}}
==={{pron}}===
{{es-IPA}}
==={{verb}}===
{{es-verb}}
#[[復讐]]する、{{おくりがな3|仕|し||返|かえ|し|しかえし}}する。
===={{conjug}}====
{{es-conj}}
===={{rel}}====
* {{l|es|vengador}}
* {{l|es|venganza}}
* {{l|es|vengativo}}
----
=={{L|nn}}==
==={{alter}}===
* {{l|nn|venger}}
==={{noun}}===
{{head|nn|noun form|g=m}}
#[[veng]]の非限定複数形。
6xtrp77vte43mvx2l8g98wgc76oibvn
castigar
0
446265
2281266
1858638
2026-06-09T11:12:44Z
Kuroco2k
84207
2281266
wikitext
text/x-wiki
=={{L|ast}}==
==={{etym}}===
{{bor|ast|la|castīgāre}}
==={{verb}}===
{{ast-verb-ar|castig}}
#[[罰する]]、{{おくりがな2|懲|こ|らしめる|こらしめる}}。
{{ast-conj-ar|castig|castig|castigu}}
===={{rel}}====
* {{l|ast|castigu}}
* {{l|ast|castu}}
----
=={{L|oc}}==
==={{etym}}===
{{etyl|pro|oc}} < {{etyl|la|oc}} {{m|la|castīgāre}}
==={{pron}}===
* {{音声|oc|LL-Q14185 (oci)-Davidgrosclaude-castigar.wav|音声(ベアルン)}}
==={{verb}}===
{{oc-verb|castig|ar}}
#[[罰する]]、{{おくりがな2|懲|こ|らしめる|こらしめる}}。
{{oc-conj-ar|castig|castigu}}
===={{syn}}====
* {{l|oc|chastiar}}, {{l|oc|punir}}
===={{rel}}====
* {{l|oc|cast}}
* {{l|oc|castic}}
* {{l|oc|castigador}}
----
=={{L|ca}}==
==={{etym}}===
{{etyl|la|ca}} {{m|la|castīgāre}}
==={{pron}}===
* {{ca-IPA}}
==={{verb}}===
{{ca-verb|ar|castig}}
#[[罰する]]、{{おくりがな2|懲|こ|らしめる|こらしめる}}。
#[[校正]]する、[[訂正]]する。
{{ca-conj-ar|castig}}
===={{syn}}====
* {{l|ca|punir}}
===={{drv}}====
* {{l|ca|càstig}}
===={{rel}}====
* {{l|ca|cast}}
----
=={{L|gl}}==
==={{etym}}===
{{etyl|roa-opt|gl}} {{m|roa-opt|castigar}} < {{etyl|la|gl}} {{m|la|castīgāre}}
==={{pron}}===
* {{IPA|lang=gl|[kastiˈɣaɾ]}}
==={{verb}}===
{{gl-verb|castig|ar}}
#{{context|transitive|lang=gl}}[[罰する]]、{{おくりがな2|懲|こ|らしめる|こらしめる}}。
{{gl-conj-ar|castig}}
===={{ant}}====
* {{l|gl|premiar}}
===={{drv}}====
* {{l|gl|castigo}}
----
=={{L|es}}==
==={{etym}}===
{{etyl|osp|es}} {{m|osp|castigar}} < {{etyl|la|es}} {{m|la|castīgāre}}
==={{pron}}===
{{es-IPA}}
==={{verb}}===
{{es-verb}}
#[[罰する]]、{{おくりがな2|懲|こ|らしめる|こらしめる}}。
#: {{syn|es|punir}}
#(子供に外出禁止などの)[[罰]]を{{おくりがな2|与|あた|える|あたえる}}。
#: {{ant|es|descastigar}}
===={{conjug}}====
{{es-conj}}
===={{rel}}====
* {{l|es|castigo}}
* {{l|es|casto}}
----
=={{L|pt}}==
==={{etym}}===
{{etyl|roa-opt|pt}} {{m|roa-opt|castigar}} < {{etyl|la|pt}} {{m|la|castīgāre}}
==={{pron}}===
{{pt-IPA}}
* {{hyph|pt|cas|ti|gar}}
==={{verb}}===
{{pt-verb}}
#[[罰する]]、{{おくりがな2|懲|こ|らしめる|こらしめる}}。
{{pt-conj|casti|gar}}
===={{syn}}====
* {{l|pt|punir}}
===={{drv}}====
* {{l|pt|castigo}}
===={{rel}}====
* {{l|pt|casto}}
pt2rsgcyuz12rapjhg1gr6am6t2wjjr
ぼろぼろ
0
455907
2281126
2048648
2026-06-09T05:09:14Z
Nekowokezuru
125841
古い布について
2281126
wikitext
text/x-wiki
{{kana-DEFAULTSORT}}
{{also|ほろほろ|ぽろぽろ|ぼろ}}
=={{L|ja}}==
==={{noun}}===
{{ja-noun|梵論梵論}}
#{{context|仏教|lang=ja}}[[普化宗]]の[[僧侶]]。[[虚無僧]]。
==={{adverb}}===
{{ja-adv}}
#[[粒]]の細かい物が[[崩れる]]様。
#* [[クッキー]]がボロボロ落ちる
#涙の[[雫]]が[[零れる]]様。
#* 私は泣いた。ボロボロ泣いた。
==={{adjectivenoun}}===
#古い布がひどく[[破れる|破れ]]ている様。
#(副詞1.から)粒の細かい物が[[離れ]]やすい様。<br />
{{日本語ダ活用}}
syxb4s40qhg2adk4sfdseuytkppl6bu
2281128
2281126
2026-06-09T05:17:32Z
Kuroco2k
84207
[[Special:Contributions/Nekowokezuru|Nekowokezuru]] ([[User talk:Nekowokezuru|トーク]]) による版 [[Special:Diff/2281126|2281126]] を取り消し
2281128
wikitext
text/x-wiki
{{kana-DEFAULTSORT}}
{{also|ほろほろ|ぽろぽろ}}
=={{L|ja}}==
==={{noun}}===
{{ja-noun|梵論梵論}}
#{{context|仏教|lang=ja}}[[普化宗]]の[[僧侶]]。[[虚無僧]]。
==={{adverb}}===
{{ja-adv}}
#{{context|オノマトペ|lang=ja}}物がかなり[[使用]]して[[やぶれる|破れ]]たりして[[いたむ|傷ん]]でいるさま。
#{{context|オノマトペ|lang=ja}}[[粒状]]のものが[[こぼれおちる|こぼれ落ちる]]さま。
==={{adjectivenoun}}===
{{日本語ダ活用}}
ry141thyrmp55c3oagi5fk8edz0aidd
excluir
0
458675
2281268
1880587
2026-06-09T11:13:54Z
Kuroco2k
84207
2281268
wikitext
text/x-wiki
{{also|excluír}}
=={{L|es}}==
==={{etym}}===
{{etyl|la|es}} {{m|la|exclūdere}}
==={{pron}}===
{{es-IPA|e(c)scluhir}}
==={{verb}}===
{{es-verb}}
#[[除外]]する、[[排除]]する。
===={{conjug}}====
{{es-conj}}
===={{ant}}====
* {{l|es|incluir}}
===={{drv}}====
* {{l|es|autoexcluirse}}
===={{rel}}====
* {{l|es|exclusión}}
* {{l|es|exclusivo}}
----
=={{L|pt}}==
==={{etym}}===
{{etyl|la|pt}} {{m|la|exclūdere}}
==={{pron}}===
* {{hyph|pt|ex|clu|ir}}
==={{verb}}===
{{pt-verb}}
#[[除外]]する、[[排除]]する。
#: {{ant|pt|incluir}}
#[[削除]]する。
#: {{syn|pt|eliminar}}
{{pt-conj|excl|uir}}
===={{drv}}====
* {{l|pt|exclusão}}
6tgl87ayx03tmps6k0o56mqq93nq43h
省道
0
459034
2280863
1969670
2026-06-08T12:44:45Z
M-30722
1202
2280863
wikitext
text/x-wiki
{{kana-DEFAULTSORT|しょうどう}}
=={{L|ja}}==
{{ja-kanjitab|しょう|どう|yomi=o}}
==={{noun}}===
{{ja-noun|[[しょうどう]]}}
#{{タグ|ja|道路|中国}}[[中国]]の[[省]]が[[管理]]する[[道路]]。
=={{L|zh}}==
==={{pron}}===
{{cmn-pron|shěngdào}}
==={{noun}}===
{{zhchars}}
{{zh-cat|sheng3dao4|名詞|道路|中国}}
#(日本語に同じ){{l|zh|省道}}。
bd1ffzd179vlxkq9vtlcwai7rfr539e
lamer
0
461513
2281202
1885846
2026-06-09T10:42:16Z
Kuroco2k
84207
2281202
wikitext
text/x-wiki
=={{L|es}}==
==={{alter}}===
* {{l|es|lamber}}
==={{etym}}===
{{inh|es|la|lambō|lambere}}
==={{pron}}===
*{{es-IPA}}
*{{rhymes|eɾ}}
*{{hyph|es|la|mer}}
==={{verb}}===
{{es-verb}}
#{{context|transitive|lang=es}} [[なめる|舐める]]。
===={{conjug}}====
{{es-conj}}
===={{drv}}====
* {{l|es|granuloma por lamido}}
* {{l|es|lameculos}}
* {{l|es|lamedura}}
* {{l|es|lamer el culo}}
* {{l|es|lamero}}
* {{l|es|lamerón}}
* {{l|es|lametón}}
===={{rel}}====
* {{l|es|chupar}}
=={{L|fr}}==
==={{etym}}===
{{suffix+|lame|er|lang=fr}}
==={{pron}}===
* {{fr-IPA|pos=v}}
* {{audio|fr|LL-Q150 (fra)-Lyokoï-lamer.wav|音声}}
* {{homophones|lamai|lamé|lamée|lamées|lamés|lamez}}
==={{verb}}===
{{fr-verb}}
#{{context|transitive|lang=fr}} [[たいら|平ら]]にする。
===={{conjugation}}====
{{fr-conj-auto}}
===={{anag}}====
* {{l|fr|Armel}}
* {{l|fr|larme}}
=={{L|inc-kho}}==
==={{noun}}===
{{head|inc-kho|noun|g=?}}
# {{ふりがな|砂|すな}}。
=={{L|mfe}}==
==={{etym}}===
{{der|mfe|fr|mer}}
==={{noun}}===
{{head|mfe|noun}}
# {{ふりがな|海|うみ}}。
3a1gw9rg5clmfo0wqhda6a4tr6smrmu
例句
0
462891
2280940
1971437
2026-06-08T14:00:44Z
M-30722
1202
2280940
wikitext
text/x-wiki
{{kana-DEFAULTSORT|れいく}}
=={{L|ja}}==
{{ja-kanjitab|れい|く|yomi=o}}
==={{noun}}===
{{ja-noun|[[れいく]]}}
#{{タグ|ja|詩}}[[歳時記]]などで[[季語]]の[[使用]]例として示される[[俳句]]。
0v34roe0ikbdjd2gi1jjd7ayueb4sp8
llegar
0
466436
2281229
1894315
2026-06-09T10:53:15Z
Kuroco2k
84207
2281229
wikitext
text/x-wiki
==スペイン語==
[[Category:スペイン語]]
===発音===
{{IPA|ʎe'ɣaɾ}}
===語源===
{{etyl|la|es}} ''[[plicare]]''
===動詞===
[[Category:スペイン語 動詞]]
# [[着く]]。
#* ''[[yo|Yo]] '''llego'''.'' -私は着く
===={{conjug}}====
{{es-conj}}
====類義語====
*[[venir]] (類義語: 来る)
*[[alcanzar]] (類義語: 届く)
*[[arribar]] (南米)
====関連語====
{{top4}}
*[[llegada]]
{{bottom}}
----
scym9slzkjrzhjwlhg57tvskjvu2t2n
ingerir
0
468684
2281230
1901855
2026-06-09T10:53:14Z
Kuroco2k
84207
2281230
wikitext
text/x-wiki
=={{L|ca}}==
==={{etym}}===
{{bor|ca|la|ingerere}}
==={{pron}}===
* {{ca-IPA}}
* {{rhymes|i(ɾ)|s=3}}
==={{verb}}===
{{ca-verb|ir|ingest}}
#[[摂取]]する、[[摂食]]する。
{{ca-conj-ir|ingest}}
===={{rel}}====
* {{l|ca|ingestió}}
----
=={{L|es}}==
==={{etym}}===
{{bor|es|la|ingerere}}
==={{verb}}===
{{es-verb}}
#{{context|transitive|lang=es}}[[摂取]]する、[[摂食]]する。
===={{conjug}}====
{{es-conj|<ie-i>}}
===={{rel}}====
* {{l|es|ingesta}}
* {{l|es|ingestión}}
----
=={{L|pt}}==
==={{etym}}===
{{bor|pt|la|ingerere}}
==={{pron}}===
{{pt-IPA}}
* {{hyph|pt|in|ge|rir}}
==={{verb}}===
{{pt-verb}}
#[[摂取]]する、[[摂食]]する。
#{{context|reflexive|lang=pt}}[[干渉]]する、[[介入]]する。
{{pt-conj|ing|erir}}
===={{rel}}====
* {{l|pt|ingestão}}
* {{l|pt|ingerência}}
g19s8ag7gfoytj97k7q4nzvi12zd8tg
𰓙
0
471159
2280855
1908781
2026-06-08T12:42:12Z
M-30722
1202
2280855
wikitext
text/x-wiki
==漢字==
{{kanji|手|6}}
{{kanji variants|擪}}
===意義===
#「[[擪]]」の[[類推簡化字]](『{{w|漢語大字典}}』掲載)。
[[カテゴリ:類推簡化字|ye4]]
=={{コード}}==
{{文字コード}}
cvdtozca46x64fv6khagn7a825qgxx0
毀る
0
476082
2281095
1939492
2026-06-09T02:03:38Z
Nekowokezuru
125841
/* 和語の漢字表記 */
2281095
wikitext
text/x-wiki
{{kana-DEFAULTSORT|そしる}}
=={{L|ja}}==
==={{wago}}===
{{ja-wagokanji|そしる|やぶる}}
#{{wagokanji of|そしる}}
#{{wagokanji of|やぶる}}
#[[こぼる]]の漢字表記。
j6zr5rdct8vjbs69ds025y47hey62vi
2281130
2281095
2026-06-09T05:24:14Z
Kuroco2k
84207
2281130
wikitext
text/x-wiki
{{kana-DEFAULTSORT|そしる}}
=={{L|ja}}==
==={{wago}}===
{{ja-wagokanji|そしる|やぶる|こぼる}}
#{{wagokanji of|そしる}}
#{{wagokanji of|やぶる}}
#{{wagokanji of|こぼる}}
g1x40ysno8qh42rudwruxtd4dzqwsv5
スケッチブック
0
476721
2280897
1976903
2026-06-08T13:12:06Z
M-30722
1202
2280897
wikitext
text/x-wiki
{{kana-DEFAULTSORT}}
{{wikipedia}}
=={{L|ja}}==
==={{etym}}===
{{bor|ja|en|sketchbook}}
==={{noun}}===
{{ja-noun}}
#{{タグ|ja|美術}}[[スケッチ]]をする[[あつがみ|厚紙]]を[[複数]]枚綴じた[[帳面]]。
===={{trans}}====
{{trans-see|画帳}}
iyqgzo7408ovdw1e5jtajb123lm7n6n
カテゴリ:ラーオ語 外来語
14
484852
2281359
1994345
2026-06-09T11:47:30Z
M-30722
1202
sakujo
2281359
wikitext
text/x-wiki
{| class="sakujo" style="border:solid gray 1px; padding:0 0.5em; margin:1ex auto; font-size: small; width:80%"
|-
| [[ファイル:Icono aviso borrar.svg|50px|削除依頼に提出されています]]
|
このページは'''[[Wiktionary:削除の方針|削除の方針]]'''に従い'''[[Wiktionary:削除依頼|削除依頼]]'''に出されています。[[{{TALKSPACE}}:{{PAGENAME}}|このページのノート]]も参照してください。
この項目の削除可否についての議論が<span class="sakujo-request">[[Wiktionary:削除依頼/2023年8月/外来語関連のカテゴリ|該当する削除依頼]]</span>で進行中です。
この項目は'''まだ削除されていません'''。削除に異議のある方は<span class="sakujo-request">[[Wiktionary:削除依頼/2023年8月/外来語関連のカテゴリ|該当する削除依頼]]</span>に是非ご参加ください。該当する削除依頼が終了するまで'''このメッセージを剥がさないでください。'''
[[カテゴリ:削除依頼中のページ]]
|}
1ufr6kk8tb38jr9xoi6icai2ff9oc1s
provenir
0
488950
2281227
2169546
2026-06-09T10:53:14Z
Kuroco2k
84207
2281227
wikitext
text/x-wiki
=={{L|ca}}==
==={{alter}}===
* {{l|ca|provindre}}
==={{etym}}===
{{bor|ca|la|prōvenīre}}
==={{pron}}===
* {{ca-IPA}}
* {{rhymes|i(ɾ)|s=3}}
==={{verb}}===
{{ca-verb|pres_1_sg=provinc|past_part=provingut}}
#[[生じる]]、[[起源]]とする、[[由来]]する。
{{ca-conj-ir-tenir|proven|provin|prové<!--
-->|impr_2_sg=provén<!--
-->}}
===={{rel}}====
* {{l|ca|provinença}}
* {{l|ca|provinent}}
=={{L|es}}==
==={{etym}}===
{{etyl|la|es}} {{m|la|prōvenīre}}
==={{pron}}===
{{es-pr}}
==={{verb}}===
{{es-verb}}
#[[生じる]]、[[起源]]とする、[[由来]]する。
===={{conjug}}====
{{es-conj}}
===={{syn}}====
* {{l|es|originar}}
===={{rel}}====
* {{l|es|proveniencia}}
* {{l|es|proveniente}}
* {{l|es|venir}}
=={{L|fr}}==
==={{etym}}===
{{etyl|la|fr}} {{m|la|prōvenīre}}
==={{pron}}===
* {{fr-IPA}}
* {{音声|fr|Fr-provenir.ogg}}
==={{verb}}===
{{fr-verb}}
#[[生じる]]、[[起源]]とする、[[由来]]する。
===={{conjugation}}====
{{fr-conj-venir|pro|être}}
===={{rel}}====
* {{l|fr|provenance}}
r31gmh3kbqe5sm6dyxn6siesz5d46bp
利用者:Kuroco2k
2
489345
2280896
2278599
2026-06-08T13:11:23Z
Kuroco2k
84207
/* テスト */
2280896
wikitext
text/x-wiki
'''Kuroco2k'''(雛宮黒狐ともいう)といいます。基本中立。議論が下手だから。
==最近思うこと==
#新規項目よりも既存項目の充実が大事であり、それが一段落するまで濫造に走ってはいけない。
==配下ページ==
*[[/二簡字]](未完)
*[[/朝鮮語基本語彙表]](今作ってある分の赤リンクを作り終えたら続編も作る)
==Todo==
#(進行中)漢検範囲内の訓立項
#(進行中)漢字項目のメンテナンス、異体字整理
#(進行中)漢字項目の立項
#(進行中)西夏文字項目の立項
==独り言==
#閩東語、閩北語にある「ṳ」などの文字たち。
#*ソート順に迷います。暫定的にはṳにy、e̤にoeを割り振ってます。将来的に提案できたらと思いますが、まだ実用的な段階に踏めてません。例えば、「[[用]]」の閩東語のソートはこれなら「oeyng6」になります。
#[[Template:kanji variants]]を使用してみたけど、ちょっとこの辺に困るなというところ:
#*Unicode順に整列されてしまうので、意図した並びが崩れてしまう
#*同じ文字を複数入れると反映されない(語義の違いとかで入れることがあるので...)
#シソーラスの名前空間
#*多分現状だと記事にカウントされているので、別の名前空間として扱いたい。
==リンク集(メモ)==
*[https://hongkongvision.com/tool/cc_py_conv_zh 漢字→廣東話/粵語拼音轉換工具]
**広東語のイェール式に変換してくれる。'''zi.toolsは粤拼'''。
*[https://www.wugniu.com/ 吳語學堂]
**いわゆる呉拼というやつ。上海語は下記のでいいですが、方言とかを記述するときにない時が多いので使っている。英語版の標準表記。
*[https://wu-chinese.com/minidict/ 吴音小字典]
**日本語版で、呉語の標準表記に使用される(主に上海語で)。
*[https://www.ydict.net/ 榕典]
**閩東語方言に使っている。
*[[特別:特別ページ一覧]]
**メモ用
*[[利用者:Naggy Nagumo/他言語版にあって日本語版にない項目]]
**タスクリスト
==テスト==
{{pl-noun|m-in|g2=m-anml|dim=pomidorek|adj=pomidorowy}}
==リスト一覧==
{{rel-top|中国語}}
{| class="wikitable" style="text-align: center"
|-
! 声調番号 !! 声調名 !! 白話字(aを例として) !! 声調値(台北) !! 声調値(台南)
|-
| 1 || 陰平 || a || 55 || 44
|-
| 2 (6) || 陰上 || á || 51 || 53
|-
| 3 || 陰去 || à || 31 || 11
|-
| 4 || 陰入 || ap/at/ak/ah || 32 || 21
|-
| 5 || 陽平 || â || 14 || 25
|-
| 7 || 陽去 || ā || 33 || 22
|-
| 8 || 陽入 || a̍p/a̍t/a̍k/a̍h || 4 || 5
|}
{|class=wikitable border=1 style="text-align: left;"
! 声調名
! 白話字(aを例として)
! 声調値(苗栗腔)
! 声調値(新竹腔)
|-
|陰平
|â
|24
|53
|-
|陽平
|à
|11
|55
|-
|上声
|á
|31
|24
|-
|陰去
|a
|rowspan="2"|55
|11
|-
|陽去
|å
|33
|-
|陰入
|ap/at/ak
|2
|5
|-
|陽入
|a̍p/a̍t/a̍k
|5
|2
|-
|}
([[:w:白話字]]より、要所だけ)
{| class="wikitable" style="text-align:center;"
| bgcolor="#ABCDEF" |'''名称'''
| bgcolor="#ABCDEF" |'''声調番号'''
| bgcolor="#ABCDEF" |'''符号'''
| bgcolor="#ABCDEF" |'''例'''
|-
| 上平
| 55
| ◌̆
| 君 '''Gŭng'''
|-
| 上聲
| 33
| ◌̄
| 滾 '''Gūng'''
|-
| 上去
| 213
| ◌́
| 貢 '''Góng'''
|-
| 上入
| <u>24</u>
| ◌́
| 谷 '''Gók'''
|-
| 下平
| 53
| ◌̀
| 群 '''Gùng'''
|-
| 下去
| 242
| ◌̂
| 郡 '''Gông'''
|-
| 下入
| 5
| ◌̆
| 掘 '''Gŭk'''
|}
([[:w:en:Bàng-uâ-cê]]より、要所だけ)
{| class="wikitable"
|+ KCRにおける声調符号
|-
!番号
|1
|2
|3
|4
|5
|6
|7
|-
!声調タイプ
|陰平
|陽平
|上聲
|陰去
|陽去
|陰入
|陽入
|-
!KCRにおける符号
| <span style="font-size:190%;">ˊ</span> ({{lang|mnp|á}})
| <span style="font-size:190%;">ˆ</span> ({{lang|mnp|â}})
| <span style="font-size:190%;">ˇ</span> ({{lang|mnp|ǎ}})
| <span style="font-size:190%;"> ̿</span> ({{lang|mnp|a̿}})
| <span style="font-size:190%;">ˉ</span> ({{lang|mnp|ā}})
| <span style="font-size:190%;">˘</span> ({{lang|mnp|ă}})
| <span style="font-size:190%;">ˋ</span> ({{lang|mnp|à}})
|-
|}
([[:w:en:Kienning Colloquial Romanized]]より、要所だけ)
{{rel-bottom}}
:{| class="wikitable" style="width:80%; text-align:center"
|-
!呉拼!!声調番号 (Wikt)!!声調名!!調値!!方言大詞典調値
|-
!1!!1!!陰平
|{{IPAfont|˥˧}} 53|| 陰平 ({{IPAfont|˥˧}} 53)
|-
!5!!2!!陰去
|{{IPAfont|˧˦}} 34|| 陰去 ({{IPAfont|˧˥}} 35)<br>陰上 ({{IPAfont|˥}} 55)
|-
!6!!3!!陽去
|{{IPAfont|˨˧}} 23|| 陽舒 ({{IPAfont|˩˧}} 13)
|-
!7!!4!!陰入
|{{IPAfont|˥ʔ}} <u>55</u>||陰入 ({{IPAfont|˥ʔ}} <u>55</u>)
|-
!8!!5!!陽入
|{{IPAfont|˩˨ʔ}} <u>12</u>|| 陽入 ({{IPAfont|˩˧ʔ}} <u>13</u>)
|}
{|class="wikitable" style="text-align:center;"
|-
|声調||陰平||陽平||上聲||陰去||陽去||陰入||陽入||長入
|-
|声調番号||1||2||3||4||5||6||7||8
|-
|調値||˨˦ (24)||˨˩ (21)||˨˩˩ (211)||˧˥ (35)||˧ (33)||˥ (5)||˧ (3)||˥ (55)
|-
|方言大詞典調値||24||21||213||35||33||5||3||55
|}
なお、ここでいう長入とは、入声であるが、白読によって、第6声とみなされないものをいう。
trwrvg8ypkqq9630d6cgl6jx5mqgni4
画匠
0
495808
2280902
2022518
2026-06-08T13:21:16Z
M-30722
1202
2280902
wikitext
text/x-wiki
{{kana-DEFAULTSORT|がしょう}}
=={{L|ja}}==
==={{noun}}===
{{ja-noun|[[がしょう]]}}
#{{タグ|ja|芸術家}}[[画家]]。[[絵描き]]。
4emzye1h9ysw8fe4ec587wh11kf73ih
fluctuar
0
498193
2281226
2028248
2026-06-09T10:53:14Z
Kuroco2k
84207
2281226
wikitext
text/x-wiki
=={{L|ca}}==
==={{etym}}===
{{bor|ca|la|fluctuāre}}
==={{pron}}===
* {{ca-IPA}}
==={{verb}}===
{{ca-verb|ar|fluctu}}
#[[変動]]する、[[増減]]する、[[上下]]する。
#{{おくりがな3|揺|ゆ|れ|動|うご|く|ゆれうごく}}、[[動揺]]する。
{{ca-conj-ar|fluctu}}
===={{rel}}====
* {{l|ca|fluctuació}}
* {{l|ca|fluctuant}}
----
=={{L|es}}==
==={{etym}}===
{{bor|es|la|fluctuāre}}
==={{pron}}===
{{es-pr}}
==={{verb}}===
{{es-verb}}
#[[変動]]する、[[増減]]する、[[上下]]する。
#{{おくりがな3|揺|ゆ|れ|動|うご|く|ゆれうごく}}、[[動揺]]する。
===={{conjug}}====
{{es-conj|<ú>|nocomb=1}}
===={{rel}}====
* {{l|es|fluctuación}}
* {{l|es|fluctuante}}
----
=={{L|pt}}==
==={{verb}}===
{{pt-verb}}
#[[flutuar]]の旧綴り。
{{pt-conj|fluctu|ar}}
6q66j3gef9a7gtq2zh6e4e63y0mz733
かっとう
0
503183
2281125
2271634
2026-06-09T05:06:30Z
うーむ
129171
/* */
2281125
wikitext
text/x-wiki
{{kana-DEFAULTSORT}}
{{also|かつどう}}
=={{L|ja}}==
==={{kangokana}}===
{{ja-kangokana|h=y}}
*【[[葛藤]]】争い。
*【[[割当]]】分け前。
*【[[甲藤]]】日本人の姓の一つ。
8osafkkbz28ltuw0e3przjo12nb09zg
sustituir
0
511649
2281223
2063137
2026-06-09T10:53:13Z
Kuroco2k
84207
2281223
wikitext
text/x-wiki
=={{L|es}}==
==={{alter}}===
* {{l|es|substituir}}
==={{etym}}===
{{etyl|la|es}} {{m|la|substituere}}
==={{pron}}===
{{es-pr}}
==={{verb}}===
{{es-verb}}
#{{おくりがな3|取|と|り|替|か|える|とりかえる}}、[[交換]]する。
#{{おくりがな3|取|と|って|代|か|わる|とってかわる}}、[[代用]]する。
===={{conjug}}====
{{es-conj}}
===={{syn}}====
* {{l|es|reemplazar}}
===={{drv}}====
* {{l|es|sustituible}}
* {{l|es|sustitutorio}}
===={{rel}}====
* {{l|es|sustitución}}
* {{l|es|sustitutivo}}
* {{l|es|sustituto}}
1slqead8vuirmtu4de04775auco5mwn
sonar
0
513986
2281228
2068749
2026-06-09T10:53:13Z
Kuroco2k
84207
2281228
wikitext
text/x-wiki
{{also|Sonar|SONAR|sónar|soñar}}
=={{L|is}}==
==={{noun}}===
{{head|is|noun form}}
#{{l|is|sonur}}の非限定単数属格。
----
=={{L|io}}==
==={{etym}}===
{{etyl|eo|io}} {{m|eo|soni}}, {{etyl|fr|io}} {{m|fr|sonner}}, {{etyl|it|io}} {{m|it|suonare}}, {{etyl|es|io}} {{m|es|sonar}} < {{etyl|la|io}} {{m|la|sonāre}}
==={{pron}}===
{{io-IPA}}
==={{verb}}===
{{io-verb|son}}
#{{おくりがな2|鳴|な|る|なる}}。
----
=={{L|ia}}==
==={{verb}}===
{{ia-verb|ar}}
#{{おくりがな2|鳴|な|る|なる}}。
{{ia-conj|son|ar}}
----
=={{L|vec}}==
==={{etym}}===
{{etyl|la|vec}} {{m|la|sonāre}}
==={{verb}}===
{{head|vec|verb}}
#{{context|他動詞|lang=vec}}{{おくりがな2|鳴|な|らす|ならす}}。
#{{context|他動詞|音楽|lang=vec}}[[演奏]]する。
{{vec-conj-auto}}
----
=={{L|en}}==
==={{etym}}===
{{m|en|SONAR}}, '''[[sound|'''so'''und]] [[navigation|'''na'''vigation]] and [[ranging|'''r'''anging]]''' の[[頭字語]]。
==={{pron}}===
* {{IPA|lang=en|ˈsoʊ.nɑːɹ}}
* {{音声|en|en-us-sonar.ogg|a=US}}
==={{noun}}===
{{en-noun|~}}
#{{context|海事|lang=en}}[[反響定位]]、[[エコーロケーション]]。
#{{context|海事|lang=en}}[[ソナー]]。
===={{syn}}====
* {{l|en|SONAR}}
===={{drv}}====
* {{l|en|Doppler sonar}}
* {{l|en|active sonar}}
===={{desc}}====
{{top}}
* {{desc|it|sonar|bor=1}}
* {{desc|nl|sonar|bor=1}}
* {{desc|ca|sonar|bor=1}}
* {{desc|sh|sonar|bor=1}}
* {{desc|es|sonar|bor=1}}
* {{desc|th|โซนาร์|bor=1|tr=soo-nâa}}
* {{desc|de|Sonar|bor=1}}
* {{desc|fr|sonar|bor=1}}
** {{desc|tr|sonar|bor=1}}
** {{desc|ro|sonar|bor=1}}
* {{desc|pl|sonar|bor=1}}
* {{desc|pt|sonar|bor=1}}
{{bottom}}
===={{seealso}}====
* {{l|en|radar}}
* {{l|en|lidar}}
* {{l|en|sodar}}
==={{anag}}===
* {{anagrams|en|a=anors|Arons|saron|orans|sorna|Sanor|Rasŏn|roans|arson|Naros|Rason}}
----
=={{L|oc}}==
==={{pron}}===
* {{音声|oc|LL-Q14185 (oci)-Davidgrosclaude-sonar.wav|a=Béarn}}
==={{verb}}===
{{oc-verb|son|ar}}
#{{おくりがな2|呼|よ|ぶ|よぶ}}。
{{oc-conj-ar|son}}
===={{syn}}====
* {{l|oc|cridar}}
* {{l|oc|apelar}}
----
=={{L|nl}}==
==={{etym}}===
{{bor|nl|en|sonar}}
==={{pron}}===
* {{IPA|lang=nl|ˈsoː.nɑr}}
* {{音声|nl|Nl-sonar.ogg}}
* {{hyphenation|lang=nl|so|nar}}
* {{rhymes|lang=nl|oːnɑr}}
==={{noun}}===
{{nl-noun|g=m|sonars|-}}
#{{context|海事|lang=nl}}[[ソナー]]。
===={{drv}}====
* {{l|nl|grondsonar}}
* {{l|nl|sonarapparaat}}
* {{l|nl|sonarapparatuur}}
* {{l|nl|sonarhut}}
* {{l|nl|sonarsignaal}}
* {{l|nl|sonarsysteem}}
* {{l|nl|sonarvis}}
----
=={{L|ca}}==
==={{pron}}===
* {{音声|es|LL-Q7026 (cat)-Marvives-sonar.wav|a=Barcelone}}
==={{etym}}1===
{{etyl|roa-oca|ca}} {{m|roa-oca|sonar}} < {{etyl|la|ca}} {{m|la|sonāre}}
===={{verb}}====
{{ca-verb|ar|son}}
#{{context|自動詞|lang=ca}}{{ふりがな|音|おと}}を出す、{{おくりがな2|鳴|な|る|なる}}。
#{{context|figuratively|自動詞|lang=ca}}{{おくりがな3|心|こころ||当|あ|たり|こころあたり}}がある。
{{ca-conj-ar|son}}
====={{rel}}=====
* {{l|ca|resonar}}
* {{l|ca|so}}
==={{etym}}2===
{{bor|ca|en|sonar}}
===={{noun}}====
{{ca-noun|m|-}}
#{{context|海事|lang=ca}}[[ソナー]]。
----
=={{L|non}}==
==={{noun}}===
{{head|non|noun form}}
#{{l|non|sonr}}の単数属格。
----
=={{L|sv}}==
==={{noun}}===
{{sv-noun|c}}
#{{context|海事|lang=sv}}[[反響定位]]、[[エコーロケーション]]。
#{{context|海事|lang=sv}}[[ソナー]]。
{{sv-noun-unc-irreg-c|2=sonarn}}
==={{verb}}===
{{head|sv|verb form}}
#{{l|sv|sona}}の現在形。
==={{anag}}===
* {{anagrams|sv|a=anors|Arons|nosar|sorna}}
----
=={{L|es}}==
==={{pron}}===
{{es-pr}}
* {{音声|es|LL-Q1321 (spa)-Marreromarco-sonar.wav|a=Venezuela}}
==={{etym}}1===
{{etyl|osp|es}} {{m|osp|sonar}} < {{etyl|la|es}} {{m|la|sonāre}} < {{etyl|ine-pro|es}} {{m|ine-pro|*swenh₂-}}
===={{verb}}====
{{es-verb}}
#{{context|自動詞|lang=es}}{{ふりがな|音|おと}}を出す、{{おくりがな2|鳴|な|る|なる}}。
#{{context|自動詞|lang=es}}〜に{{おくりがな2|思|おも|わ|おもう}}れる。
#{{context|figuratively|自動詞|lang=es}}{{おくりがな3|心|こころ||当|あ|たり|こころあたり}}がある。
#{{context|他動詞|lang=es}}{{おくりがな2|鳴|な|らす|ならす}}。
#: {{syn|es|tocar}}
#{{context|他動詞|音楽|lang=es}}[[演奏]]する。
#{{context|他動詞|再帰動詞|lang=es}}{{ふりがな|鼻|はな}}をかむ。
====={{conjug}}=====
{{es-conj|<ue>}}
====={{drv}}=====
* {{l|es|como suena}}
* {{l|es|hacer sonar}}
* {{l|es|sonadero}}
* {{l|es|sonador}}
* {{l|es|sonante}}
* {{l|es|sonar la flauta}}
====={{rel}}=====
* {{l|es|resonar}}
* {{l|es|son}}
* {{l|es|sonaja}}
* {{l|es|sonido}}
* {{l|es|sonoro}}
==={{etym}}2===
{{bor|es|en|sonar}}
===={{noun}}====
{{es-noun|m|es}}
#{{context|海事|lang=es}}[[ソナー]]。
====={{alter}}=====
* {{l|es|sónar}}
----
=={{L|sh}}==
==={{etym}}===
{{bor|sh|en|sonar}}
==={{pron}}===
* {{IPA|lang=sh|sǒnaːr}}
* {{hyphenation|so|nar}}
==={{noun}}===
{{sh-noun+|g=m|head=sònār}}
#{{context|海事|lang=sh}}[[ソナー]]。
{{sh-decl-noun|sònār|sonari|sonára|sonara|sonaru|sonarima|sonar|sonare|sonare|sonari|sonaru|sonarima|sonarom|sonarima}}
----
=={{L|fr}}==
==={{etym}}===
{{bor|fr|en|sonar}}
==={{pron}}===
* {{音声|fr|LL-Q150 (fra)-Lyokoï-sonar.wav}}
==={{noun}}===
{{fr-noun|m}}
#{{context|海事|lang=fr}}[[ソナー]]。
===={{desc}}====
* {{desc|tr|sonar|bor=1}}
* {{desc|ro|sonar|bor=1}}
----
=={{L|pl}}==
==={{etym}}===
{{bor|pl|en|sonar}}
==={{pron}}===
{{pl-pr}}
==={{noun}}===
{{pl-noun|m-in}}
#{{context|海事|lang=pl}}[[ソナー]]。
{{pl-decl-noun-m-in}}
===={{syn}}====
* {{l|pl|asdic}}
----
=={{L|pt}}==
==={{etym}}===
{{bor|pt|en|sonar}}
==={{pron}}===
{{pt-IPA|sònarh}}
* {{hyph|pt|so|nar}}
==={{noun}}===
{{pt-noun|m|es}}
#{{context|海事|lang=pt}}[[ソナー]]。
----
=={{L|ro}}==
==={{etym}}===
{{bor|ro|fr|sonar}}
==={{noun}}===
{{ro-noun|n|sonare}}
#{{context|海事|lang=ro}}[[ソナー]]。
{{ro-noun-n}}
j7349h3cjji3iffuxaxvw8a2vwgh9ro
soñar
0
513987
2281224
2068755
2026-06-09T10:53:13Z
Kuroco2k
84207
2281224
wikitext
text/x-wiki
{{DEFAULTSORT:sonar soñar}}
{{also|sonar|Sonar|SONAR|sónar|sonhar}}
=={{L|ast}}==
==={{pron}}===
{{ast-IPA}}
* {{rhymes|lang=ast|aɾ|s=2}}
* {{hyph|ast|so|ñar}}
==={{verb}}===
{{ast-verb-ar|soñ|sueñ}}
#{{l|ast|suañar}}の異形。
{{ast-conj-ar|soñ|sueñ}}
----
=={{L|gl}}==
==={{etym}}===
{{etyl|roa-opt|gl}} {{m|roa-opt|sonhar}} < {{etyl|la|gl}} {{m|la|somniāre}}
==={{pron}}===
* {{hyph|gl|so|ñar}}
==={{verb}}===
{{gl-verb|soñ|ar}}
#{{ふりがな|夢|ゆめ}}を見る。
{{gl-conj-ar|soñ}}
===={{rel}}====
* {{l|gl|sono}}
* {{l|gl|soño}}
----
=={{L|es}}==
==={{etym}}===
{{etyl|la|es}} {{m|la|somniāre}}
==={{pron}}===
{{es-pr}}
* {{音声|es|LL-Q1321 (spa)-AdrianAbdulBaha-soñar.wav|a=Colombia}}
==={{verb}}===
{{es-verb}}
#{{context|自動詞|or||他動詞|lang=es}}{{ふりがな|夢|ゆめ}}を見る。
#{{context|自動詞|or||他動詞|lang=es}}〜であると{{おくりがな3|決|き|め|付|つ|ける|きめつける}}。
===={{conjug}}====
{{es-conj|<ue>}}
===={{drv}}====
* {{l|es|soñar despierto}}
* {{l|es|sueña con los angelitos}}
===={{rel}}====
* {{l|es|sueño|g=m}}
* {{l|es|soñador}}
l00tmxigjvsgsi4fhw4f2z6wttnzsa2
カテゴリ:原生生物
14
516115
2280925
2073129
2026-06-08T13:46:19Z
鍼灸
112313
2280925
wikitext
text/x-wiki
{{kana-DEFAULTSORT|げんせいせいぶつ}}
<div class="pathnavbox">
{{Pathnav|分野|自然|生物}}
</div>
{{wikipedia|Category:原生生物}}
[[カテゴリ:生物|*けんせいせふつ]]
e75caouopzofm8qm45uv22pezirr8qx
encontrar
0
520379
2281222
2083000
2026-06-09T10:53:13Z
Kuroco2k
84207
2281222
wikitext
text/x-wiki
=={{L|ast}}==
==={{verb}}===
{{ast-verb-ar|encontr|encuentr}}
#[[alcontrar]]の異形。
{{ast-conj-ar|encontr|encuentr}}
----
=={{L|gl}}==
==={{alter}}===
* {{l|gl|alcontrar}}
==={{etym}}===
{{etyl|roa-opt|gl}} {{m|roa-opt|encontrar}} (13世紀) < {{etyl|LL.|gl}} {{m|la|*incontrāre}} < {{etyl|la|gl}} {{m|la|-}} {{m|la|in}} + {{m|la|contrā}}
==={{verb}}===
{{gl-verb|encontr|ar}}
#{{おくりがな2|会|あ|う|あう}}、[[遭遇]]する。
#: {{syn|gl|atopar}}
#{{おくりがな3|見|み||付|つ|ける|みつける}}、[[発見]]する。
#: {{syn|gl|atopar}}
{{gl-conj-ar|encontr}}
----
=={{L|es}}==
==={{etym}}===
{{etyl|la|es}} {{m|la|[[in]] [[contra]]}}
==={{pron}}===
{{es-pr}}
==={{verb}}===
{{es-verb|<ue>}}
#{{context|他動詞|lang=es}}{{おくりがな2|会|あ|う|あう}}、[[遭遇]]する。
#{{context|他動詞|lang=es}}{{おくりがな3|見|み||付|つ|ける|みつける}}、[[発見]]する。
#: {{syn|es|hallar|trovar}}
#{{context|自動詞|or|再帰動詞|lang=es}}[[ばったり]]{{おくりがな3|出|で||会|あ|う|であう}}。
#{{context|他動詞|lang=es}}{{おくりがな2|思|おも|う|おもう}}、[[感じる]]。
#{{context|再帰動詞|lang=es}}〜に[[ある]]、[[存在]]する。
#{{context|再帰動詞|lang=es}}〜の[[状態]]である。
===={{conjug}}====
{{es-conj|<ue>}}
{{es-conj|encontrarse<ue>}}
===={{drv}}====
* {{l|es|arrieros somos, y en el camino nos encontraremos}}
* {{l|es|encontrar la horma de su zapato}}
* {{l|es|perro que no camina, no encuentra hueso}}
===={{rel}}====
* {{l|es|encontrarse}}
* {{l|es|encuentro}}
==={{anag}}===
* {{anagrams|es|entroncar}}
----
=={{L|pt}}==
==={{etym}}===
{{etyl|roa-opt|pt}} {{m|roa-opt|encontrar}} < {{etyl|VL.|pt}} {{m|la|*incontrāre}} < {{etyl|la|pt}} {{m|la|in}} + {{m|la|contrā}}
==={{pron}}===
{{pt-IPA}}
==={{verb}}===
{{pt-verb}}
#{{context|pronominal|他動詞|comを伴って|lang=pt}}{{おくりがな2|会|あ|う|あう}}、[[遭遇]]する。
#: {{ant|pt|desencontrar}}
#{{context|他動詞|lang=pt}}{{おくりがな3|見|み||付|つ|ける|みつける}}、[[発見]]する。
#: {{syn|pt|achar|localizar}}
#: {{ant|pt|perder}}
#{{context|pronominal|formal|lang=pt}}〜に[[ある]]、[[存在]]する。
{{pt-conj|encontr|ar}}
===={{rel}}====
* {{l|pt|encontro}}
* {{l|pt|desencontrar}}
* {{l|pt|reencontrar}}
okur9jwpk6gywbi2ur4bekeiuhjh90k
カテゴリ:ラトヴィア語 動物
14
526457
2281160
2094801
2026-06-09T06:43:59Z
鍼灸
112313
2281160
wikitext
text/x-wiki
<div class="pathnavbox">
* {{Pathnav|カテゴリ|言語|{{lv}}|{{lv}}_科学|disp4=科学|{{lv}}_自然科学|disp5=自然科学|{{lv}}_生物学|disp6=生物学|{{lv}}_動物学|disp7=動物学|last=動物}}
* {{Pathnav|カテゴリ|分野|科学|自然科学|生物学|動物学|動物|last={{lv}}}}
</div>
{{catmore}}
[[カテゴリ:{{lv}}_動物学|*とうふつ]]
[[カテゴリ:{{lv}}_生物|*とうふつ]]
[[カテゴリ:動物|らとういあこ]]
lknplbknsumhpwvuui6ecl3ifu0n8vn
habituar
0
530338
2281225
2103198
2026-06-09T10:53:14Z
Kuroco2k
84207
2281225
wikitext
text/x-wiki
=={{L|ia}}==
==={{verb}}===
{{ia-verb|ar}}
#{{おくりがな2|慣|な|らす|ならす}}、[[習慣]]づける。
{{ia-conj|habitu|ar}}
----
=={{L|es}}==
==={{etym}}===
{{bor|es|LL.|habituāre}}
==={{pron}}===
{{es-pr}}
==={{verb}}===
{{es-verb}}
#{{context|他動詞|pronominal|lang=es}}{{おくりがな2|慣|な|らす|ならす}}、[[習慣]]づける。
#: {{syn|es|acostumbrar}}
===={{conjug}}====
{{es-conj|<ú>}}
===={{drv}}====
* {{l|es|habituación}}
===={{rel}}====
* {{l|es|habitual}}
* {{l|es|hábito}}
----
=={{L|pt}}==
==={{etym}}===
{{bor|pt|LL.|habituāre}}
==={{pron}}===
{{pt-IPA}}
* {{hyph|pt|ha|bi|tu|ar}}
==={{verb}}===
{{pt-verb}}
#{{おくりがな2|慣|な|れる|なれる}}。
#: {{syn|pt|[[acostumar]]-se}}
{{pt-conj|habitu|ar}}
qz0bexwforxd0loeynagix3uqw5vjmv
duplicar
0
531341
2281216
2104875
2026-06-09T10:47:16Z
Kuroco2k
84207
2281216
wikitext
text/x-wiki
=={{L|ca}}==
==={{etym}}===
{{bor|ca|la|duplicāre}}
==={{pron}}===
* {{ca-IPA}}
* {{rhymes|a(ɾ)|s=3}}
==={{verb}}===
{{ca-verb|ar|duplic}}
#{{context|他動詞|再帰動詞|lang=ca}}[[二重]]にする、二[[倍]]にする。
{{ca-conj-ar|duplic}}
===={{rel}}====
* {{l|ca|duplicat}}
----
=={{L|es}}==
==={{etym}}===
{{bor|es|la|duplicāre}}
==={{pron}}===
{{es-pr}}
==={{verb}}===
{{es-verb}}
#{{context|他動詞|再帰動詞|lang=es}}[[二重]]にする、二[[倍]]にする。
#{{context|他動詞|lang=es}}[[複写]]する、[[複製]]する。
#: {{syn|es|copiar}}
#{{context|他動詞|法律|原告に|lang=es}}[[抗弁]]する。
===={{conjug}}====
{{es-conj}}
===={{rel}}====
* {{l|es|duplicación}}
* {{l|es|duplicado}}
* {{l|es|reduplicar}}
----
=={{L|pt}}==
==={{etym}}===
{{bor|pt|la|duplicāre}}
==={{pron}}===
{{pt-IPA}}
* {{hyph|pt|du|pli|car}}
==={{verb}}===
{{pt-verb}}
#{{context|他動詞|lang=pt}}[[二重]]にする、二[[倍]]にする。
#{{context|他動詞|lang=pt}}[[複写]]する、[[複製]]する。
{{pt-conj|dupli|car}}
===={{rel}}====
* {{l|pt|duplo}}
osp5p62o9gzsrjnt2pdriebek7mo696
たんこ
0
532908
2281116
2168838
2026-06-09T03:15:21Z
鍼灸
112313
2281116
wikitext
text/x-wiki
{{also|たんご|だんこ|だんご|タンゴ}}
=={{L|ja}}==
==={{kangokana}}===
{{ja-kangokana|h=y}}
*【[[炭庫]]】:[[石炭]]を[[貯蔵]]する[[倉庫]]。
*【[[淡湖]]】:[[淡水湖]]。
*【[[短袴]]】:丈が短い袴。
*【[[短古]]】:短い[[古詩]]。
*【[[蜑戸]]】:[[海人]]の家。
*【[[単孤]]・[[単己]]】:[[よるべ]]のないこと。[[孤独]]。
*【[[淡古]]】:[[古風]]で[[淡白]]な[[作風]]。
*【[[澹乎]]】:静かで安からなさま。
*【[[貪賈]]】:[[貪欲]]な[[商人]]。
*【[[短弧]]・[[短狐]]】:[[水中]]の[[怪物]]。
*【[[簞壺]]】[[食料]]を携える。
hwyai8vg4joz74d5uc5syx7nj4uqze0
instigar
0
534079
2281214
2111073
2026-06-09T10:47:15Z
Kuroco2k
84207
2281214
wikitext
text/x-wiki
=={{L|ca}}==
==={{etym}}===
{{bor|ca|la|īnstīgāre}}
==={{pron}}===
* {{ca-IPA}}
==={{verb}}===
{{ca-verb|ar|instig}}
#{{context|他動詞|lang=ca}}[[扇動]]する、{{おくりがな2|唆|そそのか|す|そそのかす}}。
{{ca-conj-ar|instig}}
===={{drv}}====
* {{l|ca|instigador}}
===={{rel}}====
* {{l|ca|instigació}}
----
=={{L|es}}==
==={{etym}}===
{{etyl|la|es}} {{m|la|īnstīgāre}}
==={{pron}}===
{{es-pr}}
==={{verb}}===
{{es-verb}}
#{{context|他動詞|lang=es}}[[扇動]]する、{{おくりがな2|唆|そそのか|す|そそのかす}}。
===={{conjug}}====
{{es-conj}}
===={{rel}}====
* {{l|es|instigación}}
* {{l|es|instigador}}
----
=={{L|pt}}==
==={{etym}}===
{{bor|pt|la|īnstīgāre}}
==={{pron}}===
{{pt-IPA}}
* {{hyph|pt|ins|ti|gar}}
==={{verb}}===
{{pt-verb}}
#{{context|他動詞|lang=pt}}[[刺激]]する。
#{{context|他動詞|lang=pt}}[[扇動]]する、{{おくりがな2|唆|そそのか|す|そそのかす}}。
#{{context|他動詞|lang=pt}}{{おくりがな2|勧|すす|める|すすめる}}、[[提案]]する、[[説得]]する。
{{pt-conj|insti|gar}}
===={{rel}}====
* {{l|pt|instigação}}
f6xyfxjkf7xhtz5zzh28l5uq67v5spk
palatalizar
0
550943
2281215
2147428
2026-06-09T10:47:16Z
Kuroco2k
84207
2281215
wikitext
text/x-wiki
=={{L|gl}}==
==={{etym}}===
{{affix|gl|palatal|-izar}}
==={{verb}}===
{{head|gl|verb}}
#{{タグ|gl|音声学}}[[口蓋音]]化する。
{{gl-conj-ar|palataliz}}
===={{drv}}====
* {{l|gl|despalatalizar}}
* {{l|gl|palatalización}}
=={{L|es}}==
==={{etym}}===
{{affix|es|palatal|-izar}}
==={{pron}}===
{{es-pr}}
==={{verb}}===
{{es-verb}}
#{{タグ|es|音声学}}[[口蓋音]]化する。
===={{conjug}}====
{{es-conj}}
===={{drv}}====
* {{l|es|despalatalizar}}
* {{l|es|palatalización}}
=={{L|pt}}==
==={{etym}}===
{{affix|pt|palatal|-izar}}
==={{pron}}===
{{pt-IPA}}
* {{hyph|pt|pa|la|ta|li|zar}}
==={{verb}}===
{{pt-verb}}
#{{タグ|pt|音声学}}[[口蓋音]]化する。
{{pt-conj|palataliz|ar}}
===={{drv}}====
* {{l|pt|despalatalizar}}
* {{l|pt|palatalização}}
ndutvdlfa7ihjq8pgcwgv5iw37emozx
multiplicar
0
553863
2281210
2152831
2026-06-09T10:47:15Z
Kuroco2k
84207
2281210
wikitext
text/x-wiki
=={{L|ca}}==
==={{etym}}===
{{bor|ca|la|multiplicāre}}
==={{pron}}===
* {{ca-IPA}}
* {{音声|ca|LL-Q7026 (cat)-Marvives-multiplicar.wav|a=Barcelona}}
==={{verb}}===
{{ca-verb|ar|multiplic}}
#{{おくりがな2|増|ふ|やす|ふやす}}、{{おくりがな2|重|かさ|ねる|かさねる}}。
#{{タグ|ca|数学}}{{おくりがな2|掛|か|ける|かける}}、[[乗算]]する。
{{ca-conj-ar|multiplic}}
===={{rel}}====
* {{l|ca|multiplicació}}
=={{L|pro}}==
==={{etym}}===
{{bor|pro|la|multiplicāre}}
==={{verb}}===
{{head|pro|verb}}
#{{タグ|pro|自動詞}}{{おくりがな2|増|ふ|える|ふえる}}、[[増加]]する。
=={{L|es}}==
==={{etym}}===
{{bor|es|la|multiplicāre}}
==={{pron}}===
{{es-pr}}
==={{verb}}===
{{es-verb}}
#{{おくりがな2|増|ふ|やす|ふやす}}、{{おくりがな2|重|かさ|ねる|かさねる}}。
#{{タグ|es|数学}}{{おくりがな2|掛|か|ける|かける}}、[[乗算]]する。
===={{conjug}}====
{{es-conj}}
===={{drv}}====
* {{l|es|tabla de multiplicar}}
===={{rel}}====
* {{l|es|multiplicación}}
* {{l|es|multiplicador}}
* {{l|es|múltiple}}
=={{L|pt}}==
==={{etym}}===
{{lbor|pt|la|multiplicāre}}
==={{pron}}===
{{pt-IPA}}
* {{hyphenation|mul|ti|pli|car}}
==={{verb}}===
{{pt-verb}}
#{{おくりがな2|増|ふ|やす|ふやす}}、{{おくりがな2|重|かさ|ねる|かさねる}}。
#{{タグ|pt|数学}}{{おくりがな2|掛|か|ける|かける}}、[[乗算]]する。
{{pt-conj|multipli|car}}
===={{drv}}====
* {{l|pt|multiplicação}}
* {{l|pt|multiplicativo}}
fbqly54shqyjwcyqc6rx2k4991rzy8s
conceptualizar
0
555331
2281213
2155812
2026-06-09T10:47:15Z
Kuroco2k
84207
2281213
wikitext
text/x-wiki
=={{L|es}}==
==={{etym}}===
{{affix|es|conceptual|-izar}}
==={{pron}}===
{{es-pr}}
==={{verb}}===
{{es-verb}}
#{{タグ|es|他動詞}}[[概念化]]する。
===={{conjug}}====
{{es-conj}}
===={{drv}}====
* {{l|es|conceptualización}}
===={{rel}}====
* {{l|es|concepto}}
q5z0ja0nr6b64nkl2svpx44b5usbque
advenir
0
556917
2281211
2169503
2026-06-09T10:47:14Z
Kuroco2k
84207
2281211
wikitext
text/x-wiki
=={{L|ca}}==
==={{alter}}===
* {{alter+|ca|advindre}}
==={{etym}}===
{{bor|ca|la|advenīre}}
==={{pron}}===
* {{ca-IPA}}
==={{verb}}===
{{ca-verb|pres_1_sg=advinc|past_part=advingut}}
#{{タグ|ca|自動詞}}{{おくりがな2|起|お|こる|おこる}}、[[生じる]]。
{{ca-conj-ir-tenir|adven|advin|adve|<!--
-->|pres_ind_3_sg=advé<!--
-->|impr_2_sg=advén<!--
-->}}
===={{rel}}====
* {{l|ca|avenir}}
=={{L|es}}==
==={{etym}}===
{{bor|es|la|advenīre}}
==={{pron}}===
{{es-pr}}
==={{verb}}===
{{es-verb}}
#{{タグ|es|自動詞}}[[到着]]する、[[到来]]する。
#: {{syn|es|llegar}}
#{{タグ|es|自動詞}}{{おくりがな2|起|お|こる|おこる}}、[[生じる]]。
#: {{syn|es|ocurrir|pasar|acontecer|suceder}}
===={{conjug}}====
{{es-conj|nocomb=1}}
===={{drv}}====
* {{l|es|advenedizo}}
* {{l|es|advenimiento}}
===={{rel}}====
* {{l|es|avenir}}
=={{L|frm}}==
==={{etym}}===
{{bor|frm|la|advenīre}}
==={{verb}}===
{{head|frm|verb}}
#{{おくりがな2|起|お|こる|おこる}}、[[生じる]]。
=={{L|fr}}==
==={{etym}}===
{{etyl|frm|fr}} {{m|frm|advenir}} < {{etyl|la|fr}} {{m|la|advenīre}}
==={{pron}}===
* {{fr-IPA}}
* {{音声|fr|LL-Q150 (fra)-Lepticed7-advenir.wav|a=Toulouse}}
* {{音声|fr|LL-Q150 (fra)-DenisdeShawi-advenir.wav|a=Shawinigan}}
* {{音声|fr|LL-Q150 (fra)-LoquaxFR-advenir.wav|a=Vosges}}
* {{音声|fr|LL-Q150 (fra)-Mecanautes-advenir.wav|a=France}}
* {{音声|fr|LL-Q150 (fra)-WikiLucas00-advenir.wav|a=Lyon}}
* {{音声|fr|LL-Q150 (fra)-Jérémy-Günther-Heinz Jähnick-advenir.wav|a=Somain}}
==={{verb}}===
{{fr-verb|type=defective}}
#{{タグ|fr|impersonal|defective|literary|or|poetic}}{{おくりがな2|起|お|こる|おこる}}、[[生じる]]。
===={{conjugation}}====
{{fr-conj-venir|ad|être}}
===={{drv}}====
* {{l|fr|advienne que pourra}}
==={{seealso}}===
* {{l|fr|avenir}}
==={{anag}}===
* {{l|fr|vendrai}}, {{l|fr|viendra}}
l5z75mlg5664iofwm902nq055z5idhk
avenir
0
556920
2281212
2159044
2026-06-09T10:47:14Z
Kuroco2k
84207
2281212
wikitext
text/x-wiki
{{also|à venir}}
=={{L|ast}}==
==={{etym}}===
{{etyl|la|ast}} {{m|la|advenīre}}
==={{verb}}===
{{ast-verb}}
#{{タグ|ast|dated}}{{おくりがな2|起|お|こる|おこる}}、[[生じる]]。
#: {{syn|ast|asoceder|aportar|acaecer}}
#{{タグ|ast|再帰動詞}} [[同意]]する、[[合意]]する。
#: {{syn|ast|casar|combalachar|averiguar}}
===={{rel}}====
* {{l|ast|avenencia}}
* {{l|ast|aveníu}}
=={{L|ca}}==
==={{alter}}===
* {{alter+|ca|avindre}}
==={{etym}}===
{{etyl|la|ca}} {{m|la|advenīre}}
==={{pron}}===
* {{ca-IPA}}
* {{音声|ca|LL-Q7026 (cat)-Marvives-avenir.wav|a=Barcelona}}
==={{verb}}===
{{ca-verb|pres_1_sg=avinc|past_part=avingut}}
#{{タグ|ca|他動詞}}[[和解]]させる。
#{{タグ|ca|再帰動詞}}[[同意]]する、[[合意]]する、{{おくりがな3|受|う|け|入|い|れる|うけいれる}}。
#{{タグ|ca|再帰動詞}}{{おくりがな3|仲|なか||良|よ|く|なかよく}}やっていく。
#{{タグ|ca|再帰動詞|事実を}}受け入れる。
{{ca-conj-ir-tenir|adven|avin|ave|<!--
-->|pres_ind_3_sg=avé<!--
-->|impr_2_sg=avén<!--
-->}}
===={{drv}}====
* {{l|ca|desavenir-se}}
=={{L|fro}}==
==={{etym}}===
{{bor|fro|la|advenīre}}
==={{verb}}===
{{head|fro|verb}}
#{{おくりがな2|起|お|こる|おこる}}、[[生じる]]。
===={{conjugation}}====
{{fro-conj-venir|a}}
===={{desc}}====
* {{desc|fr|advenir|avenir}} (動詞)
=={{L|es}}==
==={{etym}}===
{{etyl|la|es}} {{m|la|advenīre}}
==={{pron}}===
{{es-pr}}
==={{verb}}===
{{es-verb}}
#{{タグ|es|他動詞}}[[和解]]させる。
#{{タグ|es|再帰動詞}}[[同意]]する、[[合意]]する。
#{{おくりがな3|釣|つ|り|合|あ|う|つりあう}}、[[調和]]する。
#{{タグ|es|自動詞|dated}}{{おくりがな2|起|お|こる|おこる}}、[[生じる]]。
===={{conjug}}====
{{es-conj}}
===={{rel}}====
* {{l|es|avenencia}}
* {{l|es|avenida}}
* {{l|es|avenimiento}}
===={{rel}}====
* {{l|es|advenir}}
=={{L|fr}}==
==={{etym}}===
{{m|fr|temps}} {{m|fr|à}} {{m|fr|venir}} (来たる時)より
==={{pron}}===
* {{fr-IPA}}
* {{音声|fr|Fr-avenir.ogg}}
* {{音声|fr|LL-Q150 (fra)-Lepticed7-avenir.wav|a=Toulouse}}
* {{音声|fr|LL-Q150 (fra)-Poslovitch-avenir.wav|a=Vosges}}
* {{音声|fr|LL-Q150 (fra)-WikiLucas00-avenir.wav|a=Lyon}}
* {{音声|fr|LL-Q150 (fra)-Jérémy-Günther-Heinz Jähnick-avenir.wav|a=Somain}}
==={{noun}}===
{{fr-noun|m}}
#{{タグ|fr|時間}}[[未来]]。
#: {{syn|fr|futur}}
#: {{ant|fr|passé|présent}}
===={{drv}}====
* {{l|fr|à l'avenir}}
* {{l|fr|l'avenir appartient à ceux qui se lèvent tôt}}
===={{seealso}}====
* {{l|fr|advenir}}
==={{anag}}===
* {{l|fr|enivra}}
* {{l|fr|navire}}
=={{L|lad}}==
==={{alter}}===
* {{alter+|lad|avinir|sc=Latn}}
==={{etym}}===
{{bor|lad|fr|avenir}}
==={{noun}}===
{{lad-noun|g=m|heb=אב׳יניר}}
#{{タグ|lad|時間}}[[未来]]。
#: {{ant|lad|pasado}}
===={{drv}}====
{{col|lad|por el avenir}}
n5vtj8hydjgwrsip541tz1cpun1x3yj
だんこ
0
560835
2281115
2168842
2026-06-09T03:14:57Z
鍼灸
112313
2281115
wikitext
text/x-wiki
{{also|たんこ|たんご|だんご|タンゴ}}
=={{L|ja}}==
==={{kangokana}}===
{{ja-kangokana|h=y}}
*【[[断固]]・[[断乎]]】決意が固いさま。
*【[[談古]]】[[古事]]を話す。
*【[[灘戸]]】製塩業者。
3i9gh32eid9h44oje6l7gv0zj4zez5l
sistematizar
0
561491
2281209
2169926
2026-06-09T10:47:14Z
Kuroco2k
84207
2281209
wikitext
text/x-wiki
=={{L|es}}==
==={{pron}}===
{{es-pr}}
==={{verb}}===
{{es-verb}}
#{{タグ|es|他動詞}}[[体系化]]する、[[組織化]]する、[[系統]]立てる。
===={{conjug}}====
{{es-conj}}
===={{rel}}====
* {{l|es|sistematización}}
* {{l|es|sistema}}
=={{L|pt}}==
==={{alter}}===
* {{alter+|pt|systematizar||廃用}}
==={{etym}}===
{{m|pt|sistemático}} (< {{etyl|LL.|pt}} < {{etyl|gkm|pt}} {{m|gkm|συστηματικός}} < {{m|grc|σύστημα}}) + {{m|pt|-izar}}
==={{pron}}===
{{pt-IPA}}
* {{hyph|pt|sis|te|ma|ti|zar}}
==={{verb}}===
{{pt-verb}}
#[[体系化]]する、[[組織化]]する、[[系統]]立てる。
#: {{syn|pt|sistemar|metodizar}}
{{pt-conj|sistematiz|ar}}
===={{drv}}====
* {{l|pt|sistematização}}
* {{l|pt|sistematizador}}
* {{l|pt|sistematizado}}
===={{rel}}====
{{col3|lang=pt|sistema|sistemar|sistemática|sistematicamente|sistematicidade|sistemático|sistematismo|sistematizante|sistemicamente|sistémico|sistêmico}}
cpbqqg4ax97r7hyygg3fjbz6671r5gu
halogenar
0
567172
2281204
2181768
2026-06-09T10:42:17Z
Kuroco2k
84207
2281204
wikitext
text/x-wiki
=={{L|es}}==
==={{etym}}===
{{affix|es|halógeno|-ar}}
==={{pron}}===
{{es-pr}}
==={{verb}}===
{{es-verb}}
#{{タグ|es|他動詞|化学}}[[ハロゲン化]]する。
===={{conjug}}====
{{es-conj}}
===={{drv}}====
* {{l|es|halogenación}}
=={{L|pt}}==
==={{pron}}===
{{pt-IPA}}
* {{hyph|pt|ha|lo|ge|nar}}
==={{verb}}===
{{pt-verb}}
#{{タグ|pt|他動詞|化学}}[[ハロゲン化]]する。
{{pt-conj|halogen|ar}}
===={{rel}}====
* {{l|pt|halogênio}}
* {{l|pt|halogenação}}
iwwillnzrqp64yx584fusxzkx9ogbbn
武器庫
0
571989
2280910
2193054
2026-06-08T13:31:49Z
M-30722
1202
[[軍府]]より訳語移動
2280910
wikitext
text/x-wiki
{{kana-DEFAULTSORT|ぶきこ}}
=={{L|ja}}==
==={{noun}}===
{{ja-noun|ぶきこ}}
#{{タグ|ja|軍事}}[[武器]]を[[保管]]している[[倉庫]]。
===={{syn}}====
*[[兵器庫]]
===={{trans}}====
*{{T|en}}: {{t|en|armory}}, {{t|en|arsenal}}
9gnfnea9do91csdpyka30rgjb8ax72i
2280911
2280910
2026-06-08T13:32:36Z
M-30722
1202
リンク元より訳語追加
2280911
wikitext
text/x-wiki
{{kana-DEFAULTSORT|ぶきこ}}
=={{L|ja}}==
==={{noun}}===
{{ja-noun|ぶきこ}}
#{{タグ|ja|軍事}}[[武器]]を[[保管]]している[[倉庫]]。
===={{syn}}====
*[[兵器庫]]
===={{trans}}====
*{{T|en}}: {{t|en|armory}}, {{t|en|arsenal}}
*{{T|mnw}}: {{t|mnw|တိုက်လဝဟ်}}
640j7x9l7ax21iseqxst3mspn4r6iow
renovar
0
574951
2281208
2199242
2026-06-09T10:47:13Z
Kuroco2k
84207
2281208
wikitext
text/x-wiki
=={{L|ia}}==
==={{verb}}===
{{ia-verb|ar}}
#[[更新]]する、[[一新]]する、[[再生]]させる。
{{ia-conj|renov|ar}}
===={{rel}}====
* {{l|ia|renovabile}}
* {{l|ia|renovation}}
* {{l|ia|renovator}}
=={{L|oc}}==
==={{pron}}===
* {{音声|oc|LL-Q14185 (oci)-Davidgrosclaude-renovar.wav|a=Béarn}}
==={{verb}}===
{{oc-verb|renov|ar}}
#[[更新]]する、[[一新]]する、[[再生]]させる。
{{oc-conj-ar|renov}}
===={{rel}}====
* {{l|oc|renovacion}}
=={{L|ca}}==
==={{etym}}===
{{m|ca|nou}} 又は{{etyl|la|ca}} {{m|la|renovāre}}
==={{pron}}===
* {{ca-IPA}}
* {{音声|ca|LL-Q7026 (cat)-Marvives-renovar.wav|a=Barcelona}}
==={{verb}}===
{{ca-verb|ar|renov}}
#[[更新]]する、[[一新]]する、[[再生]]させる。
{{ca-conj-ar|renov}}
===={{drv}}====
* {{l|ca|renovable}}
===={{rel}}====
* {{l|ca|renovació}}
=={{L|es}}==
==={{etym}}===
{{etyl|la|es}} {{m|la|renovāre}}
==={{pron}}===
{{es-pr}}
==={{verb}}===
{{es-verb}}
#{{タグ|es|他動詞}}[[更新]]する、[[一新]]する、[[再生]]させる。
===={{conjug}}====
{{es-conj|<ue>}}
===={{drv}}====
{{col3|lang=es|renovable|renuevo|renovar la memoria|renovar la herida|renovación|renovador}}
=={{L|pt}}==
==={{etym}}===
{{m|pt|novo}} 又は{{etyl|la|pt}} {{m|la|renovāre}}
==={{pron}}===
{{pt-IPA}}
==={{verb}}===
{{pt-verb}}
#[[更新]]する、[[一新]]する、[[再生]]させる。
{{pt-conj|renov|ar}}
===={{rel}}====
* {{l|pt|renovação}}
6wak7citmp38netl9fqsostvlu8qi2t
pacificar
0
575868
2281207
2201521
2026-06-09T10:47:13Z
Kuroco2k
84207
2281207
wikitext
text/x-wiki
=={{L|es}}==
==={{pron}}===
{{es-pr}}
==={{verb}}===
{{es-verb}}
#{{タグ|es|他動詞}}[[平定]]する、[[平和]]を[[もたらす]]、{{おくりがな2|鎮|しず|める|しずめる}}。
#: {{syn|es|apaciguar}}
===={{conjug}}====
{{es-conj}}
===={{rel}}====
* {{l|es|paz}}
=={{L|pt}}==
==={{etym}}===
{{lbor|pt|la|pācificāre}}
==={{pron}}===
{{pt-IPA}}
* {{hyph|pt|pa|ci|fi|car}}
==={{verb}}===
{{pt-verb}}
#[[平定]]する、[[平和]]を[[もたらす]]、{{おくりがな2|鎮|しず|める|しずめる}}。
{{pt-conj|pacifi|car}}
===={{rel}}====
* {{l|pt|pacífico}}
8k1faijyca6389zsq7ks1yzw5iywh26
さいじき
0
580567
2280941
2213701
2026-06-08T14:01:12Z
M-30722
1202
2280941
wikitext
text/x-wiki
{{kana-DEFAULTSORT}}
{{also|さいしき}}
=={{L|ja}}==
==={{kangokana}}===
{{ja-kangokana|h=y}}
*【[[斎食]]】仏寺などで正午の食事。
*【[[歳時記]]】季語を解説などを付した書物。
bn279gwk0xdphq04m1oms1o0idj9asf
付録:"a"の変形
100
588878
2281249
2279523
2026-06-09T11:04:29Z
Kuroco2k
84207
/* 類字 */
2281249
wikitext
text/x-wiki
==単字==
{{top3}}
* [[A]] (大文字)
** 上付き: [[ᴬ]]
** 下付き: [[ᴀ]]
* [[a]] (小文字)
** 上付き: [[ᵃ]]
** 合字形: [[◌ͣ]]
** 下付き: [[ₐ]]
{{bottom}}
===書体別===
{| class="wikitable" style="text-align: center; white-space: nowrap; width: 100%;"
! style="width:10%;" |
! style="width:10%;" | 標準
! style="width:10%;" | {{w|太字}}
! style="width:10%;" | {{w|斜体}}
! style="width:10%;" | 太字/斜体
|-
| '''{{w|セリフ (文字)|セリフ}}'''
|
| [[𝐀]] [[𝐚]]
| [[𝐴]] [[𝑎]]
| [[𝑨]] [[𝒂]]
|-
| '''{{w|サンセリフ}}'''
| [[𝖠]] [[𝖺]]
| [[𝗔]] [[𝗮]]
| [[𝘈]] [[𝘢]]
| [[𝘼]] [[𝙖]]
|-
| '''{{w|黒板太字}}'''
| [[𝔸]] [[𝕒]]
|
|
|
|-
| '''{{w|等幅フォント|等幅}}'''
| [[𝙰]] [[𝚊]]
|
|
|
|-
| '''{{w|スクリプト (書体)|スクリプト}}'''
| [[𝒜]] [[𝒶]]
| [[𝓐]] [[𝓪]]
|
|
|-
| '''{{w|フラクトゥール}}'''
| [[𝔄]] [[𝔞]]
| [[𝕬]] [[𝖆]]
|
|
|-
| '''{{w|半角・全角形|全角}}'''
| [[A]] [[a]]
|
|
|
|-
|}
===約物付===
{{top3}}
* [[a']]
* [[A*]]
* [[A+]]
* [[a+]]
* [[à +]]
* [[A-]]
* [[a-]]
* [[A.]]
* [[a.]]
* [[A꞉]]
* [[a꞉]]
* [[A·]]
* [[a·]]
* [[Aʼ]]
* [[aʼ]]
* [[ʼa]]
* [[A−]]
* [[A♭]]
* [[A♯]]
* [['a]]
* [['a']]
* [[(A)]]
* [[-a]]
* [[-a-]]
* [[-a']]
* [[-aʼ]]
* [[a=]]
* [[a'-]]
* [[a·-]]
* [[aʼ-]]
* [[ʻa-]]
* [[ʼa-]]
* [[ʼaʼ]]
* [[-ʼAʼ]]
* [[-ʼaʼ]]
* [[Aꝰ]]
{{bottom}}
===数字付===
{{top3}}
* [[A 1]]
* [[A-1]]
* [[a1]]
* [[A1]]
* [[a2]]
* [[A2]]
* [[a3]]
* [[A3]]
* [[a4]]
* [[A4]]
* [[a5]]
* [[A5]]
* [[A6]]
* [[A7]]
* [[A8]]
* [[A9]]
* [[A10]]
* [[a³¹]]
* [[a³¹-]]
* [[1a]]
* [[1:a]]
{{bottom}}
==ダイアクリティカルマーク==
{{top3}}
* [[Á]] [[á]]
** [[Ą́]] [[ą́]]
* [[Ă]] [[ă]]
** [[Ặ]] [[ặ]]
** [[Ằ]] [[ằ]]
* [[Ȃ]] [[ȃ]]
* [[Ǎ]] [[ǎ]]
* [[Â]] [[â]]
** [[Ấ]] [[ấ]]
** [[Ậ]] [[ậ]]
** [[Ầ]] [[ầ]]
** [[Ẩ]] [[ẩ]]
* [[Ä]] [[ä]] (合字形: [[◌ᷲ]])
** [[Ǟ]] [[ǟ]]
** [[Ā̈]] [[ā̈]]
* [[Ȧ]] [[ȧ]]
** [[Ǡ]] [[ǡ]]
* [[Ạ]] [[ạ]]
* [[À]] [[à]]
* [[Ȁ]] [[ȁ]]
* [[Ả]] [[ả]]
** [[Ẳ]] [[ẳ]]
* [[Ā]] [[ā]]
** [[Ą̄]] [[ą̄]]
* [[A̱]] [[a̱]]
* [[Ą]] [[ą]]
* [[Å]] [[å]]
** [[Ǻ]] [[ǻ]]
** [[Å̄]] [[å̄]]
** [[Ą̊]] [[ą̊]]
* [[Ḁ]] [[ḁ]]
* [[Ã]] [[ã]]
** [[Ẵ]] [[ẵ]]
** [[Ą̃]] [[ą̃]]
* [[Aͤ]] [[aͤ]]
* [[Ꞻ]] [[ꞻ]]
* [[ẚ]]
* [[ᶏ]]
{{bottom}}
===約物付===
{{top4}}
* [[ā-]]
* [[ʻā-]]
* [[-à]]
* [[-á]]
* [[-á-]]
* [[á-]]
* [[ʼá-]]
* [[-ʼÁ]]
* [[-ʼá]]
* [[-â]]
* [[ä.]]
* [[-ä]]
* [[-ã]]
* [[ʻā]]
* [[-ă]]
* [[-ǎ]]
* [[-ǎ-]]
* [[a̱-]]
* [[-ʼĄ́]]
* [[-ʼą́]]
{{bottom}}
==合字==
{{top2}}
* [[Ꜳ]] [[ꜳ]] (上付き: [[𐞀]])
* [[Æ]] [[æ]] (上付き: [[𐞃]]; 合字形: [[◌ᷔ]])
** [[Ǽ]] [[ǽ]]
** [[Ǣ]] [[ǣ]]
** [[ᴁ]] (上付き: [[ᴭ]])
** [[ᴂ]] (上付き: [[ᵆ]])
* [[Ꜵ]] [[ꜵ]] (合字形: [[◌ᷕ]])
* [[Ꜷ]] [[ꜷ]]
* [[Ꜹ]] [[ꜹ]] (合字形: [[◌ᷖ]])
** [[Ꜻ]] [[ꜻ]]
* [[Ꜽ]] [[ꜽ]]
* [[ꬱ]]
{{bottom}}
==関連字 (ラテン文字)==
* [[Ɐ]] [[ɐ]] (上付き: [[ᵄ]])
* [[]] [[ɤ]] (上付き: [[𐞑]])
* [[Ɑ]] [[ɑ]] (上付き: [[ᵅ]])
** [[Ɒ]] [[ɒ]] (上付き: [[ᶛ]])
** [[ꭤ]]
** [[ꬰ]]
** [[ᶐ]]
* [[Ꞛ]] [[ꞛ]]
* [[◌ᷓ]]
==類字==
{{col-top|2|"A"の類字}}
* {{l|mul|Α|sc=Grek}}
* {{l|mul|А|sc=Cyrl}}
* {{l|mul|ꓮ|sc=Lisu|tr=-}}
* {{l|mul|𖬮|sc=Hmng}}
* {{l|mul|[[Ꭺ]] [[ꭺ]]|sc=Cher}}
* {{l|mul|𐤠|sc=Lyci|tr=-}}
* {{l|mul|[[Ꭿ]] [[ꭿ]]|sc=Cher}}
* {{l|mul|𐌀|sc=Ital|tr=-}}
* {{l|mul|𖹬|sc=Medf}}
* {{l|mul|[[𞤏]] [[𞤱]]|sc=Adlm}}
* {{l|mul|𞠭|sc=Mend}}
* {{l|mul|𞠟|sc=Mend}}
* {{l|mul|𠔀|sc=Hani}}
* {{l|mul|𘯪|sc=Kits}}
* {{l|mul|𘠹|sc=Tang}}
* {{l|mul|凡|sc=Hani}}
* {{l|mul|𠁽|sc=Hani}}
* {{l|mul|𖼜|sc=Plrd}}
* {{l|mul|丸|sc=Hani}}
* {{l|mul|𝈤|sc=Grek|tr=-}}
* {{l|mul|𒿢}}
* {{l|mul|𠔼|sc=Hani}}
* {{l|mul|𘮺|sc=Kits}}
* {{l|mul|𘮸|sc=Kits}}
* {{l|mul|𝈵|sc=Grek|tr=-}}
* {{l|mul|Δ|sc=Grek}}
* {{l|mul|[[Ⲇ]] [[ⲇ]]}}
* {{l|mul|𐊅|sc=Lyci}}
* {{l|mul|ꕔ|sc=Vaii}}
* {{l|mul|[[Ѧ]] [[ѧ]]|sc=Cyrl|tr=-}}
* {{l|mul|sc=Glag|[[Ⱑ]] [[ⱑ]]|tr=-}}
* {{l|mul|Λ|sc=Grek}}
* {{l|mul|𐊍|sc=Lyci}}
* {{l|mul|ꓥ|sc=Lisu|tr=-}}
* {{l|mul|𞊭|tr=-}}
* {{l|mul|Ꮑ|sc=Cher}}
* {{l|mul|人|sc=Hani}}
{{col-bottom}}
{{col-top|2|"a"の類字}}
* {{l|mul|а|sc=Cyrl}}
* {{l|mul|Ⲁ|sc=Copt}} {{l|mul|ⲁ|sc=Copt}}
* {{l|mul|𐌳|sc=Goth}}
{{col-bottom}}
==記号==
{{top3}}
* {{l|mul|@|sc=Zyyy}}
* {{l|mul|ª|sc=Latn}}
* {{l|mul|𝔸|sc=Zyyy}}
* {{l|mul|∀|sc=Zyyy}}
* {{l|mul|₳|sc=Zyyy}}
* {{l|mul|🅐|sc=Zyyy}}
* {{l|mul|🄰|sc=Zyyy}}
* {{l|mul|🅰|sc=Zyyy}}
* {{l|mul|🆎|sc=Zyyy}}
* {{l|mul|🄐|sc=Zyyy}} {{l|mul|⒜|sc=Zyyy}}
* {{l|mul|℀|sc=Zyyy}}
* {{l|mul|℁|sc=Zyyy}}
* {{l|mul|⅍|sc=Zyyy}}
* {{l|mul|㏂|sc=Zyyy}}
* {{l|mul|㏟|sc=Zyyy}}
* {{l|mul|㍳|sc=Zyyy}}
* {{l|mul|㎄|sc=Zyyy}}
* {{l|mul|㎃|sc=Zyyy}}
* {{l|mul|㎁|sc=Zyyy}}
* {{l|mul|㎀|sc=Zyyy}}
* {{l|mul|㎂|sc=Zyyy}}
{{bottom}}
===言語学類===
{{top3}}
* {{l|mul|A|sc=Latn}}
* {{l|mul|a|sc=Latn}}
** {{l|mul|ᵃ|sc=Latn}}
* {{l|mul|ᴀ|sc=Latn}}
* {{l|mul|ä|sc=Latn}}
* {{l|mul|ḁ|sc=Latn}}
* {{l|mul|ᶏ|sc=Latn}}
* {{l|mul|ɐ|sc=Latn}}
* {{l|mul|ɤ|sc=Latn}}
** {{l|mul|𐞑|sc=Latn}}
* {{l|mul|ɑ|sc=Latn}}
* {{l|mul|ꬰ|sc=Latn}}
* {{l|mul|ᶐ|sc=Latn}}
* {{l|mul|ꭤ|sc=Latn}}
* {{l|mul|ɒ|sc=Latn}}
* {{l|mul|ꞛ|sc=Latn}}
* {{l|mul|æ|sc=Latn}}
** {{l|mul|𐞃|sc=Latn}}
* {{l|mul|ᴁ|sc=Latn}}
** {{l|mul|ᴭ|sc=Latn}}
* {{l|mul|ꬱ|sc=Latn}}
* {{l|mul|ᴂ|sc=Latn}}
** {{l|mul|ᵆ|sc=Latn}}
* {{l|mul|𝑎|sc=Zyyy}}
* {{l|mul|Ⓐ|sc=Zyyy}} {{l|mul|ⓐ|sc=Zyyy}}
{{bottom}}
[[Category:単字の変形|A]]
reof6imc4e340z4civ0lshgh1gfhrxh
利用者・トーク:しゅんた(漢字大好き)
3
588983
2281178
2280089
2026-06-09T08:46:26Z
エクストリームガードレール
94024
プレビュー機能
2281178
wikitext
text/x-wiki
== 必須カテゴリ付与等について ==
項目作成ありがとうございます。しかしながら作成いただきました書式では最低限のスタイルに達していない為掲載するためには加筆していただく必要があります。具体的には
#必ず付ける必要のあるカテゴリ(<code><nowiki>[[カテゴリ:(言語名)]]</nowiki></code>および<code><nowiki>[[カテゴリ:(言語名) (品詞名)]]</nowiki></code>)がありますので付与願います([[Wiktionary:スタイルマニュアル#カテゴリ]] 参照)。
#見出しを単に「意義」とするのではなく'''品詞を明示'''して下さい([[Wiktionary:スタイルマニュアル#項目の構成要素]] 参照)。
全体的な書式としては[[テンプレート:標準の内容/日本語]]や[[Wiktionary:見本項目]]で示されている「[[議論]]」等を参照ください。その他ご不明点ございましたら質問いただけますと回答させていただきます。--[[利用者:M-30722|M-30722]] ([[利用者・トーク:M-30722|トーク]]) 2026年6月6日 (土) 14:06 (UTC)
:<nowiki>[[カテゴリ:日本語|中国語|日本語名詞|拼音|発音]]</nowiki>のような書き方では「カテゴリ:日本語」しか付与されません。<nowiki>[[カテゴリ:日本語]][[カテゴリ:日本語 名詞]][[カテゴリ:中国語]]</nowiki>などのようにそれぞれ分けて書く必要があります。もしくは{{temp|ja-noun}}や{{temp|zh-cat}}等カテゴリを付与するテンプレートを使用します。--[[利用者:M-30722|M-30722]] ([[利用者・トーク:M-30722|トーク]]) 2026年6月7日 (日) 05:32 (UTC)
==プレビュー機能==
編集ご苦労さまでございます。同じ記事を複数回続けて編集されているようですが、投稿前に投稿ボタンの右隣、「プレビューを表示」ボタンを押していただきますと投稿前に表示イメージをご確認になれます。あまりにも同じ記事を連続で編集なさいますと後にログを確認する際の妨げとなりますのでなるべく編集前にプレビューで内容を精査していただき、編集回数を減らしていただくのが良いかと思います。 --[[利用者:エクストリームガードレール|エクストリームガードレール]] ([[利用者・トーク:エクストリームガードレール|トーク]]) 2026年6月9日 (火) 08:46 (UTC)
42lppvix9l4ono3khrjx680cx6ptupd
𦸶䓥
0
589019
2281083
2280136
2026-06-09T01:23:53Z
しゅんた(漢字大好き)
131857
/* 脚注 */
2281083
wikitext
text/x-wiki
{{kana-DEFAULTSORT|さつらつ}}
=={{L|ja}}==
{{ja-kanjitab|さつ|らつ|yomi=o}}
==={{noun}}===
{{ja-noun|さつらつ}}
#草むらを蛇が這う音。
#草むらの虫が動く音。
==脚注==
#漢字辞典オンライン
#字統网
=={{L|zh}}==
{{zh-cat|zha2la4|名詞}}
==={{pron}}===
{{cmn-pron|zhálà}}
==={{noun}}===
{{zhchars}}
#(日本語に同じ)草むらを蛇が這う音。
==脚注==
#https://zi.tools/zi/%F0%A6%B8%B6?secondary=search
#https://kanji.jitenon.jp/kanjiy/28720
ed669brz5kq4usjm9wvest0l6gu88u5
2281085
2281083
2026-06-09T01:24:49Z
しゅんた(漢字大好き)
131857
/* 脚注 */
2281085
wikitext
text/x-wiki
{{kana-DEFAULTSORT|さつらつ}}
=={{L|ja}}==
{{ja-kanjitab|さつ|らつ|yomi=o}}
==={{noun}}===
{{ja-noun|さつらつ}}
#草むらを蛇が這う音。
#草むらの虫が動く音。
==脚注==
#漢字辞典オンライン
#字統网
=={{L|zh}}==
{{zh-cat|zha2la4|名詞}}
==={{pron}}===
{{cmn-pron|zhálà}}
==={{noun}}===
{{zhchars}}
#(日本語に同じ)草むらを蛇が這う音。
==脚注==
#字統网
#漢字辞典オンライン
atcp5fz3g138ucczrjaoq89rpv8kfn2
2281141
2281085
2026-06-09T06:17:10Z
しゅんた(漢字大好き)
131857
/* {{noun}} */
2281141
wikitext
text/x-wiki
{{kana-DEFAULTSORT|さつらつ}}
=={{L|ja}}==
{{ja-kanjitab|さつ|らつ|yomi=o}}
==={{noun}}===
{{ja-noun|さつらつ}}
#name="zi.tools">zi.tools</ref>草むらの中を蛇が這う音。<ref
#name="漢字辞典オンライン">漢字辞典オンライン</ref>草むらの虫が動く音。<ref。
==脚注==
#漢字辞典オンライン
#字統网
=={{L|zh}}==
{{zh-cat|zha2la4|名詞}}
==={{pron}}===
{{cmn-pron|zhálà}}
==={{noun}}===
{{zhchars}}
#(日本語に同じ)草むらを蛇が這う音。
==脚注==
#字統网
#漢字辞典オンライン
ondlmqshw6uqr5s9mzc03x6vohagqn6
2281143
2281141
2026-06-09T06:17:52Z
しゅんた(漢字大好き)
131857
/* 脚注 */
2281143
wikitext
text/x-wiki
{{kana-DEFAULTSORT|さつらつ}}
=={{L|ja}}==
{{ja-kanjitab|さつ|らつ|yomi=o}}
==={{noun}}===
{{ja-noun|さつらつ}}
#name="zi.tools">zi.tools</ref>草むらの中を蛇が這う音。<ref
#name="漢字辞典オンライン">漢字辞典オンライン</ref>草むらの虫が動く音。<ref。
==脚注==
#漢字辞典オンライン
#字統网
=={{L|zh}}==
{{zh-cat|zha2la4|名詞}}
==={{pron}}===
{{cmn-pron|zhálà}}
==={{noun}}===
{{zhchars}}
#(日本語に同じ)草むらを蛇が這う音。
==脚注==
{{Reflist}}
6j5uv0le09y41awwwn5uqhq1gk4qdxi
2281145
2281143
2026-06-09T06:19:12Z
しゅんた(漢字大好き)
131857
/* {{noun}} */
2281145
wikitext
text/x-wiki
{{kana-DEFAULTSORT|さつらつ}}
=={{L|ja}}==
{{ja-kanjitab|さつ|らつ|yomi=o}}
==={{noun}}===
{{ja-noun|さつらつ}}
#草むらの中を蛇が這う音。
#草むらの虫が動く音。
==脚注==
#漢字辞典オンライン
#字統网
=={{L|zh}}==
{{zh-cat|zha2la4|名詞}}
==={{pron}}===
{{cmn-pron|zhálà}}
==={{noun}}===
{{zhchars}}
#(日本語に同じ)草むらを蛇が這う音。
==脚注==
{{Reflist}}
30uuxpto4fmt64ln91o30zcxq6vere4
2281146
2281145
2026-06-09T06:19:54Z
しゅんた(漢字大好き)
131857
/* 脚注 */
2281146
wikitext
text/x-wiki
{{kana-DEFAULTSORT|さつらつ}}
=={{L|ja}}==
{{ja-kanjitab|さつ|らつ|yomi=o}}
==={{noun}}===
{{ja-noun|さつらつ}}
#草むらの中を蛇が這う音。
#草むらの虫が動く音。
==脚注==
#漢字辞典オンライン
#字統网
=={{L|zh}}==
{{zh-cat|zha2la4|名詞}}
==={{pron}}===
{{cmn-pron|zhálà}}
==={{noun}}===
{{zhchars}}
#(日本語に同じ)草むらを蛇が這う音。
==脚注==
#zi.tools
#漢字辞典オンライン
suflbqeoiylwx8zq0uclrr6g6cukap2
εξάδελφος
0
589256
2280817
2026-06-08T11:59:24Z
Kuroco2k
84207
新規作成
2280817
wikitext
text/x-wiki
=={{L|el}}==
==={{noun}}===
{{el-noun|m|εξάδελφοι|f=εξαδέλφη}}
#{{alternative form of|el|ξάδερφος}}
===={{decl}}====
{{el-nM-ος-οι-3b|εξάδελφ|εξαδέλφ}}
3pxjrl5nmea6yzow8mfof2a6krgpt7g
ξάδερφος
0
589257
2280818
2026-06-08T11:59:24Z
Kuroco2k
84207
[[:en:ξάδερφος]]
2280818
wikitext
text/x-wiki
=={{L|el}}==
==={{alter}}===
*{{l|el|ξάδελφος|g=m}}
*{{l|el|εξάδελφος|g=m}}
*{{l|el|εξάδερφος|g=m}}
==={{etym}}===
{{m|el|ξάδελφος}} <{{m|el|εξάδελφος}} < {{etyl|grc-koi|el}} {{m|grc-koi|ἐξάδελφος}} < {{etyl|grc|el}} {{m|grc|ἐξ-}} + {{m|grc|ἀδελφός}}
==={{noun}}===
{{el-noun|m|ξάδερφοι|f=ξαδέρφη}}
#{{context|家族|男性の|lang=el}} [[いとこ]]。
===={{decl}}====
{{el-nM-ος-οι-3c|ξάδερφ|ξαδέρφ}}
===={{seealso}}====
*{{l|el|ξαδέρφι}}
h91a9soqihmxecaqyghg07r3n9ycacg
ξάδελφος
0
589258
2280819
2026-06-08T11:59:24Z
Kuroco2k
84207
新規作成
2280819
wikitext
text/x-wiki
=={{L|el}}==
==={{noun}}===
{{el-noun|m|ξάδελφοι|f=ξαδέλφη}}
#{{alternative form of|el|ξάδερφος}}
===={{decl}}====
{{el-nM-ος-οι-3c|ξάδελφ|ξαδέλφ}}
a9l2t7ux34myki0bojwv4rsh1iayx95
εξάδερφος
0
589259
2280820
2026-06-08T11:59:24Z
Kuroco2k
84207
新規作成
2280820
wikitext
text/x-wiki
=={{L|el}}==
==={{noun}}===
{{el-noun|m|εξάδερφοι|f=εξαδέρφη}}
#{{alternative form of|el|ξάδερφος}}
===={{decl}}====
{{el-nM-ος-οι-3b|εξάδερφ|εξαδέρφ}}
e6yf3pulgs3ymqp3oifqjj1mwczshue
εξαδέλφους
0
589260
2280821
2026-06-08T12:01:12Z
Kuroco2k
84207
新規作成
2280821
wikitext
text/x-wiki
=={{L|el}}==
==={{noun}}===
{{head|el|nounf|g=m}}
#{{noun form of|el|εξάδελφος||acc|p}}
550mtnw8a07972j9nxdxruts62k8a86
εξάδελφοι
0
589261
2280822
2026-06-08T12:01:12Z
Kuroco2k
84207
新規作成
2280822
wikitext
text/x-wiki
=={{L|el}}==
==={{noun}}===
{{head|el|nounf|g=m}}
#{{noun form of|el|εξάδελφος||nom//voc|p}}
8arkpxez99x2ohrpgpjr26vx6qmwhcz
εξαδέλφων
0
589262
2280823
2026-06-08T12:01:12Z
Kuroco2k
84207
新規作成
2280823
wikitext
text/x-wiki
=={{L|el}}==
==={{noun}}===
{{head|el|nounf|g=m}}
#{{noun form of|el|εξάδελφος||gen|p}}
3elbjdihvq2o5k44of00uvh626drowb
εξάδελφε
0
589263
2280824
2026-06-08T12:01:12Z
Kuroco2k
84207
新規作成
2280824
wikitext
text/x-wiki
=={{L|el}}==
==={{noun}}===
{{head|el|nounf|g=m}}
#{{noun form of|el|εξάδελφος||voc|s}}
hecvckt4ny22r00dfuz6h3w4xzsxah6
εξάδελφο
0
589264
2280825
2026-06-08T12:01:13Z
Kuroco2k
84207
新規作成
2280825
wikitext
text/x-wiki
=={{L|el}}==
==={{noun}}===
{{head|el|nounf|g=m}}
#{{noun form of|el|εξάδελφος||acc|s}}
t0s84ul9zlr9tr37jixsovgmu6t208c
εξαδέλφου
0
589265
2280826
2026-06-08T12:01:13Z
Kuroco2k
84207
新規作成
2280826
wikitext
text/x-wiki
=={{L|el}}==
==={{noun}}===
{{head|el|nounf|g=m}}
#{{noun form of|el|εξάδελφος||gen|s}}
p0m2i2lxm9miz6nkqqxgu4l74aj62sm
ξάδελφοι
0
589266
2280827
2026-06-08T12:03:09Z
Kuroco2k
84207
新規作成
2280827
wikitext
text/x-wiki
=={{L|el}}==
==={{noun}}===
{{head|el|noun form|g=m}}
#{{noun form of|el|ξάδελφος||nom//voc|p}}
c7z9qkawkxuc4icd8otylr4c13gg7kx
ξάδελφου
0
589267
2280828
2026-06-08T12:03:09Z
Kuroco2k
84207
新規作成
2280828
wikitext
text/x-wiki
=={{L|el}}==
==={{noun}}===
{{head|el|noun form|g=m}}
#{{noun form of|el|ξάδελφος||gen|s}}
hpy5p85qvs4y0328pjj7tlgt05zjoqt
ξάδελφων
0
589268
2280829
2026-06-08T12:03:10Z
Kuroco2k
84207
新規作成
2280829
wikitext
text/x-wiki
=={{L|el}}==
==={{noun}}===
{{head|el|noun form|g=m}}
#{{noun form of|el|ξάδελφος||gen|p}}
srcfk3ak172ebxfflk5o714n2bmpzbi
ξάδελφο
0
589269
2280830
2026-06-08T12:03:10Z
Kuroco2k
84207
新規作成
2280830
wikitext
text/x-wiki
=={{L|el}}==
==={{noun}}===
{{head|el|noun form|g=m}}
#{{noun form of|el|ξάδελφος||acc|s}}
msr54jmnzwqkbp7lpzoi1offesa423a
ξάδελφους
0
589270
2280831
2026-06-08T12:03:10Z
Kuroco2k
84207
新規作成
2280831
wikitext
text/x-wiki
=={{L|el}}==
==={{noun}}===
{{head|el|noun form|g=m}}
#{{noun form of|el|ξάδελφος||acc|p}}
r7e5ez3xwgm0s6viu24odr7ph1j9olk
ξάδελφε
0
589271
2280832
2026-06-08T12:03:11Z
Kuroco2k
84207
新規作成
2280832
wikitext
text/x-wiki
=={{L|el}}==
==={{noun}}===
{{head|el|noun form|g=m}}
#{{noun form of|el|ξάδελφος||voc|s}}
gc7ld7kd1bdehizfy8kclciqiifyu4x
εξαδέρφων
0
589272
2280833
2026-06-08T12:04:34Z
Kuroco2k
84207
新規作成
2280833
wikitext
text/x-wiki
=={{L|el}}==
==={{noun}}===
{{head|el|noun form|g=m}}
#{{noun form of|el|εξάδερφος||gen|p}}
nb913bqij9mkp26i932t7ougdzpfm66
εξαδέρφους
0
589273
2280834
2026-06-08T12:04:34Z
Kuroco2k
84207
新規作成
2280834
wikitext
text/x-wiki
=={{L|el}}==
==={{noun}}===
{{head|el|noun form|g=m}}
#{{noun form of|el|εξάδερφος||acc|p}}
0f7pmi54iogmqmug43iq1vtfbzd647t
εξαδέρφου
0
589274
2280835
2026-06-08T12:04:35Z
Kuroco2k
84207
新規作成
2280835
wikitext
text/x-wiki
=={{L|el}}==
==={{noun}}===
{{head|el|noun form|g=m}}
#{{noun form of|el|εξάδερφος||gen|s}}
4g8mmjos67n36m4ui24g9edbxbpxvzx
εξάδερφο
0
589275
2280836
2026-06-08T12:04:35Z
Kuroco2k
84207
新規作成
2280836
wikitext
text/x-wiki
=={{L|el}}==
==={{noun}}===
{{head|el|noun form|g=m}}
#{{noun form of|el|εξάδερφος||acc|s}}
i54rghbejz8q9cjlqzdraosapwngtnn
εξάδερφοι
0
589276
2280837
2026-06-08T12:04:35Z
Kuroco2k
84207
新規作成
2280837
wikitext
text/x-wiki
=={{L|el}}==
==={{noun}}===
{{head|el|noun form|g=m}}
#{{noun form of|el|εξάδερφος||nom//voc|p}}
gvbss2yzrhkyf4t8myf5hlfbbcuprag
εξάδερφε
0
589277
2280838
2026-06-08T12:04:36Z
Kuroco2k
84207
新規作成
2280838
wikitext
text/x-wiki
=={{L|el}}==
==={{noun}}===
{{head|el|noun form|g=m}}
#{{noun form of|el|εξάδερφος||voc|s}}
gpmdd7u3kjop4fs646vu3clp0yraqj2
ξάδερφου
0
589278
2280839
2026-06-08T12:06:00Z
Kuroco2k
84207
新規作成
2280839
wikitext
text/x-wiki
=={{L|el}}==
==={{noun}}===
{{head|el|noun form|g=m}}
#{{noun form of|el|ξάδερφος||gen|s}}
9eudt3zc518n8xlj3wre5lrkkmg41cu
ξάδερφο
0
589279
2280840
2026-06-08T12:06:00Z
Kuroco2k
84207
新規作成
2280840
wikitext
text/x-wiki
=={{L|el}}==
==={{noun}}===
{{head|el|noun form|g=m}}
#{{noun form of|el|ξάδερφος||acc|s}}
f75fca9im41gb2krf64qyg5slmc0t2t
ξάδερφε
0
589280
2280841
2026-06-08T12:06:00Z
Kuroco2k
84207
新規作成
2280841
wikitext
text/x-wiki
=={{L|el}}==
==={{noun}}===
{{head|el|noun form|g=m}}
#{{noun form of|el|ξάδερφος||voc|s}}
pggzk9ron3kwwbyy0fmx27kdh033ndy
ξάδερφοι
0
589281
2280842
2026-06-08T12:06:00Z
Kuroco2k
84207
新規作成
2280842
wikitext
text/x-wiki
=={{L|el}}==
==={{noun}}===
{{head|el|noun form|g=m}}
#{{noun form of|el|ξάδερφος||nom//voc|p}}
okiyof85qpndvel0miamhq0wphwgbe5
ξάδερφων
0
589282
2280843
2026-06-08T12:06:01Z
Kuroco2k
84207
新規作成
2280843
wikitext
text/x-wiki
=={{L|el}}==
==={{noun}}===
{{head|el|noun form|g=m}}
#{{noun form of|el|ξάδερφος||gen|p}}
iyhd089gkunn8kndwxkflrklyg1daz2
ξάδερφους
0
589283
2280844
2026-06-08T12:06:01Z
Kuroco2k
84207
新規作成
2280844
wikitext
text/x-wiki
=={{L|el}}==
==={{noun}}===
{{head|el|noun form|g=m}}
#{{noun form of|el|ξάδερφος||acc|p}}
nijqp6s56d406m7k8rl4mhm0gfgqlb5
嫗煦
0
589284
2280845
2026-06-08T12:20:24Z
うーむ
129171
ページの作成:「{{kana-DEFAULTSORT|おうく}} =={{L|ja}}== ==={{noun}}=== {{ja-noun-suru|[[おうく]]}} #[[あたためる|温め]]、[[養育]]すること。 ==={{verb}}=== {{ja-verb-suru|おうく}} {{日本語サ変活用}}」
2280845
wikitext
text/x-wiki
{{kana-DEFAULTSORT|おうく}}
=={{L|ja}}==
==={{noun}}===
{{ja-noun-suru|[[おうく]]}}
#[[あたためる|温め]]、[[養育]]すること。
==={{verb}}===
{{ja-verb-suru|おうく}}
{{日本語サ変活用}}
qxouiyih8pqrzeiitmofc8xeui4uqfa
篛
0
589285
2280847
2026-06-08T12:22:17Z
Kuroco2k
84207
新規作成
2280847
wikitext
text/x-wiki
==漢字==
{{kanji|竹|10}}
{{kanji variants|箬}}
===意義===
#「[[箬]]」の[[同字]](『{{w|集韻}}』掲載)。
=={{コード}}==
{{文字コード|jis=2-50-49|mj={{mjmoji|019608}}|gb=BA4F|cns=1-7162|big5=BF78|全={{全字庫|94562}}|hbig5=y|ksx=1002-6673|kps=10721-64D4}}
{{検字|蒼頡=HNMM|四角=8812.7}}
{{字典|dj=1321.080|hdz=53005.120|康煕=0894.030|matthews=3129|新潮漢字=8557|諸橋=26318|新大字典=11774|大字源=7096|大漢語林=8341}}
rc8m29mpjz3hqvrbvrflnkryp6hdmnl
禸
0
589286
2280848
2026-06-08T12:22:17Z
Kuroco2k
84207
新規作成
2280848
wikitext
text/x-wiki
==漢字==
{{kanji|禸|0}}
{{kanji variants|蹂=[[正字]]|𠘯|𠫗}}
===異体字セレクタ===
{{kanjiIVS|ivs=00-02}}
===意義===
#「[[蹂]]」の[[同字]](『{{w|説文解字}}』掲載)。獣が、地を足で踏みつける。
=={{コード}}==
{{文字コード|jis=1-89-36/2-48-82|mj={{mjmoji|018981|018982}}|gb=B662|cns=2-2167|big5=C9A8|全={{全字庫|139623}}|hbig5=y|ksx=1027-1-4E3B|kps=10721-61A0}}
{{検字|蒼頡=IB,XIB|四角=4022.7}}
{{字典|dj=1269.220|hdz=10097.040|康煕=0848.010|matthews=3132|mw=3845a|cowles=5146|ch=986.205|vt=B03082|新潮漢字=8173|諸橋=24884|新大字典=11287|大字源=6775|大漢語林=7945}}
by1q0oeav7iqxgghllgjv7zpro9i9wi
篚
0
589287
2280849
2026-06-08T12:22:17Z
Kuroco2k
84207
新規作成
2280849
wikitext
text/x-wiki
{{kana-DEFAULTSORT|ヒ}}
==漢字==
{{kanji|竹|10}}
===意義===
#[[かたみ|筐]]。
#物を盛る竹の器。
=={{L|ja}}==
{{ja-kanji|呉音=*|漢音=ヒ|訓=かたみ}}
=={{L|zh}}==
[[Category:{{zh}}|fei3]]
[[Category:{{yue}}|fei2]]
[[Category:{{nan}}|hui2]]
[[Category:{{cdo}}|pi1]]
{{zh-han|m=fěi|c=fei2|md=pĭ/pī|mn=xm:húi}}
=={{L|ko}}==
{{ko-han|비|eumhun=[[대광주리]] 비}}
=={{コード}}==
{{文字コード|jis=2-83-65/2-50-48|mj={{mjmoji|019607}}|gb=F3F5|cns=2-5929|big5=EABD|全={{全字庫|153897}}|hbig5=y|ksx=1027-1-504B|kps=10721-64BE}}
{{検字|蒼頡=HSLY|四角=8871.1}}
{{字典|dj=1321.050|hdz=52997.050|康煕=0893.450|matthews=1827|mw=511c|gy=255.16|ch=1019.502|新潮漢字=8613|諸橋=26314|新大字典=11772|大字源=7102|大漢語林=8350|vt=B03243}}
798uqligcrfqxa40sk9geh4uy50b2wn
おうく
0
589288
2280850
2026-06-08T12:23:23Z
うーむ
129171
ページの作成:「{{kana-DEFAULTSORT}} {{also|おうぐ}} =={{L|ja}}== ==={{kangokana}}=== {{ja-kangokana|h=y}} *【[[嫗煦]]】:温め、養育すること。 *【[[横句]]】:偽りの言葉。」
2280850
wikitext
text/x-wiki
{{kana-DEFAULTSORT}}
{{also|おうぐ}}
=={{L|ja}}==
==={{kangokana}}===
{{ja-kangokana|h=y}}
*【[[嫗煦]]】:温め、養育すること。
*【[[横句]]】:偽りの言葉。
1wz8v992i6s15lfyy92l4m7st0dnii3
おうぐ
0
589289
2280851
2026-06-08T12:27:18Z
うーむ
129171
ページの作成:「{{kana-DEFAULTSORT}} {{also|おうく}} =={{L|ja}}== ==={{kangokana}}=== {{ja-kangokana|h=y}} *【[[応供]]】:阿羅漢。 *【[[嘔喁]]】:喜ぶこと。」
2280851
wikitext
text/x-wiki
{{kana-DEFAULTSORT}}
{{also|おうく}}
=={{L|ja}}==
==={{kangokana}}===
{{ja-kangokana|h=y}}
*【[[応供]]】:阿羅漢。
*【[[嘔喁]]】:喜ぶこと。
d89h8sdw0q6lmfxu37sy22zqc3mjhpr
おやどり
0
589290
2280852
2026-06-08T12:34:09Z
うーむ
129171
ページの作成:「{{kana-DEFAULTSORT}} =={{L|ja}}== ==={{noun}}=== {{ja-noun|親鳥}} #[[おや|親]]の[[とり|鳥]]。」
2280852
wikitext
text/x-wiki
{{kana-DEFAULTSORT}}
=={{L|ja}}==
==={{noun}}===
{{ja-noun|親鳥}}
#[[おや|親]]の[[とり|鳥]]。
00sc1vwvxi4ajquwzi42yd3futdnvbk
親鳥
0
589291
2280853
2026-06-08T12:35:12Z
うーむ
129171
ページの作成:「{{kana-DEFAULTSORT|おやどり}} =={{L|ja}}== ==={{wagokanji}}=== {{ja-wagokanji|おやどり}} #{{wagokanji of|おやどり}}」
2280853
wikitext
text/x-wiki
{{kana-DEFAULTSORT|おやどり}}
=={{L|ja}}==
==={{wagokanji}}===
{{ja-wagokanji|おやどり}}
#{{wagokanji of|おやどり}}
qmxfnilcqwdkenupesdvgny0ztfly3x
擪
0
589292
2280854
2026-06-08T12:36:46Z
Kuroco2k
84207
新規作成
2280854
wikitext
text/x-wiki
{{kana-DEFAULTSORT|エン}}
==漢字==
{{kanji|手|14}}
{{kanji variants|擫|𭚋=[[同字]]|𰓙=[[類推簡化字]]}}
===異体字セレクタ===
{{kanjiIVS|ivs=00-03}}
===意義===
#[[指圧]]する。押さえる。
#[[抑圧]]する。
#[[書法]]における、執筆の方法の一種。親指に力を入れながら書く。
#{{q|{{yue}}}} [[衣服]]を引き上げる。
#{{q|{{yue}}}} [[粗悪]]な。品質の悪い。
=={{L|ja}}==
{{ja-kanji|呉音=エン<エム,ヨウ<エフ,ジョウ|漢音=エン<エム,ヨウ<エフ|音=オウ,ニョウ|訓=お-さえる}}
=={{L|zh}}==
[[Category:{{zh}}|ye4]]
[[Category:{{yue}}|yip3]]
[[Category:{{cdo}}|aik4]]
{{zh-han|m=yè|c=jip3,aap3,ngaap3|md=áik}}
=={{L|ko}}==
{{ko-han|엽|압|염|eumhun=[[누르다|누를]] 엽, 압, [[가지다|가질]] 염}}
=={{コード}}==
{{文字コード|jis=2-33-14|mj={{mjmoji|012852|012853|012854}}|gb=944B|cns=3-576C|big5=82F2|全={{全字庫|218988}}|hkscs=8AA4|kps=10721-478F}}
{{検字|蒼頡=MKQ}}
{{字典|cb=425.04|dj=0809.040|hdz=31973.060|康煕=0460.140|matthews=7327|gy=334.28/540.63|ch=595.406|新潮漢字=4349|諸橋=12867|新大字典=5961|大字源=3610|大漢語林=3813}}
nrj1gdl42r5lup9unq18zv32mfquk21
撃摧
0
589293
2280856
2026-06-08T12:42:30Z
Kuroco2k
84207
新規作成
2280856
wikitext
text/x-wiki
{{kana-DEFAULTSORT|げきさい}}
=={{L|ja}}==
==={{noun}}===
{{ja-noun-suru|げきさい}}
#{{alt form|ja|撃砕}}
==={{verb}}===
===={{conjug}}====
{{日本語サ変活用}}
rgqzillqlyldrf3tv2bwu6waapi804a
撃砕
0
589294
2280857
2026-06-08T12:42:30Z
Kuroco2k
84207
新規作成
2280857
wikitext
text/x-wiki
{{kana-DEFAULTSORT|げきさい}}
=={{L|ja}}==
==={{alter}}===
*{{alt+|ja|撃摧}}
==={{noun}}===
{{ja-noun-suru|げきさい}}
#物や[[敵]]を[[うちくだく|打ち砕く]]こと。{{defdate|1941年~}}
==={{verb}}===
===={{conjug}}====
{{日本語サ変活用}}
===参考文献===
*{{書誌・コトバンク|author={{w|デジタル大辞泉}}|word=撃砕|accessdate=2026-06-08}}
*{{Cite book|和書|author=藤堂明保|author2=松本昭|author3=竹田晃|author4=加納吉光|title=漢字源|edition=改訂第四版|year=2007|isbn=4-05-301828-5|page=612}}
8bxuag6p3mni8r1qqexrqjzfq4g8gwx
ひっこしそば
0
589295
2280858
2026-06-08T12:43:20Z
うーむ
129171
ページの作成:「{{kana-DEFAULTSORT}} =={{L|ja}}== ==={{noun}}=== {{ja-noun|引っ越し蕎麦}} #{{タグ|ja|蕎麦}}[[転居]]してきた者が[[ちかく|近く]]([[そば]])に来たしるしとして[[近隣]]に配る[[そば|蕎麦]]。」
2280858
wikitext
text/x-wiki
{{kana-DEFAULTSORT}}
=={{L|ja}}==
==={{noun}}===
{{ja-noun|引っ越し蕎麦}}
#{{タグ|ja|蕎麦}}[[転居]]してきた者が[[ちかく|近く]]([[そば]])に来たしるしとして[[近隣]]に配る[[そば|蕎麦]]。
7rsndzcxz933292dxkpq3cf27qrnmou
2280860
2280858
2026-06-08T12:43:50Z
うーむ
129171
2280860
wikitext
text/x-wiki
{{kana-DEFAULTSORT}}
=={{L|ja}}==
==={{noun}}===
{{ja-noun|引っ越し蕎麦}}
#{{タグ|ja|食品}}[[転居]]してきた者が[[ちかく|近く]]([[そば]])に来たしるしとして[[近隣]]に配る[[そば|蕎麦]]。
qrp09pqfx0jcnu7zhhglfnzviwepeoc
引っ越し蕎麦
0
589296
2280862
2026-06-08T12:44:39Z
うーむ
129171
ページの作成:「{{kana-DEFAULTSORT|ひっこしそば}} =={{L|ja}}== ==={{wagokanji}}=== {{ja-wagokanji|ひっこしそば}} #{{wagokanji of|ひっこしそば}}」
2280862
wikitext
text/x-wiki
{{kana-DEFAULTSORT|ひっこしそば}}
=={{L|ja}}==
==={{wagokanji}}===
{{ja-wagokanji|ひっこしそば}}
#{{wagokanji of|ひっこしそば}}
su794nrlvwexzsuegorysiodkba62av
テンプレート:cel-decl-noun-r-mf
10
589297
2280866
2026-06-08T12:45:43Z
Kuroco2k
84207
[[:en:Template:cel-decl-noun-r-mf]]
2280866
wikitext
text/x-wiki
{{#invoke:cel-nouns|r-mf}}<noinclude>{{documentation}}[[カテゴリ:{{cel-pro}} テンプレート]]</noinclude>
osojjuxe43zxdobxa2hb4d8ubeaj1vk
付録:ケルト祖語/mātīr
100
589298
2280867
2026-06-08T12:47:55Z
Kuroco2k
84207
[[:en:Reconstruction:Proto-Celtic/mātīr]]
2280867
wikitext
text/x-wiki
=={{L|cel-pro}}==
==={{etym}}===
{{etyl|ine-pro|cel-pro}} {{m|ine-pro|*méh₂tēr}}
==={{noun}}===
{{cel-noun|g=f}}
#{{タグ|cel-pro|家族}} {{ふりがな|母|はは}}。
===={{decl}}====
{{cel-decl-noun-r-mf|māt}}
===={{drv}}====
*{{l|cel-pro|*Mātronā}}
*{{desc|cel-pro|*mātrikʷā|der=1}}, {{l|cel-pro|*mātrokʷī}}
**{{desctree|cel-bry-pro|*mọdreb}}
===={{desc}}====
*{{desc|cel-gau|matir}}
*{{desc|xce|matrubos}}
*{{desctree|sga|máthir}}
*ブリソン諸語:
**{{desc|cy|modrydaf}} (*{{m|cy||modr}} + {{m|cy|bydaf}})
erdr9hd8yqb8ozow56gcbwmibwquxwm
カモン
0
589299
2280868
2026-06-08T12:50:13Z
うーむ
129171
ページの作成:「=={{L|ja}}== ==={{etym}}=== {{bor|ja|en|come on}} ==={{interj|ja}}=== {{ja-interj}} #こちら側に来るよう促す語。」
2280868
wikitext
text/x-wiki
=={{L|ja}}==
==={{etym}}===
{{bor|ja|en|come on}}
==={{interj|ja}}===
{{ja-interj}}
#こちら側に来るよう促す語。
h8f8hrwfcp1nqjjh7qmawjzk9ma0l9i
2280869
2280868
2026-06-08T12:51:02Z
うーむ
129171
2280869
wikitext
text/x-wiki
=={{L|ja}}==
==={{etym}}===
{{bor|ja|en|come on}}
==={{interj|ja}}===
{{ja-interj}}
#こちら側に[[くる|来る]]よう[[うながす|促す]]語。
03fyt2vnor9noefv7t9gzgcmjcbvy41
2280870
2280869
2026-06-08T12:52:12Z
うーむ
129171
2280870
wikitext
text/x-wiki
{{also|かもん|がもん}}
=={{L|ja}}==
==={{etym}}===
{{bor|ja|en|come on}}
==={{interj|ja}}===
{{ja-interj}}
#こちら側に[[くる|来る]]よう[[うながす|促す]]語。
r7npi0imr17vpsaamxyp9dud8ez4nut
баскетбол
0
589300
2280876
2026-06-08T12:57:50Z
Kuroco2k
84207
[[:en:баскетбол]]
2280876
wikitext
text/x-wiki
=={{L|uk}}==
==={{etym}}===
{{bor+|uk|en|basketball}}
==={{pron}}===
*{{uk-IPA|баскетбо́л}}
*{{音声|uk|LL-Q8798 (ukr)-Tohaomg-баскетбол.wav}}
==={{noun}}===
{{uk-noun|баскетбо́л<sg>|adj=баскетбо́льний}}
#{{topcat|uk|バスケットボール}} [[バスケットボール]]。
===={{decl}}====
{{uk-ndecl|баскетбо́л<sg>}}
===={{drv}}====
{{col2|uk||баскетболіст|баскетболістка}}
=={{L|kk}}==
{{kk-regional|баскетбол|باسكەتبول|basketbol}}
==={{etym}}===
{{bor+|kk|ru|баскетбо́л}} < {{etyl|en|kk}} {{m|en|basketball}}
==={{pron}}===
*{{IPA|lang=kk|[bəskʲɪdˈboɫ]}}
*{{hyph|kk|бас|кет|бол}}
==={{noun}}===
{{kk-noun}}
#{{topcat|kk|バスケットボール}} [[バスケットボール]]。
===={{drv}}====
*{{l|kk|баскетболшы}}
=={{L|tg}}==
==={{etym}}===
{{bor+|tg|ru|баскетбо́л}} < {{etyl|en|tg}} {{m|en|basketball}}
==={{pron}}===
{{tg-IPA|баскет`бол}}
==={{noun}}===
{{tg-noun}}
#{{topcat|tg|バスケットボール}} [[バスケットボール]]。
=={{L|bg}}==
==={{etym}}===
{{bor+|bg|en|basketball}}
==={{pron}}===
{{bg-pr|ба́скетбол|a=[KK]}}
==={{noun}}===
{{bg-noun|ба́скетбол|m}}
#{{topcat|bg|バスケットボール}} [[バスケットボール]]。
===={{decl}}====
{{bg-ndecl|баскетбо́л</n:sg>}}
=={{L|be}}==
==={{etym}}===
{{bor+|be|en|basketball}}
==={{pron}}===
*{{be-IPA|баскетбо́л}}
*{{音声|be|LL-Q9091 (bel)-Ssvb-баскетбол.wav}}
==={{noun}}===
{{be-noun|баскетбо́л<sg>}}
#{{topcat|be|バスケットボール}} [[バスケットボール]]。
===={{decl}}====
{{be-ndecl|баскетбо́л<sg>}}
=={{L|ru}}==
==={{etym}}===
{{bor+|ru|en|basketball}}
==={{pron}}===
*{{ru-IPA|баскетбо́л}}
*{{音声|ru|Ru-баскетбол.ogg}}
*{{音声|ru|LL-Q7737 (rus)-Tatiana Kerbush-баскетбол.wav|a=Saint Petersburg}}
==={{noun}}===
{{ru-noun+|баскетбо́л|n=sg|adj=баскетбо́льный}}
#{{topcat|ru|バスケットボール}} [[バスケットボール]]。
===={{decl}}====
{{ru-noun-table|баскетбо́л|n=sg}}
===={{rel}}====
*{{l|ru|баскетболи́ст}}
*{{l|ru|баскетбо́льный мяч}}
===={{desc}}====
*{{desc|hy|բասկետբոլ|bor=1}}
*{{desc|kk|баскетбол|bor=1}}
c13s743ba9whxt1euezrruzyem6s72x
六科
0
589301
2280877
2026-06-08T12:59:47Z
うーむ
129171
ページの作成:「{{kana-DEFAULTSORT|りくか}} =={{L|ja}}== ==={{noun}}=== {{ja-noun|りくか|[[りっか]]}} #[[中国]][[唐]]の[[科挙]]の六つの[[科目]]。秀才、明経、進士、明法、明書、明算。」
2280877
wikitext
text/x-wiki
{{kana-DEFAULTSORT|りくか}}
=={{L|ja}}==
==={{noun}}===
{{ja-noun|りくか|[[りっか]]}}
#[[中国]][[唐]]の[[科挙]]の六つの[[科目]]。秀才、明経、進士、明法、明書、明算。
8l3ayolhxftiau4vjt014b0hew3mn0x
2280884
2280877
2026-06-08T13:03:58Z
M-30722
1202
中国史
2280884
wikitext
text/x-wiki
{{kana-DEFAULTSORT|りくか}}
=={{L|ja}}==
==={{noun}}===
{{ja-noun|りくか|[[りっか]]}}
#{{タグ|ja|中国史}}[[中国]][[唐]]の[[科挙]]の六つの[[科目]]。秀才、明経、進士、明法、明書、明算。
r7stlkx0gq0ozfw1xjz5wh9305ctiqm
律科
0
589302
2280879
2026-06-08T13:01:20Z
うーむ
129171
ページの作成:「{{kana-DEFAULTSORT|りっか}} =={{L|ja}}== ==={{noun}}=== {{ja-noun|[[りっか]]}} #[[規定]]。」
2280879
wikitext
text/x-wiki
{{kana-DEFAULTSORT|りっか}}
=={{L|ja}}==
==={{noun}}===
{{ja-noun|[[りっか]]}}
#[[規定]]。
gilcegwfhlq7198rm212fss5jpujvl2
立枷
0
589303
2280883
2026-06-08T13:03:57Z
うーむ
129171
ページの作成:「{{kana-DEFAULTSORT|りっか}} =={{L|ja}}== ==={{noun}}=== {{ja-noun-suru|[[りっか]]}} #首枷を[[はめる|嵌め]]、[[かご|籠]]の中に立たせること。 ==={{verb}}=== {{ja-verb-suru|りっか}} {{日本語サ変活用}}」
2280883
wikitext
text/x-wiki
{{kana-DEFAULTSORT|りっか}}
=={{L|ja}}==
==={{noun}}===
{{ja-noun-suru|[[りっか]]}}
#首枷を[[はめる|嵌め]]、[[かご|籠]]の中に立たせること。
==={{verb}}===
{{ja-verb-suru|りっか}}
{{日本語サ変活用}}
q5v5if67bc07i7rsa5hcffqvqfs4a3n
Argentyna
0
589304
2280885
2026-06-08T13:04:33Z
Kuroco2k
84207
[[:en:Argentyna]]
2280885
wikitext
text/x-wiki
=={{L|pl}}==
==={{etym}}===
{{affix|pl|{{etyl|la|pl}} {{m|la|argentum}}|-yna}}
==={{pron}}===
{{pl-pr|a=Pl-Argentyna.ogg}}
==={{name}}===
{{pl-prop|f|adj=argentyński}}
#{{context|南米の国名|lang=pl}} [[アルゼンチン]]。
===={{decl}}====
{{pl-decl-noun-f|tantum=s}}
===={{drv}}====
{{col2|pl|Argentyńczyk|Argentynka}}
knrxzl1pq35pbtt3hv5qxp4tlzimuti
Słowacja
0
589305
2280886
2026-06-08T13:04:33Z
Kuroco2k
84207
[[:en:Słowacja]]
2280886
wikitext
text/x-wiki
=={{L|pl}}==
==={{pron}}===
{{pl-pr|a=Pl-Słowacja.ogg}}
==={{name}}===
{{pl-proper noun|f}}
#{{context|ヨーロッパの国名|lang=pl}} [[スロヴァキア]]。
===={{decl}}====
{{pl-decl-noun-f|tantum=s}}
===={{drv}}====
{{col2|pl|słowacki|Słowak|Słowaczka}}
t7ymwkx2z4uthu30cvczm9ku2px52jv
Słowenia
0
589306
2280887
2026-06-08T13:04:33Z
Kuroco2k
84207
[[:en:Słowenia]]
2280887
wikitext
text/x-wiki
=={{L|pl}}==
==={{pron}}===
{{pl-pr|Słoweńjia|a=Pl-Słowenia.ogg|h=Sło.wen.ia}}
==={{name}}===
{{pl-proper noun|f}}
#{{context|ヨーロッパの国名|lang=pl}} [[スロヴェニア]]。
===={{decl}}====
{{pl-decl-noun-f|tantum=s}}
===={{drv}}====
{{col2|pl|słoweński|Słoweniec|Słowenka}}
fm3cn7361frog2h1hlodq47mtlts1z4
sketchbook
0
589307
2280888
2026-06-08T13:06:26Z
M-30722
1202
[[en:sketchbook]]より
2280888
wikitext
text/x-wiki
=={{L|en}}==
==={{etym}}===
{{affix|en|sketch|book}}
==={{pron}}===
* {{IPA|lang=en|ˈskɛt͡ʃˌbʊk}}
* {{音声|en|LL-Q1860 (eng)-Vealhurl-sketchbook.wav|a=Southern England}}
==={{noun}}===
{{en-noun}}
#{{タグ|en|美術}}[[スケッチブック]]、[[写生帳]]、[[画帳]]。
===={{syn}}====
* {{l|en|visual diary}}
jg9aj6h4m2lkxii7nu3l7tw1lqstr3i
栗罅
0
589308
2280889
2026-06-08T13:06:48Z
うーむ
129171
ページの作成:「{{kana-DEFAULTSORT|りつか}} =={{L|ja}}== ==={{noun}}=== {{ja-noun-suru|[[りつか]]}} #[[くり|栗]の[[いが]]が割れること。 ==={{verb}}=== {{ja-verb-suru|りつか}} {{日本語サ変活用}}」
2280889
wikitext
text/x-wiki
{{kana-DEFAULTSORT|りつか}}
=={{L|ja}}==
==={{noun}}===
{{ja-noun-suru|[[りつか]]}}
#[[くり|栗]の[[いが]]が割れること。
==={{verb}}===
{{ja-verb-suru|りつか}}
{{日本語サ変活用}}
sfird6dwd8mnat6mzu8ip2q5kbik3vf
2280890
2280889
2026-06-08T13:07:13Z
うーむ
129171
2280890
wikitext
text/x-wiki
{{kana-DEFAULTSORT|りつか}}
=={{L|ja}}==
==={{noun}}===
{{ja-noun-suru|[[りつか]]}}
#[[くり|栗]]の[[いが]]が割れること。
==={{verb}}===
{{ja-verb-suru|りつか}}
{{日本語サ変活用}}
e113c1uo1xkqwotb3gwk36mebedviok
sketchbooks
0
589309
2280891
2026-06-08T13:08:05Z
M-30722
1202
新規作成
2280891
wikitext
text/x-wiki
=={{L|en}}==
==={{noun}}===
{{en-plural}}
#{{plural of|en|sketchbook}}
7exiloas0o2afrojcoif0xwdznpvpry
sketch pad
0
589310
2280892
2026-06-08T13:09:39Z
M-30722
1202
新規作成
2280892
wikitext
text/x-wiki
{{DEFAULTSORT:sketchpad}}
{{also|sketchpad}}
=={{L|en}}==
==={{noun}}===
{{en-noun}}
#{{タグ|en|美術}}[[スケッチブック]]、[[写生帳]]、[[画帳]]。
#:{{syn|en|sketchbook}}
j4iyqprreapntmmz1sxgr8dsrt71di9
sketch pads
0
589311
2280893
2026-06-08T13:10:03Z
M-30722
1202
新規作成
2280893
wikitext
text/x-wiki
{{DEFAULTSORT:sketchpads}}
{{also|sketchpads}}
=={{L|en}}==
==={{noun}}===
{{en-plural}}
#{{plural of|en|sketch pad}}
nhmleaw9wdo9kvll57m65yl7tnzocym
sketchpads
0
589312
2280894
2026-06-08T13:10:18Z
M-30722
1202
新規作成
2280894
wikitext
text/x-wiki
{{also|sketch pads}}
=={{L|en}}==
==={{noun}}===
{{en-plural}}
#{{plural of|en|sketchpad}}
c25m3wmqu79cnfvj5aba9sbhrz3vksq
sketchpad
0
589313
2280895
2026-06-08T13:10:55Z
M-30722
1202
新規作成
2280895
wikitext
text/x-wiki
{{also|sketch pad}}
=={{L|en}}==
==={{noun}}===
{{en-noun}}
#{{l|en|sketch pad}}の異綴。
m280x1uwfmp3hqxunmwxfops3ldvvuw
pomidor
0
589314
2280899
2026-06-08T13:18:21Z
Kuroco2k
84207
[[:en:pomidor]]
2280899
wikitext
text/x-wiki
=={{L|az}}==
{{az-variant|r=pomidor|c=помидор|a=پومیدور}}
==={{etym}}===
{{bor+|az|ru|помидо́р}} < {{etyl|it|az}} {{m|it|pomi d'oro}}
==={{pron}}===
*{{IPA|lang=az|[pɑ.miˈdor]}} {{q|表音リスペリング: pamidor}}
*{{IPA|lang=az|[bɑ.mɑˈdor]|a=dialectal}} {{q|表音リスペリング: bamador}}
*{{音声|az|LL-Q9292 (aze)-Azerbaijani audiorecordings-pomidor.wav|a=Baku}}
*{{hyph|az|po|mi|dor}}
==={{noun}}===
{{az-noun|u|lar}}
#{{タグ|az|野菜}} [[トマト]]。
#:{{syn|az|qırmızı badımcan|erməni badımcanı}}
===={{decl}}====
{{az-decl-noun|o|c}}
=={{L|uz}}==
{{uz-variant|c=помидор|r=pomidor|af=بادنجان رومی}}
==={{alter}}===
*{{alt+|uz|pamildori||口語}}
==={{etym}}===
{{bor+|uz|ru|помидо́р}} < {{etyl|it|uz}} {{m|it|pomi d'oro}}
==={{noun}}===
{{uz-noun}}
#{{タグ|uz|野菜}} [[トマト]]。
#:{{syn|uz|potinjon}}
===={{decl}}====
{{uz-decl-noun}}
=={{L|tk}}==
==={{etym}}===
{{bor+|tk|ru|помидо́р}}
==={{pron}}===
*{{IPA|lang=tk|[pɑ.mɑˈdoːɾ]}} {{q|表音リスペリング: ''pamador''}}
*{{hyph|tk|po|mi|dor}}
==={{noun}}===
{{tk-noun|y|lar}}
#{{タグ|tk|野菜}} [[トマト]]。
#:{{syn|tk|tomat}}
===={{decl}}====
{{tk-decl-noun-auto|o|c}}
=={{L|pl}}==
==={{etym}}===
{{bor+|pl|it|pomidori}} < {{m|it|pomidoro}}の複数形
==={{pron}}===
{{pl-pr|a=Pl-pomidor.ogg}}
==={{noun}}===
{{pl-noun|m-in|g2=m-an|dim=pomidorek|adj=pomidorowy}}
#{{タグ|pl|野菜}} [[トマト]]。
===={{decl}}====
{{pl-decl-noun-m-in|gens=pomidora|accs=pomidor/pomidora}}
===={{drv}}====
{{col2|pl|pomidorówka}}
fu9l6j5ulob7b79i3tkbaorgqnyh4qt
付録:印欧祖語/(s)ker-
100
589315
2280915
2026-06-08T13:37:41Z
Kuroco2k
84207
[[:en:Reconstruction:Proto-Indo-European/(s)ker-]]
2280915
wikitext
text/x-wiki
=={{L|ine-pro}}==
==={{etym}}1===
===={{alter}}====
*{{alt+|ine-pro|*(s)kerH-}}<ref name="EDBIL">{{R:bat:EDBIL|head=skirti|page=405}}</ref><ref name="EDL">{{R:itc:EDL|head=carō, carnis|page=94}}</ref>
===={{root}}====
{{ine-root}}<ref>{{R:ine:LIV|page=556-557}}</ref>
#{{おくりがな3|断|た|ち|切|き|る|たちきる}}。
#{{おくりがな2|分|わ|かつ|わかつ}}。
====={{drv}}=====
*{{l|ine-pro||*sker-e-ti}}
**{{desc|sqj-pro|*skera}} {{see desc}}
**{{desc|hyx-pro}}
***{{desc|xcl|քերեմ}}
**{{desc|gem-pro|*skeraną}} {{see desc}}
*{{l|ine-pro|*(s)kérdʰeti|*(s)kér(H)-dʰe-ti}}
*{{l|ine-pro||*skér(H)-ti ~ *skr̥(H)-énti}}
**{{desc|cel-pro|*skarati}} {{see desc}}
*{{l|ine-pro||*(s)ker(H)-ye-}}
**{{desc|grk-pro|*keřřō}}
***{{desc|grc|κείρω}}
**{{desc|ine-bsl-pro|*skírˀtei}}
***{{desc|lv|šķir̃t}}
***{{desc|lt|skìrti}}
*{{l|ine-pro||*(s)kor-éye-ti}}
**{{desc|sqj-pro}}
***{{desc|sq|harr}}
**{{desc|hyx-pro}}
***{{desc|xcl|քորեմ}}
*{{l|ine-pro||*(s)kr̥-yé-ti}}
**{{desc|ine-ana-pro}}
***{{desc|hit|𒅗𒊑𒄑𒍣|tr=ka-ri-ez-zi}}
*{{l|ine-pro|*(s)kér(H)[[-ō]]}}<ref name="EDL"/>
**{{desc|itc-pro|*karō}}
*{{l|ine-pro||*skēr-is}}
**{{desc|gem-pro|*skēriz}} {{see desc}}
*{{l|ine-pro||*(s)kér-mn̥ ~ *(s)kr̥-mén-s}}
**{{desc|iir-pro|*čárma}} {{see desc}}
*{{l|ine-pro||*(s)kér-mō}}
**{{desc|ine-bsl-pro|*kremō|unc=1}}
***{{desc|sla-pro|*kremy}} {{see desc}}
*{{l|ine-pro|*(s)kér[[-tis|-ti-s]] ~ *(s)kr̥-téy-s}}
**{{desc|iir-pro|alt=*(s)kr̥tíṣ}}
***{{desc|ira-pro|alt=*(s)kr̥tíṣ}}
****{{desc|sa|कृ॒ति}}
**{{desc|gem-pro|*skurdiz}} {{see desc}}
*{{l|ine-pro||*(s)kor-éh₂}}
**{{desc|itc-pro|*korā}} {{see desc}}
**{{desc|gem-pro|*skarō}} {{see desc}}
**{{desc|ine-bsl-pro|*karā́ˀ}}
***{{desc|sla-pro|*kora}} {{see desc}}
**{{desc|ine-bsl-pro|*skarā́ˀ}}
***{{desc|sla-pro|*skora}} {{see desc}}
*{{l|ine-pro||*(s)kor-os}}
**{{desc|gem-pro|*skaraz}}
***{{desc|ang|scear}}
****{{desc|en|share}}
***{{desc|goh|skar}}
****{{desc|de|Schar}}
*{{l|ine-pro||*(s)kor-mós}}
**{{desc|grk-pro||alt=*kormós}}
***{{desc|grc|κορμός}} {{see desc}}
*{{l|ine-pro||*(s)kor-tós}}
**{{desc|iir-pro|alt=*(s)kartás}}
***{{desc|inc-pro|alt=*(s)kartás}}
****{{desc|sa|क॒र्त}}
**{{desc|ine-bsl-pro|*kártas}}
***{{desc|sla-pro|*kõrtъ}} {{see desc}}
*{{l|ine-pro||*(s)kor-yo-}}
**{{desc|itc-pro|*korjom}}
***{{desc|la|corium}} {{see desc}}
*{{l|ine-pro||*(s)kr̥-tós}}
**{{desc|itc-pro|*kortos}}
***{{desc|la|curtus}} {{see desc}}
**{{desc|gem-pro|*skurtaz}} {{see desc}}
**{{desc|ine-bsl-pro|}}
***{{desc|sla-pro|*krъtъ}} {{see desc}}
;形成不明:
*{{desc|hyx-pro|-}}
**{{desc|xcl|քերծեմ}} {{see desc}}
*{{desc|cel-pro|*korukos}} {{see desc}}
*{{desc|gem-pro|*skirmiz}} {{see desc}}
*{{desc|gem-pro|*skurō}}
**{{desc|non|skor}} {{see desc}}
*{{desc|gem-pro|*skuriz}}
**{{desc|odt|*skuri}}
***{{desc|dum|schore}}, {{l|dum|schuere}}
****{{desc|nl|scheur}}
*{{desc|ine-bsl-pro|-}}
**{{desc|bor=1|fiu-fin-pro|*kirves}} {{see desc}}
**{{desc|lv|cirvis}}
**{{desc|lt|kirvis}}
=====拡張=====
*{{l|ine-pro|*(s)kerb-}}
*{{l|ine-pro||*(s)kerdʰ-}}: {{l|ine-pro|*(s)kérdʰeti}}を参照
*{{l|ine-pro|*(s)kerdʰ-}}?
*{{l|ine-pro|*kerp-|*ker-p-}}
*{{l|ine-pro|*kers-|*(s)ker-s-}}
*{{l|ine-pro|*(s)kert-|*(s)ker-t-}}
*{{l|ine-pro||*skr-éy-ti}}?
**{{desc|der=1|ine-pro|*(s)kreybʰ-|alt=*(s)kr-ey-bʰ-}}
**{{desc|der=1|ine-pro||alt=*(s)kr-ey-p-}}
***{{desc|ine-bsl-pro|}}
****{{desc|lv|skrīpât}}
*{{l|ine-pro||*(s)kr-ew-}}
**{{desc|itc-pro|}}
***{{desc|la|scrūta}}
*{{l|ine-pro||*(s)kr-ew-p-}}
**{{desc|itc-pro|}}
***{{desc|la|scrūpus}}
==={{etym}}2===
===={{root}}====
{{ine-root}}
#{{おくりがな2|曲|ま|げる|まげる}}。
====={{drv}}=====
*{{l|ine-pro||*(s)kr̥-tós}}
**{{desc|grk-pro|}}
***{{desc|grc|κυρτός}}
*{{l|ine-pro||*(s)kr̥-wós}}
**{{desc|itc-pro|*korwos}}
***{{desc|la|curvus}} {{see desc}}
*{{l|ine-pro||*(s)kr̥-kr̥-||pos=duplicated}}
**{{desc|itc-pro|*karkros}}, {{l|itc-pro|*kankros}}
***{{desc|la|carcer}}, {{l|la|cancer}} {{see desc}}
*{{l|ine-pro||*(s)ker-k-}}
**{{desc|grk-pro|}}
***{{desc|grc|κίρκος}}, {{m|grc|κρίκος}} {{see desc}}
****{{desc|la|circus|bor=1}} {{see desc}}
**{{desc|sla-pro|*kъrkъ}} {{see desc}}
*{{l|ine-pro||*(s)kr̥-tiH-neh₂||pos=extended}}
**{{desc|itc-pro|*korteinā|unc=1}}
***{{desc|la|cortīna|id=cauldron}} {{see desc}}
*{{l|ine-pro||*(s)ker-ew-}}
**{{desc|grk-pro|}}
***{{desc|grc|κορωνός}}, {{l|grc|κορώνη}}
*{{l|ine-pro||*(s)kor-os}}
**{{desc|cel-pro|*koros}} {{see desc}}
*{{l|ine-pro||*(s)kre-i-}}
**{{l|ine-pro||*(s)krey-wos}}
***{{desc|ine-bsl-pro|*kreiwás}}
****{{desc|sla-pro|*krivъ}}
**{{l|ine-pro||*(s)krey-n-yo-m}}
***{{desc|itc-pro|*skreiniom}}
****{{desc|la|scrīnium}} {{see desc}}
*{{l|ine-pro||*(s)kre-i-s-}}
**{{desc|itc-pro|}}
***{{desc|la|crīnis}}, {{l|la|crista}}, {{l|la|crispus}}
*{{l|ine-pro||*(s)kre-u-k-}}
**{{desc|itc-pro|*kruks}}
***{{desc|la|crux}}
*{{l|ine-pro||*(s)kre-n-gʰ-}}
**{{desc|gem-pro|*hringaz}} {{see desc}}
**{{desc|sa|कृणत्ति}}
**{{desc|sa|क्रुञ्चति}}
**{{desc|sa|क्रौञ्च}}
**{{desc|sla-pro|*krǫgъ}} {{see desc}}
==={{seealso}}===
*{{l|ine-pro|*(s)kel-}}
*{{l|ine-pro|*(s)kelH-}}
===脚注===
{{Reflist}}
h1htl32iqvrtmu81f5l93wehc0z420g
zhízhǎng
0
589316
2280917
2026-06-08T13:40:50Z
M-30722
1202
新規作成
2280917
wikitext
text/x-wiki
=={{L|zh}}==
==={{homonym}}===
{{zh-homonym}}
*【{{zh-l|職掌}}】①[[職掌]]、[[職務]]、[[職分]]。②職務として[[担当]]する。
*【{{zh-l|執掌}}】(権力などを)[[にぎる|握る]]。
pgok76j53ts06en9i7mfhr92l39pqa4
執掌
0
589317
2280919
2026-06-08T13:44:06Z
M-30722
1202
新規作成
2280919
wikitext
text/x-wiki
=={{L|zh}}==
{{zh-cat|zhi2zhang3|動詞}}
{{yue-cat|jap1jeung2|動詞}}
{{nan-cat|chip4chiong2|動詞}}
==={{pron}}===
{{cmn-pron|zhízhǎng}}
{{yue-pron|zap1 zoeng2}}
{{nan-pron|qz,xm:chip-chióng/zz:chip-chiáng}}
==={{verb}}===
{{zhchars|s=执掌}}
#(権力などを){{おくりがな2|握|にぎ|る|にぎる}}。
9yq506wi5xs72fltxozktzzsvehpxzh
执掌
0
589318
2280920
2026-06-08T13:44:28Z
M-30722
1202
新規作成
2280920
wikitext
text/x-wiki
=={{L|zh}}==
{{zh-cat|zhi2zhang3|動詞}}
{{yue-cat|jap1jeung2|動詞}}
{{nan-cat|chip4chiong2|動詞}}
==={{pron}}===
{{cmn-pron|zhízhǎng|z=n}}
{{yue-pron|zap1 zoeng2|h=n}}
{{nan-pron|qz,xm:chip-chióng/zz:chip-chiáng}}
==={{verb}}===
{{zhchars|t=執掌}}
#(権力などを){{おくりがな2|握|にぎ|る|にぎる}}。
pl40mqkizr0bg7jnaiwat35h03wb5jk
tumeur
0
589319
2280952
2026-06-08T14:19:55Z
M-30722
1202
[[en:tumeur]]より
2280952
wikitext
text/x-wiki
=={{L|fr}}==
==={{etym}}===
{{etyl|fro|fr}} {{m|fro|tumour}} < {{etyl|la|fr}} {{m|la|tumor}}
==={{pron}}===
* {{fr-IPA}}
* {{音声|fr|LL-Q150 (fra)-DSwissK-tumeur.wav|a=Valais}}
* {{音声|fr|LL-Q150 (fra)-Poslovitch-tumeur.wav|a=Vosges}}
* {{音声|fr|LL-Q150 (fra)-Bananax47-tumeur.wav|a=Agen}}
==={{noun}}===
{{fr-noun|f}}
#{{タグ|fr|腫瘍学}}[[腫瘍]]。
41411yhb3xhzxf5fpb44qznhc562jcg
tumeurs
0
589320
2280953
2026-06-08T14:20:25Z
M-30722
1202
新規作成
2280953
wikitext
text/x-wiki
=={{L|fr}}==
==={{noun}}===
{{head|fr|plural|g=f}}
#{{plural of|fr|tumeur}}
6g3haj5elfo3s6m395tguv1udr2myz9
tumour
0
589321
2280954
2026-06-08T14:24:36Z
M-30722
1202
[[en:tumour]]より
2280954
wikitext
text/x-wiki
=={{L|en}}==
==={{etym}}===
{{etyl|enm}} {{m|enm|tumour}} < {{etyl|fro}} {{m|fro|tumour}} < {{etyl|la}} {{m|la|tumor}} < {{m|la|tumēre}} < {{etyl|ine-pro}} {{m|ine-pro|*tewh₂-}}
==={{noun}}===
{{en-noun}}
#{{タグ|en|英連邦|腫瘍学}}{{l|en|tumor}}の異綴。
===={{drv}}====
{{col3|lang=en|antitumour|intertumour|paratumour|brain tumour|hypertumour|intratumour|microtumour|nontumourigenic|pretumoural|protumour|peritumour|pseudotumour|tumoured|tumouricidal|tumourigenesis|tumourigenetic|tumourless|tumourlike|tumourous|tumoursphere|Wilms tumour|Wilms' tumour}}
=={{L|fro}}==
==={{alter}}===
* {{l|fro|tumeur}}
==={{etym}}===
{{bor|fro|la|tumor}}
==={{noun}}===
{{fro-noun|f}}
#{{タグ|fro|腫瘍学}}[[腫瘍]]。
===={{desc}}====
* {{desc|fr|tumeur}}
* {{desc|bor=1|enm|tumour}}
** {{desc|en|tumour|tumor}}
=={{L|enm}}==
==={{etym}}===
{{bor|enm|fro|tumour}} < {{etyl|la|enm}} {{m|la|tumor}}
==={{pron}}===
* {{IPA|lang=enm|ˈtiu̯mur|tiu̯ˈmuːr}}
==={{noun}}===
{{enm-noun|tumours}} {{タグ|enm|Late ME}}
#{{タグ|enm|腫瘍学}}[[腫瘍]]。
#{{おくりがな3|腫|は|れ|物|もの||はれもの}}の成長]]。
===={{desc}}====
* {{desc|en|tumour|tumor}}
pc5j960q6ruq0z4so2kep331iavgr1m
2280957
2280954
2026-06-08T14:28:12Z
M-30722
1202
/* {{noun}} */
2280957
wikitext
text/x-wiki
=={{L|en}}==
==={{etym}}===
{{etyl|enm}} {{m|enm|tumour}} < {{etyl|fro}} {{m|fro|tumour}} < {{etyl|la}} {{m|la|tumor}} < {{m|la|tumēre}} < {{etyl|ine-pro}} {{m|ine-pro|*tewh₂-}}
==={{noun}}===
{{en-noun}}
#{{タグ|en|英連邦|腫瘍学}}{{l|en|tumor}}の異綴。
===={{drv}}====
{{col3|lang=en|antitumour|intertumour|paratumour|brain tumour|hypertumour|intratumour|microtumour|nontumourigenic|pretumoural|protumour|peritumour|pseudotumour|tumoured|tumouricidal|tumourigenesis|tumourigenetic|tumourless|tumourlike|tumourous|tumoursphere|Wilms tumour|Wilms' tumour}}
=={{L|fro}}==
==={{alter}}===
* {{l|fro|tumeur}}
==={{etym}}===
{{bor|fro|la|tumor}}
==={{noun}}===
{{fro-noun|f}}
#{{タグ|fro|腫瘍学}}[[腫瘍]]。
===={{desc}}====
* {{desc|fr|tumeur}}
* {{desc|bor=1|enm|tumour}}
** {{desc|en|tumour|tumor}}
=={{L|enm}}==
==={{etym}}===
{{bor|enm|fro|tumour}} < {{etyl|la|enm}} {{m|la|tumor}}
==={{pron}}===
* {{IPA|lang=enm|ˈtiu̯mur|tiu̯ˈmuːr}}
==={{noun}}===
{{enm-noun|tumours}} {{タグ|enm|Late ME}}
#{{タグ|enm|腫瘍学}}[[腫瘍]]。
#{{おくりがな3|腫|は|れ|物|もの||はれもの}}の[[成長]]。
===={{desc}}====
* {{desc|en|tumour|tumor}}
ryxb3edn1sag79lyhpaljrookp2qglq
tumours
0
589322
2280956
2026-06-08T14:27:52Z
M-30722
1202
新規作成
2280956
wikitext
text/x-wiki
=={{L|en}}==
==={{noun}}===
{{en-plural}}
#{{plural of|en|tumour}}
=={{L|enm}}==
==={{noun}}===
{{head|enm|plural}}
#{{plural of|enm|tumour}}
d23hm1wxfmuby8r1c22oli7ehlmuszu
Tumor
0
589323
2280960
2026-06-08T14:32:22Z
M-30722
1202
[[en:Tumor]]より
2280960
wikitext
text/x-wiki
{{also|tumor|tumör|tümör}}
=={{L|de}}==
==={{etym}}===
{{bor|de|la|tumor}}
==={{pron}}===
* {{IPA|lang=de|ˈtuːˌmoːɐ̯|tuˈmoːɐ̯}}
* {{音声|de|De-Tumor.ogg|a=Berlin}}
==={{noun}}===
{{de-noun|g=m|genitive=Tumors|plural=Tumoren|plural2=Tumore}}
#{{タグ|de|腫瘍学}}[[腫瘍]]。
#: {{syn|de|Geschwulst}}
{{de-decl-noun-m|s|en}}
{{de-decl-noun-m|s|e}}
czronwomtfy5z53spgxtlirldhpnkzm
カテゴリ:ドイツ語 腫瘍学
14
589324
2280962
2026-06-08T14:34:12Z
M-30722
1202
新規作成
2280962
wikitext
text/x-wiki
<div class="pathnavbox">
* {{Pathnav|カテゴリ|言語|{{de}}|{{de}} 科学|disp4=科学|{{de}} 医学|disp5=医学|last=腫瘍学}}
* {{Pathnav|カテゴリ|分野|科学|医学|腫瘍学|last={{de}}}}
</div>
{{catmore}}
[[カテゴリ:{{de}}_医学|*しゆようかく]]
[[カテゴリ:腫瘍学|といつこ]]
av1exgrg2glux1kspf5qhfxoycv420p
Geschwulst
0
589325
2280964
2026-06-08T14:37:27Z
M-30722
1202
[[en:Geschwulst]]より
2280964
wikitext
text/x-wiki
=={{L|de}}==
==={{etym}}===
{{etyl|gmh|de}} {{m|gmh|geswulst}} < {{etyl|goh|de}} {{m|goh|giswulst}} < {{etyl|gem-pro|de}} {{m|gem-pro|*swellaną}}
==={{pron}}===
* {{IPA|lang=de|ɡəˈʃvʊlst}}
* {{音声|de|De-Geschwulst.ogg|a=Berlin}}
==={{noun}}===
{{de-noun|g=f|genitive=Geschwulst|plural=Geschwülste|plural2=Geschwulste|diminutive=Geschwülstchen|diminutive2=Geschwülstlein}}
{{de-noun|g=n|genitive=Geschwulsts|genitive2=Geschwulstes|plural=Geschwülste|plural2=Geschwulste}}
#{{タグ|de|腫瘍学}}[[腫瘍]]。
#: {{syn|de|Tumor}}
o706bmz1vrwuekcl39h0au6pc5ker7n
Tumors
0
589326
2280966
2026-06-08T14:40:16Z
M-30722
1202
新規作成
2280966
wikitext
text/x-wiki
{{also|tumors|tumörs}}
=={{L|de}}==
==={{pron}}===
* {{音声|de|De-Tumors.ogg|a=Berlin}}
==={{noun}}===
{{head|de|noun form}}
#{{l|de|Tumor}}の単数属格。
bxno52kd801v89zry02c1m4okc2i2jh
Tumore
0
589327
2280967
2026-06-08T14:41:09Z
M-30722
1202
新規作成
2280967
wikitext
text/x-wiki
{{also|tumore}}
=={{L|de}}==
==={{pron}}===
* {{音声|de|De-Tumore.ogg|a=Berlin}}
==={{noun}}===
{{head|de|noun form|g=m}}
#{{l|de|Tumor}}の複数主格。
#{{l|de|Tumor}}の複数対格。
#{{l|de|Tumor}}の複数属格。
8ud0wn58rxwkp31pwj644aahx6w7e0f
tumore
0
589328
2280968
2026-06-08T14:42:41Z
M-30722
1202
[[en:tumore]]より
2280968
wikitext
text/x-wiki
{{also|Tumore}}
=={{L|it}}==
==={{etym}}===
{{bor|it|la|tumor}}
==={{pron}}===
{{it-pr|tumóre}}
==={{noun}}===
{{it-noun|tumor|m|e|i}}
#{{タグ|it|腫瘍学}}[[腫瘍]]。
#: {{syn|it|cancro|neoplasia|brutto male}}
===={{drv}}====
* {{l|it|tumorale}}
===={{seealso}}====
* {{l|it|carcinoma}}
* {{l|it|oncologia}}
==={{anag}}===
* {{anagrams|it|a=emortu|muterò}}
=={{L|la}}==
==={{noun}}===
{{la-noun-form|tumōre}}
#{{l|la|tumor}}の単数奪格。
p31jmoscnlxio8vfblgr2rupnns61xu
tumori
0
589329
2280969
2026-06-08T14:44:10Z
M-30722
1202
新規作成
2280969
wikitext
text/x-wiki
=={{L|it}}==
==={{noun}}===
{{head|it|plural|g=m}}
#{{plural of|it|tumore}}
==={{anag}}===
* {{anagrams|it|a=imortu|rimuto|rimutò}}
=={{L|la}}==
==={{noun}}===
{{la-noun-form|tumōrī}}
#{{l|la|tumor}}の単数与格。
lpx83iv7wc9dlejv7tty38g6b57bdt6
oncologia
0
589330
2280970
2026-06-08T14:46:19Z
M-30722
1202
[[en:oncologia]]より
2280970
wikitext
text/x-wiki
{{also|oncología}}
=={{L|it}}==
==={{etym}}===
{{affix|it|onco-|-logia}}
==={{pron}}===
{{it-pr}}
==={{noun}}===
{{it-noun|oncologi|f|a|e}}
#{{topcat|it|腫瘍学}}[[腫瘍学]]。
===={{rel}}====
* {{l|it|oncologo}}
* {{l|it|oncologico}}
==={{anag}}===
* {{anagrams|it|a=acgilnooo|giocolano}}
=={{L|ca}}==
==={{pron}}===
* {{ca-IPA}}
* {{音声|ca|LL-Q7026 (cat)-Marvives-oncologia.wav|a=Barcelona}}
* {{rhymes|lang=ca|ia|s=5}}
==={{noun}}===
{{ca-noun|f|-}}
#{{topcat|ca|腫瘍学}}[[腫瘍学]]。
===={{drv}}====
* {{l|ca|oncològic}}
===={{rel}}====
* {{l|ca|oncòleg}}
=={{L|pt}}==
==={{etym}}===
{{affix|pt|onco-|-logia}}
==={{pron}}===
{{pt-IPA}}
* {{hyph|pt|on|co|lo|gi|a}}
==={{noun}}===
{{pt-noun|f|-}}
#{{topcat|pt|腫瘍学}}[[腫瘍学]]。
ffj4jcreqmnwef362d7jc296jouaqyi
oncologie
0
589331
2280971
2026-06-08T14:50:56Z
M-30722
1202
[[en:oncologie]]より
2280971
wikitext
text/x-wiki
=={{L|it}}==
==={{noun}}===
{{head|it|plural|g=f}}
#{{plural of|it|oncologia}}
==={{anag}}===
* {{anagrams|it|a=cegilnooo|enologico|neologico}}
=={{L|nl}}==
==={{etym}}===
{{etyl|grc|nl}} {{m|grc|ὄγκος}}
==={{pron}}===
* {{IPA|lang=nl|ˌɔŋ.koː.loːˈɣi}}
* {{音声|nl|Nl-oncologie.ogg}}
* {{hyphenation|on|co|lo|gie}}
* {{rhymes|lang=nl|i}}
==={{noun}}===
{{nl-noun|g=f|oncologieën|pl2=oncologies|oncologietje}}
#{{topcat|nl|腫瘍学}}[[腫瘍学]]。
===={{drv}}====
* {{l|nl|kinderoncologie}}
===={{rel}}====
* {{l|nl|oncoloog}}
* {{l|nl|oncologisch}}
===={{desc}}====
* {{desc|id|bor=1|onkologi}}
=={{L|fr}}==
==={{etym}}===
{{affix|fr|onco-|-logie}}
==={{pron}}===
* {{fr-IPA}}
* {{音声|fr|LL-Q150 (fra)-Poslovitch-oncologie.wav|a=Vosges}}
* {{音声|fr|LL-Q150 (fra)-DSwissK-oncologie.wav|a=Valais}}
* {{音声|fr|LL-Q150 (fra)-Bananax47-oncologie.wav|a=Agen}}
==={{noun}}===
{{fr-noun|f|unc}}
#{{topcat|fr|腫瘍学}}[[腫瘍学]]。
===={{rel}}====
* {{l|fr|oncologue}}
===={{desc}}====
* {{desc|tr|onkoloji|bor=1}}
=={{L|ro}}==
==={{etym}}===
{{bor|ro|it|oncologia}}
==={{noun}}===
{{ro-noun|f|-}}
#{{topcat|ro|腫瘍学}}[[腫瘍学]]。
{{ro-noun-f-ie|oncologi|n=sg}}
===={{rel}}====
* {{l|ro|oncolog}}
* {{l|ro|oncologic}}
d6smnvlqvbjnhm9lm1uit4714dt4ffq
oncologies
0
589332
2280972
2026-06-08T14:51:50Z
M-30722
1202
新規作成
2280972
wikitext
text/x-wiki
=={{L|en}}==
==={{noun}}===
{{en-plural}}
#{{plural of|en|oncology}}
8ey12fmlngs3tauzfe05yfflwbu2c8t
oncology
0
589333
2280973
2026-06-08T14:54:03Z
M-30722
1202
[[en:oncology]]より
2280973
wikitext
text/x-wiki
=={{L|en}}==
==={{etym}}===
1857年初出。{{surf|en|onco-|-logy}}
==={{pron}}===
* {{音声|en|en-us-oncology.ogg|a=US}}
* {{IPA|lang=en|ɒŋˈkɒləd͡ʒi}}
* {{IPA|lang=en|ɒnəˈkɒləd͡ʒi|a=proscribed}}
==={{noun}}===
{{en-noun|oncologies|-}}
#{{topcat|en|腫瘍学}}[[腫瘍学]]。
#: {{hypo|en|gyneco-oncology|neuro-oncology|cancerology}}
===={{drv}}====
{{col3|lang=en|biooncology|cardiooncology|dermatooncology|psychooncology|radiooncology|gyneco-oncology|neuro-oncology|oncologic,oncological|oncologically|oncologist}}
===={{rel}}====
{{col3|lang=en|oncogene|oncogenesis|oncogenetic|oncogenetics|oncogenic|oncogenics|oncogenome|oncogenomic|oncogenomics|oncoprotein|oncoproteogenome|oncoproteome|oncoproteomic|oncoproteomics|proto-oncogene|proto-oncogenic}}
see5fgvippasamb0rspnas54g66jkm4
onkologi
0
589334
2280975
2026-06-08T15:05:03Z
M-30722
1202
[[en:onkologi]]より
2280975
wikitext
text/x-wiki
=={{L|id}}==
==={{etym}}===
{{bor|id|nl|oncologie}}
==={{noun}}===
{{id-noun}}
#{{topcat|id|腫瘍学}}[[腫瘍学]]。
===={{rel}}====
* {{l|id|onkolog}}
* {{l|id|onkologis}}
=={{L|sv}}==
==={{noun}}===
{{sv-noun|c}}
#{{topcat|sv|腫瘍学}}[[腫瘍学]]。
{{sv-noun-unc-irreg-c|2=onkologin}}
===={{rel}}====
* {{l|sv|onkolog}}
* {{l|sv|onkologisk}}
===={{seealso}}====
* {{l|sv|cancer}}
=={{L|fi}}==
==={{pron}}===
{{fi-p|onko-logi}}
==={{noun}}===
{{fi-noun}}
#{{topcat|fi|腫瘍学}}[[腫瘍学]]。
{{fi-decl-risti|onkolog|||a}}
tmwsd7lwvq25qwvex6xvwbik7cbdbdh
oncological
0
589335
2280976
2026-06-08T15:06:51Z
M-30722
1202
[[en:oncological]]より
2280976
wikitext
text/x-wiki
=={{L|en}}==
==={{etym}}===
{{affix|en|oncology|-ical}}
==={{pron}}===
* {{IPA|lang=en|ˌɒŋkəˈlɒd͡ʒɪkəɫ}}
==={{adjective}}===
{{en-adj|-}}
#{{タグ|en|腫瘍学|label=no}}[[腫瘍学]]の。
===={{syn}}====
* {{l|en|oncologic}}
===={{drv}}====
* {{l|en|hematooncological}}
* {{l|en|neurooncological}}
* {{l|en|oncologically}}
* {{l|en|psychooncological}}
* {{l|en|radiooncological}}
781ko79xbtjusigrjt8dgwhfck00rvp
onkologis
0
589336
2280978
2026-06-08T15:09:09Z
M-30722
1202
[[en:onkologis]]より
2280978
wikitext
text/x-wiki
=={{L|id}}==
==={{etym}}===
{{bor|id|nl|oncologisch}}
==={{adjective}}===
{{id-adj}}
#{{タグ|id|腫瘍学|label=no}}[[腫瘍学]]の。
===={{rel}}====
* {{l|id|onkolog}}
* {{l|id|onkologi}}
=={{L|sv}}==
==={{noun}}===
{{head|sv|noun form}}
#{{l|sv|onkologi}}の非限定単数属格。
04vwsfa3rb0zaw51j26tv1kfhe3htv2
oncologisch
0
589337
2280979
2026-06-08T15:10:32Z
M-30722
1202
[[en:oncologisch]]より
2280979
wikitext
text/x-wiki
=={{L|nl}}==
==={{etym}}===
{{affix|nl|oncologie|-isch}}
==={{pron}}===
* {{IPA|lang=nl|ˌɔŋ.koːˈloː.ɣis}}
* {{音声|nl|Nl-oncologisch.ogg}}
* {{hyphenation|on|co|lo|gisch}}
* {{rhymes|lang=nl|oːɣis}}
==={{adjective}}===
{{nl-adj|-}}
#{{タグ|nl|腫瘍学|label=no}}[[腫瘍学]]の。
{{nl-decl-adj||-}}
===={{rel}}====
* {{l|nl|oncologie}}
* {{l|nl|oncoloog}}
===={{desc}}====
* {{desc|id|bor=1|onkologis}}
lcks9zb43flhmk689jxq663bd55ne6c
onkologins
0
589338
2280980
2026-06-08T15:11:28Z
M-30722
1202
新規作成
2280980
wikitext
text/x-wiki
=={{L|sv}}==
==={{noun}}===
{{head|sv|noun form}}
#{{l|sv|onkologi}}の限定単数属格。
brvcijfjppoty7gzxajx2joo77posiz
onkologin
0
589339
2280981
2026-06-08T15:11:55Z
M-30722
1202
新規作成
2280981
wikitext
text/x-wiki
{{also|Onkologin}}
=={{L|sv}}==
==={{noun}}===
{{head|sv|noun form}}
#{{l|sv|onkologi}}の限定単数形。
t06f2o5dhkflf4wt2o03nwe2i579id5
onkoloji
0
589340
2280982
2026-06-08T15:13:25Z
M-30722
1202
[[en:onkoloji]]より
2280982
wikitext
text/x-wiki
=={{L|tr}}==
==={{etym}}===
{{bor|tr|fr|oncologie}}
==={{pron}}===
* {{IPA|lang=tr|ɔn.kɔ.lɔ.ʒi}}
==={{noun}}===
{{tr-noun|yi|ler}}
#{{topcat|tr|腫瘍学}}[[腫瘍学]]。
{{tr-infl-noun-v|i}}
g05k8mol945nj24646naiohgsbfpa3j
oncología
0
589341
2280983
2026-06-08T15:14:54Z
M-30722
1202
[[en:oncología]]より
2280983
wikitext
text/x-wiki
{{DEFAULTSORT:oncologia}}
{{also|oncologia}}
=={{L|es}}==
==={{etym}}===
{{affix|es|onco-|-logía}}
==={{pron}}===
{{es-pr}}
==={{noun}}===
{{es-noun|f|-}}
#{{topcat|es|腫瘍学}}[[腫瘍学]]。
===={{drv}}====
* {{l|es|oncológico}}
===={{rel}}====
* {{l|es|oncólogo}}
neqg8hlqp6c0teva3bwh0oew32zp3wk
Onkologie
0
589342
2280984
2026-06-08T15:16:30Z
M-30722
1202
[[en:Onkologie]]より
2280984
wikitext
text/x-wiki
{{also|onkologie}}
=={{L|de}}==
==={{pron}}===
* {{IPA|lang=de|ˌɔŋkoloˈɡiː}}
* {{音声|de|De-Onkologie.ogg|a=Berlin}}
==={{noun}}===
{{de-noun|g=f||-}}
#{{topcat|de|腫瘍学}}[[腫瘍学]]。
===={{rel}}====
* {{l|de|Onkologe}}
* {{l|de|Onkologin}}
* {{l|de|onkologisch}}
hwe1clu862qaq8bbau6i1l2pm7wtznw
onkologie
0
589343
2280985
2026-06-08T15:17:45Z
M-30722
1202
[[en:onkologie]]より
2280985
wikitext
text/x-wiki
{{also|Onkologie}}
=={{L|cs}}==
==={{pron}}===
* {{cs-IPA}}
==={{noun}}===
{{cs-noun|f}}
#{{topcat|cs|腫瘍学}}[[腫瘍学]]。
{{cs-ndecl|<f>}}
===={{rel}}====
* {{l|cs|onkolog}}
* {{l|cs|onkologický}}
bhn8kijdisaf36fdontlvgox5fj2z7k
oncoloxía
0
589344
2280986
2026-06-08T15:19:12Z
M-30722
1202
[[en:oncoloxía]]より
2280986
wikitext
text/x-wiki
{{DEFAULTSORT:oncoloxia}}
=={{L|ast}}==
==={{noun}}===
{{ast-noun|f|-}}
#{{topcat|ast|腫瘍学}}[[腫瘍学]]。
===={{rel}}====
* {{l|ast|oncólogu}}
* {{l|ast|oncolóxicu}}
=={{L|gl}}==
==={{noun}}===
{{gl-noun|f|-}}
#{{topcat|gl|腫瘍学}}[[腫瘍学]]。
===={{rel}}====
* {{l|gl|oncólogo}}
* {{l|gl|oncolóxico}}
g3pmrg1i9xg5354fwfm47crifqsnfu0
онкология
0
589345
2280987
2026-06-08T15:20:44Z
M-30722
1202
[[en:онкология]]より
2280987
wikitext
text/x-wiki
=={{L|ru}}==
==={{pron}}===
* {{ru-IPA|онколо́гия}}
* {{音声|ru|LL-Q7737 (rus)-Jordónus-онкология.wav|a=Moscow}}
==={{noun}}===
{{ru-noun+|онколо́гия}}
#{{topcat|ru|腫瘍学}}[[腫瘍学]]。
#{{タグ|ru|婉曲表現}}[[癌]]。
{{ru-noun-table|онколо́гия}}
===={{rel}}====
* {{l|ru|онко́лог}}
* {{l|ru|онкологи́ческий}}
3m0mxw9s8da7r8obpulcpuhk6a2re9g
онкологии
0
589346
2280988
2026-06-08T15:22:03Z
M-30722
1202
新規作成
2280988
wikitext
text/x-wiki
{{also|онкологий}}
=={{L|ru}}==
==={{pron}}===
* {{ru-IPA|онколо́гии}}
==={{noun}}===
{{head|ru|noun form|head=онколо́гии|g=f-in}}
#{{l|ru|онколо́гия}}の複数主格。
#{{l|ru|онколо́гия}}の単数生格。
#{{l|ru|онколо́гия}}の単数与格。
#{{l|ru|онколо́гия}}の複数対格。
#{{l|ru|онколо́гия}}の単数前置格。
q09obfp8a1ut72vrqtiblf22r6bg0ge
онкологий
0
589347
2280989
2026-06-08T15:22:20Z
M-30722
1202
新規作成
2280989
wikitext
text/x-wiki
{{also|онкологии}}
=={{L|ru}}==
==={{pron}}===
* {{ru-IPA|онколо́гий}}
==={{noun}}===
{{head|ru|noun form|head=онколо́гий|g=f-in}}
#{{l|ru|онколо́гия}}の複数生格。
bu4di1efnqfvmmlxrrtabio4n37m86v
онкологиями
0
589348
2280990
2026-06-08T15:23:06Z
M-30722
1202
新規作成
2280990
wikitext
text/x-wiki
=={{L|ru}}==
==={{pron}}===
* {{ru-IPA|онколо́гия̣ми}}
==={{noun}}===
{{head|ru|noun form|head=онколо́гиями|g=f-in}}
#{{l|ru|онколо́гия}}の複数造格。
j03nvi2mhjshn1cq7ambt9vr449b5ru
онкологиям
0
589349
2280991
2026-06-08T15:23:21Z
M-30722
1202
新規作成
2280991
wikitext
text/x-wiki
=={{L|ru}}==
==={{pron}}===
* {{ru-IPA|онколо́гия̣м}}
==={{noun}}===
{{head|ru|noun form|head=онколо́гиям|g=f-in}}
#{{l|ru|онколо́гия}}の複数与格。
6sdq2gow33rdamq0i5c44zk9eveck90
онкологиях
0
589350
2280992
2026-06-08T15:23:46Z
M-30722
1202
新規作成
2280992
wikitext
text/x-wiki
=={{L|ru}}==
==={{pron}}===
* {{ru-IPA|онколо́гия̣х}}
==={{noun}}===
{{head|ru|noun form|head=онколо́гиях|g=f-in}}
#{{l|ru|онколо́гия}}の複数前置格。
pkb05zswd97a5gj9lo9ru6lenhcxhq6
онкологиею
0
589351
2280993
2026-06-08T15:24:07Z
M-30722
1202
新規作成
2280993
wikitext
text/x-wiki
=={{L|ru}}==
==={{pron}}===
* {{ru-IPA|онколо́гиею}}
==={{noun}}===
{{head|ru|noun form|head=онколо́гиею|g=f-in}}
#{{l|ru|онколо́гия}}の単数造格。
47h6o19o20sk74ob8hdm18ijtclquk1
онкологию
0
589352
2280994
2026-06-08T15:24:24Z
M-30722
1202
新規作成
2280994
wikitext
text/x-wiki
=={{L|ru}}==
==={{pron}}===
* {{ru-IPA|онколо́гию}}
==={{noun}}===
{{head|ru|noun form|head=онколо́гию|g=f-in}}
#{{l|ru|онколо́гия}}の単数対格。
nazwiydmvy1602k6kqv9kpjv6yzy7qz
онкологией
0
589353
2280995
2026-06-08T15:24:40Z
M-30722
1202
新規作成
2280995
wikitext
text/x-wiki
=={{L|ru}}==
==={{pron}}===
* {{ru-IPA|онколо́гией}}
==={{noun}}===
{{head|ru|noun form|head=онколо́гией|g=f-in}}
#{{l|ru|онколо́гия}}の単数造格。
21lt088d1zspwhugdkcdsu4pemeewax
онкологический
0
589354
2280996
2026-06-08T15:27:06Z
M-30722
1202
[[en:онкологический]]より
2280996
wikitext
text/x-wiki
=={{L|ru}}==
==={{etym}}===
{{affix|ru|онколо́гия|-и́ческий}}
==={{pron}}===
* {{ru-IPA|онкологи́ческий}}
==={{adjective}}===
{{ru-adj|онкологи́ческий|-}}
#{{タグ|ru|腫瘍学|label=no}}[[腫瘍学]]の。
{{ru-decl-adj|онкологи́ческий|-}}
===={{rel}}====
* {{l|ru|онколо́гия}}
* {{l|ru|онко́лог}}
n0qkw9dz0id0kvx9gpkixyflhl6zhw4
почка
0
589355
2281004
2026-06-08T15:46:15Z
M-30722
1202
[[en:почка]]より
2281004
wikitext
text/x-wiki
=={{L|bg}}==
==={{pron}}===
{{bg-pr|по́чка|a=[KK]}}
==={{noun}}===
{{bg-noun|по́чка|f}} {{タグ|bg|方言}}
#(溝と陸の)[[境界]]。
#{{ふりがな|縁|へり}}、{{ふりがな|際|きわ}}。
{{bg-ndecl|по́чка<>}}
===={{coor}}====
* {{l|bg|заста́ва}}
* {{l|bg|прегра́да}}
* {{l|bg|межда́}}
* {{l|bg|гра́ница}}
* {{l|bg|разде́л}}, {{l|bg|преде́л}}
* {{l|bg|кро́ма}} (方言)
=={{L|ru}}==
==={{pron}}===
* {{ru-IPA|по́чка}}
* {{音声|ru|Ru-почка.ogg}}
==={{etym}}1===
{{etyl|orv|ru}} {{m|orv|почька}}
===={{noun}}====
{{ru-noun+|по́чка|*}}
#{{タグ|ru|解剖学}}[[腎臓]]。
{{ru-noun-table|по́чка|*}}
{{ru-noun-table|по́чка|*|old=y}}
====={{drv}}=====
* {{l|ru|по́здно пить боржо́ми, когда́ по́чки отказа́ли}}
====={{desc}}=====
* {{desc|hy|պոչկա|bor=1}}
* {{desc|izh|pocka|bor=1}}
==={{etym}}2===
{{etyl|orv|ru}} {{m|orv|почька}} < {{etyl|sla-pro|ru}} {{m|sla-pro|*pъťьka}}
===={{noun}}====
{{ru-noun+|по́чка|*}}
#{{タグ|ru|植物学}}{{ふりがな|芽|め}}、{{ふりがな|蕾|つぼみ}}。
{{ru-noun-table|по́чка|*}}
{{ru-noun-table|по́чка|*|old=y}}
====={{desc}}=====
* {{desc|izh|pocka|bor=1}}
othkum1zjedqby2qzogabw3jl12uzxe
онкологія
0
589356
2281009
2026-06-08T15:58:40Z
M-30722
1202
[[en:онкологія]]より
2281009
wikitext
text/x-wiki
{{also|онкология}}
=={{L|uk}}==
==={{etym}}===
{{etyl|grc|uk}} {{m|grc|ὄγκος}}
==={{pron}}===
* {{uk-IPA|онколо́гія}}
* {{音声|uk|LL-Q8798 (ukr)-Tohaomg-онкологія.wav}}
==={{noun}}===
{{uk-noun|онколо́гія<sg>|adj=онкологі́чний}}
#{{topcat|uk|腫瘍学}}[[腫瘍学]]。
{{uk-ndecl|онколо́гія<sg>}}
===={{rel}}====
* {{l|uk|онко́лог|g=m}}
==={{seealso}}===
* {{l|uk|пухли́на|g=f}}
3u1c0xldsc5zaajlk53iyfmkjlnqhls
пухлина
0
589357
2281010
2026-06-08T16:02:29Z
M-30722
1202
[[en:пухлина]]より
2281010
wikitext
text/x-wiki
=={{L|uk}}==
==={{etym}}===
{{m|uk|пу́хнути|g=impf}}
==={{pron}}===
* {{uk-IPA|пухли́на}}
==={{noun}}===
{{uk-noun|пухли́на<>}}
#{{おくりがな2|腫|は|れ|はれ}}、{{おくりがな3|腫|は|れ|物|もの||はれもの}}。
#{{タグ|uk|腫瘍学}}[[腫瘍]]、[[新生物]]。
#:{{syn|uk|новоутво́рення}}
{{uk-ndecl|пухли́на<>}}
1seib9evhdad7frhoqu0is7nhfdxzli
пухліна
0
589358
2281011
2026-06-08T16:04:16Z
M-30722
1202
[[en:пухліна]]より
2281011
wikitext
text/x-wiki
=={{L|be}}==
==={{etym}}===
{{m|be|пу́хнуць|g=impf}}
==={{pron}}===
* {{be-IPA|пухлі́на}}
==={{noun}}===
{{be-noun|пухлі́на<>}}
#{{おくりがな2|腫|は|れ|はれ}}、{{おくりがな3|腫|は|れ|物|もの||はれもの}}。
#{{タグ|be|腫瘍学}}[[腫瘍]]、[[新生物]]。
{{be-ndecl|пухлі́на<>}}
37ecxdpt5tsefd5di555zpla0pc52el
онкологија
0
589359
2281012
2026-06-08T16:07:33Z
M-30722
1202
[[en:онкологија]]より
2281012
wikitext
text/x-wiki
=={{L|sh}}==
==={{pron}}===
* {{IPA|lang=sh|onkolǒɡija}}
* {{hyphenation|он|ко|ло|ги|ја}}
==={{noun}}===
{{sh-noun+|head=онколо̀гија|g=f}}
#{{topcat|sh|腫瘍学}}[[腫瘍学]]。
{{sh-decl-noun-sing|онкологија|онкологије|онкологији|онкологију|онкологијо|онкологији|онкологијом}}
=={{L|mk}}==
==={{pron}}===
* {{mk-IPA}}
==={{noun}}===
{{mk-noun|f|adj=онколошки}}
#{{topcat|mk|腫瘍学}}[[腫瘍学]]。
{{mk-decl-noun-f-ј|онкологи|n=sg}}
0tj80ghafi9r3uw3wzs0aexaq4o3ni1
onkologija
0
589360
2281013
2026-06-08T16:08:21Z
M-30722
1202
新規作成
2281013
wikitext
text/x-wiki
=={{L|sh}}==
==={{pron}}===
* {{IPA|lang=sh|onkolǒɡija}}
* {{hyphenation|on|ko|lo|gi|ja}}
==={{noun}}===
{{sh-noun+|head=onkològija|g=f}}
#{{topcat|sh|腫瘍学}}[[腫瘍学]]。
{{sh-decl-noun-sing|onkologija|onkologije|onkologiji|onkologiju|onkologijo|onkologiji|onkologijom}}
e1yhdohqr5as0lsch0cgfhrhveap5do
onkológia
0
589361
2281014
2026-06-08T16:10:41Z
M-30722
1202
[[en:onkológia]]より
2281014
wikitext
text/x-wiki
{{DEFAULTSORT:onkologia}}
{{also|onkologia|onkologią}}
=={{L|hu}}==
==={{etym}}===
{{bor|hu|la|oncologia}} < {{etyl|grc|hu}} {{m|grc|ὄγκος}} + {{m|grc|-λογία}}
==={{pron}}===
* {{hu-IPA}}
* {{hyphenation|on|ko|ló|gia}}
* {{rhymes|lang=hu|jɒ}}
==={{noun}}===
{{hu-noun|-}}
#{{topcat|hu|腫瘍学}}[[腫瘍学]]。
{{hu-infl-nom|onkológiá|o|n=sg}}{{hu-pos-tok|onkológiá|n=sg}}
===={{drv}}====
* {{l|hu|onkológiai}}
===={{rel}}====
* {{l|hu|onkológus}}
==={{seealso}}===
* {{l|hu|rákgyógyászat}}
* {{l|hu|rákkutatás}}
0b9ok3dimz7z3bxnosukskrr13ge2yy
onkologia
0
589362
2281015
2026-06-08T16:12:51Z
M-30722
1202
[[en:onkologia]]より
2281015
wikitext
text/x-wiki
{{also|onkológia|onkologią}}
=={{L|fi}}==
==={{pron}}===
{{fi-p|onko-logia}}
==={{etym}}1===
{{affix|fi|onko-|-logia}}
===={{noun}}====
{{fi-noun}}
#{{topcat|fi|腫瘍学}}[[腫瘍学]]。
{{fi-decl-kulkija|onkologi|a}}
==={{etym}}2===
===={{noun}}====
{{head|fi|noun form}}
#{{l|fi|onkologi}}の単数分格。
=={{L|pl}}==
==={{etym}}===
{{affix|pl|onko-|-logia}}
==={{pron}}===
{{pl-pr|a=LL-Q809 (pol)-Olaf-onkologia.wav}}
==={{noun}}===
{{pl-noun|f}}
#{{topcat|pl|腫瘍学}}[[腫瘍学]]。
{{pl-decl-noun-f|tantum=s}}
===={{drv}}====
* (形容詞) {{l|pl|onkologiczny}}
* (副詞) {{l|pl|onkologicznie}}
* (名詞) {{l|pl|onkolog}}
8i14i9jtbf0n5l98o5qu2nw7iv1dgil
grapple
0
589363
2281016
2026-06-08T16:28:17Z
M-30722
1202
[[en:grapple]]より
2281016
wikitext
text/x-wiki
=={{L|en}}==
==={{alter}}===
* {{l|en|graple}} (廃用)
==={{pron}}===
* {{enPR|grăpʹəl|a=RP|a2=GA}}, {{IPA|lang=en|ˈɡɹæpəl}}
* {{音声|en|en-ca-grapple.oga|a=CA}}
* {{音声|en|en-au-grapple.ogg|a=AU}}
* {{rhymes|lang=en|æpəl|s=2}}
* {{hyphenation|grap|ple}}
==={{etym}}1===
*{{etyl|enm}} {{m|enm|*grapplen}} < {{etyl|ang}} {{m|ang|*græpplian}} < {{etyl|gem-pro}} {{m|gem-pro|*graipilōną}}, {{m|gem-pro|*grabbalōną}} < {{etyl|ine-pro}} {{m|ine-pro|*gʰrebʰ-}}
*{{affix|en|grab|-le}}
===={{verb}}====
{{en-verb|grappl|ing}}
#{{タグ|en|他動詞}}[[しっかり]]{{おくりがな2|掴|つか|む|つかむ}}。
#{{タグ|en|自動詞}}[[とっくみあう|取っ組み合う]]、[[格闘]]する。
#{{タグ|en|figuratively|{{m|en|with}}を伴って}}[[懸命]]に{{おくりがな3|取|と|り|組|く|む|とりくむ}}。
====={{drv}}=====
* {{l|en|gaffle}}
* {{l|en|grapplehook}}
* {{l|en|grapplement}}
* {{l|en|grappler}}
* {{l|en|grapplesome}}
* {{l|en|grapple with}}
* {{l|en|ungrapple}}
===={{noun}}====
{{en-noun|~}}
#しっかり掴むこと。
#取っ組み合い、格闘。
====={{drv}}=====
* [[grapple plant]]
==={{etym}}2===
{{etyl|enm}} {{m|enm|*grapple}}, {{m|enm|*graple}} < {{etyl|fro}} {{m|fro|grappil}} < {{etyl|fro}} {{m|fro|grape}}, {{m|fro|grappe}}, {{m|fro|crape}} < {{etyl|frk}} {{m|gmw-pro|*krappō}} < {{etyl|ine-pro}} {{m|ine-pro|*grep-}}, {{m|ine-pro|*gremb-}} < {{m|ine-pro|*ger-}}
===={{noun}}====
{{en-noun}}
#{{タグ|en|道具}}引っ掛け{{ふりがな|鉤|かぎ}}。
===={{verb}}====
{{en-verb|grappl|ing}}
#{{タグ|en|他動詞}}引っ掛け鉤で{{おくりがな3|引|ひ|っ|掛|か|ける|ひっかける}}。
#{{タグ|en|他動詞|自動詞}}よじ{{おくりがな2|登|のぼ|る|よじのぼる}}。
#{{タグ|en|自動詞}}引っ掛け鉤を使う。
===={{drv}}====
* [[grappling tongs]]
iwihlryj73a3hxhf7664kr30xe26ysc
grapples
0
589364
2281017
2026-06-08T16:29:24Z
M-30722
1202
新規作成
2281017
wikitext
text/x-wiki
=={{L|en}}==
==={{noun}}===
{{en-plural}}
#{{plural of|en|grapple}}
==={{verb}}===
{{head|en|verb form}}
#{{l|en|grapple}}の直説法現在第三人称単数形。
4g0v5nghfilc5ro3o9auls86lf04i6n
grappled
0
589365
2281018
2026-06-08T16:29:45Z
M-30722
1202
新規作成
2281018
wikitext
text/x-wiki
=={{L|en}}==
==={{verb}}===
{{head|en|verb form}}
#{{l|en|grapple}}の過去形・過去分詞。
4foj50d82l73pskt1hhf11bxzlhbonr
ὄγκος
0
589366
2281020
2026-06-08T16:38:03Z
M-30722
1202
[[en:ὄγκος]]より
2281020
wikitext
text/x-wiki
{{DEFAULTSORT:ογκοσ}}
{{also|όγκος}}
=={{L|grc}}==
==={{pron}}===
{{grc-IPA}}
==={{etym}}1===
{{etyl|grk-pro|grc}} {{m|grk-pro|*ónkos}} < {{etyl|ine-pro|grc}} {{m|ine-pro|*h₂ónkos}}
===={{noun}}====
{{grc-noun|ὄγκου|m|second}}
#[[カーブ]]、[[角]]。
#{{タグ|grc|道具}}{{ふりがな|鉤|かぎ}}。
{{grc-decl|ὄγκος|ὄγκου|form=M}}
==={{etym}}2===
{{etyl|ine-pro|grc}} {{m|ine-pro|*h₁onḱos}} < {{m|ine-pro|*h₁neḱ-}} か
===={{noun}}====
{{grc-noun|ὄγκου|m|second}}
#{{ふりがな|嵩|かさ}}、{{ふりがな|塊|かたまり}}、[[体積]]、[[容積]]。
#{{タグ|grc|腫瘍学}}[[腫瘍]]。
#{{タグ|grc|性}}[[性的]][[いたずら]]。
#[[微塵]]。
{{grc-decl|ὄγκος|ὄγκου|form=M}}
====={{drv}}=====
* {{l|grc|ὀγκηρός}}
====={{desc}}=====
* {{desc|en|onco-}}
* {{desc|el|όγκος}}
* {{desc|es|onco-}}
* {{desc|pt|onco-}}
s9ylfxo8be2kutgqu7s28blllnkow3b
όγκος
0
589367
2281021
2026-06-08T16:40:38Z
M-30722
1202
[[en:όγκος]]より
2281021
wikitext
text/x-wiki
{{DEFAULTSORT:ογκοσ}}
{{also|ὄγκος}}
=={{L|el}}==
==={{etym}}===
{{bor|el|grc|ὄγκος}}
==={{pron}}===
* {{IPA|lang=el|ˈoŋ.ɡos}}
* {{hyphenation|el|ό|γκος}}
==={{noun}}===
{{el-noun|m|όγκοι}}
#{{ふりがな|嵩|かさ}}、{{ふりがな|塊|かたまり}}、[[体積]]、[[容積]]。
#{{タグ|el|腫瘍学}}[[腫瘍]]。
{{el-nM-ος-οι-2a|όγκ}}
===={{syn}}====
* {{l|el|χωρητικότητα|g=f}}
===={{rel}}====
{{top}}
* {{l|el|διογκώνω}}
* {{l|el|εξογκώνω}}
* {{l|el|ογκόλιθος|g=m}}
* {{l|el|ογκολογία|g=f}}
* {{l|el|ογκολόγος|g=m|g2=f}}
* {{l|el|ογκομέτρηση|g=f}}
* {{l|el|ογκομετρία|g=f}}
* {{l|el|ογκομετρικός}}
* {{l|el|ογκόμετρο|g=n}}
* {{l|el|ογκούμαι}}
* {{l|el|ογκώδης}}
* {{l|el|υπέρογκος}}
{{bottom}}
kkd3wyhq39drckonu9yr2lf6z4pob7x
ογκολογία
0
589368
2281022
2026-06-08T16:42:12Z
M-30722
1202
新規作成
2281022
wikitext
text/x-wiki
{{DEFAULTSORT:ογκολογια}}
=={{L|el}}==
==={{noun}}===
{{el-noun|f|unc}}
#{{topcat|el|腫瘍学}}[[腫瘍学]]。
{{el-nF-α-2a|ογκολογί}}
43u62828nl2yq6xmah347szvajhqz72
tümör
0
589369
2281024
2026-06-08T16:45:31Z
M-30722
1202
[[en:tümör]]より
2281024
wikitext
text/x-wiki
{{DEFAULTSORT:tumor}}
{{also|tumor|Tumor|tumör}}
=={{L|tr}}==
==={{etym}}===
{{bor|tr|fr|tumeur}}
==={{pron}}===
* {{音声|tr|LL-Q256 (tur)-ToprakM-tümör.wav}}
* {{rhymes|lang=tr|œɾ|s=2}}
==={{noun}}===
{{tr-noun|ü|ler}}
#{{タグ|tr|腫瘍学}}[[腫瘍]]。
{{tr-infl-noun-c|ö|poss=1}}
0isqpia9sqw2ax51ljoy3r7fcdp0q5e
tumör
0
589370
2281025
2026-06-08T16:46:29Z
M-30722
1202
[[en:tumör]]より
2281025
wikitext
text/x-wiki
{{also|tumor|Tumor|tümör}}
=={{L|sv}}==
==={{etym}}===
{{etyl|la|sv}} {{m|la|tumor}}
==={{noun}}===
{{sv-noun|c}}
#{{タグ|sv|腫瘍学}}[[腫瘍]]。
{{sv-infl-noun-c-er}}
9279qqc0fug6xsjp7uzviqbyumrtxko
tumörs
0
589371
2281026
2026-06-08T16:47:18Z
M-30722
1202
新規作成
2281026
wikitext
text/x-wiki
{{also|tumors|Tumors}}
=={{L|sv}}==
==={{noun}}===
{{head|sv|noun form}}
#{{l|sv|tumör}}の非限定単数属格。
r64mc6vgb48m7yg86ghhaosys4sqemg
tumörens
0
589372
2281027
2026-06-08T16:47:33Z
M-30722
1202
新規作成
2281027
wikitext
text/x-wiki
=={{L|sv}}==
==={{noun}}===
{{head|sv|noun form}}
#{{l|sv|tumör}}の限定単数属格。
prailnzcd2qqiu3ub75dmsadz2rnae1
tumören
0
589373
2281028
2026-06-08T16:47:53Z
M-30722
1202
新規作成
2281028
wikitext
text/x-wiki
{{also|tumoren|Tumoren}}
=={{L|sv}}==
==={{noun}}===
{{head|sv|noun form}}
#{{l|sv|tumör}}の限定単数形。
p1r7y8n2v73curvmsnrgpi94fajxa0d
tumörers
0
589374
2281029
2026-06-08T16:48:23Z
M-30722
1202
新規作成
2281029
wikitext
text/x-wiki
=={{L|sv}}==
==={{noun}}===
{{head|sv|noun form}}
#{{l|sv|tumör}}の非限定複数属格。
nrms8kh1pglh2lwgvrgtfjuw0thsv3b
tumörernas
0
589375
2281030
2026-06-08T16:48:35Z
M-30722
1202
新規作成
2281030
wikitext
text/x-wiki
=={{L|sv}}==
==={{noun}}===
{{head|sv|noun form}}
#{{l|sv|tumör}}の限定複数属格。
lc2895ibcccjts10ue43zq8ol0vwe6t
tumörer
0
589376
2281031
2026-06-08T16:48:51Z
M-30722
1202
新規作成
2281031
wikitext
text/x-wiki
=={{L|sv}}==
==={{noun}}===
{{head|sv|noun form}}
#{{l|sv|tumör}}の非限定複数形。
sis15t68crn5vpkp4s8pwyke0tasbpy
tumörerna
0
589377
2281032
2026-06-08T16:49:03Z
M-30722
1202
新規作成
2281032
wikitext
text/x-wiki
=={{L|sv}}==
==={{noun}}===
{{head|sv|noun form}}
#{{l|sv|tumör}}の限定複数形。
8m6x7otfp48lbgj5bbpakgkxj2usb1j
Tumoren
0
589378
2281033
2026-06-08T16:49:57Z
M-30722
1202
新規作成
2281033
wikitext
text/x-wiki
{{also|tumoren|tumören}}
=={{L|de}}==
==={{pron}}===
* {{音声|de|De-Tumoren.ogg|a=Berlin}}
==={{noun}}===
{{head|de|noun form|g=m}}
#{{l|de|Tumor}}の複数形。
g9vb5f48748uo3m7zx2ejq81yxku6hn
tumoro
0
589379
2281034
2026-06-08T16:52:21Z
M-30722
1202
新規作成
2281034
wikitext
text/x-wiki
{{also|tumɔ́ro}}
=={{L|eo}}==
==={{pron}}===
{{eo-pr}}
==={{noun}}===
{{eo-noun}}
#{{タグ|eo|腫瘍学}}[[腫瘍]]。
ryusboom41xc6dts8ll0ql725mpktvg
tumorojn
0
589380
2281035
2026-06-08T16:53:12Z
M-30722
1202
新規作成
2281035
wikitext
text/x-wiki
=={{L|eo}}==
==={{noun}}===
{{eo-noun-form}}
#{{l|eo|tumoro}}の複数対格。
8hy9nru4pdujxmklgem872w0zzhgx1t
tumoron
0
589381
2281036
2026-06-08T16:53:26Z
M-30722
1202
新規作成
2281036
wikitext
text/x-wiki
=={{L|eo}}==
==={{noun}}===
{{eo-noun-form}}
#{{l|eo|tumoro}}の単数対格。
mo2tveuxqrthdpzp3xsn05gwjpsix0o
tumoroj
0
589382
2281037
2026-06-08T16:53:39Z
M-30722
1202
新規作成
2281037
wikitext
text/x-wiki
=={{L|eo}}==
==={{noun}}===
{{eo-noun-form}}
#{{l|eo|tumoro}}の複数形。
c6ljfodwbomizgohfta4cwwev7ppcma
はちくい
0
589383
2281042
2026-06-08T22:02:57Z
鍼灸
112313
ページの作成:「{{kana-DEFAULTSORT}} =={{L|ja}}== ==={{noun}}=== {{ja-noun|蜂食|蜂喰}} #{{タグ|ja|鳥}}ブッポソウ目ハチクイ科ハチクイ属に属する鳥の総称。 #1.に属する鳥の一種。[[ハチクイ]]。」
2281042
wikitext
text/x-wiki
{{kana-DEFAULTSORT}}
=={{L|ja}}==
==={{noun}}===
{{ja-noun|蜂食|蜂喰}}
#{{タグ|ja|鳥}}ブッポソウ目ハチクイ科ハチクイ属に属する鳥の総称。
#1.に属する鳥の一種。[[ハチクイ]]。
khmpd18grq0u4keb80v0dbcs77f9ty7
ハチクイ
0
589384
2281043
2026-06-08T22:05:10Z
鍼灸
112313
ページの作成:「{{kana-DEFAULTSORT}} =={{L|ja}}== {{wikipedia}} ==={{noun}}=== {{ja-noun|蜂食|蜂喰}} #{{タグ|ja|鳥}}ブッポウソウ目ハチクイ科ハチクイ属に属する鳥の一種。学名:[[Merops philippinus]]。」
2281043
wikitext
text/x-wiki
{{kana-DEFAULTSORT}}
=={{L|ja}}==
{{wikipedia}}
==={{noun}}===
{{ja-noun|蜂食|蜂喰}}
#{{タグ|ja|鳥}}ブッポウソウ目ハチクイ科ハチクイ属に属する鳥の一種。学名:[[Merops philippinus]]。
rc3yz9cfxbv4ak1s4psw5pt8uvkc7t8
2281044
2281043
2026-06-08T22:17:22Z
鍼灸
112313
2281044
wikitext
text/x-wiki
{{kana-DEFAULTSORT}}
=={{L|ja}}==
{{wikipedia}}
==={{noun}}===
{{ja-noun|蜂食|蜂喰}}
#{{タグ|ja|鳥}}ブッポウソウ目ハチクイ科ハチクイ属に属する鳥の一種。学名:[[Merops ornatus]]。
55f71cryuwzugmu7ejigt9ql4lhlwjx
Merops
0
589385
2281045
2026-06-08T22:20:13Z
鍼灸
112313
ページの作成:「=={{la}}== ==={{noun}}=== {{head|la|noun|g=m}} #[[ハチクイ属]] [[Category:学名]] ===={{hyper}}==== *[[Meropidae]]」
2281045
wikitext
text/x-wiki
=={{la}}==
==={{noun}}===
{{head|la|noun|g=m}}
#[[ハチクイ属]]
[[Category:学名]]
===={{hyper}}====
*[[Meropidae]]
39t6jv6v9r5t7z2d7efdkjlnfivhihq
2281046
2281045
2026-06-08T22:20:56Z
鍼灸
112313
2281046
wikitext
text/x-wiki
=={{la}}==
==={{noun}}===
{{head|la|noun|g=m}}
#[[ハチクイ属]]の学名。
===={{hyper}}====
*[[Meropidae]]
[[Category:学名]]
t4al170h7mc0pd09o92bywomyc2nrsh
Meropidae
0
589386
2281047
2026-06-08T22:22:55Z
鍼灸
112313
ページの作成:「=={{la}}== ==={{noun}}=== {{head|la|noun}} #[[ハチクイ科]]の学名。 ===={{hyper}}==== *[[Coraciiformes]] [[Category:学名]]」
2281047
wikitext
text/x-wiki
=={{la}}==
==={{noun}}===
{{head|la|noun}}
#[[ハチクイ科]]の学名。
===={{hyper}}====
*[[Coraciiformes]]
[[Category:学名]]
kr1fxg167wnoitma7jdhvomkgnenb0t
2281048
2281047
2026-06-08T22:23:55Z
鍼灸
112313
2281048
wikitext
text/x-wiki
=={{la}}==
==={{etym}}===
{{suffix+|Merops|idae|lang=la}}
==={{noun}}===
{{head|la|noun}}
#[[ハチクイ科]]の学名。
===={{hyper}}====
*[[Coraciiformes]]
[[Category:学名]]
mo5c7cdj1bbc0b3wcmytuj3uo7gyxck
むしさされ
0
589387
2281049
2026-06-08T22:48:54Z
うーむ
129171
ページの作成:「{{kana-DEFAULTSORT}} =={{L|ja}}== ==={{noun}}=== {{ja-noun|虫刺され}} #[[か|蚊]]や[[はち|蜂]]などの虫に刺されること。また、それによる[[かゆみ|痒み]]や[[いたみ|痛み]]などの[[症状]]。」
2281049
wikitext
text/x-wiki
{{kana-DEFAULTSORT}}
=={{L|ja}}==
==={{noun}}===
{{ja-noun|虫刺され}}
#[[か|蚊]]や[[はち|蜂]]などの虫に刺されること。また、それによる[[かゆみ|痒み]]や[[いたみ|痛み]]などの[[症状]]。
jjib5qd770r3x8k4bwc81jefuh49uhx
虫刺され
0
589388
2281050
2026-06-08T22:49:36Z
うーむ
129171
ページの作成:「{{kana-DEFAULTSORT|むしさされ}} =={{L|ja}}== ==={{wagokanji}}=== {{ja-wagokanji|むしさされ}} #{{wagokanji of|むしさされ}}」
2281050
wikitext
text/x-wiki
{{kana-DEFAULTSORT|むしさされ}}
=={{L|ja}}==
==={{wagokanji}}===
{{ja-wagokanji|むしさされ}}
#{{wagokanji of|むしさされ}}
qmlxzkroo7megdx411jmxxjlgrpz0o5
かみきず
0
589389
2281051
2026-06-08T22:53:43Z
うーむ
129171
ページの作成:「{{kana-DEFAULTSORT}} =={{L|ja}}== ==={{noun}}=== {{ja-noun|噛み傷}} #[[動物]]や[[へび]]に咬まれてできた[[きず|傷]]。[[咬傷]]。」
2281051
wikitext
text/x-wiki
{{kana-DEFAULTSORT}}
=={{L|ja}}==
==={{noun}}===
{{ja-noun|噛み傷}}
#[[動物]]や[[へび]]に咬まれてできた[[きず|傷]]。[[咬傷]]。
bxhwa7tscl0ptd3ma59jbk1qvjav4sw
2281052
2281051
2026-06-08T22:54:32Z
うーむ
129171
2281052
wikitext
text/x-wiki
{{kana-DEFAULTSORT}}
=={{L|ja}}==
==={{noun}}===
{{ja-noun|噛み傷|咬み傷}}
#[[動物]]や[[へび]]に咬まれてできた[[きず|傷]]。[[咬傷]]。
m9z6m6c1zlleypt0dhxlt2teaut1rx0
噛み傷
0
589390
2281053
2026-06-08T22:55:10Z
うーむ
129171
ページの作成:「{{kana-DEFAULTSORT|かみきず}} =={{L|ja}}== ==={{wagokanji}}=== {{ja-wagokanji|かみきず}} #{{wagokanji of|かみきず}}」
2281053
wikitext
text/x-wiki
{{kana-DEFAULTSORT|かみきず}}
=={{L|ja}}==
==={{wagokanji}}===
{{ja-wagokanji|かみきず}}
#{{wagokanji of|かみきず}}
jrjrc8iy2zejsvnj4eh68tppjnxu0yx
咬み傷
0
589391
2281054
2026-06-08T22:55:50Z
うーむ
129171
ページの作成:「{{kana-DEFAULTSORT|かみきず}} =={{L|ja}}== ==={{wagokanji}}=== {{ja-wagokanji|かみきず}} #{{wagokanji of|かみきず}}」
2281054
wikitext
text/x-wiki
{{kana-DEFAULTSORT|かみきず}}
=={{L|ja}}==
==={{wagokanji}}===
{{ja-wagokanji|かみきず}}
#{{wagokanji of|かみきず}}
jrjrc8iy2zejsvnj4eh68tppjnxu0yx
酷税
0
589392
2281055
2026-06-09T00:18:55Z
うーむ
129171
ページの作成:「{{kana-DEFAULTSORT|こくぜい}} =={{L|ja}}== ==={{noun}}=== {{ja-noun|[[こくぜい]]}} #[[苛酷]]な[[租税]]。[[重税]]。」
2281055
wikitext
text/x-wiki
{{kana-DEFAULTSORT|こくぜい}}
=={{L|ja}}==
==={{noun}}===
{{ja-noun|[[こくぜい]]}}
#[[苛酷]]な[[租税]]。[[重税]]。
8xk50avu1dxjtg7jnbvve00h2tb2reu
こくぜい
0
589393
2281056
2026-06-09T00:22:03Z
うーむ
129171
ページの作成:「{{kana-DEFAULTSORT}} {{also|こくせい|ごくせい}} =={{L|ja}}== ==={{kangokana}}=== {{ja-kangokana|h=y}} *【[[国税]]】:国が賦課、徴収する租税。 *【[[酷税]]】:重税。」
2281056
wikitext
text/x-wiki
{{kana-DEFAULTSORT}}
{{also|こくせい|ごくせい}}
=={{L|ja}}==
==={{kangokana}}===
{{ja-kangokana|h=y}}
*【[[国税]]】:国が賦課、徴収する租税。
*【[[酷税]]】:重税。
4m9pgdhhyr4893odqf9wy5jhr1hz0ib
極製
0
589394
2281057
2026-06-09T00:24:47Z
うーむ
129171
ページの作成:「{{kana-DEFAULTSORT|ごくせい}} =={{L|ja}}== ==={{noun}}=== {{ja-noun|[[ごくせい]]}} #極めて[[上等]]な[[つくり|造り]]。」
2281057
wikitext
text/x-wiki
{{kana-DEFAULTSORT|ごくせい}}
=={{L|ja}}==
==={{noun}}===
{{ja-noun|[[ごくせい]]}}
#極めて[[上等]]な[[つくり|造り]]。
hlo1ail5sueai8trigun98mocy9k3fw
獄成
0
589395
2281058
2026-06-09T00:26:22Z
うーむ
129171
ページの作成:「{{kana-DEFAULTSORT|ごくせい}} =={{L|ja}}== ==={{noun}}=== {{ja-noun-suru|[[ごくせい]]}} #[[審理]]が[[確定]]すること。 ==={{verb}}=== {{ja-verb-suru|ごくせい}} {{日本語サ変活用}}」
2281058
wikitext
text/x-wiki
{{kana-DEFAULTSORT|ごくせい}}
=={{L|ja}}==
==={{noun}}===
{{ja-noun-suru|[[ごくせい]]}}
#[[審理]]が[[確定]]すること。
==={{verb}}===
{{ja-verb-suru|ごくせい}}
{{日本語サ変活用}}
gmkiixvjbcgnaqv93vmd7cz8t2kymj3
ごくせい
0
589396
2281059
2026-06-09T00:28:28Z
うーむ
129171
ページの作成:「{{kana-DEFAULTSORT}} {{also|こくせい|こくぜい}} =={{L|ja}}== ==={{kangokana}}=== {{ja-kangokana|h=y}} *【[[極製]]】:極めて上等な造り。 *【[[獄成]]】:審理が確定すること。」
2281059
wikitext
text/x-wiki
{{kana-DEFAULTSORT}}
{{also|こくせい|こくぜい}}
=={{L|ja}}==
==={{kangokana}}===
{{ja-kangokana|h=y}}
*【[[極製]]】:極めて上等な造り。
*【[[獄成]]】:審理が確定すること。
fq0ar875wajq7yvc3sl279h5qcruhmt
ítél
0
589397
2281060
2026-06-09T00:34:47Z
NekoyamaWataru
87354
/* 新規作成 */ [[en:ítél]]より翻訳
2281060
wikitext
text/x-wiki
{{DEFAULTSORT:itel}}
{{also|itel|-itel}}
=={{hu}}==
==={{pron}}===
* {{hu-IPA|ítél|itél}}
* {{hyph|hu|ítél}}
==={{etym}}===
{{suffix+|üt|él|pos2=反復接尾辞|lang=hu}}
==={{verb}}===
{{hu-verb}}
# {{label|hu|transitive}} [[判断]]する。(~で {{hu-case|nak}})
#: 批判したり、レッテルを貼ったりする
#: {{uxi|hu|Ne '''ítélj''' első látásra!|物事を見た目だけで判断してはいけない!}}
# {{label|hu|transitive|law}} [[判決]]を[[くだす|下す]]。(~に {{hu-case|re}})
===={{conjug}}====
{{hu-conj-ek|ít|é|l|caus=tet}}
===={{drv}}====
{{top4}}
* {{l|hu|ítélés}}
* {{l|hu|ítélet}}
* {{l|hu|ítélkezik}}
* {{l|hu|ítéltetik}}
{{bottom}}
{{hu-verbpref|ítél|el|meg|oda|vissza}}
===={{comp}}====
* {{l|hu|halálraítélt}}
===参考文献===
* {{R:ErtSz}}
s8kkyg9o21759m1f4be0okbctseaxjo
しょうまん
0
589398
2281063
2026-06-09T00:43:24Z
ふゆくれ
95641
ページの作成:「{{kana-DEFAULTSORT}} {{also|じょうまん}} =={{L|ja}}== ==={{kangokana}}=== {{ja-kangokana}} {{ja-k|小満|t=二十四節気の八番目。|hom=y}} {{ja-k|韶曼|t=美しいこと。そのさま。}}」
2281063
wikitext
text/x-wiki
{{kana-DEFAULTSORT}}
{{also|じょうまん}}
=={{L|ja}}==
==={{kangokana}}===
{{ja-kangokana}}
{{ja-k|小満|t=二十四節気の八番目。|hom=y}}
{{ja-k|韶曼|t=美しいこと。そのさま。}}
5jcrlh90zlgouqmxw11xxj0b21k23pu
じょうまん
0
589399
2281064
2026-06-09T00:43:26Z
ふゆくれ
95641
ページの作成:「{{kana-DEFAULTSORT}} {{also|しょうまん}} =={{L|ja}}== ==={{kangokana}}=== {{ja-kangokana}} {{ja-k|冗漫|t=無駄が多くて締まりないこと。そのさま。|hom=y}} {{ja-k|成満|t=仏教で、一切が完成・成就すること。}}」
2281064
wikitext
text/x-wiki
{{kana-DEFAULTSORT}}
{{also|しょうまん}}
=={{L|ja}}==
==={{kangokana}}===
{{ja-kangokana}}
{{ja-k|冗漫|t=無駄が多くて締まりないこと。そのさま。|hom=y}}
{{ja-k|成満|t=仏教で、一切が完成・成就すること。}}
fq9yj29jzsn4uvgkrm9c6o8md91tbb1
小滿
0
589400
2281065
2026-06-09T00:43:29Z
ふゆくれ
95641
ページの作成:「{{kana-DEFAULTSORT|せうまん}} =={{L|ja}}== {{ja-kanjitab|せう|まん|yomi=o}} ==={{kyujitai}}=== {{ja-kyujitai|せうまん}} #{{kyujitai of|小満}} {{-}} =={{L|zh}}== {{中国の節気}} {{wikipedia|lang=zh}} {{wikipedia|lang=yue}} {{wikipedia|Séu-mân|lang=hak}} {{wikipedia|Siēu-muāng|lang=cdo}} {{wikipedia|Siáu-boán|lang=nan}} ==={{pron}}=== {{cmn-pron|xiǎomǎn|s=xiao3man3}} {{yue-pron|siu2 mun5}} {{hak-pron|séu-mân|h=siauˊ manˋ|gd=xiau3 man1}}…」
2281065
wikitext
text/x-wiki
{{kana-DEFAULTSORT|せうまん}}
=={{L|ja}}==
{{ja-kanjitab|せう|まん|yomi=o}}
==={{kyujitai}}===
{{ja-kyujitai|せうまん}}
#{{kyujitai of|小満}}
{{-}}
=={{L|zh}}==
{{中国の節気}}
{{wikipedia|lang=zh}}
{{wikipedia|lang=yue}}
{{wikipedia|Séu-mân|lang=hak}}
{{wikipedia|Siēu-muāng|lang=cdo}}
{{wikipedia|Siáu-boán|lang=nan}}
==={{pron}}===
{{cmn-pron|xiǎomǎn|s=xiao3man3}}
{{yue-pron|siu2 mun5}}
{{hak-pron|séu-mân|h=siauˊ manˋ|gd=xiau3 man1}}
{{mnp-pron|siǎu-muǐng}}
{{cdo-pron|siēu-māng}}
{{nan-pron|siáu-boán/sió-boán/tw:sió-móa|t=siou2 muan2}}
{{cpx-pron|pt:^sieo3 muang3/xy:sieo3 muong3}}
{{wuu-pron|sh:5shiau moe}}
{{gan-pron|xieu3 mon3}}
{{cjy-pron|xiau2 man2}}
{{hsn-pron|siau3 monn3}}
==={{noun}}===
{{zh-cat|xiao3man3|noun|暦}}
{{zhx-sic-cat|xiao3man3|noun|暦}}
{{yue-cat|siu2mun5|noun|暦}}
{{hak-cat|seu3man1|noun|暦}}
{{mnp-cat|siau3muing3|noun|暦}}
{{cdo-cat|sieu2mang2|noun|暦}}
{{nan-cat|sio2boan2|noun|暦}}
{{nan-tws-cat|siou2muan2|noun|暦}}
{{cpx-cat|sieo3muang3|noun|暦}}
{{wuu-cat|shiau3moe1|noun|暦}}
{{gan-cat|xieu3mon3|noun|暦}}
{{cjy-cat|xiau2man2|noun|暦}}
{{hsn-cat|siau3monn3|noun|暦}}
{{zhchars|s=小满}}
#小満。
{{二十四節気/中国語繁体字}}
==={{desc}}===
{{CJKV||小満|j=しょうまん|소만|tiểu mãn}}
=={{L|ko}}==
{{ko-hanjatab}}
==={{noun}}===
{{ko-head|noun|소만|cat2=暦}}
#小満。
=={{L|vi}}==
{{vi-hantutab}}
==={{noun}}===
{{vi-head|noun|tiểu|mãn|cat2=暦}}
#小満。
ao3v4eyyax29vdurcqoqunjhed1wvtz
小满
0
589401
2281066
2026-06-09T00:43:33Z
ふゆくれ
95641
ページの作成:「=={{L|zh}}== {{中国の節気}} ==={{pron}}=== {{cmn-pron|xiǎomǎn|s=xiao3man3|z=n}} {{yue-pron|siu2 mun5|h=n}} {{hak-pron|séu-mân|h=siauˊ manˋ|gd=xiau3 man1}} {{mnp-pron|siǎu-muǐng}} {{cdo-pron|siēu-māng}} {{nan-pron|ml:siáu-boán/ml:sió-boán|t=siou2 muan2}} {{cpx-pron|pt:^sieo3 muang3/xy:sieo3 muong3}} {{wuu-pron|sh:5shiau moe}} {{gan-pron|xieu3 mon3}} {{cjy-pron|xiau2 man2}} {{hsn-pron|siau3 monn3}} ==={{noun}}=== {{zh-cat|xiao3man3|noun|暦}} {{zhx-…」
2281066
wikitext
text/x-wiki
=={{L|zh}}==
{{中国の節気}}
==={{pron}}===
{{cmn-pron|xiǎomǎn|s=xiao3man3|z=n}}
{{yue-pron|siu2 mun5|h=n}}
{{hak-pron|séu-mân|h=siauˊ manˋ|gd=xiau3 man1}}
{{mnp-pron|siǎu-muǐng}}
{{cdo-pron|siēu-māng}}
{{nan-pron|ml:siáu-boán/ml:sió-boán|t=siou2 muan2}}
{{cpx-pron|pt:^sieo3 muang3/xy:sieo3 muong3}}
{{wuu-pron|sh:5shiau moe}}
{{gan-pron|xieu3 mon3}}
{{cjy-pron|xiau2 man2}}
{{hsn-pron|siau3 monn3}}
==={{noun}}===
{{zh-cat|xiao3man3|noun|暦}}
{{zhx-sic-cat|xiao3man3|noun|暦}}
{{yue-cat|siu2mun5|noun|暦}}
{{hak-cat|seu3man1|noun|暦}}
{{mnp-cat|siau3muing3|noun|暦}}
{{cdo-cat|sieu2mang2|noun|暦}}
{{nan-cat|sio2boan2|noun|暦}}
{{nan-tws-cat|siou2muan2|noun|暦}}
{{cpx-cat|sieo3muang3|noun|暦}}
{{wuu-cat|shiau3moe1|noun|暦}}
{{gan-cat|xieu3mon3|noun|暦}}
{{cjy-cat|xiau2man2|noun|暦}}
{{hsn-cat|siau3monn3|noun|暦}}
{{zhchars|t=小滿}}
#[[小満]]。
{{二十四節気/中国語簡体字}}
q2n0cuqc4iv7hjpzo8ork5ihnmfhet6
소만
0
589402
2281067
2026-06-09T00:43:35Z
ふゆくれ
95641
ページの作成:「=={{L|ko}}== ==={{pron}}=== {{ko-IPA}} ==={{noun}}=== {{head|ko|noun}} {{ko-h|小|滿|hom=y}} #{{context|暦|lang=ko}}[[小満]]。 #*{{seealso}}: {{ko-l|이십사절기|二十四節氣}} {{ko-h|疏|慢}} #[[疏慢]]。 {{ko-h|掃|萬}} #[[]]。 {{stub|ko}}」
2281067
wikitext
text/x-wiki
=={{L|ko}}==
==={{pron}}===
{{ko-IPA}}
==={{noun}}===
{{head|ko|noun}}
{{ko-h|小|滿|hom=y}}
#{{context|暦|lang=ko}}[[小満]]。
#*{{seealso}}: {{ko-l|이십사절기|二十四節氣}}
{{ko-h|疏|慢}}
#[[疏慢]]。
{{ko-h|掃|萬}}
#[[]]。
{{stub|ko}}
eo1x4kkv8rf981xbbwarnpolqe414t6
tiểu mãn
0
589403
2281068
2026-06-09T00:43:37Z
ふゆくれ
95641
ページの作成:「{{vi-DEFAULTSORT|tiểu|mãn}} =={{L|vi}}== ==={{pron}}=== {{vi-pron}} ==={{noun}}=== {{head|vi|noun}}{{vi-h|小|滿}} #{{context|暦|lang=vi}}[[小満]]。 ===={{seealso}}==== *{{vi-l|hai mươi tư tiết khí|𠄩𨒒四節氣}}」
2281068
wikitext
text/x-wiki
{{vi-DEFAULTSORT|tiểu|mãn}}
=={{L|vi}}==
==={{pron}}===
{{vi-pron}}
==={{noun}}===
{{head|vi|noun}}{{vi-h|小|滿}}
#{{context|暦|lang=vi}}[[小満]]。
===={{seealso}}====
*{{vi-l|hai mươi tư tiết khí|𠄩𨒒四節氣}}
1d34atenwti7ghumk8voxqm0yvmeykk
兎眼
0
589404
2281069
2026-06-09T00:45:21Z
うーむ
129171
ページの作成:「{{kana-DEFAULTSORT|とがん}} =={{L|ja}}== ==={{noun}}=== {{ja-noun|[[とがん]]}} #顔面神経の[[麻痺]]により[[まぶた]]が完全に閉じず、[[眼球]]の一部が見えている状態。」
2281069
wikitext
text/x-wiki
{{kana-DEFAULTSORT|とがん}}
=={{L|ja}}==
==={{noun}}===
{{ja-noun|[[とがん]]}}
#顔面神経の[[麻痺]]により[[まぶた]]が完全に閉じず、[[眼球]]の一部が見えている状態。
ckb0egb7jbx8k35x7tp6mek4udd2uvb
とがん
0
589405
2281070
2026-06-09T00:46:49Z
うーむ
129171
ページの作成:「{{kana-DEFAULTSORT}} {{also|どかん}} =={{L|ja}}== ==={{kangokana}}=== {{ja-kangokana}} *【[[兎眼]]】:顔面神経の麻痺により眼球の一部が常に見えている状態。」
2281070
wikitext
text/x-wiki
{{kana-DEFAULTSORT}}
{{also|どかん}}
=={{L|ja}}==
==={{kangokana}}===
{{ja-kangokana}}
*【[[兎眼]]】:顔面神経の麻痺により眼球の一部が常に見えている状態。
n62tswhi4gfbimnd0eepo6m7rjckoie
芒种
0
589406
2281073
2026-06-09T01:08:53Z
ふゆくれ
95641
ページの作成:「=={{L|zh}}== {{中国の節気}} ==={{pron}}=== {{cmn-pron|mángzhòng|s=mang2zong3|z=n}} {{yue-pron|mong4 zung3|h=n}} {{hak-pron|miòng-chung/mòng-chung|h=mong zhungˇ|gd=mong2 zung4}} {{mnp-pron|mông-ce̤̿ng}} {{cdo-pron|mòng-cṳ̄ng}} {{nan-pron|ml:bông-chéng|t=mang5 zong2}} {{cpx-pron|pt:^morng2 zoeng3/xy:morng2 zyoeng3}} {{wuu-pron|sh:6maon tson}} {{gan-pron|mong4 zung}} {{cjy-pron|mon1 zung2}} {{hsn-pron|man2 zhong4}} ==={{noun}}=== {{zh-cat|mang2zhong4…」
2281073
wikitext
text/x-wiki
=={{L|zh}}==
{{中国の節気}}
==={{pron}}===
{{cmn-pron|mángzhòng|s=mang2zong3|z=n}}
{{yue-pron|mong4 zung3|h=n}}
{{hak-pron|miòng-chung/mòng-chung|h=mong zhungˇ|gd=mong2 zung4}}
{{mnp-pron|mông-ce̤̿ng}}
{{cdo-pron|mòng-cṳ̄ng}}
{{nan-pron|ml:bông-chéng|t=mang5 zong2}}
{{cpx-pron|pt:^morng2 zoeng3/xy:morng2 zyoeng3}}
{{wuu-pron|sh:6maon tson}}
{{gan-pron|mong4 zung}}
{{cjy-pron|mon1 zung2}}
{{hsn-pron|man2 zhong4}}
==={{noun}}===
{{zh-cat|mang2zhong4|noun|暦}}
{{zhx-sic-cat|mang2zong3|noun|暦}}
{{yue-cat|mong4jung3|noun|暦}}
{{hak-cat|miong2chung4|noun|暦}}
{{mnp-cat|mong2coeng4|noun|暦}}
{{cdo-cat|mong5cung2|noun|暦}}
{{nan-cat|bong5cheng2|noun|暦}}
{{nan-tws-cat|mang5zong2|noun|暦}}
{{cpx-cat|morng2zoeng3|noun|暦}}
{{wuu-cat|maon3tson1|noun|暦}}
{{gan-cat|mong4zung|noun|暦}}
{{cjy-cat|mon1zung2|noun|暦}}
{{hsn-cat|man2zhong4|noun|暦}}
{{zhchars|s=芒種}}
#芒種。
{{二十四節気/中国語簡体字}}
67webpwo0g65vap6h54nrtx4b38zg78
망종
0
589407
2281074
2026-06-09T01:08:55Z
ふゆくれ
95641
ページの作成:「=={{L|ko}}== ==={{pron}}=== {{ko-IPA}} ==={{noun}}=== {{head|ko|noun}} {{ko-h|芒|種|hom=y}} #{{context|暦|lang=ko}}[[芒種]]。 #*{{seealso}}: {{ko-l|이십사절기|二十四節氣}} {{ko-h|亡|種}} #[[絶滅]]。 {{ko-h|亡|終}} #[[死去]]。」
2281074
wikitext
text/x-wiki
=={{L|ko}}==
==={{pron}}===
{{ko-IPA}}
==={{noun}}===
{{head|ko|noun}}
{{ko-h|芒|種|hom=y}}
#{{context|暦|lang=ko}}[[芒種]]。
#*{{seealso}}: {{ko-l|이십사절기|二十四節氣}}
{{ko-h|亡|種}}
#[[絶滅]]。
{{ko-h|亡|終}}
#[[死去]]。
290pttxvm3sajr0vn3vlfg5y9begjei
mang chủng
0
589408
2281075
2026-06-09T01:08:58Z
ふゆくれ
95641
ページの作成:「{{vi-DEFAULTSORT|mang|chủng}} =={{L|vi}}== ==={{pron}}=== {{vi-pron}} ==={{noun}}=== {{head|vi|noun}}{{vi-h|芒|種}} #{{context|暦|lang=vi}}[[芒種]]。 ===={{seealso}}==== *{{vi-l|hai mươi tư tiết khí|𠄩𨒒四節氣}}」
2281075
wikitext
text/x-wiki
{{vi-DEFAULTSORT|mang|chủng}}
=={{L|vi}}==
==={{pron}}===
{{vi-pron}}
==={{noun}}===
{{head|vi|noun}}{{vi-h|芒|種}}
#{{context|暦|lang=vi}}[[芒種]]。
===={{seealso}}====
*{{vi-l|hai mươi tư tiết khí|𠄩𨒒四節氣}}
qgql37ha3vh4m4gbxek19u3fzapbek2
muengzcungq
0
589409
2281076
2026-06-09T01:09:00Z
ふゆくれ
95641
ページの作成:「=={{L|za}}== ==={{etym}}=== {{bor|za|zh|芒種|tr=mángzhòng}} ==={{pron}}=== {{za-pron}} ==={{noun}}=== {{za-head|noun}} #{{context|暦|lang=za}}[[芒種]]。 ===={{seealso}}==== *[[ngeih cib seiq aen cietheiq]]」
2281076
wikitext
text/x-wiki
=={{L|za}}==
==={{etym}}===
{{bor|za|zh|芒種|tr=mángzhòng}}
==={{pron}}===
{{za-pron}}
==={{noun}}===
{{za-head|noun}}
#{{context|暦|lang=za}}[[芒種]]。
===={{seealso}}====
*[[ngeih cib seiq aen cietheiq]]
ob2ykbcru41nm1imdnpd5vi2lvth2il
ほうじゅ
0
589410
2281080
2026-06-09T01:22:42Z
ふゆくれ
95641
ページの作成:「{{kana-DEFAULTSORT}} {{also|ほうしゅ|ぼうしゅ|ぼうじゅ}} =={{L|ja}}== ==={{kangokana}}=== {{ja-kangokana}} {{ja-k|烽戍|t=狼煙と守備。}} {{ja-k|封樹|t=墓に土を盛り、植樹すること。}} {{ja-k|宝綬|t=高位。}}」
2281080
wikitext
text/x-wiki
{{kana-DEFAULTSORT}}
{{also|ほうしゅ|ぼうしゅ|ぼうじゅ}}
=={{L|ja}}==
==={{kangokana}}===
{{ja-kangokana}}
{{ja-k|烽戍|t=狼煙と守備。}}
{{ja-k|封樹|t=墓に土を盛り、植樹すること。}}
{{ja-k|宝綬|t=高位。}}
lhwww4fd8ah3c3iuwk70fwyx6dfkrbl
2281096
2281080
2026-06-09T02:04:38Z
ふゆくれ
95641
/* {{kangokana}} */
2281096
wikitext
text/x-wiki
{{kana-DEFAULTSORT}}
{{also|ほうしゅ|ぼうしゅ|ぼうじゅ}}
=={{L|ja}}==
==={{kangokana}}===
{{ja-kangokana}}
{{ja-k|烽戍|t=狼煙と守備。|hom=y}}
{{ja-k|封樹|t=墓に土を盛り、植樹すること。}}
{{ja-k|宝綬|t=高位。}}
8crsgxgkvar5o774h0gtjrcw0b6jtwh
ぼうじゅ
0
589411
2281082
2026-06-09T01:22:46Z
ふゆくれ
95641
ページの作成:「{{kana-DEFAULTSORT}} {{also|ほうしゅ|ほうじゅ|ぼうしゅ}} =={{L|ja}}== ==={{kangokana}}=== {{ja-kangokana}} {{ja-k|傍受|t=交わされている無線通信を第三者が受信して聞くこと。|hom=y}} {{ja-k|牟寿|t=大寿。}} {{ja-k|貿儒|t=迂儒。}} {{ja-k|耄儒|t=老儒。}}」
2281082
wikitext
text/x-wiki
{{kana-DEFAULTSORT}}
{{also|ほうしゅ|ほうじゅ|ぼうしゅ}}
=={{L|ja}}==
==={{kangokana}}===
{{ja-kangokana}}
{{ja-k|傍受|t=交わされている無線通信を第三者が受信して聞くこと。|hom=y}}
{{ja-k|牟寿|t=大寿。}}
{{ja-k|貿儒|t=迂儒。}}
{{ja-k|耄儒|t=老儒。}}
khr2vv5g2bnixq3uoaxmthxaew7lrpk
2281355
2281082
2026-06-09T11:45:29Z
うーむ
129171
/* 日本語 */
2281355
wikitext
text/x-wiki
{{kana-DEFAULTSORT}}
{{also|ほうしゅ|ほうじゅ|ぼうしゅ}}
=={{L|ja}}==
==={{kangokana}}===
{{ja-kangokana}}
{{ja-k|傍受|t=交わされている無線通信を第三者が受信して聞くこと。|hom=y}}
{{ja-k|牟寿|t=[[大寿]]。}}
{{ja-k|貿儒|t=[[迂儒]]。}}
{{ja-k|耄儒|t=[[老儒]]。}}
eqtttqui8ifpwfaqg0ofe67peafbsum
2281363
2281355
2026-06-09T11:51:07Z
うーむ
129171
/* 日本語 */
2281363
wikitext
text/x-wiki
{{kana-DEFAULTSORT}}
{{also|ほうしゅ|ほうじゅ|ぼうしゅ}}
=={{L|ja}}==
==={{kangokana}}===
{{ja-kangokana}}
{{ja-k|傍受|t=交わされている無線通信を第三者が受信して聞くこと。|hom=y}}
{{ja-k|牟寿|t=大寿。}}
{{ja-k|貿儒|t=[[迂儒]]。}}
{{ja-k|耄儒|t=[[老儒]]。}}
0ugrqmpv7ohe6z5qjfkrumsg5wuwy30
かんぜい
0
589412
2281084
2026-06-09T01:23:59Z
うーむ
129171
ページの作成:「{{kana-DEFAULTSORT}} {{also|かんせい|がんせい}} =={{L|ja}}== ==={{kangokana}}=== {{ja-kangokana|h=y}} *【[[関税]]】:輸出入などにかかる租税。 *【[[勧説]]】:説いて勧めること。」
2281084
wikitext
text/x-wiki
{{kana-DEFAULTSORT}}
{{also|かんせい|がんせい}}
=={{L|ja}}==
==={{kangokana}}===
{{ja-kangokana|h=y}}
*【[[関税]]】:輸出入などにかかる租税。
*【[[勧説]]】:説いて勧めること。
9php58lnrxyvshwthb8w4ofjbh7vwtk
𣩭𣨀
0
589413
2281088
2026-06-09T01:29:19Z
しゅんた(漢字大好き)
131857
ページの作成:「{{kana-DEFAULTSORT|ぼつらん}} =={{L|ja}}== {{ja-kanjitab|ぼつ|らん|yomi=o}} ==={{noun}}=== {{ja-noun|ぼつらん}} #臨死で意識がはっきりしない。 ==脚注== #字統网 =={{L|zh}}== {{zh-cat|zhai4luan4|名詞}} ==={{pron}}=== {{cmn-pron|zhàiluàn}} ==={{noun}}=== {{zhchars}} #(日本語に同じ)臨死で意識がはっきりしない。 ==脚注== #字統网」
2281088
wikitext
text/x-wiki
{{kana-DEFAULTSORT|ぼつらん}}
=={{L|ja}}==
{{ja-kanjitab|ぼつ|らん|yomi=o}}
==={{noun}}===
{{ja-noun|ぼつらん}}
#臨死で意識がはっきりしない。
==脚注==
#字統网
=={{L|zh}}==
{{zh-cat|zhai4luan4|名詞}}
==={{pron}}===
{{cmn-pron|zhàiluàn}}
==={{noun}}===
{{zhchars}}
#(日本語に同じ)臨死で意識がはっきりしない。
==脚注==
#字統网
ir5y0mtkjziik07uftfh8jk6ssr0gbz
2281089
2281088
2026-06-09T01:34:29Z
しゅんた(漢字大好き)
131857
2281089
wikitext
text/x-wiki
{{kana-DEFAULTSORT|ぼつらん}}
=={{L|ja}}==
{{ja-kanjitab|ぼつ|らん|yomi=o}}
==={{noun}}===
{{ja-noun|ぼつらん}}
#[[臨死|りんし]]で[[意識|いしき]]が[[はっきり]]しない。
==脚注==
#字統网
=={{L|zh}}==
{{zh-cat|zhai4luan4|名詞}}
==={{pron}}===
{{cmn-pron|zhàiluàn}}
==={{noun}}===
{{zhchars}}
#(日本語に同じ)[[臨死|りんし]]で[[意識|いしき]]が[[はっきり]]しない。
==脚注==
#字統网
[[カテゴリ:日本語]][[カテゴリ:名詞]][[カテゴリ:中国語]]
6tjxtcqlwu7w5kh2v0hdh8pkvlcstvk
2281090
2281089
2026-06-09T01:35:19Z
しゅんた(漢字大好き)
131857
2281090
wikitext
text/x-wiki
{{kana-DEFAULTSORT|ぼつらん}}
=={{L|ja}}==
{{ja-kanjitab|ぼつ|らん|yomi=o}}
==={{noun}}===
{{ja-noun|ぼつらん}}
#[[りんし|臨死]]で[[いしき|意識]]が[[はっきり]]しない。
==脚注==
#字統网
=={{L|zh}}==
{{zh-cat|zhai4luan4|名詞}}
==={{pron}}===
{{cmn-pron|zhàiluàn}}
==={{noun}}===
{{zhchars}}
#(日本語に同じ)[[りんし|臨死]]で[[いしき|意識]]が[[はっきり]]しない。
==脚注==
#字統网
[[カテゴリ:日本語]][[カテゴリ:名詞]][[カテゴリ:中国語]]
937f8j344rk5y3ahi4iulc2om3kh8am
カテゴリ:チワン語 暦
14
589414
2281099
2026-06-09T02:11:33Z
ふゆくれ
95641
ページの作成:「<div class="pathnavbox"> * {{Pathnav|カテゴリ|言語|{{za}}|{{za}}_時間|disp4=時間|last=暦}} * {{Pathnav|カテゴリ|分野|時間|暦|last={{za}}}} </div> {{en-categoryTOC}} {{catmore}} [[カテゴリ:{{za}}_時間|*こよみ]] [[カテゴリ:暦|ちわんこ]]」
2281099
wikitext
text/x-wiki
<div class="pathnavbox">
* {{Pathnav|カテゴリ|言語|{{za}}|{{za}}_時間|disp4=時間|last=暦}}
* {{Pathnav|カテゴリ|分野|時間|暦|last={{za}}}}
</div>
{{en-categoryTOC}}
{{catmore}}
[[カテゴリ:{{za}}_時間|*こよみ]]
[[カテゴリ:暦|ちわんこ]]
jtsuuosjyj5wcnhsibrp6ejp6bc4t8q
稟懇
0
589415
2281100
2026-06-09T02:17:08Z
うーむ
129171
ページの作成:「{{kana-DEFAULTSORT|ひんこん}} =={{L|ja}}== ==={{noun}}=== {{ja-noun-suru|[[ひんこん]]}} #[[懇請]]すること。 ==={{verb}}=== {{ja-verb-suru|ひんこん}} {{日本語サ変活用}}」
2281100
wikitext
text/x-wiki
{{kana-DEFAULTSORT|ひんこん}}
=={{L|ja}}==
==={{noun}}===
{{ja-noun-suru|[[ひんこん]]}}
#[[懇請]]すること。
==={{verb}}===
{{ja-verb-suru|ひんこん}}
{{日本語サ変活用}}
hzk7bd19h5plj1ezmurirfblh9ywa2c
懇請
0
589416
2281101
2026-06-09T02:19:50Z
うーむ
129171
ページの作成:「{{kana-DEFAULTSORT|こんせい}} =={{L|ja}}== ==={{noun}}=== {{ja-noun-suru|[[こんせい]]}} #心を込めて[[たのみこむ|頼み込む]]こと。ひたすら[[請願]]すること。 ==={{verb}}=== {{ja-verb-suru|こんせい}} {{日本語サ変活用}}」
2281101
wikitext
text/x-wiki
{{kana-DEFAULTSORT|こんせい}}
=={{L|ja}}==
==={{noun}}===
{{ja-noun-suru|[[こんせい]]}}
#心を込めて[[たのみこむ|頼み込む]]こと。ひたすら[[請願]]すること。
==={{verb}}===
{{ja-verb-suru|こんせい}}
{{日本語サ変活用}}
8lufa6sygxqno45tbczd2rc038obl4d
だいだん
0
589417
2281112
2026-06-09T03:07:40Z
鍼灸
112313
ページの作成:「{{kana-DEFAULTSORT}} {{also|たいだん|だいたん|タイタン}} =={{L|ja}}== ==={{kangokana}}=== {{ja-kangokana|h=y}} *【[[大壇]]】:[[天壇]]。 *【[[大段]]】:[[大略]]。」
2281112
wikitext
text/x-wiki
{{kana-DEFAULTSORT}}
{{also|たいだん|だいたん|タイタン}}
=={{L|ja}}==
==={{kangokana}}===
{{ja-kangokana|h=y}}
*【[[大壇]]】:[[天壇]]。
*【[[大段]]】:[[大略]]。
q2saidyg4vv8ro1p9q3kxy73pi3hnpg
だいたん
0
589418
2281113
2026-06-09T03:09:36Z
鍼灸
112313
ページの作成:「{{kana-DEFAULTSORT}} {{also|たいだん|だいだん|タイタン}} =={{L|ja}}== ==={{kangokana}}=== {{ja-kangokana|h=y}} *【[[大胆]]】:[[胆大]]。 *【[[大端]]】:[[あらまし]]。」
2281113
wikitext
text/x-wiki
{{kana-DEFAULTSORT}}
{{also|たいだん|だいだん|タイタン}}
=={{L|ja}}==
==={{kangokana}}===
{{ja-kangokana|h=y}}
*【[[大胆]]】:[[胆大]]。
*【[[大端]]】:[[あらまし]]。
k9iq3wku6slcpuew2swadk9jpx546v1
カテゴリ:ウズベク語 植物
14
589419
2281121
2026-06-09T03:58:15Z
鍼灸
112313
ページの作成:「<div class="pathnavbox"> *{{Pathnav|カテゴリ|言語|{{uz}}|{{uz}}_科学|disp4=科学|{{uz}}_自然科学|disp5=自然科学|{{uz}}_生物学|disp6=生物学|{{uz}}_植物学|disp7=植物学|last=植物}} *{{Pathnav|カテゴリ|分野|科学|自然科学|生物学|植物学|植物|last={{uz}}}} </div> [[カテゴリ:ウズベク語 植物学|*しよくふつ]] [[カテゴリ:ウズベク語 生物|*しよくふつ]] [[カテゴリ:植物|うすへくこ]]」
2281121
wikitext
text/x-wiki
<div class="pathnavbox">
*{{Pathnav|カテゴリ|言語|{{uz}}|{{uz}}_科学|disp4=科学|{{uz}}_自然科学|disp5=自然科学|{{uz}}_生物学|disp6=生物学|{{uz}}_植物学|disp7=植物学|last=植物}}
*{{Pathnav|カテゴリ|分野|科学|自然科学|生物学|植物学|植物|last={{uz}}}}
</div>
[[カテゴリ:ウズベク語 植物学|*しよくふつ]]
[[カテゴリ:ウズベク語 生物|*しよくふつ]]
[[カテゴリ:植物|うすへくこ]]
asv56ry9rd6lc7100y9esriot4q106g
カテゴリ:ウズベク語 植物学
14
589420
2281122
2026-06-09T04:01:19Z
鍼灸
112313
ページの作成:「<div class="pathnavbox"> *{{Pathnav|カテゴリ|言語|{{uz}}|{{uz}}_科学|disp4=科学|{{uz}}_自然科学|disp5=自然科学|{{uz}}_生物学|disp6=生物学|last=植物学}} *{{Pathnav|カテゴリ|分野|科学|自然科学|生物学|植物学|last={{uz}}}} </div> {{catmore}} [[カテゴリ:ウズベク語 生物学|*しよくふつかく]] [[カテゴリ:植物学|うすへくこ]]」
2281122
wikitext
text/x-wiki
<div class="pathnavbox">
*{{Pathnav|カテゴリ|言語|{{uz}}|{{uz}}_科学|disp4=科学|{{uz}}_自然科学|disp5=自然科学|{{uz}}_生物学|disp6=生物学|last=植物学}}
*{{Pathnav|カテゴリ|分野|科学|自然科学|生物学|植物学|last={{uz}}}}
</div>
{{catmore}}
[[カテゴリ:ウズベク語 生物学|*しよくふつかく]]
[[カテゴリ:植物学|うすへくこ]]
nm0z57lbfgthj4im1qyfd92e80tqhd0
勝手気まま
0
589421
2281129
2026-06-09T05:21:03Z
うーむ
129171
[[勝手気儘]]への転送ページ
2281129
wikitext
text/x-wiki
#転送[[勝手気儘]]
qtbshuvkud9zyouhlj3pq8okeith2rw
大端
0
589422
2281132
2026-06-09T06:01:33Z
うーむ
129171
ページの作成:「{{kana-DEFAULTSORT|だいたん}} =={{L|ja}}== ==={{noun}}=== {{ja-noun|[[だいたん]]}} #[[あらまし]]。 #[[重要]]な物事の[[端緒]]。」
2281132
wikitext
text/x-wiki
{{kana-DEFAULTSORT|だいたん}}
=={{L|ja}}==
==={{noun}}===
{{ja-noun|[[だいたん]]}}
#[[あらまし]]。
#[[重要]]な物事の[[端緒]]。
gy6sna59t2gdmrpb60ly8ignv18bawg
カテゴリ:ウズベク語 生物学
14
589423
2281133
2026-06-09T06:02:52Z
鍼灸
112313
ページの作成:「<div class="pathnavbox"> *{{Pathnav|カテゴリ|言語|{{uz}}|{{uz}}_科学|disp4=科学|{{uz}}_自然科学|disp5=自然科学|last=生物学}} *{{Pathnav|カテゴリ|分野|科学|自然科学|生物学|last={{uz}}}} </div> {{catmore}} [[カテゴリ:ウズベク語 自然科学|*せいふつかく]] [[カテゴリ:生物学|うすへくこ]]」
2281133
wikitext
text/x-wiki
<div class="pathnavbox">
*{{Pathnav|カテゴリ|言語|{{uz}}|{{uz}}_科学|disp4=科学|{{uz}}_自然科学|disp5=自然科学|last=生物学}}
*{{Pathnav|カテゴリ|分野|科学|自然科学|生物学|last={{uz}}}}
</div>
{{catmore}}
[[カテゴリ:ウズベク語 自然科学|*せいふつかく]]
[[カテゴリ:生物学|うすへくこ]]
86wvymekzp0kh6be0ji6vkvgue6j685
カテゴリ:ウズベク語 生物
14
589424
2281134
2026-06-09T06:05:14Z
鍼灸
112313
ページの作成:「<div class="pathnavbox"> *{{Pathnav|カテゴリ|言語|{{uz}}|{{uz}}_自然|disp4=自然|last=生物}} *{{Pathnav|カテゴリ|分野|自然|生物|last={{uz}}}} </div> {{catmore}} [[カテゴリ:ウズベク語 自然|*せいふつ]] [[カテゴリ:生物|うすへくこ]]」
2281134
wikitext
text/x-wiki
<div class="pathnavbox">
*{{Pathnav|カテゴリ|言語|{{uz}}|{{uz}}_自然|disp4=自然|last=生物}}
*{{Pathnav|カテゴリ|分野|自然|生物|last={{uz}}}}
</div>
{{catmore}}
[[カテゴリ:ウズベク語 自然|*せいふつ]]
[[カテゴリ:生物|うすへくこ]]
bptcpjyd204y2l312djmid97rk3t9la
カテゴリ:ウズベク語 動物
14
589425
2281137
2026-06-09T06:08:50Z
鍼灸
112313
ページの作成:「<div class="pathnavbox"> *{{Pathnav|カテゴリ|言語|{{uz}}|{{uz}}_科学|disp4=科学|{{uz}}_自然科学|disp5=自然科学|{{uz}}_生物学|disp6=生物学|{{uz}}_動物学|disp7=動物学|last=動物}} *{{Pathnav|カテゴリ|分野|科学|自然科学|生物学|動物学|動物|last={{uz}}}} </div> [[カテゴリ:ウズベク語 動物学|*とうふつ]] [[カテゴリ:ウズベク語 生物|*とうふつ]] [[カテゴリ:動物|うすへくこ]]」
2281137
wikitext
text/x-wiki
<div class="pathnavbox">
*{{Pathnav|カテゴリ|言語|{{uz}}|{{uz}}_科学|disp4=科学|{{uz}}_自然科学|disp5=自然科学|{{uz}}_生物学|disp6=生物学|{{uz}}_動物学|disp7=動物学|last=動物}}
*{{Pathnav|カテゴリ|分野|科学|自然科学|生物学|動物学|動物|last={{uz}}}}
</div>
[[カテゴリ:ウズベク語 動物学|*とうふつ]]
[[カテゴリ:ウズベク語 生物|*とうふつ]]
[[カテゴリ:動物|うすへくこ]]
00p7i6ux98l36pmgb7tb1bdptsu4n2d
カテゴリ:ウズベク語 動物学
14
589426
2281138
2026-06-09T06:10:55Z
鍼灸
112313
ページの作成:「<div class="pathnavbox"> *{{Pathnav|カテゴリ|言語|{{uz}}|{{uz}}_科学|disp4=科学|{{uz}}_自然科学|disp5=自然科学|{{uz}}_生物学|disp6=生物学|last=動物学}} *{{Pathnav|カテゴリ|分野|科学|自然科学|生物学|動物学|last={{uz}}}} </div> [[カテゴリ:ウズベク語 生物学|*とうふつかく]] [[カテゴリ:動物学|うすへくこ]]」
2281138
wikitext
text/x-wiki
<div class="pathnavbox">
*{{Pathnav|カテゴリ|言語|{{uz}}|{{uz}}_科学|disp4=科学|{{uz}}_自然科学|disp5=自然科学|{{uz}}_生物学|disp6=生物学|last=動物学}}
*{{Pathnav|カテゴリ|分野|科学|自然科学|生物学|動物学|last={{uz}}}}
</div>
[[カテゴリ:ウズベク語 生物学|*とうふつかく]]
[[カテゴリ:動物学|うすへくこ]]
7z7dd67jufuq5vxvu85jm69e24s7bjo
カテゴリ:セルビア・クロアチア語 方位
14
589427
2281140
2026-06-09T06:16:02Z
鍼灸
112313
ページの作成:「<div class="pathnavbox"> *{{Pathnav|カテゴリ|言語|{{sh}}|{{sh}}_自然|disp4=自然|last=方位}} *{{Pathnav|カテゴリ|分野|自然|方位|last={{sh}}}} </div> {{catmore}} [[Category:{{sh}}_自然|*ほうい]] [[Category:方位|せるひあくろあちあこ]]」
2281140
wikitext
text/x-wiki
<div class="pathnavbox">
*{{Pathnav|カテゴリ|言語|{{sh}}|{{sh}}_自然|disp4=自然|last=方位}}
*{{Pathnav|カテゴリ|分野|自然|方位|last={{sh}}}}
</div>
{{catmore}}
[[Category:{{sh}}_自然|*ほうい]]
[[Category:方位|せるひあくろあちあこ]]
97tekghpu5qsz644097iz86v39jtenz
Lucemburk
0
589428
2281142
2026-06-09T06:17:11Z
Kuroco2k
84207
[[:en:Lucemburk]]
2281142
wikitext
text/x-wiki
=={{L|cs}}==
==={{pron}}===
*{{cs-IPA}}
*{{音声|cs|Cs-Lucemburk.ogg}}
==={{name}}===
{{cs-proper noun|g=m-in|adj=lucemburský}}
#{{context|首都|lang=cs}} [[ルクセンブルク市]]。
===={{decl}}====
{{cs-ndecl|<m.sg>}}
===={{rel}}====
*{{l|cs|Lucembursko}}
erdmo3jotrl4eskk1qvud6ig1xwqg2k
カテゴリ:マケドニア語 方位
14
589429
2281144
2026-06-09T06:19:03Z
鍼灸
112313
ページの作成:「<div class="pathnavbox"> *{{Pathnav|カテゴリ|言語|{{mk}}|{{mk}}_自然|disp4=自然|last=方位}} *{{Pathnav|カテゴリ|分野|自然|方位|last={{mk}}}} </div> {{catmore}} [[Category:{{mk}}_自然|*ほうい]] [[Category:方位|まけとにあこ]]」
2281144
wikitext
text/x-wiki
<div class="pathnavbox">
*{{Pathnav|カテゴリ|言語|{{mk}}|{{mk}}_自然|disp4=自然|last=方位}}
*{{Pathnav|カテゴリ|分野|自然|方位|last={{mk}}}}
</div>
{{catmore}}
[[Category:{{mk}}_自然|*ほうい]]
[[Category:方位|まけとにあこ]]
o4nbzcdwttc493e5czt9jyo5j0r8pft
カテゴリ:エストニア語 生物
14
589430
2281150
2026-06-09T06:28:43Z
鍼灸
112313
ページの作成:「<div class="pathnavbox"> *{{Pathnav|カテゴリ|言語|{{et}}|{{et}}_自然|disp4=自然|last=生物}} *{{Pathnav|カテゴリ|分野|自然|生物|last={{et}}}} </div> {{catmore}} [[Category:{{et}}_自然|*せいふつ]] [[Category:生物|えすとにあこ]]」
2281150
wikitext
text/x-wiki
<div class="pathnavbox">
*{{Pathnav|カテゴリ|言語|{{et}}|{{et}}_自然|disp4=自然|last=生物}}
*{{Pathnav|カテゴリ|分野|自然|生物|last={{et}}}}
</div>
{{catmore}}
[[Category:{{et}}_自然|*せいふつ]]
[[Category:生物|えすとにあこ]]
lhttt8qhpvljkidcoicer0dhhsvzk05
𬻍𬻌
0
589431
2281154
2026-06-09T06:33:58Z
しゅんた(漢字大好き)
131857
ページの作成:「{{kana-DEFAULTSORT|ていとう}} =={{L|ja}}== {{ja-kanjitab|てい|とう|yomi=o}} ==={{noun}}=== {{ja-noun|ていとう}} #name="zitoumou">字統网</ref>。玉佩の打ち合う音。<ref #name="zi.tools">字統网</ref>。水の打ち合う音<ref ==脚注== {{Reflist}} =={{L|zh}}== {{zh-cat|ti2dong1|名詞}} ==={{pron}}=== {{cmn-pron|tídōng}} ==={{noun}}=== {{zhchars}} #name="zitoumou">字統网</ref>。水や玉佩などの打ち合う音。<ref ==…」
2281154
wikitext
text/x-wiki
{{kana-DEFAULTSORT|ていとう}}
=={{L|ja}}==
{{ja-kanjitab|てい|とう|yomi=o}}
==={{noun}}===
{{ja-noun|ていとう}}
#name="zitoumou">字統网</ref>。玉佩の打ち合う音。<ref
#name="zi.tools">字統网</ref>。水の打ち合う音<ref
==脚注==
{{Reflist}}
=={{L|zh}}==
{{zh-cat|ti2dong1|名詞}}
==={{pron}}===
{{cmn-pron|tídōng}}
==={{noun}}===
{{zhchars}}
#name="zitoumou">字統网</ref>。水や玉佩などの打ち合う音。<ref
==脚注==
{{Reflist}}
[[カテゴリ:日本語]]
17vp63abmoa4pp56cctd9xdhl6kvwyt
2281167
2281154
2026-06-09T07:23:11Z
しゅんた(漢字大好き)
131857
/* {{noun}} */
2281167
wikitext
text/x-wiki
{{kana-DEFAULTSORT|ていとう}}
=={{L|ja}}==
{{ja-kanjitab|てい|とう|yomi=o}}
==={{noun}}===
{{ja-noun|ていとう}}
#name="zitoumou">字統网</ref>。玉佩の打ち合う音。<ref
#name="zitoumou">字統网</ref>。水の打ち合う音<ref
==脚注==
{{Reflist}}
=={{L|zh}}==
{{zh-cat|ti2dong1|名詞}}
==={{pron}}===
{{cmn-pron|tídōng}}
==={{noun}}===
{{zhchars}}
#name="zitoumou">字統网</ref>。水や玉佩などの打ち合う音。<ref
==脚注==
{{Reflist}}
[[カテゴリ:日本語]]
rrtfxwpqd0mk8rlcl03s5zuwlitl211
2281168
2281167
2026-06-09T07:25:04Z
しゅんた(漢字大好き)
131857
2281168
wikitext
text/x-wiki
{{kana-DEFAULTSORT|ていとう}}
=={{L|ja}}==
{{ja-kanjitab|てい|とう|yomi=o}}
==={{noun}}===
{{ja-noun|ていとう}}
#玉佩の打ち合う音。
#水の打ち合う音
==脚注==
#zi.tools
=={{L|zh}}==
{{zh-cat|ti2dong1|名詞}}
==={{pron}}===
{{cmn-pron|tídōng}}
==={{noun}}===
{{zhchars}}
#水や玉佩などの打ち合う音。
==脚注==
#zi.tools
[[カテゴリ:日本語]]
6epj0ry0pyma81e7mrzndhknqxnoapg
2281169
2281168
2026-06-09T07:38:41Z
しゅんた(漢字大好き)
131857
2281169
wikitext
text/x-wiki
{{kana-DEFAULTSORT|ていとう}}
=={{L|ja}}==
{{ja-kanjitab|てい|とう|yomi=o}}
==={{noun}}===
{{ja-noun|ていとう}}
#玉佩の打ち合う音。name="kanjitoasobu">「越諺・賸語」(清・范寅撰 )聲音音楽</ref>
#水の打ち合う音。<ref name="zi.tools" />
==脚注==
{{Reflist}}
=={{L|zh}}==
{{zh-cat|ti2dong1|名詞}}
==={{pron}}===
{{cmn-pron|tídōng}}
==={{noun}}===
{{zhchars}}
#水や玉佩などの打ち合う音。<ref name="zi.tools" />
==脚注==
{{Reflist}}
[[カテゴリ:日本語]]
sv6r5sel5d0cj79q0qzlpjl2nyq4och
2281170
2281169
2026-06-09T07:40:24Z
しゅんた(漢字大好き)
131857
/* {{noun}} */
2281170
wikitext
text/x-wiki
{{kana-DEFAULTSORT|ていとう}}
=={{L|ja}}==
{{ja-kanjitab|てい|とう|yomi=o}}
==={{noun}}===
{{ja-noun|ていとう}}
#玉佩の打ち合う音。name="「越諺・賸語」(清・范寅撰)聲音音樂">
#水の打ち合う音。<ref name="zi.tools" />
==脚注==
{{Reflist}}
=={{L|zh}}==
{{zh-cat|ti2dong1|名詞}}
==={{pron}}===
{{cmn-pron|tídōng}}
==={{noun}}===
{{zhchars}}
#水や玉佩などの打ち合う音。<ref name="zi.tools" />
==脚注==
{{Reflist}}
[[カテゴリ:日本語]]
9ke5qe884015xqssll1jcr3enmhtnyc
2281171
2281170
2026-06-09T07:41:18Z
しゅんた(漢字大好き)
131857
/* {{L|ja}} */
2281171
wikitext
text/x-wiki
{{kana-DEFAULTSORT|ていとう}}
=={{L|ja}}==
{{ja-kanjitab|てい|とう|yomi=o}}
==={{noun}}===
{{ja-noun|ていとう}}
#玉佩の打ち合う音。name="「越諺・賸語」(清・范寅撰)聲音音樂">
#水の打ち合う音。name="zi.tools" />
==脚注==
{{Reflist}}
=={{L|zh}}==
{{zh-cat|ti2dong1|名詞}}
==={{pron}}===
{{cmn-pron|tídōng}}
==={{noun}}===
{{zhchars}}
#水や玉佩などの打ち合う音。<ref name="zi.tools" />
==脚注==
{{Reflist}}
[[カテゴリ:日本語]]
eiy1zesdvfs6osrmi9mah685u4eeuae
2281172
2281171
2026-06-09T07:44:57Z
しゅんた(漢字大好き)
131857
/* {{L|ja}} */
2281172
wikitext
text/x-wiki
{{kana-DEFAULTSORT|ていとう}}
=={{L|ja}}==
{{ja-kanjitab|てい|とう|yomi=o}}
==={{noun}}===
{{ja-noun|ていとう}}
#name="「越諺・賸語」(清・范寅撰)聲音音樂">玉佩の打ち合う音。<ref
#name="zitoumou">「字統网」</ref>。水の打ち合う音。<ref
==脚注==
{{Reflist}}
=={{L|zh}}==
{{zh-cat|ti2dong1|名詞}}
==={{pron}}===
{{cmn-pron|tídōng}}
==={{noun}}===
{{zhchars}}
#水や玉佩などの打ち合う音。<ref name="zi.tools" />
==脚注==
{{Reflist}}
[[カテゴリ:日本語]]
1amrppwlwjnbij75unhp5ttcyacswk8
2281173
2281172
2026-06-09T07:47:20Z
しゅんた(漢字大好き)
131857
ページの白紙化
2281173
wikitext
text/x-wiki
phoiac9h4m842xq45sp7s6u21eteeq1
2281174
2281173
2026-06-09T07:55:15Z
しゅんた(漢字大好き)
131857
2281174
wikitext
text/x-wiki
{{kana-DEFAULTSORT|ていとう}}
=={{L|ja}}==
{{ja-kanjitab|てい|とう|yomi=o}}
==={{noun}}===
{{ja-noun|ていとう}}
#玉佩の打ち合う音。
#水の打ち合う音。
==脚注==
#字統网
=={{L|zh}}==
{{zh-cat|di1dong1|名詞}}
==={{pron}}===
{{cmn-pron|dīdōng}}
==={{noun}}===
{{zhchars}}
#(日本語に同じ)水や玉の打ち合う音。
==脚注==
#字統网
kkux35prblxdmlbupfva3wlevg079om
カテゴリ:リトアニア語 生物
14
589432
2281156
2026-06-09T06:35:47Z
鍼灸
112313
ページの作成:「<div class="pathnavbox"> *{{Pathnav|カテゴリ|言語|{{lt}}|{{lt}}_自然|disp4=自然|last=生物}} *{{Pathnav|カテゴリ|分野|自然|生物|last={{lt}}}} </div> {{catmore}} [[Category:{{lt}}_自然|*せいふつ]] [[Category:生物|りとあにあこ]]」
2281156
wikitext
text/x-wiki
<div class="pathnavbox">
*{{Pathnav|カテゴリ|言語|{{lt}}|{{lt}}_自然|disp4=自然|last=生物}}
*{{Pathnav|カテゴリ|分野|自然|生物|last={{lt}}}}
</div>
{{catmore}}
[[Category:{{lt}}_自然|*せいふつ]]
[[Category:生物|りとあにあこ]]
4d76w68gykojtg21g3mh7doka3db63v
カテゴリ:ラトヴィア語 植物
14
589433
2281158
2026-06-09T06:39:19Z
鍼灸
112313
ページの作成:「<div class="pathnavbox"> *{{Pathnav|カテゴリ|言語|{{lv}}|{{lv}}_科学|disp4=科学|{{lv}}_自然科学|disp5=自然科学|{{lv}}_生物学|disp6=生物学|{{lv}}_植物学|disp7=植物学|last=植物}} *{{Pathnav|カテゴリ|分野|科学|自然科学|生物学|植物学|植物|last={{lv}}}} </div> {{catmore}} [[Category:{{lv}}_植物学|*しよくふつ]] [[Category:{{lv}}_生物|*しよくふつ]] [[Category:植物|らとういあこ]]」
2281158
wikitext
text/x-wiki
<div class="pathnavbox">
*{{Pathnav|カテゴリ|言語|{{lv}}|{{lv}}_科学|disp4=科学|{{lv}}_自然科学|disp5=自然科学|{{lv}}_生物学|disp6=生物学|{{lv}}_植物学|disp7=植物学|last=植物}}
*{{Pathnav|カテゴリ|分野|科学|自然科学|生物学|植物学|植物|last={{lv}}}}
</div>
{{catmore}}
[[Category:{{lv}}_植物学|*しよくふつ]]
[[Category:{{lv}}_生物|*しよくふつ]]
[[Category:植物|らとういあこ]]
9oom0bzdweh9tg3hz7muser90xu597e
カテゴリ:ラトヴィア語 植物学
14
589434
2281159
2026-06-09T06:42:16Z
鍼灸
112313
ページの作成:「<div class="pathnavbox"> *{{Pathnav|カテゴリ|言語|{{lv}}|{{lv}}_科学|disp4=科学|{{lv}}_自然科学|disp5=自然科学|{{lv}}_生物学|disp6=生物学|last=植物学}} *{{Pathnav|カテゴリ|分野|科学|自然科学|生物学|植物学|last={{lv}}}} </div> {{catmore}} [[Category:{{lv}}_生物学|*しよくふつかく]] [[Category:植物学|らとういあこ]]」
2281159
wikitext
text/x-wiki
<div class="pathnavbox">
*{{Pathnav|カテゴリ|言語|{{lv}}|{{lv}}_科学|disp4=科学|{{lv}}_自然科学|disp5=自然科学|{{lv}}_生物学|disp6=生物学|last=植物学}}
*{{Pathnav|カテゴリ|分野|科学|自然科学|生物学|植物学|last={{lv}}}}
</div>
{{catmore}}
[[Category:{{lv}}_生物学|*しよくふつかく]]
[[Category:植物学|らとういあこ]]
fod238xbg00p8jrlfci47a4s0l8930p
カテゴリ:ラトヴィア語 生物
14
589435
2281161
2026-06-09T06:45:29Z
鍼灸
112313
ページの作成:「<div class="pathnavbox"> *{{Pathnav|カテゴリ|言語|{{lv}}|{{lv}}_自然|disp4=自然|last=生物}} *{{Pathnav|カテゴリ|分野|自然|生物|last={{lv}}}} </div> {{catmore}} [[Category:{{lv}}_自然|*せいふつ]] [[Category:生物|らとういあこ]]」
2281161
wikitext
text/x-wiki
<div class="pathnavbox">
*{{Pathnav|カテゴリ|言語|{{lv}}|{{lv}}_自然|disp4=自然|last=生物}}
*{{Pathnav|カテゴリ|分野|自然|生物|last={{lv}}}}
</div>
{{catmore}}
[[Category:{{lv}}_自然|*せいふつ]]
[[Category:生物|らとういあこ]]
rucbsbrhn5kb3jtkz030ukxg1byrfgn
カテゴリ:エストニア語 方位
14
589436
2281181
2026-06-09T08:57:14Z
鍼灸
112313
ページの作成:「<div class="pathnavbox"> *{{Pathnav|カテゴリ|言語|{{et}}|{{et}}_自然|disp4=自然|last=方位}} *{{Pathnav|カテゴリ|分野|自然|方位|last={{et}}}} </div> {{catmore}} [[Category:{{et}}_自然|*ほうい]] [[Category:方位|えすとにあこ]]」
2281181
wikitext
text/x-wiki
<div class="pathnavbox">
*{{Pathnav|カテゴリ|言語|{{et}}|{{et}}_自然|disp4=自然|last=方位}}
*{{Pathnav|カテゴリ|分野|自然|方位|last={{et}}}}
</div>
{{catmore}}
[[Category:{{et}}_自然|*ほうい]]
[[Category:方位|えすとにあこ]]
m5quqoouk4bhbd8h8sl0boomu75gxia
モジュール:es-inflections
828
589437
2281182
2026-06-09T09:02:49Z
Kuroco2k
84207
[[:en:Module:es-inflections]]
2281182
Scribunto
text/plain
local export = {}
--[=[
Authorship: Ben Wing <benwing2>
This module implements {{es-verb form of}}, which automatically generates the appropriate inflections of a non-lemma
verb form given the form and the conjugation spec for the verb (which is usually just the infinitive; see {{es-conj}}
and {{es-verb}}).
]=]
local m_links = require("Module:links")
local m_table = require("Module:table")
local m_form_of = require("Module:form of")
local accel_module = "Module:accel"
local es_verb_module = "Module:es-verb"
local lang = require("Module:languages").getByCode("es")
local rmatch = mw.ustring.match
local rfind = mw.ustring.find
local rsplit = mw.text.split
local unpack = unpack or table.unpack -- Lua 5.2 compatibility
local usub = mw.ustring.sub
local function track(page)
require("Module:debug/track")("es-inflections/" .. page)
return true
end
local function generate_inflection_of(tag_sets, lemma, pretext, args)
for _, tag_set in ipairs(tag_sets) do
tag_set.tags = rsplit(tag_set.tag, "|")
tag_set.tag = nil
end
local has_multiple_tag_sets = #tag_sets > 1
-- If only one tag set, extract out the "combined with ..." text and move into posttext=, which goes after the lemma.
local posttext
if #tag_sets == 1 then
local tags = tag_sets[1].tags
local last_tag = tags[#tags]
if last_tag:match("^combined with .*$") then
-- NOTE: table.remove() side-effects the list by removing and returning the last item.
posttext = " " .. table.remove(tags)
end
end
local function hack_clitics(text)
return text:gsub("%[%[(.-)%]%]", function(pronoun) return m_links.full_link({term = pronoun, lang = lang}, "term") end)
end
-- Hack to convert raw-linked pronouns e.g. in 'combined with [[te]]' to Spanish-linked pronouns.
for _, tag_set in ipairs(tag_sets) do
for i, tag in ipairs(tag_set.tags) do
if tag:find("%[%[") then
tag_set.tags[i] = hack_clitics(tag)
end
end
end
posttext = posttext and hack_clitics(posttext) or nil
local lemma_obj = {
lang = lang,
term = lemma,
gloss = args.t,
pos = args.pos,
lit = args.lit,
id = args.id,
}
if has_multiple_tag_sets then
tag_sets = require(accel_module).combine_tag_sets_into_multipart(tag_sets, lang, "verb")
end
return m_form_of.tagged_inflections {
lang = lang, tag_sets = tag_sets, lemmas = {lemma_obj}, lemma_face = "term", pretext = pretext,
posttext = posttext, POS = "verb",
}
end
function export.verb_form_of(frame)
local parargs = frame:getParent().args
local params = {
[1] = {required = true},
["noautolinktext"] = {type = "boolean"},
["noautolinkverb"] = {type = "boolean"},
["pagename"] = {}, -- for testing/documentation pages
["json"] = {type = "boolean"}, -- for bot use
["slots"] = {}, -- restrict to only these slots
["noslots"] = {}, -- restrict to all but these slots
["t"] = {},
["gloss"] = {alias_of = "t"},
["lit"] = {},
["pos"] = {},
["id"] = {},
}
local m_es_verb = require(es_verb_module)
local args = require("Module:parameters").process(parargs, params)
local alternant_multiword_spec = m_es_verb.do_generate_forms(args, "es-verb form of")
local non_lemma_form = alternant_multiword_spec.verb_form_of_form
local lemmas = {}
if not alternant_multiword_spec.forms.infinitive then
error("Internal error: No infinitive?")
end
for _, formobj in ipairs(alternant_multiword_spec.forms.infinitive) do
m_table.insertIfNot(lemmas, m_links.remove_links(formobj.form))
end
-- FIXME: Consider supporting multiple lemmas.
local lemma = lemmas[1]
local slot_restrictions = args.slots and m_table.listToSet(rsplit(args.slots, ",")) or nil
local negated_slot_restrictions = args.noslots and m_table.listToSet(rsplit(args.noslots, ",")) or nil
local tags = {}
local slots_seen = {}
local function loop_over_verb_slots(verb_slots)
for _, slot_accel in ipairs(verb_slots) do
local slot, accel = unpack(slot_accel)
-- If used on the infinitive page, don't include the infinitive as a form.
if slot ~= "infinitive" and slot ~= "infinitive_linked" then
local forms = alternant_multiword_spec.forms[slot]
if forms then
for _, formobj in ipairs(forms) do
local form = m_links.remove_links(formobj.form)
-- Skip "combined forms" for reflexive verbs; otherwise e.g. ''ámate'' gets identified as a
-- combined form of [[amarse]].
if non_lemma_form == form and (not alternant_multiword_spec.refl or not slot:find("comb")) then
if (not slot_restrictions or slot_restrictions[slot]) and (
not negated_slot_restrictions or not negated_slot_restrictions[slot]
) then
m_table.insertIfNot(tags, {tag = accel})
end
if slot_restrictions or negated_slot_restrictions then
slots_seen[slot] = true
end
end
end
end
end
end
end
local function check_slot_restrictions_against_slots_seen()
local function get_slots_seen()
local slots_seen_list = {}
for slot, _ in pairs(slots_seen) do
table.insert(slots_seen_list, slot)
end
table.sort(slots_seen_list)
return slots_seen_list
end
local function check_against_slots_seen(restrictions, prefix)
for slot, _ in pairs(restrictions) do
if not slots_seen[slot] then
error(("%sslot restriction for slot '%s' had no effect (typo?) because it is not any of the slots matching form '%s' for verb '%s': possible values %s"):format(
prefix, slot, non_lemma_form, lemma, table.concat(get_slots_seen(), ",")))
end
end
end
if slot_restrictions then
check_against_slots_seen(slot_restrictions, "")
end
if negated_slot_restrictions then
check_against_slots_seen(negated_slot_restrictions, "negated ")
end
end
loop_over_verb_slots(alternant_multiword_spec.verb_slots_basic)
loop_over_verb_slots(alternant_multiword_spec.verb_slots_combined)
if next(slots_seen) then
check_slot_restrictions_against_slots_seen()
end
if #tags > 0 then
return generate_inflection_of(tags, lemma, nil, args)
end
-- If we don't find any matches, we try again, looking for non-reflexive forms of reflexive-only verbs.
slots_seen = {}
if alternant_multiword_spec.refl and not lemma:find(" ") then
local refl_forms_to_tags = {}
-- Only basic verb forms (not combined forms) have non-reflexive parts generated.
for _, slot_accel in ipairs(alternant_multiword_spec.verb_slots_basic) do
local slot, accel = unpack(slot_accel)
local part_forms = alternant_multiword_spec.forms[slot .. "_non_reflexive"]
local full_forms = alternant_multiword_spec.forms[slot]
local variant_forms = alternant_multiword_spec.forms[slot .. "_variant"]
-- Make sure same number of part and full forms, otherwise we can't match them up.
if part_forms and full_forms and #part_forms == #full_forms and (
not variant_forms or #part_forms == #variant_forms) then
-- Find part form the same as the non-lemma form we're generating the inflection(s) of,
-- and accumulate properties into refl_forms_to_tags.
for i, part_form in ipairs(part_forms) do
local form = part_form.form
if non_lemma_form == form then
if (not slot_restrictions or slot_restrictions[slot]) and (
not negated_slot_restrictions or not negated_slot_restrictions[slot]
) then
local saw_existing = false
for _, refl_form_to_tags in ipairs(refl_forms_to_tags) do
if refl_form_to_tags.form == full_forms[i].form then
table.insert(refl_form_to_tags.tags, {tag = accel})
saw_existing = true
break
end
end
if not saw_existing then
table.insert(refl_forms_to_tags, {
form = full_forms[i].form,
tags = {{tag = accel}},
variant = variant_forms and variant_forms[i].form,
})
end
end
if slot_restrictions or negated_slot_restrictions then
slots_seen[slot] = true
end
end
end
end
end
if next(slots_seen) then
check_slot_restrictions_against_slots_seen()
end
if #refl_forms_to_tags > 0 then
local parts = {}
for _, refl_form_to_tags in ipairs(refl_forms_to_tags) do
local only_used_in
if refl_form_to_tags.variant then
only_used_in =
frame:preprocess(("{{only used in|es|%s}}, <span class='use-with-mention'>syntactic variant of {{m|es|%s}}</span>"):format(
refl_form_to_tags.variant, refl_form_to_tags.form))
else
only_used_in =
frame:preprocess(("{{only used in|es|%s}}"):format(refl_form_to_tags.form))
end
if refl_form_to_tags.form == lemma then
table.insert(parts, only_used_in)
else
local infl = generate_inflection_of(refl_form_to_tags.tags, lemma, only_used_in .. ", ", args)
table.insert(parts, infl)
end
end
return table.concat(parts, "\n# ")
end
end
error(("'%s' is not any of the forms of the verb '%s'"):format(non_lemma_form, table.concat(lemmas, "/")))
end
return export
j7xwd5gp8g5nreso09jhbu8syd1ypca
モジュール:es-verb
828
589438
2281183
2026-06-09T09:11:59Z
Kuroco2k
84207
[[:en:Module:es-verb]]
2281183
Scribunto
text/plain
local export = {}
--[=[
Authorship: Ben Wing <benwing2>
]=]
--[=[
TERMINOLOGY:
-- "slot" = A particular combination of tense/mood/person/number/etc.
Example slot names for verbs are "pres_1s" (present indicative first-person singular), "pres_sub_2sv" (present
subjunctive second-person singular voseo form) "impf_sub_ra_3p" (imperfect subjunctive -ra form third-person
plural), "imp_1p_comb_lo" (imperative first-person plural combined with clitic [[lo]]).
Each slot is filled with zero or more forms.
-- "form" = The conjugated Spanish form representing the value of a given slot.
-- "lemma" = The dictionary form of a given Spanish term. For Spanish, always the infinitive.
]=]
--[=[
FIXME:
1. Implement no_pres_stressed for aterir, garantir. (NOTE: Per RAE, garantir used in all forms in Argentina/Uruguay.) [DONE]
2. Support concluyo. [DONE]
3. Fixes for veo -> ve vs. preveo -> prevé. [DONE]
4. Various more irregular verbs, e.g. predecir, redecir, bendecir, maldecir. [DONE]
5. Raising of e -> i, o -> u before -iendo, -ió, etc. occurs only in -ir verbs. [DONE]
6. Raising of e -> i, o -> u happens before subjunctive -amos, -áis in -ir verbs. [DONE]
7. Implement reflexive verbs. [DONE]
8. Implement categories. [DONE]
9. Implement show_forms. [DONE]
10. Reconcile stems.vowel_alt from irregular verbs with vowel_alt from indicators. May require
moving the irregular-verb handling code in construct_stems() into detect_indicator_spec(). [DONE]
11. Implement make_table. [DONE]
12. Vowel alternation should show u-ue (jugar), i-ie (adquirir), e-í (reír) alternations specially. [DONE]
13. Handle linking of multiword forms as is done in [[Module:es-headword]]. [DONE]
14. Implement comparison against previous module. [DONE]
15. Implement categorization of irregularities for individual tenses.
16. Support nocomb=1. [DONE]
17. (Possibly) display irregular forms in a different color, as with the old module.
18. (Possibly) display a "rule" description indicating the types of alternations.
19. Implement replace_reflexive_indicators(). [NOT DONE; SUPPORT REMOVED]
20. Implement verbs with attached clitics e.g. [[pasarlo]], [[corrérsela]]. [DONE]
21. When footnote + tú/vos notation, add a space before tú/vos.
22. Fix [[erguir]] so ie-i vowel alternation produces ye- at beginning of word, similarly for errar. Also allow
multiple vowel alternation specs in irregular verbs, for errar. Finally, ie should show as e-ye for errar
and as e-ye-i for erguir. [DONE]
23. Figure out why red links in combined forms show up as black not red.
24. Consider including alternative superseded forms of verbs like [[ciar]] (e.g. pret_3s = cio, ció with footnote).
25. Allow conjugation of suffixes e.g. -ir, -ecer; need to fix in [[Module:inflection utilities]]. [DONE]
26. Allow specification of stems esp. so that footnotes can be hung off them; use + for the default.
27. Don't remove monosyllabic accents when conjugating suffixes. [DONE]
28. If multiword expression with no <>, add <> after first word, as with [[Module:es-headword]]. [DONE]
29. (Possibly) link the parts of a reflexive or cliticized infinitive, as done in [[Module:es-headword]]. [DONE]
30. Final fixes to allow [[Module:es-headword]] to use this module. [DONE]
--]=]
local lang = require("Module:languages").getByCode("es")
local m_string_utilities = require("Module:string utilities")
local m_links = require("Module:links")
local m_table = require("Module:table")
local iut = require("Module:inflection utilities")
local put = require("Module:parse utilities")
local com = require("Module:es-common")
local force_cat = false -- set to true for debugging
local check_for_red_links = false -- set to false for debugging
local rfind = mw.ustring.find
local rmatch = mw.ustring.match
local rsplit = mw.text.split
local rsub = com.rsub
local unpack = unpack or table.unpack -- Lua 5.2 compatibility
local function link_term(term)
return m_links.full_link({ lang = lang, term = term }, "term")
end
local V = com.V -- vowel regex class
local AV = com.AV -- accented vowel regex class
local C = com.C -- consonant regex class
local tuteo_link = link_term("tuteo")
local voseo_link = link_term("voseo")
local fut_sub_note = "[rare; now chiefly used in legal language]"
local pres_sub_voseo_note = "[Argentine and Uruguayan " .. voseo_link .. " prefers the " .. tuteo_link .. "-form for the present subjunctive]"
local vowel_alternants = m_table.listToSet({"ie", "ie-i", "ye", "ye-i", "ue", "ue-u", "hue", "i", "í", "ú", "+"})
local vowel_alternant_to_desc = {
["ie"] = "e-ie",
["ie-i"] = "e-ie-i",
["ye"] = "e-ye",
["ye-i"] = "e-ye-i",
["ue"] = "o-ue",
["ue-u"] = "o-ue-u",
["hue"] = "o-hue",
["i"] = "e-i",
["í"] = "i-í",
["ú"] = "u-ú",
}
local raise_vowel = {["e"] = "i", ["o"] = "u"}
local all_persons_numbers = {
["1s"] = "1|s",
["2s"] = "2|s",
["2sv"] = "2|s|voseo",
["3s"] = "3|s",
["1p"] = "1|p",
["2p"] = "2|p",
["3p"] = "3|p",
}
local person_number_list_basic = {"1s", "2s", "3s", "1p", "2p", "3p"}
local person_number_list_voseo = {"1s", "2s", "2sv", "3s", "1p", "2p", "3p"}
local imp_person_number_list = {"2s", "2sv", "3s", "1p", "2p", "3p"}
local neg_imp_person_number_list = {"2s", "3s", "1p", "2p", "3p"}
person_number_to_reflexive_pronoun = {
["1s"] = "me",
["2s"] = "te",
["2sv"] = "te",
["3s"] = "se",
["1p"] = "nos",
["2p"] = "os",
["3p"] = "se",
}
local indicator_flags = m_table.listToSet {
"no_pres_stressed", "no_pres1_and_sub",
"only3s", "only3sp", "only3p",
"no_built_in",
}
-- Initialize all the slots for which we generate forms. The particular slots may depend on whether we're generating
-- combined slots (`not alternant_multiword_spec.nocomb`, which is always false if we're dealing with a verb with an
-- attached clitic, such as [[hincarla]], or a reflexive or partly-reflexive verb, where a partly-reflexive verb is
-- a conjoined term made up of two or more verbs, where some but not all are reflexive). It may also depend on whether
-- we're being requested to generate some double-combined forms, such as [[llevándoselo]]; see the comment below for
-- `verb_slot_double_combined_rows`.
local function add_slots(alternant_multiword_spec)
-- "Basic" slots: All slots that go into the regular table (not the combined-form table).
alternant_multiword_spec.verb_slots_basic = {
{"infinitive", "inf"},
{"infinitive_linked", "inf"},
{"gerund", "ger"},
{"pp_ms", "m|s|past|part"},
{"pp_fs", "f|s|past|part"},
{"pp_mp", "m|p|past|part"},
{"pp_fp", "f|p|past|part"},
}
-- Slots that go into the combined-form table, along with double-combined slots (e.g. [[llevándoselo]]) that are
-- requested for use with {{es-verb form of}}.
alternant_multiword_spec.verb_slots_combined = {}
-- Special slots used to handle non-reflexive parts of reflexive verbs in {{es-verb form of}}.
-- For example, for a reflexive-only verb like [[jambarse]], we want to be able to use {{es-verb form of}} on
-- [[jambe]] (which should mention that it is a part of 'me jambe', first-person singular present subjunctive, and
-- 'se jambe', third-person singular present subjunctive) or on [[jambamos]] (which should mention that it is a
-- part of 'nos jambamos', first-person plural present indicative or preterite). Similarly, we want to use
-- {{es-verb form of}} on [[jambando]] (which should mention that it is a part of 'se ... jambando', syntactic
-- variant of [[jambándose]], which is the gerund of [[jambarse]]). To do this, we need to be able to map
-- non-reflexive parts like [[jambe]], [[jambamos]], [[jambando]], etc. to their reflexive equivalent(s), to the
-- tag(s) of the equivalent(s), and, in the case of forms like [[jambando]], [[jambar]] and imperatives, to the
-- separated syntactic variant of the verb+clitic combination. We do this by creating slots for the non-reflexive
-- part equivalent of each basic reflexive slot, and for the separated syntactic-variant equivalent of each basic
-- reflexive slot that is formed of verb+clitic. We use slots in this way to deal with multiword lemmas. Note that
-- we run into difficulties mapping between reflexive verbs, non-reflexive part equivalents, and separated syntactic
-- variants if a slot contains more than one form. To handle this, if there are the same number of forms in two
-- slots we're trying to match up, we assume the forms match one-to-one; otherwise we don't match up the two slots
-- (which means {{es-verb form of}} won't work in this case, but such a case is extremely rare and not worth
-- worrying about). Alternatives that handle this "properly" are significantly more complicated and require
-- non-trivial modifications to [[Module:inflection utilities]].
local need_special_verb_form_of_slots = alternant_multiword_spec.source_template == "es-verb form of" and
alternant_multiword_spec.refl
if need_special_verb_form_of_slots then
alternant_multiword_spec.verb_slots_reflexive_verb_form_of = {
{"infinitive_non_reflexive", "-"},
{"infinitive_variant", "-"},
{"gerund_non_reflexive", "-"},
{"gerund_variant", "-"},
}
else
alternant_multiword_spec.verb_slots_reflexive_verb_form_of = {}
end
-- For generating combined forms, i.e. combinations of a basic form (specifically, infinitive, gerund or an
-- imperative form) with a clitic (or in some cases, two clitics). This is a list of lists of the form
-- {BASIC_SLOT, CLITICS} where BASIC_SLOT is the slot to add the clitic pronouns to (e.g. "gerund" or "imp_2s")
-- and CLITICS is a list of the clitic pronouns to add.
alternant_multiword_spec.verb_slot_combined_rows = {}
-- For generating double combined forms (e.g. [[llevándoselo]] or [[dámela]]). This is used by {{es-verb form of}}
-- when it detects that it is being requested to find the inflection tags for a double-combined form. The number of
-- double-combined forms is relatively large, so to optimize this, [[Module:es-inflections]] (which implements
-- {{es-verb form of}}) detects which two clitics are involved, and we only generate double-combined forms
-- involving those two clitics; this is specified using `double_combined_forms_to_include`, passed into
-- do_generate_forms(). The value of this field is a list of lists of the form {SINGLE_COMB_SLOT, CLITICS} where
-- SINGLE_COMB_SLOT is the single-combined slot to add the object clitic pronouns to (e.g. "gerund_comb_se" or
-- "imp_2s_comb_me") and CLITICS is a list of the clitic pronouns to add. CLITICS will normally be a length-one
-- list whose value is one of {"lo", "la", "le", "los", "las", "les"}.
alternant_multiword_spec.verb_slot_double_combined_rows = {}
-- Add entries for a slot with person/number variants.
-- `verb_slots` is the table to add to.
-- `slot_prefix` is the prefix of the slot, typically specifying the tense/aspect.
-- `tag_suffix` is a string listing the set of inflection tags to add after the person/number tags.
-- `person_number_list` is a list of the person/number slot suffixes to add to `slot_prefix`.
local function add_personal_slot(verb_slots, slot_prefix, tag_suffix, person_number_list)
for _, persnum in ipairs(person_number_list) do
local persnum_tag = all_persons_numbers[persnum]
local slot = slot_prefix .. "_" .. persnum
local accel = persnum_tag .. "|" .. tag_suffix
table.insert(verb_slots, {slot, accel})
end
end
-- Add a personal slot (i.e. a slot with person/number variants) to `verb_slots_basic`.
local function add_basic_personal_slot(slot_prefix, tag_suffix, person_number_list, no_special_verb_form_of_slot,
need_variant_slot)
add_personal_slot(alternant_multiword_spec.verb_slots_basic, slot_prefix, tag_suffix, person_number_list)
-- Add special slots for handling non-reflexive parts of reflexive verbs in {{es-verb form of}}.
-- See comment above in `need_special_verb_form_of_slots`.
if need_special_verb_form_of_slots and not no_special_verb_form_of_slot then
for _, persnum in ipairs(person_number_list) do
local persnum_tag = all_persons_numbers[persnum]
local basic_slot = slot_prefix .. "_" .. persnum
local accel = persnum_tag .. "|" .. tag_suffix
table.insert(alternant_multiword_spec.verb_slots_reflexive_verb_form_of, {basic_slot .. "_non_reflexive", "-"})
if need_variant_slot then
table.insert(alternant_multiword_spec.verb_slots_reflexive_verb_form_of, {basic_slot .. "_variant", "-"})
end
end
end
end
add_basic_personal_slot("pres", "pres|ind", person_number_list_voseo)
add_basic_personal_slot("impf", "impf|ind", person_number_list_basic)
add_basic_personal_slot("pret", "pret|ind", person_number_list_basic)
add_basic_personal_slot("fut", "fut|ind", person_number_list_basic)
add_basic_personal_slot("cond", "cond", person_number_list_basic)
add_basic_personal_slot("pres_sub", "pres|sub", person_number_list_voseo)
add_basic_personal_slot("impf_sub_ra", "impf|sub", person_number_list_basic)
add_basic_personal_slot("impf_sub_se", "impf|sub", person_number_list_basic)
add_basic_personal_slot("fut_sub", "fut|sub", person_number_list_basic)
-- Need variant slots because the imperative clitics are suffixed.
add_basic_personal_slot("imp", "imp", imp_person_number_list, nil, "need variant slot")
-- Don't need special non-reflexive-part slots because the negative imperative is multiword, of which the
-- individual words are 'no' + subjunctive.
add_basic_personal_slot("neg_imp", "neg|imp", neg_imp_person_number_list, "no special verb form of")
-- Don't need special non-reflexive-part slots because we don't want [[jambando]] mapping to [[jambándome]]
-- (only [[jambándose]]) or [[jambar]] mapping to [[jambarme]] (only [[jambarse]]).
add_basic_personal_slot("infinitive", "inf", person_number_list_basic, "no special verb form of")
add_basic_personal_slot("gerund", "ger", person_number_list_basic, "no special verb form of")
local third_person_object_clitics = {"lo", "la", "le", "los", "las", "les"}
-- Add combined-form slots.
if not alternant_multiword_spec.nocomb then
-- Add a row of slots representing the combination of a basic slot with a clitic. `basic_slot` is the basic slot
-- descriptor, `tag_prefix` is a string describing the inflection tags of the basic slot, and `personal_clitics`
-- is a list of the personal clitics ("me", "te", "se", "nos" or "os") to add to the basic slot.
local function add_combined_slot_row(basic_slot, tag_prefix, personal_clitics)
-- First, add each individual combined slot to `verb_slots_combined`.
local clitics_with_object = m_table.append(personal_clitics, third_person_object_clitics)
for _, clitic in ipairs(clitics_with_object) do
local slot = basic_slot .. "_comb_" .. clitic
-- You have to pass this through full_link() to get a Spanish-specific link
local accel = tag_prefix .. "|combined with [[" .. clitic .. "]]"
table.insert(alternant_multiword_spec.verb_slots_combined, {slot, accel})
end
-- Also, add the row to `verb_slot_combined_rows`.
table.insert(alternant_multiword_spec.verb_slot_combined_rows, {basic_slot, clitics_with_object})
-- Also do double-combined forms for a specific set of clitics, if requested. See the comment above
-- `verb_slot_double_combined_rows` above.
if alternant_multiword_spec.double_combined_forms_to_include then
-- Add a special "lxx" clitic for le/les when transformed into se in double-combined forms.
local personal_clitics_with_lxx = {unpack(personal_clitics)}
table.insert(personal_clitics_with_lxx, "lxx")
for _, personal_clitic in ipairs(personal_clitics_with_lxx) do
for _, object_clitic in ipairs(third_person_object_clitics) do
for _, form_to_include in ipairs(alternant_multiword_spec.double_combined_forms_to_include) do
local to_include_personal_clitic, to_include_object_clitic = unpack(form_to_include)
if personal_clitic == to_include_personal_clitic and object_clitic == to_include_object_clitic then
local single_comb_slot = basic_slot .. "_comb_" .. personal_clitic
local slot = single_comb_slot .. "_" .. object_clitic
accel_clitic = personal_clitic == "lxx" and "[[le]]/[[les]]" or "[[" .. personal_clitic .. "]]"
local accel = tag_prefix .. "|combined with indirect object " .. accel_clitic .. " and direct object [[" ..
object_clitic .. "]]"
table.insert(alternant_multiword_spec.verb_slots_combined, {slot, accel})
table.insert(alternant_multiword_spec.verb_slot_double_combined_rows,
{single_comb_slot, {object_clitic}})
break
end
end
end
end
end
end
add_combined_slot_row("infinitive", "inf", {"me", "te", "se", "nos", "os"})
add_combined_slot_row("gerund", "gerund", {"me", "te", "se", "nos", "os"})
local function add_combined_imp_slot_row(persnum, personal_clitics)
add_combined_slot_row("imp_" .. persnum, all_persons_numbers[persnum] .. "|imp", personal_clitics)
end
add_combined_imp_slot_row("2s", {"me", "te", "nos"})
add_combined_imp_slot_row("2sv", {"me", "te", "nos"})
add_combined_imp_slot_row("3s", {"me", "se", "nos"})
add_combined_imp_slot_row("1p", {"te", "nos", "os"})
add_combined_imp_slot_row("2p", {"me", "nos", "os"})
add_combined_imp_slot_row("3p", {"me", "se", "nos"})
end
-- Generate the list of all slots.
alternant_multiword_spec.all_verb_slots = {}
for _, slot_and_accel in ipairs(alternant_multiword_spec.verb_slots_basic) do
table.insert(alternant_multiword_spec.all_verb_slots, slot_and_accel)
end
for _, slot_and_accel in ipairs(alternant_multiword_spec.verb_slots_combined) do
table.insert(alternant_multiword_spec.all_verb_slots, slot_and_accel)
end
for _, slot_and_accel in ipairs(alternant_multiword_spec.verb_slots_reflexive_verb_form_of) do
table.insert(alternant_multiword_spec.all_verb_slots, slot_and_accel)
end
alternant_multiword_spec.verb_slots_basic_map = {}
for _, slotaccel in ipairs(alternant_multiword_spec.verb_slots_basic) do
local slot, accel = unpack(slotaccel)
alternant_multiword_spec.verb_slots_basic_map[slot] = accel
end
alternant_multiword_spec.verb_slots_combined_map = {}
for _, slotaccel in ipairs(alternant_multiword_spec.verb_slots_combined) do
local slot, accel = unpack(slotaccel)
alternant_multiword_spec.verb_slots_combined_map[slot] = accel
end
end
-- Return true if `form` is accented and is likely monosyllabic. Used in remove_monosyllabic_accents(); if true, we
-- run the syllabification algorithm to determine the syllable count, and if monosyllabic, remove the accent. Also used
-- in conjunction with user-specified form overrides to add an asterisk to prevent accents from being removed.
local function may_need_monosyllabic_accent_removed(form)
return not rfind(form, "^%-") and rfind(form, AV) and not rfind(form, V .. C .. V)
end
local overridable_stems = {}
-- If `add_monosyllabic_asterisk` is given, add a * to accented forms that may be monosyllabic to prevent the accent
-- from being removed in remove_monosyllabic_accents().
local function allow_multiple_values_for_override(separated_groups, data, add_monosyllabic_asterisk)
local retvals = {}
for _, separated_group in ipairs(separated_groups) do
local footnotes = data.fetch_footnotes(separated_group)
local form = separated_group[1]
if add_monosyllabic_asterisk and may_need_monosyllabic_accent_removed(form) then
form = form .. "*"
end
-- Add suppress_prefix to prevent the built-in verb prefix from being added to the override.
local retval = {form = form, footnotes = footnotes, suppress_prefix = true}
table.insert(retvals, retval)
end
return retvals
end
local function simple_choice(choices)
return function(separated_groups, data)
if #separated_groups > 1 then
data.parse_err("For spec '" .. data.prefix .. ":', only one value currently allowed")
end
if #separated_groups[1] > 1 then
data.parse_err("For spec '" .. data.prefix .. ":', no footnotes currently allowed")
end
local choice = separated_groups[1][1]
if not m_table.contains(choices, choice) then
data.parse_err("For spec '" .. data.prefix .. ":', saw value '" .. choice .. "' but expected one of '" ..
table.concat(choices, ",") .. "'")
end
return choice
end
end
for _, overridable_stem in ipairs {
"pres_unstressed",
"pres_stressed",
"pres1_and_sub",
-- Don't include pres1; use pres_1s if you need to override just that form
"impf",
"full_impf",
"pret",
{"pret_conj", simple_choice({"irreg", "ar", "er", "ir"}) },
"fut",
"cond",
"pres_sub_stressed",
"pres_sub_unstressed",
"impf_sub_ra",
"impf_sub_se",
"fut_sub",
"pp",
} do
if type(overridable_stem) == "string" then
overridable_stems[overridable_stem] = allow_multiple_values_for_override
else
local stem, validator = unpack(overridable_stem)
overridable_stems[stem] = validator
end
end
local function match_against_verbs(ref_verb, prefixes)
return function(verb)
for _, prefix in ipairs(prefixes) do
if verb == prefix .. ref_verb then
return prefix, ref_verb
end
end
return nil
end
end
--[=[
Special cases for verbs:
diluviar, atardecer: impersonal; all finite non-3s forms are nonexistent or hypothetical. Handle using
'.only3s'.
empecer, atañer, concernir: all finite non-third-person forms are nonexistent or hypothetical. Handle using '.only3sp'.
desnacer: Former module claimed an irregular past participle 'desnato'. Verb is not in RAE at all and barely exists;
unlikely to have irregular past participle.
desposeer: Former module claimed an irregular past participle 'desposeso'. Not per RAE.
valer: Former module claimed an irregular imperative 'val'. Not per RAE.
manumitir: Former module claimed an irregular past participle 'manumiso'. Not per RAE.
raer: Former module claimed a pres 1sg rao. Not per RAE.
rehuir: Handle using +ú.
sustituir: Former module claimed an irregular past participle 'sustituto'. Not per RAE.
venir: Former module claimed an irregular clitic combination ven + nos -> venos. Not per native speakers.
---------
Verbs to check: rehuir (+ú), prohibir (+í), reunir (+ú)
---------
-ir verbs:
There are several types of vowel alternations:
1. No alternation. Includes some verbs in -e- and -o-, e.g. aterir(se) (no_pres_stressed), tra(n)sgredir
(pres_stressed forms rare), abolir (pres_stressed forms rare), colorir (no_pres_stressed), sumergir, divergir,
convergir, arrecir (no_pres_stressed), rostir, polir (obsolete), condir (obsolete), possibly ascondir (obsolete),
atordir (obsolete), sacodir (obsolete), sobrevendir (possible misspelling), empedernir (no_pres_stressed),
decebir (obsolete; possibly actually like concebir, i.e. decibo not decebo),
premir (obsolete), expremir (obsolete), exir (obsolete), escreuir (obsolete; fix conjugation), escrebir (obsolete),
agredir; sometimes the stressed forms are rare or disused. (Also embaír, desvaír are no_pres_stressed.)
2a. ie: Infinitive has -e-, changing to -ie- when stressed. No raising before i+V. Only hendir, cernir, discernir,
concernir (only3sp); discernir -> discierno, discerniendo, discernió, discernamos.
2b. ye: Infinitive has -e-, changing to -ye- when stressed. No raising before i+V. Does not occur (cf. errar).
3a. ie-i: Infinitive has -e- or -i-, changing to -ie- when stressed. Raising before i+V and 1p/2p pres subjunctive:
sentir -> siento, sintiendo, sintió, sintamos.
adquirir -> adquiero, adquiriendo, adquirió, adquiramos.
3b. ye-i: Infinitive has -e-, changing to -ye- when stressed. Raising before i+V and 1p/2p pres subjunctive.
Only erguir: erguir -> yergo, irguiendo, irguió, irgamos.
4. i: Infinitive has -e-, changing to -i- when stressed. Raising before i+V and 1p/2p pres subjunctive:
vestir -> visto, vistiendo, vistió, vistamos. Variant: ceñir -> ciño, ciñendo, ciñó, ciñamos.
NOTE: preterir (no_pres_stressed).
5. ue-u: Infinitive has -o-, changing to -ue- when stressed. Raising before i+V and 1p/2p pres subjunctive:
Only dormir, morir and compounds. dormir -> duermo, durmiendo, durmió, durmamos.
6. ue: This type would be parallel to 'ie' but doesn't appear to exist.
---------
Verbs to fix (extra forms need to be excised or deleted): The above verbs under type (1) -ir vowel alternations;
[[neviscar]] (impersonal), [[acaecer]] (third-person only), [[acontecer]] (third-person only),
[[cellisquear]] (impersonal), [[pintear]] (impersonal? other meaning "to play hookey" given, not in RAE),
[[diluviar]] (impersonal). [[desabrir]] (not like abrir, rare in pres_stressed/sub forms), [[jabrir]]
(not like abrir).
Verbs with existing errors:
* [[abeldar]]: (missing <ie>) [FORMS TO DELETE]
* [[acaecer]]: (used only in 3rd person) [DELETE ALL FIRST AND SECOND PERSON FORMS]
* [[acontecer]]: (used only in 3rd person) [DELETE ALL FIRST AND SECOND PERSON FORMS]
* [[anticuar]] (conjugated without ú) [FORMS TO DELETE]
* [[antojar]]: (used only in 3rd person) [DELETE ALL FIRST AND SECOND PERSON FORMS]
* [[aerografiar]]: (conjugated without í) [FORMS TO DELETE]
* [[afiliar]]: (conjugated with í/+ should be only +) [FORMS TO DELETE]
* [[agraviar]]: (wrongly has í) [FORMS TO DELETE]
* [[arrecir]]: (not given as no_pres_stressed) [FORMS TO DELETE]
* [[aserrar]]: (missing <ie>) [FORMS TO DELETE]
* [[aspaventar]]: (missing <ie>) [OK]
* [[atesar]]: (wrongly has ie) [FORMS TO DELETE]
* [[avalentar]]: (wrongly has ie) [FORMS TO DELETE]
* [[autorregularse]] (conjugated as non-reflexive) [OK]
* [[auxiliar]]: (conjugated with í/+ should be only +) [FORMS TO DELETE]
* [[balbucir]] (pres1_and_sub nonexistent) [DELETE PRES1_AND_SUB FORMS]
* [[caçar]] (conjugated as -zar) [OK]
* [[calefacer]] (extra form caleface) [FIX]
* [[cellisquear]]: (used only in 3rd person singular) [DELETE ALL FIRST AND SECOND PERSON FORMS, ALL 3RD PLURAL FORMS AND ALL PP NON-MS FORMS]
* [[chilenizar]] (conjugated with no cons alternation) [OK]
* [[colorir]]: (not given as no_pres_stressed) [FORMS TO DELETE]
* [[comisariar]] (conjugated without í) [FORMS TO DELETE]
* [[complacer]] (missing complega in imperative 3s) [OK]
* [[comprehender]] (conjugated as comprender) [OK]
* [[decebir]] (was conjugated without <i>) [FORMS TO DELETE]
* [[desafiliar]]: (conjugated with í/+ should be only +) [FORMS TO DELETE]
* [[desagregar]] (conjugated with no cons alternation) [FORMS TO DELETE]
* [[desairar]]: (conjugated with í should be only +) [FORMS TO DELETE]
* [[descordar]]: (missing <ue>) [FORMS TO DELETE]
* [[deseleccionar]] (conjugated as desseleccionar) [OK]
* [[desestacionalizar]] (conjugated with no cons alternation) [FORMS TO DELETE]
* [[desgonzar]] (conjugated with no cons alternation) [FORMS TO DELETE]
* [[desguinzar]] (conjugated with no cons alternation) [FORMS TO DELETE]
* [[deshacer]] (extra form deshace, desháceme etc.) [OK]
* [[desnacer]] (extra form desnato etc.) [DELETE PP FORMS]
* [[desposeer]] (extra form desposeso etc.) [DELETE PP FORMS]
* [[dezmar]]: (wrongly has ie) [FORMS TO DELETE]
* [[diluviar]]: (used only in 3rd person singular) [DELETE ALL FIRST AND SECOND PERSON FORMS, ALL 3RD PLURAL FORMS AND ALL PP NON-MS FORMS]
* [[draftear]] (extraneous param lang=es) [REMOVE PARAM]
* [[ejemplarizar]] (extraneous param compound=1) [compound -> combined]
* [[ejercitar]] (extraneous param compound=1) [compound -> combined]
* [[empecer]] (empezca has imperatives, 1s in its verb form entry) [FIX]
* [[encentar]]: (wrongly has ie) [OK]
* [[encubertar]]: (wrongly has ie) [FORMS TO DELETE]
* [[entrechocar]] (conjugated with no cons alternation) [FORMS TO DELETE]
* [[entredecir]] (imp_2s has entredice should be entredí; extra future/cond forms entredeciré etc.) [FORMS TO DELETE/FIX]
* [[escenografiar]]: (conjugated without í) [FORMS TO DELETE]
* [[estar]] (incorrect combined forms, e.g. éstela instead of estela) [OK]
* [[extasiar]]: (conjugated with í/+ should be only í) [FORMS TO DELETE]
* [[facer]] (extra form face, fáceme, etc.) [FIX]
* [[ferrar]]: (missing <ie>) [FORMS TO DELETE]
* [[gloriar]]: (conjugated with í/+ should be only í) [FORMS TO DELETE]
* [[hacer]] (extra form hace, háceme, etc.) [DELETE hácete]
* [[homogeneizar]] (extra form homogeneízo) [DELETE homogeneízo, homogeneízas, homogeneíza, homogeneízan, homogeneícen, homogeneícemos]
* [[incensar]]: (missing <ie>) [FORMS TO DELETE]
* [[ir]] (extraneous param aux=ser) [REMOVE PARAM]
* [[jacer]] (extra form jace, jáceme, etc.) [FIX]
* [[jarrear]] (extraneous param impersonal=yes)
* [[litografiar]]: (conjugated without í) [FORMS TO DELETE]
* [[manumitir]] (extra form manumiso, etc.) [FIX; is an adjective]
* [[mecanografiar]]: (conjugated without í) [FORMS TO DELETE]
* [[mordiscar]] (conjugated with no cons alternation) [FORMS TO DELETE]
* [[neviscar]]: (used only in 3rd person singular) [DELETE ALL FIRST AND SECOND PERSON FORMS, ALL 3RD PLURAL FORMS AND ALL PP NON-MS FORMS]
* [[obsipar]] (conjugated as obispar) [DELETE VERB]
* [[obstar]]: (used only in 3rd person) [DELETE ALL FIRST AND SECOND PERSON FORMS]
* [[orificar]] (conjugated as orificiar) [OK]
* [[complacer]], [[placer]] (missing plega in imperative 3s, etc.) [OK]
* [[prevaler]] (extra form preval, incorrect form prévalme etc.) [DELETE preval]
* [[preterir]]: (not given as no_pres_stressed) [FORMS TO DELETE]
* [[raer]] (extra form rao) [DELETE rao]
* [[rebordar]] (extraneous param lang=es) [REMOVE PARAM]
* [[redecir]] (incorrect imp_2s redice instead of redí) [FIX]
* [[reinstitucionalizar]] (conjugated with no cons alternation) [FORMS TO DELETE]
* [[reirse]] [DELETE]
* [[serigrafiar]]: (conjugated without í) [FORMS TO DELETE]
* [[sobresalir]] (incorrect combined forms e.g. sobrésalme) [OK]
* [[superpoblar]] (missing <ue>) [FORMS TO DELETE]
* [[sustituir]] (extra form sustituto, etc.) [OK]
* [[usucapir]]: (used only in inf and pp) [DELETE ALL FORMS BUT PP]
* [[valefacer]] (extra form valeface) [FIX]
* [[valer]] (extra form val, etc.) [OK]
* LOTS OF COMBINED FORMS OF VERBS IN -iar, -uar, -ai-, -au-, -ei-, -eu-, etc.
Example: afeitar (afeítate, afeítese, afeítense). Need a script to find them.
* [[acostar]]: normally <ue> but in meaning "arrive at the coast", <>
* [[adecuar]]: <+,ú>
* [[aerografiar]]: <í>
* [[aferrar]]: <+,ie[obsolete]>
* [[afiliar]]: <>
* [[aforar]]: in meaning "to gauge, to measure": <>; in meaning "otorgar fuero": <ue>
* [[arrecir]]: <no_pres_stressed>
* [[agraviar]]: <>
* [[agriar]]: <í,+>
* [[aserrar]]: <ie>
* [[asolar]]: in meaning "destroy": <ue,+>; in meaning "to dry up": <>
* [[aspaventar]]: <ie>
* [[atentar]]: in meaning "to commit a crime" does not have vowel alt
* [[atesar]]: <>; possibly <ie> in obsolete meaning "atiesar"
* [[atestar]]: in meaning "to pack": <ie,+>; in meaning "testify": <>
* [[autoevacuarse]]: <+,ú>
* [[auxiliar]]: <>
* [[avalentar]]: <>
* [[cimentar]]: <ie,+>
* [[colar]]: most meanings <ue> but "canonically confer (an ecclesiastical benefit)" <>
* [[colorir]]: <no_pres_stressed>
* [[comisariar]]: <í>
* [[desafiliar]]: <>
* [[desaforar]]: "to deprive of fuero": <ue,+[less common]>
* [[desairar]]: <>
* [[desolar]]: <ue,+>
* [[desmembrar]]: <ie,+>
* [[dezmar]]: <>
* [[ejecutoriar]]: <í,+>
* [[emparentar]]: <ie,+>
* [[encentar]]: <>
* [[encubertar]]: <>
* [[engrosar]]: <ue,+>
* [[escenografiar]]: <í>
* [[evacuar]]: <+,ú>
* [[expatriar]]: <í,+>
* [[extasiar]]: <í>
* [[ferrar]]: <ie>
* [[follar]]: <ue>
* [[gloriar]]: <í>
* [[hibernar]]: no vowel alt or e-ie; e-ie not in RAE, ask about it
* [[historiar]]: <í,+>
* [[incensar]]: <ie>
* [[invernar]]: <ie,+>
* [[licuar]]: <+,ú>
* [[litografiar]]: <í>
* [[mecanografiar]]: <í>
* [[paliar]]: <í,+>
* [[preterir]]: <i.no_pres_stressed>
* [[promiscuar]]: <+,ú>
* [[readecuar]]: <+,ú>
* [[repatriar]]: <í,+>
* [[retrocar]]: <ue,+>
* [[serigrafiar]]: <í>
* [[soterrar]]: <ie,+>
* [[superpoblar]]: <ue>
* [[templar]]: <+,ie[in some parts of Latin America]>
* [[vidriar]]: <í,+>
Second round of verbs to fix:
* [[apropriar]]: forms point to reflexive [FORMS TO FIX]
* [[autogobernarse]]: (missing <ie>) [FORMS TO DELETE]
* [[autorreproducirse]]: (wrongly had regular preterite and impf/fut sub) [FORMS TO DELETE]
* [[aventarse]]: (missing <ie>) [FORMS TO DELETE]
* [[aventar]]: forms point to reflexive [FORMS TO FIX]
* [[culiar]]: yo culio or culío? [VERIFY]
* [[desnacer]]: delete [[dasnatos]]
* [[poseer]]: delete [[posesa]], [[posesos]], [[posesas]]
* [[reproducir]]: (wrongly had regular preterite and impf/fut sub) [FORMS TO DELETE]
* [[trasgredir]]: (wrongly had <i>) [FORMS TO DELETE]
---------
Irregular conjugations.
Each entry is processed in turn and consists of an object with two fields:
1. match=: Specifies the irregular verbs that match this object.
2. forms=: Specifies the irregular stems and forms for these verbs.
The value of match= is either a string beginning with "^" (match only the specified verb), a string not beginning
with "^" (match any verb ending in that string), or a function that is passed in the verb and should return the
prefix of the verb if it matches, otherwise nil. The function match_against_verbs() is provided to facilitate matching
a set of verbs with a common ending and specific prefixes (e.g. [[andar]] and [[desandar]] but not [[mandar]], etc.).
The value of forms= is a table specifying stems and individual override forms. Each key of the table names either a
stem (e.g. `pres_stressed`), a stem property (e.g. `vowel_alt`) or an individual override form (e.g. `pres_1s`).
Each value of a stem can either be a string (a single stem), a list of strings, or a list of objects of the form
{form = STEM, footnotes = {FOONOTES}}. Each value of an individual override should be of exactly the same form except
that the strings specify full forms rather than stems. The values of a stem property depend on the specific property
but are generally strings or booleans.
In order to understand how the stem specifications work, it's important to understand the phonetic modifications done
by combine_stem_ending(). In general, the complexities of predictable stem and ending modifications are all handled
in this function. In particular:
1. Spelling-based modifications (c/z, g/gu, gu/gü, g/j) occur automatically as appropriate for the ending.
2. Raising of e -> i, o -> u in -ir verbs before an ending beginning with i + vowel, as well as in the 1p/2p forms of
the present subjunctive (dormir -> durmiendo, durmió, durmamos), are handled here. Raising happens only for -ir
verbs and only when the stem setting `raising_conj` is true (which is normally set to true when vowel alternations
`ie-i`, `ye-i`, `ue-u`, `i`, `í` or `ú` are specified).
3. Numerous modifications are automatically made before an ending beginning with i + vowel. These include:
a. final -i of stem absorbed: sonreír -> sonrió, sonriera, sonriendo;
b. in the preterite of irregular verbs (likewise for other tenses derived from the preterite stem, i.e. imperfect
and and future subjunctive), initial i absorbed after j and u (dijeron not #dijieron, likewise for condujeron,
trajeron; also fueron not #fuyeron). This happens only when stem setting `pret_conj` == "irreg"; this must be set
explicitly by irregular verbs. Does not apply everywhere because of cases like regular [[tejer]] (tejieron not
#tejeron), regular [[concluir]] (concluyeron not #conclueron).
c. initial i of ending -> y after vowel and word-initially: poseer -> poseyó, poseyera, poseyendo; ir -> yendo;
d. initial i of ending -> y after gü, which becomes gu: argüir -> arguyó, arguyera, arguyendo;
e. initial i of ending absorbed after ñ, ll, y: tañer -> tañó, tañera, tañendo; bullir -> bulló, bullera, bullendo
4. If the ending begins with (h)i, it gets an accent after a/e/i/o to prevent the two merging into a diphthong:
caer -> caíste, caímos; reír -> reíste, reímos (pres and pret). This does not apply after u, e.g.
concluir -> concluiste, concluimos.
5. In -uir verbs (i.e. -ir verbs with stem ending in -u), a y is added before endings beginning with a/e/o:
concluir -> concluyo, concluyen, concluya, concluyamos. Note that preterite concluyó, gerund concluyendo, etc.
are handled by a different rule above (3b).
The following stems are recognized:
-- pres_unstressed: The present indicative unstressed stem (2s voseo, 1p, 2p). Also controls the imperative 2p
and gerund. Defaults to the infinitive stem.
-- pres_stressed: The present indicative stressed stem (1s, 2s, 3s, 3p). Also controls the imperative 2s.
Default is empty if indicator `no_pres_stressed`, else a vowel alternation if such an indicator is given
(e.g. `ue`, `ì`), else the infinitive stem.
-- pres1_and_sub: Overriding stem for 1s present indicative and the entire subjunctive. Only set by irregular verbs
and by the indicator `no_pres_stressed` (since verbs of this sort, e.g. [[aterir]], are missing the entire
subjunctive as well as the forms with stressed root). Used by many irregular verbs, e.g. [[caer]], [[roer]],
[[salir]], [[tener]], [[valer]], [[venir]], etc. Some verbs set this and then supply an override for the pres_1sg
if it's irregular, e.g. [[saber]], with irregular subjunctive stem "sep-" and special 1s present indicative "sé*"
(the * indicates that the monosyllabic accent should not be removed).
-- pres1: Special stem for 1s present indicative. Normally, do not set this explicitly. If you need to specify an
irregular 1s present indicative, use the form override pres_1s= to specify the entire form. Defaults to
pres1_and_sub if given, else pres_stressed.
-- pres_sub_unstressed: The present subjunctive unstressed stem (1p, 2p, also 2s voseo for -ar verbs). Defaults to
pres1_and_sub if given, else the infinitive stem.
-- pres_sub_stressed: The present subjunctive stressed stem (1s, 2s, 3s, 1p, also 2s voseo for -er/-ir verbs). Defaults
to pres1.
-- impf: The imperfect stem. Defaults to the infinitive stem.
-- pret: The preterite stem. Defaults to the infinitive stem.
-- pret_conj: Determines the set of endings used in the preterite. Should be one of "ar", "er", "ir" or "irreg".
Defaults to the conjugation as determined from the infinitive.
-- fut: The future stem. Defaults to the infinitive stem.
-- cond: The conditional stem. Defaults to fut.
-- impf_sub_ra: The imperfect subjunctive -ra stem. Defaults to the preterite stem.
-- impf_sub_se: The imperfect subjunctive -se stem. Defaults to the preterite stem.
-- fut_sub: The future subjunctive stem. Defaults to the preterite stem.
-- pp: The past participle stem. Default is based on the verb conjugation: infinitive stem + "ad" for -ar verbs,
otherwise infinitive stem + "id".
]=]
local built_in_conjugations = {
{
-- andar, desandar
-- we don't want to match e.g. mandar.
match = match_against_verbs("andar", {"", "des"}),
forms = {pret = "anduv", pret_conj = "irreg"}
},
{
-- asir, desasir
match = "asir",
-- use 'asgu' because we're in a front environment; if we use 'asg', we'll get '#asjo'
forms = {pres1_and_sub = "asgu"}
},
{
-- abrir, cubrir and compounds
match = function(verb)
local prefix, base_verb = rmatch(verb, "^(.*)(brir)$")
-- Only match abrir, cubrir and compounds, and don't match desabrir/jabrir
if not prefix then
return nil
elseif not prefix:find("a$") and not prefix:find("cu$") then
return nil
elseif prefix == "desa" or prefix == "ja" then
return nil
else
return prefix, base_verb
end
end,
forms = {pp = "biert"}
},
{
match = "caber",
forms = {pres1_and_sub = "quep", pret = "cup", pret_conj = "irreg", fut = "cabr"}
},
{
-- caer, decaer, descaer, recaer
match = "caer",
-- use 'caigu' because we're in a front environment; if we use 'caig', we'll get '#caijo'
forms = {pres1_and_sub = "caigu"}
},
{
-- cocer, escocer, precocer, etc.
match = "cocer",
-- override cons_alt, otherwise the verb would be categorized as a c-zc alternating verb
forms = {vowel_alt = "ue", pres1 = "cuez", pres_sub_unstressed = "coz", cons_alt = "c-z"}, -- not cozco, as would normally be generated
},
{
-- dar, desdar
match = match_against_verbs("dar", {"", "des"}),
forms = {
-- we need to override various present indicative forms and add an accent for the compounds;
-- not needed for the simplex and in fact the accents will be removed in that case
pres_1s = "doy",
pres_2s = "dás",
pres_3s = "dá",
pres_2p = "dáis",
pres_3p = "dán",
pret = "d", pret_conj = "er",
pres_sub_1s = "dé*", -- * signals that the monosyllabic accent must remain
pres_sub_2s = "dés",
pres_sub_3s = "dé*",
pres_sub_2p = "déis",
pres_sub_3p = "dén",
imp_2s = "dá",
}
},
{
-- decir, redecir, entredecir
match = match_against_verbs("decir", {"", "re", "entre"}),
forms = {
-- for this and variant verbs in -decir, we set cons_alt to false because we don't want the
-- verb categorized as a c-zc alternating verb, which would happen by default
-- use 'digu' because we're in a front environment; if we use 'dig', we'll get '#dijo'
pres1_and_sub = "digu", vowel_alt = "i", cons_alt = false, pret = "dij", pret_conj = "irreg",
pp = "dich", fut = "dir",
imp_2s = "dí" -- need the accent for the compounds; it will be removed in the simplex
}
},
{
-- antedecir, interdecir
match = match_against_verbs("decir", {"ante", "inter"}),
forms = {
pres1_and_sub = "digu", vowel_alt = "i", cons_alt = false, pret = "dij", pret_conj = "irreg",
pp = "dich", fut = "dir" -- imp_2s regular
}
},
{
-- bendecir, maldecir
match = match_against_verbs("decir", {"ben", "mal"}),
forms = {
pres1_and_sub = "digu", vowel_alt = "i", cons_alt = false, pret = "dij", pret_conj = "irreg",
pp = {"decid", "dit"} -- imp_2s regular, fut regular
}
},
{
-- condecir, contradecir, desdecir, predecir, others?
match = "decir",
forms = {
pres1_and_sub = "digu", vowel_alt = "i", cons_alt = false, pret = "dij", pret_conj = "irreg",
pp = "dich", fut = {"decir", "dir"} -- imp_2s regular
}
},
{
match = "^desvaír",
forms = {
pres_2s = "desvaes",
pres_3s = "desvae",
pres_3p = "desvaen",
imp_2s = "desvae"
}
},
{
-- conducir, producir, reducir, traducir, etc.
match = "ducir",
forms = {pret = "duj", pret_conj = "irreg"}
},
{
-- elegir, reelegir; not preelegir, per RAE
match = match_against_verbs("elegir", {"", "re"}),
forms = {vowel_alt = "i", pp = {"elegid", "elect"}}
},
{
-- erguir
match = "^erguir",
forms = {
vowel_alt = {"i", "ye-i"},
-- We would not need to make this verb irregular except for the alternative unstressed present subjunctive forms
-- in yerg-. We can't use pres_sub_unstressed = {"irgu", "yergu"} because the "i" and "ye-i" vowel alternations
-- are e->i raising in the unstressed present subjunctive and we wrongly get irgamos/yirgamos etc.
pres_sub_2sv = {"irgás", "yergás"},
pres_sub_1p = {"irgamos", "yergamos"},
pres_sub_2p = {"irgáis", "yergáis"},
},
},
{
match = "^estar",
forms = {
pres_1s = "estoy",
pres_2s = "estás",
pres_2sv = "estás",
pres_3s = "está",
pres_3p = "están",
pret = "estuv",
pret_conj = "irreg",
pres_sub_1s = "esté",
pres_sub_2s = "estés",
pres_sub_2sv = "estés",
pres_sub_3s = "esté",
pres_sub_3p = "estén",
imp_2s = "está",
imp_2sv = "está",
}
},
{
-- freír, refreír
match = "freír",
forms = {vowel_alt = "í", pp = {"freíd", "frit"}}
},
{
match = "garantir",
forms = {
pres_stressed = {{form = "garant", footnotes = {"[only used in Argentina and Uruguay]"}}},
pres1_and_sub = {{form = "garant", footnotes = {"[only used in Argentina and Uruguay]"}}},
}
},
{
match = "^haber",
forms = {
pres_1s = "he",
pres_2s = "has",
pres_2sv = "has",
pres_3s = {"ha", {form = "hay", footnotes = {"[used impersonally]"}}},
pres_1p = "hemos",
pres_3p = "han",
pres1_and_sub = "hay", -- only for subjunctive as we override pres_1s
pret = "hub",
pret_conj = "irreg",
imp_2s = {"habe", "he"},
imp_2sv = {"habe", "he"},
fut = "habr",
}
},
{
match = "satisfacer",
forms = {
-- see below for cons_alt setting and pres1_and_sub setting
pres1_and_sub = "satisfagu", cons_alt = false, pret = "satisfic", pret_conj = "irreg",
pp = "satisfech", fut = "satisfar", imp_2s = {"satisface", "satisfaz"}
}
},
{
match = match_against_verbs("hacer", {"contra", "re"}),
-- contrahacer/rehacer require an extra accent in the preterite (rehíce, rehízo).
forms = {
-- see below for cons_alt setting and pres1_and_sub setting
pres1_and_sub = "hagu", cons_alt = false,
pret = "hic", pret_1s = "híce", pret_3s = "hízo", pret_conj = "irreg",
pp = "hech", fut = "har", imp_2s = "haz"
}
},
{
-- hacer, deshacer, contrahacer, rehacer, facer, desfacer, jacer
match = function(verb) return rmatch(verb, "^(.*[hjf])(acer)$") end,
forms = {
-- for these verbs, we set cons_alt to false because we don't want the verb categorized as a
-- c-zc alternating verb, which would happen by default
-- use 'agu' because we're in a front environment; if we use 'ag', we'll get '#hajo'
pres1_and_sub = "agu", cons_alt = false, pret = "ic", pret_conj = "irreg", pp = "ech",
fut = "ar", imp_2s = "az"
}
},
{
-- imprimir, reimprimir
match = "imprimir",
forms = {pp = {"imprimid", "impres"}}
},
{
-- infecir
match = "infecir",
-- override cons_alt, otherwise the verb would be categorized as a c-zc alternating verb
forms = {vowel_alt = "i", pres1 = "infiz", pres_sub_unstressed = "infez", cons_alt = "c-z"}, -- not infizco, as would normally be generated
},
{
match = "infecir",
-- override cons_alt, otherwise the verb would be categorized as a c-zc alternating verb
forms = {pres1_and_sub = "infez", cons_alt = "c-z"}, -- not mezco, as would normally be generated
},
{
match = "^ir",
forms = {
pres_1s = "voy",
pres_2s = "vas",
pres_2sv = "vas",
pres_3s = "va",
pres_1p = "vamos",
pres_2p = "vais",
pres_3p = "van",
pres1_and_sub = "vay", -- only for subjunctive as we override pres_1s
full_impf = "ib",
impf_1p = "íbamos",
pret = "fu",
pret_conj = "irreg", -- this signals that fu + -ieron -> fueron not fuyeron
pret_1s = "fui",
pret_3s = "fue",
imp_2s = "ve",
imp_2sv = "andá",
imp_1p = {"vamos", "vayamos"},
refl_imp_2p = {"idos", "iros"},
imp_2p_comb_os = {"idos", "iros"},
}
},
{
-- mecer, remecer
-- we don't want to match e.g. adormecer, estremecer
match = match_against_verbs("mecer", {"re", ""}),
-- override cons_alt, otherwise the verb would be categorized as a c-zc alternating verb
forms = {pres1_and_sub = "mez", cons_alt = "c-z"}, -- not mezco, as would normally be generated
},
{
-- morir, desmorir, premorir
match = "morir",
forms = {vowel_alt = "ue-u", pp = "muert"},
},
{
-- oír, desoír, entreoír, trasoír
match = "oír",
-- use 'oigu' because we're in a front environment; if we use 'oig', we'll get '#oijo'
forms = {pres1_and_sub = "oigu"}
},
{
match = "olver", -- solver, volver, bolver and derivatives
forms = {vowel_alt = "ue", pp = "uelt"}
},
{
-- placer, desplacer
match = "placer",
forms = {
pret_3s = {"plació", {form = "plugo", footnotes = {"[archaic]"}}},
pret_3p = {"placieron", {form = "pluguieron", footnotes = {"[archaic]"}}},
pres_sub_3s = {"plazca", {form = "plega", footnotes = {"[archaic]"}}, {form = "plegue", footnotes = {"[archaic]"}}},
impf_sub_ra_3s = {"placiera", {form = "pluguiera", footnotes = {"[archaic]"}}},
impf_sub_ra_3p = {"placieran", {form = "pluguieran", footnotes = {"[archaic]"}}},
impf_sub_se_3s = {"placiese", {form = "pluguiese", footnotes = {"[archaic]"}}},
impf_sub_se_3p = {"placiesen", {form = "pluguiesen", footnotes = {"[archaic]"}}},
fut_sub_3s = {"placiere", {form = "pluguiere", footnotes = {"[archaic]"}}},
fut_sub_3p = {"placieren", {form = "pluguieren", footnotes = {"[archaic]"}}},
}
},
{
match = "poder",
forms = {vowel_alt = "ue", pret = "pud", pret_conj = "irreg", fut = "podr", gerund = "pudiendo"}
},
{
-- poner, componer, deponer, imponer, oponer, suponer, many others
match = "poner",
forms = {
-- use 'pongu' because we're in a front environment; if we use 'pong', we'll get '#ponjo'
pres1_and_sub = "pongu", pret = "pus", pret_conj = "irreg", fut = "pondr", pp = "puest",
imp_2s = "pón" -- need the accent for the compounds; it will be removed in the simplex
}
},
{
-- proveer, desproveer
match = "proveer",
forms = {pp = {"provist", "proveíd"}},
},
{
match = "pudrir",
forms = {pp = "podrid"}
},
{
-- querer, desquerer, malquerer
match = "querer",
forms = {vowel_alt = "ie", pret = "quis", pret_conj = "irreg", fut = "querr"}
},
{
match = "^raer",
-- use 'raigu' because we're in a front environment; if we use 'raig', we'll get '#raijo'
forms = {pres1_and_sub = {"raigu", "ray"}}
},
{
-- roer, corroer
match = "roer",
-- use 'roigu' because we're in a front environment; if we use 'roig', we'll get '#roijo'
forms = {pres1_and_sub = {"ro", "roigu", "roy"}}
},
{
-- romper, entrerromper, arromper, derromper; not corromper; FIXME: not sure about interromper (obsolete)
match = function(verb)
local prefix, base_verb = rmatch(verb, "^(.*)(romper)$")
-- Don't match corromper
if prefix == "cor" then
return nil
else
return prefix, base_verb
end
end,
forms = {pp = "rot"}
},
{
-- saber, resaber
match = "saber",
forms = {
pres_1s = "sé*", -- * signals that the monosyllabic accent must remain
pres1_and_sub = "sep", -- only for subjunctive as we override pres_1s
pret = "sup",
pret_conj = "irreg",
fut = "sabr",
}
},
{
match = "salir",
forms = {
-- use 'salgu' because we're in a front environment; if we use 'salg', we'll get '#saljo'
pres1_and_sub = "salgu", fut = "saldr", imp_2s = "sal",
-- These don't exist per the RAE.
imp_2s_comb_lo = {}, imp_2s_comb_los = {}, imp_2s_comb_la = {}, imp_2s_comb_las = {},
imp_2s_comb_le = {}, imp_2s_comb_les = {},
},
},
{
match = "scribir", -- escribir, describir, proscribir, etc.
forms = {pp = {"scrit", {form = "script", footnotes = {"[Argentina and Uruguay]"}}}}
},
{
match = "^ser",
forms = {
pres_1s = "soy",
pres_2s = "eres",
pres_2sv = "sos",
pres_3s = "es",
pres_1p = "somos",
pres_2p = "sois",
pres_3p = "son",
pres1_and_sub = "se", -- only for subjunctive as we override pres_1s
full_impf = "er",
impf_1p = "éramos",
pret = "fu",
pret_conj = "irreg", -- this signals that fu + -ieron -> fueron not fuyeron
pret_1s = "fui",
pret_3s = "fue",
fut = "ser",
imp_2s = "sé*", -- * signals that the monosyllabic accent must remain
imp_2sv = "sé*",
}
},
{
match = "^soler",
forms = {
vowel_alt = "ue",
fut = {{form = "soler", footnotes = {"[rare but acceptable]"}}},
fut_sub = {{form = "sol", footnotes = {"[rare but acceptable]"}}},
pp = {{form = "solid", footnotes = {"[rare but acceptable]"}}},
}
},
{
-- tener, abstener, contener, detener, obtener, sostener, and many others
match = "tener",
forms = {
-- use 'tengu' because we're in a front environment; if we use 'teng', we'll get '#tenjo'
pres1_and_sub = "tengu", vowel_alt = "ie", pret = "tuv", pret_conj = "irreg", fut = "tendr",
imp_2s = "tén" -- need the accent for the compounds; it will be removed in the simplex
}
},
{
-- traer, atraer, detraer, distraer, extraer, sustraer, and many others
match = "traer",
-- use 'traigu' because we're in a front environment; if we use 'traig', we'll get '#traijo'
forms = {pres1_and_sub = "traigu", pret = "traj", pret_conj = "irreg"}
},
{
-- valer, equivaler, prevaler
match = "valer",
-- use 'valgu' because we're in a front environment; if we use 'valg', we'll get '#valjo'
forms = {pres1_and_sub = "valgu", fut = "valdr"}
},
{
match = "venir",
forms = {
-- use 'vengu' because we're in a front environment; if we use 'veng', we'll get '#venjo'
pres1_and_sub = "vengu", vowel_alt = "ie-i", pret = "vin", pret_conj = "irreg",
-- uniquely for this verb, pres sub 2sv/1p/2p do not raise the vowel even though we are an
-- e-ie-i verb (contrast sentir -> sintamos/sintáis)
pres_sub_2sv = "vengás", pres_sub_1p = "vengamos", pres_sub_2p = "vengáis",
fut = "vendr", imp_2s = "vén" -- need the accent for the compounds; it will be removed in the simplex
}
},
{
-- We want to match antever etc. but not atrever etc. No way to avoid listing each verb.
match = match_against_verbs("ver", {"ante", "entre", "pre", "re", "tras", ""}),
forms = {
-- we need to override various present indicative forms and add an accent for the compounds;
-- not needed for the simplex and in fact the accents will be removed in that case
pres_2s = "vés",
pres_2sv = "vés",
pres_3s = "vé",
pres_2p = "véis",
pres_3p = "vén",
pres1_and_sub = "ve",
impf = "ve", pp = "vist",
imp_2s = "vé" -- need the accent for the compounds; it will be removed in the simplex
}
},
{
-- yacer, adyacer, subyacer
match = "yacer",
-- use 'yazqu/yazgu/yagu' because we're in a front environment; see 'decir' above
forms = {pres1_and_sub = {"yazqu", "yazgu", "yagu"}, imp_2s = {"yace", "yaz"}}
},
}
local reflexive_masc_forms = {
["su"] = {"mi", "tu", "su", "nuestro", "vuestro", "su"},
["sus"] = {"mis", "tus", "sus", "nuestros", "vuestros", "sus"},
["sí"] = {"mí", "ti", "sí", "nosotros", "vosotros", "sí"},
["consigo"] = {"conmigo", "contigo", "consigo", "con nosotros", "con vosotros", "consigo"},
}
local reflexive_fem_forms = {
["su"] = {"mi", "tu", "su", "nuestra", "vuestra", "su"},
["sus"] = {"mis", "tus", "sus", "nuestras", "vuestras", "sus"},
["sí"] = {"mí", "ti", "sí", "nosotras", "vosotras", "sí"},
["consigo"] = {"conmigo", "contigo", "consigo", "con nosotras", "con vosotras", "consigo"},
}
local reflexive_forms = {
["se"] = {"me", "te", "se", "nos", "os", "se"},
["suyo"] = {"mío", "tuyo", "suyo", "nuestro", "vuestro", "suyo"},
["suya"] = {"mía", "tuya", "suya", "nuestra", "vuestra", "suya"},
["suyos"] = {"míos", "tuyos", "suyos", "nuestros", "vuestros", "suyos"},
["suyas"] = {"mías", "tuyas", "suyas", "nuestras", "vuestras", "suyas"},
}
local function skip_slot(base, slot, allow_overrides)
if not allow_overrides and (base.basic_overrides[slot] or base.combined_overrides[slot] or
base.refl and base.basic_reflexive_only_overrides[slot]) then
-- Skip any slots for which there are overrides.
return true
end
if base.only3s and (slot:find("^pp_f") or slot:find("^pp_mp")) then
-- diluviar, atardecer, neviscar; impersonal verbs have only masc sing pp
return true
end
if not slot:find("[123]") then
-- Don't skip non-personal slots.
return false
end
if base.nofinite then
return true
end
if (base.only3s or base.only3sp or base.only3p) and (slot:find("^imp_") or slot:find("^neg_imp_")) then
return true
end
if base.only3s and not slot:find("3s") then
-- diluviar, atardecer, neviscar
return true
end
if base.only3sp and not slot:find("3[sp]") then
-- atañer, concernir
return true
end
if base.only3p and not slot:find("3p") then
-- [[caer cuatro gotas]], [[caer chuzos de punta]], [[entrarle los siete males]]
return true
end
return false
end
-- Add the `stem` to the `ending` for the given `slot` and apply any phonetic modifications.
-- `is_combining_ending` is true if `ending` is actually the ending (this function is also
-- called to combine prefix + stem). WARNING: This function is written very carefully; changes
-- to it can easily have unintended consequences.
local function combine_stem_ending(base, slot, stem, ending, is_combining_ending)
if not is_combining_ending then
return stem .. ending
end
if base.stems.raising_conj and (rfind(ending, "^i" .. V) or
slot == "pres_sub_1p" or slot == "pres_sub_2p" or slot == "pres_sub_2sv") then
-- need to raise e -> i, o -> u: dormir -> durmió, durmiera, durmiendo, durmamos
stem = rsub(stem, "([eo])(" .. C .. "*)$", function(vowel, rest) return raise_vowel[vowel] .. rest end)
-- also with stem ending in -gu or -qu (e.g. erguir -> irguió, irguiera, irguiendo, irgamos)
stem = rsub(stem, "([eo])(" .. C .. "*[gq]u)$", function(vowel, rest) return raise_vowel[vowel] .. rest end)
end
-- Lots of sound changes involving endings beginning with i + vowel
if rfind(ending, "^i" .. V) then
-- (1) final -i of stem absorbed: sonreír -> sonrió, sonriera, sonriendo; note that this rule may be fed
-- by the preceding one (stem sonre- raised to sonri-, then final i absorbed)
stem = stem:gsub("i$", "")
-- (2) In the preterite of irregular verbs (likewise for other tenses derived from the preterite stem, i.e.
-- imperfect and future subjunctive), initial i absorbed after j (dijeron not #dijieron, likewise for
-- condujeron, trajeron) and u (fueron not #fuyeron). Does not apply in regular verb tejer (tejieron not
-- #tejeron) and concluir (concluyeron not #conclueron).
if base.stems.pret_conj == "irreg" and rfind(stem, "[ju]$") then
ending = ending:gsub("^i", "")
end
-- (3) initial i -> y after vowel and word-initially: poseer -> poseyó, poseyera, poseyendo;
-- concluir -> concluyó, concluyera, concluyendo; ir -> yendo; but not conseguir/delinquir
if stem == "" or (rfind(stem, V .. "$") and not rfind(stem, "[gq]u$")) then
ending = ending:gsub("^i", "y")
end
-- (4) -gü + ie- -> -guye-: argüir -> arguyó, arguyera, arguyendo
if stem:find("gü$") then
-- transfer the y to the stem to avoid gü -> gu below in front/back conversions
stem = stem:gsub("ü$", "uy")
ending = ending:gsub("^i", "")
end
-- (5) initial i absorbed after ñ, ll, y: tañer -> tañó, tañera, tañendo; bullir -> bulló, bullera, bullendo
if rfind(stem, "[ñy]$") or rfind(stem, "ll$") then
ending = ending:gsub("^i", "")
end
end
-- If ending begins with i, it must get an accent after a/e/i/o to prevent the two merging into a diphthong:
-- caer -> caíste, caímos; reír -> reíste, reímos (pres and pret). This does not apply after u, e.g.
-- concluir -> concluiste, concluimos.
if ending:find("^i") and stem:find("[aeio]$") then
ending = ending:gsub("^i", "í")
end
-- If -oír/-uir (i.e. -ir with stem ending in -o/u, e.g. oír, concluir), a y must be added before endings
-- beginning with a/e/o. Check for base.stems.pret_conj == "irreg" to exclude stem fu- of [[ir]].
if base.conj == "ir" and rfind(ending, "^[aeoáéó]") and base.stems.pret_conj ~= "irreg" then
if rfind(stem, "[aoú]$") then -- oír -> oye, rehuir -> rehúyo/rehúye (with indicator 'ú')
stem = stem .. "y"
elseif rfind(stem, "[^gq]u$") then -- concluir, but not conseguir or delinquir
stem = stem .. "y"
elseif stem:find("ü$") then -- argüir -> arguyendo
stem = stem:gsub("ü$", "uy")
end
end
-- Spelling changes in the stem; it depends on whether the stem given is the pre-front-vowel or
-- pre-back-vowel variant, as indicated by `frontback`. We want these front-back spelling changes to happen
-- between stem and ending, not between prefix and stem; the prefix may not have the same "front/backness"
-- as the stem.
local is_front = rfind(ending, "^[eiéí]")
if base.frontback == "front" and not is_front then
-- parecer -> parezco, conducir -> conduzco; use zqu to avoid triggering the following gsub();
-- the third line will replace zqu -> zc
if slot ~= "pret_3s" then -- exclude hice -> hizo (not #hizco)
stem = rsub(stem, "(" .. V .. ")c$", "%1zqu")
end
stem = stem:gsub("sc$", "squ") -- evanescer -> evanesco, fosforescer -> fosforesco
stem = stem:gsub("c$", "z") -- ejercer -> ejerzo, uncir -> unzo
stem = stem:gsub("qu$", "c") -- delinquir -> delinco, parecer -> parezqu- -> parezco
stem = stem:gsub("g$", "j") -- coger -> cojo, afligir -> aflijo
stem = stem:gsub("gu$", "g") -- distinguir -> distingo
stem = stem:gsub("gü$", "gu") -- may not occur; argüir -> arguyo handled above
elseif base.frontback == "back" and is_front then
stem = stem:gsub("gu$", "gü") -- averiguar -> averigüé
stem = stem:gsub("g$", "gu") -- cargar -> cargué
stem = stem:gsub("c$", "qu") -- marcar -> marqué
stem = rsub(stem, "[çz]$", "c") -- aderezar/adereçar -> aderecé
end
return stem .. ending
end
local function check_stems_for_suppress_prefix(slot, stems)
-- Check whether any or all stems have `suppress_prefix`.
local any_suppress_prefix = false
local any_not_suppress_prefix = false
if type(stems) == "table" then
if stems.suppress_prefix then
-- A single form object.
any_suppress_prefix = true
else
for _, stem in ipairs(stems) do
if type(stem) == "table" and stem.suppress_prefix then
any_suppress_prefix = true
else
any_not_suppress_prefix = true
end
end
end
else
any_not_suppress_prefix = true
end
if any_suppress_prefix and any_not_suppress_prefix then
-- This should never happen because suppress_prefix is set on user-specified stem and individual form
-- overrides, which should completely replace built-in overrides (which don't have suppress_prefix).
error("Internal error: For slot '" .. slot .. ", saw a mixture of suppress-prefix and non-suppress-prefix stems, and can't handle")
else
return any_suppress_prefix
end
end
local function add(base, slot, stems, endings, is_combining_ending, allow_overrides)
if skip_slot(base, slot, allow_overrides) then
return
end
local function do_combine_stem_ending(stem, ending)
return combine_stem_ending(base, slot, stem, ending, is_combining_ending)
end
iut.add_forms(base.forms, slot, stems, endings, do_combine_stem_ending, nil, nil, base.all_footnotes)
end
local function add3(base, slot, stems, endings, allow_overrides)
local suppress_prefix = base.prefix == "" or check_stems_for_suppress_prefix(slot, stems)
if suppress_prefix then
return add(base, slot, stems, endings, "is combining ending", allow_overrides)
end
if skip_slot(base, slot, allow_overrides) then
return
end
local is_combining_ending = false
local function do_combine_stem_ending(stem, ending)
return combine_stem_ending(base, slot, stem, ending, is_combining_ending)
end
-- Have to reimplement add_multiple_forms() ourselves due to the is_combining_ending
-- flag, which needs to be different when adding prefix to stems vs. stems to ending.
-- Otherwise we get e.g. #reímpreso instead of reimpreso.
local tempdest = {}
iut.add_forms(tempdest, slot, base.prefix, stems, do_combine_stem_ending)
is_combining_ending = true
iut.add_forms(base.forms, slot, tempdest[slot], endings, do_combine_stem_ending)
end
local function insert_form(base, slot, form)
if not skip_slot(base, slot) then
iut.insert_form(base.forms, slot, form)
end
end
local function insert_forms(base, slot, forms)
if not skip_slot(base, slot) then
iut.insert_forms(base.forms, slot, forms)
end
end
local function add_single_stem_tense(base, slot_pref, stems, s1, s2, s3, p1, p2, p3)
local function addit(slot, ending)
add3(base, slot_pref .. "_" .. slot, stems, ending)
end
addit("1s", s1)
addit("2s", s2)
addit("3s", s3)
addit("1p", p1)
addit("2p", p2)
addit("3p", p3)
end
local function add_present_indic(base)
local function addit(slot, stems, ending)
add3(base, "pres_" .. slot, stems, ending)
end
local s2, s2v, s3, p1, p2, p3
if base.conj == "ar" then
s2, s2v, s3, p1, p2, p3 = "as", "ás", "a", "amos", "áis", "an"
elseif base.conj == "er" then
s2, s2v, s3, p1, p2, p3 = "es", "és", "e", "emos", "éis", "en"
elseif base.conj == "ir" then
s2, s2v, s3, p1, p2, p3 = "es", "ís", "e", "imos", "ís", "en"
else
error("Internal error: Unrecognized conjugation " .. base.conj)
end
addit("1s", base.stems.pres1, "o")
addit("2s", base.stems.pres_stressed, s2)
addit("2sv", base.stems.pres_unstressed, s2v)
addit("3s", base.stems.pres_stressed, s3)
addit("1p", base.stems.pres_unstressed, p1)
addit("2p", base.stems.pres_unstressed, p2)
addit("3p", base.stems.pres_stressed, p3)
end
local function add_present_subj(base)
local function addit(slot, stems, ending)
add3(base, "pres_sub_" .. slot, stems, ending)
end
local s1, s2, s2v, s3, p1, p2, p3, voseo_stem
if base.conj == "ar" then
s1, s2, s2v, s3, p1, p2, p3 = "e", "es", "és", "e", "emos", "éis", "en"
else
s1, s2, s2v, s3, p1, p2, p3 = "a", "as", "ás", "a", "amos", "áis", "an"
end
addit("1s", base.stems.pres_sub_stressed, s1)
addit("2s", base.stems.pres_sub_stressed, s2)
addit("2sv", base.stems.pres_sub_unstressed, s2v)
addit("3s", base.stems.pres_sub_stressed, s3)
addit("1p", base.stems.pres_sub_unstressed, p1)
addit("2p", base.stems.pres_sub_unstressed, p2)
addit("3p", base.stems.pres_sub_stressed, p3)
end
local function add_imper(base)
local function addit(slot, stems, ending)
add3(base, "imp_" .. slot, stems, ending)
end
if base.conj == "ar" then
addit("2s", base.stems.pres_stressed, "a")
addit("2sv", base.stems.pres_unstressed, "á")
addit("2p", base.stems.pres_unstressed, "ad")
elseif base.conj == "er" then
addit("2s", base.stems.pres_stressed, "e")
addit("2sv", base.stems.pres_unstressed, "é")
addit("2p", base.stems.pres_unstressed, "ed")
elseif base.conj == "ir" then
addit("2s", base.stems.pres_stressed, "e")
addit("2sv", base.stems.pres_unstressed, "í")
addit("2p", base.stems.pres_unstressed, "id")
else
error("Internal error: Unrecognized conjugation " .. base.conj)
end
end
local function add_finite_non_present(base)
local function add_tense(slot, stem, s1, s2, s3, p1, p2, p3)
add_single_stem_tense(base, slot, stem, s1, s2, s3, p1, p2, p3)
end
local stems = base.stems
if stems.full_impf then
-- An override needs to be supplied for the impf_1p due to the accent on the stem.
add_tense("impf", stems.full_impf, "a", "as", "a", {}, "ais", "an")
elseif base.conj == "ar" then
add_tense("impf", stems.impf, "aba", "abas", "aba", "ábamos", "abais", "aban")
else
add_tense("impf", stems.impf, "ía", "ías", "ía", "íamos", "íais", "ían")
end
if stems.pret_conj == "irreg" then
add_tense("pret", stems.pret, "e", "iste", "o", "imos", "isteis", "ieron")
elseif stems.pret_conj == "ar" then
add_tense("pret", stems.pret, "é", "aste", "ó", "amos", "asteis", "aron")
else
add_tense("pret", stems.pret, "í", "iste", "ió", "imos", "isteis", "ieron")
end
if stems.pret_conj == "ar" then
add_tense("impf_sub_ra", stems.impf_sub_ra, "ara", "aras", "ara", "áramos", "arais", "aran")
add_tense("impf_sub_se", stems.impf_sub_se, "ase", "ases", "ase", "ásemos", "aseis", "asen")
add_tense("fut_sub", stems.fut_sub, "are", "ares", "are", "áremos", "areis", "aren")
else
add_tense("impf_sub_ra", stems.impf_sub_ra, "iera", "ieras", "iera", "iéramos", "ierais", "ieran")
add_tense("impf_sub_se", stems.impf_sub_se, "iese", "ieses", "iese", "iésemos", "ieseis", "iesen")
add_tense("fut_sub", stems.fut_sub, "iere", "ieres", "iere", "iéremos", "iereis", "ieren")
end
add_tense("fut", stems.fut, "é", "ás", "á", "emos", "éis", "án")
add_tense("cond", stems.cond, "ía", "ías", "ía", "íamos", "íais", "ían")
end
local function add_non_finite_forms(base)
local stems = base.stems
local function addit(slot, stems, ending)
add3(base, slot, stems, ending)
end
insert_form(base, "infinitive", {form = base.verb})
-- Also insert "infinitive + reflexive pronoun" combinations if we're handling a reflexive verb. See comment below for
-- "gerund + reflexive pronoun" combinations.
if base.refl then
for _, persnum in ipairs(person_number_list_basic) do
insert_form(base, "infinitive_" .. persnum, {form = base.verb})
end
end
local ger_ending = base.conj == "ar" and "ando" or "iendo"
addit("gerund", stems.pres_unstressed, ger_ending)
-- Also insert "gerund + reflexive pronoun" combinations if we're handling a reflexive verb. We insert exactly the same
-- form as for the bare gerund; later on in add_reflexive_or_fixed_clitic_to_forms(), we add the appropriate clitic
-- pronouns. It's important not to do this for non-reflexive verbs, because in that case, the clitic pronouns won't be
-- added, and {{es-verb form of}} will wrongly consider all these combinations as possible inflections of the bare
-- gerund. Thanks to [[User:JeffDoozan]] for this bug fix.
if base.refl then
for _, persnum in ipairs(person_number_list_basic) do
addit("gerund_" .. persnum, stems.pres_unstressed, ger_ending)
end
end
addit("pp_ms", stems.pp, "o")
addit("pp_fs", stems.pp, "a")
addit("pp_mp", stems.pp, "os")
addit("pp_fp", stems.pp, "as")
end
local function copy_subjunctives_to_imperatives(base)
-- Copy subjunctives to imperatives, unless there's an override for the given slot (as with the imp_1p of [[ir]]).
for _, persnum in ipairs({"3s", "1p", "3p"}) do
local from = "pres_sub_" .. persnum
local to = "imp_" .. persnum
insert_forms(base, to, iut.map_forms(base.forms[from], function(form) return form end))
end
end
-- Remove monosyllabic accents (e.g. the 3sg preterite of fiar is fio not #fió). Note that there are a
-- few monosyllabic verb forms that intentionally have an accent, to distinguish them from other words
-- with the same pronunciation. These are as follows:
-- (1) [[sé]] 1sg present indicative of [[saber]];
-- (2) [[sé]] 2sg imperative of [[ser]];
-- (3) [[dé]] 1sg and 3sg present subjunctive of [[dar]].
-- For these, a * is added, which indicates that the accent needs to remain. If we see such a *, we remove
-- it but otherwise leave the form alone.
local function remove_monosyllabic_accents(base)
for _, slotaccel in ipairs(base.alternant_multiword_spec.verb_slots_basic) do
local slot, accel = unpack(slotaccel)
if base.forms[slot] then
for _, form in ipairs(base.forms[slot]) do
if form.form:find("%*") then -- * means leave alone any accented vowel
form.form = form.form:gsub("%*", "")
elseif may_need_monosyllabic_accent_removed(form.form) then
-- Has an accented vowel and no VCV sequence and not a suffix; may be monosyllabic, in which
-- case we need to remove the accent. Check # of syllables and remove accent if only 1. Note
-- that the checks for accented vowel and VCV sequence are not strictly needed, but are
-- optimizations to avoid running the whole syllabification algorithm on every verb form.
local syllables = com.syllabify(form.form)
if #syllables == 1 then
form.form = com.remove_accent_from_syllable(syllables[1])
end
end
end
end
end
end
-- Add the appropriate clitic pronouns in `clitics` to the forms in `base_slot`. `store_cliticized_form` is a function
-- of three arguments (clitic, formobj, cliticized_form) and should store the cliticized form for the specified clitic
-- and form object.
local function add_forms_with_clitic(base, base_slot, clitics, store_cliticized_form)
-- the special slot lxx is for le/les clitics that become "se" in double clitics
if base_slot:match("_comb_lxx$") then
base_slot = base_slot:gsub("_comb_lxx$", "_comb_le")
end
if not base.forms[base_slot] then
mw.log("unhandled base_slot " .. base_slot)
-- This can happen, e.g. in only3s/only3sp/only3p verbs.
return
end
for _, formobj in ipairs(base.forms[base_slot]) do
-- Figure out the correct accenting of the verb when a clitic pronoun is attached to it. We may need to
-- add or remove an accent mark:
-- (1) No accent mark currently, none needed: infinitive sentar -> sentarlo; imperative singular ten -> tenlo;
-- (2) Accent mark currently, still needed: infinitive oír -> oírlo;
-- (3) No accent mark currently, accent needed: imperative singular siente -> siéntelo;
-- (4) Accent mark currently, not needed: imperative singular está -> estalo, sé -> selo.
local syllables = com.syllabify(formobj.form)
local sylno = com.stressed_syllable(syllables)
table.insert(syllables, "lo")
local needs_accent = com.accent_needed(syllables, sylno)
if needs_accent then
syllables[sylno] = com.add_accent_to_syllable(syllables[sylno])
else
syllables[sylno] = com.remove_accent_from_syllable(syllables[sylno])
end
table.remove(syllables) -- remove added clitic pronoun
local reaccented_form = table.concat(syllables)
for _, clitic in ipairs(clitics) do
local cliticized_form
-- Some further special cases.
if base_slot == "imp_1p" and (clitic == "nos" or clitic == "os") then
-- Final -s disappears: sintamos + nos -> sintámonos, sintamos + os -> sintámoos
cliticized_form = reaccented_form:gsub("s$", "") .. clitic
elseif base_slot == "imp_2p" and clitic == "os" then
-- Final -d disappears, which may cause an accent to be required:
-- haced + os -> haceos, sentid + os -> sentíos
if reaccented_form:find("id$") then
cliticized_form = reaccented_form:gsub("id$", "íos")
else
cliticized_form = reaccented_form:gsub("d$", "os")
end
else
cliticized_form = reaccented_form .. clitic
end
store_cliticized_form(clitic, formobj, cliticized_form)
end
end
end
-- Generate the combinations of verb form (infinitive, gerund or various imperatives) + clitic pronoun.
local function add_combined_forms(base)
for _, base_slot_and_clitics in ipairs(base.alternant_multiword_spec.verb_slot_combined_rows) do
local base_slot, clitics = unpack(base_slot_and_clitics)
add_forms_with_clitic(base, base_slot, clitics,
function(clitic, formobj, cliticized_form)
insert_form(base, base_slot .. "_comb_" .. clitic,
{form = cliticized_form, footnotes = formobj.footnotes})
end
)
end
for _, single_comb_slot_and_clitics in ipairs(base.alternant_multiword_spec.verb_slot_double_combined_rows) do
local single_comb_slot, clitics = unpack(single_comb_slot_and_clitics)
-- Handle le -> se transformation for double clitics
if single_comb_slot:match("_comb_lxx$") then
add_forms_with_clitic(base, single_comb_slot, clitics,
function(clitic, formobj, cliticized_form)
-- Only add se version for accusative clitics (lo/la/los/las)
if clitic:match("^l[aeo]") then
cliticized_form = cliticized_form:gsub("le" .. clitic .. "$", "se" .. clitic)
insert_form(base, single_comb_slot .. "_" .. clitic,
{form = cliticized_form, footnotes = formobj.footnotes})
end
end
)
end
add_forms_with_clitic(base, single_comb_slot, clitics,
function(clitic, formobj, cliticized_form)
insert_form(base, single_comb_slot .. "_" .. clitic,
{form = cliticized_form, footnotes = formobj.footnotes})
end
)
end
end
local function process_slot_overrides(base, do_basic, reflexive_only)
local overrides = reflexive_only and base.basic_reflexive_only_overrides or
do_basic and base.basic_overrides or base.combined_overrides
for slot, forms in pairs(overrides) do
local suppress_prefix = base.prefix == "" or check_stems_for_suppress_prefix(slot, forms)
add(base, slot, suppress_prefix and "" or base.prefix, forms, false, "allow overrides")
end
end
-- Prefix `form` with `clitic`, adding fixed text `between` between them. Add links as appropriate unless the user
-- requested no links. Check whether form already has brackets (as will be the case if the form has a fixed clitic).
local function add_clitic_to_form(base, clitic, between, form)
if base.alternant_multiword_spec.args.noautolinkverb then
return clitic .. between .. form
else
local clitic_pref = "[[" .. clitic .. "]]" .. between
if form:find("%[%[") then
return clitic_pref .. form
else
return clitic_pref .. "[[" .. form .. "]]"
end
end
end
-- Add a reflexive pronoun or fixed clitic, e.g. [[lo]], as appropriate to the base form that were generated.
-- `do_joined` means to do only the forms where the pronoun is joined to the end of the form; otherwise, do only the
-- forms where it is not joined and precedes the form.
local function add_reflexive_or_fixed_clitic_to_forms(base, do_reflexive, do_joined)
for _, slotaccel in ipairs(base.alternant_multiword_spec.verb_slots_basic) do
local slot, accel = unpack(slotaccel)
local clitic
if not do_reflexive then
clitic = base.clitic
elseif slot:find("[123]") then
local persnum = slot:match("^.*_(.-)$")
clitic = person_number_to_reflexive_pronoun[persnum]
else
clitic = "se"
end
if base.forms[slot] then
if do_reflexive and slot:find("^pp_") or slot == "infinitive_linked" then
-- do nothing with reflexive past participles or with infinitive linked (handled at the end)
elseif slot:find("^neg_imp_") then
error("Internal error: Should not have forms set for negative imperative at this stage")
else
local slot_has_suffixed_clitic = slot:find("infinitive") or slot:find("gerund") or slot:find("^imp_")
-- Maybe generate non-reflexive parts and separated syntactic variants for use in {{es-verb form of}}.
-- See comment in add_slots() above `need_special_verb_form_of_slots`. Check for do_joined so we only
-- run this code once.
if do_reflexive and do_joined and base.alternant_multiword_spec.source_template == "es-verb form of" and
-- Skip personal variants of infinitives and gerunds so we don't think [[jambando]] is a
-- non-reflexive equivalent of [[jambándome]].
not slot:find("infinitive_") and not slot:find("gerund_") then
-- Clone the forms because we will be destructively modifying them just below, adding the reflexive
-- pronoun.
insert_forms(base, slot .. "_non_reflexive", mw.clone(base.forms[slot]))
if slot_has_suffixed_clitic then
insert_forms(base, slot .. "_variant", iut.map_forms(base.forms[slot], function(form)
return add_clitic_to_form(base, clitic, " ... ", form)
end))
end
end
if slot_has_suffixed_clitic then
if do_joined then
add_forms_with_clitic(base, slot, {clitic},
function(clitic, formobj, cliticized_form)
formobj.form = cliticized_form
end
)
end
elseif not do_joined then
-- Add clitic as separate word before all other forms.
for _, form in ipairs(base.forms[slot]) do
form.form = add_clitic_to_form(base, clitic, " ", form.form)
end
end
end
end
end
end
local function handle_infinitive_linked(base)
-- Compute linked versions of potential lemma slots, for use in {{es-verb}}.
-- We substitute the original lemma (before removing links) for forms that
-- are the same as the lemma, if the original lemma has links.
for _, slot in ipairs({"infinitive"}) do
insert_forms(base, slot .. "_linked", iut.map_forms(base.forms[slot], function(form)
if form == base.lemma and rfind(base.linked_lemma, "%[%[") then
return base.linked_lemma
else
return form
end
end))
end
end
local function generate_negative_imperatives(base)
-- Copy subjunctives to negative imperatives, preceded by "no".
for _, persnum in ipairs(neg_imp_person_number_list) do
local from = "pres_sub_" .. persnum
local to = "neg_imp_" .. persnum
insert_forms(base, to, iut.map_forms(base.forms[from], function(form)
if base.alternant_multiword_spec.args.noautolinkverb then
return "no " .. form
elseif form:find("%[%[") then
-- already linked, e.g. when reflexive
return "[[no]] " .. form
else
return "[[no]] [[" .. form .. "]]"
end
end))
end
end
-- Process specs given by the user using 'addnote[SLOTSPEC][FOOTNOTE][FOOTNOTE][...]'.
local function process_addnote_specs(base)
for _, spec in ipairs(base.addnote_specs) do
for _, slot_spec in ipairs(spec.slot_specs) do
slot_spec = "^" .. slot_spec .. "$"
for slot, forms in pairs(base.forms) do
if rfind(slot, slot_spec) then
-- To save on memory, side-effect the existing forms.
for _, form in ipairs(forms) do
form.footnotes = iut.combine_footnotes(form.footnotes, spec.footnotes)
end
end
end
end
end
end
local function add_missing_links_to_forms(base)
-- Any forms without links should get them now. Redundant ones will be stripped later.
for slot, forms in pairs(base.forms) do
for _, form in ipairs(forms) do
if not form.form:find("%[%[") then
form.form = "[[" .. form.form .. "]]"
end
end
end
end
local function conjugate_verb(base)
add_present_indic(base)
add_present_subj(base)
add_imper(base)
add_finite_non_present(base)
add_non_finite_forms(base)
-- This should happen before add_combined_forms() so overrides of basic forms end up part of the combined forms.
process_slot_overrides(base, "do basic") -- do basic slot overrides
-- This should happen after process_slot_overrides() in case a derived slot is based on an override (as with the
-- imp_3s of [[dar]], [[estar]]).
copy_subjunctives_to_imperatives(base)
-- This should happen after process_slot_overrides() because overrides may have accents in them that need to be
-- removed. (This happens e.g. for most present indicative forms of [[ver]], which have accents in them for the
-- prefixed derived verbs, but the accents shouldn't be present in the base verb.)
remove_monosyllabic_accents(base)
if not base.nocomb then
add_combined_forms(base)
end
-- We need to add joined reflexives, then joined and non-joined clitics, then non-joined reflexives, so we get
-- [[házmelo]] but [[no]] [[me]] [[lo]] [[haga]].
if base.refl then
-- This should happen after remove_monosyllabic_accents() so the * marking the preservation of monosyllabic
-- accents doesn't end up in the middle of a word.
add_reflexive_or_fixed_clitic_to_forms(base, "do reflexive", "do joined")
process_slot_overrides(base, "do basic", "do reflexive") -- do reflexive-only basic slot overrides
end
if base.clitic then
-- This should happen after reflexives are added.
add_reflexive_or_fixed_clitic_to_forms(base, false, "do joined")
add_reflexive_or_fixed_clitic_to_forms(base, false, false)
end
if base.refl then
add_reflexive_or_fixed_clitic_to_forms(base, "do reflexive", false)
end
-- This should happen after add_reflexive_or_fixed_clitic_to_forms() so negative imperatives get the reflexive pronoun
-- and clitic in them.
generate_negative_imperatives(base)
if not base.nocomb then
process_slot_overrides(base, false) -- do combined slot overrides
end
-- This should happen before add_missing_links_to_forms() so that the comparison `form == base.lemma`
-- in handle_infinitive_linked() works correctly and compares unlinked forms to unlinked forms.
handle_infinitive_linked(base)
process_addnote_specs(base)
if not base.alternant_multiword_spec.args.noautolinkverb then
add_missing_links_to_forms(base)
end
end
local function parse_indicator_spec(angle_bracket_spec)
-- Store the original angle bracket spec so we can reconstruct the overall conj spec with the lemma(s) in them.
local base = {
angle_bracket_spec = angle_bracket_spec,
user_basic_overrides = {},
user_stems = {},
addnote_specs = {},
}
local function parse_err(msg)
error(msg .. ": " .. angle_bracket_spec)
end
local function fetch_footnotes(separated_group)
local footnotes
for j = 2, #separated_group - 1, 2 do
if separated_group[j + 1] ~= "" then
parse_err("Extraneous text after bracketed footnotes: '" .. table.concat(separated_group) .. "'")
end
if not footnotes then
footnotes = {}
end
table.insert(footnotes, separated_group[j])
end
return footnotes
end
local inside = angle_bracket_spec:match("^<(.*)>$")
assert(inside)
if inside == "" then
return base
end
local segments = put.parse_balanced_segment_run(inside, "[", "]")
local dot_separated_groups = put.split_alternating_runs(segments, "%.")
for i, dot_separated_group in ipairs(dot_separated_groups) do
local first_element = dot_separated_group[1]
if first_element == "addnote" then
local spec_and_footnotes = fetch_footnotes(dot_separated_group)
if #spec_and_footnotes < 2 then
parse_err("Spec with 'addnote' should be of the form 'addnote[SLOTSPEC][FOOTNOTE][FOOTNOTE][...]'")
end
local slot_spec = table.remove(spec_and_footnotes, 1)
local slot_spec_inside = rmatch(slot_spec, "^%[(.*)%]$")
if not slot_spec_inside then
parse_err("Internal error: slot_spec " .. slot_spec .. " should be surrounded with brackets")
end
local slot_specs = rsplit(slot_spec_inside, ",")
-- FIXME: Here, [[Module:it-verb]] called strip_spaces(). Generally we don't do this. Should we?
table.insert(base.addnote_specs, {slot_specs = slot_specs, footnotes = spec_and_footnotes})
elseif indicator_flags[first_element] then
if #dot_separated_group > 1 then
parse_err("No footnotes allowed with '" .. first_element .. "' spec")
end
if base[first_element] then
parse_err("Spec '" .. first_element .. "' specified twice")
end
base[first_element] = true
elseif rfind(first_element, ":") then
local colon_separated_groups = put.split_alternating_runs(dot_separated_group, "%s*:%s*")
local first_element = colon_separated_groups[1][1]
if #colon_separated_groups[1] > 1 then
parse_err("Can't attach footnotes directly to '" .. first_element .. "' spec; attach them to the " ..
"colon-separated values following the initial colon")
end
if overridable_stems[first_element] then
if base.user_stems[first_element] then
parse_err("Overridable stem '" .. first_element .. "' specified twice")
end
table.remove(colon_separated_groups, 1)
base.user_stems[first_element] = overridable_stems[first_element](colon_separated_groups,
{prefix = first_element, base = base, parse_err = parse_err, fetch_footnotes = fetch_footnotes})
else -- assume a basic override; we validate further later when the possible slots are available
if base.user_basic_overrides[first_element] then
parse_err("Basic override '" .. first_element .. "' specified twice")
end
table.remove(colon_separated_groups, 1)
base.user_basic_overrides[first_element] = allow_multiple_values_for_override(
colon_separated_groups,
{prefix = first_element, base = base, parse_err = parse_err, fetch_footnotes = fetch_footnotes},
"add monosyllabic asterisk"
)
end
else
local comma_separated_groups = put.split_alternating_runs(dot_separated_group, "%s*,%s*")
for j = 1, #comma_separated_groups do
local alt = comma_separated_groups[j][1]
if not vowel_alternants[alt] then
if #comma_separated_groups == 1 then
parse_err("Unrecognized spec or vowel alternant '" .. alt .. "'")
else
parse_err("Unrecognized vowel alternant '" .. alt .. "'")
end
end
if base.vowel_alt then
for _, existing_alt in ipairs(base.vowel_alt) do
if existing_alt.form == alt then
parse_err("Vowel alternant '" .. alt .. "' specified twice")
end
end
else
base.vowel_alt = {}
end
table.insert(base.vowel_alt, {form = alt, footnotes = fetch_footnotes(comma_separated_groups[j])})
end
end
end
return base
end
-- Normalize all lemmas, substituting the pagename for blank lemmas and adding links to multiword lemmas.
local function normalize_all_lemmas(alternant_multiword_spec, pagename)
-- (1) Add links to all before and after text. Remember the original text so we can reconstruct the verb spec later.
if not alternant_multiword_spec.args.noautolinktext then
iut.add_links_to_before_and_after_text(alternant_multiword_spec, "remember original")
end
-- (2) Remove any links from the lemma, but remember the original form
-- so we can use it below in the 'lemma_linked' form.
iut.map_word_specs(alternant_multiword_spec, function(base)
if base.lemma == "" then
base.lemma = pagename
end
base.user_specified_lemma = base.lemma
base.lemma = m_links.remove_links(base.lemma)
local refl_verb, clitic = rmatch(base.lemma, "^(.-)(l[aeo]s?)$")
if not refl_verb then
refl_verb, clitic = base.lemma, nil
end
local verb, refl = rmatch(refl_verb, "^(.-)(se)$")
if not verb then
verb, refl = refl_verb, nil
end
base.user_specified_verb = verb
base.refl = refl
base.clitic = clitic
if base.refl and base.clitic then
-- We have to parse the verb suffix to see how to construct the base verb; e.g.
-- abrírsela -> abrir but oírsela -> oír. We parse the verb suffix again in all cases
-- in detect_indicator_spec(), after splitting off the prefix of irrregular verbs.
local actual_verb
local inf_stem, suffix = rmatch(base.user_specified_verb, "^(.*)([aáeéií]r)$")
if not inf_stem then
error("Unrecognized infinitive: " .. base.user_specified_verb)
end
if suffix == "ír" and inf_stem:find("[aeo]$") then
-- accent on suffix should remain
base.verb = base.user_specified_verb
else
base.verb = inf_stem .. com.remove_accent_from_syllable(suffix)
end
else
base.verb = base.user_specified_verb
end
local linked_lemma
if alternant_multiword_spec.args.noautolinkverb or base.user_specified_lemma:find("%[%[") then
linked_lemma = base.user_specified_lemma
elseif base.refl or base.clitic then
-- Reconstruct the linked lemma with separate links around base verb, reflexive pronoun and clitic.
linked_lemma = base.user_specified_verb == base.verb and "[[" .. base.user_specified_verb .. "]]" or
"[[" .. base.verb .. "|" .. base.user_specified_verb .. "]]"
linked_lemma = linked_lemma .. (refl and "[[" .. refl .. "]]" or "") ..
(clitic and "[[" .. clitic .. "]]" or "")
else
-- Add links to the lemma so the user doesn't specifically need to, since we preserve
-- links in multiword lemmas and include links in non-lemma forms rather than allowing
-- the entire form to be a link.
linked_lemma = iut.add_links(base.user_specified_lemma)
end
base.linked_lemma = linked_lemma
end)
end
local function construct_stems(base)
local stems = base.stems
stems.pres_unstressed = stems.pres_unstressed or base.inf_stem
stems.pres_stressed = stems.pres_stressed or
-- If no_pres_stressed given, pres_stressed stem should be empty so no forms are generated.
base.no_pres_stressed and {} or
base.vowel_alt or
base.inf_stem
stems.pres1_and_sub = stems.pres1_and_sub or
-- If no_pres_stressed given, the entire subjunctive is missing.
base.no_pres_stressed and {} or
-- If no_pres1_and_sub given, pres1 and entire subjunctive are missing.
base.no_pres1_and_sub and {} or
nil
stems.pres1 = stems.pres1 or stems.pres1_and_sub or stems.pres_stressed
stems.impf = stems.impf or base.inf_stem
stems.pret = stems.pret or base.inf_stem
stems.pret_conj = stems.pret_conj or base.conj
stems.fut = stems.fut or base.inf_stem .. base.conj
stems.cond = stems.cond or stems.fut
stems.pres_sub_stressed = stems.pres_sub_stressed or stems.pres1
stems.pres_sub_unstressed = stems.pres_sub_unstressed or stems.pres1_and_sub or stems.pres_unstressed
stems.impf_sub_ra = stems.impf_sub_ra or stems.pret
stems.impf_sub_se = stems.impf_sub_se or stems.pret
stems.fut_sub = stems.fut_sub or stems.pret
stems.pp = stems.pp or base.conj == "ar" and
combine_stem_ending(base, "pp_ms", base.inf_stem, "ad", "is combining ending") or
-- use combine_stem_ending esp. so we get reído, caído, etc.
combine_stem_ending(base, "pp_ms", base.inf_stem, "id", "is combining ending")
end
-- Make a list of the slots given in `list1` and optionally `list2`, with `prefix` added to the beginning of each slot
-- name. The elements of each list are of the form {SLOT, ACCEL}. Used for error messages.
local function construct_possible_slots(list1, list2, prefix)
list2 = list2 or {}
prefix = prefix or ""
local slots = {}
local function insert_list_slots(list)
for _, slotaccel in ipairs(list) do
local slot, accel = unpack(slotaccel)
table.insert(slots, prefix .. slot)
end
end
insert_list_slots(list1)
insert_list_slots(list2)
return m_table.serialCommaJoin(slots)
end
local function detect_indicator_spec(base)
base.forms = {}
base.non_reflexive_forms = {}
base.stems = {}
if (base.only3s and 1 or 0) + (base.only3sp and 1 or 0) + (base.only3p and 1 or 0) > 1 then
error("Only one of 'only3s', 'only3sp' and 'only3p' can be specified")
end
base.basic_overrides = {}
base.basic_reflexive_only_overrides = {}
base.combined_overrides = {}
if not base.no_built_in then
for _, built_in_conj in ipairs(built_in_conjugations) do
if type(built_in_conj.match) == "function" then
base.prefix, base.non_prefixed_verb = built_in_conj.match(base.verb)
elseif built_in_conj.match:find("^%^") and rsub(built_in_conj.match, "^%^", "") == base.verb then
-- begins with ^, for exact match, and matches
base.prefix, base.non_prefixed_verb = "", base.verb
else
base.prefix, base.non_prefixed_verb = rmatch(base.verb, "^(.*)(" .. built_in_conj.match .. ")$")
end
if base.prefix then
-- we found a built-in verb
base.irreg_verb = true
for stem, forms in pairs(built_in_conj.forms) do
if stem:find("^refl_") then
stem = stem:gsub("^refl_", "")
if not base.alternant_multiword_spec.verb_slots_basic_map[stem] then
error("Internal error: setting for 'refl_" .. stem .. "' does not refer to a basic verb slot")
end
base.basic_reflexive_only_overrides[stem] = forms
elseif base.alternant_multiword_spec.verb_slots_basic_map[stem] then
-- an individual form override of a basic form
base.basic_overrides[stem] = forms
elseif base.alternant_multiword_spec.verb_slots_combined_map[stem] then
-- an individual form override of a combined form
base.combined_overrides[stem] = forms
else
base.stems[stem] = forms
end
end
break
end
end
end
-- Override built-in-verb stems and overrides with user-specified ones.
for stem, values in pairs(base.user_stems) do
base.stems[stem] = values
end
for override, values in pairs(base.user_basic_overrides) do
if override:find("^refl_") then
if not base.refl then
error("Can't set reflexive-only override '" .. override .. "' on a non-reflexive verb")
end
override = override:gsub("^refl_", "")
if not base.alternant_multiword_spec.verb_slots_basic_map[override] then
error("Unrecognized reflexive-only override 'refl_" .. override .. "': possible slots are " ..
construct_possible_slots(base.alternant_multiword_spec.verb_slots_basic, nil, "refl_"))
end
base.basic_reflexive_only_overrides[override] = values
elseif base.alternant_multiword_spec.verb_slots_basic_map[override] then
base.basic_overrides[override] = values
elseif base.alternant_multiword_spec.verb_slots_combined_map[override] then
base.combined_overrides[override] = values
else
error("Unrecognized override '" .. override .. "': possible slots are " ..
construct_possible_slots(base.alternant_multiword_spec.verb_slots_basic,
base.alternant_multiword_spec.verb_slots_combined))
end
end
base.prefix = base.prefix or ""
base.non_prefixed_verb = base.non_prefixed_verb or base.verb
local inf_stem, suffix = rmatch(base.non_prefixed_verb, "^(.*)([aeií]r)$")
if not inf_stem then
error("Unrecognized infinitive: " .. base.verb)
end
base.inf_stem = inf_stem
suffix = suffix == "ír" and "ir" or suffix
base.conj = suffix
base.frontback = suffix == "ar" and "back" or "front"
if base.stems.vowel_alt then -- built-in verb with specified vowel alternation
if base.vowel_alt then
error(base.verb .. " is a recognized built-in verb, and should not have vowel alternations specified with it")
end
base.vowel_alt = iut.convert_to_general_list_form(base.stems.vowel_alt)
end
-- Propagate built-in-verb indicator flags to `base` and combine with user-specified flags.
for indicator_flag, _ in pairs(indicator_flags) do
base[indicator_flag] = base[indicator_flag] or base.stems[indicator_flag]
end
-- Convert vowel alternation indicators into stems.
if base.vowel_alt then
for _, altform in ipairs(base.vowel_alt) do
altform.alt = altform.form -- save original indicator
local alt = altform.alt
if base.conj == "ir" then
local raising = (
alt == "ie-i" or alt == "ye-i" or alt == "ue-u" or alt == "i" or alt == "í" or alt == "ú"
)
if base.stems.raising_conj == nil then
base.stems.raising_conj = raising
elseif base.stems.raising_conj ~= raising then
error("Can't currently support a mixture of raising (e.g. 'ie-i') and non-raising (e.g. 'ie') vowel alternations in -ir verbs")
end
end
if alt == "+" then
altform.form = base.inf_stem
else
local normalized_alt = alt
if alt == "ie-i" or alt == "ye-i" or alt == "ue-u" then
if base.conj ~= "ir" then
error("Vowel alternation '" .. alt .. "' only supported with -ir verbs")
end
-- ie-i is like i except for the vowel raising before i+V, similarly for ye-i, ue-u,
-- so convert appropriately.
normalized_alt = alt == "ie-i" and "ie" or alt == "ye-i" and "ye" or "ue"
end
local ret = com.apply_vowel_alternation(base.inf_stem, normalized_alt)
if ret.err then
error("To use '" .. alt .. "', present stem '" .. base.inf_stem .. "' " .. ret.err)
end
altform.form = ret.ret
end
end
end
end
local function detect_all_indicator_specs(alternant_multiword_spec)
-- Propagate some settings up; some are used internally, others by [[Module:es-headword]].
iut.map_word_specs(alternant_multiword_spec, function(base)
-- Internal indicator flags. Do these before calling detect_indicator_spec() because add_slots() uses them.
for _, prop in ipairs { "refl", "clitic" } do
if base[prop] then
alternant_multiword_spec[prop] = true
end
end
base.alternant_multiword_spec = alternant_multiword_spec
-- If reflexive or fixed clitic, don't include combined forms.
alternant_multiword_spec.nocomb = alternant_multiword_spec.nocomb or base.clitic or base.refl
end)
add_slots(alternant_multiword_spec)
iut.map_word_specs(alternant_multiword_spec, function(base)
base.nocomb = alternant_multiword_spec.args.nocomb
detect_indicator_spec(base)
-- User-specified indicator flags. Do these after calling detect_indicator_spec() because the latter may set these
-- indicators for built-in verbs.
for prop, _ in pairs(indicator_flags) do
if base[prop] then
alternant_multiword_spec[prop] = true
end
end
construct_stems(base)
end)
end
local function add_categories_and_annotation(alternant_multiword_spec, base, multiword_lemma)
local function insert_ann(anntype, value)
m_table.insertIfNot(alternant_multiword_spec.annotation[anntype], value)
end
local function insert_cat(cat, also_when_multiword)
-- Don't place multiword terms in categories like 'Spanish verbs ending in -ar' to avoid spamming the
-- categories with such terms.
if also_when_multiword or not multiword_lemma then
m_table.insertIfNot(alternant_multiword_spec.categories, "Spanish " .. cat)
end
end
if check_for_red_links and alternant_multiword_spec.source_template == "es-conj" and multiword_lemma then
for _, slot_and_accel in ipairs(alternant_multiword_spec.all_verb_slots) do
local slot = slot_and_accel[1]
local forms = base.forms[slot]
local must_break = false
if forms then
for _, form in ipairs(forms) do
if not form.form:find("%[%[") then
local title = mw.title.new(form.form)
if title and not title.exists then
insert_cat("verbs with red links in their inflection tables")
must_break = true
break
end
end
end
end
if must_break then
break
end
end
end
insert_cat("verbs ending in -" .. base.conj)
if base.irreg_verb then
insert_ann("irreg", "irregular")
insert_cat("irregular verbs")
else
insert_ann("irreg", "regular")
end
if base.only3s then
insert_ann("defective", "impersonal")
insert_cat("impersonal verbs")
elseif base.only3sp then
insert_ann("defective", "third-person only")
insert_cat("third-person-only verbs")
elseif base.only3p then
insert_ann("defective", "third-person plural only")
insert_cat("third-person-plural-only verbs")
elseif base.no_pres_stressed or base.no_pres1_and_sub then
insert_ann("defective", "defective")
insert_cat("defective verbs")
else
insert_ann("defective", "regular")
end
if base.clitic then
insert_cat("verbs with lexical clitics")
end
if base.refl then
insert_cat("reflexive verbs")
end
if not base.vowel_alt then
insert_ann("vowel_alt", "non-alternating")
else
local inf_stem = base.inf_stem:gsub("[gq]u$", "x")
for _, alt in ipairs(base.vowel_alt) do
if alt.alt == "+" then
insert_ann("vowel_alt", "non-alternating")
else
local desc
if alt.alt == "ue" and rfind(inf_stem, "u" .. C .. "*$") then
desc = "u-ue alternation" -- jugar
elseif alt.alt == "ie" and rfind(inf_stem, "i" .. C .. "*$") then
desc = "i-ie alternation" -- adquirir
elseif alt.alt == "í" and rfind(inf_stem, "e" .. C .. "*$") then
desc = "e-í alternation" -- reír, freír, etc.
else
desc = vowel_alternant_to_desc[alt.alt] .. " alternation"
end
insert_ann("vowel_alt", desc)
insert_cat("verbs with " .. desc)
end
end
end
local cons_alt = base.stems.cons_alt
if cons_alt == nil then
if base.conj == "ar" then
if base.inf_stem:find("z$") then
cons_alt = "c-z"
elseif base.inf_stem:find("ç$") then
cons_alt = "c-ç"
elseif base.inf_stem:find("c$") then
cons_alt = "c-qu"
elseif base.inf_stem:find("g$") then
cons_alt = "g-gu"
elseif base.inf_stem:find("gu$") then
cons_alt = "gu-gü"
end
else
if base.no_pres_stressed or base.no_pres1_and_sub then
cons_alt = nil -- no c-zc alternation in balbucir or arrecir
elseif rfind(base.inf_stem, V .. "c$") then
cons_alt = "c-zc"
elseif base.inf_stem:find("sc$") then
cons_alt = "hard-soft"
elseif base.inf_stem:find("c$") then
cons_alt = "c-z"
elseif base.inf_stem:find("qu$") then
cons_alt = "c-qu"
elseif base.inf_stem:find("g$") then
cons_alt = "g-j"
elseif base.inf_stem:find("gu$") then
cons_alt = "g-gu"
elseif base.inf_stem:find("gü$") then
cons_alt = "gu-gü"
end
end
end
if cons_alt then
local desc = cons_alt .. " alternation"
insert_ann("cons_alt", desc)
insert_cat("verbs with " .. desc)
else
insert_ann("cons_alt", "non-alternating")
end
end
-- Compute the categories to add the verb to, as well as the annotation to display in the
-- conjugation title bar. We combine the code to do these functions as both categories and
-- title bar contain similar information.
local function compute_categories_and_annotation(alternant_multiword_spec)
alternant_multiword_spec.categories = {}
local ann = {}
alternant_multiword_spec.annotation = ann
ann.irreg = {}
ann.defective = {}
ann.vowel_alt = {}
ann.cons_alt = {}
local multiword_lemma = false
for _, form in ipairs(alternant_multiword_spec.forms.infinitive) do
if form.form:find(" ") then
multiword_lemma = true
break
end
end
iut.map_word_specs(alternant_multiword_spec, function(base)
add_categories_and_annotation(alternant_multiword_spec, base, multiword_lemma)
end)
local ann_parts = {}
local irreg = table.concat(ann.irreg, " or ")
if irreg ~= "" and irreg ~= "regular" then
table.insert(ann_parts, irreg)
end
local defective = table.concat(ann.defective, " or ")
if defective ~= "" and defective ~= "regular" then
table.insert(ann_parts, defective)
end
local vowel_alt = table.concat(ann.vowel_alt, " or ")
if vowel_alt ~= "" and vowel_alt ~= "non-alternating" then
table.insert(ann_parts, vowel_alt)
end
local cons_alt = table.concat(ann.cons_alt, " or ")
if cons_alt ~= "" and cons_alt ~= "non-alternating" then
table.insert(ann_parts, cons_alt)
end
alternant_multiword_spec.annotation = table.concat(ann_parts, "; ")
end
local function show_forms(alternant_multiword_spec)
local lemmas = alternant_multiword_spec.forms.infinitive
alternant_multiword_spec.lemmas = lemmas -- save for later use in make_table()
local reconstructed_verb_spec = iut.reconstruct_original_spec(alternant_multiword_spec)
-- Initialize the footnotes with those for the future subjunctive and maybe the pres subjunctive
-- voseo usage. In the latter case, we only do it if there is a distinct pres subjunctive voseo form.
local function create_footnote_obj()
local obj = iut.create_footnote_obj()
iut.get_footnote_text({fut_sub_note}, obj)
-- Compute whether the tuteo and voseo variants are different, for each voseo variant.
-- We use this later in make_table().
for _, slot in ipairs({"pres_2s", "pres_sub_2s", "imp_2s"}) do
alternant_multiword_spec["separate_" .. slot .. "v"] = false
iut.map_word_specs(alternant_multiword_spec, function(base)
if not m_table.deepEquals(base.forms[slot], base.forms[slot .. "v"]) then
alternant_multiword_spec["separate_" .. slot .. "v"] = true
end
end)
end
if alternant_multiword_spec.separate_pres_sub_2sv then
iut.get_footnote_text({pres_sub_voseo_note}, obj)
end
return obj
end
local function transform_accel_obj(slot, formobj, accel_obj)
-- No accelerators for negative imperatives, which are always multiword and derived directly from the
-- present subjunctive.
if slot:find("^neg_imp") then
return nil
end
if accel_obj then
if slot:find("^pp_") then
accel_obj.form = slot
elseif slot == "gerund" then
accel_obj.form = "gerund-" .. reconstructed_verb_spec
else
accel_obj.form = "verb-form-" .. reconstructed_verb_spec
end
end
return accel_obj
end
local props = {
lang = lang,
lemmas = lemmas,
create_footnote_obj = create_footnote_obj,
transform_accel_obj = transform_accel_obj,
}
props.slot_list = alternant_multiword_spec.verb_slots_basic
iut.show_forms(alternant_multiword_spec.forms, props)
alternant_multiword_spec.footnote_basic = alternant_multiword_spec.forms.footnote
props.create_footnote_obj = nil
props.slot_list = alternant_multiword_spec.verb_slots_combined
iut.show_forms(alternant_multiword_spec.forms, props)
alternant_multiword_spec.footnote_combined = alternant_multiword_spec.forms.footnote
end
local notes_template = [=[
<div class="roa-footnote-outer-div" style="width:100%;">
<div class="roa-footnote-inner-div">
{footnote}
</div></div>
]=]
local pres_2sv_template = '<sup><sup>tú</sup></sup><br />{pres_2sv}<sup><sup>vos</sup></sup>'
local pres_sub_2sv_template = '<sup><sup>tú</sup></sup><br />{pres_sub_2sv}<sup><sup>vos<sup class="roa-red-superscript">2</sup></sup></sup>'
local imp_2sv_template = '<sup><sup>tú</sup></sup><br />{imp_2sv}<sup><sup>vos</sup></sup>'
local basic_table = [=[
{description}<div class="NavFrame">
<div class="NavHead" align=center> Conjugation of {title} (See [[Appendix:Spanish verbs]])</div>
<div class="NavContent">
{\op}| class="roa-inflection-table"
|-
! colspan="3" class="roa-nonfinite-header" | <span title="infinitivo">infinitive</span>
| colspan="5" | {infinitive}
|-
! colspan="3" class="roa-nonfinite-header" | <span title="gerundio">gerund</span>
| colspan="5" | {gerund}
|-
! rowspan="3" colspan="2" class="roa-nonfinite-header" | <span title="participio (pasado)">past participle</span>
| colspan="2" class="roa-nonfinite-header" |
! colspan="2" class="roa-nonfinite-header" | <span title="masculino">masculine</span>
! colspan="2" class="roa-nonfinite-header" | <span title="femenino">feminine</span>
|-
! colspan="2" class="roa-nonfinite-header" | singular
| colspan="2" | {pp_ms}
| colspan="2" | {pp_fs}
|-
! colspan="2" class="roa-nonfinite-header" | plural
| colspan="2" | {pp_mp}
| colspan="2" | {pp_fp}
|-
! colspan="2" rowspan="2" class="roa-person-number-header" |
! colspan="3" class="roa-person-number-header" | singular
! colspan="3" class="roa-person-number-header" | plural
|-
! class="roa-person-number-header" | 1st person
! class="roa-person-number-header" | 2nd person
! class="roa-person-number-header" | 3rd person
! class="roa-person-number-header" | 1st person
! class="roa-person-number-header" | 2nd person
! class="roa-person-number-header" | 3rd person
|-{reflexive_non_finite_clause}
! rowspan="6" class="roa-indicative-left-rail" | <span title="indicativo">indicative</span>
! class="roa-native-person-number-header" |
! class="roa-native-person-number-header" | yo
! class="roa-native-person-number-header" | tú<br />vos
! class="roa-native-person-number-header" | él/ella/ello<br />usted
! class="roa-native-person-number-header" | nosotros<br />nosotras
! class="roa-native-person-number-header" | vosotros<br />vosotras
! class="roa-native-person-number-header" | ellos/ellas<br />ustedes
|-
! class="roa-finite-header" | <span title="presente de indicativo">present</span>
| {pres_1s}
| {pres_2s}{pres_2sv_text}
| {pres_3s}
| {pres_1p}
| {pres_2p}
| {pres_3p}
|-
! class="roa-finite-header" | <span title="pretérito imperfecto (copréterito)">imperfect</span>
| {impf_1s}
| {impf_2s}
| {impf_3s}
| {impf_1p}
| {impf_2p}
| {impf_3p}
|-
! class="roa-finite-header" | <span title="pretérito perfecto simple (pretérito indefinido)">preterite</span>
| {pret_1s}
| {pret_2s}
| {pret_3s}
| {pret_1p}
| {pret_2p}
| {pret_3p}
|-
! class="roa-finite-header" | <span title="futuro simple (futuro imperfecto)">future</span>
| {fut_1s}
| {fut_2s}
| {fut_3s}
| {fut_1p}
| {fut_2p}
| {fut_3p}
|-
! class="roa-finite-header" | <span title="condicional simple (pospretérito de modo indicativo)">conditional</span>
| {cond_1s}
| {cond_2s}
| {cond_3s}
| {cond_1p}
| {cond_2p}
| {cond_3p}
|-
! class="roa-person-number-header" style="height:.75em" colspan="8" |
|-
! rowspan="5" class="roa-subjunctive-left-rail" | <span title="subjuntivo">subjunctive</span>
! class="roa-native-person-number-header" |
! class="roa-native-person-number-header" | yo
! class="roa-native-person-number-header" | tú<br />vos
! class="roa-native-person-number-header" | él/ella/ello<br />usted
! class="roa-native-person-number-header" | nosotros<br />nosotras
! class="roa-native-person-number-header" | vosotros<br />vosotras
! class="roa-native-person-number-header" | ellos/ellas<br />ustedes
|-
! class="roa-finite-header" | <span title="presente de subjuntivo">present</span>
| {pres_sub_1s}
| {pres_sub_2s}{pres_sub_2sv_text}
| {pres_sub_3s}
| {pres_sub_1p}
| {pres_sub_2p}
| {pres_sub_3p}
|-
! class="roa-finite-header" | <span title="pretérito imperfecto de subjuntivo">imperfect</span><br />(ra)
| {impf_sub_ra_1s}
| {impf_sub_ra_2s}
| {impf_sub_ra_3s}
| {impf_sub_ra_1p}
| {impf_sub_ra_2p}
| {impf_sub_ra_3p}
|-
! class="roa-finite-header" | <span title="pretérito imperfecto de subjuntivo">imperfect</span><br />(se)
| {impf_sub_se_1s}
| {impf_sub_se_2s}
| {impf_sub_se_3s}
| {impf_sub_se_1p}
| {impf_sub_se_2p}
| {impf_sub_se_3p}
|-
! class="roa-finite-header" | <span title="futuro simple de subjuntivo (futuro de subjuntivo)">future</span><sup class="roa-red-superscript">1</sup>
| {fut_sub_1s}
| {fut_sub_2s}
| {fut_sub_3s}
| {fut_sub_1p}
| {fut_sub_2p}
| {fut_sub_3p}
|-
! class="roa-person-number-header" style="height:.75em" colspan="8" |
|-
! rowspan="6" class="roa-imperative-left-rail" | <span title="imperativo">imperative</span>
! class="roa-native-person-number-header" |
! class="roa-native-person-number-header" | —
! class="roa-native-person-number-header" | tú<br />vos
! class="roa-native-person-number-header" | usted
! class="roa-native-person-number-header" | nosotros<br />nosotras
! class="roa-native-person-number-header" | vosotros<br />vosotras
! class="roa-native-person-number-header" | ustedes
|-
! class="roa-finite-header" | <span title="imperativo afirmativo">affirmative</span>
|
| {imp_2s}{imp_2sv_text}
| {imp_3s}
| {imp_1p}
| {imp_2p}
| {imp_3p}
|-
! class="roa-finite-header" | <span title="imperativo negativo">negative</span>
|
| {neg_imp_2s}
| {neg_imp_3s}
| {neg_imp_1p}
| {neg_imp_2p}
| {neg_imp_3p}
|{\cl}{notes_clause}</div></div>
]=]
local reflexive_non_finite_template = [=[
! rowspan="3" class="roa-nonfinite-header" | personal non-finite
! class="roa-native-person-number-header" |
! class="roa-native-person-number-header" | yo
! class="roa-native-person-number-header" | tú<br />vos
! class="roa-native-person-number-header" | él/ella/ello<br />usted
! class="roa-native-person-number-header" | nosotros<br />nosotras
! class="roa-native-person-number-header" | vosotros<br />vosotras
! class="roa-native-person-number-header" | ellos/ellas<br />ustedes
|-
! class="roa-finite-header" | <span title="infinitivo">infinitive</span>
| {infinitive_1s}
| {infinitive_2s}
| {infinitive_3s}
| {infinitive_1p}
| {infinitive_2p}
| {infinitive_3p}
|-
! class="roa-finite-header" | <span title="gerundio">gerund</span>
| {gerund_1s}
| {gerund_2s}
| {gerund_3s}
| {gerund_1p}
| {gerund_2p}
| {gerund_3p}
|-
! class="roa-person-number-header" style="height:.75em" colspan="8" |
|-]=]
local combined_form_combined_tu_vos_template = [=[
! class="roa-person-number-header" style="height:.35em" colspan="8" |
|-
! rowspan="2" class="roa-combined-with-imperative" | with informal second-person singular {tuteo}<i>/</i>{voseo} imperative {imp_2s}
! class="roa-finite-header" | dative
| {imp_2s_comb_me}
| {imp_2s_comb_te}
| {imp_2s_comb_le}
| {imp_2s_comb_nos}
| ''not used''
| {imp_2s_comb_les}
|-
! class="roa-finite-header" | accusative
| {imp_2s_comb_me}
| {imp_2s_comb_te}
| {imp_2s_comb_lo}, {imp_2s_comb_la}
| {imp_2s_comb_nos}
| ''not used''
| {imp_2s_comb_los}, {imp_2s_comb_las}
|-]=]
local combined_form_separate_tu_vos_template = [=[
! class="roa-person-number-header" style="height:.35em" colspan="8" |
|-
! rowspan="2" class="roa-combined-with-imperative" | with informal second-person singular {tuteo} imperative {imp_2s}
! class="roa-finite-header" | dative
| {imp_2s_comb_me}
| {imp_2s_comb_te}
| {imp_2s_comb_le}
| {imp_2s_comb_nos}
| ''not used''
| {imp_2s_comb_les}
|-
! class="roa-finite-header" | accusative
| {imp_2s_comb_me}
| {imp_2s_comb_te}
| {imp_2s_comb_lo}, {imp_2s_comb_la}
| {imp_2s_comb_nos}
| ''not used''
| {imp_2s_comb_los}, {imp_2s_comb_las}
|-
! class="roa-person-number-header" style="height:.35em" colspan="8" |
|-
! rowspan="2" class="roa-combined-with-imperative" | with informal second-person singular {voseo} imperative {imp_2sv}
! class="roa-finite-header" | dative
| {imp_2sv_comb_me}
| {imp_2sv_comb_te}
| {imp_2sv_comb_le}
| {imp_2sv_comb_nos}
| ''not used''
| {imp_2sv_comb_les}
|-
! class="roa-finite-header" | accusative
| {imp_2sv_comb_me}
| {imp_2sv_comb_te}
| {imp_2sv_comb_lo}, {imp_2sv_comb_la}
| {imp_2sv_comb_nos}
| ''not used''
| {imp_2sv_comb_los}, {imp_2sv_comb_las}
|-]=]
local combined_form_table = [=[
{description}<div class="NavFrame">
<div class="NavHead" align=center> Selected combined forms of {title}</div>
<div class="NavContent">
These forms are generated automatically and may not actually be used. Pronoun usage varies by region.
{\op}| class="inflection-table es-inflection-table"
|-
! colspan="2" rowspan="2" class="roa-person-number-header" |
! colspan="3" class="roa-person-number-header" | singular
! colspan="3" class="roa-person-number-header" | plural
|-
! class="roa-person-number-header" | 1st person
! class="roa-person-number-header" | 2nd person
! class="roa-person-number-header" | 3rd person
! class="roa-person-number-header" | 1st person
! class="roa-person-number-header" | 2nd person
! class="roa-person-number-header" | 3rd person
|-
! rowspan="2" class="roa-combined-with-infinitive" | with infinitive {infinitive}
! class="roa-finite-header" | dative
| {infinitive_comb_me}
| {infinitive_comb_te}
| {infinitive_comb_le}, {infinitive_comb_se}
| {infinitive_comb_nos}
| {infinitive_comb_os}
| {infinitive_comb_les}, {infinitive_comb_se}
|-
! class="roa-finite-header" | accusative
| {infinitive_comb_me}
| {infinitive_comb_te}
| {infinitive_comb_lo}, {infinitive_comb_la}, {infinitive_comb_se}
| {infinitive_comb_nos}
| {infinitive_comb_os}
| {infinitive_comb_los}, {infinitive_comb_las}, {infinitive_comb_se}
|-
! class="roa-person-number-header" style="height:.35em" colspan="8" |
|-
! rowspan="2" class="roa-combined-with-gerund" | with gerund {gerund}
! class="roa-finite-header" | dative
| {gerund_comb_me}
| {gerund_comb_te}
| {gerund_comb_le}, {gerund_comb_se}
| {gerund_comb_nos}
| {gerund_comb_os}
| {gerund_comb_les}, {gerund_comb_se}
|-
! class="roa-finite-header" | accusative
| {gerund_comb_me}
| {gerund_comb_te}
| {gerund_comb_lo}, {gerund_comb_la}, {gerund_comb_se}
| {gerund_comb_nos}
| {gerund_comb_os}
| {gerund_comb_los}, {gerund_comb_las}, {gerund_comb_se}
|-{tu_vos_clause}
! class="roa-person-number-header" style="height:.35em" colspan="8" |
|-
! rowspan="2" class="roa-combined-with-imperative" | with formal second-person singular imperative {imp_3s}
! class="roa-finite-header" | dative
| {imp_3s_comb_me}
| ''not used''
| {imp_3s_comb_le}, {imp_3s_comb_se}
| {imp_3s_comb_nos}
| ''not used''
| {imp_3s_comb_les}
|-
! class="roa-finite-header" | accusative
| {imp_3s_comb_me}
| ''not used''
| {imp_3s_comb_lo}, {imp_3s_comb_la}, {imp_3s_comb_se}
| {imp_3s_comb_nos}
| ''not used''
| {imp_3s_comb_los}, {imp_3s_comb_las}
|-
! class="roa-person-number-header" style="height:.35em" colspan="8" |
|-
! rowspan="2" class="roa-combined-with-imperative" | with first-person plural imperative {imp_1p}
! class="roa-finite-header" | dative
| ''not used''
| {imp_1p_comb_te}
| {imp_1p_comb_le}
| {imp_1p_comb_nos}
| {imp_1p_comb_os}
| {imp_1p_comb_les}
|-
! class="roa-finite-header" | accusative
| ''not used''
| {imp_1p_comb_te}
| {imp_1p_comb_lo}, {imp_1p_comb_la}
| {imp_1p_comb_nos}
| {imp_1p_comb_os}
| {imp_1p_comb_los}, {imp_1p_comb_las}
|-
! class="roa-person-number-header" style="height:.35em" colspan="8" |
|-
! rowspan="2" class="roa-combined-with-imperative" | with informal second-person plural imperative {imp_2p}
! class="roa-finite-header" | dative
| {imp_2p_comb_me}
| ''not used''
| {imp_2p_comb_le}
| {imp_2p_comb_nos}
| {imp_2p_comb_os}
| {imp_2p_comb_les}
|-
! class="roa-finite-header" | accusative
| {imp_2p_comb_me}
| ''not used''
| {imp_2p_comb_lo}, {imp_2p_comb_la}
| {imp_2p_comb_nos}
| {imp_2p_comb_os}
| {imp_2p_comb_los}, {imp_2p_comb_las}
|-
! class="roa-person-number-header" style="height:.35em" colspan="8" |
|-
! rowspan="2" class="roa-combined-with-imperative" | with formal second-person plural imperative {imp_3p}
! class="roa-finite-header" | dative
| {imp_3p_comb_me}
| ''not used''
| {imp_3p_comb_le}
| {imp_3p_comb_nos}
| ''not used''
| {imp_3p_comb_les}, {imp_3p_comb_se}
|-
! class="roa-finite-header" | accusative
| {imp_3p_comb_me}
| ''not used''
| {imp_3p_comb_lo}, {imp_3p_comb_la}
| {imp_3p_comb_nos}
| ''not used''
| {imp_3p_comb_los}, {imp_3p_comb_las}, {imp_3p_comb_se}
|{\cl}{notes_clause}</div></div>
]=]
local function make_table(alternant_multiword_spec)
local forms = alternant_multiword_spec.forms
forms.title = link_term(alternant_multiword_spec.lemmas[1].form)
if alternant_multiword_spec.annotation ~= "" then
forms.title = forms.title .. " (" .. alternant_multiword_spec.annotation .. ")"
end
forms.description = ""
-- Format the basic table.
forms.tuteo = tuteo_link
forms.voseo = voseo_link
forms.footnote = alternant_multiword_spec.footnote_basic
forms.reflexive_non_finite_clause = alternant_multiword_spec.refl and m_string_utilities.format(reflexive_non_finite_template, forms) or ""
forms.notes_clause = forms.footnote ~= "" and m_string_utilities.format(notes_template, forms) or ""
-- The separate_* values are computed in show_forms().
forms.pres_2sv_text = alternant_multiword_spec.separate_pres_2sv and m_string_utilities.format(pres_2sv_template, forms) or ""
forms.pres_sub_2sv_text = alternant_multiword_spec.separate_pres_sub_2sv and m_string_utilities.format(pres_sub_2sv_template, forms) or ""
forms.imp_2sv_text = alternant_multiword_spec.separate_imp_2sv and m_string_utilities.format(imp_2sv_template, forms) or ""
local formatted_basic_table = m_string_utilities.format(basic_table, forms)
-- Format the combined table.
local formatted_combined_table
if alternant_multiword_spec.refl or alternant_multiword_spec.args.nocomb or alternant_multiword_spec.clitic then
formatted_combined_table = ""
else
forms.footnote = alternant_multiword_spec.footnote_combined
forms.notes_clause = forms.footnote ~= "" and m_string_utilities.format(notes_template, forms) or ""
-- separate_imp_2sv is computed in show_forms().
local tu_vos_template = alternant_multiword_spec.separate_imp_2sv and combined_form_separate_tu_vos_template or combined_form_combined_tu_vos_template
forms.tu_vos_clause = m_string_utilities.format(tu_vos_template, forms)
formatted_combined_table = m_string_utilities.format(combined_form_table, forms)
end
-- Paste them together.
return require("Module:TemplateStyles")("Module:roa-verb/style.css") .. formatted_basic_table .. formatted_combined_table
end
-- Externally callable function to parse and conjugate a verb given user-specified arguments.
-- Return value is WORD_SPEC, an object where the conjugated forms are in `WORD_SPEC.forms`
-- for each slot. If there are no values for a slot, the slot key will be missing. The value
-- for a given slot is a list of objects {form=FORM, footnotes=FOOTNOTES}.
function export.do_generate_forms(args, source_template, headword_head, double_combined_forms_to_include)
local PAGENAME = mw.loadData("Module:headword/data").pagename
local function in_template_space()
return mw.title.getCurrentTitle().nsText == "テンプレート"
end
-- Determine the verb spec we're being asked to generate the conjugation of. This may be taken from the
-- current page title or the value of |pagename=; but not when called from {{es-verb form of}}, where the
-- page title is a non-lemma form. Note that the verb spec may omit the infinitive; e.g. it may be "<ue>".
-- For this reason, we use the value of `pagename` computed here down below, when calling normalize_all_lemmas().
local pagename = source_template ~= "es-verb form of" and args.pagename or PAGENAME
local head = headword_head or pagename
local arg1 = args[1]
if not arg1 then
if (pagename == "es-conj" or pagename == "es-verb") and in_template_space() then
arg1 = "licuar<+,ú>"
elseif pagename == "es-verb form of" and in_template_space() then
arg1 = "amar"
else
arg1 = "<>"
end
end
-- When called from {{es-verb form of}}, determine the non-lemma form whose inflections we're being asked to
-- determine. This normally comes from the page title or the value of |pagename=.
local verb_form_of_form
if source_template == "es-verb form of" then
verb_form_of_form = args.pagename
if not verb_form_of_form then
if PAGENAME == "es-verb form of" and in_template_space() then
verb_form_of_form = "ame"
else
verb_form_of_form = PAGENAME
end
end
end
local incorporated_headword_head_into_lemma = false
if arg1:find("^<.*>$") then -- missing lemma
if head:find(" ") then
-- If multiword lemma, try to add arg spec after the first word.
-- Try to preserve the brackets in the part after the verb, but don't do it
-- if there aren't the same number of left and right brackets in the verb
-- (which means the verb was linked as part of a larger expression).
local refl_clitic_verb, post = rmatch(head, "^(.-)( .*)$")
local left_brackets = rsub(refl_clitic_verb, "[^%[]", "")
local right_brackets = rsub(refl_clitic_verb, "[^%]]", "")
if #left_brackets == #right_brackets then
arg1 = iut.remove_redundant_links(refl_clitic_verb) .. arg1 .. post
incorporated_headword_head_into_lemma = true
else
-- Try again using the form without links.
local linkless_head = m_links.remove_links(head)
if linkless_head:find(" ") then
refl_clitic_verb, post = rmatch(linkless_head, "^(.-)( .*)$")
arg1 = refl_clitic_verb .. arg1 .. post
else
error("Unable to incorporate <...> spec into explicit head due to a multiword linked verb or " ..
"unbalanced brackets; please include <> explicitly: " .. arg1)
end
end
else
-- Will be incorporated through `head` below in the call to normalize_all_lemmas().
incorporated_headword_head_into_lemma = true
end
end
local parse_props = {
parse_indicator_spec = parse_indicator_spec,
allow_default_indicator = true,
allow_blank_lemma = true,
}
local alternant_multiword_spec = iut.parse_inflected_text(arg1, parse_props)
alternant_multiword_spec.pos = pos or "verbs"
alternant_multiword_spec.args = args
alternant_multiword_spec.source_template = source_template
alternant_multiword_spec.verb_form_of_form = verb_form_of_form
alternant_multiword_spec.incorporated_headword_head_into_lemma = incorporated_headword_head_into_lemma
-- Now determine if we need to generate any double-combined forms, and if so, which clitics are involved.
-- See the comment above the initialization of `verb_slot_double_combined_rows` above in add_slots().
if verb_form_of_form and rfind(verb_form_of_form, AV) then
-- All double-clitic forms have an explicit accent, so we check for this. In addition, all double-clitic forms
-- are of the form "(me|te|se|nos|os)(lo|la|le)s$". We have no alternations in Lua patterns, but we can exploit
-- the similarity of the clitics in question.
local single_comb_form, object_clitic = rmatch(verb_form_of_form, "^(.*)(l[aeo]s?)$")
if single_comb_form then
local personal_clitic = rmatch(single_comb_form, "^.*([mts]e)$")
if not personal_clitic then
personal_clitic = rmatch(single_comb_form, "^.-(n?os)$")
end
if personal_clitic then
if personal_clitic == "nos" then
-- "os" is a substring of "nos"; conceivably we could have a form ending in -n + os, and we don't
-- know whether to interpret as -n + os or - + nos.
alternant_multiword_spec.double_combined_forms_to_include =
{{"nos", object_clitic}, {"os", object_clitic}}
else
if personal_clitic == "se" then
-- Use the special "lxx" clitic for le/les when transformed into se in double-combined forms.
personal_clitic = "lxx"
end
alternant_multiword_spec.double_combined_forms_to_include = {{personal_clitic, object_clitic}}
end
end
end
end
normalize_all_lemmas(alternant_multiword_spec, pagename)
detect_all_indicator_specs(alternant_multiword_spec)
local inflect_props = {
slot_list = alternant_multiword_spec.all_verb_slots,
inflect_word_spec = conjugate_verb,
-- We add links around the generated verbal forms rather than allow the entire multiword
-- expression to be a link, so ensure that user-specified links get included as well.
include_user_specified_links = true,
}
iut.inflect_multiword_or_alternant_multiword_spec(alternant_multiword_spec, inflect_props)
-- Remove redundant brackets around entire forms.
for slot, forms in pairs(alternant_multiword_spec.forms) do
for _, form in ipairs(forms) do
form.form = iut.remove_redundant_links(form.form)
end
end
compute_categories_and_annotation(alternant_multiword_spec)
if args.json and not from_headword and not from_verb_form_of then
-- There is a circular reference in `base.alternant_multiword_spec`, which points back to top level.
iut.map_word_specs(alternant_multiword_spec, function(base)
base.alternant_multiword_spec = nil
end)
return require("Module:JSON").toJSON(alternant_multiword_spec)
end
return alternant_multiword_spec
end
-- Entry point for {{es-conj}}. Template-callable function to parse and conjugate a verb given
-- user-specified arguments and generate a displayable table of the conjugated forms.
function export.show(frame)
local parent_args = frame:getParent().args
local params = {
[1] = {},
["nocomb"] = {type = "boolean"},
["noautolinktext"] = {type = "boolean"},
["noautolinkverb"] = {type = "boolean"},
["pagename"] = {}, -- for testing/documentation pages
["json"] = {type = "boolean"}, -- for bot use
}
local args = require("Module:parameters").process(parent_args, params)
local alternant_multiword_spec = export.do_generate_forms(args, "es-conj")
if type(alternant_multiword_spec) == "string" then
-- JSON return value
return alternant_multiword_spec
end
show_forms(alternant_multiword_spec)
return make_table(alternant_multiword_spec) ..
require("Module:utilities").format_categories(alternant_multiword_spec.categories, lang, nil, nil, force_cat)
end
return export
0dga1ejm6zn9k8ubzzp0ehpdxcixv0l
2281197
2281183
2026-06-09T10:34:55Z
Kuroco2k
84207
2281197
Scribunto
text/plain
local export = {}
--[=[
Authorship: Ben Wing <benwing2>
]=]
--[=[
TERMINOLOGY:
-- "slot" = A particular combination of tense/mood/person/number/etc.
Example slot names for verbs are "pres_1s" (present indicative first-person singular), "pres_sub_2sv" (present
subjunctive second-person singular voseo form) "impf_sub_ra_3p" (imperfect subjunctive -ra form third-person
plural), "imp_1p_comb_lo" (imperative first-person plural combined with clitic [[lo]]).
Each slot is filled with zero or more forms.
-- "form" = The conjugated Spanish form representing the value of a given slot.
-- "lemma" = The dictionary form of a given Spanish term. For Spanish, always the infinitive.
]=]
--[=[
FIXME:
1. Implement no_pres_stressed for aterir, garantir. (NOTE: Per RAE, garantir used in all forms in Argentina/Uruguay.) [DONE]
2. Support concluyo. [DONE]
3. Fixes for veo -> ve vs. preveo -> prevé. [DONE]
4. Various more irregular verbs, e.g. predecir, redecir, bendecir, maldecir. [DONE]
5. Raising of e -> i, o -> u before -iendo, -ió, etc. occurs only in -ir verbs. [DONE]
6. Raising of e -> i, o -> u happens before subjunctive -amos, -áis in -ir verbs. [DONE]
7. Implement reflexive verbs. [DONE]
8. Implement categories. [DONE]
9. Implement show_forms. [DONE]
10. Reconcile stems.vowel_alt from irregular verbs with vowel_alt from indicators. May require
moving the irregular-verb handling code in construct_stems() into detect_indicator_spec(). [DONE]
11. Implement make_table. [DONE]
12. Vowel alternation should show u-ue (jugar), i-ie (adquirir), e-í (reír) alternations specially. [DONE]
13. Handle linking of multiword forms as is done in [[Module:es-headword]]. [DONE]
14. Implement comparison against previous module. [DONE]
15. Implement categorization of irregularities for individual tenses.
16. Support nocomb=1. [DONE]
17. (Possibly) display irregular forms in a different color, as with the old module.
18. (Possibly) display a "rule" description indicating the types of alternations.
19. Implement replace_reflexive_indicators(). [NOT DONE; SUPPORT REMOVED]
20. Implement verbs with attached clitics e.g. [[pasarlo]], [[corrérsela]]. [DONE]
21. When footnote + tú/vos notation, add a space before tú/vos.
22. Fix [[erguir]] so ie-i vowel alternation produces ye- at beginning of word, similarly for errar. Also allow
multiple vowel alternation specs in irregular verbs, for errar. Finally, ie should show as e-ye for errar
and as e-ye-i for erguir. [DONE]
23. Figure out why red links in combined forms show up as black not red.
24. Consider including alternative superseded forms of verbs like [[ciar]] (e.g. pret_3s = cio, ció with footnote).
25. Allow conjugation of suffixes e.g. -ir, -ecer; need to fix in [[Module:inflection utilities]]. [DONE]
26. Allow specification of stems esp. so that footnotes can be hung off them; use + for the default.
27. Don't remove monosyllabic accents when conjugating suffixes. [DONE]
28. If multiword expression with no <>, add <> after first word, as with [[Module:es-headword]]. [DONE]
29. (Possibly) link the parts of a reflexive or cliticized infinitive, as done in [[Module:es-headword]]. [DONE]
30. Final fixes to allow [[Module:es-headword]] to use this module. [DONE]
--]=]
local lang = require("Module:languages").getByCode("es")
local m_string_utilities = require("Module:string utilities")
local m_links = require("Module:links")
local m_table = require("Module:table")
local iut = require("Module:inflection utilities")
local put = require("Module:parse utilities")
local com = require("Module:es-common")
local force_cat = false -- set to true for debugging
local check_for_red_links = false -- set to false for debugging
local rfind = mw.ustring.find
local rmatch = mw.ustring.match
local rsplit = mw.text.split
local rsub = com.rsub
local unpack = unpack or table.unpack -- Lua 5.2 compatibility
local function link_term(term)
return m_links.full_link({ lang = lang, term = term }, "term")
end
local V = com.V -- vowel regex class
local AV = com.AV -- accented vowel regex class
local C = com.C -- consonant regex class
local tuteo_link = link_term("tuteo")
local voseo_link = link_term("voseo")
local fut_sub_note = "[rare; now chiefly used in legal language]"
local pres_sub_voseo_note = "[Argentine and Uruguayan " .. voseo_link .. " prefers the " .. tuteo_link .. "-form for the present subjunctive]"
local vowel_alternants = m_table.listToSet({"ie", "ie-i", "ye", "ye-i", "ue", "ue-u", "hue", "i", "í", "ú", "+"})
local vowel_alternant_to_desc = {
["ie"] = "e-ie",
["ie-i"] = "e-ie-i",
["ye"] = "e-ye",
["ye-i"] = "e-ye-i",
["ue"] = "o-ue",
["ue-u"] = "o-ue-u",
["hue"] = "o-hue",
["i"] = "e-i",
["í"] = "i-í",
["ú"] = "u-ú",
}
local raise_vowel = {["e"] = "i", ["o"] = "u"}
local all_persons_numbers = {
["1s"] = "1|s",
["2s"] = "2|s",
["2sv"] = "2|s|voseo",
["3s"] = "3|s",
["1p"] = "1|p",
["2p"] = "2|p",
["3p"] = "3|p",
}
local person_number_list_basic = {"1s", "2s", "3s", "1p", "2p", "3p"}
local person_number_list_voseo = {"1s", "2s", "2sv", "3s", "1p", "2p", "3p"}
local imp_person_number_list = {"2s", "2sv", "3s", "1p", "2p", "3p"}
local neg_imp_person_number_list = {"2s", "3s", "1p", "2p", "3p"}
person_number_to_reflexive_pronoun = {
["1s"] = "me",
["2s"] = "te",
["2sv"] = "te",
["3s"] = "se",
["1p"] = "nos",
["2p"] = "os",
["3p"] = "se",
}
local indicator_flags = m_table.listToSet {
"no_pres_stressed", "no_pres1_and_sub",
"only3s", "only3sp", "only3p",
"no_built_in",
}
-- Initialize all the slots for which we generate forms. The particular slots may depend on whether we're generating
-- combined slots (`not alternant_multiword_spec.nocomb`, which is always false if we're dealing with a verb with an
-- attached clitic, such as [[hincarla]], or a reflexive or partly-reflexive verb, where a partly-reflexive verb is
-- a conjoined term made up of two or more verbs, where some but not all are reflexive). It may also depend on whether
-- we're being requested to generate some double-combined forms, such as [[llevándoselo]]; see the comment below for
-- `verb_slot_double_combined_rows`.
local function add_slots(alternant_multiword_spec)
-- "Basic" slots: All slots that go into the regular table (not the combined-form table).
alternant_multiword_spec.verb_slots_basic = {
{"infinitive", "inf"},
{"infinitive_linked", "inf"},
{"gerund", "ger"},
{"pp_ms", "m|s|past|part"},
{"pp_fs", "f|s|past|part"},
{"pp_mp", "m|p|past|part"},
{"pp_fp", "f|p|past|part"},
}
-- Slots that go into the combined-form table, along with double-combined slots (e.g. [[llevándoselo]]) that are
-- requested for use with {{es-verb form of}}.
alternant_multiword_spec.verb_slots_combined = {}
-- Special slots used to handle non-reflexive parts of reflexive verbs in {{es-verb form of}}.
-- For example, for a reflexive-only verb like [[jambarse]], we want to be able to use {{es-verb form of}} on
-- [[jambe]] (which should mention that it is a part of 'me jambe', first-person singular present subjunctive, and
-- 'se jambe', third-person singular present subjunctive) or on [[jambamos]] (which should mention that it is a
-- part of 'nos jambamos', first-person plural present indicative or preterite). Similarly, we want to use
-- {{es-verb form of}} on [[jambando]] (which should mention that it is a part of 'se ... jambando', syntactic
-- variant of [[jambándose]], which is the gerund of [[jambarse]]). To do this, we need to be able to map
-- non-reflexive parts like [[jambe]], [[jambamos]], [[jambando]], etc. to their reflexive equivalent(s), to the
-- tag(s) of the equivalent(s), and, in the case of forms like [[jambando]], [[jambar]] and imperatives, to the
-- separated syntactic variant of the verb+clitic combination. We do this by creating slots for the non-reflexive
-- part equivalent of each basic reflexive slot, and for the separated syntactic-variant equivalent of each basic
-- reflexive slot that is formed of verb+clitic. We use slots in this way to deal with multiword lemmas. Note that
-- we run into difficulties mapping between reflexive verbs, non-reflexive part equivalents, and separated syntactic
-- variants if a slot contains more than one form. To handle this, if there are the same number of forms in two
-- slots we're trying to match up, we assume the forms match one-to-one; otherwise we don't match up the two slots
-- (which means {{es-verb form of}} won't work in this case, but such a case is extremely rare and not worth
-- worrying about). Alternatives that handle this "properly" are significantly more complicated and require
-- non-trivial modifications to [[Module:inflection utilities]].
local need_special_verb_form_of_slots = alternant_multiword_spec.source_template == "es-verb form of" and
alternant_multiword_spec.refl
if need_special_verb_form_of_slots then
alternant_multiword_spec.verb_slots_reflexive_verb_form_of = {
{"infinitive_non_reflexive", "-"},
{"infinitive_variant", "-"},
{"gerund_non_reflexive", "-"},
{"gerund_variant", "-"},
}
else
alternant_multiword_spec.verb_slots_reflexive_verb_form_of = {}
end
-- For generating combined forms, i.e. combinations of a basic form (specifically, infinitive, gerund or an
-- imperative form) with a clitic (or in some cases, two clitics). This is a list of lists of the form
-- {BASIC_SLOT, CLITICS} where BASIC_SLOT is the slot to add the clitic pronouns to (e.g. "gerund" or "imp_2s")
-- and CLITICS is a list of the clitic pronouns to add.
alternant_multiword_spec.verb_slot_combined_rows = {}
-- For generating double combined forms (e.g. [[llevándoselo]] or [[dámela]]). This is used by {{es-verb form of}}
-- when it detects that it is being requested to find the inflection tags for a double-combined form. The number of
-- double-combined forms is relatively large, so to optimize this, [[Module:es-inflections]] (which implements
-- {{es-verb form of}}) detects which two clitics are involved, and we only generate double-combined forms
-- involving those two clitics; this is specified using `double_combined_forms_to_include`, passed into
-- do_generate_forms(). The value of this field is a list of lists of the form {SINGLE_COMB_SLOT, CLITICS} where
-- SINGLE_COMB_SLOT is the single-combined slot to add the object clitic pronouns to (e.g. "gerund_comb_se" or
-- "imp_2s_comb_me") and CLITICS is a list of the clitic pronouns to add. CLITICS will normally be a length-one
-- list whose value is one of {"lo", "la", "le", "los", "las", "les"}.
alternant_multiword_spec.verb_slot_double_combined_rows = {}
-- Add entries for a slot with person/number variants.
-- `verb_slots` is the table to add to.
-- `slot_prefix` is the prefix of the slot, typically specifying the tense/aspect.
-- `tag_suffix` is a string listing the set of inflection tags to add after the person/number tags.
-- `person_number_list` is a list of the person/number slot suffixes to add to `slot_prefix`.
local function add_personal_slot(verb_slots, slot_prefix, tag_suffix, person_number_list)
for _, persnum in ipairs(person_number_list) do
local persnum_tag = all_persons_numbers[persnum]
local slot = slot_prefix .. "_" .. persnum
local accel = persnum_tag .. "|" .. tag_suffix
table.insert(verb_slots, {slot, accel})
end
end
-- Add a personal slot (i.e. a slot with person/number variants) to `verb_slots_basic`.
local function add_basic_personal_slot(slot_prefix, tag_suffix, person_number_list, no_special_verb_form_of_slot,
need_variant_slot)
add_personal_slot(alternant_multiword_spec.verb_slots_basic, slot_prefix, tag_suffix, person_number_list)
-- Add special slots for handling non-reflexive parts of reflexive verbs in {{es-verb form of}}.
-- See comment above in `need_special_verb_form_of_slots`.
if need_special_verb_form_of_slots and not no_special_verb_form_of_slot then
for _, persnum in ipairs(person_number_list) do
local persnum_tag = all_persons_numbers[persnum]
local basic_slot = slot_prefix .. "_" .. persnum
local accel = persnum_tag .. "|" .. tag_suffix
table.insert(alternant_multiword_spec.verb_slots_reflexive_verb_form_of, {basic_slot .. "_non_reflexive", "-"})
if need_variant_slot then
table.insert(alternant_multiword_spec.verb_slots_reflexive_verb_form_of, {basic_slot .. "_variant", "-"})
end
end
end
end
add_basic_personal_slot("pres", "pres|ind", person_number_list_voseo)
add_basic_personal_slot("impf", "impf|ind", person_number_list_basic)
add_basic_personal_slot("pret", "pret|ind", person_number_list_basic)
add_basic_personal_slot("fut", "fut|ind", person_number_list_basic)
add_basic_personal_slot("cond", "cond", person_number_list_basic)
add_basic_personal_slot("pres_sub", "pres|sub", person_number_list_voseo)
add_basic_personal_slot("impf_sub_ra", "impf|sub", person_number_list_basic)
add_basic_personal_slot("impf_sub_se", "impf|sub", person_number_list_basic)
add_basic_personal_slot("fut_sub", "fut|sub", person_number_list_basic)
-- Need variant slots because the imperative clitics are suffixed.
add_basic_personal_slot("imp", "imp", imp_person_number_list, nil, "need variant slot")
-- Don't need special non-reflexive-part slots because the negative imperative is multiword, of which the
-- individual words are 'no' + subjunctive.
add_basic_personal_slot("neg_imp", "neg|imp", neg_imp_person_number_list, "no special verb form of")
-- Don't need special non-reflexive-part slots because we don't want [[jambando]] mapping to [[jambándome]]
-- (only [[jambándose]]) or [[jambar]] mapping to [[jambarme]] (only [[jambarse]]).
add_basic_personal_slot("infinitive", "inf", person_number_list_basic, "no special verb form of")
add_basic_personal_slot("gerund", "ger", person_number_list_basic, "no special verb form of")
local third_person_object_clitics = {"lo", "la", "le", "los", "las", "les"}
-- Add combined-form slots.
if not alternant_multiword_spec.nocomb then
-- Add a row of slots representing the combination of a basic slot with a clitic. `basic_slot` is the basic slot
-- descriptor, `tag_prefix` is a string describing the inflection tags of the basic slot, and `personal_clitics`
-- is a list of the personal clitics ("me", "te", "se", "nos" or "os") to add to the basic slot.
local function add_combined_slot_row(basic_slot, tag_prefix, personal_clitics)
-- First, add each individual combined slot to `verb_slots_combined`.
local clitics_with_object = m_table.append(personal_clitics, third_person_object_clitics)
for _, clitic in ipairs(clitics_with_object) do
local slot = basic_slot .. "_comb_" .. clitic
-- You have to pass this through full_link() to get a Spanish-specific link
local accel = tag_prefix .. "|combined with [[" .. clitic .. "]]"
table.insert(alternant_multiword_spec.verb_slots_combined, {slot, accel})
end
-- Also, add the row to `verb_slot_combined_rows`.
table.insert(alternant_multiword_spec.verb_slot_combined_rows, {basic_slot, clitics_with_object})
-- Also do double-combined forms for a specific set of clitics, if requested. See the comment above
-- `verb_slot_double_combined_rows` above.
if alternant_multiword_spec.double_combined_forms_to_include then
-- Add a special "lxx" clitic for le/les when transformed into se in double-combined forms.
local personal_clitics_with_lxx = {unpack(personal_clitics)}
table.insert(personal_clitics_with_lxx, "lxx")
for _, personal_clitic in ipairs(personal_clitics_with_lxx) do
for _, object_clitic in ipairs(third_person_object_clitics) do
for _, form_to_include in ipairs(alternant_multiword_spec.double_combined_forms_to_include) do
local to_include_personal_clitic, to_include_object_clitic = unpack(form_to_include)
if personal_clitic == to_include_personal_clitic and object_clitic == to_include_object_clitic then
local single_comb_slot = basic_slot .. "_comb_" .. personal_clitic
local slot = single_comb_slot .. "_" .. object_clitic
accel_clitic = personal_clitic == "lxx" and "[[le]]/[[les]]" or "[[" .. personal_clitic .. "]]"
local accel = tag_prefix .. "|combined with indirect object " .. accel_clitic .. " and direct object [[" ..
object_clitic .. "]]"
table.insert(alternant_multiword_spec.verb_slots_combined, {slot, accel})
table.insert(alternant_multiword_spec.verb_slot_double_combined_rows,
{single_comb_slot, {object_clitic}})
break
end
end
end
end
end
end
add_combined_slot_row("infinitive", "inf", {"me", "te", "se", "nos", "os"})
add_combined_slot_row("gerund", "gerund", {"me", "te", "se", "nos", "os"})
local function add_combined_imp_slot_row(persnum, personal_clitics)
add_combined_slot_row("imp_" .. persnum, all_persons_numbers[persnum] .. "|imp", personal_clitics)
end
add_combined_imp_slot_row("2s", {"me", "te", "nos"})
add_combined_imp_slot_row("2sv", {"me", "te", "nos"})
add_combined_imp_slot_row("3s", {"me", "se", "nos"})
add_combined_imp_slot_row("1p", {"te", "nos", "os"})
add_combined_imp_slot_row("2p", {"me", "nos", "os"})
add_combined_imp_slot_row("3p", {"me", "se", "nos"})
end
-- Generate the list of all slots.
alternant_multiword_spec.all_verb_slots = {}
for _, slot_and_accel in ipairs(alternant_multiword_spec.verb_slots_basic) do
table.insert(alternant_multiword_spec.all_verb_slots, slot_and_accel)
end
for _, slot_and_accel in ipairs(alternant_multiword_spec.verb_slots_combined) do
table.insert(alternant_multiword_spec.all_verb_slots, slot_and_accel)
end
for _, slot_and_accel in ipairs(alternant_multiword_spec.verb_slots_reflexive_verb_form_of) do
table.insert(alternant_multiword_spec.all_verb_slots, slot_and_accel)
end
alternant_multiword_spec.verb_slots_basic_map = {}
for _, slotaccel in ipairs(alternant_multiword_spec.verb_slots_basic) do
local slot, accel = unpack(slotaccel)
alternant_multiword_spec.verb_slots_basic_map[slot] = accel
end
alternant_multiword_spec.verb_slots_combined_map = {}
for _, slotaccel in ipairs(alternant_multiword_spec.verb_slots_combined) do
local slot, accel = unpack(slotaccel)
alternant_multiword_spec.verb_slots_combined_map[slot] = accel
end
end
-- Return true if `form` is accented and is likely monosyllabic. Used in remove_monosyllabic_accents(); if true, we
-- run the syllabification algorithm to determine the syllable count, and if monosyllabic, remove the accent. Also used
-- in conjunction with user-specified form overrides to add an asterisk to prevent accents from being removed.
local function may_need_monosyllabic_accent_removed(form)
return not rfind(form, "^%-") and rfind(form, AV) and not rfind(form, V .. C .. V)
end
local overridable_stems = {}
-- If `add_monosyllabic_asterisk` is given, add a * to accented forms that may be monosyllabic to prevent the accent
-- from being removed in remove_monosyllabic_accents().
local function allow_multiple_values_for_override(separated_groups, data, add_monosyllabic_asterisk)
local retvals = {}
for _, separated_group in ipairs(separated_groups) do
local footnotes = data.fetch_footnotes(separated_group)
local form = separated_group[1]
if add_monosyllabic_asterisk and may_need_monosyllabic_accent_removed(form) then
form = form .. "*"
end
-- Add suppress_prefix to prevent the built-in verb prefix from being added to the override.
local retval = {form = form, footnotes = footnotes, suppress_prefix = true}
table.insert(retvals, retval)
end
return retvals
end
local function simple_choice(choices)
return function(separated_groups, data)
if #separated_groups > 1 then
data.parse_err("For spec '" .. data.prefix .. ":', only one value currently allowed")
end
if #separated_groups[1] > 1 then
data.parse_err("For spec '" .. data.prefix .. ":', no footnotes currently allowed")
end
local choice = separated_groups[1][1]
if not m_table.contains(choices, choice) then
data.parse_err("For spec '" .. data.prefix .. ":', saw value '" .. choice .. "' but expected one of '" ..
table.concat(choices, ",") .. "'")
end
return choice
end
end
for _, overridable_stem in ipairs {
"pres_unstressed",
"pres_stressed",
"pres1_and_sub",
-- Don't include pres1; use pres_1s if you need to override just that form
"impf",
"full_impf",
"pret",
{"pret_conj", simple_choice({"irreg", "ar", "er", "ir"}) },
"fut",
"cond",
"pres_sub_stressed",
"pres_sub_unstressed",
"impf_sub_ra",
"impf_sub_se",
"fut_sub",
"pp",
} do
if type(overridable_stem) == "string" then
overridable_stems[overridable_stem] = allow_multiple_values_for_override
else
local stem, validator = unpack(overridable_stem)
overridable_stems[stem] = validator
end
end
local function match_against_verbs(ref_verb, prefixes)
return function(verb)
for _, prefix in ipairs(prefixes) do
if verb == prefix .. ref_verb then
return prefix, ref_verb
end
end
return nil
end
end
--[=[
Special cases for verbs:
diluviar, atardecer: impersonal; all finite non-3s forms are nonexistent or hypothetical. Handle using
'.only3s'.
empecer, atañer, concernir: all finite non-third-person forms are nonexistent or hypothetical. Handle using '.only3sp'.
desnacer: Former module claimed an irregular past participle 'desnato'. Verb is not in RAE at all and barely exists;
unlikely to have irregular past participle.
desposeer: Former module claimed an irregular past participle 'desposeso'. Not per RAE.
valer: Former module claimed an irregular imperative 'val'. Not per RAE.
manumitir: Former module claimed an irregular past participle 'manumiso'. Not per RAE.
raer: Former module claimed a pres 1sg rao. Not per RAE.
rehuir: Handle using +ú.
sustituir: Former module claimed an irregular past participle 'sustituto'. Not per RAE.
venir: Former module claimed an irregular clitic combination ven + nos -> venos. Not per native speakers.
---------
Verbs to check: rehuir (+ú), prohibir (+í), reunir (+ú)
---------
-ir verbs:
There are several types of vowel alternations:
1. No alternation. Includes some verbs in -e- and -o-, e.g. aterir(se) (no_pres_stressed), tra(n)sgredir
(pres_stressed forms rare), abolir (pres_stressed forms rare), colorir (no_pres_stressed), sumergir, divergir,
convergir, arrecir (no_pres_stressed), rostir, polir (obsolete), condir (obsolete), possibly ascondir (obsolete),
atordir (obsolete), sacodir (obsolete), sobrevendir (possible misspelling), empedernir (no_pres_stressed),
decebir (obsolete; possibly actually like concebir, i.e. decibo not decebo),
premir (obsolete), expremir (obsolete), exir (obsolete), escreuir (obsolete; fix conjugation), escrebir (obsolete),
agredir; sometimes the stressed forms are rare or disused. (Also embaír, desvaír are no_pres_stressed.)
2a. ie: Infinitive has -e-, changing to -ie- when stressed. No raising before i+V. Only hendir, cernir, discernir,
concernir (only3sp); discernir -> discierno, discerniendo, discernió, discernamos.
2b. ye: Infinitive has -e-, changing to -ye- when stressed. No raising before i+V. Does not occur (cf. errar).
3a. ie-i: Infinitive has -e- or -i-, changing to -ie- when stressed. Raising before i+V and 1p/2p pres subjunctive:
sentir -> siento, sintiendo, sintió, sintamos.
adquirir -> adquiero, adquiriendo, adquirió, adquiramos.
3b. ye-i: Infinitive has -e-, changing to -ye- when stressed. Raising before i+V and 1p/2p pres subjunctive.
Only erguir: erguir -> yergo, irguiendo, irguió, irgamos.
4. i: Infinitive has -e-, changing to -i- when stressed. Raising before i+V and 1p/2p pres subjunctive:
vestir -> visto, vistiendo, vistió, vistamos. Variant: ceñir -> ciño, ciñendo, ciñó, ciñamos.
NOTE: preterir (no_pres_stressed).
5. ue-u: Infinitive has -o-, changing to -ue- when stressed. Raising before i+V and 1p/2p pres subjunctive:
Only dormir, morir and compounds. dormir -> duermo, durmiendo, durmió, durmamos.
6. ue: This type would be parallel to 'ie' but doesn't appear to exist.
---------
Verbs to fix (extra forms need to be excised or deleted): The above verbs under type (1) -ir vowel alternations;
[[neviscar]] (impersonal), [[acaecer]] (third-person only), [[acontecer]] (third-person only),
[[cellisquear]] (impersonal), [[pintear]] (impersonal? other meaning "to play hookey" given, not in RAE),
[[diluviar]] (impersonal). [[desabrir]] (not like abrir, rare in pres_stressed/sub forms), [[jabrir]]
(not like abrir).
Verbs with existing errors:
* [[abeldar]]: (missing <ie>) [FORMS TO DELETE]
* [[acaecer]]: (used only in 3rd person) [DELETE ALL FIRST AND SECOND PERSON FORMS]
* [[acontecer]]: (used only in 3rd person) [DELETE ALL FIRST AND SECOND PERSON FORMS]
* [[anticuar]] (conjugated without ú) [FORMS TO DELETE]
* [[antojar]]: (used only in 3rd person) [DELETE ALL FIRST AND SECOND PERSON FORMS]
* [[aerografiar]]: (conjugated without í) [FORMS TO DELETE]
* [[afiliar]]: (conjugated with í/+ should be only +) [FORMS TO DELETE]
* [[agraviar]]: (wrongly has í) [FORMS TO DELETE]
* [[arrecir]]: (not given as no_pres_stressed) [FORMS TO DELETE]
* [[aserrar]]: (missing <ie>) [FORMS TO DELETE]
* [[aspaventar]]: (missing <ie>) [OK]
* [[atesar]]: (wrongly has ie) [FORMS TO DELETE]
* [[avalentar]]: (wrongly has ie) [FORMS TO DELETE]
* [[autorregularse]] (conjugated as non-reflexive) [OK]
* [[auxiliar]]: (conjugated with í/+ should be only +) [FORMS TO DELETE]
* [[balbucir]] (pres1_and_sub nonexistent) [DELETE PRES1_AND_SUB FORMS]
* [[caçar]] (conjugated as -zar) [OK]
* [[calefacer]] (extra form caleface) [FIX]
* [[cellisquear]]: (used only in 3rd person singular) [DELETE ALL FIRST AND SECOND PERSON FORMS, ALL 3RD PLURAL FORMS AND ALL PP NON-MS FORMS]
* [[chilenizar]] (conjugated with no cons alternation) [OK]
* [[colorir]]: (not given as no_pres_stressed) [FORMS TO DELETE]
* [[comisariar]] (conjugated without í) [FORMS TO DELETE]
* [[complacer]] (missing complega in imperative 3s) [OK]
* [[comprehender]] (conjugated as comprender) [OK]
* [[decebir]] (was conjugated without <i>) [FORMS TO DELETE]
* [[desafiliar]]: (conjugated with í/+ should be only +) [FORMS TO DELETE]
* [[desagregar]] (conjugated with no cons alternation) [FORMS TO DELETE]
* [[desairar]]: (conjugated with í should be only +) [FORMS TO DELETE]
* [[descordar]]: (missing <ue>) [FORMS TO DELETE]
* [[deseleccionar]] (conjugated as desseleccionar) [OK]
* [[desestacionalizar]] (conjugated with no cons alternation) [FORMS TO DELETE]
* [[desgonzar]] (conjugated with no cons alternation) [FORMS TO DELETE]
* [[desguinzar]] (conjugated with no cons alternation) [FORMS TO DELETE]
* [[deshacer]] (extra form deshace, desháceme etc.) [OK]
* [[desnacer]] (extra form desnato etc.) [DELETE PP FORMS]
* [[desposeer]] (extra form desposeso etc.) [DELETE PP FORMS]
* [[dezmar]]: (wrongly has ie) [FORMS TO DELETE]
* [[diluviar]]: (used only in 3rd person singular) [DELETE ALL FIRST AND SECOND PERSON FORMS, ALL 3RD PLURAL FORMS AND ALL PP NON-MS FORMS]
* [[draftear]] (extraneous param lang=es) [REMOVE PARAM]
* [[ejemplarizar]] (extraneous param compound=1) [compound -> combined]
* [[ejercitar]] (extraneous param compound=1) [compound -> combined]
* [[empecer]] (empezca has imperatives, 1s in its verb form entry) [FIX]
* [[encentar]]: (wrongly has ie) [OK]
* [[encubertar]]: (wrongly has ie) [FORMS TO DELETE]
* [[entrechocar]] (conjugated with no cons alternation) [FORMS TO DELETE]
* [[entredecir]] (imp_2s has entredice should be entredí; extra future/cond forms entredeciré etc.) [FORMS TO DELETE/FIX]
* [[escenografiar]]: (conjugated without í) [FORMS TO DELETE]
* [[estar]] (incorrect combined forms, e.g. éstela instead of estela) [OK]
* [[extasiar]]: (conjugated with í/+ should be only í) [FORMS TO DELETE]
* [[facer]] (extra form face, fáceme, etc.) [FIX]
* [[ferrar]]: (missing <ie>) [FORMS TO DELETE]
* [[gloriar]]: (conjugated with í/+ should be only í) [FORMS TO DELETE]
* [[hacer]] (extra form hace, háceme, etc.) [DELETE hácete]
* [[homogeneizar]] (extra form homogeneízo) [DELETE homogeneízo, homogeneízas, homogeneíza, homogeneízan, homogeneícen, homogeneícemos]
* [[incensar]]: (missing <ie>) [FORMS TO DELETE]
* [[ir]] (extraneous param aux=ser) [REMOVE PARAM]
* [[jacer]] (extra form jace, jáceme, etc.) [FIX]
* [[jarrear]] (extraneous param impersonal=yes)
* [[litografiar]]: (conjugated without í) [FORMS TO DELETE]
* [[manumitir]] (extra form manumiso, etc.) [FIX; is an adjective]
* [[mecanografiar]]: (conjugated without í) [FORMS TO DELETE]
* [[mordiscar]] (conjugated with no cons alternation) [FORMS TO DELETE]
* [[neviscar]]: (used only in 3rd person singular) [DELETE ALL FIRST AND SECOND PERSON FORMS, ALL 3RD PLURAL FORMS AND ALL PP NON-MS FORMS]
* [[obsipar]] (conjugated as obispar) [DELETE VERB]
* [[obstar]]: (used only in 3rd person) [DELETE ALL FIRST AND SECOND PERSON FORMS]
* [[orificar]] (conjugated as orificiar) [OK]
* [[complacer]], [[placer]] (missing plega in imperative 3s, etc.) [OK]
* [[prevaler]] (extra form preval, incorrect form prévalme etc.) [DELETE preval]
* [[preterir]]: (not given as no_pres_stressed) [FORMS TO DELETE]
* [[raer]] (extra form rao) [DELETE rao]
* [[rebordar]] (extraneous param lang=es) [REMOVE PARAM]
* [[redecir]] (incorrect imp_2s redice instead of redí) [FIX]
* [[reinstitucionalizar]] (conjugated with no cons alternation) [FORMS TO DELETE]
* [[reirse]] [DELETE]
* [[serigrafiar]]: (conjugated without í) [FORMS TO DELETE]
* [[sobresalir]] (incorrect combined forms e.g. sobrésalme) [OK]
* [[superpoblar]] (missing <ue>) [FORMS TO DELETE]
* [[sustituir]] (extra form sustituto, etc.) [OK]
* [[usucapir]]: (used only in inf and pp) [DELETE ALL FORMS BUT PP]
* [[valefacer]] (extra form valeface) [FIX]
* [[valer]] (extra form val, etc.) [OK]
* LOTS OF COMBINED FORMS OF VERBS IN -iar, -uar, -ai-, -au-, -ei-, -eu-, etc.
Example: afeitar (afeítate, afeítese, afeítense). Need a script to find them.
* [[acostar]]: normally <ue> but in meaning "arrive at the coast", <>
* [[adecuar]]: <+,ú>
* [[aerografiar]]: <í>
* [[aferrar]]: <+,ie[obsolete]>
* [[afiliar]]: <>
* [[aforar]]: in meaning "to gauge, to measure": <>; in meaning "otorgar fuero": <ue>
* [[arrecir]]: <no_pres_stressed>
* [[agraviar]]: <>
* [[agriar]]: <í,+>
* [[aserrar]]: <ie>
* [[asolar]]: in meaning "destroy": <ue,+>; in meaning "to dry up": <>
* [[aspaventar]]: <ie>
* [[atentar]]: in meaning "to commit a crime" does not have vowel alt
* [[atesar]]: <>; possibly <ie> in obsolete meaning "atiesar"
* [[atestar]]: in meaning "to pack": <ie,+>; in meaning "testify": <>
* [[autoevacuarse]]: <+,ú>
* [[auxiliar]]: <>
* [[avalentar]]: <>
* [[cimentar]]: <ie,+>
* [[colar]]: most meanings <ue> but "canonically confer (an ecclesiastical benefit)" <>
* [[colorir]]: <no_pres_stressed>
* [[comisariar]]: <í>
* [[desafiliar]]: <>
* [[desaforar]]: "to deprive of fuero": <ue,+[less common]>
* [[desairar]]: <>
* [[desolar]]: <ue,+>
* [[desmembrar]]: <ie,+>
* [[dezmar]]: <>
* [[ejecutoriar]]: <í,+>
* [[emparentar]]: <ie,+>
* [[encentar]]: <>
* [[encubertar]]: <>
* [[engrosar]]: <ue,+>
* [[escenografiar]]: <í>
* [[evacuar]]: <+,ú>
* [[expatriar]]: <í,+>
* [[extasiar]]: <í>
* [[ferrar]]: <ie>
* [[follar]]: <ue>
* [[gloriar]]: <í>
* [[hibernar]]: no vowel alt or e-ie; e-ie not in RAE, ask about it
* [[historiar]]: <í,+>
* [[incensar]]: <ie>
* [[invernar]]: <ie,+>
* [[licuar]]: <+,ú>
* [[litografiar]]: <í>
* [[mecanografiar]]: <í>
* [[paliar]]: <í,+>
* [[preterir]]: <i.no_pres_stressed>
* [[promiscuar]]: <+,ú>
* [[readecuar]]: <+,ú>
* [[repatriar]]: <í,+>
* [[retrocar]]: <ue,+>
* [[serigrafiar]]: <í>
* [[soterrar]]: <ie,+>
* [[superpoblar]]: <ue>
* [[templar]]: <+,ie[in some parts of Latin America]>
* [[vidriar]]: <í,+>
Second round of verbs to fix:
* [[apropriar]]: forms point to reflexive [FORMS TO FIX]
* [[autogobernarse]]: (missing <ie>) [FORMS TO DELETE]
* [[autorreproducirse]]: (wrongly had regular preterite and impf/fut sub) [FORMS TO DELETE]
* [[aventarse]]: (missing <ie>) [FORMS TO DELETE]
* [[aventar]]: forms point to reflexive [FORMS TO FIX]
* [[culiar]]: yo culio or culío? [VERIFY]
* [[desnacer]]: delete [[dasnatos]]
* [[poseer]]: delete [[posesa]], [[posesos]], [[posesas]]
* [[reproducir]]: (wrongly had regular preterite and impf/fut sub) [FORMS TO DELETE]
* [[trasgredir]]: (wrongly had <i>) [FORMS TO DELETE]
---------
Irregular conjugations.
Each entry is processed in turn and consists of an object with two fields:
1. match=: Specifies the irregular verbs that match this object.
2. forms=: Specifies the irregular stems and forms for these verbs.
The value of match= is either a string beginning with "^" (match only the specified verb), a string not beginning
with "^" (match any verb ending in that string), or a function that is passed in the verb and should return the
prefix of the verb if it matches, otherwise nil. The function match_against_verbs() is provided to facilitate matching
a set of verbs with a common ending and specific prefixes (e.g. [[andar]] and [[desandar]] but not [[mandar]], etc.).
The value of forms= is a table specifying stems and individual override forms. Each key of the table names either a
stem (e.g. `pres_stressed`), a stem property (e.g. `vowel_alt`) or an individual override form (e.g. `pres_1s`).
Each value of a stem can either be a string (a single stem), a list of strings, or a list of objects of the form
{form = STEM, footnotes = {FOONOTES}}. Each value of an individual override should be of exactly the same form except
that the strings specify full forms rather than stems. The values of a stem property depend on the specific property
but are generally strings or booleans.
In order to understand how the stem specifications work, it's important to understand the phonetic modifications done
by combine_stem_ending(). In general, the complexities of predictable stem and ending modifications are all handled
in this function. In particular:
1. Spelling-based modifications (c/z, g/gu, gu/gü, g/j) occur automatically as appropriate for the ending.
2. Raising of e -> i, o -> u in -ir verbs before an ending beginning with i + vowel, as well as in the 1p/2p forms of
the present subjunctive (dormir -> durmiendo, durmió, durmamos), are handled here. Raising happens only for -ir
verbs and only when the stem setting `raising_conj` is true (which is normally set to true when vowel alternations
`ie-i`, `ye-i`, `ue-u`, `i`, `í` or `ú` are specified).
3. Numerous modifications are automatically made before an ending beginning with i + vowel. These include:
a. final -i of stem absorbed: sonreír -> sonrió, sonriera, sonriendo;
b. in the preterite of irregular verbs (likewise for other tenses derived from the preterite stem, i.e. imperfect
and and future subjunctive), initial i absorbed after j and u (dijeron not #dijieron, likewise for condujeron,
trajeron; also fueron not #fuyeron). This happens only when stem setting `pret_conj` == "irreg"; this must be set
explicitly by irregular verbs. Does not apply everywhere because of cases like regular [[tejer]] (tejieron not
#tejeron), regular [[concluir]] (concluyeron not #conclueron).
c. initial i of ending -> y after vowel and word-initially: poseer -> poseyó, poseyera, poseyendo; ir -> yendo;
d. initial i of ending -> y after gü, which becomes gu: argüir -> arguyó, arguyera, arguyendo;
e. initial i of ending absorbed after ñ, ll, y: tañer -> tañó, tañera, tañendo; bullir -> bulló, bullera, bullendo
4. If the ending begins with (h)i, it gets an accent after a/e/i/o to prevent the two merging into a diphthong:
caer -> caíste, caímos; reír -> reíste, reímos (pres and pret). This does not apply after u, e.g.
concluir -> concluiste, concluimos.
5. In -uir verbs (i.e. -ir verbs with stem ending in -u), a y is added before endings beginning with a/e/o:
concluir -> concluyo, concluyen, concluya, concluyamos. Note that preterite concluyó, gerund concluyendo, etc.
are handled by a different rule above (3b).
The following stems are recognized:
-- pres_unstressed: The present indicative unstressed stem (2s voseo, 1p, 2p). Also controls the imperative 2p
and gerund. Defaults to the infinitive stem.
-- pres_stressed: The present indicative stressed stem (1s, 2s, 3s, 3p). Also controls the imperative 2s.
Default is empty if indicator `no_pres_stressed`, else a vowel alternation if such an indicator is given
(e.g. `ue`, `ì`), else the infinitive stem.
-- pres1_and_sub: Overriding stem for 1s present indicative and the entire subjunctive. Only set by irregular verbs
and by the indicator `no_pres_stressed` (since verbs of this sort, e.g. [[aterir]], are missing the entire
subjunctive as well as the forms with stressed root). Used by many irregular verbs, e.g. [[caer]], [[roer]],
[[salir]], [[tener]], [[valer]], [[venir]], etc. Some verbs set this and then supply an override for the pres_1sg
if it's irregular, e.g. [[saber]], with irregular subjunctive stem "sep-" and special 1s present indicative "sé*"
(the * indicates that the monosyllabic accent should not be removed).
-- pres1: Special stem for 1s present indicative. Normally, do not set this explicitly. If you need to specify an
irregular 1s present indicative, use the form override pres_1s= to specify the entire form. Defaults to
pres1_and_sub if given, else pres_stressed.
-- pres_sub_unstressed: The present subjunctive unstressed stem (1p, 2p, also 2s voseo for -ar verbs). Defaults to
pres1_and_sub if given, else the infinitive stem.
-- pres_sub_stressed: The present subjunctive stressed stem (1s, 2s, 3s, 1p, also 2s voseo for -er/-ir verbs). Defaults
to pres1.
-- impf: The imperfect stem. Defaults to the infinitive stem.
-- pret: The preterite stem. Defaults to the infinitive stem.
-- pret_conj: Determines the set of endings used in the preterite. Should be one of "ar", "er", "ir" or "irreg".
Defaults to the conjugation as determined from the infinitive.
-- fut: The future stem. Defaults to the infinitive stem.
-- cond: The conditional stem. Defaults to fut.
-- impf_sub_ra: The imperfect subjunctive -ra stem. Defaults to the preterite stem.
-- impf_sub_se: The imperfect subjunctive -se stem. Defaults to the preterite stem.
-- fut_sub: The future subjunctive stem. Defaults to the preterite stem.
-- pp: The past participle stem. Default is based on the verb conjugation: infinitive stem + "ad" for -ar verbs,
otherwise infinitive stem + "id".
]=]
local built_in_conjugations = {
{
-- andar, desandar
-- we don't want to match e.g. mandar.
match = match_against_verbs("andar", {"", "des"}),
forms = {pret = "anduv", pret_conj = "irreg"}
},
{
-- asir, desasir
match = "asir",
-- use 'asgu' because we're in a front environment; if we use 'asg', we'll get '#asjo'
forms = {pres1_and_sub = "asgu"}
},
{
-- abrir, cubrir and compounds
match = function(verb)
local prefix, base_verb = rmatch(verb, "^(.*)(brir)$")
-- Only match abrir, cubrir and compounds, and don't match desabrir/jabrir
if not prefix then
return nil
elseif not prefix:find("a$") and not prefix:find("cu$") then
return nil
elseif prefix == "desa" or prefix == "ja" then
return nil
else
return prefix, base_verb
end
end,
forms = {pp = "biert"}
},
{
match = "caber",
forms = {pres1_and_sub = "quep", pret = "cup", pret_conj = "irreg", fut = "cabr"}
},
{
-- caer, decaer, descaer, recaer
match = "caer",
-- use 'caigu' because we're in a front environment; if we use 'caig', we'll get '#caijo'
forms = {pres1_and_sub = "caigu"}
},
{
-- cocer, escocer, precocer, etc.
match = "cocer",
-- override cons_alt, otherwise the verb would be categorized as a c-zc alternating verb
forms = {vowel_alt = "ue", pres1 = "cuez", pres_sub_unstressed = "coz", cons_alt = "c-z"}, -- not cozco, as would normally be generated
},
{
-- dar, desdar
match = match_against_verbs("dar", {"", "des"}),
forms = {
-- we need to override various present indicative forms and add an accent for the compounds;
-- not needed for the simplex and in fact the accents will be removed in that case
pres_1s = "doy",
pres_2s = "dás",
pres_3s = "dá",
pres_2p = "dáis",
pres_3p = "dán",
pret = "d", pret_conj = "er",
pres_sub_1s = "dé*", -- * signals that the monosyllabic accent must remain
pres_sub_2s = "dés",
pres_sub_3s = "dé*",
pres_sub_2p = "déis",
pres_sub_3p = "dén",
imp_2s = "dá",
}
},
{
-- decir, redecir, entredecir
match = match_against_verbs("decir", {"", "re", "entre"}),
forms = {
-- for this and variant verbs in -decir, we set cons_alt to false because we don't want the
-- verb categorized as a c-zc alternating verb, which would happen by default
-- use 'digu' because we're in a front environment; if we use 'dig', we'll get '#dijo'
pres1_and_sub = "digu", vowel_alt = "i", cons_alt = false, pret = "dij", pret_conj = "irreg",
pp = "dich", fut = "dir",
imp_2s = "dí" -- need the accent for the compounds; it will be removed in the simplex
}
},
{
-- antedecir, interdecir
match = match_against_verbs("decir", {"ante", "inter"}),
forms = {
pres1_and_sub = "digu", vowel_alt = "i", cons_alt = false, pret = "dij", pret_conj = "irreg",
pp = "dich", fut = "dir" -- imp_2s regular
}
},
{
-- bendecir, maldecir
match = match_against_verbs("decir", {"ben", "mal"}),
forms = {
pres1_and_sub = "digu", vowel_alt = "i", cons_alt = false, pret = "dij", pret_conj = "irreg",
pp = {"decid", "dit"} -- imp_2s regular, fut regular
}
},
{
-- condecir, contradecir, desdecir, predecir, others?
match = "decir",
forms = {
pres1_and_sub = "digu", vowel_alt = "i", cons_alt = false, pret = "dij", pret_conj = "irreg",
pp = "dich", fut = {"decir", "dir"} -- imp_2s regular
}
},
{
match = "^desvaír",
forms = {
pres_2s = "desvaes",
pres_3s = "desvae",
pres_3p = "desvaen",
imp_2s = "desvae"
}
},
{
-- conducir, producir, reducir, traducir, etc.
match = "ducir",
forms = {pret = "duj", pret_conj = "irreg"}
},
{
-- elegir, reelegir; not preelegir, per RAE
match = match_against_verbs("elegir", {"", "re"}),
forms = {vowel_alt = "i", pp = {"elegid", "elect"}}
},
{
-- erguir
match = "^erguir",
forms = {
vowel_alt = {"i", "ye-i"},
-- We would not need to make this verb irregular except for the alternative unstressed present subjunctive forms
-- in yerg-. We can't use pres_sub_unstressed = {"irgu", "yergu"} because the "i" and "ye-i" vowel alternations
-- are e->i raising in the unstressed present subjunctive and we wrongly get irgamos/yirgamos etc.
pres_sub_2sv = {"irgás", "yergás"},
pres_sub_1p = {"irgamos", "yergamos"},
pres_sub_2p = {"irgáis", "yergáis"},
},
},
{
match = "^estar",
forms = {
pres_1s = "estoy",
pres_2s = "estás",
pres_2sv = "estás",
pres_3s = "está",
pres_3p = "están",
pret = "estuv",
pret_conj = "irreg",
pres_sub_1s = "esté",
pres_sub_2s = "estés",
pres_sub_2sv = "estés",
pres_sub_3s = "esté",
pres_sub_3p = "estén",
imp_2s = "está",
imp_2sv = "está",
}
},
{
-- freír, refreír
match = "freír",
forms = {vowel_alt = "í", pp = {"freíd", "frit"}}
},
{
match = "garantir",
forms = {
pres_stressed = {{form = "garant", footnotes = {"[only used in Argentina and Uruguay]"}}},
pres1_and_sub = {{form = "garant", footnotes = {"[only used in Argentina and Uruguay]"}}},
}
},
{
match = "^haber",
forms = {
pres_1s = "he",
pres_2s = "has",
pres_2sv = "has",
pres_3s = {"ha", {form = "hay", footnotes = {"[used impersonally]"}}},
pres_1p = "hemos",
pres_3p = "han",
pres1_and_sub = "hay", -- only for subjunctive as we override pres_1s
pret = "hub",
pret_conj = "irreg",
imp_2s = {"habe", "he"},
imp_2sv = {"habe", "he"},
fut = "habr",
}
},
{
match = "satisfacer",
forms = {
-- see below for cons_alt setting and pres1_and_sub setting
pres1_and_sub = "satisfagu", cons_alt = false, pret = "satisfic", pret_conj = "irreg",
pp = "satisfech", fut = "satisfar", imp_2s = {"satisface", "satisfaz"}
}
},
{
match = match_against_verbs("hacer", {"contra", "re"}),
-- contrahacer/rehacer require an extra accent in the preterite (rehíce, rehízo).
forms = {
-- see below for cons_alt setting and pres1_and_sub setting
pres1_and_sub = "hagu", cons_alt = false,
pret = "hic", pret_1s = "híce", pret_3s = "hízo", pret_conj = "irreg",
pp = "hech", fut = "har", imp_2s = "haz"
}
},
{
-- hacer, deshacer, contrahacer, rehacer, facer, desfacer, jacer
match = function(verb) return rmatch(verb, "^(.*[hjf])(acer)$") end,
forms = {
-- for these verbs, we set cons_alt to false because we don't want the verb categorized as a
-- c-zc alternating verb, which would happen by default
-- use 'agu' because we're in a front environment; if we use 'ag', we'll get '#hajo'
pres1_and_sub = "agu", cons_alt = false, pret = "ic", pret_conj = "irreg", pp = "ech",
fut = "ar", imp_2s = "az"
}
},
{
-- imprimir, reimprimir
match = "imprimir",
forms = {pp = {"imprimid", "impres"}}
},
{
-- infecir
match = "infecir",
-- override cons_alt, otherwise the verb would be categorized as a c-zc alternating verb
forms = {vowel_alt = "i", pres1 = "infiz", pres_sub_unstressed = "infez", cons_alt = "c-z"}, -- not infizco, as would normally be generated
},
{
match = "infecir",
-- override cons_alt, otherwise the verb would be categorized as a c-zc alternating verb
forms = {pres1_and_sub = "infez", cons_alt = "c-z"}, -- not mezco, as would normally be generated
},
{
match = "^ir",
forms = {
pres_1s = "voy",
pres_2s = "vas",
pres_2sv = "vas",
pres_3s = "va",
pres_1p = "vamos",
pres_2p = "vais",
pres_3p = "van",
pres1_and_sub = "vay", -- only for subjunctive as we override pres_1s
full_impf = "ib",
impf_1p = "íbamos",
pret = "fu",
pret_conj = "irreg", -- this signals that fu + -ieron -> fueron not fuyeron
pret_1s = "fui",
pret_3s = "fue",
imp_2s = "ve",
imp_2sv = "andá",
imp_1p = {"vamos", "vayamos"},
refl_imp_2p = {"idos", "iros"},
imp_2p_comb_os = {"idos", "iros"},
}
},
{
-- mecer, remecer
-- we don't want to match e.g. adormecer, estremecer
match = match_against_verbs("mecer", {"re", ""}),
-- override cons_alt, otherwise the verb would be categorized as a c-zc alternating verb
forms = {pres1_and_sub = "mez", cons_alt = "c-z"}, -- not mezco, as would normally be generated
},
{
-- morir, desmorir, premorir
match = "morir",
forms = {vowel_alt = "ue-u", pp = "muert"},
},
{
-- oír, desoír, entreoír, trasoír
match = "oír",
-- use 'oigu' because we're in a front environment; if we use 'oig', we'll get '#oijo'
forms = {pres1_and_sub = "oigu"}
},
{
match = "olver", -- solver, volver, bolver and derivatives
forms = {vowel_alt = "ue", pp = "uelt"}
},
{
-- placer, desplacer
match = "placer",
forms = {
pret_3s = {"plació", {form = "plugo", footnotes = {"[archaic]"}}},
pret_3p = {"placieron", {form = "pluguieron", footnotes = {"[archaic]"}}},
pres_sub_3s = {"plazca", {form = "plega", footnotes = {"[archaic]"}}, {form = "plegue", footnotes = {"[archaic]"}}},
impf_sub_ra_3s = {"placiera", {form = "pluguiera", footnotes = {"[archaic]"}}},
impf_sub_ra_3p = {"placieran", {form = "pluguieran", footnotes = {"[archaic]"}}},
impf_sub_se_3s = {"placiese", {form = "pluguiese", footnotes = {"[archaic]"}}},
impf_sub_se_3p = {"placiesen", {form = "pluguiesen", footnotes = {"[archaic]"}}},
fut_sub_3s = {"placiere", {form = "pluguiere", footnotes = {"[archaic]"}}},
fut_sub_3p = {"placieren", {form = "pluguieren", footnotes = {"[archaic]"}}},
}
},
{
match = "poder",
forms = {vowel_alt = "ue", pret = "pud", pret_conj = "irreg", fut = "podr", gerund = "pudiendo"}
},
{
-- poner, componer, deponer, imponer, oponer, suponer, many others
match = "poner",
forms = {
-- use 'pongu' because we're in a front environment; if we use 'pong', we'll get '#ponjo'
pres1_and_sub = "pongu", pret = "pus", pret_conj = "irreg", fut = "pondr", pp = "puest",
imp_2s = "pón" -- need the accent for the compounds; it will be removed in the simplex
}
},
{
-- proveer, desproveer
match = "proveer",
forms = {pp = {"provist", "proveíd"}},
},
{
match = "pudrir",
forms = {pp = "podrid"}
},
{
-- querer, desquerer, malquerer
match = "querer",
forms = {vowel_alt = "ie", pret = "quis", pret_conj = "irreg", fut = "querr"}
},
{
match = "^raer",
-- use 'raigu' because we're in a front environment; if we use 'raig', we'll get '#raijo'
forms = {pres1_and_sub = {"raigu", "ray"}}
},
{
-- roer, corroer
match = "roer",
-- use 'roigu' because we're in a front environment; if we use 'roig', we'll get '#roijo'
forms = {pres1_and_sub = {"ro", "roigu", "roy"}}
},
{
-- romper, entrerromper, arromper, derromper; not corromper; FIXME: not sure about interromper (obsolete)
match = function(verb)
local prefix, base_verb = rmatch(verb, "^(.*)(romper)$")
-- Don't match corromper
if prefix == "cor" then
return nil
else
return prefix, base_verb
end
end,
forms = {pp = "rot"}
},
{
-- saber, resaber
match = "saber",
forms = {
pres_1s = "sé*", -- * signals that the monosyllabic accent must remain
pres1_and_sub = "sep", -- only for subjunctive as we override pres_1s
pret = "sup",
pret_conj = "irreg",
fut = "sabr",
}
},
{
match = "salir",
forms = {
-- use 'salgu' because we're in a front environment; if we use 'salg', we'll get '#saljo'
pres1_and_sub = "salgu", fut = "saldr", imp_2s = "sal",
-- These don't exist per the RAE.
imp_2s_comb_lo = {}, imp_2s_comb_los = {}, imp_2s_comb_la = {}, imp_2s_comb_las = {},
imp_2s_comb_le = {}, imp_2s_comb_les = {},
},
},
{
match = "scribir", -- escribir, describir, proscribir, etc.
forms = {pp = {"scrit", {form = "script", footnotes = {"[Argentina and Uruguay]"}}}}
},
{
match = "^ser",
forms = {
pres_1s = "soy",
pres_2s = "eres",
pres_2sv = "sos",
pres_3s = "es",
pres_1p = "somos",
pres_2p = "sois",
pres_3p = "son",
pres1_and_sub = "se", -- only for subjunctive as we override pres_1s
full_impf = "er",
impf_1p = "éramos",
pret = "fu",
pret_conj = "irreg", -- this signals that fu + -ieron -> fueron not fuyeron
pret_1s = "fui",
pret_3s = "fue",
fut = "ser",
imp_2s = "sé*", -- * signals that the monosyllabic accent must remain
imp_2sv = "sé*",
}
},
{
match = "^soler",
forms = {
vowel_alt = "ue",
fut = {{form = "soler", footnotes = {"[rare but acceptable]"}}},
fut_sub = {{form = "sol", footnotes = {"[rare but acceptable]"}}},
pp = {{form = "solid", footnotes = {"[rare but acceptable]"}}},
}
},
{
-- tener, abstener, contener, detener, obtener, sostener, and many others
match = "tener",
forms = {
-- use 'tengu' because we're in a front environment; if we use 'teng', we'll get '#tenjo'
pres1_and_sub = "tengu", vowel_alt = "ie", pret = "tuv", pret_conj = "irreg", fut = "tendr",
imp_2s = "tén" -- need the accent for the compounds; it will be removed in the simplex
}
},
{
-- traer, atraer, detraer, distraer, extraer, sustraer, and many others
match = "traer",
-- use 'traigu' because we're in a front environment; if we use 'traig', we'll get '#traijo'
forms = {pres1_and_sub = "traigu", pret = "traj", pret_conj = "irreg"}
},
{
-- valer, equivaler, prevaler
match = "valer",
-- use 'valgu' because we're in a front environment; if we use 'valg', we'll get '#valjo'
forms = {pres1_and_sub = "valgu", fut = "valdr"}
},
{
match = "venir",
forms = {
-- use 'vengu' because we're in a front environment; if we use 'veng', we'll get '#venjo'
pres1_and_sub = "vengu", vowel_alt = "ie-i", pret = "vin", pret_conj = "irreg",
-- uniquely for this verb, pres sub 2sv/1p/2p do not raise the vowel even though we are an
-- e-ie-i verb (contrast sentir -> sintamos/sintáis)
pres_sub_2sv = "vengás", pres_sub_1p = "vengamos", pres_sub_2p = "vengáis",
fut = "vendr", imp_2s = "vén" -- need the accent for the compounds; it will be removed in the simplex
}
},
{
-- We want to match antever etc. but not atrever etc. No way to avoid listing each verb.
match = match_against_verbs("ver", {"ante", "entre", "pre", "re", "tras", ""}),
forms = {
-- we need to override various present indicative forms and add an accent for the compounds;
-- not needed for the simplex and in fact the accents will be removed in that case
pres_2s = "vés",
pres_2sv = "vés",
pres_3s = "vé",
pres_2p = "véis",
pres_3p = "vén",
pres1_and_sub = "ve",
impf = "ve", pp = "vist",
imp_2s = "vé" -- need the accent for the compounds; it will be removed in the simplex
}
},
{
-- yacer, adyacer, subyacer
match = "yacer",
-- use 'yazqu/yazgu/yagu' because we're in a front environment; see 'decir' above
forms = {pres1_and_sub = {"yazqu", "yazgu", "yagu"}, imp_2s = {"yace", "yaz"}}
},
}
local reflexive_masc_forms = {
["su"] = {"mi", "tu", "su", "nuestro", "vuestro", "su"},
["sus"] = {"mis", "tus", "sus", "nuestros", "vuestros", "sus"},
["sí"] = {"mí", "ti", "sí", "nosotros", "vosotros", "sí"},
["consigo"] = {"conmigo", "contigo", "consigo", "con nosotros", "con vosotros", "consigo"},
}
local reflexive_fem_forms = {
["su"] = {"mi", "tu", "su", "nuestra", "vuestra", "su"},
["sus"] = {"mis", "tus", "sus", "nuestras", "vuestras", "sus"},
["sí"] = {"mí", "ti", "sí", "nosotras", "vosotras", "sí"},
["consigo"] = {"conmigo", "contigo", "consigo", "con nosotras", "con vosotras", "consigo"},
}
local reflexive_forms = {
["se"] = {"me", "te", "se", "nos", "os", "se"},
["suyo"] = {"mío", "tuyo", "suyo", "nuestro", "vuestro", "suyo"},
["suya"] = {"mía", "tuya", "suya", "nuestra", "vuestra", "suya"},
["suyos"] = {"míos", "tuyos", "suyos", "nuestros", "vuestros", "suyos"},
["suyas"] = {"mías", "tuyas", "suyas", "nuestras", "vuestras", "suyas"},
}
local function skip_slot(base, slot, allow_overrides)
if not allow_overrides and (base.basic_overrides[slot] or base.combined_overrides[slot] or
base.refl and base.basic_reflexive_only_overrides[slot]) then
-- Skip any slots for which there are overrides.
return true
end
if base.only3s and (slot:find("^pp_f") or slot:find("^pp_mp")) then
-- diluviar, atardecer, neviscar; impersonal verbs have only masc sing pp
return true
end
if not slot:find("[123]") then
-- Don't skip non-personal slots.
return false
end
if base.nofinite then
return true
end
if (base.only3s or base.only3sp or base.only3p) and (slot:find("^imp_") or slot:find("^neg_imp_")) then
return true
end
if base.only3s and not slot:find("3s") then
-- diluviar, atardecer, neviscar
return true
end
if base.only3sp and not slot:find("3[sp]") then
-- atañer, concernir
return true
end
if base.only3p and not slot:find("3p") then
-- [[caer cuatro gotas]], [[caer chuzos de punta]], [[entrarle los siete males]]
return true
end
return false
end
-- Add the `stem` to the `ending` for the given `slot` and apply any phonetic modifications.
-- `is_combining_ending` is true if `ending` is actually the ending (this function is also
-- called to combine prefix + stem). WARNING: This function is written very carefully; changes
-- to it can easily have unintended consequences.
local function combine_stem_ending(base, slot, stem, ending, is_combining_ending)
if not is_combining_ending then
return stem .. ending
end
if base.stems.raising_conj and (rfind(ending, "^i" .. V) or
slot == "pres_sub_1p" or slot == "pres_sub_2p" or slot == "pres_sub_2sv") then
-- need to raise e -> i, o -> u: dormir -> durmió, durmiera, durmiendo, durmamos
stem = rsub(stem, "([eo])(" .. C .. "*)$", function(vowel, rest) return raise_vowel[vowel] .. rest end)
-- also with stem ending in -gu or -qu (e.g. erguir -> irguió, irguiera, irguiendo, irgamos)
stem = rsub(stem, "([eo])(" .. C .. "*[gq]u)$", function(vowel, rest) return raise_vowel[vowel] .. rest end)
end
-- Lots of sound changes involving endings beginning with i + vowel
if rfind(ending, "^i" .. V) then
-- (1) final -i of stem absorbed: sonreír -> sonrió, sonriera, sonriendo; note that this rule may be fed
-- by the preceding one (stem sonre- raised to sonri-, then final i absorbed)
stem = stem:gsub("i$", "")
-- (2) In the preterite of irregular verbs (likewise for other tenses derived from the preterite stem, i.e.
-- imperfect and future subjunctive), initial i absorbed after j (dijeron not #dijieron, likewise for
-- condujeron, trajeron) and u (fueron not #fuyeron). Does not apply in regular verb tejer (tejieron not
-- #tejeron) and concluir (concluyeron not #conclueron).
if base.stems.pret_conj == "irreg" and rfind(stem, "[ju]$") then
ending = ending:gsub("^i", "")
end
-- (3) initial i -> y after vowel and word-initially: poseer -> poseyó, poseyera, poseyendo;
-- concluir -> concluyó, concluyera, concluyendo; ir -> yendo; but not conseguir/delinquir
if stem == "" or (rfind(stem, V .. "$") and not rfind(stem, "[gq]u$")) then
ending = ending:gsub("^i", "y")
end
-- (4) -gü + ie- -> -guye-: argüir -> arguyó, arguyera, arguyendo
if stem:find("gü$") then
-- transfer the y to the stem to avoid gü -> gu below in front/back conversions
stem = stem:gsub("ü$", "uy")
ending = ending:gsub("^i", "")
end
-- (5) initial i absorbed after ñ, ll, y: tañer -> tañó, tañera, tañendo; bullir -> bulló, bullera, bullendo
if rfind(stem, "[ñy]$") or rfind(stem, "ll$") then
ending = ending:gsub("^i", "")
end
end
-- If ending begins with i, it must get an accent after a/e/i/o to prevent the two merging into a diphthong:
-- caer -> caíste, caímos; reír -> reíste, reímos (pres and pret). This does not apply after u, e.g.
-- concluir -> concluiste, concluimos.
if ending:find("^i") and stem:find("[aeio]$") then
ending = ending:gsub("^i", "í")
end
-- If -oír/-uir (i.e. -ir with stem ending in -o/u, e.g. oír, concluir), a y must be added before endings
-- beginning with a/e/o. Check for base.stems.pret_conj == "irreg" to exclude stem fu- of [[ir]].
if base.conj == "ir" and rfind(ending, "^[aeoáéó]") and base.stems.pret_conj ~= "irreg" then
if rfind(stem, "[aoú]$") then -- oír -> oye, rehuir -> rehúyo/rehúye (with indicator 'ú')
stem = stem .. "y"
elseif rfind(stem, "[^gq]u$") then -- concluir, but not conseguir or delinquir
stem = stem .. "y"
elseif stem:find("ü$") then -- argüir -> arguyendo
stem = stem:gsub("ü$", "uy")
end
end
-- Spelling changes in the stem; it depends on whether the stem given is the pre-front-vowel or
-- pre-back-vowel variant, as indicated by `frontback`. We want these front-back spelling changes to happen
-- between stem and ending, not between prefix and stem; the prefix may not have the same "front/backness"
-- as the stem.
local is_front = rfind(ending, "^[eiéí]")
if base.frontback == "front" and not is_front then
-- parecer -> parezco, conducir -> conduzco; use zqu to avoid triggering the following gsub();
-- the third line will replace zqu -> zc
if slot ~= "pret_3s" then -- exclude hice -> hizo (not #hizco)
stem = rsub(stem, "(" .. V .. ")c$", "%1zqu")
end
stem = stem:gsub("sc$", "squ") -- evanescer -> evanesco, fosforescer -> fosforesco
stem = stem:gsub("c$", "z") -- ejercer -> ejerzo, uncir -> unzo
stem = stem:gsub("qu$", "c") -- delinquir -> delinco, parecer -> parezqu- -> parezco
stem = stem:gsub("g$", "j") -- coger -> cojo, afligir -> aflijo
stem = stem:gsub("gu$", "g") -- distinguir -> distingo
stem = stem:gsub("gü$", "gu") -- may not occur; argüir -> arguyo handled above
elseif base.frontback == "back" and is_front then
stem = stem:gsub("gu$", "gü") -- averiguar -> averigüé
stem = stem:gsub("g$", "gu") -- cargar -> cargué
stem = stem:gsub("c$", "qu") -- marcar -> marqué
stem = rsub(stem, "[çz]$", "c") -- aderezar/adereçar -> aderecé
end
return stem .. ending
end
local function check_stems_for_suppress_prefix(slot, stems)
-- Check whether any or all stems have `suppress_prefix`.
local any_suppress_prefix = false
local any_not_suppress_prefix = false
if type(stems) == "table" then
if stems.suppress_prefix then
-- A single form object.
any_suppress_prefix = true
else
for _, stem in ipairs(stems) do
if type(stem) == "table" and stem.suppress_prefix then
any_suppress_prefix = true
else
any_not_suppress_prefix = true
end
end
end
else
any_not_suppress_prefix = true
end
if any_suppress_prefix and any_not_suppress_prefix then
-- This should never happen because suppress_prefix is set on user-specified stem and individual form
-- overrides, which should completely replace built-in overrides (which don't have suppress_prefix).
error("Internal error: For slot '" .. slot .. ", saw a mixture of suppress-prefix and non-suppress-prefix stems, and can't handle")
else
return any_suppress_prefix
end
end
local function add(base, slot, stems, endings, is_combining_ending, allow_overrides)
if skip_slot(base, slot, allow_overrides) then
return
end
local function do_combine_stem_ending(stem, ending)
return combine_stem_ending(base, slot, stem, ending, is_combining_ending)
end
iut.add_forms(base.forms, slot, stems, endings, do_combine_stem_ending, nil, nil, base.all_footnotes)
end
local function add3(base, slot, stems, endings, allow_overrides)
local suppress_prefix = base.prefix == "" or check_stems_for_suppress_prefix(slot, stems)
if suppress_prefix then
return add(base, slot, stems, endings, "is combining ending", allow_overrides)
end
if skip_slot(base, slot, allow_overrides) then
return
end
local is_combining_ending = false
local function do_combine_stem_ending(stem, ending)
return combine_stem_ending(base, slot, stem, ending, is_combining_ending)
end
-- Have to reimplement add_multiple_forms() ourselves due to the is_combining_ending
-- flag, which needs to be different when adding prefix to stems vs. stems to ending.
-- Otherwise we get e.g. #reímpreso instead of reimpreso.
local tempdest = {}
iut.add_forms(tempdest, slot, base.prefix, stems, do_combine_stem_ending)
is_combining_ending = true
iut.add_forms(base.forms, slot, tempdest[slot], endings, do_combine_stem_ending)
end
local function insert_form(base, slot, form)
if not skip_slot(base, slot) then
iut.insert_form(base.forms, slot, form)
end
end
local function insert_forms(base, slot, forms)
if not skip_slot(base, slot) then
iut.insert_forms(base.forms, slot, forms)
end
end
local function add_single_stem_tense(base, slot_pref, stems, s1, s2, s3, p1, p2, p3)
local function addit(slot, ending)
add3(base, slot_pref .. "_" .. slot, stems, ending)
end
addit("1s", s1)
addit("2s", s2)
addit("3s", s3)
addit("1p", p1)
addit("2p", p2)
addit("3p", p3)
end
local function add_present_indic(base)
local function addit(slot, stems, ending)
add3(base, "pres_" .. slot, stems, ending)
end
local s2, s2v, s3, p1, p2, p3
if base.conj == "ar" then
s2, s2v, s3, p1, p2, p3 = "as", "ás", "a", "amos", "áis", "an"
elseif base.conj == "er" then
s2, s2v, s3, p1, p2, p3 = "es", "és", "e", "emos", "éis", "en"
elseif base.conj == "ir" then
s2, s2v, s3, p1, p2, p3 = "es", "ís", "e", "imos", "ís", "en"
else
error("Internal error: Unrecognized conjugation " .. base.conj)
end
addit("1s", base.stems.pres1, "o")
addit("2s", base.stems.pres_stressed, s2)
addit("2sv", base.stems.pres_unstressed, s2v)
addit("3s", base.stems.pres_stressed, s3)
addit("1p", base.stems.pres_unstressed, p1)
addit("2p", base.stems.pres_unstressed, p2)
addit("3p", base.stems.pres_stressed, p3)
end
local function add_present_subj(base)
local function addit(slot, stems, ending)
add3(base, "pres_sub_" .. slot, stems, ending)
end
local s1, s2, s2v, s3, p1, p2, p3, voseo_stem
if base.conj == "ar" then
s1, s2, s2v, s3, p1, p2, p3 = "e", "es", "és", "e", "emos", "éis", "en"
else
s1, s2, s2v, s3, p1, p2, p3 = "a", "as", "ás", "a", "amos", "áis", "an"
end
addit("1s", base.stems.pres_sub_stressed, s1)
addit("2s", base.stems.pres_sub_stressed, s2)
addit("2sv", base.stems.pres_sub_unstressed, s2v)
addit("3s", base.stems.pres_sub_stressed, s3)
addit("1p", base.stems.pres_sub_unstressed, p1)
addit("2p", base.stems.pres_sub_unstressed, p2)
addit("3p", base.stems.pres_sub_stressed, p3)
end
local function add_imper(base)
local function addit(slot, stems, ending)
add3(base, "imp_" .. slot, stems, ending)
end
if base.conj == "ar" then
addit("2s", base.stems.pres_stressed, "a")
addit("2sv", base.stems.pres_unstressed, "á")
addit("2p", base.stems.pres_unstressed, "ad")
elseif base.conj == "er" then
addit("2s", base.stems.pres_stressed, "e")
addit("2sv", base.stems.pres_unstressed, "é")
addit("2p", base.stems.pres_unstressed, "ed")
elseif base.conj == "ir" then
addit("2s", base.stems.pres_stressed, "e")
addit("2sv", base.stems.pres_unstressed, "í")
addit("2p", base.stems.pres_unstressed, "id")
else
error("Internal error: Unrecognized conjugation " .. base.conj)
end
end
local function add_finite_non_present(base)
local function add_tense(slot, stem, s1, s2, s3, p1, p2, p3)
add_single_stem_tense(base, slot, stem, s1, s2, s3, p1, p2, p3)
end
local stems = base.stems
if stems.full_impf then
-- An override needs to be supplied for the impf_1p due to the accent on the stem.
add_tense("impf", stems.full_impf, "a", "as", "a", {}, "ais", "an")
elseif base.conj == "ar" then
add_tense("impf", stems.impf, "aba", "abas", "aba", "ábamos", "abais", "aban")
else
add_tense("impf", stems.impf, "ía", "ías", "ía", "íamos", "íais", "ían")
end
if stems.pret_conj == "irreg" then
add_tense("pret", stems.pret, "e", "iste", "o", "imos", "isteis", "ieron")
elseif stems.pret_conj == "ar" then
add_tense("pret", stems.pret, "é", "aste", "ó", "amos", "asteis", "aron")
else
add_tense("pret", stems.pret, "í", "iste", "ió", "imos", "isteis", "ieron")
end
if stems.pret_conj == "ar" then
add_tense("impf_sub_ra", stems.impf_sub_ra, "ara", "aras", "ara", "áramos", "arais", "aran")
add_tense("impf_sub_se", stems.impf_sub_se, "ase", "ases", "ase", "ásemos", "aseis", "asen")
add_tense("fut_sub", stems.fut_sub, "are", "ares", "are", "áremos", "areis", "aren")
else
add_tense("impf_sub_ra", stems.impf_sub_ra, "iera", "ieras", "iera", "iéramos", "ierais", "ieran")
add_tense("impf_sub_se", stems.impf_sub_se, "iese", "ieses", "iese", "iésemos", "ieseis", "iesen")
add_tense("fut_sub", stems.fut_sub, "iere", "ieres", "iere", "iéremos", "iereis", "ieren")
end
add_tense("fut", stems.fut, "é", "ás", "á", "emos", "éis", "án")
add_tense("cond", stems.cond, "ía", "ías", "ía", "íamos", "íais", "ían")
end
local function add_non_finite_forms(base)
local stems = base.stems
local function addit(slot, stems, ending)
add3(base, slot, stems, ending)
end
insert_form(base, "infinitive", {form = base.verb})
-- Also insert "infinitive + reflexive pronoun" combinations if we're handling a reflexive verb. See comment below for
-- "gerund + reflexive pronoun" combinations.
if base.refl then
for _, persnum in ipairs(person_number_list_basic) do
insert_form(base, "infinitive_" .. persnum, {form = base.verb})
end
end
local ger_ending = base.conj == "ar" and "ando" or "iendo"
addit("gerund", stems.pres_unstressed, ger_ending)
-- Also insert "gerund + reflexive pronoun" combinations if we're handling a reflexive verb. We insert exactly the same
-- form as for the bare gerund; later on in add_reflexive_or_fixed_clitic_to_forms(), we add the appropriate clitic
-- pronouns. It's important not to do this for non-reflexive verbs, because in that case, the clitic pronouns won't be
-- added, and {{es-verb form of}} will wrongly consider all these combinations as possible inflections of the bare
-- gerund. Thanks to [[User:JeffDoozan]] for this bug fix.
if base.refl then
for _, persnum in ipairs(person_number_list_basic) do
addit("gerund_" .. persnum, stems.pres_unstressed, ger_ending)
end
end
addit("pp_ms", stems.pp, "o")
addit("pp_fs", stems.pp, "a")
addit("pp_mp", stems.pp, "os")
addit("pp_fp", stems.pp, "as")
end
local function copy_subjunctives_to_imperatives(base)
-- Copy subjunctives to imperatives, unless there's an override for the given slot (as with the imp_1p of [[ir]]).
for _, persnum in ipairs({"3s", "1p", "3p"}) do
local from = "pres_sub_" .. persnum
local to = "imp_" .. persnum
insert_forms(base, to, iut.map_forms(base.forms[from], function(form) return form end))
end
end
-- Remove monosyllabic accents (e.g. the 3sg preterite of fiar is fio not #fió). Note that there are a
-- few monosyllabic verb forms that intentionally have an accent, to distinguish them from other words
-- with the same pronunciation. These are as follows:
-- (1) [[sé]] 1sg present indicative of [[saber]];
-- (2) [[sé]] 2sg imperative of [[ser]];
-- (3) [[dé]] 1sg and 3sg present subjunctive of [[dar]].
-- For these, a * is added, which indicates that the accent needs to remain. If we see such a *, we remove
-- it but otherwise leave the form alone.
local function remove_monosyllabic_accents(base)
for _, slotaccel in ipairs(base.alternant_multiword_spec.verb_slots_basic) do
local slot, accel = unpack(slotaccel)
if base.forms[slot] then
for _, form in ipairs(base.forms[slot]) do
if form.form:find("%*") then -- * means leave alone any accented vowel
form.form = form.form:gsub("%*", "")
elseif may_need_monosyllabic_accent_removed(form.form) then
-- Has an accented vowel and no VCV sequence and not a suffix; may be monosyllabic, in which
-- case we need to remove the accent. Check # of syllables and remove accent if only 1. Note
-- that the checks for accented vowel and VCV sequence are not strictly needed, but are
-- optimizations to avoid running the whole syllabification algorithm on every verb form.
local syllables = com.syllabify(form.form)
if #syllables == 1 then
form.form = com.remove_accent_from_syllable(syllables[1])
end
end
end
end
end
end
-- Add the appropriate clitic pronouns in `clitics` to the forms in `base_slot`. `store_cliticized_form` is a function
-- of three arguments (clitic, formobj, cliticized_form) and should store the cliticized form for the specified clitic
-- and form object.
local function add_forms_with_clitic(base, base_slot, clitics, store_cliticized_form)
-- the special slot lxx is for le/les clitics that become "se" in double clitics
if base_slot:match("_comb_lxx$") then
base_slot = base_slot:gsub("_comb_lxx$", "_comb_le")
end
if not base.forms[base_slot] then
mw.log("unhandled base_slot " .. base_slot)
-- This can happen, e.g. in only3s/only3sp/only3p verbs.
return
end
for _, formobj in ipairs(base.forms[base_slot]) do
-- Figure out the correct accenting of the verb when a clitic pronoun is attached to it. We may need to
-- add or remove an accent mark:
-- (1) No accent mark currently, none needed: infinitive sentar -> sentarlo; imperative singular ten -> tenlo;
-- (2) Accent mark currently, still needed: infinitive oír -> oírlo;
-- (3) No accent mark currently, accent needed: imperative singular siente -> siéntelo;
-- (4) Accent mark currently, not needed: imperative singular está -> estalo, sé -> selo.
local syllables = com.syllabify(formobj.form)
local sylno = com.stressed_syllable(syllables)
table.insert(syllables, "lo")
local needs_accent = com.accent_needed(syllables, sylno)
if needs_accent then
syllables[sylno] = com.add_accent_to_syllable(syllables[sylno])
else
syllables[sylno] = com.remove_accent_from_syllable(syllables[sylno])
end
table.remove(syllables) -- remove added clitic pronoun
local reaccented_form = table.concat(syllables)
for _, clitic in ipairs(clitics) do
local cliticized_form
-- Some further special cases.
if base_slot == "imp_1p" and (clitic == "nos" or clitic == "os") then
-- Final -s disappears: sintamos + nos -> sintámonos, sintamos + os -> sintámoos
cliticized_form = reaccented_form:gsub("s$", "") .. clitic
elseif base_slot == "imp_2p" and clitic == "os" then
-- Final -d disappears, which may cause an accent to be required:
-- haced + os -> haceos, sentid + os -> sentíos
if reaccented_form:find("id$") then
cliticized_form = reaccented_form:gsub("id$", "íos")
else
cliticized_form = reaccented_form:gsub("d$", "os")
end
else
cliticized_form = reaccented_form .. clitic
end
store_cliticized_form(clitic, formobj, cliticized_form)
end
end
end
-- Generate the combinations of verb form (infinitive, gerund or various imperatives) + clitic pronoun.
local function add_combined_forms(base)
for _, base_slot_and_clitics in ipairs(base.alternant_multiword_spec.verb_slot_combined_rows) do
local base_slot, clitics = unpack(base_slot_and_clitics)
add_forms_with_clitic(base, base_slot, clitics,
function(clitic, formobj, cliticized_form)
insert_form(base, base_slot .. "_comb_" .. clitic,
{form = cliticized_form, footnotes = formobj.footnotes})
end
)
end
for _, single_comb_slot_and_clitics in ipairs(base.alternant_multiword_spec.verb_slot_double_combined_rows) do
local single_comb_slot, clitics = unpack(single_comb_slot_and_clitics)
-- Handle le -> se transformation for double clitics
if single_comb_slot:match("_comb_lxx$") then
add_forms_with_clitic(base, single_comb_slot, clitics,
function(clitic, formobj, cliticized_form)
-- Only add se version for accusative clitics (lo/la/los/las)
if clitic:match("^l[aeo]") then
cliticized_form = cliticized_form:gsub("le" .. clitic .. "$", "se" .. clitic)
insert_form(base, single_comb_slot .. "_" .. clitic,
{form = cliticized_form, footnotes = formobj.footnotes})
end
end
)
end
add_forms_with_clitic(base, single_comb_slot, clitics,
function(clitic, formobj, cliticized_form)
insert_form(base, single_comb_slot .. "_" .. clitic,
{form = cliticized_form, footnotes = formobj.footnotes})
end
)
end
end
local function process_slot_overrides(base, do_basic, reflexive_only)
local overrides = reflexive_only and base.basic_reflexive_only_overrides or
do_basic and base.basic_overrides or base.combined_overrides
for slot, forms in pairs(overrides) do
local suppress_prefix = base.prefix == "" or check_stems_for_suppress_prefix(slot, forms)
add(base, slot, suppress_prefix and "" or base.prefix, forms, false, "allow overrides")
end
end
-- Prefix `form` with `clitic`, adding fixed text `between` between them. Add links as appropriate unless the user
-- requested no links. Check whether form already has brackets (as will be the case if the form has a fixed clitic).
local function add_clitic_to_form(base, clitic, between, form)
if base.alternant_multiword_spec.args.noautolinkverb then
return clitic .. between .. form
else
local clitic_pref = "[[" .. clitic .. "]]" .. between
if form:find("%[%[") then
return clitic_pref .. form
else
return clitic_pref .. "[[" .. form .. "]]"
end
end
end
-- Add a reflexive pronoun or fixed clitic, e.g. [[lo]], as appropriate to the base form that were generated.
-- `do_joined` means to do only the forms where the pronoun is joined to the end of the form; otherwise, do only the
-- forms where it is not joined and precedes the form.
local function add_reflexive_or_fixed_clitic_to_forms(base, do_reflexive, do_joined)
for _, slotaccel in ipairs(base.alternant_multiword_spec.verb_slots_basic) do
local slot, accel = unpack(slotaccel)
local clitic
if not do_reflexive then
clitic = base.clitic
elseif slot:find("[123]") then
local persnum = slot:match("^.*_(.-)$")
clitic = person_number_to_reflexive_pronoun[persnum]
else
clitic = "se"
end
if base.forms[slot] then
if do_reflexive and slot:find("^pp_") or slot == "infinitive_linked" then
-- do nothing with reflexive past participles or with infinitive linked (handled at the end)
elseif slot:find("^neg_imp_") then
error("Internal error: Should not have forms set for negative imperative at this stage")
else
local slot_has_suffixed_clitic = slot:find("infinitive") or slot:find("gerund") or slot:find("^imp_")
-- Maybe generate non-reflexive parts and separated syntactic variants for use in {{es-verb form of}}.
-- See comment in add_slots() above `need_special_verb_form_of_slots`. Check for do_joined so we only
-- run this code once.
if do_reflexive and do_joined and base.alternant_multiword_spec.source_template == "es-verb form of" and
-- Skip personal variants of infinitives and gerunds so we don't think [[jambando]] is a
-- non-reflexive equivalent of [[jambándome]].
not slot:find("infinitive_") and not slot:find("gerund_") then
-- Clone the forms because we will be destructively modifying them just below, adding the reflexive
-- pronoun.
insert_forms(base, slot .. "_non_reflexive", mw.clone(base.forms[slot]))
if slot_has_suffixed_clitic then
insert_forms(base, slot .. "_variant", iut.map_forms(base.forms[slot], function(form)
return add_clitic_to_form(base, clitic, " ... ", form)
end))
end
end
if slot_has_suffixed_clitic then
if do_joined then
add_forms_with_clitic(base, slot, {clitic},
function(clitic, formobj, cliticized_form)
formobj.form = cliticized_form
end
)
end
elseif not do_joined then
-- Add clitic as separate word before all other forms.
for _, form in ipairs(base.forms[slot]) do
form.form = add_clitic_to_form(base, clitic, " ", form.form)
end
end
end
end
end
end
local function handle_infinitive_linked(base)
-- Compute linked versions of potential lemma slots, for use in {{es-verb}}.
-- We substitute the original lemma (before removing links) for forms that
-- are the same as the lemma, if the original lemma has links.
for _, slot in ipairs({"infinitive"}) do
insert_forms(base, slot .. "_linked", iut.map_forms(base.forms[slot], function(form)
if form == base.lemma and rfind(base.linked_lemma, "%[%[") then
return base.linked_lemma
else
return form
end
end))
end
end
local function generate_negative_imperatives(base)
-- Copy subjunctives to negative imperatives, preceded by "no".
for _, persnum in ipairs(neg_imp_person_number_list) do
local from = "pres_sub_" .. persnum
local to = "neg_imp_" .. persnum
insert_forms(base, to, iut.map_forms(base.forms[from], function(form)
if base.alternant_multiword_spec.args.noautolinkverb then
return "no " .. form
elseif form:find("%[%[") then
-- already linked, e.g. when reflexive
return "[[no]] " .. form
else
return "[[no]] [[" .. form .. "]]"
end
end))
end
end
-- Process specs given by the user using 'addnote[SLOTSPEC][FOOTNOTE][FOOTNOTE][...]'.
local function process_addnote_specs(base)
for _, spec in ipairs(base.addnote_specs) do
for _, slot_spec in ipairs(spec.slot_specs) do
slot_spec = "^" .. slot_spec .. "$"
for slot, forms in pairs(base.forms) do
if rfind(slot, slot_spec) then
-- To save on memory, side-effect the existing forms.
for _, form in ipairs(forms) do
form.footnotes = iut.combine_footnotes(form.footnotes, spec.footnotes)
end
end
end
end
end
end
local function add_missing_links_to_forms(base)
-- Any forms without links should get them now. Redundant ones will be stripped later.
for slot, forms in pairs(base.forms) do
for _, form in ipairs(forms) do
if not form.form:find("%[%[") then
form.form = "[[" .. form.form .. "]]"
end
end
end
end
local function conjugate_verb(base)
add_present_indic(base)
add_present_subj(base)
add_imper(base)
add_finite_non_present(base)
add_non_finite_forms(base)
-- This should happen before add_combined_forms() so overrides of basic forms end up part of the combined forms.
process_slot_overrides(base, "do basic") -- do basic slot overrides
-- This should happen after process_slot_overrides() in case a derived slot is based on an override (as with the
-- imp_3s of [[dar]], [[estar]]).
copy_subjunctives_to_imperatives(base)
-- This should happen after process_slot_overrides() because overrides may have accents in them that need to be
-- removed. (This happens e.g. for most present indicative forms of [[ver]], which have accents in them for the
-- prefixed derived verbs, but the accents shouldn't be present in the base verb.)
remove_monosyllabic_accents(base)
if not base.nocomb then
add_combined_forms(base)
end
-- We need to add joined reflexives, then joined and non-joined clitics, then non-joined reflexives, so we get
-- [[házmelo]] but [[no]] [[me]] [[lo]] [[haga]].
if base.refl then
-- This should happen after remove_monosyllabic_accents() so the * marking the preservation of monosyllabic
-- accents doesn't end up in the middle of a word.
add_reflexive_or_fixed_clitic_to_forms(base, "do reflexive", "do joined")
process_slot_overrides(base, "do basic", "do reflexive") -- do reflexive-only basic slot overrides
end
if base.clitic then
-- This should happen after reflexives are added.
add_reflexive_or_fixed_clitic_to_forms(base, false, "do joined")
add_reflexive_or_fixed_clitic_to_forms(base, false, false)
end
if base.refl then
add_reflexive_or_fixed_clitic_to_forms(base, "do reflexive", false)
end
-- This should happen after add_reflexive_or_fixed_clitic_to_forms() so negative imperatives get the reflexive pronoun
-- and clitic in them.
generate_negative_imperatives(base)
if not base.nocomb then
process_slot_overrides(base, false) -- do combined slot overrides
end
-- This should happen before add_missing_links_to_forms() so that the comparison `form == base.lemma`
-- in handle_infinitive_linked() works correctly and compares unlinked forms to unlinked forms.
handle_infinitive_linked(base)
process_addnote_specs(base)
if not base.alternant_multiword_spec.args.noautolinkverb then
add_missing_links_to_forms(base)
end
end
local function parse_indicator_spec(angle_bracket_spec)
-- Store the original angle bracket spec so we can reconstruct the overall conj spec with the lemma(s) in them.
local base = {
angle_bracket_spec = angle_bracket_spec,
user_basic_overrides = {},
user_stems = {},
addnote_specs = {},
}
local function parse_err(msg)
error(msg .. ": " .. angle_bracket_spec)
end
local function fetch_footnotes(separated_group)
local footnotes
for j = 2, #separated_group - 1, 2 do
if separated_group[j + 1] ~= "" then
parse_err("Extraneous text after bracketed footnotes: '" .. table.concat(separated_group) .. "'")
end
if not footnotes then
footnotes = {}
end
table.insert(footnotes, separated_group[j])
end
return footnotes
end
local inside = angle_bracket_spec:match("^<(.*)>$")
assert(inside)
if inside == "" then
return base
end
local segments = put.parse_balanced_segment_run(inside, "[", "]")
local dot_separated_groups = put.split_alternating_runs(segments, "%.")
for i, dot_separated_group in ipairs(dot_separated_groups) do
local first_element = dot_separated_group[1]
if first_element == "addnote" then
local spec_and_footnotes = fetch_footnotes(dot_separated_group)
if #spec_and_footnotes < 2 then
parse_err("Spec with 'addnote' should be of the form 'addnote[SLOTSPEC][FOOTNOTE][FOOTNOTE][...]'")
end
local slot_spec = table.remove(spec_and_footnotes, 1)
local slot_spec_inside = rmatch(slot_spec, "^%[(.*)%]$")
if not slot_spec_inside then
parse_err("Internal error: slot_spec " .. slot_spec .. " should be surrounded with brackets")
end
local slot_specs = rsplit(slot_spec_inside, ",")
-- FIXME: Here, [[Module:it-verb]] called strip_spaces(). Generally we don't do this. Should we?
table.insert(base.addnote_specs, {slot_specs = slot_specs, footnotes = spec_and_footnotes})
elseif indicator_flags[first_element] then
if #dot_separated_group > 1 then
parse_err("No footnotes allowed with '" .. first_element .. "' spec")
end
if base[first_element] then
parse_err("Spec '" .. first_element .. "' specified twice")
end
base[first_element] = true
elseif rfind(first_element, ":") then
local colon_separated_groups = put.split_alternating_runs(dot_separated_group, "%s*:%s*")
local first_element = colon_separated_groups[1][1]
if #colon_separated_groups[1] > 1 then
parse_err("Can't attach footnotes directly to '" .. first_element .. "' spec; attach them to the " ..
"colon-separated values following the initial colon")
end
if overridable_stems[first_element] then
if base.user_stems[first_element] then
parse_err("Overridable stem '" .. first_element .. "' specified twice")
end
table.remove(colon_separated_groups, 1)
base.user_stems[first_element] = overridable_stems[first_element](colon_separated_groups,
{prefix = first_element, base = base, parse_err = parse_err, fetch_footnotes = fetch_footnotes})
else -- assume a basic override; we validate further later when the possible slots are available
if base.user_basic_overrides[first_element] then
parse_err("Basic override '" .. first_element .. "' specified twice")
end
table.remove(colon_separated_groups, 1)
base.user_basic_overrides[first_element] = allow_multiple_values_for_override(
colon_separated_groups,
{prefix = first_element, base = base, parse_err = parse_err, fetch_footnotes = fetch_footnotes},
"add monosyllabic asterisk"
)
end
else
local comma_separated_groups = put.split_alternating_runs(dot_separated_group, "%s*,%s*")
for j = 1, #comma_separated_groups do
local alt = comma_separated_groups[j][1]
if not vowel_alternants[alt] then
if #comma_separated_groups == 1 then
parse_err("Unrecognized spec or vowel alternant '" .. alt .. "'")
else
parse_err("Unrecognized vowel alternant '" .. alt .. "'")
end
end
if base.vowel_alt then
for _, existing_alt in ipairs(base.vowel_alt) do
if existing_alt.form == alt then
parse_err("Vowel alternant '" .. alt .. "' specified twice")
end
end
else
base.vowel_alt = {}
end
table.insert(base.vowel_alt, {form = alt, footnotes = fetch_footnotes(comma_separated_groups[j])})
end
end
end
return base
end
-- Normalize all lemmas, substituting the pagename for blank lemmas and adding links to multiword lemmas.
local function normalize_all_lemmas(alternant_multiword_spec, pagename)
-- (1) Add links to all before and after text. Remember the original text so we can reconstruct the verb spec later.
if not alternant_multiword_spec.args.noautolinktext then
iut.add_links_to_before_and_after_text(alternant_multiword_spec, "remember original")
end
-- (2) Remove any links from the lemma, but remember the original form
-- so we can use it below in the 'lemma_linked' form.
iut.map_word_specs(alternant_multiword_spec, function(base)
if base.lemma == "" then
base.lemma = pagename
end
base.user_specified_lemma = base.lemma
base.lemma = m_links.remove_links(base.lemma)
local refl_verb, clitic = rmatch(base.lemma, "^(.-)(l[aeo]s?)$")
if not refl_verb then
refl_verb, clitic = base.lemma, nil
end
local verb, refl = rmatch(refl_verb, "^(.-)(se)$")
if not verb then
verb, refl = refl_verb, nil
end
base.user_specified_verb = verb
base.refl = refl
base.clitic = clitic
if base.refl and base.clitic then
-- We have to parse the verb suffix to see how to construct the base verb; e.g.
-- abrírsela -> abrir but oírsela -> oír. We parse the verb suffix again in all cases
-- in detect_indicator_spec(), after splitting off the prefix of irrregular verbs.
local actual_verb
local inf_stem, suffix = rmatch(base.user_specified_verb, "^(.*)([aáeéií]r)$")
if not inf_stem then
error("Unrecognized infinitive: " .. base.user_specified_verb)
end
if suffix == "ír" and inf_stem:find("[aeo]$") then
-- accent on suffix should remain
base.verb = base.user_specified_verb
else
base.verb = inf_stem .. com.remove_accent_from_syllable(suffix)
end
else
base.verb = base.user_specified_verb
end
local linked_lemma
if alternant_multiword_spec.args.noautolinkverb or base.user_specified_lemma:find("%[%[") then
linked_lemma = base.user_specified_lemma
elseif base.refl or base.clitic then
-- Reconstruct the linked lemma with separate links around base verb, reflexive pronoun and clitic.
linked_lemma = base.user_specified_verb == base.verb and "[[" .. base.user_specified_verb .. "]]" or
"[[" .. base.verb .. "|" .. base.user_specified_verb .. "]]"
linked_lemma = linked_lemma .. (refl and "[[" .. refl .. "]]" or "") ..
(clitic and "[[" .. clitic .. "]]" or "")
else
-- Add links to the lemma so the user doesn't specifically need to, since we preserve
-- links in multiword lemmas and include links in non-lemma forms rather than allowing
-- the entire form to be a link.
linked_lemma = iut.add_links(base.user_specified_lemma)
end
base.linked_lemma = linked_lemma
end)
end
local function construct_stems(base)
local stems = base.stems
stems.pres_unstressed = stems.pres_unstressed or base.inf_stem
stems.pres_stressed = stems.pres_stressed or
-- If no_pres_stressed given, pres_stressed stem should be empty so no forms are generated.
base.no_pres_stressed and {} or
base.vowel_alt or
base.inf_stem
stems.pres1_and_sub = stems.pres1_and_sub or
-- If no_pres_stressed given, the entire subjunctive is missing.
base.no_pres_stressed and {} or
-- If no_pres1_and_sub given, pres1 and entire subjunctive are missing.
base.no_pres1_and_sub and {} or
nil
stems.pres1 = stems.pres1 or stems.pres1_and_sub or stems.pres_stressed
stems.impf = stems.impf or base.inf_stem
stems.pret = stems.pret or base.inf_stem
stems.pret_conj = stems.pret_conj or base.conj
stems.fut = stems.fut or base.inf_stem .. base.conj
stems.cond = stems.cond or stems.fut
stems.pres_sub_stressed = stems.pres_sub_stressed or stems.pres1
stems.pres_sub_unstressed = stems.pres_sub_unstressed or stems.pres1_and_sub or stems.pres_unstressed
stems.impf_sub_ra = stems.impf_sub_ra or stems.pret
stems.impf_sub_se = stems.impf_sub_se or stems.pret
stems.fut_sub = stems.fut_sub or stems.pret
stems.pp = stems.pp or base.conj == "ar" and
combine_stem_ending(base, "pp_ms", base.inf_stem, "ad", "is combining ending") or
-- use combine_stem_ending esp. so we get reído, caído, etc.
combine_stem_ending(base, "pp_ms", base.inf_stem, "id", "is combining ending")
end
-- Make a list of the slots given in `list1` and optionally `list2`, with `prefix` added to the beginning of each slot
-- name. The elements of each list are of the form {SLOT, ACCEL}. Used for error messages.
local function construct_possible_slots(list1, list2, prefix)
list2 = list2 or {}
prefix = prefix or ""
local slots = {}
local function insert_list_slots(list)
for _, slotaccel in ipairs(list) do
local slot, accel = unpack(slotaccel)
table.insert(slots, prefix .. slot)
end
end
insert_list_slots(list1)
insert_list_slots(list2)
return m_table.serialCommaJoin(slots)
end
local function detect_indicator_spec(base)
base.forms = {}
base.non_reflexive_forms = {}
base.stems = {}
if (base.only3s and 1 or 0) + (base.only3sp and 1 or 0) + (base.only3p and 1 or 0) > 1 then
error("Only one of 'only3s', 'only3sp' and 'only3p' can be specified")
end
base.basic_overrides = {}
base.basic_reflexive_only_overrides = {}
base.combined_overrides = {}
if not base.no_built_in then
for _, built_in_conj in ipairs(built_in_conjugations) do
if type(built_in_conj.match) == "function" then
base.prefix, base.non_prefixed_verb = built_in_conj.match(base.verb)
elseif built_in_conj.match:find("^%^") and rsub(built_in_conj.match, "^%^", "") == base.verb then
-- begins with ^, for exact match, and matches
base.prefix, base.non_prefixed_verb = "", base.verb
else
base.prefix, base.non_prefixed_verb = rmatch(base.verb, "^(.*)(" .. built_in_conj.match .. ")$")
end
if base.prefix then
-- we found a built-in verb
base.irreg_verb = true
for stem, forms in pairs(built_in_conj.forms) do
if stem:find("^refl_") then
stem = stem:gsub("^refl_", "")
if not base.alternant_multiword_spec.verb_slots_basic_map[stem] then
error("Internal error: setting for 'refl_" .. stem .. "' does not refer to a basic verb slot")
end
base.basic_reflexive_only_overrides[stem] = forms
elseif base.alternant_multiword_spec.verb_slots_basic_map[stem] then
-- an individual form override of a basic form
base.basic_overrides[stem] = forms
elseif base.alternant_multiword_spec.verb_slots_combined_map[stem] then
-- an individual form override of a combined form
base.combined_overrides[stem] = forms
else
base.stems[stem] = forms
end
end
break
end
end
end
-- Override built-in-verb stems and overrides with user-specified ones.
for stem, values in pairs(base.user_stems) do
base.stems[stem] = values
end
for override, values in pairs(base.user_basic_overrides) do
if override:find("^refl_") then
if not base.refl then
error("Can't set reflexive-only override '" .. override .. "' on a non-reflexive verb")
end
override = override:gsub("^refl_", "")
if not base.alternant_multiword_spec.verb_slots_basic_map[override] then
error("Unrecognized reflexive-only override 'refl_" .. override .. "': possible slots are " ..
construct_possible_slots(base.alternant_multiword_spec.verb_slots_basic, nil, "refl_"))
end
base.basic_reflexive_only_overrides[override] = values
elseif base.alternant_multiword_spec.verb_slots_basic_map[override] then
base.basic_overrides[override] = values
elseif base.alternant_multiword_spec.verb_slots_combined_map[override] then
base.combined_overrides[override] = values
else
error("Unrecognized override '" .. override .. "': possible slots are " ..
construct_possible_slots(base.alternant_multiword_spec.verb_slots_basic,
base.alternant_multiword_spec.verb_slots_combined))
end
end
base.prefix = base.prefix or ""
base.non_prefixed_verb = base.non_prefixed_verb or base.verb
local inf_stem, suffix = rmatch(base.non_prefixed_verb, "^(.*)([aeií]r)$")
if not inf_stem then
error("Unrecognized infinitive: " .. base.verb)
end
base.inf_stem = inf_stem
suffix = suffix == "ír" and "ir" or suffix
base.conj = suffix
base.frontback = suffix == "ar" and "back" or "front"
if base.stems.vowel_alt then -- built-in verb with specified vowel alternation
if base.vowel_alt then
error(base.verb .. " is a recognized built-in verb, and should not have vowel alternations specified with it")
end
base.vowel_alt = iut.convert_to_general_list_form(base.stems.vowel_alt)
end
-- Propagate built-in-verb indicator flags to `base` and combine with user-specified flags.
for indicator_flag, _ in pairs(indicator_flags) do
base[indicator_flag] = base[indicator_flag] or base.stems[indicator_flag]
end
-- Convert vowel alternation indicators into stems.
if base.vowel_alt then
for _, altform in ipairs(base.vowel_alt) do
altform.alt = altform.form -- save original indicator
local alt = altform.alt
if base.conj == "ir" then
local raising = (
alt == "ie-i" or alt == "ye-i" or alt == "ue-u" or alt == "i" or alt == "í" or alt == "ú"
)
if base.stems.raising_conj == nil then
base.stems.raising_conj = raising
elseif base.stems.raising_conj ~= raising then
error("Can't currently support a mixture of raising (e.g. 'ie-i') and non-raising (e.g. 'ie') vowel alternations in -ir verbs")
end
end
if alt == "+" then
altform.form = base.inf_stem
else
local normalized_alt = alt
if alt == "ie-i" or alt == "ye-i" or alt == "ue-u" then
if base.conj ~= "ir" then
error("母音交替 '" .. alt .. "' は -ir動詞のみです")
end
-- ie-i is like i except for the vowel raising before i+V, similarly for ye-i, ue-u,
-- so convert appropriately.
normalized_alt = alt == "ie-i" and "ie" or alt == "ye-i" and "ye" or "ue"
end
local ret = com.apply_vowel_alternation(base.inf_stem, normalized_alt)
if ret.err then
error("To use '" .. alt .. "', present stem '" .. base.inf_stem .. "' " .. ret.err)
end
altform.form = ret.ret
end
end
end
end
local function detect_all_indicator_specs(alternant_multiword_spec)
-- Propagate some settings up; some are used internally, others by [[Module:es-headword]].
iut.map_word_specs(alternant_multiword_spec, function(base)
-- Internal indicator flags. Do these before calling detect_indicator_spec() because add_slots() uses them.
for _, prop in ipairs { "refl", "clitic" } do
if base[prop] then
alternant_multiword_spec[prop] = true
end
end
base.alternant_multiword_spec = alternant_multiword_spec
-- If reflexive or fixed clitic, don't include combined forms.
alternant_multiword_spec.nocomb = alternant_multiword_spec.nocomb or base.clitic or base.refl
end)
add_slots(alternant_multiword_spec)
iut.map_word_specs(alternant_multiword_spec, function(base)
base.nocomb = alternant_multiword_spec.args.nocomb
detect_indicator_spec(base)
-- User-specified indicator flags. Do these after calling detect_indicator_spec() because the latter may set these
-- indicators for built-in verbs.
for prop, _ in pairs(indicator_flags) do
if base[prop] then
alternant_multiword_spec[prop] = true
end
end
construct_stems(base)
end)
end
local function add_categories_and_annotation(alternant_multiword_spec, base, multiword_lemma)
local function insert_ann(anntype, value)
m_table.insertIfNot(alternant_multiword_spec.annotation[anntype], value)
end
local function insert_cat(cat, also_when_multiword)
-- Don't place multiword terms in categories like 'Spanish verbs ending in -ar' to avoid spamming the
-- categories with such terms.
if also_when_multiword or not multiword_lemma then
m_table.insertIfNot(alternant_multiword_spec.categories, "Spanish " .. cat)
end
end
if check_for_red_links and alternant_multiword_spec.source_template == "es-conj" and multiword_lemma then
for _, slot_and_accel in ipairs(alternant_multiword_spec.all_verb_slots) do
local slot = slot_and_accel[1]
local forms = base.forms[slot]
local must_break = false
if forms then
for _, form in ipairs(forms) do
if not form.form:find("%[%[") then
local title = mw.title.new(form.form)
if title and not title.exists then
insert_cat("verbs with red links in their inflection tables")
must_break = true
break
end
end
end
end
if must_break then
break
end
end
end
insert_cat("verbs ending in -" .. base.conj)
if base.irreg_verb then
insert_ann("irreg", "irregular")
insert_cat("irregular verbs")
else
insert_ann("irreg", "regular")
end
if base.only3s then
insert_ann("defective", "impersonal")
insert_cat("impersonal verbs")
elseif base.only3sp then
insert_ann("defective", "third-person only")
insert_cat("third-person-only verbs")
elseif base.only3p then
insert_ann("defective", "third-person plural only")
insert_cat("third-person-plural-only verbs")
elseif base.no_pres_stressed or base.no_pres1_and_sub then
insert_ann("defective", "defective")
insert_cat("defective verbs")
else
insert_ann("defective", "regular")
end
if base.clitic then
insert_cat("verbs with lexical clitics")
end
if base.refl then
insert_cat("reflexive verbs")
end
if not base.vowel_alt then
insert_ann("vowel_alt", "non-alternating")
else
local inf_stem = base.inf_stem:gsub("[gq]u$", "x")
for _, alt in ipairs(base.vowel_alt) do
if alt.alt == "+" then
insert_ann("vowel_alt", "non-alternating")
else
local desc
if alt.alt == "ue" and rfind(inf_stem, "u" .. C .. "*$") then
desc = "u-ue 交替" -- jugar
elseif alt.alt == "ie" and rfind(inf_stem, "i" .. C .. "*$") then
desc = "i-ie 交替" -- adquirir
elseif alt.alt == "í" and rfind(inf_stem, "e" .. C .. "*$") then
desc = "e-í 交替" -- reír, freír, etc.
else
desc = vowel_alternant_to_desc[alt.alt] .. " 交替"
end
insert_ann("vowel_alt", desc)
insert_cat("verbs with " .. desc)
end
end
end
local cons_alt = base.stems.cons_alt
if cons_alt == nil then
if base.conj == "ar" then
if base.inf_stem:find("z$") then
cons_alt = "c-z"
elseif base.inf_stem:find("ç$") then
cons_alt = "c-ç"
elseif base.inf_stem:find("c$") then
cons_alt = "c-qu"
elseif base.inf_stem:find("g$") then
cons_alt = "g-gu"
elseif base.inf_stem:find("gu$") then
cons_alt = "gu-gü"
end
else
if base.no_pres_stressed or base.no_pres1_and_sub then
cons_alt = nil -- no c-zc alternation in balbucir or arrecir
elseif rfind(base.inf_stem, V .. "c$") then
cons_alt = "c-zc"
elseif base.inf_stem:find("sc$") then
cons_alt = "hard-soft"
elseif base.inf_stem:find("c$") then
cons_alt = "c-z"
elseif base.inf_stem:find("qu$") then
cons_alt = "c-qu"
elseif base.inf_stem:find("g$") then
cons_alt = "g-j"
elseif base.inf_stem:find("gu$") then
cons_alt = "g-gu"
elseif base.inf_stem:find("gü$") then
cons_alt = "gu-gü"
end
end
end
if cons_alt then
local desc = cons_alt .. "交替"
insert_ann("cons_alt", desc)
insert_cat("verbs with " .. desc)
else
insert_ann("cons_alt", "non-alternating")
end
end
-- Compute the categories to add the verb to, as well as the annotation to display in the
-- conjugation title bar. We combine the code to do these functions as both categories and
-- title bar contain similar information.
local function compute_categories_and_annotation(alternant_multiword_spec)
alternant_multiword_spec.categories = {}
local ann = {}
alternant_multiword_spec.annotation = ann
ann.irreg = {}
ann.defective = {}
ann.vowel_alt = {}
ann.cons_alt = {}
local multiword_lemma = false
for _, form in ipairs(alternant_multiword_spec.forms.infinitive) do
if form.form:find(" ") then
multiword_lemma = true
break
end
end
iut.map_word_specs(alternant_multiword_spec, function(base)
add_categories_and_annotation(alternant_multiword_spec, base, multiword_lemma)
end)
local ann_parts = {}
local irreg = table.concat(ann.irreg, " or ")
if irreg ~= "" and irreg ~= "regular" then
table.insert(ann_parts, irreg)
end
local defective = table.concat(ann.defective, " or ")
if defective ~= "" and defective ~= "regular" then
table.insert(ann_parts, defective)
end
local vowel_alt = table.concat(ann.vowel_alt, " or ")
if vowel_alt ~= "" and vowel_alt ~= "non-alternating" then
table.insert(ann_parts, vowel_alt)
end
local cons_alt = table.concat(ann.cons_alt, " or ")
if cons_alt ~= "" and cons_alt ~= "non-alternating" then
table.insert(ann_parts, cons_alt)
end
alternant_multiword_spec.annotation = table.concat(ann_parts, "; ")
end
local function show_forms(alternant_multiword_spec)
local lemmas = alternant_multiword_spec.forms.infinitive
alternant_multiword_spec.lemmas = lemmas -- save for later use in make_table()
local reconstructed_verb_spec = iut.reconstruct_original_spec(alternant_multiword_spec)
-- Initialize the footnotes with those for the future subjunctive and maybe the pres subjunctive
-- voseo usage. In the latter case, we only do it if there is a distinct pres subjunctive voseo form.
local function create_footnote_obj()
local obj = iut.create_footnote_obj()
iut.get_footnote_text({fut_sub_note}, obj)
-- Compute whether the tuteo and voseo variants are different, for each voseo variant.
-- We use this later in make_table().
for _, slot in ipairs({"pres_2s", "pres_sub_2s", "imp_2s"}) do
alternant_multiword_spec["separate_" .. slot .. "v"] = false
iut.map_word_specs(alternant_multiword_spec, function(base)
if not m_table.deepEquals(base.forms[slot], base.forms[slot .. "v"]) then
alternant_multiword_spec["separate_" .. slot .. "v"] = true
end
end)
end
if alternant_multiword_spec.separate_pres_sub_2sv then
iut.get_footnote_text({pres_sub_voseo_note}, obj)
end
return obj
end
local function transform_accel_obj(slot, formobj, accel_obj)
-- No accelerators for negative imperatives, which are always multiword and derived directly from the
-- present subjunctive.
if slot:find("^neg_imp") then
return nil
end
if accel_obj then
if slot:find("^pp_") then
accel_obj.form = slot
elseif slot == "gerund" then
accel_obj.form = "gerund-" .. reconstructed_verb_spec
else
accel_obj.form = "verb-form-" .. reconstructed_verb_spec
end
end
return accel_obj
end
local props = {
lang = lang,
lemmas = lemmas,
create_footnote_obj = create_footnote_obj,
transform_accel_obj = transform_accel_obj,
}
props.slot_list = alternant_multiword_spec.verb_slots_basic
iut.show_forms(alternant_multiword_spec.forms, props)
alternant_multiword_spec.footnote_basic = alternant_multiword_spec.forms.footnote
props.create_footnote_obj = nil
props.slot_list = alternant_multiword_spec.verb_slots_combined
iut.show_forms(alternant_multiword_spec.forms, props)
alternant_multiword_spec.footnote_combined = alternant_multiword_spec.forms.footnote
end
local notes_template = [=[
<div class="roa-footnote-outer-div" style="width:100%;">
<div class="roa-footnote-inner-div">
{footnote}
</div></div>
]=]
local pres_2sv_template = '<sup><sup>tú</sup></sup><br />{pres_2sv}<sup><sup>vos</sup></sup>'
local pres_sub_2sv_template = '<sup><sup>tú</sup></sup><br />{pres_sub_2sv}<sup><sup>vos<sup class="roa-red-superscript">2</sup></sup></sup>'
local imp_2sv_template = '<sup><sup>tú</sup></sup><br />{imp_2sv}<sup><sup>vos</sup></sup>'
local basic_table = [=[
{description}<div class="NavFrame">
<div class="NavHead" align=center> {title}の活用 ([[付録:スペイン語の動詞]]も参照)</div>
<div class="NavContent">
{\op}| class="roa-inflection-table"
|-
! colspan="3" class="roa-nonfinite-header" | <span title="infinitivo">不定詞</span>
| colspan="5" | {infinitive}
|-
! colspan="3" class="roa-nonfinite-header" | <span title="gerundio">現在分詞</span>
| colspan="5" | {gerund}
|-
! rowspan="3" colspan="2" class="roa-nonfinite-header" | <span title="participio (pasado)">過去分詞</span>
| colspan="2" class="roa-nonfinite-header" |
! colspan="2" class="roa-nonfinite-header" | <span title="masculino">男性</span>
! colspan="2" class="roa-nonfinite-header" | <span title="femenino">女性</span>
|-
! colspan="2" class="roa-nonfinite-header" | 単数
| colspan="2" | {pp_ms}
| colspan="2" | {pp_fs}
|-
! colspan="2" class="roa-nonfinite-header" | 複数
| colspan="2" | {pp_mp}
| colspan="2" | {pp_fp}
|-
! colspan="2" rowspan="2" class="roa-person-number-header" |
! colspan="3" class="roa-person-number-header" | 単数
! colspan="3" class="roa-person-number-header" | 複数
|-
! class="roa-person-number-header" | 第一人称
! class="roa-person-number-header" | 第二人称
! class="roa-person-number-header" | 第三人称
! class="roa-person-number-header" | 第一人称
! class="roa-person-number-header" | 第二人称
! class="roa-person-number-header" | 第三人称
|-{reflexive_non_finite_clause}
! rowspan="6" class="roa-indicative-left-rail" | <span title="indicativo">直説法</span>
! class="roa-native-person-number-header" |
! class="roa-native-person-number-header" | yo
! class="roa-native-person-number-header" | tú<br />vos
! class="roa-native-person-number-header" | él/ella/ello<br />usted
! class="roa-native-person-number-header" | nosotros<br />nosotras
! class="roa-native-person-number-header" | vosotros<br />vosotras
! class="roa-native-person-number-header" | ellos/ellas<br />ustedes
|-
! class="roa-finite-header" | <span title="presente de indicativo">現在</span>
| {pres_1s}
| {pres_2s}{pres_2sv_text}
| {pres_3s}
| {pres_1p}
| {pres_2p}
| {pres_3p}
|-
! class="roa-finite-header" | <span title="pretérito imperfecto (copréterito)">不完了過去</span>
| {impf_1s}
| {impf_2s}
| {impf_3s}
| {impf_1p}
| {impf_2p}
| {impf_3p}
|-
! class="roa-finite-header" | <span title="pretérito perfecto simple (pretérito indefinido)">完了過去</span>
| {pret_1s}
| {pret_2s}
| {pret_3s}
| {pret_1p}
| {pret_2p}
| {pret_3p}
|-
! class="roa-finite-header" | <span title="futuro simple (futuro imperfecto)">未来</span>
| {fut_1s}
| {fut_2s}
| {fut_3s}
| {fut_1p}
| {fut_2p}
| {fut_3p}
|-
! class="roa-finite-header" | <span title="condicional simple (pospretérito de modo indicativo)">過去未来・可能法</span>
| {cond_1s}
| {cond_2s}
| {cond_3s}
| {cond_1p}
| {cond_2p}
| {cond_3p}
|-
! class="roa-person-number-header" style="height:.75em" colspan="8" |
|-
! rowspan="5" class="roa-subjunctive-left-rail" | <span title="subjuntivo">接続法</span>
! class="roa-native-person-number-header" |
! class="roa-native-person-number-header" | yo
! class="roa-native-person-number-header" | tú<br />vos
! class="roa-native-person-number-header" | él/ella/ello<br />usted
! class="roa-native-person-number-header" | nosotros<br />nosotras
! class="roa-native-person-number-header" | vosotros<br />vosotras
! class="roa-native-person-number-header" | ellos/ellas<br />ustedes
|-
! class="roa-finite-header" | <span title="presente de subjuntivo">現在</span>
| {pres_sub_1s}
| {pres_sub_2s}{pres_sub_2sv_text}
| {pres_sub_3s}
| {pres_sub_1p}
| {pres_sub_2p}
| {pres_sub_3p}
|-
! class="roa-finite-header" | <span title="pretérito imperfecto de subjuntivo">過去</span><br />(ra)
| {impf_sub_ra_1s}
| {impf_sub_ra_2s}
| {impf_sub_ra_3s}
| {impf_sub_ra_1p}
| {impf_sub_ra_2p}
| {impf_sub_ra_3p}
|-
! class="roa-finite-header" | <span title="pretérito imperfecto de subjuntivo">過去</span><br />(se)
| {impf_sub_se_1s}
| {impf_sub_se_2s}
| {impf_sub_se_3s}
| {impf_sub_se_1p}
| {impf_sub_se_2p}
| {impf_sub_se_3p}
|-
! class="roa-finite-header" | <span title="futuro simple de subjuntivo (futuro de subjuntivo)">未来</span><sup class="roa-red-superscript">1</sup>
| {fut_sub_1s}
| {fut_sub_2s}
| {fut_sub_3s}
| {fut_sub_1p}
| {fut_sub_2p}
| {fut_sub_3p}
|-
! class="roa-person-number-header" style="height:.75em" colspan="8" |
|-
! rowspan="6" class="roa-imperative-left-rail" | <span title="imperativo">命令法</span>
! class="roa-native-person-number-header" |
! class="roa-native-person-number-header" | —
! class="roa-native-person-number-header" | tú<br />vos
! class="roa-native-person-number-header" | usted
! class="roa-native-person-number-header" | nosotros<br />nosotras
! class="roa-native-person-number-header" | vosotros<br />vosotras
! class="roa-native-person-number-header" | ustedes
|-
! class="roa-finite-header" | <span title="imperativo afirmativo">-</span>
|
| {imp_2s}{imp_2sv_text}
| {imp_3s}
| {imp_1p}
| {imp_2p}
| {imp_3p}
|-
! class="roa-finite-header" | <span title="imperativo negativo">禁止</span>
|
| {neg_imp_2s}
| {neg_imp_3s}
| {neg_imp_1p}
| {neg_imp_2p}
| {neg_imp_3p}
|{\cl}{notes_clause}</div></div>
]=]
local reflexive_non_finite_template = [=[
! rowspan="3" class="roa-nonfinite-header" | personal non-finite
! class="roa-native-person-number-header" |
! class="roa-native-person-number-header" | yo
! class="roa-native-person-number-header" | tú<br />vos
! class="roa-native-person-number-header" | él/ella/ello<br />usted
! class="roa-native-person-number-header" | nosotros<br />nosotras
! class="roa-native-person-number-header" | vosotros<br />vosotras
! class="roa-native-person-number-header" | ellos/ellas<br />ustedes
|-
! class="roa-finite-header" | <span title="infinitivo">不定詞</span>
| {infinitive_1s}
| {infinitive_2s}
| {infinitive_3s}
| {infinitive_1p}
| {infinitive_2p}
| {infinitive_3p}
|-
! class="roa-finite-header" | <span title="gerundio">現在分詞</span>
| {gerund_1s}
| {gerund_2s}
| {gerund_3s}
| {gerund_1p}
| {gerund_2p}
| {gerund_3p}
|-
! class="roa-person-number-header" style="height:.75em" colspan="8" |
|-]=]
local combined_form_combined_tu_vos_template = [=[
! class="roa-person-number-header" style="height:.35em" colspan="8" |
|-
! rowspan="2" class="roa-combined-with-imperative" | 口語命令法第二人称単数 ({tuteo}<i>/</i>{voseo}) {imp_2s}
! class="roa-finite-header" | 与格
| {imp_2s_comb_me}
| {imp_2s_comb_te}
| {imp_2s_comb_le}
| {imp_2s_comb_nos}
| ''不使用''
| {imp_2s_comb_les}
|-
! class="roa-finite-header" | 対格
| {imp_2s_comb_me}
| {imp_2s_comb_te}
| {imp_2s_comb_lo}, {imp_2s_comb_la}
| {imp_2s_comb_nos}
| ''不使用''
| {imp_2s_comb_los}, {imp_2s_comb_las}
|-]=]
local combined_form_separate_tu_vos_template = [=[
! class="roa-person-number-header" style="height:.35em" colspan="8" |
|-
! rowspan="2" class="roa-combined-with-imperative" | 口語命令法第二人称単数 ({tuteo}) {imp_2s}
! class="roa-finite-header" | 与格
| {imp_2s_comb_me}
| {imp_2s_comb_te}
| {imp_2s_comb_le}
| {imp_2s_comb_nos}
| ''不使用''
| {imp_2s_comb_les}
|-
! class="roa-finite-header" | 対格
| {imp_2s_comb_me}
| {imp_2s_comb_te}
| {imp_2s_comb_lo}, {imp_2s_comb_la}
| {imp_2s_comb_nos}
| ''不使用''
| {imp_2s_comb_los}, {imp_2s_comb_las}
|-
! class="roa-person-number-header" style="height:.35em" colspan="8" |
|-
! rowspan="2" class="roa-combined-with-imperative" | 口語命令法第二人称単数 ({voseo}) {imp_2sv}
! class="roa-finite-header" | 与格
| {imp_2sv_comb_me}
| {imp_2sv_comb_te}
| {imp_2sv_comb_le}
| {imp_2sv_comb_nos}
| ''不使用''
| {imp_2sv_comb_les}
|-
! class="roa-finite-header" | 対格
| {imp_2sv_comb_me}
| {imp_2sv_comb_te}
| {imp_2sv_comb_lo}, {imp_2sv_comb_la}
| {imp_2sv_comb_nos}
| ''不使用''
| {imp_2sv_comb_los}, {imp_2sv_comb_las}
|-]=]
local combined_form_table = [=[
{description}<div class="NavFrame">
<div class="NavHead" align=center> {title}の複合形</div>
<div class="NavContent">
これらは自動生成されたものであり、実際に使用されるものとは異なる場合がある。また、代名詞の用法は地域によって大きく異なる。
{\op}| class="inflection-table es-inflection-table"
|-
! colspan="2" rowspan="2" class="roa-person-number-header" |
! colspan="3" class="roa-person-number-header" | singular
! colspan="3" class="roa-person-number-header" | plural
|-
! class="roa-person-number-header" | 第一人称
! class="roa-person-number-header" | 第二人称
! class="roa-person-number-header" | 第三人称
! class="roa-person-number-header" | 第一人称
! class="roa-person-number-header" | 第二人称
! class="roa-person-number-header" | 第三人称
|-
! rowspan="2" class="roa-combined-with-infinitive" | 不定詞 {infinitive}
! class="roa-finite-header" | 与格
| {infinitive_comb_me}
| {infinitive_comb_te}
| {infinitive_comb_le}, {infinitive_comb_se}
| {infinitive_comb_nos}
| {infinitive_comb_os}
| {infinitive_comb_les}, {infinitive_comb_se}
|-
! class="roa-finite-header" | 対格
| {infinitive_comb_me}
| {infinitive_comb_te}
| {infinitive_comb_lo}, {infinitive_comb_la}, {infinitive_comb_se}
| {infinitive_comb_nos}
| {infinitive_comb_os}
| {infinitive_comb_los}, {infinitive_comb_las}, {infinitive_comb_se}
|-
! class="roa-person-number-header" style="height:.35em" colspan="8" |
|-
! rowspan="2" class="roa-combined-with-gerund" | 現在分詞 {gerund}
! class="roa-finite-header" | 与格
| {gerund_comb_me}
| {gerund_comb_te}
| {gerund_comb_le}, {gerund_comb_se}
| {gerund_comb_nos}
| {gerund_comb_os}
| {gerund_comb_les}, {gerund_comb_se}
|-
! class="roa-finite-header" | 対格
| {gerund_comb_me}
| {gerund_comb_te}
| {gerund_comb_lo}, {gerund_comb_la}, {gerund_comb_se}
| {gerund_comb_nos}
| {gerund_comb_os}
| {gerund_comb_los}, {gerund_comb_las}, {gerund_comb_se}
|-{tu_vos_clause}
! class="roa-person-number-header" style="height:.35em" colspan="8" |
|-
! rowspan="2" class="roa-combined-with-imperative" | 格式命令法第二人称単数 {imp_3s}
! class="roa-finite-header" | 与格
| {imp_3s_comb_me}
| ''不使用''
| {imp_3s_comb_le}, {imp_3s_comb_se}
| {imp_3s_comb_nos}
| ''不使用''
| {imp_3s_comb_les}
|-
! class="roa-finite-header" | 対格
| {imp_3s_comb_me}
| ''不使用''
| {imp_3s_comb_lo}, {imp_3s_comb_la}, {imp_3s_comb_se}
| {imp_3s_comb_nos}
| ''不使用''
| {imp_3s_comb_los}, {imp_3s_comb_las}
|-
! class="roa-person-number-header" style="height:.35em" colspan="8" |
|-
! rowspan="2" class="roa-combined-with-imperative" | 命令法第一人称複数 {imp_1p}
! class="roa-finite-header" | 与格
| ''不使用''
| {imp_1p_comb_te}
| {imp_1p_comb_le}
| {imp_1p_comb_nos}
| {imp_1p_comb_os}
| {imp_1p_comb_les}
|-
! class="roa-finite-header" | 対格
| ''不使用''
| {imp_1p_comb_te}
| {imp_1p_comb_lo}, {imp_1p_comb_la}
| {imp_1p_comb_nos}
| {imp_1p_comb_os}
| {imp_1p_comb_los}, {imp_1p_comb_las}
|-
! class="roa-person-number-header" style="height:.35em" colspan="8" |
|-
! rowspan="2" class="roa-combined-with-imperative" | 口語命令法第二人称複数 {imp_2p}
! class="roa-finite-header" | 与格
| {imp_2p_comb_me}
| ''不使用''
| {imp_2p_comb_le}
| {imp_2p_comb_nos}
| {imp_2p_comb_os}
| {imp_2p_comb_les}
|-
! class="roa-finite-header" | 対格
| {imp_2p_comb_me}
| ''不使用''
| {imp_2p_comb_lo}, {imp_2p_comb_la}
| {imp_2p_comb_nos}
| {imp_2p_comb_os}
| {imp_2p_comb_los}, {imp_2p_comb_las}
|-
! class="roa-person-number-header" style="height:.35em" colspan="8" |
|-
! rowspan="2" class="roa-combined-with-imperative" | 格式命令法第二人称複数 {imp_3p}
! class="roa-finite-header" | 与格
| {imp_3p_comb_me}
| ''不使用''
| {imp_3p_comb_le}
| {imp_3p_comb_nos}
| ''不使用''
| {imp_3p_comb_les}, {imp_3p_comb_se}
|-
! class="roa-finite-header" | 対格
| {imp_3p_comb_me}
| ''不使用''
| {imp_3p_comb_lo}, {imp_3p_comb_la}
| {imp_3p_comb_nos}
| ''不使用''
| {imp_3p_comb_los}, {imp_3p_comb_las}, {imp_3p_comb_se}
|{\cl}{notes_clause}</div></div>
]=]
local function make_table(alternant_multiword_spec)
local forms = alternant_multiword_spec.forms
forms.title = link_term(alternant_multiword_spec.lemmas[1].form)
if alternant_multiword_spec.annotation ~= "" then
forms.title = forms.title .. " (" .. alternant_multiword_spec.annotation .. ")"
end
forms.description = ""
-- Format the basic table.
forms.tuteo = tuteo_link
forms.voseo = voseo_link
forms.footnote = alternant_multiword_spec.footnote_basic
forms.reflexive_non_finite_clause = alternant_multiword_spec.refl and m_string_utilities.format(reflexive_non_finite_template, forms) or ""
forms.notes_clause = forms.footnote ~= "" and m_string_utilities.format(notes_template, forms) or ""
-- The separate_* values are computed in show_forms().
forms.pres_2sv_text = alternant_multiword_spec.separate_pres_2sv and m_string_utilities.format(pres_2sv_template, forms) or ""
forms.pres_sub_2sv_text = alternant_multiword_spec.separate_pres_sub_2sv and m_string_utilities.format(pres_sub_2sv_template, forms) or ""
forms.imp_2sv_text = alternant_multiword_spec.separate_imp_2sv and m_string_utilities.format(imp_2sv_template, forms) or ""
local formatted_basic_table = m_string_utilities.format(basic_table, forms)
-- Format the combined table.
local formatted_combined_table
if alternant_multiword_spec.refl or alternant_multiword_spec.args.nocomb or alternant_multiword_spec.clitic then
formatted_combined_table = ""
else
forms.footnote = alternant_multiword_spec.footnote_combined
forms.notes_clause = forms.footnote ~= "" and m_string_utilities.format(notes_template, forms) or ""
-- separate_imp_2sv is computed in show_forms().
local tu_vos_template = alternant_multiword_spec.separate_imp_2sv and combined_form_separate_tu_vos_template or combined_form_combined_tu_vos_template
forms.tu_vos_clause = m_string_utilities.format(tu_vos_template, forms)
formatted_combined_table = m_string_utilities.format(combined_form_table, forms)
end
-- Paste them together.
return require("Module:TemplateStyles")("Module:roa-verb/style.css") .. formatted_basic_table .. formatted_combined_table
end
-- Externally callable function to parse and conjugate a verb given user-specified arguments.
-- Return value is WORD_SPEC, an object where the conjugated forms are in `WORD_SPEC.forms`
-- for each slot. If there are no values for a slot, the slot key will be missing. The value
-- for a given slot is a list of objects {form=FORM, footnotes=FOOTNOTES}.
function export.do_generate_forms(args, source_template, headword_head, double_combined_forms_to_include)
local PAGENAME = mw.loadData("Module:headword/data").pagename
local function in_template_space()
return mw.title.getCurrentTitle().nsText == "テンプレート"
end
-- Determine the verb spec we're being asked to generate the conjugation of. This may be taken from the
-- current page title or the value of |pagename=; but not when called from {{es-verb form of}}, where the
-- page title is a non-lemma form. Note that the verb spec may omit the infinitive; e.g. it may be "<ue>".
-- For this reason, we use the value of `pagename` computed here down below, when calling normalize_all_lemmas().
local pagename = source_template ~= "es-verb form of" and args.pagename or PAGENAME
local head = headword_head or pagename
local arg1 = args[1]
if not arg1 then
if (pagename == "es-conj" or pagename == "es-verb") and in_template_space() then
arg1 = "licuar<+,ú>"
elseif pagename == "es-verb form of" and in_template_space() then
arg1 = "amar"
else
arg1 = "<>"
end
end
-- When called from {{es-verb form of}}, determine the non-lemma form whose inflections we're being asked to
-- determine. This normally comes from the page title or the value of |pagename=.
local verb_form_of_form
if source_template == "es-verb form of" then
verb_form_of_form = args.pagename
if not verb_form_of_form then
if PAGENAME == "es-verb form of" and in_template_space() then
verb_form_of_form = "ame"
else
verb_form_of_form = PAGENAME
end
end
end
local incorporated_headword_head_into_lemma = false
if arg1:find("^<.*>$") then -- missing lemma
if head:find(" ") then
-- If multiword lemma, try to add arg spec after the first word.
-- Try to preserve the brackets in the part after the verb, but don't do it
-- if there aren't the same number of left and right brackets in the verb
-- (which means the verb was linked as part of a larger expression).
local refl_clitic_verb, post = rmatch(head, "^(.-)( .*)$")
local left_brackets = rsub(refl_clitic_verb, "[^%[]", "")
local right_brackets = rsub(refl_clitic_verb, "[^%]]", "")
if #left_brackets == #right_brackets then
arg1 = iut.remove_redundant_links(refl_clitic_verb) .. arg1 .. post
incorporated_headword_head_into_lemma = true
else
-- Try again using the form without links.
local linkless_head = m_links.remove_links(head)
if linkless_head:find(" ") then
refl_clitic_verb, post = rmatch(linkless_head, "^(.-)( .*)$")
arg1 = refl_clitic_verb .. arg1 .. post
else
error("Unable to incorporate <...> spec into explicit head due to a multiword linked verb or " ..
"unbalanced brackets; please include <> explicitly: " .. arg1)
end
end
else
-- Will be incorporated through `head` below in the call to normalize_all_lemmas().
incorporated_headword_head_into_lemma = true
end
end
local parse_props = {
parse_indicator_spec = parse_indicator_spec,
allow_default_indicator = true,
allow_blank_lemma = true,
}
local alternant_multiword_spec = iut.parse_inflected_text(arg1, parse_props)
alternant_multiword_spec.pos = pos or "verbs"
alternant_multiword_spec.args = args
alternant_multiword_spec.source_template = source_template
alternant_multiword_spec.verb_form_of_form = verb_form_of_form
alternant_multiword_spec.incorporated_headword_head_into_lemma = incorporated_headword_head_into_lemma
-- Now determine if we need to generate any double-combined forms, and if so, which clitics are involved.
-- See the comment above the initialization of `verb_slot_double_combined_rows` above in add_slots().
if verb_form_of_form and rfind(verb_form_of_form, AV) then
-- All double-clitic forms have an explicit accent, so we check for this. In addition, all double-clitic forms
-- are of the form "(me|te|se|nos|os)(lo|la|le)s$". We have no alternations in Lua patterns, but we can exploit
-- the similarity of the clitics in question.
local single_comb_form, object_clitic = rmatch(verb_form_of_form, "^(.*)(l[aeo]s?)$")
if single_comb_form then
local personal_clitic = rmatch(single_comb_form, "^.*([mts]e)$")
if not personal_clitic then
personal_clitic = rmatch(single_comb_form, "^.-(n?os)$")
end
if personal_clitic then
if personal_clitic == "nos" then
-- "os" is a substring of "nos"; conceivably we could have a form ending in -n + os, and we don't
-- know whether to interpret as -n + os or - + nos.
alternant_multiword_spec.double_combined_forms_to_include =
{{"nos", object_clitic}, {"os", object_clitic}}
else
if personal_clitic == "se" then
-- Use the special "lxx" clitic for le/les when transformed into se in double-combined forms.
personal_clitic = "lxx"
end
alternant_multiword_spec.double_combined_forms_to_include = {{personal_clitic, object_clitic}}
end
end
end
end
normalize_all_lemmas(alternant_multiword_spec, pagename)
detect_all_indicator_specs(alternant_multiword_spec)
local inflect_props = {
slot_list = alternant_multiword_spec.all_verb_slots,
inflect_word_spec = conjugate_verb,
-- We add links around the generated verbal forms rather than allow the entire multiword
-- expression to be a link, so ensure that user-specified links get included as well.
include_user_specified_links = true,
}
iut.inflect_multiword_or_alternant_multiword_spec(alternant_multiword_spec, inflect_props)
-- Remove redundant brackets around entire forms.
for slot, forms in pairs(alternant_multiword_spec.forms) do
for _, form in ipairs(forms) do
form.form = iut.remove_redundant_links(form.form)
end
end
compute_categories_and_annotation(alternant_multiword_spec)
if args.json and not from_headword and not from_verb_form_of then
-- There is a circular reference in `base.alternant_multiword_spec`, which points back to top level.
iut.map_word_specs(alternant_multiword_spec, function(base)
base.alternant_multiword_spec = nil
end)
return require("Module:JSON").toJSON(alternant_multiword_spec)
end
return alternant_multiword_spec
end
-- Entry point for {{es-conj}}. Template-callable function to parse and conjugate a verb given
-- user-specified arguments and generate a displayable table of the conjugated forms.
function export.show(frame)
local parent_args = frame:getParent().args
local params = {
[1] = {},
["nocomb"] = {type = "boolean"},
["noautolinktext"] = {type = "boolean"},
["noautolinkverb"] = {type = "boolean"},
["pagename"] = {}, -- for testing/documentation pages
["json"] = {type = "boolean"}, -- for bot use
}
local args = require("Module:parameters").process(parent_args, params)
local alternant_multiword_spec = export.do_generate_forms(args, "es-conj")
if type(alternant_multiword_spec) == "string" then
-- JSON return value
return alternant_multiword_spec
end
show_forms(alternant_multiword_spec)
return make_table(alternant_multiword_spec) ..
require("Module:utilities").format_categories(alternant_multiword_spec.categories, lang, nil, nil, force_cat)
end
return export
pdrq77jwpi4n3ps02wpfuipqmh03idf
2281206
2281197
2026-06-09T10:43:16Z
Kuroco2k
84207
2281206
Scribunto
text/plain
local export = {}
--[=[
Authorship: Ben Wing <benwing2>
]=]
--[=[
TERMINOLOGY:
-- "slot" = A particular combination of tense/mood/person/number/etc.
Example slot names for verbs are "pres_1s" (present indicative first-person singular), "pres_sub_2sv" (present
subjunctive second-person singular voseo form) "impf_sub_ra_3p" (imperfect subjunctive -ra form third-person
plural), "imp_1p_comb_lo" (imperative first-person plural combined with clitic [[lo]]).
Each slot is filled with zero or more forms.
-- "form" = The conjugated Spanish form representing the value of a given slot.
-- "lemma" = The dictionary form of a given Spanish term. For Spanish, always the infinitive.
]=]
--[=[
FIXME:
1. Implement no_pres_stressed for aterir, garantir. (NOTE: Per RAE, garantir used in all forms in Argentina/Uruguay.) [DONE]
2. Support concluyo. [DONE]
3. Fixes for veo -> ve vs. preveo -> prevé. [DONE]
4. Various more irregular verbs, e.g. predecir, redecir, bendecir, maldecir. [DONE]
5. Raising of e -> i, o -> u before -iendo, -ió, etc. occurs only in -ir verbs. [DONE]
6. Raising of e -> i, o -> u happens before subjunctive -amos, -áis in -ir verbs. [DONE]
7. Implement reflexive verbs. [DONE]
8. Implement categories. [DONE]
9. Implement show_forms. [DONE]
10. Reconcile stems.vowel_alt from irregular verbs with vowel_alt from indicators. May require
moving the irregular-verb handling code in construct_stems() into detect_indicator_spec(). [DONE]
11. Implement make_table. [DONE]
12. Vowel alternation should show u-ue (jugar), i-ie (adquirir), e-í (reír) alternations specially. [DONE]
13. Handle linking of multiword forms as is done in [[Module:es-headword]]. [DONE]
14. Implement comparison against previous module. [DONE]
15. Implement categorization of irregularities for individual tenses.
16. Support nocomb=1. [DONE]
17. (Possibly) display irregular forms in a different color, as with the old module.
18. (Possibly) display a "rule" description indicating the types of alternations.
19. Implement replace_reflexive_indicators(). [NOT DONE; SUPPORT REMOVED]
20. Implement verbs with attached clitics e.g. [[pasarlo]], [[corrérsela]]. [DONE]
21. When footnote + tú/vos notation, add a space before tú/vos.
22. Fix [[erguir]] so ie-i vowel alternation produces ye- at beginning of word, similarly for errar. Also allow
multiple vowel alternation specs in irregular verbs, for errar. Finally, ie should show as e-ye for errar
and as e-ye-i for erguir. [DONE]
23. Figure out why red links in combined forms show up as black not red.
24. Consider including alternative superseded forms of verbs like [[ciar]] (e.g. pret_3s = cio, ció with footnote).
25. Allow conjugation of suffixes e.g. -ir, -ecer; need to fix in [[Module:inflection utilities]]. [DONE]
26. Allow specification of stems esp. so that footnotes can be hung off them; use + for the default.
27. Don't remove monosyllabic accents when conjugating suffixes. [DONE]
28. If multiword expression with no <>, add <> after first word, as with [[Module:es-headword]]. [DONE]
29. (Possibly) link the parts of a reflexive or cliticized infinitive, as done in [[Module:es-headword]]. [DONE]
30. Final fixes to allow [[Module:es-headword]] to use this module. [DONE]
--]=]
local lang = require("Module:languages").getByCode("es")
local m_string_utilities = require("Module:string utilities")
local m_links = require("Module:links")
local m_table = require("Module:table")
local iut = require("Module:inflection utilities")
local put = require("Module:parse utilities")
local com = require("Module:es-common")
local force_cat = false -- set to true for debugging
local check_for_red_links = false -- set to false for debugging
local rfind = mw.ustring.find
local rmatch = mw.ustring.match
local rsplit = mw.text.split
local rsub = com.rsub
local unpack = unpack or table.unpack -- Lua 5.2 compatibility
local function link_term(term)
return m_links.full_link({ lang = lang, term = term }, "term")
end
local V = com.V -- vowel regex class
local AV = com.AV -- accented vowel regex class
local C = com.C -- consonant regex class
local tuteo_link = link_term("tuteo")
local voseo_link = link_term("voseo")
local fut_sub_note = "[rare; now chiefly used in legal language]"
local pres_sub_voseo_note = "[Argentine and Uruguayan " .. voseo_link .. " prefers the " .. tuteo_link .. "-form for the present subjunctive]"
local vowel_alternants = m_table.listToSet({"ie", "ie-i", "ye", "ye-i", "ue", "ue-u", "hue", "i", "í", "ú", "+"})
local vowel_alternant_to_desc = {
["ie"] = "e-ie",
["ie-i"] = "e-ie-i",
["ye"] = "e-ye",
["ye-i"] = "e-ye-i",
["ue"] = "o-ue",
["ue-u"] = "o-ue-u",
["hue"] = "o-hue",
["i"] = "e-i",
["í"] = "i-í",
["ú"] = "u-ú",
}
local raise_vowel = {["e"] = "i", ["o"] = "u"}
local all_persons_numbers = {
["1s"] = "1|s",
["2s"] = "2|s",
["2sv"] = "2|s|voseo",
["3s"] = "3|s",
["1p"] = "1|p",
["2p"] = "2|p",
["3p"] = "3|p",
}
local person_number_list_basic = {"1s", "2s", "3s", "1p", "2p", "3p"}
local person_number_list_voseo = {"1s", "2s", "2sv", "3s", "1p", "2p", "3p"}
local imp_person_number_list = {"2s", "2sv", "3s", "1p", "2p", "3p"}
local neg_imp_person_number_list = {"2s", "3s", "1p", "2p", "3p"}
person_number_to_reflexive_pronoun = {
["1s"] = "me",
["2s"] = "te",
["2sv"] = "te",
["3s"] = "se",
["1p"] = "nos",
["2p"] = "os",
["3p"] = "se",
}
local indicator_flags = m_table.listToSet {
"no_pres_stressed", "no_pres1_and_sub",
"only3s", "only3sp", "only3p",
"no_built_in",
}
-- Initialize all the slots for which we generate forms. The particular slots may depend on whether we're generating
-- combined slots (`not alternant_multiword_spec.nocomb`, which is always false if we're dealing with a verb with an
-- attached clitic, such as [[hincarla]], or a reflexive or partly-reflexive verb, where a partly-reflexive verb is
-- a conjoined term made up of two or more verbs, where some but not all are reflexive). It may also depend on whether
-- we're being requested to generate some double-combined forms, such as [[llevándoselo]]; see the comment below for
-- `verb_slot_double_combined_rows`.
local function add_slots(alternant_multiword_spec)
-- "Basic" slots: All slots that go into the regular table (not the combined-form table).
alternant_multiword_spec.verb_slots_basic = {
{"infinitive", "inf"},
{"infinitive_linked", "inf"},
{"gerund", "ger"},
{"pp_ms", "m|s|past|part"},
{"pp_fs", "f|s|past|part"},
{"pp_mp", "m|p|past|part"},
{"pp_fp", "f|p|past|part"},
}
-- Slots that go into the combined-form table, along with double-combined slots (e.g. [[llevándoselo]]) that are
-- requested for use with {{es-verb form of}}.
alternant_multiword_spec.verb_slots_combined = {}
-- Special slots used to handle non-reflexive parts of reflexive verbs in {{es-verb form of}}.
-- For example, for a reflexive-only verb like [[jambarse]], we want to be able to use {{es-verb form of}} on
-- [[jambe]] (which should mention that it is a part of 'me jambe', first-person singular present subjunctive, and
-- 'se jambe', third-person singular present subjunctive) or on [[jambamos]] (which should mention that it is a
-- part of 'nos jambamos', first-person plural present indicative or preterite). Similarly, we want to use
-- {{es-verb form of}} on [[jambando]] (which should mention that it is a part of 'se ... jambando', syntactic
-- variant of [[jambándose]], which is the gerund of [[jambarse]]). To do this, we need to be able to map
-- non-reflexive parts like [[jambe]], [[jambamos]], [[jambando]], etc. to their reflexive equivalent(s), to the
-- tag(s) of the equivalent(s), and, in the case of forms like [[jambando]], [[jambar]] and imperatives, to the
-- separated syntactic variant of the verb+clitic combination. We do this by creating slots for the non-reflexive
-- part equivalent of each basic reflexive slot, and for the separated syntactic-variant equivalent of each basic
-- reflexive slot that is formed of verb+clitic. We use slots in this way to deal with multiword lemmas. Note that
-- we run into difficulties mapping between reflexive verbs, non-reflexive part equivalents, and separated syntactic
-- variants if a slot contains more than one form. To handle this, if there are the same number of forms in two
-- slots we're trying to match up, we assume the forms match one-to-one; otherwise we don't match up the two slots
-- (which means {{es-verb form of}} won't work in this case, but such a case is extremely rare and not worth
-- worrying about). Alternatives that handle this "properly" are significantly more complicated and require
-- non-trivial modifications to [[Module:inflection utilities]].
local need_special_verb_form_of_slots = alternant_multiword_spec.source_template == "es-verb form of" and
alternant_multiword_spec.refl
if need_special_verb_form_of_slots then
alternant_multiword_spec.verb_slots_reflexive_verb_form_of = {
{"infinitive_non_reflexive", "-"},
{"infinitive_variant", "-"},
{"gerund_non_reflexive", "-"},
{"gerund_variant", "-"},
}
else
alternant_multiword_spec.verb_slots_reflexive_verb_form_of = {}
end
-- For generating combined forms, i.e. combinations of a basic form (specifically, infinitive, gerund or an
-- imperative form) with a clitic (or in some cases, two clitics). This is a list of lists of the form
-- {BASIC_SLOT, CLITICS} where BASIC_SLOT is the slot to add the clitic pronouns to (e.g. "gerund" or "imp_2s")
-- and CLITICS is a list of the clitic pronouns to add.
alternant_multiword_spec.verb_slot_combined_rows = {}
-- For generating double combined forms (e.g. [[llevándoselo]] or [[dámela]]). This is used by {{es-verb form of}}
-- when it detects that it is being requested to find the inflection tags for a double-combined form. The number of
-- double-combined forms is relatively large, so to optimize this, [[Module:es-inflections]] (which implements
-- {{es-verb form of}}) detects which two clitics are involved, and we only generate double-combined forms
-- involving those two clitics; this is specified using `double_combined_forms_to_include`, passed into
-- do_generate_forms(). The value of this field is a list of lists of the form {SINGLE_COMB_SLOT, CLITICS} where
-- SINGLE_COMB_SLOT is the single-combined slot to add the object clitic pronouns to (e.g. "gerund_comb_se" or
-- "imp_2s_comb_me") and CLITICS is a list of the clitic pronouns to add. CLITICS will normally be a length-one
-- list whose value is one of {"lo", "la", "le", "los", "las", "les"}.
alternant_multiword_spec.verb_slot_double_combined_rows = {}
-- Add entries for a slot with person/number variants.
-- `verb_slots` is the table to add to.
-- `slot_prefix` is the prefix of the slot, typically specifying the tense/aspect.
-- `tag_suffix` is a string listing the set of inflection tags to add after the person/number tags.
-- `person_number_list` is a list of the person/number slot suffixes to add to `slot_prefix`.
local function add_personal_slot(verb_slots, slot_prefix, tag_suffix, person_number_list)
for _, persnum in ipairs(person_number_list) do
local persnum_tag = all_persons_numbers[persnum]
local slot = slot_prefix .. "_" .. persnum
local accel = persnum_tag .. "|" .. tag_suffix
table.insert(verb_slots, {slot, accel})
end
end
-- Add a personal slot (i.e. a slot with person/number variants) to `verb_slots_basic`.
local function add_basic_personal_slot(slot_prefix, tag_suffix, person_number_list, no_special_verb_form_of_slot,
need_variant_slot)
add_personal_slot(alternant_multiword_spec.verb_slots_basic, slot_prefix, tag_suffix, person_number_list)
-- Add special slots for handling non-reflexive parts of reflexive verbs in {{es-verb form of}}.
-- See comment above in `need_special_verb_form_of_slots`.
if need_special_verb_form_of_slots and not no_special_verb_form_of_slot then
for _, persnum in ipairs(person_number_list) do
local persnum_tag = all_persons_numbers[persnum]
local basic_slot = slot_prefix .. "_" .. persnum
local accel = persnum_tag .. "|" .. tag_suffix
table.insert(alternant_multiword_spec.verb_slots_reflexive_verb_form_of, {basic_slot .. "_non_reflexive", "-"})
if need_variant_slot then
table.insert(alternant_multiword_spec.verb_slots_reflexive_verb_form_of, {basic_slot .. "_variant", "-"})
end
end
end
end
add_basic_personal_slot("pres", "pres|ind", person_number_list_voseo)
add_basic_personal_slot("impf", "impf|ind", person_number_list_basic)
add_basic_personal_slot("pret", "pret|ind", person_number_list_basic)
add_basic_personal_slot("fut", "fut|ind", person_number_list_basic)
add_basic_personal_slot("cond", "cond", person_number_list_basic)
add_basic_personal_slot("pres_sub", "pres|sub", person_number_list_voseo)
add_basic_personal_slot("impf_sub_ra", "impf|sub", person_number_list_basic)
add_basic_personal_slot("impf_sub_se", "impf|sub", person_number_list_basic)
add_basic_personal_slot("fut_sub", "fut|sub", person_number_list_basic)
-- Need variant slots because the imperative clitics are suffixed.
add_basic_personal_slot("imp", "imp", imp_person_number_list, nil, "need variant slot")
-- Don't need special non-reflexive-part slots because the negative imperative is multiword, of which the
-- individual words are 'no' + subjunctive.
add_basic_personal_slot("neg_imp", "neg|imp", neg_imp_person_number_list, "no special verb form of")
-- Don't need special non-reflexive-part slots because we don't want [[jambando]] mapping to [[jambándome]]
-- (only [[jambándose]]) or [[jambar]] mapping to [[jambarme]] (only [[jambarse]]).
add_basic_personal_slot("infinitive", "inf", person_number_list_basic, "no special verb form of")
add_basic_personal_slot("gerund", "ger", person_number_list_basic, "no special verb form of")
local third_person_object_clitics = {"lo", "la", "le", "los", "las", "les"}
-- Add combined-form slots.
if not alternant_multiword_spec.nocomb then
-- Add a row of slots representing the combination of a basic slot with a clitic. `basic_slot` is the basic slot
-- descriptor, `tag_prefix` is a string describing the inflection tags of the basic slot, and `personal_clitics`
-- is a list of the personal clitics ("me", "te", "se", "nos" or "os") to add to the basic slot.
local function add_combined_slot_row(basic_slot, tag_prefix, personal_clitics)
-- First, add each individual combined slot to `verb_slots_combined`.
local clitics_with_object = m_table.append(personal_clitics, third_person_object_clitics)
for _, clitic in ipairs(clitics_with_object) do
local slot = basic_slot .. "_comb_" .. clitic
-- You have to pass this through full_link() to get a Spanish-specific link
local accel = tag_prefix .. "|combined with [[" .. clitic .. "]]"
table.insert(alternant_multiword_spec.verb_slots_combined, {slot, accel})
end
-- Also, add the row to `verb_slot_combined_rows`.
table.insert(alternant_multiword_spec.verb_slot_combined_rows, {basic_slot, clitics_with_object})
-- Also do double-combined forms for a specific set of clitics, if requested. See the comment above
-- `verb_slot_double_combined_rows` above.
if alternant_multiword_spec.double_combined_forms_to_include then
-- Add a special "lxx" clitic for le/les when transformed into se in double-combined forms.
local personal_clitics_with_lxx = {unpack(personal_clitics)}
table.insert(personal_clitics_with_lxx, "lxx")
for _, personal_clitic in ipairs(personal_clitics_with_lxx) do
for _, object_clitic in ipairs(third_person_object_clitics) do
for _, form_to_include in ipairs(alternant_multiword_spec.double_combined_forms_to_include) do
local to_include_personal_clitic, to_include_object_clitic = unpack(form_to_include)
if personal_clitic == to_include_personal_clitic and object_clitic == to_include_object_clitic then
local single_comb_slot = basic_slot .. "_comb_" .. personal_clitic
local slot = single_comb_slot .. "_" .. object_clitic
accel_clitic = personal_clitic == "lxx" and "[[le]]/[[les]]" or "[[" .. personal_clitic .. "]]"
local accel = tag_prefix .. "|combined with indirect object " .. accel_clitic .. " and direct object [[" ..
object_clitic .. "]]"
table.insert(alternant_multiword_spec.verb_slots_combined, {slot, accel})
table.insert(alternant_multiword_spec.verb_slot_double_combined_rows,
{single_comb_slot, {object_clitic}})
break
end
end
end
end
end
end
add_combined_slot_row("infinitive", "inf", {"me", "te", "se", "nos", "os"})
add_combined_slot_row("gerund", "gerund", {"me", "te", "se", "nos", "os"})
local function add_combined_imp_slot_row(persnum, personal_clitics)
add_combined_slot_row("imp_" .. persnum, all_persons_numbers[persnum] .. "|imp", personal_clitics)
end
add_combined_imp_slot_row("2s", {"me", "te", "nos"})
add_combined_imp_slot_row("2sv", {"me", "te", "nos"})
add_combined_imp_slot_row("3s", {"me", "se", "nos"})
add_combined_imp_slot_row("1p", {"te", "nos", "os"})
add_combined_imp_slot_row("2p", {"me", "nos", "os"})
add_combined_imp_slot_row("3p", {"me", "se", "nos"})
end
-- Generate the list of all slots.
alternant_multiword_spec.all_verb_slots = {}
for _, slot_and_accel in ipairs(alternant_multiword_spec.verb_slots_basic) do
table.insert(alternant_multiword_spec.all_verb_slots, slot_and_accel)
end
for _, slot_and_accel in ipairs(alternant_multiword_spec.verb_slots_combined) do
table.insert(alternant_multiword_spec.all_verb_slots, slot_and_accel)
end
for _, slot_and_accel in ipairs(alternant_multiword_spec.verb_slots_reflexive_verb_form_of) do
table.insert(alternant_multiword_spec.all_verb_slots, slot_and_accel)
end
alternant_multiword_spec.verb_slots_basic_map = {}
for _, slotaccel in ipairs(alternant_multiword_spec.verb_slots_basic) do
local slot, accel = unpack(slotaccel)
alternant_multiword_spec.verb_slots_basic_map[slot] = accel
end
alternant_multiword_spec.verb_slots_combined_map = {}
for _, slotaccel in ipairs(alternant_multiword_spec.verb_slots_combined) do
local slot, accel = unpack(slotaccel)
alternant_multiword_spec.verb_slots_combined_map[slot] = accel
end
end
-- Return true if `form` is accented and is likely monosyllabic. Used in remove_monosyllabic_accents(); if true, we
-- run the syllabification algorithm to determine the syllable count, and if monosyllabic, remove the accent. Also used
-- in conjunction with user-specified form overrides to add an asterisk to prevent accents from being removed.
local function may_need_monosyllabic_accent_removed(form)
return not rfind(form, "^%-") and rfind(form, AV) and not rfind(form, V .. C .. V)
end
local overridable_stems = {}
-- If `add_monosyllabic_asterisk` is given, add a * to accented forms that may be monosyllabic to prevent the accent
-- from being removed in remove_monosyllabic_accents().
local function allow_multiple_values_for_override(separated_groups, data, add_monosyllabic_asterisk)
local retvals = {}
for _, separated_group in ipairs(separated_groups) do
local footnotes = data.fetch_footnotes(separated_group)
local form = separated_group[1]
if add_monosyllabic_asterisk and may_need_monosyllabic_accent_removed(form) then
form = form .. "*"
end
-- Add suppress_prefix to prevent the built-in verb prefix from being added to the override.
local retval = {form = form, footnotes = footnotes, suppress_prefix = true}
table.insert(retvals, retval)
end
return retvals
end
local function simple_choice(choices)
return function(separated_groups, data)
if #separated_groups > 1 then
data.parse_err("For spec '" .. data.prefix .. ":', only one value currently allowed")
end
if #separated_groups[1] > 1 then
data.parse_err("For spec '" .. data.prefix .. ":', no footnotes currently allowed")
end
local choice = separated_groups[1][1]
if not m_table.contains(choices, choice) then
data.parse_err("For spec '" .. data.prefix .. ":', saw value '" .. choice .. "' but expected one of '" ..
table.concat(choices, ",") .. "'")
end
return choice
end
end
for _, overridable_stem in ipairs {
"pres_unstressed",
"pres_stressed",
"pres1_and_sub",
-- Don't include pres1; use pres_1s if you need to override just that form
"impf",
"full_impf",
"pret",
{"pret_conj", simple_choice({"irreg", "ar", "er", "ir"}) },
"fut",
"cond",
"pres_sub_stressed",
"pres_sub_unstressed",
"impf_sub_ra",
"impf_sub_se",
"fut_sub",
"pp",
} do
if type(overridable_stem) == "string" then
overridable_stems[overridable_stem] = allow_multiple_values_for_override
else
local stem, validator = unpack(overridable_stem)
overridable_stems[stem] = validator
end
end
local function match_against_verbs(ref_verb, prefixes)
return function(verb)
for _, prefix in ipairs(prefixes) do
if verb == prefix .. ref_verb then
return prefix, ref_verb
end
end
return nil
end
end
--[=[
Special cases for verbs:
diluviar, atardecer: impersonal; all finite non-3s forms are nonexistent or hypothetical. Handle using
'.only3s'.
empecer, atañer, concernir: all finite non-third-person forms are nonexistent or hypothetical. Handle using '.only3sp'.
desnacer: Former module claimed an irregular past participle 'desnato'. Verb is not in RAE at all and barely exists;
unlikely to have irregular past participle.
desposeer: Former module claimed an irregular past participle 'desposeso'. Not per RAE.
valer: Former module claimed an irregular imperative 'val'. Not per RAE.
manumitir: Former module claimed an irregular past participle 'manumiso'. Not per RAE.
raer: Former module claimed a pres 1sg rao. Not per RAE.
rehuir: Handle using +ú.
sustituir: Former module claimed an irregular past participle 'sustituto'. Not per RAE.
venir: Former module claimed an irregular clitic combination ven + nos -> venos. Not per native speakers.
---------
Verbs to check: rehuir (+ú), prohibir (+í), reunir (+ú)
---------
-ir verbs:
There are several types of vowel alternations:
1. No alternation. Includes some verbs in -e- and -o-, e.g. aterir(se) (no_pres_stressed), tra(n)sgredir
(pres_stressed forms rare), abolir (pres_stressed forms rare), colorir (no_pres_stressed), sumergir, divergir,
convergir, arrecir (no_pres_stressed), rostir, polir (obsolete), condir (obsolete), possibly ascondir (obsolete),
atordir (obsolete), sacodir (obsolete), sobrevendir (possible misspelling), empedernir (no_pres_stressed),
decebir (obsolete; possibly actually like concebir, i.e. decibo not decebo),
premir (obsolete), expremir (obsolete), exir (obsolete), escreuir (obsolete; fix conjugation), escrebir (obsolete),
agredir; sometimes the stressed forms are rare or disused. (Also embaír, desvaír are no_pres_stressed.)
2a. ie: Infinitive has -e-, changing to -ie- when stressed. No raising before i+V. Only hendir, cernir, discernir,
concernir (only3sp); discernir -> discierno, discerniendo, discernió, discernamos.
2b. ye: Infinitive has -e-, changing to -ye- when stressed. No raising before i+V. Does not occur (cf. errar).
3a. ie-i: Infinitive has -e- or -i-, changing to -ie- when stressed. Raising before i+V and 1p/2p pres subjunctive:
sentir -> siento, sintiendo, sintió, sintamos.
adquirir -> adquiero, adquiriendo, adquirió, adquiramos.
3b. ye-i: Infinitive has -e-, changing to -ye- when stressed. Raising before i+V and 1p/2p pres subjunctive.
Only erguir: erguir -> yergo, irguiendo, irguió, irgamos.
4. i: Infinitive has -e-, changing to -i- when stressed. Raising before i+V and 1p/2p pres subjunctive:
vestir -> visto, vistiendo, vistió, vistamos. Variant: ceñir -> ciño, ciñendo, ciñó, ciñamos.
NOTE: preterir (no_pres_stressed).
5. ue-u: Infinitive has -o-, changing to -ue- when stressed. Raising before i+V and 1p/2p pres subjunctive:
Only dormir, morir and compounds. dormir -> duermo, durmiendo, durmió, durmamos.
6. ue: This type would be parallel to 'ie' but doesn't appear to exist.
---------
Verbs to fix (extra forms need to be excised or deleted): The above verbs under type (1) -ir vowel alternations;
[[neviscar]] (impersonal), [[acaecer]] (third-person only), [[acontecer]] (third-person only),
[[cellisquear]] (impersonal), [[pintear]] (impersonal? other meaning "to play hookey" given, not in RAE),
[[diluviar]] (impersonal). [[desabrir]] (not like abrir, rare in pres_stressed/sub forms), [[jabrir]]
(not like abrir).
Verbs with existing errors:
* [[abeldar]]: (missing <ie>) [FORMS TO DELETE]
* [[acaecer]]: (used only in 3rd person) [DELETE ALL FIRST AND SECOND PERSON FORMS]
* [[acontecer]]: (used only in 3rd person) [DELETE ALL FIRST AND SECOND PERSON FORMS]
* [[anticuar]] (conjugated without ú) [FORMS TO DELETE]
* [[antojar]]: (used only in 3rd person) [DELETE ALL FIRST AND SECOND PERSON FORMS]
* [[aerografiar]]: (conjugated without í) [FORMS TO DELETE]
* [[afiliar]]: (conjugated with í/+ should be only +) [FORMS TO DELETE]
* [[agraviar]]: (wrongly has í) [FORMS TO DELETE]
* [[arrecir]]: (not given as no_pres_stressed) [FORMS TO DELETE]
* [[aserrar]]: (missing <ie>) [FORMS TO DELETE]
* [[aspaventar]]: (missing <ie>) [OK]
* [[atesar]]: (wrongly has ie) [FORMS TO DELETE]
* [[avalentar]]: (wrongly has ie) [FORMS TO DELETE]
* [[autorregularse]] (conjugated as non-reflexive) [OK]
* [[auxiliar]]: (conjugated with í/+ should be only +) [FORMS TO DELETE]
* [[balbucir]] (pres1_and_sub nonexistent) [DELETE PRES1_AND_SUB FORMS]
* [[caçar]] (conjugated as -zar) [OK]
* [[calefacer]] (extra form caleface) [FIX]
* [[cellisquear]]: (used only in 3rd person singular) [DELETE ALL FIRST AND SECOND PERSON FORMS, ALL 3RD PLURAL FORMS AND ALL PP NON-MS FORMS]
* [[chilenizar]] (conjugated with no cons alternation) [OK]
* [[colorir]]: (not given as no_pres_stressed) [FORMS TO DELETE]
* [[comisariar]] (conjugated without í) [FORMS TO DELETE]
* [[complacer]] (missing complega in imperative 3s) [OK]
* [[comprehender]] (conjugated as comprender) [OK]
* [[decebir]] (was conjugated without <i>) [FORMS TO DELETE]
* [[desafiliar]]: (conjugated with í/+ should be only +) [FORMS TO DELETE]
* [[desagregar]] (conjugated with no cons alternation) [FORMS TO DELETE]
* [[desairar]]: (conjugated with í should be only +) [FORMS TO DELETE]
* [[descordar]]: (missing <ue>) [FORMS TO DELETE]
* [[deseleccionar]] (conjugated as desseleccionar) [OK]
* [[desestacionalizar]] (conjugated with no cons alternation) [FORMS TO DELETE]
* [[desgonzar]] (conjugated with no cons alternation) [FORMS TO DELETE]
* [[desguinzar]] (conjugated with no cons alternation) [FORMS TO DELETE]
* [[deshacer]] (extra form deshace, desháceme etc.) [OK]
* [[desnacer]] (extra form desnato etc.) [DELETE PP FORMS]
* [[desposeer]] (extra form desposeso etc.) [DELETE PP FORMS]
* [[dezmar]]: (wrongly has ie) [FORMS TO DELETE]
* [[diluviar]]: (used only in 3rd person singular) [DELETE ALL FIRST AND SECOND PERSON FORMS, ALL 3RD PLURAL FORMS AND ALL PP NON-MS FORMS]
* [[draftear]] (extraneous param lang=es) [REMOVE PARAM]
* [[ejemplarizar]] (extraneous param compound=1) [compound -> combined]
* [[ejercitar]] (extraneous param compound=1) [compound -> combined]
* [[empecer]] (empezca has imperatives, 1s in its verb form entry) [FIX]
* [[encentar]]: (wrongly has ie) [OK]
* [[encubertar]]: (wrongly has ie) [FORMS TO DELETE]
* [[entrechocar]] (conjugated with no cons alternation) [FORMS TO DELETE]
* [[entredecir]] (imp_2s has entredice should be entredí; extra future/cond forms entredeciré etc.) [FORMS TO DELETE/FIX]
* [[escenografiar]]: (conjugated without í) [FORMS TO DELETE]
* [[estar]] (incorrect combined forms, e.g. éstela instead of estela) [OK]
* [[extasiar]]: (conjugated with í/+ should be only í) [FORMS TO DELETE]
* [[facer]] (extra form face, fáceme, etc.) [FIX]
* [[ferrar]]: (missing <ie>) [FORMS TO DELETE]
* [[gloriar]]: (conjugated with í/+ should be only í) [FORMS TO DELETE]
* [[hacer]] (extra form hace, háceme, etc.) [DELETE hácete]
* [[homogeneizar]] (extra form homogeneízo) [DELETE homogeneízo, homogeneízas, homogeneíza, homogeneízan, homogeneícen, homogeneícemos]
* [[incensar]]: (missing <ie>) [FORMS TO DELETE]
* [[ir]] (extraneous param aux=ser) [REMOVE PARAM]
* [[jacer]] (extra form jace, jáceme, etc.) [FIX]
* [[jarrear]] (extraneous param impersonal=yes)
* [[litografiar]]: (conjugated without í) [FORMS TO DELETE]
* [[manumitir]] (extra form manumiso, etc.) [FIX; is an adjective]
* [[mecanografiar]]: (conjugated without í) [FORMS TO DELETE]
* [[mordiscar]] (conjugated with no cons alternation) [FORMS TO DELETE]
* [[neviscar]]: (used only in 3rd person singular) [DELETE ALL FIRST AND SECOND PERSON FORMS, ALL 3RD PLURAL FORMS AND ALL PP NON-MS FORMS]
* [[obsipar]] (conjugated as obispar) [DELETE VERB]
* [[obstar]]: (used only in 3rd person) [DELETE ALL FIRST AND SECOND PERSON FORMS]
* [[orificar]] (conjugated as orificiar) [OK]
* [[complacer]], [[placer]] (missing plega in imperative 3s, etc.) [OK]
* [[prevaler]] (extra form preval, incorrect form prévalme etc.) [DELETE preval]
* [[preterir]]: (not given as no_pres_stressed) [FORMS TO DELETE]
* [[raer]] (extra form rao) [DELETE rao]
* [[rebordar]] (extraneous param lang=es) [REMOVE PARAM]
* [[redecir]] (incorrect imp_2s redice instead of redí) [FIX]
* [[reinstitucionalizar]] (conjugated with no cons alternation) [FORMS TO DELETE]
* [[reirse]] [DELETE]
* [[serigrafiar]]: (conjugated without í) [FORMS TO DELETE]
* [[sobresalir]] (incorrect combined forms e.g. sobrésalme) [OK]
* [[superpoblar]] (missing <ue>) [FORMS TO DELETE]
* [[sustituir]] (extra form sustituto, etc.) [OK]
* [[usucapir]]: (used only in inf and pp) [DELETE ALL FORMS BUT PP]
* [[valefacer]] (extra form valeface) [FIX]
* [[valer]] (extra form val, etc.) [OK]
* LOTS OF COMBINED FORMS OF VERBS IN -iar, -uar, -ai-, -au-, -ei-, -eu-, etc.
Example: afeitar (afeítate, afeítese, afeítense). Need a script to find them.
* [[acostar]]: normally <ue> but in meaning "arrive at the coast", <>
* [[adecuar]]: <+,ú>
* [[aerografiar]]: <í>
* [[aferrar]]: <+,ie[obsolete]>
* [[afiliar]]: <>
* [[aforar]]: in meaning "to gauge, to measure": <>; in meaning "otorgar fuero": <ue>
* [[arrecir]]: <no_pres_stressed>
* [[agraviar]]: <>
* [[agriar]]: <í,+>
* [[aserrar]]: <ie>
* [[asolar]]: in meaning "destroy": <ue,+>; in meaning "to dry up": <>
* [[aspaventar]]: <ie>
* [[atentar]]: in meaning "to commit a crime" does not have vowel alt
* [[atesar]]: <>; possibly <ie> in obsolete meaning "atiesar"
* [[atestar]]: in meaning "to pack": <ie,+>; in meaning "testify": <>
* [[autoevacuarse]]: <+,ú>
* [[auxiliar]]: <>
* [[avalentar]]: <>
* [[cimentar]]: <ie,+>
* [[colar]]: most meanings <ue> but "canonically confer (an ecclesiastical benefit)" <>
* [[colorir]]: <no_pres_stressed>
* [[comisariar]]: <í>
* [[desafiliar]]: <>
* [[desaforar]]: "to deprive of fuero": <ue,+[less common]>
* [[desairar]]: <>
* [[desolar]]: <ue,+>
* [[desmembrar]]: <ie,+>
* [[dezmar]]: <>
* [[ejecutoriar]]: <í,+>
* [[emparentar]]: <ie,+>
* [[encentar]]: <>
* [[encubertar]]: <>
* [[engrosar]]: <ue,+>
* [[escenografiar]]: <í>
* [[evacuar]]: <+,ú>
* [[expatriar]]: <í,+>
* [[extasiar]]: <í>
* [[ferrar]]: <ie>
* [[follar]]: <ue>
* [[gloriar]]: <í>
* [[hibernar]]: no vowel alt or e-ie; e-ie not in RAE, ask about it
* [[historiar]]: <í,+>
* [[incensar]]: <ie>
* [[invernar]]: <ie,+>
* [[licuar]]: <+,ú>
* [[litografiar]]: <í>
* [[mecanografiar]]: <í>
* [[paliar]]: <í,+>
* [[preterir]]: <i.no_pres_stressed>
* [[promiscuar]]: <+,ú>
* [[readecuar]]: <+,ú>
* [[repatriar]]: <í,+>
* [[retrocar]]: <ue,+>
* [[serigrafiar]]: <í>
* [[soterrar]]: <ie,+>
* [[superpoblar]]: <ue>
* [[templar]]: <+,ie[in some parts of Latin America]>
* [[vidriar]]: <í,+>
Second round of verbs to fix:
* [[apropriar]]: forms point to reflexive [FORMS TO FIX]
* [[autogobernarse]]: (missing <ie>) [FORMS TO DELETE]
* [[autorreproducirse]]: (wrongly had regular preterite and impf/fut sub) [FORMS TO DELETE]
* [[aventarse]]: (missing <ie>) [FORMS TO DELETE]
* [[aventar]]: forms point to reflexive [FORMS TO FIX]
* [[culiar]]: yo culio or culío? [VERIFY]
* [[desnacer]]: delete [[dasnatos]]
* [[poseer]]: delete [[posesa]], [[posesos]], [[posesas]]
* [[reproducir]]: (wrongly had regular preterite and impf/fut sub) [FORMS TO DELETE]
* [[trasgredir]]: (wrongly had <i>) [FORMS TO DELETE]
---------
Irregular conjugations.
Each entry is processed in turn and consists of an object with two fields:
1. match=: Specifies the irregular verbs that match this object.
2. forms=: Specifies the irregular stems and forms for these verbs.
The value of match= is either a string beginning with "^" (match only the specified verb), a string not beginning
with "^" (match any verb ending in that string), or a function that is passed in the verb and should return the
prefix of the verb if it matches, otherwise nil. The function match_against_verbs() is provided to facilitate matching
a set of verbs with a common ending and specific prefixes (e.g. [[andar]] and [[desandar]] but not [[mandar]], etc.).
The value of forms= is a table specifying stems and individual override forms. Each key of the table names either a
stem (e.g. `pres_stressed`), a stem property (e.g. `vowel_alt`) or an individual override form (e.g. `pres_1s`).
Each value of a stem can either be a string (a single stem), a list of strings, or a list of objects of the form
{form = STEM, footnotes = {FOONOTES}}. Each value of an individual override should be of exactly the same form except
that the strings specify full forms rather than stems. The values of a stem property depend on the specific property
but are generally strings or booleans.
In order to understand how the stem specifications work, it's important to understand the phonetic modifications done
by combine_stem_ending(). In general, the complexities of predictable stem and ending modifications are all handled
in this function. In particular:
1. Spelling-based modifications (c/z, g/gu, gu/gü, g/j) occur automatically as appropriate for the ending.
2. Raising of e -> i, o -> u in -ir verbs before an ending beginning with i + vowel, as well as in the 1p/2p forms of
the present subjunctive (dormir -> durmiendo, durmió, durmamos), are handled here. Raising happens only for -ir
verbs and only when the stem setting `raising_conj` is true (which is normally set to true when vowel alternations
`ie-i`, `ye-i`, `ue-u`, `i`, `í` or `ú` are specified).
3. Numerous modifications are automatically made before an ending beginning with i + vowel. These include:
a. final -i of stem absorbed: sonreír -> sonrió, sonriera, sonriendo;
b. in the preterite of irregular verbs (likewise for other tenses derived from the preterite stem, i.e. imperfect
and and future subjunctive), initial i absorbed after j and u (dijeron not #dijieron, likewise for condujeron,
trajeron; also fueron not #fuyeron). This happens only when stem setting `pret_conj` == "irreg"; this must be set
explicitly by irregular verbs. Does not apply everywhere because of cases like regular [[tejer]] (tejieron not
#tejeron), regular [[concluir]] (concluyeron not #conclueron).
c. initial i of ending -> y after vowel and word-initially: poseer -> poseyó, poseyera, poseyendo; ir -> yendo;
d. initial i of ending -> y after gü, which becomes gu: argüir -> arguyó, arguyera, arguyendo;
e. initial i of ending absorbed after ñ, ll, y: tañer -> tañó, tañera, tañendo; bullir -> bulló, bullera, bullendo
4. If the ending begins with (h)i, it gets an accent after a/e/i/o to prevent the two merging into a diphthong:
caer -> caíste, caímos; reír -> reíste, reímos (pres and pret). This does not apply after u, e.g.
concluir -> concluiste, concluimos.
5. In -uir verbs (i.e. -ir verbs with stem ending in -u), a y is added before endings beginning with a/e/o:
concluir -> concluyo, concluyen, concluya, concluyamos. Note that preterite concluyó, gerund concluyendo, etc.
are handled by a different rule above (3b).
The following stems are recognized:
-- pres_unstressed: The present indicative unstressed stem (2s voseo, 1p, 2p). Also controls the imperative 2p
and gerund. Defaults to the infinitive stem.
-- pres_stressed: The present indicative stressed stem (1s, 2s, 3s, 3p). Also controls the imperative 2s.
Default is empty if indicator `no_pres_stressed`, else a vowel alternation if such an indicator is given
(e.g. `ue`, `ì`), else the infinitive stem.
-- pres1_and_sub: Overriding stem for 1s present indicative and the entire subjunctive. Only set by irregular verbs
and by the indicator `no_pres_stressed` (since verbs of this sort, e.g. [[aterir]], are missing the entire
subjunctive as well as the forms with stressed root). Used by many irregular verbs, e.g. [[caer]], [[roer]],
[[salir]], [[tener]], [[valer]], [[venir]], etc. Some verbs set this and then supply an override for the pres_1sg
if it's irregular, e.g. [[saber]], with irregular subjunctive stem "sep-" and special 1s present indicative "sé*"
(the * indicates that the monosyllabic accent should not be removed).
-- pres1: Special stem for 1s present indicative. Normally, do not set this explicitly. If you need to specify an
irregular 1s present indicative, use the form override pres_1s= to specify the entire form. Defaults to
pres1_and_sub if given, else pres_stressed.
-- pres_sub_unstressed: The present subjunctive unstressed stem (1p, 2p, also 2s voseo for -ar verbs). Defaults to
pres1_and_sub if given, else the infinitive stem.
-- pres_sub_stressed: The present subjunctive stressed stem (1s, 2s, 3s, 1p, also 2s voseo for -er/-ir verbs). Defaults
to pres1.
-- impf: The imperfect stem. Defaults to the infinitive stem.
-- pret: The preterite stem. Defaults to the infinitive stem.
-- pret_conj: Determines the set of endings used in the preterite. Should be one of "ar", "er", "ir" or "irreg".
Defaults to the conjugation as determined from the infinitive.
-- fut: The future stem. Defaults to the infinitive stem.
-- cond: The conditional stem. Defaults to fut.
-- impf_sub_ra: The imperfect subjunctive -ra stem. Defaults to the preterite stem.
-- impf_sub_se: The imperfect subjunctive -se stem. Defaults to the preterite stem.
-- fut_sub: The future subjunctive stem. Defaults to the preterite stem.
-- pp: The past participle stem. Default is based on the verb conjugation: infinitive stem + "ad" for -ar verbs,
otherwise infinitive stem + "id".
]=]
local built_in_conjugations = {
{
-- andar, desandar
-- we don't want to match e.g. mandar.
match = match_against_verbs("andar", {"", "des"}),
forms = {pret = "anduv", pret_conj = "irreg"}
},
{
-- asir, desasir
match = "asir",
-- use 'asgu' because we're in a front environment; if we use 'asg', we'll get '#asjo'
forms = {pres1_and_sub = "asgu"}
},
{
-- abrir, cubrir and compounds
match = function(verb)
local prefix, base_verb = rmatch(verb, "^(.*)(brir)$")
-- Only match abrir, cubrir and compounds, and don't match desabrir/jabrir
if not prefix then
return nil
elseif not prefix:find("a$") and not prefix:find("cu$") then
return nil
elseif prefix == "desa" or prefix == "ja" then
return nil
else
return prefix, base_verb
end
end,
forms = {pp = "biert"}
},
{
match = "caber",
forms = {pres1_and_sub = "quep", pret = "cup", pret_conj = "irreg", fut = "cabr"}
},
{
-- caer, decaer, descaer, recaer
match = "caer",
-- use 'caigu' because we're in a front environment; if we use 'caig', we'll get '#caijo'
forms = {pres1_and_sub = "caigu"}
},
{
-- cocer, escocer, precocer, etc.
match = "cocer",
-- override cons_alt, otherwise the verb would be categorized as a c-zc alternating verb
forms = {vowel_alt = "ue", pres1 = "cuez", pres_sub_unstressed = "coz", cons_alt = "c-z"}, -- not cozco, as would normally be generated
},
{
-- dar, desdar
match = match_against_verbs("dar", {"", "des"}),
forms = {
-- we need to override various present indicative forms and add an accent for the compounds;
-- not needed for the simplex and in fact the accents will be removed in that case
pres_1s = "doy",
pres_2s = "dás",
pres_3s = "dá",
pres_2p = "dáis",
pres_3p = "dán",
pret = "d", pret_conj = "er",
pres_sub_1s = "dé*", -- * signals that the monosyllabic accent must remain
pres_sub_2s = "dés",
pres_sub_3s = "dé*",
pres_sub_2p = "déis",
pres_sub_3p = "dén",
imp_2s = "dá",
}
},
{
-- decir, redecir, entredecir
match = match_against_verbs("decir", {"", "re", "entre"}),
forms = {
-- for this and variant verbs in -decir, we set cons_alt to false because we don't want the
-- verb categorized as a c-zc alternating verb, which would happen by default
-- use 'digu' because we're in a front environment; if we use 'dig', we'll get '#dijo'
pres1_and_sub = "digu", vowel_alt = "i", cons_alt = false, pret = "dij", pret_conj = "irreg",
pp = "dich", fut = "dir",
imp_2s = "dí" -- need the accent for the compounds; it will be removed in the simplex
}
},
{
-- antedecir, interdecir
match = match_against_verbs("decir", {"ante", "inter"}),
forms = {
pres1_and_sub = "digu", vowel_alt = "i", cons_alt = false, pret = "dij", pret_conj = "irreg",
pp = "dich", fut = "dir" -- imp_2s regular
}
},
{
-- bendecir, maldecir
match = match_against_verbs("decir", {"ben", "mal"}),
forms = {
pres1_and_sub = "digu", vowel_alt = "i", cons_alt = false, pret = "dij", pret_conj = "irreg",
pp = {"decid", "dit"} -- imp_2s regular, fut regular
}
},
{
-- condecir, contradecir, desdecir, predecir, others?
match = "decir",
forms = {
pres1_and_sub = "digu", vowel_alt = "i", cons_alt = false, pret = "dij", pret_conj = "irreg",
pp = "dich", fut = {"decir", "dir"} -- imp_2s regular
}
},
{
match = "^desvaír",
forms = {
pres_2s = "desvaes",
pres_3s = "desvae",
pres_3p = "desvaen",
imp_2s = "desvae"
}
},
{
-- conducir, producir, reducir, traducir, etc.
match = "ducir",
forms = {pret = "duj", pret_conj = "irreg"}
},
{
-- elegir, reelegir; not preelegir, per RAE
match = match_against_verbs("elegir", {"", "re"}),
forms = {vowel_alt = "i", pp = {"elegid", "elect"}}
},
{
-- erguir
match = "^erguir",
forms = {
vowel_alt = {"i", "ye-i"},
-- We would not need to make this verb irregular except for the alternative unstressed present subjunctive forms
-- in yerg-. We can't use pres_sub_unstressed = {"irgu", "yergu"} because the "i" and "ye-i" vowel alternations
-- are e->i raising in the unstressed present subjunctive and we wrongly get irgamos/yirgamos etc.
pres_sub_2sv = {"irgás", "yergás"},
pres_sub_1p = {"irgamos", "yergamos"},
pres_sub_2p = {"irgáis", "yergáis"},
},
},
{
match = "^estar",
forms = {
pres_1s = "estoy",
pres_2s = "estás",
pres_2sv = "estás",
pres_3s = "está",
pres_3p = "están",
pret = "estuv",
pret_conj = "irreg",
pres_sub_1s = "esté",
pres_sub_2s = "estés",
pres_sub_2sv = "estés",
pres_sub_3s = "esté",
pres_sub_3p = "estén",
imp_2s = "está",
imp_2sv = "está",
}
},
{
-- freír, refreír
match = "freír",
forms = {vowel_alt = "í", pp = {"freíd", "frit"}}
},
{
match = "garantir",
forms = {
pres_stressed = {{form = "garant", footnotes = {"[only used in Argentina and Uruguay]"}}},
pres1_and_sub = {{form = "garant", footnotes = {"[only used in Argentina and Uruguay]"}}},
}
},
{
match = "^haber",
forms = {
pres_1s = "he",
pres_2s = "has",
pres_2sv = "has",
pres_3s = {"ha", {form = "hay", footnotes = {"[used impersonally]"}}},
pres_1p = "hemos",
pres_3p = "han",
pres1_and_sub = "hay", -- only for subjunctive as we override pres_1s
pret = "hub",
pret_conj = "irreg",
imp_2s = {"habe", "he"},
imp_2sv = {"habe", "he"},
fut = "habr",
}
},
{
match = "satisfacer",
forms = {
-- see below for cons_alt setting and pres1_and_sub setting
pres1_and_sub = "satisfagu", cons_alt = false, pret = "satisfic", pret_conj = "irreg",
pp = "satisfech", fut = "satisfar", imp_2s = {"satisface", "satisfaz"}
}
},
{
match = match_against_verbs("hacer", {"contra", "re"}),
-- contrahacer/rehacer require an extra accent in the preterite (rehíce, rehízo).
forms = {
-- see below for cons_alt setting and pres1_and_sub setting
pres1_and_sub = "hagu", cons_alt = false,
pret = "hic", pret_1s = "híce", pret_3s = "hízo", pret_conj = "irreg",
pp = "hech", fut = "har", imp_2s = "haz"
}
},
{
-- hacer, deshacer, contrahacer, rehacer, facer, desfacer, jacer
match = function(verb) return rmatch(verb, "^(.*[hjf])(acer)$") end,
forms = {
-- for these verbs, we set cons_alt to false because we don't want the verb categorized as a
-- c-zc alternating verb, which would happen by default
-- use 'agu' because we're in a front environment; if we use 'ag', we'll get '#hajo'
pres1_and_sub = "agu", cons_alt = false, pret = "ic", pret_conj = "irreg", pp = "ech",
fut = "ar", imp_2s = "az"
}
},
{
-- imprimir, reimprimir
match = "imprimir",
forms = {pp = {"imprimid", "impres"}}
},
{
-- infecir
match = "infecir",
-- override cons_alt, otherwise the verb would be categorized as a c-zc alternating verb
forms = {vowel_alt = "i", pres1 = "infiz", pres_sub_unstressed = "infez", cons_alt = "c-z"}, -- not infizco, as would normally be generated
},
{
match = "infecir",
-- override cons_alt, otherwise the verb would be categorized as a c-zc alternating verb
forms = {pres1_and_sub = "infez", cons_alt = "c-z"}, -- not mezco, as would normally be generated
},
{
match = "^ir",
forms = {
pres_1s = "voy",
pres_2s = "vas",
pres_2sv = "vas",
pres_3s = "va",
pres_1p = "vamos",
pres_2p = "vais",
pres_3p = "van",
pres1_and_sub = "vay", -- only for subjunctive as we override pres_1s
full_impf = "ib",
impf_1p = "íbamos",
pret = "fu",
pret_conj = "irreg", -- this signals that fu + -ieron -> fueron not fuyeron
pret_1s = "fui",
pret_3s = "fue",
imp_2s = "ve",
imp_2sv = "andá",
imp_1p = {"vamos", "vayamos"},
refl_imp_2p = {"idos", "iros"},
imp_2p_comb_os = {"idos", "iros"},
}
},
{
-- mecer, remecer
-- we don't want to match e.g. adormecer, estremecer
match = match_against_verbs("mecer", {"re", ""}),
-- override cons_alt, otherwise the verb would be categorized as a c-zc alternating verb
forms = {pres1_and_sub = "mez", cons_alt = "c-z"}, -- not mezco, as would normally be generated
},
{
-- morir, desmorir, premorir
match = "morir",
forms = {vowel_alt = "ue-u", pp = "muert"},
},
{
-- oír, desoír, entreoír, trasoír
match = "oír",
-- use 'oigu' because we're in a front environment; if we use 'oig', we'll get '#oijo'
forms = {pres1_and_sub = "oigu"}
},
{
match = "olver", -- solver, volver, bolver and derivatives
forms = {vowel_alt = "ue", pp = "uelt"}
},
{
-- placer, desplacer
match = "placer",
forms = {
pret_3s = {"plació", {form = "plugo", footnotes = {"[archaic]"}}},
pret_3p = {"placieron", {form = "pluguieron", footnotes = {"[archaic]"}}},
pres_sub_3s = {"plazca", {form = "plega", footnotes = {"[archaic]"}}, {form = "plegue", footnotes = {"[archaic]"}}},
impf_sub_ra_3s = {"placiera", {form = "pluguiera", footnotes = {"[archaic]"}}},
impf_sub_ra_3p = {"placieran", {form = "pluguieran", footnotes = {"[archaic]"}}},
impf_sub_se_3s = {"placiese", {form = "pluguiese", footnotes = {"[archaic]"}}},
impf_sub_se_3p = {"placiesen", {form = "pluguiesen", footnotes = {"[archaic]"}}},
fut_sub_3s = {"placiere", {form = "pluguiere", footnotes = {"[archaic]"}}},
fut_sub_3p = {"placieren", {form = "pluguieren", footnotes = {"[archaic]"}}},
}
},
{
match = "poder",
forms = {vowel_alt = "ue", pret = "pud", pret_conj = "irreg", fut = "podr", gerund = "pudiendo"}
},
{
-- poner, componer, deponer, imponer, oponer, suponer, many others
match = "poner",
forms = {
-- use 'pongu' because we're in a front environment; if we use 'pong', we'll get '#ponjo'
pres1_and_sub = "pongu", pret = "pus", pret_conj = "irreg", fut = "pondr", pp = "puest",
imp_2s = "pón" -- need the accent for the compounds; it will be removed in the simplex
}
},
{
-- proveer, desproveer
match = "proveer",
forms = {pp = {"provist", "proveíd"}},
},
{
match = "pudrir",
forms = {pp = "podrid"}
},
{
-- querer, desquerer, malquerer
match = "querer",
forms = {vowel_alt = "ie", pret = "quis", pret_conj = "irreg", fut = "querr"}
},
{
match = "^raer",
-- use 'raigu' because we're in a front environment; if we use 'raig', we'll get '#raijo'
forms = {pres1_and_sub = {"raigu", "ray"}}
},
{
-- roer, corroer
match = "roer",
-- use 'roigu' because we're in a front environment; if we use 'roig', we'll get '#roijo'
forms = {pres1_and_sub = {"ro", "roigu", "roy"}}
},
{
-- romper, entrerromper, arromper, derromper; not corromper; FIXME: not sure about interromper (obsolete)
match = function(verb)
local prefix, base_verb = rmatch(verb, "^(.*)(romper)$")
-- Don't match corromper
if prefix == "cor" then
return nil
else
return prefix, base_verb
end
end,
forms = {pp = "rot"}
},
{
-- saber, resaber
match = "saber",
forms = {
pres_1s = "sé*", -- * signals that the monosyllabic accent must remain
pres1_and_sub = "sep", -- only for subjunctive as we override pres_1s
pret = "sup",
pret_conj = "irreg",
fut = "sabr",
}
},
{
match = "salir",
forms = {
-- use 'salgu' because we're in a front environment; if we use 'salg', we'll get '#saljo'
pres1_and_sub = "salgu", fut = "saldr", imp_2s = "sal",
-- These don't exist per the RAE.
imp_2s_comb_lo = {}, imp_2s_comb_los = {}, imp_2s_comb_la = {}, imp_2s_comb_las = {},
imp_2s_comb_le = {}, imp_2s_comb_les = {},
},
},
{
match = "scribir", -- escribir, describir, proscribir, etc.
forms = {pp = {"scrit", {form = "script", footnotes = {"[Argentina and Uruguay]"}}}}
},
{
match = "^ser",
forms = {
pres_1s = "soy",
pres_2s = "eres",
pres_2sv = "sos",
pres_3s = "es",
pres_1p = "somos",
pres_2p = "sois",
pres_3p = "son",
pres1_and_sub = "se", -- only for subjunctive as we override pres_1s
full_impf = "er",
impf_1p = "éramos",
pret = "fu",
pret_conj = "irreg", -- this signals that fu + -ieron -> fueron not fuyeron
pret_1s = "fui",
pret_3s = "fue",
fut = "ser",
imp_2s = "sé*", -- * signals that the monosyllabic accent must remain
imp_2sv = "sé*",
}
},
{
match = "^soler",
forms = {
vowel_alt = "ue",
fut = {{form = "soler", footnotes = {"[rare but acceptable]"}}},
fut_sub = {{form = "sol", footnotes = {"[rare but acceptable]"}}},
pp = {{form = "solid", footnotes = {"[rare but acceptable]"}}},
}
},
{
-- tener, abstener, contener, detener, obtener, sostener, and many others
match = "tener",
forms = {
-- use 'tengu' because we're in a front environment; if we use 'teng', we'll get '#tenjo'
pres1_and_sub = "tengu", vowel_alt = "ie", pret = "tuv", pret_conj = "irreg", fut = "tendr",
imp_2s = "tén" -- need the accent for the compounds; it will be removed in the simplex
}
},
{
-- traer, atraer, detraer, distraer, extraer, sustraer, and many others
match = "traer",
-- use 'traigu' because we're in a front environment; if we use 'traig', we'll get '#traijo'
forms = {pres1_and_sub = "traigu", pret = "traj", pret_conj = "irreg"}
},
{
-- valer, equivaler, prevaler
match = "valer",
-- use 'valgu' because we're in a front environment; if we use 'valg', we'll get '#valjo'
forms = {pres1_and_sub = "valgu", fut = "valdr"}
},
{
match = "venir",
forms = {
-- use 'vengu' because we're in a front environment; if we use 'veng', we'll get '#venjo'
pres1_and_sub = "vengu", vowel_alt = "ie-i", pret = "vin", pret_conj = "irreg",
-- uniquely for this verb, pres sub 2sv/1p/2p do not raise the vowel even though we are an
-- e-ie-i verb (contrast sentir -> sintamos/sintáis)
pres_sub_2sv = "vengás", pres_sub_1p = "vengamos", pres_sub_2p = "vengáis",
fut = "vendr", imp_2s = "vén" -- need the accent for the compounds; it will be removed in the simplex
}
},
{
-- We want to match antever etc. but not atrever etc. No way to avoid listing each verb.
match = match_against_verbs("ver", {"ante", "entre", "pre", "re", "tras", ""}),
forms = {
-- we need to override various present indicative forms and add an accent for the compounds;
-- not needed for the simplex and in fact the accents will be removed in that case
pres_2s = "vés",
pres_2sv = "vés",
pres_3s = "vé",
pres_2p = "véis",
pres_3p = "vén",
pres1_and_sub = "ve",
impf = "ve", pp = "vist",
imp_2s = "vé" -- need the accent for the compounds; it will be removed in the simplex
}
},
{
-- yacer, adyacer, subyacer
match = "yacer",
-- use 'yazqu/yazgu/yagu' because we're in a front environment; see 'decir' above
forms = {pres1_and_sub = {"yazqu", "yazgu", "yagu"}, imp_2s = {"yace", "yaz"}}
},
}
local reflexive_masc_forms = {
["su"] = {"mi", "tu", "su", "nuestro", "vuestro", "su"},
["sus"] = {"mis", "tus", "sus", "nuestros", "vuestros", "sus"},
["sí"] = {"mí", "ti", "sí", "nosotros", "vosotros", "sí"},
["consigo"] = {"conmigo", "contigo", "consigo", "con nosotros", "con vosotros", "consigo"},
}
local reflexive_fem_forms = {
["su"] = {"mi", "tu", "su", "nuestra", "vuestra", "su"},
["sus"] = {"mis", "tus", "sus", "nuestras", "vuestras", "sus"},
["sí"] = {"mí", "ti", "sí", "nosotras", "vosotras", "sí"},
["consigo"] = {"conmigo", "contigo", "consigo", "con nosotras", "con vosotras", "consigo"},
}
local reflexive_forms = {
["se"] = {"me", "te", "se", "nos", "os", "se"},
["suyo"] = {"mío", "tuyo", "suyo", "nuestro", "vuestro", "suyo"},
["suya"] = {"mía", "tuya", "suya", "nuestra", "vuestra", "suya"},
["suyos"] = {"míos", "tuyos", "suyos", "nuestros", "vuestros", "suyos"},
["suyas"] = {"mías", "tuyas", "suyas", "nuestras", "vuestras", "suyas"},
}
local function skip_slot(base, slot, allow_overrides)
if not allow_overrides and (base.basic_overrides[slot] or base.combined_overrides[slot] or
base.refl and base.basic_reflexive_only_overrides[slot]) then
-- Skip any slots for which there are overrides.
return true
end
if base.only3s and (slot:find("^pp_f") or slot:find("^pp_mp")) then
-- diluviar, atardecer, neviscar; impersonal verbs have only masc sing pp
return true
end
if not slot:find("[123]") then
-- Don't skip non-personal slots.
return false
end
if base.nofinite then
return true
end
if (base.only3s or base.only3sp or base.only3p) and (slot:find("^imp_") or slot:find("^neg_imp_")) then
return true
end
if base.only3s and not slot:find("3s") then
-- diluviar, atardecer, neviscar
return true
end
if base.only3sp and not slot:find("3[sp]") then
-- atañer, concernir
return true
end
if base.only3p and not slot:find("3p") then
-- [[caer cuatro gotas]], [[caer chuzos de punta]], [[entrarle los siete males]]
return true
end
return false
end
-- Add the `stem` to the `ending` for the given `slot` and apply any phonetic modifications.
-- `is_combining_ending` is true if `ending` is actually the ending (this function is also
-- called to combine prefix + stem). WARNING: This function is written very carefully; changes
-- to it can easily have unintended consequences.
local function combine_stem_ending(base, slot, stem, ending, is_combining_ending)
if not is_combining_ending then
return stem .. ending
end
if base.stems.raising_conj and (rfind(ending, "^i" .. V) or
slot == "pres_sub_1p" or slot == "pres_sub_2p" or slot == "pres_sub_2sv") then
-- need to raise e -> i, o -> u: dormir -> durmió, durmiera, durmiendo, durmamos
stem = rsub(stem, "([eo])(" .. C .. "*)$", function(vowel, rest) return raise_vowel[vowel] .. rest end)
-- also with stem ending in -gu or -qu (e.g. erguir -> irguió, irguiera, irguiendo, irgamos)
stem = rsub(stem, "([eo])(" .. C .. "*[gq]u)$", function(vowel, rest) return raise_vowel[vowel] .. rest end)
end
-- Lots of sound changes involving endings beginning with i + vowel
if rfind(ending, "^i" .. V) then
-- (1) final -i of stem absorbed: sonreír -> sonrió, sonriera, sonriendo; note that this rule may be fed
-- by the preceding one (stem sonre- raised to sonri-, then final i absorbed)
stem = stem:gsub("i$", "")
-- (2) In the preterite of irregular verbs (likewise for other tenses derived from the preterite stem, i.e.
-- imperfect and future subjunctive), initial i absorbed after j (dijeron not #dijieron, likewise for
-- condujeron, trajeron) and u (fueron not #fuyeron). Does not apply in regular verb tejer (tejieron not
-- #tejeron) and concluir (concluyeron not #conclueron).
if base.stems.pret_conj == "irreg" and rfind(stem, "[ju]$") then
ending = ending:gsub("^i", "")
end
-- (3) initial i -> y after vowel and word-initially: poseer -> poseyó, poseyera, poseyendo;
-- concluir -> concluyó, concluyera, concluyendo; ir -> yendo; but not conseguir/delinquir
if stem == "" or (rfind(stem, V .. "$") and not rfind(stem, "[gq]u$")) then
ending = ending:gsub("^i", "y")
end
-- (4) -gü + ie- -> -guye-: argüir -> arguyó, arguyera, arguyendo
if stem:find("gü$") then
-- transfer the y to the stem to avoid gü -> gu below in front/back conversions
stem = stem:gsub("ü$", "uy")
ending = ending:gsub("^i", "")
end
-- (5) initial i absorbed after ñ, ll, y: tañer -> tañó, tañera, tañendo; bullir -> bulló, bullera, bullendo
if rfind(stem, "[ñy]$") or rfind(stem, "ll$") then
ending = ending:gsub("^i", "")
end
end
-- If ending begins with i, it must get an accent after a/e/i/o to prevent the two merging into a diphthong:
-- caer -> caíste, caímos; reír -> reíste, reímos (pres and pret). This does not apply after u, e.g.
-- concluir -> concluiste, concluimos.
if ending:find("^i") and stem:find("[aeio]$") then
ending = ending:gsub("^i", "í")
end
-- If -oír/-uir (i.e. -ir with stem ending in -o/u, e.g. oír, concluir), a y must be added before endings
-- beginning with a/e/o. Check for base.stems.pret_conj == "irreg" to exclude stem fu- of [[ir]].
if base.conj == "ir" and rfind(ending, "^[aeoáéó]") and base.stems.pret_conj ~= "irreg" then
if rfind(stem, "[aoú]$") then -- oír -> oye, rehuir -> rehúyo/rehúye (with indicator 'ú')
stem = stem .. "y"
elseif rfind(stem, "[^gq]u$") then -- concluir, but not conseguir or delinquir
stem = stem .. "y"
elseif stem:find("ü$") then -- argüir -> arguyendo
stem = stem:gsub("ü$", "uy")
end
end
-- Spelling changes in the stem; it depends on whether the stem given is the pre-front-vowel or
-- pre-back-vowel variant, as indicated by `frontback`. We want these front-back spelling changes to happen
-- between stem and ending, not between prefix and stem; the prefix may not have the same "front/backness"
-- as the stem.
local is_front = rfind(ending, "^[eiéí]")
if base.frontback == "front" and not is_front then
-- parecer -> parezco, conducir -> conduzco; use zqu to avoid triggering the following gsub();
-- the third line will replace zqu -> zc
if slot ~= "pret_3s" then -- exclude hice -> hizo (not #hizco)
stem = rsub(stem, "(" .. V .. ")c$", "%1zqu")
end
stem = stem:gsub("sc$", "squ") -- evanescer -> evanesco, fosforescer -> fosforesco
stem = stem:gsub("c$", "z") -- ejercer -> ejerzo, uncir -> unzo
stem = stem:gsub("qu$", "c") -- delinquir -> delinco, parecer -> parezqu- -> parezco
stem = stem:gsub("g$", "j") -- coger -> cojo, afligir -> aflijo
stem = stem:gsub("gu$", "g") -- distinguir -> distingo
stem = stem:gsub("gü$", "gu") -- may not occur; argüir -> arguyo handled above
elseif base.frontback == "back" and is_front then
stem = stem:gsub("gu$", "gü") -- averiguar -> averigüé
stem = stem:gsub("g$", "gu") -- cargar -> cargué
stem = stem:gsub("c$", "qu") -- marcar -> marqué
stem = rsub(stem, "[çz]$", "c") -- aderezar/adereçar -> aderecé
end
return stem .. ending
end
local function check_stems_for_suppress_prefix(slot, stems)
-- Check whether any or all stems have `suppress_prefix`.
local any_suppress_prefix = false
local any_not_suppress_prefix = false
if type(stems) == "table" then
if stems.suppress_prefix then
-- A single form object.
any_suppress_prefix = true
else
for _, stem in ipairs(stems) do
if type(stem) == "table" and stem.suppress_prefix then
any_suppress_prefix = true
else
any_not_suppress_prefix = true
end
end
end
else
any_not_suppress_prefix = true
end
if any_suppress_prefix and any_not_suppress_prefix then
-- This should never happen because suppress_prefix is set on user-specified stem and individual form
-- overrides, which should completely replace built-in overrides (which don't have suppress_prefix).
error("Internal error: For slot '" .. slot .. ", saw a mixture of suppress-prefix and non-suppress-prefix stems, and can't handle")
else
return any_suppress_prefix
end
end
local function add(base, slot, stems, endings, is_combining_ending, allow_overrides)
if skip_slot(base, slot, allow_overrides) then
return
end
local function do_combine_stem_ending(stem, ending)
return combine_stem_ending(base, slot, stem, ending, is_combining_ending)
end
iut.add_forms(base.forms, slot, stems, endings, do_combine_stem_ending, nil, nil, base.all_footnotes)
end
local function add3(base, slot, stems, endings, allow_overrides)
local suppress_prefix = base.prefix == "" or check_stems_for_suppress_prefix(slot, stems)
if suppress_prefix then
return add(base, slot, stems, endings, "is combining ending", allow_overrides)
end
if skip_slot(base, slot, allow_overrides) then
return
end
local is_combining_ending = false
local function do_combine_stem_ending(stem, ending)
return combine_stem_ending(base, slot, stem, ending, is_combining_ending)
end
-- Have to reimplement add_multiple_forms() ourselves due to the is_combining_ending
-- flag, which needs to be different when adding prefix to stems vs. stems to ending.
-- Otherwise we get e.g. #reímpreso instead of reimpreso.
local tempdest = {}
iut.add_forms(tempdest, slot, base.prefix, stems, do_combine_stem_ending)
is_combining_ending = true
iut.add_forms(base.forms, slot, tempdest[slot], endings, do_combine_stem_ending)
end
local function insert_form(base, slot, form)
if not skip_slot(base, slot) then
iut.insert_form(base.forms, slot, form)
end
end
local function insert_forms(base, slot, forms)
if not skip_slot(base, slot) then
iut.insert_forms(base.forms, slot, forms)
end
end
local function add_single_stem_tense(base, slot_pref, stems, s1, s2, s3, p1, p2, p3)
local function addit(slot, ending)
add3(base, slot_pref .. "_" .. slot, stems, ending)
end
addit("1s", s1)
addit("2s", s2)
addit("3s", s3)
addit("1p", p1)
addit("2p", p2)
addit("3p", p3)
end
local function add_present_indic(base)
local function addit(slot, stems, ending)
add3(base, "pres_" .. slot, stems, ending)
end
local s2, s2v, s3, p1, p2, p3
if base.conj == "ar" then
s2, s2v, s3, p1, p2, p3 = "as", "ás", "a", "amos", "áis", "an"
elseif base.conj == "er" then
s2, s2v, s3, p1, p2, p3 = "es", "és", "e", "emos", "éis", "en"
elseif base.conj == "ir" then
s2, s2v, s3, p1, p2, p3 = "es", "ís", "e", "imos", "ís", "en"
else
error("Internal error: Unrecognized conjugation " .. base.conj)
end
addit("1s", base.stems.pres1, "o")
addit("2s", base.stems.pres_stressed, s2)
addit("2sv", base.stems.pres_unstressed, s2v)
addit("3s", base.stems.pres_stressed, s3)
addit("1p", base.stems.pres_unstressed, p1)
addit("2p", base.stems.pres_unstressed, p2)
addit("3p", base.stems.pres_stressed, p3)
end
local function add_present_subj(base)
local function addit(slot, stems, ending)
add3(base, "pres_sub_" .. slot, stems, ending)
end
local s1, s2, s2v, s3, p1, p2, p3, voseo_stem
if base.conj == "ar" then
s1, s2, s2v, s3, p1, p2, p3 = "e", "es", "és", "e", "emos", "éis", "en"
else
s1, s2, s2v, s3, p1, p2, p3 = "a", "as", "ás", "a", "amos", "áis", "an"
end
addit("1s", base.stems.pres_sub_stressed, s1)
addit("2s", base.stems.pres_sub_stressed, s2)
addit("2sv", base.stems.pres_sub_unstressed, s2v)
addit("3s", base.stems.pres_sub_stressed, s3)
addit("1p", base.stems.pres_sub_unstressed, p1)
addit("2p", base.stems.pres_sub_unstressed, p2)
addit("3p", base.stems.pres_sub_stressed, p3)
end
local function add_imper(base)
local function addit(slot, stems, ending)
add3(base, "imp_" .. slot, stems, ending)
end
if base.conj == "ar" then
addit("2s", base.stems.pres_stressed, "a")
addit("2sv", base.stems.pres_unstressed, "á")
addit("2p", base.stems.pres_unstressed, "ad")
elseif base.conj == "er" then
addit("2s", base.stems.pres_stressed, "e")
addit("2sv", base.stems.pres_unstressed, "é")
addit("2p", base.stems.pres_unstressed, "ed")
elseif base.conj == "ir" then
addit("2s", base.stems.pres_stressed, "e")
addit("2sv", base.stems.pres_unstressed, "í")
addit("2p", base.stems.pres_unstressed, "id")
else
error("Internal error: Unrecognized conjugation " .. base.conj)
end
end
local function add_finite_non_present(base)
local function add_tense(slot, stem, s1, s2, s3, p1, p2, p3)
add_single_stem_tense(base, slot, stem, s1, s2, s3, p1, p2, p3)
end
local stems = base.stems
if stems.full_impf then
-- An override needs to be supplied for the impf_1p due to the accent on the stem.
add_tense("impf", stems.full_impf, "a", "as", "a", {}, "ais", "an")
elseif base.conj == "ar" then
add_tense("impf", stems.impf, "aba", "abas", "aba", "ábamos", "abais", "aban")
else
add_tense("impf", stems.impf, "ía", "ías", "ía", "íamos", "íais", "ían")
end
if stems.pret_conj == "irreg" then
add_tense("pret", stems.pret, "e", "iste", "o", "imos", "isteis", "ieron")
elseif stems.pret_conj == "ar" then
add_tense("pret", stems.pret, "é", "aste", "ó", "amos", "asteis", "aron")
else
add_tense("pret", stems.pret, "í", "iste", "ió", "imos", "isteis", "ieron")
end
if stems.pret_conj == "ar" then
add_tense("impf_sub_ra", stems.impf_sub_ra, "ara", "aras", "ara", "áramos", "arais", "aran")
add_tense("impf_sub_se", stems.impf_sub_se, "ase", "ases", "ase", "ásemos", "aseis", "asen")
add_tense("fut_sub", stems.fut_sub, "are", "ares", "are", "áremos", "areis", "aren")
else
add_tense("impf_sub_ra", stems.impf_sub_ra, "iera", "ieras", "iera", "iéramos", "ierais", "ieran")
add_tense("impf_sub_se", stems.impf_sub_se, "iese", "ieses", "iese", "iésemos", "ieseis", "iesen")
add_tense("fut_sub", stems.fut_sub, "iere", "ieres", "iere", "iéremos", "iereis", "ieren")
end
add_tense("fut", stems.fut, "é", "ás", "á", "emos", "éis", "án")
add_tense("cond", stems.cond, "ía", "ías", "ía", "íamos", "íais", "ían")
end
local function add_non_finite_forms(base)
local stems = base.stems
local function addit(slot, stems, ending)
add3(base, slot, stems, ending)
end
insert_form(base, "infinitive", {form = base.verb})
-- Also insert "infinitive + reflexive pronoun" combinations if we're handling a reflexive verb. See comment below for
-- "gerund + reflexive pronoun" combinations.
if base.refl then
for _, persnum in ipairs(person_number_list_basic) do
insert_form(base, "infinitive_" .. persnum, {form = base.verb})
end
end
local ger_ending = base.conj == "ar" and "ando" or "iendo"
addit("gerund", stems.pres_unstressed, ger_ending)
-- Also insert "gerund + reflexive pronoun" combinations if we're handling a reflexive verb. We insert exactly the same
-- form as for the bare gerund; later on in add_reflexive_or_fixed_clitic_to_forms(), we add the appropriate clitic
-- pronouns. It's important not to do this for non-reflexive verbs, because in that case, the clitic pronouns won't be
-- added, and {{es-verb form of}} will wrongly consider all these combinations as possible inflections of the bare
-- gerund. Thanks to [[User:JeffDoozan]] for this bug fix.
if base.refl then
for _, persnum in ipairs(person_number_list_basic) do
addit("gerund_" .. persnum, stems.pres_unstressed, ger_ending)
end
end
addit("pp_ms", stems.pp, "o")
addit("pp_fs", stems.pp, "a")
addit("pp_mp", stems.pp, "os")
addit("pp_fp", stems.pp, "as")
end
local function copy_subjunctives_to_imperatives(base)
-- Copy subjunctives to imperatives, unless there's an override for the given slot (as with the imp_1p of [[ir]]).
for _, persnum in ipairs({"3s", "1p", "3p"}) do
local from = "pres_sub_" .. persnum
local to = "imp_" .. persnum
insert_forms(base, to, iut.map_forms(base.forms[from], function(form) return form end))
end
end
-- Remove monosyllabic accents (e.g. the 3sg preterite of fiar is fio not #fió). Note that there are a
-- few monosyllabic verb forms that intentionally have an accent, to distinguish them from other words
-- with the same pronunciation. These are as follows:
-- (1) [[sé]] 1sg present indicative of [[saber]];
-- (2) [[sé]] 2sg imperative of [[ser]];
-- (3) [[dé]] 1sg and 3sg present subjunctive of [[dar]].
-- For these, a * is added, which indicates that the accent needs to remain. If we see such a *, we remove
-- it but otherwise leave the form alone.
local function remove_monosyllabic_accents(base)
for _, slotaccel in ipairs(base.alternant_multiword_spec.verb_slots_basic) do
local slot, accel = unpack(slotaccel)
if base.forms[slot] then
for _, form in ipairs(base.forms[slot]) do
if form.form:find("%*") then -- * means leave alone any accented vowel
form.form = form.form:gsub("%*", "")
elseif may_need_monosyllabic_accent_removed(form.form) then
-- Has an accented vowel and no VCV sequence and not a suffix; may be monosyllabic, in which
-- case we need to remove the accent. Check # of syllables and remove accent if only 1. Note
-- that the checks for accented vowel and VCV sequence are not strictly needed, but are
-- optimizations to avoid running the whole syllabification algorithm on every verb form.
local syllables = com.syllabify(form.form)
if #syllables == 1 then
form.form = com.remove_accent_from_syllable(syllables[1])
end
end
end
end
end
end
-- Add the appropriate clitic pronouns in `clitics` to the forms in `base_slot`. `store_cliticized_form` is a function
-- of three arguments (clitic, formobj, cliticized_form) and should store the cliticized form for the specified clitic
-- and form object.
local function add_forms_with_clitic(base, base_slot, clitics, store_cliticized_form)
-- the special slot lxx is for le/les clitics that become "se" in double clitics
if base_slot:match("_comb_lxx$") then
base_slot = base_slot:gsub("_comb_lxx$", "_comb_le")
end
if not base.forms[base_slot] then
mw.log("unhandled base_slot " .. base_slot)
-- This can happen, e.g. in only3s/only3sp/only3p verbs.
return
end
for _, formobj in ipairs(base.forms[base_slot]) do
-- Figure out the correct accenting of the verb when a clitic pronoun is attached to it. We may need to
-- add or remove an accent mark:
-- (1) No accent mark currently, none needed: infinitive sentar -> sentarlo; imperative singular ten -> tenlo;
-- (2) Accent mark currently, still needed: infinitive oír -> oírlo;
-- (3) No accent mark currently, accent needed: imperative singular siente -> siéntelo;
-- (4) Accent mark currently, not needed: imperative singular está -> estalo, sé -> selo.
local syllables = com.syllabify(formobj.form)
local sylno = com.stressed_syllable(syllables)
table.insert(syllables, "lo")
local needs_accent = com.accent_needed(syllables, sylno)
if needs_accent then
syllables[sylno] = com.add_accent_to_syllable(syllables[sylno])
else
syllables[sylno] = com.remove_accent_from_syllable(syllables[sylno])
end
table.remove(syllables) -- remove added clitic pronoun
local reaccented_form = table.concat(syllables)
for _, clitic in ipairs(clitics) do
local cliticized_form
-- Some further special cases.
if base_slot == "imp_1p" and (clitic == "nos" or clitic == "os") then
-- Final -s disappears: sintamos + nos -> sintámonos, sintamos + os -> sintámoos
cliticized_form = reaccented_form:gsub("s$", "") .. clitic
elseif base_slot == "imp_2p" and clitic == "os" then
-- Final -d disappears, which may cause an accent to be required:
-- haced + os -> haceos, sentid + os -> sentíos
if reaccented_form:find("id$") then
cliticized_form = reaccented_form:gsub("id$", "íos")
else
cliticized_form = reaccented_form:gsub("d$", "os")
end
else
cliticized_form = reaccented_form .. clitic
end
store_cliticized_form(clitic, formobj, cliticized_form)
end
end
end
-- Generate the combinations of verb form (infinitive, gerund or various imperatives) + clitic pronoun.
local function add_combined_forms(base)
for _, base_slot_and_clitics in ipairs(base.alternant_multiword_spec.verb_slot_combined_rows) do
local base_slot, clitics = unpack(base_slot_and_clitics)
add_forms_with_clitic(base, base_slot, clitics,
function(clitic, formobj, cliticized_form)
insert_form(base, base_slot .. "_comb_" .. clitic,
{form = cliticized_form, footnotes = formobj.footnotes})
end
)
end
for _, single_comb_slot_and_clitics in ipairs(base.alternant_multiword_spec.verb_slot_double_combined_rows) do
local single_comb_slot, clitics = unpack(single_comb_slot_and_clitics)
-- Handle le -> se transformation for double clitics
if single_comb_slot:match("_comb_lxx$") then
add_forms_with_clitic(base, single_comb_slot, clitics,
function(clitic, formobj, cliticized_form)
-- Only add se version for accusative clitics (lo/la/los/las)
if clitic:match("^l[aeo]") then
cliticized_form = cliticized_form:gsub("le" .. clitic .. "$", "se" .. clitic)
insert_form(base, single_comb_slot .. "_" .. clitic,
{form = cliticized_form, footnotes = formobj.footnotes})
end
end
)
end
add_forms_with_clitic(base, single_comb_slot, clitics,
function(clitic, formobj, cliticized_form)
insert_form(base, single_comb_slot .. "_" .. clitic,
{form = cliticized_form, footnotes = formobj.footnotes})
end
)
end
end
local function process_slot_overrides(base, do_basic, reflexive_only)
local overrides = reflexive_only and base.basic_reflexive_only_overrides or
do_basic and base.basic_overrides or base.combined_overrides
for slot, forms in pairs(overrides) do
local suppress_prefix = base.prefix == "" or check_stems_for_suppress_prefix(slot, forms)
add(base, slot, suppress_prefix and "" or base.prefix, forms, false, "allow overrides")
end
end
-- Prefix `form` with `clitic`, adding fixed text `between` between them. Add links as appropriate unless the user
-- requested no links. Check whether form already has brackets (as will be the case if the form has a fixed clitic).
local function add_clitic_to_form(base, clitic, between, form)
if base.alternant_multiword_spec.args.noautolinkverb then
return clitic .. between .. form
else
local clitic_pref = "[[" .. clitic .. "]]" .. between
if form:find("%[%[") then
return clitic_pref .. form
else
return clitic_pref .. "[[" .. form .. "]]"
end
end
end
-- Add a reflexive pronoun or fixed clitic, e.g. [[lo]], as appropriate to the base form that were generated.
-- `do_joined` means to do only the forms where the pronoun is joined to the end of the form; otherwise, do only the
-- forms where it is not joined and precedes the form.
local function add_reflexive_or_fixed_clitic_to_forms(base, do_reflexive, do_joined)
for _, slotaccel in ipairs(base.alternant_multiword_spec.verb_slots_basic) do
local slot, accel = unpack(slotaccel)
local clitic
if not do_reflexive then
clitic = base.clitic
elseif slot:find("[123]") then
local persnum = slot:match("^.*_(.-)$")
clitic = person_number_to_reflexive_pronoun[persnum]
else
clitic = "se"
end
if base.forms[slot] then
if do_reflexive and slot:find("^pp_") or slot == "infinitive_linked" then
-- do nothing with reflexive past participles or with infinitive linked (handled at the end)
elseif slot:find("^neg_imp_") then
error("Internal error: Should not have forms set for negative imperative at this stage")
else
local slot_has_suffixed_clitic = slot:find("infinitive") or slot:find("gerund") or slot:find("^imp_")
-- Maybe generate non-reflexive parts and separated syntactic variants for use in {{es-verb form of}}.
-- See comment in add_slots() above `need_special_verb_form_of_slots`. Check for do_joined so we only
-- run this code once.
if do_reflexive and do_joined and base.alternant_multiword_spec.source_template == "es-verb form of" and
-- Skip personal variants of infinitives and gerunds so we don't think [[jambando]] is a
-- non-reflexive equivalent of [[jambándome]].
not slot:find("infinitive_") and not slot:find("gerund_") then
-- Clone the forms because we will be destructively modifying them just below, adding the reflexive
-- pronoun.
insert_forms(base, slot .. "_non_reflexive", mw.clone(base.forms[slot]))
if slot_has_suffixed_clitic then
insert_forms(base, slot .. "_variant", iut.map_forms(base.forms[slot], function(form)
return add_clitic_to_form(base, clitic, " ... ", form)
end))
end
end
if slot_has_suffixed_clitic then
if do_joined then
add_forms_with_clitic(base, slot, {clitic},
function(clitic, formobj, cliticized_form)
formobj.form = cliticized_form
end
)
end
elseif not do_joined then
-- Add clitic as separate word before all other forms.
for _, form in ipairs(base.forms[slot]) do
form.form = add_clitic_to_form(base, clitic, " ", form.form)
end
end
end
end
end
end
local function handle_infinitive_linked(base)
-- Compute linked versions of potential lemma slots, for use in {{es-verb}}.
-- We substitute the original lemma (before removing links) for forms that
-- are the same as the lemma, if the original lemma has links.
for _, slot in ipairs({"infinitive"}) do
insert_forms(base, slot .. "_linked", iut.map_forms(base.forms[slot], function(form)
if form == base.lemma and rfind(base.linked_lemma, "%[%[") then
return base.linked_lemma
else
return form
end
end))
end
end
local function generate_negative_imperatives(base)
-- Copy subjunctives to negative imperatives, preceded by "no".
for _, persnum in ipairs(neg_imp_person_number_list) do
local from = "pres_sub_" .. persnum
local to = "neg_imp_" .. persnum
insert_forms(base, to, iut.map_forms(base.forms[from], function(form)
if base.alternant_multiword_spec.args.noautolinkverb then
return "no " .. form
elseif form:find("%[%[") then
-- already linked, e.g. when reflexive
return "[[no]] " .. form
else
return "[[no]] [[" .. form .. "]]"
end
end))
end
end
-- Process specs given by the user using 'addnote[SLOTSPEC][FOOTNOTE][FOOTNOTE][...]'.
local function process_addnote_specs(base)
for _, spec in ipairs(base.addnote_specs) do
for _, slot_spec in ipairs(spec.slot_specs) do
slot_spec = "^" .. slot_spec .. "$"
for slot, forms in pairs(base.forms) do
if rfind(slot, slot_spec) then
-- To save on memory, side-effect the existing forms.
for _, form in ipairs(forms) do
form.footnotes = iut.combine_footnotes(form.footnotes, spec.footnotes)
end
end
end
end
end
end
local function add_missing_links_to_forms(base)
-- Any forms without links should get them now. Redundant ones will be stripped later.
for slot, forms in pairs(base.forms) do
for _, form in ipairs(forms) do
if not form.form:find("%[%[") then
form.form = "[[" .. form.form .. "]]"
end
end
end
end
local function conjugate_verb(base)
add_present_indic(base)
add_present_subj(base)
add_imper(base)
add_finite_non_present(base)
add_non_finite_forms(base)
-- This should happen before add_combined_forms() so overrides of basic forms end up part of the combined forms.
process_slot_overrides(base, "do basic") -- do basic slot overrides
-- This should happen after process_slot_overrides() in case a derived slot is based on an override (as with the
-- imp_3s of [[dar]], [[estar]]).
copy_subjunctives_to_imperatives(base)
-- This should happen after process_slot_overrides() because overrides may have accents in them that need to be
-- removed. (This happens e.g. for most present indicative forms of [[ver]], which have accents in them for the
-- prefixed derived verbs, but the accents shouldn't be present in the base verb.)
remove_monosyllabic_accents(base)
if not base.nocomb then
add_combined_forms(base)
end
-- We need to add joined reflexives, then joined and non-joined clitics, then non-joined reflexives, so we get
-- [[házmelo]] but [[no]] [[me]] [[lo]] [[haga]].
if base.refl then
-- This should happen after remove_monosyllabic_accents() so the * marking the preservation of monosyllabic
-- accents doesn't end up in the middle of a word.
add_reflexive_or_fixed_clitic_to_forms(base, "do reflexive", "do joined")
process_slot_overrides(base, "do basic", "do reflexive") -- do reflexive-only basic slot overrides
end
if base.clitic then
-- This should happen after reflexives are added.
add_reflexive_or_fixed_clitic_to_forms(base, false, "do joined")
add_reflexive_or_fixed_clitic_to_forms(base, false, false)
end
if base.refl then
add_reflexive_or_fixed_clitic_to_forms(base, "do reflexive", false)
end
-- This should happen after add_reflexive_or_fixed_clitic_to_forms() so negative imperatives get the reflexive pronoun
-- and clitic in them.
generate_negative_imperatives(base)
if not base.nocomb then
process_slot_overrides(base, false) -- do combined slot overrides
end
-- This should happen before add_missing_links_to_forms() so that the comparison `form == base.lemma`
-- in handle_infinitive_linked() works correctly and compares unlinked forms to unlinked forms.
handle_infinitive_linked(base)
process_addnote_specs(base)
if not base.alternant_multiword_spec.args.noautolinkverb then
add_missing_links_to_forms(base)
end
end
local function parse_indicator_spec(angle_bracket_spec)
-- Store the original angle bracket spec so we can reconstruct the overall conj spec with the lemma(s) in them.
local base = {
angle_bracket_spec = angle_bracket_spec,
user_basic_overrides = {},
user_stems = {},
addnote_specs = {},
}
local function parse_err(msg)
error(msg .. ": " .. angle_bracket_spec)
end
local function fetch_footnotes(separated_group)
local footnotes
for j = 2, #separated_group - 1, 2 do
if separated_group[j + 1] ~= "" then
parse_err("Extraneous text after bracketed footnotes: '" .. table.concat(separated_group) .. "'")
end
if not footnotes then
footnotes = {}
end
table.insert(footnotes, separated_group[j])
end
return footnotes
end
local inside = angle_bracket_spec:match("^<(.*)>$")
assert(inside)
if inside == "" then
return base
end
local segments = put.parse_balanced_segment_run(inside, "[", "]")
local dot_separated_groups = put.split_alternating_runs(segments, "%.")
for i, dot_separated_group in ipairs(dot_separated_groups) do
local first_element = dot_separated_group[1]
if first_element == "addnote" then
local spec_and_footnotes = fetch_footnotes(dot_separated_group)
if #spec_and_footnotes < 2 then
parse_err("Spec with 'addnote' should be of the form 'addnote[SLOTSPEC][FOOTNOTE][FOOTNOTE][...]'")
end
local slot_spec = table.remove(spec_and_footnotes, 1)
local slot_spec_inside = rmatch(slot_spec, "^%[(.*)%]$")
if not slot_spec_inside then
parse_err("Internal error: slot_spec " .. slot_spec .. " should be surrounded with brackets")
end
local slot_specs = rsplit(slot_spec_inside, ",")
-- FIXME: Here, [[Module:it-verb]] called strip_spaces(). Generally we don't do this. Should we?
table.insert(base.addnote_specs, {slot_specs = slot_specs, footnotes = spec_and_footnotes})
elseif indicator_flags[first_element] then
if #dot_separated_group > 1 then
parse_err("No footnotes allowed with '" .. first_element .. "' spec")
end
if base[first_element] then
parse_err("Spec '" .. first_element .. "' specified twice")
end
base[first_element] = true
elseif rfind(first_element, ":") then
local colon_separated_groups = put.split_alternating_runs(dot_separated_group, "%s*:%s*")
local first_element = colon_separated_groups[1][1]
if #colon_separated_groups[1] > 1 then
parse_err("Can't attach footnotes directly to '" .. first_element .. "' spec; attach them to the " ..
"colon-separated values following the initial colon")
end
if overridable_stems[first_element] then
if base.user_stems[first_element] then
parse_err("Overridable stem '" .. first_element .. "' specified twice")
end
table.remove(colon_separated_groups, 1)
base.user_stems[first_element] = overridable_stems[first_element](colon_separated_groups,
{prefix = first_element, base = base, parse_err = parse_err, fetch_footnotes = fetch_footnotes})
else -- assume a basic override; we validate further later when the possible slots are available
if base.user_basic_overrides[first_element] then
parse_err("Basic override '" .. first_element .. "' specified twice")
end
table.remove(colon_separated_groups, 1)
base.user_basic_overrides[first_element] = allow_multiple_values_for_override(
colon_separated_groups,
{prefix = first_element, base = base, parse_err = parse_err, fetch_footnotes = fetch_footnotes},
"add monosyllabic asterisk"
)
end
else
local comma_separated_groups = put.split_alternating_runs(dot_separated_group, "%s*,%s*")
for j = 1, #comma_separated_groups do
local alt = comma_separated_groups[j][1]
if not vowel_alternants[alt] then
if #comma_separated_groups == 1 then
parse_err("Unrecognized spec or vowel alternant '" .. alt .. "'")
else
parse_err("Unrecognized vowel alternant '" .. alt .. "'")
end
end
if base.vowel_alt then
for _, existing_alt in ipairs(base.vowel_alt) do
if existing_alt.form == alt then
parse_err("Vowel alternant '" .. alt .. "' specified twice")
end
end
else
base.vowel_alt = {}
end
table.insert(base.vowel_alt, {form = alt, footnotes = fetch_footnotes(comma_separated_groups[j])})
end
end
end
return base
end
-- Normalize all lemmas, substituting the pagename for blank lemmas and adding links to multiword lemmas.
local function normalize_all_lemmas(alternant_multiword_spec, pagename)
-- (1) Add links to all before and after text. Remember the original text so we can reconstruct the verb spec later.
if not alternant_multiword_spec.args.noautolinktext then
iut.add_links_to_before_and_after_text(alternant_multiword_spec, "remember original")
end
-- (2) Remove any links from the lemma, but remember the original form
-- so we can use it below in the 'lemma_linked' form.
iut.map_word_specs(alternant_multiword_spec, function(base)
if base.lemma == "" then
base.lemma = pagename
end
base.user_specified_lemma = base.lemma
base.lemma = m_links.remove_links(base.lemma)
local refl_verb, clitic = rmatch(base.lemma, "^(.-)(l[aeo]s?)$")
if not refl_verb then
refl_verb, clitic = base.lemma, nil
end
local verb, refl = rmatch(refl_verb, "^(.-)(se)$")
if not verb then
verb, refl = refl_verb, nil
end
base.user_specified_verb = verb
base.refl = refl
base.clitic = clitic
if base.refl and base.clitic then
-- We have to parse the verb suffix to see how to construct the base verb; e.g.
-- abrírsela -> abrir but oírsela -> oír. We parse the verb suffix again in all cases
-- in detect_indicator_spec(), after splitting off the prefix of irrregular verbs.
local actual_verb
local inf_stem, suffix = rmatch(base.user_specified_verb, "^(.*)([aáeéií]r)$")
if not inf_stem then
error("Unrecognized infinitive: " .. base.user_specified_verb)
end
if suffix == "ír" and inf_stem:find("[aeo]$") then
-- accent on suffix should remain
base.verb = base.user_specified_verb
else
base.verb = inf_stem .. com.remove_accent_from_syllable(suffix)
end
else
base.verb = base.user_specified_verb
end
local linked_lemma
if alternant_multiword_spec.args.noautolinkverb or base.user_specified_lemma:find("%[%[") then
linked_lemma = base.user_specified_lemma
elseif base.refl or base.clitic then
-- Reconstruct the linked lemma with separate links around base verb, reflexive pronoun and clitic.
linked_lemma = base.user_specified_verb == base.verb and "[[" .. base.user_specified_verb .. "]]" or
"[[" .. base.verb .. "|" .. base.user_specified_verb .. "]]"
linked_lemma = linked_lemma .. (refl and "[[" .. refl .. "]]" or "") ..
(clitic and "[[" .. clitic .. "]]" or "")
else
-- Add links to the lemma so the user doesn't specifically need to, since we preserve
-- links in multiword lemmas and include links in non-lemma forms rather than allowing
-- the entire form to be a link.
linked_lemma = iut.add_links(base.user_specified_lemma)
end
base.linked_lemma = linked_lemma
end)
end
local function construct_stems(base)
local stems = base.stems
stems.pres_unstressed = stems.pres_unstressed or base.inf_stem
stems.pres_stressed = stems.pres_stressed or
-- If no_pres_stressed given, pres_stressed stem should be empty so no forms are generated.
base.no_pres_stressed and {} or
base.vowel_alt or
base.inf_stem
stems.pres1_and_sub = stems.pres1_and_sub or
-- If no_pres_stressed given, the entire subjunctive is missing.
base.no_pres_stressed and {} or
-- If no_pres1_and_sub given, pres1 and entire subjunctive are missing.
base.no_pres1_and_sub and {} or
nil
stems.pres1 = stems.pres1 or stems.pres1_and_sub or stems.pres_stressed
stems.impf = stems.impf or base.inf_stem
stems.pret = stems.pret or base.inf_stem
stems.pret_conj = stems.pret_conj or base.conj
stems.fut = stems.fut or base.inf_stem .. base.conj
stems.cond = stems.cond or stems.fut
stems.pres_sub_stressed = stems.pres_sub_stressed or stems.pres1
stems.pres_sub_unstressed = stems.pres_sub_unstressed or stems.pres1_and_sub or stems.pres_unstressed
stems.impf_sub_ra = stems.impf_sub_ra or stems.pret
stems.impf_sub_se = stems.impf_sub_se or stems.pret
stems.fut_sub = stems.fut_sub or stems.pret
stems.pp = stems.pp or base.conj == "ar" and
combine_stem_ending(base, "pp_ms", base.inf_stem, "ad", "is combining ending") or
-- use combine_stem_ending esp. so we get reído, caído, etc.
combine_stem_ending(base, "pp_ms", base.inf_stem, "id", "is combining ending")
end
-- Make a list of the slots given in `list1` and optionally `list2`, with `prefix` added to the beginning of each slot
-- name. The elements of each list are of the form {SLOT, ACCEL}. Used for error messages.
local function construct_possible_slots(list1, list2, prefix)
list2 = list2 or {}
prefix = prefix or ""
local slots = {}
local function insert_list_slots(list)
for _, slotaccel in ipairs(list) do
local slot, accel = unpack(slotaccel)
table.insert(slots, prefix .. slot)
end
end
insert_list_slots(list1)
insert_list_slots(list2)
return m_table.serialCommaJoin(slots)
end
local function detect_indicator_spec(base)
base.forms = {}
base.non_reflexive_forms = {}
base.stems = {}
if (base.only3s and 1 or 0) + (base.only3sp and 1 or 0) + (base.only3p and 1 or 0) > 1 then
error("Only one of 'only3s', 'only3sp' and 'only3p' can be specified")
end
base.basic_overrides = {}
base.basic_reflexive_only_overrides = {}
base.combined_overrides = {}
if not base.no_built_in then
for _, built_in_conj in ipairs(built_in_conjugations) do
if type(built_in_conj.match) == "function" then
base.prefix, base.non_prefixed_verb = built_in_conj.match(base.verb)
elseif built_in_conj.match:find("^%^") and rsub(built_in_conj.match, "^%^", "") == base.verb then
-- begins with ^, for exact match, and matches
base.prefix, base.non_prefixed_verb = "", base.verb
else
base.prefix, base.non_prefixed_verb = rmatch(base.verb, "^(.*)(" .. built_in_conj.match .. ")$")
end
if base.prefix then
-- we found a built-in verb
base.irreg_verb = true
for stem, forms in pairs(built_in_conj.forms) do
if stem:find("^refl_") then
stem = stem:gsub("^refl_", "")
if not base.alternant_multiword_spec.verb_slots_basic_map[stem] then
error("Internal error: setting for 'refl_" .. stem .. "' does not refer to a basic verb slot")
end
base.basic_reflexive_only_overrides[stem] = forms
elseif base.alternant_multiword_spec.verb_slots_basic_map[stem] then
-- an individual form override of a basic form
base.basic_overrides[stem] = forms
elseif base.alternant_multiword_spec.verb_slots_combined_map[stem] then
-- an individual form override of a combined form
base.combined_overrides[stem] = forms
else
base.stems[stem] = forms
end
end
break
end
end
end
-- Override built-in-verb stems and overrides with user-specified ones.
for stem, values in pairs(base.user_stems) do
base.stems[stem] = values
end
for override, values in pairs(base.user_basic_overrides) do
if override:find("^refl_") then
if not base.refl then
error("Can't set reflexive-only override '" .. override .. "' on a non-reflexive verb")
end
override = override:gsub("^refl_", "")
if not base.alternant_multiword_spec.verb_slots_basic_map[override] then
error("Unrecognized reflexive-only override 'refl_" .. override .. "': possible slots are " ..
construct_possible_slots(base.alternant_multiword_spec.verb_slots_basic, nil, "refl_"))
end
base.basic_reflexive_only_overrides[override] = values
elseif base.alternant_multiword_spec.verb_slots_basic_map[override] then
base.basic_overrides[override] = values
elseif base.alternant_multiword_spec.verb_slots_combined_map[override] then
base.combined_overrides[override] = values
else
error("Unrecognized override '" .. override .. "': possible slots are " ..
construct_possible_slots(base.alternant_multiword_spec.verb_slots_basic,
base.alternant_multiword_spec.verb_slots_combined))
end
end
base.prefix = base.prefix or ""
base.non_prefixed_verb = base.non_prefixed_verb or base.verb
local inf_stem, suffix = rmatch(base.non_prefixed_verb, "^(.*)([aeií]r)$")
if not inf_stem then
error("Unrecognized infinitive: " .. base.verb)
end
base.inf_stem = inf_stem
suffix = suffix == "ír" and "ir" or suffix
base.conj = suffix
base.frontback = suffix == "ar" and "back" or "front"
if base.stems.vowel_alt then -- built-in verb with specified vowel alternation
if base.vowel_alt then
error(base.verb .. " is a recognized built-in verb, and should not have vowel alternations specified with it")
end
base.vowel_alt = iut.convert_to_general_list_form(base.stems.vowel_alt)
end
-- Propagate built-in-verb indicator flags to `base` and combine with user-specified flags.
for indicator_flag, _ in pairs(indicator_flags) do
base[indicator_flag] = base[indicator_flag] or base.stems[indicator_flag]
end
-- Convert vowel alternation indicators into stems.
if base.vowel_alt then
for _, altform in ipairs(base.vowel_alt) do
altform.alt = altform.form -- save original indicator
local alt = altform.alt
if base.conj == "ir" then
local raising = (
alt == "ie-i" or alt == "ye-i" or alt == "ue-u" or alt == "i" or alt == "í" or alt == "ú"
)
if base.stems.raising_conj == nil then
base.stems.raising_conj = raising
elseif base.stems.raising_conj ~= raising then
error("Can't currently support a mixture of raising (e.g. 'ie-i') and non-raising (e.g. 'ie') vowel alternations in -ir verbs")
end
end
if alt == "+" then
altform.form = base.inf_stem
else
local normalized_alt = alt
if alt == "ie-i" or alt == "ye-i" or alt == "ue-u" then
if base.conj ~= "ir" then
error("母音交替 '" .. alt .. "' は -ir動詞のみです")
end
-- ie-i is like i except for the vowel raising before i+V, similarly for ye-i, ue-u,
-- so convert appropriately.
normalized_alt = alt == "ie-i" and "ie" or alt == "ye-i" and "ye" or "ue"
end
local ret = com.apply_vowel_alternation(base.inf_stem, normalized_alt)
if ret.err then
error("To use '" .. alt .. "', present stem '" .. base.inf_stem .. "' " .. ret.err)
end
altform.form = ret.ret
end
end
end
end
local function detect_all_indicator_specs(alternant_multiword_spec)
-- Propagate some settings up; some are used internally, others by [[Module:es-headword]].
iut.map_word_specs(alternant_multiword_spec, function(base)
-- Internal indicator flags. Do these before calling detect_indicator_spec() because add_slots() uses them.
for _, prop in ipairs { "refl", "clitic" } do
if base[prop] then
alternant_multiword_spec[prop] = true
end
end
base.alternant_multiword_spec = alternant_multiword_spec
-- If reflexive or fixed clitic, don't include combined forms.
alternant_multiword_spec.nocomb = alternant_multiword_spec.nocomb or base.clitic or base.refl
end)
add_slots(alternant_multiword_spec)
iut.map_word_specs(alternant_multiword_spec, function(base)
base.nocomb = alternant_multiword_spec.args.nocomb
detect_indicator_spec(base)
-- User-specified indicator flags. Do these after calling detect_indicator_spec() because the latter may set these
-- indicators for built-in verbs.
for prop, _ in pairs(indicator_flags) do
if base[prop] then
alternant_multiword_spec[prop] = true
end
end
construct_stems(base)
end)
end
local function add_categories_and_annotation(alternant_multiword_spec, base, multiword_lemma)
local function insert_ann(anntype, value)
m_table.insertIfNot(alternant_multiword_spec.annotation[anntype], value)
end
local function insert_cat(cat, also_when_multiword)
-- Don't place multiword terms in categories like 'Spanish verbs ending in -ar' to avoid spamming the
-- categories with such terms.
if also_when_multiword or not multiword_lemma then
m_table.insertIfNot(alternant_multiword_spec.categories, "Spanish " .. cat)
end
end
if check_for_red_links and alternant_multiword_spec.source_template == "es-conj" and multiword_lemma then
for _, slot_and_accel in ipairs(alternant_multiword_spec.all_verb_slots) do
local slot = slot_and_accel[1]
local forms = base.forms[slot]
local must_break = false
if forms then
for _, form in ipairs(forms) do
if not form.form:find("%[%[") then
local title = mw.title.new(form.form)
if title and not title.exists then
insert_cat("verbs with red links in their inflection tables")
must_break = true
break
end
end
end
end
if must_break then
break
end
end
end
insert_cat("verbs ending in -" .. base.conj)
if base.irreg_verb then
insert_ann("irreg", "irregular")
insert_cat("irregular verbs")
else
insert_ann("irreg", "regular")
end
if base.only3s then
insert_ann("defective", "impersonal")
insert_cat("impersonal verbs")
elseif base.only3sp then
insert_ann("defective", "third-person only")
insert_cat("third-person-only verbs")
elseif base.only3p then
insert_ann("defective", "third-person plural only")
insert_cat("third-person-plural-only verbs")
elseif base.no_pres_stressed or base.no_pres1_and_sub then
insert_ann("defective", "defective")
insert_cat("defective verbs")
else
insert_ann("defective", "regular")
end
if base.clitic then
insert_cat("verbs with lexical clitics")
end
if base.refl then
insert_cat("reflexive verbs")
end
if not base.vowel_alt then
insert_ann("vowel_alt", "non-alternating")
else
local inf_stem = base.inf_stem:gsub("[gq]u$", "x")
for _, alt in ipairs(base.vowel_alt) do
if alt.alt == "+" then
insert_ann("vowel_alt", "non-alternating")
else
local desc
if alt.alt == "ue" and rfind(inf_stem, "u" .. C .. "*$") then
desc = "u-ue 交替" -- jugar
elseif alt.alt == "ie" and rfind(inf_stem, "i" .. C .. "*$") then
desc = "i-ie 交替" -- adquirir
elseif alt.alt == "í" and rfind(inf_stem, "e" .. C .. "*$") then
desc = "e-í 交替" -- reír, freír, etc.
else
desc = vowel_alternant_to_desc[alt.alt] .. " 交替"
end
insert_ann("vowel_alt", desc)
insert_cat("verbs with " .. desc)
end
end
end
local cons_alt = base.stems.cons_alt
if cons_alt == nil then
if base.conj == "ar" then
if base.inf_stem:find("z$") then
cons_alt = "c-z"
elseif base.inf_stem:find("ç$") then
cons_alt = "c-ç"
elseif base.inf_stem:find("c$") then
cons_alt = "c-qu"
elseif base.inf_stem:find("g$") then
cons_alt = "g-gu"
elseif base.inf_stem:find("gu$") then
cons_alt = "gu-gü"
end
else
if base.no_pres_stressed or base.no_pres1_and_sub then
cons_alt = nil -- no c-zc alternation in balbucir or arrecir
elseif rfind(base.inf_stem, V .. "c$") then
cons_alt = "c-zc"
elseif base.inf_stem:find("sc$") then
cons_alt = "hard-soft"
elseif base.inf_stem:find("c$") then
cons_alt = "c-z"
elseif base.inf_stem:find("qu$") then
cons_alt = "c-qu"
elseif base.inf_stem:find("g$") then
cons_alt = "g-j"
elseif base.inf_stem:find("gu$") then
cons_alt = "g-gu"
elseif base.inf_stem:find("gü$") then
cons_alt = "gu-gü"
end
end
end
if cons_alt then
local desc = cons_alt .. "交替"
insert_ann("cons_alt", desc)
insert_cat("verbs with " .. desc)
else
insert_ann("cons_alt", "non-alternating")
end
end
-- Compute the categories to add the verb to, as well as the annotation to display in the
-- conjugation title bar. We combine the code to do these functions as both categories and
-- title bar contain similar information.
local function compute_categories_and_annotation(alternant_multiword_spec)
alternant_multiword_spec.categories = {}
local ann = {}
alternant_multiword_spec.annotation = ann
ann.irreg = {}
ann.defective = {}
ann.vowel_alt = {}
ann.cons_alt = {}
local multiword_lemma = false
for _, form in ipairs(alternant_multiword_spec.forms.infinitive) do
if form.form:find(" ") then
multiword_lemma = true
break
end
end
iut.map_word_specs(alternant_multiword_spec, function(base)
add_categories_and_annotation(alternant_multiword_spec, base, multiword_lemma)
end)
local ann_parts = {}
local irreg = table.concat(ann.irreg, " or ")
if irreg ~= "" and irreg ~= "regular" then
table.insert(ann_parts, irreg)
end
local defective = table.concat(ann.defective, " or ")
if defective ~= "" and defective ~= "regular" then
table.insert(ann_parts, defective)
end
local vowel_alt = table.concat(ann.vowel_alt, " or ")
if vowel_alt ~= "" and vowel_alt ~= "non-alternating" then
table.insert(ann_parts, vowel_alt)
end
local cons_alt = table.concat(ann.cons_alt, " or ")
if cons_alt ~= "" and cons_alt ~= "non-alternating" then
table.insert(ann_parts, cons_alt)
end
alternant_multiword_spec.annotation = table.concat(ann_parts, "; ")
end
local function show_forms(alternant_multiword_spec)
local lemmas = alternant_multiword_spec.forms.infinitive
alternant_multiword_spec.lemmas = lemmas -- save for later use in make_table()
local reconstructed_verb_spec = iut.reconstruct_original_spec(alternant_multiword_spec)
-- Initialize the footnotes with those for the future subjunctive and maybe the pres subjunctive
-- voseo usage. In the latter case, we only do it if there is a distinct pres subjunctive voseo form.
local function create_footnote_obj()
local obj = iut.create_footnote_obj()
iut.get_footnote_text({fut_sub_note}, obj)
-- Compute whether the tuteo and voseo variants are different, for each voseo variant.
-- We use this later in make_table().
for _, slot in ipairs({"pres_2s", "pres_sub_2s", "imp_2s"}) do
alternant_multiword_spec["separate_" .. slot .. "v"] = false
iut.map_word_specs(alternant_multiword_spec, function(base)
if not m_table.deepEquals(base.forms[slot], base.forms[slot .. "v"]) then
alternant_multiword_spec["separate_" .. slot .. "v"] = true
end
end)
end
if alternant_multiword_spec.separate_pres_sub_2sv then
iut.get_footnote_text({pres_sub_voseo_note}, obj)
end
return obj
end
local function transform_accel_obj(slot, formobj, accel_obj)
-- No accelerators for negative imperatives, which are always multiword and derived directly from the
-- present subjunctive.
if slot:find("^neg_imp") then
return nil
end
if accel_obj then
if slot:find("^pp_") then
accel_obj.form = slot
elseif slot == "gerund" then
accel_obj.form = "gerund-" .. reconstructed_verb_spec
else
accel_obj.form = "verb-form-" .. reconstructed_verb_spec
end
end
return accel_obj
end
local props = {
lang = lang,
lemmas = lemmas,
create_footnote_obj = create_footnote_obj,
transform_accel_obj = transform_accel_obj,
}
props.slot_list = alternant_multiword_spec.verb_slots_basic
iut.show_forms(alternant_multiword_spec.forms, props)
alternant_multiword_spec.footnote_basic = alternant_multiword_spec.forms.footnote
props.create_footnote_obj = nil
props.slot_list = alternant_multiword_spec.verb_slots_combined
iut.show_forms(alternant_multiword_spec.forms, props)
alternant_multiword_spec.footnote_combined = alternant_multiword_spec.forms.footnote
end
local notes_template = [=[
<div class="roa-footnote-outer-div" style="width:100%;">
<div class="roa-footnote-inner-div">
{footnote}
</div></div>
]=]
local pres_2sv_template = '<sup><sup>tú</sup></sup><br />{pres_2sv}<sup><sup>vos</sup></sup>'
local pres_sub_2sv_template = '<sup><sup>tú</sup></sup><br />{pres_sub_2sv}<sup><sup>vos<sup class="roa-red-superscript">2</sup></sup></sup>'
local imp_2sv_template = '<sup><sup>tú</sup></sup><br />{imp_2sv}<sup><sup>vos</sup></sup>'
local basic_table = [=[
{description}<div class="NavFrame">
<div class="NavHead" align=center> {title}の活用 ([[Wiktionary:スペイン語動詞活用]]も参照)</div>
<div class="NavContent">
{\op}| class="roa-inflection-table"
|-
! colspan="3" class="roa-nonfinite-header" | <span title="infinitivo">不定詞</span>
| colspan="5" | {infinitive}
|-
! colspan="3" class="roa-nonfinite-header" | <span title="gerundio">現在分詞</span>
| colspan="5" | {gerund}
|-
! rowspan="3" colspan="2" class="roa-nonfinite-header" | <span title="participio (pasado)">過去分詞</span>
| colspan="2" class="roa-nonfinite-header" |
! colspan="2" class="roa-nonfinite-header" | <span title="masculino">男性</span>
! colspan="2" class="roa-nonfinite-header" | <span title="femenino">女性</span>
|-
! colspan="2" class="roa-nonfinite-header" | 単数
| colspan="2" | {pp_ms}
| colspan="2" | {pp_fs}
|-
! colspan="2" class="roa-nonfinite-header" | 複数
| colspan="2" | {pp_mp}
| colspan="2" | {pp_fp}
|-
! colspan="2" rowspan="2" class="roa-person-number-header" |
! colspan="3" class="roa-person-number-header" | 単数
! colspan="3" class="roa-person-number-header" | 複数
|-
! class="roa-person-number-header" | 第一人称
! class="roa-person-number-header" | 第二人称
! class="roa-person-number-header" | 第三人称
! class="roa-person-number-header" | 第一人称
! class="roa-person-number-header" | 第二人称
! class="roa-person-number-header" | 第三人称
|-{reflexive_non_finite_clause}
! rowspan="6" class="roa-indicative-left-rail" | <span title="indicativo">直説法</span>
! class="roa-native-person-number-header" |
! class="roa-native-person-number-header" | yo
! class="roa-native-person-number-header" | tú<br />vos
! class="roa-native-person-number-header" | él/ella/ello<br />usted
! class="roa-native-person-number-header" | nosotros<br />nosotras
! class="roa-native-person-number-header" | vosotros<br />vosotras
! class="roa-native-person-number-header" | ellos/ellas<br />ustedes
|-
! class="roa-finite-header" | <span title="presente de indicativo">現在</span>
| {pres_1s}
| {pres_2s}{pres_2sv_text}
| {pres_3s}
| {pres_1p}
| {pres_2p}
| {pres_3p}
|-
! class="roa-finite-header" | <span title="pretérito imperfecto (copréterito)">不完了過去</span>
| {impf_1s}
| {impf_2s}
| {impf_3s}
| {impf_1p}
| {impf_2p}
| {impf_3p}
|-
! class="roa-finite-header" | <span title="pretérito perfecto simple (pretérito indefinido)">完了過去</span>
| {pret_1s}
| {pret_2s}
| {pret_3s}
| {pret_1p}
| {pret_2p}
| {pret_3p}
|-
! class="roa-finite-header" | <span title="futuro simple (futuro imperfecto)">未来</span>
| {fut_1s}
| {fut_2s}
| {fut_3s}
| {fut_1p}
| {fut_2p}
| {fut_3p}
|-
! class="roa-finite-header" | <span title="condicional simple (pospretérito de modo indicativo)">過去未来・可能法</span>
| {cond_1s}
| {cond_2s}
| {cond_3s}
| {cond_1p}
| {cond_2p}
| {cond_3p}
|-
! class="roa-person-number-header" style="height:.75em" colspan="8" |
|-
! rowspan="5" class="roa-subjunctive-left-rail" | <span title="subjuntivo">接続法</span>
! class="roa-native-person-number-header" |
! class="roa-native-person-number-header" | yo
! class="roa-native-person-number-header" | tú<br />vos
! class="roa-native-person-number-header" | él/ella/ello<br />usted
! class="roa-native-person-number-header" | nosotros<br />nosotras
! class="roa-native-person-number-header" | vosotros<br />vosotras
! class="roa-native-person-number-header" | ellos/ellas<br />ustedes
|-
! class="roa-finite-header" | <span title="presente de subjuntivo">現在</span>
| {pres_sub_1s}
| {pres_sub_2s}{pres_sub_2sv_text}
| {pres_sub_3s}
| {pres_sub_1p}
| {pres_sub_2p}
| {pres_sub_3p}
|-
! class="roa-finite-header" | <span title="pretérito imperfecto de subjuntivo">過去</span><br />(ra)
| {impf_sub_ra_1s}
| {impf_sub_ra_2s}
| {impf_sub_ra_3s}
| {impf_sub_ra_1p}
| {impf_sub_ra_2p}
| {impf_sub_ra_3p}
|-
! class="roa-finite-header" | <span title="pretérito imperfecto de subjuntivo">過去</span><br />(se)
| {impf_sub_se_1s}
| {impf_sub_se_2s}
| {impf_sub_se_3s}
| {impf_sub_se_1p}
| {impf_sub_se_2p}
| {impf_sub_se_3p}
|-
! class="roa-finite-header" | <span title="futuro simple de subjuntivo (futuro de subjuntivo)">未来</span><sup class="roa-red-superscript">1</sup>
| {fut_sub_1s}
| {fut_sub_2s}
| {fut_sub_3s}
| {fut_sub_1p}
| {fut_sub_2p}
| {fut_sub_3p}
|-
! class="roa-person-number-header" style="height:.75em" colspan="8" |
|-
! rowspan="6" class="roa-imperative-left-rail" | <span title="imperativo">命令法</span>
! class="roa-native-person-number-header" |
! class="roa-native-person-number-header" | —
! class="roa-native-person-number-header" | tú<br />vos
! class="roa-native-person-number-header" | usted
! class="roa-native-person-number-header" | nosotros<br />nosotras
! class="roa-native-person-number-header" | vosotros<br />vosotras
! class="roa-native-person-number-header" | ustedes
|-
! class="roa-finite-header" | <span title="imperativo afirmativo">-</span>
|
| {imp_2s}{imp_2sv_text}
| {imp_3s}
| {imp_1p}
| {imp_2p}
| {imp_3p}
|-
! class="roa-finite-header" | <span title="imperativo negativo">禁止</span>
|
| {neg_imp_2s}
| {neg_imp_3s}
| {neg_imp_1p}
| {neg_imp_2p}
| {neg_imp_3p}
|{\cl}{notes_clause}</div></div>
]=]
local reflexive_non_finite_template = [=[
! rowspan="3" class="roa-nonfinite-header" | personal non-finite
! class="roa-native-person-number-header" |
! class="roa-native-person-number-header" | yo
! class="roa-native-person-number-header" | tú<br />vos
! class="roa-native-person-number-header" | él/ella/ello<br />usted
! class="roa-native-person-number-header" | nosotros<br />nosotras
! class="roa-native-person-number-header" | vosotros<br />vosotras
! class="roa-native-person-number-header" | ellos/ellas<br />ustedes
|-
! class="roa-finite-header" | <span title="infinitivo">不定詞</span>
| {infinitive_1s}
| {infinitive_2s}
| {infinitive_3s}
| {infinitive_1p}
| {infinitive_2p}
| {infinitive_3p}
|-
! class="roa-finite-header" | <span title="gerundio">現在分詞</span>
| {gerund_1s}
| {gerund_2s}
| {gerund_3s}
| {gerund_1p}
| {gerund_2p}
| {gerund_3p}
|-
! class="roa-person-number-header" style="height:.75em" colspan="8" |
|-]=]
local combined_form_combined_tu_vos_template = [=[
! class="roa-person-number-header" style="height:.35em" colspan="8" |
|-
! rowspan="2" class="roa-combined-with-imperative" | 口語命令法第二人称単数 ({tuteo}<i>/</i>{voseo}) {imp_2s}
! class="roa-finite-header" | 与格
| {imp_2s_comb_me}
| {imp_2s_comb_te}
| {imp_2s_comb_le}
| {imp_2s_comb_nos}
| ''不使用''
| {imp_2s_comb_les}
|-
! class="roa-finite-header" | 対格
| {imp_2s_comb_me}
| {imp_2s_comb_te}
| {imp_2s_comb_lo}, {imp_2s_comb_la}
| {imp_2s_comb_nos}
| ''不使用''
| {imp_2s_comb_los}, {imp_2s_comb_las}
|-]=]
local combined_form_separate_tu_vos_template = [=[
! class="roa-person-number-header" style="height:.35em" colspan="8" |
|-
! rowspan="2" class="roa-combined-with-imperative" | 口語命令法第二人称単数 ({tuteo}) {imp_2s}
! class="roa-finite-header" | 与格
| {imp_2s_comb_me}
| {imp_2s_comb_te}
| {imp_2s_comb_le}
| {imp_2s_comb_nos}
| ''不使用''
| {imp_2s_comb_les}
|-
! class="roa-finite-header" | 対格
| {imp_2s_comb_me}
| {imp_2s_comb_te}
| {imp_2s_comb_lo}, {imp_2s_comb_la}
| {imp_2s_comb_nos}
| ''不使用''
| {imp_2s_comb_los}, {imp_2s_comb_las}
|-
! class="roa-person-number-header" style="height:.35em" colspan="8" |
|-
! rowspan="2" class="roa-combined-with-imperative" | 口語命令法第二人称単数 ({voseo}) {imp_2sv}
! class="roa-finite-header" | 与格
| {imp_2sv_comb_me}
| {imp_2sv_comb_te}
| {imp_2sv_comb_le}
| {imp_2sv_comb_nos}
| ''不使用''
| {imp_2sv_comb_les}
|-
! class="roa-finite-header" | 対格
| {imp_2sv_comb_me}
| {imp_2sv_comb_te}
| {imp_2sv_comb_lo}, {imp_2sv_comb_la}
| {imp_2sv_comb_nos}
| ''不使用''
| {imp_2sv_comb_los}, {imp_2sv_comb_las}
|-]=]
local combined_form_table = [=[
{description}<div class="NavFrame">
<div class="NavHead" align=center> {title}の複合形</div>
<div class="NavContent">
これらは自動生成されたものであり、実際に使用されるものとは異なる場合がある。また、代名詞の用法は地域によって大きく異なる。
{\op}| class="inflection-table es-inflection-table"
|-
! colspan="2" rowspan="2" class="roa-person-number-header" |
! colspan="3" class="roa-person-number-header" | singular
! colspan="3" class="roa-person-number-header" | plural
|-
! class="roa-person-number-header" | 第一人称
! class="roa-person-number-header" | 第二人称
! class="roa-person-number-header" | 第三人称
! class="roa-person-number-header" | 第一人称
! class="roa-person-number-header" | 第二人称
! class="roa-person-number-header" | 第三人称
|-
! rowspan="2" class="roa-combined-with-infinitive" | 不定詞 {infinitive}
! class="roa-finite-header" | 与格
| {infinitive_comb_me}
| {infinitive_comb_te}
| {infinitive_comb_le}, {infinitive_comb_se}
| {infinitive_comb_nos}
| {infinitive_comb_os}
| {infinitive_comb_les}, {infinitive_comb_se}
|-
! class="roa-finite-header" | 対格
| {infinitive_comb_me}
| {infinitive_comb_te}
| {infinitive_comb_lo}, {infinitive_comb_la}, {infinitive_comb_se}
| {infinitive_comb_nos}
| {infinitive_comb_os}
| {infinitive_comb_los}, {infinitive_comb_las}, {infinitive_comb_se}
|-
! class="roa-person-number-header" style="height:.35em" colspan="8" |
|-
! rowspan="2" class="roa-combined-with-gerund" | 現在分詞 {gerund}
! class="roa-finite-header" | 与格
| {gerund_comb_me}
| {gerund_comb_te}
| {gerund_comb_le}, {gerund_comb_se}
| {gerund_comb_nos}
| {gerund_comb_os}
| {gerund_comb_les}, {gerund_comb_se}
|-
! class="roa-finite-header" | 対格
| {gerund_comb_me}
| {gerund_comb_te}
| {gerund_comb_lo}, {gerund_comb_la}, {gerund_comb_se}
| {gerund_comb_nos}
| {gerund_comb_os}
| {gerund_comb_los}, {gerund_comb_las}, {gerund_comb_se}
|-{tu_vos_clause}
! class="roa-person-number-header" style="height:.35em" colspan="8" |
|-
! rowspan="2" class="roa-combined-with-imperative" | 格式命令法第二人称単数 {imp_3s}
! class="roa-finite-header" | 与格
| {imp_3s_comb_me}
| ''不使用''
| {imp_3s_comb_le}, {imp_3s_comb_se}
| {imp_3s_comb_nos}
| ''不使用''
| {imp_3s_comb_les}
|-
! class="roa-finite-header" | 対格
| {imp_3s_comb_me}
| ''不使用''
| {imp_3s_comb_lo}, {imp_3s_comb_la}, {imp_3s_comb_se}
| {imp_3s_comb_nos}
| ''不使用''
| {imp_3s_comb_los}, {imp_3s_comb_las}
|-
! class="roa-person-number-header" style="height:.35em" colspan="8" |
|-
! rowspan="2" class="roa-combined-with-imperative" | 命令法第一人称複数 {imp_1p}
! class="roa-finite-header" | 与格
| ''不使用''
| {imp_1p_comb_te}
| {imp_1p_comb_le}
| {imp_1p_comb_nos}
| {imp_1p_comb_os}
| {imp_1p_comb_les}
|-
! class="roa-finite-header" | 対格
| ''不使用''
| {imp_1p_comb_te}
| {imp_1p_comb_lo}, {imp_1p_comb_la}
| {imp_1p_comb_nos}
| {imp_1p_comb_os}
| {imp_1p_comb_los}, {imp_1p_comb_las}
|-
! class="roa-person-number-header" style="height:.35em" colspan="8" |
|-
! rowspan="2" class="roa-combined-with-imperative" | 口語命令法第二人称複数 {imp_2p}
! class="roa-finite-header" | 与格
| {imp_2p_comb_me}
| ''不使用''
| {imp_2p_comb_le}
| {imp_2p_comb_nos}
| {imp_2p_comb_os}
| {imp_2p_comb_les}
|-
! class="roa-finite-header" | 対格
| {imp_2p_comb_me}
| ''不使用''
| {imp_2p_comb_lo}, {imp_2p_comb_la}
| {imp_2p_comb_nos}
| {imp_2p_comb_os}
| {imp_2p_comb_los}, {imp_2p_comb_las}
|-
! class="roa-person-number-header" style="height:.35em" colspan="8" |
|-
! rowspan="2" class="roa-combined-with-imperative" | 格式命令法第二人称複数 {imp_3p}
! class="roa-finite-header" | 与格
| {imp_3p_comb_me}
| ''不使用''
| {imp_3p_comb_le}
| {imp_3p_comb_nos}
| ''不使用''
| {imp_3p_comb_les}, {imp_3p_comb_se}
|-
! class="roa-finite-header" | 対格
| {imp_3p_comb_me}
| ''不使用''
| {imp_3p_comb_lo}, {imp_3p_comb_la}
| {imp_3p_comb_nos}
| ''不使用''
| {imp_3p_comb_los}, {imp_3p_comb_las}, {imp_3p_comb_se}
|{\cl}{notes_clause}</div></div>
]=]
local function make_table(alternant_multiword_spec)
local forms = alternant_multiword_spec.forms
forms.title = link_term(alternant_multiword_spec.lemmas[1].form)
if alternant_multiword_spec.annotation ~= "" then
forms.title = forms.title .. " (" .. alternant_multiword_spec.annotation .. ")"
end
forms.description = ""
-- Format the basic table.
forms.tuteo = tuteo_link
forms.voseo = voseo_link
forms.footnote = alternant_multiword_spec.footnote_basic
forms.reflexive_non_finite_clause = alternant_multiword_spec.refl and m_string_utilities.format(reflexive_non_finite_template, forms) or ""
forms.notes_clause = forms.footnote ~= "" and m_string_utilities.format(notes_template, forms) or ""
-- The separate_* values are computed in show_forms().
forms.pres_2sv_text = alternant_multiword_spec.separate_pres_2sv and m_string_utilities.format(pres_2sv_template, forms) or ""
forms.pres_sub_2sv_text = alternant_multiword_spec.separate_pres_sub_2sv and m_string_utilities.format(pres_sub_2sv_template, forms) or ""
forms.imp_2sv_text = alternant_multiword_spec.separate_imp_2sv and m_string_utilities.format(imp_2sv_template, forms) or ""
local formatted_basic_table = m_string_utilities.format(basic_table, forms)
-- Format the combined table.
local formatted_combined_table
if alternant_multiword_spec.refl or alternant_multiword_spec.args.nocomb or alternant_multiword_spec.clitic then
formatted_combined_table = ""
else
forms.footnote = alternant_multiword_spec.footnote_combined
forms.notes_clause = forms.footnote ~= "" and m_string_utilities.format(notes_template, forms) or ""
-- separate_imp_2sv is computed in show_forms().
local tu_vos_template = alternant_multiword_spec.separate_imp_2sv and combined_form_separate_tu_vos_template or combined_form_combined_tu_vos_template
forms.tu_vos_clause = m_string_utilities.format(tu_vos_template, forms)
formatted_combined_table = m_string_utilities.format(combined_form_table, forms)
end
-- Paste them together.
return require("Module:TemplateStyles")("Module:roa-verb/style.css") .. formatted_basic_table .. formatted_combined_table
end
-- Externally callable function to parse and conjugate a verb given user-specified arguments.
-- Return value is WORD_SPEC, an object where the conjugated forms are in `WORD_SPEC.forms`
-- for each slot. If there are no values for a slot, the slot key will be missing. The value
-- for a given slot is a list of objects {form=FORM, footnotes=FOOTNOTES}.
function export.do_generate_forms(args, source_template, headword_head, double_combined_forms_to_include)
local PAGENAME = mw.loadData("Module:headword/data").pagename
local function in_template_space()
return mw.title.getCurrentTitle().nsText == "テンプレート"
end
-- Determine the verb spec we're being asked to generate the conjugation of. This may be taken from the
-- current page title or the value of |pagename=; but not when called from {{es-verb form of}}, where the
-- page title is a non-lemma form. Note that the verb spec may omit the infinitive; e.g. it may be "<ue>".
-- For this reason, we use the value of `pagename` computed here down below, when calling normalize_all_lemmas().
local pagename = source_template ~= "es-verb form of" and args.pagename or PAGENAME
local head = headword_head or pagename
local arg1 = args[1]
if not arg1 then
if (pagename == "es-conj" or pagename == "es-verb") and in_template_space() then
arg1 = "licuar<+,ú>"
elseif pagename == "es-verb form of" and in_template_space() then
arg1 = "amar"
else
arg1 = "<>"
end
end
-- When called from {{es-verb form of}}, determine the non-lemma form whose inflections we're being asked to
-- determine. This normally comes from the page title or the value of |pagename=.
local verb_form_of_form
if source_template == "es-verb form of" then
verb_form_of_form = args.pagename
if not verb_form_of_form then
if PAGENAME == "es-verb form of" and in_template_space() then
verb_form_of_form = "ame"
else
verb_form_of_form = PAGENAME
end
end
end
local incorporated_headword_head_into_lemma = false
if arg1:find("^<.*>$") then -- missing lemma
if head:find(" ") then
-- If multiword lemma, try to add arg spec after the first word.
-- Try to preserve the brackets in the part after the verb, but don't do it
-- if there aren't the same number of left and right brackets in the verb
-- (which means the verb was linked as part of a larger expression).
local refl_clitic_verb, post = rmatch(head, "^(.-)( .*)$")
local left_brackets = rsub(refl_clitic_verb, "[^%[]", "")
local right_brackets = rsub(refl_clitic_verb, "[^%]]", "")
if #left_brackets == #right_brackets then
arg1 = iut.remove_redundant_links(refl_clitic_verb) .. arg1 .. post
incorporated_headword_head_into_lemma = true
else
-- Try again using the form without links.
local linkless_head = m_links.remove_links(head)
if linkless_head:find(" ") then
refl_clitic_verb, post = rmatch(linkless_head, "^(.-)( .*)$")
arg1 = refl_clitic_verb .. arg1 .. post
else
error("Unable to incorporate <...> spec into explicit head due to a multiword linked verb or " ..
"unbalanced brackets; please include <> explicitly: " .. arg1)
end
end
else
-- Will be incorporated through `head` below in the call to normalize_all_lemmas().
incorporated_headword_head_into_lemma = true
end
end
local parse_props = {
parse_indicator_spec = parse_indicator_spec,
allow_default_indicator = true,
allow_blank_lemma = true,
}
local alternant_multiword_spec = iut.parse_inflected_text(arg1, parse_props)
alternant_multiword_spec.pos = pos or "verbs"
alternant_multiword_spec.args = args
alternant_multiword_spec.source_template = source_template
alternant_multiword_spec.verb_form_of_form = verb_form_of_form
alternant_multiword_spec.incorporated_headword_head_into_lemma = incorporated_headword_head_into_lemma
-- Now determine if we need to generate any double-combined forms, and if so, which clitics are involved.
-- See the comment above the initialization of `verb_slot_double_combined_rows` above in add_slots().
if verb_form_of_form and rfind(verb_form_of_form, AV) then
-- All double-clitic forms have an explicit accent, so we check for this. In addition, all double-clitic forms
-- are of the form "(me|te|se|nos|os)(lo|la|le)s$". We have no alternations in Lua patterns, but we can exploit
-- the similarity of the clitics in question.
local single_comb_form, object_clitic = rmatch(verb_form_of_form, "^(.*)(l[aeo]s?)$")
if single_comb_form then
local personal_clitic = rmatch(single_comb_form, "^.*([mts]e)$")
if not personal_clitic then
personal_clitic = rmatch(single_comb_form, "^.-(n?os)$")
end
if personal_clitic then
if personal_clitic == "nos" then
-- "os" is a substring of "nos"; conceivably we could have a form ending in -n + os, and we don't
-- know whether to interpret as -n + os or - + nos.
alternant_multiword_spec.double_combined_forms_to_include =
{{"nos", object_clitic}, {"os", object_clitic}}
else
if personal_clitic == "se" then
-- Use the special "lxx" clitic for le/les when transformed into se in double-combined forms.
personal_clitic = "lxx"
end
alternant_multiword_spec.double_combined_forms_to_include = {{personal_clitic, object_clitic}}
end
end
end
end
normalize_all_lemmas(alternant_multiword_spec, pagename)
detect_all_indicator_specs(alternant_multiword_spec)
local inflect_props = {
slot_list = alternant_multiword_spec.all_verb_slots,
inflect_word_spec = conjugate_verb,
-- We add links around the generated verbal forms rather than allow the entire multiword
-- expression to be a link, so ensure that user-specified links get included as well.
include_user_specified_links = true,
}
iut.inflect_multiword_or_alternant_multiword_spec(alternant_multiword_spec, inflect_props)
-- Remove redundant brackets around entire forms.
for slot, forms in pairs(alternant_multiword_spec.forms) do
for _, form in ipairs(forms) do
form.form = iut.remove_redundant_links(form.form)
end
end
compute_categories_and_annotation(alternant_multiword_spec)
if args.json and not from_headword and not from_verb_form_of then
-- There is a circular reference in `base.alternant_multiword_spec`, which points back to top level.
iut.map_word_specs(alternant_multiword_spec, function(base)
base.alternant_multiword_spec = nil
end)
return require("Module:JSON").toJSON(alternant_multiword_spec)
end
return alternant_multiword_spec
end
-- Entry point for {{es-conj}}. Template-callable function to parse and conjugate a verb given
-- user-specified arguments and generate a displayable table of the conjugated forms.
function export.show(frame)
local parent_args = frame:getParent().args
local params = {
[1] = {},
["nocomb"] = {type = "boolean"},
["noautolinktext"] = {type = "boolean"},
["noautolinkverb"] = {type = "boolean"},
["pagename"] = {}, -- for testing/documentation pages
["json"] = {type = "boolean"}, -- for bot use
}
local args = require("Module:parameters").process(parent_args, params)
local alternant_multiword_spec = export.do_generate_forms(args, "es-conj")
if type(alternant_multiword_spec) == "string" then
-- JSON return value
return alternant_multiword_spec
end
show_forms(alternant_multiword_spec)
return make_table(alternant_multiword_spec) ..
require("Module:utilities").format_categories(alternant_multiword_spec.categories, lang, nil, nil, force_cat)
end
return export
nrsuapbpxudtklz78rg2dyh9c9mm5f8
2281219
2281206
2026-06-09T10:50:19Z
Kuroco2k
84207
2281219
Scribunto
text/plain
local export = {}
--[=[
Authorship: Ben Wing <benwing2>
]=]
--[=[
TERMINOLOGY:
-- "slot" = A particular combination of tense/mood/person/number/etc.
Example slot names for verbs are "pres_1s" (present indicative first-person singular), "pres_sub_2sv" (present
subjunctive second-person singular voseo form) "impf_sub_ra_3p" (imperfect subjunctive -ra form third-person
plural), "imp_1p_comb_lo" (imperative first-person plural combined with clitic [[lo]]).
Each slot is filled with zero or more forms.
-- "form" = The conjugated Spanish form representing the value of a given slot.
-- "lemma" = The dictionary form of a given Spanish term. For Spanish, always the infinitive.
]=]
--[=[
FIXME:
1. Implement no_pres_stressed for aterir, garantir. (NOTE: Per RAE, garantir used in all forms in Argentina/Uruguay.) [DONE]
2. Support concluyo. [DONE]
3. Fixes for veo -> ve vs. preveo -> prevé. [DONE]
4. Various more irregular verbs, e.g. predecir, redecir, bendecir, maldecir. [DONE]
5. Raising of e -> i, o -> u before -iendo, -ió, etc. occurs only in -ir verbs. [DONE]
6. Raising of e -> i, o -> u happens before subjunctive -amos, -áis in -ir verbs. [DONE]
7. Implement reflexive verbs. [DONE]
8. Implement categories. [DONE]
9. Implement show_forms. [DONE]
10. Reconcile stems.vowel_alt from irregular verbs with vowel_alt from indicators. May require
moving the irregular-verb handling code in construct_stems() into detect_indicator_spec(). [DONE]
11. Implement make_table. [DONE]
12. Vowel alternation should show u-ue (jugar), i-ie (adquirir), e-í (reír) alternations specially. [DONE]
13. Handle linking of multiword forms as is done in [[Module:es-headword]]. [DONE]
14. Implement comparison against previous module. [DONE]
15. Implement categorization of irregularities for individual tenses.
16. Support nocomb=1. [DONE]
17. (Possibly) display irregular forms in a different color, as with the old module.
18. (Possibly) display a "rule" description indicating the types of alternations.
19. Implement replace_reflexive_indicators(). [NOT DONE; SUPPORT REMOVED]
20. Implement verbs with attached clitics e.g. [[pasarlo]], [[corrérsela]]. [DONE]
21. When footnote + tú/vos notation, add a space before tú/vos.
22. Fix [[erguir]] so ie-i vowel alternation produces ye- at beginning of word, similarly for errar. Also allow
multiple vowel alternation specs in irregular verbs, for errar. Finally, ie should show as e-ye for errar
and as e-ye-i for erguir. [DONE]
23. Figure out why red links in combined forms show up as black not red.
24. Consider including alternative superseded forms of verbs like [[ciar]] (e.g. pret_3s = cio, ció with footnote).
25. Allow conjugation of suffixes e.g. -ir, -ecer; need to fix in [[Module:inflection utilities]]. [DONE]
26. Allow specification of stems esp. so that footnotes can be hung off them; use + for the default.
27. Don't remove monosyllabic accents when conjugating suffixes. [DONE]
28. If multiword expression with no <>, add <> after first word, as with [[Module:es-headword]]. [DONE]
29. (Possibly) link the parts of a reflexive or cliticized infinitive, as done in [[Module:es-headword]]. [DONE]
30. Final fixes to allow [[Module:es-headword]] to use this module. [DONE]
--]=]
local lang = require("Module:languages").getByCode("es")
local m_string_utilities = require("Module:string utilities")
local m_links = require("Module:links")
local m_table = require("Module:table")
local iut = require("Module:inflection utilities")
local put = require("Module:parse utilities")
local com = require("Module:es-common")
local force_cat = false -- set to true for debugging
local check_for_red_links = false -- set to false for debugging
local rfind = mw.ustring.find
local rmatch = mw.ustring.match
local rsplit = mw.text.split
local rsub = com.rsub
local unpack = unpack or table.unpack -- Lua 5.2 compatibility
local function link_term(term)
return m_links.full_link({ lang = lang, term = term }, "term")
end
local V = com.V -- vowel regex class
local AV = com.AV -- accented vowel regex class
local C = com.C -- consonant regex class
local tuteo_link = link_term("tuteo")
local voseo_link = link_term("voseo")
local fut_sub_note = "[rare; now chiefly used in legal language]"
local pres_sub_voseo_note = "[Argentine and Uruguayan " .. voseo_link .. " prefers the " .. tuteo_link .. "-form for the present subjunctive]"
local vowel_alternants = m_table.listToSet({"ie", "ie-i", "ye", "ye-i", "ue", "ue-u", "hue", "i", "í", "ú", "+"})
local vowel_alternant_to_desc = {
["ie"] = "e-ie",
["ie-i"] = "e-ie-i",
["ye"] = "e-ye",
["ye-i"] = "e-ye-i",
["ue"] = "o-ue",
["ue-u"] = "o-ue-u",
["hue"] = "o-hue",
["i"] = "e-i",
["í"] = "i-í",
["ú"] = "u-ú",
}
local raise_vowel = {["e"] = "i", ["o"] = "u"}
local all_persons_numbers = {
["1s"] = "1|s",
["2s"] = "2|s",
["2sv"] = "2|s|voseo",
["3s"] = "3|s",
["1p"] = "1|p",
["2p"] = "2|p",
["3p"] = "3|p",
}
local person_number_list_basic = {"1s", "2s", "3s", "1p", "2p", "3p"}
local person_number_list_voseo = {"1s", "2s", "2sv", "3s", "1p", "2p", "3p"}
local imp_person_number_list = {"2s", "2sv", "3s", "1p", "2p", "3p"}
local neg_imp_person_number_list = {"2s", "3s", "1p", "2p", "3p"}
person_number_to_reflexive_pronoun = {
["1s"] = "me",
["2s"] = "te",
["2sv"] = "te",
["3s"] = "se",
["1p"] = "nos",
["2p"] = "os",
["3p"] = "se",
}
local indicator_flags = m_table.listToSet {
"no_pres_stressed", "no_pres1_and_sub",
"only3s", "only3sp", "only3p",
"no_built_in",
}
-- Initialize all the slots for which we generate forms. The particular slots may depend on whether we're generating
-- combined slots (`not alternant_multiword_spec.nocomb`, which is always false if we're dealing with a verb with an
-- attached clitic, such as [[hincarla]], or a reflexive or partly-reflexive verb, where a partly-reflexive verb is
-- a conjoined term made up of two or more verbs, where some but not all are reflexive). It may also depend on whether
-- we're being requested to generate some double-combined forms, such as [[llevándoselo]]; see the comment below for
-- `verb_slot_double_combined_rows`.
local function add_slots(alternant_multiword_spec)
-- "Basic" slots: All slots that go into the regular table (not the combined-form table).
alternant_multiword_spec.verb_slots_basic = {
{"infinitive", "inf"},
{"infinitive_linked", "inf"},
{"gerund", "ger"},
{"pp_ms", "m|s|past|part"},
{"pp_fs", "f|s|past|part"},
{"pp_mp", "m|p|past|part"},
{"pp_fp", "f|p|past|part"},
}
-- Slots that go into the combined-form table, along with double-combined slots (e.g. [[llevándoselo]]) that are
-- requested for use with {{es-verb form of}}.
alternant_multiword_spec.verb_slots_combined = {}
-- Special slots used to handle non-reflexive parts of reflexive verbs in {{es-verb form of}}.
-- For example, for a reflexive-only verb like [[jambarse]], we want to be able to use {{es-verb form of}} on
-- [[jambe]] (which should mention that it is a part of 'me jambe', first-person singular present subjunctive, and
-- 'se jambe', third-person singular present subjunctive) or on [[jambamos]] (which should mention that it is a
-- part of 'nos jambamos', first-person plural present indicative or preterite). Similarly, we want to use
-- {{es-verb form of}} on [[jambando]] (which should mention that it is a part of 'se ... jambando', syntactic
-- variant of [[jambándose]], which is the gerund of [[jambarse]]). To do this, we need to be able to map
-- non-reflexive parts like [[jambe]], [[jambamos]], [[jambando]], etc. to their reflexive equivalent(s), to the
-- tag(s) of the equivalent(s), and, in the case of forms like [[jambando]], [[jambar]] and imperatives, to the
-- separated syntactic variant of the verb+clitic combination. We do this by creating slots for the non-reflexive
-- part equivalent of each basic reflexive slot, and for the separated syntactic-variant equivalent of each basic
-- reflexive slot that is formed of verb+clitic. We use slots in this way to deal with multiword lemmas. Note that
-- we run into difficulties mapping between reflexive verbs, non-reflexive part equivalents, and separated syntactic
-- variants if a slot contains more than one form. To handle this, if there are the same number of forms in two
-- slots we're trying to match up, we assume the forms match one-to-one; otherwise we don't match up the two slots
-- (which means {{es-verb form of}} won't work in this case, but such a case is extremely rare and not worth
-- worrying about). Alternatives that handle this "properly" are significantly more complicated and require
-- non-trivial modifications to [[Module:inflection utilities]].
local need_special_verb_form_of_slots = alternant_multiword_spec.source_template == "es-verb form of" and
alternant_multiword_spec.refl
if need_special_verb_form_of_slots then
alternant_multiword_spec.verb_slots_reflexive_verb_form_of = {
{"infinitive_non_reflexive", "-"},
{"infinitive_variant", "-"},
{"gerund_non_reflexive", "-"},
{"gerund_variant", "-"},
}
else
alternant_multiword_spec.verb_slots_reflexive_verb_form_of = {}
end
-- For generating combined forms, i.e. combinations of a basic form (specifically, infinitive, gerund or an
-- imperative form) with a clitic (or in some cases, two clitics). This is a list of lists of the form
-- {BASIC_SLOT, CLITICS} where BASIC_SLOT is the slot to add the clitic pronouns to (e.g. "gerund" or "imp_2s")
-- and CLITICS is a list of the clitic pronouns to add.
alternant_multiword_spec.verb_slot_combined_rows = {}
-- For generating double combined forms (e.g. [[llevándoselo]] or [[dámela]]). This is used by {{es-verb form of}}
-- when it detects that it is being requested to find the inflection tags for a double-combined form. The number of
-- double-combined forms is relatively large, so to optimize this, [[Module:es-inflections]] (which implements
-- {{es-verb form of}}) detects which two clitics are involved, and we only generate double-combined forms
-- involving those two clitics; this is specified using `double_combined_forms_to_include`, passed into
-- do_generate_forms(). The value of this field is a list of lists of the form {SINGLE_COMB_SLOT, CLITICS} where
-- SINGLE_COMB_SLOT is the single-combined slot to add the object clitic pronouns to (e.g. "gerund_comb_se" or
-- "imp_2s_comb_me") and CLITICS is a list of the clitic pronouns to add. CLITICS will normally be a length-one
-- list whose value is one of {"lo", "la", "le", "los", "las", "les"}.
alternant_multiword_spec.verb_slot_double_combined_rows = {}
-- Add entries for a slot with person/number variants.
-- `verb_slots` is the table to add to.
-- `slot_prefix` is the prefix of the slot, typically specifying the tense/aspect.
-- `tag_suffix` is a string listing the set of inflection tags to add after the person/number tags.
-- `person_number_list` is a list of the person/number slot suffixes to add to `slot_prefix`.
local function add_personal_slot(verb_slots, slot_prefix, tag_suffix, person_number_list)
for _, persnum in ipairs(person_number_list) do
local persnum_tag = all_persons_numbers[persnum]
local slot = slot_prefix .. "_" .. persnum
local accel = persnum_tag .. "|" .. tag_suffix
table.insert(verb_slots, {slot, accel})
end
end
-- Add a personal slot (i.e. a slot with person/number variants) to `verb_slots_basic`.
local function add_basic_personal_slot(slot_prefix, tag_suffix, person_number_list, no_special_verb_form_of_slot,
need_variant_slot)
add_personal_slot(alternant_multiword_spec.verb_slots_basic, slot_prefix, tag_suffix, person_number_list)
-- Add special slots for handling non-reflexive parts of reflexive verbs in {{es-verb form of}}.
-- See comment above in `need_special_verb_form_of_slots`.
if need_special_verb_form_of_slots and not no_special_verb_form_of_slot then
for _, persnum in ipairs(person_number_list) do
local persnum_tag = all_persons_numbers[persnum]
local basic_slot = slot_prefix .. "_" .. persnum
local accel = persnum_tag .. "|" .. tag_suffix
table.insert(alternant_multiword_spec.verb_slots_reflexive_verb_form_of, {basic_slot .. "_non_reflexive", "-"})
if need_variant_slot then
table.insert(alternant_multiword_spec.verb_slots_reflexive_verb_form_of, {basic_slot .. "_variant", "-"})
end
end
end
end
add_basic_personal_slot("pres", "pres|ind", person_number_list_voseo)
add_basic_personal_slot("impf", "impf|ind", person_number_list_basic)
add_basic_personal_slot("pret", "pret|ind", person_number_list_basic)
add_basic_personal_slot("fut", "fut|ind", person_number_list_basic)
add_basic_personal_slot("cond", "cond", person_number_list_basic)
add_basic_personal_slot("pres_sub", "pres|sub", person_number_list_voseo)
add_basic_personal_slot("impf_sub_ra", "impf|sub", person_number_list_basic)
add_basic_personal_slot("impf_sub_se", "impf|sub", person_number_list_basic)
add_basic_personal_slot("fut_sub", "fut|sub", person_number_list_basic)
-- Need variant slots because the imperative clitics are suffixed.
add_basic_personal_slot("imp", "imp", imp_person_number_list, nil, "need variant slot")
-- Don't need special non-reflexive-part slots because the negative imperative is multiword, of which the
-- individual words are 'no' + subjunctive.
add_basic_personal_slot("neg_imp", "neg|imp", neg_imp_person_number_list, "no special verb form of")
-- Don't need special non-reflexive-part slots because we don't want [[jambando]] mapping to [[jambándome]]
-- (only [[jambándose]]) or [[jambar]] mapping to [[jambarme]] (only [[jambarse]]).
add_basic_personal_slot("infinitive", "inf", person_number_list_basic, "no special verb form of")
add_basic_personal_slot("gerund", "ger", person_number_list_basic, "no special verb form of")
local third_person_object_clitics = {"lo", "la", "le", "los", "las", "les"}
-- Add combined-form slots.
if not alternant_multiword_spec.nocomb then
-- Add a row of slots representing the combination of a basic slot with a clitic. `basic_slot` is the basic slot
-- descriptor, `tag_prefix` is a string describing the inflection tags of the basic slot, and `personal_clitics`
-- is a list of the personal clitics ("me", "te", "se", "nos" or "os") to add to the basic slot.
local function add_combined_slot_row(basic_slot, tag_prefix, personal_clitics)
-- First, add each individual combined slot to `verb_slots_combined`.
local clitics_with_object = m_table.append(personal_clitics, third_person_object_clitics)
for _, clitic in ipairs(clitics_with_object) do
local slot = basic_slot .. "_comb_" .. clitic
-- You have to pass this through full_link() to get a Spanish-specific link
local accel = tag_prefix .. "|combined with [[" .. clitic .. "]]"
table.insert(alternant_multiword_spec.verb_slots_combined, {slot, accel})
end
-- Also, add the row to `verb_slot_combined_rows`.
table.insert(alternant_multiword_spec.verb_slot_combined_rows, {basic_slot, clitics_with_object})
-- Also do double-combined forms for a specific set of clitics, if requested. See the comment above
-- `verb_slot_double_combined_rows` above.
if alternant_multiword_spec.double_combined_forms_to_include then
-- Add a special "lxx" clitic for le/les when transformed into se in double-combined forms.
local personal_clitics_with_lxx = {unpack(personal_clitics)}
table.insert(personal_clitics_with_lxx, "lxx")
for _, personal_clitic in ipairs(personal_clitics_with_lxx) do
for _, object_clitic in ipairs(third_person_object_clitics) do
for _, form_to_include in ipairs(alternant_multiword_spec.double_combined_forms_to_include) do
local to_include_personal_clitic, to_include_object_clitic = unpack(form_to_include)
if personal_clitic == to_include_personal_clitic and object_clitic == to_include_object_clitic then
local single_comb_slot = basic_slot .. "_comb_" .. personal_clitic
local slot = single_comb_slot .. "_" .. object_clitic
accel_clitic = personal_clitic == "lxx" and "[[le]]/[[les]]" or "[[" .. personal_clitic .. "]]"
local accel = tag_prefix .. "|combined with indirect object " .. accel_clitic .. " and direct object [[" ..
object_clitic .. "]]"
table.insert(alternant_multiword_spec.verb_slots_combined, {slot, accel})
table.insert(alternant_multiword_spec.verb_slot_double_combined_rows,
{single_comb_slot, {object_clitic}})
break
end
end
end
end
end
end
add_combined_slot_row("infinitive", "inf", {"me", "te", "se", "nos", "os"})
add_combined_slot_row("gerund", "gerund", {"me", "te", "se", "nos", "os"})
local function add_combined_imp_slot_row(persnum, personal_clitics)
add_combined_slot_row("imp_" .. persnum, all_persons_numbers[persnum] .. "|imp", personal_clitics)
end
add_combined_imp_slot_row("2s", {"me", "te", "nos"})
add_combined_imp_slot_row("2sv", {"me", "te", "nos"})
add_combined_imp_slot_row("3s", {"me", "se", "nos"})
add_combined_imp_slot_row("1p", {"te", "nos", "os"})
add_combined_imp_slot_row("2p", {"me", "nos", "os"})
add_combined_imp_slot_row("3p", {"me", "se", "nos"})
end
-- Generate the list of all slots.
alternant_multiword_spec.all_verb_slots = {}
for _, slot_and_accel in ipairs(alternant_multiword_spec.verb_slots_basic) do
table.insert(alternant_multiword_spec.all_verb_slots, slot_and_accel)
end
for _, slot_and_accel in ipairs(alternant_multiword_spec.verb_slots_combined) do
table.insert(alternant_multiword_spec.all_verb_slots, slot_and_accel)
end
for _, slot_and_accel in ipairs(alternant_multiword_spec.verb_slots_reflexive_verb_form_of) do
table.insert(alternant_multiword_spec.all_verb_slots, slot_and_accel)
end
alternant_multiword_spec.verb_slots_basic_map = {}
for _, slotaccel in ipairs(alternant_multiword_spec.verb_slots_basic) do
local slot, accel = unpack(slotaccel)
alternant_multiword_spec.verb_slots_basic_map[slot] = accel
end
alternant_multiword_spec.verb_slots_combined_map = {}
for _, slotaccel in ipairs(alternant_multiword_spec.verb_slots_combined) do
local slot, accel = unpack(slotaccel)
alternant_multiword_spec.verb_slots_combined_map[slot] = accel
end
end
-- Return true if `form` is accented and is likely monosyllabic. Used in remove_monosyllabic_accents(); if true, we
-- run the syllabification algorithm to determine the syllable count, and if monosyllabic, remove the accent. Also used
-- in conjunction with user-specified form overrides to add an asterisk to prevent accents from being removed.
local function may_need_monosyllabic_accent_removed(form)
return not rfind(form, "^%-") and rfind(form, AV) and not rfind(form, V .. C .. V)
end
local overridable_stems = {}
-- If `add_monosyllabic_asterisk` is given, add a * to accented forms that may be monosyllabic to prevent the accent
-- from being removed in remove_monosyllabic_accents().
local function allow_multiple_values_for_override(separated_groups, data, add_monosyllabic_asterisk)
local retvals = {}
for _, separated_group in ipairs(separated_groups) do
local footnotes = data.fetch_footnotes(separated_group)
local form = separated_group[1]
if add_monosyllabic_asterisk and may_need_monosyllabic_accent_removed(form) then
form = form .. "*"
end
-- Add suppress_prefix to prevent the built-in verb prefix from being added to the override.
local retval = {form = form, footnotes = footnotes, suppress_prefix = true}
table.insert(retvals, retval)
end
return retvals
end
local function simple_choice(choices)
return function(separated_groups, data)
if #separated_groups > 1 then
data.parse_err("For spec '" .. data.prefix .. ":', only one value currently allowed")
end
if #separated_groups[1] > 1 then
data.parse_err("For spec '" .. data.prefix .. ":', no footnotes currently allowed")
end
local choice = separated_groups[1][1]
if not m_table.contains(choices, choice) then
data.parse_err("For spec '" .. data.prefix .. ":', saw value '" .. choice .. "' but expected one of '" ..
table.concat(choices, ",") .. "'")
end
return choice
end
end
for _, overridable_stem in ipairs {
"pres_unstressed",
"pres_stressed",
"pres1_and_sub",
-- Don't include pres1; use pres_1s if you need to override just that form
"impf",
"full_impf",
"pret",
{"pret_conj", simple_choice({"irreg", "ar", "er", "ir"}) },
"fut",
"cond",
"pres_sub_stressed",
"pres_sub_unstressed",
"impf_sub_ra",
"impf_sub_se",
"fut_sub",
"pp",
} do
if type(overridable_stem) == "string" then
overridable_stems[overridable_stem] = allow_multiple_values_for_override
else
local stem, validator = unpack(overridable_stem)
overridable_stems[stem] = validator
end
end
local function match_against_verbs(ref_verb, prefixes)
return function(verb)
for _, prefix in ipairs(prefixes) do
if verb == prefix .. ref_verb then
return prefix, ref_verb
end
end
return nil
end
end
--[=[
Special cases for verbs:
diluviar, atardecer: impersonal; all finite non-3s forms are nonexistent or hypothetical. Handle using
'.only3s'.
empecer, atañer, concernir: all finite non-third-person forms are nonexistent or hypothetical. Handle using '.only3sp'.
desnacer: Former module claimed an irregular past participle 'desnato'. Verb is not in RAE at all and barely exists;
unlikely to have irregular past participle.
desposeer: Former module claimed an irregular past participle 'desposeso'. Not per RAE.
valer: Former module claimed an irregular imperative 'val'. Not per RAE.
manumitir: Former module claimed an irregular past participle 'manumiso'. Not per RAE.
raer: Former module claimed a pres 1sg rao. Not per RAE.
rehuir: Handle using +ú.
sustituir: Former module claimed an irregular past participle 'sustituto'. Not per RAE.
venir: Former module claimed an irregular clitic combination ven + nos -> venos. Not per native speakers.
---------
Verbs to check: rehuir (+ú), prohibir (+í), reunir (+ú)
---------
-ir verbs:
There are several types of vowel alternations:
1. No alternation. Includes some verbs in -e- and -o-, e.g. aterir(se) (no_pres_stressed), tra(n)sgredir
(pres_stressed forms rare), abolir (pres_stressed forms rare), colorir (no_pres_stressed), sumergir, divergir,
convergir, arrecir (no_pres_stressed), rostir, polir (obsolete), condir (obsolete), possibly ascondir (obsolete),
atordir (obsolete), sacodir (obsolete), sobrevendir (possible misspelling), empedernir (no_pres_stressed),
decebir (obsolete; possibly actually like concebir, i.e. decibo not decebo),
premir (obsolete), expremir (obsolete), exir (obsolete), escreuir (obsolete; fix conjugation), escrebir (obsolete),
agredir; sometimes the stressed forms are rare or disused. (Also embaír, desvaír are no_pres_stressed.)
2a. ie: Infinitive has -e-, changing to -ie- when stressed. No raising before i+V. Only hendir, cernir, discernir,
concernir (only3sp); discernir -> discierno, discerniendo, discernió, discernamos.
2b. ye: Infinitive has -e-, changing to -ye- when stressed. No raising before i+V. Does not occur (cf. errar).
3a. ie-i: Infinitive has -e- or -i-, changing to -ie- when stressed. Raising before i+V and 1p/2p pres subjunctive:
sentir -> siento, sintiendo, sintió, sintamos.
adquirir -> adquiero, adquiriendo, adquirió, adquiramos.
3b. ye-i: Infinitive has -e-, changing to -ye- when stressed. Raising before i+V and 1p/2p pres subjunctive.
Only erguir: erguir -> yergo, irguiendo, irguió, irgamos.
4. i: Infinitive has -e-, changing to -i- when stressed. Raising before i+V and 1p/2p pres subjunctive:
vestir -> visto, vistiendo, vistió, vistamos. Variant: ceñir -> ciño, ciñendo, ciñó, ciñamos.
NOTE: preterir (no_pres_stressed).
5. ue-u: Infinitive has -o-, changing to -ue- when stressed. Raising before i+V and 1p/2p pres subjunctive:
Only dormir, morir and compounds. dormir -> duermo, durmiendo, durmió, durmamos.
6. ue: This type would be parallel to 'ie' but doesn't appear to exist.
---------
Verbs to fix (extra forms need to be excised or deleted): The above verbs under type (1) -ir vowel alternations;
[[neviscar]] (impersonal), [[acaecer]] (third-person only), [[acontecer]] (third-person only),
[[cellisquear]] (impersonal), [[pintear]] (impersonal? other meaning "to play hookey" given, not in RAE),
[[diluviar]] (impersonal). [[desabrir]] (not like abrir, rare in pres_stressed/sub forms), [[jabrir]]
(not like abrir).
Verbs with existing errors:
* [[abeldar]]: (missing <ie>) [FORMS TO DELETE]
* [[acaecer]]: (used only in 3rd person) [DELETE ALL FIRST AND SECOND PERSON FORMS]
* [[acontecer]]: (used only in 3rd person) [DELETE ALL FIRST AND SECOND PERSON FORMS]
* [[anticuar]] (conjugated without ú) [FORMS TO DELETE]
* [[antojar]]: (used only in 3rd person) [DELETE ALL FIRST AND SECOND PERSON FORMS]
* [[aerografiar]]: (conjugated without í) [FORMS TO DELETE]
* [[afiliar]]: (conjugated with í/+ should be only +) [FORMS TO DELETE]
* [[agraviar]]: (wrongly has í) [FORMS TO DELETE]
* [[arrecir]]: (not given as no_pres_stressed) [FORMS TO DELETE]
* [[aserrar]]: (missing <ie>) [FORMS TO DELETE]
* [[aspaventar]]: (missing <ie>) [OK]
* [[atesar]]: (wrongly has ie) [FORMS TO DELETE]
* [[avalentar]]: (wrongly has ie) [FORMS TO DELETE]
* [[autorregularse]] (conjugated as non-reflexive) [OK]
* [[auxiliar]]: (conjugated with í/+ should be only +) [FORMS TO DELETE]
* [[balbucir]] (pres1_and_sub nonexistent) [DELETE PRES1_AND_SUB FORMS]
* [[caçar]] (conjugated as -zar) [OK]
* [[calefacer]] (extra form caleface) [FIX]
* [[cellisquear]]: (used only in 3rd person singular) [DELETE ALL FIRST AND SECOND PERSON FORMS, ALL 3RD PLURAL FORMS AND ALL PP NON-MS FORMS]
* [[chilenizar]] (conjugated with no cons alternation) [OK]
* [[colorir]]: (not given as no_pres_stressed) [FORMS TO DELETE]
* [[comisariar]] (conjugated without í) [FORMS TO DELETE]
* [[complacer]] (missing complega in imperative 3s) [OK]
* [[comprehender]] (conjugated as comprender) [OK]
* [[decebir]] (was conjugated without <i>) [FORMS TO DELETE]
* [[desafiliar]]: (conjugated with í/+ should be only +) [FORMS TO DELETE]
* [[desagregar]] (conjugated with no cons alternation) [FORMS TO DELETE]
* [[desairar]]: (conjugated with í should be only +) [FORMS TO DELETE]
* [[descordar]]: (missing <ue>) [FORMS TO DELETE]
* [[deseleccionar]] (conjugated as desseleccionar) [OK]
* [[desestacionalizar]] (conjugated with no cons alternation) [FORMS TO DELETE]
* [[desgonzar]] (conjugated with no cons alternation) [FORMS TO DELETE]
* [[desguinzar]] (conjugated with no cons alternation) [FORMS TO DELETE]
* [[deshacer]] (extra form deshace, desháceme etc.) [OK]
* [[desnacer]] (extra form desnato etc.) [DELETE PP FORMS]
* [[desposeer]] (extra form desposeso etc.) [DELETE PP FORMS]
* [[dezmar]]: (wrongly has ie) [FORMS TO DELETE]
* [[diluviar]]: (used only in 3rd person singular) [DELETE ALL FIRST AND SECOND PERSON FORMS, ALL 3RD PLURAL FORMS AND ALL PP NON-MS FORMS]
* [[draftear]] (extraneous param lang=es) [REMOVE PARAM]
* [[ejemplarizar]] (extraneous param compound=1) [compound -> combined]
* [[ejercitar]] (extraneous param compound=1) [compound -> combined]
* [[empecer]] (empezca has imperatives, 1s in its verb form entry) [FIX]
* [[encentar]]: (wrongly has ie) [OK]
* [[encubertar]]: (wrongly has ie) [FORMS TO DELETE]
* [[entrechocar]] (conjugated with no cons alternation) [FORMS TO DELETE]
* [[entredecir]] (imp_2s has entredice should be entredí; extra future/cond forms entredeciré etc.) [FORMS TO DELETE/FIX]
* [[escenografiar]]: (conjugated without í) [FORMS TO DELETE]
* [[estar]] (incorrect combined forms, e.g. éstela instead of estela) [OK]
* [[extasiar]]: (conjugated with í/+ should be only í) [FORMS TO DELETE]
* [[facer]] (extra form face, fáceme, etc.) [FIX]
* [[ferrar]]: (missing <ie>) [FORMS TO DELETE]
* [[gloriar]]: (conjugated with í/+ should be only í) [FORMS TO DELETE]
* [[hacer]] (extra form hace, háceme, etc.) [DELETE hácete]
* [[homogeneizar]] (extra form homogeneízo) [DELETE homogeneízo, homogeneízas, homogeneíza, homogeneízan, homogeneícen, homogeneícemos]
* [[incensar]]: (missing <ie>) [FORMS TO DELETE]
* [[ir]] (extraneous param aux=ser) [REMOVE PARAM]
* [[jacer]] (extra form jace, jáceme, etc.) [FIX]
* [[jarrear]] (extraneous param impersonal=yes)
* [[litografiar]]: (conjugated without í) [FORMS TO DELETE]
* [[manumitir]] (extra form manumiso, etc.) [FIX; is an adjective]
* [[mecanografiar]]: (conjugated without í) [FORMS TO DELETE]
* [[mordiscar]] (conjugated with no cons alternation) [FORMS TO DELETE]
* [[neviscar]]: (used only in 3rd person singular) [DELETE ALL FIRST AND SECOND PERSON FORMS, ALL 3RD PLURAL FORMS AND ALL PP NON-MS FORMS]
* [[obsipar]] (conjugated as obispar) [DELETE VERB]
* [[obstar]]: (used only in 3rd person) [DELETE ALL FIRST AND SECOND PERSON FORMS]
* [[orificar]] (conjugated as orificiar) [OK]
* [[complacer]], [[placer]] (missing plega in imperative 3s, etc.) [OK]
* [[prevaler]] (extra form preval, incorrect form prévalme etc.) [DELETE preval]
* [[preterir]]: (not given as no_pres_stressed) [FORMS TO DELETE]
* [[raer]] (extra form rao) [DELETE rao]
* [[rebordar]] (extraneous param lang=es) [REMOVE PARAM]
* [[redecir]] (incorrect imp_2s redice instead of redí) [FIX]
* [[reinstitucionalizar]] (conjugated with no cons alternation) [FORMS TO DELETE]
* [[reirse]] [DELETE]
* [[serigrafiar]]: (conjugated without í) [FORMS TO DELETE]
* [[sobresalir]] (incorrect combined forms e.g. sobrésalme) [OK]
* [[superpoblar]] (missing <ue>) [FORMS TO DELETE]
* [[sustituir]] (extra form sustituto, etc.) [OK]
* [[usucapir]]: (used only in inf and pp) [DELETE ALL FORMS BUT PP]
* [[valefacer]] (extra form valeface) [FIX]
* [[valer]] (extra form val, etc.) [OK]
* LOTS OF COMBINED FORMS OF VERBS IN -iar, -uar, -ai-, -au-, -ei-, -eu-, etc.
Example: afeitar (afeítate, afeítese, afeítense). Need a script to find them.
* [[acostar]]: normally <ue> but in meaning "arrive at the coast", <>
* [[adecuar]]: <+,ú>
* [[aerografiar]]: <í>
* [[aferrar]]: <+,ie[obsolete]>
* [[afiliar]]: <>
* [[aforar]]: in meaning "to gauge, to measure": <>; in meaning "otorgar fuero": <ue>
* [[arrecir]]: <no_pres_stressed>
* [[agraviar]]: <>
* [[agriar]]: <í,+>
* [[aserrar]]: <ie>
* [[asolar]]: in meaning "destroy": <ue,+>; in meaning "to dry up": <>
* [[aspaventar]]: <ie>
* [[atentar]]: in meaning "to commit a crime" does not have vowel alt
* [[atesar]]: <>; possibly <ie> in obsolete meaning "atiesar"
* [[atestar]]: in meaning "to pack": <ie,+>; in meaning "testify": <>
* [[autoevacuarse]]: <+,ú>
* [[auxiliar]]: <>
* [[avalentar]]: <>
* [[cimentar]]: <ie,+>
* [[colar]]: most meanings <ue> but "canonically confer (an ecclesiastical benefit)" <>
* [[colorir]]: <no_pres_stressed>
* [[comisariar]]: <í>
* [[desafiliar]]: <>
* [[desaforar]]: "to deprive of fuero": <ue,+[less common]>
* [[desairar]]: <>
* [[desolar]]: <ue,+>
* [[desmembrar]]: <ie,+>
* [[dezmar]]: <>
* [[ejecutoriar]]: <í,+>
* [[emparentar]]: <ie,+>
* [[encentar]]: <>
* [[encubertar]]: <>
* [[engrosar]]: <ue,+>
* [[escenografiar]]: <í>
* [[evacuar]]: <+,ú>
* [[expatriar]]: <í,+>
* [[extasiar]]: <í>
* [[ferrar]]: <ie>
* [[follar]]: <ue>
* [[gloriar]]: <í>
* [[hibernar]]: no vowel alt or e-ie; e-ie not in RAE, ask about it
* [[historiar]]: <í,+>
* [[incensar]]: <ie>
* [[invernar]]: <ie,+>
* [[licuar]]: <+,ú>
* [[litografiar]]: <í>
* [[mecanografiar]]: <í>
* [[paliar]]: <í,+>
* [[preterir]]: <i.no_pres_stressed>
* [[promiscuar]]: <+,ú>
* [[readecuar]]: <+,ú>
* [[repatriar]]: <í,+>
* [[retrocar]]: <ue,+>
* [[serigrafiar]]: <í>
* [[soterrar]]: <ie,+>
* [[superpoblar]]: <ue>
* [[templar]]: <+,ie[in some parts of Latin America]>
* [[vidriar]]: <í,+>
Second round of verbs to fix:
* [[apropriar]]: forms point to reflexive [FORMS TO FIX]
* [[autogobernarse]]: (missing <ie>) [FORMS TO DELETE]
* [[autorreproducirse]]: (wrongly had regular preterite and impf/fut sub) [FORMS TO DELETE]
* [[aventarse]]: (missing <ie>) [FORMS TO DELETE]
* [[aventar]]: forms point to reflexive [FORMS TO FIX]
* [[culiar]]: yo culio or culío? [VERIFY]
* [[desnacer]]: delete [[dasnatos]]
* [[poseer]]: delete [[posesa]], [[posesos]], [[posesas]]
* [[reproducir]]: (wrongly had regular preterite and impf/fut sub) [FORMS TO DELETE]
* [[trasgredir]]: (wrongly had <i>) [FORMS TO DELETE]
---------
Irregular conjugations.
Each entry is processed in turn and consists of an object with two fields:
1. match=: Specifies the irregular verbs that match this object.
2. forms=: Specifies the irregular stems and forms for these verbs.
The value of match= is either a string beginning with "^" (match only the specified verb), a string not beginning
with "^" (match any verb ending in that string), or a function that is passed in the verb and should return the
prefix of the verb if it matches, otherwise nil. The function match_against_verbs() is provided to facilitate matching
a set of verbs with a common ending and specific prefixes (e.g. [[andar]] and [[desandar]] but not [[mandar]], etc.).
The value of forms= is a table specifying stems and individual override forms. Each key of the table names either a
stem (e.g. `pres_stressed`), a stem property (e.g. `vowel_alt`) or an individual override form (e.g. `pres_1s`).
Each value of a stem can either be a string (a single stem), a list of strings, or a list of objects of the form
{form = STEM, footnotes = {FOONOTES}}. Each value of an individual override should be of exactly the same form except
that the strings specify full forms rather than stems. The values of a stem property depend on the specific property
but are generally strings or booleans.
In order to understand how the stem specifications work, it's important to understand the phonetic modifications done
by combine_stem_ending(). In general, the complexities of predictable stem and ending modifications are all handled
in this function. In particular:
1. Spelling-based modifications (c/z, g/gu, gu/gü, g/j) occur automatically as appropriate for the ending.
2. Raising of e -> i, o -> u in -ir verbs before an ending beginning with i + vowel, as well as in the 1p/2p forms of
the present subjunctive (dormir -> durmiendo, durmió, durmamos), are handled here. Raising happens only for -ir
verbs and only when the stem setting `raising_conj` is true (which is normally set to true when vowel alternations
`ie-i`, `ye-i`, `ue-u`, `i`, `í` or `ú` are specified).
3. Numerous modifications are automatically made before an ending beginning with i + vowel. These include:
a. final -i of stem absorbed: sonreír -> sonrió, sonriera, sonriendo;
b. in the preterite of irregular verbs (likewise for other tenses derived from the preterite stem, i.e. imperfect
and and future subjunctive), initial i absorbed after j and u (dijeron not #dijieron, likewise for condujeron,
trajeron; also fueron not #fuyeron). This happens only when stem setting `pret_conj` == "irreg"; this must be set
explicitly by irregular verbs. Does not apply everywhere because of cases like regular [[tejer]] (tejieron not
#tejeron), regular [[concluir]] (concluyeron not #conclueron).
c. initial i of ending -> y after vowel and word-initially: poseer -> poseyó, poseyera, poseyendo; ir -> yendo;
d. initial i of ending -> y after gü, which becomes gu: argüir -> arguyó, arguyera, arguyendo;
e. initial i of ending absorbed after ñ, ll, y: tañer -> tañó, tañera, tañendo; bullir -> bulló, bullera, bullendo
4. If the ending begins with (h)i, it gets an accent after a/e/i/o to prevent the two merging into a diphthong:
caer -> caíste, caímos; reír -> reíste, reímos (pres and pret). This does not apply after u, e.g.
concluir -> concluiste, concluimos.
5. In -uir verbs (i.e. -ir verbs with stem ending in -u), a y is added before endings beginning with a/e/o:
concluir -> concluyo, concluyen, concluya, concluyamos. Note that preterite concluyó, gerund concluyendo, etc.
are handled by a different rule above (3b).
The following stems are recognized:
-- pres_unstressed: The present indicative unstressed stem (2s voseo, 1p, 2p). Also controls the imperative 2p
and gerund. Defaults to the infinitive stem.
-- pres_stressed: The present indicative stressed stem (1s, 2s, 3s, 3p). Also controls the imperative 2s.
Default is empty if indicator `no_pres_stressed`, else a vowel alternation if such an indicator is given
(e.g. `ue`, `ì`), else the infinitive stem.
-- pres1_and_sub: Overriding stem for 1s present indicative and the entire subjunctive. Only set by irregular verbs
and by the indicator `no_pres_stressed` (since verbs of this sort, e.g. [[aterir]], are missing the entire
subjunctive as well as the forms with stressed root). Used by many irregular verbs, e.g. [[caer]], [[roer]],
[[salir]], [[tener]], [[valer]], [[venir]], etc. Some verbs set this and then supply an override for the pres_1sg
if it's irregular, e.g. [[saber]], with irregular subjunctive stem "sep-" and special 1s present indicative "sé*"
(the * indicates that the monosyllabic accent should not be removed).
-- pres1: Special stem for 1s present indicative. Normally, do not set this explicitly. If you need to specify an
irregular 1s present indicative, use the form override pres_1s= to specify the entire form. Defaults to
pres1_and_sub if given, else pres_stressed.
-- pres_sub_unstressed: The present subjunctive unstressed stem (1p, 2p, also 2s voseo for -ar verbs). Defaults to
pres1_and_sub if given, else the infinitive stem.
-- pres_sub_stressed: The present subjunctive stressed stem (1s, 2s, 3s, 1p, also 2s voseo for -er/-ir verbs). Defaults
to pres1.
-- impf: The imperfect stem. Defaults to the infinitive stem.
-- pret: The preterite stem. Defaults to the infinitive stem.
-- pret_conj: Determines the set of endings used in the preterite. Should be one of "ar", "er", "ir" or "irreg".
Defaults to the conjugation as determined from the infinitive.
-- fut: The future stem. Defaults to the infinitive stem.
-- cond: The conditional stem. Defaults to fut.
-- impf_sub_ra: The imperfect subjunctive -ra stem. Defaults to the preterite stem.
-- impf_sub_se: The imperfect subjunctive -se stem. Defaults to the preterite stem.
-- fut_sub: The future subjunctive stem. Defaults to the preterite stem.
-- pp: The past participle stem. Default is based on the verb conjugation: infinitive stem + "ad" for -ar verbs,
otherwise infinitive stem + "id".
]=]
local built_in_conjugations = {
{
-- andar, desandar
-- we don't want to match e.g. mandar.
match = match_against_verbs("andar", {"", "des"}),
forms = {pret = "anduv", pret_conj = "irreg"}
},
{
-- asir, desasir
match = "asir",
-- use 'asgu' because we're in a front environment; if we use 'asg', we'll get '#asjo'
forms = {pres1_and_sub = "asgu"}
},
{
-- abrir, cubrir and compounds
match = function(verb)
local prefix, base_verb = rmatch(verb, "^(.*)(brir)$")
-- Only match abrir, cubrir and compounds, and don't match desabrir/jabrir
if not prefix then
return nil
elseif not prefix:find("a$") and not prefix:find("cu$") then
return nil
elseif prefix == "desa" or prefix == "ja" then
return nil
else
return prefix, base_verb
end
end,
forms = {pp = "biert"}
},
{
match = "caber",
forms = {pres1_and_sub = "quep", pret = "cup", pret_conj = "irreg", fut = "cabr"}
},
{
-- caer, decaer, descaer, recaer
match = "caer",
-- use 'caigu' because we're in a front environment; if we use 'caig', we'll get '#caijo'
forms = {pres1_and_sub = "caigu"}
},
{
-- cocer, escocer, precocer, etc.
match = "cocer",
-- override cons_alt, otherwise the verb would be categorized as a c-zc alternating verb
forms = {vowel_alt = "ue", pres1 = "cuez", pres_sub_unstressed = "coz", cons_alt = "c-z"}, -- not cozco, as would normally be generated
},
{
-- dar, desdar
match = match_against_verbs("dar", {"", "des"}),
forms = {
-- we need to override various present indicative forms and add an accent for the compounds;
-- not needed for the simplex and in fact the accents will be removed in that case
pres_1s = "doy",
pres_2s = "dás",
pres_3s = "dá",
pres_2p = "dáis",
pres_3p = "dán",
pret = "d", pret_conj = "er",
pres_sub_1s = "dé*", -- * signals that the monosyllabic accent must remain
pres_sub_2s = "dés",
pres_sub_3s = "dé*",
pres_sub_2p = "déis",
pres_sub_3p = "dén",
imp_2s = "dá",
}
},
{
-- decir, redecir, entredecir
match = match_against_verbs("decir", {"", "re", "entre"}),
forms = {
-- for this and variant verbs in -decir, we set cons_alt to false because we don't want the
-- verb categorized as a c-zc alternating verb, which would happen by default
-- use 'digu' because we're in a front environment; if we use 'dig', we'll get '#dijo'
pres1_and_sub = "digu", vowel_alt = "i", cons_alt = false, pret = "dij", pret_conj = "irreg",
pp = "dich", fut = "dir",
imp_2s = "dí" -- need the accent for the compounds; it will be removed in the simplex
}
},
{
-- antedecir, interdecir
match = match_against_verbs("decir", {"ante", "inter"}),
forms = {
pres1_and_sub = "digu", vowel_alt = "i", cons_alt = false, pret = "dij", pret_conj = "irreg",
pp = "dich", fut = "dir" -- imp_2s regular
}
},
{
-- bendecir, maldecir
match = match_against_verbs("decir", {"ben", "mal"}),
forms = {
pres1_and_sub = "digu", vowel_alt = "i", cons_alt = false, pret = "dij", pret_conj = "irreg",
pp = {"decid", "dit"} -- imp_2s regular, fut regular
}
},
{
-- condecir, contradecir, desdecir, predecir, others?
match = "decir",
forms = {
pres1_and_sub = "digu", vowel_alt = "i", cons_alt = false, pret = "dij", pret_conj = "irreg",
pp = "dich", fut = {"decir", "dir"} -- imp_2s regular
}
},
{
match = "^desvaír",
forms = {
pres_2s = "desvaes",
pres_3s = "desvae",
pres_3p = "desvaen",
imp_2s = "desvae"
}
},
{
-- conducir, producir, reducir, traducir, etc.
match = "ducir",
forms = {pret = "duj", pret_conj = "irreg"}
},
{
-- elegir, reelegir; not preelegir, per RAE
match = match_against_verbs("elegir", {"", "re"}),
forms = {vowel_alt = "i", pp = {"elegid", "elect"}}
},
{
-- erguir
match = "^erguir",
forms = {
vowel_alt = {"i", "ye-i"},
-- We would not need to make this verb irregular except for the alternative unstressed present subjunctive forms
-- in yerg-. We can't use pres_sub_unstressed = {"irgu", "yergu"} because the "i" and "ye-i" vowel alternations
-- are e->i raising in the unstressed present subjunctive and we wrongly get irgamos/yirgamos etc.
pres_sub_2sv = {"irgás", "yergás"},
pres_sub_1p = {"irgamos", "yergamos"},
pres_sub_2p = {"irgáis", "yergáis"},
},
},
{
match = "^estar",
forms = {
pres_1s = "estoy",
pres_2s = "estás",
pres_2sv = "estás",
pres_3s = "está",
pres_3p = "están",
pret = "estuv",
pret_conj = "irreg",
pres_sub_1s = "esté",
pres_sub_2s = "estés",
pres_sub_2sv = "estés",
pres_sub_3s = "esté",
pres_sub_3p = "estén",
imp_2s = "está",
imp_2sv = "está",
}
},
{
-- freír, refreír
match = "freír",
forms = {vowel_alt = "í", pp = {"freíd", "frit"}}
},
{
match = "garantir",
forms = {
pres_stressed = {{form = "garant", footnotes = {"[only used in Argentina and Uruguay]"}}},
pres1_and_sub = {{form = "garant", footnotes = {"[only used in Argentina and Uruguay]"}}},
}
},
{
match = "^haber",
forms = {
pres_1s = "he",
pres_2s = "has",
pres_2sv = "has",
pres_3s = {"ha", {form = "hay", footnotes = {"[used impersonally]"}}},
pres_1p = "hemos",
pres_3p = "han",
pres1_and_sub = "hay", -- only for subjunctive as we override pres_1s
pret = "hub",
pret_conj = "irreg",
imp_2s = {"habe", "he"},
imp_2sv = {"habe", "he"},
fut = "habr",
}
},
{
match = "satisfacer",
forms = {
-- see below for cons_alt setting and pres1_and_sub setting
pres1_and_sub = "satisfagu", cons_alt = false, pret = "satisfic", pret_conj = "irreg",
pp = "satisfech", fut = "satisfar", imp_2s = {"satisface", "satisfaz"}
}
},
{
match = match_against_verbs("hacer", {"contra", "re"}),
-- contrahacer/rehacer require an extra accent in the preterite (rehíce, rehízo).
forms = {
-- see below for cons_alt setting and pres1_and_sub setting
pres1_and_sub = "hagu", cons_alt = false,
pret = "hic", pret_1s = "híce", pret_3s = "hízo", pret_conj = "irreg",
pp = "hech", fut = "har", imp_2s = "haz"
}
},
{
-- hacer, deshacer, contrahacer, rehacer, facer, desfacer, jacer
match = function(verb) return rmatch(verb, "^(.*[hjf])(acer)$") end,
forms = {
-- for these verbs, we set cons_alt to false because we don't want the verb categorized as a
-- c-zc alternating verb, which would happen by default
-- use 'agu' because we're in a front environment; if we use 'ag', we'll get '#hajo'
pres1_and_sub = "agu", cons_alt = false, pret = "ic", pret_conj = "irreg", pp = "ech",
fut = "ar", imp_2s = "az"
}
},
{
-- imprimir, reimprimir
match = "imprimir",
forms = {pp = {"imprimid", "impres"}}
},
{
-- infecir
match = "infecir",
-- override cons_alt, otherwise the verb would be categorized as a c-zc alternating verb
forms = {vowel_alt = "i", pres1 = "infiz", pres_sub_unstressed = "infez", cons_alt = "c-z"}, -- not infizco, as would normally be generated
},
{
match = "infecir",
-- override cons_alt, otherwise the verb would be categorized as a c-zc alternating verb
forms = {pres1_and_sub = "infez", cons_alt = "c-z"}, -- not mezco, as would normally be generated
},
{
match = "^ir",
forms = {
pres_1s = "voy",
pres_2s = "vas",
pres_2sv = "vas",
pres_3s = "va",
pres_1p = "vamos",
pres_2p = "vais",
pres_3p = "van",
pres1_and_sub = "vay", -- only for subjunctive as we override pres_1s
full_impf = "ib",
impf_1p = "íbamos",
pret = "fu",
pret_conj = "irreg", -- this signals that fu + -ieron -> fueron not fuyeron
pret_1s = "fui",
pret_3s = "fue",
imp_2s = "ve",
imp_2sv = "andá",
imp_1p = {"vamos", "vayamos"},
refl_imp_2p = {"idos", "iros"},
imp_2p_comb_os = {"idos", "iros"},
}
},
{
-- mecer, remecer
-- we don't want to match e.g. adormecer, estremecer
match = match_against_verbs("mecer", {"re", ""}),
-- override cons_alt, otherwise the verb would be categorized as a c-zc alternating verb
forms = {pres1_and_sub = "mez", cons_alt = "c-z"}, -- not mezco, as would normally be generated
},
{
-- morir, desmorir, premorir
match = "morir",
forms = {vowel_alt = "ue-u", pp = "muert"},
},
{
-- oír, desoír, entreoír, trasoír
match = "oír",
-- use 'oigu' because we're in a front environment; if we use 'oig', we'll get '#oijo'
forms = {pres1_and_sub = "oigu"}
},
{
match = "olver", -- solver, volver, bolver and derivatives
forms = {vowel_alt = "ue", pp = "uelt"}
},
{
-- placer, desplacer
match = "placer",
forms = {
pret_3s = {"plació", {form = "plugo", footnotes = {"[archaic]"}}},
pret_3p = {"placieron", {form = "pluguieron", footnotes = {"[archaic]"}}},
pres_sub_3s = {"plazca", {form = "plega", footnotes = {"[archaic]"}}, {form = "plegue", footnotes = {"[archaic]"}}},
impf_sub_ra_3s = {"placiera", {form = "pluguiera", footnotes = {"[archaic]"}}},
impf_sub_ra_3p = {"placieran", {form = "pluguieran", footnotes = {"[archaic]"}}},
impf_sub_se_3s = {"placiese", {form = "pluguiese", footnotes = {"[archaic]"}}},
impf_sub_se_3p = {"placiesen", {form = "pluguiesen", footnotes = {"[archaic]"}}},
fut_sub_3s = {"placiere", {form = "pluguiere", footnotes = {"[archaic]"}}},
fut_sub_3p = {"placieren", {form = "pluguieren", footnotes = {"[archaic]"}}},
}
},
{
match = "poder",
forms = {vowel_alt = "ue", pret = "pud", pret_conj = "irreg", fut = "podr", gerund = "pudiendo"}
},
{
-- poner, componer, deponer, imponer, oponer, suponer, many others
match = "poner",
forms = {
-- use 'pongu' because we're in a front environment; if we use 'pong', we'll get '#ponjo'
pres1_and_sub = "pongu", pret = "pus", pret_conj = "irreg", fut = "pondr", pp = "puest",
imp_2s = "pón" -- need the accent for the compounds; it will be removed in the simplex
}
},
{
-- proveer, desproveer
match = "proveer",
forms = {pp = {"provist", "proveíd"}},
},
{
match = "pudrir",
forms = {pp = "podrid"}
},
{
-- querer, desquerer, malquerer
match = "querer",
forms = {vowel_alt = "ie", pret = "quis", pret_conj = "irreg", fut = "querr"}
},
{
match = "^raer",
-- use 'raigu' because we're in a front environment; if we use 'raig', we'll get '#raijo'
forms = {pres1_and_sub = {"raigu", "ray"}}
},
{
-- roer, corroer
match = "roer",
-- use 'roigu' because we're in a front environment; if we use 'roig', we'll get '#roijo'
forms = {pres1_and_sub = {"ro", "roigu", "roy"}}
},
{
-- romper, entrerromper, arromper, derromper; not corromper; FIXME: not sure about interromper (obsolete)
match = function(verb)
local prefix, base_verb = rmatch(verb, "^(.*)(romper)$")
-- Don't match corromper
if prefix == "cor" then
return nil
else
return prefix, base_verb
end
end,
forms = {pp = "rot"}
},
{
-- saber, resaber
match = "saber",
forms = {
pres_1s = "sé*", -- * signals that the monosyllabic accent must remain
pres1_and_sub = "sep", -- only for subjunctive as we override pres_1s
pret = "sup",
pret_conj = "irreg",
fut = "sabr",
}
},
{
match = "salir",
forms = {
-- use 'salgu' because we're in a front environment; if we use 'salg', we'll get '#saljo'
pres1_and_sub = "salgu", fut = "saldr", imp_2s = "sal",
-- These don't exist per the RAE.
imp_2s_comb_lo = {}, imp_2s_comb_los = {}, imp_2s_comb_la = {}, imp_2s_comb_las = {},
imp_2s_comb_le = {}, imp_2s_comb_les = {},
},
},
{
match = "scribir", -- escribir, describir, proscribir, etc.
forms = {pp = {"scrit", {form = "script", footnotes = {"[Argentina and Uruguay]"}}}}
},
{
match = "^ser",
forms = {
pres_1s = "soy",
pres_2s = "eres",
pres_2sv = "sos",
pres_3s = "es",
pres_1p = "somos",
pres_2p = "sois",
pres_3p = "son",
pres1_and_sub = "se", -- only for subjunctive as we override pres_1s
full_impf = "er",
impf_1p = "éramos",
pret = "fu",
pret_conj = "irreg", -- this signals that fu + -ieron -> fueron not fuyeron
pret_1s = "fui",
pret_3s = "fue",
fut = "ser",
imp_2s = "sé*", -- * signals that the monosyllabic accent must remain
imp_2sv = "sé*",
}
},
{
match = "^soler",
forms = {
vowel_alt = "ue",
fut = {{form = "soler", footnotes = {"[rare but acceptable]"}}},
fut_sub = {{form = "sol", footnotes = {"[rare but acceptable]"}}},
pp = {{form = "solid", footnotes = {"[rare but acceptable]"}}},
}
},
{
-- tener, abstener, contener, detener, obtener, sostener, and many others
match = "tener",
forms = {
-- use 'tengu' because we're in a front environment; if we use 'teng', we'll get '#tenjo'
pres1_and_sub = "tengu", vowel_alt = "ie", pret = "tuv", pret_conj = "irreg", fut = "tendr",
imp_2s = "tén" -- need the accent for the compounds; it will be removed in the simplex
}
},
{
-- traer, atraer, detraer, distraer, extraer, sustraer, and many others
match = "traer",
-- use 'traigu' because we're in a front environment; if we use 'traig', we'll get '#traijo'
forms = {pres1_and_sub = "traigu", pret = "traj", pret_conj = "irreg"}
},
{
-- valer, equivaler, prevaler
match = "valer",
-- use 'valgu' because we're in a front environment; if we use 'valg', we'll get '#valjo'
forms = {pres1_and_sub = "valgu", fut = "valdr"}
},
{
match = "venir",
forms = {
-- use 'vengu' because we're in a front environment; if we use 'veng', we'll get '#venjo'
pres1_and_sub = "vengu", vowel_alt = "ie-i", pret = "vin", pret_conj = "irreg",
-- uniquely for this verb, pres sub 2sv/1p/2p do not raise the vowel even though we are an
-- e-ie-i verb (contrast sentir -> sintamos/sintáis)
pres_sub_2sv = "vengás", pres_sub_1p = "vengamos", pres_sub_2p = "vengáis",
fut = "vendr", imp_2s = "vén" -- need the accent for the compounds; it will be removed in the simplex
}
},
{
-- We want to match antever etc. but not atrever etc. No way to avoid listing each verb.
match = match_against_verbs("ver", {"ante", "entre", "pre", "re", "tras", ""}),
forms = {
-- we need to override various present indicative forms and add an accent for the compounds;
-- not needed for the simplex and in fact the accents will be removed in that case
pres_2s = "vés",
pres_2sv = "vés",
pres_3s = "vé",
pres_2p = "véis",
pres_3p = "vén",
pres1_and_sub = "ve",
impf = "ve", pp = "vist",
imp_2s = "vé" -- need the accent for the compounds; it will be removed in the simplex
}
},
{
-- yacer, adyacer, subyacer
match = "yacer",
-- use 'yazqu/yazgu/yagu' because we're in a front environment; see 'decir' above
forms = {pres1_and_sub = {"yazqu", "yazgu", "yagu"}, imp_2s = {"yace", "yaz"}}
},
}
local reflexive_masc_forms = {
["su"] = {"mi", "tu", "su", "nuestro", "vuestro", "su"},
["sus"] = {"mis", "tus", "sus", "nuestros", "vuestros", "sus"},
["sí"] = {"mí", "ti", "sí", "nosotros", "vosotros", "sí"},
["consigo"] = {"conmigo", "contigo", "consigo", "con nosotros", "con vosotros", "consigo"},
}
local reflexive_fem_forms = {
["su"] = {"mi", "tu", "su", "nuestra", "vuestra", "su"},
["sus"] = {"mis", "tus", "sus", "nuestras", "vuestras", "sus"},
["sí"] = {"mí", "ti", "sí", "nosotras", "vosotras", "sí"},
["consigo"] = {"conmigo", "contigo", "consigo", "con nosotras", "con vosotras", "consigo"},
}
local reflexive_forms = {
["se"] = {"me", "te", "se", "nos", "os", "se"},
["suyo"] = {"mío", "tuyo", "suyo", "nuestro", "vuestro", "suyo"},
["suya"] = {"mía", "tuya", "suya", "nuestra", "vuestra", "suya"},
["suyos"] = {"míos", "tuyos", "suyos", "nuestros", "vuestros", "suyos"},
["suyas"] = {"mías", "tuyas", "suyas", "nuestras", "vuestras", "suyas"},
}
local function skip_slot(base, slot, allow_overrides)
if not allow_overrides and (base.basic_overrides[slot] or base.combined_overrides[slot] or
base.refl and base.basic_reflexive_only_overrides[slot]) then
-- Skip any slots for which there are overrides.
return true
end
if base.only3s and (slot:find("^pp_f") or slot:find("^pp_mp")) then
-- diluviar, atardecer, neviscar; impersonal verbs have only masc sing pp
return true
end
if not slot:find("[123]") then
-- Don't skip non-personal slots.
return false
end
if base.nofinite then
return true
end
if (base.only3s or base.only3sp or base.only3p) and (slot:find("^imp_") or slot:find("^neg_imp_")) then
return true
end
if base.only3s and not slot:find("3s") then
-- diluviar, atardecer, neviscar
return true
end
if base.only3sp and not slot:find("3[sp]") then
-- atañer, concernir
return true
end
if base.only3p and not slot:find("3p") then
-- [[caer cuatro gotas]], [[caer chuzos de punta]], [[entrarle los siete males]]
return true
end
return false
end
-- Add the `stem` to the `ending` for the given `slot` and apply any phonetic modifications.
-- `is_combining_ending` is true if `ending` is actually the ending (this function is also
-- called to combine prefix + stem). WARNING: This function is written very carefully; changes
-- to it can easily have unintended consequences.
local function combine_stem_ending(base, slot, stem, ending, is_combining_ending)
if not is_combining_ending then
return stem .. ending
end
if base.stems.raising_conj and (rfind(ending, "^i" .. V) or
slot == "pres_sub_1p" or slot == "pres_sub_2p" or slot == "pres_sub_2sv") then
-- need to raise e -> i, o -> u: dormir -> durmió, durmiera, durmiendo, durmamos
stem = rsub(stem, "([eo])(" .. C .. "*)$", function(vowel, rest) return raise_vowel[vowel] .. rest end)
-- also with stem ending in -gu or -qu (e.g. erguir -> irguió, irguiera, irguiendo, irgamos)
stem = rsub(stem, "([eo])(" .. C .. "*[gq]u)$", function(vowel, rest) return raise_vowel[vowel] .. rest end)
end
-- Lots of sound changes involving endings beginning with i + vowel
if rfind(ending, "^i" .. V) then
-- (1) final -i of stem absorbed: sonreír -> sonrió, sonriera, sonriendo; note that this rule may be fed
-- by the preceding one (stem sonre- raised to sonri-, then final i absorbed)
stem = stem:gsub("i$", "")
-- (2) In the preterite of irregular verbs (likewise for other tenses derived from the preterite stem, i.e.
-- imperfect and future subjunctive), initial i absorbed after j (dijeron not #dijieron, likewise for
-- condujeron, trajeron) and u (fueron not #fuyeron). Does not apply in regular verb tejer (tejieron not
-- #tejeron) and concluir (concluyeron not #conclueron).
if base.stems.pret_conj == "irreg" and rfind(stem, "[ju]$") then
ending = ending:gsub("^i", "")
end
-- (3) initial i -> y after vowel and word-initially: poseer -> poseyó, poseyera, poseyendo;
-- concluir -> concluyó, concluyera, concluyendo; ir -> yendo; but not conseguir/delinquir
if stem == "" or (rfind(stem, V .. "$") and not rfind(stem, "[gq]u$")) then
ending = ending:gsub("^i", "y")
end
-- (4) -gü + ie- -> -guye-: argüir -> arguyó, arguyera, arguyendo
if stem:find("gü$") then
-- transfer the y to the stem to avoid gü -> gu below in front/back conversions
stem = stem:gsub("ü$", "uy")
ending = ending:gsub("^i", "")
end
-- (5) initial i absorbed after ñ, ll, y: tañer -> tañó, tañera, tañendo; bullir -> bulló, bullera, bullendo
if rfind(stem, "[ñy]$") or rfind(stem, "ll$") then
ending = ending:gsub("^i", "")
end
end
-- If ending begins with i, it must get an accent after a/e/i/o to prevent the two merging into a diphthong:
-- caer -> caíste, caímos; reír -> reíste, reímos (pres and pret). This does not apply after u, e.g.
-- concluir -> concluiste, concluimos.
if ending:find("^i") and stem:find("[aeio]$") then
ending = ending:gsub("^i", "í")
end
-- If -oír/-uir (i.e. -ir with stem ending in -o/u, e.g. oír, concluir), a y must be added before endings
-- beginning with a/e/o. Check for base.stems.pret_conj == "irreg" to exclude stem fu- of [[ir]].
if base.conj == "ir" and rfind(ending, "^[aeoáéó]") and base.stems.pret_conj ~= "irreg" then
if rfind(stem, "[aoú]$") then -- oír -> oye, rehuir -> rehúyo/rehúye (with indicator 'ú')
stem = stem .. "y"
elseif rfind(stem, "[^gq]u$") then -- concluir, but not conseguir or delinquir
stem = stem .. "y"
elseif stem:find("ü$") then -- argüir -> arguyendo
stem = stem:gsub("ü$", "uy")
end
end
-- Spelling changes in the stem; it depends on whether the stem given is the pre-front-vowel or
-- pre-back-vowel variant, as indicated by `frontback`. We want these front-back spelling changes to happen
-- between stem and ending, not between prefix and stem; the prefix may not have the same "front/backness"
-- as the stem.
local is_front = rfind(ending, "^[eiéí]")
if base.frontback == "front" and not is_front then
-- parecer -> parezco, conducir -> conduzco; use zqu to avoid triggering the following gsub();
-- the third line will replace zqu -> zc
if slot ~= "pret_3s" then -- exclude hice -> hizo (not #hizco)
stem = rsub(stem, "(" .. V .. ")c$", "%1zqu")
end
stem = stem:gsub("sc$", "squ") -- evanescer -> evanesco, fosforescer -> fosforesco
stem = stem:gsub("c$", "z") -- ejercer -> ejerzo, uncir -> unzo
stem = stem:gsub("qu$", "c") -- delinquir -> delinco, parecer -> parezqu- -> parezco
stem = stem:gsub("g$", "j") -- coger -> cojo, afligir -> aflijo
stem = stem:gsub("gu$", "g") -- distinguir -> distingo
stem = stem:gsub("gü$", "gu") -- may not occur; argüir -> arguyo handled above
elseif base.frontback == "back" and is_front then
stem = stem:gsub("gu$", "gü") -- averiguar -> averigüé
stem = stem:gsub("g$", "gu") -- cargar -> cargué
stem = stem:gsub("c$", "qu") -- marcar -> marqué
stem = rsub(stem, "[çz]$", "c") -- aderezar/adereçar -> aderecé
end
return stem .. ending
end
local function check_stems_for_suppress_prefix(slot, stems)
-- Check whether any or all stems have `suppress_prefix`.
local any_suppress_prefix = false
local any_not_suppress_prefix = false
if type(stems) == "table" then
if stems.suppress_prefix then
-- A single form object.
any_suppress_prefix = true
else
for _, stem in ipairs(stems) do
if type(stem) == "table" and stem.suppress_prefix then
any_suppress_prefix = true
else
any_not_suppress_prefix = true
end
end
end
else
any_not_suppress_prefix = true
end
if any_suppress_prefix and any_not_suppress_prefix then
-- This should never happen because suppress_prefix is set on user-specified stem and individual form
-- overrides, which should completely replace built-in overrides (which don't have suppress_prefix).
error("Internal error: For slot '" .. slot .. ", saw a mixture of suppress-prefix and non-suppress-prefix stems, and can't handle")
else
return any_suppress_prefix
end
end
local function add(base, slot, stems, endings, is_combining_ending, allow_overrides)
if skip_slot(base, slot, allow_overrides) then
return
end
local function do_combine_stem_ending(stem, ending)
return combine_stem_ending(base, slot, stem, ending, is_combining_ending)
end
iut.add_forms(base.forms, slot, stems, endings, do_combine_stem_ending, nil, nil, base.all_footnotes)
end
local function add3(base, slot, stems, endings, allow_overrides)
local suppress_prefix = base.prefix == "" or check_stems_for_suppress_prefix(slot, stems)
if suppress_prefix then
return add(base, slot, stems, endings, "is combining ending", allow_overrides)
end
if skip_slot(base, slot, allow_overrides) then
return
end
local is_combining_ending = false
local function do_combine_stem_ending(stem, ending)
return combine_stem_ending(base, slot, stem, ending, is_combining_ending)
end
-- Have to reimplement add_multiple_forms() ourselves due to the is_combining_ending
-- flag, which needs to be different when adding prefix to stems vs. stems to ending.
-- Otherwise we get e.g. #reímpreso instead of reimpreso.
local tempdest = {}
iut.add_forms(tempdest, slot, base.prefix, stems, do_combine_stem_ending)
is_combining_ending = true
iut.add_forms(base.forms, slot, tempdest[slot], endings, do_combine_stem_ending)
end
local function insert_form(base, slot, form)
if not skip_slot(base, slot) then
iut.insert_form(base.forms, slot, form)
end
end
local function insert_forms(base, slot, forms)
if not skip_slot(base, slot) then
iut.insert_forms(base.forms, slot, forms)
end
end
local function add_single_stem_tense(base, slot_pref, stems, s1, s2, s3, p1, p2, p3)
local function addit(slot, ending)
add3(base, slot_pref .. "_" .. slot, stems, ending)
end
addit("1s", s1)
addit("2s", s2)
addit("3s", s3)
addit("1p", p1)
addit("2p", p2)
addit("3p", p3)
end
local function add_present_indic(base)
local function addit(slot, stems, ending)
add3(base, "pres_" .. slot, stems, ending)
end
local s2, s2v, s3, p1, p2, p3
if base.conj == "ar" then
s2, s2v, s3, p1, p2, p3 = "as", "ás", "a", "amos", "áis", "an"
elseif base.conj == "er" then
s2, s2v, s3, p1, p2, p3 = "es", "és", "e", "emos", "éis", "en"
elseif base.conj == "ir" then
s2, s2v, s3, p1, p2, p3 = "es", "ís", "e", "imos", "ís", "en"
else
error("Internal error: Unrecognized conjugation " .. base.conj)
end
addit("1s", base.stems.pres1, "o")
addit("2s", base.stems.pres_stressed, s2)
addit("2sv", base.stems.pres_unstressed, s2v)
addit("3s", base.stems.pres_stressed, s3)
addit("1p", base.stems.pres_unstressed, p1)
addit("2p", base.stems.pres_unstressed, p2)
addit("3p", base.stems.pres_stressed, p3)
end
local function add_present_subj(base)
local function addit(slot, stems, ending)
add3(base, "pres_sub_" .. slot, stems, ending)
end
local s1, s2, s2v, s3, p1, p2, p3, voseo_stem
if base.conj == "ar" then
s1, s2, s2v, s3, p1, p2, p3 = "e", "es", "és", "e", "emos", "éis", "en"
else
s1, s2, s2v, s3, p1, p2, p3 = "a", "as", "ás", "a", "amos", "áis", "an"
end
addit("1s", base.stems.pres_sub_stressed, s1)
addit("2s", base.stems.pres_sub_stressed, s2)
addit("2sv", base.stems.pres_sub_unstressed, s2v)
addit("3s", base.stems.pres_sub_stressed, s3)
addit("1p", base.stems.pres_sub_unstressed, p1)
addit("2p", base.stems.pres_sub_unstressed, p2)
addit("3p", base.stems.pres_sub_stressed, p3)
end
local function add_imper(base)
local function addit(slot, stems, ending)
add3(base, "imp_" .. slot, stems, ending)
end
if base.conj == "ar" then
addit("2s", base.stems.pres_stressed, "a")
addit("2sv", base.stems.pres_unstressed, "á")
addit("2p", base.stems.pres_unstressed, "ad")
elseif base.conj == "er" then
addit("2s", base.stems.pres_stressed, "e")
addit("2sv", base.stems.pres_unstressed, "é")
addit("2p", base.stems.pres_unstressed, "ed")
elseif base.conj == "ir" then
addit("2s", base.stems.pres_stressed, "e")
addit("2sv", base.stems.pres_unstressed, "í")
addit("2p", base.stems.pres_unstressed, "id")
else
error("Internal error: Unrecognized conjugation " .. base.conj)
end
end
local function add_finite_non_present(base)
local function add_tense(slot, stem, s1, s2, s3, p1, p2, p3)
add_single_stem_tense(base, slot, stem, s1, s2, s3, p1, p2, p3)
end
local stems = base.stems
if stems.full_impf then
-- An override needs to be supplied for the impf_1p due to the accent on the stem.
add_tense("impf", stems.full_impf, "a", "as", "a", {}, "ais", "an")
elseif base.conj == "ar" then
add_tense("impf", stems.impf, "aba", "abas", "aba", "ábamos", "abais", "aban")
else
add_tense("impf", stems.impf, "ía", "ías", "ía", "íamos", "íais", "ían")
end
if stems.pret_conj == "irreg" then
add_tense("pret", stems.pret, "e", "iste", "o", "imos", "isteis", "ieron")
elseif stems.pret_conj == "ar" then
add_tense("pret", stems.pret, "é", "aste", "ó", "amos", "asteis", "aron")
else
add_tense("pret", stems.pret, "í", "iste", "ió", "imos", "isteis", "ieron")
end
if stems.pret_conj == "ar" then
add_tense("impf_sub_ra", stems.impf_sub_ra, "ara", "aras", "ara", "áramos", "arais", "aran")
add_tense("impf_sub_se", stems.impf_sub_se, "ase", "ases", "ase", "ásemos", "aseis", "asen")
add_tense("fut_sub", stems.fut_sub, "are", "ares", "are", "áremos", "areis", "aren")
else
add_tense("impf_sub_ra", stems.impf_sub_ra, "iera", "ieras", "iera", "iéramos", "ierais", "ieran")
add_tense("impf_sub_se", stems.impf_sub_se, "iese", "ieses", "iese", "iésemos", "ieseis", "iesen")
add_tense("fut_sub", stems.fut_sub, "iere", "ieres", "iere", "iéremos", "iereis", "ieren")
end
add_tense("fut", stems.fut, "é", "ás", "á", "emos", "éis", "án")
add_tense("cond", stems.cond, "ía", "ías", "ía", "íamos", "íais", "ían")
end
local function add_non_finite_forms(base)
local stems = base.stems
local function addit(slot, stems, ending)
add3(base, slot, stems, ending)
end
insert_form(base, "infinitive", {form = base.verb})
-- Also insert "infinitive + reflexive pronoun" combinations if we're handling a reflexive verb. See comment below for
-- "gerund + reflexive pronoun" combinations.
if base.refl then
for _, persnum in ipairs(person_number_list_basic) do
insert_form(base, "infinitive_" .. persnum, {form = base.verb})
end
end
local ger_ending = base.conj == "ar" and "ando" or "iendo"
addit("gerund", stems.pres_unstressed, ger_ending)
-- Also insert "gerund + reflexive pronoun" combinations if we're handling a reflexive verb. We insert exactly the same
-- form as for the bare gerund; later on in add_reflexive_or_fixed_clitic_to_forms(), we add the appropriate clitic
-- pronouns. It's important not to do this for non-reflexive verbs, because in that case, the clitic pronouns won't be
-- added, and {{es-verb form of}} will wrongly consider all these combinations as possible inflections of the bare
-- gerund. Thanks to [[User:JeffDoozan]] for this bug fix.
if base.refl then
for _, persnum in ipairs(person_number_list_basic) do
addit("gerund_" .. persnum, stems.pres_unstressed, ger_ending)
end
end
addit("pp_ms", stems.pp, "o")
addit("pp_fs", stems.pp, "a")
addit("pp_mp", stems.pp, "os")
addit("pp_fp", stems.pp, "as")
end
local function copy_subjunctives_to_imperatives(base)
-- Copy subjunctives to imperatives, unless there's an override for the given slot (as with the imp_1p of [[ir]]).
for _, persnum in ipairs({"3s", "1p", "3p"}) do
local from = "pres_sub_" .. persnum
local to = "imp_" .. persnum
insert_forms(base, to, iut.map_forms(base.forms[from], function(form) return form end))
end
end
-- Remove monosyllabic accents (e.g. the 3sg preterite of fiar is fio not #fió). Note that there are a
-- few monosyllabic verb forms that intentionally have an accent, to distinguish them from other words
-- with the same pronunciation. These are as follows:
-- (1) [[sé]] 1sg present indicative of [[saber]];
-- (2) [[sé]] 2sg imperative of [[ser]];
-- (3) [[dé]] 1sg and 3sg present subjunctive of [[dar]].
-- For these, a * is added, which indicates that the accent needs to remain. If we see such a *, we remove
-- it but otherwise leave the form alone.
local function remove_monosyllabic_accents(base)
for _, slotaccel in ipairs(base.alternant_multiword_spec.verb_slots_basic) do
local slot, accel = unpack(slotaccel)
if base.forms[slot] then
for _, form in ipairs(base.forms[slot]) do
if form.form:find("%*") then -- * means leave alone any accented vowel
form.form = form.form:gsub("%*", "")
elseif may_need_monosyllabic_accent_removed(form.form) then
-- Has an accented vowel and no VCV sequence and not a suffix; may be monosyllabic, in which
-- case we need to remove the accent. Check # of syllables and remove accent if only 1. Note
-- that the checks for accented vowel and VCV sequence are not strictly needed, but are
-- optimizations to avoid running the whole syllabification algorithm on every verb form.
local syllables = com.syllabify(form.form)
if #syllables == 1 then
form.form = com.remove_accent_from_syllable(syllables[1])
end
end
end
end
end
end
-- Add the appropriate clitic pronouns in `clitics` to the forms in `base_slot`. `store_cliticized_form` is a function
-- of three arguments (clitic, formobj, cliticized_form) and should store the cliticized form for the specified clitic
-- and form object.
local function add_forms_with_clitic(base, base_slot, clitics, store_cliticized_form)
-- the special slot lxx is for le/les clitics that become "se" in double clitics
if base_slot:match("_comb_lxx$") then
base_slot = base_slot:gsub("_comb_lxx$", "_comb_le")
end
if not base.forms[base_slot] then
mw.log("unhandled base_slot " .. base_slot)
-- This can happen, e.g. in only3s/only3sp/only3p verbs.
return
end
for _, formobj in ipairs(base.forms[base_slot]) do
-- Figure out the correct accenting of the verb when a clitic pronoun is attached to it. We may need to
-- add or remove an accent mark:
-- (1) No accent mark currently, none needed: infinitive sentar -> sentarlo; imperative singular ten -> tenlo;
-- (2) Accent mark currently, still needed: infinitive oír -> oírlo;
-- (3) No accent mark currently, accent needed: imperative singular siente -> siéntelo;
-- (4) Accent mark currently, not needed: imperative singular está -> estalo, sé -> selo.
local syllables = com.syllabify(formobj.form)
local sylno = com.stressed_syllable(syllables)
table.insert(syllables, "lo")
local needs_accent = com.accent_needed(syllables, sylno)
if needs_accent then
syllables[sylno] = com.add_accent_to_syllable(syllables[sylno])
else
syllables[sylno] = com.remove_accent_from_syllable(syllables[sylno])
end
table.remove(syllables) -- remove added clitic pronoun
local reaccented_form = table.concat(syllables)
for _, clitic in ipairs(clitics) do
local cliticized_form
-- Some further special cases.
if base_slot == "imp_1p" and (clitic == "nos" or clitic == "os") then
-- Final -s disappears: sintamos + nos -> sintámonos, sintamos + os -> sintámoos
cliticized_form = reaccented_form:gsub("s$", "") .. clitic
elseif base_slot == "imp_2p" and clitic == "os" then
-- Final -d disappears, which may cause an accent to be required:
-- haced + os -> haceos, sentid + os -> sentíos
if reaccented_form:find("id$") then
cliticized_form = reaccented_form:gsub("id$", "íos")
else
cliticized_form = reaccented_form:gsub("d$", "os")
end
else
cliticized_form = reaccented_form .. clitic
end
store_cliticized_form(clitic, formobj, cliticized_form)
end
end
end
-- Generate the combinations of verb form (infinitive, gerund or various imperatives) + clitic pronoun.
local function add_combined_forms(base)
for _, base_slot_and_clitics in ipairs(base.alternant_multiword_spec.verb_slot_combined_rows) do
local base_slot, clitics = unpack(base_slot_and_clitics)
add_forms_with_clitic(base, base_slot, clitics,
function(clitic, formobj, cliticized_form)
insert_form(base, base_slot .. "_comb_" .. clitic,
{form = cliticized_form, footnotes = formobj.footnotes})
end
)
end
for _, single_comb_slot_and_clitics in ipairs(base.alternant_multiword_spec.verb_slot_double_combined_rows) do
local single_comb_slot, clitics = unpack(single_comb_slot_and_clitics)
-- Handle le -> se transformation for double clitics
if single_comb_slot:match("_comb_lxx$") then
add_forms_with_clitic(base, single_comb_slot, clitics,
function(clitic, formobj, cliticized_form)
-- Only add se version for accusative clitics (lo/la/los/las)
if clitic:match("^l[aeo]") then
cliticized_form = cliticized_form:gsub("le" .. clitic .. "$", "se" .. clitic)
insert_form(base, single_comb_slot .. "_" .. clitic,
{form = cliticized_form, footnotes = formobj.footnotes})
end
end
)
end
add_forms_with_clitic(base, single_comb_slot, clitics,
function(clitic, formobj, cliticized_form)
insert_form(base, single_comb_slot .. "_" .. clitic,
{form = cliticized_form, footnotes = formobj.footnotes})
end
)
end
end
local function process_slot_overrides(base, do_basic, reflexive_only)
local overrides = reflexive_only and base.basic_reflexive_only_overrides or
do_basic and base.basic_overrides or base.combined_overrides
for slot, forms in pairs(overrides) do
local suppress_prefix = base.prefix == "" or check_stems_for_suppress_prefix(slot, forms)
add(base, slot, suppress_prefix and "" or base.prefix, forms, false, "allow overrides")
end
end
-- Prefix `form` with `clitic`, adding fixed text `between` between them. Add links as appropriate unless the user
-- requested no links. Check whether form already has brackets (as will be the case if the form has a fixed clitic).
local function add_clitic_to_form(base, clitic, between, form)
if base.alternant_multiword_spec.args.noautolinkverb then
return clitic .. between .. form
else
local clitic_pref = "[[" .. clitic .. "]]" .. between
if form:find("%[%[") then
return clitic_pref .. form
else
return clitic_pref .. "[[" .. form .. "]]"
end
end
end
-- Add a reflexive pronoun or fixed clitic, e.g. [[lo]], as appropriate to the base form that were generated.
-- `do_joined` means to do only the forms where the pronoun is joined to the end of the form; otherwise, do only the
-- forms where it is not joined and precedes the form.
local function add_reflexive_or_fixed_clitic_to_forms(base, do_reflexive, do_joined)
for _, slotaccel in ipairs(base.alternant_multiword_spec.verb_slots_basic) do
local slot, accel = unpack(slotaccel)
local clitic
if not do_reflexive then
clitic = base.clitic
elseif slot:find("[123]") then
local persnum = slot:match("^.*_(.-)$")
clitic = person_number_to_reflexive_pronoun[persnum]
else
clitic = "se"
end
if base.forms[slot] then
if do_reflexive and slot:find("^pp_") or slot == "infinitive_linked" then
-- do nothing with reflexive past participles or with infinitive linked (handled at the end)
elseif slot:find("^neg_imp_") then
error("Internal error: Should not have forms set for negative imperative at this stage")
else
local slot_has_suffixed_clitic = slot:find("infinitive") or slot:find("gerund") or slot:find("^imp_")
-- Maybe generate non-reflexive parts and separated syntactic variants for use in {{es-verb form of}}.
-- See comment in add_slots() above `need_special_verb_form_of_slots`. Check for do_joined so we only
-- run this code once.
if do_reflexive and do_joined and base.alternant_multiword_spec.source_template == "es-verb form of" and
-- Skip personal variants of infinitives and gerunds so we don't think [[jambando]] is a
-- non-reflexive equivalent of [[jambándome]].
not slot:find("infinitive_") and not slot:find("gerund_") then
-- Clone the forms because we will be destructively modifying them just below, adding the reflexive
-- pronoun.
insert_forms(base, slot .. "_non_reflexive", mw.clone(base.forms[slot]))
if slot_has_suffixed_clitic then
insert_forms(base, slot .. "_variant", iut.map_forms(base.forms[slot], function(form)
return add_clitic_to_form(base, clitic, " ... ", form)
end))
end
end
if slot_has_suffixed_clitic then
if do_joined then
add_forms_with_clitic(base, slot, {clitic},
function(clitic, formobj, cliticized_form)
formobj.form = cliticized_form
end
)
end
elseif not do_joined then
-- Add clitic as separate word before all other forms.
for _, form in ipairs(base.forms[slot]) do
form.form = add_clitic_to_form(base, clitic, " ", form.form)
end
end
end
end
end
end
local function handle_infinitive_linked(base)
-- Compute linked versions of potential lemma slots, for use in {{es-verb}}.
-- We substitute the original lemma (before removing links) for forms that
-- are the same as the lemma, if the original lemma has links.
for _, slot in ipairs({"infinitive"}) do
insert_forms(base, slot .. "_linked", iut.map_forms(base.forms[slot], function(form)
if form == base.lemma and rfind(base.linked_lemma, "%[%[") then
return base.linked_lemma
else
return form
end
end))
end
end
local function generate_negative_imperatives(base)
-- Copy subjunctives to negative imperatives, preceded by "no".
for _, persnum in ipairs(neg_imp_person_number_list) do
local from = "pres_sub_" .. persnum
local to = "neg_imp_" .. persnum
insert_forms(base, to, iut.map_forms(base.forms[from], function(form)
if base.alternant_multiword_spec.args.noautolinkverb then
return "no " .. form
elseif form:find("%[%[") then
-- already linked, e.g. when reflexive
return "[[no]] " .. form
else
return "[[no]] [[" .. form .. "]]"
end
end))
end
end
-- Process specs given by the user using 'addnote[SLOTSPEC][FOOTNOTE][FOOTNOTE][...]'.
local function process_addnote_specs(base)
for _, spec in ipairs(base.addnote_specs) do
for _, slot_spec in ipairs(spec.slot_specs) do
slot_spec = "^" .. slot_spec .. "$"
for slot, forms in pairs(base.forms) do
if rfind(slot, slot_spec) then
-- To save on memory, side-effect the existing forms.
for _, form in ipairs(forms) do
form.footnotes = iut.combine_footnotes(form.footnotes, spec.footnotes)
end
end
end
end
end
end
local function add_missing_links_to_forms(base)
-- Any forms without links should get them now. Redundant ones will be stripped later.
for slot, forms in pairs(base.forms) do
for _, form in ipairs(forms) do
if not form.form:find("%[%[") then
form.form = "[[" .. form.form .. "]]"
end
end
end
end
local function conjugate_verb(base)
add_present_indic(base)
add_present_subj(base)
add_imper(base)
add_finite_non_present(base)
add_non_finite_forms(base)
-- This should happen before add_combined_forms() so overrides of basic forms end up part of the combined forms.
process_slot_overrides(base, "do basic") -- do basic slot overrides
-- This should happen after process_slot_overrides() in case a derived slot is based on an override (as with the
-- imp_3s of [[dar]], [[estar]]).
copy_subjunctives_to_imperatives(base)
-- This should happen after process_slot_overrides() because overrides may have accents in them that need to be
-- removed. (This happens e.g. for most present indicative forms of [[ver]], which have accents in them for the
-- prefixed derived verbs, but the accents shouldn't be present in the base verb.)
remove_monosyllabic_accents(base)
if not base.nocomb then
add_combined_forms(base)
end
-- We need to add joined reflexives, then joined and non-joined clitics, then non-joined reflexives, so we get
-- [[házmelo]] but [[no]] [[me]] [[lo]] [[haga]].
if base.refl then
-- This should happen after remove_monosyllabic_accents() so the * marking the preservation of monosyllabic
-- accents doesn't end up in the middle of a word.
add_reflexive_or_fixed_clitic_to_forms(base, "do reflexive", "do joined")
process_slot_overrides(base, "do basic", "do reflexive") -- do reflexive-only basic slot overrides
end
if base.clitic then
-- This should happen after reflexives are added.
add_reflexive_or_fixed_clitic_to_forms(base, false, "do joined")
add_reflexive_or_fixed_clitic_to_forms(base, false, false)
end
if base.refl then
add_reflexive_or_fixed_clitic_to_forms(base, "do reflexive", false)
end
-- This should happen after add_reflexive_or_fixed_clitic_to_forms() so negative imperatives get the reflexive pronoun
-- and clitic in them.
generate_negative_imperatives(base)
if not base.nocomb then
process_slot_overrides(base, false) -- do combined slot overrides
end
-- This should happen before add_missing_links_to_forms() so that the comparison `form == base.lemma`
-- in handle_infinitive_linked() works correctly and compares unlinked forms to unlinked forms.
handle_infinitive_linked(base)
process_addnote_specs(base)
if not base.alternant_multiword_spec.args.noautolinkverb then
add_missing_links_to_forms(base)
end
end
local function parse_indicator_spec(angle_bracket_spec)
-- Store the original angle bracket spec so we can reconstruct the overall conj spec with the lemma(s) in them.
local base = {
angle_bracket_spec = angle_bracket_spec,
user_basic_overrides = {},
user_stems = {},
addnote_specs = {},
}
local function parse_err(msg)
error(msg .. ": " .. angle_bracket_spec)
end
local function fetch_footnotes(separated_group)
local footnotes
for j = 2, #separated_group - 1, 2 do
if separated_group[j + 1] ~= "" then
parse_err("Extraneous text after bracketed footnotes: '" .. table.concat(separated_group) .. "'")
end
if not footnotes then
footnotes = {}
end
table.insert(footnotes, separated_group[j])
end
return footnotes
end
local inside = angle_bracket_spec:match("^<(.*)>$")
assert(inside)
if inside == "" then
return base
end
local segments = put.parse_balanced_segment_run(inside, "[", "]")
local dot_separated_groups = put.split_alternating_runs(segments, "%.")
for i, dot_separated_group in ipairs(dot_separated_groups) do
local first_element = dot_separated_group[1]
if first_element == "addnote" then
local spec_and_footnotes = fetch_footnotes(dot_separated_group)
if #spec_and_footnotes < 2 then
parse_err("Spec with 'addnote' should be of the form 'addnote[SLOTSPEC][FOOTNOTE][FOOTNOTE][...]'")
end
local slot_spec = table.remove(spec_and_footnotes, 1)
local slot_spec_inside = rmatch(slot_spec, "^%[(.*)%]$")
if not slot_spec_inside then
parse_err("Internal error: slot_spec " .. slot_spec .. " should be surrounded with brackets")
end
local slot_specs = rsplit(slot_spec_inside, ",")
-- FIXME: Here, [[Module:it-verb]] called strip_spaces(). Generally we don't do this. Should we?
table.insert(base.addnote_specs, {slot_specs = slot_specs, footnotes = spec_and_footnotes})
elseif indicator_flags[first_element] then
if #dot_separated_group > 1 then
parse_err("No footnotes allowed with '" .. first_element .. "' spec")
end
if base[first_element] then
parse_err("Spec '" .. first_element .. "' specified twice")
end
base[first_element] = true
elseif rfind(first_element, ":") then
local colon_separated_groups = put.split_alternating_runs(dot_separated_group, "%s*:%s*")
local first_element = colon_separated_groups[1][1]
if #colon_separated_groups[1] > 1 then
parse_err("Can't attach footnotes directly to '" .. first_element .. "' spec; attach them to the " ..
"colon-separated values following the initial colon")
end
if overridable_stems[first_element] then
if base.user_stems[first_element] then
parse_err("Overridable stem '" .. first_element .. "' specified twice")
end
table.remove(colon_separated_groups, 1)
base.user_stems[first_element] = overridable_stems[first_element](colon_separated_groups,
{prefix = first_element, base = base, parse_err = parse_err, fetch_footnotes = fetch_footnotes})
else -- assume a basic override; we validate further later when the possible slots are available
if base.user_basic_overrides[first_element] then
parse_err("Basic override '" .. first_element .. "' specified twice")
end
table.remove(colon_separated_groups, 1)
base.user_basic_overrides[first_element] = allow_multiple_values_for_override(
colon_separated_groups,
{prefix = first_element, base = base, parse_err = parse_err, fetch_footnotes = fetch_footnotes},
"add monosyllabic asterisk"
)
end
else
local comma_separated_groups = put.split_alternating_runs(dot_separated_group, "%s*,%s*")
for j = 1, #comma_separated_groups do
local alt = comma_separated_groups[j][1]
if not vowel_alternants[alt] then
if #comma_separated_groups == 1 then
parse_err("Unrecognized spec or vowel alternant '" .. alt .. "'")
else
parse_err("Unrecognized vowel alternant '" .. alt .. "'")
end
end
if base.vowel_alt then
for _, existing_alt in ipairs(base.vowel_alt) do
if existing_alt.form == alt then
parse_err("Vowel alternant '" .. alt .. "' specified twice")
end
end
else
base.vowel_alt = {}
end
table.insert(base.vowel_alt, {form = alt, footnotes = fetch_footnotes(comma_separated_groups[j])})
end
end
end
return base
end
-- Normalize all lemmas, substituting the pagename for blank lemmas and adding links to multiword lemmas.
local function normalize_all_lemmas(alternant_multiword_spec, pagename)
-- (1) Add links to all before and after text. Remember the original text so we can reconstruct the verb spec later.
if not alternant_multiword_spec.args.noautolinktext then
iut.add_links_to_before_and_after_text(alternant_multiword_spec, "remember original")
end
-- (2) Remove any links from the lemma, but remember the original form
-- so we can use it below in the 'lemma_linked' form.
iut.map_word_specs(alternant_multiword_spec, function(base)
if base.lemma == "" then
base.lemma = pagename
end
base.user_specified_lemma = base.lemma
base.lemma = m_links.remove_links(base.lemma)
local refl_verb, clitic = rmatch(base.lemma, "^(.-)(l[aeo]s?)$")
if not refl_verb then
refl_verb, clitic = base.lemma, nil
end
local verb, refl = rmatch(refl_verb, "^(.-)(se)$")
if not verb then
verb, refl = refl_verb, nil
end
base.user_specified_verb = verb
base.refl = refl
base.clitic = clitic
if base.refl and base.clitic then
-- We have to parse the verb suffix to see how to construct the base verb; e.g.
-- abrírsela -> abrir but oírsela -> oír. We parse the verb suffix again in all cases
-- in detect_indicator_spec(), after splitting off the prefix of irrregular verbs.
local actual_verb
local inf_stem, suffix = rmatch(base.user_specified_verb, "^(.*)([aáeéií]r)$")
if not inf_stem then
error("Unrecognized infinitive: " .. base.user_specified_verb)
end
if suffix == "ír" and inf_stem:find("[aeo]$") then
-- accent on suffix should remain
base.verb = base.user_specified_verb
else
base.verb = inf_stem .. com.remove_accent_from_syllable(suffix)
end
else
base.verb = base.user_specified_verb
end
local linked_lemma
if alternant_multiword_spec.args.noautolinkverb or base.user_specified_lemma:find("%[%[") then
linked_lemma = base.user_specified_lemma
elseif base.refl or base.clitic then
-- Reconstruct the linked lemma with separate links around base verb, reflexive pronoun and clitic.
linked_lemma = base.user_specified_verb == base.verb and "[[" .. base.user_specified_verb .. "]]" or
"[[" .. base.verb .. "|" .. base.user_specified_verb .. "]]"
linked_lemma = linked_lemma .. (refl and "[[" .. refl .. "]]" or "") ..
(clitic and "[[" .. clitic .. "]]" or "")
else
-- Add links to the lemma so the user doesn't specifically need to, since we preserve
-- links in multiword lemmas and include links in non-lemma forms rather than allowing
-- the entire form to be a link.
linked_lemma = iut.add_links(base.user_specified_lemma)
end
base.linked_lemma = linked_lemma
end)
end
local function construct_stems(base)
local stems = base.stems
stems.pres_unstressed = stems.pres_unstressed or base.inf_stem
stems.pres_stressed = stems.pres_stressed or
-- If no_pres_stressed given, pres_stressed stem should be empty so no forms are generated.
base.no_pres_stressed and {} or
base.vowel_alt or
base.inf_stem
stems.pres1_and_sub = stems.pres1_and_sub or
-- If no_pres_stressed given, the entire subjunctive is missing.
base.no_pres_stressed and {} or
-- If no_pres1_and_sub given, pres1 and entire subjunctive are missing.
base.no_pres1_and_sub and {} or
nil
stems.pres1 = stems.pres1 or stems.pres1_and_sub or stems.pres_stressed
stems.impf = stems.impf or base.inf_stem
stems.pret = stems.pret or base.inf_stem
stems.pret_conj = stems.pret_conj or base.conj
stems.fut = stems.fut or base.inf_stem .. base.conj
stems.cond = stems.cond or stems.fut
stems.pres_sub_stressed = stems.pres_sub_stressed or stems.pres1
stems.pres_sub_unstressed = stems.pres_sub_unstressed or stems.pres1_and_sub or stems.pres_unstressed
stems.impf_sub_ra = stems.impf_sub_ra or stems.pret
stems.impf_sub_se = stems.impf_sub_se or stems.pret
stems.fut_sub = stems.fut_sub or stems.pret
stems.pp = stems.pp or base.conj == "ar" and
combine_stem_ending(base, "pp_ms", base.inf_stem, "ad", "is combining ending") or
-- use combine_stem_ending esp. so we get reído, caído, etc.
combine_stem_ending(base, "pp_ms", base.inf_stem, "id", "is combining ending")
end
-- Make a list of the slots given in `list1` and optionally `list2`, with `prefix` added to the beginning of each slot
-- name. The elements of each list are of the form {SLOT, ACCEL}. Used for error messages.
local function construct_possible_slots(list1, list2, prefix)
list2 = list2 or {}
prefix = prefix or ""
local slots = {}
local function insert_list_slots(list)
for _, slotaccel in ipairs(list) do
local slot, accel = unpack(slotaccel)
table.insert(slots, prefix .. slot)
end
end
insert_list_slots(list1)
insert_list_slots(list2)
return m_table.serialCommaJoin(slots)
end
local function detect_indicator_spec(base)
base.forms = {}
base.non_reflexive_forms = {}
base.stems = {}
if (base.only3s and 1 or 0) + (base.only3sp and 1 or 0) + (base.only3p and 1 or 0) > 1 then
error("Only one of 'only3s', 'only3sp' and 'only3p' can be specified")
end
base.basic_overrides = {}
base.basic_reflexive_only_overrides = {}
base.combined_overrides = {}
if not base.no_built_in then
for _, built_in_conj in ipairs(built_in_conjugations) do
if type(built_in_conj.match) == "function" then
base.prefix, base.non_prefixed_verb = built_in_conj.match(base.verb)
elseif built_in_conj.match:find("^%^") and rsub(built_in_conj.match, "^%^", "") == base.verb then
-- begins with ^, for exact match, and matches
base.prefix, base.non_prefixed_verb = "", base.verb
else
base.prefix, base.non_prefixed_verb = rmatch(base.verb, "^(.*)(" .. built_in_conj.match .. ")$")
end
if base.prefix then
-- we found a built-in verb
base.irreg_verb = true
for stem, forms in pairs(built_in_conj.forms) do
if stem:find("^refl_") then
stem = stem:gsub("^refl_", "")
if not base.alternant_multiword_spec.verb_slots_basic_map[stem] then
error("Internal error: setting for 'refl_" .. stem .. "' does not refer to a basic verb slot")
end
base.basic_reflexive_only_overrides[stem] = forms
elseif base.alternant_multiword_spec.verb_slots_basic_map[stem] then
-- an individual form override of a basic form
base.basic_overrides[stem] = forms
elseif base.alternant_multiword_spec.verb_slots_combined_map[stem] then
-- an individual form override of a combined form
base.combined_overrides[stem] = forms
else
base.stems[stem] = forms
end
end
break
end
end
end
-- Override built-in-verb stems and overrides with user-specified ones.
for stem, values in pairs(base.user_stems) do
base.stems[stem] = values
end
for override, values in pairs(base.user_basic_overrides) do
if override:find("^refl_") then
if not base.refl then
error("Can't set reflexive-only override '" .. override .. "' on a non-reflexive verb")
end
override = override:gsub("^refl_", "")
if not base.alternant_multiword_spec.verb_slots_basic_map[override] then
error("Unrecognized reflexive-only override 'refl_" .. override .. "': possible slots are " ..
construct_possible_slots(base.alternant_multiword_spec.verb_slots_basic, nil, "refl_"))
end
base.basic_reflexive_only_overrides[override] = values
elseif base.alternant_multiword_spec.verb_slots_basic_map[override] then
base.basic_overrides[override] = values
elseif base.alternant_multiword_spec.verb_slots_combined_map[override] then
base.combined_overrides[override] = values
else
error("Unrecognized override '" .. override .. "': possible slots are " ..
construct_possible_slots(base.alternant_multiword_spec.verb_slots_basic,
base.alternant_multiword_spec.verb_slots_combined))
end
end
base.prefix = base.prefix or ""
base.non_prefixed_verb = base.non_prefixed_verb or base.verb
local inf_stem, suffix = rmatch(base.non_prefixed_verb, "^(.*)([aeií]r)$")
if not inf_stem then
error("Unrecognized infinitive: " .. base.verb)
end
base.inf_stem = inf_stem
suffix = suffix == "ír" and "ir" or suffix
base.conj = suffix
base.frontback = suffix == "ar" and "back" or "front"
if base.stems.vowel_alt then -- built-in verb with specified vowel alternation
if base.vowel_alt then
error(base.verb .. " is a recognized built-in verb, and should not have vowel alternations specified with it")
end
base.vowel_alt = iut.convert_to_general_list_form(base.stems.vowel_alt)
end
-- Propagate built-in-verb indicator flags to `base` and combine with user-specified flags.
for indicator_flag, _ in pairs(indicator_flags) do
base[indicator_flag] = base[indicator_flag] or base.stems[indicator_flag]
end
-- Convert vowel alternation indicators into stems.
if base.vowel_alt then
for _, altform in ipairs(base.vowel_alt) do
altform.alt = altform.form -- save original indicator
local alt = altform.alt
if base.conj == "ir" then
local raising = (
alt == "ie-i" or alt == "ye-i" or alt == "ue-u" or alt == "i" or alt == "í" or alt == "ú"
)
if base.stems.raising_conj == nil then
base.stems.raising_conj = raising
elseif base.stems.raising_conj ~= raising then
error("Can't currently support a mixture of raising (e.g. 'ie-i') and non-raising (e.g. 'ie') vowel alternations in -ir verbs")
end
end
if alt == "+" then
altform.form = base.inf_stem
else
local normalized_alt = alt
if alt == "ie-i" or alt == "ye-i" or alt == "ue-u" then
if base.conj ~= "ir" then
error("母音交替 '" .. alt .. "' は -ir動詞のみです")
end
-- ie-i is like i except for the vowel raising before i+V, similarly for ye-i, ue-u,
-- so convert appropriately.
normalized_alt = alt == "ie-i" and "ie" or alt == "ye-i" and "ye" or "ue"
end
local ret = com.apply_vowel_alternation(base.inf_stem, normalized_alt)
if ret.err then
error("To use '" .. alt .. "', present stem '" .. base.inf_stem .. "' " .. ret.err)
end
altform.form = ret.ret
end
end
end
end
local function detect_all_indicator_specs(alternant_multiword_spec)
-- Propagate some settings up; some are used internally, others by [[Module:es-headword]].
iut.map_word_specs(alternant_multiword_spec, function(base)
-- Internal indicator flags. Do these before calling detect_indicator_spec() because add_slots() uses them.
for _, prop in ipairs { "refl", "clitic" } do
if base[prop] then
alternant_multiword_spec[prop] = true
end
end
base.alternant_multiword_spec = alternant_multiword_spec
-- If reflexive or fixed clitic, don't include combined forms.
alternant_multiword_spec.nocomb = alternant_multiword_spec.nocomb or base.clitic or base.refl
end)
add_slots(alternant_multiword_spec)
iut.map_word_specs(alternant_multiword_spec, function(base)
base.nocomb = alternant_multiword_spec.args.nocomb
detect_indicator_spec(base)
-- User-specified indicator flags. Do these after calling detect_indicator_spec() because the latter may set these
-- indicators for built-in verbs.
for prop, _ in pairs(indicator_flags) do
if base[prop] then
alternant_multiword_spec[prop] = true
end
end
construct_stems(base)
end)
end
local function add_categories_and_annotation(alternant_multiword_spec, base, multiword_lemma)
local function insert_ann(anntype, value)
m_table.insertIfNot(alternant_multiword_spec.annotation[anntype], value)
end
local function insert_cat(cat, also_when_multiword)
-- Don't place multiword terms in categories like 'Spanish verbs ending in -ar' to avoid spamming the
-- categories with such terms.
if also_when_multiword or not multiword_lemma then
m_table.insertIfNot(alternant_multiword_spec.categories, "Spanish " .. cat)
end
end
if check_for_red_links and alternant_multiword_spec.source_template == "es-conj" and multiword_lemma then
for _, slot_and_accel in ipairs(alternant_multiword_spec.all_verb_slots) do
local slot = slot_and_accel[1]
local forms = base.forms[slot]
local must_break = false
if forms then
for _, form in ipairs(forms) do
if not form.form:find("%[%[") then
local title = mw.title.new(form.form)
if title and not title.exists then
insert_cat("verbs with red links in their inflection tables")
must_break = true
break
end
end
end
end
if must_break then
break
end
end
end
insert_cat("verbs ending in -" .. base.conj)
if base.irreg_verb then
insert_ann("irreg", "irregular")
insert_cat("不規則動詞")
else
insert_ann("irreg", "regular")
end
if base.only3s then
insert_ann("defective", "impersonal")
insert_cat("impersonal verbs")
elseif base.only3sp then
insert_ann("defective", "third-person only")
insert_cat("third-person-only verbs")
elseif base.only3p then
insert_ann("defective", "third-person plural only")
insert_cat("third-person-plural-only verbs")
elseif base.no_pres_stressed or base.no_pres1_and_sub then
insert_ann("defective", "defective")
insert_cat("defective verbs")
else
insert_ann("defective", "regular")
end
if base.clitic then
insert_cat("verbs with lexical clitics")
end
if base.refl then
insert_cat("reflexive verbs")
end
if not base.vowel_alt then
insert_ann("vowel_alt", "non-alternating")
else
local inf_stem = base.inf_stem:gsub("[gq]u$", "x")
for _, alt in ipairs(base.vowel_alt) do
if alt.alt == "+" then
insert_ann("vowel_alt", "non-alternating")
else
local desc
if alt.alt == "ue" and rfind(inf_stem, "u" .. C .. "*$") then
desc = "u-ue交替" -- jugar
elseif alt.alt == "ie" and rfind(inf_stem, "i" .. C .. "*$") then
desc = "i-ie交替" -- adquirir
elseif alt.alt == "í" and rfind(inf_stem, "e" .. C .. "*$") then
desc = "e-í交替" -- reír, freír, etc.
else
desc = vowel_alternant_to_desc[alt.alt] .. "交替"
end
insert_ann("vowel_alt", desc)
insert_cat("verbs with " .. desc)
end
end
end
local cons_alt = base.stems.cons_alt
if cons_alt == nil then
if base.conj == "ar" then
if base.inf_stem:find("z$") then
cons_alt = "c-z"
elseif base.inf_stem:find("ç$") then
cons_alt = "c-ç"
elseif base.inf_stem:find("c$") then
cons_alt = "c-qu"
elseif base.inf_stem:find("g$") then
cons_alt = "g-gu"
elseif base.inf_stem:find("gu$") then
cons_alt = "gu-gü"
end
else
if base.no_pres_stressed or base.no_pres1_and_sub then
cons_alt = nil -- no c-zc alternation in balbucir or arrecir
elseif rfind(base.inf_stem, V .. "c$") then
cons_alt = "c-zc"
elseif base.inf_stem:find("sc$") then
cons_alt = "hard-soft"
elseif base.inf_stem:find("c$") then
cons_alt = "c-z"
elseif base.inf_stem:find("qu$") then
cons_alt = "c-qu"
elseif base.inf_stem:find("g$") then
cons_alt = "g-j"
elseif base.inf_stem:find("gu$") then
cons_alt = "g-gu"
elseif base.inf_stem:find("gü$") then
cons_alt = "gu-gü"
end
end
end
if cons_alt then
local desc = cons_alt .. "交替"
insert_ann("cons_alt", desc)
insert_cat("verbs with " .. desc)
else
insert_ann("cons_alt", "non-alternating")
end
end
-- Compute the categories to add the verb to, as well as the annotation to display in the
-- conjugation title bar. We combine the code to do these functions as both categories and
-- title bar contain similar information.
local function compute_categories_and_annotation(alternant_multiword_spec)
alternant_multiword_spec.categories = {}
local ann = {}
alternant_multiword_spec.annotation = ann
ann.irreg = {}
ann.defective = {}
ann.vowel_alt = {}
ann.cons_alt = {}
local multiword_lemma = false
for _, form in ipairs(alternant_multiword_spec.forms.infinitive) do
if form.form:find(" ") then
multiword_lemma = true
break
end
end
iut.map_word_specs(alternant_multiword_spec, function(base)
add_categories_and_annotation(alternant_multiword_spec, base, multiword_lemma)
end)
local ann_parts = {}
local irreg = table.concat(ann.irreg, " or ")
if irreg ~= "" and irreg ~= "regular" then
table.insert(ann_parts, irreg)
end
local defective = table.concat(ann.defective, " or ")
if defective ~= "" and defective ~= "regular" then
table.insert(ann_parts, defective)
end
local vowel_alt = table.concat(ann.vowel_alt, " or ")
if vowel_alt ~= "" and vowel_alt ~= "non-alternating" then
table.insert(ann_parts, vowel_alt)
end
local cons_alt = table.concat(ann.cons_alt, " or ")
if cons_alt ~= "" and cons_alt ~= "non-alternating" then
table.insert(ann_parts, cons_alt)
end
alternant_multiword_spec.annotation = table.concat(ann_parts, "; ")
end
local function show_forms(alternant_multiword_spec)
local lemmas = alternant_multiword_spec.forms.infinitive
alternant_multiword_spec.lemmas = lemmas -- save for later use in make_table()
local reconstructed_verb_spec = iut.reconstruct_original_spec(alternant_multiword_spec)
-- Initialize the footnotes with those for the future subjunctive and maybe the pres subjunctive
-- voseo usage. In the latter case, we only do it if there is a distinct pres subjunctive voseo form.
local function create_footnote_obj()
local obj = iut.create_footnote_obj()
iut.get_footnote_text({fut_sub_note}, obj)
-- Compute whether the tuteo and voseo variants are different, for each voseo variant.
-- We use this later in make_table().
for _, slot in ipairs({"pres_2s", "pres_sub_2s", "imp_2s"}) do
alternant_multiword_spec["separate_" .. slot .. "v"] = false
iut.map_word_specs(alternant_multiword_spec, function(base)
if not m_table.deepEquals(base.forms[slot], base.forms[slot .. "v"]) then
alternant_multiword_spec["separate_" .. slot .. "v"] = true
end
end)
end
if alternant_multiword_spec.separate_pres_sub_2sv then
iut.get_footnote_text({pres_sub_voseo_note}, obj)
end
return obj
end
local function transform_accel_obj(slot, formobj, accel_obj)
-- No accelerators for negative imperatives, which are always multiword and derived directly from the
-- present subjunctive.
if slot:find("^neg_imp") then
return nil
end
if accel_obj then
if slot:find("^pp_") then
accel_obj.form = slot
elseif slot == "gerund" then
accel_obj.form = "gerund-" .. reconstructed_verb_spec
else
accel_obj.form = "verb-form-" .. reconstructed_verb_spec
end
end
return accel_obj
end
local props = {
lang = lang,
lemmas = lemmas,
create_footnote_obj = create_footnote_obj,
transform_accel_obj = transform_accel_obj,
}
props.slot_list = alternant_multiword_spec.verb_slots_basic
iut.show_forms(alternant_multiword_spec.forms, props)
alternant_multiword_spec.footnote_basic = alternant_multiword_spec.forms.footnote
props.create_footnote_obj = nil
props.slot_list = alternant_multiword_spec.verb_slots_combined
iut.show_forms(alternant_multiword_spec.forms, props)
alternant_multiword_spec.footnote_combined = alternant_multiword_spec.forms.footnote
end
local notes_template = [=[
<div class="roa-footnote-outer-div" style="width:100%;">
<div class="roa-footnote-inner-div">
{footnote}
</div></div>
]=]
local pres_2sv_template = '<sup><sup>tú</sup></sup><br />{pres_2sv}<sup><sup>vos</sup></sup>'
local pres_sub_2sv_template = '<sup><sup>tú</sup></sup><br />{pres_sub_2sv}<sup><sup>vos<sup class="roa-red-superscript">2</sup></sup></sup>'
local imp_2sv_template = '<sup><sup>tú</sup></sup><br />{imp_2sv}<sup><sup>vos</sup></sup>'
local basic_table = [=[
{description}<div class="NavFrame">
<div class="NavHead" align=center> {title}の活用 ([[Wiktionary:スペイン語動詞活用]]も参照)</div>
<div class="NavContent">
{\op}| class="roa-inflection-table"
|-
! colspan="3" class="roa-nonfinite-header" | <span title="infinitivo">不定詞</span>
| colspan="5" | {infinitive}
|-
! colspan="3" class="roa-nonfinite-header" | <span title="gerundio">現在分詞</span>
| colspan="5" | {gerund}
|-
! rowspan="3" colspan="2" class="roa-nonfinite-header" | <span title="participio (pasado)">過去分詞</span>
| colspan="2" class="roa-nonfinite-header" |
! colspan="2" class="roa-nonfinite-header" | <span title="masculino">男性</span>
! colspan="2" class="roa-nonfinite-header" | <span title="femenino">女性</span>
|-
! colspan="2" class="roa-nonfinite-header" | 単数
| colspan="2" | {pp_ms}
| colspan="2" | {pp_fs}
|-
! colspan="2" class="roa-nonfinite-header" | 複数
| colspan="2" | {pp_mp}
| colspan="2" | {pp_fp}
|-
! colspan="2" rowspan="2" class="roa-person-number-header" |
! colspan="3" class="roa-person-number-header" | 単数
! colspan="3" class="roa-person-number-header" | 複数
|-
! class="roa-person-number-header" | 第一人称
! class="roa-person-number-header" | 第二人称
! class="roa-person-number-header" | 第三人称
! class="roa-person-number-header" | 第一人称
! class="roa-person-number-header" | 第二人称
! class="roa-person-number-header" | 第三人称
|-{reflexive_non_finite_clause}
! rowspan="6" class="roa-indicative-left-rail" | <span title="indicativo">直説法</span>
! class="roa-native-person-number-header" |
! class="roa-native-person-number-header" | yo
! class="roa-native-person-number-header" | tú<br />vos
! class="roa-native-person-number-header" | él/ella/ello<br />usted
! class="roa-native-person-number-header" | nosotros<br />nosotras
! class="roa-native-person-number-header" | vosotros<br />vosotras
! class="roa-native-person-number-header" | ellos/ellas<br />ustedes
|-
! class="roa-finite-header" | <span title="presente de indicativo">現在</span>
| {pres_1s}
| {pres_2s}{pres_2sv_text}
| {pres_3s}
| {pres_1p}
| {pres_2p}
| {pres_3p}
|-
! class="roa-finite-header" | <span title="pretérito imperfecto (copréterito)">不完了過去</span>
| {impf_1s}
| {impf_2s}
| {impf_3s}
| {impf_1p}
| {impf_2p}
| {impf_3p}
|-
! class="roa-finite-header" | <span title="pretérito perfecto simple (pretérito indefinido)">完了過去</span>
| {pret_1s}
| {pret_2s}
| {pret_3s}
| {pret_1p}
| {pret_2p}
| {pret_3p}
|-
! class="roa-finite-header" | <span title="futuro simple (futuro imperfecto)">未来</span>
| {fut_1s}
| {fut_2s}
| {fut_3s}
| {fut_1p}
| {fut_2p}
| {fut_3p}
|-
! class="roa-finite-header" | <span title="condicional simple (pospretérito de modo indicativo)">過去未来・可能法</span>
| {cond_1s}
| {cond_2s}
| {cond_3s}
| {cond_1p}
| {cond_2p}
| {cond_3p}
|-
! class="roa-person-number-header" style="height:.75em" colspan="8" |
|-
! rowspan="5" class="roa-subjunctive-left-rail" | <span title="subjuntivo">接続法</span>
! class="roa-native-person-number-header" |
! class="roa-native-person-number-header" | yo
! class="roa-native-person-number-header" | tú<br />vos
! class="roa-native-person-number-header" | él/ella/ello<br />usted
! class="roa-native-person-number-header" | nosotros<br />nosotras
! class="roa-native-person-number-header" | vosotros<br />vosotras
! class="roa-native-person-number-header" | ellos/ellas<br />ustedes
|-
! class="roa-finite-header" | <span title="presente de subjuntivo">現在</span>
| {pres_sub_1s}
| {pres_sub_2s}{pres_sub_2sv_text}
| {pres_sub_3s}
| {pres_sub_1p}
| {pres_sub_2p}
| {pres_sub_3p}
|-
! class="roa-finite-header" | <span title="pretérito imperfecto de subjuntivo">過去</span><br />(ra)
| {impf_sub_ra_1s}
| {impf_sub_ra_2s}
| {impf_sub_ra_3s}
| {impf_sub_ra_1p}
| {impf_sub_ra_2p}
| {impf_sub_ra_3p}
|-
! class="roa-finite-header" | <span title="pretérito imperfecto de subjuntivo">過去</span><br />(se)
| {impf_sub_se_1s}
| {impf_sub_se_2s}
| {impf_sub_se_3s}
| {impf_sub_se_1p}
| {impf_sub_se_2p}
| {impf_sub_se_3p}
|-
! class="roa-finite-header" | <span title="futuro simple de subjuntivo (futuro de subjuntivo)">未来</span><sup class="roa-red-superscript">1</sup>
| {fut_sub_1s}
| {fut_sub_2s}
| {fut_sub_3s}
| {fut_sub_1p}
| {fut_sub_2p}
| {fut_sub_3p}
|-
! class="roa-person-number-header" style="height:.75em" colspan="8" |
|-
! rowspan="6" class="roa-imperative-left-rail" | <span title="imperativo">命令法</span>
! class="roa-native-person-number-header" |
! class="roa-native-person-number-header" | —
! class="roa-native-person-number-header" | tú<br />vos
! class="roa-native-person-number-header" | usted
! class="roa-native-person-number-header" | nosotros<br />nosotras
! class="roa-native-person-number-header" | vosotros<br />vosotras
! class="roa-native-person-number-header" | ustedes
|-
! class="roa-finite-header" | <span title="imperativo afirmativo">-</span>
|
| {imp_2s}{imp_2sv_text}
| {imp_3s}
| {imp_1p}
| {imp_2p}
| {imp_3p}
|-
! class="roa-finite-header" | <span title="imperativo negativo">禁止</span>
|
| {neg_imp_2s}
| {neg_imp_3s}
| {neg_imp_1p}
| {neg_imp_2p}
| {neg_imp_3p}
|{\cl}{notes_clause}</div></div>
]=]
local reflexive_non_finite_template = [=[
! rowspan="3" class="roa-nonfinite-header" | personal non-finite
! class="roa-native-person-number-header" |
! class="roa-native-person-number-header" | yo
! class="roa-native-person-number-header" | tú<br />vos
! class="roa-native-person-number-header" | él/ella/ello<br />usted
! class="roa-native-person-number-header" | nosotros<br />nosotras
! class="roa-native-person-number-header" | vosotros<br />vosotras
! class="roa-native-person-number-header" | ellos/ellas<br />ustedes
|-
! class="roa-finite-header" | <span title="infinitivo">不定詞</span>
| {infinitive_1s}
| {infinitive_2s}
| {infinitive_3s}
| {infinitive_1p}
| {infinitive_2p}
| {infinitive_3p}
|-
! class="roa-finite-header" | <span title="gerundio">現在分詞</span>
| {gerund_1s}
| {gerund_2s}
| {gerund_3s}
| {gerund_1p}
| {gerund_2p}
| {gerund_3p}
|-
! class="roa-person-number-header" style="height:.75em" colspan="8" |
|-]=]
local combined_form_combined_tu_vos_template = [=[
! class="roa-person-number-header" style="height:.35em" colspan="8" |
|-
! rowspan="2" class="roa-combined-with-imperative" | 口語命令法第二人称単数 ({tuteo}<i>/</i>{voseo}) {imp_2s}
! class="roa-finite-header" | 与格
| {imp_2s_comb_me}
| {imp_2s_comb_te}
| {imp_2s_comb_le}
| {imp_2s_comb_nos}
| ''不使用''
| {imp_2s_comb_les}
|-
! class="roa-finite-header" | 対格
| {imp_2s_comb_me}
| {imp_2s_comb_te}
| {imp_2s_comb_lo}, {imp_2s_comb_la}
| {imp_2s_comb_nos}
| ''不使用''
| {imp_2s_comb_los}, {imp_2s_comb_las}
|-]=]
local combined_form_separate_tu_vos_template = [=[
! class="roa-person-number-header" style="height:.35em" colspan="8" |
|-
! rowspan="2" class="roa-combined-with-imperative" | 口語命令法第二人称単数 ({tuteo}) {imp_2s}
! class="roa-finite-header" | 与格
| {imp_2s_comb_me}
| {imp_2s_comb_te}
| {imp_2s_comb_le}
| {imp_2s_comb_nos}
| ''不使用''
| {imp_2s_comb_les}
|-
! class="roa-finite-header" | 対格
| {imp_2s_comb_me}
| {imp_2s_comb_te}
| {imp_2s_comb_lo}, {imp_2s_comb_la}
| {imp_2s_comb_nos}
| ''不使用''
| {imp_2s_comb_los}, {imp_2s_comb_las}
|-
! class="roa-person-number-header" style="height:.35em" colspan="8" |
|-
! rowspan="2" class="roa-combined-with-imperative" | 口語命令法第二人称単数 ({voseo}) {imp_2sv}
! class="roa-finite-header" | 与格
| {imp_2sv_comb_me}
| {imp_2sv_comb_te}
| {imp_2sv_comb_le}
| {imp_2sv_comb_nos}
| ''不使用''
| {imp_2sv_comb_les}
|-
! class="roa-finite-header" | 対格
| {imp_2sv_comb_me}
| {imp_2sv_comb_te}
| {imp_2sv_comb_lo}, {imp_2sv_comb_la}
| {imp_2sv_comb_nos}
| ''不使用''
| {imp_2sv_comb_los}, {imp_2sv_comb_las}
|-]=]
local combined_form_table = [=[
{description}<div class="NavFrame">
<div class="NavHead" align=center> {title}の複合形</div>
<div class="NavContent">
これらは自動生成されたものであり、実際に使用されるものとは異なる場合がある。また、代名詞の用法は地域によって大きく異なる。
{\op}| class="inflection-table es-inflection-table"
|-
! colspan="2" rowspan="2" class="roa-person-number-header" |
! colspan="3" class="roa-person-number-header" | singular
! colspan="3" class="roa-person-number-header" | plural
|-
! class="roa-person-number-header" | 第一人称
! class="roa-person-number-header" | 第二人称
! class="roa-person-number-header" | 第三人称
! class="roa-person-number-header" | 第一人称
! class="roa-person-number-header" | 第二人称
! class="roa-person-number-header" | 第三人称
|-
! rowspan="2" class="roa-combined-with-infinitive" | 不定詞 {infinitive}
! class="roa-finite-header" | 与格
| {infinitive_comb_me}
| {infinitive_comb_te}
| {infinitive_comb_le}, {infinitive_comb_se}
| {infinitive_comb_nos}
| {infinitive_comb_os}
| {infinitive_comb_les}, {infinitive_comb_se}
|-
! class="roa-finite-header" | 対格
| {infinitive_comb_me}
| {infinitive_comb_te}
| {infinitive_comb_lo}, {infinitive_comb_la}, {infinitive_comb_se}
| {infinitive_comb_nos}
| {infinitive_comb_os}
| {infinitive_comb_los}, {infinitive_comb_las}, {infinitive_comb_se}
|-
! class="roa-person-number-header" style="height:.35em" colspan="8" |
|-
! rowspan="2" class="roa-combined-with-gerund" | 現在分詞 {gerund}
! class="roa-finite-header" | 与格
| {gerund_comb_me}
| {gerund_comb_te}
| {gerund_comb_le}, {gerund_comb_se}
| {gerund_comb_nos}
| {gerund_comb_os}
| {gerund_comb_les}, {gerund_comb_se}
|-
! class="roa-finite-header" | 対格
| {gerund_comb_me}
| {gerund_comb_te}
| {gerund_comb_lo}, {gerund_comb_la}, {gerund_comb_se}
| {gerund_comb_nos}
| {gerund_comb_os}
| {gerund_comb_los}, {gerund_comb_las}, {gerund_comb_se}
|-{tu_vos_clause}
! class="roa-person-number-header" style="height:.35em" colspan="8" |
|-
! rowspan="2" class="roa-combined-with-imperative" | 格式命令法第二人称単数 {imp_3s}
! class="roa-finite-header" | 与格
| {imp_3s_comb_me}
| ''不使用''
| {imp_3s_comb_le}, {imp_3s_comb_se}
| {imp_3s_comb_nos}
| ''不使用''
| {imp_3s_comb_les}
|-
! class="roa-finite-header" | 対格
| {imp_3s_comb_me}
| ''不使用''
| {imp_3s_comb_lo}, {imp_3s_comb_la}, {imp_3s_comb_se}
| {imp_3s_comb_nos}
| ''不使用''
| {imp_3s_comb_los}, {imp_3s_comb_las}
|-
! class="roa-person-number-header" style="height:.35em" colspan="8" |
|-
! rowspan="2" class="roa-combined-with-imperative" | 命令法第一人称複数 {imp_1p}
! class="roa-finite-header" | 与格
| ''不使用''
| {imp_1p_comb_te}
| {imp_1p_comb_le}
| {imp_1p_comb_nos}
| {imp_1p_comb_os}
| {imp_1p_comb_les}
|-
! class="roa-finite-header" | 対格
| ''不使用''
| {imp_1p_comb_te}
| {imp_1p_comb_lo}, {imp_1p_comb_la}
| {imp_1p_comb_nos}
| {imp_1p_comb_os}
| {imp_1p_comb_los}, {imp_1p_comb_las}
|-
! class="roa-person-number-header" style="height:.35em" colspan="8" |
|-
! rowspan="2" class="roa-combined-with-imperative" | 口語命令法第二人称複数 {imp_2p}
! class="roa-finite-header" | 与格
| {imp_2p_comb_me}
| ''不使用''
| {imp_2p_comb_le}
| {imp_2p_comb_nos}
| {imp_2p_comb_os}
| {imp_2p_comb_les}
|-
! class="roa-finite-header" | 対格
| {imp_2p_comb_me}
| ''不使用''
| {imp_2p_comb_lo}, {imp_2p_comb_la}
| {imp_2p_comb_nos}
| {imp_2p_comb_os}
| {imp_2p_comb_los}, {imp_2p_comb_las}
|-
! class="roa-person-number-header" style="height:.35em" colspan="8" |
|-
! rowspan="2" class="roa-combined-with-imperative" | 格式命令法第二人称複数 {imp_3p}
! class="roa-finite-header" | 与格
| {imp_3p_comb_me}
| ''不使用''
| {imp_3p_comb_le}
| {imp_3p_comb_nos}
| ''不使用''
| {imp_3p_comb_les}, {imp_3p_comb_se}
|-
! class="roa-finite-header" | 対格
| {imp_3p_comb_me}
| ''不使用''
| {imp_3p_comb_lo}, {imp_3p_comb_la}
| {imp_3p_comb_nos}
| ''不使用''
| {imp_3p_comb_los}, {imp_3p_comb_las}, {imp_3p_comb_se}
|{\cl}{notes_clause}</div></div>
]=]
local function make_table(alternant_multiword_spec)
local forms = alternant_multiword_spec.forms
forms.title = link_term(alternant_multiword_spec.lemmas[1].form)
if alternant_multiword_spec.annotation ~= "" then
forms.title = forms.title .. " (" .. alternant_multiword_spec.annotation .. ")"
end
forms.description = ""
-- Format the basic table.
forms.tuteo = tuteo_link
forms.voseo = voseo_link
forms.footnote = alternant_multiword_spec.footnote_basic
forms.reflexive_non_finite_clause = alternant_multiword_spec.refl and m_string_utilities.format(reflexive_non_finite_template, forms) or ""
forms.notes_clause = forms.footnote ~= "" and m_string_utilities.format(notes_template, forms) or ""
-- The separate_* values are computed in show_forms().
forms.pres_2sv_text = alternant_multiword_spec.separate_pres_2sv and m_string_utilities.format(pres_2sv_template, forms) or ""
forms.pres_sub_2sv_text = alternant_multiword_spec.separate_pres_sub_2sv and m_string_utilities.format(pres_sub_2sv_template, forms) or ""
forms.imp_2sv_text = alternant_multiword_spec.separate_imp_2sv and m_string_utilities.format(imp_2sv_template, forms) or ""
local formatted_basic_table = m_string_utilities.format(basic_table, forms)
-- Format the combined table.
local formatted_combined_table
if alternant_multiword_spec.refl or alternant_multiword_spec.args.nocomb or alternant_multiword_spec.clitic then
formatted_combined_table = ""
else
forms.footnote = alternant_multiword_spec.footnote_combined
forms.notes_clause = forms.footnote ~= "" and m_string_utilities.format(notes_template, forms) or ""
-- separate_imp_2sv is computed in show_forms().
local tu_vos_template = alternant_multiword_spec.separate_imp_2sv and combined_form_separate_tu_vos_template or combined_form_combined_tu_vos_template
forms.tu_vos_clause = m_string_utilities.format(tu_vos_template, forms)
formatted_combined_table = m_string_utilities.format(combined_form_table, forms)
end
-- Paste them together.
return require("Module:TemplateStyles")("Module:roa-verb/style.css") .. formatted_basic_table .. formatted_combined_table
end
-- Externally callable function to parse and conjugate a verb given user-specified arguments.
-- Return value is WORD_SPEC, an object where the conjugated forms are in `WORD_SPEC.forms`
-- for each slot. If there are no values for a slot, the slot key will be missing. The value
-- for a given slot is a list of objects {form=FORM, footnotes=FOOTNOTES}.
function export.do_generate_forms(args, source_template, headword_head, double_combined_forms_to_include)
local PAGENAME = mw.loadData("Module:headword/data").pagename
local function in_template_space()
return mw.title.getCurrentTitle().nsText == "テンプレート"
end
-- Determine the verb spec we're being asked to generate the conjugation of. This may be taken from the
-- current page title or the value of |pagename=; but not when called from {{es-verb form of}}, where the
-- page title is a non-lemma form. Note that the verb spec may omit the infinitive; e.g. it may be "<ue>".
-- For this reason, we use the value of `pagename` computed here down below, when calling normalize_all_lemmas().
local pagename = source_template ~= "es-verb form of" and args.pagename or PAGENAME
local head = headword_head or pagename
local arg1 = args[1]
if not arg1 then
if (pagename == "es-conj" or pagename == "es-verb") and in_template_space() then
arg1 = "licuar<+,ú>"
elseif pagename == "es-verb form of" and in_template_space() then
arg1 = "amar"
else
arg1 = "<>"
end
end
-- When called from {{es-verb form of}}, determine the non-lemma form whose inflections we're being asked to
-- determine. This normally comes from the page title or the value of |pagename=.
local verb_form_of_form
if source_template == "es-verb form of" then
verb_form_of_form = args.pagename
if not verb_form_of_form then
if PAGENAME == "es-verb form of" and in_template_space() then
verb_form_of_form = "ame"
else
verb_form_of_form = PAGENAME
end
end
end
local incorporated_headword_head_into_lemma = false
if arg1:find("^<.*>$") then -- missing lemma
if head:find(" ") then
-- If multiword lemma, try to add arg spec after the first word.
-- Try to preserve the brackets in the part after the verb, but don't do it
-- if there aren't the same number of left and right brackets in the verb
-- (which means the verb was linked as part of a larger expression).
local refl_clitic_verb, post = rmatch(head, "^(.-)( .*)$")
local left_brackets = rsub(refl_clitic_verb, "[^%[]", "")
local right_brackets = rsub(refl_clitic_verb, "[^%]]", "")
if #left_brackets == #right_brackets then
arg1 = iut.remove_redundant_links(refl_clitic_verb) .. arg1 .. post
incorporated_headword_head_into_lemma = true
else
-- Try again using the form without links.
local linkless_head = m_links.remove_links(head)
if linkless_head:find(" ") then
refl_clitic_verb, post = rmatch(linkless_head, "^(.-)( .*)$")
arg1 = refl_clitic_verb .. arg1 .. post
else
error("Unable to incorporate <...> spec into explicit head due to a multiword linked verb or " ..
"unbalanced brackets; please include <> explicitly: " .. arg1)
end
end
else
-- Will be incorporated through `head` below in the call to normalize_all_lemmas().
incorporated_headword_head_into_lemma = true
end
end
local parse_props = {
parse_indicator_spec = parse_indicator_spec,
allow_default_indicator = true,
allow_blank_lemma = true,
}
local alternant_multiword_spec = iut.parse_inflected_text(arg1, parse_props)
alternant_multiword_spec.pos = pos or "verbs"
alternant_multiword_spec.args = args
alternant_multiword_spec.source_template = source_template
alternant_multiword_spec.verb_form_of_form = verb_form_of_form
alternant_multiword_spec.incorporated_headword_head_into_lemma = incorporated_headword_head_into_lemma
-- Now determine if we need to generate any double-combined forms, and if so, which clitics are involved.
-- See the comment above the initialization of `verb_slot_double_combined_rows` above in add_slots().
if verb_form_of_form and rfind(verb_form_of_form, AV) then
-- All double-clitic forms have an explicit accent, so we check for this. In addition, all double-clitic forms
-- are of the form "(me|te|se|nos|os)(lo|la|le)s$". We have no alternations in Lua patterns, but we can exploit
-- the similarity of the clitics in question.
local single_comb_form, object_clitic = rmatch(verb_form_of_form, "^(.*)(l[aeo]s?)$")
if single_comb_form then
local personal_clitic = rmatch(single_comb_form, "^.*([mts]e)$")
if not personal_clitic then
personal_clitic = rmatch(single_comb_form, "^.-(n?os)$")
end
if personal_clitic then
if personal_clitic == "nos" then
-- "os" is a substring of "nos"; conceivably we could have a form ending in -n + os, and we don't
-- know whether to interpret as -n + os or - + nos.
alternant_multiword_spec.double_combined_forms_to_include =
{{"nos", object_clitic}, {"os", object_clitic}}
else
if personal_clitic == "se" then
-- Use the special "lxx" clitic for le/les when transformed into se in double-combined forms.
personal_clitic = "lxx"
end
alternant_multiword_spec.double_combined_forms_to_include = {{personal_clitic, object_clitic}}
end
end
end
end
normalize_all_lemmas(alternant_multiword_spec, pagename)
detect_all_indicator_specs(alternant_multiword_spec)
local inflect_props = {
slot_list = alternant_multiword_spec.all_verb_slots,
inflect_word_spec = conjugate_verb,
-- We add links around the generated verbal forms rather than allow the entire multiword
-- expression to be a link, so ensure that user-specified links get included as well.
include_user_specified_links = true,
}
iut.inflect_multiword_or_alternant_multiword_spec(alternant_multiword_spec, inflect_props)
-- Remove redundant brackets around entire forms.
for slot, forms in pairs(alternant_multiword_spec.forms) do
for _, form in ipairs(forms) do
form.form = iut.remove_redundant_links(form.form)
end
end
compute_categories_and_annotation(alternant_multiword_spec)
if args.json and not from_headword and not from_verb_form_of then
-- There is a circular reference in `base.alternant_multiword_spec`, which points back to top level.
iut.map_word_specs(alternant_multiword_spec, function(base)
base.alternant_multiword_spec = nil
end)
return require("Module:JSON").toJSON(alternant_multiword_spec)
end
return alternant_multiword_spec
end
-- Entry point for {{es-conj}}. Template-callable function to parse and conjugate a verb given
-- user-specified arguments and generate a displayable table of the conjugated forms.
function export.show(frame)
local parent_args = frame:getParent().args
local params = {
[1] = {},
["nocomb"] = {type = "boolean"},
["noautolinktext"] = {type = "boolean"},
["noautolinkverb"] = {type = "boolean"},
["pagename"] = {}, -- for testing/documentation pages
["json"] = {type = "boolean"}, -- for bot use
}
local args = require("Module:parameters").process(parent_args, params)
local alternant_multiword_spec = export.do_generate_forms(args, "es-conj")
if type(alternant_multiword_spec) == "string" then
-- JSON return value
return alternant_multiword_spec
end
show_forms(alternant_multiword_spec)
return make_table(alternant_multiword_spec) ..
require("Module:utilities").format_categories(alternant_multiword_spec.categories, lang, nil, nil, force_cat)
end
return export
dzd1jm756y2rljawwt86jiqjg28lf9k
2281235
2281219
2026-06-09T11:00:39Z
Kuroco2k
84207
2281235
Scribunto
text/plain
local export = {}
--[=[
Authorship: Ben Wing <benwing2>
]=]
--[=[
TERMINOLOGY:
-- "slot" = A particular combination of tense/mood/person/number/etc.
Example slot names for verbs are "pres_1s" (present indicative first-person singular), "pres_sub_2sv" (present
subjunctive second-person singular voseo form) "impf_sub_ra_3p" (imperfect subjunctive -ra form third-person
plural), "imp_1p_comb_lo" (imperative first-person plural combined with clitic [[lo]]).
Each slot is filled with zero or more forms.
-- "form" = The conjugated Spanish form representing the value of a given slot.
-- "lemma" = The dictionary form of a given Spanish term. For Spanish, always the infinitive.
]=]
--[=[
FIXME:
1. Implement no_pres_stressed for aterir, garantir. (NOTE: Per RAE, garantir used in all forms in Argentina/Uruguay.) [DONE]
2. Support concluyo. [DONE]
3. Fixes for veo -> ve vs. preveo -> prevé. [DONE]
4. Various more irregular verbs, e.g. predecir, redecir, bendecir, maldecir. [DONE]
5. Raising of e -> i, o -> u before -iendo, -ió, etc. occurs only in -ir verbs. [DONE]
6. Raising of e -> i, o -> u happens before subjunctive -amos, -áis in -ir verbs. [DONE]
7. Implement reflexive verbs. [DONE]
8. Implement categories. [DONE]
9. Implement show_forms. [DONE]
10. Reconcile stems.vowel_alt from irregular verbs with vowel_alt from indicators. May require
moving the irregular-verb handling code in construct_stems() into detect_indicator_spec(). [DONE]
11. Implement make_table. [DONE]
12. Vowel alternation should show u-ue (jugar), i-ie (adquirir), e-í (reír) alternations specially. [DONE]
13. Handle linking of multiword forms as is done in [[Module:es-headword]]. [DONE]
14. Implement comparison against previous module. [DONE]
15. Implement categorization of irregularities for individual tenses.
16. Support nocomb=1. [DONE]
17. (Possibly) display irregular forms in a different color, as with the old module.
18. (Possibly) display a "rule" description indicating the types of alternations.
19. Implement replace_reflexive_indicators(). [NOT DONE; SUPPORT REMOVED]
20. Implement verbs with attached clitics e.g. [[pasarlo]], [[corrérsela]]. [DONE]
21. When footnote + tú/vos notation, add a space before tú/vos.
22. Fix [[erguir]] so ie-i vowel alternation produces ye- at beginning of word, similarly for errar. Also allow
multiple vowel alternation specs in irregular verbs, for errar. Finally, ie should show as e-ye for errar
and as e-ye-i for erguir. [DONE]
23. Figure out why red links in combined forms show up as black not red.
24. Consider including alternative superseded forms of verbs like [[ciar]] (e.g. pret_3s = cio, ció with footnote).
25. Allow conjugation of suffixes e.g. -ir, -ecer; need to fix in [[Module:inflection utilities]]. [DONE]
26. Allow specification of stems esp. so that footnotes can be hung off them; use + for the default.
27. Don't remove monosyllabic accents when conjugating suffixes. [DONE]
28. If multiword expression with no <>, add <> after first word, as with [[Module:es-headword]]. [DONE]
29. (Possibly) link the parts of a reflexive or cliticized infinitive, as done in [[Module:es-headword]]. [DONE]
30. Final fixes to allow [[Module:es-headword]] to use this module. [DONE]
--]=]
local lang = require("Module:languages").getByCode("es")
local m_string_utilities = require("Module:string utilities")
local m_links = require("Module:links")
local m_table = require("Module:table")
local iut = require("Module:inflection utilities")
local put = require("Module:parse utilities")
local com = require("Module:es-common")
local force_cat = false -- set to true for debugging
local check_for_red_links = false -- set to false for debugging
local rfind = mw.ustring.find
local rmatch = mw.ustring.match
local rsplit = mw.text.split
local rsub = com.rsub
local unpack = unpack or table.unpack -- Lua 5.2 compatibility
local function link_term(term)
return m_links.full_link({ lang = lang, term = term }, "term")
end
local V = com.V -- vowel regex class
local AV = com.AV -- accented vowel regex class
local C = com.C -- consonant regex class
local tuteo_link = link_term("tuteo")
local voseo_link = link_term("voseo")
local fut_sub_note = "[rare; now chiefly used in legal language]"
local pres_sub_voseo_note = "[Argentine and Uruguayan " .. voseo_link .. " prefers the " .. tuteo_link .. "-form for the present subjunctive]"
local vowel_alternants = m_table.listToSet({"ie", "ie-i", "ye", "ye-i", "ue", "ue-u", "hue", "i", "í", "ú", "+"})
local vowel_alternant_to_desc = {
["ie"] = "e-ie",
["ie-i"] = "e-ie-i",
["ye"] = "e-ye",
["ye-i"] = "e-ye-i",
["ue"] = "o-ue",
["ue-u"] = "o-ue-u",
["hue"] = "o-hue",
["i"] = "e-i",
["í"] = "i-í",
["ú"] = "u-ú",
}
local raise_vowel = {["e"] = "i", ["o"] = "u"}
local all_persons_numbers = {
["1s"] = "1|s",
["2s"] = "2|s",
["2sv"] = "2|s|voseo",
["3s"] = "3|s",
["1p"] = "1|p",
["2p"] = "2|p",
["3p"] = "3|p",
}
local person_number_list_basic = {"1s", "2s", "3s", "1p", "2p", "3p"}
local person_number_list_voseo = {"1s", "2s", "2sv", "3s", "1p", "2p", "3p"}
local imp_person_number_list = {"2s", "2sv", "3s", "1p", "2p", "3p"}
local neg_imp_person_number_list = {"2s", "3s", "1p", "2p", "3p"}
person_number_to_reflexive_pronoun = {
["1s"] = "me",
["2s"] = "te",
["2sv"] = "te",
["3s"] = "se",
["1p"] = "nos",
["2p"] = "os",
["3p"] = "se",
}
local indicator_flags = m_table.listToSet {
"no_pres_stressed", "no_pres1_and_sub",
"only3s", "only3sp", "only3p",
"no_built_in",
}
-- Initialize all the slots for which we generate forms. The particular slots may depend on whether we're generating
-- combined slots (`not alternant_multiword_spec.nocomb`, which is always false if we're dealing with a verb with an
-- attached clitic, such as [[hincarla]], or a reflexive or partly-reflexive verb, where a partly-reflexive verb is
-- a conjoined term made up of two or more verbs, where some but not all are reflexive). It may also depend on whether
-- we're being requested to generate some double-combined forms, such as [[llevándoselo]]; see the comment below for
-- `verb_slot_double_combined_rows`.
local function add_slots(alternant_multiword_spec)
-- "Basic" slots: All slots that go into the regular table (not the combined-form table).
alternant_multiword_spec.verb_slots_basic = {
{"infinitive", "inf"},
{"infinitive_linked", "inf"},
{"gerund", "ger"},
{"pp_ms", "m|s|past|part"},
{"pp_fs", "f|s|past|part"},
{"pp_mp", "m|p|past|part"},
{"pp_fp", "f|p|past|part"},
}
-- Slots that go into the combined-form table, along with double-combined slots (e.g. [[llevándoselo]]) that are
-- requested for use with {{es-verb form of}}.
alternant_multiword_spec.verb_slots_combined = {}
-- Special slots used to handle non-reflexive parts of reflexive verbs in {{es-verb form of}}.
-- For example, for a reflexive-only verb like [[jambarse]], we want to be able to use {{es-verb form of}} on
-- [[jambe]] (which should mention that it is a part of 'me jambe', first-person singular present subjunctive, and
-- 'se jambe', third-person singular present subjunctive) or on [[jambamos]] (which should mention that it is a
-- part of 'nos jambamos', first-person plural present indicative or preterite). Similarly, we want to use
-- {{es-verb form of}} on [[jambando]] (which should mention that it is a part of 'se ... jambando', syntactic
-- variant of [[jambándose]], which is the gerund of [[jambarse]]). To do this, we need to be able to map
-- non-reflexive parts like [[jambe]], [[jambamos]], [[jambando]], etc. to their reflexive equivalent(s), to the
-- tag(s) of the equivalent(s), and, in the case of forms like [[jambando]], [[jambar]] and imperatives, to the
-- separated syntactic variant of the verb+clitic combination. We do this by creating slots for the non-reflexive
-- part equivalent of each basic reflexive slot, and for the separated syntactic-variant equivalent of each basic
-- reflexive slot that is formed of verb+clitic. We use slots in this way to deal with multiword lemmas. Note that
-- we run into difficulties mapping between reflexive verbs, non-reflexive part equivalents, and separated syntactic
-- variants if a slot contains more than one form. To handle this, if there are the same number of forms in two
-- slots we're trying to match up, we assume the forms match one-to-one; otherwise we don't match up the two slots
-- (which means {{es-verb form of}} won't work in this case, but such a case is extremely rare and not worth
-- worrying about). Alternatives that handle this "properly" are significantly more complicated and require
-- non-trivial modifications to [[Module:inflection utilities]].
local need_special_verb_form_of_slots = alternant_multiword_spec.source_template == "es-verb form of" and
alternant_multiword_spec.refl
if need_special_verb_form_of_slots then
alternant_multiword_spec.verb_slots_reflexive_verb_form_of = {
{"infinitive_non_reflexive", "-"},
{"infinitive_variant", "-"},
{"gerund_non_reflexive", "-"},
{"gerund_variant", "-"},
}
else
alternant_multiword_spec.verb_slots_reflexive_verb_form_of = {}
end
-- For generating combined forms, i.e. combinations of a basic form (specifically, infinitive, gerund or an
-- imperative form) with a clitic (or in some cases, two clitics). This is a list of lists of the form
-- {BASIC_SLOT, CLITICS} where BASIC_SLOT is the slot to add the clitic pronouns to (e.g. "gerund" or "imp_2s")
-- and CLITICS is a list of the clitic pronouns to add.
alternant_multiword_spec.verb_slot_combined_rows = {}
-- For generating double combined forms (e.g. [[llevándoselo]] or [[dámela]]). This is used by {{es-verb form of}}
-- when it detects that it is being requested to find the inflection tags for a double-combined form. The number of
-- double-combined forms is relatively large, so to optimize this, [[Module:es-inflections]] (which implements
-- {{es-verb form of}}) detects which two clitics are involved, and we only generate double-combined forms
-- involving those two clitics; this is specified using `double_combined_forms_to_include`, passed into
-- do_generate_forms(). The value of this field is a list of lists of the form {SINGLE_COMB_SLOT, CLITICS} where
-- SINGLE_COMB_SLOT is the single-combined slot to add the object clitic pronouns to (e.g. "gerund_comb_se" or
-- "imp_2s_comb_me") and CLITICS is a list of the clitic pronouns to add. CLITICS will normally be a length-one
-- list whose value is one of {"lo", "la", "le", "los", "las", "les"}.
alternant_multiword_spec.verb_slot_double_combined_rows = {}
-- Add entries for a slot with person/number variants.
-- `verb_slots` is the table to add to.
-- `slot_prefix` is the prefix of the slot, typically specifying the tense/aspect.
-- `tag_suffix` is a string listing the set of inflection tags to add after the person/number tags.
-- `person_number_list` is a list of the person/number slot suffixes to add to `slot_prefix`.
local function add_personal_slot(verb_slots, slot_prefix, tag_suffix, person_number_list)
for _, persnum in ipairs(person_number_list) do
local persnum_tag = all_persons_numbers[persnum]
local slot = slot_prefix .. "_" .. persnum
local accel = persnum_tag .. "|" .. tag_suffix
table.insert(verb_slots, {slot, accel})
end
end
-- Add a personal slot (i.e. a slot with person/number variants) to `verb_slots_basic`.
local function add_basic_personal_slot(slot_prefix, tag_suffix, person_number_list, no_special_verb_form_of_slot,
need_variant_slot)
add_personal_slot(alternant_multiword_spec.verb_slots_basic, slot_prefix, tag_suffix, person_number_list)
-- Add special slots for handling non-reflexive parts of reflexive verbs in {{es-verb form of}}.
-- See comment above in `need_special_verb_form_of_slots`.
if need_special_verb_form_of_slots and not no_special_verb_form_of_slot then
for _, persnum in ipairs(person_number_list) do
local persnum_tag = all_persons_numbers[persnum]
local basic_slot = slot_prefix .. "_" .. persnum
local accel = persnum_tag .. "|" .. tag_suffix
table.insert(alternant_multiword_spec.verb_slots_reflexive_verb_form_of, {basic_slot .. "_non_reflexive", "-"})
if need_variant_slot then
table.insert(alternant_multiword_spec.verb_slots_reflexive_verb_form_of, {basic_slot .. "_variant", "-"})
end
end
end
end
add_basic_personal_slot("pres", "pres|ind", person_number_list_voseo)
add_basic_personal_slot("impf", "impf|ind", person_number_list_basic)
add_basic_personal_slot("pret", "pret|ind", person_number_list_basic)
add_basic_personal_slot("fut", "fut|ind", person_number_list_basic)
add_basic_personal_slot("cond", "cond", person_number_list_basic)
add_basic_personal_slot("pres_sub", "pres|sub", person_number_list_voseo)
add_basic_personal_slot("impf_sub_ra", "impf|sub", person_number_list_basic)
add_basic_personal_slot("impf_sub_se", "impf|sub", person_number_list_basic)
add_basic_personal_slot("fut_sub", "fut|sub", person_number_list_basic)
-- Need variant slots because the imperative clitics are suffixed.
add_basic_personal_slot("imp", "imp", imp_person_number_list, nil, "need variant slot")
-- Don't need special non-reflexive-part slots because the negative imperative is multiword, of which the
-- individual words are 'no' + subjunctive.
add_basic_personal_slot("neg_imp", "neg|imp", neg_imp_person_number_list, "no special verb form of")
-- Don't need special non-reflexive-part slots because we don't want [[jambando]] mapping to [[jambándome]]
-- (only [[jambándose]]) or [[jambar]] mapping to [[jambarme]] (only [[jambarse]]).
add_basic_personal_slot("infinitive", "inf", person_number_list_basic, "no special verb form of")
add_basic_personal_slot("gerund", "ger", person_number_list_basic, "no special verb form of")
local third_person_object_clitics = {"lo", "la", "le", "los", "las", "les"}
-- Add combined-form slots.
if not alternant_multiword_spec.nocomb then
-- Add a row of slots representing the combination of a basic slot with a clitic. `basic_slot` is the basic slot
-- descriptor, `tag_prefix` is a string describing the inflection tags of the basic slot, and `personal_clitics`
-- is a list of the personal clitics ("me", "te", "se", "nos" or "os") to add to the basic slot.
local function add_combined_slot_row(basic_slot, tag_prefix, personal_clitics)
-- First, add each individual combined slot to `verb_slots_combined`.
local clitics_with_object = m_table.append(personal_clitics, third_person_object_clitics)
for _, clitic in ipairs(clitics_with_object) do
local slot = basic_slot .. "_comb_" .. clitic
-- You have to pass this through full_link() to get a Spanish-specific link
local accel = tag_prefix .. "|combined with [[" .. clitic .. "]]"
table.insert(alternant_multiword_spec.verb_slots_combined, {slot, accel})
end
-- Also, add the row to `verb_slot_combined_rows`.
table.insert(alternant_multiword_spec.verb_slot_combined_rows, {basic_slot, clitics_with_object})
-- Also do double-combined forms for a specific set of clitics, if requested. See the comment above
-- `verb_slot_double_combined_rows` above.
if alternant_multiword_spec.double_combined_forms_to_include then
-- Add a special "lxx" clitic for le/les when transformed into se in double-combined forms.
local personal_clitics_with_lxx = {unpack(personal_clitics)}
table.insert(personal_clitics_with_lxx, "lxx")
for _, personal_clitic in ipairs(personal_clitics_with_lxx) do
for _, object_clitic in ipairs(third_person_object_clitics) do
for _, form_to_include in ipairs(alternant_multiword_spec.double_combined_forms_to_include) do
local to_include_personal_clitic, to_include_object_clitic = unpack(form_to_include)
if personal_clitic == to_include_personal_clitic and object_clitic == to_include_object_clitic then
local single_comb_slot = basic_slot .. "_comb_" .. personal_clitic
local slot = single_comb_slot .. "_" .. object_clitic
accel_clitic = personal_clitic == "lxx" and "[[le]]/[[les]]" or "[[" .. personal_clitic .. "]]"
local accel = tag_prefix .. "|combined with indirect object " .. accel_clitic .. " and direct object [[" ..
object_clitic .. "]]"
table.insert(alternant_multiword_spec.verb_slots_combined, {slot, accel})
table.insert(alternant_multiword_spec.verb_slot_double_combined_rows,
{single_comb_slot, {object_clitic}})
break
end
end
end
end
end
end
add_combined_slot_row("infinitive", "inf", {"me", "te", "se", "nos", "os"})
add_combined_slot_row("gerund", "gerund", {"me", "te", "se", "nos", "os"})
local function add_combined_imp_slot_row(persnum, personal_clitics)
add_combined_slot_row("imp_" .. persnum, all_persons_numbers[persnum] .. "|imp", personal_clitics)
end
add_combined_imp_slot_row("2s", {"me", "te", "nos"})
add_combined_imp_slot_row("2sv", {"me", "te", "nos"})
add_combined_imp_slot_row("3s", {"me", "se", "nos"})
add_combined_imp_slot_row("1p", {"te", "nos", "os"})
add_combined_imp_slot_row("2p", {"me", "nos", "os"})
add_combined_imp_slot_row("3p", {"me", "se", "nos"})
end
-- Generate the list of all slots.
alternant_multiword_spec.all_verb_slots = {}
for _, slot_and_accel in ipairs(alternant_multiword_spec.verb_slots_basic) do
table.insert(alternant_multiword_spec.all_verb_slots, slot_and_accel)
end
for _, slot_and_accel in ipairs(alternant_multiword_spec.verb_slots_combined) do
table.insert(alternant_multiword_spec.all_verb_slots, slot_and_accel)
end
for _, slot_and_accel in ipairs(alternant_multiword_spec.verb_slots_reflexive_verb_form_of) do
table.insert(alternant_multiword_spec.all_verb_slots, slot_and_accel)
end
alternant_multiword_spec.verb_slots_basic_map = {}
for _, slotaccel in ipairs(alternant_multiword_spec.verb_slots_basic) do
local slot, accel = unpack(slotaccel)
alternant_multiword_spec.verb_slots_basic_map[slot] = accel
end
alternant_multiword_spec.verb_slots_combined_map = {}
for _, slotaccel in ipairs(alternant_multiword_spec.verb_slots_combined) do
local slot, accel = unpack(slotaccel)
alternant_multiword_spec.verb_slots_combined_map[slot] = accel
end
end
-- Return true if `form` is accented and is likely monosyllabic. Used in remove_monosyllabic_accents(); if true, we
-- run the syllabification algorithm to determine the syllable count, and if monosyllabic, remove the accent. Also used
-- in conjunction with user-specified form overrides to add an asterisk to prevent accents from being removed.
local function may_need_monosyllabic_accent_removed(form)
return not rfind(form, "^%-") and rfind(form, AV) and not rfind(form, V .. C .. V)
end
local overridable_stems = {}
-- If `add_monosyllabic_asterisk` is given, add a * to accented forms that may be monosyllabic to prevent the accent
-- from being removed in remove_monosyllabic_accents().
local function allow_multiple_values_for_override(separated_groups, data, add_monosyllabic_asterisk)
local retvals = {}
for _, separated_group in ipairs(separated_groups) do
local footnotes = data.fetch_footnotes(separated_group)
local form = separated_group[1]
if add_monosyllabic_asterisk and may_need_monosyllabic_accent_removed(form) then
form = form .. "*"
end
-- Add suppress_prefix to prevent the built-in verb prefix from being added to the override.
local retval = {form = form, footnotes = footnotes, suppress_prefix = true}
table.insert(retvals, retval)
end
return retvals
end
local function simple_choice(choices)
return function(separated_groups, data)
if #separated_groups > 1 then
data.parse_err("For spec '" .. data.prefix .. ":', only one value currently allowed")
end
if #separated_groups[1] > 1 then
data.parse_err("For spec '" .. data.prefix .. ":', no footnotes currently allowed")
end
local choice = separated_groups[1][1]
if not m_table.contains(choices, choice) then
data.parse_err("For spec '" .. data.prefix .. ":', saw value '" .. choice .. "' but expected one of '" ..
table.concat(choices, ",") .. "'")
end
return choice
end
end
for _, overridable_stem in ipairs {
"pres_unstressed",
"pres_stressed",
"pres1_and_sub",
-- Don't include pres1; use pres_1s if you need to override just that form
"impf",
"full_impf",
"pret",
{"pret_conj", simple_choice({"irreg", "ar", "er", "ir"}) },
"fut",
"cond",
"pres_sub_stressed",
"pres_sub_unstressed",
"impf_sub_ra",
"impf_sub_se",
"fut_sub",
"pp",
} do
if type(overridable_stem) == "string" then
overridable_stems[overridable_stem] = allow_multiple_values_for_override
else
local stem, validator = unpack(overridable_stem)
overridable_stems[stem] = validator
end
end
local function match_against_verbs(ref_verb, prefixes)
return function(verb)
for _, prefix in ipairs(prefixes) do
if verb == prefix .. ref_verb then
return prefix, ref_verb
end
end
return nil
end
end
--[=[
Special cases for verbs:
diluviar, atardecer: impersonal; all finite non-3s forms are nonexistent or hypothetical. Handle using
'.only3s'.
empecer, atañer, concernir: all finite non-third-person forms are nonexistent or hypothetical. Handle using '.only3sp'.
desnacer: Former module claimed an irregular past participle 'desnato'. Verb is not in RAE at all and barely exists;
unlikely to have irregular past participle.
desposeer: Former module claimed an irregular past participle 'desposeso'. Not per RAE.
valer: Former module claimed an irregular imperative 'val'. Not per RAE.
manumitir: Former module claimed an irregular past participle 'manumiso'. Not per RAE.
raer: Former module claimed a pres 1sg rao. Not per RAE.
rehuir: Handle using +ú.
sustituir: Former module claimed an irregular past participle 'sustituto'. Not per RAE.
venir: Former module claimed an irregular clitic combination ven + nos -> venos. Not per native speakers.
---------
Verbs to check: rehuir (+ú), prohibir (+í), reunir (+ú)
---------
-ir verbs:
There are several types of vowel alternations:
1. No alternation. Includes some verbs in -e- and -o-, e.g. aterir(se) (no_pres_stressed), tra(n)sgredir
(pres_stressed forms rare), abolir (pres_stressed forms rare), colorir (no_pres_stressed), sumergir, divergir,
convergir, arrecir (no_pres_stressed), rostir, polir (obsolete), condir (obsolete), possibly ascondir (obsolete),
atordir (obsolete), sacodir (obsolete), sobrevendir (possible misspelling), empedernir (no_pres_stressed),
decebir (obsolete; possibly actually like concebir, i.e. decibo not decebo),
premir (obsolete), expremir (obsolete), exir (obsolete), escreuir (obsolete; fix conjugation), escrebir (obsolete),
agredir; sometimes the stressed forms are rare or disused. (Also embaír, desvaír are no_pres_stressed.)
2a. ie: Infinitive has -e-, changing to -ie- when stressed. No raising before i+V. Only hendir, cernir, discernir,
concernir (only3sp); discernir -> discierno, discerniendo, discernió, discernamos.
2b. ye: Infinitive has -e-, changing to -ye- when stressed. No raising before i+V. Does not occur (cf. errar).
3a. ie-i: Infinitive has -e- or -i-, changing to -ie- when stressed. Raising before i+V and 1p/2p pres subjunctive:
sentir -> siento, sintiendo, sintió, sintamos.
adquirir -> adquiero, adquiriendo, adquirió, adquiramos.
3b. ye-i: Infinitive has -e-, changing to -ye- when stressed. Raising before i+V and 1p/2p pres subjunctive.
Only erguir: erguir -> yergo, irguiendo, irguió, irgamos.
4. i: Infinitive has -e-, changing to -i- when stressed. Raising before i+V and 1p/2p pres subjunctive:
vestir -> visto, vistiendo, vistió, vistamos. Variant: ceñir -> ciño, ciñendo, ciñó, ciñamos.
NOTE: preterir (no_pres_stressed).
5. ue-u: Infinitive has -o-, changing to -ue- when stressed. Raising before i+V and 1p/2p pres subjunctive:
Only dormir, morir and compounds. dormir -> duermo, durmiendo, durmió, durmamos.
6. ue: This type would be parallel to 'ie' but doesn't appear to exist.
---------
Verbs to fix (extra forms need to be excised or deleted): The above verbs under type (1) -ir vowel alternations;
[[neviscar]] (impersonal), [[acaecer]] (third-person only), [[acontecer]] (third-person only),
[[cellisquear]] (impersonal), [[pintear]] (impersonal? other meaning "to play hookey" given, not in RAE),
[[diluviar]] (impersonal). [[desabrir]] (not like abrir, rare in pres_stressed/sub forms), [[jabrir]]
(not like abrir).
Verbs with existing errors:
* [[abeldar]]: (missing <ie>) [FORMS TO DELETE]
* [[acaecer]]: (used only in 3rd person) [DELETE ALL FIRST AND SECOND PERSON FORMS]
* [[acontecer]]: (used only in 3rd person) [DELETE ALL FIRST AND SECOND PERSON FORMS]
* [[anticuar]] (conjugated without ú) [FORMS TO DELETE]
* [[antojar]]: (used only in 3rd person) [DELETE ALL FIRST AND SECOND PERSON FORMS]
* [[aerografiar]]: (conjugated without í) [FORMS TO DELETE]
* [[afiliar]]: (conjugated with í/+ should be only +) [FORMS TO DELETE]
* [[agraviar]]: (wrongly has í) [FORMS TO DELETE]
* [[arrecir]]: (not given as no_pres_stressed) [FORMS TO DELETE]
* [[aserrar]]: (missing <ie>) [FORMS TO DELETE]
* [[aspaventar]]: (missing <ie>) [OK]
* [[atesar]]: (wrongly has ie) [FORMS TO DELETE]
* [[avalentar]]: (wrongly has ie) [FORMS TO DELETE]
* [[autorregularse]] (conjugated as non-reflexive) [OK]
* [[auxiliar]]: (conjugated with í/+ should be only +) [FORMS TO DELETE]
* [[balbucir]] (pres1_and_sub nonexistent) [DELETE PRES1_AND_SUB FORMS]
* [[caçar]] (conjugated as -zar) [OK]
* [[calefacer]] (extra form caleface) [FIX]
* [[cellisquear]]: (used only in 3rd person singular) [DELETE ALL FIRST AND SECOND PERSON FORMS, ALL 3RD PLURAL FORMS AND ALL PP NON-MS FORMS]
* [[chilenizar]] (conjugated with no cons alternation) [OK]
* [[colorir]]: (not given as no_pres_stressed) [FORMS TO DELETE]
* [[comisariar]] (conjugated without í) [FORMS TO DELETE]
* [[complacer]] (missing complega in imperative 3s) [OK]
* [[comprehender]] (conjugated as comprender) [OK]
* [[decebir]] (was conjugated without <i>) [FORMS TO DELETE]
* [[desafiliar]]: (conjugated with í/+ should be only +) [FORMS TO DELETE]
* [[desagregar]] (conjugated with no cons alternation) [FORMS TO DELETE]
* [[desairar]]: (conjugated with í should be only +) [FORMS TO DELETE]
* [[descordar]]: (missing <ue>) [FORMS TO DELETE]
* [[deseleccionar]] (conjugated as desseleccionar) [OK]
* [[desestacionalizar]] (conjugated with no cons alternation) [FORMS TO DELETE]
* [[desgonzar]] (conjugated with no cons alternation) [FORMS TO DELETE]
* [[desguinzar]] (conjugated with no cons alternation) [FORMS TO DELETE]
* [[deshacer]] (extra form deshace, desháceme etc.) [OK]
* [[desnacer]] (extra form desnato etc.) [DELETE PP FORMS]
* [[desposeer]] (extra form desposeso etc.) [DELETE PP FORMS]
* [[dezmar]]: (wrongly has ie) [FORMS TO DELETE]
* [[diluviar]]: (used only in 3rd person singular) [DELETE ALL FIRST AND SECOND PERSON FORMS, ALL 3RD PLURAL FORMS AND ALL PP NON-MS FORMS]
* [[draftear]] (extraneous param lang=es) [REMOVE PARAM]
* [[ejemplarizar]] (extraneous param compound=1) [compound -> combined]
* [[ejercitar]] (extraneous param compound=1) [compound -> combined]
* [[empecer]] (empezca has imperatives, 1s in its verb form entry) [FIX]
* [[encentar]]: (wrongly has ie) [OK]
* [[encubertar]]: (wrongly has ie) [FORMS TO DELETE]
* [[entrechocar]] (conjugated with no cons alternation) [FORMS TO DELETE]
* [[entredecir]] (imp_2s has entredice should be entredí; extra future/cond forms entredeciré etc.) [FORMS TO DELETE/FIX]
* [[escenografiar]]: (conjugated without í) [FORMS TO DELETE]
* [[estar]] (incorrect combined forms, e.g. éstela instead of estela) [OK]
* [[extasiar]]: (conjugated with í/+ should be only í) [FORMS TO DELETE]
* [[facer]] (extra form face, fáceme, etc.) [FIX]
* [[ferrar]]: (missing <ie>) [FORMS TO DELETE]
* [[gloriar]]: (conjugated with í/+ should be only í) [FORMS TO DELETE]
* [[hacer]] (extra form hace, háceme, etc.) [DELETE hácete]
* [[homogeneizar]] (extra form homogeneízo) [DELETE homogeneízo, homogeneízas, homogeneíza, homogeneízan, homogeneícen, homogeneícemos]
* [[incensar]]: (missing <ie>) [FORMS TO DELETE]
* [[ir]] (extraneous param aux=ser) [REMOVE PARAM]
* [[jacer]] (extra form jace, jáceme, etc.) [FIX]
* [[jarrear]] (extraneous param impersonal=yes)
* [[litografiar]]: (conjugated without í) [FORMS TO DELETE]
* [[manumitir]] (extra form manumiso, etc.) [FIX; is an adjective]
* [[mecanografiar]]: (conjugated without í) [FORMS TO DELETE]
* [[mordiscar]] (conjugated with no cons alternation) [FORMS TO DELETE]
* [[neviscar]]: (used only in 3rd person singular) [DELETE ALL FIRST AND SECOND PERSON FORMS, ALL 3RD PLURAL FORMS AND ALL PP NON-MS FORMS]
* [[obsipar]] (conjugated as obispar) [DELETE VERB]
* [[obstar]]: (used only in 3rd person) [DELETE ALL FIRST AND SECOND PERSON FORMS]
* [[orificar]] (conjugated as orificiar) [OK]
* [[complacer]], [[placer]] (missing plega in imperative 3s, etc.) [OK]
* [[prevaler]] (extra form preval, incorrect form prévalme etc.) [DELETE preval]
* [[preterir]]: (not given as no_pres_stressed) [FORMS TO DELETE]
* [[raer]] (extra form rao) [DELETE rao]
* [[rebordar]] (extraneous param lang=es) [REMOVE PARAM]
* [[redecir]] (incorrect imp_2s redice instead of redí) [FIX]
* [[reinstitucionalizar]] (conjugated with no cons alternation) [FORMS TO DELETE]
* [[reirse]] [DELETE]
* [[serigrafiar]]: (conjugated without í) [FORMS TO DELETE]
* [[sobresalir]] (incorrect combined forms e.g. sobrésalme) [OK]
* [[superpoblar]] (missing <ue>) [FORMS TO DELETE]
* [[sustituir]] (extra form sustituto, etc.) [OK]
* [[usucapir]]: (used only in inf and pp) [DELETE ALL FORMS BUT PP]
* [[valefacer]] (extra form valeface) [FIX]
* [[valer]] (extra form val, etc.) [OK]
* LOTS OF COMBINED FORMS OF VERBS IN -iar, -uar, -ai-, -au-, -ei-, -eu-, etc.
Example: afeitar (afeítate, afeítese, afeítense). Need a script to find them.
* [[acostar]]: normally <ue> but in meaning "arrive at the coast", <>
* [[adecuar]]: <+,ú>
* [[aerografiar]]: <í>
* [[aferrar]]: <+,ie[obsolete]>
* [[afiliar]]: <>
* [[aforar]]: in meaning "to gauge, to measure": <>; in meaning "otorgar fuero": <ue>
* [[arrecir]]: <no_pres_stressed>
* [[agraviar]]: <>
* [[agriar]]: <í,+>
* [[aserrar]]: <ie>
* [[asolar]]: in meaning "destroy": <ue,+>; in meaning "to dry up": <>
* [[aspaventar]]: <ie>
* [[atentar]]: in meaning "to commit a crime" does not have vowel alt
* [[atesar]]: <>; possibly <ie> in obsolete meaning "atiesar"
* [[atestar]]: in meaning "to pack": <ie,+>; in meaning "testify": <>
* [[autoevacuarse]]: <+,ú>
* [[auxiliar]]: <>
* [[avalentar]]: <>
* [[cimentar]]: <ie,+>
* [[colar]]: most meanings <ue> but "canonically confer (an ecclesiastical benefit)" <>
* [[colorir]]: <no_pres_stressed>
* [[comisariar]]: <í>
* [[desafiliar]]: <>
* [[desaforar]]: "to deprive of fuero": <ue,+[less common]>
* [[desairar]]: <>
* [[desolar]]: <ue,+>
* [[desmembrar]]: <ie,+>
* [[dezmar]]: <>
* [[ejecutoriar]]: <í,+>
* [[emparentar]]: <ie,+>
* [[encentar]]: <>
* [[encubertar]]: <>
* [[engrosar]]: <ue,+>
* [[escenografiar]]: <í>
* [[evacuar]]: <+,ú>
* [[expatriar]]: <í,+>
* [[extasiar]]: <í>
* [[ferrar]]: <ie>
* [[follar]]: <ue>
* [[gloriar]]: <í>
* [[hibernar]]: no vowel alt or e-ie; e-ie not in RAE, ask about it
* [[historiar]]: <í,+>
* [[incensar]]: <ie>
* [[invernar]]: <ie,+>
* [[licuar]]: <+,ú>
* [[litografiar]]: <í>
* [[mecanografiar]]: <í>
* [[paliar]]: <í,+>
* [[preterir]]: <i.no_pres_stressed>
* [[promiscuar]]: <+,ú>
* [[readecuar]]: <+,ú>
* [[repatriar]]: <í,+>
* [[retrocar]]: <ue,+>
* [[serigrafiar]]: <í>
* [[soterrar]]: <ie,+>
* [[superpoblar]]: <ue>
* [[templar]]: <+,ie[in some parts of Latin America]>
* [[vidriar]]: <í,+>
Second round of verbs to fix:
* [[apropriar]]: forms point to reflexive [FORMS TO FIX]
* [[autogobernarse]]: (missing <ie>) [FORMS TO DELETE]
* [[autorreproducirse]]: (wrongly had regular preterite and impf/fut sub) [FORMS TO DELETE]
* [[aventarse]]: (missing <ie>) [FORMS TO DELETE]
* [[aventar]]: forms point to reflexive [FORMS TO FIX]
* [[culiar]]: yo culio or culío? [VERIFY]
* [[desnacer]]: delete [[dasnatos]]
* [[poseer]]: delete [[posesa]], [[posesos]], [[posesas]]
* [[reproducir]]: (wrongly had regular preterite and impf/fut sub) [FORMS TO DELETE]
* [[trasgredir]]: (wrongly had <i>) [FORMS TO DELETE]
---------
Irregular conjugations.
Each entry is processed in turn and consists of an object with two fields:
1. match=: Specifies the irregular verbs that match this object.
2. forms=: Specifies the irregular stems and forms for these verbs.
The value of match= is either a string beginning with "^" (match only the specified verb), a string not beginning
with "^" (match any verb ending in that string), or a function that is passed in the verb and should return the
prefix of the verb if it matches, otherwise nil. The function match_against_verbs() is provided to facilitate matching
a set of verbs with a common ending and specific prefixes (e.g. [[andar]] and [[desandar]] but not [[mandar]], etc.).
The value of forms= is a table specifying stems and individual override forms. Each key of the table names either a
stem (e.g. `pres_stressed`), a stem property (e.g. `vowel_alt`) or an individual override form (e.g. `pres_1s`).
Each value of a stem can either be a string (a single stem), a list of strings, or a list of objects of the form
{form = STEM, footnotes = {FOONOTES}}. Each value of an individual override should be of exactly the same form except
that the strings specify full forms rather than stems. The values of a stem property depend on the specific property
but are generally strings or booleans.
In order to understand how the stem specifications work, it's important to understand the phonetic modifications done
by combine_stem_ending(). In general, the complexities of predictable stem and ending modifications are all handled
in this function. In particular:
1. Spelling-based modifications (c/z, g/gu, gu/gü, g/j) occur automatically as appropriate for the ending.
2. Raising of e -> i, o -> u in -ir verbs before an ending beginning with i + vowel, as well as in the 1p/2p forms of
the present subjunctive (dormir -> durmiendo, durmió, durmamos), are handled here. Raising happens only for -ir
verbs and only when the stem setting `raising_conj` is true (which is normally set to true when vowel alternations
`ie-i`, `ye-i`, `ue-u`, `i`, `í` or `ú` are specified).
3. Numerous modifications are automatically made before an ending beginning with i + vowel. These include:
a. final -i of stem absorbed: sonreír -> sonrió, sonriera, sonriendo;
b. in the preterite of irregular verbs (likewise for other tenses derived from the preterite stem, i.e. imperfect
and and future subjunctive), initial i absorbed after j and u (dijeron not #dijieron, likewise for condujeron,
trajeron; also fueron not #fuyeron). This happens only when stem setting `pret_conj` == "irreg"; this must be set
explicitly by irregular verbs. Does not apply everywhere because of cases like regular [[tejer]] (tejieron not
#tejeron), regular [[concluir]] (concluyeron not #conclueron).
c. initial i of ending -> y after vowel and word-initially: poseer -> poseyó, poseyera, poseyendo; ir -> yendo;
d. initial i of ending -> y after gü, which becomes gu: argüir -> arguyó, arguyera, arguyendo;
e. initial i of ending absorbed after ñ, ll, y: tañer -> tañó, tañera, tañendo; bullir -> bulló, bullera, bullendo
4. If the ending begins with (h)i, it gets an accent after a/e/i/o to prevent the two merging into a diphthong:
caer -> caíste, caímos; reír -> reíste, reímos (pres and pret). This does not apply after u, e.g.
concluir -> concluiste, concluimos.
5. In -uir verbs (i.e. -ir verbs with stem ending in -u), a y is added before endings beginning with a/e/o:
concluir -> concluyo, concluyen, concluya, concluyamos. Note that preterite concluyó, gerund concluyendo, etc.
are handled by a different rule above (3b).
The following stems are recognized:
-- pres_unstressed: The present indicative unstressed stem (2s voseo, 1p, 2p). Also controls the imperative 2p
and gerund. Defaults to the infinitive stem.
-- pres_stressed: The present indicative stressed stem (1s, 2s, 3s, 3p). Also controls the imperative 2s.
Default is empty if indicator `no_pres_stressed`, else a vowel alternation if such an indicator is given
(e.g. `ue`, `ì`), else the infinitive stem.
-- pres1_and_sub: Overriding stem for 1s present indicative and the entire subjunctive. Only set by irregular verbs
and by the indicator `no_pres_stressed` (since verbs of this sort, e.g. [[aterir]], are missing the entire
subjunctive as well as the forms with stressed root). Used by many irregular verbs, e.g. [[caer]], [[roer]],
[[salir]], [[tener]], [[valer]], [[venir]], etc. Some verbs set this and then supply an override for the pres_1sg
if it's irregular, e.g. [[saber]], with irregular subjunctive stem "sep-" and special 1s present indicative "sé*"
(the * indicates that the monosyllabic accent should not be removed).
-- pres1: Special stem for 1s present indicative. Normally, do not set this explicitly. If you need to specify an
irregular 1s present indicative, use the form override pres_1s= to specify the entire form. Defaults to
pres1_and_sub if given, else pres_stressed.
-- pres_sub_unstressed: The present subjunctive unstressed stem (1p, 2p, also 2s voseo for -ar verbs). Defaults to
pres1_and_sub if given, else the infinitive stem.
-- pres_sub_stressed: The present subjunctive stressed stem (1s, 2s, 3s, 1p, also 2s voseo for -er/-ir verbs). Defaults
to pres1.
-- impf: The imperfect stem. Defaults to the infinitive stem.
-- pret: The preterite stem. Defaults to the infinitive stem.
-- pret_conj: Determines the set of endings used in the preterite. Should be one of "ar", "er", "ir" or "irreg".
Defaults to the conjugation as determined from the infinitive.
-- fut: The future stem. Defaults to the infinitive stem.
-- cond: The conditional stem. Defaults to fut.
-- impf_sub_ra: The imperfect subjunctive -ra stem. Defaults to the preterite stem.
-- impf_sub_se: The imperfect subjunctive -se stem. Defaults to the preterite stem.
-- fut_sub: The future subjunctive stem. Defaults to the preterite stem.
-- pp: The past participle stem. Default is based on the verb conjugation: infinitive stem + "ad" for -ar verbs,
otherwise infinitive stem + "id".
]=]
local built_in_conjugations = {
{
-- andar, desandar
-- we don't want to match e.g. mandar.
match = match_against_verbs("andar", {"", "des"}),
forms = {pret = "anduv", pret_conj = "irreg"}
},
{
-- asir, desasir
match = "asir",
-- use 'asgu' because we're in a front environment; if we use 'asg', we'll get '#asjo'
forms = {pres1_and_sub = "asgu"}
},
{
-- abrir, cubrir and compounds
match = function(verb)
local prefix, base_verb = rmatch(verb, "^(.*)(brir)$")
-- Only match abrir, cubrir and compounds, and don't match desabrir/jabrir
if not prefix then
return nil
elseif not prefix:find("a$") and not prefix:find("cu$") then
return nil
elseif prefix == "desa" or prefix == "ja" then
return nil
else
return prefix, base_verb
end
end,
forms = {pp = "biert"}
},
{
match = "caber",
forms = {pres1_and_sub = "quep", pret = "cup", pret_conj = "irreg", fut = "cabr"}
},
{
-- caer, decaer, descaer, recaer
match = "caer",
-- use 'caigu' because we're in a front environment; if we use 'caig', we'll get '#caijo'
forms = {pres1_and_sub = "caigu"}
},
{
-- cocer, escocer, precocer, etc.
match = "cocer",
-- override cons_alt, otherwise the verb would be categorized as a c-zc alternating verb
forms = {vowel_alt = "ue", pres1 = "cuez", pres_sub_unstressed = "coz", cons_alt = "c-z"}, -- not cozco, as would normally be generated
},
{
-- dar, desdar
match = match_against_verbs("dar", {"", "des"}),
forms = {
-- we need to override various present indicative forms and add an accent for the compounds;
-- not needed for the simplex and in fact the accents will be removed in that case
pres_1s = "doy",
pres_2s = "dás",
pres_3s = "dá",
pres_2p = "dáis",
pres_3p = "dán",
pret = "d", pret_conj = "er",
pres_sub_1s = "dé*", -- * signals that the monosyllabic accent must remain
pres_sub_2s = "dés",
pres_sub_3s = "dé*",
pres_sub_2p = "déis",
pres_sub_3p = "dén",
imp_2s = "dá",
}
},
{
-- decir, redecir, entredecir
match = match_against_verbs("decir", {"", "re", "entre"}),
forms = {
-- for this and variant verbs in -decir, we set cons_alt to false because we don't want the
-- verb categorized as a c-zc alternating verb, which would happen by default
-- use 'digu' because we're in a front environment; if we use 'dig', we'll get '#dijo'
pres1_and_sub = "digu", vowel_alt = "i", cons_alt = false, pret = "dij", pret_conj = "irreg",
pp = "dich", fut = "dir",
imp_2s = "dí" -- need the accent for the compounds; it will be removed in the simplex
}
},
{
-- antedecir, interdecir
match = match_against_verbs("decir", {"ante", "inter"}),
forms = {
pres1_and_sub = "digu", vowel_alt = "i", cons_alt = false, pret = "dij", pret_conj = "irreg",
pp = "dich", fut = "dir" -- imp_2s regular
}
},
{
-- bendecir, maldecir
match = match_against_verbs("decir", {"ben", "mal"}),
forms = {
pres1_and_sub = "digu", vowel_alt = "i", cons_alt = false, pret = "dij", pret_conj = "irreg",
pp = {"decid", "dit"} -- imp_2s regular, fut regular
}
},
{
-- condecir, contradecir, desdecir, predecir, others?
match = "decir",
forms = {
pres1_and_sub = "digu", vowel_alt = "i", cons_alt = false, pret = "dij", pret_conj = "irreg",
pp = "dich", fut = {"decir", "dir"} -- imp_2s regular
}
},
{
match = "^desvaír",
forms = {
pres_2s = "desvaes",
pres_3s = "desvae",
pres_3p = "desvaen",
imp_2s = "desvae"
}
},
{
-- conducir, producir, reducir, traducir, etc.
match = "ducir",
forms = {pret = "duj", pret_conj = "irreg"}
},
{
-- elegir, reelegir; not preelegir, per RAE
match = match_against_verbs("elegir", {"", "re"}),
forms = {vowel_alt = "i", pp = {"elegid", "elect"}}
},
{
-- erguir
match = "^erguir",
forms = {
vowel_alt = {"i", "ye-i"},
-- We would not need to make this verb irregular except for the alternative unstressed present subjunctive forms
-- in yerg-. We can't use pres_sub_unstressed = {"irgu", "yergu"} because the "i" and "ye-i" vowel alternations
-- are e->i raising in the unstressed present subjunctive and we wrongly get irgamos/yirgamos etc.
pres_sub_2sv = {"irgás", "yergás"},
pres_sub_1p = {"irgamos", "yergamos"},
pres_sub_2p = {"irgáis", "yergáis"},
},
},
{
match = "^estar",
forms = {
pres_1s = "estoy",
pres_2s = "estás",
pres_2sv = "estás",
pres_3s = "está",
pres_3p = "están",
pret = "estuv",
pret_conj = "irreg",
pres_sub_1s = "esté",
pres_sub_2s = "estés",
pres_sub_2sv = "estés",
pres_sub_3s = "esté",
pres_sub_3p = "estén",
imp_2s = "está",
imp_2sv = "está",
}
},
{
-- freír, refreír
match = "freír",
forms = {vowel_alt = "í", pp = {"freíd", "frit"}}
},
{
match = "garantir",
forms = {
pres_stressed = {{form = "garant", footnotes = {"[only used in Argentina and Uruguay]"}}},
pres1_and_sub = {{form = "garant", footnotes = {"[only used in Argentina and Uruguay]"}}},
}
},
{
match = "^haber",
forms = {
pres_1s = "he",
pres_2s = "has",
pres_2sv = "has",
pres_3s = {"ha", {form = "hay", footnotes = {"[used impersonally]"}}},
pres_1p = "hemos",
pres_3p = "han",
pres1_and_sub = "hay", -- only for subjunctive as we override pres_1s
pret = "hub",
pret_conj = "irreg",
imp_2s = {"habe", "he"},
imp_2sv = {"habe", "he"},
fut = "habr",
}
},
{
match = "satisfacer",
forms = {
-- see below for cons_alt setting and pres1_and_sub setting
pres1_and_sub = "satisfagu", cons_alt = false, pret = "satisfic", pret_conj = "irreg",
pp = "satisfech", fut = "satisfar", imp_2s = {"satisface", "satisfaz"}
}
},
{
match = match_against_verbs("hacer", {"contra", "re"}),
-- contrahacer/rehacer require an extra accent in the preterite (rehíce, rehízo).
forms = {
-- see below for cons_alt setting and pres1_and_sub setting
pres1_and_sub = "hagu", cons_alt = false,
pret = "hic", pret_1s = "híce", pret_3s = "hízo", pret_conj = "irreg",
pp = "hech", fut = "har", imp_2s = "haz"
}
},
{
-- hacer, deshacer, contrahacer, rehacer, facer, desfacer, jacer
match = function(verb) return rmatch(verb, "^(.*[hjf])(acer)$") end,
forms = {
-- for these verbs, we set cons_alt to false because we don't want the verb categorized as a
-- c-zc alternating verb, which would happen by default
-- use 'agu' because we're in a front environment; if we use 'ag', we'll get '#hajo'
pres1_and_sub = "agu", cons_alt = false, pret = "ic", pret_conj = "irreg", pp = "ech",
fut = "ar", imp_2s = "az"
}
},
{
-- imprimir, reimprimir
match = "imprimir",
forms = {pp = {"imprimid", "impres"}}
},
{
-- infecir
match = "infecir",
-- override cons_alt, otherwise the verb would be categorized as a c-zc alternating verb
forms = {vowel_alt = "i", pres1 = "infiz", pres_sub_unstressed = "infez", cons_alt = "c-z"}, -- not infizco, as would normally be generated
},
{
match = "infecir",
-- override cons_alt, otherwise the verb would be categorized as a c-zc alternating verb
forms = {pres1_and_sub = "infez", cons_alt = "c-z"}, -- not mezco, as would normally be generated
},
{
match = "^ir",
forms = {
pres_1s = "voy",
pres_2s = "vas",
pres_2sv = "vas",
pres_3s = "va",
pres_1p = "vamos",
pres_2p = "vais",
pres_3p = "van",
pres1_and_sub = "vay", -- only for subjunctive as we override pres_1s
full_impf = "ib",
impf_1p = "íbamos",
pret = "fu",
pret_conj = "irreg", -- this signals that fu + -ieron -> fueron not fuyeron
pret_1s = "fui",
pret_3s = "fue",
imp_2s = "ve",
imp_2sv = "andá",
imp_1p = {"vamos", "vayamos"},
refl_imp_2p = {"idos", "iros"},
imp_2p_comb_os = {"idos", "iros"},
}
},
{
-- mecer, remecer
-- we don't want to match e.g. adormecer, estremecer
match = match_against_verbs("mecer", {"re", ""}),
-- override cons_alt, otherwise the verb would be categorized as a c-zc alternating verb
forms = {pres1_and_sub = "mez", cons_alt = "c-z"}, -- not mezco, as would normally be generated
},
{
-- morir, desmorir, premorir
match = "morir",
forms = {vowel_alt = "ue-u", pp = "muert"},
},
{
-- oír, desoír, entreoír, trasoír
match = "oír",
-- use 'oigu' because we're in a front environment; if we use 'oig', we'll get '#oijo'
forms = {pres1_and_sub = "oigu"}
},
{
match = "olver", -- solver, volver, bolver and derivatives
forms = {vowel_alt = "ue", pp = "uelt"}
},
{
-- placer, desplacer
match = "placer",
forms = {
pret_3s = {"plació", {form = "plugo", footnotes = {"[archaic]"}}},
pret_3p = {"placieron", {form = "pluguieron", footnotes = {"[archaic]"}}},
pres_sub_3s = {"plazca", {form = "plega", footnotes = {"[archaic]"}}, {form = "plegue", footnotes = {"[archaic]"}}},
impf_sub_ra_3s = {"placiera", {form = "pluguiera", footnotes = {"[archaic]"}}},
impf_sub_ra_3p = {"placieran", {form = "pluguieran", footnotes = {"[archaic]"}}},
impf_sub_se_3s = {"placiese", {form = "pluguiese", footnotes = {"[archaic]"}}},
impf_sub_se_3p = {"placiesen", {form = "pluguiesen", footnotes = {"[archaic]"}}},
fut_sub_3s = {"placiere", {form = "pluguiere", footnotes = {"[archaic]"}}},
fut_sub_3p = {"placieren", {form = "pluguieren", footnotes = {"[archaic]"}}},
}
},
{
match = "poder",
forms = {vowel_alt = "ue", pret = "pud", pret_conj = "irreg", fut = "podr", gerund = "pudiendo"}
},
{
-- poner, componer, deponer, imponer, oponer, suponer, many others
match = "poner",
forms = {
-- use 'pongu' because we're in a front environment; if we use 'pong', we'll get '#ponjo'
pres1_and_sub = "pongu", pret = "pus", pret_conj = "irreg", fut = "pondr", pp = "puest",
imp_2s = "pón" -- need the accent for the compounds; it will be removed in the simplex
}
},
{
-- proveer, desproveer
match = "proveer",
forms = {pp = {"provist", "proveíd"}},
},
{
match = "pudrir",
forms = {pp = "podrid"}
},
{
-- querer, desquerer, malquerer
match = "querer",
forms = {vowel_alt = "ie", pret = "quis", pret_conj = "irreg", fut = "querr"}
},
{
match = "^raer",
-- use 'raigu' because we're in a front environment; if we use 'raig', we'll get '#raijo'
forms = {pres1_and_sub = {"raigu", "ray"}}
},
{
-- roer, corroer
match = "roer",
-- use 'roigu' because we're in a front environment; if we use 'roig', we'll get '#roijo'
forms = {pres1_and_sub = {"ro", "roigu", "roy"}}
},
{
-- romper, entrerromper, arromper, derromper; not corromper; FIXME: not sure about interromper (obsolete)
match = function(verb)
local prefix, base_verb = rmatch(verb, "^(.*)(romper)$")
-- Don't match corromper
if prefix == "cor" then
return nil
else
return prefix, base_verb
end
end,
forms = {pp = "rot"}
},
{
-- saber, resaber
match = "saber",
forms = {
pres_1s = "sé*", -- * signals that the monosyllabic accent must remain
pres1_and_sub = "sep", -- only for subjunctive as we override pres_1s
pret = "sup",
pret_conj = "irreg",
fut = "sabr",
}
},
{
match = "salir",
forms = {
-- use 'salgu' because we're in a front environment; if we use 'salg', we'll get '#saljo'
pres1_and_sub = "salgu", fut = "saldr", imp_2s = "sal",
-- These don't exist per the RAE.
imp_2s_comb_lo = {}, imp_2s_comb_los = {}, imp_2s_comb_la = {}, imp_2s_comb_las = {},
imp_2s_comb_le = {}, imp_2s_comb_les = {},
},
},
{
match = "scribir", -- escribir, describir, proscribir, etc.
forms = {pp = {"scrit", {form = "script", footnotes = {"[Argentina and Uruguay]"}}}}
},
{
match = "^ser",
forms = {
pres_1s = "soy",
pres_2s = "eres",
pres_2sv = "sos",
pres_3s = "es",
pres_1p = "somos",
pres_2p = "sois",
pres_3p = "son",
pres1_and_sub = "se", -- only for subjunctive as we override pres_1s
full_impf = "er",
impf_1p = "éramos",
pret = "fu",
pret_conj = "irreg", -- this signals that fu + -ieron -> fueron not fuyeron
pret_1s = "fui",
pret_3s = "fue",
fut = "ser",
imp_2s = "sé*", -- * signals that the monosyllabic accent must remain
imp_2sv = "sé*",
}
},
{
match = "^soler",
forms = {
vowel_alt = "ue",
fut = {{form = "soler", footnotes = {"[rare but acceptable]"}}},
fut_sub = {{form = "sol", footnotes = {"[rare but acceptable]"}}},
pp = {{form = "solid", footnotes = {"[rare but acceptable]"}}},
}
},
{
-- tener, abstener, contener, detener, obtener, sostener, and many others
match = "tener",
forms = {
-- use 'tengu' because we're in a front environment; if we use 'teng', we'll get '#tenjo'
pres1_and_sub = "tengu", vowel_alt = "ie", pret = "tuv", pret_conj = "irreg", fut = "tendr",
imp_2s = "tén" -- need the accent for the compounds; it will be removed in the simplex
}
},
{
-- traer, atraer, detraer, distraer, extraer, sustraer, and many others
match = "traer",
-- use 'traigu' because we're in a front environment; if we use 'traig', we'll get '#traijo'
forms = {pres1_and_sub = "traigu", pret = "traj", pret_conj = "irreg"}
},
{
-- valer, equivaler, prevaler
match = "valer",
-- use 'valgu' because we're in a front environment; if we use 'valg', we'll get '#valjo'
forms = {pres1_and_sub = "valgu", fut = "valdr"}
},
{
match = "venir",
forms = {
-- use 'vengu' because we're in a front environment; if we use 'veng', we'll get '#venjo'
pres1_and_sub = "vengu", vowel_alt = "ie-i", pret = "vin", pret_conj = "irreg",
-- uniquely for this verb, pres sub 2sv/1p/2p do not raise the vowel even though we are an
-- e-ie-i verb (contrast sentir -> sintamos/sintáis)
pres_sub_2sv = "vengás", pres_sub_1p = "vengamos", pres_sub_2p = "vengáis",
fut = "vendr", imp_2s = "vén" -- need the accent for the compounds; it will be removed in the simplex
}
},
{
-- We want to match antever etc. but not atrever etc. No way to avoid listing each verb.
match = match_against_verbs("ver", {"ante", "entre", "pre", "re", "tras", ""}),
forms = {
-- we need to override various present indicative forms and add an accent for the compounds;
-- not needed for the simplex and in fact the accents will be removed in that case
pres_2s = "vés",
pres_2sv = "vés",
pres_3s = "vé",
pres_2p = "véis",
pres_3p = "vén",
pres1_and_sub = "ve",
impf = "ve", pp = "vist",
imp_2s = "vé" -- need the accent for the compounds; it will be removed in the simplex
}
},
{
-- yacer, adyacer, subyacer
match = "yacer",
-- use 'yazqu/yazgu/yagu' because we're in a front environment; see 'decir' above
forms = {pres1_and_sub = {"yazqu", "yazgu", "yagu"}, imp_2s = {"yace", "yaz"}}
},
}
local reflexive_masc_forms = {
["su"] = {"mi", "tu", "su", "nuestro", "vuestro", "su"},
["sus"] = {"mis", "tus", "sus", "nuestros", "vuestros", "sus"},
["sí"] = {"mí", "ti", "sí", "nosotros", "vosotros", "sí"},
["consigo"] = {"conmigo", "contigo", "consigo", "con nosotros", "con vosotros", "consigo"},
}
local reflexive_fem_forms = {
["su"] = {"mi", "tu", "su", "nuestra", "vuestra", "su"},
["sus"] = {"mis", "tus", "sus", "nuestras", "vuestras", "sus"},
["sí"] = {"mí", "ti", "sí", "nosotras", "vosotras", "sí"},
["consigo"] = {"conmigo", "contigo", "consigo", "con nosotras", "con vosotras", "consigo"},
}
local reflexive_forms = {
["se"] = {"me", "te", "se", "nos", "os", "se"},
["suyo"] = {"mío", "tuyo", "suyo", "nuestro", "vuestro", "suyo"},
["suya"] = {"mía", "tuya", "suya", "nuestra", "vuestra", "suya"},
["suyos"] = {"míos", "tuyos", "suyos", "nuestros", "vuestros", "suyos"},
["suyas"] = {"mías", "tuyas", "suyas", "nuestras", "vuestras", "suyas"},
}
local function skip_slot(base, slot, allow_overrides)
if not allow_overrides and (base.basic_overrides[slot] or base.combined_overrides[slot] or
base.refl and base.basic_reflexive_only_overrides[slot]) then
-- Skip any slots for which there are overrides.
return true
end
if base.only3s and (slot:find("^pp_f") or slot:find("^pp_mp")) then
-- diluviar, atardecer, neviscar; impersonal verbs have only masc sing pp
return true
end
if not slot:find("[123]") then
-- Don't skip non-personal slots.
return false
end
if base.nofinite then
return true
end
if (base.only3s or base.only3sp or base.only3p) and (slot:find("^imp_") or slot:find("^neg_imp_")) then
return true
end
if base.only3s and not slot:find("3s") then
-- diluviar, atardecer, neviscar
return true
end
if base.only3sp and not slot:find("3[sp]") then
-- atañer, concernir
return true
end
if base.only3p and not slot:find("3p") then
-- [[caer cuatro gotas]], [[caer chuzos de punta]], [[entrarle los siete males]]
return true
end
return false
end
-- Add the `stem` to the `ending` for the given `slot` and apply any phonetic modifications.
-- `is_combining_ending` is true if `ending` is actually the ending (this function is also
-- called to combine prefix + stem). WARNING: This function is written very carefully; changes
-- to it can easily have unintended consequences.
local function combine_stem_ending(base, slot, stem, ending, is_combining_ending)
if not is_combining_ending then
return stem .. ending
end
if base.stems.raising_conj and (rfind(ending, "^i" .. V) or
slot == "pres_sub_1p" or slot == "pres_sub_2p" or slot == "pres_sub_2sv") then
-- need to raise e -> i, o -> u: dormir -> durmió, durmiera, durmiendo, durmamos
stem = rsub(stem, "([eo])(" .. C .. "*)$", function(vowel, rest) return raise_vowel[vowel] .. rest end)
-- also with stem ending in -gu or -qu (e.g. erguir -> irguió, irguiera, irguiendo, irgamos)
stem = rsub(stem, "([eo])(" .. C .. "*[gq]u)$", function(vowel, rest) return raise_vowel[vowel] .. rest end)
end
-- Lots of sound changes involving endings beginning with i + vowel
if rfind(ending, "^i" .. V) then
-- (1) final -i of stem absorbed: sonreír -> sonrió, sonriera, sonriendo; note that this rule may be fed
-- by the preceding one (stem sonre- raised to sonri-, then final i absorbed)
stem = stem:gsub("i$", "")
-- (2) In the preterite of irregular verbs (likewise for other tenses derived from the preterite stem, i.e.
-- imperfect and future subjunctive), initial i absorbed after j (dijeron not #dijieron, likewise for
-- condujeron, trajeron) and u (fueron not #fuyeron). Does not apply in regular verb tejer (tejieron not
-- #tejeron) and concluir (concluyeron not #conclueron).
if base.stems.pret_conj == "irreg" and rfind(stem, "[ju]$") then
ending = ending:gsub("^i", "")
end
-- (3) initial i -> y after vowel and word-initially: poseer -> poseyó, poseyera, poseyendo;
-- concluir -> concluyó, concluyera, concluyendo; ir -> yendo; but not conseguir/delinquir
if stem == "" or (rfind(stem, V .. "$") and not rfind(stem, "[gq]u$")) then
ending = ending:gsub("^i", "y")
end
-- (4) -gü + ie- -> -guye-: argüir -> arguyó, arguyera, arguyendo
if stem:find("gü$") then
-- transfer the y to the stem to avoid gü -> gu below in front/back conversions
stem = stem:gsub("ü$", "uy")
ending = ending:gsub("^i", "")
end
-- (5) initial i absorbed after ñ, ll, y: tañer -> tañó, tañera, tañendo; bullir -> bulló, bullera, bullendo
if rfind(stem, "[ñy]$") or rfind(stem, "ll$") then
ending = ending:gsub("^i", "")
end
end
-- If ending begins with i, it must get an accent after a/e/i/o to prevent the two merging into a diphthong:
-- caer -> caíste, caímos; reír -> reíste, reímos (pres and pret). This does not apply after u, e.g.
-- concluir -> concluiste, concluimos.
if ending:find("^i") and stem:find("[aeio]$") then
ending = ending:gsub("^i", "í")
end
-- If -oír/-uir (i.e. -ir with stem ending in -o/u, e.g. oír, concluir), a y must be added before endings
-- beginning with a/e/o. Check for base.stems.pret_conj == "irreg" to exclude stem fu- of [[ir]].
if base.conj == "ir" and rfind(ending, "^[aeoáéó]") and base.stems.pret_conj ~= "irreg" then
if rfind(stem, "[aoú]$") then -- oír -> oye, rehuir -> rehúyo/rehúye (with indicator 'ú')
stem = stem .. "y"
elseif rfind(stem, "[^gq]u$") then -- concluir, but not conseguir or delinquir
stem = stem .. "y"
elseif stem:find("ü$") then -- argüir -> arguyendo
stem = stem:gsub("ü$", "uy")
end
end
-- Spelling changes in the stem; it depends on whether the stem given is the pre-front-vowel or
-- pre-back-vowel variant, as indicated by `frontback`. We want these front-back spelling changes to happen
-- between stem and ending, not between prefix and stem; the prefix may not have the same "front/backness"
-- as the stem.
local is_front = rfind(ending, "^[eiéí]")
if base.frontback == "front" and not is_front then
-- parecer -> parezco, conducir -> conduzco; use zqu to avoid triggering the following gsub();
-- the third line will replace zqu -> zc
if slot ~= "pret_3s" then -- exclude hice -> hizo (not #hizco)
stem = rsub(stem, "(" .. V .. ")c$", "%1zqu")
end
stem = stem:gsub("sc$", "squ") -- evanescer -> evanesco, fosforescer -> fosforesco
stem = stem:gsub("c$", "z") -- ejercer -> ejerzo, uncir -> unzo
stem = stem:gsub("qu$", "c") -- delinquir -> delinco, parecer -> parezqu- -> parezco
stem = stem:gsub("g$", "j") -- coger -> cojo, afligir -> aflijo
stem = stem:gsub("gu$", "g") -- distinguir -> distingo
stem = stem:gsub("gü$", "gu") -- may not occur; argüir -> arguyo handled above
elseif base.frontback == "back" and is_front then
stem = stem:gsub("gu$", "gü") -- averiguar -> averigüé
stem = stem:gsub("g$", "gu") -- cargar -> cargué
stem = stem:gsub("c$", "qu") -- marcar -> marqué
stem = rsub(stem, "[çz]$", "c") -- aderezar/adereçar -> aderecé
end
return stem .. ending
end
local function check_stems_for_suppress_prefix(slot, stems)
-- Check whether any or all stems have `suppress_prefix`.
local any_suppress_prefix = false
local any_not_suppress_prefix = false
if type(stems) == "table" then
if stems.suppress_prefix then
-- A single form object.
any_suppress_prefix = true
else
for _, stem in ipairs(stems) do
if type(stem) == "table" and stem.suppress_prefix then
any_suppress_prefix = true
else
any_not_suppress_prefix = true
end
end
end
else
any_not_suppress_prefix = true
end
if any_suppress_prefix and any_not_suppress_prefix then
-- This should never happen because suppress_prefix is set on user-specified stem and individual form
-- overrides, which should completely replace built-in overrides (which don't have suppress_prefix).
error("Internal error: For slot '" .. slot .. ", saw a mixture of suppress-prefix and non-suppress-prefix stems, and can't handle")
else
return any_suppress_prefix
end
end
local function add(base, slot, stems, endings, is_combining_ending, allow_overrides)
if skip_slot(base, slot, allow_overrides) then
return
end
local function do_combine_stem_ending(stem, ending)
return combine_stem_ending(base, slot, stem, ending, is_combining_ending)
end
iut.add_forms(base.forms, slot, stems, endings, do_combine_stem_ending, nil, nil, base.all_footnotes)
end
local function add3(base, slot, stems, endings, allow_overrides)
local suppress_prefix = base.prefix == "" or check_stems_for_suppress_prefix(slot, stems)
if suppress_prefix then
return add(base, slot, stems, endings, "is combining ending", allow_overrides)
end
if skip_slot(base, slot, allow_overrides) then
return
end
local is_combining_ending = false
local function do_combine_stem_ending(stem, ending)
return combine_stem_ending(base, slot, stem, ending, is_combining_ending)
end
-- Have to reimplement add_multiple_forms() ourselves due to the is_combining_ending
-- flag, which needs to be different when adding prefix to stems vs. stems to ending.
-- Otherwise we get e.g. #reímpreso instead of reimpreso.
local tempdest = {}
iut.add_forms(tempdest, slot, base.prefix, stems, do_combine_stem_ending)
is_combining_ending = true
iut.add_forms(base.forms, slot, tempdest[slot], endings, do_combine_stem_ending)
end
local function insert_form(base, slot, form)
if not skip_slot(base, slot) then
iut.insert_form(base.forms, slot, form)
end
end
local function insert_forms(base, slot, forms)
if not skip_slot(base, slot) then
iut.insert_forms(base.forms, slot, forms)
end
end
local function add_single_stem_tense(base, slot_pref, stems, s1, s2, s3, p1, p2, p3)
local function addit(slot, ending)
add3(base, slot_pref .. "_" .. slot, stems, ending)
end
addit("1s", s1)
addit("2s", s2)
addit("3s", s3)
addit("1p", p1)
addit("2p", p2)
addit("3p", p3)
end
local function add_present_indic(base)
local function addit(slot, stems, ending)
add3(base, "pres_" .. slot, stems, ending)
end
local s2, s2v, s3, p1, p2, p3
if base.conj == "ar" then
s2, s2v, s3, p1, p2, p3 = "as", "ás", "a", "amos", "áis", "an"
elseif base.conj == "er" then
s2, s2v, s3, p1, p2, p3 = "es", "és", "e", "emos", "éis", "en"
elseif base.conj == "ir" then
s2, s2v, s3, p1, p2, p3 = "es", "ís", "e", "imos", "ís", "en"
else
error("Internal error: Unrecognized conjugation " .. base.conj)
end
addit("1s", base.stems.pres1, "o")
addit("2s", base.stems.pres_stressed, s2)
addit("2sv", base.stems.pres_unstressed, s2v)
addit("3s", base.stems.pres_stressed, s3)
addit("1p", base.stems.pres_unstressed, p1)
addit("2p", base.stems.pres_unstressed, p2)
addit("3p", base.stems.pres_stressed, p3)
end
local function add_present_subj(base)
local function addit(slot, stems, ending)
add3(base, "pres_sub_" .. slot, stems, ending)
end
local s1, s2, s2v, s3, p1, p2, p3, voseo_stem
if base.conj == "ar" then
s1, s2, s2v, s3, p1, p2, p3 = "e", "es", "és", "e", "emos", "éis", "en"
else
s1, s2, s2v, s3, p1, p2, p3 = "a", "as", "ás", "a", "amos", "áis", "an"
end
addit("1s", base.stems.pres_sub_stressed, s1)
addit("2s", base.stems.pres_sub_stressed, s2)
addit("2sv", base.stems.pres_sub_unstressed, s2v)
addit("3s", base.stems.pres_sub_stressed, s3)
addit("1p", base.stems.pres_sub_unstressed, p1)
addit("2p", base.stems.pres_sub_unstressed, p2)
addit("3p", base.stems.pres_sub_stressed, p3)
end
local function add_imper(base)
local function addit(slot, stems, ending)
add3(base, "imp_" .. slot, stems, ending)
end
if base.conj == "ar" then
addit("2s", base.stems.pres_stressed, "a")
addit("2sv", base.stems.pres_unstressed, "á")
addit("2p", base.stems.pres_unstressed, "ad")
elseif base.conj == "er" then
addit("2s", base.stems.pres_stressed, "e")
addit("2sv", base.stems.pres_unstressed, "é")
addit("2p", base.stems.pres_unstressed, "ed")
elseif base.conj == "ir" then
addit("2s", base.stems.pres_stressed, "e")
addit("2sv", base.stems.pres_unstressed, "í")
addit("2p", base.stems.pres_unstressed, "id")
else
error("Internal error: Unrecognized conjugation " .. base.conj)
end
end
local function add_finite_non_present(base)
local function add_tense(slot, stem, s1, s2, s3, p1, p2, p3)
add_single_stem_tense(base, slot, stem, s1, s2, s3, p1, p2, p3)
end
local stems = base.stems
if stems.full_impf then
-- An override needs to be supplied for the impf_1p due to the accent on the stem.
add_tense("impf", stems.full_impf, "a", "as", "a", {}, "ais", "an")
elseif base.conj == "ar" then
add_tense("impf", stems.impf, "aba", "abas", "aba", "ábamos", "abais", "aban")
else
add_tense("impf", stems.impf, "ía", "ías", "ía", "íamos", "íais", "ían")
end
if stems.pret_conj == "irreg" then
add_tense("pret", stems.pret, "e", "iste", "o", "imos", "isteis", "ieron")
elseif stems.pret_conj == "ar" then
add_tense("pret", stems.pret, "é", "aste", "ó", "amos", "asteis", "aron")
else
add_tense("pret", stems.pret, "í", "iste", "ió", "imos", "isteis", "ieron")
end
if stems.pret_conj == "ar" then
add_tense("impf_sub_ra", stems.impf_sub_ra, "ara", "aras", "ara", "áramos", "arais", "aran")
add_tense("impf_sub_se", stems.impf_sub_se, "ase", "ases", "ase", "ásemos", "aseis", "asen")
add_tense("fut_sub", stems.fut_sub, "are", "ares", "are", "áremos", "areis", "aren")
else
add_tense("impf_sub_ra", stems.impf_sub_ra, "iera", "ieras", "iera", "iéramos", "ierais", "ieran")
add_tense("impf_sub_se", stems.impf_sub_se, "iese", "ieses", "iese", "iésemos", "ieseis", "iesen")
add_tense("fut_sub", stems.fut_sub, "iere", "ieres", "iere", "iéremos", "iereis", "ieren")
end
add_tense("fut", stems.fut, "é", "ás", "á", "emos", "éis", "án")
add_tense("cond", stems.cond, "ía", "ías", "ía", "íamos", "íais", "ían")
end
local function add_non_finite_forms(base)
local stems = base.stems
local function addit(slot, stems, ending)
add3(base, slot, stems, ending)
end
insert_form(base, "infinitive", {form = base.verb})
-- Also insert "infinitive + reflexive pronoun" combinations if we're handling a reflexive verb. See comment below for
-- "gerund + reflexive pronoun" combinations.
if base.refl then
for _, persnum in ipairs(person_number_list_basic) do
insert_form(base, "infinitive_" .. persnum, {form = base.verb})
end
end
local ger_ending = base.conj == "ar" and "ando" or "iendo"
addit("gerund", stems.pres_unstressed, ger_ending)
-- Also insert "gerund + reflexive pronoun" combinations if we're handling a reflexive verb. We insert exactly the same
-- form as for the bare gerund; later on in add_reflexive_or_fixed_clitic_to_forms(), we add the appropriate clitic
-- pronouns. It's important not to do this for non-reflexive verbs, because in that case, the clitic pronouns won't be
-- added, and {{es-verb form of}} will wrongly consider all these combinations as possible inflections of the bare
-- gerund. Thanks to [[User:JeffDoozan]] for this bug fix.
if base.refl then
for _, persnum in ipairs(person_number_list_basic) do
addit("gerund_" .. persnum, stems.pres_unstressed, ger_ending)
end
end
addit("pp_ms", stems.pp, "o")
addit("pp_fs", stems.pp, "a")
addit("pp_mp", stems.pp, "os")
addit("pp_fp", stems.pp, "as")
end
local function copy_subjunctives_to_imperatives(base)
-- Copy subjunctives to imperatives, unless there's an override for the given slot (as with the imp_1p of [[ir]]).
for _, persnum in ipairs({"3s", "1p", "3p"}) do
local from = "pres_sub_" .. persnum
local to = "imp_" .. persnum
insert_forms(base, to, iut.map_forms(base.forms[from], function(form) return form end))
end
end
-- Remove monosyllabic accents (e.g. the 3sg preterite of fiar is fio not #fió). Note that there are a
-- few monosyllabic verb forms that intentionally have an accent, to distinguish them from other words
-- with the same pronunciation. These are as follows:
-- (1) [[sé]] 1sg present indicative of [[saber]];
-- (2) [[sé]] 2sg imperative of [[ser]];
-- (3) [[dé]] 1sg and 3sg present subjunctive of [[dar]].
-- For these, a * is added, which indicates that the accent needs to remain. If we see such a *, we remove
-- it but otherwise leave the form alone.
local function remove_monosyllabic_accents(base)
for _, slotaccel in ipairs(base.alternant_multiword_spec.verb_slots_basic) do
local slot, accel = unpack(slotaccel)
if base.forms[slot] then
for _, form in ipairs(base.forms[slot]) do
if form.form:find("%*") then -- * means leave alone any accented vowel
form.form = form.form:gsub("%*", "")
elseif may_need_monosyllabic_accent_removed(form.form) then
-- Has an accented vowel and no VCV sequence and not a suffix; may be monosyllabic, in which
-- case we need to remove the accent. Check # of syllables and remove accent if only 1. Note
-- that the checks for accented vowel and VCV sequence are not strictly needed, but are
-- optimizations to avoid running the whole syllabification algorithm on every verb form.
local syllables = com.syllabify(form.form)
if #syllables == 1 then
form.form = com.remove_accent_from_syllable(syllables[1])
end
end
end
end
end
end
-- Add the appropriate clitic pronouns in `clitics` to the forms in `base_slot`. `store_cliticized_form` is a function
-- of three arguments (clitic, formobj, cliticized_form) and should store the cliticized form for the specified clitic
-- and form object.
local function add_forms_with_clitic(base, base_slot, clitics, store_cliticized_form)
-- the special slot lxx is for le/les clitics that become "se" in double clitics
if base_slot:match("_comb_lxx$") then
base_slot = base_slot:gsub("_comb_lxx$", "_comb_le")
end
if not base.forms[base_slot] then
mw.log("unhandled base_slot " .. base_slot)
-- This can happen, e.g. in only3s/only3sp/only3p verbs.
return
end
for _, formobj in ipairs(base.forms[base_slot]) do
-- Figure out the correct accenting of the verb when a clitic pronoun is attached to it. We may need to
-- add or remove an accent mark:
-- (1) No accent mark currently, none needed: infinitive sentar -> sentarlo; imperative singular ten -> tenlo;
-- (2) Accent mark currently, still needed: infinitive oír -> oírlo;
-- (3) No accent mark currently, accent needed: imperative singular siente -> siéntelo;
-- (4) Accent mark currently, not needed: imperative singular está -> estalo, sé -> selo.
local syllables = com.syllabify(formobj.form)
local sylno = com.stressed_syllable(syllables)
table.insert(syllables, "lo")
local needs_accent = com.accent_needed(syllables, sylno)
if needs_accent then
syllables[sylno] = com.add_accent_to_syllable(syllables[sylno])
else
syllables[sylno] = com.remove_accent_from_syllable(syllables[sylno])
end
table.remove(syllables) -- remove added clitic pronoun
local reaccented_form = table.concat(syllables)
for _, clitic in ipairs(clitics) do
local cliticized_form
-- Some further special cases.
if base_slot == "imp_1p" and (clitic == "nos" or clitic == "os") then
-- Final -s disappears: sintamos + nos -> sintámonos, sintamos + os -> sintámoos
cliticized_form = reaccented_form:gsub("s$", "") .. clitic
elseif base_slot == "imp_2p" and clitic == "os" then
-- Final -d disappears, which may cause an accent to be required:
-- haced + os -> haceos, sentid + os -> sentíos
if reaccented_form:find("id$") then
cliticized_form = reaccented_form:gsub("id$", "íos")
else
cliticized_form = reaccented_form:gsub("d$", "os")
end
else
cliticized_form = reaccented_form .. clitic
end
store_cliticized_form(clitic, formobj, cliticized_form)
end
end
end
-- Generate the combinations of verb form (infinitive, gerund or various imperatives) + clitic pronoun.
local function add_combined_forms(base)
for _, base_slot_and_clitics in ipairs(base.alternant_multiword_spec.verb_slot_combined_rows) do
local base_slot, clitics = unpack(base_slot_and_clitics)
add_forms_with_clitic(base, base_slot, clitics,
function(clitic, formobj, cliticized_form)
insert_form(base, base_slot .. "_comb_" .. clitic,
{form = cliticized_form, footnotes = formobj.footnotes})
end
)
end
for _, single_comb_slot_and_clitics in ipairs(base.alternant_multiword_spec.verb_slot_double_combined_rows) do
local single_comb_slot, clitics = unpack(single_comb_slot_and_clitics)
-- Handle le -> se transformation for double clitics
if single_comb_slot:match("_comb_lxx$") then
add_forms_with_clitic(base, single_comb_slot, clitics,
function(clitic, formobj, cliticized_form)
-- Only add se version for accusative clitics (lo/la/los/las)
if clitic:match("^l[aeo]") then
cliticized_form = cliticized_form:gsub("le" .. clitic .. "$", "se" .. clitic)
insert_form(base, single_comb_slot .. "_" .. clitic,
{form = cliticized_form, footnotes = formobj.footnotes})
end
end
)
end
add_forms_with_clitic(base, single_comb_slot, clitics,
function(clitic, formobj, cliticized_form)
insert_form(base, single_comb_slot .. "_" .. clitic,
{form = cliticized_form, footnotes = formobj.footnotes})
end
)
end
end
local function process_slot_overrides(base, do_basic, reflexive_only)
local overrides = reflexive_only and base.basic_reflexive_only_overrides or
do_basic and base.basic_overrides or base.combined_overrides
for slot, forms in pairs(overrides) do
local suppress_prefix = base.prefix == "" or check_stems_for_suppress_prefix(slot, forms)
add(base, slot, suppress_prefix and "" or base.prefix, forms, false, "allow overrides")
end
end
-- Prefix `form` with `clitic`, adding fixed text `between` between them. Add links as appropriate unless the user
-- requested no links. Check whether form already has brackets (as will be the case if the form has a fixed clitic).
local function add_clitic_to_form(base, clitic, between, form)
if base.alternant_multiword_spec.args.noautolinkverb then
return clitic .. between .. form
else
local clitic_pref = "[[" .. clitic .. "]]" .. between
if form:find("%[%[") then
return clitic_pref .. form
else
return clitic_pref .. "[[" .. form .. "]]"
end
end
end
-- Add a reflexive pronoun or fixed clitic, e.g. [[lo]], as appropriate to the base form that were generated.
-- `do_joined` means to do only the forms where the pronoun is joined to the end of the form; otherwise, do only the
-- forms where it is not joined and precedes the form.
local function add_reflexive_or_fixed_clitic_to_forms(base, do_reflexive, do_joined)
for _, slotaccel in ipairs(base.alternant_multiword_spec.verb_slots_basic) do
local slot, accel = unpack(slotaccel)
local clitic
if not do_reflexive then
clitic = base.clitic
elseif slot:find("[123]") then
local persnum = slot:match("^.*_(.-)$")
clitic = person_number_to_reflexive_pronoun[persnum]
else
clitic = "se"
end
if base.forms[slot] then
if do_reflexive and slot:find("^pp_") or slot == "infinitive_linked" then
-- do nothing with reflexive past participles or with infinitive linked (handled at the end)
elseif slot:find("^neg_imp_") then
error("Internal error: Should not have forms set for negative imperative at this stage")
else
local slot_has_suffixed_clitic = slot:find("infinitive") or slot:find("gerund") or slot:find("^imp_")
-- Maybe generate non-reflexive parts and separated syntactic variants for use in {{es-verb form of}}.
-- See comment in add_slots() above `need_special_verb_form_of_slots`. Check for do_joined so we only
-- run this code once.
if do_reflexive and do_joined and base.alternant_multiword_spec.source_template == "es-verb form of" and
-- Skip personal variants of infinitives and gerunds so we don't think [[jambando]] is a
-- non-reflexive equivalent of [[jambándome]].
not slot:find("infinitive_") and not slot:find("gerund_") then
-- Clone the forms because we will be destructively modifying them just below, adding the reflexive
-- pronoun.
insert_forms(base, slot .. "_non_reflexive", mw.clone(base.forms[slot]))
if slot_has_suffixed_clitic then
insert_forms(base, slot .. "_variant", iut.map_forms(base.forms[slot], function(form)
return add_clitic_to_form(base, clitic, " ... ", form)
end))
end
end
if slot_has_suffixed_clitic then
if do_joined then
add_forms_with_clitic(base, slot, {clitic},
function(clitic, formobj, cliticized_form)
formobj.form = cliticized_form
end
)
end
elseif not do_joined then
-- Add clitic as separate word before all other forms.
for _, form in ipairs(base.forms[slot]) do
form.form = add_clitic_to_form(base, clitic, " ", form.form)
end
end
end
end
end
end
local function handle_infinitive_linked(base)
-- Compute linked versions of potential lemma slots, for use in {{es-verb}}.
-- We substitute the original lemma (before removing links) for forms that
-- are the same as the lemma, if the original lemma has links.
for _, slot in ipairs({"infinitive"}) do
insert_forms(base, slot .. "_linked", iut.map_forms(base.forms[slot], function(form)
if form == base.lemma and rfind(base.linked_lemma, "%[%[") then
return base.linked_lemma
else
return form
end
end))
end
end
local function generate_negative_imperatives(base)
-- Copy subjunctives to negative imperatives, preceded by "no".
for _, persnum in ipairs(neg_imp_person_number_list) do
local from = "pres_sub_" .. persnum
local to = "neg_imp_" .. persnum
insert_forms(base, to, iut.map_forms(base.forms[from], function(form)
if base.alternant_multiword_spec.args.noautolinkverb then
return "no " .. form
elseif form:find("%[%[") then
-- already linked, e.g. when reflexive
return "[[no]] " .. form
else
return "[[no]] [[" .. form .. "]]"
end
end))
end
end
-- Process specs given by the user using 'addnote[SLOTSPEC][FOOTNOTE][FOOTNOTE][...]'.
local function process_addnote_specs(base)
for _, spec in ipairs(base.addnote_specs) do
for _, slot_spec in ipairs(spec.slot_specs) do
slot_spec = "^" .. slot_spec .. "$"
for slot, forms in pairs(base.forms) do
if rfind(slot, slot_spec) then
-- To save on memory, side-effect the existing forms.
for _, form in ipairs(forms) do
form.footnotes = iut.combine_footnotes(form.footnotes, spec.footnotes)
end
end
end
end
end
end
local function add_missing_links_to_forms(base)
-- Any forms without links should get them now. Redundant ones will be stripped later.
for slot, forms in pairs(base.forms) do
for _, form in ipairs(forms) do
if not form.form:find("%[%[") then
form.form = "[[" .. form.form .. "]]"
end
end
end
end
local function conjugate_verb(base)
add_present_indic(base)
add_present_subj(base)
add_imper(base)
add_finite_non_present(base)
add_non_finite_forms(base)
-- This should happen before add_combined_forms() so overrides of basic forms end up part of the combined forms.
process_slot_overrides(base, "do basic") -- do basic slot overrides
-- This should happen after process_slot_overrides() in case a derived slot is based on an override (as with the
-- imp_3s of [[dar]], [[estar]]).
copy_subjunctives_to_imperatives(base)
-- This should happen after process_slot_overrides() because overrides may have accents in them that need to be
-- removed. (This happens e.g. for most present indicative forms of [[ver]], which have accents in them for the
-- prefixed derived verbs, but the accents shouldn't be present in the base verb.)
remove_monosyllabic_accents(base)
if not base.nocomb then
add_combined_forms(base)
end
-- We need to add joined reflexives, then joined and non-joined clitics, then non-joined reflexives, so we get
-- [[házmelo]] but [[no]] [[me]] [[lo]] [[haga]].
if base.refl then
-- This should happen after remove_monosyllabic_accents() so the * marking the preservation of monosyllabic
-- accents doesn't end up in the middle of a word.
add_reflexive_or_fixed_clitic_to_forms(base, "do reflexive", "do joined")
process_slot_overrides(base, "do basic", "do reflexive") -- do reflexive-only basic slot overrides
end
if base.clitic then
-- This should happen after reflexives are added.
add_reflexive_or_fixed_clitic_to_forms(base, false, "do joined")
add_reflexive_or_fixed_clitic_to_forms(base, false, false)
end
if base.refl then
add_reflexive_or_fixed_clitic_to_forms(base, "do reflexive", false)
end
-- This should happen after add_reflexive_or_fixed_clitic_to_forms() so negative imperatives get the reflexive pronoun
-- and clitic in them.
generate_negative_imperatives(base)
if not base.nocomb then
process_slot_overrides(base, false) -- do combined slot overrides
end
-- This should happen before add_missing_links_to_forms() so that the comparison `form == base.lemma`
-- in handle_infinitive_linked() works correctly and compares unlinked forms to unlinked forms.
handle_infinitive_linked(base)
process_addnote_specs(base)
if not base.alternant_multiword_spec.args.noautolinkverb then
add_missing_links_to_forms(base)
end
end
local function parse_indicator_spec(angle_bracket_spec)
-- Store the original angle bracket spec so we can reconstruct the overall conj spec with the lemma(s) in them.
local base = {
angle_bracket_spec = angle_bracket_spec,
user_basic_overrides = {},
user_stems = {},
addnote_specs = {},
}
local function parse_err(msg)
error(msg .. ": " .. angle_bracket_spec)
end
local function fetch_footnotes(separated_group)
local footnotes
for j = 2, #separated_group - 1, 2 do
if separated_group[j + 1] ~= "" then
parse_err("Extraneous text after bracketed footnotes: '" .. table.concat(separated_group) .. "'")
end
if not footnotes then
footnotes = {}
end
table.insert(footnotes, separated_group[j])
end
return footnotes
end
local inside = angle_bracket_spec:match("^<(.*)>$")
assert(inside)
if inside == "" then
return base
end
local segments = put.parse_balanced_segment_run(inside, "[", "]")
local dot_separated_groups = put.split_alternating_runs(segments, "%.")
for i, dot_separated_group in ipairs(dot_separated_groups) do
local first_element = dot_separated_group[1]
if first_element == "addnote" then
local spec_and_footnotes = fetch_footnotes(dot_separated_group)
if #spec_and_footnotes < 2 then
parse_err("Spec with 'addnote' should be of the form 'addnote[SLOTSPEC][FOOTNOTE][FOOTNOTE][...]'")
end
local slot_spec = table.remove(spec_and_footnotes, 1)
local slot_spec_inside = rmatch(slot_spec, "^%[(.*)%]$")
if not slot_spec_inside then
parse_err("Internal error: slot_spec " .. slot_spec .. " should be surrounded with brackets")
end
local slot_specs = rsplit(slot_spec_inside, ",")
-- FIXME: Here, [[Module:it-verb]] called strip_spaces(). Generally we don't do this. Should we?
table.insert(base.addnote_specs, {slot_specs = slot_specs, footnotes = spec_and_footnotes})
elseif indicator_flags[first_element] then
if #dot_separated_group > 1 then
parse_err("No footnotes allowed with '" .. first_element .. "' spec")
end
if base[first_element] then
parse_err("Spec '" .. first_element .. "' specified twice")
end
base[first_element] = true
elseif rfind(first_element, ":") then
local colon_separated_groups = put.split_alternating_runs(dot_separated_group, "%s*:%s*")
local first_element = colon_separated_groups[1][1]
if #colon_separated_groups[1] > 1 then
parse_err("Can't attach footnotes directly to '" .. first_element .. "' spec; attach them to the " ..
"colon-separated values following the initial colon")
end
if overridable_stems[first_element] then
if base.user_stems[first_element] then
parse_err("Overridable stem '" .. first_element .. "' specified twice")
end
table.remove(colon_separated_groups, 1)
base.user_stems[first_element] = overridable_stems[first_element](colon_separated_groups,
{prefix = first_element, base = base, parse_err = parse_err, fetch_footnotes = fetch_footnotes})
else -- assume a basic override; we validate further later when the possible slots are available
if base.user_basic_overrides[first_element] then
parse_err("Basic override '" .. first_element .. "' specified twice")
end
table.remove(colon_separated_groups, 1)
base.user_basic_overrides[first_element] = allow_multiple_values_for_override(
colon_separated_groups,
{prefix = first_element, base = base, parse_err = parse_err, fetch_footnotes = fetch_footnotes},
"add monosyllabic asterisk"
)
end
else
local comma_separated_groups = put.split_alternating_runs(dot_separated_group, "%s*,%s*")
for j = 1, #comma_separated_groups do
local alt = comma_separated_groups[j][1]
if not vowel_alternants[alt] then
if #comma_separated_groups == 1 then
parse_err("Unrecognized spec or vowel alternant '" .. alt .. "'")
else
parse_err("Unrecognized vowel alternant '" .. alt .. "'")
end
end
if base.vowel_alt then
for _, existing_alt in ipairs(base.vowel_alt) do
if existing_alt.form == alt then
parse_err("Vowel alternant '" .. alt .. "' specified twice")
end
end
else
base.vowel_alt = {}
end
table.insert(base.vowel_alt, {form = alt, footnotes = fetch_footnotes(comma_separated_groups[j])})
end
end
end
return base
end
-- Normalize all lemmas, substituting the pagename for blank lemmas and adding links to multiword lemmas.
local function normalize_all_lemmas(alternant_multiword_spec, pagename)
-- (1) Add links to all before and after text. Remember the original text so we can reconstruct the verb spec later.
if not alternant_multiword_spec.args.noautolinktext then
iut.add_links_to_before_and_after_text(alternant_multiword_spec, "remember original")
end
-- (2) Remove any links from the lemma, but remember the original form
-- so we can use it below in the 'lemma_linked' form.
iut.map_word_specs(alternant_multiword_spec, function(base)
if base.lemma == "" then
base.lemma = pagename
end
base.user_specified_lemma = base.lemma
base.lemma = m_links.remove_links(base.lemma)
local refl_verb, clitic = rmatch(base.lemma, "^(.-)(l[aeo]s?)$")
if not refl_verb then
refl_verb, clitic = base.lemma, nil
end
local verb, refl = rmatch(refl_verb, "^(.-)(se)$")
if not verb then
verb, refl = refl_verb, nil
end
base.user_specified_verb = verb
base.refl = refl
base.clitic = clitic
if base.refl and base.clitic then
-- We have to parse the verb suffix to see how to construct the base verb; e.g.
-- abrírsela -> abrir but oírsela -> oír. We parse the verb suffix again in all cases
-- in detect_indicator_spec(), after splitting off the prefix of irrregular verbs.
local actual_verb
local inf_stem, suffix = rmatch(base.user_specified_verb, "^(.*)([aáeéií]r)$")
if not inf_stem then
error("Unrecognized infinitive: " .. base.user_specified_verb)
end
if suffix == "ír" and inf_stem:find("[aeo]$") then
-- accent on suffix should remain
base.verb = base.user_specified_verb
else
base.verb = inf_stem .. com.remove_accent_from_syllable(suffix)
end
else
base.verb = base.user_specified_verb
end
local linked_lemma
if alternant_multiword_spec.args.noautolinkverb or base.user_specified_lemma:find("%[%[") then
linked_lemma = base.user_specified_lemma
elseif base.refl or base.clitic then
-- Reconstruct the linked lemma with separate links around base verb, reflexive pronoun and clitic.
linked_lemma = base.user_specified_verb == base.verb and "[[" .. base.user_specified_verb .. "]]" or
"[[" .. base.verb .. "|" .. base.user_specified_verb .. "]]"
linked_lemma = linked_lemma .. (refl and "[[" .. refl .. "]]" or "") ..
(clitic and "[[" .. clitic .. "]]" or "")
else
-- Add links to the lemma so the user doesn't specifically need to, since we preserve
-- links in multiword lemmas and include links in non-lemma forms rather than allowing
-- the entire form to be a link.
linked_lemma = iut.add_links(base.user_specified_lemma)
end
base.linked_lemma = linked_lemma
end)
end
local function construct_stems(base)
local stems = base.stems
stems.pres_unstressed = stems.pres_unstressed or base.inf_stem
stems.pres_stressed = stems.pres_stressed or
-- If no_pres_stressed given, pres_stressed stem should be empty so no forms are generated.
base.no_pres_stressed and {} or
base.vowel_alt or
base.inf_stem
stems.pres1_and_sub = stems.pres1_and_sub or
-- If no_pres_stressed given, the entire subjunctive is missing.
base.no_pres_stressed and {} or
-- If no_pres1_and_sub given, pres1 and entire subjunctive are missing.
base.no_pres1_and_sub and {} or
nil
stems.pres1 = stems.pres1 or stems.pres1_and_sub or stems.pres_stressed
stems.impf = stems.impf or base.inf_stem
stems.pret = stems.pret or base.inf_stem
stems.pret_conj = stems.pret_conj or base.conj
stems.fut = stems.fut or base.inf_stem .. base.conj
stems.cond = stems.cond or stems.fut
stems.pres_sub_stressed = stems.pres_sub_stressed or stems.pres1
stems.pres_sub_unstressed = stems.pres_sub_unstressed or stems.pres1_and_sub or stems.pres_unstressed
stems.impf_sub_ra = stems.impf_sub_ra or stems.pret
stems.impf_sub_se = stems.impf_sub_se or stems.pret
stems.fut_sub = stems.fut_sub or stems.pret
stems.pp = stems.pp or base.conj == "ar" and
combine_stem_ending(base, "pp_ms", base.inf_stem, "ad", "is combining ending") or
-- use combine_stem_ending esp. so we get reído, caído, etc.
combine_stem_ending(base, "pp_ms", base.inf_stem, "id", "is combining ending")
end
-- Make a list of the slots given in `list1` and optionally `list2`, with `prefix` added to the beginning of each slot
-- name. The elements of each list are of the form {SLOT, ACCEL}. Used for error messages.
local function construct_possible_slots(list1, list2, prefix)
list2 = list2 or {}
prefix = prefix or ""
local slots = {}
local function insert_list_slots(list)
for _, slotaccel in ipairs(list) do
local slot, accel = unpack(slotaccel)
table.insert(slots, prefix .. slot)
end
end
insert_list_slots(list1)
insert_list_slots(list2)
return m_table.serialCommaJoin(slots)
end
local function detect_indicator_spec(base)
base.forms = {}
base.non_reflexive_forms = {}
base.stems = {}
if (base.only3s and 1 or 0) + (base.only3sp and 1 or 0) + (base.only3p and 1 or 0) > 1 then
error("Only one of 'only3s', 'only3sp' and 'only3p' can be specified")
end
base.basic_overrides = {}
base.basic_reflexive_only_overrides = {}
base.combined_overrides = {}
if not base.no_built_in then
for _, built_in_conj in ipairs(built_in_conjugations) do
if type(built_in_conj.match) == "function" then
base.prefix, base.non_prefixed_verb = built_in_conj.match(base.verb)
elseif built_in_conj.match:find("^%^") and rsub(built_in_conj.match, "^%^", "") == base.verb then
-- begins with ^, for exact match, and matches
base.prefix, base.non_prefixed_verb = "", base.verb
else
base.prefix, base.non_prefixed_verb = rmatch(base.verb, "^(.*)(" .. built_in_conj.match .. ")$")
end
if base.prefix then
-- we found a built-in verb
base.irreg_verb = true
for stem, forms in pairs(built_in_conj.forms) do
if stem:find("^refl_") then
stem = stem:gsub("^refl_", "")
if not base.alternant_multiword_spec.verb_slots_basic_map[stem] then
error("Internal error: setting for 'refl_" .. stem .. "' does not refer to a basic verb slot")
end
base.basic_reflexive_only_overrides[stem] = forms
elseif base.alternant_multiword_spec.verb_slots_basic_map[stem] then
-- an individual form override of a basic form
base.basic_overrides[stem] = forms
elseif base.alternant_multiword_spec.verb_slots_combined_map[stem] then
-- an individual form override of a combined form
base.combined_overrides[stem] = forms
else
base.stems[stem] = forms
end
end
break
end
end
end
-- Override built-in-verb stems and overrides with user-specified ones.
for stem, values in pairs(base.user_stems) do
base.stems[stem] = values
end
for override, values in pairs(base.user_basic_overrides) do
if override:find("^refl_") then
if not base.refl then
error("Can't set reflexive-only override '" .. override .. "' on a non-reflexive verb")
end
override = override:gsub("^refl_", "")
if not base.alternant_multiword_spec.verb_slots_basic_map[override] then
error("Unrecognized reflexive-only override 'refl_" .. override .. "': possible slots are " ..
construct_possible_slots(base.alternant_multiword_spec.verb_slots_basic, nil, "refl_"))
end
base.basic_reflexive_only_overrides[override] = values
elseif base.alternant_multiword_spec.verb_slots_basic_map[override] then
base.basic_overrides[override] = values
elseif base.alternant_multiword_spec.verb_slots_combined_map[override] then
base.combined_overrides[override] = values
else
error("Unrecognized override '" .. override .. "': possible slots are " ..
construct_possible_slots(base.alternant_multiword_spec.verb_slots_basic,
base.alternant_multiword_spec.verb_slots_combined))
end
end
base.prefix = base.prefix or ""
base.non_prefixed_verb = base.non_prefixed_verb or base.verb
local inf_stem, suffix = rmatch(base.non_prefixed_verb, "^(.*)([aeií]r)$")
if not inf_stem then
error("Unrecognized infinitive: " .. base.verb)
end
base.inf_stem = inf_stem
suffix = suffix == "ír" and "ir" or suffix
base.conj = suffix
base.frontback = suffix == "ar" and "back" or "front"
if base.stems.vowel_alt then -- built-in verb with specified vowel alternation
if base.vowel_alt then
error(base.verb .. " is a recognized built-in verb, and should not have vowel alternations specified with it")
end
base.vowel_alt = iut.convert_to_general_list_form(base.stems.vowel_alt)
end
-- Propagate built-in-verb indicator flags to `base` and combine with user-specified flags.
for indicator_flag, _ in pairs(indicator_flags) do
base[indicator_flag] = base[indicator_flag] or base.stems[indicator_flag]
end
-- Convert vowel alternation indicators into stems.
if base.vowel_alt then
for _, altform in ipairs(base.vowel_alt) do
altform.alt = altform.form -- save original indicator
local alt = altform.alt
if base.conj == "ir" then
local raising = (
alt == "ie-i" or alt == "ye-i" or alt == "ue-u" or alt == "i" or alt == "í" or alt == "ú"
)
if base.stems.raising_conj == nil then
base.stems.raising_conj = raising
elseif base.stems.raising_conj ~= raising then
error("Can't currently support a mixture of raising (e.g. 'ie-i') and non-raising (e.g. 'ie') vowel alternations in -ir verbs")
end
end
if alt == "+" then
altform.form = base.inf_stem
else
local normalized_alt = alt
if alt == "ie-i" or alt == "ye-i" or alt == "ue-u" then
if base.conj ~= "ir" then
error("母音交替 '" .. alt .. "' は -ir動詞のみです")
end
-- ie-i is like i except for the vowel raising before i+V, similarly for ye-i, ue-u,
-- so convert appropriately.
normalized_alt = alt == "ie-i" and "ie" or alt == "ye-i" and "ye" or "ue"
end
local ret = com.apply_vowel_alternation(base.inf_stem, normalized_alt)
if ret.err then
error("To use '" .. alt .. "', present stem '" .. base.inf_stem .. "' " .. ret.err)
end
altform.form = ret.ret
end
end
end
end
local function detect_all_indicator_specs(alternant_multiword_spec)
-- Propagate some settings up; some are used internally, others by [[Module:es-headword]].
iut.map_word_specs(alternant_multiword_spec, function(base)
-- Internal indicator flags. Do these before calling detect_indicator_spec() because add_slots() uses them.
for _, prop in ipairs { "refl", "clitic" } do
if base[prop] then
alternant_multiword_spec[prop] = true
end
end
base.alternant_multiword_spec = alternant_multiword_spec
-- If reflexive or fixed clitic, don't include combined forms.
alternant_multiword_spec.nocomb = alternant_multiword_spec.nocomb or base.clitic or base.refl
end)
add_slots(alternant_multiword_spec)
iut.map_word_specs(alternant_multiword_spec, function(base)
base.nocomb = alternant_multiword_spec.args.nocomb
detect_indicator_spec(base)
-- User-specified indicator flags. Do these after calling detect_indicator_spec() because the latter may set these
-- indicators for built-in verbs.
for prop, _ in pairs(indicator_flags) do
if base[prop] then
alternant_multiword_spec[prop] = true
end
end
construct_stems(base)
end)
end
local function add_categories_and_annotation(alternant_multiword_spec, base, multiword_lemma)
local function insert_ann(anntype, value)
m_table.insertIfNot(alternant_multiword_spec.annotation[anntype], value)
end
local function insert_cat(cat, also_when_multiword)
-- Don't place multiword terms in categories like 'Spanish verbs ending in -ar' to avoid spamming the
-- categories with such terms.
if also_when_multiword or not multiword_lemma then
m_table.insertIfNot(alternant_multiword_spec.categories, "スペイン語 " .. cat)
end
end
if check_for_red_links and alternant_multiword_spec.source_template == "es-conj" and multiword_lemma then
for _, slot_and_accel in ipairs(alternant_multiword_spec.all_verb_slots) do
local slot = slot_and_accel[1]
local forms = base.forms[slot]
local must_break = false
if forms then
for _, form in ipairs(forms) do
if not form.form:find("%[%[") then
local title = mw.title.new(form.form)
if title and not title.exists then
insert_cat("活用表に赤リンクを含む動詞")
must_break = true
break
end
end
end
end
if must_break then
break
end
end
end
insert_cat("-" .. base.conj .."で終わる動詞")
if base.irreg_verb then
insert_ann("irreg", "irregular")
insert_cat("不規則動詞")
else
insert_ann("irreg", "regular")
end
if base.only3s then
insert_ann("defective", "impersonal")
insert_cat("impersonal verbs")
elseif base.only3sp then
insert_ann("defective", "third-person only")
insert_cat("third-person-only verbs")
elseif base.only3p then
insert_ann("defective", "third-person plural only")
insert_cat("third-person-plural-only verbs")
elseif base.no_pres_stressed or base.no_pres1_and_sub then
insert_ann("defective", "defective")
insert_cat("defective verbs")
else
insert_ann("defective", "regular")
end
if base.clitic then
insert_cat("verbs with lexical clitics")
end
if base.refl then
insert_cat("reflexive verbs")
end
if not base.vowel_alt then
insert_ann("vowel_alt", "non-alternating")
else
local inf_stem = base.inf_stem:gsub("[gq]u$", "x")
for _, alt in ipairs(base.vowel_alt) do
if alt.alt == "+" then
insert_ann("vowel_alt", "non-alternating")
else
local desc
if alt.alt == "ue" and rfind(inf_stem, "u" .. C .. "*$") then
desc = "u-ue交替" -- jugar
elseif alt.alt == "ie" and rfind(inf_stem, "i" .. C .. "*$") then
desc = "i-ie交替" -- adquirir
elseif alt.alt == "í" and rfind(inf_stem, "e" .. C .. "*$") then
desc = "e-í交替" -- reír, freír, etc.
else
desc = vowel_alternant_to_desc[alt.alt] .. "交替"
end
insert_ann("vowel_alt", desc)
insert_cat(desc.."の動詞")
end
end
end
local cons_alt = base.stems.cons_alt
if cons_alt == nil then
if base.conj == "ar" then
if base.inf_stem:find("z$") then
cons_alt = "c-z"
elseif base.inf_stem:find("ç$") then
cons_alt = "c-ç"
elseif base.inf_stem:find("c$") then
cons_alt = "c-qu"
elseif base.inf_stem:find("g$") then
cons_alt = "g-gu"
elseif base.inf_stem:find("gu$") then
cons_alt = "gu-gü"
end
else
if base.no_pres_stressed or base.no_pres1_and_sub then
cons_alt = nil -- no c-zc alternation in balbucir or arrecir
elseif rfind(base.inf_stem, V .. "c$") then
cons_alt = "c-zc"
elseif base.inf_stem:find("sc$") then
cons_alt = "hard-soft"
elseif base.inf_stem:find("c$") then
cons_alt = "c-z"
elseif base.inf_stem:find("qu$") then
cons_alt = "c-qu"
elseif base.inf_stem:find("g$") then
cons_alt = "g-j"
elseif base.inf_stem:find("gu$") then
cons_alt = "g-gu"
elseif base.inf_stem:find("gü$") then
cons_alt = "gu-gü"
end
end
end
if cons_alt then
local desc = cons_alt .. "交替"
insert_ann("cons_alt", desc)
insert_cat(desc.."の動詞")
else
insert_ann("cons_alt", "non-alternating")
end
end
-- Compute the categories to add the verb to, as well as the annotation to display in the
-- conjugation title bar. We combine the code to do these functions as both categories and
-- title bar contain similar information.
local function compute_categories_and_annotation(alternant_multiword_spec)
alternant_multiword_spec.categories = {}
local ann = {}
alternant_multiword_spec.annotation = ann
ann.irreg = {}
ann.defective = {}
ann.vowel_alt = {}
ann.cons_alt = {}
local multiword_lemma = false
for _, form in ipairs(alternant_multiword_spec.forms.infinitive) do
if form.form:find(" ") then
multiword_lemma = true
break
end
end
iut.map_word_specs(alternant_multiword_spec, function(base)
add_categories_and_annotation(alternant_multiword_spec, base, multiword_lemma)
end)
local ann_parts = {}
local irreg = table.concat(ann.irreg, " or ")
if irreg ~= "" and irreg ~= "regular" then
table.insert(ann_parts, irreg)
end
local defective = table.concat(ann.defective, " or ")
if defective ~= "" and defective ~= "regular" then
table.insert(ann_parts, defective)
end
local vowel_alt = table.concat(ann.vowel_alt, " or ")
if vowel_alt ~= "" and vowel_alt ~= "non-alternating" then
table.insert(ann_parts, vowel_alt)
end
local cons_alt = table.concat(ann.cons_alt, " or ")
if cons_alt ~= "" and cons_alt ~= "non-alternating" then
table.insert(ann_parts, cons_alt)
end
alternant_multiword_spec.annotation = table.concat(ann_parts, "; ")
end
local function show_forms(alternant_multiword_spec)
local lemmas = alternant_multiword_spec.forms.infinitive
alternant_multiword_spec.lemmas = lemmas -- save for later use in make_table()
local reconstructed_verb_spec = iut.reconstruct_original_spec(alternant_multiword_spec)
-- Initialize the footnotes with those for the future subjunctive and maybe the pres subjunctive
-- voseo usage. In the latter case, we only do it if there is a distinct pres subjunctive voseo form.
local function create_footnote_obj()
local obj = iut.create_footnote_obj()
iut.get_footnote_text({fut_sub_note}, obj)
-- Compute whether the tuteo and voseo variants are different, for each voseo variant.
-- We use this later in make_table().
for _, slot in ipairs({"pres_2s", "pres_sub_2s", "imp_2s"}) do
alternant_multiword_spec["separate_" .. slot .. "v"] = false
iut.map_word_specs(alternant_multiword_spec, function(base)
if not m_table.deepEquals(base.forms[slot], base.forms[slot .. "v"]) then
alternant_multiword_spec["separate_" .. slot .. "v"] = true
end
end)
end
if alternant_multiword_spec.separate_pres_sub_2sv then
iut.get_footnote_text({pres_sub_voseo_note}, obj)
end
return obj
end
local function transform_accel_obj(slot, formobj, accel_obj)
-- No accelerators for negative imperatives, which are always multiword and derived directly from the
-- present subjunctive.
if slot:find("^neg_imp") then
return nil
end
if accel_obj then
if slot:find("^pp_") then
accel_obj.form = slot
elseif slot == "gerund" then
accel_obj.form = "gerund-" .. reconstructed_verb_spec
else
accel_obj.form = "verb-form-" .. reconstructed_verb_spec
end
end
return accel_obj
end
local props = {
lang = lang,
lemmas = lemmas,
create_footnote_obj = create_footnote_obj,
transform_accel_obj = transform_accel_obj,
}
props.slot_list = alternant_multiword_spec.verb_slots_basic
iut.show_forms(alternant_multiword_spec.forms, props)
alternant_multiword_spec.footnote_basic = alternant_multiword_spec.forms.footnote
props.create_footnote_obj = nil
props.slot_list = alternant_multiword_spec.verb_slots_combined
iut.show_forms(alternant_multiword_spec.forms, props)
alternant_multiword_spec.footnote_combined = alternant_multiword_spec.forms.footnote
end
local notes_template = [=[
<div class="roa-footnote-outer-div" style="width:100%;">
<div class="roa-footnote-inner-div">
{footnote}
</div></div>
]=]
local pres_2sv_template = '<sup><sup>tú</sup></sup><br />{pres_2sv}<sup><sup>vos</sup></sup>'
local pres_sub_2sv_template = '<sup><sup>tú</sup></sup><br />{pres_sub_2sv}<sup><sup>vos<sup class="roa-red-superscript">2</sup></sup></sup>'
local imp_2sv_template = '<sup><sup>tú</sup></sup><br />{imp_2sv}<sup><sup>vos</sup></sup>'
local basic_table = [=[
{description}<div class="NavFrame">
<div class="NavHead" align=center> {title}の活用 ([[Wiktionary:スペイン語動詞活用]]も参照)</div>
<div class="NavContent">
{\op}| class="roa-inflection-table"
|-
! colspan="3" class="roa-nonfinite-header" | <span title="infinitivo">不定詞</span>
| colspan="5" | {infinitive}
|-
! colspan="3" class="roa-nonfinite-header" | <span title="gerundio">現在分詞</span>
| colspan="5" | {gerund}
|-
! rowspan="3" colspan="2" class="roa-nonfinite-header" | <span title="participio (pasado)">過去分詞</span>
| colspan="2" class="roa-nonfinite-header" |
! colspan="2" class="roa-nonfinite-header" | <span title="masculino">男性</span>
! colspan="2" class="roa-nonfinite-header" | <span title="femenino">女性</span>
|-
! colspan="2" class="roa-nonfinite-header" | 単数
| colspan="2" | {pp_ms}
| colspan="2" | {pp_fs}
|-
! colspan="2" class="roa-nonfinite-header" | 複数
| colspan="2" | {pp_mp}
| colspan="2" | {pp_fp}
|-
! colspan="2" rowspan="2" class="roa-person-number-header" |
! colspan="3" class="roa-person-number-header" | 単数
! colspan="3" class="roa-person-number-header" | 複数
|-
! class="roa-person-number-header" | 第一人称
! class="roa-person-number-header" | 第二人称
! class="roa-person-number-header" | 第三人称
! class="roa-person-number-header" | 第一人称
! class="roa-person-number-header" | 第二人称
! class="roa-person-number-header" | 第三人称
|-{reflexive_non_finite_clause}
! rowspan="6" class="roa-indicative-left-rail" | <span title="indicativo">直説法</span>
! class="roa-native-person-number-header" |
! class="roa-native-person-number-header" | yo
! class="roa-native-person-number-header" | tú<br />vos
! class="roa-native-person-number-header" | él/ella/ello<br />usted
! class="roa-native-person-number-header" | nosotros<br />nosotras
! class="roa-native-person-number-header" | vosotros<br />vosotras
! class="roa-native-person-number-header" | ellos/ellas<br />ustedes
|-
! class="roa-finite-header" | <span title="presente de indicativo">現在</span>
| {pres_1s}
| {pres_2s}{pres_2sv_text}
| {pres_3s}
| {pres_1p}
| {pres_2p}
| {pres_3p}
|-
! class="roa-finite-header" | <span title="pretérito imperfecto (copréterito)">不完了過去</span>
| {impf_1s}
| {impf_2s}
| {impf_3s}
| {impf_1p}
| {impf_2p}
| {impf_3p}
|-
! class="roa-finite-header" | <span title="pretérito perfecto simple (pretérito indefinido)">完了過去</span>
| {pret_1s}
| {pret_2s}
| {pret_3s}
| {pret_1p}
| {pret_2p}
| {pret_3p}
|-
! class="roa-finite-header" | <span title="futuro simple (futuro imperfecto)">未来</span>
| {fut_1s}
| {fut_2s}
| {fut_3s}
| {fut_1p}
| {fut_2p}
| {fut_3p}
|-
! class="roa-finite-header" | <span title="condicional simple (pospretérito de modo indicativo)">過去未来・可能法</span>
| {cond_1s}
| {cond_2s}
| {cond_3s}
| {cond_1p}
| {cond_2p}
| {cond_3p}
|-
! class="roa-person-number-header" style="height:.75em" colspan="8" |
|-
! rowspan="5" class="roa-subjunctive-left-rail" | <span title="subjuntivo">接続法</span>
! class="roa-native-person-number-header" |
! class="roa-native-person-number-header" | yo
! class="roa-native-person-number-header" | tú<br />vos
! class="roa-native-person-number-header" | él/ella/ello<br />usted
! class="roa-native-person-number-header" | nosotros<br />nosotras
! class="roa-native-person-number-header" | vosotros<br />vosotras
! class="roa-native-person-number-header" | ellos/ellas<br />ustedes
|-
! class="roa-finite-header" | <span title="presente de subjuntivo">現在</span>
| {pres_sub_1s}
| {pres_sub_2s}{pres_sub_2sv_text}
| {pres_sub_3s}
| {pres_sub_1p}
| {pres_sub_2p}
| {pres_sub_3p}
|-
! class="roa-finite-header" | <span title="pretérito imperfecto de subjuntivo">過去</span><br />(ra)
| {impf_sub_ra_1s}
| {impf_sub_ra_2s}
| {impf_sub_ra_3s}
| {impf_sub_ra_1p}
| {impf_sub_ra_2p}
| {impf_sub_ra_3p}
|-
! class="roa-finite-header" | <span title="pretérito imperfecto de subjuntivo">過去</span><br />(se)
| {impf_sub_se_1s}
| {impf_sub_se_2s}
| {impf_sub_se_3s}
| {impf_sub_se_1p}
| {impf_sub_se_2p}
| {impf_sub_se_3p}
|-
! class="roa-finite-header" | <span title="futuro simple de subjuntivo (futuro de subjuntivo)">未来</span><sup class="roa-red-superscript">1</sup>
| {fut_sub_1s}
| {fut_sub_2s}
| {fut_sub_3s}
| {fut_sub_1p}
| {fut_sub_2p}
| {fut_sub_3p}
|-
! class="roa-person-number-header" style="height:.75em" colspan="8" |
|-
! rowspan="6" class="roa-imperative-left-rail" | <span title="imperativo">命令法</span>
! class="roa-native-person-number-header" |
! class="roa-native-person-number-header" | —
! class="roa-native-person-number-header" | tú<br />vos
! class="roa-native-person-number-header" | usted
! class="roa-native-person-number-header" | nosotros<br />nosotras
! class="roa-native-person-number-header" | vosotros<br />vosotras
! class="roa-native-person-number-header" | ustedes
|-
! class="roa-finite-header" | <span title="imperativo afirmativo">-</span>
|
| {imp_2s}{imp_2sv_text}
| {imp_3s}
| {imp_1p}
| {imp_2p}
| {imp_3p}
|-
! class="roa-finite-header" | <span title="imperativo negativo">禁止</span>
|
| {neg_imp_2s}
| {neg_imp_3s}
| {neg_imp_1p}
| {neg_imp_2p}
| {neg_imp_3p}
|{\cl}{notes_clause}</div></div>
]=]
local reflexive_non_finite_template = [=[
! rowspan="3" class="roa-nonfinite-header" | personal non-finite
! class="roa-native-person-number-header" |
! class="roa-native-person-number-header" | yo
! class="roa-native-person-number-header" | tú<br />vos
! class="roa-native-person-number-header" | él/ella/ello<br />usted
! class="roa-native-person-number-header" | nosotros<br />nosotras
! class="roa-native-person-number-header" | vosotros<br />vosotras
! class="roa-native-person-number-header" | ellos/ellas<br />ustedes
|-
! class="roa-finite-header" | <span title="infinitivo">不定詞</span>
| {infinitive_1s}
| {infinitive_2s}
| {infinitive_3s}
| {infinitive_1p}
| {infinitive_2p}
| {infinitive_3p}
|-
! class="roa-finite-header" | <span title="gerundio">現在分詞</span>
| {gerund_1s}
| {gerund_2s}
| {gerund_3s}
| {gerund_1p}
| {gerund_2p}
| {gerund_3p}
|-
! class="roa-person-number-header" style="height:.75em" colspan="8" |
|-]=]
local combined_form_combined_tu_vos_template = [=[
! class="roa-person-number-header" style="height:.35em" colspan="8" |
|-
! rowspan="2" class="roa-combined-with-imperative" | 口語命令法第二人称単数 ({tuteo}<i>/</i>{voseo}) {imp_2s}
! class="roa-finite-header" | 与格
| {imp_2s_comb_me}
| {imp_2s_comb_te}
| {imp_2s_comb_le}
| {imp_2s_comb_nos}
| ''不使用''
| {imp_2s_comb_les}
|-
! class="roa-finite-header" | 対格
| {imp_2s_comb_me}
| {imp_2s_comb_te}
| {imp_2s_comb_lo}, {imp_2s_comb_la}
| {imp_2s_comb_nos}
| ''不使用''
| {imp_2s_comb_los}, {imp_2s_comb_las}
|-]=]
local combined_form_separate_tu_vos_template = [=[
! class="roa-person-number-header" style="height:.35em" colspan="8" |
|-
! rowspan="2" class="roa-combined-with-imperative" | 口語命令法第二人称単数 ({tuteo}) {imp_2s}
! class="roa-finite-header" | 与格
| {imp_2s_comb_me}
| {imp_2s_comb_te}
| {imp_2s_comb_le}
| {imp_2s_comb_nos}
| ''不使用''
| {imp_2s_comb_les}
|-
! class="roa-finite-header" | 対格
| {imp_2s_comb_me}
| {imp_2s_comb_te}
| {imp_2s_comb_lo}, {imp_2s_comb_la}
| {imp_2s_comb_nos}
| ''不使用''
| {imp_2s_comb_los}, {imp_2s_comb_las}
|-
! class="roa-person-number-header" style="height:.35em" colspan="8" |
|-
! rowspan="2" class="roa-combined-with-imperative" | 口語命令法第二人称単数 ({voseo}) {imp_2sv}
! class="roa-finite-header" | 与格
| {imp_2sv_comb_me}
| {imp_2sv_comb_te}
| {imp_2sv_comb_le}
| {imp_2sv_comb_nos}
| ''不使用''
| {imp_2sv_comb_les}
|-
! class="roa-finite-header" | 対格
| {imp_2sv_comb_me}
| {imp_2sv_comb_te}
| {imp_2sv_comb_lo}, {imp_2sv_comb_la}
| {imp_2sv_comb_nos}
| ''不使用''
| {imp_2sv_comb_los}, {imp_2sv_comb_las}
|-]=]
local combined_form_table = [=[
{description}<div class="NavFrame">
<div class="NavHead" align=center> {title}の複合形</div>
<div class="NavContent">
これらは自動生成されたものであり、実際に使用されるものとは異なる場合がある。また、代名詞の用法は地域によって大きく異なる。
{\op}| class="inflection-table es-inflection-table"
|-
! colspan="2" rowspan="2" class="roa-person-number-header" |
! colspan="3" class="roa-person-number-header" | singular
! colspan="3" class="roa-person-number-header" | plural
|-
! class="roa-person-number-header" | 第一人称
! class="roa-person-number-header" | 第二人称
! class="roa-person-number-header" | 第三人称
! class="roa-person-number-header" | 第一人称
! class="roa-person-number-header" | 第二人称
! class="roa-person-number-header" | 第三人称
|-
! rowspan="2" class="roa-combined-with-infinitive" | 不定詞 {infinitive}
! class="roa-finite-header" | 与格
| {infinitive_comb_me}
| {infinitive_comb_te}
| {infinitive_comb_le}, {infinitive_comb_se}
| {infinitive_comb_nos}
| {infinitive_comb_os}
| {infinitive_comb_les}, {infinitive_comb_se}
|-
! class="roa-finite-header" | 対格
| {infinitive_comb_me}
| {infinitive_comb_te}
| {infinitive_comb_lo}, {infinitive_comb_la}, {infinitive_comb_se}
| {infinitive_comb_nos}
| {infinitive_comb_os}
| {infinitive_comb_los}, {infinitive_comb_las}, {infinitive_comb_se}
|-
! class="roa-person-number-header" style="height:.35em" colspan="8" |
|-
! rowspan="2" class="roa-combined-with-gerund" | 現在分詞 {gerund}
! class="roa-finite-header" | 与格
| {gerund_comb_me}
| {gerund_comb_te}
| {gerund_comb_le}, {gerund_comb_se}
| {gerund_comb_nos}
| {gerund_comb_os}
| {gerund_comb_les}, {gerund_comb_se}
|-
! class="roa-finite-header" | 対格
| {gerund_comb_me}
| {gerund_comb_te}
| {gerund_comb_lo}, {gerund_comb_la}, {gerund_comb_se}
| {gerund_comb_nos}
| {gerund_comb_os}
| {gerund_comb_los}, {gerund_comb_las}, {gerund_comb_se}
|-{tu_vos_clause}
! class="roa-person-number-header" style="height:.35em" colspan="8" |
|-
! rowspan="2" class="roa-combined-with-imperative" | 格式命令法第二人称単数 {imp_3s}
! class="roa-finite-header" | 与格
| {imp_3s_comb_me}
| ''不使用''
| {imp_3s_comb_le}, {imp_3s_comb_se}
| {imp_3s_comb_nos}
| ''不使用''
| {imp_3s_comb_les}
|-
! class="roa-finite-header" | 対格
| {imp_3s_comb_me}
| ''不使用''
| {imp_3s_comb_lo}, {imp_3s_comb_la}, {imp_3s_comb_se}
| {imp_3s_comb_nos}
| ''不使用''
| {imp_3s_comb_los}, {imp_3s_comb_las}
|-
! class="roa-person-number-header" style="height:.35em" colspan="8" |
|-
! rowspan="2" class="roa-combined-with-imperative" | 命令法第一人称複数 {imp_1p}
! class="roa-finite-header" | 与格
| ''不使用''
| {imp_1p_comb_te}
| {imp_1p_comb_le}
| {imp_1p_comb_nos}
| {imp_1p_comb_os}
| {imp_1p_comb_les}
|-
! class="roa-finite-header" | 対格
| ''不使用''
| {imp_1p_comb_te}
| {imp_1p_comb_lo}, {imp_1p_comb_la}
| {imp_1p_comb_nos}
| {imp_1p_comb_os}
| {imp_1p_comb_los}, {imp_1p_comb_las}
|-
! class="roa-person-number-header" style="height:.35em" colspan="8" |
|-
! rowspan="2" class="roa-combined-with-imperative" | 口語命令法第二人称複数 {imp_2p}
! class="roa-finite-header" | 与格
| {imp_2p_comb_me}
| ''不使用''
| {imp_2p_comb_le}
| {imp_2p_comb_nos}
| {imp_2p_comb_os}
| {imp_2p_comb_les}
|-
! class="roa-finite-header" | 対格
| {imp_2p_comb_me}
| ''不使用''
| {imp_2p_comb_lo}, {imp_2p_comb_la}
| {imp_2p_comb_nos}
| {imp_2p_comb_os}
| {imp_2p_comb_los}, {imp_2p_comb_las}
|-
! class="roa-person-number-header" style="height:.35em" colspan="8" |
|-
! rowspan="2" class="roa-combined-with-imperative" | 格式命令法第二人称複数 {imp_3p}
! class="roa-finite-header" | 与格
| {imp_3p_comb_me}
| ''不使用''
| {imp_3p_comb_le}
| {imp_3p_comb_nos}
| ''不使用''
| {imp_3p_comb_les}, {imp_3p_comb_se}
|-
! class="roa-finite-header" | 対格
| {imp_3p_comb_me}
| ''不使用''
| {imp_3p_comb_lo}, {imp_3p_comb_la}
| {imp_3p_comb_nos}
| ''不使用''
| {imp_3p_comb_los}, {imp_3p_comb_las}, {imp_3p_comb_se}
|{\cl}{notes_clause}</div></div>
]=]
local function make_table(alternant_multiword_spec)
local forms = alternant_multiword_spec.forms
forms.title = link_term(alternant_multiword_spec.lemmas[1].form)
if alternant_multiword_spec.annotation ~= "" then
forms.title = forms.title .. " (" .. alternant_multiword_spec.annotation .. ")"
end
forms.description = ""
-- Format the basic table.
forms.tuteo = tuteo_link
forms.voseo = voseo_link
forms.footnote = alternant_multiword_spec.footnote_basic
forms.reflexive_non_finite_clause = alternant_multiword_spec.refl and m_string_utilities.format(reflexive_non_finite_template, forms) or ""
forms.notes_clause = forms.footnote ~= "" and m_string_utilities.format(notes_template, forms) or ""
-- The separate_* values are computed in show_forms().
forms.pres_2sv_text = alternant_multiword_spec.separate_pres_2sv and m_string_utilities.format(pres_2sv_template, forms) or ""
forms.pres_sub_2sv_text = alternant_multiword_spec.separate_pres_sub_2sv and m_string_utilities.format(pres_sub_2sv_template, forms) or ""
forms.imp_2sv_text = alternant_multiword_spec.separate_imp_2sv and m_string_utilities.format(imp_2sv_template, forms) or ""
local formatted_basic_table = m_string_utilities.format(basic_table, forms)
-- Format the combined table.
local formatted_combined_table
if alternant_multiword_spec.refl or alternant_multiword_spec.args.nocomb or alternant_multiword_spec.clitic then
formatted_combined_table = ""
else
forms.footnote = alternant_multiword_spec.footnote_combined
forms.notes_clause = forms.footnote ~= "" and m_string_utilities.format(notes_template, forms) or ""
-- separate_imp_2sv is computed in show_forms().
local tu_vos_template = alternant_multiword_spec.separate_imp_2sv and combined_form_separate_tu_vos_template or combined_form_combined_tu_vos_template
forms.tu_vos_clause = m_string_utilities.format(tu_vos_template, forms)
formatted_combined_table = m_string_utilities.format(combined_form_table, forms)
end
-- Paste them together.
return require("Module:TemplateStyles")("Module:roa-verb/style.css") .. formatted_basic_table .. formatted_combined_table
end
-- Externally callable function to parse and conjugate a verb given user-specified arguments.
-- Return value is WORD_SPEC, an object where the conjugated forms are in `WORD_SPEC.forms`
-- for each slot. If there are no values for a slot, the slot key will be missing. The value
-- for a given slot is a list of objects {form=FORM, footnotes=FOOTNOTES}.
function export.do_generate_forms(args, source_template, headword_head, double_combined_forms_to_include)
local PAGENAME = mw.loadData("Module:headword/data").pagename
local function in_template_space()
return mw.title.getCurrentTitle().nsText == "テンプレート"
end
-- Determine the verb spec we're being asked to generate the conjugation of. This may be taken from the
-- current page title or the value of |pagename=; but not when called from {{es-verb form of}}, where the
-- page title is a non-lemma form. Note that the verb spec may omit the infinitive; e.g. it may be "<ue>".
-- For this reason, we use the value of `pagename` computed here down below, when calling normalize_all_lemmas().
local pagename = source_template ~= "es-verb form of" and args.pagename or PAGENAME
local head = headword_head or pagename
local arg1 = args[1]
if not arg1 then
if (pagename == "es-conj" or pagename == "es-verb") and in_template_space() then
arg1 = "licuar<+,ú>"
elseif pagename == "es-verb form of" and in_template_space() then
arg1 = "amar"
else
arg1 = "<>"
end
end
-- When called from {{es-verb form of}}, determine the non-lemma form whose inflections we're being asked to
-- determine. This normally comes from the page title or the value of |pagename=.
local verb_form_of_form
if source_template == "es-verb form of" then
verb_form_of_form = args.pagename
if not verb_form_of_form then
if PAGENAME == "es-verb form of" and in_template_space() then
verb_form_of_form = "ame"
else
verb_form_of_form = PAGENAME
end
end
end
local incorporated_headword_head_into_lemma = false
if arg1:find("^<.*>$") then -- missing lemma
if head:find(" ") then
-- If multiword lemma, try to add arg spec after the first word.
-- Try to preserve the brackets in the part after the verb, but don't do it
-- if there aren't the same number of left and right brackets in the verb
-- (which means the verb was linked as part of a larger expression).
local refl_clitic_verb, post = rmatch(head, "^(.-)( .*)$")
local left_brackets = rsub(refl_clitic_verb, "[^%[]", "")
local right_brackets = rsub(refl_clitic_verb, "[^%]]", "")
if #left_brackets == #right_brackets then
arg1 = iut.remove_redundant_links(refl_clitic_verb) .. arg1 .. post
incorporated_headword_head_into_lemma = true
else
-- Try again using the form without links.
local linkless_head = m_links.remove_links(head)
if linkless_head:find(" ") then
refl_clitic_verb, post = rmatch(linkless_head, "^(.-)( .*)$")
arg1 = refl_clitic_verb .. arg1 .. post
else
error("Unable to incorporate <...> spec into explicit head due to a multiword linked verb or " ..
"unbalanced brackets; please include <> explicitly: " .. arg1)
end
end
else
-- Will be incorporated through `head` below in the call to normalize_all_lemmas().
incorporated_headword_head_into_lemma = true
end
end
local parse_props = {
parse_indicator_spec = parse_indicator_spec,
allow_default_indicator = true,
allow_blank_lemma = true,
}
local alternant_multiword_spec = iut.parse_inflected_text(arg1, parse_props)
alternant_multiword_spec.pos = pos or "verbs"
alternant_multiword_spec.args = args
alternant_multiword_spec.source_template = source_template
alternant_multiword_spec.verb_form_of_form = verb_form_of_form
alternant_multiword_spec.incorporated_headword_head_into_lemma = incorporated_headword_head_into_lemma
-- Now determine if we need to generate any double-combined forms, and if so, which clitics are involved.
-- See the comment above the initialization of `verb_slot_double_combined_rows` above in add_slots().
if verb_form_of_form and rfind(verb_form_of_form, AV) then
-- All double-clitic forms have an explicit accent, so we check for this. In addition, all double-clitic forms
-- are of the form "(me|te|se|nos|os)(lo|la|le)s$". We have no alternations in Lua patterns, but we can exploit
-- the similarity of the clitics in question.
local single_comb_form, object_clitic = rmatch(verb_form_of_form, "^(.*)(l[aeo]s?)$")
if single_comb_form then
local personal_clitic = rmatch(single_comb_form, "^.*([mts]e)$")
if not personal_clitic then
personal_clitic = rmatch(single_comb_form, "^.-(n?os)$")
end
if personal_clitic then
if personal_clitic == "nos" then
-- "os" is a substring of "nos"; conceivably we could have a form ending in -n + os, and we don't
-- know whether to interpret as -n + os or - + nos.
alternant_multiword_spec.double_combined_forms_to_include =
{{"nos", object_clitic}, {"os", object_clitic}}
else
if personal_clitic == "se" then
-- Use the special "lxx" clitic for le/les when transformed into se in double-combined forms.
personal_clitic = "lxx"
end
alternant_multiword_spec.double_combined_forms_to_include = {{personal_clitic, object_clitic}}
end
end
end
end
normalize_all_lemmas(alternant_multiword_spec, pagename)
detect_all_indicator_specs(alternant_multiword_spec)
local inflect_props = {
slot_list = alternant_multiword_spec.all_verb_slots,
inflect_word_spec = conjugate_verb,
-- We add links around the generated verbal forms rather than allow the entire multiword
-- expression to be a link, so ensure that user-specified links get included as well.
include_user_specified_links = true,
}
iut.inflect_multiword_or_alternant_multiword_spec(alternant_multiword_spec, inflect_props)
-- Remove redundant brackets around entire forms.
for slot, forms in pairs(alternant_multiword_spec.forms) do
for _, form in ipairs(forms) do
form.form = iut.remove_redundant_links(form.form)
end
end
compute_categories_and_annotation(alternant_multiword_spec)
if args.json and not from_headword and not from_verb_form_of then
-- There is a circular reference in `base.alternant_multiword_spec`, which points back to top level.
iut.map_word_specs(alternant_multiword_spec, function(base)
base.alternant_multiword_spec = nil
end)
return require("Module:JSON").toJSON(alternant_multiword_spec)
end
return alternant_multiword_spec
end
-- Entry point for {{es-conj}}. Template-callable function to parse and conjugate a verb given
-- user-specified arguments and generate a displayable table of the conjugated forms.
function export.show(frame)
local parent_args = frame:getParent().args
local params = {
[1] = {},
["nocomb"] = {type = "boolean"},
["noautolinktext"] = {type = "boolean"},
["noautolinkverb"] = {type = "boolean"},
["pagename"] = {}, -- for testing/documentation pages
["json"] = {type = "boolean"}, -- for bot use
}
local args = require("Module:parameters").process(parent_args, params)
local alternant_multiword_spec = export.do_generate_forms(args, "es-conj")
if type(alternant_multiword_spec) == "string" then
-- JSON return value
return alternant_multiword_spec
end
show_forms(alternant_multiword_spec)
return make_table(alternant_multiword_spec) ..
require("Module:utilities").format_categories(alternant_multiword_spec.categories, lang, nil, nil, force_cat)
end
return export
t2qd18u1r7aw687sijgbdhwmcd1ytet
ぱっとみ
0
589439
2281184
2026-06-09T09:19:53Z
Shikayu728
131682
ページの作成:「{{kana-DEFAULTSORT|ぱっとみ}} =={{L|ja}}== ==={{adv}}=== {{ja-adv|ぱっとみ|head=[[ぱっと]][[見#日本語|見]]}} # 軽く見たところ、[[一瞥]]したところ。 #*{{ux|ja|'''ぱっと見'''問題点はなさそう。}} ==={{verb}}=== {{ja-adv|ぱっとみる|head=[[ぱっと]][[見る]]}} # 軽くちらっと見る。 #*{{ux|ja|'''ぱっと見'''た感じ}} ===={{conjug}}==== {{日本語上一段活用|ぱっとみる}}」
2281184
wikitext
text/x-wiki
{{kana-DEFAULTSORT|ぱっとみ}}
=={{L|ja}}==
==={{adv}}===
{{ja-adv|ぱっとみ|head=[[ぱっと]][[見#日本語|見]]}}
# 軽く見たところ、[[一瞥]]したところ。
#*{{ux|ja|'''ぱっと見'''問題点はなさそう。}}
==={{verb}}===
{{ja-adv|ぱっとみる|head=[[ぱっと]][[見る]]}}
# 軽くちらっと見る。
#*{{ux|ja|'''ぱっと見'''た感じ}}
===={{conjug}}====
{{日本語上一段活用|ぱっとみる}}
bf31g9zjdzuvotxlc792j7mnyi6hsx6
テンプレート:方位名/ja
10
589440
2281187
2026-06-09T09:26:37Z
鍼灸
112313
ページの作成:「{{list helper 2|title=方位の一覧|hypernym|list=|lang=ja}} {{compass |n=[[きた|北]] |ne=[[北東]]<br/>[[東北]] |e=[[ひがし|東]] |se=[[南東]]<br/>[[東南]] |s=[[みなみ|南]] |sw=[[南西]]<br/>[[西南]] |w=[[にし|西]] |nw=[[北西]]<br/>[[西北]] |lang=ja}}<noinclude>[[Category:方位名のテンプレート|ja]][[Category:{{ja}} テンプレート]]</noinclude>」
2281187
wikitext
text/x-wiki
{{list helper 2|title=方位の一覧|hypernym|list=|lang=ja}}
{{compass
|n=[[きた|北]]
|ne=[[北東]]<br/>[[東北]]
|e=[[ひがし|東]]
|se=[[南東]]<br/>[[東南]]
|s=[[みなみ|南]]
|sw=[[南西]]<br/>[[西南]]
|w=[[にし|西]]
|nw=[[北西]]<br/>[[西北]]
|lang=ja}}<noinclude>[[Category:方位名のテンプレート|ja]][[Category:{{ja}} テンプレート]]</noinclude>
kmqem6e0vzpcmrx79m4oqq08bzupniy
2281190
2281187
2026-06-09T09:40:58Z
鍼灸
112313
2281190
wikitext
text/x-wiki
{{list helper 2|title=方位の一覧|hypernym|list=|lang=ja}}
{{compass
|n=[[きた|北]]
|ne=[[北東]]<br/>[[東北]]
|e=[[ひがし|東]]
|se=[[東南]]<br/>[[南東]]
|s=[[みなみ|南]]
|sw=[[西南]]<br/>[[南西]]
|w=[[にし|西]]
|nw=[[北西]]<br/>[[西北]]
|lang=ja}}<noinclude>[[Category:方位名のテンプレート|ja]][[Category:{{ja}} テンプレート]]</noinclude>
gq9wd2hdzlexg0gbb8onzxmiyykbphb
だいじゃ
0
589442
2281193
2026-06-09T09:47:28Z
うーむ
129171
ページの作成:「{{kana-DEFAULTSORT}} {{also|たいしゃ|だいしゃ}} =={{L|ja}}== ==={{kangokana}}=== {{ja-kangokana}} *【[[大蛇]]】:大きな蛇。」
2281193
wikitext
text/x-wiki
{{kana-DEFAULTSORT}}
{{also|たいしゃ|だいしゃ}}
=={{L|ja}}==
==={{kangokana}}===
{{ja-kangokana}}
*【[[大蛇]]】:大きな蛇。
7edpxtfsp4zrj2r8f7c2fw0hc9b4k2q
テンプレート:方位名/en
10
589443
2281194
2026-06-09T09:47:52Z
鍼灸
112313
ページの作成:「{{list helper 2|title=方位の一覧|hypernym|list=|lang=en}} {{compass |n=[[north]] |ne=[[northeast]] |e=[[east]] |se=[[southeast]] |s=[[south]] |sw=[[southwest]] |w=[[west]] |nw=[[northwest]] |lang=en}}<noinclude>[[Category:方位名のテンプレート|en]][[Category:{{en}} テンプレート]]</noinclude>」
2281194
wikitext
text/x-wiki
{{list helper 2|title=方位の一覧|hypernym|list=|lang=en}}
{{compass
|n=[[north]]
|ne=[[northeast]]
|e=[[east]]
|se=[[southeast]]
|s=[[south]]
|sw=[[southwest]]
|w=[[west]]
|nw=[[northwest]]
|lang=en}}<noinclude>[[Category:方位名のテンプレート|en]][[Category:{{en}} テンプレート]]</noinclude>
27fhy7ldie14dcb2l2m4dmxjedmi339
地壇
0
589445
2281217
2026-06-09T10:48:30Z
うーむ
129171
ページの作成:「{{kana-DEFAULTSORT|ちだん}} =={{L|ja}}== ==={{noun}}=== {{ja-noun|[[ちだん]]}} #[[中国]]で[[大地]]の神を[[祭祀]]するために築いた[[祭壇]]。 ===={{rel}}==== *[[天壇]]」
2281217
wikitext
text/x-wiki
{{kana-DEFAULTSORT|ちだん}}
=={{L|ja}}==
==={{noun}}===
{{ja-noun|[[ちだん]]}}
#[[中国]]で[[大地]]の神を[[祭祀]]するために築いた[[祭壇]]。
===={{rel}}====
*[[天壇]]
2lad9phm1m6zwhdaz9hfu2hr2i6rh75
雉壇
0
589446
2281218
2026-06-09T10:50:07Z
うーむ
129171
ページの作成:「{{kana-DEFAULTSORT|ちだん}} =={{L|ja}}== ==={{noun}}=== {{ja-noun-suru|[[ちだん]]}} #[[血盟]]すること。 ==={{verb}}=== {{ja-verb-suru|ちだん}} {{日本語サ変活用}}」
2281218
wikitext
text/x-wiki
{{kana-DEFAULTSORT|ちだん}}
=={{L|ja}}==
==={{noun}}===
{{ja-noun-suru|[[ちだん]]}}
#[[血盟]]すること。
==={{verb}}===
{{ja-verb-suru|ちだん}}
{{日本語サ変活用}}
i5oquybsmm55se10qxh1yirvaf7u6cp
ちだん
0
589447
2281220
2026-06-09T10:52:10Z
うーむ
129171
ページの作成:「{{kana-DEFAULTSORT}} {{also|チタン}} =={{L|ja}}== ==={{kangokana}}=== {{ja-kangokana|h=y}} *【[[地壇]]】:中国で大地の神を祭祀するために築いた祭壇。 *【[[雉壇]]】:血盟すること。」
2281220
wikitext
text/x-wiki
{{kana-DEFAULTSORT}}
{{also|チタン}}
=={{L|ja}}==
==={{kangokana}}===
{{ja-kangokana|h=y}}
*【[[地壇]]】:中国で大地の神を祭祀するために築いた祭壇。
*【[[雉壇]]】:血盟すること。
ouyp6brctx0m7vbl8ure34kgif3781k
天壇
0
589448
2281236
2026-06-09T11:02:53Z
うーむ
129171
ページの作成:「{{kana-DEFAULTSORT|てんだん}} =={{L|ja}}== ==={{noun}}=== {{ja-noun|てんだん}} #[[中国]]で[[天子]]が[[天帝]]を[[祭祀]]するため、国都の南郊に築いた[[祭壇]]。 ===={{rel}}==== *[[地壇]]」
2281236
wikitext
text/x-wiki
{{kana-DEFAULTSORT|てんだん}}
=={{L|ja}}==
==={{noun}}===
{{ja-noun|てんだん}}
#[[中国]]で[[天子]]が[[天帝]]を[[祭祀]]するため、国都の南郊に築いた[[祭壇]]。
===={{rel}}====
*[[地壇]]
83b1mid5gmrkk4oxc7f9r7hg54vs25v
ぞうぼう
0
589449
2281237
2026-06-09T11:03:21Z
鍼灸
112313
ページの作成:「{{kana-DEFAULTSORT}} {{also|そうほう|そうぼう|ぞうほう}} =={{L|ja}}== ==={{kangokana}}=== {{ja-kangokana|h=y}} *【[[贈賵]]】:[[車馬]][[衣服]]の類を贈って、[[葬事]]を助ける。 *【[[造謀]]】:[[謀略]]。」
2281237
wikitext
text/x-wiki
{{kana-DEFAULTSORT}}
{{also|そうほう|そうぼう|ぞうほう}}
=={{L|ja}}==
==={{kangokana}}===
{{ja-kangokana|h=y}}
*【[[贈賵]]】:[[車馬]][[衣服]]の類を贈って、[[葬事]]を助ける。
*【[[造謀]]】:[[謀略]]。
m0fuquirhlszhwb4vsif43focni9t69
2281250
2281237
2026-06-09T11:05:14Z
鍼灸
112313
2281250
wikitext
text/x-wiki
{{kana-DEFAULTSORT}}
{{also|そうほう|そうぼう|ぞうほう}}
=={{L|ja}}==
==={{kangokana}}===
{{ja-kangokana|h=y}}
*【[[贈賵]]】:[[車馬]][[衣服]]の類を贈って、[[葬事]]を助ける。
*【[[造謀]]】:[[謀略]]。
*【[[造謗]]】:[[そしる]]。
*【[[像貌]]】:[[容貌]]。
p6foyr95vjlx5m9exvy328djui7sfjz
大壇
0
589450
2281254
2026-06-09T11:09:19Z
うーむ
129171
ページの作成:「{{kana-DEFAULTSORT|だいだん}} =={{L|ja}}== ==={{noun}}=== {{ja-noun|[[だいだん]]}} #{{タグ|ja|仏教}}[[密教]]の[[法要]]で[[導師]]が使用する大型で方形の[[壇]]。 #[[天壇]]。」
2281254
wikitext
text/x-wiki
{{kana-DEFAULTSORT|だいだん}}
=={{L|ja}}==
==={{noun}}===
{{ja-noun|[[だいだん]]}}
#{{タグ|ja|仏教}}[[密教]]の[[法要]]で[[導師]]が使用する大型で方形の[[壇]]。
#[[天壇]]。
4u2qrjs0rs45srlsrh4ulc2r8drja0b
大段
0
589451
2281255
2026-06-09T11:12:29Z
うーむ
129171
ページの作成:「{{kana-DEFAULTSORT|だいだん}} =={{L|ja}}== ==={{noun}}=== {{ja-noun|[[だいだん]]}} #[[大略]]。[[大体]]。[[おおよそ]]。 #おおきな[[段落]]。」
2281255
wikitext
text/x-wiki
{{kana-DEFAULTSORT|だいだん}}
=={{L|ja}}==
==={{noun}}===
{{ja-noun|[[だいだん]]}}
#[[大略]]。[[大体]]。[[おおよそ]]。
#おおきな[[段落]]。
kotpgipw582hd711w0lq26smtvm8sxc
像貌
0
589452
2281320
2026-06-09T11:39:02Z
うーむ
129171
ページの作成:「{{kana-DEFAULTSORT|ぞうぼう}} =={{L|ja}}== ==={{noun}}=== {{ja-noun|[[ぞうぼう]]}} #[[容貌]]。」
2281320
wikitext
text/x-wiki
{{kana-DEFAULTSORT|ぞうぼう}}
=={{L|ja}}==
==={{noun}}===
{{ja-noun|[[ぞうぼう]]}}
#[[容貌]]。
jlum51nybdivdf8gw44sddc58494qrl
造謀
0
589453
2281338
2026-06-09T11:40:10Z
うーむ
129171
ページの作成:「{{kana-DEFAULTSORT|ぞうぼう}} =={{L|ja}}== ==={{noun}}=== {{ja-noun|[[ぞうぼう]]}} #[[謀略]]。」
2281338
wikitext
text/x-wiki
{{kana-DEFAULTSORT|ぞうぼう}}
=={{L|ja}}==
==={{noun}}===
{{ja-noun|[[ぞうぼう]]}}
#[[謀略]]。
m91g8iewwdb50ohz1fv12v4qkqj7oyd
造謗
0
589454
2281340
2026-06-09T11:41:28Z
うーむ
129171
ページの作成:「{{kana-DEFAULTSORT|ぞうぼう}} =={{L|ja}}== ==={{noun}}=== {{ja-noun-suru|[[ぞうぼう]]}} #[[そしる|謗る]]こと。 ==={{verb}}=== {{ja-verb-suru|}} {{日本語サ変活用}}」
2281340
wikitext
text/x-wiki
{{kana-DEFAULTSORT|ぞうぼう}}
=={{L|ja}}==
==={{noun}}===
{{ja-noun-suru|[[ぞうぼう]]}}
#[[そしる|謗る]]こと。
==={{verb}}===
{{ja-verb-suru|}}
{{日本語サ変活用}}
evcfyci0r3jzok82eq0d2eucw2zgs52
トーク:ぱっとみ
1
589455
2281341
2026-06-09T11:42:03Z
M-30722
1202
/* 和語では? */ 新しい節
2281341
wikitext
text/x-wiki
== 和語では? ==
{{@|Shikayu728}}「見」は訓読みでこの語は和語ではないかと思うのですが、項目名は「ぱっとみ」ではなく「ぱっと見」で間違いないですか?--[[利用者:M-30722|M-30722]] ([[利用者・トーク:M-30722|トーク]]) 2026年6月9日 (火) 11:42 (UTC)
tvceh92fjsukpewg389z1cinlhlvg4t
贈賵
0
589456
2281353
2026-06-09T11:43:54Z
うーむ
129171
ページの作成:「{{kana-DEFAULTSORT|ぞうぼう}} =={{L|ja}}== ==={{noun}}=== {{ja-noun-suru|[[ぞうぼう]]}} #[[車馬]]や[[衣類]]などを贈り、[[葬儀]]などを助けること。 ==={{verb}}=== {{ja-verb-suru|ぞうぼう}} {{日本語サ変活用}}」
2281353
wikitext
text/x-wiki
{{kana-DEFAULTSORT|ぞうぼう}}
=={{L|ja}}==
==={{noun}}===
{{ja-noun-suru|[[ぞうぼう]]}}
#[[車馬]]や[[衣類]]などを贈り、[[葬儀]]などを助けること。
==={{verb}}===
{{ja-verb-suru|ぞうぼう}}
{{日本語サ変活用}}
es221te6u86b9tsernuaw2t227orpgd
迂儒
0
589457
2281360
2026-06-09T11:49:15Z
うーむ
129171
ページの作成:「{{kana-DEFAULTSORT|うじゅ}} =={{L|ja}}== ==={{noun}}=== {{ja-noun|うじゅ}} #{{タグ|ja|蔑称}}[[書物]]については詳しいが、[[世間]]の[[事情]]に疎い[[学者]]。」
2281360
wikitext
text/x-wiki
{{kana-DEFAULTSORT|うじゅ}}
=={{L|ja}}==
==={{noun}}===
{{ja-noun|うじゅ}}
#{{タグ|ja|蔑称}}[[書物]]については詳しいが、[[世間]]の[[事情]]に疎い[[学者]]。
994p6twnruj7qmf2crpru1xqqsjtsq2
耄儒
0
589458
2281376
2026-06-09T11:53:24Z
うーむ
129171
ページの作成:「{{kana-DEFAULTSORT|ぼうじゅ}} =={{L|ja}}== ==={{noun}}=== {{ja-noun|[[ぼうじゅ]]}} #[[老儒]]。」
2281376
wikitext
text/x-wiki
{{kana-DEFAULTSORT|ぼうじゅ}}
=={{L|ja}}==
==={{noun}}===
{{ja-noun|[[ぼうじゅ]]}}
#[[老儒]]。
m6bzertjec7bbq0xeirkmnbdr9mjfuj
貿儒
0
589459
2281377
2026-06-09T11:54:52Z
うーむ
129171
ページの作成:「{{kana-DEFAULTSORT|ぼうじゅ}} =={{L|ja}}== ==={{noun}}=== {{ja-noun|[[ぼうじゅ]]}} #[[迂儒]]。」
2281377
wikitext
text/x-wiki
{{kana-DEFAULTSORT|ぼうじゅ}}
=={{L|ja}}==
==={{noun}}===
{{ja-noun|[[ぼうじゅ]]}}
#[[迂儒]]。
pgx02txbh3w6ox0nz8qfoyzleiegh2o
牟寿
0
589460
2281390
2026-06-09T11:56:14Z
うーむ
129171
ページの作成:「{{kana-DEFAULTSORT|ぼうじゅ}} =={{L|ja}}== ==={{noun}}=== {{ja-noun|[[ぼうじゅ]]}} #[[長命]]。[[長寿]]。」
2281390
wikitext
text/x-wiki
{{kana-DEFAULTSORT|ぼうじゅ}}
=={{L|ja}}==
==={{noun}}===
{{ja-noun|[[ぼうじゅ]]}}
#[[長命]]。[[長寿]]。
dedw6vujt442057v2eki9gvg3rfpzqd